You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/p__knowledgegraph__Detail__...

5604 lines
5.7 MiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

!(function(){var nQ=Object.defineProperty,rQ=Object.defineProperties;var iQ=Object.getOwnPropertyDescriptors;var ek=Object.getOwnPropertySymbols;var oQ=Object.prototype.hasOwnProperty,aQ=Object.prototype.propertyIsEnumerable;var Dx=Math.pow,CI=(en,tn,Oe)=>tn in en?nQ(en,tn,{enumerable:!0,configurable:!0,writable:!0,value:Oe}):en[tn]=Oe,JS=(en,tn)=>{for(var Oe in tn||(tn={}))oQ.call(tn,Oe)&&CI(en,Oe,tn[Oe]);if(ek)for(var Oe of ek(tn))aQ.call(tn,Oe)&&CI(en,Oe,tn[Oe]);return en},bI=(en,tn)=>rQ(en,iQ(tn));var id=(en,tn,Oe)=>CI(en,typeof tn!="symbol"?tn+"":tn,Oe);(self.webpackChunk=self.webpackChunk||[]).push([[8823],{35323:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Te}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"}}]},name:"caret-down",theme:"outlined"},Ne=Ue,Ke=Oe(88853),Be=function(Ie,Ce){return tt.createElement(Ke.Z,(0,Ge.Z)({},Ie,{ref:Ce,icon:Ne}))},we=tt.forwardRef(Be),Te=we},19155:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Te}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z"}}]},name:"caret-up",theme:"outlined"},Ne=Ue,Ke=Oe(88853),Be=function(Ie,Ce){return tt.createElement(Ke.Z,(0,Ge.Z)({},Ie,{ref:Ce,icon:Ne}))},we=tt.forwardRef(Be),Te=we},10402:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Te}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"}}]},name:"check",theme:"outlined"},Ne=Ue,Ke=Oe(88853),Be=function(Ie,Ce){return tt.createElement(Ke.Z,(0,Ge.Z)({},Ie,{ref:Ce,icon:Ne}))},we=tt.forwardRef(Be),Te=we},72295:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Te}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"}}]},name:"delete",theme:"outlined"},Ne=Ue,Ke=Oe(88853),Be=function(Ie,Ce){return tt.createElement(Ke.Z,(0,Ge.Z)({},Ie,{ref:Ce,icon:Ne}))},we=tt.forwardRef(Be),Te=we},93343:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Te}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 00188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 00492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z"}}]},name:"double-right",theme:"outlined"},Ne=Ue,Ke=Oe(88853),Be=function(Ie,Ce){return tt.createElement(Ke.Z,(0,Ge.Z)({},Ie,{ref:Ce,icon:Ne}))},we=tt.forwardRef(Be),Te=we},24566:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Te}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M505.7 661a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"download",theme:"outlined"},Ne=Ue,Ke=Oe(88853),Be=function(Ie,Ce){return tt.createElement(Ke.Z,(0,Ge.Z)({},Ie,{ref:Ce,icon:Ne}))},we=tt.forwardRef(Be),Te=we},80205:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Te}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z"}}]},name:"exclamation-circle",theme:"outlined"},Ne=Ue,Ke=Oe(88853),Be=function(Ie,Ce){return tt.createElement(Ke.Z,(0,Ge.Z)({},Ie,{ref:Ce,icon:Ne}))},we=tt.forwardRef(Be),Te=we},61441:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Te}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z"}},{tag:"path",attrs:{d:"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z"}}]},name:"eye-invisible",theme:"outlined"},Ne=Ue,Ke=Oe(88853),Be=function(Ie,Ce){return tt.createElement(Ke.Z,(0,Ge.Z)({},Ie,{ref:Ce,icon:Ne}))},we=tt.forwardRef(Be),Te=we},30631:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Te}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"}}]},name:"eye",theme:"outlined"},Ne=Ue,Ke=Oe(88853),Be=function(Ie,Ce){return tt.createElement(Ke.Z,(0,Ge.Z)({},Ie,{ref:Ce,icon:Ne}))},we=tt.forwardRef(Be),Te=we},43971:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Te}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z"}}]},name:"file",theme:"outlined"},Ne=Ue,Ke=Oe(88853),Be=function(Ie,Ce){return tt.createElement(Ke.Z,(0,Ge.Z)({},Ie,{ref:Ce,icon:Ne}))},we=tt.forwardRef(Be),Te=we},58358:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Te}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 00-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z"}}]},name:"folder-open",theme:"outlined"},Ne=Ue,Ke=Oe(88853),Be=function(Ie,Ce){return tt.createElement(Ke.Z,(0,Ge.Z)({},Ie,{ref:Ce,icon:Ne}))},we=tt.forwardRef(Be),Te=we},44757:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Te}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 276.5a56 56 0 1056-97 56 56 0 00-56 97zm0 284a56 56 0 1056-97 56 56 0 00-56 97zM640 228a56 56 0 10112 0 56 56 0 00-112 0zm0 284a56 56 0 10112 0 56 56 0 00-112 0zM300 844.5a56 56 0 1056-97 56 56 0 00-56 97zM640 796a56 56 0 10112 0 56 56 0 00-112 0z"}}]},name:"holder",theme:"outlined"},Ne=Ue,Ke=Oe(88853),Be=function(Ie,Ce){return tt.createElement(Ke.Z,(0,Ge.Z)({},Ie,{ref:Ce,icon:Ne}))},we=tt.forwardRef(Be),Te=we},16537:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Te}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}}]},name:"left",theme:"outlined"},Ne=Ue,Ke=Oe(88853),Be=function(Ie,Ce){return tt.createElement(Ke.Z,(0,Ge.Z)({},Ie,{ref:Ce,icon:Ne}))},we=tt.forwardRef(Be),Te=we},77042:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Te}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"minus-square",theme:"outlined"},Ne=Ue,Ke=Oe(88853),Be=function(Ie,Ce){return tt.createElement(Ke.Z,(0,Ge.Z)({},Ie,{ref:Ce,icon:Ne}))},we=tt.forwardRef(Be),Te=we},5527:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Te}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"plus-square",theme:"outlined"},Ne=Ue,Ke=Oe(88853),Be=function(Ie,Ce){return tt.createElement(Ke.Z,(0,Ge.Z)({},Ie,{ref:Ce,icon:Ne}))},we=tt.forwardRef(Be),Te=we},86902:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Te}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"question-circle",theme:"outlined"},Ne=Ue,Ke=Oe(88853),Be=function(Ie,Ce){return tt.createElement(Ke.Z,(0,Ge.Z)({},Ie,{ref:Ce,icon:Ne}))},we=tt.forwardRef(Be),Te=we},53878:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Te}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"}}]},name:"right",theme:"outlined"},Ne=Ue,Ke=Oe(88853),Be=function(Ie,Ce){return tt.createElement(Ke.Z,(0,Ge.Z)({},Ie,{ref:Ce,icon:Ne}))},we=tt.forwardRef(Be),Te=we},21970:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Te}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"}}]},name:"search",theme:"outlined"},Ne=Ue,Ke=Oe(88853),Be=function(Ie,Ce){return tt.createElement(Ke.Z,(0,Ge.Z)({},Ie,{ref:Ce,icon:Ne}))},we=tt.forwardRef(Be),Te=we},13722:function(en){(function(Oe,Ge){en.exports=Ge()})(typeof self!="undefined"?self:this,function(){return function(tn){var Oe={};function Ge(tt){if(Oe[tt])return Oe[tt].exports;var Ue=Oe[tt]={i:tt,l:!1,exports:{}};return tn[tt].call(Ue.exports,Ue,Ue.exports,Ge),Ue.l=!0,Ue.exports}return Ge.m=tn,Ge.c=Oe,Ge.d=function(tt,Ue,Ne){Ge.o(tt,Ue)||Object.defineProperty(tt,Ue,{configurable:!1,enumerable:!0,get:Ne})},Ge.n=function(tt){var Ue=tt&&tt.__esModule?function(){return tt.default}:function(){return tt};return Ge.d(Ue,"a",Ue),Ue},Ge.o=function(tt,Ue){return Object.prototype.hasOwnProperty.call(tt,Ue)},Ge.p="",Ge(Ge.s=5)}([function(tn,Oe){function Ge(tt,Ue,Ne,Ke){return Ke===void 0&&(Ke="height"),Ne==="center"?(tt[Ke]+Ue[Ke])/2:tt.height}tn.exports={assign:Object.assign,getHeight:Ge}},function(tn,Oe,Ge){var tt=Ge(3),Ue=function(){function Ne(Be,we){we===void 0&&(we={});var Te=this;Te.options=we,Te.rootNode=tt(Be,we)}var Ke=Ne.prototype;return Ke.execute=function(){throw new Error("please override this method")},Ne}();tn.exports=Ue},function(tn,Oe,Ge){var tt=Ge(4),Ue=["LR","RL","TB","BT","H","V"],Ne=["LR","RL","H"],Ke=function(ke){return Ne.indexOf(ke)>-1},Be=Ue[0];tn.exports=function(Te,ke,Ie){var Ce=ke.direction||Be;if(ke.isHorizontal=Ke(Ce),Ce&&Ue.indexOf(Ce)===-1)throw new TypeError("Invalid direction: "+Ce);if(Ce===Ue[0])Ie(Te,ke);else if(Ce===Ue[1])Ie(Te,ke),Te.right2left();else if(Ce===Ue[2])Ie(Te,ke);else if(Ce===Ue[3])Ie(Te,ke),Te.bottom2top();else if(Ce===Ue[4]||Ce===Ue[5]){var Me=tt(Te,ke),je=Me.left,ye=Me.right;Ie(je,ke),Ie(ye,ke),ke.isHorizontal?je.right2left():je.bottom2top(),ye.translate(je.x-ye.x,je.y-ye.y),Te.x=je.x,Te.y=ye.y;var ie=Te.getBoundingBox();ke.isHorizontal?ie.top<0&&Te.translate(0,-ie.top):ie.left<0&&Te.translate(-ie.left,0)}var ae=ke.fixedRoot;return ae===void 0&&(ae=!0),ae&&Te.translate(-(Te.x+Te.width/2+Te.hgap),-(Te.y+Te.height/2+Te.vgap)),we(Te,ke),Te};function we(Te,ke){if(ke.radial){var Ie=ke.isHorizontal?["x","y"]:["y","x"],Ce=Ie[0],Me=Ie[1],je={x:1/0,y:1/0},ye={x:-1/0,y:-1/0},ie=0;Te.DFTraverse(function(de){ie++;var ve=de.x,xe=de.y;je.x=Math.min(je.x,ve),je.y=Math.min(je.y,xe),ye.x=Math.max(ye.x,ve),ye.y=Math.max(ye.y,xe)});var ae=ye[Me]-je[Me];if(ae===0)return;var fe=Math.PI*2/ie;Te.DFTraverse(function(de){var ve=(de[Me]-je[Me])/ae*(Math.PI*2-fe)+fe,xe=de[Ce]-Te[Ce];de.x=Math.cos(ve)*xe,de.y=Math.sin(ve)*xe})}}},function(tn,Oe,Ge){var tt=Ge(0),Ue=18,Ne=Ue*2,Ke=Ue,Be={getId:function(Ie){return Ie.id||Ie.name},getPreH:function(Ie){return Ie.preH||0},getPreV:function(Ie){return Ie.preV||0},getHGap:function(Ie){return Ie.hgap||Ke},getVGap:function(Ie){return Ie.vgap||Ke},getChildren:function(Ie){return Ie.children},getHeight:function(Ie){return Ie.height||Ne},getWidth:function(Ie){var Ce=Ie.label||" ";return Ie.width||Ce.split("").length*Ue}};function we(ke,Ie){var Ce=this;if(Ce.vgap=Ce.hgap=0,ke instanceof we)return ke;Ce.data=ke;var Me=Ie.getHGap(ke),je=Ie.getVGap(ke);return Ce.preH=Ie.getPreH(ke),Ce.preV=Ie.getPreV(ke),Ce.width=Ie.getWidth(ke),Ce.height=Ie.getHeight(ke),Ce.width+=Ce.preH,Ce.height+=Ce.preV,Ce.id=Ie.getId(ke),Ce.x=Ce.y=0,Ce.depth=0,Ce.children||(Ce.children=[]),Ce.addGap(Me,je),Ce}tt.assign(we.prototype,{isRoot:function(){return this.depth===0},isLeaf:function(){return this.children.length===0},addGap:function(Ie,Ce){var Me=this;Me.hgap+=Ie,Me.vgap+=Ce,Me.width+=2*Ie,Me.height+=2*Ce},eachNode:function(Ie){for(var Ce=this,Me=[Ce],je;je=Me.shift();)Ie(je),Me=je.children.concat(Me)},DFTraverse:function(Ie){this.eachNode(Ie)},BFTraverse:function(Ie){for(var Ce=this,Me=[Ce],je;je=Me.shift();)Ie(je),Me=Me.concat(je.children)},getBoundingBox:function(){var Ie={left:Number.MAX_VALUE,top:Number.MAX_VALUE,width:0,height:0};return this.eachNode(function(Ce){Ie.left=Math.min(Ie.left,Ce.x),Ie.top=Math.min(Ie.top,Ce.y),Ie.width=Math.max(Ie.width,Ce.x+Ce.width),Ie.height=Math.max(Ie.height,Ce.y+Ce.height)}),Ie},translate:function(Ie,Ce){Ie===void 0&&(Ie=0),Ce===void 0&&(Ce=0),this.eachNode(function(Me){Me.x+=Ie,Me.y+=Ce,Me.x+=Me.preH,Me.y+=Me.preV})},right2left:function(){var Ie=this,Ce=Ie.getBoundingBox();Ie.eachNode(function(Me){Me.x=Me.x-(Me.x-Ce.left)*2-Me.width}),Ie.translate(Ce.width,0)},bottom2top:function(){var Ie=this,Ce=Ie.getBoundingBox();Ie.eachNode(function(Me){Me.y=Me.y-(Me.y-Ce.top)*2-Me.height}),Ie.translate(0,Ce.height)}});function Te(ke,Ie,Ce){Ie===void 0&&(Ie={}),Ie=tt.assign({},Be,Ie);var Me=new we(ke,Ie),je=[Me],ye;if(!Ce&&!ke.collapsed){for(;ye=je.shift();)if(!ye.data.collapsed){var ie=Ie.getChildren(ye.data),ae=ie?ie.length:0;if(ye.children=new Array(ae),ie&&ae)for(var fe=0;fe<ae;fe++){var de=new we(ie[fe],Ie);ye.children[fe]=de,je.push(de),de.parent=ye,de.depth=ye.depth+1}}}return Me}tn.exports=Te},function(tn,Oe,Ge){var tt=Ge(3);tn.exports=function(Ue,Ne){for(var Ke=tt(Ue.data,Ne,!0),Be=tt(Ue.data,Ne,!0),we=Ue.children.length,Te=Math.round(we/2),ke=Ne.getSide||function(je,ye){return ye<Te?"right":"left"},Ie=0;Ie<we;Ie++){var Ce=Ue.children[Ie],Me=ke(Ce,Ie);Me==="right"?Be.children.push(Ce):Ke.children.push(Ce)}return Ke.eachNode(function(je){je.isRoot()||(je.side="left")}),Be.eachNode(function(je){je.isRoot()||(je.side="right")}),{left:Ke,right:Be}}},function(tn,Oe,Ge){var tt={compactBox:Ge(6),dendrogram:Ge(8),indented:Ge(10),mindmap:Ge(12)};tn.exports=tt},function(tn,Oe,Ge){function tt(Ce,Me){Ce.prototype=Object.create(Me.prototype),Ce.prototype.constructor=Ce,Ue(Ce,Me)}function Ue(Ce,Me){return Ue=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(je,ye){return je.__proto__=ye,je},Ue(Ce,Me)}var Ne=Ge(1),Ke=Ge(7),Be=Ge(2),we=Ge(0),Te=function(Ce){function Me(){return Ce.apply(this,arguments)||this}tt(Me,Ce);var je=Me.prototype;return je.execute=function(){var ie=this;return Be(ie.rootNode,ie.options,Ke)},Me}(Ne),ke={};function Ie(Ce,Me){return Me=we.assign({},ke,Me),new Te(Ce,Me).execute()}tn.exports=Ie},function(tn,Oe){function Ge(we,Te,ke,Ie){Ie===void 0&&(Ie=[]);var Ce=this;Ce.w=we||0,Ce.h=Te||0,Ce.y=ke||0,Ce.x=0,Ce.c=Ie||[],Ce.cs=Ie.length,Ce.prelim=0,Ce.mod=0,Ce.shift=0,Ce.change=0,Ce.tl=null,Ce.tr=null,Ce.el=null,Ce.er=null,Ce.msel=0,Ce.mser=0}Ge.fromNode=function(we,Te){if(!we)return null;var ke=[];return we.children.forEach(function(Ie){ke.push(Ge.fromNode(Ie,Te))}),Te?new Ge(we.height,we.width,we.x,ke):new Ge(we.width,we.height,we.y,ke)};function tt(we,Te,ke){ke?we.y+=Te:we.x+=Te,we.children.forEach(function(Ie){tt(Ie,Te,ke)})}function Ue(we,Te){var ke=Te?we.y:we.x;return we.children.forEach(function(Ie){ke=Math.min(Ue(Ie,Te),ke)}),ke}function Ne(we,Te){var ke=Ue(we,Te);tt(we,-ke,Te)}function Ke(we,Te,ke){ke?Te.y=we.x:Te.x=we.x,we.c.forEach(function(Ie,Ce){Ke(Ie,Te.children[Ce],ke)})}function Be(we,Te,ke){ke===void 0&&(ke=0),Te?(we.x=ke,ke+=we.width):(we.y=ke,ke+=we.height),we.children.forEach(function(Ie){Be(Ie,Te,ke)})}tn.exports=function(we,Te){Te===void 0&&(Te={});var ke=Te.isHorizontal;function Ie(ze){if(ze.cs===0){Ce(ze);return}Ie(ze.c[0]);for(var Ze=Se(ae(ze.c[0].el),0,null),Ve=1;Ve<ze.cs;++Ve){Ie(ze.c[Ve]);var Qe=ae(ze.c[Ve].er);Me(ze,Ve,Ze),Ze=Se(Qe,Ve,Ze)}ve(ze),Ce(ze)}function Ce(ze){ze.cs===0?(ze.el=ze,ze.er=ze,ze.msel=ze.mser=0):(ze.el=ze.c[0].el,ze.msel=ze.c[0].msel,ze.er=ze.c[ze.cs-1].er,ze.mser=ze.c[ze.cs-1].mser)}function Me(ze,Ze,Ve){for(var Qe=ze.c[Ze-1],$e=Qe.mod,gt=ze.c[Ze],lt=gt.mod;Qe!==null&&gt!==null;){ae(Qe)>Ve.low&&(Ve=Ve.nxt);var At=$e+Qe.prelim+Qe.w-(lt+gt.prelim);At>0&&(lt+=At,je(ze,Ze,Ve.index,At));var Et=ae(Qe),vt=ae(gt);Et<=vt&&(Qe=ie(Qe),Qe!==null&&($e+=Qe.mod)),Et>=vt&&(gt=ye(gt),gt!==null&&(lt+=gt.mod))}!Qe&&gt?fe(ze,Ze,gt,lt):Qe&&!gt&&de(ze,Ze,Qe,$e)}function je(ze,Ze,Ve,Qe){ze.c[Ze].mod+=Qe,ze.c[Ze].msel+=Qe,ze.c[Ze].mser+=Qe,ce(ze,Ze,Ve,Qe)}function ye(ze){return ze.cs===0?ze.tl:ze.c[0]}function ie(ze){return ze.cs===0?ze.tr:ze.c[ze.cs-1]}function ae(ze){return ze.y+ze.h}function fe(ze,Ze,Ve,Qe){var $e=ze.c[0].el;$e.tl=Ve;var gt=Qe-Ve.mod-ze.c[0].msel;$e.mod+=gt,$e.prelim-=gt,ze.c[0].el=ze.c[Ze].el,ze.c[0].msel=ze.c[Ze].msel}function de(ze,Ze,Ve,Qe){var $e=ze.c[Ze].er;$e.tr=Ve;var gt=Qe-Ve.mod-ze.c[Ze].mser;$e.mod+=gt,$e.prelim-=gt,ze.c[Ze].er=ze.c[Ze-1].er,ze.c[Ze].mser=ze.c[Ze-1].mser}function ve(ze){ze.prelim=(ze.c[0].prelim+ze.c[0].mod+ze.c[ze.cs-1].mod+ze.c[ze.cs-1].prelim+ze.c[ze.cs-1].w)/2-ze.w/2}function xe(ze,Ze){Ze+=ze.mod,ze.x=ze.prelim+Ze,pe(ze);for(var Ve=0;Ve<ze.cs;Ve++)xe(ze.c[Ve],Ze)}function ce(ze,Ze,Ve,Qe){if(Ve!==Ze-1){var $e=Ze-Ve;ze.c[Ve+1].shift+=Qe/$e,ze.c[Ze].shift-=Qe/$e,ze.c[Ze].change-=Qe-Qe/$e}}function pe(ze){for(var Ze=0,Ve=0,Qe=0;Qe<ze.cs;Qe++)Ze+=ze.c[Qe].shift,Ve+=Ze+ze.c[Qe].change,ze.c[Qe].mod+=Ve}function Se(ze,Ze,Ve){for(;Ve!==null&&ze>=Ve.low;)Ve=Ve.nxt;return{low:ze,index:Ze,nxt:Ve}}Be(we,ke);var Le=Ge.fromNode(we,ke);return Ie(Le),xe(Le,0),Ke(Le,we,ke),Ne(we,ke),we}},function(tn,Oe,Ge){function tt(Ce,Me){Ce.prototype=Object.create(Me.prototype),Ce.prototype.constructor=Ce,Ue(Ce,Me)}function Ue(Ce,Me){return Ue=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(je,ye){return je.__proto__=ye,je},Ue(Ce,Me)}var Ne=Ge(1),Ke=Ge(9),Be=Ge(2),we=Ge(0),Te=function(Ce){function Me(){return Ce.apply(this,arguments)||this}tt(Me,Ce);var je=Me.prototype;return je.execute=function(){var ie=this;return ie.rootNode.width=0,Be(ie.rootNode,ie.options,Ke)},Me}(Ne),ke={};function Ie(Ce,Me){return Me=we.assign({},ke,Me),new Te(Ce,Me).execute()}tn.exports=Ie},function(tn,Oe,Ge){var tt=Ge(0);function Ue(Be,we){Be===void 0&&(Be=0),we===void 0&&(we=[]);var Te=this;Te.x=Te.y=0,Te.leftChild=Te.rightChild=null,Te.height=0,Te.children=we}var Ne={isHorizontal:!0,nodeSep:20,nodeSize:20,rankSep:200,subTreeSep:10};function Ke(Be,we,Te){Te?(we.x=Be.x,we.y=Be.y):(we.x=Be.y,we.y=Be.x),Be.children.forEach(function(ke,Ie){Ke(ke,we.children[Ie],Te)})}tn.exports=function(Be,we){we===void 0&&(we={}),we=tt.assign({},Ne,we);var Te=0;function ke(ye){if(!ye)return null;ye.width=0,ye.depth&&ye.depth>Te&&(Te=ye.depth);var ie=ye.children,ae=ie.length,fe=new Ue(ye.height,[]);return ie.forEach(function(de,ve){var xe=ke(de);fe.children.push(xe),ve===0&&(fe.leftChild=xe),ve===ae-1&&(fe.rightChild=xe)}),fe.originNode=ye,fe.isLeaf=ye.isLeaf(),fe}function Ie(ye){if(ye.isLeaf||ye.children.length===0)ye.drawingDepth=Te;else{var ie=ye.children.map(function(fe){return Ie(fe)}),ae=Math.min.apply(null,ie);ye.drawingDepth=ae-1}return ye.drawingDepth}var Ce;function Me(ye){ye.x=ye.drawingDepth*we.rankSep,ye.isLeaf?(ye.y=0,Ce&&(ye.y=Ce.y+Ce.height+we.nodeSep,ye.originNode.parent!==Ce.originNode.parent&&(ye.y+=we.subTreeSep)),Ce=ye):(ye.children.forEach(function(ie){Me(ie)}),ye.y=(ye.leftChild.y+ye.rightChild.y)/2)}var je=ke(Be);return Ie(je),Me(je),Ke(je,Be,we.isHorizontal),Be}},function(tn,Oe,Ge){function tt(je,ye){je.prototype=Object.create(ye.prototype),je.prototype.constructor=je,Ue(je,ye)}function Ue(je,ye){return Ue=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(ie,ae){return ie.__proto__=ae,ie},Ue(je,ye)}var Ne=Ge(1),Ke=Ge(11),Be=Ge(4),we=Ge(0),Te=["LR","RL","H"],ke=Te[0],Ie=function(je){function ye(){return je.apply(this,arguments)||this}tt(ye,je);var ie=ye.prototype;return ie.execute=function(){var fe=this,de=fe.options,ve=fe.rootNode;de.isHorizontal=!0;var xe=de.indent,ce=xe===void 0?20:xe,pe=de.dropCap,Se=pe===void 0?!0:pe,Le=de.direction,ze=Le===void 0?ke:Le,Ze=de.align;if(ze&&Te.indexOf(ze)===-1)throw new TypeError("Invalid direction: "+ze);if(ze===Te[0])Ke(ve,ce,Se,Ze);else if(ze===Te[1])Ke(ve,ce,Se,Ze),ve.right2left();else if(ze===Te[2]){var Ve=Be(ve,de),Qe=Ve.left,$e=Ve.right;Ke(Qe,ce,Se,Ze),Qe.right2left(),Ke($e,ce,Se,Ze);var gt=Qe.getBoundingBox();$e.translate(gt.width,0),ve.x=$e.x-ve.width/2}return ve},ye}(Ne),Ce={};function Me(je,ye){return ye=we.assign({},Ce,ye),new Ie(je,ye).execute()}tn.exports=Me},function(tn,Oe,Ge){var tt=Ge(0);function Ue(Ne,Ke,Be,we,Te){var ke=(typeof Be=="function"?Be(Ne):Be)*Ne.depth;if(!we)try{if(Ne.id===Ne.parent.children[0].id){Ne.x+=ke,Ne.y=Ke?Ke.y:0;return}}catch(Me){}if(Ne.x+=ke,Ke){if(Ne.y=Ke.y+tt.getHeight(Ke,Ne,Te),Ke.parent&&Ne.parent.id!==Ke.parent.id){var Ie=Ke.parent,Ce=Ie.y+tt.getHeight(Ie,Ne,Te);Ne.y=Ce>Ne.y?Ce:Ne.y}}else Ne.y=0}tn.exports=function(Ne,Ke,Be,we){var Te=null;Ne.eachNode(function(ke){Ue(ke,Te,Ke,Be,we),Te=ke})}},function(tn,Oe,Ge){function tt(Ce,Me){Ce.prototype=Object.create(Me.prototype),Ce.prototype.constructor=Ce,Ue(Ce,Me)}function Ue(Ce,Me){return Ue=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(je,ye){return je.__proto__=ye,je},Ue(Ce,Me)}var Ne=Ge(1),Ke=Ge(13),Be=Ge(2),we=Ge(0),Te=function(Ce){function Me(){return Ce.apply(this,arguments)||this}tt(Me,Ce);var je=Me.prototype;return je.execute=function(){var ie=this;return Be(ie.rootNode,ie.options,Ke)},Me}(Ne),ke={};function Ie(Ce,Me){return Me=we.assign({},ke,Me),new Te(Ce,Me).execute()}tn.exports=Ie},function(tn,Oe,Ge){var tt=Ge(0);function Ue(Be,we){var Te=0;return Be.children.length?Be.children.forEach(function(ke){Te+=Ue(ke,we)}):Te=Be.height,Be._subTreeSep=we.getSubTreeSep(Be.data),Be.totalHeight=Math.max(Be.height,Te)+2*Be._subTreeSep,Be.totalHeight}function Ne(Be){var we=Be.children,Te=we.length;if(Te){we.forEach(function(ye){Ne(ye)});var ke=we[0],Ie=we[Te-1],Ce=Ie.y-ke.y+Ie.height,Me=0;if(we.forEach(function(ye){Me+=ye.totalHeight}),Ce>Be.height)Be.y=ke.y+Ce/2-Be.height/2;else if(we.length!==1||Be.height>Me){var je=Be.y+(Be.height-Ce)/2-ke.y;we.forEach(function(ye){ye.translate(0,je)})}else Be.y=(ke.y+ke.height/2+Ie.y+Ie.height/2)/2-Be.height/2}}var Ke={getSubTreeSep:function(){return 0}};tn.exports=function(Be,we){we===void 0&&(we={}),we=tt.assign({},Ke,we),Be.parent={x:0,width:0,height:0,y:0},Be.BFTraverse(function(Te){Te.x=Te.parent.x+Te.parent.width}),Be.parent=null,Ue(Be,we),Be.startY=0,Be.y=Be.totalHeight/2-Be.height/2,Be.eachNode(function(Te){var ke=Te.children,Ie=ke.length;if(Ie){var Ce=ke[0];if(Ce.startY=Te.startY+Te._subTreeSep,Ie===1)Ce.y=Te.y+Te.height/2-Ce.height/2;else{Ce.y=Ce.startY+Ce.totalHeight/2-Ce.height/2;for(var Me=1;Me<Ie;Me++){var je=ke[Me];je.startY=ke[Me-1].startY+ke[Me-1].totalHeight,je.y=je.startY+je.totalHeight/2-je.height/2}}}}),Ne(Be)}}])})},79906:function(){"use strict"},93938:function(en,tn){"use strict";tn.Z={lists:"lists___xhHyq",item:"item___pWJAA",children:"children___sDG61",diamond:"diamond___FwgzD",button:"button___WPN6r",mathWrap:"mathWrap___FmnMJ",mathFillWrap:"mathFillWrap___PmY3H"}},52222:function(en,tn){"use strict";tn.Z={flex_box_center:"flex_box_center___vG4eV",flex_space_between:"flex_space_between___qVVxe",flex_box_vertical_center:"flex_box_vertical_center___P8Z8s",flex_box_center_end:"flex_box_center_end___VMme3",flex_box_column:"flex_box_column___VMHwm",dropdownmenus:"dropdownmenus___oVzoj",popupClassNames:"popupClassNames___OcZq7",selectdown:"selectdown___mmcA8"}},57534:function(en,tn){"use strict";tn.Z={flex_box_center:"flex_box_center___IBr6x",flex_space_between:"flex_space_between___n2Iz0",flex_box_vertical_center:"flex_box_vertical_center___1umwO",flex_box_center_end:"flex_box_center_end___SRZYb",flex_box_column:"flex_box_column___b90Da",form:"form___V3fAH",title_icon:"title_icon____uDZy",title:"title___RxKwK",content:"content___vFT5m",pubColSty:"pubColSty___dfLkL",selectSty:"selectSty____Wuek",borderSty:"borderSty___EuFYV",delSty:"delSty___AdEeI",delBorder:"delBorder___vcTJc",copHover:"copHover___JVVXI",multiple_select:"multiple_select___ZMPhl"}},57071:function(en,tn){"use strict";tn.Z={flex_box_center:"flex_box_center___vhwFp",flex_space_between:"flex_space_between___rbHwE",flex_box_vertical_center:"flex_box_vertical_center___AF_yr",flex_box_center_end:"flex_box_center_end___FqGSd",flex_box_column:"flex_box_column___ujWr7",failedList:"failedList___KGsCg",name:"name___bbsWC",publish:"publish___mai8J",modal:"modal___t6wU6"}},37404:function(){"use strict";function en(ye,ie,ae,fe){ae===void 0&&(ae=0),fe===void 0&&(fe=1/0),this._name=ye,this._defaultValue=ie,this._minimum=ae,this._maximum=fe}Object.defineProperty(en.prototype,"name",{get:function(){return this._name},set:function(ye){if(typeof ye!="string"||ye==="")throw new Error("Shape name must be a valid string.");this._name=ye}}),Object.defineProperty(en.prototype,"defaultValue",{get:function(){return this._defaultValue},set:function(ye){if(typeof ye!="number"||isNaN(ye))throw new Error("The default value must be a real number, not: "+ye);this._defaultValue=ye}}),Object.defineProperty(en.prototype,"minimum",{get:function(){return this._minimum},set:function(ye){if(typeof ye!="number"||isNaN(ye))throw new Error("Minimum must be a real number, not: "+ye);this._minimum=ye}}),Object.defineProperty(en.prototype,"maximum",{get:function(){return this._maximum},set:function(ye){if(typeof ye!="number"||isNaN(ye))throw new Error("Maximum must be a real number, not: "+ye);this._maximum=ye}}),go.Shape._FigureParameters={},go.Shape.getFigureParameter=function(ye,ie){var ae=go.Shape._FigureParameters[ye];return ae?ae[ie]:null},go.Shape.setFigureParameter=function(ye,ie,ae){if(!(ae instanceof en))throw new Error("Third argument to Shape.setFigureParameter is not FigureParameter: "+ae);if(ae.defaultValue<ae.minimum||ae.defaultValue>ae.maximum)throw new Error("defaultValue must be between minimum and maximum, not: "+ae.defaultValue);var fe=go.Shape._FigureParameters[ye];fe||(fe=[],go.Shape._FigureParameters[ye]=fe),fe[ie]=ae};var tn=[];function Oe(ye,ie){var ae=tn.pop();return ae===void 0?new go.Point(ye,ie):(ae.x=ye,ae.y=ie,ae)}function Ge(){var ye=tn.pop();return ye===void 0?new go.Point:ye}function tt(ye){tn.push(ye)}function Ue(ye,ie,ae,fe,de,ve,xe,ce,pe){pe||(pe=new go.Point);var Se=ye-ae,Le=de-xe,ze=NaN,Ze=NaN;if(Se===0)if(Le===0)ye===ae&&(ze=ye,Ze=ie);else{var Ve=(ve-ce)/Le,Qe=ve-Ve*de;ze=ye,Ze=Ve*ze+Qe}else if(Le===0){var $e=(ie-fe)/Se,gt=ie-$e*ye;ze=de,Ze=$e*ze+gt}else{var $e=(ie-fe)/Se,Ve=(ve-ce)/Le,gt=ie-$e*ye,Qe=ve-Ve*de;ze=(Qe-gt)/($e-Ve),Ze=$e*ze+gt}return pe.x=ze,pe.y=Ze,pe}function Ne(ye,ie,ae,fe,de,ve,xe,ce,pe,Se,Le,ze,Ze,Ve){var Qe=1-pe,$e=pe,gt=ye*Qe+ae*$e,lt=ie*Qe+fe*$e,At=ae*Qe+de*$e,Et=fe*Qe+ve*$e,vt=de*Qe+xe*$e,Lt=ve*Qe+ce*$e,St=gt*Qe+At*$e,xt=lt*Qe+Et*$e,ct=At*Qe+vt*$e,Dt=Et*Qe+Lt*$e,Xt=St*Qe+ct*$e,kt=xt*Qe+Dt*$e;Se.x=gt,Se.y=lt,Le.x=St,Le.y=xt,ze.x=Xt,ze.y=kt,Ze.x=ct,Ze.y=Dt,Ve.x=vt,Ve.y=Lt}var Ke=new go.Spot(.156,.156),Be=new go.Spot(.844,.844),we=4*((Math.sqrt(2)-1)/3);go.Shape.setFigureParameter("RoundedRectangle",0,new en("CornerRounding",5)),go.Shape.defineFigureGenerator("RoundedRectangle",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;(isNaN(fe)||fe<0)&&(fe=5),fe=Math.min(fe,ie/3),fe=Math.min(fe,ae/3);var de=fe*we,ve=new go.Geometry().add(new go.PathFigure(fe,0,!0).add(new go.PathSegment(go.PathSegment.Line,ie-fe,0)).add(new go.PathSegment(go.PathSegment.Bezier,ie,fe,ie-de,0,ie,de)).add(new go.PathSegment(go.PathSegment.Line,ie,ae-fe)).add(new go.PathSegment(go.PathSegment.Bezier,ie-fe,ae,ie,ae-de,ie-de,ae)).add(new go.PathSegment(go.PathSegment.Line,fe,ae)).add(new go.PathSegment(go.PathSegment.Bezier,0,ae-fe,de,ae,0,ae-de)).add(new go.PathSegment(go.PathSegment.Line,0,fe)).add(new go.PathSegment(go.PathSegment.Bezier,fe,0,0,de,de,0).close()));return de>1&&(ve.spot1=new go.Spot(0,0,de,de),ve.spot2=new go.Spot(1,1,-de,-de)),ve}),go.Shape.defineFigureGenerator("Border","RoundedRectangle"),go.Shape.defineFigureGenerator("TriangleRight",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)).add(new go.PathSegment(go.PathSegment.Line,0,ae).close())).setSpots(0,.25,.5,.75)}),go.Shape.defineFigureGenerator("TriangleDown",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ie,0)).add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae).close())).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("TriangleLeft",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(ie,ae).add(new go.PathSegment(go.PathSegment.Line,0,.5*ae)).add(new go.PathSegment(go.PathSegment.Line,ie,0).close())).setSpots(.5,.25,1,.75)}),go.Shape.defineFigureGenerator("TriangleUp",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(ie,ae).add(new go.PathSegment(go.PathSegment.Line,0,ae)).add(new go.PathSegment(go.PathSegment.Line,.5*ie,0).close())).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("Triangle","TriangleUp"),go.Shape.defineFigureGenerator("Diamond",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(.5*ie,0).add(new go.PathSegment(go.PathSegment.Line,0,.5*ae)).add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae)).add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae).close())).setSpots(.25,.25,.75,.75)}),go.Shape.defineFigureGenerator("LineH",function(ye,ie,ae){var fe=new go.Geometry(go.Geometry.Line);return fe.startX=0,fe.startY=ae/2,fe.endX=ie,fe.endY=ae/2,fe}),go.Shape.defineFigureGenerator("LineV",function(ye,ie,ae){var fe=new go.Geometry(go.Geometry.Line);return fe.startX=ie/2,fe.startY=0,fe.endX=ie/2,fe.endY=ae,fe}),go.Shape.defineFigureGenerator("BarH","Rectangle"),go.Shape.defineFigureGenerator("BarV","Rectangle"),go.Shape.defineFigureGenerator("MinusLine","LineH"),go.Shape.defineFigureGenerator("PlusLine",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,ae/2,!1).add(new go.PathSegment(go.PathSegment.Line,ie,ae/2)).add(new go.PathSegment(go.PathSegment.Move,ie/2,0)).add(new go.PathSegment(go.PathSegment.Line,ie/2,ae)))}),go.Shape.defineFigureGenerator("XLine",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,ae,!1).add(new go.PathSegment(go.PathSegment.Line,ie,0)).add(new go.PathSegment(go.PathSegment.Move,0,0)).add(new go.PathSegment(go.PathSegment.Line,ie,ae)))}),go.Shape.defineFigureGenerator("LineRight",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(.25*ie,0,!1).add(new go.PathSegment(go.PathSegment.Line,.75*ie,.5*ae)).add(new go.PathSegment(go.PathSegment.Line,.25*ie,ae)))}),go.Shape.defineFigureGenerator("LineDown",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,.25*ae,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ie,.75*ae)).add(new go.PathSegment(go.PathSegment.Line,ie,.25*ae)))}),go.Shape.defineFigureGenerator("LineLeft",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(.75*ie,0,!1).add(new go.PathSegment(go.PathSegment.Line,.25*ie,.5*ae)).add(new go.PathSegment(go.PathSegment.Line,.75*ie,ae)))}),go.Shape.defineFigureGenerator("LineUp",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,.75*ae,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ie,.25*ae)).add(new go.PathSegment(go.PathSegment.Line,ie,.75*ae)))}),go.Shape.defineFigureGenerator("AsteriskLine",function(ye,ie,ae){var fe=.2/Math.SQRT2;return new go.Geometry().add(new go.PathFigure(fe*ie,(1-fe)*ae,!1).add(new go.PathSegment(go.PathSegment.Line,(1-fe)*ie,fe*ae)).add(new go.PathSegment(go.PathSegment.Move,fe*ie,fe*ae)).add(new go.PathSegment(go.PathSegment.Line,(1-fe)*ie,(1-fe)*ae)).add(new go.PathSegment(go.PathSegment.Move,0,ae/2)).add(new go.PathSegment(go.PathSegment.Line,ie,ae/2)).add(new go.PathSegment(go.PathSegment.Move,ie/2,0)).add(new go.PathSegment(go.PathSegment.Line,ie/2,ae)))}),go.Shape.defineFigureGenerator("CircleLine",function(ye,ie,ae){var fe=ie/2,de=new go.Geometry().add(new go.PathFigure(ie,ie/2,!1).add(new go.PathSegment(go.PathSegment.Arc,0,360,fe,fe,fe,fe).close()));return de.spot1=Ke,de.spot2=Be,de.defaultStretch=go.GraphObject.Uniform,de}),go.Shape.defineFigureGenerator("Line1",function(ye,ie,ae){var fe=new go.Geometry(go.Geometry.Line);return fe.startX=0,fe.startY=0,fe.endX=ie,fe.endY=ae,fe}),go.Shape.defineFigureGenerator("Line2",function(ye,ie,ae){var fe=new go.Geometry(go.Geometry.Line);return fe.startX=ie,fe.startY=0,fe.endX=0,fe.endY=ae,fe}),go.Shape.defineFigureGenerator("Curve1",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,ie,ae,we*ie,0,ie,(1-we)*ae)))}),go.Shape.defineFigureGenerator("Curve2",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,ie,ae,0,we*ae,(1-we)*ie,ae)))}),go.Shape.defineFigureGenerator("Curve3",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(ie,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,ae,ie,we*ae,we*ie,ae)))}),go.Shape.defineFigureGenerator("Curve4",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(ie,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,ae,(1-we)*ie,0,0,(1-we)*ae)))}),go.Shape.defineFigureGenerator("TriangleDownLeft",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,ie,ae)).add(new go.PathSegment(go.PathSegment.Line,0,ae).close())).setSpots(0,.5,.5,1)}),go.Shape.defineFigureGenerator("TriangleDownRight",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(ie,0,!0).add(new go.PathSegment(go.PathSegment.Line,ie,ae)).add(new go.PathSegment(go.PathSegment.Line,0,ae).close())).setSpots(.5,.5,1,1)}),go.Shape.defineFigureGenerator("TriangleUpLeft",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,ie,0)).add(new go.PathSegment(go.PathSegment.Line,0,ae).close())).setSpots(0,0,.5,.5)}),go.Shape.defineFigureGenerator("TriangleUpRight",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,ie,0)).add(new go.PathSegment(go.PathSegment.Line,ie,ae).close())).setSpots(.5,0,1,.5)}),go.Shape.defineFigureGenerator("RightTriangle","TriangleDownLeft"),go.Shape.setFigureParameter("Parallelogram1",0,new en("Indent",.1,-.99,.99)),go.Shape.defineFigureGenerator("Parallelogram1",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)?fe=.1:fe<-1?fe=-1:fe>1&&(fe=1);var de=Math.abs(fe)*ie;if(fe===0){var ve=new go.Geometry(go.Geometry.Rectangle);return ve.startX=0,ve.startY=0,ve.endX=ie,ve.endY=ae,ve}else{var ve=new go.Geometry;return fe>0?ve.add(new go.PathFigure(de,0).add(new go.PathSegment(go.PathSegment.Line,ie,0)).add(new go.PathSegment(go.PathSegment.Line,ie-de,ae)).add(new go.PathSegment(go.PathSegment.Line,0,ae).close())):ve.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ie-de,0)).add(new go.PathSegment(go.PathSegment.Line,ie,ae)).add(new go.PathSegment(go.PathSegment.Line,de,ae).close())),de<ie/2&&ve.setSpots(de/ie,0,(ie-de)/ie,1),ve}}),go.Shape.defineFigureGenerator("Parallelogram","Parallelogram1"),go.Shape.setFigureParameter("Parallelogram2",0,new en("Indent",10,-1/0,1/0)),go.Shape.defineFigureGenerator("Parallelogram2",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)?fe=10:fe<-ie?fe=-ie:fe>ie&&(fe=ie);var de=Math.abs(fe);if(fe===0){var ve=new go.Geometry(go.Geometry.Rectangle);return ve.startX=0,ve.startY=0,ve.endX=ie,ve.endY=ae,ve}else{var ve=new go.Geometry;return fe>0?ve.add(new go.PathFigure(de,0).add(new go.PathSegment(go.PathSegment.Line,ie,0)).add(new go.PathSegment(go.PathSegment.Line,ie-de,ae)).add(new go.PathSegment(go.PathSegment.Line,0,ae).close())):ve.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ie-de,0)).add(new go.PathSegment(go.PathSegment.Line,ie,ae)).add(new go.PathSegment(go.PathSegment.Line,de,ae).close())),de<ie/2&&ve.setSpots(de/ie,0,(ie-de)/ie,1),ve}}),go.Shape.setFigureParameter("Trapezoid1",0,new en("Indent",.2,-.99,.99)),go.Shape.defineFigureGenerator("Trapezoid1",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)?fe=.2:fe<.5?fe=-.5:fe>.5&&(fe=.5);var de=Math.abs(fe)*ie;if(fe===0){var ve=new go.Geometry(go.Geometry.Rectangle);return ve.startX=0,ve.startY=0,ve.endX=ie,ve.endY=ae,ve}else{var ve=new go.Geometry;return fe>0?ve.add(new go.PathFigure(de,0).add(new go.PathSegment(go.PathSegment.Line,ie-de,0)).add(new go.PathSegment(go.PathSegment.Line,ie,ae)).add(new go.PathSegment(go.PathSegment.Line,0,ae).close())):ve.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ie,0)).add(new go.PathSegment(go.PathSegment.Line,ie-de,ae)).add(new go.PathSegment(go.PathSegment.Line,de,ae).close())),de<ie/2&&ve.setSpots(de/ie,0,(ie-de)/ie,1),ve}}),go.Shape.defineFigureGenerator("Trapezoid","Trapezoid1"),go.Shape.setFigureParameter("Trapezoid2",0,new en("Indent",20,-1/0,1/0)),go.Shape.defineFigureGenerator("Trapezoid2",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)?fe=20:fe<-ie?fe=-ie/2:fe>ie&&(fe=ie/2);var de=Math.abs(fe);if(fe===0){var ve=new go.Geometry(go.Geometry.Rectangle);return ve.startX=0,ve.startY=0,ve.endX=ie,ve.endY=ae,ve}else{var ve=new go.Geometry;return fe>0?ve.add(new go.PathFigure(de,0).add(new go.PathSegment(go.PathSegment.Line,ie-de,0)).add(new go.PathSegment(go.PathSegment.Line,ie,ae)).add(new go.PathSegment(go.PathSegment.Line,0,ae).close())):ve.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ie,0)).add(new go.PathSegment(go.PathSegment.Line,ie-de,ae)).add(new go.PathSegment(go.PathSegment.Line,de,ae).close())),de<ie/2&&ve.setSpots(de/ie,0,(ie-de)/ie,1),ve}}),go.Shape.setFigureParameter("ManualOperation",0,new en("Indent",10,-1/0,1/0)),go.Shape.defineFigureGenerator("ManualOperation",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)?fe=10:fe<-ie?fe=-ie/2:fe>ie&&(fe=ie/2);var de=Math.abs(fe);if(fe===0){var ve=new go.Geometry(go.Geometry.Rectangle);return ve.startX=0,ve.startY=0,ve.endX=ie,ve.endY=ae,ve}else{var ve=new go.Geometry;return fe>0?ve.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ie,0)).add(new go.PathSegment(go.PathSegment.Line,ie-de,ae)).add(new go.PathSegment(go.PathSegment.Line,de,ae).close())):ve.add(new go.PathFigure(de,0).add(new go.PathSegment(go.PathSegment.Line,ie-de,0)).add(new go.PathSegment(go.PathSegment.Line,ie,ae)).add(new go.PathSegment(go.PathSegment.Line,0,ae).close())),de<ie/2&&ve.setSpots(de/ie,0,(ie-de)/ie,1),ve}});var Te=[];function ke(){var ye=Te.pop();return ye===void 0?[]:ye}function Ie(ye){ye.length=0,Te.push(ye)}function Ce(ye){for(var ie=ke(),ae=.5,fe=.5,de=Math.PI*1.5,ve=0,xe=0;xe<ye;xe++)ve=2*Math.PI/ye*xe+de,ie[xe]=new go.Point(fe+ae*Math.cos(ve),fe+ae*Math.sin(ve));return ie.push(ie[0]),ie}function Me(ye){var ie=je(ye),ae=ke();ae[0]=ie[0];for(var fe=1,de=1;fe<ie.length;fe+=2,de+=3)ae[de]=ie[fe],ae[de+1]=ie[fe],ae[de+2]=ie[fe+1];return Ie(ie),ae}function je(ye){for(var ie=Ce(ye),ae=ke(),fe=Math.floor(ie.length/2),de=ie.length-1,ve=ye%2===0?2:1,xe=0;xe<de;xe++){var ce=ie[xe],pe=ie[xe+1],Se=ie[(fe+xe-1)%de],Le=ie[(fe+xe+ve)%de];ae[xe*2]=ce,ae[xe*2+1]=Ue(ce.x,ce.y,Se.x,Se.y,pe.x,pe.y,Le.x,Le.y,new go.Point)}return ae[ae.length]=ae[0],Ie(ie),ae}go.Shape.defineFigureGenerator("Pentagon",function(ye,ie,ae){var fe=Ce(5),de=new go.Geometry,ve=new go.PathFigure(fe[0].x*ie,fe[0].y*ae,!0);de.add(ve);for(var xe=1;xe<5;xe++)ve.add(new go.PathSegment(go.PathSegment.Line,fe[xe].x*ie,fe[xe].y*ae));return ve.add(new go.PathSegment(go.PathSegment.Line,fe[0].x*ie,fe[0].y*ae).close()),Ie(fe),de.spot1=new go.Spot(.2,.22),de.spot2=new go.Spot(.8,.9),de}),go.Shape.defineFigureGenerator("Hexagon",function(ye,ie,ae){var fe=Ce(6),de=new go.Geometry,ve=new go.PathFigure(fe[0].x*ie,fe[0].y*ae,!0);de.add(ve);for(var xe=1;xe<6;xe++)ve.add(new go.PathSegment(go.PathSegment.Line,fe[xe].x*ie,fe[xe].y*ae));return ve.add(new go.PathSegment(go.PathSegment.Line,fe[0].x*ie,fe[0].y*ae).close()),Ie(fe),de.spot1=new go.Spot(.07,.25),de.spot2=new go.Spot(.93,.75),de}),go.Shape.defineFigureGenerator("Heptagon",function(ye,ie,ae){var fe=Ce(7),de=new go.Geometry,ve=new go.PathFigure(fe[0].x*ie,fe[0].y*ae,!0);de.add(ve);for(var xe=1;xe<7;xe++)ve.add(new go.PathSegment(go.PathSegment.Line,fe[xe].x*ie,fe[xe].y*ae));return ve.add(new go.PathSegment(go.PathSegment.Line,fe[0].x*ie,fe[0].y*ae).close()),Ie(fe),de.spot1=new go.Spot(.2,.15),de.spot2=new go.Spot(.8,.85),de}),go.Shape.defineFigureGenerator("Octagon",function(ye,ie,ae){var fe=Ce(8),de=new go.Geometry,ve=new go.PathFigure(fe[0].x*ie,fe[0].y*ae,!0);de.add(ve);for(var xe=1;xe<8;xe++)ve.add(new go.PathSegment(go.PathSegment.Line,fe[xe].x*ie,fe[xe].y*ae));return ve.add(new go.PathSegment(go.PathSegment.Line,fe[0].x*ie,fe[0].y*ae).close()),Ie(fe),de.spot1=new go.Spot(.15,.15),de.spot2=new go.Spot(.85,.85),de}),go.Shape.defineFigureGenerator("Nonagon",function(ye,ie,ae){var fe=Ce(9),de=new go.Geometry,ve=new go.PathFigure(fe[0].x*ie,fe[0].y*ae,!0);de.add(ve);for(var xe=1;xe<9;xe++)ve.add(new go.PathSegment(go.PathSegment.Line,fe[xe].x*ie,fe[xe].y*ae));return ve.add(new go.PathSegment(go.PathSegment.Line,fe[0].x*ie,fe[0].y*ae).close()),Ie(fe),de.spot1=new go.Spot(.17,.13),de.spot2=new go.Spot(.82,.82),de}),go.Shape.defineFigureGenerator("Decagon",function(ye,ie,ae){var fe=Ce(10),de=new go.Geometry,ve=new go.PathFigure(fe[0].x*ie,fe[0].y*ae,!0);de.add(ve);for(var xe=1;xe<10;xe++)ve.add(new go.PathSegment(go.PathSegment.Line,fe[xe].x*ie,fe[xe].y*ae));return ve.add(new go.PathSegment(go.PathSegment.Line,fe[0].x*ie,fe[0].y*ae).close()),Ie(fe),de.spot1=new go.Spot(.16,.16),de.spot2=new go.Spot(.84,.84),de}),go.Shape.defineFigureGenerator("Dodecagon",function(ye,ie,ae){var fe=Ce(12),de=new go.Geometry,ve=new go.PathFigure(fe[0].x*ie,fe[0].y*ae,!0);de.add(ve);for(var xe=1;xe<12;xe++)ve.add(new go.PathSegment(go.PathSegment.Line,fe[xe].x*ie,fe[xe].y*ae));return ve.add(new go.PathSegment(go.PathSegment.Line,fe[0].x*ie,fe[0].y*ae).close()),Ie(fe),de.spot1=new go.Spot(.16,.16),de.spot2=new go.Spot(.84,.84),de}),go.Shape.defineFigureGenerator("FivePointedStar",function(ye,ie,ae){var fe=je(5),de=new go.Geometry,ve=new go.PathFigure(fe[0].x*ie,fe[0].y*ae,!0);de.add(ve);for(var xe=1;xe<10;xe++)ve.add(new go.PathSegment(go.PathSegment.Line,fe[xe].x*ie,fe[xe].y*ae));return ve.add(new go.PathSegment(go.PathSegment.Line,fe[0].x*ie,fe[0].y*ae).close()),Ie(fe),de.spot1=new go.Spot(.266,.333),de.spot2=new go.Spot(.733,.733),de}),go.Shape.defineFigureGenerator("SixPointedStar",function(ye,ie,ae){var fe=je(6),de=new go.Geometry,ve=new go.PathFigure(fe[0].x*ie,fe[0].y*ae,!0);de.add(ve);for(var xe=1;xe<12;xe++)ve.add(new go.PathSegment(go.PathSegment.Line,fe[xe].x*ie,fe[xe].y*ae));return ve.add(new go.PathSegment(go.PathSegment.Line,fe[0].x*ie,fe[0].y*ae).close()),Ie(fe),de.spot1=new go.Spot(.17,.25),de.spot2=new go.Spot(.83,.75),de}),go.Shape.defineFigureGenerator("SevenPointedStar",function(ye,ie,ae){var fe=je(7),de=new go.Geometry,ve=new go.PathFigure(fe[0].x*ie,fe[0].y*ae,!0);de.add(ve);for(var xe=1;xe<14;xe++)ve.add(new go.PathSegment(go.PathSegment.Line,fe[xe].x*ie,fe[xe].y*ae));return ve.add(new go.PathSegment(go.PathSegment.Line,fe[0].x*ie,fe[0].y*ae).close()),Ie(fe),de.spot1=new go.Spot(.222,.277),de.spot2=new go.Spot(.777,.666),de}),go.Shape.defineFigureGenerator("EightPointedStar",function(ye,ie,ae){var fe=je(8),de=new go.Geometry,ve=new go.PathFigure(fe[0].x*ie,fe[0].y*ae,!0);de.add(ve);for(var xe=1;xe<16;xe++)ve.add(new go.PathSegment(go.PathSegment.Line,fe[xe].x*ie,fe[xe].y*ae));return ve.add(new go.PathSegment(go.PathSegment.Line,fe[0].x*ie,fe[0].y*ae).close()),Ie(fe),de.spot1=new go.Spot(.25,.25),de.spot2=new go.Spot(.75,.75),de}),go.Shape.defineFigureGenerator("NinePointedStar",function(ye,ie,ae){var fe=je(9),de=new go.Geometry,ve=new go.PathFigure(fe[0].x*ie,fe[0].y*ae,!0);de.add(ve);for(var xe=1;xe<18;xe++)ve.add(new go.PathSegment(go.PathSegment.Line,fe[xe].x*ie,fe[xe].y*ae));return ve.add(new go.PathSegment(go.PathSegment.Line,fe[0].x*ie,fe[0].y*ae).close()),Ie(fe),de.spot1=new go.Spot(.222,.277),de.spot2=new go.Spot(.777,.666),de}),go.Shape.defineFigureGenerator("TenPointedStar",function(ye,ie,ae){var fe=je(10),de=new go.Geometry,ve=new go.PathFigure(fe[0].x*ie,fe[0].y*ae,!0);de.add(ve);for(var xe=1;xe<20;xe++)ve.add(new go.PathSegment(go.PathSegment.Line,fe[xe].x*ie,fe[xe].y*ae));return ve.add(new go.PathSegment(go.PathSegment.Line,fe[0].x*ie,fe[0].y*ae).close()),Ie(fe),de.spot1=new go.Spot(.281,.261),de.spot2=new go.Spot(.723,.748),de}),go.Shape.defineFigureGenerator("FivePointedBurst",function(ye,ie,ae){var fe=Me(5),de=new go.Geometry,ve=new go.PathFigure(fe[0].x*ie,fe[0].y*ae,!0);de.add(ve);for(var xe=1;xe<fe.length;xe+=3)ve.add(new go.PathSegment(go.PathSegment.Bezier,fe[xe+2].x*ie,fe[xe+2].y*ae,fe[xe].x*ie,fe[xe].y*ae,fe[xe+1].x*ie,fe[xe+1].y*ae));return ve.segments.last().close(),Ie(fe),de.spot1=new go.Spot(.222,.277),de.spot2=new go.Spot(.777,.777),de}),go.Shape.defineFigureGenerator("SixPointedBurst",function(ye,ie,ae){var fe=Me(6),de=new go.Geometry,ve=new go.PathFigure(fe[0].x*ie,fe[0].y*ae,!0);de.add(ve);for(var xe=1;xe<fe.length;xe+=3)ve.add(new go.PathSegment(go.PathSegment.Bezier,fe[xe+2].x*ie,fe[xe+2].y*ae,fe[xe].x*ie,fe[xe].y*ae,fe[xe+1].x*ie,fe[xe+1].y*ae));return ve.segments.last().close(),Ie(fe),de.spot1=new go.Spot(.17,.222),de.spot2=new go.Spot(.833,.777),de}),go.Shape.defineFigureGenerator("SevenPointedBurst",function(ye,ie,ae){var fe=Me(7),de=new go.Geometry,ve=new go.PathFigure(fe[0].x*ie,fe[0].y*ae,!0);de.add(ve);for(var xe=1;xe<fe.length;xe+=3)ve.add(new go.PathSegment(go.PathSegment.Bezier,fe[xe+2].x*ie,fe[xe+2].y*ae,fe[xe].x*ie,fe[xe].y*ae,fe[xe+1].x*ie,fe[xe+1].y*ae));return ve.segments.last().close(),Ie(fe),de.spot1=new go.Spot(.222,.222),de.spot2=new go.Spot(.777,.777),de}),go.Shape.defineFigureGenerator("EightPointedBurst",function(ye,ie,ae){var fe=Me(8),de=new go.Geometry,ve=new go.PathFigure(fe[0].x*ie,fe[0].y*ae,!0);de.add(ve);for(var xe=1;xe<fe.length;xe+=3)ve.add(new go.PathSegment(go.PathSegment.Bezier,fe[xe+2].x*ie,fe[xe+2].y*ae,fe[xe].x*ie,fe[xe].y*ae,fe[xe+1].x*ie,fe[xe+1].y*ae));return ve.segments.last().close(),Ie(fe),de.spot1=new go.Spot(.222,.222),de.spot2=new go.Spot(.777,.777),de}),go.Shape.defineFigureGenerator("NinePointedBurst",function(ye,ie,ae){var fe=Me(9),de=new go.Geometry,ve=new go.PathFigure(fe[0].x*ie,fe[0].y*ae,!0);de.add(ve);for(var xe=1;xe<fe.length;xe+=3)ve.add(new go.PathSegment(go.PathSegment.Bezier,fe[xe+2].x*ie,fe[xe+2].y*ae,fe[xe].x*ie,fe[xe].y*ae,fe[xe+1].x*ie,fe[xe+1].y*ae));return ve.segments.last().close(),Ie(fe),de.spot1=new go.Spot(.222,.222),de.spot2=new go.Spot(.777,.777),de}),go.Shape.defineFigureGenerator("TenPointedBurst",function(ye,ie,ae){var fe=Me(10),de=new go.Geometry,ve=new go.PathFigure(fe[0].x*ie,fe[0].y*ae,!0);de.add(ve);for(var xe=1;xe<fe.length;xe+=3)ve.add(new go.PathSegment(go.PathSegment.Bezier,fe[xe+2].x*ie,fe[xe+2].y*ae,fe[xe].x*ie,fe[xe].y*ae,fe[xe+1].x*ie,fe[xe+1].y*ae));return ve.segments.last().close(),Ie(fe),de.spot1=new go.Spot(.222,.222),de.spot2=new go.Spot(.777,.777),de}),go.Shape.setFigureParameter("FramedRectangle",0,new en("ThicknessX",8)),go.Shape.setFigureParameter("FramedRectangle",1,new en("ThicknessY",8)),go.Shape.defineFigureGenerator("FramedRectangle",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN,de=ye?ye.parameter2:NaN;isNaN(fe)&&(fe=8),isNaN(de)&&(de=8);var ve=new go.Geometry,xe=new go.PathFigure(0,0,!0);return ve.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,ie,0)),xe.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Line,0,ae).close()),fe<ie/2&&de<ae/2&&(xe.add(new go.PathSegment(go.PathSegment.Move,fe,de)),xe.add(new go.PathSegment(go.PathSegment.Line,fe,ae-de)),xe.add(new go.PathSegment(go.PathSegment.Line,ie-fe,ae-de)),xe.add(new go.PathSegment(go.PathSegment.Line,ie-fe,de).close())),ve.setSpots(0,0,1,1,fe,de,-fe,-de),ve}),go.Shape.setFigureParameter("Ring",0,new en("Thickness",8)),go.Shape.defineFigureGenerator("Ring",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;(isNaN(fe)||fe<0)&&(fe=8);var de=ie/2,ve=new go.Geometry,xe=new go.PathFigure(ie,ie/2,!0);ve.add(xe),xe.add(new go.PathSegment(go.PathSegment.Arc,0,360,de,de,de,de).close());var ce=Math.max(de-fe,0);return ce>0&&(xe.add(new go.PathSegment(go.PathSegment.Move,ie/2+ce,ie/2)),xe.add(new go.PathSegment(go.PathSegment.Arc,0,-360,de,de,ce,ce).close())),ve.spot1=Ke,ve.spot2=Be,ve.defaultStretch=go.GraphObject.Uniform,ve}),go.Shape.defineFigureGenerator("Cloud",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(.08034461*ie,.1944299*ae,!0).add(new go.PathSegment(go.PathSegment.Bezier,.2008615*ie,.05349299*ae,-.09239631*ie,.07836421*ae,.1406031*ie,-.0542823*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.4338609*ie,.074219*ae,.2450511*ie,-.00697547*ae,.3776197*ie,-.01112067*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.6558228*ie,.07004196*ae,.4539471*ie,0,.6066018*ie,-.02526587*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.8921095*ie,.08370865*ae,.6914277*ie,-.01904177*ae,.8921095*ie,-.01220843*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.9147671*ie,.3194596*ae,1.036446*ie,.04105738*ae,1.020377*ie,.3022052*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.9082935*ie,.562044*ae,1.04448*ie,.360238*ae,.992256*ie,.5219009*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.9212406*ie,.8217117*ae,1.032337*ie,.5771781*ae,1.018411*ie,.8120651*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.7592566*ie,.9156953*ae,1.028411*ie,.9571472*ae,.8556702*ie,1.052487*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.5101666*ie,.9310455*ae,.7431877*ie,1.009325*ae,.5624123*ie,1.021761*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.2609328*ie,.9344623*ae,.4820677*ie,1.031761*ae,.3030112*ie,1.002796*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*ie,.870098*ae,.2329994*ie,1.01518*ae,.03213784*ie,1.01518*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.06829292*ie,.6545475*ae,-.02812061*ie,.9032597*ae,-.01205169*ie,.6835638*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.06427569*ie,.4265613*ae,-.01812061*ie,.6089503*ae,-.00606892*ie,.4555777*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*ie,.1944299*ae,-.01606892*ie,.3892545*ae,-.01205169*ie,.1944299*ae))).setSpots(.1,.1,.9,.9)}),go.Shape.defineFigureGenerator("StopSign",function(ye,ie,ae){var fe=1/(Math.SQRT2+2);return new go.Geometry().add(new go.PathFigure(fe*ie,0,!0).add(new go.PathSegment(go.PathSegment.Line,(1-fe)*ie,0)).add(new go.PathSegment(go.PathSegment.Line,ie,fe*ae)).add(new go.PathSegment(go.PathSegment.Line,ie,(1-fe)*ae)).add(new go.PathSegment(go.PathSegment.Line,(1-fe)*ie,ae)).add(new go.PathSegment(go.PathSegment.Line,fe*ie,ae)).add(new go.PathSegment(go.PathSegment.Line,0,(1-fe)*ae)).add(new go.PathSegment(go.PathSegment.Line,0,fe*ae).close())).setSpots(fe/2,fe/2,1-fe/2,1-fe/2)}),go.Shape.setFigureParameter("Pie",0,new en("Start",0,-360,360)),go.Shape.setFigureParameter("Pie",1,new en("Sweep",315,-360,360)),go.Shape.defineFigureGenerator("Pie",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN,de=ye?ye.parameter2:NaN;isNaN(fe)&&(fe=0),isNaN(de)&&(de=315);var ve=fe%360;ve<0&&(ve+=360);var xe=de%360,ce=Math.min(ie,ae)/2;return new go.Geometry().add(new go.PathFigure(ce,ce).add(new go.PathSegment(go.PathSegment.Arc,ve,xe,ce,ce,ce,ce).close()))}),go.Shape.defineFigureGenerator("PiePiece",function(ye,ie,ae){var fe=we/Math.SQRT2*.5,de=Math.SQRT2/2,ve=1-Math.SQRT2/2;return new go.Geometry().add(new go.PathFigure(ie,ae,!0).add(new go.PathSegment(go.PathSegment.Bezier,de*ie,ve*ae,ie,(1-fe)*ae,(de+fe)*ie,(ve+fe)*ae)).add(new go.PathSegment(go.PathSegment.Line,0,ae).close()))}),go.Shape.setFigureParameter("ThickCross",0,new en("Thickness",30)),go.Shape.defineFigureGenerator("ThickCross",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;(isNaN(fe)||fe<0)&&(fe=30);var de=Math.min(fe,ie)/2,ve=ie/2,xe=ae/2;return new go.Geometry().add(new go.PathFigure(ve-de,0,!0).add(new go.PathSegment(go.PathSegment.Line,ve+de,0)).add(new go.PathSegment(go.PathSegment.Line,ve+de,xe-de)).add(new go.PathSegment(go.PathSegment.Line,ie,xe-de)).add(new go.PathSegment(go.PathSegment.Line,ie,xe+de)).add(new go.PathSegment(go.PathSegment.Line,ve+de,xe+de)).add(new go.PathSegment(go.PathSegment.Line,ve+de,ae)).add(new go.PathSegment(go.PathSegment.Line,ve-de,ae)).add(new go.PathSegment(go.PathSegment.Line,ve-de,xe+de)).add(new go.PathSegment(go.PathSegment.Line,0,xe+de)).add(new go.PathSegment(go.PathSegment.Line,0,xe-de)).add(new go.PathSegment(go.PathSegment.Line,ve-de,xe-de).close()))}),go.Shape.setFigureParameter("ThinCross",0,new en("Thickness",10)),go.Shape.defineFigureGenerator("ThinCross",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;(isNaN(fe)||fe<0)&&(fe=10);var de=Math.min(fe,ie)/2,ve=ie/2,xe=ae/2;return new go.Geometry().add(new go.PathFigure(ve-de,0,!0).add(new go.PathSegment(go.PathSegment.Line,ve+de,0)).add(new go.PathSegment(go.PathSegment.Line,ve+de,xe-de)).add(new go.PathSegment(go.PathSegment.Line,ie,xe-de)).add(new go.PathSegment(go.PathSegment.Line,ie,xe+de)).add(new go.PathSegment(go.PathSegment.Line,ve+de,xe+de)).add(new go.PathSegment(go.PathSegment.Line,ve+de,ae)).add(new go.PathSegment(go.PathSegment.Line,ve-de,ae)).add(new go.PathSegment(go.PathSegment.Line,ve-de,xe+de)).add(new go.PathSegment(go.PathSegment.Line,0,xe+de)).add(new go.PathSegment(go.PathSegment.Line,0,xe-de)).add(new go.PathSegment(go.PathSegment.Line,ve-de,xe-de).close()))}),go.Shape.setFigureParameter("ThickX",0,new en("Thickness",30)),go.Shape.defineFigureGenerator("ThickX",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;if((isNaN(fe)||fe<0)&&(fe=30),ie===0||ae===0){var de=new go.Geometry(go.Geometry.Rectangle);return de.startX=0,de.startY=0,de.endX=ie,de.endY=ae,de}else{var ve=ie/2,xe=ae/2,ce=Math.atan2(ae,ie),pe=fe-Math.min(Math.cos(ce)*fe/2,ve),Se=fe-Math.min(Math.sin(ce)*fe/2,xe),de=new go.Geometry,Le=new go.PathFigure(pe,0,!0);return de.add(Le),Le.add(new go.PathSegment(go.PathSegment.Line,ve,.2*ae)),Le.add(new go.PathSegment(go.PathSegment.Line,ie-pe,0)),Le.add(new go.PathSegment(go.PathSegment.Line,ie,Se)),Le.add(new go.PathSegment(go.PathSegment.Line,.8*ie,xe)),Le.add(new go.PathSegment(go.PathSegment.Line,ie,ae-Se)),Le.add(new go.PathSegment(go.PathSegment.Line,ie-pe,ae)),Le.add(new go.PathSegment(go.PathSegment.Line,ve,.8*ae)),Le.add(new go.PathSegment(go.PathSegment.Line,pe,ae)),Le.add(new go.PathSegment(go.PathSegment.Line,0,ae-Se)),Le.add(new go.PathSegment(go.PathSegment.Line,.2*ie,xe)),Le.add(new go.PathSegment(go.PathSegment.Line,0,Se).close()),de}}),go.Shape.setFigureParameter("ThinX",0,new en("Thickness",10)),go.Shape.defineFigureGenerator("ThinX",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;(isNaN(fe)||fe<0)&&(fe=10);var de=new go.Geometry,ve=new go.PathFigure(.1*ie,0,!0);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.4*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.9*ie,0)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,.1*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.6*ie,.5*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,.9*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.9*ie,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.6*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.1*ie,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,.9*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.4*ie,.5*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,.1*ae).close()),de}),go.Shape.setFigureParameter("SquareIBeam",0,new en("BeamWidth",.2,.1,.9)),go.Shape.defineFigureGenerator("SquareIBeam",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)&&(fe=.2);var de=new go.Geometry,ve=new go.PathFigure(0,0,!0);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie,0)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,fe*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,(.5+fe/2)*ie,fe*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,(.5+fe/2)*ie,(1-fe)*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,(1-fe)*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,(1-fe)*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,(.5-fe/2)*ie,(1-fe)*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,(.5-fe/2)*ie,fe*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,fe*ae).close()),de}),go.Shape.setFigureParameter("RoundedIBeam",0,new en("Curviness",.5,.05,.65)),go.Shape.defineFigureGenerator("RoundedIBeam",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)&&(fe=.5);var de=new go.Geometry,ve=new go.PathFigure(0,0,!0);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie,0)),ve.add(new go.PathSegment(go.PathSegment.Bezier,ie,ae,Math.abs(1-fe)*ie,.25*ae,Math.abs(1-fe)*ie,.75*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,ae)),ve.add(new go.PathSegment(go.PathSegment.Bezier,0,0,fe*ie,.75*ae,fe*ie,.25*ae).close()),de}),go.Shape.defineFigureGenerator("HalfEllipse",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,ie,.5*ae,we*ie,0,ie,(.5-we/2)*ae)).add(new go.PathSegment(go.PathSegment.Bezier,0,ae,ie,(.5+we/2)*ae,we*ie,ae).close())).setSpots(0,.156,.844,.844)}),go.Shape.defineFigureGenerator("Crescent",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,ae,ie,0,ie,ae)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.5*ie,.75*ae,.5*ie,.25*ae).close())).setSpots(.311,.266,.744,.744)}),go.Shape.defineFigureGenerator("Heart",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(.5*ie,ae,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,.3*ae,.1*ie,.8*ae,0,.5*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,.3*ae,0,0,.45*ie,0)).add(new go.PathSegment(go.PathSegment.Bezier,ie,.3*ae,.55*ie,0,ie,0)).add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,ae,ie,.5*ae,.9*ie,.8*ae).close())).setSpots(.14,.29,.86,.78)}),go.Shape.defineFigureGenerator("Spade",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(.5*ie,0,!0).add(new go.PathSegment(go.PathSegment.Line,.51*ie,.01*ae)).add(new go.PathSegment(go.PathSegment.Bezier,ie,.5*ae,.6*ie,.2*ae,ie,.25*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.55*ie,.7*ae,ie,.8*ae,.6*ie,.8*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.75*ie,ae,.5*ie,.75*ae,.55*ie,.95*ae)).add(new go.PathSegment(go.PathSegment.Line,.25*ie,ae)).add(new go.PathSegment(go.PathSegment.Bezier,.45*ie,.7*ae,.45*ie,.95*ae,.5*ie,.75*ae)).add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ae,.4*ie,.8*ae,0,.8*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.49*ie,.01*ae,0,.25*ae,.4*ie,.2*ae).close())).setSpots(.14,.26,.86,.78)}),go.Shape.defineFigureGenerator("Club",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.4*ie,.6*ae,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Bezier,.15*ie,ae,.5*ie,.75*ae,.45*ie,.95*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.85*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.6*ie,.6*ae,.55*ie,.95*ae,.5*ie,.75*ae));var ve=.2,xe=.3,ce=0,pe=ve*we;return de.add(new go.PathSegment(go.PathSegment.Bezier,(.5+xe)*ie,(.5+ve+ce)*ae,(.5-ve+xe)*ie,(.5+pe+ce)*ae,(.5-pe+xe)*ie,(.5+ve+ce)*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+ve+xe)*ie,(.5+ce)*ae,(.5+pe+xe)*ie,(.5+ve+ce)*ae,(.5+ve+xe)*ie,(.5+pe+ce)*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,(.5+xe)*ie,(.5-ve+ce)*ae,(1-.5+ve+xe)*ie,(.5-pe+ce)*ae,(.5+pe+xe)*ie,(.5-ve+ce)*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.65*ie,.36771243*ae,(.5-pe+xe)*ie,(.5-ve+ce)*ae,(.5-ve+xe+.05)*ie,(.5-pe+ce-.02)*ae)),ve=.2,xe=0,ce=-.3,pe=ve*we,de.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+ve+xe)*ie,(.5+ce)*ae,(.5+pe+xe)*ie,(.5+ve+ce)*ae,(.5+ve+xe)*ie,(.5+pe+ce)*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,(.5+xe)*ie,(.5-ve+ce)*ae,(1-.5+ve+xe)*ie,(.5-pe+ce)*ae,(.5+pe+xe)*ie,(.5-ve+ce)*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,(.5-ve+xe)*ie,(.5+ce)*ae,(.5-pe+xe)*ie,(.5-ve+ce)*ae,(.5-ve+xe)*ie,(.5-pe+ce)*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,(.5-pe+xe)*ie,(.5+ve+ce)*ae,(.5-ve+xe)*ie,(.5+pe+ce)*ae,(.5-pe+xe)*ie,(.5+ve+ce)*ae)),ve=.2,xe=-.3,ce=0,pe=ve*we,de.add(new go.PathSegment(go.PathSegment.Bezier,(.5+xe)*ie,(.5-ve+ce)*ae,(1-.5+ve+xe-.05)*ie,(.5-pe+ce-.02)*ae,(.5+pe+xe)*ie,(.5-ve+ce)*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,(.5-ve+xe)*ie,(.5+ce)*ae,(.5-pe+xe)*ie,(.5-ve+ce)*ae,(.5-ve+xe)*ie,(.5-pe+ce)*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,(.5+xe)*ie,(.5+ve+ce)*ae,(.5-ve+xe)*ie,(.5+pe+ce)*ae,(.5-pe+xe)*ie,(.5+ve+ce)*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.4*ie,.6*ae,(.5+pe+xe)*ie,(.5+ve+ce)*ae,(.5+ve+xe)*ie,(.5+pe+ce)*ae).close()),fe.setSpots(.06,.33,.93,.68),fe}),go.Shape.defineFigureGenerator("YinYang",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(ie*.5,0,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Arc,270,180,ie*.5,ie*.5,ie*.5,ie*.5)),de.add(new go.PathSegment(go.PathSegment.Arc,90,-180,ie*.5,ie*.75,ie*.25,ie*.25)),de.add(new go.PathSegment(go.PathSegment.Arc,90,180,ie*.5,ie*.25,ie*.25,ie*.25));var ve=.1,xe=.5,ce=.25;return de.add(new go.PathSegment(go.PathSegment.Move,(xe+ve)*ie,ce*ae)),de.add(new go.PathSegment(go.PathSegment.Arc,0,-360,ie*xe,ae*ce,ve*ie,ve*ie).close()),de=new go.PathFigure(ie*.5,0,!1),fe.add(de),de.add(new go.PathSegment(go.PathSegment.Arc,270,-180,ie*.5,ie*.5,ie*.5,ie*.5)),ce=.75,de=new go.PathFigure((xe+ve)*ie,ce*ae,!0),fe.add(de),de.add(new go.PathSegment(go.PathSegment.Arc,0,360,ie*xe,ae*ce,ve*ie,ve*ie).close()),fe.defaultStretch=go.GraphObject.Uniform,fe}),go.Shape.defineFigureGenerator("Peace",function(ye,ie,ae){var fe=.8535533905932737,de=.5*ie,ve=.5*ae;return new go.Geometry().add(new go.PathFigure(de,0,!1).add(new go.PathSegment(go.PathSegment.Arc,270,360,de,ve,de,ve)).add(new go.PathSegment(go.PathSegment.Line,de,ae)).add(new go.PathSegment(go.PathSegment.Move,de,ve)).add(new go.PathSegment(go.PathSegment.Line,(1-fe)*ie,fe*ae)).add(new go.PathSegment(go.PathSegment.Move,de,ve)).add(new go.PathSegment(go.PathSegment.Line,fe*ie,fe*ae)))}),go.Shape.defineFigureGenerator("NotAllowed",function(ye,ie,ae){var fe=new go.Geometry,de=we*.5,ve=.5,xe=.5,ce=.5,pe=new go.PathFigure(xe*ie,(ce-ve)*ae);fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,(xe-ve)*ie,ce*ae,(xe-de)*ie,(ce-ve)*ae,(xe-ve)*ie,(ce-de)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce+ve)*ae,(xe-ve)*ie,(ce+de)*ae,(xe-de)*ie,(ce+ve)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(xe+ve)*ie,ce*ae,(xe+de)*ie,(ce+ve)*ae,(xe+ve)*ie,(ce+de)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce-ve)*ae,(xe+ve)*ie,(ce-de)*ae,(xe+de)*ie,(ce-ve)*ae)),ve=.4,de=we*.4;var Se=Ge(),Le=Ge(),ze=Ge(),Ze=Ge();Ne(xe,ce-ve,xe+de,ce-ve,xe+ve,ce-de,xe+ve,ce,.42,Se,Le,ze,Ze,Ze);var Ve=Ge(),Qe=Ge(),$e=Ge();Ne(xe,ce-ve,xe+de,ce-ve,xe+ve,ce-de,xe+ve,ce,.58,Ze,Ze,$e,Ve,Qe);var gt=Ge(),lt=Ge(),At=Ge();Ne(xe,ce+ve,xe-de,ce+ve,xe-ve,ce+de,xe-ve,ce,.42,gt,lt,At,Ze,Ze);var Et=Ge(),vt=Ge(),Lt=Ge();return Ne(xe,ce+ve,xe-de,ce+ve,xe-ve,ce+de,xe-ve,ce,.58,Ze,Ze,Lt,Et,vt),pe.add(new go.PathSegment(go.PathSegment.Move,Lt.x*ie,Lt.y*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(xe-ve)*ie,ce*ae,Et.x*ie,Et.y*ae,vt.x*ie,vt.y*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce-ve)*ae,(xe-ve)*ie,(ce-de)*ae,(xe-de)*ie,(ce-ve)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,ze.x*ie,ze.y*ae,Se.x*ie,Se.y*ae,Le.x*ie,Le.y*ae)),pe.add(new go.PathSegment(go.PathSegment.Line,Lt.x*ie,Lt.y*ae).close()),pe.add(new go.PathSegment(go.PathSegment.Move,At.x*ie,At.y*ae)),pe.add(new go.PathSegment(go.PathSegment.Line,$e.x*ie,$e.y*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(xe+ve)*ie,ce*ae,Ve.x*ie,Ve.y*ae,Qe.x*ie,Qe.y*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce+ve)*ae,(xe+ve)*ie,(ce+de)*ae,(xe+de)*ie,(ce+ve)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,At.x*ie,At.y*ae,gt.x*ie,gt.y*ae,lt.x*ie,lt.y*ae).close()),tt(Se),tt(Le),tt(ze),tt(Ze),tt(Ve),tt(Qe),tt($e),tt(gt),tt(lt),tt(At),tt(Et),tt(vt),tt(Lt),fe.defaultStretch=go.GraphObject.Uniform,fe}),go.Shape.defineFigureGenerator("Fragile",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.25*ie,0)).add(new go.PathSegment(go.PathSegment.Line,.2*ie,.15*ae)).add(new go.PathSegment(go.PathSegment.Line,.3*ie,.25*ae)).add(new go.PathSegment(go.PathSegment.Line,.29*ie,.33*ae)).add(new go.PathSegment(go.PathSegment.Line,.35*ie,.25*ae)).add(new go.PathSegment(go.PathSegment.Line,.3*ie,.15*ae)).add(new go.PathSegment(go.PathSegment.Line,.4*ie,0)).add(new go.PathSegment(go.PathSegment.Line,ie,0)).add(new go.PathSegment(go.PathSegment.Bezier,.55*ie,.5*ae,ie,.25*ae,.75*ie,.5*ae)).add(new go.PathSegment(go.PathSegment.Line,.55*ie,.9*ae)).add(new go.PathSegment(go.PathSegment.Line,.7*ie,.9*ae)).add(new go.PathSegment(go.PathSegment.Line,.7*ie,ae)).add(new go.PathSegment(go.PathSegment.Line,.3*ie,ae)).add(new go.PathSegment(go.PathSegment.Line,.3*ie,.9*ae)).add(new go.PathSegment(go.PathSegment.Line,.45*ie,.9*ae)).add(new go.PathSegment(go.PathSegment.Line,.45*ie,.5*ae)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*ie,.5*ae,0,.25*ae).close()))}),go.Shape.setFigureParameter("HourGlass",0,new en("Thickness",30)),go.Shape.defineFigureGenerator("HourGlass",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;(isNaN(fe)||fe<0)&&(fe=30),fe>ie&&(fe=ie);var de=(ie-fe)/2,ve=de+fe;return new go.Geometry().add(new go.PathFigure(ve,.5*ae).add(new go.PathSegment(go.PathSegment.Line,ie,ae)).add(new go.PathSegment(go.PathSegment.Line,0,ae)).add(new go.PathSegment(go.PathSegment.Line,de,.5*ae)).add(new go.PathSegment(go.PathSegment.Line,0,0)).add(new go.PathSegment(go.PathSegment.Line,ie,0).close()))}),go.Shape.defineFigureGenerator("Lightning",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,.55*ae).add(new go.PathSegment(go.PathSegment.Line,.6*ie,0)).add(new go.PathSegment(go.PathSegment.Line,.3*ie,.45*ae)).add(new go.PathSegment(go.PathSegment.Line,ie,.45*ae)).add(new go.PathSegment(go.PathSegment.Line,.4*ie,ae)).add(new go.PathSegment(go.PathSegment.Line,.7*ie,.55*ae).close()))}),go.Shape.defineFigureGenerator("GenderMale",function(ye,ie,ae){var fe=new go.Geometry,de=we*.4,ve=.4,xe=.5,ce=.5,pe=Ge(),Se=Ge(),Le=Ge(),ze=Ge(),Ze=new go.PathFigure((xe-ve)*ie,ce*ae,!1);fe.add(Ze),Ze.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce-ve)*ae,(xe-ve)*ie,(ce-de)*ae,(xe-de)*ie,(ce-ve)*ae)),Ne(xe,ce-ve,xe+de,ce-ve,xe+ve,ce-de,xe+ve,ce,.44,Le,ze,Se,pe,pe),Ze.add(new go.PathSegment(go.PathSegment.Bezier,Se.x*ie,Se.y*ae,Le.x*ie,Le.y*ae,ze.x*ie,ze.y*ae));var Ve=Oe(Se.x,Se.y);Ne(xe,ce-ve,xe+de,ce-ve,xe+ve,ce-de,xe+ve,ce,.56,pe,pe,Se,Le,ze);var Qe=Oe(Se.x,Se.y);Ze.add(new go.PathSegment(go.PathSegment.Line,(Ve.x*.1+.95*.9)*ie,Ve.y*.1*ae)),Ze.add(new go.PathSegment(go.PathSegment.Line,.85*ie,Ve.y*.1*ae)),Ze.add(new go.PathSegment(go.PathSegment.Line,.85*ie,0)),Ze.add(new go.PathSegment(go.PathSegment.Line,ie,0)),Ze.add(new go.PathSegment(go.PathSegment.Line,ie,.15*ae)),Ze.add(new go.PathSegment(go.PathSegment.Line,(Qe.x*.1+.9)*ie,.15*ae)),Ze.add(new go.PathSegment(go.PathSegment.Line,(Qe.x*.1+.9)*ie,(Qe.y*.1+.05*.9)*ae)),Ze.add(new go.PathSegment(go.PathSegment.Line,Qe.x*ie,Qe.y*ae)),Ze.add(new go.PathSegment(go.PathSegment.Bezier,(xe+ve)*ie,ce*ae,Le.x*ie,Le.y*ae,ze.x*ie,ze.y*ae)),Ze.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce+ve)*ae,(xe+ve)*ie,(ce+de)*ae,(xe+de)*ie,(ce+ve)*ae)),Ze.add(new go.PathSegment(go.PathSegment.Bezier,(xe-ve)*ie,ce*ae,(xe-de)*ie,(ce+ve)*ae,(xe-ve)*ie,(ce+de)*ae)),ve=.35,de=we*.35;var $e=new go.PathFigure(xe*ie,(ce-ve)*ae,!1);fe.add($e),$e.add(new go.PathSegment(go.PathSegment.Bezier,(xe-ve)*ie,ce*ae,(xe-de)*ie,(ce-ve)*ae,(xe-ve)*ie,(ce-de)*ae)),$e.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce+ve)*ae,(xe-ve)*ie,(ce+de)*ae,(xe-de)*ie,(ce+ve)*ae)),$e.add(new go.PathSegment(go.PathSegment.Bezier,(xe+ve)*ie,ce*ae,(xe+de)*ie,(ce+ve)*ae,(xe+ve)*ie,(ce+de)*ae)),$e.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce-ve)*ae,(xe+ve)*ie,(ce-de)*ae,(xe+de)*ie,(ce-ve)*ae));var gt=new go.PathFigure((xe-ve)*ie,ce*ae,!1);return fe.add(gt),tt(pe),tt(Se),tt(Le),tt(ze),tt(Ve),tt(Qe),fe.spot1=new go.Spot(.202,.257),fe.spot2=new go.Spot(.792,.739),fe.defaultStretch=go.GraphObject.Uniform,fe}),go.Shape.defineFigureGenerator("GenderFemale",function(ye,ie,ae){var fe=new go.Geometry,de=.375,ve=0,xe=-.125,ce=de*we,pe=new go.PathFigure((.525+ve)*ie,(.5+de+xe)*ae,!1);fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+de+ve)*ie,(.5+xe)*ae,(.5+ce+ve)*ie,(.5+de+xe)*ae,(.5+de+ve)*ie,(.5+ce+xe)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ve)*ie,(.5-de+xe)*ae,(1-.5+de+ve)*ie,(.5-ce+xe)*ae,(.5+ce+ve)*ie,(.5-de+xe)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(.5-de+ve)*ie,(.5+xe)*ae,(.5-ce+ve)*ie,(.5-de+xe)*ae,(.5-de+ve)*ie,(.5-ce+xe)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(.475+ve)*ie,(.5+de+xe)*ae,(.5-de+ve)*ie,(.5+ce+xe)*ae,(.5-ce+ve)*ie,(.5+de+xe)*ae)),pe.add(new go.PathSegment(go.PathSegment.Line,.475*ie,.85*ae)),pe.add(new go.PathSegment(go.PathSegment.Line,.425*ie,.85*ae)),pe.add(new go.PathSegment(go.PathSegment.Line,.425*ie,.9*ae)),pe.add(new go.PathSegment(go.PathSegment.Line,.475*ie,.9*ae)),pe.add(new go.PathSegment(go.PathSegment.Line,.475*ie,ae)),pe.add(new go.PathSegment(go.PathSegment.Line,.525*ie,ae)),pe.add(new go.PathSegment(go.PathSegment.Line,.525*ie,.9*ae)),pe.add(new go.PathSegment(go.PathSegment.Line,.575*ie,.9*ae)),pe.add(new go.PathSegment(go.PathSegment.Line,.575*ie,.85*ae)),pe.add(new go.PathSegment(go.PathSegment.Line,.525*ie,.85*ae).close()),de=.325,ve=0,xe=-.125,ce=de*we;var pe=new go.PathFigure((1-.5+de+ve)*ie,(.5+xe)*ae,!1);fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ve)*ie,(.5+de+xe)*ae,(.5+de+ve)*ie,(.5+ce+xe)*ae,(.5+ce+ve)*ie,(.5+de+xe)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(.5-de+ve)*ie,(.5+xe)*ae,(.5-ce+ve)*ie,(.5+de+xe)*ae,(.5-de+ve)*ie,(.5+ce+xe)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ve)*ie,(.5-de+xe)*ae,(.5-de+ve)*ie,(.5-ce+xe)*ae,(.5-ce+ve)*ie,(.5-de+xe)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+de+ve)*ie,(.5+xe)*ae,(.5+ce+ve)*ie,(.5-de+xe)*ae,(1-.5+de+ve)*ie,(.5-ce+xe)*ae));var pe=new go.PathFigure((.525+ve)*ie,(.5+de+xe)*ae,!1);return fe.add(pe),fe.spot1=new go.Spot(.232,.136),fe.spot2=new go.Spot(.682,.611),fe.defaultStretch=go.GraphObject.Uniform,fe}),go.Shape.defineFigureGenerator("LogicImplies",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;return isNaN(fe)&&(fe=.2),new go.Geometry().add(new go.PathFigure((1-fe)*ie,0,!1).add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)).add(new go.PathSegment(go.PathSegment.Line,(1-fe)*ie,ae)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ae)).add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae))).setSpots(0,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicIff",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;return isNaN(fe)&&(fe=.2),new go.Geometry().add(new go.PathFigure((1-fe)*ie,0,!1).add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)).add(new go.PathSegment(go.PathSegment.Line,(1-fe)*ie,ae)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ae)).add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)).add(new go.PathSegment(go.PathSegment.Move,fe*ie,0)).add(new go.PathSegment(go.PathSegment.Line,0,.5*ae)).add(new go.PathSegment(go.PathSegment.Line,fe*ie,ae))).setSpots(.2,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicNot",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,ie,0)).add(new go.PathSegment(go.PathSegment.Line,ie,ae)))}),go.Shape.defineFigureGenerator("LogicAnd",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,ae,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ie,0)).add(new go.PathSegment(go.PathSegment.Line,ie,ae))).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("LogicOr",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae)).add(new go.PathSegment(go.PathSegment.Line,ie,0))).setSpots(.219,0,.78,.409)}),go.Shape.defineFigureGenerator("LogicXor",function(ye,ie,ae){var fe=new go.Geometry().add(new go.PathFigure(.5*ie,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ae)).add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)).add(new go.PathSegment(go.PathSegment.Arc,0,360,.5*ie,.5*ae,.5*ie,.5*ae)));return fe.defaultStretch=go.GraphObject.Uniform,fe}),go.Shape.defineFigureGenerator("LogicTruth",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,ie,0)).add(new go.PathSegment(go.PathSegment.Move,.5*ie,0)).add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae)))}),go.Shape.defineFigureGenerator("LogicFalsity",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,ae,!1).add(new go.PathSegment(go.PathSegment.Line,ie,ae)).add(new go.PathSegment(go.PathSegment.Move,.5*ie,ae)).add(new go.PathSegment(go.PathSegment.Line,.5*ie,0)))}),go.Shape.defineFigureGenerator("LogicThereExists",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,ie,0)).add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)).add(new go.PathSegment(go.PathSegment.Line,0,.5*ae)).add(new go.PathSegment(go.PathSegment.Move,ie,.5*ae)).add(new go.PathSegment(go.PathSegment.Line,ie,ae)).add(new go.PathSegment(go.PathSegment.Line,0,ae)))}),go.Shape.defineFigureGenerator("LogicForAll",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae)).add(new go.PathSegment(go.PathSegment.Line,ie,0)).add(new go.PathSegment(go.PathSegment.Move,.25*ie,.5*ae)).add(new go.PathSegment(go.PathSegment.Line,.75*ie,.5*ae))).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("LogicIsDefinedAs",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,ie,0)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ae)).add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)).add(new go.PathSegment(go.PathSegment.Move,0,ae)).add(new go.PathSegment(go.PathSegment.Line,ie,ae))).setSpots(.01,.01,.99,.49)}),go.Shape.defineFigureGenerator("LogicIntersect",function(ye,ie,ae){var fe=.5;return new go.Geometry().add(new go.PathFigure(0,ae,!1).add(new go.PathSegment(go.PathSegment.Line,0,fe*ae)).add(new go.PathSegment(go.PathSegment.Arc,180,180,fe*ie,fe*ae,fe*ie,fe*ae)).add(new go.PathSegment(go.PathSegment.Line,ie,ae))).setSpots(0,.5,1,1)}),go.Shape.defineFigureGenerator("LogicUnion",function(ye,ie,ae){var fe=.5;return new go.Geometry().add(new go.PathFigure(ie,0,!1).add(new go.PathSegment(go.PathSegment.Line,ie,fe*ae)).add(new go.PathSegment(go.PathSegment.Arc,0,180,fe*ie,fe*ae,fe*ie,fe*ae)).add(new go.PathSegment(go.PathSegment.Line,0,0))).setSpots(0,0,1,.5)}),go.Shape.setFigureParameter("Arrow",0,new en("ArrowheadWidth",.3,.01,.99)),go.Shape.setFigureParameter("Arrow",1,new en("TailHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("Arrow",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)&&(fe=.3);var de=ye?ye.parameter2:NaN;isNaN(de)&&(de=.3);var ve=(1-fe)*ie,xe=(.5-de/2)*ae,ce=(.5+de/2)*ae,pe=new go.Geometry,Se=new go.PathFigure(0,xe,!0);pe.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,ve,xe)),Se.add(new go.PathSegment(go.PathSegment.Line,ve,0)),Se.add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)),Se.add(new go.PathSegment(go.PathSegment.Line,ve,ae)),Se.add(new go.PathSegment(go.PathSegment.Line,ve,ce)),Se.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),pe.spot1=new go.Spot(0,xe/ae);var Le=Ue(0,ce/ae,1,ce/ae,ve/ie,1,1,.5,Ge());return pe.spot2=new go.Spot(Le.x,Le.y),tt(Le),pe}),go.Shape.setFigureParameter("Arrow2",0,new en("ArrowheadWidth",30)),go.Shape.setFigureParameter("Arrow2",0,new en("TailHeight",30)),go.Shape.defineFigureGenerator("Arrow2",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)&&(fe=30),fe>ie&&(fe=ie);var de=ye?ye.parameter2:NaN;isNaN(de)&&(de=30),de=Math.min(de,ae/2);var ve=ie-fe,xe=(ae-de)/2,ce=xe+de,pe=new go.Geometry,Se=new go.PathFigure(0,xe,!0);pe.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,ve,xe)),Se.add(new go.PathSegment(go.PathSegment.Line,ve,0)),Se.add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)),Se.add(new go.PathSegment(go.PathSegment.Line,ve,ae)),Se.add(new go.PathSegment(go.PathSegment.Line,ve,ce)),Se.add(new go.PathSegment(go.PathSegment.Line,0,ce).close()),pe.spot1=new go.Spot(0,xe/ae);var Le=Ue(0,ce/ae,1,ce/ae,ve/ie,1,1,.5,Ge());return pe.spot2=new go.Spot(Le.x,Le.y),tt(Le),pe}),go.Shape.defineFigureGenerator("Chevron",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.5*ae).close()),fe}),go.Shape.defineFigureGenerator("DoubleArrow",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.3*ie,.214*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.3*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,1*ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.3*ie,1*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.3*ie,.786*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,1*ae).close()),fe}),go.Shape.setFigureParameter("DoubleEndArrow",0,new en("ConnecterHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("DoubleEndArrow",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)&&(fe=.3);var de=(.5-fe/2)*ae,ve=(.5+fe/2)*ae,xe=new go.Geometry,ce=new go.PathFigure(ie,.5*ae,!0);xe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.7*ie,ae)),ce.add(new go.PathSegment(go.PathSegment.Line,.7*ie,ve)),ce.add(new go.PathSegment(go.PathSegment.Line,.3*ie,ve)),ce.add(new go.PathSegment(go.PathSegment.Line,.3*ie,ae)),ce.add(new go.PathSegment(go.PathSegment.Line,0,.5*ae)),ce.add(new go.PathSegment(go.PathSegment.Line,.3*ie,0)),ce.add(new go.PathSegment(go.PathSegment.Line,.3*ie,de)),ce.add(new go.PathSegment(go.PathSegment.Line,.7*ie,de)),ce.add(new go.PathSegment(go.PathSegment.Line,.7*ie,0).close());var pe=Ue(0,.5,.3,0,0,de/ae,.1,de/ae,Ge());return xe.spot1=new go.Spot(pe.x,pe.y),pe=Ue(.7,1,1,.5,0,ve/ae,1,ve/ae,pe),xe.spot2=new go.Spot(pe.x,pe.y),tt(pe),xe}),go.Shape.setFigureParameter("DoubleEndArrow2",0,new en("ConnecterHeight",40)),go.Shape.setFigureParameter("DoubleEndArrow2",1,new en("ArrowHeight",100)),go.Shape.defineFigureGenerator("DoubleEndArrow2",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)&&(fe=40);var de=ye?ye.parameter2:NaN;isNaN(de)&&(de=100);var ve=(ae-fe)/2,xe=ve+fe,ce=(ae-de)/2,pe=ce+de;(fe>ae||de>ae)&&(de>fe?(fe=fe*ae/de,ve=(ae-fe)/2,xe=ve+fe,ce=0,pe=ae):(ve=0,xe=ae,ce=0,pe=ae));var Se=new go.Geometry,Le=new go.PathFigure(ie,.5*ae,!0);Se.add(Le),Le.add(new go.PathSegment(go.PathSegment.Line,.7*ie,pe)),Le.add(new go.PathSegment(go.PathSegment.Line,.7*ie,xe)),Le.add(new go.PathSegment(go.PathSegment.Line,.3*ie,xe)),Le.add(new go.PathSegment(go.PathSegment.Line,.3*ie,pe)),Le.add(new go.PathSegment(go.PathSegment.Line,0,.5*ae)),Le.add(new go.PathSegment(go.PathSegment.Line,.3*ie,ce)),Le.add(new go.PathSegment(go.PathSegment.Line,.3*ie,ve)),Le.add(new go.PathSegment(go.PathSegment.Line,.7*ie,ve)),Le.add(new go.PathSegment(go.PathSegment.Line,.7*ie,ce).close());var ze=Ue(0,.5,.3,ce/ae,0,ve/ae,1,ve/ae,Ge());return Se.spot1=new go.Spot(ze.x,ze.y),ze=Ue(.7,pe/ae,1,.5,0,xe/ae,1,xe/ae,ze),Se.spot2=new go.Spot(ze.x,ze.y),tt(ze),Se}),go.Shape.setFigureParameter("IBeamArrow",0,new en("ConnectorHeight",.7,.51,.97)),go.Shape.defineFigureGenerator("IBeamArrow",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)&&(fe=.3);var de=(.5-fe/2)*ae,ve=(.5+fe/2)*ae,xe=new go.Geometry,ce=new go.PathFigure(ie,.5*ae,!0);xe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.7*ie,ae)),ce.add(new go.PathSegment(go.PathSegment.Line,.7*ie,ve)),ce.add(new go.PathSegment(go.PathSegment.Line,.2*ie,ve)),ce.add(new go.PathSegment(go.PathSegment.Line,.2*ie,ae)),ce.add(new go.PathSegment(go.PathSegment.Line,0,ae)),ce.add(new go.PathSegment(go.PathSegment.Line,0,0)),ce.add(new go.PathSegment(go.PathSegment.Line,.2*ie,0)),ce.add(new go.PathSegment(go.PathSegment.Line,.2*ie,de)),ce.add(new go.PathSegment(go.PathSegment.Line,.7*ie,de)),ce.add(new go.PathSegment(go.PathSegment.Line,.7*ie,0).close()),xe.spot1=new go.Spot(0,de/ae);var pe=Ue(.7,1,1,.5,0,ve/ae,1,ve/ae,Ge());return xe.spot2=new go.Spot(pe.x,pe.y),tt(pe),xe}),go.Shape.setFigureParameter("IBeamArrow2",0,new en("ConnectorHeight",40)),go.Shape.setFigureParameter("IBeamArrow2",1,new en("BeamArrowHeight",100)),go.Shape.defineFigureGenerator("IBeamArrow2",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)&&(fe=40);var de=ye?ye.parameter2:NaN;isNaN(de)&&(de=100);var ve=(ae-fe)/2,xe=ve+fe,ce=(ae-de)/2,pe=ce+de;(fe>ae||de>ae)&&(de>fe?(fe=fe*ae/de,ve=(ae-fe)/2,xe=ve+fe,ce=0,pe=ae):(ve=0,xe=ae,ce=0,pe=ae));var Se=new go.Geometry,Le=new go.PathFigure(ie,.5*ae,!0);Se.add(Le),Le.add(new go.PathSegment(go.PathSegment.Line,.7*ie,pe)),Le.add(new go.PathSegment(go.PathSegment.Line,.7*ie,xe)),Le.add(new go.PathSegment(go.PathSegment.Line,.2*ie,xe)),Le.add(new go.PathSegment(go.PathSegment.Line,.2*ie,pe)),Le.add(new go.PathSegment(go.PathSegment.Line,0,pe)),Le.add(new go.PathSegment(go.PathSegment.Line,0,ce)),Le.add(new go.PathSegment(go.PathSegment.Line,.2*ie,ce)),Le.add(new go.PathSegment(go.PathSegment.Line,.2*ie,ve)),Le.add(new go.PathSegment(go.PathSegment.Line,.7*ie,ve)),Le.add(new go.PathSegment(go.PathSegment.Line,.7*ie,ce).close()),Se.spot1=new go.Spot(0,ve/ae);var ze=Ue(.7,pe/ae,1,.5,0,xe/ae,1,xe/ae,Ge());return Se.spot2=new go.Spot(ze.x,ze.y),tt(ze),Se}),go.Shape.setFigureParameter("Pointer",0,new en("BackPoint",.1,0,.2)),go.Shape.defineFigureGenerator("Pointer",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)&&(fe=.1);var de=new go.Geometry,ve=new go.PathFigure(ie,.5*ae,!0);de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,0,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,fe*ie,.5*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,0).close()),de.spot1=new go.Spot(fe,.35);var xe=Ue(.2,.65,1,.65,0,1,1,.5,Ge());return de.spot2=new go.Spot(xe.x,xe.y),tt(xe),de}),go.Shape.setFigureParameter("RoundedPointer",0,new en("RoundedEdge",.3,0,.5)),go.Shape.defineFigureGenerator("RoundedPointer",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)&&(fe=.3);var de=new go.Geometry,ve=new go.PathFigure(ie,.5*ae,!0);de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,0,ae)),ve.add(new go.PathSegment(go.PathSegment.Bezier,0,0,fe*ie,.75*ae,fe*ie,.25*ae).close()),de.spot1=new go.Spot(fe,.35);var xe=Ue(0,.65,1,.65,0,1,1,.5,Ge());return de.spot2=new go.Spot(xe.x,xe.y),tt(xe),de}),go.Shape.setFigureParameter("SplitEndArrow",0,new en("TailHeight",.4,.01,.99)),go.Shape.defineFigureGenerator("SplitEndArrow",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)&&(fe=.4);var de=(.5-fe/2)*ae,ve=(.5+fe/2)*ae,xe=new go.Geometry,ce=new go.PathFigure(ie,.5*ae,!0);xe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.7*ie,ae)),ce.add(new go.PathSegment(go.PathSegment.Line,.7*ie,ve)),ce.add(new go.PathSegment(go.PathSegment.Line,0,ve)),ce.add(new go.PathSegment(go.PathSegment.Line,.2*ie,.5*ae)),ce.add(new go.PathSegment(go.PathSegment.Line,0,de)),ce.add(new go.PathSegment(go.PathSegment.Line,.7*ie,de)),ce.add(new go.PathSegment(go.PathSegment.Line,.7*ie,0).close()),xe.spot1=new go.Spot(.2,.3);var pe=Ue(.7,1,1,.5,0,ve/ae,1,ve/ae,Ge());return xe.spot2=new go.Spot(pe.x,pe.y),tt(pe),xe}),go.Shape.setFigureParameter("SplitEndArrow2",0,new en("TailThickness",50)),go.Shape.defineFigureGenerator("SplitEndArrow2",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)&&(fe=50);var de=(ae-fe)/2,ve=de+fe;fe>ae&&(de=0,ve=ae);var xe=new go.Geometry,ce=new go.PathFigure(ie,.5*ae,!0);xe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.7*ie,ae)),ce.add(new go.PathSegment(go.PathSegment.Line,.7*ie,ve)),ce.add(new go.PathSegment(go.PathSegment.Line,0,ve)),ce.add(new go.PathSegment(go.PathSegment.Line,.2*ie,.5*ae)),ce.add(new go.PathSegment(go.PathSegment.Line,0,de)),ce.add(new go.PathSegment(go.PathSegment.Line,.7*ie,de)),ce.add(new go.PathSegment(go.PathSegment.Line,.7*ie,0).close()),xe.spot1=new go.Spot(.2,de/ae);var pe=Ue(.7,1,1,.5,0,ve/ae,1,ve/ae,Ge());return xe.spot2=new go.Spot(pe.x,pe.y),tt(pe),xe}),go.Shape.setFigureParameter("SquareArrow",0,new en("ArrowPoint",.7,.2,.9)),go.Shape.defineFigureGenerator("SquareArrow",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)&&(fe=.7);var de=new go.Geometry,ve=new go.PathFigure(ie,.5*ae,!0);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,fe*ie,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,0)),ve.add(new go.PathSegment(go.PathSegment.Line,fe*ie,0).close()),de.spot1=go.Spot.TopLeft,de.spot2=new go.Spot(fe,1),de}),go.Shape.defineFigureGenerator("Cone1",function(ye,ie,ae){var fe=new go.Geometry,de=we*.5,ve=we*.1,xe=new go.PathFigure(0,.9*ae,!0);return fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,.5*ie,0)),xe.add(new go.PathSegment(go.PathSegment.Line,ie,.9*ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,ae,ie,(.9+ve)*ae,(.5+de)*ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ae,(.5-de)*ie,ae,0,(.9+ve)*ae).close()),fe.spot1=new go.Spot(.25,.5),fe.spot2=new go.Spot(.75,.97),fe}),go.Shape.defineFigureGenerator("Cone2",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,.9*ae,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Bezier,ie,.9*ae,(1-.85/.9)*ie,ae,.85/.9*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,0,.9*ae).close());var ve=new go.PathFigure(0,.9*ae,!1);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Bezier,ie,.9*ae,(1-.85/.9)*ie,.8*ae,.85/.9*ie,.8*ae)),fe.spot1=new go.Spot(.25,.5),fe.spot2=new go.Spot(.75,.82),fe}),go.Shape.defineFigureGenerator("Cube1",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.5*ie,ae,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie,.85*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.15*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,0,.15*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.85*ae).close());var ve=new go.PathFigure(.5*ie,ae,!1);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.3*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,.15*ae)),ve.add(new go.PathSegment(go.PathSegment.Move,.5*ie,.3*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,.15*ae)),fe.spot1=new go.Spot(0,.3),fe.spot2=new go.Spot(.5,.85),fe}),go.Shape.defineFigureGenerator("Cube2",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,.3*ae,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.7*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.7*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.3*ie,0).close());var ve=new go.PathFigure(0,.3*ae,!1);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.7*ie,.3*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,0)),ve.add(new go.PathSegment(go.PathSegment.Move,.7*ie,.3*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.7*ie,ae)),fe.spot1=new go.Spot(0,.3),fe.spot2=new go.Spot(.7,1),fe}),go.Shape.defineFigureGenerator("Cylinder1",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)&&(fe=5),fe=Math.min(fe,ae/3);var de=new go.Geometry,ve=we*.5,xe=new go.PathFigure(0,fe,!0);de.add(xe),xe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,0,0,we*fe,(.5-ve)*ie,0)),xe.add(new go.PathSegment(go.PathSegment.Bezier,1*ie,fe,(.5+ve)*ie,0,1*ie,we*fe)),xe.add(new go.PathSegment(go.PathSegment.Line,ie,ae-fe)),xe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,1*ae,1*ie,ae-we*fe,(.5+ve)*ie,1*ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,0,ae-fe,(.5-ve)*ie,1*ae,0,ae-we*fe)),xe.add(new go.PathSegment(go.PathSegment.Line,0,fe));var ce=new go.PathFigure(ie,fe,!1);return de.add(ce),ce.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,2*fe,1*ie,2*fe-we*fe,(.5+ve)*ie,2*fe)),ce.add(new go.PathSegment(go.PathSegment.Bezier,0,fe,(.5-ve)*ie,2*fe,0,2*fe-we*fe)),de.spot1=new go.Spot(0,0,0,2*fe),de.spot2=new go.Spot(1,1),de}),go.Shape.defineFigureGenerator("Cylinder2",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)&&(fe=5),fe=Math.min(fe,ae/3);var de=new go.Geometry,ve=we*.5,xe=new go.PathFigure(0,ae-fe,!0);de.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,0,fe)),xe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,0,0,we*fe,(.5-ve)*ie,0)),xe.add(new go.PathSegment(go.PathSegment.Bezier,ie,fe,(.5+ve)*ie,0,ie,we*fe)),xe.add(new go.PathSegment(go.PathSegment.Line,ie,ae-fe)),xe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,ae,ie,ae-we*fe,(.5+ve)*ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,0,ae-fe,(.5-ve)*ie,ae,0,ae-we*fe));var ce=new go.PathFigure(0,ae-fe,!1);return de.add(ce),ce.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,ae-2*fe,0,ae-fe-we*fe,(.5-ve)*ie,ae-2*fe)),ce.add(new go.PathSegment(go.PathSegment.Bezier,ie,ae-fe,(.5+ve)*ie,ae-2*fe,ie,ae-fe-we*fe)),de.spot1=new go.Spot(0,0),de.spot2=new go.Spot(1,1,0,-2*fe),de}),go.Shape.defineFigureGenerator("Cylinder3",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)&&(fe=5),fe=Math.min(fe,ie/3);var de=new go.Geometry,ve=we*.5,xe=new go.PathFigure(fe,0,!0);de.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,ie-fe,0)),xe.add(new go.PathSegment(go.PathSegment.Bezier,ie,.5*ae,ie-we*fe,0,ie,(.5-ve)*ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,ie-fe,ae,ie,(.5+ve)*ae,ie-we*fe,ae)),xe.add(new go.PathSegment(go.PathSegment.Line,fe,ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ae,we*fe,ae,0,(.5+ve)*ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,fe,0,0,(.5-ve)*ae,we*fe,0));var ce=new go.PathFigure(fe,0,!1);return de.add(ce),ce.add(new go.PathSegment(go.PathSegment.Bezier,2*fe,.5*ae,fe+we*fe,0,2*fe,(.5-ve)*ae)),ce.add(new go.PathSegment(go.PathSegment.Bezier,fe,ae,2*fe,(.5+ve)*ae,fe+we*fe,ae)),de.spot1=new go.Spot(0,0,2*fe,0),de.spot2=new go.Spot(1,1),de}),go.Shape.defineFigureGenerator("Cylinder4",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)&&(fe=5),fe=Math.min(fe,ie/3);var de=new go.Geometry,ve=we*.5,xe=new go.PathFigure(ie-fe,0,!0);de.add(xe),xe.add(new go.PathSegment(go.PathSegment.Bezier,ie,.5*ae,ie-we*fe,0,ie,(.5-ve)*ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,ie-fe,ae,ie,(.5+ve)*ae,ie-we*fe,ae)),xe.add(new go.PathSegment(go.PathSegment.Line,fe,ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ae,we*fe,ae,0,(.5+ve)*ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,fe,0,0,(.5-ve)*ae,we*fe,0)),xe.add(new go.PathSegment(go.PathSegment.Line,ie-fe,0));var ce=new go.PathFigure(ie-fe,0,!1);return de.add(ce),ce.add(new go.PathSegment(go.PathSegment.Bezier,ie-2*fe,.5*ae,ie-fe-we*fe,0,ie-2*fe,(.5-ve)*ae)),ce.add(new go.PathSegment(go.PathSegment.Bezier,ie-fe,ae,ie-2*fe,(.5+ve)*ae,ie-fe-we*fe,ae)),de.spot1=new go.Spot(0,0),de.spot2=new go.Spot(1,1,-2*fe,0),de}),go.Shape.defineFigureGenerator("Prism1",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.25*ie,.25*ae,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.75*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae).close());var ve=new go.PathFigure(.25*ie,.25*ae,!1);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae)),fe.spot1=new go.Spot(.408,.172),fe.spot2=new go.Spot(.833,.662),fe}),go.Shape.defineFigureGenerator("Prism2",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,.25*ae,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.75*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.25*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.75*ie,.75*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae).close());var ve=new go.PathFigure(0,ae,!1);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.25*ie,.5*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,.25*ae)),ve.add(new go.PathSegment(go.PathSegment.Move,0,.25*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.25*ie,.5*ae)),fe.spot1=new go.Spot(.25,.5),fe.spot2=new go.Spot(.75,.75),fe}),go.Shape.defineFigureGenerator("Pyramid1",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.5*ie,0,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie,.75*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.75*ae).close());var ve=new go.PathFigure(.5*ie,0,!1);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae)),fe.spot1=new go.Spot(.25,.367),fe.spot2=new go.Spot(.75,.875),fe}),go.Shape.defineFigureGenerator("Pyramid2",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.5*ie,0,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie,.85*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.85*ae).close());var ve=new go.PathFigure(.5*ie,0,!1);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.7*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,.85*ae)),ve.add(new go.PathSegment(go.PathSegment.Move,.5*ie,.7*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,.85*ae)),fe.spot1=new go.Spot(.25,.367),fe.spot2=new go.Spot(.75,.875),fe}),go.Shape.defineFigureGenerator("Actor",function(ye,ie,ae){var fe=new go.Geometry,de=.2,ve=.1,xe=we*de,ce=we*ve,pe=.5,Se=.1,Le=new go.PathFigure(pe*ie,(Se+ve)*ae,!0);fe.add(Le),Le.add(new go.PathSegment(go.PathSegment.Bezier,(pe-de)*ie,Se*ae,(pe-xe)*ie,(Se+ve)*ae,(pe-de)*ie,(Se+ce)*ae)),Le.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie,(Se-ve)*ae,(pe-de)*ie,(Se-ce)*ae,(pe-xe)*ie,(Se-ve)*ae)),Le.add(new go.PathSegment(go.PathSegment.Bezier,(pe+de)*ie,Se*ae,(pe+xe)*ie,(Se-ve)*ae,(pe+de)*ie,(Se-ce)*ae)),Le.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie,(Se+ve)*ae,(pe+de)*ie,(Se+ce)*ae,(pe+xe)*ie,(Se+ve)*ae));var ze=.05,Ze=we*ze;pe=.05,Se=.25;var Ve=new go.PathFigure(.5*ie,.2*ae,!0);return fe.add(Ve),Ve.add(new go.PathSegment(go.PathSegment.Line,.95*ie,.2*ae)),pe=.95,Se=.25,Ve.add(new go.PathSegment(go.PathSegment.Bezier,(pe+ze)*ie,Se*ae,(pe+Ze)*ie,(Se-ze)*ae,(pe+ze)*ie,(Se-Ze)*ae)),Ve.add(new go.PathSegment(go.PathSegment.Line,ie,.6*ae)),Ve.add(new go.PathSegment(go.PathSegment.Line,.85*ie,.6*ae)),Ve.add(new go.PathSegment(go.PathSegment.Line,.85*ie,.35*ae)),ze=.025,Ze=we*ze,pe=.825,Se=.35,Ve.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie,(Se-ze)*ae,(pe+ze)*ie,(Se-Ze)*ae,(pe+Ze)*ie,(Se-ze)*ae)),Ve.add(new go.PathSegment(go.PathSegment.Bezier,(pe-ze)*ie,Se*ae,(pe-Ze)*ie,(Se-ze)*ae,(pe-ze)*ie,(Se-Ze)*ae)),Ve.add(new go.PathSegment(go.PathSegment.Line,.8*ie,ae)),Ve.add(new go.PathSegment(go.PathSegment.Line,.55*ie,ae)),Ve.add(new go.PathSegment(go.PathSegment.Line,.55*ie,.7*ae)),ze=.05,Ze=we*ze,pe=.5,Se=.7,Ve.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie,(Se-ze)*ae,(pe+ze)*ie,(Se-Ze)*ae,(pe+Ze)*ie,(Se-ze)*ae)),Ve.add(new go.PathSegment(go.PathSegment.Bezier,(pe-ze)*ie,Se*ae,(pe-Ze)*ie,(Se-ze)*ae,(pe-ze)*ie,(Se-Ze)*ae)),Ve.add(new go.PathSegment(go.PathSegment.Line,.45*ie,ae)),Ve.add(new go.PathSegment(go.PathSegment.Line,.2*ie,ae)),Ve.add(new go.PathSegment(go.PathSegment.Line,.2*ie,.35*ae)),ze=.025,Ze=we*ze,pe=.175,Se=.35,Ve.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie,(Se-ze)*ae,(pe+ze)*ie,(Se-Ze)*ae,(pe+Ze)*ie,(Se-ze)*ae)),Ve.add(new go.PathSegment(go.PathSegment.Bezier,(pe-ze)*ie,Se*ae,(pe-Ze)*ie,(Se-ze)*ae,(pe-ze)*ie,(Se-Ze)*ae)),Ve.add(new go.PathSegment(go.PathSegment.Line,.15*ie,.6*ae)),Ve.add(new go.PathSegment(go.PathSegment.Line,0,.6*ae)),Ve.add(new go.PathSegment(go.PathSegment.Line,0,.25*ae)),ze=.05,Ze=we*ze,pe=.05,Se=.25,Ve.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie,(Se-ze)*ae,(pe-ze)*ie,(Se-Ze)*ae,(pe-Ze)*ie,(Se-ze)*ae)),Ve.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.2*ae)),fe.spot1=new go.Spot(.2,.2),fe.spot2=new go.Spot(.8,.65),fe}),go.Shape.setFigureParameter("Card",0,new en("CornerCutoutSize",.2,.1,.9)),go.Shape.defineFigureGenerator("Card",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;isNaN(fe)&&(fe=.2);var de=new go.Geometry,ve=new go.PathFigure(ie,0,!0);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,fe*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,fe*ie,0).close()),de.spot1=new go.Spot(0,fe),de.spot2=go.Spot.BottomRight,de}),go.Shape.defineFigureGenerator("Collate",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.5*ie,.5*ae,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.5*ae));var ve=new go.PathFigure(.5*ie,.5*ae,!0);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.5*ae)),fe.spot1=new go.Spot(.25,0),fe.spot2=new go.Spot(.75,.25),fe}),go.Shape.defineFigureGenerator("CreateRequest",function(ye,ie,ae){var fe=new go.Geometry,de=ye?ye.parameter1:NaN;isNaN(de)&&(de=.1);var ve=new go.PathFigure(0,0,!0);fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie,0)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,ae).close());var xe=new go.PathFigure(0,de*ae,!1);return fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,ie,de*ae)),xe.add(new go.PathSegment(go.PathSegment.Move,0,(1-de)*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,ie,(1-de)*ae)),fe}),go.Shape.defineFigureGenerator("Database",function(ye,ie,ae){var fe=new go.Geometry,de=we*.5,ve=we*.1,xe=new go.PathFigure(ie,.1*ae,!0);fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,ie,.9*ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,ae,ie,(.9+ve)*ae,(.5+de)*ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ae,(.5-de)*ie,ae,0,(.9+ve)*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,0,.1*ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,0,0,(.1-ve)*ae,(.5-de)*ie,0)),xe.add(new go.PathSegment(go.PathSegment.Bezier,ie,.1*ae,(.5+de)*ie,0,ie,(.1-ve)*ae));var ce=new go.PathFigure(ie,.1*ae,!1);return fe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,.2*ae,ie,(.1+ve)*ae,(.5+de)*ie,.2*ae)),ce.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*ae,(.5-de)*ie,.2*ae,0,(.1+ve)*ae)),ce.add(new go.PathSegment(go.PathSegment.Move,ie,.2*ae)),ce.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,.3*ae,ie,(.2+ve)*ae,(.5+de)*ie,.3*ae)),ce.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*ae,(.5-de)*ie,.3*ae,0,(.2+ve)*ae)),ce.add(new go.PathSegment(go.PathSegment.Move,ie,.3*ae)),ce.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,.4*ae,ie,(.3+ve)*ae,(.5+de)*ie,.4*ae)),ce.add(new go.PathSegment(go.PathSegment.Bezier,0,.3*ae,(.5-de)*ie,.4*ae,0,(.3+ve)*ae)),fe.spot1=new go.Spot(0,.4),fe.spot2=new go.Spot(1,.9),fe}),go.Shape.defineFigureGenerator("DataStorage",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.75*ie,0)),de.add(new go.PathSegment(go.PathSegment.Bezier,.75*ie,ae,ie,0,ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*ie,.9*ae,.25*ie,.1*ae).close()),fe.spot1=new go.Spot(.226,0),fe.spot2=new go.Spot(.81,1),fe}),go.Shape.defineFigureGenerator("DiskStorage",function(ye,ie,ae){var fe=new go.Geometry,de=we*.5,ve=we*.1,xe=new go.PathFigure(ie,.1*ae,!0);fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,ie,.9*ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,ae,ie,(.9+ve)*ae,(.5+de)*ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ae,(.5-de)*ie,ae,0,(.9+ve)*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,0,.1*ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,0,0,(.1-ve)*ae,(.5-de)*ie,0)),xe.add(new go.PathSegment(go.PathSegment.Bezier,ie,.1*ae,(.5+de)*ie,0,ie,(.1-ve)*ae));var ce=new go.PathFigure(ie,.1*ae,!1);return fe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,.2*ae,ie,(.1+ve)*ae,(.5+de)*ie,.2*ae)),ce.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*ae,(.5-de)*ie,.2*ae,0,(.1+ve)*ae)),ce.add(new go.PathSegment(go.PathSegment.Move,ie,.2*ae)),ce.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,.3*ae,ie,(.2+ve)*ae,(.5+de)*ie,.3*ae)),ce.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*ae,(.5-de)*ie,.3*ae,0,(.2+ve)*ae)),fe.spot1=new go.Spot(0,.3),fe.spot2=new go.Spot(1,.9),fe}),go.Shape.defineFigureGenerator("Display",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.25*ie,0,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.75*ie,0)),de.add(new go.PathSegment(go.PathSegment.Bezier,.75*ie,ae,ie,0,ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.25*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.5*ae).close()),fe.spot1=new go.Spot(.25,0),fe.spot2=new go.Spot(.75,1),fe}),go.Shape.defineFigureGenerator("DividedEvent",function(ye,ie,ae){var fe=new go.Geometry,de=ye?ye.parameter1:NaN;isNaN(de)?de=.2:de<.15&&(de=.15);var ve=we*.2,xe=new go.PathFigure(0,.2*ae,!0);fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Bezier,.2*ie,0,0,(.2-ve)*ae,(.2-ve)*ie,0)),xe.add(new go.PathSegment(go.PathSegment.Line,.8*ie,0)),xe.add(new go.PathSegment(go.PathSegment.Bezier,ie,.2*ae,(.8+ve)*ie,0,ie,(.2-ve)*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,ie,.8*ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,.8*ie,ae,ie,(.8+ve)*ae,(.8+ve)*ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.2*ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,0,.8*ae,(.2-ve)*ie,ae,0,(.8+ve)*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,0,.2*ae));var ce=new go.PathFigure(0,de*ae,!1);return fe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ie,de*ae)),fe}),go.Shape.defineFigureGenerator("DividedProcess",function(ye,ie,ae){var fe=new go.Geometry,de=ye?ye.parameter1:NaN;(isNaN(de)||de<.1)&&(de=.1);var ve=new go.PathFigure(0,0,!0);fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie,0)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,ae).close());var xe=new go.PathFigure(0,de*ae,!1);return fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,ie,de*ae)),fe}),go.Shape.defineFigureGenerator("Document",function(ye,ie,ae){var fe=new go.Geometry;ae=ae/.8;var de=new go.PathFigure(0,.7*ae,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.7*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ae,.5*ie,.4*ae,.5*ie,ae).close()),fe.spot1=go.Spot.TopLeft,fe.spot2=new go.Spot(1,.6),fe}),go.Shape.defineFigureGenerator("ExternalOrganization",function(ye,ie,ae){var fe=new go.Geometry,de=ye?ye.parameter1:NaN;(isNaN(de)||de<.2)&&(de=.2);var ve=new go.PathFigure(0,0,!0);fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie,0)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,ae).close());var xe=new go.PathFigure(de*ie,0,!1);return fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,0,de*ae)),xe.add(new go.PathSegment(go.PathSegment.Move,ie,de*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,(1-de)*ie,0)),xe.add(new go.PathSegment(go.PathSegment.Move,0,(1-de)*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,de*ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Move,(1-de)*ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Line,ie,(1-de)*ae)),fe}),go.Shape.defineFigureGenerator("ExternalProcess",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.5*ie,0,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.5*ae).close());var ve=new go.PathFigure(.1*ie,.4*ae,!1);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.1*ie,.6*ae)),ve.add(new go.PathSegment(go.PathSegment.Move,.9*ie,.6*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.9*ie,.4*ae)),ve.add(new go.PathSegment(go.PathSegment.Move,.6*ie,.1*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.4*ie,.1*ae)),ve.add(new go.PathSegment(go.PathSegment.Move,.4*ie,.9*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.6*ie,.9*ae)),fe.spot1=new go.Spot(.25,.25),fe.spot2=new go.Spot(.75,.75),fe}),go.Shape.defineFigureGenerator("File",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.75*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.25*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae).close());var ve=new go.PathFigure(.75*ie,0,!1);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.75*ie,.25*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,.25*ae)),fe.spot1=new go.Spot(0,.25),fe.spot2=go.Spot.BottomRight,fe}),go.Shape.defineFigureGenerator("Interrupt",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(ie,.5*ae,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae));var ve=new go.PathFigure(ie,.5*ae,!1);fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie,ae));var xe=new go.PathFigure(ie,.5*ae,!1);return fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,ie,0)),fe.spot1=new go.Spot(0,.25),fe.spot2=new go.Spot(.5,.75),fe}),go.Shape.defineFigureGenerator("InternalStorage",function(ye,ie,ae){var fe=new go.Geometry,de=ye?ye.parameter1:NaN,ve=ye?ye.parameter2:NaN;isNaN(de)&&(de=.1),isNaN(ve)&&(ve=.1);var xe=new go.PathFigure(0,0,!0);fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,ie,0)),xe.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Line,0,ae).close());var ce=new go.PathFigure(de*ie,0,!1);return fe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,de*ie,ae)),ce.add(new go.PathSegment(go.PathSegment.Move,0,ve*ae)),ce.add(new go.PathSegment(go.PathSegment.Line,ie,ve*ae)),fe}),go.Shape.defineFigureGenerator("Junction",function(ye,ie,ae){var fe=new go.Geometry,de=1/Math.SQRT2,ve=(1-1/Math.SQRT2)/2,xe=we*.5,ce=.5,pe=new go.PathFigure(ie,ce*ae,!0);fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,ce*ie,ae,ie,(ce+xe)*ae,(ce+xe)*ie,ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,0,ce*ae,(ce-xe)*ie,ae,0,(ce+xe)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,ce*ie,0,0,(ce-xe)*ae,(ce-xe)*ie,0)),pe.add(new go.PathSegment(go.PathSegment.Bezier,ie,ce*ae,(ce+xe)*ie,0,ie,(ce-xe)*ae));var Se=new go.PathFigure((ve+de)*ie,(ve+de)*ae,!1);return fe.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,ve*ie,ve*ae)),Se.add(new go.PathSegment(go.PathSegment.Move,ve*ie,(ve+de)*ae)),Se.add(new go.PathSegment(go.PathSegment.Line,(ve+de)*ie,ve*ae)),fe}),go.Shape.defineFigureGenerator("LinedDocument",function(ye,ie,ae){var fe=new go.Geometry;ae=ae/.8;var de=new go.PathFigure(0,.7*ae,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.7*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ae,.5*ie,.4*ae,.5*ie,ae).close());var ve=new go.PathFigure(.1*ie,0,!1);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.1*ie,.75*ae)),fe.spot1=new go.Spot(.1,0),fe.spot2=new go.Spot(1,.6),fe}),go.Shape.defineFigureGenerator("LoopLimit",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,ae,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,.25*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.25*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.75*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.25*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae).close()),fe.spot1=new go.Spot(0,.25),fe.spot2=go.Spot.BottomRight,fe}),go.Shape.defineFigureGenerator("MagneticTape",function(ye,ie,ae){var fe=new go.Geometry,de=we*.5,ve=.5,xe=new go.PathFigure(.5*ie,ae,!0);return fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Bezier,0,ve*ae,(ve-de)*ie,ae,0,(ve+de)*ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,ve*ie,0,0,(ve-de)*ae,(ve-de)*ie,0)),xe.add(new go.PathSegment(go.PathSegment.Bezier,ie,ve*ae,(ve+de)*ie,0,ie,(ve-de)*ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,(ve+.1)*ie,.9*ae,ie,(ve+de)*ae,(ve+de)*ie,.9*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,ie,.9*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae)),fe.spot1=new go.Spot(.15,.15),fe.spot2=new go.Spot(.85,.8),fe}),go.Shape.defineFigureGenerator("ManualInput",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(ie,0,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.25*ae).close()),fe.spot1=new go.Spot(0,.25),fe.spot2=go.Spot.BottomRight,fe}),go.Shape.defineFigureGenerator("MessageFromUser",function(ye,ie,ae){var fe=new go.Geometry,de=ye?ye.parameter1:NaN;isNaN(de)&&(de=.7);var ve=new go.PathFigure(0,0,!0);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie,0)),ve.add(new go.PathSegment(go.PathSegment.Line,de*ie,.5*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,ae).close()),fe.spot1=go.Spot.TopLeft,fe}),go.Shape.defineFigureGenerator("MicroformProcessing",function(ye,ie,ae){var fe=new go.Geometry,de=ye?ye.parameter1:NaN;isNaN(de)&&(de=.25);var ve=new go.PathFigure(0,0,!0);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.5*ie,de*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,0)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.5*ie,(1-de)*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,ae).close()),fe}),go.Shape.defineFigureGenerator("MicroformRecording",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.75*ie,.25*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.15*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.85*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.75*ie,.75*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae).close()),fe.spot1=new go.Spot(0,.25),fe.spot2=new go.Spot(1,.75),fe}),go.Shape.defineFigureGenerator("MultiDocument",function(ye,ie,ae){var fe=new go.Geometry;ae=ae/.8;var de=new go.PathFigure(ie,0,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.9*ie,.44*ae,.96*ie,.47*ae,.93*ie,.45*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.9*ie,.6*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.8*ie,.54*ae,.86*ie,.57*ae,.83*ie,.55*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.7*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ae,.4*ie,.4*ae,.4*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.2*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.1*ie,.2*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.1*ie,.1*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.2*ie,.1*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.2*ie,0).close());var ve=new go.PathFigure(.1*ie,.2*ae,!1);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.2*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.54*ae)),ve.add(new go.PathSegment(go.PathSegment.Move,.2*ie,.1*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.9*ie,.1*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.9*ie,.44*ae)),fe.spot1=new go.Spot(0,.25),fe.spot2=new go.Spot(.8,.77),fe}),go.Shape.defineFigureGenerator("MultiProcess",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.1*ie,.1*ae,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.2*ie,.1*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.2*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.9*ie,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.9*ie,.9*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.9*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.8*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.2*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.1*ie,.2*ae).close());var ve=new go.PathFigure(.2*ie,.1*ae,!1);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.9*ie,.1*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.9*ie,.8*ae)),ve.add(new go.PathSegment(go.PathSegment.Move,.1*ie,.2*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.2*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.9*ae)),fe.spot1=new go.Spot(0,.2),fe.spot2=new go.Spot(.8,1),fe}),go.Shape.defineFigureGenerator("OfflineStorage",function(ye,ie,ae){var fe=new go.Geometry,de=ye?ye.parameter1:NaN;isNaN(de)&&(de=.1);var ve=1-de,xe=new go.PathFigure(0,0,!0);fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,ie,0)),xe.add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae).close());var ce=new go.PathFigure(.5*de*ie,de*ae,!1);return fe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,(1-.5*de)*ie,de*ae)),fe}),go.Shape.defineFigureGenerator("OffPageConnector",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.75*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.75*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae).close()),fe.spot1=go.Spot.TopLeft,fe.spot2=new go.Spot(.75,1),fe}),go.Shape.defineFigureGenerator("Or",function(ye,ie,ae){var fe=new go.Geometry,de=we*.5,ve=.5,xe=new go.PathFigure(ie,ve*ae,!0);fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Bezier,ve*ie,ae,ie,(ve+de)*ae,(ve+de)*ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,0,ve*ae,(ve-de)*ie,ae,0,(ve+de)*ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,ve*ie,0,0,(ve-de)*ae,(ve-de)*ie,0)),xe.add(new go.PathSegment(go.PathSegment.Bezier,ie,ve*ae,(ve+de)*ie,0,ie,(ve-de)*ae));var ce=new go.PathFigure(ie,.5*ae,!1);return fe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,0,.5*ae)),ce.add(new go.PathSegment(go.PathSegment.Move,.5*ie,ae)),ce.add(new go.PathSegment(go.PathSegment.Line,.5*ie,0)),fe}),go.Shape.defineFigureGenerator("PaperTape",function(ye,ie,ae){var fe=new go.Geometry;ae=ae/.8;var de=new go.PathFigure(0,.7*ae,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,.3*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,ie,.3*ae,.5*ie,.6*ae,.5*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.7*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ae,.5*ie,.4*ae,.5*ie,ae).close()),fe.spot1=new go.Spot(0,.49),fe.spot2=new go.Spot(1,.75),fe}),go.Shape.defineFigureGenerator("PrimitiveFromCall",function(ye,ie,ae){var fe=new go.Geometry,de=ye?ye.parameter1:NaN,ve=ye?ye.parameter2:NaN;isNaN(de)&&(de=.1),isNaN(ve)&&(ve=.3);var xe=new go.PathFigure(0,0,!0);return fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,ie,0)),xe.add(new go.PathSegment(go.PathSegment.Line,(1-ve)*ie,.5*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Line,0,ae).close()),fe}),go.Shape.defineFigureGenerator("PrimitiveToCall",function(ye,ie,ae){var fe=new go.Geometry,de=ye?ye.parameter1:NaN,ve=ye?ye.parameter2:NaN;isNaN(de)&&(de=.1),isNaN(ve)&&(ve=.3);var xe=new go.PathFigure(0,0,!0);return fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,(1-ve)*ie,0)),xe.add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,(1-ve)*ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Line,0,ae).close()),fe}),go.Shape.defineFigureGenerator("Procedure",function(ye,ie,ae){var fe=new go.Geometry,de=ye?ye.parameter1:NaN;isNaN(de)&&(de=.1);var ve=new go.PathFigure(0,0,!0);fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie,0)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,ae).close());var xe=new go.PathFigure((1-de)*ie,0,!1);return fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,(1-de)*ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Move,de*ie,0)),xe.add(new go.PathSegment(go.PathSegment.Line,de*ie,ae)),fe}),go.Shape.defineFigureGenerator("Process",function(ye,ie,ae){var fe=new go.Geometry,de=ye?ye.parameter1:NaN;isNaN(de)&&(de=.1);var ve=new go.PathFigure(0,0,!0);fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie,0)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,ae).close());var xe=new go.PathFigure(de*ie,0,!1);return fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,de*ie,ae)),fe.spot2=go.Spot.BottomRight,fe}),go.Shape.defineFigureGenerator("Sort",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.5*ie,0,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.5*ae).close());var ve=new go.PathFigure(0,.5*ae,!1);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)),fe.spot1=new go.Spot(.25,.25),fe.spot2=new go.Spot(.75,.5),fe}),go.Shape.defineFigureGenerator("Start",function(ye,ie,ae){var fe=new go.Geometry,de=ye?ye.parameter1:NaN;isNaN(de)&&(de=.25);var ve=new go.PathFigure(de*ie,0,!0);fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*ie,.5*ae,.25*ie,.5*ae)),ve.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*ie,.5*ae,.25*ie,.5*ae));var xe=new go.PathFigure(de*ie,0,!1);return fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,de*ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Move,(1-de)*ie,0)),xe.add(new go.PathSegment(go.PathSegment.Line,(1-de)*ie,ae)),fe.spot1=new go.Spot(de,0),fe.spot2=new go.Spot(1-de,1),fe}),go.Shape.defineFigureGenerator("Terminator",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.25*ie,0,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*ie,.5*ae,.25*ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*ie,.5*ae,.25*ie,.5*ae)),fe.spot1=new go.Spot(.23,0),fe.spot2=new go.Spot(.77,1),fe}),go.Shape.defineFigureGenerator("TransmittalTape",function(ye,ie,ae){var fe=new go.Geometry,de=ye?ye.parameter1:NaN;isNaN(de)&&(de=.1);var ve=new go.PathFigure(0,0,!0);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie,0)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.75*ie,(1-de)*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,(1-de)*ae).close()),fe.spot1=go.Spot.TopLeft,fe}),go.Shape.defineFigureGenerator("AndGate",function(ye,ie,ae){var fe=new go.Geometry,de=we*.5,ve=new go.PathFigure(0,0,!0);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.5*ie,0)),ve.add(new go.PathSegment(go.PathSegment.Bezier,ie,.5*ae,(.5+de)*ie,0,ie,(.5-de)*ae)),ve.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,ae,ie,(.5+de)*ae,(.5+de)*ie,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,ae).close()),fe.spot1=go.Spot.TopLeft,fe.spot2=new go.Spot(.55,1),fe}),go.Shape.defineFigureGenerator("Buffer",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae).close()),fe.spot1=new go.Spot(0,.25),fe.spot2=new go.Spot(.5,.75),fe}),go.Shape.defineFigureGenerator("Clock",function(ye,ie,ae){var fe=new go.Geometry,de=we*.5,ve=.5,xe=new go.PathFigure(ie,ve*ae,!0);fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Bezier,ve*ie,ae,ie,(ve+de)*ae,(ve+de)*ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,0,ve*ae,(ve-de)*ie,ae,0,(ve+de)*ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,ve*ie,0,0,(ve-de)*ae,(ve-de)*ie,0)),xe.add(new go.PathSegment(go.PathSegment.Bezier,ie,ve*ae,(ve+de)*ie,0,ie,(ve-de)*ae));var ce=new go.PathFigure(ie,ve*ae,!1);fe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ie,ve*ae));var pe=new go.PathFigure(.8*ie,.75*ae,!1);return fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.25*ae)),pe.add(new go.PathSegment(go.PathSegment.Line,.6*ie,.25*ae)),pe.add(new go.PathSegment(go.PathSegment.Line,.6*ie,.75*ae)),pe.add(new go.PathSegment(go.PathSegment.Line,.4*ie,.75*ae)),pe.add(new go.PathSegment(go.PathSegment.Line,.4*ie,.25*ae)),pe.add(new go.PathSegment(go.PathSegment.Line,.2*ie,.25*ae)),pe.add(new go.PathSegment(go.PathSegment.Line,.2*ie,.75*ae)),fe}),go.Shape.defineFigureGenerator("Ground",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.5*ie,0,!1);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.4*ae)),de.add(new go.PathSegment(go.PathSegment.Move,.2*ie,.6*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.6*ae)),de.add(new go.PathSegment(go.PathSegment.Move,.3*ie,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.7*ie,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Move,.4*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.6*ie,ae)),fe}),go.Shape.defineFigureGenerator("Inverter",function(ye,ie,ae){var fe=new go.Geometry,de=we*.1,ve=.1,xe=.9,ce=.5,pe=new go.PathFigure(.8*ie,.5*ae,!0);fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Line,0,ae)),pe.add(new go.PathSegment(go.PathSegment.Line,0,0)),pe.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.5*ae));var Se=new go.PathFigure((xe+ve)*ie,ce*ae,!0);return fe.add(Se),Se.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce+ve)*ae,(xe+ve)*ie,(ce+de)*ae,(xe+de)*ie,(ce+ve)*ae)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(xe-ve)*ie,ce*ae,(xe-de)*ie,(ce+ve)*ae,(xe-ve)*ie,(ce+de)*ae)),Se.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce-ve)*ae,(xe-ve)*ie,(ce-de)*ae,(xe-de)*ie,(ce-ve)*ae)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(xe+ve)*ie,ce*ae,(xe+de)*ie,(ce-ve)*ae,(xe+ve)*ie,(ce-de)*ae)),fe.spot1=new go.Spot(0,.25),fe.spot2=new go.Spot(.4,.75),fe}),go.Shape.defineFigureGenerator("NandGate",function(ye,ie,ae){var fe=new go.Geometry,de=we*.5,ve=we*.4,xe=we*.1,ce=.1,pe=.9,Se=.5,Le=new go.PathFigure(.8*ie,.5*ae,!0);fe.add(Le),Le.add(new go.PathSegment(go.PathSegment.Bezier,.4*ie,ae,.8*ie,(.5+ve)*ae,(.4+de)*ie,ae)),Le.add(new go.PathSegment(go.PathSegment.Line,0,ae)),Le.add(new go.PathSegment(go.PathSegment.Line,0,0)),Le.add(new go.PathSegment(go.PathSegment.Line,.4*ie,0)),Le.add(new go.PathSegment(go.PathSegment.Bezier,.8*ie,.5*ae,(.4+de)*ie,0,.8*ie,(.5-ve)*ae));var ze=new go.PathFigure((pe+ce)*ie,Se*ae,!0);return fe.add(ze),ze.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie,(Se+ce)*ae,(pe+ce)*ie,(Se+xe)*ae,(pe+xe)*ie,(Se+ce)*ae)),ze.add(new go.PathSegment(go.PathSegment.Bezier,(pe-ce)*ie,Se*ae,(pe-xe)*ie,(Se+ce)*ae,(pe-ce)*ie,(Se+xe)*ae)),ze.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie,(Se-ce)*ae,(pe-ce)*ie,(Se-xe)*ae,(pe-xe)*ie,(Se-ce)*ae)),ze.add(new go.PathSegment(go.PathSegment.Bezier,(pe+ce)*ie,Se*ae,(pe+xe)*ie,(Se-ce)*ae,(pe+ce)*ie,(Se-xe)*ae)),fe.spot1=new go.Spot(0,.05),fe.spot2=new go.Spot(.55,.95),fe}),go.Shape.defineFigureGenerator("NorGate",function(ye,ie,ae){var fe=new go.Geometry,de=.5,ve=we*de,xe=0,ce=.5,pe=new go.PathFigure(.8*ie,.5*ae,!0);fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,0,ae,.7*ie,(ce+ve)*ae,(xe+ve)*ie,(ce+de)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*ie,.75*ae,.25*ie,.25*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,.8*ie,.5*ae,(xe+ve)*ie,(ce-de)*ae,.7*ie,(ce-ve)*ae)),de=.1,ve=we*.1,xe=.9,ce=.5;var Se=new go.PathFigure((xe-de)*ie,ce*ae,!0);return fe.add(Se),Se.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce-de)*ae,(xe-de)*ie,(ce-ve)*ae,(xe-ve)*ie,(ce-de)*ae)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(xe+de)*ie,ce*ae,(xe+ve)*ie,(ce-de)*ae,(xe+de)*ie,(ce-ve)*ae)),Se.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce+de)*ae,(xe+de)*ie,(ce+ve)*ae,(xe+ve)*ie,(ce+de)*ae)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(xe-de)*ie,ce*ae,(xe-ve)*ie,(ce+de)*ae,(xe-de)*ie,(ce+ve)*ae)),fe.spot1=new go.Spot(.2,.25),fe.spot2=new go.Spot(.6,.75),fe}),go.Shape.defineFigureGenerator("OrGate",function(ye,ie,ae){var fe=new go.Geometry,de=.5,ve=we*de,xe=0,ce=.5,pe=new go.PathFigure(0,0,!0);return fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,ie,.5*ae,(xe+ve+ve)*ie,(ce-de)*ae,.8*ie,(ce-ve)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,0,ae,.8*ie,(ce+ve)*ae,(xe+ve+ve)*ie,(ce+de)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*ie,.75*ae,.25*ie,.25*ae).close()),fe.spot1=new go.Spot(.2,.25),fe.spot2=new go.Spot(.75,.75),fe}),go.Shape.defineFigureGenerator("XnorGate",function(ye,ie,ae){var fe=new go.Geometry,de=.5,ve=we*de,xe=.2,ce=.5,pe=new go.PathFigure(.1*ie,0,!1);fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,.1*ie,ae,.35*ie,.25*ae,.35*ie,.75*ae));var Se=new go.PathFigure(.8*ie,.5*ae,!0);fe.add(Se),Se.add(new go.PathSegment(go.PathSegment.Bezier,.2*ie,ae,.7*ie,(ce+ve)*ae,(xe+ve)*ie,(ce+de)*ae)),Se.add(new go.PathSegment(go.PathSegment.Bezier,.2*ie,0,.45*ie,.75*ae,.45*ie,.25*ae)),Se.add(new go.PathSegment(go.PathSegment.Bezier,.8*ie,.5*ae,(xe+ve)*ie,(ce-de)*ae,.7*ie,(ce-ve)*ae)),de=.1,ve=we*.1,xe=.9,ce=.5;var Le=new go.PathFigure((xe-de)*ie,ce*ae,!0);return fe.add(Le),Le.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce-de)*ae,(xe-de)*ie,(ce-ve)*ae,(xe-ve)*ie,(ce-de)*ae)),Le.add(new go.PathSegment(go.PathSegment.Bezier,(xe+de)*ie,ce*ae,(xe+ve)*ie,(ce-de)*ae,(xe+de)*ie,(ce-ve)*ae)),Le.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce+de)*ae,(xe+de)*ie,(ce+ve)*ae,(xe+ve)*ie,(ce+de)*ae)),Le.add(new go.PathSegment(go.PathSegment.Bezier,(xe-de)*ie,ce*ae,(xe-ve)*ie,(ce+de)*ae,(xe-de)*ie,(ce+ve)*ae)),fe.spot1=new go.Spot(.4,.25),fe.spot2=new go.Spot(.65,.75),fe}),go.Shape.defineFigureGenerator("XorGate",function(ye,ie,ae){var fe=new go.Geometry,de=.5,ve=we*de,xe=.2,ce=.5,pe=new go.PathFigure(.1*ie,0,!1);fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,.1*ie,ae,.35*ie,.25*ae,.35*ie,.75*ae));var Se=new go.PathFigure(.2*ie,0,!0);return fe.add(Se),Se.add(new go.PathSegment(go.PathSegment.Bezier,ie,.5*ae,(xe+ve)*ie,(ce-de)*ae,.9*ie,(ce-ve)*ae)),Se.add(new go.PathSegment(go.PathSegment.Bezier,.2*ie,ae,.9*ie,(ce+ve)*ae,(xe+ve)*ie,(ce+de)*ae)),Se.add(new go.PathSegment(go.PathSegment.Bezier,.2*ie,0,.45*ie,.75*ae,.45*ie,.25*ae).close()),fe.spot1=new go.Spot(.4,.25),fe.spot2=new go.Spot(.8,.75),fe}),go.Shape.defineFigureGenerator("Capacitor",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!1);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,ae)),de.add(new go.PathSegment(go.PathSegment.Move,ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),fe}),go.Shape.defineFigureGenerator("Resistor",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,.5*ae,!1);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.1*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.2*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.3*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.4*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.6*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.7*ie,.5*ae)),fe}),go.Shape.defineFigureGenerator("Inductor",function(ye,ie,ae){var fe=new go.Geometry,de=we*.1,ve=.1,xe=.1,ce=.5,pe=new go.PathFigure((xe-de*.5)*ie,ae,!1);return fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,(xe+ve)*ie,0,(xe-de)*ie,ae,(xe-ve)*ie,0)),xe=.3,pe.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,ae,(xe+ve)*ie,0,(xe+de)*ie,ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(xe+ve)*ie,0,(xe-de)*ie,ae,(xe-ve)*ie,0)),xe=.5,pe.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,ae,(xe+ve)*ie,0,(xe+de)*ie,ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(xe+ve)*ie,0,(xe-de)*ie,ae,(xe-ve)*ie,0)),xe=.7,pe.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,ae,(xe+ve)*ie,0,(xe+de)*ie,ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(xe+ve)*ie,0,(xe-de)*ie,ae,(xe-ve)*ie,0)),xe=.9,pe.add(new go.PathSegment(go.PathSegment.Bezier,(xe+de*.5)*ie,ae,(xe+ve)*ie,0,(xe+de)*ie,ae)),fe}),go.Shape.defineFigureGenerator("ACvoltageSource",function(ye,ie,ae){var fe=new go.Geometry,de=we*.5,ve=.5,xe=.5,ce=.5,pe=new go.PathFigure((xe-ve)*ie,ce*ae,!1);return fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce-ve)*ae,(xe-ve)*ie,(ce-de)*ae,(xe-de)*ie,(ce-ve)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(xe+ve)*ie,ce*ae,(xe+de)*ie,(ce-ve)*ae,(xe+ve)*ie,(ce-de)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce+ve)*ae,(xe+ve)*ie,(ce+de)*ae,(xe+de)*ie,(ce+ve)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(xe-ve)*ie,ce*ae,(xe-de)*ie,(ce+ve)*ae,(xe-ve)*ie,(ce+de)*ae)),pe.add(new go.PathSegment(go.PathSegment.Move,(xe-ve+.1)*ie,ce*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(xe+ve-.1)*ie,ce*ae,xe*ie,(ce-ve)*ae,xe*ie,(ce+ve)*ae)),fe}),go.Shape.defineFigureGenerator("DCvoltageSource",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,.75*ae,!1);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,.25*ae)),de.add(new go.PathSegment(go.PathSegment.Move,ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),fe}),go.Shape.defineFigureGenerator("Diode",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(ie,0,!1);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),fe.spot1=new go.Spot(0,.25),fe.spot2=new go.Spot(.5,.75),fe}),go.Shape.defineFigureGenerator("Wifi",function(ye,ie,ae){var fe=new go.Geometry,de=ie,ve=ae;ie=ie*.38,ae=ae*.6;var xe=we*.8,ce=.8,pe=0,Se=.5,Le=(de-ie)/2,ze=(ve-ae)/2,Ze=new go.PathFigure(pe*ie+Le,(Se+ce)*ae+ze,!0);fe.add(Ze),Ze.add(new go.PathSegment(go.PathSegment.Bezier,(pe-ce)*ie+Le,Se*ae+ze,(pe-xe)*ie+Le,(Se+ce)*ae+ze,(pe-ce)*ie+Le,(Se+xe)*ae+ze)),Ze.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie+Le,(Se-ce)*ae+ze,(pe-ce)*ie+Le,(Se-xe)*ae+ze,(pe-xe)*ie+Le,(Se-ce)*ae+ze)),Ze.add(new go.PathSegment(go.PathSegment.Bezier,(pe-ce+xe*.5)*ie+Le,Se*ae+ze,pe*ie+Le,(Se-ce)*ae+ze,(pe-ce+xe*.5)*ie+Le,(Se-xe)*ae+ze)),Ze.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie+Le,(Se+ce)*ae+ze,(pe-ce+xe*.5)*ie+Le,(Se+xe)*ae+ze,pe*ie+Le,(Se+ce)*ae+ze).close()),xe=we*.4,ce=.4,pe=.2,Se=.5;var Ve=new go.PathFigure(pe*ie+Le,(Se+ce)*ae+ze,!0);fe.add(Ve),Ve.add(new go.PathSegment(go.PathSegment.Bezier,(pe-ce)*ie+Le,Se*ae+ze,(pe-xe)*ie+Le,(Se+ce)*ae+ze,(pe-ce)*ie+Le,(Se+xe)*ae+ze)),Ve.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie+Le,(Se-ce)*ae+ze,(pe-ce)*ie+Le,(Se-xe)*ae+ze,(pe-xe)*ie+Le,(Se-ce)*ae+ze)),Ve.add(new go.PathSegment(go.PathSegment.Bezier,(pe-ce+xe*.5)*ie+Le,Se*ae+ze,pe*ie+Le,(Se-ce)*ae+ze,(pe-ce+xe*.5)*ie+Le,(Se-xe)*ae+ze)),Ve.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie+Le,(Se+ce)*ae+ze,(pe-ce+xe*.5)*ie+Le,(Se+xe)*ae+ze,pe*ie+Le,(Se+ce)*ae+ze).close()),xe=we*.2,ce=.2,pe=.5,Se=.5;var Qe=new go.PathFigure((pe-ce)*ie+Le,Se*ae+ze,!0);fe.add(Qe),Qe.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie+Le,(Se-ce)*ae+ze,(pe-ce)*ie+Le,(Se-xe)*ae+ze,(pe-xe)*ie+Le,(Se-ce)*ae+ze)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,(pe+ce)*ie+Le,Se*ae+ze,(pe+xe)*ie+Le,(Se-ce)*ae+ze,(pe+ce)*ie+Le,(Se-xe)*ae+ze)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie+Le,(Se+ce)*ae+ze,(pe+ce)*ie+Le,(Se+xe)*ae+ze,(pe+xe)*ie+Le,(Se+ce)*ae+ze)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,(pe-ce)*ie+Le,Se*ae+ze,(pe-xe)*ie+Le,(Se+ce)*ae+ze,(pe-ce)*ie+Le,(Se+xe)*ae+ze)),xe=we*.4,ce=.4,pe=.8,Se=.5;var $e=new go.PathFigure(pe*ie+Le,(Se-ce)*ae+ze,!0);fe.add($e),$e.add(new go.PathSegment(go.PathSegment.Bezier,(pe+ce)*ie+Le,Se*ae+ze,(pe+xe)*ie+Le,(Se-ce)*ae+ze,(pe+ce)*ie+Le,(Se-xe)*ae+ze)),$e.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie+Le,(Se+ce)*ae+ze,(pe+ce)*ie+Le,(Se+xe)*ae+ze,(pe+xe)*ie+Le,(Se+ce)*ae+ze)),$e.add(new go.PathSegment(go.PathSegment.Bezier,(pe+ce-xe*.5)*ie+Le,Se*ae+ze,pe*ie+Le,(Se+ce)*ae+ze,(pe+ce-xe*.5)*ie+Le,(Se+xe)*ae+ze)),$e.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie+Le,(Se-ce)*ae+ze,(pe+ce-xe*.5)*ie+Le,(Se-xe)*ae+ze,pe*ie+Le,(Se-ce)*ae+ze).close()),xe=we*.8,ce=.8,pe=1,Se=.5;var gt=new go.PathFigure(pe*ie+Le,(Se-ce)*ae+ze,!0);return fe.add(gt),gt.add(new go.PathSegment(go.PathSegment.Bezier,(pe+ce)*ie+Le,Se*ae+ze,(pe+xe)*ie+Le,(Se-ce)*ae+ze,(pe+ce)*ie+Le,(Se-xe)*ae+ze)),gt.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie+Le,(Se+ce)*ae+ze,(pe+ce)*ie+Le,(Se+xe)*ae+ze,(pe+xe)*ie+Le,(Se+ce)*ae+ze)),gt.add(new go.PathSegment(go.PathSegment.Bezier,(pe+ce-xe*.5)*ie+Le,Se*ae+ze,pe*ie+Le,(Se+ce)*ae+ze,(pe+ce-xe*.5)*ie+Le,(Se+xe)*ae+ze)),gt.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie+Le,(Se-ce)*ae+ze,(pe+ce-xe*.5)*ie+Le,(Se-xe)*ae+ze,pe*ie+Le,(Se-ce)*ae+ze).close()),fe}),go.Shape.defineFigureGenerator("Email",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var ve=new go.PathFigure(0,0,!1);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.6*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,0)),ve.add(new go.PathSegment(go.PathSegment.Move,0,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.45*ie,.54*ae)),ve.add(new go.PathSegment(go.PathSegment.Move,ie,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.55*ie,.54*ae)),fe}),go.Shape.defineFigureGenerator("Ethernet",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.35*ie,0,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.65*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.65*ie,.4*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.35*ie,.4*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.35*ie,0).close());var ve=new go.PathFigure(.1*ie,ae,!0,!0);fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.4*ie,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.4*ie,.6*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.1*ie,.6*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.1*ie,ae).close());var xe=new go.PathFigure(.6*ie,ae,!0,!0);fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,.9*ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.9*ie,.6*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.6*ie,.6*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.6*ie,ae).close());var ce=new go.PathFigure(0,.5*ae,!1);return fe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)),ce.add(new go.PathSegment(go.PathSegment.Move,.5*ie,.5*ae)),ce.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.4*ae)),ce.add(new go.PathSegment(go.PathSegment.Move,.75*ie,.5*ae)),ce.add(new go.PathSegment(go.PathSegment.Line,.75*ie,.6*ae)),ce.add(new go.PathSegment(go.PathSegment.Move,.25*ie,.5*ae)),ce.add(new go.PathSegment(go.PathSegment.Line,.25*ie,.6*ae)),fe}),go.Shape.defineFigureGenerator("Power",function(ye,ie,ae){var fe=new go.Geometry,de=we*.4,ve=.4,xe=.5,ce=.5,pe=Ge(),Se=Ge(),Le=Ge(),ze=Ge();Ne(xe,ce-ve,xe+de,ce-ve,xe+ve,ce-de,xe+ve,ce,.5,pe,pe,Se,Le,ze);var Ze=Oe(Se.x,Se.y),Ve=new go.PathFigure(Se.x*ie,Se.y*ae,!0);fe.add(Ve),Ve.add(new go.PathSegment(go.PathSegment.Bezier,(xe+ve)*ie,ce*ae,Le.x*ie,Le.y*ae,ze.x*ie,ze.y*ae)),Ve.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce+ve)*ae,(xe+ve)*ie,(ce+de)*ae,(xe+de)*ie,(ce+ve)*ae)),Ve.add(new go.PathSegment(go.PathSegment.Bezier,(xe-ve)*ie,ce*ae,(xe-de)*ie,(ce+ve)*ae,(xe-ve)*ie,(ce+de)*ae)),Ne(xe-ve,ce,xe-ve,ce-de,xe-de,ce-ve,xe,ce-ve,.5,Le,ze,Se,pe,pe),Ve.add(new go.PathSegment(go.PathSegment.Bezier,Se.x*ie,Se.y*ae,Le.x*ie,Le.y*ae,ze.x*ie,ze.y*ae)),de=we*.3,ve=.3,Ne(xe-ve,ce,xe-ve,ce-de,xe-de,ce-ve,xe,ce-ve,.5,Le,ze,Se,pe,pe),Ve.add(new go.PathSegment(go.PathSegment.Line,Se.x*ie,Se.y*ae)),Ve.add(new go.PathSegment(go.PathSegment.Bezier,(xe-ve)*ie,ce*ae,ze.x*ie,ze.y*ae,Le.x*ie,Le.y*ae)),Ve.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce+ve)*ae,(xe-ve)*ie,(ce+de)*ae,(xe-de)*ie,(ce+ve)*ae)),Ve.add(new go.PathSegment(go.PathSegment.Bezier,(xe+ve)*ie,ce*ae,(xe+de)*ie,(ce+ve)*ae,(xe+ve)*ie,(ce+de)*ae)),Ne(xe,ce-ve,xe+de,ce-ve,xe+ve,ce-de,xe+ve,ce,.5,pe,pe,Se,Le,ze),Ve.add(new go.PathSegment(go.PathSegment.Bezier,Se.x*ie,Se.y*ae,ze.x*ie,ze.y*ae,Le.x*ie,Le.y*ae).close());var Ve=new go.PathFigure(.45*ie,0,!0);return fe.add(Ve),Ve.add(new go.PathSegment(go.PathSegment.Line,.45*ie,.5*ae)),Ve.add(new go.PathSegment(go.PathSegment.Line,.55*ie,.5*ae)),Ve.add(new go.PathSegment(go.PathSegment.Line,.55*ie,0).close()),tt(pe),tt(Se),tt(Le),tt(ze),tt(Ze),fe.spot1=new go.Spot(.25,.45),fe.spot2=new go.Spot(.75,.8),fe}),go.Shape.defineFigureGenerator("Fallout",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,ae/2,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Arc,180,360,ie/2,ae/2,ie/2,ae/2));function ve(xe,ce,pe){xe.add(new go.PathSegment(go.PathSegment.Move,(.3+ce)*ie,(.8+pe)*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,(.5+ce)*ie,(.5+pe)*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,(.1+ce)*ie,(.5+pe)*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,(.3+ce)*ie,(.8+pe)*ae).close())}return ve(de,0,0),ve(de,.4,0),ve(de,.2,-.3),fe}),go.Shape.defineFigureGenerator("IrritationHazard",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.2*ie,0,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.3*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.8*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.2*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.7*ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.8*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.7*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.2*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.3*ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.2*ae).close()),fe.spot1=new go.Spot(.3,.3),fe.spot2=new go.Spot(.7,.7),fe}),go.Shape.defineFigureGenerator("ElectricalHazard",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.37*ie,0,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.11*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.77*ie,.04*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.33*ie,.49*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.37*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.63*ie,.86*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.77*ie,.91*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.34*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.34*ie,.78*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.44*ie,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.65*ie,.56*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.68*ae).close()),fe}),go.Shape.defineFigureGenerator("FireHazard",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.1*ie,ae,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Bezier,.29*ie,0,-.25*ie,.63*ae,.45*ie,.44*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.51*ie,.42*ae,.48*ie,.17*ae,.54*ie,.35*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.59*ie,.18*ae,.59*ie,.29*ae,.58*ie,.28*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.75*ie,.6*ae,.8*ie,.34*ae,.88*ie,.43*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.88*ie,.31*ae,.87*ie,.48*ae,.88*ie,.43*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.9*ie,ae,1.17*ie,.76*ae,.82*ie,.8*ae).close()),fe.spot1=new go.Spot(.07,.445),fe.spot2=new go.Spot(.884,.958),fe}),go.Shape.defineFigureGenerator("BpmnActivityLoop",function(ye,ie,ae){var fe=new go.Geometry,de=.5,ve=0,xe=0,ce=de*we,pe=.4*Math.SQRT2/2+.5,Se=.5-.5*Math.SQRT2/2,Le=1,ze=.5,Ze=.5,Ve=0,Qe=new go.PathFigure(pe*ie,(1-Se)*ae,!1);return fe.add(Qe),Qe.add(new go.PathSegment(go.PathSegment.Bezier,Le*ie,ze*ae,Le*ie,.7*ae,Le*ie,ze*ae)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,(Ze+ve)*ie,(Ve+ve)*ae,(.5+de+ve)*ie,(.5-ce+ve)*ae,(.5+ce+ve)*ie,(.5-de+ve)*ae)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,(.5-de+ve)*ie,(.5+xe)*ae,(.5-ce+ve)*ie,(.5-de+xe)*ae,(.5-de+ve)*ie,(.5-ce+xe)*ae)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,(.35+ve)*ie,.9*ae,(.5-de+ve)*ie,(.5+ce+xe)*ae,(.5-ce+ve)*ie,.9*ae)),Qe.add(new go.PathSegment(go.PathSegment.Move,(.25+ve)*ie,.8*ae)),Qe.add(new go.PathSegment(go.PathSegment.Line,(.35+ve)*ie,.9*ae)),Qe.add(new go.PathSegment(go.PathSegment.Line,(.2+ve)*ie,.95*ae)),fe}),go.Shape.defineFigureGenerator("BpmnActivityParallel",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!1);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,ae)),de.add(new go.PathSegment(go.PathSegment.Move,.5*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Move,ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),fe}),go.Shape.defineFigureGenerator("BpmnActivitySequential",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!1);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie,0)),de.add(new go.PathSegment(go.PathSegment.Move,0,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Move,0,ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),fe}),go.Shape.defineFigureGenerator("BpmnActivityAdHoc",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!1);fe.add(de);var ve=new go.PathFigure(ie,ae,!1);fe.add(ve);var xe=new go.PathFigure(0,.5*ae,!1);return fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,.5*ae,.2*ie,.35*ae,.3*ie,.35*ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,ie,.5*ae,.7*ie,.65*ae,.8*ie,.65*ae)),fe}),go.Shape.defineFigureGenerator("BpmnActivityCompensation",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,.5*ae,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae).close()),fe}),go.Shape.defineFigureGenerator("BpmnTaskMessage",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,.2*ae,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie,.2*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.8*ae).close());var de=new go.PathFigure(0,.2*ae,!1);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.2*ae)),fe}),go.Shape.defineFigureGenerator("BpmnTaskScript",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.7*ie,ae,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.3*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.3*ie,0,.6*ie,.5*ae,0,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.7*ie,0)),de.add(new go.PathSegment(go.PathSegment.Bezier,.7*ie,ae,.4*ie,.5*ae,ie,.5*ae).close());var ve=new go.PathFigure(.45*ie,.73*ae,!1);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.7*ie,.73*ae)),ve.add(new go.PathSegment(go.PathSegment.Move,.38*ie,.5*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.63*ie,.5*ae)),ve.add(new go.PathSegment(go.PathSegment.Move,.31*ie,.27*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.56*ie,.27*ae)),fe}),go.Shape.defineFigureGenerator("BpmnTaskUser",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!1);fe.add(de);var ve=new go.PathFigure(.335*ie,(1-.555)*ae,!0);fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.335*ie,(1-.405)*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*ie,(1-.405)*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*ie,(1-.555)*ae)),ve.add(new go.PathSegment(go.PathSegment.Bezier,ie,.68*ae,(1-.12)*ie,.46*ae,(1-.02)*ie,.54*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,.68*ae)),ve.add(new go.PathSegment(go.PathSegment.Bezier,.335*ie,(1-.555)*ae,.02*ie,.54*ae,.12*ie,.46*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.365*ie,(1-.595)*ae));var xe=.5-.285,ce=.5,pe=xe,Se=Math.PI/4,Le=4*(1-Math.cos(Se))/(3*Math.sin(Se)),ze=Le*.5,Ze=xe,Ve=xe,Qe=Le*Ze,$e=Le*Ve;ve.add(new go.PathSegment(go.PathSegment.Bezier,(ce-Ze)*ie,pe*ae,(ce-(Qe+Ze)/2)*ie,(pe+(Ve+$e)/2)*ae,(ce-Ze)*ie,(pe+$e)*ae)),ve.add(new go.PathSegment(go.PathSegment.Bezier,ce*ie,(pe-Ve)*ae,(ce-Ze)*ie,(pe-$e)*ae,(ce-Qe)*ie,(pe-Ve)*ae)),ve.add(new go.PathSegment(go.PathSegment.Bezier,(ce+Ze)*ie,pe*ae,(ce+Qe)*ie,(pe-Ve)*ae,(ce+Ze)*ie,(pe-$e)*ae)),ve.add(new go.PathSegment(go.PathSegment.Bezier,(1-.365)*ie,(1-.595)*ae,(ce+Ze)*ie,(pe+$e)*ae,(ce+(Qe+Ze)/2)*ie,(pe+(Ve+$e)/2)*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,(1-.365)*ie,(1-.595)*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*ie,(1-.555)*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*ie,(1-.405)*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.335*ie,(1-.405)*ae));var gt=new go.PathFigure(.2*ie,ae,!1);fe.add(gt),gt.add(new go.PathSegment(go.PathSegment.Line,.2*ie,.8*ae));var lt=new go.PathFigure(.8*ie,ae,!1);return fe.add(lt),lt.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.8*ae)),fe}),go.Shape.defineFigureGenerator("BpmnEventConditional",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.1*ie,0,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.9*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.9*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.1*ie,ae).close());var ve=new go.PathFigure(.2*ie,.2*ae,!1);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.2*ae)),ve.add(new go.PathSegment(go.PathSegment.Move,.2*ie,.4*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.4*ae)),ve.add(new go.PathSegment(go.PathSegment.Move,.2*ie,.6*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.6*ae)),ve.add(new go.PathSegment(go.PathSegment.Move,.2*ie,.8*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.8*ae)),fe}),go.Shape.defineFigureGenerator("BpmnEventError",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,ae,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.33*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.66*ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.66*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.33*ie,.5*ae).close()),fe}),go.Shape.defineFigureGenerator("BpmnEventEscalation",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!1);fe.add(de);var ve=new go.PathFigure(ie,ae,!1);fe.add(ve);var xe=new go.PathFigure(.1*ie,ae,!0);return fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,.5*ie,0)),xe.add(new go.PathSegment(go.PathSegment.Line,.9*ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.5*ae).close()),fe}),go.Shape.defineFigureGenerator("Caution",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.05*ie,ae,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Bezier,.1*ie,.8*ae,0,ae,0,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.45*ie,.1*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.55*ie,.1*ae,.5*ie,0,.5*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.95*ie,.9*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.9*ie,ae,ie,ae,ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.05*ie,ae));var ve=.05;return de.add(new go.PathSegment(go.PathSegment.Move,(.5-ve)*ie,.875*ae)),de.add(new go.PathSegment(go.PathSegment.Arc,180,-360,.5*ie,.875*ae,ve*ie,ve*ae)),de.add(new go.PathSegment(go.PathSegment.Move,.5*ie,.75*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,.325*ae,.575*ie,.725*ae,.625*ie,.375*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,.75*ae,.375*ie,.375*ae,.425*ie,.725*ae)),fe}),go.Shape.defineFigureGenerator("Recycle",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.45*ie,.95*ae,!1);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.2*ie,.95*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.185*ie,.85*ae,.17*ie,.95*ae,.15*ie,.9*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.235*ie,.75*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.3*ie,.625*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.35*ie,.65*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.275*ie,.45*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.05*ie,.45*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.1*ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.05*ie,.575*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.1875*ie,.95*ae,0,.675*ae,0,.7*ae)),de.add(new go.PathSegment(go.PathSegment.Move,.45*ie,.95*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.45*ie,.775*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.22*ie,.775*ae));var ve=new go.PathFigure(.475*ie,.2*ae,!1);fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.4*ie,.4*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.225*ie,.3*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.275*ie,.175*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.325*ie,.05*ae)),ve.add(new go.PathSegment(go.PathSegment.Bezier,.4*ie,.05*ae,.35*ie,0,.375*ie,0)),ve.add(new go.PathSegment(go.PathSegment.Line,.575*ie,.375*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.525*ie,.4*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.75*ie,.475*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.85*ie,.315*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.32*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.65*ie,.05*ae)),ve.add(new go.PathSegment(go.PathSegment.Bezier,.575*ie,0,.65*ie,.05*ae,.625*ie,0)),ve.add(new go.PathSegment(go.PathSegment.Line,.38*ie,.0105*ae));var xe=new go.PathFigure(.675*ie,.575*ae,!1);return fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,.875*ie,.525*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,ie,.775*ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,.85*ie,.95*ae,ie,.8*ae,ie,.85*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.65*ie,.95*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.65*ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.55*ie,.85*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.65*ie,.725*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.65*ie,.775*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.7*ie,.775*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,ie,.775*ae)),xe.add(new go.PathSegment(go.PathSegment.Move,.675*ie,.575*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.775*ie,.775*ae)),fe}),go.Shape.defineFigureGenerator("BpmnEventTimer",function(ye,ie,ae){var fe=new go.Geometry,de=.5,ve=we*.5,xe=new go.PathFigure(ie,de*ae,!0);fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Bezier,de*ie,ae,ie,(de+ve)*ae,(de+ve)*ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,0,de*ae,(de-ve)*ie,ae,0,(de+ve)*ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,de*ie,0,0,(de-ve)*ae,(de-ve)*ie,0)),xe.add(new go.PathSegment(go.PathSegment.Bezier,ie,de*ae,(de+ve)*ie,0,ie,(de-ve)*ae));var ce=new go.PathFigure(de*ie,0,!1);return fe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,de*ie,.15*ae)),ce.add(new go.PathSegment(go.PathSegment.Move,de*ie,ae)),ce.add(new go.PathSegment(go.PathSegment.Line,de*ie,.85*ae)),ce.add(new go.PathSegment(go.PathSegment.Move,0,de*ae)),ce.add(new go.PathSegment(go.PathSegment.Line,.15*ie,de*ae)),ce.add(new go.PathSegment(go.PathSegment.Move,ie,de*ae)),ce.add(new go.PathSegment(go.PathSegment.Line,.85*ie,de*ae)),ce.add(new go.PathSegment(go.PathSegment.Move,de*ie,de*ae)),ce.add(new go.PathSegment(go.PathSegment.Line,.58*ie,.1*ae)),ce.add(new go.PathSegment(go.PathSegment.Move,de*ie,de*ae)),ce.add(new go.PathSegment(go.PathSegment.Line,.78*ie,.54*ae)),fe}),go.Shape.defineFigureGenerator("Package",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,.15*ae,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie,.15*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae).close());var ve=new go.PathFigure(0,.15*ae,!0);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,0,0)),ve.add(new go.PathSegment(go.PathSegment.Line,.6*ie,0)),ve.add(new go.PathSegment(go.PathSegment.Line,.65*ie,.15*ae).close()),fe.spot1=new go.Spot(0,.1),fe.spot2=new go.Spot(1,1),fe}),go.Shape.defineFigureGenerator("Class",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var ve=new go.PathFigure(0,.2*ae,!1);fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie,.2*ae).close());var xe=new go.PathFigure(0,.5*ae,!1);return fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae).close()),fe}),go.Shape.defineFigureGenerator("Component",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(ie,ae,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.15*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.15*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae).close());var ve=new go.PathFigure(0,.2*ae,!0);fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.45*ie,.2*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.45*ie,.4*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,.4*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,.2*ae).close());var xe=new go.PathFigure(0,.6*ae,!0);return fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,.45*ie,.6*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.45*ie,.8*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,0,.8*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,0,.6*ae).close()),fe}),go.Shape.defineFigureGenerator("Boat Shipment",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.15*ie,.6*ae,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.15*ie,.6*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.6*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.15*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.85*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.6*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.85*ie,.6*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.15*ie,.6*ae));var ve=new go.PathFigure(.15*ie,.6*ae,!1);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.85*ie,.6*ae)),fe}),go.Shape.defineFigureGenerator("Customer/Supplier",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(ie,ae,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.66*ie,.33*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.66*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.33*ie,.33*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.33*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,0,.33*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae).close()),fe}),go.Shape.defineFigureGenerator("Workcell",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,ae,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.65*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.65*ie,.4*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.35*ie,.4*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.35*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae).close()),fe}),go.Shape.defineFigureGenerator("Supermarket",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!1);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.33*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.33*ae)),de.add(new go.PathSegment(go.PathSegment.Move,ie,.33*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.66*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.66*ae)),de.add(new go.PathSegment(go.PathSegment.Move,ie,.66*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae)),fe}),go.Shape.defineFigureGenerator("TruckShipment",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.6*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.6*ie,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var ve=new go.PathFigure(ie,.8*ae,!0);fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie,.4*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.6*ie,.4*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.6*ie,.8*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,.8*ae).close());var xe=.1,ce=we*.1,pe=.2,Se=.9,Le=new go.PathFigure((pe-xe)*ie,Se*ae,!0);fe.add(Le),Le.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie,(Se-xe)*ae,(pe-xe)*ie,(Se-ce)*ae,(pe-ce)*ie,(Se-xe)*ae)),Le.add(new go.PathSegment(go.PathSegment.Bezier,(pe+xe)*ie,Se*ae,(pe+ce)*ie,(Se-xe)*ae,(pe+xe)*ie,(Se-ce)*ae)),Le.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie,(Se+xe)*ae,(pe+xe)*ie,(Se+ce)*ae,(pe+ce)*ie,(Se+xe)*ae)),Le.add(new go.PathSegment(go.PathSegment.Bezier,(pe-xe)*ie,Se*ae,(pe-ce)*ie,(Se+xe)*ae,(pe-xe)*ie,(Se+ce)*ae).close()),xe=.1,ce=we*.1,pe=.8,Se=.9;var ze=new go.PathFigure((pe-xe)*ie,Se*ae,!0);return fe.add(ze),ze.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie,(Se-xe)*ae,(pe-xe)*ie,(Se-ce)*ae,(pe-ce)*ie,(Se-xe)*ae)),ze.add(new go.PathSegment(go.PathSegment.Bezier,(pe+xe)*ie,Se*ae,(pe+ce)*ie,(Se-xe)*ae,(pe+xe)*ie,(Se-ce)*ae)),ze.add(new go.PathSegment(go.PathSegment.Bezier,pe*ie,(Se+xe)*ae,(pe+xe)*ie,(Se+ce)*ae,(pe+ce)*ie,(Se+xe)*ae)),ze.add(new go.PathSegment(go.PathSegment.Bezier,(pe-xe)*ie,Se*ae,(pe-ce)*ie,(Se+xe)*ae,(pe-xe)*ie,(Se+ce)*ae).close()),fe}),go.Shape.defineFigureGenerator("KanbanPost",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.2*ie,0,!1);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.2*ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.8*ie,0)),de.add(new go.PathSegment(go.PathSegment.Move,.5*ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.2*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Move,.5*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.8*ie,ae)),fe}),go.Shape.defineFigureGenerator("Forklift",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.4*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,0,0));var ve=new go.PathFigure(0,.5*ae,!0);fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,0,.8*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.8*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.5*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,0,.5*ae));var xe=new go.PathFigure(.5*ie,.8*ae,!0);fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.1*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.55*ie,.1*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.55*ie,.8*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.8*ae));var ce=new go.PathFigure(.5*ie,.7*ae,!1);fe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ie,.7*ae));var pe=.1,Se=we*.1,Le=.1,ze=.9,Ze=new go.PathFigure((Le-pe)*ie,ze*ae,!0);fe.add(Ze),Ze.add(new go.PathSegment(go.PathSegment.Bezier,Le*ie,(ze-pe)*ae,(Le-pe)*ie,(ze-Se)*ae,(Le-Se)*ie,(ze-pe)*ae)),Ze.add(new go.PathSegment(go.PathSegment.Bezier,(Le+pe)*ie,ze*ae,(Le+Se)*ie,(ze-pe)*ae,(Le+pe)*ie,(ze-Se)*ae)),Ze.add(new go.PathSegment(go.PathSegment.Bezier,Le*ie,(ze+pe)*ae,(Le+pe)*ie,(ze+Se)*ae,(Le+Se)*ie,(ze+pe)*ae)),Ze.add(new go.PathSegment(go.PathSegment.Bezier,(Le-pe)*ie,ze*ae,(Le-Se)*ie,(ze+pe)*ae,(Le-pe)*ie,(ze+Se)*ae)),pe=.1,Se=we*.1,Le=.4,ze=.9;var Ve=new go.PathFigure((Le-pe)*ie,ze*ae,!0);return fe.add(Ve),Ve.add(new go.PathSegment(go.PathSegment.Bezier,Le*ie,(ze-pe)*ae,(Le-pe)*ie,(ze-Se)*ae,(Le-Se)*ie,(ze-pe)*ae)),Ve.add(new go.PathSegment(go.PathSegment.Bezier,(Le+pe)*ie,ze*ae,(Le+Se)*ie,(ze-pe)*ae,(Le+pe)*ie,(ze-Se)*ae)),Ve.add(new go.PathSegment(go.PathSegment.Bezier,Le*ie,(ze+pe)*ae,(Le+pe)*ie,(ze+Se)*ae,(Le+Se)*ie,(ze+pe)*ae)),Ve.add(new go.PathSegment(go.PathSegment.Bezier,(Le-pe)*ie,ze*ae,(Le-Se)*ie,(ze+pe)*ae,(Le-pe)*ie,(ze+Se)*ae)),fe}),go.Shape.defineFigureGenerator("RailShipment",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.1*ie,.4*ae,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.45*ie,.4*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.45*ie,.9*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.1*ie,.9*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.1*ie,.4*ae).close());var ve=new go.PathFigure(.45*ie,.7*ae,!1);fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.55*ie,.7*ae));var xe=new go.PathFigure(.55*ie,.4*ae,!0);fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,.9*ie,.4*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.9*ie,.9*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.55*ie,.9*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.55*ie,.4*ae).close());var Le=.05,ze=we*.05,Ze=.175,Ve=.95,ce=new go.PathFigure((Ze-Le)*ie,Ve*ae,!0);fe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Bezier,Ze*ie,(Ve-Le)*ae,(Ze-Le)*ie,(Ve-ze)*ae,(Ze-ze)*ie,(Ve-Le)*ae)),ce.add(new go.PathSegment(go.PathSegment.Bezier,(Ze+Le)*ie,Ve*ae,(Ze+ze)*ie,(Ve-Le)*ae,(Ze+Le)*ie,(Ve-ze)*ae)),ce.add(new go.PathSegment(go.PathSegment.Bezier,Ze*ie,(Ve+Le)*ae,(Ze+Le)*ie,(Ve+ze)*ae,(Ze+ze)*ie,(Ve+Le)*ae)),ce.add(new go.PathSegment(go.PathSegment.Bezier,(Ze-Le)*ie,Ve*ae,(Ze-ze)*ie,(Ve+Le)*ae,(Ze-Le)*ie,(Ve+ze)*ae));var Le=.05,ze=we*.05,Ze=.375,Ve=.95,pe=new go.PathFigure((Ze-Le)*ie,Ve*ae,!0);fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,Ze*ie,(Ve-Le)*ae,(Ze-Le)*ie,(Ve-ze)*ae,(Ze-ze)*ie,(Ve-Le)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(Ze+Le)*ie,Ve*ae,(Ze+ze)*ie,(Ve-Le)*ae,(Ze+Le)*ie,(Ve-ze)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,Ze*ie,(Ve+Le)*ae,(Ze+Le)*ie,(Ve+ze)*ae,(Ze+ze)*ie,(Ve+Le)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(Ze-Le)*ie,Ve*ae,(Ze-ze)*ie,(Ve+Le)*ae,(Ze-Le)*ie,(Ve+ze)*ae));var Le=.05,ze=we*.05,Ze=.625,Ve=.95,Se=new go.PathFigure((Ze-Le)*ie,Ve*ae,!0);fe.add(Se),Se.add(new go.PathSegment(go.PathSegment.Bezier,Ze*ie,(Ve-Le)*ae,(Ze-Le)*ie,(Ve-ze)*ae,(Ze-ze)*ie,(Ve-Le)*ae)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(Ze+Le)*ie,Ve*ae,(Ze+ze)*ie,(Ve-Le)*ae,(Ze+Le)*ie,(Ve-ze)*ae)),Se.add(new go.PathSegment(go.PathSegment.Bezier,Ze*ie,(Ve+Le)*ae,(Ze+Le)*ie,(Ve+ze)*ae,(Ze+ze)*ie,(Ve+Le)*ae)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(Ze-Le)*ie,Ve*ae,(Ze-ze)*ie,(Ve+Le)*ae,(Ze-Le)*ie,(Ve+ze)*ae));var Le=.05,ze=we*.05,Ze=.825,Ve=.95,Qe=new go.PathFigure((Ze-Le)*ie,Ve*ae,!0);fe.add(Qe),Qe.add(new go.PathSegment(go.PathSegment.Bezier,Ze*ie,(Ve-Le)*ae,(Ze-Le)*ie,(Ve-ze)*ae,(Ze-ze)*ie,(Ve-Le)*ae)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,(Ze+Le)*ie,Ve*ae,(Ze+ze)*ie,(Ve-Le)*ae,(Ze+Le)*ie,(Ve-ze)*ae)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,Ze*ie,(Ve+Le)*ae,(Ze+Le)*ie,(Ve+ze)*ae,(Ze+ze)*ie,(Ve+Le)*ae)),Qe.add(new go.PathSegment(go.PathSegment.Bezier,(Ze-Le)*ie,Ve*ae,(Ze-ze)*ie,(Ve+Le)*ae,(Ze-Le)*ie,(Ve+ze)*ae).close());var $e=new go.PathFigure(0,ae,!1);return fe.add($e),$e.add(new go.PathSegment(go.PathSegment.Line,ie,ae).close()),fe}),go.Shape.defineFigureGenerator("Warehouse",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var ve=new go.PathFigure(0,.2*ae,!1);fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie,.2*ae).close());var xe=new go.PathFigure(.15*ie,ae,!0);fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,.15*ie,.5*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.4*ie,.5*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.4*ie,ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.15*ie,ae).close());var ce=.05,pe=we*.05,Se=.35,Le=.775,ze=new go.PathFigure((Se-ce)*ie,Le*ae,!0);return fe.add(ze),ze.add(new go.PathSegment(go.PathSegment.Bezier,Se*ie,(Le-ce)*ae,(Se-ce)*ie,(Le-pe)*ae,(Se-pe)*ie,(Le-ce)*ae)),ze.add(new go.PathSegment(go.PathSegment.Bezier,(Se+ce)*ie,Le*ae,(Se+pe)*ie,(Le-ce)*ae,(Se+ce)*ie,(Le-pe)*ae)),ze.add(new go.PathSegment(go.PathSegment.Bezier,Se*ie,(Le+ce)*ae,(Se+ce)*ie,(Le+pe)*ae,(Se+pe)*ie,(Le+ce)*ae)),ze.add(new go.PathSegment(go.PathSegment.Bezier,(Se-ce)*ie,Le*ae,(Se-pe)*ie,(Le+ce)*ae,(Se-ce)*ie,(Le+pe)*ae).close()),fe}),go.Shape.defineFigureGenerator("ControlCenter",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,ae,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.1*ie,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.1*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.9*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.9*ie,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae)),de.add(new go.PathSegment(go.PathSegment.Move,.1*ie,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.9*ie,.8*ae).close()),fe}),go.Shape.defineFigureGenerator("Bluetooth",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,.75*ae,!1);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,.75*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.25*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.75*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.25*ae)),fe}),go.Shape.defineFigureGenerator("Bookmark",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.6*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,0,0)),de.add(new go.PathSegment(go.PathSegment.Move,.2*ie,.2*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.2*ae)),de.add(new go.PathSegment(go.PathSegment.Move,.2*ie,.4*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.4*ae)),fe}),go.Shape.defineFigureGenerator("Bookmark",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.6*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,0,0)),de.add(new go.PathSegment(go.PathSegment.Move,.2*ie,.2*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.2*ae)),de.add(new go.PathSegment(go.PathSegment.Move,.2*ie,.4*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.4*ae)),fe}),go.Shape.defineFigureGenerator("Globe",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.5*ie,0,!1);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Move,0,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Move,.5*ie,0)),de.add(new go.PathSegment(go.PathSegment.Bezier,ie,.5*ae,.75*ie,0,ie,.25*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,ae,ie,.75*ae,.75*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ae,.25*ie,ae,0,.75*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,0,0,.25*ae,.25*ie,0)),de.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,ae,.15*ie,.25*ae,.15*ie,.75*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,0,.85*ie,.75*ae,.85*ie,.25*ae)),de.add(new go.PathSegment(go.PathSegment.Move,.1675*ie,.15*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.8325*ie,.15*ae,.35*ie,.3*ae,.65*ie,.3*ae)),de.add(new go.PathSegment(go.PathSegment.Move,.1675*ie,.85*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.8325*ie,.85*ae,.35*ie,.7*ae,.65*ie,.7*ae)),fe}),go.Shape.defineFigureGenerator("Wave",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,.25*ae,!1);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Bezier,.3*ie,.25*ae,.1*ie,0,.2*ie,0)),de.add(new go.PathSegment(go.PathSegment.Bezier,.7*ie,.25*ae,.425*ie,.5*ae,.575*ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,ie,.25*ae,.8*ie,0,.9*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.75*ae)),de.add(new go.PathSegment(go.PathSegment.Move,0,.25*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.75*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.3*ie,.75*ae,.1*ie,.5*ae,.2*ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.7*ie,.75*ae,.425*ie,ae,.575*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,ie,.75*ae,.8*ie,.5*ae,.9*ie,.5*ae)),fe}),go.Shape.defineFigureGenerator("Operator",function(ye,ie,ae){var fe=new go.Geometry,de=.3,ve=we*.3,xe=.5,ce=.7,pe=new go.PathFigure((xe-de)*ie,ce*ae,!0);fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce-de)*ae,(xe-de)*ie,(ce-ve)*ae,(xe-ve)*ie,(ce-de)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(xe+de)*ie,ce*ae,(xe+ve)*ie,(ce-de)*ae,(xe+de)*ie,(ce-ve)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce+de)*ae,(xe+de)*ie,(ce+ve)*ae,(xe+ve)*ie,(ce+de)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(xe-de)*ie,ce*ae,(xe-ve)*ie,(ce+de)*ae,(xe-de)*ie,(ce+ve)*ae));var Se=new go.PathFigure(0,.7*ae,!1);return fe.add(Se),Se.add(new go.PathSegment(go.PathSegment.Bezier,ie,.7*ae,0,0,ie,0)),fe}),go.Shape.defineFigureGenerator("TripleFanBlades",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.5*ie,0,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,.65*ae,.65*ie,.3*ae,.65*ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,0,.35*ie,.5*ae,.35*ie,.3*ae)),de.add(new go.PathSegment(go.PathSegment.Move,.5*ie,.65*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,0,ae,.3*ie,.6*ae,.1*ie,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,.65*ae,.2*ie,ae,.35*ie,.95*ae)),de.add(new go.PathSegment(go.PathSegment.Move,.5*ie,.65*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,ie,ae,.7*ie,.6*ae,.9*ie,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,.65*ae,.8*ie,ae,.65*ie,.95*ae)),fe}),go.Shape.defineFigureGenerator("CentrifugalPump",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(ie,0,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.4*ie,0)),de.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ae,0,.075*ae,0,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.4*ie,ae,0,ae,.4*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.8*ie,.4*ae,.8*ie,ae,.85*ie,.6*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.4*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,0)),fe}),go.Shape.defineFigureGenerator("Battery",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,ae,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,.1*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.1*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae)),de.add(new go.PathSegment(go.PathSegment.Move,.4*ie,.1*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.4*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.6*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.6*ie,.1*ae));var ve=new go.PathFigure(0,.6*ae,!1);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Move,0,.4*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,ie,.4*ae)),fe}),go.Shape.defineFigureGenerator("Delete",function(ye,ie,ae){var fe=new go.Geometry,de=.5,ve=we*.5,xe=.5,ce=.5,pe=new go.PathFigure((xe-de)*ie,ce*ae,!0);fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce-de)*ae,(xe-de)*ie,(ce-ve)*ae,(xe-ve)*ie,(ce-de)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(xe+de)*ie,ce*ae,(xe+ve)*ie,(ce-de)*ae,(xe+de)*ie,(ce-ve)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce+de)*ae,(xe+de)*ie,(ce+ve)*ae,(xe+ve)*ie,(ce+de)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(xe-de)*ie,ce*ae,(xe-ve)*ie,(ce+de)*ae,(xe-de)*ie,(ce+ve)*ae));var Se=new go.PathFigure(.15*ie,.5*ae,!1);return fe.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,.85*ie,.5*ae)),fe}),go.Shape.defineFigureGenerator("Flag",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,.1*ae,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,ae)),de.add(new go.PathSegment(go.PathSegment.Move,0,.1*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,.1*ae,.15*ie,0,.35*ie,0)),de.add(new go.PathSegment(go.PathSegment.Bezier,ie,.1*ae,.65*ie,.2*ae,.85*ie,.2*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,.5*ae,.85*ie,.6*ae,.65*ie,.6*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ae,.35*ie,.4*ae,.15*ie,.4*ae).close()),fe}),go.Shape.defineFigureGenerator("Help",function(ye,ie,ae){var fe=new go.Geometry,de=.5,ve=we*.5,xe=.5,ce=.5,pe=new go.PathFigure((xe-de)*ie,ce*ae,!1);fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce-de)*ae,(xe-de)*ie,(ce-ve)*ae,(xe-ve)*ie,(ce-de)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(xe+de)*ie,ce*ae,(xe+ve)*ie,(ce-de)*ae,(xe+de)*ie,(ce-ve)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce+de)*ae,(xe+de)*ie,(ce+ve)*ae,(xe+ve)*ie,(ce+de)*ae)),pe.add(new go.PathSegment(go.PathSegment.Bezier,(xe-de)*ie,ce*ae,(xe-ve)*ie,(ce+de)*ae,(xe-de)*ie,(ce+ve)*ae).close()),de=.05,ve=we*.05,xe=.5,ce=.8;var Se=new go.PathFigure((xe-de)*ie,ce*ae,!1);return fe.add(Se),Se.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce-de)*ae,(xe-de)*ie,(ce-ve)*ae,(xe-ve)*ie,(ce-de)*ae)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(xe+de)*ie,ce*ae,(xe+ve)*ie,(ce-de)*ae,(xe+de)*ie,(ce-ve)*ae)),Se.add(new go.PathSegment(go.PathSegment.Bezier,xe*ie,(ce+de)*ae,(xe+de)*ie,(ce+ve)*ae,(xe+ve)*ie,(ce+de)*ae)),Se.add(new go.PathSegment(go.PathSegment.Bezier,(xe-de)*ie,ce*ae,(xe-ve)*ie,(ce+de)*ae,(xe-de)*ie,(ce+ve)*ae).close()),Se.add(new go.PathSegment(go.PathSegment.Move,.5*ie,.7*ae)),Se.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.5*ae)),Se.add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,.2*ae,.75*ie,.475*ae,.75*ie,.225*ae)),Se.add(new go.PathSegment(go.PathSegment.Bezier,.3*ie,.35*ae,.4*ie,.2*ae,.3*ie,.25*ae)),fe}),go.Shape.defineFigureGenerator("Location",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(.5*ie,ae,!0).add(new go.PathSegment(go.PathSegment.Line,.75*ie,.5*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.5*ie,0,.975*ie,.025*ae,.5*ie,0)).add(new go.PathSegment(go.PathSegment.Bezier,.25*ie,.5*ae,.5*ie,0,.025*ie,.025*ae).close()).add(new go.PathSegment(go.PathSegment.Move,.5*ie,.2*ae)).add(new go.PathSegment(go.PathSegment.Arc,270,360,.5*ie,.3*ae,.1*ie,.1*ae).close()))}),go.Shape.defineFigureGenerator("Lock",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,.5*ae,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.5*ae));var ve=new go.PathFigure(.2*ie,.5*ae,!1);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Move,.2*ie,.5*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.2*ie,.3*ae)),ve.add(new go.PathSegment(go.PathSegment.Bezier,.8*ie,.3*ae,.25*ie,0,.75*ie,0)),ve.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.5*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.3*ae)),fe}),go.Shape.defineFigureGenerator("Unlocked",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,.5*ae,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.5*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.5*ae));var ve=new go.PathFigure(.2*ie,.5*ae,!1);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Move,.2*ie,.5*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.2*ie,.3*ae)),ve.add(new go.PathSegment(go.PathSegment.Bezier,.8*ie,.3*ae,.25*ie,0,.75*ie,0)),ve.add(new go.PathSegment(go.PathSegment.Line,.8*ie,.35*ae)),fe}),go.Shape.defineFigureGenerator("Gear",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(.9375*ie,.56246875*ae,!0).add(new go.PathSegment(go.PathSegment.Line,.9375*ie,.4375*ae)).add(new go.PathSegment(go.PathSegment.Line,.80621875*ie,.4375*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.763*ie,.3316875*ae,.79840625*ie,.39915625*ae,.7834375*ie,.3635*ae)).add(new go.PathSegment(go.PathSegment.Line,.8566875*ie,.23796875*ae)).add(new go.PathSegment(go.PathSegment.Line,.76825*ie,.14959375*ae)).add(new go.PathSegment(go.PathSegment.Line,.67596875*ie,.24184375*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.5625*ie,.19378125*ae,.64228125*ie,.2188125*ae,.603875*ie,.2021875*ae)).add(new go.PathSegment(go.PathSegment.Line,.5625*ie,.0625*ae)).add(new go.PathSegment(go.PathSegment.Line,.4375*ie,.0625*ae)).add(new go.PathSegment(go.PathSegment.Line,.4375*ie,.19378125*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.32775*ie,.239375*ae,.39759375*ie,.20190625*ae,.36053125*ie,.2176875*ae)).add(new go.PathSegment(go.PathSegment.Line,.2379375*ie,.14959375*ae)).add(new go.PathSegment(go.PathSegment.Line,.14953125*ie,.2379375*ae)).add(new go.PathSegment(go.PathSegment.Line,.23934375*ie,.3278125*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.19378125*ie,.4375*ae,.21765625*ie,.36059375*ae,.201875*ie,.397625*ae)).add(new go.PathSegment(go.PathSegment.Line,.0625*ie,.4375*ae)).add(new go.PathSegment(go.PathSegment.Line,.0625*ie,.5625*ae)).add(new go.PathSegment(go.PathSegment.Line,.1938125*ie,.5625*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.241875*ie,.67596875*ae,.20221875*ie,.603875*ae,.21884375*ie,.64228125*ae)).add(new go.PathSegment(go.PathSegment.Line,.1495625*ie,.76825*ae)).add(new go.PathSegment(go.PathSegment.Line,.238*ie,.8566875*ae)).add(new go.PathSegment(go.PathSegment.Line,.3316875*ie,.76296875*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.43753125*ie,.80621875*ae,.36353125*ie,.78340625*ae,.3991875*ie,.79840625*ae)).add(new go.PathSegment(go.PathSegment.Line,.43753125*ie,.9375*ae)).add(new go.PathSegment(go.PathSegment.Line,.5625*ie,.9375*ae)).add(new go.PathSegment(go.PathSegment.Line,.5625*ie,.80621875*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.67225*ie,.760625*ae,.602375*ie,.79809375*ae,.63946875*ie,.78234375*ae)).add(new go.PathSegment(go.PathSegment.Line,.76828125*ie,.8566875*ae)).add(new go.PathSegment(go.PathSegment.Line,.85671875*ie,.76825*ae)).add(new go.PathSegment(go.PathSegment.Line,.76065625*ie,.67221875*ae)).add(new go.PathSegment(go.PathSegment.Bezier,.80621875*ie,.56246875*ae,.78234375*ie,.63940625*ae,.798125*ie,.602375*ae)).add(new go.PathSegment(go.PathSegment.Line,.9375*ie,.56246875*ae).close()).add(new go.PathSegment(go.PathSegment.Move,.5*ie,.6*ae)).add(new go.PathSegment(go.PathSegment.Arc,90,360,.5*ie,.5*ae,.1*ie,.1*ae).close()))}),go.Shape.defineFigureGenerator("Hand",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,.5*ae,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Bezier,.1*ie,.3*ae,0,.375*ae,.05*ie,.325*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.45*ie,.075*ae,.3*ie,.225*ae,.4*ie,.175*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.525*ie,.075*ae,.46*ie,.05*ae,.525*ie,.05*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.3*ie,.4*ae,.525*ie,.275*ae,.475*ie,.325*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.9*ie,.4*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.9*ie,.55*ae,ie,.4*ae,ie,.55*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.425*ie,.55*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.6*ie,.55*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.6*ie,.7*ae,.675*ie,.55*ae,.675*ie,.7*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.4*ie,.7*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.575*ie,.7*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.575*ie,.85*ae,.65*ie,.7*ae,.65*ie,.85*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.4*ie,.85*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.525*ie,.85*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.535*ie,ae,.61*ie,.85*ae,.61*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ae,.435*ie,ae,0,ae).close()),fe}),go.Shape.defineFigureGenerator("Map",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,.2*ae,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.25*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.2*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.75*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,ie,.2*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.75*ie,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,.25*ie,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae).close()),de.add(new go.PathSegment(go.PathSegment.Move,.25*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.25*ie,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Move,.5*ie,.2*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae)),de.add(new go.PathSegment(go.PathSegment.Move,.75*ie,0)),de.add(new go.PathSegment(go.PathSegment.Line,.75*ie,.8*ae)),fe}),go.Shape.defineFigureGenerator("Eject",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,ae,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae*.7)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae*.7).close());var ve=new go.PathFigure(0,ae*.6,!0);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie,.6*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.5*ie,0).close()),fe}),go.Shape.defineFigureGenerator("Pencil",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.2*ie,.1*ae)).add(new go.PathSegment(go.PathSegment.Line,ie,.9*ae)).add(new go.PathSegment(go.PathSegment.Line,.9*ie,ae)).add(new go.PathSegment(go.PathSegment.Line,.1*ie,.2*ae).close()))}),go.Shape.defineFigureGenerator("Building",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(ie*1,ae*1,!1);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae*.85)),de.add(new go.PathSegment(go.PathSegment.Line,.046*ie,ae*.85)),de.add(new go.PathSegment(go.PathSegment.Line,.046*ie,ae*.45)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae*.45)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae*.3)),de.add(new go.PathSegment(go.PathSegment.Line,.046*ie,ae*.3)),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,ae*0)),de.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*ie,ae*.3)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae*.3)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae*.45)),de.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*ie,ae*.45)),de.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*ie,ae*.85)),de.add(new go.PathSegment(go.PathSegment.Line,ie,ae*.85).close());var ve=new go.PathFigure(.126*ie,.85*ae,!1);fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.126*ie,.45*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.322*ie,.45*ae)),ve.add(new go.PathSegment(go.PathSegment.Line,.322*ie,.85*ae).close());var xe=new go.PathFigure(.402*ie,.85*ae,!1);fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,.402*ie,.45*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.598*ie,.45*ae)),xe.add(new go.PathSegment(go.PathSegment.Line,.598*ie,.85*ae).close());var ce=new go.PathFigure(.678*ie,.85*ae,!1);fe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.678*ie,.45*ae)),ce.add(new go.PathSegment(go.PathSegment.Line,.874*ie,.45*ae)),ce.add(new go.PathSegment(go.PathSegment.Line,.874*ie,.85*ae).close());var pe=new go.PathFigure(.5*ie,.1*ae,!1);return fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Line,(.046+.15)*ie,.3*ae)),pe.add(new go.PathSegment(go.PathSegment.Line,(1-(.046+.15))*ie,.3*ae).close()),fe}),go.Shape.defineFigureGenerator("Staircase",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,ae*1,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie*.2,ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.2,ae*.8)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.4,ae*.8)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.4,ae*.6)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.6,ae*.6)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.6,ae*.4)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.8,ae*.4)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.8,ae*.2)),de.add(new go.PathSegment(go.PathSegment.Line,ie*1,ae*.2)),de.add(new go.PathSegment(go.PathSegment.Line,ie*1,ae*.15)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.75,ae*.15)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.75,ae*.35)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.55,ae*.35)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.55,ae*.55)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.35,ae*.55)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.35,ae*.75)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.15,ae*.75)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.15,ae*.95)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae*.95).close()),fe}),go.Shape.defineFigureGenerator("5Bars",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,ae*1,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie*.184,ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.184,ae*(1-.184)).close());var ve=new go.PathFigure(ie*.204,ae,!0);fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.204,ae*(1-.184))),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.388,ae*(1-.184*2))),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.388,ae*1).close());var xe=new go.PathFigure(ie*.408,ae,!0);fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.408,ae*(1-.184*2))),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.592,ae*(1-.184*3))),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.592,ae*1).close());var ce=new go.PathFigure(ie*.612,ae,!0);fe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ie*.612,ae*(1-.184*3))),ce.add(new go.PathSegment(go.PathSegment.Line,ie*.796,ae*(1-.184*4))),ce.add(new go.PathSegment(go.PathSegment.Line,ie*.796,ae*1).close());var pe=new go.PathFigure(ie*.816,ae,!0);return fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Line,ie*.816,ae*(1-.184*4))),pe.add(new go.PathSegment(go.PathSegment.Line,ie*1,ae*(1-.184*5))),pe.add(new go.PathSegment(go.PathSegment.Line,ie*1,ae*1).close()),fe}),go.Shape.defineFigureGenerator("PC",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,0,ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.3,ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.3,0).close());var ve=new go.PathFigure(ie*.055,.07*ae,!0);fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.245,ae*.07)),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.245,ae*.1)),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.055,ae*.1).close());var xe=new go.PathFigure(ie*.055,.13*ae,!0);fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.245,ae*.13)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.245,ae*.16)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.055,ae*.16).close());var ce=new go.PathFigure(ie*.055,.18*ae,!0);fe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ie*.245,ae*.18)),ce.add(new go.PathSegment(go.PathSegment.Line,ie*.245,ae*.21)),ce.add(new go.PathSegment(go.PathSegment.Line,ie*.055,ae*.21).close());var pe=new go.PathFigure(ie*1,0,!0);return fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Line,ie*.4,0)),pe.add(new go.PathSegment(go.PathSegment.Line,ie*.4,ae*.65)),pe.add(new go.PathSegment(go.PathSegment.Line,ie*1,ae*.65).close()),fe}),go.Shape.defineFigureGenerator("Plane",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(.55*ie,ae,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.5*ie,.6*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.4*ie,.7*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.1*ie,.475*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.35*ie,.525*ae,0,.4*ae,.225*ie,.45*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.4*ie,.475*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.15*ie,.35*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.2*ie,.325*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.6*ie,.325*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.85*ie,.1*ae)),de.add(new go.PathSegment(go.PathSegment.Bezier,.9*ie,.2*ae,.975*ie,0,ie,.08*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.7*ie,.45*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.6*ie,.95*ae)),de.add(new go.PathSegment(go.PathSegment.Line,.55*ie,ae).close()),fe}),go.Shape.defineFigureGenerator("Key",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(ie*1,ae*.5,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie*.9,.4*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.5,.4*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.5,.35*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.45,.35*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.3,.2*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.15,.2*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.35*ae)),de.add(new go.PathSegment(go.PathSegment.Line,0,.65*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.15,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.3,.8*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.45,.65*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.5,.65*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.5,.6*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.6,.6*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.65,.55*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.7,.6*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.75,.55*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.8,.6*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.85,.575*ae)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.9,.6*ae).close()),de.add(new go.PathSegment(go.PathSegment.Move,.17*ie,.425*ae)),de.add(new go.PathSegment(go.PathSegment.Arc,270,360,.17*ie,.5*ae,.075*ie,.075*ae).close()),fe}),go.Shape.defineFigureGenerator("FilmTape",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(0,0,!1);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Arc,270,180,ie*0,ie*.3,ie*.055)),de.add(new go.PathSegment(go.PathSegment.Line,0,ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.08,ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.08,ae*.95)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*1),ae*.95)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*1),ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*2),ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*2),ae*.95)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*3),ae*.95)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*3),ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*4),ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*4),ae*.95)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*5),ae*.95)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*5),ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*6),ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*6),ae*.95)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*7),ae*.95)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*7),ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*8),ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*8),ae*.95)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*9),ae*.95)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*9),ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*10),ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*10),ae*.95)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*11),ae*.95)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*11),ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*12),ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*12),ae*.95)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*13),ae*.95)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*13),ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*14),ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*14),ae*.95)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*15),ae*.95)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(.08+.056*15),ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*1,ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*1,ae*1));var ve=new go.PathFigure(0,0,!1);fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie*1,ae*0)),ve.add(new go.PathSegment(go.PathSegment.Arc,270,-180,ie*1,ie*.3,ie*.055)),ve.add(new go.PathSegment(go.PathSegment.Line,ie*1,ae*1));var xe=new go.PathFigure(ie*.11,ae*.1,!1);fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,ie*(.11+.24133333*1+.028*0),ae*.1)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*(.11+.24133333*1+.028*0),ae*.8)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.11,ae*.8).close());var ce=new go.PathFigure(ie*(.11+.24133333*1+.028*1),ae*.1,!1);fe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ie*(.11+.24133333*2+.028*1),ae*.1)),ce.add(new go.PathSegment(go.PathSegment.Line,ie*(.11+.24133333*2+.028*1),ae*.8)),ce.add(new go.PathSegment(go.PathSegment.Line,ie*(.11+.24133333*1+.028*1),ae*.8).close());var pe=new go.PathFigure(ie*(.11+.24133333*2+.028*2),ae*.1,!1);return fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Line,ie*(.11+.24133333*3+.028*2),ae*.1)),pe.add(new go.PathSegment(go.PathSegment.Line,ie*(.11+.24133333*3+.028*2),ae*.8)),pe.add(new go.PathSegment(go.PathSegment.Line,ie*(.11+.24133333*2+.028*2),ae*.8).close()),fe}),go.Shape.defineFigureGenerator("FloppyDisk",function(ye,ie,ae){var fe=new go.Geometry,de=8,ve=de*we,xe=new go.PathFigure(de,0,!1);fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.86,0)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*1,ae*.14)),xe.add(new go.PathSegment(go.PathSegment.Line,ie,ae-de)),xe.add(new go.PathSegment(go.PathSegment.Bezier,ie-de,ae,ie,ae-ve,ie-ve,ae)),xe.add(new go.PathSegment(go.PathSegment.Line,de,ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,0,ae-de,ve,ae,0,ae-ve)),xe.add(new go.PathSegment(go.PathSegment.Line,0,de)),xe.add(new go.PathSegment(go.PathSegment.Bezier,de,0,0,ve,ve,0).close());var ce=new go.PathFigure(ie*.83,0,!1);fe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ie*.83,ae*.3)),ce.add(new go.PathSegment(go.PathSegment.Line,ie*.17,ae*.3)),ce.add(new go.PathSegment(go.PathSegment.Line,ie*.17,ae*0).close());var pe=new go.PathFigure(ie*.83,ae*1,!1);fe.add(pe),pe.add(new go.PathSegment(go.PathSegment.Line,ie*.83,ae*.5)),pe.add(new go.PathSegment(go.PathSegment.Line,ie*.17,ae*.5)),pe.add(new go.PathSegment(go.PathSegment.Line,ie*.17,ae*1).close());var Se=new go.PathFigure(ie*.78,ae*.05,!1);return fe.add(Se),Se.add(new go.PathSegment(go.PathSegment.Line,ie*.66,ae*.05)),Se.add(new go.PathSegment(go.PathSegment.Line,ie*.66,ae*.25)),Se.add(new go.PathSegment(go.PathSegment.Line,ie*.78,ae*.25).close()),fe}),go.Shape.defineFigureGenerator("SpeechBubble",function(ye,ie,ae){var fe=ye?ye.parameter1:NaN;(isNaN(fe)||fe<0)&&(fe=15),fe=Math.min(fe,ie/3),fe=Math.min(fe,ae/3);var de=fe*we,ve=ae*.8,xe=new go.Geometry,ce=new go.PathFigure(fe,0,!0);return xe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ie-fe,0)),ce.add(new go.PathSegment(go.PathSegment.Bezier,ie,fe,ie-de,0,ie,de)),ce.add(new go.PathSegment(go.PathSegment.Line,ie,ve-fe)),ce.add(new go.PathSegment(go.PathSegment.Bezier,ie-fe,ve,ie,ve-de,ie-de,ve)),ce.add(new go.PathSegment(go.PathSegment.Line,ie*.7,ve)),ce.add(new go.PathSegment(go.PathSegment.Line,ie*.7,ae)),ce.add(new go.PathSegment(go.PathSegment.Line,ie*.55,ve)),ce.add(new go.PathSegment(go.PathSegment.Line,fe,ve)),ce.add(new go.PathSegment(go.PathSegment.Bezier,0,ve-fe,de,ve,0,ve-de)),ce.add(new go.PathSegment(go.PathSegment.Line,0,fe)),ce.add(new go.PathSegment(go.PathSegment.Bezier,fe,0,0,de,de,0).close()),de>1?(xe.spot1=new go.Spot(0,0,de,de),xe.spot2=new go.Spot(1,.8,-de,-de)):(xe.spot1=go.Spot.TopLeft,xe.spot2=new go.Spot(1,.8)),xe}),go.Shape.defineFigureGenerator("Repeat",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(ie*0,ae*.45,!0);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie*.25,ae*0)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.5,ae*.45)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.3,ae*.45)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.3,ae*.9)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.6,ae*.9)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.65,ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.2,ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.2,ae*.45).close());var ve=new go.PathFigure(ie*1,ae*.55,!0);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.75,ae*1)),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.5,ae*.55)),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.7,ae*.55)),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.7,ae*.1)),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.4,ae*.1)),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.35,ae*0)),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.8,ae*0)),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.8,ae*.55).close()),fe}),go.Shape.defineFigureGenerator("Windows",function(ye,ie,ae){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,ie,0)).add(new go.PathSegment(go.PathSegment.Line,ie,ae)).add(new go.PathSegment(go.PathSegment.Line,0,ae).close()).add(new go.PathSegment(go.PathSegment.Move,.4*ie,.4*ae)).add(new go.PathSegment(go.PathSegment.Line,.4*ie,.8*ae)).add(new go.PathSegment(go.PathSegment.Line,.9*ie,.8*ae)).add(new go.PathSegment(go.PathSegment.Line,.9*ie,.4*ae).close()).add(new go.PathSegment(go.PathSegment.Move,.2*ie,.1*ae)).add(new go.PathSegment(go.PathSegment.Line,.2*ie,.6*ae)).add(new go.PathSegment(go.PathSegment.Line,.7*ie,.6*ae)).add(new go.PathSegment(go.PathSegment.Line,.7*ie,.1*ae).close()).add(new go.PathSegment(go.PathSegment.Move,.1*ie,.6*ae)).add(new go.PathSegment(go.PathSegment.Line,.1*ie,.9*ae)).add(new go.PathSegment(go.PathSegment.Line,.5*ie,.9*ae)).add(new go.PathSegment(go.PathSegment.Line,.5*ie,.6*ae).close()))}),go.Shape.defineFigureGenerator("Terminal",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(ie*0,ae*.1,!1);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie*1,ae*.1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*1,ae*.9)),de.add(new go.PathSegment(go.PathSegment.Line,ie*0,ae*.9).close());var ve=new go.PathFigure(ie*.1,ae*.2,!0);fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.1,ae*.25)),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.22,ae*.285)),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.1,ae*.32)),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.1,ae*.37)),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.275,ae*.32)),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.275,ae*.25).close());var xe=new go.PathFigure(ie*.28,ae*.37,!0);return fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.45,ae*.37)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.45,ae*.41)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.28,ae*.41).close()),fe}),go.Shape.defineFigureGenerator("Beaker",function(ye,ie,ae){var fe=new go.Geometry,de=15,ve=de*we,xe=new go.PathFigure(ie*.62,ae*.475,!0);return fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,ie,ae-de)),xe.add(new go.PathSegment(go.PathSegment.Bezier,ie-de,ae,ie,ae-ve,ie-ve,ae)),xe.add(new go.PathSegment(go.PathSegment.Line,de,ae)),xe.add(new go.PathSegment(go.PathSegment.Bezier,0,ae-de,ve,ae,0,ae-ve)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.38,ae*.475)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.38,ae*.03)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.36,ae*0)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.64,ae*0)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.62,ae*.03).close()),ve>1?(fe.spot1=new go.Spot(0,0,ve,ve),fe.spot2=new go.Spot(1,1,-ve,-ve)):(fe.spot1=go.Spot.TopLeft,fe.spot2=go.Spot.BottomRight),fe}),go.Shape.defineFigureGenerator("Download",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(ie*0,ae*1,!0);fe.add(de);var ve=.1/.3;de.add(new go.PathSegment(go.PathSegment.Line,ie*1,ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*1,ae*(1-ve))),de.add(new go.PathSegment(go.PathSegment.Line,ie*.8,ae*0)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.66,ae*0)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.66,ae*.055)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.755,ae*.055)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.93,ae*(1-ve))),de.add(new go.PathSegment(go.PathSegment.Line,ie*.64,ae*(1-ve))),de.add(new go.PathSegment(go.PathSegment.Line,ie*.61,ae*.75)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.5,ae*.75)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.39,ae*.75)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.36,ae*(1-ve))),de.add(new go.PathSegment(go.PathSegment.Line,ie*.07,ae*(1-ve))),de.add(new go.PathSegment(go.PathSegment.Line,ie*(1-.755),ae*.055)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(1-.66),ae*.055)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(1-.66),ae*0)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(1-.8),ae*0)),de.add(new go.PathSegment(go.PathSegment.Line,ie*0,ae*(1-ve)).close());var xe=new go.PathFigure(ie*.4,ae*0,!0);return fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.4,ae*.44)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.26,ae*.44)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.5,ae*.66)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*(1-.26),ae*.44)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.6,ae*.44)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.6,ae*0).close()),fe}),go.Shape.defineFigureGenerator("Bin",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(ie*0,ae*1,!0);fe.add(de);var ve=.1/.3;return de.add(new go.PathSegment(go.PathSegment.Line,ie*1,ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*1,ae*(1-ve))),de.add(new go.PathSegment(go.PathSegment.Line,ie*.8,ae*0)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.66,ae*0)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.66,ae*.055)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.755,ae*.055)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.93,ae*(1-ve))),de.add(new go.PathSegment(go.PathSegment.Line,ie*.64,ae*(1-ve))),de.add(new go.PathSegment(go.PathSegment.Line,ie*.61,ae*.75)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.5,ae*.75)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.39,ae*.75)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.36,ae*(1-ve))),de.add(new go.PathSegment(go.PathSegment.Line,ie*.07,ae*(1-ve))),de.add(new go.PathSegment(go.PathSegment.Line,ie*(1-.755),ae*.055)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(1-.66),ae*.055)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(1-.66),ae*0)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(1-.8),ae*0)),de.add(new go.PathSegment(go.PathSegment.Line,ie*0,ae*(1-ve)).close()),fe}),go.Shape.defineFigureGenerator("Upload",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(ie*0,ae*1,!0);fe.add(de);var ve=.1/.3;de.add(new go.PathSegment(go.PathSegment.Line,ie*1,ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*1,ae*(1-ve))),de.add(new go.PathSegment(go.PathSegment.Line,ie*.8,ae*0)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.66,ae*0)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.66,ae*.055)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.755,ae*.055)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.93,ae*(1-ve))),de.add(new go.PathSegment(go.PathSegment.Line,ie*.64,ae*(1-ve))),de.add(new go.PathSegment(go.PathSegment.Line,ie*.61,ae*.75)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.5,ae*.75)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.39,ae*.75)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.36,ae*(1-ve))),de.add(new go.PathSegment(go.PathSegment.Line,ie*.07,ae*(1-ve))),de.add(new go.PathSegment(go.PathSegment.Line,ie*(1-.755),ae*.055)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(1-.66),ae*.055)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(1-.66),ae*0)),de.add(new go.PathSegment(go.PathSegment.Line,ie*(1-.8),ae*0)),de.add(new go.PathSegment(go.PathSegment.Line,ie*0,ae*(1-ve)).close());var xe=new go.PathFigure(ie*.5,ae*0,!0);return fe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.26,ae*.25)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.4,ae*.25)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.4,ae*.63)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.6,ae*.63)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.6,ae*.25)),xe.add(new go.PathSegment(go.PathSegment.Line,ie*.74,ae*.25).close()),fe}),go.Shape.defineFigureGenerator("EmptyDrink",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(ie*.15,ae*0,!1);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie*.85,ae*0)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.7,ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.3,ae*1).close()),fe}),go.Shape.defineFigureGenerator("Drink",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(ie*.15,ae*0,!1);fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie*.85,ae*0)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.7,ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.3,ae*1).close());var ve=new go.PathFigure(ie*.235,ae*.28,!0);return fe.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.765,ae*.28)),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.655,ae*.97)),ve.add(new go.PathSegment(go.PathSegment.Line,ie*.345,ae*.97).close()),fe}),go.Shape.defineFigureGenerator("4Arrows",function(ye,ie,ae){var fe=new go.Geometry,de=new go.PathFigure(ie*.5,ae*0,!0);return fe.add(de),de.add(new go.PathSegment(go.PathSegment.Line,ie*.65,ae*.25)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.55,ae*.25)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.55,ae*.45)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.75,ae*.45)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.75,ae*.35)),de.add(new go.PathSegment(go.PathSegment.Line,ie*1,ae*.5)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.75,ae*.65)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.75,ae*.55)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.55,ae*.55)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.55,ae*.75)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.65,ae*.75)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.5,ae*1)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.35,ae*.75)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.45,ae*.75)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.45,ae*.55)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.25,ae*.55)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.25,ae*.65)),de.add(new go.PathSegment(go.PathSegment.Line,ie*0,ae*.5)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.25,ae*.35)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.25,ae*.45)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.45,ae*.45)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.45,ae*.25)),de.add(new go.PathSegment(go.PathSegment.Line,ie*.35,ae*.25).close()),fe}),go.Shape.defineFigureGenerator("Connector","Ellipse"),go.Shape.defineFigureGenerator("Alternative","TriangleUp"),go.Shape.defineFigureGenerator("Merge","TriangleUp"),go.Shape.defineFigureGenerator("Decision","Diamond"),go.Shape.defineFigureGenerator("DataTransmissions","Hexagon"),go.Shape.defineFigureGenerator("Gate","Crescent"),go.Shape.defineFigureGenerator("Delay","HalfEllipse"),go.Shape.defineFigureGenerator("Input","Parallelogram1"),go.Shape.defineFigureGenerator("ManualLoop","ManualOperation"),go.Shape.defineFigureGenerator("ISOProcess","Chevron"),go.Shape.defineFigureGenerator("MessageToUser","SquareArrow"),go.Shape.defineFigureGenerator("MagneticData","Cylinder1"),go.Shape.defineFigureGenerator("DirectData","Cylinder4"),go.Shape.defineFigureGenerator("StoredData","DataStorage"),go.Shape.defineFigureGenerator("SequentialData","MagneticTape"),go.Shape.defineFigureGenerator("Subroutine","Procedure")},98598:function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;(function(){if(typeof window.GGBApplet=="function"){console.warn("deployggb.js was loaded twice");return}var isRenderGGBElementEnabled=!1,scriptLoadStarted=!1,html5AppletsToProcess=null,ggbHTML5LoadedCodebaseIsWebSimple=!1,ggbHTML5LoadedCodebaseVersion=null,ggbHTML5LoadedScript=null,GGBApplet=function(){"use strict";for(var en={},tn="5.0",Oe={},Ge=null,tt=!1,Ue=!1,Ne=null,Ke=!1,Be=null,we=null,Te=0;Te<arguments.length;Te++){var ke=arguments[Te];if(ke!==null)switch(typeof ke){case"number":tn=ke.toFixed(1);break;case"string":ke.match(new RegExp("^[0-9]\\.[0-9]+$"))?tn=ke:Ne=ke;break;case"object":typeof ke.is3D!="undefined"?Ge=ke:Oe=ke;break;case"boolean":tt=ke,Ue=!0;break}}Ge===null&&(Ge={is3D:!1,AV:!1,SV:!1,CV:!1,EV2:!1,CP:!1,PC:!1,DA:!1,FI:!1,PV:!1,macro:!1},Oe.material_id!==void 0&&!Ue&&(tt=!0)),Ne!==null&&Oe.id===void 0&&(Oe.id=Ne);var Ie="",Ce="",Me=!1,je=null,ye=null,ie=null,ae=!1,fe=null,de=null,ve=null,xe=null,ce=null;Oe.height!==void 0&&(Oe.height=Math.round(Oe.height)),Oe.width!==void 0&&(Oe.width=Math.round(Oe.width));var pe=function(Rt){return parseFloat(Rt)>4?parseFloat(Rt):5};en.setHTML5Codebase=function(Rt,Gt){we=Rt,Dt(Rt,Gt)},en.setJavaCodebase=en.setJavaCodebaseVersion=en.isCompiledInstalled=en.setPreCompiledScriptPath=en.setPreCompiledResourcePath=function(){},en.setHTML5CodebaseVersion=function(Rt,Gt){var ln=parseFloat(Rt);if(ln!==NaN&&ln<5){console.log("The GeoGebra HTML5 codebase version "+ln+" is deprecated. Using version latest instead.");return}Be=Rt,ct(Rt,Gt)},en.getHTML5CodebaseVersion=function(){return ye},en.getParameters=function(){return Oe},en.setFontsCSSURL=function(Rt){xe=Rt},en.setGiacJSURL=function(Rt){},en.setJNLPFile=function(Rt){Ie=Rt},en.setJNLPBaseDir=function(Rt){},en.inject=function(){function Rt(){return window.frameElement&&window.frameElement.getAttribute("data-singleton")}for(var Gt="auto",ln=Oe.id,Rn,jn=!1,er=0;er<arguments.length;er++){var an=arguments[er];typeof an=="string"?(an=an.toLowerCase(),an.match(/^(prefer)?(java|html5|compiled|auto|screenshot)$/)?Gt=an:ln=arguments[er]):typeof an=="boolean"?jn=an:an instanceof HTMLElement&&(Rn=an)}Un();function Un(){if(!Ke){setTimeout(Un,200);return}Gt=St(Gt);var Kn=Rn||document.getElementById(ln);if(!Kn){console.log("possibly bug on ajax loading? ");return}if(en.removeExistingApplet(Kn,!1),Oe.width===void 0&&Kn.clientWidth&&(Oe.width=Kn.clientWidth),Oe.height===void 0&&Kn.clientHeight&&(Oe.height=Kn.clientHeight),!(Oe.width&&Oe.height)&&Gt==="html5"&&(delete Oe.width,delete Oe.height),je=Gt,Gt==="screenshot")lt(Kn,Oe);else{var ur=!1;Oe.hasOwnProperty("playButton")&&Oe.playButton||Oe.hasOwnProperty("clickToLoad")&&Oe.clickToLoad?ur=!0:Oe.hasOwnProperty("playButtonAutoDecide")&&Oe.playButtonAutoDecide&&(ur=(!Se()||Rt())&&Le()),ur?(je="screenshot",Et(Kn,Oe,jn,Gt)):gt(Kn,Oe,jn)}}};function Se(){try{return window.self!==window.top}catch(Rt){return!0}}function Le(){return Oe.hasOwnProperty("screenshotGenerator")&&Oe.screenshotGenerator?!1:Math.max(screen.width,screen.height)<800}en.getViews=function(){return Ge},en.isJavaInstalled=function(){return!1};var ze=function(Rt){var Gt=function(er){var an=JSON.parse(er),Un=function(Xn){return Xn.type=="G"||Xn.type=="E"},Kn=an.elements?an.elements.filter(Un)[0]:an;if(!Kn||!Kn.url){ln();return}Oe.fileName=Kn.url,Ze(Kn.settings||{}),Ge.is3D=!0;var ur="https://www.geogebra.org/images/";en.setPreviewImage(fe||Kn.previewUrl,ur+"GeoGebra_loading.png",ur+"applet_play.png"),Rt()},ln=function(){Oe.onError&&Oe.onError(),Xt("Error: Fetching material (id "+Oe.material_id+") failed.",Oe)},Rn=location.host.match(/(www|stage|beta|groot|alpha).geogebra.(org|net)/)?location.host:"www.geogebra.org",jn="/materials/"+Oe.material_id+"?scope=basic";Ve("https://"+Rn+"/api/proxy.php?path="+encodeURIComponent(jn),Gt,ln)};function Ze(Rt){var Gt=["width","height","showToolBar","showMenuBar","showAlgebraInput","allowStyleBar","showResetIcon","enableLabelDrags","enableShiftDragZoom","enableRightClick","appName"];["enableLabelDrags","enableShiftDragZoom","enableRightClick"].forEach(function(ln){Rt[ln]=!!Rt[ln]}),Gt.forEach(function(ln){Oe[ln]===void 0&&Rt[ln]!==void 0&&(Oe[ln]=Rt[ln])}),Oe.showToolBarHelp===void 0&&(Oe.showToolBarHelp=Oe.showToolBar)}function Ve(Rt,Gt,ln){var Rn=new XMLHttpRequest;Rn.open("GET",Rt),Rn.onload=function(){Gt(Rn.responseText)},Rn.onerror=ln,Rn.send()}en.isHTML5Installed=function(){return!0},en.getLoadedAppletType=function(){return je},en.setPreviewImage=function(Rt,Gt,ln){fe=Rt,de=Gt,ve=ln},en.removeExistingApplet=function(Rt,Gt){var ln;typeof Rt=="string"&&(Rt=document.getElementById(Rt)),je=null;var Rn=null;for(ln=0;ln<Rt.childNodes.length;ln++){var jn=Rt.childNodes[ln],er=jn.className;er==="applet_screenshot"?Gt?(jn.style.display="block",je="screenshot"):jn.style.display="none":er!=="applet_scaler prerender"&&(Rt.removeChild(jn),Rn=er&&er.indexOf("appletParameters")!=-1?jn.id:null,ln--)}var an=Oe.id!==void 0?Oe.id:Rn,Un=window[an];Un&&typeof Un.getBase64=="function"&&(Un.remove(),window[an]=null)},en.refreshHitPoints=function(){if(pe(ggbHTML5LoadedCodebaseVersion)>=5)return!0;var Rt=en.getAppletObject();return Rt&&typeof Rt.recalculateEnvironments=="function"?(Rt.recalculateEnvironments(),!0):!1},en.startAnimation=function(){var Rt=en.getAppletObject();return Rt&&typeof Rt.startAnimation=="function"?(Rt.startAnimation(),!0):!1},en.stopAnimation=function(){var Rt=en.getAppletObject();return Rt&&typeof Rt.stopAnimation=="function"?(Rt.stopAnimation(),!0):!1},en.getAppletObject=function(){var Rt=Oe.id!==void 0?Oe.id:"ggbApplet";return window[Rt]},en.resize=function(){};var Qe=function(Rt,Gt,ln){var Rn=document.createElement("param");Rn.setAttribute("name",Gt),Rn.setAttribute("value",ln),Rt.appendChild(Rn)},$e=function(Rt){return Rt&&Rt!=="false"},gt=function(Rt,Gt,ln){pe(ye)<=4.2&&(ln=!0);var Rn=!isRenderGGBElementEnabled&&!scriptLoadStarted;(!isRenderGGBElementEnabled&&!scriptLoadStarted||ggbHTML5LoadedCodebaseVersion!==ye||ggbHTML5LoadedCodebaseIsWebSimple&&!ae)&&(Rn=!0,isRenderGGBElementEnabled=!1,scriptLoadStarted=!1);var jn=document.createElement("div");jn.classList.add("appletParameters","notranslate");var er=Gt.width,an=Gt.height;if(Gt.disableAutoScale=Gt.disableAutoScale===void 0?GGBAppletUtils.isFlexibleWorksheetEditor():Gt.disableAutoScale,Gt.width!==void 0)if(pe(ye)<=4.4)$e(Gt.showToolBar)&&(Gt.height-=7),$e(Gt.showAlgebraInput)&&(Gt.height-=37),Gt.width<605&&$e(Gt.showToolBar)&&(Gt.width=605,er=605);else{var Un=100;($e(Gt.showToolBar)||$e(Gt.showMenuBar))&&(Gt.hasOwnProperty("customToolBar")&&(Gt.customToolbar=Gt.customToolBar),Un=$e(Gt.showMenuBar)?245:155),er<Un&&(Gt.width=Un,er=Un)}jn.style.border="none",jn.style.display="inline-block";for(var Kn in Gt)Gt.hasOwnProperty(Kn)&&Kn!=="appletOnLoad"&&jn.setAttribute("data-param-"+Kn,Gt[Kn]);xe&&jn.setAttribute("data-param-fontscssurl",xe),en.resize=function(){GGBAppletUtils.responsiveResize(Rt,Gt)},window.addEventListener("resize",function(ot){en.resize()});var ur=typeof Gt.appletOnLoad=="function"?Gt.appletOnLoad:function(){};if(!ln&&Gt.width!==void 0){Gt.hasOwnProperty("showSplash")||jn.setAttribute("data-param-showSplash","false");var Xn=Rt.querySelector(".applet_scaler.prerender"),Nn=Xn!==null;if(Nn)var _n=Xn.querySelector(".ggb_preview");else{var _n=Lt(er,an,Gt.borderColor,!1);Xn=document.createElement("div"),Xn.className="applet_scaler",Xn.style.position="relative",Xn.style.display="block",Xn.style.width=er+"px",Xn.style.height=an+"px"}window.GGBT_spinner&&window.GGBT_spinner.attachSpinner(Xn,"66%"),pe(ye)>=5?(Gt.appletOnLoad=function(ot){var Pt=Rt.querySelector(".ggb_preview");Pt&&Pt.parentNode.removeChild(Pt),window.GGBT_spinner&&window.GGBT_spinner.removeSpinner(Xn),window.GGBT_wsf_view&&$(window).trigger("resize"),ur(ot)},Nn||Xn.appendChild(_n)):jn.appendChild(_n),Xn.appendChild(jn),Nn||Rt.appendChild(Xn),setTimeout(function(){en.resize()},1)}else{var un=document.createElement("div");un.className="applet_scaler",un.style.position="relative",un.style.display="block",un.appendChild(jn),Rt.appendChild(un),Gt.appletOnLoad=function(ot){en.resize(),ur(ot)}}function qt(ot,Pt){Pt&&typeof Pt.appletOnLoad=="function"&&typeof renderGGBElement=="function"?renderGGBElement(ot,Pt.appletOnLoad):renderGGBElement(ot),Xt("GeoGebra HTML5 applet injected and rendered with previously loaded codebase.",Pt)}function Yt(ot,Pt){typeof renderGGBElement=="undefined"?(html5AppletsToProcess===null&&(html5AppletsToProcess=[]),html5AppletsToProcess.push({article:ot,params:Pt}),window.renderGGBElementReady=function(){isRenderGGBElementEnabled=!0,html5AppletsToProcess!==null&&html5AppletsToProcess.length&&(html5AppletsToProcess.forEach(function(Ht){qt(Ht.article,Ht.params)}),html5AppletsToProcess=null)},pe(ye)<5&&(ot.className+=" geogebraweb")):qt(ot,Pt)}if(Rn){scriptLoadStarted=!0;for(var gn=0;gn<jn.childNodes.length;gn++){var _t=jn.childNodes[gn].tagName;_t==="TABLE"&&(jn.removeChild(jn.childNodes[gn]),gn--)}if(ggbHTML5LoadedScript!==null){var Jt=document.querySelector('script[src="'+ggbHTML5LoadedScript+'"]');Jt!=null&&Jt.parentNode.removeChild(Jt)}var wt=document.createElement("script"),ut=function(){Yt(jn,Gt)};wt.src=Ce+ie,ggbHTML5LoadedCodebaseIsWebSimple=ae,ggbHTML5LoadedCodebaseVersion=ye,ggbHTML5LoadedScript=wt.src,Xt("GeoGebra HTML5 codebase loaded: '"+Ce+"'.",Gt),!we&&(!Be||Be=="5.0")?(ae?webSimple.succeeded=webSimple.succeeded||webSimple():web3d.succeeded=web3d.succeeded||web3d(),ut()):Ce.requirejs?__webpack_require__.e(7374).then(function(){var ot=[__webpack_require__(97374)];ut.apply(null,ot)}.bind(this)).catch(__webpack_require__.oe):(wt.onload=ut,Rt.appendChild(wt))}else Yt(jn,Gt);Gt.height=an,Gt.width=er},lt=function(Rt,Gt,ln){var Rn=Lt(Gt.width,Gt.height,Gt.borderColor,ln),jn=document.createElement("div");jn.style.position="relative",jn.style.display="block",jn.style.width=Gt.width+"px",jn.style.height=Gt.height+"px",jn.className="applet_screenshot applet_scaler"+(ln?" applet_screenshot_play":""),jn.appendChild(Rn);var er=GGBAppletUtils.getScale(Gt,Rt,ln);ln?(Rt.appendChild(vt()),window.GGBT_wsf_view||(Rt.style.position="relative")):window.GGBT_spinner&&window.GGBT_spinner.attachSpinner(jn,"66%"),Rt.appendChild(jn),er!==1&&!isNaN(er)&&(GGBAppletUtils.scaleElement(jn,er),jn.style.width=Gt.width+"px",jn.style.height=Gt.height+"px",jn.parentNode.style.width=Gt.width*er+"px",jn.parentNode.style.height=Gt.height*er+"px"),en.resize=function(){At(Rt,Rn,jn,ln)},window.addEventListener("resize",function(an){en.resize()}),en.resize()};function At(Rt,Gt,ln,Rn){if(Rt.contains(Gt)){if(typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){if(Rt.id!=="fullscreencontent")return;window.GGBT_wsf_view.setCloseBtnPosition(Rt)}var jn=GGBAppletUtils.getScale(Oe,Rt,Rn);ln.parentNode!==null&&(!isNaN(jn)&&jn!==1?(GGBAppletUtils.scaleElement(ln,jn),ln.parentNode.style.width=Oe.width*jn+"px",ln.parentNode.style.height=Oe.height*jn+"px"):(GGBAppletUtils.scaleElement(ln,1),ln.parentNode.style.width=Oe.width+"px",ln.parentNode.style.height=Oe.height+"px")),typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&GGBAppletUtils.positionCenter(Rt),typeof window.GGBT_ws_header_footer=="object"&&window.GGBT_ws_header_footer.setWsScrollerHeight()}}en.onExitFullscreen=function(Rt,Gt){Gt.appendChild(Rt)};var Et=function(Rt,Gt,ln,Rn){lt(Rt,Gt,!0);for(var jn=function(){var Un=[];for(an=0;an<Rt.childNodes.length;an++)Un.push(Rt.childNodes[an]);if(window.GGBT_wsf_view){var Kn=window.GGBT_wsf_view.renderFullScreen(Rt,Gt.id),ur=document.getElementById("fullscreencontainer"),Xn=jQuery(Rt).find(".fullscreencontent");Xn.length>0?(Kn.remove(),Xn.attr("id","fullscreencontent").show(),jQuery(ur).append(Xn),window.dispatchEvent(new Event("resize"))):gt(Kn,Gt,!1),window.GGBT_wsf_view.launchFullScreen(ur)}else je=Rn,gt(Rt,Gt,!1);if(!window.GGBT_wsf_view)for(an=0;an<Un.length;an++)Rt.removeChild(Un[an])},er=Rt.getElementsByClassName("ggb_preview_play"),an=0;an<er.length;an++)er[an].addEventListener("click",jn,!1),er[an].addEventListener("ontouchstart",jn,!1);typeof window.ggbAppletPlayerOnload=="function"&&window.ggbAppletPlayerOnload(Rt),Le()&&window.GGBT_wsf_view&&$(".wsf-element-fullscreen-button").remove()},vt=function(){var Rt=document.createElement("div");if(Rt.className="ggb_preview_play icon-applet-play",!window.GGBT_wsf_view){var Gt='.icon-applet-play { width: 100%; height: 100%;box-sizing: border-box;position: absolute;z-index: 1001;cursor: pointer;border-width: 0px; background-color: transparent;background-repeat: no-repeat;left: 0;top: 0;background-position: center center; background-image: url("https://www.geogebra.org/images/worksheet/icon-start-applet.png");}.icon-applet-play:hover {background-image: url("https://www.geogebra.org/images/worksheet/icon-start-applet-hover.png");}',ln=document.createElement("style");ln.styleSheet?ln.styleSheet.cssText=Gt:ln.appendChild(document.createTextNode(Gt)),document.getElementsByTagName("head")[0].appendChild(ln)}return Rt},Lt=function(Rt,Gt,ln,Rn){var jn=document.createElement("div");jn.className="ggb_preview",jn.style.position="absolute",jn.style.zIndex="90",jn.style.width=Rt-2+"px",jn.style.height=Gt-2+"px",jn.style.top="0px",jn.style.left="0px",jn.style.overflow="hidden",jn.style.backgroundColor="white";var er="lightgrey";ln!==void 0&&(ln==="none"?er="transparent":er=ln),jn.style.border="1px solid "+er;var an=document.createElement("img");if(an.style.position="relative",an.style.zIndex="1000",an.style.top="-1px",an.style.left="-1px",fe!==null&&an.setAttribute("src",fe),an.style.opacity=.7,de!==null){var Un,Kn,ur;if(!Rn){Un=document.createElement("img"),Un.style.position="absolute",Un.style.zIndex="1001",Un.style.opacity=1,an.style.opacity=.3,Kn=360,Kn>Rt/4*3&&(Kn=Rt/4*3),ur=Kn/5.8,Un.setAttribute("src",de),Un.setAttribute("width",Kn),Un.setAttribute("height",ur);var Xn=(Rt-Kn)/2,Nn=(Gt-ur)/2;Un.style.left=Xn+"px",Un.style.top=Nn+"px",jn.appendChild(Un)}}return jn.appendChild(an),jn},St=function(Rt){return Rt=Rt.toLowerCase(),Rt==="html5"||Rt==="screenshot"?Rt:"html5"},xt=["web","webSimple","web3d","tablet","tablet3d","phone"],ct=function(Rt,Gt){if(ye=Rt,Gt){Dt(ye,!0);return}var ln=!tt;if(ln){var Rn=pe(ye);!isNaN(Rn)&&Rn<4.4&&(ln=!1)}var jn,er;window.location.protocol.substr(0,4)==="http"?jn=window.location.protocol:jn="http:";var an=ye.indexOf("//");an>0?er=ye:an===0?er=jn+ye:er="https://www.geogebra.org/apps/5.2.814.0/";for(var Un in xt)if(ye.slice(xt[Un].length*-1)===xt[Un]||ye.slice((xt[Un].length+1)*-1)===xt[Un]+"/"){Dt(er,!1);return}!GGBAppletUtils.isFlexibleWorksheetEditor()&&ln&&!Ge.is3D&&!Ge.AV&&!Ge.SV&&!Ge.CV&&!Ge.EV2&&!Ge.CP&&!Ge.PC&&!Ge.DA&&!Ge.FI&&!Ge.PV&&!$e(Oe.showToolBar)&&!$e(Oe.showMenuBar)&&!$e(Oe.showAlgebraInput)&&!$e(Oe.enableRightClick)&&(!Oe.appName||Oe.appName=="classic")?er+="webSimple/":er+="web3d/",Dt(er,!1)},Dt=function(Rt,Gt){if(Rt.requirejs){Ce=Rt;return}Rt.slice(-1)!=="/"&&(Rt+="/"),Ce=Rt,Gt===null&&(Gt=Rt.indexOf("http")===-1),Me=Gt,ie="web.nocache.js",ae=!1;var ln=Ce.split("/");ln.length>1&&(!Gt&&ln[ln.length-2]==="webSimple"?(ie="webSimple.nocache.js",ae=!0):xt.indexOf(ln[ln.length-2])>=0&&(ie=ln[ln.length-2]+".nocache.js")),ln=Rt.split("/"),ye=ln[ln.length-3],ye.substr(0,4)==="test"?ye=ye.substr(4,1)+"."+ye.substr(5,1):(ye.substr(0,3)==="war"||ye.substr(0,4)==="beta")&&(ye="5.0");var Rn=parseFloat(ye);Rn!==NaN&&Rn<5&&Rt.indexOf("geogebra.org")>=0&&(console.log("The GeoGebra HTML5 codebase version "+Rn+" is deprecated. Using version latest instead."),ct("5.0",Gt))},Xt=function(Rt,Gt){window.console&&window.console.log&&(!Gt||typeof Gt.showLogging=="undefined"||Gt.showLogging&&Gt.showLogging!=="false")&&console.log(Rt)};Oe.material_id!==void 0?ze(kt):kt();function kt(){var Rt=tn;Be!==null?Rt=Be:parseFloat(Rt)<5&&(Rt="5.0"),ct(Rt,!1),we!==null&&Dt(we,Me),Ke=!0}return en},GGBAppletUtils=function(){"use strict";function en(){return window.GGBT_wsf_edit!==void 0}function tn(Ke,Be){Be!=1?(Ke.style.transformOrigin="0% 0% 0px",Ke.style.webkitTransformOrigin="0% 0% 0px",Ke.style.transform="scale("+Be+","+Be+")",Ke.style.webkitTransform="scale("+Be+","+Be+")",Ke.style.maxWidth="initial",Ke.querySelector(".ggb_preview")!==null&&(Ke.querySelector(".ggb_preview").style.maxWidth="initial"),Ke.querySelectorAll(".ggb_preview img")[0]!==void 0&&(Ke.querySelectorAll(".ggb_preview img")[0].style.maxWidth="initial"),Ke.querySelectorAll(".ggb_preview img")[1]!==void 0&&(Ke.querySelectorAll(".ggb_preview img")[1].style.maxWidth="initial")):(Ke.style.transform="none",Ke.style.webkitTransform="none")}function Oe(Ke,Be,we,Te,ke,Ie){var Ce=null;if(Ie!=null&&Ie!="")for(var Me=Ke.parentNode;Me!=null;)if((" "+Me.className+" ").indexOf(" "+Ie+" ")>-1){Ce=Me;break}else Me=Me.parentNode;var je=0,ye=0,ie=0,ae=0,fe=0,de=0,ve=0;if(Ce)je=Ce.offsetWidth,ye=Math.max(Te?Ce.offsetWidth:0,Ce.offsetHeight);else{if(window.innerWidth&&document.documentElement.clientWidth?(je=Math.min(window.innerWidth,document.documentElement.clientWidth),ye=Math.min(window.innerHeight,document.documentElement.clientHeight),ie=je):(je=window.innerWidth,ye=window.innerHeight,ie=window.innerWidth),Ke){var xe=Ke.getBoundingClientRect();xe.left>0&&xe.left<=je&&(ke===void 0||!ke)&&(document.dir==="rtl"?(fe=je-xe.width-xe.left,de=ie<=480?10:30):(de=xe.left,fe=ie<=480?10:30),ae=de+fe)}if(Ke&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){var ce=Ke.getBoundingClientRect();window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(ae=40,ve=0):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(ae=0,ve=40)}}return Ke&&((we===void 0||!we)&&Be>0&&Be+ae<je?je=Be:je-=ae,typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&(we===void 0||!we)&&(ye-=ve)),{width:je,height:ye}}function Ge(Ke,Be,we,Te,ke){if(Ke.isScreenshoGenerator)return 1;var Ie=Te!==void 0&&Te,Ce=Ke.noScaleMargin!=null&&Ke.noScaleMargin,Me=function(ce){return ce&&ce!=="false"},je=Me(Ke.autoHeight),ye=Oe(Be,Ke.width,we,je,Ie&&window.GGBT_wsf_view||Ce,ke),ie=parseInt(ye.width),ae=Ke.width,fe=Ke.height;if(ae===void 0){var de=Be.querySelector(".appletParameters");de&&(ae=de.offsetWidth,fe=de.offsetHeight)}var ve=ie/ae,xe=Ie?1:ye.height/fe;return we!==void 0&&!we&&(ve=Math.min(1,ve),xe=Math.min(1,xe)),Math.min(ve,xe)}function tt(Ke,Be,we){var Te=1,ke,Ie=!1;if(Ke.hasOwnProperty("allowUpscale")&&(Ie=Ke.allowUpscale),Ke.hasOwnProperty("scale")&&(Te=parseFloat(Ke.scale),(isNaN(Te)||Te===null||Te===0)&&(Te=1),Te>1&&(Ie=!0)),Be&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&(Ie=!0),!(Ke.hasOwnProperty("disableAutoScale")&&Ke.disableAutoScale))ke=Ge(Ke,Be,Ie,we,Ke.scaleContainerClass);else return Te;return Ie&&(!Ke.hasOwnProperty("scale")||Te===1)?ke:Math.min(Te,ke)}function Ue(Ke){var Be=Math.min(window.innerWidth,document.documentElement.clientWidth),we=Math.min(window.innerHeight,document.documentElement.clientHeight),Te=Ke.getBoundingClientRect(),ke=(Be-Te.width)/2,Ie=(we-Te.height)/2;Ie<0&&(Ie=0),Ke.style.position="relative",window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(ke<40?Ke.style.left="40px":Ke.style.left=ke+"px",Ke.style.top=Ie+"px"):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(Ie<40?Ke.style.top="40px":Ke.style.top=Ie+"px",Ke.style.left=ke+"px")}function Ne(Ke,Be){var we=Ke.querySelector(".appletParameters");if(we){if(typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){if(Be.id!==we.getAttribute("data-param-id"))return;window.GGBT_wsf_view.setCloseBtnPosition(Ke)}if(we.parentElement&&/fullscreen/.test(we.parentElement.className))return;var Te=tt(Be,Ke);en()&&we.setAttribute("data-param-scale",Te);for(var ke=null,Ie=0;Ie<Ke.childNodes.length;Ie++)if(Ke.childNodes[Ie].className!==void 0&&Ke.childNodes[Ie].className.match(/^applet_scaler/)){ke=Ke.childNodes[Ie];break}if(ke!==null&&ke.querySelector(".noscale")!==null)return;var Ce=Be.id!==void 0?Be.id:"ggbApplet",Me=window[Ce];(Me==null||!Me.recalculateEnvironments)&&ke!==null&&!ke.className.match(/fullscreen/)&&(ke.parentNode.style.transform="",!isNaN(Te)&&Te!==1?(ke.parentNode.style.width=Be.width*Te+"px",ke.parentNode.style.height=Be.height*Te+"px",tn(ke,Te)):(tn(ke,1),ke.parentNode.style.width=Be.width+"px",ke.parentNode.style.height=Be.height+"px")),typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&Ue(Ke),window.GGBT_wsf_view&&!window.GGBT_wsf_view.isFullscreen()&&window.GGBT_wsf_general.adjustContentToResize($(we).parents(".content-added-content"))}}return{responsiveResize:Ne,isFlexibleWorksheetEditor:en,positionCenter:Ue,getScale:tt,scaleElement:tn}}();__WEBPACK_AMD_DEFINE_ARRAY__=[],__WEBPACK_AMD_DEFINE_RESULT__=function(){return GGBApplet}.apply(exports,__WEBPACK_AMD_DEFINE_ARRAY__),__WEBPACK_AMD_DEFINE_RESULT__!==void 0&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__),GGBAppletUtils.makeModule=function(name,permutation){function webModule(){var H="bootstrap",I="begin",J="gwt.codesvr."+name+"=",K="gwt.codesvr=",L=name,M="startup",N="DUMMY",O=0,P=1,Q="iframe",R="position:absolute; width:0; height:0; border:none; left: -1000px;",S=" top: -1000px;",T="Chrome",U="CSS1Compat",V="<!doctype html>",W="",X="<html><head></head><body></body></html>",Y="undefined",Z="readystatechange",$=10,_="script",ab="javascript",bb="Failed to load ",cb="moduleStartup",db="scriptTagAdded",eb="moduleRequested",fb="meta",gb="name",hb=name+"::",ib="::",jb="gwt:property",kb="content",lb="=",mb="gwt:onPropertyErrorFn",nb='Bad handler "',ob='" for "gwt:onPropertyErrorFn"',pb="gwt:onLoadErrorFn",qb='" for "gwt:onLoadErrorFn"',rb="#",sb="?",tb="/",ub="img",vb="clear.cache.gif",wb="baseUrl",xb=name+".nocache.js",yb="base",zb="//",Ab="selectingPermutation",Bb=name+".devmode.js",Cb=permutation,Db=":",Eb=".cache.js",Fb="loadExternalRefs",Gb="end",n=window,o=document;function p(){var en=n.location.search;return en.indexOf(J)!=-1||en.indexOf(K)!=-1}function q(en,tn){}webModule.__sendStats=q,webModule.__moduleName=L,webModule.__errFn=null,webModule.__moduleBase=N,webModule.__softPermutationId=O,webModule.__computePropValue=null,webModule.__getPropMap=null,webModule.__installRunAsyncCode=function(){},webModule.__gwtStartLoadingFragment=function(){return null},webModule.__gwt_isKnownPropertyValue=function(){return!1},webModule.__gwt_getMetaProperty=function(){return null};var r=null,s=n.__gwt_activeModules=n.__gwt_activeModules||{};s[L]={moduleName:L},webModule.__moduleStartupDone=function(en){var tn=s[L].bindings;s[L].bindings=function(){for(var Oe=tn?tn():{},Ge=en[webModule.__softPermutationId],tt=O;tt<Ge.length;tt++){var Ue=Ge[tt];Oe[Ue[O]]=Ue[P]}return Oe}};var t;function u(){return v(),t}function v(){if(!t){var en=o.createElement(Q);if(en.id=L,en.style.cssText=R+S,en.tabIndex=-1,o.body.appendChild(en),t=en.contentWindow.document,navigator.userAgent.indexOf(T)==-1){t.open();var tn=document.compatMode==U?V:W;t.write(tn+X),t.close()}}}function w(en){function tn(Ge){function tt(){return typeof o.readyState==Y?typeof o.body!=Y&&o.body!=null:/loaded|complete/.test(o.readyState)}var Ue=tt();if(Ue){Ge();return}function Ne(){if(!Ue){if(!tt())return;Ue=!0,Ge(),o.removeEventListener&&o.removeEventListener(Z,Ne,!1),Ke&&clearInterval(Ke)}}o.addEventListener&&o.addEventListener(Z,Ne,!1);var Ke=setInterval(function(){Ne()},$)}function Oe(Ge){var tt=u(),Ue=tt.body,Ne=tt.createElement(_);Ne.language=ab,Ne.crossOrigin=W,Ne.src=Ge,webModule.__errFn&&(Ne.onerror=function(){webModule.__errFn(L,new Error(bb+Ge))}),Ue.appendChild(Ne)}tn(function(){Oe(en)})}webModule.__startLoadingFragment=function(en){return C(en)},webModule.__installRunAsyncCode=function(en){var tn=u(),Oe=tn.body,Ge=tn.createElement(_);Ge.language=ab,Ge.text=en,Oe.appendChild(Ge),Oe.removeChild(Ge)};function A(){for(var c={},d,e,f=o.getElementsByTagName(fb),g=O,h=f.length;g<h;++g){var i=f[g],j=i.getAttribute(gb),k;if(j){if(j=j.replace(hb,W),j.indexOf(ib)>=O)continue;if(j==jb){if(k=i.getAttribute(kb),k){var l,m=k.indexOf(lb);m>=O?(j=k.substring(O,m),l=k.substring(m+P)):(j=k,l=W),c[j]=l}}else if(j==mb){if(k=i.getAttribute(kb),k)try{d=eval(k)}catch(en){alert(nb+k+ob)}}else if(j==pb&&(k=i.getAttribute(kb),k))try{e=eval(k)}catch(en){alert(nb+k+qb)}}}__gwt_getMetaProperty=function(en){var tn=c[en];return tn==null?null:tn},r=d,webModule.__errFn=e}function B(){function en(Ke){var Be=Ke.lastIndexOf(rb);Be==-1&&(Be=Ke.length);var we=Ke.indexOf(sb);we==-1&&(we=Ke.length);var Te=Ke.lastIndexOf(tb,Math.min(we,Be));return Te>=O?Ke.substring(O,Te+P):W}function tn(Ke){if(!Ke.match(/^\w+:\/\//)){var Be=o.createElement(ub);Be.src=Ke+vb,Ke=en(Be.src)}return Ke}function Oe(){var Ke=__gwt_getMetaProperty(wb);return Ke!=null?Ke:W}function Ge(){for(var Ke=o.getElementsByTagName(_),Be=O;Be<Ke.length;++Be)if(Ke[Be].src.indexOf(xb)!=-1)return en(Ke[Be].src);return W}function tt(){var Ke=o.getElementsByTagName(yb);return Ke.length>O?Ke[Ke.length-P].href:W}function Ue(){var Ke=o.location;return Ke.href==Ke.protocol+zb+Ke.host+Ke.pathname+Ke.search+Ke.hash}var Ne=Oe();return Ne==W&&(Ne=Ge()),Ne==W&&(Ne=tt()),Ne==W&&Ue()&&(Ne=en(o.location.href)),Ne=tn(Ne),Ne}function C(en){return en.match(/^\//)||en.match(/^[a-zA-Z]+:\/\//)?en:webModule.__moduleBase+en}function D(){var en=[],tn=O,Oe=[],Ge=[];function tt(Ke){var Be=Ge[Ke](),we=Oe[Ke];if(Be in we)return Be;var Te=[];for(var ke in we)Te[we[ke]]=ke;throw r&&r(Ke,Te,Be),null}if(__gwt_isKnownPropertyValue=function(Ke,Be){return Be in Oe[Ke]},webModule.__getPropMap=function(){var Ke={};for(var Be in Oe)Oe.hasOwnProperty(Be)&&(Ke[Be]=tt(Be));return Ke},webModule.__computePropValue=tt,n.__gwt_activeModules[L].bindings=webModule.__getPropMap,p())return C(Bb);var Ue;try{Ue=Cb;var Ne=Ue.indexOf(Db);Ne!=-1&&(tn=parseInt(Ue.substring(Ne+P),$),Ue=Ue.substring(O,Ne))}catch(Ke){}return webModule.__softPermutationId=tn,C(Ue+Eb)}function F(){n.__gwt_stylesLoaded||(n.__gwt_stylesLoaded={})}A(),webModule.__moduleBase="/js/mathematicalGraphics/"+name+"/",s[L].moduleBase=webModule.__moduleBase;var G=D();return F(),w(G),!0}return webModule},typeof window.web3d!="function"&&(window.web3d=GGBAppletUtils.makeModule("web3d","A18F540516513B1292CA7CEF2F6AFC7E")),typeof window.webSimple!="function"&&(window.webSimple=GGBAppletUtils.makeModule("webSimple","96B09BF1B436BF53F0DF54116700F16A")),window.GGBApplet=GGBApplet})()},16996:function(en,tn){var Oe=(Ge,tt,Ue)=>new Promise((Ne,Ke)=>{var Be=ke=>{try{Te(Ue.next(ke))}catch(Ie){Ke(Ie)}},we=ke=>{try{Te(Ue.throw(ke))}catch(Ie){Ke(Ie)}},Te=ke=>ke.done?Ne(ke.value):Promise.resolve(ke.value).then(Be,we);Te((Ue=Ue.apply(Ge,tt)).next())});(function(Ge,tt){tt(tn)})(this,function(Ge){"use strict";var tt={value:()=>{}};function Ue(){for(var dt,Ot=0,zt=arguments.length,$t={};Ot<zt;++Ot){if(!(dt=arguments[Ot]+"")||dt in $t||/[\s.]/.test(dt))throw new Error("illegal type: "+dt);$t[dt]=[]}return new Ne($t)}function Ne(dt){this._=dt}function Ke(dt,Ot){return dt.trim().split(/^|\s+/).map(function(zt){var $t="",pn=zt.indexOf(".");if(pn>=0&&($t=zt.slice(pn+1),zt=zt.slice(0,pn)),zt&&!Ot.hasOwnProperty(zt))throw new Error("unknown type: "+zt);return{type:zt,name:$t}})}function Be(dt,Ot){for(var zt,$t=0,pn=dt.length;$t<pn;++$t)if((zt=dt[$t]).name===Ot)return zt.value}function we(dt,Ot,zt){for(var $t=0,pn=dt.length;$t<pn;++$t)if(dt[$t].name===Ot){dt[$t]=tt,dt=dt.slice(0,$t).concat(dt.slice($t+1));break}return zt!=null&&dt.push({name:Ot,value:zt}),dt}Ne.prototype=Ue.prototype={constructor:Ne,on:function(dt,Ot){var zt,$t=this._,pn=Ke(dt+"",$t),mn=-1,In=pn.length;if(!(arguments.length<2)){if(Ot!=null&&typeof Ot!="function")throw new Error("invalid callback: "+Ot);for(;++mn<In;)if(zt=(dt=pn[mn]).type)$t[zt]=we($t[zt],dt.name,Ot);else if(Ot==null)for(zt in $t)$t[zt]=we($t[zt],dt.name,null);return this}for(;++mn<In;)if((zt=(dt=pn[mn]).type)&&(zt=Be($t[zt],dt.name)))return zt},copy:function(){var dt={},Ot=this._;for(var zt in Ot)dt[zt]=Ot[zt].slice();return new Ne(dt)},call:function(dt,Ot){if((zt=arguments.length-2)>0)for(var zt,$t,pn=new Array(zt),mn=0;mn<zt;++mn)pn[mn]=arguments[mn+2];if(!this._.hasOwnProperty(dt))throw new Error("unknown type: "+dt);for(mn=0,zt=($t=this._[dt]).length;mn<zt;++mn)$t[mn].value.apply(Ot,pn)},apply:function(dt,Ot,zt){if(!this._.hasOwnProperty(dt))throw new Error("unknown type: "+dt);for(var $t=this._[dt],pn=0,mn=$t.length;pn<mn;++pn)$t[pn].value.apply(Ot,zt)}};var Te="http://www.w3.org/1999/xhtml",ke={svg:"http://www.w3.org/2000/svg",xhtml:Te,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Ie(dt){var Ot=dt+="",zt=Ot.indexOf(":");return zt>=0&&(Ot=dt.slice(0,zt))!=="xmlns"&&(dt=dt.slice(zt+1)),ke.hasOwnProperty(Ot)?{space:ke[Ot],local:dt}:dt}function Ce(dt){return function(){var Ot=this.ownerDocument,zt=this.namespaceURI;return zt===Te&&Ot.documentElement.namespaceURI===Te?Ot.createElement(dt):Ot.createElementNS(zt,dt)}}function Me(dt){return function(){return this.ownerDocument.createElementNS(dt.space,dt.local)}}function je(dt){var Ot=Ie(dt);return(Ot.local?Me:Ce)(Ot)}function ye(){}function ie(dt){return dt==null?ye:function(){return this.querySelector(dt)}}function ae(dt){return dt==null?[]:Array.isArray(dt)?dt:Array.from(dt)}function fe(){return[]}function de(dt){return dt==null?fe:function(){return this.querySelectorAll(dt)}}function ve(dt){return function(){return this.matches(dt)}}function xe(dt){return function(Ot){return Ot.matches(dt)}}var ce=Array.prototype.find;function pe(){return this.firstElementChild}var Se=Array.prototype.filter;function Le(){return Array.from(this.children)}function ze(dt){return new Array(dt.length)}function Ze(dt,Ot){this.ownerDocument=dt.ownerDocument,this.namespaceURI=dt.namespaceURI,this._next=null,this._parent=dt,this.__data__=Ot}function Ve(dt){return function(){return dt}}function Qe(dt,Ot,zt,$t,pn,mn){for(var In,xn=0,qn=Ot.length,Wn=mn.length;xn<Wn;++xn)(In=Ot[xn])?(In.__data__=mn[xn],$t[xn]=In):zt[xn]=new Ze(dt,mn[xn]);for(;xn<qn;++xn)(In=Ot[xn])&&(pn[xn]=In)}function $e(dt,Ot,zt,$t,pn,mn,In){var xn,qn,Wn,ar=new Map,Ir=Ot.length,Er=mn.length,Yr=new Array(Ir);for(xn=0;xn<Ir;++xn)(qn=Ot[xn])&&(Yr[xn]=Wn=In.call(qn,qn.__data__,xn,Ot)+"",ar.has(Wn)?pn[xn]=qn:ar.set(Wn,qn));for(xn=0;xn<Er;++xn)Wn=In.call(dt,mn[xn],xn,mn)+"",(qn=ar.get(Wn))?($t[xn]=qn,qn.__data__=mn[xn],ar.delete(Wn)):zt[xn]=new Ze(dt,mn[xn]);for(xn=0;xn<Ir;++xn)(qn=Ot[xn])&&ar.get(Yr[xn])===qn&&(pn[xn]=qn)}function gt(dt){return dt.__data__}function lt(dt){return typeof dt=="object"&&"length"in dt?dt:Array.from(dt)}function At(dt,Ot){return dt<Ot?-1:dt>Ot?1:dt>=Ot?0:NaN}function Et(dt){return function(){this.removeAttribute(dt)}}function vt(dt){return function(){this.removeAttributeNS(dt.space,dt.local)}}function Lt(dt,Ot){return function(){this.setAttribute(dt,Ot)}}function St(dt,Ot){return function(){this.setAttributeNS(dt.space,dt.local,Ot)}}function xt(dt,Ot){return function(){var zt=Ot.apply(this,arguments);zt==null?this.removeAttribute(dt):this.setAttribute(dt,zt)}}function ct(dt,Ot){return function(){var zt=Ot.apply(this,arguments);zt==null?this.removeAttributeNS(dt.space,dt.local):this.setAttributeNS(dt.space,dt.local,zt)}}function Dt(dt){return dt.ownerDocument&&dt.ownerDocument.defaultView||dt.document&&dt||dt.defaultView}function Xt(dt){return function(){this.style.removeProperty(dt)}}function kt(dt,Ot,zt){return function(){this.style.setProperty(dt,Ot,zt)}}function Rt(dt,Ot,zt){return function(){var $t=Ot.apply(this,arguments);$t==null?this.style.removeProperty(dt):this.style.setProperty(dt,$t,zt)}}function Gt(dt,Ot){return dt.style.getPropertyValue(Ot)||Dt(dt).getComputedStyle(dt,null).getPropertyValue(Ot)}function ln(dt){return function(){delete this[dt]}}function Rn(dt,Ot){return function(){this[dt]=Ot}}function jn(dt,Ot){return function(){var zt=Ot.apply(this,arguments);zt==null?delete this[dt]:this[dt]=zt}}function er(dt){return dt.trim().split(/^|\s+/)}function an(dt){return dt.classList||new Un(dt)}function Un(dt){this._node=dt,this._names=er(dt.getAttribute("class")||"")}function Kn(dt,Ot){for(var zt=an(dt),$t=-1,pn=Ot.length;++$t<pn;)zt.add(Ot[$t])}function ur(dt,Ot){for(var zt=an(dt),$t=-1,pn=Ot.length;++$t<pn;)zt.remove(Ot[$t])}function Xn(dt){return function(){Kn(this,dt)}}function Nn(dt){return function(){ur(this,dt)}}function _n(dt,Ot){return function(){(Ot.apply(this,arguments)?Kn:ur)(this,dt)}}function un(){this.textContent=""}function qt(dt){return function(){this.textContent=dt}}function Yt(dt){return function(){var Ot=dt.apply(this,arguments);this.textContent=Ot==null?"":Ot}}function gn(){this.innerHTML=""}function _t(dt){return function(){this.innerHTML=dt}}function Jt(dt){return function(){var Ot=dt.apply(this,arguments);this.innerHTML=Ot==null?"":Ot}}function wt(){this.nextSibling&&this.parentNode.appendChild(this)}function ut(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ot(){return null}function Pt(){var dt=this.parentNode;dt&&dt.removeChild(this)}function Ht(){var dt=this.cloneNode(!1),Ot=this.parentNode;return Ot?Ot.insertBefore(dt,this.nextSibling):dt}function Mt(){var dt=this.cloneNode(!0),Ot=this.parentNode;return Ot?Ot.insertBefore(dt,this.nextSibling):dt}function hn(dt){return dt.trim().split(/^|\s+/).map(function(Ot){var zt="",$t=Ot.indexOf(".");return $t>=0&&(zt=Ot.slice($t+1),Ot=Ot.slice(0,$t)),{type:Ot,name:zt}})}function rr(dt){return function(){var Ot=this.__on;if(Ot){for(var zt,$t=0,pn=-1,mn=Ot.length;$t<mn;++$t)zt=Ot[$t],dt.type&&zt.type!==dt.type||zt.name!==dt.name?Ot[++pn]=zt:this.removeEventListener(zt.type,zt.listener,zt.options);++pn?Ot.length=pn:delete this.__on}}}function Jn(dt,Ot,zt){return function(){var $t,pn=this.__on,mn=function(qn){return function(Wn){qn.call(this,Wn,this.__data__)}}(Ot);if(pn){for(var In=0,xn=pn.length;In<xn;++In)if(($t=pn[In]).type===dt.type&&$t.name===dt.name)return this.removeEventListener($t.type,$t.listener,$t.options),this.addEventListener($t.type,$t.listener=mn,$t.options=zt),void($t.value=Ot)}this.addEventListener(dt.type,mn,zt),$t={type:dt.type,name:dt.name,value:Ot,listener:mn,options:zt},pn?pn.push($t):this.__on=[$t]}}function An(dt,Ot,zt){var $t=Dt(dt),pn=$t.CustomEvent;typeof pn=="function"?pn=new pn(Ot,zt):(pn=$t.document.createEvent("Event"),zt?(pn.initEvent(Ot,zt.bubbles,zt.cancelable),pn.detail=zt.detail):pn.initEvent(Ot,!1,!1)),dt.dispatchEvent(pn)}function $n(dt,Ot){return function(){return An(this,dt,Ot)}}function xr(dt,Ot){return function(){return An(this,dt,Ot.apply(this,arguments))}}Ze.prototype={constructor:Ze,appendChild:function(dt){return this._parent.insertBefore(dt,this._next)},insertBefore:function(dt,Ot){return this._parent.insertBefore(dt,Ot)},querySelector:function(dt){return this._parent.querySelector(dt)},querySelectorAll:function(dt){return this._parent.querySelectorAll(dt)}},Un.prototype={add:function(dt){this._names.indexOf(dt)<0&&(this._names.push(dt),this._node.setAttribute("class",this._names.join(" ")))},remove:function(dt){var Ot=this._names.indexOf(dt);Ot>=0&&(this._names.splice(Ot,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(dt){return this._names.indexOf(dt)>=0}};var mr=[null];function Qr(dt,Ot){this._groups=dt,this._parents=Ot}function di(){return new Qr([[document.documentElement]],mr)}function li(dt){return typeof dt=="string"?new Qr([[document.querySelector(dt)]],[document.documentElement]):new Qr([[dt]],mr)}function Ai(dt,Ot){if(dt=function(mn){let In;for(;In=mn.sourceEvent;)mn=In;return mn}(dt),Ot===void 0&&(Ot=dt.currentTarget),Ot){var zt=Ot.ownerSVGElement||Ot;if(zt.createSVGPoint){var $t=zt.createSVGPoint();return $t.x=dt.clientX,$t.y=dt.clientY,[($t=$t.matrixTransform(Ot.getScreenCTM().inverse())).x,$t.y]}if(Ot.getBoundingClientRect){var pn=Ot.getBoundingClientRect();return[dt.clientX-pn.left-Ot.clientLeft,dt.clientY-pn.top-Ot.clientTop]}}return[dt.pageX,dt.pageY]}Qr.prototype=di.prototype={constructor:Qr,select:function(dt){typeof dt!="function"&&(dt=ie(dt));for(var Ot=this._groups,zt=Ot.length,$t=new Array(zt),pn=0;pn<zt;++pn)for(var mn,In,xn=Ot[pn],qn=xn.length,Wn=$t[pn]=new Array(qn),ar=0;ar<qn;++ar)(mn=xn[ar])&&(In=dt.call(mn,mn.__data__,ar,xn))&&("__data__"in mn&&(In.__data__=mn.__data__),Wn[ar]=In);return new Qr($t,this._parents)},selectAll:function(dt){dt=typeof dt=="function"?function(ar){return function(){return ae(ar.apply(this,arguments))}}(dt):de(dt);for(var Ot=this._groups,zt=Ot.length,$t=[],pn=[],mn=0;mn<zt;++mn)for(var In,xn=Ot[mn],qn=xn.length,Wn=0;Wn<qn;++Wn)(In=xn[Wn])&&($t.push(dt.call(In,In.__data__,Wn,xn)),pn.push(In));return new Qr($t,pn)},selectChild:function(dt){return this.select(dt==null?pe:function(Ot){return function(){return ce.call(this.children,Ot)}}(typeof dt=="function"?dt:xe(dt)))},selectChildren:function(dt){return this.selectAll(dt==null?Le:function(Ot){return function(){return Se.call(this.children,Ot)}}(typeof dt=="function"?dt:xe(dt)))},filter:function(dt){typeof dt!="function"&&(dt=ve(dt));for(var Ot=this._groups,zt=Ot.length,$t=new Array(zt),pn=0;pn<zt;++pn)for(var mn,In=Ot[pn],xn=In.length,qn=$t[pn]=[],Wn=0;Wn<xn;++Wn)(mn=In[Wn])&&dt.call(mn,mn.__data__,Wn,In)&&qn.push(mn);return new Qr($t,this._parents)},data:function(dt,Ot){if(!arguments.length)return Array.from(this,gt);var zt=Ot?$e:Qe,$t=this._parents,pn=this._groups;typeof dt!="function"&&(dt=Ve(dt));for(var mn=pn.length,In=new Array(mn),xn=new Array(mn),qn=new Array(mn),Wn=0;Wn<mn;++Wn){var ar=$t[Wn],Ir=pn[Wn],Er=Ir.length,Yr=lt(dt.call(ar,ar&&ar.__data__,Wn,$t)),jr=Yr.length,kr=xn[Wn]=new Array(jr),zr=In[Wn]=new Array(jr),_r=qn[Wn]=new Array(Er);zt(ar,Ir,kr,zr,_r,Yr,Ot);for(var Vr,Ti,to=0,pa=0;to<jr;++to)if(Vr=kr[to]){for(to>=pa&&(pa=to+1);!(Ti=zr[pa])&&++pa<jr;);Vr._next=Ti||null}}return(In=new Qr(In,$t))._enter=xn,In._exit=qn,In},enter:function(){return new Qr(this._enter||this._groups.map(ze),this._parents)},exit:function(){return new Qr(this._exit||this._groups.map(ze),this._parents)},join:function(dt,Ot,zt){var $t=this.enter(),pn=this,mn=this.exit();return typeof dt=="function"?($t=dt($t))&&($t=$t.selection()):$t=$t.append(dt+""),Ot!=null&&(pn=Ot(pn))&&(pn=pn.selection()),zt==null?mn.remove():zt(mn),$t&&pn?$t.merge(pn).order():pn},merge:function(dt){for(var Ot=dt.selection?dt.selection():dt,zt=this._groups,$t=Ot._groups,pn=zt.length,mn=$t.length,In=Math.min(pn,mn),xn=new Array(pn),qn=0;qn<In;++qn)for(var Wn,ar=zt[qn],Ir=$t[qn],Er=ar.length,Yr=xn[qn]=new Array(Er),jr=0;jr<Er;++jr)(Wn=ar[jr]||Ir[jr])&&(Yr[jr]=Wn);for(;qn<pn;++qn)xn[qn]=zt[qn];return new Qr(xn,this._parents)},selection:function(){return this},order:function(){for(var dt=this._groups,Ot=-1,zt=dt.length;++Ot<zt;)for(var $t,pn=dt[Ot],mn=pn.length-1,In=pn[mn];--mn>=0;)($t=pn[mn])&&(In&&4^$t.compareDocumentPosition(In)&&In.parentNode.insertBefore($t,In),In=$t);return this},sort:function(dt){function Ot(Ir,Er){return Ir&&Er?dt(Ir.__data__,Er.__data__):!Ir-!Er}dt||(dt=At);for(var zt=this._groups,$t=zt.length,pn=new Array($t),mn=0;mn<$t;++mn){for(var In,xn=zt[mn],qn=xn.length,Wn=pn[mn]=new Array(qn),ar=0;ar<qn;++ar)(In=xn[ar])&&(Wn[ar]=In);Wn.sort(Ot)}return new Qr(pn,this._parents).order()},call:function(){var dt=arguments[0];return arguments[0]=this,dt.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var dt=this._groups,Ot=0,zt=dt.length;Ot<zt;++Ot)for(var $t=dt[Ot],pn=0,mn=$t.length;pn<mn;++pn){var In=$t[pn];if(In)return In}return null},size:function(){let dt=0;for(const Ot of this)++dt;return dt},empty:function(){return!this.node()},each:function(dt){for(var Ot=this._groups,zt=0,$t=Ot.length;zt<$t;++zt)for(var pn,mn=Ot[zt],In=0,xn=mn.length;In<xn;++In)(pn=mn[In])&&dt.call(pn,pn.__data__,In,mn);return this},attr:function(dt,Ot){var zt=Ie(dt);if(arguments.length<2){var $t=this.node();return zt.local?$t.getAttributeNS(zt.space,zt.local):$t.getAttribute(zt)}return this.each((Ot==null?zt.local?vt:Et:typeof Ot=="function"?zt.local?ct:xt:zt.local?St:Lt)(zt,Ot))},style:function(dt,Ot,zt){return arguments.length>1?this.each((Ot==null?Xt:typeof Ot=="function"?Rt:kt)(dt,Ot,zt==null?"":zt)):Gt(this.node(),dt)},property:function(dt,Ot){return arguments.length>1?this.each((Ot==null?ln:typeof Ot=="function"?jn:Rn)(dt,Ot)):this.node()[dt]},classed:function(dt,Ot){var zt=er(dt+"");if(arguments.length<2){for(var $t=an(this.node()),pn=-1,mn=zt.length;++pn<mn;)if(!$t.contains(zt[pn]))return!1;return!0}return this.each((typeof Ot=="function"?_n:Ot?Xn:Nn)(zt,Ot))},text:function(dt){return arguments.length?this.each(dt==null?un:(typeof dt=="function"?Yt:qt)(dt)):this.node().textContent},html:function(dt){return arguments.length?this.each(dt==null?gn:(typeof dt=="function"?Jt:_t)(dt)):this.node().innerHTML},raise:function(){return this.each(wt)},lower:function(){return this.each(ut)},append:function(dt){var Ot=typeof dt=="function"?dt:je(dt);return this.select(function(){return this.appendChild(Ot.apply(this,arguments))})},insert:function(dt,Ot){var zt=typeof dt=="function"?dt:je(dt),$t=Ot==null?ot:typeof Ot=="function"?Ot:ie(Ot);return this.select(function(){return this.insertBefore(zt.apply(this,arguments),$t.apply(this,arguments)||null)})},remove:function(){return this.each(Pt)},clone:function(dt){return this.select(dt?Mt:Ht)},datum:function(dt){return arguments.length?this.property("__data__",dt):this.node().__data__},on:function(dt,Ot,zt){var $t,pn,mn=hn(dt+""),In=mn.length;if(!(arguments.length<2)){for(xn=Ot?Jn:rr,$t=0;$t<In;++$t)this.each(xn(mn[$t],Ot,zt));return this}var xn=this.node().__on;if(xn){for(var qn,Wn=0,ar=xn.length;Wn<ar;++Wn)for($t=0,qn=xn[Wn];$t<In;++$t)if((pn=mn[$t]).type===qn.type&&pn.name===qn.name)return qn.value}},dispatch:function(dt,Ot){return this.each((typeof Ot=="function"?xr:$n)(dt,Ot))},[Symbol.iterator]:function*(){for(var dt=this._groups,Ot=0,zt=dt.length;Ot<zt;++Ot)for(var $t,pn=dt[Ot],mn=0,In=pn.length;mn<In;++mn)($t=pn[mn])&&(yield $t)}};const fo={passive:!1},Io={capture:!0,passive:!1};function bo(dt){dt.stopImmediatePropagation()}function ai(dt){dt.preventDefault(),dt.stopImmediatePropagation()}function Pi(dt){var Ot=dt.document.documentElement,zt=li(dt).on("dragstart.drag",ai,Io);"onselectstart"in Ot?zt.on("selectstart.drag",ai,Io):(Ot.__noselect=Ot.style.MozUserSelect,Ot.style.MozUserSelect="none")}function ao(dt,Ot){var zt=dt.document.documentElement,$t=li(dt).on("dragstart.drag",null);Ot&&($t.on("click.drag",ai,Io),setTimeout(function(){$t.on("click.drag",null)},0)),"onselectstart"in zt?$t.on("selectstart.drag",null):(zt.style.MozUserSelect=zt.__noselect,delete zt.__noselect)}var Jr=dt=>()=>dt;function oo(dt,{sourceEvent:Ot,subject:zt,target:$t,identifier:pn,active:mn,x:In,y:xn,dx:qn,dy:Wn,dispatch:ar}){Object.defineProperties(this,{type:{value:dt,enumerable:!0,configurable:!0},sourceEvent:{value:Ot,enumerable:!0,configurable:!0},subject:{value:zt,enumerable:!0,configurable:!0},target:{value:$t,enumerable:!0,configurable:!0},identifier:{value:pn,enumerable:!0,configurable:!0},active:{value:mn,enumerable:!0,configurable:!0},x:{value:In,enumerable:!0,configurable:!0},y:{value:xn,enumerable:!0,configurable:!0},dx:{value:qn,enumerable:!0,configurable:!0},dy:{value:Wn,enumerable:!0,configurable:!0},_:{value:ar}})}function zi(dt){return!dt.ctrlKey&&!dt.button}function It(){return this.parentNode}function Yo(dt,Ot){return Ot==null?{x:dt.x,y:dt.y}:Ot}function ko(){return navigator.maxTouchPoints||"ontouchstart"in this}function Fr(dt,Ot,zt){dt.prototype=Ot.prototype=zt,zt.constructor=dt}function Bi(dt,Ot){var zt=Object.create(dt.prototype);for(var $t in Ot)zt[$t]=Ot[$t];return zt}function Fi(){}oo.prototype.on=function(){var dt=this._.on.apply(this._,arguments);return dt===this._?this:dt};var Qi=.7,ii=1/Qi,Nt="\\s*([+-]?\\d+)\\s*",De="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",He="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Re=/^#([0-9a-f]{3,8})$/,et=new RegExp(`^rgb\\(${Nt},${Nt},${Nt}\\)$`),ft=new RegExp(`^rgb\\(${He},${He},${He}\\)$`),Bt=new RegExp(`^rgba\\(${Nt},${Nt},${Nt},${De}\\)$`),Ct=new RegExp(`^rgba\\(${He},${He},${He},${De}\\)$`),rn=new RegExp(`^hsl\\(${De},${He},${He}\\)$`),nn=new RegExp(`^hsla\\(${De},${He},${He},${De}\\)$`),Gn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function Sn(){return this.rgb().formatHex()}function cn(){return this.rgb().formatRgb()}function Yn(dt){var Ot,zt;return dt=(dt+"").trim().toLowerCase(),(Ot=Re.exec(dt))?(zt=Ot[1].length,Ot=parseInt(Ot[1],16),zt===6?ir(Ot):zt===3?new Bn(Ot>>8&15|Ot>>4&240,Ot>>4&15|240&Ot,(15&Ot)<<4|15&Ot,1):zt===8?fr(Ot>>24&255,Ot>>16&255,Ot>>8&255,(255&Ot)/255):zt===4?fr(Ot>>12&15|Ot>>8&240,Ot>>8&15|Ot>>4&240,Ot>>4&15|240&Ot,((15&Ot)<<4|15&Ot)/255):null):(Ot=et.exec(dt))?new Bn(Ot[1],Ot[2],Ot[3],1):(Ot=ft.exec(dt))?new Bn(255*Ot[1]/100,255*Ot[2]/100,255*Ot[3]/100,1):(Ot=Bt.exec(dt))?fr(Ot[1],Ot[2],Ot[3],Ot[4]):(Ot=Ct.exec(dt))?fr(255*Ot[1]/100,255*Ot[2]/100,255*Ot[3]/100,Ot[4]):(Ot=rn.exec(dt))?Nr(Ot[1],Ot[2]/100,Ot[3]/100,1):(Ot=nn.exec(dt))?Nr(Ot[1],Ot[2]/100,Ot[3]/100,Ot[4]):Gn.hasOwnProperty(dt)?ir(Gn[dt]):dt==="transparent"?new Bn(NaN,NaN,NaN,0):null}function ir(dt){return new Bn(dt>>16&255,dt>>8&255,255&dt,1)}function fr(dt,Ot,zt,$t){return $t<=0&&(dt=Ot=zt=NaN),new Bn(dt,Ot,zt,$t)}function On(dt){return dt instanceof Fi||(dt=Yn(dt)),dt?new Bn((dt=dt.rgb()).r,dt.g,dt.b,dt.opacity):new Bn}function dn(dt,Ot,zt,$t){return arguments.length===1?On(dt):new Bn(dt,Ot,zt,$t==null?1:$t)}function Bn(dt,Ot,zt,$t){this.r=+dt,this.g=+Ot,this.b=+zt,this.opacity=+$t}function tr(){return`#${gr(this.r)}${gr(this.g)}${gr(this.b)}`}function hr(){const dt=pr(this.opacity);return`${dt===1?"rgb(":"rgba("}${Mr(this.r)}, ${Mr(this.g)}, ${Mr(this.b)}${dt===1?")":`, ${dt})`}`}function pr(dt){return isNaN(dt)?1:Math.max(0,Math.min(1,dt))}function Mr(dt){return Math.max(0,Math.min(255,Math.round(dt)||0))}function gr(dt){return((dt=Mr(dt))<16?"0":"")+dt.toString(16)}function Nr(dt,Ot,zt,$t){return $t<=0?dt=Ot=zt=NaN:zt<=0||zt>=1?dt=Ot=NaN:Ot<=0&&(dt=NaN),new Hn(dt,Ot,zt,$t)}function Kr(dt){if(dt instanceof Hn)return new Hn(dt.h,dt.s,dt.l,dt.opacity);if(dt instanceof Fi||(dt=Yn(dt)),!dt)return new Hn;if(dt instanceof Hn)return dt;var Ot=(dt=dt.rgb()).r/255,zt=dt.g/255,$t=dt.b/255,pn=Math.min(Ot,zt,$t),mn=Math.max(Ot,zt,$t),In=NaN,xn=mn-pn,qn=(mn+pn)/2;return xn?(In=Ot===mn?(zt-$t)/xn+6*(zt<$t):zt===mn?($t-Ot)/xn+2:(Ot-zt)/xn+4,xn/=qn<.5?mn+pn:2-mn-pn,In*=60):xn=qn>0&&qn<1?0:In,new Hn(In,xn,qn,dt.opacity)}function Hn(dt,Ot,zt,$t){this.h=+dt,this.s=+Ot,this.l=+zt,this.opacity=+$t}function br(dt){return(dt=(dt||0)%360)<0?dt+360:dt}function ui(dt){return Math.max(0,Math.min(1,dt||0))}function gi(dt,Ot,zt){return 255*(dt<60?Ot+(zt-Ot)*dt/60:dt<180?zt:dt<240?Ot+(zt-Ot)*(240-dt)/60:Ot)}Fr(Fi,Yn,{copy(dt){return Object.assign(new this.constructor,this,dt)},displayable(){return this.rgb().displayable()},hex:Sn,formatHex:Sn,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return Kr(this).formatHsl()},formatRgb:cn,toString:cn}),Fr(Bn,dn,Bi(Fi,{brighter(dt){return dt=dt==null?ii:Math.pow(ii,dt),new Bn(this.r*dt,this.g*dt,this.b*dt,this.opacity)},darker(dt){return dt=dt==null?Qi:Math.pow(Qi,dt),new Bn(this.r*dt,this.g*dt,this.b*dt,this.opacity)},rgb(){return this},clamp(){return new Bn(Mr(this.r),Mr(this.g),Mr(this.b),pr(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:tr,formatHex:tr,formatHex8:function(){return`#${gr(this.r)}${gr(this.g)}${gr(this.b)}${gr(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:hr,toString:hr})),Fr(Hn,function(dt,Ot,zt,$t){return arguments.length===1?Kr(dt):new Hn(dt,Ot,zt,$t==null?1:$t)},Bi(Fi,{brighter(dt){return dt=dt==null?ii:Math.pow(ii,dt),new Hn(this.h,this.s,this.l*dt,this.opacity)},darker(dt){return dt=dt==null?Qi:Math.pow(Qi,dt),new Hn(this.h,this.s,this.l*dt,this.opacity)},rgb(){var dt=this.h%360+360*(this.h<0),Ot=isNaN(dt)||isNaN(this.s)?0:this.s,zt=this.l,$t=zt+(zt<.5?zt:1-zt)*Ot,pn=2*zt-$t;return new Bn(gi(dt>=240?dt-240:dt+120,pn,$t),gi(dt,pn,$t),gi(dt<120?dt+240:dt-120,pn,$t),this.opacity)},clamp(){return new Hn(br(this.h),ui(this.s),ui(this.l),pr(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const dt=pr(this.opacity);return`${dt===1?"hsl(":"hsla("}${br(this.h)}, ${100*ui(this.s)}%, ${100*ui(this.l)}%${dt===1?")":`, ${dt})`}`}}));var Zi=dt=>()=>dt;function nr(dt){return(dt=+dt)==1?xi:function(Ot,zt){return zt-Ot?function($t,pn,mn){return $t=Math.pow($t,mn),pn=Math.pow(pn,mn)-$t,mn=1/mn,function(In){return Math.pow($t+In*pn,mn)}}(Ot,zt,dt):Zi(isNaN(Ot)?zt:Ot)}}function xi(dt,Ot){var zt=Ot-dt;return zt?function($t,pn){return function(mn){return $t+mn*pn}}(dt,zt):Zi(isNaN(dt)?Ot:dt)}var Vi=function dt(Ot){var zt=nr(Ot);function $t(pn,mn){var In=zt((pn=dn(pn)).r,(mn=dn(mn)).r),xn=zt(pn.g,mn.g),qn=zt(pn.b,mn.b),Wn=xi(pn.opacity,mn.opacity);return function(ar){return pn.r=In(ar),pn.g=xn(ar),pn.b=qn(ar),pn.opacity=Wn(ar),pn+""}}return $t.gamma=dt,$t}(1);function Gi(dt,Ot){Ot||(Ot=[]);var zt,$t=dt?Math.min(Ot.length,dt.length):0,pn=Ot.slice();return function(mn){for(zt=0;zt<$t;++zt)pn[zt]=dt[zt]*(1-mn)+Ot[zt]*mn;return pn}}function Ao(dt,Ot){var zt,$t=Ot?Ot.length:0,pn=dt?Math.min($t,dt.length):0,mn=new Array(pn),In=new Array($t);for(zt=0;zt<pn;++zt)mn[zt]=wa(dt[zt],Ot[zt]);for(;zt<$t;++zt)In[zt]=Ot[zt];return function(xn){for(zt=0;zt<pn;++zt)In[zt]=mn[zt](xn);return In}}function io(dt,Ot){var zt=new Date;return dt=+dt,Ot=+Ot,function($t){return zt.setTime(dt*(1-$t)+Ot*$t),zt}}function Do(dt,Ot){return dt=+dt,Ot=+Ot,function(zt){return dt*(1-zt)+Ot*zt}}function Bo(dt,Ot){var zt,$t={},pn={};for(zt in dt!==null&&typeof dt=="object"||(dt={}),Ot!==null&&typeof Ot=="object"||(Ot={}),Ot)zt in dt?$t[zt]=wa(dt[zt],Ot[zt]):pn[zt]=Ot[zt];return function(mn){for(zt in $t)pn[zt]=$t[zt](mn);return pn}}var Ui=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Xo=new RegExp(Ui.source,"g");function Hr(dt,Ot){var zt,$t,pn,mn=Ui.lastIndex=Xo.lastIndex=0,In=-1,xn=[],qn=[];for(dt+="",Ot+="";(zt=Ui.exec(dt))&&($t=Xo.exec(Ot));)(pn=$t.index)>mn&&(pn=Ot.slice(mn,pn),xn[In]?xn[In]+=pn:xn[++In]=pn),(zt=zt[0])===($t=$t[0])?xn[In]?xn[In]+=$t:xn[++In]=$t:(xn[++In]=null,qn.push({i:In,x:Do(zt,$t)})),mn=Xo.lastIndex;return mn<Ot.length&&(pn=Ot.slice(mn),xn[In]?xn[In]+=pn:xn[++In]=pn),xn.length<2?qn[0]?function(Wn){return function(ar){return Wn(ar)+""}}(qn[0].x):function(Wn){return function(){return Wn}}(Ot):(Ot=qn.length,function(Wn){for(var ar,Ir=0;Ir<Ot;++Ir)xn[(ar=qn[Ir]).i]=ar.x(Wn);return xn.join("")})}function wa(dt,Ot){var zt,$t=typeof Ot;return Ot==null||$t==="boolean"?Zi(Ot):($t==="number"?Do:$t==="string"?(zt=Yn(Ot))?(Ot=zt,Vi):Hr:Ot instanceof Yn?Vi:Ot instanceof Date?io:function(pn){return ArrayBuffer.isView(pn)&&!(pn instanceof DataView)}(Ot)?Gi:Array.isArray(Ot)?Ao:typeof Ot.valueOf!="function"&&typeof Ot.toString!="function"||isNaN(Ot)?Bo:Do)(dt,Ot)}var Zr,Ca=180/Math.PI,ss={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function oa(dt,Ot,zt,$t,pn,mn){var In,xn,qn;return(In=Math.sqrt(dt*dt+Ot*Ot))&&(dt/=In,Ot/=In),(qn=dt*zt+Ot*$t)&&(zt-=dt*qn,$t-=Ot*qn),(xn=Math.sqrt(zt*zt+$t*$t))&&(zt/=xn,$t/=xn,qn/=xn),dt*$t<Ot*zt&&(dt=-dt,Ot=-Ot,qn=-qn,In=-In),{translateX:pn,translateY:mn,rotate:Math.atan2(Ot,dt)*Ca,skewX:Math.atan(qn)*Ca,scaleX:In,scaleY:xn}}function Os(dt,Ot,zt,$t){function pn(mn){return mn.length?mn.pop()+" ":""}return function(mn,In){var xn=[],qn=[];return mn=dt(mn),In=dt(In),function(Wn,ar,Ir,Er,Yr,jr){if(Wn!==Ir||ar!==Er){var kr=Yr.push("translate(",null,Ot,null,zt);jr.push({i:kr-4,x:Do(Wn,Ir)},{i:kr-2,x:Do(ar,Er)})}else(Ir||Er)&&Yr.push("translate("+Ir+Ot+Er+zt)}(mn.translateX,mn.translateY,In.translateX,In.translateY,xn,qn),function(Wn,ar,Ir,Er){Wn!==ar?(Wn-ar>180?ar+=360:ar-Wn>180&&(Wn+=360),Er.push({i:Ir.push(pn(Ir)+"rotate(",null,$t)-2,x:Do(Wn,ar)})):ar&&Ir.push(pn(Ir)+"rotate("+ar+$t)}(mn.rotate,In.rotate,xn,qn),function(Wn,ar,Ir,Er){Wn!==ar?Er.push({i:Ir.push(pn(Ir)+"skewX(",null,$t)-2,x:Do(Wn,ar)}):ar&&Ir.push(pn(Ir)+"skewX("+ar+$t)}(mn.skewX,In.skewX,xn,qn),function(Wn,ar,Ir,Er,Yr,jr){if(Wn!==Ir||ar!==Er){var kr=Yr.push(pn(Yr)+"scale(",null,",",null,")");jr.push({i:kr-4,x:Do(Wn,Ir)},{i:kr-2,x:Do(ar,Er)})}else Ir===1&&Er===1||Yr.push(pn(Yr)+"scale("+Ir+","+Er+")")}(mn.scaleX,mn.scaleY,In.scaleX,In.scaleY,xn,qn),mn=In=null,function(Wn){for(var ar,Ir=-1,Er=qn.length;++Ir<Er;)xn[(ar=qn[Ir]).i]=ar.x(Wn);return xn.join("")}}}var rs=Os(function(dt){const Ot=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(dt+"");return Ot.isIdentity?ss:oa(Ot.a,Ot.b,Ot.c,Ot.d,Ot.e,Ot.f)},"px, ","px)","deg)"),po=Os(function(dt){return dt==null?ss:(Zr||(Zr=document.createElementNS("http://www.w3.org/2000/svg","g")),Zr.setAttribute("transform",dt),(dt=Zr.transform.baseVal.consolidate())?oa((dt=dt.matrix).a,dt.b,dt.c,dt.d,dt.e,dt.f):ss)},", ",")",")");function zo(dt){return((dt=Math.exp(dt))+1/dt)/2}var za,Ka,Ji=function dt(Ot,zt,$t){function pn(mn,In){var xn,qn,Wn=mn[0],ar=mn[1],Ir=mn[2],Er=In[0],Yr=In[1],jr=In[2],kr=Er-Wn,zr=Yr-ar,_r=kr*kr+zr*zr;if(_r<1e-12)qn=Math.log(jr/Ir)/Ot,xn=function(ha){return[Wn+ha*kr,ar+ha*zr,Ir*Math.exp(Ot*ha*qn)]};else{var Vr=Math.sqrt(_r),Ti=(jr*jr-Ir*Ir+$t*_r)/(2*Ir*zt*Vr),to=(jr*jr-Ir*Ir-$t*_r)/(2*jr*zt*Vr),pa=Math.log(Math.sqrt(Ti*Ti+1)-Ti),lo=Math.log(Math.sqrt(to*to+1)-to);qn=(lo-pa)/Ot,xn=function(ha){var Zo=ha*qn,Oo=zo(pa),Ri=Ir/(zt*Vr)*(Oo*function(co){return((co=Math.exp(2*co))-1)/(co+1)}(Ot*Zo+pa)-function(co){return((co=Math.exp(co))-1/co)/2}(pa));return[Wn+Ri*kr,ar+Ri*zr,Ir*Oo/zo(Ot*Zo+pa)]}}return xn.duration=1e3*qn*Ot/Math.SQRT2,xn}return pn.rho=function(mn){var In=Math.max(.001,+mn),xn=In*In;return dt(In,xn,xn*xn)},pn}(Math.SQRT2,2,4),yn=0,ja=0,is=0,_a=0,Us=0,ma=0,aa=typeof performance=="object"&&performance.now?performance:Date,ys=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(dt){setTimeout(dt,17)};function Fs(){return Us||(ys(es),Us=aa.now()+ma)}function es(){Us=0}function ml(){this._call=this._time=this._next=null}function ta(dt,Ot,zt){var $t=new ml;return $t.restart(dt,Ot,zt),$t}function Qo(){Us=(_a=aa.now())+ma,yn=ja=0;try{(function(){Fs(),++yn;for(var dt,Ot=za;Ot;)(dt=Us-Ot._time)>=0&&Ot._call.call(void 0,dt),Ot=Ot._next;--yn})()}finally{yn=0,function(){for(var dt,Ot,zt=za,$t=1/0;zt;)zt._call?($t>zt._time&&($t=zt._time),dt=zt,zt=zt._next):(Ot=zt._next,zt._next=null,zt=dt?dt._next=Ot:za=Ot);Ka=dt,Ii($t)}(),Us=0}}function Ba(){var dt=aa.now(),Ot=dt-_a;Ot>1e3&&(ma-=Ot,_a=dt)}function Ii(dt){yn||(ja&&(ja=clearTimeout(ja)),dt-Us>24?(dt<1/0&&(ja=setTimeout(Qo,dt-aa.now()-ma)),is&&(is=clearInterval(is))):(is||(_a=aa.now(),is=setInterval(Ba,1e3)),yn=1,ys(Qo)))}function Gs(dt,Ot,zt){var $t=new ml;return Ot=Ot==null?0:+Ot,$t.restart(pn=>{$t.stop(),dt(pn+Ot)},Ot,zt),$t}ml.prototype=ta.prototype={constructor:ml,restart:function(dt,Ot,zt){if(typeof dt!="function")throw new TypeError("callback is not a function");zt=(zt==null?Fs():+zt)+(Ot==null?0:+Ot),this._next||Ka===this||(Ka?Ka._next=this:za=this,Ka=this),this._call=dt,this._time=zt,Ii()},stop:function(){this._call&&(this._call=null,this._time=1/0,Ii())}};var sl=Ue("start","end","cancel","interrupt"),ql=[];function Ki(dt,Ot,zt,$t,pn,mn){var In=dt.__transition;if(In){if(zt in In)return}else dt.__transition={};(function(xn,qn,Wn){var ar,Ir=xn.__transition;function Er(zr){Wn.state=1,Wn.timer.restart(Yr,Wn.delay,Wn.time),Wn.delay<=zr&&Yr(zr-Wn.delay)}function Yr(zr){var _r,Vr,Ti,to;if(Wn.state!==1)return kr();for(_r in Ir)if((to=Ir[_r]).name===Wn.name){if(to.state===3)return Gs(Yr);to.state===4?(to.state=6,to.timer.stop(),to.on.call("interrupt",xn,xn.__data__,to.index,to.group),delete Ir[_r]):+_r<qn&&(to.state=6,to.timer.stop(),to.on.call("cancel",xn,xn.__data__,to.index,to.group),delete Ir[_r])}if(Gs(function(){Wn.state===3&&(Wn.state=4,Wn.timer.restart(jr,Wn.delay,Wn.time),jr(zr))}),Wn.state=2,Wn.on.call("start",xn,xn.__data__,Wn.index,Wn.group),Wn.state===2){for(Wn.state=3,ar=new Array(Ti=Wn.tween.length),_r=0,Vr=-1;_r<Ti;++_r)(to=Wn.tween[_r].value.call(xn,xn.__data__,Wn.index,Wn.group))&&(ar[++Vr]=to);ar.length=Vr+1}}function jr(zr){for(var _r=zr<Wn.duration?Wn.ease.call(null,zr/Wn.duration):(Wn.timer.restart(kr),Wn.state=5,1),Vr=-1,Ti=ar.length;++Vr<Ti;)ar[Vr].call(xn,_r);Wn.state===5&&(Wn.on.call("end",xn,xn.__data__,Wn.index,Wn.group),kr())}function kr(){for(var zr in Wn.state=6,Wn.timer.stop(),delete Ir[qn],Ir)return;delete xn.__transition}Ir[qn]=Wn,Wn.timer=ta(Er,0,Wn.time)})(dt,zt,{name:Ot,index:$t,group:pn,on:sl,tween:ql,time:mn.time,delay:mn.delay,duration:mn.duration,ease:mn.ease,timer:null,state:0})}function xs(dt,Ot){var zt=yl(dt,Ot);if(zt.state>0)throw new Error("too late; already scheduled");return zt}function zs(dt,Ot){var zt=yl(dt,Ot);if(zt.state>3)throw new Error("too late; already running");return zt}function yl(dt,Ot){var zt=dt.__transition;if(!zt||!(zt=zt[Ot]))throw new Error("transition not found");return zt}function tl(dt,Ot){var zt,$t,pn,mn=dt.__transition,In=!0;if(mn){for(pn in Ot=Ot==null?null:Ot+"",mn)(zt=mn[pn]).name===Ot?($t=zt.state>2&&zt.state<5,zt.state=6,zt.timer.stop(),zt.on.call($t?"interrupt":"cancel",dt,dt.__data__,zt.index,zt.group),delete mn[pn]):In=!1;In&&delete dt.__transition}}function Ms(dt,Ot){var zt,$t;return function(){var pn=zs(this,dt),mn=pn.tween;if(mn!==zt){for(var In=0,xn=($t=zt=mn).length;In<xn;++In)if($t[In].name===Ot){($t=$t.slice()).splice(In,1);break}}pn.tween=$t}}function Au(dt,Ot,zt){var $t,pn;if(typeof zt!="function")throw new Error;return function(){var mn=zs(this,dt),In=mn.tween;if(In!==$t){pn=($t=In).slice();for(var xn={name:Ot,value:zt},qn=0,Wn=pn.length;qn<Wn;++qn)if(pn[qn].name===Ot){pn[qn]=xn;break}qn===Wn&&pn.push(xn)}mn.tween=pn}}function Ur(dt,Ot,zt){var $t=dt._id;return dt.each(function(){var pn=zs(this,$t);(pn.value||(pn.value={}))[Ot]=zt.apply(this,arguments)}),function(pn){return yl(pn,$t).value[Ot]}}function Su(dt,Ot){var zt;return(typeof Ot=="number"?Do:Ot instanceof Yn?Vi:(zt=Yn(Ot))?(Ot=zt,Vi):Hr)(dt,Ot)}function gh(dt){return function(){this.removeAttribute(dt)}}function Wc(dt){return function(){this.removeAttributeNS(dt.space,dt.local)}}function Ns(dt,Ot,zt){var $t,pn,mn=zt+"";return function(){var In=this.getAttribute(dt);return In===mn?null:In===$t?pn:pn=Ot($t=In,zt)}}function Sl(dt,Ot,zt){var $t,pn,mn=zt+"";return function(){var In=this.getAttributeNS(dt.space,dt.local);return In===mn?null:In===$t?pn:pn=Ot($t=In,zt)}}function lu(dt,Ot,zt){var $t,pn,mn;return function(){var In,xn,qn=zt(this);if(qn!=null)return(In=this.getAttribute(dt))===(xn=qn+"")?null:In===$t&&xn===pn?mn:(pn=xn,mn=Ot($t=In,qn));this.removeAttribute(dt)}}function gl(dt,Ot,zt){var $t,pn,mn;return function(){var In,xn,qn=zt(this);if(qn!=null)return(In=this.getAttributeNS(dt.space,dt.local))===(xn=qn+"")?null:In===$t&&xn===pn?mn:(pn=xn,mn=Ot($t=In,qn));this.removeAttributeNS(dt.space,dt.local)}}function Hs(dt,Ot){return function(zt){this.setAttribute(dt,Ot.call(this,zt))}}function Al(dt,Ot){return function(zt){this.setAttributeNS(dt.space,dt.local,Ot.call(this,zt))}}function Wu(dt,Ot){var zt,$t;function pn(){var mn=Ot.apply(this,arguments);return mn!==$t&&(zt=($t=mn)&&Al(dt,mn)),zt}return pn._value=Ot,pn}function ls(dt,Ot){var zt,$t;function pn(){var mn=Ot.apply(this,arguments);return mn!==$t&&(zt=($t=mn)&&Hs(dt,mn)),zt}return pn._value=Ot,pn}function ns(dt,Ot){return function(){xs(this,dt).delay=+Ot.apply(this,arguments)}}function Vs(dt,Ot){return Ot=+Ot,function(){xs(this,dt).delay=Ot}}function jo(dt,Ot){return function(){zs(this,dt).duration=+Ot.apply(this,arguments)}}function Ru(dt,Ot){return Ot=+Ot,function(){zs(this,dt).duration=Ot}}function Uu(dt,Ot){if(typeof Ot!="function")throw new Error;return function(){zs(this,dt).ease=Ot}}function Oc(dt,Ot,zt){var $t,pn,mn=function(In){return(In+"").trim().split(/^|\s+/).every(function(xn){var qn=xn.indexOf(".");return qn>=0&&(xn=xn.slice(0,qn)),!xn||xn==="start"})}(Ot)?xs:zs;return function(){var In=mn(this,dt),xn=In.on;xn!==$t&&(pn=($t=xn).copy()).on(Ot,zt),In.on=pn}}var ph=di.prototype.constructor;function Kh(dt){return function(){this.style.removeProperty(dt)}}function So(dt,Ot,zt){return function($t){this.style.setProperty(dt,Ot.call(this,$t),zt)}}function uu(dt,Ot,zt){var $t,pn;function mn(){var In=Ot.apply(this,arguments);return In!==pn&&($t=(pn=In)&&So(dt,In,zt)),$t}return mn._value=Ot,mn}function Ya(dt){return function(Ot){this.textContent=dt.call(this,Ot)}}function Rh(dt){var Ot,zt;function $t(){var pn=dt.apply(this,arguments);return pn!==zt&&(Ot=(zt=pn)&&Ya(pn)),Ot}return $t._value=dt,$t}var Zh=0;function Ac(dt,Ot,zt,$t){this._groups=dt,this._parents=Ot,this._name=zt,this._id=$t}function us(){return++Zh}var th=di.prototype;Ac.prototype={constructor:Ac,select:function(dt){var Ot=this._name,zt=this._id;typeof dt!="function"&&(dt=ie(dt));for(var $t=this._groups,pn=$t.length,mn=new Array(pn),In=0;In<pn;++In)for(var xn,qn,Wn=$t[In],ar=Wn.length,Ir=mn[In]=new Array(ar),Er=0;Er<ar;++Er)(xn=Wn[Er])&&(qn=dt.call(xn,xn.__data__,Er,Wn))&&("__data__"in xn&&(qn.__data__=xn.__data__),Ir[Er]=qn,Ki(Ir[Er],Ot,zt,Er,Ir,yl(xn,zt)));return new Ac(mn,this._parents,Ot,zt)},selectAll:function(dt){var Ot=this._name,zt=this._id;typeof dt!="function"&&(dt=de(dt));for(var $t=this._groups,pn=$t.length,mn=[],In=[],xn=0;xn<pn;++xn)for(var qn,Wn=$t[xn],ar=Wn.length,Ir=0;Ir<ar;++Ir)if(qn=Wn[Ir]){for(var Er,Yr=dt.call(qn,qn.__data__,Ir,Wn),jr=yl(qn,zt),kr=0,zr=Yr.length;kr<zr;++kr)(Er=Yr[kr])&&Ki(Er,Ot,zt,kr,Yr,jr);mn.push(Yr),In.push(qn)}return new Ac(mn,In,Ot,zt)},selectChild:th.selectChild,selectChildren:th.selectChildren,filter:function(dt){typeof dt!="function"&&(dt=ve(dt));for(var Ot=this._groups,zt=Ot.length,$t=new Array(zt),pn=0;pn<zt;++pn)for(var mn,In=Ot[pn],xn=In.length,qn=$t[pn]=[],Wn=0;Wn<xn;++Wn)(mn=In[Wn])&&dt.call(mn,mn.__data__,Wn,In)&&qn.push(mn);return new Ac($t,this._parents,this._name,this._id)},merge:function(dt){if(dt._id!==this._id)throw new Error;for(var Ot=this._groups,zt=dt._groups,$t=Ot.length,pn=zt.length,mn=Math.min($t,pn),In=new Array($t),xn=0;xn<mn;++xn)for(var qn,Wn=Ot[xn],ar=zt[xn],Ir=Wn.length,Er=In[xn]=new Array(Ir),Yr=0;Yr<Ir;++Yr)(qn=Wn[Yr]||ar[Yr])&&(Er[Yr]=qn);for(;xn<$t;++xn)In[xn]=Ot[xn];return new Ac(In,this._parents,this._name,this._id)},selection:function(){return new ph(this._groups,this._parents)},transition:function(){for(var dt=this._name,Ot=this._id,zt=us(),$t=this._groups,pn=$t.length,mn=0;mn<pn;++mn)for(var In,xn=$t[mn],qn=xn.length,Wn=0;Wn<qn;++Wn)if(In=xn[Wn]){var ar=yl(In,Ot);Ki(In,dt,zt,Wn,xn,{time:ar.time+ar.delay+ar.duration,delay:0,duration:ar.duration,ease:ar.ease})}return new Ac($t,this._parents,dt,zt)},call:th.call,nodes:th.nodes,node:th.node,size:th.size,empty:th.empty,each:th.each,on:function(dt,Ot){var zt=this._id;return arguments.length<2?yl(this.node(),zt).on.on(dt):this.each(Oc(zt,dt,Ot))},attr:function(dt,Ot){var zt=Ie(dt),$t=zt==="transform"?po:Su;return this.attrTween(dt,typeof Ot=="function"?(zt.local?gl:lu)(zt,$t,Ur(this,"attr."+dt,Ot)):Ot==null?(zt.local?Wc:gh)(zt):(zt.local?Sl:Ns)(zt,$t,Ot))},attrTween:function(dt,Ot){var zt="attr."+dt;if(arguments.length<2)return(zt=this.tween(zt))&&zt._value;if(Ot==null)return this.tween(zt,null);if(typeof Ot!="function")throw new Error;var $t=Ie(dt);return this.tween(zt,($t.local?Wu:ls)($t,Ot))},style:function(dt,Ot,zt){var $t=(dt+="")=="transform"?rs:Su;return Ot==null?this.styleTween(dt,function(pn,mn){var In,xn,qn;return function(){var Wn=Gt(this,pn),ar=(this.style.removeProperty(pn),Gt(this,pn));return Wn===ar?null:Wn===In&&ar===xn?qn:qn=mn(In=Wn,xn=ar)}}(dt,$t)).on("end.style."+dt,Kh(dt)):typeof Ot=="function"?this.styleTween(dt,function(pn,mn,In){var xn,qn,Wn;return function(){var ar=Gt(this,pn),Ir=In(this),Er=Ir+"";return Ir==null&&(this.style.removeProperty(pn),Er=Ir=Gt(this,pn)),ar===Er?null:ar===xn&&Er===qn?Wn:(qn=Er,Wn=mn(xn=ar,Ir))}}(dt,$t,Ur(this,"style."+dt,Ot))).each(function(pn,mn){var In,xn,qn,Wn,ar="style."+mn,Ir="end."+ar;return function(){var Er=zs(this,pn),Yr=Er.on,jr=Er.value[ar]==null?Wn||(Wn=Kh(mn)):void 0;Yr===In&&qn===jr||(xn=(In=Yr).copy()).on(Ir,qn=jr),Er.on=xn}}(this._id,dt)):this.styleTween(dt,function(pn,mn,In){var xn,qn,Wn=In+"";return function(){var ar=Gt(this,pn);return ar===Wn?null:ar===xn?qn:qn=mn(xn=ar,In)}}(dt,$t,Ot),zt).on("end.style."+dt,null)},styleTween:function(dt,Ot,zt){var $t="style."+(dt+="");if(arguments.length<2)return($t=this.tween($t))&&$t._value;if(Ot==null)return this.tween($t,null);if(typeof Ot!="function")throw new Error;return this.tween($t,uu(dt,Ot,zt==null?"":zt))},text:function(dt){return this.tween("text",typeof dt=="function"?function(Ot){return function(){var zt=Ot(this);this.textContent=zt==null?"":zt}}(Ur(this,"text",dt)):function(Ot){return function(){this.textContent=Ot}}(dt==null?"":dt+""))},textTween:function(dt){var Ot="text";if(arguments.length<1)return(Ot=this.tween(Ot))&&Ot._value;if(dt==null)return this.tween(Ot,null);if(typeof dt!="function")throw new Error;return this.tween(Ot,Rh(dt))},remove:function(){return this.on("end.remove",function(dt){return function(){var Ot=this.parentNode;for(var zt in this.__transition)if(+zt!==dt)return;Ot&&Ot.removeChild(this)}}(this._id))},tween:function(dt,Ot){var zt=this._id;if(dt+="",arguments.length<2){for(var $t,pn=yl(this.node(),zt).tween,mn=0,In=pn.length;mn<In;++mn)if(($t=pn[mn]).name===dt)return $t.value;return null}return this.each((Ot==null?Ms:Au)(zt,dt,Ot))},delay:function(dt){var Ot=this._id;return arguments.length?this.each((typeof dt=="function"?ns:Vs)(Ot,dt)):yl(this.node(),Ot).delay},duration:function(dt){var Ot=this._id;return arguments.length?this.each((typeof dt=="function"?jo:Ru)(Ot,dt)):yl(this.node(),Ot).duration},ease:function(dt){var Ot=this._id;return arguments.length?this.each(Uu(Ot,dt)):yl(this.node(),Ot).ease},easeVarying:function(dt){if(typeof dt!="function")throw new Error;return this.each(function(Ot,zt){return function(){var $t=zt.apply(this,arguments);if(typeof $t!="function")throw new Error;zs(this,Ot).ease=$t}}(this._id,dt))},end:function(){var dt,Ot,zt=this,$t=zt._id,pn=zt.size();return new Promise(function(mn,In){var xn={value:In},qn={value:function(){--pn==0&&mn()}};zt.each(function(){var Wn=zs(this,$t),ar=Wn.on;ar!==dt&&((Ot=(dt=ar).copy())._.cancel.push(xn),Ot._.interrupt.push(xn),Ot._.end.push(qn)),Wn.on=Ot}),pn===0&&mn()})},[Symbol.iterator]:th[Symbol.iterator]};var nh={time:null,delay:0,duration:250,ease:function(dt){return((dt*=2)<=1?dt*dt*dt:(dt-=2)*dt*dt+2)/2}};function rh(dt,Ot){for(var zt;!(zt=dt.__transition)||!(zt=zt[Ot]);)if(!(dt=dt.parentNode))throw new Error(`transition ${Ot} not found`);return zt}di.prototype.interrupt=function(dt){return this.each(function(){tl(this,dt)})},di.prototype.transition=function(dt){var Ot,zt;dt instanceof Ac?(Ot=dt._id,dt=dt._name):(Ot=us(),(zt=nh).time=Fs(),dt=dt==null?null:dt+"");for(var $t=this._groups,pn=$t.length,mn=0;mn<pn;++mn)for(var In,xn=$t[mn],qn=xn.length,Wn=0;Wn<qn;++Wn)(In=xn[Wn])&&Ki(In,dt,Ot,Wn,xn,zt||rh(In,Ot));return new Ac($t,this._parents,dt,Ot)};const Pc=Math.PI,od=2*Pc,Uc=1e-6,Gc=od-Uc;function Hc(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function yf(){return new Hc}function ef(dt,Ot,zt,$t){if(isNaN(Ot)||isNaN(zt))return dt;var pn,mn,In,xn,qn,Wn,ar,Ir,Er,Yr=dt._root,jr={data:$t},kr=dt._x0,zr=dt._y0,_r=dt._x1,Vr=dt._y1;if(!Yr)return dt._root=jr,dt;for(;Yr.length;)if((Wn=Ot>=(mn=(kr+_r)/2))?kr=mn:_r=mn,(ar=zt>=(In=(zr+Vr)/2))?zr=In:Vr=In,pn=Yr,!(Yr=Yr[Ir=ar<<1|Wn]))return pn[Ir]=jr,dt;if(xn=+dt._x.call(null,Yr.data),qn=+dt._y.call(null,Yr.data),Ot===xn&&zt===qn)return jr.next=Yr,pn?pn[Ir]=jr:dt._root=jr,dt;do pn=pn?pn[Ir]=new Array(4):dt._root=new Array(4),(Wn=Ot>=(mn=(kr+_r)/2))?kr=mn:_r=mn,(ar=zt>=(In=(zr+Vr)/2))?zr=In:Vr=In;while((Ir=ar<<1|Wn)==(Er=(qn>=In)<<1|xn>=mn));return pn[Er]=Yr,pn[Ir]=jr,dt}function uc(dt,Ot,zt,$t,pn){this.node=dt,this.x0=Ot,this.y0=zt,this.x1=$t,this.y1=pn}function Gg(dt){return dt[0]}function xf(dt){return dt[1]}function Yh(dt,Ot,zt){var $t=new ih(Ot==null?Gg:Ot,zt==null?xf:zt,NaN,NaN,NaN,NaN);return dt==null?$t:$t.addAll(dt)}function ih(dt,Ot,zt,$t,pn,mn){this._x=dt,this._y=Ot,this._x0=zt,this._y0=$t,this._x1=pn,this._y1=mn,this._root=void 0}function vh(dt){for(var Ot={data:dt.data},zt=Ot;dt=dt.next;)zt=zt.next={data:dt.data};return Ot}Hc.prototype=yf.prototype={constructor:Hc,moveTo:function(dt,Ot){this._+="M"+(this._x0=this._x1=+dt)+","+(this._y0=this._y1=+Ot)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(dt,Ot){this._+="L"+(this._x1=+dt)+","+(this._y1=+Ot)},quadraticCurveTo:function(dt,Ot,zt,$t){this._+="Q"+ +dt+","+ +Ot+","+(this._x1=+zt)+","+(this._y1=+$t)},bezierCurveTo:function(dt,Ot,zt,$t,pn,mn){this._+="C"+ +dt+","+ +Ot+","+ +zt+","+ +$t+","+(this._x1=+pn)+","+(this._y1=+mn)},arcTo:function(dt,Ot,zt,$t,pn){dt=+dt,Ot=+Ot,zt=+zt,$t=+$t,pn=+pn;var mn=this._x1,In=this._y1,xn=zt-dt,qn=$t-Ot,Wn=mn-dt,ar=In-Ot,Ir=Wn*Wn+ar*ar;if(pn<0)throw new Error("negative radius: "+pn);if(this._x1===null)this._+="M"+(this._x1=dt)+","+(this._y1=Ot);else if(Ir>Uc)if(Math.abs(ar*xn-qn*Wn)>Uc&&pn){var Er=zt-mn,Yr=$t-In,jr=xn*xn+qn*qn,kr=Er*Er+Yr*Yr,zr=Math.sqrt(jr),_r=Math.sqrt(Ir),Vr=pn*Math.tan((Pc-Math.acos((jr+Ir-kr)/(2*zr*_r)))/2),Ti=Vr/_r,to=Vr/zr;Math.abs(Ti-1)>Uc&&(this._+="L"+(dt+Ti*Wn)+","+(Ot+Ti*ar)),this._+="A"+pn+","+pn+",0,0,"+ +(ar*Er>Wn*Yr)+","+(this._x1=dt+to*xn)+","+(this._y1=Ot+to*qn)}else this._+="L"+(this._x1=dt)+","+(this._y1=Ot)},arc:function(dt,Ot,zt,$t,pn,mn){dt=+dt,Ot=+Ot,mn=!!mn;var In=(zt=+zt)*Math.cos($t),xn=zt*Math.sin($t),qn=dt+In,Wn=Ot+xn,ar=1^mn,Ir=mn?$t-pn:pn-$t;if(zt<0)throw new Error("negative radius: "+zt);this._x1===null?this._+="M"+qn+","+Wn:(Math.abs(this._x1-qn)>Uc||Math.abs(this._y1-Wn)>Uc)&&(this._+="L"+qn+","+Wn),zt&&(Ir<0&&(Ir=Ir%od+od),Ir>Gc?this._+="A"+zt+","+zt+",0,1,"+ar+","+(dt-In)+","+(Ot-xn)+"A"+zt+","+zt+",0,1,"+ar+","+(this._x1=qn)+","+(this._y1=Wn):Ir>Uc&&(this._+="A"+zt+","+zt+",0,"+ +(Ir>=Pc)+","+ar+","+(this._x1=dt+zt*Math.cos(pn))+","+(this._y1=Ot+zt*Math.sin(pn))))},rect:function(dt,Ot,zt,$t){this._+="M"+(this._x0=this._x1=+dt)+","+(this._y0=this._y1=+Ot)+"h"+ +zt+"v"+ +$t+"h"+-zt+"Z"},toString:function(){return this._}};var Nc=Yh.prototype=ih.prototype;function Mc(dt){return function(){return dt}}function Bc(dt){return 1e-6*(dt()-.5)}function Zs(dt){return dt.x+dt.vx}function Ll(dt){return dt.y+dt.vy}function Rc(dt){return dt.index}function Tu(dt,Ot){var zt=dt.get(Ot);if(!zt)throw new Error("node not found: "+Ot);return zt}function ku(dt){var Ot,zt,$t,pn,mn,In,xn=Rc,qn=function(kr){return 1/Math.min(pn[kr.source.index],pn[kr.target.index])},Wn=Mc(30),ar=1;function Ir(kr){for(var zr=0,_r=dt.length;zr<ar;++zr)for(var Vr,Ti,to,pa,lo,ha,Zo,Oo=0;Oo<_r;++Oo)Ti=(Vr=dt[Oo]).source,pa=(to=Vr.target).x+to.vx-Ti.x-Ti.vx||Bc(In),lo=to.y+to.vy-Ti.y-Ti.vy||Bc(In),pa*=ha=((ha=Math.sqrt(pa*pa+lo*lo))-zt[Oo])/ha*kr*Ot[Oo],lo*=ha,to.vx-=pa*(Zo=mn[Oo]),to.vy-=lo*Zo,Ti.vx+=pa*(Zo=1-Zo),Ti.vy+=lo*Zo}function Er(){if($t){var kr,zr,_r=$t.length,Vr=dt.length,Ti=new Map($t.map((to,pa)=>[xn(to,pa,$t),to]));for(kr=0,pn=new Array(_r);kr<Vr;++kr)(zr=dt[kr]).index=kr,typeof zr.source!="object"&&(zr.source=Tu(Ti,zr.source)),typeof zr.target!="object"&&(zr.target=Tu(Ti,zr.target)),pn[zr.source.index]=(pn[zr.source.index]||0)+1,pn[zr.target.index]=(pn[zr.target.index]||0)+1;for(kr=0,mn=new Array(Vr);kr<Vr;++kr)zr=dt[kr],mn[kr]=pn[zr.source.index]/(pn[zr.source.index]+pn[zr.target.index]);Ot=new Array(Vr),Yr(),zt=new Array(Vr),jr()}}function Yr(){if($t)for(var kr=0,zr=dt.length;kr<zr;++kr)Ot[kr]=+qn(dt[kr],kr,dt)}function jr(){if($t)for(var kr=0,zr=dt.length;kr<zr;++kr)zt[kr]=+Wn(dt[kr],kr,dt)}return dt==null&&(dt=[]),Ir.initialize=function(kr,zr){$t=kr,In=zr,Er()},Ir.links=function(kr){return arguments.length?(dt=kr,Er(),Ir):dt},Ir.id=function(kr){return arguments.length?(xn=kr,Ir):xn},Ir.iterations=function(kr){return arguments.length?(ar=+kr,Ir):ar},Ir.strength=function(kr){return arguments.length?(qn=typeof kr=="function"?kr:Mc(+kr),Yr(),Ir):qn},Ir.distance=function(kr){return arguments.length?(Wn=typeof kr=="function"?kr:Mc(+kr),jr(),Ir):Wn},Ir}Nc.copy=function(){var dt,Ot,zt=new ih(this._x,this._y,this._x0,this._y0,this._x1,this._y1),$t=this._root;if(!$t)return zt;if(!$t.length)return zt._root=vh($t),zt;for(dt=[{source:$t,target:zt._root=new Array(4)}];$t=dt.pop();)for(var pn=0;pn<4;++pn)(Ot=$t.source[pn])&&(Ot.length?dt.push({source:Ot,target:$t.target[pn]=new Array(4)}):$t.target[pn]=vh(Ot));return zt},Nc.add=function(dt){const Ot=+this._x.call(null,dt),zt=+this._y.call(null,dt);return ef(this.cover(Ot,zt),Ot,zt,dt)},Nc.addAll=function(dt){var Ot,zt,$t,pn,mn=dt.length,In=new Array(mn),xn=new Array(mn),qn=1/0,Wn=1/0,ar=-1/0,Ir=-1/0;for(zt=0;zt<mn;++zt)isNaN($t=+this._x.call(null,Ot=dt[zt]))||isNaN(pn=+this._y.call(null,Ot))||(In[zt]=$t,xn[zt]=pn,$t<qn&&(qn=$t),$t>ar&&(ar=$t),pn<Wn&&(Wn=pn),pn>Ir&&(Ir=pn));if(qn>ar||Wn>Ir)return this;for(this.cover(qn,Wn).cover(ar,Ir),zt=0;zt<mn;++zt)ef(this,In[zt],xn[zt],dt[zt]);return this},Nc.cover=function(dt,Ot){if(isNaN(dt=+dt)||isNaN(Ot=+Ot))return this;var zt=this._x0,$t=this._y0,pn=this._x1,mn=this._y1;if(isNaN(zt))pn=(zt=Math.floor(dt))+1,mn=($t=Math.floor(Ot))+1;else{for(var In,xn,qn=pn-zt||1,Wn=this._root;zt>dt||dt>=pn||$t>Ot||Ot>=mn;)switch(xn=(Ot<$t)<<1|dt<zt,(In=new Array(4))[xn]=Wn,Wn=In,qn*=2,xn){case 0:pn=zt+qn,mn=$t+qn;break;case 1:zt=pn-qn,mn=$t+qn;break;case 2:pn=zt+qn,$t=mn-qn;break;case 3:zt=pn-qn,$t=mn-qn}this._root&&this._root.length&&(this._root=Wn)}return this._x0=zt,this._y0=$t,this._x1=pn,this._y1=mn,this},Nc.data=function(){var dt=[];return this.visit(function(Ot){if(!Ot.length)do dt.push(Ot.data);while(Ot=Ot.next)}),dt},Nc.extent=function(dt){return arguments.length?this.cover(+dt[0][0],+dt[0][1]).cover(+dt[1][0],+dt[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},Nc.find=function(dt,Ot,zt){var $t,pn,mn,In,xn,qn,Wn,ar=this._x0,Ir=this._y0,Er=this._x1,Yr=this._y1,jr=[],kr=this._root;for(kr&&jr.push(new uc(kr,ar,Ir,Er,Yr)),zt==null?zt=1/0:(ar=dt-zt,Ir=Ot-zt,Er=dt+zt,Yr=Ot+zt,zt*=zt);qn=jr.pop();)if(!(!(kr=qn.node)||(pn=qn.x0)>Er||(mn=qn.y0)>Yr||(In=qn.x1)<ar||(xn=qn.y1)<Ir))if(kr.length){var zr=(pn+In)/2,_r=(mn+xn)/2;jr.push(new uc(kr[3],zr,_r,In,xn),new uc(kr[2],pn,_r,zr,xn),new uc(kr[1],zr,mn,In,_r),new uc(kr[0],pn,mn,zr,_r)),(Wn=(Ot>=_r)<<1|dt>=zr)&&(qn=jr[jr.length-1],jr[jr.length-1]=jr[jr.length-1-Wn],jr[jr.length-1-Wn]=qn)}else{var Vr=dt-+this._x.call(null,kr.data),Ti=Ot-+this._y.call(null,kr.data),to=Vr*Vr+Ti*Ti;if(to<zt){var pa=Math.sqrt(zt=to);ar=dt-pa,Ir=Ot-pa,Er=dt+pa,Yr=Ot+pa,$t=kr.data}}return $t},Nc.remove=function(dt){if(isNaN(mn=+this._x.call(null,dt))||isNaN(In=+this._y.call(null,dt)))return this;var Ot,zt,$t,pn,mn,In,xn,qn,Wn,ar,Ir,Er,Yr=this._root,jr=this._x0,kr=this._y0,zr=this._x1,_r=this._y1;if(!Yr)return this;if(Yr.length)for(;;){if((Wn=mn>=(xn=(jr+zr)/2))?jr=xn:zr=xn,(ar=In>=(qn=(kr+_r)/2))?kr=qn:_r=qn,Ot=Yr,!(Yr=Yr[Ir=ar<<1|Wn]))return this;if(!Yr.length)break;(Ot[Ir+1&3]||Ot[Ir+2&3]||Ot[Ir+3&3])&&(zt=Ot,Er=Ir)}for(;Yr.data!==dt;)if($t=Yr,!(Yr=Yr.next))return this;return(pn=Yr.next)&&delete Yr.next,$t?(pn?$t.next=pn:delete $t.next,this):Ot?(pn?Ot[Ir]=pn:delete Ot[Ir],(Yr=Ot[0]||Ot[1]||Ot[2]||Ot[3])&&Yr===(Ot[3]||Ot[2]||Ot[1]||Ot[0])&&!Yr.length&&(zt?zt[Er]=Yr:this._root=Yr),this):(this._root=pn,this)},Nc.removeAll=function(dt){for(var Ot=0,zt=dt.length;Ot<zt;++Ot)this.remove(dt[Ot]);return this},Nc.root=function(){return this._root},Nc.size=function(){var dt=0;return this.visit(function(Ot){if(!Ot.length)do++dt;while(Ot=Ot.next)}),dt},Nc.visit=function(dt){var Ot,zt,$t,pn,mn,In,xn=[],qn=this._root;for(qn&&xn.push(new uc(qn,this._x0,this._y0,this._x1,this._y1));Ot=xn.pop();)if(!dt(qn=Ot.node,$t=Ot.x0,pn=Ot.y0,mn=Ot.x1,In=Ot.y1)&&qn.length){var Wn=($t+mn)/2,ar=(pn+In)/2;(zt=qn[3])&&xn.push(new uc(zt,Wn,ar,mn,In)),(zt=qn[2])&&xn.push(new uc(zt,$t,ar,Wn,In)),(zt=qn[1])&&xn.push(new uc(zt,Wn,pn,mn,ar)),(zt=qn[0])&&xn.push(new uc(zt,$t,pn,Wn,ar))}return this},Nc.visitAfter=function(dt){var Ot,zt=[],$t=[];for(this._root&&zt.push(new uc(this._root,this._x0,this._y0,this._x1,this._y1));Ot=zt.pop();){var pn=Ot.node;if(pn.length){var mn,In=Ot.x0,xn=Ot.y0,qn=Ot.x1,Wn=Ot.y1,ar=(In+qn)/2,Ir=(xn+Wn)/2;(mn=pn[0])&&zt.push(new uc(mn,In,xn,ar,Ir)),(mn=pn[1])&&zt.push(new uc(mn,ar,xn,qn,Ir)),(mn=pn[2])&&zt.push(new uc(mn,In,Ir,ar,Wn)),(mn=pn[3])&&zt.push(new uc(mn,ar,Ir,qn,Wn))}$t.push(Ot)}for(;Ot=$t.pop();)dt(Ot.node,Ot.x0,Ot.y0,Ot.x1,Ot.y1);return this},Nc.x=function(dt){return arguments.length?(this._x=dt,this):this._x},Nc.y=function(dt){return arguments.length?(this._y=dt,this):this._y};const cu=4294967296;function wu(dt){return dt.x}function Du(dt){return dt.y}var Fu=Math.PI*(3-Math.sqrt(5));function tf(dt){var Ot,zt=1,$t=.001,pn=1-Math.pow($t,1/300),mn=0,In=.6,xn=new Map,qn=ta(Ir),Wn=Ue("tick","end"),ar=function(){let kr=1;return()=>(kr=(1664525*kr+1013904223)%cu)/cu}();function Ir(){Er(),Wn.call("tick",Ot),zt<$t&&(qn.stop(),Wn.call("end",Ot))}function Er(kr){var zr,_r,Vr=dt.length;kr===void 0&&(kr=1);for(var Ti=0;Ti<kr;++Ti)for(zt+=(mn-zt)*pn,xn.forEach(function(to){to(zt)}),zr=0;zr<Vr;++zr)(_r=dt[zr]).fx==null?_r.x+=_r.vx*=In:(_r.x=_r.fx,_r.vx=0),_r.fy==null?_r.y+=_r.vy*=In:(_r.y=_r.fy,_r.vy=0);return Ot}function Yr(){for(var kr,zr=0,_r=dt.length;zr<_r;++zr){if((kr=dt[zr]).index=zr,kr.fx!=null&&(kr.x=kr.fx),kr.fy!=null&&(kr.y=kr.fy),isNaN(kr.x)||isNaN(kr.y)){var Vr=10*Math.sqrt(.5+zr),Ti=zr*Fu;kr.x=Vr*Math.cos(Ti),kr.y=Vr*Math.sin(Ti)}(isNaN(kr.vx)||isNaN(kr.vy))&&(kr.vx=kr.vy=0)}}function jr(kr){return kr.initialize&&kr.initialize(dt,ar),kr}return dt==null&&(dt=[]),Yr(),Ot={tick:Er,restart:function(){return qn.restart(Ir),Ot},stop:function(){return qn.stop(),Ot},nodes:function(kr){return arguments.length?(dt=kr,Yr(),xn.forEach(jr),Ot):dt},alpha:function(kr){return arguments.length?(zt=+kr,Ot):zt},alphaMin:function(kr){return arguments.length?($t=+kr,Ot):$t},alphaDecay:function(kr){return arguments.length?(pn=+kr,Ot):+pn},alphaTarget:function(kr){return arguments.length?(mn=+kr,Ot):mn},velocityDecay:function(kr){return arguments.length?(In=1-kr,Ot):1-In},randomSource:function(kr){return arguments.length?(ar=kr,xn.forEach(jr),Ot):ar},force:function(kr,zr){return arguments.length>1?(zr==null?xn.delete(kr):xn.set(kr,jr(zr)),Ot):xn.get(kr)},find:function(kr,zr,_r){var Vr,Ti,to,pa,lo,ha=0,Zo=dt.length;for(_r==null?_r=1/0:_r*=_r,ha=0;ha<Zo;++ha)(to=(Vr=kr-(pa=dt[ha]).x)*Vr+(Ti=zr-pa.y)*Ti)<_r&&(lo=pa,_r=to);return lo},on:function(kr,zr){return arguments.length>1?(Wn.on(kr,zr),Ot):Wn.on(kr)}}}function Qu(dt){return function(){return dt}}const Iu=Math.abs,oh=Math.atan2,kh=Math.cos,Kf=Math.max,Da=Math.min,Cl=Math.sin,dr=Math.sqrt,wi=1e-12,Zf=Math.PI,Yf=Zf/2,Xh=2*Zf;function Fd(dt){return dt>1?0:dt<-1?Zf:Math.acos(dt)}function nf(dt){return dt>=1?Yf:dt<=-1?-Yf:Math.asin(dt)}function Pp(dt){return dt.innerRadius}function sp(dt){return dt.outerRadius}function Gu(dt){return dt.startAngle}function Ps(dt){return dt.endAngle}function cl(dt){return dt&&dt.padAngle}function Vc(dt,Ot,zt,$t,pn,mn,In,xn){var qn=zt-dt,Wn=$t-Ot,ar=In-pn,Ir=xn-mn,Er=Ir*qn-ar*Wn;if(!(Er*Er<wi))return[dt+(Er=(ar*(Ot-mn)-Ir*(dt-pn))/Er)*qn,Ot+Er*Wn]}function $l(dt,Ot,zt,$t,pn,mn,In){var xn=dt-zt,qn=Ot-$t,Wn=(In?mn:-mn)/dr(xn*xn+qn*qn),ar=Wn*qn,Ir=-Wn*xn,Er=dt+ar,Yr=Ot+Ir,jr=zt+ar,kr=$t+Ir,zr=(Er+jr)/2,_r=(Yr+kr)/2,Vr=jr-Er,Ti=kr-Yr,to=Vr*Vr+Ti*Ti,pa=pn-mn,lo=Er*kr-jr*Yr,ha=(Ti<0?-1:1)*dr(Kf(0,pa*pa*to-lo*lo)),Zo=(lo*Ti-Vr*ha)/to,Oo=(-lo*Vr-Ti*ha)/to,Ri=(lo*Ti+Vr*ha)/to,co=(-lo*Vr+Ti*ha)/to,Oa=Zo-zr,ni=Oo-_r,ji=Ri-zr,mo=co-_r;return Oa*Oa+ni*ni>ji*ji+mo*mo&&(Zo=Ri,Oo=co),{cx:Zo,cy:Oo,x01:-ar,y01:-Ir,x11:Zo*(pn/pa-1),y11:Oo*(pn/pa-1)}}function xl(){var dt=Pp,Ot=sp,zt=Qu(0),$t=null,pn=Gu,mn=Ps,In=cl,xn=null;function qn(){var Wn,ar,Ir=+dt.apply(this,arguments),Er=+Ot.apply(this,arguments),Yr=pn.apply(this,arguments)-Yf,jr=mn.apply(this,arguments)-Yf,kr=Iu(jr-Yr),zr=jr>Yr;if(xn||(xn=Wn=yf()),Er<Ir&&(ar=Er,Er=Ir,Ir=ar),Er>wi)if(kr>Xh-wi)xn.moveTo(Er*kh(Yr),Er*Cl(Yr)),xn.arc(0,0,Er,Yr,jr,!zr),Ir>wi&&(xn.moveTo(Ir*kh(jr),Ir*Cl(jr)),xn.arc(0,0,Ir,jr,Yr,zr));else{var _r,Vr,Ti=Yr,to=jr,pa=Yr,lo=jr,ha=kr,Zo=kr,Oo=In.apply(this,arguments)/2,Ri=Oo>wi&&($t?+$t.apply(this,arguments):dr(Ir*Ir+Er*Er)),co=Da(Iu(Er-Ir)/2,+zt.apply(this,arguments)),Oa=co,ni=co;if(Ri>wi){var ji=nf(Ri/Ir*Cl(Oo)),mo=nf(Ri/Er*Cl(Oo));(ha-=2*ji)>wi?(pa+=ji*=zr?1:-1,lo-=ji):(ha=0,pa=lo=(Yr+jr)/2),(Zo-=2*mo)>wi?(Ti+=mo*=zr?1:-1,to-=mo):(Zo=0,Ti=to=(Yr+jr)/2)}var yo=Er*kh(Ti),ra=Er*Cl(Ti),Eo=Ir*kh(lo),Uo=Ir*Cl(lo);if(co>wi){var Va,Ho=Er*kh(to),$r=Er*Cl(to),qi=Ir*kh(pa),qa=Ir*Cl(pa);if(kr<Zf&&(Va=Vc(yo,ra,qi,qa,Ho,$r,Eo,Uo))){var Xl=yo-Va[0],nu=ra-Va[1],ul=Ho-Va[0],Ls=$r-Va[1],ps=1/Cl(Fd((Xl*ul+nu*Ls)/(dr(Xl*Xl+nu*nu)*dr(ul*ul+Ls*Ls)))/2),hs=dr(Va[0]*Va[0]+Va[1]*Va[1]);Oa=Da(co,(Ir-hs)/(ps-1)),ni=Da(co,(Er-hs)/(ps+1))}}Zo>wi?ni>wi?(_r=$l(qi,qa,yo,ra,Er,ni,zr),Vr=$l(Ho,$r,Eo,Uo,Er,ni,zr),xn.moveTo(_r.cx+_r.x01,_r.cy+_r.y01),ni<co?xn.arc(_r.cx,_r.cy,ni,oh(_r.y01,_r.x01),oh(Vr.y01,Vr.x01),!zr):(xn.arc(_r.cx,_r.cy,ni,oh(_r.y01,_r.x01),oh(_r.y11,_r.x11),!zr),xn.arc(0,0,Er,oh(_r.cy+_r.y11,_r.cx+_r.x11),oh(Vr.cy+Vr.y11,Vr.cx+Vr.x11),!zr),xn.arc(Vr.cx,Vr.cy,ni,oh(Vr.y11,Vr.x11),oh(Vr.y01,Vr.x01),!zr))):(xn.moveTo(yo,ra),xn.arc(0,0,Er,Ti,to,!zr)):xn.moveTo(yo,ra),Ir>wi&&ha>wi?Oa>wi?(_r=$l(Eo,Uo,Ho,$r,Ir,-Oa,zr),Vr=$l(yo,ra,qi,qa,Ir,-Oa,zr),xn.lineTo(_r.cx+_r.x01,_r.cy+_r.y01),Oa<co?xn.arc(_r.cx,_r.cy,Oa,oh(_r.y01,_r.x01),oh(Vr.y01,Vr.x01),!zr):(xn.arc(_r.cx,_r.cy,Oa,oh(_r.y01,_r.x01),oh(_r.y11,_r.x11),!zr),xn.arc(0,0,Ir,oh(_r.cy+_r.y11,_r.cx+_r.x11),oh(Vr.cy+Vr.y11,Vr.cx+Vr.x11),zr),xn.arc(Vr.cx,Vr.cy,Oa,oh(Vr.y11,Vr.x11),oh(Vr.y01,Vr.x01),!zr))):xn.arc(0,0,Ir,lo,pa,zr):xn.lineTo(Eo,Uo)}else xn.moveTo(0,0);if(xn.closePath(),Wn)return xn=null,Wn+""||null}return qn.centroid=function(){var Wn=(+dt.apply(this,arguments)+ +Ot.apply(this,arguments))/2,ar=(+pn.apply(this,arguments)+ +mn.apply(this,arguments))/2-Zf/2;return[kh(ar)*Wn,Cl(ar)*Wn]},qn.innerRadius=function(Wn){return arguments.length?(dt=typeof Wn=="function"?Wn:Qu(+Wn),qn):dt},qn.outerRadius=function(Wn){return arguments.length?(Ot=typeof Wn=="function"?Wn:Qu(+Wn),qn):Ot},qn.cornerRadius=function(Wn){return arguments.length?(zt=typeof Wn=="function"?Wn:Qu(+Wn),qn):zt},qn.padRadius=function(Wn){return arguments.length?($t=Wn==null?null:typeof Wn=="function"?Wn:Qu(+Wn),qn):$t},qn.startAngle=function(Wn){return arguments.length?(pn=typeof Wn=="function"?Wn:Qu(+Wn),qn):pn},qn.endAngle=function(Wn){return arguments.length?(mn=typeof Wn=="function"?Wn:Qu(+Wn),qn):mn},qn.padAngle=function(Wn){return arguments.length?(In=typeof Wn=="function"?Wn:Qu(+Wn),qn):In},qn.context=function(Wn){return arguments.length?(xn=Wn==null?null:Wn,qn):xn},qn}function cc(dt){return typeof dt=="object"&&"length"in dt?dt:Array.from(dt)}function on(dt,Ot){return Ot<dt?-1:Ot>dt?1:Ot>=dt?0:NaN}function En(dt){return dt}function Dn(){var dt=En,Ot=on,zt=null,$t=Qu(0),pn=Qu(Xh),mn=Qu(0);function In(xn){var qn,Wn,ar,Ir,Er,Yr=(xn=cc(xn)).length,jr=0,kr=new Array(Yr),zr=new Array(Yr),_r=+$t.apply(this,arguments),Vr=Math.min(Xh,Math.max(-Xh,pn.apply(this,arguments)-_r)),Ti=Math.min(Math.abs(Vr)/Yr,mn.apply(this,arguments)),to=Ti*(Vr<0?-1:1);for(qn=0;qn<Yr;++qn)(Er=zr[kr[qn]=qn]=+dt(xn[qn],qn,xn))>0&&(jr+=Er);for(Ot!=null?kr.sort(function(pa,lo){return Ot(zr[pa],zr[lo])}):zt!=null&&kr.sort(function(pa,lo){return zt(xn[pa],xn[lo])}),qn=0,ar=jr?(Vr-Yr*to)/jr:0;qn<Yr;++qn,_r=Ir)Wn=kr[qn],Ir=_r+((Er=zr[Wn])>0?Er*ar:0)+to,zr[Wn]={data:xn[Wn],index:qn,value:Er,startAngle:_r,endAngle:Ir,padAngle:Ti};return zr}return In.value=function(xn){return arguments.length?(dt=typeof xn=="function"?xn:Qu(+xn),In):dt},In.sortValues=function(xn){return arguments.length?(Ot=xn,zt=null,In):Ot},In.sort=function(xn){return arguments.length?(zt=xn,Ot=null,In):zt},In.startAngle=function(xn){return arguments.length?($t=typeof xn=="function"?xn:Qu(+xn),In):$t},In.endAngle=function(xn){return arguments.length?(pn=typeof xn=="function"?xn:Qu(+xn),In):pn},In.padAngle=function(xn){return arguments.length?(mn=typeof xn=="function"?xn:Qu(+xn),In):mn},In}var Ar=dt=>()=>dt;function Pr(dt,{sourceEvent:Ot,target:zt,transform:$t,dispatch:pn}){Object.defineProperties(this,{type:{value:dt,enumerable:!0,configurable:!0},sourceEvent:{value:Ot,enumerable:!0,configurable:!0},target:{value:zt,enumerable:!0,configurable:!0},transform:{value:$t,enumerable:!0,configurable:!0},_:{value:pn}})}function Xr(dt,Ot,zt){this.k=dt,this.x=Ot,this.y=zt}Xr.prototype={constructor:Xr,scale:function(dt){return dt===1?this:new Xr(this.k*dt,this.x,this.y)},translate:function(dt,Ot){return dt===0&Ot===0?this:new Xr(this.k,this.x+this.k*dt,this.y+this.k*Ot)},apply:function(dt){return[dt[0]*this.k+this.x,dt[1]*this.k+this.y]},applyX:function(dt){return dt*this.k+this.x},applyY:function(dt){return dt*this.k+this.y},invert:function(dt){return[(dt[0]-this.x)/this.k,(dt[1]-this.y)/this.k]},invertX:function(dt){return(dt-this.x)/this.k},invertY:function(dt){return(dt-this.y)/this.k},rescaleX:function(dt){return dt.copy().domain(dt.range().map(this.invertX,this).map(dt.invert,dt))},rescaleY:function(dt){return dt.copy().domain(dt.range().map(this.invertY,this).map(dt.invert,dt))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var ei=new Xr(1,0,0);function mi(dt){dt.stopImmediatePropagation()}function Ci(dt){dt.preventDefault(),dt.stopImmediatePropagation()}function Wi(dt){return!(dt.ctrlKey&&dt.type!=="wheel"||dt.button)}function Gr(){var dt=this;return dt instanceof SVGElement?(dt=dt.ownerSVGElement||dt).hasAttribute("viewBox")?[[(dt=dt.viewBox.baseVal).x,dt.y],[dt.x+dt.width,dt.y+dt.height]]:[[0,0],[dt.width.baseVal.value,dt.height.baseVal.value]]:[[0,0],[dt.clientWidth,dt.clientHeight]]}function _i(){return this.__zoom||ei}function xo(dt){return-dt.deltaY*(dt.deltaMode===1?.05:dt.deltaMode?1:.002)*(dt.ctrlKey?10:1)}function ki(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ko(dt,Ot,zt){var $t=dt.invertX(Ot[0][0])-zt[0][0],pn=dt.invertX(Ot[1][0])-zt[1][0],mn=dt.invertY(Ot[0][1])-zt[0][1],In=dt.invertY(Ot[1][1])-zt[1][1];return dt.translate(pn>$t?($t+pn)/2:Math.min(0,$t)||Math.max(0,pn),In>mn?(mn+In)/2:Math.min(0,mn)||Math.max(0,In))}function Ei(){var dt,Ot,zt,$t=Wi,pn=Gr,mn=Ko,In=xo,xn=ki,qn=[0,1/0],Wn=[[-1/0,-1/0],[1/0,1/0]],ar=250,Ir=Ji,Er=Ue("start","zoom","end"),Yr=500,jr=0,kr=10;function zr(ni){ni.property("__zoom",_i).on("wheel.zoom",ha,{passive:!1}).on("mousedown.zoom",Zo).on("dblclick.zoom",Oo).filter(xn).on("touchstart.zoom",Ri).on("touchmove.zoom",co).on("touchend.zoom touchcancel.zoom",Oa).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function _r(ni,ji){return(ji=Math.max(qn[0],Math.min(qn[1],ji)))===ni.k?ni:new Xr(ji,ni.x,ni.y)}function Vr(ni,ji,mo){var yo=ji[0]-mo[0]*ni.k,ra=ji[1]-mo[1]*ni.k;return yo===ni.x&&ra===ni.y?ni:new Xr(ni.k,yo,ra)}function Ti(ni){return[(+ni[0][0]+ +ni[1][0])/2,(+ni[0][1]+ +ni[1][1])/2]}function to(ni,ji,mo,yo){ni.on("start.zoom",function(){pa(this,arguments).event(yo).start()}).on("interrupt.zoom end.zoom",function(){pa(this,arguments).event(yo).end()}).tween("zoom",function(){var ra=this,Eo=arguments,Uo=pa(ra,Eo).event(yo),Va=pn.apply(ra,Eo),Ho=mo==null?Ti(Va):typeof mo=="function"?mo.apply(ra,Eo):mo,$r=Math.max(Va[1][0]-Va[0][0],Va[1][1]-Va[0][1]),qi=ra.__zoom,qa=typeof ji=="function"?ji.apply(ra,Eo):ji,Xl=Ir(qi.invert(Ho).concat($r/qi.k),qa.invert(Ho).concat($r/qa.k));return function(nu){if(nu===1)nu=qa;else{var ul=Xl(nu),Ls=$r/ul[2];nu=new Xr(Ls,Ho[0]-ul[0]*Ls,Ho[1]-ul[1]*Ls)}Uo.zoom(null,nu)}})}function pa(ni,ji,mo){return!mo&&ni.__zooming||new lo(ni,ji)}function lo(ni,ji){this.that=ni,this.args=ji,this.active=0,this.sourceEvent=null,this.extent=pn.apply(ni,ji),this.taps=0}function ha(ni,...ji){if($t.apply(this,arguments)){var mo=pa(this,ji).event(ni),yo=this.__zoom,ra=Math.max(qn[0],Math.min(qn[1],yo.k*Math.pow(2,In.apply(this,arguments)))),Eo=Ai(ni);if(mo.wheel)mo.mouse[0][0]===Eo[0]&&mo.mouse[0][1]===Eo[1]||(mo.mouse[1]=yo.invert(mo.mouse[0]=Eo)),clearTimeout(mo.wheel);else{if(yo.k===ra)return;mo.mouse=[Eo,yo.invert(Eo)],tl(this),mo.start()}Ci(ni),mo.wheel=setTimeout(Uo,150),mo.zoom("mouse",mn(Vr(_r(yo,ra),mo.mouse[0],mo.mouse[1]),mo.extent,Wn))}function Uo(){mo.wheel=null,mo.end()}}function Zo(ni,...ji){if(!zt&&$t.apply(this,arguments)){var mo=ni.currentTarget,yo=pa(this,ji,!0).event(ni),ra=li(ni.view).on("mousemove.zoom",Ho,!0).on("mouseup.zoom",$r,!0),Eo=Ai(ni,mo),Uo=ni.clientX,Va=ni.clientY;Pi(ni.view),mi(ni),yo.mouse=[Eo,this.__zoom.invert(Eo)],tl(this),yo.start()}function Ho(qi){if(Ci(qi),!yo.moved){var qa=qi.clientX-Uo,Xl=qi.clientY-Va;yo.moved=qa*qa+Xl*Xl>jr}yo.event(qi).zoom("mouse",mn(Vr(yo.that.__zoom,yo.mouse[0]=Ai(qi,mo),yo.mouse[1]),yo.extent,Wn))}function $r(qi){ra.on("mousemove.zoom mouseup.zoom",null),ao(qi.view,yo.moved),Ci(qi),yo.event(qi).end()}}function Oo(ni,...ji){if($t.apply(this,arguments)){var mo=this.__zoom,yo=Ai(ni.changedTouches?ni.changedTouches[0]:ni,this),ra=mo.invert(yo),Eo=mo.k*(ni.shiftKey?.5:2),Uo=mn(Vr(_r(mo,Eo),yo,ra),pn.apply(this,ji),Wn);Ci(ni),ar>0?li(this).transition().duration(ar).call(to,Uo,yo,ni):li(this).call(zr.transform,Uo,yo,ni)}}function Ri(ni,...ji){if($t.apply(this,arguments)){var mo,yo,ra,Eo,Uo=ni.touches,Va=Uo.length,Ho=pa(this,ji,ni.changedTouches.length===Va).event(ni);for(mi(ni),yo=0;yo<Va;++yo)Eo=[Eo=Ai(ra=Uo[yo],this),this.__zoom.invert(Eo),ra.identifier],Ho.touch0?Ho.touch1||Ho.touch0[2]===Eo[2]||(Ho.touch1=Eo,Ho.taps=0):(Ho.touch0=Eo,mo=!0,Ho.taps=1+!!dt);dt&&(dt=clearTimeout(dt)),mo&&(Ho.taps<2&&(Ot=Eo[0],dt=setTimeout(function(){dt=null},Yr)),tl(this),Ho.start())}}function co(ni,...ji){if(this.__zooming){var mo,yo,ra,Eo,Uo=pa(this,ji).event(ni),Va=ni.changedTouches,Ho=Va.length;for(Ci(ni),mo=0;mo<Ho;++mo)ra=Ai(yo=Va[mo],this),Uo.touch0&&Uo.touch0[2]===yo.identifier?Uo.touch0[0]=ra:Uo.touch1&&Uo.touch1[2]===yo.identifier&&(Uo.touch1[0]=ra);if(yo=Uo.that.__zoom,Uo.touch1){var $r=Uo.touch0[0],qi=Uo.touch0[1],qa=Uo.touch1[0],Xl=Uo.touch1[1],nu=(nu=qa[0]-$r[0])*nu+(nu=qa[1]-$r[1])*nu,ul=(ul=Xl[0]-qi[0])*ul+(ul=Xl[1]-qi[1])*ul;yo=_r(yo,Math.sqrt(nu/ul)),ra=[($r[0]+qa[0])/2,($r[1]+qa[1])/2],Eo=[(qi[0]+Xl[0])/2,(qi[1]+Xl[1])/2]}else{if(!Uo.touch0)return;ra=Uo.touch0[0],Eo=Uo.touch0[1]}Uo.zoom("touch",mn(Vr(yo,ra,Eo),Uo.extent,Wn))}}function Oa(ni,...ji){if(this.__zooming){var mo,yo,ra=pa(this,ji).event(ni),Eo=ni.changedTouches,Uo=Eo.length;for(mi(ni),zt&&clearTimeout(zt),zt=setTimeout(function(){zt=null},Yr),mo=0;mo<Uo;++mo)yo=Eo[mo],ra.touch0&&ra.touch0[2]===yo.identifier?delete ra.touch0:ra.touch1&&ra.touch1[2]===yo.identifier&&delete ra.touch1;if(ra.touch1&&!ra.touch0&&(ra.touch0=ra.touch1,delete ra.touch1),ra.touch0)ra.touch0[1]=this.__zoom.invert(ra.touch0[0]);else if(ra.end(),ra.taps===2&&(yo=Ai(yo,this),Math.hypot(Ot[0]-yo[0],Ot[1]-yo[1])<kr)){var Va=li(this).on("dblclick.zoom");Va&&Va.apply(this,arguments)}}}return zr.transform=function(ni,ji,mo,yo){var ra=ni.selection?ni.selection():ni;ra.property("__zoom",_i),ni!==ra?to(ni,ji,mo,yo):ra.interrupt().each(function(){pa(this,arguments).event(yo).start().zoom(null,typeof ji=="function"?ji.apply(this,arguments):ji).end()})},zr.scaleBy=function(ni,ji,mo,yo){zr.scaleTo(ni,function(){var ra=this.__zoom.k,Eo=typeof ji=="function"?ji.apply(this,arguments):ji;return ra*Eo},mo,yo)},zr.scaleTo=function(ni,ji,mo,yo){zr.transform(ni,function(){var ra=pn.apply(this,arguments),Eo=this.__zoom,Uo=mo==null?Ti(ra):typeof mo=="function"?mo.apply(this,arguments):mo,Va=Eo.invert(Uo),Ho=typeof ji=="function"?ji.apply(this,arguments):ji;return mn(Vr(_r(Eo,Ho),Uo,Va),ra,Wn)},mo,yo)},zr.translateBy=function(ni,ji,mo,yo){zr.transform(ni,function(){return mn(this.__zoom.translate(typeof ji=="function"?ji.apply(this,arguments):ji,typeof mo=="function"?mo.apply(this,arguments):mo),pn.apply(this,arguments),Wn)},null,yo)},zr.translateTo=function(ni,ji,mo,yo,ra){zr.transform(ni,function(){var Eo=pn.apply(this,arguments),Uo=this.__zoom,Va=yo==null?Ti(Eo):typeof yo=="function"?yo.apply(this,arguments):yo;return mn(ei.translate(Va[0],Va[1]).scale(Uo.k).translate(typeof ji=="function"?-ji.apply(this,arguments):-ji,typeof mo=="function"?-mo.apply(this,arguments):-mo),Eo,Wn)},yo,ra)},lo.prototype={event:function(ni){return ni&&(this.sourceEvent=ni),this},start:function(){return++this.active==1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(ni,ji){return this.mouse&&ni!=="mouse"&&(this.mouse[1]=ji.invert(this.mouse[0])),this.touch0&&ni!=="touch"&&(this.touch0[1]=ji.invert(this.touch0[0])),this.touch1&&ni!=="touch"&&(this.touch1[1]=ji.invert(this.touch1[0])),this.that.__zoom=ji,this.emit("zoom"),this},end:function(){return--this.active==0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(ni){var ji=li(this.that).datum();Er.call(ni,this.that,new Pr(ni,{sourceEvent:this.sourceEvent,target:zr,type:ni,transform:this.that.__zoom,dispatch:Er}),ji)}},zr.wheelDelta=function(ni){return arguments.length?(In=typeof ni=="function"?ni:Ar(+ni),zr):In},zr.filter=function(ni){return arguments.length?($t=typeof ni=="function"?ni:Ar(!!ni),zr):$t},zr.touchable=function(ni){return arguments.length?(xn=typeof ni=="function"?ni:Ar(!!ni),zr):xn},zr.extent=function(ni){return arguments.length?(pn=typeof ni=="function"?ni:Ar([[+ni[0][0],+ni[0][1]],[+ni[1][0],+ni[1][1]]]),zr):pn},zr.scaleExtent=function(ni){return arguments.length?(qn[0]=+ni[0],qn[1]=+ni[1],zr):[qn[0],qn[1]]},zr.translateExtent=function(ni){return arguments.length?(Wn[0][0]=+ni[0][0],Wn[1][0]=+ni[1][0],Wn[0][1]=+ni[0][1],Wn[1][1]=+ni[1][1],zr):[[Wn[0][0],Wn[0][1]],[Wn[1][0],Wn[1][1]]]},zr.constrain=function(ni){return arguments.length?(mn=ni,zr):mn},zr.duration=function(ni){return arguments.length?(ar=+ni,zr):ar},zr.interpolate=function(ni){return arguments.length?(Ir=ni,zr):Ir},zr.on=function(){var ni=Er.on.apply(Er,arguments);return ni===Er?zr:ni},zr.clickDistance=function(ni){return arguments.length?(jr=(ni=+ni)*ni,zr):Math.sqrt(jr)},zr.tapDistance=function(ni){return arguments.length?(kr=+ni,zr):kr},zr}function so(){so=function(){return dt};var dt={},Ot=Object.prototype,zt=Ot.hasOwnProperty,$t=typeof Symbol=="function"?Symbol:{},pn=$t.iterator||"@@iterator",mn=$t.asyncIterator||"@@asyncIterator",In=$t.toStringTag||"@@toStringTag";function xn(Ri,co,Oa){return Object.defineProperty(Ri,co,{value:Oa,enumerable:!0,configurable:!0,writable:!0}),Ri[co]}try{xn({},"")}catch(Ri){xn=function(co,Oa,ni){return co[Oa]=ni}}function qn(Ri,co,Oa,ni){var ji=co&&co.prototype instanceof Ir?co:Ir,mo=Object.create(ji.prototype),yo=new ha(ni||[]);return mo._invoke=function(ra,Eo,Uo){var Va="suspendedStart";return function(Ho,$r){if(Va==="executing")throw new Error("Generator is already running");if(Va==="completed"){if(Ho==="throw")throw $r;return Oo()}for(Uo.method=Ho,Uo.arg=$r;;){var qi=Uo.delegate;if(qi){var qa=to(qi,Uo);if(qa){if(qa===ar)continue;return qa}}if(Uo.method==="next")Uo.sent=Uo._sent=Uo.arg;else if(Uo.method==="throw"){if(Va==="suspendedStart")throw Va="completed",Uo.arg;Uo.dispatchException(Uo.arg)}else Uo.method==="return"&&Uo.abrupt("return",Uo.arg);Va="executing";var Xl=Wn(ra,Eo,Uo);if(Xl.type==="normal"){if(Va=Uo.done?"completed":"suspendedYield",Xl.arg===ar)continue;return{value:Xl.arg,done:Uo.done}}Xl.type==="throw"&&(Va="completed",Uo.method="throw",Uo.arg=Xl.arg)}}}(Ri,Oa,yo),mo}function Wn(Ri,co,Oa){try{return{type:"normal",arg:Ri.call(co,Oa)}}catch(ni){return{type:"throw",arg:ni}}}dt.wrap=qn;var ar={};function Ir(){}function Er(){}function Yr(){}var jr={};xn(jr,pn,function(){return this});var kr=Object.getPrototypeOf,zr=kr&&kr(kr(Zo([])));zr&&zr!==Ot&&zt.call(zr,pn)&&(jr=zr);var _r=Yr.prototype=Ir.prototype=Object.create(jr);function Vr(Ri){["next","throw","return"].forEach(function(co){xn(Ri,co,function(Oa){return this._invoke(co,Oa)})})}function Ti(Ri,co){function Oa(ji,mo,yo,ra){var Eo=Wn(Ri[ji],Ri,mo);if(Eo.type!=="throw"){var Uo=Eo.arg,Va=Uo.value;return Va&&typeof Va=="object"&&zt.call(Va,"__await")?co.resolve(Va.__await).then(function(Ho){Oa("next",Ho,yo,ra)},function(Ho){Oa("throw",Ho,yo,ra)}):co.resolve(Va).then(function(Ho){Uo.value=Ho,yo(Uo)},function(Ho){return Oa("throw",Ho,yo,ra)})}ra(Eo.arg)}var ni;this._invoke=function(ji,mo){function yo(){return new co(function(ra,Eo){Oa(ji,mo,ra,Eo)})}return ni=ni?ni.then(yo,yo):yo()}}function to(Ri,co){var Oa=Ri.iterator[co.method];if(Oa===void 0){if(co.delegate=null,co.method==="throw"){if(Ri.iterator.return&&(co.method="return",co.arg=void 0,to(Ri,co),co.method==="throw"))return ar;co.method="throw",co.arg=new TypeError("The iterator does not provide a 'throw' method")}return ar}var ni=Wn(Oa,Ri.iterator,co.arg);if(ni.type==="throw")return co.method="throw",co.arg=ni.arg,co.delegate=null,ar;var ji=ni.arg;return ji?ji.done?(co[Ri.resultName]=ji.value,co.next=Ri.nextLoc,co.method!=="return"&&(co.method="next",co.arg=void 0),co.delegate=null,ar):ji:(co.method="throw",co.arg=new TypeError("iterator result is not an object"),co.delegate=null,ar)}function pa(Ri){var co={tryLoc:Ri[0]};1 in Ri&&(co.catchLoc=Ri[1]),2 in Ri&&(co.finallyLoc=Ri[2],co.afterLoc=Ri[3]),this.tryEntries.push(co)}function lo(Ri){var co=Ri.completion||{};co.type="normal",delete co.arg,Ri.completion=co}function ha(Ri){this.tryEntries=[{tryLoc:"root"}],Ri.forEach(pa,this),this.reset(!0)}function Zo(Ri){if(Ri){var co=Ri[pn];if(co)return co.call(Ri);if(typeof Ri.next=="function")return Ri;if(!isNaN(Ri.length)){var Oa=-1,ni=function ji(){for(;++Oa<Ri.length;)if(zt.call(Ri,Oa))return ji.value=Ri[Oa],ji.done=!1,ji;return ji.value=void 0,ji.done=!0,ji};return ni.next=ni}}return{next:Oo}}function Oo(){return{value:void 0,done:!0}}return Er.prototype=Yr,xn(_r,"constructor",Yr),xn(Yr,"constructor",Er),Er.displayName=xn(Yr,In,"GeneratorFunction"),dt.isGeneratorFunction=function(Ri){var co=typeof Ri=="function"&&Ri.constructor;return!!co&&(co===Er||(co.displayName||co.name)==="GeneratorFunction")},dt.mark=function(Ri){return Object.setPrototypeOf?Object.setPrototypeOf(Ri,Yr):(Ri.__proto__=Yr,xn(Ri,In,"GeneratorFunction")),Ri.prototype=Object.create(_r),Ri},dt.awrap=function(Ri){return{__await:Ri}},Vr(Ti.prototype),xn(Ti.prototype,mn,function(){return this}),dt.AsyncIterator=Ti,dt.async=function(Ri,co,Oa,ni,ji){ji===void 0&&(ji=Promise);var mo=new Ti(qn(Ri,co,Oa,ni),ji);return dt.isGeneratorFunction(co)?mo:mo.next().then(function(yo){return yo.done?yo.value:mo.next()})},Vr(_r),xn(_r,In,"Generator"),xn(_r,pn,function(){return this}),xn(_r,"toString",function(){return"[object Generator]"}),dt.keys=function(Ri){var co=[];for(var Oa in Ri)co.push(Oa);return co.reverse(),function ni(){for(;co.length;){var ji=co.pop();if(ji in Ri)return ni.value=ji,ni.done=!1,ni}return ni.done=!0,ni}},dt.values=Zo,ha.prototype={constructor:ha,reset:function(Ri){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(lo),!Ri)for(var co in this)co.charAt(0)==="t"&&zt.call(this,co)&&!isNaN(+co.slice(1))&&(this[co]=void 0)},stop:function(){this.done=!0;var Ri=this.tryEntries[0].completion;if(Ri.type==="throw")throw Ri.arg;return this.rval},dispatchException:function(Ri){if(this.done)throw Ri;var co=this;function Oa(Eo,Uo){return mo.type="throw",mo.arg=Ri,co.next=Eo,Uo&&(co.method="next",co.arg=void 0),!!Uo}for(var ni=this.tryEntries.length-1;ni>=0;--ni){var ji=this.tryEntries[ni],mo=ji.completion;if(ji.tryLoc==="root")return Oa("end");if(ji.tryLoc<=this.prev){var yo=zt.call(ji,"catchLoc"),ra=zt.call(ji,"finallyLoc");if(yo&&ra){if(this.prev<ji.catchLoc)return Oa(ji.catchLoc,!0);if(this.prev<ji.finallyLoc)return Oa(ji.finallyLoc)}else if(yo){if(this.prev<ji.catchLoc)return Oa(ji.catchLoc,!0)}else{if(!ra)throw new Error("try statement without catch or finally");if(this.prev<ji.finallyLoc)return Oa(ji.finallyLoc)}}}},abrupt:function(Ri,co){for(var Oa=this.tryEntries.length-1;Oa>=0;--Oa){var ni=this.tryEntries[Oa];if(ni.tryLoc<=this.prev&&zt.call(ni,"finallyLoc")&&this.prev<ni.finallyLoc){var ji=ni;break}}ji&&(Ri==="break"||Ri==="continue")&&ji.tryLoc<=co&&co<=ji.finallyLoc&&(ji=null);var mo=ji?ji.completion:{};return mo.type=Ri,mo.arg=co,ji?(this.method="next",this.next=ji.finallyLoc,ar):this.complete(mo)},complete:function(Ri,co){if(Ri.type==="throw")throw Ri.arg;return Ri.type==="break"||Ri.type==="continue"?this.next=Ri.arg:Ri.type==="return"?(this.rval=this.arg=Ri.arg,this.method="return",this.next="end"):Ri.type==="normal"&&co&&(this.next=co),ar},finish:function(Ri){for(var co=this.tryEntries.length-1;co>=0;--co){var Oa=this.tryEntries[co];if(Oa.finallyLoc===Ri)return this.complete(Oa.completion,Oa.afterLoc),lo(Oa),ar}},catch:function(Ri){for(var co=this.tryEntries.length-1;co>=0;--co){var Oa=this.tryEntries[co];if(Oa.tryLoc===Ri){var ni=Oa.completion;if(ni.type==="throw"){var ji=ni.arg;lo(Oa)}return ji}}throw new Error("illegal catch attempt")},delegateYield:function(Ri,co,Oa){return this.delegate={iterator:Zo(Ri),resultName:co,nextLoc:Oa},this.method==="next"&&(this.arg=void 0),ar}},dt}function Vo(dt){return Vo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Ot){return typeof Ot}:function(Ot){return Ot&&typeof Symbol=="function"&&Ot.constructor===Symbol&&Ot!==Symbol.prototype?"symbol":typeof Ot},Vo(dt)}function ba(dt,Ot,zt,$t,pn,mn,In){try{var xn=dt[mn](In),qn=xn.value}catch(Wn){return void zt(Wn)}xn.done?Ot(qn):Promise.resolve(qn).then($t,pn)}function ka(dt){return function(){var Ot=this,zt=arguments;return new Promise(function($t,pn){var mn=dt.apply(Ot,zt);function In(qn){ba(mn,$t,pn,In,xn,"next",qn)}function xn(qn){ba(mn,$t,pn,In,xn,"throw",qn)}In(void 0)})}}function Pa(dt,Ot){if(!(dt instanceof Ot))throw new TypeError("Cannot call a class as a function")}function Za(dt,Ot){for(var zt=0;zt<Ot.length;zt++){var $t=Ot[zt];$t.enumerable=$t.enumerable||!1,$t.configurable=!0,"value"in $t&&($t.writable=!0),Object.defineProperty(dt,$t.key,$t)}}function Ga(dt,Ot,zt){return Ot&&Za(dt.prototype,Ot),zt&&Za(dt,zt),Object.defineProperty(dt,"prototype",{writable:!1}),dt}function Fo(dt,Ot){return function(zt){if(Array.isArray(zt))return zt}(dt)||function(zt,$t){var pn=zt==null?null:typeof Symbol!="undefined"&&zt[Symbol.iterator]||zt["@@iterator"];if(pn!=null){var mn,In,xn=[],qn=!0,Wn=!1;try{for(pn=pn.call(zt);!(qn=(mn=pn.next()).done)&&(xn.push(mn.value),!$t||xn.length!==$t);qn=!0);}catch(ar){Wn=!0,In=ar}finally{try{qn||pn.return==null||pn.return()}finally{if(Wn)throw In}}return xn}}(dt,Ot)||rl(dt,Ot)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function rl(dt,Ot){if(dt){if(typeof dt=="string")return Qs(dt,Ot);var zt=Object.prototype.toString.call(dt).slice(8,-1);return zt==="Object"&&dt.constructor&&(zt=dt.constructor.name),zt==="Map"||zt==="Set"?Array.from(dt):zt==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(zt)?Qs(dt,Ot):void 0}}function Qs(dt,Ot){(Ot==null||Ot>dt.length)&&(Ot=dt.length);for(var zt=0,$t=new Array(Ot);zt<Ot;zt++)$t[zt]=dt[zt];return $t}function fs(dt,Ot){var zt=typeof Symbol!="undefined"&&dt[Symbol.iterator]||dt["@@iterator"];if(!zt){if(Array.isArray(dt)||(zt=rl(dt))||Ot&&dt&&typeof dt.length=="number"){zt&&(dt=zt);var $t=0,pn=function(){};return{s:pn,n:function(){return $t>=dt.length?{done:!0}:{done:!1,value:dt[$t++]}},e:function(qn){throw qn},f:pn}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var mn,In=!0,xn=!1;return{s:function(){zt=zt.call(dt)},n:function(){var qn=zt.next();return In=qn.done,qn},e:function(qn){xn=!0,mn=qn},f:function(){try{In||zt.return==null||zt.return()}finally{if(xn)throw mn}}}}function _l(dt){var Ot=32;switch(dt){case 0:Ot=23;break;case 1:Ot=26;break;case 2:default:Ot=32;break;case 3:Ot=38}return Ot}function zl(dt){dt=dt.sort();for(var Ot=[],zt=0;zt<dt.length;zt++)dt[zt]!==dt[zt-1]&&Ot.push(dt[zt]);return Ot}function Rl(dt,Ot){var zt=0,$t=[],pn=[];return dt&&function(){var mn,In=(dt+="").split(""),xn=0;for(xn=0;xn<In.length;xn++)mn=In[xn],/(?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0])/.test(mn)?new Array(10).fill(1).forEach(function(){(zt===Ot||zt===2*Ot||zt===3*Ot)&&$t.push(xn),zt+=1}):new Array(5).fill(1).forEach(function(){(zt===Ot||zt===2*Ot||zt===3*Ot)&&$t.push(xn),zt+=1});xn===dt.length&&(zt<Ot||!$t.length||zt>Ot&&zt<2*Ot||zt>Ot&&zt<3*Ot)&&$t.push(dt.length);var qn=$t.length;qn===1?pn.push({text:dt,x:0,y:0}):qn===2?$t.forEach(function(Wn,ar){ar===0?pn.push({text:dt.substring(0,Wn),x:0,y:-7}):pn.push({text:dt.substring($t[0],Wn),x:0,y:7})}):$t.forEach(function(Wn,ar){ar===0?pn.push({text:dt.substring(0,Wn),x:0,y:-12}):ar===1?pn.push({text:dt.substring($t[0],Wn+1),x:0,y:4}):dt.length>Wn?(()=>{var Ir=pn.reduce((Er,Yr)=>Er+Yr.text.length,0);pn.push({text:dt.substring(Ir,Ir+2)+(dt.length-(Ir+2)>0?"...":""),x:0,y:16})})():pn.push({text:dt.substring($t[1]+1,Wn),x:0,y:16})})}(),pn}Xr.prototype;var mu=["circle","rect","ellipse"],Tl=["url(#radialGradient-1)","url(#radialGradient-2)","url(#radialGradient-3)"],ll=["url(#lines1)","url(#lines2)","url(#lines3)"];function jl(dt,Ot,zt){return dt.selectAll(".node-circle").remove(),dt.selectAll(".node-circle").data(Ot,function($t){return $t.id}).enter().append(function($t){return mu.includes($t.shape)?document.createElementNS("http://www.w3.org/2000/svg",$t.shape):document.createElementNS("http://www.w3.org/2000/svg","circle")}).style("display",function($t){return $t.hide?"none":"block"}).style("opacity",function($t){return $t.hide?"0":"1"}).attr("r",function($t){return $t.shape=="circle"?Vl($t.size):null}).attr("rx",function($t){return $t.shape=="ellipse"?Vl($t.size)+10:$t.shape=="rect"?10:null}).attr("ry",function($t){return $t.shape=="ellipse"?Vl($t.size)+10:$t.shape=="rect"?10:null}).attr("width",function($t){return $t.shape=="rect"?3*(Vl($t.size)-6):2*(Vl($t.size)-6)}).attr("height",function($t){return $t.shape=="rect"?1.5*(Vl($t.size)-6):2*(Vl($t.size)-6)}).attr("fill",function($t){return $t.colorType?Tl[$t.colorType-1]:$t.color||"url(#radialGradient-1)"}).attr("color",function($t){return $t.color||"#2E8B57"}).attr("class",function($t){return"node-circle node-circle-".concat($t.id," transition-opacity duration-500")}).attr("id",function($t){return"node-circle".concat($t.id)}).style("cursor","pointer").on("mouseover",function($t,pn){var mn=pn.activeColor||"#008FFF";$t.target.setAttribute("stroke",mn),$t.target.setAttribute("stroke-width","8")}).on("mouseout",function($t){$t.target.setAttribute("stroke-width","0")}).append("title").text(function($t){return $t.name}),dt.selectAll(".node-circle")}function Vl(dt){var Ot=32;switch(dt){case 0:Ot=23;break;case 1:Ot=26;break;case 2:default:Ot=32;break;case 3:Ot=38}return Ot}function yu(dt,Ot){return dt.selectAll("text").remove(),dt.selectAll("text").data(Ot,function(zt){return zt.id}).enter().append("text").attr("dy",".35em").attr("text-anchor","middle").attr("pointer-events","none").style("fill","#fff").style("font-size","10px").style("text-anchor","middle").attr("class",function(zt){return"node-text node-circle node-circle--text-".concat(zt.id," node-text-").concat(zt.id," transition-opacity duration-500")}).style("cursor","pointer").append("svg:title").text(function(zt){return zt.name}),dt.selectAll("text").style("display",function(zt){return zt.hide?"none":"block"}),dt.selectAll("text").attr("d",function(zt){zt.shape=="rect"?li(".node-circle--text-".concat(zt.id)).append("tspan").style("cursor","pointer").append("tspan").text(function($t){return $t.name}):Rl(zt.name,Vl(zt.size)).forEach(function($t,pn){li(".node-circle--text-".concat(zt.id)).append("tspan").style("cursor","pointer").attr("class",function(mn){return"node-circle--tspan-".concat(mn.id,"-").concat(pn)}).attr("x",$t.x).attr("y",$t.y).text(function(){return $t.text})})}),dt.selectAll("text")}function Yl(dt){var Ot=arguments.length>1&&arguments[1]!==void 0&&arguments[1],zt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],$t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},pn=$t._ops,mn=li("body"),In=[];if(Ot&&pn.isShowBatchOperation)return zt.push(dt.id),li("".concat(pn.containerName)).style("background","#5e5e5e"),zt.forEach(function(Ir){In.push(mn.select("".concat(pn.containerName," .node-circle-").concat(Ir)).attr("color"))}),mn.selectAll("".concat(pn.containerName," .node-circle")).attr("fill","#3c3b3b"),zt.forEach(function(Ir,Er){mn.select("".concat(pn.containerName," .node-circle-").concat(Ir)).attr("fill",In[Er])}),void li(".graph-bath").style("display","block");if(pn.isShowMask){var xn=[],qn=[];pn.links.map(function(Ir){Ir.source.id==dt.id&&(xn.push(Ir.target.id),qn.push(Ir.source.id+Ir.target.id)),Ir.target.id==dt.id&&(xn.push(Ir.source.id),qn.push(Ir.source.id+Ir.target.id))});var Wn=zl(xn),ar=zl(qn);Wn.push(dt.id),mn.selectAll("".concat(pn.containerName," .line-item")).style("display","none"),li("".concat(pn.containerName)).style("background","#5e5e5e"),Wn.forEach(function(Ir){In.push(mn.select("".concat(pn.containerName," .node-circle-").concat(Ir)).attr("color"))}),mn.selectAll("".concat(pn.containerName," .node-circle")).attr("fill","#3c3b3b"),Wn.forEach(function(Ir,Er){mn.select("".concat(pn.containerName," .node-circle-").concat(Ir)).attr("fill",In[Er])}),ar.forEach(function(Ir){mn.selectAll("".concat(pn.containerName," .line-item-").concat(Ir)).style("display",function(Er){return Er.hide?"none":"block"})})}}var bl=[],_u={addPath:function(dt){dt.forEach(function(Ot){var zt=bl.indexOf(Ot);zt!=-1&&bl.splice(zt,1),bl.unshift(Ot)})},getPath:function(){return bl},clearPath:function(){bl.length=0}};function Hu(dt,Ot,zt,$t){return Pn.apply(this,arguments)}function Pn(){return Pn=ka(so().mark(function dt(Ot,zt,$t,pn){var mn;return so().wrap(function(In){for(;;)switch(In.prev=In.next){case 0:return mn=$t._ops,In.delegateYield(so().mark(function xn(){var qn,Wn,ar,Ir,Er,Yr,jr,kr,zr,_r,Vr,Ti,to,pa,lo,ha,Zo,Oo,Ri,co,Oa,ni,ji,mo,yo,ra,Eo,Uo,Va,Ho;return so().wrap(function($r){for(;;)switch($r.prev=$r.next){case 0:$r.t0=Ot,$r.next=$r.t0==="remove"?3:$r.t0==="hide"?19:$r.t0==="contraction"?22:$r.t0==="extend"?42:$r.t0==="editSize"?62:$r.t0==="editColor"?71:$r.t0==="editShape"?79:$r.t0==="extend-path"?87:$r.t0==="contraction-path"?96:100;break;case 3:qn=0;case 4:if(!(qn<zt.length)){$r.next=17;break}Wn=0;case 6:if(!(Wn<mn.nodes.length)){$r.next=13;break}if(mn.nodes[Wn].id!=zt[qn]){$r.next=10;break}return mn.nodes.splice(Wn,1),$r.abrupt("break",13);case 10:Wn++,$r.next=6;break;case 13:for(ar=0;ar<mn.links.length;ar++)mn.links[ar].source.id!=zt[qn]&&mn.links[ar].target.id!=zt[qn]||(mn.links.splice(ar,1),ar--);case 14:qn++,$r.next=4;break;case 17:return $t.update(),$r.abrupt("break",100);case 19:for(Ir=0;Ir<zt.length;Ir++){for(Er=0;Er<mn.nodes.length;Er++)mn.nodes[Er].id==zt[Ir]&&(mn.nodes[Er].hide=!0);for(Yr=0;Yr<mn.links.length;Yr++)mn.links[Yr].source.id!=zt[Ir]&&mn.links[Yr].target.id!=zt[Ir]||(mn.links[Yr].hide=!0)}return $t.update(),$r.abrupt("break",100);case 22:for(jr=[],kr=function(qi){mn.links.map(function(qa){if(qa.source.id==zt[qi]){qa.hide=!0;for(var Xl=!1,nu=0;nu<mn.links.length;nu++)(mn.links[nu].source.id==qa.target.id||mn.links[nu].target.id==qa.target.id&&mn.links[nu].source.id!=zt[qi])&&(Xl=!0);Xl||jr.push(qa.target.id)}})},zr=0;zr<zt.length;zr++)kr(zr);_r=0;case 26:if(!(_r<mn.nodes.length)){$r.next=40;break}Vr=0;case 28:if(!(Vr<jr.length)){$r.next=37;break}if(mn.nodes[_r].id!=jr[Vr]){$r.next=34;break}return mn.nodes[_r].hide=!0,jr.splice(Vr,1),Vr--,$r.abrupt("break",37);case 34:Vr++,$r.next=28;break;case 37:_r++,$r.next=26;break;case 40:return $t.update(),$r.abrupt("break",100);case 42:for(Ti=[],to=function(qi){mn.links.map(function(qa){qa.source.id==zt[qi]&&(qa.hide=!1,Ti.push(qa.target.id))})},pa=0;pa<zt.length;pa++)to(pa);lo=0;case 46:if(!(lo<mn.nodes.length)){$r.next=60;break}ha=0;case 48:if(!(ha<Ti.length)){$r.next=57;break}if(mn.nodes[lo].id!=Ti[ha]){$r.next=54;break}return mn.nodes[lo].hide=!1,Ti.splice(ha,1),ha--,$r.abrupt("break",57);case 54:ha++,$r.next=48;break;case 57:lo++,$r.next=46;break;case 60:return $t.update(),$r.abrupt("break",100);case 62:if(Zo=0,!pn){$r.next=70;break}return $r.next=66,pn();case 66:for((Zo=$r.sent)<=24&&(Zo=24),Oo=0;Oo<zt.length;Oo++)for(Ri=0;Ri<mn.nodes.length;Ri++)mn.nodes[Ri].id==zt[Oo]&&(mn.nodes[Ri].size=Zo);$t.update();case 70:return $r.abrupt("break",100);case 71:if(co=0,!pn){$r.next=78;break}return $r.next=75,pn();case 75:for(co=$r.sent,Oa=0;Oa<zt.length;Oa++)for(ni=0;ni<mn.nodes.length;ni++)mn.nodes[ni].id==zt[Oa]&&(mn.nodes[ni].color=co);$t.update();case 78:return $r.abrupt("break",100);case 79:if(ji="circle",!pn){$r.next=86;break}return $r.next=83,pn();case 83:for(ji=$r.sent,mo=0;mo<zt.length;mo++)for(yo=0;yo<mn.nodes.length;yo++)mn.nodes[yo].id==zt[mo]&&(mn.nodes[yo].shape=ji);$t.update();case 86:return $r.abrupt("break",100);case 87:return ra=zt[0],Eo=_u.getPath(),(Uo=Eo.length>1?Eo[1]:null)&&cr.contractionPath(Uo,Eo,$t),cr.extendPath(ra,$t),cr.previousStep.id=ra,cr.previousStep.operate="extend",$t.update(),$r.abrupt("break",100);case 96:return Va=zt[0],(Ho=_u.getPath()).indexOf(Va)!=-1&&(cr.contractionPath(Va,Ho,$t),cr.previousStep.operate=="extend"&&cr.previousStep.id!=Va?(cr.extendPath(cr.previousStep.id,$t),cr.previousStep.operate="extend"):(cr.previousStep.id=Va,cr.previousStep.operate="contraction"),$t.update()),$r.abrupt("break",100);case 100:case"end":return $r.stop()}},xn)})(),"t0",2);case 2:li(mn.containerName).style("background",mn.background);case 3:case"end":return In.stop()}},dt)})),Pn.apply(this,arguments)}var Tn,cr={extendPath:function(dt,Ot){for(var zt=Ot._ops,$t=zt.nodes,pn=zt.links,mn=[],In=[],xn=0;xn<pn.length;xn++)pn[xn].source.id==dt&&pn[xn].target.id!=dt&&(zt.links[xn].hide=!1,mn.push(pn[xn].target.id)),pn[xn].source.id!=dt&&pn[xn].target.id==dt&&(zt.links[xn].hide=!1,mn.push(pn[xn].source.id));if(mn.length){for(var qn=0;qn<$t.length;qn++)for(var Wn=0;Wn<mn.length;Wn++)if($t[qn].id==mn[Wn]){zt.nodes[qn].hide=!1,mn.splice(Wn,1),Wn--;break}if($t.map(function(Yr){Yr.hide&&In.push(Yr.id)}),In.length>0)for(var ar=0;ar<pn.length;ar++)for(var Ir=0;Ir<In.length;Ir++)pn[ar].source.id!=In[Ir]&&pn[ar].target.id!=In[Ir]||(pn[ar].hide=!0),In.includes(pn[ar].source.id)||In.includes(pn[ar].target.id)||(pn[ar].hide=!1);else for(var Er=0;Er<pn.length;Er++)pn[Er].hide=!1}},contractionPath:function(dt,Ot,zt){for(var $t=zt._ops,pn=$t.nodes,mn=$t.links,In=[],xn=[],qn=!1,Wn=0;Wn<pn.length;Wn++)if(pn[Wn].id==dt){qn=!!pn[Wn].isExtendedState;break}if(qn&&(mn.forEach(function(jr,kr){jr.source.id==dt&&cr.filterEvery(Ot,jr.target.id)&&($t.links[kr].hide=!0,In.push(jr.target.id)),jr.target.id==dt&&cr.filterEvery(Ot,jr.source.id)&&($t.links[kr].hide=!0,In.push(jr.source.id))}),In.length)){for(var ar=0;ar<pn.length;ar++)for(var Ir=0;Ir<In.length;Ir++)if(pn[ar].id==In[Ir]){$t.nodes[ar].hide=!0,xn.push($t.nodes[ar].id),In.splice(Ir,1),Ir--;break}for(var Er=0;Er<mn.length;Er++)for(var Yr=0;Yr<xn.length;Yr++)mn[Er].source.id!=xn[Yr]&&mn[Er].target.id!=xn[Yr]||(mn[Er].hide=!0)}},filterEvery:function(dt,Ot){return dt.every(function(zt){return zt!=Ot})},previousStep:{id:"0",operate:"undefined"}};function yr(dt,Ot,zt){var $t=dt.selectAll(".line-item");return($t=$t.data(Ot,function(pn){return"".concat(pn.source.id,"_").concat(pn.target.id)})).exit().remove(),($t=$t.enter().append("g")).append("path").style("fill",function(pn){return pn.colorType?ll[pn.colorType-1]:pn.color||"url(#lines1)"}).attr("stroke-width",function(pn){return Math.sqrt(pn.value)}).attr("stroke","none").style("cursor","pointer").attr("class",function(pn,mn){return"line-item-inner line-item-inner-".concat(mn)}).on("click",function(pn,mn){zt._ops.linkClick(mn)}).on("mouseover",function(pn,mn){Rr(dt,mn,"in",zt)}).on("mouseout",function(pn,mn){Rr(dt,mn,"out",zt)}),$t.attr("class",function(pn){return"line-item line-item-".concat(pn.source.id).concat(pn.target.id)}).append("text").attr("class",function(pn,mn){return"line-text-item line-text-item-".concat(mn)}).attr("stroke","none").style("pointer-events","none").style("text-anchor","middle").style("fill","rgba(184, 191, 204, 1)").style("font-size","10px"),dt.selectAll(".line-item").style("display",function(pn){return pn.hide?"none":"block"}).style("opacity",function(pn){return pn.hide?"0":"1"}).attr("class",function(pn,mn){return"line-item line-item-".concat(pn.source.id).concat(pn.target.id," line-item-index-").concat(mn," transition-opacity duration-500")}),[dt.selectAll(".line-item"),dt.selectAll(".line-item-inner"),dt.selectAll(".line-text-item")]}function Rr(dt,Ot,zt,$t){zt==="in"?(dt.select(".line-item-inner-".concat(Ot.index)).style("fill",function(pn){return pn.colorType?ll[pn.colorType-1]:pn.color||ll[0]}),dt.select(".line-item-inner-".concat(Ot.index)).attr("stroke-width","3"),dt.select(".line-item-inner-".concat(Ot.index)).attr("stroke",function(pn){return pn.colorType?ll[pn.colorType-1]:pn.color||ll[0]}),dt.select(".line-text-item-".concat(Ot.index)).style("fill","rgba(184, 191, 204, 1)"),dt.select(".line-text-item-".concat(Ot.index)).style("font-size","14px")):(dt.select(".line-item-inner-".concat(Ot.index)).style("fill",function(pn){return pn.colorType?ll[pn.colorType-1]:pn.color||ll[0]}),dt.select(".line-item-inner-".concat(Ot.index)).attr("stroke-width",Math.sqrt(Ot.value)),dt.select(".line-item-inner-".concat(Ot.index)).attr("stroke","none"),dt.select(".line-text-item-".concat(Ot.index)).style("fill","rgba(184, 191, 204, 1)"),dt.select(".line-text-item-".concat(Ot.index)).style("font-size","10px"))}function Dr(dt){var Ot=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Tn=dt,Ot._linkContainer.selectAll(".connect-item")._groups[0].length||Ot._linkContainer.append("g").attr("class","connect-item").append("path").attr("stroke-width",2).attr("stroke","#5e5ef0").attr("class","connect-item-inner"),li("".concat(Ot._ops.containerName)).on("mousemove",function(zt){si(zt,Ot)})}function si(dt,Ot){var zt,$t,pn,mn=(zt=Ot._linkContainer._groups[0][0].parentNode.attributes.transform,{translate:(pn=($t=zt)&&/translate/.test($t.value)&&/scale/.test($t.value)&&$t.value.match(/translate\(([^\)]+)\)\s?scale\(([^\)]+)/))&&pn[1].split(",")||[0,0],scale:pn&&pn[2]||1}),In=mn.translate,xn=mn.scale;Ot._linkContainer.selectAll(".connect-item-inner").attr("d",function(){return"M".concat(Tn.x,", ").concat(Tn.y," L").concat(dt.offsetX/xn-In[0]/xn,", ").concat(dt.offsetY/xn-In[1]/xn)})}function oi(dt){return Array.isArray(dt[0])?{message:"success",done:function(Ot){for(var zt=0;zt<dt.length;zt++){var $t={hide:!1,label:dt[zt][2]?dt[zt][2].name:"",source:dt[zt][0][Ot._ops.benchmark],target:dt[zt][1][Ot._ops.benchmark],props:dt[zt][3]?dt[zt][3].name:[],sourceRadius:32,targetRadius:32,value:1,sh:1,relation:1};Ot._ops.links.push($t)}ti(Ot),Ot.update()}}:{message:"error",done:ti}}function ti(dt){li("".concat(dt._ops.containerName)).on("mousemove",null),dt._linkContainer.selectAll(".connect-item-inner").attr("d",null)}function Ni(dt){var Ot=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"order",zt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,$t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,pn=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1,mn=!0;return $t==1&&dt.length%2==0&&(mn=!1),dt.map(function(In,xn){In._level=$t,In._value=$t==1?xn+1:xn+1+(zt-1)*dt.length,In._parent=$t==2?1:pn,In._site=$t!=1||mn?Ot:xn<dt.length/2?"right":"left",In.children&&In.children.length&&Ni(In.children,In._site,In._value,$t+1,dt.length)}),dt}var pi,Di,vo,ho=!1,hi=[],Go=!1,ro=[],sa=["arc-item","pie-item","pie-icon","operation-item","node-circle"],qo=function(){function dt(Ot){var zt=this;Pa(this,dt),this._example=Ot,this._operationContainer=Ot.operationContainer,this._operationContainer.addElement(this.initPie,this),this.containerSize=0,li(this._example._ops.containerName).on("click",function($t){if(!($t.target.classList&&$t.target.classList[0]&&sa.includes($t.target.classList[0]))&&zt._example._ops.isCustomClick){var pn=zt;pi=null,na(zt._operationContainer),li(pn._example._ops.containerName).selectAll(".node-circle").attr("fill",function(mn){return mn.colorType?Tl[mn.colorType-1]:mn.color||"url(#radialGradient-1)"}),li(pn._example._ops.containerName).selectAll(".line-item").style("display",function(mn){return mn.hide?"none":"block"}),li(zt._example._ops.containerName).style("background",zt._example._ops.background),li(".graph-bath").style("display","none"),hi=[]}}),document.addEventListener("keyup",function($t){$t.keyCode==27&&Go&&(li("".concat(zt._example._ops.containerName)).on("mousemove",null),li(".graph-container").on("mousemove",null),zt._example._linkContainer.selectAll(".connect-item-inner").attr("d",null),ro.length=0)})}return Ga(dt,[{key:"initPie",value:function(Ot,zt){zt._toolbarData=Ni(zt._example._ops.toolbarData),zt._symbolIcon=Ot.append("g").attr("class","icons")}},{key:"showPie",value:function(Ot,zt){if(Ot){var $t=this._example._ops;if(this.containerSize=function(mn){var In=32;switch(mn){case 1:In=26;break;case 2:default:In=32;break;case 3:In=38}return In}(Ot.size)+8,Go)(function(mn,In){ya.apply(this,arguments)})(Ot,this._example);else if(Yl(Ot,zt.shiftKey,hi,this._example),this._toolbarData.length&&(na(this._operationContainer),!zt.shiftKey&&!hi.length))if(pi!=zt.target.id){pi=zt.target.id,this._operationContainer.attr("transform",function(){return"translate("+Ot.x+" "+Ot.y+")"}).attr("data-node",JSON.stringify(Ot)).style("display","block");var pn={code:"root",name:"\u6839",_level:0,_parent:1,_value:1,children:this._toolbarData};ho=!0,Di=Ot,this._operationContainer.selectAll(".operation-item-root")._groups[0].length?this.drawPie("".concat($t.containerName," .operation-item-root"),pn):this.createArc(pn)}else pi=null}else na(this._operationContainer)}},{key:"createArc",value:function(Ot){var zt=this._example._ops,$t=this,pn=this._operationContainer.selectAll("".concat(zt.containerName," .operation-item-").concat(Ot.code)).data(Ot.children).enter().append("a").style("color",zt.arcColor).attr("class","operation-item-".concat(Ot.code," arc-item"));this._symbolIcon.selectAll(".icons-symbol").data(Ot.children).enter().append("symbol").attr("class",function(mn,In){return"icons-symbol-".concat(mn.code).concat(In)}).attr("id",function(mn,In){return"icons-symbol-".concat(mn.code).concat(In)}).append("path").attr("class","icon").attr("d",function(mn){return mn.icon}),pn.append("path").attr("fill",zt.pieFill).attr("class","pie-item").on("mouseover",function(mn){mn.target.setAttribute("fill",zt.activePieFill)}).on("mouseout",function(mn){mn.target.setAttribute("fill",zt.pieFill)}).on("click",function(mn,In){if(!In.click&&In.children&&In.code&&($t._operationContainer.selectAll("".concat(zt.containerName," .operation-item-").concat(In.code))._groups[0].length?$t.drawPie("".concat(zt.containerName," .operation-item-").concat(In.code),In):$t.createArc(In)),In.click){if(!(In.click({verify:!0})instanceof Promise))throw na($t._operationContainer),new Error("the click function does not return a promise");vo=In,function(xn,qn,Wn){cs.apply(this,arguments)}(In,Di,$t)}}).append("title").text(function(mn){return mn.name}),pn.append("svg").attr("class","pie-icon").style("display","none").attr("width",18).attr("height",18).attr("viewBox","0 0 1024 1024").append("use").attr("xlink:href",function(mn,In){return"#icons-symbol-".concat(mn.code).concat(In)}).style("pointer-events","none"),this.drawPie("".concat(zt.containerName," .operation-item-").concat(Ot.code),Ot)}},{key:"drawPie",value:function(Ot,zt){var $t=this;if(!this._operationContainer.selectAll("".concat(Ot," .pie-item")).attr("d")){var pn=document.querySelectorAll("".concat(Ot," .pie-icon"));this._operationContainer.selectAll(".arc-item").style("color",$t._example._ops.arcColor),this._operationContainer.selectAll("".concat(Ot," .pie-item")).attr("fill",$t._example._ops.pieFill).transition().duration(500).attrTween("d",function(mn,In){var xn=function(Wn,ar,Ir){var Er=[];if(ar._site=="order"){var Yr=Wn._num||1,jr=Dn()(new Array(Wn.children.length*Yr).fill(1));return ar._num=jr.length,Er=Ia(jr,jr.length/Wn._num)[Wn._value-1],Wn._level==0&&(Er=jr),Er}var kr,zr=0,_r=[];Wn._level==0?(zr=Wn.children.length,kr=Dn()(new Array(zr).fill(1)).map(function(Ti,to){if(to>=zr/2){var pa=Ti.startAngle;Ti.startAngle=Ti.endAngle,Ti.endAngle=pa}return Ti})):(zr=Wn._level==1?Wn.children.length*Ir._toolbarData.length:Wn.children.length*Wn._num,kr=Dn()(new Array(zr).fill(1)).map(function(Ti){if(Wn._site=="left"){var to=Ti.startAngle;Ti.startAngle=Ti.endAngle,Ti.endAngle=to}return Ti})),ar._num=kr.length;var Vr=Wn._value;return ar._site=="left"?(_r=kr.slice(kr.length/2,kr.length),Vr=Wn._value-Wn._num/2):_r=kr.slice(0,kr.length/2),Er=Ia(_r,_r.length/(Wn._num/2))[Vr-1],Wn._level==0&&(Er=kr),Er}(zt,mn,$t),qn=wa(xn[In].startAngle,xn[In].endAngle);return function(Wn){return ho?function(ar,Ir,Er,Yr,jr,kr,zr,_r){var Vr=$a(Er[zr].startAngle,Ir(ar),jr._level+1,jr._level+2,_r),Ti=Vr.centroid(Er[zr]);return Yr[zr].setAttribute("x",Ti[0]-6),Yr[zr].setAttribute("y",Ti[1]-6),_r._operationContainer.selectAll("".concat(kr," .pie-icon")).transition().delay(150).styleTween("display",function(){return Hr("none",ho?"block":"none")}),Vr()}(Wn,qn,xn,pn,zt,Ot,In,$t):""}})}}}]),dt}();function na(dt){dt.selectAll(".arc-item .pie-item").interrupt().attr("d",null),dt.selectAll(".arc-item .pie-icon").interrupt().style("display","none"),dt.style("display","none"),dt.selectAll(".operation-item").attr("transform",function(){return"rotate(0)"}),ho=!1}var $a=function(dt,Ot){var zt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,$t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:2,pn=arguments.length>4?arguments[4]:void 0;return xl().innerRadius(zt*pn.containerSize+2).outerRadius($t*pn.containerSize).padAngle(.02).startAngle(dt).endAngle(Ot)};function cs(){return cs=ka(so().mark(function dt(Ot,zt,$t){var pn,mn,In;return so().wrap(function(xn){for(;;)switch(xn.prev=xn.next){case 0:xn.t0=Ot.type,xn.next=xn.t0==="connect"?3:xn.t0==="unlocked"?8:33;break;case 3:return ro.length=0,Go=!0,ro.push(zt),Dr(zt,$t._example),xn.abrupt("break",36);case 8:mn=fs($t._example._ops.nodes),xn.prev=9,mn.s();case 11:if((In=mn.n()).done){xn.next=19;break}if((pn=In.value).id!=zt.id){xn.next=17;break}return pn.fx=null,pn.fy=null,xn.abrupt("break",19);case 17:xn.next=11;break;case 19:xn.next=24;break;case 21:xn.prev=21,xn.t1=xn.catch(9),mn.e(xn.t1);case 24:return xn.prev=24,mn.f(),xn.finish(24);case 27:return $t._example._simulation._simulation.nodes($t._example._ops.nodes),$t._example._simulation._simulation.alphaTarget(.08).restart(),setTimeout(function(){$t._example._simulation._simulation.alphaTarget(0)},300),xn.next=32,Ot.click(zt);case 32:return xn.abrupt("break",36);case 33:return xn.next=35,Ot.click({node:zt});case 35:Hu(Ot.type,[zt.id],$t._example);case 36:pi=null,na($t._operationContainer);case 38:case"end":return xn.stop()}},dt,null,[[9,21,24,27]])})),cs.apply(this,arguments)}function ya(){return(ya=ka(so().mark(function dt(Ot,zt){var $t,pn,mn;return so().wrap(function(In){for(;;)switch(In.prev=In.next){case 0:return li(".graph-container").on("mousemove",null),Go=!1,ro.push(Ot),pn={node:Ot,connects:($t=[]).concat.apply($t,ro)},In.next=6,vo.click(pn);case 6:mn=In.sent,oi(mn||[ro.splice(0)]).done(zt),Yl(pn.connects[0],!1,[],zt),ro.length=0;case 11:case"end":return In.stop()}},dt)}))).apply(this,arguments)}function Ia(dt,Ot){for(var zt=[],$t=0;$t<dt.length;)zt.push(dt.slice($t,$t+=Ot));return zt}function gs(dt,Ot,zt,$t){var pn=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1,mn=arguments.length>5&&arguments[5]!==void 0?arguments[5]:7,In=arguments.length>6&&arguments[6]!==void 0?arguments[6]:7;this.deflection=$t;var xn=function(Eo){return Eo*Eo},qn=this.deflection*Math.PI/180,Wn={x:Math.cos(qn)*dt,y:Math.sin(qn)*dt},ar=dt/(Ot+In),Ir=-zt*ar/(1-ar),Er=function(Eo,Uo,Va,Ho){var $r=Eo.y/(Eo.x-Ir),qi=Eo.y-$r*Eo.x,qa=1+xn($r),Xl=2*($r*qi-Va),nu=xn(qi)+xn(Va)-xn(Uo),ul={x:(-Xl+Ho*Math.sqrt(xn(Xl)-4*qa*nu))/(2*qa)};return ul.y=(ul.x-Ir)*$r,ul},Yr=Er(Wn,Ot+In,zt,-1),jr=-Wn.x/Wn.y,kr=Wn.y+xn(Wn.x)/Wn.y,zr=-(Yr.x-zt)/Yr.y,_r=Yr.y+(Yr.x-zt)*Yr.x/Yr.y,Vr=(kr-_r)/(zr-jr),Ti=jr*Vr+kr,to=Math.sqrt(xn(Vr-Wn.x)+xn(Ti-Wn.y)),pa=Math.atan2(Wn.x-Vr,Ti-Wn.y),lo=Math.atan2(Yr.x-Vr,Ti-Yr.y),ha=(pa+lo)/2;this.deflection>0&&(ha+=Math.PI);var Zo=lo-pa;this.deflection>0&&(Zo=2*Math.PI-Zo),this.shaftLength=Zo*to,pa>lo&&(this.shaftLength=0),this.midShaftPoint={x:Vr+to*Math.sin(ha),y:Ti-to*Math.cos(ha)};var Oo=function(Eo){var Uo=(Eo<0?1:-1)*Math.sqrt(xn(Eo)/(1+xn(jr))),Va=jr*Uo;return{x:Wn.x+Uo,y:Wn.y+Va}},Ri=function(Eo){var Uo=(Eo<0?-1:1)*Math.sqrt(xn(Eo)/(1+xn(zr))),Va=zr*Uo;return{x:Yr.x+Uo,y:Yr.y+Va}},co=function(Eo,Uo){return{x:Vr+(to+Uo)*Math.sin(Eo),y:Ti-(to+Uo)*Math.cos(Eo)}},Oa=function(Eo){var Uo=(Eo<0?-1:1)*Math.sqrt(xn(Eo)/(1+xn(1/zr))),Va=Uo/zr;return{x:Yr.x+Uo,y:Yr.y-Va}},ni=function(Eo){return Eo.x+","+Eo.y},ji=pn/2,mo=mn/2,yo=Wn.y>0?0:1,ra=Wn.y<0?0:1;this.outline=function(){if(pa>lo)return["M",ni(Ri(-mo)),"L",ni(Oa(In)),"L",ni(Ri(mo)),"Z"].join(" ");var Eo=ha-0,Uo=ha+0;return["M",ni(Oo(ji)),"L",ni(Oo(-ji)),"A",to-ji,to-ji,0,0,yo,ni(co(Eo,-ji)),"L",ni(co(Eo,ji)),"A",to+ji,to+ji,0,0,ra,ni(Oo(ji)),"Z","M",ni(co(Uo,ji)),"L",ni(co(Uo,-ji)),"A",to-ji,to-ji,0,0,yo,ni(Ri(-ji)),"L",ni(Ri(-mo)),"L",ni(Oa(In)),"L",ni(Ri(mo)),"L",ni(Ri(ji)),"A",to+ji,to+ji,0,0,ra,ni(co(Uo,ji))].join(" ")}}function ga(dt,Ot,zt){var $t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:8,pn=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1,mn=arguments.length>5&&arguments[5]!==void 0?arguments[5]:7,In=arguments.length>6&&arguments[6]!==void 0?arguments[6]:7,xn=zt*Math.PI/180,qn=dt,Wn=dt+In,ar=dt+Ot,Ir=ar*Math.tan(xn/2),Er=pn/2;function Yr(Vr,Ti){return Vr+","+Ti}this.shaftLength=3*Ir+pn;var jr=function(Vr,Ti,to){var pa=Ti*Math.tan(xn/2),lo=Ti/Math.cos(xn/2);return Yr((pa+to)*Math.sin(Vr),lo+(pa+to)*Math.cos(Vr))},kr=function(){var Vr=jr(0,ar,Er+$t/2+2).split(",");return{x:Vr[0],y:Vr[1]}};this.midShaftPoint=kr();var zr=function(Vr,Ti){return jr((Math.PI+xn)/2,Vr,Ti)},_r=function(Vr,Ti){return jr(-(Math.PI+xn)/2,Vr,Ti)};this.outline=function(){var Vr=Ir-Er,Ti=Ir+Er;return["M",zr(qn,Er),"L",zr(ar,Er),"A",Ti,Ti,0,1,1,_r(ar,Er),"L",_r(Wn,Er),"L",_r(Wn,-mn/2),"L",_r(qn,0),"L",_r(Wn,mn/2),"L",_r(Wn,-Er),"L",_r(ar,-Er),"A",Vr,Vr,0,1,0,zr(ar,-Er),"L",zr(qn,-Er),"Z"].join(" ")}}function Wa(dt,Ot,zt){var $t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,pn=arguments.length>4&&arguments[4]!==void 0?arguments[4]:7,mn=arguments.length>5&&arguments[5]!==void 0?arguments[5]:7;this.length=zt-(dt+Ot),this.shaftLength=this.length-mn;var In=dt,xn=In+this.shaftLength,qn=In+this.length,Wn=$t/2,ar=pn/2;this.midShaftPoint={x:In+this.shaftLength/2,y:0},this.outline=function(){var Ir=0,Er=0;return["M",In,Wn,"L",Ir,Wn,"L",Ir,-Wn,"L",In,-Wn,"Z","M",Er,Wn,"L",xn,Wn,"L",xn,ar,"L",qn,0,"L",xn,-ar,"L",xn,-Wn,"L",Er,-Wn,"Z"].join(" ")}}function fa(){}var Wo=new fa;function la(dt,Ot){this.relationships=[],dt.id<Ot.id?(this.nodeA=dt,this.nodeB=Ot):(this.nodeA=Ot,this.nodeB=dt)}fa.prototype.computeGeometryForNonLoopArrows=function(dt){for(var Ot,zt=function(Er){return Er*Er},$t=0,pn=Array.from(dt);$t<pn.length;$t++)for(var mn=(Ot=pn[$t]).nodeA.x-Ot.nodeB.x,In=Ot.nodeA.y-Ot.nodeB.y,xn=(Math.atan2(In,mn)/Math.PI*180+360)%360,qn=Math.sqrt(zt(mn)+zt(In)),Wn=void 0,ar=0,Ir=Array.from(Ot.relationships);ar<Ir.length;ar++)(Wn=Ir[ar]).naturalAngle=Wn.target.id===Ot.nodeA.id?(xn+180)%360:xn,Wn.centreDistance=qn},fa.prototype.shortenCaption=function(dt,Ot){for(var zt=dt,$t=12*zt.length;;){if(Ot>$t)return zt;var pn=Math.ceil(($t-Ot)/12);return zt.length-pn<=0?"":zt.substr(0,zt.length-pn)+"\u2026"}},fa.prototype.distributeAnglesForLoopArrows=function(dt,Ot){for(var zt,$t=0,pn=Array.from(dt);$t<pn.length;$t++)if((zt=pn[$t]).isLoop()){for(var mn=void 0,In=void 0,xn=[],qn=zt.nodeA,Wn=void 0,ar=0,Ir=Array.from(Ot);ar<Ir.length;ar++)(Wn=Ir[ar]).isLoop||(Wn.source.id===qn.id&&xn.push(Wn.naturalAngle),Wn.target.id===qn.id&&xn.push(Wn.naturalAngle+180));if(xn=xn.map(function(kr){return(kr+360)%360}).sort(function(kr,zr){return kr-zr}),xn.length>0){var Er=void 0,Yr=void 0,jr={start:0,end:0};for(mn=0;mn<xn.length;mn++)Yr=xn[mn],(Er=mn===xn.length-1?xn[0]+360:xn[mn+1])-Yr>jr.end-jr.start&&(jr.start=Yr,jr.end=Er);for(In=(jr.end-jr.start)/(zt.relationships.length+1),mn=0;mn<zt.relationships.length;mn++)(Wn=zt.relationships[mn]).naturalAngle=(jr.start+(mn+1)*In-90)%360}else for(In=360/zt.relationships.length,mn=0;mn<zt.relationships.length;mn++)(Wn=zt.relationships[mn]).naturalAngle=mn*In}},fa.prototype.layoutRelationships=function(dt){var Ot,zt,$t=function(Yr){for(var jr,kr={},zr=0,_r=Array.from(Yr);zr<_r.length;zr++){var Vr=new la((jr=_r[zr]).source,jr.target);(Vr=kr[Vr]!=null?kr[Vr]:Vr).relationships.push(jr),kr[Vr]=Vr}return function(){var Ti=[];for(var to in kr){var pa=kr[to];Ti.push(pa)}return Ti}()}(dt);this.computeGeometryForNonLoopArrows($t),this.distributeAnglesForLoopArrows($t,dt);for(var pn=0,mn=Array.from($t);pn<mn.length;pn++){zt=mn[pn];for(var In=0,xn=Array.from(zt.relationships);In<xn.length;In++)delete(Ot=xn[In]).arrow;for(var qn=(zt.relationships.length-1)/2,Wn=zt.relationships.length-1,ar=30*Wn>150?150/Wn:30,Ir=0;Ir<zt.relationships.length;Ir++){if(Ot=zt.relationships[Ir],zt.isLoop())Ot.arrow=new ga(Ot.sourceRadius,40,30);else if(Ir===qn)Ot.arrow=new Wa(Ot.sourceRadius,Ot.targetRadius,Ot.centreDistance);else{var Er=ar*(Ir-qn);zt.nodeA.id!==Ot.source.id&&(Er*=-1),Ot.arrow=new gs(Ot.sourceRadius,Ot.targetRadius,Ot.centreDistance,Er)}Ot.shortCaption=this.shortenCaption(Ot.label,Ot.arrow.shaftLength)}}},fa.prototype.layoutNodes=function(dt){var Ot=dt.width,zt=dt.height,$t=dt.layout,pn=dt.nodes;(function(){var mn=99999999,In=-99999999,xn=99999999,qn=-99999999,Wn=-9999999;pn.forEach(function(Er){mn>Er.x&&(mn=Er.x),In<Er.x&&(In=Er.x),xn>Er.y&&(xn=Er.y),qn<Er.y&&(qn=Er.y),Wn<Er.size&&(Wn=12)});var ar=(Ot-$t.x-Wn)/(In-mn),Ir=(zt-$t.y-Wn)/(qn-xn);pn.forEach(function(Er){Er.x=(Er.x-mn)*ar+$t.x/2,Er.y=(Er.y-xn)*Ir+$t.y/2})})()},la.prototype.toString=function(){return this.nodeA.id+""+this.nodeB.id},la.prototype.isLoop=function(){return this.nodeA.id===this.nodeB.id};var Ha=function(){function dt(Ot){Pa(this,dt);var zt=Ot.operationContainer,$t=Ot._ops,pn=$t.width,mn=$t.height,In=$t.layout;this._root=Ot._ops,this._rootComponent=zt,this.init(pn,mn,In)}return Ga(dt,[{key:"init",value:function(Ot,zt,$t){console.log(Ot,"width");var pn=$t.simulation?$t.simulation:.01;this._simulation=tf([]).force("center",function(mn,In){var xn,qn=1;function Wn(){var ar,Ir,Er=xn.length,Yr=0,jr=0;for(ar=0;ar<Er;++ar)Yr+=(Ir=xn[ar]).x,jr+=Ir.y;for(Yr=(Yr/Er-mn)*qn,jr=(jr/Er-In)*qn,ar=0;ar<Er;++ar)(Ir=xn[ar]).x-=Yr,Ir.y-=jr}return mn==null&&(mn=0),In==null&&(In=0),Wn.initialize=function(ar){xn=ar},Wn.x=function(ar){return arguments.length?(mn=+ar,Wn):mn},Wn.y=function(ar){return arguments.length?(In=+ar,Wn):In},Wn.strength=function(ar){return arguments.length?(qn=+ar,Wn):qn},Wn}(Ot/2,zt/2).strength(.03)).force("charge",function(){var mn,In,xn,qn,Wn,ar=Mc(-30),Ir=1,Er=1/0,Yr=.81;function jr(Vr){var Ti,to=mn.length,pa=Yh(mn,wu,Du).visitAfter(zr);for(qn=Vr,Ti=0;Ti<to;++Ti)In=mn[Ti],pa.visit(_r)}function kr(){if(mn){var Vr,Ti,to=mn.length;for(Wn=new Array(to),Vr=0;Vr<to;++Vr)Ti=mn[Vr],Wn[Ti.index]=+ar(Ti,Vr,mn)}}function zr(Vr){var Ti,to,pa,lo,ha,Zo=0,Oo=0;if(Vr.length){for(pa=lo=ha=0;ha<4;++ha)(Ti=Vr[ha])&&(to=Math.abs(Ti.value))&&(Zo+=Ti.value,Oo+=to,pa+=to*Ti.x,lo+=to*Ti.y);Vr.x=pa/Oo,Vr.y=lo/Oo}else{(Ti=Vr).x=Ti.data.x,Ti.y=Ti.data.y;do Zo+=Wn[Ti.data.index];while(Ti=Ti.next)}Vr.value=Zo}function _r(Vr,Ti,to,pa){if(!Vr.value)return!0;var lo=Vr.x-In.x,ha=Vr.y-In.y,Zo=pa-Ti,Oo=lo*lo+ha*ha;if(Zo*Zo/Yr<Oo)return Oo<Er&&(lo===0&&(Oo+=(lo=Bc(xn))*lo),ha===0&&(Oo+=(ha=Bc(xn))*ha),Oo<Ir&&(Oo=Math.sqrt(Ir*Oo)),In.vx+=lo*Vr.value*qn/Oo,In.vy+=ha*Vr.value*qn/Oo),!0;if(!(Vr.length||Oo>=Er)){(Vr.data!==In||Vr.next)&&(lo===0&&(Oo+=(lo=Bc(xn))*lo),ha===0&&(Oo+=(ha=Bc(xn))*ha),Oo<Ir&&(Oo=Math.sqrt(Ir*Oo)));do Vr.data!==In&&(Zo=Wn[Vr.data.index]*qn/Oo,In.vx+=lo*Zo,In.vy+=ha*Zo);while(Vr=Vr.next)}}return jr.initialize=function(Vr,Ti){mn=Vr,xn=Ti,kr()},jr.strength=function(Vr){return arguments.length?(ar=typeof Vr=="function"?Vr:Mc(+Vr),kr(),jr):ar},jr.distanceMin=function(Vr){return arguments.length?(Ir=Vr*Vr,jr):Math.sqrt(Ir)},jr.distanceMax=function(Vr){return arguments.length?(Er=Vr*Vr,jr):Math.sqrt(Er)},jr.theta=function(Vr){return arguments.length?(Yr=Vr*Vr,jr):Math.sqrt(Yr)},jr}().strength(-350)).force("collide",function(mn){var In,xn,qn,Wn=1,ar=1;function Ir(){for(var jr,kr,zr,_r,Vr,Ti,to,pa=In.length,lo=0;lo<ar;++lo)for(kr=Yh(In,Zs,Ll).visitAfter(Er),jr=0;jr<pa;++jr)zr=In[jr],Ti=xn[zr.index],to=Ti*Ti,_r=zr.x+zr.vx,Vr=zr.y+zr.vy,kr.visit(ha);function ha(Zo,Oo,Ri,co,Oa){var ni=Zo.data,ji=Zo.r,mo=Ti+ji;if(!ni)return Oo>_r+mo||co<_r-mo||Ri>Vr+mo||Oa<Vr-mo;if(ni.index>zr.index){var yo=_r-ni.x-ni.vx,ra=Vr-ni.y-ni.vy,Eo=yo*yo+ra*ra;Eo<mo*mo&&(yo===0&&(Eo+=(yo=Bc(qn))*yo),ra===0&&(Eo+=(ra=Bc(qn))*ra),Eo=(mo-(Eo=Math.sqrt(Eo)))/Eo*Wn,zr.vx+=(yo*=Eo)*(mo=(ji*=ji)/(to+ji)),zr.vy+=(ra*=Eo)*mo,ni.vx-=yo*(mo=1-mo),ni.vy-=ra*mo)}}}function Er(jr){if(jr.data)return jr.r=xn[jr.data.index];for(var kr=jr.r=0;kr<4;++kr)jr[kr]&&jr[kr].r>jr.r&&(jr.r=jr[kr].r)}function Yr(){if(In){var jr,kr,zr=In.length;for(xn=new Array(zr),jr=0;jr<zr;++jr)kr=In[jr],xn[kr.index]=+mn(kr,jr,In)}}return typeof mn!="function"&&(mn=Mc(mn==null?1:+mn)),Ir.initialize=function(jr,kr){In=jr,qn=kr,Yr()},Ir.iterations=function(jr){return arguments.length?(ar=+jr,Ir):ar},Ir.strength=function(jr){return arguments.length?(Wn=+jr,Ir):Wn},Ir.radius=function(jr){return arguments.length?(mn=typeof jr=="function"?jr:Mc(+jr),Yr(),Ir):mn},Ir}(40)).force("x",function(mn){var In,xn,qn,Wn=Mc(.1);function ar(Er){for(var Yr,jr=0,kr=In.length;jr<kr;++jr)(Yr=In[jr]).vx+=(qn[jr]-Yr.x)*xn[jr]*Er}function Ir(){if(In){var Er,Yr=In.length;for(xn=new Array(Yr),qn=new Array(Yr),Er=0;Er<Yr;++Er)xn[Er]=isNaN(qn[Er]=+mn(In[Er],Er,In))?0:+Wn(In[Er],Er,In)}}return typeof mn!="function"&&(mn=Mc(mn==null?0:+mn)),ar.initialize=function(Er){In=Er,Ir()},ar.strength=function(Er){return arguments.length?(Wn=typeof Er=="function"?Er:Mc(+Er),Ir(),ar):Wn},ar.x=function(Er){return arguments.length?(mn=typeof Er=="function"?Er:Mc(+Er),Ir(),ar):mn},ar}(Ot/2).strength(.01)).force("y",function(mn){var In,xn,qn,Wn=Mc(.1);function ar(Er){for(var Yr,jr=0,kr=In.length;jr<kr;++jr)(Yr=In[jr]).vy+=(qn[jr]-Yr.y)*xn[jr]*Er}function Ir(){if(In){var Er,Yr=In.length;for(xn=new Array(Yr),qn=new Array(Yr),Er=0;Er<Yr;++Er)xn[Er]=isNaN(qn[Er]=+mn(In[Er],Er,In))?0:+Wn(In[Er],Er,In)}}return typeof mn!="function"&&(mn=Mc(mn==null?0:+mn)),ar.initialize=function(Er){In=Er,Ir()},ar.strength=function(Er){return arguments.length?(Wn=typeof Er=="function"?Er:Mc(+Er),Ir(),ar):Wn},ar.y=function(Er){return arguments.length?(mn=typeof Er=="function"?Er:Mc(+Er),Ir(),ar):mn},ar}(zt/2).strength(pn))}},{key:"updateSimulation",value:function(Ot,zt,$t){var pn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,mn=$t.benchmark,In=$t.height,xn=$t.width,qn=$t.isResize,Wn=$t.layout,ar=Wn.distance?Wn.distance:Math.min(In,xn)/2-80,Ir=ku(zt).iterations(.05).id(function(Er){return Er[mn]}).distance(function(){return zt.length<=5&&qn?100:zt.length<=20&&qn?ar:zt.length<=60?180:230});this._simulation.nodes(Ot).force("link",Ir).velocityDecay(.2).alpha(pn).alphaDecay(.08),this._simulation.restart()}},{key:"addSimulationEvent",value:function(Ot,zt,$t,pn){var mn=this,In=Fo(Ot,3),xn=In[0],qn=In[1],Wn=In[2];this._simulation.on("tick",function(){return Wo.layoutRelationships(pn),mn._root.layout.force&&Wo.layoutNodes(mn._root),xn.attr("transform",function(ar){return"translate("+ar.source.x+" "+ar.source.y+") rotate("+(ar.naturalAngle-180)+")"}),qn.attr("d",function(ar){return ar.arrow.outline(ar)}),Wn.attr("x",function(ar){return ar.arrow.midShaftPoint.x}).attr("y",function(ar){return ar.arrow.midShaftPoint.y+13}).attr("transform",function(ar){return ar.naturalAngle<90||ar.naturalAngle>270?"rotate(180 "+ar.arrow.midShaftPoint.x+" "+ar.arrow.midShaftPoint.y+")":null}).text(function(ar){return ar.shortCaption}),zt.attr("cx",function(ar){return ar.x}).attr("cy",function(ar){return ar.y}).attr("x",function(ar){return ar.shape=="rect"?ar.x-_l(ar.size):ar.x-ar.size+6}).attr("y",function(ar){return ar.shape=="rect"?ar.y-_l(ar.size)/1.5:ar.y-ar.size+6}),void $t.attr("x",function(ar){return Rl(ar.name,_l(ar.size)).forEach(function(Ir,Er){li(".node-circle--tspan-".concat(ar.id,"-").concat(Er)).attr("x",ar.x).attr("y",Ir.y+ar.y)}),ar.x}).attr("y",function(ar){return ar.y})})}},{key:"drag",value:function(){var Ot=this;return function(){var zt,$t,pn,mn,In=zi,xn=It,qn=Yo,Wn=ko,ar={},Ir=Ue("start","drag","end"),Er=0,Yr=0;function jr(lo){lo.on("mousedown.drag",kr).filter(Wn).on("touchstart.drag",Vr).on("touchmove.drag",Ti,fo).on("touchend.drag touchcancel.drag",to).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function kr(lo,ha){if(!mn&&In.call(this,lo,ha)){var Zo=pa(this,xn.call(this,lo,ha),lo,ha,"mouse");Zo&&(li(lo.view).on("mousemove.drag",zr,Io).on("mouseup.drag",_r,Io),Pi(lo.view),bo(lo),pn=!1,zt=lo.clientX,$t=lo.clientY,Zo("start",lo))}}function zr(lo){if(ai(lo),!pn){var ha=lo.clientX-zt,Zo=lo.clientY-$t;pn=ha*ha+Zo*Zo>Yr}ar.mouse("drag",lo)}function _r(lo){li(lo.view).on("mousemove.drag mouseup.drag",null),ao(lo.view,pn),ai(lo),ar.mouse("end",lo)}function Vr(lo,ha){if(In.call(this,lo,ha)){var Zo,Oo,Ri=lo.changedTouches,co=xn.call(this,lo,ha),Oa=Ri.length;for(Zo=0;Zo<Oa;++Zo)(Oo=pa(this,co,lo,ha,Ri[Zo].identifier,Ri[Zo]))&&(bo(lo),Oo("start",lo,Ri[Zo]))}}function Ti(lo){var ha,Zo,Oo=lo.changedTouches,Ri=Oo.length;for(ha=0;ha<Ri;++ha)(Zo=ar[Oo[ha].identifier])&&(ai(lo),Zo("drag",lo,Oo[ha]))}function to(lo){var ha,Zo,Oo=lo.changedTouches,Ri=Oo.length;for(mn&&clearTimeout(mn),mn=setTimeout(function(){mn=null},500),ha=0;ha<Ri;++ha)(Zo=ar[Oo[ha].identifier])&&(bo(lo),Zo("end",lo,Oo[ha]))}function pa(lo,ha,Zo,Oo,Ri,co){var Oa,ni,ji,mo=Ir.copy(),yo=Ai(co||Zo,ha);if((ji=qn.call(lo,new oo("beforestart",{sourceEvent:Zo,target:jr,identifier:Ri,active:Er,x:yo[0],y:yo[1],dx:0,dy:0,dispatch:mo}),Oo))!=null)return Oa=ji.x-yo[0]||0,ni=ji.y-yo[1]||0,function ra(Eo,Uo,Va){var Ho,$r=yo;switch(Eo){case"start":ar[Ri]=ra,Ho=Er++;break;case"end":delete ar[Ri],--Er;case"drag":yo=Ai(Va||Uo,ha),Ho=Er}mo.call(Eo,lo,new oo(Eo,{sourceEvent:Uo,subject:ji,target:jr,identifier:Ri,active:Ho,x:yo[0]+Oa,y:yo[1]+ni,dx:yo[0]-$r[0],dy:yo[1]-$r[1],dispatch:mo}),Oo)}}return jr.filter=function(lo){return arguments.length?(In=typeof lo=="function"?lo:Jr(!!lo),jr):In},jr.container=function(lo){return arguments.length?(xn=typeof lo=="function"?lo:Jr(lo),jr):xn},jr.subject=function(lo){return arguments.length?(qn=typeof lo=="function"?lo:Jr(lo),jr):qn},jr.touchable=function(lo){return arguments.length?(Wn=typeof lo=="function"?lo:Jr(!!lo),jr):Wn},jr.on=function(){var lo=Ir.on.apply(Ir,arguments);return lo===Ir?jr:lo},jr.clickDistance=function(lo){return arguments.length?(Yr=(lo=+lo)*lo,jr):Math.sqrt(Yr)},jr}().on("start",function(zt){var $t=zt.subject;zt.active||Ot._simulation.alphaTarget(.08).restart(),$t.fx=$t.x,$t.fy=$t.y}).on("drag",function(zt){na(Ot._rootComponent),zt.subject.fx=zt.x,zt.subject.fy=zt.y,zt.subject.drag=!0,Ot._simulation.force("center",null),Ot._root.nodeMove(zt)}).on("end",function(zt){zt.active||Ot._simulation.alphaTarget(0)})}}]),dt}();function Po(dt,Ot,zt){var $t=document.createElement("ul");$t.className="graph-bath",Ot.forEach(function(pn){var mn=document.createElement("li");if(mn.innerText=pn.name,mn.className="graph-bath-item",pn.click){if(!(pn.click()instanceof Promise))throw new Error("the click function does not return a promise");mn.onclick=function(){Hu(pn.type,hi,zt,pn.click)}}else mn.onclick=function(){Hu(pn.type,hi,zt)};$t.appendChild(mn)}),$t.style.position="fixed",$t.style.top="100px",$t.style.right="0",$t.style.display="none",document.querySelector(zt._ops.containerName).append($t)}var Es={width:1e3,height:1e3,containerName:"#graph",benchmark:"id",background:"#F7FAFC",pieFill:"#dddde1",activePieFill:"#b5b5bd",arcColor:"#000",isShowMask:!0,isResize:!1,isCustomClick:!0,isCustomMouse:!1,isShowBatchOperation:!1,clickToggle:!1,nodes:[],links:[],nodeSize:32,nodeClick:function(){},nodeMouseover:function(){},nodeMouseout:function(){},nodeMove:function(){},linkClick:function(){},zoomOptions:{minScale:.5,maxScale:1.5},linkOps:{stroke:"#999","stroke-opacity":.6},layout:{simulation:0,distance:0,force:!1,x:10,y:10},colors:["rgba(42, 134, 246, 1)","rgba(9, 179, 222, 1)","rgba(253, 141, 60, 1)","rgba(255, 71, 81, 1)","rgba(120, 152, 210, 1)","rgba(110, 184, 201, 1)","rgba(245, 174, 42, 1)","rgba(254, 126, 133, 1)"],activeColors:["rgba(42, 134, 246, .6)","rgba(9, 179, 222, .6)","rgba(253, 141, 60, .6)","rgba(255, 71, 81, .6)","rgba(120, 152, 210, .6)","rgba(110, 184, 201, .6)","rgba(245, 174, 42, .6)","rgba(254, 126, 133, .6)"],batchOperation:[{name:"\u5220\u9664",type:"remove"},{name:"\u9690\u85CF",type:"hide"},{name:"\u5C55\u5F00",type:"extend"},{name:"\u6536\u8D77",type:"contraction"},{name:"\u4FEE\u6539\u989C\u8272",type:"editColor"},{name:"\u4FEE\u6539\u5927\u5C0F",type:"editSize"},{name:"\u4FEE\u6539\u5F62\u72B6",type:"editShape"}],toolbarData:[{name:"\u5C55\u5F00",code:"extend",icon:"M512 426.666667c93.866667 0 170.666667-76.8 170.666667-170.666667 0-93.866667-76.8-170.666667-170.666667-170.666667C418.133333 85.333333 341.333333 162.133333 341.333333 256 341.333333 349.866667 418.133333 426.666667 512 426.666667zM512 170.666667c46.933333 0 85.333333 38.4 85.333333 85.333333 0 46.933333-38.4 85.333333-85.333333 85.333333-46.933333 0-85.333333-38.4-85.333333-85.333333C426.666667 209.066667 465.066667 170.666667 512 170.666667zM256 554.666667c-93.866667 0-170.666667 76.8-170.666667 170.666667 0 93.866667 76.8 170.666667 170.666667 170.666667 93.866667 0 170.666667-76.8 170.666667-170.666667C426.666667 631.466667 349.866667 554.666667 256 554.666667zM256 810.666667c-46.933333 0-85.333333-38.4-85.333333-85.333333 0-46.933333 38.4-85.333333 85.333333-85.333333 46.933333 0 85.333333 38.4 85.333333 85.333333C341.333333 772.266667 302.933333 810.666667 256 810.666667zM512 473.6c-42.666667 0-81.066667 38.4-81.066667 81.066667s38.4 81.066667 81.066667 81.066667c42.666667 0 81.066667-38.4 81.066667-81.066667S554.666667 473.6 512 473.6zM768 554.666667c-93.866667 0-170.666667 76.8-170.666667 170.666667 0 93.866667 76.8 170.666667 170.666667 170.666667 93.866667 0 170.666667-76.8 170.666667-170.666667C938.666667 631.466667 861.866667 554.666667 768 554.666667zM768 810.666667c-46.933333 0-85.333333-38.4-85.333333-85.333333 0-46.933333 38.4-85.333333 85.333333-85.333333 46.933333 0 85.333333 38.4 85.333333 85.333333C853.333333 772.266667 814.933333 810.666667 768 810.666667z",type:"extend",click:function(){return new Promise(function(dt){dt(!1)})}},{name:"\u9690\u85CF",code:"hide",icon:"M906.688 126.976a48 48 0 0 1 3.84 62.528l-4.736 5.376-104.96 101.952a1013.12 1013.12 0 0 1 130.24 112.128c53.952 54.336 56.512 140.352 7.68 197.76l-7.68 8.32-17.92 17.728C775.872 765.568 642.176 832 512 832c-67.584 0-136.064-17.92-205.568-53.696l-117.76 114.56a48 48 0 0 1-71.68-63.488l4.8-5.312L222.08 726.4a1015.04 1015.04 0 0 1-129.152-111.36 146.304 146.304 0 0 1-7.68-197.76l7.68-8.32 17.92-17.728C248.128 258.432 381.824 192 512 192c67.2 0 135.36 17.728 204.416 53.12l122.368-119.04a48 48 0 0 1 67.84 0.896z m-208 269.44L626.944 466.304a123.584 123.584 0 0 1-163.584 159.296l-71.872 69.952a219.584 219.584 0 0 0 307.264-299.2zM512 292.416A219.584 219.584 0 0 0 324.608 626.56l72.064-70.08a123.584 123.584 0 0 1 162.88-158.592l72-70.144A218.56 218.56 0 0 0 512 292.48z",type:"hide",click:function(){return new Promise(function(dt){dt(!1)})}},{name:"\u89E3\u9501",code:"unlocked",icon:"M553.55 601.87v209.1c0 21.74-17.63 39.36-39.36 39.36-21.74 0-39.36-17.62-39.36-39.36v-209.1c0-21.74 17.63-39.36 39.36-39.36 21.74 0 39.36 17.62 39.36 39.36zM929.8 497.94v412.04c0 62.06-50.48 112.54-112.54 112.54h-611.3c-62.06 0-112.54-50.48-112.54-112.54V497.94c0-62.06 50.48-112.54 112.54-112.54h5.45c0.18-134.05 31.06-235.21 91.82-300.66 27.43-29.55 60.84-51.69 99.31-65.79C435.89 6.72 473.17 0.52 513.31 0.52c78.95 0 140.72 17.26 188.82 52.76 27.18 20.06 49.94 46.2 67.64 77.69 17.86 31.77 31.11 70.05 39.39 113.76 4.04 21.35-9.99 41.94-31.34 45.98-21.35 4.05-41.94-9.98-45.98-31.34-23.91-126.28-89.27-180.16-218.53-180.16-64.75 0-116.03 19.88-152.42 59.07-46.83 50.44-70.64 133.58-70.81 247.12h527.17c62.06 0 112.55 50.48 112.55 112.54z m-78.72 0c0-18.65-15.18-33.82-33.82-33.82h-611.3c-18.65 0-33.82 15.17-33.82 33.82v412.04c0 18.65 15.18 33.82 33.82 33.82h611.3c18.65 0 33.82-15.18 33.82-33.82V497.94z",type:"unlocked",click:function(){return new Promise(function(dt){dt(!1)})}},{name:"\u6536\u8D77",code:"contraction",icon:"M890.2 115H133.8c-20.9 0-37.8 16.9-37.8 37.8v37.8c0 20.9 16.9 37.8 37.8 37.8h756.4c20.9 0 37.8-16.9 37.8-37.8v-37.8c0-20.9-16.9-37.8-37.8-37.8zM890.2 455.3H398.5c-20.9 0-37.8 16.9-37.8 37.8v37.8c0 20.9 16.9 37.8 37.8 37.8h491.6c20.9 0 37.8-16.9 37.8-37.8v-37.8c0.1-20.9-16.8-37.8-37.7-37.8zM890.2 795.6H133.8c-20.9 0-37.8 16.9-37.8 37.8v37.8c0 20.9 16.9 37.8 37.8 37.8h756.4c20.9 0 37.8-16.9 37.8-37.8v-37.8c0-20.9-16.9-37.8-37.8-37.8zM266.2 600.7V423.3c0-22-29.2-33.1-46.2-17.5l-97.1 88.7c-10.6 9.7-10.6 25.3 0 35l97.1 88.7c17 15.5 46.2 4.5 46.2-17.5z",type:"contraction",click:function(){return new Promise(function(dt){dt(!1)})}},{name:"\u5220\u9664",code:"remove",icon:"M597.333333 128h-170.666666a42.666667 42.666667 0 0 0-42.666667 42.666667v42.666666h256V170.666667a42.666667 42.666667 0 0 0-37.674667-42.368L597.333333 128z m0 298.666667a42.666667 42.666667 0 0 1 42.666667 42.666666v256a42.666667 42.666667 0 0 1-85.333333 0v-256a42.666667 42.666667 0 0 1 42.666666-42.666666z m-170.666666 0a42.666667 42.666667 0 0 1 42.666666 42.666666v256a42.666667 42.666667 0 0 1-85.333333 0v-256a42.666667 42.666667 0 0 1 42.666667-42.666666z m341.333333-128H256v554.666666a42.666667 42.666667 0 0 0 37.674667 42.368L298.666667 896h426.666666a42.666667 42.666667 0 0 0 42.666667-42.666667V298.666667z m-170.666667-256a128 128 0 0 1 128 128v42.666666h170.666667a42.666667 42.666667 0 0 1 42.368 37.674667L938.666667 256a42.666667 42.666667 0 0 1-42.666667 42.666667h-42.666667v554.666666a128 128 0 0 1-120.490666 127.786667L725.333333 981.333333H298.666667a128 128 0 0 1-128-128V298.666667H128a42.666667 42.666667 0 0 1-42.368-37.674667L85.333333 256a42.666667 42.666667 0 0 1 42.666667-42.666667h170.666667V170.666667a128 128 0 0 1 120.490666-127.786667L426.666667 42.666667h170.666666z",type:"remove",click:function(){return new Promise(function(dt){dt(!1)})}},{name:"\u8FDE\u7EBF",icon:"M922.00324 771.5L712.90324 892.2c-2.7 1.5-6-0.4-6-3.5V816c0-8.8-7.2-16-16-16H208.00324c-42.5 0-82.6-16.7-113-47-30.3-30.3-47-70.4-47-113s16.7-82.6 47-113c30.3-30.3 70.5-47 113-47h576c53.3 0 96.5-43.6 96-97-0.5-52.8-44.4-95-97.2-95h-519c-6.8 0-12.8 4.3-15.1 10.7-17.6 49.7-65 85.3-120.7 85.3C57.00324 384-0.49676 326.2 0.00324 255.1c0.5-71 59.4-128.3 130.4-127.1 54.7 1 101.1 36.4 118.4 85.4 2.2 6.4 8.3 10.6 15 10.6H784.00324c42.5 0 82.6 16.7 113 47 30.3 30.3 47 70.5 47 113s-16.7 82.6-47 113c-30.3 30.3-70.5 47-113 47H208.00324c-53.3 0-96.5 43.6-96 97 0.5 52.8 44.4 95 97.2 95h481.7c8.8 0 16-7.2 16-16v-72.7c0-3.1 3.3-5 6-3.5L922.00324 764.5c2.7 1.6 2.7 5.4 0 7z",code:"connect",type:"connect",click:function(){return new Promise(function(dt){dt(!1)})}}]},ca=`
<svg width="300" height="200" viewBox="0 0 300 200" xmlns="http://www.w3.org/2000/svg">
<defs>
<radialGradient id="grad1" cx="64%" cy="41%" r="64%" fx="64%" fy="41%">
<stop offset="0%" stop-color="#ffcdca"/>
<stop offset="15%" stop-color="#f8a8af"/>
<stop offset="36%" stop-color="#f486bd"/>
<stop offset="64%" stop-color="#f15acb"/>
<stop offset="100%" stop-color="#dc48be"/>
</radialGradient>
<radialGradient cx="62.7929688%" cy="38.7660435%" fx="62.7929688%" fy="38.7660435%" r="69.6171323%" id="radialGradient-1">
<stop stop-color="#FF938E" offset="0%"></stop>
<stop stop-color="#F3629B" offset="27.7958615%"></stop>
<stop stop-color="#F25B98" offset="61.0231575%"></stop>
<stop stop-color="#D45C9F" offset="79.1889024%"></stop>
<stop stop-color="#FB94DC" offset="100%"></stop>
</radialGradient>
<radialGradient cx="64.4599781%" cy="41.4199561%" fx="64.4599781%" fy="41.4199561%" r="66.0105958%" gradientTransform="translate(0.644600,0.414200),scale(1.000000,0.982143),rotate(135.557584),translate(-0.644600,-0.414200)" id="radialGradient-2">
<stop stop-color="#9C4BFF" offset="0%"></stop>
<stop stop-color="#7D2FE3" offset="22.2365921%"></stop>
<stop stop-color="#7F29E3" offset="53.5499367%"></stop>
<stop stop-color="#9635DB" offset="82.281989%"></stop>
<stop stop-color="#C47AF8" offset="100%"></stop>
</radialGradient>
<radialGradient cx="64.4599781%" cy="41.4199561%" fx="64.4599781%" fy="41.4199561%" r="65.4353394%" id="radialGradient-3">
<stop stop-color="#6F99FF" offset="0%"></stop>
<stop stop-color="#2465E0" offset="15.3761414%"></stop>
<stop stop-color="#3047D6" offset="35.5277535%"></stop>
<stop stop-color="#3435D9" offset="79.4914212%"></stop>
<stop stop-color="#5D58F2" offset="100%"></stop>
</radialGradient>
<linearGradient x1="0%" y1="50.0019531%" x2="100%" y2="50%" id="lines1">
<stop stop-color="#F763AF" offset="0%"></stop>
<stop stop-color="#7328E5" offset="100%"></stop>
</linearGradient>
<linearGradient x1="-5.45107057%" y1="49.9980469%" x2="100%" y2="50.0019531%" id="linearGradient-1">
<stop stop-color="#862FF3" offset="0%"></stop>
<stop stop-color="#4531E9" offset="100%"></stop>
</linearGradient>
<linearGradient x1="-5.45107057%" y1="49.9980469%" x2="100%" y2="50.0019531%" id="linearGradient-1">
<stop stop-color="#862FF3" offset="0%"></stop>
<stop stop-color="#4531E9" offset="100%"></stop>
</linearGradient>
</defs>
</svg>
`;Ge.createContainer=class{constructor(dt){var Ot=["style","innerHTML","body","absolute","append","defsvg","div","createElement","zIndex"],zt=function(xn,qn){xn=xn-0;var Wn=Ot[xn];return Wn};if(!document.getElementById("defsvg")){var $t=document[zt("0x7")](zt("0x6"));$t.id=zt("0x5"),$t[zt("0x1")]=ca,$t[zt("0x0")].position=zt("0x3"),$t.style.top="-10000px",$t[zt("0x0")][zt("0x8")]=-1,document[zt("0x2")][zt("0x4")]($t)}di.prototype.addElement=function(xn){for(var qn=arguments.length,Wn=new Array(qn>1?qn-1:0),ar=1;ar<qn;ar++)Wn[ar-1]=arguments[ar];return xn.apply(void 0,[this].concat(Wn))},di.prototype.attrs=function(xn){return function(qn,Wn){for(var ar in Wn)qn.attr(ar,Wn[ar]);return qn}(this,xn)},di.prototype.addElements=function(xn,qn){return this.data(xn).exit().remove(),this.data(xn).enter().append(qn)},this._ops=function(xn,qn){var Wn={};for(var ar in xn)Wn[ar]=qn[ar]!=null?qn[ar]:xn[ar];return Wn}(Es,dt);const pn=li(this._ops.containerName);var mn,In=this;pn.node()||(mn="\u627E\u4E0D\u5230\u8981\u6302\u8F7D\u7684\u8282\u70B9",console.warn("\u3010graph error\u3011:"+mn)),function(xn,qn){const{_ops:Wn}=qn,ar=xn.append("svg").attr("viewBox",[0,0,Wn.width,Wn.height]).attr("class",`${Wn.containerName}-graph-container`),Ir=ar.append("g").attr("class","graph-box");xn.style("background",Wn.background),qn._linkContainer=Ir.append("g").attr("class",`${Wn.containerName}-link-container`),qn._nodeContainer=Ir.append("g").attr("class",`${Wn.containerName}-node-container`),qn._textContainer=Ir.append("g").attr("class",`${Wn.containerName}-text-container`),xn.addElement(Po,Wn.batchOperation,qn),qn.operationContainer=Ir.append("g").attr("class",`${Wn.containerName}-operation-container`),qn._linkContainer.attrs(Wn.link_ops),qn.operationContainer.style("display","none"),function(Er,Yr){var jr=arguments.length>2&&arguments[2]!==void 0?arguments[2]:.1,kr=arguments.length>3&&arguments[3]!==void 0?arguments[3]:15,zr=Ei().scaleExtent([jr,kr]).on("zoom",function(_r){Yr.attr("transform",_r.transform)});In.zoom=zr,Er.call(zr),Yr.on("dblclick.zoom",null),Er.on("dblclick.zoom",null)}(ar,Ir,Wn.zoomOptions.minScale,Wn.zoomOptions.maxScale)}(pn,this),this._simulation=new Ha(this),this._pie=new qo(this),this.update()}addNode(dt){(function(Ot,zt){zt._ops.nodes.push(Ot),zt.update()})(dt,this)}zoomIn(){li(this._ops.containerName).select("svg").transition().duration(750).call(this.zoom.scaleBy,1.2)}zoomOut(){li(this._ops.containerName).select("svg").transition().duration(750).call(this.zoom.scaleBy,.8)}toggleNode(dt){if(!this._ops.clickToggle)return;var Ot=this._ops.nodes,zt=this._ops.links;dt.isExtendedState=!dt.isExtendedState;var $t=!dt.isExtendedState,pn=[dt.id];function mn(In,xn,qn){qn.forEach(Wn=>{if(Wn.source.id===In){Wn.hide=$t;const ar=xn.find(Ir=>Ir.id===Wn.target.id);ar&&(ar.hide=$t,pn.push(ar.id),mn(ar.id,xn,qn))}})}setTimeout(()=>{pn.forEach(In=>{zt.forEach(xn=>{(xn.source.id===In||xn.target.id===In)&&xn.target.id!==dt.id&&(xn.hide=$t)})}),this.update()},100),mn(dt.id,Ot,zt)}showAllNodes(){this._ops.nodes.forEach(dt=>{dt.hide=!1}),this._ops.links.forEach(dt=>{dt.hide=!1}),this.update()}deleteNode(dt){(function(Ot,zt){zt._ops.nodes=zt._ops.nodes.filter(function($t){return $t.id!==Ot.id}),zt._ops.links=zt._ops.links.filter(function($t){return $t.source.id!==Ot.id&&$t.target.id!==Ot.id}),zt.update(),na(zt.operationContainer)})(dt,this)}scrollToNode(dt){const zt=document.querySelector(this._ops.containerName+" svg").querySelector("g.graph-box"),$t=this._ops.nodes.find(ar=>ar.id===dt);if(!$t)return;const pn=$t.x,mn=$t.y,In=1287,xn=596,qn=In/2-pn,Wn=xn/2-mn;zt.setAttribute("transform",`translate(${qn}, ${Wn})`)}selectToNode(dt){const Ot=document.querySelector(this._ops.containerName+" svg");document.body.querySelectorAll("circle.node-circle").forEach(zt=>{zt.classList.remove("highlightNode")}),dt&&Ot.querySelector(".node-circle-"+dt).classList.add("highlightNode")}update(dt=!0,Ot={}){var zt,$t;this._pie.showPie("");const pn=this._ops.nodes,mn=this._ops.links,In=this._nodeContainer.addElement(jl,pn,this),xn=this._linkContainer.addElement(yr,mn,this),qn=this._textContainer.addElement(yu,pn);In.on("click",(Er,Yr)=>Oe(this,null,function*(){this.toggleNode(Yr);const jr=yield this._ops.nodeClick(Yr);if(jr){const{type:kr,id:zr}=jr;Hu(kr,zr,this)}})),this._ops.isCustomMouse&&(In.on("mouseover",(Er,Yr)=>Oe(this,null,function*(){yield this._ops.nodeMouseover(Yr)})),In.on("mouseout",()=>Oe(this,null,function*(){yield this._ops.nodeMouseout()}))),In.on("contextmenu",(Er,Yr)=>{Er.preventDefault(),this._pie.showPie(Yr,Er)}),In.call(this._simulation.drag());const Wn=(zt=document.querySelector(this._ops.containerName))===null||zt===void 0?void 0:zt.clientWidth,ar=($t=document.querySelector(this._ops.containerName))===null||$t===void 0?void 0:$t.clientHeight,Ir=document.getElementsByClassName(`${this._ops.containerName}-graph-container`)[0];Ir&&Wn&&ar&&(this._ops.width=Wn,this._ops.height=ar,Ir.setAttribute("viewBox",`0 0 ${Wn} ${ar}`)),dt?this._simulation.updateSimulation(pn,mn,this._ops):this._simulation.updateSimulation(pn,mn,this._ops,.1),this._simulation.addSimulationEvent(xn,In,qn,mn),function(Er,Yr){var jr=["object","function","undefined"];if(Vo(Yr)!=="object")return Er;for(var kr in Yr)jr.indexOf(Vo(Yr[kr]))===-1&&(Er[kr]=Yr[kr])}(this._ops,Ot),Object.getOwnPropertyNames(Ot).length&&this._updateBaseTheme()}_updateBaseTheme(){li(this._ops.containerName).style("background",this._ops.background)}},Ge.storage=_u,Object.defineProperty(Ge,"__esModule",{value:!0})})},58788:function(en,tn,Oe){"use strict";Oe.d(tn,{Ax:function(){return Ne},Ds:function(){return Ke},KI:function(){return we},SI:function(){return Ue},f1:function(){return tt}});var Ge=Oe(10148);function tt(Te){let ke=!0;if(Te.length>0){for(let Ie=0;Ie<Te.length;Ie++)if(Te[Ie].compile_success==0||!Te[Ie].compile_success){ke=!1;break}}else ke=!1;return ke}function Ue(Te,ke=""){let Ie=[];for(let Ce=0;Ce<Te.length;Ce++){let Me=Te[Ce],je=ke?`${ke}/${Me.name}`:`${Me.name}`;Ie.push({title:Me.name,type:Me.type,isLeaf:Me.type!=="tree",key:je})}return Ie}function Ne(Te,ke,Ie){for(let Ce=0;Ce<Te.length;Ce++){let Me=Te[Ce];if(Me.key===ke){Me.children=Ie;break}Me.children&&Ne(Me.children,ke,Ie)}return Te}function Ke(Te,ke,Ie){let Ce;return function(){let Me=this,je=arguments,ye=function(){Ce=null,Ie||Te.apply(Me,je)},ie=Ie&&!Ce;clearTimeout(Ce),Ce=setTimeout(ye,ke),ie&&Te.apply(Me,je)}}const Be=!0,we=Ge.Z.API_SERVER},65983:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Jt}});var Ge=Oe(59301),tt={imageDimensions:"imageDimensions___a7crR",img:"img___Kroat",fullWidth:"fullWidth___c492T"},Ue=Oe(92310),Ne=Oe.n(Ue),Ke=Oe(71418);var Be=function(wt,ut){return(Be=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(ot,Pt){ot.__proto__=Pt}||function(ot,Pt){for(var Ht in Pt)Object.prototype.hasOwnProperty.call(Pt,Ht)&&(ot[Ht]=Pt[Ht])})(wt,ut)};function we(wt,ut){function ot(){this.constructor=wt}Be(wt,ut),wt.prototype=ut===null?Object.create(ut):(ot.prototype=ut.prototype,new ot)}function Te(wt,ut,ot,Pt){return new(ot||(ot=Promise))(function(Ht,Mt){function hn(An){try{Jn(Pt.next(An))}catch($n){Mt($n)}}function rr(An){try{Jn(Pt.throw(An))}catch($n){Mt($n)}}function Jn(An){var $n;An.done?Ht(An.value):($n=An.value,$n instanceof ot?$n:new ot(function(xr){xr($n)})).then(hn,rr)}Jn((Pt=Pt.apply(wt,ut||[])).next())})}function ke(wt,ut){var ot,Pt,Ht,Mt,hn={label:0,sent:function(){if(1&Ht[0])throw Ht[1];return Ht[1]},trys:[],ops:[]};return Mt={next:rr(0),throw:rr(1),return:rr(2)},typeof Symbol=="function"&&(Mt[Symbol.iterator]=function(){return this}),Mt;function rr(Jn){return function(An){return function($n){if(ot)throw new TypeError("Generator is already executing.");for(;hn;)try{if(ot=1,Pt&&(Ht=2&$n[0]?Pt.return:$n[0]?Pt.throw||((Ht=Pt.return)&&Ht.call(Pt),0):Pt.next)&&!(Ht=Ht.call(Pt,$n[1])).done)return Ht;switch(Pt=0,Ht&&($n=[2&$n[0],Ht.value]),$n[0]){case 0:case 1:Ht=$n;break;case 4:return hn.label++,{value:$n[1],done:!1};case 5:hn.label++,Pt=$n[1],$n=[0];continue;case 7:$n=hn.ops.pop(),hn.trys.pop();continue;default:if(Ht=hn.trys,!((Ht=Ht.length>0&&Ht[Ht.length-1])||$n[0]!==6&&$n[0]!==2)){hn=0;continue}if($n[0]===3&&(!Ht||$n[1]>Ht[0]&&$n[1]<Ht[3])){hn.label=$n[1];break}if($n[0]===6&&hn.label<Ht[1]){hn.label=Ht[1],Ht=$n;break}if(Ht&&hn.label<Ht[2]){hn.label=Ht[2],hn.ops.push($n);break}Ht[2]&&hn.ops.pop(),hn.trys.pop();continue}$n=ut.call(wt,hn)}catch(xr){$n=[6,xr],Pt=0}finally{ot=Ht=0}if(5&$n[0])throw $n[1];return{value:$n[0]?$n[1]:void 0,done:!0}}([Jn,An])}}}function Ie(){for(var wt=0,ut=0,ot=arguments.length;ut<ot;ut++)wt+=arguments[ut].length;var Pt=Array(wt),Ht=0;for(ut=0;ut<ot;ut++)for(var Mt=arguments[ut],hn=0,rr=Mt.length;hn<rr;hn++,Ht++)Pt[Ht]=Mt[hn];return Pt}var Ce=function(){function wt(){}return wt.createDefs=function(){return document.createElementNS("http://www.w3.org/2000/svg","defs")},wt.setAttributes=function(ut,ot){for(var Pt=0,Ht=ot;Pt<Ht.length;Pt++){var Mt=Ht[Pt],hn=Mt[0],rr=Mt[1];ut.setAttribute(hn,rr)}},wt.createRect=function(ut,ot,Pt){var Ht=document.createElementNS("http://www.w3.org/2000/svg","rect");return Ht.setAttribute("width",ut.toString()),Ht.setAttribute("height",ot.toString()),Pt&&wt.setAttributes(Ht,Pt),Ht},wt.createLine=function(ut,ot,Pt,Ht,Mt){var hn=document.createElementNS("http://www.w3.org/2000/svg","line");return hn.setAttribute("x1",ut.toString()),hn.setAttribute("y1",ot.toString()),hn.setAttribute("x2",Pt.toString()),hn.setAttribute("y2",Ht.toString()),Mt&&wt.setAttributes(hn,Mt),hn},wt.createPolygon=function(ut,ot){var Pt=document.createElementNS("http://www.w3.org/2000/svg","polygon");return Pt.setAttribute("points",ut),ot&&wt.setAttributes(Pt,ot),Pt},wt.createCircle=function(ut,ot){var Pt=document.createElementNS("http://www.w3.org/2000/svg","circle");return Pt.setAttribute("cx",(ut/2).toString()),Pt.setAttribute("cy",(ut/2).toString()),Pt.setAttribute("r",ut.toString()),ot&&wt.setAttributes(Pt,ot),Pt},wt.createEllipse=function(ut,ot,Pt){var Ht=document.createElementNS("http://www.w3.org/2000/svg","ellipse");return Ht.setAttribute("cx",(ut/2).toString()),Ht.setAttribute("cy",(ot/2).toString()),Ht.setAttribute("rx",(ut/2).toString()),Ht.setAttribute("ry",(ot/2).toString()),Pt&&wt.setAttributes(Ht,Pt),Ht},wt.createGroup=function(ut){var ot=document.createElementNS("http://www.w3.org/2000/svg","g");return ut&&wt.setAttributes(ot,ut),ot},wt.createTransform=function(){return document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGTransform()},wt.createMarker=function(ut,ot,Pt,Ht,Mt,hn,rr){var Jn=document.createElementNS("http://www.w3.org/2000/svg","marker");return wt.setAttributes(Jn,[["id",ut],["orient",ot],["markerWidth",Pt.toString()],["markerHeight",Ht.toString()],["refX",Mt.toString()],["refY",hn.toString()]]),Jn.appendChild(rr),Jn},wt.createText=function(ut){var ot=document.createElementNS("http://www.w3.org/2000/svg","text");return ot.setAttribute("x","0"),ot.setAttribute("y","0"),ut&&wt.setAttributes(ot,ut),ot},wt.createTSpan=function(ut,ot){var Pt=document.createElementNS("http://www.w3.org/2000/svg","tspan");return Pt.textContent=ut,ot&&wt.setAttributes(Pt,ot),Pt},wt.createImage=function(ut){var ot=document.createElementNS("http://www.w3.org/2000/svg","image");return ut&&wt.setAttributes(ot,ut),ot},wt.createPoint=function(ut,ot){var Pt=document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGPoint();return Pt.x=ut,Pt.y=ot,Pt},wt.createPath=function(ut,ot){var Pt=document.createElementNS("http://www.w3.org/2000/svg","path");return Pt.setAttribute("d",ut),ot&&wt.setAttributes(Pt,ot),Pt},wt}(),Me=function(){function wt(){}return wt.addKey=function(ut){wt.key=ut},Object.defineProperty(wt,"isLicensed",{get:function(){return!!wt.key&&new RegExp(/^MJS2-[A-Z][0-9]{3}-[A-Z][0-9]{3}-[0-9]{4}$/,"i").test(wt.key)},enumerable:!1,configurable:!0}),wt}(),je=function(){function wt(){this.naturalSize=!1,this.imageType="image/png",this.markersOnly=!1}return wt.prototype.rasterize=function(ut,ot,Pt){var Ht=this;return new Promise(function(Mt){var hn=Pt!==void 0?Pt:document.createElement("canvas");ut===null&&(Ht.markersOnly=!0,Ht.naturalSize=!1);var rr=document.createElementNS("http://www.w3.org/2000/svg","svg");rr.setAttribute("xmlns","http://www.w3.org/2000/svg"),rr.setAttribute("width",ot.width.baseVal.valueAsString),rr.setAttribute("height",ot.height.baseVal.valueAsString),rr.setAttribute("viewBox","0 0 "+ot.viewBox.baseVal.width.toString()+" "+ot.viewBox.baseVal.height.toString()),rr.innerHTML=ot.innerHTML,Ht.naturalSize===!0?(rr.width.baseVal.value=ut.naturalWidth,rr.height.baseVal.value=ut.naturalHeight):Ht.width!==void 0&&Ht.height!==void 0&&(rr.width.baseVal.value=Ht.width,rr.height.baseVal.value=Ht.height),hn.width=rr.width.baseVal.value,hn.height=rr.height.baseVal.value;var Jn=rr.outerHTML,An=hn.getContext("2d");Ht.markersOnly!==!0&&An.drawImage(ut,0,0,hn.width,hn.height);var $n=window.URL,xr=new Image(hn.width,hn.height);xr.setAttribute("crossOrigin","anonymous");var mr=new Blob([Jn],{type:"image/svg+xml"}),Qr=$n.createObjectURL(mr);xr.onload=function(){An.drawImage(xr,0,0),$n.revokeObjectURL(Qr);var di=hn.toDataURL(Ht.imageType,Ht.imageQuality);Mt(di)},xr.src=Qr})},wt}(),ye=function(){},ie=function(){function wt(ut){this._classNamePrefixBase="__markerjs2_",this.classes=[],this.rules=[],this.settings=this.defaultSettings,this._classNamePrefix=this._classNamePrefixBase+"_"+ut+"_"}return Object.defineProperty(wt.prototype,"classNamePrefixBase",{get:function(){return this._classNamePrefixBase},enumerable:!1,configurable:!0}),Object.defineProperty(wt.prototype,"classNamePrefix",{get:function(){return this._classNamePrefix},enumerable:!1,configurable:!0}),Object.defineProperty(wt.prototype,"defaultSettings",{get:function(){return{canvasBackgroundColor:"#ffffff",toolbarBackgroundColor:"#111111",toolbarBackgroundHoverColor:"#333333",toolbarColor:"#eeeeee",toolbarHeight:40,toolboxColor:"#eeeeee",toolboxAccentColor:"#3080c3",undoButtonVisible:!0,redoButtonVisible:!1,zoomButtonVisible:!1,zoomOutButtonVisible:!1,clearButtonVisible:!1,resultButtonBlockVisible:!0,logoPosition:"left"}},enumerable:!1,configurable:!0}),Object.defineProperty(wt.prototype,"fadeInAnimationClassName",{get:function(){return this.classNamePrefix+"fade_in"},enumerable:!1,configurable:!0}),Object.defineProperty(wt.prototype,"fadeOutAnimationClassName",{get:function(){return this.classNamePrefix+"fade_out"},enumerable:!1,configurable:!0}),wt.prototype.addClass=function(ut){return this.styleSheet===void 0&&this.addStyleSheet(),ut.name=""+this.classNamePrefix+ut.localName,this.classes.push(ut),this.styleSheet.sheet.insertRule("."+ut.name+" {"+ut.style+"}",this.styleSheet.sheet.cssRules.length),ut},wt.prototype.addRule=function(ut){this.styleSheet===void 0&&this.addStyleSheet(),this.rules.push(ut),this.styleSheet.sheet.insertRule(ut.selector+" {"+ut.style+"}",this.styleSheet.sheet.cssRules.length)},wt.prototype.addStyleSheet=function(){var ut;this.styleSheet=document.createElement("style"),((ut=this.styleSheetRoot)!==null&&ut!==void 0?ut:document.head).appendChild(this.styleSheet),this.addRule(new ae("."+this.classNamePrefix+" h3","font-family: sans-serif")),this.addRule(new ae("@keyframes "+this.classNamePrefix+"_fade_in_animation_frames",`
from {
opacity: 0;
}
to {
opacity: 1;
}
`)),this.addRule(new ae("@keyframes "+this.classNamePrefix+"_fade_out_animation_frames",`
from {
opacity: 1;
}
to {
opacity: 0;
}
`)),this.addClass(new fe("fade_in",`
animation-duration: 0.3s;
animation-name: `+this.classNamePrefix+`_fade_in_animation_frames;
`)),this.addClass(new fe("fade_out",`
animation-duration: 0.3s;
animation-name: `+this.classNamePrefix+`_fade_out_animation_frames;
`))},wt.prototype.removeStyleSheet=function(){var ut;this.styleSheet&&(((ut=this.styleSheetRoot)!==null&&ut!==void 0?ut:document.head).removeChild(this.styleSheet),this.styleSheet=void 0)},wt}(),ae=function(wt,ut){this.selector=wt,this.style=ut},fe=function(wt,ut){this.localName=wt,this.style=ut},de=function(){function wt(ut,ot,Pt,Ht,Mt){this.buttons=[],this.markerButtons=[],this.buttonClickListeners=[],this.markerjsContainer=ut,this.displayMode=ot,this.markerItems=Pt,this.uiStyleSettings=Ht,this.styles=Mt,this.addStyles(),this.adjustLayout=this.adjustLayout.bind(this),this.overflowButtonClicked=this.overflowButtonClicked.bind(this),this.setCurrentMarker=this.setCurrentMarker.bind(this)}return wt.prototype.show=function(ut){var ot=this;this.uiContainer=document.createElement("div"),this.uiContainer.style.visibility=ut,this.uiContainer.className=this.toolbarStyleClass.name+" "+this.styles.fadeInAnimationClassName+" "+(this.uiStyleSettings.toolbarStyleColorsClassName?this.uiStyleSettings.toolbarStyleColorsClassName:this.toolbarStyleColorsClass.name);var Pt=document.createElement("div");Pt.className=this.toolbarBlockStyleClass.name,Pt.style.whiteSpace="nowrap",this.uiContainer.appendChild(Pt),this.addActionButton(Pt,'<svg viewBox="0 0 24 24"><path d="M10.07 14.27a.997.997 0 011.33.48l2.3 4.99 1.8-.85-2.31-4.98c-.24-.5-.02-1.1.48-1.33l.28-.08 2.3-.45L8 5.12V15.9l1.82-1.47.25-.16m3.57 7.7a.99.99 0 01-1.33-.47l-2.18-4.74-2.51 2.02c-.17.14-.38.22-.62.22a1 1 0 01-1-1V3a1 1 0 011-1c.24 0 .47.09.64.23l.01-.01 11.49 9.64a1.001 1.001 0 01-.44 1.75l-3.16.62 2.2 4.73c.26.5.02 1.09-.48 1.32l-3.62 1.69z"/></svg>',"select"),this.addActionButton(Pt,'<svg viewBox="0 0 24 24"><path d="M9 3v1H4v2h1v13a2 2 0 002 2h10a2 2 0 002-2V6h1V4h-5V3H9M7 6h10v13H7V6m2 2v9h2V8H9m4 0v9h2V8h-2z"/></svg>',"delete"),this.uiStyleSettings.clearButtonVisible&&this.addActionButton(Pt,'<svg viewBox="0 0 24 24"><path d="M19.36 2.72l1.42 1.42-5.72 5.71c1.07 1.54 1.22 3.39.32 4.59L9.06 8.12c1.2-.9 3.05-.75 4.59.32l5.71-5.72M5.93 17.57c-2.01-2.01-3.24-4.41-3.58-6.65l4.88-2.09 7.44 7.44-2.09 4.88c-2.24-.34-4.64-1.57-6.65-3.58z"/></svg>',"clear"),this.uiStyleSettings.undoButtonVisible&&this.addActionButton(Pt,'<svg viewBox="0 0 24 24"><path d="M12.5 8c-2.65 0-5.05 1-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"/></svg>',"undo"),this.uiStyleSettings.redoButtonVisible&&this.addActionButton(Pt,'<svg viewBox="0 0 24 24"><path d="M18.4 10.6C16.55 9 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16a8.002 8.002 0 017.6-5.5c1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z"/></svg>',"redo"),this.uiStyleSettings.zoomButtonVisible&&this.addActionButton(Pt,'<svg viewBox="0 0 24 24"><path d="M15.5 14l5 5-1.5 1.5-5-5v-.79l-.27-.28A6.471 6.471 0 019.5 16 6.5 6.5 0 013 9.5 6.5 6.5 0 019.5 3 6.5 6.5 0 0116 9.5c0 1.61-.59 3.09-1.57 4.23l.28.27h.79m-6 0C12 14 14 12 14 9.5S12 5 9.5 5 5 7 5 9.5 7 14 9.5 14m2.5-4h-2v2H9v-2H7V9h2V7h1v2h2v1z"/></svg>',"zoom"),this.uiStyleSettings.zoomButtonVisible&&this.uiStyleSettings.zoomOutButtonVisible&&this.addActionButton(Pt,'<svg viewBox="0 0 24 24"><path d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0016 9.5 6.5 6.5 0 009.5 3 6.5 6.5 0 003 9.5 6.5 6.5 0 009.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 5 1.5-1.5-5-5m-6 0C7 14 5 12 5 9.5S7 5 9.5 5 14 7 14 9.5 12 14 9.5 14M7 9h5v1H7V9z"/></svg>',"zoom-out"),this.uiStyleSettings.notesButtonVisible&&this.addActionButton(Pt,'<svg viewBox="0 0 24 24"><path d="M18.13 12l1.26-1.26c.44-.44 1-.68 1.61-.74V9l-6-6H5c-1.11 0-2 .89-2 2v14a2 2 0 002 2h6v-1.87l.13-.13H5V5h7v7h6.13M14 4.5l5.5 5.5H14V4.5m5.13 9.33l2.04 2.04L15.04 22H13v-2.04l6.13-6.13m3.72.36l-.98.98-2.04-2.04.98-.98c.19-.2.52-.2.72 0l1.32 1.32c.2.2.2.53 0 .72z"/></svg>',"notes"),this.markerButtonBlock=document.createElement("div"),this.markerButtonBlock.className=this.toolbarBlockStyleClass.name,this.markerButtonBlock.style.flexGrow="2",this.markerButtonBlock.style.textAlign="center",this.uiContainer.appendChild(this.markerButtonBlock),this.markerButtonOverflowBlock=document.createElement("div"),this.markerButtonOverflowBlock.className=this.toolbarOverflowBlockStyleClass.name+" "+(this.uiStyleSettings.toolbarOverflowBlockStyleColorsClassName?this.uiStyleSettings.toolbarOverflowBlockStyleColorsClassName:this.toolbarOverflowBlockStyleColorsClass.name),this.markerButtonOverflowBlock.style.display="none",this.uiContainer.appendChild(this.markerButtonOverflowBlock),this.markerItems&&(this.markerItems.forEach(function(Mt){var hn=document.createElement("div");hn.className=""+ot.toolbarButtonStyleClass.name,hn.setAttribute("data-type-name",Mt.typeName),hn.innerHTML=Mt.icon,hn.addEventListener("click",function(){ot.markerToolbarButtonClicked(hn,Mt)}),ot.buttons.push(hn),ot.markerButtons.push(hn)}),this.overflowButton=document.createElement("div"),this.overflowButton.className=this.toolbarButtonStyleClass.name+" "+(this.uiStyleSettings.toolbarButtonStyleColorsClassName?this.uiStyleSettings.toolbarButtonStyleColorsClassName:this.toolbarButtonStyleColorsClass.name),this.overflowButton.innerHTML='<svg viewBox="0 0 24 24"><path d="M12 16a2 2 0 012 2 2 2 0 01-2 2 2 2 0 01-2-2 2 2 0 012-2m0-6a2 2 0 012 2 2 2 0 01-2 2 2 2 0 01-2-2 2 2 0 012-2m0-6a2 2 0 012 2 2 2 0 01-2 2 2 2 0 01-2-2 2 2 0 012-2z"/></svg>',this.overflowButton.addEventListener("click",this.overflowButtonClicked),this.markerButtonBlock.appendChild(this.overflowButton));var Ht=document.createElement("div");Ht.className=this.toolbarBlockStyleClass.name,Ht.style.whiteSpace="nowrap",Ht.style.display=this.uiStyleSettings.resultButtonBlockVisible!==!1?"":"none",this.uiContainer.appendChild(Ht),this.addActionButton(Ht,'<svg viewBox="0 0 24 24"><path d="M9 20.42l-6.21-6.21 2.83-2.83L9 14.77l9.88-9.89 2.83 2.83L9 20.42z"/></svg>',"render"),this.addActionButton(Ht,'<svg viewBox="0 0 24 24"><path d="M20 6.91L17.09 4 12 9.09 6.91 4 4 6.91 9.09 12 4 17.09 6.91 20 12 14.91 17.09 20 20 17.09 14.91 12 20 6.91z"/></svg>',"close"),this.markerjsContainer.appendChild(this.uiContainer),this.setSelectMode(),this.setCurrentMarker(),this.adjustLayout()},wt.prototype.addButtonClickListener=function(ut){this.buttonClickListeners.push(ut)},wt.prototype.removeButtonClickListener=function(ut){this.buttonClickListeners.indexOf(ut)>-1&&this.buttonClickListeners.splice(this.buttonClickListeners.indexOf(ut),1)},wt.prototype.setSelectMode=function(){this.resetButtonStyles(),this.setActiveButton(this.buttons[0])},wt.prototype.adjustLayout=function(){if(this.markerButtons&&this.markerButtons.length>0){var ut=Math.floor(this.markerButtonBlock.clientWidth/this.uiStyleSettings.toolbarHeight)-1;this.markerButtonBlock.innerHTML="",this.markerButtonOverflowBlock.innerHTML="";for(var ot=0;ot<this.markerButtons.length;ot++)ot<ut||ot===ut&&this.markerButtons.length-1===ut?this.markerButtonBlock.appendChild(this.markerButtons[ot]):(ot===ut&&this.markerButtonBlock.appendChild(this.overflowButton),this.markerButtonOverflowBlock.appendChild(this.markerButtons[ot]))}},wt.prototype.overflowButtonClicked=function(){this.markerButtonOverflowBlock.style.display!=="none"?(this.markerButtonOverflowBlock.className=this.markerButtonOverflowBlock.className.replace(this.styles.fadeInAnimationClassName,""),this.markerButtonOverflowBlock.style.display="none"):(this.markerButtonOverflowBlock.className+=" "+this.styles.fadeInAnimationClassName,this.markerButtonOverflowBlock.style.top=this.uiContainer.offsetTop+this.overflowButton.offsetHeight+"px",this.markerButtonOverflowBlock.style.right=this.uiContainer.offsetWidth-this.overflowButton.offsetLeft-this.overflowButton.offsetWidth+2*this.uiContainer.offsetLeft+"px",this.markerButtonOverflowBlock.style.display="inline-block")},wt.prototype.resetButtonStyles=function(){var ut=this;this.buttons.forEach(function(ot){ot.className=ot.className.replace(ut.uiStyleSettings.toolbarButtonStyleColorsClassName?ut.uiStyleSettings.toolbarButtonStyleColorsClassName:ut.toolbarButtonStyleColorsClass.name,"").trim(),ot.className=ot.className.replace(ut.uiStyleSettings.toolbarActiveButtonStyleColorsClassName?ut.uiStyleSettings.toolbarActiveButtonStyleColorsClassName:ut.toolbarActiveButtonStyleColorsClass.name,"").trim(),ot.className+=" "+(ut.uiStyleSettings.toolbarButtonStyleColorsClassName?ut.uiStyleSettings.toolbarButtonStyleColorsClassName:ut.toolbarButtonStyleColorsClass.name)})},wt.prototype.addActionButton=function(ut,ot,Pt){var Ht=this,Mt=document.createElement("div");switch(Mt.className=""+this.toolbarButtonStyleClass.name,Mt.innerHTML=ot,Mt.setAttribute("data-action",Pt),Mt.addEventListener("click",function(){Ht.actionToolbarButtonClicked(Mt,Pt)}),Pt){case"select":Mt.style.fill=this.uiStyleSettings.selectButtonColor;break;case"delete":case"clear":Mt.style.fill=this.uiStyleSettings.deleteButtonColor;break;case"undo":case"redo":Mt.style.fill=this.uiStyleSettings.selectButtonColor;break;case"render":Mt.style.fill=this.uiStyleSettings.okButtonColor;break;case"close":Mt.style.fill=this.uiStyleSettings.closeButtonColor}ut.appendChild(Mt),this.buttons.push(Mt)},wt.prototype.addStyles=function(){this.toolbarStyleClass=this.styles.addClass(new fe("toolbar",`
width: 100%;
flex-shrink: 0;
display: flex;
flex-direction: row;
justify-content: space-between;
height: `+this.uiStyleSettings.toolbarHeight+`px;
box-sizing: content-box;
`+(this.displayMode==="inline"?"border-top-left-radius: "+Math.round(this.uiStyleSettings.toolbarHeight/10)+"px;":"")+`
`+(this.displayMode==="inline"?"border-top-right-radius: "+Math.round(this.uiStyleSettings.toolbarHeight/10)+"px;":"")+`
overflow: hidden;
`)),this.toolbarStyleColorsClass=this.styles.addClass(new fe("toolbar_colors",`
background-color: `+this.uiStyleSettings.toolbarBackgroundColor+`;
box-shadow: 0px 3px rgba(33, 33, 33, 0.1);
`)),this.toolbarBlockStyleClass=this.styles.addClass(new fe("toolbar-block",`
display: inline-block;
box-sizing: content-box;
`)),this.toolbarOverflowBlockStyleClass=this.styles.addClass(new fe("toolbar-overflow-block",`
position: absolute;
top: `+this.uiStyleSettings.toolbarHeight+`px;
max-width: `+2*this.uiStyleSettings.toolbarHeight+`px;
z-index: 10;
box-sizing: content-box;
`)),this.toolbarOverflowBlockStyleColorsClass=this.styles.addClass(new fe("toolbar-overflow-block_colors",`
background-color: `+this.uiStyleSettings.toolbarBackgroundColor+`;
`));var ut=this.uiStyleSettings.toolbarHeight/4;this.toolbarButtonStyleClass=this.styles.addClass(new fe("toolbar_button",`
display: inline-block;
width: `+(this.uiStyleSettings.toolbarHeight-2*ut)+`px;
height: `+(this.uiStyleSettings.toolbarHeight-2*ut)+`px;
padding: `+ut+`px;
box-sizing: content-box;
`)),this.toolbarButtonStyleColorsClass=this.styles.addClass(new fe("toolbar_button_colors",`
fill: `+this.uiStyleSettings.toolbarColor+`;
`)),this.toolbarActiveButtonStyleColorsClass=this.styles.addClass(new fe("toolbar_active_button",`
fill: `+this.uiStyleSettings.toolbarColor+`;
background-color: `+this.uiStyleSettings.toolbarBackgroundHoverColor+`
`)),this.styles.addRule(new ae("."+this.toolbarButtonStyleClass.name+" svg",`
height: `+this.uiStyleSettings.toolbarHeight/2+`px;
`)),this.styles.addRule(new ae("."+this.toolbarButtonStyleColorsClass.name+":hover",`
background-color: `+this.uiStyleSettings.toolbarBackgroundHoverColor+`
`))},wt.prototype.markerToolbarButtonClicked=function(ut,ot){this.setActiveButton(ut),this.buttonClickListeners&&this.buttonClickListeners.length>0&&this.buttonClickListeners.forEach(function(Pt){return Pt("marker",ot)}),this.markerButtonOverflowBlock.style.display="none"},wt.prototype.actionToolbarButtonClicked=function(ut,ot){this.buttonClickListeners&&this.buttonClickListeners.length>0&&this.buttonClickListeners.forEach(function(Pt){return Pt("action",ot)}),this.markerButtonOverflowBlock.style.display="none",this.setActiveButton(this.buttons[0])},wt.prototype.setActiveButton=function(ut){this.resetButtonStyles(),ut.className=ut.className.replace(this.uiStyleSettings.toolbarButtonStyleColorsClassName?this.uiStyleSettings.toolbarButtonStyleColorsClassName:this.toolbarButtonStyleColorsClass.name,"").trim(),ut.className+=" "+(this.uiStyleSettings.toolbarActiveButtonStyleColorsClassName?this.uiStyleSettings.toolbarActiveButtonStyleColorsClassName:this.toolbarActiveButtonStyleColorsClass.name)},wt.prototype.setActiveMarkerButton=function(ut){var ot=this.markerButtons.find(function(Pt){return Pt.getAttribute("data-type-name")===ut});ot&&this.setActiveButton(ot)},wt.prototype.setCurrentMarker=function(ut){var ot=this;this.currentMarker=ut,this.buttons.filter(function(Pt){return/delete|notes/.test(Pt.getAttribute("data-action"))}).forEach(function(Pt){ot.currentMarker===void 0?(Pt.style.fillOpacity="0.4",Pt.style.pointerEvents="none"):(Pt.style.fillOpacity="1",Pt.style.pointerEvents="all")})},wt}(),ve=function(){function wt(ut,ot,Pt,Ht){this.panels=[],this.panelButtons=[],this.markerjsContainer=ut,this.displayMode=ot,this.uiStyleSettings=Pt,this.styles=Ht,this.panelButtonClick=this.panelButtonClick.bind(this),this.addStyles()}return wt.prototype.addStyles=function(){var ut;this.toolboxStyleClass=this.styles.addClass(new fe("toolbox",`
width: 100%;
flex-shrink: 0;
display: flex;
flex-direction: column;
font-family: sans-serif;
`+(this.displayMode==="popup"?"height:"+2.5*this.uiStyleSettings.toolbarHeight+"px;":"")+`
box-sizing: content-box;
`+(this.displayMode==="popup"?"background-color: "+this.uiStyleSettings.canvasBackgroundColor+";":"")+`
`+(this.displayMode==="inline"?"border-bottom-left-radius: "+Math.round(this.uiStyleSettings.toolbarHeight/10)+"px;":"")+`
`+(this.displayMode==="inline"?"border-bottom-right-radius: "+Math.round(this.uiStyleSettings.toolbarHeight/10)+"px;":"")+`
overflow: hidden;
`)),this.toolboxStyleColorsClass=this.styles.addClass(new fe("toolbox_colors",`
color: `+this.uiStyleSettings.toolboxColor+`;
`));var ot=this.uiStyleSettings.toolbarHeight/4;this.toolboxButtonRowStyleClass=this.styles.addClass(new fe("toolbox-button-row",`
display: flex;
cursor: default;
box-sizing: content-box;
`)),this.toolboxButtonRowStyleColorsClass=this.styles.addClass(new fe("toolbox-button-row_colors",`
background-color: `+this.uiStyleSettings.toolbarBackgroundColor+`;
`)),this.toolboxPanelRowStyleClass=this.styles.addClass(new fe("toolbox-panel-row",`
display: flex;
`+(this.displayMode==="inline"?"position: absolute;":"")+`
`+(this.displayMode==="inline"?"bottom: "+this.uiStyleSettings.toolbarHeight+"px;":"")+`
cursor: default;
height: `+1.5*this.uiStyleSettings.toolbarHeight+`px;
`+(this.displayMode==="inline"?"width: 100%;":"")+`
box-sizing: content-box;
`)),this.toolboxPanelRowStyleColorsClass=this.styles.addClass(new fe("toolbox-panel-row_colors",`
background-color: `+((ut=this.uiStyleSettings.toolboxBackgroundColor)!==null&&ut!==void 0?ut:this.uiStyleSettings.toolbarBackgroundHoverColor)+`;
`)),this.toolboxButtonStyleClass=this.styles.addClass(new fe("toolbox_button",`
display: inline-block;
width: `+(this.uiStyleSettings.toolbarHeight-2*ot)+`px;
height: `+(this.uiStyleSettings.toolbarHeight-2*ot)+`px;
padding: `+ot+`px;
box-sizing: content-box;
`)),this.toolboxButtonStyleColorsClass=this.styles.addClass(new fe("toolbox-button_colors",`
fill: `+this.uiStyleSettings.toolbarColor+`;
`)),this.toolboxActiveButtonStyleColorsClass=this.styles.addClass(new fe("toolbox-active-button_colors",`
background-color: `+this.uiStyleSettings.toolbarBackgroundHoverColor+`;
fill: `+this.uiStyleSettings.toolbarColor+`;
`)),this.styles.addRule(new ae("."+this.toolboxButtonStyleColorsClass.name+":hover",`
background-color: `+this.uiStyleSettings.toolbarBackgroundHoverColor+`
`)),this.styles.addRule(new ae("."+this.toolboxButtonStyleClass.name+" svg",`
height: `+this.uiStyleSettings.toolbarHeight/2+`px;
`))},wt.prototype.show=function(ut){var ot;this.uiContainer=document.createElement("div"),this.uiContainer.style.visibility=ut,this.uiContainer.className=this.toolboxStyleClass.name+" "+((ot=this.uiStyleSettings.toolboxStyleColorsClassName)!==null&&ot!==void 0?ot:this.toolboxStyleColorsClass.name),this.markerjsContainer.appendChild(this.uiContainer)},wt.prototype.setPanelButtons=function(ut){var ot,Pt,Ht=this;this.panels=ut,this.uiContainer!==void 0&&(this.uiContainer.innerHTML="",this.panelRow=document.createElement("div"),this.panelRow.className=this.toolboxPanelRowStyleClass.name+" "+((ot=this.uiStyleSettings.toolboxPanelRowStyleColorsClassName)!==null&&ot!==void 0?ot:this.toolboxPanelRowStyleColorsClass.name),this.uiContainer.appendChild(this.panelRow),this.buttonRow=document.createElement("div"),this.buttonRow.className=this.toolboxButtonRowStyleClass.name+" "+((Pt=this.uiStyleSettings.toolboxButtonRowStyleColorsClassName)!==null&&Pt!==void 0?Pt:this.toolboxButtonRowStyleColorsClass.name)+" ",this.uiContainer.appendChild(this.buttonRow),this.panelButtons.splice(0),this.panels.forEach(function(Mt){var hn;Mt.uiStyleSettings=Ht.uiStyleSettings;var rr=document.createElement("div");rr.className=Ht.toolboxButtonStyleClass.name+" "+((hn=Ht.uiStyleSettings.toolboxButtonStyleColorsClassName)!==null&&hn!==void 0?hn:Ht.toolboxButtonStyleColorsClass.name),rr.innerHTML=Mt.icon,rr.title=Mt.title,rr.addEventListener("click",function(){Ht.panelButtonClick(Mt)}),Ht.panelButtons.push(rr),Ht.buttonRow.appendChild(rr)}),this.displayMode==="inline"?this.panelRow.style.display="none":this.panelRow.style.visibility="hidden")},wt.prototype.panelButtonClick=function(ut){var ot=this,Pt=-1;if(ut!==this.activePanel){Pt=this.panels.indexOf(ut),this.panelRow.innerHTML="";var Ht=ut.getUi();Ht.style.margin=this.uiStyleSettings.toolbarHeight/4+"px",this.panelRow.appendChild(Ht),this.panelRow.style.display="flex",this.panelRow.style.visibility="visible",this.panelRow.className=this.panelRow.className.replace(this.styles.fadeOutAnimationClassName,""),this.panelRow.className+=" "+this.styles.fadeInAnimationClassName,this.activePanel=ut}else this.activePanel=void 0,this.panelRow.className=this.panelRow.className.replace(this.styles.fadeInAnimationClassName,""),this.panelRow.className+=" "+this.styles.fadeOutAnimationClassName,setTimeout(function(){ot.displayMode==="inline"?ot.panelRow.style.display="none":ot.panelRow.style.visibility="hidden"},200);this.panelButtons.forEach(function(Mt,hn){var rr,Jn;Mt.className=ot.toolboxButtonStyleClass.name+" "+(hn===Pt?""+((rr=ot.uiStyleSettings.toolboxActiveButtonStyleColorsClassName)!==null&&rr!==void 0?rr:ot.toolboxActiveButtonStyleColorsClass.name):""+((Jn=ot.uiStyleSettings.toolboxButtonStyleColorsClassName)!==null&&Jn!==void 0?Jn:ot.toolboxButtonStyleColorsClass.name))})},wt}(),xe=function(wt,ut){this.title=wt,this.icon=ut},ce=function(wt){function ut(ot,Pt,Ht,Mt){var hn=wt.call(this,ot,Mt||'<svg viewBox="0 0 24 24"><path d="M17.5 12a1.5 1.5 0 01-1.5-1.5A1.5 1.5 0 0117.5 9a1.5 1.5 0 011.5 1.5 1.5 1.5 0 01-1.5 1.5m-3-4A1.5 1.5 0 0113 6.5 1.5 1.5 0 0114.5 5 1.5 1.5 0 0116 6.5 1.5 1.5 0 0114.5 8m-5 0A1.5 1.5 0 018 6.5 1.5 1.5 0 019.5 5 1.5 1.5 0 0111 6.5 1.5 1.5 0 019.5 8m-3 4A1.5 1.5 0 015 10.5 1.5 1.5 0 016.5 9 1.5 1.5 0 018 10.5 1.5 1.5 0 016.5 12M12 3a9 9 0 00-9 9 9 9 0 009 9 1.5 1.5 0 001.5-1.5c0-.39-.15-.74-.39-1-.23-.27-.38-.62-.38-1a1.5 1.5 0 011.5-1.5H16a5 5 0 005-5c0-4.42-4.03-8-9-8z"/></svg>')||this;return hn.colors=[],hn.addTransparent=!1,hn.colorBoxes=[],hn.colors=Pt,hn.currentColor=Ht,hn.setCurrentColor=hn.setCurrentColor.bind(hn),hn.getColorBox=hn.getColorBox.bind(hn),hn}return we(ut,wt),ut.prototype.getUi=function(){var ot=this,Pt=document.createElement("div");return Pt.style.overflow="hidden",Pt.style.whiteSpace="nowrap",this.colors.forEach(function(Ht){var Mt=ot.getColorBox(Ht);Pt.appendChild(Mt),ot.colorBoxes.push(Mt)}),Pt},ut.prototype.getColorBox=function(ot){var Pt=this,Ht=this.uiStyleSettings.toolbarHeight/4,Mt=this.uiStyleSettings.toolbarHeight-Ht,hn=document.createElement("div");hn.style.display="inline-block",hn.style.boxSizing="content-box",hn.style.width=Mt-2+"px",hn.style.height=Mt-2+"px",hn.style.padding="1px",hn.style.marginRight="2px",hn.style.marginBottom="2px",hn.style.borderWidth="2px",hn.style.borderStyle="solid",hn.style.borderRadius=(Mt+2)/2+"px",hn.style.borderColor=ot===this.currentColor?this.uiStyleSettings.toolboxAccentColor:"transparent",hn.addEventListener("click",function(){Pt.setCurrentColor(ot,hn)});var rr=document.createElement("div");return rr.style.display="inline-block",rr.style.width=Mt-2+"px",rr.style.height=Mt-2+"px",rr.style.backgroundColor=ot,rr.style.borderRadius=Mt/2+"px",ot==="transparent"&&(rr.style.fill=this.uiStyleSettings.toolboxAccentColor,rr.innerHTML=`<svg viewBox="0 0 24 24">
<path d="M2,5.27L3.28,4L20,20.72L18.73,22L15.65,18.92C14.5,19.3 13.28,19.5 12,19.5C7,19.5 2.73,16.39 1,12C1.69,10.24 2.79,8.69 4.19,7.46L2,5.27M12,9A3,3 0 0,1 15,12C15,12.35 14.94,12.69 14.83,13L11,9.17C11.31,9.06 11.65,9 12,9M12,4.5C17,4.5 21.27,7.61 23,12C22.18,14.08 20.79,15.88 19,17.19L17.58,15.76C18.94,14.82 20.06,13.54 20.82,12C19.17,8.64 15.76,6.5 12,6.5C10.91,6.5 9.84,6.68 8.84,7L7.3,5.47C8.74,4.85 10.33,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C12.69,17.5 13.37,17.43 14,17.29L11.72,15C10.29,14.85 9.15,13.71 9,12.28L5.6,8.87C4.61,9.72 3.78,10.78 3.18,12Z" />
</svg>`),hn.appendChild(rr),hn},ut.prototype.setCurrentColor=function(ot,Pt){var Ht=this;this.currentColor=ot,this.colorBoxes.forEach(function(Mt){Mt.style.borderColor=Mt===Pt?Ht.uiStyleSettings.toolboxAccentColor:"transparent"}),this.onColorChanged&&this.onColorChanged(ot)},ut}(xe),pe=function(){function wt(ut,ot,Pt){this._state="new",this._isSelected=!1,this._container=ut,this._overlayContainer=ot,this.globalSettings=Pt,this.stateChanged=this.stateChanged.bind(this),this.colorChanged=this.colorChanged.bind(this),this.fillColorChanged=this.fillColorChanged.bind(this)}return Object.defineProperty(wt.prototype,"typeName",{get:function(){return Object.getPrototypeOf(this).constructor.typeName},enumerable:!1,configurable:!0}),Object.defineProperty(wt.prototype,"container",{get:function(){return this._container},enumerable:!1,configurable:!0}),Object.defineProperty(wt.prototype,"overlayContainer",{get:function(){return this._overlayContainer},enumerable:!1,configurable:!0}),Object.defineProperty(wt.prototype,"state",{get:function(){return this._state},enumerable:!1,configurable:!0}),Object.defineProperty(wt.prototype,"toolboxPanels",{get:function(){return[]},enumerable:!1,configurable:!0}),wt.prototype.ownsTarget=function(ut){return!1},Object.defineProperty(wt.prototype,"isSelected",{get:function(){return this._isSelected},enumerable:!1,configurable:!0}),wt.prototype.select=function(){this.container.style.cursor="move",this._isSelected=!0,this.manipulationStartState=this.getState()},wt.prototype.deselect=function(){this.container.style.cursor="default",this._isSelected=!1,this.stateChanged()},wt.prototype.pointerDown=function(ut,ot){},wt.prototype.dblClick=function(ut,ot){},wt.prototype.manipulate=function(ut){},wt.prototype.pointerUp=function(ut){this.stateChanged()},wt.prototype.dispose=function(){},wt.prototype.addMarkerVisualToContainer=function(ut){this.container.childNodes.length>0?this.container.insertBefore(ut,this.container.childNodes[0]):this.container.appendChild(ut)},wt.prototype.getState=function(){return{typeName:wt.typeName,state:this.state,notes:this.notes}},wt.prototype.restoreState=function(ut){this._state=ut.state,this.notes=ut.notes},wt.prototype.scale=function(ut,ot){},wt.prototype.colorChanged=function(ut){this.onColorChanged&&this.onColorChanged(ut),this.stateChanged()},wt.prototype.fillColorChanged=function(ut){this.onFillColorChanged&&this.onFillColorChanged(ut),this.stateChanged()},wt.prototype.stateChanged=function(){if(this.onStateChanged&&this.state!=="creating"&&this.state!=="new"){var ut=this.getState();this.manipulationStartState!==void 0&&(this.manipulationStartState.state="select"),ut.state="select",JSON.stringify(this.manipulationStartState)!=JSON.stringify(ut)&&this.onStateChanged(this)}},wt.typeName="MarkerBase",wt}(),Se=function(){function wt(){this.findGripByVisual=this.findGripByVisual.bind(this)}return wt.prototype.findGripByVisual=function(ut){return this.topLeft.ownsTarget(ut)?this.topLeft:this.topCenter.ownsTarget(ut)?this.topCenter:this.topRight.ownsTarget(ut)?this.topRight:this.centerLeft.ownsTarget(ut)?this.centerLeft:this.centerRight.ownsTarget(ut)?this.centerRight:this.bottomLeft.ownsTarget(ut)?this.bottomLeft:this.bottomCenter.ownsTarget(ut)?this.bottomCenter:this.bottomRight.ownsTarget(ut)?this.bottomRight:void 0},wt}(),Le=function(){function wt(){this.GRIP_SIZE=10,this.visual=Ce.createGroup(),this.visual.appendChild(Ce.createCircle(1.5*this.GRIP_SIZE,[["fill","transparent"]])),this.visual.appendChild(Ce.createCircle(this.GRIP_SIZE,[["fill","#cccccc"],["fill-opacity","0.7"],["stroke","#333333"],["stroke-width","2"],["stroke-opacity","0.7"]]))}return wt.prototype.ownsTarget=function(ut){return ut===this.visual||ut===this.visual.childNodes[0]||ut===this.visual.childNodes[1]},wt}(),ze=function(){function wt(){}return wt.toITransformMatrix=function(ut){return{a:ut.a,b:ut.b,c:ut.c,d:ut.d,e:ut.e,f:ut.f}},wt.toSVGMatrix=function(ut,ot){return ut.a=ot.a,ut.b=ot.b,ut.c=ot.c,ut.d=ot.d,ut.e=ot.e,ut.f=ot.f,ut},wt}(),Ze=function(wt){function ut(ot,Pt,Ht){var Mt=wt.call(this,ot,Pt,Ht)||this;return Mt.left=0,Mt.top=0,Mt.width=0,Mt.height=0,Mt.defaultSize={x:50,y:20},Mt.offsetX=0,Mt.offsetY=0,Mt.rotationAngle=0,Mt.CB_DISTANCE=10,Mt._suppressMarkerCreateEvent=!1,Mt.container.transform.baseVal.appendItem(Ce.createTransform()),Mt.setupControlBox(),Mt}return we(ut,wt),Object.defineProperty(ut.prototype,"centerX",{get:function(){return this.left+this.width/2},enumerable:!1,configurable:!0}),Object.defineProperty(ut.prototype,"centerY",{get:function(){return this.top+this.height/2},enumerable:!1,configurable:!0}),Object.defineProperty(ut.prototype,"visual",{get:function(){return this._visual},set:function(ot){this._visual=ot;var Pt=Ce.createTransform();this._visual.transform.baseVal.appendItem(Pt)},enumerable:!1,configurable:!0}),ut.prototype.ownsTarget=function(ot){return!!wt.prototype.ownsTarget.call(this,ot)||!!(this.controlGrips.findGripByVisual(ot)!==void 0||this.rotatorGrip!==void 0&&this.rotatorGrip.ownsTarget(ot))},ut.prototype.pointerDown=function(ot,Pt){wt.prototype.pointerDown.call(this,ot,Pt),this.state==="new"&&(this.left=ot.x,this.top=ot.y),this.manipulationStartLeft=this.left,this.manipulationStartTop=this.top,this.manipulationStartWidth=this.width,this.manipulationStartHeight=this.height;var Ht=this.unrotatePoint(ot);if(this.manipulationStartX=Ht.x,this.manipulationStartY=Ht.y,this.offsetX=Ht.x-this.left,this.offsetY=Ht.y-this.top,this.state!=="new")if(this.select(),this.activeGrip=this.controlGrips.findGripByVisual(Pt),this.activeGrip!==void 0)this._state="resize";else if(this.rotatorGrip!==void 0&&this.rotatorGrip.ownsTarget(Pt)){this.activeGrip=this.rotatorGrip;var Mt=this.rotatePoint({x:this.centerX,y:this.centerY});this.left=Mt.x-this.width/2,this.top=Mt.y-this.height/2,this.moveVisual({x:this.left,y:this.top});var hn=this.container.transform.baseVal.getItem(0);hn.setRotate(this.rotationAngle,this.centerX,this.centerY),this.container.transform.baseVal.replaceItem(hn,0),this.adjustControlBox(),this._state="rotate"}else this._state="move"},ut.prototype.pointerUp=function(ot){var Pt=this.state;wt.prototype.pointerUp.call(this,ot),this.state==="creating"&&this.width<10&&this.height<10?(this.width=this.defaultSize.x,this.height=this.defaultSize.y):this.manipulate(ot),this._state="select",Pt==="creating"&&this.onMarkerCreated&&this._suppressMarkerCreateEvent===!1&&this.onMarkerCreated(this)},ut.prototype.moveVisual=function(ot){this.visual.style.transform="translate("+ot.x+"px, "+ot.y+"px)"},ut.prototype.manipulate=function(ot){var Pt=this.unrotatePoint(ot);this.state==="creating"?this.resize(ot):this.state==="move"?(this.left=this.manipulationStartLeft+(Pt.x-this.manipulationStartLeft)-this.offsetX,this.top=this.manipulationStartTop+(Pt.y-this.manipulationStartTop)-this.offsetY,this.moveVisual({x:this.left,y:this.top}),this.adjustControlBox()):this.state==="resize"?this.resize(Pt):this.state==="rotate"&&this.rotate(ot)},ut.prototype.resize=function(ot){var Pt=this.manipulationStartLeft,Ht=this.manipulationStartWidth,Mt=this.manipulationStartTop,hn=this.manipulationStartHeight;switch(this.activeGrip){case this.controlGrips.bottomLeft:case this.controlGrips.centerLeft:case this.controlGrips.topLeft:Pt=this.manipulationStartLeft+ot.x-this.manipulationStartX,Ht=this.manipulationStartWidth+this.manipulationStartLeft-Pt;break;case this.controlGrips.bottomRight:case this.controlGrips.centerRight:case this.controlGrips.topRight:case void 0:Ht=this.manipulationStartWidth+ot.x-this.manipulationStartX}switch(this.activeGrip){case this.controlGrips.topCenter:case this.controlGrips.topLeft:case this.controlGrips.topRight:Mt=this.manipulationStartTop+ot.y-this.manipulationStartY,hn=this.manipulationStartHeight+this.manipulationStartTop-Mt;break;case this.controlGrips.bottomCenter:case this.controlGrips.bottomLeft:case this.controlGrips.bottomRight:case void 0:hn=this.manipulationStartHeight+ot.y-this.manipulationStartY}Ht>=0?(this.left=Pt,this.width=Ht):(this.left=Pt+Ht,this.width=-Ht),hn>=0?(this.top=Mt,this.height=hn):(this.top=Mt+hn,this.height=-hn),this.setSize()},ut.prototype.setSize=function(){this.moveVisual({x:this.left,y:this.top}),this.adjustControlBox()},ut.prototype.rotate=function(ot){if(Math.abs(ot.x-this.centerX)>.1){var Pt=Math.sign(ot.x-this.centerX);this.rotationAngle=180*Math.atan((ot.y-this.centerY)/(ot.x-this.centerX))/Math.PI+90*Pt,this.applyRotation()}},ut.prototype.applyRotation=function(){var ot=this.container.transform.baseVal.getItem(0);ot.setRotate(this.rotationAngle,this.centerX,this.centerY),this.container.transform.baseVal.replaceItem(ot,0)},ut.prototype.rotatePoint=function(ot){if(this.rotationAngle===0)return ot;var Pt=this.container.getCTM(),Ht=Ce.createPoint(ot.x,ot.y);return{x:(Ht=Ht.matrixTransform(Pt)).x,y:Ht.y}},ut.prototype.unrotatePoint=function(ot){if(this.rotationAngle===0)return ot;var Pt=this.container.getCTM();Pt=Pt.inverse();var Ht=Ce.createPoint(ot.x,ot.y);return{x:(Ht=Ht.matrixTransform(Pt)).x,y:Ht.y}},ut.prototype.select=function(){wt.prototype.select.call(this),this.adjustControlBox(),this.controlBox.style.display=""},ut.prototype.deselect=function(){wt.prototype.deselect.call(this),this.controlBox.style.display="none"},ut.prototype.setupControlBox=function(){this.controlBox=Ce.createGroup();var ot=Ce.createTransform();ot.setTranslate(-this.CB_DISTANCE/2,-this.CB_DISTANCE/2),this.controlBox.transform.baseVal.appendItem(ot),this.container.appendChild(this.controlBox),this.controlRect=Ce.createRect(this.width+this.CB_DISTANCE,this.height+this.CB_DISTANCE,[["stroke","black"],["stroke-width","1"],["stroke-opacity","0.5"],["stroke-dasharray","3, 2"],["fill","transparent"],["pointer-events","none"]]),this.controlBox.appendChild(this.controlRect),this.globalSettings.disableRotation!==!0&&(this.rotatorGripLine=Ce.createLine((this.width+2*this.CB_DISTANCE)/2,this.top-this.CB_DISTANCE,(this.width+2*this.CB_DISTANCE)/2,this.top-3*this.CB_DISTANCE,[["stroke","black"],["stroke-width","1"],["stroke-opacity","0.5"],["stroke-dasharray","3, 2"]]),this.controlBox.appendChild(this.rotatorGripLine)),this.controlGrips=new Se,this.addControlGrips(),this.controlBox.style.display="none"},ut.prototype.adjustControlBox=function(){var ot=this.controlBox.transform.baseVal.getItem(0);ot.setTranslate(this.left-this.CB_DISTANCE/2,this.top-this.CB_DISTANCE/2),this.controlBox.transform.baseVal.replaceItem(ot,0),this.controlRect.setAttribute("width",(this.width+this.CB_DISTANCE).toString()),this.controlRect.setAttribute("height",(this.height+this.CB_DISTANCE).toString()),this.rotatorGripLine!==void 0&&(this.rotatorGripLine.setAttribute("x1",((this.width+this.CB_DISTANCE)/2).toString()),this.rotatorGripLine.setAttribute("y1",(-this.CB_DISTANCE/2).toString()),this.rotatorGripLine.setAttribute("x2",((this.width+this.CB_DISTANCE)/2).toString()),this.rotatorGripLine.setAttribute("y2",(3*-this.CB_DISTANCE).toString())),this.positionGrips()},ut.prototype.addControlGrips=function(){this.controlGrips.topLeft=this.createGrip(),this.controlGrips.topCenter=this.createGrip(),this.controlGrips.topRight=this.createGrip(),this.controlGrips.centerLeft=this.createGrip(),this.controlGrips.centerRight=this.createGrip(),this.controlGrips.bottomLeft=this.createGrip(),this.controlGrips.bottomCenter=this.createGrip(),this.controlGrips.bottomRight=this.createGrip(),this.globalSettings.disableRotation!==!0&&(this.rotatorGrip=this.createGrip()),this.positionGrips()},ut.prototype.createGrip=function(){var ot=new Le;return ot.visual.transform.baseVal.appendItem(Ce.createTransform()),this.controlBox.appendChild(ot.visual),ot},ut.prototype.positionGrips=function(){var ot=this.controlGrips.topLeft.GRIP_SIZE,Pt=-ot/2,Ht=Pt,Mt=(this.width+this.CB_DISTANCE)/2-ot/2,hn=(this.height+this.CB_DISTANCE)/2-ot/2,rr=this.height+this.CB_DISTANCE-ot/2,Jn=this.width+this.CB_DISTANCE-ot/2;this.positionGrip(this.controlGrips.topLeft.visual,Pt,Ht),this.positionGrip(this.controlGrips.topCenter.visual,Mt,Ht),this.positionGrip(this.controlGrips.topRight.visual,Jn,Ht),this.positionGrip(this.controlGrips.centerLeft.visual,Pt,hn),this.positionGrip(this.controlGrips.centerRight.visual,Jn,hn),this.positionGrip(this.controlGrips.bottomLeft.visual,Pt,rr),this.positionGrip(this.controlGrips.bottomCenter.visual,Mt,rr),this.positionGrip(this.controlGrips.bottomRight.visual,Jn,rr),this.rotatorGrip!==void 0&&this.positionGrip(this.rotatorGrip.visual,Mt,Ht-3*this.CB_DISTANCE)},ut.prototype.positionGrip=function(ot,Pt,Ht){var Mt=ot.transform.baseVal.getItem(0);Mt.setTranslate(Pt,Ht),ot.transform.baseVal.replaceItem(Mt,0)},ut.prototype.hideControlBox=function(){this.controlBox.style.display="none"},ut.prototype.showControlBox=function(){this.controlBox.style.display=""},ut.prototype.getState=function(){return Object.assign({left:this.left,top:this.top,width:this.width,height:this.height,rotationAngle:this.rotationAngle,visualTransformMatrix:ze.toITransformMatrix(this.visual.transform.baseVal.getItem(0).matrix),containerTransformMatrix:ze.toITransformMatrix(this.container.transform.baseVal.getItem(0).matrix)},wt.prototype.getState.call(this))},ut.prototype.restoreState=function(ot){wt.prototype.restoreState.call(this,ot);var Pt=ot;this.left=Pt.left,this.top=Pt.top,this.width=Pt.width,this.height=Pt.height,this.rotationAngle=Pt.rotationAngle,this.visual.transform.baseVal.getItem(0).setMatrix(ze.toSVGMatrix(this.visual.transform.baseVal.getItem(0).matrix,Pt.visualTransformMatrix)),this.container.transform.baseVal.getItem(0).setMatrix(ze.toSVGMatrix(this.container.transform.baseVal.getItem(0).matrix,Pt.containerTransformMatrix))},ut.prototype.scale=function(ot,Pt){wt.prototype.scale.call(this,ot,Pt);var Ht=this.rotatePoint({x:this.left,y:this.top}),Mt=this.unrotatePoint({x:Ht.x*ot,y:Ht.y*Pt});this.left=Mt.x,this.top=Mt.y,this.width=this.width*ot,this.height=this.height*Pt,this.adjustControlBox()},ut}(pe),Ve=function(wt){function ut(ot,Pt,Ht){var Mt=wt.call(this,ot,Pt,Ht)||this;return Mt.fillColor="transparent",Mt.strokeColor="transparent",Mt.strokeWidth=0,Mt.strokeDasharray="",Mt.opacity=1,Mt.setStrokeColor=Mt.setStrokeColor.bind(Mt),Mt.setFillColor=Mt.setFillColor.bind(Mt),Mt.setStrokeWidth=Mt.setStrokeWidth.bind(Mt),Mt.setStrokeDasharray=Mt.setStrokeDasharray.bind(Mt),Mt.createVisual=Mt.createVisual.bind(Mt),Mt}return we(ut,wt),ut.prototype.ownsTarget=function(ot){return!(!wt.prototype.ownsTarget.call(this,ot)&&ot!==this.visual)},ut.prototype.createVisual=function(){this.visual=Ce.createRect(1,1,[["fill",this.fillColor],["stroke",this.strokeColor],["stroke-width",this.strokeWidth.toString()],["stroke-dasharray",this.strokeDasharray],["opacity",this.opacity.toString()]]),this.addMarkerVisualToContainer(this.visual)},ut.prototype.pointerDown=function(ot,Pt){wt.prototype.pointerDown.call(this,ot,Pt),this.state==="new"&&(this.createVisual(),this.moveVisual(ot),this._state="creating")},ut.prototype.manipulate=function(ot){wt.prototype.manipulate.call(this,ot)},ut.prototype.resize=function(ot){wt.prototype.resize.call(this,ot),this.setSize()},ut.prototype.setSize=function(){wt.prototype.setSize.call(this),Ce.setAttributes(this.visual,[["width",this.width.toString()],["height",this.height.toString()]])},ut.prototype.pointerUp=function(ot){wt.prototype.pointerUp.call(this,ot),this.setSize()},ut.prototype.setStrokeColor=function(ot){this.strokeColor=ot,this.visual&&Ce.setAttributes(this.visual,[["stroke",this.strokeColor]]),this.colorChanged(ot),this.stateChanged()},ut.prototype.setFillColor=function(ot){this.fillColor=ot,this.visual&&Ce.setAttributes(this.visual,[["fill",this.fillColor]]),this.stateChanged()},ut.prototype.setStrokeWidth=function(ot){this.strokeWidth=ot,this.visual&&Ce.setAttributes(this.visual,[["stroke-width",this.strokeWidth.toString()]]),this.stateChanged()},ut.prototype.setStrokeDasharray=function(ot){this.strokeDasharray=ot,this.visual&&Ce.setAttributes(this.visual,[["stroke-dasharray",this.strokeDasharray]]),this.stateChanged()},ut.prototype.getState=function(){return Object.assign({fillColor:this.fillColor,strokeColor:this.strokeColor,strokeWidth:this.strokeWidth,strokeDasharray:this.strokeDasharray,opacity:this.opacity},wt.prototype.getState.call(this))},ut.prototype.restoreState=function(ot){var Pt=ot;this.fillColor=Pt.fillColor,this.strokeColor=Pt.strokeColor,this.strokeWidth=Pt.strokeWidth,this.strokeDasharray=Pt.strokeDasharray,this.opacity=Pt.opacity,this.createVisual(),wt.prototype.restoreState.call(this,ot),this.setSize()},ut.prototype.scale=function(ot,Pt){wt.prototype.scale.call(this,ot,Pt),this.setSize()},ut.title="Rectangle marker",ut}(Ze),Qe=function(wt){function ut(ot,Pt,Ht,Mt){var hn=wt.call(this,ot,Mt||'<svg viewBox="0 0 24 24"><path d="M3 17h18v-2H3v2m0 3h18v-1H3v1m0-7h18v-3H3v3m0-9v4h18V4H3z"/></svg>')||this;return hn.widths=[],hn.widthBoxes=[],hn.widths=Pt,hn.currentWidth=Ht,hn.setCurrentWidth=hn.setCurrentWidth.bind(hn),hn}return we(ut,wt),ut.prototype.getUi=function(){var ot=this,Pt=document.createElement("div");return Pt.style.display="flex",Pt.style.overflow="hidden",Pt.style.flexGrow="2",this.widths.forEach(function(Ht){var Mt=document.createElement("div");Mt.style.display="flex",Mt.style.flexGrow="2",Mt.style.alignItems="center",Mt.style.justifyContent="space-between",Mt.style.padding="5px",Mt.style.borderWidth="2px",Mt.style.borderStyle="solid",Mt.style.borderColor=Ht===ot.currentWidth?ot.uiStyleSettings.toolboxAccentColor:"transparent",Mt.addEventListener("click",function(){ot.setCurrentWidth(Ht,Mt)}),Pt.appendChild(Mt);var hn=document.createElement("div");hn.innerText=Ht.toString(),hn.style.marginRight="5px",Mt.appendChild(hn);var rr=document.createElement("div");rr.style.minHeight="20px",rr.style.flexGrow="2",rr.style.display="flex",rr.style.alignItems="center";var Jn=document.createElement("hr");Jn.style.minWidth="20px",Jn.style.border="0px",Jn.style.borderTop=Ht+"px solid "+ot.uiStyleSettings.toolboxColor,Jn.style.flexGrow="2",rr.appendChild(Jn),Mt.appendChild(rr),ot.widthBoxes.push(Mt)}),Pt},ut.prototype.setCurrentWidth=function(ot,Pt){var Ht=this;this.currentWidth=ot,this.widthBoxes.forEach(function(Mt){Mt.style.borderColor=Mt===Pt?Ht.uiStyleSettings.toolboxAccentColor:"transparent"}),this.onWidthChanged&&this.onWidthChanged(this.currentWidth)},ut}(xe),$e=function(wt){function ut(ot,Pt,Ht,Mt){var hn=wt.call(this,ot,Mt||'<svg viewBox="0 0 24 24"><path d="M3 16h5v-2H3v2m6.5 0h5v-2h-5v2m6.5 0h5v-2h-5v2M3 20h2v-2H3v2m4 0h2v-2H7v2m4 0h2v-2h-2v2m4 0h2v-2h-2v2m4 0h2v-2h-2v2M3 12h8v-2H3v2m10 0h8v-2h-8v2M3 4v4h18V4H3z"/></svg>')||this;return hn.styles=[],hn.styleBoxes=[],hn.styles=Pt,hn.currentStyle=Ht,hn.setCurrentStyle=hn.setCurrentStyle.bind(hn),hn}return we(ut,wt),ut.prototype.getUi=function(){var ot=this,Pt=document.createElement("div");return Pt.style.display="flex",Pt.style.overflow="hidden",Pt.style.flexGrow="2",this.styles.forEach(function(Ht){var Mt=document.createElement("div");Mt.style.display="flex",Mt.style.alignItems="center",Mt.style.justifyContent="space-between",Mt.style.padding="5px",Mt.style.borderWidth="2px",Mt.style.borderStyle="solid",Mt.style.overflow="hidden",Mt.style.maxWidth=100/ot.styles.length-5+"%",Mt.style.borderColor=Ht===ot.currentStyle?ot.uiStyleSettings.toolboxAccentColor:"transparent",Mt.addEventListener("click",function(){ot.setCurrentStyle(Ht,Mt)}),Pt.appendChild(Mt);var hn=document.createElement("div");hn.style.minHeight="20px",hn.style.flexGrow="2",hn.style.overflow="hidden";var rr=`<svg width="100" height="20">
<line x1="0" y1="10" x2="100" y2="10" stroke="`+ot.uiStyleSettings.toolboxColor+'" stroke-width="3" '+(Ht!==""?'stroke-dasharray="'+Ht+'"':"")+` />
</svg>`;hn.innerHTML=rr,Mt.appendChild(hn),ot.styleBoxes.push(Mt)}),Pt},ut.prototype.setCurrentStyle=function(ot,Pt){var Ht=this;this.currentStyle=ot,this.styleBoxes.forEach(function(Mt){Mt.style.borderColor=Mt===Pt?Ht.uiStyleSettings.toolboxAccentColor:"transparent"}),this.onStyleChanged&&this.onStyleChanged(this.currentStyle)},ut}(xe),gt=function(wt){function ut(ot,Pt,Ht){var Mt=wt.call(this,ot,Pt,Ht)||this;return Mt.strokeColor=Ht.defaultColor,Mt.strokeWidth=Ht.defaultStrokeWidth,Mt.strokeDasharray=Ht.defaultStrokeDasharray,Mt.strokePanel=new ce("Line color",Ht.defaultColorSet,Ht.defaultColor),Mt.strokePanel.onColorChanged=Mt.setStrokeColor,Mt.strokeWidthPanel=new Qe("Line width",Ht.defaultStrokeWidths,Ht.defaultStrokeWidth),Mt.strokeWidthPanel.onWidthChanged=Mt.setStrokeWidth,Mt.strokeStylePanel=new $e("Line style",Ht.defaultStrokeDasharrays,Ht.defaultStrokeDasharray),Mt.strokeStylePanel.onStyleChanged=Mt.setStrokeDasharray,Mt}return we(ut,wt),Object.defineProperty(ut.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel]},enumerable:!1,configurable:!0}),ut.prototype.getState=function(){var ot=wt.prototype.getState.call(this);return ot.typeName=ut.typeName,ot},ut.typeName="FrameMarker",ut.title="Frame marker",ut.icon='<svg viewBox="0 0 24 24"><path d="M4 6v13h16V6H4m14 11H6V8h12v9z"/></svg>',ut}(Ve),lt=function(){this.defaultColorSet=["#EF4444","#10B981","#2563EB","#FFFF00","#7C3AED","#F472B6","#000000","#FFFFFF"],this.defaultColor=this.defaultColorSet[0],this.defaultFillColor=this.defaultColorSet[0],this.defaultStrokeColor=this.defaultColorSet[7],this.defaultHighlightColor=this.defaultColorSet[3],this.defaultStrokeWidth=3,this.defaultStrokeDasharray="",this.defaultHighlightOpacity=.5,this.defaultFontFamily="Helvetica, Arial, sans-serif",this.defaultStrokeWidths=[1,2,3,5,10],this.defaultStrokeDasharrays=["","3","12 3","9 6 3 6"],this.defaultOpacitySteps=[.1,.25,.5,.75,1],this.displayMode="inline",this.defaultFontFamilies=['Times, "Times New Roman", serif',"Helvetica, Arial, sans-serif",'Courier, "Courier New", monospace',"cursive","fantasy"],this.popupMargin=30,this.newFreehandMarkerOnPointerUp=!1,this.defaultColorsFollowCurrentColors=!1,this.freehandPixelRatio=1,this.disableRotation=!1,this.defaultCaptionFontSize="1rem",this.defaultCaptionText="Text"},At=function(wt){function ut(ot,Pt,Ht){var Mt=wt.call(this,ot,Pt,Ht)||this;return Mt.x1=0,Mt.y1=0,Mt.x2=0,Mt.y2=0,Mt.defaultLength=50,Mt.manipulationStartX=0,Mt.manipulationStartY=0,Mt.manipulationStartX1=0,Mt.manipulationStartY1=0,Mt.manipulationStartX2=0,Mt.manipulationStartY2=0,Mt.setupControlBox(),Mt}return we(ut,wt),ut.prototype.ownsTarget=function(ot){return!!wt.prototype.ownsTarget.call(this,ot)||!(!this.grip1.ownsTarget(ot)&&!this.grip2.ownsTarget(ot))},ut.prototype.pointerDown=function(ot,Pt){wt.prototype.pointerDown.call(this,ot,Pt),this.manipulationStartX=ot.x,this.manipulationStartY=ot.y,this.state==="new"&&(this.x1=ot.x,this.y1=ot.y,this.x2=ot.x,this.y2=ot.y),this.manipulationStartX1=this.x1,this.manipulationStartY1=this.y1,this.manipulationStartX2=this.x2,this.manipulationStartY2=this.y2,this.state!=="new"&&(this.select(),this.grip1.ownsTarget(Pt)?this.activeGrip=this.grip1:this.grip2.ownsTarget(Pt)?this.activeGrip=this.grip2:this.activeGrip=void 0,this.activeGrip?this._state="resize":this._state="move")},ut.prototype.pointerUp=function(ot){var Pt=this.state;wt.prototype.pointerUp.call(this,ot),this.state==="creating"&&Math.abs(this.x1-this.x2)<10&&Math.abs(this.y1-this.y2)<10?(this.x2=this.x1+this.defaultLength,this.adjustVisual(),this.adjustControlBox()):this.manipulate(ot),this._state="select",Pt==="creating"&&this.onMarkerCreated&&this.onMarkerCreated(this)},ut.prototype.adjustVisual=function(){},ut.prototype.manipulate=function(ot){this.state==="creating"?this.resize(ot):this.state==="move"?(this.x1=this.manipulationStartX1+ot.x-this.manipulationStartX,this.y1=this.manipulationStartY1+ot.y-this.manipulationStartY,this.x2=this.manipulationStartX2+ot.x-this.manipulationStartX,this.y2=this.manipulationStartY2+ot.y-this.manipulationStartY,this.adjustVisual(),this.adjustControlBox()):this.state==="resize"&&this.resize(ot)},ut.prototype.resize=function(ot){switch(this.activeGrip){case this.grip1:this.x1=ot.x,this.y1=ot.y;break;case this.grip2:case void 0:this.x2=ot.x,this.y2=ot.y}this.adjustVisual(),this.adjustControlBox()},ut.prototype.select=function(){wt.prototype.select.call(this),this.adjustControlBox(),this.controlBox.style.display=""},ut.prototype.deselect=function(){wt.prototype.deselect.call(this),this.controlBox.style.display="none"},ut.prototype.setupControlBox=function(){this.controlBox=Ce.createGroup(),this.container.appendChild(this.controlBox),this.addControlGrips(),this.controlBox.style.display="none"},ut.prototype.adjustControlBox=function(){this.positionGrips()},ut.prototype.addControlGrips=function(){this.grip1=this.createGrip(),this.grip2=this.createGrip(),this.positionGrips()},ut.prototype.createGrip=function(){var ot=new Le;return ot.visual.transform.baseVal.appendItem(Ce.createTransform()),this.controlBox.appendChild(ot.visual),ot},ut.prototype.positionGrips=function(){var ot=this.grip1.GRIP_SIZE;this.positionGrip(this.grip1.visual,this.x1-ot/2,this.y1-ot/2),this.positionGrip(this.grip2.visual,this.x2-ot/2,this.y2-ot/2)},ut.prototype.positionGrip=function(ot,Pt,Ht){var Mt=ot.transform.baseVal.getItem(0);Mt.setTranslate(Pt,Ht),ot.transform.baseVal.replaceItem(Mt,0)},ut.prototype.getState=function(){return Object.assign({x1:this.x1,y1:this.y1,x2:this.x2,y2:this.y2},wt.prototype.getState.call(this))},ut.prototype.restoreState=function(ot){wt.prototype.restoreState.call(this,ot);var Pt=ot;this.x1=Pt.x1,this.y1=Pt.y1,this.x2=Pt.x2,this.y2=Pt.y2},ut.prototype.scale=function(ot,Pt){wt.prototype.scale.call(this,ot,Pt),this.x1=this.x1*ot,this.y1=this.y1*Pt,this.x2=this.x2*ot,this.y2=this.y2*Pt,this.adjustVisual(),this.adjustControlBox()},ut}(pe),Et=function(wt){function ut(ot,Pt,Ht){var Mt=wt.call(this,ot,Pt,Ht)||this;return Mt.strokeColor="transparent",Mt.strokeWidth=0,Mt.strokeDasharray="",Mt.setStrokeColor=Mt.setStrokeColor.bind(Mt),Mt.setStrokeWidth=Mt.setStrokeWidth.bind(Mt),Mt.setStrokeDasharray=Mt.setStrokeDasharray.bind(Mt),Mt.strokeColor=Ht.defaultColor,Mt.strokeWidth=Ht.defaultStrokeWidth,Mt.strokeDasharray=Ht.defaultStrokeDasharray,Mt.strokePanel=new ce("Line color",Ht.defaultColorSet,Ht.defaultColor),Mt.strokePanel.onColorChanged=Mt.setStrokeColor,Mt.strokeWidthPanel=new Qe("Line width",Ht.defaultStrokeWidths,Ht.defaultStrokeWidth),Mt.strokeWidthPanel.onWidthChanged=Mt.setStrokeWidth,Mt.strokeStylePanel=new $e("Line style",Ht.defaultStrokeDasharrays,Ht.defaultStrokeDasharray),Mt.strokeStylePanel.onStyleChanged=Mt.setStrokeDasharray,Mt}return we(ut,wt),ut.prototype.ownsTarget=function(ot){return!(!wt.prototype.ownsTarget.call(this,ot)&&ot!==this.visual&&ot!==this.selectorLine&&ot!==this.visibleLine)},ut.prototype.createVisual=function(){this.visual=Ce.createGroup(),this.selectorLine=Ce.createLine(this.x1,this.y1,this.x2,this.y2,[["stroke","transparent"],["stroke-width",(this.strokeWidth+10).toString()]]),this.visibleLine=Ce.createLine(this.x1,this.y1,this.x2,this.y2,[["stroke",this.strokeColor],["stroke-width",this.strokeWidth.toString()]]),this.visual.appendChild(this.selectorLine),this.visual.appendChild(this.visibleLine),this.addMarkerVisualToContainer(this.visual)},ut.prototype.pointerDown=function(ot,Pt){wt.prototype.pointerDown.call(this,ot,Pt),this.state==="new"&&(this.createVisual(),this.adjustVisual(),this._state="creating")},ut.prototype.adjustVisual=function(){this.selectorLine&&this.visibleLine&&(this.selectorLine.setAttribute("x1",this.x1.toString()),this.selectorLine.setAttribute("y1",this.y1.toString()),this.selectorLine.setAttribute("x2",this.x2.toString()),this.selectorLine.setAttribute("y2",this.y2.toString()),this.visibleLine.setAttribute("x1",this.x1.toString()),this.visibleLine.setAttribute("y1",this.y1.toString()),this.visibleLine.setAttribute("x2",this.x2.toString()),this.visibleLine.setAttribute("y2",this.y2.toString()),Ce.setAttributes(this.visibleLine,[["stroke",this.strokeColor]]),Ce.setAttributes(this.visibleLine,[["stroke-width",this.strokeWidth.toString()]]),Ce.setAttributes(this.visibleLine,[["stroke-dasharray",this.strokeDasharray.toString()]]))},ut.prototype.setStrokeColor=function(ot){this.strokeColor=ot,this.adjustVisual(),this.colorChanged(ot)},ut.prototype.setStrokeWidth=function(ot){this.strokeWidth=ot,this.adjustVisual()},ut.prototype.setStrokeDasharray=function(ot){this.strokeDasharray=ot,this.adjustVisual(),this.stateChanged()},Object.defineProperty(ut.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel]},enumerable:!1,configurable:!0}),ut.prototype.getState=function(){var ot=Object.assign({strokeColor:this.strokeColor,strokeWidth:this.strokeWidth,strokeDasharray:this.strokeDasharray},wt.prototype.getState.call(this));return ot.typeName=ut.typeName,ot},ut.prototype.restoreState=function(ot){wt.prototype.restoreState.call(this,ot);var Pt=ot;this.strokeColor=Pt.strokeColor,this.strokeWidth=Pt.strokeWidth,this.strokeDasharray=Pt.strokeDasharray,this.createVisual(),this.adjustVisual()},ut.typeName="LineMarker",ut.title="Line marker",ut.icon='<svg viewBox="0 0 24 24"><path d="M19 13H5v-2h14v2z"/></svg>',ut}(At),vt=function(wt){function ut(ot,Pt,Ht,Mt){var hn=wt.call(this,ot,Mt||'<svg viewBox="0 0 24 24"><path d="M17 8h3v12h1v1h-4v-1h1v-3h-4l-1.5 3H14v1h-4v-1h1l6-12m1 1l-3.5 7H18V9M5 3h5c1.11 0 2 .89 2 2v11H9v-5H6v5H3V5c0-1.11.89-2 2-2m1 2v4h3V5H6z"/></svg>')||this;return hn.fonts=[],hn.fontBoxes=[],hn.fonts=Pt,hn.currentFont=Ht,hn.setCurrentFont=hn.setCurrentFont.bind(hn),hn}return we(ut,wt),ut.prototype.getUi=function(){var ot=this,Pt=document.createElement("div");return Pt.style.overflow="hidden",Pt.style.flexGrow="2",this.fonts.forEach(function(Ht){var Mt=document.createElement("div");Mt.style.display="inline-block",Mt.style.alignItems="center",Mt.style.justifyContent="space-between",Mt.style.padding="5px",Mt.style.borderWidth="2px",Mt.style.borderStyle="solid",Mt.style.overflow="hidden",Mt.style.maxWidth=100/ot.fonts.length-5+"%",Mt.style.borderColor=Ht===ot.currentFont?ot.uiStyleSettings.toolboxAccentColor:"transparent",Mt.addEventListener("click",function(){ot.setCurrentFont(Ht,Mt)}),Pt.appendChild(Mt);var hn=document.createElement("div");hn.style.display="flex",hn.style.minHeight="20px",hn.style.flexGrow="2",hn.style.fontFamily=Ht,hn.style.overflow="hidden";var rr=document.createElement("div");rr.style.whiteSpace="nowrap",rr.style.overflow="hidden",rr.style.textOverflow="ellipsis",rr.innerHTML="The quick brown fox jumps over the lazy dog",hn.appendChild(rr),Mt.appendChild(hn),ot.fontBoxes.push(Mt)}),Pt},ut.prototype.setCurrentFont=function(ot,Pt){var Ht=this;this.currentFont=ot,this.fontBoxes.forEach(function(Mt){Mt.style.borderColor=Mt===Pt?Ht.uiStyleSettings.toolboxAccentColor:"transparent"}),this.onFontChanged&&this.onFontChanged(this.currentFont)},ut}(xe),Lt=function(wt){function ut(ot,Pt,Ht){var Mt=wt.call(this,ot,Pt,Ht)||this;return Mt.color="transparent",Mt.padding=5,Mt.DEFAULT_TEXT="\u8BF7\u8F93\u5165\u6587\u672C",Mt.text=Mt.DEFAULT_TEXT,Mt.isMoved=!1,Mt.color=Ht.defaultColor,Mt.fontFamily=Ht.defaultFontFamily,Mt.defaultSize={x:100,y:30},Mt.setColor=Mt.setColor.bind(Mt),Mt.setFont=Mt.setFont.bind(Mt),Mt.renderText=Mt.renderText.bind(Mt),Mt.sizeText=Mt.sizeText.bind(Mt),Mt.textEditDivClicked=Mt.textEditDivClicked.bind(Mt),Mt.showTextEditor=Mt.showTextEditor.bind(Mt),Mt.setSize=Mt.setSize.bind(Mt),Mt.positionTextEditor=Mt.positionTextEditor.bind(Mt),Mt.colorPanel=new ce("Color",Ht.defaultColorSet,Ht.defaultColor),Mt.colorPanel.onColorChanged=Mt.setColor,Mt.fontFamilyPanel=new vt("Font",Ht.defaultFontFamilies,Ht.defaultFontFamily),Mt.fontFamilyPanel.onFontChanged=Mt.setFont,Mt}return we(ut,wt),ut.prototype.ownsTarget=function(ot){if(wt.prototype.ownsTarget.call(this,ot)||ot===this.visual||ot===this.textElement||ot===this.bgRectangle)return!0;var Pt=!1;return this.textElement.childNodes.forEach(function(Ht){Ht===ot&&(Pt=!0)}),Pt},ut.prototype.createVisual=function(){this.visual=Ce.createGroup(),this.bgRectangle=Ce.createRect(1,1,[["fill","transparent"]]),this.visual.appendChild(this.bgRectangle),this.textElement=Ce.createText([["fill",this.color],["font-family",this.fontFamily],["font-size","16px"],["x","0"],["y","0"]]),this.textElement.transform.baseVal.appendItem(Ce.createTransform()),this.textElement.transform.baseVal.appendItem(Ce.createTransform()),this.visual.appendChild(this.textElement),this.addMarkerVisualToContainer(this.visual),this.renderText()},ut.prototype.pointerDown=function(ot,Pt){wt.prototype.pointerDown.call(this,ot,Pt),this.isMoved=!1,this.pointerDownPoint=ot,this.pointerDownTimestamp=Date.now(),this.state==="new"&&(this.createVisual(),this.moveVisual(ot),this._state="creating")},ut.prototype.renderText=function(){var ot=this;if(this.textElement){for(;this.textElement.lastChild;)this.textElement.removeChild(this.textElement.lastChild);this.text.split(/\r\n|[\n\v\f\r\x85\u2028\u2029]/).forEach(function(Pt){ot.textElement.appendChild(Ce.createTSpan(Pt.trim()===""?" ":Pt.trim(),[["x","0"],["dy","1.2em"]]))}),setTimeout(this.sizeText,10)}},ut.prototype.getTextScale=function(){var ot=this.textElement.getBBox(),Pt=1;if(ot.width>0&&ot.height>0){var Ht=(1*this.width-this.width*this.padding*2/100)/ot.width,Mt=(1*this.height-this.height*this.padding*2/100)/ot.height;Pt=Math.min(Ht,Mt)}return Pt},ut.prototype.getTextPosition=function(ot){var Pt=this.textElement.getBBox(),Ht=0,Mt=0;return Pt.width>0&&Pt.height>0&&(Ht=(this.width-Pt.width*ot)/2,Mt=this.height/2-Pt.height*ot/2),{x:Ht,y:Mt}},ut.prototype.sizeText=function(){var ot=this.textElement.getBBox(),Pt=this.getTextScale(),Ht=this.getTextPosition(Pt);Ht.y-=ot.y*Pt,navigator.userAgent.indexOf("Edge/")>-1?this.textElement.style.transform="translate("+Ht.x+"px, "+Ht.y+"px) scale("+Pt+", "+Pt+")":(this.textElement.transform.baseVal.getItem(0).setTranslate(Ht.x,Ht.y),this.textElement.transform.baseVal.getItem(1).setScale(Pt,Pt))},ut.prototype.manipulate=function(ot){wt.prototype.manipulate.call(this,ot),this.pointerDownPoint!==void 0&&(this.isMoved=Math.abs(ot.x-this.pointerDownPoint.x)>5||Math.abs(ot.y-this.pointerDownPoint.y)>5)},ut.prototype.resize=function(ot){wt.prototype.resize.call(this,ot),this.isMoved=!0,this.setSize(),this.sizeText()},ut.prototype.setSize=function(){wt.prototype.setSize.call(this),this.visual&&this.bgRectangle&&(Ce.setAttributes(this.visual,[["width",this.width.toString()],["height",this.height.toString()]]),Ce.setAttributes(this.bgRectangle,[["width",this.width.toString()],["height",this.height.toString()]]))},ut.prototype.pointerUp=function(ot){var Pt=this.state;Pt==="creating"&&(this._suppressMarkerCreateEvent=!0),wt.prototype.pointerUp.call(this,ot),this.setSize(),(Pt==="creating"||!this.isMoved&&Date.now()-this.pointerDownTimestamp>500)&&this.showTextEditor(),this.pointerDownPoint=void 0},ut.prototype.showTextEditor=function(){var ot=this;this._state="edit",this.overlayContainer.innerHTML="",this.textEditDiv=document.createElement("div"),this.textEditDiv.style.flexGrow="2",this.textEditDiv.style.alignItems="center",this.textEditDiv.style.justifyContent="center",this.textEditDiv.style.pointerEvents="auto",this.textEditDiv.style.overflow="hidden",this.textEditor=document.createElement("div"),this.textEditor.style.position="absolute",this.textEditor.style.fontFamily=this.fontFamily,this.textEditor.style.lineHeight="1em",this.textEditor.innerText=this.text,this.textEditor.contentEditable="true",this.textEditor.style.color=this.color,this.textEditor.style.whiteSpace="pre",this.positionTextEditor(),this.textEditor.addEventListener("pointerup",function(Pt){Pt.stopPropagation()}),this.textEditor.addEventListener("input",function(){for(var Pt=Number.parseFloat(ot.textEditor.style.fontSize);ot.textEditor.clientWidth>=Number.parseInt(ot.textEditor.style.maxWidth)&&Pt>.9;)Pt-=.1,ot.textEditor.style.fontSize=Math.max(Pt,.9)+"em"}),this.textEditor.addEventListener("keyup",function(Pt){Pt.cancelBubble=!0}),this.textEditor.addEventListener("paste",function(Pt){if(Pt.clipboardData){var Ht=Pt.clipboardData.getData("text"),Mt=window.getSelection();if(!Mt.rangeCount)return!1;Mt.deleteFromDocument(),Mt.getRangeAt(0).insertNode(document.createTextNode(Ht)),Pt.preventDefault()}}),this.textEditDiv.addEventListener("pointerup",function(){ot.textEditDivClicked(ot.textEditor.innerText)}),this.textEditDiv.appendChild(this.textEditor),this.overlayContainer.appendChild(this.textEditDiv),this.hideVisual(),this.textEditor.focus(),document.execCommand("selectAll")},ut.prototype.positionTextEditor=function(){if(this.state==="edit")if(this.textEditor===void 0)this.showTextEditor();else{this.textElement.style.display="";var ot=this.getTextScale(),Pt=this.rotatePoint({x:this.left+this.width/2,y:this.top+this.height/2}),Ht=this.textElement.getBBox(),Mt={x:Ht.width*ot,y:Ht.height*ot};Pt.x-=Mt.x/2,Pt.y-=Mt.y/2,this.textEditor.style.top=Pt.y+"px",this.textEditor.style.left=Pt.x+"px",this.textEditor.style.maxWidth=this.overlayContainer.offsetWidth-Pt.x+"px",this.textEditor.style.fontSize=Math.max(16*ot,12)+"px",this.textElement.style.display="none"}},ut.prototype.textEditDivClicked=function(ot){this.text=ot.trim(),this.overlayContainer.innerHTML="",this.renderText(),this.showVisual(),this._suppressMarkerCreateEvent&&(this._suppressMarkerCreateEvent=!1,this.onMarkerCreated&&this.onMarkerCreated(this)),this.stateChanged()},ut.prototype.select=function(){wt.prototype.select.call(this),this.state==="edit"&&this.textEditDivClicked(this.textEditor.innerText)},ut.prototype.deselect=function(){this.state==="edit"&&this.textEditDivClicked(this.textEditor.innerText),wt.prototype.deselect.call(this)},ut.prototype.dblClick=function(ot,Pt){wt.prototype.dblClick.call(this,ot,Pt),this.showTextEditor()},ut.prototype.setColor=function(ot){this.textElement&&Ce.setAttributes(this.textElement,[["fill",ot]]),this.color=ot,this.textEditor&&(this.textEditor.style.color=this.color),this.colorChanged(ot)},ut.prototype.setFont=function(ot){this.textElement&&Ce.setAttributes(this.textElement,[["font-family",ot]]),this.fontFamily=ot,this.textEditor&&(this.textEditor.style.fontFamily=this.fontFamily),this.renderText(),this.stateChanged()},ut.prototype.hideVisual=function(){this.textElement.style.display="none",this.hideControlBox()},ut.prototype.showVisual=function(){this.state==="edit"&&(this._state="select"),this.textElement.style.display="",this.showControlBox()},Object.defineProperty(ut.prototype,"toolboxPanels",{get:function(){return[this.colorPanel,this.fontFamilyPanel]},enumerable:!1,configurable:!0}),ut.prototype.getState=function(){var ot=Object.assign({color:this.color,fontFamily:this.fontFamily,padding:this.padding,text:this.text},wt.prototype.getState.call(this));return ot.typeName=ut.typeName,ot},ut.prototype.restoreState=function(ot){var Pt=ot;this.color=Pt.color,this.fontFamily=Pt.fontFamily,this.padding=Pt.padding,this.text=Pt.text,this.createVisual(),wt.prototype.restoreState.call(this,ot),this.setSize()},ut.prototype.scale=function(ot,Pt){wt.prototype.scale.call(this,ot,Pt),this.setSize(),this.sizeText(),this.positionTextEditor()},ut.typeName="TextMarker",ut.title="Text marker",ut.icon='<svg viewBox="0 0 24 24"><path d="M9.6 14L12 7.7l2.4 6.3M11 5L5.5 19h2.2l1.1-3H15l1.1 3h2.2L13 5h-2z"/></svg>',ut}(Ze),St=function(wt){function ut(ot,Pt,Ht){var Mt=wt.call(this,ot,Pt,Ht)||this;return Mt.color="transparent",Mt.lineWidth=3,Mt.drawing=!1,Mt.pixelRatio=1,Mt.color=Ht.defaultColor,Mt.lineWidth=Ht.defaultStrokeWidth,Mt.pixelRatio=Ht.freehandPixelRatio,Mt.setColor=Mt.setColor.bind(Mt),Mt.addCanvas=Mt.addCanvas.bind(Mt),Mt.finishCreation=Mt.finishCreation.bind(Mt),Mt.setLineWidth=Mt.setLineWidth.bind(Mt),Mt.colorPanel=new ce("Color",Ht.defaultColorSet,Ht.defaultColor),Mt.colorPanel.onColorChanged=Mt.setColor,Mt.lineWidthPanel=new Qe("Line width",Ht.defaultStrokeWidths,Ht.defaultStrokeWidth),Mt.lineWidthPanel.onWidthChanged=Mt.setLineWidth,Mt}return we(ut,wt),ut.prototype.ownsTarget=function(ot){return!(!wt.prototype.ownsTarget.call(this,ot)&&ot!==this.visual&&ot!==this.drawingImage)},ut.prototype.createVisual=function(){this.visual=Ce.createGroup(),this.drawingImage=Ce.createImage(),this.visual.appendChild(this.drawingImage);var ot=Ce.createTransform();this.visual.transform.baseVal.appendItem(ot),this.addMarkerVisualToContainer(this.visual)},ut.prototype.pointerDown=function(ot,Pt){this.state==="new"&&(this.addCanvas(),this.createVisual(),this._state="creating"),this.state==="creating"?(this.canvasContext.strokeStyle=this.color,this.canvasContext.lineWidth=this.lineWidth,this.canvasContext.beginPath(),this.canvasContext.moveTo(ot.x,ot.y),this.drawing=!0):wt.prototype.pointerDown.call(this,ot,Pt)},ut.prototype.manipulate=function(ot){this.state==="creating"?this.drawing&&(this.canvasContext.lineTo(ot.x,ot.y),this.canvasContext.stroke()):wt.prototype.manipulate.call(this,ot)},ut.prototype.resize=function(ot){wt.prototype.resize.call(this,ot),Ce.setAttributes(this.visual,[["width",this.width.toString()],["height",this.height.toString()]]),Ce.setAttributes(this.drawingImage,[["width",this.width.toString()],["height",this.height.toString()]])},ut.prototype.pointerUp=function(ot){this._state==="creating"?this.drawing&&(this.canvasContext.closePath(),this.drawing=!1,this.globalSettings.newFreehandMarkerOnPointerUp&&this.finishCreation()):wt.prototype.pointerUp.call(this,ot)},ut.prototype.addCanvas=function(){this.overlayContainer.innerHTML="",this.canvasElement=document.createElement("canvas"),this.canvasElement.width=this.overlayContainer.clientWidth*this.pixelRatio,this.canvasElement.height=this.overlayContainer.clientHeight*this.pixelRatio,this.canvasContext=this.canvasElement.getContext("2d"),this.canvasContext.scale(this.pixelRatio,this.pixelRatio),this.overlayContainer.appendChild(this.canvasElement)},ut.prototype.select=function(){this.state==="creating"&&this.finishCreation(),wt.prototype.select.call(this)},ut.prototype.deselect=function(){this.state==="creating"&&this.finishCreation(),wt.prototype.deselect.call(this)},ut.prototype.finishCreation=function(){for(var ot=this.canvasContext.getImageData(0,0,this.canvasElement.width,this.canvasElement.height),Pt=[this.canvasElement.width+1,this.canvasElement.height+1,-1,-1],Ht=Pt[0],Mt=Pt[1],hn=Pt[2],rr=Pt[3],Jn=!1,An=0;An<this.canvasElement.height;An++)for(var $n=0;$n<this.canvasElement.width;$n++)ot.data[An*this.canvasElement.width*4+4*$n+3]>0&&(Jn=!0,An<Mt&&(Mt=An),$n<Ht&&(Ht=$n),An>rr&&(rr=An),$n>hn&&(hn=$n));if(Jn){this.left=Ht/this.pixelRatio,this.top=Mt/this.pixelRatio,this.width=(hn-Ht)/this.pixelRatio,this.height=(rr-Mt)/this.pixelRatio;var xr=document.createElement("canvas");xr.width=hn-Ht,xr.height=rr-Mt,xr.getContext("2d").putImageData(this.canvasContext.getImageData(Ht,Mt,hn-Ht,rr-Mt),0,0),this.drawingImgUrl=xr.toDataURL("image/png"),this.setDrawingImage(),this._state="select",this.onMarkerCreated&&this.onMarkerCreated(this)}this.overlayContainer.innerHTML=""},ut.prototype.setDrawingImage=function(){Ce.setAttributes(this.drawingImage,[["width",this.width.toString()],["height",this.height.toString()]]),Ce.setAttributes(this.drawingImage,[["href",this.drawingImgUrl]]),this.moveVisual({x:this.left,y:this.top})},ut.prototype.setColor=function(ot){this.color=ot,this.colorChanged(ot)},ut.prototype.setLineWidth=function(ot){this.lineWidth=ot},Object.defineProperty(ut.prototype,"toolboxPanels",{get:function(){return this.state==="new"||this.state==="creating"?[this.colorPanel,this.lineWidthPanel]:[]},enumerable:!1,configurable:!0}),ut.prototype.getState=function(){var ot=Object.assign({drawingImgUrl:this.drawingImgUrl},wt.prototype.getState.call(this));return ot.typeName=ut.typeName,ot},ut.prototype.restoreState=function(ot){this.createVisual(),wt.prototype.restoreState.call(this,ot),this.drawingImgUrl=ot.drawingImgUrl,this.setDrawingImage()},ut.prototype.scale=function(ot,Pt){wt.prototype.scale.call(this,ot,Pt),this.setDrawingImage()},ut.typeName="FreehandMarker",ut.title="Freehand marker",ut.icon='<svg viewBox="0 0 24 24"><path d="M9.75 20.85c1.78-.7 1.39-2.63.49-3.85-.89-1.25-2.12-2.11-3.36-2.94A9.817 9.817 0 014.54 12c-.28-.33-.85-.94-.27-1.06.59-.12 1.61.46 2.13.68.91.38 1.81.82 2.65 1.34l1.01-1.7C8.5 10.23 6.5 9.32 4.64 9.05c-1.06-.16-2.18.06-2.54 1.21-.32.99.19 1.99.77 2.77 1.37 1.83 3.5 2.71 5.09 4.29.34.33.75.72.95 1.18.21.44.16.47-.31.47-1.24 0-2.79-.97-3.8-1.61l-1.01 1.7c1.53.94 4.09 2.41 5.96 1.79m11.09-15.6c.22-.22.22-.58 0-.79l-1.3-1.3a.562.562 0 00-.78 0l-1.02 1.02 2.08 2.08M11 10.92V13h2.08l6.15-6.15-2.08-2.08L11 10.92z"/></svg>',ut}(Ze),xt=function(wt){function ut(ot,Pt,Ht){var Mt=wt.call(this,ot,Ht||'<svg viewBox="0 0 24 24"><path d="M8 14v4l-6-6 6-6v4h8V6l6 6-6 6v-4H8z"/></svg>')||this;return Mt.typeBoxes=[],Mt.currentType=Pt,Mt.setCurrentType=Mt.setCurrentType.bind(Mt),Mt}return we(ut,wt),ut.prototype.getUi=function(){var ot=this,Pt=document.createElement("div");Pt.style.display="flex",Pt.style.overflow="hidden",Pt.style.flexGrow="2";for(var Ht=function(rr){var Jn="both";switch(rr){case 0:Jn="both";break;case 1:Jn="start";break;case 2:Jn="end";break;case 3:Jn="none"}var An=document.createElement("div");if(An.style.display="flex",An.style.flexGrow="2",An.style.alignItems="center",An.style.justifyContent="space-between",An.style.padding="5px",An.style.borderWidth="2px",An.style.borderStyle="solid",An.style.borderColor=Jn===Mt.currentType?Mt.uiStyleSettings.toolboxAccentColor:"transparent",An.addEventListener("click",function(){ot.setCurrentType(Jn,An)}),Pt.appendChild(An),Jn==="both"||Jn==="start"){var $n=document.createElement("div");$n.style.display="flex",$n.style.alignItems="center",$n.style.minHeight="20px",$n.innerHTML=`<svg viewBox="0 0 10 10" width="10" height="10" xmlns="http://www.w3.org/2000/svg">
<polygon points="0,5 10,0 10,10" fill="`+(Mt.uiStyleSettings!==void 0?Mt.uiStyleSettings.toolboxColor:"#eeeeee")+`" />
</svg>`,$n.style.marginLeft="5px",An.appendChild($n)}var xr=document.createElement("div");xr.style.display="flex",xr.style.alignItems="center",xr.style.minHeight="20px",xr.style.flexGrow="2";var mr=document.createElement("hr");if(mr.style.minWidth="20px",mr.style.border="0px",mr.style.borderTop="3px solid "+(Mt.uiStyleSettings!==void 0?Mt.uiStyleSettings.toolboxColor:"#eeeeee"),mr.style.flexGrow="2",xr.appendChild(mr),An.appendChild(xr),Jn==="both"||Jn==="end"){var Qr=document.createElement("div");Qr.style.display="flex",Qr.style.alignItems="center",Qr.style.minHeight="20px",Qr.innerHTML=`<svg viewBox="0 0 10 10" width="10" height="10" xmlns="http://www.w3.org/2000/svg">
<polygon points="0,0 10,5 0,10" fill="`+(Mt.uiStyleSettings!==void 0?Mt.uiStyleSettings.toolboxColor:"#eeeeee")+`" />
</svg>`,Qr.style.marginRight="5px",An.appendChild(Qr)}Mt.typeBoxes.push(An)},Mt=this,hn=0;hn<4;hn++)Ht(hn);return Pt},ut.prototype.setCurrentType=function(ot,Pt){var Ht=this;this.currentType=ot,this.typeBoxes.forEach(function(Mt){Mt.style.borderColor=Mt===Pt?Ht.uiStyleSettings!==void 0?Ht.uiStyleSettings.toolboxAccentColor:"#3080c3":"transparent"}),this.onArrowTypeChanged&&this.onArrowTypeChanged(this.currentType)},ut}(xe),ct=function(wt){function ut(ot,Pt,Ht){var Mt=wt.call(this,ot,Pt,Ht)||this;return Mt.arrowType="end",Mt.arrowBaseHeight=10,Mt.arrowBaseWidth=10,Mt.getArrowPoints=Mt.getArrowPoints.bind(Mt),Mt.setArrowType=Mt.setArrowType.bind(Mt),Mt.arrowTypePanel=new xt("Arrow type","end"),Mt.arrowTypePanel.onArrowTypeChanged=Mt.setArrowType,Mt}return we(ut,wt),ut.prototype.ownsTarget=function(ot){return!(!wt.prototype.ownsTarget.call(this,ot)&&ot!==this.arrow1&&ot!==this.arrow2)},ut.prototype.getArrowPoints=function(ot,Pt){var Ht=this.arrowBaseWidth+2*this.strokeWidth,Mt=this.arrowBaseHeight+2*this.strokeWidth;return ot-Ht/2+","+(Pt+Mt/2)+" "+ot+","+(Pt-Mt/2)+" "+(ot+Ht/2)+","+(Pt+Mt/2)},ut.prototype.createTips=function(){this.arrow1=Ce.createPolygon(this.getArrowPoints(this.x1,this.y1),[["fill",this.strokeColor]]),this.arrow1.transform.baseVal.appendItem(Ce.createTransform()),this.visual.appendChild(this.arrow1),this.arrow2=Ce.createPolygon(this.getArrowPoints(this.x2,this.y2),[["fill",this.strokeColor]]),this.arrow2.transform.baseVal.appendItem(Ce.createTransform()),this.visual.appendChild(this.arrow2)},ut.prototype.pointerDown=function(ot,Pt){wt.prototype.pointerDown.call(this,ot,Pt),this.state==="creating"&&this.createTips()},ut.prototype.adjustVisual=function(){if(wt.prototype.adjustVisual.call(this),this.arrow1&&this.arrow2){this.arrow1.style.display=this.arrowType==="both"||this.arrowType==="start"?"":"none",this.arrow2.style.display=this.arrowType==="both"||this.arrowType==="end"?"":"none",Ce.setAttributes(this.arrow1,[["points",this.getArrowPoints(this.x1,this.y1)],["fill",this.strokeColor]]),Ce.setAttributes(this.arrow2,[["points",this.getArrowPoints(this.x2,this.y2)],["fill",this.strokeColor]]);var ot=0;Math.abs(this.x1-this.x2)>.1&&(ot=180*Math.atan((this.y2-this.y1)/(this.x2-this.x1))/Math.PI+90*Math.sign(this.x1-this.x2));var Pt=this.arrow1.transform.baseVal.getItem(0);Pt.setRotate(ot,this.x1,this.y1),this.arrow1.transform.baseVal.replaceItem(Pt,0);var Ht=this.arrow2.transform.baseVal.getItem(0);Ht.setRotate(ot+180,this.x2,this.y2),this.arrow2.transform.baseVal.replaceItem(Ht,0)}},ut.prototype.setArrowType=function(ot){this.arrowType=ot,this.adjustVisual(),this.stateChanged()},Object.defineProperty(ut.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel,this.arrowTypePanel]},enumerable:!1,configurable:!0}),ut.prototype.getState=function(){var ot=Object.assign({arrowType:this.arrowType},wt.prototype.getState.call(this));return ot.typeName=ut.typeName,ot},ut.prototype.restoreState=function(ot){wt.prototype.restoreState.call(this,ot);var Pt=ot;this.arrowType=Pt.arrowType,this.createTips(),this.adjustVisual()},ut.typeName="ArrowMarker",ut.title="Arrow marker",ut.icon='<svg viewBox="0 0 24 24"><path d="M19 6.41L17.59 5 7 15.59V9H5v10h10v-2H8.41L19 6.41z"/></svg>',ut}(Et),Dt=function(wt){function ut(ot,Pt,Ht){var Mt=wt.call(this,ot,Pt,Ht)||this;return Mt.fillColor=Ht.defaultFillColor,Mt.strokeWidth=0,Mt.fillPanel=new ce("Color",Ht.defaultColorSet,Ht.defaultFillColor),Mt.fillPanel.onColorChanged=Mt.setFillColor,Mt}return we(ut,wt),Object.defineProperty(ut.prototype,"toolboxPanels",{get:function(){return[this.fillPanel]},enumerable:!1,configurable:!0}),ut.prototype.getState=function(){var ot=wt.prototype.getState.call(this);return ot.typeName=ut.typeName,ot},ut.typeName="CoverMarker",ut.title="Cover marker",ut.icon='<svg viewBox="0 0 24 24"><path d="M4 6v13h16V6H4z"/></svg>',ut}(Ve),Xt=function(wt){function ut(ot,Pt,Ht,Mt){var hn=wt.call(this,ot,Mt||'<svg viewBox="0 0 24 24"><path d="M17.66 8L12 2.35 6.34 8A8.02 8.02 0 004 13.64c0 2 .78 4.11 2.34 5.67a7.99 7.99 0 0011.32 0c1.56-1.56 2.34-3.67 2.34-5.67S19.22 9.56 17.66 8M6 14c0-2 .62-3.27 1.76-4.4L12 5.27l4.24 4.38C17.38 10.77 18 12 18 14H6z"/></svg>')||this;return hn.opacities=[],hn.opacityBoxes=[],hn.opacities=Pt,hn.currentOpacity=Ht,hn.setCurrentOpacity=hn.setCurrentOpacity.bind(hn),hn}return we(ut,wt),ut.prototype.getUi=function(){var ot=this,Pt=document.createElement("div");return Pt.style.display="flex",Pt.style.overflow="hidden",Pt.style.flexGrow="2",Pt.style.justifyContent="space-between",this.opacities.forEach(function(Ht){var Mt=document.createElement("div");Mt.style.display="flex",Mt.style.alignItems="center",Mt.style.justifyContent="center",Mt.style.padding="5px",Mt.style.borderWidth="2px",Mt.style.borderStyle="solid",Mt.style.borderColor=Ht===ot.currentOpacity?ot.uiStyleSettings.toolboxAccentColor:"transparent",Mt.addEventListener("click",function(){ot.setCurrentOpacity(Ht,Mt)}),Pt.appendChild(Mt);var hn=document.createElement("div");hn.innerText=100*Ht+"%",Mt.appendChild(hn),ot.opacityBoxes.push(Mt)}),Pt},ut.prototype.setCurrentOpacity=function(ot,Pt){var Ht=this;this.currentOpacity=ot,this.opacityBoxes.forEach(function(Mt){Mt.style.borderColor=Mt===Pt?Ht.uiStyleSettings.toolboxAccentColor:"transparent"}),this.onOpacityChanged&&this.onOpacityChanged(this.currentOpacity)},ut}(xe),kt=function(wt){function ut(ot,Pt,Ht){var Mt=wt.call(this,ot,Pt,Ht)||this;return Mt.setOpacity=Mt.setOpacity.bind(Mt),Mt.fillColor=Ht.defaultHighlightColor,Mt.strokeWidth=0,Mt.opacity=Ht.defaultHighlightOpacity,Mt.fillPanel=new ce("Color",Ht.defaultColorSet,Mt.fillColor),Mt.fillPanel.onColorChanged=Mt.setFillColor,Mt.opacityPanel=new Xt("Opacity",Ht.defaultOpacitySteps,Mt.opacity),Mt.opacityPanel.onOpacityChanged=Mt.setOpacity,Mt}return we(ut,wt),ut.prototype.setOpacity=function(ot){this.opacity=ot,this.visual&&Ce.setAttributes(this.visual,[["opacity",this.opacity.toString()]]),this.stateChanged()},Object.defineProperty(ut.prototype,"toolboxPanels",{get:function(){return[this.fillPanel,this.opacityPanel]},enumerable:!1,configurable:!0}),ut.prototype.getState=function(){var ot=wt.prototype.getState.call(this);return ot.typeName=ut.typeName,ot},ut.typeName="HighlightMarker",ut.title="Highlight marker",ut.icon='<svg viewBox="0 0 24 24"><path d="M18.5 1.15c-.53 0-1.04.19-1.43.58l-5.81 5.82 5.65 5.65 5.82-5.81c.77-.78.77-2.04 0-2.83l-2.84-2.83c-.39-.39-.89-.58-1.39-.58M10.3 8.5l-5.96 5.96c-.78.78-.78 2.04.02 2.85C3.14 18.54 1.9 19.77.67 21h5.66l.86-.86c.78.76 2.03.75 2.81-.02l5.95-5.96"/></svg>',ut}(Dt),Rt='<svg viewBox="0 0 24 24"><path d="M9.62 12L12 5.67 14.37 12M11 3L5.5 17h2.25l1.12-3h6.25l1.13 3h2.25L13 3h-2z"/></svg>',Gt='<svg viewBox="0 0 24 24"><path d="M19 11.5s-2 2.17-2 3.5a2 2 0 002 2 2 2 0 002-2c0-1.33-2-3.5-2-3.5M5.21 10L10 5.21 14.79 10m1.77-1.06L7.62 0 6.21 1.41l2.38 2.38-5.15 5.15c-.59.56-.59 1.53 0 2.12l5.5 5.5c.29.29.68.44 1.06.44s.77-.15 1.06-.44l5.5-5.5c.59-.59.59-1.56 0-2.12z"/></svg>',ln=function(wt){function ut(ot,Pt,Ht){var Mt=wt.call(this,ot,Pt,Ht)||this;return Mt.bgColor="transparent",Mt.tipPosition={x:0,y:0},Mt.tipBase1Position={x:0,y:0},Mt.tipBase2Position={x:0,y:0},Mt.tipMoving=!1,Mt.color=Ht.defaultStrokeColor,Mt.bgColor=Ht.defaultFillColor,Mt.fontFamily=Ht.defaultFontFamily,Mt.defaultSize={x:100,y:30},Mt.setBgColor=Mt.setBgColor.bind(Mt),Mt.getTipPoints=Mt.getTipPoints.bind(Mt),Mt.positionTip=Mt.positionTip.bind(Mt),Mt.setTipPoints=Mt.setTipPoints.bind(Mt),Mt.colorPanel=new ce("Text color",Ht.defaultColorSet,Mt.color,Rt),Mt.colorPanel.onColorChanged=Mt.setColor,Mt.bgColorPanel=new ce("Fill color",Ht.defaultColorSet,Mt.bgColor,Gt),Mt.bgColorPanel.onColorChanged=Mt.setBgColor,Mt.fontFamilyPanel=new vt("Font",Ht.defaultFontFamilies,Ht.defaultFontFamily),Mt.fontFamilyPanel.onFontChanged=Mt.setFont,Mt.tipGrip=new Le,Mt.tipGrip.visual.transform.baseVal.appendItem(Ce.createTransform()),Mt.controlBox.appendChild(Mt.tipGrip.visual),Mt}return we(ut,wt),ut.prototype.ownsTarget=function(ot){return wt.prototype.ownsTarget.call(this,ot)||this.tipGrip.ownsTarget(ot)||this.tip===ot},ut.prototype.createTip=function(){Ce.setAttributes(this.bgRectangle,[["fill",this.bgColor],["rx","10px"]]),this.tip=Ce.createPolygon(this.getTipPoints(),[["fill",this.bgColor]]),this.visual.appendChild(this.tip)},ut.prototype.pointerDown=function(ot,Pt){this.state==="new"&&wt.prototype.pointerDown.call(this,ot,Pt),this.state==="creating"?this.createTip():this.tipGrip.ownsTarget(Pt)?(this.manipulationStartLeft=this.left,this.manipulationStartTop=this.top,this.tipMoving=!0):wt.prototype.pointerDown.call(this,ot,Pt)},ut.prototype.pointerUp=function(ot){if(this.tipMoving)this.tipMoving=!1,this.isMoved=!0,wt.prototype.pointerUp.call(this,ot);else{var Pt=this.state==="creating";wt.prototype.pointerUp.call(this,ot),this.setTipPoints(Pt),this.positionTip()}},ut.prototype.manipulate=function(ot){if(this.tipMoving){var Pt=this.unrotatePoint(ot);this.tipPosition={x:Pt.x-this.manipulationStartLeft,y:Pt.y-this.manipulationStartTop},this.positionTip()}else wt.prototype.manipulate.call(this,ot)},ut.prototype.setBgColor=function(ot){this.bgRectangle&&this.tip&&(Ce.setAttributes(this.bgRectangle,[["fill",ot]]),Ce.setAttributes(this.tip,[["fill",ot]])),this.bgColor=ot,this.fillColorChanged(ot)},ut.prototype.getTipPoints=function(){return this.setTipPoints(this.state==="creating"),this.tipBase1Position.x+","+this.tipBase1Position.y+" "+this.tipBase2Position.x+","+this.tipBase2Position.y+" "+this.tipPosition.x+","+this.tipPosition.y},ut.prototype.setTipPoints=function(ot){ot===void 0&&(ot=!1);var Pt=Math.min(this.height/2,15),Ht=this.height/5;ot&&(this.tipPosition={x:Pt+Ht/2,y:this.height+20});var Mt=Math.atan(this.height/2/(this.width/2));this.tipPosition.x<this.width/2&&this.tipPosition.y<this.height/2?Mt<Math.atan((this.height/2-this.tipPosition.y)/(this.width/2-this.tipPosition.x))?(Ht=this.width/5,Pt=Math.min(this.width/2,15),this.tipBase1Position={x:Pt,y:0},this.tipBase2Position={x:Pt+Ht,y:0}):(this.tipBase1Position={x:0,y:Pt},this.tipBase2Position={x:0,y:Pt+Ht}):this.tipPosition.x>=this.width/2&&this.tipPosition.y<this.height/2?Mt<Math.atan((this.height/2-this.tipPosition.y)/(this.tipPosition.x-this.width/2))?(Ht=this.width/5,Pt=Math.min(this.width/2,15),this.tipBase1Position={x:this.width-Pt-Ht,y:0},this.tipBase2Position={x:this.width-Pt,y:0}):(this.tipBase1Position={x:this.width,y:Pt},this.tipBase2Position={x:this.width,y:Pt+Ht}):this.tipPosition.x>=this.width/2&&this.tipPosition.y>=this.height/2?Mt<Math.atan((this.tipPosition.y-this.height/2)/(this.tipPosition.x-this.width/2))?(Ht=this.width/5,Pt=Math.min(this.width/2,15),this.tipBase1Position={x:this.width-Pt-Ht,y:this.height},this.tipBase2Position={x:this.width-Pt,y:this.height}):(this.tipBase1Position={x:this.width,y:this.height-Pt-Ht},this.tipBase2Position={x:this.width,y:this.height-Pt}):Mt<Math.atan((this.tipPosition.y-this.height/2)/(this.width/2-this.tipPosition.x))?(Ht=this.width/5,Pt=Math.min(this.width/2,15),this.tipBase1Position={x:Pt,y:this.height},this.tipBase2Position={x:Pt+Ht,y:this.height}):(this.tipBase1Position={x:0,y:this.height-Pt},this.tipBase2Position={x:0,y:this.height-Pt-Ht})},ut.prototype.resize=function(ot){wt.prototype.resize.call(this,ot),this.positionTip()},ut.prototype.positionTip=function(){Ce.setAttributes(this.tip,[["points",this.getTipPoints()]]);var ot=this.tipGrip.visual.transform.baseVal.getItem(0);ot.setTranslate(this.tipPosition.x,this.tipPosition.y),this.tipGrip.visual.transform.baseVal.replaceItem(ot,0)},Object.defineProperty(ut.prototype,"toolboxPanels",{get:function(){return[this.colorPanel,this.bgColorPanel,this.fontFamilyPanel]},enumerable:!1,configurable:!0}),ut.prototype.select=function(){this.positionTip(),wt.prototype.select.call(this)},ut.prototype.getState=function(){var ot=Object.assign({bgColor:this.bgColor,tipPosition:this.tipPosition},wt.prototype.getState.call(this));return ot.typeName=ut.typeName,ot},ut.prototype.restoreState=function(ot){var Pt=ot;this.bgColor=Pt.bgColor,this.tipPosition=Pt.tipPosition,wt.prototype.restoreState.call(this,ot),this.createTip(),this.setTipPoints()},ut.prototype.scale=function(ot,Pt){wt.prototype.scale.call(this,ot,Pt),this.tipPosition={x:this.tipPosition.x*ot,y:this.tipPosition.y*Pt},this.positionTip()},ut.typeName="CalloutMarker",ut.title="Callout marker",ut.icon='<svg viewBox="0 0 24 24"><path d="M4 2h16a2 2 0 012 2v12a2 2 0 01-2 2h-4l-4 4-4-4H4a2 2 0 01-2-2V4a2 2 0 012-2m0 2v12h4.83L12 19.17 15.17 16H20V4H4m2 3h12v2H6V7m0 4h10v2H6v-2z"/></svg>',ut}(Lt),Rn=function(wt){function ut(ot,Pt,Ht){var Mt=wt.call(this,ot,Pt,Ht)||this;return Mt.fillColor="transparent",Mt.strokeColor="transparent",Mt.strokeWidth=0,Mt.strokeDasharray="",Mt.opacity=1,Mt.strokeColor=Ht.defaultColor,Mt.strokeWidth=Ht.defaultStrokeWidth,Mt.strokeDasharray=Ht.defaultStrokeDasharray,Mt.fillColor=Ht.defaultFillColor,Mt.setStrokeColor=Mt.setStrokeColor.bind(Mt),Mt.setFillColor=Mt.setFillColor.bind(Mt),Mt.setStrokeWidth=Mt.setStrokeWidth.bind(Mt),Mt.setStrokeDasharray=Mt.setStrokeDasharray.bind(Mt),Mt.setOpacity=Mt.setOpacity.bind(Mt),Mt.createVisual=Mt.createVisual.bind(Mt),Mt.strokePanel=new ce("Line color",Ie(Ht.defaultColorSet,["transparent"]),Ht.defaultColor),Mt.strokePanel.onColorChanged=Mt.setStrokeColor,Mt.fillPanel=new ce("Fill color",Ie(Ht.defaultColorSet,["transparent"]),Mt.fillColor,Gt),Mt.fillPanel.onColorChanged=Mt.setFillColor,Mt.strokeWidthPanel=new Qe("Line width",Ht.defaultStrokeWidths,Ht.defaultStrokeWidth),Mt.strokeWidthPanel.onWidthChanged=Mt.setStrokeWidth,Mt.strokeStylePanel=new $e("Line style",Ht.defaultStrokeDasharrays,Ht.defaultStrokeDasharray),Mt.strokeStylePanel.onStyleChanged=Mt.setStrokeDasharray,Mt.opacityPanel=new Xt("Opacity",Ht.defaultOpacitySteps,Mt.opacity),Mt.opacityPanel.onOpacityChanged=Mt.setOpacity,Mt}return we(ut,wt),ut.prototype.ownsTarget=function(ot){return!(!wt.prototype.ownsTarget.call(this,ot)&&ot!==this.visual)},ut.prototype.createVisual=function(){this.visual=Ce.createEllipse(this.width/2,this.height/2,[["fill",this.fillColor],["stroke",this.strokeColor],["stroke-width",this.strokeWidth.toString()],["stroke-dasharray",this.strokeDasharray],["opacity",this.opacity.toString()]]),this.addMarkerVisualToContainer(this.visual)},ut.prototype.pointerDown=function(ot,Pt){wt.prototype.pointerDown.call(this,ot,Pt),this.state==="new"&&(this.createVisual(),this.moveVisual(ot),this._state="creating")},ut.prototype.manipulate=function(ot){wt.prototype.manipulate.call(this,ot)},ut.prototype.resize=function(ot){wt.prototype.resize.call(this,ot),this.setSize()},ut.prototype.setSize=function(){wt.prototype.setSize.call(this),Ce.setAttributes(this.visual,[["cx",(this.width/2).toString()],["cy",(this.height/2).toString()],["rx",(this.width/2).toString()],["ry",(this.height/2).toString()]])},ut.prototype.pointerUp=function(ot){wt.prototype.pointerUp.call(this,ot),this.setSize()},ut.prototype.setStrokeColor=function(ot){this.strokeColor=ot,this.visual&&Ce.setAttributes(this.visual,[["stroke",this.strokeColor]]),this.colorChanged(ot),this.stateChanged()},ut.prototype.setFillColor=function(ot){this.fillColor=ot,this.visual&&Ce.setAttributes(this.visual,[["fill",this.fillColor]]),this.fillColorChanged(ot),this.stateChanged()},ut.prototype.setStrokeWidth=function(ot){this.strokeWidth=ot,this.visual&&Ce.setAttributes(this.visual,[["stroke-width",this.strokeWidth.toString()]]),this.stateChanged()},ut.prototype.setStrokeDasharray=function(ot){this.strokeDasharray=ot,this.visual&&Ce.setAttributes(this.visual,[["stroke-dasharray",this.strokeDasharray]]),this.stateChanged()},ut.prototype.setOpacity=function(ot){this.opacity=ot,this.visual&&Ce.setAttributes(this.visual,[["opacity",this.opacity.toString()]]),this.stateChanged()},Object.defineProperty(ut.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.fillPanel,this.strokeWidthPanel,this.strokeStylePanel,this.opacityPanel]},enumerable:!1,configurable:!0}),ut.prototype.getState=function(){var ot=Object.assign({fillColor:this.fillColor,strokeColor:this.strokeColor,strokeWidth:this.strokeWidth,strokeDasharray:this.strokeDasharray,opacity:this.opacity},wt.prototype.getState.call(this));return ot.typeName=ut.typeName,ot},ut.prototype.restoreState=function(ot){var Pt=ot;this.fillColor=Pt.fillColor,this.strokeColor=Pt.strokeColor,this.strokeWidth=Pt.strokeWidth,this.strokeDasharray=Pt.strokeDasharray,this.opacity=Pt.opacity,this.createVisual(),wt.prototype.restoreState.call(this,ot),this.setSize()},ut.prototype.scale=function(ot,Pt){wt.prototype.scale.call(this,ot,Pt),this.setSize()},ut.typeName="EllipseMarker",ut.title="Ellipse marker",ut.icon='<svg viewBox="0 0 24 24"><path d="M12 4C6.5 4 2 7.58 2 12s4.5 8 10 8 10-3.58 10-8-4.5-8-10-8z"/></svg>',ut}(Ze),jn=function(wt){function ut(ot,Pt,Ht){return wt.call(this,ot,Pt,Ht)||this}return we(ut,wt),Object.defineProperty(ut.prototype,"tipLength",{get:function(){return 10+3*this.strokeWidth},enumerable:!1,configurable:!0}),ut.prototype.ownsTarget=function(ot){return!(!wt.prototype.ownsTarget.call(this,ot)&&ot!==this.tip1&&ot!==this.tip2)},ut.prototype.createTips=function(){this.tip1=Ce.createLine(this.x1-this.tipLength/2,this.y1,this.x1+this.tipLength/2,this.y1,[["stroke",this.strokeColor],["stroke-width",this.strokeWidth.toString()]]),this.tip1.transform.baseVal.appendItem(Ce.createTransform()),this.visual.appendChild(this.tip1),this.tip2=Ce.createLine(this.x2-this.tipLength/2,this.y2,this.x2+this.tipLength/2,this.y2,[["stroke",this.strokeColor],["stroke-width",this.strokeWidth.toString()]]),this.tip2.transform.baseVal.appendItem(Ce.createTransform()),this.visual.appendChild(this.tip2)},ut.prototype.pointerDown=function(ot,Pt){wt.prototype.pointerDown.call(this,ot,Pt),this.state==="creating"&&this.createTips()},ut.prototype.adjustVisual=function(){if(wt.prototype.adjustVisual.call(this),this.tip1&&this.tip2&&(Ce.setAttributes(this.tip1,[["x1",(this.x1-this.tipLength/2).toString()],["y1",this.y1.toString()],["x2",(this.x1+this.tipLength/2).toString()],["y2",this.y1.toString()],["stroke",this.strokeColor],["stroke-width",this.strokeWidth.toString()]]),Ce.setAttributes(this.tip2,[["x1",(this.x2-this.tipLength/2).toString()],["y1",this.y2.toString()],["x2",(this.x2+this.tipLength/2).toString()],["y2",this.y2.toString()],["stroke",this.strokeColor],["stroke-width",this.strokeWidth.toString()]]),Math.abs(this.x1-this.x2)>.1)){var ot=180*Math.atan((this.y2-this.y1)/(this.x2-this.x1))/Math.PI+90*Math.sign(this.x1-this.x2),Pt=this.tip1.transform.baseVal.getItem(0);Pt.setRotate(ot,this.x1,this.y1),this.tip1.transform.baseVal.replaceItem(Pt,0);var Ht=this.tip2.transform.baseVal.getItem(0);Ht.setRotate(ot+180,this.x2,this.y2),this.tip2.transform.baseVal.replaceItem(Ht,0)}},Object.defineProperty(ut.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel]},enumerable:!1,configurable:!0}),ut.prototype.getState=function(){var ot=wt.prototype.getState.call(this);return ot.typeName=ut.typeName,ot},ut.prototype.restoreState=function(ot){wt.prototype.restoreState.call(this,ot),this.createTips(),this.adjustVisual()},ut.typeName="MeasurementMarker",ut.title="Measurement marker",ut.icon='<svg viewBox="0 0 24 24"><path d="M1.39 18.36l1.77-1.76L4.58 18l1.06-1.05-1.42-1.41 1.42-1.42 2.47 2.48 1.06-1.06-2.47-2.48 1.41-1.41 1.42 1.41L10.59 12l-1.42-1.41 1.42-1.42 2.47 2.48 1.06-1.06-2.47-2.48 1.41-1.41 1.41 1.41 1.07-1.06-1.42-1.41 1.42-1.42L18 6.7l1.07-1.06-2.47-2.48 1.76-1.77 4.25 4.25L5.64 22.61l-4.25-4.25z"/></svg>',ut}(Et),er=function(wt){function ut(ot,Pt,Ht){var Mt=wt.call(this,ot,Pt,Ht)||this;return Mt.strokePanel.colors=Ht.defaultColorSet,Mt.fillColor="transparent",Mt}return we(ut,wt),Object.defineProperty(ut.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel]},enumerable:!1,configurable:!0}),ut.prototype.getState=function(){var ot=wt.prototype.getState.call(this);return ot.typeName=ut.typeName,ot},ut.typeName="EllipseFrameMarker",ut.title="Ellipse frame marker",ut.icon='<svg viewBox="0 0 24 24"><path d="M12 6c4.41 0 8 2.69 8 6s-3.59 6-8 6-8-2.69-8-6 3.59-6 8-6m0-2C6.5 4 2 7.58 2 12s4.5 8 10 8 10-3.58 10-8-4.5-8-10-8z"/></svg>',ut}(Rn),an=function(){function wt(){this.undoStack=[],this.redoStack=[]}return Object.defineProperty(wt.prototype,"isUndoPossible",{get:function(){return this.undoStack.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(wt.prototype,"isRedoPossible",{get:function(){return this.redoStack.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(wt.prototype,"undoStepCount",{get:function(){return this.undoStack.length},enumerable:!1,configurable:!0}),Object.defineProperty(wt.prototype,"redoStepCount",{get:function(){return this.redoStack.length},enumerable:!1,configurable:!0}),wt.prototype.addUndoStep=function(ut){this.undoStack.length!==0&&JSON.stringify(this.undoStack[this.undoStack.length-1])===JSON.stringify(ut)||(this.undoStack.push(ut),JSON.stringify(this.lastRedoStep)!==JSON.stringify(ut)&&this.redoStack.splice(0,this.redoStack.length))},wt.prototype.replaceLastUndoStep=function(ut){this.undoStack.length>0&&(this.undoStack[this.undoStack.length-1]=ut)},wt.prototype.getLastUndoStep=function(){return this.undoStack.length>0?this.undoStack[this.undoStack.length-1]:void 0},wt.prototype.undo=function(){if(this.undoStack.length>1){var ut=this.undoStack.pop();return ut!==void 0&&this.redoStack.push(ut),this.undoStack.length>0?this.undoStack[this.undoStack.length-1]:void 0}},wt.prototype.redo=function(){return this.lastRedoStep=this.redoStack.pop(),this.lastRedoStep},wt}(),Un=function(wt){function ut(ot,Pt,Ht){var Mt=wt.call(this,ot,Pt,Ht)||this;return Mt.strokeColor="transparent",Mt.strokeWidth=0,Mt.strokeDasharray="",Mt.curveX=0,Mt.curveY=0,Mt.manipulationStartCurveX=0,Mt.manipulationStartCurveY=0,Mt.setStrokeColor=Mt.setStrokeColor.bind(Mt),Mt.setStrokeWidth=Mt.setStrokeWidth.bind(Mt),Mt.setStrokeDasharray=Mt.setStrokeDasharray.bind(Mt),Mt.positionGrips=Mt.positionGrips.bind(Mt),Mt.addControlGrips=Mt.addControlGrips.bind(Mt),Mt.adjustVisual=Mt.adjustVisual.bind(Mt),Mt.setupControlBox=Mt.setupControlBox.bind(Mt),Mt.resize=Mt.resize.bind(Mt),Mt.strokeColor=Ht.defaultColor,Mt.strokeWidth=Ht.defaultStrokeWidth,Mt.strokeDasharray=Ht.defaultStrokeDasharray,Mt.strokePanel=new ce("Line color",Ht.defaultColorSet,Ht.defaultColor),Mt.strokePanel.onColorChanged=Mt.setStrokeColor,Mt.strokeWidthPanel=new Qe("Line width",Ht.defaultStrokeWidths,Ht.defaultStrokeWidth),Mt.strokeWidthPanel.onWidthChanged=Mt.setStrokeWidth,Mt.strokeStylePanel=new $e("Line style",Ht.defaultStrokeDasharrays,Ht.defaultStrokeDasharray),Mt.strokeStylePanel.onStyleChanged=Mt.setStrokeDasharray,Mt}return we(ut,wt),ut.prototype.ownsTarget=function(ot){return!(!wt.prototype.ownsTarget.call(this,ot)&&ot!==this.visual&&ot!==this.selectorCurve&&ot!==this.visibleCurve&&!this.curveGrip.ownsTarget(ot))},ut.prototype.getPathD=function(){return"M "+this.x1+" "+this.y1+" Q "+this.curveX+" "+this.curveY+", "+this.x2+" "+this.y2},ut.prototype.createVisual=function(){this.visual=Ce.createGroup(),this.selectorCurve=Ce.createPath(this.getPathD(),[["stroke","transparent"],["stroke-width",(this.strokeWidth+10).toString()],["fill","transparent"]]),this.visibleCurve=Ce.createPath(this.getPathD(),[["stroke",this.strokeColor],["stroke-width",this.strokeWidth.toString()],["fill","transparent"]]),this.visual.appendChild(this.selectorCurve),this.visual.appendChild(this.visibleCurve),this.addMarkerVisualToContainer(this.visual)},ut.prototype.pointerDown=function(ot,Pt){wt.prototype.pointerDown.call(this,ot,Pt),this.manipulationStartCurveX=this.curveX,this.manipulationStartCurveY=this.curveY,this.state==="new"&&(this.curveX=ot.x,this.curveY=ot.y),this.state==="new"?(this.createVisual(),this.adjustVisual(),this._state="creating"):this.curveGrip.ownsTarget(Pt)&&(this.activeGrip=this.curveGrip,this._state="resize")},ut.prototype.adjustVisual=function(){this.selectorCurve&&this.visibleCurve&&(this.selectorCurve.setAttribute("d",this.getPathD()),this.visibleCurve.setAttribute("d",this.getPathD()),Ce.setAttributes(this.visibleCurve,[["stroke",this.strokeColor]]),Ce.setAttributes(this.visibleCurve,[["stroke-width",this.strokeWidth.toString()]]),Ce.setAttributes(this.visibleCurve,[["stroke-dasharray",this.strokeDasharray.toString()]]))},ut.prototype.setupControlBox=function(){wt.prototype.setupControlBox.call(this),this.curveControlLine1=Ce.createLine(this.x1,this.y1,this.curveX,this.curveY,[["stroke","black"],["stroke-width","1"],["stroke-opacity","0.5"],["stroke-dasharray","3, 2"]]),this.curveControlLine2=Ce.createLine(this.x2,this.y2,this.curveX,this.curveY,[["stroke","black"],["stroke-width","1"],["stroke-opacity","0.5"],["stroke-dasharray","3, 2"]]),this.controlBox.insertBefore(this.curveControlLine1,this.controlBox.firstChild),this.controlBox.insertBefore(this.curveControlLine2,this.controlBox.firstChild)},ut.prototype.addControlGrips=function(){this.curveGrip=this.createGrip(),this.curveX=0,this.curveY=0,wt.prototype.addControlGrips.call(this)},ut.prototype.positionGrips=function(){wt.prototype.positionGrips.call(this);var ot=this.curveGrip.GRIP_SIZE;this.positionGrip(this.curveGrip.visual,this.curveX-ot/2,this.curveY-ot/2),this.curveControlLine1&&this.curveControlLine2&&(this.curveControlLine1.setAttribute("x1",this.x1.toString()),this.curveControlLine1.setAttribute("y1",this.y1.toString()),this.curveControlLine1.setAttribute("x2",this.curveX.toString()),this.curveControlLine1.setAttribute("y2",this.curveY.toString()),this.curveControlLine2.setAttribute("x1",this.x2.toString()),this.curveControlLine2.setAttribute("y1",this.y2.toString()),this.curveControlLine2.setAttribute("x2",this.curveX.toString()),this.curveControlLine2.setAttribute("y2",this.curveY.toString()))},ut.prototype.manipulate=function(ot){this.state==="move"&&(this.curveX=this.manipulationStartCurveX+ot.x-this.manipulationStartX,this.curveY=this.manipulationStartCurveY+ot.y-this.manipulationStartY),wt.prototype.manipulate.call(this,ot)},ut.prototype.resize=function(ot){this.activeGrip===this.curveGrip&&(this.curveX=ot.x,this.curveY=ot.y),wt.prototype.resize.call(this,ot),this.state==="creating"&&(this.curveX=this.x1+(this.x2-this.x1)/2,this.curveY=this.y1+(this.y2-this.y1)/2)},ut.prototype.setStrokeColor=function(ot){this.strokeColor=ot,this.adjustVisual(),this.colorChanged(ot)},ut.prototype.setStrokeWidth=function(ot){this.strokeWidth=ot,this.adjustVisual()},ut.prototype.setStrokeDasharray=function(ot){this.strokeDasharray=ot,this.adjustVisual()},ut.prototype.scale=function(ot,Pt){this.curveX=this.curveX*ot,this.curveY=this.curveY*Pt,wt.prototype.scale.call(this,ot,Pt)},Object.defineProperty(ut.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel]},enumerable:!1,configurable:!0}),ut.prototype.getState=function(){var ot=Object.assign({strokeColor:this.strokeColor,strokeWidth:this.strokeWidth,strokeDasharray:this.strokeDasharray,curveX:this.curveX,curveY:this.curveY},wt.prototype.getState.call(this));return ot.typeName=ut.typeName,ot},ut.prototype.restoreState=function(ot){wt.prototype.restoreState.call(this,ot);var Pt=ot;this.strokeColor=Pt.strokeColor,this.strokeWidth=Pt.strokeWidth,this.strokeDasharray=Pt.strokeDasharray,this.curveX=Pt.curveX,this.curveY=Pt.curveY,this.createVisual(),this.adjustVisual()},ut.typeName="CurveMarker",ut.title="Curve marker",ut.icon='<svg viewBox="0 0 24 24"><path d="M18.5 2A1.5 1.5 0 0120 3.5 1.5 1.5 0 0118.5 5c-.23 0-.45-.05-.65-.15l-3.69 3.7.34.45c2.19-1.26 4.76-2 7.5-2l1 .03v2.01L22 9c-2.58 0-5 .75-7 2.04A3.96 3.96 0 0111.04 15C9.75 17 9 19.42 9 22l.04 1H7.03L7 22c0-2.74.74-5.31 2-7.5l-.45-.34-3.7 3.69c.1.2.15.42.15.65A1.5 1.5 0 013.5 20 1.5 1.5 0 012 18.5 1.5 1.5 0 013.5 17c.23 0 .45.05.65.15l3.69-3.7C7.31 12.78 7 11.92 7 11a4 4 0 014-4c.92 0 1.78.31 2.45.84l3.7-3.69c-.1-.2-.15-.42-.15-.65A1.5 1.5 0 0118.5 2M11 9a2 2 0 00-2 2 2 2 0 002 2 2 2 0 002-2 2 2 0 00-2-2z"/></svg>',ut}(At),Kn=function(wt){function ut(ot,Pt,Ht){var Mt=wt.call(this,ot,Pt,Ht)||this;return Mt.fillColor="transparent",Mt.strokeColor="transparent",Mt.strokeWidth=0,Mt.strokeDasharray="",Mt.textColor="transparent",Mt.fontSize="1rem",Mt.isMoved=!1,Mt.captionText="Caption",Mt.PADDING=5,Mt.captionBoxWidth=0,Mt.captionBoxHeight=0,Mt.strokeColor=Ht.defaultColor,Mt.strokeWidth=Ht.defaultStrokeWidth,Mt.strokeDasharray=Ht.defaultStrokeDasharray,Mt.fillColor=Ht.defaultFillColor,Mt.textColor=Ht.defaultStrokeColor,Mt.fontFamily=Ht.defaultFontFamily,Mt.fontSize=Ht.defaultCaptionFontSize,Mt.captionText=Ht.defaultCaptionText,Mt.setStrokeColor=Mt.setStrokeColor.bind(Mt),Mt.setFillColor=Mt.setFillColor.bind(Mt),Mt.setStrokeWidth=Mt.setStrokeWidth.bind(Mt),Mt.setStrokeDasharray=Mt.setStrokeDasharray.bind(Mt),Mt.createVisual=Mt.createVisual.bind(Mt),Mt.sizeCaption=Mt.sizeCaption.bind(Mt),Mt.setCaptionText=Mt.setCaptionText.bind(Mt),Mt.showTextEditor=Mt.showTextEditor.bind(Mt),Mt.positionTextEditor=Mt.positionTextEditor.bind(Mt),Mt.finishTextEditing=Mt.finishTextEditing.bind(Mt),Mt.setFont=Mt.setFont.bind(Mt),Mt.setTextColor=Mt.setTextColor.bind(Mt),Mt.strokePanel=new ce("Line color",Ie(Ht.defaultColorSet,["transparent"]),Mt.strokeColor),Mt.strokePanel.onColorChanged=Mt.setStrokeColor,Mt.fillPanel=new ce("Fill color",Ie(Ht.defaultColorSet,["transparent"]),Mt.fillColor,Gt),Mt.fillPanel.onColorChanged=Mt.setFillColor,Mt.strokeWidthPanel=new Qe("Line width",Ht.defaultStrokeWidths,Ht.defaultStrokeWidth),Mt.strokeWidthPanel.onWidthChanged=Mt.setStrokeWidth,Mt.strokeStylePanel=new $e("Line style",Ht.defaultStrokeDasharrays,Ht.defaultStrokeDasharray),Mt.strokeStylePanel.onStyleChanged=Mt.setStrokeDasharray,Mt.fontFamilyPanel=new vt("Font",Ht.defaultFontFamilies,Ht.defaultFontFamily),Mt.fontFamilyPanel.onFontChanged=Mt.setFont,Mt.textColorPanel=new ce("Text color",Ht.defaultColorSet,Mt.textColor,Rt),Mt.textColorPanel.onColorChanged=Mt.setTextColor,Mt}return we(ut,wt),ut.prototype.ownsTarget=function(ot){return!(!wt.prototype.ownsTarget.call(this,ot)&&ot!==this.visual&&ot!==this.frame&&ot!==this.captionBg&&ot!==this.captionElement)},ut.prototype.createVisual=function(){this.visual=Ce.createGroup(),this.addMarkerVisualToContainer(this.visual),this.captionBg=Ce.createRect(1,1,[["fill",this.fillColor]]),this.visual.appendChild(this.captionBg),this.captionElement=Ce.createText([["fill",this.textColor],["font-family",this.fontFamily]]),this.captionElement.style.fontSize=this.fontSize,this.captionElement.style.textAnchor="start",this.captionElement.style.dominantBaseline="text-before-edge",this.captionElement.textContent=this.captionText,this.visual.appendChild(this.captionElement),this.frame=Ce.createRect(this.width,this.height,[["fill","transparent"],["stroke",this.strokeColor],["stroke-width",this.strokeWidth.toString()],["stroke-dasharray",this.strokeDasharray]]),this.visual.appendChild(this.frame),this.sizeCaption()},ut.prototype.setCaptionText=function(ot){this.captionText=ot,this.captionElement.textContent=this.captionText,this.sizeCaption()},ut.prototype.pointerDown=function(ot,Pt){wt.prototype.pointerDown.call(this,ot,Pt),this.isMoved=!1,this.pointerDownPoint=ot,this.pointerDownTimestamp=Date.now(),this.state==="new"&&(this.createVisual(),this.moveVisual(ot),this._state="creating")},ut.prototype.manipulate=function(ot){wt.prototype.manipulate.call(this,ot),this.pointerDownPoint!==void 0&&(this.isMoved=Math.abs(ot.x-this.pointerDownPoint.x)>5||Math.abs(ot.y-this.pointerDownPoint.y)>5)},ut.prototype.resize=function(ot){wt.prototype.resize.call(this,ot),this.setSize()},ut.prototype.sizeCaption=function(){var ot=this.captionElement.getBBox();this.captionText.trim()!==""?(this.captionBoxWidth=ot.width+2*this.PADDING,this.captionBoxHeight=ot.height+2*this.PADDING):(this.captionBoxWidth=0,this.captionBoxHeight=0),Ce.setAttributes(this.captionBg,[["width",this.captionBoxWidth.toString()],["height",this.captionBoxHeight.toString()],["clip-path","path('M0,0 H"+this.width+" V"+this.height+" H"+-this.width+" Z')"]]),Ce.setAttributes(this.captionElement,[["x",this.PADDING.toString()],["y",this.PADDING.toString()],["clip-path","path('M0,0 H"+(this.width-this.PADDING)+" V"+this.height+" H"+(-this.width-this.PADDING)+" Z')"]])},ut.prototype.showTextEditor=function(){var ot=this;this._state="edit",this.overlayContainer.innerHTML="",this.textEditDiv=document.createElement("div"),this.textEditDiv.style.flexGrow="2",this.textEditDiv.style.alignItems="center",this.textEditDiv.style.justifyContent="center",this.textEditDiv.style.pointerEvents="auto",this.textEditDiv.style.overflow="hidden",this.textEditBox=document.createElement("input"),this.textEditBox.style.position="absolute",this.textEditBox.style.width=this.width+"px",this.captionBoxHeight>0&&(this.textEditBox.style.height=this.captionBoxHeight+"px"),this.textEditBox.style.fontSize=this.fontSize,this.textEditBox.style.fontFamily=this.fontFamily,this.textEditBox.style.backgroundColor=this.fillColor,this.textEditBox.style.color=this.textColor,this.textEditBox.style.borderWidth="0",this.textEditBox.setAttribute("value",this.captionText),this.textEditBox.select(),this.textEditDiv.appendChild(this.textEditBox),this.overlayContainer.appendChild(this.textEditDiv),this.textEditBox.addEventListener("pointerup",function(Pt){Pt.stopPropagation()}),this.textEditBox.addEventListener("keypress",function(Pt){Pt.key==="Enter"&&ot.finishTextEditing(ot.textEditBox.value)}),this.textEditBox.addEventListener("keyup",function(Pt){Pt.cancelBubble=!0}),this.textEditBox.addEventListener("blur",function(){ot.finishTextEditing(ot.textEditBox.value)}),this.textEditDiv.addEventListener("pointerup",function(){ot.finishTextEditing(ot.textEditBox.value)}),this.positionTextEditor(),this.textEditBox.focus()},ut.prototype.positionTextEditor=function(){this.state==="edit"&&(this.textEditBox===void 0?this.showTextEditor():(this.textEditBox.style.left=this.left+"px",this.textEditBox.style.top=this.top+"px",this.textEditBox.style.transform="rotate("+this.rotationAngle+"deg)",this.textEditBox.style.transformOrigin=this.width/2+"px "+this.height/2+"px"))},ut.prototype.finishTextEditing=function(ot){this.setCaptionText(ot.trim()),this.overlayContainer.innerHTML="",this.stateChanged()},ut.prototype.setFont=function(ot){this.captionElement&&Ce.setAttributes(this.captionElement,[["font-family",ot]]),this.fontFamily=ot,this.textEditBox&&(this.textEditBox.style.fontFamily=this.fontFamily),this.sizeCaption(),this.stateChanged()},ut.prototype.setTextColor=function(ot){this.captionElement&&Ce.setAttributes(this.captionElement,[["fill",ot]]),this.textColor=ot,this.textEditBox&&(this.textEditBox.style.color=this.textColor),this.stateChanged()},ut.prototype.setSize=function(){wt.prototype.setSize.call(this),Ce.setAttributes(this.frame,[["width",this.width.toString()],["height",this.height.toString()]]),this.sizeCaption()},ut.prototype.pointerUp=function(ot){wt.prototype.pointerUp.call(this,ot),this.setSize(),!this.isMoved&&Date.now()-this.pointerDownTimestamp>500&&this.showTextEditor(),this.pointerDownPoint=void 0},ut.prototype.dblClick=function(ot,Pt){wt.prototype.dblClick.call(this,ot,Pt),this.showTextEditor()},ut.prototype.setStrokeColor=function(ot){this.strokeColor=ot,this.frame&&Ce.setAttributes(this.frame,[["stroke",this.strokeColor]]),this.colorChanged(ot),this.stateChanged()},ut.prototype.setFillColor=function(ot){this.fillColor=ot,this.captionBg&&Ce.setAttributes(this.captionBg,[["fill",this.fillColor]]),this.fillColorChanged(ot),this.stateChanged()},ut.prototype.setStrokeWidth=function(ot){this.strokeWidth=ot,this.frame&&Ce.setAttributes(this.frame,[["stroke-width",this.strokeWidth.toString()]]),this.stateChanged()},ut.prototype.setStrokeDasharray=function(ot){this.strokeDasharray=ot,this.frame&&Ce.setAttributes(this.frame,[["stroke-dasharray",this.strokeDasharray]]),this.stateChanged()},Object.defineProperty(ut.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.fillPanel,this.strokeWidthPanel,this.strokeStylePanel,this.fontFamilyPanel,this.textColorPanel]},enumerable:!1,configurable:!0}),ut.prototype.getState=function(){var ot=Object.assign({fillColor:this.fillColor,strokeColor:this.strokeColor,strokeWidth:this.strokeWidth,strokeDasharray:this.strokeDasharray,opacity:1,textColor:this.textColor,fontFamily:this.fontFamily,fontSize:this.fontSize,captionText:this.captionText},wt.prototype.getState.call(this));return ot.typeName=this.typeName,ot},ut.prototype.restoreState=function(ot){var Pt=ot;this.fillColor=Pt.fillColor,this.strokeColor=Pt.strokeColor,this.strokeWidth=Pt.strokeWidth,this.strokeDasharray=Pt.strokeDasharray,this.textColor=Pt.textColor,this.fontFamily=Pt.fontFamily,this.captionText=Pt.captionText,this.fontSize=Pt.fontSize,this.createVisual(),wt.prototype.restoreState.call(this,ot),this.setSize()},ut.prototype.scale=function(ot,Pt){wt.prototype.scale.call(this,ot,Pt),this.setSize()},ut.typeName="CaptionFrameMarker",ut.title="Caption frame marker",ut.icon='<svg viewBox="0 0 24 24"><path d="M5 3c-1.11 0-2 .89-2 2v14c0 1.11.89 2 2 2h14c1.11 0 2-.89 2-2V5c0-1.11-.89-2-2-2H5m0 2h14v14H5V5m2 2v2h10V7H7z"/></svg>',ut}(Ze),ur=function(){function wt(ut,ot){ot===void 0&&(ot=!1),this.cancelable=!1,this._defaultPrevented=!1,this.markerArea=ut,this.cancelable=ot}return Object.defineProperty(wt.prototype,"defaultPrevented",{get:function(){return this._defaultPrevented},enumerable:!1,configurable:!0}),wt.prototype.preventDefault=function(){this._defaultPrevented=!0},wt}(),Xn=function(wt){function ut(ot,Pt,Ht){var Mt=wt.call(this,ot,!1)||this;return Mt.dataUrl=Pt,Mt.state=Ht,Mt}return we(ut,wt),ut}(ur),Nn=function(wt){function ut(ot,Pt,Ht){Ht===void 0&&(Ht=!1);var Mt=wt.call(this,ot,Ht)||this;return Mt.marker=Pt,Mt}return we(ut,wt),ut}(ur),_n=function(){function wt(){this.render=[],this.beforeclose=[],this.close=[],this.show=[],this.restorestate=[],this.statechange=[],this.markerselect=[],this.markerdeselect=[],this.markercreating=[],this.markercreate=[],this.markerbeforedelete=[],this.markerdelete=[],this.markerchange=[],this.focus=[],this.blur=[]}return wt.prototype.addEventListener=function(ut,ot){this[ut].push(ot)},wt.prototype.removeEventListener=function(ut,ot){var Pt=this[ut].indexOf(ot);Pt>-1&&this[ut].splice(Pt,1)},wt}(),un=function(){function wt(ut){this.touchPoints=0,this._availableMarkerTypes=this.DEFAULT_MARKER_TYPES,this.mode="select",this.markers=[],this.isDragging=!1,this.renderEventListeners=[],this.closeEventListeners=[],this.settings=new lt,this._isOpen=!1,this.undoRedoManager=new an,this.renderAtNaturalSize=!1,this.renderImageType="image/png",this.renderMarkersOnly=!1,this.zoomSteps=[1,1.5,2,4],this._zoomLevel=1,this._isResizing=!1,this.prevPanPoint={x:0,y:0},this.eventListeners=new _n,this._silentRenderMode=!1,this._isFocused=!1,this._instanceNo=wt.instanceCounter++,this.styles=new ie(this.instanceNo),this.uiStyleSettings=this.styles.settings,this.target=ut,this.targetRoot=document.body,this.width=ut.clientWidth,this.height=ut.clientHeight,this.styles.removeStyleSheet(),this.open=this.open.bind(this),this.setTopLeft=this.setTopLeft.bind(this),this.toolbarButtonClicked=this.toolbarButtonClicked.bind(this),this.createNewMarker=this.createNewMarker.bind(this),this.addNewMarker=this.addNewMarker.bind(this),this.markerCreated=this.markerCreated.bind(this),this.setCurrentMarker=this.setCurrentMarker.bind(this),this.onPointerDown=this.onPointerDown.bind(this),this.onDblClick=this.onDblClick.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.onPointerOut=this.onPointerOut.bind(this),this.onKeyUp=this.onKeyUp.bind(this),this.overrideOverflow=this.overrideOverflow.bind(this),this.restoreOverflow=this.restoreOverflow.bind(this),this.close=this.close.bind(this),this.closeUI=this.closeUI.bind(this),this.addCloseEventListener=this.addCloseEventListener.bind(this),this.removeCloseEventListener=this.removeCloseEventListener.bind(this),this.addRenderEventListener=this.addRenderEventListener.bind(this),this.removeRenderEventListener=this.removeRenderEventListener.bind(this),this.clientToLocalCoordinates=this.clientToLocalCoordinates.bind(this),this.onWindowResize=this.onWindowResize.bind(this),this.deleteSelectedMarker=this.deleteSelectedMarker.bind(this),this.setWindowHeight=this.setWindowHeight.bind(this),this.removeMarker=this.removeMarker.bind(this),this.colorChanged=this.colorChanged.bind(this),this.fillColorChanged=this.fillColorChanged.bind(this),this.onPopupTargetResize=this.onPopupTargetResize.bind(this),this.showNotesEditor=this.showNotesEditor.bind(this),this.hideNotesEditor=this.hideNotesEditor.bind(this),this.stepZoom=this.stepZoom.bind(this),this.focus=this.focus.bind(this),this.blur=this.blur.bind(this),this.markerStateChanged=this.markerStateChanged.bind(this),this.switchToSelectMode=this.switchToSelectMode.bind(this),this.addDefs=this.addDefs.bind(this),this.addDefsToImage=this.addDefsToImage.bind(this)}return Object.defineProperty(wt.prototype,"ALL_MARKER_TYPES",{get:function(){return[gt,St,ct,Lt,er,Rn,kt,ln,jn,Dt,Et,Un,Kn]},enumerable:!1,configurable:!0}),Object.defineProperty(wt.prototype,"DEFAULT_MARKER_TYPES",{get:function(){return[gt,St,ct,Lt,Rn,kt,ln]},enumerable:!1,configurable:!0}),Object.defineProperty(wt.prototype,"BASIC_MARKER_TYPES",{get:function(){return[gt,St,ct,Lt,kt]},enumerable:!1,configurable:!0}),Object.defineProperty(wt.prototype,"availableMarkerTypes",{get:function(){return this._availableMarkerTypes},set:function(ut){var ot=this;this._availableMarkerTypes.splice(0),ut.forEach(function(Pt){if(typeof Pt=="string"){var Ht=ot.ALL_MARKER_TYPES.find(function(Mt){return Mt.typeName===Pt});Ht!==void 0&&ot._availableMarkerTypes.push(Ht)}else ot._availableMarkerTypes.push(Pt)})},enumerable:!1,configurable:!0}),Object.defineProperty(wt.prototype,"currentMarker",{get:function(){return this._currentMarker},enumerable:!1,configurable:!0}),Object.defineProperty(wt.prototype,"isOpen",{get:function(){return this._isOpen},enumerable:!1,configurable:!0}),Object.defineProperty(wt.prototype,"isUndoPossible",{get:function(){return!(!this.undoRedoManager||!this.undoRedoManager.isUndoPossible)},enumerable:!1,configurable:!0}),Object.defineProperty(wt.prototype,"isRedoPossible",{get:function(){return!(!this.undoRedoManager||!this.undoRedoManager.isRedoPossible)},enumerable:!1,configurable:!0}),Object.defineProperty(wt.prototype,"zoomLevel",{get:function(){return this._zoomLevel},set:function(ut){this._zoomLevel=ut,this.editorCanvas&&this.contentDiv&&(this.editorCanvas.style.transform="scale("+this._zoomLevel+")",this.contentDiv.scrollTo({left:(this.editorCanvas.clientWidth*this._zoomLevel-this.contentDiv.clientWidth)/2,top:(this.editorCanvas.clientHeight*this._zoomLevel-this.contentDiv.clientHeight)/2}))},enumerable:!1,configurable:!0}),Object.defineProperty(wt.prototype,"instanceNo",{get:function(){return this._instanceNo},enumerable:!1,configurable:!0}),wt.prototype.open=function(){this.setupResizeObserver(),this.setEditingTarget(),this.setTopLeft(),this.initMarkerCanvas(),this.initOverlay(),this.attachEvents(),this.settings.displayMode==="popup"&&this.onPopupTargetResize(),Me.isLicensed||this.addLogo(),this._isOpen=!0,this._isFocused=!0},wt.prototype.show=function(){var ut=this;this.styles.styleSheetRoot===void 0&&ye.styleSheetRoot!==void 0&&(this.styles.styleSheetRoot=ye.styleSheetRoot),this.setWindowHeight(),this.showUI(),this.open(),this.eventListeners.show.forEach(function(ot){return ot(new ur(ut))})},wt.prototype.render=function(){return Te(this,void 0,void 0,function(){var ut;return ke(this,function(ot){switch(ot.label){case 0:return this.setCurrentMarker(),(ut=new je).naturalSize=this.renderAtNaturalSize,ut.imageType=this.renderImageType,ut.imageQuality=this.renderImageQuality,ut.markersOnly=this.renderMarkersOnly,ut.width=this.renderWidth,ut.height=this.renderHeight,[4,ut.rasterize(this.target instanceof HTMLImageElement?this.target:null,this.markerImage,this.renderTarget)];case 1:return ot.sent(),[4,ut.rasterize(this.target instanceof HTMLImageElement?this.target:null,this.markerImage,this.renderTarget)];case 2:return[2,ot.sent()]}})})},wt.prototype.close=function(ut){var ot=this;if(ut===void 0&&(ut=!1),this.isOpen){var Pt=!1;ut||this.eventListeners.beforeclose.forEach(function(Ht){var Mt=new ur(ot,!0);Ht(Mt),Mt.defaultPrevented&&(Pt=!0)}),Pt||(this.coverDiv&&this.closeUI(),this.targetObserver&&(this.targetObserver.unobserve(this.target),this.targetObserver.unobserve(this.editorCanvas)),this.settings.displayMode==="popup"&&window.removeEventListener("resize",this.setWindowHeight),this.eventListeners.close.forEach(function(Ht){return Ht(new ur(ot))}),this.detachEvents(),this._isOpen=!1)}},wt.prototype.addMarkersToToolbar=function(){for(var ut,ot=[],Pt=0;Pt<arguments.length;Pt++)ot[Pt]=arguments[Pt];(ut=this._availableMarkerTypes).push.apply(ut,ot)},wt.prototype.addRenderEventListener=function(ut){this.addEventListener("render",function(ot){ut(ot.dataUrl,ot.state)})},wt.prototype.removeRenderEventListener=function(ut){},wt.prototype.addCloseEventListener=function(ut){this.addEventListener("close",function(){ut()})},wt.prototype.removeCloseEventListener=function(ut){},wt.prototype.setupResizeObserver=function(){var ut=this;this.settings.displayMode==="inline"?window.ResizeObserver&&(this.targetObserver=new ResizeObserver(function(){ut.resize(ut.target.clientWidth,ut.target.clientHeight)}),this.targetObserver.observe(this.target)):this.settings.displayMode==="popup"&&(window.ResizeObserver&&(this.targetObserver=new ResizeObserver(function(){return ut.onPopupTargetResize()}),this.targetObserver.observe(this.editorCanvas)),window.addEventListener("resize",this.setWindowHeight))},wt.prototype.onPopupTargetResize=function(){var ut=1*this.target.clientWidth/this.target.clientHeight,ot=this.editorCanvas.clientWidth/ut>this.editorCanvas.clientHeight?this.editorCanvas.clientHeight*ut:this.editorCanvas.clientWidth,Pt=ot<this.editorCanvas.clientWidth?this.editorCanvas.clientHeight:this.editorCanvas.clientWidth/ut;this.resize(ot,Pt)},wt.prototype.setWindowHeight=function(){this.windowHeight=window.innerHeight},wt.prototype.resize=function(ut,ot){this._isResizing=!0;var Pt=ut/this.imageWidth,Ht=ot/this.imageHeight;this.imageWidth=Math.round(ut),this.imageHeight=Math.round(ot),this.target instanceof HTMLImageElement&&this.editingTarget instanceof HTMLImageElement&&(this.editingTarget.src=this.target.src),this.editingTarget.width=this.imageWidth,this.editingTarget.height=this.imageHeight,this.editingTarget.style.width=this.imageWidth+"px",this.editingTarget.style.height=this.imageHeight+"px",this.markerImage.setAttribute("width",this.imageWidth.toString()),this.markerImage.setAttribute("height",this.imageHeight.toString()),this.markerImage.setAttribute("viewBox","0 0 "+this.imageWidth.toString()+" "+this.imageHeight.toString()),this.markerImageHolder.style.width=this.imageWidth+"px",this.markerImageHolder.style.height=this.imageHeight+"px",this.overlayContainer.style.width=this.imageWidth+"px",this.overlayContainer.style.height=this.imageHeight+"px",this.settings.displayMode!=="popup"?this.coverDiv.style.width=this.imageWidth.toString()+"px":(this.setTopLeft(),this.positionMarkerImage()),this.toolbar!==void 0&&this.toolbar.adjustLayout(),this.positionLogo(),this.scaleMarkers(Pt,Ht),this._isResizing=!1},wt.prototype.scaleMarkers=function(ut,ot){var Pt,Ht=this;this._currentMarker&&this._currentMarker instanceof Lt?this._currentMarker.scale(ut,ot):(Pt=this._currentMarker,this.setCurrentMarker()),this.markers.forEach(function(Mt){Mt!==Ht._currentMarker&&Mt.scale(ut,ot)}),Pt!==void 0&&this.setCurrentMarker(Pt)},wt.prototype.setEditingTarget=function(){this.imageWidth=Math.round(this.target.clientWidth),this.imageHeight=Math.round(this.target.clientHeight),this.target instanceof HTMLImageElement&&this.editingTarget instanceof HTMLImageElement&&(this.editingTarget.src=this.target.src),this.editingTarget.width=this.imageWidth,this.editingTarget.height=this.imageHeight,this.editingTarget.style.width=this.imageWidth+"px",this.editingTarget.style.height=this.imageHeight+"px"},wt.prototype.setTopLeft=function(){var ut=this.editingTarget.getBoundingClientRect(),ot=this.editorCanvas.getBoundingClientRect();this.left=ut.left-ot.left,this.top=ut.top-ot.top},wt.prototype.initMarkerCanvas=function(){this.markerImageHolder=document.createElement("div"),this.markerImageHolder.style.setProperty("touch-action","pinch-zoom"),this.markerImage=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.markerImage.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.markerImage.setAttribute("width",this.imageWidth.toString()),this.markerImage.setAttribute("height",this.imageHeight.toString()),this.markerImage.setAttribute("viewBox","0 0 "+this.imageWidth.toString()+" "+this.imageHeight.toString()),this.markerImage.style.pointerEvents="auto",this.markerImageHolder.style.position="absolute",this.markerImageHolder.style.width=this.imageWidth+"px",this.markerImageHolder.style.height=this.imageHeight+"px",this.markerImageHolder.style.transformOrigin="top left",this.positionMarkerImage(),this.markerImageHolder.appendChild(this.markerImage),this.editorCanvas.appendChild(this.markerImageHolder)},wt.prototype.addDefs=function(){for(var ut,ot=[],Pt=0;Pt<arguments.length;Pt++)ot[Pt]=arguments[Pt];this.defs=Ce.createDefs(),this.addDefsToImage(),(ut=this.defs).append.apply(ut,ot)},wt.prototype.addDefsToImage=function(){this.defs&&this.markerImage.insertBefore(this.defs,this.markerImage.firstChild)},wt.prototype.initOverlay=function(){this.overlayContainer=document.createElement("div"),this.overlayContainer.style.position="absolute",this.overlayContainer.style.left="0px",this.overlayContainer.style.top="0px",this.overlayContainer.style.width=this.imageWidth+"px",this.overlayContainer.style.height=this.imageHeight+"px",this.overlayContainer.style.display="flex",this.markerImageHolder.appendChild(this.overlayContainer)},wt.prototype.positionMarkerImage=function(){this.markerImageHolder.style.top=this.top/this.zoomLevel+"px",this.markerImageHolder.style.left=this.left/this.zoomLevel+"px"},wt.prototype.attachEvents=function(){this.markerImage.addEventListener("pointerdown",this.onPointerDown),this.markerImage.addEventListener("dblclick",this.onDblClick),this.attachWindowEvents()},wt.prototype.attachWindowEvents=function(){window.addEventListener("pointermove",this.onPointerMove),window.addEventListener("pointerup",this.onPointerUp),window.addEventListener("pointercancel",this.onPointerOut),window.addEventListener("pointerout",this.onPointerOut),window.addEventListener("pointerleave",this.onPointerUp),window.addEventListener("resize",this.onWindowResize),window.addEventListener("keyup",this.onKeyUp)},wt.prototype.detachEvents=function(){this.markerImage.removeEventListener("pointerdown",this.onPointerDown),this.markerImage.removeEventListener("dblclick",this.onDblClick),this.detachWindowEvents()},wt.prototype.detachWindowEvents=function(){window.removeEventListener("pointermove",this.onPointerMove),window.removeEventListener("pointerup",this.onPointerUp),window.removeEventListener("pointercancel",this.onPointerOut),window.removeEventListener("pointerout",this.onPointerOut),window.removeEventListener("pointerleave",this.onPointerUp),window.removeEventListener("resize",this.onWindowResize),window.removeEventListener("keyup",this.onKeyUp)},wt.prototype.addLogo=function(){this.logoUI=document.createElement("div"),this.logoUI.style.display="inline-block",this.logoUI.style.margin="0px",this.logoUI.style.padding="0px",this.logoUI.style.fill="#333333";var ut=document.createElement("a");ut.href="https://markerjs.com/",ut.target="_blank",ut.innerHTML='<svg viewBox="0 0 112 96" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path fill="#e5f20d" fill-opacity=".647" d="M0 40.386h111.96V95.62H0z"/><path d="M93.61 61.452c0 .987-.328 1.831-.987 2.53-.657.7-1.52 1.048-2.591 1.048-1.481 0-2.222-.74-2.222-2.22 0-16.617-.533-29.347-1.604-38.192-1.068-8.842-2.92-13.265-5.552-13.265-4.443 0-10.94 15.509-19.497 46.52v.124c0 .987-.328 1.831-.987 2.53-.657.7-1.52 1.048-2.592 1.048-1.48 0-2.22-.74-2.22-2.22 0-3.29.165-8.392.493-15.302.33-7.732.494-13.82.494-18.262 0-6.17-.186-10.55-.556-13.142-.37-2.591-1.172-3.887-2.406-3.887-2.796 0-6.333 5.12-10.612 15.363C38.494 34.367 34.01 46.44 29.32 60.34l-1.11 3.209a5.714 5.714 0 01-1.42 2.097c-.617.578-1.295.864-2.036.864-.987 0-1.644-.081-1.974-.247-.328-.162-.533-.656-.617-1.48-.41-4.03-.74-9.418-.987-16.165-.163-1.728-.329-4.566-.494-8.515-.822-13.901-1.562-23.3-2.221-28.196-.657-4.893-.987-7.628-.987-8.205 0-.657.33-1.44.987-2.345.659-.903 1.276-1.357 1.85-1.357 1.319 0 2.387.947 3.21 2.838.411.906.863 4.526 1.357 10.859.493 6.335.905 14.19 1.233 23.568l.617 18.88c4.527-13.983 9.216-26.673 14.068-38.068C45.65 6.686 50.093.988 54.123.988c2.715 0 4.566 1.974 5.553 5.923.987 3.949 1.481 9.667 1.481 17.152 0 3.949-.081 9.625-.247 17.029l-.123 5.676c3.373-11.762 6.725-21.634 10.057-29.615 3.331-7.979 6.685-11.97 10.056-11.97 8.475 0 12.71 18.757 12.71 56.269z" fill-rule="nonzero"/></svg>',ut.title="Powered by marker.js",ut.style.display="grid",ut.style.alignItems="center",ut.style.justifyItems="center",ut.style.padding="3px",ut.style.width="20px",ut.style.height="20px",this.logoUI.appendChild(ut),this.editorCanvas.appendChild(this.logoUI),this.logoUI.style.position="absolute",this.logoUI.style.pointerEvents="all",this.positionLogo()},wt.prototype.positionLogo=function(){this.logoUI&&(this.uiStyleSettings.logoPosition!=="right"?this.logoUI.style.left=this.markerImageHolder.offsetLeft+10+"px":this.logoUI.style.left=this.markerImageHolder.offsetLeft+this.markerImageHolder.offsetWidth-this.logoUI.clientWidth-10+"px",this.logoUI.style.top=this.markerImageHolder.offsetTop+this.markerImageHolder.offsetHeight-this.logoUI.clientHeight-10+"px")},wt.prototype.overrideOverflow=function(){this.scrollXState=window.scrollX,this.scrollYState=window.scrollY,this.bodyOverflowState=document.body.style.overflow,window.scroll({top:0,left:0}),document.body.style.overflow="hidden"},wt.prototype.restoreOverflow=function(){document.body.style.overflow=this.bodyOverflowState,window.scroll({top:this.scrollYState,left:this.scrollXState})},wt.prototype.showUI=function(){switch(this.settings.displayMode==="popup"&&this.overrideOverflow(),this.coverDiv=document.createElement("div"),this.coverDiv.style.visibility=this._silentRenderMode?"hidden":"visible",this.coverDiv.className=this.styles.classNamePrefixBase+" "+this.styles.classNamePrefix,this.coverDiv.style.fontSize="16px",this.coverDiv.style.userSelect="none",this.settings.displayMode){case"inline":this.coverDiv.style.position="absolute";var ut=this.settings.uiOffsetTop!==void 0?this.target.offsetTop+this.settings.uiOffsetTop:this.target.offsetTop>this.styles.settings.toolbarHeight?this.target.offsetTop-this.styles.settings.toolbarHeight:0;this.coverDiv.style.top=ut+"px",this.coverDiv.style.left=this.target.offsetLeft.toString()+"px",this.coverDiv.style.width=this.target.offsetWidth.toString()+"px",this.coverDiv.style.zIndex=this.uiStyleSettings.zIndex!==void 0?this.uiStyleSettings.zIndex:"5";break;case"popup":this.coverDiv.style.position="absolute",this.coverDiv.style.top="0px",this.coverDiv.style.left="0px",this.coverDiv.style.width="100vw",this.coverDiv.style.height=window.innerHeight+"px",this.coverDiv.style.backgroundColor="rgba(0, 0, 0, 0.75)",this.coverDiv.style.zIndex=this.uiStyleSettings.zIndex!==void 0?this.uiStyleSettings.zIndex:"1000",this.coverDiv.style.display="flex"}this.targetRoot.appendChild(this.coverDiv),this.uiDiv=document.createElement("div"),this.uiDiv.style.display="flex",this.uiDiv.style.flexDirection="column",this.uiDiv.style.flexGrow="2",this.uiDiv.style.margin=this.settings.displayMode==="popup"?this.settings.popupMargin+"px":"0px",this.uiDiv.style.border="0px",this.coverDiv.appendChild(this.uiDiv),this.toolbar=new de(this.uiDiv,this.settings.displayMode,this._availableMarkerTypes,this.uiStyleSettings,this.styles),this.toolbar.addButtonClickListener(this.toolbarButtonClicked),this.toolbar.show(this._silentRenderMode||this.uiStyleSettings.hideToolbar?"hidden":"visible"),this.contentDiv=document.createElement("div"),this.contentDiv.style.display="flex",this.contentDiv.style.flexDirection="row",this.contentDiv.style.flexGrow="2",this.contentDiv.style.flexShrink="1",this.settings.displayMode==="popup"&&(this.contentDiv.style.backgroundColor=this.uiStyleSettings.canvasBackgroundColor,this.contentDiv.style.maxHeight=this.windowHeight-2*this.settings.popupMargin-3.5*this.uiStyleSettings.toolbarHeight+"px",this.contentDiv.style.maxWidth="calc(100vw - "+2*this.settings.popupMargin+"px)"),this.contentDiv.style.overflow="auto",this.uiDiv.appendChild(this.contentDiv),this.editorCanvas=document.createElement("div"),this.editorCanvas.style.flexGrow="2",this.editorCanvas.style.flexShrink="1",this.editorCanvas.style.position="relative",this.editorCanvas.style.overflow="hidden",this.editorCanvas.style.display="flex",this.settings.displayMode==="popup"&&(this.editorCanvas.style.alignItems="center",this.editorCanvas.style.justifyContent="center"),this.editorCanvas.style.pointerEvents="none",this.editorCanvas.style.transformOrigin="left top",this.editorCanvas.style.transform="scale("+this.zoomLevel+")",this.contentDiv.appendChild(this.editorCanvas),this.editingTarget=this.target instanceof HTMLImageElement?document.createElement("img"):document.createElement("canvas"),this.settings.uiOffsetTop===void 0&&this.target.offsetTop<this.styles.settings.toolbarHeight&&(this.editingTarget.style.marginTop=this.target.offsetTop-this.styles.settings.toolbarHeight+"px"),this.editorCanvas.appendChild(this.editingTarget),this.toolbox=new ve(this.uiDiv,this.settings.displayMode,this.uiStyleSettings,this.styles),this.toolbox.show(this._silentRenderMode||this.uiStyleSettings.hideToolbox?"hidden":"visible")},wt.prototype.closeUI=function(){this.settings.displayMode==="popup"&&this.restoreOverflow(),this.targetRoot.removeChild(this.coverDiv)},wt.prototype.removeMarker=function(ut){this.markerImage.removeChild(ut.container),this.markers.indexOf(ut)>-1&&this.markers.splice(this.markers.indexOf(ut),1),ut.dispose()},wt.prototype.switchToSelectMode=function(){this.mode="select",this.hideNotesEditor(),this._currentMarker!==void 0&&(this._currentMarker.state!=="new"?this._currentMarker.select():(this.removeMarker(this._currentMarker),this.setCurrentMarker(),this.markerImage.style.cursor="default"),this.addUndoStep())},wt.prototype.toolbarButtonClicked=function(ut,ot){if(ut==="marker"&&ot!==void 0)this.createNewMarker(ot);else if(ut==="action")switch(ot){case"select":this.switchToSelectMode(),this.switchToSelectMode();break;case"delete":this.deleteSelectedMarker();break;case"clear":this.clear();break;case"undo":this.undo();break;case"redo":this.redo();break;case"zoom":this.stepZoom();break;case"zoom-out":this.zoomLevel=1;break;case"notes":this.notesArea===void 0?(this.switchToSelectMode(),this.zoomLevel=1,this.showNotesEditor()):this.switchToSelectMode();break;case"close":this.close();break;case"render":this.switchToSelectMode(),this.startRenderAndClose()}},wt.prototype.deleteSelectedMarker=function(){var ut=this;if(this._currentMarker!==void 0){var ot=!1;if(this.eventListeners.markerbeforedelete.forEach(function(Ht){var Mt=new Nn(ut,ut._currentMarker,!0);Ht(Mt),Mt.defaultPrevented&&(ot=!0)}),!ot){var Pt=this._currentMarker;this._currentMarker.dispose(),this.markerImage.removeChild(this._currentMarker.container),this.markers.splice(this.markers.indexOf(this._currentMarker),1),this.setCurrentMarker(),this.addUndoStep(),this.eventListeners.markerdelete.forEach(function(Ht){return Ht(new Nn(ut,Pt))})}}},wt.prototype.clear=function(){var ut=this,ot=!1;if(this.markers.length>0&&(this.eventListeners.markerbeforedelete.forEach(function(hn){var rr=new Nn(ut,void 0,!0);hn(rr),rr.defaultPrevented&&(ot=!0)}),!ot)){this.setCurrentMarker();for(var Pt=function(hn){var rr=Ht.markers[hn];Ht.setCurrentMarker(Ht.markers[hn]),Ht._currentMarker.dispose(),Ht.markerImage.removeChild(Ht._currentMarker.container),Ht.markers.splice(Ht.markers.indexOf(Ht._currentMarker),1),Ht.eventListeners.markerdelete.forEach(function(Jn){return Jn(new Nn(ut,rr))})},Ht=this,Mt=this.markers.length-1;Mt>=0;Mt--)Pt(Mt);this.addUndoStep()}},Object.defineProperty(wt.prototype,"isNotesAreaOpen",{get:function(){return this.notesArea!==void 0},enumerable:!1,configurable:!0}),wt.prototype.showNotesEditor=function(){var ut;this._currentMarker!==void 0&&(this.overlayContainer.innerHTML="",this.notesArea=document.createElement("textarea"),this.notesArea.className=this.uiStyleSettings.notesAreaStyleClassName,this.notesArea.style.pointerEvents="auto",this.notesArea.style.alignSelf="stretch",this.notesArea.style.width="100%",this.notesArea.style.margin=this.uiStyleSettings.toolbarHeight/4+"px",this.notesArea.value=(ut=this._currentMarker.notes)!==null&&ut!==void 0?ut:"",this.overlayContainer.appendChild(this.notesArea))},wt.prototype.hideNotesEditor=function(){this.isNotesAreaOpen&&(this._currentMarker!==void 0&&(this._currentMarker.notes=this.notesArea.value.trim()!==""?this.notesArea.value:void 0),this.overlayContainer.removeChild(this.notesArea),this.notesArea=void 0)},wt.prototype.selectLastMarker=function(){this.markers.length>0?this.setCurrentMarker(this.markers[this.markers.length-1]):this.setCurrentMarker()},wt.prototype.addUndoStep=function(){var ut=this;if(this._currentMarker===void 0||this._currentMarker.state!=="edit"){var ot=this.getState(),Pt=this.undoRedoManager.getLastUndoStep();if(!Pt||Pt.width===ot.width&&Pt.height===ot.height){var Ht=this.undoRedoManager.undoStepCount;this.undoRedoManager.addUndoStep(ot),Ht<this.undoRedoManager.undoStepCount&&this.eventListeners.statechange.forEach(function(Mt){return Mt(new ur(ut))})}else this.undoRedoManager.replaceLastUndoStep(ot),this.eventListeners.statechange.forEach(function(Mt){return Mt(new ur(ut))})}},wt.prototype.undo=function(){this.switchToSelectMode(),this.addUndoStep(),this.undoStep()},wt.prototype.undoStep=function(){var ut=this,ot=this.undoRedoManager.undo();ot!==void 0&&(this.restoreState(ot),this.addDefsToImage(),this.selectLastMarker(),this.eventListeners.statechange.forEach(function(Pt){return Pt(new ur(ut))}))},wt.prototype.redo=function(){this.switchToSelectMode(),this.redoStep()},wt.prototype.redoStep=function(){var ut=this,ot=this.undoRedoManager.redo();ot!==void 0&&(this.restoreState(ot),this.addDefsToImage(),this.selectLastMarker(),this.eventListeners.statechange.forEach(function(Pt){return Pt(new ur(ut))}))},wt.prototype.stepZoom=function(){var ut=this.zoomSteps.indexOf(this.zoomLevel);this.zoomLevel=ut<this.zoomSteps.length-1?this.zoomSteps[ut+1]:this.zoomSteps[0]},wt.prototype.panTo=function(ut){this.contentDiv.scrollBy({left:this.prevPanPoint.x-ut.x,top:this.prevPanPoint.y-ut.y}),this.prevPanPoint=ut},wt.prototype.startRenderAndClose=function(){return Te(this,void 0,void 0,function(){var ut,ot,Pt=this;return ke(this,function(Ht){switch(Ht.label){case 0:return[4,this.render()];case 1:return ut=Ht.sent(),ot=this.getState(),this.eventListeners.render.forEach(function(Mt){return Mt(new Xn(Pt,ut,ot))}),this.close(!0),[2]}})})},wt.prototype.getState=function(ut){ut===!0&&this.setCurrentMarker();var ot={width:this.imageWidth,height:this.imageHeight,markers:[]};return this.markers.forEach(function(Pt){return ot.markers.push(Pt.getState())}),ot},wt.prototype.restoreState=function(ut){var ot=this;for(this.markers.splice(0);this.markerImage.lastChild;)this.markerImage.removeChild(this.markerImage.lastChild);ut.markers.forEach(function(Pt){var Ht=ot._availableMarkerTypes.find(function(hn){return hn.typeName===Pt.typeName});if(Ht!==void 0){var Mt=ot.addNewMarker(Ht);Mt.restoreState(Pt),ot.markers.push(Mt)}}),ut.width&&ut.height&&(ut.width!==this.imageWidth||ut.height!==this.imageHeight)&&this.scaleMarkers(this.imageWidth/ut.width,this.imageHeight/ut.height),this.eventListeners.restorestate.forEach(function(Pt){return Pt(new ur(ot))})},wt.prototype.addNewMarker=function(ut){var ot=Ce.createGroup();return this.markerImage.appendChild(ot),new ut(ot,this.overlayContainer,this.settings)},wt.prototype.createNewMarker=function(ut){var ot,Pt=this;(ot=typeof ut=="string"?this._availableMarkerTypes.find(function(Ht){return Ht.typeName===ut}):ut)&&(this.setCurrentMarker(),this.addUndoStep(),this._currentMarker=this.addNewMarker(ot),this._currentMarker.onMarkerCreated=this.markerCreated,this._currentMarker.onColorChanged=this.colorChanged,this._currentMarker.onFillColorChanged=this.fillColorChanged,this._currentMarker.onStateChanged=this.markerStateChanged,this.markerImage.style.cursor="crosshair",this.toolbar.setActiveMarkerButton(ot.typeName),this.toolbox.setPanelButtons(this._currentMarker.toolboxPanels),this.eventListeners.markercreating.forEach(function(Ht){return Ht(new Nn(Pt,Pt._currentMarker))}))},wt.prototype.markerCreated=function(ut){var ot=this;this.mode="select",this.markerImage.style.cursor="default",this.markers.push(ut),this.setCurrentMarker(ut),ut instanceof St&&this.settings.newFreehandMarkerOnPointerUp?this.createNewMarker(St):this.toolbar.setSelectMode(),this.addUndoStep(),this.eventListeners.markercreate.forEach(function(Pt){return Pt(new Nn(ot,ot._currentMarker))})},wt.prototype.colorChanged=function(ut){this.settings.defaultColorsFollowCurrentColors&&(this.settings.defaultColor=ut,this.settings.defaultStrokeColor=ut)},wt.prototype.fillColorChanged=function(ut){this.settings.defaultColorsFollowCurrentColors&&(this.settings.defaultFillColor=ut)},wt.prototype.markerStateChanged=function(ut){var ot=this;this.eventListeners.markerchange.forEach(function(Pt){return Pt(new Nn(ot,ut))})},wt.prototype.setCurrentMarker=function(ut){var ot=this;this._currentMarker!==ut&&this._currentMarker!==void 0&&(this._currentMarker.deselect(),this.toolbar.setCurrentMarker(),this.toolbox.setPanelButtons([]),this._isResizing||this.eventListeners.markerdeselect.forEach(function(Pt){return Pt(new Nn(ot,ot._currentMarker))})),this._currentMarker=ut,this._currentMarker===void 0||this._currentMarker.isSelected||(this._currentMarker.state!=="new"&&this._currentMarker.select(),this.toolbar.setCurrentMarker(this._currentMarker),this.toolbox.setPanelButtons(this._currentMarker.toolboxPanels),this._isResizing||this.eventListeners.markerselect.forEach(function(Pt){return Pt(new Nn(ot,ot._currentMarker))}))},wt.prototype.onPointerDown=function(ut){if(this._isFocused||this.focus(),this.touchPoints++,this.touchPoints===1||ut.pointerType!=="touch")if(this._currentMarker===void 0||this._currentMarker.state!=="new"&&this._currentMarker.state!=="creating"){if(this.mode==="select"){var ot=this.markers.find(function(Pt){return Pt.ownsTarget(ut.target)});ot!==void 0?(this.setCurrentMarker(ot),this.isDragging=!0,this._currentMarker.pointerDown(this.clientToLocalCoordinates(ut.clientX,ut.clientY),ut.target)):(this.setCurrentMarker(),this.isDragging=!0,this.prevPanPoint={x:ut.clientX,y:ut.clientY})}}else this.isDragging=!0,this._currentMarker.pointerDown(this.clientToLocalCoordinates(ut.clientX,ut.clientY))},wt.prototype.onDblClick=function(ut){if(this._isFocused||this.focus(),this.mode==="select"){var ot=this.markers.find(function(Pt){return Pt.ownsTarget(ut.target)});ot!==void 0&&ot!==this._currentMarker&&this.setCurrentMarker(ot),this._currentMarker!==void 0?this._currentMarker.dblClick(this.clientToLocalCoordinates(ut.clientX,ut.clientY),ut.target):this.setCurrentMarker()}},wt.prototype.onPointerMove=function(ut){this.touchPoints!==1&&ut.pointerType==="touch"||(this._currentMarker!==void 0||this.isDragging)&&(this._currentMarker!==void 0&&this._currentMarker.state==="edit"||ut.preventDefault(),this._currentMarker!==void 0?this._currentMarker.manipulate(this.clientToLocalCoordinates(ut.clientX,ut.clientY)):this.zoomLevel>1&&this.panTo({x:ut.clientX,y:ut.clientY}))},wt.prototype.onPointerUp=function(ut){this.touchPoints>0&&this.touchPoints--,this.touchPoints===0&&this.isDragging&&this._currentMarker!==void 0&&this._currentMarker.pointerUp(this.clientToLocalCoordinates(ut.clientX,ut.clientY)),this.isDragging=!1,this.addUndoStep()},wt.prototype.onPointerOut=function(){this.touchPoints>0&&this.touchPoints--},wt.prototype.onKeyUp=function(ut){this._currentMarker===void 0||this.notesArea!==void 0||ut.key!=="Delete"&&ut.key!=="Backspace"||this.deleteSelectedMarker()},wt.prototype.clientToLocalCoordinates=function(ut,ot){var Pt=this.markerImage.getBoundingClientRect();return{x:(ut-Pt.left)/this.zoomLevel,y:(ot-Pt.top)/this.zoomLevel}},wt.prototype.onWindowResize=function(){this.positionUI()},wt.prototype.positionUI=function(){switch(this.setTopLeft(),this.settings.displayMode){case"inline":var ut=this.target.getClientRects().item(0).y>this.styles.settings.toolbarHeight?this.target.offsetTop-this.styles.settings.toolbarHeight:0;this.coverDiv.style.top=ut+"px",this.coverDiv.style.left=this.target.offsetLeft.toString()+"px";break;case"popup":this.coverDiv.style.top="0px",this.coverDiv.style.left="0px",this.coverDiv.style.width="100vw",this.coverDiv.style.height=this.windowHeight+"px",this.contentDiv.style.maxHeight=this.windowHeight-2*this.settings.popupMargin-3.5*this.styles.settings.toolbarHeight+"px"}this.positionMarkerImage(),this.positionLogo()},wt.prototype.addLicenseKey=function(ut){Me.addKey(ut)},wt.prototype.addEventListener=function(ut,ot){this.eventListeners.addEventListener(ut,ot)},wt.prototype.removeEventListener=function(ut,ot){this.eventListeners.removeEventListener(ut,ot)},wt.prototype.renderState=function(ut){this._silentRenderMode=!0,this.settings.displayMode="inline",this.isOpen||this.show(),this.restoreState(ut),this.startRenderAndClose(),this._silentRenderMode=!1},Object.defineProperty(wt.prototype,"isFocused",{get:function(){return this._isFocused},enumerable:!1,configurable:!0}),wt.prototype.focus=function(){var ut=this;this._isFocused||(this.attachWindowEvents(),this._isFocused=!0,this._previousCurrentMarker!==void 0&&this.setCurrentMarker(this._previousCurrentMarker),this.eventListeners.focus.forEach(function(ot){return ot(new ur(ut))}))},wt.prototype.blur=function(){var ut=this;this._isFocused&&(this.detachWindowEvents(),this._isFocused=!1,this._previousCurrentMarker=this._currentMarker,this.setCurrentMarker(),this.eventListeners.blur.forEach(function(ot){return ot(new ur(ut))}))},wt.instanceCounter=0,wt}(),qt=Oe(70635),Yt=Oe(58130),gn=(wt,ut,ot)=>new Promise((Pt,Ht)=>{var Mt=Jn=>{try{rr(ot.next(Jn))}catch(An){Ht(An)}},hn=Jn=>{try{rr(ot.throw(Jn))}catch(An){Ht(An)}},rr=Jn=>Jn.done?Pt(Jn.value):Promise.resolve(Jn.value).then(Mt,hn);rr((ot=ot.apply(wt,ut)).next())}),Jt=({data:wt,className:ut,fullWidth:ot,style:Pt={},onClose:Ht,onOk:Mt,showFullTools:hn,noAssociationId:rr})=>{const Jn=(0,Ge.useRef)(null),An=(0,Ge.useRef)(null),$n=(0,Ge.useRef)(null),xr=(0,Ge.useRef)(null),[mr,Qr]=(0,Ge.useState)(!1),[di,li]=(0,Ge.useState)("\u6B63\u5728\u52A0\u8F7D\u4E2D");(0,Ge.useEffect)(()=>{$n.current||($n.current=document.createElement("style"),document.head.appendChild($n.current)),wt!=null&&wt.visible?(document.body.setAttribute("data-custom","y-hidden"),$n.current.innerHTML=" html { overflow-y: hidden; }",wt!=null&&wt.src&&Ai()):(document.body.removeAttribute("data-custom"),$n.current&&(document.head.removeChild($n.current),$n.current=null))},[wt==null?void 0:wt.visible]);const Ai=()=>gn(void 0,null,function*(){Qr(!0),li("\u6B63\u5728\u52A0\u8F7D\u4E2D");const ai=yield(0,Yt.ZJ)(wt==null?void 0:wt.src);Jn.current.src="",Jn.current.src=ai,Jn.current.onload=function(){bo()},Qr(!1),li("")}),fo=ai=>gn(void 0,null,function*(){Qr(!0),li("\u6B63\u5728\u4FDD\u5B58\u4E2D");const Pi=yield(0,qt.ZP)("/api/attachments.json",{method:"post",body:{file_type:"base64",original_filename:wt.title,file:ai.dataUrl}});Pi!=null&&Pi.id&&!rr?(yield(0,qt.ZP)(`/api/attachments/${wt.id}/add_subitem.json`,{method:"post",body:{subitem_id:Pi==null?void 0:Pi.id,settings:JSON.stringify(ai.state)}})).status===0&&Mt():Pi!=null&&Pi.id&&Mt(Pi),Qr(!1),li("")}),Io=()=>{const ai=document.querySelector('a[href="https://markerjs.com/"]');ai&&ai.parentNode&&(ai.parentNode.style.display="none"),[{name:'[data-action="select"]',title:"\u9009\u62E9"},{name:'[data-action="delete"]',title:"\u5220\u9664\u5143\u7D20"},{name:'[data-action="undo"]',title:"\u64A4\u9500"},{name:'[data-type-name="FrameMarker"]',title:"\u77E9\u5F62"},{name:'[data-type-name="FreehandMarker"]',title:"\u753B\u7EBF"},{name:'[data-type-name="ArrowMarker"]',title:"\u7BAD\u5934"},{name:'[data-type-name="TextMarker"]',title:"\u6587\u672C"},{name:'[data-type-name="EllipseMarker"]',title:"\u692D\u5706"},{name:'[data-type-name="HighlightMarker"]',title:"\u65B9\u5757"},{name:'[data-type-name="CalloutMarker"]',title:"\u6CE8\u91CA"},{name:'[data-action="render"]',title:"\u4FDD\u5B58"},{name:'[data-action="close"]',title:"\u9000\u51FA"}].forEach(ao=>{const Jr=document.querySelector(ao.name);Jr&&Jr.setAttribute("title",ao.title)})},bo=()=>{An.current=new un(Jn.current),An.current.targetRoot=xr.current,An.current.addEventListener("render",fo),An.current.addEventListener("beforeclose",Ht),hn&&(An.current.availableMarkerTypes=An.current.ALL_MARKER_TYPES,An.current.uiStyleSettings.redoButtonVisible=!0,An.current.uiStyleSettings.notesButtonVisible=!0,An.current.uiStyleSettings.zoomButtonVisible=!0,An.current.uiStyleSettings.zoomOutButtonVisible=!0,An.current.uiStyleSettings.clearButtonVisible=!0),window.markerArea=An.current.uiStyleSettings,An.current.show(),wt!=null&&wt.snapshotData&&An.current.restoreState(wt.snapshotData),setTimeout(()=>{window.scrollTo(0,0),Io()},300)};return Ge.createElement(Ge.Fragment,null,(wt==null?void 0:wt.visible)&&Ge.createElement(Ke.Z,{spinning:mr,tip:di,style:{position:"absolute"}},Ge.createElement("div",{ref:xr,className:Ne()(tt.imageDimensions,ut,ot?tt.fullWidth:""),style:Pt},Ge.createElement("img",{className:tt.img,ref:Jn}))))}},75890:function(en,tn,Oe){"use strict";var Ge=Oe(59301),tt=Oe(95237),Ue=Oe(43604),Ne=Oe(99313),Ke=Oe(3113),Be=Oe(25711),we=Oe(93938),Te=Oe(48136),ke=Oe(59301);const Ie=(0,Ge.forwardRef)(({callback:Ce,showSaveButton:Me,value:je=""},ye)=>{const ie=(0,Ge.useRef)(),ae=[{name:"\u5206\u6570\u5F97\u5206",value:"\\frac{x}{y}",children:[{name:"\u5206\u6570 Fractions",data:[{value:"\\frac{a}{b}"},{value:"x\\tfrac{x}{a} "},{value:"\\mathrm{d}t"},{value:"\\partial t"},{value:"\\frac{\\partial y}{\\partial x}"},{value:"\\nabla\\psi"},{value:"\\frac{\\partial^2}{\\partial x_1\\partial x_2}y"},{value:"\\cfrac{1}{a + \\cfrac{7}{b + \\cfrac{2}{9}}} = c"}]},{name:"\u5BFC\u6570 Derivative",data:[{value:"\\dot{a} "},{value:"\\ddot{a}"},{value:"{f}^{\\prime}"},{value:"{f}^{\\prime\\prime}"},{value:"{f}^{(n)}"}]},{name:"\u6A21\u7B97\u672F Modular arithmetic",data:[{value:"a \\bmod b"},{value:"a \\equiv b \\pmod{m} "},{value:"\\gcd(m, n) "},{value:"\\operatorname{lcm}(m, n) "}]}]},{name:"\u6839\u5F0F\u89D2\u6807",value:"\\sqrt{x}",children:[{name:"\u6839\u5F0F Radicals",data:[{value:"\\sqrt{x}"},{value:"\\sqrt[y]{x}"}]},{name:"\u4E0A\u4E0B\u6807 Sub&Super",data:[{value:"x^{a}"},{value:"x_{a}"},{value:"x_{a}^{b} "},{value:"_{a}^{b} x"},{value:"x_{a}^{b} "}]},{name:"\u91CD\u97F3\u7B26\u53CA\u5176\u4ED6 Accents and Others",data:[{value:"\\hat{a} "},{value:"\\sqrt[y]{x}"},{value:"\\check{} "},{value:"\\grave{a} "},{value:"\\acute{a}"},{value:"\\tilde{a}"},{value:"\\breve{a}"},{value:"\\bar{a}"},{value:"\\vec{a}"},{value:"\\not{a}"},{value:"\\widetilde{abc}"},{value:"\\widehat{abc}"},{value:"\\overleftarrow{abc} "},{value:"\\overrightarrow{abc}"},{value:"\\overline{abc}"},{value:"\\underline{abc}"},{value:"\\overbrace{abc}"},{value:"\\underbrace{abc}"},{value:"\\overset{a}{abc}"},{value:"\\underset{a}{abc} \\stackrel\\frown{ab}"},{value:"\\overline{ab} "},{value:"\\overleftrightarrow{ab}"},{value:"\\overset{a}{\\leftarrow}"},{value:"\\overset{a}{\\rightarrow}"},{value:"\\xleftarrow[abc]{a}"},{value:"\\xrightarrow[abc]{a} "}]}]},{name:"\u6781\u9650\u5BF9\u6570",value:"\\lim_{x \\to 0}",children:[{name:"\u6781\u9650 Limits",data:[{value:"\\lim a"},{value:"\\lim_{x \\to 0}"},{value:"\\lim_{x \\to \\infty}"},{value:"\\max_b{a}"},{value:"\\min_a{b}"}]},{name:"\u5BF9\u6570\u6307\u6570 Logarithms and exponentials",data:[{value:"\\log_{a}{b}"},{value:"\\lg_{a}{b}"},{value:"\\ln_{a}{b}"},{value:"\\exp a"}]},{name:"\u754C\u9650 Bounds",data:[{value:"\\min x"},{value:"\\sup t"},{value:"\\inf s"},{value:"\\lim u"},{value:"\\limsup w"},{value:"\\dim p"},{value:"\\ker\\phi "}]}]},{name:"\u4E09\u89D2\u51FD\u6570",value:"\\sin a",children:[{name:"\u4E09\u89D2\u51FD\u6570 Trigonometric functions",data:[{value:"\\sin a"},{value:"\\cos a"},{value:"\\tan a"},{value:"\\cot a "},{value:"\\sec a "},{value:"\\csc a "}]},{name:"\u53CD\u4E09\u89D2\u51FD\u6570 Inverse trigonometric functions",data:[{value:"\\sin^{-1}"},{value:"\\cos^{-1}"},{value:"\\tan^{-1}"},{value:"\\cot^{-1}"},{value:"\\sec^{-1}"},{value:"\\csc^{-1}"},{value:"\\arcsin a"},{value:"\\arccos a"},{value:"\\arctan a"},{value:"\\operatorname{arccot} a"},{value:"\\operatorname{arcsec} a"},{value:"\\operatorname{arccsc} a"}]},{name:"\u53CC\u66F2\u51FD\u6570 Hyperblic functions",data:[{value:"\\sinh a"},{value:"\\cosh a"},{value:"\\tanh a"},{value:"\\coth a"},{value:"\\operatorname{sech} a"},{value:"\\operatorname{csch} a"}]},{name:"\u53CD\u53CC\u66F2\u51FD\u6570 Inverse hyperbolic functions",data:[{value:"\\sinh^{-1}"},{value:"a\\cosh^{-1} a"},{value:"\\tanh^{-1} a"},{value:"\\coth^{-1} a"},{value:"\\operatorname{sech}^{-1} a"},{value:"\\operatorname{csch}^{-1} a"}]}]},{name:"\u79EF\u5206\u8FD0\u7B97",value:"\\int_{a}^{b}",children:[{name:"\u79EF\u5206 Integral",data:[{value:"\\int"},{value:"\\int_{a}^{b}"},{value:"\\int\\limits_{a}^{b}"}]},{name:"\u53CC\u91CD\u79EF\u5206 Double integral",data:[{value:"\\iint"},{value:"\\iint_{a}^{b} "},{value:"\\iint\\limits_{a}^{b} "}]},{name:"\u4E09\u91CD\u79EF\u5206 Triple integral",data:[{value:"\\iiint"},{value:"\\iiint_{a}^{b}"},{value:"\\iiint\\limits_{a}^{b} "}]},{name:"\u66F2\u7EBF\u79EF\u5206 Closed line or path integral",data:[{value:"\\oint"},{value:"\\oint_{a}^{b} "}]}]},{name:"\u5927\u578B\u8FD0\u7B97",value:"\\sum_{a}^{b}",children:[{name:"\u6C42\u548C Summation",data:[{value:"\\sum"},{value:"\\sum_{a}^{b}"},{value:"{\\textstyle \\sum_{a}^{b}} "}]},{name:"\u4E58\u79EF\u4F59\u79EF Product and coproduct",data:[{value:"\\prod"},{value:"\\prod_{a}^{b}"},{value:"{\\textstyle \\prod_{a}^{b}}"},{value:"\\coprod"},{value:"\\coprod_{a}^{b}"},{value:"{\\textstyle \\coprod_{a}^{b}} "}]},{name:"\u5E76\u96C6\u4EA4\u96C6 Union and intersection",data:[{value:"\\bigcup"},{value:"\\bigcup_{a}^{b}"},{value:"{\\textstyle \\bigcup_{a}^{b}}"},{value:"\\bigcap"},{value:"\\bigcap_{a}^{b}"}]},{name:"\u6790\u53D6\u5408\u53D6 Disjunction and conjunction",data:[{value:"\\bigvee"},{value:"\\bigvee_{a}^{b}"},{value:"\\bigwedge"},{value:"\\bigwedge_{a}^{b}"}]}]},{name:"\u62EC\u53F7\u53D6\u6574",value:"\\left [ \\left ( \\right ) \\right ] ",children:[{name:"\u62EC\u53F7 Brackets",data:[{value:"\\left ( \\right )"},{value:"\\left [ \\right ]"},{value:"\\left \\langle \\right \\rangle "},{value:"\\left | \\right | "},{value:"\\left \\lfloor \\right \\rfloor "},{value:"\\left \\lceil \\right \\rceil "}]}]}],fe=[{name:"\u4EE3\u6570",value:"\\sqrt{a^2+b^2}",children:[{data:[{value:"\\left(x-1\\right)\\left(x+3\\right) "},{value:"\\sqrt{a^2+b^2}"},{value:"\\left ( \\frac{a}{b}\\right )^{n}= \\frac{a^{n}}{b^{n}}"},{value:"\\frac{a}{b}\\pm \\frac{c}{d}= \\frac{ad \\pm bc}{bd} "},{value:"\\frac{x^{2}}{a^{2}}-\\frac{y^{2}}{b^{2}}=1 "},{value:"\\frac{1}{\\sqrt{a}}=\\frac{\\sqrt{a}}{a},a\\ge 0\\frac{1}{\\sqrt{a}}=\\frac{\\sqrt{a}}{a},a\\ge 0 "},{value:"\\sqrt[n]{a^{n}}=\\left ( \\sqrt[n]{a}\\right )^{n} "},{value:"x ={-b \\pm \\sqrt{b^2-4ac}\\over 2a} "},{value:"y-y_{1}=k \\left( x-x_{1}\\right) "},{value:`\\left\\{\\begin{matrix} \r
x=a + r\\text{cos}\\theta \\ \r
y=b + r\\text{sin}\\theta \r
\\end{matrix}\\right. `},{value:`\\begin{array}{l} \r
\\text{\u5BF9\u4E8E\u65B9\u7A0B\u5F62\u5982\uFF1A}x^{3}-1=0 \\ \r
\\text{\u8BBE}\\text{:}\\omega =\\frac{-1+\\sqrt{3}i}{2} \\ \r
x_{1}=1,x_{2}= \\omega =\\frac{-1+\\sqrt{3}i}{2} \\ \r
x_{3}= \\omega ^{2}=\\frac{-1-\\sqrt{3}i}{2} \r
\\end{array} `},{value:`\\begin{array}{l} \r
a\\mathop{{x}}\\nolimits^{{2}}+bx+c=0 \\ \r
\\Delta =\\mathop{{b}}\\nolimits^{{2}}-4ac \\ \r
\\left\\{\\begin{matrix} \r
\\Delta \\gt 0\\text{\u65B9\u7A0B\u6709\u4E24\u4E2A\u4E0D\u76F8\u7B49\u7684\u5B9E\u6839} \\ \r
\\Delta = 0\\text{\u65B9\u7A0B\u6709\u4E24\u4E2A\u76F8\u7B49\u7684\u5B9E\u6839} \\ \r
\\Delta \\lt 0\\text{\u65B9\u7A0B\u65E0\u5B9E\u6839} \r
\\end{matrix}\\right. \r
\\end{array} `},{value:`\\begin{array}{l} \r
a\\mathop{{x}}\\nolimits^{{2}}+bx+c=0 \\ \r
\\Delta =\\mathop{{b}}\\nolimits^{{2}}-4ac \\ \r
\\mathop{{x}}\\nolimits_{{1,2}}=\\frac{{-b \\pm \r
\\sqrt{{\\mathop{{b}}\\nolimits^{{2}}-4ac}}}}{{2a}} \\ \r
\\mathop{{x}}\\nolimits_{{1}}+\\mathop{{x}}\\nolimits_{{2}}=-\\frac{{b}}{{a}} \\ \r
\\mathop{{x}}\\nolimits_{{1}}\\mathop{{x}}\\nolimits_{{2}}=\\frac{{c}}{{a}} \r
\\end{array} `}]}]},{name:"\u51E0\u4F55",value:"\\Delta A B C ",children:[{data:[{value:"\\Delta A B C "},{value:"a \\parallel c,b \\parallel c \\Rightarrow a \\parallel b "},{value:"l \\perp \\beta ,l \\subset \\alpha \\Rightarrow \\alpha \\perp \\beta"},{value:`\\left.\\begin{matrix} \r
a \\perp \\alpha \\ \r
b \\perp \\alpha \r
\\end{matrix}\\right\\}\\Rightarrow a \\parallel b`},{value:"P \\in \\alpha ,P \\in \\beta , \\alpha \\cap \\beta =l \\Rightarrow P \\in l "},{value:`\\alpha \\perp \\beta , \\alpha \\cap \\beta =l,a \\subset \\alpha ,a \\perp l \r
\\Rightarrow a \\perp \\beta `},{value:`\\left.\\begin{matrix} \r
a \\subset \\beta ,b \\subset \\beta ,a \\cap b=P \\ \r
a \\parallel \\partial ,b \\parallel \\partial \r
\\end{matrix}\\right\\}\\Rightarrow \\beta \\parallel \\alpha `},{value:"\\alpha \\parallel \\beta , \\gamma \\cap \\alpha =a, \\gamma \\cap \\beta =b \\Rightarrow a \\parallel b "},{value:"A \\in l,B \\in l,A \\in \\alpha ,B \\in \\alpha \\Rightarrow l \\subset \\alpha "},{value:`\\left.\\begin{matrix} \r
m \\subset \\alpha ,n \\subset \\alpha ,m \\cap n=P \\ \r
a \\perp m,a \\perp n \r
\\end{matrix}\\right\\}\\Rightarrow a \\perp \\alpha `},{value:`\\begin{array}{c} \r
\\text{\u76F4\u89D2\u4E09\u89D2\u5F62\u4E2D,\u76F4\u89D2\u8FB9\u957Fa,b,\u659C\u8FB9\u8FB9\u957Fc} \\ \r
a^{2}+b^{2}=c^{2} \r
\\end{array}`}]}]},{name:"\u4E0D\u7B49\u5F0F",value:"a > b",children:[{data:[{value:"a > b,b > c \\Rightarrow a > c "},{value:"a > b,c > d \\Rightarrow a+c > b+d "},{value:"a > b > 0,c > d > 0 \\Rightarrow ac bd "},{value:`\\begin{array}{c} \r
a \\gt b,c \\gt 0 \\Rightarrow ac \\gt bc \\ \r
a \\gt b,c \\lt 0 \\Rightarrow ac \\lt bc \r
\\end{array}`},{value:"\\left | a-b \\right | \\geqslant \\left | a \\right | -\\left | b \\right | "},{value:"-\\left | a \\right |\\leq a\\leqslant \\left | a \\right | "},{value:"\\left | a \\right |\\leqslant b \\Rightarrow -b \\leqslant a \\leqslant \\left | b \\right | "},{value:"\\left | a+b \\right | \\leqslant \\left | a \\right | + \\left | b \\right | "},{value:`\\begin{array}{c} \r
a \\gt b \\gt 0,n \\in N^{\\ast},n \\gt 1 \\ \r
\\Rightarrow a^{n}\\gt b^{n}, \\sqrt[n]{a}\\gt \\sqrt[n]{b} \r
\\end{array}`},{value:`\\left( \\sum_{k=1}^n a_k b_k \\right)^{\\!\\!2}\\leq \r
\\left( \\sum_{k=1}^n a_k^2 \\right) \\left( \\sum_{k=1}^n b_k^2 \\right) `},{value:`\\begin{array}{c} \r
a,b \\in R^{+} \\ \r
\\Rightarrow \\frac{a+b}{{2}}\\ge \\sqrt{ab} \\ \r
\\left( \\text{\u5F53\u4E14\u4EC5\u5F53}a=b\\text{\u65F6\u53D6\u201C}=\\text{\u201D\u53F7}\\right) \r
\\end{array}`},{value:`\\begin{array}{c} \r
a,b \\in R \\ \r
\\Rightarrow a^{2}+b^{2}\\gt 2ab \\ \r
\\left( \\text{\u5F53\u4E14\u4EC5\u5F53}a=b\\text{\u65F6\u53D6\u201C}=\\text{\u201D\u53F7}\\right) \r
\\end{array}`},{value:`\\begin{array}{c} \r
H_{n}=\\frac{n}{\\sum \\limits_{i=1}^{n}\\frac{1}{x_{i}}}= \\frac{n}{\\frac{1}{x_{1}}+ \\frac{1}{x_{2}}+ \\cdots + \\frac{1}{x_{n}}} \\ G_{n}=\\sqrt[n]{\\prod \\limits_{i=1}^{n}x_{i}}= \\sqrt[n]{x_{1}x_{2}\\cdots x_{n}} \\ A_{n}=\\frac{1}{n}\\sum \\limits_{i=1}^{n}x_{i}=\\frac{x_{1}+ x_{2}+ \\cdots + x_{n}}{n} \\ Q_{n}=\\sqrt{\\sum \\limits_{i=1}^{n}x_{i}^{2}}= \\sqrt{\\frac{x_{1}^{2}+ x_{2}^{2}+ \\cdots + x_{n}^{2}}{n}} \\ H_{n}\\leq G_{n}\\leq A_{n}\\leq Q_{n} \r
\\end{array}`}]}]},{name:"\u79EF\u5206",value:"\\frac{\\mathrm{d}\\partial}{\\partial x}",children:[{data:[{value:"\\frac{\\mathrm{d}}{\\mathrm{d}x}x^n=nx^{n-1} "},{value:"\\frac{\\mathrm{d}}{\\mathrm{d}x}e^{ax}=a\\,e^{ax} "},{value:"\\frac{\\mathrm{d}}{\\mathrm{d}x}\\ln(x)=\\frac{1}{x} "},{value:"\\frac{\\mathrm{d}}{\\mathrm{d}x}\\sin x=\\cos x "},{value:"\\frac{\\mathrm{d}}{\\mathrm{d}x}\\cos x=-\\sin x "},{value:"\\int k\\mathrm{d}x = kx+C "},{value:"\\frac{\\mathrm{d}}{\\mathrm{d}x}\\tan x=\\sec^2 x "},{value:"\\frac{\\mathrm{d}}{\\mathrm{d}x}\\cot x=-\\csc^2 x "},{value:"\\int \\frac{1}{x}\\mathrm{d}x= \\ln \\left| x \\right| +C "},{value:"\\int \\frac{1}{\\sqrt{1-x^{2}}}\\mathrm{d}x= \\arcsin x +C "},{value:"\\int \\frac{1}{1+x^{2}}\\mathrm{d}x= \\arctan x +C "},{value:"\\int u \\frac{\\mathrm{d}v}{\\mathrm{d}x}\\,\\mathrm{d}x=uv-\\int \\frac{\\mathrm{d}u}{\\mathrm{d}x}v\\,\\mathrm{d}x "},{value:"f(x) = \\int_{-\\infty}^\\infty \\hat f(x)\\xi\\,e^{2 \\pi i \\xi x} \\,\\mathrm{d}\\xi "},{value:"\\int x^{\\mu}\\mathrm{d}x=\\frac{x^{\\mu +1}}{\\mu +1}+C, \\left({\\mu \\neq -1}\\right) "}]}]},{name:"\u4E09\u89D2",value:"e^{i \\theta}",children:[{name:"\u6C42\u548C Summation",data:[{value:"e^{i \\theta} "},{value:"\\left(\\frac{\\pi}{2}-\\theta \\right ) "},{value:"\\text{sin}^{2}\\frac{\\alpha}{2}=\\frac{1- \\text{cos}\\alpha}{2} "},{value:"\\text{cos}^{2}\\frac{\\alpha}{2}=\\frac{1+ \\text{cos}\\alpha}{2} "},{value:"\\text{tan}\\frac{\\alpha}{2}=\\frac{\\text{sin}\\alpha}{1+ \\text{cos}\\alpha} "},{value:"\\sin \\alpha + \\sin \\beta =2 \\sin \\frac{\\alpha + \\beta}{2}\\cos \\frac{\\alpha - \\beta}{2} "},{value:"\\sin \\alpha - \\sin \\beta =2 \\cos \\frac{\\alpha + \\beta}{2}\\sin \\frac{\\alpha - \\beta}{2} "},{value:"\\cos \\alpha + \\cos \\beta =2 \\cos \\frac{\\alpha + \\beta}{2}\\cos \\frac{\\alpha - \\beta}{2} "},{value:"\\cos \\alpha - \\cos \\beta =-2\\sin \\frac{\\alpha + \\beta}{2}\\sin \\frac{\\alpha - \\beta}{2} "},{value:"a^{2}=b^{2}+c^{2}-2bc\\cos A "},{value:"\\frac{\\sin A}{a}=\\frac{\\sin B}{b}=\\frac{\\sin C}{c}=\\frac{1}{2R} "},{value:"\\sin \\left ( \\frac{\\pi}{2}-\\alpha \\right ) = \\cos \\alpha "},{value:"\\sin \\left ( \\frac{\\pi}{2}+\\alpha \\right ) = \\cos \\alpha "}]}]},{name:"\u7EDF\u8BA1",value:"C_{r}^{n}",children:[{data:[{value:"C_{r}^{n} "},{value:"\\frac{n!}{r!(n-r)!} "},{value:"\\sum_{i=1}^{n}{X_i} "},{value:"\\sum_{i=1}^{n}{X_i^2} "},{value:"X_1, \\cdots,X_n "},{value:"\\frac{x-\\mu}{\\sigma} "},{value:"\\sum_{i=1}^{n}{(X_i - \\overline{X})^2} "},{value:`\\begin{array}{c} \r
\\text{\u82E5}P \\left( AB \\right) =P \\left( A \\right) P \\left( B \\right) \\\\ \r
\\text{\u5219}P \\left( A \\left| B\\right. \\right) =P \\left({B}\\right) \r
\\end{array}`},{value:"P(E) ={n \\choose k}p^k (1-p)^{n-k} "},{value:"P \\left( A \\right) = \\lim \\limits_{n \\to \\infty}f_{n}\\left ( A \\right ) "},{value:"P \\left( \\bigcup \\limits_{i=1}^{+ \\infty}A_{i}\\right) = \\prod \\limits_{i=1}^{+ \\infty}P{\\left( A_{i}\\right)} "},{value:`\\begin{array}{c} \r
P \\left( \\emptyset \\right) =0 \\\\ \r
P \\left( S \\right) =1 \r
\\end{array}`},{value:`\\begin{array}{c} \r
\\forall A \\in S \\\\ \r
P \\left( A \\right) \\ge 0 \r
\\end{array}`},{value:"P \\left( \\bigcup \\limits_{i=1}^{n}A_{i}\\right) = \\prod \\limits_{i=1}^{n}P \\left( A_{i}\\right) "},{value:`\\begin{array}{c} \r
S= \\binom{N}{n},A_{k}=\\binom{M}{k}\\cdot \\binom{N-M}{n-k} \\\\ \r
P\\left ( A_{k}\\right ) = \\frac{\\binom{M}{k}\\cdot \\binom{N-M}{n-k}}{\\binom{N}{n}} \r
\\end{array}`},{value:`\\begin{array}{c} \r
P_{n}=n! \\\\ \r
A_{n}^{k}=\\frac{n!}{\\left( n-k \\left) !\\right. \\right.} \r
\\end{array}`}]}]}],de=ce=>{ie.current.setValue(ie.current.getValue()+" "+ce.value+" ")},ve=[{key:"1",label:"\u5FEB\u6377\u6A21\u677F",children:ke.createElement(tt.Z,{className:we.Z.lists,gutter:[10,10]},ae.map((ce,pe)=>ke.createElement(Ue.Z,{flex:"110px",className:we.Z.item},ke.createElement("div",null,ke.createElement(Be.Z,{value:`$$${ce.value}$$`}),ce.name),ke.createElement("div",{className:we.Z.children},ce.children.map((Se,Le)=>ke.createElement("div",{key:Le},ke.createElement("h1",null,Se.name),ke.createElement(tt.Z,{gutter:[10,10]},Se.data.map((ze,Ze)=>ke.createElement(Ue.Z,{key:Ze,onClick:()=>de(ze),className:we.Z.diamond},ke.createElement(Be.Z,{value:"`$$"+ze.value+"$$`"}))))))))))},{key:"2",label:"\u516C\u5F0F\u6A21\u677F",children:ke.createElement(tt.Z,{className:we.Z.lists,gutter:[10,10]},fe.map((ce,pe)=>ke.createElement(Ue.Z,{flex:"110px",className:we.Z.item},ke.createElement("div",null,ke.createElement(Be.Z,{value:"`$$"+ce.value+"$$`"}),ce.name),ke.createElement("div",{className:we.Z.children},ce.children.map((Se,Le)=>ke.createElement("div",{key:Le},Se.name&&ke.createElement("h1",null,Se.name),ke.createElement(tt.Z,{gutter:[10,10]},Se.data.map((ze,Ze)=>ke.createElement(Ue.Z,{key:Ze,onClick:()=>de(ze),className:we.Z.diamond},ke.createElement(Be.Z,{value:"`$$"+ze.value+"$$`"}))))))))))}],xe=()=>{var ce=document.createElement("div");ce.innerHTML=ie.current.getValue();var pe=ce.innerText;return Ce&&Ce(pe),pe};return(0,Ge.useImperativeHandle)(ye,()=>({getData:xe})),ke.createElement("div",{className:we.Z.mathWrap},ke.createElement(Ne.default,{defaultActiveKey:"1",items:ve}),ke.createElement("math-field",{locale:"zh_cn",className:we.Z.mathField,placeholder:"\u8BF7\u6253\u5F00\u952E\u76D8\uFF0C\u8F93\u5165\u516C\u5F0F",ref:ie,style:{width:800,marginTop:30,fontSize:18}},je||""),Me&&ke.createElement("div",{className:we.Z.button},ke.createElement(Ke.ZP,{size:"large",onClick:xe,style:{zIndex:8,marginTop:10},type:"primary"},"\u4FDD\u5B58\u5230\u7F16\u8F91\u5668")))});tn.Z=Ie},97267:function(en,tn,Oe){"use strict";var Ge=Oe(59301),tt=Oe(93314),Ue=Oe(3113),Ne=Object.defineProperty,Ke=Object.defineProperties,Be=Object.getOwnPropertyDescriptors,we=Object.getOwnPropertySymbols,Te=Object.prototype.hasOwnProperty,ke=Object.prototype.propertyIsEnumerable,Ie=(ye,ie,ae)=>ie in ye?Ne(ye,ie,{enumerable:!0,configurable:!0,writable:!0,value:ae}):ye[ie]=ae,Ce=(ye,ie)=>{for(var ae in ie||(ie={}))Te.call(ie,ae)&&Ie(ye,ae,ie[ae]);if(we)for(var ae of we(ie))ke.call(ie,ae)&&Ie(ye,ae,ie[ae]);return ye},Me=(ye,ie)=>Ke(ye,Be(ie));const je=({img:ye,buttonProps:ie={},styles:ae={},customText:fe,ButtonText:de,ButtonClick:ve,Buttonclass:xe,ButtonTwo:ce,imgStyles:pe,loading:Se=!1})=>Ge.createElement("section",{className:"tc animated fadeIn",style:Ce(Ce({},{color:"#999",margin:"100px auto",visibility:Se?"hidden":"visible"}),ae)},Ge.createElement("img",{src:ye||tt,style:Me(Ce({},pe),{pointerEvents:"none",userSelect:"none"})}),Ge.createElement("p",{className:"mt20 font14"},fe||"\u6682\u65F6\u8FD8\u6CA1\u6709\u76F8\u5173\u6570\u636E\u54E6!"),de&&Ge.createElement(Ue.ZP,Ce({className:xe,onClick:ve},ie),de),ce&&ce);tn.Z=je},46898:function(en,tn,Oe){"use strict";Oe.d(tn,{Q:function(){return Be}});var Ge=Oe(59301),tt=Oe(57809),Ue=Oe(5112),Ne=Oe(88897),Ke=Oe(59301),Be=(Te=>(Te[Te.Number=1]="Number",Te[Te.Percent=2]="Percent",Te))(Be||{});const we=({value:Te,onChange:ke,disabled:Ie,hidePercentOption:Ce=!1,percentType:Me="select"})=>{const je=(0,Ge.useMemo)(()=>Ce?1:2,[Ce]),[ye,ie]=(0,Ge.useState)(je);console.log(ye);const ae=de=>Te.type===1?`${de}\u5206`:`${de}%`,fe=(0,Ge.useCallback)(de=>{if(ye===1){const ve=de.replace("\u5206","");return isNaN(parseInt(ve,10))?0:ve}else return de.replace("%","")},[ye]);return(0,Ge.useEffect)(()=>{ie(Te.type)},[Te]),Ke.createElement("div",{style:{display:"flex",alignItems:"center"}},Me=="select"&&Ke.createElement(tt.default,{size:"large",onChange:de=>{ie(de),ke({type:de,inputValue:de===1?5:20})},value:ye||je,style:{width:100},options:Ce?[{label:"\u5206\u503C",value:1}]:[{label:"\u767E\u5206\u6BD4",value:2},{label:"\u5206\u503C",value:1}],disabled:Ie}),Me=="radio"&&Ke.createElement(Ue.ZP.Group,{size:"large",onChange:de=>{const ve=de.target.value;ie(ve),ke({type:ve,inputValue:ve===1?5:20})},value:ye||je,disabled:Ie},!Ce&&Ke.createElement(Ue.ZP,{value:2,style:{marginRight:"50px"}},"\u767E\u5206\u6BD4\u6263\u5206"),Ke.createElement(Ue.ZP,{value:1},"\u56FA\u5B9A\u5206\u503C")),Me=="radio"&&Ke.createElement("div",{style:{marginRight:"10px",color:"#000000"}},Te.type==2?"\u6263\u9664\u8865\u4EA4\u9636\u6BB5\u5F97\u5206\u7684":"\u6263\u9664\u603B\u6210\u7EE9\u7684"),Ke.createElement(Ne.Z,{size:"large",disabled:Ie,value:Te.inputValue,style:{width:"120px"},parser:fe,addonAfter:Te.type===1?"\u5206":"%",max:ye===2?100:Number.MAX_SAFE_INTEGER,min:0,precision:0,onChange:de=>{ke({type:ye,inputValue:de})}}),Me=="radio"&&Te.type==2&&Ke.createElement("div",{style:{marginLeft:"10px",color:"#000000"}},"\u5206\u6570"))};tn.Z=we},79646:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return xe}});var Ge=Oe(59301),tt={wrp:"wrp___dq7YK",bgBlack:"bgBlack___ARIUV",monaco:"monaco___VnZC3",darkBlue:"darkBlue___UprA9",close:"close___LKoWu",embed:"embed___hvpEJ"},Ue=Oe(3113),Ne=Oe(63093),Ke=Oe(48551),Be=Oe(6848),we=Oe(58130),Te=Oe(79124),ke=Oe(97267),Ie=Oe(10148),Ce=Oe(63486),Me=Oe(59301),je=Object.defineProperty,ye=Object.getOwnPropertySymbols,ie=Object.prototype.hasOwnProperty,ae=Object.prototype.propertyIsEnumerable,fe=(ce,pe,Se)=>pe in ce?je(ce,pe,{enumerable:!0,configurable:!0,writable:!0,value:Se}):ce[pe]=Se,de=(ce,pe)=>{for(var Se in pe||(pe={}))ie.call(pe,Se)&&fe(ce,Se,pe[Se]);if(ye)for(var Se of ye(pe))ae.call(pe,Se)&&fe(ce,Se,pe[Se]);return ce},ve=(ce,pe,Se)=>new Promise((Le,ze)=>{var Ze=$e=>{try{Qe(Se.next($e))}catch(gt){ze(gt)}},Ve=$e=>{try{Qe(Se.throw($e))}catch(gt){ze(gt)}},Qe=$e=>$e.done?Le($e.value):Promise.resolve($e.value).then(Ze,Ve);Qe((Se=Se.apply(ce,pe)).next())}),xe=({editOffice:ce="view",data:pe,theme:Se,type:Le,filename:ze,monacoEditor:Ze,className:Ve,style:Qe,close:$e,onClose:gt,hasMask:lt,disabledDownload:At,onImgDimensions:Et,showNodata:vt,recordInfo:Lt})=>{const[St,xt]=(0,Ge.useState)("https://view.officeapps.live.com/op/view.aspx?src=http://testgs.educoder.net//rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--03541f6234b93d7ac3b2d84e7eb0e6594a952945/1.ppt"),[ct,Dt]=(0,Ge.useState)(""),[Xt,kt]=(0,Ge.useState)(),Rt=window.ENV==="build"?"/react/build":"",Gt=location.host.startsWith("localhost")?Ie.Z.PROXY_SERVER:Ie.Z.API_SERVER,Rn=10*(1024*1024),jn=(0,Ge.useRef)();pe!=null&&pe.startsWith("/api")&&Le!=="txt"&&(pe=Ie.Z.API_SERVER+pe);const er=ur=>ur.substring(ur.lastIndexOf("/")+1).split(".").pop();ze&&Ze&&(Ze.filename=ze),(0,Ge.useEffect)(()=>{var ur,Xn;const Nn=(Xn=(ur=document.cookie)==null?void 0:ur.replace(/\s/g,""))==null?void 0:Xn.split(";");Nn==null||Nn.map(_n=>{let un=_n.split("=");un[0]==="_educoder_session"&&Dt(un[1])})},[]),(0,Ge.useEffect)(()=>{Le==="office"&&(pe.indexOf("bigfilescdn.")>-1||pe.indexOf("bigfiles1")>-1?kt({url:pe,fileType:er(pe),model:pe.indexOf("model=edit")?"edit":"view"}):an())},[Le,pe]);const an=()=>ve(void 0,null,function*(){console.log("data:",pe);let ur=pe;pe.startsWith("http")||(ur=location.origin+ur);let Xn=new URL(ur).pathname.split("/").pop();const Nn=yield(0,Te.gJ)({attachment_id:Xn});Nn.url=Gt+Nn.url,kt(Nn)}),Un=()=>{if(pe.startsWith("http")||pe.startsWith("blob:")){Kn();return}(0,we.Sv)(ze||"educoder",pe,ze)},Kn=()=>{Lt&&(0,Ce.fc)({id:Lt==null?void 0:Lt.id,watch_type:1,course_id:Lt==null?void 0:Lt.course_id}),(0,we.Nd)(ze||"educoder",decodeURIComponent(pe))};return Me.createElement("div",{style:de({},Qe||{}),className:`${lt&&tt.bgBlack} ${Le?tt.wrp:"hide"}`},$e&&Me.createElement("div",{className:tt.close,ref:jn},!!Et&&Me.createElement(Be.Z,{title:"\u70B9\u51FB\u5BF9\u56FE\u7247\u8FDB\u884C\u6279\u6CE8",getPopupContainer:()=>jn.current},Me.createElement("span",{onClick:()=>{gt(),Et()}},Me.createElement("i",{className:"icon-yulanpizhu"}))),!At&&Me.createElement(Be.Z,{title:"\u70B9\u51FB\u4E0B\u8F7D\u6B64\u6587\u4EF6",getPopupContainer:()=>jn.current},Me.createElement("span",{onClick:Kn},Me.createElement("i",{className:"icon-quxiaozhiding"}))),Me.createElement(Be.Z,{title:"\u5173\u95ED",getPopupContainer:()=>jn.current},Me.createElement("span",{className:"",onClick:gt},Me.createElement("i",{className:"icon-guanbi1"})))),Me.createElement("div",{className:`${tt[Ve]} ${Ve} ${tt.monaco} ${Le==="txt"?"show":"hide"}`},Le==="txt"&&Me.createElement(Me.Fragment,null,Me.createElement(Ke.ZP,de({},Ze)))),Le==="audio"&&Me.createElement("audio",{src:`${(pe==null?void 0:pe.indexOf("http://"))>-1||(pe==null?void 0:pe.indexOf("https://"))>-1?"":"data:audio/mp3;base64,"}${pe}`,autoPlay:!0}),Le==="video"&&Me.createElement(Me.Fragment,null,(pe==null?void 0:pe.indexOf("http"))>-1?Me.createElement("video",{controls:!0,src:`${pe}`,autoPlay:!0}):Me.createElement("video",{controls:!0,src:`data:video/mp4;base64,${pe}`,autoPlay:!0})),Le==="office"&&Xt&&Me.createElement("iframe",{src:`${Rt}/office.html?key=${Xt.key}&url=${btoa(Xt.url)}&callbackUrl=${Gt+(Xt.callbackUrl||"")}&fileType=${Xt.fileType}&title=${Xt.title||""}&model=${ce}&officeServer=${Ie.Z.ONLYOFFICE}&disabledDownload=${!!At}`}),Le==="html"&&Me.createElement("iframe",{src:pe+"&disposition=inline"}),Le==="pdf"&&Me.createElement("iframe",{src:`${Rt}/js/pdfview/index.html?filename=${ze||"educoder.pdf"}&url=${encodeURIComponent(pe)}&disabledDownload=${!!At}`}),Le==="image"&&Me.createElement("img",{src:`${(pe==null?void 0:pe.indexOf("http://"))>-1||(pe==null?void 0:pe.indexOf("https://"))>-1?"":"data:image/png;base64,"}${pe}`}),(Le==="other"||Le==="download")&&Me.createElement(Me.Fragment,null,vt?Me.createElement(ke.Z,{customText:"\u5F53\u524D\u6587\u4EF6\u4E0D\u652F\u6301\u9884\u89C8\uFF0C\u53EF\u70B9\u51FB\u4E0B\u8F7D\u67E5\u770B",ButtonTwo:Me.createElement(Ue.ZP,{icon:Me.createElement("i",{className:"iconfont icon-xiazai4 font14"}),type:"primary",size:"middle",onClick:Un,disabled:At},"\u4E0B\u8F7D")}):Me.createElement(Ue.ZP,{type:"primary",size:"middle",onClick:Un,disabled:At},Me.createElement(Ne.Z,null),"\u70B9\u51FB\u4E0B\u8F7D")))}},25711:function(en,tn,Oe){"use strict";Oe.d(tn,{z:function(){return Le},Z:function(){return ze}});var Ge=Oe(59301),tt=Oe(1751),Ue=Oe(31087),Ne=Oe(64018),Ke=Oe(37312),Be=Oe(10148),we=Oe(58130),Te=Oe(15342),ke=Oe(1012),Ie=Oe(79646),Ce=Oe(59301),je=({html:Ze})=>{const Ve=(0,Ge.useRef)(null),Qe=(0,Ge.useRef)(null),$e=`.markdown-body p {
margin: 0 0 16px 0 !important;
line-height: 28px;
white-space: pre-wrap;
}
ol,
ul,
li {
list-style-type: none
}
ol,
ul,
dl {
margin-bottom: 0px;
}
.markdown-body {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
color: #333;
overflow: hidden;
font-family: "Microsoft YaHei", Helvetica, "Meiryo UI", "Malgun Gothic", "Segoe UI", "Trebuchet MS", "Monaco", monospace, Tahoma, STXihei, "\u534E\u6587\u7EC6\u9ED1", STHeiti, "Helvetica Neue", "Droid Sans", "wenquanyi micro hei", FreeSans, Arimo, Arial, SimSun, "\u5B8B\u4F53", Heiti, "\u9ED1\u4F53", sans-serif;
word-break: break-word;
font-size: 16px;
line-height: 1.6;
white-space: normal;
word-wrap: break-word;
position: relative;
}
.markdown-body ul>li {
list-style-type: disc;
}
.markdown-body ol>li {
list-style-type: decimal;
}
.markdown-body a {
background: transparent;
}
.markdown-body a:active,
.markdown-body a:hover {
outline: 0;
}
.markdown-body strong {
font-weight: bold;
}
.markdown-body h1 {
font-size: 2em;
margin: 0.67em 0;
}
.markdown-body img {
border: 0;
}
.markdown-body hr {
-moz-box-sizing: content-box;
box-sizing: content-box;
height: 0;
}
.markdown-body pre {
overflow: auto;
}
.markdown-body code,
.markdown-body kbd,
.markdown-body pre {
font-family: "Meiryo UI", "YaHei Consolas Hybrid", Consolas, "Malgun Gothic", "Segoe UI", "Trebuchet MS", Helvetica, monospace, monospace;
font-size: 1em;
}
.markdown-body input {
color: inherit;
font: inherit;
margin: 0;
}
.markdown-body html input[disabled] {
cursor: default;
}
.markdown-body input {
line-height: normal;
}
.markdown-body input[type="checkbox"] {
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
}
.markdown-body table {
border-collapse: collapse;
border-spacing: 0;
}
.markdown-body td,
.markdown-body th {
padding: 0;
}
.markdown-body * {
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.markdown-body input {
font: 13px/1.4 Helvetica, arial, freesans, clean, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol";
}
.markdown-body a {
color: #4183c4;
text-decoration: none;
}
.markdown-body a:hover,
.markdown-body a:active {
text-decoration: underline;
}
.markdown-body hr {
height: 0;
margin: 15px 0;
overflow: hidden;
background: transparent;
border: 0;
border-bottom: 1px solid #ddd;
}
.markdown-body hr:before {
display: table;
content: "";
}
.markdown-body hr:after {
display: table;
clear: both;
content: "";
}
.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
margin-top: 15px;
margin-bottom: 15px;
line-height: 1.1;
}
.markdown-body h1 {
font-size: 30px;
}
.markdown-body h2 {
font-size: 21px;
}
.markdown-body h3 {
font-size: 16px;
}
.markdown-body h4 {
font-size: 14px;
}
.markdown-body h5 {
font-size: 12px;
}
.markdown-body h6 {
font-size: 11px;
}
.markdown-body blockquote {
margin: 0;
}
.markdown-body ul,
.markdown-body ol {
padding: 0;
margin-top: 0;
margin-bottom: 0;
}
ul.linenums,
ol.linenums {
padding: 16px 0 0 36px !important;
}
.markdown-body ul,
.markdown-body ol {
padding-left: 2em;
}
.markdown-body ol ol,
.markdown-body ul ol {
list-style-type: lower-roman;
}
.markdown-body ul ul ol,
.markdown-body ul ol ol,
.markdown-body ol ul ol,
.markdown-body ol ol ol {
list-style-type: lower-alpha;
}
.markdown-body dd {
margin-left: 0;
}
.markdown-body code {
font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
font-size: 12px;
}
.markdown-body pre {
margin-top: 0;
margin-bottom: 0;
font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace;
}
.markdown-body .octicon {
font: normal normal 16px octicons-anchor;
line-height: 1;
display: inline-block;
text-decoration: none;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.markdown-body .octicon-link:before {
content: '\f05c';
}
.markdown-body>*:first-child {
margin-top: 0 !important;
}
.markdown-body>*:last-child {
margin-bottom: 0 !important;
}
.markdown-body .anchor {
position: absolute;
top: 0;
left: 0;
display: block;
padding-right: 6px;
padding-left: 30px;
margin-left: -30px;
}
.markdown-body .anchor:focus {
outline: none;
}
.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
position: relative;
margin-top: 1em;
margin-bottom: 16px;
font-weight: bold;
line-height: 1.4;
}
.markdown-body h1 .octicon-link,
.markdown-body h2 .octicon-link,
.markdown-body h3 .octicon-link,
.markdown-body h4 .octicon-link,
.markdown-body h5 .octicon-link,
.markdown-body h6 .octicon-link {
display: none;
color: #000;
vertical-align: middle;
}
.markdown-body h1:hover .anchor,
.markdown-body h2:hover .anchor,
.markdown-body h3:hover .anchor,
.markdown-body h4:hover .anchor,
.markdown-body h5:hover .anchor,
.markdown-body h6:hover .anchor {
padding-left: 8px;
margin-left: -30px;
text-decoration: none;
}
.markdown-body h1:hover .anchor .octicon-link,
.markdown-body h2:hover .anchor .octicon-link,
.markdown-body h3:hover .anchor .octicon-link,
.markdown-body h4:hover .anchor .octicon-link,
.markdown-body h5:hover .anchor .octicon-link,
.markdown-body h6:hover .anchor .octicon-link {
display: inline-block;
}
.markdown-body h1 {
padding-bottom: 0.3em;
font-size: 2.25em;
line-height: 1.2;
border-bottom: 1px solid #eee;
}
.markdown-body h1 .anchor {
line-height: 1;
}
.markdown-body h2 {
padding-bottom: 0.3em;
font-size: 1.75em;
line-height: 1.225;
border-bottom: 1px solid #eee;
}
.markdown-body h2 .anchor {
line-height: 1;
}
.markdown-body h3 {
font-size: 1.5em;
line-height: 1.43;
}
.markdown-body h3 .anchor {
line-height: 1.2;
}
.markdown-body h4 {
font-size: 1.25em;
}
.markdown-body h4 .anchor {
line-height: 1.2;
}
.markdown-body h5 {
font-size: 1em;
}
.markdown-body h5 .anchor {
line-height: 1.1;
}
.markdown-body h6 {
font-size: 1em;
color: #777;
}
.markdown-body h6 .anchor {
line-height: 1.1;
}
.markdown-body p,
.markdown-body blockquote,
.markdown-body ul,
.markdown-body ol,
.markdown-body dl,
.markdown-body table,
.markdown-body pre {
margin-top: 0;
margin-bottom: 16px;
}
.markdown-body ul ul,
.markdown-body ul ol,
.markdown-body ol ol,
.markdown-body ol ul {
margin-top: 0;
margin-bottom: 0;
}
.markdown-body li>p {
margin-top: 16px;
}
.markdown-body dl {
padding: 0;
}
.markdown-body dl dt {
padding: 0;
margin-top: 16px;
font-size: 1em;
font-style: italic;
font-weight: bold;
}
.markdown-body dl dd {
padding: 0 16px;
margin-bottom: 16px;
}
.markdown-body blockquote {
padding: 0 15px;
color: #777;
border-left: 4px solid #ddd;
}
.markdown-body blockquote> :first-child {
margin-top: 0;
}
.markdown-body blockquote> :last-child {
margin-bottom: 0;
}
.markdown-body table {
display: block;
width: 100%;
overflow: auto;
word-break: normal;
word-break: keep-all;
}
.markdown-body table th {
font-weight: bold;
text-align: revert;
}
.markdown-body table th,
.markdown-body table td {
padding: 6px 13px;
border: 1px solid #ddd;
}
.markdown-body table tr {
background-color: #fff;
border-top: 1px solid #ccc;
}
.markdown-body table tr:nth-child(2n) {
background-color: #f8f8f8;
}
.markdown-body img {
max-width: 100%;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.markdown-body code {
padding: 0;
padding-top: 0.2em;
padding-bottom: 0.2em;
margin: 0;
font-size: 85%;
background-color: rgba(0, 0, 0, 0.04);
border-radius: 3px;
}
.markdown-body code:has(.katex) {
background-color: transparent;
}
.markdown-body code:before,
.markdown-body code:after {
letter-spacing: -0.2em;
content: "\\00a0";
}
.markdown-body pre>code {
padding: 0;
margin: 0;
font-size: 100%;
word-break: normal;
white-space: pre;
background: transparent;
border: 0;
}
.markdown-body .highlight {
margin-bottom: 16px;
}
.markdown-body .highlight pre,
.markdown-body pre {
padding: 16px;
overflow: auto;
font-size: 85%;
line-height: 1.45;
background-color: #f7f7f7;
border-radius: 3px;
}
.markdown-body .highlight pre {
margin-bottom: 0;
word-break: normal;
}
.markdown-body pre {
word-wrap: normal;
}
.markdown-body pre code {
display: inline;
max-width: initial;
padding: 0;
margin: 0;
overflow: initial;
line-height: inherit;
word-wrap: normal;
background-color: transparent;
border: 0;
}
.markdown-body pre code:before,
.markdown-body pre code:after {
content: normal;
}
.markdown-body kbd {
display: inline-block;
padding: 3px 5px;
font-size: 11px;
line-height: 10px;
color: #555;
vertical-align: middle;
background-color: #fcfcfc;
border: solid 1px #ccc;
border-bottom-color: #bbb;
border-radius: 3px;
box-shadow: inset 0 -1px 0 #bbb;
}
.markdown-body .pl-c {
color: #969896;
}
.markdown-body .pl-c1,
.markdown-body .pl-mdh,
.markdown-body .pl-mm,
.markdown-body .pl-mp,
.markdown-body .pl-mr,
.markdown-body .pl-s1 .pl-v,
.markdown-body .pl-s3,
.markdown-body .pl-sc,
.markdown-body .pl-sv {
color: #0086b3;
}
.markdown-body .pl-e,
.markdown-body .pl-en {
color: #795da3;
}
.markdown-body .pl-s1 .pl-s2,
.markdown-body .pl-smi,
.markdown-body .pl-smp,
.markdown-body .pl-stj,
.markdown-body .pl-vo,
.markdown-body .pl-vpf {
color: #333;
}
.markdown-body .pl-ent {
color: #63a35c;
}
.markdown-body .pl-k,
.markdown-body .pl-s,
.markdown-body .pl-st {
color: #a71d5d;
}
.markdown-body .pl-pds,
.markdown-body .pl-s1,
.markdown-body .pl-s1 .pl-pse .pl-s2,
.markdown-body .pl-sr,
.markdown-body .pl-sr .pl-cce,
.markdown-body .pl-sr .pl-sra,
.markdown-body .pl-sr .pl-sre,
.markdown-body .pl-src {
color: #df5000;
}
.markdown-body .pl-mo,
.markdown-body .pl-v {
color: #1d3e81;
}
.markdown-body .pl-id {
color: #b52a1d;
}
.markdown-body .pl-ii {
background-color: #b52a1d;
color: #f8f8f8;
}
.markdown-body .pl-sr .pl-cce {
color: #63a35c;
font-weight: bold;
}
.markdown-body .pl-ml {
color: #693a17;
}
.markdown-body .pl-mh,
.markdown-body .pl-mh .pl-en,
.markdown-body .pl-ms {
color: #1d3e81;
font-weight: bold;
}
.markdown-body .pl-mq {
color: #008080;
}
.markdown-body .pl-mi {
color: #333;
font-style: italic;
}
.markdown-body .pl-mb {
color: #333;
font-weight: bold;
}
.markdown-body .pl-md,
.markdown-body .pl-mdhf {
background-color: #ffecec;
color: #bd2c00;
}
.markdown-body .pl-mdht,
.markdown-body .pl-mi1 {
background-color: #eaffea;
color: #55a532;
}
.markdown-body .pl-mdr {
color: #795da3;
font-weight: bold;
}
.markdown-body kbd {
display: inline-block;
padding: 3px 5px;
font: 11px Consolas, "Liberation Mono", Menlo, Courier, monospace;
line-height: 10px;
color: #555;
vertical-align: middle;
background-color: #fcfcfc;
border: solid 1px #ccc;
border-bottom-color: #bbb;
border-radius: 3px;
box-shadow: inset 0 -1px 0 #bbb;
}
.markdown-body .task-list-item {
list-style-type: none;
}
.markdown-body .task-list-item+.task-list-item {
margin-top: 3px;
}
.markdown-body .task-list-item input {
float: left;
margin: 0.3em 0 0.25em -1.6em;
vertical-align: middle;
}
.markdown-body :checked+.radio-label {
z-index: 1;
position: relative;
border-color: #4183c4;
}
/*! Pretty printing styles. Used with prettify.js. */
/* SPAN elements with the classes below are added by prettyprint. */
.pln {
color: #000
}
/* plain text */
@media screen {
.str {
color: #080
}
/* string content */
.kwd {
color: #008
}
/* a keyword */
.com {
color: #800
}
/* a comment */
.typ {
color: #606
}
/* a type name */
.lit {
color: #066
}
/* a literal value */
/* punctuation, lisp open bracket, lisp close bracket */
.pun,
.opn,
.clo {
color: #660
}
.tag {
color: #008
}
/* a markup tag name */
.atn {
color: #606
}
/* a markup attribute name */
.atv {
color: #080
}
/* a markup attribute value */
.dec,
.var {
color: #606
}
/* a declaration; a variable name */
.fun {
color: red
}
/* a function name */
}
/* Use higher contrast and text-weight for printable form. */
@media print,
projection {
.str {
color: #060
}
.kwd {
color: #006;
font-weight: bold
}
.com {
color: #600;
font-style: italic
}
.typ {
color: #404;
font-weight: bold
}
.lit {
color: #044
}
.pun,
.opn,
.clo {
color: #440
}
.tag {
color: #006;
font-weight: bold
}
.atn {
color: #404
}
.atv {
color: #060
}
}
/* Put a border around prettyprinted code snippets. */
pre.prettyprint {
padding: 2px;
/* border: 1px solid #888 */
}
/* Specify class=linenums on a pre to get line numbering */
ol.linenums {
margin-top: 0;
margin-bottom: 0
}
/* IE indents via margin-left */
li.L0,
li.L1,
li.L2,
li.L3,
li.L5,
li.L6,
li.L7,
li.L8 {
list-style-type: none
}
/* Alternate shading for lines */
li.L1,
li.L3,
li.L5,
li.L7,
li.L9 {
background: #eee
}
.markdown-body p,
.markdown-body blockquote,
.markdown-body ul,
.markdown-body ol,
.markdown-body dl,
.markdown-body table,
.markdown-body pre {
margin-top: 0;
margin-bottom: 16px;
}`;return(0,Ge.useEffect)(()=>{const gt=Ve.current.attachShadow({mode:"open"});Qe.current=document.createElement("div"),Qe.current.className="markdown-body",Qe.current.innerHTML=Ze,gt.appendChild(Qe.current);const lt=document.createElement("style");return lt.textContent=$e,gt.appendChild(lt),()=>{gt.innerHTML=""}},[]),(0,Ge.useEffect)(()=>{Qe.current&&(Qe.current.innerHTML=Ze)},[Ze]),Ce.createElement("div",{ref:Ve})},ye=Object.defineProperty,ie=Object.getOwnPropertySymbols,ae=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable,de=(Ze,Ve,Qe)=>Ve in Ze?ye(Ze,Ve,{enumerable:!0,configurable:!0,writable:!0,value:Qe}):Ze[Ve]=Qe,ve=(Ze,Ve)=>{for(var Qe in Ve||(Ve={}))ae.call(Ve,Qe)&&de(Ze,Qe,Ve[Qe]);if(ie)for(var Qe of ie(Ve))fe.call(Ve,Qe)&&de(Ze,Qe,Ve[Qe]);return Ze};const xe="@\u2581\u2581@",ce="@\u2581@",pe=/<pre[^>]*>/g;function Se(Ze){let Ve=document.createElement("div");return Ve.innerHTML=Ze,Ve.childNodes.length===0?"":Ve.childNodes[0].nodeValue}const Le=(Ze,Ve)=>{Ze=Ze||"";const Qe=/(?:https?:\/\/[^\/]+)?\/api\/attachments\/([A-Za-z0-9+/=]+)(\?.*?)?\)|(?:https?:\/\/[^\/]+)?\/api\/attachments\/([A-Za-z0-9+/=]+)(\?.*?)?|(?:https?:\/\/[^\/]+)?\/attachments\/download\/([A-Za-z0-9+/=]+)(\?.*?)?\//g,$e=/\"(?:https?:\/\/[^\/]+)?\/api\/attachments\/([A-Za-z0-9+/=]+)(\?.*?)?|\"(?:https?:\/\/[^\/]+)?\/attachments\/download\/([A-Za-z0-9+/=]+)(\?.*?)?\//g,gt=/\(\s+(?:https?:\/\/[^\/]+)?\/files\/uploads\/([A-Za-z0-9+/=]+)(\?.*?)?|\"(?:https?:\/\/[^\/]+)?\/files\/uploads\/([A-Za-z0-9+/=]+)(\?.*?)?\//g,lt=/(?:https?:\/\/[^\/]+)?\/attachments\/download\/([A-Za-z0-9+/=]+)(\?.*?)?\//g;return Ve?Ze.replaceAll("https://www.educoder.net","").replaceAll("https://www-cdn.educoder.net","").replaceAll("//api/attachments","/api/attachments").replace(Qe,(At,Et,vt,Lt,St,xt,ct)=>{const Dt=Et||Lt||xt,Xt=vt||St||ct||"?";return Be.Z.API_SERVER+"/api/attachments/"+Dt+Xt+"&t="+(0,we.Jn)(Dt,Date.now())+(At.indexOf(")")>-1?")":"&")}).replaceAll('src="(','src="').replaceAll("src='(",'src="'):(Ze=Ze.replace(lt,(At,Et,vt,Lt,St,xt,ct)=>{const Dt=Et||Lt||xt,Xt=vt||St||ct||"?";return Be.Z.API_SERVER+"/attachments/download/"+Dt+Xt+"&t="+(0,we.Jn)(Dt,Date.now())+(At.indexOf(")")>-1?")":"&")}).replace(Qe,(At,Et,vt,Lt,St,xt,ct)=>{const Dt=Et||Lt||xt,Xt=vt||St||ct||"?";return Be.Z.API_SERVER+"/api/attachments/"+Dt+Xt+"&t="+(0,we.Jn)(Dt,Date.now())+(At.indexOf(")")>-1?")":"&")}).replace($e,(At,Et,vt,Lt,St)=>{const xt=Et||Lt,ct=vt||St||"";return'"'+Be.Z.API_SERVER+"/api/attachments/"+xt+ct+xt+ct+"&t="+(0,we.Jn)(xt,Date.now())}).replace(gt,(At,Et,vt,Lt,St)=>{const xt=Et||Lt,ct=vt||St||"";return"("+Be.Z.API_SERVER+"/files/uploads/"+xt+ct+xt+ct+"&t="+(0,we.Jn)(xt,Date.now())}).replaceAll('src="(','src="').replaceAll("src='(",'src="').replaceAll("http://video.educoder","https://video.educoder").replaceAll("http://www.educoder.net/api","https://data.educoder.net/api").replaceAll("https://www.educoder.net/api","https://data.educoder.net/api").replace(/\r\n/g,`
`),Ze)};var ze=({value:Ze="",className:Ve,showTextOnly:Qe,showLines:$e,style:gt={},stylesPrev:lt={},highlightKeywords:At,showProgramFill:Et,isProgramFill:vt,disabledFill:Lt=!1,programFillValue:St,onFillChange:xt=Xt=>{},onFillBlur:ct=()=>{},onFillFocus:Dt=()=>{}})=>{let Xt=String(Ze);const[kt,Rt]=(0,Ge.useState)(""),[Gt,ln]=(0,Ge.useState)("office"),[Rn,jn]=(0,Ge.useState)([]),er=(0,Ge.useRef)("a"+(0,ke.Z)()),an={},Un=(wt,ut,ot)=>{const Pt=document.createElement(wt===ce?"input":"textarea");Pt.style.width="100%",Pt.style.height=wt===ce?"40px":"151px",Pt.rows=5,Pt.spellcheck=!1,Pt.name="edu-program-fill",Pt.placeholder="\u8BF7\u8F93\u5165",Pt.dataset.id=ut;const Ht=Object.keys(an).length;return an[Ht]=Pt,`<span class="edu-program-fill-wrap ${wt===ce?"":"show"}" style="width:${wt===ce?"400px":"100%"}" title=${ot||""}><span>${Pt.outerHTML}<span class="edu-program-fill-score" style="margin:0 6px"></span></span></span>`};function Kn(wt){return wt=wt.replace(/!\[.*?\]\(.*?\)/g,""),wt=wt.replace(/\[.*?\]\(.*?\)/g,""),wt=wt.replace(new RegExp("<iframe.*?<\\/iframe>","gs"),""),wt=wt.replace(/<embed.*?>/g,""),wt=wt.replace(/<img.*?>/g,""),wt=wt.replace(new RegExp("<video.*?>.*?<\\/video>","gs"),""),wt=wt.replace(new RegExp("<audio.*?>.*?<\\/audio>","gs"),""),wt=wt.replace(new RegExp("<style.*?>.*?<\\/style>","gs"),""),wt=wt.replace(new RegExp("<script.*?>.*?<\\/script>","gs"),""),wt}const ur=wt=>wt.replace(/<style.*?>([\s\S]+?)<\/style>/gim,function(ut,ot){let Pt=ot.replace(/(\n|\r)/g,"").split("}"),Ht=[];return Pt.map(Mt=>{Mt!=""&&Ht.push(`.${er.current} ${Mt}`)}),`<style>${Ht.join("}")}</style>`}),Xn=(0,Ge.useMemo)(()=>{try{const Pt=/\(\s+\/api\/attachments\/|\(\/api\/attachments\//g,Ht=/\"\/api\/attachments\/|\"\/attachments\/download\//g,Mt=/\(\s+\/files\/uploads\/|\"\/files\/uploads\//g,hn=/\(\/attachments\/download\//g;Xt=Xt.replace(hn,"("+Be.Z.API_SERVER+"/attachments/download/").replace(Pt,"("+Be.Z.API_SERVER+"/api/attachments/").replace(Ht,'"'+Be.Z.API_SERVER+"/api/attachments/").replace(Mt,'"'+Be.Z.API_SERVER+"/files/uploads/").replaceAll("http://video.educoder","https://video.educoder").replaceAll("http://www.educoder.net/api","https://data.educoder.net/api").replaceAll("https://www.educoder.net/api","https://data.educoder.net/api").replace(/\r\n/g,`
`)}catch(Pt){}if(Et){let Pt=-1;return Xt=Xt.replaceAll("<","&lt;").replaceAll(">","&gt;").replace(/(@▁▁@|@▁@)/g,function(Ht,Mt,hn){var rr;return++Pt,Un(Ht,Pt,(rr=St==null?void 0:St[Pt])==null?void 0:rr.value.replaceAll("<","&lt;").replaceAll(">","&gt;"))}),`<pre style="background:#fff;padding:4px">${ur(Xt||"")}</pre>`}let wt=ur(Xt);wt=(0,Ue.ZP)(wt);const ut=(0,Ue.ez)();Xt.match(/\[TOC\]/)&&(wt=wt.replace("<p>[TOC]</p>",(0,Ue.Qv)()),(0,Ue.Iy)()),wt=wt.replace(/(__special_katext_id_\d+__)/g,(Pt,Ht)=>{const{type:Mt,expression:hn}=ut[Ht];return(0,Te.renderToString)(Se(hn)||"",{displayMode:Mt==="block",throwOnError:!1,output:"html"})}),wt=wt.replace(/▁/g,"\u2581\u2581\u2581\u2581\u2581"),(0,Ue.AL)();const ot=document.createElement("div");if(ot.innerHTML=wt,Qe)return ot.innerText;if(At){const Pt=At.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return qt(ot,Pt),ot.innerHTML}return setTimeout(()=>_t(),500),ot.innerHTML},[Xt,At]);(0,Ge.useEffect)(()=>{Yt.current&&Yt.current.querySelectorAll(["input","textarea"]).forEach(ut=>{ut.oninput=Nn,ut.onblur=_n,ut.onfocus=un})},[Rn]),(0,Ge.useEffect)(()=>{var wt,ut,ot,Pt,Ht;if(St!=null&&St.length)try{const Mt=Yt.current.querySelectorAll(".edu-program-fill-score"),hn=Yt.current.querySelectorAll('[name="edu-program-fill"]');for(const[rr,Jn]of hn.entries())Jn.value=((wt=St==null?void 0:St[rr])==null?void 0:wt.value)||"",((ut=St==null?void 0:St[rr])==null?void 0:ut.type)==="warning"?Jn.className="program-fill-warning":((ot=St==null?void 0:St[rr])==null?void 0:ot.type)==="success"?Jn.className="program-fill-success":Jn.className="";for(const[rr,Jn]of Mt.entries())Jn.innerHTML=(Pt=St==null?void 0:St[rr])!=null&&Pt.score?`${(Ht=St==null?void 0:St[rr])==null?void 0:Ht.score}\u5206`:"";jn(St)}catch(Mt){console.log(Mt,"error")}},[St]);const Nn=wt=>{Rn[wt.target.dataset.id]=Rn[wt.target.dataset.id]||{},Rn[wt.target.dataset.id].value=wt.target.value,jn([...Rn]),xt(Rn,wt.target.dataset.id)},_n=wt=>{Rn[wt.target.dataset.id]=Rn[wt.target.dataset.id]||{},Rn[wt.target.dataset.id].value=wt.target.value,jn([...Rn]),ct(Rn,wt.target.dataset.id)},un=wt=>{Rn[wt.target.dataset.id]=Rn[wt.target.dataset.id]||{},Rn[wt.target.dataset.id].value=wt.target.value,jn([...Rn]),Dt(Rn,wt.target.dataset.id)};function qt(wt,ut){return wt.childNodes.forEach(ot=>{var Pt;if(ot.childNodes.length>0)qt(ot,ut);else if(ot.nodeName!=="IMG")if(ot.innerHTML)ot.innerHTML=(Pt=ot.innerHTML)==null?void 0:Pt.replace(new RegExp(ut,"gi"),'<span style="color:#0152d9;background-color:#1890ff33">$&</span>');else{const Ht=document.createElement("span");Ht.innerHTML=ot.textContent.replace(new RegExp(ut,"gi"),'<span style="color:#0152d9;background-color:#1890ff33">$&</span>'),ot.replaceWith(Ht)}})}const Yt=(0,Ge.useRef)();Ue.jb.WebkitLineClamp=$e,$e&&(gt=ve(ve({},gt),Ue.jb));function gn(wt){let ut=wt.target;if(ut.tagName.toUpperCase()==="A"){let ot=ut.getAttribute("href");if(ot.indexOf("office")>-1)wt.preventDefault(),Rt(ot),ln("office");else if(ot.indexOf("application/pdf")>-1)wt.preventDefault(),Rt(ot),ln("pdf");else if(ot.indexOf("text/html")>-1)wt.preventDefault(),Rt(ot),ln("html");else if(ot.startsWith("#")){wt.preventDefault();let Pt=document.getElementById(ot.replace("#",""));Pt&&Pt.scrollIntoView(!0)}}}const _t=()=>{var wt;const ut=(wt=Yt.current)==null?void 0:wt.querySelectorAll("video");ut==null||ut.forEach(ot=>{if(ot.oncontextmenu=()=>!1,ot.src.indexOf(".m3u8")>-1&&!ot.canPlayType("application/vnd.apple.mpegurl")){if(Ke.ZP.isSupported()){var Pt=new Ke.ZP;Pt.loadSource(ot.src),Pt.attachMedia(ot)}}})};(0,Ge.useEffect)(()=>{if(Yt.current&&Xn&&Xn.match(pe)&&window.PR.prettyPrint(),Yt.current)return Yt.current.addEventListener("click",gn),()=>{var wt;(wt=Yt.current)==null||wt.removeEventListener("click",gn),(0,Ue.AL)(),(0,Ue.Iy)()}},[Xn,Yt.current,gn]),(0,Ge.useEffect)(()=>{var wt;const ut=ot=>{ot.preventDefault(),ot.clipboardData.setData("text",window.getSelection().toString())};return(wt=Yt.current)==null||wt.addEventListener("copy",ut),()=>{var ot;(ot=Yt.current)==null||ot.removeEventListener("copy",ut)}},[Yt.current]);const Jt=wt=>/<style[\s\S]*?>/i.test(wt||"");return Ge.createElement(Ge.Fragment,null,Qe&&Ge.createElement("div",{ref:Yt},Xn),!Qe&&!Jt(Xn)&&Ge.createElement("div",{ref:Yt,style:ve({},gt),className:`${Ve||""} ${Lt?"disabled-fill":""} markdown-body ${er.current}`,dangerouslySetInnerHTML:{__html:Xn}}),!Qe&&Jt(Xn)&&Ge.createElement(je,{html:Xn}),Ge.createElement(Ie.Z,{close:!0,data:kt,type:kt!=null&&kt.length?Gt:"",style:ve({},lt),onClose:()=>Rt("")}))}},2567:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Ze},P:function(){return Se}});var Ge=Oe(59301),tt=Oe(78241),Ue=Oe(43418),Ne=Oe(5112),Ke=Oe(92832),Be=Oe(2595),we={brief:"brief___LOzpE",contentTitle:"contentTitle___xkdcN",content:"content___Vtri0",tips:"tips___tuAtH",antdTable:"antdTable___s8T2N",tableCell:"tableCell___kN9Fw",antdModal:"antdModal___WVBk3",orangeColor:"orangeColor___ryB2u"},Te=Oe(20387),ke=Object.defineProperty,Ie=Object.defineProperties,Ce=Object.getOwnPropertyDescriptors,Me=Object.getOwnPropertySymbols,je=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable,ie=(Ve,Qe,$e)=>Qe in Ve?ke(Ve,Qe,{enumerable:!0,configurable:!0,writable:!0,value:$e}):Ve[Qe]=$e,ae=(Ve,Qe)=>{for(var $e in Qe||(Qe={}))je.call(Qe,$e)&&ie(Ve,$e,Qe[$e]);if(Me)for(var $e of Me(Qe))ye.call(Qe,$e)&&ie(Ve,$e,Qe[$e]);return Ve},fe=(Ve,Qe)=>Ie(Ve,Ce(Qe)),de=(Ve,Qe)=>{var $e={};for(var gt in Ve)je.call(Ve,gt)&&Qe.indexOf(gt)<0&&($e[gt]=Ve[gt]);if(Ve!=null&&Me)for(var gt of Me(Ve))Qe.indexOf(gt)<0&&ye.call(Ve,gt)&&($e[gt]=Ve[gt]);return $e},ve=(Ve,Qe,$e)=>new Promise((gt,lt)=>{var At=Lt=>{try{vt($e.next(Lt))}catch(St){lt(St)}},Et=Lt=>{try{vt($e.throw(Lt))}catch(St){lt(St)}},vt=Lt=>Lt.done?gt(Lt.value):Promise.resolve(Lt.value).then(At,Et);vt(($e=$e.apply(Ve,Qe)).next())});const xe=({studentNames:Ve,total:Qe})=>{const $e=["","\u4E00","\u4E24","\u4E09"];return Qe>3?Ge.createElement(Ge.Fragment,null,"\u8BFE\u5802\u5185\u6709",Ge.createElement("span",{className:we.orangeColor},Ve==null?void 0:Ve.join("\u3001")),"\u7B49",Ge.createElement("span",{className:we.orangeColor},Qe),"\u540D\u5B66\u751F"):Ge.createElement(Ge.Fragment,null,"\u8BFE\u5802\u5185\u6709",Ge.createElement("span",{className:we.orangeColor},Ve==null?void 0:Ve.join("\u3001")),$e[Qe],"\u540D\u5B66\u751F")},ce=({used:Ve,copy:Qe,canNotCopy:$e,studentNames:gt,studentCount:lt,inPaper:At,is_random:Et=!1,position:vt=""})=>{const Lt=()=>{if(Qe>0&&$e>0)return Ge.createElement(Ge.Fragment,null,"\u5176\u4E2D",Ge.createElement("span",{className:we.orangeColor},Qe),"\u4E2A\u9879\u76EE\u652F\u6301\u590D\u5236\uFF0C",Ge.createElement("span",{className:we.orangeColor},$e),"\u4E2A\u9879\u76EE\u4E0D\u652F\u6301\u590D\u5236");if(Qe>0&&$e===0)return Ge.createElement(Ge.Fragment,null,"\u5176\u4E2D",Ge.createElement("span",{className:we.orangeColor},Qe),"\u4E2A\u9879\u76EE\u652F\u6301\u590D\u5236");if(Qe===0&&$e>0)return Ge.createElement(Ge.Fragment,null,"\u5176\u4E2D",Ge.createElement("span",{className:we.orangeColor},$e),"\u4E2A\u9879\u76EE\u4E0D\u652F\u6301\u590D\u5236")},St=vt||(At?"\u8BD5\u5377":"\u8BFE\u7A0B");return Ge.createElement("span",null,Ge.createElement(xe,{studentNames:gt,total:lt}),"\u5B66\u4E60\u8FC7",St,"\u4E2D\u7684",Ge.createElement("span",{className:we.orangeColor},Ve),"\u4E2A\u9879\u76EE\uFF0C",Lt(),"\u3002\u8BF7\u9009\u62E9",Et?"":"\u662F\u5426\u7EE7\u7EED\u4F7F\u7528\u548C","\u662F\u5426\u590D\u5236\u4E3A\u65B0\u9879\u76EE\u53D1\u9001\u81F3\u8BFE\u5802\u4E2D\uFF1F")},pe=({onCancel:Ve,onOk:Qe,visible:$e,inPaper:gt,renderData:lt,type:At,isMultipleCourse:Et=!1})=>{const[vt]=tt.default.useForm(),[Lt,St]=(0,Ge.useState)(1),[xt,ct]=(0,Ge.useState)(!1),Dt=(0,Ge.useMemo)(()=>(lt==null?void 0:lt.total_num)===1&&(lt==null?void 0:lt.can_copy_num)===1,[lt]),Xt=(0,Ge.useMemo)(()=>{var kt;return(kt=lt==null?void 0:lt.course_data_list)==null?void 0:kt.filter(Rt=>Rt.is_show)},[lt]);return Ge.createElement(Ge.Fragment,null,Dt?Ge.createElement(Ue.default,{centered:!0,closable:!0,open:$e,destroyOnClose:!0,title:"\u63D0\u793A",className:we.antdModal,width:682,confirmLoading:xt,onCancel:Ve,onOk:()=>ve(void 0,null,function*(){var kt;ct(!0);let Rt=Lt;if(Et){const Gt=ae({},vt.getFieldsValue());Rt=(kt=lt==null?void 0:lt.course_data_list)==null?void 0:kt.map(ln=>Gt[ln.id]!==void 0?fe(ae({},ln),{is_copy:Gt[ln.id]}):ln)}yield Qe(Rt),ct(!1)})},Ge.createElement("div",{className:we.content,style:{marginBottom:20}},Et?"\u68C0\u6D4B\u5230\u4EE5\u4E0B\u8BFE\u5802\u5DF2\u5728\u6559\u5B66\u8BFE\u5802\u4E2D\u4F7F\u7528\uFF0C\u8BF7\u95EE\u662F\u5426\u590D\u5236\u6210\u65B0\u7684\u5B9E\u8BAD\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802\u4E2D?":Ge.createElement(Ge.Fragment,null,Ge.createElement(xe,{studentNames:lt==null?void 0:lt.student_names,total:lt==null?void 0:lt.student_count}),"\u5B66\u4E60\u8FC7\u8BE5\u5B9E\u8DF5\u9879\u76EE\u3002\u8BE5\u9879\u76EE\u652F\u6301\u590D\u5236\uFF0C\u8BF7\u9009\u62E9\u662F\u5426\u5C06\u8BE5\u9879\u76EE\u590D\u5236\u4E3A\u65B0\u9879\u76EE\u53D1\u9001\u81F3\u8BFE\u5802\u4E2D\uFF1F")),Et?Ge.createElement(tt.default,{form:vt,preserve:!1},Xt==null?void 0:Xt.map(kt=>Ge.createElement(Ge.Fragment,{key:kt.id},Ge.createElement("h3",{className:"ml15 mb5"},kt.name),Ge.createElement(tt.default.Item,{name:kt.id,initialValue:1},Ge.createElement(Ne.ZP.Group,{className:we.content},Ge.createElement(Ne.ZP,{value:1,style:{color:"#464f66"}},"\u590D\u5236\u5B9E\u8BAD"),Ge.createElement(Ne.ZP,{value:0,style:{color:"#464f66"}},"\u4E0D\u590D\u5236\u5B9E\u8BAD")))))):Ge.createElement(Ne.ZP.Group,{value:Lt,onChange:kt=>St(kt.target.value),className:we.content,style:{marginBottom:30}},Ge.createElement(Ne.ZP,{value:1,style:{color:"#464f66"}},"\u590D\u5236"),Ge.createElement(Ne.ZP,{value:0,style:{color:"#464f66"}},"\u4E0D\u590D\u5236")),Ge.createElement("div",null,Ge.createElement("div",{className:we.content,style:{marginBottom:10}},"* \u8BF4\u660E\uFF1A"),Ge.createElement("div",{className:we.content,style:{marginBottom:20}},"1\u3001\u590D\u5236\uFF1A\u7CFB\u7EDF\u5C06\u590D\u5236\u5E76\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684\u9879\u76EE\u53D1\u9001\u5230\u8BFE\u5802\u4E2D\u4F7F\u7528\uFF08\u4E0D\u4F1A\u590D\u5236\u5B66\u751F\u7684\u6311\u6218\u8BB0\u5F55\uFF09\uFF0C\u65B0\u7684\u9879\u76EE\u652F\u6301\u8FDB\u884C\u7F16\u8F91\u5E76\u4E0E\u539F\u9879\u76EE\u4FE1\u606F\u4E92\u4E0D\u5F71\u54CD\u3002"),Ge.createElement("div",{className:`${we.content} ${we.orangeColor}`},"2\u3001\u4E0D\u590D\u5236\uFF1A\u5F53\u524D\u9879\u76EE\u4F1A\u88AB\u76F4\u63A5\u53D1\u9001\u5230\u8BFE\u5802\u4E2D\u4F7F\u7528\uFF0C\u6311\u6218\u8FC7\u8BE5\u9879\u76EE\u7684\u5B66\u751F\u518D\u6B21\u8FDB\u5165\u9879\u76EE\u5F00\u542F\u6311\u6218\u65F6\uFF0C\u4F1A\u6E05\u7A7A\u4E4B\u524D\u7684\u6311\u6218\u8BB0\u5F55\u3002"))):Ge.createElement(Ue.default,{centered:!0,closable:!0,destroyOnClose:!0,open:$e,confirmLoading:xt,title:"\u63D0\u793A",width:682,onCancel:Ve,onOk:()=>ve(void 0,null,function*(){var kt;ct(!0);let Rt=0;if(Et){const Gt=ae({},vt.getFieldsValue());Rt=(kt=lt==null?void 0:lt.course_data_list)==null?void 0:kt.map(ln=>Gt[ln.id]!==void 0?fe(ae({},ln),{is_use:Gt[ln.id]}):ln)}yield Qe(Rt),ct(!1)})},Ge.createElement("div",{className:we.content},Ge.createElement(xe,{studentNames:lt==null?void 0:lt.student_names,total:lt==null?void 0:lt.student_count}),"\u5B66\u4E60\u8FC7\u8BE5\u5B9E\u8DF5\u9879\u76EE\u3002",Et?Ge.createElement(tt.default,{form:vt,preserve:!1},Ge.createElement("h3",null,"\u5F53\u524D\u5B9E\u8BAD\u4E0D\u53EF\u590D\u5236\uFF0C\u5DF2\u7ECF\u68C0\u6D4B\u5230\u4EE5\u4E0B\u8BFE\u5802\u5B58\u5728\u8BE5\u5B9E\u8BAD\uFF0C\u540C\u4E00\u5B9E\u8BAD\u5728\u8BFE\u5802\u4E2D\u91CD\u590D\u4F7F\u7528\u65F6\uFF0C\u4F1A\u5BFC\u81F4\u6210\u7EE9\u4E92\u76F8\u5F71\u54CD\uFF0C\u8BF7\u786E\u8BA4\u662F\u5426\u7EE7\u7EED\u4F7F\u7528"),Xt==null?void 0:Xt.map(kt=>Ge.createElement(Ge.Fragment,{key:kt.id},Ge.createElement("h3",{className:"ml15 mb5"},kt.name),Ge.createElement(tt.default.Item,{name:kt.id,initialValue:1},Ge.createElement(Ne.ZP.Group,{className:we.content},Ge.createElement(Ne.ZP,{value:1,style:{color:"#464f66"}},"\u7EE7\u7EED\u4F7F\u7528"),Ge.createElement(Ne.ZP,{value:0,style:{color:"#464f66"}},"\u4E0D\u4F7F\u7528")))))):Ge.createElement("div",null,"\u8BE5\u9879\u76EE\u4E0D\u652F\u6301\u590D\u5236\uFF0C\u82E5\u786E\u8BA4\u7EE7\u7EED\u53D1\u9001\uFF0C",Ge.createElement("span",{className:we.orangeColor},"\u5F53\u524D\u9879\u76EE\u4F1A\u88AB\u76F4\u63A5\u53D1\u9001\u5230\u8BFE\u5802\u4E2D\u4F7F\u7528\uFF0C\u6311\u6218\u8FC7\u8BE5\u9879\u76EE\u7684\u5B66\u751F\u518D\u6B21\u8FDB\u5165\u9879\u76EE\u5F00\u542F\u6311\u6218\u65F6\uFF0C\u4F1A\u6E05\u7A7A\u4E4B\u524D\u7684\u6311\u6218\u8BB0\u5F55\u3002"),"\uFF08\u5982\u679C\u4E0D\u60F3\u6E05\u7A7A\u5B66\u751F\u4E4B\u524D\u7684\u6311\u6218\u8BB0\u5F55\uFF0C\u5EFA\u8BAE\u53C2\u7167\u8BE5\u5B9E\u8DF5\u9879\u76EE\u7684\u5185\u5BB9\u81EA\u884C\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684\u9879\u76EE\uFF0C\u6216\u8005\u5C1D\u8BD5\u8054\u7CFB\u9879\u76EE\u521B\u5EFA\u4EBA\u5F00\u653E\u672C\u9879\u76EE\u7684\u590D\u5236\u6743\u9650\uFF09\u3002"))))},Se=function(){const[Ve,Qe]=(0,Ge.useState)(!1),[$e,gt]=(0,Ge.useState)();return[Ve,()=>Qe(!1),$e,Et=>ve(this,null,function*(){var vt;const Lt=Et,{isImportMultipleCourse:St=!1}=Lt,xt=de(Lt,["isImportMultipleCourse"]);console.log(Et);const ct=(Et==null?void 0:Et.result)||(yield(0,Te.Tr)(xt));return"status"in ct?!1:St?((vt=ct==null?void 0:ct.course_data_list)==null?void 0:vt.some(Xt=>Xt.is_show))?(gt(ct),Qe(!0),!0):ct.course_data_list||[]:ct.student_count===0?!1:(gt(ct),Qe(!0),!0)})]},Le=Ve=>{const[Qe]=tt.default.useForm(),[$e,gt]=(0,Ge.useState)(!1),{onCancel:lt,onOk:At,visible:Et,inPaper:vt=!1,renderData:Lt,type:St,isMultipleCourse:xt=!1,position:ct}=Ve;let Dt=(0,Ge.useMemo)(()=>vt?[{title:"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0",dataIndex:"name",width:424,align:"center",ellipsis:!0,className:we.tableCell,render(Rt,Gt){return Ge.createElement("a",{href:`/shixuns/${Gt.identifier}/challenges`,target:"_blank"},Rt)}},{title:"\u662F\u5426\u590D\u5236",dataIndex:"is_copy",align:"center",render:(Rt,Gt)=>Ge.createElement(Ge.Fragment,null,Ge.createElement(tt.default.Item,{name:[`${St==="subject"?Gt.stage_shixun_id:Gt.shixun_course_id||Gt.id}`,"is_copy"],initialValue:1},Ge.createElement(Ne.ZP.Group,null,Ge.createElement(Ne.ZP,{value:1},"\u662F"),Ge.createElement(Ne.ZP,{value:0},"\u5426"))),Ge.createElement(tt.default.Item,{name:[`${St==="subject"?Gt==null?void 0:Gt.stage_shixun_id:Gt.shixun_course_id||Gt.id}`,"is_use"],hidden:!0,initialValue:1},Ge.createElement(Ke.default,{type:"hidden"})))}]:[{title:"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0",dataIndex:"name",width:424,align:"center",ellipsis:!0,className:we.tableCell,render(Rt,Gt){return Ge.createElement("a",{href:`/shixuns/${Gt.identifier}/challenges`,target:"_blank"},Rt)}},{title:"\u662F\u5426\u4F7F\u7528",dataIndex:"is_use",align:"center",render:(Rt,Gt)=>Ge.createElement(tt.default.Item,{name:[`${St==="subject"?Gt.stage_shixun_id:Gt.shixun_course_id||Gt.id}`,"is_use"],initialValue:1},Ge.createElement(Ne.ZP.Group,null,Ge.createElement(Ne.ZP,{value:1},"\u662F"),Ge.createElement(Ne.ZP,{value:0},"\u5426")))},{title:"\u662F\u5426\u590D\u5236",dataIndex:"is_copy",align:"center",render:(Rt,Gt)=>Ge.createElement(tt.default.Item,{name:[`${St==="subject"?Gt.stage_shixun_id:Gt.shixun_course_id||Gt.id}`,"is_copy"],initialValue:1},Ge.createElement(Ne.ZP.Group,null,Ge.createElement(Ne.ZP,{value:1},"\u662F"),Ge.createElement(Ne.ZP,{value:0},"\u5426")))}],[vt]),Xt=(0,Ge.useMemo)(()=>vt?[{title:"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0",dataIndex:"name",width:424,className:we.tableCell,align:"center",ellipsis:!0,render:(Rt,Gt)=>Ge.createElement(Ge.Fragment,null,Ge.createElement("a",{href:`/shixuns/${Gt.identifier}/challenges`,target:"_blank"},Rt),Ge.createElement(tt.default.Item,{name:[`${St==="subject"?Gt==null?void 0:Gt.stage_shixun_id:Gt.shixun_course_id||Gt.id}`,"is_copy"],hidden:!0,initialValue:0},Ge.createElement(Ke.default,{type:"hidden"})),Ge.createElement(tt.default.Item,{name:[`${St==="subject"?Gt==null?void 0:Gt.stage_shixun_id:Gt.shixun_course_id||Gt.id}`,"is_use"],hidden:!0,initialValue:1},Ge.createElement(Ke.default,{type:"hidden"})))}]:[{title:"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0",dataIndex:"name",width:424,className:we.tableCell,ellipsis:!0,align:"center",render:(Rt,Gt)=>Ge.createElement("a",{href:`/shixuns/${Gt.identifier}/challenges`,target:"_blank"},Rt)},{title:"\u662F\u5426\u4F7F\u7528",dataIndex:"is_use",align:"center",render:(Rt,Gt)=>Ge.createElement(Ge.Fragment,null,Ge.createElement(tt.default.Item,{name:[`${St==="subject"?Gt==null?void 0:Gt.stage_shixun_id:Gt.shixun_course_id||Gt.id}`,"is_use"],initialValue:0},Ge.createElement(Ne.ZP.Group,null,Ge.createElement(Ne.ZP,{value:1},"\u662F"),Ge.createElement(Ne.ZP,{value:0},"\u5426"))),Ge.createElement(tt.default.Item,{name:[`${St==="subject"?Gt==null?void 0:Gt.stage_shixun_id:Gt.shixun_course_id||Gt.id}`,"is_copy"],hidden:!0,initialValue:0},Ge.createElement(Ke.default,{type:"hidden"})))}],[vt]);if(xt){const Rt={title:"\u8BFE\u5802\u540D\u79F0",ellipsis:!0,dataIndex:"course_name",width:190,align:"center",className:we.tableCell,render:(Gt,ln)=>Ge.createElement("a",{href:`/classrooms/${ln.course_id}`},Gt)};Dt=[Rt,...Dt],Xt=[Rt,...Xt]}const kt=(0,Ge.useMemo)(()=>ce({used:Lt==null?void 0:Lt.repeat_shixun_num,copy:Lt==null?void 0:Lt.can_copy_num,canNotCopy:Lt==null?void 0:Lt.no_copy_num,studentNames:Lt==null?void 0:Lt.student_names,studentCount:Lt==null?void 0:Lt.student_count,is_random:Lt==null?void 0:Lt.is_random,inPaper:vt,position:ct}),[Lt,vt,ct]);return Ge.createElement(Ue.default,{title:"\u63D0\u793A",centered:!0,open:Et,confirmLoading:$e,onOk:()=>ve(void 0,null,function*(){gt(!0);const Rt=Qe.getFieldsValue(),Gt=Object.keys(Rt).map(ln=>({id:parseInt(ln.split("_")[0]),course_id:parseInt(ln.split("_")[1]),is_use:Rt[ln].is_use,is_copy:Rt[ln].is_copy}));yield At(Gt),gt(!1)}),onCancel:lt,width:880,okText:"\u786E\u8BA4",className:we.antdModal,destroyOnClose:!0},Ge.createElement(tt.default,{form:Qe,preserve:!1},Ge.createElement("div",{className:we.brief},kt),Ge.createElement("div",{style:{marginBottom:30}},Ge.createElement("div",{style:{marginBottom:20}},"* \u8BF4\u660E"),Ge.createElement("div",{style:{marginBottom:20}},"1\u3001\u590D\u5236\uFF1A\u7CFB\u7EDF\u5C06\u590D\u5236\u5E76\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684\u9879\u76EE\u53D1\u9001\u5230\u8BFE\u5802\u4E2D\u4F7F\u7528\uFF08\u4E0D\u4F1A\u590D\u5236\u5B66\u751F\u7684\u6311\u6218\u8BB0\u5F55\uFF09\uFF0C\u65B0\u7684\u9879\u76EE\u652F\u6301\u8FDB\u884C\u7F16\u8F91\u5E76\u4E0E\u539F\u9879\u76EE\u4FE1\u606F\u4E92\u4E0D\u5F71\u54CD\u3002"),Ge.createElement("div",{className:we.orangeColor},"2\u3001\u4E0D\u590D\u5236\uFF1A\u5F53\u524D\u9879\u76EE\u4F1A\u88AB\u76F4\u63A5\u53D1\u9001\u5230\u8BFE\u5802\u4E2D\u4F7F\u7528\uFF0C\u6311\u6218\u8FC7\u8BE5\u9879\u76EE\u7684\u5B66\u751F\u518D\u6B21\u8FDB\u5165\u9879\u76EE\u5F00\u542F\u6311\u6218\u65F6\uFF0C\u4F1A\u6E05\u7A7A\u4E4B\u524D\u7684\u6311\u6218\u8BB0\u5F55\u3002")),(Lt==null?void 0:Lt.can_copy_num)>0&&Ge.createElement("div",null,Ge.createElement("div",{className:we.contentTitle},"\u652F\u6301\u590D\u5236\u7684\u9879\u76EE"),Ge.createElement(Be.default,{columns:Dt,className:we.antdTable,dataSource:Lt==null?void 0:Lt.can_copy_list,rowKey:St==="subject"?"stage_shixun_id":"id",pagination:!1,scroll:{y:240},bordered:!0})),(Lt==null?void 0:Lt.no_copy_num)>0&&Ge.createElement("div",null,Ge.createElement("div",{className:we.contentTitle},"\u4E0D\u652F\u6301\u590D\u5236\u7684\u9879\u76EE"),Ge.createElement(Be.default,{columns:Xt,className:we.antdTable,dataSource:Lt==null?void 0:Lt.no_copy_list,rowKey:St==="subject"?"stage_shixun_id":"id",pagination:!1,scroll:{y:200},bordered:!0})),(Lt==null?void 0:Lt.no_use_list.length)>0&&(Lt==null?void 0:Lt.no_use_list.map(Rt=>Ge.createElement("div",{key:St==="subject"?Rt.stage_shixun_id:Rt.shixun_course_id||Rt.id},Ge.createElement(tt.default.Item,{name:[`${St==="subject"?Rt==null?void 0:Rt.stage_shixun_id:Rt.shixun_course_id||Rt.id}`,"is_copy"],hidden:!0,initialValue:0},Ge.createElement(Ke.default,{type:"hidden"})),Ge.createElement(tt.default.Item,{name:[`${St==="subject"?Rt==null?void 0:Rt.stage_shixun_id:Rt.shixun_course_id||Rt.id}`,"is_use"],hidden:!0,initialValue:1},Ge.createElement(Ke.default,{type:"hidden"})))))))};var Ze=Ve=>{const{modalType:Qe}=Ve;return Qe==="multiple"?Ge.createElement(Le,ae({},Ve)):Ge.createElement(pe,ae({},Ve))}},4194:function(en,tn,Oe){"use strict";var Ge=Oe(59301),tt=Oe(78241),Ue=Oe(95237),Ne=Oe(57809),Ke=Oe(92832),Be=Oe(88522),we=Oe(3113),Te=Oe(24905),ke=Oe(6848),Ie=Oe(8591),Ce=Oe(2595),Me=Oe(42203),je=Oe(61186),ye=Oe.n(je),ie=Oe(26724),ae=Oe.n(ie),fe=Oe(58143),de=Oe(16597),ve=Oe(94606),xe=Oe(52222),ce=Oe(59301),pe=Object.defineProperty,Se=Object.defineProperties,Le=Object.getOwnPropertyDescriptors,ze=Object.getOwnPropertySymbols,Ze=Object.prototype.hasOwnProperty,Ve=Object.prototype.propertyIsEnumerable,Qe=(xt,ct,Dt)=>ct in xt?pe(xt,ct,{enumerable:!0,configurable:!0,writable:!0,value:Dt}):xt[ct]=Dt,$e=(xt,ct)=>{for(var Dt in ct||(ct={}))Ze.call(ct,Dt)&&Qe(xt,Dt,ct[Dt]);if(ze)for(var Dt of ze(ct))Ve.call(ct,Dt)&&Qe(xt,Dt,ct[Dt]);return xt},gt=(xt,ct)=>Se(xt,Le(ct)),lt=(xt,ct,Dt)=>new Promise((Xt,kt)=>{var Rt=Rn=>{try{ln(Dt.next(Rn))}catch(jn){kt(jn)}},Gt=Rn=>{try{ln(Dt.throw(Rn))}catch(jn){kt(jn)}},ln=Rn=>Rn.done?Xt(Rn.value):Promise.resolve(Rn.value).then(Rt,Gt);ln((Dt=Dt.apply(xt,ct)).next())});const At=[];function Et({onSearch:xt,schools:ct}){return ce.createElement(tt.default,{colon:!1,layout:"horizontal",onFinish:xt,initialValues:{keyword:"",school_name:"",search_type:"1"}},ce.createElement(Ue.Z,{style:{flexWrap:"nowrap"}},ce.createElement(tt.default.Item,{name:"search_type",label:"\u641C\u7D22\u7C7B\u578B"},ce.createElement(Ne.default,{popupClassName:xe.Z.selectdown,style:{width:106}},ce.createElement(Ne.default.Option,{value:"1"},"\u59D3\u540D"),ce.createElement(Ne.default.Option,{value:"2"},"\u624B\u673A\u53F7"),ce.createElement(Ne.default.Option,{value:"3"},"\u90AE\u7BB1"))),ce.createElement(tt.default.Item,{style:{marginLeft:20},label:"\u641C\u7D22\u5185\u5BB9",name:"keyword",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u641C\u7D22\u5185\u5BB9"}]},ce.createElement(Ke.default,{allowClear:!0,style:{width:300},size:"middle"})),ce.createElement(tt.default.Item,{style:{marginLeft:20},label:"\u5355\u4F4D",name:"school_name"},ce.createElement(Be.Z,{options:ct,style:{width:300},size:"middle",showSearch:!0,filterOption:(Dt,Xt)=>Xt.value.toUpperCase().indexOf(Dt.toUpperCase())!==-1,placeholder:"\u8BF7\u8F93\u5165\u5355\u4F4D\u540D\u79F0"})),ce.createElement(we.ZP,{type:"primary",style:{background:"#F6F7F9 linear-gradient(180deg, #FFFFFF 0%, #F6F7F9 100%)",boxShadow:"0px 2px 4px 0px #E0DFE1, inset 0px 1px 3px 0px rgba(255,255,255,0.5)",borderRadius:16,color:"#165DFF",marginLeft:40,border:"1px solid #BACFFE"},htmlType:"submit"},"\u641C\u7D22")))}var vt=(xt=>(xt[xt.INITDATA=0]="INITDATA",xt[xt.INITSCHOOLS=1]="INITSCHOOLS",xt[xt.SHOWLOADING=2]="SHOWLOADING",xt[xt.SELECTEDIDS=3]="SELECTEDIDS",xt[xt.SETQUERY=4]="SETQUERY",xt[xt.SETPAGE=5]="SETPAGE",xt))(vt||{});function Lt(xt,ct){switch(ct.type){case 0:return $e($e({},xt),ct.payload);case 4:return $e($e({},xt),ct.payload);case 5:return gt($e({},xt),{page:ct.payload,reload:!1});case 2:return gt($e({},xt),{loading:ct.payload});case 1:return gt($e({},xt),{schools:ct.payload});case 3:return gt($e({},xt),{selectedIds:ct.payload});default:throw new Error}}const St={data:[],schools:[],loading:!1,selectedIds:[],query:null,page:1,count:0,reload:!1};tn.Z=({onSelect:xt,onCancel:ct,container_id:Dt,container_type:Xt})=>{const[kt,Rt]=(0,Ge.useReducer)(Lt,St),{data:Gt,schools:ln,loading:Rn,selectedIds:jn,page:er,count:an,query:Un,reload:Kn}=kt;(0,Ge.useEffect)(()=>{function Yt(){return lt(this,null,function*(){const{users:gn,user_count:_t}=yield(0,de.nQ)(gt($e({},Un),{page:er,container_type:Xt,container_id:Dt,display_aliases:!0}));Rt({type:0,payload:{data:Kn?gn:[...Gt,...gn],count:_t}})})}Un&&Yt()},[er,Un,Kn,Dt,Xt]),(0,Ge.useEffect)(()=>{function Yt(){return lt(this,null,function*(){const{school_names:gn}=yield(0,de.K$)({display_aliases:!0});Rt({type:1,payload:gn.map(_t=>({value:_t}))})})}Yt()},[]);const ur=[{title:"",dataIndex:"added",width:40,ellipsis:!0,render:(Yt,gn)=>ce.createElement(Te.default,{value:gn.numid,checked:jn.includes(gn.numid),disabled:!!Yt})},{title:"\u59D3\u540D",width:100,ellipsis:!0,align:"left",dataIndex:"username",render:(Yt,gn)=>ce.createElement("div",null,ce.createElement(ke.Z,{placement:"bottom",title:Yt},ce.createElement(Me.Link,{style:{color:"#000000"},className:"bold c-black",to:`/users/${gn.login}`,target:"_blank"},Yt||"--")))},{title:"\u624B\u673A",width:100,dataIndex:"phone",ellipsis:!0,render:Yt=>ce.createElement(ke.Z,{placement:"bottom",title:Yt},ce.createElement("span",{style:{color:"#000000"}},Yt||"--"))},{title:"\u90AE\u7BB1",dataIndex:"email",width:100,ellipsis:!0,render:Yt=>ce.createElement(ke.Z,{placement:"bottom",title:Yt},ce.createElement("span",{style:{color:"#000000"}},Yt||"--"))},{title:"\u5B66\u53F7/\u5DE5\u53F7",width:100,dataIndex:"student_number",ellipsis:!0,render:Yt=>ce.createElement(ke.Z,{placement:"bottom",title:Yt},ce.createElement("span",{style:{color:"#000000"}},Yt||"--"))},{title:"\u5B66\u6821/\u5355\u4F4D",width:150,dataIndex:"school_name",ellipsis:!0,render:Yt=>ce.createElement(ke.Z,{placement:"bottom",title:Yt},ce.createElement("span",{style:{color:"#000000"}},Yt||"--"))},{title:"\u9662\u7CFB/\u90E8\u95E8",dataIndex:"depart_name",width:130,ellipsis:!0,render:Yt=>ce.createElement(ke.Z,{placement:"bottom",title:Yt},ce.createElement("span",{style:{color:"#000000"}},Yt||"--"))},{title:"\u5B9E\u540D\u8BA4\u8BC1",dataIndex:"auth",width:100,render:Yt=>ce.createElement("span",{style:{color:"#000000"}},Yt?"\u662F":"\u5426")},{title:"\u6700\u540E\u767B\u5F55\u65F6\u95F4",dataIndex:"last_login_on",width:140,ellipsis:!0,render:Yt=>ce.createElement(ke.Z,{placement:"bottom",title:Yt},ce.createElement("span",{style:{color:"#000000"}},ye()(Yt).format("YYYY-MM-DD HH:mm")))},{title:"\u72B6\u6001",dataIndex:"added",width:80,render:Yt=>{if(Yt===1)return ce.createElement("span",{style:{color:"#000000"}},"\u5DF2\u6DFB\u52A0")}}];function Xn(Yt){Rt({type:4,payload:{page:1,reload:!0,query:Yt}})}function Nn(Yt){Rt({type:5,payload:Yt})}function _n(Yt){let gn=jn.indexOf(Yt);gn>=0?jn.splice(gn,1):jn.push(Yt),Rt({type:3,payload:[...jn]})}function un(){jn.length===0?Ie.ZP.warning("\u8BF7\u5148\u5728\u4E0B\u9762\u5217\u8868\u4E2D\u9009\u62E9\u8981\u6DFB\u52A0\u6210\u5458"):(xt(jn,Dt),Rt({type:0,payload:{data:[],count:0,page:1,selectedIds:[],query:null,reload:!1}}))}const qt=an>er*10;return ce.createElement("div",{className:"select-user-container",style:{paddingBottom:20}},ce.createElement(Et,{onSearch:Xn,schools:ln}),Un?ce.createElement(ce.Fragment,null,ce.createElement("div",{className:"flexd-table-header mt20"},ce.createElement(ve.Gi,null,ce.createElement(Ce.default,{pagination:!1,dataSource:At,columns:ur}))),ce.createElement("div",{style:{maxHeight:260,overflow:"auto",marginBottom:20}},ce.createElement(ae(),{initialLoad:!1,pageStart:1,threshold:20,loadMore:Nn,hasMore:qt,useWindow:!1},ce.createElement(ve.Gi,null,ce.createElement(Ce.default,{loading:Rn,showHeader:!1,pagination:!1,dataSource:Gt,columns:ur,onRow:Yt=>({onClick:gn=>{Yt.added!==1&&_n(Yt.numid)}})})))),ce.createElement("div",{className:"flex-container flex-end"},ce.createElement(we.ZP,{type:"ghost",style:{marginRight:10,border:"1px solid #C3CFE0",color:"#464F66"},onClick:ct},"\u53D6\u6D88"),ce.createElement(we.ZP,{style:{background:"#F6F7F9 linear-gradient(180deg, #FFFFFF 0%, #F6F7F9 100%)",boxShadow:"0px 2px 4px 0px #E0DFE1, inset 0px 1px 3px 0px rgba(255,255,255,0.5)",borderRadius:2,color:"#165DFF",border:"1px solid #BACFFE"},type:"primary",onClick:un},"\u786E\u5B9A"))):ce.createElement("div",{className:"tc font16 c-light-black mt40 pb30"},ce.createElement("img",{src:fe,width:"100",alt:""}),ce.createElement("br",null),ce.createElement("p",{className:"mt20"},"\u8BF7\u641C\u7D22\u8981\u6DFB\u52A0\u7684\u4EBA\u5458")))}},25039:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return ie}});var Ge=Oe(59301),tt=Oe(8591),Ue=Oe(38854),Ne=Oe(93726),Ke=Oe(37312),Be=Oe(2119),we=Oe(56102),Te=Oe(39171),ke={watermark:"watermark___hNYlv",videovideo:"videovideo___ovOkV",animate__loop:"animate__loop___mvL6s",upDown:"upDown___SlgHv",container:"container___g1WYG","video-container":"video-container___XPkWR","video-controls":"video-controls___to0Zq",hide:"hide___NA3DV","video-progress":"video-progress___gqHsd",seek:"seek___iZHBm","seek-tooltip":"seek-tooltip___uWyXx","bottom-controls":"bottom-controls___uoIBm","left-controls":"left-controls___mBEx4","right-controls":"right-controls___e9L6r",rateOverlay:"rateOverlay___HHBWe",controlText:"controlText___M_BWR","volume-controls":"volume-controls___fa3mE","fullscreen-button":"fullscreen-button___ur0es","fullscreen-button1":"fullscreen-button1___rfaXm","pip-button":"pip-button___GFO8W","playback-animation":"playback-animation___ndURq",volume:"volume___OTmpP",hidden:"hidden___o7GkT"},Ie=(ae,fe,de)=>new Promise((ve,xe)=>{var ce=Le=>{try{Se(de.next(Le))}catch(ze){xe(ze)}},pe=Le=>{try{Se(de.throw(Le))}catch(ze){xe(ze)}},Se=Le=>Le.done?ve(Le.value):Promise.resolve(Le.value).then(ce,pe);Se((de=de.apply(ae,fe)).next())});function Ce(ae){if(isNaN(ae))return{minutes:"00",seconds:"00"};const fe=new Date(ae*1e3).toISOString().substr(11,8);return{hour:fe.substr(0,2),minutes:fe.substr(3,2),seconds:fe.substr(6,2)}}Object.defineProperty(HTMLMediaElement.prototype,"playing",{get:function(){return this.currentTime>0&&!this.paused&&!this.ended&&this.readyState>2}});function Me(ae,fe){return ae-fe}function je(ae){ae.sort(Me);let fe=0;for(let de=0;de<ae.length-1;de++){let ve=Math.abs(ae[de+1]-ae[de]);ve<21&&(fe+=ve)}return fe}const ye=/(android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini)/i;var ie=(0,Ge.forwardRef)(({allow_skip:ae,src:fe,toLog:de,videoId:ve,logWatchHistory:xe,courseId:ce=null,startTime:pe,handlePause:Se=()=>{},handlePlay:Le=()=>{},handlePlayEnded:ze=()=>{},autoPlay:Ze=!1,onPlayEnded:Ve=()=>{},isShowWaterMark:Qe=!0},$e)=>{var gt;fe=fe==null?void 0:fe.replace("http://","https://");const At=((gt=fe==null?void 0:fe.split("."))==null?void 0:gt.pop())==="flv",Et=(0,Ge.useRef)(),vt=(0,Ge.useRef)(),Lt=(0,Ge.useRef)(),St=(0,Ge.useRef)(),xt=(0,Ge.useRef)(),ct=(0,Ge.useRef)(),Dt=(0,Ge.useRef)(),Xt=(0,Ge.useRef)(),kt=(0,Ge.useRef)(),Rt=(0,Ge.useRef)(),Gt=(0,Ge.useRef)(),ln=(0,Ge.useRef)(),Rn=(0,Ge.useRef)(),jn=(0,Ge.useRef)(),er=navigator.userAgent.toLowerCase().match(ye),an=er?er[0]:"pc",Un=(0,Ge.useRef)(!1),Kn=(0,Be.eY)();let ur=0,Xn=0,Nn=0,_n=null,un=!1,qt=20,Yt=1,gn=!1,_t=!1,Jt=[];(0,Ge.useImperativeHandle)($e,()=>({getLastUpdatedTime:()=>Et.current.currentTime,getDuration:()=>Et.current.duration})),tt.ZP.config({maxCount:1,getContainer:()=>Lt.current});const wt=(0,Ge.useCallback)((rr,Jn=!1)=>{let An={point:Et.current.currentTime};_n?(An.log_id=_n,An.watch_duration=je(Jt),An.total_duration=Xn):(ce?(An.video_id=parseInt(ve,10),An.course_id=ce):An.video_id=ve,An.duration=ur,An.device=an),Jn&&(An.ed="1");function $n(){return Ie(this,null,function*(){gn=!0,_n=yield xe==null?void 0:xe(An),gn=!1,rr&&rr()})}$n()},[ve,ce]);(0,Ge.useEffect)(()=>{Et.current&&(St.current.style.display="none",xt.current.style.display="block"),tt.ZP.destroy();let rr=null;return Ne.Z.isSupported&&At&&fe&&(fe==null?void 0:fe.indexOf(".m3u8"))<0?(rr=Ne.Z.createPlayer({type:"flv",volume:.8,cors:!0,url:fe,muted:!1}),Et.current&&(rr.attachMediaElement(Et.current),rr.load())):Et.current.setAttribute("src",fe),ot(),()=>{rr&&(rr.unload(),rr.pause(),rr.destroy(),rr=null)}},[Et,At,fe]);function ut(){Et.current.paused?(St.current.style.display="none",xt.current.style.display="block"):(St.current.style.display="block",xt.current.style.display="none")}function ot(){Gt.current.style.display="none",Rn.current.style.display="none",ln.current.style.display="none",Et.current.muted||Et.current.volume===0?Gt.current.style.display="block":Et.current.volume>0&&Et.current.volume<=.5?Rn.current.style.display="block":ln.current.style.display="block"}(0,Ge.useEffect)(()=>{const rr=document.getElementById("play"),Jn=document.querySelectorAll(".playback-icons use");function An(){Le(),pe&&!Un.current&&(Et.current.currentTime=pe),Un.current=!0,Jt.push(Et.current.currentTime),un||(un=!0,de&&wt())}function $n(){return Ie(this,null,function*(){ut(),Jt.push(Et.current.currentTime),de&&wt(()=>{_n=null,Nn=0,un=!1,gn=!1,_t=!1,Jt=[],Xn=0,Yt=1},!0),Ve()})}function xr(){ct.current.value=Math.round(Et.current.currentTime),Dt.current.value=Math.round(Et.current.currentTime)}function mr(){const Jr=Ce(Math.round(Et.current.currentTime));kt.current.innerText=`${Jr.hour>0?Jr.hour+":":""}${Jr.minutes}:${Jr.seconds}`,kt.current.setAttribute("datetime",`${Jr.hour>0?" "+Jr.hour+" ":""}${Jr.minutes}m ${Jr.seconds}s`)}function Qr(){var Jr,oo,zi,It,Yo,ko,Fr;const Bi=Math.round((Jr=Et.current)==null?void 0:Jr.duration);(zi=(oo=ct.current)==null?void 0:oo.setAttribute)==null||zi.call(oo,"max",Bi),(Yo=(It=Dt.current)==null?void 0:It.setAttribute)==null||Yo.call(It,"max",Bi);const Fi=Ce(Bi);Xt.current&&(Xt.current.innerText=`${Fi.hour>0?Fi.hour+":":""}${Fi.minutes}:${Fi.seconds}`,(Fr=(ko=Xt.current).setAttribute)==null||Fr.call(ko,"datetime",`${Fi.hour>0?" "+Fi.hour+" ":""}${Fi.minutes}m ${Fi.seconds}s`))}function di(){try{const Jr=Math.round(Et.current.duration);ct.current.setAttribute("max",Jr),Dt.current.setAttribute("max",Jr);const oo=Ce(Jr);Xt.current.innerText=`${oo.hour>0?oo.hour+":":""}${oo.minutes}:${oo.seconds}`,Xt.current.setAttribute("datetime",`${oo.hour>0?" "+oo.hour+" ":""}${oo.minutes}m ${oo.seconds}s`),xr(),mr();const{width:zi,height:It,x:Yo,y:ko}=vt.current.getBoundingClientRect();if(Yo<0||ko<0||!zi)return;if(!_t){let Fr=Et.current.currentTime,Bi=Fr-Nn;Math.abs(Bi)<10?(Xn+=Math.abs(Bi),Nn=Fr,gn||Xn-Yt*qt>=0&&(Yt++,Jt.push(Nn),de&&wt())):(Nn=Fr,de&&wt())}}catch(Jr){console.log(Jr)}}function li(){_t=!0}function Ai(){Et.current.playing&&Jt.push(Et.current.currentTime,Nn),Nn=Et.current.currentTime,_t=!1}function fo(){ur=Et.current.duration,ur<=20&&(qt=ur/3),Et.current.addEventListener("play",An)}function Io(Jr){Jr.preventDefault(),(0,Te.vp)()?(Et.current.style.width="100%",Et.current.style.height="100%"):Et.current.style.cssText=""}function bo(){Se()}function ai(Jr){if(!ae){tt.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");return}const oo=Jr.target.dataset.seek?Jr.target.dataset.seek:Jr.target.value;Et.current.currentTime=oo,Dt.current.value=oo,ct.current.value=oo}function Pi(Jr){const oo=Math.round(Jr.offsetX/Jr.target.clientWidth*parseInt(Jr.target.getAttribute("max"),10));ct.current.setAttribute("data-seek",oo);const zi=Ce(oo);Rt.current.textContent=`${zi.hour>0?zi.hour+":":""}${zi.minutes}:${zi.seconds}`;const It=Et.current.getBoundingClientRect();Rt.current.style.left=`${Jr.pageX-It.left}px`}function ao(Jr){switch(Jr.code){case"Space":Jr.preventDefault(),Mt();break;case"ArrowRight":if(Jr.preventDefault(),!ae){tt.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");break}if(Et.current.currentTime>=Et.current.duration)break;Et.current.currentTime=parseInt(Et.current.currentTime)+5,xr();break;case"ArrowLeft":if(Jr.preventDefault(),!ae){tt.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");break}if(Et.current.currentTime===0)break;Et.current.currentTime=parseInt(Et.current.currentTime)-5,xr();break;case"ArrowUp":Jr.preventDefault(),Et.current.volume<1&&(Et.current.volume=(parseInt(Et.current.volume*10)+1)/10);break;case"ArrowDown":Jr.preventDefault(),Et.current.volume>0&&(Et.current.volume=(parseInt(Et.current.volume*10)-1)/10);break}}return Lt.current.addEventListener((0,Te.gH)(),Io),Et.current.addEventListener("canplay",fo),Et.current.addEventListener("ended",$n),Et.current.addEventListener("seeking",li),Et.current.addEventListener("seeked",Ai),Et.current.addEventListener("loadedmetadata",Qr),ct.current.addEventListener("mousemove",Pi),ct.current.addEventListener("input",ai),Et.current.addEventListener("timeupdate",di),Et.current.addEventListener("pause",bo),Et.current.addEventListener("volumechange",ot),document.addEventListener("keydown",ao),()=>{var Jr,oo,zi,It,Yo,ko,Fr,Bi,Fi,Qi,ii,Nt;(Jr=Et.current)==null||Jr.removeEventListener("canplay",fo),(oo=Et.current)==null||oo.removeEventListener("play",An),(zi=Et.current)==null||zi.removeEventListener("ended",$n),(It=Et.current)==null||It.removeEventListener("seeking",li),(Yo=Et.current)==null||Yo.removeEventListener("seeked",Ai),(ko=ct.current)==null||ko.removeEventListener("mousemove",Pi),(Fr=ct.current)==null||Fr.removeEventListener("input",ai),(Bi=Et.current)==null||Bi.removeEventListener("timeupdate",di),(Fi=Et.current)==null||Fi.removeEventListener("pause",bo),(Qi=Et.current)==null||Qi.removeEventListener("loadedmetadata",Qr),(ii=Et.current)==null||ii.removeEventListener("volumechange",ot),document.removeEventListener("keydown",ao),(Nt=Et.current)!=null&&Nt.playing&&(Jt.push(Nn,Et.current.currentTime),de&&wt())}},[Et,fe]),(0,Ge.useEffect)(()=>{if(Et.current.onended=()=>{ze(Et)},Et.current.oncontextmenu=()=>!1,(fe==null?void 0:fe.indexOf(".m3u8"))>-1){if(Et.current.canPlayType("application/vnd.apple.mpegurl"))Et.current.src=fe;else if(Ke.ZP.isSupported()){var rr=new Ke.ZP;rr.loadSource(fe),rr.attachMedia(Et.current)}}},[fe]);const[Pt,Ht]=(0,Ge.useState)(1),Mt=()=>{Et.current.paused||Et.current.ended?Et.current.play():Et.current.pause(),ut()};function hn(){Et.current.muted=!Et.current.muted,Et.current.muted?(jn.current.setAttribute("data-volume",volume.value),jn.current.value=0):jn.current.value=jn.current.dataset.volume}return Ge.createElement("div",{style:{position:"relative"},ref:Lt},Ge.createElement("div",{ref:vt,className:`${ke.watermark} animated_alternate animate__animated_10s animate__infinite animate__stepstart ${ke.animate__loop}`},Qe&&Kn?Kn.login:" "),Ge.createElement("div",{className:ke.container},Ge.createElement("div",{className:ke["video-container"],id:"video-container"},Ge.createElement("div",{className:ke["playback-animation"],id:"playback-animation"},Ge.createElement("svg",{className:ke["playback-icons"]},Ge.createElement("use",{className:"hidden",href:"#play-icon"}),Ge.createElement("use",{href:"#pause"}))),Ge.createElement("video",{className:ke.video,id:"video",preload:"auto",disablePictureInPicture:!0,ref:Et,autoPlay:Ze}),Ge.createElement("div",{className:`${ke["video-controls"]} `,id:"video-controls"},Ge.createElement("div",{className:ke["bottom-controls"]},Ge.createElement("div",{className:ke["left-controls"]},Ge.createElement("button",{"data-title":"\u64AD\u653E/\u6682\u505C",id:"play",onClick:Mt},Ge.createElement("svg",{className:ke["playback-icons"]},Ge.createElement("use",{ref:xt,href:"#play-icon"}),Ge.createElement("use",{ref:St,style:{display:"none"},href:"#pause"}))),Ge.createElement("div",{className:ke.time},Ge.createElement("time",{id:"time-elapsed",ref:kt},"00:00"),Ge.createElement("span",null," / "),Ge.createElement("time",{id:"duration",ref:Xt},"00:00"))),Ge.createElement("div",{className:ke["right-controls"]},ae&&Ge.createElement(Ue.Z,{placement:"top",overlayClassName:ke.rateOverlay,getPopupContainer:rr=>rr.parentNode,menu:{items:[{key:"1",label:Ge.createElement("span",{onClick:()=>{Ht(1),Et.current.playbackRate=1}},"1.0x")},{key:"2",label:Ge.createElement("span",{onClick:()=>{Ht(1.5),Et.current.playbackRate=1.5}},"1.5x")},{key:"3",label:Ge.createElement("span",{onClick:()=>{Ht(2),Et.current.playbackRate=2}},"2.0x")}]}},Ge.createElement("div",{className:`${ke.controlText} mr5`},"\u500D\u901F")),Ge.createElement(we.CopyToClipboard,{text:fe,onCopy:()=>tt.ZP.success("\u590D\u5236\u6210\u529F")},Ge.createElement("button",{"data-title":"\u590D\u5236\u94FE\u63A5"},Ge.createElement("i",{className:"icon-lianjie2 iconfont",style:{fontSize:"12px",color:"white"}}))),Ge.createElement("div",{className:ke["volume-controls"]},Ge.createElement("button",{"data-title":"\u5F00\u542F/\u5173\u95ED\u58F0\u97F3",className:ke["volume-button"],id:"volume-button",onClick:hn},Ge.createElement("i",{ref:Gt,className:"icon-a-bianzu8 iconfont",style:{fontSize:"14px",color:"white"}}),Ge.createElement("i",{ref:Rn,className:"icon-shengyinkaibeifen iconfont",style:{fontSize:"14px",color:"white"}}),Ge.createElement("i",{ref:ln,className:"icon-shengyinkai iconfont",style:{fontSize:"14px",color:"white"}})),Ge.createElement("input",{className:ke.volume,id:"volume",value:"1","data-mute":"0.5",type:"range",max:"1",min:"0",step:"0.01",ref:jn,style:{display:"none"},onClick:ot})),Ge.createElement("button",{"data-title":"\u5168\u5C4F/\u9000\u51FA\u5168\u5C4F",className:ke["fullscreen-button"],onClick:()=>{(0,Te.vp)()?(0,Te.BU)():(0,Te.Dj)(Lt.current)}},Ge.createElement("i",{className:"icon-fangda1 iconfont",style:{fontSize:"12px",color:"white"}})))),Ge.createElement("div",{className:ke["video-progress"]},Ge.createElement("progress",{ref:Dt,value:"0",min:"0"}),Ge.createElement("input",{className:ke.seek,ref:ct,value:"0",min:"0",type:"range",step:"1"}),Ge.createElement("div",{className:ke["seek-tooltip"],ref:Rt,id:"seek-tooltip"},"00:00"))))),Ge.createElement("svg",{style:{display:"none"}},Ge.createElement("defs",null,Ge.createElement("symbol",{id:"pause",viewBox:"0 0 24 24"},Ge.createElement("path",{d:"M14.016 5.016h3.984v13.969h-3.984v-13.969zM6 18.984v-13.969h3.984v13.969h-3.984z"})),Ge.createElement("symbol",{id:"play-icon",viewBox:"0 0 24 24"},Ge.createElement("path",{d:"M8.016 5.016l10.969 6.984-10.969 6.984v-13.969z"})),Ge.createElement("symbol",{id:"volume-high",viewBox:"0 0 24 24"},Ge.createElement("path",{d:"M14.016 3.234q3.047 0.656 5.016 3.117t1.969 5.648-1.969 5.648-5.016 3.117v-2.063q2.203-0.656 3.586-2.484t1.383-4.219-1.383-4.219-3.586-2.484v-2.063zM16.5 12q0 2.813-2.484 4.031v-8.063q1.031 0.516 1.758 1.688t0.727 2.344zM3 9h3.984l5.016-5.016v16.031l-5.016-5.016h-3.984v-6z"})),Ge.createElement("symbol",{id:"volume-low",viewBox:"0 0 24 24"},Ge.createElement("path",{d:"M5.016 9h3.984l5.016-5.016v16.031l-5.016-5.016h-3.984v-6zM18.516 12q0 2.766-2.531 4.031v-8.063q1.031 0.516 1.781 1.711t0.75 2.32z"})),Ge.createElement("symbol",{id:"volume-mute",viewBox:"0 0 24 24"},Ge.createElement("path",{d:"M12 3.984v4.219l-2.109-2.109zM4.266 3l16.734 16.734-1.266 1.266-2.063-2.063q-1.547 1.313-3.656 1.828v-2.063q1.172-0.328 2.25-1.172l-4.266-4.266v6.75l-5.016-5.016h-3.984v-6h4.734l-4.734-4.734zM18.984 12q0-2.391-1.383-4.219t-3.586-2.484v-2.063q3.047 0.656 5.016 3.117t1.969 5.648q0 2.203-1.031 4.172l-1.5-1.547q0.516-1.266 0.516-2.625zM16.5 12q0 0.422-0.047 0.609l-2.438-2.438v-2.203q1.031 0.516 1.758 1.688t0.727 2.344z"})),Ge.createElement("symbol",{id:"fullscreen",viewBox:"0 0 24 24"},Ge.createElement("path",{d:"M14.016 5.016h4.969v4.969h-1.969v-3h-3v-1.969zM17.016 17.016v-3h1.969v4.969h-4.969v-1.969h3zM5.016 9.984v-4.969h4.969v1.969h-3v3h-1.969zM6.984 14.016v3h3v1.969h-4.969v-4.969h1.969z"})),Ge.createElement("symbol",{id:"fullscreen-exit",viewBox:"0 0 24 24"},Ge.createElement("path",{d:"M15.984 8.016h3v1.969h-4.969v-4.969h1.969v3zM14.016 18.984v-4.969h4.969v1.969h-3v3h-1.969zM8.016 8.016v-3h1.969v4.969h-4.969v-1.969h3zM5.016 15.984v-1.969h4.969v4.969h-1.969v-3h-3z"})),Ge.createElement("symbol",{id:"pip",viewBox:"0 0 24 24"},Ge.createElement("path",{d:"M21 19.031v-14.063h-18v14.063h18zM23.016 18.984q0 0.797-0.609 1.406t-1.406 0.609h-18q-0.797 0-1.406-0.609t-0.609-1.406v-14.016q0-0.797 0.609-1.383t1.406-0.586h18q0.797 0 1.406 0.586t0.609 1.383v14.016zM18.984 11.016v6h-7.969v-6h7.969z"})))))})},36866:function(en,tn,Oe){"use strict";Oe.d(tn,{h:function(){return ce},Z:function(){return xe}});var Ge=Oe(59301),tt=Oe(57809),Ue=Oe(78241),Ne=Oe(3113),Ke=Oe(89780),Be=Oe.n(Ke),we=Oe(79906),Te=Object.defineProperty,ke=Object.defineProperties,Ie=Object.getOwnPropertyDescriptors,Ce=Object.getOwnPropertySymbols,Me=Object.prototype.hasOwnProperty,je=Object.prototype.propertyIsEnumerable,ye=(pe,Se,Le)=>Se in pe?Te(pe,Se,{enumerable:!0,configurable:!0,writable:!0,value:Le}):pe[Se]=Le,ie=(pe,Se)=>{for(var Le in Se||(Se={}))Me.call(Se,Le)&&ye(pe,Le,Se[Le]);if(Ce)for(var Le of Ce(Se))je.call(Se,Le)&&ye(pe,Le,Se[Le]);return pe},ae=(pe,Se)=>ke(pe,Ie(Se));const fe=tt.default.Option,de={labelCol:{span:4},wrapperCol:{span:20}},ve={asp:["ASP","vbscript"],actionscript:["ActionScript(3.0)/Flash/Flex","clike"],bash:["Bash/Bat","shell"],css:["CSS","css"],c:["C","clike"],cpp:["C++","clike"],csharp:["C#","clike"],coffeescript:["CoffeeScript","coffeescript"],d:["D","d"],dart:["Dart","dart"],delphi:["Delphi/Pascal","pascal"],erlang:["Erlang","erlang"],go:["Golang","go"],groovy:["Groovy","groovy"],html:["HTML","text/html"],java:["Java","clike"],json:["JSON","text/json"],javascript:["Javascript","javascript"],lua:["Lua","lua"],less:["LESS","css"],markdown:["Markdown","gfm"],"objective-c":["Objective-C","clike"],php:["PHP","php"],perl:["Perl","perl"],python:["Python","python"],r:["R","r"],rst:["reStructedText","rst"],ruby:["Ruby","ruby"],sql:["SQL","sql"],sass:["SASS/SCSS","sass"],shell:["Shell","shell"],scala:["Scala","clike"],swift:["Swift","clike"],vb:["VB/VBScript","vb"],xml:["XML","text/xml"],yaml:["YAML","yaml"]};var xe=({callback:pe,onCancel:Se})=>{const[Le,ze]=(0,Ge.useState)("python");function Ze(Qe){ze(ve[Qe][1])}function Ve(Qe){pe(Qe)}return Ge.createElement(Ue.default,ae(ie({},de),{className:"code-block-panel",initialValues:{language:"python",content:""},onFinish:Ve,style:{width:500}}),Ge.createElement(Ue.default.Item,{label:"\u4EE3\u7801\u8BED\u8A00",name:"language"},Ge.createElement(tt.default,{getPopupContainer:Qe=>Qe.parentNode,onChange:Ze},Object.keys(ve).map(Qe=>Ge.createElement(fe,{key:Qe,value:Qe},ve[Qe][0])))),Ge.createElement(Ue.default.Item,{label:"\u4EE3\u7801\u5185\u5BB9",name:"content",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u4EE3\u7801\u5185\u5BB9"}]},Ge.createElement(ce,{mode:Le})),Ge.createElement("div",{className:"flex-container flex-end"},Ge.createElement(Ne.ZP,{type:"primary",htmlType:"submit",style:{marginRight:10}},"\u786E\u5B9A"),Ge.createElement(Ne.ZP,{type:"ghost",onClick:Se},"\u53D6\u6D88")))};function ce({value:pe,onChange:Se,mode:Le,options:ze={}}){const Ze=(0,Ge.useRef)(),[Ve,Qe]=(0,Ge.useState)();return(0,Ge.useEffect)(()=>{if(Ve){let $e=function(gt){const lt=gt.getValue();Se&&Se(lt)};return Ve.on("change",$e),()=>{Ve.off("change",$e)}}},[Ve,Se]),(0,Ge.useEffect)(()=>{Ve&&Ve.setOption("mode",Le)},[Ve,Le]),(0,Ge.useEffect)(()=>{Ve&&(pe!==Ve.getValue()||pe==="")&&setTimeout(()=>{Ve.setValue(pe||"")},300)},[Ve,pe]),(0,Ge.useEffect)(()=>{if(Ze.current&&!Ve){const $e=Be().fromTextArea(Ze.current,ie({mode:Le,lineNumbers:!0,lineWrapping:!0,autoCloseBrackets:!0,tabSize:4,autofocus:!0,autoCloseTags:!0,matchBrackets:!0,styleActiveLine:!0},ze));Qe($e)}},[Ze.current,Ve]),Ge.createElement("div",{className:"my-codemirror-container"},Ge.createElement("textarea",{ref:Ze}))}},23469:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return ii}});var Ge=Oe(59301),tt=Oe(89780),Ue=Oe.n(tt),Ne=Oe(76374),Ke=Oe(79906),Be=Oe(6313),we=Oe(25717),Te=Oe(99498),ke=Oe(25419),Ie=Oe(67549),Ce=Oe(25711),Me=({value:Nt="",className:De,showTextOnly:He,showLines:Re,style:et={}})=>{const ft=(0,Ge.useMemo)(()=>"",[Nt]);return Ge.createElement(Ge.Fragment,null,Ge.createElement("div",{dangerouslySetInnerHTML:{__html:ft}}))},je=Oe(59301),ye=Object.defineProperty,ie=Object.defineProperties,ae=Object.getOwnPropertyDescriptors,fe=Object.getOwnPropertySymbols,de=Object.prototype.hasOwnProperty,ve=Object.prototype.propertyIsEnumerable,xe=(Nt,De,He)=>De in Nt?ye(Nt,De,{enumerable:!0,configurable:!0,writable:!0,value:He}):Nt[De]=He,ce=(Nt,De)=>{for(var He in De||(De={}))de.call(De,He)&&xe(Nt,He,De[He]);if(fe)for(var He of fe(De))ve.call(De,He)&&xe(Nt,He,De[He]);return Nt},pe=(Nt,De)=>ie(Nt,ae(De));let Se=[{title:"\u7C97\u4F53",icon:"md-iconfont icon-bold",actionName:"bold"},{title:"\u659C\u4F53",icon:"md-iconfont icon-italic",actionName:"italic"},"|",{title:"\u65E0\u5E8F\u5217\u8868",icon:"md-iconfont icon-unorder-list",actionName:"list-ul"},{title:"\u6709\u5E8F\u5217\u8868",icon:"md-iconfont icon-order-list",actionName:"list-ol"},"|",{title:"\u884C\u5185\u4EE3\u7801",icon:"md-iconfont icon-code",actionName:"code"},{title:"\u4EE3\u7801\u5757\uFF08\u591A\u8BED\u8A00\u98CE\u683C\uFF09",icon:"md-iconfont icon-file-code",actionName:"code-block"},{title:"\u94FE\u63A5",icon:"md-iconfont icon-link",actionName:"link"},"|",{title:"\u884C\u5185\u516C\u5F0F",icon:"md-iconfont icon-sum",actionName:"inline-latex"},{title:"\u6570\u5B66\u56FE\u50CF",icon:"iconfont icon-shuxuetuxiang2",actionName:"maths-latex"},{title:"\u591A\u884C\u516C\u5F0F",icon:"iconfont icon-jisuan1",actionName:"latex"},"|",{title:"\u6DFB\u52A0\u56FE\u7247",icon:"md-iconfont icon-picture",actionName:"upload-image"},{title:"\u63D2\u5165\u753B\u56FE",icon:"iconfont icon-sheji",actionName:"draw-image"},{title:"\u63D2\u5165\u6D41\u7A0B\u56FE",icon:"iconfont icon-liucheng",actionName:"add-flowchart"},{title:"\u8868\u683C",icon:"md-iconfont icon-table",actionName:"add-table"},"|",{title:"\u6362\u884C",icon:"md-iconfont icon-minus",actionName:"line-break"},{title:"\u6E05\u7A7A",icon:"md-iconfont icon-eraser",actionName:"eraser"}];function Le({onActionCallback:Nt,title:De,icon:He,actionName:Re,className:et="",children:ft}){function Bt(){Nt(Re)}return je.createElement("a",{title:De,className:et,onClick:Bt},je.createElement("i",{className:`${He}`}),ft)}var ze=({watch:Nt,showNullButton:De,showNullProgramButton:He,onActionCallback:Re,fullScreen:et,insertTemp:ft,hidetoolBar:Bt,extraUse:Ct})=>{const rn=[...Se,{title:`${Nt?"\u5173\u95ED\u5B9E\u65F6\u9884\u89C8":"\u5F00\u542F\u5B9E\u65F6\u9884\u89C8"}`,icon:`${Nt?"md-iconfont icon-eye-slash":"md-iconfont icon-eye"}`,actionName:"trigger-watch"}];return je.createElement("ul",{className:"markdown-toolbar-container"},!Bt&&rn.map((nn,Gn)=>je.createElement("li",{key:Gn},nn.actionName?je.createElement(Le,pe(ce({},nn),{onActionCallback:Re})):je.createElement("span",{className:"v-line"}))),De?je.createElement("li",null,je.createElement(Le,{icon:"md-iconfont icon-edit insert-blank",className:"btn-null",title:"\u589E\u52A0\u586B\u7A7A",actionName:"add-null-ch",onActionCallback:Re},je.createElement("span",{className:"fill-tip"},"\u70B9\u51FB\u63D2\u5165\b\u586B\u7A7A\u9879"))):null,He?je.createElement(je.Fragment,null,je.createElement("li",null,je.createElement(Le,{icon:"md-iconfont icon-edit insert-blank",className:"btn-null",title:"\u589E\u52A0\u586B\u7A7A",actionName:"add-signal",onActionCallback:Re},je.createElement("span",{className:"fill-tip"},"+\u5355\u884C\u586B\u7A7A\u9879"))),je.createElement("li",null,je.createElement(Le,{icon:"md-iconfont icon-uniE900 insert-blank",className:"btn-null",title:"\u589E\u52A0\u586B\u7A7A",actionName:"add-multiple",onActionCallback:Re},je.createElement("span",{className:"fill-tip"},"+\u591A\u884C\u586B\u7A7A\u9879")))):null,ft&&je.createElement("li",null,je.createElement(Le,{icon:"md-iconfont icon-edit",className:"btn-null",title:"\u63D2\u5165\u6A21\u677F",actionName:`inster-template-${ft}`,onActionCallback:Re},je.createElement("span",{className:"fill-tip"},"\u63D2\u5165\u6A21\u677F"))),Ct&&je.createElement("li",null,Ct),je.createElement("li",{className:"btn-full-screen"},je.createElement(Le,{icon:`${et?"md-iconfont icon-shrink":"md-iconfont icon-enlarge"}`,title:et?"\u5173\u95ED\u5168\u5C4F":"\u5F00\u542F\u5168\u5C4F",actionName:"trigger-full-screen",onActionCallback:Re})))},Ze=Oe(50474),Ve=Oe(78241),Qe=Oe(92832),$e=Oe(3113),gt=Object.defineProperty,lt=Object.defineProperties,At=Object.getOwnPropertyDescriptors,Et=Object.getOwnPropertySymbols,vt=Object.prototype.hasOwnProperty,Lt=Object.prototype.propertyIsEnumerable,St=(Nt,De,He)=>De in Nt?gt(Nt,De,{enumerable:!0,configurable:!0,writable:!0,value:He}):Nt[De]=He,xt=(Nt,De)=>{for(var He in De||(De={}))vt.call(De,He)&&St(Nt,He,De[He]);if(Et)for(var He of Et(De))Lt.call(De,He)&&St(Nt,He,De[He]);return Nt},ct=(Nt,De)=>lt(Nt,At(De));const Dt={labelCol:{span:4},wrapperCol:{span:20}};var Xt=({callback:Nt,onCancel:De})=>{function He(Re){Nt(Re)}return Ge.createElement(Ve.default,ct(xt({},Dt),{initialValues:{link:"http://",title:""},className:"link-panel",onFinish:He,style:{width:500}}),Ge.createElement(Ve.default.Item,{label:"\u94FE\u63A5\u5730\u5740",name:"link",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u94FE\u63A5\u5730\u5740"}]},Ge.createElement(Qe.default,null)),Ge.createElement(Ve.default.Item,{label:"\u94FE\u63A5\u6807\u9898",name:"title",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u94FE\u63A5\u6807\u9898"}]},Ge.createElement(Qe.default,null)),Ge.createElement("div",{className:"flex-container flex-end"},Ge.createElement($e.ZP,{type:"primary",htmlType:"submit",style:{marginRight:10}},"\u786E\u5B9A"),Ge.createElement($e.ZP,{type:"ghost",onClick:De},"\u53D6\u6D88")))},kt=Oe(36866),Rt=Oe(56701),Gt=Oe(43418),ln=Oe(95237),Rn=Oe(65983),jn=Oe(59301),er=({callback:Nt,onCancel:De})=>{const He=document.createElement("canvas"),Re=He.getContext("2d");He.width=1e3,He.height=800,Re.fillStyle="#ffffff",Re.fillRect(0,0,He.width,He.height);const et=He.toDataURL("image/png");return jn.createElement(Gt.default,{open:!0,width:"100vw",style:{height:"100vh",top:0},footer:null,title:null,closable:!1},jn.createElement(ln.Z,{style:{height:"100vh"}},jn.createElement(Rn.Z,{fullWidth:!0,noAssociationId:!0,showFullTools:!0,data:{src:et,visible:!0,title:String(Date.now())},onOk:ft=>{Nt({src:ft.url})},onClose:De})))},an=Oe(12378);function Un(){go.CommandHandler.call(this),this._arrowKeyBehavior="move",this._pasteOffset=new go.Point(10,10),this._lastPasteOffset=new go.Point(0,0)}go.Diagram.inherit(Un,go.CommandHandler),Un.prototype.canAlignSelection=function(){var Nt=this.diagram;return!(Nt===null||Nt.isReadOnly||Nt.isModelReadOnly||Nt.selection.count<2)},Un.prototype.alignLeft=function(){var Nt=this.diagram;Nt.startTransaction("aligning left");var De=1/0;Nt.selection.each(function(He){He instanceof go.Link||(De=Math.min(He.position.x,De))}),Nt.selection.each(function(He){He instanceof go.Link||He.move(new go.Point(De,He.position.y))}),Nt.commitTransaction("aligning left")},Un.prototype.alignRight=function(){var Nt=this.diagram;Nt.startTransaction("aligning right");var De=-1/0;Nt.selection.each(function(He){if(!(He instanceof go.Link)){var Re=He.actualBounds.x+He.actualBounds.width;De=Math.max(Re,De)}}),Nt.selection.each(function(He){He instanceof go.Link||He.move(new go.Point(De-He.actualBounds.width,He.position.y))}),Nt.commitTransaction("aligning right")},Un.prototype.alignTop=function(){var Nt=this.diagram;Nt.startTransaction("alignTop");var De=1/0;Nt.selection.each(function(He){He instanceof go.Link||(De=Math.min(He.position.y,De))}),Nt.selection.each(function(He){He instanceof go.Link||He.move(new go.Point(He.position.x,De))}),Nt.commitTransaction("alignTop")},Un.prototype.alignBottom=function(){var Nt=this.diagram;Nt.startTransaction("aligning bottom");var De=-1/0;Nt.selection.each(function(He){if(!(He instanceof go.Link)){var Re=He.actualBounds.y+He.actualBounds.height;De=Math.max(Re,De)}}),Nt.selection.each(function(He){He instanceof go.Link||He.move(new go.Point(He.actualBounds.x,De-He.actualBounds.height))}),Nt.commitTransaction("aligning bottom")},Un.prototype.alignCenterX=function(){var Nt=this.diagram,De=Nt.selection.first();if(De){Nt.startTransaction("aligning Center X");var He=De.actualBounds.x+De.actualBounds.width/2;Nt.selection.each(function(Re){Re instanceof go.Link||Re.move(new go.Point(He-Re.actualBounds.width/2,Re.actualBounds.y))}),Nt.commitTransaction("aligning Center X")}},Un.prototype.alignCenterY=function(){var Nt=this.diagram,De=Nt.selection.first();if(De){Nt.startTransaction("aligning Center Y");var He=De.actualBounds.y+De.actualBounds.height/2;Nt.selection.each(function(Re){Re instanceof go.Link||Re.move(new go.Point(Re.actualBounds.x,He-Re.actualBounds.height/2))}),Nt.commitTransaction("aligning Center Y")}},Un.prototype.alignColumn=function(Nt){var De=this.diagram;De.startTransaction("align Column"),Nt===void 0&&(Nt=0),Nt=parseFloat(Nt);var He=new Array;De.selection.each(function(Ct){Ct instanceof go.Link||He.push(Ct)});for(var Re=0;Re<He.length-1;Re++){var et=He[Re],ft=et.actualBounds.y+et.actualBounds.height+Nt,Bt=He[Re+1];Bt.move(new go.Point(et.actualBounds.x,ft))}De.commitTransaction("align Column")},Un.prototype.alignRow=function(Nt){Nt===void 0&&(Nt=0),Nt=parseFloat(Nt);var De=this.diagram;De.startTransaction("align Row");var He=new Array;De.selection.each(function(Ct){Ct instanceof go.Link||He.push(Ct)});for(var Re=0;Re<He.length-1;Re++){var et=He[Re],ft=et.actualBounds.x+et.actualBounds.width+Nt,Bt=He[Re+1];Bt.move(new go.Point(ft,et.actualBounds.y))}De.commitTransaction("align Row")},Un.prototype.canRotate=function(Nt){var De=this.diagram;return!(De===null||De.isReadOnly||De.isModelReadOnly||De.selection.count<1)},Un.prototype.rotate=function(Nt){Nt===void 0&&(Nt=90);var De=this.diagram;De.startTransaction("rotate "+Nt.toString());var De=this.diagram;De.selection.each(function(He){He instanceof go.Link||He instanceof go.Group||(He.angle+=Nt)}),De.commitTransaction("rotate "+Nt.toString())},Un.prototype.pullToFront=function(){var Nt=this.diagram;Nt.startTransaction("pullToFront");var De=new go.Map;Nt.selection.each(function(He){De.set(He.layer,0)}),De.iteratorKeys.each(function(He){var Re=0;He.parts.each(function(et){if(!et.isSelected){var ft=et.zOrder;isNaN(ft)?et.zOrder=0:Re=Math.max(Re,ft)}}),De.set(He,Re)}),Nt.selection.each(function(He){Un._assignZOrder(He,De.get(He.layer)+1)}),Nt.commitTransaction("pullToFront")},Un.prototype.pushToBack=function(){var Nt=this.diagram;Nt.startTransaction("pushToBack");var De=new go.Map;Nt.selection.each(function(He){De.set(He.layer,0)}),De.iteratorKeys.each(function(He){var Re=0;He.parts.each(function(et){if(!et.isSelected){var ft=et.zOrder;isNaN(ft)?et.zOrder=0:Re=Math.min(Re,ft)}}),De.set(He,Re)}),Nt.selection.each(function(He){Un._assignZOrder(He,De.get(He.layer)-1-Un._findGroupDepth(He))}),Nt.commitTransaction("pushToBack")},Un._assignZOrder=function(Nt,De,He){He===void 0&&(He=Nt),Nt.layer===He.layer&&(Nt.zOrder=De),Nt instanceof go.Group&&Nt.memberParts.each(function(Re){Un._assignZOrder(Re,De+1,He)})},Un._findGroupDepth=function(Nt){if(Nt instanceof go.Group){var De=0;return Nt.memberParts.each(function(He){De=Math.max(De,Un._findGroupDepth(He))}),De+1}else return 0},Un.prototype.doKeyDown=function(){var Nt=this.diagram;if(Nt!==null){var De=Nt.lastInput;if(De.key==="Up"||De.key==="Down"||De.key==="Left"||De.key==="Right"){var He=this.arrowKeyBehavior;if(He==="none")return;if(He==="select"){this._arrowKeySelect();return}else if(He==="move"){this._arrowKeyMove();return}else if(He==="tree"){this._arrowKeyTree();return}}go.CommandHandler.prototype.doKeyDown.call(this)}},Un.prototype._getAllParts=function(){var Nt=new Array;return this.diagram.nodes.each(function(De){Nt.push(De)}),this.diagram.parts.each(function(De){Nt.push(De)}),Nt},Un.prototype._arrowKeyMove=function(){var Nt=this.diagram,De=Nt.lastInput,He=0,Re=0;if(De.control||De.meta)He=1,Re=1;else if(Nt.grid!==null){var et=Nt.grid.gridCellSize;Re=et.width,He=et.height}Nt.startTransaction("arrowKeyMove"),Nt.selection.each(function(ft){De.key==="Up"?ft.move(new go.Point(ft.actualBounds.x,ft.actualBounds.y-He)):De.key==="Down"?ft.move(new go.Point(ft.actualBounds.x,ft.actualBounds.y+He)):De.key==="Left"?ft.move(new go.Point(ft.actualBounds.x-Re,ft.actualBounds.y)):De.key==="Right"&&ft.move(new go.Point(ft.actualBounds.x+Re,ft.actualBounds.y))}),Nt.commitTransaction("arrowKeyMove")},Un.prototype._arrowKeySelect=function(){var Nt=this.diagram,De=Nt.lastInput,He=null;De.key==="Up"?He=this._findNearestPartTowards(270):De.key==="Down"?He=this._findNearestPartTowards(90):De.key==="Left"?He=this._findNearestPartTowards(180):De.key==="Right"&&(He=this._findNearestPartTowards(0)),He!==null&&(De.shift?He.isSelected=!0:De.control||De.meta?He.isSelected=!He.isSelected:Nt.select(He))},Un.prototype._findNearestPartTowards=function(Nt){var De=this.diagram.selection.first();if(De===null)return null;for(var He=De.actualBounds.center,Re=this._getAllParts(),et=1/0,ft=De,Bt=0;Bt<Re.length;Bt++){var Ct=Re[Bt];if(Ct!==De&&Ct.canSelect()){var rn=Ct.actualBounds.center,nn=He.directionPoint(rn),Gn=this._angleCloseness(nn,Nt);if(Gn<=45){var Sn=He.distanceSquaredPoint(rn);Sn*=1+Math.sin(Gn*Math.PI/180),Sn<et&&(et=Sn,ft=Ct)}}}return ft},Un.prototype._angleCloseness=function(Nt,De){return Math.min(Math.abs(De-Nt),Math.min(Math.abs(De+360-Nt),Math.abs(De-360-Nt)))},Un.prototype._arrowKeyTree=function(){var Nt=this.diagram,De=Nt.selection.first();if(De instanceof go.Node){var He=Nt.lastInput;if(He.key==="Right"){if(!De.isTreeLeaf)if(!De.isTreeExpanded)Nt.commandHandler.canExpandTree(De)&&Nt.commandHandler.expandTree(De);else{var Re=this._sortTreeChildrenByY(De).first();Re!==null&&Nt.select(Re)}}else if(He.key==="Left")if(!De.isTreeLeaf&&De.isTreeExpanded)Nt.commandHandler.canCollapseTree(De)&&Nt.commandHandler.collapseTree(De);else{var et=De.findTreeParentNode();et!==null&&Nt.select(et)}else if(He.key==="Up"){var et=De.findTreeParentNode();if(et!==null){var ft=this._sortTreeChildrenByY(et),Bt=ft.indexOf(De);if(Bt>0){for(var Ct=ft.elt(Bt-1);Ct!==null&&Ct.isTreeExpanded&&!Ct.isTreeLeaf;){var rn=this._sortTreeChildrenByY(Ct);Ct=rn.last()}Ct!==null&&Nt.select(Ct)}else Nt.select(et)}}else if(He.key==="Down")if(De.isTreeExpanded&&!De.isTreeLeaf){var Re=this._sortTreeChildrenByY(De).first();Re!==null&&Nt.select(Re)}else for(;De!==null;){var et=De.findTreeParentNode();if(et===null)break;var ft=this._sortTreeChildrenByY(et),Bt=ft.indexOf(De);if(Bt<ft.length-1){Nt.select(ft.elt(Bt+1));break}else De=et}var nn=Nt.selection.first();nn!==null&&Nt.scrollToRect(nn.actualBounds)}},Un.prototype._sortTreeChildrenByY=function(Nt){var De=new go.List().addAll(Nt.findTreeChildrenNodes());return De.sort(function(He,Re){var et=He.location,ft=Re.location;return et.y<ft.y?-1:et.y>ft.y?1:et.x<ft.x?-1:et.x>ft.x?1:0}),De},Un.prototype.copyToClipboard=function(Nt){go.CommandHandler.prototype.copyToClipboard.call(this,Nt),this._lastPasteOffset.set(this.pasteOffset)},Un.prototype.pasteFromClipboard=function(){var Nt=go.CommandHandler.prototype.pasteFromClipboard.call(this);return this.diagram.moveParts(Nt,this._lastPasteOffset),this._lastPasteOffset.add(this.pasteOffset),Nt},Object.defineProperty(Un.prototype,"arrowKeyBehavior",{get:function(){return this._arrowKeyBehavior},set:function(Nt){if(Nt!=="move"&&Nt!=="select"&&Nt!=="scroll"&&Nt!=="tree"&&Nt!=="none")throw new Error('DrawCommandHandler.arrowKeyBehavior must be either "move", "select", "scroll", "tree", or "none", not: '+Nt);this._arrowKeyBehavior=Nt}}),Object.defineProperty(Un.prototype,"pasteOffset",{get:function(){return this._pasteOffset},set:function(Nt){if(!(Nt instanceof go.Point))throw new Error("DrawCommandHandler.pasteOffset must be a Point, not: "+Nt);this._pasteOffset.set(Nt)}});var Kn=Un,ur=Oe(37404),Xn=Oe(43604),Nn=Oe(70635),_n={myPaletteDiv:"myPaletteDiv___Xjz2I",flowChartWrp:"flowChartWrp____f45r",maxH60:"maxH60___Pd4Re"},un=Oe(59301),qt=(Nt,De,He)=>new Promise((Re,et)=>{var ft=rn=>{try{Ct(He.next(rn))}catch(nn){et(nn)}},Bt=rn=>{try{Ct(He.throw(rn))}catch(nn){et(nn)}},Ct=rn=>rn.done?Re(rn.value):Promise.resolve(rn.value).then(ft,Bt);Ct((He=He.apply(Nt,De)).next())});function Yt({onCancel:Nt,callback:De}){let He=(0,Ge.useRef)(),Re=(0,Ge.useRef)(),et=(0,Ge.useRef)(),ft=(0,Ge.useRef)(!1);const Bt=(0,Ge.useRef)(!1),[Ct,rn]=(0,Ge.useState)(0);function nn(){const Sn=an.bx.make,cn={red:"#ff3333",blue:"#3358ff",green:"#25ad23",magenta:"#d533ff",purple:"#7d33ff",orange:"#ff6233",brown:"#8e571e",white:"#ffffff",black:"#000000",beige:"#fffcd5",extralightblue:"#d5ebff",extralightred:"#f2dfe0",lightblue:"#a5d2fa",lightgray:"#cccccc",lightgreen:"#b3e6b3",lightred:"#fcbbbd"};He.current=new an.S0(Re.current,{padding:20,grid:Sn(an.s_,"Grid",Sn(an.bn,"LineH",{stroke:"lightgray",strokeWidth:.5}),Sn(an.bn,"LineV",{stroke:"lightgray",strokeWidth:.5})),"draggingTool.isGridSnapEnabled":!0,handlesDragDropForTopLevelParts:!0,mouseDrop:nr=>{var xi=nr.diagram.commandHandler.addTopLevelParts(nr.diagram.selection,!0);xi||nr.diagram.currentTool.doCancel()},commandHandler:Sn(Kn),"clickCreatingTool.archetypeNodeData":{text:"\u672A\u547D\u540D",fill:null,stroke:null,borderColor:"rgba(0,0,0,0)"},PartCreated:nr=>{var xi=nr.subject;xi.location=xi.location.copy().snapToGridPoint(nr.diagram.grid.gridOrigin,nr.diagram.grid.gridCellSize),setTimeout(()=>{nr.diagram.commandHandler.editTextBlock()},20)},"commandHandler.archetypeGroupData":{isGroup:!0,text:"NEW GROUP"},SelectionGrouped:nr=>{var xi=nr.subject;setTimeout(()=>{nr.diagram.commandHandler.editTextBlock()})},LinkRelinked:nr=>{var xi=nr.parameter.part;xi.invalidateConnectedLinks();var Vi=nr.subject;nr.diagram.toolManager.linkingTool.isForwards?Vi.toNode.invalidateConnectedLinks():Vi.fromNode.invalidateConnectedLinks()},"undoManager.isEnabled":!0}),He.current.nodeTemplate=Sn(an.NB,"Auto",{locationSpot:an.z6.Center,locationObjectName:"SHAPE",desiredSize:new an.$u(120,60),minSize:new an.$u(40,40),resizable:!0,resizeCellSize:new an.$u(10,10),rotatable:!0},new an.KX("location","loc",an.E9.parse).makeTwoWay(an.E9.stringify),new an.KX("desiredSize","size",an.$u.parse).makeTwoWay(an.$u.stringify),Sn(an.bn,{name:"SHAPE",fill:cn.white,cursor:"pointer",portId:"",fromLinkable:!0,toLinkable:!0,fromLinkableDuplicates:!0,toLinkableDuplicates:!0,fromSpot:an.z6.AllSides,toSpot:an.z6.AllSides},new an.KX("figure"),new an.KX("fill"),new an.KX("stroke","borderColor"),new an.KX("strokeWidth","thickness"),new an.KX("strokeDashArray","dash")),Sn(an.bn,{width:100,height:20,strokeWidth:0,fill:"transparent"}),Sn(an.al,{margin:1,textAlign:"center",overflow:an.al.OverflowEllipsis,editable:!0},new an.KX("text").makeTwoWay(),new an.KX("stroke","color"))),He.current.nodeTemplate.toolTip=Sn("ToolTip",Sn(an.s_,"Vertical",{maxSize:new an.$u(200,NaN)},Sn(an.al,{font:"bold 10pt sans-serif",textAlign:"center"},new an.KX("text")),Sn(an.al,{font:"10pt sans-serif",textAlign:"center"},new an.KX("text","details"))));function Yn(nr,xi){var Vi=(Gi,Ao)=>{Gi.handled=!0,Gi.diagram.model.commit(io=>{var Do=Ao.part.adornedPart,Bo=new an.E9().setRectSpot(Do.actualBounds,nr);Bo.subtract(Do.location),Bo.scale(2,2),Bo.x+=Math.sign(Bo.x)*130,Bo.y+=Math.sign(Bo.y)*130,Bo.add(Do.location),Bo.snapToGridPoint(Gi.diagram.grid.gridOrigin,Gi.diagram.grid.gridCellSize);var Ui=io.copyNodeData(Do.data);io.setGroupKeyForNodeData(Ui,io.getGroupKeyForNodeData(Do.data)),io.addNodeData(Ui);var Xo={from:Do.key,to:io.getKeyForNodeData(Ui)};io.addLinkData(Xo);var Hr=Gi.diagram.findNodeForData(Ui);Hr.location=Bo,Gi.diagram.select(Hr),setTimeout(()=>{Gi.diagram.commandHandler.editTextBlock()},20)})};return Sn(an.bn,{figure:xi,alignment:nr,alignmentFocus:nr.opposite(),width:nr.equals(an.z6.Top)||nr.equals(an.z6.Bottom)?25:18,height:nr.equals(an.z6.Top)||nr.equals(an.z6.Bottom)?18:25,fill:"orange",stroke:cn.white,strokeWidth:4,mouseEnter:(Gi,Ao)=>Ao.fill="dodgerblue",mouseLeave:(Gi,Ao)=>Ao.fill="orange",isActionable:!0,click:Vi,contextClick:Vi})}function ir(nr){return Sn(an.bn,{fill:"orange",stroke:"rgba(0, 0, 0, 0)",strokeWidth:15,background:"transparent",geometryString:"F1 M0 0 b 0 360 -4 0 4 z M10 0 b 0 360 -4 0 4 z M20 0 b 0 360 -4 0 4",isActionable:!0,cursor:"context-menu",mouseEnter:(xi,Vi)=>Vi.fill="dodgerblue",mouseLeave:(xi,Vi)=>Vi.fill="orange",click:(xi,Vi)=>{xi.diagram.commandHandler.showContextMenu(Vi.part.adornedPart)}},nr||{})}He.current.nodeTemplate.selectionAdornmentTemplate=Sn(an.uz,"Spot",Sn(an.Vm,{padding:10}),Yn(an.z6.Top,"TriangleUp"),Yn(an.z6.Left,"TriangleLeft"),Yn(an.z6.Right,"TriangleRight"),Yn(an.z6.Bottom,"TriangleDown"),ir({alignment:new an.z6(.75,0)}));function fr(nr,xi){return(Vi,Gi)=>{Vi.handled=!0,Vi.diagram.model.commit(Ao=>{Ao.set(Gi.part.adornedPart.data,nr,xi)})}}function On(nr,xi){return xi||(xi="color"),Sn(an.bn,{width:16,height:16,stroke:"lightgray",fill:nr,margin:1,background:"transparent",mouseEnter:(Vi,Gi)=>Gi.stroke="dodgerblue",mouseLeave:(Vi,Gi)=>Gi.stroke="lightgray",click:fr(xi,nr),contextClick:fr(xi,nr)})}function dn(){return[Sn("ContextMenuButton",Sn(an.s_,"Horizontal",On(cn.white,"fill"),On(cn.beige,"fill"),On(cn.extralightblue,"fill"),On(cn.extralightred,"fill"))),Sn("ContextMenuButton",Sn(an.s_,"Horizontal",On(cn.lightgray,"fill"),On(cn.lightgreen,"fill"),On(cn.lightblue,"fill"),On(cn.lightred,"fill")))]}function Bn(){return[Sn("ContextMenuButton",Sn(an.s_,"Horizontal",On(cn.black),On(cn.green),On(cn.blue),On(cn.red))),Sn("ContextMenuButton",Sn(an.s_,"Horizontal",On(cn.white),On(cn.magenta),On(cn.purple),On(cn.orange)))]}function tr(nr,xi){return xi||(xi="thickness"),Sn(an.bn,"LineH",{width:16,height:16,strokeWidth:nr,margin:1,background:"transparent",mouseEnter:(Vi,Gi)=>Gi.background="dodgerblue",mouseLeave:(Vi,Gi)=>Gi.background="transparent",click:fr(xi,nr),contextClick:fr(xi,nr)})}function hr(nr,xi){return xi||(xi="dash"),Sn(an.bn,"LineH",{width:24,height:16,strokeWidth:2,strokeDashArray:nr,margin:1,background:"transparent",mouseEnter:(Vi,Gi)=>Gi.background="dodgerblue",mouseLeave:(Vi,Gi)=>Gi.background="transparent",click:fr(xi,nr),contextClick:fr(xi,nr)})}function pr(){return[Sn("ContextMenuButton",Sn(an.s_,"Horizontal",tr(1),tr(2),tr(3),tr(4))),Sn("ContextMenuButton",Sn(an.s_,"Horizontal",hr(null),hr([2,4]),hr([4,4])))]}function Mr(nr,xi){return xi||(xi="figure"),Sn(an.bn,{width:32,height:32,scale:.5,fill:"lightgray",figure:nr,margin:1,background:"transparent",mouseEnter:(Vi,Gi)=>Gi.fill="dodgerblue",mouseLeave:(Vi,Gi)=>Gi.fill="lightgray",click:fr(xi,nr),contextClick:fr(xi,nr)})}He.current.nodeTemplate.contextMenu=Sn("ContextMenu",Sn("ContextMenuButton",Sn(an.s_,"Horizontal",Mr("Rectangle"),Mr("RoundedRectangle"),Mr("Ellipse"),Mr("Diamond"))),Sn("ContextMenuButton",Sn(an.s_,"Horizontal",Mr("Parallelogram2"),Mr("ManualOperation"),Mr("Procedure"),Mr("Cylinder1"))),Sn("ContextMenuButton",Sn(an.s_,"Horizontal",Mr("Terminator"),Mr("CreateRequest"),Mr("Document"),Mr("TriangleDown"))),dn(),Bn(),pr()),He.current.groupTemplate=Sn(an.ZA,"Spot",{layerName:"Background",ungroupable:!0,locationSpot:an.z6.Center,selectionObjectName:"BODY",computesBoundsAfterDrag:!0,handlesDragDropForMembers:!0,mouseDrop:(nr,xi)=>{var Vi=xi.addMembers(xi.diagram.selection,!0);Vi||xi.diagram.currentTool.doCancel()},avoidable:!1},new an.KX("location","loc",an.E9.parse).makeTwoWay(an.E9.stringify),Sn(an.s_,"Auto",{name:"BODY"},Sn(an.bn,{parameter1:10,fill:cn.white,strokeWidth:2,cursor:"pointer",fromLinkable:!0,toLinkable:!0,fromLinkableDuplicates:!0,toLinkableDuplicates:!0,fromSpot:an.z6.AllSides,toSpot:an.z6.AllSides},new an.KX("fill"),new an.KX("stroke","color"),new an.KX("strokeWidth","thickness"),new an.KX("strokeDashArray","dash")),Sn(an.Vm,{background:"transparent",margin:20})),Sn(an.al,{alignment:an.z6.Top,alignmentFocus:an.z6.Bottom,font:"bold 12pt sans-serif",editable:!0},new an.KX("text"),new an.KX("stroke","color"))),He.current.groupTemplate.selectionAdornmentTemplate=Sn(an.uz,"Spot",Sn(an.s_,"Auto",Sn(an.bn,{fill:null,stroke:"dodgerblue",strokeWidth:3}),Sn(an.Vm,{margin:1.5})),ir({alignment:an.z6.TopRight,alignmentFocus:an.z6.BottomRight})),He.current.groupTemplate.contextMenu=Sn("ContextMenu",dn(),Bn(),pr()),He.current.linkTemplate=Sn(an.rU,{layerName:"Foreground",routing:an.rU.AvoidsNodes,corner:10,fromShortLength:10,toShortLength:15,relinkableFrom:!0,relinkableTo:!0,reshapable:!0,resegmentable:!0},new an.KX("fromSpot","fromSpot",an.z6.parse),new an.KX("toSpot","toSpot",an.z6.parse),new an.KX("fromShortLength","dir",nr=>nr>=1?10:0),new an.KX("toShortLength","dir",nr=>nr>=1?10:0),new an.KX("points").makeTwoWay(),Sn(an.bn,{strokeWidth:2},new an.KX("stroke","color"),new an.KX("strokeWidth","thickness"),new an.KX("strokeDashArray","dash")),Sn(an.bn,{segmentIndex:0,segmentOffset:new an.E9(15,0),segmentOrientation:an.rU.OrientAlong,alignmentFocus:an.z6.Right,figure:"circle",width:10,strokeWidth:0},new an.KX("fill","color"),new an.KX("visible","dir",nr=>nr===1)),Sn(an.bn,{segmentIndex:-1,segmentOffset:new an.E9(-10,6),segmentOrientation:an.rU.OrientPlus90,alignmentFocus:an.z6.Right,figure:"triangle",width:12,height:12,strokeWidth:0},new an.KX("fill","color"),new an.KX("visible","dir",nr=>nr>=1),new an.KX("width","thickness",nr=>7+3*nr),new an.KX("height","thickness",nr=>7+3*nr),new an.KX("segmentOffset","thickness",nr=>new an.E9(-15,4+1.5*nr))),Sn(an.bn,{segmentIndex:0,segmentOffset:new an.E9(15,-6),segmentOrientation:an.rU.OrientMinus90,alignmentFocus:an.z6.Right,figure:"triangle",width:12,height:12,strokeWidth:0},new an.KX("fill","color"),new an.KX("visible","dir",nr=>nr===2),new an.KX("width","thickness",nr=>7+3*nr),new an.KX("height","thickness",nr=>7+3*nr),new an.KX("segmentOffset","thickness",nr=>new an.E9(-15,4+1.5*nr))),Sn(an.al,{alignmentFocus:new an.z6(0,1,-4,0),editable:!0},new an.KX("text").makeTwoWay(),new an.KX("stroke","color"))),He.current.linkTemplate.selectionAdornmentTemplate=Sn(an.uz,Sn(an.bn,{isPanelMain:!0,stroke:"transparent",strokeWidth:6,pathPattern:gr(2)},new an.KX("pathPattern","thickness",gr)),ir({alignmentFocus:new an.z6(0,0,-6,-4)}));function gr(nr){return Sn(an.bn,{stroke:"dodgerblue",strokeWidth:2,strokeCap:"square",geometryString:"M0 0 M4 2 H3 M4 "+(nr+4).toString()+" H3"})}function Nr(nr){var xi="M0 0 M8 16 M0 8 L16 8 M12 11 L16 8 L12 5";return nr===0?xi="M0 0 M16 16 M0 8 L16 8":nr===2&&(xi="M0 0 M16 16 M0 8 L16 8 M12 11 L16 8 L12 5 M4 11 L0 8 L4 5"),Sn(an.bn,{geometryString:xi,margin:2,background:"transparent",mouseEnter:(Vi,Gi)=>Gi.background="dodgerblue",mouseLeave:(Vi,Gi)=>Gi.background="transparent",click:fr("dir",nr),contextClick:fr("dir",nr)})}function Kr(nr){var xi=(Vi,Gi)=>{Vi.handled=!0,Vi.diagram.model.commit(Ao=>{var io=Gi.part.adornedPart;Ao.set(io.data,nr?"toSpot":"fromSpot",an.z6.stringify(an.z6.AllSides)),(nr?io.toNode:io.fromNode).invalidateConnectedLinks()})};return Sn(an.bn,{width:12,height:12,fill:"transparent",mouseEnter:(Vi,Gi)=>Gi.background="dodgerblue",mouseLeave:(Vi,Gi)=>Gi.background="transparent",click:xi,contextClick:xi})}function Hn(nr,xi){var Vi=0,Gi=an.z6.RightSide;nr.equals(an.z6.Top)?(Vi=270,Gi=an.z6.TopSide):nr.equals(an.z6.Left)?(Vi=180,Gi=an.z6.LeftSide):nr.equals(an.z6.Bottom)&&(Vi=90,Gi=an.z6.BottomSide),xi||(Vi-=180);var Ao=(io,Do)=>{io.handled=!0,io.diagram.model.commit(Bo=>{var Ui=Do.part.adornedPart;Bo.set(Ui.data,xi?"toSpot":"fromSpot",an.z6.stringify(Gi)),(xi?Ui.toNode:Ui.fromNode).invalidateConnectedLinks()})};return Sn(an.bn,{alignment:nr,alignmentFocus:nr.opposite(),geometryString:"M0 0 M12 12 M12 6 L1 6 L4 4 M1 6 L4 8",angle:Vi,background:"transparent",mouseEnter:(io,Do)=>Do.background="dodgerblue",mouseLeave:(io,Do)=>Do.background="transparent",click:Ao,contextClick:Ao})}He.current.linkTemplate.contextMenu=Sn("ContextMenu",Bn(),pr(),Sn("ContextMenuButton",Sn(an.s_,"Horizontal",Nr(0),Nr(1),Nr(2))),Sn("ContextMenuButton",Sn(an.s_,"Horizontal",Sn(an.s_,"Spot",Kr(!1),Hn(an.z6.Top,!1),Hn(an.z6.Left,!1),Hn(an.z6.Right,!1),Hn(an.z6.Bottom,!1)),Sn(an.s_,"Spot",{margin:new an.Zt(0,0,0,2)},Kr(!0),Hn(an.z6.Top,!0),Hn(an.z6.Left,!0),Hn(an.z6.Right,!0),Hn(an.z6.Bottom,!0)))));const br=`{ "class": "GraphLinksModel",
"nodeDataArray": [
{"text":"Find Problem","key":-9,"loc":"-20 -140","color":"#3358ff","fill":"white","figure":"Procedure","thickness":3},
{"text":"What do we want?","key":-10,"loc":"-65 -324.305","group":-16,"figure":"Ellipse","fill":"white"},
{"text":"What do our users want?","key":-11,"loc":"105 -334.305","group":-20,"figure":"Ellipse","fill":"#ffffff","color":"black"},
{"text":"Meetings","key":-12,"loc":"-65 -444.305","group":-16,"figure":"TriangleDown","fill":"#ffffff"},
{"text":"Reviews","key":-13,"loc":"105 -454.305","group":-20,"figure":"TriangleDown","fill":"#ffffff","color":"black"},
{"text":"Can we solve it?","key":-14,"loc":"190 -140","color":"#7d33ff","fill":"#ffffff","figure":"Diamond","size":"140 80","thickness":3},
{"isGroup":true,"text":"Internal","key":-16,"loc":"-65 -384.305","fill":"#d5ebff","dash":null,"thickness":1,"group":-22},
{"isGroup":true,"text":"External","key":-20,"loc":"105 -394.305","fill":"#d5ebff","dash":null,"thickness":1,"group":-22},
{"isGroup":true,"text":"Sources","key":-22,"loc":"20 -400","fill":"#a5d2fa","dash":[4,4],"color":"#3358ff"}
],
"linkDataArray": [
{"from":-12,"to":-10,"points":[-65,-414.305,-65,-404.305,-65,-384.305,-65,-384.305,-65,-364.305,-65,-354.305],"dash":null,"dir":1},
{"from":-13,"to":-11,"points":[105,-424.305,105,-414.305,105,-394.305,105,-394.305,105,-374.305,105,-364.305],"dash":null,"color":"#000000","dir":1},
{"from":-10,"to":-9,"points":[-65,-294.305,-65,-284.305,-65,-232.1525,-40,-232.1525,-40,-180,-40,-170],"dir":2,"dash":[4,4]},
{"from":-11,"to":-9,"points":[105,-304.305,105,-294.305,105,-237.1525,0,-237.1525,0,-180,0,-170],"dash":[4,4],"dir":2},
{"from":-9,"to":-14,"points":[40,-150,58,-150,80,-150,80,-153.33333333333331,102,-153.33333333333331,120,-153.33333333333331],"dir":1,"color":"#3358ff"},
{"from":-14,"to":-9,"points":[190,-100,190,-90,-20,-90,-20,-95,-20,-100,-20,-110],"fromSpot":"BottomSide","toSpot":"BottomSide","text":"No","color":"#ff3333","thickness":2,"dir":1},
{"from":-9,"to":-14,"points":[40,-130,58,-130,80,-130,80,-126.66666666666666,102,-126.66666666666666,120,-126.66666666666666]}
]}`;var ui=["Rectangle","Square","RoundedRectangle","Border","Ellipse","Circle","TriangleRight","TriangleDown","TriangleLeft","TriangleUp","Triangle","Diamond","LineH","LineV","None","BarH","BarV","MinusLine","PlusLine","XLine","LineRight","LineDown","LineLeft","LineUp"];function gi(nr){return console.log("shapeName:",nr),ui.indexOf(nr)>=0}var Zi=new an.YI(et.current,{maxSelectionCount:1,linkTemplate:Sn(an.rU,{locationSpot:an.z6.Center,selectionAdornmentTemplate:Sn(an.uz,"Link",{locationSpot:an.z6.Center},Sn(an.bn,{isPanelMain:!0,fill:null,stroke:"deepskyblue",strokeWidth:0}),Sn(an.bn,{toArrow:"Standard",stroke:null}))},{routing:an.rU.AvoidsNodes,curve:an.rU.JumpOver,corner:5,toShortLength:4},new an.KX("points"),Sn(an.bn,{isPanelMain:!0,strokeWidth:2}),Sn(an.bn,{toArrow:"Standard",stroke:null})),model:new an.FJ([{text:"\u672A\u547D\u540D",size:"100 100",fill:null,stroke:"#000"},...an.bn.getFigureGenerators().toArray().map(nr=>({text:"\u672A\u547D\u540D",size:"100 100",figure:nr.key,fill:"white",stroke:"#666",borderColor:"#000"}))])});return He.current.addDiagramListener("TextEdited",function(nr){var xi;const Vi=nr.subject.part;var Gi=(xi=document.activeElement)==null?void 0:xi.value;typeof Gi=="string"&&Gi.trim()===""&&He.current.model.commit(function(Ao){Ao.set(Vi.data,"text","\u672A\u547D\u540D"),He.current.commandHandler.stopCommand()},"increment")}),Zi.nodeTemplate=Sn(an.NB,"Auto",{locationSpot:an.z6.Center},new an.KX("location","location",an.E9.parse).makeTwoWay(an.E9.stringify),Sn(an.bn,"Circle",{fill:"white",stroke:"gray",strokeWidth:2,width:20,height:20,portId:"",fromLinkable:!0,toLinkable:!0,fromLinkableDuplicates:!0,toLinkableDuplicates:!0,fromLinkableSelfNode:!0,toLinkableSelfNode:!0},new an.KX("stroke").makeTwoWay(),new an.KX("fill").makeTwoWay(),new an.KX("figure")),Sn(an.al,{margin:new an.Zt(5,5,3,5),font:"10pt sans-serif",minSize:new an.$u(16,16),maxSize:new an.$u(10,NaN),textAlign:"center",editable:!0},new an.KX("key").makeTwoWay())),setTimeout(()=>{He.current.grid=Sn(an.s_,"Grid",Sn(an.bn,"LineH",{stroke:"lightgray",strokeWidth:.5}),Sn(an.bn,"LineV",{stroke:"lightgray",strokeWidth:.5})),He.current.grid.visible=!0,He.current.grid.gridCellStroke="darkgray",He.current.grid.gridCellStrokeWidth=1},300),window.myDiagrams=He.current,He.current}const Gn=()=>qt(this,null,function*(){var Sn=He.current.makeImage();const cn=yield(0,Nn.ZP)("/api/attachments.json",{method:"post",body:{file_type:"base64",original_filename:Date.now(),file:Sn.src}});De({src:cn.url})});return(0,Ge.useEffect)(()=>(setTimeout(()=>{nn()},500),rn(Ct+1),()=>{He.current=null}),[]),un.createElement("div",{ref:Bt,className:ft.current?`${_n.maxH60} body-overflow-initial`:"body-overflow-initial"},un.createElement(Gt.default,{width:1200,icon:null,footer:null,closable:!0,visible:!!Ct,destroyOnClose:!0,maskClosable:!1,rootClassName:"zIndex-9999",title:un.createElement(ln.Z,null,un.createElement(Xn.Z,{flex:1},"\u63D2\u5165\u6D41\u7A0B\u56FE"),un.createElement(Xn.Z,{onClick:()=>{var Sn,cn,Yn=He.current.selection.first();if(ft.current=!ft.current,document.activeElement&&Yn){let ir=(cn=(Sn=document.activeElement)==null?void 0:Sn.value)==null?void 0:cn.trim();typeof ir=="string"&&He.current.model.commit(function(fr){fr.set(Yn.data,"text",ir||"\u672A\u547D\u540D"),He.current.commandHandler.stopCommand()},"increment")}rn(Ct+1)}},un.createElement("span",{className:"current c-blue mr30",style:{fontWeight:400}},"\u5C55\u5F00/\u6536\u8D77"))),onCancel:Nt},un.createElement("div",{style:{width:"100%",height:"80vh",overflow:"hidden",position:"relative"},className:_n.flowChartWrp},un.createElement("div",{style:{display:"flex",height:"100%"}},un.createElement("div",{style:{width:"300px",height:"100%"}},un.createElement("div",{style:{background:"#fff",position:"relative",zIndex:12,fontSize:16,color:"#3061d0"}},"\u56FE\u5F62\u5E93"),un.createElement("div",{style:{height:"calc(100% - 50px)"},className:_n.myPaletteDiv,ref:et})),un.createElement("div",{style:{flex:1,position:"relative"}},un.createElement("div",{ref:Re,style:{height:"80vh"}}))),un.createElement("div",{className:"tr"},un.createElement($e.ZP,{size:"large",onClick:Gn,style:{position:"absolute",right:0,bottom:0,zIndex:8},type:"primary"},"\u4FDD\u5B58\u5230\u7F16\u8F91\u5668")))))}var gn=Yt,_t=Oe(5112),Jt=Oe(88897);const wt=_t.ZP.Group,ut={margin:"0 8px"};var ot=({callback:Nt,onCancel:De})=>{function He(Re){Nt(Re)}return Ge.createElement(Ve.default,{className:"add-table-panel",initialValues:{row:3,col:2,align:"default"},onFinish:He},Ge.createElement("div",{className:"flex-container",style:{alignItems:"baseline"}},Ge.createElement("span",{style:ut},"\u5355\u5143\u683C\u6570\uFF1A"),Ge.createElement("span",{style:ut},"\u884C\u6570"),Ge.createElement(Ve.default.Item,{name:"row",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u884C\u6570"}]},Ge.createElement(Jt.Z,null)),Ge.createElement("span",{style:ut},"\u5217\u6570"),Ge.createElement(Ve.default.Item,{name:"col",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u5217\u6570"}]},Ge.createElement(Jt.Z,null))),Ge.createElement("div",{className:"flex-container",style:{marginTop:12,alignItems:"baseline"}},Ge.createElement("span",{style:ut},"\u5BF9\u9F50\u65B9\u5F0F\uFF1A"),Ge.createElement(Ve.default.Item,{name:"align"},Ge.createElement(wt,null,Ge.createElement(_t.ZP,{value:"default"},Ge.createElement("i",{className:"fa fa-align-justify"})),Ge.createElement(_t.ZP,{value:"left"},Ge.createElement("i",{className:"fa fa-align-left"})),Ge.createElement(_t.ZP,{value:"center"},Ge.createElement("i",{className:"fa fa-align-center"})),Ge.createElement(_t.ZP,{value:"right"},Ge.createElement("i",{className:"fa fa-align-right"}))))),Ge.createElement("div",{className:"flex-container flex-end"},Ge.createElement($e.ZP,{type:"primary",htmlType:"submit",style:{marginRight:10}},"\u786E\u5B9A"),Ge.createElement($e.ZP,{type:"ghost",onClick:De},"\u53D6\u6D88")))},Pt=Oe(78673),Ht=Oe(98598),Mt=Oe.n(Ht),rr=(0,Ge.forwardRef)(({use3d:Nt,width:De,height:He,callback:Re,showSaveButton:et},ft)=>{const Bt=(0,Ge.useRef)(),Ct=(0,Ge.useRef)(),[rn,nn]=(0,Ge.useState)(!1),Gn=(0,Ge.useRef)({id:Bt,appName:"graphing",width:De||1e3,height:He||600,showToolBar:!0,showMenuBar:!0,allowStyleBar:!0,showAlgebraInput:!0,enableLabelDrags:!1,enableShiftDragZoom:!0,showToolBarHelp:!1,errorDialogsActive:!0,showTutorialLink:!0,showLogging:!0,useBrowserForJS:!1});(0,Ge.useEffect)(()=>{Ct.current=new(Mt())(Gn.current,!0),window.onload=function(){Ct.current.inject("applet_container")}},[]);const Sn=()=>{var cn=window.ggbApplet.getPNGBase64(1,!0,72);return Re&&Re(cn),cn};return(0,Ge.useEffect)(()=>{Gn.current.appName=rn?"3D":"graphing",Ct.current.inject("applet_container")},[rn]),(0,Ge.useEffect)(()=>{nn(Nt)},[Nt]),(0,Ge.useImperativeHandle)(ft,()=>({getImgData:Sn})),Ge.createElement(Ge.Fragment,null,Ge.createElement("div",{style:{width:"100%",height:"100%"},id:"applet_container",ref:Bt}),Ge.createElement(ln.Z,{align:"middle"},Ge.createElement(Xn.Z,{flex:1},Ge.createElement(Pt.Z,{size:"default",checkedChildren:"\u5173\u95ED3D\u56FE\u50CF",unCheckedChildren:"\u5F00\u542F3D\u56FE\u50CF",checked:rn,onChange:cn=>nn(cn)})),Ge.createElement(Xn.Z,null,Ge.createElement($e.ZP,{size:"large",onClick:Sn,style:{zIndex:8,marginTop:10},type:"primary"},"\u4FDD\u5B58\u5230\u7F16\u8F91\u5668"))))}),Jn=Oe(75890),An=Oe(8591);const $n="link",xr="upload-image",mr="add-flowchart",Qr="draw-image",di="add-flowchart",li="code-block",Ai="add-table",fo="------------",Io={default:fo,left:`:${fo}`,center:`:${fo}:`,right:`${fo}:`};var bo=Oe(91300);function ai(){}let Pi=0;const ao=1e4,Jr="\u2581",oo="@\u2581\u2581@",zi="@\u2581@",It=`
**\u6A21\u677F\u6807\u9898**
\u6A21\u677F\u6B63\u6587\u5185\u5BB9\uFF0C\u53EF\u8F93\u5165\u6587\u672C\u5185\u5BB9\u548C\u7C98\u8D34\u56FE\u7247\u7B49\u64CD\u4F5C`,Yo=["pptm","pptx","ppt","pot","pps","ppa","potx","ppsx","ppam","pptm","potm","ppsm","doc","docx","dot","dotx","docm","dotm","xls","xlsx","csv","xlt","xla","xltx","xlsm","xltm","xlam","xlsb"];function ko(Nt){return/^\d+$/.test(Nt)?`${Nt}px`:Nt}const Bi=navigator.platform.toUpperCase().indexOf("MAC")>=0?"Cmd":"Ctrl",Fi={[Bi+"-B"]:"bold",[Bi+"-I"]:"italic"},Qi={[$n]:"\u6DFB\u52A0\u94FE\u63A5",[li]:"\u6DFB\u52A0\u4EE3\u7801\u5757",[xr]:"\u6DFB\u52A0\u56FE\u7247",[Qr]:"\u6DFB\u52A0\u753B\u56FE",[mr]:"\u63D2\u5165\u6D41\u7A0B\u56FE",[Ai]:"\u6DFB\u52A0\u8868\u683C","maths-latex":"\u6570\u5B66\u56FE\u50CF","inline-latex":"LATEX\u516C\u5F0F"};var ii=({defaultValue:Nt="",onChange:De,width:He="100%",height:Re=400,miniToolbar:et=!1,isFocus:ft=!1,watch:Bt,insertTemp:Ct,mode:rn="markdown",id:nn="markdown-editor-id",showResizeBar:Gn=!1,noStorage:Sn=!1,showNullButton:cn=!1,showNullProgramButton:Yn=!1,hidetoolBar:ir=!1,fullScreen:fr=!1,onBlur:On,onCMBeforeChange:dn,onFullScreen:Bn,className:tr="",disablePaste:hr=!1,disabled:pr=!1,disabledFill:Mr=!1,placeholder:gr="",values:Nr="",extraUse:Kr})=>{const[Hn,br]=(0,Ge.useState)(null),[ui,gi]=(0,Ge.useState)(Nt),[Zi,nr]=(0,Ge.useState)(Bt),[xi,Vi]=(0,Ge.useState)(fr),[Gi,Ao]=(0,Ge.useState)(""),[io,Do]=(0,Ge.useState)(0),[Bo,Ui]=(0,Ge.useState)(Re),[Xo,Hr]=(0,Ge.useState)(!1),[wa,Zr]=(0,Ge.useState)(0),[Ca,ss]=(0,Ge.useState)(0),oa=(0,Ge.useRef)(),Os=(0,Ge.useRef)(),rs=(0,Ge.useRef)(),po=(0,Ge.useRef)();(0,Ge.useEffect)(()=>{const ta=window.scrollY||window.pageYOffset;gi(Nr),Hn==null||Hn.setValue(Nr),window.scrollTo(0,ta)},[Nr]),(0,Ge.useEffect)(()=>{Bn==null||Bn(xi)},[xi]),(0,Ge.useEffect)(()=>{if(oa.current){let ta=function(Ba,Ii){var Gs;if(hr){Ii.preventDefault();return}const sl=Ii.clipboardData;if(sl){const ql=sl.types.toString(),Ki=sl.items;if(ql==="Files"||sl.types.indexOf("Files")>-1){if(Ii.preventDefault(),rn=="stex")return;try{let xs=Ki[1];((Gs=Ki[0])==null?void 0:Gs.kind)==="file"&&(xs=Ki[0]);const zs=xs.getAsFile(),yl=zs.name.split(".").pop();(0,Rt.I)(zs,tl=>{var Ms,Au,Ur;tl.id?((Ms=zs==null?void 0:zs.type)==null?void 0:Ms.indexOf("image"))>-1?Qo.replaceSelection(`![,](/api/attachments/${tl.id}?type=${tl.content_type})`):((Au=zs==null?void 0:zs.type)==null?void 0:Au.indexOf("video"))>-1?Qo.replaceSelection(`<video width="100%" controls src="/api/attachments/${tl.id}"></video>`):((Ur=zs==null?void 0:zs.type)==null?void 0:Ur.indexOf("pdf"))>-1?Qo.replaceSelection(`<a href="/api/attachments/${tl.id}?type=${zs.type}&disposition=inline" target="_blank">${zs.name}</a>`):Yo.includes(yl)?Qo.replaceSelection(`<a href="/api/attachments/${tl.id}?type=office&disposition=inline" target="_blank">${zs.name}</a>`):Qo.replaceSelection(`[${zs.name}](/api/attachments/${tl.id}?type=${tl.content_type})`):(tl==null?void 0:tl.status)===401&&(document.location.href="/user/login")})}catch(xs){An.ZP.warning("\u8BF7\u4F7F\u7528chrome\u6D4F\u89C8\u5668\u7C98\u8D34")}return!0}else return!0}return!0};const Qo=Ue().fromTextArea(oa.current,{mode:rn,lineNumbers:!et,lineWrapping:!0,value:Nt,autoCloseTags:!0,autoCloseBrackets:!0});return Qo.on("keyup",function(Ba,Ii){Ii.keyCode===8&&(Ba.getValue()==""?Qo.setOption("placeholder",gr):Qo.setOption("placeholder",null))}),Qo.on("keydown",function(Ba,Ii){if(Ii.keyCode===8){var Gs=za(Ba);Gs&&Ii.preventDefault()}}),ft&&Qo.focus(),Qo.on("paste",ta),pr&&Qo.on("beforeChange",function(Ba,Ii){(Ii.origin==="paste"||Ii.origin==="+input")&&Ii.cancel()}),br(Qo),()=>{Qo.off("paste",ta)}}},[]);const zo=(0,Ge.useCallback)(()=>{if(Os.current)try{}catch(ta){console.log(ta,"---- to set md editor body height")}},[Bo,Os,xi]);(0,Ge.useEffect)(()=>{function ta(){let Qo=new Ne.Z(Ba=>{for(let Ii of Ba)(Ii.target.offsetHeight>0||Ii.target.offsetWidth>0)&&(zo(),Hn.setSize("100%","100%"),Hn.refresh())});return Qo.observe(oa.current.parentElement),Qo}if(Hn){const Qo=ta();return()=>{var Ba,Ii;(Ba=oa.current)!=null&&Ba.parentElement&&Qo.unobserve((Ii=oa.current)==null?void 0:Ii.parentElement)}}},[Hn,zo]),(0,Ge.useEffect)(()=>{if(Hn){let ta=[];for(const[Qo,Ba]of Object.entries(Fi)){let Ii={[Qo]:()=>{Ka(Ba)}};ta.push(Ii),Hn.addKeyMap(Ii)}return()=>{for(let Qo of ta)Hn.removeKeyMap(Qo)}}},[Hn]),(0,Ge.useEffect)(()=>{fr!==xi&&Vi(fr)},[fr]),(0,bo.Z)(()=>{if(!Sn&&io>0){let ta=new Date().getTime(),Qo=window.sessionStorage.getItem(nn);ta>=io+ao&&(!Qo||Qo!==ui)&&(window.sessionStorage.setItem(nn,ui),Hr(!0))}},ao),(0,Ge.useEffect)(()=>{nr(Bt)},[Hn,Bt]),(0,Ge.useEffect)(()=>{Hn&&ft&&Hn.focus()},[Hn,ft]),(0,Ge.useEffect)(()=>{if(Zi&&Hn){let ta=function(Ba){let Ii=Ba.target;if(po.current){let Gs=Ii.scrollTop/Ii.scrollHeight;po.current.scrollTop=po.current.scrollHeight*Gs}};const Qo=Hn.getScrollerElement();return Qo.addEventListener("scroll",ta),()=>{Qo.removeEventListener("scroll",ta)}}},[Hn,Zi]),(0,Ge.useEffect)(()=>{if(Hn&&dn){let ta=function(Qo,Ba){dn(Qo,Ba)};return Hn.on("beforeChange",ta),()=>{Hn.off("beforeChange",ta)}}},[Hn,dn]),(0,Ge.useEffect)(()=>{if(Hn&&On){let ta=function(){On(Hn.getValue())};return Hn.on("blur",ta),()=>{Hn.off("blur",ta)}}},[Hn,On]);function za(ta,Qo){var Ba=ta.getDoc(),Ii=Ba.getCursor(),Gs=Ba.getLine(Ii.line),sl=Gs.charAt(Ii.ch-1),ql=Gs.lastIndexOf("@\u2581@",Ii.ch),Ki=Gs.lastIndexOf("@\u2581\u2581@",Ii.ch),xs=ql>Ki?ql:Ki,zs=ql>Ki?3:4;if(oo.indexOf(sl)===-1)return null;if(console.log("change1:",Qo,ta,Gs,Ii,xs,ql,Ki,sl),xs>=0&&Ii.ch-xs<5){var yl=xs+zs;return Ba.replaceRange("",{line:Ii.line,ch:xs},{line:Ii.line,ch:yl}),{line:Ii.line,ch:yl}}return null}(0,Ge.useEffect)(()=>{if(Hn){let ta=function(Qo,Ba){const Ii=Qo.getValue();gi(Ii),Do(new Date().getTime()),Qo.getScrollerElement().dispatchEvent(new CustomEvent("scroll")),De&&(Yn?De(Ii,aa(Ii)):De(Ii))};return Hn.on("change",ta),()=>{Hn.off("change",ta)}}},[Hn,De]),(0,Ge.useEffect)(()=>{if(Hn)if(Nt==null)Hn.setValue(""),gi("");else{const ta=window.scrollY||window.pageYOffset;Nt!==Hn.getValue()&&(Hn.setValue(Nt),gi(Nt),Hn.setCursor(pr?1:Hn.lineCount(),0),window.scrollTo(0,ta))}},[Hn,Nt]);const Ka=(0,Ge.useCallback)(ta=>{const Qo=Hn.getCursor(),Ba=Hn.getSelection();let Ii=Ba.split(`
`);switch(ta){case"bold":return Hn.replaceSelection("**"+Ba+"**"),Ba===""&&Hn.setCursor(Qo.line,Qo.ch+2),Hn.focus();case"italic":return Hn.replaceSelection("*"+Ba+"*"),Ba===""&&Hn.setCursor(Qo.line,Qo.ch+1),Hn.focus();case"code":return Hn.replaceSelection("`"+Ba+"`"),Ba===""&&Hn.setCursor(Qo.line,Qo.ch+1),Hn.focus();case"inline-latex":return Ao("inline-latex"),Hn.focus();case"latex":return Hn.replaceSelection("```latex\n"+Ba+"\n```"),Hn.setCursor(Qo.line+1,Ba.length+1),Hn.focus();case"line-break":return Hn.replaceSelection(`<br/>
`),Hn.focus();case"list-ul":return Ba===""?Hn.replaceSelection("- "+Ba):Hn.replaceSelection(Ii.map(Gs=>Gs===""?"":`- ${Gs}`).join(`
`)),Hn.focus();case"list-ol":return Ba===""?Hn.replaceSelection("1. "+Ba):Hn.replaceSelection(Ii.map((Gs,sl)=>Gs===""?"":`${sl+1}. ${Gs}`).join(`
`)),Hn.focus();case"add-null-ch":return Ba===""&&Hn.setCursor(Qo.line,Qo.ch),Hn.replaceSelection(Jr),Hn.focus();case"add-signal":return Ba===""&&Hn.setCursor(Qo.line,Qo.ch),Hn.replaceSelection(zi),Hn.focus();case"add-multiple":return Ba===""&&Hn.setCursor(Qo.line,Qo.ch),Hn.replaceSelection(oo),Hn.focus();case"inster-template-1":return Ba===""&&Hn.setCursor(Qo.line,Qo.ch),Hn.replaceSelection(It),Hn.focus();case"eraser":return Hn.setValue(""),Hn.focus();case"trigger-watch":return nr(!Zi),Hn.focus();case"trigger-full-screen":return Vi(!xi),Hn.focus();case $n:Ao($n);return;case li:Ao(li);return;case xr:Ao(xr);return;case Qr:Ao(Qr);return;case"maths-latex":Ao("maths-latex");return;case mr:Ao(mr);return;case Ai:Ao(Ai);return;default:throw new Error}},[Hn,Zi,xi]),Ji=(0,Ge.useCallback)((ta,Qo)=>{var Ba,Ii,Gs,sl,ql,Ki;switch(Ao(""),Gi){case $n:const{title:Ms,link:Au}=ta;return Hn.replaceSelection(`[${Ms}](${Au})`),Hn.focus();case li:const{language:Ur,content:Su}=ta;return Hn.replaceSelection(["```"+Ur,Su,"```"].join(`
`)),Hn.focus();case"maths-latex":for(var xs=atob(ta),zs=new Uint8Array(xs.length),yl=0;yl<xs.length;yl++)zs[yl]=xs.charCodeAt(yl);var tl=new Blob([zs],{type:"image/png"});(0,Rt.I)(tl,Wu=>{Wu.id?Hn.replaceSelection(`![,](/api/attachments/${Wu.id}?type=${Wu.content_type})`):(Wu==null?void 0:Wu.status)===401&&(document.location.href="/user/login")});break;case"inline-latex":Hn.replaceSelection("`$$"+ta+"$$`");break;case xr:case Qr:case di:const{src:gh,alt:Wc}=ta,Ns=Qo,Sl=(Gs=(Ii=(Ba=Ns==null?void 0:Ns.name)==null?void 0:Ba.split("."))==null?void 0:Ii.pop)==null?void 0:Gs.call(Ii);return((sl=Ns==null?void 0:Ns.type)==null?void 0:sl.indexOf("image"))>-1||!(Ns!=null&&Ns.type)?Wc?Hn.replaceSelection(`![ ${Wc} ]( ${gh} "${Wc}" )`):Hn.replaceSelection(`![,](${gh})`):((ql=Ns==null?void 0:Ns.type)==null?void 0:ql.indexOf("video"))>-1?Hn.replaceSelection(`<video width="100%" controls src="${gh}"></video>`):((Ki=Ns==null?void 0:Ns.type)==null?void 0:Ki.indexOf("pdf"))>-1?Hn.replaceSelection(`<a href="${gh}?type=${Ns.type}&disposition=inline" target="_blank">${Ns.name}</a>`):Yo.includes(Sl)?Hn.replaceSelection(`<a href="${gh}?type=office&disposition=inline" target="_blank">${Ns.name}</a>`):Hn.replaceSelection(`[${Ns.name}](${gh})`),Hn.focus();case Ai:const{row:lu,col:gl,align:Hs}=ta;let Al=`
`;for(let Wu=0;Wu<lu;Wu++){let ls=[],ns=[];for(let Vs=0;Vs<gl;Vs++)Wu===1&&ns.push(Io[Hs]),ls.push(" ");Wu===1&&(Al+=`| ${ns.join(" | ")} |
`),Al+=`| ${ls.join(gl===1?"":" | ")} |
`}return Hn.replaceSelection(Al+`
`),Hn.focus();default:throw new Error}},[Hn,Gi]),yn=(0,Ge.useMemo)(()=>{switch(Gi){case $n:return Ge.createElement(Xt,{callback:Ji,onCancel:ja});case li:return Ge.createElement(kt.Z,{callback:Ji,onCancel:ja});case xr:return Ge.createElement(Rt.Z,{callback:Ji,onCancel:ja});case mr:return Ge.createElement(gn,{callback:Ji,onCancel:ja});case Ai:return Ge.createElement(ot,{callback:Ji,onCancel:ja});case"maths-latex":return Ge.createElement(rr,{showSaveButton:!0,callback:Ji});case"inline-latex":return Ge.createElement(Jn.Z,{showSaveButton:!0,callback:Ji});default:return null}},[Gi]);function ja(){Ao("")}(0,Ge.useEffect)(()=>{if(rs.current){let ta=function(ql){Gs=!0,sl=ql.pageY},Qo=function(){Gs=!1},Ba=function(ql){if(Gs){let Ki=ql.pageY-sl;Ki<0&&(Ki=0),Ki>300&&(Ki=300);let xs=Re+Ki+"px";Ui(xs)}},Ii=rs.current,Gs=!1,sl=0;return Ii.addEventListener("mousedown",ta),document.addEventListener("mousemove",Ba),document.addEventListener("mouseup",Qo),()=>{Ii.removeEventListener("mousedown",ta),document.removeEventListener("mousemove",Ba),document.removeEventListener("mouseup",Qo)}}},[Hn,rs]),(0,Ge.useEffect)(()=>{Ui(Re)},[Re]);const is=ko(He),_a=ko(Bo),Us={width:is,height:_a},ma=(0,Ge.useMemo)(()=>{if(io){let ta=new Date(io),Qo=ta.getHours(),Ba=ta.getMinutes(),Ii=ta.getSeconds();return Qo=Qo<10?"0"+Qo:Qo,Ba=Ba<10?"0"+Ba:Ba,Ii=Ii<10?"0"+Ii:Ii,`${Qo}:${Ba}:${Ii}`}return 0},[io]),aa=ta=>{const Qo=[];if(Yn){let Ba=-1;ta=ta.replace(/(@▁▁@|@▁@)/g,function(Ii,Gs,sl){Qo.push({multiLine:Ii!==zi})})}return Qo};function ys(){window.sessionStorage.removeItem(nn),Hr(!1),Do(0)}function Fs(){Hr(!1),Do(0),Hn.setValue(window.sessionStorage.getItem(nn))}(0,Ge.useEffect)(()=>{Qi[Gi]&&Gi!==Qr&&Gi!==mr&&setTimeout(()=>{const ta=document.getElementsByClassName("markdown-popup-form")[0],Qo=window.innerWidth/2-ta.offsetWidth/2,Ba=window.innerHeight/2-ta.offsetHeight/2;Zr(Qo),ss(Ba)},0)},[Gi]);const es=ta=>{ta.preventDefault();const Qo=ta.clientX-wa,Ba=ta.clientY-Ca;document.body.onmousemove=Ii=>{let Gs=Ii.clientX-Qo,sl=Ii.clientY-Ba;const ql=document.getElementsByClassName("markdown-popup-form")[0],Ki=window.innerWidth-ql.offsetWidth,xs=window.innerHeight-ql.offsetHeight;Gs=Math.max(0,Math.min(Gs,Ki)),sl=Math.max(0,Math.min(sl,xs)),ml(Ii.clientX,Ii.clientY,Qo,Ba)&&(Zr(Gs),ss(sl))},document.body.onmouseup=function(){document.body.onmousemove=null}},ml=(ta,Qo,Ba,Ii)=>{const Gs=document.body.clientHeight,sl=document.body.clientWidth;return ta<20&&Ba>ta||ta>sl-20&&Ba<ta||Qo<20&&Ii>Qo||Qo>Gs-20&&Ii<Qo?(document.body.onmousemove=null,document.body.onmouseup=null,!1):!0};return Ge.createElement(Ge.Fragment,null,Ge.createElement("div",{className:"markdown-editor-wrapper",ref:Os},Ge.createElement("div",{className:`markdown-editor-container ${tr} ${Zi?"on-preview":""} ${et?"mini":""} ${xi?"full-screen":""}`,style:Us},Ge.createElement(ze,{insertTemp:Ct,watch:Zi,fullScreen:xi,showNullButton:cn,showNullProgramButton:Yn,onActionCallback:Ka,hidetoolBar:ir,extraUse:Kr}),Ge.createElement("div",{className:"markdown-editor-body"},Ge.createElement("div",{className:"codemirror-container"},Ge.createElement("textarea",{ref:oa,placeholder:gr})),Zi?Ge.createElement("div",{ref:po,className:"preview-container"},rn==="stex"&&Ge.createElement(Me,{value:ui}),rn!=="stex"&&Ge.createElement(Ce.Z,{disabledFill:Mr,showProgramFill:Yn,value:ui})):null))),Gn?Ge.createElement("a",{ref:rs,className:"editor-resize"}):null,Gi===Qr&&Ge.createElement(er,{callback:Ji,onCancel:ja}),Gi===mr&&Ge.createElement(gn,{callback:Ji,onCancel:ja}),Ge.createElement(Ze.Z,null,Qi[Gi]&&Gi!==Qr&&Gi!==mr?Ge.createElement(Gt.default,{maskClosable:!1,centered:!0,style:{position:"absolute",left:wa,top:Ca},title:Ge.createElement("div",{style:{cursor:"move"},onMouseDown:es},Qi[Gi]),open:!0,onCancel:ja,footer:null,destroyOnClose:!0,width:Gi===mr?"1200px":null,height:Gi===mr?"80vh":null,className:"markdown-popup-form"},yn):null))}},56701:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return xe},I:function(){return pe}});var Ge=Oe(78241),tt=Oe(8591),Ue=Oe(92832),Ne=Oe(3113),Ke=Oe(58788),Be=Oe(59301),we=Oe(59301),Te=Object.defineProperty,ke=Object.defineProperties,Ie=Object.getOwnPropertyDescriptors,Ce=Object.getOwnPropertySymbols,Me=Object.prototype.hasOwnProperty,je=Object.prototype.propertyIsEnumerable,ye=(Se,Le,ze)=>Le in Se?Te(Se,Le,{enumerable:!0,configurable:!0,writable:!0,value:ze}):Se[Le]=ze,ie=(Se,Le)=>{for(var ze in Le||(Le={}))Me.call(Le,ze)&&ye(Se,ze,Le[ze]);if(Ce)for(var ze of Ce(Le))je.call(Le,ze)&&ye(Se,ze,Le[ze]);return Se},ae=(Se,Le)=>ke(Se,Ie(Le));const{useForm:fe}=Ge.default,de={width:280,marginRight:10},ve={labelCol:{span:5},wrapperCol:{span:19}};var xe=({callback:Se,onCancel:Le})=>{const[ze]=fe();let Ze=(0,Be.useRef)();function Ve(gt){Se(gt,Ze.current)}function Qe(gt,lt){if(gt.status===-1){tt.ZP.error(gt.message);return}ze.setFieldsValue({src:`/api/attachments/${gt.id}`,type:lt.type})}function $e(gt){let lt=gt.target.files[0];Ze.current=lt,pe(lt,Qe)}return we.createElement(Ge.default,ae(ie({form:ze},ve),{className:"upload-image-panel",onFinish:Ve,style:{width:470,overflow:"hidden"}}),we.createElement(Ge.default.Item,{label:"\u56FE\u7247\u5730\u5740",required:!0},we.createElement("div",{className:"flex-container"},we.createElement(Ge.default.Item,{noStyle:!0,name:"src",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u56FE\u7247\u5730\u5740"}]},we.createElement(Ue.default,{style:de})),we.createElement(ce,{onFileChange:$e}))),we.createElement(Ge.default.Item,{label:"\u56FE\u7247\u63CF\u8FF0",name:"alt"},we.createElement(Ue.default,{style:{width:264}})),we.createElement(Ge.default.Item,{style:{textAlign:"right"}},we.createElement(Ne.ZP,{type:"primary",htmlType:"submit",style:{marginRight:10}},"\u786E\u5B9A"),we.createElement(Ne.ZP,{type:"default",onClick:Le},"\u53D6\u6D88")))};function ce({onFileChange:Se}){return we.createElement("label",{className:"upload-button",style:{cursor:"pointer"}},"\u672C\u5730\u4E0A\u4F20",we.createElement("input",{type:"file",onChange:Se}))}function pe(Se,Le){if(!Se)throw new String("\u6CA1\u6709\u6587\u4EF6");let ze=new FormData;ze.append("editormd-image-file",Se),ze.append("file_param_name","editormd-image-file"),ze.append("byxhr","true");var Ze=new window.XMLHttpRequest;Ze.withCredentials=!0,Ze.addEventListener("load",function(Ve){Le(JSON.parse(Ve.target.responseText),Se)},!1),Ze.addEventListener("error",function(Ve){console.error(Ve)},!1),Ze.open("POST",`${Ke.KI}/api/attachments.json`),Ze.send(ze)}},50474:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Ue}});var Ge=Oe(59301),tt=Oe(4676);class Ue extends Ge.Component{constructor(Ke){super(Ke);const Be=window.document;this.node=Be.createElement("div"),Be.body.appendChild(this.node)}render(){const{children:Ke}=this.props;return(0,tt.createPortal)(Ke,this.node)}componentWillUnmount(){window.document.body.removeChild(this.node)}}},48551:function(en,tn,Oe){"use strict";Oe.d(tn,{SV:function(){return Yt},ZP:function(){return qt}});var Ge=Oe(59301),tt=Oe(76374);const Ue={keywords:["print","auto","break","case","char","const","continue","default","do","double","else","enum","extern","float","for","goto","if","int","long","register","return","short","signed","sizeof","static","struct","switch","typedef","union","unsigned","void","volatile","while"]},Ne={quickKey:[{label:"main",content:["public static void main(String[] args) {"," $0","}"].join(`
`)},{label:"System.out.println",content:["System.out.println($0)"].join(`
`)},{label:"System.out.print",content:["System.out.print($0)"].join(`
`)}],keywords:["abstract","continue","for","new","switch","assert","default","goto","package","synchronized","boolean","do","if","private","this","break","double","implements","protected","throw","byte","else","import","public","throws","case","enum","instanceof","return","transient","catch","extends","int","short","try","char","final","interface","static","void","class","finally","long","strictfp","volatile","const","float","native","super","while","true","false"]},Ke={keywords:["abstract","amp","array","auto","bool","break","case","catch","char","class","const","constexpr","const_cast","continue","cpu","decltype","default","delegate","delete","do","double","dynamic_cast","each","else","enum","event","explicit","export","extern","false","final","finally","float","friend","gcnew","generic","goto","in","initonly","inline","int","interface","interior_ptr","internal","literal","long","mutable","namespace","new","noexcept","nullptr","__nullptr","operator","override","partial","pascal","pin_ptr","private","property","protected","public","ref","register","reinterpret_cast","restrict","return","safe_cast","sealed","short","signed","sizeof","static","static_assert","static_cast","struct","switch","template","this","thread_local","throw","tile_static","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","where","while","_asm","_based","_cdecl","_declspec","_fastcall","_if_exists","_if_not_exists","_inline","_multiple_inheritance","_pascal","_single_inheritance","_stdcall","_virtual_inheritance","_w64","__abstract","__alignof","__asm","__assume","__based","__box","__builtin_alignof","__cdecl","__clrcall","__declspec","__delegate","__event","__except","__fastcall","__finally","__forceinline","__gc","__hook","__identifier","__if_exists","__if_not_exists","__inline","__int128","__int16","__int32","__int64","__int8","__interface","__leave","__m128","__m128d","__m128i","__m256","__m256d","__m256i","__m64","__multiple_inheritance","__newslot","__nogc","__noop","__nounwind","__novtordisp","__pascal","__pin","__pragma","__property","__ptr32","__ptr64","__raise","__restrict","__resume","__sealed","__single_inheritance","__stdcall","__super","__thiscall","__try","__try_cast","__typeof","__unaligned","__unhook","__uuidof","__value","__virtual_inheritance","__w64","__wchar_t"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],quickKey:[{label:"ifelse",content:["if (${1:condition}) {"," $0","} else {"," ","}"].join(`
`)},{label:"include",content:"include<$0>"},{label:"printf",content:"printf($0)"},{label:"system",content:'system("$0")'},{label:"main",content:["int main () {"," $0","}"].join(`
`)},{label:"if",content:["if () {"," $0","}"].join(`
`)},{label:"for",content:["for(int j=0 ; j<10; j++){"," $0","}"].join(`
`)},{label:"trycatch",content:["try{"," $0","}catch(ExceptionName e){","}"].join(`
`)},{label:"using namespace std;",content:["using namespace std;"].join(`
`)},{label:"include <iostream>",content:["#include <iostream>"].join(`
`)},{label:"include <vector>",content:["#include <vector>"].join(`
`)},{label:"include <cstdio>",content:["#include <cstdio>"].join(`
`)},{label:"include <cstring>",content:["#include <cstring>"].join(`
`)},{label:"include <sstream>",content:["#include <sstream>"].join(`
`)},{label:"include <fstream>",content:["#include <fstream>"].join(`
`)},{label:"include <map>",content:["#include <map>"].join(`
`)},{label:"include <string>",content:["#include <string>"].join(`
`)},{label:"include <cmath>",content:["#include <cmath>"].join(`
`)}]},Be={keywords:["and","as","assert","break","class","continue","def","del","elif","else","except","exec","finally","for","from","global","if","import","in","is","lambda","None","not","or","pass","raise","return","self","try","while","with","yield","int","float","long","complex","hex","abs","all","any","apply","basestring","bin","bool","buffer","bytearray","callable","chr","classmethod","cmp","coerce","compile","complex","delattr","dict","dir","divmod","enumerate","eval","execfile","file","filter","format","frozenset","getattr","globals","hasattr","hash","help","id","input","intern","isinstance","issubclass","iter","len","locals","list","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","reversed","range","raw_input","reduce","reload","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","unichr","unicode","vars","xrange","zip","True","False","__dict__","__methods__","__members__","__class__","__bases__","__name__","__mro__","__subclasses__","__init__","__import__"],quickKey:[{label:"print",content:["print($0)"].join(`
`)}]},we={keywords:["asInstanceOf","catch","class","classOf","def","do","else","extends","finally","for","foreach","forSome","if","import","isInstanceOf","macro","match","new","object","package","return","throw","trait","try","type","until","val","var","while","with","yield","given","enum","then"],quickKey:[{label:"println",content:["println($0)"].join(`
`)}]};var Te=Oe(86061),ke=Oe.n(Te),Ie=Object.defineProperty,Ce=Object.defineProperties,Me=Object.getOwnPropertyDescriptors,je=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,ie=Object.prototype.propertyIsEnumerable,ae=(gn,_t,Jt)=>_t in gn?Ie(gn,_t,{enumerable:!0,configurable:!0,writable:!0,value:Jt}):gn[_t]=Jt,fe=(gn,_t)=>{for(var Jt in _t||(_t={}))ye.call(_t,Jt)&&ae(gn,Jt,_t[Jt]);if(je)for(var Jt of je(_t))ie.call(_t,Jt)&&ae(gn,Jt,_t[Jt]);return gn},de=(gn,_t)=>Ce(gn,Me(_t)),ve=(gn,_t,Jt)=>new Promise((wt,ut)=>{var ot=Mt=>{try{Ht(Jt.next(Mt))}catch(hn){ut(hn)}},Pt=Mt=>{try{Ht(Jt.throw(Mt))}catch(hn){ut(hn)}},Ht=Mt=>Mt.done?wt(Mt.value):Promise.resolve(Mt.value).then(ot,Pt);Ht((Jt=Jt.apply(gn,_t)).next())});const xe={languages:["c","abap","apex","azcli","bat","cameligo","clojure","coffee","cpp","csharp","csp","css","dockerfile","fsharp","go","graphql","handlebars","html","ini","java","javascript","json","kotlin","less","lua","markdown","mips","msdax","mysql","objective-c","pascal","pascaligo","perl","pgsql","php","postiats","powerquery","powershell","pug","python","r","razor","redis","redshift","restructuredtext","ruby","rust","sb","scheme","scss","shell","solidity","sophia","sql","st","swift","tcl","twig","vb","xml","yaml'"],tables:{users:["name","id","email","phone","password"],roles:["id","name","order","created_at","updated_at","deleted_at"]}},ce=(gn,_t)=>_t.map(Jt=>({label:Jt,kind:gn.languages.CompletionItemKind.Keyword,insertText:Jt})),pe=gn=>Object.keys(xe.tables).map(_t=>({label:_t,kind:gn.languages.CompletionItemKind.Variable,insertText:_t})),Se=(gn,_t)=>{const Jt=xe.tables[gn];return Jt?Jt.map(wt=>({label:wt,kind:_t.languages.CompletionItemKind.Field,insertText:wt})):[]};function Le(gn,_t,Jt,wt,ut){let ot=_t.getWordUntilPosition(Jt),Pt={startLineNumber:Jt.lineNumber,endLineNumber:Jt.lineNumber,startColumn:ot.startColumn,endColumn:ot.endColumn},Ht=wt.map(Mt=>({label:Mt,kind:gn.languages.CompletionItemKind.Keyword,insertText:Mt,insertTextRules:gn.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:Pt}));return ut.map(Mt=>{Ht.push(de(fe({},Mt),{range:Pt}))}),Ht}var ze=gn=>{xe.languages.map(ut=>(gn.languages.registerDocumentFormattingEditProvider(ut,{provideDocumentFormattingEdits(ot,Pt,Ht){return ve(this,null,function*(){const Mt=ke()(ot.getValue(),{indent_size:"2",indent_char:" ",max_preserve_newlines:"2",preserve_newlines:!0,keep_array_indentation:!0,break_chained_methods:!1,indent_scripts:"normal",brace_style:"collapse",space_before_conditional:!0,unescape_strings:!1,jslint_happy:!1,end_with_newline:!0,wrap_line_length:"0",indent_inner_html:!1,comma_first:!1,e4x:!1,indent_empty_lines:!1});return[{range:ot.getFullModelRange(),text:Mt}]})}}),ut));const _t=Ke.quickKey.map(ut=>({label:ut.label,kind:gn.languages.CompletionItemKind.Method,insertText:ut.content,insertTextRules:gn.languages.CompletionItemInsertTextRule.InsertAsSnippet})),Jt=Be.quickKey.map(ut=>({label:ut.label,kind:gn.languages.CompletionItemKind.Method,insertText:ut.content,insertTextRules:gn.languages.CompletionItemInsertTextRule.InsertAsSnippet})),wt=Ne.quickKey.map(ut=>({label:ut.label,kind:gn.languages.CompletionItemKind.Method,insertText:ut.content,insertTextRules:gn.languages.CompletionItemInsertTextRule.InsertAsSnippet}));gn.languages.registerCompletionItemProvider("cpp",{provideCompletionItems:function(ut,ot){var Pt=ut.getWordUntilPosition(ot),Ht={startLineNumber:ot.lineNumber,endLineNumber:ot.lineNumber,startColumn:Pt.startColumn,endColumn:Pt.endColumn},Mt=ut.getLineContent(ot.lineNumber).substring(Pt.startColumn-2,Pt.endColumn);return{suggestions:[...Ke.keywords.map(hn=>({label:hn,kind:gn.languages.CompletionItemKind.Function,documentation:hn,insertText:hn,insertTextRules:gn.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:Ht})),...Ke.quickKey.map(hn=>({label:hn.label,kind:gn.languages.CompletionItemKind.Function,documentation:hn.content,insertText:Mt.startsWith("#")?hn.content.replace(/#/,""):hn.content,insertTextRules:gn.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:Ht}))]}}}),gn.languages.registerCompletionItemProvider("c",{provideCompletionItems:function(ut,ot){var Pt=ut.getWordUntilPosition(ot),Ht={startLineNumber:ot.lineNumber,endLineNumber:ot.lineNumber,startColumn:Pt.startColumn,endColumn:Pt.endColumn};return{suggestions:[...Ue.keywords.map(Mt=>({label:Mt,kind:gn.languages.CompletionItemKind.Function,documentation:Mt,insertText:Mt,insertTextRules:gn.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:Ht}))]}}}),gn.languages.registerCompletionItemProvider("java",{provideCompletionItems:function(ut,ot){var Pt=ut.getWordUntilPosition(ot),Ht={startLineNumber:ot.lineNumber,endLineNumber:ot.lineNumber,startColumn:Pt.startColumn,endColumn:Pt.endColumn},Mt=ut.getLineContent(ot.lineNumber).substring(Pt.startColumn-2,Pt.endColumn);return{suggestions:[...Ne.keywords.map(hn=>({label:hn,kind:gn.languages.CompletionItemKind.Function,documentation:hn,insertText:hn,insertTextRules:gn.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:Ht})),...Ne.quickKey.map(hn=>({label:hn.label,kind:gn.languages.CompletionItemKind.Function,documentation:hn.content,insertText:Mt.startsWith("#")?hn.content.replace(/#/,""):hn.content,insertTextRules:gn.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:Ht}))]}}}),gn.languages.registerCompletionItemProvider("scala",{provideCompletionItems:function(ut,ot){var Pt=ut.getWordUntilPosition(ot),Ht={startLineNumber:ot.lineNumber,endLineNumber:ot.lineNumber,startColumn:Pt.startColumn,endColumn:Pt.endColumn},Mt=ut.getLineContent(ot.lineNumber).substring(Pt.startColumn-2,Pt.endColumn);return{suggestions:[...we.keywords.map(hn=>({label:hn,kind:gn.languages.CompletionItemKind.Function,documentation:hn,insertText:hn,insertTextRules:gn.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:Ht})),...we.quickKey.map(hn=>({label:hn.label,kind:gn.languages.CompletionItemKind.Function,documentation:hn.content,insertText:Mt.startsWith("#")?hn.content.replace(/#/,""):hn.content,insertTextRules:gn.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:Ht}))]}}}),gn.languages.registerCompletionItemProvider("python",{provideCompletionItems:function(ut,ot){var Pt=ut.getWordUntilPosition(ot),Ht={startLineNumber:ot.lineNumber,endLineNumber:ot.lineNumber,startColumn:Pt.startColumn,endColumn:Pt.endColumn},Mt=ut.getLineContent(ot.lineNumber).substring(Pt.startColumn-2,Pt.endColumn);return{suggestions:[...Be.keywords.map(hn=>({label:hn,kind:gn.languages.CompletionItemKind.Function,documentation:hn,insertText:hn,insertTextRules:gn.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:Ht})),...Be.quickKey.map(hn=>({label:hn.label,kind:gn.languages.CompletionItemKind.Function,documentation:hn.content,insertText:Mt.startsWith("#")?hn.content.replace(/#/,""):hn.content,insertTextRules:gn.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:Ht}))]}}})};const Ze="\u8BE5\u4EFB\u52A1\u5173\u5361\u8BBE\u7F6E\u4E86\u7981\u6B62\u590D\u5236\u7C98\u8D34\uFF0C\u8BF7\u624B\u52A8\u8F93\u5165\u4EE3\u7801\u3002";var Ve=Object.defineProperty,Qe=(gn,_t,Jt)=>_t in gn?Ve(gn,_t,{enumerable:!0,configurable:!0,writable:!0,value:Jt}):gn[_t]=Jt,$e=(gn,_t,Jt)=>Qe(gn,typeof _t!="symbol"?_t+"":_t,Jt);const gt=class tk{constructor(_t,Jt,wt){this.placeholder=_t,this.editor=Jt,this.monaco=wt,Jt.onDidChangeModelContent(()=>this.onDidChangeModelContent()),this.onDidChangeModelContent()}onDidChangeModelContent(){this.editor.getValue()===""?this.editor.addContentWidget(this):this.editor.removeContentWidget(this)}getId(){return tk.ID}getDomNode(){return this.domNode||(this.domNode=document.createElement("div"),this.domNode.style.width="max-content",this.domNode.textContent=this.placeholder,this.domNode.style.fontStyle="initial",this.domNode.style.color="#D7D7D7",this.domNode.style.pointerEvents="none",this.editor.applyFontInfo(this.domNode)),this.domNode}getPosition(){return{position:{lineNumber:1,column:1},preference:[this.monaco.editor.ContentWidgetPositionPreference.EXACT]}}dispose(){this.editor.removeContentWidget(this)}};$e(gt,"ID","editor.widget.placeholderHint");var At=gt,Et=Oe(96236),vt=Oe(8591),Lt=Oe(6848),St=Oe(89392),xt=Oe(86766),ct=Oe(56102),Dt=Object.defineProperty,Xt=Object.defineProperties,kt=Object.getOwnPropertyDescriptors,Rt=Object.getOwnPropertySymbols,Gt=Object.prototype.hasOwnProperty,ln=Object.prototype.propertyIsEnumerable,Rn=(gn,_t,Jt)=>_t in gn?Dt(gn,_t,{enumerable:!0,configurable:!0,writable:!0,value:Jt}):gn[_t]=Jt,jn=(gn,_t)=>{for(var Jt in _t||(_t={}))Gt.call(_t,Jt)&&Rn(gn,Jt,_t[Jt]);if(Rt)for(var Jt of Rt(_t))ln.call(_t,Jt)&&Rn(gn,Jt,_t[Jt]);return gn},er=(gn,_t)=>Xt(gn,kt(_t)),an=(gn,_t)=>{var Jt={};for(var wt in gn)Gt.call(gn,wt)&&_t.indexOf(wt)<0&&(Jt[wt]=gn[wt]);if(gn!=null&&Rt)for(var wt of Rt(gn))_t.indexOf(wt)<0&&ln.call(gn,wt)&&(Jt[wt]=gn[wt]);return Jt},Un=(gn,_t,Jt)=>new Promise((wt,ut)=>{var ot=Mt=>{try{Ht(Jt.next(Mt))}catch(hn){ut(hn)}},Pt=Mt=>{try{Ht(Jt.throw(Mt))}catch(hn){ut(hn)}},Ht=Mt=>Mt.done?wt(Mt.value):Promise.resolve(Mt.value).then(ot,Pt);Ht((Jt=Jt.apply(gn,_t)).next())});function Kn(gn){return/^\d+$/.test(gn)?`${gn}px`:gn}function ur(){}let Xn=!1;const Nn={"Python3.6":"python","Python2.7":"python",Dynamips:"cpp",Java:"java",Web:"php",Html:"html",Hive:"sql",Hadoop:"java",SDL:"cpp",PHP:"php",Matlab:"python",Git:"python",Python:"python","C/C++":"cpp","C++":"cpp",C:"cpp",Ruby:"ruby",Shell:"shell",JavaScript:"javascript",Perl6:"perl",Kotlin:"kotlin",Elixir:"elixir",Android:"java",JavaWeb:"java",Go:"go",Spark:"sql",MachineLearning:"python",Verilog:"xml","Verilog/VNC":"xml",Docker:"dockerfile","C#":"csharp",SQLite3:"sql",Oracle:"sql",Vhdl:"vhdl",R:"r",Swift:"swift",SQLServer:"mysql",MySQL:"mysql",Mongo:"sql",PostgreSql:"pgsql",Hbase:"powershell",Sqoop:"sql",Nasm:"cpp",Kafka:"java",Flink:"java",Sml:"javascript",OpenGL:"cpp",Perl5:"perl",Orange:"python",Scala:"scale",solidity:"sol"};function _n(gn=[]){let _t=gn;if(Array.isArray(gn)){for(let Jt=0;Jt<gn.length;Jt++){let wt=Nn[gn[Jt]];if(wt)return wt}return _t[0]}return Nn[_t]||_t}let un=null;var qt=gn=>{var _t=gn,{width:Jt="100%",height:wt="100%",value:ut,language:ot="javascript",style:Pt={},options:Ht={},overrideServices:Mt={},theme:hn="vs-dark",onEditBlur:rr,isCopy:Jn=!1,onSave:An,autoHeight:$n=!1,forbidCopy:xr=!1,onChange:mr=ur,editorDidMount:Qr=ur,onFocus:di=ur,onBreakPoint:li=ur,breakPointValue:Ai=[],filename:fo="educoder.txt",errorLine:Io,errorContent:bo="",highlightLine:ai,openBreakPoint:Pi=!1,placeholder:ao=""}=_t,Jr=an(_t,["width","height","value","language","style","options","overrideServices","theme","onEditBlur","isCopy","onSave","autoHeight","forbidCopy","onChange","editorDidMount","onFocus","onBreakPoint","breakPointValue","filename","errorLine","errorContent","highlightLine","openBreakPoint","placeholder"]);const oo=(0,Ge.useRef)(),zi=(0,Ge.useRef)({}),It=(0,Ge.useRef)(),Yo=(0,Ge.useRef)(),ko=(0,Ge.useRef)([]),Fr=(0,Ge.useRef)(!1),Bi=(0,Ge.useRef)(),Fi=(0,Ge.useRef)(),Qi=(0,Ge.useRef)(!1),[ii,Nt]=(0,Ge.useState)(!1);function De(){let On;return oo.current&&(On=new tt.Z(dn=>{for(let Bn of dn)(Bn.target.offsetHeight>0||Bn.target.offsetWidth>0)&&zi.current.instance.layout()}),On.observe(oo.current)),On}function He(){vt.ZP.warning({content:decodeURIComponent(Ze),key:"monaco-editor-tip"})}const Re=()=>{let On=zi.current.instance;if(ut!=null&&On&&ii){const dn=On.getModel();dn&&ut!==dn.getValue()&&(Xn=!0,dn.setValue(ut),On.layout(),Xn=!1)}};(0,Ge.useEffect)(()=>{const On=xt.Z.subscribe("formatDocument",dn=>{var Bn;let tr=zi.current.instance;(Bn=tr==null?void 0:tr.getAction)==null||Bn.call(tr,"editor.action.formatDocument").run()});return window.updateMonacoValue=dn=>{mr(dn)},On},[]),(0,Ge.useEffect)(()=>{var On;let dn=zi.current.instance;Yo.current&&clearTimeout(Yo.current),Yo.current=setTimeout(()=>{Re()},500),ut&&(ut!=null&&ut.length)&&((On=dn==null?void 0:dn.updateOptions)==null||On.call(dn,{lineNumbersMinChars:Math.max(Math.floor(Math.log10(ut.split(/\r\n|\r|\n/g).length))+3,5)}))},[ut,ii,zi.current]),(0,Ge.useEffect)(()=>{if(Io&&zi.current&&zi.current.instance){let dn=zi.current.instance;dn.changeViewZones(function(Bn){var tr=document.createElement("div");tr.style.padding="10px 20px",tr.style.width="calc(100% - 20px)",tr.className="my-error-line-wrp",tr.innerHTML=bo,Bn.addZone({afterLineNumber:Io||11,heightInLines:3,domNode:tr})});var On={domNode:null,getId:function(){return"my.overlay.widget"},getDomNode:function(){return this.domNode||(this.domNode=document.createElement("div"),this.domNode.innerHTML="",this.domNode.style.width="100%",this.domNode.style.padding="20px 100px",this.domNode.style.right="0px",this.domNode.style.top="50px",this.domNode.style.position="relative",this.domNode.style.color="#333"),this.domNode},getPosition:function(){return null}};dn.addOverlayWidget(On),dn.revealPositionInCenter({lineNumber:20,column:1})}},[Io,zi.current,ii]);const et=(On="",dn)=>{if(!On||On.trim()==="")return!0;const tr=zi.current.instance.getModel().getLineTokens(dn);let hr=!1;for(let pr=0;pr<2;pr++)tr.getStandardTokenType(pr)===1&&(hr=!0);return hr};(0,Ge.useEffect)(()=>{var On;const dn=(On=zi.current)==null?void 0:On.instance;if(dn&&ii&&xr){const Bn=dn.onDidBlurEditorWidget(()=>{Qi.current=!1}),tr=dn.onDidFocusEditorText(()=>{Qi.current=!0});return()=>{Bn.dispose(),tr.dispose()}}},[zi.current,ii,xr]),(0,Ge.useEffect)(()=>{var On;if((On=zi.current)!=null&&On.instance&&ii&&Pi){let dn=zi.current.instance,Bn=dn.getModel();if(!Bn)return;(()=>{var Zi;let nr=[],xi=[];const Vi=Bn.getAllDecorations();for(let Ao of Vi)Ao.options.className==="highlighted-line"&&(nr.push((Zi=Ao==null?void 0:Ao.range)==null?void 0:Zi.startLineNumber),xi.push(Ao==null?void 0:Ao.id));if(ai===nr[0])return;Bn.deltaDecorations(xi,[]);const Gi=Bn.getLineCount();ai&&ai<=Gi&&(dn.deltaDecorations([],[{range:new un.Range(ai,1,ai,Bn.getLineMaxColumn(ai)),options:{isWholeLine:!0,className:"highlighted-line"}}]),dn.revealLineInCenter(ai))})();const hr=(Zi=!1)=>{var nr;let xi=[],Vi=[];const Gi=Bn.getAllDecorations();for(let Ao of Gi)Ao.options.linesDecorationsClassName==="breakpoints-select"&&(xi.push((nr=Ao==null?void 0:Ao.range)==null?void 0:nr.startLineNumber),Vi.push(Ao==null?void 0:Ao.id));if(Zi)return{lines:xi,ids:Vi};li(xi)},pr=Zi=>Un(void 0,null,function*(){let nr={range:new un.Range(Zi,1,Zi,1),options:{isWholeLine:!1,linesDecorationsClassName:"breakpoints-select"}};yield Bn.deltaDecorations([],[nr]),hr()}),Mr=Zi=>Un(void 0,null,function*(){let nr=[];const xi=dn.getLineDecorations(Zi);for(let Vi of xi)Vi.options.linesDecorationsClassName==="breakpoints-select"&&nr.push(Vi.id);yield Bn.deltaDecorations(nr,[]),hr()}),gr=Zi=>{let nr=dn.getLineDecorations(Zi);for(let xi of nr)if(xi.options.linesDecorationsClassName==="breakpoints-select")return!0;return!1};if(!(0,St.isEqual)(Ai,hr(!0).lines)){Bn.deltaDecorations(hr(!0).ids,[]);const Zi=Ai.map(nr=>({range:new un.Range(nr,1,nr,1),options:{isWholeLine:!1,linesDecorationsClassName:"breakpoints-select"}}));Bn.deltaDecorations([],Zi)}const Nr=dn.onDidChangeModelContent(Zi=>{let nr=dn.getPosition();if(nr){let xi=nr.lineNumber;clearTimeout(Fi.current),Fi.current=setTimeout(()=>{et(Bn.getLineContent(xi),xi)?Mr(xi):gr(xi)?(Mr(xi),pr(xi)):hr()},100)}}),Kr=dn.onMouseDown(Zi=>{var nr,xi,Vi;if(Zi.target.detail&&((Vi=(xi=(nr=Zi.target)==null?void 0:nr.element)==null?void 0:xi.className)!=null&&Vi.includes("line-numbers"))){let Gi=Zi.target.position.lineNumber;if(et(Bn.getLineContent(Gi),Gi))return;gr(Gi)?Mr(Gi):pr(Gi)}}),Hn=Zi=>{let nr={range:new un.Range(Zi,1,Zi,1),options:{isWholeLine:!1,linesDecorationsClassName:"breakpoints-fake"}};ko.current=dn.deltaDecorations(ko.current,[nr])},br=()=>{ko.current=dn.deltaDecorations(ko.current,[])},ui=dn.onMouseMove(Zi=>{var nr,xi,Vi;if(br(),Zi.target.detail&&((Vi=(xi=(nr=Zi.target)==null?void 0:nr.element)==null?void 0:xi.className)!=null&&Vi.includes("line-numbers"))){let Gi=Zi.target.position.lineNumber;if(et(Bn.getLineContent(Gi),Gi))return;Hn(Gi)}}),gi=dn.onMouseLeave(()=>{br()});return()=>{Nr.dispose(),Kr.dispose(),ui.dispose(),gi.dispose()}}},[zi.current,ii,Ai,ai,Pi,ot]),(0,Ge.useEffect)(()=>{var On;(On=zi.current)!=null&&On.instance&&Pi&&zi.current.instance.setPosition({lineNumber:0,column:0})},[ai]);function ft(){let On=zi.current.instance;if(On){const dn=On.getSelection(),Bn=zi.current.pastePos||{},tr=new un.Range(Bn.startLineNumber||dn.endLineNumber,Bn.startColumn||dn.endColumn,Bn.endLineNumber||dn.endLineNumber,Bn.endColumn||dn.endColumn);setTimeout(()=>{On.executeEdits("",[{range:tr,text:""}])},300)}}function Bt(On){(window.navigator.platform.match("Mac")?On.metaKey:On.ctrlKey)&&On.keyCode==83&&(On.preventDefault(),An())}const Ct=()=>{if($n&&zi.current.instance){const On=zi.current.instance.getContentHeight();ir(On<wt?wt:On)}else ir(wt)};function rn(On){var dn=document.createEvent("MouseEvents");dn.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),On.dispatchEvent(dn)}const nn=On=>{if(!Qi.current)return;const{keyCode:dn,ctrlKey:Bn,metaKey:tr,target:hr,type:pr}=On;return(pr==="paste"||(dn===67||dn===86)&&(tr||Bn))&&hr.nodeName==="TEXTAREA"&&(He(),On.preventDefault()),!1};function Gn(On,dn){var Bn=window.URL||window.webkitURL||window,tr=new Blob([dn]),hr=document.createElementNS("http://www.w3.org/1999/xhtml","a");hr.href=Bn.createObjectURL(tr),hr.download=On,rn(hr)}(0,Ge.useEffect)(()=>{Ct()},[Ct]),(0,Ge.useEffect)(()=>{oo.current&&!ii&&Promise.all([Oe.e(8909),Oe.e(1810)]).then(Oe.bind(Oe,71448)).then(On=>{try{un=On,zi.current.instance=un.editor.create(oo.current,{value:ut,language:_n(ot),theme:hn,requireConfig:{"vs/nls":{availableLanguages:{"*":"zh-cn"}}},wordWrap:!0,autoIndent:!0,contextmenu:!0,formatOnType:!0},Mt);const dn=zi.current.instance;let hr=[...Et.BH._menuItems].find(Nr=>Nr[0]._debugName=="EditorContext")[1],pr=["editor.action.clipboardCopyWithSyntaxHighlightingAction","editor.action.quickCommand","editor.action.clipboardCopyAction","editor.action.clipboardPasteAction","editor.action.clipboardCutAction"],Mr=(Nr,Kr)=>{var Hn,br;let ui=Nr._first;do Kr.includes((br=(Hn=ui.element)==null?void 0:Hn.command)==null?void 0:br.id)&&Nr._remove(ui);while(ui=ui.next)};if(Qr(dn,un),setTimeout(()=>{Ct(),zi.current.instance.addAction({id:"d123123",label:"Download File",contextMenuGroupId:"9_cutcopypaste",run:()=>{Gn(fo||"educoder.txt",dn.getValue())}})},500),zi.current.subscription=dn.onDidChangeModelContent(Nr=>{Fr.current?clearTimeout(Bi.current):(Ct(),mr(dn.getValue(),Nr)),Bi.current=setTimeout(()=>{Fr.current=!1},500)}),window.Monaco||ze(un,_n(ot)),xr&&(Mr(hr,pr),oo.current.classList.add("noCopyPaste"),window.removeEventListener("keydown",nn),window.removeEventListener("paste",nn),window.addEventListener("keydown",nn),window.addEventListener("paste",nn)),window.Monaco=un,rr&&dn.onDidBlurEditorWidget(()=>{rr(dn.getValue())}),di&&dn.onDidFocusEditorText(()=>{di(dn.getValue())}),xr)try{dn.onDidPaste(Nr=>{const Kr=dn.getSelection(),Hn=zi.current.pastePos||{},br=new un.Range(Hn.startLineNumber||Kr.endLineNumber,Hn.startColumn||Kr.endColumn,Hn.endLineNumber||Kr.endLineNumber,Hn.endColumn||Kr.endColumn);dn.executeEdits("",[{range:Nr.range,text:""}])})}catch(Nr){}let gr=De();return ao&&typeof ao=="string"&&new At(ao,dn,un),Nt(!0),()=>{const Nr=zi.current.instance;Nr.dispose();const Kr=Nr.getModel();Kr&&Kr.dispose(),zi.current.subscription&&zi.current.subscription.dispose(),gr.unobserve(oo.current)}}catch(dn){}})},[]),(0,Ge.useEffect)(()=>{if(zi.current.instance&&ii)return document.addEventListener("keydown",Bt,!1),()=>{document.removeEventListener("keydown",Bt)}},[An,ii]),(0,Ge.useEffect)(()=>{let On=zi.current.instance;if(On&&ii){let dn=_n(ot);un.editor.setModelLanguage(On.getModel(),dn)}},[ot,ii]),(0,Ge.useEffect)(()=>{zi.current.instance&&ii&&un.editor.setTheme(hn)},[hn,ii]),(0,Ge.useEffect)(()=>{let On=zi.current.instance;It.current=Ht,On&&ii&&(On.updateOptions(jn({},Ht)),setTimeout(()=>{On.getModel().updateOptions(jn({},Ht))},200))},[JSON.stringify(Ht),ii]),(0,Ge.useEffect)(()=>{let On=zi.current.instance;On&&ii&&On.layout()},[Jt,wt,ii]);const[Sn,cn]=(0,Ge.useState)(Kn(Jt)),[Yn,ir]=(0,Ge.useState)(Kn(wt)),fr=er(jn({},Pt),{width:Sn,height:Yn,position:"relative"});return Ge.createElement("div",{className:"my-monaco-editor",ref:oo,style:fr},Jn&&Ge.createElement(ct.CopyToClipboard,{text:ut,onCopy:()=>vt.ZP.success("\u590D\u5236\u6210\u529F")},Ge.createElement(Lt.Z,{title:"\u590D\u5236\u4EE3\u7801"},Ge.createElement("div",{style:{position:"absolute",top:0,right:10,cursor:"pointer",zIndex:10,color:"#165DFF"}},Ge.createElement("i",{className:"iconfont icon-fuzhi8",style:{fontSize:14}})," \u590D\u5236\u4EE3\u7801"))))};function Yt({width:gn="100%",height:_t="100%",original:Jt,modified:wt,language:ut,options:ot={}}){const Pt=(0,Ge.useRef)(),[Ht,Mt]=(0,Ge.useState)(null);function hn($n){let xr;return Pt.current&&(xr=new tt.Z(mr=>{for(let Qr of mr)(Qr.target.offsetHeight>0||Qr.target.offsetWidth>0)&&$n.layout()}),xr.observe(Pt.current)),xr}(0,Ge.useEffect)(()=>(Pt.current&&Promise.all([Oe.e(8909),Oe.e(9404)]).then(Oe.bind(Oe,2550)).then($n=>{un=$n;const xr=un.editor.createDiffEditor(Pt.current,er(jn({enableSplitViewResizing:!1,scrollBeyondLastLine:!1,roundedSelection:!1,renderIndicators:!1,useShadows:!1,horizontal:"hidden",lineNumbers:"off",wordWrap:"off",ignoreTrimWhitespace:!1,"semanticHighlighting.enabled":!0,followsCaret:!0,ignoreCharChanges:!0,minimap:{enabled:!1},readOnly:!0},ot),{wordWrap:!0}));Mt(xr);let mr=hn(xr);return()=>{xr.dispose();const Qr=xr.getModel();Qr&&Qr.dispose(),mr.unobserve(Pt.current)}}),()=>{window.removeEventListener("keydown",checkPaste),window.removeEventListener("paste",checkPaste)}),[]),(0,Ge.useEffect)(()=>{Ht&&Ht.setModel({original:un.editor.createModel(Jt,ut),modified:un.editor.createModel(wt,ut)})},[Jt,wt,ut,Ht]);const rr=Kn(gn),Jn=Kn(_t),An={width:rr,height:Jn};return Ge.createElement("div",{className:"my-diff-editor",ref:Pt,style:An})}},94606:function(en,tn,Oe){"use strict";Oe.d(tn,{jL:function(){return Ke},w9:function(){return Gt},QD:function(){return mr},cQ:function(){return ct},op:function(){return hn},O5:function(){return Qi},_b:function(){return Io},t7:function(){return de},Gi:function(){return Un},YG:function(){return er},qp:function(){return Ce},vr:function(){return li},qE:function(){return An},Je:function(){return ce},wb:function(){return Et},cq:function(){return un},tp:function(){return ye}});var Ge=Oe(59301),tt={flex_box_center:"flex_box_center___NeSU8",flex_space_between:"flex_space_between___ImTGl",flex_box_vertical_center:"flex_box_vertical_center___BtRd9",flex_box_center_end:"flex_box_center_end___qcLe3",flex_box_column:"flex_box_column___Ze_3q",banner:"banner___PoUBO",content:"content___XoDjy",btns:"btns___Pb35j"},Ue="data:image/png;base64,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",Ke=({dataSource:ii=[],img:Nt,imgWidth:De=346,title:He,sunTitle:Re,bannerExtraContent:et})=>Ge.createElement("div",{className:tt.banner},Ge.createElement("div",{className:tt.content},Ge.createElement("aside",null,Ge.createElement("p",null,Ge.createElement("b",null,He),Ge.createElement("span",null,Re)),ii.length>0&&Ge.createElement("div",{className:tt.btns},ii.map((ft,Bt)=>Ge.createElement("div",{key:Bt,onClick:ft.click},ft.name,ft.sign?Ge.createElement("img",{src:Ue,width:39}):null))),et),Nt&&Ge.createElement("img",{style:{marginTop:33,marginRight:38},src:Nt,width:De}))),Be={flex_box_center:"flex_box_center___hG6RI",flex_space_between:"flex_space_between___ss3Fh",flex_box_vertical_center:"flex_box_vertical_center___K80p9",flex_box_center_end:"flex_box_center_end___qmXX3",flex_box_column:"flex_box_column___GFV8F",row:"row___aXJjm",title:"title___HUKL0",tagsWrap:"tagsWrap___XB2W3",action:"action___VdHb1",bar:"bar___t1kKC",tag:"tag___V7Eft",name:"name___Hk1Ip",num:"num___xQpcH",active:"active___XryTX",tagsBorderWrap:"tagsBorderWrap___OMxjs"},we=Oe(92310),Te=Oe.n(we),ke=Oe(89392),Ce=({dataSource:ii=[],value:Nt,onChange:De,onTitleChange:He,className:Re,title:et,titleWidth:ft=41,style:Bt={},fontColor:Ct="#6A7283",showCount:rn})=>{const[nn,Gn]=(0,Ge.useState)(0),[Sn,cn]=(0,Ge.useState)(!1),Yn=(0,Ge.useRef)(null),ir=(0,Ge.useRef)(null);return(0,Ge.useEffect)(()=>{var fr;ii.length!==0&&(((fr=Yn==null?void 0:Yn.current)==null?void 0:fr.clientHeight)>97?Gn(1):Gn(0)),ii.length===0&&Gn(0),cn(!1)},[ii]),Ge.createElement("div",{className:Te()(Be.row,Re),style:Bt},Ge.createElement("div",{onClick:(0,ke.throttle)(()=>He==null?void 0:He(),2e3),style:{width:ft,marginTop:Sn?12:4},className:`${Be.title} ${He?"current":""}`},et),Ge.createElement("div",{className:Sn?`${Be.tagsWrap} ${Be.tagsBorderWrap}`:Be.tagsWrap},Ge.createElement("div",{className:Be.bar,ref:ir,style:nn>0?{height:nn===1?97:"auto",overflow:nn===1?"hidden":"auto",paddingRight:55}:{paddingRight:0}},Ge.createElement("div",{className:Be.tag,ref:Yn},ii==null?void 0:ii.map(fr=>Ge.createElement("span",{onClick:()=>De(fr.id),key:fr.id,style:{color:Ct},className:Nt===fr.id?Be.active:""},Ge.createElement("span",{title:fr.name,className:Be.name},fr.name),!!rn&&Ge.createElement("span",{className:Be.num},fr.count))))),!!nn&&Ge.createElement(Ge.Fragment,null,nn===1?Ge.createElement("div",{onClick:()=>{var fr;Gn(2),((fr=Yn==null?void 0:Yn.current)==null?void 0:fr.clientHeight)>245?cn(!0):cn(!1)},className:Be.action},"\u5C55\u5F00",Ge.createElement("i",{style:{transform:"translateY(1px) scale(0.6)"},className:"iconfont icon-zhankai4"})):Ge.createElement("div",{onClick:()=>{ir.current.scrollTop=0,Gn(1),cn(!1)},className:Be.action},"\u6536\u8D77",Ge.createElement("i",{style:{transform:"translateY(0px) scale(0.6)"},className:"iconfont icon-shouqi3"})))))},Me={flex_box_center:"flex_box_center___aK2n3",flex_space_between:"flex_space_between___HX0Oh",flex_box_vertical_center:"flex_box_vertical_center___LJOJr",flex_box_center_end:"flex_box_center_end___SCakF",flex_box_column:"flex_box_column___AYv4m",tabs:"tabs___GTqPV",active:"active___F26E8"},ye=({dataSource:ii=[],value:Nt,onChange:De,className:He,style:Re={}})=>Ge.createElement("div",{style:Re,className:Te()(Me.tabs,He)},ii.map(et=>Ge.createElement("span",{onClick:()=>De(et.id),className:Nt===et.id?Me.active:"",key:et.id},et.name))),ie={flex_box_center:"flex_box_center___yX6Oa",flex_space_between:"flex_space_between___t7oqF",flex_box_vertical_center:"flex_box_vertical_center___dEIHy",flex_box_center_end:"flex_box_center_end___taQDF",flex_box_column:"flex_box_column___xY_Lr",input:"input___PW2zI",dropdown:"dropdown___vSy8B",menu:"menu___NiyBu",text:"text___Grueu",b1:"b1___ZKryM",b2:"b2___aKyGa"},ae=Oe(92832),de=({dataSource:ii=[],value:Nt="",onChange:De,onInputChange:He=()=>{},className:Re,style:et={},placeholder:ft,allowClear:Bt=!1})=>{var Ct;const[rn,nn]=(0,Ge.useState)(""),[Gn,Sn]=(0,Ge.useState)("");(0,Ge.useEffect)(()=>{var ir;let fr=Nt;(ir=JSON.stringify(Nt))!=null&&ir.includes("{")&&(nn(Nt.id),fr=Nt.value||"");try{Sn(decodeURIComponent(fr||""))}catch(On){Sn(decodeURIComponent(fr||""))}},[Nt]);const cn=()=>{De(encodeURIComponent(Gn),rn||null)},Yn=ir=>{ir!==rn&&(nn(ir),De(encodeURIComponent(Gn),ir))};return Ge.createElement("div",{className:Te()(ie.input,Re),style:et},!!ii.length&&Ge.createElement("div",{className:ie.dropdown},Ge.createElement("div",{className:ie.text},(Ct=ii.find(ir=>ir.id===rn))==null?void 0:Ct.name,Ge.createElement("i",{className:"iconfont icon-zhankai4"}),Ge.createElement("b",{className:ie.b1}),Ge.createElement("b",{className:ie.b2})),Ge.createElement("div",{className:ie.menu},ii.map((ir,fr)=>Ge.createElement("div",{key:fr,onClick:()=>Yn(ir.id)},ir.name)))),Ge.createElement(ae.default,{onPressEnter:cn,value:Gn,onChange:ir=>{Sn(ir.target.value),He(encodeURIComponent(ir.target.value),rn||null)},bordered:!1,placeholder:ft}),Ge.createElement("i",{onClick:cn,className:"iconfont icon-sousuo9 font14 pl10 current"}))},ve={flex_box_center:"flex_box_center___tol8o",flex_space_between:"flex_space_between___Z235C",flex_box_vertical_center:"flex_box_vertical_center___Wq1sZ",flex_box_center_end:"flex_box_center_end___LLxom",flex_box_column:"flex_box_column___DbMSN",quickPager:"quickPager___GM30J",disabled:"disabled___Ozc8I"},ce=({value:ii,onChange:Nt,className:De,total:He,pageSize:Re,style:et={}})=>{const ft=ii<2,Bt=ii>=Math.ceil(He/Re);return He<=Re?Ge.createElement(Ge.Fragment,null):Ge.createElement("div",{className:Te()(ve.quickPager,De),style:et},Ge.createElement("div",{onClick:()=>{ft||Nt(ii-1,"prev")},className:ft?ve.disabled:""},"\u4E0A\u4E00\u9875"),Ge.createElement("div",{onClick:()=>{Bt||Nt(ii+1,"next")},className:Bt?ve.disabled:""},"\u4E0B\u4E00\u9875"))},pe={flex_box_center:"flex_box_center___FO7TP",flex_space_between:"flex_space_between___LotYx",flex_box_vertical_center:"flex_box_vertical_center___bWdaw",flex_box_center_end:"flex_box_center_end___mVJ1o",flex_box_column:"flex_box_column___M83Mm",list:"list___oOsiS",wrap:"wrap___G6T7F",lockWrap:"lockWrap___Rl79E",li:"li___oZZ7l",cover:"cover___b2bYW",img:"img___IQX7w",sign:"sign___HkT6C",name:"name___SsJx8",e:"e___TMqq0",tags:"tags___bcjyo",rate:"rate___YACg7"},Se=Oe(71418),Le=Oe(6848),ze=Oe(39978),Ze=Oe(10148),Ve=Oe(58130),Qe=Oe(96908),$e=Oe(57177),gt=Oe(81378),lt=Oe(97267),Et=({className:ii,dataSource:Nt=[],col:De=4,right:He,bottom:Re=23,precision:et=0,wrapWidth:ft=1200,trackEventItems:Bt,loading:Ct})=>{const rn=Math.floor((ft-(De-1)*He)/De);return Ge.createElement(Se.Z,{spinning:Ct},Ge.createElement("div",{className:Te()(pe.list,ii)},!!Nt.length&&Nt.map((nn,Gn)=>{const{name:Sn,id:cn,identifier:Yn,power:ir,cover_image_id:fr,pic:On}=nn;return Ge.createElement("div",{className:pe.wrap,key:cn,style:{width:rn,marginRight:(1+Gn)%De===0?0:He+et,marginBottom:Re}},Ge.createElement("a",{target:"_blank",href:`/shixuns/${Yn}/challenges`,className:pe.li,onClick:dn=>{dn.preventDefault(),Bt&&(0,Ve.L9)([Bt]),ir&&(0,Ve.xg)(`/shixuns/${Yn}/challenges`)}},Ge.createElement("div",{className:pe.img},Ge.createElement("img",{className:pe.cover,src:`${On}`}),nn.is_jupyter&&Ge.createElement("img",{className:pe.sign,src:Qe}),nn.is_jupyter_lab&&Ge.createElement("img",{className:pe.sign,src:$e}),nn.is_unity_3d&&Ge.createElement("img",{className:pe.sign,src:gt})),Ge.createElement("div",{className:pe.name},Ge.createElement(Le.Z,{title:Sn||"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0-\u672A\u586B\u5199"},Ge.createElement("span",{className:pe.e},Sn||"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0-\u672A\u586B\u5199"))),Ge.createElement("div",{className:pe.tags},Ge.createElement(Le.Z,{placement:"bottom",title:"\u5173\u5361\u6570"},Ge.createElement("span",null,Ge.createElement("i",{className:"iconfont icon-shixunguanqia font14 mr2"}),Ge.createElement("span",null,nn.challenges_count))),!!nn.myshixuns_count&&Ge.createElement(Le.Z,{placement:"bottom",title:"\u5B66\u4E60\u4EBA\u6570"},Ge.createElement("span",null,Ge.createElement("i",{className:"iconfont icon-chengyuan font14 mr2"}),Ge.createElement("span",null,nn.myshixuns_count))),Ge.createElement(Le.Z,{placement:"bottom",title:"\u96BE\u5EA6\u7B49\u7EA7"},Ge.createElement("span",null,Ge.createElement("span",null,nn.level))),Ge.createElement("div",{className:pe.rate},Ge.createElement(ze.Z,{allowHalf:!0,disabled:!0,defaultValue:nn.score_info}),Ge.createElement("span",null,"\xA0",nn.score_info?`${nn.score_info}\u5206`:"5\u5206")))),!ir&&Ge.createElement("div",{className:pe.lockWrap},Ge.createElement("img",{src:`${Ze.Z.IMG_SERVER}/images/educoder/icon/lockclose.svg`}),Ge.createElement("span",{className:"mt15 font16 c-white"},"\u5B9A\u5411\u5F00\u653E\u5185\u5BB9\uFF0C\u9700\u8981\u6388\u6743")))}),!Nt.length&&Ge.createElement(lt.Z,null)))},vt={flex_box_center:"flex_box_center___AQ53o",flex_space_between:"flex_space_between___i2aIa",flex_box_vertical_center:"flex_box_vertical_center___sPEKB",flex_box_center_end:"flex_box_center_end___GhSSH",flex_box_column:"flex_box_column___R9_Hb",list:"list___jb2Ay",wrap:"wrap___VsQDr",lockWrap:"lockWrap___g1k1T",li:"li___IxCLC",cover:"cover___Mu8wr",img:"img___IpFLA",movebq:"movebq___mF7wt",bq:"bq___Bil0T",sign:"sign___DXJ4d",name:"name___l7FoJ",e:"e___pXQUG",unit:"unit___wCIFR",tags:"tags___w_Mil",tag1:"tag1___dxm7r",tag2:"tag2___llZkf"},Lt=Oe(2119),St=Oe(59301),ct=({className:ii,dataSource:Nt=[],col:De=4,right:He,bottom:Re=23,precision:et=0,wrapWidth:ft=1200,trackEventItems:Bt,loading:Ct,onRemove:rn=()=>{},isCurrent:nn=!0,showAlias:Gn=!1})=>{const Sn=Math.floor((ft-(De-1)*He)/De),cn=[{name:"\u63A8\u8350\u81EA\u5B66",ptimg:"/images/tjzx.png",swimg:"/images/sw_tjzx.png"},{name:"101\u8BA1\u5212",ptimg:"/images/jh.png",swimg:"/images/sw_jh.png"},{name:"\u56FD\u5BB6\u4E00\u6D41",ptimg:"/images/gjyl.png",swimg:"/images/sw_gjyl.png"},{name:"\u7701\u7EA7\u4E00\u6D41",ptimg:"/images/sjyl.png",swimg:"/images/sw_sjyl.png"},{name:"\u7CBE\u54C1\u8BFE\u7A0B",ptimg:"/images/jpkc.png",swimg:"/images/sw_jpkc.png"},{name:"\u519B\u961F\u4E00\u6D41",ptimg:"/images/jdyl.png",swimg:"/images/sw_jdyl.png"},{name:"\u65B0\u578B\u6559\u6750",ptimg:"/images/xxjc.png",swimg:"/images/sw_xxjc.png"}];return St.createElement(Se.Z,{spinning:Ct},St.createElement("div",{className:Te()(vt.list,ii)},!!(Nt!=null&&Nt.length)&&(Nt==null?void 0:Nt.map((Yn,ir)=>{var fr;const{name:On,id:dn,identifier:Bn,featured:tr,school_name:hr,image_url:pr,excellent:Mr,is_plan:gr}=Yn;return St.createElement("div",{key:dn,className:vt.wrap,style:{width:Sn,marginRight:(1+ir)%De===0?0:He+et,marginBottom:Re}},St.createElement("a",{className:vt.li,onClick:Nr=>{Nr.preventDefault(),Nr.stopPropagation(),Bt&&(0,Ve.L9)([Bt]),(0,Ve.xg)(`/paths/${Bn}`)}},St.createElement("div",{className:vt.img},St.createElement("img",{className:vt.cover,src:`${pr}`}),nn&&(0,Lt.bg)()&&(Yn==null?void 0:Yn.studying)&&St.createElement("div",{className:`${vt.movebq} user-path-items`,onClick:Nr=>{Nr.stopPropagation(),rn(Yn)}},St.createElement("i",{className:"iconfont icon-yichu1 mr5 c-red"}),St.createElement("span",{className:"c-red"},"\u79FB\u9664")),(fr=Yn==null?void 0:Yn.subject_tags)==null?void 0:fr.map((Nr,Kr)=>{var Hn,br;if(Kr===0){const gi=(Hn=cn.find(Zi=>Zi.name==Nr))==null?void 0:Hn.swimg;return St.createElement("img",{className:vt.sign,src:gi,style:{left:"-4px"}})}const ui=(br=cn.find(gi=>gi.name==Nr))==null?void 0:br.ptimg;return St.createElement("img",{className:vt.sign,src:ui,style:{left:`${48+52*(Kr-1)+2*Kr}px`}})}),St.createElement("div",{style:{position:"absolute",top:"150px",left:"4px"}},(Yn==null?void 0:Yn.excellent)&&St.createElement("div",{className:vt.bq},"\u5F00\u653E\u8BFE\u7A0B"))),St.createElement("div",{className:vt.name},St.createElement(Le.Z,{title:Gn&&(Yn!=null&&Yn.excellent_alias_name)?St.createElement("span",null,`\u8BFE\u7A0B\u539F\u540D\uFF1A${On}`,St.createElement("br",null),St.createElement("span",null,`\u8BFE\u7A0B\u522B\u540D\uFF1A${Yn==null?void 0:Yn.excellent_alias_name}`)):On},St.createElement("span",{className:vt.e},Gn&&(Yn==null?void 0:Yn.excellent_alias_name)||On))),St.createElement(Le.Z,{title:`\u53D1\u5E03\u5355\u4F4D\uFF1A${hr}`},St.createElement("div",{className:vt.unit},St.createElement("i",{className:"iconfont icon-danwei1 font14 mr3"}),hr)),St.createElement("div",{className:vt.tags},St.createElement("div",null,St.createElement(Le.Z,{placement:"bottom",title:"\u7AE0\u8282\u6570"},St.createElement("span",null,St.createElement("i",{className:"iconfont icon-zhangjie1 font14 mr3"}),St.createElement("span",null,Yn.stages_count))),St.createElement(Le.Z,{placement:"bottom",title:"\u5B66\u4E60\u4EBA\u6570"},St.createElement("span",null,St.createElement("i",{className:"iconfont icon-chengyuan font14 mr3"}),St.createElement("span",null,Yn.members_count)))))))})),!Nt.length&&St.createElement(lt.Z,null)))},Dt={flex_box_center:"flex_box_center___eMcr7",flex_space_between:"flex_space_between___HcNca",flex_box_vertical_center:"flex_box_vertical_center___ZnvVN",flex_box_center_end:"flex_box_center_end___fdgDf",flex_box_column:"flex_box_column___SEKvd",list:"list___L1hmU",wrap:"wrap___pKgcW",lockWrap:"lockWrap___SMhkK",top:"top___udHSB",sign:"sign___uwRpq",name:"name___Fpf90",img:"img___AMLhL",text:"text___KiTb7",btns:"btns___i6IuZ",bottom:"bottom____k2sh"},Xt="data:image/png;base64,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",kt=Oe(59301),Gt=({className:ii,dataSource:Nt=[],col:De=4,right:He,bottom:Re=23,precision:et=0,wrapWidth:ft=1200,trackEventItems:Bt,loading:Ct})=>{const rn=Math.floor((ft-(De-1)*He)/De);return kt.createElement(Se.Z,{spinning:Ct},kt.createElement("div",{className:Te()(Dt.list,ii)},!!Nt.length&&Nt.map((nn,Gn)=>{const{subject_identifier:Sn,id:cn,identifier:Yn,power:ir}=nn,fr=nn.is_public!=0&&nn.is_public;return kt.createElement("div",{className:Dt.wrap,key:cn,style:{width:rn,marginRight:(1+Gn)%De===0?0:He+et,marginBottom:Re}},kt.createElement("a",{className:Dt.li,onClick:On=>{On.preventDefault(),Bt&&(0,Ve.L9)([Bt]),(0,Ve.xg)(nn.first_category_url)}},kt.createElement("div",{className:Dt.top},kt.createElement(Le.Z,{title:nn.name},kt.createElement("div",{className:Dt.name},nn.name)),kt.createElement("img",{className:Dt.img,src:Ze.Z.IMG_SERVER+"/images/"+nn.avatar_url}),kt.createElement("div",{className:Dt.text,title:nn.creator},nn.creator),Sn&&kt.createElement("div",{className:Dt.btns},kt.createElement("div",null,"\u5F00\u653E\u8BFE\u7A0B"),kt.createElement("aside",null,"\u5F00\u653E\u8BFE\u5802")),fr&&kt.createElement("div",{className:Dt.sign},"\u516C\u5F00")),kt.createElement("div",{className:Dt.bottom},nn.visits>0&&kt.createElement(Le.Z,{title:"\u8BBF\u95EE\u91CF",placement:"bottom"},kt.createElement("span",null,kt.createElement("i",{className:"iconfont icon-liulanyan"}),kt.createElement("span",null,nn.visits))),nn.course_members_count>0&&kt.createElement(Le.Z,{title:"\u6210\u5458",placement:"bottom"},kt.createElement("span",null,kt.createElement("i",{className:"iconfont icon-chengyuan"}),nn.course_members_count)),nn.tasks_count>0&&kt.createElement(Le.Z,{title:"\u4F5C\u4E1A",placement:"bottom"},kt.createElement("span",null,kt.createElement("i",{className:"iconfont icon-zuoye"}),nn.tasks_count)),nn.is_end?kt.createElement("div",{style:{color:"#6B758B"}},"\u5DF2\u7ED3\u675F"):kt.createElement("div",{style:{color:"#00B187"}},"\u8FDB\u884C\u4E2D"))),!nn.is_accessible&&kt.createElement("div",{className:Dt.lockWrap},kt.createElement("img",{src:`${Ze.Z.IMG_SERVER}/images/educoder/icon/lockclose.svg`}),kt.createElement("span",{className:"mt15 font16 c-white"},"\u975E\u8BFE\u5802\u6210\u5458\u4E0D\u53EF\u8FDB\u5165")))}),!Nt.length&&kt.createElement(lt.Z,null)))},ln={flex_box_center:"flex_box_center___d27mZ",flex_space_between:"flex_space_between___qfRU9",flex_box_vertical_center:"flex_box_vertical_center___fCRld",flex_box_center_end:"flex_box_center_end___ORMV8",flex_box_column:"flex_box_column___PNKtZ",tabs:"tabs___alpa7",tabsWrap:"tabsWrap___aCQjw",tab:"tab___MKLr4",active:"active___nl_4v"},Rn=Oe(42203),er=({dataSource:ii=[],value:Nt,onChange:De,className:He,style:Re={},tabBarExtraContent:et})=>Ge.createElement("div",{className:Te()(ln.tabs,He),style:Re},Ge.createElement("div",{className:ln.tabsWrap},ii.map((ft,Bt)=>Ge.createElement("aside",{className:ln.tab,onClick:()=>{De(ft.id),ft.link&&Rn.history.push(ft.link)},key:Bt},Ge.createElement("div",{className:Nt===ft.id?ln.active:""},ft.name),(ft==null?void 0:ft.resetCount)==null&&(ft==null?void 0:ft.total)!==void 0&&Ge.createElement("span",null,"\uFF08",ft==null?void 0:ft.total,"\uFF09"),(ft==null?void 0:ft.resetCount)!==void 0&&(ft==null?void 0:ft.total)!==void 0&&Ge.createElement(Le.Z,{title:(ft==null?void 0:ft.tip)!=null?ft==null?void 0:ft.tip:""},Ge.createElement("span",{style:{color:"#9096A3"}},"\uFF08",Ge.createElement("span",{style:{color:"#000"}},ft==null?void 0:ft.resetCount),"/",Ge.createElement("span",null,ft==null?void 0:ft.total),"\uFF09"))))),Ge.createElement("div",{className:ln.tabBar},et)),Un=({className:ii,style:Nt={},children:De})=>Ge.createElement("div",{className:Te()(ii),style:Nt},De),Kn={flex_box_center:"flex_box_center___e6HxQ",flex_space_between:"flex_space_between___RnXYe",flex_box_vertical_center:"flex_box_vertical_center___lVxPk",flex_box_center_end:"flex_box_center_end___bu8yv",flex_box_column:"flex_box_column___JczGj",orderWrap:"orderWrap___ZfyGX",orderIconWrap:"orderIconWrap___XTB_O",orderAsc:"orderAsc___KWHmA",orderDesc:"orderDesc___rHdbB",active:"active___a7eSP",cursorPointer:"cursorPointer___gs9kL",orderTextWrap:"orderTextWrap___teAKn"},ur=Oe(38854),Xn=Oe(20834);const Nn=[{id:"updated_at",name:"\u6700\u65B0\u52A8\u6001"},{id:"created_at",name:"\u6700\u65B0\u521B\u5EFA"},{id:"name",name:"\u540D\u79F0\u6392\u5E8F"}];var un=({sortValue:ii,dropValue:Nt,className:De,onSort:He,onDrop:Re,dataSource:et=Nn})=>{var ft;return Ge.createElement("div",{className:Te()(Kn.orderWrap,De)},Ge.createElement(ur.Z,{dropdownRender:()=>Ge.createElement(Xn.default,null,et.map((Bt,Ct)=>Ge.createElement(Xn.default.Item,{key:Ct,onClick:()=>Re(Bt.id)},Bt.name)))},Ge.createElement("span",{className:Kn.orderTextWrap},(ft=et.find(Bt=>Nt===Bt.id))==null?void 0:ft.name)),Ge.createElement("span",{className:Kn.orderIconWrap},Ge.createElement("span",{className:Kn.orderAsc},Ge.createElement("i",{className:ii==="asc"?`iconfont icon-sanjiaoxing-up font12 ${Kn.cursorPointer} ${Kn.active}`:`iconfont icon-sanjiaoxing-up font12 ${Kn.cursorPointer}`,onClick:()=>He(ii==="asc"?"desc":"asc")})),Ge.createElement("span",{className:Kn.orderDesc},Ge.createElement("i",{className:ii==="desc"?`iconfont icon-sanjiaoxing-down font12 ${Kn.cursorPointer} ${Kn.active}`:`iconfont icon-sanjiaoxing-down font12 ${Kn.cursorPointer}`,onClick:()=>He(ii==="asc"?"desc":"asc")}))))},qt={flex_box_center:"flex_box_center___LCi0B",flex_space_between:"flex_space_between___hzONe",flex_box_vertical_center:"flex_box_vertical_center___ZyQRE",flex_box_center_end:"flex_box_center_end___XKM74",flex_box_column:"flex_box_column___p8LCU",btn:"btn___In02G","mediacy-round":"mediacy-round___uveEv","mediacy-default":"mediacy-default___dDxsd",default:"default___K791v"},Yt=Oe(3113),gn=Object.defineProperty,_t=Object.getOwnPropertySymbols,Jt=Object.prototype.hasOwnProperty,wt=Object.prototype.propertyIsEnumerable,ut=(ii,Nt,De)=>Nt in ii?gn(ii,Nt,{enumerable:!0,configurable:!0,writable:!0,value:De}):ii[Nt]=De,ot=(ii,Nt)=>{for(var De in Nt||(Nt={}))Jt.call(Nt,De)&&ut(ii,De,Nt[De]);if(_t)for(var De of _t(Nt))wt.call(Nt,De)&&ut(ii,De,Nt[De]);return ii},Pt=(ii,Nt)=>{var De={};for(var He in ii)Jt.call(ii,He)&&Nt.indexOf(He)<0&&(De[He]=ii[He]);if(ii!=null&&_t)for(var He of _t(ii))Nt.indexOf(He)<0&&wt.call(ii,He)&&(De[He]=ii[He]);return De},Ht=(ii,Nt,De)=>new Promise((He,Re)=>{var et=Ct=>{try{Bt(De.next(Ct))}catch(rn){Re(rn)}},ft=Ct=>{try{Bt(De.throw(Ct))}catch(rn){Re(rn)}},Bt=Ct=>Ct.done?He(Ct.value):Promise.resolve(Ct.value).then(et,ft);Bt((De=De.apply(ii,Nt)).next())}),hn=ii=>{var Nt=ii,{className:De,style:He,children:Re,loading:et=!1,openLoading:ft,onClick:Bt=()=>{},size:Ct="middle",shape:rn="round"}=Nt,nn=Pt(Nt,["className","style","children","loading","openLoading","onClick","size","shape"]);const[Gn,Sn]=(0,Ge.useState)(!1);return Ge.createElement(Yt.ZP,ot({onClick:(0,ke.throttle)(cn=>Ht(void 0,null,function*(){ft&&Sn(!0);try{yield Bt(cn)}catch(Yn){console.log("error",Yn)}ft&&Sn(!1)}),2e3,{leading:!0,trailing:!1}),className:Te()(qt.btn,qt[`${Ct}-${rn}`],De),style:He,size:Ct,shape:rn,loading:Gn||et},nn),Re)},rr={flex_box_center:"flex_box_center___TB7bQ",flex_space_between:"flex_space_between___oBlTb",flex_box_vertical_center:"flex_box_vertical_center___b5XbB",flex_box_center_end:"flex_box_center_end___CNhe7",flex_box_column:"flex_box_column___yHXKW",head:"head___ghH72",node:"node___mjPEy"},An=({className:ii,style:Nt,children:De=null,onClick:He,title:Re})=>Ge.createElement("div",{className:Te()(rr.head,ii),style:Nt},Ge.createElement("span",{className:"primary-hover",onClick:He},Ge.createElement("i",{className:"iconfont icon-fanhui2 font12"}),"\u8FD4\u56DE"),Ge.createElement("b",{title:Re},Re),Ge.createElement("div",{className:rr.node},De)),$n={flex_box_center:"flex_box_center___AlHuF",flex_space_between:"flex_space_between___vN2LW",flex_box_vertical_center:"flex_box_vertical_center___Ac7D2",flex_box_center_end:"flex_box_center_end___y38I7",flex_box_column:"flex_box_column___iQE6P",btns:"btns___sNgTb",confirm:"confirm___Ozirl",cancel:"cancel___aiq1I"},mr=({confirmShow:ii=!0,confirmTitle:Nt,confirmClick:De,cancelShow:He=!0,cancelTitle:Re,cancelClick:et,className:ft,style:Bt,confirmLoading:Ct=!1})=>Ge.createElement("div",{className:Te()($n.btns,ft),style:Bt},ii&&Ge.createElement(Yt.ZP,{loading:Ct,onClick:De,type:"primary",className:$n.confirm},Nt),He&&Ge.createElement(Yt.ZP,{onClick:et,className:$n.cancel},Re)),Qr={flex_box_center:"flex_box_center___jkpdr",flex_space_between:"flex_space_between___OtsL8",flex_box_vertical_center:"flex_box_vertical_center___rbcb_",flex_box_center_end:"flex_box_center_end___zBR21",flex_box_column:"flex_box_column___nS_eP",fixedBottom:"fixedBottom___oJl7m",wrap:"wrap___A3Oq1",center:"center____VL1y"},li=({className:ii,style:Nt={},LeftContent:De,children:He,RightContent:Re})=>Ge.createElement("div",{className:Te()(Qr.fixedBottom,ii),style:Nt},Ge.createElement("div",{className:Qr.wrap},Ge.createElement("div",{className:Qr.left},De),Ge.createElement("div",{className:Qr.center},He),Ge.createElement("div",{className:Qr.right},Re))),Ai={flex_box_center:"flex_box_center___tY8Yn",flex_space_between:"flex_space_between___vHdYA",flex_box_vertical_center:"flex_box_vertical_center___pa61F",flex_box_center_end:"flex_box_center_end___HyDXt",flex_box_column:"flex_box_column___UjZek",crumbs:"crumbs___V41Oe",hover:"hover___bEIVd"},Io=({className:ii,style:Nt={},dataSource:De=[]})=>Ge.createElement("div",{className:Te()(Ai.crumbs,ii),style:Nt},De.map((He,Re)=>Re<De.length-1?Ge.createElement(Ge.Fragment,{key:Re},He.path||He.onClick?Ge.createElement("span",{className:Ai.hover,onClick:He!=null&&He.onClick?He.onClick:()=>Rn.history.push(He.path)},He.name):Ge.createElement("span",null,He.name),Ge.createElement("span",null,"\xA0",">","\xA0")):Ge.createElement("span",{key:Re,style:{color:"#5F6368"}},He.name))),bo=Oe(31797),ai=Object.defineProperty,Pi=Object.defineProperties,ao=Object.getOwnPropertyDescriptors,Jr=Object.getOwnPropertySymbols,oo=Object.prototype.hasOwnProperty,zi=Object.prototype.propertyIsEnumerable,It=(ii,Nt,De)=>Nt in ii?ai(ii,Nt,{enumerable:!0,configurable:!0,writable:!0,value:De}):ii[Nt]=De,Yo=(ii,Nt)=>{for(var De in Nt||(Nt={}))oo.call(Nt,De)&&It(ii,De,Nt[De]);if(Jr)for(var De of Jr(Nt))zi.call(Nt,De)&&It(ii,De,Nt[De]);return ii},ko=(ii,Nt)=>Pi(ii,ao(Nt)),Fr=(ii,Nt)=>{var De={};for(var He in ii)oo.call(ii,He)&&Nt.indexOf(He)<0&&(De[He]=ii[He]);if(ii!=null&&Jr)for(var He of Jr(ii))Nt.indexOf(He)<0&&zi.call(ii,He)&&(De[He]=ii[He]);return De};const{Countdown:Bi}=bo.default;var Qi=ii=>{var Nt=ii,{onChange:De}=Nt,He=Fr(Nt,["onChange"]);const[Re,et]=(0,Ge.useState)(null);(0,Ge.useEffect)(()=>{typeof Re=="number"&&Re>=0&&De(Re)},[Re]);const ft=Bt=>{const Ct=Math.floor(Bt/1e3);et(Ct)};return Ge.createElement(Bi,ko(Yo({},He),{onChange:ft}))}},91300:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return tt}});var Ge=Oe(59301);function tt(Ue,Ne){const Ke=(0,Ge.useRef)();(0,Ge.useEffect)(()=>{Ke.current=Ue}),(0,Ge.useEffect)(()=>{function Be(){Ke.current()}if(Ne!==null){let we=setInterval(Be,Ne);return()=>clearInterval(we)}},[Ne])}},66539:function(en,tn,Oe){"use strict";Oe.d(tn,{Q8:function(){return St},d0:function(){return xt},w6:function(){return Lt}});var Ge=Oe(59301),tt=Oe(78550),Ue=Oe(57809),Ne=Oe(8591),Ke=Oe(43418),Be=Oe(5112),we=Oe(95237),Te=Oe(43604),ke=Oe(6848),Ie=Oe(24905),Ce=Oe(3113),Me=Oe(61186),je=Oe.n(Me),ye=Oe(2119),ie=Oe(70635),ae=Oe(89392),fe=Oe.n(ae),de=Oe(58130),ve=Oe(57534),xe=Oe(42203),ce=Oe(46898),pe=Oe(18032),Se=Oe(30738),Le=Oe(59301),ze=Object.defineProperty,Ze=Object.defineProperties,Ve=Object.getOwnPropertyDescriptors,Qe=Object.getOwnPropertySymbols,$e=Object.prototype.hasOwnProperty,gt=Object.prototype.propertyIsEnumerable,lt=(kt,Rt,Gt)=>Rt in kt?ze(kt,Rt,{enumerable:!0,configurable:!0,writable:!0,value:Gt}):kt[Rt]=Gt,At=(kt,Rt)=>{for(var Gt in Rt||(Rt={}))$e.call(Rt,Gt)&&lt(kt,Gt,Rt[Gt]);if(Qe)for(var Gt of Qe(Rt))gt.call(Rt,Gt)&&lt(kt,Gt,Rt[Gt]);return kt},Et=(kt,Rt)=>Ze(kt,Ve(Rt)),vt=(kt,Rt,Gt)=>new Promise((ln,Rn)=>{var jn=Un=>{try{an(Gt.next(Un))}catch(Kn){Rn(Kn)}},er=Un=>{try{an(Gt.throw(Un))}catch(Kn){Rn(Kn)}},an=Un=>Un.done?ln(Un.value):Promise.resolve(Un.value).then(jn,er);an((Gt=Gt.apply(kt,Rt)).next())});function Lt(kt,Rt){const Gt=[];for(let ln=kt;ln<Rt;ln++)Gt.push(ln);return Gt}const St=(kt,Rt,Gt)=>{const ln=kt<je()().startOf("day"),Rn=kt>je()(Rt).endOf("day"),jn=kt<je()(Gt).startOf("day");return Rt?Gt?je()()<=je()(Gt)?jn||Rn:ln||Rn:kt&&ln||Rn:Gt&&je()()<=je()(Gt)?jn:ln},xt=(kt,Rt)=>{const Gt=parseInt(je()(kt).format("HH")),ln=parseInt(je()().format("HH")),Rn=parseInt(je()().format("mm"));if(!kt)return{disabledHours:()=>Lt(0,ln),disabledMinutes:()=>Lt(0,Rn)};if(Rt){const jn=parseInt(je()(Rt).format("HH")),er=parseInt(je()(Rt).format("mm"));return je()(kt).isSame(je()(Rt),"day")?{disabledHours:()=>Lt(0,jn),disabledMinutes:()=>Gt<=jn?Lt(0,er):[]}:void 0}if(je()(kt).isSame(je()(),"day"))return{disabledHours:()=>Lt(0,ln),disabledMinutes:()=>je()(kt).isSame(je()(),"hour")&&Gt<=ln?Lt(0,Rn):[]}},{RangePicker:ct}=tt.default,{Option:Dt}=Ue.default,Xt=({shixunHomeworks:kt,loading:Rt,dispatch:Gt,classroomList:ln,user:Rn})=>{var jn,er,an,Un,Kn,ur,Xn,Nn,_n;const un=(0,xe.useParams)(),{workSetting:qt,workList:Yt,shixunWorkList:gn,headerInfo:_t,changeData:Jt}=kt,[wt,ut]=(0,Ge.useState)(!1),[ot,Pt]=(0,Ge.useState)(!1);let[Ht,Mt]=(0,Ge.useState)([]),[hn,rr]=(0,Ge.useState)([]),[Jn,An]=(0,Ge.useState)({unified_setting:!1,publish_time:"",end_time:"",allow_late:!1,unified_late:!0,late_time:"",late_penalty:0,penalty_type:ce.Q.Percent,challenge_settings:[],work_efficiency:!1,shixun_evaluation:"",answer_open_evaluation:!1,answer_public:!1,score_open:!1,comment_public:!0,total_score:"",eff_score:0,action_analysis:!1,work_end_forbid_evaluate:!1});(0,Ge.useEffect)(()=>()=>{Mt([])},[]),(0,Ge.useEffect)(()=>{ut(!(0,ye.GJ)())},[(0,ye.GJ)()]);const $n=()=>{Gt({type:"shixunHomeworks/getWorkSetting",payload:At({},un)})};(0,Ge.useEffect)(()=>{if(!(qt!=null&&qt.course_id))return;Object.keys(Jn).map(function(Pi){Jn[Pi]=qt[Pi]}),(!Jn.allow_late||!Jn.unified_late)&&(Jn.late_penalty=20,Jn.penalty_type=ce.Q.Percent),Jn.unified_setting||(Jn.unified_late=!1,Jn.unified_anonymous_comment=!1,Jn.unified_anonymous_appeal=!1),Ht=JSON.parse(JSON.stringify(qt.group_settings.map(Pi=>Et(At({},Pi),{group_name:[Pi.group_name]})).filter(Pi=>Pi.publish_time!==null))),hn=JSON.parse(JSON.stringify(qt.allow_late_settings.map(Pi=>Et(At({},Pi),{group_name:[Pi.group_name]})).filter(Pi=>Pi.late_time!==null))),An(At({},Jn));const ai=(0,de.QE)((Ht==null?void 0:Ht.length)>0?Ht:[]);Mt([...ai]),(hn==null?void 0:hn.length)<=0?rr([{penalty_type:ce.Q.Percent,late_penalty:20}]):rr([...hn])},[qt]);const xr=()=>{var ai,Pi;if(((ai=Rn==null?void 0:Rn.userInfo)==null?void 0:ai.user_status)===2){(0,pe.Rd)();return}const ao=JSON.parse(JSON.stringify(Jn));if(ao.challenge_settings.filter(Jr=>!Jr.hide),ao.categoryId=un.categoryId,(Pi=ao.challenge_settings)!=null&&Pi.every(Jr=>!Jr.checked)){Ne.ZP.warning("\u5173\u5361\u4E0D\u80FD\u5168\u90E8\u8BBE\u7F6E\u4E3A\u53EF\u4E0D\u505A");return}if(console.log(Ht),!Jn.unified_setting)Ht=Ht==null?void 0:Ht.map(Jr=>{var oo;if(!Jr.publish_time||!Jr.end_time)throw Ne.ZP.error("\u8BF7\u628A\u53D1\u5E03\u65F6\u95F4\u586B\u5199\u5B8C\u6574"),new String("\u8BF7\u628A\u53D1\u5E03\u65F6\u95F4\u586B\u5199\u5B8C\u6574");if(!Jr.group_name)throw Ne.ZP.error("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0"),new String("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0");return Jr.group_name=typeof(Jr==null?void 0:Jr.group_name)=="string"?[Jr==null?void 0:Jr.group_name]:Jr==null?void 0:Jr.group_name,Jr.group_id=(oo=qt.group_settings)==null?void 0:oo.filter(zi=>{var It;return(It=Jr==null?void 0:Jr.group_name)==null?void 0:It.includes(zi.group_name)}).map(zi=>zi.group_id||zi.id).toString().split(","),Jr});else if(!Jn.publish_time||!Jn.end_time)throw Ne.ZP.error("\u53D1\u5E03\u622A\u6B62\u65F6\u95F4\u4E0D\u80FD\u4E3A\u7A7A"),new String("\u53D1\u5E03\u622A\u6B62\u65F6\u95F4\u4E0D\u80FD\u4E3A\u7A7A");if(ao.group_settings=Ht,Jn.allow_late)if(Jn.unified_late){if(Jn.late_penalty===null||Jn.late_penalty===void 0||Jn.late_penalty<0||Jn.late_penalty>100)throw Ne.ZP.error("\u8FDF\u4EA4\u6263\u5206\u586B\u5199\u533A\u95F4\u4E3A0~100"),new String("\u8FDF\u4EA4\u6263\u5206\u586B\u5199\u533A\u95F4\u4E3A0~100");if(!Jn.late_time)throw Ne.ZP.error("\u8BF7\u628A\u622A\u6B62\u65F6\u95F4\u586B\u5199\u5B8C\u6574"),new String("\u8BF7\u628A\u622A\u6B62\u65F6\u95F4\u586B\u5199\u5B8C\u6574")}else hn=hn==null?void 0:hn.map(Jr=>{var oo,zi;if(Jr.late_penalty===null||Jr.late_penalty===void 0||Jr.late_penalty<0||Jr.late_penalty>100)throw Ne.ZP.error("\u8FDF\u4EA4\u6263\u5206\u586B\u5199\u533A\u95F4\u4E3A0~100"),new String("\u8FDF\u4EA4\u6263\u5206\u586B\u5199\u533A\u95F4\u4E3A0~100");if(!Jr.late_time)throw Ne.ZP.error("\u8BF7\u628A\u622A\u6B62\u65F6\u95F4\u586B\u5199\u5B8C\u6574"),new String("\u8BF7\u628A\u622A\u6B62\u65F6\u95F4\u586B\u5199\u5B8C\u6574");if(!Jr.group_name)throw Ne.ZP.error("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0"),new String("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0");return Jr.group_name=typeof(Jr==null?void 0:Jr.group_name)=="string"?[Jr==null?void 0:Jr.group_name]:Jr==null?void 0:Jr.group_name,Jr.group_id=(zi=(oo=Jr==null?void 0:Jr.group_name)==null?void 0:oo.map(It=>{var Yo,ko;let Fr=(ko=(Yo=qt.group_settings)==null?void 0:Yo.filter(Bi=>(Bi==null?void 0:Bi.group_name)===It))==null?void 0:ko[0];return Fr==null?void 0:Fr.group_id}))==null?void 0:zi.toString().split(","),Jr}),ao.allow_late_settings=hn;mr(ao)},mr=ai=>{var Pi;if(ai.total_score===null){Ne.ZP.warning("\u603B\u5206\u503C\u4E0D\u80FD\u4E3A\u7A7A");return}if(ai!=null&&ai.work_efficiency&&ai.eff_score===null){Ne.ZP.warning("\u6548\u7387\u5206\u4E0D\u80FD\u4E3A\u7A7A");return}const ao=ai.challenge_settings.reduce((zi,It)=>zi+Number(It.challenge_score),0);if((ao==null?void 0:ao.toFixed(10))!==((Pi=ai.total_score-ai.eff_score)==null?void 0:Pi.toFixed(10))){Ne.ZP.warning(`\u6548\u7387\u5206\u52A0\u5173\u5361\u4EFB\u52A1\u603B\u5206\u5FC5\u987B\u7B49\u4E8E\u603B\u5206\u503C\uFF1A${ai.total_score}\u5206`);return}const Jr={shixun_evaluation:ai.shixun_evaluation,challenge_settings:ai.challenge_settings};let oo=()=>{var zi;const It=()=>vt(void 0,null,function*(){Pt(!0),(yield(0,ie.ZP)(`/api/homework_commons/${un.categoryId}/publish_setting.json`,{method:"post",body:At({},ai)})).status===0&&(Ne.ZP.success("\u66F4\u65B0\u6210\u529F"),$n(),Gt({type:"shixunHomeworks/getShixunWorkHeadInfo",payload:At({},un)})),Pt(!1)});!(0,ae.isEqual)(Jt,Jr)&&!((zi=_t==null?void 0:_t.homework_status)!=null&&zi.includes("\u672A\u53D1\u5E03"))?Ke.default.confirm({title:"\u66F4\u65B0\u6210\u7EE9",content:"\u60A8\u6539\u52A8\u4E86\u672C\u6B21\u4F5C\u4E1A\u7684\u5173\u5361\u5F97\u5206\u8BBE\u7F6E\uFF0C\u8FD9\u53EF\u80FD\u5BFC\u81F4\u5DF2\u5B8C\u6210\u4F5C\u4E1A\u7684\u5B66\u751F\u7684\u6210\u7EE9\u4EA7\u751F\u9519\u8BEF\u3002\u70B9\u51FB\u201C\u786E\u5B9A\u201D\u6309\u94AE\u5C06\u4FDD\u5B58\u6700\u65B0\u8BBE\u7F6E\u5E76\u6309\u6700\u65B0\u8BBE\u7F6E\u66F4\u65B0\u5168\u73ED\u6210\u7EE9\u3002",okText:"\u786E\u8BA4",cancelText:"\u53D6\u6D88",onOk:It}):It()};qt!=null&&qt.high_resources_consume&&!(qt!=null&&qt.high_resources_consume_permission)?Gt({type:"classroomList/setActionTabs",payload:{key:"\u6388\u6743\u4F7F\u7528",id:un.coursesId,type:"shixun",type_id:un.categoryId,name:qt.homework_name,fn:()=>{oo()}}}):oo()},Qr=(ai,Pi,ao="group_id")=>{var Jr;return Pi?Pi.find(oo=>oo[ao]===ai):(Jr=qt==null?void 0:qt.group_settings)==null?void 0:Jr.find(oo=>oo.group_id[0]===ai)},di=(qt==null?void 0:qt.allow_late)||(qt==null?void 0:qt.anonymous_comment),li=ai=>{var Pi,ao;const Jr=Qr(ai,qt==null?void 0:qt.allow_late_settings,"id"),oo=Qr(ai,qt==null?void 0:qt.anonymous_comment_settings),zi=Qr(ai);return(qt==null?void 0:qt.allow_late)&&Jr&&je()(Jr==null?void 0:Jr.late_time)<=je()()||(qt==null?void 0:qt.anonymous_comment)&&oo&&(oo==null?void 0:oo.evaluation_start)!==null||((ao=(je()(zi==null?void 0:zi.end_time)<=je()()&&((Pi=qt==null?void 0:qt.allow_late_settings)==null?void 0:Pi.filter(It=>It.group_id.includes(ai))))[0])==null?void 0:ao.late_time)!=null},Ai=(0,Ge.useMemo)(()=>(qt==null?void 0:qt.allow_late)||(qt==null?void 0:qt.all_group_late),[qt,_t]),fo=qt==null?void 0:qt.anonymous_comment,Io=ai=>{if(!ai)return!1;const Pi=Qr(ai,qt==null?void 0:qt.anonymous_comment_settings);return(qt==null?void 0:qt.anonymous_comment)&&Pi&&(Pi==null?void 0:Pi.evaluation_start)!==null},bo=(ai,Pi)=>{var ao,Jr,oo;Gt({type:"classroomList/setActionTabs",payload:{key:"\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206",data:ai,index:Pi,rangePickerDisabled:wt||(je()()<=je()((Jr=Qr((ao=ai==null?void 0:ai.group_id)==null?void 0:ao[0]))==null?void 0:Jr.publish_time)?!1:[!0,li((oo=ai==null?void 0:ai.group_id)==null?void 0:oo[0])]),disabledDate:qt==null?void 0:qt.course_end_date}})};return Le.createElement("section",{className:ve.Z.form},Le.createElement("div",{className:ve.Z.title},"\u4F5C\u4E1A\u53D1\u5E03",Le.createElement("span",{className:"c-grey-666 font14",style:{fontWeight:400}},"\uFF08\u4F5C\u4E1A\u4E00\u65E6\u53D1\u5E03\u540E\u4E0D\u53EF\u53D8\u66F4\u8BD5\u9898\u53D1\u5E03\u6A21\u5F0F\uFF09")),Le.createElement("div",null,Le.createElement("div",{style:{background:"#F6F7F9",padding:"13px 30px",display:"flex",alignItems:"center"}},Le.createElement(Be.ZP.Group,{disabled:wt||!((jn=_t==null?void 0:_t.homework_status)!=null&&jn.includes("\u672A\u53D1\u5E03"))||(0,ye.Rm)()&&!((er=ln.AssistantObject.practice)!=null&&er.can_publish),value:Jn.unified_setting,onChange:ai=>{var Pi;if(!((Pi=_t==null?void 0:_t.homework_status)!=null&&Pi.includes("\u672A\u53D1\u5E03"))){Ne.ZP.error("\u5DF2\u53D1\u5E03\uFF0C\u4E0D\u80FD\u518D\u4FEE\u6539\u7EDF\u4E00\u8BBE\u7F6E");return}if(Jn.unified_setting=!Jn.unified_setting,Jn.unified_setting||(Jn.unified_late=!1,rr([{late_penalty:5}])),An(Object.assign({},Jn)),Jn.unified_setting===!1&&Ht==""){Mt(Ht.concat({}));return}Jn.unified_setting&&(Mt([]),rr([{late_penalty:5}]))}},Le.createElement(Be.ZP,{value:!0,disabled:wt||!(qt!=null&&qt.manage_all_group),style:{marginRight:"50px"}},"\u7EDF\u4E00\u53D1\u5E03"),Le.createElement(Be.ZP,{disabled:wt||!((an=qt==null?void 0:qt.group_settings)!=null&&an.length),value:!1},"\u5206\u73ED\u53D1\u5E03")),((Un=qt==null?void 0:qt.group_settings)==null?void 0:Un.length)===0&&Le.createElement("div",{style:{color:"rgba(0, 0, 0, 0.25)",height:"22px"}},"\uFF08\u672C\u8BFE\u5802\u65E0\u5206\u73ED\uFF0C\u4EC5\u652F\u6301\u9009\u62E9\u201C\u7EDF\u4E00\u53D1\u5E03\u201C\uFF09")),Jn.unified_setting&&Le.createElement("div",{style:{display:"flex",color:"#666666",background:"#F6F7F9",padding:"5px 30px",height:"50px",marginTop:"1px"}},Le.createElement(we.Z,{align:"middle"},Le.createElement(Te.Z,{style:{marginLeft:"23px"}},"\u53D1\u5E03\u65F6\u95F4"),Le.createElement(Te.Z,{className:"ml10"},Le.createElement(tt.default,{size:"large",disabled:wt||!((Kn=_t==null?void 0:_t.homework_status)!=null&&Kn.includes("\u672A\u53D1\u5E03")||(ur=_t==null?void 0:_t.homework_status)!=null&&ur.includes("\u672A\u5F00\u59CB"))||(0,ye.Rm)()&&!((Xn=ln.AssistantObject.practice)!=null&&Xn.can_publish),style:{width:170},placeholder:"\u8BF7\u9009\u62E9\u53D1\u5E03\u65F6\u95F4",showTime:{format:"HH:mm"},allowClear:!1,format:"YYYY-MM-DD HH:mm",disabledDate:ai=>St(ai,qt==null?void 0:qt.course_end_date),disabledTime:ai=>xt(ai),value:Jn.publish_time?je()(Jn.publish_time):"",onChange:(ai,Pi)=>{Jn.publish_time=Pi,(Jn.end_time==""||!Jn.end_time)&&Jn.unified_setting&&(Jn.end_time=je()(ai).add(7,"days").format("YYYY-MM-DD HH:mm:ss")),An(Object.assign({},Jn))}}))),Le.createElement(we.Z,{align:"middle",className:"pl30"},Le.createElement(Te.Z,null,"\u622A\u6B62\u65F6\u95F4"),Le.createElement(Te.Z,{className:"ml10"},Le.createElement(tt.default,{size:"large",style:{width:170},allowClear:!1,placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:je()((0,de.U6)(),"HH:mm")},format:"YYYY-MM-DD HH:mm",disabled:(qt==null?void 0:qt.allow_late)&&(qt==null?void 0:qt.homework_status.includes("\u5DF2\u622A\u6B62"))||wt||(qt==null?void 0:qt.allow_late)&&je()()>=je()(qt==null?void 0:qt.end_time)||(0,ye.Rm)()&&!((Nn=ln.AssistantObject.practice)!=null&&Nn.can_publish),disabledDate:ai=>St(ai,qt==null?void 0:qt.course_end_date,Jn.publish_time),disabledTime:ai=>xt(ai,Jn.publish_time),value:Jn.end_time?je()(Jn.end_time):"",onChange:(ai,Pi)=>{Jn.end_time=Pi,An(Object.assign({},Jn))}})))),!Jn.unified_setting&&(Ht==null?void 0:Ht.length)>0&&Le.createElement(we.Z,{style:{display:"flex",color:"#666666",background:"#F6F7F9",padding:"5px 30px",marginTop:"1px"}},Ht&&Ht.map(function(ai,Pi){var ao,Jr,oo,zi,It,Yo,ko;return Le.createElement(Te.Z,{span:24,key:Pi},Le.createElement(we.Z,{gutter:[8,16],style:{display:"flex",alignItems:"center",marginBottom:Pi==(Ht==null?void 0:Ht.length)-1?"0px":"10px"}},Le.createElement("div",{style:{minWidth:85,marginRight:"15px",textAlign:"right"}},"\u53D1\u5E03\u89C4\u5219",Pi+1),Le.createElement(Ue.default,{disabled:wt||((ao=_t==null?void 0:_t.homework_status)!=null&&ao.includes("\u672A\u53D1\u5E03")&&ai.id||je()()<je()(ai==null?void 0:ai.publish_time)?!1:!!(ai!=null&&ai.publish_time))||(0,ye.Rm)()&&!((Jr=ln.AssistantObject.practice)!=null&&Jr.can_publish),mode:"multiple",className:ve.Z.multiple_select,style:{width:"250px"},value:ai.group_name,placeholder:"\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0",onChange:Fr=>{var Bi;if((0,ye.Rm)()&&!((Bi=ln.AssistantObject.practice)!=null&&Bi.can_publish)){Ne.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Ht[Pi].group_name=Fr,Ht[Pi].group_id=ai.group_id;const Fi=(0,ae.flattenDeep)(Ht.map(ii=>ii.group_name)),Qi=hn.map(ii=>{let Nt=(ii==null?void 0:ii.group_name)||[];return Et(At({},ii),{group_name:(0,ae.remove)(Nt,De=>Fi.includes(De))})});rr(Qi),Mt(Ht.slice())},maxTagCount:4,maxTagPlaceholder:Fr=>Le.createElement("div",{style:{cursor:"pointer"},onClick:()=>bo(ai,Pi)},"+",Fr==null?void 0:Fr.length)},qt.group_settings&&qt.group_settings.map(function(Fr){if(!Ht.map(Fi=>Fi.group_name).flat().includes(Fr.group_name))return Le.createElement(Dt,{value:Fr.group_name,key:Fr.id},Fr.group_name)})),Le.createElement("div",{className:"ml20"},Le.createElement(ct,{size:"large",ranges:{\u6B64\u523B:[ai.publish_time?je()(ai.publish_time):je()(),je()()]},allowClear:!1,disabled:wt||(je()()<=je()((zi=Qr((oo=ai==null?void 0:ai.group_id)==null?void 0:oo[0]))==null?void 0:zi.publish_time)?!1:[!0,li((It=ai==null?void 0:ai.group_id)==null?void 0:It[0])]),style:{width:605},placeholder:["\u53D1\u5E03\u65F6\u95F4\uFF08\u5B66\u751F\u6536\u5230\u4F5C\u4E1A\u65F6\u95F4\uFF09","\u622A\u6B62\u65F6\u95F4\uFF08\u5B66\u751F\u201C\u6309\u65F6\u201D\u63D0\u4EA4\u4F5C\u54C1\u65F6\u95F4\u622A\u70B9\uFF09"],disabledDate:Fr=>St(Fr,qt==null?void 0:qt.course_end_date),disabledTime:Fr=>xt(Fr),showTime:{showNow:!0,format:"HH:mm",defaultValue:[je()((0,de.U6)(),"HH:mm"),je()((0,de.U6)(),"HH:mm")]},format:"YYYY-MM-DD HH:mm",value:ai.publish_time&&[je()(ai.publish_time),ai.end_time?je()(ai.end_time):void 0],onChange:(Fr,Bi)=>{var Fi;if((0,ye.Rm)()&&!((Fi=ln.AssistantObject.practice)!=null&&Fi.can_publish)){Ne.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Ht[Pi].publish_time=Bi[0],!ai.end_time&&Bi[0]?Ht[Pi].end_time=je()(Bi[0]).add(7,"days"):Ht[Pi].end_time=Bi[1],Mt([...Ht])},onCalendarChange:(Fr,Bi,Fi)=>{if(Bi!=null&&Bi[0]&&!Bi[1]){const Qi=je()(Bi[0]).add(7,"days");Ht[Pi].publish_time=Bi[0],Ht[Pi].end_time=Qi,Mt([...Ht])}}})),!wt&&Le.createElement("div",{style:{display:"flex",width:"50px"}},((Yo=ai==null?void 0:ai.group_id)==null?void 0:Yo.length)>1&&Le.createElement(ke.Z,{title:"\u89C4\u5219\u62C6\u5206"},Le.createElement("i",{className:"iconfont icon-chaifen ml10",style:{cursor:"pointer",color:"#3061d0"},onClick:()=>bo(ai,Pi)})),Ht.length<((ko=qt==null?void 0:qt.group_settings)==null?void 0:ko.length)&&Le.createElement("i",{className:"iconfont icon-zengjia1 ml10 mr10",style:{cursor:"pointer",color:"#00B187"},onClick:()=>{var Fr;if((0,ye.Rm)()&&!((Fr=ln.AssistantObject.practice)!=null&&Fr.can_publish)){Ne.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Mt(Ht.concat({}))}}),((ai==null?void 0:ai.publish_time)&&je()()<je()(ai==null?void 0:ai.publish_time)||!(ai!=null&&ai.publish_time))&&Pi!=0&&Le.createElement("i",{className:"iconfont icon-shanjian1",style:{cursor:"pointer",color:"#E30000"},onClick:()=>{const Fr=(0,ae.cloneDeep)(hn);Fr.forEach((Bi,Fi)=>{Bi.group_name&&(Bi.group_name=Bi.group_name.filter(Qi=>{var ii;return!((ii=Ht[Pi].group_name)!=null&&ii.includes(Qi))}))}),Ht=Ht.filter((Bi,Fi)=>Pi!==Fi),rr(Fr),Mt(Ht.slice()),setTimeout(()=>Mt(Ht.slice()),10)}}))))}))),Le.createElement(we.Z,null,Le.createElement(Te.Z,null,Le.createElement("div",{className:ve.Z.title,style:{marginTop:"30px"}},"\u8865\u4EA4\u8BBE\u7F6E",Le.createElement("span",{className:"c-grey-666 font14",style:{fontWeight:400}},"\uFF08\u53EF\u5BF9\u5728\u4F5C\u4E1A\u53D1\u5E03\u65F6\u95F4\u8303\u56F4\u5185\u672A\u5B8C\u6210\u4F5C\u4E1A\u7684\u5B66\u751F\uFF0C\u5EF6\u957F\u65F6\u95F4\u8FDB\u884C\u8865\u4EA4\uFF09"))),Le.createElement(Te.Z,{span:24,style:{background:"#F6F7F9",padding:"13px 30px",display:"flex",alignItems:"center"}},Le.createElement(Ie.default,{checked:Jn.allow_late,disabled:wt||Ai,onChange:ai=>{var Pi;if((0,ye.Rm)()&&!((Pi=ln.AssistantObject.practice)!=null&&Pi.can_late)){Ne.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}ai.target.checked&&Ke.default.warning({title:"\u5F00\u542F\u8865\u4EA4\u63D0\u793A",centered:!0,width:480,content:Le.createElement("div",{style:{padding:10,background:"#f5f6f9"}},Le.createElement("div",null,"1.\u5F00\u542F\u8865\u4EA4\u540E\u4E0D\u53EF\u5173\u95ED\uFF0C\u8865\u4EA4\u65B9\u5F0F\u63D0\u4EA4\u4FDD\u5B58\u540E\u4E0D\u53EF\u4FEE\u6539\uFF1B"),Le.createElement("div",null,"2.\u8865\u4EA4\u622A\u6B62\u65F6\u95F4\u5FC5\u987B\u665A\u4E8E\u4F5C\u4E1A\u622A\u6B62\u65F6\u95F4\uFF1B"),Le.createElement("div",null,"3.\u73ED\u7EA7\u9636\u6BB5\u8FDB\u5165\u201C\u8865\u4EA4\u4E2D\u201D\u5219\u4E0D\u53EF\u53D8\u66F4\u4F5C\u4E1A\u622A\u6B62\u65F6\u95F4\u3002"))}),Jn.allow_late=!Jn.allow_late,hn==""&&rr([{late_penalty:5}]),An(Object.assign({},Jn))}},Le.createElement("strong",null,"\u5F00\u542F\u8865\u4EA4")))),(Jn==null?void 0:Jn.allow_late)&&Le.createElement("div",{style:{background:"#F6F7F9",padding:"10px 30px",marginTop:"1px",color:"#666666"}},Le.createElement("div",{style:{display:"flex"}},Le.createElement("div",{style:{width:"110px",textAlign:"right"}},"\u8865\u4EA4\u65B9\u5F0F"),Le.createElement(Be.ZP.Group,{style:{marginLeft:"20px"},disabled:wt||(qt==null?void 0:qt.anonymous_comment)||(qt==null?void 0:qt.allow_late),value:Jn.unified_late,onChange:ai=>{var Pi;if((0,ye.Rm)()&&!((Pi=ln.AssistantObject.practice)!=null&&Pi.can_late)){Ne.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Jn.unified_late=ai.target.value,hn==""&&!ai.target.value&&rr([{penalty_type:ce.Q.Percent,late_penalty:20}]),An(At({},Jn))}},(Jn==null?void 0:Jn.unified_setting)&&Le.createElement(Be.ZP,{value:!0,disabled:!(qt!=null&&qt.manage_all_group),style:{marginRight:"50px"}},"\u7EDF\u4E00\u8865\u4EA4"),((_n=qt==null?void 0:qt.group_settings)==null?void 0:_n.length)>0&&Le.createElement(Be.ZP,{value:!1},"\u5206\u73ED\u8865\u4EA4"))),Jn!=null&&Jn.unified_late?Le.createElement(Le.Fragment,null,Le.createElement(we.Z,{align:"middle",style:{marginTop:"10px"}},Le.createElement(Te.Z,{style:{width:"110px",textAlign:"right"}},"\u8865\u4EA4\u6263\u5206"),Le.createElement(Te.Z,{className:"ml20"},Le.createElement(ce.Z,{disabled:wt||fo,value:{type:Jn.penalty_type,inputValue:Jn.late_penalty},onChange:ai=>{var Pi;if((0,ye.Rm)()&&!((Pi=ln.AssistantObject.practice)!=null&&Pi.can_late)){Ne.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}An(Et(At({},Jn),{late_penalty:ai.inputValue,penalty_type:ai.type}))}})),Le.createElement(Te.Z,{flex:"1",className:"ml5"},Le.createElement("span",{className:"c-grey-c ml10"},Jn.penalty_type===ce.Q.Number?"(\u8865\u4EA4\u65F6\u6309\u7167\u5B66\u751F\u603B\u6210\u7EE9\u6263\u5206)":"(\u5B66\u751F\u6700\u7EC8\u5F97\u5206=\u8865\u4EA4\u524D\u5F97\u5206+\u8865\u4EA4\u9636\u6BB5\u589E\u52A0\u7684\u5206\u503C*\uFF08100%-\u767E\u5206\u6BD4%\uFF09)"))),Le.createElement(we.Z,{align:"middle",style:{marginTop:"15px"}},Le.createElement(Te.Z,{style:{width:"110px",textAlign:"right"}},"\u8865\u4EA4\u622A\u6B62\u65F6\u95F4"),Le.createElement(Te.Z,{className:"ml20"},Le.createElement(tt.default,{size:"large",allowClear:!1,style:{width:170},placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:je()((0,de.U6)(),"HH:mm")},format:"YYYY-MM-DD HH:mm",disabled:wt||fo,value:Jn.late_time?je()(Jn.late_time):"",disabledDate:ai=>St(ai,qt==null?void 0:qt.course_end_date),onChange:(ai,Pi)=>{var ao;if((0,ye.Rm)()&&!((ao=ln.AssistantObject.practice)!=null&&ao.can_late)){Ne.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Jn.late_time=Pi,An(Object.assign({},Jn))}})))):hn.map(function(ai,Pi){var ao;return Le.createElement(Te.Z,{span:24,key:Pi},Le.createElement(we.Z,{style:{display:"flex",alignItems:"center",marginTop:"10px"}},Le.createElement("div",{style:{width:"85px",marginLeft:"27px",textAlign:"right"}},"\u8865\u4EA4\u89C4\u5219",Pi+1),Le.createElement(Ue.default,{disabled:wt||!((ao=_t==null?void 0:_t.homework_status)!=null&&ao.includes("\u672A\u53D1\u5E03"))&&ai.id||(qt==null?void 0:qt.anonymous_comment),mode:"multiple",className:ve.Z.multiple_select,style:{width:"212px",marginLeft:"18px"},value:typeof ai.group_name=="string"?[ai.group_name]:ai.group_name,placeholder:"\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0",onChange:Jr=>{var oo;if((0,ye.Rm)()&&!((oo=ln.AssistantObject.practice)!=null&&oo.can_late)){Ne.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}hn[Pi].group_name=Jr,hn[Pi].group_id=ai.group_id,rr(hn.slice())}},qt.group_settings&&qt.group_settings.map(function(Jr){const oo=hn.map(It=>It.group_name).flat(),zi=Ht.map(It=>It.group_name).flat();if(Jn!=null&&Jn.unified_setting){if(!oo.includes(Jr.group_name))return Le.createElement(Dt,{value:Jr.group_name,key:Jr.id},Jr.group_name)}else if(zi.includes(Jr.group_name)&&!oo.includes(Jr.group_name))return Le.createElement(Dt,{value:Jr.group_name,key:Jr.id},Jr.group_name)})),Le.createElement("div",{className:"ml20 mr10"},"\u8865\u4EA4\u6263\u5206"),Le.createElement(ce.Z,{disabled:wt||Io(ai.id),value:{type:ai.penalty_type,inputValue:ai.late_penalty},onChange:Jr=>{var oo;if((0,ye.Rm)()&&!((oo=ln.AssistantObject.practice)!=null&&oo.can_late)){Ne.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}hn[Pi].late_penalty=Jr.inputValue,hn[Pi].penalty_type=Jr.type,rr([...hn])}}),Le.createElement("div",{className:"ml20 mr10"},"\u8865\u4EA4\u622A\u6B62\u65F6\u95F4"),Le.createElement(tt.default,{size:"large",disabled:wt||Io(ai.id),style:{width:225},showTime:{format:"HH:mm",defaultValue:je()((0,de.U6)(),"HH:mm")},placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",disabledDate:Jr=>St(Jr,qt==null?void 0:qt.course_end_date),format:"YYYY-MM-DD HH:mm",value:ai!=null&&ai.late_time?je()(ai.late_time):void 0,onChange:(Jr,oo)=>{var zi;if((0,ye.Rm)()&&!((zi=ln.AssistantObject.practice)!=null&&zi.can_late)){Ne.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}hn[Pi].late_time=oo,rr([...hn])}}),!wt&&Le.createElement("div",{style:{display:"flex",width:"50px"}},Le.createElement("i",{className:"iconfont icon-zengjia1 ml10 mr10",style:{cursor:"pointer",color:"#00B187"},onClick:()=>{var Jr;if((0,ye.Rm)()&&!((Jr=ln.AssistantObject.practice)!=null&&Jr.can_late)){Ne.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}rr(hn.concat({penalty_type:ce.Q.Percent,late_penalty:20}))}}),Pi>0&&!ai.id&&Le.createElement("i",{className:"iconfont icon-shanjian1",style:{cursor:"pointer",color:"#E30000"},onClick:()=>{var Jr;if((0,ye.Rm)()&&!((Jr=ln.AssistantObject.practice)!=null&&Jr.can_late)){Ne.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}hn=hn.filter((oo,zi)=>Pi!==zi),rr(hn.slice()),setTimeout(()=>rr(hn.slice()),10)}}))))})),!wt&&Le.createElement(Le.Fragment,null,Le.createElement(Ce.ZP,{type:"primary",size:"large",loading:ot,style:{width:"138px",marginTop:"30px"},onClick:()=>xr()},"\u4FDD\u5B58")),Le.createElement(Se.Z,{onConfirm:(ai,Pi)=>{Ht.splice(ai,0,...Pi),Ht.splice(ai+Pi.length,1);const ao=(0,de.QE)([...Ht]);Mt([...ao])}}))};tn.ZP=(0,xe.connect)(({shixunHomeworks:kt,classroomList:Rt,loading:Gt,user:ln})=>({shixunHomeworks:kt,classroomList:Rt,loading:Gt.effects,user:ln}))(Xt)},706:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Ie}});var Ge=Oe(59301),tt=Oe(92832),Ue=Oe(24905),Ne=Oe(95237),Ke={leftdiv:"leftdiv___aBzsX",listClass:"listClass___bxIEW",spantitle:"spantitle___v_Vc4",rightdiv:"rightdiv___xWu4M"},Be="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAbVJREFUOE+Nk79rFUEUhb+zE4OFwUD+CyGKKQQbSaMikQQ7C1tBBIsUQaJvl2Fn/cWDpAiIYJsi7YOIaCUWFoKKRhG0sbEzEImFGnev7G6yyXsxeU5159yZb87l3hG9q2WLiBO79FIwXpLp0s6cwITnQCMWrGDM43jdBckZQ0wTMdrong2R2Bxm0/98sZ8ozdcOEm5hjOC41u9Olc9ZQKySclOVkNhljCmCzjeAJM/4FbW5p+8k5tlggTtarfKxLSM6pHq4BTiL0SboaAOIi284jeP1nti+ApMEvdoEvEPMkOpJDZi1IwzwgqDh/wSsYZwk08ca4O0Qua3zW8OV5crmHg6u22EGbQ2nIbx+1IC6rrK+cYJW9gXEVrbxGUEj5bltQGJvgBapHu0LSGwCyEh1vBsQWwd4TNCDPg6uAOcImuoFlL1dJ9WNPg5uYwwRVM3MzhJmKIpjZK6e9bj4jNNpvL4QFx9wuoDXJ1r5IlH0llTtXgcXwa4SolObnYnwKnbFcfEcdJ+gpW6AtzFynuIop/Fn053u4CA5yzjO4FV9tu0Syl2S38WiSWBgD8AfoEPQ7Fb+LwIiyhxWwe2KAAAAAElFTkSuQmCC",we=Oe(97267),Te=(Ce,Me,je)=>new Promise((ye,ie)=>{var ae=ve=>{try{de(je.next(ve))}catch(xe){ie(xe)}},fe=ve=>{try{de(je.throw(ve))}catch(xe){ie(xe)}},de=ve=>ve.done?ye(ve.value):Promise.resolve(ve.value).then(ae,fe);de((je=je.apply(Ce,Me)).next())}),Ie=({data:Ce,value:Me=[],handleChangePage:je,setSelectedRowKeys:ye,selectedRowKeys:ie,onChange:ae=()=>{}})=>{const[fe,de]=(0,Ge.useState)([]),[ve,xe]=(0,Ge.useState)([]),[ce,pe]=(0,Ge.useState)([]);let[Se,Le]=(0,Ge.useState)(1),[ze,Ze]=(0,Ge.useState)();return(0,Ge.useEffect)(()=>{de(Ce),xe([]),pe([])},[Ce]),(0,Ge.useEffect)(()=>{ye&&(xe(ie),pe(ie))},[ie]),Ge.createElement("div",{style:{display:"flex",justifyContent:"space-between"}},Ge.createElement("div",{className:Ke.leftdiv},Ge.createElement(tt.default.Search,{size:"middle",onChange:Ve=>Te(void 0,null,function*(){de(Ce.filter(Qe=>{var $e;return($e=Qe==null?void 0:Qe.name)==null?void 0:$e.includes(Ve.target.value)}))}),placeholder:"\u53EF\u8F93\u5165\u73ED\u7EA7\u540D\u79F0\u67E5\u8BE2"}),fe.length===0&&Ge.createElement(we.Z,{styles:{margin:"70px auto"},customText:"\u6682\u65E0\u5206\u73ED"}),Ge.createElement("div",{style:{height:"85%",overflow:"auto",overflowX:"hidden"}},Ge.createElement(Ue.default.Group,{value:ve.map(Ve=>`${Ve.id}`),onChange:Ve=>{ye(fe.filter(Qe=>Ve.includes(`${Qe.id}`)))},style:{marginTop:"10px",flexDirection:"column"}},fe.map((Ve,Qe)=>Ge.createElement(Ne.Z,{key:Ve.id,style:{marginTop:"10px",lineHeight:"24px",display:"flex",width:200}},Ge.createElement(Ue.default,{style:{display:"flex",height:"24px",alignItems:"center"},disabled:Ve.is_published,value:`${Ve.id}`},Ge.createElement("div",{className:Ke.listClass},Ge.createElement("span",{className:Ke.spantitle,style:{width:Ve.is_published?"108px":"170px"}},Ve.name),Ve.is_published&&Ge.createElement("span",{style:{width:"52px",height:"24px",background:"#B8B8B8",borderRadius:"13px",color:"white",lineHeight:"24px",textAlign:"center",display:"inline-block"}},"\u5DF2\u53D1\u5E03")))))))),Ge.createElement("div",{className:Ke.rightdiv},Ge.createElement(tt.default.Search,{onChange:Ve=>{pe(ve.filter(Qe=>Qe.name.includes(Ve.target.value)))},size:"middle",placeholder:"\u53EF\u8F93\u5165\u73ED\u7EA7\u540D\u79F0\u67E5\u8BE2"}),ce.length===0&&Ge.createElement(we.Z,{styles:{margin:"70px auto"},customText:"\u6682\u672A\u9009\u62E9\u5206\u73ED"}),ce.length>0&&Ge.createElement("div",{style:{marginTop:"10px",height:"85%",overflow:"hidden",position:"relative"}},Ge.createElement("div",{style:{overflowX:"hidden",overflowY:"scroll",position:"absolute",left:0,top:0,right:-17,bottom:0}},ce.map((Ve,Qe)=>Ge.createElement(Ne.Z,{justify:"space-between",style:{marginTop:"10px"},key:Ve.id},Ge.createElement("div",{style:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",marginRight:"5px",marginLeft:"5px",width:"75%"}},Ve.name),Ge.createElement("img",{src:Be,style:{cursor:"pointer",height:"16px",marginRight:17},onClick:()=>{ye(ve.filter($e=>`${$e.id}`!=`${Ve.id}`))}})))))))}},30738:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return ae}});var Ge=Oe(59301),tt=Oe(42203),Ue=Oe(78550),Ne=Oe(43418),Ke=Oe(92832),Be=Oe(95237),we=Oe(43604),Te={title_tooltip:"title_tooltip___LLdrn",multiple_select:"multiple_select___kDXUm",modal_con:"modal_con___ERnkW"},ke=Oe(61186),Ie=Oe.n(ke),Ce=Oe(58130),Me=Oe(97267),je=Oe(59301);const{RangePicker:ye}=Ue.default,ie=({dispatch:fe,classroomList:de,onConfirm:ve})=>{const[xe,ce]=(0,Ge.useState)([]),[pe,Se]=(0,Ge.useState)([]),[Le,ze]=(0,Ge.useState)("");(0,Ge.useEffect)(()=>{var Qe;if(de.actionTabs.key==="\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206"){let $e=de.actionTabs.data;console.log("data",$e);let gt=(Qe=$e==null?void 0:$e.group_name)==null?void 0:Qe.map((lt,At)=>{var Et;return{group_id:$e==null?void 0:$e.group_id[At],group_name:$e==null?void 0:$e.group_name[At],is_admin:$e==null?void 0:$e.is_admin,end_time:$e==null?void 0:$e.end_time,publish_time:Array.isArray($e==null?void 0:$e.publish_time)?(Et=$e==null?void 0:$e.publish_time)==null?void 0:Et[0]:$e==null?void 0:$e.publish_time}});gt&&(ce([...gt]),Se([...gt]))}},[de.actionTabs]);const Ze=()=>{fe({type:"classroomList/setActionTabs",payload:{}}),ze("")},Ve=Qe=>{if(Qe){const $e=pe==null?void 0:pe.filter(gt=>{var lt,At;return(At=(lt=gt==null?void 0:gt.group_name)==null?void 0:lt.toLowerCase())==null?void 0:At.includes(Qe==null?void 0:Qe.toLowerCase())});ce($e)}else ce(pe)};return je.createElement(Ne.default,{width:980,title:je.createElement("div",{style:{fontWeight:"bold",display:"flex"}},je.createElement("div",null,"\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206",je.createElement("span",{className:Te.title_tooltip},"\uFF08\u5F53\u5206\u73ED\u53D1\u5E03\u65F6\u95F4\u548C\u622A\u6B62\u65F6\u95F4\u4E0D\u76F8\u540C\u65F6\u5019\uFF0C\u73ED\u7EA7\u81EA\u52A8\u62C6\u5206\u51FA\u53BB\u65B0\u8D77\u89C4\u5219\uFF09")),je.createElement(Ke.default.Search,{allowClear:!0,placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u8FDB\u884C\u641C\u7D22",style:{width:220,marginLeft:"60px"},value:Le,onChange:Qe=>{ze(Qe.target.value.trim()),Ve(Qe.target.value.trim())}})),centered:!0,maskClosable:!1,open:de.actionTabs.key==="\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206",onCancel:()=>Ze(),onOk:()=>{var Qe;ve((Qe=de.actionTabs)==null?void 0:Qe.index,pe),Ze()}},je.createElement("div",{className:Te.modal_con},je.createElement(Be.Z,{style:{display:"flex",color:"#666666",padding:"5px",marginTop:"1px"}},(xe==null?void 0:xe.length)>0?xe.map(function(Qe,$e){var gt,lt;return je.createElement(we.Z,{span:24,key:$e},je.createElement(Be.Z,{gutter:[8,16],style:{display:"flex",alignItems:"center",marginBottom:$e==(xe==null?void 0:xe.length)-1?"0px":"10px"}},je.createElement("div",{className:Te.multiple_select,title:Qe.group_name},Qe.group_name),je.createElement("div",{className:"ml20"},je.createElement(ye,{size:"large",ranges:{\u6B64\u523B:[Qe.publish_time?Ie()(Qe.publish_time):Ie()(),Ie()()]},allowClear:!1,disabled:(gt=de.actionTabs)==null?void 0:gt.rangePickerDisabled,style:{width:600},placeholder:["\u53D1\u5E03\u65F6\u95F4\uFF08\u5B66\u751F\u6536\u5230\u4F5C\u4E1A\u65F6\u95F4\uFF09","\u622A\u6B62\u65F6\u95F4\uFF08\u5B66\u751F\u201C\u6309\u65F6\u201D\u63D0\u4EA4\u4F5C\u54C1\u65F6\u95F4\u622A\u70B9\uFF09"],disabledDate:At=>{var Et;return(0,Ce.Q8)(At,(Et=de.actionTabs)==null?void 0:Et.disabledDate)},disabledTime:At=>(0,Ce.d0)(At),showTime:{showNow:!0,format:"HH:mm",defaultValue:[Ie()((0,Ce.U6)(),"HH:mm"),Ie()((0,Ce.U6)(),"HH:mm")]},format:"YYYY-MM-DD HH:mm",value:Qe.publish_time&&[Ie()(Qe.publish_time),Qe.end_time?Ie()(Qe.end_time):void 0],onChange:(At,Et)=>{xe[$e].publish_time=Et[0],xe[$e].end_time=Et[1],ce([...xe]),pe.forEach(vt=>{vt.group_id===Qe.group_id&&(vt.publish_time=Et[0],vt.end_time=Et[1])}),Se([...pe])}})),(lt=de.actionTabs)!=null&&lt.rangePickerDisabled?je.createElement("i",{className:"iconfont icon-shanjian1 ml15",style:{color:"#E30000",opacity:"0.2",cursor:"not-allowed"}}):je.createElement("i",{className:"iconfont icon-shanjian1 ml15",style:{cursor:"pointer",color:"#E30000"},onClick:()=>{xe.splice($e,1),ce([...xe]),pe.forEach((At,Et)=>{At.group_id===Qe.group_id&&pe.splice(Et,1)}),Se([...pe])}})))}):je.createElement(Me.Z,null))))};var ae=(0,tt.connect)(({classroomList:fe})=>({classroomList:fe}))(ie)},55870:function(en,tn,Oe){"use strict";Oe.r(tn),Oe.d(tn,{NoData:function(){return ur},default:function(){return qt}});var Ge=Oe(59301),tt=Oe(3113),Ue=Oe(43418),Ne="data:image/png;base64,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",Ke=Oe(70635);function Be(){return(0,Ke.U2)("teach_groups.json")}function we(Yt){return(0,Ke.v_)("teach_groups.json",Yt)}function Te(Yt,gn){return(0,Ke.gz)(`teach_groups/${Yt}.json`,gn)}function ke(Yt){return(0,Ke.v_)("teach_group_members.json",Yt)}function Ie(Yt){return(0,Ke.IV)(`teach_group_members/${Yt}.json`)}function Ce(Yt,gn){return(0,Ke.gz)(`teach_groups/${Yt}/change_admin.json`,{member_id:gn})}function Me(Yt,gn){return(0,Ke.IV)(`teach_groups/${Yt}/del_member.json`,{member_id:gn})}function je(Yt){return(0,Ke.IV)(`teach_groups/${Yt}.json`)}function ye(Yt){return(0,Ke.U2)(`teach_groups/${Yt}/show_permission.json`)}function ie(Yt){return(0,Ke.gz)(`teach_groups/${Yt==null?void 0:Yt.id}/update_permission.json`,Yt)}var ae=Oe(78241),fe=Oe(92832),de=Oe(52222),ve=({callback:Yt,visible:gn,onCancel:_t,id:Jt,name:wt})=>{function ut(Pt){Yt(Pt)}const[ot]=ae.default.useForm();return(0,Ge.useEffect)(()=>{ot.setFieldsValue({name:wt})},[wt]),Ge.createElement(Ue.default,{centered:!0,title:Jt?"\u4FEE\u6539\u540D\u79F0":"\u65B0\u5EFA",open:gn,onCancel:_t,onOk:()=>{ot.submit()},wrapClassName:de.Z.CustomCss},Ge.createElement(ae.default,{form:ot,initialValues:{name:wt},onFinish:ut},Ge.createElement(ae.default.Item,{label:"\u6559\u7814\u56E2\u961F\u540D\u79F0",name:"name",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u4E0D\u8D85\u8FC720\u5B57\u7684\u540D\u79F0"}]},Ge.createElement(fe.default,{placeholder:"\u8BF7\u8F93\u5165\u4E0D\u8D85\u8FC720\u5B57\u7684\u540D\u79F0",maxLength:20}))))},xe=Oe(24905),ce=Oe(38854),pe=Oe(20834),Se=Oe(2595),Le=Oe(8591),ze=Oe(5112),Ze=Object.defineProperty,Ve=Object.getOwnPropertySymbols,Qe=Object.prototype.hasOwnProperty,$e=Object.prototype.propertyIsEnumerable,gt=(Yt,gn,_t)=>gn in Yt?Ze(Yt,gn,{enumerable:!0,configurable:!0,writable:!0,value:_t}):Yt[gn]=_t,lt=(Yt,gn)=>{for(var _t in gn||(gn={}))Qe.call(gn,_t)&&gt(Yt,_t,gn[_t]);if(Ve)for(var _t of Ve(gn))$e.call(gn,_t)&&gt(Yt,_t,gn[_t]);return Yt};const At=Yt=>React.createElement("svg",lt({className:"cjz_svg__icon",viewBox:"0 0 3194 1024",xmlns:"http://www.w3.org/2000/svg",width:623.828,height:200},Yt),React.createElement("path",{d:"M512 0h2170.88c282.624 0 512 229.376 512 512s-229.376 512-512 512H512C229.376 1024 0 794.624 0 512S229.376 0 512 0z",fill:"#EBEEFD"}),React.createElement("path",{d:"M1638.4 741.376c28.672 0 40.96-16.384 40.96-45.056V294.912h-36.864v393.216c0 16.384-8.192 20.48-20.48 20.48-24.576 0-45.056 0-73.728-4.096l8.192 32.768h81.92zm-372.736-258.048c49.152-45.056 90.112-94.208 126.976-147.456 32.768 32.768 69.632 77.824 110.592 135.168l24.576-24.576c-40.96-49.152-81.92-98.304-122.88-143.36h-24.576c-40.96 57.344-81.92 110.592-131.072 155.648l16.384 24.576zm323.584 159.744V339.968h-32.768v307.2h32.768zm-131.072 94.208c24.576 0 36.864-4.096 45.056-12.288s16.384-36.864 20.48-77.824l-32.768-12.288c0 28.672-4.096 45.056-8.192 53.248s-16.384 12.288-32.768 12.288h-98.304c-12.288 0-20.48-4.096-20.48-16.384v-204.8h106.496v94.208c0 12.288-8.192 20.48-20.48 20.48-16.384 0-32.768 0-49.152-4.096l8.192 32.768h53.248c28.672 0 40.96-16.384 40.96-40.96V450.56h-176.128v245.76c0 24.576 12.288 36.864 40.96 36.864h122.88zm585.728-53.248V634.88h131.072v-28.672h-131.072v-40.96h114.688v-28.672h-114.688v-40.96H2150.4v-69.632h32.768v-28.672H2150.4V327.68h-106.496v-32.768h-32.768v32.768h-86.016v28.672h86.016v36.864h-110.592v28.672h110.592v40.96h-86.016v28.672h86.016v40.96h-98.304v28.672h98.304v40.96h-110.592v28.672h110.592v49.152h32.768zm-270.336 57.344c24.576-16.384 40.96-36.864 57.344-61.44 4.096 4.096 12.288 8.192 16.384 12.288 36.864 24.576 102.4 36.864 188.416 36.864h147.456l4.096-32.768c-57.344 0-110.592 4.096-167.936 4.096-65.536 0-118.784-12.288-151.552-28.672-8.192-4.096-16.384-12.288-24.576-20.48 24.576-45.056 36.864-98.304 36.864-163.84v-20.48h-77.824c24.576-32.768 49.152-73.728 73.728-118.784v-28.672H1761.28v32.768h81.92c-24.576 40.96-49.152 81.92-77.824 118.784v28.672h90.112c-4.096 45.056-12.288 86.016-28.672 122.88-12.288-20.48-24.576-49.152-32.768-86.016l-32.768 12.288c12.288 40.96 28.672 77.824 45.056 106.496-16.384 24.576-36.864 40.96-57.344 57.344l24.576 28.672zm339.968-344.064h-69.632v-36.864h69.632v36.864zm0 69.632h-69.632v-40.96h69.632v40.96zm253.952 278.528v-20.48h212.992v20.48h36.864V524.288h-184.32c28.672-12.288 53.248-24.576 77.824-40.96l20.48-12.288h151.552v-32.768h-106.496c32.768-24.576 65.536-57.344 94.208-90.112l-32.768-20.48c-36.864 40.96-73.728 77.824-122.88 110.592h-61.44v-61.44h114.688v-32.768h-114.688v-49.152h-36.864v53.248h-135.168v32.768h135.168v57.344h-180.224v32.768h225.28c-69.632 40.96-147.456 69.632-229.376 90.112l16.384 32.768c28.672-8.192 57.344-20.48 81.92-28.672v180.224h36.864zm212.992-139.264h-212.992v-49.152h212.992v49.152zm0 86.016h-212.992v-53.248h212.992v53.248z",fill:"#165DFF"}),React.createElement("path",{d:"M573.44 204.8h327.68c90.112 0 163.84 73.728 163.84 163.84v327.68c0 90.112-73.728 163.84-163.84 163.84H573.44c-90.112 0-163.84-73.728-163.84-163.84V368.64c0-90.112 73.728-163.84 163.84-163.84z",fill:"#C2D0FF"}),React.createElement("path",{d:"M868.352 581.632c4.096 24.576 12.288 49.152 16.384 69.632 0 8.192 4.096 16.384 4.096 24.576s4.096 16.384 4.096 24.576 4.096 12.288 4.096 16.384v8.192c0 8.192 0 12.288-4.096 12.288-4.096 4.096-8.192 4.096-12.288 4.096h-8.192c-4.096 0-4.096 0-8.192-4.096L737.28 667.648c-24.576 12.288-45.056 24.576-61.44 36.864L651.264 716.8c-8.192 4.096-16.384 8.192-20.48 12.288-8.192 4.096-16.384 8.192-20.48 12.288s-8.192 4.096-8.192 4.096c-4.096 0-8.192 4.096-8.192 0-4.096 0-8.192 0-8.192-4.096-4.096 0-4.096-4.096-4.096-8.192v-8.192s0-4.096 4.096-8.192c0-4.096 4.096-12.288 4.096-16.384 0-8.192 4.096-16.384 4.096-24.576s4.096-16.384 8.192-24.576c4.096-20.48 12.288-45.056 16.384-69.632-24.576-16.384-45.056-28.672-57.344-45.056-8.192-4.096-16.384-8.192-20.48-16.384s-12.288-8.192-16.384-12.288S512 499.712 512 495.616c-4.096-4.096-8.192-4.096-8.192-4.096-4.096-4.096-4.096-8.192-8.192-12.288s-4.096-8.192-4.096-12.288 4.096-8.192 4.096-12.288c4.096 0 8.192-4.096 12.288-4.096l151.552-12.288L716.8 307.2c0-4.096 4.096-8.192 8.192-12.288 0-8.192 8.192-8.192 12.288-8.192s4.096 0 8.192 4.096c4.096 0 4.096 4.096 4.096 4.096l4.096 4.096s0 4.096 4.096 4.096l53.248 131.072 155.648 16.384c8.192 0 12.288 4.096 12.288 4.096 4.096 4.096 4.096 8.192 4.096 12.288s0 8.192-4.096 12.288l-12.288 12.288-98.304 90.112z",fill:"#2E5BEC"}));var Et="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDMxOTQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iNjIzLjgyOCIgaGVpZ2h0PSIyMDAiPjxwYXRoIGQ9Ik01MTIgMGgyMTcwLjg4YzI4Mi42MjQgMCA1MTIgMjI5LjM3NiA1MTIgNTEycy0yMjkuMzc2IDUxMi01MTIgNTEySDUxMkMyMjkuMzc2IDEwMjQgMCA3OTQuNjI0IDAgNTEyUzIyOS4zNzYgMCA1MTIgMHoiIGZpbGw9IiNFQkVFRkQiLz48cGF0aCBkPSJNMTYzOC40IDc0MS4zNzZjMjguNjcyIDAgNDAuOTYtMTYuMzg0IDQwLjk2LTQ1LjA1NlYyOTQuOTEyaC0zNi44NjR2MzkzLjIxNmMwIDE2LjM4NC04LjE5MiAyMC40OC0yMC40OCAyMC40OC0yNC41NzYgMC00NS4wNTYgMC03My43MjgtNC4wOTZsOC4xOTIgMzIuNzY4aDgxLjkyem0tMzcyLjczNi0yNTguMDQ4YzQ5LjE1Mi00NS4wNTYgOTAuMTEyLTk0LjIwOCAxMjYuOTc2LTE0Ny40NTYgMzIuNzY4IDMyLjc2OCA2OS42MzIgNzcuODI0IDExMC41OTIgMTM1LjE2OGwyNC41NzYtMjQuNTc2Yy00MC45Ni00OS4xNTItODEuOTItOTguMzA0LTEyMi44OC0xNDMuMzZoLTI0LjU3NmMtNDAuOTYgNTcuMzQ0LTgxLjkyIDExMC41OTItMTMxLjA3MiAxNTUuNjQ4bDE2LjM4NCAyNC41NzZ6bTMyMy41ODQgMTU5Ljc0NFYzMzkuOTY4aC0zMi43Njh2MzA3LjJoMzIuNzY4em0tMTMxLjA3MiA5NC4yMDhjMjQuNTc2IDAgMzYuODY0LTQuMDk2IDQ1LjA1Ni0xMi4yODhzMTYuMzg0LTM2Ljg2NCAyMC40OC03Ny44MjRsLTMyLjc2OC0xMi4yODhjMCAyOC42NzItNC4wOTYgNDUuMDU2LTguMTkyIDUzLjI0OHMtMTYuMzg0IDEyLjI4OC0zMi43NjggMTIuMjg4aC05OC4zMDRjLTEyLjI4OCAwLTIwLjQ4LTQuMDk2LTIwLjQ4LTE2LjM4NHYtMjA0LjhoMTA2LjQ5NnY5NC4yMDhjMCAxMi4yODgtOC4xOTIgMjAuNDgtMjAuNDggMjAuNDgtMTYuMzg0IDAtMzIuNzY4IDAtNDkuMTUyLTQuMDk2bDguMTkyIDMyLjc2OGg1My4yNDhjMjguNjcyIDAgNDAuOTYtMTYuMzg0IDQwLjk2LTQwLjk2VjQ1MC41NmgtMTc2LjEyOHYyNDUuNzZjMCAyNC41NzYgMTIuMjg4IDM2Ljg2NCA0MC45NiAzNi44NjRoMTIyLjg4em01ODUuNzI4LTUzLjI0OFY2MzQuODhoMTMxLjA3MnYtMjguNjcyaC0xMzEuMDcydi00MC45NmgxMTQuNjg4di0yOC42NzJoLTExNC42ODh2LTQwLjk2SDIxNTAuNHYtNjkuNjMyaDMyLjc2OHYtMjguNjcySDIxNTAuNFYzMjcuNjhoLTEwNi40OTZ2LTMyLjc2OGgtMzIuNzY4djMyLjc2OGgtODYuMDE2djI4LjY3Mmg4Ni4wMTZ2MzYuODY0aC0xMTAuNTkydjI4LjY3MmgxMTAuNTkydjQwLjk2aC04Ni4wMTZ2MjguNjcyaDg2LjAxNnY0MC45NmgtOTguMzA0djI4LjY3Mmg5OC4zMDR2NDAuOTZoLTExMC41OTJ2MjguNjcyaDExMC41OTJ2NDkuMTUyaDMyLjc2OHptLTI3MC4zMzYgNTcuMzQ0YzI0LjU3Ni0xNi4zODQgNDAuOTYtMzYuODY0IDU3LjM0NC02MS40NCA0LjA5NiA0LjA5NiAxMi4yODggOC4xOTIgMTYuMzg0IDEyLjI4OCAzNi44NjQgMjQuNTc2IDEwMi40IDM2Ljg2NCAxODguNDE2IDM2Ljg2NGgxNDcuNDU2bDQuMDk2LTMyLjc2OGMtNTcuMzQ0IDAtMTEwLjU5MiA0LjA5Ni0xNjcuOTM2IDQuMDk2LTY1LjUzNiAwLTExOC43ODQtMTIuMjg4LTE1MS41NTItMjguNjcyLTguMTkyLTQuMDk2LTE2LjM4NC0xMi4yODgtMjQuNTc2LTIwLjQ4IDI0LjU3Ni00NS4wNTYgMzYuODY0LTk4LjMwNCAzNi44NjQtMTYzLjg0di0yMC40OGgtNzcuODI0YzI0LjU3Ni0zMi43NjggNDkuMTUyLTczLjcyOCA3My43MjgtMTE4Ljc4NHYtMjguNjcySDE3NjEuMjh2MzIuNzY4aDgxLjkyYy0yNC41NzYgNDAuOTYtNDkuMTUyIDgxLjkyLTc3LjgyNCAxMTguNzg0djI4LjY3Mmg5MC4xMTJjLTQuMDk2IDQ1LjA1Ni0xMi4yODggODYuMDE2LTI4LjY3MiAxMjIuODgtMTIuMjg4LTIwLjQ4LTI0LjU3Ni00OS4xNTItMzIuNzY4LTg2LjAxNmwtMzIuNzY4IDEyLjI4OGMxMi4yODggNDAuOTYgMjguNjcyIDc3LjgyNCA0NS4wNTYgMTA2LjQ5Ni0xNi4zODQgMjQuNTc2LTM2Ljg2NCA0MC45Ni01Ny4zNDQgNTcuMzQ0bDI0LjU3NiAyOC42NzJ6bTMzOS45NjgtMzQ0LjA2NGgtNjkuNjMydi0zNi44NjRoNjkuNjMydjM2Ljg2NHptMCA2OS42MzJoLTY5LjYzMnYtNDAuOTZoNjkuNjMydjQwLjk2em0yNTMuOTUyIDI3OC41Mjh2LTIwLjQ4aDIxMi45OTJ2MjAuNDhoMzYuODY0VjUyNC4yODhoLTE4NC4zMmMyOC42NzItMTIuMjg4IDUzLjI0OC0yNC41NzYgNzcuODI0LTQwLjk2bDIwLjQ4LTEyLjI4OGgxNTEuNTUydi0zMi43NjhoLTEwNi40OTZjMzIuNzY4LTI0LjU3NiA2NS41MzYtNTcuMzQ0IDk0LjIwOC05MC4xMTJsLTMyLjc2OC0yMC40OGMtMzYuODY0IDQwLjk2LTczLjcyOCA3Ny44MjQtMTIyLjg4IDExMC41OTJoLTYxLjQ0di02MS40NGgxMTQuNjg4di0zMi43NjhoLTExNC42ODh2LTQ5LjE1MmgtMzYuODY0djUzLjI0OGgtMTM1LjE2OHYzMi43NjhoMTM1LjE2OHY1Ny4zNDRoLTE4MC4yMjR2MzIuNzY4aDIyNS4yOGMtNjkuNjMyIDQwLjk2LTE0Ny40NTYgNjkuNjMyLTIyOS4zNzYgOTAuMTEybDE2LjM4NCAzMi43NjhjMjguNjcyLTguMTkyIDU3LjM0NC0yMC40OCA4MS45Mi0yOC42NzJ2MTgwLjIyNGgzNi44NjR6bTIxMi45OTItMTM5LjI2NGgtMjEyLjk5MnYtNDkuMTUyaDIxMi45OTJ2NDkuMTUyem0wIDg2LjAxNmgtMjEyLjk5MnYtNTMuMjQ4aDIxMi45OTJ2NTMuMjQ4eiIgZmlsbD0iIzE2NURGRiIvPjxwYXRoIGQ9Ik01NzMuNDQgMjA0LjhoMzI3LjY4YzkwLjExMiAwIDE2My44NCA3My43MjggMTYzLjg0IDE2My44NHYzMjcuNjhjMCA5MC4xMTItNzMuNzI4IDE2My44NC0xNjMuODQgMTYzLjg0SDU3My40NGMtOTAuMTEyIDAtMTYzLjg0LTczLjcyOC0xNjMuODQtMTYzLjg0VjM2OC42NGMwLTkwLjExMiA3My43MjgtMTYzLjg0IDE2My44NC0xNjMuODR6IiBmaWxsPSIjQzJEMEZGIi8+PHBhdGggZD0iTTg2OC4zNTIgNTgxLjYzMmM0LjA5NiAyNC41NzYgMTIuMjg4IDQ5LjE1MiAxNi4zODQgNjkuNjMyIDAgOC4xOTIgNC4wOTYgMTYuMzg0IDQuMDk2IDI0LjU3NnM0LjA5NiAxNi4zODQgNC4wOTYgMjQuNTc2IDQuMDk2IDEyLjI4OCA0LjA5NiAxNi4zODR2OC4xOTJjMCA4LjE5MiAwIDEyLjI4OC00LjA5NiAxMi4yODgtNC4wOTYgNC4wOTYtOC4xOTIgNC4wOTYtMTIuMjg4IDQuMDk2aC04LjE5MmMtNC4wOTYgMC00LjA5NiAwLTguMTkyLTQuMDk2TDczNy4yOCA2NjcuNjQ4Yy0yNC41NzYgMTIuMjg4LTQ1LjA1NiAyNC41NzYtNjEuNDQgMzYuODY0TDY1MS4yNjQgNzE2LjhjLTguMTkyIDQuMDk2LTE2LjM4NCA4LjE5Mi0yMC40OCAxMi4yODgtOC4xOTIgNC4wOTYtMTYuMzg0IDguMTkyLTIwLjQ4IDEyLjI4OHMtOC4xOTIgNC4wOTYtOC4xOTIgNC4wOTZjLTQuMDk2IDAtOC4xOTIgNC4wOTYtOC4xOTIgMC00LjA5NiAwLTguMTkyIDAtOC4xOTItNC4wOTYtNC4wOTYgMC00LjA5Ni00LjA5Ni00LjA5Ni04LjE5MnYtOC4xOTJzMC00LjA5NiA0LjA5Ni04LjE5MmMwLTQuMDk2IDQuMDk2LTEyLjI4OCA0LjA5Ni0xNi4zODQgMC04LjE5MiA0LjA5Ni0xNi4zODQgNC4wOTYtMjQuNTc2czQuMDk2LTE2LjM4NCA4LjE5Mi0yNC41NzZjNC4wOTYtMjAuNDggMTIuMjg4LTQ1LjA1NiAxNi4zODQtNjkuNjMyLTI0LjU3Ni0xNi4zODQtNDUuMDU2LTI4LjY3Mi01Ny4zNDQtNDUuMDU2LTguMTkyLTQuMDk2LTE2LjM4NC04LjE5Mi0yMC40OC0xNi4zODRzLTEyLjI4OC04LjE5Mi0xNi4zODQtMTIuMjg4UzUxMiA0OTkuNzEyIDUxMiA0OTUuNjE2Yy00LjA5Ni00LjA5Ni04LjE5Mi00LjA5Ni04LjE5Mi00LjA5Ni00LjA5Ni00LjA5Ni00LjA5Ni04LjE5Mi04LjE5Mi0xMi4yODhzLTQuMDk2LTguMTkyLTQuMDk2LTEyLjI4OCA0LjA5Ni04LjE5MiA0LjA5Ni0xMi4yODhjNC4wOTYgMCA4LjE5Mi00LjA5NiAxMi4yODgtNC4wOTZsMTUxLjU1Mi0xMi4yODhMNzE2LjggMzA3LjJjMC00LjA5NiA0LjA5Ni04LjE5MiA4LjE5Mi0xMi4yODggMC04LjE5MiA4LjE5Mi04LjE5MiAxMi4yODgtOC4xOTJzNC4wOTYgMCA4LjE5MiA0LjA5NmM0LjA5NiAwIDQuMDk2IDQuMDk2IDQuMDk2IDQuMDk2bDQuMDk2IDQuMDk2czAgNC4wOTYgNC4wOTYgNC4wOTZsNTMuMjQ4IDEzMS4wNzIgMTU1LjY0OCAxNi4zODRjOC4xOTIgMCAxMi4yODggNC4wOTYgMTIuMjg4IDQuMDk2IDQuMDk2IDQuMDk2IDQuMDk2IDguMTkyIDQuMDk2IDEyLjI4OHMwIDguMTkyLTQuMDk2IDEyLjI4OGwtMTIuMjg4IDEyLjI4OC05OC4zMDQgOTAuMTEyeiIgZmlsbD0iIzJFNUJFQyIvPjwvc3ZnPg==",vt=Oe(94606),Lt=(Yt,gn,_t)=>new Promise((Jt,wt)=>{var ut=Ht=>{try{Pt(_t.next(Ht))}catch(Mt){wt(Mt)}},ot=Ht=>{try{Pt(_t.throw(Ht))}catch(Mt){wt(Mt)}},Pt=Ht=>Ht.done?Jt(Ht.value):Promise.resolve(Ht.value).then(ut,ot);Pt((_t=_t.apply(Yt,gn)).next())});const St=50;var xt=({data:Yt,isAdminOrTeacher:gn,onDelGroup:_t,onChangeGroupName:Jt,onPlusMember:wt,onDelMember:ut,onExitGroup:ot,Transferteams:Pt})=>{var Ht,Mt;const[hn,rr]=(0,Ge.useState)(0),[Jn,An]=(0,Ge.useState)(0);let[$n,xr]=(0,Ge.useState)(),[mr,Qr]=(0,Ge.useState)(),[di,li]=(0,Ge.useState)(!1),[Ai,fo]=(0,Ge.useState)(),[Io,bo]=(0,Ge.useState)(),[ai,Pi]=(0,Ge.useState)(!1),[ao,Jr]=(0,Ge.useState)(!1),[oo,zi]=(0,Ge.useState)("");function It(Nt){let De=parseInt(Nt.key,10);zi(De),Jr(!0)}function Yo(Nt){let De=parseInt(Nt.key,10);Ue.default.confirm({title:"\u9000\u51FA\u63D0\u793A",okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",content:"\u9000\u51FA\u5C06\u5BF9\u60A8\u4E0E\u7EC4\u5185\u6210\u5458\u5171\u540C\u5F00\u5C55\u6559\u7814\u6D3B\u52A8\u9020\u6210\u4E0D\u4FBF\u3002\u60A8\u786E\u5B9A\u8981\u9000\u51FA\u5417\uFF1F",onOk:()=>{ot(De)}})}function ko(Nt){let De=parseInt(Nt,10);Ue.default.confirm({title:"\u9000\u51FA\u63D0\u793A",okText:"\u786E\u5B9A",icon:!1,className:de.Z.CustomTipsModalCss,cancelText:"\u53D6\u6D88",content:"\u9000\u51FA\u5C06\u5BF9\u60A8\u4E0E\u7EC4\u5185\u6210\u5458\u5171\u540C\u5F00\u5C55\u6559\u7814\u6D3B\u52A8\u9020\u6210\u4E0D\u4FBF\u3002\u60A8\u786E\u5B9A\u8981\u9000\u51FA\u5417\uFF1F",onOk:()=>{ot(De)}})}function Fr(Nt,De){Ue.default.confirm({title:"\u6E29\u99A8\u63D0\u793A",content:"\u786E\u5B9A\u8981\u5220\u9664\u8FD9\u4E2A\u7EC4\u5458\u5417?",icon:!1,className:de.Z.CustomTipsModalCss,okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",onOk:()=>{ut(Nt,De)}})}const Bi={display:"block",height:"30px",lineHeight:"30px"};function Fi(Nt){bo(Nt),fo(Nt==null?void 0:Nt.id),Pi(!0)}const Qi=[{title:"\u6210\u5458\u540D\u79F0",dataIndex:"name",width:150},{title:"\u4F7F\u7528\u5171\u4EAB\u8BD5\u9898",dataIndex:"item_bank",align:"center",width:150,render:(Nt,De,He)=>Ge.createElement(xe.default,{disabled:De==null?void 0:De.is_creator,defaultChecked:Nt,onChange:Re=>{ie({id:Ai,member_id:De.id,clazz:"item_bank",enable:Re.target.checked})}})},{title:"\u7F16\u8F91\u5171\u4EAB\u8BD5\u9898",dataIndex:"edit_item_bank",align:"center",width:150,render:(Nt,De,He)=>Ge.createElement(xe.default,{disabled:De==null?void 0:De.is_creator,defaultChecked:Nt,onChange:Re=>{ie({id:Ai,member_id:De.id,clazz:"edit_item_bank",enable:Re.target.checked})}})},{title:"\u4F7F\u7528\u5171\u4EAB\u8BD5\u5377",dataIndex:"exercise",align:"center",render:(Nt,De,He)=>Ge.createElement(xe.default,{disabled:De==null?void 0:De.is_creator,defaultChecked:Nt,onChange:Re=>{ie({id:Ai,member_id:De.id,clazz:"exercise",enable:Re.target.checked})}})}];function ii(Nt){return Lt(this,null,function*(){const De=yield ye(Nt==null?void 0:Nt.id);fo(Nt==null?void 0:Nt.id),Qr(De),li(!0)})}return Ge.createElement("ul",{className:"teaching-lists"},Yt.map((Nt,De)=>Ge.createElement("li",{key:Nt.id,style:{marginTop:De===0?30:16},onClick:()=>rr(De)},Ge.createElement("div",{className:"item-group"},Ge.createElement("span",{style:{color:"#000000",fontSize:16,fontWeight:600}},Nt.name,"\u7684\u6559\u7814\u56E2\u961F"),Ge.createElement("div",{className:"action-group"})),Ge.createElement("div",{style:{display:"flex"}},Ge.createElement("span",{style:{marginTop:29,marginLeft:24,color:"#5F6367"}},"\u56E2\u961F\u6210\u5458\uFF1A"),Ge.createElement("ul",{className:"info",style:{flex:1}},Nt.memers.map(He=>{var Re;return Ge.createElement("li",{key:He.id||He.name,onClick:()=>{An(He.id)},className:"directionItemWrap"},Ge.createElement("div",{className:"hovename",style:{display:"flex",alignItems:"center",justifyContent:"center",fontWeight:400,fontSize:14,color:He!=null&&He.is_creater?"#000000":"#5F6367"}},((Re=He.name)==null?void 0:Re.length)>6?He.name.substr(0,6)+"....":He.name,Ge.createElement("img",{src:Et,style:{marginLeft:5,display:!(He!=null&&He.is_creater)&&"none",height:25,width:78}})),Nt.is_creat?Ge.createElement("div",{className:"groupActionWrap",style:{display:!(He!=null&&He.id)&&"none"}},Ge.createElement("a",{className:"btn-del",onClick:et=>{et.preventDefault(),et.stopPropagation(),Fr(Nt.id,He.id)}},"x")):null)})),Nt.is_creat||gn?Ge.createElement(ce.Z,{overlayClassName:"dropdowns",dropdownRender:()=>Ge.createElement(pe.default,null,Ge.createElement(pe.default.Item,{onClick:()=>{Jt(Nt)}},"\u4FEE\u6539\u540D\u79F0"),Ge.createElement(pe.default.Item,{disabled:Nt.memers.length>=50,onClick:()=>{wt(Nt)}},"\u6DFB\u52A0\u6210\u5458"),Nt.is_creat&&Ge.createElement(pe.default.Item,{onClick:()=>ii(Nt)},"\u6743\u9650\u914D\u7F6E"),Nt.is_creat&&Ge.createElement(pe.default.Item,{onClick:()=>Fi(Nt)},"\u8F6C\u8BA9\u56E2\u961F"),Ge.createElement(pe.default.Item,{key:Nt.id+"",onClick:Nt.is_creat?It:Yo},Nt.is_creat?"\u89E3\u6563":"\u9000\u51FA"))},Ge.createElement("span",{style:{marginTop:30,marginRight:24,color:"#165DFF",fontSize:14,height:20}},"\u8BBE\u7F6E",Ge.createElement("i",{style:{marginLeft:5,color:"#979797"},className:"iconfont icon-a-bianzu11"}))):Ge.createElement("span",{key:Nt.id+"",style:{marginTop:30,marginRight:24,color:"#165DFF",fontSize:14,height:20},className:"c-grey-c",onClick:()=>ko(Nt.id)},"\u9000\u51FA")))),Ge.createElement(Ue.default,{width:700,wrapClassName:de.Z.CustomCss,title:"\u6743\u9650\u914D\u7F6E",footer:null,open:di,onCancel:()=>li(!1)},Ge.createElement(vt.Gi,null,Ge.createElement(Se.default,{dataSource:mr==null?void 0:mr.members,columns:Qi,pagination:!1,scroll:{y:240}})),Ge.createElement("p",{style:{color:"#FF9D18",marginTop:5}},"*\u9009\u4E2D\u4EE3\u8868\u8BE5\u6210\u5458\u53EF\u4EE5\u4F7F\u7528\u56E2\u961F\u5185\u6240\u6709\u6210\u5458\u5171\u4EAB\u7684\u8D44\u6E90\uFF0C\u5426\u5219\u4E0D\u53EF\u4EE5")),Ge.createElement(Ue.default,{title:"\u89E3\u6563\u63D0\u793A",wrapClassName:de.Z.CustomCss,onOk:()=>{_t(oo),Jr(!1)},open:ao,onCancel:()=>Jr(!1)},Ge.createElement("p",null,"\u89E3\u6563\u6559\u7814\u56E2\u961F\u5C06\u5BF9\u56E2\u961F\u6210\u5458\u4E4B\u95F4\u5171\u4EAB\u5B9E\u8BAD\u3001\u8BD5\u5377\u7B49\u529F\u80FD\u9020\u6210\u4E0D\u4FBF\u3002"),Ge.createElement("p",null,"\u60A8\u786E\u5B9A\u8981\u89E3\u6563\u672C\u6559\u7814\u56E2\u961F\u5417\uFF1F")),Ge.createElement(Ue.default,{wrapClassName:de.Z.CustomCss,title:"\u8F6C\u8BA9\u56E2\u961F",onOk:()=>{if(!$n){Le.ZP.info("\u521B\u5EFA\u4EBA\u4E0D\u80FD\u4E3A\u7A7A");return}Pt(Ai,$n),Pi(!1),$n=""},open:ai,onCancel:()=>{Pi(!1),$n=""}},Ge.createElement("p",{style:{textAlign:"left"}},"\u9009\u4E2D\u7684\u6210\u5458\u5C06\u4F1A\u4EE5\u65B0\u7684\u521B\u5EFA\u4EBA\u8EAB\u4EFD\u63A5\u7BA1\u56E2\u4F53 ",Ge.createElement("br",null)," \u60A8\u5C06\u4E0D\u518D\u62E5\u6709\u521B\u5EFA\u4EBA\u7684\u8EAB\u4EFD\u548C\u6743\u9650\uFF0C\u4F46\u60A8\u4ECD\u662F\u56E2\u961F\u4E2D\u7684\u4E00\u5458"),Ge.createElement("div",null,Ge.createElement(ze.ZP.Group,{defaultValue:[],onChange:Nt=>{$n=Nt.target.value,xr(Nt.target.value)}},(Mt=(Ht=Io==null?void 0:Io.memers)==null?void 0:Ht.filter(Nt=>Nt.is_teacher))==null?void 0:Mt.map((Nt,De)=>Ge.createElement(ze.ZP,{style:Bi,value:Nt==null?void 0:Nt.id},Nt==null?void 0:Nt.name))))))},ct=Oe(58130),Dt=Oe(42203),Xt=Oe(4194),kt=Object.defineProperty,Rt=Object.defineProperties,Gt=Object.getOwnPropertyDescriptors,ln=Object.getOwnPropertySymbols,Rn=Object.prototype.hasOwnProperty,jn=Object.prototype.propertyIsEnumerable,er=(Yt,gn,_t)=>gn in Yt?kt(Yt,gn,{enumerable:!0,configurable:!0,writable:!0,value:_t}):Yt[gn]=_t,an=(Yt,gn)=>{for(var _t in gn||(gn={}))Rn.call(gn,_t)&&er(Yt,_t,gn[_t]);if(ln)for(var _t of ln(gn))jn.call(gn,_t)&&er(Yt,_t,gn[_t]);return Yt},Un=(Yt,gn)=>Rt(Yt,Gt(gn)),Kn=(Yt,gn,_t)=>new Promise((Jt,wt)=>{var ut=Ht=>{try{Pt(_t.next(Ht))}catch(Mt){wt(Mt)}},ot=Ht=>{try{Pt(_t.throw(Ht))}catch(Mt){wt(Mt)}},Pt=Ht=>Ht.done?Jt(Ht.value):Promise.resolve(Ht.value).then(ut,ot);Pt((_t=_t.apply(Yt,gn)).next())});function ur({children:Yt}){return Ge.createElement("div",{className:"no-data"},Ge.createElement("img",{src:Ne,alt:"no-data",width:300}),Yt)}const Xn={data:[],loading:!0,selectedGroup:{},showFormPanel:!1,showMemberPanel:!1,index:0};var Nn=(Yt=>(Yt[Yt.INITDATA=0]="INITDATA",Yt[Yt.SHOWLOADING=1]="SHOWLOADING",Yt[Yt.SHOWFORMPANEL=2]="SHOWFORMPANEL",Yt[Yt.SHOWMEMBERPANEL=3]="SHOWMEMBERPANEL",Yt[Yt.SELECTGROUP=4]="SELECTGROUP",Yt[Yt.SETINDEX=5]="SETINDEX",Yt))(Nn||{});function _n(Yt,gn){switch(gn.type){case 0:return an(an({},Yt),gn.payload);case 1:return Un(an({},Yt),{loading:gn.payload});case 5:return Un(an({},Yt),{index:gn.payload});case 2:return an(an({},Yt),gn.payload);case 3:return an(an({},Yt),gn.payload);case 4:return Un(an({},Yt),{selectedGroup:gn.payload,showFormPanel:!0});default:throw new Error}}function un({user:Yt}){var gn;const _t=(0,Dt.useLocation)(),[Jt]=(0,Dt.useSearchParams)(),[wt,ut]=(0,Ge.useReducer)(_n,Xn),{data:ot,index:Pt,loading:Ht,showFormPanel:Mt,selectedGroup:hn,showMemberPanel:rr}=wt,Jn=(gn=Yt.userInfo)==null?void 0:gn.role,[An,$n]=(0,Ge.useState)(Jt.get("category")||"0"),xr=(0,Ge.useMemo)(()=>{let It=[],Yo=[];if(ot){for(let ko of ot)ko.is_creat?It.push(ko):Yo.push(ko);return[It,Yo]}},[ot]);(0,Ge.useEffect)(()=>{Jn===15&&ut({type:5,payload:1})},[Jn]);function mr(){return Kn(this,null,function*(){const It=yield Be();(It==null?void 0:It.status)!==401&&ut({type:0,payload:{loading:!1,showFormPanel:!1,data:It.groups,index:Jt.get("category")||0}})})}(0,Ge.useEffect)(()=>{mr()},[]);function Qr(It){return Kn(this,null,function*(){hn.id?yield Te(hn.id,It):yield we(It),mr()})}function di(){ut({type:2,payload:{showFormPanel:!0,selectedGroup:{}}})}function li(It){ut({type:4,payload:It})}function Ai(){ut({type:2,payload:{showFormPanel:!1}})}function fo(){ut({type:3,payload:{showMemberPanel:!1,selectedGroup:{}}})}function Io(It){ut({type:3,payload:{showMemberPanel:!0,selectedGroup:It}})}function bo(It,Yo){return Kn(this,null,function*(){yield Me(It,Yo),mr()})}function ai(It){return Kn(this,null,function*(){yield je(It),mr()})}function Pi(It){return Kn(this,null,function*(){yield Ie(It),mr()})}function ao(It,Yo){return Kn(this,null,function*(){yield Ce(It,Yo),mr()})}function Jr(It){ut({type:5,payload:parseInt(It.target.id,10)})}function oo(It,Yo){return Kn(this,null,function*(){fo(),yield ke({user_ids:It,group_id:Yo}),mr()})}const zi=[{id:"0",name:"\u6211\u521B\u5EFA\u7684"},{id:"1",name:"\u6211\u52A0\u5165\u7684"}];return Ge.createElement(Ge.Fragment,null,Ge.createElement("div",{className:"teaching-circling-container",style:{paddingLeft:45,paddingTop:22}},Ge.createElement("div",{className:"teaching-circling-body"},Jn===15?null:Ge.createElement(vt.YG,{value:An,onChange:It=>{var Yo;(Yo=window.location.href.toString())!=null&&Yo.includes("category")?(0,ct.jz)("category",It):window.history.replaceState(null,"",window.location.href.indexOf("?")>-1?window.location.href+`&category=${It}`:`?category=${It}`),$n(It),ut({type:5,payload:parseInt(It,10)})},tabBarExtraContent:Ge.createElement(tt.ZP,{type:"primary",disabled:ot.length>=50,style:{width:60,height:32,borderRadius:16,border:"1px solid #BACFFE",background:"#F6F7F9 linear-gradient(180deg, #FFFFFF 0%, #F6F7F9 100%)",boxShadow:"0px 2px 4px 0px #E0DFE1, inset 0px 1px 3px 0px rgba(255,255,255,0.5)",color:"#3061D0"},title:ot.length>=50?"\u60A8\u52A0\u5165\u7684\u6559\u7814\u7EC4\u5DF2\u8FBE\u4E0A\u9650":"",onClick:di},"\u65B0\u5EFA"),className:"mb25",dataSource:zi}),Ge.createElement("div",{className:xr[Pt].length===0?"nodata-content":"main-content"},xr[Pt].length===0?Ge.createElement(ur,null,Jn<=12?Ge.createElement(Ge.Fragment,null," ",Ge.createElement("p",null,"\u6559\u7814\u56E2\u961F\u6709\u52A9\u4E8E\u4F60\u548C\u4F60\u7684\u4F19\u4F34\u4EEC\u4E00\u8D77\u521B\u5EFA\u5B9E\u8BAD\u3001\u534F\u540C\u6559\u5B66\uFF0C\u6216\u5F00\u5C55\u5176\u4ED6\u6559\u7814\u6D3B\u52A8\u3002")," ",Ge.createElement("p",null,"\u5F53\u524D\u60A8\u5C1A\u672A\u7EC4\u5EFA\u5C5E\u4E8E\u81EA\u5DF1\u6559\u7814\u56E2\u961F\uFF0C\u5FEB\u53BB\u7EC4\u5EFA\u5427\uFF01")," "):Ge.createElement("p",null," \u60A8\u5C1A\u672A\u52A0\u5165\u4EFB\u4F55\u6559\u7814\u5C0F\u7EC4\uFF0C\u8BF7\u7B49\u5F85\u8001\u5E08\u7684\u53EC\u5524\u5427\uFF01 ")):Ge.createElement(xt,{onExitGroup:Pi,Transferteams:ao,onPlusMember:Io,onDelMember:bo,onDelGroup:ai,isAdminOrTeacher:Jn<=12,onChangeGroupName:li,data:xr[Pt]})))),Ge.createElement(ve,{callback:Qr,visible:Mt,onCancel:Ai,id:hn.id,name:hn.name}),Ge.createElement(Ue.default,{centered:!0,title:"\u6DFB\u52A0\u6210\u5458",open:rr,onCancel:fo,footer:null,width:1150,bodyStyle:{minHeight:200},wrapClassName:de.Z.CustomCss},Ge.createElement(Xt.Z,{container_id:hn.id,container_type:4,onSelect:oo,onCancel:fo})))}var qt=(0,Dt.connect)(({user:Yt})=>({user:Yt}))(un)},85054:function(en,tn,Oe){"use strict";Oe.r(tn),Oe.d(tn,{default:function(){return JX}});var Ge={};Oe.r(Ge),Oe.d(Ge,{add:function(){return Ul},adjoint:function(){return ic},clone:function(){return g1},copy:function(){return U0},create:function(){return vc},determinant:function(){return sy},equals:function(){return Sd},exactEquals:function(){return Ad},frob:function(){return Qa},fromQuat:function(){return Wr},fromQuat2:function(){return ht},fromRotation:function(){return xm},fromRotationTranslation:function(){return rt},fromRotationTranslationScale:function(){return Mn},fromRotationTranslationScaleOrigin:function(){return Qn},fromScaling:function(){return bf},fromTranslation:function(){return Ag},fromValues:function(){return p1},fromXRotation:function(){return Ee},fromYRotation:function(){return _e},fromZRotation:function(){return it},frustum:function(){return lr},getRotation:function(){return Ln},getScaling:function(){return sn},getTranslation:function(){return Wt},identity:function(){return Cf},invert:function(){return jd},lookAt:function(){return Xa},mul:function(){return Ah},multiply:function(){return Ed},multiplyScalar:function(){return _h},multiplyScalarAndAdd:function(){return Tc},ortho:function(){return Na},orthoNO:function(){return ea},orthoZO:function(){return vs},perspective:function(){return fi},perspectiveFromFieldOfView:function(){return Ro},perspectiveNO:function(){return Si},perspectiveZO:function(){return Mo},rotate:function(){return ly},rotateX:function(){return Ox},rotateY:function(){return Eh},rotateZ:function(){return nA},scale:function(){return Mv},set:function(){return ay},str:function(){return hl},sub:function(){return Pf},subtract:function(){return fc},targetTo:function(){return Ds},translate:function(){return dp},transpose:function(){return ym}});var tt={};Oe.r(tt),Oe.d(tt,{circle:function(){return X9},diamond:function(){return Q9},rect:function(){return q9},simple:function(){return e7},triangle:function(){return kO},triangleRect:function(){return $9},vee:function(){return J9}});var Ue=Oe(59301),Ne=Oe(42203),Ke=Oe(8591),Be=Oe(43418),we=Oe(3113),Te={flex_box_center:"flex_box_center___wc3oP",flex_space_between:"flex_space_between___YV6tt",flex_box_vertical_center:"flex_box_vertical_center___DBgDc",flex_box_center_end:"flex_box_center_end___uIUDS",flex_box_column:"flex_box_column___kQEdA",banner:"banner____Henj",wrp:"wrp___PZhnF",titleWrap:"titleWrap___GqIYn",titleFlexEnd:"titleFlexEnd___yQ3st",title:"title___djFnh",titleName:"titleName___o55kJ",titleIcon:"titleIcon___iO27M",contentWrap:"contentWrap___EkBTW",verticalLine:"verticalLine___aj4o0",contentLeftWrap:"contentLeftWrap___O08fb",openCourseTag:"openCourseTag___M35c8",tagsWrap:"tagsWrap____zRBh",ratingWrap:"ratingWrap___FD4BS",ratingTitle:"ratingTitle___sKXr7",rating:"rating___pPcWF",popoverWrap:"popoverWrap___XLvdy",popverLeft:"popverLeft___JghVb",popoverRight:"popoverRight___iN5hL",popverScore:"popverScore___LpP2e",popoverRateWrap:"popoverRateWrap___y3lUU",popoverProgress:"popoverProgress___SPsPq",button:"button___w71Iu",operationWrap:"operationWrap___xfwLx",forkWrap:"forkWrap___PUfTF",fork:"fork___SPjy6",forkNum:"forkNum___fwVaA",buttonTransparent:"buttonTransparent___V0ey6",buttonLearnStatistics:"buttonLearnStatistics___sWuSx",publishPopverWrap:"publishPopverWrap___maOAE",colorFF6802:"colorFF6802___Gb0xJ",w140:"w140___XOi_m",nav:"nav___j9ULg",navLeft:"navLeft___EEDpJ",navContent:"navContent___p8ZjQ",flexRow:"flexRow___cGkPG",navRight:"navRight____bBx2",navLeftIcon:"navLeftIcon___yRiiz",colorOrange:"colorOrange___isY7L",contentItem:"contentItem___OdKIu",contentItemTitle:"contentItemTitle___MBdkH",contentItemText:"contentItemText___YDgQC",classButton:"classButton___gidYF",bg28e:"bg28e___AuhUg",bgGray:"bgGray___zHFT7",btn:"btn___n_xyk",name:"name___AkijA",titleright:"titleright___AQpHe",edits:"edits___h0Etp",edit:"edit___YwQgI",deletes:"deletes___AEqz3",delete:"delete___C4ZUp",content:"content___urv2c",go:"go___BHrT0",goicon:"goicon___b33d6",tabs:"tabs___bmtXw"},ke=Oe(52764),Ie=Oe(57809),Ce=Oe(6848),Me=Oe(95237),je=Oe(43604),ye=Oe(24905),ie=Oe(86914),ae=Oe(61186),fe=Oe.n(ae),de={scoremodal:"scoremodal___fmnFq",selectWrapper:"selectWrapper___IroW1",allqingchu:"allqingchu___X3xiy",title:"title___ZBwpI",score:"score___VfabZ",close:"close___vzKBd",content:"content___ElbGJ",items:"items___wsPZP",bottom:"bottom___VpQqL",yes:"yes___R8bRv",no:"no___jAMOC",titlecount:"titlecount___on2Sg",add:"add___iLQVc",search:"search____Utl0",searchIcon:"searchIcon___IhgPF",header_style:"header_style___qsUr0",tabWrap:"tabWrap___YuaSr",form_style:"form_style___Qfzrb",wrap:"wrap___ytDbl",wrap_title:"wrap_title___CflDL",radioWrap:"radioWrap___HmNHM",checkboxWrap:"checkboxWrap___CqfPX",radio:"radio___a3X6r",colorFF0000:"colorFF0000___o2gJu",pagination:"pagination___LVcwR",createMkdir:"createMkdir___LeITF",tree:"tree___Q25Pl"},ve=Oe(58130),xe=Oe(2567),ce=Oe(59301),pe=Object.defineProperty,Se=Object.defineProperties,Le=Object.getOwnPropertyDescriptors,ze=Object.getOwnPropertySymbols,Ze=Object.prototype.hasOwnProperty,Ve=Object.prototype.propertyIsEnumerable,Qe=(b,x,E)=>x in b?pe(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,$e=(b,x)=>{for(var E in x||(x={}))Ze.call(x,E)&&Qe(b,E,x[E]);if(ze)for(var E of ze(x))Ve.call(x,E)&&Qe(b,E,x[E]);return b},gt=(b,x)=>Se(b,Le(x)),lt=(b,x)=>{var E={};for(var z in b)Ze.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&ze)for(var z of ze(b))x.indexOf(z)<0&&Ve.call(b,z)&&(E[z]=b[z]);return E},At=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())});const{Option:Et}=Ie.default,vt=b=>{var x=b,{pathsDetail:E,globalSetting:z,loading:te,dispatch:re}=x,oe=lt(x,["pathsDetail","globalSetting","loading","dispatch"]);const le=(0,Ne.useParams)(),[he,ge]=(0,Ue.useState)(),[Ae,Pe]=(0,Ue.useState)([]),[We,Xe]=(0,Ue.useState)([]),[qe,nt]=(0,Ue.useState)([]),[at,pt]=(0,Ue.useState)(),[mt,bt]=(0,Ue.useState)(),[jt,Ut]=(0,Ue.useState)(!0);(0,Ue.useEffect)(()=>{E.actionTabs.key==="PathsDetail-SendToClass"&&Qt()},[E.actionTabs.key]);const Kt=vi=>{switch(vi.item_type){case"Shixun":return ce.createElement(Ce.Z,{title:vi!=null&&vi.is_published?"":vi!=null&&vi.edit_permission?"\u5B9E\u8BAD\u9700\u8981\u53D1\u5E03\u540E\u624D\u80FD\u53D1\u9001\u5230\u8BFE\u5802\uFF0C\u70B9\u51FB\u540D\u79F0\u53EF\u524D\u5F80\u5B9E\u8BAD\u8BE6\u60C5":"\u5B9E\u8BAD\u9700\u8981\u53D1\u5E03\u540E\u624D\u80FD\u53D1\u9001\u5230\u8BFE\u5802\uFF0C\u8BF7\u8054\u7CFB\u5B9E\u8BAD\u7BA1\u7406\u5458\u53D1\u5E03"},ce.createElement("span",{onClick:()=>{!(vi!=null&&vi.is_published)&&(vi!=null&&vi.edit_permission)&&window.open(`/shixuns/${vi.identifier}/challenges`)}},ce.createElement("span",{className:"mr5 c-light-primary"},"\u5B9E\u8BAD"),vi.name,!(vi!=null&&vi.is_published)&&ce.createElement("span",{style:{marginLeft:5,color:"rgb(216, 216, 216)"}},"\u672A\u53D1\u5E03"),vi.item_type==="Shixun"&&vi.is_unity_3d&&ce.createElement("span",{style:{background:"#a300d8",color:"#fff",borderRadius:"13px",marginLeft:"5px",width:"68px",height:"20px",display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:"12px"}},"\u865A\u62DF\u4EFF\u771F"),vi.item_type==="Shixun"&&vi.is_jupyter_lab&&ce.createElement("span",{style:{background:"#ff6802",color:"#fff",borderRadius:"13px",marginLeft:"5px",width:"76px",height:"20px",display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:"12px"}},"JupyterLab"),vi.item_type==="Shixun"&&vi.is_jupyter&&ce.createElement("span",{style:{background:"#ff6802",color:"#fff",borderRadius:"13px",marginLeft:"5px",width:"112px",height:"20px",display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:"12px"}},"Jupyter Notebook")));case"Attachment":return ce.createElement("span",null,ce.createElement("span",{className:"mr5 c-cyan-blue"},"\u8BFE\u4EF6"),vi.name);case"ExaminationBank":return ce.createElement("span",null,ce.createElement("span",{className:"mr5",style:{color:"#e69917"}},"\u6D4B\u9A8C"),vi.name);case"HomeworkCommon":return ce.createElement("span",null,ce.createElement("span",{className:"mr5",style:{color:"#E99237"}},"\u7F16\u7A0B\u4F5C\u4E1A"),vi.name);case"VideoItem":return ce.createElement("span",null,ce.createElement("span",{className:"mr5 c-purple-8C1"},"\u89C6\u9891"),vi.name);case"SubjectHomework":return(vi==null?void 0:vi.homework_type)=="group"?ce.createElement("span",null,ce.createElement("span",{className:"mr5",style:{color:"#AABF07"}},"\u5206\u7EC4\u4F5C\u4E1A"),vi.name):ce.createElement("span",null,ce.createElement("span",{className:"mr5",style:{color:"#20BB8A"}},"\u56FE\u6587\u4F5C\u4E1A"),vi.name);case"StageCatalog":return ce.createElement("span",null,vi.name);default:return""}},Qt=()=>At(void 0,null,function*(){var vi;const Mi=yield(0,ke.MO)({id:le.pathId});if(Mi){Pe((Mi==null?void 0:Mi.courses)||[]);const $i=(vi=Mi.stages)==null?void 0:vi.map((Lo,Jo)=>{var Ta;return{title:Lo.state_name||"",key:Jo,children:(Ta=Lo.items)==null?void 0:Ta.map((Bs,js)=>{var Sa;return gt($e({},Bs),{title:Kt(Bs),key:`${Jo}-${js}`,disabled:(Bs==null?void 0:Bs.item_type)=="ExaminationBank"?!0:(Bs==null?void 0:Bs.item_type)==="Shixun"&&(Bs==null?void 0:Bs.is_published)===!1,children:(Sa=Bs.children)==null?void 0:Sa.map((Is,Ss)=>gt($e({},Is),{title:Kt(Is),disabled:(Is==null?void 0:Is.item_type)=="ExaminationBank"?!0:(Bs==null?void 0:Bs.item_type)==="Shixun"&&(Bs==null?void 0:Bs.is_published)===!1,key:`${Jo}-${js}-${Ss}`}))})})}});Xe($i||[])}}),Vt=(vi,Mi)=>{nt(vi)},vn=vi=>{const Mi=vi.target.checked,$i=[];We==null||We.map((Lo,Jo)=>{var Ta;$i.push(Jo),(Ta=Lo==null?void 0:Lo.children)==null||Ta.map((Bs,js)=>{var Sa;(Bs==null?void 0:Bs.item_type)!="ExaminationBank"&&!(Bs!=null&&Bs.disabled)&&($i.push(`${Jo}-${js}`),(Sa=Bs==null?void 0:Bs.children)==null||Sa.map((Is,Ss)=>{Lo!=null&&Lo.disabled||$i.push(`${Jo}-${js}-${Ss}`)}))})}),nt(Mi?$i:[])},wn=()=>{const vi=qe.filter(Is=>typeof Is=="string"),Mi=[],$i=[],Lo=[],Jo=[],Ta=[],Bs=[],js=[],Sa=[];return We==null||We.map((Is,Ss)=>{var el;(el=Is==null?void 0:Is.children)==null||el.map((ms,ru)=>{var Ql;vi.includes(`${Ss}-${ru}`)&&(Lo.push(ms.stage_item_id),ms.item_type==="Shixun"?Mi.push(ms.id):ms.item_type==="Attachment"?Jo.push(ms.id):ms.item_type==="VideoItem"?$i.push(ms.id):ms.item_type==="ExaminationBank"?js.push(ms.id):ms.item_type==="HomeworkCommon"?Sa.push(ms.id):ms.item_type==="SubjectHomework"&&(ms.homework_type=="group"?Ta.push(ms.id):ms.homework_type=="normal"&&Bs.push(ms.id))),(Ql=ms==null?void 0:ms.children)==null||Ql.map((Ra,ws)=>{vi.includes(`${Ss}-${ru}-${ws}`)&&(Lo.push(Ra.stage_item_id),Ra.item_type==="Shixun"?Mi.push(Ra.id):Ra.item_type==="Attachment"?Jo.push(Ra.id):Ra.item_type==="VideoItem"?$i.push(Ra.id):ms.item_type==="ExaminationBank"?js.push(Ra.id):ms.item_type==="HomeworkCommon"?Sa.push(Ra.id):ms.item_type==="SubjectHomework"&&(ms.homework_type=="group"?Ta.push(ms.id):ms.homework_type=="normal"&&Bs.push(ms.id)))})})}),{shixunIds:Mi,videoItemIds:$i,stageItemIds:Lo,coursewareIds:Jo,groupIds:Ta,normalIds:Bs,banksIds:js,hackIds:Sa}},[kn,Vn,vr,or]=(0,xe.P)(),Or=()=>At(void 0,null,function*(){const{stageItemIds:vi}=wn();if(!he){Ke.ZP.info("\u60A8\u8FD8\u672A\u9009\u62E9\u53D1\u9001\u7684\u8BFE\u5802");return}if(!Sr.length&&!Tr.length&&!yi.length&&!Co.length&&!wo.length&&!ri.length&&!Cr.length){Ke.ZP.info("\u60A8\u8FD8\u672A\u9009\u62E9\u5B9E\u8BAD\u3001\u89C6\u9891\u3001\u5206\u7EC4\u4F5C\u4E1A\u3001\u56FE\u6587\u4F5C\u4E1A\u3001\u6D4B\u9A8C\u6216\u8005\u7F16\u7A0B\u4F5C\u4E1A");return}bt(!0),(yield or({id:le.pathId,course_id:parseInt(he),type:"subject",stage_item_id:vi,sync_catelog:jt?1:0}))||(yield qr(vi.map($i=>({id:$i,is_copy:0,is_use:1})))),bt(!1),wr()}),qr=vi=>At(void 0,null,function*(){const Mi=yield(0,ke.Q)({id:le.pathId,course_id:he,stage_shixuns:vi.map($i=>({stage_shixun_id:$i.id,is_copy:$i.is_copy,is_use:$i.is_use})),sync_catelog:jt?1:0});ge(null),Vn(),(Mi==null?void 0:Mi.status)===1&&Be.default.confirm({title:"\u63D0\u793A",centered:!0,okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",content:ce.createElement("div",{className:"tc"},Mi.message),onOk:()=>{var $i;const Lo=($i=Mi==null?void 0:Mi.url.split("/"))==null?void 0:$i[2];(0,ve.xg)(`/classrooms/${Lo}/shixun_homework`)}})}),wr=()=>{re({type:"pathsDetail/setActionTabs",payload:{}}),nt([]),pt(null)},{shixunIds:Sr=[],videoItemIds:Tr=[],banksIds:ri=[],hackIds:Cr=[],coursewareIds:yi=[],groupIds:Co=[],normalIds:wo=[]}=wn();return ce.createElement(ce.Fragment,null,ce.createElement(Be.default,{title:"\u53D1\u9001\u81F3\u8BFE\u5802",keyboard:!1,destroyOnClose:!0,open:E.actionTabs.key==="PathsDetail-SendToClass",width:800,centered:!0,confirmLoading:mt,className:de.scoremodal,onCancel:wr,onOk:Or},ce.createElement("div",{className:de.wrap},ce.createElement("div",{className:"mb10"},ce.createElement(Ie.default,{placeholder:"\u8BF7\u9009\u62E9\u60A8\u8981\u53D1\u9001\u7684\u8BFE\u5802",defaultOpen:!1,value:he,style:{width:"100%"},onSelect:vi=>ge(vi),optionLabelProp:"lable"},Ae==null?void 0:Ae.map((vi,Mi)=>ce.createElement(Et,{key:vi.course_id,value:vi.course_id,lable:vi.course_name},ce.createElement(Me.Z,{justify:"space-between"},ce.createElement(je.Z,null,vi.course_name),ce.createElement(je.Z,null,fe()(vi.created_at).format("YYYY-MM-DD HH:mm"))))))),ce.createElement("div",{className:de.wrap_title},"\u6E29\u99A8\u63D0\u793A\uFF1A",ce.createElement("br",null),"1.\u8BF7\u5728\u672C\u8BFE\u7A0B\u4E2D\u9009\u62E9\u6240\u9700\u9879\u76EE\u53D1\u9001\u5230\u6307\u5B9A\u8BFE\u5802\uFF0C\u5206\u7EC4\u4F5C\u4E1A\u4E0D\u4F1A\u88AB\u53D1\u9001\u81F3\u5F00\u653E\u8BFE\u5802\uFF1B",ce.createElement("br",null),"2.\u672A\u53D1\u5E03\u7684\u5B9E\u8BAD\u4E0D\u80FD\u53D1\u9001\u81F3\u8BFE\u5802"),ce.createElement("a",{onClick:()=>{Qt()}},ce.createElement("i",{className:"iconfont icon-shuaxin3 font14 mr5",style:{color:"#3061d0"}}),"\u5237\u65B0\u5217\u8868"),ce.createElement("div",{className:de.radioWrap},ce.createElement("div",null,ce.createElement(ye.default,{value:at,onChange:vn,className:"font14 ml20"},"\u5168\u9009")),!!(We!=null&&We.length)&&ce.createElement(ie.default,{className:de.tree,checkable:!0,defaultExpandAll:!0,treeData:We,checkedKeys:qe,onCheck:(vi,Mi)=>Vt(vi,Mi)})),ce.createElement("div",{className:de.createMkdir},ce.createElement(ye.default,{checked:jt,onChange:vi=>Ut(vi.target.checked),className:"font14"},"\u9009\u4E2D\u7AE0\u8282\u5728\u8BFE\u5802\u4E2D\u540C\u6B65\u751F\u6210\u76EE\u5F55"),!!(Sr.length+Tr.length+Co.length+wo.length+ri.length+Cr.length)&&ce.createElement("span",null,ce.createElement("span",null,"\u5DF2\u9009\u4E2D\uFF1A"),!!Sr.length&&ce.createElement(ce.Fragment,null,ce.createElement("span",{className:"c-light-primary"},Sr.length," "),ce.createElement("span",null,"\u4E2A\u5B9E\u8BAD")),!!Tr.length&&ce.createElement(ce.Fragment,null,ce.createElement("span",{className:"c-purple-8C1 ml5"},Tr.length," "),ce.createElement("span",null,"\u4E2A\u89C6\u9891")),!!yi.length&&ce.createElement(ce.Fragment,null,ce.createElement("span",{className:"c-cyan-blue ml5"},yi.length," "),ce.createElement("span",null,"\u4E2A\u8BFE\u4EF6")),!!Co.length&&ce.createElement(ce.Fragment,null,ce.createElement("span",{className:"ml5",style:{color:"#AABF07"}},Co.length," "),ce.createElement("span",null,"\u4E2A\u5206\u7EC4\u4F5C\u4E1A")),!!wo.length&&ce.createElement(ce.Fragment,null,ce.createElement("span",{className:"ml5",style:{color:"#20BB8A"}},wo.length," "),ce.createElement("span",null,"\u4E2A\u56FE\u6587\u4F5C\u4E1A")),!!ri.length&&ce.createElement(ce.Fragment,null,ce.createElement("span",{className:"ml5",style:{color:"#e69917"}},ri.length," "),ce.createElement("span",null,"\u4E2A\u6D4B\u9A8C")),!!Cr.length&&ce.createElement(ce.Fragment,null,ce.createElement("span",{className:"ml5",style:{color:"#e69917"}},Cr.length," "),ce.createElement("span",null,"\u4E2A\u7F16\u7A0B\u4F5C\u4E1A")))))),ce.createElement(xe.Z,{visible:kn,inPaper:!1,renderData:vr,onCancel:Vn,onOk:qr,modalType:"multiple",type:"subject"}))};var Lt=(0,Ne.connect)(({pathsDetail:b,loading:x,globalSetting:E})=>({pathsDetail:b,globalSetting:E,loading:x.effects}))(vt),St=Oe(78241),xt=Oe(5112),ct=Oe(19842),Dt=Oe(92832),Xt=Oe(71418),kt=Oe(70635),Rt={applyPublicContainer:"applyPublicContainer___pImhb",applyPublicContent:"applyPublicContent____dPHq",spin:"spin___bBN3v",tips:"tips___uXmwo",action:"action___D3zVt"},Gt=Oe(80205),ln=Oe(59301),Rn=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())}),er=({type:b,onCancel:x,onOk:E})=>{const[z]=St.default.useForm(),[te,re]=(0,Ue.useState)(1),[oe,le]=(0,Ue.useState)(!1),[he,ge]=(0,Ue.useState)([]);(0,Ue.useEffect)(()=>{z.setFieldValue("type",1),Ae()},[]);const Ae=()=>Rn(void 0,null,function*(){if(b){le(!0);const We=yield(0,kt.ZP)("/api/disciplines.json",{method:"get",params:{source:b}});ge(We.disciplines||[]),le(!1)}}),Pe=()=>{const{sub_discipline_id:We,discipline_name:Xe,sub_discipline_name:qe,type:nt}=z.getFieldsValue();if((!We||We&&We.length===0)&&(!Xe||!qe))return Ke.ZP.warning("\u8BF7\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B"),!1;E({user_customize:nt==2,sub_discipline_id:nt==1?[We[1]]:null,discipline_name:Xe,sub_discipline_name:qe})};return ln.createElement(Be.default,{width:640,className:Rt.applyPublicContainer,centered:!0,title:"\u516C\u5F00\u8BFE\u7A0B",okText:"\u7533\u8BF7\u516C\u5F00",open:!0,onCancel:()=>{x(),z.resetFields()},onOk:()=>{z.validateFields().then(We=>{if(te==2&&(We.discipline_name.replaceAll(" ","").length<=0||We.sub_discipline_name.replaceAll(" ","").length<=0)){Ke.ZP.info("\u65B9\u5411\u6216\u8BFE\u7A0B\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u586B\u5199\u540E\u518D\u63D0\u4EA4\uFF01");return}Pe(),z.resetFields()})}},ln.createElement("div",{className:Rt.applyPublicContent},ln.createElement("div",{className:Rt.tips},ln.createElement(Gt.Z,{style:{color:"#FF8C29",marginRight:10}}),"\u586B\u5199\u5B9E\u8DF5\u8BFE\u7A0B\u7684\u65B9\u5411&\u8BFE\u7A0B\u4E4B\u540E\uFF0C\u65B9\u53EF\u7533\u8BF7\u516C\u5F00"),ln.createElement(St.default,{labelAlign:"left",form:z},ln.createElement(St.default.Item,{name:"type"},ln.createElement(xt.ZP.Group,{onChange:We=>{re(We.target.value),We.target.value==1?z.setFieldsValue({discipline_name:"",sub_discipline_name:""}):z.setFieldsValue({sub_discipline_id:[]})}},ln.createElement(xt.ZP,{value:1},"\u5FEB\u901F\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B"),ln.createElement(xt.ZP,{value:2,style:{marginLeft:40}},"\u81EA\u5B9A\u4E49\u65B9\u5411&\u8BFE\u7A0B"))),te==1&&ln.createElement(St.default.Item,{label:"\u65B9\u5411&\u8BFE\u7A0B",name:"sub_discipline_id",rules:[{required:!0}]},ln.createElement(ct.Z,{expandTrigger:"hover",placeholder:"\u8BF7\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B",options:he,fieldNames:{label:"name",value:"id",children:"sub_disciplines"},onChange:(We,Xe)=>z.setFieldsValue({sub_discipline_id:We})})),te==2&&ln.createElement(ln.Fragment,null,ln.createElement(St.default.Item,{label:"\u65B9\u5411",name:"discipline_name",rules:[{required:!0}]},ln.createElement(Dt.default,{placeholder:"\u8BF7\u8F93\u5165\u65B9\u5411",autoComplete:"off"})),ln.createElement(St.default.Item,{label:"\u8BFE\u7A0B",name:"sub_discipline_name",rules:[{required:!0}]},ln.createElement(Dt.default,{placeholder:"\u8BF7\u8F93\u5165\u8BFE\u7A0B",autoComplete:"off"})))),oe&&ln.createElement("div",{className:Rt.spin},ln.createElement(Xt.Z,null))))},an=Oe(25711),Un=Oe.p+"static/banner.6e6a323f.png",Kn="data:image/png;base64,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",ur=Oe(59301),Xn=Object.defineProperty,Nn=Object.defineProperties,_n=Object.getOwnPropertyDescriptors,un=Object.getOwnPropertySymbols,qt=Object.prototype.hasOwnProperty,Yt=Object.prototype.propertyIsEnumerable,gn=(b,x,E)=>x in b?Xn(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,_t=(b,x)=>{for(var E in x||(x={}))qt.call(x,E)&&gn(b,E,x[E]);if(un)for(var E of un(x))Yt.call(x,E)&&gn(b,E,x[E]);return b},Jt=(b,x)=>Nn(b,_n(x)),wt=(b,x)=>{var E={};for(var z in b)qt.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&un)for(var z of un(b))x.indexOf(z)<0&&Yt.call(b,z)&&(E[z]=b[z]);return E},ut=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())});const ot=[{name:"\u672A\u53D1\u5E03",connect:"\u5F53\u524D\u8BFE\u7A0B\u6B63\u5728\u5F00\u53D1\u4E2D\uFF0C\u4E0D\u53EF\u88AB\u4ED6\u4EBA\u4F7F\u7528",bkcolor:"#D8D8D8",txcolor:"#FFFFFF"},{name:"\u9759\u9ED8\u53D1\u5E03",connect:"\u5F53\u524D\u8BFE\u7A0B\u5DF2\u53D1\u5E03\uFF0C\u53EF\u4EE5\u901A\u8FC7\u5206\u4EAB\u94FE\u63A5\u4F7F\u7528\uFF0C\u4F46\u4E0D\u80FD\u88AB\u5F00\u653E\u68C0\u7D22",bkcolor:"#7B92C7",txcolor:"#FFFFFF"},{name:"\u516C\u5F00\u5BA1\u6838",connect:"\u5F53\u524D\u8BFE\u7A0B\u5DF2\u53D1\u5E03\uFF0C\u7533\u8BF7\u7EB3\u5165\u5F00\u653E\u68C0\u7D22\uFF0C\u76EE\u524D\u5E73\u53F0\u6B63\u5728\u5BA1\u6838\u4E2D",bkcolor:"#F9AF7E",txcolor:"#A44C11"},{name:"\u516C\u5F00\u53D1\u5E03",connect:"\u5F53\u524D\u8BFE\u7A0B\u5DF2\u53D1\u5E03\uFF0C\u4E14\u53EF\u88AB\u5F00\u653E\u68C0\u7D22",bkcolor:"#FFE9C1",txcolor:"#A45204"}],Pt=b=>{var x=b,{pathsDetail:E,user:z,globalSetting:te,loading:re,dispatch:oe}=x,le=wt(x,["pathsDetail","user","globalSetting","loading","dispatch"]),he,ge,Ae,Pe,We,Xe,qe,nt,at,pt,mt,bt,jt,Ut,Kt,Qt,Vt,vn,wn,kn;const Vn=(0,Ne.useParams)(),[vr,or]=(0,Ue.useState)({}),Or=(0,Ue.useRef)(1),[qr,wr]=(0,Ue.useState)(),[Sr,Tr]=(0,Ue.useState)(!1),[ri,Cr]=(0,Ue.useState)(!1),yi=(0,Ue.useRef)(null),Co=!((he=E.detail)!=null&&he.edit_of_subject_knowledge),[wo,vi]=(0,Ue.useState)({status:!1}),Mi=((ge=E.detail)==null?void 0:ge.is_free)||((Ae=E.detail)==null?void 0:Ae.can_learning);(0,Ue.useEffect)(()=>{vi({status:!1})},[]),(0,Ue.useEffect)(()=>{function Sa(){return ut(this,null,function*(){var Is,Ss,el,ms,ru,Ql,Ra;if((Is=E.detail)!=null&&Is.courses){const ws=(Ss=E.detail)==null?void 0:Ss.courses;if((el=ws==null?void 0:ws.toast)!=null&&el.is_open&&((ms=ws.toast)==null?void 0:ms.open_num)===-1)Cr(!0);else if((ru=ws==null?void 0:ws.toast)!=null&&ru.is_open&&((Ql=ws==null?void 0:ws.toast)==null?void 0:Ql.open_num)===1){let $o=JSON.parse(localStorage.getItem("pathsshow"))||[];((Ra=$o.filter(va=>va===(Vn==null?void 0:Vn.pathId)))==null?void 0:Ra.length)>0?Cr(!1):(Cr(!0),$o.push(Vn==null?void 0:Vn.pathId),localStorage.setItem("pathsshow",JSON.stringify($o)))}else Cr(!1)}})}Sa()},[(Pe=E.detail)==null?void 0:Pe.courses]),(0,Ue.useEffect)(()=>{var Sa,Is,Ss,el,ms,ru,Ql,Ra,ws,$o,va;if(!((Is=(Sa=E.detail)==null?void 0:Sa.courses)==null?void 0:Is.length))return;let Xs;if((Ss=E.detail)!=null&&Ss.has_start){const ua=(ms=(el=E.detail)==null?void 0:el.courses)==null?void 0:ms.findIndex(vl=>{var Js;return((Js=vl.course_status)==null?void 0:Js.status)===1});Xs=ua>-1?ua:0}else{let ua=(Ra=(Ql=(ru=E.detail)==null?void 0:ru.courses)==null?void 0:Ql.map(vl=>{var Js;return(Js=vl.course_status)==null?void 0:Js.status}))==null?void 0:Ra.lastIndexOf(2);Xs=ua>-1?ua:0,ua=($o=(ws=E.detail)==null?void 0:ws.courses)==null?void 0:$o.findIndex(vl=>{var Js;return((Js=vl.course_status)==null?void 0:Js.status)===0}),Xs=ua>-1?ua:Xs}or(((va=E.detail)==null?void 0:va.courses[Xs])||{})},[E.detail]);const $i=()=>{Ke.ZP.warning("\u975E\u8BFE\u7A0B\u5408\u4F5C\u8005\u4E0D\u53EF\u64CD\u4F5C\uFF0C\u8BF7\u4E0E\u8BFE\u7A0B\u8D1F\u8D23\u4EBA\u8054\u7CFB\uFF0C\u83B7\u5F97\u5408\u4F5C\u8005\u8EAB\u4EFD\u540E\u8FDB\u884C\u76F8\u5173\u64CD\u4F5C\u3002")},Lo=Sa=>{var Is,Ss;const el=(Ss=(Is=E.detail)==null?void 0:Is.courses)==null?void 0:Ss.find(ms=>ms.course_id===Sa);or(el||{}),oe({type:"classroomList/setActionTabs",payload:{key:"\u4FEE\u6539\u5F00\u8BFE\u65F6\u95F4",name:Sa}})},Jo=Sa=>{vi({status:Sa})},Ta=Sa=>{Be.default.confirm({centered:!0,width:590,title:"\u63D0\u793A",okText:"\u786E\u5B9A\u7533\u8BF7",cancelText:"\u53D6\u6D88\u7533\u8BF7",icon:null,content:ur.createElement("div",{className:"tc",style:{color:"#5F6367",textAlign:"left"}},"\u516C\u5F00\u8BFE\u7A0B\u9700\u7ECF\u8FC7\u5E73\u53F0\u6807\u51C6\u5316\u5BA1\u6838\uFF0C\u5BA1\u6838\u5468\u671F\u4E3A1-2\u5929\uFF0C\u516C\u5F00\u7684\u8BFE\u7A0B\u5C06\u5BF9\u5E73\u53F0\u6240\u6709\u4EBA\u53EF\u89C1\u3002",ur.createElement("br",null),"\u82E5\u4EC5\u672C\u4EBA\u6559\u5B66\u4F7F\u7528\u5219\u65E0\u9700\u7533\u8BF7\u516C\u5F00\uFF0C\u76F4\u63A5\u53D1\u9001\u5230\u8BFE\u5802\u5373\u53EF",ur.createElement("br",null)),onOk:()=>ut(void 0,null,function*(){let Is={user_customize:Sa.user_customize,type:Sa.type};Sa.user_customize?Is=Jt(_t({},Is),{discipline_name:Sa.discipline_name,sub_discipline_name:Sa.sub_discipline_name}):Sa.sub_discipline_id&&(Is=Jt(_t({},Is),{sub_discipline_id:Sa.sub_discipline_id}));const Ss=yield(0,ke.WO)(_t({id:Vn.pathId},Is));((Ss==null?void 0:Ss.status)===0||(Ss==null?void 0:Ss.status)===1)&&(Bs(),Ke.ZP.success("\u516C\u5F00\u7533\u8BF7\u5DF2\u63D0\u4EA4\uFF0C\u8BF7\u7B49\u5F85\u7BA1\u7406\u5458\u7684\u5BA1\u6838"))})})},Bs=()=>{oe({type:"pathsDetail/getPathsDetail",payload:{id:Vn.pathId,knowledge:!0}}),oe({type:"pathsDetail/getRightData",payload:{id:Vn.pathId}})},js=((Xe=(We=E.detail)==null?void 0:We.courses)==null?void 0:Xe.findIndex(Sa=>(Sa==null?void 0:Sa.course_id)===(vr==null?void 0:vr.course_id)))+1;return ur.createElement("section",null,ur.createElement("aside",{className:Te.banner,style:{backgroundImage:(at=(nt=(qe=E==null?void 0:E.detail)==null?void 0:qe.attachments)==null?void 0:nt[0])!=null&&at.url?`url(${(bt=(mt=(pt=E==null?void 0:E.detail)==null?void 0:pt.attachments)==null?void 0:mt[0])==null?void 0:bt.url})`:`url(${Un})`}},ur.createElement("aside",{className:Te.wrp},ur.createElement("div",{className:Te.name},(Ut=(jt=E.detail)==null?void 0:jt.name)==null?void 0:Ut.split(`
`)[0]),ur.createElement("div",{className:Te.content},ur.createElement("span",null,"\u77E5\u8BC6\u56FE\u8C31\uFF1A",(Kt=E==null?void 0:E.detail)==null?void 0:Kt.knowledge_count),ur.createElement("span",null,"\u6807\u7B7E\u8282\u70B9\uFF1A",(Qt=E==null?void 0:E.detail)==null?void 0:Qt.tag_count),ur.createElement("span",null,"\u8D44\u6E90\u8282\u70B9\uFF1A",(Vt=E==null?void 0:E.detail)==null?void 0:Vt.resource_count),((vn=E.detail)==null?void 0:vn.origin_subject_identifier)&&ur.createElement("div",{onClick:()=>{var Sa;window.open(`/paths/${(Sa=E.detail)==null?void 0:Sa.origin_subject_identifier}`)},className:Te.go},ur.createElement("img",{src:Kn,className:Te.goicon})," ",ur.createElement("div",{style:{cursor:"pointer"}},"\u524D\u5F80\u8BFE\u7A0B\u5B66\u4E60"))))),ur.createElement(Lt,null),wo.status&&ur.createElement(er,{type:"subject",onCancel:()=>Jo(!1),onOk:Sa=>{Jo(!1),Ta(Sa)}}),ur.createElement(Be.default,{open:ri,title:"\u8BFE\u7A0B\u516C\u544A",width:593,maskClosable:!1,onCancel:()=>{Cr(!1)},centered:!0,footer:ur.createElement("div",null,ur.createElement(we.ZP,{type:"primary",onClick:()=>{Cr(!1)}},"\u6211\u77E5\u9053\u4E86"))},ur.createElement(an.Z,{style:{maxHeight:378,overflow:"auto"},value:(kn=(wn=E==null?void 0:E.detail)==null?void 0:wn.toast)==null?void 0:kn.content})))};var Ht=(0,Ne.connect)(({pathsDetail:b,user:x,loading:E,globalSetting:z})=>({pathsDetail:b,user:x,globalSetting:z,loading:E.models.index}))(Pt),Mt=Oe(99313),hn=Oe(86766),rr={flex_box_center:"flex_box_center___gyNAa",flex_space_between:"flex_space_between___zekzh",flex_box_vertical_center:"flex_box_vertical_center___GQtHt",flex_box_center_end:"flex_box_center_end___P3hWY",flex_box_column:"flex_box_column___YRmML",bg:"bg___w3m29",wrap:"wrap___DQAaW",content:"content___ISSC7",wrapTabs:"wrapTabs___UH3jY",intro:"intro___GxOgI",introTitle:"introTitle___LyPY5"},Jn={flex_box_center:"flex_box_center___FSHWz",flex_space_between:"flex_space_between___xMj_8",flex_box_vertical_center:"flex_box_vertical_center___TftIO",flex_box_center_end:"flex_box_center_end___KM3sc",flex_box_column:"flex_box_column___o0txR",tabs:"tabs___kpTFv",activied:"activied___IE4FQ",tab:"tab___JSx4b",placeholder:"placeholder___xpvd2",content:"content___I7f9K",nametext:"nametext___E8ley",modal:"modal___oIdtc",mHead:"mHead___tmQjG",form:"form___q76Kb",mType:"mType___zss8M",dropdownst:"dropdownst___NZ0IN",dropnametext:"dropnametext___v6FZZ"},An={information:"information___cwV7S",body:"body___1JINN",title:"title___b5sMx",left:"left___yeFML",right:"right___uofAp",listWarp:"listWarp___mIMgF",li:"li___fF9zA",imgTitle:"imgTitle___HGcli",box:"box___pdLe8"},$n="data:image/png;base64,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",xr="data:image/png;base64,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",mr="data:image/png;base64,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",Qr="data:image/png;base64,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",di=Oe(10148),li=Oe(9792),Ai=Oe(92736),Io={token:{colorPrimary:"#1B8565",colorInfo:"#1B8565",colorLink:"#1B8565",borderRadius:2,fontSizeLG:14},components:{Radio:{radioSize:16,dotSize:6},Modal:{titleFontSize:16,titleColor:"#000"}}},bo=Oe(59301),Pi=({children:b,prefixCls:x="knowledgeGraph"})=>document.documentElement.style.fontSize!==""?bo.createElement(li.StyleProvider,{transformers:[(0,li.px2remTransformer)({rootValue:1})]},bo.createElement(Ai.ZP,{prefixCls:x,theme:Io},b)):bo.createElement(bo.Fragment,null,b),ao=Oe(59301),Jr=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())}),zi=({})=>{var b;const[x,E]=(0,Ue.useState)(!0),[z,te]=(0,Ue.useState)({}),re=(0,Ne.useSelector)(he=>he),{pathsDetail:{detail:oe}}=re;(0,Ue.useEffect)(()=>{oe!=null&&oe.id&&le()},[oe==null?void 0:oe.id]);const le=()=>Jr(void 0,null,function*(){te(oe),E(!1)});return ao.createElement(Pi,null,ao.createElement("div",{className:An.information},x&&ao.createElement(Xt.Z,{style:{width:"100%",marginTop:"300rem"},spinning:!0}),!x&&ao.createElement("div",{className:An.body},ao.createElement("div",{className:An.left},ao.createElement("div",{className:An.box,style:{marginBottom:"20rem"}},ao.createElement("img",{className:An.imgTitle,src:$n,style:{width:"453rem"}}),ao.createElement(an.Z,{value:(z==null?void 0:z.description)||""})),!!(z!=null&&z.learning_notes)&&ao.createElement("div",{className:An.box},ao.createElement("img",{className:An.imgTitle,src:mr,style:{width:"453rem"}}),ao.createElement(an.Z,{value:(z==null?void 0:z.learning_notes)||""}))),ao.createElement("div",{className:An.right},ao.createElement("img",{className:An.imgTitle,src:xr,style:{width:"323rem"}}),ao.createElement("div",{className:An.listWarp},(b=z==null?void 0:z.subject_members)==null?void 0:b.map(he=>ao.createElement("div",{key:he==null?void 0:he.login,className:An.li},ao.createElement("img",{src:`${di.Z.IMG_SERVER}/images/${he==null?void 0:he.avatar}`}),(he==null?void 0:he.role)===1&&ao.createElement("img",{src:Qr,style:{width:"68rem",position:"absolute",right:"-1rem",top:"-1rem"}}),ao.createElement("div",null,ao.createElement(Ce.Z,{title:he==null?void 0:he.username},ao.createElement("b",{className:"c-grey-333"},(0,ve.Pq)(he==null?void 0:he.username,7))),ao.createElement(Ce.Z,{title:he==null?void 0:he.school_name},ao.createElement("span",{className:"c-grey-999"},(0,ve.Pq)(he==null?void 0:he.school_name,7)))))))))))},It={exchange:"exchange___eh7R3",body:"body___oRT9t",liWarp:"liWarp___QSKqk",li:"li___qd10l",head:"head___X7rTk",btns:"btns___JOV8d",reply:"reply___FAse7",delete:"delete___cv2H_",praise:"praise___O_5sJ",active:"active____gfgF",num:"num___Vv9Co",secondWrap:"secondWrap___S4NT9",secondLi:"secondLi___KiwQK",secondHead:"secondHead___xyIHf",secondBtns:"secondBtns____BxwD",md:"md____p6F5",comment:"comment___YPf7o",addBtn:"addBtn___S8KeD",pagination:"pagination___iRtcm"},Yo=Oe(25700),ko=Oe(92310),Fr=Oe.n(ko),Bi=Oe(23469),Fi={md:"md___NMHUA",dark:"dark___hYBxG"},Qi=Oe(59301),ii=Object.defineProperty,Nt=Object.defineProperties,De=Object.getOwnPropertyDescriptors,He=Object.getOwnPropertySymbols,Re=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable,ft=(b,x,E)=>x in b?ii(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,Bt=(b,x)=>{for(var E in x||(x={}))Re.call(x,E)&&ft(b,E,x[E]);if(He)for(var E of He(x))et.call(x,E)&&ft(b,E,x[E]);return b},Ct=(b,x)=>Nt(b,De(x)),rn=(b,x)=>{var E={};for(var z in b)Re.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&He)for(var z of He(b))x.indexOf(z)<0&&et.call(b,z)&&(E[z]=b[z]);return E},Gn=b=>{var x=b,{value:E,onChange:z,theme:te}=x,re=rn(x,["value","onChange","theme"]);const oe={dark:Fi.dark};return Qi.createElement(Pi,{prefixCls:"md"},Qi.createElement("div",{className:Fr()(Fi.md,oe[te])},Qi.createElement(Bi.Z,Ct(Bt({},re),{defaultValue:E,onChange:(le,he)=>{console.log("a:",le,he),he!=null&&he.length?z(le,he):z(le)}}))))},Sn={noData:"noData___Luxe1"},cn="data:image/png;base64,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",Yn=Oe(86902),ir=Oe(59301),On=({style:b={},className:x,text:E="\u6682\u65E0\u6570\u636E",textColor:z="#666",buttonText:te,buttonTexttow:re,ontwoClick:oe,onClick:le})=>ir.createElement("div",{className:Fr()(Sn.noData,x),style:b},ir.createElement("img",{src:cn}),!!E&&ir.createElement("span",{style:{color:z}},E),ir.createElement("span",{style:{display:"flex"}},!!te&&ir.createElement("div",{onClick:le},te),!!re&&ir.createElement("div",{style:{marginLeft:"20rem",display:"flex",alignItems:"center",justifyContent:"center"},onClick:oe},re," ",ir.createElement(Ce.Z,{title:"\u6839\u636E\u65E7\u7248\u77E5\u8BC6\u56FE\u8C31\u5185\u5BB9\u6216\u8BFE\u7A0B\u7AE0\u8282\u53CA\u8D44\u6E90\u5185\u5BB9\u81EA\u52A8\u751F\u6210\u77E5\u8BC6\u56FE\u8C31"},ir.createElement(Yn.Z,{style:{color:"#fff",marginLeft:5,marginTop:0}}))))),dn=Oe(59301),Bn=Object.defineProperty,tr=Object.getOwnPropertySymbols,hr=Object.prototype.hasOwnProperty,pr=Object.prototype.propertyIsEnumerable,Mr=(b,x,E)=>x in b?Bn(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,gr=(b,x)=>{for(var E in x||(x={}))hr.call(x,E)&&Mr(b,E,x[E]);if(tr)for(var E of tr(x))pr.call(x,E)&&Mr(b,E,x[E]);return b},Nr=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())});const Kr=({type:b,onEnter:x})=>{const[E,z]=(0,Ue.useState)("");return dn.createElement("div",{className:It.comment},dn.createElement(Gn,{theme:"dark",height:b===1?"264rem":"134rem",value:E,onChange:te=>z(te)}),dn.createElement(we.ZP,{size:"large",shape:"round",onClick:()=>x(E,b),type:"primary",style:{width:"100rem",marginBottom:"12rem",float:"right"}},"\u53D1\u9001"),dn.createElement("div",{style:{clear:"both"}}))};var br=({})=>{const b=(0,Ne.useParams)(),[x,E]=(0,Ue.useState)(!0),[z,te]=(0,Ue.useState)({page:1}),[re,oe]=(0,Ue.useState)(0),[le,he]=(0,Ue.useState)(!1),[ge,Ae]=(0,Ue.useState)([]);(0,Ue.useEffect)(()=>{Pe(z)},[]);const Pe=at=>Nr(void 0,null,function*(){E(!0);const pt=yield(0,kt.ZP)(`/api/paths/${b==null?void 0:b.pathId}/discusses.json`,{method:"get",params:at});pt!=null&&pt.comments&&(Ae(pt==null?void 0:pt.comments),oe(pt==null?void 0:pt.disscuss_count)),E(!1)}),We=(at,pt)=>Nr(void 0,null,function*(){E(!0);const mt=yield(0,kt.ZP)(`/api/paths/${b==null?void 0:b.pathId}/post_discuss.json`,{method:"post",body:{content:at}});(mt==null?void 0:mt.status)===0&&(z.page=pt===1?1:z.page,te(gr({},z)),Pe(z),he(!1))}),Xe=(at,pt)=>Nr(void 0,null,function*(){E(!0);const mt=yield(0,kt.ZP)(`/api/discusses/${le}/reply.json`,{method:"post",body:{container_type:"Shixun",content:at}});mt!=null&&mt.discuss&&(he(!1),Pe(z))}),qe=(at,pt)=>Nr(void 0,null,function*(){E(!0);const mt=yield(0,kt.ZP)(`/api/discusses/${at}/plus.json`,{method:"post",body:{container_type:"Discuss",type:pt}});(mt==null?void 0:mt.status)!==-1&&Pe(z)}),nt=(at,pt)=>Nr(void 0,null,function*(){E(!0);const mt=yield(0,kt.ZP)(`/api/discusses/${at}.json`,{method:"delete",body:{}});(mt==null?void 0:mt.status)===1&&(z.page=pt===1&&ge.length===1&&z.page!==1?z.page-1:z.page,te(gr({},z)),Pe(z))});return dn.createElement(Pi,null,dn.createElement(dn.Fragment,null,dn.createElement("span",{className:"relative",style:{float:"right"}},dn.createElement("div",{className:It.addBtn,onClick:()=>he(!0)},"\u53D1\u5E03\u8BA8\u8BBA")),dn.createElement("div",{className:It.exchange},dn.createElement("div",{className:It.body},dn.createElement(Xt.Z,{spinning:x},le===!0&&dn.createElement(Kr,{type:1,onEnter:We}),re?dn.createElement(dn.Fragment,null,dn.createElement("div",{className:It.liWarp},ge==null?void 0:ge.map(at=>{var pt,mt,bt,jt;return dn.createElement("div",{key:at==null?void 0:at.id,className:It.li},dn.createElement("img",{src:`${di.Z.IMG_SERVER}/images/${(pt=at==null?void 0:at.author)==null?void 0:pt.image_url}`}),dn.createElement("aside",{style:{flex:1}},dn.createElement("div",{className:It.head},dn.createElement("b",null,(mt=at==null?void 0:at.author)==null?void 0:mt.name),dn.createElement("span",null,at==null?void 0:at.time),dn.createElement("div",{className:It.btns},dn.createElement(Ce.Z,{placement:"top",title:"\u56DE\u590D",color:"#434B64"},dn.createElement("div",{onClick:()=>he(at.id),className:It.reply},dn.createElement("i",{className:"iconfont icon-a-huifupinglun"}))),(at==null?void 0:at.manage)&&dn.createElement(Ce.Z,{placement:"top",title:"\u5220\u9664\u8BA8\u8BBA",color:"#434B64"},dn.createElement("div",{onClick:()=>nt(at.id,1),className:It.delete},dn.createElement("i",{className:"iconfont icon-shanchu17"}))),dn.createElement(Ce.Z,{placement:"top",title:"\u70B9\u8D5E",color:"#434B64"},dn.createElement("div",{onClick:()=>qe(at==null?void 0:at.id,at!=null&&at.user_praise?0:1),className:Fr()(It.praise,(at==null?void 0:at.user_praise)&&It.active)},dn.createElement("i",{className:"iconfont icon-dianzan7"}))),!!(at!=null&&at.praise_count)&&dn.createElement("aside",{className:It.num},at==null?void 0:at.praise_count))),dn.createElement(an.Z,{className:It.md,value:(at==null?void 0:at.content)||""}),!!((bt=at==null?void 0:at.children)!=null&&bt.length)&&dn.createElement("div",{className:It.secondWrap},(jt=at==null?void 0:at.children)==null?void 0:jt.map(Ut=>{var Kt;return dn.createElement("div",{className:It.secondLi},dn.createElement("div",{className:It.secondHead},dn.createElement("b",null,(Kt=Ut==null?void 0:Ut.author)==null?void 0:Kt.name),dn.createElement("span",null,Ut==null?void 0:Ut.time),dn.createElement("div",{className:It.secondBtns},(Ut==null?void 0:Ut.manage)&&dn.createElement(Ce.Z,{placement:"top",title:"\u5220\u9664\u8BA8\u8BBA",color:"#434B64"},dn.createElement("div",{onClick:()=>nt(Ut.id,2),className:It.secondDelete},dn.createElement("i",{className:"iconfont icon-shanchu17"}))))),dn.createElement(an.Z,{className:It.md,value:(Ut==null?void 0:Ut.content)||""}))})),le===at.id&&dn.createElement(Kr,{type:2,onEnter:Xe})))})),dn.createElement("div",{className:It.pagination},dn.createElement(Yo.Z,{onChange:at=>{z.page=at,te(gr({},z)),Pe(z)},total:re,current:z==null?void 0:z.page,pageSize:10,hideOnSinglePage:!0,showSizeChanger:!1,showQuickJumper:!1,style:{marginTop:"20rem",marginBottom:"40rem"},showTotal:at=>dn.createElement("span",{style:{marginLeft:"10rem",color:"#fff"}},"\u5171",dn.createElement("span",{style:{color:"#37AD83",margin:"0 5rem"}},at),"\u6761\u6570\u636E")}))):!le&&dn.createElement(On,{textColor:"#fff",style:{visibility:x?"hidden":"visible"}}))))))},ui={learning:"learning___axerA",body:"body___xn5Fa",tabs:"tabs___C2Adc",name:"name___VKGdS",tabWrap:"tabWrap___EnXyi",tab:"tab___EBO0d",active:"active___XXAsu",head:"head___XDru2",numerical:"numerical___APDFZ",action:"action___V6i8x",studentHead:"studentHead___I1em7",headLi:"headLi___UsDfK",btn:"btn___SXQTV",addBtn:"addBtn___oYSpZ"},gi="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABDCAYAAAALU4KYAAAAAXNSR0IArs4c6QAAGrRJREFUeF7NfFmMXceZ3vdX1dnu0rf3ZjebFElRG9siTTUtavF4qPGi2GNjJkaoPAwmT1mQBHkJkLwkiGgjQIDBPATIvIwRPwUIMmIw8YwdK7HhUc+MR0tEikPKTVFki2uz2ft2l7NW/XGde2/zkmwusluYPiTQ55yqU8tX//5XXcJncTHTZ9HslrVJxFvV1tZPlJmOA+LkyQcM8TiAiYm872MAqhfLVH6yujEp+3y649nWsddm9dq9nO4ZN+3748eBB/b/GultDSAA2TlAC8BEx4vx06CXKhDV6atUHt3DU62y/fsBtB9a7zbKOr7f7N1/WTttMD6+KWXd3T+Isu0L4AkWY8eh2gOc7BjpWOt+twsaa8xt1GkoQYU+szH5xpKgQtbxbMs7njHUbMjWazf/E3cgnUqQt9Hux95v1v/kGFJga9j4s2BhsX8Kjh18Ng1So81JdV4DPsTXCnCWt4oMAHy4jmQ6u7Ov+/U/tR8JtkgOfiYAjk7Dw40OdHYBnc+9+yC+nK57nuEc3LhG+TgqAKJSFwNr+VNcW+9436x7d31b014/mw7j5fJQUw7e1d/dz9MvItq+AL7BcuSL8DYjLr0AkgPgveuQX6rUfNTuQ4Il4L5lnZ901HsnKYUXe7ChSB7U/8wwwu0LILMcO49gfpMZ9K4s0nJPPx/yIZ+XjUJLkm1S0xY1Ot4/7Bn4v4uycS3SOYBDPf28Wf+DAOz7hQOob1sAj73F6tYwgqWO6fe17ku1FWFv9w31yEMiLG6ZCAyBv47T+qLfpbGyglqpx2zWf7u/j59CbVsDeH03ili5F56hZD03b3YMCvV8UeUUGFtlE4OK3m0FUI/jDdmsPI+tPGjWi6n9bL9t1muWnl2sVBeT9ZwC54YskPdfnsvjWN++ADKrq1dhpdPGZaogUQYPOpCFepUGXKEOKl22oCh0aM42Uq0vswSk3NvlGUD31G/VPbvetb6iq0YWy/xJijsM5Xb/7QFd3YO1bQvg+Cl25gKUN1v/3R5UENZpp1tUu72kC0g+HRfb6u7mn5yLxFqkCpnVS9djPNBQnj6JVZygByqcRx3YlpsxFsDZIrrsAFiAUG0OhYrgJ3w4OmzQDi92noZb0U7TNNEpkWzddw78Ud/rNKVLxl9ZSFnLoMAXl6oZFct8d//ttm/+yS8ZfNsCyOzcnEL3Zit4wDTpp48j93E/6kZqH++kQqGcDXvPZOnGAjffpwAcdL5v93Mu9ZcbKWvhB3xePJi0Z/djCbRNKXBskt1Fb3MAn41C306wgtjb6+ruHI+NK7XYIHDLXxRE3yDQQQA9YLZRhouG+adJFv9YJ4nOKyKF0/xj7/BRKpZi5WcRgAthPaGgeI8HxNb6C8Bzj2NxWwM4D/RuRoGHsyiIPGDIJfexuN4rlNqYJDleT+C73xVER+4nfxi4GifRv8ui5PLdQm6KvMXVjLVV1+cdPyK+14Vst7twAPPbFsD9l9hbraIP/u0JWIOvLkBHRezD81DixBuN47Z5CM+TFT8I/hignXeD5xDwlAd8FKGtWutRFP2LOAov22hEE0iF6WJ5Pg5jXWPwx8aLQnNX/x0NLz6DuW0NYGTQ3x5vGDbvmEDjZj2wAPYi9UYc9DFp6QulgmLhOwR6YTPKq0jgH/cADQP891Vgrak7b8ZR458nOo21kak2Sl+Ps4WadDLhgn9R9yJqLWC7/862lw7h1rYFcM9b7K+PNgEMWqPmCGQf9lEc7DS61EOmu2x0jyaR+r77lO96f/Ags8En4HgFKAnge8tNStRG/9F6vf6/pSBHGa2qwl9a0qY6Iwq1KUYUMbiz/6iDI5b3Y2ZbAxgPwLqdd1wHVNK9F0l/lUQ11dA7He63DNhdKv0rR8hvPgjAfDEI+Jd9wF/UgQ9CgBmTi9W1f93+7opRc12Z8HxPF6+ntDipi+1AzT1N3zqPm9iiqPSW24F7rrAfRdjROepn3UY/tJNlKaeWlbtE5u8kDNg6Q13BfxaCnnwYgLb8m2WgIIA3mtAkt6qN320Lxmvk3GpknFnl4VLm2X7OobDhEncqlVu/wPS2BXD0bQ7S3g4ABehwEo6cMcHMk25Scl0XpTAMdrjZYJYBu3vL3yPcCfj9wDwcNBXK/1ht1phbr/3DKONcyl7P5C1TLCRJkuDjlOvPkxl+XwU3N2tr7hyub18Ab3CQhhhuD5zjmMYVj14gf3ZYp4HrAKUoCvoVhoQE7a6U/lAQ7XsUCuysw0B2a732e4nhlBlmRqtbITg1yjFz5CRPZNHAaeVP3/FNjJzj5j/C1W0NYLyOO8wRR0KOxfVRV7IxSia9gnsKmvshtB4sFf+Rp+RXPi2A2vDF6fX668SkjE5V6Dmzq5momkYSpFKaC3BupsrbNPu2cABXQFuTmdtyGThyigtJEaNtmcMJyEacntSNyijM7tRokTK4DFEEOBko+/v7i+53Py2AtST9r7fW45+AIXWa+VWhqlJAegrZJXjXbrCzbtts928NbGpFdhaeweXtC+AMF7COXZ0e7jNZ2J9opR2V2ZQ7dbEuVDTvTtPMTkk+vaP8TzxHHX5UEFNjbl2cWf0DzZSQEplSIp4TdCWGTIgVS0F54HaS1O28lY2dta7Fg5jatgAOneViJrC7PVhHgA4g2nEe/uw+N6twBiqZLOgzyQhgQBDsSOXv6wtOiE08kbtBZeb6dDX6D+uJmWPoDQ5aEO6NCMpGH/hybNafccyOc8afsd/fHbJY+hwubmsASeGx9sSTNKExpKOXlTs7iqysNJEndNDHZoSNJklSgkj6DpVGK4Xf9yQduh8lZoavzVTj79fibAECBoa1tiiy4EUlb8QZUi2VWcy4MSKTgYuiON3JCe1Q4uw8LuKVrUmub7kMtBQIB3s7QXAExN60sYs1yPVkUmbT42k9BIbWBhrMGso6F8Dh4fIfW+e2KADrB9v0ejNQD1yvJv9+JYxv5bLNQAgmKQSUIYhIyFtVI9ZgtJ+R1Ndcbzo1m2fp5uZwYdsCODDJJWI8ns+4FW6ytzso69pJ8d4ss7oX8HXaJZRKhOXjXGLloNAXhkt/5BDUvx1A+zW+vwLMpMDUcnRiNc1yANvQGECwgdOQtCYJUkmZ3mB1ZQGq1tl/53jmFzC5bQHsv8BlMJ7sjPWNqriXIC2dkQSowKYQpNFeNuxohiBjiIVgsOFje3r+o6XAXtn0OlIG5lqxq18s1v9wsZYtEhsB0URdkNAkdLrqBpc0pA0WspJAImFmYtU0uTsW0j4uPouzW7U/ZstZuPcSd7kJnu6IldJu6KGZzMyPCtNnDTNPUFBO0lGZE8/t1AQD9PJw8bu+QPnf9AOyNbrvLwMzGXBqvnGikfGaVRRtEWGploTgNSmvWRtTc8Yz5K3sEnrwipaznaJEAVbw8VKIMzhCd4RzH9UCuLvelgPYc4orjtexv0cBO00yMktifoCpW2hNnkBQTNNRNPPgd1xjA8FXBnz1arcEPGpGXpY0uJqYD0/N1v9b5xctzs+/Xw8KVzOtUyOkWWauDhD13WTZZPeNbUzNAOJ8jPe3LYDdZ7jbkbDh+OYlwdJA7uBkhIhkCq4HQCGwAFrqyxFpQSHss8BjFfeJbk/sk4BjwKaamJnL1fQs6xbl2Xrtb1qIVn3nqmGZqMyUteR0ltwZzTC2/7sXaSHEu9sWwMo57nFcfP7uxCJTRjuzbJcyZHPGjmt0tyDY/VS8AQebnCM64Nlg8E5qA4nboBDIaKhUymUmaE1i/abvTD8osbk4hp+DtikLd01yb0B4LteqGqRbFMA6E8NMeaBVaFMMMv2YNqmyOkSwIcOwRonFjoltulMw8keLaA4fMTGBbQHs3xxsIhgSlDUc5xMSItZC8zKLJZLKdPbfHo/9Oyzwl5Nj9CmT0ptLyS2XgaM3uDdex/ObdEf9pPut8yEzU/B1uuEvt+tyExQLk1XMBPsvR8mmmJlb/jVTDmOLCk2TahuOc81IkWg2vCKcRbsQm08ZNtr7F9sWwJ0fcV+c4cVOGdikIohuTgfs5hilTcHNzKjFiokEkZDERjEJkZsoFjJrprQ1hn1j8gdmEobYGCZknHshTUUeu/KaJqSGYHIA21m5ThmoQVYmDjF+um0BHPmY++MML9+z+gTqztJBy5oOc8VN070slbITFWwyG9/LASGY3Lixcq4lE5ttCQsrGEYS2z3YQhE19asxSJPAmcrAdVtlRcjbAG5Chj0u/s/UE9QRXrgfrT78/Zaz8I5LPGBifOnuvK0kUI82QwHMDoLoSZPUJZjQgpaDk1NZi2U7FPPGFO60X9iiZj9hEpKBwHOdOIVZCVnMrikxrzfJC7fToL0efrRtARya4kET56cXckCEgFQMRwmobjbPKKBouTGKU85Vg2i6cPYfGZB9mSuJnGFzZm6ZLDm63NLAOYAkwE3OBnxPWQEADVNbgvrIENKMYLemN2tYg1I05WLFxZ9tLwCZ6dgE5MBuFK8ajM6n+M18cvk0YYyBFoDqM/o5IUgRIONYy4xBlEOW75Hm5n+rQ1r3d3CQ1RwWZlvcVMC5SGQygmA8T1pFrtkgWVTyTN6ngFIGvpWNdjWZhTXds/4Mf3LuIBpbscXtV2Rhpn96CioqoksRvMxOSyLlBPJsllQWSR1zhcg3UHoCFY/QldMBQ0qje1mQsaZKkhmjDdt/1hY01mppGiqbyB5bZrV0U8VAMAvKg2FCKAl73kFQblhihYSwEoRTY2qxEOs2ZxJrhHZJpRTOsy5+sMuBThicCMQzl1GdeMXS6Kc/+vApAGQ69ha8PXvQrTKomJDIKpJEgqKk4UvDLHuLzrUYw7PAV3wyFatdY8ZqohG5hEADKZERrjGDxFSwgDSxMrChrDa3tS3pnPdaLNqKHbRoVUDke11bSBuDTKCeCTlPKtfSTsYidIQpKIOKIZEmjDUGEiPAT2n8zx5CLZ1fNb3D3TpVCEjDSRNkqz5W33zC7u56NDAfCuDxN1jiMHr9GAE0ohtdWO+K4aDRKHswKbySdbBKnkBqMkRzDl6+aczXGiSmG4zVMplBB6K0anDdTjdr7lGzm9SKjjbdLlCRds+UyTVqS/YZKxPvsuNyLWPNmzxqAxaZJg4TiLVUYjWFqNt2FeBYUqpIjMTGrIQQ6yU2vT5hZwZRrRvMjTF+2CPCDEGwljE8PwTV4lvVYQynKxV0ywi+q9DY9zRWTjxkG9x9AbSbxQd6wiFZCkR9FUvVKhIr45JG2OUKkwLFZaRhnhw/+YPg1re+iV7f00eXCeVzQvZZ7aoMShVhHq8ZXI+kWBUMux3rniiINZwV4JIxnuQ8jqqapoqF0YIprN1n5Vtm5RmTiDOJZLMdWGT9ZxvqprYb0xQHts1uwn5iIwek+E8j5zCnn8KwVMhOjtEdURtb//fPcjEVYa8uBSnex8LJ++xkuBdAZvr7n2BAEXxEmD05RoltbE03KqkksVpfWnrnpV3htz8IH5Nedenk2GDt+CS7GbLfMpkp3QjcyWspvpxTgzHlMvNeDYrrUlzTyCctrTZkbe0QYVXrbUpruWf36o7WG1u+eX1rgFvb0MrQXP7dI0UJrAzKFTL7n9T8pyOJ/On3jlD6e5e4qxaFlT97ttB5NGjj869fYq8UYwhJLTz5XGnxbta+A0ALhNHxqJDe/Mkxqlkld/w8eupxVI4THf3shdKcbfl3z3A3JVX5v4525VsnXj1VH/aVesGQFjHogzOO/1sazY3mBWOGHUZfLuGYqjGwmskmu+WmsXXFpA3di6YIzE2N/OYuEKyP0fJQbGnLhTO2noIxuT3ZvCzpbpYQDozp7zKmuB/mL4nSd//82eZ8vv5BdQDlUvzmE5SnQje7LND1DL036rh5uiOWuAHgt2w6cgFD4wdxrc33v32Oe0iE5TjhLF37f/MTr7yS28ffPtsY/dNDhY2s/6tvr/WKwP+SlXBsFM0omrmpnKOWnXKgtLGnGKwbVxAGwgiLJcWGERkSkSaTshCp0TY/YqwWzsFr6g+R54+aV24kWnNPEoxj2T0lhIZE56mcTQFwjOkpEgZHtP55QZtVn7y/+sFhyiPWx5llfKYx9OfPFfMs3v0uK9bKw9Euf9mfPfkS5VtKcgDtttx9Ejt/+DRdaX98/G0OskGU6/UakuWwMfHK4MbBrC+/WxvSYaO+8Y6Z/t7fNo4YkkMi5ZrxZHWJoWaF81wk8w3nOSA2T2TlojSmJBg+wE5Ohe1Dl02r1wYLmoi1DwTmcQQ71tyKyY1utktgbfBcStJarMRsJxW25kGKUfbYDPgwtYE0+6AIU4fBjZ+MF0+35/r1d7lLKbg/PEI2CPHgi5m+dQ57ZlJMW0rMAfzW2XDv+EF/g/LsO0t9IoFs6Cqv/u3F9dP/7Mht4X+CxVd/J348XfWuTLTTg8xi7Px5NTk2thEmOnZmpXtZe0+tee7nEsgdaZ4YgW5TmKUignCs2SENHOvbkmFlg/R5VMZKtHyVLX5sg1wGgjLNyEjkyiTVjKQl93LPh6zxDFOUBmWXIX1j5rqQXS5lZoWkbdC51n3J+bCtFCzxjFTjx3561LPJ9g55zHR8ErvqEr6JoqRary39zRcH8jMH9iTCUAEjPz5A1+jYW+wXBtH940000YOWwjbSK+M9quTNPUh2tNs49haXlsrJaCTFrox5WEvZkwIFFvC0gGLOFUrT3G6GAJtecvvothVqzeCC1cqCGErCuNJq7KbCYseYzAHqLnjVM7xYMKYqbGisGWtcUTK78JND5dYxOqbfPofuRMf9dxDCxqSZvn0JO1ODUqNeEzqj5YnnSxva+qsX6iPq8swSfe1sddBLS7UfHqGHypHNAP2NU/VhSbIYpt78e0dR/TTukV394XAlyIwbVIUqpkyBkZmfwXUEZ4pABZfE3tz+a4lBK/zIilGtMyVFIoyOpGGdmzSy5VdblIVi5jQ2RHOOKVz/2fNYzsd24oQ49juvdzmIB9I0q3aC0jk/a/+mh7En0lBxNUbseitvH6KNM4zHJrmEsOrT187y4FKK2ulfEcC8U+sLv18fMkaVtTJxhGDx9Pivf6T082e4u5w0jrVZ/o5oTd6xJcsmiVrFRMwJaVOVjCUpyws/u4bVfBvbCRbHjqOAJOrPEnKN762+fRAL911sZnr1I+xgiUoaxZwmSMu6vvjmC30bWjoHUMGnF9/mwKvUKxNjt8nzYXL0QeWWqrrjRr/hLPeFTepEQLj+3vXeOo63IXg0N+nZv17tKbvOSyYPD0ojODNQMkPGKQuOQSZURtVj1o1a2KhPLgyEOP8dPv7663RpYrVcLHtdpIVvN55r1vVVr7D40EAqM33lMrrcGN2hgI84ho5NY+nqlbnJ127L969+UB9J1+aXcyH9xfejfT8/4l3dqo3XnQC/eIOD7BYqxGsBsa/syUomN9MJa+GZpJHpBHFXMgBk1TJ0uXrbCK6WT9PafEV4j+1nPwTbsmoZ5F6eVssjvqo4nuuk0uOCcGBIJZwoLwYiMlnBcxpZUlh9p2VuPApRjM9woRzDVQZdWYYCasgaWXWlr7dce7MjAGvlf9GJRv/qUHAlB3DPW1f80b7hkZ8/69mNh1v2myr3HTQz7X9zyq04fb5XcDwm6SQ6kqkrpJNBuL5POrO7PlyYNCHhNBNNUnkm02y0ZO0qG70O0jhdidfml6Kpb+x/5ADAHeOyG+5OQrz6OQwuNrBW9NDHaVJmxVF4bXm2vG9YTFinon29wfKlffGetcC7Yal5w5Aem+RSJYyH3r7sbdn210dZ9b+zOvYoIsDHLuCxMKuHblo0UiV9mWGzTt7N3mXoq7iKq6/stafH8ssa0nFXvCdhb6atM+5w5ewO+6HVeJeqV2fbNs/f2QQ/g47H3mB38jWk46egCgGeyLA++87JrtXfeK0xpOumb13TApeLK0KvFT882N1xZJtp/BS6lIwHl0re9c5o9qbBhKPvhTs5IGe54M9sVeh7A48Tv1z5LTpq+gARIdry/KWzPPj2wfx0pj52iUfTRlyMUu/y6R9Bv/wPMJolSWlp1v1k6hsUHzzLxXOHKPfT25dVsokbj2SJic6+FMw8MJjQ+aFdLXc/hpVek4Yqs6d/9J0IJ078WoeUX5zk3no1LJx7oelHWy1bzSrh1VcoZxPLAVf3Nu/bLNP2dCz7TByDbsvoOyZrzairGJrY2wxLvXyBR+xvVvzNczTz8gUuG8aepI5PLNuNvTVfCnorexK4V3Kwftlu/stGnRsumz8eVPCieAcTp8L4lmU33Yz00ICqHfhKD4akjgNiXY8uX12aPH4g/bTKxh5CrITJk6cPeh/m6DDTkXPJ2KlD7mTTa2P6wtnkwPuf95o/NsRM4x8mT50+6F2wj+OneNgNEL8zRvm+5y98yLsiXqu1We35s+Feqfy1dvnh8/yYTqHPHaJpqzWB5PFy1Z3aAOpuTrCKbQpusR72I98A79XPrkzMoRVAuR+1PxTAzg+PvrvUlbiFHmJytPTCpQaWp6eR4DXrJzxYe1uK0Qpp2w6zSsuV6DrzNOURELtQ4RD2vneALrUBfO4XydMfPOt9ZJ/tAgRhvPPDg/7lvPwNlof3154681z5fHOMTIfeqz5x9mj5Unss46e4cvoI3efIVzP7cvAcfCcN+zIlfAo5CXv8pY+fptY5+/sKiY2CTwVgZ3Pjp7iQJWGPdoVv3wvHxI0wXB8NexsTCycZrx1/KKh3DK/1m1udhu7Rd7nrvRdux+ieusDlzslZUB9NRjPhjZNifN8+oeXjRam7uzIV+0269xoqu7Vy+sjIr+TK/soA3r02FtDI1Lscp+jHiB17LoM9TmWqo9jEDe96bzQwMGEmFhYY588zXn/dJjW3xua0ttx3QDgAOjYAmg6npBnc7zuiUXSV9MnmcJpRijQjHRZQWPu1XNeOyW8ZgJsRu5U9Wq4WY90dQESuNKQyBWlzIEgSCOUaqWGEwyatRSaVnk0WG+WykV7R1Gs12MPaRubZY8oUCS0LQjVWlaMCweRRpmJpMhJuChIFNmkIY6MI7JkkoKQhdXf9fgrg4Qz68BqfKYAP7z5XFnL/FFShAVVLV1TR7RFxUpVGEBVkM+Db0CUWpspOwiZ0tS45PVmjgGxqekI/TMg/0hh+jUr/HxQyzAyn02DWAAAAAElFTkSuQmCC",Zi="data:image/png;base64,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",nr="data:image/png;base64,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",xi="data:image/png;base64,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",Vi={chart:"chart___Rsr8z",group:"group___cEFV6",item:"item___uQIC1"},Gi=Object.defineProperty,Ao=Object.getOwnPropertySymbols,io=Object.prototype.hasOwnProperty,Do=Object.prototype.propertyIsEnumerable,Bo=(b,x,E)=>x in b?Gi(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,Ui=(b,x)=>{for(var E in x||(x={}))io.call(x,E)&&Bo(b,E,x[E]);if(Ao)for(var E of Ao(x))Do.call(x,E)&&Bo(b,E,x[E]);return b};const Xo=()=>`shadow-${Math.random().toString(36).slice(2,9)}`;var wa=({percentage:b,startAngle:x=270,strokeColor:E="#42BECD",trackColor:z="#e6e6e6",innerBackgroundColor:te="#fff",text:re="",textColor:oe="#000",textSize:le="1rem",textPadding:he="28rem",outerDiameter:ge,innerDiameter:Ae,maxTextLength:Pe=6,onClick:We,hoverEffect:Xe=!0,style:qe})=>{const[nt,at]=(0,Ue.useState)(0),[pt,mt]=(0,Ue.useState)(0),[bt,jt]=(0,Ue.useState)(!1),Ut=Tr=>{var ri,Cr;const yi=parseFloat(Tr),Co=parseFloat((Cr=(ri=document.documentElement)==null?void 0:ri.style)==null?void 0:Cr.fontSize);return yi*Co},Kt=()=>{at(Ut(ge)),mt(Ut(Ae))};(0,Ue.useEffect)(()=>(Kt(),window.addEventListener("resize",Kt),()=>window.removeEventListener("resize",Kt)),[ge,Ae]);const Qt=nt/2,Vt=pt/2,vn=(nt-pt)/2,wn=Qt-vn,kn=2*Math.PI*wn,Vn=kn-b/100*kn,vr=`rotate(${x} ${Qt} ${Qt})`,Or=((Tr,ri)=>ri&&Tr.length>ri?Tr.slice(0,ri-1)+"...":Tr)(re,Pe),qr=()=>{Xe&&jt(!0)},wr=()=>{jt(!1)},Sr=Ut("4rem");return Ue.createElement("svg",{width:nt,height:nt,viewBox:`0 0 ${nt} ${nt}`,xmlns:"http://www.w3.org/2000/svg",onClick:We,onMouseEnter:qr,onMouseLeave:wr,style:Ui({cursor:We?"pointer":"default"},qe)},Ue.createElement("circle",{cx:Qt,cy:Qt,r:Vt,fill:te}),Ue.createElement("circle",{cx:Qt,cy:Qt,r:wn,fill:"none",stroke:z,strokeWidth:vn}),Ue.createElement("circle",{cx:Qt,cy:Qt,r:wn,fill:"none",stroke:E,strokeWidth:vn,strokeDasharray:kn,strokeDashoffset:Vn,strokeLinecap:"round",transform:vr}),bt&&Ue.createElement("circle",{cx:Qt,cy:Qt,r:wn+vn/2,fill:"none",stroke:"#FA6400",strokeWidth:Ut("4rem")}),re&&Ue.createElement("foreignObject",{x:Qt-Vt,y:Qt-Vt,width:pt,height:pt},Ue.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center",padding:he}},Ue.createElement("b",{style:{color:oe,fontSize:le,textAlign:"center"},title:re},Or))))},Zr="data:image/png;base64,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",Ca="data:image/png;base64,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",ss="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAzQAAABkCAYAAABQFHUdAAAAAXNSR0IArs4c6QAAG39JREFUeF7t3XmYHGWdwPGq6p7unvuezJVMJuRgSAIEURQUgQcUhV0UZVniAa4HKiig++jzrOIiwUV9HhYUAosgi7CCoLABFK8VOQwIsoQjx+Qgmclk7iMzkzn6rn3eTDrT71s9V+btnup9vvMPdLrqV+/7+b31Vv2qq7rNG7ZcW2Ic+QuOBMzE/4v/hjwh6XVxcfK7hhEaCUvvhz3y+uEx+X2/JyItbxTI8SLjful9nyUvHwlGpfejlk96nZenxHMsL68fC8nrey35fSNXjhcL5Ujby7FicnvCSnwrLr0fCPilgNGwvH7MVF5H5NdeS96+4ZPbF1eW91heafvxiNwedXs+NV5UXj9myut71fYqyzvbJ6/vUXzipkdub1RePidH6a/yvrq+R2lvPCbHM7xyQPV9j2nL7VHjReX2zr998vYMr9LfmCW1Z8b2xeR4Xq8c0FY84kp/LVPenq3EU9unxrPUfCp+ajyPxyN12I7L7bfV9hlKfuJyew05nKHGswylf2r7lO0rzTPiyvZspT2W0l51+4YS0FLWj8VisoeSj/gM7VO97JgpjZ+5ts9U2jdTfmzFR/VTvdR4pjr+lP4alrx/OMbrDONH3Z7HkgM6/OKG5Geasqcjv472KeNZHT8zjBeleYat+BhKfx35spX9Q2mfurxhK+01lP7asoejfY7l5XjqeLdNOZ6hJNjZH2W+NKbPjzxaDMMx/mxl/1DiqeNBjWfO4GMo+486fpztk/tjK/lQt2co48fZPmW+c+RX9jSV/qd4Ke0Pzvap+ZR9He1Tx7+SD1vNr+KpxjNm2D9NZbzZSv5map+hzAe2sj3H/pRiwCT/kx2XfUzVY4Z8qP1Rx5ut7K+O8eNon7p/qfNdXDk+qfmWAzq3p8wvavsc41mZsBz5N3PMK5677FXHQOAfEEAAAQQQQAABBBBAAIEsEKCgyYIk0UQEEEAAAQQQQAABBBBILUBBw8hAAAEEEEAAAQQQQACBrBWgoMna1NFwBBBAAAEEEEAAAQQQoKBhDCCAAAIIIIAAAggggEDWClDQZG3qaDgCCCCAAAIIIIAAAghQ0DAGEEAAAQQQQAABBBBAIGsFKGiyNnU0HAEEEEAAAQQQQAABBChoGAMIIIAAAggggAACCCCQtQIUNFmbOhqOAAIIIIAAAggggAACFDSMAQQQQAABBBBAAAEEEMhaAQqarE0dDUcAAQQQQAABBBBAAAEKGsYAAggggAACCCCAAAIIZK0ABU3Wpo6GI4AAAggggAACCCCAAAUNYwABBBBAAAEEEEAAAQSyVoCCJmtTR8MRQAABBBBAAAEEEECAgoYxgAACCCCAAAIIIIAAAlkrQEGTtamj4QgggAACCCCAAAIIIEBBwxhAAAEEEEAAAQQQQACBrBWgoMna1NFwBBBAAAEEEEAAAQQQoKBhDCCAAAIIIIAAAggggEDWClDQZG3qaDgCCCCAAAIIIIAAAghQ0DAGEEAAAQQQQAABBBBAIGsFKGiyNnU0HAEEEEAAAQQQQAABBChoGAMIIIAAAggggAACCCCQtQIUNFmbOhqOAAIIIIAAAggggAACFDSMAQQQQAABBBBAAAEEEMhaAQqarE0dDUcAAQQQQAABBBBAAAEKGsYAAggggAACCCCAAAIIZK0ABU3Wpo6GI4AAAggggAACCCCAAAUNYwABBBBAAAEEEEAAAQSyVoCCJmtTR8MRQAABBBBAAAEEEECAgoYxgAACCCCAAAIIIIAAAlkrQEGTtamj4QgggAACCCCAAAIIIEBBwxhAAAEEEEAAAQQQQACBrBWgoMna1NFwBBBAAAEEEEAAAQQQoKBhDCCAAAIIIIAAAggggEDWClDQZG3qaDgCCCCAAAIIIIAAAghQ0DAGEEAAAQQQQAABBBBAIGsFKGiyNnU0HAEEEEAAAQQQQAABBChoGAMIIIAAAggggAACCCCQtQIUNFmbOhqOAAIIIIAAAggggAACFDSMAQQQQAABBBBAAAEEEMhaAQqarE0dDUcAAQQQQAABBBBAAAEKGsYAAggggAACCCCAAAIIZK3AMRc0uZ5c65zaD5QvyV+SW+ov8xmGaRqGnQwhvRBvyP8w+cq2J/7fNuIpIW3DPLLw5DpxO273h/rCrYf2jb3Q9ezBiB11bE9XVhoLlwVOLn9HcXVgUSDgzbMSce0jPbLtqdqtdPlwH5ObeaTfSavL709saSw2Fu0e7wy+0vPSUF+oL6KrX2ocj2kZp5S/s2hJwdK8Mn9ZjilSeuQvkaOpEjz5flL/zCOJTVopPsUQEevHjbjdF+wNvT20e2zncPNYuvop4hZ5i71ry08qqM6tCQQ8ASu5f4kcmGZi3BlG6v5PJi7l+6Yz/4fHuW0bo9GRaPtIW2j74NaRdI5dsb3FeUsCDUWNgXKf2E/F8HWO1+RMSWPwSB9S9S95n5bfn4wfteN2b7ArtHd4z9hQZDiWzpzmmF6zobAxUJNbG/Bb/sP7qZ2Ug8k+TrW/HtkfkzHmMAYORYajbSNtwb5Qb9r20YSfmH/r8pYEygNlOalMj3YhaR+Uc+ScLpNVEsua0voTW4rGI3bneGeoN9iT9n6K7eV5863a3PpAwOszJ48V0x5qjHjynJw8Bo52MvXhIn50Tp+IPxQ5GMlUP8X2CrwFnlKfnNPkeSietO+mnHOTWBJjwJbm4eTj7uTCkVjE7g+n99jy/upzyppK1hRWBioDOR7f5MFlquNiUopSHRflg2lSv44es+T9fCQ6EukKdgaf7/hz//7R1lC65qIyf7n37JpzK8Q8VOQrPrJ/Zu7cKBqP2r3B7tDOwZ0jr/S9NJSufoq4a0pPKjihdHVBpb8q4DuS0+RcpTo3stVTwUS+jh4uk3I5/bmRPRwZjnaOHgi+2PuXg2PRsdQTuwYAv+U3T6t6T4nIabG/xDvdedHUx8W5nxsl9vFIPBLvCXaFth/cOtI+1p62sSvaXpNX41tV1FSwKLfa77Vyjs65E/2a6EM6z40GwwOR9tEDwe2D20bnmrpjKmjq8ur9l6/47OL8nIKjiZ3rhnUuPxDqD9+/8962dEzIH66/sPL06jPLTUOaf3U2f9axIrGw/fsDT3e91LtZ+yRV7qvIWb/i03XiBH/WDUrjgs2DOw49sve/OsLxsPZC9fSq9xafW3f+Ir9n4qR3If/E2H285dGOfYf2BnW3I9+T77m48ZLq40tWF+qOPdd4Yuw+3/Vc7zOdfxiY67qzWf74kqa8Cxd/pKbUn/oEfzYxdC0jxu4TLY91D0eHorpiJuKIou28+g+Vv7vqjAqP6dEdfk7xxNj9deumrnRdfFiUW+37SMPHqsUFljk1TPPCoVgwvrn7hb5nO/9nIDbFxav5bvJdle8uOqvm3MrioyfA84049/VDsVD87eHdI0+1burROXZ9ls+8sumqhurcWlccW0Sx+8f233Y/3/XswbkrTb/GSWXrCj7a8PE6tWDTvZ3Zxts/0jL2n7vuadN9HBUXPz+x/Iq6VcVNC35sERajkZHYY/seaU/HXLSscHnuJY2X1hX5JguZ2frrXk5c9n2556X+p/Zv6tUdW8S7cPFFladVnV5umQt+amQcGGkd/+W+X3TM5SL+nAsaMTl9ZfXXGsv85b50gB5rzPbRA+N3N9/eqvOA846KUwsvXnpp3bG2KR3ricn4vl13t+g8ARaT0xeP/+rS2vw6VxxwEm5vDGwZfHTvQ106HcWJ76eW/9MSnTHnG2s8Ohb78dZ/36fzJEK06bMrr1y8rGh5/nzbp3P9Pxz4bfdzXc9oPZEQn0B9vunLSxf6BD/ZqTfYE9q47dYW3Z++rT/u0zWrS9cW68zJfGM9uOe+/c2DO7R+oloVqMr5UtNXG30uuOiQ8BGF6oN77mufr5e6/kVLPlr1rqrTy3THPdZ4weh4/D+a79in65Opjy29tPqUilNLjrU96VgvZseMe5vvatk/2qrtQpL4ZObqE65d5vcEFv5sMAnt9f7XBn+572Gtx9ELFl9Uefqi95anIzfHGjMdx1HxielXV3+90S0X7xM2vz/wG+0F+VnV55SdV/+hqmP1T8d6PeNdoY3bbmuJGrFZXdiec0FzQsma/E8sv3xxOho/35j37NjY0jLaom2CuqrpWted5Asj3QfWNaVr8y877tOuzOktb31/z0CoX9uV7qubrltak++OK4XJ4/1vvS8f3NT6q+757gOJ9VeXrMlf78L9NBaP2d/bcsPukB3UdnvAVU3XNtTm1+XqstMV55mOP/b8qUPfJ1JuLMaF1UhkJPqDN27ck7hdS4fflcdfvWRJQcOCfjKTqh/iKvBr/a8e0tFHEWN50Yrcz6z8QoOueLriiAuEd+74Uet841mGaVy/bsNKNxWmiT7pnnPPrflA+dl151XO10z3+uIi6IYt1+/U9SmNuAB6/ckbVrnlU6hkr+e7nun9/YHf9usyPK/ug+Xik1Nd8XTFERcdNrz+nV264rk5p+IugJd6Nw/Opq9zLmjcmmDR2afbnura3P38rDo+E46YiG845eZVHsuz8PeaKY0dCg9Gfvjm996eqQ+zff/8+gsq3ld9VsVsl8/kcjpPIMTtOtefctMqN13JT1h2jXcEb992a4suW3Gr5BnV73fVFbRE3x7Y9dP9um4NEJ8Yf3vdja7M6d7hPaM/3XV3m66cuvGqaKJvd2y/dW/nWEdYR19FTq9ft2GVG257UPuzdeDNoYf3Ptipo58ihrjF4z0uu9Kd6NvNr9+4eyR6aF7PvVX4K3OuW/uN43R56Ywjbse6u3njfl0xP3Hc5bUnlK4p0hVPZ5x7d96l7a6Omrxa39UnXLdMZ/t0xdo1tHPkZ7vvPaAr3uUrPle/snhVga54OuP8eNste7vHu7TMuUvyG/xXNl3dqLN9umK92b9l6JF9D81qzp1zQePG27AScA/t+VnbtsGtc36QaCr4b574reVuuG9SbV/HaHtw447btJ38nll9VukH6y9YpGsA6ozz8z33tx3Lw2Gp2jBxFeLGVTkev+uK1I7R9vGNO26b9xXRRL8/vPjvKs5YdKYri9QHd9/X1jy0Q8t+Kh6O/9a67650wzNu6pg7MNI2flfzj7Xl1I237iT6fP+ue/fvHt6p5bYz8Tzf1078pitPgsWX0Pxk553aToI/ueKK2qbi1f9vT4LdfOVX9y3Nbr7g8IPXb9qj65Zm8SUd3zr5hpU6j/O6Yum+ve4flq2vPqlsnatul0xY/fCNDbt1fdFOlX+R75q1/+zKIvW1vlcHH2t5ZFa3TM65oCnKKfRcu+abx7nhgerknWA8Oh6/5a2b94zHxrXdynJJ42XVJ5ef4rrBvLn7+b6n257q0zUJ1ObW+b+8+ppGt50UigfJf/DmTbt15vTzq760eGnhMlc9VyLy+NeezVof9HPrraHi9od/e/2GXTpzet2abyyrCFS66pk+kdOXu18ceLLtv3t07aenVZ5e/PcNH63RFU9XHPHNNzdt+c6uYEzfbYTfPvm7K3K9eQv7rQcpgP7avXngqbZN2nLq1tuUxMPHG177zs5QPDSre9enG0tu/eTi4bcfaNt68C0tF1ZE/xsLluV+7vgvue72QfEcwo+23bJP1/4u4rj1dvxf7ftF+5b+/9V2S+g7Kt5VdPHSS2p12umIJb6Q5Za3vr9XR6xEjH856V+Xu+1ZIdG2TS2/7Phb3yvDs+nrnAsaEdSNSX707Z+3v3HwdW0DWfRTXP39yuqvNy7kN8+oSRRfa3zHtttaIrbeb/9y460POm8hTDhW59b4vnj81Y1uuv93ODwYvX37rXt1f+3kZ1Z+oX550QpXfVyu+x5nkdfVJScWrF/+qfrZTHiZWkY8oHrH9lv3DYYHtT3/5dYvZNH9LILIkRtP9MUFlruab9+n6zYP0U/xIPlVTdcsC3hzXfUg+baBt4Yf2vtAh479Jc+bZ3256ZpGN3wDYaI/r/X97eBjLY9qe2YxEddtn9KIMfuT5jtbOsb1ftWvG4+ju4aaD/1s90+1f2nHZ1d9oX5ZoXuOo+Jiw/277m3dM7x7XMf+mYghvoL7suM+6arj6P6R1rF7mjfun+3zmcdU0AgA8TDj+XUXLqrOrw6Yh3/bYmH+xNWH37Q92aU7uYneFHgLPRc1XLyoqfSEooXsp2iPuJfw1/uf6BmNjc7rvuZUmRLPDL2v+uzSs2vOqVroW7LGo+OxP7b/rufl3he1fz216Lv4GsaLGi6uccNVfXFb0uOtj3bqPElK5FecSHxkycerV5etXfBbWsS3Cr3S81L/021P9s52cprLjHLGojNLzq39QJUbHj4eCg9FHm95pCMdc5L4jYB/XPapuopApX8uPuladufQjkMP73mgQ/e3uYn2Xtq4vubE8nWu+Ea3SCxkP7l/U4fOLwRIPpH42NJLat0wdkWbuse7gvc037lf56eo4nc8Plj34cpVpU2FJb7SlL+dlK4xmogrPkkcCPaHX+j6c99sr/geS5vEb7mdU3tuxcTv8y3MnzjpbT3UMvpEy+PdPaFuLc9ZqD0RRc1FDRcv+Neqiy+aebHnL/1/av9dfzrmIXEh6UP1F1S+s+rdZQt9DngwNBD5ddumTt3fKpnI7SnlpxaeX39BdX5OwYJ/Or794NbhJ1of6x6Jjsz6fPeYC5oEgEh2hb/SJ36EMfFDjFZSgWPbtuN5heQfbBQn0ok/05qhMLInFjZNS/wIp9011hnWOelON/XkmD6zLq/Wn5eTryQ6qf1JARJ9tO2kX6dM8b7c46RYSasdihyKtY8cCOn8Zqip+ir6WV9Q76/wV/iE8+G/I31I3ZPDGTm8mJRL+Uc5nWMgKdeJW93i8ZjdNd4Zbh87ENT1jSxT9VPc2y2+7rcmry6QK10dncxIogvmkXF3uKfW9I/fJN+2N90YED+s2TF2IKjz67en6qv43aiGwsbccn95jpk0HlPnM6n/ib5K+7Cz/1Puz6ZhiB/W7B7tDL99aPdoT5p/iLHEV+JtKl5dUJtf5/dZfkv5YdijDU/kKPn9VHbJuU4eAxM/Tir/Ccvh8HC0c6wjuKX/1eF0jl8xdk+tOK14ccHiQHFO2cTcO0XyJ8fg5CLJy6Y2mFxicp+enMdjRjzeM94d3jXUPKLr+bapxu6qoqa8teVrCyv91QGfJ8cBf3SOOjwLzfho3MTxI/mYM/WkdrhJh8LDh3/U+IXu5wYGQgPaPm1T+1vmL/OeWX1OeW1eXaDYV5IzRU+S/nnif5Obn7r/UqSkfWCiBYn8R+PReF+oN7RzsHnkL93PHtT58wdqX8UPGfvM1L8BZh2Zc+Qxmpz2FPNPyjnNeSwdCg9G07lfqv0Ud3hM/ED1ZPuP5dxotudFiXOjaDwS7xzrDOu+i2OqffTwj/zm1/t9lk/ZP53nRvKc7Nz55GNJ8hYT413O/0CwP9o13hFKRyGTKp/ix4xL/SXeo+3M0LlRJB6Od411htrH2kLp3DdFn8U5fUPB0oD4TcIcK3kqmkivNOccw7nRTGNgMHQw0jbWMi7G8FRjbqp/n3dBM9cNsjwCCCCAAAIIIIAAAgggoEuAgkaXJHEQQAABBBBAAAEEEEAg4wIUNBknZ4MIIIAAAggggAACCCCgS4CCRpckcRBAAAEEEEAAAQQQQCDjAhQ0GSdngwgggAACCCCAAAIIIKBLgIJGlyRxEEAAAQQQQAABBBBAIOMCFDQZJ2eDCCCAAAIIIIAAAgggoEuAgkaXJHEQQAABBBBAAAEEEEAg4wIUNBknZ4MIIIAAAggggAACCCCgS4CCRpckcRBAAAEEEEAAAQQQQCDjAhQ0GSdngwgggAACCCCAAAIIIKBLgIJGlyRxEEAAAQQQQAABBBBAIOMCFDQZJ2eDCCCAAAIIIIAAAgggoEuAgkaXJHEQQAABBBBAAAEEEEAg4wIUNBknZ4MIIIAAAggggAACCCCgS4CCRpckcRBAAAEEEEAAAQQQQCDjAhQ0GSdngwgggAACCCCAAAIIIKBLgIJGlyRxEEAAAQQQQAABBBBAIOMCFDQZJ2eDCCCAAAIIIIAAAgggoEuAgkaXJHEQQAABBBBAAAEEEEAg4wIUNBknZ4MIIIAAAggggAACCCCgS4CCRpckcRBAAAEEEEAAAQQQQCDjAhQ0GSdngwgggAACCCCAAAIIIKBLgIJGlyRxEEAAAQQQQAABBBBAIOMCFDQZJ2eDCCCAAAIIIIAAAgggoEuAgkaXJHEQQAABBBBAAAEEEEAg4wIUNBknZ4MIIIAAAggggAACCCCgS4CCRpckcRBAAAEEEEAAAQQQQCDjAhQ0GSdngwgggAACCCCAAAIIIKBLgIJGlyRxEEAAAQQQQAABBBBAIOMCFDQZJ2eDCCCAAAIIIIAAAgggoEuAgkaXJHEQQAABBBBAAAEEEEAg4wIUNBknZ4MIIIAAAggggAACCCCgS4CCRpckcRBAAAEEEEAAAQQQQCDjAhQ0GSdngwgggAACCCCAAAIIIKBLgIJGlyRxEEAAAQQQQAABBBBAIOMCFDQZJ2eDCCCAAAIIIIAAAgggoEuAgkaXJHEQQAABBBBAAAEEEEAg4wIUNBknZ4MIIIAAAggggAACCCCgS4CCRpckcRBAAAEEEEAAAQQQQCDjAhQ0GSdngwgggAACCCCAAAIIIKBLgIJGlyRxEEAAAQQQQAABBBBAIOMCFDQZJ2eDCCCAAAIIIIAAAgggoEvAvOK59c+JYKZh29MFtW1Det805deGIb+2DXPaeKatbE+Jp65vKvHVl872qduXt2c74sm9N21lfdPho/RP3V5cCmgr8Zx+8vr2DPkw1XxYlpI+pb1qf9Slle3N2D5l+yqnmi9H/y21fY7xJPsp48kxfixl/M3QX3W8O8aPpeRTHa8OP3l5tf+mMn5UD+e+N/14NU21faqfPDzV8W6qnko824hPu/8aiq86XtX2Ofdfuce2w1fxdMwP089X6v4bVwaomg/VQ82Hs33qfKjuv9PPB+r+G58hH+p4jcvTi6Hur4753JFfpX2OeHL+HfO5sn+Ytry8o32O5ZX8Wsr66v6rtk+Jp+bHVOYDdTzElAaaM7ZPbm9c6a8xY/vk/jm2p+Q/FlOOR4qP2h81niNfSkB1+bh6fPLI+5fDT2mfNcN48Hg8UofU8W7MtX2Kl6X4OP2U8WZb0vwWV+Y71cdw9FcZr47jkzq+5dcxtb8e+X1LbZ8dk8+/PHL7jagyXpR46ni1HPmW40WjckBrhvbFlHiWRzl+KO1T48WU/lpKfy2v3L5IRO6v5ZV9VD9n+1Q/OaCl+M6/ffL21P7F4sr7OUr7wnJ/Pd6oNB6itkd67VE9leXDajxlfUvZfiwub8/KkbdnKPGi8YjcHmV5j7I9r0+OFwyGpA57FB+vzyvFj8Q9ts+MRf8PC8Mis8+T/PkAAAAASUVORK5CYII=",oa="data:image/png;base64,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",Os="data:image/png;base64,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",rs="data:image/png;base64,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",po=Oe(59301),za=({dataSource:b=[],pathsDetail:x,onClick:E,onMore:z})=>{const[te,re]=(0,Ue.useState)([]);(0,Ue.useEffect)(()=>{let le=[];for(let he=0;he<b.length;he+=4)le.push(b.slice(he,he+4));re(le)},[JSON.stringify(b)]);function oe(le){return le.concat(Array(4-le.length).fill(null)).slice(0,4).reverse()}return po.createElement("div",{className:Vi.chart},te.map((le,he)=>{var ge;let Ae=null;return he%2===0?Ae=po.createElement("div",{className:Vi.group,style:he==0?{marginLeft:"-164rem"}:{}},le.map((Pe,We)=>{var Xe,qe,nt;return po.createElement("div",{key:Pe.knowledge_uuid,className:Vi.item,style:he==0&&We>0?{marginLeft:"300rem"}:{}},(Pe==null?void 0:Pe.has_children)&&po.createElement("img",{src:Pe.complete_rate?Zr:Ca,style:{width:"163rem",height:"91rem",position:"absolute",zIndex:1,left:0,top:"3rem"}}),We!==0&&po.createElement("img",{src:Pe.complete_rate?ss:oa,style:{width:"410rem",height:"50rem",position:"absolute",zIndex:2,right:"50%",bottom:"38rem"}}),he!==0&&We===0&&po.createElement("img",{src:Pe.complete_rate?Os:rs,style:{width:"233rem",height:"316rem",position:"absolute",zIndex:3,right:"calc(50% + 5rem)",bottom:"38rem",transform:"scaleX(-1)"}}),po.createElement(wa,{strokeColor:"#60C059",percentage:Pe.complete_rate,startAngle:270,trackColor:"#E3E8EF",text:Pe.name,textSize:"16rem",hoverEffect:!(!(Pe!=null&&Pe.is_publish)&&!((Xe=x==null?void 0:x.detail)!=null&&Xe.can_managed)),textColor:"#333",outerDiameter:"137rem",innerDiameter:"107rem",textPadding:"26rem",onClick:!(Pe!=null&&Pe.is_publish)&&!((qe=x==null?void 0:x.detail)!=null&&qe.can_managed)?void 0:()=>E(Pe),style:{position:"absolute",zIndex:4,left:"50%",bottom:0,transform:"translateX(-50%)"}}),po.createElement("div",{onClick:()=>{z(Pe)},style:{width:"34rem",height:"34rem",borderRadius:"50%",position:"absolute",zIndex:5,left:"50%",top:"3rem",transform:"translateX(-50%)",cursor:"pointer"}}),!(Pe!=null&&Pe.is_publish)&&!((nt=x==null?void 0:x.detail)!=null&&nt.can_managed)&&po.createElement("div",{style:{background:"rgba(0, 0, 0, 0.5)",borderRadius:"50%",width:"124rem",height:"124rem",position:"absolute",zIndex:5,left:"50%",bottom:6,transform:"translateX(-50%)",textAlign:"center",paddingTop:"40rem"}},po.createElement("i",{className:"iconfont icon-suo1",style:{color:"#fff",fontSize:"28rem"}}),po.createElement("div",{style:{color:"#fff",fontSize:"12rem"}},"\u8D44\u6E90\u6682\u672A\u53D1\u5E03")))})):Ae=po.createElement("div",{className:Vi.group},(ge=oe(le))==null?void 0:ge.map((Pe,We)=>{var Xe,qe,nt;return po.createElement("div",{key:(Pe==null?void 0:Pe.knowledge_uuid)||We,className:Vi.item},Pe&&po.createElement(po.Fragment,null,(Pe==null?void 0:Pe.has_children)&&po.createElement("img",{src:Pe.complete_rate?Zr:Ca,style:{width:"163rem",height:"91rem",position:"absolute",zIndex:1,left:0,top:"3rem"}}),We!==3&&po.createElement("img",{src:Pe.complete_rate?ss:oa,style:{width:"410rem",height:"50rem",position:"absolute",zIndex:2,left:"50%",bottom:"38rem"}}),We===3&&po.createElement("img",{src:Pe.complete_rate?Os:rs,style:{width:"233rem",height:"316rem",position:"absolute",zIndex:3,left:"calc(50% + 5rem)",bottom:"38rem"}}),po.createElement(wa,{strokeColor:"#60C059",percentage:Pe.complete_rate,startAngle:270,trackColor:"#E3E8EF",text:Pe.name,textSize:"16rem",textColor:"#333",hoverEffect:!(!(Pe!=null&&Pe.is_publish)&&!((Xe=x==null?void 0:x.detail)!=null&&Xe.can_managed)),outerDiameter:"137rem",innerDiameter:"107rem",textPadding:"26rem",onClick:!(Pe!=null&&Pe.is_publish)&&!((qe=x==null?void 0:x.detail)!=null&&qe.can_managed)?void 0:()=>E(Pe),style:{position:"absolute",zIndex:4,left:"50%",bottom:0,transform:"translateX(-50%)"}}),po.createElement("div",{onClick:()=>{z(Pe)},style:{width:"34rem",height:"34rem",borderRadius:"50%",position:"absolute",zIndex:5,left:"50%",top:"3rem",transform:"translateX(-50%)",cursor:"pointer"}}),!(Pe!=null&&Pe.is_publish)&&!((nt=x==null?void 0:x.detail)!=null&&nt.can_managed)&&po.createElement("div",{style:{background:"rgba(0, 0, 0, 0.5)",borderRadius:"50%",width:"124rem",height:"124rem",position:"absolute",zIndex:5,left:"50%",bottom:6,transform:"translateX(-50%)",textAlign:"center",paddingTop:"40rem"}},po.createElement("i",{className:"iconfont icon-suo1",style:{color:"#fff",fontSize:"28rem"}}),po.createElement("div",{style:{color:"#fff",fontSize:"12rem"}},"\u8D44\u6E90\u6682\u672A\u53D1\u5E03"))))})),po.createElement(Ue.Fragment,{key:he},Ae)}))},Ka=Oe(81327),Ji={flex_box_center:"flex_box_center___DSyRe",flex_space_between:"flex_space_between___FubQ0",flex_box_vertical_center:"flex_box_vertical_center___Bwld4",flex_box_center_end:"flex_box_center_end___K1Pkl",flex_box_column:"flex_box_column___av7e_",hader:"hader___vwJKS",title:"title____Pmur",body:"body___FxUh6",nodeData:"nodeData___cHclP",yc:"yc___I8230",yclj:"yclj___toMmi",nametitle:"nametitle___B4Hrd",treeheight:"treeheight___HER2j",spacewidth:"spacewidth___XhLbb",titlename:"titlename___rBLxO"},yn=Oe(35323),ja=Oe(97267),is=Oe(59301),_a=Object.defineProperty,Us=Object.defineProperties,ma=Object.getOwnPropertyDescriptors,aa=Object.getOwnPropertySymbols,ys=Object.prototype.hasOwnProperty,Fs=Object.prototype.propertyIsEnumerable,es=(b,x,E)=>x in b?_a(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,ml=(b,x)=>{for(var E in x||(x={}))ys.call(x,E)&&es(b,E,x[E]);if(aa)for(var E of aa(x))Fs.call(x,E)&&es(b,E,x[E]);return b},ta=(b,x)=>Us(b,ma(x)),Qo=(b,x)=>{var E={};for(var z in b)ys.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&aa)for(var z of aa(b))x.indexOf(z)<0&&Fs.call(b,z)&&(E[z]=b[z]);return E},Ba=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())});const Ii=b=>{var x=b,{pathsDetail:E,user:z,globalSetting:te,loading:re,dispatch:oe,addmodal:le,setaddmodal:he,uuid:ge,onOk:Ae}=x,Pe=Qo(x,["pathsDetail","user","globalSetting","loading","dispatch","addmodal","setaddmodal","uuid","onOk"]),We,Xe;let[qe,nt]=(0,Ue.useState)({subject_id:(We=E==null?void 0:E.detail)==null?void 0:We.id,uuid:""});const[at,pt]=(0,Ue.useState)([]),[mt,bt]=(0,Ue.useState)([]),[jt,Ut]=(0,Ue.useState)(!1),[Kt,Qt]=(0,Ue.useState)(""),[Vt,vn]=(0,Ue.useState)(!1);(0,Ue.useEffect)(()=>{le&&kn(1)},[le]);function wn(or,Or){for(let qr of or)Or.push(qr),qr.children&&qr.children.length>0&&wn(qr.children,Or)}function kn(or){return Ba(this,null,function*(){var Or,qr;Ut(!0);let wr=yield(0,kt.ZP)("/api/subject_knowledge/tree.json",{method:"get",params:ta(ml({},qe),{id:ge,uuid:qe==null?void 0:qe.uuid,is_edit:!!ge})});Ut(!1),(wr==null?void 0:wr.status)===0&&(ge?qe.uuid=wr==null?void 0:wr.uuid:or===1&&(qe.uuid=(qr=(Or=wr==null?void 0:wr.parent_knowledges)==null?void 0:Or[0])==null?void 0:qr.uuid),Qt(wr==null?void 0:wr.name),nt(qe),pt(wr),bt(wr==null?void 0:wr.data))})}const Vn=or=>{console.log(or)},vr=or=>{console.log(or);const Or=or.node.id,qr=or.dragNode.id,wr=or.node.pos.split("-"),Sr=or.dropPosition-Number(wr[wr.length-1]),Tr=(yi,Co,wo)=>{for(let vi=0;vi<yi.length;vi++){if(yi[vi].id===Co)return wo(yi[vi],vi,yi);yi[vi].children&&Tr(yi[vi].children,Co,wo)}},ri=[...mt];let Cr;if(Tr(ri,qr,(yi,Co,wo)=>{wo.splice(Co,1),Cr=yi}),!or.dropToGap)Tr(ri,Or,yi=>{yi.children=yi.children||[],yi.children.unshift(Cr)});else{let yi=[],Co;Tr(ri,Or,(wo,vi,Mi)=>{yi=Mi,Co=vi}),Sr===-1?yi.splice(Co,0,Cr):yi.splice(Co+1,0,Cr)}bt(ri)};return is.createElement(Be.default,{title:ge?"\u7F16\u8F91\u5B66\u4E60\u8DEF\u5F84":"\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84",open:le,width:"920rem",centered:!0,onOk:()=>Ba(void 0,null,function*(){var or,Or;let qr=[];if(wn(mt,qr),console.log(mt,qr,"gData"),(mt==null?void 0:mt.length)<=0||((or=qr==null?void 0:qr.filter(Sr=>!(Sr!=null&&Sr.is_out)))==null?void 0:or.length)===0||((Or=mt==null?void 0:mt.filter(Sr=>!(Sr!=null&&Sr.is_out)))==null?void 0:Or.length)===0){Ke.ZP.info("\u5B66\u4E60\u8DEF\u5F84\u4E0D\u53EF\u4E3A\u7A7A");return}if(!Kt){Ke.ZP.info("\u540D\u79F0\u4E0D\u53EF\u4E3A\u7A7A");return}let wr=yield(0,kt.ZP)("/api/subject_knowledge.json",{method:"post",body:ta(ml({},qe),{id:ge,name:Kt,routes:mt})});(wr==null?void 0:wr.status)===0&&(Ke.ZP.info(ge?"\u4FEE\u6539\u6210\u529F":"\u65B0\u589E\u6210\u529F"),Ae(wr==null?void 0:wr.id,Kt),he(!1))}),okText:"\u5B8C\u6210\u521B\u5EFA",onCancel:()=>{he(!1)}},is.createElement(Xt.Z,{spinning:jt},is.createElement("div",{className:Ji.body},is.createElement(Ka.Z,{className:Ji.spacewidth},is.createElement(Ka.Z.Compact,null,is.createElement(Dt.default,{addonBefore:is.createElement("span",{className:Ji.title},is.createElement("span",{style:{color:"red"}},"*")," \u8DEF\u5F84\u540D\u79F0"),showCount:!0,maxLength:12,value:Kt,onChange:or=>Qt(or.target.value),style:{width:"100%"},size:"large",placeholder:"\u8F93\u5165\u5B66\u4E60\u8DEF\u5F84\u540D\u79F0",allowClear:!0}))),is.createElement(Ka.Z,{className:Ji.spacewidth,style:{marginTop:"20rem"}},is.createElement(Ka.Z.Compact,null,is.createElement("div",{className:Ji.titlename},"\u77E5\u8BC6\u56FE\u8C31"),is.createElement(Ie.default,{value:qe.uuid,onChange:or=>{qe.uuid=or,kn()},disabled:ge,style:{width:"90%"},size:"large"},(Xe=at==null?void 0:at.parent_knowledges)==null?void 0:Xe.map(or=>is.createElement(Ie.default.Option,{value:or==null?void 0:or.uuid},or==null?void 0:or.knowledge_name))))),is.createElement("div",{style:{marginTop:"20rem",background:"#D5F1EA",borderRadius:"8rem 8rem 0rem 0rem",height:"38rem",lineHeight:"38rem",padding:"0px 12rem"}},is.createElement("span",{style:{color:"#1B8565",fontSize:"16rem",fontWeight:"500"}},"\u5B66\u4E60\u8DEF\u5F84"),is.createElement("span",{style:{marginLeft:"10rem"}},"\uFF08\u62D6\u52A8\u53EF\u8C03\u6574\u8DEF\u5F84\u987A\u5E8F\uFF09")),(mt==null?void 0:mt.length)>0?is.createElement(ie.default,{style:{background:"#FAFAFA"},treeData:mt,showLine:!0,blockNode:!0,fieldNames:{key:"id"},className:Ji.treeheight,draggable:!0,onDragEnter:Vn,onDrop:vr,switcherIcon:is.createElement(yn.Z,null),titleRender:or=>is.createElement("div",{className:Ji.nodeData,style:{color:or!=null&&or.is_out?"#999999":"#000000"}},is.createElement("div",{className:Ji.nametitle,title:or==null?void 0:or.name,style:{flex:1}},(or==null?void 0:or.is_out)&&is.createElement("span",{className:Ji.yc},"\u5DF2\u79FB\u51FA")," ",or==null?void 0:or.name),is.createElement("span",{className:Ji.yclj,style:{color:or!=null&&or.is_out?"#37AD83":"#E30000",fontSize:"14rem"},onClick:()=>{or.is_out=!or.is_out}},or!=null&&or.is_out?"\u52A0\u5165\u5B66\u4E60\u8DEF\u5F84":"\u79FB\u51FA\u5B66\u4E60\u8DEF\u5F84")," ")}):is.createElement(ja.Z,{styles:{margin:"20rem auto"}}))))};var Gs=(0,Ne.connect)(({pathsDetail:b,user:x,loading:E,globalSetting:z})=>({pathsDetail:b,user:x,globalSetting:z,loading:E.models.index}))(Ii),sl=Oe(24645),ql=Oe(43428),Ki={flex_box_center:"flex_box_center___bAhU8",flex_space_between:"flex_space_between___fGcUL",flex_box_vertical_center:"flex_box_vertical_center___hqbFm",flex_box_center_end:"flex_box_center_end___h8cjt",flex_box_column:"flex_box_column___jkfSL",detailmodal:"detailmodal___KEy8k",title:"title___M0Bdn",button:"button___oEMiZ",drawer:"drawer___Pwq6m",tabstyle:"tabstyle___hGelr",items:"items___RrF7L",itemsactivite:"itemsactivite____kVzF",nodetitle:"nodetitle___UgLxl",nodeboyd:"nodeboyd___R1M87",listitem:"listitem___CjR4j",Tabs:"Tabs___gAkar",addmodal:"addmodal___KHvV4",gxcoent:"gxcoent___B8UeJ",gxtitle:"gxtitle___Ezw1C",Colortitle:"Colortitle___kChPm",gxbody:"gxbody___HmZPk",tag:"tag___b2Gak",form:"form___wY8YH",radioform:"radioform___RW7Fy",settingmodal:"settingmodal___LgbSA",body:"body___KaaXx",left:"left___BbRKH",header:"header___E8vej",treenode:"treenode___XViAn",hudong:"hudong___MzZbW",colortitle:"colortitle___PgqHg",right:"right___jzXCF",multiple:"multiple___GQEEM",settingtag:"settingtag___XVMCI",tree:"tree___zz_WU",select:"select___HL7_r",input:"input___reuVt",DetailStatistics:"DetailStatistics___v31Uq",xxrs:"xxrs___Q156g",xxrscount:"xxrscount___OdU60",righttop:"righttop___dnIBD",rightbottom:"rightbottom___B0s8j"},xs=Oe(72119),zs=Oe(5527),yl=Oe(77042),tl={tag:"tag___aXy_L",active:"active___kZOMC",tagsModal:"tagsModal___wsl_M",btn:"btn___S2nL4",modal:"modal___r3iAS",mHead:"mHead___imW9A",body:"body___fZUhx",add:"add___QHMDJ",error:"error___aJzBo"},Ms=Oe(59301),Au=Object.defineProperty,Ur=Object.getOwnPropertySymbols,Su=Object.prototype.hasOwnProperty,gh=Object.prototype.propertyIsEnumerable,Wc=(b,x,E)=>x in b?Au(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,Ns=(b,x)=>{for(var E in x||(x={}))Su.call(x,E)&&Wc(b,E,x[E]);if(Ur)for(var E of Ur(x))gh.call(x,E)&&Wc(b,E,x[E]);return b},Sl=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())});let lu=[{name:"\u4F5C\u4E1A",id:"zy",item_type:2},{name:"\u5B9E\u8BAD",id:"sx",item_type:2},{name:"\u6559\u6750",id:"jc",item_type:2},{name:"\u89C6\u9891",id:"sp",item_type:2},{name:"\u8BFE\u4EF6",id:"kj",item_type:2},{name:"\u8BD5\u5377",id:"sj",item_type:2},{name:"\u9898\u96C6",id:"tj",item_type:2}],gl=[{name:"\u7AE0\u8282",id:"zj",item_type:1},{name:"\u77E5\u8BC6\u70B9",id:"zsd",item_type:1}];var Al=({value:b=[],onChange:x,type:E,dataSources:z=[],pathsDetail:te={},showmodal:re,containerRef:oe})=>{const[le,he]=(0,Ue.useState)(!1),[ge,Ae]=(0,Ue.useState)([]),[Pe,We]=(0,Ue.useState)(),[Xe,qe]=(0,Ue.useState)(""),[nt,at]=(0,Ue.useState)(""),[pt,mt]=(0,Ue.useState)(""),[bt,jt]=(0,Ue.useState)(!1),[Ut,Kt]=(0,Ue.useState)(!1),[Qt,Vt]=(0,Ue.useState)([]),[vn,wn]=(0,Ue.useState)("");(0,Ue.useEffect)(()=>{le&&kn()},[le]);function kn(){return Sl(this,null,function*(){var wr;let Sr=yield(0,kt.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:E,subject_id:(wr=te==null?void 0:te.detail)==null?void 0:wr.id}});(Sr==null?void 0:Sr.status)===0&&(E===3?Ae(Sr==null?void 0:Sr.data):(Ae([...gl,...Sr==null?void 0:Sr.data]),Vt([...lu,...Sr==null?void 0:Sr.data2])))})}const Vn=[{background:"#6236FF",borderColor:"#9D82FF"},{background:"#6DB9FF",borderColor:"#6DB9FF"},{background:"rgba(27,175,234,0.8)",borderColor:"#68D5FF"},{background:"#C1AC15",borderColor:"#DCC51C"},{background:"#E07E37",borderColor:"#F79046"},{background:"rgba(29,94,255,0.8)",borderColor:"#6D97FE"},{background:"#E75454",borderColor:"#FE8383"},{background:"#A557D8",borderColor:"#C57AF6"},{background:"#2CA768",borderColor:"#43CC86"},{background:"#1F9269",borderColor:"#38B588"},{background:"#CA7720",borderColor:"#E99338"},{background:"rgba(224,32,32,0.8)",borderColor:"#E02020"},{background:"rgba(255,126,15,0.8)",borderColor:"#FF7E0F"},{background:"rgba(29,94,255,0.8)",borderColor:"#1D5EFF"},{background:"#2BAC8E",borderColor:"#30CB9D"},{background:"#EE5D5D",borderColor:"#FF8181"},{background:"#7E5AFE",borderColor:"#9173FA"},{background:"#3ABCEF",borderColor:"#6FD6FF"},{background:"#B132C2",borderColor:"#C57AF6"},{background:"#46A4FB",borderColor:"#72BBFF"},{background:"#C1AC15",borderColor:"#DCC51C"},{background:"#E07E37",borderColor:"#F79046"},{background:"#1D5EFF",borderColor:"#6D97FE"},{background:"#2CA768",borderColor:"#43CC86"},{background:"#A557D8",borderColor:"#C57AF6"},{background:"#1F9269",borderColor:"#38B588"},{background:"#CA7720",borderColor:"#E99338"}],vr="\u6807\u7B7E";(0,Ue.useEffect)(()=>{Ae(z)},[]),(0,Ue.useEffect)(()=>{le&&We(b)},[le]);const or=({title:wr="",style:Sr={},values:Tr="",showDelete:ri=!0,modal:Cr=!1,active:yi=!1})=>{const wo=($i=>$i.split("").reduce((Lo,Jo)=>Lo+Jo.charCodeAt(0),0))(wr)%Vn.length,{background:vi,borderColor:Mi}=Vn[wo];return Ms.createElement("div",{className:Fr()(tl.tag,yi?tl.active:""),onClick:()=>{var $i;if(Cr){if(le===1){let Lo=[...ge,...Qt];We([...Lo.filter(Jo=>(Jo==null?void 0:Jo.id)===Tr)])}le===2&&(($i=Pe==null?void 0:Pe.map(Lo=>Lo.id))!=null&&$i.includes(Tr)?We(Pe.filter(Lo=>Lo.id!==Tr)):We([...Pe,...ge.filter(Lo=>(Lo==null?void 0:Lo.id)===Tr)]))}},style:Ns({background:vi,borderColor:Mi},Sr)},Ms.createElement("span",null,wr),ri&&Ms.createElement("i",{onClick:$i=>Sl(void 0,null,function*(){var Lo;if($i.stopPropagation(),Cr){Ae(ge.filter(Ta=>Ta.name!==wr)),Ae(ge.filter(Ta=>Ta.name!==wr));let Jo=yield(0,kt.ZP)(`/api/knowledge_items/${Tr}.json`,{method:"delete",body:{id:Tr,subject_id:(Lo=te==null?void 0:te.detail)==null?void 0:Lo.id}});(Jo==null?void 0:Jo.status)===0&&kn()}else x(b.filter(Jo=>Jo.id!==Tr))}),className:"iconfont icon-shanchu5"}))},Or=()=>{x(Pe),he(!1)},qr=wr=>Sl(void 0,null,function*(){var Sr;if(!Xe.replace(/\s+/g,"")&&wr===1){mt(`${vr}\u4E0D\u80FD\u4E3A\u7A7A`);return}if(!nt.replace(/\s+/g,"")&&wr===2){wn("\u8D44\u6E90\u4E0D\u80FD\u4E3A\u7A7A");return}if((ge.map(ri=>ri.name).includes(Xe)||Qt.map(ri=>ri.name).includes(Xe))&&wr===1){mt(`\u8BE5${vr}\u5DF2\u5B58\u5728\uFF0C\u8BF7\u52FF\u91CD\u590D\u6DFB\u52A0\uFF01`);return}if((Qt.map(ri=>ri.name).includes(nt)||ge.map(ri=>ri.name).includes(nt))&&wr===2){wn("\u8BE5\u8D44\u6E90\u5DF2\u5B58\u5728\uFF0C\u8BF7\u52FF\u91CD\u590D\u6DFB\u52A0\uFF01");return}let Tr=yield(0,kt.ZP)("/api/knowledge_items.json",{method:"post",body:{item_type:E===3?3:wr,name:E===3||wr===1?Xe:nt,subject_id:(Sr=te==null?void 0:te.detail)==null?void 0:Sr.id}});(Tr==null?void 0:Tr.status)===0&&kn(),wr===1&&jt(!1),wr===2&&Kt(!1)});return Ms.createElement("div",{className:tl.tagsModal},E===5&&Ms.createElement(Ms.Fragment,null,b==null?void 0:b.map((wr,Sr)=>Ms.createElement(or,{values:wr.id,key:Sr,title:wr.name,showDelete:!1,style:{marginRight:"20rem",marginBottom:0}})),re&&Ms.createElement("div",{onClick:()=>he(1),style:{marginBottom:"0rem"},className:tl.btn},Ms.createElement("i",{className:"iconfont icon-genghuanguanliyuan1"}),b!=null&&b.length?"\u66F4\u6362":"\u9009\u62E9","\u7C7B\u578B")),E===3&&Ms.createElement(Ms.Fragment,null,b==null?void 0:b.map((wr,Sr)=>Ms.createElement(or,{values:wr.id,key:Sr,title:wr.name})),re&&Ms.createElement("div",{onClick:()=>he(2),className:tl.btn,style:{marginBottom:"10rem"}},Ms.createElement("i",{className:"iconfont icon-tianjiatixing"}),b!=null&&b.length?"\u66F4\u6362":"\u9009\u62E9","\u6807\u7B7E")),Ms.createElement(Be.default,{open:!!le,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",getContainer:()=>oe.current,onCancel:()=>he(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{jt(!1),Kt(!1),mt(""),qe("")},onOk:Or,title:`\u9009\u62E9${vr}`},Ms.createElement("div",{className:tl.modal},Ms.createElement("div",{className:tl.mHead},Ms.createElement("b",null),Ms.createElement("span",null,`${vr}`,"\uFF08",ge.length,"\uFF09"),Ms.createElement("div",{onClick:()=>{jt(!0),mt(""),qe("")},className:tl.btn},Ms.createElement("i",{className:"iconfont icon-tianjiatixing"}),"\u6DFB\u52A0")),Ms.createElement("div",{className:tl.body},ge==null?void 0:ge.map((wr,Sr)=>{var Tr,ri,Cr;return Ms.createElement(or,{showDelete:E===3?!((Tr=Pe==null?void 0:Pe.map(yi=>yi==null?void 0:yi.id))!=null&&Tr.includes(wr==null?void 0:wr.id)):!((ri=Pe==null?void 0:Pe.map(yi=>yi==null?void 0:yi.id))!=null&&ri.includes(wr==null?void 0:wr.id))&&!((Cr=gl.map(yi=>yi.name))!=null&&Cr.includes(wr.name)),modal:!0,style:{cursor:"pointer"},active:Pe==null?void 0:Pe.map(yi=>yi==null?void 0:yi.id).includes(wr==null?void 0:wr.id),key:wr==null?void 0:wr.id,values:wr==null?void 0:wr.id,title:wr==null?void 0:wr.name})}),bt&&Ms.createElement("div",{className:tl.add},Ms.createElement(Dt.default,{style:{width:"rem"},size:"large",value:Xe,onChange:wr=>{mt(""),qe(wr.target.value)}}),Ms.createElement("i",{onClick:()=>qr(1),className:"iconfont icon-dui",style:{color:"#1B8565"}}),Ms.createElement("i",{onClick:()=>jt(!1),className:"iconfont icon-shanchu10",style:{color:"#9096A3"}}),!!pt&&Ms.createElement("div",{className:tl.error},pt)))),E===5&&Ms.createElement("div",{className:tl.modal},Ms.createElement("div",{className:tl.mHead},Ms.createElement("b",null),Ms.createElement("span",null,"\u8D44\u6E90","\uFF08",Qt.length,"\uFF09"),Ms.createElement("div",{onClick:()=>{Kt(!0),wn(""),at("")},className:tl.btn},Ms.createElement("i",{className:"iconfont icon-tianjiatixing"}),"\u6DFB\u52A0")),Ms.createElement("div",{className:tl.body},Qt==null?void 0:Qt.map((wr,Sr)=>{var Tr,ri;return Ms.createElement(or,{showDelete:!((Tr=Pe==null?void 0:Pe.map(Cr=>Cr==null?void 0:Cr.id))!=null&&Tr.includes(wr==null?void 0:wr.id))&&!((ri=lu.map(Cr=>Cr.name))!=null&&ri.includes(wr.name)),modal:!0,style:{cursor:"pointer"},active:Pe==null?void 0:Pe.map(Cr=>Cr==null?void 0:Cr.id).includes(wr==null?void 0:wr.id),key:wr==null?void 0:wr.id,values:wr==null?void 0:wr.id,title:wr==null?void 0:wr.name})}),Ut&&Ms.createElement("div",{className:tl.add},Ms.createElement(Dt.default,{style:{width:"rem"},size:"large",value:nt,onChange:wr=>{wn(""),at(wr.target.value)}}),Ms.createElement("i",{onClick:()=>qr(2),className:"iconfont icon-dui",style:{color:"#1B8565"}}),Ms.createElement("i",{onClick:()=>Kt(!1),className:"iconfont icon-shanchu10",style:{color:"#9096A3"}}),!!vn&&Ms.createElement("div",{className:tl.error},vn))))))},Wu=Oe(2595),ls=Oe(25039),ns=Oe(59301),Vs=Object.getOwnPropertySymbols,jo=Object.prototype.hasOwnProperty,Ru=Object.prototype.propertyIsEnumerable,Uu=(b,x)=>{var E={};for(var z in b)jo.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&Vs)for(var z of Vs(b))x.indexOf(z)<0&&Ru.call(b,z)&&(E[z]=b[z]);return E},Oc=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())});let ph=[{label:"\u5B9E\u8BAD",key:"1"},{label:"\u89C6\u9891",key:"2"},{label:"\u8BFE\u4EF6",key:"3"},{label:"\u8BD5\u5377",key:"4"}];const Kh=b=>{var x=b,{types:E,globalSetting:z,loading:te,dispatch:re,pathsDetail:oe,onChange:le,ktzykey:he,getother:ge}=x,Ae=Uu(x,["types","globalSetting","loading","dispatch","pathsDetail","onChange","ktzykey","getother"]),Pe,We,Xe,qe;let[nt,at]=(0,Ue.useState)({page:1,limit:10,type:E,keyword:"",select_type:1,subject_id:"",course_id:""});const[pt,mt]=(0,Ue.useState)([]);(0,Ue.useEffect)(()=>{bt()},[E]);function bt(){return Oc(this,null,function*(){nt.select_type===3&&(nt.subject_id="",nt.course_id=""),nt.select_type===2&&(nt.subject_id=""),nt.select_type===1&&(nt.course_id="");let jt=yield(0,kt.ZP)("/api/paths/search_all.json",{method:"get",params:nt});(jt==null?void 0:jt.status)===0&&mt(jt)})}return ns.createElement("div",{style:{padding:"10rem 20rem"}},ns.createElement("div",{style:{display:"flex"}},ns.createElement("div",null,E==="1"&&ns.createElement(Dt.default,{placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u67E5\u8BE2",style:{width:"992rem",marginRight:"10rem",height:"40rem"},onChange:jt=>{nt.keyword=jt.target.value,nt.page=1,nt.limit=10,at(nt)}}),E!=="1"&&ns.createElement("div",{style:{display:"flex"}},ns.createElement("div",{style:{width:"223rem",alignItems:"center",display:"flex",height:"40rem"}},ns.createElement("span",{style:{width:"92rem",border:"1rem solid #DCDCDC",borderRightStyle:"none",background:"#F6F7F9",height:"40rem",display:"flex",alignItems:"center",justifyContent:"center",lineHeight:"40rem",fontSize:"16rem",color:"#666666"}},"\u6240\u5728\u4F4D\u7F6E"),ns.createElement(Ie.default,{value:nt.select_type,onChange:jt=>{nt.select_type=jt,nt.page=1,nt.limit=10,at(nt),bt()},className:Ki.select,style:{width:"131rem"}},ns.createElement(Ie.default.Option,{value:1},"\u5B9E\u8DF5\u8BFE\u7A0B"),ns.createElement(Ie.default.Option,{value:2},"\u6559\u5B66\u8BFE\u5802"),ns.createElement(Ie.default.Option,{value:3},"\u4E2A\u4EBA\u4E2D\u5FC3"))),nt.select_type!==3&&ns.createElement(Ie.default,{value:nt.subject_id||nt.course_id,onChange:jt=>{nt.course_id=jt,nt.subject_id=jt,nt.page=1,nt.limit=10,at(nt),bt()},className:Ki.select,style:{width:"270rem",marginLeft:"8rem"}},nt.select_type===1&&((Pe=pt==null?void 0:pt.subjects)==null?void 0:Pe.map(jt=>ns.createElement(Ie.default.Option,{value:jt.id},jt.name))),nt.select_type===2&&((We=pt==null?void 0:pt.courses)==null?void 0:We.map(jt=>ns.createElement(Ie.default.Option,{value:jt.id},jt.name)))),ns.createElement(Dt.default,{onChange:jt=>{nt.keyword=jt.target.value,nt.page=1,nt.limit=10,at(nt)},addonBefore:((Xe=ph==null?void 0:ph.find(jt=>jt.key===E))==null?void 0:Xe.label)+"\u540D\u79F0",className:Ki.input,style:{marginLeft:"10rem",width:"486rem",height:"40rem"}}))),ns.createElement(we.ZP,{type:"primary",style:{height:"40rem",fontSize:"14rem",boxShadow:"none",lineHeight:"40rem",width:"108rem",padding:"0",marginLeft:"10rem"},onClick:()=>{bt()}},"\u67E5\u8BE2")),ns.createElement(Wu.default,{style:{marginTop:"10rem"},dataSource:pt==null?void 0:pt.data,pagination:!1,rowKey:jt=>jt.id,scroll:{y:"400rem"},columns:[{title:((qe=ph==null?void 0:ph.find(jt=>jt.key===E))==null?void 0:qe.label)+"\u540D\u79F0",dataIndex:"name",ellipsis:!0,key:"name"},{title:E==="1"?"\u5408\u4F5C\u8005":"\u6240\u5C5E\u6A21\u5757",dataIndex:"name",key:"name",ellipsis:!0,render:(jt,Ut)=>ns.createElement("span",null,E==="1"?Ut==null?void 0:Ut.user_names:Ut==null?void 0:Ut.model)},{title:E==="1"?"\u6700\u8FD1\u4FEE\u6539\u65F6\u95F4":"\u6240\u5728\u4F4D\u7F6E",dataIndex:"updated_at",ellipsis:!0,render:(jt,Ut)=>ns.createElement("span",null,E==="1"?Ut==null?void 0:Ut.updated_at:Ut==null?void 0:Ut.stage_name)},{title:"\u64CD\u4F5C",dataIndex:"url",width:"100rem",render:(jt,Ut)=>ns.createElement("a",{onClick:()=>{(Ut==null?void 0:Ut.container_type)==="Video"?Be.default.confirm({icon:null,title:"\u89C6\u9891\u64AD\u653E",centered:!0,closable:!0,footer:!1,width:600,content:ns.createElement(ls.Z,{allow_skip:!0,src:jt})}):E==="3"?ge(jt):window.open(jt)}},"\u67E5\u770B")}],rowSelection:{type:"radio",onChange(jt,Ut){le(Ut)}}}),ns.createElement(Yo.Z,{hideOnSinglePage:!0,style:{marginTop:"20rem"},total:pt==null?void 0:pt.total_count,current:nt==null?void 0:nt.page,pageSize:nt==null?void 0:nt.limit,onChange:(jt,Ut)=>{nt.page=jt,nt.limit=Ut,at(nt),bt()}}))};var So=(0,Ne.connect)(({pathsDetail:b,user:x,loading:E,globalSetting:z})=>({pathsDetail:b,user:x,globalSetting:z,loading:E.models.index}))(Kh),uu=Oe(18290),Ya=Oe(59301),Rh=Object.defineProperty,Zh=Object.defineProperties,Ac=Object.getOwnPropertyDescriptors,us=Object.getOwnPropertySymbols,th=Object.prototype.hasOwnProperty,nh=Object.prototype.propertyIsEnumerable,rh=(b,x,E)=>x in b?Rh(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,Pc=(b,x)=>{for(var E in x||(x={}))th.call(x,E)&&rh(b,E,x[E]);if(us)for(var E of us(x))nh.call(x,E)&&rh(b,E,x[E]);return b},od=(b,x)=>Zh(b,Ac(x)),Uc=(b,x)=>{var E={};for(var z in b)th.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&us)for(var z of us(b))x.indexOf(z)<0&&nh.call(b,z)&&(E[z]=b[z]);return E},Gc=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())});const Hc=b=>{var x=b,{typesdata:E,globalSetting:z,loading:te,dispatch:re,pathsDetail:oe,onChange:le,uuid:he,itemsuuid:ge}=x,Ae=Uc(x,["typesdata","globalSetting","loading","dispatch","pathsDetail","onChange","uuid","itemsuuid"]),Pe,We,Xe,qe,nt,at,pt,mt,bt,jt,Ut,Kt;let[Qt,Vt]=(0,Ue.useState)([]),[vn,wn]=(0,Ue.useState)(!1);const[kn,Vn]=(0,Ue.useState)([]),[vr,or]=(0,Ue.useState)(""),[Or,qr]=(0,Ue.useState)(""),[wr,Sr]=(0,Ue.useState)([]),[Tr,ri]=(0,Ue.useState)(!1);let[Cr,yi]=(0,Ue.useState)({bh:[],qx:[],hx:[],gl:[]});(0,Ue.useEffect)(()=>{Co()},[he]),(0,Ue.useEffect)(()=>{if(E){let Mi=JSON.parse(sessionStorage.getItem("typesdatajsoncopy"));yi(Mi)}return()=>{}},[E]);function Co(){return Gc(this,null,function*(){var Mi,$i,Lo,Jo,Ta,Bs;wn(!0);let js=yield(0,kt.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:he,subject_id:(Mi=oe==null?void 0:oe.detail)==null?void 0:Mi.id,depth:-1,relationshipFilter:"\u5305\u542B>"}});if(wn(!1),(js==null?void 0:js.status)===0){Vn(js==null?void 0:js.data);const Is=[...(0,ve.fX)((Lo=($i=js==null?void 0:js.data)==null?void 0:$i.nodes)==null?void 0:Lo.map((Ss,el)=>{var ms,ru;return od(Pc({},Ss),{key:(ms=Ss==null?void 0:Ss.properties)==null?void 0:ms.uuid,title:(ru=Ss==null?void 0:Ss.properties)==null?void 0:ru.name})}),(Bs=(Ta=(Jo=js==null?void 0:js.data)==null?void 0:Jo.relationships)==null?void 0:Ta.filter(Ss=>Ss.type==="\u5305\u542B"||Ss.type==="\u524D\u5E8F"))==null?void 0:Bs.filter((Ss,el,ms)=>el===ms.findIndex(ru=>ru.endNodeUuid===Ss.endNodeUuid))).children||[]];Qt=Is,qr(JSON.stringify(Is)),Vt(Is)}})}(0,Ue.useEffect)(()=>{le(Cr)},[Cr]);function wo(Mi,$i,Lo){for(let Jo of Mi)Jo!=null&&Jo.title.includes($i)&&Lo.push(Jo),Jo.children&&Jo.children.length>0&&(wo(Jo.children,$i,Lo),vi(Jo.children,$i,Lo)&&Lo.push(Jo))}function vi(Mi,$i,Lo){for(let Jo of Mi)if(Jo!=null&&Jo.title.includes($i))return!0}return Ya.createElement(Xt.Z,{spinning:vn},Ya.createElement("div",{className:Ki.body},Ya.createElement("div",{className:Ki.left},Ya.createElement("div",{className:Ki.header},Ya.createElement("div",null,"\u5171",Ya.createElement("span",{style:{color:"#1B8565"}},((We=(Pe=kn==null?void 0:kn.metricCounters)==null?void 0:Pe[0])==null?void 0:We.count)||0),"\u4E2A\u6807\u7B7E\u8282\u70B9\uFF0C",Ya.createElement("span",{style:{color:"#1B8565"}},((qe=(Xe=kn==null?void 0:kn.metricCounters)==null?void 0:Xe[1])==null?void 0:qe.count)||0),"\u4E2A\u77E5\u8BC6\u8282\u70B9"),Ya.createElement(Dt.default.Search,{style:{width:"350rem",borderRadius:"50%"},onChange:Mi=>{var $i,Lo,Jo;const{value:Ta}=Mi.target;or(Ta);let Bs=[];wo(JSON.parse(Or),Ta,Bs),Bs.push(($i=kn==null?void 0:kn.nodes)==null?void 0:$i[0]);const js=kn==null?void 0:kn.nodes.filter(Ss=>{var el;return((el=Ss==null?void 0:Ss.properties)==null?void 0:el.name.indexOf(Ta))>-1}).map(Ss=>{var el;return(el=Ss==null?void 0:Ss.properties)==null?void 0:el.uuid});Sr(js);const Is=[...(0,ve.fX)(Bs,(Jo=(Lo=kn==null?void 0:kn.relationships)==null?void 0:Lo.filter(Ss=>Ss.type==="\u5305\u542B"||Ss.type==="\u524D\u5E8F"))==null?void 0:Jo.filter((Ss,el,ms)=>el===ms.findIndex(ru=>ru.endNodeUuid===Ss.endNodeUuid)).filter(Ss=>(Bs==null?void 0:Bs.map(el=>el==null?void 0:el.key).includes(Ss.endNodeUuid))||(Bs==null?void 0:Bs.map(el=>el==null?void 0:el.key).includes(Ss.startNodeUuid)))).children||[]];Qt=Is,Vt(Is),ri(!0)},placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22"})),Ya.createElement(ie.default,{style:{marginTop:"30rem",maxHeight:"320rem",overflow:"auto"},showLine:!0,treeData:Qt,className:Ki.tree,expandedKeys:wr,onExpand:Mi=>{Sr(Mi),ri(!1)},autoExpandParent:Tr,blockNode:!0,switcherIcon:Ya.createElement(uu.Z,null),titleRender:Mi=>{var $i,Lo,Jo,Ta,Bs,js,Sa,Is,Ss,el,ms,ru,Ql,Ra,ws;return Ya.createElement("div",{className:Ki.treenode,key:($i=Mi==null?void 0:Mi.properties)==null?void 0:$i.uuid},Ya.createElement("div",{style:{width:"50%",display:"flex",alignItems:"center"}},((Lo=Cr==null?void 0:Cr.bh)==null?void 0:Lo.find($o=>{var va;return($o==null?void 0:$o.uuid)===((va=Mi==null?void 0:Mi.properties)==null?void 0:va.uuid)}))&&Ya.createElement("span",{className:Ki.settingtag,style:{background:"#6236ff"}},"\u5305\u542B"),((Jo=Cr==null?void 0:Cr.qx)==null?void 0:Jo.find($o=>{var va;return($o==null?void 0:$o.uuid)===((va=Mi==null?void 0:Mi.properties)==null?void 0:va.uuid)}))&&Ya.createElement("span",{className:Ki.settingtag,style:{background:"#24A881"}},"\u524D\u7F6E"),((Ta=Cr==null?void 0:Cr.hx)==null?void 0:Ta.find($o=>{var va;return($o==null?void 0:$o.uuid)===((va=Mi==null?void 0:Mi.properties)==null?void 0:va.uuid)}))&&Ya.createElement("span",{className:Ki.settingtag,style:{background:"#EC8657"}},"\u540E\u7F6E"),((Bs=Cr==null?void 0:Cr.gl)==null?void 0:Bs.find($o=>{var va;return($o==null?void 0:$o.uuid)===((va=Mi==null?void 0:Mi.properties)==null?void 0:va.uuid)}))&&Ya.createElement("span",{className:Ki.settingtag,style:{background:"#497DFF"}},"\u5173\u8054"),Ya.createElement("div",{className:Ki.multiple,title:Mi==null?void 0:Mi.title,dangerouslySetInnerHTML:{__html:(js=Mi==null?void 0:Mi.title)==null?void 0:js.replaceAll(vr,`<span style= "color: #00B187" >${vr}</span>`)},style:{width:"100%",fontSize:"14rem",color:"#000",fontWeight:400}})),Ya.createElement("div",{className:Ki.hudong},!((Sa=Cr==null?void 0:Cr.qx)!=null&&Sa.find($o=>{var va;return($o==null?void 0:$o.uuid)===((va=Mi==null?void 0:Mi.properties)==null?void 0:va.uuid)})||(Is=Cr==null?void 0:Cr.bh)!=null&&Is.find($o=>{var va;return($o==null?void 0:$o.uuid)===((va=Mi==null?void 0:Mi.properties)==null?void 0:va.uuid)})||(Ss=Cr==null?void 0:Cr.hx)!=null&&Ss.find($o=>{var va;return($o==null?void 0:$o.uuid)===((va=Mi==null?void 0:Mi.properties)==null?void 0:va.uuid)})||(el=Cr==null?void 0:Cr.gl)!=null&&el.find($o=>{var va;return($o==null?void 0:$o.uuid)===((va=Mi==null?void 0:Mi.properties)==null?void 0:va.uuid)}))&&ge!==((ms=Mi==null?void 0:Mi.properties)==null?void 0:ms.uuid)&&Ya.createElement("div",null,Ya.createElement("span",{onClick:()=>{var $o,va,Fa,Xs;if(!(((va=($o=Cr==null?void 0:Cr.bh)==null?void 0:$o.filter(ua=>{var vl;return(ua==null?void 0:ua.uuid)===((vl=Mi==null?void 0:Mi.properties)==null?void 0:vl.uuid)}))==null?void 0:va.length)>0)){let ua=[];ua.push({name:(Fa=Mi==null?void 0:Mi.properties)==null?void 0:Fa.name,uuid:(Xs=Mi==null?void 0:Mi.properties)==null?void 0:Xs.uuid}),yi({bh:[...ua,...Cr==null?void 0:Cr.bh],qx:Cr==null?void 0:Cr.qx,hx:Cr==null?void 0:Cr.hx,gl:Cr==null?void 0:Cr.gl})}},className:Ki.colortitle,style:{marginRight:"20rem"}},"\u8BBE\u4E3A\u5305\u542B"),Ya.createElement("span",{onClick:()=>{var $o,va,Fa,Xs;if(!(((va=($o=Cr==null?void 0:Cr.qx)==null?void 0:$o.filter(ua=>{var vl;return(ua==null?void 0:ua.uuid)===((vl=Mi==null?void 0:Mi.properties)==null?void 0:vl.uuid)}))==null?void 0:va.length)>0)){let ua=[];ua.push({name:(Fa=Mi==null?void 0:Mi.properties)==null?void 0:Fa.name,uuid:(Xs=Mi==null?void 0:Mi.properties)==null?void 0:Xs.uuid}),yi({qx:[...ua,...Cr==null?void 0:Cr.qx],hx:Cr==null?void 0:Cr.hx,bh:Cr==null?void 0:Cr.bh,gl:Cr==null?void 0:Cr.gl})}},className:Ki.colortitle},"\u8BBE\u4E3A\u524D\u7F6E"),Ya.createElement("span",{onClick:()=>{var $o,va,Fa,Xs;if(!(((va=($o=Cr==null?void 0:Cr.hx)==null?void 0:$o.filter(ua=>{var vl;return(ua==null?void 0:ua.uuid)===((vl=Mi==null?void 0:Mi.properties)==null?void 0:vl.uuid)}))==null?void 0:va.length)>0)){let ua=[];ua.push({name:(Fa=Mi==null?void 0:Mi.properties)==null?void 0:Fa.name,uuid:(Xs=Mi==null?void 0:Mi.properties)==null?void 0:Xs.uuid}),yi({qx:Cr==null?void 0:Cr.qx,hx:[...ua,...Cr==null?void 0:Cr.hx],bh:Cr==null?void 0:Cr.bh,gl:Cr==null?void 0:Cr.gl})}},style:{margin:"0rem 20rem"},className:Ki.colortitle},"\u8BBE\u4E3A\u540E\u7F6E"),Ya.createElement("span",{onClick:()=>{var $o,va,Fa,Xs;if(!(((va=($o=Cr==null?void 0:Cr.gl)==null?void 0:$o.filter(ua=>{var vl;return(ua==null?void 0:ua.uuid)===((vl=Mi==null?void 0:Mi.properties)==null?void 0:vl.uuid)}))==null?void 0:va.length)>0)){let ua=[];ua.push({name:(Fa=Mi==null?void 0:Mi.properties)==null?void 0:Fa.name,uuid:(Xs=Mi==null?void 0:Mi.properties)==null?void 0:Xs.uuid}),yi({qx:Cr==null?void 0:Cr.qx,hx:Cr==null?void 0:Cr.hx,gl:[...ua,...Cr==null?void 0:Cr.gl],bh:Cr==null?void 0:Cr.bh})}},className:Ki.colortitle},"\u8BBE\u4E3A\u5173\u8054")),Ya.createElement("span",{onClick:()=>{var $o;let va=($o=Cr==null?void 0:Cr.bh)==null?void 0:$o.filter(Fa=>{var Xs;return Fa.uuid!==((Xs=Mi==null?void 0:Mi.properties)==null?void 0:Xs.uuid)});yi({bh:va,hx:Cr==null?void 0:Cr.hx,qx:Cr==null?void 0:Cr.qx,gl:Cr==null?void 0:Cr.gl})}},((ru=Cr==null?void 0:Cr.bh)==null?void 0:ru.find($o=>{var va;return($o==null?void 0:$o.uuid)===((va=Mi==null?void 0:Mi.properties)==null?void 0:va.uuid)}))&&"\u53D6\u6D88\u5305\u542B"),Ya.createElement("span",{onClick:()=>{var $o;let va=($o=Cr==null?void 0:Cr.qx)==null?void 0:$o.filter(Fa=>{var Xs;return Fa.uuid!==((Xs=Mi==null?void 0:Mi.properties)==null?void 0:Xs.uuid)});yi({qx:va,hx:Cr==null?void 0:Cr.hx,bh:Cr==null?void 0:Cr.bh,gl:Cr==null?void 0:Cr.gl})}},((Ql=Cr==null?void 0:Cr.qx)==null?void 0:Ql.find($o=>{var va;return($o==null?void 0:$o.uuid)===((va=Mi==null?void 0:Mi.properties)==null?void 0:va.uuid)}))&&"\u53D6\u6D88\u524D\u7F6E"),Ya.createElement("span",{onClick:()=>{var $o;let va=($o=Cr==null?void 0:Cr.hx)==null?void 0:$o.filter(Fa=>{var Xs;return Fa.uuid!==((Xs=Mi==null?void 0:Mi.properties)==null?void 0:Xs.uuid)});yi({qx:Cr==null?void 0:Cr.qx,hx:va,bh:Cr==null?void 0:Cr.bh,gl:Cr==null?void 0:Cr.gl})}},((Ra=Cr==null?void 0:Cr.hx)==null?void 0:Ra.find($o=>{var va;return($o==null?void 0:$o.uuid)===((va=Mi==null?void 0:Mi.properties)==null?void 0:va.uuid)}))&&"\u53D6\u6D88\u540E\u7F6E"),Ya.createElement("span",{onClick:()=>{var $o;let va=($o=Cr==null?void 0:Cr.gl)==null?void 0:$o.filter(Fa=>{var Xs;return Fa.uuid!==((Xs=Mi==null?void 0:Mi.properties)==null?void 0:Xs.uuid)});yi({qx:Cr==null?void 0:Cr.qx,hx:Cr==null?void 0:Cr.hx,bh:Cr==null?void 0:Cr.bh,gl:va})}},((ws=Cr==null?void 0:Cr.gl)==null?void 0:ws.find($o=>{var va;return($o==null?void 0:$o.uuid)===((va=Mi==null?void 0:Mi.properties)==null?void 0:va.uuid)}))&&"\u53D6\u6D88\u5173\u8054")))}})),Ya.createElement("div",{className:Ki.right},Ya.createElement("div",{className:Ki.title},"\u5DF2\u5173\u8054\u5173\u7CFB"),Ya.createElement("div",{style:{padding:"20rem 25rem"}},Ya.createElement("div",{className:Ki.gxtitle},Ya.createElement("div",{className:Ki.Colortitle,style:{background:"#6236ff"}}),Ya.createElement("div",null,"\u88AB\u5305\u542B\uFF08",(nt=Cr.bh)==null?void 0:nt.length,"\uFF09")),Ya.createElement("div",{className:Ki.gxbody},(at=Cr==null?void 0:Cr.bh)==null?void 0:at.map(Mi=>Ya.createElement("div",{className:Ki.tag,style:{background:"#6236ff"}},Ya.createElement("span",{style:{marginRight:"10rem"}},Mi==null?void 0:Mi.name)," ",Ya.createElement(xs.Z,{onClick:()=>{var $i;let Lo=($i=Cr==null?void 0:Cr.bh)==null?void 0:$i.filter(Jo=>Jo.uuid!==Mi.uuid);yi({bh:Lo,hx:Cr==null?void 0:Cr.hx,qx:Cr==null?void 0:Cr.qx,gl:Cr==null?void 0:Cr.gl})}})))),Ya.createElement("div",{className:Ki.gxtitle,style:{marginTop:"30rem"}},Ya.createElement("div",{className:Ki.Colortitle,style:{background:"#24A881"}}),Ya.createElement("div",null,"\u524D\u5E8F\uFF08",(pt=Cr.qx)==null?void 0:pt.length,"\uFF09")),Ya.createElement("div",{className:Ki.gxbody},(mt=Cr==null?void 0:Cr.qx)==null?void 0:mt.map(Mi=>Ya.createElement("div",{className:Ki.tag,style:{background:"#24A881"}},Ya.createElement("span",{style:{marginRight:"10rem"}},Mi==null?void 0:Mi.name)," ",Ya.createElement(xs.Z,{onClick:()=>{var $i;let Lo=($i=Cr==null?void 0:Cr.qx)==null?void 0:$i.filter(Jo=>Jo.uuid!==Mi.uuid);yi({qx:Lo,hx:Cr==null?void 0:Cr.hx,bh:Cr==null?void 0:Cr.bh,gl:Cr==null?void 0:Cr.gl})}})))),Ya.createElement("div",{className:Ki.gxtitle,style:{marginTop:"30rem"}},Ya.createElement("div",{className:Ki.Colortitle,style:{background:"#EC8657"}}),Ya.createElement("div",null,"\u540E\u5E8F\uFF08",(bt=Cr.hx)==null?void 0:bt.length,"\uFF09")),Ya.createElement("div",{className:Ki.gxbody},(jt=Cr==null?void 0:Cr.hx)==null?void 0:jt.map(Mi=>Ya.createElement("div",{className:Ki.tag,style:{background:"#EC8657"}},Ya.createElement("span",{style:{marginRight:"10rem"}},Mi==null?void 0:Mi.name)," ",Ya.createElement(xs.Z,{onClick:()=>{var $i;let Lo=($i=Cr==null?void 0:Cr.hx)==null?void 0:$i.filter(Jo=>Jo.uuid!==Mi.uuid);yi({qx:Cr==null?void 0:Cr.qx,bh:Cr==null?void 0:Cr.bh,hx:Lo,gl:Cr==null?void 0:Cr.gl})}})))),Ya.createElement("div",{className:Ki.gxtitle,style:{marginTop:"30rem"}},Ya.createElement("div",{className:Ki.Colortitle,style:{background:"#497DFF"}}),Ya.createElement("div",null,"\u5173\u8054\uFF08",(Ut=Cr.gl)==null?void 0:Ut.length,"\uFF09")),Ya.createElement("div",{className:Ki.gxbody},(Kt=Cr==null?void 0:Cr.gl)==null?void 0:Kt.map(Mi=>Ya.createElement("div",{className:Ki.tag,style:{background:"#497DFF"}},Ya.createElement("span",{style:{marginRight:"10rem"}},Mi==null?void 0:Mi.name)," ",Ya.createElement(xs.Z,{onClick:()=>{var $i;let Lo=($i=Cr==null?void 0:Cr.gl)==null?void 0:$i.filter(Jo=>Jo.uuid!==Mi.uuid);yi({qx:Cr==null?void 0:Cr.qx,bh:Cr==null?void 0:Cr.bh,hx:Cr==null?void 0:Cr.hx,gl:Lo})}}))))))))};var yf=(0,Ne.connect)(({pathsDetail:b,user:x,loading:E,globalSetting:z})=>({pathsDetail:b,user:x,globalSetting:z,loading:E.models.index}))(Hc),ef=Oe(89392),uc=Oe(2119),Gg=Oe(16996),xf=Oe(59301),Yh=Object.getOwnPropertySymbols,ih=Object.prototype.hasOwnProperty,vh=Object.prototype.propertyIsEnumerable,Nc=(b,x)=>{var E={};for(var z in b)ih.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&Yh)for(var z of Yh(b))x.indexOf(z)<0&&vh.call(b,z)&&(E[z]=b[z]);return E},Mc=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())});const Bc=[3,2,1];let Zs=null;const Ll=b=>{var x=b,{pathsDetail:E,user:z,globalSetting:te,loading:re,dispatch:oe,datas:le,items:he}=x,ge=Nc(x,["pathsDetail","user","globalSetting","loading","dispatch","datas","items"]);const Ae=(0,Ue.useRef)(),Pe=(0,Ue.useRef)(),We=(0,Ue.useRef)(null);(0,Ue.useEffect)(()=>{qe()},[le]),(0,Ue.useEffect)(()=>(window.addEventListener("resize",Xe),()=>{window.removeEventListener("resize",Xe)}),[]);function Xe(){var nt,at;(at=(nt=Ae.current)==null?void 0:nt.update)==null||at.call(nt)}function qe(){return Mc(this,null,function*(){var nt,at,pt,mt,bt,jt,Ut,Kt;if(((nt=le==null?void 0:le.nodes)==null?void 0:nt.length)>0){let Qt=(at=le==null?void 0:le.nodes)==null?void 0:at.filter(vn=>{var wn;return he==null?void 0:he.includes((wn=vn==null?void 0:vn.properties)==null?void 0:wn.uuid)}).map(vn=>{var wn,kn,Vn,vr,or,Or,qr,wr,Sr,Tr,ri,Cr;return{rootNodeUuid:(wn=vn==null?void 0:vn.properties)==null?void 0:wn.rootNodeUuid,id:((kn=vn==null?void 0:vn.properties)==null?void 0:kn.uuid)+"_",name:(Vn=vn==null?void 0:vn.properties)==null?void 0:Vn.name,description:(vr=vn==null?void 0:vn.properties)==null?void 0:vr.description,nodeType:(or=vn==null?void 0:vn.properties)==null?void 0:or.nodeType,tags:((Or=vn==null?void 0:vn.properties)==null?void 0:Or.tags)&&((Sr=(wr=(qr=vn==null?void 0:vn.properties)==null?void 0:qr.tags)==null?void 0:wr.split("\uFF0C"))==null?void 0:Sr.map(yi=>({name:yi}))),colorType:parseInt((Tr=vn==null?void 0:vn.properties)==null?void 0:Tr.color)>3?"3":(ri=vn==null?void 0:vn.properties)==null?void 0:ri.color,activeColor:"#FA6400",size:Bc[((Cr=vn==null?void 0:vn.properties)==null?void 0:Cr.color)-1]||1,shape:"circle",hide:!1,isExtendedState:!0}}),Vt=(jt=(bt=(mt=(pt=le==null?void 0:le.relationships)==null?void 0:pt.filter(vn=>{var wn,kn,Vn,vr,or,Or;return vn.endNodeUuid!==((Vn=(kn=(wn=le==null?void 0:le.nodes)==null?void 0:wn[0])==null?void 0:kn.properties)==null?void 0:Vn.rootNodeUuid)&&vn.startNodeUuid!==((Or=(or=(vr=le==null?void 0:le.nodes)==null?void 0:vr[0])==null?void 0:or.properties)==null?void 0:Or.rootNodeUuid)}))==null?void 0:mt.filter(vn=>(he==null?void 0:he.includes(vn.startNodeUuid))&&(he==null?void 0:he.includes(vn.endNodeUuid))))==null?void 0:bt.filter(vn=>vn.type==="\u5305\u542B"||vn.type==="\u524D\u5E8F"||vn.type==="\u5173\u8054"))==null?void 0:jt.map(vn=>({hide:!1,id:(vn==null?void 0:vn.endNodeUuid)+"_",label:vn==null?void 0:vn.type,props:[],colorType:1,sourceRadius:32,targetRadius:32,source:(vn==null?void 0:vn.startNodeUuid)+"_",target:(vn==null?void 0:vn.endNodeUuid)+"_",value:10}));Ae.current=null,Pe.current.innerHTML="",Ae.current=new Gg.createContainer({containerName:"#graphRefs",width:((Ut=Pe==null?void 0:Pe.current)==null?void 0:Ut.clientWidth)||0,height:((Kt=Pe==null?void 0:Pe.current)==null?void 0:Kt.clientHeight)||0,toolbarData:[],clickToggle:!1,background:"#fff",isShowMask:!1,nodes:Qt,links:Vt,zoomOptions:{minScale:.2,maxScale:5},nodeMouseover:function(vn){return vn},nodeClick:function(vn){var wn;return(wn=Ae==null?void 0:Ae.current)==null||wn.selectToNode(vn.id),vn},layout:{force:!1,x:20,y:60}}),Ae.current.zoomOut()}})}return xf.createElement("div",{ref:We,style:{background:"#fff",height:"455rem"}},xf.createElement("div",{style:{width:"100%",height:"455rem"},ref:Pe,id:"graphRefs"}))};var Rc=(0,Ne.connect)(({pathsDetail:b,user:x,loading:E,globalSetting:z})=>({pathsDetail:b,user:x,globalSetting:z,loading:E.models.index}))(Ll),Tu="data:image/png;base64,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",ku="data:image/png;base64,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",cu="data:image/png;base64,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",wu="data:image/png;base64,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",Du=Oe(28103),Fu=Oe(42441),tf=Oe(76411),Qu=Oe(48961),Iu=Oe(59301),kh=({dataSource:b,height:x,labelTextColor:E})=>{console.log("dataSource:",b);const z=(0,Ue.useRef)(null),te=(0,Ue.useRef)(null),[re,oe]=(0,Ue.useState)({}),[le,he]=(0,Ue.useState)(""),[ge,Ae]=(0,Ue.useState)(""),Pe=b||[{name:"\u638C\u63E1\u738780%~100%",value:1,itemStyle:{color:"rgb(223,209,38)"}},{name:"\u638C\u63D0\u738760%~79%",value:2,itemStyle:{color:"rgb(6,234,230)"}},{name:"\u638C\u63A8\u738759%\u4EE5\u4E0B",value:3,itemStyle:{color:"rgb(6,110,247)"}}];(0,Ue.useEffect)(()=>(Xe(),window.addEventListener("resize",We),()=>{window.removeEventListener("resize",We)}),[]),(0,Ue.useEffect)(()=>{b!=null&&b.length&&We()},[b]);const We=()=>{var bt,jt;const Ut=qe(Pe,.8);(bt=te.current)==null||bt.setOption(Ut),(jt=te.current)==null||jt.resize()},Xe=()=>{const bt=z.current;te.current=tf.init(bt);const jt=qe(Pe,.8);oe(jt),te.current.setOption(jt),te.current.getZr().off("mousewheel"),jt.series.push({name:"\u638C\u63E1\u7387",type:"pie",labelLine:{length:10,length2:10},startAngle:-20,clockwise:!1,radius:["20%","50%"],center:["50%","50%"],data:Pe,itemStyle:{opacity:0}}),te.current.setOption(jt),mt(te.current)},qe=(bt,jt)=>{let Ut,Kt=[],Qt=0,Vt=0,vn=0,wn=[],kn=[],Vn=1-jt;bt.sort((or,Or)=>Or.value-or.value);for(let or=0;or<bt.length;or++){Qt+=bt[or].value;let Or={name:typeof bt[or].name=="undefined"?`series${or}`:bt[or].name,type:"surface",parametric:!0,wireframe:{show:!1},pieData:bt[or],pieStatus:{selected:!1,hovered:!1,k:Vn},center:["10%","50%"]};if(typeof bt[or].itemStyle!="undefined"){let qr={};typeof bt[or].itemStyle.color!="undefined"&&(qr.color=bt[or].itemStyle.color),typeof bt[or].itemStyle.opacity!="undefined"&&(qr.opacity=bt[or].itemStyle.opacity),Or.itemStyle=qr}Kt.push(Or)}wn=[],kn=[];for(let or=0;or<Kt.length;or++){vn=Vt+Kt[or].pieData.value,Kt[or].pieData.startRatio=Vt/Qt,Kt[or].pieData.endRatio=vn/Qt,Kt[or].parametricEquation=at(Kt[or].pieData.startRatio,Kt[or].pieData.endRatio,!1,!1,Vn,Kt[or].pieData.value),Vt=vn;let Or=pt(Kt[or].pieData.value/Qt,4);wn.push({name:Kt[or].name,value:Or}),kn.push({name:Kt[or].name,value:Or})}let vr=nt(Kt,26);return{legend:{data:wn,orient:"horizontal",left:10,top:10,itemGap:10,textStyle:{color:"#A1E2FF"},show:!0,icon:"circle",formatter:function(or){let Or=kn.filter(wr=>wr.name===or)[0],qr=pt(Or.value*100,2)+"%";return`${Or.name} ${qr}`}},labelLine:{show:!0,lineStyle:{color:"#7BC0CB"}},label:{show:!0,position:"outside",rich:{b:{color:E||"#FFF",fontSize:12,lineHeight:20},c:{fontSize:16,lineHeight:24,color:E||"#FFF"}},formatter:`{b|{b}
}{c|{c}}{b|}`},xAxis3D:{min:-1,max:1},yAxis3D:{min:-1,max:1},zAxis3D:{min:-1,max:1},grid3D:{show:!1,boxHeight:vr,viewControl:{alpha:40,distance:300,rotateSensitivity:0,zoomSensitivity:0,panSensitivity:0,autoRotate:!1}},series:Kt}},nt=(bt,jt)=>(bt.sort((Ut,Kt)=>Kt.pieData.value-Ut.pieData.value),jt*25/bt[0].pieData.value),at=(bt,jt,Ut,Kt,Qt,Vt)=>{let vn=(bt+jt)/2,wn=bt*Math.PI*2,kn=jt*Math.PI*2,Vn=vn*Math.PI*2;bt===0&&jt===1&&(Ut=!1),Qt=typeof Qt!="undefined"?Qt:1/3;let vr=Ut?Math.cos(Vn)*.1:0,or=Ut?Math.sin(Vn)*.1:0,Or=Kt?1.05:1;return{u:{min:-Math.PI,max:Math.PI*3,step:Math.PI/32},v:{min:0,max:Math.PI*2,step:Math.PI/20},x:function(qr,wr){return qr<wn?vr+Math.cos(wn)*(1+Math.cos(wr)*Qt)*Or:qr>kn?vr+Math.cos(kn)*(1+Math.cos(wr)*Qt)*Or:vr+Math.cos(qr)*(1+Math.cos(wr)*Qt)*Or},y:function(qr,wr){return qr<wn?or+Math.sin(wn)*(1+Math.cos(wr)*Qt)*Or:qr>kn?or+Math.sin(kn)*(1+Math.cos(wr)*Qt)*Or:or+Math.sin(qr)*(1+Math.cos(wr)*Qt)*Or},z:function(qr,wr){return qr<-Math.PI*.5?Math.sin(qr):qr>Math.PI*2.5?Math.sin(qr)*Vt*.1:Math.sin(wr)>0?1*Vt*.1:-1}}},pt=(bt,jt)=>{let Ut=parseFloat(bt);if(isNaN(Ut))return!1;Ut=Math.round(bt*Math.pow(10,jt))/Math.pow(10,jt);let Kt=Ut.toString();Kt.indexOf(".")<0&&(Kt+=".");for(let Vt=Kt.length-Kt.indexOf(".");Vt<=jt;Vt++)Kt+="0";return Kt},mt=()=>{te.current.on("click",function(bt){if(bt.seriesName==="pie2d"){he(bt.dataIndex);let jt=te.current.getWidth()/2,Ut=te.current.getHeight()/2;te.current.dispatchAction({type:"pieSelect",seriesIndex:0,dataIndex:bt.dataIndex})}}),te.current.on("mousemove",function(bt){}),te.current.on("mouseout",function(){te.current.dispatchAction({type:"pieUnSelect",seriesIndex:0,dataIndex:ge}),Ae("")})};return Iu.createElement("div",{ref:z,style:{width:"100%",height:x||"500rem"}})};const Kf=b=>({tooltip:{trigger:"item"},legend:{top:"0%",left:"center"},series:[{name:"\u5B8C\u6210\u5360\u6BD4\u60C5\u51B5",type:"pie",radius:["40%","70%"],avoidLabelOverlap:!1,itemStyle:{borderRadius:10,borderColor:"#fff",borderWidth:2},label:{show:!1,position:"center"},emphasis:{label:{show:!0,fontSize:14,fontWeight:"bold"}},labelLine:{show:!1},data:b}]});var Da=Oe(55870),Cl=Oe(59301),dr=Object.defineProperty,wi=Object.getOwnPropertySymbols,Zf=Object.prototype.hasOwnProperty,Yf=Object.prototype.propertyIsEnumerable,Xh=(b,x,E)=>x in b?dr(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,Fd=(b,x)=>{for(var E in x||(x={}))Zf.call(x,E)&&Xh(b,E,x[E]);if(wi)for(var E of wi(x))Yf.call(x,E)&&Xh(b,E,x[E]);return b},nf=(b,x)=>{var E={};for(var z in b)Zf.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&wi)for(var z of wi(b))x.indexOf(z)<0&&Yf.call(b,z)&&(E[z]=b[z]);return E},Pp=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())});const sp=[{name:"",value:0,itemStyle:{color:"rgb(223,209,38)"}},{name:"",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"",value:0,itemStyle:{color:"rgb(6,110,247)"}}],Gu=b=>{var x=b,{pathsDetail:E,user:z,globalSetting:te,loading:re,dispatch:oe,uuid:le}=x,he=nf(x,["pathsDetail","user","globalSetting","loading","dispatch","uuid"]),ge,Ae,Pe,We,Xe;let[qe,nt]=(0,Ue.useState)({subject_id:(ge=E==null?void 0:E.detail)==null?void 0:ge.id,course_id:"",parentNodeUuid:le,type:1});const[at,pt]=(0,Ue.useState)(),[mt,bt]=(0,Ue.useState)([]),[jt,Ut]=(0,Ue.useState)([]),[Kt]=(0,Ne.useSearchParams)();(0,Ue.useEffect)(()=>{Qt()},[le]);function Qt(){return Pp(this,null,function*(){var Vt,vn,wn;let kn=yield(0,kt.ZP)("/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:qe});pt(kn);let Vn=Object.entries((Vt=kn==null?void 0:kn.data)==null?void 0:Vt.study_grasp_hash).map(([or,Or],qr)=>({name:or,value:Or,itemStyle:sp[qr].itemStyle})),vr=Object.entries((vn=kn==null?void 0:kn.data)==null?void 0:vn.study_complete_hash).map(([or,Or],qr)=>({name:or,value:Or}));Ut(vr),((wn=Vn==null?void 0:Vn.filter(or=>(or==null?void 0:or.value)>0))==null?void 0:wn.length)===0?bt([]):bt(Vn)})}return Cl.createElement("div",{className:Ki.DetailStatistics},Kt.get("type")!=="classrooms"&&Cl.createElement("div",{className:Ki.header},Cl.createElement("span",{className:Ki.title},"\u7EDF\u8BA1\u8303\u56F4"),Cl.createElement(xt.ZP.Group,{onChange:Vt=>{qe.type=Vt.target.value,nt(Fd({},qe)),Qt()},value:qe.type},Cl.createElement(xt.ZP,{value:1},"\u5168\u90E8"),Cl.createElement(xt.ZP,{value:2},"\u81EA\u4E3B\u5B66\u4E60"),Cl.createElement(xt.ZP,{value:3},"\u8BFE\u5802\u5B66\u4E60")),(qe==null?void 0:qe.type)===3&&Cl.createElement(Ie.default,{onChange:Vt=>{qe.course_id=Vt,nt(Fd({},qe)),Qt()},style:{marginLeft:"-15rem",width:"148rem",height:"36rem"}},(Ae=at==null?void 0:at.courses)==null?void 0:Ae.map(Vt=>Cl.createElement(Ie.default.Option,{value:Vt==null?void 0:Vt.id},Vt==null?void 0:Vt.name)))),Cl.createElement("div",{style:{marginTop:"16rem",display:"flex"}},Cl.createElement("div",{className:Ki.left,style:{backgroundImage:`url(${Tu}),linear-gradient(180deg, rgba(221, 233, 241, 0.4) 0%, rgba(255, 255, 255, 0.49) 100%)`}},Cl.createElement("img",{src:ku}),Cl.createElement("div",{style:{marginTop:"20rem"}},Cl.createElement("div",{className:Ki.xxrs},"\u5B66\u4E60\u4EBA\u6570"),Cl.createElement("div",{className:Ki.xxrscount},(Pe=at==null?void 0:at.data)==null?void 0:Pe.study_count))),Cl.createElement("div",{className:Ki.right},Cl.createElement("div",{className:Ki.righttop},Cl.createElement("img",{src:cu}),Cl.createElement("div",null,Cl.createElement("div",{className:Ki.xxrs},"\u5B66\u4E60\u5B8C\u6210\u7387"),Cl.createElement("div",{className:Ki.xxrscount},(We=at==null?void 0:at.data)==null?void 0:We.study_complete_rate,"%"))),Cl.createElement("div",{className:Ki.rightbottom},Cl.createElement("img",{src:wu}),Cl.createElement("div",null,Cl.createElement("div",{className:Ki.xxrs},"\u5B66\u4E60\u638C\u63E1\u7387"),Cl.createElement("div",{className:Ki.xxrscount},(Xe=at==null?void 0:at.data)==null?void 0:Xe.study_grasp_rate,"%"))))),Cl.createElement(Du.Z,{variant:"dashed",style:{borderColor:"#333333"},dashed:!0},"\u5B8C\u6210\u5360\u6BD4\u60C5\u51B5"),Cl.createElement(Fu.Z,{option:Kf(jt),style:{height:300,width:400},opts:{renderer:"svg"}}),Cl.createElement(Du.Z,{variant:"dashed",style:{borderColor:"#333333"},dashed:!0},"\u638C\u63A7\u7387"),(mt==null?void 0:mt.length)>0?Cl.createElement(kh,{labelTextColor:"#333",dataSource:mt}):Cl.createElement(Da.NoData,{children:Cl.createElement("div",{style:{textAlign:"center",fontSize:"14rem"}},"\u6682\u65E0\u638C\u63A7\u7387\u6570\u636E")}))};var Ps=(0,Ne.connect)(({pathsDetail:b,user:x,loading:E,globalSetting:z})=>({pathsDetail:b,user:x,globalSetting:z,loading:E.models.index}))(Gu),cl=Oe(59301),Vc=Object.defineProperty,$l=Object.getOwnPropertySymbols,xl=Object.prototype.hasOwnProperty,cc=Object.prototype.propertyIsEnumerable,on=(b,x,E)=>x in b?Vc(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,En=(b,x)=>{for(var E in x||(x={}))xl.call(x,E)&&on(b,E,x[E]);if($l)for(var E of $l(x))cc.call(x,E)&&on(b,E,x[E]);return b},Dn=(b,x)=>{var E={};for(var z in b)xl.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&$l)for(var z of $l(b))x.indexOf(z)<0&&cc.call(b,z)&&(E[z]=b[z]);return E},Ar=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())});const Pr=[{name:"",value:0,itemStyle:{color:"rgb(223,209,38)"}},{name:"",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"",value:0,itemStyle:{color:"rgb(6,110,247)"}}],Xr=b=>{var x=b,{pathsDetail:E,user:z,globalSetting:te,loading:re,dispatch:oe,uuid:le}=x,he=Dn(x,["pathsDetail","user","globalSetting","loading","dispatch","uuid"]),ge,Ae,Pe,We,Xe;let[qe,nt]=(0,Ue.useState)({subject_id:(ge=E==null?void 0:E.detail)==null?void 0:ge.id,course_id:"",parentNodeUuid:le,type:1});const[at,pt]=(0,Ue.useState)(),[mt,bt]=(0,Ue.useState)([]),[jt]=(0,Ne.useSearchParams)(),[Ut,Kt]=(0,Ue.useState)([]);(0,Ue.useEffect)(()=>{Qt()},[le]);function Qt(){return Ar(this,null,function*(){var Vt,vn,wn;let kn=yield(0,kt.ZP)("/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:qe});pt(kn);let Vn=Object.entries((Vt=kn==null?void 0:kn.data)==null?void 0:Vt.study_grasp_hash).map(([or,Or],qr)=>({name:or,value:Or,itemStyle:Pr[qr].itemStyle})),vr=Object.entries((vn=kn==null?void 0:kn.data)==null?void 0:vn.study_complete_hash).map(([or,Or],qr)=>({name:or,value:Or}));Kt(vr),((wn=Vn==null?void 0:Vn.filter(or=>(or==null?void 0:or.value)>0))==null?void 0:wn.length)===0?bt([]):bt(Vn)})}return cl.createElement("div",{className:Ki.DetailStatistics},jt.get("type")!=="classrooms"&&cl.createElement("div",{className:Ki.header},cl.createElement("span",{className:Ki.title},"\u7EDF\u8BA1\u8303\u56F4"),cl.createElement(xt.ZP.Group,{onChange:Vt=>{qe.type=Vt.target.value,nt(En({},qe)),Qt()},value:qe.type},cl.createElement(xt.ZP,{value:1},"\u5168\u90E8"),cl.createElement(xt.ZP,{value:2},"\u81EA\u4E3B\u5B66\u4E60"),cl.createElement(xt.ZP,{value:3},"\u8BFE\u5802\u5B66\u4E60")),(qe==null?void 0:qe.type)===3&&cl.createElement(Ie.default,{onChange:Vt=>{qe.course_id=Vt,nt(En({},qe)),Qt()},style:{marginLeft:"-15rem",width:"148rem",height:"36rem"}},(Ae=at==null?void 0:at.courses)==null?void 0:Ae.map(Vt=>cl.createElement(Ie.default.Option,{value:Vt==null?void 0:Vt.id},Vt==null?void 0:Vt.name)))),cl.createElement("div",{style:{marginTop:"16rem",display:"flex"}},cl.createElement("div",{className:Ki.left,style:{backgroundImage:`url(${Tu}),linear-gradient(180deg, rgba(221, 233, 241, 0.4) 0%, rgba(255, 255, 255, 0.49) 100%)`}},cl.createElement("img",{src:ku}),cl.createElement("div",{style:{marginTop:"20rem"}},cl.createElement("div",{className:Ki.xxrs},"\u5B66\u4E60\u4EBA\u6570"),cl.createElement("div",{className:Ki.xxrscount},(Pe=at==null?void 0:at.data)==null?void 0:Pe.study_count))),cl.createElement("div",{className:Ki.right},cl.createElement("div",{className:Ki.righttop},cl.createElement("img",{src:cu}),cl.createElement("div",null,cl.createElement("div",{className:Ki.xxrs},"\u5B66\u4E60\u5B8C\u6210\u7387"),cl.createElement("div",{className:Ki.xxrscount},(We=at==null?void 0:at.data)==null?void 0:We.study_complete_rate,"%"))),cl.createElement("div",{className:Ki.rightbottom},cl.createElement("img",{src:wu}),cl.createElement("div",null,cl.createElement("div",{className:Ki.xxrs},"\u5B66\u4E60\u638C\u63E1\u7387"),cl.createElement("div",{className:Ki.xxrscount},(Xe=at==null?void 0:at.data)==null?void 0:Xe.study_grasp_rate,"%"))))),cl.createElement(Du.Z,{variant:"dashed",style:{borderColor:"#333333"},dashed:!0},"\u5B8C\u6210\u5360\u6BD4\u60C5\u51B5"),cl.createElement(Fu.Z,{option:Kf(Ut),style:{height:300,width:400},opts:{renderer:"svg"}}),cl.createElement(Du.Z,{variant:"dashed",style:{borderColor:"#333333"},dashed:!0},"\u638C\u63A7\u7387"),(mt==null?void 0:mt.length)>0?cl.createElement(kh,{labelTextColor:"#333",dataSource:mt}):cl.createElement(ja.Z,{children:cl.createElement("div",{style:{textAlign:"center",fontSize:"14rem"}},"\u6682\u65E0\u638C\u63A7\u7387\u6570\u636E")}))};var ei=(0,Ne.connect)(({pathsDetail:b,user:x,loading:E,globalSetting:z})=>({pathsDetail:b,user:x,globalSetting:z,loading:E.models.index}))(Xr),mi=Oe(79646),Ci="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAXlJREFUOE/VlD1Lw1AUhp+YmkGQSnFR8AcUoSJ+LiKCqINQqIODbk51ETpaVHTyD6h/QQddXMRNRal1qLaDOhSFQicdiiKUNrkSmzQxH6WCg2a6Iec+7z3ve24kIYTMLz7SPwSmozPI2h6InroTkqQvywjOQNlm4PDczyV3yxfDT4AFa97fAmhxN/C0u9o8w6wUtYUkFdzAk1CVyC4E+x3cr7YBY7NTtZSB7DLewKF9Xa4xwAnUfU7P+wBHjjy6dgqY77a2r2MG8GV9CaQdhAhYJI8NnuYqEBgFqQ1SswawmEiCttnQIxfMdmKlD5QIXE0ZwMJKGPUjV0uqyYzNbPR6OQTBRbgct3mYX7hDiN46zr7BHq6fYGccUlEb8GFuDaFuuKbCNwtDURgFHdOQTdqA97Ewlfec75xZ99DbE6ULno8dY5MZs9r2mV/fbPQPr3kH8GZwFVXd+lE4doXyW/H7TbmdaKf0eIBWmQRamszbLNOQWxN//wf7CYUnn95U81GtAAAAAElFTkSuQmCC",Wi=Oe(79124),Gr=Oe(59301),_i=Object.defineProperty,xo=Object.defineProperties,ki=Object.getOwnPropertyDescriptors,Ko=Object.getOwnPropertySymbols,Ei=Object.prototype.hasOwnProperty,so=Object.prototype.propertyIsEnumerable,Vo=(b,x,E)=>x in b?_i(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,ba=(b,x)=>{for(var E in x||(x={}))Ei.call(x,E)&&Vo(b,E,x[E]);if(Ko)for(var E of Ko(x))so.call(x,E)&&Vo(b,E,x[E]);return b},ka=(b,x)=>xo(b,ki(x)),Pa=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())});const Za=[{name:"\u57FA\u672C\u4FE1\u606F",key:1},{name:"\u5B66\u4E60\u7EDF\u8BA1",key:3}];let Ga=[{name:"\u4F5C\u4E1A",id:"zy",item_type:2},{name:"\u5B9E\u8BAD",id:"sx",item_type:2},{name:"\u6559\u6750",id:"jc",item_type:2},{name:"\u89C6\u9891",id:"sp",item_type:2},{name:"\u8BFE\u4EF6",id:"kj",item_type:2},{name:"\u8BD5\u5377",id:"sj",item_type:2},{name:"\u9898\u96C6",id:"tj",item_type:2}],Fo=[{name:"\u7AE0\u8282",id:"zj",item_type:1},{name:"\u77E5\u8BC6\u70B9",id:"zsd",item_type:1}];const rl=({pathsDetail:b,user:x,globalSetting:E,loading:z,dispatch:te,items:re,showdetail:oe,setshowdetail:le,containerRef:he,getData:ge,setshow:Ae,Tabsdatas:Pe,uuid:We,tpacti:Xe,initdata:qe})=>{var nt,at,pt,mt,bt,jt,Ut,Kt,Qt,Vt,vn,wn,kn,Vn,vr,or,Or,qr,wr,Sr,Tr,ri,Cr,yi,Co,wo,vi,Mi,$i,Lo,Jo,Ta,Bs,js,Sa,Is,Ss,el;const[ms,ru]=(0,Ue.useState)(0),[Ql]=St.default.useForm(),[Ra,ws]=(0,Ue.useState)({});let[$o,va]=(0,Ue.useState)(!1);const[Fa,Xs]=(0,Ue.useState)(!1),[ua,vl]=(0,Ue.useState)("1"),[Js,Yu]=(0,Ue.useState)([]),[du,Mu]=(0,Ue.useState)(1),[Lu,vu]=(0,Ue.useState)(2),[$c,Cp]=(0,Ue.useState)(2),[bp,Cc]=(0,Ue.useState)(),[fh,Wg]=(0,Ue.useState)();let[Aa,Ws]=(0,Ue.useState)([]);const[Hl,Nl]=(0,Ue.useState)({}),[Bl,kd]=(0,Ue.useState)(!1),[wv,lm]=(0,Ue.useState)(""),[a1,$E]=(0,Ue.useState)([]),[Lx]=(0,Ne.useSearchParams)(),[XS,$p]=(0,Ue.useState)(!1),[s1,op]=(0,Ue.useState)([]),[L0,Ec]=(0,Ue.useState)([]),[Xu,bc]=(0,Ue.useState)([]);let[rd,ds]=(0,Ue.useState)({tags:[],tagszy:[],tagslx:[]});const[gf,ap]=(0,Ue.useState)([{label:"\u5B9E\u8BAD",children:Gr.createElement(So,{getother:um,types:"1",ktzykey:ua,onChange:eo=>{Yu(eo)}}),key:"1"},{label:"\u89C6\u9891",children:Gr.createElement(So,{getother:um,types:"2",ktzykey:ua,onChange:eo=>{Yu(eo)}}),key:"2"},{label:"\u8BFE\u4EF6",children:Gr.createElement(So,{getother:um,types:"3",ktzykey:ua,onChange:eo=>{Yu(eo)}}),key:"3"},{label:"\u8BD5\u5377",children:Gr.createElement(So,{getother:um,types:"4",ktzykey:ua,onChange:eo=>{Yu(eo)}}),key:"4"}].filter(eo=>!!eo));let[Vf,ey]=(0,Ue.useState)([]),[Tx,eA]=(0,Ue.useState)([]);const[sT,C2]=(0,Ue.useState)(0),[lT,b2]=(0,Ue.useState)(0),[T0,uT]=(0,Ue.useState)([]),[al,D0]=(0,Ue.useState)({bh:[],qx:[],hx:[],gl:[]}),cT=eo=>te({type:"userDetail/logWatchHistory",payload:ba({},eo)}),hT={maxCount:1,fileList:Aa,accept:((at=(nt=Ra==null?void 0:Ra.label)==null?void 0:nt[0])==null?void 0:at.name)==="\u89C6\u9891"?".mp4":"",withCredentials:!0,beforeUpload:eo=>{var nl,iu;if(!(eo.type==="video/mp4")&&((iu=(nl=Ra==null?void 0:Ra.label)==null?void 0:nl[0])==null?void 0:iu.name)==="\u89C6\u9891")return Ke.ZP.error("\u53EA\u80FD\u4E0A\u4F20\u89C6\u9891"),sl.default.LIST_IGNORE},action:`${di.Z.API_SERVER}/api/attachments.json`,onChange:eo=>{Ws(eo==null?void 0:eo.fileList)}};function dT(){return Pa(this,null,function*(){var eo,nl,iu,tu,jc;let ju=yield(0,kt.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{depth:1,subject_id:b.detail.id}});if((ju==null?void 0:ju.status)===0){C2(We);const Ic=[...(jc=(tu=(eo=ju==null?void 0:ju.data)==null?void 0:eo.nodes)==null?void 0:tu.splice(1,(iu=(nl=ju==null?void 0:ju.data)==null?void 0:nl.nodes)==null?void 0:iu.length))==null?void 0:jc.map(Vh=>{var $d,I0,cm;return ba({label:($d=Vh==null?void 0:Vh.properties)==null?void 0:$d.name,children:Gr.createElement(yf,{onChange:QS=>{sessionStorage.setItem("typesdatajsoncopy",JSON.stringify(QS))},itemsuuid:re==null?void 0:re.uuid,uuid:(I0=Vh==null?void 0:Vh.properties)==null?void 0:I0.uuid,typesdata:al}),key:(cm=Vh==null?void 0:Vh.properties)==null?void 0:cm.uuid},Vh)})];Vf=Ic,ey(Ic),sessionStorage.setItem("typesdatajson",JSON.stringify(al)),sessionStorage.setItem("typesdatajsoncopy",JSON.stringify(al)),va(!0)}})}function l1(){return Pa(this,null,function*(){var eo,nl,iu;let tu=yield(0,kt.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:3,subject_id:(eo=b==null?void 0:b.detail)==null?void 0:eo.id}});(tu==null?void 0:tu.status)===0&&(rd.tags=tu==null?void 0:tu.data,ds(ba({},rd)));let jc=yield(0,kt.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:5,subject_id:(nl=b==null?void 0:b.detail)==null?void 0:nl.id}});(jc==null?void 0:jc.status)===0&&(rd.tagszy=[...Ga,...jc==null?void 0:jc.data2],rd.tagslx=[...Fo,...jc==null?void 0:jc.data],ds(ba({},rd)));let ju=yield(0,kt.ZP)("/api/knowledge/v2/get_container_type.json",{method:"get",params:{url:re==null?void 0:re.resourceUrl,item_banks_group_ids:re==null?void 0:re.itemBanksGroupIds}});if(lm(""),bc([]),localStorage.setItem("container_type_tupu",ju==null?void 0:ju.container_type),(re==null?void 0:re.nodeType)==="\u89C6\u9891"&&(((iu=ju==null?void 0:ju.attachment)==null?void 0:iu.file_type)==="video"||(ju==null?void 0:ju.container_type)==="video")&&lm(ju==null?void 0:ju.id),(re==null?void 0:re.resourceOrigin)===1&&(re==null?void 0:re.nodeType)!=="\u9898\u96C6"){let Ic={url:re==null?void 0:re.resourceUrl,name:ju==null?void 0:ju.name,id:ju==null?void 0:ju.examination_bank_id};Yu([Ic])}(re==null?void 0:re.resourceOrigin)===1&&(re==null?void 0:re.nodeType)==="\u9898\u96C6"&&bc(ju==null?void 0:ju.item_banks_groups),(re==null?void 0:re.resourceOrigin)===2&&Ws([{uid:"123",name:ju==null?void 0:ju.name,response:{id:"123",url:re==null?void 0:re.resourceUrl}}])})}function um(eo){return Pa(this,null,function*(){var nl,iu;let tu=yield(0,kt.ZP)("/api/knowledge/v2/get_container_type.json",{method:"get",params:{url:eo}});(tu==null?void 0:tu.status)===0&&((tu==null?void 0:tu.container_type)==="att"?Nl({url:di.Z.API_SERVER+((nl=tu==null?void 0:tu.attachment)==null?void 0:nl.url),file_type:(iu=tu==null?void 0:tu.attachment)==null?void 0:iu.file_type}):window.open(eo))})}function qX(){return Pa(this,null,function*(){let eo=yield(0,kt.ZP)("/api/knowledge/v2/item_bank_groups.json",{method:"get",params:{subject_id:b.detail.id}});(eo==null?void 0:eo.status)===0&&op(eo==null?void 0:eo.data)})}function $X(){return Pa(this,null,function*(){var eo,nl,iu,tu,jc,ju;let Ic=yield(0,kt.ZP)("/api/knowledge/v2/get_node_detail.json",{method:"get",params:{nodeUuid:(re==null?void 0:re.keys)||(re==null?void 0:re.id),parentNodeUuids:Pe==null?void 0:Pe.map(Vh=>Vh==null?void 0:Vh.uuid).join(),depth:1,relationshipFilter:">",subgraphDepth:"-1",subgraphRelationshipFilter:"\u5305\u542B>",subject_id:b.detail.id}});if((Ic==null?void 0:Ic.status)===0){uT((eo=Ic==null?void 0:Ic.data)==null?void 0:eo.nodes),Cc((iu=(nl=Ic==null?void 0:Ic.data)==null?void 0:nl.nodes)==null?void 0:iu.filter($d=>{var I0;return((I0=$d==null?void 0:$d.properties)==null?void 0:I0.uuid)===(re==null?void 0:re.keys)||(re==null?void 0:re.id)})),Wg((tu=Ic==null?void 0:Ic.data)==null?void 0:tu.relationships);const Vh=[...(ju=(jc=Ic==null?void 0:Ic.data)==null?void 0:jc.graphNodeMappings)==null?void 0:ju.map(($d,I0)=>{var cm;return{label:`${$d==null?void 0:$d.parentNodeName}\uFF08${(cm=$d==null?void 0:$d.childNodeUuids)==null?void 0:cm.length}\uFF09`,children:Gr.createElement(Rc,{datas:Ic==null?void 0:Ic.data,items:$d==null?void 0:$d.childNodeUuids}),key:I0}})];b2(0),Tx=Vh,eA(Vh)}})}return(0,Ue.useEffect)(()=>{oe&&($X(),l1())},[oe,re]),Gr.createElement(Pi,null,Gr.createElement("div",null,oe&&Gr.createElement(ql.Z,{open:oe,width:"700rem",mask:!1,closable:!1,rootClassName:Ki.drawer,destroyOnClose:!0,getContainer:()=>he.current,onCancel:()=>{le(!1),lm("")}},Gr.createElement("div",{className:Ki.detailmodal},Gr.createElement("div",null,Gr.createElement("span",{className:Ki.title},"\u8282\u70B9\u8BE6\u60C5"),((pt=b==null?void 0:b.detail)==null?void 0:pt.edit_of_subject_knowledge)&&We!=="\u5B66\u4E60\u8DEF\u5F84"&&(re==null?void 0:re.colorType)!=="1"&&Gr.createElement("i",{className:"iconfont icon-bianji-moren",onClick:()=>Pa(void 0,null,function*(){var eo,nl,iu,tu,jc,ju,Ic,Vh,$d,I0;ru(3),le(!1);let cm={name:re.name,description:re.description,label:((nl=(eo=bp==null?void 0:bp[0])==null?void 0:eo.labels)==null?void 0:nl[1])==="\u8D44\u6E90"?(iu=rd==null?void 0:rd.tagszy)==null?void 0:iu.filter(fl=>(fl==null?void 0:fl.name)===(re==null?void 0:re.nodeType)):(tu=rd==null?void 0:rd.tagslx)==null?void 0:tu.filter(fl=>(fl==null?void 0:fl.name)===(re==null?void 0:re.nodeType)),tag:(jc=rd==null?void 0:rd.tags)==null?void 0:jc.filter(fl=>{var pf,vf;return(vf=(pf=re==null?void 0:re.tags)==null?void 0:pf.map(mf=>mf==null?void 0:mf.name))==null?void 0:vf.includes(fl==null?void 0:fl.name)}),resourceOrigin:re.resourceOrigin,url:(re==null?void 0:re.resourceOrigin)===3?re==null?void 0:re.resourceUrl:""},QS=(ju=fh==null?void 0:fh.filter(fl=>(fl==null?void 0:fl.type)==="\u88AB\u5305\u542B"&&(fl==null?void 0:fl.startNodeUuid)===((re==null?void 0:re.keys)||(re==null?void 0:re.id))))==null?void 0:ju.map(fl=>{var pf,vf;return{uuid:fl==null?void 0:fl.endNodeUuid,name:(vf=(pf=T0==null?void 0:T0.find(mf=>{var Ug;return((Ug=mf==null?void 0:mf.properties)==null?void 0:Ug.uuid)===(fl==null?void 0:fl.endNodeUuid)}))==null?void 0:pf.properties)==null?void 0:vf.name}}),fT=(Ic=fh==null?void 0:fh.filter(fl=>(fl==null?void 0:fl.type)==="\u5305\u542B"&&(fl==null?void 0:fl.startNodeUuid)===((re==null?void 0:re.keys)||(re==null?void 0:re.id))))==null?void 0:Ic.map(fl=>{var pf,vf;return{uuid:fl==null?void 0:fl.endNodeUuid,name:(vf=(pf=T0==null?void 0:T0.find(mf=>{var Ug;return((Ug=mf==null?void 0:mf.properties)==null?void 0:Ug.uuid)===(fl==null?void 0:fl.endNodeUuid)}))==null?void 0:pf.properties)==null?void 0:vf.name}});$E(fT);let gT=(Vh=fh==null?void 0:fh.filter(fl=>(fl==null?void 0:fl.type)==="\u524D\u5E8F"&&(fl==null?void 0:fl.startNodeUuid)===((re==null?void 0:re.keys)||(re==null?void 0:re.id))))==null?void 0:Vh.map(fl=>{var pf,vf;return{uuid:fl==null?void 0:fl.endNodeUuid,name:(vf=(pf=T0==null?void 0:T0.find(mf=>{var Ug;return((Ug=mf==null?void 0:mf.properties)==null?void 0:Ug.uuid)===(fl==null?void 0:fl.endNodeUuid)}))==null?void 0:pf.properties)==null?void 0:vf.name}}),pT=($d=fh==null?void 0:fh.filter(fl=>(fl==null?void 0:fl.type)==="\u540E\u5E8F"&&(fl==null?void 0:fl.startNodeUuid)===((re==null?void 0:re.keys)||(re==null?void 0:re.id))))==null?void 0:$d.map(fl=>{var pf,vf;return{uuid:fl==null?void 0:fl.endNodeUuid,name:(vf=(pf=T0==null?void 0:T0.find(mf=>{var Ug;return((Ug=mf==null?void 0:mf.properties)==null?void 0:Ug.uuid)===(fl==null?void 0:fl.endNodeUuid)}))==null?void 0:pf.properties)==null?void 0:vf.name}}),vT=(I0=fh==null?void 0:fh.filter(fl=>((fl==null?void 0:fl.type)==="\u5173\u8054"||(fl==null?void 0:fl.type)==="\u88AB\u5173\u8054")&&(fl==null?void 0:fl.startNodeUuid)===((re==null?void 0:re.keys)||(re==null?void 0:re.id))))==null?void 0:I0.map(fl=>{var pf,vf;return{uuid:fl==null?void 0:fl.endNodeUuid,name:(vf=(pf=T0==null?void 0:T0.find(mf=>{var Ug;return((Ug=mf==null?void 0:mf.properties)==null?void 0:Ug.uuid)===(fl==null?void 0:fl.endNodeUuid)}))==null?void 0:pf.properties)==null?void 0:vf.name}});D0({bh:QS,qx:gT,hx:pT,gl:vT}),Ql.setFieldsValue(cm),ws(cm)}),style:{color:"#1B8565",marginLeft:10,cursor:"pointer"}})),Gr.createElement("div",{style:{display:"flex",alignItems:"center"}},(re==null?void 0:re.colorType)!=="1"&&((mt=b==null?void 0:b.detail)==null?void 0:mt.edit_of_subject_knowledge)&&We!=="\u5B66\u4E60\u8DEF\u5F84"&&Gr.createElement(we.ZP,{type:"primary",className:Ki.button,onClick:(0,ef.debounce)(()=>Pa(void 0,null,function*(){var eo,nl,iu;let tu=yield(0,kt.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:(re==null?void 0:re.keys)||(re==null?void 0:re.id),subject_id:(eo=b==null?void 0:b.detail)==null?void 0:eo.id,depth:1,relationshipFilter:"\u88AB\u5305\u542B>"}});if((tu==null?void 0:tu.status)===0){let jc=(iu=(nl=tu==null?void 0:tu.data)==null?void 0:nl.nodes)==null?void 0:iu.filter(Ic=>{var Vh;return((Vh=Ic==null?void 0:Ic.properties)==null?void 0:Vh.uuid)!==((re==null?void 0:re.keys)||(re==null?void 0:re.id))}),ju=jc==null?void 0:jc.map(Ic=>{var Vh,$d;return{name:(Vh=Ic==null?void 0:Ic.properties)==null?void 0:Vh.name,uuid:($d=Ic==null?void 0:Ic.properties)==null?void 0:$d.uuid}});al.bh=ju,D0(al),ru(1),le(!1),Yu([]),bc([]),Ws([])}}),500)},"\u589E\u52A0\u540C\u7EA7\u8282\u70B9"),((bt=b==null?void 0:b.detail)==null?void 0:bt.edit_of_subject_knowledge)&&We!=="\u5B66\u4E60\u8DEF\u5F84"&&Gr.createElement(we.ZP,{type:"primary",className:Ki.button,onClick:()=>{var eo,nl;((nl=(eo=al==null?void 0:al.bh)==null?void 0:eo.filter(iu=>(iu==null?void 0:iu.uuid)===(re==null?void 0:re.id)))==null?void 0:nl.length)>0||al.bh.push({name:re==null?void 0:re.name,uuid:(re==null?void 0:re.keys)||(re==null?void 0:re.id)}),ru(2),le(!1),Yu([]),bc([]),Ws([])}},"\u589E\u52A0\u5B50\u7EA7\u8282\u70B9"),((jt=b==null?void 0:b.detail)==null?void 0:jt.edit_of_subject_knowledge)&&We!=="\u5B66\u4E60\u8DEF\u5F84"&&Gr.createElement(we.ZP,{className:Ki.button,onClick:()=>{let eo="";Be.default.confirm({title:"\u63D0\u793A",icon:null,centered:!0,getContainer:he.current,content:Gr.createElement("div",null,Gr.createElement("p",null,"\u5220\u9664\u8282\u70B9\u4F1A\u540C\u6B65\u5220\u9664\u5F53\u524D\u8282\u70B9\u7684\u5B50\u7EA7\u8282\u70B9\uFF0C\u8BF7\u5728\u4E0B\u65B9\u8F93\u5165\u6846\u8F93\u5165",Gr.createElement("span",{style:{color:"red"}},"\u201C\u786E\u8BA4\u5220\u9664\u201D")),Gr.createElement(Dt.default,{onChange:nl=>{eo=nl.target.value}})),onOk:()=>Pa(void 0,null,function*(){var nl,iu,tu;if(eo!=="\u786E\u8BA4\u5220\u9664")return Ke.ZP.info("\u8BF7\u8F93\u5165\u786E\u8BA4\u5220\u9664"),Promise.reject();if(eo==="\u786E\u8BA4\u5220\u9664"){let jc=yield(0,kt.ZP)("/api/knowledge/v2/del_node.json",{method:"post",body:{uuid:(re==null?void 0:re.keys)||(re==null?void 0:re.id),subject_id:(nl=b==null?void 0:b.detail)==null?void 0:nl.id}});(jc==null?void 0:jc.status)===0&&(Ke.ZP.info("\u5220\u9664\u6210\u529F"),Lx.get("type")==="classrooms"?te({type:"pathsDetail/getCourseDetail",payload:ba({id:(iu=b==null?void 0:b.detail)==null?void 0:iu.id,knowledge:!0},(0,ve.oP)())}):te({type:"pathsDetail/getPathsDetail",payload:ba({id:(tu=b==null?void 0:b.detail)==null?void 0:tu.id,knowledge:!0},(0,ve.oP)())}),(re==null?void 0:re.colorType)!=="1"?(Ae(!1),ge()):qe(),le(!1))}})})}},"\u5220\u9664\u8282\u70B9"),((Ut=b==null?void 0:b.detail)==null?void 0:Ut.edit_of_subject_knowledge)&&We==="\u5B66\u4E60\u8DEF\u5F84"&&Lx.get("type")==="classrooms"&&Gr.createElement(we.ZP,{type:"primary",className:Ki.button,onClick:()=>{Be.default.confirm({title:"\u63D0\u793A",icon:null,centered:!0,getContainer:he.current,okText:"\u786E\u8BA4\u540C\u6B65",content:Gr.createElement("div",null,"\u8BE5\u8282\u70B9\u4E0B\u5171",Gr.createElement("span",{className:"c-light-primary"},re==null?void 0:re.currentResourceTotal),"\u4E2A\u8D44\u6E90\uFF0C\u786E\u8BA4\u540C\u6B65\u540E\uFF0C\u8FD9\u4E9B\u8D44\u6E90\u5C06\u6309\u7167\u7C7B\u578B\u5206\u522B\u53D1\u9001\u5230\u8BFE\u5802\u5B9E\u9A8C\u3001\u56FE\u6587\u4F5C\u4E1A\u3001\u5728\u7EBF\u8003\u8BD5\u3001\u89C6\u9891\u76F4\u64AD\u3001\u6559\u5B66\u8D44\u6599\u6A21\u5757\u4E2D\uFF0C\u53EF\u524D\u5F80\u5BF9\u5E94\u6A21\u5757\u8FDB\u884C\u8D44\u6E90\u53D1\u5E03\u7B49\u64CD\u4F5C\u3002"),onOk:()=>Pa(void 0,null,function*(){var eo;const nl=yield(0,kt.ZP)("/api/subject_knowledge/send_to_course",{method:"post",body:{id:re==null?void 0:re.resourceid,subject_id:(eo=b==null?void 0:b.detail)==null?void 0:eo.id}});(nl==null?void 0:nl.status)===0&&Ke.ZP.success("\u64CD\u4F5C\u6210\u529F")})})}},"\u540C\u6B65\u8D44\u6E90\u5230\u8BFE\u5802"),Gr.createElement(xs.Z,{onClick:()=>{le(!1)},style:{marginLeft:"10rem",fontSize:"16rem",color:"#979797"}}))),Gr.createElement("div",{className:Ki.tabstyle},Za==null?void 0:Za.map(eo=>Gr.createElement("div",{onClick:()=>{Mu(eo.key)},className:du===(eo==null?void 0:eo.key)?Ki.itemsactivite:Ki.items},eo==null?void 0:eo.name))),du===1&&Gr.createElement("div",null,Gr.createElement("div",{className:Ki.nodetitle},Lu===1&&Gr.createElement(zs.Z,{onClick:()=>vu(2)}),Lu===2&&Gr.createElement(yl.Z,{onClick:()=>vu(1)}),Gr.createElement("span",{style:{marginLeft:"10rem",fontSize:"16rem",color:"#1B8565"}},"\u8282\u70B9\u5C5E\u6027")),Lu===2&&Gr.createElement("div",{className:Ki.nodeboyd},Gr.createElement("div",{className:Ki.listitem,style:{marginTop:"0rem"}},Gr.createElement("label",null,"\u8282\u70B9\u540D\u79F0"),Gr.createElement("span",null,re==null?void 0:re.name)),Gr.createElement("div",{className:Ki.listitem},Gr.createElement("label",null,"\u8282\u70B9\u7B80\u4ECB"),Gr.createElement("span",null,(re==null?void 0:re.description)||"\u6682\u65E0")),Gr.createElement("div",{className:Ki.listitem},Gr.createElement("label",null,"\u8282\u70B9\u7C7B\u578B"),Gr.createElement("div",null,(re==null?void 0:re.nodeType)&&Gr.createElement(Al,{containerRef:he,type:5,value:[{name:re==null?void 0:re.nodeType}],pathsDetail:b,showmodal:!1,dataSources:[]})," ")),Gr.createElement("div",{className:Ki.listitem},Gr.createElement("label",null,"\u8282\u70B9\u6807\u7B7E"),Gr.createElement("span",null,((Kt=re==null?void 0:re.tags)==null?void 0:Kt.length)>0&&Gr.createElement(Al,{containerRef:he,type:5,pathsDetail:b,value:re==null?void 0:re.tags,showmodal:!1,dataSources:[]}))),(re==null?void 0:re.nodeType)==="\u89C6\u9891"&&(re==null?void 0:re.resourceOrigin)!==3&&wv&&Gr.createElement("div",{style:{height:"300rem",marginTop:"20rem"}},Gr.createElement(ls.Z,{allow_skip:!0,videoId:wv,toLog:!0,src:re==null?void 0:re.resourceUrl,logWatchHistory:eo=>cT(ka(ba({},eo),{container_type:localStorage.getItem("container_type_tupu")}))})),(re==null?void 0:re.resourceOrigin)===3&&Gr.createElement("div",{style:{display:"flex",marginTop:"20rem",alignItems:"center"}},Gr.createElement("span",{style:{color:"#1B8565",fontSize:"16rem"}},re==null?void 0:re.resourceUrl),Gr.createElement(we.ZP,{style:{height:"40rem",padding:"0rem 10rem",fontSize:"14rem",marginLeft:"10rem"},onClick:()=>Pa(void 0,null,function*(){var eo;let nl=yield(0,kt.ZP)("/api/subject_knowledge/create_study.json",{method:"post",body:{subject_id:(eo=b==null?void 0:b.detail)==null?void 0:eo.id,uuid:re==null?void 0:re.uuid}});window.open(re==null?void 0:re.resourceUrl)}),type:"primary"},"\u524D\u5F80\u67E5\u770B")),(re==null?void 0:re.nodeType)==="\u9898\u96C6"&&(Xu==null?void 0:Xu.map(eo=>Gr.createElement("div",{style:{display:"flex",alignItems:"center",marginTop:"10rem"}},Gr.createElement(Ce.Z,{title:eo==null?void 0:eo.name},Gr.createElement("span",{className:Ki.multiple,style:{color:"#1B8565",fontSize:"16rem",maxWidth:"80%"}},eo==null?void 0:eo.name)),Gr.createElement("div",{style:{marginLeft:"10rem",padding:"0rem 10rem",fontSize:"12rem",background:"#F6F7F9",color:"#909D99",borderRadius:"20rem"}},"\u8BD5\u9898\u6570 ",eo==null?void 0:eo.count)))),(re==null?void 0:re.nodeType)!="\u89C6\u9891"&&(re==null?void 0:re.nodeType)!="\u9898\u96C6"&&(re!=null&&re.resourceOrigin)&&[1,2].includes(re==null?void 0:re.resourceOrigin)?Gr.createElement("div",{style:{display:"flex",marginTop:"20rem",alignItems:"center"}},Gr.createElement("span",{style:{color:"#1B8565",fontSize:"16rem"}},(re==null?void 0:re.resourceOrigin)===1?(Qt=Js==null?void 0:Js[0])==null?void 0:Qt.name:(Vt=Aa==null?void 0:Aa[0])==null?void 0:Vt.name),(0,uc.JA)()&&(re==null?void 0:re.nodeType)==="\u8BD5\u5377"?"":Gr.createElement(we.ZP,{style:{height:"40rem",padding:"0rem 10rem",fontSize:"14rem",marginLeft:"10rem"},onClick:()=>Pa(void 0,null,function*(){var eo;um(re==null?void 0:re.resourceUrl);let nl=yield(0,kt.ZP)("/api/subject_knowledge/create_study.json",{method:"post",body:{subject_id:(eo=b==null?void 0:b.detail)==null?void 0:eo.id,uuid:re==null?void 0:re.uuid}})}),type:"primary"},"\u524D\u5F80\u67E5\u770B"),(re==null?void 0:re.nodeType)==="\u8BD5\u5377"&&(re==null?void 0:re.resourceOrigin)===1&&Gr.createElement(we.ZP,{style:{height:"40rem",padding:"0rem 10rem",fontSize:"14rem",marginLeft:"10rem"},onClick:()=>Pa(void 0,null,function*(){var eo,nl;const iu=yield(0,Wi.Mb)({categoryId:(eo=Js==null?void 0:Js[0])==null?void 0:eo.id});iu!=null&&iu.exercise_id&&(0,ve.xg)(`/classrooms/coursesId/exercise/${iu.exercise_id}/${(nl=x.userInfo)==null?void 0:nl.login}/initate_answer`)}),type:"primary"},"\u6A21\u62DF\u8003\u8BD5")):""),Gr.createElement("div",{className:Ki.nodetitle},$c===1&&Gr.createElement(zs.Z,{onClick:()=>Cp(2)}),$c===2&&Gr.createElement(yl.Z,{onClick:()=>Cp(1)}),Gr.createElement("span",{style:{marginLeft:"10rem",fontSize:"16rem",color:"#1B8565"}},"\u8282\u70B9\u5173\u7CFB")),$c===2&&Gr.createElement("div",{className:Ki.nodeboyd,style:{padding:0,minHeight:"530rem"}},Gr.createElement(Mt.default,{className:Ki.Tabs,activeKey:lT,destroyInactiveTabPane:!0,onChange:eo=>{b2(parseInt(eo))},type:"card",items:Tx}))),du===3&&Gr.createElement("div",null,(0,uc.JA)()?Gr.createElement(ei,{uuid:(re==null?void 0:re.keys)||(re==null?void 0:re.id)}):Gr.createElement(Ps,{uuid:(re==null?void 0:re.keys)||(re==null?void 0:re.id)}))),Gr.createElement(Be.default,{title:Gr.createElement("span",{style:{fontSize:"18rem",color:"#000"}},ms===3?"\u7F16\u8F91":"\u521B\u5EFA","\u8282\u70B9"),centered:!0,destroyOnClose:!0,width:"1200rem",open:ms>0,getContainer:()=>he.current,onCancel:()=>{ru(0),Ql.resetFields(),D0({qx:[],bh:[],hx:[],gl:[]}),Ws([]),ws({}),Yu([]),bc([])},okButtonProps:{loading:Bl},onOk:()=>{Ql.submit()}},Gr.createElement("div",{className:Ki.addmodal},Gr.createElement("div",{className:Ki.title},"\u8282\u70B9\u5C5E\u6027"),Gr.createElement(St.default,{className:Ki.form,labelCol:{flex:"92rem"},layout:"horizontal",form:Ql,colon:!1,onValuesChange:(eo,nl)=>{var iu,tu,jc,ju;ws(ba({},nl)),(nl==null?void 0:nl.resourceOrigin)!==1&&Yu([]),((tu=(iu=nl==null?void 0:nl.label)==null?void 0:iu[0])==null?void 0:tu.name)!=="\u9898\u96C6"&&bc([]),((ju=(jc=nl==null?void 0:nl.label)==null?void 0:jc[0])==null?void 0:ju.item_type)!==2&&(Yu([]),Ws([]),bc([]),Ql.setFieldsValue({resourceOrigin:0,url:""}))},onFinish:(0,ef.debounce)(eo=>Pa(void 0,null,function*(){var nl,iu,tu,jc,ju,Ic,Vh,$d,I0,cm,QS,fT,gT,pT,vT,fl,pf,vf,mf,Ug,x4,E4,A4,S4,w4,C4,b4,P4,M4,L4,T4,D4,I4,O4,N4,B4,R4,k4,F4,_4,z4,j4,W4,U4,G4,H4,V4,K4,Z4,Y4,X4,Q4,J4,q4;if(((nl=al==null?void 0:al.bh)==null?void 0:nl.length)===0){Ke.ZP.warning("\u8282\u70B9\u5305\u542B\u5173\u7CFB\u4E0D\u80FD\u4E3A\u7A7A");return}if((eo==null?void 0:eo.resourceOrigin)===0){Ke.ZP.warning("\u8BF7\u9009\u62E9\u8D44\u6E90\u7C7B\u578B");return}if((eo==null?void 0:eo.resourceOrigin)===1&&(Js==null?void 0:Js.length)<=0&&((iu=eo==null?void 0:eo.label[0])==null?void 0:iu.name)!=="\u9898\u96C6"){Ke.ZP.warning("\u8BF7\u9009\u62E9\u5BF9\u5E94\u5934\u6B4C\u8D44\u6E90");return}if((eo==null?void 0:eo.resourceOrigin)===1&&(Xu==null?void 0:Xu.length)<=0&&((tu=eo==null?void 0:eo.label[0])==null?void 0:tu.name)==="\u9898\u96C6"){Ke.ZP.warning("\u8BF7\u9009\u62E9\u5BF9\u5E94\u5934\u6B4C\u8D44\u6E90");return}if((eo==null?void 0:eo.resourceOrigin)===2&&(Aa==null?void 0:Aa.length)===0){Ke.ZP.warning("\u8BF7\u4E0A\u4F20\u6587\u4EF6");return}kd(!0);let eQ=ms===3?"/api/knowledge/v2/mod_node.json":"/api/knowledge/v2/add_node.json",tQ=ms===3?{subject_id:(jc=b==null?void 0:b.detail)==null?void 0:jc.id,properties:{description:eo.description,rootNodeUuid:re==null?void 0:re.rootNodeUuid,name:eo.name,uuid:(re==null?void 0:re.keys)||(re==null?void 0:re.id),nodeType:(ju=eo==null?void 0:eo.label[0])==null?void 0:ju.name,tags:((Vh=(Ic=eo.tag)==null?void 0:Ic.map(eh=>eh==null?void 0:eh.name))==null?void 0:Vh.join("\uFF0C"))||"",color:re==null?void 0:re.color,resourceOrigin:eo.resourceOrigin,resourceUrl:eo.resourceOrigin===3?eo.url:eo.resourceOrigin===2?((cm=(I0=($d=Aa==null?void 0:Aa[0])==null?void 0:$d.response)==null?void 0:I0.url)==null?void 0:cm.indexOf("educoder.net"))>-1?(fT=(QS=Aa==null?void 0:Aa[0])==null?void 0:QS.response)==null?void 0:fT.url:((gT=E==null?void 0:E.setting)==null?void 0:gT.public_bucket_host)+((vT=(pT=Aa==null?void 0:Aa[0])==null?void 0:pT.response)==null?void 0:vT.url):(fl=Js==null?void 0:Js[0])==null?void 0:fl.url,container_type:((pf=eo==null?void 0:eo.label[0])==null?void 0:pf.name)==="\u9898\u96C6"?"ItemBanksGroup":(eo.resourceOrigin===1||eo.resourceOrigin===2)&&((vf=Js==null?void 0:Js[0])==null?void 0:vf.container_type)||((Ug=(mf=Aa==null?void 0:Aa[0])==null?void 0:mf.response)==null?void 0:Ug.container_type),container_id:(eo.resourceOrigin===1||eo.resourceOrigin===2)&&((x4=Js==null?void 0:Js[0])==null?void 0:x4.container_id)||((A4=(E4=Aa==null?void 0:Aa[0])==null?void 0:E4.response)==null?void 0:A4.container_id),itemBanksGroupIds:Xu==null?void 0:Xu.map(eh=>eh==null?void 0:eh.group_id).toString()},subgraphNodeUuid:Xe,relationships:[...(S4=al.bh)==null?void 0:S4.map(eh=>({startNodeUuid:eh.uuid,endNodeUuid:(re==null?void 0:re.keys)||(re==null?void 0:re.id),type:"\u5305\u542B"})),...a1==null?void 0:a1.map(eh=>({endNodeUuid:eh.uuid,startNodeUuid:(re==null?void 0:re.keys)||(re==null?void 0:re.id),type:"\u5305\u542B"})),...(w4=al.qx)==null?void 0:w4.map(eh=>({startNodeUuid:eh.uuid,endNodeUuid:(re==null?void 0:re.keys)||(re==null?void 0:re.id),type:"\u524D\u5E8F"})),...(C4=al.hx)==null?void 0:C4.map(eh=>({endNodeUuid:eh.uuid,startNodeUuid:(re==null?void 0:re.keys)||(re==null?void 0:re.id),type:"\u540E\u5E8F"})),...(b4=al.gl)==null?void 0:b4.map(eh=>({startNodeUuid:eh.uuid,endNodeUuid:(re==null?void 0:re.keys)||(re==null?void 0:re.id),type:"\u5173\u8054"}))]}:{label:((P4=eo==null?void 0:eo.label[0])==null?void 0:P4.item_type)===1?"\u6807\u7B7E":"\u8D44\u6E90",subject_id:(M4=b==null?void 0:b.detail)==null?void 0:M4.id,properties:{description:eo.description,rootNodeUuid:re==null?void 0:re.rootNodeUuid,name:eo.name,nodeType:(L4=eo==null?void 0:eo.label[0])==null?void 0:L4.name,tags:((D4=(T4=eo.tag)==null?void 0:T4.map(eh=>eh==null?void 0:eh.name))==null?void 0:D4.join("\uFF0C"))||"",color:ms===1?"2":parseInt(re==null?void 0:re.colorType)+1+"",resourceOrigin:eo.resourceOrigin,resourceUrl:eo.resourceOrigin===3?eo.url:eo.resourceOrigin===2?((N4=(O4=(I4=Aa==null?void 0:Aa[0])==null?void 0:I4.response)==null?void 0:O4.url)==null?void 0:N4.indexOf("educoder.net"))>-1?(R4=(B4=Aa==null?void 0:Aa[0])==null?void 0:B4.response)==null?void 0:R4.url:((k4=E==null?void 0:E.setting)==null?void 0:k4.public_bucket_host)+((_4=(F4=Aa==null?void 0:Aa[0])==null?void 0:F4.response)==null?void 0:_4.url):(z4=Js==null?void 0:Js[0])==null?void 0:z4.url,container_type:((j4=eo==null?void 0:eo.label[0])==null?void 0:j4.name)==="\u9898\u96C6"?"ItemBanksGroup":(eo.resourceOrigin===1||eo.resourceOrigin===2)&&((W4=Js==null?void 0:Js[0])==null?void 0:W4.container_type)||((G4=(U4=Aa==null?void 0:Aa[0])==null?void 0:U4.response)==null?void 0:G4.container_type),container_id:(eo.resourceOrigin===1||eo.resourceOrigin===2)&&((H4=Js==null?void 0:Js[0])==null?void 0:H4.container_id)||((K4=(V4=Aa==null?void 0:Aa[0])==null?void 0:V4.response)==null?void 0:K4.container_id),itemBanksGroupIds:Xu==null?void 0:Xu.map(eh=>eh==null?void 0:eh.group_id).toString()},subgraphNodeUuid:Xe,relationships:[...(Z4=al.bh)==null?void 0:Z4.map(eh=>({startNodeUuid:eh.uuid,type:"\u5305\u542B"})),...(Y4=al.qx)==null?void 0:Y4.map(eh=>({startNodeUuid:eh.uuid,type:"\u524D\u5E8F"})),...(X4=al.hx)==null?void 0:X4.map(eh=>({endNodeUuid:eh.uuid,type:"\u540E\u5E8F"})),...(Q4=al.gl)==null?void 0:Q4.map(eh=>({startNodeUuid:eh.uuid,type:"\u5173\u8054"}))]};const $4=yield(0,kt.ZP)(eQ,{method:"POST",body:tQ});kd(!1),($4==null?void 0:$4.status)===0&&(Lx.get("type")==="classrooms"?te({type:"pathsDetail/getCourseDetail",payload:ba({id:(J4=b==null?void 0:b.detail)==null?void 0:J4.id,knowledge:!0},(0,ve.oP)())}):te({type:"pathsDetail/getPathsDetail",payload:ba({id:(q4=b==null?void 0:b.detail)==null?void 0:q4.id,knowledge:!0},(0,ve.oP)())}),Ke.ZP.info(ms===3?"\u7F16\u8F91\u6210\u529F":"\u521B\u5EFA\u6210\u529F"),ru(0),Ae(!1),ge(),Ql.resetFields(),Ws([]),ws({}),Yu([]),bc([]),D0({qx:[],hx:[],bh:[],gl:[]}))}),500),size:"large"},Gr.createElement(St.default.Item,{label:"\u8282\u70B9\u540D\u79F0",name:"name",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u8282\u70B9\u540D\u79F0"},{type:"string",max:60,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Gr.createElement(Dt.default,{maxLength:60,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Gr.createElement(St.default.Item,{label:"\u8282\u70B9\u7B80\u4ECB",name:"description",rules:[{type:"string",max:5e3,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Gr.createElement(Dt.default.TextArea,{maxLength:5e3,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Gr.createElement(St.default.Item,{label:"\u8282\u70B9\u7C7B\u578B",name:"label",style:{marginBottom:"0rem"},rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8282\u70B9\u7C7B\u578B"}]},Gr.createElement(Al,{containerRef:he,type:5,pathsDetail:b,showmodal:ms!==3,dataSources:[]})),((wn=(vn=Ra==null?void 0:Ra.label)==null?void 0:vn[0])==null?void 0:wn.item_type)===2&&Gr.createElement(St.default.Item,{label:" ",name:"resourceOrigin",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8D44\u6E90\u7C7B\u578B"}]},Gr.createElement(xt.ZP.Group,{className:Ki.radioform},Gr.createElement(xt.ZP,{value:1},"\u9009\u62E9\u5934\u6B4C\u8D44\u6E90"),((Vn=(kn=Ra==null?void 0:Ra.label)==null?void 0:kn[0])==null?void 0:Vn.name)!=="\u9898\u96C6"&&Gr.createElement(xt.ZP,{value:2},"\u4E0A\u4F20\u6587\u4EF6"),((or=(vr=Ra==null?void 0:Ra.label)==null?void 0:vr[0])==null?void 0:or.name)!=="\u9898\u96C6"&&Gr.createElement(xt.ZP,{value:3},"\u5916\u94FE"))),(Ra==null?void 0:Ra.resourceOrigin)===1&&((qr=(Or=Ra==null?void 0:Ra.label)==null?void 0:Or[0])==null?void 0:qr.item_type)===2&&Gr.createElement(St.default.Item,{label:" ",name:""},Gr.createElement(we.ZP,{onClick:()=>{var eo,nl,iu,tu,jc,ju;((nl=(eo=Ra==null?void 0:Ra.label)==null?void 0:eo[0])==null?void 0:nl.name)==="\u9898\u96C6"?($p(!0),Ec(Xu),qX()):(Xs(!0),vl(((tu=(iu=Ra==null?void 0:Ra.label)==null?void 0:iu[0])==null?void 0:tu.name)==="\u89C6\u9891"?"2":((ju=(jc=Ra==null?void 0:Ra.label)==null?void 0:jc[0])==null?void 0:ju.name)==="\u8BD5\u5377"?"4":"1"))},type:"primary",style:{height:"40rem",lineHeight:"40rem",padding:"0rem 32rem",boxShadow:"none"}},((Sr=(wr=Ra==null?void 0:Ra.label)==null?void 0:wr[0])==null?void 0:Sr.name)==="\u9898\u96C6"?"\u9009\u62E9\u9898\u96C6":"\u9009\u62E9\u8D44\u6E90"),(Js==null?void 0:Js.length)>0&&Gr.createElement("div",{style:{color:"#1B8565",marginTop:"5rem",fontSize:"16rem",display:"flex",alignItems:"center"}},Gr.createElement("div",{className:Ki.multiple,title:(Tr=Js==null?void 0:Js[0])==null?void 0:Tr.name},(ri=Js==null?void 0:Js[0])==null?void 0:ri.name),Gr.createElement("i",{style:{fontSize:"16rem",cursor:"pointer",marginLeft:"10rem"},onClick:()=>{Yu([])},className:"iconfont icon-shanchu12"})," "),(Xu==null?void 0:Xu.length)>0&&(Xu==null?void 0:Xu.map(eo=>Gr.createElement("div",{style:{color:"#1B8565",marginTop:"5rem",fontSize:"16rem",display:"flex",alignItems:"center"}},Gr.createElement("div",{className:Ki.multiple,title:eo==null?void 0:eo.name},eo==null?void 0:eo.name),Gr.createElement("i",{style:{fontSize:"16rem",cursor:"pointer",marginLeft:"10rem"},onClick:()=>{bc(Xu==null?void 0:Xu.filter(nl=>(nl==null?void 0:nl.group_id)!==(eo==null?void 0:eo.group_id)))},className:"iconfont icon-shanchu12"})," ")))),(Ra==null?void 0:Ra.resourceOrigin)===2&&((yi=(Cr=Ra==null?void 0:Ra.label)==null?void 0:Cr[0])==null?void 0:yi.item_type)===2&&Gr.createElement(St.default.Item,{label:" ",name:"file",shouldUpdate:!0},Gr.createElement(sl.default,ba({},hT),Gr.createElement(we.ZP,{type:"primary",style:{height:"40rem",lineHeight:"40rem",padding:"0rem 32rem",boxShadow:"none"}},"\u4E0A\u4F20\u6587\u4EF6"))),(Ra==null?void 0:Ra.resourceOrigin)===3&&((wo=(Co=Ra==null?void 0:Ra.label)==null?void 0:Co[0])==null?void 0:wo.item_type)===2&&Gr.createElement(St.default.Item,{label:" ",name:"url"},Gr.createElement(St.default.Item,{label:"\u5916\u94FE\u94FE\u63A5",name:"url",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u5916\u94FE"}]},Gr.createElement(Dt.default,{style:{height:"40rem"}}))),Gr.createElement(St.default.Item,{label:"\u8282\u70B9\u6807\u7B7E",name:"tag"},Gr.createElement(Al,{containerRef:he,type:3,pathsDetail:b,showmodal:!0,dataSources:[]})))),Gr.createElement("div",{className:Ki.addmodal,style:{marginTop:"20rem"}},Gr.createElement("div",{className:Ki.title},Gr.createElement("span",null,"\u8282\u70B9\u5173\u7CFB"),Gr.createElement("span",{style:{cursor:"pointer"},onClick:()=>{dT()}},"\u5173\u7CFB\u8BBE\u7F6E")),Gr.createElement("div",{className:Ki.gxcoent,style:{padding:"20rem 25rem"}},Gr.createElement("div",{className:Ki.gxtitle},Gr.createElement("div",{className:Ki.Colortitle,style:{background:"#6236ff"}}),Gr.createElement("div",null,"\u88AB\u5305\u542B\uFF08",(vi=al.bh)==null?void 0:vi.length,"\uFF09")),Gr.createElement("div",{className:Ki.gxbody},(Mi=al==null?void 0:al.bh)==null?void 0:Mi.map(eo=>Gr.createElement("div",{className:Ki.tag,style:{background:"#6236ff"}},Gr.createElement("span",{style:{marginRight:"10rem"}},eo==null?void 0:eo.name)," ",Gr.createElement(xs.Z,{onClick:()=>{var nl;let iu=(nl=al==null?void 0:al.bh)==null?void 0:nl.filter(tu=>tu.uuid!==eo.uuid);D0({bh:iu,hx:al==null?void 0:al.hx,qx:al==null?void 0:al.qx,gl:al==null?void 0:al.gl})}})))),Gr.createElement("div",{className:Ki.gxtitle,style:{marginTop:"30rem"}},Gr.createElement("div",{className:Ki.Colortitle,style:{background:"#24A881"}}),Gr.createElement("div",null,"\u524D\u5E8F\uFF08",($i=al.qx)==null?void 0:$i.length,"\uFF09")),Gr.createElement("div",{className:Ki.gxbody},(Lo=al==null?void 0:al.qx)==null?void 0:Lo.map(eo=>Gr.createElement("div",{className:Ki.tag,style:{background:"#24A881"}},Gr.createElement("span",{style:{marginRight:"10rem"}},eo==null?void 0:eo.name)," ",Gr.createElement(xs.Z,{onClick:()=>{var nl;let iu=(nl=al==null?void 0:al.qx)==null?void 0:nl.filter(tu=>tu.uuid!==eo.uuid);D0({qx:iu,bh:al==null?void 0:al.bh,hx:al==null?void 0:al.hx,gl:al==null?void 0:al.gl})}})))),Gr.createElement("div",{className:Ki.gxtitle,style:{marginTop:"30rem"}},Gr.createElement("div",{className:Ki.Colortitle,style:{background:"#EC8657"}}),Gr.createElement("div",null,"\u540E\u5E8F\uFF08",(Jo=al.hx)==null?void 0:Jo.length,"\uFF09")),Gr.createElement("div",{className:Ki.gxbody},(Ta=al==null?void 0:al.hx)==null?void 0:Ta.map(eo=>Gr.createElement("div",{className:Ki.tag,style:{background:"#EC8657"}},Gr.createElement("span",{style:{marginRight:"10rem"}},eo==null?void 0:eo.name)," ",Gr.createElement(xs.Z,{onClick:()=>{var nl;let iu=(nl=al==null?void 0:al.hx)==null?void 0:nl.filter(tu=>tu.uuid!==eo.uuid);D0({qx:al==null?void 0:al.qx,bh:al==null?void 0:al.bh,hx:iu,gl:al==null?void 0:al.gl})}})))),Gr.createElement("div",{className:Ki.gxtitle,style:{marginTop:"30rem"}},Gr.createElement("div",{className:Ki.Colortitle,style:{background:"#497DFF"}}),Gr.createElement("div",null,"\u5173\u8054\uFF08",(Bs=al.gl)==null?void 0:Bs.length,"\uFF09")),Gr.createElement("div",{className:Ki.gxbody},(js=al==null?void 0:al.gl)==null?void 0:js.map(eo=>Gr.createElement("div",{className:Ki.tag,style:{background:"#497DFF"}},Gr.createElement("span",{style:{marginRight:"10rem"}},eo==null?void 0:eo.name)," ",Gr.createElement(xs.Z,{onClick:()=>{var nl;let iu=(nl=al==null?void 0:al.gl)==null?void 0:nl.filter(tu=>tu.uuid!==eo.uuid);D0({qx:al==null?void 0:al.qx,hx:al==null?void 0:al.hx,bh:al==null?void 0:al.bh,gl:iu})}}))))))),Gr.createElement(Be.default,{title:"\u9009\u62E9\u9898\u96C6",open:XS,destroyOnClose:!0,centered:!0,getContainer:()=>he.current,width:"1200rem",onOk:()=>{if((L0==null?void 0:L0.length)<=0){Ke.ZP.info("\u8BF7\u9009\u62E9\u9898\u96C6");return}bc(L0),$p(!1)},onCancel:()=>{Ec([]),$p(!1)}},Gr.createElement(ie.default,{checkable:!0,style:{margin:20,maxHeight:400,overflow:"auto"},blockNode:!0,checkStrictly:!0,checkedKeys:L0==null?void 0:L0.map(eo=>eo==null?void 0:eo.group_id),onCheck:(eo,nl)=>{Ec(nl==null?void 0:nl.checkedNodes)},treeData:s1,fieldNames:{key:"group_id",title:"name"},titleRender:eo=>Gr.createElement("div",{style:{display:"flex",alignItems:"center",paddingRight:"14px"}},Gr.createElement(Ce.Z,{title:eo==null?void 0:eo.name},Gr.createElement("div",{className:Ki.multiple,style:{display:"flex",alignItems:"center",maxWidth:"80%"}},Gr.createElement("img",{src:Ci,style:{marginRight:10}}),Gr.createElement("span",null,eo==null?void 0:eo.name))),Gr.createElement("div",{style:{padding:"0rem 10rem",fontSize:"12rem",background:"#F6F7F9",color:"#909D99",borderRadius:"20rem"}},"\u8BD5\u9898\u6570 ",eo==null?void 0:eo.count))})),Gr.createElement(Be.default,{title:"\u9009\u62E9\u5934\u6B4C\u8D44\u6E90",open:Fa,destroyOnClose:!0,centered:!0,getContainer:()=>he.current,width:"1200rem",onOk:()=>{Xs(!1)},onCancel:()=>{Xs(!1),ms!==3&&Yu([]),vl("1")}},Gr.createElement("div",{className:Ki.settingmodal},Gr.createElement(Mt.default,{className:Ki.Tabs,activeKey:ua,destroyInactiveTabPane:!0,onChange:eo=>{vl(eo)},type:"card",items:((Is=(Sa=Ra==null?void 0:Ra.label)==null?void 0:Sa[0])==null?void 0:Is.name)==="\u89C6\u9891"?gf.filter(eo=>(eo==null?void 0:eo.label)==="\u89C6\u9891"):((el=(Ss=Ra==null?void 0:Ra.label)==null?void 0:Ss[0])==null?void 0:el.name)==="\u8BD5\u5377"?gf.filter(eo=>(eo==null?void 0:eo.label)==="\u8BD5\u5377"):gf.filter(eo=>(eo==null?void 0:eo.label)!=="\u89C6\u9891")}))),Gr.createElement(mi.Z,{close:!0,style:{zIndex:1300,background:"rgba(1, 10, 35, 0.5)"},data:Hl==null?void 0:Hl.url,type:Hl==null?void 0:Hl.file_type,disabledDownload:!0,onClose:()=>Nl({})}),Gr.createElement(Be.default,{title:"\u5173\u7CFB\u8BBE\u7F6E",open:$o,destroyOnClose:!0,centered:!0,getContainer:()=>he.current,width:"1200rem",onCancel:()=>{va(!1);let eo=JSON.parse(sessionStorage.getItem("typesdatajson"));D0(eo)},onOk:()=>{let eo=JSON.parse(sessionStorage.getItem("typesdatajsoncopy"));D0(eo),va(!1)}},Gr.createElement("div",{className:Ki.settingmodal},Gr.createElement(Mt.default,{className:Ki.Tabs,activeKey:sT,destroyInactiveTabPane:!0,onChange:eo=>{C2(eo)},type:"card",items:Vf})))))};var Qs=(0,Ne.connect)(({pathsDetail:b,user:x,loading:E,globalSetting:z})=>({pathsDetail:b,user:x,globalSetting:z,loading:E.models.index}))(rl),fs={tree:"tree___nmqFN",center:"center___zS18i",head:"head___VcDyA",del:"del___VM4Mh",body:"body___YCIVW",tabs:"tabs___SW1M6",active:"active___p1mR9",scrollBox:"scrollBox___reAJO",treeWarp:"treeWarp___oNJ2m",treeNode:"treeNode___qHtQK",node:"node___AIr0l",info:"info___FnWMG",resource:"resource___WYrQp",action:"action___gQRZY",tags:"tags___iMesf",tag:"tag___ImQuD",leftLine:"leftLine___KCWcy",rightLine:"rightLine____XB16",icon:"icon___QEn9F",nodeWrap:"nodeWrap___CLyJX",line:"line___njEbX",statusbutton:"statusbutton___yMqes",checkbox:"checkbox___jNN_4",loading:"loading___zOI_x",allTreeNode:"allTreeNode___csU65"},_l="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA1lJREFUWEfFl09oXFUUxn/nvTEpbXXRos4bgwgGRYtZCIILhQSFtgEjgnShCNJV05pMqQstpV1UjW6seY1pFERB6EYEJVJbRMmALgqCixTFlgoupjOjUhdNo0068z65w0ycmcxMJmbk3e39zne+d/69c40Oz45P1PPnbwxZxEgkHjQjJUg5c4OcRM4zfpLH7LY7mftxjy13Qm1rge6ZVnK5yLEInkfctha+fG9c8+B0T4Ljvx6wQjublgL6T6r3L3EkEoeALR05Xg1a9IwTm403Lo/bUjOOpgLcV98o8hni0f/ouN7MOL8pwTPNorFKQN+kBkrGGYm+rjivkJiR9T2Gs2N2oZa3ToD78qUi33fbedWhE9Gb4JHaSKwIcDm/LjJdC3ur8BnntxqD1ZpYEZAKdTwSR7sZ9lZcnvFaLm3HKi0M5aK7yeUNVPt6dS9uuoV+l4pyBFKhTkVidL0sG8F7xkwubfvNTbiref7oeMhsxGt9+V/bHnC7BVPaqRLnusW7Hh7z2WWpUNOR2N/W0Jj3jBcRd0fi8zqsMW/iKYzDEvs8n6cxslGJjxAD7Xg945QlJzUHDLbuGj72U+zL7rG/g0k9Jvi2FpvwGcqOWSYI9abEqwaP5w/ad6n3tVk3eE/ihTYiMhaEuihx3yqQIYwDhXGbcXfJk3qWiA+BW1ewxheFtI3cO6M7FpfKXeTuFvDYWxi3Tyt2o4jpMlvDMeOSJUMtILY2EfBNIW1PDs4pcfECbyni5QZM0fN5KDdmPwehZlz462rMOHH/AK9khqyYDPU14okmPq63FGDGuXzadt/1rrZHRU4LdtYSVNsomNYDusk8kGgQ8JXn89yVl+xqEOqsxK4mqVhonQIo4jNSGLOzkiwIOWQwIehxYd7SS/8vo/Z7MtQsrggrx2BZxpH8OG+bmZJT2k2J2UaB5SlYTkG7IjRk8M62gMNuw0mGGkacMXg9f9CO9k1psFjCFfG/x2fYiS5vUAUm5PaJJvmvGGRcG645BQ1+8Dz2lowUJb40mJTHBMLltr7VfIY9UVDEB4KH12zD2AdR7KPYhaiTNKxnxHaCXfkZOXDsv+NKFOJbSJyA2FeyaipiW0qrhRPrWl4VEevDpCoi1qdZbR/H9jhtHCb/1/P8H/hZr0qiHgOCAAAAAElFTkSuQmCC",zl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA/1JREFUWEe1l19oW2UYxp/nNMmWdO1cZmcSW3TYKWwKoh3MmdBVUOmEDSeINvNGGEwRLwRR0Y12FHF44c2qTvEuCaNCRS+KiJiQP512eOFFB3XzX7FNXVnLlrRL8+e8ck6XmS45OUc9O5fnfO/7/L7n/b7vvB9h8dk1OuVaLF3po1QOqMBOEgGBBLRwgnMimFOA88KWr7zOzfGpZ3cVraSm2aC7Ryd9xVLxuCoSBqTdbPzad14lJeba6DnxxzM92WYxhgDd4xc2rCxl31YFrwFotSZcN2qZ5AetW3zDF/fvWG2UoyGANutCcfULQPb8R+GbwvjDBrf76UZu1AF0RiYeqKA8LkCnPeLXiwLOKg48Nftc6KfavOsAtJmvFgvn7BavChKcdbndu2uduAGg1Ty/OJ+wz3YD/4jJjYGu3t/7thfWdtD1JxBNnlAFx+y03SgXyeFsOKRr6QBri65w0Wi1EyiAvGaUUASbAVGswhNccbnd3VopdIBANP2hKupLBtuk0N6mbJs+GMwZCfijqXEAPSLS8S8gTmcPh45SO+EuFxcXjA4ZkkvZcMjbLLE/kvrY4VBOlSvqd9YhmNvq8t5Of3TiSZHy103qZQ4QTUYgzAO4SyiPQ9BixQkq7GcgkhpRIS//H4DaWF8kqR29PisACpWP6Iuk4oDsu0UAywQ+BRkUkZ56DSboj6amReReKwAyiV4Qz9eNJcbYg2+09zccIPIk+7MDoXTgzNmH1HLpx5vjSP5MXzSZg2CTFQArtuoAxKaquA4VTb0HkTcagOe1ElwFpM0OgEER5XQ0dQkKD2cHQvrC9kfSbwnUdxvnZ862Egw9LN9+EsucEshZCPo7OtqPLCzkXjUW1xuZaVsWoTZzXZwS02reOTrRXSlVPheRB5uWjYzbsg190fSxFiA9Gw7GzW2vQSJHbDmIfJHUZ0fDwSODpNq85uv9UBTlCVuOYl8sdZICHwTXBHgREKfpjiGu3Hmfp8P8Z0SsOkH/TDi0ZJRUWwOJBJRf59JtJcGfAvGYA3BkPhx6xdLvGESZgrJZUiEcEDjMxoHIu+nq/m1gz1//NCSR9JAK9bhpsB0DyMH5cGhIS7W+JVvKxiF4xA6NJgdbxuv0Pla9uKxrSrfHvr+jIMVzIui6FRAEZzweZfcvhx69VM1f15Z3ncncX65Uxu2G0MSdCvfPDASnaifX8GKiO6EWxwTYa4cTJDMet3KoduaGDlQ/6K1a+fKbELze7G/ZHJA5kO9vdW45aXRZNb2c3jOW2ba8Iu8Q6gsC3GbFEa2PFGGk1cPhRrM2LUEjkX1xcVyYT/WqKg8A2CmAn4B+PRdgjoDWip1XqHy5w783meij6bmhxf4NftTdgSGLQUwAAAAASUVORK5CYII=",Rl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAsVJREFUWEfFl0tIVGEUx39nZsxoKpGISlqmC42gxwxCEApBUhC0iR7bMLRyhrZRC6Ntecc0CtoVRRshkbKN0iJ0RmtRBj0WLUKLoEAz0po5cWe4zdWZO/czJuauzz3n9/3P6/sE02/qwSp+fm5FM4dRbUSlDqEu+7syjeg0Iq+RwENWbxqh6eiiiWvxNZrq28z870vASdD1vvZZA5kF7hIOddN05lOpf7wB3iWq+aYXED2PEjYLvMxKmEflKrVyhfquhWI+igPkTj0A2vxPgQt+kjHCoSPF1CgEmOzZQVqGQLeWJ7jjRT4SCBxkz7mXbr9LAXInT5U/uAsiHIq4lcgD5HI+Wj7ZvfSTMWqlxamJPEDS6ga9WF7ZPSEuE43ZnUUOwJb+x6/3ntUujBOqPsbOjg+egBNWK6qDRh1jd8eaqm12KnIASasftMPTuXCKSPy2rzrPr+8jnR5Cda2vLXKDaKxTsCfc/MyXkkNGAieIdN3zdwqkevei6UfAutL2Mkt4y0ZhsvcA6fTjksYrAbAdTSaaSeuw7+QMBtuECauPjHaWFcB2lkrE0cy1kn4D0i+kekZQWsoOMJHoIJPpL+2XUSFpvQFtMAZIWneA7Xl7HSQaL2xfEwDkrZCy5nyr1l0DKasdJT+mg7xgd2yg4AAmACLfVw4wcbMGqCqqWM3CIvVd9ioGEwCYM0yBHCcSu591nLLGUY16pGyYaLzNHCCbApMidAMkdqIUv5gE5OvfbWeigNhFaNSGSwD2o7KhqAIhmWHX2afGCmTb0GgQuQCSPc+ASFEAkSdEYoeMAbKDyGgUuwCM5rFJETqj2GgZyWkisVumsXPF6jcJnWVkG/uuY3lFMNhOpsp7HbvpMgsNoPaGbSyequXrOKdCBS8kNkDFr2ROKip2KXWSVdFruQNR0YeJA1HRp5m7dyr2OF3ewP/pef4HW7pxo3nDj9QAAAAASUVORK5CYII=",mu="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA75JREFUWEe1l19sU2UYxn9v2dwGzmSoEZJtRhY1StAQtN2YkEUiYOL/C6LhQtPWLQwXwXAlRKsXcjMUJQzFrUaCesGFjptBREJ0iXQmXOGCIQKJZDH4Z2Jm6UZ7HnNqCx30z2ktJ2lz8p3ned7ne8/7ft/5DI9Xb5dunonzJLDSgWVAi0GTjGlgIvM76RPDzXP5NnLMkl6krRSoe7naUileF7yAaCiFd5+bMYn4pL6Rd3Z/Y38U4xQ0EInId/4QbzhiG2KOl8DXYgwu4mP7mhb61x2wVD6NvAb6Vuj2+AyfSTxWSeDrOMaRulrW7Rm1yTwmZw+FOrQUh4MSzVUJnhUxTtfVsnbPqJ3J1Z2Vge4u3ZaMc8ItsKoGv2riVE0j7XuP2MWrQ5k7953/MsKIxOobEjwjanBozZ08ka2JKxkItyviOLx5I4NntX3GK4Mx253uGPfPbbVkip8qrfayTRsX6htoGzhmU2kDoYCGJIJehAx+NzgsuF+w1AunACYSHbO3zF3hEpe44GWRMWPKxAODY3Y2bdyvZ4B+QVu5Rsw4OxSzRRYK6HmJLzwKHI6O2dpcbN/jqotPsgmxVaLRo04a5jMedA18KNHjkfhldMyey4ft7dKC6Utsl3gxW1ulNH0+tlnQrzHg4VLgzPOCBrL8YKce4jLvA8tLaZqx383ArxJ3lAJ7NXDFSLtew2FHUV3jqIX8Sgjqqm0g013jEvcV1DZOWTCguJcOKDcDLj7o18/AokIGDH50MzAhWFjNDLid8c+f7EBsLKZrxtduDYxKdFbLwMsdejaVor/YzLOxDD61sF8fOND3fw10d2hJ0mEn4lGPWu46sMXCAT3tiK88kYyj0ZitysVuXKVbE1O8Legpdy+pNe6xzPtyl+JbSpowEjVG597jdiLSpZrzCXolIhJNJbnXAozxaMwWpzejYEDvITZ5EjESBj9I3A0s8MTJA/IZmwdjtvO/7XiFFiZnOIOor1SwLJ5xrrWVeyMHbCb3g2SD4zBQllCFYJvD+qHv7XOXPuubMOzXfgfWV6jrjWbsi8bM3bDS1ywDW1Zr3uRfxASLvamVhzLj+Nz5dO0aMfc0db0BdyTs112OMYxYUp58cXQ6+E08tes7+y0XmfdgsrlDDX87DEi8VBUTxr558+nOnXnBDOQGDPsVcox3Pa0R+Zwa58zH1mzB5YeUmOKGR9R0OcmrEiHPpyVj3AcfN7cy4LZasRAlT8dZsiTraaczKVaasUyixYwmxDTGBGIC42QNDH8Us9NeX92/T9xk1NzUiXsAAAAASUVORK5CYII=",Tl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA9tJREFUWEe9l11sFFUUx///3ZmyrVWMCQsWig+1Kr6w2wZM/CwaP/CBByM8mOhrQyBYt2pMwGD8NmG7tX7yZEx8gsTAg2J4sDUBjJKy1QSjQiNF0WA3tdDalp3Z+ZvZ6W637W5nt906bzNz7v/8zrnnnnsvUeajQ9tr7D8GH6S0TdQGCQ0kGiBIxJ8E/qJwVkEcNWqDfWzvt8qRpp+REq03Z+Dsl6OnBFzvZ+/+J3iF0GfB4IrX2PHd5YXGlATQJ20h+58rewHEJNWV43iuDYlxEAeMtc1vccfhdDGNogBu1LYyRyRsXozjIiAnjdq6J7jz1N/z/s39oHh0o019IWFtNZznNciLpoGt3JP8qVB3VgamIz9ddeczFEOmiU3ckxzOfcoDeHM++k210l4qewROGI3ND+VqIg9gxSOvC3CLbtkfBgL7zOfOvOGtGABe6p3zi632SolJXjWuCzSxvT+VBbAT0Y8dR+2VCi3Fngy8a8bOdDDb4X4/l/JrMqbJcGHx6KO7w9bExGWSGQOhMGPfjuSA9MGmRmvKurhgAyJGjHXNYVpdLY9JzjG/aGo6B+b1jHQ8IhLXzNhAqHC8W9DWyOiknyYDxhba8eiHDrTTz3gugCRaXVFnSQBEwhXpk/RApQCu/ZIzQH7FdDzyC4Db/AAqqoHu1vVWJjPkpwnyR1pdkTEJ9b7Gy2BAMEUrHrnqtwKmG8YYiIk8h1A3axxxIcDAPjk6IGhNObwkh5nuivwM4Xa/AeaqcD2fOf7vzFJrq7emRsey78QFs4Zt3J0c0nutd9hpp7csCPIHdwp6JbT5AZRahoXO83BlQpA8Rjseed8BdlUKkFuGAJ+t6Uz2zB1vJaIvy9GrCzcjxml1Rx5WBscrBShYhuMIBLeaHf0nchpWd8ujyOiIoFkNaq4PMnA/dbDVtMedYUErF4Iwg4GNMIMzJ5ope7UFDWRLwD16TUOU7RxMGY23rvE2ozKnwae3jwM8CGGXX+QeNONmLPm8tx1337Xadq6d/7/6AYlRA7VN7gY2cyBJRPbLwSt+tVCN/wRfMjuT70z3F0/Su3ic+1rCPdVwUkqDRK8RvfERbumzZwFkIdw9fnLyNKT1ywPBQZOhzYVnh3l7vHqid1oWvgR0S3UhOGiuMB/n7u9/LdQtfjHpia6yLX0u4N5qQGTTjtonCyPP6Za+mrk1cWnwBUgvSrphMSButUN822hZGc/N+bxm5CcsNxs29wLO0xJu8rP3CospEJ8aCL1ZLGrfKSjmRIe2B+1Lv90H2dsAbhDQQKEBhATveg7gLMCjxrqmU9xxOFMO7H8KhNHxXAeU2AAAAABJRU5ErkJggg==",ll="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAcCAYAAAAAwr0iAAAAAXNSR0IArs4c6QAAA05JREFUSEvFl1+IVHUUxz/n3jvOH92HfFpWEi2tWAwLIvChh+1lc9bY7EFS8iGKtIdeCnwxREmEXgyfEoRktdIgKrLdQqRFLURQ0lr/ryy02QwLK9u67uzsvfd39I6uzNyZO3PHQZzH+Z1zvp/f9/x+Z34jNPG5NUCn4/MigmMpkz7kxSGXSpGXLmaaKPUgVOImTfXT7kBvVLwxTIhFTiCf9MhJL7fi1C4B6CCp2QJbjNKDsAxlYZzkqBiB/zVwB/rF5sviNPm2tdwUQcM5EogXC5xVpbMV0Tow54C9CrMi5D0lNz/DsHQxFeRIcYBtRtnxKMTnaorwBcr5cg2x+T35Ghek0M9p4OVHCgAnga/LNdRgUgX6pDDAeKs9bwRvCVdU+Twcl5zH4cCBqoPRqGCz6yL8i7KzIs9Ch/5h/2MDMIbxzOt81zKA1bGRxLOfov407tAH6M3jVQbVcsAIQ5ksf7QEYD+1hcRznz0Q1MIoxcHFsQAQjqWyXG8AYAN+zZY7z+zEWba1Yk292xSPtgWjreL7Wg5MOHzV3s3tSAB76UcEIniTuH+/jxn76X5Rwencg7Pkwyow98pW/Ou7GjpgYDLTw6HSIKp5C5IdJF8dRcQqFVPj4Z57C5P/Eef5fThPvlMl4l3bgXdte023wg6ocjW9hsFIAEkvIdk1Ummv8dCJU1gLX6ne+aWP8Ud2R97OMIA4HE92cznaAcBZsRdn8aa6V17V4A1txh/dVzcuDFCY5dsn1jJRFwAsEiv7sBe9XbN4qS3nN2JyhxvOpXIAVWbSa+ibS2p4CxIrD2Av2lDZDn8G9891mLEjDcVLuyyfhMJIKsvRmABBmE3ihYPYHevvHUhvCvdsL2b8t1jiYQDP4tSC1fzVBECpBFbHBiTzNOa/b9Dp4djiYQC3yA9tbzLWJEBTepFzQBUvdYb9sh3zWAB8uDG/h5/LCVv6LYjry9whdIWTbVkuhgFyd99s7XGLPUycCBeMYdvFGxx5aRNuGOAEUD3eHkYpKkc4kErzrnThhUOCFrwH1B9lLcAET3HLZtW87tLbs/qAqiLFX/helTda0KmZGogr7Epn+STanPsrxV/pVUPP3dfrcmjtjwmQQxi2LA5G7XwO6A7Rr2QOpC6bTgAAAABJRU5ErkJggg==",jl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAcCAYAAAAAwr0iAAAAAXNSR0IArs4c6QAAAg1JREFUSEvtl09IFFEcx7/fN6hhQS5FiOShEjwUFIWt00FPdYlw25BO/YOOC0XQHmT35EgYHYJOQacugrC7eDa7iLbbpWutWUSGJR1WpSLZfb8YYWtWZ5gZkT3EzPV9v7/vh++8ebxhPGctAnIUQR5ymZBZ1cb0/MXMp7rFLFhntWCEkD4RdAUYpUnOsLN9iPHcqAQwNEhIrktL65nSpfSCWbBSovFYIEboOUpdbQAg+BaUdbdBAhyHoL2+RnJakemalteAtFzoPoHLR07j4J59vhzp4iQ+rn2HUrj9D4BYKiWz3V5uMz92X4t+6AD4DcGEQG4OdvVivH/YN7guuP7yGcqVr1sBWC4lM72eAAUrpbU8ca4bSlVqWnfY4TZE0McVgERVwKyCxysQXBMg7hbydPAGTh7wLG+bxb2BoPguuv8GYEMR9wD19ysQkT6BpPzK2Z0GuH0TmlMPenS1utAUAIJfilcyh51h5wpjp2pav2kKwGYIsUTAcRCxU0RizQPwS/JY3509sMNw2xYBRA1EDUQNRA3YDcTa9uJdZRmrG798z9Tn5Xms/Fzbcif0tXkLevYfwvvVldATaOA8zZx1V4BjgdxETIABiLheAEkuAvgQYFaNwMyrZOYRA4gbJMMyaXzOl+0fEcdNiT9oSKKYyL4IOy80QD2gPz9qAbgFwTfDMO7MJUZmw4bb+j/0UVXnXVodrAAAAABJRU5ErkJggg==",Vl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABSZJREFUaEPlWltMHFUY/v+ZWWCBliJbhAopIgaEgsAu0CoJ1jYpaYyJ4UFNrKlPFNrSGl9MBDoFTEyMsaVye2vERF+IL8bQhFpJaGRhuShQt0lBCFgQ2CAU2GV3Zo45S5YsuzPsLCypo/N6/tt3/us5ZxA0/mEo7Od5wtng13yn5DyBwDyPhBwlhBwkiFFUPhKyhogrBHGKgPRHGBP2Sxy8PMjzKOxV/64BtLVZdMOzTAkRXK8BYjEARgdnDFkFQnqQ0/2cmyh1l5ebXMHxb1IHDYAQghevD54RRbESAY/sRqkvDwHymGXZ5qZr+XcQkQQjMygAl/nhQpcgVAGSjGCUqKYlaNVxXOMtPrdPLY8qADxPmL9ESxUBeE+t4L3QIcA3z7KmRp5HKZCcgAAq+bFoIPZPJYm8GkhYKNcZBu8D6j9p5rNWd5K7I4BL1waPCJLQCIApgYwTXBuwtPgIbHNWsK8tgnNjFRz2ZTdbhD4GwsKjQR9lgLiEDIg1pAGnCw8kEgDIJMdwVV9dz3+sRKwIgO68JK7dDmT8k+U/YdL6E9jmrUBEdVURWQ7i4jMgJeN1OBDzXAAgZJJho84reUIWAI35eTLw5U5hY19fgonf78D89JCKnVQmiU/Og9SXzoA+MlaRiIZTPBo/lMsJWQAVNf1Xd0pY29xDeDDwLQgu+56M9zBzOj1kGt+FuIR0RXk0sVvqC274EvgBuFhnKRJdpElJ0vR4Nzwa6QSAgAUiSHAMpGWXQvILJYp8OlZX6VtitwGgTaqiZqBdqc5vGv9jkIYFR56WfVYZBEFrS73xnHez2wagkh8olUSpQU4lDZvfem/vw877amMg5/h5xXBiWKa6mTfSEHB/WwDobDM4I3XIjQc0YS33boYs5gP5hOaE6eQV2cSmY0d+ElPmmZ22AFTwg6eJKH4mJ3xs4DvV1UYfFad7MefNZDk5G/YV58PhjplAAOg6rU5ZxndkSZFlP27h87u2eeBCtbkBkCn15aB13nKvUY1ON030oaQIU8mlLDkGx5rN3tv1+QO1wkwnq+T7BJE6WxuKqrcA0Hl+TuzvkhuJR83tsDA7qlZnSAEYEo9BdtE5Gd1kNYEtOE3PE+4Qck+ZoqvZl5KOBz2ddao7bKg9QDt2cWmt7NjhKaluAEqNa2F2DEbNX6ve/VADoPKOFb0PhxP9I5IgaW+rK7zpBnCh1nIDCCn2tdQ61AGzU8qjOU1YVqdnvfkiow+HZxrfTpNNYseyY8TcPu675lhfcgrONdnOmHi0EDLyyvzFIfa01pmuejzwPQHwqxxDPW3w9+KEogdyTnyQ+kx8uvIQo9J31uGOibmp/iU58kOGVMgrLvdbQoDplvqCtzY9UN13FxBjfKnMd7+A9SfzTxVA5IF4KDr1kb8NhCy3NhSecgMor+nvRQDOl6r7h1qQhI2nCoDhwqHkjTo/GwiA0FZfcPy/AUDzIVRR06/xJN5lGU3PLUuKNaQe9A5QZDkMj4iJkE0cSZIc9iW/pBof65xZmB1ZkeNRVUbLa/uuIEG/nq2ZRqb5UWKnYW7E3A6L//ZhbrOZaXicdg90ITrQhOo8EPSBJlRHSi4sijEkZvqNJXSTRKdDVKo23hVoV0dKKkDTh3oKQPPXKhSEpi+2PHGo6atFCkLzl7ubCa3h63VPKGn6gcMDQtNPTB4Qmn7k8+6Q7hLrhMv7+czKhsGtplqTWeWFxv/sodt7VzT7q4Gcaz0/ewii6xWCmKKJnz3Uxuh+0/0DF9aFXrFDGJoAAAAASUVORK5CYII=",yu="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABL5JREFUaEPdWntMW1UY/53b0s4sQAfDPeKWza1kPDIFCjHRRBM3p0xDnG7Z2PxHjVCn0fjYoqF4bYlmmxqNTkp8/OMeuk0N0REnmmiiiYECZgFmaJDFmT1kkDKyzEJ7PnMKl8Dtvb0trY/r/fd8r9/5vvM9zrkMJv9YJuyXZbIO857bI4huAqGYgQpByCPGsoV8RjQOhlECGwBDvxWWUwVS2feyzCLp6p83AFnus13i12qI8xpibDOIHCkZw1iIEZ1kktS6RLquVZZLJlLinyZOGQARsccbu3Zw4k0AVs9HqQbPkMSkhne9FUcZY5SKzJQA7G7svjPCo/sBKk9FSfK0rNsqWfYc9JZ/myxPUgBkmaRL0a59nPhzyQpOh05i0mtLLBV7ZZlxIzmGAJ58KZgzyUNHiajaSFgm1xljbVmSY8fbLzuvJJKbEEC93LMK0UgbERUZGWe3WVDszEVpYS4K8uxwZNuQm50VYxsbn0RofALDo2H0DoyhPziG8ETUSCQYY2dgsVb75bKzesS6AKZ3/icj41cuX4jqO5aj1JkLq9XQoTE7IhFCb3AMbd+dx2/nryYEIkBkSY5b9DyhqVHE/MVo4ItEYZPvsKNm4w2oWp9nuJOJCDpOj6K1/XeMhMK6ZCKcllpc92mdCU0Abk/gQKIDW1rowKPbbsQCuyUt4xXmP8NRvH/sV/QOhHTliYPd7HM9ryaIA+CWOzfwCLXrSdp421JsuWsFWHLRkjRAIuCzr8+h/YeLujxWybpBnWLnmCGKVL0nENDL88L4BzatSNqo+RB+eioRCNbt97lcs4vdHABuT6CWEz+spViEze5dzozvvFqX8MTBQ0HdcJKYtLPZ5zqi8M0AEL3NhcjVX7TaA3FgPU+UZCzmjTwjzoTvnT69gz20zLpwndI7zQBwNwa2cs6PaQl/eOuatLONkdHqdZGdPjw+qMkmSdK2Zq/ruFicAVDf0HGIgJ1qDpHnX3QXp6o/I/SvNPdr1gkGHPY3Ve2aASD6+QvRwLBWS+yudeKmotQ65YxYD+DnMyH4jwTjxTEWWmZxFYh5IuaBqS4z8o2aUrQHr79QlnSFzZThihxRsZ99tUez7VBSagyAXuEqK8lD3fY1mbYrJXktHw+ip280nkdiB1q8lXtiAOo8nV+CaLOa6qH7V+PW8sW6CkNXJnEtbNyUGVm8KMeGBXZJk+zH7sv46PMhrTA62eKrvDcGoN7TMUAEp5rqmUfWoXBVbKzV/N77ZBBdvRq7Y2Sxav2x7WtRXrJIk2vg7Dje+EBk97kfYwj6fVWFUwAaOi4TkK8m8j69Htfn2/9VAH+MhNH45ul4AMCIv6lqsRJCYRDZ1FRveSpgt2m7VtD+Ex4IT3A85evSCqGJFl+l/f8BwPQhZPpDPN80euKrc7H5Nt3vwXtWonhtzvzTaF1j535wipt2TFPITN9KJGrm6muduPm/3sxNFzPzttMCgOkHGtOPlDEvmHmoFwBMf60S84KZL7aUUmjqq0UBwvSXuwKEqa/XlVAy9QOHAsLUT0wKCFM/8s1u0qdSLPb9nc+skhV7m+XKuEs2vZkj5WcKUz90z94F0/5qoOVK5WcPTvxuDioyxc8e6c7BmeL/C6MjFF4PO1ITAAAAAElFTkSuQmCC",Yl=Oe(78550),bl=Oe(16597),_u=Oe(706),Hu=Oe(66539),Pn=Oe(57071),Tn=Oe(59301),cr=Object.defineProperty,yr=Object.defineProperties,Rr=Object.getOwnPropertyDescriptors,Dr=Object.getOwnPropertySymbols,si=Object.prototype.hasOwnProperty,oi=Object.prototype.propertyIsEnumerable,ti=(b,x,E)=>x in b?cr(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,Ni=(b,x)=>{for(var E in x||(x={}))si.call(x,E)&&ti(b,E,x[E]);if(Dr)for(var E of Dr(x))oi.call(x,E)&&ti(b,E,x[E]);return b},pi=(b,x)=>yr(b,Rr(x)),Di=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())});const vo=({classroomList:b,dispatch:x,courseEndTime:E})=>{const z=(0,Ne.useParams)(),[te]=St.default.useForm(),[re,oe]=(0,Ue.useState)(1),[le,he]=(0,Ue.useState)([]),[ge,Ae]=(0,Ue.useState)(0),[Pe,We]=(0,Ue.useState)(20),[Xe,qe]=(0,Ue.useState)(!0),[nt,at]=(0,Ue.useState)([]),[pt,mt]=(0,Ue.useState)(!0);z.coursesId=z.pathId,z.id=z.coursesId,(0,Ue.useEffect)(()=>{if(b.actionTabs.key==="\u7ACB\u5373\u53D1\u5E03")if(Ut(),bt(),b.actionTabs.type===2){const wn=b.actionTabs.selectArrsAll[0];mt(wn.unified_setting)}else mt(!1)},[b.actionTabs]);const bt=wn=>Di(void 0,null,function*(){qe(!0);const kn=yield(0,bl.c_)(pi(Ni({},z),{page:wn||re,limit:2e4}));kn==null||kn.course_groups.map((Vn,vr)=>{Vn.key=Vn.id,Vn.title=Vn.name,Vn.disabled=Vn.is_published}),kn&&(he([...kn==null?void 0:kn.course_groups]),Ae(kn==null?void 0:kn.course_groups_count),qe(!1),wn||te.setFieldsValue({publish_time:fe()(fe()(new Date).add(0,"days").format("YYYY-MM-DD HH:mm")),end_time:fe()(fe()(new Date((0,ve.qd)("/"))).add(7,"days").format("YYYY-MM-DD HH:mm"))}))}),jt=()=>Di(void 0,null,function*(){var wn;const kn=Ni({},te.getFieldsValue());if(kn.end_time<=kn.publish_time){Ke.ZP.info("\u622A\u6B62\u65F6\u95F4\u4E0D\u80FD\u5927\u4E8E\u6216\u7B49\u4E8E\u53D1\u5E03\u65F6\u95F4"),vn(!1);return}if((nt==null?void 0:nt.length)<=0&&!pt&&le.length>0){Ke.ZP.info("\u53D1\u5E03\u73ED\u7EA7\u4E0D\u80FD\u4E3A\u7A7A"),vn(!1);return}let Vn={ids:[...b.actionTabs.selectArrs],group_ids:nt.length>0?nt.map(or=>or.id):(wn=b.detailShixunsList)==null?void 0:wn.course_groups,end_time:fe()(kn.end_time).format("YYYY-MM-DD HH:mm"),publish_time:fe()(kn.publish_time).format("YYYY-MM-DD HH:mm"),unified_setting:!nt.length,subject_id:z.pathId};vn(!0),(yield(0,kt.ZP)("/api/subject_knowledge/batch_publish.json",{method:"post",body:Ni({},Vn)})).status===0?(x({type:"classroomList/setActionTabs",payload:{}}),x({type:"pathsDetail/setActionTabs",payload:{key:"\u66F4\u65B0\u6570\u636E"}}),vn(!1),Ut(),(0,ve.L9)(["\u6559\u5B66\u8BFE\u5802","\u8BFE\u7A0B\u5B9E\u9A8C","\u7ACB\u5373\u53D1\u5E03"]),Ke.ZP.success("\u53D1\u5E03\u6210\u529F")):vn(!1)}),Ut=()=>{oe(1),he([]),at([])},Kt=ge>re*Pe,{detailShixunsList:Qt}=b,[Vt,vn]=(0,Ue.useState)(!1);return Tn.createElement(Be.default,{width:600,centered:!0,confirmLoading:Vt,title:"\u53D1\u5E03\u8282\u70B9",open:b.actionTabs.key==="\u7ACB\u5373\u53D1\u5E03",okText:"\u786E\u8BA4\u53D1\u5E03",cancelText:"\u53D6\u6D88",className:Pn.Z.modal,onOk:()=>jt(),onCancel:()=>{Ut(),x({type:"classroomList/setActionTabs",payload:{}})}},Tn.createElement("p",null,"\u5230\u8FBE\u53D1\u5E03\u65F6\u95F4\u540E\uFF0C\u5B66\u751F\u5C06\u5728\u5404\u6559\u5B66\u6A21\u5757\u4E2D\u67E5\u770B\u5230\u5B66\u4E60\u8DEF\u5F84\u7684\u4F5C\u4E1A\u3001\u8003\u8BD5\u3001\u89C6\u9891\u3001\u8D44\u6E90\u7B49",Tn.createElement("br",null),"\u53D1\u5E03\u64CD\u4F5C\u4EC5\u9488\u5BF9\u672A\u53D1\u5E03\u8D44\u6E90\u7684\u5206\u73ED\u751F\u6548"),Tn.createElement(St.default,{form:te},Tn.createElement("div",{style:{paddingLeft:0}},Tn.createElement(Me.Z,{className:"mt30",align:"middle"},Tn.createElement(je.Z,null,Tn.createElement(St.default.Item,{name:"publish_time",label:"\u53D1\u5E03\u65F6\u95F4"},Tn.createElement(Yl.default,{style:{width:170,marginRight:"25px"},disabledDate:wn=>(0,Hu.Q8)(wn,E),disabledTime:wn=>(0,Hu.d0)(wn),placeholder:"\u8BF7\u9009\u62E9\u53D1\u5E03\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:fe()((0,ve.U6)(),"HH:mm")},format:"YYYY-MM-DD HH:mm",allowClear:!1}))),Tn.createElement(je.Z,{className:"ml20"},Tn.createElement(St.default.Item,{name:"end_time",label:"\u622A\u6B62\u65F6\u95F4:"},Tn.createElement(Yl.default,{style:{width:170},placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:fe()((0,ve.U6)(),"HH:mm")},disabledDate:wn=>(0,Hu.Q8)(wn,E,te.getFieldValue("publish_time")),disabledTime:wn=>(0,Hu.d0)(wn,te.getFieldValue("publish_time")),format:"YYYY-MM-DD HH:mm",allowClear:!1})))),b.actionTabs.type===2&&Tn.createElement(Me.Z,{style:{marginBottom:"10px"}},Tn.createElement("span",{className:"mr5"},"\u53D1\u5E03\u8BBE\u7F6E:"),Tn.createElement(xt.ZP.Group,{value:pt,onChange:wn=>{mt(wn.target.value),at([])}},Tn.createElement(xt.ZP,{value:!0,disabled:!b.actionTabs.manage_all_group},"\u7EDF\u4E00\u53D1\u5E03"),Tn.createElement(xt.ZP,{className:"ml20",disabled:le.length<=0,value:!1},"\u5206\u73ED\u53D1\u5E03"))),le.length<=0&&b.actionTabs.type===2&&Tn.createElement("span",{style:{marginLeft:"65px",color:"rgba(0, 0, 0, 0.25)"}},'\u8BFE\u5802\u65E0\u5206\u73ED\uFF0C\u4EC5\u652F\u6301\u9009\u62E9\u201C\u7EDF\u4E00\u53D1\u5E03"')),(b.actionTabs.type===1||!pt)&&le.length>0&&Tn.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"10px"}},Tn.createElement("span",{style:{flex:1}},Tn.createElement(ye.default,{checked:nt.length===le.length,onChange:wn=>{nt.length===le.length?at([]):at(le)}},"\u5168\u9009")),Tn.createElement("span",{style:{width:16}}),Tn.createElement("span",{style:{flex:1}},"\u5DF2\u9009\u62E9",nt.length||0,"\u4E2A\u5206\u73ED")),(b.actionTabs.type===1||!pt)&&le.length>0&&Tn.createElement(_u.Z,{data:le,selectedRowKeys:nt,setSelectedRowKeys:at})))};var ho=(0,Ne.connect)(({classroomList:b})=>({classroomList:b}))(vo),hi=Oe(59301),Go=Object.defineProperty,ro=Object.defineProperties,sa=Object.getOwnPropertyDescriptors,qo=Object.getOwnPropertySymbols,na=Object.prototype.hasOwnProperty,$a=Object.prototype.propertyIsEnumerable,cs=(b,x,E)=>x in b?Go(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,ya=(b,x)=>{for(var E in x||(x={}))na.call(x,E)&&cs(b,E,x[E]);if(qo)for(var E of qo(x))$a.call(x,E)&&cs(b,E,x[E]);return b},Ia=(b,x)=>ro(b,sa(x)),gs=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())});const ga=[{name:"\u672A\u53D1\u5E03",color:"#9AA4B3"},{name:"\u5DF2\u53D1\u5E03",color:"#37AD83"},{name:"\u672A\u5F00\u542F",color:"#92D2B7"},{name:"\u672A\u901A\u5173",color:"#EE5D5D"},{name:"\u6309\u65F6\u901A\u5173",color:"#37AD83"},{name:"\u8865\u4EA4\u901A\u5173",color:"#288A67"},{name:"\u622A\u6B62\u540E\u901A\u5173",color:"#929628"},{name:"\u672A\u5F00\u59CB",color:"#92D2B7"},{name:"\u8003\u8BD5\u4E2D",color:"#FFC86B"},{name:"\u5DF2\u4EA4\u5377",color:"#37AD83"},{name:"\u5DF2\u4EA4\u5377/\u672A\u7B54",color:"#929628"},{name:"\u672A\u770B\u5B8C",color:"#FFC86B"},{name:"\u5DF2\u770B\u5B8C",color:"#37AD83"},{name:"\u672A\u67E5\u770B",color:"#9AA4B3"},{name:"\u5DF2\u67E5\u770B",color:"#37AD83"},{name:"\u5DF2\u4E0B\u8F7D",color:"#377DFF"}],Wa=({pathsDetail:b,setselectitems:x,publishshow:E,node:z,index:te,onExpandClick:re,onClickDetails:oe,selectitems:le})=>{var he,ge,Ae;const[Pe,We]=(0,Ue.useState)(!1),Xe=(0,Ue.useRef)(null),{name:qe,complete_rate:nt,node_type:at,resource_info:pt,grasp_rate:mt,has_children:bt,children:jt,expand:Ut,key:Kt,is_publish:Qt,status:Vt,id:vn,url:wn}=z||{};(0,Ue.useEffect)(()=>{var Sr;kn();const Tr=(Sr=Xe.current)==null?void 0:Sr.parentElement;if(!Tr)return;const ri=new ResizeObserver(()=>{kn()});return ri.observe(Tr),()=>{ri.disconnect()}},[Ut]);const kn=()=>{if(!Xe.current)return;const Sr=Xe.current,Tr=Sr.parentElement,ri=Sr.previousElementSibling,Cr=Tr==null?void 0:Tr.firstElementChild;if(Tr&&ri&&Cr){const yi=ri.getBoundingClientRect().height,Co=Tr.getBoundingClientRect().height,wo=Cr.getBoundingClientRect().height,vi=yi/2,Mi=Co-(wo+yi)/2;Sr.style.bottom=`${vi}px`,Sr.style.height=`${Mi}px`}},Vn=(he=Number(nt))==null?void 0:he.toFixed(0),vr=Vn==="100",or=vr?at==="\u5B9E\u8BAD"?"\u5DF2\u901A\u5173":"\u5DF2\u5B8C\u6210":`${Vn}%`,Or=pt==null?void 0:pt.reduce((Sr,Tr)=>Sr+Tr.value,0),qr={\u5B9E\u8BAD:_l,\u8BD5\u5377:zl,\u8BFE\u4EF6:Rl,\u89C6\u9891:mu},wr=()=>{re(Kt)};return hi.createElement("div",{className:fs.treeNode,"data-index":te},hi.createElement("div",{className:fs.node,style:vr?{background:"#EDF7EE"}:{}},!Qt&&!((ge=b==null?void 0:b.detail)!=null&&ge.can_managed)&&hi.createElement("div",{style:{background:"rgba(0, 0, 0, 0.5)",width:"100%",height:"100%",position:"absolute",zIndex:5,left:"50%",bottom:0,transform:"translateX(-50%)",textAlign:"center",paddingTop:"30rem",borderRadius:"10rem"}},hi.createElement("div",null,hi.createElement("i",{className:"iconfont icon-suo1",style:{color:"#fff",fontSize:"28rem"}}),hi.createElement("div",{style:{color:"#fff",fontSize:"12rem"}},"\u8D44\u6E90\u6682\u672A\u53D1\u5E03"))),hi.createElement("div",{className:fs.statusbutton,style:{background:(Ae=ga.find(Sr=>Sr.name===Vt))==null?void 0:Ae.color}},Vt),E&&hi.createElement(ye.default,{checked:le==null?void 0:le.map(Sr=>Sr.id).includes(vn),onChange:()=>{if(le!=null&&le.map(Sr=>Sr.id).includes(vn))x(le.filter(Sr=>Sr.id!==vn));else{let Sr=[...le];Sr.push(z),x(Sr)}},className:fs.checkbox}),hi.createElement(Me.Z,{style:{padding:bt?"initial":"3rem 0"}},hi.createElement(Ce.Z,{title:"\u5B8C\u6210\u7387"},hi.createElement("div",{style:{flexShrink:0,marginLeft:"24rem",marginTop:"17rem"}},hi.createElement(wa,{strokeColor:"#60C059",percentage:nt,startAngle:270,trackColor:"#E3E8EF",text:or,textSize:"12rem",textColor:"#60C059",outerDiameter:"62rem",innerDiameter:"46rem",textPadding:"3rem",hoverEffect:!1}))),hi.createElement("div",{className:fs.info},hi.createElement(Me.Z,{align:"middle"},hi.createElement(Ce.Z,{title:at},hi.createElement("img",{src:qr[at]||Tl,style:{marginRight:"10rem",width:"16rem"}})),hi.createElement(Ce.Z,{title:qe},hi.createElement("b",{onClick:()=>{oe(z)},className:"c-grey-333 current",style:{fontSize:"16rem"}},(0,ve.Pq)(qe,19)))),hi.createElement(Me.Z,{align:"middle",style:{marginTop:"5rem",marginLeft:"26rem",marginBottom:bt?"0":"30rem"}},hi.createElement(Me.Z,{align:"middle"},hi.createElement(Ce.Z,{title:"\u638C\u63E1\u7387"},hi.createElement("img",{src:ll,style:{marginRight:"4rem",width:"16rem"}})),hi.createElement("span",{style:{color:"#1B8565",fontSize:"14rem"}},mt,"%")),hi.createElement(Me.Z,{align:"middle",style:{marginLeft:"55rem"}},hi.createElement(Ce.Z,{title:"\u5B8C\u6210\u7387"},hi.createElement("img",{src:jl,style:{marginRight:"4rem",width:"16rem"}})),hi.createElement("span",{style:{color:"#1B8565",fontSize:"14rem"}},nt,"%"))),bt&&hi.createElement(Me.Z,{className:fs.resource},hi.createElement("span",{style:{color:"#666",fontSize:"14rem"}},"\u8D44\u6E90\u6570\uFF1A",Or),hi.createElement("div",{onClick:()=>We(!Pe),className:fs.action},Pe?hi.createElement(hi.Fragment,null,"\u6536\u8D77",hi.createElement("i",{className:"iconfont icon-xialajiantou1",style:{transform:"scale(0.6)"}})):hi.createElement(hi.Fragment,null,"\u5C55\u5F00",hi.createElement("i",{className:"iconfont icon-xialajiantoubeifen",style:{transform:"scale(0.6)"}})))))),Pe&&hi.createElement("div",{className:fs.tags},pt==null?void 0:pt.map((Sr,Tr)=>hi.createElement(Ce.Z,{title:Sr.name},hi.createElement("div",{className:fs.tag,key:Tr},(0,ve.Pq)(Sr.name,5),"\uFF1A",Sr.value)))),te.length>1&&hi.createElement("div",{className:fs.leftLine}),Ut&&hi.createElement("div",{className:fs.rightLine}),bt&&hi.createElement("img",{onClick:wr,className:fs.icon,src:Ut?yu:Vl})),jt&&jt.length>0&&Ut&&hi.createElement("div",{className:fs.nodeWrap},jt.map((Sr,Tr)=>hi.createElement(Wa,{key:Sr.key,onExpandClick:re,onClickDetails:oe,publishshow:E,setselectitems:x,pathsDetail:b,selectitems:le,node:Sr,index:te+"-"+(Tr+1)})),jt.length>1&&hi.createElement("div",{ref:Xe,className:fs.line})))},fa=({data:b,onExpandClick:x,selectitems:E,onClickDetails:z,pathsDetail:te,setselectitems:re,publishshow:oe})=>hi.createElement("div",{className:fs.treeNode},hi.createElement("div",{className:fs.nodeWrap},b.map((le,he)=>hi.createElement(Wa,{key:le.key,onExpandClick:x,onClickDetails:z,pathsDetail:te,publishshow:oe,selectitems:E,setselectitems:re,node:le,index:String(he+1)}))));var la=({visible:b,onCancel:x,subjectId:E,onClickDetails:z,pathsDetail:te,dispatch:re})=>{var oe;const[le,he]=(0,Ue.useState)([]),[ge,Ae]=(0,Ue.useState)(!0),[Pe,We]=(0,Ue.useState)("\u5168\u90E8"),[Xe,qe]=(0,Ue.useState)([]),[nt]=(0,Ne.useSearchParams)(),[at,pt]=(0,Ue.useState)(!1),[mt,bt]=(0,Ue.useState)([]);(0,Ue.useEffect)(()=>{Ut()},[Pe]),(0,Ue.useEffect)(()=>{te.actionTabs.key==="\u66F4\u65B0\u6570\u636E"&&(re({type:"pathsDetail/setActionTabs",payload:{key:""}}),Ut())},[te.actionTabs.key]);const jt=(wn,kn)=>gs(void 0,null,function*(){const Vn=yield(0,kt.ZP)("/api/subject_knowledge.json",{method:"get",params:{id:wn,subject_id:E,node_type:Pe}});if((Vn==null?void 0:Vn.status)===0)return kn&&qe((Vn==null?void 0:Vn.node_types)||[]),(Vn==null?void 0:Vn.data)||[];Ae(!1)}),Ut=()=>gs(void 0,null,function*(){Ae(!0);const wn=yield jt(b,!0);he(wn),Ae(!1)}),Kt=(wn,kn,Vn)=>gs(void 0,null,function*(){return yield Promise.all(wn.map(or=>gs(void 0,null,function*(){return or.key===kn?yield Vn(or):or.children&&or.children.length>0?Ia(ya({},or),{children:yield Kt(or.children,kn,Vn)}):or})))}),Qt=wn=>gs(void 0,null,function*(){Ae(!0);const kn=yield Kt(le,wn,Vn=>gs(void 0,null,function*(){var vr,or;const Or=Ia(ya({},Vn),{expand:!(Vn!=null&&Vn.expand)});return!(Vn!=null&&Vn.expand)&&!((vr=Vn==null?void 0:Vn.children)!=null&&vr.length)&&(Or.children=yield jt(wn),((or=Or.children)==null?void 0:or.length)===0&&(Or.has_children=!1,Or.expand=!1)),Or}));he(kn),Ae(!1)}),Vt=wn=>gs(void 0,null,function*(){Ae(!0),yield z(wn,!1),Ae(!1)});return hi.createElement("div",{className:fs.tree},hi.createElement("div",{className:fs.center},hi.createElement("div",{className:fs.head},hi.createElement("div",{className:fs.del},hi.createElement("i",{onClick:x,className:"iconfont icon-shanchuhuanjing"}),hi.createElement("b",null))),hi.createElement("div",{className:fs.body},ge&&hi.createElement("div",{className:fs.loading},hi.createElement(Xt.Z,{spinning:!0})),hi.createElement("div",{style:{display:"flex",justifyContent:"space-between"}},hi.createElement("div",{className:fs.tabs,style:{flex:1}},Xe==null?void 0:Xe.map(wn=>hi.createElement("div",{onClick:()=>We(wn.node_type),className:wn.node_type===Pe?fs.active:void 0,key:wn.node_type},wn.node_type,"\uFF08",wn.count,"\uFF09"))),nt.get("type")==="classrooms"&&((oe=te==null?void 0:te.detail)==null?void 0:oe.can_managed)&&hi.createElement("div",null,at&&hi.createElement(ye.default,{style:{color:"#fff"},checked:(mt==null?void 0:mt.length)===(le==null?void 0:le.length),onChange:()=>{if((mt==null?void 0:mt.length)===(le==null?void 0:le.length))bt([]);else{pt(!0);let wn=[...le];bt(wn)}}},(mt==null?void 0:mt.length)===(le==null?void 0:le.length)?"\u53D6\u6D88\u5168\u9009":"\u5168\u9009","\uFF08\u5F53\u524D\u9009\u4E2D",mt==null?void 0:mt.length,"\uFF09"),at&&hi.createElement(we.ZP,{style:{marginRight:"20rem",borderRadius:"24rem"},onClick:()=>pt(!1)},"\u53D6\u6D88"),hi.createElement(we.ZP,{type:"primary",onClick:()=>gs(void 0,null,function*(){if(at)re({type:"classroomList/setActionTabs",payload:{key:"\u7ACB\u5373\u53D1\u5E03",selectArrs:mt==null?void 0:mt.map(wn=>wn.id)}});else{pt(!0);let wn=[...le];bt(wn)}}),style:{borderRadius:"24rem"}},at?"\u6279\u91CF\u53D1\u5E03":"\u53D1\u5E03\u8282\u70B9"))),hi.createElement("div",{className:fs.scrollBox},hi.createElement("div",{className:Fr()(fs.treeWarp,!0&&fs.allTreeNode)},hi.createElement(fa,{pathsDetail:te,selectitems:mt,setselectitems:bt,publishshow:at,data:le,onClickDetails:Vt,onExpandClick:Qt}))))),hi.createElement(ho,null))},Ha=Oe(63486),Po=Oe(59301),Es=Object.defineProperty,ca=Object.defineProperties,dt=Object.getOwnPropertyDescriptors,Ot=Object.getOwnPropertySymbols,zt=Object.prototype.hasOwnProperty,$t=Object.prototype.propertyIsEnumerable,pn=(b,x,E)=>x in b?Es(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,mn=(b,x)=>{for(var E in x||(x={}))zt.call(x,E)&&pn(b,E,x[E]);if(Ot)for(var E of Ot(x))$t.call(x,E)&&pn(b,E,x[E]);return b},In=(b,x)=>ca(b,dt(x)),xn=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())});const qn=[3,2,1];var ar=({xxljac:b,pathsDetail:x,dispatch:E,setxxljac:z})=>{var te,re,oe;const le=(0,Ne.useParams)(),he=(0,Ne.useSelector)(Sa=>Sa),{pathsDetail:{detail:ge={}}}=he,[Ae,Pe]=(0,Ue.useState)(!0),[We,Xe]=(0,Ue.useState)(!1),[qe,nt]=(0,Ue.useState)(""),[at,pt]=(0,Ue.useState)(!1),[mt,bt]=(0,Ue.useState)(!1),[jt,Ut]=(0,Ue.useState)(!1),[Kt,Qt]=(0,Ue.useState)(""),[Vt,vn]=(0,Ue.useState)({}),[wn,kn]=(0,Ue.useState)([]),[Vn,vr]=(0,Ue.useState)(""),[or,Or]=(0,Ue.useState)([]),[qr,wr]=(0,Ue.useState)(!1),[Sr,Tr]=(0,Ue.useState)(1),[ri,Cr]=(0,Ue.useState)({});let[yi,Co]=(0,Ue.useState)({});const wo=ge==null?void 0:ge.can_managed,[vi]=(0,Ne.useSearchParams)();(0,Ue.useEffect)(()=>{Bs(b)},[b]);function Mi(){return xn(this,null,function*(){var Sa;let Is=[...(Sa=x==null?void 0:x.detail)==null?void 0:Sa.nodes];Or(Is==null?void 0:Is.splice(1))})}(0,Ue.useEffect)(()=>{var Sa;(Sa=x==null?void 0:x.detail)!=null&&Sa.nodes&&Sr===1&&(Mi(),Tr(2))},[(te=x==null?void 0:x.detail)==null?void 0:te.nodes]);const $i=(Sa=null)=>xn(void 0,null,function*(){var Is;Pe(!0);const Ss=yield(0,kt.ZP)("/api/subject_knowledge.json",{method:"get",params:{id:Sa,subject_id:le==null?void 0:le.pathId}});if((Ss==null?void 0:Ss.status)===0){vn(Ss||{});const el=(Ss==null?void 0:Ss.parent_knowledges)||[];kn(el),Sa||vr((Is=el==null?void 0:el[0])==null?void 0:Is.id)}Pe(!1),vi.get("type")==="classrooms"?E({type:"pathsDetail/getCourseDetail",payload:mn({id:le.pathId,knowledge:!0},(0,ve.oP)())}):E({type:"pathsDetail/getPathsDetail",payload:mn({id:le.pathId,knowledge:!0},(0,ve.oP)())})}),Lo=()=>xn(void 0,null,function*(){var Sa,Is,Ss,el,ms,ru,Ql,Ra,ws,$o;if(!Kt){Ke.ZP.warning("\u8BF7\u8F93\u5165\u6587\u672C");return}if(Kt!=="\u786E\u8BA4\u5220\u9664"){Ke.ZP.warning("\u6587\u672C\u8F93\u5165\u6709\u8BEF");return}Ut(!0);const va=yield(0,kt.ZP)("/api/subject_knowledge.json",{method:"delete",body:{id:Vn,subject_id:le==null?void 0:le.pathId}});if((va==null?void 0:va.status)===0)if(Ke.ZP.success("\u5220\u9664\u6210\u529F"),pt(!1),vi.get("type")==="classrooms"){let Fa=yield E({type:"pathsDetail/getCourseDetail",payload:mn({id:(Sa=x==null?void 0:x.detail)==null?void 0:Sa.id,knowledge:!0},(0,ve.oP)())});Bs((Ss=(Is=Fa==null?void 0:Fa.route_nodes)==null?void 0:Is[0])==null?void 0:Ss.id,((ms=(el=Fa==null?void 0:Fa.route_nodes)==null?void 0:el[0])==null?void 0:ms.name)||"\u5B66\u4E60\u8DEF\u5F84")}else{let Fa=yield E({type:"pathsDetail/getPathsDetail",payload:mn({id:(ru=x==null?void 0:x.detail)==null?void 0:ru.id,knowledge:!0},(0,ve.oP)())});Bs((Ra=(Ql=Fa==null?void 0:Fa.route_nodes)==null?void 0:Ql[0])==null?void 0:Ra.id,(($o=(ws=Fa==null?void 0:Fa.route_nodes)==null?void 0:ws[0])==null?void 0:$o.name)||"\u5B66\u4E60\u8DEF\u5F84")}Ut(!1)}),Jo=(Sa,Is=!0)=>xn(void 0,null,function*(){var Ss,el,ms,ru,Ql,Ra,ws;if((Sa==null?void 0:Sa.container_type)==="Attachment"&&!((Ss=x==null?void 0:x.detail)!=null&&Ss.can_managed)){(0,Ha.fc)({id:Sa==null?void 0:Sa.container_id,watch_type:2,course_id:(el=x==null?void 0:x.detail)==null?void 0:el.id}),Cr({url:di.Z.API_SERVER+(Sa==null?void 0:Sa.url),file_type:Sa==null?void 0:Sa.file_type});return}if(Sa!=null&&Sa.url){window.open(Sa==null?void 0:Sa.url);return}Is&&Pe(!0);let $o=yield(0,kt.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{depth:0,subject_id:le==null?void 0:le.pathId,nodeUuid:(Sa==null?void 0:Sa.knowledge_uuid)||(Sa==null?void 0:Sa.key)}});if(($o==null?void 0:$o.status)===0){if(((ru=(ms=$o==null?void 0:$o.data)==null?void 0:ms.nodes)==null?void 0:ru.length)>0){let va=(ws=(Ra=(Ql=$o==null?void 0:$o.data)==null?void 0:Ql.nodes)==null?void 0:Ra.map(Fa=>{var Xs,ua,vl,Js,Yu,du,Mu,Lu,vu,$c,Cp,bp,Cc;const fh=(Xs=$o==null?void 0:$o.data)==null?void 0:Xs.resource_count;return In(mn({},Fa==null?void 0:Fa.properties),{rootNodeUuid:(ua=Fa==null?void 0:Fa.properties)==null?void 0:ua.rootNodeUuid,id:(vl=Fa==null?void 0:Fa.properties)==null?void 0:vl.uuid,name:(Js=Fa==null?void 0:Fa.properties)==null?void 0:Js.name,description:(Yu=Fa==null?void 0:Fa.properties)==null?void 0:Yu.description,nodeType:(du=Fa==null?void 0:Fa.properties)==null?void 0:du.nodeType,tags:((Mu=Fa==null?void 0:Fa.properties)==null?void 0:Mu.tags)&&(($c=(vu=(Lu=Fa==null?void 0:Fa.properties)==null?void 0:Lu.tags)==null?void 0:vu.split("\uFF0C"))==null?void 0:$c.map(Wg=>({name:Wg})))||[],colorType:parseInt((Cp=Fa==null?void 0:Fa.properties)==null?void 0:Cp.color)>3?"3":(bp=Fa==null?void 0:Fa.properties)==null?void 0:bp.color,activeColor:"#FA6400",size:qn[((Cc=Fa==null?void 0:Fa.properties)==null?void 0:Cc.color)-1]||1,shape:"circle",hide:!1,isExtendedState:!0,currentResourceTotal:fh})}))==null?void 0:ws[0];va.resourceid=Sa==null?void 0:Sa.id,Co(va),wr(!0)}Pe(!1)}}),Ta=Sa=>xn(void 0,null,function*(){bt(Sa==null?void 0:Sa.id)}),Bs=(Sa,Is)=>xn(void 0,null,function*(){Is?z(Sa):(vr(Sa),$i(Sa))}),js=()=>Po.createElement("div",{className:ui.studentHead},Po.createElement("div",{className:ui.headLi},Po.createElement("img",{src:gi}),Po.createElement("aside",null,Po.createElement("span",null,"\u8D44\u6E90\u603B\u6570"),Po.createElement("b",null,Vt==null?void 0:Vt.resource_count))),Po.createElement("div",{className:ui.headLi},Po.createElement("img",{src:Zi}),Po.createElement("aside",null,Po.createElement("span",null,"\u5B66\u4E60\u5B8C\u6210\u7387"),Po.createElement("b",{style:{color:"#F7B500"}},Vt==null?void 0:Vt.complete_rate,"%"))),Po.createElement("div",{className:ui.headLi},Po.createElement("img",{src:nr}),Po.createElement("aside",null,Po.createElement("span",null,"\u5B66\u4E60\u638C\u63E1\u7387"),Po.createElement("b",{style:{color:"#3AFFC8"}},Vt==null?void 0:Vt.grasp_rate,"%"))),Po.createElement("div",{className:ui.headLi},Po.createElement("img",{src:xi}),Po.createElement("aside",null,Po.createElement("span",{style:{marginBottom:"10rem"}},"\u4E0A\u6B21\u5B66\u5230"),Po.createElement(Ce.Z,{title:Vt==null?void 0:Vt.last_knowledge_name},Po.createElement("b",{style:{color:"#7FAAFF",fontSize:"16rem"}},(0,ve.Pq)(Vt==null?void 0:Vt.last_knowledge_name,13))))),Po.createElement("div",{onClick:()=>Jo({knowledge_uuid:Vt==null?void 0:Vt.last_knowledge_uuid,id:Vt==null?void 0:Vt.last_knowledge_uuid}),className:ui.btn},"\u7EE7\u7EED\u5B66\u4E60"));return Po.createElement(Po.Fragment,null,Po.createElement(Pi,null,Po.createElement(Po.Fragment,null,Po.createElement("span",{className:"relative",style:{float:"right"}},wo&&Po.createElement("div",{className:ui.addBtn,onClick:()=>{nt(null),Xe(!0)}},"\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84")),Po.createElement("div",{className:ui.learning},Po.createElement("div",{className:ui.body},Po.createElement(Xt.Z,{spinning:Ae},(re=Vt==null?void 0:Vt.data)!=null&&re.length?Po.createElement(Po.Fragment,null,wo?Po.createElement("div",{className:ui.head},Po.createElement("div",{className:ui.numerical},Po.createElement("div",null,Po.createElement("img",{src:gi}),Po.createElement("span",null,"\u8D44\u6E90\u603B\u6570"),Po.createElement("b",null,Vt==null?void 0:Vt.resource_count)),Po.createElement("div",null,Po.createElement("img",{src:Zi}),Po.createElement("span",null,"\u5E73\u5747\u5B66\u4E60\u5B8C\u6210\u7387"),Po.createElement("b",{style:{color:"#F7B500"}},Vt==null?void 0:Vt.complete_rate,"%")),Po.createElement("div",null,Po.createElement("img",{src:nr}),Po.createElement("span",null,"\u5E73\u5747\u5B66\u4E60\u638C\u63E1\u7387"),Po.createElement("b",{style:{color:"#3AFFC8"}},Vt==null?void 0:Vt.grasp_rate,"%"))),Po.createElement("div",{className:ui.action},Po.createElement("div",{onClick:()=>{nt(Vn),Xe(!0)}},Po.createElement("span",null,Po.createElement("i",{className:"iconfont icon-bianji13"})),Po.createElement("span",null,"\u7F16\u8F91\u5B66\u4E60\u8DEF\u5F84")),Po.createElement("div",{onClick:()=>pt(!0)},Po.createElement("span",null,Po.createElement("i",{className:"iconfont icon-shanchu17"})),Po.createElement("span",null,"\u5220\u9664\u5B66\u4E60\u8DEF\u5F84")))):js(),Po.createElement(za,{pathsDetail:x,dataSource:(Vt==null?void 0:Vt.data)||[],onClick:Jo,onMore:Ta})):Po.createElement(On,{style:{height:"calc(100vh - 440rem)",visibility:Ae?"hidden":"visible"},text:"\u6682\u65E0\u5B66\u4E60\u8DEF\u5F84\u6570\u636E",textColor:"#fff",buttonText:wo&&"\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84",onClick:()=>{nt(null),Xe(!0)}}))),mt&&Po.createElement(la,{pathsDetail:x,subjectId:le==null?void 0:le.pathId,dispatch:E,visible:mt,onCancel:()=>bt(!1),onClickDetails:Jo}),We&&Po.createElement(Gs,{onOk:Bs,setaddmodal:Xe,addmodal:We,uuid:qe}),Po.createElement(Be.default,{title:"\u786E\u8BA4\u5220\u9664\u63D0\u793A",open:at,centered:!0,confirmLoading:jt,okButtonProps:{danger:!0},width:"600rem",okText:"\u786E\u8BA4\u5220\u9664",onCancel:()=>pt(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{Qt("")},onOk:Lo},Po.createElement("div",{style:{background:"#fff",boxShadow:"0 3rem 4rem 0 #F3F3F3",borderRadius:"2rem",padding:"20rem"}},Po.createElement("div",{style:{fontSize:"16rem",color:"#000"}},"\u8BF7\u786E\u8BA4\u662F\u5426\u5220\u9664\u300A",(oe=wn==null?void 0:wn.find(Sa=>Sa.id===Vn))==null?void 0:oe.name,"\u300B\u7684\u5B66\u4E60\u8DEF\u5F84\uFF1F\u82E5\u5DF2\u786E\u8BA4\u9700\u8981\u5220\u9664\u5B66\u4E60\u8DEF\u5F84\uFF0C\u8BF7\u5728\u4E0B\u65B9\u6587\u672C\u6846\u4E2D\u8F93\u5165\u201C\u786E\u8BA4\u5220\u9664\u201D\u6587\u672C\u540E\uFF0C\u70B9\u51FB\u201C\u786E\u8BA4\u5220\u9664\u201D\u6309\u94AE"),Po.createElement("div",{style:{fontSize:"16rem",color:"#E30000",margin:"20rem 0"}},"\u63D0\u793A\uFF1A\u5220\u9664\u540E\u5C06\u65E0\u6CD5\u6062\u590D\u5B66\u4E60\u8DEF\u5F84\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C\u3002"),Po.createElement(Dt.default,{size:"large",placeholder:"\u8BF7\u8F93\u5165\u201C\u786E\u8BA4\u5220\u9664\u201D\u6587\u672C",value:Kt,onChange:Sa=>Qt(Sa.target.value)})))))),Po.createElement(Qs,{initdata:()=>{},uuid:"\u5B66\u4E60\u8DEF\u5F84",Tabsdatas:or,setshow:()=>{},getData:$i,buildTree:()=>{},containerRef:()=>{},showdetail:qr,setshowdetail:wr,items:yi}),Po.createElement(mi.Z,{close:!0,style:{zIndex:1300,background:"rgba(1, 10, 35, 0.5)"},data:ri==null?void 0:ri.url,type:ri==null?void 0:ri.file_type,disabledDownload:!0,onClose:()=>Cr({})}))},Ir=Oe(78673),Er=Oe(59301),Yr=Object.defineProperty,jr=Object.getOwnPropertySymbols,kr=Object.prototype.hasOwnProperty,zr=Object.prototype.propertyIsEnumerable,_r=(b,x,E)=>x in b?Yr(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,Vr=(b,x)=>{for(var E in x||(x={}))kr.call(x,E)&&_r(b,E,x[E]);if(jr)for(var E of jr(x))zr.call(x,E)&&_r(b,E,x[E]);return b},Ti=(b,x)=>{var E={};for(var z in b)kr.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&jr)for(var z of jr(b))x.indexOf(z)<0&&zr.call(b,z)&&(E[z]=b[z]);return E},to=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())});const pa=b=>{var x=b,{pathsDetail:E,user:z,globalSetting:te,loading:re,dispatch:oe,datas:le,styles:he,activied:ge}=x,Ae=Ti(x,["pathsDetail","user","globalSetting","loading","dispatch","datas","styles","activied"]);const[Pe,We]=(0,Ue.useState)(!1),[Xe,qe]=(0,Ue.useState)([]),[nt,at]=(0,Ue.useState)([]),[pt,mt]=(0,Ue.useState)(),[bt,jt]=(0,Ue.useState)([]),[Ut,Kt]=(0,Ue.useState)(!1);(0,Ue.useEffect)(()=>{Pe&&Qt()},[Pe]),(0,Ue.useEffect)(()=>{Kt(ge===2)},[ge]);function Qt(){return to(this,null,function*(){var Vt,vn;let wn=yield(0,kt.ZP)("/api/knowledge/v2/courses.json",{method:"get",params:{subject_id:(Vt=E==null?void 0:E.detail)==null?void 0:Vt.id}});(wn==null?void 0:wn.status)===0&&at(wn==null?void 0:wn.data);let kn=yield(0,kt.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{depth:1,subject_id:E.detail.id}});if((kn==null?void 0:kn.status)===0){let Vn=[...(vn=kn==null?void 0:kn.data)==null?void 0:vn.nodes];qe(Vn==null?void 0:Vn.splice(1))}})}return Er.createElement("div",{style:Vr({width:"128rem"},he)},Er.createElement("span",{onClick:()=>{We(!0)},style:{width:"128rem",height:"36rem",lineHeight:"36rem",display:"inline-block",textAlign:"center",background:"#fff",color:"#1B8565",fontSize:"14rem",borderRadius:"20rem",cursor:"pointer"}},"\u5173\u8054\u6559\u5B66\u8BFE\u5802"),Er.createElement(Be.default,{title:"\u5173\u8054\u6559\u5B66\u8BFE\u5802",open:Pe,width:"860rem",centered:!0,onOk:()=>to(void 0,null,function*(){if(!pt){Ke.ZP.info("\u8BF7\u9009\u62E9\u6559\u5B66\u8BFE\u5802");return}if((bt==null?void 0:bt.length)<=0){Ke.ZP.info("\u8BF7\u9009\u62E9\u77E5\u8BC6\u56FE\u8C31");return}let Vt=yield(0,kt.ZP)("/api/knowledge/v2/send_to_course.json",{method:"post",body:{subject_id:E.detail.id,uuids:bt,course_id:pt,send_route:Ut}});(Vt==null?void 0:Vt.status)===0&&(We(!1),Be.default.warning({title:"\u6E29\u99A8\u63D0\u793A",icon:null,closeIcon:!0,centered:!0,content:Er.createElement("div",null,"\u5DF2\u5173\u8054\u6559\u5B66\u8BFE\u5802\uFF0C\u9884\u8BA13-7\u5206\u949F\u5185\u5B8C\u6210\u56FE\u8C31\u590D\u5236\uFF0C\u53EF\u70B9\u51FB\u4E0B\u65B9\u6309\u94AE\u524D\u5F80\u67E5\u770B\u3002 \u82E5\u9875\u9762\u65E0\u6570\u636E\uFF0C\u8BF7\u7B49\u5F853-7\u5206\u949F\u540E\u5237\u65B0\u8BFE\u5802\u77E5\u8BC6\u56FE\u8C31\u9875\u9762"),okText:"\u524D\u5F80\u67E5\u770B",onOk:()=>{var vn;window.open(`${(vn=nt==null?void 0:nt.find(wn=>(wn==null?void 0:wn.id)===pt))==null?void 0:vn.first_category_url}`)}}))}),onCancel:()=>{We(!1)}},Er.createElement("div",{style:{background:"#fff",boxShadow:"0rem 3rem 4rem 0rem #f3f3f3",borderRadius:"0rem 0rem 2rem 2rem",padding:"20rem"}},Er.createElement("div",{style:{height:"40rem",minHeight:"40rem",display:"flex"}},Er.createElement("span",{style:{width:"92rem",background:"#F6F7F9",border:"1px solid #DCDCDC",display:"inline-flex",alignItems:"center",justifyContent:"center",borderRight:"none",color:"#666666"}},"\u6559\u5B66\u8BFE\u5802"),Er.createElement(Pi,null,Er.createElement(Ie.default,{showSearch:!0,filterOption:(Vt,vn)=>vn.children.toLowerCase().indexOf(Vt.toLowerCase())>=0,onChange:Vt=>{mt(Vt)},style:{width:"90%"},size:"large"},nt==null?void 0:nt.map(Vt=>Er.createElement(Ie.default.Option,{value:Vt==null?void 0:Vt.id},Vt==null?void 0:Vt.name))))),Er.createElement("div",{style:{marginTop:"30rem"}},Er.createElement("span",{style:{marginLeft:"14rem",color:"#5F6368"}},"\u77E5\u8BC6\u56FE\u8C31"),Er.createElement(ye.default.Group,{onChange:Vt=>{jt(Vt)},style:{marginLeft:"30rem"}},Xe==null?void 0:Xe.map(Vt=>{var vn,wn;return Er.createElement(ye.default,{value:(vn=Vt==null?void 0:Vt.properties)==null?void 0:vn.uuid},(wn=Vt==null?void 0:Vt.properties)==null?void 0:wn.name)}))),Er.createElement("div",{style:{marginTop:"30rem"}},Er.createElement("span",{style:{marginLeft:"14rem",color:"#5F6368"}},"\u5B66\u4E60\u8DEF\u5F84"),Er.createElement(Ir.Z,{onChange:Vt=>{console.log(Vt),Kt(Vt)},style:{marginLeft:"30rem"},disabled:ge===2,checked:Ut}),Er.createElement("span",{style:{marginLeft:"5rem"}},"\u540C\u6B65\u53D1\u9001\uFF08\u5F00\u542F\u540E\uFF0C\u5C06\u56FE\u8C31\u4E2D\u5BF9\u5E94\u7684\u5B66\u4E60\u8DEF\u5F84\u53D1\u9001\u5230\u6559\u5B66\u8BFE\u5802\u4E2D\uFF09")))))};var lo=(0,Ne.connect)(({pathsDetail:b,user:x,loading:E,globalSetting:z})=>({pathsDetail:b,user:x,globalSetting:z,loading:E.models.index}))(pa),ha=Oe(38854),Zo={tag:"tag___aFk2e",active:"active___xFrif",tagsModal:"tagsModal___PRPSO",btn:"btn___IfO8v",modal:"modal___X3fUd",mHead:"mHead___IvIZN",body:"body___FhLrG",add:"add___YJGg_",error:"error___JoLGM"},Oo=Oe(59301),Ri=Object.defineProperty,co=Object.getOwnPropertySymbols,Oa=Object.prototype.hasOwnProperty,ni=Object.prototype.propertyIsEnumerable,ji=(b,x,E)=>x in b?Ri(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,mo=(b,x)=>{for(var E in x||(x={}))Oa.call(x,E)&&ji(b,E,x[E]);if(co)for(var E of co(x))ni.call(x,E)&&ji(b,E,x[E]);return b},yo=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())}),Eo=({value:b=[],onChange:x,type:E,subjectId:z})=>{const[te,re]=(0,Ue.useState)(!1),[oe,le]=(0,Ue.useState)([]),[he,ge]=(0,Ue.useState)([]),[Ae,Pe]=(0,Ue.useState)([]),[We,Xe]=(0,Ue.useState)(""),[qe,nt]=(0,Ue.useState)(""),[at,pt]=(0,Ue.useState)(!1),[mt,bt]=(0,Ue.useState)(!1),jt=[{background:"#6236FF",borderColor:"#9D82FF"},{background:"#6DB9FF",borderColor:"#6DB9FF"},{background:"rgba(27,175,234,0.8)",borderColor:"#68D5FF"},{background:"#C1AC15",borderColor:"#DCC51C"},{background:"#E07E37",borderColor:"#F79046"},{background:"rgba(29,94,255,0.8)",borderColor:"#6D97FE"},{background:"#E75454",borderColor:"#FE8383"},{background:"#A557D8",borderColor:"#C57AF6"},{background:"#2CA768",borderColor:"#43CC86"},{background:"#1F9269",borderColor:"#38B588"},{background:"#CA7720",borderColor:"#E99338"},{background:"rgba(224,32,32,0.8)",borderColor:"#E02020"},{background:"rgba(255,126,15,0.8)",borderColor:"#FF7E0F"},{background:"rgba(29,94,255,0.8)",borderColor:"#1D5EFF"},{background:"#2BAC8E",borderColor:"#30CB9D"},{background:"#EE5D5D",borderColor:"#FF8181"},{background:"#7E5AFE",borderColor:"#9173FA"},{background:"#3ABCEF",borderColor:"#6FD6FF"},{background:"#B132C2",borderColor:"#C57AF6"},{background:"#46A4FB",borderColor:"#72BBFF"},{background:"#C1AC15",borderColor:"#DCC51C"},{background:"#E07E37",borderColor:"#F79046"},{background:"#1D5EFF",borderColor:"#6D97FE"},{background:"#2CA768",borderColor:"#43CC86"},{background:"#A557D8",borderColor:"#C57AF6"},{background:"#1F9269",borderColor:"#38B588"},{background:"#CA7720",borderColor:"#E99338"}],Ut=E===1?"\u7C7B\u578B":"\u6807\u7B7E",Kt=E===1?"0":"4";(0,Ue.useEffect)(()=>{te&&(Pe(b),Qt())},[te]);const Qt=()=>yo(void 0,null,function*(){var Vn;bt(!0);const vr=yield(0,kt.ZP)("/api/knowledge_items.json",{method:"get",params:{subject_id:z,item_type:Kt}});(vr==null?void 0:vr.status)===0&&(le((Vn=vr==null?void 0:vr.data)==null?void 0:Vn.map(or=>or.name)),ge((vr==null?void 0:vr.data)||[])),bt(!1)}),Vt=Vn=>yo(void 0,null,function*(){var vr;bt(!0);const or=(vr=he==null?void 0:he.find(qr=>qr.name===Vn))==null?void 0:vr.id,Or=yield(0,kt.ZP)(`/api/knowledge_items/${or}.json`,{method:"delete",body:{subject_id:z}});if((Or==null?void 0:Or.status)===0){Qt(),Ke.ZP.success("\u5220\u9664\u6210\u529F");return}bt(!1)}),vn=({title:Vn="",style:vr={},showDelete:or=!0,modal:Or=!1,active:qr=!1})=>{const Sr=(Cr=>Cr.split("").reduce((yi,Co)=>yi+Co.charCodeAt(0),0))(Vn)%jt.length,{background:Tr,borderColor:ri}=jt[Sr];return Oo.createElement("div",{className:Fr()(Zo.tag,qr?Zo.active:""),onClick:()=>{Or&&(te===1&&Pe([Vn]),te===2&&(Ae.includes(Vn)?Pe(Ae.filter(Cr=>Cr!==Vn)):Pe([...Ae,Vn])))},style:mo({background:Tr,borderColor:ri},vr)},Oo.createElement("span",null,Vn),or&&Oo.createElement("i",{onClick:Cr=>{Cr.stopPropagation(),Or?Vt(Vn):x(b.filter(yi=>yi!==Vn))},className:"iconfont icon-shanchu5"}))},wn=()=>{x([...Ae]),re(!1)},kn=()=>yo(void 0,null,function*(){if(!We.replace(/\s+/g,"")){nt(`${Ut}\u4E0D\u80FD\u4E3A\u7A7A`);return}if(oe.includes(We)){nt(`\u8BE5${Ut}\u5DF2\u5B58\u5728\uFF0C\u8BF7\u52FF\u91CD\u590D\u6DFB\u52A0\uFF01`);return}bt(!0);const Vn=yield(0,kt.ZP)("/api/knowledge_items.json",{method:"post",body:{subject_id:z,item_type:Kt,name:We}});if((Vn==null?void 0:Vn.status)===0){yield Qt(),pt(!1),Ke.ZP.success("\u6DFB\u52A0\u6210\u529F");return}bt(!1)});return Oo.createElement("div",{className:Zo.tagsModal},E===1&&Oo.createElement(Oo.Fragment,null,b==null?void 0:b.map((Vn,vr)=>Oo.createElement(vn,{key:vr,title:Vn,showDelete:!1,style:{marginRight:"20rem"}})),Oo.createElement("div",{onClick:()=>re(1),style:{marginBottom:"20rem"},className:Zo.btn},Oo.createElement("i",{className:"iconfont icon-genghuanguanliyuan1"}),b!=null&&b.length?"\u66F4\u6362":"\u9009\u62E9","\u7C7B\u578B")),E===2&&Oo.createElement(Oo.Fragment,null,b==null?void 0:b.map((Vn,vr)=>Oo.createElement(vn,{key:vr,title:Vn})),Oo.createElement("div",{onClick:()=>re(2),className:Zo.btn,style:{marginBottom:"10rem"}},Oo.createElement("i",{className:"iconfont icon-tianjiatixing"}),b!=null&&b.length?"\u66F4\u6362":"\u9009\u62E9","\u6807\u7B7E")),Oo.createElement(Be.default,{open:!!te,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",onCancel:()=>re(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{pt(!1),nt(""),Xe("")},onOk:wn,title:`\u9009\u62E9${Ut}`},Oo.createElement("div",{className:Zo.modal},Oo.createElement(Xt.Z,{spinning:mt},Oo.createElement("div",{className:Zo.mHead},Oo.createElement("b",null),Oo.createElement("span",null,`\u8282\u70B9${Ut}`,"\uFF08",oe.length,"\uFF09"),Oo.createElement("div",{onClick:()=>{at||(pt(!0),nt(""),Xe(""))},className:Zo.btn},Oo.createElement("i",{className:"iconfont icon-tianjiatixing"}),"\u6DFB\u52A0")),Oo.createElement("div",{className:Zo.body},!(oe!=null&&oe.length)&&!at&&Oo.createElement(On,{style:{height:"230rem"}}),oe==null?void 0:oe.map((Vn,vr)=>Oo.createElement(vn,{showDelete:!(Ae!=null&&Ae.includes(Vn)),modal:!0,style:{cursor:"pointer",verticalAlign:"center",marginTop:"10rem",marginBottom:"10rem"},active:Ae.includes(Vn),key:vr,title:Vn})),at&&Oo.createElement("div",{className:Zo.add},Oo.createElement(Dt.default,{style:{width:"rem"},size:"large",value:We,onChange:Vn=>{nt(""),Xe(Vn.target.value)}}),Oo.createElement("i",{onClick:kn,className:"iconfont icon-dui",style:{color:"#1B8565"}}),Oo.createElement("i",{onClick:()=>pt(!1),className:"iconfont icon-shanchu10",style:{color:"#9096A3"}}),!!qe&&Oo.createElement("div",{className:Zo.error},qe)))))))},Uo={flex_box_center:"flex_box_center___X1Bk6",flex_space_between:"flex_space_between___uybt7",flex_box_vertical_center:"flex_box_vertical_center___eRrsT",flex_box_center_end:"flex_box_center_end___twuIC",flex_box_column:"flex_box_column___GZ7ID",tabs:"tabs___lQRiO",activied:"activied___xuukl",tab:"tab___BDDdU",content:"content___Njpry"},Va=Oe(88522),Ho=Oe(57259),$r=Oe(79545),qi=Oe(68550),qa=Oe(26390),Xl=Oe(43962),nu=Oe(67785),ul=Oe(81058);function Ls(b,x,E){return x=(0,Xl.Z)(x),(0,ul.Z)(b,(0,nu.Z)()?Reflect.construct(x,E||[],(0,Xl.Z)(b).constructor):x.apply(b,E))}var ps=Oe(17928),hs=Oe(29043),md=Oe(37271),Ef=md,Wl=1e-6,zu=typeof Float32Array!="undefined"?Float32Array:Array,Xf=Math.random;function yd(b){zu=b}var Zl=Math.PI/180;function Cu(b){return b*Zl}function Sc(b,x){return Math.abs(b-x)<=Wl*Math.max(1,Math.abs(b),Math.abs(x))}Math.hypot||(Math.hypot=function(){for(var b=0,x=arguments.length;x--;)b+=arguments[x]*arguments[x];return Math.sqrt(b)});function Ts(){var b=new zu(3);return zu!=Float32Array&&(b[0]=0,b[1]=0,b[2]=0),b}function wl(b){var x=new zu(3);return x[0]=b[0],x[1]=b[1],x[2]=b[2],x}function Ou(b){var x=b[0],E=b[1],z=b[2];return Math.hypot(x,E,z)}function Kl(b,x,E){var z=new zu(3);return z[0]=b,z[1]=x,z[2]=E,z}function kc(b,x){return b[0]=x[0],b[1]=x[1],b[2]=x[2],b}function mh(b,x,E,z){return b[0]=x,b[1]=E,b[2]=z,b}function Lr(b,x,E){return b[0]=x[0]+E[0],b[1]=x[1]+E[1],b[2]=x[2]+E[2],b}function Af(b,x,E){return b[0]=x[0]-E[0],b[1]=x[1]-E[1],b[2]=x[2]-E[2],b}function Qf(b,x,E){return b[0]=x[0]*E[0],b[1]=x[1]*E[1],b[2]=x[2]*E[2],b}function hm(b,x,E){return b[0]=x[0]/E[0],b[1]=x[1]/E[1],b[2]=x[2]/E[2],b}function e0(b,x){return b[0]=Math.ceil(x[0]),b[1]=Math.ceil(x[1]),b[2]=Math.ceil(x[2]),b}function lp(b,x){return b[0]=Math.floor(x[0]),b[1]=Math.floor(x[1]),b[2]=Math.floor(x[2]),b}function mg(b,x,E){return b[0]=Math.min(x[0],E[0]),b[1]=Math.min(x[1],E[1]),b[2]=Math.min(x[2],E[2]),b}function dm(b,x,E){return b[0]=Math.max(x[0],E[0]),b[1]=Math.max(x[1],E[1]),b[2]=Math.max(x[2],E[2]),b}function yh(b,x){return b[0]=Math.round(x[0]),b[1]=Math.round(x[1]),b[2]=Math.round(x[2]),b}function Jf(b,x,E){return b[0]=x[0]*E,b[1]=x[1]*E,b[2]=x[2]*E,b}function O0(b,x,E,z){return b[0]=x[0]+E[0]*z,b[1]=x[1]+E[1]*z,b[2]=x[2]+E[2]*z,b}function t0(b,x){var E=x[0]-b[0],z=x[1]-b[1],te=x[2]-b[2];return Math.hypot(E,z,te)}function N0(b,x){var E=x[0]-b[0],z=x[1]-b[1],te=x[2]-b[2];return E*E+z*z+te*te}function ty(b){var x=b[0],E=b[1],z=b[2];return x*x+E*E+z*z}function B0(b,x){return b[0]=-x[0],b[1]=-x[1],b[2]=-x[2],b}function R0(b,x){return b[0]=1/x[0],b[1]=1/x[1],b[2]=1/x[2],b}function ah(b,x){var E=x[0],z=x[1],te=x[2],re=E*E+z*z+te*te;return re>0&&(re=1/Math.sqrt(re)),b[0]=x[0]*re,b[1]=x[1]*re,b[2]=x[2]*re,b}function Mh(b,x){return b[0]*x[0]+b[1]*x[1]+b[2]*x[2]}function Mp(b,x,E){var z=x[0],te=x[1],re=x[2],oe=E[0],le=E[1],he=E[2];return b[0]=te*he-re*le,b[1]=re*oe-z*he,b[2]=z*le-te*oe,b}function _d(b,x,E,z){var te=x[0],re=x[1],oe=x[2];return b[0]=te+z*(E[0]-te),b[1]=re+z*(E[1]-re),b[2]=oe+z*(E[2]-oe),b}function up(b,x,E,z,te,re){var oe=re*re,le=oe*(2*re-3)+1,he=oe*(re-2)+re,ge=oe*(re-1),Ae=oe*(3-2*re);return b[0]=x[0]*le+E[0]*he+z[0]*ge+te[0]*Ae,b[1]=x[1]*le+E[1]*he+z[1]*ge+te[1]*Ae,b[2]=x[2]*le+E[2]*he+z[2]*ge+te[2]*Ae,b}function Lp(b,x,E,z,te,re){var oe=1-re,le=oe*oe,he=re*re,ge=le*oe,Ae=3*re*le,Pe=3*he*oe,We=he*re;return b[0]=x[0]*ge+E[0]*Ae+z[0]*Pe+te[0]*We,b[1]=x[1]*ge+E[1]*Ae+z[1]*Pe+te[1]*We,b[2]=x[2]*ge+E[2]*Ae+z[2]*Pe+te[2]*We,b}function Tp(b,x){x=x||1;var E=glMatrix.RANDOM()*2*Math.PI,z=glMatrix.RANDOM()*2-1,te=Math.sqrt(1-z*z)*x;return b[0]=Math.cos(E)*te,b[1]=Math.sin(E)*te,b[2]=z*x,b}function Vu(b,x,E){var z=x[0],te=x[1],re=x[2],oe=E[3]*z+E[7]*te+E[11]*re+E[15];return oe=oe||1,b[0]=(E[0]*z+E[4]*te+E[8]*re+E[12])/oe,b[1]=(E[1]*z+E[5]*te+E[9]*re+E[13])/oe,b[2]=(E[2]*z+E[6]*te+E[10]*re+E[14])/oe,b}function k0(b,x,E){var z=x[0],te=x[1],re=x[2];return b[0]=z*E[0]+te*E[3]+re*E[6],b[1]=z*E[1]+te*E[4]+re*E[7],b[2]=z*E[2]+te*E[5]+re*E[8],b}function n0(b,x,E){var z=E[0],te=E[1],re=E[2],oe=E[3],le=x[0],he=x[1],ge=x[2],Ae=te*ge-re*he,Pe=re*le-z*ge,We=z*he-te*le,Xe=te*We-re*Pe,qe=re*Ae-z*We,nt=z*Pe-te*Ae,at=oe*2;return Ae*=at,Pe*=at,We*=at,Xe*=2,qe*=2,nt*=2,b[0]=le+Ae+Xe,b[1]=he+Pe+qe,b[2]=ge+We+nt,b}function xd(b,x,E,z){var te=[],re=[];return te[0]=x[0]-E[0],te[1]=x[1]-E[1],te[2]=x[2]-E[2],re[0]=te[0],re[1]=te[1]*Math.cos(z)-te[2]*Math.sin(z),re[2]=te[1]*Math.sin(z)+te[2]*Math.cos(z),b[0]=re[0]+E[0],b[1]=re[1]+E[1],b[2]=re[2]+E[2],b}function r0(b,x,E,z){var te=[],re=[];return te[0]=x[0]-E[0],te[1]=x[1]-E[1],te[2]=x[2]-E[2],re[0]=te[2]*Math.sin(z)+te[0]*Math.cos(z),re[1]=te[1],re[2]=te[2]*Math.cos(z)-te[0]*Math.sin(z),b[0]=re[0]+E[0],b[1]=re[1]+E[1],b[2]=re[2]+E[2],b}function F0(b,x,E,z){var te=[],re=[];return te[0]=x[0]-E[0],te[1]=x[1]-E[1],te[2]=x[2]-E[2],re[0]=te[0]*Math.cos(z)-te[1]*Math.sin(z),re[1]=te[0]*Math.sin(z)+te[1]*Math.cos(z),re[2]=te[2],b[0]=re[0]+E[0],b[1]=re[1]+E[1],b[2]=re[2]+E[2],b}function Cv(b,x){var E=b[0],z=b[1],te=b[2],re=x[0],oe=x[1],le=x[2],he=Math.sqrt(E*E+z*z+te*te),ge=Math.sqrt(re*re+oe*oe+le*le),Ae=he*ge,Pe=Ae&&Mh(b,x)/Ae;return Math.acos(Math.min(Math.max(Pe,-1),1))}function Hg(b){return b[0]=0,b[1]=0,b[2]=0,b}function Fh(b){return"vec3("+b[0]+", "+b[1]+", "+b[2]+")"}function _0(b,x){return b[0]===x[0]&&b[1]===x[1]&&b[2]===x[2]}function rc(b,x){var E=b[0],z=b[1],te=b[2],re=x[0],oe=x[1],le=x[2];return Math.abs(E-re)<=Wl*Math.max(1,Math.abs(E),Math.abs(re))&&Math.abs(z-oe)<=Wl*Math.max(1,Math.abs(z),Math.abs(oe))&&Math.abs(te-le)<=Wl*Math.max(1,Math.abs(te),Math.abs(le))}var eu=Af,Ju=null,xh=null,ad=t0,zd=null,i0=Ou,cp=null,z0=function(){var b=Ts();return function(x,E,z,te,re,oe){var le,he;for(E||(E=3),z||(z=0),te?he=Math.min(te*E+z,x.length):he=x.length,le=z;le<he;le+=E)b[0]=x[le],b[1]=x[le+1],b[2]=x[le+2],re(b,b,oe),x[le]=b[0],x[le+1]=b[1],x[le+2]=b[2];return x}}();function Kc(){var b=new zu(4);return zu!=Float32Array&&(b[0]=0,b[1]=0,b[2]=0,b[3]=0),b}function Sf(b){var x=new zu(4);return x[0]=b[0],x[1]=b[1],x[2]=b[2],x[3]=b[3],x}function Dp(b,x,E,z){var te=new zu(4);return te[0]=b,te[1]=x,te[2]=E,te[3]=z,te}function fm(b,x){return b[0]=x[0],b[1]=x[1],b[2]=x[2],b[3]=x[3],b}function j0(b,x,E,z,te){return b[0]=x,b[1]=E,b[2]=z,b[3]=te,b}function rf(b,x,E){return b[0]=x[0]+E[0],b[1]=x[1]+E[1],b[2]=x[2]+E[2],b[3]=x[3]+E[3],b}function ny(b,x,E){return b[0]=x[0]-E[0],b[1]=x[1]-E[1],b[2]=x[2]-E[2],b[3]=x[3]-E[3],b}function u1(b,x,E){return b[0]=x[0]*E[0],b[1]=x[1]*E[1],b[2]=x[2]*E[2],b[3]=x[3]*E[3],b}function ry(b,x,E){return b[0]=x[0]/E[0],b[1]=x[1]/E[1],b[2]=x[2]/E[2],b[3]=x[3]/E[3],b}function yg(b,x){return b[0]=Math.ceil(x[0]),b[1]=Math.ceil(x[1]),b[2]=Math.ceil(x[2]),b[3]=Math.ceil(x[3]),b}function Ix(b,x){return b[0]=Math.floor(x[0]),b[1]=Math.floor(x[1]),b[2]=Math.floor(x[2]),b[3]=Math.floor(x[3]),b}function c1(b,x,E){return b[0]=Math.min(x[0],E[0]),b[1]=Math.min(x[1],E[1]),b[2]=Math.min(x[2],E[2]),b[3]=Math.min(x[3],E[3]),b}function bv(b,x,E){return b[0]=Math.max(x[0],E[0]),b[1]=Math.max(x[1],E[1]),b[2]=Math.max(x[2],E[2]),b[3]=Math.max(x[3],E[3]),b}function o0(b,x){return b[0]=Math.round(x[0]),b[1]=Math.round(x[1]),b[2]=Math.round(x[2]),b[3]=Math.round(x[3]),b}function iy(b,x,E){return b[0]=x[0]*E,b[1]=x[1]*E,b[2]=x[2]*E,b[3]=x[3]*E,b}function Vg(b,x,E,z){return b[0]=x[0]+E[0]*z,b[1]=x[1]+E[1]*z,b[2]=x[2]+E[2]*z,b[3]=x[3]+E[3]*z,b}function h1(b,x){var E=x[0]-b[0],z=x[1]-b[1],te=x[2]-b[2],re=x[3]-b[3];return Math.hypot(E,z,te,re)}function gm(b,x){var E=x[0]-b[0],z=x[1]-b[1],te=x[2]-b[2],re=x[3]-b[3];return E*E+z*z+te*te+re*re}function pm(b){var x=b[0],E=b[1],z=b[2],te=b[3];return Math.hypot(x,E,z,te)}function Pv(b){var x=b[0],E=b[1],z=b[2],te=b[3];return x*x+E*E+z*z+te*te}function d1(b,x){return b[0]=-x[0],b[1]=-x[1],b[2]=-x[2],b[3]=-x[3],b}function tA(b,x){return b[0]=1/x[0],b[1]=1/x[1],b[2]=1/x[2],b[3]=1/x[3],b}function xu(b,x){var E=x[0],z=x[1],te=x[2],re=x[3],oe=E*E+z*z+te*te+re*re;return oe>0&&(oe=1/Math.sqrt(oe)),b[0]=E*oe,b[1]=z*oe,b[2]=te*oe,b[3]=re*oe,b}function _s(b,x){return b[0]*x[0]+b[1]*x[1]+b[2]*x[2]+b[3]*x[3]}function pl(b,x,E,z){var te=E[0]*z[1]-E[1]*z[0],re=E[0]*z[2]-E[2]*z[0],oe=E[0]*z[3]-E[3]*z[0],le=E[1]*z[2]-E[2]*z[1],he=E[1]*z[3]-E[3]*z[1],ge=E[2]*z[3]-E[3]*z[2],Ae=x[0],Pe=x[1],We=x[2],Xe=x[3];return b[0]=Pe*ge-We*he+Xe*le,b[1]=-(Ae*ge)+We*oe-Xe*re,b[2]=Ae*he-Pe*oe+Xe*te,b[3]=-(Ae*le)+Pe*re-We*te,b}function fu(b,x,E,z){var te=x[0],re=x[1],oe=x[2],le=x[3];return b[0]=te+z*(E[0]-te),b[1]=re+z*(E[1]-re),b[2]=oe+z*(E[2]-oe),b[3]=le+z*(E[3]-le),b}function Lc(b,x){x=x||1;var E,z,te,re,oe,le;do E=glMatrix.RANDOM()*2-1,z=glMatrix.RANDOM()*2-1,oe=E*E+z*z;while(oe>=1);do te=glMatrix.RANDOM()*2-1,re=glMatrix.RANDOM()*2-1,le=te*te+re*re;while(le>=1);var he=Math.sqrt((1-oe)/le);return b[0]=x*E,b[1]=x*z,b[2]=x*te*he,b[3]=x*re*he,b}function sd(b,x,E){var z=x[0],te=x[1],re=x[2],oe=x[3];return b[0]=E[0]*z+E[4]*te+E[8]*re+E[12]*oe,b[1]=E[1]*z+E[5]*te+E[9]*re+E[13]*oe,b[2]=E[2]*z+E[6]*te+E[10]*re+E[14]*oe,b[3]=E[3]*z+E[7]*te+E[11]*re+E[15]*oe,b}function ld(b,x,E){var z=x[0],te=x[1],re=x[2],oe=E[0],le=E[1],he=E[2],ge=E[3],Ae=ge*z+le*re-he*te,Pe=ge*te+he*z-oe*re,We=ge*re+oe*te-le*z,Xe=-oe*z-le*te-he*re;return b[0]=Ae*ge+Xe*-oe+Pe*-he-We*-le,b[1]=Pe*ge+Xe*-le+We*-oe-Ae*-he,b[2]=We*ge+Xe*-he+Ae*-le-Pe*-oe,b[3]=x[3],b}function hp(b){return b[0]=0,b[1]=0,b[2]=0,b[3]=0,b}function xg(b){return"vec4("+b[0]+", "+b[1]+", "+b[2]+", "+b[3]+")"}function W0(b,x){return b[0]===x[0]&&b[1]===x[1]&&b[2]===x[2]&&b[3]===x[3]}function Kg(b,x){var E=b[0],z=b[1],te=b[2],re=b[3],oe=x[0],le=x[1],he=x[2],ge=x[3];return Math.abs(E-oe)<=Wl*Math.max(1,Math.abs(E),Math.abs(oe))&&Math.abs(z-le)<=Wl*Math.max(1,Math.abs(z),Math.abs(le))&&Math.abs(te-he)<=Wl*Math.max(1,Math.abs(te),Math.abs(he))&&Math.abs(re-ge)<=Wl*Math.max(1,Math.abs(re),Math.abs(ge))}var Eg=null,bu=null,oy=null,vm=null,Qh=null,wf=null,mm=null,f1=function(){var b=Kc();return function(x,E,z,te,re,oe){var le,he;for(E||(E=4),z||(z=0),te?he=Math.min(te*E+z,x.length):he=x.length,le=z;le<he;le+=E)b[0]=x[le],b[1]=x[le+1],b[2]=x[le+2],b[3]=x[le+3],re(b,b,oe),x[le]=b[0],x[le+1]=b[1],x[le+2]=b[2],x[le+3]=b[3];return x}}();function vc(){var b=new zu(16);return zu!=Float32Array&&(b[1]=0,b[2]=0,b[3]=0,b[4]=0,b[6]=0,b[7]=0,b[8]=0,b[9]=0,b[11]=0,b[12]=0,b[13]=0,b[14]=0),b[0]=1,b[5]=1,b[10]=1,b[15]=1,b}function g1(b){var x=new zu(16);return x[0]=b[0],x[1]=b[1],x[2]=b[2],x[3]=b[3],x[4]=b[4],x[5]=b[5],x[6]=b[6],x[7]=b[7],x[8]=b[8],x[9]=b[9],x[10]=b[10],x[11]=b[11],x[12]=b[12],x[13]=b[13],x[14]=b[14],x[15]=b[15],x}function U0(b,x){return b[0]=x[0],b[1]=x[1],b[2]=x[2],b[3]=x[3],b[4]=x[4],b[5]=x[5],b[6]=x[6],b[7]=x[7],b[8]=x[8],b[9]=x[9],b[10]=x[10],b[11]=x[11],b[12]=x[12],b[13]=x[13],b[14]=x[14],b[15]=x[15],b}function p1(b,x,E,z,te,re,oe,le,he,ge,Ae,Pe,We,Xe,qe,nt){var at=new zu(16);return at[0]=b,at[1]=x,at[2]=E,at[3]=z,at[4]=te,at[5]=re,at[6]=oe,at[7]=le,at[8]=he,at[9]=ge,at[10]=Ae,at[11]=Pe,at[12]=We,at[13]=Xe,at[14]=qe,at[15]=nt,at}function ay(b,x,E,z,te,re,oe,le,he,ge,Ae,Pe,We,Xe,qe,nt,at){return b[0]=x,b[1]=E,b[2]=z,b[3]=te,b[4]=re,b[5]=oe,b[6]=le,b[7]=he,b[8]=ge,b[9]=Ae,b[10]=Pe,b[11]=We,b[12]=Xe,b[13]=qe,b[14]=nt,b[15]=at,b}function Cf(b){return b[0]=1,b[1]=0,b[2]=0,b[3]=0,b[4]=0,b[5]=1,b[6]=0,b[7]=0,b[8]=0,b[9]=0,b[10]=1,b[11]=0,b[12]=0,b[13]=0,b[14]=0,b[15]=1,b}function ym(b,x){if(b===x){var E=x[1],z=x[2],te=x[3],re=x[6],oe=x[7],le=x[11];b[1]=x[4],b[2]=x[8],b[3]=x[12],b[4]=E,b[6]=x[9],b[7]=x[13],b[8]=z,b[9]=re,b[11]=x[14],b[12]=te,b[13]=oe,b[14]=le}else b[0]=x[0],b[1]=x[4],b[2]=x[8],b[3]=x[12],b[4]=x[1],b[5]=x[5],b[6]=x[9],b[7]=x[13],b[8]=x[2],b[9]=x[6],b[10]=x[10],b[11]=x[14],b[12]=x[3],b[13]=x[7],b[14]=x[11],b[15]=x[15];return b}function jd(b,x){var E=x[0],z=x[1],te=x[2],re=x[3],oe=x[4],le=x[5],he=x[6],ge=x[7],Ae=x[8],Pe=x[9],We=x[10],Xe=x[11],qe=x[12],nt=x[13],at=x[14],pt=x[15],mt=E*le-z*oe,bt=E*he-te*oe,jt=E*ge-re*oe,Ut=z*he-te*le,Kt=z*ge-re*le,Qt=te*ge-re*he,Vt=Ae*nt-Pe*qe,vn=Ae*at-We*qe,wn=Ae*pt-Xe*qe,kn=Pe*at-We*nt,Vn=Pe*pt-Xe*nt,vr=We*pt-Xe*at,or=mt*vr-bt*Vn+jt*kn+Ut*wn-Kt*vn+Qt*Vt;return or?(or=1/or,b[0]=(le*vr-he*Vn+ge*kn)*or,b[1]=(te*Vn-z*vr-re*kn)*or,b[2]=(nt*Qt-at*Kt+pt*Ut)*or,b[3]=(We*Kt-Pe*Qt-Xe*Ut)*or,b[4]=(he*wn-oe*vr-ge*vn)*or,b[5]=(E*vr-te*wn+re*vn)*or,b[6]=(at*jt-qe*Qt-pt*bt)*or,b[7]=(Ae*Qt-We*jt+Xe*bt)*or,b[8]=(oe*Vn-le*wn+ge*Vt)*or,b[9]=(z*wn-E*Vn-re*Vt)*or,b[10]=(qe*Kt-nt*jt+pt*mt)*or,b[11]=(Pe*jt-Ae*Kt-Xe*mt)*or,b[12]=(le*vn-oe*kn-he*Vt)*or,b[13]=(E*kn-z*vn+te*Vt)*or,b[14]=(nt*bt-qe*Ut-at*mt)*or,b[15]=(Ae*Ut-Pe*bt+We*mt)*or,b):null}function ic(b,x){var E=x[0],z=x[1],te=x[2],re=x[3],oe=x[4],le=x[5],he=x[6],ge=x[7],Ae=x[8],Pe=x[9],We=x[10],Xe=x[11],qe=x[12],nt=x[13],at=x[14],pt=x[15];return b[0]=le*(We*pt-Xe*at)-Pe*(he*pt-ge*at)+nt*(he*Xe-ge*We),b[1]=-(z*(We*pt-Xe*at)-Pe*(te*pt-re*at)+nt*(te*Xe-re*We)),b[2]=z*(he*pt-ge*at)-le*(te*pt-re*at)+nt*(te*ge-re*he),b[3]=-(z*(he*Xe-ge*We)-le*(te*Xe-re*We)+Pe*(te*ge-re*he)),b[4]=-(oe*(We*pt-Xe*at)-Ae*(he*pt-ge*at)+qe*(he*Xe-ge*We)),b[5]=E*(We*pt-Xe*at)-Ae*(te*pt-re*at)+qe*(te*Xe-re*We),b[6]=-(E*(he*pt-ge*at)-oe*(te*pt-re*at)+qe*(te*ge-re*he)),b[7]=E*(he*Xe-ge*We)-oe*(te*Xe-re*We)+Ae*(te*ge-re*he),b[8]=oe*(Pe*pt-Xe*nt)-Ae*(le*pt-ge*nt)+qe*(le*Xe-ge*Pe),b[9]=-(E*(Pe*pt-Xe*nt)-Ae*(z*pt-re*nt)+qe*(z*Xe-re*Pe)),b[10]=E*(le*pt-ge*nt)-oe*(z*pt-re*nt)+qe*(z*ge-re*le),b[11]=-(E*(le*Xe-ge*Pe)-oe*(z*Xe-re*Pe)+Ae*(z*ge-re*le)),b[12]=-(oe*(Pe*at-We*nt)-Ae*(le*at-he*nt)+qe*(le*We-he*Pe)),b[13]=E*(Pe*at-We*nt)-Ae*(z*at-te*nt)+qe*(z*We-te*Pe),b[14]=-(E*(le*at-he*nt)-oe*(z*at-te*nt)+qe*(z*he-te*le)),b[15]=E*(le*We-he*Pe)-oe*(z*We-te*Pe)+Ae*(z*he-te*le),b}function sy(b){var x=b[0],E=b[1],z=b[2],te=b[3],re=b[4],oe=b[5],le=b[6],he=b[7],ge=b[8],Ae=b[9],Pe=b[10],We=b[11],Xe=b[12],qe=b[13],nt=b[14],at=b[15],pt=x*oe-E*re,mt=x*le-z*re,bt=x*he-te*re,jt=E*le-z*oe,Ut=E*he-te*oe,Kt=z*he-te*le,Qt=ge*qe-Ae*Xe,Vt=ge*nt-Pe*Xe,vn=ge*at-We*Xe,wn=Ae*nt-Pe*qe,kn=Ae*at-We*qe,Vn=Pe*at-We*nt;return pt*Vn-mt*kn+bt*wn+jt*vn-Ut*Vt+Kt*Qt}function Ed(b,x,E){var z=x[0],te=x[1],re=x[2],oe=x[3],le=x[4],he=x[5],ge=x[6],Ae=x[7],Pe=x[8],We=x[9],Xe=x[10],qe=x[11],nt=x[12],at=x[13],pt=x[14],mt=x[15],bt=E[0],jt=E[1],Ut=E[2],Kt=E[3];return b[0]=bt*z+jt*le+Ut*Pe+Kt*nt,b[1]=bt*te+jt*he+Ut*We+Kt*at,b[2]=bt*re+jt*ge+Ut*Xe+Kt*pt,b[3]=bt*oe+jt*Ae+Ut*qe+Kt*mt,bt=E[4],jt=E[5],Ut=E[6],Kt=E[7],b[4]=bt*z+jt*le+Ut*Pe+Kt*nt,b[5]=bt*te+jt*he+Ut*We+Kt*at,b[6]=bt*re+jt*ge+Ut*Xe+Kt*pt,b[7]=bt*oe+jt*Ae+Ut*qe+Kt*mt,bt=E[8],jt=E[9],Ut=E[10],Kt=E[11],b[8]=bt*z+jt*le+Ut*Pe+Kt*nt,b[9]=bt*te+jt*he+Ut*We+Kt*at,b[10]=bt*re+jt*ge+Ut*Xe+Kt*pt,b[11]=bt*oe+jt*Ae+Ut*qe+Kt*mt,bt=E[12],jt=E[13],Ut=E[14],Kt=E[15],b[12]=bt*z+jt*le+Ut*Pe+Kt*nt,b[13]=bt*te+jt*he+Ut*We+Kt*at,b[14]=bt*re+jt*ge+Ut*Xe+Kt*pt,b[15]=bt*oe+jt*Ae+Ut*qe+Kt*mt,b}function dp(b,x,E){var z=E[0],te=E[1],re=E[2],oe,le,he,ge,Ae,Pe,We,Xe,qe,nt,at,pt;return x===b?(b[12]=x[0]*z+x[4]*te+x[8]*re+x[12],b[13]=x[1]*z+x[5]*te+x[9]*re+x[13],b[14]=x[2]*z+x[6]*te+x[10]*re+x[14],b[15]=x[3]*z+x[7]*te+x[11]*re+x[15]):(oe=x[0],le=x[1],he=x[2],ge=x[3],Ae=x[4],Pe=x[5],We=x[6],Xe=x[7],qe=x[8],nt=x[9],at=x[10],pt=x[11],b[0]=oe,b[1]=le,b[2]=he,b[3]=ge,b[4]=Ae,b[5]=Pe,b[6]=We,b[7]=Xe,b[8]=qe,b[9]=nt,b[10]=at,b[11]=pt,b[12]=oe*z+Ae*te+qe*re+x[12],b[13]=le*z+Pe*te+nt*re+x[13],b[14]=he*z+We*te+at*re+x[14],b[15]=ge*z+Xe*te+pt*re+x[15]),b}function Mv(b,x,E){var z=E[0],te=E[1],re=E[2];return b[0]=x[0]*z,b[1]=x[1]*z,b[2]=x[2]*z,b[3]=x[3]*z,b[4]=x[4]*te,b[5]=x[5]*te,b[6]=x[6]*te,b[7]=x[7]*te,b[8]=x[8]*re,b[9]=x[9]*re,b[10]=x[10]*re,b[11]=x[11]*re,b[12]=x[12],b[13]=x[13],b[14]=x[14],b[15]=x[15],b}function ly(b,x,E,z){var te=z[0],re=z[1],oe=z[2],le=Math.hypot(te,re,oe),he,ge,Ae,Pe,We,Xe,qe,nt,at,pt,mt,bt,jt,Ut,Kt,Qt,Vt,vn,wn,kn,Vn,vr,or,Or;return le<Wl?null:(le=1/le,te*=le,re*=le,oe*=le,he=Math.sin(E),ge=Math.cos(E),Ae=1-ge,Pe=x[0],We=x[1],Xe=x[2],qe=x[3],nt=x[4],at=x[5],pt=x[6],mt=x[7],bt=x[8],jt=x[9],Ut=x[10],Kt=x[11],Qt=te*te*Ae+ge,Vt=re*te*Ae+oe*he,vn=oe*te*Ae-re*he,wn=te*re*Ae-oe*he,kn=re*re*Ae+ge,Vn=oe*re*Ae+te*he,vr=te*oe*Ae+re*he,or=re*oe*Ae-te*he,Or=oe*oe*Ae+ge,b[0]=Pe*Qt+nt*Vt+bt*vn,b[1]=We*Qt+at*Vt+jt*vn,b[2]=Xe*Qt+pt*Vt+Ut*vn,b[3]=qe*Qt+mt*Vt+Kt*vn,b[4]=Pe*wn+nt*kn+bt*Vn,b[5]=We*wn+at*kn+jt*Vn,b[6]=Xe*wn+pt*kn+Ut*Vn,b[7]=qe*wn+mt*kn+Kt*Vn,b[8]=Pe*vr+nt*or+bt*Or,b[9]=We*vr+at*or+jt*Or,b[10]=Xe*vr+pt*or+Ut*Or,b[11]=qe*vr+mt*or+Kt*Or,x!==b&&(b[12]=x[12],b[13]=x[13],b[14]=x[14],b[15]=x[15]),b)}function Ox(b,x,E){var z=Math.sin(E),te=Math.cos(E),re=x[4],oe=x[5],le=x[6],he=x[7],ge=x[8],Ae=x[9],Pe=x[10],We=x[11];return x!==b&&(b[0]=x[0],b[1]=x[1],b[2]=x[2],b[3]=x[3],b[12]=x[12],b[13]=x[13],b[14]=x[14],b[15]=x[15]),b[4]=re*te+ge*z,b[5]=oe*te+Ae*z,b[6]=le*te+Pe*z,b[7]=he*te+We*z,b[8]=ge*te-re*z,b[9]=Ae*te-oe*z,b[10]=Pe*te-le*z,b[11]=We*te-he*z,b}function Eh(b,x,E){var z=Math.sin(E),te=Math.cos(E),re=x[0],oe=x[1],le=x[2],he=x[3],ge=x[8],Ae=x[9],Pe=x[10],We=x[11];return x!==b&&(b[4]=x[4],b[5]=x[5],b[6]=x[6],b[7]=x[7],b[12]=x[12],b[13]=x[13],b[14]=x[14],b[15]=x[15]),b[0]=re*te-ge*z,b[1]=oe*te-Ae*z,b[2]=le*te-Pe*z,b[3]=he*te-We*z,b[8]=re*z+ge*te,b[9]=oe*z+Ae*te,b[10]=le*z+Pe*te,b[11]=he*z+We*te,b}function nA(b,x,E){var z=Math.sin(E),te=Math.cos(E),re=x[0],oe=x[1],le=x[2],he=x[3],ge=x[4],Ae=x[5],Pe=x[6],We=x[7];return x!==b&&(b[8]=x[8],b[9]=x[9],b[10]=x[10],b[11]=x[11],b[12]=x[12],b[13]=x[13],b[14]=x[14],b[15]=x[15]),b[0]=re*te+ge*z,b[1]=oe*te+Ae*z,b[2]=le*te+Pe*z,b[3]=he*te+We*z,b[4]=ge*te-re*z,b[5]=Ae*te-oe*z,b[6]=Pe*te-le*z,b[7]=We*te-he*z,b}function Ag(b,x){return b[0]=1,b[1]=0,b[2]=0,b[3]=0,b[4]=0,b[5]=1,b[6]=0,b[7]=0,b[8]=0,b[9]=0,b[10]=1,b[11]=0,b[12]=x[0],b[13]=x[1],b[14]=x[2],b[15]=1,b}function bf(b,x){return b[0]=x[0],b[1]=0,b[2]=0,b[3]=0,b[4]=0,b[5]=x[1],b[6]=0,b[7]=0,b[8]=0,b[9]=0,b[10]=x[2],b[11]=0,b[12]=0,b[13]=0,b[14]=0,b[15]=1,b}function xm(b,x,E){var z=E[0],te=E[1],re=E[2],oe=Math.hypot(z,te,re),le,he,ge;return oe<Wl?null:(oe=1/oe,z*=oe,te*=oe,re*=oe,le=Math.sin(x),he=Math.cos(x),ge=1-he,b[0]=z*z*ge+he,b[1]=te*z*ge+re*le,b[2]=re*z*ge-te*le,b[3]=0,b[4]=z*te*ge-re*le,b[5]=te*te*ge+he,b[6]=re*te*ge+z*le,b[7]=0,b[8]=z*re*ge+te*le,b[9]=te*re*ge-z*le,b[10]=re*re*ge+he,b[11]=0,b[12]=0,b[13]=0,b[14]=0,b[15]=1,b)}function Ee(b,x){var E=Math.sin(x),z=Math.cos(x);return b[0]=1,b[1]=0,b[2]=0,b[3]=0,b[4]=0,b[5]=z,b[6]=E,b[7]=0,b[8]=0,b[9]=-E,b[10]=z,b[11]=0,b[12]=0,b[13]=0,b[14]=0,b[15]=1,b}function _e(b,x){var E=Math.sin(x),z=Math.cos(x);return b[0]=z,b[1]=0,b[2]=-E,b[3]=0,b[4]=0,b[5]=1,b[6]=0,b[7]=0,b[8]=E,b[9]=0,b[10]=z,b[11]=0,b[12]=0,b[13]=0,b[14]=0,b[15]=1,b}function it(b,x){var E=Math.sin(x),z=Math.cos(x);return b[0]=z,b[1]=E,b[2]=0,b[3]=0,b[4]=-E,b[5]=z,b[6]=0,b[7]=0,b[8]=0,b[9]=0,b[10]=1,b[11]=0,b[12]=0,b[13]=0,b[14]=0,b[15]=1,b}function rt(b,x,E){var z=x[0],te=x[1],re=x[2],oe=x[3],le=z+z,he=te+te,ge=re+re,Ae=z*le,Pe=z*he,We=z*ge,Xe=te*he,qe=te*ge,nt=re*ge,at=oe*le,pt=oe*he,mt=oe*ge;return b[0]=1-(Xe+nt),b[1]=Pe+mt,b[2]=We-pt,b[3]=0,b[4]=Pe-mt,b[5]=1-(Ae+nt),b[6]=qe+at,b[7]=0,b[8]=We+pt,b[9]=qe-at,b[10]=1-(Ae+Xe),b[11]=0,b[12]=E[0],b[13]=E[1],b[14]=E[2],b[15]=1,b}function ht(b,x){var E=new zu(3),z=-x[0],te=-x[1],re=-x[2],oe=x[3],le=x[4],he=x[5],ge=x[6],Ae=x[7],Pe=z*z+te*te+re*re+oe*oe;return Pe>0?(E[0]=(le*oe+Ae*z+he*re-ge*te)*2/Pe,E[1]=(he*oe+Ae*te+ge*z-le*re)*2/Pe,E[2]=(ge*oe+Ae*re+le*te-he*z)*2/Pe):(E[0]=(le*oe+Ae*z+he*re-ge*te)*2,E[1]=(he*oe+Ae*te+ge*z-le*re)*2,E[2]=(ge*oe+Ae*re+le*te-he*z)*2),rt(b,x,E),b}function Wt(b,x){return b[0]=x[12],b[1]=x[13],b[2]=x[14],b}function sn(b,x){var E=x[0],z=x[1],te=x[2],re=x[4],oe=x[5],le=x[6],he=x[8],ge=x[9],Ae=x[10];return b[0]=Math.hypot(E,z,te),b[1]=Math.hypot(re,oe,le),b[2]=Math.hypot(he,ge,Ae),b}function Ln(b,x){var E=new zu(3);sn(E,x);var z=1/E[0],te=1/E[1],re=1/E[2],oe=x[0]*z,le=x[1]*te,he=x[2]*re,ge=x[4]*z,Ae=x[5]*te,Pe=x[6]*re,We=x[8]*z,Xe=x[9]*te,qe=x[10]*re,nt=oe+Ae+qe,at=0;return nt>0?(at=Math.sqrt(nt+1)*2,b[3]=.25*at,b[0]=(Pe-Xe)/at,b[1]=(We-he)/at,b[2]=(le-ge)/at):oe>Ae&&oe>qe?(at=Math.sqrt(1+oe-Ae-qe)*2,b[3]=(Pe-Xe)/at,b[0]=.25*at,b[1]=(le+ge)/at,b[2]=(We+he)/at):Ae>qe?(at=Math.sqrt(1+Ae-oe-qe)*2,b[3]=(We-he)/at,b[0]=(le+ge)/at,b[1]=.25*at,b[2]=(Pe+Xe)/at):(at=Math.sqrt(1+qe-oe-Ae)*2,b[3]=(le-ge)/at,b[0]=(We+he)/at,b[1]=(Pe+Xe)/at,b[2]=.25*at),b}function Mn(b,x,E,z){var te=x[0],re=x[1],oe=x[2],le=x[3],he=te+te,ge=re+re,Ae=oe+oe,Pe=te*he,We=te*ge,Xe=te*Ae,qe=re*ge,nt=re*Ae,at=oe*Ae,pt=le*he,mt=le*ge,bt=le*Ae,jt=z[0],Ut=z[1],Kt=z[2];return b[0]=(1-(qe+at))*jt,b[1]=(We+bt)*jt,b[2]=(Xe-mt)*jt,b[3]=0,b[4]=(We-bt)*Ut,b[5]=(1-(Pe+at))*Ut,b[6]=(nt+pt)*Ut,b[7]=0,b[8]=(Xe+mt)*Kt,b[9]=(nt-pt)*Kt,b[10]=(1-(Pe+qe))*Kt,b[11]=0,b[12]=E[0],b[13]=E[1],b[14]=E[2],b[15]=1,b}function Qn(b,x,E,z,te){var re=x[0],oe=x[1],le=x[2],he=x[3],ge=re+re,Ae=oe+oe,Pe=le+le,We=re*ge,Xe=re*Ae,qe=re*Pe,nt=oe*Ae,at=oe*Pe,pt=le*Pe,mt=he*ge,bt=he*Ae,jt=he*Pe,Ut=z[0],Kt=z[1],Qt=z[2],Vt=te[0],vn=te[1],wn=te[2],kn=(1-(nt+pt))*Ut,Vn=(Xe+jt)*Ut,vr=(qe-bt)*Ut,or=(Xe-jt)*Kt,Or=(1-(We+pt))*Kt,qr=(at+mt)*Kt,wr=(qe+bt)*Qt,Sr=(at-mt)*Qt,Tr=(1-(We+nt))*Qt;return b[0]=kn,b[1]=Vn,b[2]=vr,b[3]=0,b[4]=or,b[5]=Or,b[6]=qr,b[7]=0,b[8]=wr,b[9]=Sr,b[10]=Tr,b[11]=0,b[12]=E[0]+Vt-(kn*Vt+or*vn+wr*wn),b[13]=E[1]+vn-(Vn*Vt+Or*vn+Sr*wn),b[14]=E[2]+wn-(vr*Vt+qr*vn+Tr*wn),b[15]=1,b}function Wr(b,x){var E=x[0],z=x[1],te=x[2],re=x[3],oe=E+E,le=z+z,he=te+te,ge=E*oe,Ae=z*oe,Pe=z*le,We=te*oe,Xe=te*le,qe=te*he,nt=re*oe,at=re*le,pt=re*he;return b[0]=1-Pe-qe,b[1]=Ae+pt,b[2]=We-at,b[3]=0,b[4]=Ae-pt,b[5]=1-ge-qe,b[6]=Xe+nt,b[7]=0,b[8]=We+at,b[9]=Xe-nt,b[10]=1-ge-Pe,b[11]=0,b[12]=0,b[13]=0,b[14]=0,b[15]=1,b}function lr(b,x,E,z,te,re,oe){var le=1/(E-x),he=1/(te-z),ge=1/(re-oe);return b[0]=re*2*le,b[1]=0,b[2]=0,b[3]=0,b[4]=0,b[5]=re*2*he,b[6]=0,b[7]=0,b[8]=(E+x)*le,b[9]=(te+z)*he,b[10]=(oe+re)*ge,b[11]=-1,b[12]=0,b[13]=0,b[14]=oe*re*2*ge,b[15]=0,b}function Si(b,x,E,z,te){var re=1/Math.tan(x/2),oe;return b[0]=re/E,b[1]=0,b[2]=0,b[3]=0,b[4]=0,b[5]=re,b[6]=0,b[7]=0,b[8]=0,b[9]=0,b[11]=-1,b[12]=0,b[13]=0,b[15]=0,te!=null&&te!==1/0?(oe=1/(z-te),b[10]=(te+z)*oe,b[14]=2*te*z*oe):(b[10]=-1,b[14]=-2*z),b}var fi=Si;function Mo(b,x,E,z,te){var re=1/Math.tan(x/2),oe;return b[0]=re/E,b[1]=0,b[2]=0,b[3]=0,b[4]=0,b[5]=re,b[6]=0,b[7]=0,b[8]=0,b[9]=0,b[11]=-1,b[12]=0,b[13]=0,b[15]=0,te!=null&&te!==1/0?(oe=1/(z-te),b[10]=te*oe,b[14]=te*z*oe):(b[10]=-1,b[14]=-z),b}function Ro(b,x,E,z){var te=Math.tan(x.upDegrees*Math.PI/180),re=Math.tan(x.downDegrees*Math.PI/180),oe=Math.tan(x.leftDegrees*Math.PI/180),le=Math.tan(x.rightDegrees*Math.PI/180),he=2/(oe+le),ge=2/(te+re);return b[0]=he,b[1]=0,b[2]=0,b[3]=0,b[4]=0,b[5]=ge,b[6]=0,b[7]=0,b[8]=-((oe-le)*he*.5),b[9]=(te-re)*ge*.5,b[10]=z/(E-z),b[11]=-1,b[12]=0,b[13]=0,b[14]=z*E/(E-z),b[15]=0,b}function ea(b,x,E,z,te,re,oe){var le=1/(x-E),he=1/(z-te),ge=1/(re-oe);return b[0]=-2*le,b[1]=0,b[2]=0,b[3]=0,b[4]=0,b[5]=-2*he,b[6]=0,b[7]=0,b[8]=0,b[9]=0,b[10]=2*ge,b[11]=0,b[12]=(x+E)*le,b[13]=(te+z)*he,b[14]=(oe+re)*ge,b[15]=1,b}var Na=ea;function vs(b,x,E,z,te,re,oe){var le=1/(x-E),he=1/(z-te),ge=1/(re-oe);return b[0]=-2*le,b[1]=0,b[2]=0,b[3]=0,b[4]=0,b[5]=-2*he,b[6]=0,b[7]=0,b[8]=0,b[9]=0,b[10]=ge,b[11]=0,b[12]=(x+E)*le,b[13]=(te+z)*he,b[14]=re*ge,b[15]=1,b}function Xa(b,x,E,z){var te,re,oe,le,he,ge,Ae,Pe,We,Xe,qe=x[0],nt=x[1],at=x[2],pt=z[0],mt=z[1],bt=z[2],jt=E[0],Ut=E[1],Kt=E[2];return Math.abs(qe-jt)<Wl&&Math.abs(nt-Ut)<Wl&&Math.abs(at-Kt)<Wl?Cf(b):(Ae=qe-jt,Pe=nt-Ut,We=at-Kt,Xe=1/Math.hypot(Ae,Pe,We),Ae*=Xe,Pe*=Xe,We*=Xe,te=mt*We-bt*Pe,re=bt*Ae-pt*We,oe=pt*Pe-mt*Ae,Xe=Math.hypot(te,re,oe),Xe?(Xe=1/Xe,te*=Xe,re*=Xe,oe*=Xe):(te=0,re=0,oe=0),le=Pe*oe-We*re,he=We*te-Ae*oe,ge=Ae*re-Pe*te,Xe=Math.hypot(le,he,ge),Xe?(Xe=1/Xe,le*=Xe,he*=Xe,ge*=Xe):(le=0,he=0,ge=0),b[0]=te,b[1]=le,b[2]=Ae,b[3]=0,b[4]=re,b[5]=he,b[6]=Pe,b[7]=0,b[8]=oe,b[9]=ge,b[10]=We,b[11]=0,b[12]=-(te*qe+re*nt+oe*at),b[13]=-(le*qe+he*nt+ge*at),b[14]=-(Ae*qe+Pe*nt+We*at),b[15]=1,b)}function Ds(b,x,E,z){var te=x[0],re=x[1],oe=x[2],le=z[0],he=z[1],ge=z[2],Ae=te-E[0],Pe=re-E[1],We=oe-E[2],Xe=Ae*Ae+Pe*Pe+We*We;Xe>0&&(Xe=1/Math.sqrt(Xe),Ae*=Xe,Pe*=Xe,We*=Xe);var qe=he*We-ge*Pe,nt=ge*Ae-le*We,at=le*Pe-he*Ae;return Xe=qe*qe+nt*nt+at*at,Xe>0&&(Xe=1/Math.sqrt(Xe),qe*=Xe,nt*=Xe,at*=Xe),b[0]=qe,b[1]=nt,b[2]=at,b[3]=0,b[4]=Pe*at-We*nt,b[5]=We*qe-Ae*at,b[6]=Ae*nt-Pe*qe,b[7]=0,b[8]=Ae,b[9]=Pe,b[10]=We,b[11]=0,b[12]=te,b[13]=re,b[14]=oe,b[15]=1,b}function hl(b){return"mat4("+b[0]+", "+b[1]+", "+b[2]+", "+b[3]+", "+b[4]+", "+b[5]+", "+b[6]+", "+b[7]+", "+b[8]+", "+b[9]+", "+b[10]+", "+b[11]+", "+b[12]+", "+b[13]+", "+b[14]+", "+b[15]+")"}function Qa(b){return Math.hypot(b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9],b[10],b[11],b[12],b[13],b[14],b[15])}function Ul(b,x,E){return b[0]=x[0]+E[0],b[1]=x[1]+E[1],b[2]=x[2]+E[2],b[3]=x[3]+E[3],b[4]=x[4]+E[4],b[5]=x[5]+E[5],b[6]=x[6]+E[6],b[7]=x[7]+E[7],b[8]=x[8]+E[8],b[9]=x[9]+E[9],b[10]=x[10]+E[10],b[11]=x[11]+E[11],b[12]=x[12]+E[12],b[13]=x[13]+E[13],b[14]=x[14]+E[14],b[15]=x[15]+E[15],b}function fc(b,x,E){return b[0]=x[0]-E[0],b[1]=x[1]-E[1],b[2]=x[2]-E[2],b[3]=x[3]-E[3],b[4]=x[4]-E[4],b[5]=x[5]-E[5],b[6]=x[6]-E[6],b[7]=x[7]-E[7],b[8]=x[8]-E[8],b[9]=x[9]-E[9],b[10]=x[10]-E[10],b[11]=x[11]-E[11],b[12]=x[12]-E[12],b[13]=x[13]-E[13],b[14]=x[14]-E[14],b[15]=x[15]-E[15],b}function _h(b,x,E){return b[0]=x[0]*E,b[1]=x[1]*E,b[2]=x[2]*E,b[3]=x[3]*E,b[4]=x[4]*E,b[5]=x[5]*E,b[6]=x[6]*E,b[7]=x[7]*E,b[8]=x[8]*E,b[9]=x[9]*E,b[10]=x[10]*E,b[11]=x[11]*E,b[12]=x[12]*E,b[13]=x[13]*E,b[14]=x[14]*E,b[15]=x[15]*E,b}function Tc(b,x,E,z){return b[0]=x[0]+E[0]*z,b[1]=x[1]+E[1]*z,b[2]=x[2]+E[2]*z,b[3]=x[3]+E[3]*z,b[4]=x[4]+E[4]*z,b[5]=x[5]+E[5]*z,b[6]=x[6]+E[6]*z,b[7]=x[7]+E[7]*z,b[8]=x[8]+E[8]*z,b[9]=x[9]+E[9]*z,b[10]=x[10]+E[10]*z,b[11]=x[11]+E[11]*z,b[12]=x[12]+E[12]*z,b[13]=x[13]+E[13]*z,b[14]=x[14]+E[14]*z,b[15]=x[15]+E[15]*z,b}function Ad(b,x){return b[0]===x[0]&&b[1]===x[1]&&b[2]===x[2]&&b[3]===x[3]&&b[4]===x[4]&&b[5]===x[5]&&b[6]===x[6]&&b[7]===x[7]&&b[8]===x[8]&&b[9]===x[9]&&b[10]===x[10]&&b[11]===x[11]&&b[12]===x[12]&&b[13]===x[13]&&b[14]===x[14]&&b[15]===x[15]}function Sd(b,x){var E=b[0],z=b[1],te=b[2],re=b[3],oe=b[4],le=b[5],he=b[6],ge=b[7],Ae=b[8],Pe=b[9],We=b[10],Xe=b[11],qe=b[12],nt=b[13],at=b[14],pt=b[15],mt=x[0],bt=x[1],jt=x[2],Ut=x[3],Kt=x[4],Qt=x[5],Vt=x[6],vn=x[7],wn=x[8],kn=x[9],Vn=x[10],vr=x[11],or=x[12],Or=x[13],qr=x[14],wr=x[15];return Math.abs(E-mt)<=Wl*Math.max(1,Math.abs(E),Math.abs(mt))&&Math.abs(z-bt)<=Wl*Math.max(1,Math.abs(z),Math.abs(bt))&&Math.abs(te-jt)<=Wl*Math.max(1,Math.abs(te),Math.abs(jt))&&Math.abs(re-Ut)<=Wl*Math.max(1,Math.abs(re),Math.abs(Ut))&&Math.abs(oe-Kt)<=Wl*Math.max(1,Math.abs(oe),Math.abs(Kt))&&Math.abs(le-Qt)<=Wl*Math.max(1,Math.abs(le),Math.abs(Qt))&&Math.abs(he-Vt)<=Wl*Math.max(1,Math.abs(he),Math.abs(Vt))&&Math.abs(ge-vn)<=Wl*Math.max(1,Math.abs(ge),Math.abs(vn))&&Math.abs(Ae-wn)<=Wl*Math.max(1,Math.abs(Ae),Math.abs(wn))&&Math.abs(Pe-kn)<=Wl*Math.max(1,Math.abs(Pe),Math.abs(kn))&&Math.abs(We-Vn)<=Wl*Math.max(1,Math.abs(We),Math.abs(Vn))&&Math.abs(Xe-vr)<=Wl*Math.max(1,Math.abs(Xe),Math.abs(vr))&&Math.abs(qe-or)<=Wl*Math.max(1,Math.abs(qe),Math.abs(or))&&Math.abs(nt-Or)<=Wl*Math.max(1,Math.abs(nt),Math.abs(Or))&&Math.abs(at-qr)<=Wl*Math.max(1,Math.abs(at),Math.abs(qr))&&Math.abs(pt-wr)<=Wl*Math.max(1,Math.abs(pt),Math.abs(wr))}var Ah=Ed,Pf=fc;function Jh(){var b=new zu(9);return zu!=Float32Array&&(b[1]=0,b[2]=0,b[3]=0,b[5]=0,b[6]=0,b[7]=0),b[0]=1,b[4]=1,b[8]=1,b}function Lh(b,x){return b[0]=x[0],b[1]=x[1],b[2]=x[2],b[3]=x[4],b[4]=x[5],b[5]=x[6],b[6]=x[8],b[7]=x[9],b[8]=x[10],b}function Nu(b){var x=new glMatrix.ARRAY_TYPE(9);return x[0]=b[0],x[1]=b[1],x[2]=b[2],x[3]=b[3],x[4]=b[4],x[5]=b[5],x[6]=b[6],x[7]=b[7],x[8]=b[8],x}function Zc(b,x){return b[0]=x[0],b[1]=x[1],b[2]=x[2],b[3]=x[3],b[4]=x[4],b[5]=x[5],b[6]=x[6],b[7]=x[7],b[8]=x[8],b}function qh(b,x,E,z,te,re,oe,le,he){var ge=new zu(9);return ge[0]=b,ge[1]=x,ge[2]=E,ge[3]=z,ge[4]=te,ge[5]=re,ge[6]=oe,ge[7]=le,ge[8]=he,ge}function wd(b,x,E,z,te,re,oe,le,he,ge){return b[0]=x,b[1]=E,b[2]=z,b[3]=te,b[4]=re,b[5]=oe,b[6]=le,b[7]=he,b[8]=ge,b}function fp(b){return b[0]=1,b[1]=0,b[2]=0,b[3]=0,b[4]=1,b[5]=0,b[6]=0,b[7]=0,b[8]=1,b}function Fc(b,x){if(b===x){var E=x[1],z=x[2],te=x[5];b[1]=x[3],b[2]=x[6],b[3]=E,b[5]=x[7],b[6]=z,b[7]=te}else b[0]=x[0],b[1]=x[3],b[2]=x[6],b[3]=x[1],b[4]=x[4],b[5]=x[7],b[6]=x[2],b[7]=x[5],b[8]=x[8];return b}function Zg(b,x){var E=x[0],z=x[1],te=x[2],re=x[3],oe=x[4],le=x[5],he=x[6],ge=x[7],Ae=x[8],Pe=Ae*oe-le*ge,We=-Ae*re+le*he,Xe=ge*re-oe*he,qe=E*Pe+z*We+te*Xe;return qe?(qe=1/qe,b[0]=Pe*qe,b[1]=(-Ae*z+te*ge)*qe,b[2]=(le*z-te*oe)*qe,b[3]=We*qe,b[4]=(Ae*E-te*he)*qe,b[5]=(-le*E+te*re)*qe,b[6]=Xe*qe,b[7]=(-ge*E+z*he)*qe,b[8]=(oe*E-z*re)*qe,b):null}function sh(b,x){var E=x[0],z=x[1],te=x[2],re=x[3],oe=x[4],le=x[5],he=x[6],ge=x[7],Ae=x[8];return b[0]=oe*Ae-le*ge,b[1]=te*ge-z*Ae,b[2]=z*le-te*oe,b[3]=le*he-re*Ae,b[4]=E*Ae-te*he,b[5]=te*re-E*le,b[6]=re*ge-oe*he,b[7]=z*he-E*ge,b[8]=E*oe-z*re,b}function v1(b){var x=b[0],E=b[1],z=b[2],te=b[3],re=b[4],oe=b[5],le=b[6],he=b[7],ge=b[8];return x*(ge*re-oe*he)+E*(-ge*te+oe*le)+z*(he*te-re*le)}function Sg(b,x,E){var z=x[0],te=x[1],re=x[2],oe=x[3],le=x[4],he=x[5],ge=x[6],Ae=x[7],Pe=x[8],We=E[0],Xe=E[1],qe=E[2],nt=E[3],at=E[4],pt=E[5],mt=E[6],bt=E[7],jt=E[8];return b[0]=We*z+Xe*oe+qe*ge,b[1]=We*te+Xe*le+qe*Ae,b[2]=We*re+Xe*he+qe*Pe,b[3]=nt*z+at*oe+pt*ge,b[4]=nt*te+at*le+pt*Ae,b[5]=nt*re+at*he+pt*Pe,b[6]=mt*z+bt*oe+jt*ge,b[7]=mt*te+bt*le+jt*Ae,b[8]=mt*re+bt*he+jt*Pe,b}function qf(b,x,E){var z=x[0],te=x[1],re=x[2],oe=x[3],le=x[4],he=x[5],ge=x[6],Ae=x[7],Pe=x[8],We=E[0],Xe=E[1];return b[0]=z,b[1]=te,b[2]=re,b[3]=oe,b[4]=le,b[5]=he,b[6]=We*z+Xe*oe+ge,b[7]=We*te+Xe*le+Ae,b[8]=We*re+Xe*he+Pe,b}function Mf(b,x,E){var z=x[0],te=x[1],re=x[2],oe=x[3],le=x[4],he=x[5],ge=x[6],Ae=x[7],Pe=x[8],We=Math.sin(E),Xe=Math.cos(E);return b[0]=Xe*z+We*oe,b[1]=Xe*te+We*le,b[2]=Xe*re+We*he,b[3]=Xe*oe-We*z,b[4]=Xe*le-We*te,b[5]=Xe*he-We*re,b[6]=ge,b[7]=Ae,b[8]=Pe,b}function hc(b,x,E){var z=E[0],te=E[1];return b[0]=z*x[0],b[1]=z*x[1],b[2]=z*x[2],b[3]=te*x[3],b[4]=te*x[4],b[5]=te*x[5],b[6]=x[6],b[7]=x[7],b[8]=x[8],b}function ud(b,x){return b[0]=1,b[1]=0,b[2]=0,b[3]=0,b[4]=1,b[5]=0,b[6]=x[0],b[7]=x[1],b[8]=1,b}function a0(b,x){var E=Math.sin(x),z=Math.cos(x);return b[0]=z,b[1]=E,b[2]=0,b[3]=-E,b[4]=z,b[5]=0,b[6]=0,b[7]=0,b[8]=1,b}function uy(b,x){return b[0]=x[0],b[1]=0,b[2]=0,b[3]=0,b[4]=x[1],b[5]=0,b[6]=0,b[7]=0,b[8]=1,b}function mT(b,x){return b[0]=x[0],b[1]=x[1],b[2]=0,b[3]=x[2],b[4]=x[3],b[5]=0,b[6]=x[4],b[7]=x[5],b[8]=1,b}function $f(b,x){var E=x[0],z=x[1],te=x[2],re=x[3],oe=E+E,le=z+z,he=te+te,ge=E*oe,Ae=z*oe,Pe=z*le,We=te*oe,Xe=te*le,qe=te*he,nt=re*oe,at=re*le,pt=re*he;return b[0]=1-Pe-qe,b[3]=Ae-pt,b[6]=We+at,b[1]=Ae+pt,b[4]=1-ge-qe,b[7]=Xe-nt,b[2]=We-at,b[5]=Xe+nt,b[8]=1-ge-Pe,b}function P2(b,x){var E=x[0],z=x[1],te=x[2],re=x[3],oe=x[4],le=x[5],he=x[6],ge=x[7],Ae=x[8],Pe=x[9],We=x[10],Xe=x[11],qe=x[12],nt=x[13],at=x[14],pt=x[15],mt=E*le-z*oe,bt=E*he-te*oe,jt=E*ge-re*oe,Ut=z*he-te*le,Kt=z*ge-re*le,Qt=te*ge-re*he,Vt=Ae*nt-Pe*qe,vn=Ae*at-We*qe,wn=Ae*pt-Xe*qe,kn=Pe*at-We*nt,Vn=Pe*pt-Xe*nt,vr=We*pt-Xe*at,or=mt*vr-bt*Vn+jt*kn+Ut*wn-Kt*vn+Qt*Vt;return or?(or=1/or,b[0]=(le*vr-he*Vn+ge*kn)*or,b[1]=(he*wn-oe*vr-ge*vn)*or,b[2]=(oe*Vn-le*wn+ge*Vt)*or,b[3]=(te*Vn-z*vr-re*kn)*or,b[4]=(E*vr-te*wn+re*vn)*or,b[5]=(z*wn-E*Vn-re*Vt)*or,b[6]=(nt*Qt-at*Kt+pt*Ut)*or,b[7]=(at*jt-qe*Qt-pt*bt)*or,b[8]=(qe*Kt-nt*jt+pt*mt)*or,b):null}function Lv(b,x,E){return b[0]=2/x,b[1]=0,b[2]=0,b[3]=0,b[4]=-2/E,b[5]=0,b[6]=-1,b[7]=1,b[8]=1,b}function qS(b){return"mat3("+b[0]+", "+b[1]+", "+b[2]+", "+b[3]+", "+b[4]+", "+b[5]+", "+b[6]+", "+b[7]+", "+b[8]+")"}function Nx(b){return Math.hypot(b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8])}function m1(b,x,E){return b[0]=x[0]+E[0],b[1]=x[1]+E[1],b[2]=x[2]+E[2],b[3]=x[3]+E[3],b[4]=x[4]+E[4],b[5]=x[5]+E[5],b[6]=x[6]+E[6],b[7]=x[7]+E[7],b[8]=x[8]+E[8],b}function Em(b,x,E){return b[0]=x[0]-E[0],b[1]=x[1]-E[1],b[2]=x[2]-E[2],b[3]=x[3]-E[3],b[4]=x[4]-E[4],b[5]=x[5]-E[5],b[6]=x[6]-E[6],b[7]=x[7]-E[7],b[8]=x[8]-E[8],b}function rA(b,x,E){return b[0]=x[0]*E,b[1]=x[1]*E,b[2]=x[2]*E,b[3]=x[3]*E,b[4]=x[4]*E,b[5]=x[5]*E,b[6]=x[6]*E,b[7]=x[7]*E,b[8]=x[8]*E,b}function cy(b,x,E,z){return b[0]=x[0]+E[0]*z,b[1]=x[1]+E[1]*z,b[2]=x[2]+E[2]*z,b[3]=x[3]+E[3]*z,b[4]=x[4]+E[4]*z,b[5]=x[5]+E[5]*z,b[6]=x[6]+E[6]*z,b[7]=x[7]+E[7]*z,b[8]=x[8]+E[8]*z,b}function y1(b,x){return b[0]===x[0]&&b[1]===x[1]&&b[2]===x[2]&&b[3]===x[3]&&b[4]===x[4]&&b[5]===x[5]&&b[6]===x[6]&&b[7]===x[7]&&b[8]===x[8]}function Ip(b,x){var E=b[0],z=b[1],te=b[2],re=b[3],oe=b[4],le=b[5],he=b[6],ge=b[7],Ae=b[8],Pe=x[0],We=x[1],Xe=x[2],qe=x[3],nt=x[4],at=x[5],pt=x[6],mt=x[7],bt=x[8];return Math.abs(E-Pe)<=glMatrix.EPSILON*Math.max(1,Math.abs(E),Math.abs(Pe))&&Math.abs(z-We)<=glMatrix.EPSILON*Math.max(1,Math.abs(z),Math.abs(We))&&Math.abs(te-Xe)<=glMatrix.EPSILON*Math.max(1,Math.abs(te),Math.abs(Xe))&&Math.abs(re-qe)<=glMatrix.EPSILON*Math.max(1,Math.abs(re),Math.abs(qe))&&Math.abs(oe-nt)<=glMatrix.EPSILON*Math.max(1,Math.abs(oe),Math.abs(nt))&&Math.abs(le-at)<=glMatrix.EPSILON*Math.max(1,Math.abs(le),Math.abs(at))&&Math.abs(he-pt)<=glMatrix.EPSILON*Math.max(1,Math.abs(he),Math.abs(pt))&&Math.abs(ge-mt)<=glMatrix.EPSILON*Math.max(1,Math.abs(ge),Math.abs(mt))&&Math.abs(Ae-bt)<=glMatrix.EPSILON*Math.max(1,Math.abs(Ae),Math.abs(bt))}var of=null,yT=null;function Cd(){var b=new zu(4);return zu!=Float32Array&&(b[0]=0,b[1]=0,b[2]=0),b[3]=1,b}function xT(b){return b[0]=0,b[1]=0,b[2]=0,b[3]=1,b}function gp(b,x,E){E=E*.5;var z=Math.sin(E);return b[0]=z*x[0],b[1]=z*x[1],b[2]=z*x[2],b[3]=Math.cos(E),b}function M2(b,x){var E=Math.acos(x[3])*2,z=Math.sin(E/2);return z>glMatrix.EPSILON?(b[0]=x[0]/z,b[1]=x[1]/z,b[2]=x[2]/z):(b[0]=1,b[1]=0,b[2]=0),E}function ET(b,x){var E=O2(b,x);return Math.acos(2*E*E-1)}function Tv(b,x,E){var z=x[0],te=x[1],re=x[2],oe=x[3],le=E[0],he=E[1],ge=E[2],Ae=E[3];return b[0]=z*Ae+oe*le+te*ge-re*he,b[1]=te*Ae+oe*he+re*le-z*ge,b[2]=re*Ae+oe*ge+z*he-te*le,b[3]=oe*Ae-z*le-te*he-re*ge,b}function L2(b,x,E){E*=.5;var z=x[0],te=x[1],re=x[2],oe=x[3],le=Math.sin(E),he=Math.cos(E);return b[0]=z*he+oe*le,b[1]=te*he+re*le,b[2]=re*he-te*le,b[3]=oe*he-z*le,b}function iA(b,x,E){E*=.5;var z=x[0],te=x[1],re=x[2],oe=x[3],le=Math.sin(E),he=Math.cos(E);return b[0]=z*he-re*le,b[1]=te*he+oe*le,b[2]=re*he+z*le,b[3]=oe*he-te*le,b}function $S(b,x,E){E*=.5;var z=x[0],te=x[1],re=x[2],oe=x[3],le=Math.sin(E),he=Math.cos(E);return b[0]=z*he+te*le,b[1]=te*he-z*le,b[2]=re*he+oe*le,b[3]=oe*he-re*le,b}function s0(b,x){var E=x[0],z=x[1],te=x[2];return b[0]=E,b[1]=z,b[2]=te,b[3]=Math.sqrt(Math.abs(1-E*E-z*z-te*te)),b}function l0(b,x){var E=x[0],z=x[1],te=x[2],re=x[3],oe=Math.sqrt(E*E+z*z+te*te),le=Math.exp(re),he=oe>0?le*Math.sin(oe)/oe:0;return b[0]=E*he,b[1]=z*he,b[2]=te*he,b[3]=le*Math.cos(oe),b}function oA(b,x){var E=x[0],z=x[1],te=x[2],re=x[3],oe=Math.sqrt(E*E+z*z+te*te),le=oe>0?Math.atan2(oe,re)/oe:0;return b[0]=E*le,b[1]=z*le,b[2]=te*le,b[3]=.5*Math.log(E*E+z*z+te*te+re*re),b}function wg(b,x,E){return oA(b,x),ew(b,b,E),l0(b,b),b}function G0(b,x,E,z){var te=x[0],re=x[1],oe=x[2],le=x[3],he=E[0],ge=E[1],Ae=E[2],Pe=E[3],We,Xe,qe,nt,at;return Xe=te*he+re*ge+oe*Ae+le*Pe,Xe<0&&(Xe=-Xe,he=-he,ge=-ge,Ae=-Ae,Pe=-Pe),1-Xe>Wl?(We=Math.acos(Xe),qe=Math.sin(We),nt=Math.sin((1-z)*We)/qe,at=Math.sin(z*We)/qe):(nt=1-z,at=z),b[0]=nt*te+at*he,b[1]=nt*re+at*ge,b[2]=nt*oe+at*Ae,b[3]=nt*le+at*Pe,b}function LI(b){var x=glMatrix.RANDOM(),E=glMatrix.RANDOM(),z=glMatrix.RANDOM(),te=Math.sqrt(1-x),re=Math.sqrt(x);return b[0]=te*Math.sin(2*Math.PI*E),b[1]=te*Math.cos(2*Math.PI*E),b[2]=re*Math.sin(2*Math.PI*z),b[3]=re*Math.cos(2*Math.PI*z),b}function hy(b,x){var E=x[0],z=x[1],te=x[2],re=x[3],oe=E*E+z*z+te*te+re*re,le=oe?1/oe:0;return b[0]=-E*le,b[1]=-z*le,b[2]=-te*le,b[3]=re*le,b}function il(b,x){return b[0]=-x[0],b[1]=-x[1],b[2]=-x[2],b[3]=x[3],b}function T2(b,x){var E=x[0]+x[4]+x[8],z;if(E>0)z=Math.sqrt(E+1),b[3]=.5*z,z=.5/z,b[0]=(x[5]-x[7])*z,b[1]=(x[6]-x[2])*z,b[2]=(x[1]-x[3])*z;else{var te=0;x[4]>x[0]&&(te=1),x[8]>x[te*3+te]&&(te=2);var re=(te+1)%3,oe=(te+2)%3;z=Math.sqrt(x[te*3+te]-x[re*3+re]-x[oe*3+oe]+1),b[te]=.5*z,z=.5/z,b[3]=(x[re*3+oe]-x[oe*3+re])*z,b[re]=(x[re*3+te]+x[te*3+re])*z,b[oe]=(x[oe*3+te]+x[te*3+oe])*z}return b}function Bx(b,x,E,z){var te=.5*Math.PI/180;x*=te,E*=te,z*=te;var re=Math.sin(x),oe=Math.cos(x),le=Math.sin(E),he=Math.cos(E),ge=Math.sin(z),Ae=Math.cos(z);return b[0]=re*he*Ae-oe*le*ge,b[1]=oe*le*Ae+re*he*ge,b[2]=oe*he*ge-re*le*Ae,b[3]=oe*he*Ae+re*le*ge,b}function D2(b){return"quat("+b[0]+", "+b[1]+", "+b[2]+", "+b[3]+")"}var Rx=Sf,x1=Dp,Yg=fm,aA=j0,I2=rf,sA=Tv,ew=iy,O2=_s,E1=fu,N2=pm,B2=null,tw=Pv,kx=null,A1=xu,kl=W0,Lf=Kg,cd=function(){var b=Ts(),x=Kl(1,0,0),E=Kl(0,1,0);return function(z,te,re){var oe=Mh(te,re);return oe<-.999999?(Mp(b,x,te),i0(b)<1e-6&&Mp(b,E,te),ah(b,b),gp(z,b,Math.PI),z):oe>.999999?(z[0]=0,z[1]=0,z[2]=0,z[3]=1,z):(Mp(b,te,re),z[0]=b[0],z[1]=b[1],z[2]=b[2],z[3]=1+oe,A1(z,z))}}(),u0=function(){var b=Cd(),x=Cd();return function(E,z,te,re,oe,le){return G0(b,z,oe,le),G0(x,te,re,le),G0(E,b,x,2*le*(1-le)),E}}(),Fx=function(){var b=Jh();return function(x,E,z,te){return b[0]=z[0],b[3]=z[1],b[6]=z[2],b[1]=te[0],b[4]=te[1],b[7]=te[2],b[2]=-E[0],b[5]=-E[1],b[8]=-E[2],A1(x,T2(x,b))}}();function Op(){var b=new zu(2);return zu!=Float32Array&&(b[0]=0,b[1]=0),b}function H0(b){var x=new glMatrix.ARRAY_TYPE(2);return x[0]=b[0],x[1]=b[1],x}function eg(b,x){var E=new glMatrix.ARRAY_TYPE(2);return E[0]=b,E[1]=x,E}function S1(b,x){return b[0]=x[0],b[1]=x[1],b}function w1(b,x,E){return b[0]=x,b[1]=E,b}function AT(b,x,E){return b[0]=x[0]+E[0],b[1]=x[1]+E[1],b}function gc(b,x,E){return b[0]=x[0]-E[0],b[1]=x[1]-E[1],b}function nw(b,x,E){return b[0]=x[0]*E[0],b[1]=x[1]*E[1],b}function rw(b,x,E){return b[0]=x[0]/E[0],b[1]=x[1]/E[1],b}function iw(b,x){return b[0]=Math.ceil(x[0]),b[1]=Math.ceil(x[1]),b}function ow(b,x){return b[0]=Math.floor(x[0]),b[1]=Math.floor(x[1]),b}function R2(b,x,E){return b[0]=Math.min(x[0],E[0]),b[1]=Math.min(x[1],E[1]),b}function aw(b,x,E){return b[0]=Math.max(x[0],E[0]),b[1]=Math.max(x[1],E[1]),b}function sw(b,x){return b[0]=Math.round(x[0]),b[1]=Math.round(x[1]),b}function lw(b,x,E){return b[0]=x[0]*E,b[1]=x[1]*E,b}function uw(b,x,E,z){return b[0]=x[0]+E[0]*z,b[1]=x[1]+E[1]*z,b}function cw(b,x){var E=x[0]-b[0],z=x[1]-b[1];return Math.hypot(E,z)}function lA(b,x){var E=x[0]-b[0],z=x[1]-b[1];return E*E+z*z}function hw(b){var x=b[0],E=b[1];return Math.hypot(x,E)}function dw(b){var x=b[0],E=b[1];return x*x+E*E}function ST(b,x){return b[0]=-x[0],b[1]=-x[1],b}function uA(b,x){return b[0]=1/x[0],b[1]=1/x[1],b}function bi(b,x){var E=x[0],z=x[1],te=E*E+z*z;return te>0&&(te=1/Math.sqrt(te)),b[0]=x[0]*te,b[1]=x[1]*te,b}function fw(b,x){return b[0]*x[0]+b[1]*x[1]}function wT(b,x,E){var z=x[0]*E[1]-x[1]*E[0];return b[0]=b[1]=0,b[2]=z,b}function gw(b,x,E,z){var te=x[0],re=x[1];return b[0]=te+z*(E[0]-te),b[1]=re+z*(E[1]-re),b}function CT(b,x){x=x||1;var E=glMatrix.RANDOM()*2*Math.PI;return b[0]=Math.cos(E)*x,b[1]=Math.sin(E)*x,b}function k2(b,x,E){var z=x[0],te=x[1];return b[0]=E[0]*z+E[2]*te,b[1]=E[1]*z+E[3]*te,b}function V0(b,x,E){var z=x[0],te=x[1];return b[0]=E[0]*z+E[2]*te+E[4],b[1]=E[1]*z+E[3]*te+E[5],b}function dy(b,x,E){var z=x[0],te=x[1];return b[0]=E[0]*z+E[3]*te+E[6],b[1]=E[1]*z+E[4]*te+E[7],b}function bT(b,x,E){var z=x[0],te=x[1];return b[0]=E[0]*z+E[4]*te+E[12],b[1]=E[1]*z+E[5]*te+E[13],b}function TI(b,x,E,z){var te=x[0]-E[0],re=x[1]-E[1],oe=Math.sin(z),le=Math.cos(z);return b[0]=te*le-re*oe+E[0],b[1]=te*oe+re*le+E[1],b}function PT(b,x){var E=b[0],z=b[1],te=x[0],re=x[1],oe=Math.sqrt(E*E+z*z)*Math.sqrt(te*te+re*re),le=oe&&(E*te+z*re)/oe;return Math.acos(Math.min(Math.max(le,-1),1))}function MT(b){return b[0]=0,b[1]=0,b}function LT(b){return"vec2("+b[0]+", "+b[1]+")"}function K0(b,x){return b[0]===x[0]&&b[1]===x[1]}function F2(b,x){var E=b[0],z=b[1],te=x[0],re=x[1];return Math.abs(E-te)<=glMatrix.EPSILON*Math.max(1,Math.abs(E),Math.abs(te))&&Math.abs(z-re)<=glMatrix.EPSILON*Math.max(1,Math.abs(z),Math.abs(re))}var _2=null,z2=null,j2=null,TT=null,DT=null,IT=null,Cg=null,DI=function(){var b=Op();return function(x,E,z,te,re,oe){var le,he;for(E||(E=2),z||(z=0),te?he=Math.min(te*E+z,x.length):he=x.length,le=z;le<he;le+=E)b[0]=x[le],b[1]=x[le+1],re(b,b,oe),x[le]=b[0],x[le+1]=b[1];return x}}();function As(b){return typeof b=="number"}function bg(b,x){return Math.sqrt((b[0]-x[0])*(b[0]-x[0])+(b[1]-x[1])*(b[1]-x[1]))}function El(b){return b==null}function qu(b){return typeof b=="string"}var pw=function(b,x,E){return b<x?x:b>E?E:b},Sh=pw,Cn=Oe(80813),Tf={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0};function vw(b){return Array.isArray(b)&&b.every(function(x){var E=x[0].toLowerCase();return Tf[E]===x.length-1&&"achlmqstvz".includes(E)})}function mw(b){return vw(b)&&b.every(function(x){var E=x[0];return E===E.toUpperCase()})}function tg(b){return mw(b)&&b.every(function(x){var E=x[0];return"ACLMQZ".includes(E)})}var Np={x1:0,y1:0,x2:0,y2:0,x:0,y:0,qx:null,qy:null};function af(b){for(var x=b.pathValue[b.segmentStart],E=x.toLowerCase(),z=b.data;z.length>=Tf[E]&&(E==="m"&&z.length>2?(b.segments.push([x].concat(z.splice(0,2))),E="l",x=x==="m"?"l":"L"):b.segments.push([x].concat(z.splice(0,Tf[E]))),!!Tf[E]););}function oc(b){var x=b.index,E=b.pathValue,z=E.charCodeAt(x);if(z===48){b.param=0,b.index+=1;return}if(z===49){b.param=1,b.index+=1;return}b.err='[path-util]: invalid Arc flag "'.concat(E[x],'", expecting 0 or 1 at index ').concat(x)}function cA(b){return b>=48&&b<=57||b===43||b===45||b===46}function Dv(b){return b>=48&&b<=57}function yw(b){var x=b.max,E=b.pathValue,z=b.index,te=z,re=!1,oe=!1,le=!1,he=!1,ge;if(te>=x){b.err="[path-util]: Invalid path value at index ".concat(te,', "pathValue" is missing param');return}if(ge=E.charCodeAt(te),(ge===43||ge===45)&&(te+=1,ge=E.charCodeAt(te)),!Dv(ge)&&ge!==46){b.err="[path-util]: Invalid path value at index ".concat(te,', "').concat(E[te],'" is not a number');return}if(ge!==46){if(re=ge===48,te+=1,ge=E.charCodeAt(te),re&&te<x&&ge&&Dv(ge)){b.err="[path-util]: Invalid path value at index ".concat(z,', "').concat(E[z],'" illegal number');return}for(;te<x&&Dv(E.charCodeAt(te));)te+=1,oe=!0;ge=E.charCodeAt(te)}if(ge===46){for(he=!0,te+=1;Dv(E.charCodeAt(te));)te+=1,le=!0;ge=E.charCodeAt(te)}if(ge===101||ge===69){if(he&&!oe&&!le){b.err="[path-util]: Invalid path value at index ".concat(te,', "').concat(E[te],'" invalid float exponent');return}if(te+=1,ge=E.charCodeAt(te),(ge===43||ge===45)&&(te+=1),te<x&&Dv(E.charCodeAt(te)))for(;te<x&&Dv(E.charCodeAt(te));)te+=1;else{b.err="[path-util]: Invalid path value at index ".concat(te,', "').concat(E[te],'" invalid integer exponent');return}}b.index=te,b.param=+b.pathValue.slice(z,te)}function _x(b){var x=[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];return b===10||b===13||b===8232||b===8233||b===32||b===9||b===11||b===12||b===160||b>=5760&&x.includes(b)}function fy(b){for(var x=b.pathValue,E=b.max;b.index<E&&_x(x.charCodeAt(b.index));)b.index+=1}function Ua(b){switch(b|32){case 109:case 122:case 108:case 104:case 118:case 99:case 115:case 113:case 116:case 97:return!0;default:return!1}}function Am(b){return(b|32)===97}function C1(b){var x=b.max,E=b.pathValue,z=b.index,te=E.charCodeAt(z),re=Tf[E[z].toLowerCase()];if(b.segmentStart=z,!Ua(te)){b.err='[path-util]: Invalid path value "'.concat(E[z],'" is not a path command');return}if(b.index+=1,fy(b),b.data=[],!re){af(b);return}for(;;){for(var oe=re;oe>0;oe-=1){if(Am(te)&&(oe===3||oe===4)?oc(b):yw(b),b.err.length)return;b.data.push(b.param),fy(b),b.index<x&&E.charCodeAt(b.index)===44&&(b.index+=1,fy(b))}if(b.index>=b.max||!cA(E.charCodeAt(b.index)))break}af(b)}var xw=function(){function b(x){this.pathValue=x,this.segments=[],this.max=x.length,this.index=0,this.param=0,this.segmentStart=0,this.data=[],this.err=""}return b}();function hA(b){if(vw(b))return[].concat(b);var x=new xw(b);for(fy(x);x.index<x.max&&!x.err.length;)C1(x);return x.err?x.err:x.segments}function dA(b){if(mw(b))return[].concat(b);var x=hA(b),E=0,z=0,te=0,re=0;return x.map(function(oe){var le=oe.slice(1).map(Number),he=oe[0],ge=he.toUpperCase();if(he==="M")return E=le[0],z=le[1],te=E,re=z,["M",E,z];var Ae;if(he!==ge)switch(ge){case"A":Ae=[ge,le[0],le[1],le[2],le[3],le[4],le[5]+E,le[6]+z];break;case"V":Ae=[ge,le[0]+z];break;case"H":Ae=[ge,le[0]+E];break;default:{var Pe=le.map(function(Xe,qe){return Xe+(qe%2?z:E)});Ae=[ge].concat(Pe)}}else Ae=[ge].concat(le);var We=Ae.length;switch(ge){case"Z":E=te,z=re;break;case"H":E=Ae[1];break;case"V":z=Ae[1];break;default:E=Ae[We-2],z=Ae[We-1],ge==="M"&&(te=E,re=z)}return Ae})}function Sm(b,x){var E=b[0],z=x.x1,te=x.y1,re=x.x2,oe=x.y2,le=b.slice(1).map(Number),he=b;if("TQ".includes(E)||(x.qx=null,x.qy=null),E==="H")he=["L",b[1],te];else if(E==="V")he=["L",z,b[1]];else if(E==="S"){var ge=z*2-re,Ae=te*2-oe;x.x1=ge,x.y1=Ae,he=["C",ge,Ae].concat(le)}else if(E==="T"){var Pe=z*2-x.qx,We=te*2-x.qy;x.qx=Pe,x.qy=We,he=["Q",Pe,We].concat(le)}else if(E==="Q"){var Xe=le[0],qe=le[1];x.qx=Xe,x.qy=qe}return he}function zx(b){if(tg(b))return[].concat(b);for(var x=dA(b),E=(0,Cn.pi)({},Np),z=0;z<x.length;z+=1){x[z]=Sm(x[z],E);var te=x[z],re=te.length;E.x1=+te[re-2],E.y1=+te[re-1],E.x2=+te[re-4]||E.x1,E.y2=+te[re-3]||E.y1}return x}function Iv(b,x,E){var z=b[0],te=b[1],re=x[0],oe=x[1];return[z+(re-z)*E,te+(oe-te)*E]}function Xg(b,x,E,z,te){var re=bg([b,x],[E,z]),oe={x:0,y:0};if(typeof te=="number")if(te<=0)oe={x:b,y:x};else if(te>=re)oe={x:E,y:z};else{var le=Iv([b,x],[E,z],te/re),he=le[0],ge=le[1];oe={x:he,y:ge}}return{length:re,point:oe,min:{x:Math.min(b,E),y:Math.min(x,z)},max:{x:Math.max(b,E),y:Math.max(x,z)}}}function fA(b,x){var E=b.x,z=b.y,te=x.x,re=x.y,oe=E*te+z*re,le=Math.sqrt((Math.pow(E,2)+Math.pow(z,2))*(Math.pow(te,2)+Math.pow(re,2))),he=E*re-z*te<0?-1:1,ge=he*Math.acos(oe/le);return ge}function Ew(b,x,E,z,te,re,oe,le,he,ge){var Ae=Math.abs,Pe=Math.sin,We=Math.cos,Xe=Math.sqrt,qe=Math.PI,nt=Ae(E),at=Ae(z),pt=(te%360+360)%360,mt=pt*(qe/180);if(b===le&&x===he)return{x:b,y:x};if(nt===0||at===0)return Xg(b,x,le,he,ge).point;var bt=(b-le)/2,jt=(x-he)/2,Ut={x:We(mt)*bt+Pe(mt)*jt,y:-Pe(mt)*bt+We(mt)*jt},Kt=Math.pow(Ut.x,2)/Math.pow(nt,2)+Math.pow(Ut.y,2)/Math.pow(at,2);Kt>1&&(nt*=Xe(Kt),at*=Xe(Kt));var Qt=Math.pow(nt,2)*Math.pow(at,2)-Math.pow(nt,2)*Math.pow(Ut.y,2)-Math.pow(at,2)*Math.pow(Ut.x,2),Vt=Math.pow(nt,2)*Math.pow(Ut.y,2)+Math.pow(at,2)*Math.pow(Ut.x,2),vn=Qt/Vt;vn=vn<0?0:vn;var wn=(re!==oe?1:-1)*Xe(vn),kn={x:wn*(nt*Ut.y/at),y:wn*(-(at*Ut.x)/nt)},Vn={x:We(mt)*kn.x-Pe(mt)*kn.y+(b+le)/2,y:Pe(mt)*kn.x+We(mt)*kn.y+(x+he)/2},vr={x:(Ut.x-kn.x)/nt,y:(Ut.y-kn.y)/at},or=fA({x:1,y:0},vr),Or={x:(-Ut.x-kn.x)/nt,y:(-Ut.y-kn.y)/at},qr=fA(vr,Or);!oe&&qr>0?qr-=2*qe:oe&&qr<0&&(qr+=2*qe),qr%=2*qe;var wr=or+qr*ge,Sr=nt*We(wr),Tr=at*Pe(wr),ri={x:We(mt)*Sr-Pe(mt)*Tr+Vn.x,y:Pe(mt)*Sr+We(mt)*Tr+Vn.y};return ri}function Dl(b,x,E,z,te,re,oe,le,he,ge,Ae){var Pe,We=Ae.bbox,Xe=We===void 0?!0:We,qe=Ae.length,nt=qe===void 0?!0:qe,at=Ae.sampleSize,pt=at===void 0?30:at,mt=typeof ge=="number",bt=b,jt=x,Ut=0,Kt=[bt,jt,Ut],Qt=[bt,jt],Vt=0,vn={x:0,y:0},wn=[{x:bt,y:jt}];mt&&ge<=0&&(vn={x:bt,y:jt});for(var kn=0;kn<=pt;kn+=1){if(Vt=kn/pt,Pe=Ew(b,x,E,z,te,re,oe,le,he,Vt),bt=Pe.x,jt=Pe.y,Xe&&wn.push({x:bt,y:jt}),nt&&(Ut+=bg(Qt,[bt,jt])),Qt=[bt,jt],mt&&Ut>=ge&&ge>Kt[2]){var Vn=(Ut-ge)/(Ut-Kt[2]);vn={x:Qt[0]*(1-Vn)+Kt[0]*Vn,y:Qt[1]*(1-Vn)+Kt[1]*Vn}}Kt=[bt,jt,Ut]}return mt&&ge>=Ut&&(vn={x:le,y:he}),{length:Ut,point:vn,min:{x:Math.min.apply(null,wn.map(function(vr){return vr.x})),y:Math.min.apply(null,wn.map(function(vr){return vr.y}))},max:{x:Math.max.apply(null,wn.map(function(vr){return vr.x})),y:Math.max.apply(null,wn.map(function(vr){return vr.y}))}}}function pp(b,x,E,z,te,re,oe,le,he){var ge=1-he;return{x:Math.pow(ge,3)*b+3*Math.pow(ge,2)*he*E+3*ge*Math.pow(he,2)*te+Math.pow(he,3)*oe,y:Math.pow(ge,3)*x+3*Math.pow(ge,2)*he*z+3*ge*Math.pow(he,2)*re+Math.pow(he,3)*le}}function Aw(b,x,E,z,te,re,oe,le,he,ge){var Ae,Pe=ge.bbox,We=Pe===void 0?!0:Pe,Xe=ge.length,qe=Xe===void 0?!0:Xe,nt=ge.sampleSize,at=nt===void 0?10:nt,pt=typeof he=="number",mt=b,bt=x,jt=0,Ut=[mt,bt,jt],Kt=[mt,bt],Qt=0,Vt={x:0,y:0},vn=[{x:mt,y:bt}];pt&&he<=0&&(Vt={x:mt,y:bt});for(var wn=0;wn<=at;wn+=1){if(Qt=wn/at,Ae=pp(b,x,E,z,te,re,oe,le,Qt),mt=Ae.x,bt=Ae.y,We&&vn.push({x:mt,y:bt}),qe&&(jt+=bg(Kt,[mt,bt])),Kt=[mt,bt],pt&&jt>=he&&he>Ut[2]){var kn=(jt-he)/(jt-Ut[2]);Vt={x:Kt[0]*(1-kn)+Ut[0]*kn,y:Kt[1]*(1-kn)+Ut[1]*kn}}Ut=[mt,bt,jt]}return pt&&he>=jt&&(Vt={x:oe,y:le}),{length:jt,point:Vt,min:{x:Math.min.apply(null,vn.map(function(Vn){return Vn.x})),y:Math.min.apply(null,vn.map(function(Vn){return Vn.y}))},max:{x:Math.max.apply(null,vn.map(function(Vn){return Vn.x})),y:Math.max.apply(null,vn.map(function(Vn){return Vn.y}))}}}function jx(b,x,E,z,te,re,oe){var le=1-oe;return{x:Math.pow(le,2)*b+2*le*oe*E+Math.pow(oe,2)*te,y:Math.pow(le,2)*x+2*le*oe*z+Math.pow(oe,2)*re}}function Sw(b,x,E,z,te,re,oe,le){var he,ge=le.bbox,Ae=ge===void 0?!0:ge,Pe=le.length,We=Pe===void 0?!0:Pe,Xe=le.sampleSize,qe=Xe===void 0?10:Xe,nt=typeof oe=="number",at=b,pt=x,mt=0,bt=[at,pt,mt],jt=[at,pt],Ut=0,Kt={x:0,y:0},Qt=[{x:at,y:pt}];nt&&oe<=0&&(Kt={x:at,y:pt});for(var Vt=0;Vt<=qe;Vt+=1){if(Ut=Vt/qe,he=jx(b,x,E,z,te,re,Ut),at=he.x,pt=he.y,Ae&&Qt.push({x:at,y:pt}),We&&(mt+=bg(jt,[at,pt])),jt=[at,pt],nt&&mt>=oe&&oe>bt[2]){var vn=(mt-oe)/(mt-bt[2]);Kt={x:jt[0]*(1-vn)+bt[0]*vn,y:jt[1]*(1-vn)+bt[1]*vn}}bt=[at,pt,mt]}return nt&&oe>=mt&&(Kt={x:te,y:re}),{length:mt,point:Kt,min:{x:Math.min.apply(null,Qt.map(function(wn){return wn.x})),y:Math.min.apply(null,Qt.map(function(wn){return wn.y}))},max:{x:Math.max.apply(null,Qt.map(function(wn){return wn.x})),y:Math.max.apply(null,Qt.map(function(wn){return wn.y}))}}}function gy(b,x,E){for(var z,te,re,oe,le,he,ge=zx(b),Ae=typeof x=="number",Pe,We=[],Xe,qe=0,nt=0,at=0,pt=0,mt,bt=[],jt=[],Ut=0,Kt={x:0,y:0},Qt=Kt,Vt=Kt,vn=Kt,wn=0,kn=0,Vn=ge.length;kn<Vn;kn+=1)mt=ge[kn],Xe=mt[0],Pe=Xe==="M",We=Pe?We:[qe,nt].concat(mt.slice(1)),Pe?(at=mt[1],pt=mt[2],Kt={x:at,y:pt},Qt=Kt,Ut=0,Ae&&x<.001&&(vn=Kt)):Xe==="L"?(z=Xg(We[0],We[1],We[2],We[3],(x||0)-wn),Ut=z.length,Kt=z.min,Qt=z.max,Vt=z.point):Xe==="A"?(te=Dl(We[0],We[1],We[2],We[3],We[4],We[5],We[6],We[7],We[8],(x||0)-wn,E||{}),Ut=te.length,Kt=te.min,Qt=te.max,Vt=te.point):Xe==="C"?(re=Aw(We[0],We[1],We[2],We[3],We[4],We[5],We[6],We[7],(x||0)-wn,E||{}),Ut=re.length,Kt=re.min,Qt=re.max,Vt=re.point):Xe==="Q"?(oe=Sw(We[0],We[1],We[2],We[3],We[4],We[5],(x||0)-wn,E||{}),Ut=oe.length,Kt=oe.min,Qt=oe.max,Vt=oe.point):Xe==="Z"&&(We=[qe,nt,at,pt],le=Xg(We[0],We[1],We[2],We[3],(x||0)-wn),Ut=le.length,Kt=le.min,Qt=le.max,Vt=le.point),Ae&&wn<x&&wn+Ut>=x&&(vn=Vt),jt.push(Qt),bt.push(Kt),wn+=Ut,he=Xe!=="Z"?mt.slice(-2):[at,pt],qe=he[0],nt=he[1];return Ae&&x>=wn&&(vn={x:qe,y:nt}),{length:wn,point:vn,min:{x:Math.min.apply(null,bt.map(function(vr){return vr.x})),y:Math.min.apply(null,bt.map(function(vr){return vr.y}))},max:{x:Math.max.apply(null,jt.map(function(vr){return vr.x})),y:Math.max.apply(null,jt.map(function(vr){return vr.y}))}}}function Pg(b,x){return gy(b,void 0,(0,Cn.pi)((0,Cn.pi)({},x),{bbox:!1,length:!0})).length}function Df(b){return Array.isArray(b)}var Wx=function(b){if(Df(b))return b.reduce(function(x,E){return Math.min(x,E)},b[0])};function Ux(b){if(!Array.isArray(b))return-1/0;var x=b.length;if(!x)return-1/0;for(var E=b[0],z=1;z<x;z++)E=Math.max(E,b[z]);return E}var gA=1e-5;function wm(b,x,E){return E===void 0&&(E=gA),b===x||Math.abs(b-x)<E}var ww=function(b,x){return(b%x+x)%x},Cw=ww;function bw(b,x,E){if(b[E].length>7){b[E].shift();for(var z=b[E],te=E;z.length;)x[E]="A",b.splice(te+=1,0,["C"].concat(z.splice(0,6)));b.splice(E,1)}}function W2(b){return tg(b)&&b.every(function(x){var E=x[0];return"MC".includes(E)})}function b1(b,x,E){var z=b*Math.cos(E)-x*Math.sin(E),te=b*Math.sin(E)+x*Math.cos(E);return{x:z,y:te}}function P1(b,x,E,z,te,re,oe,le,he,ge){var Ae=b,Pe=x,We=E,Xe=z,qe=le,nt=he,at=Math.PI*120/180,pt=Math.PI/180*(+te||0),mt=[],bt,jt,Ut,Kt,Qt;if(ge)jt=ge[0],Ut=ge[1],Kt=ge[2],Qt=ge[3];else{bt=b1(Ae,Pe,-pt),Ae=bt.x,Pe=bt.y,bt=b1(qe,nt,-pt),qe=bt.x,nt=bt.y;var Vt=(Ae-qe)/2,vn=(Pe-nt)/2,wn=Vt*Vt/(We*We)+vn*vn/(Xe*Xe);wn>1&&(wn=Math.sqrt(wn),We*=wn,Xe*=wn);var kn=We*We,Vn=Xe*Xe,vr=(re===oe?-1:1)*Math.sqrt(Math.abs((kn*Vn-kn*vn*vn-Vn*Vt*Vt)/(kn*vn*vn+Vn*Vt*Vt)));Kt=vr*We*vn/Xe+(Ae+qe)/2,Qt=vr*-Xe*Vt/We+(Pe+nt)/2,jt=Math.asin(((Pe-Qt)/Xe*Math.pow(10,9)>>0)/Math.pow(10,9)),Ut=Math.asin(((nt-Qt)/Xe*Math.pow(10,9)>>0)/Math.pow(10,9)),jt=Ae<Kt?Math.PI-jt:jt,Ut=qe<Kt?Math.PI-Ut:Ut,jt<0&&(jt=Math.PI*2+jt),Ut<0&&(Ut=Math.PI*2+Ut),oe&&jt>Ut&&(jt-=Math.PI*2),!oe&&Ut>jt&&(Ut-=Math.PI*2)}var or=Ut-jt;if(Math.abs(or)>at){var Or=Ut,qr=qe,wr=nt;Ut=jt+at*(oe&&Ut>jt?1:-1),qe=Kt+We*Math.cos(Ut),nt=Qt+Xe*Math.sin(Ut),mt=P1(qe,nt,We,Xe,te,0,oe,qr,wr,[Ut,Or,Kt,Qt])}or=Ut-jt;var Sr=Math.cos(jt),Tr=Math.sin(jt),ri=Math.cos(Ut),Cr=Math.sin(Ut),yi=Math.tan(or/4),Co=4/3*We*yi,wo=4/3*Xe*yi,vi=[Ae,Pe],Mi=[Ae+Co*Tr,Pe-wo*Sr],$i=[qe+Co*Cr,nt-wo*ri],Lo=[qe,nt];if(Mi[0]=2*vi[0]-Mi[0],Mi[1]=2*vi[1]-Mi[1],ge)return Mi.concat($i,Lo,mt);mt=Mi.concat($i,Lo,mt);for(var Jo=[],Ta=0,Bs=mt.length;Ta<Bs;Ta+=1)Jo[Ta]=Ta%2?b1(mt[Ta-1],mt[Ta],pt).y:b1(mt[Ta],mt[Ta+1],pt).x;return Jo}function Gx(b,x,E,z,te,re){var oe=.3333333333333333,le=2/3;return[oe*b+le*E,oe*x+le*z,oe*te+le*E,oe*re+le*z,te,re]}var Pw=function(b,x,E,z){var te=.5,re=Iv([b,x],[E,z],te);return(0,Cn.ev)((0,Cn.ev)([],re,!0),[E,z,E,z],!1)};function OT(b,x){var E=b[0],z=b.slice(1).map(Number),te=z[0],re=z[1],oe,le=x.x1,he=x.y1,ge=x.x,Ae=x.y;switch("TQ".includes(E)||(x.qx=null,x.qy=null),E){case"M":return x.x=te,x.y=re,b;case"A":return oe=[le,he].concat(z),["C"].concat(P1(oe[0],oe[1],oe[2],oe[3],oe[4],oe[5],oe[6],oe[7],oe[8],oe[9]));case"Q":return x.qx=te,x.qy=re,oe=[le,he].concat(z),["C"].concat(Gx(oe[0],oe[1],oe[2],oe[3],oe[4],oe[5]));case"L":return["C"].concat(Pw(le,he,te,re));case"Z":return le===ge&&he===Ae?["C",le,he,ge,Ae,ge,Ae]:["C"].concat(Pw(le,he,ge,Ae));default:}return b}function Hx(b,x){if(x===void 0&&(x=!1),W2(b)){var E=[].concat(b);return x?[E,[]]:E}for(var z=zx(b),te=(0,Cn.pi)({},Np),re=[],oe="",le=z.length,he,ge,Ae=[],Pe=0;Pe<le;Pe+=1){z[Pe]&&(oe=z[Pe][0]),re[Pe]=oe;var We=OT(z[Pe],te);z[Pe]=We,bw(z,re,Pe),le=z.length,oe==="Z"&&Ae.push(Pe),he=z[Pe],ge=he.length,te.x1=+he[ge-2],te.y1=+he[ge-1],te.x2=+he[ge-4]||te.x1,te.y2=+he[ge-3]||te.y1}return x?[z,Ae]:z}function U2(b,x){x===void 0&&(x=.5);var E=b.slice(0,2),z=b.slice(2,4),te=b.slice(4,6),re=b.slice(6,8),oe=Iv(E,z,x),le=Iv(z,te,x),he=Iv(te,re,x),ge=Iv(oe,le,x),Ae=Iv(le,he,x),Pe=Iv(ge,Ae,x);return[["C"].concat(oe,ge,Pe),["C"].concat(Ae,he,re)]}function Vx(b){return b.map(function(x,E,z){var te=E&&z[E-1].slice(-2).concat(x.slice(1)),re=E?Aw(te[0],te[1],te[2],te[3],te[4],te[5],te[6],te[7],te[8],{bbox:!1}).length:0,oe;return E?oe=re?U2(te):[x,x]:oe=[x],{s:x,ss:oe,l:re}})}function pA(b,x,E){var z=Vx(b),te=Vx(x),re=z.length,oe=te.length,le=z.filter(function(at){return at.l}).length,he=te.filter(function(at){return at.l}).length,ge=z.filter(function(at){return at.l}).reduce(function(at,pt){var mt=pt.l;return at+mt},0)/le||0,Ae=te.filter(function(at){return at.l}).reduce(function(at,pt){var mt=pt.l;return at+mt},0)/he||0,Pe=E||Math.max(re,oe),We=[ge,Ae],Xe=[Pe-re,Pe-oe],qe=0,nt=[z,te].map(function(at,pt){return at.l===Pe?at.map(function(mt){return mt.s}):at.map(function(mt,bt){return qe=bt&&Xe[pt]&&mt.l>=We[pt],Xe[pt]-=qe?1:0,qe?mt.ss:[mt.s]}).flat()});return nt[0].length===nt[1].length?nt:pA(nt[0],nt[1],Pe)}function Kx(b,x,E,z,te,re,oe,le){return 3*((le-x)*(E+te)-(oe-b)*(z+re)+z*(b-te)-E*(x-re)+le*(te+b/3)-oe*(re+x/3))/20}function G2(b){var x=0,E=0,z=0;return Hx(b).map(function(te){var re;switch(te[0]){case"M":return x=te[1],E=te[2],0;default:var oe=te.slice(1),le=oe[0],he=oe[1],ge=oe[2],Ae=oe[3],Pe=oe[4],We=oe[5];return z=Kx(x,E,le,he,ge,Ae,Pe,We),re=te.slice(-2),x=re[0],E=re[1],z}}).reduce(function(te,re){return te+re},0)}function $h(b){return G2(b)>=0}function vA(b){var x=b.slice(1).map(function(E,z,te){return z?te[z-1].slice(-2).concat(E.slice(1)):b[0].slice(1).concat(E.slice(1))}).map(function(E){return E.map(function(z,te){return E[E.length-te-2*(1-te%2)]})}).reverse();return[["M"].concat(x[0].slice(0,2))].concat(x.map(function(E){return["C"].concat(E.slice(2))}))}function Mw(b){return b.map(function(x){return Array.isArray(x)?[].concat(x):x})}function Bp(b){var x=b.length,E=x-1;return b.map(function(z,te){return b.map(function(re,oe){var le=te+oe,he;return oe===0||b[le]&&b[le][0]==="M"?(he=b[le],["M"].concat(he.slice(-2))):(le>=x&&(le-=E),b[le])})})}function hd(b,x){var E=b.length-1,z=[],te=0,re=0,oe=Bp(b);return oe.forEach(function(le,he){b.slice(1).forEach(function(ge,Ae){re+=bg(b[(he+Ae)%E].slice(-2),x[Ae%E].slice(-2))}),z[he]=re,re=0}),te=z.indexOf(Math.min.apply(null,z)),oe[te]}var M1=function(b){return b===void 0},Fl=M1,H2={}.toString,mA=function(b,x){return H2.call(b)==="[object "+x+"]"},V2=mA,K2=function(b){return V2(b,"Boolean")},Zx=K2;function Ys(b){return typeof b=="function"}var lh=function(b){var x=typeof b;return b!==null&&x==="object"||x==="function"};function L1(b,x,E){return gy(b,x,(0,Cn.pi)((0,Cn.pi)({},E),{bbox:!1,length:!0})).point}var Rs=Oe(80962);function Z0(b,x){for(;!{}.hasOwnProperty.call(b,x)&&(b=(0,Xl.Z)(b))!==null;);return b}function T1(){return T1=typeof Reflect!="undefined"&&Reflect.get?Reflect.get.bind():function(b,x,E){var z=Z0(b,x);if(z){var te=Object.getOwnPropertyDescriptor(z,x);return te.get?te.get.call(arguments.length<3?b:E):te.value}},T1.apply(null,arguments)}function Z2(b,x,E,z){var te=T1((0,Xl.Z)(1&z?b.prototype:b),x,E);return 2&z&&typeof te=="function"?function(re){return te.apply(E,re)}:te}function yA(b,x,E){b.prototype=x.prototype=E,E.constructor=b}function Yx(b,x){var E=Object.create(b.prototype);for(var z in x)E[z]=x[z];return E}function _c(){}var py=.7,_o=1/py,uh="\\s*([+-]?\\d+)\\s*",vy="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Y0="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",xA=/^#([0-9a-f]{3,8})$/,Y2=new RegExp(`^rgb\\(${uh},${uh},${uh}\\)$`),X0=new RegExp(`^rgb\\(${Y0},${Y0},${Y0}\\)$`),X2=new RegExp(`^rgba\\(${uh},${uh},${uh},${vy}\\)$`),Cm=new RegExp(`^rgba\\(${Y0},${Y0},${Y0},${vy}\\)$`),Q2=new RegExp(`^hsl\\(${vy},${Y0},${Y0}\\)$`),J2=new RegExp(`^hsla\\(${vy},${Y0},${Y0},${vy}\\)$`),Lw={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};yA(_c,D1,{copy(b){return Object.assign(new this.constructor,this,b)},displayable(){return this.rgb().displayable()},hex:Tw,formatHex:Tw,formatHex8:q2,formatHsl:Dw,formatRgb:Q0,toString:Q0});function Tw(){return this.rgb().formatHex()}function q2(){return this.rgb().formatHex8()}function Dw(){return c0(this).formatHsl()}function Q0(){return this.rgb().formatRgb()}function D1(b){var x,E;return b=(b+"").trim().toLowerCase(),(x=xA.exec(b))?(E=x[1].length,x=parseInt(x[1],16),E===6?EA(x):E===3?new Mg(x>>8&15|x>>4&240,x>>4&15|x&240,(x&15)<<4|x&15,1):E===8?Rp(x>>24&255,x>>16&255,x>>8&255,(x&255)/255):E===4?Rp(x>>12&15|x>>8&240,x>>8&15|x>>4&240,x>>4&15|x&240,((x&15)<<4|x&15)/255):null):(x=Y2.exec(b))?new Mg(x[1],x[2],x[3],1):(x=X0.exec(b))?new Mg(x[1]*255/100,x[2]*255/100,x[3]*255/100,1):(x=X2.exec(b))?Rp(x[1],x[2],x[3],x[4]):(x=Cm.exec(b))?Rp(x[1]*255/100,x[2]*255/100,x[3]*255/100,x[4]):(x=Q2.exec(b))?Yi(x[1],x[2]/100,x[3]/100,1):(x=J2.exec(b))?Yi(x[1],x[2]/100,x[3]/100,x[4]):Lw.hasOwnProperty(b)?EA(Lw[b]):b==="transparent"?new Mg(NaN,NaN,NaN,0):null}function EA(b){return new Mg(b>>16&255,b>>8&255,b&255,1)}function Rp(b,x,E,z){return z<=0&&(b=x=E=NaN),new Mg(b,x,E,z)}function AA(b){return b instanceof _c||(b=D1(b)),b?(b=b.rgb(),new Mg(b.r,b.g,b.b,b.opacity)):new Mg}function Iw(b,x,E,z){return arguments.length===1?AA(b):new Mg(b,x,E,z==null?1:z)}function Mg(b,x,E,z){this.r=+b,this.g=+x,this.b=+E,this.opacity=+z}yA(Mg,Iw,Yx(_c,{brighter(b){return b=b==null?_o:Math.pow(_o,b),new Mg(this.r*b,this.g*b,this.b*b,this.opacity)},darker(b){return b=b==null?py:Math.pow(py,b),new Mg(this.r*b,this.g*b,this.b*b,this.opacity)},rgb(){return this},clamp(){return new Mg(Cs(this.r),Cs(this.g),Cs(this.b),Xx(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:SA,formatHex:SA,formatHex8:$2,formatRgb:J0,toString:J0}));function SA(){return`#${Ov(this.r)}${Ov(this.g)}${Ov(this.b)}`}function $2(){return`#${Ov(this.r)}${Ov(this.g)}${Ov(this.b)}${Ov((isNaN(this.opacity)?1:this.opacity)*255)}`}function J0(){const b=Xx(this.opacity);return`${b===1?"rgb(":"rgba("}${Cs(this.r)}, ${Cs(this.g)}, ${Cs(this.b)}${b===1?")":`, ${b})`}`}function Xx(b){return isNaN(b)?1:Math.max(0,Math.min(1,b))}function Cs(b){return Math.max(0,Math.min(255,Math.round(b)||0))}function Ov(b){return b=Cs(b),(b<16?"0":"")+b.toString(16)}function Yi(b,x,E,z){return z<=0?b=x=E=NaN:E<=0||E>=1?b=x=NaN:x<=0&&(b=NaN),new kp(b,x,E,z)}function c0(b){if(b instanceof kp)return new kp(b.h,b.s,b.l,b.opacity);if(b instanceof _c||(b=D1(b)),!b)return new kp;if(b instanceof kp)return b;b=b.rgb();var x=b.r/255,E=b.g/255,z=b.b/255,te=Math.min(x,E,z),re=Math.max(x,E,z),oe=NaN,le=re-te,he=(re+te)/2;return le?(x===re?oe=(E-z)/le+(E<z)*6:E===re?oe=(z-x)/le+2:oe=(x-E)/le+4,le/=he<.5?re+te:2-re-te,oe*=60):le=he>0&&he<1?0:oe,new kp(oe,le,he,b.opacity)}function Sb(b,x,E,z){return arguments.length===1?c0(b):new kp(b,x,E,z==null?1:z)}function kp(b,x,E,z){this.h=+b,this.s=+x,this.l=+E,this.opacity=+z}yA(kp,Sb,Yx(_c,{brighter(b){return b=b==null?_o:Math.pow(_o,b),new kp(this.h,this.s,this.l*b,this.opacity)},darker(b){return b=b==null?py:Math.pow(py,b),new kp(this.h,this.s,this.l*b,this.opacity)},rgb(){var b=this.h%360+(this.h<0)*360,x=isNaN(b)||isNaN(this.s)?0:this.s,E=this.l,z=E+(E<.5?E:1-E)*x,te=2*E-z;return new Mg(wA(b>=240?b-240:b+120,te,z),wA(b,te,z),wA(b<120?b+240:b-120,te,z),this.opacity)},clamp(){return new kp(Ow(this.h),ed(this.s),ed(this.l),Xx(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const b=Xx(this.opacity);return`${b===1?"hsl(":"hsla("}${Ow(this.h)}, ${ed(this.s)*100}%, ${ed(this.l)*100}%${b===1?")":`, ${b})`}`}}));function Ow(b){return b=(b||0)%360,b<0?b+360:b}function ed(b){return Math.max(0,Math.min(1,b||0))}function wA(b,x,E){return(b<60?x+(E-x)*b/60:b<180?E:b<240?x+(E-x)*(240-b)/60:x)*255}function Wd(b,x,E,z){var te=b-E,re=x-z;return Math.sqrt(te*te+re*re)}function my(b,x){var E=Math.min.apply(Math,(0,Cn.ev)([],(0,Cn.CR)(b),!1)),z=Math.min.apply(Math,(0,Cn.ev)([],(0,Cn.CR)(x),!1)),te=Math.max.apply(Math,(0,Cn.ev)([],(0,Cn.CR)(b),!1)),re=Math.max.apply(Math,(0,Cn.ev)([],(0,Cn.CR)(x),!1));return{x:E,y:z,width:te-E,height:re-z}}function I1(b){return(b+Math.PI*2)%(Math.PI*2)}function Nw(b,x){var E=Math.abs(b);return x>0?E:E*-1}function Pb(b,x,E,z,te,re){var oe=E,le=z;if(oe===0||le===0)return{x:b,y:x};for(var he=te-b,ge=re-x,Ae=Math.abs(he),Pe=Math.abs(ge),We=oe*oe,Xe=le*le,qe=Math.PI/4,nt=0,at=0,pt=0;pt<4;pt++){nt=oe*Math.cos(qe),at=le*Math.sin(qe);var mt=(We-Xe)*Math.pow(Math.cos(qe),3)/oe,bt=(Xe-We)*Math.pow(Math.sin(qe),3)/le,jt=nt-mt,Ut=at-bt,Kt=Ae-mt,Qt=Pe-bt,Vt=Math.hypot(Ut,jt),vn=Math.hypot(Qt,Kt),wn=Vt*Math.asin((jt*Qt-Ut*Kt)/(Vt*vn)),kn=wn/Math.sqrt(We+Xe-nt*nt-at*at);qe+=kn,qe=Math.min(Math.PI/2,Math.max(0,qe))}return{x:b+Nw(nt,he),y:x+Nw(at,ge)}}function Bw(b,x,E,z,te,re,oe,le){return-1*E*Math.cos(te)*Math.sin(le)-z*Math.sin(te)*Math.cos(le)}function Mb(b,x,E,z,te,re,oe,le){return-1*E*Math.sin(te)*Math.sin(le)+z*Math.cos(te)*Math.cos(le)}function Lb(b,x,E){return Math.atan(-x/b*Math.tan(E))}function Tb(b,x,E){return Math.atan(x/(b*Math.tan(E)))}function Ib(b,x,E,z,te,re){return E*Math.cos(te)*Math.cos(re)-z*Math.sin(te)*Math.sin(re)+b}function NT(b,x,E,z,te,re){return E*Math.sin(te)*Math.cos(re)+z*Math.cos(te)*Math.sin(re)+x}function CA(b,x,E,z){var te=Math.atan2(z*b,E*x);return(te+Math.PI*2)%(Math.PI*2)}function bA(b,x,E){return{x:b*Math.cos(E),y:x*Math.sin(E)}}function Ma(b,x,E){var z=Math.cos(E),te=Math.sin(E);return[b*z-x*te,b*te+x*z]}function Rw(b,x,E,z,te,re,oe){for(var le=Lb(E,z,te),he=1/0,ge=-1/0,Ae=[re,oe],Pe=-Math.PI*2;Pe<=Math.PI*2;Pe+=Math.PI){var We=le+Pe;re<oe?re<We&&We<oe&&Ae.push(We):oe<We&&We<re&&Ae.push(We)}for(var Pe=0;Pe<Ae.length;Pe++){var Xe=Ib(b,x,E,z,te,Ae[Pe]);Xe<he&&(he=Xe),Xe>ge&&(ge=Xe)}for(var qe=Tb(E,z,te),nt=1/0,at=-1/0,pt=[re,oe],Pe=-Math.PI*2;Pe<=Math.PI*2;Pe+=Math.PI){var mt=qe+Pe;re<oe?re<mt&&mt<oe&&pt.push(mt):oe<mt&&mt<re&&pt.push(mt)}for(var Pe=0;Pe<pt.length;Pe++){var bt=NT(b,x,E,z,te,pt[Pe]);bt<nt&&(nt=bt),bt>at&&(at=bt)}return{x:he,y:nt,width:ge-he,height:at-nt}}function Ob(b,x,E,z,te,re,oe,le,he){var ge=Ma(le-b,he-x,-te),Ae=__read(ge,2),Pe=Ae[0],We=Ae[1],Xe=Pb(0,0,E,z,Pe,We),qe=CA(E,z,Xe.x,Xe.y);qe<re?Xe=bA(E,z,re):qe>oe&&(Xe=bA(E,z,oe));var nt=Ma(Xe.x,Xe.y,te);return{x:nt[0]+b,y:nt[1]+x}}function BT(b,x,E,z,te,re,oe,le){var he=(oe-re)*le+re,ge=Bw(b,x,E,z,te,re,oe,he),Ae=Mb(b,x,E,z,te,re,oe,he);return I1(Math.atan2(Ae,ge))}var Nb=1e-4;function zh(b,x,E,z,te,re){var oe=-1,le=1/0,he=[E,z],ge=20;re&&re>200&&(ge=re/10);for(var Ae=1/ge,Pe=Ae/10,We=0;We<=ge;We++){var Xe=We*Ae,qe=[te.apply(void 0,(0,Cn.ev)([],(0,Cn.CR)(b.concat([Xe])),!1)),te.apply(void 0,(0,Cn.ev)([],(0,Cn.CR)(x.concat([Xe])),!1))],nt=Wd(he[0],he[1],qe[0],qe[1]);nt<le&&(oe=Xe,le=nt)}if(oe===0)return{x:b[0],y:x[0]};if(oe===1){var at=b.length;return{x:b[at-1],y:x[at-1]}}le=1/0;for(var We=0;We<32&&!(Pe<Nb);We++){var pt=oe-Pe,mt=oe+Pe,qe=[te.apply(void 0,(0,Cn.ev)([],(0,Cn.CR)(b.concat([pt])),!1)),te.apply(void 0,(0,Cn.ev)([],(0,Cn.CR)(x.concat([pt])),!1))],nt=Wd(he[0],he[1],qe[0],qe[1]);if(pt>=0&&nt<le)oe=pt,le=nt;else{var bt=[te.apply(void 0,(0,Cn.ev)([],(0,Cn.CR)(b.concat([mt])),!1)),te.apply(void 0,(0,Cn.ev)([],(0,Cn.CR)(x.concat([mt])),!1))],jt=Wd(he[0],he[1],bt[0],bt[1]);mt<=1&&jt<le?(oe=mt,le=jt):Pe*=.5}}return{x:te.apply(void 0,(0,Cn.ev)([],(0,Cn.CR)(b.concat([oe])),!1)),y:te.apply(void 0,(0,Cn.ev)([],(0,Cn.CR)(x.concat([oe])),!1))}}function Oi(b,x){for(var E=0,z=b.length,te=0;te<z;te++){var re=b[te],oe=x[te],le=b[(te+1)%z],he=x[(te+1)%z];E+=Wd(re,oe,le,he)}return E/2}function Qx(b,x,E,z){return my([b,E],[x,z])}function kw(b,x,E,z){return Wd(b,x,E,z)}function Ud(b,x,E,z,te){return{x:(1-te)*b+te*E,y:(1-te)*x+te*z}}function PA(b,x,E,z,te,re){var oe=(E-b)*(te-b)+(z-x)*(re-x);if(oe<0)return Wd(b,x,te,re);var le=(E-b)*(E-b)+(z-x)*(z-x);return oe>le?Wd(E,z,te,re):MA(b,x,E,z,te,re)}function MA(b,x,E,z,te,re){var oe=[E-b,z-x];if(K0(oe,[0,0]))return Math.sqrt((te-b)*(te-b)+(re-x)*(re-x));var le=[-oe[1],oe[0]];bi(le,le);var he=[te-b,re-x];return Math.abs(fw(he,le))}function Fw(b,x,E,z){return Math.atan2(z-x,E-b)}function Fp(b,x,E,z,te){var re=1-te;return re*re*re*b+3*x*te*re*re+3*E*te*te*re+z*te*te*te}function Jx(b,x,E,z,te){var re=1-te;return 3*(re*re*(x-b)+2*re*te*(E-x)+te*te*(z-E))}function LA(b,x,E,z){var te=-3*b+9*x-9*E+3*z,re=6*b-12*x+6*E,oe=3*x-3*b,le=[],he,ge,Ae;if(wm(te,0))wm(re,0)||(he=-oe/re,he>=0&&he<=1&&le.push(he));else{var Pe=re*re-4*te*oe;wm(Pe,0)?le.push(-re/(2*te)):Pe>0&&(Ae=Math.sqrt(Pe),he=(-re+Ae)/(2*te),ge=(-re-Ae)/(2*te),he>=0&&he<=1&&le.push(he),ge>=0&&ge<=1&&le.push(ge))}return le}function _w(b,x,E,z,te,re,oe,le,he){var ge=Fp(b,E,te,oe,he),Ae=Fp(x,z,re,le,he),Pe=Ud(b,x,E,z,he),We=Ud(E,z,te,re,he),Xe=Ud(te,re,oe,le,he),qe=Ud(Pe.x,Pe.y,We.x,We.y,he),nt=Ud(We.x,We.y,Xe.x,Xe.y,he);return[[b,x,Pe.x,Pe.y,qe.x,qe.y,ge,Ae],[ge,Ae,nt.x,nt.y,Xe.x,Xe.y,oe,le]]}function O1(b,x,E,z,te,re,oe,le,he){if(he===0)return Oi([b,E,te,oe],[x,z,re,le]);var ge=_w(b,x,E,z,te,re,oe,le,.5),Ae=__spreadArray(__spreadArray([],__read(ge[0]),!1),[he-1],!1),Pe=__spreadArray(__spreadArray([],__read(ge[1]),!1),[he-1],!1);return O1.apply(void 0,__spreadArray([],__read(Ae),!1))+O1.apply(void 0,__spreadArray([],__read(Pe),!1))}function yy(b,x,E,z,te,re,oe,le){for(var he=[b,oe],ge=[x,le],Ae=LA(b,E,te,oe),Pe=LA(x,z,re,le),We=0;We<Ae.length;We++)he.push(Fp(b,E,te,oe,Ae[We]));for(var We=0;We<Pe.length;We++)ge.push(Fp(x,z,re,le,Pe[We]));return my(he,ge)}function Rb(b,x,E,z,te,re,oe,le){return O1(b,x,E,z,te,re,oe,le,3)}function xy(b,x,E,z,te,re,oe,le,he,ge,Ae){return zh([b,E,te,oe],[x,z,re,le],he,ge,Fp,Ae)}function _b(b,x,E,z,te,re,oe,le,he,ge,Ae){var Pe=xy(b,x,E,z,te,re,oe,le,he,ge,Ae);return Wd(Pe.x,Pe.y,he,ge)}function II(b,x,E,z,te,re,oe,le,he){return{x:Fp(b,E,te,oe,he),y:Fp(x,z,re,le,he)}}function Ey(b,x,E,z,te,re,oe,le,he){var ge=Jx(b,E,te,oe,he),Ae=Jx(x,z,re,le,he);return I1(Math.atan2(Ae,ge))}function qx(b){for(var x=0,E=[],z=0;z<b.length-1;z++){var te=b[z],re=b[z+1],oe=Wd(te[0],te[1],re[0],re[1]),le={from:te,to:re,length:oe};E.push(le),x+=oe}return{segments:E,totalLength:x}}function zw(b){if(b.length<2)return 0;for(var x=0,E=0;E<b.length-1;E++){var z=b[E],te=b[E+1];x+=Wd(z[0],z[1],te[0],te[1])}return x}function N1(b,x){if(x>1||x<0||b.length<2)return null;var E=qx(b),z=E.segments,te=E.totalLength;if(te===0)return{x:b[0][0],y:b[0][1]};for(var re=0,oe=null,le=0;le<z.length;le++){var he=z[le],ge=he.from,Ae=he.to,Pe=he.length/te;if(x>=re&&x<=re+Pe){var We=(x-re)/Pe;oe=Ud(ge[0],ge[1],Ae[0],Ae[1],We);break}re+=Pe}return oe}function B1(b,x){if(x>1||x<0||b.length<2)return 0;for(var E=qx(b),z=E.segments,te=E.totalLength,re=0,oe=0,le=0;le<z.length;le++){var he=z[le],ge=he.from,Ae=he.to,Pe=he.length/te;if(x>=re&&x<=re+Pe){oe=Math.atan2(Ae[1]-ge[1],Ae[0]-ge[0]);break}re+=Pe}return oe}function bm(b,x,E){for(var z=1/0,te=0;te<b.length-1;te++){var re=b[te],oe=b[te+1],le=PA(re[0],re[1],oe[0],oe[1],x,E);le<z&&(z=le)}return z}function Ay(b){for(var x=[],E=[],z=0;z<b.length;z++){var te=b[z];x.push(te[0]),E.push(te[1])}return my(x,E)}function jw(b){return zw(b)}function OI(b,x){return N1(b,x)}function NI(b,x,E){return bm(b,x,E)}function RT(b,x){return B1(b,x)}function wh(b){var x=b.slice(0);return b.length&&x.push(b[0]),x}function If(b){return Ay(b)}function Nv(b){return zw(wh(b))}function $x(b,x){return N1(wh(b),x)}function TA(b,x,E){return bm(wh(b),x,E)}function Ww(b,x){return B1(wh(b),x)}function Pm(b,x,E,z){var te=1-z;return te*te*b+2*z*te*x+z*z*E}function R1(b,x,E){var z=b+E-2*x;if(wm(z,0))return[.5];var te=(b-x)/z;return te<=1&&te>=0?[te]:[]}function eE(b,x,E,z,te,re,oe){var le=Pm(b,E,te,oe),he=Pm(x,z,re,oe),ge=Ud(b,x,E,z,oe),Ae=Ud(E,z,te,re,oe);return[[b,x,ge.x,ge.y,le,he],[le,he,Ae.x,Ae.y,te,re]]}function Sy(b,x,E,z,te,re,oe){if(oe===0)return(Wd(b,x,E,z)+Wd(E,z,te,re)+Wd(b,x,te,re))/2;var le=eE(b,x,E,z,te,re,.5),he=le[0],ge=le[1];return he.push(oe-1),ge.push(oe-1),Sy.apply(void 0,__spreadArray([],__read(he),!1))+Sy.apply(void 0,__spreadArray([],__read(ge),!1))}function Uw(b,x,E,z,te,re){var oe=R1(b,E,te)[0],le=R1(x,z,re)[0],he=[b,te],ge=[x,re];return oe!==void 0&&he.push(Pm(b,E,te,oe)),le!==void 0&&ge.push(Pm(x,z,re,le)),my(he,ge)}function Gw(b,x,E,z,te,re){return Sy(b,x,E,z,te,re,3)}function tE(b,x,E,z,te,re,oe,le){return zh([b,E,te],[x,z,re],oe,le,Pm)}function nE(b,x,E,z,te,re,oe,le){var he=tE(b,x,E,z,te,re,oe,le);return Wd(he.x,he.y,oe,le)}var Gd=Oe(50204),Bv=Oe(20959),Wb=Oe(36541);function h0(b,x){var E=typeof Symbol!="undefined"&&b[Symbol.iterator]||b["@@iterator"];if(!E){if(Array.isArray(b)||(E=(0,Wb.Z)(b))||x&&b&&typeof b.length=="number"){E&&(b=E);var z=0,te=function(){};return{s:te,n:function(){return z>=b.length?{done:!0}:{done:!1,value:b[z++]}},e:function(ge){throw ge},f:te}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var re,oe=!0,le=!1;return{s:function(){E=E.call(b)},n:function(){var ge=E.next();return oe=ge.done,ge},e:function(ge){le=!0,re=ge},f:function(){try{oe||E.return==null||E.return()}finally{if(le)throw re}}}}var q0=Oe(19149);var rE=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof Oe.g!="undefined"?Oe.g:typeof self!="undefined"?self:{},wy={exports:{}};(function(b,x){(function(E,z){b.exports=z()})(rE,function(){function E(Ut,Kt,Qt,Vt,vn){z(Ut,Kt,Qt||0,Vt||Ut.length-1,vn||re)}function z(Ut,Kt,Qt,Vt,vn){for(;Vt>Qt;){if(Vt-Qt>600){var wn=Vt-Qt+1,kn=Kt-Qt+1,Vn=Math.log(wn),vr=.5*Math.exp(2*Vn/3),or=.5*Math.sqrt(Vn*vr*(wn-vr)/wn)*(kn-wn/2<0?-1:1),Or=Math.max(Qt,Math.floor(Kt-kn*vr/wn+or)),qr=Math.min(Vt,Math.floor(Kt+(wn-kn)*vr/wn+or));z(Ut,Kt,Or,qr,vn)}var wr=Ut[Kt],Sr=Qt,Tr=Vt;for(te(Ut,Qt,Kt),vn(Ut[Vt],wr)>0&&te(Ut,Qt,Vt);Sr<Tr;){for(te(Ut,Sr,Tr),Sr++,Tr--;vn(Ut[Sr],wr)<0;)Sr++;for(;vn(Ut[Tr],wr)>0;)Tr--}vn(Ut[Qt],wr)===0?te(Ut,Qt,Tr):(Tr++,te(Ut,Tr,Vt)),Tr<=Kt&&(Qt=Tr+1),Kt<=Tr&&(Vt=Tr-1)}}function te(Ut,Kt,Qt){var Vt=Ut[Kt];Ut[Kt]=Ut[Qt],Ut[Qt]=Vt}function re(Ut,Kt){return Ut<Kt?-1:Ut>Kt?1:0}var oe=function(Kt){Kt===void 0&&(Kt=9),this._maxEntries=Math.max(4,Kt),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),this.clear()};oe.prototype.all=function(){return this._all(this.data,[])},oe.prototype.search=function(Kt){var Qt=this.data,Vt=[];if(!mt(Kt,Qt))return Vt;for(var vn=this.toBBox,wn=[];Qt;){for(var kn=0;kn<Qt.children.length;kn++){var Vn=Qt.children[kn],vr=Qt.leaf?vn(Vn):Vn;mt(Kt,vr)&&(Qt.leaf?Vt.push(Vn):pt(Kt,vr)?this._all(Vn,Vt):wn.push(Vn))}Qt=wn.pop()}return Vt},oe.prototype.collides=function(Kt){var Qt=this.data;if(!mt(Kt,Qt))return!1;for(var Vt=[];Qt;){for(var vn=0;vn<Qt.children.length;vn++){var wn=Qt.children[vn],kn=Qt.leaf?this.toBBox(wn):wn;if(mt(Kt,kn)){if(Qt.leaf||pt(Kt,kn))return!0;Vt.push(wn)}}Qt=Vt.pop()}return!1},oe.prototype.load=function(Kt){if(!(Kt&&Kt.length))return this;if(Kt.length<this._minEntries){for(var Qt=0;Qt<Kt.length;Qt++)this.insert(Kt[Qt]);return this}var Vt=this._build(Kt.slice(),0,Kt.length-1,0);if(!this.data.children.length)this.data=Vt;else if(this.data.height===Vt.height)this._splitRoot(this.data,Vt);else{if(this.data.height<Vt.height){var vn=this.data;this.data=Vt,Vt=vn}this._insert(Vt,this.data.height-Vt.height-1,!0)}return this},oe.prototype.insert=function(Kt){return Kt&&this._insert(Kt,this.data.height-1),this},oe.prototype.clear=function(){return this.data=bt([]),this},oe.prototype.remove=function(Kt,Qt){if(!Kt)return this;for(var Vt=this.data,vn=this.toBBox(Kt),wn=[],kn=[],Vn,vr,or;Vt||wn.length;){if(Vt||(Vt=wn.pop(),vr=wn[wn.length-1],Vn=kn.pop(),or=!0),Vt.leaf){var Or=le(Kt,Vt.children,Qt);if(Or!==-1)return Vt.children.splice(Or,1),wn.push(Vt),this._condense(wn),this}!or&&!Vt.leaf&&pt(Vt,vn)?(wn.push(Vt),kn.push(Vn),Vn=0,vr=Vt,Vt=Vt.children[0]):vr?(Vn++,Vt=vr.children[Vn],or=!1):Vt=null}return this},oe.prototype.toBBox=function(Kt){return Kt},oe.prototype.compareMinX=function(Kt,Qt){return Kt.minX-Qt.minX},oe.prototype.compareMinY=function(Kt,Qt){return Kt.minY-Qt.minY},oe.prototype.toJSON=function(){return this.data},oe.prototype.fromJSON=function(Kt){return this.data=Kt,this},oe.prototype._all=function(Kt,Qt){for(var Vt=[];Kt;)Kt.leaf?Qt.push.apply(Qt,Kt.children):Vt.push.apply(Vt,Kt.children),Kt=Vt.pop();return Qt},oe.prototype._build=function(Kt,Qt,Vt,vn){var wn=Vt-Qt+1,kn=this._maxEntries,Vn;if(wn<=kn)return Vn=bt(Kt.slice(Qt,Vt+1)),he(Vn,this.toBBox),Vn;vn||(vn=Math.ceil(Math.log(wn)/Math.log(kn)),kn=Math.ceil(wn/Math.pow(kn,vn-1))),Vn=bt([]),Vn.leaf=!1,Vn.height=vn;var vr=Math.ceil(wn/kn),or=vr*Math.ceil(Math.sqrt(kn));jt(Kt,Qt,Vt,or,this.compareMinX);for(var Or=Qt;Or<=Vt;Or+=or){var qr=Math.min(Or+or-1,Vt);jt(Kt,Or,qr,vr,this.compareMinY);for(var wr=Or;wr<=qr;wr+=vr){var Sr=Math.min(wr+vr-1,qr);Vn.children.push(this._build(Kt,wr,Sr,vn-1))}}return he(Vn,this.toBBox),Vn},oe.prototype._chooseSubtree=function(Kt,Qt,Vt,vn){for(;vn.push(Qt),!(Qt.leaf||vn.length-1===Vt);){for(var wn=1/0,kn=1/0,Vn=void 0,vr=0;vr<Qt.children.length;vr++){var or=Qt.children[vr],Or=Xe(or),qr=nt(Kt,or)-Or;qr<kn?(kn=qr,wn=Or<wn?Or:wn,Vn=or):qr===kn&&Or<wn&&(wn=Or,Vn=or)}Qt=Vn||Qt.children[0]}return Qt},oe.prototype._insert=function(Kt,Qt,Vt){var vn=Vt?Kt:this.toBBox(Kt),wn=[],kn=this._chooseSubtree(vn,this.data,Qt,wn);for(kn.children.push(Kt),Ae(kn,vn);Qt>=0&&wn[Qt].children.length>this._maxEntries;)this._split(wn,Qt),Qt--;this._adjustParentBBoxes(vn,wn,Qt)},oe.prototype._split=function(Kt,Qt){var Vt=Kt[Qt],vn=Vt.children.length,wn=this._minEntries;this._chooseSplitAxis(Vt,wn,vn);var kn=this._chooseSplitIndex(Vt,wn,vn),Vn=bt(Vt.children.splice(kn,Vt.children.length-kn));Vn.height=Vt.height,Vn.leaf=Vt.leaf,he(Vt,this.toBBox),he(Vn,this.toBBox),Qt?Kt[Qt-1].children.push(Vn):this._splitRoot(Vt,Vn)},oe.prototype._splitRoot=function(Kt,Qt){this.data=bt([Kt,Qt]),this.data.height=Kt.height+1,this.data.leaf=!1,he(this.data,this.toBBox)},oe.prototype._chooseSplitIndex=function(Kt,Qt,Vt){for(var vn,wn=1/0,kn=1/0,Vn=Qt;Vn<=Vt-Qt;Vn++){var vr=ge(Kt,0,Vn,this.toBBox),or=ge(Kt,Vn,Vt,this.toBBox),Or=at(vr,or),qr=Xe(vr)+Xe(or);Or<wn?(wn=Or,vn=Vn,kn=qr<kn?qr:kn):Or===wn&&qr<kn&&(kn=qr,vn=Vn)}return vn||Vt-Qt},oe.prototype._chooseSplitAxis=function(Kt,Qt,Vt){var vn=Kt.leaf?this.compareMinX:Pe,wn=Kt.leaf?this.compareMinY:We,kn=this._allDistMargin(Kt,Qt,Vt,vn),Vn=this._allDistMargin(Kt,Qt,Vt,wn);kn<Vn&&Kt.children.sort(vn)},oe.prototype._allDistMargin=function(Kt,Qt,Vt,vn){Kt.children.sort(vn);for(var wn=this.toBBox,kn=ge(Kt,0,Qt,wn),Vn=ge(Kt,Vt-Qt,Vt,wn),vr=qe(kn)+qe(Vn),or=Qt;or<Vt-Qt;or++){var Or=Kt.children[or];Ae(kn,Kt.leaf?wn(Or):Or),vr+=qe(kn)}for(var qr=Vt-Qt-1;qr>=Qt;qr--){var wr=Kt.children[qr];Ae(Vn,Kt.leaf?wn(wr):wr),vr+=qe(Vn)}return vr},oe.prototype._adjustParentBBoxes=function(Kt,Qt,Vt){for(var vn=Vt;vn>=0;vn--)Ae(Qt[vn],Kt)},oe.prototype._condense=function(Kt){for(var Qt=Kt.length-1,Vt=void 0;Qt>=0;Qt--)Kt[Qt].children.length===0?Qt>0?(Vt=Kt[Qt-1].children,Vt.splice(Vt.indexOf(Kt[Qt]),1)):this.clear():he(Kt[Qt],this.toBBox)};function le(Ut,Kt,Qt){if(!Qt)return Kt.indexOf(Ut);for(var Vt=0;Vt<Kt.length;Vt++)if(Qt(Ut,Kt[Vt]))return Vt;return-1}function he(Ut,Kt){ge(Ut,0,Ut.children.length,Kt,Ut)}function ge(Ut,Kt,Qt,Vt,vn){vn||(vn=bt(null)),vn.minX=1/0,vn.minY=1/0,vn.maxX=-1/0,vn.maxY=-1/0;for(var wn=Kt;wn<Qt;wn++){var kn=Ut.children[wn];Ae(vn,Ut.leaf?Vt(kn):kn)}return vn}function Ae(Ut,Kt){return Ut.minX=Math.min(Ut.minX,Kt.minX),Ut.minY=Math.min(Ut.minY,Kt.minY),Ut.maxX=Math.max(Ut.maxX,Kt.maxX),Ut.maxY=Math.max(Ut.maxY,Kt.maxY),Ut}function Pe(Ut,Kt){return Ut.minX-Kt.minX}function We(Ut,Kt){return Ut.minY-Kt.minY}function Xe(Ut){return(Ut.maxX-Ut.minX)*(Ut.maxY-Ut.minY)}function qe(Ut){return Ut.maxX-Ut.minX+(Ut.maxY-Ut.minY)}function nt(Ut,Kt){return(Math.max(Kt.maxX,Ut.maxX)-Math.min(Kt.minX,Ut.minX))*(Math.max(Kt.maxY,Ut.maxY)-Math.min(Kt.minY,Ut.minY))}function at(Ut,Kt){var Qt=Math.max(Ut.minX,Kt.minX),Vt=Math.max(Ut.minY,Kt.minY),vn=Math.min(Ut.maxX,Kt.maxX),wn=Math.min(Ut.maxY,Kt.maxY);return Math.max(0,vn-Qt)*Math.max(0,wn-Vt)}function pt(Ut,Kt){return Ut.minX<=Kt.minX&&Ut.minY<=Kt.minY&&Kt.maxX<=Ut.maxX&&Kt.maxY<=Ut.maxY}function mt(Ut,Kt){return Kt.minX<=Ut.maxX&&Kt.minY<=Ut.maxY&&Kt.maxX>=Ut.minX&&Kt.maxY>=Ut.minY}function bt(Ut){return{children:Ut,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function jt(Ut,Kt,Qt,Vt,vn){for(var wn=[Kt,Qt];wn.length;)if(Qt=wn.pop(),Kt=wn.pop(),!(Qt-Kt<=Vt)){var kn=Kt+Math.ceil((Qt-Kt)/Vt/2)*Vt;E(Ut,kn,Kt,Qt,vn),wn.push(Kt,kn,kn,Qt)}}return oe})})(wy);var _p=wy.exports,No=function(b){return b.GROUP="g",b.FRAGMENT="fragment",b.CIRCLE="circle",b.ELLIPSE="ellipse",b.IMAGE="image",b.RECT="rect",b.LINE="line",b.POLYLINE="polyline",b.POLYGON="polygon",b.TEXT="text",b.PATH="path",b.HTML="html",b.MESH="mesh",b}({}),Lg=function(b){return b[b.ZERO=0]="ZERO",b[b.NEGATIVE_ONE=1]="NEGATIVE_ONE",b}({}),d0=function(){function b(){(0,$r.Z)(this,b),this.plugins=[]}return(0,qi.Z)(b,[{key:"addRenderingPlugin",value:function(E){this.plugins.push(E),this.context.renderingPlugins.push(E)}},{key:"removeAllRenderingPlugins",value:function(){var E=this;this.plugins.forEach(function(z){var te=E.context.renderingPlugins.indexOf(z);te>=0&&E.context.renderingPlugins.splice(te,1)})}}])}(),DA=function(){function b(x){(0,$r.Z)(this,b),this.clipSpaceNearZ=Lg.NEGATIVE_ONE,this.plugins=[],this.config=(0,Ho.Z)({enableDirtyCheck:!0,enableCulling:!1,enableAutoRendering:!0,enableDirtyRectangleRendering:!0,enableDirtyRectangleRenderingDebug:!1,enableSizeAttenuation:!0,enableRenderingOptimization:!1},x)}return(0,qi.Z)(b,[{key:"registerPlugin",value:function(E){var z=this.plugins.findIndex(function(te){return te===E});z===-1&&this.plugins.push(E)}},{key:"unregisterPlugin",value:function(E){var z=this.plugins.findIndex(function(te){return te===E});z>-1&&this.plugins.splice(z,1)}},{key:"getPlugins",value:function(){return this.plugins}},{key:"getPlugin",value:function(E){return this.plugins.find(function(z){return z.name===E})}},{key:"getConfig",value:function(){return this.config}},{key:"setConfig",value:function(E){Object.assign(this.config,E)}}])}(),IA=Lr,Cy=kc,$0=dm,Mm=mg,by=Jf,iE=eu,Dc=function(){function b(){(0,$r.Z)(this,b),this.center=[0,0,0],this.halfExtents=[0,0,0],this.min=[0,0,0],this.max=[0,0,0]}return(0,qi.Z)(b,[{key:"update",value:function(E,z){Cy(this.center,E),Cy(this.halfExtents,z),iE(this.min,this.center,this.halfExtents),IA(this.max,this.center,this.halfExtents)}},{key:"setMinMax",value:function(E,z){IA(this.center,z,E),by(this.center,this.center,.5),iE(this.halfExtents,z,E),by(this.halfExtents,this.halfExtents,.5),Cy(this.min,E),Cy(this.max,z)}},{key:"getMin",value:function(){return this.min}},{key:"getMax",value:function(){return this.max}},{key:"add",value:function(E){if(!b.isEmpty(E)){if(b.isEmpty(this)){this.setMinMax(E.getMin(),E.getMax());return}var z=this.center,te=z[0],re=z[1],oe=z[2],le=this.halfExtents,he=le[0],ge=le[1],Ae=le[2],Pe=te-he,We=te+he,Xe=re-ge,qe=re+ge,nt=oe-Ae,at=oe+Ae,pt=E.center,mt=pt[0],bt=pt[1],jt=pt[2],Ut=E.halfExtents,Kt=Ut[0],Qt=Ut[1],Vt=Ut[2],vn=mt-Kt,wn=mt+Kt,kn=bt-Qt,Vn=bt+Qt,vr=jt-Vt,or=jt+Vt;vn<Pe&&(Pe=vn),wn>We&&(We=wn),kn<Xe&&(Xe=kn),Vn>qe&&(qe=Vn),vr<nt&&(nt=vr),or>at&&(at=or),z[0]=(Pe+We)*.5,z[1]=(Xe+qe)*.5,z[2]=(nt+at)*.5,le[0]=(We-Pe)*.5,le[1]=(qe-Xe)*.5,le[2]=(at-nt)*.5,this.min[0]=Pe,this.min[1]=Xe,this.min[2]=nt,this.max[0]=We,this.max[1]=qe,this.max[2]=at}}},{key:"setFromTransformedAABB",value:function(E,z){var te=this.center,re=this.halfExtents,oe=E.center,le=E.halfExtents,he=z[0],ge=z[4],Ae=z[8],Pe=z[1],We=z[5],Xe=z[9],qe=z[2],nt=z[6],at=z[10],pt=Math.abs(he),mt=Math.abs(ge),bt=Math.abs(Ae),jt=Math.abs(Pe),Ut=Math.abs(We),Kt=Math.abs(Xe),Qt=Math.abs(qe),Vt=Math.abs(nt),vn=Math.abs(at);te[0]=z[12]+he*oe[0]+ge*oe[1]+Ae*oe[2],te[1]=z[13]+Pe*oe[0]+We*oe[1]+Xe*oe[2],te[2]=z[14]+qe*oe[0]+nt*oe[1]+at*oe[2],re[0]=pt*le[0]+mt*le[1]+bt*le[2],re[1]=jt*le[0]+Ut*le[1]+Kt*le[2],re[2]=Qt*le[0]+Vt*le[1]+vn*le[2],iE(this.min,te,re),IA(this.max,te,re)}},{key:"intersects",value:function(E){var z=this.getMax(),te=this.getMin(),re=E.getMax(),oe=E.getMin();return te[0]<=re[0]&&z[0]>=oe[0]&&te[1]<=re[1]&&z[1]>=oe[1]&&te[2]<=re[2]&&z[2]>=oe[2]}},{key:"intersection",value:function(E){if(!this.intersects(E))return null;var z=new b,te=$0([0,0,0],this.getMin(),E.getMin()),re=Mm([0,0,0],this.getMax(),E.getMax());return z.setMinMax(te,re),z}},{key:"getNegativeFarPoint",value:function(E){return E.pnVertexFlag===273?Cy([0,0,0],this.min):E.pnVertexFlag===272?[this.min[0],this.min[1],this.max[2]]:E.pnVertexFlag===257?[this.min[0],this.max[1],this.min[2]]:E.pnVertexFlag===256?[this.min[0],this.max[1],this.max[2]]:E.pnVertexFlag===17?[this.max[0],this.min[1],this.min[2]]:E.pnVertexFlag===16?[this.max[0],this.min[1],this.max[2]]:E.pnVertexFlag===1?[this.max[0],this.max[1],this.min[2]]:[this.max[0],this.max[1],this.max[2]]}},{key:"getPositiveFarPoint",value:function(E){return E.pnVertexFlag===273?Cy([0,0,0],this.max):E.pnVertexFlag===272?[this.max[0],this.max[1],this.min[2]]:E.pnVertexFlag===257?[this.max[0],this.min[1],this.max[2]]:E.pnVertexFlag===256?[this.max[0],this.min[1],this.min[2]]:E.pnVertexFlag===17?[this.min[0],this.max[1],this.max[2]]:E.pnVertexFlag===16?[this.min[0],this.max[1],this.min[2]]:E.pnVertexFlag===1?[this.min[0],this.min[1],this.max[2]]:[this.min[0],this.min[1],this.min[2]]}}],[{key:"isEmpty",value:function(E){return!E||E.halfExtents[0]===0&&E.halfExtents[1]===0&&E.halfExtents[2]===0}}])}(),Py=function(){function b(x,E){(0,$r.Z)(this,b),this.distance=x||0,this.normal=E||Kl(0,1,0),this.updatePNVertexFlag()}return(0,qi.Z)(b,[{key:"updatePNVertexFlag",value:function(){this.pnVertexFlag=(+(this.normal[0]>=0)<<8)+(+(this.normal[1]>=0)<<4)+ +(this.normal[2]>=0)}},{key:"distanceToPoint",value:function(E){return Mh(E,this.normal)-this.distance}},{key:"normalize",value:function(){var E=1/i0(this.normal);Jf(this.normal,this.normal,E),this.distance*=E}},{key:"intersectsLine",value:function(E,z,te){var re=this.distanceToPoint(E),oe=this.distanceToPoint(z),le=re/(re-oe),he=le>=0&&le<=1;return he&&te&&_d(te,E,z,le),he}}])}(),k1=function(b){return b[b.OUTSIDE=4294967295]="OUTSIDE",b[b.INSIDE=0]="INSIDE",b[b.INDETERMINATE=2147483647]="INDETERMINATE",b}({}),Ub=function(){function b(x){if((0,$r.Z)(this,b),this.planes=[],x)this.planes=x;else for(var E=0;E<6;E++)this.planes.push(new Py)}return(0,qi.Z)(b,[{key:"extractFromVPMatrix",value:function(E){var z=(0,hs.Z)(E,16),te=z[0],re=z[1],oe=z[2],le=z[3],he=z[4],ge=z[5],Ae=z[6],Pe=z[7],We=z[8],Xe=z[9],qe=z[10],nt=z[11],at=z[12],pt=z[13],mt=z[14],bt=z[15];mh(this.planes[0].normal,le-te,Pe-he,nt-We),this.planes[0].distance=bt-at,mh(this.planes[1].normal,le+te,Pe+he,nt+We),this.planes[1].distance=bt+at,mh(this.planes[2].normal,le+re,Pe+ge,nt+Xe),this.planes[2].distance=bt+pt,mh(this.planes[3].normal,le-re,Pe-ge,nt-Xe),this.planes[3].distance=bt-pt,mh(this.planes[4].normal,le-oe,Pe-Ae,nt-qe),this.planes[4].distance=bt-mt,mh(this.planes[5].normal,le+oe,Pe+Ae,nt+qe),this.planes[5].distance=bt+mt,this.planes.forEach(function(jt){jt.normalize(),jt.updatePNVertexFlag()})}}])}(),Hd=function(){function b(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;(0,$r.Z)(this,b),this.x=0,this.y=0,this.x=x,this.y=E}return(0,qi.Z)(b,[{key:"clone",value:function(){return new b(this.x,this.y)}},{key:"copyFrom",value:function(E){this.x=E.x,this.y=E.y}}])}(),Ol=function(){function b(x,E,z,te){(0,$r.Z)(this,b),this.x=x,this.y=E,this.width=z,this.height=te,this.left=x,this.right=x+z,this.top=E,this.bottom=E+te}return(0,qi.Z)(b,[{key:"toJSON",value:function(){}}],[{key:"fromRect",value:function(E){return new b(E.x,E.y,E.width,E.height)}},{key:"applyTransform",value:function(E,z){var te=Dp(E.x,E.y,0,1),re=Dp(E.x+E.width,E.y,0,1),oe=Dp(E.x,E.y+E.height,0,1),le=Dp(E.x+E.width,E.y+E.height,0,1),he=Kc(),ge=Kc(),Ae=Kc(),Pe=Kc();sd(he,te,z),sd(ge,re,z),sd(Ae,oe,z),sd(Pe,le,z);var We=Math.min(he[0],ge[0],Ae[0],Pe[0]),Xe=Math.min(he[1],ge[1],Ae[1],Pe[1]),qe=Math.max(he[0],ge[0],Ae[0],Pe[0]),nt=Math.max(he[1],ge[1],Ae[1],Pe[1]);return b.fromRect({x:We,y:Xe,width:qe-We,height:nt-Xe})}}])}(),Ku="Method not implemented.",ev="Use document.documentElement instead.",Il="Cannot append a destroyed element.";function My(b){return b===void 0?0:b>360||b<-360?b%360:b}var oE=Ts();function Of(b){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,z=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;return Array.isArray(b)&&b.length===3?z?wl(b):kc(oE,b):As(b)?z?Kl(b,x,E):mh(oE,b,x,E):z?Kl(b[0],b[1]||x,b[2]||E):mh(oE,b[0],b[1]||x,b[2]||E)}var kT=Math.PI/180;function mc(b){return b*kT}var dc=180/Math.PI;function ng(b){return b*dc}var Vd=.9;function Yc(b){return b%=400,b<0&&(b+=400),b*Vd}function FT(b){return b/360}function OA(b){return 360*b}var Lm=Math.PI/2;function NA(b,x){var E=x[0],z=x[1],te=x[2],re=x[3],oe=E*E,le=z*z,he=te*te,ge=re*re,Ae=oe+le+he+ge,Pe=E*re-z*te;return Pe>.499995*Ae?(b[0]=Lm,b[1]=2*Math.atan2(z,E),b[2]=0):Pe<-.499995*Ae?(b[0]=-Lm,b[1]=2*Math.atan2(z,E),b[2]=0):(b[0]=Math.asin(2*(E*te-re*z)),b[1]=Math.atan2(2*(E*re+z*te),1-2*(he+ge)),b[2]=Math.atan2(2*(E*z+te*re),1-2*(le+he))),b}function Qg(b,x){var E,z,te=sn(Ts(),x),re=(0,hs.Z)(te,3),oe=re[0],le=re[1],he=re[2],ge=Math.asin(-x[2]/oe);return ge<Lm?ge>-Lm?(E=Math.atan2(x[6]/le,x[10]/he),z=Math.atan2(x[1]/oe,x[0]/oe)):(z=0,E=-Math.atan2(x[4]/le,x[5]/le)):(z=0,E=Math.atan2(x[4]/le,x[5]/le)),b[0]=E,b[1]=ge,b[2]=z,b}function aE(b,x){return x.length===16?Qg(b,x):NA(b,x)}function BA(b,x,E,z,te){var re=Math.cos(b),oe=Math.sin(b);return qh(z*re,te*oe,0,-z*oe,te*re,0,x,E,1)}function sE(b,x,E,z,te,re,oe){var le=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1,he=2*re,ge=E-x,Ae=z-te,Pe=he/ge,We=he/Ae,Xe=(E+x)/ge,qe=(z+te)/Ae,nt,at,pt=oe-re,mt=oe*re;return le?(nt=-oe/pt,at=-mt/pt):(nt=-(oe+re)/pt,at=-2*mt/pt),b[0]=Pe,b[1]=0,b[2]=0,b[3]=0,b[4]=0,b[5]=We,b[6]=0,b[7]=0,b[8]=Xe,b[9]=qe,b[10]=nt,b[11]=-1,b[12]=0,b[13]=0,b[14]=at,b[15]=0,b}function lE(b){var x=b[0],E=b[1],z=b[3],te=b[4],re=Math.sqrt(x*x+E*E),oe=Math.sqrt(z*z+te*te),le=x*te-E*z;if(le<0&&(x<te?re=-re:oe=-oe),re){var he=1/re;x*=he,E*=he}if(oe){var ge=1/oe;z*=ge,te*=ge}var Ae=Math.atan2(E,x),Pe=ng(Ae);return[b[6],b[7],re,oe,Pe]}var Ks=vc(),zp=vc(),F1=Kc(),Gl=[Ts(),Ts(),Ts()],Hw=Ts();function Vw(b,x,E,z,te,re){if(!Kw(Ks,b)||(U0(zp,Ks),zp[3]=0,zp[7]=0,zp[11]=0,zp[15]=1,Math.abs(sy(zp))<1e-8))return!1;var oe=Ks[3],le=Ks[7],he=Ks[11],ge=Ks[12],Ae=Ks[13],Pe=Ks[14],We=Ks[15];if(oe!==0||le!==0||he!==0){F1[0]=oe,F1[1]=le,F1[2]=he,F1[3]=We;var Xe=jd(zp,zp);if(!Xe)return!1;ym(zp,zp),sd(te,F1,zp)}else te[0]=te[1]=te[2]=0,te[3]=1;if(x[0]=ge,x[1]=Ae,x[2]=Pe,RA(Gl,Ks),E[0]=Ou(Gl[0]),ah(Gl[0],Gl[0]),z[0]=Mh(Gl[0],Gl[1]),kA(Gl[1],Gl[1],Gl[0],1,-z[0]),E[1]=Ou(Gl[1]),ah(Gl[1],Gl[1]),z[0]/=E[1],z[1]=Mh(Gl[0],Gl[2]),kA(Gl[2],Gl[2],Gl[0],1,-z[1]),z[2]=Mh(Gl[1],Gl[2]),kA(Gl[2],Gl[2],Gl[1],1,-z[2]),E[2]=Ou(Gl[2]),ah(Gl[2],Gl[2]),z[1]/=E[2],z[2]/=E[2],Mp(Hw,Gl[1],Gl[2]),Mh(Gl[0],Hw)<0)for(var qe=0;qe<3;qe++)E[qe]*=-1,Gl[qe][0]*=-1,Gl[qe][1]*=-1,Gl[qe][2]*=-1;return re[0]=.5*Math.sqrt(Math.max(1+Gl[0][0]-Gl[1][1]-Gl[2][2],0)),re[1]=.5*Math.sqrt(Math.max(1-Gl[0][0]+Gl[1][1]-Gl[2][2],0)),re[2]=.5*Math.sqrt(Math.max(1-Gl[0][0]-Gl[1][1]+Gl[2][2],0)),re[3]=.5*Math.sqrt(Math.max(1+Gl[0][0]+Gl[1][1]+Gl[2][2],0)),Gl[2][1]>Gl[1][2]&&(re[0]=-re[0]),Gl[0][2]>Gl[2][0]&&(re[1]=-re[1]),Gl[1][0]>Gl[0][1]&&(re[2]=-re[2]),!0}function Kw(b,x){var E=x[15];if(E===0)return!1;for(var z=1/E,te=0;te<16;te++)b[te]=x[te]*z;return!0}function RA(b,x){b[0][0]=x[0],b[0][1]=x[1],b[0][2]=x[2],b[1][0]=x[4],b[1][1]=x[5],b[1][2]=x[6],b[2][0]=x[8],b[2][1]=x[9],b[2][2]=x[10]}function kA(b,x,E,z,te){b[0]=x[0]*z+E[0]*te,b[1]=x[1]*z+E[1]*te,b[2]=x[2]*z+E[2]*te}var wc=function(b){return b[b.ORBITING=0]="ORBITING",b[b.EXPLORING=1]="EXPLORING",b[b.TRACKING=2]="TRACKING",b}({}),FA=function(b){return b[b.DEFAULT=0]="DEFAULT",b[b.ROTATIONAL=1]="ROTATIONAL",b[b.TRANSLATIONAL=2]="TRANSLATIONAL",b[b.CINEMATIC=3]="CINEMATIC",b}({}),Eu=function(b){return b[b.ORTHOGRAPHIC=0]="ORTHOGRAPHIC",b[b.PERSPECTIVE=1]="PERSPECTIVE",b}({}),Zw={UPDATED:"updated"},Yw=2e-4,Xw=function(){function b(){(0,$r.Z)(this,b),this.clipSpaceNearZ=Lg.NEGATIVE_ONE,this.eventEmitter=new Ef,this.matrix=vc(),this.right=Kl(1,0,0),this.up=Kl(0,1,0),this.forward=Kl(0,0,1),this.position=Kl(0,0,1),this.focalPoint=Kl(0,0,0),this.distanceVector=Kl(0,0,-1),this.distance=1,this.azimuth=0,this.elevation=0,this.roll=0,this.relAzimuth=0,this.relElevation=0,this.relRoll=0,this.dollyingStep=0,this.maxDistance=1/0,this.minDistance=-1/0,this.zoom=1,this.rotateWorld=!1,this.fov=30,this.near=.1,this.far=1e3,this.aspect=1,this.projectionMatrix=vc(),this.projectionMatrixInverse=vc(),this.jitteredProjectionMatrix=void 0,this.enableUpdate=!0,this.type=wc.EXPLORING,this.trackingMode=FA.DEFAULT,this.projectionMode=Eu.PERSPECTIVE,this.frustum=new Ub,this.orthoMatrix=vc()}return(0,qi.Z)(b,[{key:"isOrtho",value:function(){return this.projectionMode===Eu.ORTHOGRAPHIC}},{key:"getProjectionMode",value:function(){return this.projectionMode}},{key:"getPerspective",value:function(){return this.jitteredProjectionMatrix||this.projectionMatrix}},{key:"getPerspectiveInverse",value:function(){return this.projectionMatrixInverse}},{key:"getFrustum",value:function(){return this.frustum}},{key:"getPosition",value:function(){return this.position}},{key:"getFocalPoint",value:function(){return this.focalPoint}},{key:"getDollyingStep",value:function(){return this.dollyingStep}},{key:"getNear",value:function(){return this.near}},{key:"getFar",value:function(){return this.far}},{key:"getZoom",value:function(){return this.zoom}},{key:"getOrthoMatrix",value:function(){return this.orthoMatrix}},{key:"getView",value:function(){return this.view}},{key:"setEnableUpdate",value:function(E){this.enableUpdate=E}},{key:"setType",value:function(E,z){return this.type=E,this.type===wc.EXPLORING?this.setWorldRotation(!0):this.setWorldRotation(!1),this._getAngles(),this.type===wc.TRACKING&&z!==void 0&&this.setTrackingMode(z),this}},{key:"setProjectionMode",value:function(E){return this.projectionMode=E,this}},{key:"setTrackingMode",value:function(E){if(this.type!==wc.TRACKING)throw new Error("Impossible to set a tracking mode if the camera is not of tracking type");return this.trackingMode=E,this}},{key:"setWorldRotation",value:function(E){return this.rotateWorld=E,this._getAngles(),this}},{key:"getViewTransform",value:function(){return jd(vc(),this.matrix)}},{key:"getWorldTransform",value:function(){return this.matrix}},{key:"jitterProjectionMatrix",value:function(E,z){var te=Ag(vc(),[E,z,0]);this.jitteredProjectionMatrix=Ed(vc(),te,this.projectionMatrix)}},{key:"clearJitterProjectionMatrix",value:function(){this.jitteredProjectionMatrix=void 0}},{key:"setMatrix",value:function(E){return this.matrix=E,this._update(),this}},{key:"setProjectionMatrix",value:function(E){this.projectionMatrix=E}},{key:"setFov",value:function(E){return this.setPerspective(this.near,this.far,E,this.aspect),this}},{key:"setAspect",value:function(E){return this.setPerspective(this.near,this.far,this.fov,E),this}},{key:"setNear",value:function(E){return this.projectionMode===Eu.PERSPECTIVE?this.setPerspective(E,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,E,this.far),this}},{key:"setFar",value:function(E){return this.projectionMode===Eu.PERSPECTIVE?this.setPerspective(this.near,E,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,E),this}},{key:"setViewOffset",value:function(E,z,te,re,oe,le){return this.aspect=E/z,this.view===void 0&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=E,this.view.fullHeight=z,this.view.offsetX=te,this.view.offsetY=re,this.view.width=oe,this.view.height=le,this.projectionMode===Eu.PERSPECTIVE?this.setPerspective(this.near,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far),this}},{key:"clearViewOffset",value:function(){return this.view!==void 0&&(this.view.enabled=!1),this.projectionMode===Eu.PERSPECTIVE?this.setPerspective(this.near,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far),this}},{key:"setZoom",value:function(E){return this.zoom=E,this.projectionMode===Eu.ORTHOGRAPHIC?this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far):this.projectionMode===Eu.PERSPECTIVE&&this.setPerspective(this.near,this.far,this.fov,this.aspect),this}},{key:"setZoomByViewportPoint",value:function(E,z){var te=this.canvas.viewport2Canvas({x:z[0],y:z[1]}),re=te.x,oe=te.y,le=this.roll;this.rotate(0,0,-le),this.setPosition(re,oe),this.setFocalPoint(re,oe),this.setZoom(E),this.rotate(0,0,le);var he=this.canvas.viewport2Canvas({x:z[0],y:z[1]}),ge=he.x,Ae=he.y,Pe=Kl(ge-re,Ae-oe,0),We=Mh(Pe,this.right)/Ou(this.right),Xe=Mh(Pe,this.up)/Ou(this.up),qe=this.getPosition(),nt=(0,hs.Z)(qe,2),at=nt[0],pt=nt[1],mt=this.getFocalPoint(),bt=(0,hs.Z)(mt,2),jt=bt[0],Ut=bt[1];return this.setPosition(at-We,pt-Xe),this.setFocalPoint(jt-We,Ut-Xe),this}},{key:"setPerspective",value:function(E,z,te,re){var oe;this.projectionMode=Eu.PERSPECTIVE,this.fov=te,this.near=E,this.far=z,this.aspect=re;var le=this.near*Math.tan(mc(.5*this.fov))/this.zoom,he=2*le,ge=this.aspect*he,Ae=-.5*ge;if((oe=this.view)!==null&&oe!==void 0&&oe.enabled){var Pe=this.view.fullWidth,We=this.view.fullHeight;Ae+=this.view.offsetX*ge/Pe,le-=this.view.offsetY*he/We,ge*=this.view.width/Pe,he*=this.view.height/We}return sE(this.projectionMatrix,Ae,Ae+ge,le-he,le,E,this.far,this.clipSpaceNearZ===Lg.ZERO),jd(this.projectionMatrixInverse,this.projectionMatrix),this.triggerUpdate(),this}},{key:"setOrthographic",value:function(E,z,te,re,oe,le){var he;this.projectionMode=Eu.ORTHOGRAPHIC,this.rright=z,this.left=E,this.top=te,this.bottom=re,this.near=oe,this.far=le;var ge=(this.rright-this.left)/(2*this.zoom),Ae=(this.top-this.bottom)/(2*this.zoom),Pe=(this.rright+this.left)/2,We=(this.top+this.bottom)/2,Xe=Pe-ge,qe=Pe+ge,nt=We+Ae,at=We-Ae;if((he=this.view)!==null&&he!==void 0&&he.enabled){var pt=(this.rright-this.left)/this.view.fullWidth/this.zoom,mt=(this.top-this.bottom)/this.view.fullHeight/this.zoom;Xe+=pt*this.view.offsetX,qe=Xe+pt*this.view.width,nt-=mt*this.view.offsetY,at=nt-mt*this.view.height}return this.clipSpaceNearZ===Lg.NEGATIVE_ONE?Na(this.projectionMatrix,Xe,qe,nt,at,oe,le):vs(this.projectionMatrix,Xe,qe,nt,at,oe,le),jd(this.projectionMatrixInverse,this.projectionMatrix),this._getOrthoMatrix(),this.triggerUpdate(),this}},{key:"setPosition",value:function(E){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.position[1],te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.position[2],re=Of(E,z,te);return this._setPosition(re),this.setFocalPoint(this.focalPoint),this.triggerUpdate(),this}},{key:"setFocalPoint",value:function(E){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.focalPoint[1],te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.focalPoint[2],re=Kl(0,1,0);if(this.focalPoint=Of(E,z,te),this.trackingMode===FA.CINEMATIC){var oe=Af(Ts(),this.focalPoint,this.position);E=oe[0],z=oe[1],te=oe[2];var le=Ou(oe),he=ng(Math.asin(z/le)),ge=90+ng(Math.atan2(te,E)),Ae=vc();Eh(Ae,Ae,mc(ge)),Ox(Ae,Ae,mc(he)),re=Vu(Ts(),[0,1,0],Ae)}return jd(this.matrix,Xa(vc(),this.position,this.focalPoint,re)),this._getAxes(),this._getDistance(),this._getAngles(),this.triggerUpdate(),this}},{key:"getDistance",value:function(){return this.distance}},{key:"getDistanceVector",value:function(){return this.distanceVector}},{key:"setDistance",value:function(E){if(this.distance===E||E<0)return this;this.distance=E,this.distance<Yw&&(this.distance=Yw),this.dollyingStep=this.distance/100;var z=Ts();E=this.distance;var te=this.forward,re=this.focalPoint;return z[0]=E*te[0]+re[0],z[1]=E*te[1]+re[1],z[2]=E*te[2]+re[2],this._setPosition(z),this.triggerUpdate(),this}},{key:"setMaxDistance",value:function(E){return this.maxDistance=E,this}},{key:"setMinDistance",value:function(E){return this.minDistance=E,this}},{key:"setAzimuth",value:function(E){return this.azimuth=My(E),this.computeMatrix(),this._getAxes(),this.type===wc.ORBITING||this.type===wc.EXPLORING?this._getPosition():this.type===wc.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getAzimuth",value:function(){return this.azimuth}},{key:"setElevation",value:function(E){return this.elevation=My(E),this.computeMatrix(),this._getAxes(),this.type===wc.ORBITING||this.type===wc.EXPLORING?this._getPosition():this.type===wc.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getElevation",value:function(){return this.elevation}},{key:"setRoll",value:function(E){return this.roll=My(E),this.computeMatrix(),this._getAxes(),this.type===wc.ORBITING||this.type===wc.EXPLORING?this._getPosition():this.type===wc.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getRoll",value:function(){return this.roll}},{key:"_update",value:function(){this._getAxes(),this._getPosition(),this._getDistance(),this._getAngles(),this._getOrthoMatrix(),this.triggerUpdate()}},{key:"computeMatrix",value:function(){var E=gp(Cd(),[0,0,1],mc(this.roll));Cf(this.matrix);var z=gp(Cd(),[1,0,0],mc((this.rotateWorld&&this.type!==wc.TRACKING||this.type===wc.TRACKING?1:-1)*this.elevation)),te=gp(Cd(),[0,1,0],mc((this.rotateWorld&&this.type!==wc.TRACKING||this.type===wc.TRACKING?1:-1)*this.azimuth)),re=Tv(Cd(),te,z);re=Tv(Cd(),re,E);var oe=Wr(vc(),re);this.type===wc.ORBITING||this.type===wc.EXPLORING?(dp(this.matrix,this.matrix,this.focalPoint),Ed(this.matrix,this.matrix,oe),dp(this.matrix,this.matrix,[0,0,this.distance])):this.type===wc.TRACKING&&(dp(this.matrix,this.matrix,this.position),Ed(this.matrix,this.matrix,oe))}},{key:"_setPosition",value:function(E,z,te){this.position=Of(E,z,te);var re=this.matrix;re[12]=this.position[0],re[13]=this.position[1],re[14]=this.position[2],re[15]=1,this._getOrthoMatrix()}},{key:"_getAxes",value:function(){kc(this.right,Of(sd(Kc(),[1,0,0,0],this.matrix))),kc(this.up,Of(sd(Kc(),[0,1,0,0],this.matrix))),kc(this.forward,Of(sd(Kc(),[0,0,1,0],this.matrix))),ah(this.right,this.right),ah(this.up,this.up),ah(this.forward,this.forward)}},{key:"_getAngles",value:function(){var E=this.distanceVector[0],z=this.distanceVector[1],te=this.distanceVector[2],re=Ou(this.distanceVector);if(re===0){this.elevation=0,this.azimuth=0;return}this.type===wc.TRACKING?(this.elevation=ng(Math.asin(z/re)),this.azimuth=ng(Math.atan2(-E,-te))):this.rotateWorld?(this.elevation=ng(Math.asin(z/re)),this.azimuth=ng(Math.atan2(-E,-te))):(this.elevation=-ng(Math.asin(z/re)),this.azimuth=-ng(Math.atan2(-E,-te)))}},{key:"_getPosition",value:function(){kc(this.position,Of(sd(Kc(),[0,0,0,1],this.matrix))),this._getDistance()}},{key:"_getFocalPoint",value:function(){k0(this.distanceVector,[0,0,-this.distance],Lh(Jh(),this.matrix)),Lr(this.focalPoint,this.position,this.distanceVector),this._getDistance()}},{key:"_getDistance",value:function(){this.distanceVector=Af(Ts(),this.focalPoint,this.position),this.distance=Ou(this.distanceVector),this.dollyingStep=this.distance/100}},{key:"_getOrthoMatrix",value:function(){if(this.projectionMode===Eu.ORTHOGRAPHIC){var E=this.position,z=gp(Cd(),[0,0,1],-this.roll*Math.PI/180);Qn(this.orthoMatrix,z,Kl((this.rright-this.left)/2-E[0],(this.top-this.bottom)/2-E[1],0),Kl(this.zoom,this.zoom,1),E)}}},{key:"triggerUpdate",value:function(){if(this.enableUpdate){var E=this.getViewTransform(),z=Ed(vc(),this.getPerspective(),E);this.getFrustum().extractFromVPMatrix(z),this.eventEmitter.emit(Zw.UPDATED)}}},{key:"rotate",value:function(E,z,te){throw new Error(Ku)}},{key:"pan",value:function(E,z){throw new Error(Ku)}},{key:"dolly",value:function(E){throw new Error(Ku)}},{key:"createLandmark",value:function(E,z){throw new Error(Ku)}},{key:"gotoLandmark",value:function(E,z){throw new Error(Ku)}},{key:"cancelLandmarkAnimation",value:function(){throw new Error(Ku)}}])}(),Nf=function(b){return b[b.Standard=0]="Standard",b}({}),Ly=function(b){return b[b.ADDED=0]="ADDED",b[b.REMOVED=1]="REMOVED",b[b.Z_INDEX_CHANGED=2]="Z_INDEX_CHANGED",b}({}),To={absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new Ol(0,0,0,0)},Ja=function(b){return b.COORDINATE="<coordinate>",b.COLOR="<color>",b.PAINT="<paint>",b.NUMBER="<number>",b.ANGLE="<angle>",b.OPACITY_VALUE="<opacity-value>",b.SHADOW_BLUR="<shadow-blur>",b.LENGTH="<length>",b.PERCENTAGE="<percentage>",b.LENGTH_PERCENTAGE="<length> | <percentage>",b.LENGTH_PERCENTAGE_12="[<length> | <percentage>]{1,2}",b.LENGTH_PERCENTAGE_14="[<length> | <percentage>]{1,4}",b.LIST_OF_POINTS="<list-of-points>",b.PATH="<path>",b.FILTER="<filter>",b.Z_INDEX="<z-index>",b.OFFSET_DISTANCE="<offset-distance>",b.DEFINED_PATH="<defined-path>",b.MARKER="<marker>",b.TRANSFORM="<transform>",b.TRANSFORM_ORIGIN="<transform-origin>",b.TEXT="<text>",b.TEXT_TRANSFORM="<text-transform>",b}({});function rg(b,x){if(typeof b!="function"||x!=null&&typeof x!="function")throw new TypeError("Expected a function");var E=function(){for(var te=arguments.length,re=new Array(te),oe=0;oe<te;oe++)re[oe]=arguments[oe];var le=x?x.apply(this,re):re[0],he=E.cache;if(he.has(le))return he.get(le);var ge=b.apply(this,re);return E.cache=he.set(le,ge)||he,ge};return E.cache=new(rg.Cache||Map),E}rg.Cache=Map;var os=function(b){return b[b.kUnknown=0]="kUnknown",b[b.kNumber=1]="kNumber",b[b.kPercentage=2]="kPercentage",b[b.kEms=3]="kEms",b[b.kPixels=4]="kPixels",b[b.kRems=5]="kRems",b[b.kDegrees=6]="kDegrees",b[b.kRadians=7]="kRadians",b[b.kGradians=8]="kGradians",b[b.kTurns=9]="kTurns",b[b.kMilliseconds=10]="kMilliseconds",b[b.kSeconds=11]="kSeconds",b[b.kInteger=12]="kInteger",b}({}),jp=function(b){return b[b.kUNumber=0]="kUNumber",b[b.kUPercent=1]="kUPercent",b[b.kULength=2]="kULength",b[b.kUAngle=3]="kUAngle",b[b.kUTime=4]="kUTime",b[b.kUOther=5]="kUOther",b}({}),_A=function(b){return b[b.kYes=0]="kYes",b[b.kNo=1]="kNo",b}({}),Rv=function(b){return b[b.kYes=0]="kYes",b[b.kNo=1]="kNo",b}({}),Hb=[{name:"em",unit_type:os.kEms},{name:"px",unit_type:os.kPixels},{name:"deg",unit_type:os.kDegrees},{name:"rad",unit_type:os.kRadians},{name:"grad",unit_type:os.kGradians},{name:"ms",unit_type:os.kMilliseconds},{name:"s",unit_type:os.kSeconds},{name:"rem",unit_type:os.kRems},{name:"turn",unit_type:os.kTurns}],Xc=function(b){return b[b.kUnknownType=0]="kUnknownType",b[b.kUnparsedType=1]="kUnparsedType",b[b.kKeywordType=2]="kKeywordType",b[b.kUnitType=3]="kUnitType",b[b.kSumType=4]="kSumType",b[b.kProductType=5]="kProductType",b[b.kNegateType=6]="kNegateType",b[b.kInvertType=7]="kInvertType",b[b.kMinType=8]="kMinType",b[b.kMaxType=9]="kMaxType",b[b.kClampType=10]="kClampType",b[b.kTransformType=11]="kTransformType",b[b.kPositionType=12]="kPositionType",b[b.kURLImageType=13]="kURLImageType",b[b.kColorType=14]="kColorType",b[b.kUnsupportedColorType=15]="kUnsupportedColorType",b}({}),Qw=function(x){return Hb.find(function(E){return E.name===x}).unit_type},td=function(x){return x?x==="number"?os.kNumber:x==="percent"||x==="%"?os.kPercentage:Qw(x):os.kUnknown},_T=function(x){switch(x){case os.kNumber:case os.kInteger:return jp.kUNumber;case os.kPercentage:return jp.kUPercent;case os.kPixels:return jp.kULength;case os.kMilliseconds:case os.kSeconds:return jp.kUTime;case os.kDegrees:case os.kRadians:case os.kGradians:case os.kTurns:return jp.kUAngle;default:return jp.kUOther}},ac=function(x){switch(x){case jp.kUNumber:return os.kNumber;case jp.kULength:return os.kPixels;case jp.kUPercent:return os.kPercentage;case jp.kUTime:return os.kSeconds;case jp.kUAngle:return os.kDegrees;default:return os.kUnknown}},tv=function(x){var E=1;switch(x){case os.kPixels:case os.kDegrees:case os.kSeconds:break;case os.kMilliseconds:E=.001;break;case os.kRadians:E=180/Math.PI;break;case os.kGradians:E=.9;break;case os.kTurns:E=360;break}return E},zA=function(x){switch(x){case os.kNumber:case os.kInteger:return"";case os.kPercentage:return"%";case os.kEms:return"em";case os.kRems:return"rem";case os.kPixels:return"px";case os.kDegrees:return"deg";case os.kRadians:return"rad";case os.kGradians:return"grad";case os.kMilliseconds:return"ms";case os.kSeconds:return"s";case os.kTurns:return"turn"}return""},uE=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,[{key:"toString",value:function(){return this.buildCSSText(_A.kNo,Rv.kNo,"")}},{key:"isNumericValue",value:function(){return this.getType()>=Xc.kUnitType&&this.getType()<=Xc.kClampType}}],[{key:"isAngle",value:function(E){return E===os.kDegrees||E===os.kRadians||E===os.kGradians||E===os.kTurns}},{key:"isLength",value:function(E){return E>=os.kEms&&E<os.kDegrees}},{key:"isRelativeUnit",value:function(E){return E===os.kPercentage||E===os.kEms||E===os.kRems}},{key:"isTime",value:function(E){return E===os.kSeconds||E===os.kMilliseconds}}])}(),Jg=function(b){function x(E){var z;return(0,$r.Z)(this,x),z=Ls(this,x),z.colorSpace=E,z}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"getType",value:function(){return Xc.kColorType}},{key:"to",value:function(z){return this}}])}(uE),dd=function(b){return b[b.Constant=0]="Constant",b[b.LinearGradient=1]="LinearGradient",b[b.RadialGradient=2]="RadialGradient",b}({}),Tm=function(b){function x(E,z){var te;return(0,$r.Z)(this,x),te=Ls(this,x),te.type=E,te.value=z,te}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"clone",value:function(){return new x(this.type,this.value)}},{key:"buildCSSText",value:function(z,te,re){return re}},{key:"getType",value:function(){return Xc.kColorType}}])}(uE),Tg=function(b){function x(E){var z;return(0,$r.Z)(this,x),z=Ls(this,x),z.value=E,z}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"clone",value:function(){return new x(this.value)}},{key:"getType",value:function(){return Xc.kKeywordType}},{key:"buildCSSText",value:function(z,te,re){return re+this.value}}])}(uE),Jw=function(x){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",z="";return Number.isFinite(x)?z="NaN":x>0?z="infinity":z="-infinity",z+=E},Ty=function(x){return ac(_T(x))},yc=function(b){function x(E){var z,te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:os.kNumber;(0,$r.Z)(this,x),z=Ls(this,x);var re;return typeof te=="string"?re=td(te):re=te,z.unit=re,z.value=E,z}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"clone",value:function(){return new x(this.value,this.unit)}},{key:"equals",value:function(z){var te=z;return this.value===te.value&&this.unit===te.unit}},{key:"getType",value:function(){return Xc.kUnitType}},{key:"convertTo",value:function(z){if(this.unit===z)return new x(this.value,this.unit);var te=Ty(this.unit);if(te!==Ty(z)||te===os.kUnknown)return null;var re=tv(this.unit)/tv(z);return new x(this.value*re,z)}},{key:"buildCSSText",value:function(z,te,re){var oe;switch(this.unit){case os.kUnknown:break;case os.kInteger:oe=Number(this.value).toFixed(0);break;case os.kNumber:case os.kPercentage:case os.kEms:case os.kRems:case os.kPixels:case os.kDegrees:case os.kRadians:case os.kGradians:case os.kMilliseconds:case os.kSeconds:case os.kTurns:{var le=-999999,he=999999,ge=this.value,Ae=zA(this.unit);if(ge<le||ge>he){var Pe=zA(this.unit);!Number.isFinite(ge)||Number.isNaN(ge)?oe=Jw(ge,Pe):oe=ge+(Pe||"")}else oe="".concat(ge).concat(Ae)}}return re+=oe,re}}])}(uE),Jl=new yc(0,"px");new yc(1,"px");var Pl=new yc(0,"deg"),jA=function(b){function x(E,z,te){var re,oe=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,le=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;return(0,$r.Z)(this,x),re=Ls(this,x,["rgb"]),re.r=E,re.g=z,re.b=te,re.alpha=oe,re.isNone=le,re}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"clone",value:function(){return new x(this.r,this.g,this.b,this.alpha)}},{key:"buildCSSText",value:function(z,te,re){return"".concat(re,"rgba(").concat(this.r,",").concat(this.g,",").concat(this.b,",").concat(this.alpha,")")}}])}(Jg),ig=new Tg("unset"),$u=new Tg("initial"),Vb=new Tg("inherit"),qw={"":ig,unset:ig,initial:$u,inherit:Vb},Kb=function(x){return qw[x]||(qw[x]=new Tg(x)),qw[x]},_1=new jA(0,0,0,0,!0),bs=new jA(0,0,0,0),Zb=rg(function(b,x,E,z){return new jA(b,x,E,z)},function(b,x,E,z){return"rgba(".concat(b,",").concat(x,",").concat(E,",").concat(z,")")}),gu=function(x){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:os.kNumber;return new yc(x,E)};new yc(50,"%");function z1(b){var x=b.type,E=b.value;return x==="hex"?"#".concat(E):x==="literal"?E:x==="rgb"?"rgb(".concat(E.join(","),")"):"rgba(".concat(E.join(","),")")}var WA=function(){var b={linearGradient:/^(linear\-gradient)/i,repeatingLinearGradient:/^(repeating\-linear\-gradient)/i,radialGradient:/^(radial\-gradient)/i,repeatingRadialGradient:/^(repeating\-radial\-gradient)/i,conicGradient:/^(conic\-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|top (left|right)|bottom (left|right)|left|right|top|bottom)/i,extentKeywords:/^(closest\-side|closest\-corner|farthest\-side|farthest\-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))px/,percentageValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))\%/,emValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))em/,angleValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))deg/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^\#([0-9a-fA-F]+)/,literalColor:/^([a-zA-Z]+)/,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,number:/^(([0-9]*\.[0-9]+)|([0-9]+\.?))/},x="";function E(wr){throw new Error("".concat(x,": ").concat(wr))}function z(){var wr=te();return x.length>0&&E("Invalid input not EOF"),wr}function te(){return bt(re)}function re(){return oe("linear-gradient",b.linearGradient,he)||oe("repeating-linear-gradient",b.repeatingLinearGradient,he)||oe("radial-gradient",b.radialGradient,Pe)||oe("repeating-radial-gradient",b.repeatingRadialGradient,Pe)||oe("conic-gradient",b.conicGradient,Pe)}function oe(wr,Sr,Tr){return le(Sr,function(ri){var Cr=Tr();return Cr&&(Or(b.comma)||E("Missing comma before color stops")),{type:wr,orientation:Cr,colorStops:bt(jt)}})}function le(wr,Sr){var Tr=Or(wr);if(Tr){Or(b.startCall)||E("Missing (");var ri=Sr(Tr);return Or(b.endCall)||E("Missing )"),ri}}function he(){return ge()||Ae()}function ge(){return or("directional",b.sideOrCorner,1)}function Ae(){return or("angular",b.angleValue,1)}function Pe(){var wr,Sr=We(),Tr;return Sr&&(wr=[],wr.push(Sr),Tr=x,Or(b.comma)&&(Sr=We(),Sr?wr.push(Sr):x=Tr)),wr}function We(){var wr=Xe()||qe();if(wr)wr.at=at();else{var Sr=nt();if(Sr){wr=Sr;var Tr=at();Tr&&(wr.at=Tr)}else{var ri=pt();ri&&(wr={type:"default-radial",at:ri})}}return wr}function Xe(){var wr=or("shape",/^(circle)/i,0);return wr&&(wr.style=vr()||nt()),wr}function qe(){var wr=or("shape",/^(ellipse)/i,0);return wr&&(wr.style=kn()||nt()),wr}function nt(){return or("extent-keyword",b.extentKeywords,1)}function at(){if(or("position",/^at/,0)){var wr=pt();return wr||E("Missing positioning value"),wr}}function pt(){var wr=mt();if(wr.x||wr.y)return{type:"position",value:wr}}function mt(){return{x:kn(),y:kn()}}function bt(wr){var Sr=wr(),Tr=[];if(Sr)for(Tr.push(Sr);Or(b.comma);)Sr=wr(),Sr?Tr.push(Sr):E("One extra comma");return Tr}function jt(){var wr=Ut();return wr||E("Expected color definition"),wr.length=kn(),wr}function Ut(){return Qt()||vn()||Vt()||Kt()}function Kt(){return or("literal",b.literalColor,0)}function Qt(){return or("hex",b.hexColor,1)}function Vt(){return le(b.rgbColor,function(){return{type:"rgb",value:bt(wn)}})}function vn(){return le(b.rgbaColor,function(){return{type:"rgba",value:bt(wn)}})}function wn(){return Or(b.number)[1]}function kn(){return or("%",b.percentageValue,1)||Vn()||vr()}function Vn(){return or("position-keyword",b.positionKeywords,1)}function vr(){return or("px",b.pixelValue,1)||or("em",b.emValue,1)}function or(wr,Sr,Tr){var ri=Or(Sr);if(ri)return{type:wr,value:ri[Tr]}}function Or(wr){var Sr=/^[\n\r\t\s]+/.exec(x);Sr&&qr(Sr[0].length);var Tr=wr.exec(x);return Tr&&qr(Tr[0].length),Tr}function qr(wr){x=x.substring(wr)}return function(wr){return x=wr,z()}}();function j1(b,x,E,z){var te=mc(z.value),re=0,oe=0,le=re+x/2,he=oe+E/2,ge=Math.abs(x*Math.cos(te))+Math.abs(E*Math.sin(te)),Ae=b[0]+le-Math.cos(te)*ge/2,Pe=b[1]+he-Math.sin(te)*ge/2,We=b[0]+le+Math.cos(te)*ge/2,Xe=b[1]+he+Math.sin(te)*ge/2;return{x1:Ae,y1:Pe,x2:We,y2:Xe}}function Yb(b,x,E,z,te,re){var oe=z.value,le=te.value;z.unit===os.kPercentage&&(oe=z.value/100*x),te.unit===os.kPercentage&&(le=te.value/100*E);var he=Math.max(bg([0,0],[oe,le]),bg([0,E],[oe,le]),bg([x,E],[oe,le]),bg([x,0],[oe,le]));return re&&(re instanceof yc?he=re.value:re instanceof Tg&&(re.value==="closest-side"?he=Math.min(oe,x-oe,le,E-le):re.value==="farthest-side"?he=Math.max(oe,x-oe,le,E-le):re.value==="closest-corner"&&(he=Math.min(bg([0,0],[oe,le]),bg([0,E],[oe,le]),bg([x,E],[oe,le]),bg([x,0],[oe,le]))))),{x:oe+b[0],y:le+b[1],r:he}}var Xb=/^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i,$w=/^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i,Qb=/^p\s*\(\s*([axyn])\s*\)\s*(.*)/i,cE=/[\d.]+:(#[^\s]+|[^\)]+\))/gi;function nd(b){var x,E=b.length;if(b[E-1].length=(x=b[E-1].length)!==null&&x!==void 0?x:{type:"%",value:"100"},E>1){var z;b[0].length=(z=b[0].length)!==null&&z!==void 0?z:{type:"%",value:"0"}}for(var te=0,re=Number(b[0].length.value),oe=1;oe<E;oe++){var le,he=(le=b[oe].length)===null||le===void 0?void 0:le.value;if(!El(he)&&!El(re)){for(var ge=1;ge<oe-te;ge++)b[te+ge].length={type:"%",value:"".concat(re+(Number(he)-re)*ge/(oe-te))};te=oe,re=Number(he)}}}var ou={left:180,top:-90,bottom:90,right:0,"left top":225,"top left":225,"left bottom":135,"bottom left":135,"right top":-45,"top right":-45,"right bottom":45,"bottom right":45},hE=rg(function(b){var x;return b.type==="angular"?x=Number(b.value):x=ou[b.value]||0,gu(x,"deg")}),dE=rg(function(b){var x=50,E=50,z="%",te="%";if((b==null?void 0:b.type)==="position"){var re=b.value,oe=re.x,le=re.y;(oe==null?void 0:oe.type)==="position-keyword"&&(oe.value==="left"?x=0:oe.value==="center"?x=50:oe.value==="right"?x=100:oe.value==="top"?E=0:oe.value==="bottom"&&(E=100)),(le==null?void 0:le.type)==="position-keyword"&&(le.value==="left"?x=0:le.value==="center"?E=50:le.value==="right"?x=100:le.value==="top"?E=0:le.value==="bottom"&&(E=100)),((oe==null?void 0:oe.type)==="px"||(oe==null?void 0:oe.type)==="%"||(oe==null?void 0:oe.type)==="em")&&(z=oe==null?void 0:oe.type,x=Number(oe.value)),((le==null?void 0:le.type)==="px"||(le==null?void 0:le.type)==="%"||(le==null?void 0:le.type)==="em")&&(te=le==null?void 0:le.type,E=Number(le.value))}return{cx:gu(x,z),cy:gu(E,te)}}),fE=rg(function(b){if(b.indexOf("linear")>-1||b.indexOf("radial")>-1){var x=WA(b);return x.map(function(le){var he=le.type,ge=le.orientation,Ae=le.colorStops;nd(Ae);var Pe=Ae.map(function(bt){return{offset:gu(Number(bt.length.value),"%"),color:z1(bt)}});if(he==="linear-gradient")return new Tm(dd.LinearGradient,{angle:ge?hE(ge):Pl,steps:Pe});if(he==="radial-gradient"&&(ge||(ge=[{type:"shape",value:"circle"}]),ge[0].type==="shape"&&ge[0].value==="circle")){var We=dE(ge[0].at),Xe=We.cx,qe=We.cy,nt;if(ge[0].style){var at=ge[0].style,pt=at.type,mt=at.value;pt==="extent-keyword"?nt=Kb(mt):nt=gu(mt,pt)}return new Tm(dd.RadialGradient,{cx:Xe,cy:qe,size:nt,steps:Pe})}})}var E=b[0];if(b[1]==="("||b[2]==="("){if(E==="l"){var z=Xb.exec(b);if(z){var te,re=((te=z[2].match(cE))===null||te===void 0?void 0:te.map(function(le){return le.split(":")}))||[];return[new Tm(dd.LinearGradient,{angle:gu(parseFloat(z[1]),"deg"),steps:re.map(function(le){var he=(0,hs.Z)(le,2),ge=he[0],Ae=he[1];return{offset:gu(Number(ge)*100,"%"),color:Ae}})})]}}else if(E==="r"){var oe=Jb(b);if(oe)if(qu(oe))b=oe;else return[new Tm(dd.RadialGradient,oe)]}else if(E==="p")return $b(b)}});function Jb(b){var x=$w.exec(b);if(x){var E,z=((E=x[4].match(cE))===null||E===void 0?void 0:E.map(function(te){return te.split(":")}))||[];return{cx:gu(50,"%"),cy:gu(50,"%"),steps:z.map(function(te){var re=(0,hs.Z)(te,2),oe=re[0],le=re[1];return{offset:gu(Number(oe)*100,"%"),color:le}})}}return null}function $b(b){var x=Qb.exec(b);if(x){var E=x[1],z=x[2];switch(E){case"a":E="repeat";break;case"x":E="repeat-x";break;case"y":E="repeat-y";break;case"n":E="no-repeat";break;default:E="no-repeat"}return{image:z,repetition:E}}return null}function zT(b){return!!b.type&&!!b.value}function Dm(b){return b&&!!b.image}function gE(b){return b&&!El(b.r)&&!El(b.g)&&!El(b.b)}var Dy=rg(function(b){if(Dm(b))return(0,Ho.Z)({repetition:"repeat"},b);if(El(b)&&(b=""),b==="transparent")return bs;if(b==="currentColor")b="black";else if(b==="none")return _1;var x=fE(b);if(x)return x;var E=D1(b),z=[0,0,0,0];return E!==null&&(z[0]=E.r||0,z[1]=E.g||0,z[2]=E.b||0,z[3]=E.opacity),Zb.apply(void 0,z)});function UA(b,x){if(!(!gE(b)||!gE(x)))return[[Number(b.r),Number(b.g),Number(b.b),Number(b.alpha)],[Number(x.r),Number(x.g),Number(x.b),Number(x.alpha)],function(E){var z=E.slice();if(z[3])for(var te=0;te<3;te++)z[te]=Math.round(Sh(z[te],0,255));return z[3]=Sh(z[3],0,1),"rgba(".concat(z.join(","),")")}]}function Im(b,x){if(El(x))return gu(0,"px");if(x="".concat(x).trim().toLowerCase(),isFinite(Number(x))){if("px".search(b)>=0)return gu(Number(x),"px");if("deg".search(b)>=0)return gu(Number(x),"deg")}var E=[];x=x.replace(b,function(te){return E.push(te),"U".concat(te)});var z="U(".concat(b.source,")");return E.map(function(te){return gu(Number(x.replace(new RegExp("U".concat(te),"g"),"").replace(new RegExp(z,"g"),"*0")),te)})[0]}var eP=function(x){return Im(new RegExp("px","g"),x)},Dg=rg(eP),kv=function(x){return Im(new RegExp("%","g"),x)};rg(kv);var f0=function(x){return As(x)||isFinite(Number(x))?gu(Number(x)||0,"px"):Im(new RegExp("px|%|em|rem","g"),x)},Bf=rg(f0),jh=function(x){return Im(new RegExp("deg|rad|grad|turn","g"),x)},Fv=rg(jh);function Om(b,x,E,z){var te=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,re="",oe=b.value||0,le=x.value||0,he=Ty(b.unit),ge=b.convertTo(he),Ae=x.convertTo(he);return ge&&Ae?(oe=ge.value,le=Ae.value,re=zA(b.unit)):(yc.isLength(b.unit)||yc.isLength(x.unit))&&(oe=og(b,te,E),le=og(x,te,E),re="px"),[oe,le,function(Pe){return z&&(Pe=Math.max(Pe,0)),Pe+re}]}function Kd(b){var x=0;return b.unit===os.kDegrees?x=b.value:b.unit===os.kRadians?x=ng(Number(b.value)):b.unit===os.kTurns?x=OA(Number(b.value)):b.value&&(x=b.value),x}function pE(b,x){var E;return Array.isArray(b)?E=b.map(function(z){return Number(z)}):qu(b)?E=b.split(" ").map(function(z){return Number(z)}):As(b)&&(E=[b]),x===2?E.length===1?[E[0],E[0]]:[E[0],E[1]]:x===4?E.length===1?[E[0],E[0],E[0],E[0]]:E.length===2?[E[0],E[1],E[0],E[1]]:E.length===3?[E[0],E[1],E[2],E[1]]:[E[0],E[1],E[2],E[3]]:x==="even"&&E.length%2===1?[].concat((0,qa.Z)(E),(0,qa.Z)(E)):E}function og(b,x,E){var z=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(b.unit===os.kPixels)return Number(b.value);if(b.unit===os.kPercentage&&E){var te=E.nodeName===No.GROUP?E.getLocalBounds():E.getGeometryBounds();return(z?te.min[x]:0)+b.value/100*te.halfExtents[x]*2}return 0}var GA=function(x){return Im(/deg|rad|grad|turn|px|%/g,x)},HA=["blur","brightness","drop-shadow","contrast","grayscale","sepia","saturate","hue-rotate","invert"];function W1(){var b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(b=b.toLowerCase().trim(),b==="none")return[];for(var x=/\s*([\w-]+)\(([^)]*)\)/g,E=[],z,te=0;z=x.exec(b);){if(z.index!==te)return[];if(te=z.index+z[0].length,HA.indexOf(z[1])>-1&&E.push({name:z[1],params:z[2].split(" ").map(function(re){return GA(re)||Dy(re)})}),x.lastIndex===b.length)return E}return[]}function vE(b){return b.toString()}var Nm=function(x){return typeof x=="number"?gu(x):/^\s*[-+]?(\d*\.)?\d+\s*$/.test(x)?gu(Number(x)):gu(0)},Iy=rg(Nm);rg(function(b){return qu(b)?b.split(" ").map(Iy):b.map(Iy)});function Bm(b,x){return[b,x,vE]}function Oy(b,x){return function(E,z){return[E,z,function(te){return vE(Sh(te,b,x))}]}}function nv(b,x){if(b.length===x.length)return[b,x,function(E){return E}]}function U1(b){return b.parsedStyle.d.totalLength===0&&(b.parsedStyle.d.totalLength=Pg(b.parsedStyle.d.absolutePath)),b.parsedStyle.d.totalLength}function ch(b){return b.parsedStyle.points.totalLength===0&&(b.parsedStyle.points.totalLength=jw(b.parsedStyle.points.points)),b.parsedStyle.points.totalLength}function tP(b){for(var x=0;x<b.length;x++){var E=b[x-1],z=b[x],te=z[0];if(te==="M"&&E){var re=E[0],oe=[z[1],z[2]],le=void 0;re==="L"||re==="M"?le=[E[1],E[2]]:(re==="C"||re==="A"||re==="Q")&&(le=[E[E.length-2],E[E.length-1]]),le&&VA(oe,le)&&(b.splice(x,1),x--)}}}function jT(b){for(var x=!1,E=b.length,z=0;z<E;z++){var te=b[z],re=te[0];if(re==="C"||re==="A"||re==="Q"){x=!0;break}}return x}function WT(b){for(var x=[],E=[],z=[],te=0;te<b.length;te++){var re=b[te],oe=re[0];oe==="M"?(z.length&&(E.push(z),z=[]),z.push([re[1],re[2]])):oe==="Z"?z.length&&(x.push(z),z=[]):z.push([re[1],re[2]])}return z.length>0&&E.push(z),{polygons:x,polylines:E}}function VA(b,x){return b[0]===x[0]&&b[1]===x[1]}function UT(b,x){for(var E=[],z=[],te=[],re=0;re<b.length;re++){var oe=b[re],le=oe.currentPoint,he=oe.params,ge=oe.prePoint,Ae=void 0;switch(oe.command){case"Q":Ae=Uw(ge[0],ge[1],he[1],he[2],he[3],he[4]);break;case"C":Ae=yy(ge[0],ge[1],he[1],he[2],he[3],he[4],he[5],he[6]);break;case"A":var Pe=oe.arcParams;Ae=Rw(Pe.cx,Pe.cy,Pe.rx,Pe.ry,Pe.xRotation,Pe.startAngle,Pe.endAngle);break;default:E.push(le[0]),z.push(le[1]);break}Ae&&(oe.box=Ae,E.push(Ae.x,Ae.x+Ae.width),z.push(Ae.y,Ae.y+Ae.height)),x&&(oe.command==="L"||oe.command==="M")&&oe.prePoint&&oe.nextPoint&&te.push(oe)}E=E.filter(function(jt){return!Number.isNaN(jt)&&jt!==1/0&&jt!==-1/0}),z=z.filter(function(jt){return!Number.isNaN(jt)&&jt!==1/0&&jt!==-1/0});var We=Wx(E),Xe=Wx(z),qe=Ux(E),nt=Ux(z);if(te.length===0)return{x:We,y:Xe,width:qe-We,height:nt-Xe};for(var at=0;at<te.length;at++){var pt=te[at],mt=pt.currentPoint,bt=void 0;mt[0]===We?(bt=mE(pt,x),We-=bt.xExtra):mt[0]===qe&&(bt=mE(pt,x),qe+=bt.xExtra),mt[1]===Xe?(bt=mE(pt,x),Xe-=bt.yExtra):mt[1]===nt&&(bt=mE(pt,x),nt+=bt.yExtra)}return{x:We,y:Xe,width:qe-We,height:nt-Xe}}function mE(b,x){var E=b.prePoint,z=b.currentPoint,te=b.nextPoint,re=Math.pow(z[0]-E[0],2)+Math.pow(z[1]-E[1],2),oe=Math.pow(z[0]-te[0],2)+Math.pow(z[1]-te[1],2),le=Math.pow(E[0]-te[0],2)+Math.pow(E[1]-te[1],2),he=Math.acos((re+oe-le)/(2*Math.sqrt(re)*Math.sqrt(oe)));if(!he||Math.sin(he)===0||wm(he,0))return{xExtra:0,yExtra:0};var ge=Math.abs(Math.atan2(te[1]-z[1],te[0]-z[0])),Ae=Math.abs(Math.atan2(te[0]-z[0],te[1]-z[1]));ge=ge>Math.PI/2?Math.PI-ge:ge,Ae=Ae>Math.PI/2?Math.PI-Ae:Ae;var Pe={xExtra:Math.cos(he/2-ge)*(x/2*(1/Math.sin(he/2)))-x/2||0,yExtra:Math.cos(Ae-he/2)*(x/2*(1/Math.sin(he/2)))-x/2||0};return Pe}function eC(b,x){return[x[0]+(x[0]-b[0]),x[1]+(x[1]-b[1])]}var tC=function(x,E){var z=x.x*E.x+x.y*E.y,te=Math.sqrt((Math.pow(x.x,2)+Math.pow(x.y,2))*(Math.pow(E.x,2)+Math.pow(E.y,2))),re=x.x*E.y-x.y*E.x<0?-1:1,oe=re*Math.acos(z/te);return oe},nP=function(x,E,z,te,re,oe,le,he){E=Math.abs(E),z=Math.abs(z),te=Cw(te,360);var ge=mc(te);if(x.x===le.x&&x.y===le.y)return{x:x.x,y:x.y,ellipticalArcAngle:0};if(E===0||z===0)return{x:0,y:0,ellipticalArcAngle:0};var Ae=(x.x-le.x)/2,Pe=(x.y-le.y)/2,We={x:Math.cos(ge)*Ae+Math.sin(ge)*Pe,y:-Math.sin(ge)*Ae+Math.cos(ge)*Pe},Xe=Math.pow(We.x,2)/Math.pow(E,2)+Math.pow(We.y,2)/Math.pow(z,2);Xe>1&&(E*=Math.sqrt(Xe),z*=Math.sqrt(Xe));var qe=Math.pow(E,2)*Math.pow(z,2)-Math.pow(E,2)*Math.pow(We.y,2)-Math.pow(z,2)*Math.pow(We.x,2),nt=Math.pow(E,2)*Math.pow(We.y,2)+Math.pow(z,2)*Math.pow(We.x,2),at=qe/nt;at=at<0?0:at;var pt=(re!==oe?1:-1)*Math.sqrt(at),mt={x:pt*(E*We.y/z),y:pt*(-(z*We.x)/E)},bt={x:Math.cos(ge)*mt.x-Math.sin(ge)*mt.y+(x.x+le.x)/2,y:Math.sin(ge)*mt.x+Math.cos(ge)*mt.y+(x.y+le.y)/2},jt={x:(We.x-mt.x)/E,y:(We.y-mt.y)/z},Ut=tC({x:1,y:0},jt),Kt={x:(-We.x-mt.x)/E,y:(-We.y-mt.y)/z},Qt=tC(jt,Kt);!oe&&Qt>0?Qt-=2*Math.PI:oe&&Qt<0&&(Qt+=2*Math.PI),Qt%=2*Math.PI;var Vt=Ut+Qt*he,vn=E*Math.cos(Vt),wn=z*Math.sin(Vt),kn={x:Math.cos(ge)*vn-Math.sin(ge)*wn+bt.x,y:Math.sin(ge)*vn+Math.cos(ge)*wn+bt.y,ellipticalArcStartAngle:Ut,ellipticalArcEndAngle:Ut+Qt,ellipticalArcAngle:Vt,ellipticalArcCenter:bt,resultantRx:E,resultantRy:z};return kn};function rP(b){for(var x=[],E=null,z=null,te=null,re=0,oe=b.length,le=0;le<oe;le++){var he=b[le];z=b[le+1];var ge=he[0],Ae={command:ge,prePoint:E,params:he,startTangent:null,endTangent:null,currentPoint:null,nextPoint:null,arcParams:null,box:null,cubicParams:null};switch(ge){case"M":te=[he[1],he[2]],re=le;break;case"A":var Pe=ol(E,he);Ae.arcParams=Pe;break}if(ge==="Z")E=te,z=b[re+1];else{var We=he.length;E=[he[We-2],he[We-1]]}z&&z[0]==="Z"&&(z=b[re],x[re]&&(x[re].prePoint=E)),Ae.currentPoint=E,x[re]&&VA(E,x[re].currentPoint)&&(x[re].prePoint=Ae.prePoint);var Xe=z?[z[z.length-2],z[z.length-1]]:null;Ae.nextPoint=Xe;var qe=Ae.prePoint;if(["L","H","V"].includes(ge))Ae.startTangent=[qe[0]-E[0],qe[1]-E[1]],Ae.endTangent=[E[0]-qe[0],E[1]-qe[1]];else if(ge==="Q"){var nt=[he[1],he[2]];Ae.startTangent=[qe[0]-nt[0],qe[1]-nt[1]],Ae.endTangent=[E[0]-nt[0],E[1]-nt[1]]}else if(ge==="T"){var at=x[le-1],pt=eC(at.currentPoint,qe);at.command==="Q"?(Ae.command="Q",Ae.startTangent=[qe[0]-pt[0],qe[1]-pt[1]],Ae.endTangent=[E[0]-pt[0],E[1]-pt[1]]):(Ae.command="TL",Ae.startTangent=[qe[0]-E[0],qe[1]-E[1]],Ae.endTangent=[E[0]-qe[0],E[1]-qe[1]])}else if(ge==="C"){var mt=[he[1],he[2]],bt=[he[3],he[4]];Ae.startTangent=[qe[0]-mt[0],qe[1]-mt[1]],Ae.endTangent=[E[0]-bt[0],E[1]-bt[1]],Ae.startTangent[0]===0&&Ae.startTangent[1]===0&&(Ae.startTangent=[mt[0]-bt[0],mt[1]-bt[1]]),Ae.endTangent[0]===0&&Ae.endTangent[1]===0&&(Ae.endTangent=[bt[0]-mt[0],bt[1]-mt[1]])}else if(ge==="S"){var jt=x[le-1],Ut=eC(jt.currentPoint,qe),Kt=[he[1],he[2]];jt.command==="C"?(Ae.command="C",Ae.startTangent=[qe[0]-Ut[0],qe[1]-Ut[1]],Ae.endTangent=[E[0]-Kt[0],E[1]-Kt[1]]):(Ae.command="SQ",Ae.startTangent=[qe[0]-Kt[0],qe[1]-Kt[1]],Ae.endTangent=[E[0]-Kt[0],E[1]-Kt[1]])}else if(ge==="A"){var Qt=Rm(Ae,0),Vt=Qt.x,vn=Qt.y,wn=Rm(Ae,1,!1),kn=wn.x,Vn=wn.y;Ae.startTangent=[Vt,vn],Ae.endTangent=[kn,Vn]}x.push(Ae)}return x}function Rm(b,x){var E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,z=b.arcParams,te=z.rx,re=te===void 0?0:te,oe=z.ry,le=oe===void 0?0:oe,he=z.xRotation,ge=z.arcFlag,Ae=z.sweepFlag,Pe=nP({x:b.prePoint[0],y:b.prePoint[1]},re,le,he,!!ge,!!Ae,{x:b.currentPoint[0],y:b.currentPoint[1]},x),We=nP({x:b.prePoint[0],y:b.prePoint[1]},re,le,he,!!ge,!!Ae,{x:b.currentPoint[0],y:b.currentPoint[1]},E?x+.005:x-.005),Xe=We.x-Pe.x,qe=We.y-Pe.y,nt=Math.sqrt(Xe*Xe+qe*qe);return{x:-Xe/nt,y:-qe/nt}}function km(b){return Math.sqrt(b[0]*b[0]+b[1]*b[1])}function Ny(b,x){return km(b)*km(x)?(b[0]*x[0]+b[1]*x[1])/(km(b)*km(x)):1}function yE(b,x){return(b[0]*x[1]<b[1]*x[0]?-1:1)*Math.acos(Ny(b,x))}function ol(b,x){var E=x[1],z=x[2],te=Cw(mc(x[3]),Math.PI*2),re=x[4],oe=x[5],le=b[0],he=b[1],ge=x[6],Ae=x[7],Pe=Math.cos(te)*(le-ge)/2+Math.sin(te)*(he-Ae)/2,We=-1*Math.sin(te)*(le-ge)/2+Math.cos(te)*(he-Ae)/2,Xe=Pe*Pe/(E*E)+We*We/(z*z);Xe>1&&(E*=Math.sqrt(Xe),z*=Math.sqrt(Xe));var qe=E*E*(We*We)+z*z*(Pe*Pe),nt=qe?Math.sqrt((E*E*(z*z)-qe)/qe):1;re===oe&&(nt*=-1),isNaN(nt)&&(nt=0);var at=z?nt*E*We/z:0,pt=E?nt*-z*Pe/E:0,mt=(le+ge)/2+Math.cos(te)*at-Math.sin(te)*pt,bt=(he+Ae)/2+Math.sin(te)*at+Math.cos(te)*pt,jt=[(Pe-at)/E,(We-pt)/z],Ut=[(-1*Pe-at)/E,(-1*We-pt)/z],Kt=yE([1,0],jt),Qt=yE(jt,Ut);return Ny(jt,Ut)<=-1&&(Qt=Math.PI),Ny(jt,Ut)>=1&&(Qt=0),oe===0&&Qt>0&&(Qt-=2*Math.PI),oe===1&&Qt<0&&(Qt+=2*Math.PI),{cx:mt,cy:bt,rx:VA(b,[ge,Ae])?0:E,ry:VA(b,[ge,Ae])?0:z,startAngle:Kt,endAngle:Kt+Qt,xRotation:te,arcFlag:re,sweepFlag:oe}}function nC(b,x,E){return b.reduce(function(z,te){var re="";if(te[0]==="M"||te[0]==="L"){var oe=vec3.fromValues(te[1],te[2],0);E&&vec3.transformMat4(oe,oe,E),re="".concat(te[0]).concat(oe[0],",").concat(oe[1])}else if(te[0]==="Z")re=te[0];else if(te[0]==="C"){var le=vec3.fromValues(te[1],te[2],0),he=vec3.fromValues(te[3],te[4],0),ge=vec3.fromValues(te[5],te[6],0);E&&(vec3.transformMat4(le,le,E),vec3.transformMat4(he,he,E),vec3.transformMat4(ge,ge,E)),re="".concat(te[0]).concat(le[0],",").concat(le[1],",").concat(he[0],",").concat(he[1],",").concat(ge[0],",").concat(ge[1])}else if(te[0]==="A"){var Ae=vec3.fromValues(te[6],te[7],0);E&&vec3.transformMat4(Ae,Ae,E),re="".concat(te[0]).concat(te[1],",").concat(te[2],",").concat(te[3],",").concat(te[4],",").concat(te[5],",").concat(Ae[0],",").concat(Ae[1])}else if(te[0]==="Q"){var Pe=vec3.fromValues(te[1],te[2],0),We=vec3.fromValues(te[3],te[4],0);E&&(vec3.transformMat4(Pe,Pe,E),vec3.transformMat4(We,We,E)),re="".concat(te[0]).concat(te[1],",").concat(te[2],",").concat(te[3],",").concat(te[4],"}")}return z+=re},"")}function fd(b,x,E,z){return[["M",b,x],["L",E,z]]}function sf(b,x,E,z){var te=(-1+Math.sqrt(2))/3*4,re=b*te,oe=x*te,le=E-b,he=E+b,ge=z-x,Ae=z+x;return[["M",le,z],["C",le,z-oe,E-re,ge,E,ge],["C",E+re,ge,he,z-oe,he,z],["C",he,z+oe,E+re,Ae,E,Ae],["C",E-re,Ae,le,z+oe,le,z],["Z"]]}function iP(b,x){var E=b.map(function(z,te){return[te===0?"M":"L",z[0],z[1]]});return x&&E.push(["Z"]),E}function KA(b,x,E,z,te){if(te){var re=_slicedToArray(te,4),oe=re[0],le=re[1],he=re[2],ge=re[3],Ae=b>0?1:-1,Pe=x>0?1:-1,We=Ae+Pe!==0?1:0;return[["M",Ae*oe+E,z],["L",b-Ae*le+E,z],le?["A",le,le,0,0,We,b+E,Pe*le+z]:null,["L",b+E,x-Pe*he+z],he?["A",he,he,0,0,We,b+E-Ae*he,x+z]:null,["L",E+Ae*ge,x+z],ge?["A",ge,ge,0,0,We,E,x+z-Pe*ge]:null,["L",E,Pe*oe+z],oe?["A",oe,oe,0,0,We,Ae*oe+E,z]:null,["Z"]].filter(function(Xe){return Xe})}return[["M",E,z],["L",E+b,z],["L",E+b,z+x],["L",E,z+x],["Z"]]}function oP(b){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:b.getLocalTransform(),E=[];switch(b.nodeName){case No.LINE:var z=b.parsedStyle,te=z.x1,re=te===void 0?0:te,oe=z.y1,le=oe===void 0?0:oe,he=z.x2,ge=he===void 0?0:he,Ae=z.y2,Pe=Ae===void 0?0:Ae;E=fd(re,le,ge,Pe);break;case No.CIRCLE:{var We=b.parsedStyle,Xe=We.r,qe=Xe===void 0?0:Xe,nt=We.cx,at=nt===void 0?0:nt,pt=We.cy,mt=pt===void 0?0:pt;E=sf(qe,qe,at,mt);break}case No.ELLIPSE:{var bt=b.parsedStyle,jt=bt.rx,Ut=jt===void 0?0:jt,Kt=bt.ry,Qt=Kt===void 0?0:Kt,Vt=bt.cx,vn=Vt===void 0?0:Vt,wn=bt.cy,kn=wn===void 0?0:wn;E=sf(Ut,Qt,vn,kn);break}case No.POLYLINE:case No.POLYGON:var Vn=b.parsedStyle.points;E=iP(Vn.points,b.nodeName===No.POLYGON);break;case No.RECT:var vr=b.parsedStyle,or=vr.width,Or=or===void 0?0:or,qr=vr.height,wr=qr===void 0?0:qr,Sr=vr.x,Tr=Sr===void 0?0:Sr,ri=vr.y,Cr=ri===void 0?0:ri,yi=vr.radius,Co=yi&&yi.some(function(vi){return vi!==0});E=KA(Or,wr,Tr,Cr,Co&&yi.map(function(vi){return clamp(vi,0,Math.min(Math.abs(Or)/2,Math.abs(wr)/2))}));break;case No.PATH:var wo=b.parsedStyle.d.absolutePath;E=_toConsumableArray(wo);break}if(E.length)return nC(E,b,x)}function GT(b){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,z=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,te=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,re=b.map(function(oe,le){var he=oe[0],ge=b[le+1],Ae=le===0&&(x!==0||E!==0),Pe=(le===b.length-1||ge&&(ge[0]==="M"||ge[0]==="Z"))&&z!==0&&te!==0,We=Ae?[x,E]:[0,0],Xe=_slicedToArray(We,2),qe=Xe[0],nt=Xe[1],at=Pe?[z,te]:[0,0],pt=_slicedToArray(at,2),mt=pt[0],bt=pt[1];switch(he){case"M":return"M ".concat(oe[1]+qe,",").concat(oe[2]+nt);case"L":return"L ".concat(oe[1]+mt,",").concat(oe[2]+bt);case"Q":return"Q ".concat(oe[1]," ").concat(oe[2],",").concat(oe[3]+mt," ").concat(oe[4]+bt);case"C":return"C ".concat(oe[1]," ").concat(oe[2],",").concat(oe[3]," ").concat(oe[4],",").concat(oe[5]+mt," ").concat(oe[6]+bt);case"A":return"A ".concat(oe[1]," ").concat(oe[2]," ").concat(oe[3]," ").concat(oe[4]," ").concat(oe[5]," ").concat(oe[6]," ").concat(oe[7]).concat(Pe?" L ".concat(oe[6]+z,",").concat(oe[7]+te):"");case"Z":return"Z";default:return null}}).filter(function(oe){return oe!==null}).join(" ");return~re.indexOf("NaN")?"":re}var G1=function(x){if(x===""||Array.isArray(x)&&x.length===0)return{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:{x:0,y:0,width:0,height:0}};var E;try{E=zx(x)}catch(Xe){E=zx(""),console.error("[g]: Invalid SVG Path definition: ".concat(x))}tP(E);var z=jT(E),te=WT(E),re=te.polygons,oe=te.polylines,le=rP(E),he=UT(le,0),ge=he.x,Ae=he.y,Pe=he.width,We=he.height;return{absolutePath:E,hasArc:z,segments:le,polygons:re,polylines:oe,totalLength:0,rect:{x:Number.isFinite(ge)?ge:0,y:Number.isFinite(Ae)?Ae:0,width:Number.isFinite(Pe)?Pe:0,height:Number.isFinite(We)?We:0}}},rC=rg(G1);function aP(b){return qu(b)?rC(b):G1(b)}function sP(b,x,E){var z=b.curve,te=x.curve;(!z||z.length===0)&&(z=Hx(b.absolutePath,!1),b.curve=z),(!te||te.length===0)&&(te=Hx(x.absolutePath,!1),x.curve=te);var re=[z,te];z.length!==te.length&&(re=pA(z,te));var oe=$h(re[0])!==$h(re[1])?vA(re[0]):Mw(re[0]);return[oe,hd(re[1],oe),function(le){return le}]}function lP(b,x){var E;return qu(b)?E=b.split(" ").map(function(z){var te=z.split(","),re=(0,hs.Z)(te,2),oe=re[0],le=re[1];return[Number(oe),Number(le)]}):E=b,{points:E,totalLength:0,segments:[]}}function iC(b,x){return[b.points,x.points,function(E){return E}]}var Th=null,By=/\s*(\w+)\(([^)]*)\)/g;function Ig(b){return function(x){var E=0;return b.map(function(z){return z===Th?x[E++]:z})}}function Fm(b){return b}var H1={matrix:["NNNNNN",[Th,Th,0,0,Th,Th,0,0,0,0,1,0,Th,Th,0,1],Fm],matrix3d:["NNNNNNNNNNNNNNNN",Fm],rotate:["A"],rotateX:["A"],rotateY:["A"],rotateZ:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",Ig([Th,Th,new yc(1)]),Fm],scaleX:["N",Ig([Th,new yc(1),new yc(1)]),Ig([Th,new yc(1)])],scaleY:["N",Ig([new yc(1),Th,new yc(1)]),Ig([new yc(1),Th])],scaleZ:["N",Ig([new yc(1),new yc(1),Th])],scale3d:["NNN",Fm],skew:["Aa",null,Fm],skewX:["A",null,Ig([Th,Pl])],skewY:["A",null,Ig([Pl,Th])],translate:["Tt",Ig([Th,Th,Jl]),Fm],translateX:["T",Ig([Th,Jl,Jl]),Ig([Th,Jl])],translateY:["T",Ig([Jl,Th,Jl]),Ig([Jl,Th])],translateZ:["L",Ig([Jl,Jl,Th])],translate3d:["TTL",Fm]};function oC(b){for(var x=[],E=b.length,z=0;z<E;z++){var te=b[z],re=te[0],oe=te.slice(1);re==="translate"||re==="skew"?oe.length===1&&oe.push(0):re==="scale"&&oe.length===1&&oe.push(oe[0]);var le=H1[re];if(!le)return[];var he=oe.map(function(ge){return gu(ge)});x.push({t:re,d:he})}return x}function aC(b){if(Array.isArray(b))return oC(b);if(b=(b||"none").trim(),b==="none")return[];var x=[],E,z=0;for(By.lastIndex=0;E=By.exec(b);){if(E.index!==z)return[];z=E.index+E[0].length;var te=E[1],re=H1[te];if(!re)return[];var oe=E[2].split(","),le=re[0];if(le.length<oe.length)return[];for(var he=[],ge=0;ge<le.length;ge++){var Ae=oe[ge],Pe=le[ge],We=void 0;if(Ae?We={A:function(qe){return qe.trim()==="0"?Pl:Fv(qe)},N:Iy,T:Bf,L:Dg}[Pe.toUpperCase()](Ae):We={a:Pl,n:he[0],t:Jl}[Pe],We===void 0)return[];he.push(We)}if(x.push({t:te,d:he}),By.lastIndex===b.length)return x}return[]}function ZA(b){if(Array.isArray(b))return oC(b);if(b=(b||"none").trim(),b==="none")return[];var x=[],E,z=0;for(By.lastIndex=0;E=By.exec(b);){if(E.index!==z)return[];z=E.index+E[0].length;var te=E[1],re=H1[te];if(!re)return[];var oe=E[2].split(","),le=re[0];if(le.length<oe.length)return[];for(var he=[],ge=0;ge<le.length;ge++){var Ae=oe[ge],Pe=le[ge],We=void 0;if(Ae?We={A:function(qe){return qe.trim()==="0"?Pl:jh(qe)},N:Nm,T:f0,L:eP}[Pe.toUpperCase()](Ae):We={a:Pl,n:he[0],t:Jl}[Pe],We===void 0)return[];he.push(We)}if(x.push({t:te,d:he}),By.lastIndex===b.length)return x}return[]}function ag(b){var x,E,z,te;switch(b.t){case"rotateX":return te=mc(Kd(b.d[0])),[1,0,0,0,0,Math.cos(te),Math.sin(te),0,0,-Math.sin(te),Math.cos(te),0,0,0,0,1];case"rotateY":return te=mc(Kd(b.d[0])),[Math.cos(te),0,-Math.sin(te),0,0,1,0,0,Math.sin(te),0,Math.cos(te),0,0,0,0,1];case"rotate":case"rotateZ":return te=mc(Kd(b.d[0])),[Math.cos(te),Math.sin(te),0,0,-Math.sin(te),Math.cos(te),0,0,0,0,1,0,0,0,0,1];case"rotate3d":x=b.d[0].value,E=b.d[1].value,z=b.d[2].value,te=mc(Kd(b.d[3]));var re=x*x+E*E+z*z;if(re===0)x=1,E=0,z=0;else if(re!==1){var oe=Math.sqrt(re);x/=oe,E/=oe,z/=oe}var le=Math.sin(te/2),he=le*Math.cos(te/2),ge=le*le;return[1-2*(E*E+z*z)*ge,2*(x*E*ge+z*he),2*(x*z*ge-E*he),0,2*(x*E*ge-z*he),1-2*(x*x+z*z)*ge,2*(E*z*ge+x*he),0,2*(x*z*ge+E*he),2*(E*z*ge-x*he),1-2*(x*x+E*E)*ge,0,0,0,0,1];case"scale":return[b.d[0].value,0,0,0,0,b.d[1].value,0,0,0,0,1,0,0,0,0,1];case"scaleX":return[b.d[0].value,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"scaleY":return[1,0,0,0,0,b.d[0].value,0,0,0,0,1,0,0,0,0,1];case"scaleZ":return[1,0,0,0,0,1,0,0,0,0,b.d[0].value,0,0,0,0,1];case"scale3d":return[b.d[0].value,0,0,0,0,b.d[1].value,0,0,0,0,b.d[2].value,0,0,0,0,1];case"skew":var Ae=mc(Kd(b.d[0])),Pe=mc(Kd(b.d[1]));return[1,Math.tan(Pe),0,0,Math.tan(Ae),1,0,0,0,0,1,0,0,0,0,1];case"skewX":return te=mc(Kd(b.d[0])),[1,0,0,0,Math.tan(te),1,0,0,0,0,1,0,0,0,0,1];case"skewY":return te=mc(Kd(b.d[0])),[1,Math.tan(te),0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"translate":return x=og(b.d[0],0,null)||0,E=og(b.d[1],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,x,E,0,1];case"translateX":return x=og(b.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,x,0,0,1];case"translateY":return E=og(b.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,0,E,0,1];case"translateZ":return z=og(b.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,z,1];case"translate3d":return x=og(b.d[0],0,null)||0,E=og(b.d[1],0,null)||0,z=og(b.d[2],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,x,E,z,1];case"perspective":var We=og(b.d[0],0,null)||0,Xe=We?-1/We:0;return[1,0,0,0,0,1,0,0,0,0,1,Xe,0,0,0,1];case"matrix":return[b.d[0].value,b.d[1].value,0,0,b.d[2].value,b.d[3].value,0,0,0,0,1,0,b.d[4].value,b.d[5].value,0,1];case"matrix3d":return b.d.map(function(qe){return qe.value})}}function V1(b,x){return[b[0]*x[0]+b[4]*x[1]+b[8]*x[2]+b[12]*x[3],b[1]*x[0]+b[5]*x[1]+b[9]*x[2]+b[13]*x[3],b[2]*x[0]+b[6]*x[1]+b[10]*x[2]+b[14]*x[3],b[3]*x[0]+b[7]*x[1]+b[11]*x[2]+b[15]*x[3],b[0]*x[4]+b[4]*x[5]+b[8]*x[6]+b[12]*x[7],b[1]*x[4]+b[5]*x[5]+b[9]*x[6]+b[13]*x[7],b[2]*x[4]+b[6]*x[5]+b[10]*x[6]+b[14]*x[7],b[3]*x[4]+b[7]*x[5]+b[11]*x[6]+b[15]*x[7],b[0]*x[8]+b[4]*x[9]+b[8]*x[10]+b[12]*x[11],b[1]*x[8]+b[5]*x[9]+b[9]*x[10]+b[13]*x[11],b[2]*x[8]+b[6]*x[9]+b[10]*x[10]+b[14]*x[11],b[3]*x[8]+b[7]*x[9]+b[11]*x[10]+b[15]*x[11],b[0]*x[12]+b[4]*x[13]+b[8]*x[14]+b[12]*x[15],b[1]*x[12]+b[5]*x[13]+b[9]*x[14]+b[13]*x[15],b[2]*x[12]+b[6]*x[13]+b[10]*x[14]+b[14]*x[15],b[3]*x[12]+b[7]*x[13]+b[11]*x[14]+b[15]*x[15]]}function HT(b){return b.length===0?[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]:b.map(ag).reduce(V1)}function YA(b){var x=[0,0,0],E=[1,1,1],z=[0,0,0],te=[0,0,0,1],re=[0,0,0,1];return Vw(HT(b),x,E,z,te,re),[[x,E,z,re,te]]}var VT=function(){function b(z,te){for(var re=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],oe=0;oe<4;oe++)for(var le=0;le<4;le++)for(var he=0;he<4;he++)re[oe][le]+=te[oe][he]*z[he][le];return re}function x(z){return z[0][2]===0&&z[0][3]===0&&z[1][2]===0&&z[1][3]===0&&z[2][0]===0&&z[2][1]===0&&z[2][2]===1&&z[2][3]===0&&z[3][2]===0&&z[3][3]===1}function E(z,te,re,oe,le){for(var he=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],ge=0;ge<4;ge++)he[ge][3]=le[ge];for(var Ae=0;Ae<3;Ae++)for(var Pe=0;Pe<3;Pe++)he[3][Ae]+=z[Pe]*he[Pe][Ae];var We=oe[0],Xe=oe[1],qe=oe[2],nt=oe[3],at=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];at[0][0]=1-2*(Xe*Xe+qe*qe),at[0][1]=2*(We*Xe-qe*nt),at[0][2]=2*(We*qe+Xe*nt),at[1][0]=2*(We*Xe+qe*nt),at[1][1]=1-2*(We*We+qe*qe),at[1][2]=2*(Xe*qe-We*nt),at[2][0]=2*(We*qe-Xe*nt),at[2][1]=2*(Xe*qe+We*nt),at[2][2]=1-2*(We*We+Xe*Xe),he=b(he,at);var pt=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];re[2]&&(pt[2][1]=re[2],he=b(he,pt)),re[1]&&(pt[2][1]=0,pt[2][0]=re[0],he=b(he,pt)),re[0]&&(pt[2][0]=0,pt[1][0]=re[0],he=b(he,pt));for(var mt=0;mt<3;mt++)for(var bt=0;bt<3;bt++)he[mt][bt]*=te[mt];return x(he)?[he[0][0],he[0][1],he[1][0],he[1][1],he[3][0],he[3][1]]:he[0].concat(he[1],he[2],he[3])}return E}();function KT(b){return b.toFixed(6).replace(".000000","")}function XA(b,x){var E,z;return b.decompositionPair!==x&&(b.decompositionPair=x,E=YA(b)),x.decompositionPair!==b&&(x.decompositionPair=b,z=YA(x)),E[0]===null||z[0]===null?[[!1],[!0],function(te){return te?x[0].d:b[0].d}]:(E[0].push(0),z[0].push(1),[E,z,function(te){var re=ZT(E[0][3],z[0][3],te[5]),oe=VT(te[0],te[1],te[2],re,te[4]),le=oe.map(KT).join(",");return le}])}function uP(b,x){for(var E=0,z=0;z<b.length;z++)E+=b[z]*x[z];return E}function ZT(b,x,E){var z=uP(b,x);z=Sh(z,-1,1);var te=[];if(z===1)te=b;else for(var re=Math.acos(z),oe=Math.sin(E*re)*1/Math.sqrt(1-z*z),le=0;le<4;le++)te.push(b[le]*(Math.cos(E*re)-z*oe)+x[le]*oe);return te}function sC(b){return b.replace(/[XY]/,"")}function lC(b){return b.replace(/(X|Y|Z|3d)?$/,"3d")}var QA=function(x,E){return x==="perspective"&&E==="perspective"||(x==="matrix"||x==="matrix3d")&&(E==="matrix"||E==="matrix3d")};function cP(b,x,E){var z=!1;if(!b.length||!x.length){b.length||(z=!0,b=x,x=[]);for(var te=function(){var kn=b[re],Vn=kn.t,vr=kn.d,or=Vn.substring(0,5)==="scale"?1:0;x.push({t:Vn,d:vr.map(function(Or){return typeof Or=="number"?gu(or):gu(or,Or.unit)})})},re=0;re<b.length;re++)te()}var oe=[],le=[],he=[];if(b.length!==x.length){var ge=XA(b,x);oe=[ge[0]],le=[ge[1]],he=[["matrix",[ge[2]]]]}else for(var Ae=0;Ae<b.length;Ae++){var Pe=b[Ae].t,We=x[Ae].t,Xe=b[Ae].d,qe=x[Ae].d,nt=H1[Pe],at=H1[We],pt=void 0;if(QA(Pe,We)){var mt=XA([b[Ae]],[x[Ae]]);oe.push(mt[0]),le.push(mt[1]),he.push(["matrix",[mt[2]]]);continue}else if(Pe===We)pt=Pe;else if(nt[2]&&at[2]&&sC(Pe)===sC(We))pt=sC(Pe),Xe=nt[2](Xe),qe=at[2](qe);else if(nt[1]&&at[1]&&lC(Pe)===lC(We))pt=lC(Pe),Xe=nt[1](Xe),qe=at[1](qe);else{var bt=XA(b,x);oe=[bt[0]],le=[bt[1]],he=[["matrix",[bt[2]]]];break}for(var jt=[],Ut=[],Kt=[],Qt=0;Qt<Xe.length;Qt++){var Vt=Om(Xe[Qt],qe[Qt],E,!1,Qt);jt[Qt]=Vt[0],Ut[Qt]=Vt[1],Kt.push(Vt[2])}oe.push(jt),le.push(Ut),he.push([pt,Kt])}if(z){var vn=oe;oe=le,le=vn}return[oe,le,function(wn){return wn.map(function(kn,Vn){var vr=kn.map(function(or,Or){return he[Vn][1][Or](or)}).join(",");return he[Vn][0]==="matrix"&&vr.split(",").length===16&&(he[Vn][0]="matrix3d"),he[Vn][0]==="matrix3d"&&vr.split(",").length===6&&(he[Vn][0]="matrix"),"".concat(he[Vn][0],"(").concat(vr,")")}).join(" ")}]}var hP=rg(function(b){if(qu(b)){if(b==="text-anchor")return[gu(0,"px"),gu(0,"px")];var x=b.split(" ");return x.length===1&&(x[0]==="top"||x[0]==="bottom"?(x[1]=x[0],x[0]="center"):x[1]="center"),x.length!==2?null:[Bf(dP(x[0])),Bf(dP(x[1]))]}return[gu(b[0]||0,"px"),gu(b[1]||0,"px")]});function dP(b){return b==="center"?"50%":b==="left"||b==="top"?"0%":b==="right"||b==="bottom"?"100%":b}var K1=[{n:"display",k:["none"]},{n:"opacity",int:!0,inh:!0,d:"1",syntax:Ja.OPACITY_VALUE},{n:"fillOpacity",int:!0,inh:!0,d:"1",syntax:Ja.OPACITY_VALUE},{n:"strokeOpacity",int:!0,inh:!0,d:"1",syntax:Ja.OPACITY_VALUE},{n:"fill",int:!0,k:["none"],d:"none",syntax:Ja.PAINT},{n:"fillRule",k:["nonzero","evenodd"],d:"nonzero"},{n:"stroke",int:!0,k:["none"],d:"none",syntax:Ja.PAINT,l:!0},{n:"shadowType",k:["inner","outer","both"],d:"outer",l:!0},{n:"shadowColor",int:!0,syntax:Ja.COLOR},{n:"shadowOffsetX",int:!0,l:!0,d:"0",syntax:Ja.LENGTH_PERCENTAGE},{n:"shadowOffsetY",int:!0,l:!0,d:"0",syntax:Ja.LENGTH_PERCENTAGE},{n:"shadowBlur",int:!0,l:!0,d:"0",syntax:Ja.SHADOW_BLUR},{n:"lineWidth",int:!0,inh:!0,d:"1",l:!0,a:["strokeWidth"],syntax:Ja.LENGTH_PERCENTAGE},{n:"increasedLineWidthForHitTesting",inh:!0,d:"0",l:!0,syntax:Ja.LENGTH_PERCENTAGE},{n:"lineJoin",inh:!0,l:!0,a:["strokeLinejoin"],k:["miter","bevel","round"],d:"miter"},{n:"lineCap",inh:!0,l:!0,a:["strokeLinecap"],k:["butt","round","square"],d:"butt"},{n:"lineDash",int:!0,inh:!0,k:["none"],a:["strokeDasharray"],syntax:Ja.LENGTH_PERCENTAGE_12},{n:"lineDashOffset",int:!0,inh:!0,d:"0",a:["strokeDashoffset"],syntax:Ja.LENGTH_PERCENTAGE},{n:"offsetPath",syntax:Ja.DEFINED_PATH},{n:"offsetDistance",int:!0,syntax:Ja.OFFSET_DISTANCE},{n:"dx",int:!0,l:!0,d:"0",syntax:Ja.LENGTH_PERCENTAGE},{n:"dy",int:!0,l:!0,d:"0",syntax:Ja.LENGTH_PERCENTAGE},{n:"zIndex",ind:!0,int:!0,d:"0",k:["auto"],syntax:Ja.Z_INDEX},{n:"visibility",k:["visible","hidden"],ind:!0,inh:!0,int:!0,d:"visible"},{n:"pointerEvents",inh:!0,k:["none","auto","stroke","fill","painted","visible","visiblestroke","visiblefill","visiblepainted","all"],d:"auto"},{n:"filter",ind:!0,l:!0,k:["none"],d:"none",syntax:Ja.FILTER},{n:"clipPath",syntax:Ja.DEFINED_PATH},{n:"textPath",syntax:Ja.DEFINED_PATH},{n:"textPathSide",k:["left","right"],d:"left"},{n:"textPathStartOffset",l:!0,d:"0",syntax:Ja.LENGTH_PERCENTAGE},{n:"transform",p:100,int:!0,k:["none"],d:"none",syntax:Ja.TRANSFORM},{n:"transformOrigin",p:100,d:"0 0",l:!0,syntax:Ja.TRANSFORM_ORIGIN},{n:"cx",int:!0,l:!0,d:"0",syntax:Ja.COORDINATE},{n:"cy",int:!0,l:!0,d:"0",syntax:Ja.COORDINATE},{n:"cz",int:!0,l:!0,d:"0",syntax:Ja.COORDINATE},{n:"r",int:!0,l:!0,d:"0",syntax:Ja.LENGTH_PERCENTAGE},{n:"rx",int:!0,l:!0,d:"0",syntax:Ja.LENGTH_PERCENTAGE},{n:"ry",int:!0,l:!0,d:"0",syntax:Ja.LENGTH_PERCENTAGE},{n:"x",int:!0,l:!0,d:"0",syntax:Ja.COORDINATE},{n:"y",int:!0,l:!0,d:"0",syntax:Ja.COORDINATE},{n:"z",int:!0,l:!0,d:"0",syntax:Ja.COORDINATE},{n:"width",int:!0,l:!0,k:["auto","fit-content","min-content","max-content"],d:"0",syntax:Ja.LENGTH_PERCENTAGE},{n:"height",int:!0,l:!0,k:["auto","fit-content","min-content","max-content"],d:"0",syntax:Ja.LENGTH_PERCENTAGE},{n:"radius",int:!0,l:!0,d:"0",syntax:Ja.LENGTH_PERCENTAGE_14},{n:"x1",int:!0,l:!0,syntax:Ja.COORDINATE},{n:"y1",int:!0,l:!0,syntax:Ja.COORDINATE},{n:"z1",int:!0,l:!0,syntax:Ja.COORDINATE},{n:"x2",int:!0,l:!0,syntax:Ja.COORDINATE},{n:"y2",int:!0,l:!0,syntax:Ja.COORDINATE},{n:"z2",int:!0,l:!0,syntax:Ja.COORDINATE},{n:"d",int:!0,l:!0,d:"",syntax:Ja.PATH,p:50},{n:"points",int:!0,l:!0,syntax:Ja.LIST_OF_POINTS,p:50},{n:"text",l:!0,d:"",syntax:Ja.TEXT,p:50},{n:"textTransform",l:!0,inh:!0,k:["capitalize","uppercase","lowercase","none"],d:"none",syntax:Ja.TEXT_TRANSFORM,p:51},{n:"font",l:!0},{n:"fontSize",int:!0,inh:!0,d:"16px",l:!0,syntax:Ja.LENGTH_PERCENTAGE},{n:"fontFamily",l:!0,inh:!0,d:"sans-serif"},{n:"fontStyle",l:!0,inh:!0,k:["normal","italic","oblique"],d:"normal"},{n:"fontWeight",l:!0,inh:!0,k:["normal","bold","bolder","lighter"],d:"normal"},{n:"fontVariant",l:!0,inh:!0,k:["normal","small-caps"],d:"normal"},{n:"lineHeight",l:!0,syntax:Ja.LENGTH,int:!0,d:"0"},{n:"letterSpacing",l:!0,syntax:Ja.LENGTH,int:!0,d:"0"},{n:"miterLimit",l:!0,syntax:Ja.NUMBER,d:function(x){return x===No.PATH||x===No.POLYGON||x===No.POLYLINE?"4":"10"}},{n:"wordWrap",l:!0},{n:"wordWrapWidth",l:!0},{n:"maxLines",l:!0},{n:"textOverflow",l:!0,d:"clip"},{n:"leading",l:!0},{n:"textBaseline",l:!0,inh:!0,k:["top","hanging","middle","alphabetic","ideographic","bottom"],d:"alphabetic"},{n:"textAlign",l:!0,inh:!0,k:["start","center","middle","end","left","right"],d:"start"},{n:"markerStart",syntax:Ja.MARKER},{n:"markerEnd",syntax:Ja.MARKER},{n:"markerMid",syntax:Ja.MARKER},{n:"markerStartOffset",syntax:Ja.LENGTH,l:!0,int:!0,d:"0"},{n:"markerEndOffset",syntax:Ja.LENGTH,l:!0,int:!0,d:"0"}],_v=new Set(K1.filter(function(b){return!!b.l}).map(function(b){return b.n})),rv={},JA=function(){function b(x){var E=this;(0,$r.Z)(this,b),this.runtime=x,K1.forEach(function(z){E.registerMetadata(z)})}return(0,qi.Z)(b,[{key:"registerMetadata",value:function(E){[E.n].concat((0,qa.Z)(E.a||[])).forEach(function(z){rv[z]=E})}},{key:"getPropertySyntax",value:function(E){return this.runtime.CSSPropertySyntaxFactory[E]}},{key:"processProperties",value:function(E,z){var te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{skipUpdateAttribute:!1,skipParse:!1,forceUpdateGeometry:!1,usedAttributes:[],memoize:!0};Object.assign(E.attributes,z);var re=E.parsedStyle.clipPath,oe=E.parsedStyle.offsetPath;uC(E,z);var le=!!te.forceUpdateGeometry;if(!le){for(var he in z)if(_v.has(he)){le=!0;break}}var ge=Z1(E);ge.has("fill")&&z.fill&&(E.parsedStyle.fill=Dy(z.fill)),ge.has("stroke")&&z.stroke&&(E.parsedStyle.stroke=Dy(z.stroke)),ge.has("shadowColor")&&z.shadowColor&&(E.parsedStyle.shadowColor=Dy(z.shadowColor)),ge.has("filter")&&z.filter&&(E.parsedStyle.filter=W1(z.filter)),ge.has("radius")&&!El(z.radius)&&(E.parsedStyle.radius=pE(z.radius,4)),ge.has("lineDash")&&!El(z.lineDash)&&(E.parsedStyle.lineDash=pE(z.lineDash,"even")),ge.has("points")&&z.points&&(E.parsedStyle.points=lP(z.points)),ge.has("d")&&z.d===""&&(E.parsedStyle.d=(0,Ho.Z)({},To)),ge.has("d")&&z.d&&(E.parsedStyle.d=aP(z.d)),ge.has("textTransform")&&z.textTransform&&this.runtime.CSSPropertySyntaxFactory[Ja.TEXT_TRANSFORM].calculator(null,null,{value:z.textTransform},E,null),ge.has("clipPath")&&!Fl(z.clipPath)&&this.runtime.CSSPropertySyntaxFactory[Ja.DEFINED_PATH].calculator("clipPath",re,z.clipPath,E,this.runtime),ge.has("offsetPath")&&z.offsetPath&&this.runtime.CSSPropertySyntaxFactory[Ja.DEFINED_PATH].calculator("offsetPath",oe,z.offsetPath,E,this.runtime),ge.has("transform")&&z.transform&&(E.parsedStyle.transform=aC(z.transform)),ge.has("transformOrigin")&&z.transformOrigin&&(E.parsedStyle.transformOrigin=hP(z.transformOrigin)),ge.has("markerStart")&&z.markerStart&&(E.parsedStyle.markerStart=this.runtime.CSSPropertySyntaxFactory[Ja.MARKER].calculator(null,z.markerStart,z.markerStart,null,null)),ge.has("markerEnd")&&z.markerEnd&&(E.parsedStyle.markerEnd=this.runtime.CSSPropertySyntaxFactory[Ja.MARKER].calculator(null,z.markerEnd,z.markerEnd,null,null)),ge.has("markerMid")&&z.markerMid&&(E.parsedStyle.markerMid=this.runtime.CSSPropertySyntaxFactory[Ja.MARKER].calculator("",z.markerMid,z.markerMid,null,null)),ge.has("zIndex")&&!El(z.zIndex)&&this.runtime.CSSPropertySyntaxFactory[Ja.Z_INDEX].postProcessor(E),ge.has("offsetDistance")&&!El(z.offsetDistance)&&this.runtime.CSSPropertySyntaxFactory[Ja.OFFSET_DISTANCE].postProcessor(E),ge.has("transform")&&z.transform&&this.runtime.CSSPropertySyntaxFactory[Ja.TRANSFORM].postProcessor(E),ge.has("transformOrigin")&&z.transformOrigin&&this.runtime.CSSPropertySyntaxFactory[Ja.TRANSFORM_ORIGIN].postProcessor(E),le&&(E.geometry.dirty=!0,E.renderable.boundsDirty=!0,E.renderable.renderBoundsDirty=!0,te.forceUpdateGeometry||this.runtime.sceneGraphService.dirtifyToRoot(E))}},{key:"updateGeometry",value:function(E){var z=E.nodeName,te=this.runtime.geometryUpdaterFactory[z];if(te){var re=E.geometry;re.contentBounds||(re.contentBounds=new Dc),re.renderBounds||(re.renderBounds=new Dc);var oe=E.parsedStyle,le=te.update(oe,E),he=le.cx,ge=he===void 0?0:he,Ae=le.cy,Pe=Ae===void 0?0:Ae,We=le.cz,Xe=We===void 0?0:We,qe=le.hwidth,nt=qe===void 0?0:qe,at=le.hheight,pt=at===void 0?0:at,mt=le.hdepth,bt=mt===void 0?0:mt,jt=[Math.abs(nt),Math.abs(pt),bt],Ut=oe.stroke,Kt=oe.lineWidth,Qt=Kt===void 0?1:Kt,Vt=oe.increasedLineWidthForHitTesting,vn=Vt===void 0?0:Vt,wn=oe.shadowType,kn=wn===void 0?"outer":wn,Vn=oe.shadowColor,vr=oe.filter,or=vr===void 0?[]:vr,Or=oe.transformOrigin,qr=[ge,Pe,Xe];re.contentBounds.update(qr,jt);var wr=z===No.POLYLINE||z===No.POLYGON||z===No.PATH?Math.SQRT2:.5,Sr=Ut&&!Ut.isNone;if(Sr){var Tr=((Qt||0)+(vn||0))*wr;jt[0]+=Tr,jt[1]+=Tr}if(re.renderBounds.update(qr,jt),Vn&&kn&&kn!=="inner"){var ri=re.renderBounds,Cr=ri.min,yi=ri.max,Co=oe.shadowBlur,wo=oe.shadowOffsetX,vi=oe.shadowOffsetY,Mi=Co||0,$i=wo||0,Lo=vi||0,Jo=Cr[0]-Mi+$i,Ta=yi[0]+Mi+$i,Bs=Cr[1]-Mi+Lo,js=yi[1]+Mi+Lo;Cr[0]=Math.min(Cr[0],Jo),yi[0]=Math.max(yi[0],Ta),Cr[1]=Math.min(Cr[1],Bs),yi[1]=Math.max(yi[1],js),re.renderBounds.setMinMax(Cr,yi)}or.forEach(function(ms){var ru=ms.name,Ql=ms.params;if(ru==="blur"){var Ra=Ql[0].value;re.renderBounds.update(re.renderBounds.center,Lr(re.renderBounds.halfExtents,re.renderBounds.halfExtents,[Ra,Ra,0]))}else if(ru==="drop-shadow"){var ws=Ql[0].value,$o=Ql[1].value,va=Ql[2].value,Fa=re.renderBounds,Xs=Fa.min,ua=Fa.max,vl=Xs[0]-va+ws,Js=ua[0]+va+ws,Yu=Xs[1]-va+$o,du=ua[1]+va+$o;Xs[0]=Math.min(Xs[0],vl),ua[0]=Math.max(ua[0],Js),Xs[1]=Math.min(Xs[1],Yu),ua[1]=Math.max(ua[1],du),re.renderBounds.setMinMax(Xs,ua)}}),E.geometry.dirty=!1;var Sa=nt<0,Is=pt<0,Ss=(Sa?-1:1)*(Or?og(Or[0],0,E,!0):0),el=(Is?-1:1)*(Or?og(Or[1],1,E,!0):0);(Ss||el)&&E.setOrigin(Ss,el)}}},{key:"updateSizeAttenuation",value:function(E,z){E.style.isSizeAttenuation?(E.style.rawLineWidth||(E.style.rawLineWidth=E.style.lineWidth),E.style.lineWidth=(E.style.rawLineWidth||1)/z,E.nodeName===No.CIRCLE&&(E.style.rawR||(E.style.rawR=E.style.r),E.style.r=(E.style.rawR||1)/z)):(E.style.rawLineWidth&&(E.style.lineWidth=E.style.rawLineWidth,delete E.style.rawLineWidth),E.nodeName===No.CIRCLE&&E.style.rawR&&(E.style.r=E.style.rawR,delete E.style.rawR))}}])}();function uC(b,x){var E=Z1(b);for(var z in x)E.has(z)&&(b.parsedStyle[z]=x[z])}function Z1(b){return b.constructor.PARSED_STYLE_LIST}var qA=function(){function b(){(0,$r.Z)(this,b),this.mixer=Bm}return(0,qi.Z)(b,[{key:"calculator",value:function(E,z,te,re){return Kd(te)}}])}(),cC=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,[{key:"calculator",value:function(E,z,te,re,oe){return te instanceof Tg&&(te=null),oe.sceneGraphService.updateDisplayObjectDependency(E,z,te,re),E==="clipPath"&&re.forEach(function(le){le.childNodes.length===0&&oe.sceneGraphService.dirtifyToRoot(le)}),te}}])}(),hC=function(){function b(){(0,$r.Z)(this,b),this.parser=Dy,this.mixer=UA}return(0,qi.Z)(b,[{key:"calculator",value:function(E,z,te,re){return te instanceof Tg?te.value==="none"?_1:bs:te}}])}(),$A=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,[{key:"calculator",value:function(E,z,te){return te instanceof Tg?[]:te}}])}();function eS(b){var x=b.parsedStyle,E=x.fontSize;return El(E)?null:E}var xE=function(){function b(){(0,$r.Z)(this,b),this.mixer=Bm}return(0,qi.Z)(b,[{key:"calculator",value:function(E,z,te,re,oe){if(As(te))return te;if(yc.isRelativeUnit(te.unit)){if(te.unit===os.kPercentage)return 0;if(te.unit===os.kEms){if(re.parentNode){var le=eS(re.parentNode);if(le)return le*=te.value,le}return 0}if(te.unit===os.kRems){var he;if(re!=null&&(he=re.ownerDocument)!==null&&he!==void 0&&he.documentElement){var ge=eS(re.ownerDocument.documentElement);if(ge)return ge*=te.value,ge}return 0}}else return te.value}}])}(),dC=function(){function b(){(0,$r.Z)(this,b),this.mixer=nv}return(0,qi.Z)(b,[{key:"calculator",value:function(E,z,te){return te.map(function(re){return re.value})}}])}(),tS=function(){function b(){(0,$r.Z)(this,b),this.mixer=nv}return(0,qi.Z)(b,[{key:"calculator",value:function(E,z,te){return te.map(function(re){return re.value})}}])}(),fC=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,[{key:"calculator",value:function(E,z,te,re){var oe;te instanceof Tg&&(te=null);var le=(oe=te)===null||oe===void 0?void 0:oe.cloneNode(!0);return le&&(le.style.isMarker=!0),le}}])}(),YT=function(){function b(){(0,$r.Z)(this,b),this.mixer=Bm}return(0,qi.Z)(b,[{key:"calculator",value:function(E,z,te){return te.value}}])}(),zv=function(){function b(){(0,$r.Z)(this,b),this.mixer=Oy(0,1)}return(0,qi.Z)(b,[{key:"calculator",value:function(E,z,te){return te.value}},{key:"postProcessor",value:function(E){var z=E.parsedStyle,te=z.offsetPath,re=z.offsetDistance;if(te){var oe=te.nodeName;if(oe===No.LINE||oe===No.PATH||oe===No.POLYLINE){var le=te.getPoint(re);le&&E.setLocalPosition(le.x,le.y)}}}}])}(),Y1=function(){function b(){(0,$r.Z)(this,b),this.mixer=Oy(0,1)}return(0,qi.Z)(b,[{key:"calculator",value:function(E,z,te){return te.value}}])}(),Rf=function(){function b(){(0,$r.Z)(this,b),this.parser=aP,this.mixer=sP}return(0,qi.Z)(b,[{key:"calculator",value:function(E,z,te){return te instanceof Tg&&te.value==="unset"?{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new Ol(0,0,0,0)}:te}}])}(),fP=(0,qi.Z)(function b(){(0,$r.Z)(this,b),this.mixer=iC}),nS=function(b){function x(){var E;(0,$r.Z)(this,x);for(var z=arguments.length,te=new Array(z),re=0;re<z;re++)te[re]=arguments[re];return E=Ls(this,x,[].concat(te)),E.mixer=Oy(0,1/0),E}return(0,ps.Z)(x,b),(0,qi.Z)(x)}(xE),gC=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,[{key:"calculator",value:function(E,z,te,re){return te instanceof Tg?te.value==="unset"?"":te.value:"".concat(te)}},{key:"postProcessor",value:function(E){E.nodeValue="".concat(E.parsedStyle.text)||""}}])}(),XT=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,[{key:"calculator",value:function(E,z,te,re){var oe=re.getAttribute("text");if(oe){var le=oe;te.value==="capitalize"?le=oe.charAt(0).toUpperCase()+oe.slice(1):te.value==="lowercase"?le=oe.toLowerCase():te.value==="uppercase"&&(le=oe.toUpperCase()),re.parsedStyle.text=le}return te.value}}])}(),rS=function(x){return Object.fromEntries(Object.entries(x).filter(function(E){var z=_slicedToArray(E,2),te=z[1];return te!==void 0}))},as=new WeakMap;function QT(b,x,E){if(b){var z=typeof b=="string"?document.getElementById(b):b;as.has(z)&&as.get(z).destroy(E),as.set(z,x)}}var iS=typeof window!="undefined"&&typeof window.document!="undefined";function pC(b){return!!b.getAttribute}function gP(b,x){for(var E=0,z=b.length;E<z;){var te=E+z>>>1;vC(b[te],x)<0?E=te+1:z=te}return E}function vC(b,x){var E=Number(b.parsedStyle.zIndex||0),z=Number(x.parsedStyle.zIndex||0);if(E===z){var te=b.parentNode;if(te){var re=te.childNodes||[];return re.indexOf(b)-re.indexOf(x)}}return E-z}function pP(b){var x=b;do{var E,z=(E=x.parsedStyle)===null||E===void 0?void 0:E.clipPath;if(z)return x;x=x.parentElement}while(x!==null);return null}var mC="px";function vP(b,x,E){iS&&b.style&&(b.style.width=x+mC,b.style.height=E+mC)}function iv(b,x){if(iS)return document.defaultView.getComputedStyle(b,null).getPropertyValue(x)}function EE(b){var x=iv(b,"width");return x==="auto"?b.offsetWidth:parseFloat(x)}function yC(b){var x=iv(b,"height");return x==="auto"?b.offsetHeight:parseFloat(x)}var mP=1,yP={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},oS=typeof performance=="object"&&performance.now?performance:Date;function Ry(b){return b.nodeName===No.FRAGMENT?!0:b.getRootNode().nodeName===No.FRAGMENT}function jv(){var b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"auto",x=arguments.length>1?arguments[1]:void 0,E=arguments.length>2?arguments[2]:void 0,z=!1,te=!1,re=!!x&&!x.isNone,oe=!!E&&!E.isNone;return b==="visiblepainted"||b==="painted"||b==="auto"?(z=re,te=oe):b==="visiblefill"||b==="fill"?z=!0:b==="visiblestroke"||b==="stroke"?te=!0:(b==="visible"||b==="all")&&(z=!0,te=!0),[z,te]}var xC=1,EC=function(){return xC++},kf=typeof self=="object"&&self.self===self?self:typeof Oe.g=="object"&&Oe.g.global===Oe.g?Oe.g:{},ky=Date.now(),aS=function(){return kf.performance&&typeof kf.performance.now=="function"?kf.performance.now():Date.now()-ky},_m={},AC=Date.now(),bd=function(x){if(typeof x!="function")throw new TypeError("".concat(x," is not a function"));var E=Date.now(),z=E-AC,te=z>16?0:16-z,re=EC();return _m[re]=x,Object.keys(_m).length>1||setTimeout(function(){AC=E;var oe=_m;_m={},Object.keys(oe).forEach(function(le){return oe[le](aS())})},te),re},qg=function(x){delete _m[x]},SC=["","webkit","moz","ms","o"],wC=function(x){return typeof x!="string"?bd:x===""?kf.requestAnimationFrame:kf["".concat(x,"RequestAnimationFrame")]},Og=function(x){return typeof x!="string"?qg:x===""?kf.cancelAnimationFrame:kf["".concat(x,"CancelAnimationFrame")]||kf["".concat(x,"CancelRequestAnimationFrame")]},sS=function(x,E){for(var z=0;x[z]!==void 0;){if(E(x[z]))return x[z];z+=1}},vp=sS(SC,function(b){return!!wC(b)}),Wv=wC(vp),Fy=Og(vp);kf.requestAnimationFrame=Wv,kf.cancelAnimationFrame=Fy;var AE=function(){function b(){(0,$r.Z)(this,b),this.callbacks=[]}return(0,qi.Z)(b,[{key:"getCallbacksNum",value:function(){return this.callbacks.length}},{key:"tapPromise",value:function(E,z){this.callbacks.push(z)}},{key:"promise",value:function(){for(var E=arguments.length,z=new Array(E),te=0;te<E;te++)z[te]=arguments[te];return Promise.all(this.callbacks.map(function(re){return re.apply(void 0,z)}))}}])}(),SE=function(){function b(){(0,$r.Z)(this,b),this.callbacks=[]}return(0,qi.Z)(b,[{key:"tapPromise",value:function(E,z){this.callbacks.push(z)}},{key:"promise",value:function(){var x=(0,Bv.Z)((0,Gd.Z)().mark(function z(){var te,re,oe,le,he=arguments;return(0,Gd.Z)().wrap(function(Ae){for(;;)switch(Ae.prev=Ae.next){case 0:if(!this.callbacks.length){Ae.next=14;break}return Ae.next=3,(te=this.callbacks)[0].apply(te,he);case 3:re=Ae.sent,oe=0;case 5:if(!(oe<this.callbacks.length-1)){Ae.next=13;break}return le=this.callbacks[oe],Ae.next=9,le(re);case 9:re=Ae.sent;case 10:oe++,Ae.next=5;break;case 13:return Ae.abrupt("return",re);case 14:return Ae.abrupt("return",null);case 15:case"end":return Ae.stop()}},z,this)}));function E(){return x.apply(this,arguments)}return E}()}])}(),Zd=function(){function b(){(0,$r.Z)(this,b),this.callbacks=[]}return(0,qi.Z)(b,[{key:"tap",value:function(E,z){this.callbacks.push(z)}},{key:"call",value:function(){for(var E=arguments.length,z=new Array(E),te=0;te<E;te++)z[te]=arguments[te];var re=arguments;this.callbacks.forEach(function(oe){oe.apply(void 0,re)})}}])}(),zm=function(){function b(){(0,$r.Z)(this,b),this.callbacks=[]}return(0,qi.Z)(b,[{key:"tap",value:function(E,z){this.callbacks.push(z)}},{key:"call",value:function(){for(var E=arguments.length,z=new Array(E),te=0;te<E;te++)z[te]=arguments[te];if(this.callbacks.length){for(var re=arguments,oe=this.callbacks[0].apply(void 0,re),le=0;le<this.callbacks.length-1;le++){var he=this.callbacks[le];oe=he(oe)}return oe}return null}}])}(),_y=["serif","sans-serif","monospace","cursive","fantasy","system-ui"],Wp=/([\"\'])[^\'\"]+\1/;function Up(b){for(var x=b.fontSize,E=x===void 0?16:x,z=b.fontFamily,te=z===void 0?"sans-serif":z,re=b.fontStyle,oe=re===void 0?"normal":re,le=b.fontVariant,he=le===void 0?"normal":le,ge=b.fontWeight,Ae=ge===void 0?"normal":ge,Pe=As(E)&&"".concat(E,"px")||"16px",We=te.split(","),Xe=We.length-1;Xe>=0;Xe--){var qe=We[Xe].trim();!Wp.test(qe)&&_y.indexOf(qe)<0&&(qe='"'.concat(qe,'"')),We[Xe]=qe}return"".concat(oe," ").concat(he," ").concat(Ae," ").concat(Pe," ").concat(We.join(","))}function Gp(b,x,E){return Cf(b),b[4]=Math.tan(x),b[1]=Math.tan(E),b}var pc=vc(),ov=vc(),g0={scale:function(x){bf(pc,[x[0].value,x[1].value,1])},scaleX:function(x){bf(pc,[x[0].value,1,1])},scaleY:function(x){bf(pc,[1,x[0].value,1])},scaleZ:function(x){bf(pc,[1,1,x[0].value])},scale3d:function(x){bf(pc,[x[0].value,x[1].value,x[2].value])},translate:function(x){Ag(pc,[x[0].value,x[1].value,0])},translateX:function(x){Ag(pc,[x[0].value,0,0])},translateY:function(x){Ag(pc,[0,x[0].value,0])},translateZ:function(x){Ag(pc,[0,0,x[0].value])},translate3d:function(x){Ag(pc,[x[0].value,x[1].value,x[2].value])},rotate:function(x){it(pc,mc(Kd(x[0])))},rotateX:function(x){Ee(pc,mc(Kd(x[0])))},rotateY:function(x){_e(pc,mc(Kd(x[0])))},rotateZ:function(x){it(pc,mc(Kd(x[0])))},rotate3d:function(x){xm(pc,mc(Kd(x[3])),[x[0].value,x[1].value,x[2].value])},skew:function(x){Gp(pc,mc(x[0].value),mc(x[1].value))},skewX:function(x){Gp(pc,mc(x[0].value),0)},skewY:function(x){Gp(pc,0,mc(x[0].value))},matrix:function(x){ay(pc,x[0].value,x[1].value,0,0,x[2].value,x[3].value,0,0,0,0,1,0,x[4].value,x[5].value,0,1)},matrix3d:function(x){ay.apply(Ge,[pc].concat((0,qa.Z)(x.map(function(E){return E.value}))))}},lS=Kl(1,1,1),wE=Ts(),CE={translate:function(x,E){xa.sceneGraphService.setLocalScale(x,lS,!1),xa.sceneGraphService.setLocalEulerAngles(x,wE,void 0,void 0,!1),xa.sceneGraphService.setLocalPosition(x,[E[0].value,E[1].value,0],!1),xa.sceneGraphService.dirtifyLocal(x,x.transformable)}};function uS(b,x){if(b.length){if(b.length===1&&CE[b[0].t]){CE[b[0].t](x,b[0].d);return}for(var E=Cf(ov),z=0;z<b.length;z++){var te=b[z],re=te.t,oe=te.d,le=g0[re];le&&(le(oe),Ah(E,E,pc))}x.setLocalTransform(E)}else x.resetLocalTransform();return x.getLocalTransform()}var CC=function(){function b(){(0,$r.Z)(this,b),this.parser=ZA,this.mixer=cP}return(0,qi.Z)(b,[{key:"calculator",value:function(E,z,te,re){return te instanceof Tg?[]:te}},{key:"postProcessor",value:function(E){uS(E.parsedStyle.transform,E)}}])}(),bC=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,[{key:"postProcessor",value:function(E){var z=E.parsedStyle.transformOrigin;z[0].unit===os.kPixels&&z[1].unit===os.kPixels?E.setOrigin(z[0].value,z[1].value):E.getGeometryBounds()}}])}(),cS=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,[{key:"calculator",value:function(E,z,te,re){return te.value}},{key:"postProcessor",value:function(E){if(E.parentNode){var z=E.parentNode,te=z.renderable,re=z.sortable;te&&(te.dirty=!0),re&&(re.dirty=!0,re.dirtyReason=Ly.Z_INDEX_CHANGED)}}}])}(),PC=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,[{key:"update",value:function(E,z){var te=E.cx,re=te===void 0?0:te,oe=E.cy,le=oe===void 0?0:oe,he=E.r,ge=he===void 0?0:he;return{cx:re,cy:le,hwidth:ge,hheight:ge}}}])}(),hS=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,[{key:"update",value:function(E,z){var te=E.cx,re=te===void 0?0:te,oe=E.cy,le=oe===void 0?0:oe,he=E.rx,ge=he===void 0?0:he,Ae=E.ry,Pe=Ae===void 0?0:Ae;return{cx:re,cy:le,hwidth:ge,hheight:Pe}}}])}(),MC=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,[{key:"update",value:function(E){var z=E.x1,te=E.y1,re=E.x2,oe=E.y2,le=Math.min(z,re),he=Math.max(z,re),ge=Math.min(te,oe),Ae=Math.max(te,oe),Pe=he-le,We=Ae-ge,Xe=Pe/2,qe=We/2;return{cx:le+Xe,cy:ge+qe,hwidth:Xe,hheight:qe}}}])}(),LC=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,[{key:"update",value:function(E){var z=E.d,te=z.rect,re=te.x,oe=te.y,le=te.width,he=te.height,ge=le/2,Ae=he/2;return{cx:re+ge,cy:oe+Ae,hwidth:ge,hheight:Ae}}}])}(),dS=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,[{key:"update",value:function(E){if(E.points&&Df(E.points.points)){var z=E.points.points,te=Math.min.apply(Math,(0,qa.Z)(z.map(function(We){return We[0]}))),re=Math.max.apply(Math,(0,qa.Z)(z.map(function(We){return We[0]}))),oe=Math.min.apply(Math,(0,qa.Z)(z.map(function(We){return We[1]}))),le=Math.max.apply(Math,(0,qa.Z)(z.map(function(We){return We[1]}))),he=re-te,ge=le-oe,Ae=he/2,Pe=ge/2;return{cx:te+Ae,cy:oe+Pe,hwidth:Ae,hheight:Pe}}return{cx:0,cy:0,hwidth:0,hheight:0}}}])}(),zy=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,[{key:"update",value:function(E,z){var te=E.x,re=te===void 0?0:te,oe=E.y,le=oe===void 0?0:oe,he=E.src,ge=E.width,Ae=ge===void 0?0:ge,Pe=E.height,We=Pe===void 0?0:Pe,Xe=Ae,qe=We;return he&&!qu(he)&&(Xe||(Xe=he.width,E.width=Xe),qe||(qe=he.height,E.height=qe)),{cx:re+Xe/2,cy:le+qe/2,hwidth:Xe/2,hheight:qe/2}}}])}(),sg=function(){function b(x){(0,$r.Z)(this,b),this.globalRuntime=x}return(0,qi.Z)(b,[{key:"isReadyToMeasure",value:function(E,z){var te=E.text;return te}},{key:"update",value:function(E,z){var te,re=E.text,oe=E.textAlign,le=oe===void 0?"start":oe,he=E.lineWidth,ge=he===void 0?1:he,Ae=E.textBaseline,Pe=Ae===void 0?"alphabetic":Ae,We=E.dx,Xe=We===void 0?0:We,qe=E.dy,nt=qe===void 0?0:qe,at=E.x,pt=at===void 0?0:at,mt=E.y,bt=mt===void 0?0:mt;if(!this.isReadyToMeasure(E,z))return E.metrics={font:"",width:0,height:0,lines:[],lineWidths:[],lineHeight:0,maxLineWidth:0,fontProperties:{ascent:0,descent:0,fontSize:0},lineMetrics:[]},{hwidth:0,hheight:0,cx:0,cy:0};var jt=(z==null||(te=z.ownerDocument)===null||te===void 0||(te=te.defaultView)===null||te===void 0?void 0:te.getConfig())||{},Ut=jt.offscreenCanvas,Kt=this.globalRuntime.textService.measureText(re,E,Ut);E.metrics=Kt;var Qt=Kt.width,Vt=Kt.height,vn=Qt/2,wn=Vt/2,kn=pt+vn;le==="center"||le==="middle"?kn+=ge/2-vn:(le==="right"||le==="end")&&(kn+=ge-vn*2);var Vn=bt-wn;return Pe==="middle"?Vn+=wn:Pe==="top"||Pe==="hanging"?Vn+=wn*2:Pe==="alphabetic"||(Pe==="bottom"||Pe==="ideographic")&&(Vn+=0),Xe&&(kn+=Xe),nt&&(Vn+=nt),{cx:kn,cy:Vn,hwidth:vn,hheight:wn}}}])}(),X1=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,[{key:"update",value:function(E,z){return{cx:0,cy:0,hwidth:0,hheight:0}}}])}(),fS=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,[{key:"update",value:function(E,z){var te=E.x,re=te===void 0?0:te,oe=E.y,le=oe===void 0?0:oe,he=E.width,ge=he===void 0?0:he,Ae=E.height,Pe=Ae===void 0?0:Ae;return{cx:re+ge/2,cy:le+Pe/2,hwidth:ge/2,hheight:Pe/2}}}])}();function xP(b){return!!b.type}var a=function(){function b(x){(0,$r.Z)(this,b),this.eventPhase=b.prototype.NONE,this.bubbles=!0,this.cancelBubble=!0,this.cancelable=!1,this.defaultPrevented=!1,this.propagationStopped=!1,this.propagationImmediatelyStopped=!1,this.layer=new Hd,this.page=new Hd,this.canvas=new Hd,this.viewport=new Hd,this.composed=!1,this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,this.manager=x}return(0,qi.Z)(b,[{key:"name",get:function(){return this.type}},{key:"layerX",get:function(){return this.layer.x}},{key:"layerY",get:function(){return this.layer.y}},{key:"pageX",get:function(){return this.page.x}},{key:"pageY",get:function(){return this.page.y}},{key:"x",get:function(){return this.canvas.x}},{key:"y",get:function(){return this.canvas.y}},{key:"canvasX",get:function(){return this.canvas.x}},{key:"canvasY",get:function(){return this.canvas.y}},{key:"viewportX",get:function(){return this.viewport.x}},{key:"viewportY",get:function(){return this.viewport.y}},{key:"composedPath",value:function(){return this.manager&&(!this.path||this.path[0]!==this.target)&&(this.path=this.target?this.manager.propagationPath(this.target):[]),this.path}},{key:"propagationPath",get:function(){return this.composedPath()}},{key:"preventDefault",value:function(){this.nativeEvent instanceof Event&&this.nativeEvent.cancelable&&this.nativeEvent.preventDefault(),this.defaultPrevented=!0}},{key:"stopImmediatePropagation",value:function(){this.propagationImmediatelyStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}},{key:"initEvent",value:function(){}},{key:"initUIEvent",value:function(){}},{key:"clone",value:function(){throw new Error(Ku)}}])}(),y=function(b){function x(){var E;(0,$r.Z)(this,x);for(var z=arguments.length,te=new Array(z),re=0;re<z;re++)te[re]=arguments[re];return E=Ls(this,x,[].concat(te)),E.client=new Hd,E.movement=new Hd,E.offset=new Hd,E.global=new Hd,E.screen=new Hd,E}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"clientX",get:function(){return this.client.x}},{key:"clientY",get:function(){return this.client.y}},{key:"movementX",get:function(){return this.movement.x}},{key:"movementY",get:function(){return this.movement.y}},{key:"offsetX",get:function(){return this.offset.x}},{key:"offsetY",get:function(){return this.offset.y}},{key:"globalX",get:function(){return this.global.x}},{key:"globalY",get:function(){return this.global.y}},{key:"screenX",get:function(){return this.screen.x}},{key:"screenY",get:function(){return this.screen.y}},{key:"getModifierState",value:function(z){return"getModifierState"in this.nativeEvent&&this.nativeEvent.getModifierState(z)}},{key:"initMouseEvent",value:function(){throw new Error(Ku)}}])}(a),ee=function(b){function x(){var E;(0,$r.Z)(this,x);for(var z=arguments.length,te=new Array(z),re=0;re<z;re++)te[re]=arguments[re];return E=Ls(this,x,[].concat(te)),E.width=0,E.height=0,E.isPrimary=!1,E}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"getCoalescedEvents",value:function(){return this.type==="pointermove"||this.type==="mousemove"||this.type==="touchmove"?[this]:[]}},{key:"getPredictedEvents",value:function(){throw new Error("getPredictedEvents is not supported!")}},{key:"clone",value:function(){return this.manager.clonePointerEvent(this)}}])}(y),ne=function(b){function x(){return(0,$r.Z)(this,x),Ls(this,x,arguments)}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"clone",value:function(){return this.manager.cloneWheelEvent(this)}}])}(y),se=function(b){function x(E,z){var te;return(0,$r.Z)(this,x),te=Ls(this,x,[null]),te.type=E,te.detail=z,Object.assign(te,z),te}return(0,ps.Z)(x,b),(0,qi.Z)(x)}(a),ue=new WeakMap,me=function(){function b(){(0,$r.Z)(this,b),this.emitter=new Ef}return(0,qi.Z)(b,[{key:"on",value:function(E,z,te){return this.addEventListener(E,z,te),this}},{key:"addEventListener",value:function(E,z,te){var re=!1,oe=!1;if(Zx(te))re=te;else if(te){var le=te.capture;re=le===void 0?!1:le;var he=te.once;oe=he===void 0?!1:he}re&&(E+="capture"),z=Ys(z)?z:z.handleEvent;var ge=Ys(z)?void 0:z;return oe?this.emitter.once(E,z,ge):this.emitter.on(E,z,ge),this}},{key:"off",value:function(E,z,te){return E?this.removeEventListener(E,z,te):this.removeAllEventListeners(),this}},{key:"removeAllEventListeners",value:function(){var E;(E=this.emitter)===null||E===void 0||E.removeAllListeners()}},{key:"removeEventListener",value:function(E,z,te){var re;if(!this.emitter)return this;var oe=Zx(te)?te:te==null?void 0:te.capture;oe&&(E+="capture"),z=Ys(z)?z:(re=z)===null||re===void 0?void 0:re.handleEvent;var le=Ys(z)?void 0:z;return this.emitter.off(E,z,le),this}},{key:"emit",value:function(E,z){this.dispatchEvent(new se(E,z))}},{key:"dispatchEvent",value:function(E){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,te=ue.get(this);if(!te){var re;this.document?te=this:this.defaultView?te=this.defaultView:te=(re=this.ownerDocument)===null||re===void 0?void 0:re.defaultView,te&&ue.set(this,te)}if(te){if(E.manager=te.getEventService(),!E.manager)return!1;E.defaultPrevented=!1,E.path?E.path.length=0:E.page=[],z||(E.target=this),E.manager.dispatchEvent(E,E.type,z)}else this.emitter.emit(E.type,E);return!E.defaultPrevented}}])}(),be=function(b){function x(){var E;(0,$r.Z)(this,x);for(var z=arguments.length,te=new Array(z),re=0;re<z;re++)te[re]=arguments[re];return E=Ls(this,x,[].concat(te)),E.shadow=!1,E.ownerDocument=null,E.isConnected=!1,E.baseURI="",E.childNodes=[],E.nodeType=0,E.nodeName="",E.nodeValue=null,E.parentNode=null,E}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"textContent",get:function(){var z="";this.nodeName===No.TEXT&&(z+=this.style.text);var te=h0(this.childNodes),re;try{for(te.s();!(re=te.n()).done;){var oe=re.value;oe.nodeName===No.TEXT?z+=oe.nodeValue:z+=oe.textContent}}catch(le){te.e(le)}finally{te.f()}return z},set:function(z){var te=this;this.childNodes.slice().forEach(function(re){te.removeChild(re)}),this.nodeName===No.TEXT&&(this.style.text="".concat(z))}},{key:"getRootNode",value:function(){var z=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.parentNode?this.parentNode.getRootNode(z):z.composed&&this.host?this.host.getRootNode(z):this}},{key:"hasChildNodes",value:function(){return this.childNodes.length>0}},{key:"isDefaultNamespace",value:function(z){throw new Error(Ku)}},{key:"lookupNamespaceURI",value:function(z){throw new Error(Ku)}},{key:"lookupPrefix",value:function(z){throw new Error(Ku)}},{key:"normalize",value:function(){throw new Error(Ku)}},{key:"isEqualNode",value:function(z){return this===z}},{key:"isSameNode",value:function(z){return this.isEqualNode(z)}},{key:"parent",get:function(){return this.parentNode}},{key:"parentElement",get:function(){return null}},{key:"nextSibling",get:function(){return null}},{key:"previousSibling",get:function(){return null}},{key:"firstChild",get:function(){return this.childNodes.length>0?this.childNodes[0]:null}},{key:"lastChild",get:function(){return this.childNodes.length>0?this.childNodes[this.childNodes.length-1]:null}},{key:"compareDocumentPosition",value:function(z){if(z===this)return 0;for(var te=z,re=this,oe=[te],le=[re];(he=te.parentNode)!==null&&he!==void 0?he:re.parentNode;){var he;te=te.parentNode?(oe.push(te.parentNode),te.parentNode):te,re=re.parentNode?(le.push(re.parentNode),re.parentNode):re}if(te!==re)return x.DOCUMENT_POSITION_DISCONNECTED|x.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|x.DOCUMENT_POSITION_PRECEDING;var ge=oe.length>le.length?oe:le,Ae=ge===oe?le:oe;if(ge[ge.length-Ae.length]===Ae[0])return ge===oe?x.DOCUMENT_POSITION_CONTAINED_BY|x.DOCUMENT_POSITION_FOLLOWING:x.DOCUMENT_POSITION_CONTAINS|x.DOCUMENT_POSITION_PRECEDING;for(var Pe=ge.length-Ae.length,We=Ae.length-1;We>=0;We--){var Xe=Ae[We],qe=ge[Pe+We];if(qe!==Xe){var nt=Xe.parentNode.childNodes;return nt.indexOf(Xe)<nt.indexOf(qe)?Ae===oe?x.DOCUMENT_POSITION_PRECEDING:x.DOCUMENT_POSITION_FOLLOWING:ge===oe?x.DOCUMENT_POSITION_PRECEDING:x.DOCUMENT_POSITION_FOLLOWING}}return x.DOCUMENT_POSITION_FOLLOWING}},{key:"contain",value:function(z){return this.contains(z)}},{key:"contains",value:function(z){for(var te=z;te&&this!==te;)te=te.parentNode;return!!te}},{key:"getAncestor",value:function(z){for(var te=this;z>0&&te;)te=te.parentNode,z--;return te}},{key:"forEach",value:function(z){for(var te=[this];te.length>0;){var re=te.pop(),oe=z(re);if(oe===!1)break;for(var le=re.childNodes.length-1;le>=0;le--)te.push(re.childNodes[le])}}}],[{key:"isNode",value:function(z){return!!z.childNodes}}])}(me);be.DOCUMENT_POSITION_DISCONNECTED=1,be.DOCUMENT_POSITION_PRECEDING=2,be.DOCUMENT_POSITION_FOLLOWING=4,be.DOCUMENT_POSITION_CONTAINS=8,be.DOCUMENT_POSITION_CONTAINED_BY=16,be.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=32;var Fe=2048,Ye=function(){function b(x,E){var z=this;(0,$r.Z)(this,b),this.nativeHTMLMap=new WeakMap,this.cursor="default",this.mappingTable={},this.mappingState={trackingData:{}},this.eventPool=new Map,this.tmpMatrix=vc(),this.tmpVec3=Ts(),this.onPointerDown=function(te){var re=z.createPointerEvent(te);if(z.dispatchEvent(re,"pointerdown"),re.pointerType==="touch")z.dispatchEvent(re,"touchstart");else if(re.pointerType==="mouse"||re.pointerType==="pen"){var oe=re.button===2;z.dispatchEvent(re,oe?"rightdown":"mousedown")}var le=z.trackingData(te.pointerId);le.pressTargetsByButton[te.button]=re.composedPath(),z.freeEvent(re)},this.onPointerUp=function(te){var re=oS.now(),oe=z.createPointerEvent(te,void 0,void 0,z.context.config.alwaysTriggerPointerEventOnCanvas?z.rootTarget:void 0);if(z.dispatchEvent(oe,"pointerup"),oe.pointerType==="touch")z.dispatchEvent(oe,"touchend");else if(oe.pointerType==="mouse"||oe.pointerType==="pen"){var le=oe.button===2;z.dispatchEvent(oe,le?"rightup":"mouseup")}var he=z.trackingData(te.pointerId),ge=z.findMountedTarget(he.pressTargetsByButton[te.button]),Ae=ge;if(ge&&!oe.composedPath().includes(ge)){for(var Pe=ge;Pe&&!oe.composedPath().includes(Pe);){if(oe.currentTarget=Pe,z.notifyTarget(oe,"pointerupoutside"),oe.pointerType==="touch")z.notifyTarget(oe,"touchendoutside");else if(oe.pointerType==="mouse"||oe.pointerType==="pen"){var We=oe.button===2;z.notifyTarget(oe,We?"rightupoutside":"mouseupoutside")}be.isNode(Pe)&&(Pe=Pe.parentNode)}delete he.pressTargetsByButton[te.button],Ae=Pe}if(Ae){var Xe,qe=z.clonePointerEvent(oe,"click");qe.target=Ae,qe.path=[],he.clicksByButton[te.button]||(he.clicksByButton[te.button]={clickCount:0,target:qe.target,timeStamp:re});var nt=z.context.renderingContext.root.ownerDocument.defaultView,at=he.clicksByButton[te.button];at.target===qe.target&&re-at.timeStamp<nt.getConfig().dblClickSpeed?++at.clickCount:at.clickCount=1,at.target=qe.target,at.timeStamp=re,qe.detail=at.clickCount,(Xe=oe.detail)!==null&&Xe!==void 0&&Xe.preventClick||(!z.context.config.useNativeClickEvent&&(qe.pointerType==="mouse"||qe.pointerType==="touch")&&z.dispatchEvent(qe,"click"),z.dispatchEvent(qe,"pointertap")),z.freeEvent(qe)}z.freeEvent(oe)},this.onPointerMove=function(te){var re=z.createPointerEvent(te,void 0,void 0,z.context.config.alwaysTriggerPointerEventOnCanvas?z.rootTarget:void 0),oe=re.pointerType==="mouse"||re.pointerType==="pen",le=z.trackingData(te.pointerId),he=z.findMountedTarget(le.overTargets);if(le.overTargets&&he!==re.target){var ge=te.type==="mousemove"?"mouseout":"pointerout",Ae=z.createPointerEvent(te,ge,he||void 0);if(z.dispatchEvent(Ae,"pointerout"),oe&&z.dispatchEvent(Ae,"mouseout"),!re.composedPath().includes(he)){var Pe=z.createPointerEvent(te,"pointerleave",he||void 0);for(Pe.eventPhase=Pe.AT_TARGET;Pe.target&&!re.composedPath().includes(Pe.target);)Pe.currentTarget=Pe.target,z.notifyTarget(Pe),oe&&z.notifyTarget(Pe,"mouseleave"),be.isNode(Pe.target)&&(Pe.target=Pe.target.parentNode);z.freeEvent(Pe)}z.freeEvent(Ae)}if(he!==re.target){var We=te.type==="mousemove"?"mouseover":"pointerover",Xe=z.clonePointerEvent(re,We);z.dispatchEvent(Xe,"pointerover"),oe&&z.dispatchEvent(Xe,"mouseover");for(var qe=he&&be.isNode(he)&&he.parentNode;qe&&qe!==(be.isNode(z.rootTarget)&&z.rootTarget.parentNode)&&qe!==re.target;)qe=qe.parentNode;var nt=!qe||qe===(be.isNode(z.rootTarget)&&z.rootTarget.parentNode);if(nt){var at=z.clonePointerEvent(re,"pointerenter");for(at.eventPhase=at.AT_TARGET;at.target&&at.target!==he&&at.target!==(be.isNode(z.rootTarget)&&z.rootTarget.parentNode);)at.currentTarget=at.target,z.notifyTarget(at),oe&&z.notifyTarget(at,"mouseenter"),be.isNode(at.target)&&(at.target=at.target.parentNode);z.freeEvent(at)}z.freeEvent(Xe)}z.dispatchEvent(re,"pointermove"),re.pointerType==="touch"&&z.dispatchEvent(re,"touchmove"),oe&&(z.dispatchEvent(re,"mousemove"),z.cursor=z.getCursor(re.target)),le.overTargets=re.composedPath(),z.freeEvent(re)},this.onPointerOut=function(te){var re=z.trackingData(te.pointerId);if(re.overTargets){var oe=te.pointerType==="mouse"||te.pointerType==="pen",le=z.findMountedTarget(re.overTargets),he=z.createPointerEvent(te,"pointerout",le||void 0);z.dispatchEvent(he),oe&&z.dispatchEvent(he,"mouseout");var ge=z.createPointerEvent(te,"pointerleave",le||void 0);for(ge.eventPhase=ge.AT_TARGET;ge.target&&ge.target!==(be.isNode(z.rootTarget)&&z.rootTarget.parentNode);)ge.currentTarget=ge.target,z.notifyTarget(ge),oe&&z.notifyTarget(ge,"mouseleave"),be.isNode(ge.target)&&(ge.target=ge.target.parentNode);re.overTargets=null,z.freeEvent(he),z.freeEvent(ge)}z.cursor=null},this.onPointerOver=function(te){var re=z.trackingData(te.pointerId),oe=z.createPointerEvent(te),le=oe.pointerType==="mouse"||oe.pointerType==="pen";z.dispatchEvent(oe,"pointerover"),le&&z.dispatchEvent(oe,"mouseover"),oe.pointerType==="mouse"&&(z.cursor=z.getCursor(oe.target));var he=z.clonePointerEvent(oe,"pointerenter");for(he.eventPhase=he.AT_TARGET;he.target&&he.target!==(be.isNode(z.rootTarget)&&z.rootTarget.parentNode);)he.currentTarget=he.target,z.notifyTarget(he),le&&z.notifyTarget(he,"mouseenter"),be.isNode(he.target)&&(he.target=he.target.parentNode);re.overTargets=oe.composedPath(),z.freeEvent(oe),z.freeEvent(he)},this.onPointerUpOutside=function(te){var re=z.trackingData(te.pointerId),oe=z.findMountedTarget(re.pressTargetsByButton[te.button]),le=z.createPointerEvent(te);if(oe){for(var he=oe;he;)le.currentTarget=he,z.notifyTarget(le,"pointerupoutside"),le.pointerType==="touch"||(le.pointerType==="mouse"||le.pointerType==="pen")&&z.notifyTarget(le,le.button===2?"rightupoutside":"mouseupoutside"),be.isNode(he)&&(he=he.parentNode);delete re.pressTargetsByButton[te.button]}z.freeEvent(le)},this.onWheel=function(te){var re=z.createWheelEvent(te);z.dispatchEvent(re),z.freeEvent(re)},this.onClick=function(te){if(z.context.config.useNativeClickEvent){var re=z.createPointerEvent(te);z.dispatchEvent(re),z.freeEvent(re)}},this.onPointerCancel=function(te){var re=z.createPointerEvent(te,void 0,void 0,z.context.config.alwaysTriggerPointerEventOnCanvas?z.rootTarget:void 0);z.dispatchEvent(re),z.freeEvent(re)},this.globalRuntime=x,this.context=E}return(0,qi.Z)(b,[{key:"init",value:function(){this.rootTarget=this.context.renderingContext.root.parentNode,this.addEventMapping("pointerdown",this.onPointerDown),this.addEventMapping("pointerup",this.onPointerUp),this.addEventMapping("pointermove",this.onPointerMove),this.addEventMapping("pointerout",this.onPointerOut),this.addEventMapping("pointerleave",this.onPointerOut),this.addEventMapping("pointercancel",this.onPointerCancel),this.addEventMapping("pointerover",this.onPointerOver),this.addEventMapping("pointerupoutside",this.onPointerUpOutside),this.addEventMapping("wheel",this.onWheel),this.addEventMapping("click",this.onClick)}},{key:"destroy",value:function(){this.mappingTable={},this.mappingState={},this.eventPool.clear()}},{key:"getScale",value:function(){var E=this.context.contextService.getBoundingClientRect(),z=1,te=1,re=this.context.contextService.getDomElement();if(re&&E){var oe=re.offsetWidth,le=re.offsetHeight;oe&&le&&(z=E.width/oe,te=E.height/le)}return{scaleX:z,scaleY:te,bbox:E}}},{key:"client2Viewport",value:function(E){var z=this.getScale(),te=z.scaleX,re=z.scaleY,oe=z.bbox;return new Hd((E.x-((oe==null?void 0:oe.left)||0))/te,(E.y-((oe==null?void 0:oe.top)||0))/re)}},{key:"viewport2Client",value:function(E){var z=this.getScale(),te=z.scaleX,re=z.scaleY,oe=z.bbox;return new Hd((E.x+((oe==null?void 0:oe.left)||0))*te,(E.y+((oe==null?void 0:oe.top)||0))*re)}},{key:"viewport2Canvas",value:function(E){var z=E.x,te=E.y,re=this.rootTarget.defaultView,oe=re.getCamera(),le=this.context.config,he=le.width,ge=le.height,Ae=oe.getPerspectiveInverse(),Pe=oe.getWorldTransform(),We=Ed(this.tmpMatrix,Pe,Ae),Xe=mh(this.tmpVec3,z/he*2-1,(1-te/ge)*2-1,0);return Vu(Xe,Xe,We),new Hd(Xe[0],Xe[1])}},{key:"canvas2Viewport",value:function(E){var z=this.rootTarget.defaultView,te=z.getCamera(),re=te.getPerspective(),oe=te.getViewTransform(),le=Ed(this.tmpMatrix,re,oe),he=mh(this.tmpVec3,E.x,E.y,0);Vu(this.tmpVec3,this.tmpVec3,le);var ge=this.context.config,Ae=ge.width,Pe=ge.height;return new Hd((he[0]+1)/2*Ae,(1-(he[1]+1)/2)*Pe)}},{key:"setPickHandler",value:function(E){this.pickHandler=E}},{key:"addEventMapping",value:function(E,z){this.mappingTable[E]||(this.mappingTable[E]=[]),this.mappingTable[E].push({fn:z,priority:0}),this.mappingTable[E].sort(function(te,re){return te.priority-re.priority})}},{key:"mapEvent",value:function(E){if(this.rootTarget){var z=this.mappingTable[E.type];if(z)for(var te=0,re=z.length;te<re;te++)z[te].fn(E);else console.warn("[EventService]: Event mapping not defined for ".concat(E.type))}}},{key:"dispatchEvent",value:function(E,z,te){if(!te)E.propagationStopped=!1,E.propagationImmediatelyStopped=!1,this.propagate(E,z);else{E.eventPhase=E.AT_TARGET;var re=this.rootTarget.defaultView||null;E.currentTarget=re,this.notifyListeners(E,z)}}},{key:"propagate",value:function(E,z){if(E.target){var te=E.composedPath();E.eventPhase=E.CAPTURING_PHASE;for(var re=te.length-1;re>=1;re--)if(E.currentTarget=te[re],this.notifyTarget(E,z),E.propagationStopped||E.propagationImmediatelyStopped)return;if(E.eventPhase=E.AT_TARGET,E.currentTarget=E.target,this.notifyTarget(E,z),!(E.propagationStopped||E.propagationImmediatelyStopped)){var oe=te.indexOf(E.currentTarget);E.eventPhase=E.BUBBLING_PHASE;for(var le=oe+1;le<te.length;le++)if(E.currentTarget=te[le],this.notifyTarget(E,z),E.propagationStopped||E.propagationImmediatelyStopped)return}}}},{key:"propagationPath",value:function(E){var z=[E],te=this.rootTarget.defaultView||null;if(te&&te===E)return z.unshift(te.document),z;for(var re=0;re<Fe&&E!==this.rootTarget;re++)be.isNode(E)&&E.parentNode&&(z.push(E.parentNode),E=E.parentNode);return te&&z.push(te),z}},{key:"hitTest",value:function(E){var z=E.viewportX,te=E.viewportY,re=this.context.config,oe=re.width,le=re.height,he=re.disableHitTesting;return z<0||te<0||z>oe||te>le?null:!he&&this.pickHandler(E)||this.rootTarget||null}},{key:"isNativeEventFromCanvas",value:function(E,z){var te,re=z==null?void 0:z.target;if((te=re)!==null&&te!==void 0&&te.shadowRoot&&(re=z.composedPath()[0]),re){if(re===E)return!0;if(E&&E.contains)return E.contains(re)}return z!=null&&z.composedPath?z.composedPath().indexOf(E)>-1:!1}},{key:"getExistedHTML",value:function(E){if(E.nativeEvent.composedPath)for(var z=0,te=E.nativeEvent.composedPath();z<te.length;z++){var re=te[z],oe=this.nativeHTMLMap.get(re);if(oe)return oe}return null}},{key:"pickTarget",value:function(E){return this.hitTest({clientX:E.clientX,clientY:E.clientY,viewportX:E.viewportX,viewportY:E.viewportY,x:E.canvasX,y:E.canvasY})}},{key:"createPointerEvent",value:function(E,z,te,re){var oe=this.allocateEvent(ee);this.copyPointerData(E,oe),this.copyMouseData(E,oe),this.copyData(E,oe),oe.nativeEvent=E.nativeEvent,oe.originalEvent=E;var le=this.getExistedHTML(oe),he=this.context.contextService.getDomElement();return oe.target=te!=null?te:le||this.isNativeEventFromCanvas(he,oe.nativeEvent)&&this.pickTarget(oe)||re,typeof z=="string"&&(oe.type=z),oe}},{key:"createWheelEvent",value:function(E){var z=this.allocateEvent(ne);this.copyWheelData(E,z),this.copyMouseData(E,z),this.copyData(E,z),z.nativeEvent=E.nativeEvent,z.originalEvent=E;var te=this.getExistedHTML(z),re=this.context.contextService.getDomElement();return z.target=te||this.isNativeEventFromCanvas(re,z.nativeEvent)&&this.pickTarget(z),z}},{key:"trackingData",value:function(E){return this.mappingState.trackingData[E]||(this.mappingState.trackingData[E]={pressTargetsByButton:{},clicksByButton:{},overTarget:null}),this.mappingState.trackingData[E]}},{key:"cloneWheelEvent",value:function(E){var z=this.allocateEvent(ne);return z.nativeEvent=E.nativeEvent,z.originalEvent=E.originalEvent,this.copyWheelData(E,z),this.copyMouseData(E,z),this.copyData(E,z),z.target=E.target,z.path=E.composedPath().slice(),z.type=E.type,z}},{key:"clonePointerEvent",value:function(E,z){var te=this.allocateEvent(ee);return te.nativeEvent=E.nativeEvent,te.originalEvent=E.originalEvent,this.copyPointerData(E,te),this.copyMouseData(E,te),this.copyData(E,te),te.target=E.target,te.path=E.composedPath().slice(),te.type=z!=null?z:te.type,te}},{key:"copyPointerData",value:function(E,z){z.pointerId=E.pointerId,z.width=E.width,z.height=E.height,z.isPrimary=E.isPrimary,z.pointerType=E.pointerType,z.pressure=E.pressure,z.tangentialPressure=E.tangentialPressure,z.tiltX=E.tiltX,z.tiltY=E.tiltY,z.twist=E.twist}},{key:"copyMouseData",value:function(E,z){z.altKey=E.altKey,z.button=E.button,z.buttons=E.buttons,z.ctrlKey=E.ctrlKey,z.metaKey=E.metaKey,z.shiftKey=E.shiftKey,z.client.copyFrom(E.client),z.movement.copyFrom(E.movement),z.canvas.copyFrom(E.canvas),z.screen.copyFrom(E.screen),z.global.copyFrom(E.global),z.offset.copyFrom(E.offset)}},{key:"copyWheelData",value:function(E,z){z.deltaMode=E.deltaMode,z.deltaX=E.deltaX,z.deltaY=E.deltaY,z.deltaZ=E.deltaZ}},{key:"copyData",value:function(E,z){z.isTrusted=E.isTrusted,z.timeStamp=oS.now(),z.type=E.type,z.detail=E.detail,z.view=E.view,z.page.copyFrom(E.page),z.viewport.copyFrom(E.viewport)}},{key:"allocateEvent",value:function(E){this.eventPool.has(E)||this.eventPool.set(E,[]);var z=this.eventPool.get(E).pop()||new E(this);return z.eventPhase=z.NONE,z.currentTarget=null,z.path=[],z.target=null,z}},{key:"freeEvent",value:function(E){if(E.manager!==this)throw new Error("It is illegal to free an event not managed by this EventBoundary!");var z=E.constructor;this.eventPool.has(z)||this.eventPool.set(z,[]),this.eventPool.get(z).push(E)}},{key:"notifyTarget",value:function(E,z){var te;z=(te=z)!==null&&te!==void 0?te:E.type;var re=E.eventPhase===E.CAPTURING_PHASE||E.eventPhase===E.AT_TARGET?"".concat(z,"capture"):z;this.notifyListeners(E,re),E.eventPhase===E.AT_TARGET&&this.notifyListeners(E,z)}},{key:"notifyListeners",value:function(E,z){var te=E.currentTarget.emitter,re=te._events[z];if(re)if("fn"in re)re.once&&te.removeListener(z,re.fn,void 0,!0),re.fn.call(E.currentTarget||re.context,E);else for(var oe=0;oe<re.length&&!E.propagationImmediatelyStopped;oe++)re[oe].once&&te.removeListener(z,re[oe].fn,void 0,!0),re[oe].fn.call(E.currentTarget||re[oe].context,E)}},{key:"findMountedTarget",value:function(E){if(!E)return null;for(var z=E[E.length-1],te=E.length-2;te>=0;te--){var re=E[te];if(re===this.rootTarget||be.isNode(re)&&re.parentNode===z)z=E[te];else break}return z}},{key:"getCursor",value:function(E){for(var z=E;z;){var te=pC(z)&&z.getAttribute("cursor");if(te)return te;z=be.isNode(z)&&z.parentNode}}}])}(),Je=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,[{key:"getOrCreateCanvas",value:function(E,z){if(this.canvas)return this.canvas;if(E||xa.offscreenCanvas)this.canvas=E||xa.offscreenCanvas,this.context=this.canvas.getContext("2d",(0,Ho.Z)({willReadFrequently:!0},z));else try{this.canvas=new window.OffscreenCanvas(0,0),this.context=this.canvas.getContext("2d",(0,Ho.Z)({willReadFrequently:!0},z)),(!this.context||!this.context.measureText)&&(this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"))}catch(te){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d",(0,Ho.Z)({willReadFrequently:!0},z))}return this.canvas.width=10,this.canvas.height=10,this.canvas}},{key:"getOrCreateContext",value:function(E,z){return this.context?this.context:(this.getOrCreateCanvas(E,z),this.context)}}],[{key:"createCanvas",value:function(){try{return new window.OffscreenCanvas(0,0)}catch(E){}try{return document.createElement("canvas")}catch(E){}return null}}])}(),st=function(b){return b[b.CAMERA_CHANGED=0]="CAMERA_CHANGED",b[b.DISPLAY_OBJECT_CHANGED=1]="DISPLAY_OBJECT_CHANGED",b[b.NONE=2]="NONE",b}({}),yt=function(){function b(x,E){(0,$r.Z)(this,b),this.inited=!1,this.stats={total:0,rendered:0},this.zIndexCounter=0,this.hooks={init:new Zd,initAsync:new AE,dirtycheck:new zm,cull:new zm,beginFrame:new Zd,beforeRender:new Zd,render:new Zd,afterRender:new Zd,endFrame:new Zd,destroy:new Zd,pick:new SE,pickSync:new zm,pointerDown:new Zd,pointerUp:new Zd,pointerMove:new Zd,pointerOut:new Zd,pointerOver:new Zd,pointerWheel:new Zd,pointerCancel:new Zd,click:new Zd},this.globalRuntime=x,this.context=E}return(0,qi.Z)(b,[{key:"init",value:function(E){var z=this,te=(0,Ho.Z)((0,Ho.Z)({},this.globalRuntime),this.context);this.context.renderingPlugins.forEach(function(re){re.apply(te,z.globalRuntime)}),this.hooks.init.call(),this.hooks.initAsync.getCallbacksNum()===0?(this.inited=!0,E()):this.hooks.initAsync.promise().then(function(){z.inited=!0,E()}).catch(function(re){})}},{key:"getStats",value:function(){return this.stats}},{key:"disableDirtyRectangleRendering",value:function(){var E=this.context.config.renderer,z=E.getConfig(),te=z.enableDirtyRectangleRendering;return!te||this.context.renderingContext.renderReasons.has(st.CAMERA_CHANGED)}},{key:"render",value:function(E,z,te){var re=this;this.stats.total=0,this.stats.rendered=0,this.zIndexCounter=0;var oe=this.context.renderingContext;if(this.globalRuntime.sceneGraphService.syncHierarchy(oe.root),this.globalRuntime.sceneGraphService.triggerPendingEvents(),oe.renderReasons.size&&this.inited){oe.dirtyRectangleRenderingDisabled=this.disableDirtyRectangleRendering();var le=oe.renderReasons.size===1&&oe.renderReasons.has(st.CAMERA_CHANGED),he=!E.disableRenderHooks||!(E.disableRenderHooks&&le);he&&this.renderDisplayObject(oe.root,E,oe),this.hooks.beginFrame.call(z),he&&oe.renderListCurrentFrame.forEach(function(ge){re.hooks.beforeRender.call(ge),re.hooks.render.call(ge),re.hooks.afterRender.call(ge)}),this.hooks.endFrame.call(z),oe.renderListCurrentFrame=[],oe.renderReasons.clear(),te()}}},{key:"renderDisplayObject",value:function(E,z,te){var re=this,oe=z.renderer.getConfig(),le=oe.enableDirtyCheck,he=oe.enableCulling;function ge(qe){var nt=qe.renderable,at=qe.sortable,pt=le?nt.dirty||te.dirtyRectangleRenderingDisabled?qe:null:qe;if(pt){var mt=he?re.hooks.cull.call(pt,re.context.camera):pt;mt&&(re.stats.rendered+=1,te.renderListCurrentFrame.push(mt))}nt.dirty=!1,at.renderOrder=re.zIndexCounter,re.zIndexCounter+=1,re.stats.total+=1,at.dirty&&(re.sort(qe,at),at.dirty=!1,at.dirtyChildren=[],at.dirtyReason=void 0)}for(var Ae=[E];Ae.length>0;){var Pe=Ae.pop();ge(Pe);for(var We=Pe.sortable.sorted||Pe.childNodes,Xe=We.length-1;Xe>=0;Xe--)Ae.push(We[Xe])}}},{key:"sort",value:function(E,z){z.sorted&&z.dirtyReason!==Ly.Z_INDEX_CHANGED?z.dirtyChildren.forEach(function(te){var re=E.childNodes.indexOf(te);if(re===-1){var oe=z.sorted.indexOf(te);oe>=0&&z.sorted.splice(oe,1)}else if(z.sorted.length===0)z.sorted.push(te);else{var le=gP(z.sorted,te);z.sorted.splice(le,0,te)}}):z.sorted=E.childNodes.slice().sort(vC)}},{key:"destroy",value:function(){this.inited=!1,this.hooks.destroy.call(),this.globalRuntime.sceneGraphService.clearPendingEvents()}},{key:"dirtify",value:function(){this.context.renderingContext.renderReasons.add(st.DISPLAY_OBJECT_CHANGED)}}])}(),Tt=/\[\s*(.*)=(.*)\s*\]/,Ft=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,[{key:"selectOne",value:function(E,z){var te=this;if(E.startsWith("."))return z.find(function(he){return((he==null?void 0:he.classList)||[]).indexOf(te.getIdOrClassname(E))>-1});if(E.startsWith("#"))return z.find(function(he){return he.id===te.getIdOrClassname(E)});if(E.startsWith("[")){var re=this.getAttribute(E),oe=re.name,le=re.value;return oe?z.find(function(he){return z!==he&&(oe==="name"?he.name===le:te.attributeToString(he,oe)===le)}):null}return z.find(function(he){return z!==he&&he.nodeName===E})}},{key:"selectAll",value:function(E,z){var te=this;if(E.startsWith("."))return z.findAll(function(he){return z!==he&&((he==null?void 0:he.classList)||[]).indexOf(te.getIdOrClassname(E))>-1});if(E.startsWith("#"))return z.findAll(function(he){return z!==he&&he.id===te.getIdOrClassname(E)});if(E.startsWith("[")){var re=this.getAttribute(E),oe=re.name,le=re.value;return oe?z.findAll(function(he){return z!==he&&(oe==="name"?he.name===le:te.attributeToString(he,oe)===le)}):[]}return z.findAll(function(he){return z!==he&&he.nodeName===E})}},{key:"is",value:function(E,z){if(E.startsWith("."))return z.className===this.getIdOrClassname(E);if(E.startsWith("#"))return z.id===this.getIdOrClassname(E);if(E.startsWith("[")){var te=this.getAttribute(E),re=te.name,oe=te.value;return re==="name"?z.name===oe:this.attributeToString(z,re)===oe}return z.nodeName===E}},{key:"getIdOrClassname",value:function(E){return E.substring(1)}},{key:"getAttribute",value:function(E){var z=E.match(Tt),te="",re="";return z&&z.length>2&&(te=z[1].replace(/"/g,""),re=z[2].replace(/"/g,"")),{name:te,value:re}}},{key:"attributeToString",value:function(E,z){if(!E.getAttribute)return"";var te=E.getAttribute(z);return El(te)?"":te.toString?te.toString():""}}])}(),Zt=function(b){return b.ATTR_MODIFIED="DOMAttrModified",b.INSERTED="DOMNodeInserted",b.MOUNTED="DOMNodeInsertedIntoDocument",b.REMOVED="removed",b.UNMOUNTED="DOMNodeRemovedFromDocument",b.REPARENT="reparent",b.DESTROY="destroy",b.BOUNDS_CHANGED="bounds-changed",b.CULLED="culled",b}({}),bn=function(b){function x(E,z,te,re,oe,le,he,ge){var Ae;return(0,$r.Z)(this,x),Ae=Ls(this,x,[null]),Ae.relatedNode=z,Ae.prevValue=te,Ae.newValue=re,Ae.attrName=oe,Ae.attrChange=le,Ae.prevParsedValue=he,Ae.newParsedValue=ge,Ae.type=E,Ae}return(0,ps.Z)(x,b),(0,qi.Z)(x)}(a);bn.ADDITION=2,bn.MODIFICATION=1,bn.REMOVAL=3;function fn(b){var x=b.renderable;x&&(x.renderBoundsDirty=!0,x.boundsDirty=!0)}var Fn=new bn(Zt.REPARENT,null,"","","",0,"",""),zn=Op(),Zn=Ts(),sr=Kl(1,1,1),Br=vc(),Hi=Op(),uo=Ts(),no=vc(),Li=Cd(),ci=Ts(),La=Cd(),Ea=Ts(),ks=Ts(),dl=Ts(),sc=vc(),xc=Cd(),Dh=Cd(),lc=Cd(),Hp={affectChildren:!0},ec=function(){function b(x){(0,$r.Z)(this,b),this.pendingEvents=new Map,this.boundsChangedEvent=new se(Zt.BOUNDS_CHANGED),this.displayObjectDependencyMap=new WeakMap,this.runtime=x}return(0,qi.Z)(b,[{key:"matches",value:function(E,z){return this.runtime.sceneGraphSelector.is(E,z)}},{key:"querySelector",value:function(E,z){return this.runtime.sceneGraphSelector.selectOne(E,z)}},{key:"querySelectorAll",value:function(E,z){return this.runtime.sceneGraphSelector.selectAll(E,z)}},{key:"attach",value:function(E,z,te){var re,oe=!1;E.parentNode&&(oe=E.parentNode!==z,this.detach(E));var le=E.nodeName===No.FRAGMENT,he=Ry(z);E.parentNode=z;var ge=le?E.childNodes:[E];As(te)?ge.forEach(function(Xe){z.childNodes.splice(te,0,Xe),Xe.parentNode=z}):ge.forEach(function(Xe){z.childNodes.push(Xe),Xe.parentNode=z});var Ae=z,Pe=Ae.sortable;if((Pe!=null&&(re=Pe.sorted)!==null&&re!==void 0&&re.length||E.parsedStyle.zIndex)&&(Pe.dirtyChildren.indexOf(E)===-1&&Pe.dirtyChildren.push(E),Pe.dirty=!0,Pe.dirtyReason=Ly.ADDED),!he){if(le)this.dirtifyFragment(E);else{var We=E.transformable;We&&this.dirtifyWorld(E,We)}oe&&E.dispatchEvent(Fn)}}},{key:"detach",value:function(E){if(E.parentNode){var z,te,re=E.transformable,oe=E.parentNode,le=oe.sortable;(le!=null&&(z=le.sorted)!==null&&z!==void 0&&z.length||(te=E.style)!==null&&te!==void 0&&te.zIndex)&&(le.dirtyChildren.indexOf(E)===-1&&le.dirtyChildren.push(E),le.dirty=!0,le.dirtyReason=Ly.REMOVED);var he=E.parentNode.childNodes.indexOf(E);he>-1&&E.parentNode.childNodes.splice(he,1),re&&this.dirtifyWorld(E,re),E.parentNode=null}}},{key:"getOrigin",value:function(E){return E.getGeometryBounds(),E.transformable.origin}},{key:"setOrigin",value:function(E,z){var te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,re=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof z=="number"&&(z=[z,te,re]);var oe=E.transformable;if(!(z[0]===oe.origin[0]&&z[1]===oe.origin[1]&&z[2]===oe.origin[2])){var le=oe.origin;le[0]=z[0],le[1]=z[1],le[2]=z[2]||0,this.dirtifyLocal(E,oe)}}},{key:"rotate",value:function(E,z){var te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,re=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof z=="number"&&(z=Kl(z,te,re));var oe=E.transformable;if(E.parentNode===null||!E.parentNode.transformable)this.rotateLocal(E,z);else{var le=Li;Bx(le,z[0],z[1],z[2]);var he=this.getRotation(E),ge=this.getRotation(E.parentNode);Yg(lc,ge),hy(lc,lc),Tv(le,lc,le),Tv(oe.localRotation,le,he),A1(oe.localRotation,oe.localRotation),this.dirtifyLocal(E,oe)}}},{key:"rotateLocal",value:function(E,z){var te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,re=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof z=="number"&&(z=Kl(z,te,re));var oe=E.transformable;Bx(Dh,z[0],z[1],z[2]),sA(oe.localRotation,oe.localRotation,Dh),this.dirtifyLocal(E,oe)}},{key:"setEulerAngles",value:function(E,z){var te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,re=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof z=="number"&&(z=Kl(z,te,re));var oe=E.transformable;if(E.parentNode===null||!E.parentNode.transformable)this.setLocalEulerAngles(E,z);else{Bx(oe.localRotation,z[0],z[1],z[2]);var le=this.getRotation(E.parentNode);Yg(xc,hy(Li,le)),sA(oe.localRotation,oe.localRotation,xc),this.dirtifyLocal(E,oe)}}},{key:"setLocalEulerAngles",value:function(E,z){var te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,re=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,oe=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;typeof z=="number"&&(z=Kl(z,te,re));var le=E.transformable;Bx(le.localRotation,z[0],z[1],z[2]),oe&&this.dirtifyLocal(E,le)}},{key:"translateLocal",value:function(E,z){var te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,re=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof z=="number"&&(z=Kl(z,te,re));var oe=E.transformable;rc(z,Zn)||(n0(z,z,oe.localRotation),Lr(oe.localPosition,oe.localPosition,z),this.dirtifyLocal(E,oe))}},{key:"setPosition",value:function(E,z){var te,re=E.transformable;if(dl[0]=z[0],dl[1]=z[1],dl[2]=(te=z[2])!==null&&te!==void 0?te:0,!rc(this.getPosition(E),dl)){if(kc(re.position,dl),E.parentNode===null||!E.parentNode.transformable)kc(re.localPosition,dl);else{var oe=E.parentNode.transformable;U0(sc,oe.worldTransform),jd(sc,sc),Vu(re.localPosition,dl,sc)}this.dirtifyLocal(E,re)}}},{key:"setLocalPosition",value:function(E,z){var te,re=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,oe=E.transformable;ks[0]=z[0],ks[1]=z[1],ks[2]=(te=z[2])!==null&&te!==void 0?te:0,!rc(oe.localPosition,ks)&&(kc(oe.localPosition,ks),re&&this.dirtifyLocal(E,oe))}},{key:"scaleLocal",value:function(E,z){var te,re=E.transformable;Qf(re.localScale,re.localScale,mh(uo,z[0],z[1],(te=z[2])!==null&&te!==void 0?te:1)),this.dirtifyLocal(E,re)}},{key:"setLocalScale",value:function(E,z){var te,re=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,oe=E.transformable;mh(uo,z[0],z[1],(te=z[2])!==null&&te!==void 0?te:oe.localScale[2]),!rc(uo,oe.localScale)&&(kc(oe.localScale,uo),re&&this.dirtifyLocal(E,oe))}},{key:"translate",value:function(E,z){var te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,re=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof z=="number"&&(z=mh(uo,z,te,re)),!rc(z,Zn)&&(Lr(uo,this.getPosition(E),z),this.setPosition(E,uo))}},{key:"setRotation",value:function(E,z,te,re,oe){var le=E.transformable;if(typeof z=="number"&&(z=x1(z,te,re,oe)),E.parentNode===null||!E.parentNode.transformable)this.setLocalRotation(E,z);else{var he=this.getRotation(E.parentNode);Yg(Li,he),hy(Li,Li),Tv(le.localRotation,Li,z),A1(le.localRotation,le.localRotation),this.dirtifyLocal(E,le)}}},{key:"setLocalRotation",value:function(E,z,te,re,oe){var le=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;typeof z=="number"&&(z=aA(Li,z,te,re,oe));var he=E.transformable;Yg(he.localRotation,z),le&&this.dirtifyLocal(E,he)}},{key:"setLocalSkew",value:function(E,z,te){var re=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;typeof z=="number"&&(z=w1(Hi,z,te));var oe=E.transformable;S1(oe.localSkew,z),re&&this.dirtifyLocal(E,oe)}},{key:"dirtifyLocal",value:function(E,z){Ry(E)||z.localDirtyFlag||(z.localDirtyFlag=!0,z.dirtyFlag||this.dirtifyWorld(E,z))}},{key:"dirtifyWorld",value:function(E,z){z.dirtyFlag||this.unfreezeParentToRoot(E),this.dirtifyWorldInternal(E,z),this.dirtifyToRoot(E,!0)}},{key:"dirtifyFragment",value:function(E){var z=E.transformable;z&&(z.frozen=!1,z.dirtyFlag=!0,z.localDirtyFlag=!0);var te=E.renderable;te&&(te.renderBoundsDirty=!0,te.boundsDirty=!0,te.dirty=!0);for(var re=E.childNodes.length,oe=0;oe<re;oe++)this.dirtifyFragment(E.childNodes[oe]);E.nodeName===No.FRAGMENT&&this.pendingEvents.set(E,!1)}},{key:"triggerPendingEvents",value:function(){var E=this,z=new Set,te=function(oe,le){!oe.isConnected||z.has(oe)||oe.nodeName===No.FRAGMENT||(E.boundsChangedEvent.detail=le,E.boundsChangedEvent.target=oe,oe.isMutationObserved?oe.dispatchEvent(E.boundsChangedEvent):oe.ownerDocument.defaultView.dispatchEvent(E.boundsChangedEvent,!0),z.add(oe))};this.pendingEvents.forEach(function(re,oe){oe.nodeName!==No.FRAGMENT&&(Hp.affectChildren=re,re?oe.forEach(function(le){te(le,Hp)}):te(oe,Hp))}),z.clear(),this.clearPendingEvents()}},{key:"clearPendingEvents",value:function(){this.pendingEvents.clear()}},{key:"dirtifyToRoot",value:function(E){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,te=E;for(te.renderable&&(te.renderable.dirty=!0);te;)fn(te),te=te.parentNode;z&&E.forEach(function(re){fn(re)}),this.informDependentDisplayObjects(E),this.pendingEvents.set(E,z)}},{key:"updateDisplayObjectDependency",value:function(E,z,te,re){if(z&&z!==te){var oe=this.displayObjectDependencyMap.get(z);if(oe&&oe[E]){var le=oe[E].indexOf(re);oe[E].splice(le,1)}}if(te){var he=this.displayObjectDependencyMap.get(te);he||(this.displayObjectDependencyMap.set(te,{}),he=this.displayObjectDependencyMap.get(te)),he[E]||(he[E]=[]),he[E].push(re)}}},{key:"informDependentDisplayObjects",value:function(E){var z=this,te=this.displayObjectDependencyMap.get(E);te&&Object.keys(te).forEach(function(re){te[re].forEach(function(oe){z.dirtifyToRoot(oe,!0),oe.dispatchEvent(new bn(Zt.ATTR_MODIFIED,oe,z,z,re,bn.MODIFICATION,z,z)),oe.isCustomElement&&oe.isConnected&&oe.attributeChangedCallback&&oe.attributeChangedCallback(re,z,z)})})}},{key:"getPosition",value:function(E){var z=E.transformable;return Wt(z.position,this.getWorldTransform(E,z))}},{key:"getRotation",value:function(E){var z=E.transformable;return Ln(z.rotation,this.getWorldTransform(E,z))}},{key:"getScale",value:function(E){var z=E.transformable;return sn(z.scaling,this.getWorldTransform(E,z))}},{key:"getWorldTransform",value:function(E){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:E.transformable;return!z.localDirtyFlag&&!z.dirtyFlag||(E.parentNode&&E.parentNode.transformable&&this.getWorldTransform(E.parentNode),this.sync(E,z)),z.worldTransform}},{key:"getLocalPosition",value:function(E){return E.transformable.localPosition}},{key:"getLocalRotation",value:function(E){return E.transformable.localRotation}},{key:"getLocalScale",value:function(E){return E.transformable.localScale}},{key:"getLocalSkew",value:function(E){return E.transformable.localSkew}},{key:"calcLocalTransform",value:function(E){var z=E.localSkew[0]!==0||E.localSkew[1]!==0;if(z){Qn(E.localTransform,E.localRotation,E.localPosition,Kl(1,1,1),E.origin),(E.localSkew[0]!==0||E.localSkew[1]!==0)&&(Cf(no),no[4]=Math.tan(E.localSkew[0]),no[1]=Math.tan(E.localSkew[1]),Ed(E.localTransform,E.localTransform,no));var te=Qn(no,aA(Li,0,0,0,1),mh(uo,1,1,1),E.localScale,E.origin);Ed(E.localTransform,E.localTransform,te)}else{var re=E.localTransform,oe=E.localPosition,le=E.localRotation,he=E.localScale,ge=E.origin,Ae=oe[0]!==0||oe[1]!==0||oe[2]!==0,Pe=le[3]!==1||le[0]!==0||le[1]!==0||le[2]!==0,We=he[0]!==1||he[1]!==1||he[2]!==1,Xe=ge[0]!==0||ge[1]!==0||ge[2]!==0;!Pe&&!We&&!Xe?Ae?Ag(re,oe):Cf(re):Qn(re,le,oe,he,ge)}}},{key:"getLocalTransform",value:function(E){var z=E.transformable;return z.localDirtyFlag&&(this.calcLocalTransform(z),z.localDirtyFlag=!1),z.localTransform}},{key:"setLocalTransform",value:function(E,z){var te=Wt(ci,z),re=Ln(La,z),oe=sn(Ea,z);this.setLocalScale(E,oe,!1),this.setLocalPosition(E,te,!1),this.setLocalRotation(E,re,void 0,void 0,void 0,!1),this.dirtifyLocal(E,E.transformable)}},{key:"resetLocalTransform",value:function(E){this.setLocalScale(E,sr,!1),this.setLocalPosition(E,Zn,!1),this.setLocalEulerAngles(E,Zn,void 0,void 0,!1),this.setLocalSkew(E,zn,void 0,!1),this.dirtifyLocal(E,E.transformable)}},{key:"getTransformedGeometryBounds",value:function(E){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,te=arguments.length>2?arguments[2]:void 0,re=this.getGeometryBounds(E,z);if(!Dc.isEmpty(re)){var oe=te||new Dc;return oe.setFromTransformedAABB(re,this.getWorldTransform(E)),oe}return null}},{key:"getGeometryBounds",value:function(E){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,te=E,re=te.geometry;re.dirty&&xa.styleValueRegistry.updateGeometry(E);var oe=z?re.renderBounds:re.contentBounds||null;return oe||new Dc}},{key:"getBounds",value:function(E){var z=this,te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,re=E,oe=re.renderable;if(!oe.boundsDirty&&!te&&oe.bounds)return oe.bounds;if(!oe.renderBoundsDirty&&te&&oe.renderBounds)return oe.renderBounds;var le=te?oe.renderBounds:oe.bounds,he=this.getTransformedGeometryBounds(E,te,le),ge=E.childNodes;if(ge.forEach(function(We){var Xe=z.getBounds(We,te);Xe&&(he?he.add(Xe):(he=le||new Dc,he.update(Xe.center,Xe.halfExtents)))}),he||(he=new Dc),te){var Ae=pP(E);if(Ae){var Pe=Ae.parsedStyle.clipPath.getBounds(te);he?Pe&&(he=Pe.intersection(he)):he.update(Pe.center,Pe.halfExtents)}}return te?(oe.renderBounds=he,oe.renderBoundsDirty=!1):(oe.bounds=he,oe.boundsDirty=!1),he}},{key:"getLocalBounds",value:function(E){if(E.parentNode){var z=Br;E.parentNode.transformable&&(z=jd(no,this.getWorldTransform(E.parentNode)));var te=this.getBounds(E);if(!Dc.isEmpty(te)){var re=new Dc;return re.setFromTransformedAABB(te,z),re}}return this.getBounds(E)}},{key:"getBoundingClientRect",value:function(E){var z,te,re=this.getGeometryBounds(E);Dc.isEmpty(re)||(te=new Dc,te.setFromTransformedAABB(re,this.getWorldTransform(E)));var oe=(z=E.ownerDocument)===null||z===void 0||(z=z.defaultView)===null||z===void 0?void 0:z.getContextService().getBoundingClientRect();if(te){var le=te.getMin(),he=(0,hs.Z)(le,2),ge=he[0],Ae=he[1],Pe=te.getMax(),We=(0,hs.Z)(Pe,2),Xe=We[0],qe=We[1];return new Ol(ge+((oe==null?void 0:oe.left)||0),Ae+((oe==null?void 0:oe.top)||0),Xe-ge,qe-Ae)}return new Ol((oe==null?void 0:oe.left)||0,(oe==null?void 0:oe.top)||0,0,0)}},{key:"dirtifyWorldInternal",value:function(E,z){var te=this;if(!z.dirtyFlag){z.dirtyFlag=!0,z.frozen=!1,E.childNodes.forEach(function(le){var he=le.transformable;he.dirtyFlag||te.dirtifyWorldInternal(le,he)});var re=E,oe=re.renderable;oe&&(oe.renderBoundsDirty=!0,oe.boundsDirty=!0,oe.dirty=!0)}}},{key:"syncHierarchy",value:function(E){var z=E.transformable;if(!z.frozen){z.frozen=!0,(z.localDirtyFlag||z.dirtyFlag)&&this.sync(E,z);for(var te=E.childNodes,re=0;re<te.length;re++)this.syncHierarchy(te[re])}}},{key:"sync",value:function(E,z){if(z.localDirtyFlag&&(this.calcLocalTransform(z),z.localDirtyFlag=!1),z.dirtyFlag){var te=E.parentNode,re=te&&te.transformable;te===null||!re?U0(z.worldTransform,z.localTransform):Ed(z.worldTransform,re.worldTransform,z.localTransform),z.dirtyFlag=!1}}},{key:"unfreezeParentToRoot",value:function(E){for(var z=E.parentNode;z;){var te=z.transformable;te&&(te.frozen=!1),z=z.parentNode}}}])}(),Pd={MetricsString:"|\xC9q\xC5",BaselineSymbol:"M",BaselineMultiplier:1.4,HeightMultiplier:2,Newlines:[10,13],BreakingSpaces:[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288]},Ih=/[a-zA-Z0-9\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff!"#$%&'()*+,-./:;]/,av=/[!%),.:;?\]}¢°·'""†‡›℃∶、。〃〆〕〗〞﹚﹜!"%'),.:;?!]}~]/,lf=/[$(£¥·'"〈《「『【〔〖〝﹙﹛$(.[{£¥]/,lg=/[!),.:;?\]}¢·–—'"•"、。〆〞〕〉》」︰︱︲︳﹐﹑﹒﹓﹔﹕﹖﹘﹚﹜!),.:;?︶︸︺︼︾﹀﹂﹗]|}、]/,Yd=/[([{£¥'"‵〈《「『〔〝︴﹙﹛({︵︷︹︻︽︿﹁﹃﹏]/,Md=/[)\]}〕〉》」』】〙〗〟'"⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、:;,。.]/,Uv=/[([{〔〈《「『【〘〖〝'"⦅«—...‥〳〴〵]/,$g=/[!%),.:;?\]}¢°'"†‡℃〆〈《「『〕!%),.:;?]}]/,Q1=/[$([{£¥'"々〇〉》」〔$([{⦆¥₩#]/,Xd=new RegExp("".concat(av.source,"|").concat(lg.source,"|").concat(Md.source,"|").concat($g.source)),Wh=new RegExp("".concat(lf.source,"|").concat(Yd.source,"|").concat(Uv.source,"|").concat(Q1.source)),bE=function(){function b(x){var E=this;(0,$r.Z)(this,b),this.fontMetricsCache={},this.shouldBreakByKinsokuShorui=function(z,te){return E.isBreakingSpace(te)?!1:!!(z&&(Wh.exec(te)||Xd.exec(z)))},this.trimByKinsokuShorui=function(z){var te=(0,qa.Z)(z),re=te[te.length-2];if(!re)return z;var oe=re[re.length-1];return te[te.length-2]=re.slice(0,-1),te[te.length-1]=oe+te[te.length-1],te},this.runtime=x}return(0,qi.Z)(b,[{key:"measureFont",value:function(E,z){if(this.fontMetricsCache[E])return this.fontMetricsCache[E];var te={ascent:0,descent:0,fontSize:0},re=this.runtime.offscreenCanvasCreator.getOrCreateCanvas(z),oe=this.runtime.offscreenCanvasCreator.getOrCreateContext(z,{willReadFrequently:!0});oe.font=E;var le=Pd.MetricsString+Pd.BaselineSymbol,he=Math.ceil(oe.measureText(le).width),ge=Math.ceil(oe.measureText(Pd.BaselineSymbol).width),Ae=Pd.HeightMultiplier*ge;ge=ge*Pd.BaselineMultiplier|0,re.width=he,re.height=Ae,oe.fillStyle="#f00",oe.fillRect(0,0,he,Ae),oe.font=E,oe.textBaseline="alphabetic",oe.fillStyle="#000",oe.fillText(le,0,ge);var Pe=oe.getImageData(0,0,he||1,Ae||1).data,We=Pe.length,Xe=he*4,qe=0,nt=0,at=!1;for(qe=0;qe<ge;++qe){for(var pt=0;pt<Xe;pt+=4)if(Pe[nt+pt]!==255){at=!0;break}if(!at)nt+=Xe;else break}for(te.ascent=ge-qe,nt=We-Xe,at=!1,qe=Ae;qe>ge;--qe){for(var mt=0;mt<Xe;mt+=4)if(Pe[nt+mt]!==255){at=!0;break}if(!at)nt-=Xe;else break}return te.descent=qe-ge,te.fontSize=te.ascent+te.descent,this.fontMetricsCache[E]=te,te}},{key:"measureText",value:function(E,z,te){var re=z.fontSize,oe=re===void 0?16:re,le=z.wordWrap,he=le===void 0?!1:le,ge=z.lineHeight,Ae=z.lineWidth,Pe=Ae===void 0?1:Ae,We=z.textBaseline,Xe=We===void 0?"alphabetic":We,qe=z.textAlign,nt=qe===void 0?"start":qe,at=z.letterSpacing,pt=at===void 0?0:at,mt=z.textPath;z.textPathSide,z.textPathStartOffset;var bt=z.leading,jt=bt===void 0?0:bt,Ut=Up(z),Kt=this.measureFont(Ut,te);Kt.fontSize===0&&(Kt.fontSize=oe,Kt.ascent=oe);var Qt=this.runtime.offscreenCanvasCreator.getOrCreateContext(te);Qt.font=Ut,z.isOverflowing=!1;var Vt=he?this.wordWrap(E,z,te):E,vn=Vt.split(/(?:\r\n|\r|\n)/),wn=new Array(vn.length),kn=0;if(mt){mt.getTotalLength();for(var Vn=0;Vn<vn.length;Vn++)Qt.measureText(vn[Vn]).width+(vn[Vn].length-1)*pt}else{for(var vr=0;vr<vn.length;vr++){var or=Qt.measureText(vn[vr]).width+(vn[vr].length-1)*pt;wn[vr]=or,kn=Math.max(kn,or)}var Or=kn+Pe,qr=ge||Kt.fontSize+Pe,wr=Math.max(qr,Kt.fontSize+Pe)+(vn.length-1)*(qr+jt);qr+=jt;var Sr=0;return Xe==="middle"?Sr=-wr/2:Xe==="bottom"||Xe==="alphabetic"||Xe==="ideographic"?Sr=-wr:(Xe==="top"||Xe==="hanging")&&(Sr=0),{font:Ut,width:Or,height:wr,lines:vn,lineWidths:wn,lineHeight:qr,maxLineWidth:kn,fontProperties:Kt,lineMetrics:wn.map(function(Tr,ri){var Cr=0;return nt==="center"||nt==="middle"?Cr-=Tr/2:(nt==="right"||nt==="end")&&(Cr-=Tr),new Ol(Cr-Pe/2,Sr+ri*qr,Tr+Pe,qr)})}}}},{key:"wordWrap",value:function(E,z,te){var re=this,oe=this,le=z.wordWrapWidth,he=le===void 0?0:le,ge=z.letterSpacing,Ae=ge===void 0?0:ge,Pe=z.maxLines,We=Pe===void 0?1/0:Pe,Xe=z.textOverflow,qe=this.runtime.offscreenCanvasCreator.getOrCreateContext(te),nt=he+Ae,at="";Xe==="ellipsis"?at="...":Xe&&Xe!=="clip"&&(at=Xe);var pt=Array.from(E),mt=[],bt=0,jt=0,Ut=0,Kt={},Qt=function(Sr){return re.getFromCache(Sr,Ae,Kt,qe)},Vt=Qt(at);function vn(wr,Sr,Tr,ri){for(;Qt(wr)<ri&&Sr<pt.length-1&&!oe.isNewline(pt[Sr+1]);)Sr+=1,wr+=pt[Sr];for(;Qt(wr)>ri&&Sr>Tr;)Sr-=1,wr=wr.slice(0,-1);return{lineTxt:wr,txtLastCharIndex:Sr}}function wn(wr,Sr){if(!(Vt<=0||Vt>nt)){if(!mt[wr]){mt[wr]=at;return}var Tr=vn(mt[wr],Sr,Ut+1,nt-Vt);mt[wr]=Tr.lineTxt+at}}for(var kn=0;kn<pt.length;kn++){var Vn=pt[kn],vr=pt[kn-1],or=pt[kn+1],Or=Qt(Vn);if(this.isNewline(Vn)){if(bt+1>=We){z.isOverflowing=!0,kn<pt.length-1&&wn(bt,kn-1);break}Ut=kn-1,bt+=1,jt=0,mt[bt]="";continue}if(jt>0&&jt+Or>nt){var qr=vn(mt[bt],kn-1,Ut+1,nt);if(qr.txtLastCharIndex!==kn-1){if(mt[bt]=qr.lineTxt,qr.txtLastCharIndex===pt.length-1)break;kn=qr.txtLastCharIndex+1,Vn=pt[kn],vr=pt[kn-1],or=pt[kn+1],Or=Qt(Vn)}if(bt+1>=We){z.isOverflowing=!0,wn(bt,kn-1);break}if(Ut=kn-1,bt+=1,jt=0,mt[bt]="",this.isBreakingSpace(Vn))continue;this.canBreakInLastChar(Vn)||(mt=this.trimToBreakable(mt),jt=this.sumTextWidthByCache(mt[bt]||"",Kt)),this.shouldBreakByKinsokuShorui(Vn,or)&&(mt=this.trimByKinsokuShorui(mt),jt+=Qt(vr||""))}jt+=Or,mt[bt]=(mt[bt]||"")+Vn}return mt.join(`
`)}},{key:"isBreakingSpace",value:function(E){return typeof E!="string"?!1:Pd.BreakingSpaces.indexOf(E.charCodeAt(0))>=0}},{key:"isNewline",value:function(E){return typeof E!="string"?!1:Pd.Newlines.indexOf(E.charCodeAt(0))>=0}},{key:"trimToBreakable",value:function(E){var z=(0,qa.Z)(E),te=z[z.length-2],re=this.findBreakableIndex(te);if(re===-1||!te)return z;var oe=te.slice(re,re+1),le=this.isBreakingSpace(oe),he=re+1,ge=re+(le?0:1);return z[z.length-1]+=te.slice(he,te.length),z[z.length-2]=te.slice(0,ge),z}},{key:"canBreakInLastChar",value:function(E){return!(E&&Ih.test(E))}},{key:"sumTextWidthByCache",value:function(E,z){return E.split("").reduce(function(te,re){if(!z[re])throw Error("cannot count the word without cache");return te+z[re]},0)}},{key:"findBreakableIndex",value:function(E){for(var z=E.length-1;z>=0;z--)if(!Ih.test(E[z]))return z;return-1}},{key:"getFromCache",value:function(E,z,te,re){var oe=te[E];if(typeof oe!="number"){var le=E.length*z,he=re.measureText(E);oe=he.width+le,te[E]=oe}return oe}}])}(),xa={},mp=function(b){var x=new zy,E=new dS;return b={},(0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)(b,No.FRAGMENT,null),No.CIRCLE,new PC),No.ELLIPSE,new hS),No.RECT,x),No.IMAGE,x),No.GROUP,new X1),No.LINE,new MC),No.TEXT,new sg(xa)),No.POLYLINE,E),No.POLYGON,E),(0,Rs.Z)((0,Rs.Z)((0,Rs.Z)(b,No.PATH,new LC),No.HTML,new fS),No.MESH,null)}(),Ld=function(b){var x=new hC,E=new xE;return b={},(0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)(b,Ja.PERCENTAGE,null),Ja.NUMBER,new YT),Ja.ANGLE,new qA),Ja.DEFINED_PATH,new cC),Ja.PAINT,x),Ja.COLOR,x),Ja.FILTER,new $A),Ja.LENGTH,E),Ja.LENGTH_PERCENTAGE,E),Ja.LENGTH_PERCENTAGE_12,new dC),(0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)(b,Ja.LENGTH_PERCENTAGE_14,new tS),Ja.COORDINATE,new xE),Ja.OFFSET_DISTANCE,new zv),Ja.OPACITY_VALUE,new Y1),Ja.PATH,new Rf),Ja.LIST_OF_POINTS,new fP),Ja.SHADOW_BLUR,new nS),Ja.TEXT,new gC),Ja.TEXT_TRANSFORM,new XT),Ja.TRANSFORM,new CC),(0,Rs.Z)((0,Rs.Z)((0,Rs.Z)(b,Ja.TRANSFORM_ORIGIN,new bC),Ja.Z_INDEX,new cS),Ja.MARKER,new fC)}(),jm=function(){return typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof Oe.g!="undefined"?Oe.g:{}};xa.CameraContribution=Xw,xa.AnimationTimeline=null,xa.EasingFunction=null,xa.offscreenCanvasCreator=new Je,xa.sceneGraphSelector=new Ft,xa.sceneGraphService=new ec(xa),xa.textService=new bE(xa),xa.geometryUpdaterFactory=mp,xa.CSSPropertySyntaxFactory=Ld,xa.styleValueRegistry=new JA(xa),xa.layoutRegistry=null,xa.globalThis=jm(),xa.enableStyleSyntax=!0,xa.enableSizeAttenuation=!1;var Td=0;function Wm(){Td=0}var J1=new bn(Zt.INSERTED,null,"","","",0,"",""),jy=new bn(Zt.REMOVED,null,"","","",0,"",""),gS=new se(Zt.DESTROY),Vp=function(b){function x(){var E;(0,$r.Z)(this,x);for(var z=arguments.length,te=new Array(z),re=0;re<z;re++)te[re]=arguments[re];return E=Ls(this,x,[].concat(te)),E.entity=Td++,E.renderable={bounds:void 0,boundsDirty:!0,renderBounds:void 0,renderBoundsDirty:!0,dirtyRenderBounds:void 0,dirty:!1},E.cullable={strategy:Nf.Standard,visibilityPlaneMask:-1,visible:!0,enable:!0},E.transformable={dirtyFlag:!1,localDirtyFlag:!1,frozen:!1,localPosition:[0,0,0],localRotation:[0,0,0,1],localScale:[1,1,1],localTransform:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],localSkew:[0,0],position:[0,0,0],rotation:[0,0,0,1],scaling:[1,1,1],worldTransform:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],origin:[0,0,0]},E.sortable={dirty:!1,sorted:void 0,renderOrder:0,dirtyChildren:[],dirtyReason:void 0},E.geometry={contentBounds:void 0,renderBounds:void 0,dirty:!0},E.rBushNode={aabb:void 0},E.namespaceURI="g",E.scrollLeft=0,E.scrollTop=0,E.clientTop=0,E.clientLeft=0,E.destroyed=!1,E.style={},E.computedStyle={},E.parsedStyle={},E.attributes={},E}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"className",get:function(){return this.getAttribute("class")||""},set:function(z){this.setAttribute("class",z)}},{key:"classList",get:function(){return this.className.split(" ").filter(function(z){return z!==""})}},{key:"tagName",get:function(){return this.nodeName}},{key:"children",get:function(){return this.childNodes}},{key:"childElementCount",get:function(){return this.childNodes.length}},{key:"firstElementChild",get:function(){return this.firstChild}},{key:"lastElementChild",get:function(){return this.lastChild}},{key:"parentElement",get:function(){return this.parentNode}},{key:"nextSibling",get:function(){if(this.parentNode){var z=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[z+1]||null}return null}},{key:"previousSibling",get:function(){if(this.parentNode){var z=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[z-1]||null}return null}},{key:"cloneNode",value:function(z){throw new Error(Ku)}},{key:"appendChild",value:function(z,te){var re;if(z.destroyed)throw new Error(Il);return xa.sceneGraphService.attach(z,this,te),(re=this.ownerDocument)!==null&&re!==void 0&&re.defaultView&&(!Ry(this)&&z.nodeName===No.FRAGMENT?this.ownerDocument.defaultView.mountFragment(z):this.ownerDocument.defaultView.mountChildren(z)),this.isMutationObserved&&(J1.relatedNode=this,z.dispatchEvent(J1)),z}},{key:"insertBefore",value:function(z,te){if(!te)this.appendChild(z);else{z.parentElement&&z.parentElement.removeChild(z);var re=this.childNodes.indexOf(te);re===-1?this.appendChild(z):this.appendChild(z,re)}return z}},{key:"replaceChild",value:function(z,te){var re=this.childNodes.indexOf(te);return this.removeChild(te),this.appendChild(z,re),te}},{key:"removeChild",value:function(z){var te;return jy.relatedNode=this,z.dispatchEvent(jy),(te=z.ownerDocument)!==null&&te!==void 0&&te.defaultView&&z.ownerDocument.defaultView.unmountChildren(z),xa.sceneGraphService.detach(z),z}},{key:"removeChildren",value:function(){for(var z=this.childNodes.length-1;z>=0;z--){var te=this.childNodes[z];this.removeChild(te)}}},{key:"destroyChildren",value:function(){for(var z=this.childNodes.length-1;z>=0;z--){var te=this.childNodes[z];te.childNodes.length>0&&te.destroyChildren(),te.destroy()}}},{key:"matches",value:function(z){return xa.sceneGraphService.matches(z,this)}},{key:"getElementById",value:function(z){return xa.sceneGraphService.querySelector("#".concat(z),this)}},{key:"getElementsByName",value:function(z){return xa.sceneGraphService.querySelectorAll('[name="'.concat(z,'"]'),this)}},{key:"getElementsByClassName",value:function(z){return xa.sceneGraphService.querySelectorAll(".".concat(z),this)}},{key:"getElementsByTagName",value:function(z){return xa.sceneGraphService.querySelectorAll(z,this)}},{key:"querySelector",value:function(z){return xa.sceneGraphService.querySelector(z,this)}},{key:"querySelectorAll",value:function(z){return xa.sceneGraphService.querySelectorAll(z,this)}},{key:"closest",value:function(z){var te=this;do{if(xa.sceneGraphService.matches(z,te))return te;te=te.parentElement}while(te!==null);return null}},{key:"find",value:function(z){var te=this,re=null;return this.forEach(function(oe){return oe!==te&&z(oe)?(re=oe,!1):!0}),re}},{key:"findAll",value:function(z){var te=this,re=[];return this.forEach(function(oe){oe!==te&&z(oe)&&re.push(oe)}),re}},{key:"after",value:function(){var z=this;if(this.parentNode){for(var te=this.parentNode.childNodes.indexOf(this),re=arguments.length,oe=new Array(re),le=0;le<re;le++)oe[le]=arguments[le];oe.forEach(function(he,ge){var Ae;return(Ae=z.parentNode)===null||Ae===void 0?void 0:Ae.appendChild(he,te+ge+1)})}}},{key:"before",value:function(){if(this.parentNode){for(var z,te=this.parentNode.childNodes.indexOf(this),re=arguments.length,oe=new Array(re),le=0;le<re;le++)oe[le]=arguments[le];var he=oe[0],ge=oe.slice(1);this.parentNode.appendChild(he,te),(z=he).after.apply(z,(0,qa.Z)(ge))}}},{key:"replaceWith",value:function(){this.after.apply(this,arguments),this.remove()}},{key:"append",value:function(){for(var z=this,te=arguments.length,re=new Array(te),oe=0;oe<te;oe++)re[oe]=arguments[oe];re.forEach(function(le){return z.appendChild(le)})}},{key:"prepend",value:function(){for(var z=this,te=arguments.length,re=new Array(te),oe=0;oe<te;oe++)re[oe]=arguments[oe];re.forEach(function(le,he){return z.appendChild(le,he)})}},{key:"replaceChildren",value:function(){for(;this.childNodes.length&&this.firstChild;)this.removeChild(this.firstChild);this.append.apply(this,arguments)}},{key:"remove",value:function(){return this.parentNode?this.parentNode.removeChild(this):this}},{key:"destroy",value:function(){this.destroyChildren(),this.dispatchEvent(gS),this.remove(),this.emitter.removeAllListeners(),this.destroyed=!0}},{key:"getGeometryBounds",value:function(){return xa.sceneGraphService.getGeometryBounds(this)}},{key:"getRenderBounds",value:function(){return xa.sceneGraphService.getBounds(this,!0)}},{key:"getBounds",value:function(){return xa.sceneGraphService.getBounds(this)}},{key:"getLocalBounds",value:function(){return xa.sceneGraphService.getLocalBounds(this)}},{key:"getBoundingClientRect",value:function(){return xa.sceneGraphService.getBoundingClientRect(this)}},{key:"getClientRects",value:function(){return[this.getBoundingClientRect()]}},{key:"computedStyleMap",value:function(){return new Map(Object.entries(this.computedStyle))}},{key:"getAttributeNames",value:function(){return Object.keys(this.attributes)}},{key:"getAttribute",value:function(z){if(typeof z!="symbol"){var te=this.attributes[z];return te}}},{key:"hasAttribute",value:function(z){return this.getAttributeNames().includes(z)}},{key:"hasAttributes",value:function(){return!!this.getAttributeNames().length}},{key:"removeAttribute",value:function(z){this.setAttribute(z,null),delete this.attributes[z]}},{key:"setAttribute",value:function(z,te,re,oe){this.attributes[z]=te}},{key:"getAttributeNS",value:function(z,te){throw new Error(Ku)}},{key:"getAttributeNode",value:function(z){throw new Error(Ku)}},{key:"getAttributeNodeNS",value:function(z,te){throw new Error(Ku)}},{key:"hasAttributeNS",value:function(z,te){throw new Error(Ku)}},{key:"removeAttributeNS",value:function(z,te){throw new Error(Ku)}},{key:"removeAttributeNode",value:function(z){throw new Error(Ku)}},{key:"setAttributeNS",value:function(z,te,re){throw new Error(Ku)}},{key:"setAttributeNode",value:function(z){throw new Error(Ku)}},{key:"setAttributeNodeNS",value:function(z){throw new Error(Ku)}},{key:"toggleAttribute",value:function(z,te){throw new Error(Ku)}}])}(be);function au(b){return!!(b!=null&&b.nodeName)}var Wy=xa.globalThis.Proxy?xa.globalThis.Proxy:function(){},uf=new bn(Zt.ATTR_MODIFIED,null,null,null,null,bn.MODIFICATION,null,null),sv=Ts(),Gv=Cd(),Zu=function(b){function x(E){var z;return(0,$r.Z)(this,x),z=Ls(this,x),z.isCustomElement=!1,z.isMutationObserved=!1,z.activeAnimations=[],z.config=E,z.id=E.id||"",z.name=E.name||"",(E.className||E.class)&&(z.className=E.className||E.class),z.nodeName=E.type||No.GROUP,E.initialParsedStyle&&Object.assign(z.parsedStyle,E.initialParsedStyle),z.initAttributes(E.style),xa.enableStyleSyntax&&(z.style=new Wy({setProperty:function(re,oe){z.setAttribute(re,oe)},getPropertyValue:function(re){return z.getAttribute(re)},removeProperty:function(re){z.removeAttribute(re)},item:function(){return""}},{get:function(re,oe){return re[oe]!==void 0?re[oe]:z.getAttribute(oe)},set:function(re,oe,le){return z.setAttribute(oe,le),!0}})),z}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"destroy",value:function(){Z2(x,"destroy",this,3)([]),this.getAnimations().forEach(function(z){z.cancel()})}},{key:"cloneNode",value:function(z,te){var re=(0,Ho.Z)({},this.attributes);for(var oe in re){var le=re[oe];au(le)&&oe!=="clipPath"&&oe!=="offsetPath"&&oe!=="textPath"&&(re[oe]=le.cloneNode(z)),te&&(re[oe]=te(oe,le))}var he=new this.constructor((0,Ho.Z)((0,Ho.Z)({},this.config),{},{style:re}));return he.setLocalTransform(this.getLocalTransform()),z&&this.children.forEach(function(ge){if(!ge.style.isMarker){var Ae=ge.cloneNode(z);he.appendChild(Ae)}}),he}},{key:"initAttributes",value:function(){var z=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},te={forceUpdateGeometry:!0};xa.styleValueRegistry.processProperties(this,z,te),this.renderable.dirty=!0}},{key:"setAttribute",value:function(z,te){var re=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,oe=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;Fl(te)||(re||te!==this.attributes[z])&&(this.internalSetAttribute(z,te,{memoize:oe}),Z2(x,"setAttribute",this,3)([z,te]))}},{key:"internalSetAttribute",value:function(z,te){var re=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},oe=this.renderable,le=this.attributes[z],he=this.parsedStyle[z];xa.styleValueRegistry.processProperties(this,(0,Rs.Z)({},z,te),re),oe.dirty=!0;var ge=this.parsedStyle[z];if(this.isConnected&&(uf.relatedNode=this,uf.prevValue=le,uf.newValue=te,uf.attrName=z,uf.prevParsedValue=he,uf.newParsedValue=ge,this.isMutationObserved?this.dispatchEvent(uf):(uf.target=this,this.ownerDocument.defaultView.dispatchEvent(uf,!0))),this.isCustomElement&&this.isConnected||!this.isCustomElement){var Ae,Pe;(Ae=(Pe=this).attributeChangedCallback)===null||Ae===void 0||Ae.call(Pe,z,le,te,he,ge)}}},{key:"getBBox",value:function(){var z=this.getBounds(),te=z.getMin(),re=(0,hs.Z)(te,2),oe=re[0],le=re[1],he=z.getMax(),ge=(0,hs.Z)(he,2),Ae=ge[0],Pe=ge[1];return new Ol(oe,le,Ae-oe,Pe-le)}},{key:"setOrigin",value:function(z){var te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,re=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return xa.sceneGraphService.setOrigin(this,Of(z,te,re,!1)),this}},{key:"getOrigin",value:function(){return xa.sceneGraphService.getOrigin(this)}},{key:"setPosition",value:function(z){var te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,re=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return xa.sceneGraphService.setPosition(this,Of(z,te,re,!1)),this}},{key:"setLocalPosition",value:function(z){var te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,re=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return xa.sceneGraphService.setLocalPosition(this,Of(z,te,re,!1)),this}},{key:"translate",value:function(z){var te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,re=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return xa.sceneGraphService.translate(this,Of(z,te,re,!1)),this}},{key:"translateLocal",value:function(z){var te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,re=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return xa.sceneGraphService.translateLocal(this,Of(z,te,re,!1)),this}},{key:"getPosition",value:function(){return xa.sceneGraphService.getPosition(this)}},{key:"getLocalPosition",value:function(){return xa.sceneGraphService.getLocalPosition(this)}},{key:"scale",value:function(z,te,re){return this.scaleLocal(z,te,re)}},{key:"scaleLocal",value:function(z,te,re){return typeof z=="number"&&(te=te||z,re=re||z,z=Of(z,te,re,!1)),xa.sceneGraphService.scaleLocal(this,z),this}},{key:"setLocalScale",value:function(z,te,re){return typeof z=="number"&&(te=te||z,re=re||z,z=Of(z,te,re,!1)),xa.sceneGraphService.setLocalScale(this,z),this}},{key:"getLocalScale",value:function(){return xa.sceneGraphService.getLocalScale(this)}},{key:"getScale",value:function(){return xa.sceneGraphService.getScale(this)}},{key:"getEulerAngles",value:function(){var z=aE(sv,xa.sceneGraphService.getWorldTransform(this)),te=(0,hs.Z)(z,3),re=te[2];return ng(re)}},{key:"getLocalEulerAngles",value:function(){var z=aE(sv,xa.sceneGraphService.getLocalRotation(this)),te=(0,hs.Z)(z,3),re=te[2];return ng(re)}},{key:"setEulerAngles",value:function(z){return xa.sceneGraphService.setEulerAngles(this,0,0,z),this}},{key:"setLocalEulerAngles",value:function(z){return xa.sceneGraphService.setLocalEulerAngles(this,0,0,z),this}},{key:"rotateLocal",value:function(z,te,re){return El(te)&&El(re)?xa.sceneGraphService.rotateLocal(this,0,0,z):xa.sceneGraphService.rotateLocal(this,z,te,re),this}},{key:"rotate",value:function(z,te,re){return El(te)&&El(re)?xa.sceneGraphService.rotate(this,0,0,z):xa.sceneGraphService.rotate(this,z,te,re),this}},{key:"setRotation",value:function(z,te,re,oe){return xa.sceneGraphService.setRotation(this,z,te,re,oe),this}},{key:"setLocalRotation",value:function(z,te,re,oe){return xa.sceneGraphService.setLocalRotation(this,z,te,re,oe),this}},{key:"setLocalSkew",value:function(z,te){return xa.sceneGraphService.setLocalSkew(this,z,te),this}},{key:"getRotation",value:function(){return xa.sceneGraphService.getRotation(this)}},{key:"getLocalRotation",value:function(){return xa.sceneGraphService.getLocalRotation(this)}},{key:"getLocalSkew",value:function(){return xa.sceneGraphService.getLocalSkew(this)}},{key:"getLocalTransform",value:function(){return xa.sceneGraphService.getLocalTransform(this)}},{key:"getWorldTransform",value:function(){return xa.sceneGraphService.getWorldTransform(this)}},{key:"setLocalTransform",value:function(z){return xa.sceneGraphService.setLocalTransform(this,z),this}},{key:"resetLocalTransform",value:function(){xa.sceneGraphService.resetLocalTransform(this)}},{key:"getAnimations",value:function(){return this.activeAnimations}},{key:"animate",value:function(z,te){var re,oe=(re=this.ownerDocument)===null||re===void 0?void 0:re.timeline;return oe?oe.play(this,z,te):null}},{key:"isVisible",value:function(){var z;return((z=this.parsedStyle)===null||z===void 0?void 0:z.visibility)!=="hidden"}},{key:"interactive",get:function(){return this.isInteractive()},set:function(z){this.style.pointerEvents=z?"auto":"none"}},{key:"isInteractive",value:function(){var z;return((z=this.parsedStyle)===null||z===void 0?void 0:z.pointerEvents)!=="none"}},{key:"isCulled",value:function(){return!!(this.cullable&&this.cullable.enable&&!this.cullable.visible)}},{key:"toFront",value:function(){return this.parentNode&&(this.style.zIndex=Math.max.apply(Math,(0,qa.Z)(this.parentNode.children.map(function(z){return Number(z.style.zIndex)})))+1),this}},{key:"toBack",value:function(){return this.parentNode&&(this.style.zIndex=Math.min.apply(Math,(0,qa.Z)(this.parentNode.children.map(function(z){return Number(z.style.zIndex)})))-1),this}},{key:"getConfig",value:function(){return this.config}},{key:"attr",value:function(){for(var z=this,te=arguments.length,re=new Array(te),oe=0;oe<te;oe++)re[oe]=arguments[oe];var le=re[0],he=re[1];return le?lh(le)?(Object.keys(le).forEach(function(ge){z.setAttribute(ge,le[ge])}),this):re.length===2?(this.setAttribute(le,he),this):this.attributes[le]:this.attributes}},{key:"getMatrix",value:function(z){var te=z||this.getWorldTransform(),re=Wt(sv,te),oe=(0,hs.Z)(re,2),le=oe[0],he=oe[1],ge=sn(sv,te),Ae=(0,hs.Z)(ge,2),Pe=Ae[0],We=Ae[1],Xe=Ln(Gv,te),qe=aE(sv,Xe),nt=(0,hs.Z)(qe,3),at=nt[0],pt=nt[2];return BA(at||pt,le,he,Pe,We)}},{key:"getLocalMatrix",value:function(){return this.getMatrix(this.getLocalTransform())}},{key:"setMatrix",value:function(z){var te=lE(z),re=(0,hs.Z)(te,5),oe=re[0],le=re[1],he=re[2],ge=re[3],Ae=re[4];this.setEulerAngles(Ae).setPosition(oe,le).setLocalScale(he,ge)}},{key:"setLocalMatrix",value:function(z){var te=lE(z),re=(0,hs.Z)(te,5),oe=re[0],le=re[1],he=re[2],ge=re[3],Ae=re[4];this.setLocalEulerAngles(Ae).setLocalPosition(oe,le).setLocalScale(he,ge)}},{key:"show",value:function(){this.forEach(function(z){z.style.visibility="visible"})}},{key:"hide",value:function(){this.forEach(function(z){z.style.visibility="hidden"})}},{key:"getCount",value:function(){return this.childElementCount}},{key:"getParent",value:function(){return this.parentElement}},{key:"getChildren",value:function(){return this.children}},{key:"getFirst",value:function(){return this.firstElementChild}},{key:"getLast",value:function(){return this.lastElementChild}},{key:"getChildByIndex",value:function(z){return this.children[z]||null}},{key:"add",value:function(z,te){return this.appendChild(z,te)}},{key:"set",value:function(z,te){this.config[z]=te}},{key:"get",value:function(z){return this.config[z]}},{key:"moveTo",value:function(z){var te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,re=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(z,te,re),this}},{key:"move",value:function(z){var te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,re=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(z,te,re),this}},{key:"setZIndex",value:function(z){return this.style.zIndex=z,this}}])}(Vp);Zu.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","display","draggable","droppable","fill","fillOpacity","fillRule","filter","increasedLineWidthForHitTesting","lineCap","lineDash","lineDashOffset","lineJoin","lineWidth","miterLimit","hitArea","offsetDistance","offsetPath","offsetX","offsetY","opacity","pointerEvents","shadowColor","shadowType","shadowBlur","shadowOffsetX","shadowOffsetY","stroke","strokeOpacity","strokeWidth","strokeLinecap","strokeLineJoin","strokeDasharray","strokeDashoffset","transform","transformOrigin","textTransform","visibility","zIndex"]);var cf=function(b){function x(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,$r.Z)(this,x),Ls(this,x,[(0,Ho.Z)({type:No.CIRCLE},E)])}return(0,ps.Z)(x,b),(0,qi.Z)(x)}(Zu);cf.PARSED_STYLE_LIST=new Set([].concat((0,qa.Z)(Zu.PARSED_STYLE_LIST),["cx","cy","cz","r","isBillboard","isSizeAttenuation"]));var Dd=["style"],Ng=function(b){function x(){var E,z=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},te=z.style,re=(0,q0.Z)(z,Dd);return(0,$r.Z)(this,x),E=Ls(this,x,[(0,Ho.Z)({style:te},re)]),E.isCustomElement=!0,E}return(0,ps.Z)(x,b),(0,qi.Z)(x)}(Zu);Ng.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","draggable","droppable","opacity","pointerEvents","transform","transformOrigin","zIndex","visibility"]);var Um=function(b){function x(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,$r.Z)(this,x),Ls(this,x,[(0,Ho.Z)({type:No.ELLIPSE},E)])}return(0,ps.Z)(x,b),(0,qi.Z)(x)}(Zu);Um.PARSED_STYLE_LIST=new Set([].concat((0,qa.Z)(Zu.PARSED_STYLE_LIST),["cx","cy","cz","rx","ry","isBillboard","isSizeAttenuation"]));var p0=function(b){function x(){return(0,$r.Z)(this,x),Ls(this,x,[{type:No.FRAGMENT}])}return(0,ps.Z)(x,b),(0,qi.Z)(x)}(Zu);p0.PARSED_STYLE_LIST=new Set(["class","className"]);var Oh=function(b){function x(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,$r.Z)(this,x),Ls(this,x,[(0,Ho.Z)({type:No.GROUP},E)])}return(0,ps.Z)(x,b),(0,qi.Z)(x)}(Zu);Oh.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","draggable","droppable","opacity","pointerEvents","transform","transformOrigin","zIndex","visibility"]);var ep=["style"],Kp=function(b){function x(){var E,z=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},te=z.style,re=(0,q0.Z)(z,ep);return(0,$r.Z)(this,x),E=Ls(this,x,[(0,Ho.Z)({type:No.HTML,style:te},re)]),E.cullable.enable=!1,E}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"getDomElement",value:function(){return this.parsedStyle.$el}},{key:"getClientRects",value:function(){return[this.getBoundingClientRect()]}},{key:"getLocalBounds",value:function(){if(this.parentNode){var z=jd(vc(),this.parentNode.getWorldTransform()),te=this.getBounds();if(!Dc.isEmpty(te)){var re=new Dc;return re.setFromTransformedAABB(te,z),re}}return this.getBounds()}}])}(Zu);Kp.PARSED_STYLE_LIST=new Set([].concat((0,qa.Z)(Zu.PARSED_STYLE_LIST),["x","y","$el","innerHTML","width","height"]));var Ff=function(b){function x(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,$r.Z)(this,x),Ls(this,x,[(0,Ho.Z)({type:No.IMAGE},E)])}return(0,ps.Z)(x,b),(0,qi.Z)(x)}(Zu);Ff.PARSED_STYLE_LIST=new Set([].concat((0,qa.Z)(Zu.PARSED_STYLE_LIST),["x","y","z","src","width","height","isBillboard","billboardRotation","isSizeAttenuation","keepAspectRatio"]));var Uy=["style"],Zp=function(b){function x(){var E,z=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},te=z.style,re=(0,q0.Z)(z,Uy);(0,$r.Z)(this,x),E=Ls(this,x,[(0,Ho.Z)({type:No.LINE,style:(0,Ho.Z)({x1:0,y1:0,x2:0,y2:0,z1:0,z2:0},te)},re)]),E.markerStartAngle=0,E.markerEndAngle=0;var oe=E.parsedStyle,le=oe.markerStart,he=oe.markerEnd;return le&&au(le)&&(E.markerStartAngle=le.getLocalEulerAngles(),E.appendChild(le)),he&&au(he)&&(E.markerEndAngle=he.getLocalEulerAngles(),E.appendChild(he)),E.transformMarker(!0),E.transformMarker(!1),E}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"attributeChangedCallback",value:function(z,te,re,oe,le){z==="x1"||z==="y1"||z==="x2"||z==="y2"||z==="markerStartOffset"||z==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):z==="markerStart"?(oe&&au(oe)&&(this.markerStartAngle=0,oe.remove()),le&&au(le)&&(this.markerStartAngle=le.getLocalEulerAngles(),this.appendChild(le),this.transformMarker(!0))):z==="markerEnd"&&(oe&&au(oe)&&(this.markerEndAngle=0,oe.remove()),le&&au(le)&&(this.markerEndAngle=le.getLocalEulerAngles(),this.appendChild(le),this.transformMarker(!1)))}},{key:"transformMarker",value:function(z){var te=this.parsedStyle,re=te.markerStart,oe=te.markerEnd,le=te.markerStartOffset,he=te.markerEndOffset,ge=te.x1,Ae=te.x2,Pe=te.y1,We=te.y2,Xe=z?re:oe;if(!(!Xe||!au(Xe))){var qe=0,nt,at,pt,mt,bt,jt;z?(pt=ge,mt=Pe,nt=Ae-ge,at=We-Pe,bt=le||0,jt=this.markerStartAngle):(pt=Ae,mt=We,nt=ge-Ae,at=Pe-We,bt=he||0,jt=this.markerEndAngle),qe=Math.atan2(at,nt),Xe.setLocalEulerAngles(qe*180/Math.PI+jt),Xe.setLocalPosition(pt+Math.cos(qe)*bt,mt+Math.sin(qe)*bt)}}},{key:"getPoint",value:function(z){var te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,re=this.parsedStyle,oe=re.x1,le=re.y1,he=re.x2,ge=re.y2,Ae=Ud(oe,le,he,ge,z),Pe=Ae.x,We=Ae.y,Xe=Vu(Ts(),Kl(Pe,We,0),te?this.getWorldTransform():this.getLocalTransform());return new Hd(Xe[0],Xe[1])}},{key:"getPointAtLength",value:function(z){var te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(z/this.getTotalLength(),te)}},{key:"getTotalLength",value:function(){var z=this.parsedStyle,te=z.x1,re=z.y1,oe=z.x2,le=z.y2;return kw(te,re,oe,le)}}])}(Zu);Zp.PARSED_STYLE_LIST=new Set([].concat((0,qa.Z)(Zu.PARSED_STYLE_LIST),["x1","y1","x2","y2","z1","z2","isBillboard","isSizeAttenuation","markerStart","markerEnd","markerStartOffset","markerEndOffset"]));var Bg=["style"],Pu=function(b){function x(){var E,z=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},te=z.style,re=(0,q0.Z)(z,Bg);(0,$r.Z)(this,x),E=Ls(this,x,[(0,Ho.Z)({type:No.PATH,style:te,initialParsedStyle:{miterLimit:4,d:(0,Ho.Z)({},To)}},re)]),E.markerStartAngle=0,E.markerEndAngle=0,E.markerMidList=[];var oe=E.parsedStyle,le=oe.markerStart,he=oe.markerEnd,ge=oe.markerMid;return le&&au(le)&&(E.markerStartAngle=le.getLocalEulerAngles(),E.appendChild(le)),ge&&au(ge)&&E.placeMarkerMid(ge),he&&au(he)&&(E.markerEndAngle=he.getLocalEulerAngles(),E.appendChild(he)),E.transformMarker(!0),E.transformMarker(!1),E}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"attributeChangedCallback",value:function(z,te,re,oe,le){z==="d"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):z==="markerStartOffset"||z==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):z==="markerStart"?(oe&&au(oe)&&(this.markerStartAngle=0,oe.remove()),le&&au(le)&&(this.markerStartAngle=le.getLocalEulerAngles(),this.appendChild(le),this.transformMarker(!0))):z==="markerEnd"?(oe&&au(oe)&&(this.markerEndAngle=0,oe.remove()),le&&au(le)&&(this.markerEndAngle=le.getLocalEulerAngles(),this.appendChild(le),this.transformMarker(!1))):z==="markerMid"&&this.placeMarkerMid(le)}},{key:"transformMarker",value:function(z){var te=this.parsedStyle,re=te.markerStart,oe=te.markerEnd,le=te.markerStartOffset,he=te.markerEndOffset,ge=z?re:oe;if(!(!ge||!au(ge))){var Ae=0,Pe,We,Xe,qe,nt,at;if(z){var pt=this.getStartTangent(),mt=(0,hs.Z)(pt,2),bt=mt[0],jt=mt[1];Xe=jt[0],qe=jt[1],Pe=bt[0]-jt[0],We=bt[1]-jt[1],nt=le||0,at=this.markerStartAngle}else{var Ut=this.getEndTangent(),Kt=(0,hs.Z)(Ut,2),Qt=Kt[0],Vt=Kt[1];Xe=Vt[0],qe=Vt[1],Pe=Qt[0]-Vt[0],We=Qt[1]-Vt[1],nt=he||0,at=this.markerEndAngle}Ae=Math.atan2(We,Pe),ge.setLocalEulerAngles(Ae*180/Math.PI+at),ge.setLocalPosition(Xe+Math.cos(Ae)*nt,qe+Math.sin(Ae)*nt)}}},{key:"placeMarkerMid",value:function(z){var te=this.parsedStyle.d.segments;if(this.markerMidList.forEach(function(Ae){Ae.remove()}),z&&au(z))for(var re=1;re<te.length-1;re++){var oe=(0,hs.Z)(te[re].currentPoint,2),le=oe[0],he=oe[1],ge=re===1?z:z.cloneNode(!0);this.markerMidList.push(ge),this.appendChild(ge),ge.setLocalPosition(le,he)}}},{key:"getTotalLength",value:function(){return U1(this)}},{key:"getPointAtLength",value:function(z){var te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,re=this.parsedStyle.d.absolutePath,oe=L1(re,z),le=oe.x,he=oe.y,ge=Vu(Ts(),Kl(le,he,0),te?this.getWorldTransform():this.getLocalTransform());return new Hd(ge[0],ge[1])}},{key:"getPoint",value:function(z){var te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPointAtLength(z*U1(this),te)}},{key:"getStartTangent",value:function(){var z=this.parsedStyle.d.segments,te=[];if(z.length>1){var re=z[0].currentPoint,oe=z[1].currentPoint,le=z[1].startTangent;te=[],le?(te.push([re[0]-le[0],re[1]-le[1]]),te.push([re[0],re[1]])):(te.push([oe[0],oe[1]]),te.push([re[0],re[1]]))}return te}},{key:"getEndTangent",value:function(){var z=this.parsedStyle.d.segments,te=z.length,re=[];if(te>1){var oe=z[te-2].currentPoint,le=z[te-1].currentPoint,he=z[te-1].endTangent;re=[],he?(re.push([le[0]-he[0],le[1]-he[1]]),re.push([le[0],le[1]])):(re.push([oe[0],oe[1]]),re.push([le[0],le[1]]))}return re}}])}(Zu);Pu.PARSED_STYLE_LIST=new Set([].concat((0,qa.Z)(Zu.PARSED_STYLE_LIST),["d","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard","isSizeAttenuation"]));var PE=["style"],zc=function(b){function x(){var E,z=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},te=z.style,re=(0,q0.Z)(z,PE);(0,$r.Z)(this,x),E=Ls(this,x,[(0,Ho.Z)({type:No.POLYGON,style:te,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!0}},re)]),E.markerStartAngle=0,E.markerEndAngle=0,E.markerMidList=[];var oe=E.parsedStyle,le=oe.markerStart,he=oe.markerEnd,ge=oe.markerMid;return le&&au(le)&&(E.markerStartAngle=le.getLocalEulerAngles(),E.appendChild(le)),ge&&au(ge)&&E.placeMarkerMid(ge),he&&au(he)&&(E.markerEndAngle=he.getLocalEulerAngles(),E.appendChild(he)),E.transformMarker(!0),E.transformMarker(!1),E}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"attributeChangedCallback",value:function(z,te,re,oe,le){z==="points"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):z==="markerStartOffset"||z==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):z==="markerStart"?(oe&&au(oe)&&(this.markerStartAngle=0,oe.remove()),le&&au(le)&&(this.markerStartAngle=le.getLocalEulerAngles(),this.appendChild(le),this.transformMarker(!0))):z==="markerEnd"?(oe&&au(oe)&&(this.markerEndAngle=0,oe.remove()),le&&au(le)&&(this.markerEndAngle=le.getLocalEulerAngles(),this.appendChild(le),this.transformMarker(!1))):z==="markerMid"&&this.placeMarkerMid(le)}},{key:"transformMarker",value:function(z){var te=this.parsedStyle,re=te.markerStart,oe=te.markerEnd,le=te.markerStartOffset,he=te.markerEndOffset,ge=te.points,Ae=ge||{},Pe=Ae.points,We=z?re:oe;if(!(!We||!au(We)||!Pe)){var Xe=0,qe,nt,at,pt,mt,bt;if(at=Pe[0][0],pt=Pe[0][1],z)qe=Pe[1][0]-Pe[0][0],nt=Pe[1][1]-Pe[0][1],mt=le||0,bt=this.markerStartAngle;else{var jt=Pe.length;this.parsedStyle.isClosed?(qe=Pe[jt-1][0]-Pe[0][0],nt=Pe[jt-1][1]-Pe[0][1]):(at=Pe[jt-1][0],pt=Pe[jt-1][1],qe=Pe[jt-2][0]-Pe[jt-1][0],nt=Pe[jt-2][1]-Pe[jt-1][1]),mt=he||0,bt=this.markerEndAngle}Xe=Math.atan2(nt,qe),We.setLocalEulerAngles(Xe*180/Math.PI+bt),We.setLocalPosition(at+Math.cos(Xe)*mt,pt+Math.sin(Xe)*mt)}}},{key:"placeMarkerMid",value:function(z){var te=this.parsedStyle.points,re=te||{},oe=re.points;if(this.markerMidList.forEach(function(Pe){Pe.remove()}),this.markerMidList=[],z&&au(z)&&oe)for(var le=1;le<(this.parsedStyle.isClosed?oe.length:oe.length-1);le++){var he=oe[le][0],ge=oe[le][1],Ae=le===1?z:z.cloneNode(!0);this.markerMidList.push(Ae),this.appendChild(Ae),Ae.setLocalPosition(he,ge)}}}])}(Zu);zc.PARSED_STYLE_LIST=new Set([].concat((0,qa.Z)(Zu.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isClosed","isBillboard","isSizeAttenuation"]));var tc=["style"],Ch=function(b){function x(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},z=E.style,te=(0,q0.Z)(E,tc);return(0,$r.Z)(this,x),Ls(this,x,[(0,Ho.Z)({type:No.POLYLINE,style:z,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!1}},te)])}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"getTotalLength",value:function(){return ch(this)}},{key:"getPointAtLength",value:function(z){var te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(z/this.getTotalLength(),te)}},{key:"getPoint",value:function(z){var te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,re=this.parsedStyle.points.points;if(this.parsedStyle.points.segments.length===0){var oe=[],le=0,he,ge,Ae=this.getTotalLength();re.forEach(function(pt,mt){re[mt+1]&&(he=[0,0],he[0]=le/Ae,ge=kw(pt[0],pt[1],re[mt+1][0],re[mt+1][1]),le+=ge,he[1]=le/Ae,oe.push(he))}),this.parsedStyle.points.segments=oe}var Pe=0,We=0;this.parsedStyle.points.segments.forEach(function(pt,mt){z>=pt[0]&&z<=pt[1]&&(Pe=(z-pt[0])/(pt[1]-pt[0]),We=mt)});var Xe=Ud(re[We][0],re[We][1],re[We+1][0],re[We+1][1],Pe),qe=Xe.x,nt=Xe.y,at=Vu(Ts(),Kl(qe,nt,0),te?this.getWorldTransform():this.getLocalTransform());return new Hd(at[0],at[1])}},{key:"getStartTangent",value:function(){var z=this.parsedStyle.points.points,te=[];return te.push([z[1][0],z[1][1]]),te.push([z[0][0],z[0][1]]),te}},{key:"getEndTangent",value:function(){var z=this.parsedStyle.points.points,te=z.length-1,re=[];return re.push([z[te-1][0],z[te-1][1]]),re.push([z[te][0],z[te][1]]),re}}])}(zc);Ch.PARSED_STYLE_LIST=new Set([].concat((0,qa.Z)(zc.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard"]));var Qc=function(b){function x(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,$r.Z)(this,x),Ls(this,x,[(0,Ho.Z)({type:No.RECT},E)])}return(0,ps.Z)(x,b),(0,qi.Z)(x)}(Zu);Qc.PARSED_STYLE_LIST=new Set([].concat((0,qa.Z)(Zu.PARSED_STYLE_LIST),["x","y","z","width","height","isBillboard","isSizeAttenuation","radius"]));var lv=["style"],tp=function(b){function x(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},z=E.style,te=(0,q0.Z)(E,lv);return(0,$r.Z)(this,x),Ls(this,x,[(0,Ho.Z)({type:No.TEXT,style:(0,Ho.Z)({fill:"black"},z)},te)])}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"getComputedTextLength",value:function(){var z;return this.getGeometryBounds(),((z=this.parsedStyle.metrics)===null||z===void 0?void 0:z.maxLineWidth)||0}},{key:"getLineBoundingRects",value:function(){var z;return this.getGeometryBounds(),((z=this.parsedStyle.metrics)===null||z===void 0?void 0:z.lineMetrics)||[]}},{key:"isOverflowing",value:function(){return this.getGeometryBounds(),!!this.parsedStyle.isOverflowing}}])}(Zu);tp.PARSED_STYLE_LIST=new Set([].concat((0,qa.Z)(Zu.PARSED_STYLE_LIST),["x","y","z","isBillboard","billboardRotation","isSizeAttenuation","text","textAlign","textBaseline","fontStyle","fontSize","fontFamily","fontWeight","fontVariant","lineHeight","letterSpacing","leading","wordWrap","wordWrapWidth","maxLines","textOverflow","isOverflowing","textPath","textDecorationLine","textDecorationColor","textDecorationStyle","textPathSide","textPathStartOffset","metrics","dx","dy"]));var TC=function(){function b(){(0,$r.Z)(this,b),this.registry={},this.define(No.CIRCLE,cf),this.define(No.ELLIPSE,Um),this.define(No.RECT,Qc),this.define(No.IMAGE,Ff),this.define(No.LINE,Zp),this.define(No.GROUP,Oh),this.define(No.PATH,Pu),this.define(No.POLYGON,zc),this.define(No.POLYLINE,Ch),this.define(No.TEXT,tp),this.define(No.HTML,Kp)}return(0,qi.Z)(b,[{key:"define",value:function(E,z){this.registry[E]=z}},{key:"get",value:function(E){return this.registry[E]}}])}(),DC={number:function(x){return new yc(x)},percent:function(x){return new yc(x,"%")},px:function(x){return new yc(x,"px")},em:function(x){return new yc(x,"em")},rem:function(x){return new yc(x,"rem")},deg:function(x){return new yc(x,"deg")},grad:function(x){return new yc(x,"grad")},rad:function(x){return new yc(x,"rad")},turn:function(x){return new yc(x,"turn")},s:function(x){return new yc(x,"s")},ms:function(x){return new yc(x,"ms")},registerProperty:function(x){var E=x.name,z=x.inherits,te=x.interpolable,re=x.initialValue,oe=x.syntax;xa.styleValueRegistry.registerMetadata({n:E,inh:z,int:te,d:re,syntax:oe})},registerLayout:function(x,E){xa.layoutRegistry.registerLayout(x,E)}},Gy=function(b){function x(){var E;(0,$r.Z)(this,x),E=Ls(this,x),E.defaultView=null,E.ownerDocument=null,E.nodeName="document";try{E.timeline=new xa.AnimationTimeline(E)}catch(te){}var z={};return K1.forEach(function(te){var re=te.n,oe=te.inh,le=te.d;oe&&le&&(z[re]=Ys(le)?le(No.GROUP):le)}),E.documentElement=new Oh({id:"g-root",style:z}),E.documentElement.ownerDocument=E,E.documentElement.parentNode=E,E.childNodes=[E.documentElement],E}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"children",get:function(){return this.childNodes}},{key:"childElementCount",get:function(){return this.childNodes.length}},{key:"firstElementChild",get:function(){return this.firstChild}},{key:"lastElementChild",get:function(){return this.lastChild}},{key:"createElement",value:function(z,te){if(z==="svg")return this.documentElement;var re=this.defaultView.customElements.get(z);re||(console.warn("Unsupported tagName: ",z),re=z==="tspan"?tp:Oh);var oe=new re(te);return oe.ownerDocument=this,oe}},{key:"createElementNS",value:function(z,te,re){return this.createElement(te,re)}},{key:"cloneNode",value:function(z){throw new Error(Ku)}},{key:"destroy",value:function(){try{this.documentElement.destroyChildren(),this.timeline.destroy()}catch(z){}}},{key:"elementsFromBBox",value:function(z,te,re,oe){var le=this.defaultView.context.rBushRoot,he=le.search({minX:z,minY:te,maxX:re,maxY:oe}),ge=[];return he.forEach(function(Ae){var Pe=Ae.displayObject,We=Pe.parsedStyle.pointerEvents,Xe=We===void 0?"auto":We,qe=["auto","visiblepainted","visiblefill","visiblestroke","visible"].includes(Xe);(!qe||qe&&Pe.isVisible())&&!Pe.isCulled()&&Pe.isInteractive()&&ge.push(Pe)}),ge.sort(function(Ae,Pe){return Pe.sortable.renderOrder-Ae.sortable.renderOrder}),ge}},{key:"elementFromPointSync",value:function(z,te){var re=this.defaultView.canvas2Viewport({x:z,y:te}),oe=re.x,le=re.y,he=this.defaultView.getConfig(),ge=he.width,Ae=he.height;if(oe<0||le<0||oe>ge||le>Ae)return null;var Pe=this.defaultView.viewport2Client({x:oe,y:le}),We=Pe.x,Xe=Pe.y,qe=this.defaultView.getRenderingService().hooks.pickSync.call({topmost:!0,position:{x:z,y:te,viewportX:oe,viewportY:le,clientX:We,clientY:Xe},picked:[]}),nt=qe.picked;return nt&&nt[0]||this.documentElement}},{key:"elementFromPoint",value:function(){var E=(0,Bv.Z)((0,Gd.Z)().mark(function te(re,oe){var le,he,ge,Ae,Pe,We,Xe,qe,nt,at,pt;return(0,Gd.Z)().wrap(function(bt){for(;;)switch(bt.prev=bt.next){case 0:if(le=this.defaultView.canvas2Viewport({x:re,y:oe}),he=le.x,ge=le.y,Ae=this.defaultView.getConfig(),Pe=Ae.width,We=Ae.height,!(he<0||ge<0||he>Pe||ge>We)){bt.next=4;break}return bt.abrupt("return",null);case 4:return Xe=this.defaultView.viewport2Client({x:he,y:ge}),qe=Xe.x,nt=Xe.y,bt.next=7,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!0,position:{x:re,y:oe,viewportX:he,viewportY:ge,clientX:qe,clientY:nt},picked:[]});case 7:return at=bt.sent,pt=at.picked,bt.abrupt("return",pt&&pt[0]||this.documentElement);case 10:case"end":return bt.stop()}},te,this)}));function z(te,re){return E.apply(this,arguments)}return z}()},{key:"elementsFromPointSync",value:function(z,te){var re=this.defaultView.canvas2Viewport({x:z,y:te}),oe=re.x,le=re.y,he=this.defaultView.getConfig(),ge=he.width,Ae=he.height;if(oe<0||le<0||oe>ge||le>Ae)return[];var Pe=this.defaultView.viewport2Client({x:oe,y:le}),We=Pe.x,Xe=Pe.y,qe=this.defaultView.getRenderingService().hooks.pickSync.call({topmost:!1,position:{x:z,y:te,viewportX:oe,viewportY:le,clientX:We,clientY:Xe},picked:[]}),nt=qe.picked;return nt[nt.length-1]!==this.documentElement&&nt.push(this.documentElement),nt}},{key:"elementsFromPoint",value:function(){var E=(0,Bv.Z)((0,Gd.Z)().mark(function te(re,oe){var le,he,ge,Ae,Pe,We,Xe,qe,nt,at,pt;return(0,Gd.Z)().wrap(function(bt){for(;;)switch(bt.prev=bt.next){case 0:if(le=this.defaultView.canvas2Viewport({x:re,y:oe}),he=le.x,ge=le.y,Ae=this.defaultView.getConfig(),Pe=Ae.width,We=Ae.height,!(he<0||ge<0||he>Pe||ge>We)){bt.next=4;break}return bt.abrupt("return",[]);case 4:return Xe=this.defaultView.viewport2Client({x:he,y:ge}),qe=Xe.x,nt=Xe.y,bt.next=7,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!1,position:{x:re,y:oe,viewportX:he,viewportY:ge,clientX:qe,clientY:nt},picked:[]});case 7:return at=bt.sent,pt=at.picked,pt[pt.length-1]!==this.documentElement&&pt.push(this.documentElement),bt.abrupt("return",pt);case 11:case"end":return bt.stop()}},te,this)}));function z(te,re){return E.apply(this,arguments)}return z}()},{key:"appendChild",value:function(z,te){throw new Error(ev)}},{key:"insertBefore",value:function(z,te){throw new Error(ev)}},{key:"removeChild",value:function(z,te){throw new Error(ev)}},{key:"replaceChild",value:function(z,te,re){throw new Error(ev)}},{key:"append",value:function(){throw new Error(ev)}},{key:"prepend",value:function(){throw new Error(ev)}},{key:"getElementById",value:function(z){return this.documentElement.getElementById(z)}},{key:"getElementsByName",value:function(z){return this.documentElement.getElementsByName(z)}},{key:"getElementsByTagName",value:function(z){return this.documentElement.getElementsByTagName(z)}},{key:"getElementsByClassName",value:function(z){return this.documentElement.getElementsByClassName(z)}},{key:"querySelector",value:function(z){return this.documentElement.querySelector(z)}},{key:"querySelectorAll",value:function(z){return this.documentElement.querySelectorAll(z)}},{key:"find",value:function(z){return this.documentElement.find(z)}},{key:"findAll",value:function(z){return this.documentElement.findAll(z)}}])}(be),Hv=function(){function b(x){(0,$r.Z)(this,b),this.strategies=x}return(0,qi.Z)(b,[{key:"apply",value:function(E){var z=E.camera,te=E.renderingService,re=E.renderingContext,oe=this.strategies;te.hooks.cull.tap(b.tag,function(le){if(le){var he=le.cullable;return oe.length===0?he.visible=re.unculledEntities.indexOf(le.entity)>-1:he.visible=oe.every(function(ge){return ge.isVisible(z,le)}),!le.isCulled()&&le.isVisible()?le:(le.dispatchEvent(new se(Zt.CULLED)),null)}return le}),te.hooks.afterRender.tap(b.tag,function(le){le.cullable.visibilityPlaneMask=-1})}}])}();Hv.tag="Culling";var Gm=function(){function b(){var x=this;(0,$r.Z)(this,b),this.autoPreventDefault=!1,this.rootPointerEvent=new ee(null),this.rootWheelEvent=new ne(null),this.onPointerMove=function(E){var z,te=(z=x.context.renderingContext.root)===null||z===void 0||(z=z.ownerDocument)===null||z===void 0?void 0:z.defaultView;if(!(te.supportsTouchEvents&&E.pointerType==="touch")){var re=x.normalizeToPointerEvent(E,te),oe=h0(re),le;try{for(oe.s();!(le=oe.n()).done;){var he=le.value,ge=x.bootstrapEvent(x.rootPointerEvent,he,te,E);x.context.eventService.mapEvent(ge)}}catch(Ae){oe.e(Ae)}finally{oe.f()}x.setCursor(x.context.eventService.cursor)}},this.onClick=function(E){var z,te=(z=x.context.renderingContext.root)===null||z===void 0||(z=z.ownerDocument)===null||z===void 0?void 0:z.defaultView,re=x.normalizeToPointerEvent(E,te),oe=h0(re),le;try{for(oe.s();!(le=oe.n()).done;){var he=le.value,ge=x.bootstrapEvent(x.rootPointerEvent,he,te,E);x.context.eventService.mapEvent(ge)}}catch(Ae){oe.e(Ae)}finally{oe.f()}x.setCursor(x.context.eventService.cursor)}}return(0,qi.Z)(b,[{key:"apply",value:function(E){var z=this;this.context=E;var te=E.renderingService,re=this.context.renderingContext.root.ownerDocument.defaultView;this.context.eventService.setPickHandler(function(oe){var le=z.context.renderingService.hooks.pickSync.call({position:oe,picked:[],topmost:!0}),he=le.picked;return he[0]||null}),te.hooks.pointerWheel.tap(b.tag,function(oe){var le=z.normalizeWheelEvent(oe);z.context.eventService.mapEvent(le)}),te.hooks.pointerDown.tap(b.tag,function(oe){if(!(re.supportsTouchEvents&&oe.pointerType==="touch")){var le=z.normalizeToPointerEvent(oe,re);if(z.autoPreventDefault&&le[0].isNormalized){var he=oe.cancelable||!("cancelable"in oe);he&&oe.preventDefault()}var ge=h0(le),Ae;try{for(ge.s();!(Ae=ge.n()).done;){var Pe=Ae.value,We=z.bootstrapEvent(z.rootPointerEvent,Pe,re,oe);z.context.eventService.mapEvent(We)}}catch(Xe){ge.e(Xe)}finally{ge.f()}z.setCursor(z.context.eventService.cursor)}}),te.hooks.pointerUp.tap(b.tag,function(oe){if(!(re.supportsTouchEvents&&oe.pointerType==="touch")){var le=z.context.contextService.getDomElement(),he=z.context.eventService.isNativeEventFromCanvas(le,oe),ge=he?"":"outside",Ae=z.normalizeToPointerEvent(oe,re),Pe=h0(Ae),We;try{for(Pe.s();!(We=Pe.n()).done;){var Xe=We.value,qe=z.bootstrapEvent(z.rootPointerEvent,Xe,re,oe);qe.type+=ge,z.context.eventService.mapEvent(qe)}}catch(nt){Pe.e(nt)}finally{Pe.f()}z.setCursor(z.context.eventService.cursor)}}),te.hooks.pointerMove.tap(b.tag,this.onPointerMove),te.hooks.pointerOver.tap(b.tag,this.onPointerMove),te.hooks.pointerOut.tap(b.tag,this.onPointerMove),te.hooks.click.tap(b.tag,this.onClick),te.hooks.pointerCancel.tap(b.tag,function(oe){var le=z.normalizeToPointerEvent(oe,re),he=h0(le),ge;try{for(he.s();!(ge=he.n()).done;){var Ae=ge.value,Pe=z.bootstrapEvent(z.rootPointerEvent,Ae,re,oe);z.context.eventService.mapEvent(Pe)}}catch(We){he.e(We)}finally{he.f()}z.setCursor(z.context.eventService.cursor)})}},{key:"bootstrapEvent",value:function(E,z,te,re){E.view=te,E.originalEvent=null,E.nativeEvent=re,E.pointerId=z.pointerId,E.width=z.width,E.height=z.height,E.isPrimary=z.isPrimary,E.pointerType=z.pointerType,E.pressure=z.pressure,E.tangentialPressure=z.tangentialPressure,E.tiltX=z.tiltX,E.tiltY=z.tiltY,E.twist=z.twist,this.transferMouseData(E,z);var oe=this.context.eventService.client2Viewport({x:z.clientX,y:z.clientY}),le=oe.x,he=oe.y;E.viewport.x=le,E.viewport.y=he;var ge=this.context.eventService.viewport2Canvas(E.viewport),Ae=ge.x,Pe=ge.y;return E.canvas.x=Ae,E.canvas.y=Pe,E.global.copyFrom(E.canvas),E.offset.copyFrom(E.canvas),E.isTrusted=re.isTrusted,E.type==="pointerleave"&&(E.type="pointerout"),E.type.startsWith("mouse")&&(E.type=E.type.replace("mouse","pointer")),E.type.startsWith("touch")&&(E.type=yP[E.type]||E.type),E}},{key:"normalizeWheelEvent",value:function(E){var z=this.rootWheelEvent;this.transferMouseData(z,E),z.deltaMode=E.deltaMode,z.deltaX=E.deltaX,z.deltaY=E.deltaY,z.deltaZ=E.deltaZ;var te=this.context.eventService.client2Viewport({x:E.clientX,y:E.clientY}),re=te.x,oe=te.y;z.viewport.x=re,z.viewport.y=oe;var le=this.context.eventService.viewport2Canvas(z.viewport),he=le.x,ge=le.y;return z.canvas.x=he,z.canvas.y=ge,z.global.copyFrom(z.canvas),z.offset.copyFrom(z.canvas),z.nativeEvent=E,z.type=E.type,z}},{key:"transferMouseData",value:function(E,z){E.isTrusted=z.isTrusted,E.srcElement=z.srcElement,E.timeStamp=oS.now(),E.type=z.type,E.altKey=z.altKey,E.metaKey=z.metaKey,E.shiftKey=z.shiftKey,E.ctrlKey=z.ctrlKey,E.button=z.button,E.buttons=z.buttons,E.client.x=z.clientX,E.client.y=z.clientY,E.movement.x=z.movementX,E.movement.y=z.movementY,E.page.x=z.pageX,E.page.y=z.pageY,E.screen.x=z.screenX,E.screen.y=z.screenY,E.relatedTarget=null}},{key:"setCursor",value:function(E){this.context.contextService.applyCursorStyle(E||this.context.config.cursor||"default")}},{key:"normalizeToPointerEvent",value:function(E,z){var te=[];if(z.isTouchEvent(E))for(var re=0;re<E.changedTouches.length;re++){var oe=E.changedTouches[re];Fl(oe.button)&&(oe.button=0),Fl(oe.buttons)&&(oe.buttons=1),Fl(oe.isPrimary)&&(oe.isPrimary=E.touches.length===1&&E.type==="touchstart"),Fl(oe.width)&&(oe.width=oe.radiusX||1),Fl(oe.height)&&(oe.height=oe.radiusY||1),Fl(oe.tiltX)&&(oe.tiltX=0),Fl(oe.tiltY)&&(oe.tiltY=0),Fl(oe.pointerType)&&(oe.pointerType="touch"),Fl(oe.pointerId)&&(oe.pointerId=oe.identifier||0),Fl(oe.pressure)&&(oe.pressure=oe.force||.5),Fl(oe.twist)&&(oe.twist=0),Fl(oe.tangentialPressure)&&(oe.tangentialPressure=0),oe.isNormalized=!0,oe.type=E.type,te.push(oe)}else if(z.isMouseEvent(E)){var le=E;Fl(le.isPrimary)&&(le.isPrimary=!0),Fl(le.width)&&(le.width=1),Fl(le.height)&&(le.height=1),Fl(le.tiltX)&&(le.tiltX=0),Fl(le.tiltY)&&(le.tiltY=0),Fl(le.pointerType)&&(le.pointerType="mouse"),Fl(le.pointerId)&&(le.pointerId=mP),Fl(le.pressure)&&(le.pressure=.5),Fl(le.twist)&&(le.twist=0),Fl(le.tangentialPressure)&&(le.tangentialPressure=0),le.isNormalized=!0,te.push(le)}else te.push(E);return te}}])}();Gm.tag="Event";var Id=[No.CIRCLE,No.ELLIPSE,No.IMAGE,No.RECT,No.LINE,No.POLYLINE,No.POLYGON,No.TEXT,No.PATH,No.HTML],v0=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,[{key:"isVisible",value:function(E,z){var te,re=z.cullable;if(!re.enable)return!0;var oe=z.getRenderBounds();if(Dc.isEmpty(oe))return!1;var le=E.getFrustum(),he=(te=z.parentNode)===null||te===void 0||(te=te.cullable)===null||te===void 0?void 0:te.visibilityPlaneMask;return re.visibilityPlaneMask=this.computeVisibilityWithPlaneMask(z,oe,he||k1.INDETERMINATE,le.planes),re.visible=re.visibilityPlaneMask!==k1.OUTSIDE,re.visible}},{key:"computeVisibilityWithPlaneMask",value:function(E,z,te,re){if(te===k1.OUTSIDE||te===k1.INSIDE)return te;for(var oe=k1.INSIDE,le=Id.indexOf(E.nodeName)>-1,he=0,ge=re.length;he<ge;++he){var Ae=1<<he;if(te&Ae&&!(le&&(he===4||he===5))){var Pe=re[he],We=Pe.normal,Xe=Pe.distance;if(Mh(We,z.getPositiveFarPoint(re[he]))+Xe<0)return k1.OUTSIDE;Mh(We,z.getNegativeFarPoint(re[he]))+Xe<0&&(oe|=Ae)}}return oe}}])}(),Rg=function(){function b(){(0,$r.Z)(this,b),this.syncTasks=new Map,this.isFirstTimeRendering=!0,this.syncing=!1,this.isFirstTimeRenderingFinished=!1}return(0,qi.Z)(b,[{key:"apply",value:function(E){var z=this,te,re=E.renderingService,oe=E.renderingContext,le=E.rBushRoot,he=oe.root.ownerDocument.defaultView;this.rBush=le;var ge=function(nt){var at=nt.target;at.renderable.dirty=!0,re.dirtify()},Ae=function(nt){z.syncTasks.set(nt.target,nt.detail.affectChildren),re.dirtify()},Pe=function(nt){var at=nt.target;xa.enableSizeAttenuation&&xa.styleValueRegistry.updateSizeAttenuation(at,he.getCamera().getZoom())},We=function(nt){var at=nt.target,pt=at.rBushNode;pt.aabb&&z.rBush.remove(pt.aabb),z.syncTasks.delete(at),xa.sceneGraphService.dirtifyToRoot(at),re.dirtify()};re.hooks.init.tap(b.tag,function(){he.addEventListener(Zt.MOUNTED,Pe),he.addEventListener(Zt.UNMOUNTED,We),he.addEventListener(Zt.ATTR_MODIFIED,ge),he.addEventListener(Zt.BOUNDS_CHANGED,Ae)}),re.hooks.destroy.tap(b.tag,function(){he.removeEventListener(Zt.MOUNTED,Pe),he.removeEventListener(Zt.UNMOUNTED,We),he.removeEventListener(Zt.ATTR_MODIFIED,ge),he.removeEventListener(Zt.BOUNDS_CHANGED,Ae),z.syncTasks.clear()});var Xe=(te=xa.globalThis.requestIdleCallback)!==null&&te!==void 0?te:Wv.bind(xa.globalThis);re.hooks.endFrame.tap(b.tag,function(){z.isFirstTimeRendering?(z.isFirstTimeRendering=!1,z.syncing=!0,Xe(function(){z.syncRTree(!0),z.isFirstTimeRenderingFinished=!0})):z.syncRTree()})}},{key:"syncNode",value:function(E){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(E.isConnected){var te=E.rBushNode;te.aabb&&this.rBush.remove(te.aabb);var re=E.getRenderBounds();if(re){var oe=E.renderable;z&&(oe.dirtyRenderBounds||(oe.dirtyRenderBounds=new Dc),oe.dirtyRenderBounds.update(re.center,re.halfExtents));var le=re.getMin(),he=(0,hs.Z)(le,2),ge=he[0],Ae=he[1],Pe=re.getMax(),We=(0,hs.Z)(Pe,2),Xe=We[0],qe=We[1];te.aabb||(te.aabb={}),te.aabb.displayObject=E,te.aabb.minX=ge,te.aabb.minY=Ae,te.aabb.maxX=Xe,te.aabb.maxY=qe}if(te.aabb&&!isNaN(te.aabb.maxX)&&!isNaN(te.aabb.maxX)&&!isNaN(te.aabb.minX)&&!isNaN(te.aabb.minY))return te.aabb}}},{key:"syncRTree",value:function(){var E=this,z=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(!(!z&&(this.syncing||this.syncTasks.size===0))){this.syncing=!0;var te=[],re=new Set,oe=function(he){if(!re.has(he)&&he.renderable){var ge=E.syncNode(he,z);ge&&(te.push(ge),re.add(he))}};this.syncTasks.forEach(function(le,he){le&&he.forEach(oe);for(var ge=he;ge;)oe(ge),ge=ge.parentElement}),this.rBush.load(te),te.length=0,this.syncing=!1}}}])}();Rg.tag="Prepare";function ug(b){return!!b.document}var gd=function(b){return b.READY="ready",b.BEFORE_RENDER="beforerender",b.RERENDER="rerender",b.AFTER_RENDER="afterrender",b.BEFORE_DESTROY="beforedestroy",b.AFTER_DESTROY="afterdestroy",b.RESIZE="resize",b.DIRTY_RECTANGLE="dirtyrectangle",b.RENDERER_CHANGED="rendererchanged",b}({}),Hy=500,Vv=.1,pS=1e3,Kv=new se(Zt.MOUNTED),pu=new se(Zt.UNMOUNTED),_f=new se(gd.BEFORE_RENDER),zf=new se(gd.RERENDER),q1=new se(gd.AFTER_RENDER),pd=function(b){function x(E){var z;(0,$r.Z)(this,x),z=Ls(this,x),z.Element=Zu,z.inited=!1,z.context={};var te=E.container,re=E.canvas,oe=E.renderer,le=E.width,he=E.height,ge=E.background,Ae=E.cursor,Pe=E.supportsMutipleCanvasesInOneContainer,We=E.cleanUpOnDestroy,Xe=We===void 0?!0:We,qe=E.offscreenCanvas,nt=E.devicePixelRatio,at=E.requestAnimationFrame,pt=E.cancelAnimationFrame,mt=E.createImage,bt=E.supportsTouchEvents,jt=E.supportsPointerEvents,Ut=E.isTouchEvent,Kt=E.isMouseEvent,Qt=E.dblClickSpeed,Vt=le,vn=he,wn=nt||iS&&window.devicePixelRatio||1;return wn=wn>=1?Math.ceil(wn):1,re&&(Vt=le||EE(re)||re.width/wn,vn=he||yC(re)||re.height/wn),z.customElements=new TC,z.devicePixelRatio=wn,z.requestAnimationFrame=at!=null?at:Wv.bind(xa.globalThis),z.cancelAnimationFrame=pt!=null?pt:Fy.bind(xa.globalThis),z.supportsTouchEvents=bt!=null?bt:"ontouchstart"in xa.globalThis,z.supportsPointerEvents=jt!=null?jt:!!xa.globalThis.PointerEvent,z.isTouchEvent=Ut!=null?Ut:function(kn){return z.supportsTouchEvents&&kn instanceof xa.globalThis.TouchEvent},z.isMouseEvent=Kt!=null?Kt:function(kn){return!xa.globalThis.MouseEvent||kn instanceof xa.globalThis.MouseEvent&&(!z.supportsPointerEvents||!(kn instanceof xa.globalThis.PointerEvent))},qe&&(xa.offscreenCanvas=qe),z.document=new Gy,z.document.defaultView=z,Pe||QT(te,z,Xe),z.initRenderingContext((0,Ho.Z)((0,Ho.Z)({},E),{},{width:Vt,height:vn,background:ge!=null?ge:"transparent",cursor:Ae!=null?Ae:"default",cleanUpOnDestroy:Xe,devicePixelRatio:wn,requestAnimationFrame:z.requestAnimationFrame,cancelAnimationFrame:z.cancelAnimationFrame,supportsTouchEvents:z.supportsTouchEvents,supportsPointerEvents:z.supportsPointerEvents,isTouchEvent:z.isTouchEvent,isMouseEvent:z.isMouseEvent,dblClickSpeed:Qt!=null?Qt:200,createImage:mt!=null?mt:function(){return new window.Image}})),z.initDefaultCamera(Vt,vn,oe.clipSpaceNearZ),z.initRenderer(oe,!0),z}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"initRenderingContext",value:function(z){this.context.config=z,this.context.renderingContext={root:this.document.documentElement,renderListCurrentFrame:[],unculledEntities:[],renderReasons:new Set,force:!1,dirty:!1}}},{key:"initDefaultCamera",value:function(z,te,re){var oe=this,le=new xa.CameraContribution;le.clipSpaceNearZ=re,le.setType(wc.EXPLORING,FA.DEFAULT).setPosition(z/2,te/2,Hy).setFocalPoint(z/2,te/2,0).setOrthographic(z/-2,z/2,te/2,te/-2,Vv,pS),le.canvas=this,le.eventEmitter.on(Zw.UPDATED,function(){oe.context.renderingContext.renderReasons.add(st.CAMERA_CHANGED),xa.enableSizeAttenuation&&oe.getConfig().renderer.getConfig().enableSizeAttenuation&&oe.updateSizeAttenuation()}),this.context.camera=le}},{key:"updateSizeAttenuation",value:function(){var z=this.getCamera().getZoom();this.document.documentElement.forEach(function(te){xa.styleValueRegistry.updateSizeAttenuation(te,z)})}},{key:"getConfig",value:function(){return this.context.config}},{key:"getRoot",value:function(){return this.document.documentElement}},{key:"getCamera",value:function(){return this.context.camera}},{key:"getContextService",value:function(){return this.context.contextService}},{key:"getEventService",value:function(){return this.context.eventService}},{key:"getRenderingService",value:function(){return this.context.renderingService}},{key:"getRenderingContext",value:function(){return this.context.renderingContext}},{key:"getStats",value:function(){return this.getRenderingService().getStats()}},{key:"ready",get:function(){var z=this;return this.readyPromise||(this.readyPromise=new Promise(function(te){z.resolveReadyPromise=function(){te(z)}}),this.inited&&this.resolveReadyPromise()),this.readyPromise}},{key:"destroy",value:function(){var z=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,te=arguments.length>1?arguments[1]:void 0;te||this.dispatchEvent(new se(gd.BEFORE_DESTROY)),this.frameId&&this.cancelAnimationFrame(this.frameId);var re=this.getRoot();z&&(this.unmountChildren(re),this.document.destroy(),this.getEventService().destroy()),this.getRenderingService().destroy(),this.getContextService().destroy(),this.context.rBushRoot&&this.context.rBushRoot.clear(),te||this.dispatchEvent(new se(gd.AFTER_DESTROY));var oe=function(he){he.currentTarget=null,he.manager=null,he.target=null,he.relatedNode=null};oe(Kv),oe(pu),oe(_f),oe(zf),oe(q1),oe(uf),oe(J1),oe(jy),oe(gS)}},{key:"changeSize",value:function(z,te){this.resize(z,te)}},{key:"resize",value:function(z,te){var re=this.context.config;re.width=z,re.height=te,this.getContextService().resize(z,te);var oe=this.context.camera,le=oe.getProjectionMode();oe.setPosition(z/2,te/2,Hy).setFocalPoint(z/2,te/2,0),le===Eu.ORTHOGRAPHIC?oe.setOrthographic(z/-2,z/2,te/2,te/-2,oe.getNear(),oe.getFar()):oe.setAspect(z/te),this.dispatchEvent(new se(gd.RESIZE,{width:z,height:te}))}},{key:"appendChild",value:function(z,te){return this.document.documentElement.appendChild(z,te)}},{key:"insertBefore",value:function(z,te){return this.document.documentElement.insertBefore(z,te)}},{key:"removeChild",value:function(z){return this.document.documentElement.removeChild(z)}},{key:"removeChildren",value:function(){this.document.documentElement.removeChildren()}},{key:"destroyChildren",value:function(){this.document.documentElement.destroyChildren()}},{key:"render",value:function(z){var te=this;z&&(_f.detail=z,q1.detail=z),this.dispatchEvent(_f);var re=this.getRenderingService();re.render(this.getConfig(),z,function(){te.dispatchEvent(zf)}),this.dispatchEvent(q1)}},{key:"run",value:function(){var z=this,te=function(oe,le){z.render(le),z.frameId=z.requestAnimationFrame(te)};te()}},{key:"initRenderer",value:function(z){var te=this,re=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!z)throw new Error("Renderer is required.");this.inited=!1,this.readyPromise=void 0,this.context.rBushRoot=new _p,this.context.renderingPlugins=[],this.context.renderingPlugins.push(new Gm,new Rg,new Hv([new v0])),this.loadRendererContainerModule(z),this.context.contextService=new this.context.ContextService((0,Ho.Z)((0,Ho.Z)({},xa),this.context)),this.context.renderingService=new yt(xa,this.context),this.context.eventService=new Ye(xa,this.context),this.context.eventService.init(),this.context.contextService.init?(this.context.contextService.init(),this.initRenderingService(z,re,!0)):this.context.contextService.initAsync().then(function(){te.initRenderingService(z,re)}).catch(function(oe){console.error(oe)})}},{key:"initRenderingService",value:function(z){var te=this,re=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,oe=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.context.renderingService.init(function(){te.inited=!0,re?oe?te.requestAnimationFrame(function(){te.dispatchEvent(new se(gd.READY))}):te.dispatchEvent(new se(gd.READY)):te.dispatchEvent(new se(gd.RENDERER_CHANGED)),te.readyPromise&&te.resolveReadyPromise(),re||te.getRoot().forEach(function(le){var he=le,ge=he.renderable;ge&&(ge.renderBoundsDirty=!0,ge.boundsDirty=!0,ge.dirty=!0)}),te.mountChildren(te.getRoot()),z.getConfig().enableAutoRendering&&te.run()})}},{key:"loadRendererContainerModule",value:function(z){var te=this,re=z.getPlugins();re.forEach(function(oe){oe.context=te.context,oe.init(xa)})}},{key:"setRenderer",value:function(z){var te=this.getConfig();if(te.renderer!==z){var re=te.renderer;te.renderer=z,this.destroy(!1,!0),(0,qa.Z)((re==null?void 0:re.getPlugins())||[]).reverse().forEach(function(oe){oe.destroy(xa)}),this.initRenderer(z)}}},{key:"setCursor",value:function(z){var te=this.getConfig();te.cursor=z,this.getContextService().applyCursorStyle(z)}},{key:"unmountChildren",value:function(z){var te=this;z.childNodes.forEach(function(re){te.unmountChildren(re)}),this.inited&&(z.isMutationObserved?z.dispatchEvent(pu):(pu.target=z,this.dispatchEvent(pu,!0)),z!==this.document.documentElement&&(z.ownerDocument=null),z.isConnected=!1),z.isCustomElement&&z.disconnectedCallback&&z.disconnectedCallback()}},{key:"mountChildren",value:function(z){var te=this,re=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ry(z);this.inited?z.isConnected||(z.ownerDocument=this.document,z.isConnected=!0,re||(z.isMutationObserved?z.dispatchEvent(Kv):(Kv.target=z,this.dispatchEvent(Kv,!0)))):console.warn("[g]: You are trying to call `canvas.appendChild` before canvas' initialization finished. You can either await `canvas.ready` or listen to `CanvasEvent.READY` manually.","appended child: ",z.nodeName),z.childNodes.forEach(function(oe){te.mountChildren(oe,re)}),z.isCustomElement&&z.connectedCallback&&z.connectedCallback()}},{key:"mountFragment",value:function(z){this.mountChildren(z,!1)}},{key:"client2Viewport",value:function(z){return this.getEventService().client2Viewport(z)}},{key:"viewport2Client",value:function(z){return this.getEventService().viewport2Client(z)}},{key:"viewport2Canvas",value:function(z){return this.getEventService().viewport2Canvas(z)}},{key:"canvas2Viewport",value:function(z){return this.getEventService().canvas2Viewport(z)}},{key:"getPointByClient",value:function(z,te){return this.client2Viewport({x:z,y:te})}},{key:"getClientByPoint",value:function(z,te){return this.viewport2Client({x:z,y:te})}}])}(me);var uv=function(b){function x(){var E;(0,$r.Z)(this,x);for(var z=arguments.length,te=new Array(z),re=0;re<z;re++)te[re]=arguments[re];return E=Ls(this,x,[].concat(te)),E.landmarks=[],E}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"rotate",value:function(z,te,re){if(this.relElevation=My(te),this.relAzimuth=My(z),this.relRoll=My(re),this.elevation+=this.relElevation,this.azimuth+=this.relAzimuth,this.roll+=this.relRoll,this.type===wc.EXPLORING){var oe=gp(Cd(),[1,0,0],mc((this.rotateWorld?1:-1)*this.relElevation)),le=gp(Cd(),[0,1,0],mc((this.rotateWorld?1:-1)*this.relAzimuth)),he=gp(Cd(),[0,0,1],mc(this.relRoll)),ge=Tv(Cd(),le,oe);ge=Tv(Cd(),ge,he);var Ae=Wr(vc(),ge);dp(this.matrix,this.matrix,[0,0,-this.distance]),Ed(this.matrix,this.matrix,Ae),dp(this.matrix,this.matrix,[0,0,this.distance])}else{if(Math.abs(this.elevation)>90)return this;this.computeMatrix()}return this._getAxes(),this.type===wc.ORBITING||this.type===wc.EXPLORING?this._getPosition():this.type===wc.TRACKING&&this._getFocalPoint(),this._update(),this}},{key:"pan",value:function(z,te){var re=Of(z,te,0),oe=wl(this.position);return Lr(oe,oe,Jf(Ts(),this.right,re[0])),Lr(oe,oe,Jf(Ts(),this.up,re[1])),this._setPosition(oe),this.triggerUpdate(),this}},{key:"dolly",value:function(z){var te=this.forward,re=wl(this.position),oe=z*this.dollyingStep,le=this.distance+z*this.dollyingStep;return oe=Math.max(Math.min(le,this.maxDistance),this.minDistance)-this.distance,re[0]+=oe*te[0],re[1]+=oe*te[1],re[2]+=oe*te[2],this._setPosition(re),this.type===wc.ORBITING||this.type===wc.EXPLORING?this._getDistance():this.type===wc.TRACKING&&Lr(this.focalPoint,re,this.distanceVector),this.triggerUpdate(),this}},{key:"cancelLandmarkAnimation",value:function(){this.landmarkAnimationID!==void 0&&this.canvas.cancelAnimationFrame(this.landmarkAnimationID)}},{key:"createLandmark",value:function(z){var te,re,oe,le,he=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ge=he.position,Ae=ge===void 0?this.position:ge,Pe=he.focalPoint,We=Pe===void 0?this.focalPoint:Pe,Xe=he.roll,qe=he.zoom,nt=new xa.CameraContribution;nt.setType(this.type,void 0),nt.setPosition(Ae[0],(te=Ae[1])!==null&&te!==void 0?te:this.position[1],(re=Ae[2])!==null&&re!==void 0?re:this.position[2]),nt.setFocalPoint(We[0],(oe=We[1])!==null&&oe!==void 0?oe:this.focalPoint[1],(le=We[2])!==null&&le!==void 0?le:this.focalPoint[2]),nt.setRoll(Xe!=null?Xe:this.roll),nt.setZoom(qe!=null?qe:this.zoom);var at={name:z,matrix:g1(nt.getWorldTransform()),right:wl(nt.right),up:wl(nt.up),forward:wl(nt.forward),position:wl(nt.getPosition()),focalPoint:wl(nt.getFocalPoint()),distanceVector:wl(nt.getDistanceVector()),distance:nt.getDistance(),dollyingStep:nt.getDollyingStep(),azimuth:nt.getAzimuth(),elevation:nt.getElevation(),roll:nt.getRoll(),relAzimuth:nt.relAzimuth,relElevation:nt.relElevation,relRoll:nt.relRoll,zoom:nt.getZoom()};return this.landmarks.push(at),at}},{key:"gotoLandmark",value:function(z){var te=this,re=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},oe=qu(z)?this.landmarks.find(function(kn){return kn.name===z}):z;if(oe){var le=As(re)?{duration:re}:re,he=le.easing,ge=he===void 0?"linear":he,Ae=le.duration,Pe=Ae===void 0?100:Ae,We=le.easingFunction,Xe=We===void 0?void 0:We,qe=le.onfinish,nt=qe===void 0?void 0:qe,at=le.onframe,pt=at===void 0?void 0:at,mt=.01;this.cancelLandmarkAnimation();var bt=oe.position,jt=oe.focalPoint,Ut=oe.zoom,Kt=oe.roll,Qt=Xe||xa.EasingFunction(ge),Vt,vn=function(){te.setFocalPoint(jt),te.setPosition(bt),te.setRoll(Kt),te.setZoom(Ut),te.computeMatrix(),te.triggerUpdate(),nt==null||nt()};if(Pe===0)return vn();var wn=function(Vn){Vt===void 0&&(Vt=Vn);var vr=Vn-Vt;if(vr>=Pe){vn();return}var or=Qt(vr/Pe),Or=Ts(),qr=Ts(),wr=1,Sr=0;_d(Or,te.focalPoint,jt,or),_d(qr,te.position,bt,or),Sr=te.roll*(1-or)+Kt*or,wr=te.zoom*(1-or)+Ut*or,te.setFocalPoint(Or),te.setPosition(qr),te.setRoll(Sr),te.setZoom(wr);var Tr=ad(Or,jt)+ad(qr,bt);if(Tr<=mt&&Ut===void 0&&Kt===void 0)return vn();te.computeMatrix(),te.triggerUpdate(),vr<Pe&&(pt==null||pt(or),te.landmarkAnimationID=te.canvas.requestAnimationFrame(wn))};this.canvas.requestAnimationFrame(wn)}}}])}(Xw);xa.CameraContribution=uv;var jf=null,ME=0,cv=new WeakMap,vS=null,LE=null,cg,hg;function Hm(b,x){return cg=new jf(b,x)}function TE(b){return hg||(hg=jf.copy(cg),hg.oldValue=b,hg)}function Zv(){cg=hg=void 0}function Yp(b){return b===hg||b===cg}function Yv(b,x){return b===x?b:hg&&Yp(b)?hg:null}function m0(b){b.nodes.forEach(function(x){var E=cv.get(x);E&&E.forEach(function(z){z.observer===b&&z.removeTransientObservers()})})}function Xv(b,x){for(var E=b;E;E=E.parentNode){var z=cv.get(E);if(z)for(var te=0;te<z.length;te++){var re=z[te],oe=re.options;if(!(E!==b&&!oe.subtree)){var le=x(oe);le&&re.enqueue(le)}}}}var hv=!1,dg=null;function $1(b){dg.push(b),hv||(hv=!0,typeof runtime.globalThis!="undefined"?runtime.globalThis.setTimeout(Xp):Xp())}function Xp(){hv=!1;var b=dg;dg=[],b.sort(function(E,z){return E.uid-z.uid});var x=!1;b.forEach(function(E){var z=E.takeRecords();m0(E),z.length&&(E.callback(z,E),x=!0)}),x&&Xp()}var Qv=function(b){function x(E,z,te,re){var oe;return(0,$r.Z)(this,x),oe=Ls(this,x,[E]),oe.currentTime=te,oe.timelineTime=re,oe.target=z,oe.type="finish",oe.bubbles=!1,oe.currentTarget=z,oe.defaultPrevented=!1,oe.eventPhase=oe.AT_TARGET,oe.timeStamp=Date.now(),oe.currentTime=te,oe.timelineTime=re,oe}return(0,ps.Z)(x,b),(0,qi.Z)(x)}(a),IC=0,y0=function(){function b(x,E){var z;(0,$r.Z)(this,b),this.currentTimePending=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._playbackRate=1,this._inTimeline=!0,this.effect=x,x.animation=this,this.timeline=E,this.id="".concat(IC++),this._inEffect=!!this.effect.update(0),this._totalDuration=Number((z=this.effect)===null||z===void 0?void 0:z.getComputedTiming().endTime),this._holdTime=0,this._paused=!1,this.oldPlayState="idle",this.updatePromises()}return(0,qi.Z)(b,[{key:"pending",get:function(){return this._startTime===null&&!this._paused&&this.playbackRate!==0||this.currentTimePending}},{key:"playState",get:function(){return this._idle?"idle":this._isFinished?"finished":this._paused?"paused":"running"}},{key:"ready",get:function(){var E=this;return this.readyPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.readyPromise=new Promise(function(z,te){E.resolveReadyPromise=function(){z(E)},E.rejectReadyPromise=function(){te(new Error)}}),this.pending||this.resolveReadyPromise()),this.readyPromise}},{key:"finished",get:function(){var E=this;return this.finishedPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.finishedPromise=new Promise(function(z,te){E.resolveFinishedPromise=function(){z(E)},E.rejectFinishedPromise=function(){te(new Error)}}),this.playState==="finished"&&this.resolveFinishedPromise()),this.finishedPromise}},{key:"currentTime",get:function(){return this.updatePromises(),this._idle||this.currentTimePending?null:this._currentTime},set:function(E){if(E=Number(E),!isNaN(E)){if(this.timeline.restart(),!this._paused&&this._startTime!==null){var z;this._startTime=Number((z=this.timeline)===null||z===void 0?void 0:z.currentTime)-E/this.playbackRate}this.currentTimePending=!1,this._currentTime!==E&&(this._idle&&(this._idle=!1,this._paused=!0),this.tickCurrentTime(E,!0),this.timeline.applyDirtiedAnimation(this))}}},{key:"startTime",get:function(){return this._startTime},set:function(E){if(E!==null){if(this.updatePromises(),E=Number(E),isNaN(E)||this._paused||this._idle)return;this._startTime=E,this.tickCurrentTime((Number(this.timeline.currentTime)-this._startTime)*this.playbackRate),this.timeline.applyDirtiedAnimation(this),this.updatePromises()}}},{key:"playbackRate",get:function(){return this._playbackRate},set:function(E){if(E!==this._playbackRate){this.updatePromises();var z=this.currentTime;this._playbackRate=E,this.startTime=null,this.playState!=="paused"&&this.playState!=="idle"&&(this._finishedFlag=!1,this._idle=!1,this.ensureAlive(),this.timeline.applyDirtiedAnimation(this)),z!==null&&(this.currentTime=z),this.updatePromises()}}},{key:"_isFinished",get:function(){return!this._idle&&(this._playbackRate>0&&Number(this._currentTime)>=this._totalDuration||this._playbackRate<0&&Number(this._currentTime)<=0)}},{key:"totalDuration",get:function(){return this._totalDuration}},{key:"_needsTick",get:function(){return this.pending||this.playState==="running"||!this._finishedFlag}},{key:"updatePromises",value:function(){var E=this.oldPlayState,z=this.pending?"pending":this.playState;return this.readyPromise&&z!==E&&(z==="idle"?(this.rejectReadyPromise(),this.readyPromise=void 0):E==="pending"?this.resolveReadyPromise():z==="pending"&&(this.readyPromise=void 0)),this.finishedPromise&&z!==E&&(z==="idle"?(this.rejectFinishedPromise(),this.finishedPromise=void 0):z==="finished"?this.resolveFinishedPromise():E==="finished"&&(this.finishedPromise=void 0)),this.oldPlayState=z,this.readyPromise||this.finishedPromise}},{key:"play",value:function(){this.updatePromises(),this._paused=!1,(this._isFinished||this._idle)&&(this.rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this.ensureAlive(),this.timeline.applyDirtiedAnimation(this),this.timeline.animations.indexOf(this)===-1&&this.timeline.animations.push(this),this.updatePromises()}},{key:"pause",value:function(){this.updatePromises(),this.currentTime&&(this._holdTime=this.currentTime),!this._isFinished&&!this._paused&&!this._idle?this.currentTimePending=!0:this._idle&&(this.rewind(),this._idle=!1),this._startTime=null,this._paused=!0,this.updatePromises()}},{key:"finish",value:function(){this.updatePromises(),!this._idle&&(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this.currentTimePending=!1,this.timeline.applyDirtiedAnimation(this),this.updatePromises())}},{key:"cancel",value:function(){var E=this;if(this.updatePromises(),!!this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this.effect.update(null),this.timeline.applyDirtiedAnimation(this),this.updatePromises(),this.oncancel)){var z=new Qv(null,this,this.currentTime,null);setTimeout(function(){E.oncancel(z)})}}},{key:"reverse",value:function(){this.updatePromises();var E=this.currentTime;this.playbackRate*=-1,this.play(),E!==null&&(this.currentTime=E),this.updatePromises()}},{key:"updatePlaybackRate",value:function(E){this.playbackRate=E}},{key:"targetAnimations",value:function(){var E,z=(E=this.effect)===null||E===void 0?void 0:E.target;return z.getAnimations()}},{key:"markTarget",value:function(){var E=this.targetAnimations();E.indexOf(this)===-1&&E.push(this)}},{key:"unmarkTarget",value:function(){var E=this.targetAnimations(),z=E.indexOf(this);z!==-1&&E.splice(z,1)}},{key:"tick",value:function(E,z){!this._idle&&!this._paused&&(this._startTime===null?z&&(this.startTime=E-this._currentTime/this.playbackRate):this._isFinished||this.tickCurrentTime((E-this._startTime)*this.playbackRate)),z&&(this.currentTimePending=!1,this.fireEvents(E))}},{key:"rewind",value:function(){if(this.playbackRate>=0)this.currentTime=0;else if(this._totalDuration<1/0)this.currentTime=this._totalDuration;else throw new Error("Unable to rewind negative playback rate animation with infinite duration")}},{key:"persist",value:function(){throw new Error(Ku)}},{key:"addEventListener",value:function(E,z,te){throw new Error(Ku)}},{key:"removeEventListener",value:function(E,z,te){throw new Error(Ku)}},{key:"dispatchEvent",value:function(E){throw new Error(Ku)}},{key:"commitStyles",value:function(){throw new Error(Ku)}},{key:"ensureAlive",value:function(){if(this.playbackRate<0&&this.currentTime===0){var E;this._inEffect=!!((E=this.effect)!==null&&E!==void 0&&E.update(-1))}else{var z;this._inEffect=!!((z=this.effect)!==null&&z!==void 0&&z.update(this.currentTime))}!this._inTimeline&&(this._inEffect||!this._finishedFlag)&&(this._inTimeline=!0,this.timeline.animations.push(this))}},{key:"tickCurrentTime",value:function(E,z){E!==this._currentTime&&(this._currentTime=E,this._isFinished&&!z&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this.ensureAlive())}},{key:"fireEvents",value:function(E){var z=this;if(this._isFinished){if(!this._finishedFlag){if(this.onfinish){var te=new Qv(null,this,this.currentTime,E);setTimeout(function(){z.onfinish&&z.onfinish(te)})}this._finishedFlag=!0}}else{if(this.onframe&&this.playState==="running"){var re=new Qv(null,this,this.currentTime,E);this.onframe(re)}this._finishedFlag=!1}}}])}(),Vm=4,DE=.001,OC=1e-7,mS=10,x0=11,dv=1/(x0-1),yS=typeof Float32Array=="function",NC=function(x,E){return 1-3*E+3*x},ex=function(x,E){return 3*E-6*x},tx=function(x){return 3*x},Vy=function(x,E,z){return((NC(E,z)*x+ex(E,z))*x+tx(E))*x},EP=function(x,E,z){return 3*NC(E,z)*x*x+2*ex(E,z)*x+tx(E)},xS=function(x,E,z,te,re){var oe,le,he=0;do le=E+(z-E)/2,oe=Vy(le,te,re)-x,oe>0?z=le:E=le;while(Math.abs(oe)>OC&&++he<mS);return le},ES=function(x,E,z,te){for(var re=0;re<Vm;++re){var oe=EP(E,z,te);if(oe===0)return E;var le=Vy(E,z,te)-x;E-=le/oe}return E},BC=function(x,E,z,te){if(!(x>=0&&x<=1&&z>=0&&z<=1))throw new Error("bezier x values must be in [0, 1] range");if(x===E&&z===te)return function(he){return he};for(var re=yS?new Float32Array(x0):new Array(x0),oe=0;oe<x0;++oe)re[oe]=Vy(oe*dv,x,z);var le=function(ge){for(var Ae=0,Pe=1,We=x0-1;Pe!==We&&re[Pe]<=ge;++Pe)Ae+=dv;--Pe;var Xe=(ge-re[Pe])/(re[Pe+1]-re[Pe]),qe=Ae+Xe*dv,nt=EP(qe,x,z);return nt>=DE?ES(ge,qe,x,z):nt===0?qe:xS(ge,Ae,Ae+dv,x,z)};return function(he){return he===0||he===1?he:Vy(le(he),E,te)}},AS=function(x){return x=x.replace(/([A-Z])/g,function(E){return"-".concat(E.toLowerCase())}),x.charAt(0)==="-"?x.substring(1):x},nx=function(x){return Math.pow(x,2)},Km=function(x){return Math.pow(x,3)},rx=function(x){return Math.pow(x,4)},ix=function(x){return Math.pow(x,5)},AP=function(x){return Math.pow(x,6)},SP=function(x){return 1-Math.cos(x*Math.PI/2)},wP=function(x){return 1-Math.sqrt(1-x*x)},CP=function(x){return x*x*(3*x-2)},bP=function(x){for(var E,z=4;x<((E=Math.pow(2,--z))-1)/11;);return 1/Math.pow(4,3-z)-7.5625*Math.pow((E*3-2)/22-x,2)},PP=function(x){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],z=(0,hs.Z)(E,2),te=z[0],re=te===void 0?1:te,oe=z[1],le=oe===void 0?.5:oe,he=Sh(Number(re),1,10),ge=Sh(Number(le),.1,2);return x===0||x===1?x:-he*Math.pow(2,10*(x-1))*Math.sin((x-1-ge/(Math.PI*2)*Math.asin(1/he))*(Math.PI*2)/ge)},RC=function(x){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],z=arguments.length>2?arguments[2]:void 0,te=(0,hs.Z)(E,4),re=te[0],oe=re===void 0?1:re,le=te[1],he=le===void 0?100:le,ge=te[2],Ae=ge===void 0?10:ge,Pe=te[3],We=Pe===void 0?0:Pe;oe=Sh(oe,.1,1e3),he=Sh(he,.1,1e3),Ae=Sh(Ae,.1,1e3),We=Sh(We,.1,1e3);var Xe=Math.sqrt(he/oe),qe=Ae/(2*Math.sqrt(he*oe)),nt=qe<1?Xe*Math.sqrt(1-qe*qe):0,at=1,pt=qe<1?(qe*Xe+-We)/nt:-We+Xe,mt=z?z*x/1e3:x;return qe<1?mt=Math.exp(-mt*qe*Xe)*(at*Math.cos(nt*mt)+pt*Math.sin(nt*mt)):mt=(at+pt*mt)*Math.exp(-mt*Xe),x===0||x===1?x:1-mt},JT=function(x){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],z=E,te=(0,hs.Z)(z,2),re=te[0],oe=re===void 0?10:re,le=te[1],he=le==="start"?Math.ceil:Math.floor;return he(Sh(x,0,1)*oe)/oe},BI=function(x){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],z=(0,hs.Z)(E,4),te=z[0],re=z[1],oe=z[2],le=z[3];return BC(te,re,oe,le)(x)},MP=BC(.42,0,1,1),fv=function(x){return function(E){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],te=arguments.length>2?arguments[2]:void 0;return 1-x(1-E,z,te)}},gv=function(x){return function(E){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],te=arguments.length>2?arguments[2]:void 0;return E<.5?x(E*2,z,te)/2:1-x(E*-2+2,z,te)/2}},pv=function(x){return function(E){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],te=arguments.length>2?arguments[2]:void 0;return E<.5?(1-x(1-E*2,z,te))/2:(x(E*2-1,z,te)+1)/2}},RI={steps:JT,"step-start":function(x){return JT(x,[1,"start"])},"step-end":function(x){return JT(x,[1,"end"])},linear:function(x){return x},"cubic-bezier":BI,ease:function(x){return BI(x,[.25,.1,.25,1])},in:MP,out:fv(MP),"in-out":gv(MP),"out-in":pv(MP),"in-quad":nx,"out-quad":fv(nx),"in-out-quad":gv(nx),"out-in-quad":pv(nx),"in-cubic":Km,"out-cubic":fv(Km),"in-out-cubic":gv(Km),"out-in-cubic":pv(Km),"in-quart":rx,"out-quart":fv(rx),"in-out-quart":gv(rx),"out-in-quart":pv(rx),"in-quint":ix,"out-quint":fv(ix),"in-out-quint":gv(ix),"out-in-quint":pv(ix),"in-expo":AP,"out-expo":fv(AP),"in-out-expo":gv(AP),"out-in-expo":pv(AP),"in-sine":SP,"out-sine":fv(SP),"in-out-sine":gv(SP),"out-in-sine":pv(SP),"in-circ":wP,"out-circ":fv(wP),"in-out-circ":gv(wP),"out-in-circ":pv(wP),"in-back":CP,"out-back":fv(CP),"in-out-back":gv(CP),"out-in-back":pv(CP),"in-bounce":bP,"out-bounce":fv(bP),"in-out-bounce":gv(bP),"out-in-bounce":pv(bP),"in-elastic":PP,"out-elastic":fv(PP),"in-out-elastic":gv(PP),"out-in-elastic":pv(PP),spring:RC,"spring-in":RC,"spring-out":fv(RC),"spring-in-out":gv(RC),"spring-out-in":pv(RC)},nk=function(x){return AS(x).replace(/^ease-/,"").replace(/(\(|\s).+/,"").toLowerCase().trim()},rk=function(x){return RI[nk(x)]||RI.linear},ik=function(x){return x},ok=1,ak=.5,kI=0;function FI(b,x){return function(E){if(E>=1)return 1;var z=1/b;return E+=x*z,E-E%z}}var LP="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",sk=new RegExp("cubic-bezier\\(".concat(LP,",").concat(LP,",").concat(LP,",").concat(LP,"\\)")),lk=/steps\(\s*(\d+)\s*\)/,uk=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/;function qT(b){var x=sk.exec(b);if(x)return BC.apply(void 0,(0,qa.Z)(x.slice(1).map(Number)));var E=lk.exec(b);if(E)return FI(Number(E[1]),kI);var z=uk.exec(b);return z?FI(Number(z[1]),{start:ok,middle:ak,end:kI}[z[2]]):rk(b)}function ck(b){return Math.abs(hk(b)/(b.playbackRate||1))}function hk(b){var x;return b.duration===0||b.iterations===0?0:(b.duration==="auto"?0:Number(b.duration))*((x=b.iterations)!==null&&x!==void 0?x:1)}var _I=0,$T=1,TP=2,zI=3;function dk(b,x,E){if(x===null)return _I;var z=E.endTime;return x<Math.min(E.delay,z)?$T:x>=Math.min(E.delay+b+E.endDelay,z)?TP:zI}function fk(b,x,E,z,te){switch(z){case $T:return x==="backwards"||x==="both"?0:null;case zI:return E-te;case TP:return x==="forwards"||x==="both"?b:null;case _I:return null}}function gk(b,x,E,z,te){var re=te;return b===0?x!==$T&&(re+=E):re+=z/b,re}function pk(b,x,E,z,te,re){var oe=b===1/0?x%1:b%1;return oe===0&&E===TP&&z!==0&&(te!==0||re===0)&&(oe=1),oe}function vk(b,x,E,z){return b===TP&&x===1/0?1/0:E===1?Math.floor(z)-1:Math.floor(z)}function mk(b,x,E){var z=b;if(b!=="normal"&&b!=="reverse"){var te=x;b==="alternate-reverse"&&(te+=1),z="normal",te!==1/0&&te%2!==0&&(z="reverse")}return z==="normal"?E:1-E}function yk(b,x,E){var z=dk(b,x,E),te=fk(b,E.fill,x,z,E.delay);if(te===null)return null;var re=E.duration==="auto"?0:E.duration,oe=gk(re,z,E.iterations,te,E.iterationStart),le=pk(oe,E.iterationStart,z,E.iterations,te,re),he=vk(z,E.iterations,le,oe),ge=mk(E.direction,he,le);return E.currentIteration=he,E.progress=ge,E.easingFunction(ge)}function xk(b,x,E){var z=Ek(b,x),te=Ak(z,E);return function(re,oe){if(oe!==null)te.filter(function(he){return oe>=he.applyFrom&&oe<he.applyTo}).forEach(function(he){var ge=oe-he.startOffset,Ae=he.endOffset-he.startOffset,Pe=Ae===0?0:ge/Ae;re.setAttribute(he.property,he.interpolation(Pe),!1,!1)});else for(var le in z)jI(le)&&re.setAttribute(le,null)}}function jI(b){return b!=="offset"&&b!=="easing"&&b!=="composite"&&b!=="computedOffset"}function Ek(b,x){for(var E={},z=0;z<b.length;z++)for(var te in b[z])if(jI(te)){var re={offset:b[z].offset,computedOffset:b[z].computedOffset,easing:b[z].easing,easingFunction:qT(b[z].easing)||x.easingFunction,value:b[z][te]};E[te]=E[te]||[],E[te].push(re)}return E}function Ak(b,x){var E=[];for(var z in b)for(var te=b[z],re=0;re<te.length-1;re++){var oe=re,le=re+1,he=te[oe].computedOffset,ge=te[le].computedOffset,Ae=he,Pe=ge;re===0&&(Ae=-1/0,ge===0&&(le=oe)),re===te.length-2&&(Pe=1/0,he===1&&(oe=le)),E.push({applyFrom:Ae,applyTo:Pe,startOffset:te[oe].computedOffset,endOffset:te[le].computedOffset,easingFunction:te[oe].easingFunction,property:z,interpolation:Sk(z,te[oe].value,te[le].value,x)})}return E.sort(function(We,Xe){return We.startOffset-Xe.startOffset}),E}var WI=function(x,E,z){return function(te){var re=UI(x,E,te);return As(re)?re:z(re)}};function Sk(b,x,E,z){var te=rv[b];if(te&&te.syntax&&te.int){var re=xa.styleValueRegistry.getPropertySyntax(te.syntax);if(re){var oe=re.parser,le=oe?oe(x,z):x,he=oe?oe(E,z):E,ge=re.mixer(le,he,z);if(ge){var Ae=WI.apply(void 0,(0,qa.Z)(ge));return function(Pe){return Pe===0?x:Pe===1?E:Ae(Pe)}}}}return WI(!1,!0,function(Pe){return Pe?E:x})}function UI(b,x,E){if(typeof b=="number"&&typeof x=="number")return b*(1-E)+x*E;if(typeof b=="boolean"&&typeof x=="boolean"||typeof b=="string"&&typeof x=="string")return E<.5?b:x;if(Array.isArray(b)&&Array.isArray(x)){for(var z=b.length,te=x.length,re=Math.max(z,te),oe=[],le=0;le<re;le++)oe.push(UI(b[le<z?le:z-1],x[le<te?le:te-1],E));return oe}throw new Error("Mismatched interpolation arguments ".concat(b,":").concat(x))}var wk=function(){function b(){(0,$r.Z)(this,b),this.delay=0,this.direction="normal",this.duration="auto",this._easing="linear",this.easingFunction=ik,this.endDelay=0,this.fill="auto",this.iterationStart=0,this.iterations=1,this.currentIteration=null,this.progress=null}return(0,qi.Z)(b,[{key:"easing",get:function(){return this._easing},set:function(E){this.easingFunction=qT(E),this._easing=E}}])}();function Ck(b){var x=[];for(var E in b)if(!(E in["easing","offset","composite"])){var z=b[E];Array.isArray(z)||(z=[z]);for(var te=z.length,re=0;re<te;re++){if(!x[re]){var oe={};"offset"in b&&(oe.offset=Number(b.offset)),"easing"in b&&(oe.easing=b.easing),"composite"in b&&(oe.composite=b.composite),x[re]=oe}z[re]!==void 0&&z[re]!==null&&(x[re][E]=z[re])}}return x.sort(function(le,he){return(le.computedOffset||0)-(he.computedOffset||0)}),x}function GI(b,x){if(b===null)return[];Array.isArray(b)||(b=Ck(b));for(var E=b.map(function(he){var ge={};x!=null&&x.composite&&(ge.composite="auto");for(var Ae in he){var Pe=he[Ae];if(Ae==="offset"){if(Pe!==null){if(Pe=Number(Pe),!isFinite(Pe))throw new Error("Keyframe offsets must be numbers.");if(Pe<0||Pe>1)throw new Error("Keyframe offsets must be between 0 and 1.");ge.computedOffset=Pe}}else if(Ae==="composite"&&["replace","add","accumulate","auto"].indexOf(Pe)===-1)throw new Error("".concat(Pe," compositing is not supported"));ge[Ae]=Pe}return ge.offset===void 0&&(ge.offset=null),ge.easing===void 0&&(ge.easing=(x==null?void 0:x.easing)||"linear"),ge.composite===void 0&&(ge.composite="auto"),ge}),z=!0,te=-1/0,re=0;re<E.length;re++){var oe=E[re].offset;if(El(oe))z=!1;else{if(oe<te)throw new TypeError("Keyframes are not loosely sorted by offset. Sort or specify offsets.");te=oe}}E=E.filter(function(he){return Number(he.offset)>=0&&Number(he.offset)<=1});function le(){var he,ge=E,Ae=ge.length;if(E[Ae-1].computedOffset=Number((he=E[Ae-1].offset)!==null&&he!==void 0?he:1),Ae>1){var Pe;E[0].computedOffset=Number((Pe=E[0].offset)!==null&&Pe!==void 0?Pe:0)}for(var We=0,Xe=Number(E[0].computedOffset),qe=1;qe<Ae;qe++){var nt=E[qe].computedOffset;if(!El(nt)&&!El(Xe)){for(var at=1;at<qe-We;at++)E[We+at].computedOffset=Xe+(Number(nt)-Xe)*at/(qe-We);We=qe,Xe=Number(nt)}}}return z||le(),E}var bk="backwards|forwards|both|none".split("|"),Pk="reverse|alternate|alternate-reverse".split("|");function Mk(b,x){var E=new wk;return x&&(E.fill="both",E.duration="auto"),typeof b=="number"&&!isNaN(b)?E.duration=b:b!==void 0&&Object.keys(b).forEach(function(z){if(b[z]!==void 0&&b[z]!==null&&b[z]!=="auto"){if((typeof E[z]=="number"||z==="duration")&&(typeof b[z]!="number"||isNaN(b[z]))||z==="fill"&&bk.indexOf(b[z])===-1||z==="direction"&&Pk.indexOf(b[z])===-1)return;E[z]=b[z]}}),E}function Lk(b,x){var E;return b=Tk((E=b)!==null&&E!==void 0?E:{duration:"auto"}),Mk(b,x)}function Tk(b){return typeof b=="number"&&(isNaN(b)?b={duration:"auto"}:b={duration:b}),b}var Dk=function(){function b(x,E,z){var te=this;(0,$r.Z)(this,b),this.composite="replace",this.iterationComposite="replace",this.target=x,this.timing=Lk(z,!1),this.timing.effect=this,this.timing.activeDuration=ck(this.timing),this.timing.endTime=Math.max(0,this.timing.delay+this.timing.activeDuration+this.timing.endDelay),this.normalizedKeyframes=GI(E,this.timing),this.interpolations=xk(this.normalizedKeyframes,this.timing,this.target);var re=xa.globalThis.Proxy;this.computedTiming=re?new re(this.timing,{get:function(le,he){return he==="duration"?le.duration==="auto"?0:le.duration:he==="fill"?le.fill==="auto"?"none":le.fill:he==="localTime"?te.animation&&te.animation.currentTime||null:he==="currentIteration"?!te.animation||te.animation.playState!=="running"?null:le.currentIteration||0:he==="progress"?!te.animation||te.animation.playState!=="running"?null:le.progress||0:le[he]},set:function(){return!0}}):this.timing}return(0,qi.Z)(b,[{key:"applyInterpolations",value:function(){this.interpolations(this.target,Number(this.timeFraction))}},{key:"update",value:function(E){return E===null?!1:(this.timeFraction=yk(this.timing.activeDuration,E,this.timing),this.timeFraction!==null)}},{key:"getKeyframes",value:function(){return this.normalizedKeyframes}},{key:"setKeyframes",value:function(E){this.normalizedKeyframes=GI(E)}},{key:"getComputedTiming",value:function(){return this.computedTiming}},{key:"getTiming",value:function(){return this.timing}},{key:"updateTiming",value:function(E){var z=this;Object.keys(E||{}).forEach(function(te){z.timing[te]=E[te]})}}])}();function HI(b,x){return Number(b.id)-Number(x.id)}var Ik=function(){function b(x){var E=this;(0,$r.Z)(this,b),this.animations=[],this.ticking=!1,this.timelineTicking=!1,this.hasRestartedThisFrame=!1,this.animationsWithPromises=[],this.inTick=!1,this.pendingEffects=[],this.currentTime=null,this.rafId=0,this.rafCallbacks=[],this.webAnimationsNextTick=function(z){E.currentTime=z,E.discardAnimations(),E.animations.length===0?E.timelineTicking=!1:E.requestAnimationFrame(E.webAnimationsNextTick)},this.processRafCallbacks=function(z){var te=E.rafCallbacks;E.rafCallbacks=[],z<Number(E.currentTime)&&(z=Number(E.currentTime)),E.animations.sort(HI),E.animations=E.tick(z,!0,E.animations)[0],te.forEach(function(re){re[1](z)}),E.applyPendingEffects()},this.document=x}return(0,qi.Z)(b,[{key:"getAnimations",value:function(){return this.discardAnimations(),this.animations.slice()}},{key:"isTicking",value:function(){return this.inTick}},{key:"play",value:function(E,z,te){var re=new Dk(E,z,te),oe=new y0(re,this);return this.animations.push(oe),this.restartWebAnimationsNextTick(),oe.updatePromises(),oe.play(),oe.updatePromises(),oe}},{key:"applyDirtiedAnimation",value:function(E){var z=this;if(!this.inTick){E.markTarget();var te=E.targetAnimations();te.sort(HI);var re=this.tick(Number(this.currentTime),!1,te.slice())[1];re.forEach(function(oe){var le=z.animations.indexOf(oe);le!==-1&&z.animations.splice(le,1)}),this.applyPendingEffects()}}},{key:"restart",value:function(){return this.ticking||(this.ticking=!0,this.requestAnimationFrame(function(){}),this.hasRestartedThisFrame=!0),this.hasRestartedThisFrame}},{key:"destroy",value:function(){this.document.defaultView.cancelAnimationFrame(this.frameId)}},{key:"applyPendingEffects",value:function(){this.pendingEffects.forEach(function(E){E==null||E.applyInterpolations()}),this.pendingEffects=[]}},{key:"updateAnimationsPromises",value:function(){this.animationsWithPromises=this.animationsWithPromises.filter(function(E){return E.updatePromises()})}},{key:"discardAnimations",value:function(){this.updateAnimationsPromises(),this.animations=this.animations.filter(function(E){return E.playState!=="finished"&&E.playState!=="idle"})}},{key:"restartWebAnimationsNextTick",value:function(){this.timelineTicking||(this.timelineTicking=!0,this.requestAnimationFrame(this.webAnimationsNextTick))}},{key:"rAF",value:function(E){var z=this.rafId++;return this.rafCallbacks.length===0&&(this.frameId=this.document.defaultView.requestAnimationFrame(this.processRafCallbacks)),this.rafCallbacks.push([z,E]),z}},{key:"requestAnimationFrame",value:function(E){var z=this;return this.rAF(function(te){z.updateAnimationsPromises(),E(te),z.updateAnimationsPromises()})}},{key:"tick",value:function(E,z,te){var re=this,oe,le;this.inTick=!0,this.hasRestartedThisFrame=!1,this.currentTime=E,this.ticking=!1;var he=[],ge=[],Ae=[],Pe=[];return te.forEach(function(We){We.tick(E,z),We._inEffect?(ge.push(We.effect),We.markTarget()):(he.push(We.effect),We.unmarkTarget()),We._needsTick&&(re.ticking=!0);var Xe=We._inEffect||We._needsTick;We._inTimeline=Xe,Xe?Ae.push(We):Pe.push(We)}),(oe=this.pendingEffects).push.apply(oe,he),(le=this.pendingEffects).push.apply(le,ge),this.ticking&&this.requestAnimationFrame(function(){}),this.inTick=!1,[Ae,Pe]}}])}();xa.EasingFunction=qT,xa.AnimationTimeline=Ik;var VI=function(b){return El(b)?"":b.toString()},Ok=function(b){var x=VI(b);return x.charAt(0).toUpperCase()+x.substring(1)},DP=Ok,Nk=function(b){return typeof b=="object"&&b!==null},e5=Nk,Bk=function(b){return b!==null&&typeof b!="function"&&isFinite(b.length)},kC=Bk,t5=function(b,x){if(b===x)return!0;if(!b||!x||qu(b)||qu(x))return!1;if(kC(b)||kC(x)){if(b.length!==x.length)return!1;for(var E=!0,z=0;z<b.length&&(E=t5(b[z],x[z]),!!E);z++);return E}if(e5(b)||e5(x)){var te=Object.keys(b),re=Object.keys(x);if(te.length!==re.length)return!1;for(var E=!0,z=0;z<te.length&&(E=t5(b[te[z]],x[te[z]]),!!E);z++);return E}return!1},Qd=t5;const Rk={duration:500},kk={duration:1e3,easing:"cubic-bezier(0.250, 0.460, 0.450, 0.940)",iterations:1,fill:"both"},sQ={CHANGE:"change"};var Uh;(function(b){b.NodeAdded="NodeAdded",b.NodeUpdated="NodeUpdated",b.NodeRemoved="NodeRemoved",b.EdgeAdded="EdgeAdded",b.EdgeUpdated="EdgeUpdated",b.EdgeRemoved="EdgeRemoved",b.ComboAdded="ComboAdded",b.ComboUpdated="ComboUpdated",b.ComboRemoved="ComboRemoved"})(Uh||(Uh={}));var Qp;(function(b){b.DRAW="draw",b.COLLAPSE="collapse",b.EXPAND="expand",b.TRANSFORM="transform"})(Qp||(Qp={}));var Ky;(function(b){b.CLICK="canvas:click",b.DBLCLICK="canvas:dblclick",b.POINTER_OVER="canvas:pointerover",b.POINTER_LEAVE="canvas:pointerleave",b.POINTER_ENTER="canvas:pointerenter",b.POINTER_MOVE="canvas:pointermove",b.POINTER_OUT="canvas:pointerout",b.POINTER_DOWN="canvas:pointerdown",b.POINTER_UP="canvas:pointerup",b.CONTEXT_MENU="canvas:contextmenu",b.DRAG_START="canvas:dragstart",b.DRAG="canvas:drag",b.DRAG_END="canvas:dragend",b.DRAG_ENTER="canvas:dragenter",b.DRAG_OVER="canvas:dragover",b.DRAG_LEAVE="canvas:dragleave",b.DROP="canvas:drop",b.WHEEL="canvas:wheel"})(Ky||(Ky={}));var IE;(function(b){b.CLICK="combo:click",b.DBLCLICK="combo:dblclick",b.POINTER_OVER="combo:pointerover",b.POINTER_LEAVE="combo:pointerleave",b.POINTER_ENTER="combo:pointerenter",b.POINTER_MOVE="combo:pointermove",b.POINTER_OUT="combo:pointerout",b.POINTER_DOWN="combo:pointerdown",b.POINTER_UP="combo:pointerup",b.CONTEXT_MENU="combo:contextmenu",b.DRAG_START="combo:dragstart",b.DRAG="combo:drag",b.DRAG_END="combo:dragend",b.DRAG_ENTER="combo:dragenter",b.DRAG_OVER="combo:dragover",b.DRAG_LEAVE="combo:dragleave",b.DROP="combo:drop"})(IE||(IE={}));var ia;(function(b){b.CLICK="click",b.DBLCLICK="dblclick",b.POINTER_OVER="pointerover",b.POINTER_LEAVE="pointerleave",b.POINTER_ENTER="pointerenter",b.POINTER_MOVE="pointermove",b.POINTER_OUT="pointerout",b.POINTER_DOWN="pointerdown",b.POINTER_UP="pointerup",b.CONTEXT_MENU="contextmenu",b.DRAG_START="dragstart",b.DRAG="drag",b.DRAG_END="dragend",b.DRAG_ENTER="dragenter",b.DRAG_OVER="dragover",b.DRAG_LEAVE="dragleave",b.DROP="drop",b.KEY_DOWN="keydown",b.KEY_UP="keyup",b.WHEEL="wheel"})(ia||(ia={}));var SS;(function(b){b.KEY_DOWN="keydown",b.KEY_UP="keyup"})(SS||(SS={}));var IP;(function(b){b.CLICK="edge:click",b.DBLCLICK="edge:dblclick",b.POINTER_OVER="edge:pointerover",b.POINTER_LEAVE="edge:pointerleave",b.POINTER_ENTER="edge:pointerenter",b.POINTER_MOVE="edge:pointermove",b.POINTER_OUT="edge:pointerout",b.POINTER_DOWN="edge:pointerdown",b.POINTER_UP="edge:pointerup",b.CONTEXT_MENU="edge:contextmenu",b.DRAG_ENTER="edge:dragenter",b.DRAG_OVER="edge:dragover",b.DRAG_LEAVE="edge:dragleave",b.DROP="edge:drop"})(IP||(IP={}));var ts;(function(b){b.BEFORE_CANVAS_INIT="beforecanvasinit",b.AFTER_CANVAS_INIT="aftercanvasinit",b.BEFORE_SIZE_CHANGE="beforesizechange",b.AFTER_SIZE_CHANGE="aftersizechange",b.BEFORE_ELEMENT_CREATE="beforeelementcreate",b.AFTER_ELEMENT_CREATE="afterelementcreate",b.BEFORE_ELEMENT_UPDATE="beforeelementupdate",b.AFTER_ELEMENT_UPDATE="afterelementupdate",b.BEFORE_ELEMENT_DESTROY="beforeelementdestroy",b.AFTER_ELEMENT_DESTROY="afterelementdestroy",b.BEFORE_ELEMENT_TRANSLATE="beforeelementtranslate",b.AFTER_ELEMENT_TRANSLATE="afterelementtranslate",b.BEFORE_DRAW="beforedraw",b.AFTER_DRAW="afterdraw",b.BEFORE_RENDER="beforerender",b.AFTER_RENDER="afterrender",b.BEFORE_ANIMATE="beforeanimate",b.AFTER_ANIMATE="afteranimate",b.BEFORE_LAYOUT="beforelayout",b.AFTER_LAYOUT="afterlayout",b.BEFORE_STAGE_LAYOUT="beforestagelayout",b.AFTER_STAGE_LAYOUT="afterstagelayout",b.BEFORE_TRANSFORM="beforetransform",b.AFTER_TRANSFORM="aftertransform",b.BATCH_START="batchstart",b.BATCH_END="batchend",b.BEFORE_DESTROY="beforedestroy",b.AFTER_DESTROY="afterdestroy",b.BEFORE_RENDERER_CHANGE="beforerendererchange",b.AFTER_RENDERER_CHANGE="afterrendererchange"})(ts||(ts={}));var ox;(function(b){b.UNDO="undo",b.REDO="redo",b.CANCEL="cancel",b.ADD="add",b.CLEAR="clear",b.CHANGE="change"})(ox||(ox={}));var vv;(function(b){b.CLICK="node:click",b.DBLCLICK="node:dblclick",b.POINTER_OVER="node:pointerover",b.POINTER_LEAVE="node:pointerleave",b.POINTER_ENTER="node:pointerenter",b.POINTER_MOVE="node:pointermove",b.POINTER_OUT="node:pointerout",b.POINTER_DOWN="node:pointerdown",b.POINTER_UP="node:pointerup",b.CONTEXT_MENU="node:contextmenu",b.DRAG_START="node:dragstart",b.DRAG="node:drag",b.DRAG_END="node:dragend",b.DRAG_ENTER="node:dragenter",b.DRAG_OVER="node:dragover",b.DRAG_LEAVE="node:dragleave",b.DROP="node:drop"})(vv||(vv={}));const hh="combo",E0="tree";var FC;(function(b){b.NODE="node",b.EDGE="edge",b.COMBO="combo",b.THEME="theme",b.PALETTE="palette",b.LAYOUT="layout",b.BEHAVIOR="behavior",b.PLUGIN="plugin",b.ANIMATION="animation",b.TRANSFORM="transform",b.SHAPE="shape"})(FC||(FC={}));const n5={animation:{},behavior:{},combo:{},edge:{},layout:{},node:{},palette:{},theme:{},plugin:{},transform:{},shape:{}};function Zy(b,x){var E;const z=(E=n5[b])===null||E===void 0?void 0:E[x];if(z)return z}function lQ(b){return EXTENSION_REGISTRY[b]}const Fk="5.0.42",_k="G6";function Yy(b){return`[${_k} v${Fk}] ${b}`}const Jp={mute:!1,debug:b=>{!Jp.mute&&console.debug(Yy(b))},info:b=>{!Jp.mute&&console.info(Yy(b))},warn:b=>{!Jp.mute&&console.warn(Yy(b))},error:b=>{!Jp.mute&&console.error(Yy(b))}};function KI(b){const{theme:x}=b;if(!x)return{};const E=Zy(FC.THEME,x);return E||(Jp.warn(`The theme of ${x} is not registered.`),{})}function r5(b,x){if(Array.isArray(b)&&b.length===0)return null;const E=Array.isArray(b)?b[0]:b,z=Array.isArray(b)?b.slice(1):x||[];return new Proxy(E,{get(te,re){return typeof te[re]=="function"&&!["onframe","onfinish"].includes(re)?(...oe)=>{te[re](...oe),z.forEach(le=>{var he;return(he=le[re])===null||he===void 0?void 0:he.call(le,...oe)})}:re==="finished"?Promise.all([E.finished,...z.map(oe=>oe.finished)]):Reflect.get(te,re)},set(te,re,oe){return["onframe","onfinish"].includes(re)||z.forEach(le=>{le[re]=oe}),Reflect.set(te,re,oe)}})}function i5(b){const x=b.reduce((z,te)=>(Object.entries(te).forEach(([re,oe])=>{z[re]===void 0?z[re]=[oe]:z[re].push(oe)}),z),{});Object.entries(x).forEach(([z,te])=>{(te.length!==b.length||te.some(re=>El(re))||te.every(re=>!["sourceNode","targetNode","childrenNode"].includes(z)&&Qd(re,te[0])))&&delete x[z]});const E=Object.entries(x).reduce((z,[te,re])=>(re.forEach((oe,le)=>{z[le]?z[le][te]=oe:z[le]={[te]:oe}}),z),[]);return b.length!==0&&E.length===0&&E.push({_:0},{_:0}),E}function _C(b){switch(b){case"opacity":return 1;case"x":case"y":case"z":case"zIndex":return 0;case"visibility":return"visible";case"collapsed":return!1;case"states":return[];default:return}}function ZI(b,x){const{animation:E}=b;if(E===!1||x===!1)return!1;const z=Object.assign({},Rk);return lh(E)&&Object.assign(z,E),lh(x)&&Object.assign(z,x),z}function zk(b){if(typeof b=="string"){const x=Zy(FC.ANIMATION,b);return x||(Jp.warn(`The animation of ${b} is not registered.`),[])}return b}function jk(b,x,E,z){var te,re;const{animation:oe}=b;if(oe===!1||z===!1)return[];const le=(te=b==null?void 0:b[x])===null||te===void 0?void 0:te.animation;if(le===!1)return[];const he=le==null?void 0:le[E];if(he===!1)return[];const ge=(re=KI(b)[x])===null||re===void 0?void 0:re.animation,Ae=(We=[])=>zk(We).map(Xe=>Object.assign(Object.assign(Object.assign(Object.assign({},kk),lh(oe)&&oe),Xe),lh(z)&&z));if(he)return Ae(he);if(!ge)return[];const Pe=ge[E];return Pe===!1?[]:Ae(Pe)}function YI(b,x,E,z=[]){if(!z&&b===0&&x===0&&E===0)return null;if(Array.isArray(z)){let re=-1;const oe=[];for(let le=0;le<z.length;le++){const he=z[le];if(he[0]==="translate"){if(he[1]===b&&he[2]===x)return null;re=le,oe.push(["translate",b,x])}else if(he[0]==="translate3d"){if(he[1]===b&&he[2]===x&&he[3]===E)return null;re=le,oe.push(["translate3d",b,x,E!=null?E:0])}else oe.push(he)}return re===-1&&oe.splice(0,0,As(E)?["translate3d",b,x,E!=null?E:0]:["translate",b,x]),oe.length===0?null:oe}const te=z?z.replace(/translate(3d)?\([^)]*\)/g,""):"";return E===0?`translate(${b}, ${x})${te}`:`translate3d(${b}, ${x}, ${E})${te}`}var Wk=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};const Uk=(b,x,E)=>{if(!E.length)return null;const[z,te]=x,re=ge=>{var Ae;if(ge){const Pe=b.getShape(ge);if(!Pe)return null;const We=`get${DP(ge)}Style`,Xe=((Ae=b==null?void 0:b[We])===null||Ae===void 0?void 0:Ae.bind(b))||(at=>at),qe=(Xe==null?void 0:Xe(z))||{},nt=(Xe==null?void 0:Xe(te))||{};return{shape:Pe,fromStyle:qe,toStyle:nt}}else return{shape:b,fromStyle:z,toStyle:te}};let oe;const le=E.map(ge=>{var{fields:Ae,shape:Pe,states:We}=ge,Xe=Wk(ge,["fields","shape","states"]);const qe=re(Pe);if(!qe)return null;const{shape:nt,fromStyle:at,toStyle:pt}=qe,mt=[{},{}];if(Ae.forEach(jt=>{var Ut,Kt;Object.assign(mt[0],{[jt]:(Ut=at[jt])!==null&&Ut!==void 0?Ut:_C(jt)}),Object.assign(mt[1],{[jt]:(Kt=pt[jt])!==null&&Kt!==void 0?Kt:_C(jt)})}),mt.some(jt=>Object.keys(jt).some(Ut=>["x","y","z"].includes(Ut)))){const{x:jt=0,y:Ut=0,z:Kt,transform:Qt=""}=nt.attributes||{};mt.forEach(Vt=>{var vn,wn,kn;Vt.transform=YI((vn=Vt.x)!==null&&vn!==void 0?vn:jt,(wn=Vt.y)!==null&&wn!==void 0?wn:Ut,(kn=Vt.z)!==null&&kn!==void 0?kn:Kt,Qt)})}const bt=nt.animate(i5(mt),Xe);return Pe===void 0&&(oe=bt),bt}).filter(Boolean),he=oe||(le==null?void 0:le[0]);return he?r5(he,le.filter(ge=>ge!==ge)):null},Gk=[{fields:["opacity"]}],Hk=[{fields:["x","y"]}],XI=[{fields:["x","y"]}],Vk=XI,QI=[{fields:["sourceNode","targetNode"]}],Kk=QI,JI=[{fields:["childrenNode","x","y"]}],Zk=JI,uQ=[{fields:["childrenNode","x","y"]}];var Yk=Object.prototype.hasOwnProperty;function Xk(b,x){if(!x||!Df(b))return{};for(var E={},z=Ys(x)?x:function(le){return le[x]},te,re=0;re<b.length;re++){var oe=b[re];te=z(oe),Yk.call(E,te)?E[te].push(oe):E[te]=[oe]}return E}var OP=Xk,qI=function(b,x,E){var z,te,re,oe,le=0;E||(E={});var he=function(){le=E.leading===!1?0:Date.now(),z=null,oe=b.apply(te,re),z||(te=re=null)},ge=function(){var Ae=Date.now();!le&&E.leading===!1&&(le=Ae);var Pe=x-(Ae-le);return te=this,re=arguments,Pe<=0||Pe>x?(z&&(clearTimeout(z),z=null),le=Ae,oe=b.apply(te,re),z||(te=re=null)):!z&&E.trailing!==!1&&(z=setTimeout(he,Pe)),oe};return ge.cancel=function(){clearTimeout(z),le=0,z=te=re=null},ge},o5=function(b){if(typeof b!="object"||b===null)return b;var x;if(Df(b)){x=[];for(var E=0,z=b.length;E<z;E++)typeof b[E]=="object"&&b[E]!=null?x[E]=o5(b[E]):x[E]=b[E]}else{x={};for(var te in b)typeof b[te]=="object"&&b[te]!=null?x[te]=o5(b[te]):x[te]=b[te]}return x},wS=o5;function Qk(b){return"source"in b&&"target"in b}function Jk(b){return b.length===2}function cQ(b){return b.length===3}function CS(b){return b instanceof Float32Array?!0:Array.isArray(b)&&(b.length===2||b.length===3)?b.every(x=>typeof x=="number"):!1}function Zm(b,x,E){return b>=x&&b<=E}function Jv(b=0){if(Array.isArray(b)){const[x=0,E=x,z=x,te=E]=b;return[x,E,z,te]}return[b,b,b,b]}function qk(b=0){const x=Jv(b);return x[0]+x[2]}function hQ(b=0){const x=Jv(b);return x[1]+x[3]}function Ym(b){return b.max[0]-b.min[0]}function Xm(b){return b.max[1]-b.min[1]}function ax(b){return[Ym(b),Xm(b)]}function sx(b,x){const E=CS(b)?a5(b):b.getShape("key").getBounds();return x?lx(E,x):E}function a5(b){const[x,E,z=0]=b,te=new Dc;return te.setMinMax([x,E,z],[x,E,z]),te}function lx(b,x){const[E,z,te,re]=Jv(x),[oe,le,he]=b.min,[ge,Ae,Pe]=b.max,We=new Dc;return We.setMinMax([oe-re,le-E,he],[ge+z,Ae+te,Pe]),We}function zC(b){if(b.length===0)return new Dc;if(b.length===1)return b[0];const x=new Dc;x.setMinMax(b[0].min,b[0].max);for(let E=1;E<b.length;E++){const z=b[E];x.setMinMax([Math.min(x.min[0],z.min[0]),Math.min(x.min[1],z.min[1]),Math.min(x.min[2],z.min[2])],[Math.max(x.max[0],z.max[0]),Math.max(x.max[1],z.max[1]),Math.max(x.max[2],z.max[2])])}return x}function $k(b,x){const[E,z]=b.min,[te,re]=b.max,[oe,le]=x.min,[he,ge]=x.max;return E>=oe&&te<=he&&z>=le&&re<=ge}function qv(b,x){return Zm(b[0],x.min[0],x.max[0])&&Zm(b[1],x.min[1],x.max[1])}function $I(b,x,E=!1){const{min:[z,te],max:[re,oe]}=x,le=(b[1]===te||b[1]===oe)&&(E||Zm(b[0],z,re)),he=(b[0]===z||b[0]===re)&&(E||Zm(b[1],te,oe));return le||he}function eF(b,x){return!qv(b,x)}function NP(b,x){const{center:E}=x;return b[0]===E[0]&&b[1]===E[1]}function jC(b,x){const[E,z]=b,[te,re]=x.min,[oe,le]=x.max,he=E-te,ge=oe-E,Ae=z-re,Pe=le-z,We=Math.min(he,ge,Ae,Pe);return We===he?"left":We===ge?"right":We===Ae?"top":We===Pe?"bottom":"left"}function OE(b,x){const E=wS(b);if(qv(b,x))switch(jC(b,x)){case"left":E[0]=x.min[0];break;case"right":E[0]=x.max[0];break;case"top":E[1]=x.min[1];break;case"bottom":E[1]=x.max[1];break}else{const[z,te]=b,[re,oe]=x.min,[le,he]=x.max;E[0]=Zm(z,re,le)?z:z<re?re:le,E[1]=Zm(te,oe,he)?te:te<oe?oe:he}return E}function tF(b,x){const{center:E}=b,[z,te]=ax(b),re=x==="up"||x==="down"?E[0]:x==="right"?E[0]-z/6:E[0]+z/6,oe=x==="left"||x==="right"?E[1]:x==="down"?E[1]-te/6:E[1]+te/6;return[re,oe]}function nF(b,x){let[E,z]=ax(b);return[E,z]=x==="up"||x==="down"?[E,z]:[z,E],(Math.pow(z,2)-Math.pow(Math.sqrt(Math.pow(E/2,2)+Math.pow(z,2))-E/2,2))/(2*z)}function rF(b){const{min:[x,E],max:[z,te]}=b,re=[x,te],oe=[z,te],le=[z,E],he=[x,E];return[[re,oe],[oe,le],[le,he],[he,re]]}var iF=function(x,E){var z=x.nodes,te=x.edges,re=[],oe={};if(!z)throw new Error("invalid nodes data!");return z&&z.forEach(function(le,he){oe[le.id]=he;var ge=[];re.push(ge)}),te&&te.forEach(function(le){var he=le.source,ge=le.target,Ae=oe[he],Pe=oe[ge];!Ae&&Ae!==0||!Pe&&Pe!==0||(re[Ae][Pe]=1,E||(re[Pe][Ae]=1))}),re},BP=iF,oF=function(x,E){return x===E},e3=function(){function b(x,E){E===void 0&&(E=null),this.value=x,this.next=E}return b.prototype.toString=function(x){return x?x(this.value):"".concat(this.value)},b}(),aF=function(){function b(x){x===void 0&&(x=oF),this.head=null,this.tail=null,this.compare=x}return b.prototype.prepend=function(x){var E=new e3(x,this.head);return this.head=E,this.tail||(this.tail=E),this},b.prototype.append=function(x){var E=new e3(x);return this.head?(this.tail.next=E,this.tail=E,this):(this.head=E,this.tail=E,this)},b.prototype.delete=function(x){if(!this.head)return null;for(var E=null;this.head&&this.compare(this.head.value,x);)E=this.head,this.head=this.head.next;var z=this.head;if(z!==null)for(;z.next;)this.compare(z.next.value,x)?(E=z.next,z.next=z.next.next):z=z.next;return this.compare(this.tail.value,x)&&(this.tail=z),E},b.prototype.find=function(x){var E=x.value,z=E===void 0?void 0:E,te=x.callback,re=te===void 0?void 0:te;if(!this.head)return null;for(var oe=this.head;oe;){if(re&&re(oe.value)||z!==void 0&&this.compare(oe.value,z))return oe;oe=oe.next}return null},b.prototype.deleteTail=function(){var x=this.tail;if(this.head===this.tail)return this.head=null,this.tail=null,x;for(var E=this.head;E.next;)E.next.next?E=E.next:E.next=null;return this.tail=E,x},b.prototype.deleteHead=function(){if(!this.head)return null;var x=this.head;return this.head.next?this.head=this.head.next:(this.head=null,this.tail=null),x},b.prototype.fromArray=function(x){var E=this;return x.forEach(function(z){return E.append(z)}),this},b.prototype.toArray=function(){for(var x=[],E=this.head;E;)x.push(E),E=E.next;return x},b.prototype.reverse=function(){for(var x=this.head,E=null,z=null;x;)z=x.next,x.next=E,E=x,x=z;this.tail=this.head,this.head=E},b.prototype.toString=function(x){return x===void 0&&(x=void 0),this.toArray().map(function(E){return E.toString(x)}).toString()},b}(),t3=aF,sF=function(){function b(){this.linkedList=new t3}return b.prototype.isEmpty=function(){return!this.linkedList.head},b.prototype.peek=function(){return this.linkedList.head?this.linkedList.head.value:null},b.prototype.enqueue=function(x){this.linkedList.append(x)},b.prototype.dequeue=function(){var x=this.linkedList.deleteHead();return x?x.value:null},b.prototype.toString=function(x){return this.linkedList.toString(x)},b}(),lF=sF,mv=function(x,E,z){E===void 0&&(E=[]);var te=E.filter(function(he){return he.source===x||he.target===x});if(z==="target"){var re=function(ge){return ge.source===x};return te.filter(re).map(function(he){return he.target})}if(z==="source"){var oe=function(ge){return ge.target===x};return te.filter(oe).map(function(he){return he.source})}var le=function(ge){return ge.source===x?ge.target:ge.source};return te.map(le)},uF=function(x,E){return E.filter(function(z){return z.source===x})},RP=function(x,E){return E.filter(function(z){return z.source===x||z.target===x})},n3=function(x){x===void 0&&(x=0);var E="".concat(Math.random()).split(".")[1].substr(0,5),z="".concat(Math.random()).split(".")[1].substr(0,5);return"".concat(x,"-").concat(E).concat(z)};function cF(b){b===void 0&&(b={});var x=b,E=function(){},z=function(){var te={};return function(re){var oe=re.next,le=oe;return te[le]?!1:(te[le]=!0,!0)}}();return x.allowTraversal=b.allowTraversal||z,x.enter=b.enter||E,x.leave=b.leave||E,x}var hF=function(x,E,z,te){te===void 0&&(te=!0);var re=cF(z),oe=new lF,le=x.edges,he=le===void 0?[]:le;oe.enqueue(E);for(var ge="",Ae=function(){var We=oe.dequeue();re.enter({current:We,previous:ge}),mv(We,he,te?"target":void 0).forEach(function(Xe){re.allowTraversal({previous:ge,current:We,next:Xe})&&oe.enqueue(Xe)}),re.leave({current:We,previous:ge}),ge=We};!oe.isEmpty();)Ae()},dF=hF,fF=function(x){for(var E=x.nodes,z=E===void 0?[]:E,te=x.edges,re=te===void 0?[]:te,oe=[],le={},he=[],ge=function Xe(qe){he.push(qe),le[qe.id]=!0;for(var nt=mv(qe.id,re),at=function(bt){var jt=nt[bt];if(!le[jt]){var Ut=z.filter(function(Kt){return Kt.id===jt});Ut.length>0&&Xe(Ut[0])}},pt=0;pt<nt.length;++pt)at(pt)},Ae=0;Ae<z.length;Ae++){var Pe=z[Ae];if(!le[Pe.id]){ge(Pe);for(var We=[];he.length>0;)We.push(he.pop());oe.push(We)}}return oe},r3=function(x){for(var E=x.nodes,z=E===void 0?[]:E,te=x.edges,re=te===void 0?[]:te,oe=[],le={},he={},ge={},Ae=[],Pe=0,We=function at(pt){he[pt.id]=Pe,ge[pt.id]=Pe,Pe+=1,oe.push(pt),le[pt.id]=!0;for(var mt=mv(pt.id,re,"target").filter(function(Qt){return z.map(function(Vt){return Vt.id}).indexOf(Qt)>-1}),bt=function(Vt){var vn=mt[Vt];if(!he[vn]&&he[vn]!==0){var wn=z.filter(function(kn){return kn.id===vn});wn.length>0&&at(wn[0]),ge[pt.id]=Math.min(ge[pt.id],ge[vn])}else le[vn]&&(ge[pt.id]=Math.min(ge[pt.id],he[vn]))},jt=0;jt<mt.length;jt++)bt(jt);if(ge[pt.id]===he[pt.id]){for(var Ut=[];oe.length>0;){var Kt=oe.pop();if(le[Kt.id]=!1,Ut.push(Kt),Kt===pt)break}Ut.length>0&&Ae.push(Ut)}},Xe=0,qe=z;Xe<qe.length;Xe++){var nt=qe[Xe];!he[nt.id]&&he[nt.id]!==0&&We(nt)}return Ae};function i3(b,x){return x?r3(b):fF(b)}var WC=function(x){var E={},z=x.nodes,te=z===void 0?[]:z,re=x.edges,oe=re===void 0?[]:re;return te.forEach(function(le){E[le.id]={degree:0,inDegree:0,outDegree:0}}),oe.forEach(function(le){E[le.source].degree++,E[le.source].outDegree++,E[le.target].degree++,E[le.target].inDegree++}),E},s5=WC,gF=function(x,E){var z=WC(x);return z[E]?WC(x)[E].inDegree:0},pF=function(x,E){var z=WC(x);return z[E]?WC(x)[E].outDegree:0};function vF(b){b===void 0&&(b={});var x=b,E=function(){},z=function(){var te={};return function(re){var oe=re.next;return te[oe]?!1:(te[oe]=!0,!0)}}();return x.allowTraversal=b.allowTraversal||z,x.enter=b.enter||E,x.leave=b.leave||E,x}function o3(b,x,E,z,te){te===void 0&&(te=!0),z.enter({current:x,previous:E});var re=b.edges,oe=re===void 0?[]:re;mv(x,oe,te?"target":void 0).forEach(function(le){z.allowTraversal({previous:E,current:x,next:le})&&o3(b,le,x,z,te)}),z.leave({current:x,previous:E})}function a3(b,x,E,z){z===void 0&&(z=!0),o3(b,x,"",vF(E),z)}var mF=function(x){var E=null,z=x.nodes,te=z===void 0?[]:z,re={},oe={},le={},he={};te.forEach(function(Pe){oe[Pe.id]=Pe});for(var ge={enter:function(We){var Xe=We.current,qe=We.previous;if(le[Xe]){E={};for(var nt=Xe,at=qe;at!==Xe;)E[nt]=at,nt=at,at=re[at];E[nt]=at}else le[Xe]=Xe,delete oe[Xe],re[Xe]=qe},leave:function(We){var Xe=We.current;he[Xe]=Xe,delete le[Xe]},allowTraversal:function(We){var Xe=We.next;return E?!1:!he[Xe]}};Object.keys(oe).length;){var Ae=Object.keys(oe)[0];a3(x,Ae,ge)}return E},s3=function(x,E,z){var te,re;z===void 0&&(z=!0);for(var oe=[],le=i3(x,!1),he=0,ge=le;he<ge.length;he++){var Ae=ge[he];if(Ae.length)for(var Pe=Ae[0],We=Pe.id,Xe=[Pe],qe=(te={},te[We]=Pe,te),nt=(re={},re[We]=new Set,re);Xe.length>0;)for(var at=Xe.pop(),pt=at.id,mt=mv(pt,x.edges),bt=function(Kt){var Qt,Vt=mt[Kt],vn=x.nodes.find(function(Or){return Or.id===Vt});if(Vt===pt)oe.push((Qt={},Qt[Vt]=at,Qt));else if(!(Vt in nt))qe[Vt]=at,Xe.push(vn),nt[Vt]=new Set([at]);else if(!nt[pt].has(vn)){for(var wn=!0,kn=[vn,at],Vn=qe[pt];nt[Vt].size&&!nt[Vt].has(Vn)&&(kn.push(Vn),Vn!==qe[Vn.id]);)Vn=qe[Vn.id];if(kn.push(Vn),E&&z?(wn=!1,kn.findIndex(function(Or){return E.indexOf(Or.id)>-1})>-1&&(wn=!0)):E&&!z&&kn.findIndex(function(Or){return E.indexOf(Or.id)>-1})>-1&&(wn=!1),wn){for(var vr={},or=1;or<kn.length;or+=1)vr[kn[or-1].id]=kn[or];kn.length&&(vr[kn[kn.length-1].id]=kn[0]),oe.push(vr)}nt[Vt].add(at)}},jt=0;jt<mt.length;jt+=1)bt(jt)}return oe},l3=function(x,E,z){z===void 0&&(z=!0);for(var te=[],re=new Set,oe=[],le=[],he={},ge={},Ae=function(Vn){for(var vr=[Vn];vr.length>0;){var or=vr.pop();re.has(or)&&(re.delete(or),oe[or.id].forEach(function(Or){vr.push(Or)}),oe[or.id].clear())}},Pe=function kn(Vn,vr,or){var Or=!1;if(E&&z===!1&&E.indexOf(Vn.id)>-1)return Or;te.push(Vn),re.add(Vn);for(var qr=or[Vn.id],wr=0;wr<qr.length;wr+=1){var Sr=he[qr[wr]];if(Sr===vr){for(var Tr={},ri=1;ri<te.length;ri+=1)Tr[te[ri-1].id]=te[ri];te.length&&(Tr[te[te.length-1].id]=te[0]),le.push(Tr),Or=!0}else re.has(Sr)||kn(Sr,vr,or)&&(Or=!0)}if(Or)Ae(Vn);else for(var wr=0;wr<qr.length;wr+=1){var Sr=he[qr[wr]];oe[Sr.id].has(Vn)||oe[Sr.id].add(Vn)}return te.pop(),Or},We=x.nodes,Xe=We===void 0?[]:We,qe=0;qe<Xe.length;qe+=1){var nt=Xe[qe],at=nt.id;ge[at]=qe,he[qe]=nt}if(E&&z)for(var pt=function(Vn){var vr=E[Vn];ge[Xe[Vn].id]=ge[vr],ge[vr]=0,he[0]=Xe.find(function(or){return or.id===vr}),he[ge[Xe[Vn].id]]=Xe[Vn]},qe=0;qe<E.length;qe++)pt(qe);for(var mt=function(Vn){for(var vr,or,Or=1/0,qr=0;qr<Vn.length;qr+=1)for(var wr=Vn[qr],Sr=0;Sr<wr.length;Sr++){var Tr=ge[wr[Sr].id];Tr<Or&&(Or=Tr,or=qr)}for(var ri=Vn[or],Cr=[],qr=0;qr<ri.length;qr+=1){var yi=ri[qr];Cr[yi.id]=[];for(var Co=0,wo=mv(yi.id,x.edges,"target").filter(function($i){return ri.map(function(Lo){return Lo.id}).indexOf($i)>-1});Co<wo.length;Co++){var vi=wo[Co];vi===yi.id&&!(z===!1&&E.indexOf(yi.id)>-1)?le.push((vr={},vr[yi.id]=yi,vr)):Cr[yi.id].push(ge[vi])}}return{component:ri,adjList:Cr,minIdx:Or}},bt=0;bt<Xe.length;){var jt=Xe.filter(function(kn){return ge[kn.id]>=bt}),Ut=r3({nodes:jt,edges:x.edges}).filter(function(kn){return kn.length>1});if(Ut.length===0)break;var Kt=mt(Ut),Qt=Kt.minIdx,Vt=Kt.adjList,vn=Kt.component;if(vn.length>1){vn.forEach(function(kn){oe[kn.id]=new Set});var wn=he[Qt];if(E&&z&&E.indexOf(wn.id)===-1)return le;Pe(wn,wn,Vt),bt=Qt+1}else break}return le},yF=function(x,E,z,te){return te===void 0&&(te=!0),E?l3(x,z,te):s3(x,z,te)},u3=mF,xF={}.toString,EF=function(b,x){return xF.call(b)==="[object "+x+"]"},kP=EF,l5=function(b){return kP(b,"Function")},u5=function(b){return Array.isArray?Array.isArray(b):kP(b,"Array")},AF=function(b){var x=typeof b;return b!==null&&x==="object"||x==="function"};function SF(b,x){if(b){var E;if(u5(b))for(var z=0,te=b.length;z<te&&(E=x(b[z],z),E!==!1);z++);else if(AF(b)){for(var re in b)if(b.hasOwnProperty(re)&&(E=x(b[re],re),E===!1))break}}}var c3=SF,dQ=Object.keys?function(b){return Object.keys(b)}:function(b){var x=[];return c3(b,function(E,z){l5(b)&&z==="prototype"||x.push(z)}),x},fQ=null;function gQ(b,x){var E=keys(x),z=E.length;if(isNil(b))return!z;for(var te=0;te<z;te+=1){var re=E[te];if(x[re]!==b[re]||!(re in b))return!1}return!0}var pQ=null,vQ=function(b){if(!isObjectLike(b)||!isType(b,"Object"))return!1;if(Object.getPrototypeOf(b)===null)return!0;for(var x=b;Object.getPrototypeOf(x)!==null;)x=Object.getPrototypeOf(x);return Object.getPrototypeOf(b)===x},mQ=null;function yQ(b,x){if(!isArray(b))return null;var E;if(isFunction(x)&&(E=x),isPlainObject(x)&&(E=function(te){return isMatch(te,x)}),E){for(var z=0;z<b.length;z+=1)if(E(b[z]))return b[z]}return null}var xQ=null,EQ=function(b,x){for(var E=null,z=0;z<b.length;z++){var te=b[z],re=te[x];if(!isNil(re)){isArray(re)?E=re[0]:E=re;break}}return E},AQ=null,SQ=function(b){if(!isArray(b))return[];for(var x=[],E=0;E<b.length;E++)x=x.concat(b[E]);return x},wQ=null,wF=function(b,x){if(x===void 0&&(x=[]),!isArray(b))x.push(b);else for(var E=0;E<b.length;E+=1)wF(b[E],x);return x},CQ=null,bQ=function(b){if(isArray(b))return b.reduce(function(x,E){return Math.max(x,E)},b[0])},PQ=function(b){if(isArray(b))return b.reduce(function(x,E){return Math.min(x,E)},b[0])},MQ=function(b){var x=b.filter(function(oe){return!isNaN(oe)});if(!x.length)return{min:0,max:0};if(isArray(b[0])){for(var E=[],z=0;z<b.length;z++)E=E.concat(b[z]);x=E}var te=getMax(x),re=getMin(x);return{min:re,max:te}},LQ=null,h3=Array.prototype,CF=h3.splice,bF=h3.indexOf,TQ=function(b){for(var x=[],E=1;E<arguments.length;E++)x[E-1]=arguments[E];for(var z=0;z<x.length;z++)for(var te=x[z],re=-1;(re=bF.call(b,te))>-1;)CF.call(b,re,1);return b},DQ=null,PF=Array.prototype.splice,IQ=function(x,E){if(!isArrayLike(x))return[];for(var z=x?E.length:0,te=z-1;z--;){var re=void 0,oe=E[z];(z===te||oe!==re)&&(re=oe,PF.call(x,oe,1))}return x},OQ=null,NQ=function(b,x,E){if(!isArray(b)&&!isPlainObject(b))return b;var z=E;return each(b,function(te,re){z=x(z,te,re)}),z},BQ=null,RQ=function(b,x){var E=[];if(!isArrayLike(b))return E;for(var z=-1,te=[],re=b.length;++z<re;){var oe=b[z];x(oe,z,b)&&(E.push(oe),te.push(z))}return pullAt(b,te),E},kQ=null,c5=function(b){return kP(b,"String")};function FQ(b,x){var E;if(isFunction(x))E=function(te,re){return x(te)-x(re)};else{var z=[];isString(x)?z.push(x):isArray(x)&&(z=x),E=function(te,re){for(var oe=0;oe<z.length;oe+=1){var le=z[oe];if(te[le]>re[le])return 1;if(te[le]<re[le])return-1}return 0}}return b.sort(E),b}var _Q=null;function h5(b,x){x===void 0&&(x=new Map);var E=[];if(Array.isArray(b))for(var z=0,te=b.length;z<te;z++){var re=b[z];x.has(re)||(E.push(re),x.set(re,!0))}return E}var zQ=function(b,x){for(var E=[],z={},te=0;te<b.length;te++){var re=b[te],oe=re[x];if(!isNil(oe)){isArray(oe)||(oe=[oe]);for(var le=0;le<oe.length;le++){var he=oe[le];z[he]||(E.push(he),z[he]=!0)}}}return E};function jQ(b,x){return isArray(b)||isString(b)?b[0]===x:!1}var WQ=null;function UQ(b,x){return isArray(b)||isString(b)?b[b.length-1]===x:!1}var GQ=null,MF=Object.prototype.hasOwnProperty;function HQ(b,x){if(!x||!isArray(b))return{};for(var E={},z=isFunction(x)?x:function(le){return le[x]},te,re=0;re<b.length;re++){var oe=b[re];te=z(oe),MF.call(E,te)?E[te].push(oe):E[te]=[oe]}return E}var VQ=null;function KQ(b,x){if(!x)return{0:b};if(!isFunction(x)){var E=isArray(x)?x:x.replace(/\s+/g,"").split("*");x=function(z){for(var te="_",re=0,oe=E.length;re<oe;re++)te+=z[E[re]]&&z[E[re]].toString();return te}}return groupBy(b,x)}var ZQ=function(b,x){if(!x)return[b];var E=groupToMap(b,x),z=[];for(var te in E)z.push(E[te]);return z},d3={};function YQ(b){var x=d3[b];if(!x){for(var E=b.toString(16),z=E.length;z<6;z++)E="0"+E;x="#"+E,d3[b]=x}return x}var XQ=null;function QQ(b){var x=0,E=0,z=0,te=0;return isArray(b)?b.length===1?x=E=z=te=b[0]:b.length===2?(x=z=b[0],E=te=b[1]):b.length===3?(x=b[0],E=te=b[1],z=b[2]):(x=b[0],E=b[1],z=b[2],te=b[3]):x=E=z=te=b,{r1:x,r2:E,r3:z,r4:te}}var JQ=null,LF=function(b){return kP(b,"Number")},TF=LF,qQ=function(b){return isNumber(b)&&b%1!==0},$Q=null,eJ=function(b){return isNumber(b)&&b%2===0},tJ=null,nJ=Number.isInteger?Number.isInteger:function(b){return TF(b)&&b%1===0},rJ=null,iJ=function(b){return isNumber(b)&&b<0},oJ=null,aJ=function(b){return isNumber(b)&&b%2!==0},sJ=null,lJ=function(b){return isNumber(b)&&b>0},uJ=null,cJ=function(b,x){if(isArray(b)){for(var E,z=-1/0,te=0;te<b.length;te++){var re=b[te],oe=isFunction(x)?x(re):re[x];oe>z&&(E=re,z=oe)}return E}},hJ=function(b,x){if(isArray(b)){for(var E,z=1/0,te=0;te<b.length;te++){var re=b[te],oe=isFunction(x)?x(re):re[x];oe<z&&(E=re,z=oe)}return E}},DF=180/Math.PI,dJ=function(b){return DF*b},fJ=null,IF=Math.PI/180,gJ=function(b){return IF*b},pJ=null,vJ=null,OF=Object.values?function(b){return Object.values(b)}:function(b){var x=[];return c3(b,function(E,z){l5(b)&&z==="prototype"||x.push(E)}),x},NF=OF,mJ=function(b,x){return contains(values(b),x)},BF={}.toString,yJ=function(b){return BF.call(b).replace(/^\[object /,"").replace(/]$/,"")},xJ=null,EJ=function(b){return isType(b,"Arguments")},AJ=null,SJ=function(b){return isType(b,"Boolean")},wJ=null,CJ=function(b){return isType(b,"Date")},bJ=null,PJ=function(b){return isType(b,"Error")},MJ=null;function LJ(b){return isNumber(b)&&isFinite(b)}var RF=Object.prototype,TJ=function(b){var x=b&&b.constructor,E=typeof x=="function"&&x.prototype||RF;return b===E},DJ=null,IJ=function(b){return isType(b,"RegExp")},OJ=null,NJ=function(){for(var b=[],x=0;x<arguments.length;x++)b[x]=arguments[x];for(var E=b[0],z=1;z<b.length;z++){var te=b[z];isFunction(te)&&(te=te.prototype),mix(E.prototype,te)}},BJ=null,d5=function(b){if(typeof b!="object"||b===null)return b;var x;if(u5(b)){x=[];for(var E=0,z=b.length;E<z;E++)typeof b[E]=="object"&&b[E]!=null?x[E]=d5(b[E]):x[E]=b[E]}else{x={};for(var te in b)typeof b[te]=="object"&&b[te]!=null?x[te]=d5(b[te]):x[te]=b[te]}return x},UC=d5,kF=function(b,x){if(!l5(b))throw new TypeError("Expected a function");var E=function(){for(var z=[],te=0;te<arguments.length;te++)z[te]=arguments[te];var re=x?x.apply(this,z):z[0],oe=E.cache;if(oe.has(re))return oe.get(re);var le=b.apply(this,z);return oe.set(re,le),le};return E.cache=new Map,E},FF=5;function f3(b,x,E,z){E=E||0,z=z||FF;for(var te in x)if(x.hasOwnProperty(te)){var re=x[te];re!==null&&isPlainObject(re)?(isPlainObject(b[te])||(b[te]={}),E<z?f3(b[te],re,E+1,z):b[te]=x[te]):isArray(re)?(b[te]=[],b[te]=b[te].concat(re)):re!==void 0&&(b[te]=re)}}var RJ=function(b){for(var x=[],E=1;E<arguments.length;E++)x[E-1]=arguments[E];for(var z=0;z<x.length;z+=1)f3(b,x[z]);return b},kJ=null,FJ=function(b,x,E,z){isFunction(x)||(E=x,x=b,b=function(){});var te=Object.create?function(oe,le){return Object.create(oe,{constructor:{value:le}})}:function(oe,le){function he(){}he.prototype=oe;var ge=new he;return ge.constructor=le,ge},re=te(x.prototype,b);return b.prototype=mix(re,b.prototype),b.superclass=te(x.prototype,x),mix(re,E),mix(b,z),b},_J=null,_F=Object.prototype.hasOwnProperty;function zJ(b){if(isNil(b))return!0;if(isArrayLike(b))return!b.length;var x=getType(b);if(x==="Map"||x==="Set")return!b.size;if(isPrototype(b))return!Object.keys(b).length;for(var E in b)if(_F.call(b,E))return!1;return!0}var jJ=null,zF=function(b){return typeof b=="object"&&b!==null},g3=zF,jF=function(b){return b!==null&&typeof b!="function"&&isFinite(b.length)},p3=jF,f5=function(b,x){if(b===x)return!0;if(!b||!x||c5(b)||c5(x))return!1;if(p3(b)||p3(x)){if(b.length!==x.length)return!1;for(var E=!0,z=0;z<b.length&&(E=f5(b[z],x[z]),!!E);z++);return E}if(g3(b)||g3(x)){var te=Object.keys(b),re=Object.keys(x);if(te.length!==re.length)return!1;for(var E=!0,z=0;z<te.length&&(E=f5(b[te[z]],x[te[z]]),!!E);z++);return E}return!1},WF=f5,WJ=function(b,x,E){return isFunction(E)?!!E(b,x):isEqual(b,x)},UJ=function(b,x,E){for(var z=0,te=isString(x)?x.split("."):x;b&&z<te.length;)b=b[te[z++]];return b===void 0||z<te.length?E:b},GJ=function(b,x,E){var z=b,te=isString(x)?x.split("."):x;return te.forEach(function(re,oe){oe<te.length-1?(isObject(z[re])||(z[re]=isNumber(te[oe+1])?[]:{}),z=z[re]):z[re]=E}),b},UF=Object.prototype.hasOwnProperty,HJ=function(b,x){if(b===null||!isPlainObject(b))return{};var E={};return each(x,function(z){UF.call(b,z)&&(E[z]=b[z])}),E},VJ=function(b,x){return reduce(b,function(E,z,te){return x.includes(te)||(E[te]=z),E},{})},FP={},KJ=function(b){return b=b||"g",FP[b]?FP[b]+=1:FP[b]=1,b+FP[b]},_P,ZJ=kF(function(b,x){x===void 0&&(x={});var E=x.fontSize,z=x.fontFamily,te=x.fontWeight,re=x.fontStyle,oe=x.fontVariant;return _P||(_P=document.createElement("canvas").getContext("2d")),_P.font=[re,oe,te,E+"px",z].join(" "),_P.measureText(c5(b)?b:"").width},function(b,x){return x===void 0&&(x={}),(0,Cn.pr)([b],NF(x)).join("")}),YJ=function(b,x,E,z){z===void 0&&(z="...");var te=16,re=measureTextWidth(z,E),oe=isString(b)?b:toString(b),le=x,he=[],ge,Ae;if(measureTextWidth(b,E)<=x)return b;for(;ge=oe.substr(0,te),Ae=measureTextWidth(ge,E),!(Ae+re>le&&Ae>le);)if(he.push(ge),le-=Ae,oe=oe.substr(te),!oe)return he.join("");for(;ge=oe.substr(0,1),Ae=measureTextWidth(ge,E),!(Ae+re>le);)if(he.push(ge),le-=Ae,oe=oe.substr(1),!oe)return he.join("");return""+he.join("")+z},XJ=function(){function b(){this.map={}}return b.prototype.has=function(x){return this.map[x]!==void 0},b.prototype.get=function(x,E){var z=this.map[x];return z===void 0?E:z},b.prototype.set=function(x,E){this.map[x]=E},b.prototype.clear=function(){this.map={}},b.prototype.delete=function(x){delete this.map[x]},b.prototype.size=function(){return Object.keys(this.map).length},b}(),QJ=null,GF=function(x,E,z){for(var te=1/0,re,oe=0;oe<E.length;oe++){var le=E[oe].id;!z[le]&&x[le]<=te&&(te=x[le],re=E[oe])}return re},HF=function(x,E,z,te){var re=x.nodes,oe=re===void 0?[]:re,le=x.edges,he=le===void 0?[]:le,ge=[],Ae={},Pe={},We={};oe.forEach(function(bt,jt){var Ut=bt.id;ge.push(Ut),Pe[Ut]=1/0,Ut===E&&(Pe[Ut]=0)});for(var Xe=oe.length,qe=function(jt){var Ut=GF(Pe,oe,Ae),Kt=Ut.id;if(Ae[Kt]=!0,Pe[Kt]===1/0)return"continue";var Qt=[];z?Qt=uF(Kt,he):Qt=RP(Kt,he),Qt.forEach(function(Vt){var vn=Vt.target,wn=Vt.source,kn=vn===Kt?wn:vn,Vn=te&&Vt[te]?Vt[te]:1;Pe[kn]>Pe[Ut.id]+Vn?(Pe[kn]=Pe[Ut.id]+Vn,We[kn]=[Ut.id]):Pe[kn]===Pe[Ut.id]+Vn&&We[kn].push(Ut.id)})},nt=0;nt<Xe;nt++)qe(nt);We[E]=[E];var at={};for(var pt in Pe)Pe[pt]!==1/0&&v3(E,pt,We,at);var mt={};for(var pt in at)mt[pt]=at[pt][0];return{length:Pe,path:mt,allPath:at}},zP=HF;function v3(b,x,E,z){if(b===x)return[b];if(z[x])return z[x];for(var te=[],re=0,oe=E[x];re<oe.length;re++){var le=oe[re],he=v3(b,le,E,z);if(!he)return;for(var ge=0,Ae=he;ge<Ae.length;ge++){var Pe=Ae[ge];u5(Pe)?te.push((0,Cn.ev)((0,Cn.ev)([],Pe,!0),[x],!1)):te.push([Pe,x])}}return z[x]=te,z[x]}var g5=function(x,E,z,te,re){var oe=zP(x,E,te,re),le=oe.length,he=oe.path,ge=oe.allPath;return{length:le[z],path:he[z],allPath:ge[z]}},VF=function(x,E,z,te){var re;if(E===z)return[[E]];var oe=x.edges,le=oe===void 0?[]:oe,he=[E],ge=(re={},re[E]=!0,re),Ae=[],Pe=[],We=te?mv(E,le,"target"):mv(E,le);for(Ae.push(We);he.length>0&&Ae.length>0;){var Xe=Ae[Ae.length-1];if(Xe.length){var qe=Xe.shift();qe&&(he.push(qe),ge[qe]=!0,We=te?mv(qe,le,"target"):mv(qe,le),Ae.push(We.filter(function(pt){return!ge[pt]})))}else{var nt=he.pop();ge[nt]=!1,Ae.pop();continue}if(he[he.length-1]===z){var at=he.map(function(mt){return mt});Pe.push(at);var nt=he.pop();ge[nt]=!1,Ae.pop()}}return Pe},KF=function(x,E){for(var z=BP(x,E),te=[],re=z.length,oe=0;oe<re;oe+=1){te[oe]=[];for(var le=0;le<re;le+=1)oe===le?te[oe][le]=0:z[oe][le]===0||!z[oe][le]?te[oe][le]=1/0:te[oe][le]=z[oe][le]}for(var he=0;he<re;he+=1)for(var oe=0;oe<re;oe+=1)for(var le=0;le<re;le+=1)te[oe][le]>te[oe][he]+te[he][le]&&(te[oe][le]=te[oe][he]+te[he][le]);return te},p5=KF,ZF=function(x,E,z,te){E===void 0&&(E=!1),z===void 0&&(z="weight"),te===void 0&&(te=1e3);var re=x.nodes,oe=re===void 0?[]:re,le=x.edges,he=le===void 0?[]:le,ge={},Ae={};oe.forEach(function(jt,Ut){var Kt=n3();jt.clusterId=Kt,ge[Kt]={id:Kt,nodes:[jt]},Ae[jt.id]={node:jt,idx:Ut}});var Pe=BP(x,E),We=[],Xe={};Pe.forEach(function(jt,Ut){var Kt=0,Qt=oe[Ut].id;Xe[Qt]={},jt.forEach(function(Vt,vn){if(Vt){Kt+=Vt;var wn=oe[vn].id;Xe[Qt][wn]=Vt}}),We.push(Kt)});for(var qe=0,nt=function(){var Ut=!1;if(oe.forEach(function(Kt){var Qt={};Object.keys(Xe[Kt.id]).forEach(function(Or){var qr=Xe[Kt.id][Or],wr=Ae[Or].node,Sr=wr.clusterId;Qt[Sr]||(Qt[Sr]=0),Qt[Sr]+=qr});var Vt=-1/0,vn=[];if(Object.keys(Qt).forEach(function(Or){Vt<Qt[Or]?(Vt=Qt[Or],vn=[Or]):Vt===Qt[Or]&&vn.push(Or)}),!(vn.length===1&&vn[0]===Kt.clusterId)){var wn=vn.indexOf(Kt.clusterId);if(wn>=0&&vn.splice(wn,1),vn&&vn.length){Ut=!0;var kn=ge[Kt.clusterId],Vn=kn.nodes.indexOf(Kt);kn.nodes.splice(Vn,1);var vr=Math.floor(Math.random()*vn.length),or=ge[vn[vr]];or.nodes.push(Kt),Kt.clusterId=or.id}}}),!Ut)return"break";qe++};qe<te;){var at=nt();if(at==="break")break}Object.keys(ge).forEach(function(jt){var Ut=ge[jt];(!Ut.nodes||!Ut.nodes.length)&&delete ge[jt]});var pt=[],mt={};he.forEach(function(jt){var Ut=jt.source,Kt=jt.target,Qt=jt[z]||1,Vt=Ae[Ut].node.clusterId,vn=Ae[Kt].node.clusterId,wn="".concat(Vt,"---").concat(vn);if(mt[wn])mt[wn].weight+=Qt,mt[wn].count++;else{var kn={source:Vt,target:vn,weight:Qt,count:1};mt[wn]=kn,pt.push(kn)}});var bt=[];return Object.keys(ge).forEach(function(jt){bt.push(ge[jt])}),{clusters:bt,clusterEdges:pt}},YF=ZF,XF=function(){function b(x){this.arr=x}return b.prototype.getArr=function(){return this.arr||[]},b.prototype.add=function(x){var E,z=x.arr;if(!(!((E=this.arr)===null||E===void 0)&&E.length))return new b(z);if(!(z!=null&&z.length))return new b(this.arr);if(this.arr.length===z.length){var te=[];for(var re in this.arr)te[re]=this.arr[re]+z[re];return new b(te)}},b.prototype.subtract=function(x){var E,z=x.arr;if(!(!((E=this.arr)===null||E===void 0)&&E.length))return new b(z);if(!(z!=null&&z.length))return new b(this.arr);if(this.arr.length===z.length){var te=[];for(var re in this.arr)te[re]=this.arr[re]-z[re];return new b(te)}},b.prototype.avg=function(x){var E=[];if(x!==0)for(var z in this.arr)E[z]=this.arr[z]/x;return new b(E)},b.prototype.negate=function(){var x=[];for(var E in this.arr)x[E]=-this.arr[E];return new b(x)},b.prototype.squareEuclideanDistance=function(x){var E,z=x.arr;if(!(!((E=this.arr)===null||E===void 0)&&E.length)||!(z!=null&&z.length))return 0;if(this.arr.length===z.length){var te=0;for(var re in this.arr)te+=Math.pow(this.arr[re]-x.arr[re],2);return te}},b.prototype.euclideanDistance=function(x){var E,z=x.arr;if(!(!((E=this.arr)===null||E===void 0)&&E.length)||!(z!=null&&z.length))return 0;if(this.arr.length===z.length){var te=0;for(var re in this.arr)te+=Math.pow(this.arr[re]-x.arr[re],2);return Math.sqrt(te)}else console.error("The two vectors are unequal in length.")},b.prototype.normalize=function(){var x=[],E=UC(this.arr);E.sort(function(oe,le){return oe-le});var z=E[E.length-1],te=E[0];for(var re in this.arr)x[re]=(this.arr[re]-te)/(z-te);return new b(x)},b.prototype.norm2=function(){var x;if(!(!((x=this.arr)===null||x===void 0)&&x.length))return 0;var E=0;for(var z in this.arr)E+=Math.pow(this.arr[z],2);return Math.sqrt(E)},b.prototype.dot=function(x){var E,z=x.arr;if(!(!((E=this.arr)===null||E===void 0)&&E.length)||!(z!=null&&z.length))return 0;if(this.arr.length===z.length){var te=0;for(var re in this.arr)te+=this.arr[re]*x.arr[re];return te}else console.error("The two vectors are unequal in length.")},b.prototype.equal=function(x){var E,z=x.arr;if(((E=this.arr)===null||E===void 0?void 0:E.length)!==(z==null?void 0:z.length))return!1;for(var te in this.arr)if(this.arr[te]!==z[te])return!1;return!0},b}(),yv=XF,QF=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/,JF=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/,m3=function(x,E){x===void 0&&(x=[]),E===void 0&&(E=100);var z={};x.forEach(function(re){re.properties&&Object.keys(re.properties).forEach(function(oe){if(oe==="id"||!"".concat(re.properties[oe]).match(QF)&&!"".concat(re.properties[oe]).match(JF)&&isNaN(Number(re.properties[oe]))){z.hasOwnProperty(oe)&&delete z[oe];return}z.hasOwnProperty(oe)?z[oe]+=1:z[oe]=1})});var te=Object.keys(z).sort(function(re,oe){return z[oe]-z[re]});return te.length<E?te:te.slice(0,E)},qF=function(x,E){return E.map(function(z){return x.hasOwnProperty(z)?x[z]:0})},$F=function(x){for(var E=m3(x),z=[],te=0;te<x.length;te++)z[te]=qF(x[te].properties,E);return z},jP=function(x,E){E===void 0&&(E=void 0);var z=[];return x.forEach(function(te){E===void 0&&z.push(te),te[E]!==void 0&&z.push(te[E])}),z},JJ={getAllSortProperties:m3,getPropertyWeight:$F,getAllProperties:jP},$v;(function(b){b.EuclideanDistance="euclideanDistance"})($v||($v={}));var y3=function(x,E,z){var te=[];E!=null&&E.length?te=E:(x.forEach(function(oe){te=te.concat(Object.keys(oe))}),te=h5(te));var re={};return te.forEach(function(oe){var le=[];x.forEach(function(he){he[oe]!==void 0&&he[oe]!==""&&le.push(he[oe])}),le.length&&!(z!=null&&z.includes(oe))&&(re[oe]=h5(le))}),re},WP=function(x,E,z){var te=y3(x,E,z),re=[];if(!Object.keys(te).length)return re;var oe=Object.values(te),le=oe.every(function(he){return he.every(function(ge){return typeof ge=="number"})});return x.forEach(function(he,ge){var Ae=[];Object.keys(te).forEach(function(Pe){var We=he[Pe],Xe=te[Pe],qe=Xe.findIndex(function(pt){return We===pt}),nt=[];if(le)nt.push(We);else for(var at=0;at<Xe.length;at++)at===qe?nt.push(1):nt.push(0);Ae=Ae.concat(nt)}),re[ge]=Ae}),re},v5=function(x,E,z,te){z===void 0&&(z=$v.EuclideanDistance);var re=0;switch(z){case $v.EuclideanDistance:re=new yv(x).euclideanDistance(new yv(E));break;default:break}return re},qJ={getAllKeyValueMap:y3,oneHot:WP,getDistance:v5},x3=function(x,E,z,te){for(var re=E.length,oe=2*te,le=0,he=0;he<re;he++)for(var ge=x[he].clusterId,Ae=0;Ae<re;Ae++){var Pe=x[Ae].clusterId;if(ge===Pe){var We=E[he][Ae]||0,Xe=z[he]||0,qe=z[Ae]||0;le+=We-Xe*qe/oe}}return le*=1/oe,le},m5=function(x,E){x===void 0&&(x=[]);for(var z=x.length,te=new yv([]),re=0;re<z;re++)te=te.add(new yv(E[re]));var oe=te.avg(z);oe.normalize();for(var le=0,re=0;re<z;re++){var he=new yv(E[re]),ge=he.squareEuclideanDistance(oe);le+=ge}var Ae=[];x.forEach(function(){Ae.push([])});for(var re=0;re<z;re++){var he=new yv(E[re]);x[re].clusterInertial=0;for(var Pe=0;Pe<z;Pe++){if(re===Pe){Ae[re][Pe]=0;continue}var We=new yv(E[Pe]);Ae[re][Pe]=he.squareEuclideanDistance(We),x[re].clusterInertial+=Ae[re][Pe]}}for(var Xe=0,qe=2*z*le,re=0;re<z;re++)for(var nt=x[re].clusterId,Pe=0;Pe<z;Pe++){var at=x[Pe].clusterId;if(!(re===Pe||nt!==at)){var pt=x[re].clusterInertial*x[Pe].clusterInertial/Math.pow(qe,2)-Ae[re][Pe]/qe;Xe+=pt}}return Number(Xe.toFixed(4))},e_=function(x,E,z,te,re,oe,le,he,ge){E===void 0&&(E=!1),z===void 0&&(z="weight"),te===void 0&&(te=1e-4),re===void 0&&(re=!1),oe===void 0&&(oe=void 0),le===void 0&&(le=[]),he===void 0&&(he=["id"]),ge===void 0&&(ge=1);var Ae=x.nodes,Pe=Ae===void 0?[]:Ae,We=x.edges,Xe=We===void 0?[]:We,qe=[];if(re){Pe.forEach(function(Tr,ri){Tr.properties=Tr.properties||{},Tr.originIndex=ri});var nt=[];Pe.every(function(Tr){return Tr.hasOwnProperty("nodeType")})&&(nt=Array.from(new Set(Pe.map(function(Tr){return Tr.nodeType}))),Pe.forEach(function(Tr){Tr.properties.nodeType=nt.findIndex(function(ri){return ri===Tr.nodeType})}));var at=jP(Pe,oe);qe=WP(at,le,he)}var pt=1,mt={},bt={};Pe.forEach(function(Tr,ri){var Cr=String(pt++);Tr.clusterId=Cr,mt[Cr]={id:Cr,nodes:[Tr]},bt[Tr.id]={node:Tr,idx:ri}});var jt=BP(x,E),Ut=[],Kt={},Qt=0;jt.forEach(function(Tr,ri){var Cr=0,yi=Pe[ri].id;Kt[yi]={},Tr.forEach(function(Co,wo){if(Co){Cr+=Co;var vi=Pe[wo].id;Kt[yi][vi]=Co,Qt+=Co}}),Ut.push(Cr)}),Qt/=2;for(var Vt=1/0,vn=1/0,wn=0,kn=[],Vn={};;){re&&Pe.every(function(Tr){return Tr.hasOwnProperty("properties")})?Vt=x3(Pe,jt,Ut,Qt)+m5(Pe,qe)*ge:Vt=x3(Pe,jt,Ut,Qt),wn===0&&(vn=Vt,kn=Pe,Vn=mt);var vr=Vt>0&&Vt>vn&&Vt-vn<te;if(Vt>vn&&(kn=Pe.map(function(Tr){return{node:Tr,clusterId:Tr.clusterId}}),Vn=UC(mt),vn=Vt),vr||wn>100)break;wn++,Object.keys(mt).forEach(function(Tr){var ri=0;Xe.forEach(function(Cr){var yi=Cr.source,Co=Cr.target,wo=bt[yi].node.clusterId,vi=bt[Co].node.clusterId;(wo===Tr&&vi!==Tr||vi===Tr&&wo!==Tr)&&(ri=ri+(Cr[z]||1))}),mt[Tr].sumTot=ri}),Pe.forEach(function(Tr,ri){var Cr=mt[Tr.clusterId],yi=0,Co,wo=Ut[ri]/(2*Qt),vi=0,Mi=Cr.nodes;Mi.forEach(function(el){var ms=bt[el.id].idx;vi+=jt[ri][ms]||0});var $i=vi-Cr.sumTot*wo,Lo=Mi.filter(function(el){return el.id!==Tr.id}),Jo=[];Lo.forEach(function(el,ms){Jo[ms]=qe[el.originIndex]});var Ta=m5(Lo,qe)*ge,Bs=Kt[Tr.id];if(Object.keys(Bs).forEach(function(el){var ms=bt[el].node,ru=ms.clusterId;if(ru!==Tr.clusterId){var Ql=mt[ru],Ra=Ql.nodes;if(!(!Ra||!Ra.length)){var ws=0;Ra.forEach(function(vl){var Js=bt[vl.id].idx;ws+=jt[ri][Js]||0});var $o=ws-Ql.sumTot*wo,va=Ra.concat([Tr]),Fa=[];va.forEach(function(vl,Js){Fa[Js]=qe[vl.originIndex]});var Xs=m5(va,qe)*ge,ua=$o-$i;re&&(ua=$o+Xs-($i+Ta)),ua>yi&&(yi=ua,Co=Ql)}}}),yi>0){Co.nodes.push(Tr);var js=Tr.clusterId;Tr.clusterId=Co.id;var Sa=Cr.nodes.indexOf(Tr);Cr.nodes.splice(Sa,1);var Is=0,Ss=0;Xe.forEach(function(el){var ms=el.source,ru=el.target,Ql=bt[ms].node.clusterId,Ra=bt[ru].node.clusterId;(Ql===Co.id&&Ra!==Co.id||Ra===Co.id&&Ql!==Co.id)&&(Is=Is+(el[z]||1)),(Ql===js&&Ra!==js||Ra===js&&Ql!==js)&&(Ss=Ss+(el[z]||1))}),Co.sumTot=Is,Cr.sumTot=Ss}})}var or={},Or=0;Object.keys(Vn).forEach(function(Tr){var ri=Vn[Tr];if(!ri.nodes||!ri.nodes.length){delete Vn[Tr];return}var Cr=String(Or+1);Cr!==Tr&&(ri.id=Cr,ri.nodes=ri.nodes.map(function(yi){return{id:yi.id,clusterId:Cr}}),Vn[Cr]=ri,or[Tr]=Cr,delete Vn[Tr],Or++)}),kn.forEach(function(Tr){var ri=Tr.node,Cr=Tr.clusterId;ri&&(ri.clusterId=Cr,ri.clusterId&&or[ri.clusterId]&&(ri.clusterId=or[ri.clusterId]))});var qr=[],wr={};Xe.forEach(function(Tr){var ri=Tr.source,Cr=Tr.target,yi=Tr[z]||1,Co=bt[ri].node.clusterId,wo=bt[Cr].node.clusterId;if(!(!Co||!wo)){var vi="".concat(Co,"---").concat(wo);if(wr[vi])wr[vi].weight+=yi,wr[vi].count++;else{var Mi={source:Co,target:wo,weight:yi,count:1};wr[vi]=Mi,qr.push(Mi)}}});var Sr=[];return Object.keys(Vn).forEach(function(Tr){Sr.push(Vn[Tr])}),{clusters:Sr,clusterEdges:qr}},E3=e_,t_=function(x,E,z,te,re,oe,le,he){return E===void 0&&(E=!1),z===void 0&&(z="weight"),te===void 0&&(te=1e-4),re===void 0&&(re=void 0),oe===void 0&&(oe=[]),le===void 0&&(le=["id"]),he===void 0&&(he=1),E3(x,E,z,te,!0,re,oe,le,he)},n_=t_,r_=function(x,E){var z;E===void 0&&(E=1);for(var te=UC(x),re=te.nodes,oe=re===void 0?[]:re,le=te.edges,he=le===void 0?[]:le,ge=function(){var We=s5({nodes:oe,edges:he}),Xe=Object.keys(We);Xe.sort(function(at,pt){var mt,bt;return((mt=We[at])===null||mt===void 0?void 0:mt.degree)-((bt=We[pt])===null||bt===void 0?void 0:bt.degree)});var qe=Xe[0];if(!oe.length||((z=We[qe])===null||z===void 0?void 0:z.degree)>=E)return"break";var nt=oe.findIndex(function(at){return at.id===qe});oe.splice(nt,1),he=he.filter(function(at){return!(at.source===qe||at.target===qe)})};;){var Ae=ge();if(Ae==="break")break}return{nodes:oe,edges:he}},i_=r_,A3=function(x,E,z){var te=[];switch(x){case $v.EuclideanDistance:te=E[z];break;default:te=[];break}return te},o_=function(x,E,z,te,re,oe){E===void 0&&(E=3),z===void 0&&(z=void 0),te===void 0&&(te=[]),re===void 0&&(re=["id"]),oe===void 0&&(oe=$v.EuclideanDistance);var le=x.nodes,he=le===void 0?[]:le,ge=x.edges,Ae=ge===void 0?[]:ge,Pe={clusters:[{id:"0",nodes:he}],clusterEdges:[]};if(oe===$v.EuclideanDistance&&!he.every(function(Cr){return Cr.hasOwnProperty(z)}))return Pe;var We=[],Xe=[];if(oe===$v.EuclideanDistance&&(We=jP(he,z),Xe=WP(We,te,re)),!Xe.length)return Pe;for(var qe=h5(Xe.map(function(Cr){return Cr.join("")})),nt=Math.min(E,he.length,qe.length),at=0;at<he.length;at++)he[at].originIndex=at;for(var pt=[],mt=[],bt=[],at=0;at<nt;at++)if(at===0){var jt=Math.floor(Math.random()*he.length);switch(oe){case $v.EuclideanDistance:pt[at]=Xe[jt];break;default:pt[at]=[];break}mt.push(jt),bt[at]=[he[jt]],he[jt].clusterId=String(at)}else{for(var Ut=-1/0,Kt=0,Qt=function(Co){if(!mt.includes(Co)){for(var wo=0,vi=0;vi<pt.length;vi++){var Mi=0;switch(oe){case $v.EuclideanDistance:Mi=v5(Xe[he[Co].originIndex],pt[vi],oe);break;default:break}wo+=Mi}var $i=wo/pt.length;$i>Ut&&!pt.find(function(Lo){return WF(Lo,A3(oe,Xe,he[Co].originIndex))})&&(Ut=$i,Kt=Co)}},Vt=0;Vt<he.length;Vt++)Qt(Vt);pt[at]=A3(oe,Xe,Kt),mt.push(Kt),bt[at]=[he[Kt]],he[Kt].clusterId=String(at)}for(var vn=0;;){for(var at=0;at<he.length;at++){var wn=0,kn=1/0;if(!(vn===0&&mt.includes(at))){for(var Vn=0;Vn<pt.length;Vn++){var vr=0;switch(oe){case $v.EuclideanDistance:vr=v5(Xe[at],pt[Vn],oe);break;default:break}vr<kn&&(kn=vr,wn=Vn)}if(he[at].clusterId!==void 0)for(var or=bt[Number(he[at].clusterId)].length-1;or>=0;or--)bt[Number(he[at].clusterId)][or].id===he[at].id&&bt[Number(he[at].clusterId)].splice(or,1);he[at].clusterId=String(wn),bt[wn].push(he[at])}}for(var Or=!1,at=0;at<bt.length;at++){for(var qr=bt[at],wr=new yv([]),Vn=0;Vn<qr.length;Vn++)wr=wr.add(new yv(Xe[qr[Vn].originIndex]));var Sr=wr.avg(qr.length);Sr.equal(new yv(pt[at]))||(Or=!0,pt[at]=Sr.getArr())}if(vn++,he.every(function(Cr){return Cr.clusterId!==void 0})&&Or||vn>=1e3)break}var Tr=[],ri={};return Ae.forEach(function(Cr){var yi,Co,wo=Cr.source,vi=Cr.target,Mi=(yi=he.find(function(Ta){return Ta.id===wo}))===null||yi===void 0?void 0:yi.clusterId,$i=(Co=he.find(function(Ta){return Ta.id===vi}))===null||Co===void 0?void 0:Co.clusterId,Lo="".concat(Mi,"---").concat($i);if(ri[Lo])ri[Lo].count++;else{var Jo={source:Mi,target:$i,count:1};ri[Lo]=Jo,Tr.push(Jo)}}),{clusters:bt,clusterEdges:Tr}},a_=o_,s_=function(x,E){var z=new yv(E),te=z.norm2(),re=new yv(x),oe=re.norm2(),le=z.dot(re),he=te*oe,ge=he?le/he:0;return ge},S3=s_,l_=function(x,E,z,te,re){x===void 0&&(x=[]),z===void 0&&(z=void 0),te===void 0&&(te=[]),re===void 0&&(re=[]);var oe=UC(x.filter(function(We){return We.id!==E.id})),le=x.findIndex(function(We){return We.id===E.id}),he=jP(x,z),ge=WP(he,te,re),Ae=ge[le],Pe=[];return oe.forEach(function(We,Xe){if(We.id!==E.id){var qe=ge[Xe],nt=S3(qe,Ae);Pe.push(nt),We.cosineSimilarity=nt}}),oe.sort(function(We,Xe){return Xe.cosineSimilarity-We.cosineSimilarity}),{allCosineSimilarity:Pe,similarNodes:oe}},u_=l_,c_=function(){function b(x){this.count=x.length,this.parent={};for(var E=0,z=x;E<z.length;E++){var te=z[E];this.parent[te]=te}}return b.prototype.find=function(x){for(;this.parent[x]!==x;)x=this.parent[x];return x},b.prototype.union=function(x,E){var z=this.find(x),te=this.find(E);z!==te&&(z<te?(this.parent[E]!==E&&this.union(this.parent[E],x),this.parent[E]=this.parent[x]):(this.parent[x]!==x&&this.union(this.parent[x],E),this.parent[x]=this.parent[E]))},b.prototype.connected=function(x,E){return this.find(x)===this.find(E)},b}(),h_=c_,d_=function(x,E){return x-E},f_=function(){function b(x){x===void 0&&(x=d_),this.compareFn=x,this.list=[]}return b.prototype.getLeft=function(x){return 2*x+1},b.prototype.getRight=function(x){return 2*x+2},b.prototype.getParent=function(x){return x===0?null:Math.floor((x-1)/2)},b.prototype.isEmpty=function(){return this.list.length<=0},b.prototype.top=function(){return this.isEmpty()?void 0:this.list[0]},b.prototype.delMin=function(){var x=this.top(),E=this.list.pop();return this.list.length>0&&(this.list[0]=E,this.moveDown(0)),x},b.prototype.insert=function(x){if(x!==null){this.list.push(x);var E=this.list.length-1;return this.moveUp(E),!0}return!1},b.prototype.moveUp=function(x){for(var E=this.getParent(x);x&&x>0&&this.compareFn(this.list[E],this.list[x])>0;){var z=this.list[E];this.list[E]=this.list[x],this.list[x]=z,x=E,E=this.getParent(x)}},b.prototype.moveDown=function(x){var E,z=x,te=this.getLeft(x),re=this.getRight(x),oe=this.list.length;te!==null&&te<oe&&this.compareFn(this.list[z],this.list[te])>0?z=te:re!==null&&re<oe&&this.compareFn(this.list[z],this.list[re])>0&&(z=re),x!==z&&(E=[this.list[z],this.list[x]],this.list[x]=E[0],this.list[z]=E[1],this.moveDown(z))},b}(),g_=f_,p_=function(x,E){var z=[],te=x.nodes,re=te===void 0?[]:te,oe=x.edges,le=oe===void 0?[]:oe;if(re.length===0)return z;var he=re[0],ge=new Set;ge.add(he);var Ae=function(at,pt){return E?at.weight-pt.weight:0},Pe=new g_(Ae);for(RP(he.id,le).forEach(function(nt){Pe.insert(nt)});!Pe.isEmpty();){var We=Pe.delMin(),Xe=We.source,qe=We.target;ge.has(Xe)&&ge.has(qe)||(z.push(We),ge.has(Xe)||(ge.add(Xe),RP(Xe,le).forEach(function(nt){Pe.insert(nt)})),ge.has(qe)||(ge.add(qe),RP(qe,le).forEach(function(nt){Pe.insert(nt)})))}return z},w3=function(x,E){var z=[],te=x.nodes,re=te===void 0?[]:te,oe=x.edges,le=oe===void 0?[]:oe;if(re.length===0)return z;var he=le.map(function(Xe){return Xe});E&&he.sort(function(Xe,qe){return Xe.weight-qe.weight});for(var ge=new h_(re.map(function(Xe){return Xe.id}));he.length>0;){var Ae=he.shift(),Pe=Ae.source,We=Ae.target;ge.connected(Pe,We)||(z.push(Ae),ge.union(Pe,We))}return z},v_=function(x,E,z){var te={prim:p_,kruskal:w3};return z?te[z](x,E):w3(x,E)},m_=v_,y_=function(x,E,z){typeof E!="number"&&(E=1e-6),typeof z!="number"&&(z=.85);for(var te=1,re=0,oe=1e3,le=x.nodes,he=le===void 0?[]:le,ge=x.edges,Ae=ge===void 0?[]:ge,Pe=he.length,We,Xe={},qe={},nt=0;nt<Pe;++nt){var at=he[nt],pt=at.id;Xe[pt]=1/Pe,qe[pt]=1/Pe}for(var mt=s5(x);oe>0&&te>E;){re=0;for(var nt=0;nt<Pe;++nt){var at=he[nt],pt=at.id;if(We=0,mt[at.id].inDegree===0)Xe[pt]=0;else{for(var bt=mv(pt,Ae,"source"),jt=0;jt<bt.length;++jt){var Ut=bt[jt],Kt=mt[Ut].outDegree;Kt>0&&(We+=qe[Ut]/Kt)}Xe[pt]=z*We,re+=Xe[pt]}}re=(1-re)/Pe,te=0;for(var nt=0;nt<Pe;++nt){var at=he[nt],pt=at.id;We=Xe[pt]+re,te+=Math.abs(We-qe[pt]),qe[pt]=We}oe-=1}return qe},C3=y_,x_=-1,UP=-1,b3="-1",Qm="-1",P3=-1,$J="-1",M3=function(){function b(x,E,z,te){x===void 0&&(x=x_),E===void 0&&(E=UP),z===void 0&&(z=UP),te===void 0&&(te=b3),this.id=x,this.from=E,this.to=z,this.label=te}return b}(),E_=function(){function b(x,E){x===void 0&&(x=UP),E===void 0&&(E=Qm),this.id=x,this.label=E,this.edges=[],this.edgeMap={}}return b.prototype.addEdge=function(x){this.edges.push(x),this.edgeMap[x.id]=x},b}(),L3=function(){function b(x,E,z){x===void 0&&(x=UP),E===void 0&&(E=!0),z===void 0&&(z=!1),this.id=x,this.edgeIdAutoIncrease=E,this.edges=[],this.nodes=[],this.nodeMap={},this.edgeMap={},this.nodeLabelMap={},this.edgeLabelMap={},this.counter=0,this.directed=z}return b.prototype.getNodeNum=function(){return this.nodes.length},b.prototype.addNode=function(x,E){if(!this.nodeMap[x]){var z=new E_(x,E);this.nodes.push(z),this.nodeMap[x]=z,this.nodeLabelMap[E]||(this.nodeLabelMap[E]=[]),this.nodeLabelMap[E].push(x)}},b.prototype.addEdge=function(x,E,z,te){if((this.edgeIdAutoIncrease||x===void 0)&&(x=this.counter++),!(this.nodeMap[E]&&this.nodeMap[z]&&this.nodeMap[z].edgeMap[x])){var re=new M3(x,E,z,te);if(this.edges.push(re),this.edgeMap[x]=re,this.nodeMap[E].addEdge(re),this.edgeLabelMap[te]||(this.edgeLabelMap[te]=[]),this.edgeLabelMap[te].push(re),!this.directed){var oe=new M3(x,z,E,te);this.nodeMap[z].addEdge(oe),this.edgeLabelMap[te].push(oe)}}},b}(),NE=function(){function b(x,E,z,te,re){this.fromNode=x,this.toNode=E,this.nodeEdgeNodeLabel={nodeLabel1:z||Qm,edgeLabel:te||b3,nodeLabel2:re||Qm}}return b.prototype.equalTo=function(x){return this.fromNode===x.formNode&&this.toNode===x.toNode&&this.nodeEdgeNodeLabel===x.nodeEdgeNodeLabel},b.prototype.notEqualTo=function(x){return!this.equalTo(x)},b}(),T3=function(){function b(){this.rmpath=[],this.dfsEdgeList=[]}return b.prototype.equalTo=function(x){var E=this.dfsEdgeList.length,z=x.length;if(E!==z)return!1;for(var te=0;te<E;te++)if(this.dfsEdgeList[te]!==x[te])return!1;return!0},b.prototype.notEqualTo=function(x){return!this.equalTo(x)},b.prototype.pushBack=function(x,E,z,te,re){return this.dfsEdgeList.push(new NE(x,E,z,te,re)),this.dfsEdgeList},b.prototype.toGraph=function(x,E){x===void 0&&(x=P3),E===void 0&&(E=!1);var z=new L3(x,!0,E);return this.dfsEdgeList.forEach(function(te){var re=te.fromNode,oe=te.toNode,le=te.nodeEdgeNodeLabel,he=le.nodeLabel1,ge=le.edgeLabel,Ae=le.nodeLabel2;he!==Qm&&z.addNode(re,he),Ae!==Qm&&z.addNode(oe,Ae),he!==Qm&&Ae!==he&&z.addEdge(void 0,re,oe,ge)}),z},b.prototype.buildRmpath=function(){this.rmpath=[];for(var x=void 0,E=this.dfsEdgeList.length,z=E-1;z>=0;z--){var te=this.dfsEdgeList[z],re=te.fromNode,oe=te.toNode;re<oe&&(x===void 0||oe===x)&&(this.rmpath.push(z),x=re)}return this.rmpath},b.prototype.getNodeNum=function(){var x={};return this.dfsEdgeList.forEach(function(E){x[E.fromNode]||(x[E.fromNode]=!0),x[E.toNode]||(x[E.toNode]=!0)}),Object.keys(x).length},b}(),GP=function(){function b(x){if(this.his={},this.nodesUsed={},this.edgesUsed={},this.edges=[],!!x){for(;x;){var E=x.edge;this.edges.push(E),this.nodesUsed[E.from]=1,this.nodesUsed[E.to]=1,this.edgesUsed[E.id]=1,x=x.preNode}this.edges=this.edges.reverse()}}return b.prototype.hasNode=function(x){return this.nodesUsed[x.id]===1},b.prototype.hasEdge=function(x){return this.edgesUsed[x.id]===1},b}(),A_=function(){function b(x){var E=x.graphs,z=x.minSupport,te=z===void 0?2:z,re=x.minNodeNum,oe=re===void 0?1:re,le=x.maxNodeNum,he=le===void 0?4:le,ge=x.top,Ae=ge===void 0?10:ge,Pe=x.directed,We=Pe===void 0?!1:Pe,Xe=x.verbose,qe=Xe===void 0?!1:Xe;this.graphs=E,this.dfsCode=new T3,this.support=0,this.frequentSize1Subgraphs=[],this.frequentSubgraphs=[],this.minSupport=te,this.top=Ae,this.directed=We,this.counter=0,this.maxNodeNum=he,this.minNodeNum=oe,this.verbose=qe,this.maxNodeNum<this.minNodeNum&&(this.maxNodeNum=this.minNodeNum),this.reportDF=[]}return b.prototype.findForwardRootEdges=function(x,E){var z=this,te=[],re=x.nodeMap;return E.edges.forEach(function(oe){(z.directed||E.label<=re[oe.to].label)&&te.push(oe)}),te},b.prototype.findBackwardEdge=function(x,E,z,te){if(!this.directed&&E===z)return null;for(var re=x.nodeMap,oe=re[z.to],le=oe.edges,he=le.length,ge=0;ge<he;ge++){var Ae=le[ge];if(!(te.hasEdge(Ae)||Ae.to!==E.from)){if(this.directed){if(re[E.from].label<re[z.to].label||re[E.from].label===re[z.to].label&&E.label<=Ae.label)return Ae}else if(E.label<Ae.label||E.label===Ae.label&&re[E.to].label<=re[z.to].label)return Ae}}return null},b.prototype.findForwardPureEdges=function(x,E,z,te){for(var re=[],oe=E.to,le=x.nodeMap[oe].edges,he=le.length,ge=0;ge<he;ge++){var Ae=le[ge],Pe=x.nodeMap[Ae.to];z<=Pe.label&&!te.hasNode(Pe)&&re.push(Ae)}return re},b.prototype.findForwardRmpathEdges=function(x,E,z,te){for(var re=[],oe=x.nodeMap,le=oe[E.to].label,he=oe[E.from],ge=he.edges,Ae=ge.length,Pe=0;Pe<Ae;Pe++){var We=ge[Pe],Xe=oe[We.to].label;E.to===We.to||z>Xe||te.hasNode(oe[We.to])||(E.label<We.label||E.label===We.label&&le<=Xe)&&re.push(We)}return re},b.prototype.getSupport=function(x){var E={};return x.forEach(function(z){E[z.graphId]||(E[z.graphId]=!0)}),Object.keys(E).length},b.prototype.findMinLabel=function(x){var E=void 0;return Object.keys(x).forEach(function(z){var te=x[z],re=te.nodeLabel1,oe=te.edgeLabel,le=te.nodeLabel2;if(!E){E={nodeLabel1:re,edgeLabel:oe,nodeLabel2:le};return}(re<E.nodeLabel1||re===E.nodeLabel1&&oe<E.edgeLabel||re===E.nodeLabel1&&oe===E.edgeLabel&&le<E.nodeLabel2)&&(E={nodeLabel1:re,edgeLabel:oe,nodeLabel2:le})}),E},b.prototype.isMin=function(){var x=this,E=this.dfsCode;if(this.verbose&&console.log("isMin checking",E),E.dfsEdgeList.length===1)return!0;var z=this.directed,te=E.toGraph(P3,z),re=te.nodeMap,oe=new T3,le={};te.nodes.forEach(function(Pe){var We=x.findForwardRootEdges(te,Pe);We.forEach(function(Xe){var qe=re[Xe.to],nt="".concat(Pe.label,"-").concat(Xe.label,"-").concat(qe.label);le[nt]||(le[nt]={projected:[],nodeLabel1:Pe.label,edgeLabel:Xe.label,nodeLabel2:qe.label});var at={graphId:te.id,edge:Xe,preNode:null};le[nt].projected.push(at)})});var he=this.findMinLabel(le);if(he){oe.dfsEdgeList.push(new NE(0,1,he.nodeLabel1,he.edgeLabel,he.nodeLabel2));var ge=function Pe(We){for(var Xe=oe.buildRmpath(),qe=oe.dfsEdgeList[0].nodeEdgeNodeLabel.nodeLabel1,nt=oe.dfsEdgeList[Xe[0]].toNode,at={},pt=!1,mt=0,bt=z?-1:0,jt=function(wr){if(pt)return"break";We.forEach(function(Sr){var Tr=new GP(Sr),ri=x.findBackwardEdge(te,Tr.edges[Xe[wr]],Tr.edges[Xe[0]],Tr);ri&&(at[ri.label]||(at[ri.label]={projected:[],edgeLabel:ri.label}),at[ri.label].projected.push({graphId:te.id,edge:at,preNode:Sr}),mt=oe.dfsEdgeList[Xe[wr]].fromNode,pt=!0)})},Ut=Xe.length-1;Ut>bt;Ut--){var Kt=jt(Ut);if(Kt==="break")break}if(pt){var Qt=x.findMinLabel(at);oe.dfsEdgeList.push(new NE(nt,mt,Qm,Qt.edgeLabel,Qm));var Vt=oe.dfsEdgeList.length-1;return x.dfsCode.dfsEdgeList[Vt]!==oe.dfsEdgeList[Vt]?!1:Pe(at[Qt.edgeLabel].projected)}var vn={};pt=!1;var wn=0;We.forEach(function(qr){var wr=new GP(qr),Sr=x.findForwardPureEdges(te,wr.edges[Xe[0]],qe,wr);Sr.length>0&&(pt=!0,wn=nt,Sr.forEach(function(Tr){var ri="".concat(Tr.label,"-").concat(re[Tr.to].label);vn[ri]||(vn[ri]={projected:[],edgeLabel:Tr.label,nodeLabel2:re[Tr.to].label}),vn[ri].projected.push({graphId:te.id,edge:Tr,preNode:qr})}))});for(var kn=Xe.length,Vn=function(wr){if(pt)return"break";var Sr=Xe[wr];We.forEach(function(Tr){var ri=new GP(Tr),Cr=x.findForwardRmpathEdges(te,ri.edges[Sr],qe,ri);Cr.length>0&&(pt=!0,wn=oe.dfsEdgeList[Sr].fromNode,Cr.forEach(function(yi){var Co="".concat(yi.label,"-").concat(re[yi.to].label);vn[Co]||(vn[Co]={projected:[],edgeLabel:yi.label,nodeLabel2:re[yi.to].label}),vn[Co].projected.push({graphId:te.id,edge:yi,preNode:Tr})}))})},Ut=0;Ut<kn;Ut++){var vr=Vn(Ut);if(vr==="break")break}if(!pt)return!0;var or=x.findMinLabel(vn);oe.dfsEdgeList.push(new NE(wn,nt+1,Qm,or.edgeLabel,or.nodeLabel2));var Or=oe.dfsEdgeList.length-1;return E.dfsEdgeList[Or]!==oe.dfsEdgeList[Or]?!1:Pe(vn["".concat(or.edgeLabel,"-").concat(or.nodeLabel2)].projected)},Ae="".concat(he.nodeLabel1,"-").concat(he.edgeLabel,"-").concat(he.nodeLabel2);return ge(le[Ae].projected)}},b.prototype.report=function(){if(!(this.dfsCode.getNodeNum()<this.minNodeNum)){this.counter++;var x=this.dfsCode.toGraph(this.counter,this.directed);this.frequentSubgraphs.push(UC(x))}},b.prototype.subGraphMining=function(x){var E=this,z=this.getSupport(x);if(!(z<this.minSupport)&&this.isMin()){this.report();var te=this.dfsCode.getNodeNum(),re=this.dfsCode.buildRmpath(),oe=this.dfsCode.dfsEdgeList[re[0]].toNode,le=this.dfsCode.dfsEdgeList[0].nodeEdgeNodeLabel.nodeLabel1,he={},ge={};x.forEach(function(Ae){for(var Pe=E.graphs[Ae.graphId],We=Pe.nodeMap,Xe=new GP(Ae),qe=re.length-1;qe>=0;qe--){var nt=E.findBackwardEdge(Pe,Xe.edges[re[qe]],Xe.edges[re[0]],Xe);if(nt){var at="".concat(E.dfsCode.dfsEdgeList[re[qe]].fromNode,"-").concat(nt.label);ge[at]||(ge[at]={projected:[],toNodeId:E.dfsCode.dfsEdgeList[re[qe]].fromNode,edgeLabel:nt.label}),ge[at].projected.push({graphId:Ae.graphId,edge:nt,preNode:Ae})}}if(!(te>=E.maxNodeNum)){var pt=E.findForwardPureEdges(Pe,Xe.edges[re[0]],le,Xe);pt.forEach(function(bt){var jt="".concat(oe,"-").concat(bt.label,"-").concat(We[bt.to].label);he[jt]||(he[jt]={projected:[],fromNodeId:oe,edgeLabel:bt.label,nodeLabel2:We[bt.to].label}),he[jt].projected.push({graphId:Ae.graphId,edge:bt,preNode:Ae})});for(var mt=function(jt){var Ut=E.findForwardRmpathEdges(Pe,Xe.edges[re[jt]],le,Xe);Ut.forEach(function(Kt){var Qt="".concat(E.dfsCode.dfsEdgeList[re[jt]].fromNode,"-").concat(Kt.label,"-").concat(We[Kt.to].label);he[Qt]||(he[Qt]={projected:[],fromNodeId:E.dfsCode.dfsEdgeList[re[jt]].fromNode,edgeLabel:Kt.label,nodeLabel2:We[Kt.to].label}),he[Qt].projected.push({graphId:Ae.graphId,edge:Kt,preNode:Ae})})},qe=0;qe<re.length;qe++)mt(qe)}}),Object.keys(ge).forEach(function(Ae){var Pe=ge[Ae],We=Pe.toNodeId,Xe=Pe.edgeLabel;E.dfsCode.dfsEdgeList.push(new NE(oe,We,"-1",Xe,"-1")),E.subGraphMining(ge[Ae].projected),E.dfsCode.dfsEdgeList.pop()}),Object.keys(he).forEach(function(Ae){var Pe=he[Ae],We=Pe.fromNodeId,Xe=Pe.edgeLabel,qe=Pe.nodeLabel2;E.dfsCode.dfsEdgeList.push(new NE(We,oe+1,Qm,Xe,qe)),E.subGraphMining(he[Ae].projected),E.dfsCode.dfsEdgeList.pop()})}},b.prototype.generate1EdgeFrequentSubGraphs=function(){var x=this.graphs,E=this.directed,z=this.minSupport,te=this.frequentSize1Subgraphs,re={},oe={},le={},he={};return Object.keys(x).forEach(function(ge){var Ae=x[ge],Pe=Ae.nodeMap;Ae.nodes.forEach(function(We,Xe){var qe=We.label,nt="".concat(ge,"-").concat(qe);if(!le[nt]){var at=re[qe]||0;at++,re[qe]=at}le[nt]={graphKey:ge,label:qe},We.edges.forEach(function(pt){var mt=qe,bt=Pe[pt.to].label;if(!E&&mt>bt){var jt=bt;bt=mt,mt=jt}var Ut=pt.label,Kt="".concat(ge,"-").concat(mt,"-").concat(Ut,"-").concat(bt),Qt="".concat(mt,"-").concat(Ut,"-").concat(bt);if(!oe[Qt]){var Vt=oe[Qt]||0;Vt++,oe[Qt]=Vt}he[Kt]={graphId:ge,nodeLabel1:mt,edgeLabel:Ut,nodeLabel2:bt}})})}),Object.keys(re).forEach(function(ge){var Ae=re[ge];if(!(Ae<z)){var Pe={nodes:[],edges:[]};Pe.nodes.push({id:"0",label:ge}),te.push(Pe)}}),te},b.prototype.run=function(){var x=this;if(this.frequentSize1Subgraphs=this.generate1EdgeFrequentSubGraphs(),!(this.maxNodeNum<2)){var E=this.graphs,z=this.directed,te={};Object.keys(E).forEach(function(re){var oe=E[re],le=oe.nodeMap;oe.nodes.forEach(function(he){var ge=x.findForwardRootEdges(oe,he);ge.forEach(function(Ae){var Pe=le[Ae.to],We="".concat(he.label,"-").concat(Ae.label,"-").concat(Pe.label);te[We]||(te[We]={projected:[],nodeLabel1:he.label,edgeLabel:Ae.label,nodeLabel2:Pe.label});var Xe={graphId:re,edge:Ae,preNode:null};te[We].projected.push(Xe)})})}),Object.keys(te).forEach(function(re){var oe=te[re],le=oe.projected,he=oe.nodeLabel1,ge=oe.edgeLabel,Ae=oe.nodeLabel2;x.dfsCode.dfsEdgeList.push(new NE(0,1,he,ge,Ae)),x.subGraphMining(le),x.dfsCode.dfsEdgeList.pop()})}},b}(),S_=function(x,E,z,te){var re={};return Object.keys(x).forEach(function(oe,le){var he=x[oe],ge=new L3(le,!0,E),Ae={};he.nodes.forEach(function(Pe,We){ge.addNode(We,Pe[z]),Ae[Pe.id]=We}),he.edges.forEach(function(Pe,We){var Xe=Ae[Pe.source],qe=Ae[Pe.target];ge.addEdge(-1,Xe,qe,Pe[te])}),ge&&ge.getNodeNum()&&(re[ge.id]=ge)}),re},w_=function(x,E,z){var te=[];return x.forEach(function(re){var oe={nodes:[],edges:[]};re.nodes.forEach(function(le){var he;oe.nodes.push((he={id:"".concat(le.id)},he[E]=le.label,he))}),re.edges.forEach(function(le){var he;oe.edges.push((he={source:"".concat(le.from),target:"".concat(le.to)},he[z]=le.label,he))}),te.push(oe)}),te},D3="cluster",C_=function(x){var E=x.graphs,z=x.directed,te=z===void 0?!1:z,re=x.nodeLabelProp,oe=re===void 0?D3:re,le=x.edgeLabelProp,he=le===void 0?D3:le,ge=S_(E,te,oe,he),Ae=x.minSupport,Pe=x.maxNodeNum,We=x.minNodeNum,Xe=x.verbose,qe=x.top,nt={graphs:ge,minSupport:Ae,maxNodeNum:Pe,minNodeNum:We,top:qe,verbose:Xe,directed:te},at=new A_(nt);at.run();var pt=w_(at.frequentSubgraphs,oe,he);return pt},b_=C_,I3=function(x,E,z,te){z===void 0&&(z="cluster"),te===void 0&&(te=2);var re=[],oe=x.nodes;return E.forEach(function(le,he){re.push(O3(oe,le,he,z,te))}),re},O3=function(x,E,z,te,re){var oe=[z],le=[],he={};return E.forEach(function(ge,Ae){if(ge<=re&&z!==Ae){oe.push(Ae),le.push(x[Ae]);var Pe=x[Ae][te];he[Pe]?(he[Pe].count++,he[Pe].dists.push(ge)):he[Pe]={count:1,dists:[ge]}}}),Object.keys(he).forEach(function(ge){he[ge].dists=he[ge].dists.sort(function(Ae,Pe){return Ae-Pe})}),{nodeIdx:z,nodeId:x[z].id,nodeIdxs:oe,neighbors:le,neighborNum:oe.length-1,nodeLabelCountMap:he}},P_=function(x,E,z,te,re){var oe=Math.ceil(z/E),le={},he=0;return te.forEach(function(ge,Ae){for(var Pe=0,We=0,Xe=ge.nodeIdxs,qe=ge.neighborNum-1;Pe<oe;){for(var nt=Xe[1+Math.floor(Math.random()*qe)],at=0;(le["".concat(Ae,"-").concat(nt)]||le["".concat(nt,"-").concat(Ae)])&&(nt=Math.floor(Math.random()*E),at++,!(at>2*E)););if(at<2*E&&(le["".concat(Ae,"-").concat(nt)]={start:Ae,end:nt,distance:re[Ae][nt]},Pe++,he++,he>=z))return le;if(We++,We>2*E)break}if(Pe<oe){var pt=oe-Pe;oe=(oe+pt)/(E-Ae-1)}}),le},HP=function(x,E,z,te){var re=z.nodes;return te||(te={}),Object.keys(x).forEach(function(oe){var le,he;if(!(te&&te[oe])){te[oe]={nodes:[],edges:[]};var ge=x[oe],Ae=(le=E[ge.start])===null||le===void 0?void 0:le.nodeIdxs,Pe=(he=E[ge.end])===null||he===void 0?void 0:he.nodeIdxs;if(!(!Ae||!Pe)){var We=new Set(Pe),Xe=Ae.filter(function(mt){return We.has(mt)});if(!(!Xe||!Xe.length)){for(var qe={},nt=Xe.length,at=0;at<nt;at++){var pt=re[Xe[at]];te[oe].nodes.push(pt),qe[pt.id]=!0}z.edges.forEach(function(mt){qe[mt.source]&&qe[mt.target]&&te[oe].edges.push(mt)})}}}}),te},VP=function(x,E,z,te){var re,oe,le={};x.nodes.forEach(function(ge){le[ge.id]=ge});var he=0;return!(!((re=E==null?void 0:E.edges)===null||re===void 0)&&re.length)||((oe=E==null?void 0:E.nodes)===null||oe===void 0?void 0:oe.length)<2?0:(x.edges.forEach(function(ge){var Ae=le[ge.source][z],Pe=le[ge.target][z],We=E==null?void 0:E.nodes[0][z],Xe=E==null?void 0:E.nodes[1][z],qe=E==null?void 0:E.edges[0][te];ge[te]===qe&&(Ae===We&&Pe===Xe||Ae===Xe&&Pe===We)&&he++}),he)},M_=function(x,E,z){for(var te=1/0,re=0,oe=function(ge){var Ae=x[ge],Pe=Object.keys(Ae).sort(function(mt,bt){return Ae[mt]-Ae[bt]}),We=10,Xe=[];Pe.forEach(function(mt,bt){Xe[bt%We]||(Xe[bt%We]={graphs:[],totalCount:0,aveCount:0}),Xe[bt%We].graphs.push(mt),Xe[bt%We].totalCount+=Ae[mt]});var qe=0,nt=[];Xe.forEach(function(mt){var bt=mt.totalCount/mt.graphs.length;mt.aveCount=bt,nt.push(bt);var jt=0,Ut=mt.length;mt.graphs.forEach(function(Kt,Qt){var Vt=Ae[Kt];mt.graphs.forEach(function(vn,wn){Qt!==wn&&(jt+=Math.abs(Vt-Ae[vn]))})}),jt/=Ut*(Ut-1)/2,qe+=jt}),qe/=Xe.length;var at=0;nt.forEach(function(mt,bt){nt.forEach(function(jt,Ut){bt!==Ut&&(at+=Math.abs(mt-jt))}),at/=nt.length*(nt.length-1)/2});var pt=at-qe;te<pt&&(te=pt,re=ge)},le=0;le<E;le++)oe(le);return{structure:z[re],structureCountMap:x[re]}},N3=function(x,E){var z={},te={};return x.forEach(function(re,oe){z[re.id]={idx:oe,node:re,degree:0,inDegree:0,outDegree:0};var le=re[E];te[le]||(te[le]=[]),te[le].push(re)}),{nodeMap:z,nodeLabelMap:te}},B3=function(x,E,z){var te={},re={};return x.forEach(function(oe,le){te["".concat(n3)]={idx:le,edge:oe};var he=oe[E];re[he]||(re[he]=[]),re[he].push(oe);var ge=z[oe.source];ge&&(ge.degree++,ge.outDegree++);var Ae=z[oe.target];Ae&&(Ae.degree++,Ae.inDegree++)}),{edgeMap:te,edgeLabelMap:re}},R3=function(x,E,z){var te=E.length,re={};return E.forEach(function(oe,le){for(var he=z?0:le+1,ge=x[le].id,Ae=he;Ae<te;Ae++)if(le!==Ae){var Pe=x[Ae].id,We=oe[Ae];re["".concat(ge,"-").concat(Pe)]=We,z||(re["".concat(Pe,"-").concat(ge)]=We)}}),re},L_=function(x,E,z,te,re,oe,le,he,ge,Ae,Pe){var We,Xe="".concat(E.id,"-").concat(z.id);if(Ae&&Ae[Xe])return Ae[Xe];var qe=Pe?Pe[Xe]:void 0;if(!qe){var nt=(We={},We[Xe]={start:te[E.id].idx,end:te[z.id].idx,distance:re},We);Pe=HP(nt,oe,x,Pe),qe=Pe[Xe]}return VP(qe,le,he,ge)},k3=function(x,E,z,te){var re,oe,le,he=(re=x[E])===null||re===void 0?void 0:re.degree,ge=(oe=x[E])===null||oe===void 0?void 0:oe.inDegree,Ae=(le=x[E])===null||le===void 0?void 0:le.outDegree;return x[E]===void 0&&(he=1/0,ge=1/0,Ae=1/0,te[E].forEach(function(Pe){var We=z[Pe.id].degree;he>We&&(he=We);var Xe=z[Pe.id].inDegree;ge>Xe&&(ge=Xe);var qe=z[Pe.id].outDegree;Ae>qe&&(Ae=qe)}),x[E]={degree:he,inDegree:ge,outDegree:Ae}),{minPatternNodeLabelDegree:he,minPatternNodeLabelInDegree:ge,minPatternNodeLabelOutDegree:Ae}},T_=function(x,E,z,te,re,oe,le){var he;if(z===void 0&&(z=!1),oe===void 0&&(oe="cluster"),le===void 0&&(le="cluster"),!(!x||!x.nodes)){var ge=x.nodes.length;if(ge){var Ae=p5(x,z),Pe=p5(E,z),We=R3(x.nodes,Ae,z),Xe=R3(E.nodes,Pe,z),qe=N3(x.nodes,oe),nt=qe.nodeMap,at=qe.nodeLabelMap,pt=N3(E.nodes,oe),mt=pt.nodeMap,bt=pt.nodeLabelMap;B3(x.edges,le,nt);var jt=B3(E.edges,le,mt).edgeLabelMap,Ut=[];Pe==null||Pe.forEach(function(ws){Ut=Ut.concat(ws)}),re||(re=Math.max.apply(Math,(0,Cn.ev)((0,Cn.ev)([],Ut,!1),[2],!1))),te||(te=re);var Kt=I3(x,Ae,oe,te),Qt=I3(E,Pe,oe,te),Vt=Math.min(100,ge*(ge-1)/2),vn=P_(te,ge,Vt,Kt,Ae),wn=HP(vn,Kt,x),kn=10,Vn=1,vr=1,or=4,Or={graphs:wn,nodeLabelProp:oe,edgeLabelProp:le,minSupport:Vn,minNodeNum:vr,maxNodeNum:or,directed:z},qr=b_(Or).slice(0,kn),wr=qr.length,Sr=[];qr.forEach(function(ws,$o){Sr[$o]={},Object.keys(wn).forEach(function(va){var Fa=wn[va],Xs=VP(Fa,ws,oe,le);Sr[$o][va]=Xs})});var Tr=M_(Sr,wr,qr),ri=Tr.structure,Cr=Tr.structureCountMap,yi=E.nodes[0],Co=[],wo=(he=E.nodes[0])===null||he===void 0?void 0:he[oe],vi=-1/0;E.nodes.forEach(function(ws){var $o=ws[oe],va=at[$o];(va==null?void 0:va.length)>vi&&(vi=va.length,Co=va,wo=$o,yi=ws)});var Mi={},$i={},Lo={},Jo={},Ta={},Bs={};Object.keys(bt).forEach(function(ws,$o){Ta[ws]=[],z&&(Bs[ws]=[]);var va=-1/0,Fa=bt[ws],Xs={};Fa.forEach(function(du){var Mu=Xe["".concat(yi.id,"-").concat(du.id)];if(Mu&&Ta[ws].push(Mu),va<Mu&&(va=Mu),Xs["".concat(yi.id,"-").concat(du.id)]={start:0,end:mt[du.id].idx,distance:Mu},z){var Lu=Xe["".concat(du.id,"-").concat(yi.id)];Lu&&Bs[ws].push(Lu)}}),Ta[ws]=Ta[ws].sort(function(du,Mu){return du-Mu}),z&&(Bs[ws]=Bs[ws].sort(function(du,Mu){return du-Mu})),$i=HP(Xs,Qt,E,$i);var ua=[];if(Object.keys(Xs).forEach(function(du){if(Lo[du]){ua.push(Lo[du]);return}var Mu=$i[du];Lo[du]=VP(Mu,ri,oe,le),ua.push(Lo[du])}),ua=ua.sort(function(du,Mu){return Mu-du}),Jo["".concat(yi.id,"-").concat(ws)]=ua,ws!==wo)for(var vl=(Co==null?void 0:Co.length)||0,Js=function(Mu){var Lu=Co[Mu],vu=Kt[nt[Lu.id].idx],$c=vu.nodeLabelCountMap[ws],Cp=bt[ws].length;if(!$c||$c.count<Cp)return Co.splice(Mu,1),"continue";for(var bp=!1,Cc=0;Cc<Cp;Cc++)if($c.dists[Cc]>Ta[ws][Cc]){bp=!0;break}if(bp)return Co.splice(Mu,1),"continue";var fh={};vu.neighbors.forEach(function(Ws){var Hl=We["".concat(Lu.id,"-").concat(Ws.id)];fh["".concat(Lu.id,"-").concat(Ws.id)]={start:nt[Lu.id].idx,end:nt[Ws.id].idx,distance:Hl}}),wn=HP(fh,Kt,x,wn);var Wg=[];Object.keys(fh).forEach(function(Ws){if(Cr[Ws]){Wg.push(Cr[Ws]);return}var Hl=wn[Ws];Cr[Ws]=VP(Hl,ri,oe,le),Wg.push(Cr[Ws])}),Wg=Wg.sort(function(Ws,Hl){return Hl-Ws});for(var Aa=!1,Cc=0;Cc<Cp;Cc++)if(Wg[Cc]<ua[Cc]){Aa=!0;break}if(Aa)return Co.splice(Mu,1),"continue"},Yu=vl-1;Yu>=0;Yu--)Js(Yu)});var js=[];Co==null||Co.forEach(function(ws){for(var $o=nt[ws.id].idx,va=O3(x.nodes,Ae[$o],$o,oe,re),Fa=va.neighbors,Xs=Fa.length,ua=!1,vl=Xs-1;vl>=0;vl--){if(Fa.length+1<E.nodes.length){ua=!0;return}var Js=Fa[vl],Yu=Js[oe];if(!bt[Yu]||!bt[Yu].length){Fa.splice(vl,1);continue}if(!Ta[Yu]||!Ta[Yu].length){Fa.splice(vl,1);continue}var du="".concat(ws.id,"-").concat(Js.id),Mu=We[du],Lu=Ta[Yu].length-1,vu=Ta[Yu][Lu];if(Mu>vu){Fa.splice(vl,1);continue}if(z){var $c="".concat(Js.id,"-").concat(ws.id),Cp=We[$c];Lu=Bs[Yu].length-1;var bp=Bs[Yu][Lu];if(Cp>bp){Fa.splice(vl,1);continue}}var Cc=Cr[du]?Cr[du]:L_(x,ws,Js,nt,Mu,Kt,ri,oe,le,Cr,wn),fh="".concat(yi.id,"-").concat(Yu),Wg=Jo[fh][Jo[fh].length-1];if(Cc<Wg){Fa.splice(vl,1);continue}var Aa=k3(Mi,Yu,mt,bt),Ws=Aa.minPatternNodeLabelDegree,Hl=Aa.minPatternNodeLabelInDegree,Nl=Aa.minPatternNodeLabelOutDegree;if(nt[Js.id].degree<Ws){Fa.splice(vl,1);continue}}ua||js.push({nodes:[ws].concat(Fa)})});var Sa=zP(E,yi.id,!1).length,Is={};z?(Object.keys(Sa).forEach(function(ws){var $o=mt[ws].node[oe];Is[$o]?Is[$o].push(Sa[ws]):Is[$o]=[Sa[ws]]}),Object.keys(Is).forEach(function(ws){Is[ws].sort(function($o,va){return $o-va})})):Is=Ta;for(var Ss=js.length,el=function($o){var va=js[$o],Fa=va.nodes[0],Xs={},ua={};va.nodes.forEach(function(Ec,Xu){ua[Ec.id]={idx:Xu,node:Ec,degree:0,inDegree:0,outDegree:0};var bc=Ec[oe];Xs[bc]?Xs[bc]++:Xs[bc]=1});var vl=[],Js={};x.edges.forEach(function(Ec){ua[Ec.source]&&ua[Ec.target]&&(vl.push(Ec),Js[Ec[le]]?Js[Ec[le]]++:Js[Ec[le]]=1,ua[Ec.source].degree++,ua[Ec.target].degree++,ua[Ec.source].outDegree++,ua[Ec.target].inDegree++)});for(var Yu=Object.keys(jt).length,du=!1,Mu=0;Mu<Yu;Mu++){var Lu=Object.keys(jt)[Mu];if(!Js[Lu]||Js[Lu]<jt[Lu].length){du=!0;break}}if(du)return js.splice($o,1),"continue";var vu=vl.length;if(vu<E.edges.length)return js.splice($o,1),"break";for(var $c=!1,Cp=function(Xu){var bc=vl[Xu],rd=bc[le],ds=jt[rd];if(!ds||!ds.length)return Js[rd]--,ds&&Js[rd]<ds.length?($c=!0,"break"):(vl.splice(Xu,1),ua[bc.source].degree--,ua[bc.target].degree--,ua[bc.source].outDegree--,ua[bc.target].inDegree--,"continue");var gf=ua[bc.source].node[oe],ap=ua[bc.target].node[oe],Vf=!1;if(ds.forEach(function(ey){var Tx=mt[ey.source].node,eA=mt[ey.target].node;Tx[oe]===gf&&eA[oe]===ap&&(Vf=!0),!z&&Tx[oe]===ap&&eA[oe]===gf&&(Vf=!0)}),!Vf)return Js[rd]--,ds&&Js[rd]<ds.length?($c=!0,"break"):(vl.splice(Xu,1),ua[bc.source].degree--,ua[bc.target].degree--,ua[bc.source].outDegree--,ua[bc.target].inDegree--,"continue")},Mu=vu-1;Mu>=0;Mu--){var bp=Cp(Mu);if(bp==="break")break}if($c)return js.splice($o,1),"continue";va.edges=vl;var Cc=zP(va,va.nodes[0].id,!1).length;if(Object.keys(Cc).reverse().forEach(function(Ec){if(!(Ec===va.nodes[0].id||$c)){if(Cc[Ec]===1/0){var Xu=ua[Ec].node[oe];if(Xs[Xu]--,Xs[Xu]<bt[Xu].length){$c=!0;return}var bc=va.nodes.indexOf(ua[Ec].node);va.nodes.splice(bc,1),ua[Ec]=void 0;return}var rd=nt[Ec].node[oe];if(!Is[rd]||!Is[rd].length||Cc[Ec]>Is[rd][Is[rd].length-1]){var Xu=ua[Ec].node[oe];if(Xs[Xu]--,Xs[Xu]<bt[Xu].length){$c=!0;return}var bc=va.nodes.indexOf(ua[Ec].node);va.nodes.splice(bc,1),ua[Ec]=void 0}}}),$c)return js.splice($o,1),"continue";for(var fh=!0,Wg=0;fh&&!$c;){fh=!1;var Aa=z?ua[Fa.id].degree<mt[yi.id].degree||ua[Fa.id].inDegree<mt[yi.id].inDegree||ua[Fa.id].outDegree<mt[yi.id].outDegree:ua[Fa.id].degree<mt[yi.id].degree;if(Aa){$c=!0;break}if(Xs[Fa[oe]]<bt[Fa[oe]].length){$c=!0;break}for(var Ws=va.nodes.length,Hl=Ws-1;Hl>=0;Hl--){var Nl=va.nodes[Hl],Bl=ua[Nl.id].degree,kd=ua[Nl.id].inDegree,wv=ua[Nl.id].outDegree,lm=Nl[oe],a1=k3(Mi,lm,mt,bt),$E=a1.minPatternNodeLabelDegree,Lx=a1.minPatternNodeLabelInDegree,XS=a1.minPatternNodeLabelOutDegree,$p=z?Bl<$E||kd<Lx||wv<XS:Bl<$E;if($p){if(Xs[Nl[oe]]--,Xs[Nl[oe]]<bt[Nl[oe]].length){$c=!0;break}va.nodes.splice(Hl,1),ua[Nl.id]=void 0,fh=!0}}if($c||!fh&&Wg!==0)break;vu=vl.length;for(var s1=vu-1;s1>=0;s1--){var op=vl[s1];if(!ua[op.source]||!ua[op.target]){vl.splice(s1,1);var L0=op[le];if(Js[L0]--,ua[op.source]&&(ua[op.source].degree--,ua[op.source].outDegree--),ua[op.target]&&(ua[op.target].degree--,ua[op.target].inDegree--),jt[L0]&&Js[L0]<jt[L0].length){$c=!0;break}fh=!0}}Wg++}if($c||$c||va.nodes.length<E.nodes.length||vl.length<E.edges.length)return js.splice($o,1),"continue"},ms=Ss-1;ms>=0;ms--){var ru=el(ms);if(ru==="break")break}for(var Ql=js.length,Ra=function($o){var va=js[$o],Fa={};va.edges.forEach(function(vl){var Js="".concat(vl.source,"-").concat(vl.target,"-").concat(vl.label);Fa[Js]?Fa[Js]++:Fa[Js]=1});for(var Xs=function(Js){var Yu=js[Js],du={};Yu.edges.forEach(function(Lu){var vu="".concat(Lu.source,"-").concat(Lu.target,"-").concat(Lu.label);du[vu]?du[vu]++:du[vu]=1});var Mu=!0;Object.keys(du).length!==Object.keys(Fa).length?Mu=!1:Object.keys(Fa).forEach(function(Lu){du[Lu]!==Fa[Lu]&&(Mu=!1)}),Mu&&js.splice(Js,1)},ua=Ql-1;ua>$o;ua--)Xs(ua);Ql=js.length},ms=0;ms<=Ql-1;ms++)Ra(ms);return js}}},D_=T_,I_=function(){function b(x){x===void 0&&(x=10),this.linkedList=new t3,this.maxStep=x}return Object.defineProperty(b.prototype,"length",{get:function(){return this.linkedList.toArray().length},enumerable:!1,configurable:!0}),b.prototype.isEmpty=function(){return!this.linkedList.head},b.prototype.isMaxStack=function(){return this.toArray().length>=this.maxStep},b.prototype.peek=function(){return this.isEmpty()?null:this.linkedList.head.value},b.prototype.push=function(x){this.linkedList.prepend(x),this.length>this.maxStep&&this.linkedList.deleteTail()},b.prototype.pop=function(){var x=this.linkedList.deleteHead();return x?x.value:null},b.prototype.toArray=function(){return this.linkedList.toArray().map(function(x){return x.value})},b.prototype.clear=function(){for(;!this.isEmpty();)this.pop()},b}(),O_=I_,N_=u3,eq={getAdjMatrix:BP,breadthFirstSearch:dF,connectedComponent:i3,getDegree:s5,getInDegree:gF,getOutDegree:pF,detectCycle:u3,detectDirectedCycle:N_,detectAllCycles:yF,detectAllDirectedCycle:l3,detectAllUndirectedCycle:s3,depthFirstSearch:a3,dijkstra:zP,findAllPath:VF,findShortestPath:g5,floydWarshall:p5,labelPropagation:YF,louvain:E3,iLouvain:n_,kCore:i_,kMeans:a_,cosineSimilarity:S3,nodesCosineSimilarity:u_,minimumSpanningTree:m_,pageRank:C3,getNeighbors:mv,Stack:O_,GADDI:D_};function Xi(b){if(b.id!==void 0)return b.id;if(b.source!==void 0&&b.target!==void 0)return`${b.source}-${b.target}`;throw new Error(Yy("The datum does not have available id."))}function KP(b){return b.combo}function F3(b,x){const E={nodes:(b.nodes||[]).map(Xi),edges:(b.edges||[]).map(Xi),combos:(b.combos||[]).map(Xi)};return x?Object.values(E).flat():E}const _3=(b,x,E)=>{var z;switch(E.type){case"degree":{const te=new Map;return(z=b.nodes)===null||z===void 0||z.forEach(re=>{const oe=x(Xi(re),E.direction).length;te.set(Xi(re),oe)}),te}case"betweenness":return B_(b,E.directed,E.weightPropertyName);case"closeness":return R_(b,E.directed,E.weightPropertyName);case"eigenvector":return F_(b,E.directed);case"pagerank":return k_(b,E.epsilon,E.linkProb);default:return z3(b)}},z3=b=>{var x;const E=new Map;return(x=b.nodes)===null||x===void 0||x.forEach(z=>{E.set(Xi(z),0)}),E},B_=(b,x,E)=>{const z=z3(b),{nodes:te=[]}=b;return te.forEach(re=>{te.forEach(oe=>{if(re!==oe){const{allPath:le}=g5(b,Xi(re),Xi(oe),x,E),he=le.length;le.flat().forEach(ge=>{ge!==Xi(re)&&ge!==Xi(oe)&&z.set(ge,z.get(ge)+1/he)})}})}),z},R_=(b,x,E)=>{const z=new Map,{nodes:te=[]}=b;return te.forEach(re=>{const oe=te.reduce((le,he)=>{if(re!==he){const{length:ge}=g5(b,Xi(re),Xi(he),x,E);le+=ge}return le},0);z.set(Xi(re),1/oe)}),z},k_=(b,x,E)=>{var z;const te=new Map,re=C3(b,x,E);return(z=b.nodes)===null||z===void 0||z.forEach(oe=>{te.set(Xi(oe),re[Xi(oe)])}),te},F_=(b,x)=>{const{nodes:E=[]}=b,z=__(b,x),te=z_(z,E.length),re=new Map;return E.forEach((oe,le)=>{re.set(Xi(oe),te[le])}),re},__=(b,x)=>{const{nodes:E=[],edges:z=[]}=b,te=Array(E.length).fill(null).map(()=>Array(E.length).fill(0));return z.forEach(({source:re,target:oe})=>{const le=E.findIndex(ge=>Xi(ge)===re),he=E.findIndex(ge=>Xi(ge)===oe);x?te[le][he]=1:(te[le][he]=1,te[he][le]=1)}),te},z_=(b,x,E=100,z=1e-6)=>{let te=Array(x).fill(1),re=1/0;for(let oe=0;oe<E&&re>z;oe++){const le=Array(x).fill(0);for(let ge=0;ge<x;ge++)for(let Ae=0;Ae<x;Ae++)le[ge]+=b[ge][Ae]*te[Ae];const he=Math.sqrt(le.reduce((ge,Ae)=>ge+Ae*Ae,0));for(let ge=0;ge<x;ge++)le[ge]/=he;re=Math.sqrt(le.reduce((ge,Ae,Pe)=>ge+(Ae-te[Pe])*Ae,0)),te=le}return te};function ux(b,x,E,z=Qd){const te=new Map(b.map(We=>[E(We),We])),re=new Map(x.map(We=>[E(We),We])),oe=new Set(te.keys()),le=new Set(re.keys()),he=[],ge=[],Ae=[],Pe=[];return le.forEach(We=>{oe.has(We)?z(te.get(We),re.get(We))?Pe.push(re.get(We)):ge.push(re.get(We)):he.push(re.get(We))}),oe.forEach(We=>{le.has(We)||Ae.push(te.get(We))}),{enter:he,exit:Ae,keep:Pe,update:ge}}function BE(b,x,E){const z=te=>{E&&!E(te)||(te.style.visibility=x)};b.forEach(te=>{z(te)})}function j_(b,x,E){const z={},te=re=>(re in z||(z[re]=0),`${x}-${re}-${z[re]++}`);return E.map(re=>typeof re=="string"?{type:re,key:te(re)}:typeof re=="function"?re.call(b):re.key?re:Object.assign(Object.assign({},re),{key:te(re.type)}))}class y5{constructor(x){this.extensions=[],this.extensionMap={},this.context=x}setExtensions(x){const E=j_(this.context.graph,this.category,x),{enter:z,update:te,exit:re,keep:oe}=ux(this.extensions,E,le=>le.key);this.createExtensions(z),this.updateExtensions([...te,...oe]),this.destroyExtensions(re),this.extensions=E}createExtension(x){const{category:E}=this,{key:z,type:te}=x,re=Zy(E,te);if(!re)return Jp.warn(`The extension ${te} of ${E} is not registered.`);const oe=new re(this.context,x);this.extensionMap[z]=oe}createExtensions(x){x.forEach(E=>this.createExtension(E))}updateExtension(x){const{key:E}=x,z=this.extensionMap[E];z&&z.update(x)}updateExtensions(x){x.forEach(E=>this.updateExtension(E))}destroyExtension(x){const E=this.extensionMap[x];E&&(E.destroy(),delete this.extensionMap[x])}destroyExtensions(x){x.forEach(({key:E})=>this.destroyExtension(E))}destroy(){Object.values(this.extensionMap).forEach(x=>x.destroy()),this.context={},this.extensions=[],this.extensionMap={}}}class x5{constructor(x,E){this.events=[],this.destroyed=!1,this.context=x,this.options=E}update(x){this.options=Object.assign(this.options,x)}destroy(){this.context={},this.options={},this.destroyed=!0}}class A0 extends x5{}class ZP extends A0{constructor(x,E){super(x,Object.assign({},ZP.defaultOptions,E)),this.isOverlapping=(z,te)=>te.some(re=>z.intersects(re)),this.occupiedBounds=[],this.detectLabelCollision=z=>{const te=this.context.viewport,re={show:[],hide:[]};return this.occupiedBounds=[],z.forEach(oe=>{const le=oe.getShape("label").getRenderBounds();te.isInViewport(le,!0)&&!this.isOverlapping(le,this.occupiedBounds)?(re.show.push(oe),this.occupiedBounds.push(lx(le,this.options.padding))):re.hide.push(oe)}),re},this.hideLabelIfExceedViewport=(z,te)=>{const{exit:re}=ux(z,te,oe=>oe.id);re==null||re.forEach(this.hideLabel)},this.nodeCentralities=new Map,this.sortNodesByCentrality=(z,te)=>{const{model:re}=this.context,oe=re.getData(),le=re.getRelatedEdgesData.bind(re);return z.map(ge=>(this.nodeCentralities.has(ge.id)||(this.nodeCentralities=_3(oe,le,te)),{node:ge,centrality:this.nodeCentralities.get(ge.id)})).sort((ge,Ae)=>Ae.centrality-ge.centrality).map(ge=>ge.node)},this.sortLabelElementsInView=z=>{const{sort:te,sortNode:re,sortCombo:oe,sortEdge:le}=this.options,{model:he}=this.context;if(Ys(te))return z.sort((nt,at)=>te(he.getElementDataById(nt.id),he.getElementDataById(at.id)));const{node:ge=[],edge:Ae=[],combo:Pe=[]}=OP(z,nt=>nt.type),We=Ys(oe)?Pe.sort((nt,at)=>oe(...he.getComboData([nt.id,at.id]))):Pe,Xe=Ys(re)?ge.sort((nt,at)=>re(...he.getNodeData([nt.id,at.id]))):this.sortNodesByCentrality(ge,re),qe=Ys(le)?Ae.sort((nt,at)=>le(...he.getEdgeData([nt.id,at.id]))):Ae;return[...We,...Xe,...qe]},this.labelElementsInView=[],this.isFirstRender=!0,this.onToggleVisibility=z=>{var te;if(((te=z.data)===null||te===void 0?void 0:te.stage)==="zIndex")return;if(!this.validate(z)){this.hiddenElements.size>0&&(this.hiddenElements.forEach(this.showLabel),this.hiddenElements.clear());return}const re=this.isFirstRender?this.getLabelElements():this.getLabelElementsInView();this.hideLabelIfExceedViewport(this.labelElementsInView,re),this.labelElementsInView=re;const oe=this.sortLabelElementsInView(this.labelElementsInView),{show:le,hide:he}=this.detectLabelCollision(oe);for(let ge=le.length-1;ge>=0;ge--)this.showLabel(le[ge]);he.forEach(this.hideLabel)},this.hiddenElements=new Map,this.hideLabel=z=>{const te=z.getShape("label");te&&BE(te,"hidden"),this.hiddenElements.set(z.id,z)},this.showLabel=z=>{const te=z.getShape("label");te&&BE(te,"visible"),z.toFront(),this.hiddenElements.delete(z.id)},this.onTransform=qI(this.onToggleVisibility,this.options.throttle,{leading:!0}),this.enableToggle=!0,this.toggle=z=>{this.enableToggle&&this.onToggleVisibility(z)},this.onBeforeRender=()=>{this.enableToggle=!1},this.onAfterRender=z=>{this.onToggleVisibility(z),this.enableToggle=!0},this.bindEvents()}update(x){this.unbindEvents(),super.update(x),this.bindEvents(),this.onToggleVisibility({})}getLabelElements(){const{elementMap:x}=this.context.element,E=[];for(const z in x){const te=x[z];te.isVisible()&&te.getShape("label")&&E.push(te)}return E}getLabelElementsInView(){const x=this.context.viewport;return this.getLabelElements().filter(E=>x.isInViewport(E.getShape("key").getRenderBounds()))}bindEvents(){const{graph:x}=this.context;x.on(ts.BEFORE_RENDER,this.onBeforeRender),x.on(ts.AFTER_RENDER,this.onAfterRender),x.on(ts.AFTER_DRAW,this.toggle),x.on(ts.AFTER_LAYOUT,this.toggle),x.on(ts.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:x}=this.context;x.off(ts.BEFORE_RENDER,this.onBeforeRender),x.off(ts.AFTER_RENDER,this.onAfterRender),x.off(ts.AFTER_DRAW,this.toggle),x.off(ts.AFTER_LAYOUT,this.toggle),x.off(ts.AFTER_TRANSFORM,this.onTransform)}validate(x){if(this.destroyed)return!1;const{enable:E}=this.options;return Ys(E)?E(x):!!E}destroy(){this.unbindEvents(),super.destroy()}}ZP.defaultOptions={enable:!0,throttle:100,padding:0,sortNode:{type:"degree"}};var W_=function(b){if(!e5(b)||!V2(b,"Object"))return!1;if(Object.getPrototypeOf(b)===null)return!0;for(var x=b;Object.getPrototypeOf(x)!==null;)x=Object.getPrototypeOf(x);return Object.getPrototypeOf(b)===x},bS=W_,U_=5;function G_(b,x){if(Object.hasOwn)return Object.hasOwn(b,x);if(b==null)throw new TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(b),x)}function j3(b,x,E,z){E=E||0,z=z||U_;for(var te in x)if(G_(x,te)){var re=x[te];re!==null&&bS(re)?(bS(b[te])||(b[te]={}),E<z?j3(b[te],re,E+1,z):b[te]=x[te]):Df(re)?(b[te]=[],b[te]=b[te].concat(re)):re!==void 0&&(b[te]=re)}}var H_=function(b){for(var x=[],E=1;E<arguments.length;E++)x[E-1]=arguments[E];for(var z=0;z<x.length;z+=1)j3(b,x[z]);return b},yp=H_;const W3=[0,0,0];function hu(b,x){return b.map((E,z)=>E+x[z])}function Jc(b,x){return b.map((E,z)=>E-x[z])}function Xy(b,x){return typeof x=="number"?b.map(E=>E*x):b.map((E,z)=>E*x[z])}function em(b,x){return typeof x=="number"?b.map(E=>E/x):b.map((E,z)=>E/x[z])}function V_(b,x){return b.reduce((E,z,te)=>E+z*x[te],0)}function K_(b,x){const E=GC(b),z=GC(x);return[E[1]*z[2]-E[2]*z[1],E[2]*z[0]-E[0]*z[2],E[0]*z[1]-E[1]*z[0]]}function cx(b,x){return b.map(E=>E*x)}function Nh(b,x){return Math.sqrt(b.reduce((E,z,te)=>E+Math.pow(z-x[te]||0,2),0))}function YP(b,x){return b.reduce((E,z,te)=>E+Math.abs(z-x[te]),0)}function Qy(b){const x=b.reduce((E,z)=>E+Math.pow(z,2),0);return b.map(E=>E/Math.sqrt(x))}function E5(b,x,E=!1){const z=b[0]*x[1]-b[1]*x[0];let te=Math.acos(Xy(b,x).reduce((re,oe)=>re+oe,0)/(Nh(b,W3)*Nh(x,W3)));return E&&z<0&&(te=2*Math.PI-te),te}function tq(b,x){return b.every((E,z)=>E===x[z])}function XP(b,x=!0){return x?[-b[1],b[0]]:[b[1],-b[0]]}function Z_(b,x){return b.map(E=>E%x)}function RE(b){return[b[0],b[1]]}function GC(b){return Jk(b)?[b[0],b[1],0]:b}function U3(b){const[x,E]=b;return!x&&!E?0:Math.atan2(E,x)}function G3(b,x){const[E,z]=b,[te,re]=x,oe=Jc(E,z),le=Jc(te,re);return K_(oe,le).every(he=>he===0)}function A5(b,x,E=!1){if(G3(b,x))return;const[z,te]=b,[re,oe]=x,le=((z[0]-re[0])*(re[1]-oe[1])-(z[1]-re[1])*(re[0]-oe[0]))/((z[0]-te[0])*(re[1]-oe[1])-(z[1]-te[1])*(re[0]-oe[0])),he=oe[0]-re[0]?(z[0]-re[0]+le*(te[0]-z[0]))/(oe[0]-re[0]):(z[1]-re[1]+le*(te[1]-z[1]))/(oe[1]-re[1]);if(!(!E&&(!Zm(le,0,1)||!Zm(he,0,1))))return[z[0]+le*(te[0]-z[0]),z[1]+le*(te[1]-z[1])]}function H3(b){if(Array.isArray(b))return Zm(b[0],0,1)&&Zm(b[1],0,1)?b:[.5,.5];const x=b.split("-"),E=x.includes("left")?0:x.includes("right")?1:.5,z=x.includes("top")?0:x.includes("bottom")?1:.5;return[E,z]}function Wf(b){const{x=0,y:E=0,z=0}=b.style||{};return[+x,+E,+z]}function Y_(b){const{x,y:E,z}=b.style||{};return x!==void 0||E!==void 0||z!==void 0}function V3(b,x){const[E,z]=x,{min:te,max:re}=b;return[te[0]+E*(re[0]-te[0]),te[1]+z*(re[1]-te[1])]}function Jy(b,x="center"){const E=H3(x);return V3(b,E)}function nq(b,x){const E=parseAnchor(x);return V3(b,E)}const rq=b=>{const[x,E]=b;return{left:Math.min(x[0],E[0]),right:Math.max(x[0],E[0]),top:Math.min(x[1],E[1]),bottom:Math.max(x[1],E[1])}};function kg(b){var x;return[b.x,b.y,(x=b.z)!==null&&x!==void 0?x:0]}function tm(b){var x;return{x:b[0],y:b[1],z:(x=b[2])!==null&&x!==void 0?x:0}}function iq(b){return b.sort((x,E)=>x[0]-E[0]||x[1]-E[1])}function oq(b){const x=new Set;return b.filter(E=>{const z=E.join(",");return x.has(z)?!1:(x.add(z),!0)})}function HC(b,x=0){return b.map(E=>parseFloat(E.toFixed(x)))}function hx(b,x,E,z=!1){if(Qd(b,x))return b;const te=z?Jc(b,x):Jc(x,b),re=Qy(te),oe=[re[0]*E,re[1]*E];return hu(RE(b),oe)}function K3(b,x){return b[1]===x[1]}function X_(b,x){return b[0]===x[0]}function Q_(b,x){return K3(b,x)||X_(b,x)}function Z3(b,x,E){return G3([b,x],[x,E])}function Y3(b,x){return[2*x[0]-b[0],2*x[1]-b[1]]}function X3(b,x,E,z=!0,te=!1){for(let re=0;re<E.length;re++){let oe=E[re],le=E[(re+1)%E.length];z&&(oe=hu(x,oe),le=hu(x,le));const he=te?Y3(b,x):b,ge=A5([x,he],[oe,le]);if(ge)return{point:ge,line:[oe,le]}}return{point:x,line:void 0}}function J_(b,x,E,z){const te=b[0],re=b[1];let oe=!1;E===void 0&&(E=0),z===void 0&&(z=x.length);const le=z-E;for(let he=0,ge=le-1;he<le;ge=he++){const Ae=x[he+E][0],Pe=x[he+E][1],We=x[ge+E][0],Xe=x[ge+E][1];Pe>re!=Xe>re&&te<(We-Ae)*(re-Pe)/(Xe-Pe)+Ae&&(oe=!oe)}return oe}function q_(b,x,E=!1){const z=Jy(x,"center"),te=[Jy(x,"left-top"),Jy(x,"right-top"),Jy(x,"right-bottom"),Jy(x,"left-bottom")];return X3(b,z,te,!1,E).point}function QP(b,x,E=!1){const z=x.center,te=E?Y3(b,z):b,re=Jc(te,x.center),oe=Math.atan2(re[1],re[0]);if(isNaN(oe))return z;const le=Ym(x)/2,he=Xm(x)/2,ge=z[0]+le*Math.cos(oe),Ae=z[1]+he*Math.sin(oe);return[ge,Ae]}function $_(b,x){let E=1/0,z=[b[0],x[0]];return b.forEach(te=>{x.forEach(re=>{const oe=Nh(te,re);oe<E&&(E=oe,z=[te,re])})}),z}function e8(b,x){let E=1/0,z=[[0,0],[0,0]];return x.forEach(te=>{const re=t8(b,te);re<E&&(E=re,z=te)}),z}function t8(b,x){const E=Q3(b,x);return Nh(b,E)}function Q3(b,x){const[E,z]=x[0],[te,re]=x[1],[oe,le]=b,he=te-E,ge=re-z;if(he===0&&ge===0)return[E,z];let Ae=((oe-E)*he+(le-z)*ge)/(he*he+ge*ge);Ae>1?Ae=1:Ae<0&&(Ae=0);const Pe=E+Ae*he,We=z+Ae*ge;return[Pe,We]}function n8(b){const x=b.reduce((E,z)=>hu(E,z),[0,0]);return em(x,b.length)}function S5(b,x=!0){const E=n8(b);return b.sort(([z,te],[re,oe])=>{const le=Math.atan2(te-E[1],z-E[0]),he=Math.atan2(oe-E[1],re-E[0]);return x?he-le:le-he})}function J3(b,x){return[b,[b[0],x[1]],x,[x[0],b[1]]]}const q3=b=>b.map(x=>qu(x)?x.toLocaleLowerCase():x);class PS{constructor(x){this.map=new Map,this.recordKey=new Set,this.onKeyDown=E=>{E!=null&&E.key&&(this.recordKey.add(E.key),this.trigger(E))},this.onKeyUp=E=>{E!=null&&E.key&&this.recordKey.delete(E.key)},this.onWheel=E=>{this.triggerExtendKey(ia.WHEEL,E)},this.onDrag=E=>{this.triggerExtendKey(ia.DRAG,E)},this.onFocus=()=>{this.recordKey.clear()},this.emitter=x,this.bindEvents()}bind(x,E){x.length!==0&&this.map.set(x,E)}unbind(x,E){this.map.forEach((z,te)=>{Qd(te,x)&&(!E||E===z)&&this.map.delete(te)})}unbindAll(){this.map.clear()}match(x){const E=q3(Array.from(this.recordKey)).sort(),z=q3(x).sort();return Qd(E,z)}bindEvents(){var x;const{emitter:E}=this;E.on(ia.KEY_DOWN,this.onKeyDown),E.on(ia.KEY_UP,this.onKeyUp),E.on(ia.WHEEL,this.onWheel),E.on(ia.DRAG,this.onDrag),(x=globalThis.addEventListener)===null||x===void 0||x.call(globalThis,"focus",this.onFocus)}trigger(x){this.map.forEach((E,z)=>{this.match(z)&&E(x)})}triggerExtendKey(x,E){this.map.forEach((z,te)=>{te.includes(x)&&Qd(Array.from(this.recordKey),te.filter(re=>re!==x))&&z(E)})}destroy(){var x;this.unbindAll(),this.emitter.off(ia.KEY_DOWN,this.onKeyDown),this.emitter.off(ia.KEY_UP,this.onKeyUp),this.emitter.off(ia.WHEEL,this.onWheel),this.emitter.off(ia.DRAG,this.onDrag),(x=globalThis.removeEventListener)===null||x===void 0||x.call(globalThis,"blur",this.onFocus)}}class VC extends A0{constructor(x,E){super(x,yp({},VC.defaultOptions,E)),this.shortcut=new PS(x.graph),this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.clearStates=this.clearStates.bind(this),this.bindEvents()}onPointerDown(x){if(!this.validate(x)||!this.isKeydown()||this.startPoint)return;const{canvas:E,graph:z}=this.context,te=Object.assign({},this.options.style);this.options.style.lineWidth&&(te.lineWidth=+this.options.style.lineWidth/z.getZoom()),this.rectShape=new Qc({id:"g6-brush-select",style:te}),E.appendChild(this.rectShape),this.startPoint=[x.canvas.x,x.canvas.y]}onPointerMove(x){var E;if(!this.startPoint)return;const{immediately:z,mode:te}=this.options;this.endPoint=JP(x),(E=this.rectShape)===null||E===void 0||E.attr({x:Math.min(this.endPoint[0],this.startPoint[0]),y:Math.min(this.endPoint[1],this.startPoint[1]),width:Math.abs(this.endPoint[0]-this.startPoint[0]),height:Math.abs(this.endPoint[1]-this.startPoint[1])}),z&&te==="default"&&this.updateElementsStates(J3(this.startPoint,this.endPoint))}onPointerUp(x){if(this.startPoint){if(!this.endPoint){this.clearBrush();return}this.endPoint=JP(x),this.updateElementsStates(J3(this.startPoint,this.endPoint)),this.clearBrush()}}clearStates(){this.endPoint||this.clearElementsStates()}clearElementsStates(){const{graph:x}=this.context,E=Object.values(x.getData()).reduce((z,te)=>Object.assign({},z,te.reduce((re,oe)=>(re[Xi(oe)]=[],re),{})),{});x.setElementState(E,this.options.animation)}updateElementsStates(x){const{graph:E}=this.context,{enableElements:z,state:te,mode:re,onSelect:oe}=this.options,le=this.selector(E,x,z);let he={};switch(re){case"union":le.forEach(ge=>{he[ge]=[...E.getElementState(ge),te]});break;case"diff":le.forEach(ge=>{const Ae=E.getElementState(ge);he[ge]=Ae.includes(te)?Ae.filter(Pe=>Pe!==te):[...Ae,te]});break;case"intersect":le.forEach(ge=>{const Ae=E.getElementState(ge);he[ge]=Ae.includes(te)?[te]:[]});break;case"default":default:le.forEach(ge=>{he[ge]=[te]});break}Ys(oe)&&(he=oe(he)),E.setElementState(he,this.options.animation)}selector(x,E,z){if(!z||z.length===0)return[];const te=[],re=x.getData();if(z.forEach(oe=>{re[`${oe}s`].forEach(le=>{const he=Xi(le);x.getElementVisibility(he)!=="hidden"&&J_(x.getElementPosition(he),E)&&te.push(he)})}),z.includes("edge")){const oe=re.edges;oe==null||oe.forEach(le=>{const{source:he,target:ge}=le;te.includes(he)&&te.includes(ge)&&te.push(Xi(le))})}return te}clearBrush(){var x;(x=this.rectShape)===null||x===void 0||x.remove(),this.rectShape=void 0,this.startPoint=void 0,this.endPoint=void 0}isKeydown(){const{trigger:x}=this.options,E=Array.isArray(x)?x:[x];return this.shortcut.match(E.filter(z=>z!=="drag"))}validate(x){if(this.destroyed)return!1;const{enable:E}=this.options;return Ys(E)?E(x):!!E}bindEvents(){const{graph:x}=this.context;x.on(ia.POINTER_DOWN,this.onPointerDown),x.on(ia.POINTER_MOVE,this.onPointerMove),x.on(ia.POINTER_UP,this.onPointerUp),x.on(Ky.CLICK,this.clearStates)}unbindEvents(){const{graph:x}=this.context;x.off(ia.POINTER_DOWN,this.onPointerDown),x.off(ia.POINTER_MOVE,this.onPointerMove),x.off(ia.POINTER_UP,this.onPointerUp),x.off(Ky.CLICK,this.clearStates)}update(x){this.unbindEvents(),this.options=yp(this.options,x),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}VC.defaultOptions={animation:!1,enable:!0,enableElements:["node","combo","edge"],immediately:!1,mode:"default",state:"selected",trigger:["shift"],style:{width:0,height:0,lineWidth:1,fill:"#1677FF",stroke:"#1677FF",fillOpacity:.1,zIndex:2,pointerEvents:"none"}};const JP=b=>[b.canvas.x,b.canvas.y],qy=.8,kE=["node","edge","combo"];function FE(b,x,E,z,te=0){z==="TB"&&x(b,te);const re=E(b);if(re)for(const oe of re)FE(oe,x,E,z,te+1);z==="BT"&&x(b,te)}function r8(b,x,E){const z=[[b,0]];for(;z.length;){const[te,re]=z.shift();x(te,re);const oe=E(te);if(oe)for(const le of oe)z.push([le,re+1])}}function $3(b,x,E,z,te="both"){if(x==="combo"||x==="node")return w5(b,E,z,te);const re=b.getEdgeData(E);if(!re)return[];const oe=w5(b,re.source,z-1,te),le=w5(b,re.target,z-1,te);return Array.from(new Set([...oe,...le,E]))}function w5(b,x,E,z="both"){const te=new Set,re=new Set,oe=new Set;return r8(x,(le,he)=>{he>E||(oe.add(le),b.getRelatedEdgesData(le,z).forEach(ge=>{const Ae=Xi(ge);!re.has(Ae)&&he<E&&(oe.add(Ae),re.add(Ae))}))},le=>b.getRelatedEdgesData(le,z).map(he=>he.source===le?he.target:he.source).filter(he=>te.has(he)?!1:(te.add(he),!0))),Array.from(oe)}function C5(b){return b.states||[]}var qP=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})};class $P extends A0{constructor(x,E){super(x,Object.assign({},$P.defaultOptions,E)),this.onClickSelect=z=>qP(this,void 0,void 0,function*(){var te,re;this.validate(z)&&(yield this.updateState(z),(re=(te=this.options).onClick)===null||re===void 0||re.call(te,z))}),this.onClickCanvas=z=>qP(this,void 0,void 0,function*(){var te,re;this.validate(z)&&(yield this.clearState(),(re=(te=this.options).onClick)===null||re===void 0||re.call(te,z))}),this.shortcut=new PS(x.graph),this.bindEvents()}bindEvents(){const{graph:x}=this.context;this.unbindEvents(),kE.forEach(E=>{x.on(`${E}:${ia.CLICK}`,this.onClickSelect)}),x.on(Ky.CLICK,this.onClickCanvas)}get isMultipleSelect(){const{multiple:x,trigger:E}=this.options;return x&&this.shortcut.match(E)}getNeighborIds(x){const{target:E,targetType:z}=x,{graph:te}=this.context,{degree:re}=this.options;return $3(te,z,E.id,typeof re=="function"?re(x):re).filter(oe=>oe!==E.id)}updateState(x){return qP(this,void 0,void 0,function*(){const{state:E,unselectedState:z,neighborState:te,animation:re}=this.options;if(!E&&!te&&!z)return;const{target:oe}=x,{graph:le}=this.context,he=le.getElementData(oe.id),ge=C5(he).includes(E)?"unselect":"select",Ae={},Pe=this.isMultipleSelect,We=[oe.id],Xe=this.getNeighborIds(x);if(Pe)if(Object.assign(Ae,this.getDataStates()),ge==="select"){const qe=(nt,at)=>{nt.forEach(pt=>{const mt=new Set(le.getElementState(pt));mt.add(at),mt.delete(z),Ae[pt]=Array.from(mt)})};qe(We,E),qe(Xe,te),z&&Object.keys(Ae).forEach(nt=>{const at=Ae[nt];!at.includes(E)&&!at.includes(te)&&!at.includes(z)&&Ae[nt].push(z)})}else{const qe=Ae[oe.id];Ae[oe.id]=qe.filter(nt=>nt!==E&&nt!==te),qe.includes(z)||Ae[oe.id].push(z),Xe.forEach(nt=>{Ae[nt]=Ae[nt].filter(at=>at!==te),Ae[nt].includes(E)||Ae[nt].push(z)})}else if(ge==="select"){Object.assign(Ae,this.getClearStates(!!z));const qe=(nt,at)=>{nt.forEach(pt=>{Ae[pt]||(Ae[pt]=le.getElementState(pt)),Ae[pt].push(at)})};qe(We,E),qe(Xe,te),z&&Object.keys(Ae).forEach(nt=>{!We.includes(nt)&&!Xe.includes(nt)&&Ae[nt].push(z)})}else Object.assign(Ae,this.getClearStates());yield le.setElementState(Ae,re)})}getDataStates(){const{graph:x}=this.context,{nodes:E,edges:z,combos:te}=x.getData(),re={};return[...E,...z,...te].forEach(oe=>{re[Xi(oe)]=C5(oe)}),re}getClearStates(x=!1){const{graph:E}=this.context,{state:z,unselectedState:te,neighborState:re}=this.options,oe=new Set([z,te,re]),{nodes:le,edges:he,combos:ge}=E.getData(),Ae={};return[...le,...he,...ge].forEach(Pe=>{const We=C5(Pe),Xe=We.filter(qe=>!oe.has(qe));(x||Xe.length!==We.length)&&(Ae[Xi(Pe)]=Xe)}),Ae}clearState(){return qP(this,void 0,void 0,function*(){const{graph:x}=this.context;yield x.setElementState(this.getClearStates(),this.options.animation)})}validate(x){if(this.destroyed)return!1;const{enable:E}=this.options;return Ys(E)?E(x):!!E}unbindEvents(){const{graph:x}=this.context;kE.forEach(E=>{x.off(`${E}:${ia.CLICK}`,this.onClickSelect)}),x.off(Ky.CLICK,this.onClickCanvas)}destroy(){this.unbindEvents(),super.destroy()}}$P.defaultOptions={animation:!0,enable:!0,multiple:!1,trigger:["shift"],state:"selected",neighborState:"selected",unselectedState:void 0,degree:0};function qp(b){var x;return!!(!((x=b.style)===null||x===void 0)&&x.collapsed)}var xp=function(b,x,E){for(var z=0,te=qu(x)?x.split("."):x;b&&z<te.length;)b=b[te[z++]];return b===void 0||z<te.length?E:b},KC=function(b,x,E){var z=b,te=qu(x)?x.split("."):x;return te.forEach(function(re,oe){oe<te.length-1?(lh(z[re])||(z[re]=As(te[oe+1])?[]:{}),z=z[re]):z[re]=E}),b},i8=function(b){var x=VI(b);return x.charAt(0).toLowerCase()+x.substring(1)},o8=i8;function ZC(b,x){if(!b.startsWith(x))return!1;const E=b[x.length];return E>="A"&&E<="Z"}function eO(b,x){return`${x}${DP(b)}`}function tO(b,x,E=!0){if(!x||!ZC(b,x))return b;const z=b.slice(x.length);return E?o8(z):z}function hf(b,x){const E=Object.entries(b).reduce((z,[te,re])=>(te==="className"||te==="class"||ZC(te,x)&&Object.assign(z,{[tO(te,x)]:re}),z),{});if("opacity"in b){const z=eO("opacity",x),te=b.opacity;if(z in b){const re=b[z];Object.assign(E,{opacity:te*re})}else Object.assign(E,{opacity:te})}return E}function b5(b,x){const E=x.length;return Object.keys(b).reduce((z,te)=>{if(te.startsWith(x)){const re=te.slice(E);z[re]=b[te]}return z},{})}function nO(b,x){const E=typeof x=="string"?[x]:x,z={};return Object.keys(b).forEach(te=>{E.find(re=>te.startsWith(re))||(z[te]=b[te])}),z}function aq(b,x,E){return Object.entries(b).reduce((z,[te,re])=>(ZC(te,x)?z[eO(tO(te,x,!1),E)]=re:z[te]=re,z),{})}function S0(b=0){if(typeof b=="number")return[b,b,b];const[x,E=x,z=x]=b;return[x,E,z]}var a8=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};function rO(b,x){const{datum:E,graph:z}=x;return typeof b=="function"?b.call(z,E):Object.fromEntries(Object.entries(b).map(([te,re])=>typeof re=="function"?[te,re.call(z,E)]:[te,re]))}function fg(b,x){const E=(b==null?void 0:b.style)||{},z=(x==null?void 0:x.style)||{};for(const te in E)te in z||(z[te]=E[te]);return Object.assign({},b,x,{style:z})}function s8(b){const{x,y:E,z,class:te,className:re,transform:oe,transformOrigin:le,zIndex:he,visibility:ge}=b;return a8(b,["x","y","z","class","className","transform","transformOrigin","zIndex","visibility"])}function l8(b,x){const E=S0(b);let z={};return x.text&&!x.fontSize&&(z={fontSize:Math.min(...E)*.5}),x.src&&(!x.width||!x.height)&&(z={width:E[0]*.5,height:E[1]*.5}),z}function iO(b){if(b)return typeof b=="string"||typeof b=="function"||Array.isArray(b)?{type:"group",field:x=>x.id,color:b,invert:!1}:b}function u8(b,x){if(!x)return{};const{type:E,color:z,field:te,invert:re}=x,oe=he=>{const ge=typeof z=="string"?Zy("palette",z):z;if(typeof ge=="function"){const Ae={};return he.forEach(([Pe,We])=>{Ae[Pe]=ge(re?1-We:We)}),Ae}else if(Array.isArray(ge)){const Ae=re?[...ge].reverse():ge,Pe={};return he.forEach(([We,Xe])=>{Pe[We]=Ae[Xe%ge.length]}),Pe}return{}},le=(he,ge)=>{var Ae;return typeof he=="string"?(Ae=ge.data)===null||Ae===void 0?void 0:Ae[he]:he==null?void 0:he(ge)};if(E==="group"){const he=OP(b,We=>{if(!te)return"default";const Xe=le(te,We);return Xe?String(Xe):"default"}),ge=Object.keys(he),Ae=oe(ge.map((We,Xe)=>[We,Xe])),Pe={};return Object.entries(he).forEach(([We,Xe])=>{Xe.forEach(qe=>{Pe[Xi(qe)]=Ae[We]})}),Pe}else if(E==="value"){const[he,ge]=b.reduce(([Pe,We],Xe)=>{const qe=le(te,Xe);if(typeof qe!="number")throw new Error(Yy(`Palette field ${te} is not a number`));return[Math.min(Pe,qe),Math.max(We,qe)]},[1/0,-1/0]),Ae=ge-he;return oe(b.map(Pe=>[Pe.id,(le(te,Pe)-he)/Ae]))}}function oO(b){const x=typeof b=="string"?Zy("palette",b):b;if(typeof x!="function")return x}function aO(b,x){let E=2*b;return typeof x=="string"?E=b*Number(x.replace("%",""))/100:typeof x=="number"&&(E=x),isNaN(E)&&(E=2*b),E}function sO(b,x,E=1,z=!1){const te=z?E:1,re=(b.max[0]-b.min[0])*te;return aO(re,x)}function c8(b,x,E=1){const z=Nh(b[0],b[1])*E;return aO(z,x)}var h8={}.toString,d8=function(b){return h8.call(b).replace(/^\[object /,"").replace(/]$/,"")},f8=d8,g8=Object.prototype,p8=function(b){var x=b&&b.constructor,E=typeof x=="function"&&x.prototype||g8;return b===E},v8=p8,m8=Object.prototype.hasOwnProperty;function y8(b){if(El(b))return!0;if(kC(b))return!b.length;var x=f8(b);if(x==="Map"||x==="Set")return!b.size;if(v8(b))return!Object.keys(b).length;for(var E in b)if(m8.call(b,E))return!1;return!0}var Jm=y8;class YC extends Ng{constructor(x){lO(x.style),super(x),this.shapeMap={},this.animateMap={},this.render(this.attributes,this),this.setVisibility(),this.bindEvents()}get parsedAttributes(){return this.attributes}upsert(x,E,z,te,re){var oe,le,he,ge,Ae,Pe,We,Xe;const qe=this.shapeMap[x];if(z===!1){qe&&((oe=re==null?void 0:re.beforeDestroy)===null||oe===void 0||oe.call(re,qe),te.removeChild(qe),delete this.shapeMap[x],(le=re==null?void 0:re.afterDestroy)===null||le===void 0||le.call(re,qe));return}const nt=typeof E=="string"?Zy(FC.SHAPE,E):E;if(!nt)throw new Error(Yy(`Shape ${E} not found`));if(!qe||qe.destroyed||!(qe instanceof nt)){qe&&((he=re==null?void 0:re.beforeDestroy)===null||he===void 0||he.call(re,qe),qe==null||qe.destroy(),(ge=re==null?void 0:re.afterDestroy)===null||ge===void 0||ge.call(re,qe)),(Ae=re==null?void 0:re.beforeCreate)===null||Ae===void 0||Ae.call(re);const at=new nt({className:x,style:z});return te.appendChild(at),this.shapeMap[x]=at,(Pe=re==null?void 0:re.afterCreate)===null||Pe===void 0||Pe.call(re,at),at}return(We=re==null?void 0:re.beforeUpdate)===null||We===void 0||We.call(re,qe),Z5(qe,z),(Xe=re==null?void 0:re.afterUpdate)===null||Xe===void 0||Xe.call(re,qe),qe}update(x={}){const E=Object.assign({},this.attributes,x);lO(E),E7(this,E),this.render(E,this),this.setVisibility()}bindEvents(){}getGraphicStyle(x){return s8(x)}get compositeShapes(){return[["badges","badge-"],["ports","port-"]]}animate(x,E){if(x.length===0)return null;const z=[];if(x[0].x!==void 0||x[0].y!==void 0||x[0].z!==void 0){const{x:re=0,y:oe=0,z:le=0}=this.attributes;x.forEach(he=>{const{x:ge=re,y:Ae=oe,z:Pe=le}=he;Object.assign(he,{transform:Pe?[["translate3d",ge,Ae,Pe]]:[["translate",ge,Ae]]})})}const te=super.animate(x,E);if(te&&(P5(this,te),z.push(te)),Array.isArray(x)&&x.length>0){const re=["transform","transformOrigin","x","y","z","zIndex"];if(Object.keys(x[0]).some(oe=>!re.includes(oe))){Object.entries(this.shapeMap).forEach(([le,he])=>{const ge=`get${DP(le)}Style`,Ae=this[ge];if(Ys(Ae)){const Pe=x.map(Xe=>Ae.call(this,Object.assign(Object.assign({},this.attributes),Xe))),We=he.animate(i5(Pe),E);We&&(P5(he,We),z.push(We))}});const oe=(le,he)=>{if(!Jm(le)){const ge=`get${DP(he)}Style`,Ae=this[ge];if(Ys(Ae)){const Pe=x.map(We=>Ae.call(this,Object.assign(Object.assign({},this.attributes),We)));Object.entries(Pe[0]).map(([We])=>{const Xe=Pe.map(nt=>nt[We]),qe=le[We];if(qe){const nt=qe.animate(i5(Xe),E);nt&&(P5(qe,nt),z.push(nt))}})}}};this.compositeShapes.forEach(([le,he])=>{const ge=b5(this.shapeMap,he);oe(ge,le)})}}return r5(z)}getShape(x){return this.shapeMap[x]}setVisibility(){const{visibility:x}=this.attributes;BE(this,x)}destroy(){this.shapeMap={},this.animateMap={},super.destroy()}}function P5(b,x){x==null||x.finished.then(()=>{const E=b.activeAnimations.findIndex(z=>z===x);E>-1&&b.activeAnimations.splice(E,1)})}function lO(b){if(!b)return{};if("x"in b||"y"in b||"z"in b){const{x=0,y:E=0,z,transform:te}=b,re=YI(x,E,z,te);re&&(b.transform=re)}return b}var x8=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};class dx extends YC{constructor(x){super(fg({style:dx.defaultStyleProps},x))}isTextStyle(x){return ZC(x,"label")}isBackgroundStyle(x){return ZC(x,"background")}getTextStyle(x){const E=this.getGraphicStyle(x),{padding:z}=E,te=x8(E,["padding"]);return nO(te,"background")}getBackgroundStyle(x){if(x.background===!1)return!1;const E=this.getGraphicStyle(x),{wordWrap:z,wordWrapWidth:te,padding:re}=E,oe=hf(E,"background"),{min:[le,he],center:[ge,Ae],halfExtents:[Pe,We]}=this.shapeMap.text.getGeometryBounds(),[Xe,qe,nt,at]=Jv(re),pt=Pe*2+at+qe,{width:mt,height:bt}=oe;mt&&bt?Object.assign(oe,{x:ge-Number(mt)/2,y:Ae-Number(bt)/2}):Object.assign(oe,{x:le-at,y:he-Xe,width:z?Math.min(pt,te+at+qe):pt,height:We*2+Xe+nt});const{radius:jt}=oe;if(typeof jt=="string"&&jt.endsWith("%")){const Ut=Number(jt.replace("%",""))/100;oe.radius=Math.min(+oe.width,+oe.height)*Ut}return oe}render(x=this.parsedAttributes,E=this){this.upsert("text",tp,this.getTextStyle(x),E),this.upsert("background",Qc,this.getBackgroundStyle(x),E)}getGeometryBounds(){return(this.getShape("background")||this.getShape("text")).getGeometryBounds()}}dx.defaultStyleProps={padding:0,fontSize:12,fontFamily:"system-ui, sans-serif",wordWrap:!0,maxLines:1,wordWrapWidth:128,textOverflow:"...",textBaseline:"middle",backgroundOpacity:.75,backgroundZIndex:-1,backgroundLineWidth:0};class MS extends YC{constructor(x){super(fg({style:MS.defaultStyleProps},x))}getBadgeStyle(x){return this.getGraphicStyle(x)}render(x=this.parsedAttributes,E=this){this.upsert("label",dx,this.getBadgeStyle(x),E)}getGeometryBounds(){const x=this.getShape("label");return(x.getShape("background")||x.getShape("text")).getGeometryBounds()}}MS.defaultStyleProps={padding:[2,4,2,4],fontSize:10,wordWrap:!1,backgroundRadius:"50%",backgroundOpacity:1};function E8(b,x=!0){const E=[];return b.forEach((z,te)=>{E.push([te===0?"M":"L",...z])}),x&&E.push(["Z"]),E}const uO={M:["x","y"],m:["dx","dy"],H:["x"],h:["dx"],V:["y"],v:["dy"],L:["x","y"],l:["dx","dy"],Z:[],z:[],C:["x1","y1","x2","y2","x","y"],c:["dx1","dy1","dx2","dy2","dx","dy"],S:["x2","y2","x","y"],s:["dx2","dy2","dx","dy"],Q:["x1","y1","x","y"],q:["dx1","dy1","dx","dy"],T:["x","y"],t:["dx","dy"],A:["rx","ry","rotation","large-arc","sweep","x","y"],a:["rx","ry","rotation","large-arc","sweep","dx","dy"]};function A8(b){const x=b.replace(/[\n\r]/g,"").replace(/-/g," -").replace(/(\d*\.)(\d+)(?=\.)/g,"$1$2 ").trim().split(/\s*,|\s+/),E=[];let z="",te={};for(;x.length>0;){let re=x.shift();re in uO?z=re:x.unshift(re),te={type:z},uO[z].forEach(he=>{re=x.shift(),te[he]=re}),z==="M"?z="L":z==="m"&&(z="l");const[oe,...le]=Object.values(te);E.push([oe,...le.map(Number)])}return E}function S8(b){const x=[];return(typeof b=="string"?A8(b):b).forEach(z=>{const te=z[0];if(te==="Z"){x.push(x[0]);return}if(te!=="A")for(let re=1;re<z.length;re=re+2)x.push([z[re],z[re+1],0]);else{const re=z.length;x.push([z[re-2],z[re-1],0])}}),x}const cO=b=>{if(b.length<2)return[["M",0,0],["L",0,0]];const x=b[0],E=b[1],z=b[b.length-1],te=b[b.length-2];b.unshift(te,z),b.push(x,E);const re=[["M",z[0],z[1]]];for(let oe=1;oe<b.length-2;oe+=1){const[le,he]=b[oe-1],[ge,Ae]=b[oe],[Pe,We]=b[oe+1],[Xe,qe]=oe!==b.length-2?b[oe+2]:[Pe,We],nt=ge+(Pe-le)/6,at=Ae+(We-he)/6,pt=Pe-(Xe-ge)/6,mt=We-(qe-Ae)/6;re.push(["C",nt,at,pt,mt,Pe,We])}return re};function w8(b,x,E,z,te,re,oe){const[le,he]=Jy(b,x),ge={textAlign:x==="left"?"right":x==="right"?"left":"center",textBaseline:x==="top"?"bottom":x==="bottom"?"top":"middle",transform:[["translate",le+E,he+z]]};if(x==="center"||!te)return ge;const Ae=S8(re);if(!Ae||Ae.length<=3)return ge;const Pe=Ae.map((qe,nt)=>{const at=qe,pt=Ae[(nt+1)%Ae.length];return Qd(at,pt)?null:[at,pt]}).filter(Boolean),We=e8([le,he],Pe),Xe=Q3([le,he],We);if(Xe&&We&&(ge.transform=[["translate",Xe[0]+E,Xe[1]+z]],oe)){const qe=Math.atan((We[0][1]-We[1][1])/(We[0][0]-We[1][0]));ge.transform.push(["rotate",qe/Math.PI*180]),ge.textAlign="center",(x==="right"||x==="left")&&(qe>0?ge.textBaseline=x==="right"?"bottom":"top":ge.textBaseline=x==="right"?"top":"bottom")}return ge}var C8=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};class XC extends YC{constructor(x){super(fg({style:XC.defaultStyleProps},x))}getLabelStyle(x){if(!x.label||!x.d||x.d.length===0)return!1;const E=hf(this.getGraphicStyle(x),"label"),{maxWidth:z,offsetX:te,offsetY:re,autoRotate:oe,placement:le,closeToPath:he}=E,ge=C8(E,["maxWidth","offsetX","offsetY","autoRotate","placement","closeToPath"]),Ae=this.shapeMap.key,Pe=Ae==null?void 0:Ae.getRenderBounds();return Object.assign(w8(Pe,le,te,re,he,x.d,oe),{wordWrapWidth:sO(Pe,z)},ge)}getKeyStyle(x){return this.getGraphicStyle(x)}render(x,E){this.upsert("key",Pu,this.getKeyStyle(x),E),this.upsert("label",dx,this.getLabelStyle(x),E)}}XC.defaultStyleProps={label:!0,labelPlacement:"bottom",labelCloseToPath:!0,labelAutoRotate:!0,labelOffsetX:0,labelOffsetY:0};function b8(b){const x=[],E=z=>{z!=null&&z.children.length&&z.children.forEach(te=>{x.push(te),E(te)})};return E(b),x}function P8(b){const x=[];let E=b.parentNode;for(;E;)x.push(E),E=E.parentNode;return x}class M5 extends Ff{constructor(x){super(x),this.onMounted=()=>{this.handleRadius()},this.onAttrModified=()=>{this.handleRadius()},LS=this,this.isMutationObserved=!0,this.addEventListener(Zt.MOUNTED,this.onMounted),this.addEventListener(Zt.ATTR_MODIFIED,this.onAttrModified)}handleRadius(){const{radius:x,clipPath:E,width:z=0,height:te=0}=this.attributes;if(x&&z&&te){const[re,oe]=this.getBounds().min,le={x:re,y:oe,radius:x,width:z,height:te};if(E)Object.assign(this.parsedStyle.clipPath.style,le);else{const he=new Qc({style:le});this.style.clipPath=he}}else E&&(this.style.clipPath=null)}}const L5=new WeakMap;let LS=null;const T5=b=>{if(LS&&P8(LS).includes(b)){const x=L5.get(b);x?x.includes(LS)||x.push(LS):L5.set(b,[LS])}},D5=b=>{const x=L5.get(b);x&&x.forEach(E=>E.handleRadius())};class hO extends YC{constructor(x){super(x)}isImage(){const{src:x}=this.attributes;return!!x}getIconStyle(x=this.attributes){const{width:E=0,height:z=0}=x,te=this.getGraphicStyle(x);return this.isImage()?Object.assign({x:-E/2,y:-z/2},te):Object.assign({textBaseline:"middle",textAlign:"center"},te)}render(x=this.attributes,E=this){this.upsert("icon",this.isImage()?M5:tp,this.getIconStyle(x),E)}}class dO extends YC{get context(){return this.config.context}get parsedAttributes(){return this.attributes}onframe(){}animate(x,E){const z=super.animate(x,E);return z&&(z.onframe=()=>this.onframe(),z.finished.then(()=>this.onframe())),z}}var eM=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};class nm extends dO{constructor(x){super(fg({style:nm.defaultStyleProps},x)),this.type="node"}getSize(x=this.attributes){const{size:E}=x;return S0(E)}getKeyStyle(x){const E=this.getGraphicStyle(x);return Object.assign(nO(E,["label","halo","icon","badge","port"]))}getLabelStyle(x){if(x.label===!1||!x.labelText)return!1;const E=hf(this.getGraphicStyle(x),"label"),{placement:z,maxWidth:te,offsetX:re,offsetY:oe}=E,le=eM(E,["placement","maxWidth","offsetX","offsetY"]),he=this.getShape("key").getLocalBounds();return Object.assign(VO(he,z,re,oe),{wordWrapWidth:sO(he,te)},le)}getHaloStyle(x){if(x.halo===!1)return!1;const E=this.getKeyStyle(x),{fill:z}=E,te=eM(E,["fill"]),re=hf(this.getGraphicStyle(x),"halo");return Object.assign(Object.assign(Object.assign({},te),{stroke:z}),re)}getIconStyle(x){if(x.icon===!1||!x.iconText&&!x.iconSrc)return!1;const E=hf(this.getGraphicStyle(x),"icon");return Object.assign(l8(x.size,E),E)}getBadgesStyle(x){var E;const z=b5(this.shapeMap,"badge-"),te={};if(Object.keys(z).forEach(Pe=>{te[Pe]=!1}),x.badge===!1||!(!((E=x.badges)===null||E===void 0)&&E.length))return te;const{badges:re=[],badgePalette:oe,opacity:le=1}=x,he=eM(x,["badges","badgePalette","opacity"]),ge=oO(oe),Ae=hf(this.getGraphicStyle(he),"badge");return re.forEach((Pe,We)=>{te[We]=Object.assign(Object.assign({backgroundFill:ge?ge[We%(ge==null?void 0:ge.length)]:void 0,opacity:le},Ae),this.getBadgeStyle(Pe))}),te}getBadgeStyle(x){const E=this.getShape("key"),{placement:z="top",offsetX:te,offsetY:re}=x,oe=eM(x,["placement","offsetX","offsetY"]),le=VO(E.getLocalBounds(),z,te,re,!0);return Object.assign(Object.assign({},le),oe)}getPortsStyle(x){var E;const z=this.getPorts(),te={};if(Object.keys(z).forEach(le=>{te[le]=!1}),x.port===!1||!(!((E=x.ports)===null||E===void 0)&&E.length))return te;const re=hf(this.getGraphicStyle(x),"port"),{ports:oe=[]}=x;return oe.forEach((le,he)=>{const ge=le.key||he,Ae=Object.assign(Object.assign({},re),le);if(UO(Ae))te[ge]=!1;else{const[Pe,We]=this.getPortXY(x,le);te[ge]=Object.assign({transform:[["translate",Pe,We]]},Ae)}}),te}getPortXY(x,E){const{placement:z="left"}=E,te=this.getShape("key");return H5(M8(this.context,te),z)}getPorts(){return b5(this.shapeMap,"port-")}getCenter(){return this.getShape("key").getBounds().center}getIntersectPoint(x,E=!1){const z=this.getShape("key").getBounds();return q_(x,z,E)}drawHaloShape(x,E){const z=this.getHaloStyle(x),te=this.getShape("key");this.upsert("halo",te.constructor,z,E)}drawIconShape(x,E){const z=this.getIconStyle(x);this.upsert("icon",hO,z,E),T5(this)}drawBadgeShapes(x,E){const z=this.getBadgesStyle(x);Object.keys(z).forEach(te=>{const re=z[te];this.upsert(`badge-${te}`,MS,re,E)})}drawPortShapes(x,E){const z=this.getPortsStyle(x);Object.keys(z).forEach(te=>{const re=z[te],oe=`port-${te}`;this.upsert(oe,cf,re,E)})}drawLabelShape(x,E){const z=this.getLabelStyle(x);this.upsert("label",dx,z,E)}_drawKeyShape(x,E){return this.drawKeyShape(x,E)}render(x=this.parsedAttributes,E=this){this._drawKeyShape(x,E),this.getShape("key")&&(this.drawHaloShape(x,E),this.drawIconShape(x,E),this.drawBadgeShapes(x,E),this.drawLabelShape(x,E),this.drawPortShapes(x,E))}update(x){super.update(x),x&&("x"in x||"y"in x||"z"in x)&&D5(this)}onframe(){this.drawBadgeShapes(this.parsedAttributes,this),this.drawLabelShape(this.parsedAttributes,this)}}nm.defaultStyleProps={x:0,y:0,size:32,droppable:!0,draggable:!0,port:!0,ports:[],portZIndex:2,portLinkToCenter:!1,badge:!0,badges:[],badgeZIndex:3,halo:!1,haloDroppable:!1,haloLineDash:0,haloLineWidth:12,haloStrokeOpacity:.25,haloPointerEvents:"none",haloZIndex:-1,icon:!0,iconZIndex:1,label:!0,labelIsBillboard:!0,labelMaxWidth:"200%",labelPlacement:"bottom",labelWordWrap:!1,labelZIndex:0};function M8(b,x){if(!b)return x.getLocalBounds();const E=b.canvas.getLayer(),z=x.cloneNode();BE(z,"hidden"),E.appendChild(z);const te=z.getLocalBounds();return z.destroy(),te}class _E extends nm{constructor(x){super(fg({style:_E.defaultStyleProps},x))}drawKeyShape(x,E){return this.upsert("key",cf,this.getKeyStyle(x),E)}getKeyStyle(x){const E=super.getKeyStyle(x);return Object.assign(Object.assign({},E),{r:Math.min(...this.getSize(x))/2})}getIconStyle(x){const E=super.getIconStyle(x),{r:z}=this.getShape("key").attributes,te=z*2*qy;return E?Object.assign({width:te,height:te},E):!1}getIntersectPoint(x,E=!1){const z=this.getShape("key").getBounds();return QP(x,z,E)}}_E.defaultStyleProps={size:32};class tM extends nm{constructor(x){super(x)}get parsedAttributes(){return this.attributes}drawKeyShape(x,E){return this.upsert("key",zc,this.getKeyStyle(x),E)}getKeyStyle(x){const E=super.getKeyStyle(x);return Object.assign(Object.assign({},E),{points:this.getPoints(x)})}getIntersectPoint(x,E=!1){var z,te;const{points:re}=this.getShape("key").attributes,oe=[+(((z=this.attributes)===null||z===void 0?void 0:z.x)||0),+(((te=this.attributes)===null||te===void 0?void 0:te.y)||0)];return X3(x,oe,re,!0,E).point}}class L8 extends tM{constructor(x){super(x)}getPoints(x){const[E,z]=this.getSize(x);return y7(E,z)}}var T8=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};class nM extends _E{constructor(x){super(fg({style:nM.defaultStyleProps},x))}parseOuterR(){const{size:x}=this.parsedAttributes;return Math.min(...S0(x))/2}parseInnerR(){const{innerR:x}=this.parsedAttributes;return qu(x)?parseInt(x)/100*this.parseOuterR():x}drawDonutShape(x,E){const{donuts:z}=x;if(!(z!=null&&z.length))return;const te=z.map(Pe=>As(Pe)?{value:Pe}:Pe),re=hf(this.getGraphicStyle(x),"donut"),oe=oO(x.donutPalette);if(!oe)return;const le=te.reduce((Pe,We)=>{var Xe;return Pe+((Xe=We.value)!==null&&Xe!==void 0?Xe:0)},0),he=this.parseOuterR(),ge=this.parseInnerR();let Ae=0;te.forEach((Pe,We)=>{const{value:Xe=0,color:qe=oe[We%oe.length]}=Pe,nt=T8(Pe,["value","color"]),at=(le===0?1/te.length:Xe/le)*360;this.upsert(`round${We}`,Pu,Object.assign(Object.assign(Object.assign({},re),{d:O8(he,ge,Ae,Ae+at),fill:qe}),nt),E),Ae+=at})}render(x,E=this){super.render(x,E),this.drawDonutShape(x,E)}}nM.defaultStyleProps={innerR:"50%",donuts:[],donutPalette:"tableau"};const rM=(b,x,E,z)=>[b+Math.sin(z)*E,x-Math.cos(z)*E],D8=(b,x,E,z)=>z<=0||E<=z?[["M",b-E,x],["A",E,E,0,1,1,b+E,x],["A",E,E,0,1,1,b-E,x],["Z"]]:[["M",b-E,x],["A",E,E,0,1,1,b+E,x],["A",E,E,0,1,1,b-E,x],["Z"],["M",b+z,x],["A",z,z,0,1,0,b-z,x],["A",z,z,0,1,0,b+z,x],["Z"]],I8=(b,x,E,z,te,re)=>{const[oe,le]=[te/360*2*Math.PI,re/360*2*Math.PI],he=[rM(b,x,z,oe),rM(b,x,E,oe),rM(b,x,E,le),rM(b,x,z,le)],ge=le-oe>Math.PI?1:0;return[["M",he[0][0],he[0][1]],["L",he[1][0],he[1][1]],["A",E,E,0,ge,1,he[2][0],he[2][1]],["L",he[3][0],he[3][1]],["A",z,z,0,ge,0,he[0][0],he[0][1]],["Z"]]},O8=(b=0,x=0,E,z)=>{const[te,re]=[0,0];return Math.abs(E-z)%360<1e-6?D8(te,re,b,x):I8(te,re,b,x,E,z)};class iM extends nm{constructor(x){super(fg({style:iM.defaultStyleProps},x))}drawKeyShape(x,E){return this.upsert("key",Um,this.getKeyStyle(x),E)}getKeyStyle(x){const E=super.getKeyStyle(x),[z,te]=this.getSize(x);return Object.assign(Object.assign({},E),{rx:z/2,ry:te/2})}getIconStyle(x){const E=super.getIconStyle(x),{rx:z,ry:te}=this.getShape("key").attributes,re=Math.min(+z,+te)*2*qy;return E?Object.assign({width:re,height:re},E):!1}getIntersectPoint(x,E=!1){const z=this.getShape("key").getBounds();return QP(x,z,E)}}iM.defaultStyleProps={size:[45,35]};class N8 extends tM{constructor(x){super(x)}getOuterR(x){return x.outerR||Math.min(...this.getSize(x))/2}getPoints(x){return A7(this.getOuterR(x))}getIconStyle(x){const E=super.getIconStyle(x),z=this.getOuterR(x)*qy;return E?Object.assign({width:z,height:z},E):!1}}function B8(b,x){var E=x.cx,z=E===void 0?0:E,te=x.cy,re=te===void 0?0:te,oe=x.r;b.arc(z,re,oe,0,Math.PI*2,!1)}function R8(b,x){var E=x.cx,z=E===void 0?0:E,te=x.cy,re=te===void 0?0:te,oe=x.rx,le=x.ry;if(b.ellipse)b.ellipse(z,re,oe,le,0,0,Math.PI*2,!1);else{var he=oe>le?oe:le,ge=oe>le?1:oe/le,Ae=oe>le?le/oe:1;b.save(),b.scale(ge,Ae),b.arc(z,re,he,0,Math.PI*2)}}function k8(b,x){var E=x.x1,z=x.y1,te=x.x2,re=x.y2,oe=x.markerStart,le=x.markerEnd,he=x.markerStartOffset,ge=x.markerEndOffset,Ae=0,Pe=0,We=0,Xe=0,qe=0,nt,at;oe&&au(oe)&&he&&(nt=te-E,at=re-z,qe=Math.atan2(at,nt),Ae=Math.cos(qe)*(he||0),Pe=Math.sin(qe)*(he||0)),le&&au(le)&&ge&&(nt=E-te,at=z-re,qe=Math.atan2(at,nt),We=Math.cos(qe)*(ge||0),Xe=Math.sin(qe)*(ge||0)),b.moveTo(E+Ae,z+Pe),b.lineTo(te+We,re+Xe)}function F8(b,x){var E=x.markerStart,z=x.markerEnd,te=x.markerStartOffset,re=x.markerEndOffset,oe=x.d,le=oe.absolutePath,he=oe.segments,ge=0,Ae=0,Pe=0,We=0,Xe=0,qe,nt;if(E&&au(E)&&te){var at=E.parentNode.getStartTangent(),pt=(0,hs.Z)(at,2),mt=pt[0],bt=pt[1];qe=mt[0]-bt[0],nt=mt[1]-bt[1],Xe=Math.atan2(nt,qe),ge=Math.cos(Xe)*(te||0),Ae=Math.sin(Xe)*(te||0)}if(z&&au(z)&&re){var jt=z.parentNode.getEndTangent(),Ut=(0,hs.Z)(jt,2),Kt=Ut[0],Qt=Ut[1];qe=Kt[0]-Qt[0],nt=Kt[1]-Qt[1],Xe=Math.atan2(nt,qe),Pe=Math.cos(Xe)*(re||0),We=Math.sin(Xe)*(re||0)}for(var Vt=0;Vt<le.length;Vt++){var vn=le[Vt],wn=vn[0],kn=le[Vt+1],Vn=Vt===0&&(ge!==0||Ae!==0),vr=(Vt===le.length-1||kn&&(kn[0]==="M"||kn[0]==="Z"))&&Pe!==0&&We!==0,or=Vn?[ge,Ae]:[0,0],Or=(0,hs.Z)(or,2),qr=Or[0],wr=Or[1],Sr=vr?[Pe,We]:[0,0],Tr=(0,hs.Z)(Sr,2),ri=Tr[0],Cr=Tr[1];switch(wn){case"M":b.moveTo(vn[1]+qr,vn[2]+wr);break;case"L":b.lineTo(vn[1]+ri,vn[2]+Cr);break;case"Q":b.quadraticCurveTo(vn[1],vn[2],vn[3]+ri,vn[4]+Cr);break;case"C":b.bezierCurveTo(vn[1],vn[2],vn[3],vn[4],vn[5]+ri,vn[6]+Cr);break;case"A":{var yi=he[Vt].arcParams,Co=yi.cx,wo=yi.cy,vi=yi.rx,Mi=yi.ry,$i=yi.startAngle,Lo=yi.endAngle,Jo=yi.xRotation,Ta=yi.sweepFlag;if(b.ellipse)b.ellipse(Co,wo,vi,Mi,Jo,$i,Lo,!!(1-Ta));else{var Bs=vi>Mi?vi:Mi,js=vi>Mi?1:vi/Mi,Sa=vi>Mi?Mi/vi:1;b.translate(Co,wo),b.rotate(Jo),b.scale(js,Sa),b.arc(0,0,Bs,$i,Lo,!!(1-Ta)),b.scale(1/js,1/Sa),b.rotate(-Jo),b.translate(-Co,-wo)}vr&&b.lineTo(vn[6]+Pe,vn[7]+We);break}case"Z":b.closePath();break}}}function _8(b,x){var E=x.markerStart,z=x.markerEnd,te=x.markerStartOffset,re=x.markerEndOffset,oe=x.points.points,le=oe.length,he=oe[0][0],ge=oe[0][1],Ae=oe[le-1][0],Pe=oe[le-1][1],We=0,Xe=0,qe=0,nt=0,at=0,pt,mt;E&&au(E)&&te&&(pt=oe[1][0]-oe[0][0],mt=oe[1][1]-oe[0][1],at=Math.atan2(mt,pt),We=Math.cos(at)*(te||0),Xe=Math.sin(at)*(te||0)),z&&au(z)&&re&&(pt=oe[le-1][0]-oe[0][0],mt=oe[le-1][1]-oe[0][1],at=Math.atan2(mt,pt),qe=Math.cos(at)*(re||0),nt=Math.sin(at)*(re||0)),b.moveTo(he+(We||qe),ge+(Xe||nt));for(var bt=1;bt<le-1;bt++){var jt=oe[bt];b.lineTo(jt[0],jt[1])}b.lineTo(Ae,Pe)}function z8(b,x){var E=x.markerStart,z=x.markerEnd,te=x.markerStartOffset,re=x.markerEndOffset,oe=x.points.points,le=oe.length,he=oe[0][0],ge=oe[0][1],Ae=oe[le-1][0],Pe=oe[le-1][1],We=0,Xe=0,qe=0,nt=0,at=0,pt,mt;E&&au(E)&&te&&(pt=oe[1][0]-oe[0][0],mt=oe[1][1]-oe[0][1],at=Math.atan2(mt,pt),We=Math.cos(at)*(te||0),Xe=Math.sin(at)*(te||0)),z&&au(z)&&re&&(pt=oe[le-2][0]-oe[le-1][0],mt=oe[le-2][1]-oe[le-1][1],at=Math.atan2(mt,pt),qe=Math.cos(at)*(re||0),nt=Math.sin(at)*(re||0)),b.moveTo(he+We,ge+Xe);for(var bt=1;bt<le-1;bt++){var jt=oe[bt];b.lineTo(jt[0],jt[1])}b.lineTo(Ae+qe,Pe+nt)}function j8(b,x){var E=x.x,z=E===void 0?0:E,te=x.y,re=te===void 0?0:te,oe=x.radius,le=x.width,he=x.height,ge=le,Ae=he,Pe=oe&&oe.some(function(Ut){return Ut!==0});if(!Pe)b.rect(z,re,ge,Ae);else{var We=le>0?1:-1,Xe=he>0?1:-1,qe=We+Xe===0,nt=oe.map(function(Ut){return Sh(Ut,0,Math.min(Math.abs(ge)/2,Math.abs(Ae)/2))}),at=(0,hs.Z)(nt,4),pt=at[0],mt=at[1],bt=at[2],jt=at[3];b.moveTo(We*pt+z,re),b.lineTo(ge-We*mt+z,re),mt!==0&&b.arc(ge-We*mt+z,Xe*mt+re,mt,-Xe*Math.PI/2,We>0?0:Math.PI,qe),b.lineTo(ge+z,Ae-Xe*bt+re),bt!==0&&b.arc(ge-We*bt+z,Ae-Xe*bt+re,bt,We>0?0:Math.PI,Xe>0?Math.PI/2:1.5*Math.PI,qe),b.lineTo(We*jt+z,Ae+re),jt!==0&&b.arc(We*jt+z,Ae-Xe*jt+re,jt,Xe>0?Math.PI/2:-Math.PI/2,We>0?Math.PI:0,qe),b.lineTo(z,Xe*pt+re),pt!==0&&b.arc(We*pt+z,Xe*pt+re,pt,We>0?Math.PI:0,Xe>0?Math.PI*1.5:Math.PI/2,qe)}}var W8=function(b){function x(){var E;(0,$r.Z)(this,x);for(var z=arguments.length,te=new Array(z),re=0;re<z;re++)te[re]=arguments[re];return E=Ls(this,x,[].concat(te)),E.name="canvas-path-generator",E}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"init",value:function(){var z,te=(z={},(0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)(z,No.CIRCLE,B8),No.ELLIPSE,R8),No.RECT,j8),No.LINE,k8),No.POLYLINE,z8),No.POLYGON,_8),No.PATH,F8),No.TEXT,void 0),No.GROUP,void 0),No.IMAGE,void 0),(0,Rs.Z)((0,Rs.Z)((0,Rs.Z)(z,No.HTML,void 0),No.MESH,void 0),No.FRAGMENT,void 0));this.context.pathGeneratorFactory=te}},{key:"destroy",value:function(){delete this.context.pathGeneratorFactory}}])}(d0);var U8=Ts(),G8=Ts(),H8=Ts(),V8=vc(),fO=function(){function b(){var x=this;(0,$r.Z)(this,b),this.isHit=function(E,z,te,re){var oe=x.context.pointInPathPickerFactory[E.nodeName];if(oe){var le=jd(V8,te),he=Vu(G8,mh(H8,z[0],z[1],0),le);if(oe(E,new Hd(he[0],he[1]),re,x.isPointInPath,x.context,x.runtime))return!0}return!1},this.isPointInPath=function(E,z){var te=x.runtime.offscreenCanvasCreator.getOrCreateContext(x.context.config.offscreenCanvas),re=x.context.pathGeneratorFactory[E.nodeName];return re&&(te.beginPath(),re(te,E.parsedStyle),te.closePath()),te.isPointInPath(z.x,z.y)}}return(0,qi.Z)(b,[{key:"apply",value:function(E,z){var te,re=this,oe=E.renderingService,le=E.renderingContext;this.context=E,this.runtime=z;var he=(te=le.root)===null||te===void 0?void 0:te.ownerDocument;oe.hooks.pick.tapPromise(b.tag,function(){var ge=(0,Bv.Z)((0,Gd.Z)().mark(function Ae(Pe){return(0,Gd.Z)().wrap(function(Xe){for(;;)switch(Xe.prev=Xe.next){case 0:return Xe.abrupt("return",re.pick(he,Pe));case 1:case"end":return Xe.stop()}},Ae)}));return function(Ae){return ge.apply(this,arguments)}}()),oe.hooks.pickSync.tap(b.tag,function(ge){return re.pick(he,ge)})}},{key:"pick",value:function(E,z){var te=z.topmost,re=z.position,oe=re.x,le=re.y,he=mh(U8,oe,le,0),ge=E.elementsFromBBox(he[0],he[1],he[0],he[1]),Ae=[],Pe=h0(ge),We;try{for(Pe.s();!(We=Pe.n()).done;){var Xe=We.value,qe=Xe.getWorldTransform(),nt=this.isHit(Xe,he,qe,!1);if(nt){var at=pP(Xe);if(at){var pt=at.parsedStyle.clipPath,mt=this.isHit(pt,he,pt.getWorldTransform(),!0);if(mt){if(te)return z.picked=[Xe],z;Ae.push(Xe)}}else{if(te)return z.picked=[Xe],z;Ae.push(Xe)}}}}catch(bt){Pe.e(bt)}finally{Pe.f()}return z.picked=Ae,z}}])}();fO.tag="CanvasPicker";function K8(b,x,E){var z=b.parsedStyle,te=z.cx,re=te===void 0?0:te,oe=z.cy,le=oe===void 0?0:oe,he=z.r,ge=z.fill,Ae=z.stroke,Pe=z.lineWidth,We=Pe===void 0?1:Pe,Xe=z.increasedLineWidthForHitTesting,qe=Xe===void 0?0:Xe,nt=z.pointerEvents,at=nt===void 0?"auto":nt,pt=(We+qe)/2,mt=Wd(re,le,x.x,x.y),bt=jv(at,ge,Ae),jt=(0,hs.Z)(bt,2),Ut=jt[0],Kt=jt[1];return Ut&&Kt||E?mt<=he+pt:Ut?mt<=he:Kt?mt>=he-pt&&mt<=he+pt:!1}function oM(b,x,E,z){return b/(E*E)+x/(z*z)}function Z8(b,x,E){var z=b.parsedStyle,te=z.cx,re=te===void 0?0:te,oe=z.cy,le=oe===void 0?0:oe,he=z.rx,ge=z.ry,Ae=z.fill,Pe=z.stroke,We=z.lineWidth,Xe=We===void 0?1:We,qe=z.increasedLineWidthForHitTesting,nt=qe===void 0?0:qe,at=z.pointerEvents,pt=at===void 0?"auto":at,mt=x.x,bt=x.y,jt=jv(pt,Ae,Pe),Ut=(0,hs.Z)(jt,2),Kt=Ut[0],Qt=Ut[1],Vt=(Xe+nt)/2,vn=(mt-re)*(mt-re),wn=(bt-le)*(bt-le);return Kt&&Qt||E?oM(vn,wn,he+Vt,ge+Vt)<=1:Kt?oM(vn,wn,he,ge)<=1:Qt?oM(vn,wn,he-Vt,ge-Vt)>=1&&oM(vn,wn,he+Vt,ge+Vt)<=1:!1}function zE(b,x,E,z,te,re){return te>=b&&te<=b+E&&re>=x&&re<=x+z}function Y8(b,x,E,z,te,re,oe){var le=te/2;return zE(b-le,x-le,E,te,re,oe)||zE(b+E-le,x-le,te,z,re,oe)||zE(b+le,x+z-le,E,te,re,oe)||zE(b-le,x+le,te,z,re,oe)}function aM(b,x,E,z,te,re,oe,le){var he=(Math.atan2(le-x,oe-b)+Math.PI*2)%(Math.PI*2),ge={x:b+E*Math.cos(he),y:x+E*Math.sin(he)};return Wd(ge.x,ge.y,oe,le)<=re/2}function fx(b,x,E,z,te,re,oe){var le=Math.min(b,E),he=Math.max(b,E),ge=Math.min(x,z),Ae=Math.max(x,z),Pe=te/2;return re>=le-Pe&&re<=he+Pe&&oe>=ge-Pe&&oe<=Ae+Pe?MA(b,x,E,z,re,oe)<=te/2:!1}function gO(b,x,E,z,te){var re=b.length;if(re<2)return!1;for(var oe=0;oe<re-1;oe++){var le=b[oe][0],he=b[oe][1],ge=b[oe+1][0],Ae=b[oe+1][1];if(fx(le,he,ge,Ae,x,E,z))return!0}if(te){var Pe=b[0],We=b[re-1];if(fx(Pe[0],Pe[1],We[0],We[1],x,E,z))return!0}return!1}var X8=1e-6;function I5(b){return Math.abs(b)<X8?0:b<0?-1:1}function Q8(b,x,E){return(E[0]-b[0])*(x[1]-b[1])===(x[0]-b[0])*(E[1]-b[1])&&Math.min(b[0],x[0])<=E[0]&&E[0]<=Math.max(b[0],x[0])&&Math.min(b[1],x[1])<=E[1]&&E[1]<=Math.max(b[1],x[1])}function pO(b,x,E){var z=!1,te=b.length;if(te<=2)return!1;for(var re=0;re<te;re++){var oe=b[re],le=b[(re+1)%te];if(Q8(oe,le,[x,E]))return!0;I5(oe[1]-E)>0!=I5(le[1]-E)>0&&I5(x-(E-oe[1])*(oe[0]-le[0])/(oe[1]-le[1])-oe[0])<0&&(z=!z)}return z}function vO(b,x,E){for(var z=!1,te=0;te<b.length;te++){var re=b[te];if(z=pO(re,x,E),z)break}return z}function J8(b,x,E){var z=b.parsedStyle,te=z.x1,re=z.y1,oe=z.x2,le=z.y2,he=z.lineWidth,ge=he===void 0?1:he,Ae=z.increasedLineWidthForHitTesting,Pe=Ae===void 0?0:Ae,We=z.pointerEvents,Xe=We===void 0?"auto":We,qe=z.fill,nt=z.stroke,at=jv(Xe,qe,nt),pt=(0,hs.Z)(at,2),mt=pt[1];return!mt&&!E||!ge?!1:fx(te,re,oe,le,ge+Pe,x.x,x.y)}function q8(b,x,E,z,te){for(var re=!1,oe=x/2,le=0;le<b.length;le++){var he=b[le],ge=he.currentPoint,Ae=he.params,Pe=he.prePoint,We=he.box;if(!(We&&!zE(We.x-oe,We.y-oe,We.width+x,We.height+x,E,z)))switch(he.command){case"L":case"Z":if(re=fx(Pe[0],Pe[1],ge[0],ge[1],x,E,z),re)return!0;break;case"Q":var Xe=nE(Pe[0],Pe[1],Ae[1],Ae[2],Ae[3],Ae[4],E,z);if(re=Xe<=x/2,re)return!0;break;case"C":var qe=_b(Pe[0],Pe[1],Ae[1],Ae[2],Ae[3],Ae[4],Ae[5],Ae[6],E,z,te);if(re=qe<=x/2,re)return!0;break;case"A":he.cubicParams||(he.cubicParams=P1(Pe[0],Pe[1],Ae[1],Ae[2],Ae[3],Ae[4],Ae[5],Ae[6],Ae[7],void 0));for(var nt=he.cubicParams,at=Pe,pt=0;pt<nt.length;pt+=6){var mt=_b(at[0],at[1],nt[pt],nt[pt+1],nt[pt+2],nt[pt+3],nt[pt+4],nt[pt+5],E,z,te);if(at=[nt[pt+4],nt[pt+5]],re=mt<=x/2,re)return!0}break}}return re}function $8(b,x,E,z,te,re){var oe=b.parsedStyle,le=oe.lineWidth,he=le===void 0?1:le,ge=oe.increasedLineWidthForHitTesting,Ae=ge===void 0?0:ge,Pe=oe.stroke,We=oe.fill,Xe=oe.d,qe=oe.pointerEvents,nt=qe===void 0?"auto":qe,at=Xe.segments,pt=Xe.hasArc,mt=Xe.polylines,bt=Xe.polygons,jt=jv(nt,(bt==null?void 0:bt.length)&&We,Pe),Ut=(0,hs.Z)(jt,2),Kt=Ut[0],Qt=Ut[1],Vt=U1(b),vn=!1;return Kt||E?(pt?vn=z(b,x):vn=vO(bt,x.x,x.y)||vO(mt,x.x,x.y),vn):((Qt||E)&&(vn=q8(at,he+Ae,x.x,x.y,Vt)),vn)}function e9(b,x,E){var z=b.parsedStyle,te=z.stroke,re=z.fill,oe=z.lineWidth,le=oe===void 0?1:oe,he=z.increasedLineWidthForHitTesting,ge=he===void 0?0:he,Ae=z.points,Pe=z.pointerEvents,We=Pe===void 0?"auto":Pe,Xe=jv(We,re,te),qe=(0,hs.Z)(Xe,2),nt=qe[0],at=qe[1],pt=!1;return(at||E)&&(pt=gO(Ae.points,le+ge,x.x,x.y,!0)),!pt&&(nt||E)&&(pt=pO(Ae.points,x.x,x.y)),pt}function t9(b,x,E){var z=b.parsedStyle,te=z.lineWidth,re=te===void 0?1:te,oe=z.increasedLineWidthForHitTesting,le=oe===void 0?0:oe,he=z.points,ge=z.pointerEvents,Ae=ge===void 0?"auto":ge,Pe=z.fill,We=z.stroke,Xe=jv(Ae,Pe,We),qe=(0,hs.Z)(Xe,2),nt=qe[1];return!nt&&!E||!re?!1:gO(he.points,re+le,x.x,x.y,!1)}function n9(b,x,E,z,te){var re=b.parsedStyle,oe=re.radius,le=re.fill,he=re.stroke,ge=re.lineWidth,Ae=ge===void 0?1:ge,Pe=re.increasedLineWidthForHitTesting,We=Pe===void 0?0:Pe,Xe=re.x,qe=Xe===void 0?0:Xe,nt=re.y,at=nt===void 0?0:nt,pt=re.width,mt=re.height,bt=re.pointerEvents,jt=bt===void 0?"auto":bt,Ut=jv(jt,le,he),Kt=(0,hs.Z)(Ut,2),Qt=Kt[0],Vt=Kt[1],vn=oe&&oe.some(function(vr){return vr!==0}),wn=Ae+We;if(vn){var Vn=!1;return(Vt||E)&&(Vn=r9(qe,at,pt,mt,oe.map(function(vr){return Sh(vr,0,Math.min(Math.abs(pt)/2,Math.abs(mt)/2))}),wn,x.x,x.y)),!Vn&&(Qt||E)&&(Vn=z(b,x)),Vn}else{var kn=wn/2;if(Qt&&Vt||E)return zE(qe-kn,at-kn,pt+kn,mt+kn,x.x,x.y);if(Qt)return zE(qe,at,pt,mt,x.x,x.y);if(Vt)return Y8(qe,at,pt,mt,wn,x.x,x.y)}return!1}function r9(b,x,E,z,te,re,oe,le){var he=(0,hs.Z)(te,4),ge=he[0],Ae=he[1],Pe=he[2],We=he[3];return fx(b+ge,x,b+E-Ae,x,re,oe,le)||fx(b+E,x+Ae,b+E,x+z-Pe,re,oe,le)||fx(b+E-Pe,x+z,b+We,x+z,re,oe,le)||fx(b,x+z-We,b,x+ge,re,oe,le)||aM(b+E-Ae,x+Ae,Ae,1.5*Math.PI,2*Math.PI,re,oe,le)||aM(b+E-Pe,x+z-Pe,Pe,0,.5*Math.PI,re,oe,le)||aM(b+We,x+z-We,We,.5*Math.PI,Math.PI,re,oe,le)||aM(b+ge,x+ge,ge,Math.PI,1.5*Math.PI,re,oe,le)}function i9(b,x,E,z,te,re){var oe=b.parsedStyle,le=oe.pointerEvents,he=le===void 0?"auto":le,ge=oe.x,Ae=ge===void 0?0:ge,Pe=oe.y,We=Pe===void 0?0:Pe,Xe=oe.width,qe=oe.height;if(he==="non-transparent-pixel"){var nt=te.config.offscreenCanvas,at=re.offscreenCanvasCreator.getOrCreateCanvas(nt),pt=re.offscreenCanvasCreator.getOrCreateContext(nt,{willReadFrequently:!0});at.width=Xe,at.height=qe,te.defaultStyleRendererFactory[No.IMAGE].render(pt,(0,Ho.Z)((0,Ho.Z)({},b.parsedStyle),{},{x:0,y:0}),b,void 0,void 0,void 0);var mt=pt.getImageData(x.x-Ae,x.y-We,1,1).data;return mt.every(function(bt){return bt!==0})}return!0}function o9(b,x,E,z){var te=b.getGeometryBounds();return x.x>=te.min[0]&&x.y>=te.min[1]&&x.x<=te.max[0]&&x.y<=te.max[1]}var a9=function(b){function x(){var E;(0,$r.Z)(this,x);for(var z=arguments.length,te=new Array(z),re=0;re<z;re++)te[re]=arguments[re];return E=Ls(this,x,[].concat(te)),E.name="canvas-picker",E}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"init",value:function(){var z,te=(z={},(0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)(z,No.CIRCLE,K8),No.ELLIPSE,Z8),No.RECT,n9),No.LINE,J8),No.POLYLINE,t9),No.POLYGON,e9),No.PATH,$8),No.TEXT,o9),No.GROUP,null),No.IMAGE,i9),(0,Rs.Z)((0,Rs.Z)(z,No.HTML,null),No.MESH,null));this.context.pointInPathPickerFactory=te,this.addRenderingPlugin(new fO)}},{key:"destroy",value:function(){delete this.context.pointInPathPickerFactory,this.removeAllRenderingPlugins()}}])}(d0);function qm(b,x){if(!{}.hasOwnProperty.call(b,x))throw new TypeError("attempted to use private field on non-instance");return b}var s9=0;function l9(b){return"__private_"+s9+++"_"+b}var u9=function(){function b(){(0,$r.Z)(this,b),this.cacheStore=new Map}return(0,qi.Z)(b,[{key:"onRefAdded",value:function(E){}},{key:"has",value:function(E){return this.cacheStore.has(E)}},{key:"put",value:function(E,z,te){return this.cacheStore.has(E)?!1:(this.cacheStore.set(E,{value:z,counter:new Set([te])}),this.onRefAdded(te),!0)}},{key:"get",value:function(E,z){var te=this.cacheStore.get(E);return te?(te.counter.has(z)||(te.counter.add(z),this.onRefAdded(z)),te.value):null}},{key:"update",value:function(E,z,te){var re=this.cacheStore.get(E);return re?(re.value=(0,Ho.Z)((0,Ho.Z)({},re.value),z),re.counter.has(te)||(re.counter.add(te),this.onRefAdded(te)),!0):!1}},{key:"release",value:function(E,z){var te=this.cacheStore.get(E);return te?(te.counter.delete(z),te.counter.size<=0&&this.cacheStore.delete(E),!0):!1}},{key:"releaseRef",value:function(E){var z=this;Array.from(this.cacheStore.keys()).forEach(function(te){z.release(te,E)})}},{key:"getSize",value:function(){return this.cacheStore.size}},{key:"clear",value:function(){this.cacheStore.clear()}}])}(),O5=[],N5=[],B5=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,null,[{key:"stop",value:function(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:b.api;b.rafId&&(E.cancelAnimationFrame(b.rafId),b.rafId=null)}},{key:"executeTask",value:function(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:b.api;O5.length<=0&&N5.length<=0||(N5.forEach(function(z){return z()}),N5=O5.splice(0,b.TASK_NUM_PER_FRAME),b.rafId=E.requestAnimationFrame(function(){b.executeTask(E)}))}},{key:"sliceImage",value:function(E,z,te,re){for(var oe=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,le=arguments.length>5&&arguments[5]!==void 0?arguments[5]:b.api,he=E.naturalWidth||E.width,ge=E.naturalHeight||E.height,Ae=z-oe,Pe=te-oe,We=Math.ceil(he/Ae),Xe=Math.ceil(ge/Pe),qe={tileSize:[z,te],gridSize:[Xe,We],tiles:Array(Xe).fill(null).map(function(){return Array(We).fill(null)})},nt=function(mt){for(var bt=function(Kt){O5.push(function(){var Qt=Kt*Ae,Vt=mt*Pe,vn=[Math.min(z,he-Qt),Math.min(te,ge-Vt)],wn=vn[0],kn=vn[1],Vn=le.createCanvas();Vn.width=z,Vn.height=te;var vr=Vn.getContext("2d");vr.drawImage(E,Qt,Vt,wn,kn,0,0,wn,kn),qe.tiles[mt][Kt]={x:Qt,y:Vt,tileX:Kt,tileY:mt,data:Vn},re()})},jt=0;jt<We;jt++)bt(jt)},at=0;at<Xe;at++)nt(at);return b.stop(),b.executeTask(),qe}}])}();B5.TASK_NUM_PER_FRAME=10;var w0=new u9;w0.onRefAdded=function(x){var E=this;x.addEventListener(Zt.DESTROY,function(){E.releaseRef(x)},{once:!0})};var R5=function(){function b(x,E){(0,$r.Z)(this,b),this.gradientCache={},this.patternCache={},this.context=x,this.runtime=E}return(0,qi.Z)(b,[{key:"getImageSync",value:function(E,z,te){var re=qu(E)?E:E.src;if(w0.has(re)){var oe=w0.get(re,z);if(oe.img.complete)return te==null||te(oe),oe}return this.getOrCreateImage(E,z).then(function(le){te==null||te(le)}).catch(function(){}),null}},{key:"getOrCreateImage",value:function(E,z){var te=this,re=qu(E)?E:E.src;if(!qu(E)&&!w0.has(re)){var oe={img:E,size:[E.naturalWidth||E.width,E.naturalHeight||E.height],tileSize:sM(E)};w0.put(re,oe,z)}if(w0.has(re)){var le=w0.get(re,z);return le.img.complete?Promise.resolve(le):new Promise(function(he,ge){le.img.addEventListener("load",function(){le.size=[le.img.naturalWidth||le.img.width,le.img.naturalHeight||le.img.height],le.tileSize=sM(le.img),he(le)}),le.img.addEventListener("error",function(Ae){ge(Ae)})})}return new Promise(function(he,ge){var Ae=te.context.config.createImage();if(Ae){var Pe={img:Ae,size:[0,0],tileSize:sM(Ae)};w0.put(re,Pe,z),Ae.onload=function(){Pe.size=[Ae.naturalWidth||Ae.width,Ae.naturalHeight||Ae.height],Pe.tileSize=sM(Pe.img),he(Pe)},Ae.onerror=function(We){ge(We)},Ae.crossOrigin="Anonymous",Ae.src=re}})}},{key:"createDownSampledImage",value:function(){var x=(0,Bv.Z)((0,Gd.Z)().mark(function z(te,re){var oe,le,he,ge,Ae,Pe,We,Xe,qe,nt,at,pt,mt,bt;return(0,Gd.Z)().wrap(function(Ut){for(;;)switch(Ut.prev=Ut.next){case 0:return Ut.next=2,this.getOrCreateImage(te,re);case 2:if(oe=Ut.sent,typeof oe.downSamplingRate=="undefined"){Ut.next=5;break}return Ut.abrupt("return",oe);case 5:if(le=this.context.config.enableLargeImageOptimization,he=typeof le=="boolean"?{}:le,ge=he.maxDownSampledImageSize,Ae=ge===void 0?2048:ge,Pe=he.downSamplingRateThreshold,We=Pe===void 0?.5:Pe,Xe=this.runtime.globalThis.createImageBitmap,qe=(0,hs.Z)(oe.size,2),nt=qe[0],at=qe[1],pt=oe.img,mt=Math.min((Ae+Ae)/(nt+at),Math.max(.01,Math.min(We,.5))),bt=(0,Ho.Z)((0,Ho.Z)({},oe),{},{downSamplingRate:mt}),w0.update(oe.img.src,bt,re),!Xe){Ut.next=25;break}return Ut.prev=14,Ut.next=17,Xe(oe.img,{resizeWidth:nt*mt,resizeHeight:at*mt});case 17:pt=Ut.sent,Ut.next=23;break;case 20:Ut.prev=20,Ut.t0=Ut.catch(14),mt=1;case 23:Ut.next=26;break;case 25:mt=1;case 26:return bt=(0,Ho.Z)((0,Ho.Z)({},this.getImageSync(te,re)),{},{downSampled:pt,downSamplingRate:mt}),w0.update(oe.img.src,bt,re),Ut.abrupt("return",bt);case 29:case"end":return Ut.stop()}},z,this,[[14,20]])}));function E(z,te){return x.apply(this,arguments)}return E}()},{key:"createImageTiles",value:function(){var x=(0,Bv.Z)((0,Gd.Z)().mark(function z(te,re,oe,le){var he,ge,Ae,Pe,We;return(0,Gd.Z)().wrap(function(qe){for(;;)switch(qe.prev=qe.next){case 0:return qe.next=2,this.getOrCreateImage(te,le);case 2:return he=qe.sent,ge=le.ownerDocument.defaultView,Ae=ge.requestAnimationFrame,Pe=ge.cancelAnimationFrame,B5.api={requestAnimationFrame:Ae,cancelAnimationFrame:Pe,createCanvas:function(){return Je.createCanvas()}},We=(0,Ho.Z)((0,Ho.Z)({},he),B5.sliceImage(he.img,he.tileSize[0],he.tileSize[0],oe)),w0.update(he.img.src,We,le),qe.abrupt("return",We);case 8:case"end":return qe.stop()}},z,this)}));function E(z,te,re,oe){return x.apply(this,arguments)}return E}()},{key:"releaseImage",value:function(E,z){w0.release(qu(E)?E:E.src,z)}},{key:"releaseImageRef",value:function(E){w0.releaseRef(E)}},{key:"getOrCreatePatternSync",value:function(E,z,te,re,oe,le,he){var ge=this.generatePatternKey(z);if(ge&&this.patternCache[ge])return this.patternCache[ge];var Ae=z.image,Pe=z.repetition,We=z.transform,Xe,qe=!1;if(qu(Ae)){var nt=this.getImageSync(Ae,E,he);Xe=nt==null?void 0:nt.img}else re?(Xe=re,qe=!0):Xe=Ae;var at=Xe&&te.createPattern(Xe,Pe);if(at){var pt;We?pt=uS(aC(We),new Zu({})):pt=Cf(vc()),qe&&Mv(pt,pt,[1/oe,1/oe,1]),at.setTransform({a:pt[0],b:pt[1],c:pt[4],d:pt[5],e:pt[12]+le[0],f:pt[13]+le[1]})}return ge&&at&&(this.patternCache[ge]=at),at}},{key:"getOrCreateGradient",value:function(E,z){var te=this.generateGradientKey(E),re=E.type,oe=E.steps,le=E.min,he=E.width,ge=E.height,Ae=E.angle,Pe=E.cx,We=E.cy,Xe=E.size;if(this.gradientCache[te])return this.gradientCache[te];var qe=null;if(re===dd.LinearGradient){var nt=j1(le,he,ge,Ae),at=nt.x1,pt=nt.y1,mt=nt.x2,bt=nt.y2;qe=z.createLinearGradient(at,pt,mt,bt)}else if(re===dd.RadialGradient){var jt=Yb(le,he,ge,Pe,We,Xe),Ut=jt.x,Kt=jt.y,Qt=jt.r;qe=z.createRadialGradient(Ut,Kt,0,Ut,Kt,Qt)}return qe&&(oe.forEach(function(Vt){var vn=Vt.offset,wn=Vt.color;if(vn.unit===os.kPercentage){var kn;(kn=qe)===null||kn===void 0||kn.addColorStop(vn.value/100,wn.toString())}}),this.gradientCache[te]=qe),this.gradientCache[te]}},{key:"generateGradientKey",value:function(E){var z=E.type,te=E.min,re=E.width,oe=E.height,le=E.steps,he=E.angle,ge=E.cx,Ae=E.cy,Pe=E.size;return"gradient-".concat(z,"-").concat((he==null?void 0:he.toString())||0,"-").concat((ge==null?void 0:ge.toString())||0,"-").concat((Ae==null?void 0:Ae.toString())||0,"-").concat((Pe==null?void 0:Pe.toString())||0,"-").concat(te[0],"-").concat(te[1],"-").concat(re,"-").concat(oe,"-").concat(le.map(function(We){var Xe=We.offset,qe=We.color;return"".concat(Xe).concat(qe)}).join("-"))}},{key:"generatePatternKey",value:function(E){var z=E.image,te=E.repetition;if(qu(z))return"pattern-".concat(z,"-").concat(te);if(z.nodeName==="rect")return"pattern-".concat(z.entity,"-").concat(te)}}])}();R5.isSupportTile=!!Je.createCanvas();function sM(b){if(!b.complete)return[0,0];var x=b.naturalWidth||b.width,E=b.naturalHeight||b.height,z=256;return[256,512].forEach(function(te){var re=Math.ceil(E/te),oe=Math.ceil(x/te);re*oe<1e3&&(z=te)}),[z,z]}var mO=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,[{key:"apply",value:function(E){var z=E.renderingService,te=E.renderingContext,re=E.imagePool,oe=te.root.ownerDocument.defaultView,le=function(Pe,We,Xe){var qe=Pe.parsedStyle,nt=qe.width,at=qe.height;nt&&!at?Pe.setAttribute("height",Xe/We*nt):!nt&&at&&Pe.setAttribute("width",We/Xe*at)},he=function(Pe){var We=Pe.target,Xe=We.nodeName,qe=We.attributes;if(Xe===No.IMAGE){var nt=qe.src,at=qe.keepAspectRatio;re.getImageSync(nt,We,function(pt){var mt=pt.img,bt=mt.width,jt=mt.height;at&&le(We,bt,jt),We.renderable.dirty=!0,z.dirtify()})}},ge=function(Pe){var We=Pe.target,Xe=Pe.attrName,qe=Pe.prevValue,nt=Pe.newValue;We.nodeName!==No.IMAGE||Xe!=="src"||(qe!==nt&&re.releaseImage(qe,We),qu(nt)&&re.getOrCreateImage(nt,We).then(function(at){var pt=at.img,mt=pt.width,bt=pt.height;We.attributes.keepAspectRatio&&le(We,mt,bt),We.renderable.dirty=!0,z.dirtify()}).catch(function(){}))};z.hooks.init.tap(b.tag,function(){oe.addEventListener(Zt.MOUNTED,he),oe.addEventListener(Zt.ATTR_MODIFIED,ge)}),z.hooks.destroy.tap(b.tag,function(){oe.removeEventListener(Zt.MOUNTED,he),oe.removeEventListener(Zt.ATTR_MODIFIED,ge)})}}])}();mO.tag="LoadImage";var c9=function(b){function x(){var E;(0,$r.Z)(this,x);for(var z=arguments.length,te=new Array(z),re=0;re<z;re++)te[re]=arguments[re];return E=Ls(this,x,[].concat(te)),E.name="image-loader",E}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"init",value:function(z){this.context.imagePool=new R5(this.context,z),this.addRenderingPlugin(new mO)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(d0);var Jd=l9("renderState"),yO=function(){function b(x){(0,$r.Z)(this,b),this.removedRBushNodeAABBs=[],this.renderQueue=[],Object.defineProperty(this,Jd,{writable:!0,value:{restoreStack:[],prevObject:null,currentContext:new Map}}),this.clearFullScreenLastFrame=!1,this.clearFullScreen=!1,this.vpMatrix=vc(),this.dprMatrix=vc(),this.tmpMat4=vc(),this.vec3a=Ts(),this.vec3b=Ts(),this.vec3c=Ts(),this.vec3d=Ts(),this.canvasRendererPluginOptions=x}return(0,qi.Z)(b,[{key:"apply",value:function(E,z){var te=this;this.context=E;var re=this.context,oe=re.config,le=re.camera,he=re.renderingService,ge=re.renderingContext,Ae=re.rBushRoot,Pe=re.pathGeneratorFactory,We=oe.renderer.getConfig().enableRenderingOptimization;oe.renderer.getConfig().enableDirtyCheck=!1,oe.renderer.getConfig().enableDirtyRectangleRendering=!1,this.rBush=Ae,this.pathGeneratorFactory=Pe;var Xe=E.contextService,qe=ge.root.ownerDocument.defaultView,nt=function(bt){var jt=bt.target,Ut=jt.rBushNode;Ut.aabb&&te.removedRBushNodeAABBs.push(Ut.aabb)},at=function(bt){var jt=bt.target,Ut=jt.rBushNode;Ut.aabb&&te.removedRBushNodeAABBs.push(Ut.aabb)};he.hooks.init.tap(b.tag,function(){qe.addEventListener(Zt.UNMOUNTED,nt),qe.addEventListener(Zt.CULLED,at);var mt=Xe.getDPR(),bt=oe.width,jt=oe.height,Ut=Xe.getContext();te.clearRect(Ut,0,0,bt*mt,jt*mt,oe.background)}),he.hooks.destroy.tap(b.tag,function(){qe.removeEventListener(Zt.UNMOUNTED,nt),qe.removeEventListener(Zt.CULLED,at),te.renderQueue=[],te.removedRBushNodeAABBs=[],qm(te,Jd)[Jd]={restoreStack:[],prevObject:null,currentContext:null}}),he.hooks.beginFrame.tap(b.tag,function(){var mt,bt=Xe.getContext(),jt=Xe.getDPR(),Ut=oe.width,Kt=oe.height,Qt=te.canvasRendererPluginOptions,Vt=Qt.dirtyObjectNumThreshold,vn=Qt.dirtyObjectRatioThreshold,wn=he.getStats(),kn=wn.total,Vn=wn.rendered,vr=Vn/kn;te.clearFullScreen=te.clearFullScreenLastFrame||!((mt=qe.context.renderingPlugins[1])!==null&&mt!==void 0&&mt.isFirstTimeRenderingFinished)||he.disableDirtyRectangleRendering()||Vn>Vt&&vr>vn,bt&&(typeof bt.resetTransform=="function"?bt.resetTransform():bt.setTransform(1,0,0,1,0,0),te.clearFullScreen&&te.clearRect(bt,0,0,Ut*jt,Kt*jt,oe.background))});var pt=function(bt,jt){for(var Ut=[bt];Ut.length>0;){var Kt=Ut.pop();Kt.isVisible()&&!Kt.isCulled()&&(We?te.renderDisplayObjectOptimized(Kt,jt,te.context,qm(te,Jd)[Jd],z):te.renderDisplayObject(Kt,jt,te.context,qm(te,Jd)[Jd],z));for(var Qt=Kt.sortable.sorted||Kt.childNodes,Vt=Qt.length-1;Vt>=0;Vt--)Ut.push(Qt[Vt])}};he.hooks.endFrame.tap(b.tag,function(){if(ge.root.childNodes.length===0){te.clearFullScreenLastFrame=!0;return}We=oe.renderer.getConfig().enableRenderingOptimization,qm(te,Jd)[Jd]={restoreStack:[],prevObject:null,currentContext:qm(te,Jd)[Jd].currentContext},qm(te,Jd)[Jd].currentContext.clear(),te.clearFullScreenLastFrame=!1;var mt=Xe.getContext(),bt=Xe.getDPR();if(bf(te.dprMatrix,[bt,bt,1]),Ed(te.vpMatrix,te.dprMatrix,le.getOrthoMatrix()),te.clearFullScreen)We?(mt.save(),pt(ge.root,mt),mt.restore()):pt(ge.root,mt),te.removedRBushNodeAABBs=[];else{var jt=te.safeMergeAABB.apply(te,[te.mergeDirtyAABBs(te.renderQueue)].concat((0,qa.Z)(te.removedRBushNodeAABBs.map(function(vi){var Mi=vi.minX,$i=vi.minY,Lo=vi.maxX,Jo=vi.maxY,Ta=new Dc;return Ta.setMinMax([Mi,$i,0],[Lo,Jo,0]),Ta}))));if(te.removedRBushNodeAABBs=[],Dc.isEmpty(jt)){te.renderQueue=[];return}var Ut=te.convertAABB2Rect(jt),Kt=Ut.x,Qt=Ut.y,Vt=Ut.width,vn=Ut.height,wn=Vu(te.vec3a,[Kt,Qt,0],te.vpMatrix),kn=Vu(te.vec3b,[Kt+Vt,Qt,0],te.vpMatrix),Vn=Vu(te.vec3c,[Kt,Qt+vn,0],te.vpMatrix),vr=Vu(te.vec3d,[Kt+Vt,Qt+vn,0],te.vpMatrix),or=Math.min(wn[0],kn[0],vr[0],Vn[0]),Or=Math.min(wn[1],kn[1],vr[1],Vn[1]),qr=Math.max(wn[0],kn[0],vr[0],Vn[0]),wr=Math.max(wn[1],kn[1],vr[1],Vn[1]),Sr=Math.floor(or),Tr=Math.floor(Or),ri=Math.ceil(qr-or),Cr=Math.ceil(wr-Or);mt.save(),te.clearRect(mt,Sr,Tr,ri,Cr,oe.background),mt.beginPath(),mt.rect(Sr,Tr,ri,Cr),mt.clip(),mt.setTransform(te.vpMatrix[0],te.vpMatrix[1],te.vpMatrix[4],te.vpMatrix[5],te.vpMatrix[12],te.vpMatrix[13]);var yi=oe.renderer.getConfig(),Co=yi.enableDirtyRectangleRenderingDebug;Co&&qe.dispatchEvent(new se(gd.DIRTY_RECTANGLE,{dirtyRect:{x:Sr,y:Tr,width:ri,height:Cr}}));var wo=te.searchDirtyObjects(jt);wo.sort(function(vi,Mi){return vi.sortable.renderOrder-Mi.sortable.renderOrder}).forEach(function(vi){vi&&vi.isVisible()&&!vi.isCulled()&&te.renderDisplayObject(vi,mt,te.context,qm(te,Jd)[Jd],z)}),mt.restore(),te.renderQueue.forEach(function(vi){te.saveDirtyAABB(vi)}),te.renderQueue=[]}qm(te,Jd)[Jd].restoreStack.forEach(function(){mt.restore()}),qm(te,Jd)[Jd].restoreStack=[]}),he.hooks.render.tap(b.tag,function(mt){te.clearFullScreen||te.renderQueue.push(mt)})}},{key:"clearRect",value:function(E,z,te,re,oe,le){E.clearRect(z,te,re,oe),le&&(E.fillStyle=le,E.fillRect(z,te,re,oe))}},{key:"renderDisplayObjectOptimized",value:function(E,z,te,re,oe){var le=E.nodeName,he=!1,ge=!1,Ae=this.context.styleRendererFactory[le],Pe=this.pathGeneratorFactory[le],We=E.parsedStyle.clipPath;if(We){he=!re.prevObject||!Ad(We.getWorldTransform(),re.prevObject.getWorldTransform()),he&&(this.applyWorldTransform(z,We),re.prevObject=null);var Xe=this.pathGeneratorFactory[We.nodeName];Xe&&(z.save(),ge=!0,z.beginPath(),Xe(z,We.parsedStyle),z.closePath(),z.clip())}if(Ae){he=!re.prevObject||!Ad(E.getWorldTransform(),re.prevObject.getWorldTransform()),he&&this.applyWorldTransform(z,E);var qe=!re.prevObject;if(!qe){var nt=re.prevObject.nodeName;le===No.TEXT?qe=nt!==No.TEXT:le===No.IMAGE?qe=nt!==No.IMAGE:qe=nt===No.TEXT||nt===No.IMAGE}Ae.applyStyleToContext(z,E,qe,re),re.prevObject=E}Pe&&(z.beginPath(),Pe(z,E.parsedStyle),le!==No.LINE&&le!==No.PATH&&le!==No.POLYLINE&&z.closePath()),Ae&&Ae.drawToContext(z,E,qm(this,Jd)[Jd],this,oe),ge&&z.restore(),E.renderable.dirty=!1}},{key:"renderDisplayObject",value:function(E,z,te,re,oe){var le=E.nodeName,he=re.restoreStack[re.restoreStack.length-1];he&&!(E.compareDocumentPosition(he)&be.DOCUMENT_POSITION_CONTAINS)&&(z.restore(),re.restoreStack.pop());var ge=this.context.styleRendererFactory[le],Ae=this.pathGeneratorFactory[le],Pe=E.parsedStyle.clipPath;if(Pe){this.applyWorldTransform(z,Pe);var We=this.pathGeneratorFactory[Pe.nodeName];We&&(z.save(),re.restoreStack.push(E),z.beginPath(),We(z,Pe.parsedStyle),z.closePath(),z.clip())}ge&&(this.applyWorldTransform(z,E),z.save(),this.applyAttributesToContext(z,E)),Ae&&(z.beginPath(),Ae(z,E.parsedStyle),le!==No.LINE&&le!==No.PATH&&le!==No.POLYLINE&&z.closePath()),ge&&(ge.render(z,E.parsedStyle,E,te,this,oe),z.restore()),E.renderable.dirty=!1}},{key:"applyAttributesToContext",value:function(E,z){var te=z.parsedStyle,re=te.stroke,oe=te.fill,le=te.opacity,he=te.lineDash,ge=te.lineDashOffset;he&&E.setLineDash(he),El(ge)||(E.lineDashOffset=ge),El(le)||(E.globalAlpha*=le),!El(re)&&!Array.isArray(re)&&!re.isNone&&(E.strokeStyle=z.attributes.stroke),!El(oe)&&!Array.isArray(oe)&&!oe.isNone&&(E.fillStyle=z.attributes.fill)}},{key:"convertAABB2Rect",value:function(E){var z=E.getMin(),te=E.getMax(),re=Math.floor(z[0]),oe=Math.floor(z[1]),le=Math.ceil(te[0]),he=Math.ceil(te[1]),ge=le-re,Ae=he-oe;return{x:re,y:oe,width:ge,height:Ae}}},{key:"mergeDirtyAABBs",value:function(E){var z=new Dc;return E.forEach(function(te){var re=te.getRenderBounds();z.add(re);var oe=te.renderable.dirtyRenderBounds;oe&&z.add(oe)}),z}},{key:"searchDirtyObjects",value:function(E){var z=E.getMin(),te=(0,hs.Z)(z,2),re=te[0],oe=te[1],le=E.getMax(),he=(0,hs.Z)(le,2),ge=he[0],Ae=he[1],Pe=this.rBush.search({minX:re,minY:oe,maxX:ge,maxY:Ae});return Pe.map(function(We){var Xe=We.displayObject;return Xe})}},{key:"saveDirtyAABB",value:function(E){var z=E.renderable;z.dirtyRenderBounds||(z.dirtyRenderBounds=new Dc);var te=E.getRenderBounds();te&&z.dirtyRenderBounds.update(te.center,te.halfExtents)}},{key:"applyWorldTransform",value:function(E,z,te){te?(U0(this.tmpMat4,z.getLocalTransform()),Ed(this.tmpMat4,te,this.tmpMat4),Ed(this.tmpMat4,this.vpMatrix,this.tmpMat4)):(U0(this.tmpMat4,z.getWorldTransform()),Ed(this.tmpMat4,this.vpMatrix,this.tmpMat4)),E.setTransform(this.tmpMat4[0],this.tmpMat4[1],this.tmpMat4[4],this.tmpMat4[5],this.tmpMat4[12],this.tmpMat4[13])}},{key:"safeMergeAABB",value:function(){for(var E=new Dc,z=arguments.length,te=new Array(z),re=0;re<z;re++)te[re]=arguments[re];return te.forEach(function(oe){E.add(oe)}),E}}])}();yO.tag="CanvasRenderer";function lM(b,x,E,z,te,re,oe){var le,he;if(b.image.nodeName==="rect"){var ge=b.image.parsedStyle,Ae=ge.width,Pe=ge.height;he=z.contextService.getDPR();var We=z.config.offscreenCanvas;le=re.offscreenCanvasCreator.getOrCreateCanvas(We),le.width=Ae*he,le.height=Pe*he;var Xe=re.offscreenCanvasCreator.getOrCreateContext(We),qe={restoreStack:[],prevObject:null,currentContext:new Map};b.image.forEach(function(at){te.renderDisplayObject(at,Xe,z,qe,re)}),qe.restoreStack.forEach(function(){Xe.restore()})}var nt=oe.getOrCreatePatternSync(x,b,E,le,he,x.getGeometryBounds().min,function(){x.renderable.dirty=!0,z.renderingService.dirtify()});return nt}function uM(b,x,E,z){var te;if(b.type===dd.LinearGradient||b.type===dd.RadialGradient){var re=x.getGeometryBounds(),oe=re&&re.halfExtents[0]*2||1,le=re&&re.halfExtents[1]*2||1,he=re&&re.min||[0,0];te=z.getOrCreateGradient((0,Ho.Z)((0,Ho.Z)({type:b.type},b.value),{},{min:he,width:oe,height:le}),E)}return te}var cM=["shadowBlur","shadowOffsetX","shadowOffsetY"],xO=["lineCap","lineJoin","miterLimit"],df={globalAlpha:1,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",filter:"none",globalCompositeOperation:"source-over",strokeStyle:"#000",strokeOpacity:1,lineWidth:1,lineDash:[],lineDashOffset:0,lineCap:"butt",lineJoin:"miter",miterLimit:10,fillStyle:"#000",fillOpacity:1},EO={};function vd(b,x,E,z){var te=z.has(x)?z.get(x):df[x];return te!==E&&(x==="lineDash"?b.setLineDash(E):b[x]=E,z.set(x,E)),te}var h9=function(){function b(x){(0,$r.Z)(this,b),this.imagePool=x}return(0,qi.Z)(b,[{key:"applyAttributesToContext",value:function(E,z){}},{key:"render",value:function(E,z,te,re,oe,le){}},{key:"applyCommonStyleToContext",value:function(E,z,te,re){var oe=te?EO:re.prevObject.parsedStyle,le=z.parsedStyle;(te||le.opacity!==oe.opacity)&&vd(E,"globalAlpha",El(le.opacity)?df.globalAlpha:le.opacity,re.currentContext),(te||le.blend!==oe.blend)&&vd(E,"globalCompositeOperation",El(le.blend)?df.globalCompositeOperation:le.blend,re.currentContext)}},{key:"applyStrokeFillStyleToContext",value:function(E,z,te,re){var oe=te?EO:re.prevObject.parsedStyle,le=z.parsedStyle,he=le.lineWidth,ge=he===void 0?df.lineWidth:he,Ae=le.fill&&!le.fill.isNone,Pe=le.stroke&&!le.stroke.isNone&&ge>0;if(Pe){if(te||z.attributes.stroke!==re.prevObject.attributes.stroke){var We=!El(le.stroke)&&!Array.isArray(le.stroke)&&!le.stroke.isNone?z.attributes.stroke:df.strokeStyle;vd(E,"strokeStyle",We,re.currentContext)}(te||le.lineWidth!==oe.lineWidth)&&vd(E,"lineWidth",El(le.lineWidth)?df.lineWidth:le.lineWidth,re.currentContext),(te||le.lineDash!==oe.lineDash)&&vd(E,"lineDash",le.lineDash||df.lineDash,re.currentContext),(te||le.lineDashOffset!==oe.lineDashOffset)&&vd(E,"lineDashOffset",El(le.lineDashOffset)?df.lineDashOffset:le.lineDashOffset,re.currentContext);for(var Xe=0;Xe<xO.length;Xe++){var qe=xO[Xe];(te||le[qe]!==oe[qe])&&vd(E,qe,El(le[qe])?df[qe]:le[qe],re.currentContext)}}if(Ae&&(te||z.attributes.fill!==re.prevObject.attributes.fill)){var nt=!El(le.fill)&&!Array.isArray(le.fill)&&!le.fill.isNone?z.attributes.fill:df.fillStyle;vd(E,"fillStyle",nt,re.currentContext)}}},{key:"applyStyleToContext",value:function(E,z,te,re){var oe=z.nodeName;this.applyCommonStyleToContext(E,z,te,re),oe===No.IMAGE||this.applyStrokeFillStyleToContext(E,z,te,re)}},{key:"applyShadowAndFilterStyleToContext",value:function(E,z,te,re){var oe=z.parsedStyle;if(te){vd(E,"shadowColor",oe.shadowColor.toString(),re.currentContext);for(var le=0;le<cM.length;le++){var he=cM[le];vd(E,he,oe[he]||df[he],re.currentContext)}}oe.filter&&oe.filter.length&&vd(E,"filter",z.attributes.filter,re.currentContext)}},{key:"clearShadowAndFilterStyleForContext",value:function(E,z,te,re){var oe=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(z){vd(E,"shadowColor",df.shadowColor,re.currentContext);for(var le=0;le<cM.length;le++){var he=cM[le];vd(E,he,df[he],re.currentContext)}}if(te)if(z&&oe){var ge=E.filter;!El(ge)&&ge.indexOf("drop-shadow")>-1&&vd(E,"filter",ge.replace(/drop-shadow\([^)]*\)/,"").trim()||df.filter,re.currentContext)}else vd(E,"filter",df.filter,re.currentContext)}},{key:"fillToContext",value:function(E,z,te,re,oe){var le=this,he=z.parsedStyle,ge=he.fill,Ae=he.fillRule,Pe=null;if(Array.isArray(ge)&&ge.length>0)ge.forEach(function(Xe){var qe,nt=vd(E,"fillStyle",uM(Xe,z,E,le.imagePool),te.currentContext);Pe=(qe=Pe)!==null&&qe!==void 0?qe:nt,Ae?E.fill(Ae):E.fill()});else{if(Dm(ge)){var We=lM(ge,z,E,z.ownerDocument.defaultView.context,re,oe,this.imagePool);We&&(E.fillStyle=We,Pe=!0)}Ae?E.fill(Ae):E.fill()}Pe!==null&&vd(E,"fillStyle",Pe,te.currentContext)}},{key:"strokeToContext",value:function(E,z,te,re,oe){var le=this,he=z.parsedStyle.stroke,ge=null;if(Array.isArray(he)&&he.length>0)he.forEach(function(Xe){var qe,nt=vd(E,"strokeStyle",uM(Xe,z,E,le.imagePool),te.currentContext);ge=(qe=ge)!==null&&qe!==void 0?qe:nt,E.stroke()});else{if(Dm(he)){var Ae=lM(he,z,E,z.ownerDocument.defaultView.context,re,oe,this.imagePool);if(Ae){var Pe,We=vd(E,"strokeStyle",Ae,te.currentContext);ge=(Pe=ge)!==null&&Pe!==void 0?Pe:We}}E.stroke()}ge!==null&&vd(E,"strokeStyle",ge,te.currentContext)}},{key:"drawToContext",value:function(E,z,te,re,oe){var le,he=z.nodeName,ge=z.parsedStyle,Ae=ge.opacity,Pe=Ae===void 0?df.globalAlpha:Ae,We=ge.fillOpacity,Xe=We===void 0?df.fillOpacity:We,qe=ge.strokeOpacity,nt=qe===void 0?df.strokeOpacity:qe,at=ge.lineWidth,pt=at===void 0?df.lineWidth:at,mt=ge.fill&&!ge.fill.isNone,bt=ge.stroke&&!ge.stroke.isNone&&pt>0;if(!(!mt&&!bt)){var jt=!El(ge.shadowColor)&&ge.shadowBlur>0,Ut=ge.shadowType==="inner",Kt=((le=ge.fill)===null||le===void 0?void 0:le.alpha)===0,Qt=!!(ge.filter&&ge.filter.length),Vt=jt&&bt&&(he===No.PATH||he===No.LINE||he===No.POLYLINE||Kt||Ut),vn=null;if(mt){Vt||this.applyShadowAndFilterStyleToContext(E,z,jt,te);var wn=Pe*Xe;vn=vd(E,"globalAlpha",wn,te.currentContext),this.fillToContext(E,z,te,re,oe),Vt||this.clearShadowAndFilterStyleForContext(E,jt,Qt,te)}if(bt){var kn=!1,Vn=Pe*nt,vr=vd(E,"globalAlpha",Vn,te.currentContext);if(vn=mt?vn:vr,Vt&&(this.applyShadowAndFilterStyleToContext(E,z,jt,te),kn=!0,Ut)){var or=E.globalCompositeOperation;E.globalCompositeOperation="source-atop",this.strokeToContext(E,z,te,re,oe),E.globalCompositeOperation=or,this.clearShadowAndFilterStyleForContext(E,jt,Qt,te,!0)}this.strokeToContext(E,z,te,re,oe),kn&&this.clearShadowAndFilterStyleForContext(E,jt,Qt,te)}vn!==null&&vd(E,"globalAlpha",vn,te.currentContext)}}}])}(),k5=function(b){function x(){return(0,$r.Z)(this,x),Ls(this,x,arguments)}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"render",value:function(z,te,re,oe,le,he){var ge=te.fill,Ae=te.fillRule,Pe=te.opacity,We=Pe===void 0?1:Pe,Xe=te.fillOpacity,qe=Xe===void 0?1:Xe,nt=te.stroke,at=te.strokeOpacity,pt=at===void 0?1:at,mt=te.lineWidth,bt=mt===void 0?1:mt,jt=te.lineCap,Ut=te.lineJoin,Kt=te.shadowType,Qt=te.shadowColor,Vt=te.shadowBlur,vn=te.filter,wn=te.miterLimit,kn=ge&&!ge.isNone,Vn=nt&&!nt.isNone&&bt>0,vr=(ge==null?void 0:ge.alpha)===0,or=!!(vn&&vn.length),Or=!El(Qt)&&Vt>0,qr=re.nodeName,wr=Kt==="inner",Sr=Vn&&Or&&(qr===No.PATH||qr===No.LINE||qr===No.POLYLINE||vr||wr);kn&&(z.globalAlpha=We*qe,Sr||hM(re,z,Or),AO(z,re,ge,Ae,oe,le,he,this.imagePool),Sr||this.clearShadowAndFilter(z,or,Or)),Vn&&(z.globalAlpha=We*pt,z.lineWidth=bt,El(wn)||(z.miterLimit=wn),El(jt)||(z.lineCap=jt),El(Ut)||(z.lineJoin=Ut),Sr&&(wr&&(z.globalCompositeOperation="source-atop"),hM(re,z,!0),wr&&(F5(z,re,nt,oe,le,he,this.imagePool),z.globalCompositeOperation=df.globalCompositeOperation,this.clearShadowAndFilter(z,or,!0))),F5(z,re,nt,oe,le,he,this.imagePool))}},{key:"clearShadowAndFilter",value:function(z,te,re){if(re&&(z.shadowColor="transparent",z.shadowBlur=0),te){var oe=z.filter;!El(oe)&&oe.indexOf("drop-shadow")>-1&&(z.filter=oe.replace(/drop-shadow\([^)]*\)/,"").trim()||"none")}}}])}(h9);function hM(b,x,E){var z=b.parsedStyle,te=z.filter,re=z.shadowColor,oe=z.shadowBlur,le=z.shadowOffsetX,he=z.shadowOffsetY;te&&te.length&&(x.filter=b.style.filter),E&&(x.shadowColor=re.toString(),x.shadowBlur=oe||0,x.shadowOffsetX=le||0,x.shadowOffsetY=he||0)}function AO(b,x,E,z,te,re,oe,le){var he=arguments.length>8&&arguments[8]!==void 0?arguments[8]:!1;Array.isArray(E)?E.forEach(function(ge){b.fillStyle=uM(ge,x,b,le),he||(z?b.fill(z):b.fill())}):(Dm(E)&&(b.fillStyle=lM(E,x,b,te,re,oe,le)),he||(z?b.fill(z):b.fill()))}function F5(b,x,E,z,te,re,oe){var le=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1;Array.isArray(E)?E.forEach(function(he){b.strokeStyle=uM(he,x,b,oe),le||b.stroke()}):(Dm(E)&&(b.strokeStyle=lM(E,x,b,z,te,re,oe)),le||b.stroke())}function d9(b,x){var E=(0,hs.Z)(b,4),z=E[0],te=E[1],re=E[2],oe=E[3],le=(0,hs.Z)(x,4),he=le[0],ge=le[1],Ae=le[2],Pe=le[3],We=Math.max(z,he),Xe=Math.max(te,ge),qe=Math.min(z+re,he+Ae),nt=Math.min(te+oe,ge+Pe);return qe<=We||nt<=Xe?null:[We,Xe,qe-We,nt-Xe]}function f9(b,x){var E=Vu(Ts(),[b[0],b[1],0],x),z=Vu(Ts(),[b[0]+b[2],b[1],0],x),te=Vu(Ts(),[b[0],b[1]+b[3],0],x),re=Vu(Ts(),[b[0]+b[2],b[1]+b[3],0],x);return[Math.min(E[0],z[0],te[0],re[0]),Math.min(E[1],z[1],te[1],re[1]),Math.max(E[0],z[0],te[0],re[0])-Math.min(E[0],z[0],te[0],re[0]),Math.max(E[1],z[1],te[1],re[1])-Math.min(E[1],z[1],te[1],re[1])]}var g9=function(b){function x(){return(0,$r.Z)(this,x),Ls(this,x,arguments)}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"renderDownSampled",value:function(z,te,re,oe){var le=oe.src,he=oe.imageCache;if(!he.downSampled){this.imagePool.createDownSampledImage(le,re).then(function(ge){re.renderable.dirty=!0,re.ownerDocument.defaultView.context.renderingService.dirtify()}).catch(function(){});return}z.drawImage(he.downSampled,Math.floor(oe.drawRect[0]),Math.floor(oe.drawRect[1]),Math.ceil(oe.drawRect[2]),Math.ceil(oe.drawRect[3]))}},{key:"renderTile",value:function(z,te,re,oe){var le=oe.src,he=oe.imageCache,ge=oe.imageRect,Ae=oe.drawRect,Pe=he.size,We=z.getTransform(),Xe=We.a,qe=We.b,nt=We.c,at=We.d,pt=We.e,mt=We.f;if(z.resetTransform(),!(he!=null&&he.gridSize)){this.imagePool.createImageTiles(le,[],function(){re.renderable.dirty=!0,re.ownerDocument.defaultView.context.renderingService.dirtify()},re).catch(function(){});return}for(var bt=[Pe[0]/ge[2],Pe[1]/ge[3]],jt=[he.tileSize[0]/bt[0],he.tileSize[1]/bt[1]],Ut=[Math.floor((Ae[0]-ge[0])/jt[0]),Math.ceil((Ae[0]+Ae[2]-ge[0])/jt[0])],Kt=Ut[0],Qt=Ut[1],Vt=[Math.floor((Ae[1]-ge[1])/jt[1]),Math.ceil((Ae[1]+Ae[3]-ge[1])/jt[1])],vn=Vt[0],wn=Vt[1],kn=vn;kn<=wn;kn++)for(var Vn=Kt;Vn<=Qt;Vn++){var vr=he.tiles[kn][Vn];if(vr){var or=[Math.floor(ge[0]+vr.tileX*jt[0]),Math.floor(ge[1]+vr.tileY*jt[1]),Math.ceil(jt[0]),Math.ceil(jt[1])];z.drawImage(vr.data,or[0],or[1],or[2],or[3])}}z.setTransform(Xe,qe,nt,at,pt,mt)}},{key:"render",value:function(z,te,re){var oe=te.x,le=oe===void 0?0:oe,he=te.y,ge=he===void 0?0:he,Ae=te.width,Pe=te.height,We=te.src,Xe=te.shadowColor,qe=te.shadowBlur,nt=this.imagePool.getImageSync(We,re),at=nt==null?void 0:nt.img,pt=Ae,mt=Pe;if(at){pt||(pt=at.width),mt||(mt=at.height);var bt=!El(Xe)&&qe>0;hM(re,z,bt);try{var jt=re.ownerDocument.defaultView.getContextService().getDomElement(),Ut=jt.width,Kt=jt.height,Qt=z.getTransform(),Vt=Qt.a,vn=Qt.b,wn=Qt.c,kn=Qt.d,Vn=Qt.e,vr=Qt.f,or=p1(Vt,wn,0,0,vn,kn,0,0,0,0,1,0,Vn,vr,0,1),Or=f9([le,ge,pt,mt],or),qr=d9([0,0,Ut,Kt],Or);if(!qr)return;if(!re.ownerDocument.defaultView.getConfig().enableLargeImageOptimization){x.renderFull(z,te,re,{image:at,drawRect:[le,ge,pt,mt]});return}var wr=Or[2]/nt.size[0];if(wr<(nt.downSamplingRate||.5)){this.renderDownSampled(z,te,re,{src:We,imageCache:nt,drawRect:[le,ge,pt,mt]});return}if(!R5.isSupportTile){x.renderFull(z,te,re,{image:at,drawRect:[le,ge,pt,mt]});return}this.renderTile(z,te,re,{src:We,imageCache:nt,imageRect:Or,drawRect:qr})}catch(Sr){}}}},{key:"drawToContext",value:function(z,te,re,oe,le){this.render(z,te.parsedStyle,te)}}],[{key:"renderFull",value:function(z,te,re,oe){z.drawImage(oe.image,Math.floor(oe.drawRect[0]),Math.floor(oe.drawRect[1]),Math.ceil(oe.drawRect[2]),Math.ceil(oe.drawRect[3]))}}])}(k5),p9=function(b){function x(){return(0,$r.Z)(this,x),Ls(this,x,arguments)}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"render",value:function(z,te,re,oe,le,he){re.getBounds();var ge=te.lineWidth,Ae=ge===void 0?1:ge,Pe=te.textAlign,We=Pe===void 0?"start":Pe,Xe=te.textBaseline,qe=Xe===void 0?"alphabetic":Xe,nt=te.lineJoin,at=nt===void 0?"miter":nt,pt=te.miterLimit,mt=pt===void 0?10:pt,bt=te.letterSpacing,jt=bt===void 0?0:bt,Ut=te.stroke,Kt=te.fill,Qt=te.fillRule,Vt=te.fillOpacity,vn=Vt===void 0?1:Vt,wn=te.strokeOpacity,kn=wn===void 0?1:wn,Vn=te.opacity,vr=Vn===void 0?1:Vn,or=te.metrics,Or=te.x,qr=Or===void 0?0:Or,wr=te.y,Sr=wr===void 0?0:wr,Tr=te.dx,ri=te.dy,Cr=te.shadowColor,yi=te.shadowBlur,Co=or.font,wo=or.lines,vi=or.height,Mi=or.lineHeight,$i=or.lineMetrics;z.font=Co,z.lineWidth=Ae,z.textAlign=We==="middle"?"center":We;var Lo=qe;Lo==="alphabetic"&&(Lo="bottom"),z.lineJoin=at,El(mt)||(z.miterLimit=mt);var Jo=Sr;qe==="middle"?Jo+=-vi/2-Mi/2:qe==="bottom"||qe==="alphabetic"||qe==="ideographic"?Jo+=-vi:(qe==="top"||qe==="hanging")&&(Jo+=-Mi);var Ta=qr+(Tr||0);Jo+=ri||0,wo.length===1&&(Lo==="bottom"?(Lo="middle",Jo-=.5*vi):Lo==="top"&&(Lo="middle",Jo+=.5*vi)),z.textBaseline=Lo;var Bs=!El(Cr)&&yi>0;hM(re,z,Bs);for(var js=0;js<wo.length;js++){var Sa=Ae/2+Ta;Jo+=Mi,!El(Ut)&&!Ut.isNone&&Ae&&this.drawLetterSpacing(z,re,wo[js],$i[js],We,Sa,Jo,jt,Kt,Qt,vn,Ut,kn,vr,!0,oe,le,he),El(Kt)||this.drawLetterSpacing(z,re,wo[js],$i[js],We,Sa,Jo,jt,Kt,Qt,vn,Ut,kn,vr,!1,oe,le,he)}}},{key:"drawLetterSpacing",value:function(z,te,re,oe,le,he,ge,Ae,Pe,We,Xe,qe,nt,at,pt,mt,bt,jt){if(Ae===0){pt?this.strokeText(z,te,re,he,ge,qe,nt,mt,bt,jt):this.fillText(z,te,re,he,ge,Pe,We,Xe,at,mt,bt,jt);return}var Ut=z.textAlign;z.textAlign="left";var Kt=he;le==="center"||le==="middle"?Kt=he-oe.width/2:(le==="right"||le==="end")&&(Kt=he-oe.width);for(var Qt=Array.from(re),Vt=z.measureText(re).width,vn=0,wn=0;wn<Qt.length;++wn){var kn=Qt[wn];pt?this.strokeText(z,te,kn,Kt,ge,qe,nt,mt,bt,jt):this.fillText(z,te,kn,Kt,ge,Pe,We,Xe,at,mt,bt,jt),vn=z.measureText(re.substring(wn+1)).width,Kt+=Vt-vn+Ae,Vt=vn}z.textAlign=Ut}},{key:"fillText",value:function(z,te,re,oe,le,he,ge,Ae,Pe,We,Xe,qe){AO(z,te,he,ge,We,Xe,qe,this.imagePool,!0);var nt,at=!El(Ae)&&Ae!==1;at&&(nt=z.globalAlpha,z.globalAlpha=Ae*Pe),z.fillText(re,oe,le),at&&(z.globalAlpha=nt)}},{key:"strokeText",value:function(z,te,re,oe,le,he,ge,Ae,Pe,We){F5(z,te,he,Ae,Pe,We,this.imagePool,!0);var Xe,qe=!El(ge)&&ge!==1;qe&&(Xe=z.globalAlpha,z.globalAlpha=ge),z.strokeText(re,oe,le),qe&&(z.globalAlpha=Xe)}},{key:"drawToContext",value:function(z,te,re,oe,le){this.render(z,te.parsedStyle,te,te.ownerDocument.defaultView.context,oe,le)}}])}(k5),v9=function(b){function x(){var E,z=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,$r.Z)(this,x),E=Ls(this,x),E.name="canvas-renderer",E.options=z,E}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"init",value:function(){var z,te=(0,Ho.Z)({dirtyObjectNumThreshold:500,dirtyObjectRatioThreshold:.8},this.options),re=this.context.imagePool,oe=new k5(re),le=(z={},(0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)((0,Rs.Z)(z,No.CIRCLE,oe),No.ELLIPSE,oe),No.RECT,oe),No.IMAGE,new g9(re)),No.TEXT,new p9(re)),No.LINE,oe),No.POLYLINE,oe),No.POLYGON,oe),No.PATH,oe),No.GROUP,void 0),(0,Rs.Z)((0,Rs.Z)((0,Rs.Z)(z,No.HTML,void 0),No.MESH,void 0),No.FRAGMENT,void 0));this.context.defaultStyleRendererFactory=le,this.context.styleRendererFactory=le,this.addRenderingPlugin(new yO(te))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins(),delete this.context.defaultStyleRendererFactory,delete this.context.styleRendererFactory}}])}(d0);var SO=function(){function b(){(0,$r.Z)(this,b)}return(0,qi.Z)(b,[{key:"apply",value:function(E,z){var te=this,re=E.renderingService,oe=E.renderingContext,le=E.config;this.context=E;var he=oe.root.ownerDocument.defaultView,ge=function(Vt){re.hooks.pointerMove.call(Vt)},Ae=function(Vt){re.hooks.pointerUp.call(Vt)},Pe=function(Vt){re.hooks.pointerDown.call(Vt)},We=function(Vt){re.hooks.pointerOver.call(Vt)},Xe=function(Vt){re.hooks.pointerOut.call(Vt)},qe=function(Vt){re.hooks.pointerCancel.call(Vt)},nt=function(Vt){re.hooks.pointerWheel.call(Vt)},at=function(Vt){re.hooks.click.call(Vt)},pt=function(Vt){z.globalThis.document.addEventListener("pointermove",ge,!0),Vt.addEventListener("pointerdown",Pe,!0),Vt.addEventListener("pointerleave",Xe,!0),Vt.addEventListener("pointerover",We,!0),z.globalThis.addEventListener("pointerup",Ae,!0),z.globalThis.addEventListener("pointercancel",qe,!0)},mt=function(Vt){Vt.addEventListener("touchstart",Pe,!0),Vt.addEventListener("touchend",Ae,!0),Vt.addEventListener("touchmove",ge,!0),Vt.addEventListener("touchcancel",qe,!0)},bt=function(Vt){z.globalThis.document.addEventListener("mousemove",ge,!0),Vt.addEventListener("mousedown",Pe,!0),Vt.addEventListener("mouseout",Xe,!0),Vt.addEventListener("mouseover",We,!0),z.globalThis.addEventListener("mouseup",Ae,!0)},jt=function(Vt){z.globalThis.document.removeEventListener("pointermove",ge,!0),Vt.removeEventListener("pointerdown",Pe,!0),Vt.removeEventListener("pointerleave",Xe,!0),Vt.removeEventListener("pointerover",We,!0),z.globalThis.removeEventListener("pointerup",Ae,!0),z.globalThis.removeEventListener("pointercancel",qe,!0)},Ut=function(Vt){Vt.removeEventListener("touchstart",Pe,!0),Vt.removeEventListener("touchend",Ae,!0),Vt.removeEventListener("touchmove",ge,!0),Vt.removeEventListener("touchcancel",qe,!0)},Kt=function(Vt){z.globalThis.document.removeEventListener("mousemove",ge,!0),Vt.removeEventListener("mousedown",Pe,!0),Vt.removeEventListener("mouseout",Xe,!0),Vt.removeEventListener("mouseover",We,!0),z.globalThis.removeEventListener("mouseup",Ae,!0)};re.hooks.init.tap(b.tag,function(){var Qt=te.context.contextService.getDomElement();z.globalThis.navigator.msPointerEnabled?(Qt.style.msContentZooming="none",Qt.style.msTouchAction="none"):he.supportsPointerEvents&&(Qt.style.touchAction="none"),he.supportsPointerEvents?pt(Qt):bt(Qt),he.supportsTouchEvents&&mt(Qt),le.useNativeClickEvent&&Qt.addEventListener("click",at,!0),Qt.addEventListener("wheel",nt,{passive:!0,capture:!0})}),re.hooks.destroy.tap(b.tag,function(){var Qt=te.context.contextService.getDomElement();z.globalThis.navigator.msPointerEnabled?(Qt.style.msContentZooming="",Qt.style.msTouchAction=""):he.supportsPointerEvents&&(Qt.style.touchAction=""),he.supportsPointerEvents?jt(Qt):Kt(Qt),he.supportsTouchEvents&&Ut(Qt),le.useNativeClickEvent&&Qt.removeEventListener("click",at,!0),Qt.removeEventListener("wheel",nt,!0)})}}])}();SO.tag="DOMInteraction";var m9=function(b){function x(){var E;(0,$r.Z)(this,x);for(var z=arguments.length,te=new Array(z),re=0;re<z;re++)te[re]=arguments[re];return E=Ls(this,x,[].concat(te)),E.name="dom-interaction",E}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"init",value:function(){this.addRenderingPlugin(new SO)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(d0);var y9="g-canvas-camera",wO=function(){function b(){(0,$r.Z)(this,b),this.displayObjectHTMLElementMap=new WeakMap}return(0,qi.Z)(b,[{key:"joinTransformMatrix",value:function(E){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0,0];return"matrix(".concat([E[0],E[1],E[4],E[5],E[12]+z[0],E[13]+z[1]].join(","),")")}},{key:"apply",value:function(E,z){var te=this,re=E.camera,oe=E.renderingContext,le=E.renderingService;this.context=E;var he=oe.root.ownerDocument.defaultView,ge=he.context.eventService.nativeHTMLMap,Ae=function(pt,mt){mt.style.transform=te.joinTransformMatrix(pt.getWorldTransform(),pt.getOrigin())},Pe=function(pt){var mt=pt.target;if(mt.nodeName===No.HTML){te.$camera||(te.$camera=te.createCamera(re));var bt=te.getOrCreateEl(mt);te.$camera.appendChild(bt),Object.keys(mt.attributes).forEach(function(jt){te.updateAttribute(jt,mt)}),Ae(mt,bt),ge.set(bt,mt)}},We=function(pt){var mt=pt.target;if(mt.nodeName===No.HTML&&te.$camera){var bt=te.getOrCreateEl(mt);bt&&(bt.remove(),ge.delete(bt))}},Xe=function(pt){var mt=pt.target;if(mt.nodeName===No.HTML){var bt=pt.attrName;te.updateAttribute(bt,mt)}},qe=function(pt){var mt=pt.target,bt=mt.nodeName===No.FRAGMENT?mt.childNodes:[mt];bt.forEach(function(jt){if(jt.nodeName===No.HTML){var Ut=te.getOrCreateEl(jt);Ae(jt,Ut)}})},nt=function(){if(te.$camera){var pt=te.context.config,mt=pt.width,bt=pt.height;te.$camera.parentElement.style.width="".concat(mt||0,"px"),te.$camera.parentElement.style.height="".concat(bt||0,"px")}};le.hooks.init.tap(b.tag,function(){he.addEventListener(gd.RESIZE,nt),he.addEventListener(Zt.MOUNTED,Pe),he.addEventListener(Zt.UNMOUNTED,We),he.addEventListener(Zt.ATTR_MODIFIED,Xe),he.addEventListener(Zt.BOUNDS_CHANGED,qe)}),le.hooks.endFrame.tap(b.tag,function(){te.$camera&&oe.renderReasons.has(st.CAMERA_CHANGED)&&(te.$camera.style.transform=te.joinTransformMatrix(re.getOrthoMatrix()))}),le.hooks.destroy.tap(b.tag,function(){te.$camera&&te.$camera.remove(),he.removeEventListener(gd.RESIZE,nt),he.removeEventListener(Zt.MOUNTED,Pe),he.removeEventListener(Zt.UNMOUNTED,We),he.removeEventListener(Zt.ATTR_MODIFIED,Xe),he.removeEventListener(Zt.BOUNDS_CHANGED,qe)})}},{key:"createCamera",value:function(E){var z=this.context.config,te=z.document,re=z.width,oe=z.height,le=this.context.contextService.getDomElement(),he=le.parentNode;if(he){var ge=y9,Ae=he.querySelector("#".concat(ge));if(!Ae){var Pe=(te||document).createElement("div");Pe.style.overflow="hidden",Pe.style.pointerEvents="none",Pe.style.position="absolute",Pe.style.left="0px",Pe.style.top="0px",Pe.style.width="".concat(re||0,"px"),Pe.style.height="".concat(oe||0,"px");var We=(te||document).createElement("div");Ae=We,We.id=ge,We.style.position="absolute",We.style.left="".concat(le.offsetLeft||0,"px"),We.style.top="".concat(le.offsetTop||0,"px"),We.style.transformOrigin="left top",We.style.transform=this.joinTransformMatrix(E.getOrthoMatrix()),We.style.pointerEvents="none",We.style.width="100%",We.style.height="100%",Pe.appendChild(We),he.appendChild(Pe)}return Ae}return null}},{key:"getOrCreateEl",value:function(E){var z=this.context.config.document,te=this.displayObjectHTMLElementMap.get(E);return te||(te=(z||document).createElement("div"),E.parsedStyle.$el=te,this.displayObjectHTMLElementMap.set(E,te),E.id&&(te.id=E.id),E.name&&te.setAttribute("name",E.name),E.className&&(te.className=E.className),te.style.position="absolute",te.style["will-change"]="transform",te.style.transform=this.joinTransformMatrix(E.getWorldTransform(),E.getOrigin())),te}},{key:"updateAttribute",value:function(E,z){var te=this.getOrCreateEl(z);switch(E){case"innerHTML":var re=z.parsedStyle.innerHTML;qu(re)?te.innerHTML=re:(te.innerHTML="",te.appendChild(re));break;case"x":te.style.left="".concat(z.parsedStyle.x,"px");break;case"y":te.style.top="".concat(z.parsedStyle.y,"px");break;case"transformOrigin":var oe=z.parsedStyle.transformOrigin;te.style["transform-origin"]="".concat(oe[0].buildCSSText(null,null,"")," ").concat(oe[1].buildCSSText(null,null,""));break;case"width":var le=z.parsedStyle.width;te.style.width=As(le)?"".concat(le,"px"):le.toString();break;case"height":var he=z.parsedStyle.height;te.style.height=As(he)?"".concat(he,"px"):he.toString();break;case"zIndex":var ge=z.parsedStyle.zIndex;te.style["z-index"]="".concat(ge);break;case"visibility":var Ae=z.parsedStyle.visibility;te.style.visibility=Ae;break;case"pointerEvents":var Pe=z.parsedStyle.pointerEvents,We=Pe===void 0?"auto":Pe;te.style.pointerEvents=We;break;case"opacity":var Xe=z.parsedStyle.opacity;te.style.opacity="".concat(Xe);break;case"fill":var qe=z.parsedStyle.fill,nt="";gE(qe)?qe.isNone?nt="transparent":nt=z.getAttribute("fill"):Array.isArray(qe)?nt=z.getAttribute("fill"):Dm(qe),te.style.background=nt;break;case"stroke":var at=z.parsedStyle.stroke,pt="";gE(at)?at.isNone?pt="transparent":pt=z.getAttribute("stroke"):Array.isArray(at)?pt=z.getAttribute("stroke"):Dm(at),te.style["border-color"]=pt,te.style["border-style"]="solid";break;case"lineWidth":var mt=z.parsedStyle.lineWidth;te.style["border-width"]="".concat(mt||0,"px");break;case"lineDash":te.style["border-style"]="dashed";break;case"filter":var bt=z.style.filter;te.style.filter=bt;break;default:!El(z.style[E])&&z.style[E]!==""&&(te.style[E]=z.style[E])}}}])}();wO.tag="HTMLRendering";var x9=function(b){function x(){var E;(0,$r.Z)(this,x);for(var z=arguments.length,te=new Array(z),re=0;re<z;re++)te[re]=arguments[re];return E=Ls(this,x,[].concat(te)),E.name="html-renderer",E}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"init",value:function(){this.addRenderingPlugin(new wO)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(d0);var E9=function(){function b(x){(0,$r.Z)(this,b),this.renderingContext=x.renderingContext,this.canvasConfig=x.config}return(0,qi.Z)(b,[{key:"init",value:function(){var E=this.canvasConfig,z=E.container,te=E.canvas;if(te)this.$canvas=te,z&&te.parentElement!==z&&z.appendChild(te),this.$container=te.parentElement,this.canvasConfig.container=this.$container;else if(z&&(this.$container=qu(z)?document.getElementById(z):z,this.$container)){var re=document.createElement("canvas");this.$container.appendChild(re),this.$container.style.position||(this.$container.style.position="relative"),this.$canvas=re}this.context=this.$canvas.getContext("2d"),this.resize(this.canvasConfig.width,this.canvasConfig.height)}},{key:"getContext",value:function(){return this.context}},{key:"getDomElement",value:function(){return this.$canvas}},{key:"getDPR",value:function(){return this.dpr}},{key:"getBoundingClientRect",value:function(){if(this.$canvas.getBoundingClientRect)return this.$canvas.getBoundingClientRect()}},{key:"destroy",value:function(){this.$container&&this.$canvas&&this.$canvas.parentNode&&this.$container.removeChild(this.$canvas)}},{key:"resize",value:function(E,z){var te=this.canvasConfig.devicePixelRatio;this.dpr=te,this.$canvas&&(this.$canvas.width=this.dpr*E,this.$canvas.height=this.dpr*z,vP(this.$canvas,E,z)),this.renderingContext.renderReasons.add(st.CAMERA_CHANGED)}},{key:"applyCursorStyle",value:function(E){this.$container&&this.$container.style&&(this.$container.style.cursor=E)}},{key:"toDataURL",value:function(){var x=(0,Bv.Z)((0,Gd.Z)().mark(function z(){var te,re,oe,le=arguments;return(0,Gd.Z)().wrap(function(ge){for(;;)switch(ge.prev=ge.next){case 0:return te=le.length>0&&le[0]!==void 0?le[0]:{},re=te.type,oe=te.encoderOptions,ge.abrupt("return",this.context.canvas.toDataURL(re,oe));case 3:case"end":return ge.stop()}},z,this)}));function E(){return x.apply(this,arguments)}return E}()}])}(),A9=function(b){function x(){var E;(0,$r.Z)(this,x);for(var z=arguments.length,te=new Array(z),re=0;re<z;re++)te[re]=arguments[re];return E=Ls(this,x,[].concat(te)),E.name="canvas-context-register",E}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"init",value:function(){this.context.ContextService=E9}},{key:"destroy",value:function(){delete this.context.ContextService}}])}(d0),dM=function(b){function x(E){var z;return(0,$r.Z)(this,x),z=Ls(this,x,[E]),z.registerPlugin(new A9),z.registerPlugin(new c9),z.registerPlugin(new W8),z.registerPlugin(new v9),z.registerPlugin(new m9),z.registerPlugin(new a9),z.registerPlugin(new x9),z}return(0,ps.Z)(x,b),(0,qi.Z)(x)}(DA);function S9(b,x){if(b){var E;if(Df(b))for(var z=0,te=b.length;z<te&&(E=x(b[z],z),E!==!1);z++);else if(lh(b)){for(var re in b)if(b.hasOwnProperty(re)&&(E=x(b[re],re),E===!1))break}}}var CO=S9,w9=Object.prototype.hasOwnProperty,jE=function(b,x){if(b===null||!bS(b))return{};var E={};return CO(x,function(z){w9.call(b,z)&&(E[z]=b[z])}),E},C9=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};class fM extends nm{constructor(x){super(Object.assign(Object.assign({},x),{style:Object.assign({},fM.defaultStyleProps,x.style)})),this.rootPointerEvent=new ee(null),this.forwardEvents=E=>{const z=this.context.canvas,te=z.context.renderingContext.root.ownerDocument.defaultView;this.normalizeToPointerEvent(E,te).forEach(oe=>{const le=this.bootstrapEvent(this.rootPointerEvent,oe,te,E);KC(z.context.eventService,"mappingTable.pointerupoutside",[]),z.context.eventService.mapEvent(le)})}}get eventService(){return this.context.canvas.context.eventService}get events(){return[ia.CLICK,ia.POINTER_DOWN,ia.POINTER_MOVE,ia.POINTER_UP,ia.POINTER_OVER,ia.POINTER_LEAVE]}getDomElement(){return this.getShape("key").getDomElement()}render(x=this.parsedAttributes,E=this){this.drawKeyShape(x,E),this.drawPortShapes(x,E)}getKeyStyle(x){const E=jE(x,["dx","dy","innerHTML","pointerEvents","cursor"]),{dx:z=0,dy:te=0}=E,re=C9(E,["dx","dy"]),[oe,le]=this.getSize(x);return Object.assign(Object.assign({x:z,y:te},re),{width:oe,height:le})}drawKeyShape(x,E){const z=this.getKeyStyle(x),{x:te,y:re,width:oe=0,height:le=0}=z,he=this.upsert("key-container",Qc,{x:te,y:re,width:oe,height:le,opacity:0},E);return this.upsert("key",Kp,z,he)}connectedCallback(){if(!(this.context.canvas.getRenderer("main")instanceof dM))return;const z=this.getDomElement();this.events.forEach(te=>{z.addEventListener(te,this.forwardEvents)})}attributeChangedCallback(x,E,z){x==="zIndex"&&E!==z&&(this.getDomElement().style.zIndex=z)}destroy(){const x=this.getDomElement();this.events.forEach(E=>{x.removeEventListener(E,this.forwardEvents)}),super.destroy()}normalizeToPointerEvent(x,E){const z=[];if(E.isTouchEvent(x))for(let te=0;te<x.changedTouches.length;te++){const re=x.changedTouches[te];Fl(re.button)&&(re.button=0),Fl(re.buttons)&&(re.buttons=1),Fl(re.isPrimary)&&(re.isPrimary=x.touches.length===1&&x.type==="touchstart"),Fl(re.width)&&(re.width=re.radiusX||1),Fl(re.height)&&(re.height=re.radiusY||1),Fl(re.tiltX)&&(re.tiltX=0),Fl(re.tiltY)&&(re.tiltY=0),Fl(re.pointerType)&&(re.pointerType="touch"),Fl(re.pointerId)&&(re.pointerId=re.identifier||0),Fl(re.pressure)&&(re.pressure=re.force||.5),Fl(re.twist)&&(re.twist=0),Fl(re.tangentialPressure)&&(re.tangentialPressure=0),re.isNormalized=!0,re.type=x.type,z.push(re)}else if(E.isMouseEvent(x)){const te=x;Fl(te.isPrimary)&&(te.isPrimary=!0),Fl(te.width)&&(te.width=1),Fl(te.height)&&(te.height=1),Fl(te.tiltX)&&(te.tiltX=0),Fl(te.tiltY)&&(te.tiltY=0),Fl(te.pointerType)&&(te.pointerType="mouse"),Fl(te.pointerId)&&(te.pointerId=1),Fl(te.pressure)&&(te.pressure=.5),Fl(te.twist)&&(te.twist=0),Fl(te.tangentialPressure)&&(te.tangentialPressure=0),te.isNormalized=!0,z.push(te)}else z.push(x);return z}transferMouseData(x,E){x.isTrusted=E.isTrusted,x.srcElement=E.srcElement,x.timeStamp=performance.now(),x.type=E.type,x.altKey=E.altKey,x.metaKey=E.metaKey,x.shiftKey=E.shiftKey,x.ctrlKey=E.ctrlKey,x.button=E.button,x.buttons=E.buttons,x.client.x=E.clientX,x.client.y=E.clientY,x.movement.x=E.movementX,x.movement.y=E.movementY,x.page.x=E.pageX,x.page.y=E.pageY,x.screen.x=E.screenX,x.screen.y=E.screenY,x.relatedTarget=null}bootstrapEvent(x,E,z,te){x.view=z,x.originalEvent=null,x.nativeEvent=te,x.pointerId=E.pointerId,x.width=E.width,x.height=E.height,x.isPrimary=E.isPrimary,x.pointerType=E.pointerType,x.pressure=E.pressure,x.tangentialPressure=E.tangentialPressure,x.tiltX=E.tiltX,x.tiltY=E.tiltY,x.twist=E.twist,this.transferMouseData(x,E);const{x:re,y:oe}=this.getViewportXY(E);x.viewport.x=re,x.viewport.y=oe;const[le,he]=this.context.canvas.getCanvasByViewport([re,oe]);return x.canvas.x=le,x.canvas.y=he,x.global.copyFrom(x.canvas),x.offset.copyFrom(x.canvas),x.isTrusted=te.isTrusted,x.type==="pointerleave"&&(x.type="pointerout"),x}getViewportXY(x){let E,z;const{offsetX:te,offsetY:re,clientX:oe,clientY:le}=x;if(!El(te)&&!El(re))E=te,z=re;else{const he=this.eventService.client2Viewport({x:oe,y:le});E=he.x,z=he.y}return{x:E,y:z}}onframe(){super.onframe();const{opacity:x}=this.attributes;this.getDomElement().style.opacity=`${x}`}}fM.defaultStyleProps={size:[160,80],halo:!1,icon:!1,label:!1,pointerEvents:"auto"};var bO=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};class gM extends nm{constructor(x){super(fg({style:gM.defaultStyleProps},x))}getKeyStyle(x){const[E,z]=this.getSize(x),te=super.getKeyStyle(x),{fillOpacity:re,opacity:oe=re}=te,le=bO(te,["fillOpacity","opacity"]);return Object.assign(Object.assign({opacity:oe},le),{width:E,height:z,x:-E/2,y:-z/2})}getHaloStyle(x){if(x.halo===!1)return!1;const E=this.getShape("key").attributes,{fill:z,stroke:te}=E,re=bO(E,["fill","stroke"]),oe=hf(this.getGraphicStyle(x),"halo"),le=Number(oe.lineWidth),[he,ge]=hu(this.getSize(x),[le,le]);return Object.assign(Object.assign({},oe),{width:he,height:ge,fill:"transparent",x:-he/2,y:-ge/2})}getIconStyle(x){const E=super.getIconStyle(x),[z,te]=this.getSize(x);return E?Object.assign({width:z*qy,height:te*qy},E):!1}drawKeyShape(x,E){const z=this.upsert("key",M5,this.getKeyStyle(x),E);return T5(this),z}drawHaloShape(x,E){this.upsert("halo",Qc,this.getHaloStyle(x),E)}update(x){super.update(x),x&&("x"in x||"y"in x||"z"in x)&&D5(this)}}gM.defaultStyleProps={size:32};class b9 extends nm{constructor(x){super(x)}getKeyStyle(x){const[E,z]=this.getSize(x);return Object.assign(Object.assign({},super.getKeyStyle(x)),{width:E,height:z,x:-E/2,y:-z/2})}getIconStyle(x){const E=super.getIconStyle(x),{width:z,height:te}=this.getShape("key").attributes;return E?Object.assign({width:z*qy,height:te*qy},E):!1}drawKeyShape(x,E){return this.upsert("key",Qc,this.getKeyStyle(x),E)}}class P9 extends tM{constructor(x){super(x)}getInnerR(x){return x.innerR||this.getOuterR(x)*3/8}getOuterR(x){return Math.min(...this.getSize(x))/2}getPoints(x){return g7(this.getOuterR(x),this.getInnerR(x))}getIconStyle(x){const E=super.getIconStyle(x),z=this.getInnerR(x)*2*qy;return E?Object.assign({width:z,height:z},E):!1}getPortXY(x,E){const{placement:z="top"}=E,te=this.getShape("key").getLocalBounds(),re=p7(this.getOuterR(x),this.getInnerR(x));return H5(te,z,re,!1)}}class pM extends tM{constructor(x){super(fg({style:pM.defaultStyleProps},x))}getPoints(x){const{direction:E}=x,[z,te]=this.getSize(x);return v7(z,te,E)}getPortXY(x,E){const{direction:z}=x,{placement:te="top"}=E,re=this.getShape("key").getLocalBounds(),[oe,le]=this.getSize(x),he=m7(oe,le,z);return H5(re,te,he,!1)}getIconStyle(x){const{icon:E,iconText:z,iconSrc:te,direction:re}=x;if(E===!1||Jm(z||te))return!1;const oe=hf(this.getGraphicStyle(x),"icon"),le=this.getShape("key").getLocalBounds(),[he,ge]=tF(le,re),Ae=nF(le,re)*2*qy;return Object.assign({x:he,y:ge,width:Ae,height:Ae},oe)}}pM.defaultStyleProps={size:40,direction:"up"};var PO=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};class TS extends nm{constructor(x){super(fg({style:TS.defaultStyleProps},x)),this.type="combo",this.updateComboPosition(this.parsedAttributes)}getKeySize(x){const{collapsed:E,childrenNode:z=[]}=x;return z.length===0?this.getEmptyKeySize(x):E?this.getCollapsedKeySize(x):this.getExpandedKeySize(x)}getEmptyKeySize(x){const{padding:E,collapsedSize:z}=x,[te,re,oe,le]=Jv(E);return hu(S0(z),[le+re,te+oe,0])}getCollapsedKeySize(x){return S0(x.collapsedSize)}getExpandedKeySize(x){const E=this.getContentBBox(x);return[Ym(E),Xm(E),0]}getContentBBox(x){const{childrenNode:E=[],padding:z}=x,te=E.map(oe=>this.context.element.getElement(oe)).filter(Boolean);if(te.length===0){const oe=new Dc,{x:le=0,y:he=0,size:ge}=x,[Ae,Pe]=S0(ge);return oe.setMinMax([le-Ae/2,he-Pe/2,0],[le+Ae/2,he+Pe/2,0]),oe}const re=zC(te.map(oe=>oe.getBounds()));return z?lx(re,z):re}drawCollapsedMarkerShape(x,E){const z=this.getCollapsedMarkerStyle(x);this.upsert("collapsed-marker",hO,z,E),T5(this)}getCollapsedMarkerStyle(x){if(!x.collapsed||!x.collapsedMarker)return!1;const E=hf(this.getGraphicStyle(x),"collapsedMarker"),{type:z}=E,te=PO(E,["type"]),re=this.getShape("key"),[oe,le]=Jy(re.getLocalBounds(),"center"),he=Object.assign(Object.assign({},te),{x:oe,y:le});if(z){const ge=this.getCollapsedMarkerText(z,x);Object.assign(he,{text:ge})}return he}getCollapsedMarkerText(x,E){const{childrenData:z=[]}=E,{model:te}=this.context;return x==="descendant-count"?te.getDescendantsData(this.id).length.toString():x==="child-count"?z.length.toString():x==="node-count"?te.getDescendantsData(this.id).filter(re=>te.getElementType(Xi(re))==="node").length.toString():Ys(x)?x(z):""}getComboPosition(x){const{x:E=0,y:z=0,collapsed:te,childrenData:re=[]}=x;if(re.length===0)return[+E,+z,0];if(te){const{model:oe}=this.context,le=oe.getDescendantsData(this.id).filter(he=>!oe.isCombo(Xi(he)));if(le.length>0&&le.some(Y_)){const he=le.reduce((ge,Ae)=>hu(ge,Wf(Ae)),[0,0,0]);return em(he,le.length)}return[+E,+z,0]}return this.getContentBBox(x).center}getComboStyle(x){const[E,z]=this.getComboPosition(x);return{x:E,y:z,transform:[["translate",E,z]]}}updateComboPosition(x){const E=this.getComboStyle(x);Object.assign(this.style,E);const{x:z,y:te}=E;this.context.model.syncNodeLikeDatum({id:this.id,style:{x:z,y:te}}),D5(this)}render(x,E=this){super.render(x,E),this.drawCollapsedMarkerShape(x,E)}update(x={}){super.update(x),this.updateComboPosition(this.parsedAttributes)}onframe(){super.onframe(),this.attributes.collapsed||this.updateComboPosition(this.parsedAttributes),this.drawKeyShape(this.parsedAttributes,this)}animate(x,E){const z=super.animate(this.attributes.collapsed?x:x.map(te=>{var{x:re,y:oe,z:le,transform:he}=te,ge=PO(te,["x","y","z","transform"]);return ge}),E);return z&&new Proxy(z,{set:(te,re,oe)=>(re==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(te,re,oe))})}}TS.defaultStyleProps={childrenNode:[],droppable:!0,draggable:!0,collapsed:!1,collapsedSize:32,collapsedMarker:!0,collapsedMarkerZIndex:1,collapsedMarkerFontSize:12,collapsedMarkerTextAlign:"center",collapsedMarkerTextBaseline:"middle",collapsedMarkerType:"child-count"};class M9 extends TS{constructor(x){super(x)}drawKeyShape(x,E){return this.upsert("key",cf,this.getKeyStyle(x),E)}getKeyStyle(x){const{collapsed:E}=x,z=super.getKeyStyle(x),[te]=this.getKeySize(x);return Object.assign(Object.assign(Object.assign({},z),E&&hf(z,"collapsed")),{r:te/2})}getCollapsedKeySize(x){const[E,z]=S0(x.collapsedSize),te=Math.max(E,z)/2;return[te*2,te*2,0]}getExpandedKeySize(x){const E=this.getContentBBox(x),[z,te]=ax(E),re=Math.sqrt(Math.pow(z,2)+Math.pow(te,2))/2;return[re*2,re*2,0]}getIntersectPoint(x,E=!1){const z=this.getShape("key").getBounds();return QP(x,z,E)}}class L9 extends TS{constructor(x){super(x)}drawKeyShape(x,E){return this.upsert("key",Qc,this.getKeyStyle(x),E)}getKeyStyle(x){const E=super.getKeyStyle(x),[z,te]=this.getKeySize(x);return Object.assign(Object.assign(Object.assign({},E),x.collapsed&&hf(E,"collapsed")),{width:z,height:te,x:-z/2,y:-te/2})}}var T9=function(b,x){if(!kC(b))return b;for(var E=[],z=0;z<b.length;z++){var te=b[z];x(te,z)&&E.push(te)}return E},D9=T9,I9=function(b,x){return kC(b)?b.indexOf(x)>-1:!1},O9=I9,N9=function(b,x){return x===void 0&&(x=[]),D9(b,function(E){return!O9(x,E)})},B9=N9;const R9={padding:10};function MO(b,x,E,z,te,re){const{padding:oe}=Object.assign(R9,re),le=sx(E,oe),he=sx(z,oe),ge=[b,...te,x];let Ae=null;const Pe=[];for(let We=0,Xe=ge.length;We<Xe-1;We++){const qe=We+1,nt=ge[We],at=ge[qe],pt=Q_(nt,at);let mt=null;if(We===0)if(qe===Xe-1)if(le.intersects(he))mt=z5(nt,at,le,he);else if(!NP(nt,le)&&!NP(at,he)){const bt=OE(nt,le),jt=OE(at,he);mt=TO(bt,jt,Ep(bt,jt)),mt.points.unshift(bt),mt.points.push(jt)}else pt||(mt=F9(nt,at,le,he));else qv(at,le)?mt=z5(nt,at,le,sx(at,oe),Ae):pt||(mt=vM(nt,at,le));else qe===Xe-1?qv(nt,he)?mt=z5(nt,at,sx(nt,oe),he,Ae):pt||(mt=DO(nt,at,he,Ae)):pt||(mt=TO(nt,at,Ae));mt?(Pe.push(...mt.points),Ae=mt.direction):Ae=Ep(nt,at),qe<Xe-1&&Pe.push(at)}return Pe.map(RE)}const k9={N:"S",S:"N",W:"E",E:"W"},LO={N:-Math.PI/2,S:Math.PI/2,E:0,W:Math.PI};function Ep(b,x){const[E,z]=b,[te,re]=x;return E===te?z>re?"N":"S":z===re?E>te?"W":"E":null}function _5(b,x){return x==="N"||x==="S"?Xm(b):Ym(b)}function TO(b,x,E){const z=[b[0],x[1]],te=[x[0],b[1]],re=Ep(b,z),oe=Ep(b,te),le=E?k9[E]:null,he=re===E||re!==le&&oe!==E?z:te;return{points:[he],direction:Ep(he,x)}}function vM(b,x,E){if(NP(b,E)){const z=QC(b,x,E);return{points:[z],direction:Ep(z,x)}}else{const z=OE(b,E),re=["left","right"].includes(jC(b,E))?[x[0],z[1]]:[z[0],x[1]];return{points:[re],direction:Ep(re,x)}}}function DO(b,x,E,z){const te=NP(x,E)?x:OE(x,E),re=[[te[0],b[1]],[b[0],te[1]]],oe=re.filter(he=>eF(he,E)&&!$I(he,E,!0)),le=oe.filter(he=>Ep(he,b)!==z);if(le.length>0){const he=le.find(ge=>Ep(b,ge)===z)||le[0];return{points:[he],direction:Ep(he,x)}}else{const he=B9(re,oe)[0],ge=hx(x,he,_5(E,z)/2);return{points:[QC(ge,b,E),ge],direction:Ep(ge,x)}}}function F9(b,x,E,z){let te=vM(b,x,E);const re=GC(te.points[0]);if(qv(re,z)){te=vM(x,b,z);const oe=GC(te.points[0]);if(qv(oe,E)){const le=hx(b,re,_5(E,Ep(b,re))/2),he=hx(x,oe,_5(z,Ep(x,oe))/2),ge=[(le[0]+he[0])/2,(le[1]+he[1])/2],Ae=vM(b,ge,E),Pe=DO(ge,x,z,Ae.direction);te.points=[Ae.points[0],Pe.points[0]],te.direction=Pe.direction}}return te}function z5(b,x,E,z,te){const oe=zC([E,z]),le=Nh(x,oe.center)>Nh(b,oe.center),[he,ge]=le?[x,b]:[b,x],Ae=Xm(oe)+Ym(oe);let Pe;if(te){const qe=[he[0]+Ae*Math.cos(LO[te]),he[1]+Ae*Math.sin(LO[te])];Pe=hx(OE(qe,oe),qe,.01)}else Pe=hx(OE(he,oe),he,-.01);let We=QC(Pe,ge,oe),Xe=[HC(Pe,2),HC(We,2)];if(Qd(HC(Pe),HC(We))){const qe=E5(Jc(Pe,he),[1,0,0])+Math.PI/2;We=[ge[0]+Ae*Math.cos(qe),ge[1]+Ae*Math.sin(qe),0],We=HC(hx(OE(We,oe),ge,-.01),2);const nt=QC(Pe,We,oe);Xe=[Pe,nt,We]}return{points:le?Xe.reverse():Xe,direction:Ep(le?Pe:We,x)}}function QC(b,x,E){let z=[b[0],x[1]];return qv(z,E)&&(z=[x[0],b[1]]),z}function IO(b,x,E,z,te){let he=typeof x=="number"?x:.5;x==="start"&&(he=0),x==="end"&&(he=.99);const ge=kg(b.getPoint(he)),Ae=kg(b.getPoint(he+.01));let Pe=x==="start"?"left":x==="end"?"right":"center";if(K3(ge,Ae)||!E){const[pt,mt]=OO(b,he,z,te);return{transform:[["translate",pt,mt]],textAlign:Pe}}let We=Math.atan2(Ae[1]-ge[1],Ae[0]-ge[0]);Ae[0]<ge[0]&&(Pe=Pe==="center"?Pe:Pe==="left"?"right":"left",z*=-1,We+=Math.PI);const[qe,nt]=OO(b,he,z,te,We),at=[["translate",qe,nt],["rotate",We/Math.PI*180]];return{textAlign:Pe,transform:at}}function _9(b,x,E,z,te){var re,oe;const le=((re=b.badge)===null||re===void 0?void 0:re.getGeometryBounds().halfExtents[0])*2||0,he=((oe=b.label)===null||oe===void 0?void 0:oe.getGeometryBounds().halfExtents[0])*2||0;return IO(b.key,E,!0,(he?(he/2+le/2)*(x==="suffix"?1:-1):0)+z,te)}function OO(b,x,E,z,te){const[re,oe]=kg(b.getPoint(x));let le=E,he=z;return te&&(le=E*Math.cos(te)-z*Math.sin(te),he=E*Math.sin(te)+z*Math.cos(te)),[re+le,oe+he]}function j5(b,x,E,z){if(Qd(b,x))return b;const te=Jc(x,b),re=[b[0]+E*te[0],b[1]+E*te[1]],oe=Qy(XP(te,!1));return re[0]+=z*oe[0],re[1]+=z*oe[1],re}function z9(b){return As(b)?[b,-b]:b}function j9(b){return As(b)?[b,1-b]:b}function W9(b,x,E){return[["M",b[0],b[1]],["Q",E[0],E[1],x[0],x[1]]]}function NO(b,x,E){return[["M",b[0],b[1]],["C",E[0][0],E[0][1],E[1][0],E[1][1],x[0],x[1]]]}function W5(b,x=0,E=!1){const z=b[0],te=b[b.length-1],re=b.slice(1,b.length-1),oe=[["M",z[0],z[1]]];return re.forEach((le,he)=>{const ge=re[he-1]||z,Ae=re[he+1]||te;if(!Z3(ge,le,Ae)&&x){const[Pe,We]=U9(ge,le,Ae,x);oe.push(["L",Pe[0],Pe[1]],["Q",le[0],le[1],We[0],We[1]],["L",We[0],We[1]])}else oe.push(["L",le[0],le[1]])}),oe.push(["L",te[0],te[1]]),E&&oe.push(["Z"]),oe}function U9(b,x,E,z){const te=YP(b,x),re=YP(E,x),oe=Math.min(z,Math.min(te,re)/2),le=[x[0]-oe/te*(x[0]-b[0]),x[1]-oe/te*(x[1]-b[1])],he=[x[0]-oe/re*(x[0]-E[0]),x[1]-oe/re*(x[1]-E[1])];return[le,he]}const G9=b=>{const x=Math.PI/2,E=Xm(b)/2,z=Ym(b)/2,te=Math.atan2(E,z)/2,re=Math.atan2(z,E)/2;return{top:[-x-re,-x+re],"top-right":[-x+re,-te],"right-top":[-x+re,-te],right:[-te,te],"bottom-right":[te,x-re],"right-bottom":[te,x-re],bottom:[x-re,x+re],"bottom-left":[x+re,Math.PI-te],"left-bottom":[x+re,Math.PI-te],left:[Math.PI-te,Math.PI+te],"top-left":[Math.PI+te,-x-re],"left-top":[Math.PI+te,-x-re]}};function BO(b,x,E,z,te){const re=sx(b),oe=b.getCenter();let le=z&&px(z),he=te&&px(te);if(!le||!he){const ge=G9(re),Ae=ge[x][0],Pe=ge[x][1],[We,Xe]=ax(re),qe=Math.max(We,Xe),nt=hu(oe,[qe*Math.cos(Ae),qe*Math.sin(Ae),0]),at=hu(oe,[qe*Math.cos(Pe),qe*Math.sin(Pe),0]);le=K5(b,nt),he=K5(b,at),E||([le,he]=[he,le])}return[le,he]}function H9(b,x,E,z,te,re){const oe=b.getPorts()[te||re],le=b.getPorts()[re||te];let[he,ge]=BO(b,x,E,oe,le);const Ae=V9(b,he,ge,z);return oe&&(he=qC(oe,Ae[0])),le&&(ge=qC(le,Ae[Ae.length-1])),NO(he,ge,Ae)}function V9(b,x,E,z){const te=b.getCenter();if(Qd(x,E)){const re=Jc(x,te),oe=[z*Math.sign(re[0])||z/2,z*Math.sign(re[1])||-z/2,0];return[hu(x,oe),hu(E,Xy(oe,[1,-1,1]))]}return[hx(te,x,Nh(te,x)+z),hx(te,E,Nh(te,E)+z)]}function K9(b,x,E,z,te,re,oe){const le=V5(b),he=le[re||oe],ge=le[oe||re];let[Ae,Pe]=BO(b,E,z,he,ge);const We=Z9(b,Ae,Pe,te);return he&&(Ae=qC(he,We[0])),ge&&(Pe=qC(ge,We[We.length-1])),W5([Ae,...We,Pe],x)}function Z9(b,x,E,z){const te=[],re=sx(b);if(Qd(x,E))switch(jC(x,re)){case"left":te.push([x[0]-z,x[1]]),te.push([x[0]-z,x[1]+z]),te.push([x[0],x[1]+z]);break;case"right":te.push([x[0]+z,x[1]]),te.push([x[0]+z,x[1]+z]),te.push([x[0],x[1]+z]);break;case"top":te.push([x[0],x[1]-z]),te.push([x[0]+z,x[1]-z]),te.push([x[0]+z,x[1]]);break;case"bottom":te.push([x[0],x[1]+z]),te.push([x[0]+z,x[1]+z]),te.push([x[0]+z,x[1]]);break}else{const oe=jC(x,re),le=jC(E,re);if(oe===le){const he=oe;let ge,Ae;switch(he){case"left":ge=Math.min(x[0],E[0])-z,te.push([ge,x[1]]),te.push([ge,E[1]]);break;case"right":ge=Math.max(x[0],E[0])+z,te.push([ge,x[1]]),te.push([ge,E[1]]);break;case"top":Ae=Math.min(x[1],E[1])-z,te.push([x[0],Ae]),te.push([E[0],Ae]);break;case"bottom":Ae=Math.max(x[1],E[1])+z,te.push([x[0],Ae]),te.push([E[0],Ae]);break}}else{const he=(We,Xe)=>({left:[Xe[0]-z,Xe[1]],right:[Xe[0]+z,Xe[1]],top:[Xe[0],Xe[1]-z],bottom:[Xe[0],Xe[1]+z]})[We],ge=he(oe,x),Ae=he(le,E),Pe=QC(ge,Ae,re);te.push(ge,Pe,Ae)}}return te}function U5(b,x){const E=new Set,z=new Set,te=new Set;return b.forEach(re=>{x(re).forEach(le=>{E.add(le),b.includes(le.source)&&b.includes(le.target)?z.add(le):te.add(le)})}),{edges:Array.from(E),internal:Array.from(z),external:Array.from(te)}}function RO(b,x){const E=[];let z=b;for(;z;){E.push(z);const te=x(Xi(z));if(te)z=te;else break}if(E.some(te=>{var re;return(re=te.style)===null||re===void 0?void 0:re.collapsed})){const te=E.reverse().findIndex(qp);return E[te]||E.at(-1)}return b}function Y9(b,x){return x||(b<4?10:b===4?12:b*2.5)}const X9=(b,x)=>{const E=Math.max(b,x)/2;return[["M",-b/2,0],["A",E,E,0,1,0,2*E-b/2,0],["A",E,E,0,1,0,-b/2,0],["Z"]]},kO=(b,x)=>[["M",-b/2,0],["L",b/2,-x/2],["L",b/2,x/2],["Z"]],Q9=(b,x)=>[["M",-b/2,0],["L",0,-x/2],["L",b/2,0],["L",0,x/2],["Z"]],J9=(b,x)=>[["M",-b/2,0],["L",b/2,-x/2],["L",4*b/5-b/2,0],["L",b/2,x/2],["Z"]],q9=(b,x)=>[["M",-b/2,-x/2],["L",b/2,-x/2],["L",b/2,x/2],["L",-b/2,x/2],["Z"]],$9=(b,x)=>{const E=b/2,z=b/7,te=b-z;return[["M",-E,0],["L",0,-x/2],["L",0,x/2],["Z"],["M",te-E,-x/2],["L",te+z-E,-x/2],["L",te+z-E,x/2],["L",te-E,x/2],["Z"]]},e7=(b,x)=>[["M",b/2,-x/2],["L",-b/2,0],["L",b/2,0],["L",-b/2,0],["L",b/2,x/2]];var mM=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};class gx extends dO{constructor(x){super(fg({style:gx.defaultStyleProps},x)),this.type="edge"}get sourceNode(){const{sourceNode:x}=this.parsedAttributes;return this.context.element.getElement(x)}get targetNode(){const{targetNode:x}=this.parsedAttributes;return this.context.element.getElement(x)}getKeyStyle(x){const E=this.getGraphicStyle(x),{loop:z}=E,te=mM(E,["loop"]),{sourceNode:re,targetNode:oe}=this,he={d:z&&c7(re,oe)?this.getLoopPath(x):this.getKeyPath(x)};return Pu.PARSED_STYLE_LIST.forEach(ge=>{ge in te&&(he[ge]=te[ge])}),he}getLoopPath(x){const{sourcePort:E,targetPort:z}=x,te=this.sourceNode,re=sx(te),oe=Math.max(Ym(re),Xm(re)),{placement:le,clockwise:he,dist:ge=oe}=hf(this.getGraphicStyle(x),"loop");return H9(te,le,he,ge,E,z)}getEndpoints(x,E=!0,z=[]){const{sourcePort:te,targetPort:re}=x,{sourceNode:oe,targetNode:le}=this,[he,ge]=d7(oe,le,te,re);if(!E){const Xe=he?px(he):oe.getCenter(),qe=ge?px(ge):le.getCenter();return[Xe,qe]}const Ae=typeof z=="function"?z():z,Pe=HO(he||oe,Ae[0]||ge||le),We=HO(ge||le,Ae[Ae.length-1]||he||oe);return[Pe,We]}getHaloStyle(x){if(x.halo===!1)return!1;const E=this.getKeyStyle(x),z=hf(this.getGraphicStyle(x),"halo");return Object.assign(Object.assign({},E),z)}getLabelStyle(x){if(x.label===!1||!x.labelText)return!1;const E=hf(this.getGraphicStyle(x),"label"),{placement:z,offsetX:te,offsetY:re,autoRotate:oe,maxWidth:le}=E,he=mM(E,["placement","offsetX","offsetY","autoRotate","maxWidth"]),ge=IO(this.shapeMap.key,z,oe,te,re),Ae=this.shapeMap.key.getLocalBounds(),Pe=c8([Ae.min,Ae.max],le);return Object.assign({wordWrapWidth:Pe},ge,he)}getBadgeStyle(x){if(x.badge===!1||!x.badgeText)return!1;const E=hf(x,"badge"),{offsetX:z,offsetY:te,placement:re}=E,oe=mM(E,["offsetX","offsetY","placement"]);return Object.assign(oe,_9(this.shapeMap,re,x.labelPlacement,z,te))}drawArrow(x,E){var z;const te=E==="start",oe=x[E==="start"?"startArrow":"endArrow"],le=this.shapeMap.key;if(oe){const he=this.getArrowStyle(x,te),[ge,Ae,Pe]=te?["markerStart","markerStartOffset","startArrowOffset"]:["markerEnd","markerEndOffset","endArrowOffset"],We=le.parsedStyle[ge];if(We)We.attr(he);else{const Xe=he.src?Ff:Pu,qe=new Xe({style:he});le.style[ge]=qe}le.style[Ae]=x[Pe]||he.width/2+ +he.lineWidth}else{const he=te?"markerStart":"markerEnd";(z=le.style[he])===null||z===void 0||z.destroy(),le.style[he]=null}}getArrowStyle(x,E){const z=this.getShape("key").attributes,te=E?"startArrow":"endArrow",re=hf(this.getGraphicStyle(x),te),{size:oe,type:le}=re,he=mM(re,["size","type"]),[ge,Ae]=S0(Y9(z.lineWidth,oe)),We=(Ys(le)?le:tt[le]||kO)(ge,Ae);return Object.assign(jE(z,["stroke","strokeOpacity","fillOpacity"]),{width:ge,height:Ae},Object.assign({},We&&{d:We,fill:le==="simple"?"":z.stroke}),he)}drawLabelShape(x,E){const z=this.getLabelStyle(x);this.upsert("label",dx,z,E)}drawHaloShape(x,E){const z=this.getHaloStyle(x);this.upsert("halo",Pu,z,E)}drawBadgeShape(x,E){const z=this.getBadgeStyle(x);this.upsert("badge",MS,z,E)}drawSourceArrow(x){this.drawArrow(x,"start")}drawTargetArrow(x){this.drawArrow(x,"end")}drawKeyShape(x,E){const z=this.getKeyStyle(x);return this.upsert("key",Pu,z,E)}render(x=this.parsedAttributes,E=this){this.drawKeyShape(x,E),this.getShape("key")&&(this.drawSourceArrow(x),this.drawTargetArrow(x),this.drawLabelShape(x,E),this.drawHaloShape(x,E),this.drawBadgeShape(x,E))}onframe(){this.drawKeyShape(this.parsedAttributes,this),this.drawSourceArrow(this.parsedAttributes),this.drawTargetArrow(this.parsedAttributes),this.drawHaloShape(this.parsedAttributes,this),this.drawLabelShape(this.parsedAttributes,this),this.drawBadgeShape(this.parsedAttributes,this)}animate(x,E){const z=super.animate(x,E);return z&&new Proxy(z,{set:(te,re,oe)=>(re==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(te,re,oe))})}}gx.defaultStyleProps={badge:!0,badgeOffsetX:0,badgeOffsetY:0,badgePlacement:"suffix",isBillboard:!0,label:!0,labelAutoRotate:!0,labelIsBillboard:!0,labelMaxWidth:"80%",labelOffsetX:4,labelOffsetY:0,labelPlacement:"center",labelTextBaseline:"middle",labelWordWrap:!1,halo:!1,haloDroppable:!1,haloLineDash:0,haloLineWidth:12,haloPointerEvents:"none",haloStrokeOpacity:.25,haloZIndex:-1,loop:!0,startArrow:!1,startArrowLineDash:0,startArrowLineJoin:"round",startArrowLineWidth:1,startArrowTransformOrigin:"center",startArrowType:"vee",endArrow:!1,endArrowLineDash:0,endArrowLineJoin:"round",endArrowLineWidth:1,endArrowTransformOrigin:"center",endArrowType:"vee",loopPlacement:"top",loopClockwise:!0};class WE extends gx{constructor(x){super(fg({style:WE.defaultStyleProps},x))}getKeyPath(x){const[E,z]=this.getEndpoints(x),{controlPoints:te,curvePosition:re,curveOffset:oe}=x,le=this.getControlPoints(E,z,j9(re),z9(oe),te);return NO(E,z,le)}getControlPoints(x,E,z,te,re){return(re==null?void 0:re.length)===2?re:[j5(x,E,z[0],te[0]),j5(x,E,z[1],te[1])]}}WE.defaultStyleProps={curvePosition:.5,curveOffset:20};class yM extends WE{constructor(x){super(fg({style:yM.defaultStyleProps},x))}getControlPoints(x,E,z,te){const re=E[0]-x[0];return[[x[0]+re*z[0]+te[0],x[1]],[E[0]-re*z[1]+te[1],E[1]]]}}yM.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class xM extends WE{constructor(x){super(fg({style:xM.defaultStyleProps},x))}get ref(){return this.context.model.getRootsData()[0]}getEndpoints(x){if(this.sourceNode.id===this.ref.id)return super.getEndpoints(x);const E=Wf(this.ref),z=this.sourceNode.getIntersectPoint(E,!0),te=this.targetNode.getIntersectPoint(E);return[z,te]}toRadialCoordinate(x){const E=Wf(this.ref),z=Nh(x,E),te=U3(Jc(x,E));return[z,te]}getControlPoints(x,E,z,te){const[re,oe]=this.toRadialCoordinate(x),[le]=this.toRadialCoordinate(E),he=le-re;return[[x[0]+(he*z[0]+te[0])*Math.cos(oe),x[1]+(he*z[0]+te[0])*Math.sin(oe)],[E[0]-(he*z[1]-te[0])*Math.cos(oe),E[1]-(he*z[1]-te[0])*Math.sin(oe)]]}}xM.defaultStyleProps={curvePosition:.5,curveOffset:20};class EM extends WE{constructor(x){super(fg({style:EM.defaultStyleProps},x))}getControlPoints(x,E,z,te){const re=E[1]-x[1];return[[x[0],x[1]+re*z[0]+te[0]],[E[0],E[1]-re*z[1]+te[1]]]}}EM.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class AM extends gx{constructor(x){super(fg({style:AM.defaultStyleProps},x))}getKeyPath(x){const[E,z]=this.getEndpoints(x);return[["M",E[0],E[1]],["L",z[0],z[1]]]}}AM.defaultStyleProps={};const t7={enableObstacleAvoidance:!1,offset:10,maxAllowedDirectionChange:Math.PI/2,maximumLoops:3e3,gridSize:5,startDirections:["top","right","bottom","left"],endDirections:["top","right","bottom","left"],directionMap:{right:{stepX:1,stepY:0},left:{stepX:-1,stepY:0},bottom:{stepX:0,stepY:1},top:{stepX:0,stepY:-1}},penalties:{0:0,90:0},distFunc:YP},$y=b=>`${Math.round(b[0])}|||${Math.round(b[1])}`;function UE(b,x){const E=z=>Math.round(z/x);return As(b)?E(b):b.map(E)}function n7(b,x){const E=Math.abs(b-x);return E>Math.PI?2*Math.PI-E:E}function FO(b,x){const E=x[0]-b[0],z=x[1]-b[1];return!E&&!z?0:Math.atan2(z,E)}function _O(b,x,E,z){const te=FO(b,x),re=E[$y(b)],le=FO(re||z,b);return n7(le,te)}const r7=(b,x)=>{const{offset:E,gridSize:z}=x,te={};return b.forEach(re=>{if(!re||re.destroyed||!re.isVisible())return;const oe=lx(re.getRenderBounds(),E);for(let le=UE(oe.min[0],z);le<=UE(oe.max[0],z);le+=1)for(let he=UE(oe.min[1],z);he<=UE(oe.max[1],z);he+=1)te[`${le}|||${he}`]=!0}),te};function zO(b,x,E){return Math.min(...x.map(z=>E(b,z)))}function i7(b,x,E){let z=b[0],te=E(b[0],x);for(let re=0;re<b.length;re++){const oe=b[re],le=E(oe,x);le<te&&(z=oe,te=le)}return z}const jO=(b,x,E,z)=>{if(!x)return[b];const{directionMap:te,offset:re}=z,oe=lx(x.getRenderBounds(),re),le=Object.keys(te).reduce((he,ge)=>{if(E.includes(ge)){const Ae=te[ge],[Pe,We]=ax(oe),Xe=[b[0]+Ae.stepX*Pe,b[1]+Ae.stepY*We],qe=rF(oe);for(let nt=0;nt<qe.length;nt++){const at=A5([b,Xe],qe[nt]);at&&$I(at,oe)&&he.push(at)}}return he},[]);return qv(b,oe)||le.push(b),le.map(he=>UE(he,z.gridSize))},o7=(b,x,E,z,te,re,oe)=>{const le=[];let he=[re[0]===z[0]?z[0]:b[0]*oe,re[1]===z[1]?z[1]:b[1]*oe];le.unshift(he);let ge=b,Ae=x[$y(ge)];for(;Ae;){const Xe=Ae,qe=ge;_O(Xe,qe,x,E)&&(he=[Xe[0]===qe[0]?he[0]:Xe[0]*oe,Xe[1]===qe[1]?he[1]:Xe[1]*oe],le.unshift(he)),Ae=x[$y(Xe)],ge=Xe}const Pe=te.map(Xe=>[Xe[0]*oe,Xe[1]*oe]),We=i7(Pe,he,YP);return le.unshift(We),le};function a7(b,x,E,z){const te=RE(b.getCenter()),re=RE(x.getCenter()),oe=Object.assign(t7,z),{gridSize:le}=oe,he=oe.enableObstacleAvoidance?E:[b,x],ge=r7(he,oe),Ae=UE(te,le),Pe=UE(re,le),We=jO(te,b,oe.startDirections,oe),Xe=jO(re,x,oe.endDirections,oe);We.forEach(Vt=>delete ge[$y(Vt)]),Xe.forEach(Vt=>delete ge[$y(Vt)]);const qe={},nt={},at={},pt={},mt={},bt=new s7;for(let Vt=0;Vt<We.length;Vt++){const vn=We[Vt],wn=$y(vn);qe[wn]=vn,pt[wn]=0,mt[wn]=zO(vn,Xe,oe.distFunc),bt.add({id:wn,value:mt[wn]})}const jt=Xe.map(Vt=>$y(Vt));let Ut=oe.maximumLoops,Kt,Qt=1/0;for(const[Vt,vn]of Object.entries(qe))mt[Vt]<=Qt&&(Qt=mt[Vt],Kt=vn);for(;Object.keys(qe).length>0&&Ut>0;){const Vt=bt.minId(!1);if(Vt)Kt=qe[Vt];else break;const vn=$y(Kt);if(jt.includes(vn))return o7(Kt,at,Ae,re,We,Pe,le);delete qe[vn],bt.remove(vn),nt[vn]=!0;for(const wn of Object.values(oe.directionMap)){const kn=hu(Kt,[wn.stepX,wn.stepY]),Vn=$y(kn);if(nt[Vn])continue;const vr=_O(Kt,kn,at,Ae);if(vr>oe.maxAllowedDirectionChange||ge[Vn])continue;qe[Vn]||(qe[Vn]=kn);const or=oe.penalties[vr],Or=oe.distFunc(Kt,kn)+(isNaN(or)?le:or),qr=pt[vn]+Or,wr=pt[Vn];wr&&qr>=wr||(at[Vn]=Kt,pt[Vn]=qr,mt[Vn]=qr+zO(kn,Xe,oe.distFunc),bt.add({id:Vn,value:mt[Vn]}))}Ut-=1}return[]}class s7{constructor(){this.arr=[],this.map={},this.arr=[],this.map={}}_innerAdd(x,E){let z=0,te=E-1;for(;te-z>1;){const re=Math.floor((z+te)/2);if(this.arr[re].value>x.value)te=re;else if(this.arr[re].value<x.value)z=re;else{this.arr.splice(re,0,x),this.map[x.id]=!0;return}}this.arr.splice(te,0,x),this.map[x.id]=!0}add(x){delete this.map[x.id];const E=this.arr.length;if(!E||this.arr[E-1].value<x.value){this.arr.push(x),this.map[x.id]=!0;return}this._innerAdd(x,E)}remove(x){this.map[x]&&delete this.map[x]}_clearAndGetMinId(){let x;for(let E=this.arr.length-1;E>=0;E--)this.map[this.arr[E].id]?x=this.arr[E].id:this.arr.splice(E,1);return x}_findFirstId(){for(;this.arr.length;){const x=this.arr.shift();if(this.map[x.id])return x.id}}minId(x){return x?this._clearAndGetMinId():this._findFirstId()}}class SM extends gx{constructor(x){super(fg({style:SM.defaultStyleProps},x))}getControlPoints(x){const{router:E}=x,{sourceNode:z,targetNode:te}=this,[re,oe]=this.getEndpoints(x,!1);let le=[];if(!E)le=x.controlPoints;else if(E.type==="shortest-path"){const he=this.context.element.getNodes();le=a7(z,te,he,E),le.length||(le=MO(re,oe,z,te,x.controlPoints,{padding:E.offset}))}else E.type==="orth"&&(le=MO(re,oe,z,te,x.controlPoints,E));return le}getPoints(x){const E=this.getControlPoints(x),[z,te]=this.getEndpoints(x,!0,E);return[z,...E,te]}getKeyPath(x){const E=this.getPoints(x);return W5(E,x.radius)}getLoopPath(x){const{sourcePort:E,targetPort:z,radius:te}=x,re=this.sourceNode,oe=sx(re),le=Math.max(Ym(oe),Xm(oe))/4,{placement:he,clockwise:ge,dist:Ae=le}=hf(this.getGraphicStyle(x),"loop");return K9(re,te,he,ge,Ae,E,z)}}SM.defaultStyleProps={radius:0,controlPoints:[],router:!1};class wM extends gx{constructor(x){super(fg({style:wM.defaultStyleProps},x))}getKeyPath(x){const{curvePosition:E,curveOffset:z}=x,[te,re]=this.getEndpoints(x),oe=x.controlPoint||j5(te,re,E,z);return W9(te,re,oe)}}wM.defaultStyleProps={curvePosition:.5,curveOffset:30};var l7=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};function JC(b){return b instanceof nm&&b.type==="node"}function WO(b){return b instanceof gx}function G5(b){return b instanceof TS}function u7(b){return JC(b)||WO(b)||G5(b)}function c7(b,x){return!b||!x?!1:b===x}const h7={top:[.5,0],right:[1,.5],bottom:[.5,1],left:[0,.5],default:[.5,.5]};function H5(b,x,E=h7,z=!0){const te=[.5,.5],re=qu(x)?xp(E,x.toLocaleLowerCase(),te):x;if(!z&&qu(x))return re;const[oe,le]=re||te;return[b.min[0]+Ym(b)*oe,b.min[1]+Xm(b)*le]}function V5(b){if(!b)return{};const x=b.getPorts();return(b.attributes.ports||[]).forEach((z,te)=>{var re;const{key:oe,placement:le}=z;UO(z)&&(x[re=oe||te]||(x[re]=Jy(b.getShape("key").getBounds(),le)))}),x}function UO(b){const{r:x}=b;return!x||Number(x)===0}function px(b){return CS(b)?b:b.getPosition()}function d7(b,x,E,z){const te=GO(b,x,E,z),re=GO(x,b,z,E);return[te,re]}function GO(b,x,E,z){const te=V5(b);if(E)return te[E];const re=Object.values(te);if(re.length===0)return;const oe=re.map(ge=>px(ge)),le=f7(x,z),[he]=$_(oe,le);return re.find(ge=>px(ge)===he)}function f7(b,x){const E=V5(b);if(x)return[px(E[x])];const z=Object.values(E);return z.length>0?z.map(te=>px(te)):[b.getCenter()]}function HO(b,x){return G5(b)||JC(b)?K5(b,x):qC(b,x)}function qC(b,x){if(!b||!x)return[0,0,0];if(CS(b))return b;if(b.attributes.linkToCenter)return b.getPosition();const E=CS(x)?x:JC(x)?x.getCenter():x.getPosition();return QP(E,b.getBounds())}function K5(b,x){if(!b||!x)return[0,0,0];const E=CS(x)?x:JC(x)?x.getCenter():x.getPosition();return b.getIntersectPoint(E)||b.getCenter()}function VO(b,x="bottom",E=0,z=0,te=!1){const re=x.split("-"),[oe,le]=Jy(b,x),he=re.includes("left")?"right":re.includes("right")?"left":"center";let ge=re.includes("top")?"bottom":re.includes("bottom")?"top":"middle";return te&&(ge=ge==="top"?"bottom":ge==="bottom"?"top":ge),{transform:[["translate",oe+E,le+z]],textBaseline:ge,textAlign:he}}function g7(b,x){return[[0,-b],[x*Math.cos(3*Math.PI/10),-x*Math.sin(3*Math.PI/10)],[b*Math.cos(Math.PI/10),-b*Math.sin(Math.PI/10)],[x*Math.cos(Math.PI/10),x*Math.sin(Math.PI/10)],[b*Math.cos(3*Math.PI/10),b*Math.sin(3*Math.PI/10)],[0,x],[-b*Math.cos(3*Math.PI/10),b*Math.sin(3*Math.PI/10)],[-x*Math.cos(Math.PI/10),x*Math.sin(Math.PI/10)],[-b*Math.cos(Math.PI/10),-b*Math.sin(Math.PI/10)],[-x*Math.cos(3*Math.PI/10),-x*Math.sin(3*Math.PI/10)]]}function p7(b,x){const E={};return E.top=[0,-b],E.left=[-b*Math.cos(Math.PI/10),-b*Math.sin(Math.PI/10)],E["left-bottom"]=[-b*Math.cos(3*Math.PI/10),b*Math.sin(3*Math.PI/10)],E.bottom=[0,x],E["right-bottom"]=[b*Math.cos(3*Math.PI/10),b*Math.sin(3*Math.PI/10)],E.right=E.default=[b*Math.cos(Math.PI/10),-b*Math.sin(Math.PI/10)],E}function v7(b,x,E){const z=x/2,te=b/2,re={up:[[-te,z],[te,z],[0,-z]],left:[[-te,0],[te,z],[te,-z]],right:[[-te,z],[-te,-z],[te,0]],down:[[-te,-z],[te,-z],[0,z]]};return re[E]||re.up}function m7(b,x,E){const z=x/2,te=b/2,re={};return E==="down"?(re.bottom=re.default=[0,z],re.right=[te,-z],re.left=[-te,-z]):E==="left"?(re.top=[te,-z],re.bottom=[te,z],re.left=re.default=[-te,0]):E==="right"?(re.top=[-te,-z],re.bottom=[-te,z],re.right=re.default=[te,0]):(re.left=[-te,z],re.top=re.default=[0,-z],re.right=[te,z]),re}function sq(b,x){return[[b/2,-x/2],[b/2,x/2],[-b/2,x/2],[-b/2,-x/2]]}function y7(b,x){return[[0,-x/2],[b/2,0],[0,x/2],[-b/2,0]]}function x7(b){return xp(b,["style","visibility"])!=="hidden"}function E7(b,x){const{zIndex:E,transform:z,transformOrigin:te,visibility:re,cursor:oe,clipPath:le,component:he}=x,ge=l7(x,["zIndex","transform","transformOrigin","visibility","cursor","clipPath","component"]);Object.assign(b.attributes,ge),z&&b.setAttribute("transform",z),As(E)&&b.setAttribute("zIndex",E),te&&b.setAttribute("transformOrigin",te),re&&b.setAttribute("visibility",re),oe&&b.setAttribute("cursor",oe),le&&b.setAttribute("clipPath",le),he&&b.setAttribute("component",he)}function Z5(b,x){"update"in b?b.update(x):b.attr(x)}function A7(b){return[[0,b],[b*Math.sqrt(3)/2,b/2],[b*Math.sqrt(3)/2,-b/2],[0,-b],[-b*Math.sqrt(3)/2,-b/2],[-b*Math.sqrt(3)/2,b/2]]}function S7(b){KC(b,"__to_be_destroyed__",!0)}function CM(b){return xp(b,"__to_be_destroyed__",!1)}var w7=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})};class bM extends A0{constructor(x,E){super(x,Object.assign({},bM.defaultOptions,E)),this.onCollapseExpand=z=>w7(this,void 0,void 0,function*(){if(!this.validate(z))return;const{target:te}=z;if(!u7(te))return;const re=te.id,{model:oe,graph:le}=this.context,he=oe.getElementDataById(re);if(!he)return!1;const{onCollapse:ge,onExpand:Ae,animation:Pe,align:We}=this.options;qp(he)?(yield le.expandElement(re,{animation:Pe,align:We}),Ae==null||Ae(re)):(yield le.collapseElement(re,{animation:Pe,align:We}),ge==null||ge(re))}),this.bindEvents()}update(x){this.unbindEvents(),super.update(x),this.bindEvents()}bindEvents(){const{graph:x}=this.context,{trigger:E}=this.options;x.on(`node:${E}`,this.onCollapseExpand),x.on(`combo:${E}`,this.onCollapseExpand)}unbindEvents(){const{graph:x}=this.context,{trigger:E}=this.options;x.off(`node:${E}`,this.onCollapseExpand),x.off(`combo:${E}`,this.onCollapseExpand)}validate(x){if(this.destroyed)return!1;const{enable:E}=this.options;return Ys(E)?E(x):!!E}destroy(){this.unbindEvents(),super.destroy()}}bM.defaultOptions={enable:!0,animation:!0,trigger:ia.DBLCLICK,align:!0};var PM={},C7=function(b){return b=b||"g",PM[b]?PM[b]+=1:PM[b]=1,b+PM[b]},MM=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})};const b7="g6-create-edge-assist-edge-id",LM="g6-create-edge-assist-node-id";class TM extends A0{constructor(x,E){super(x,Object.assign({},TM.defaultOptions,E)),this.drop=z=>MM(this,void 0,void 0,function*(){const{targetType:te}=z;["combo","node"].includes(te)&&this.source?yield this.handleCreateEdge(z):yield this.cancelEdge()}),this.handleCreateEdge=z=>MM(this,void 0,void 0,function*(){var te,re,oe;if(!this.validate(z))return;const{graph:le,canvas:he,batch:ge,element:Ae}=this.context,{style:Pe}=this.options;if(this.source){this.createEdge(z),yield this.cancelEdge();return}ge.startBatch(),he.setCursor("crosshair"),this.source=this.getSelectedNodeIDs([z.target.id])[0];const We=le.getElementData(this.source);le.addNodeData([{id:LM,style:{visibility:"hidden",ports:[{key:"port-1",placement:[.5,.5]}],x:(te=We.style)===null||te===void 0?void 0:te.x,y:(re=We.style)===null||re===void 0?void 0:re.y}}]),le.addEdgeData([{id:b7,source:this.source,target:LM,style:Object.assign({pointerEvents:"none"},Pe)}]),yield(oe=Ae.draw({animation:!1}))===null||oe===void 0?void 0:oe.finished}),this.updateAssistEdge=z=>MM(this,void 0,void 0,function*(){var te;if(!this.source)return;const{model:re,element:oe}=this.context;re.translateNodeTo(LM,[z.canvas.x,z.canvas.y]),yield(te=oe.draw({animation:!1,silence:!0}))===null||te===void 0?void 0:te.finished}),this.createEdge=z=>{var te,re;const{graph:oe}=this.context,{style:le,onFinish:he,onCreate:ge}=this.options;if(((te=z.target)===null||te===void 0?void 0:te.id)===void 0||this.source===void 0)return;const Pe=(re=this.getSelectedNodeIDs([z.target.id]))===null||re===void 0?void 0:re[0],We=`${this.source}-${Pe}-${C7()}`,Xe=ge({id:We,source:this.source,target:Pe,style:le});oe.addEdgeData([Xe]),he(Xe)},this.cancelEdge=()=>MM(this,void 0,void 0,function*(){var z;if(!this.source)return;const{graph:te,element:re,batch:oe}=this.context;te.removeNodeData([LM]),this.source=void 0,yield(z=re.draw({animation:!1}))===null||z===void 0?void 0:z.finished,oe.endBatch()}),this.bindEvents()}update(x){super.update(x),this.bindEvents()}bindEvents(){const{graph:x}=this.context,{trigger:E}=this.options;this.unbindEvents(),E==="click"?(x.on(vv.CLICK,this.handleCreateEdge),x.on(IE.CLICK,this.handleCreateEdge),x.on(Ky.CLICK,this.cancelEdge),x.on(IP.CLICK,this.cancelEdge)):(x.on(vv.DRAG_START,this.handleCreateEdge),x.on(IE.DRAG_START,this.handleCreateEdge),x.on(ia.POINTER_UP,this.drop)),x.on(ia.POINTER_MOVE,this.updateAssistEdge)}getSelectedNodeIDs(x){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(E=>E.id).concat(x)))}validate(x){if(this.destroyed)return!1;const{enable:E}=this.options;return Ys(E)?E(x):!!E}unbindEvents(){const{graph:x}=this.context;x.off(vv.CLICK,this.handleCreateEdge),x.off(IE.CLICK,this.handleCreateEdge),x.off(Ky.CLICK,this.cancelEdge),x.off(IP.CLICK,this.cancelEdge),x.off(vv.DRAG_START,this.handleCreateEdge),x.off(IE.DRAG_START,this.handleCreateEdge),x.off(ia.POINTER_UP,this.drop),x.off(ia.POINTER_MOVE,this.updateAssistEdge)}destroy(){this.unbindEvents(),super.destroy()}}TM.defaultOptions={animation:!0,enable:!0,style:{},trigger:"drag",onCreate:b=>b,onFinish:()=>{}};function P7(b,x,E){var z;return function(){var te=this,re=arguments,oe=function(){z=null,E||b.apply(te,re)},le=E&&!z;clearTimeout(z),z=setTimeout(oe,x),le&&b.apply(te,re)}}var $C=P7,KO=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})};class DM extends A0{constructor(x,E){super(x,Object.assign({},DM.defaultOptions,E)),this.isDragging=!1,this.onDragStart=z=>{this.validate(z)&&(this.isDragging=!0,this.context.canvas.setCursor("grabbing"))},this.onDrag=z=>{if(!this.isDragging)return;const{x:te,y:re}=z.movement;te|re&&this.translate([te,re],!1)},this.onDragEnd=()=>{var z,te;this.isDragging=!1,this.context.canvas.setCursor(this.defaultCursor),(te=(z=this.options).onFinish)===null||te===void 0||te.call(z)},this.invokeOnFinish=$C(()=>{var z,te;(te=(z=this.options).onFinish)===null||te===void 0||te.call(z)},300),this.shortcut=new PS(x.graph),this.bindEvents(),this.defaultCursor=this.context.canvas.getConfig().cursor||"default"}update(x){this.unbindEvents(),super.update(x),this.bindEvents()}bindEvents(){const{trigger:x}=this.options;if(lh(x)){const{up:E=[],down:z=[],left:te=[],right:re=[]}=x;this.shortcut.bind(E,oe=>this.onTranslate([0,1],oe)),this.shortcut.bind(z,oe=>this.onTranslate([0,-1],oe)),this.shortcut.bind(te,oe=>this.onTranslate([1,0],oe)),this.shortcut.bind(re,oe=>this.onTranslate([-1,0],oe))}else{const{graph:E}=this.context;E.on(ia.DRAG_START,this.onDragStart),E.on(ia.DRAG,this.onDrag),E.on(ia.DRAG_END,this.onDragEnd)}}onTranslate(x,E){return KO(this,void 0,void 0,function*(){if(!this.validate(E))return;const{sensitivity:z}=this.options,te=z*-1;yield this.translate(Xy(x,te),this.options.animation),this.invokeOnFinish()})}translate(x,E){return KO(this,void 0,void 0,function*(){x=this.clampByDirection(x),x=this.clampByRange(x),yield this.context.graph.translateBy(x,E)})}clampByDirection([x,E]){const{direction:z}=this.options;return z==="x"?E=0:z==="y"&&(x=0),[x,E]}clampByRange([x,E]){const{viewport:z,canvas:te}=this.context,[re,oe]=te.getSize(),[le,he,ge,Ae]=Jv(this.options.range),Pe=[oe*le,re*he,oe*ge,re*Ae],We=lx(a5(z.getCanvasCenter()),Pe),Xe=Jc(z.getViewportCenter(),[x,E,0]);if(!qv(Xe,We)){const{min:[qe,nt],max:[at,pt]}=We;(Xe[0]<qe&&x>0||Xe[0]>at&&x<0)&&(x=0),(Xe[1]<nt&&E>0||Xe[1]>pt&&E<0)&&(E=0)}return[x,E]}validate(x){if(this.destroyed)return!1;const{enable:E}=this.options;return typeof E=="function"?E(x):!!E}unbindEvents(){this.shortcut.unbindAll();const{graph:x}=this.context;x.off(ia.DRAG_START,this.onDragStart),x.off(ia.DRAG,this.onDrag),x.off(ia.DRAG_END,this.onDragEnd)}destroy(){this.shortcut.destroy(),this.unbindEvents(),this.context.canvas.setCursor(this.defaultCursor),super.destroy()}}DM.defaultOptions={enable:b=>"targetType"in b?b.targetType==="canvas":!0,sensitivity:10,direction:"both",range:1/0};var ZO=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})};class e2 extends A0{constructor(x,E){super(x,Object.assign({},e2.defaultOptions,E)),this.enable=!1,this.enableElements=["node","combo"],this.target=[],this.shadowOrigin=[0,0],this.hiddenEdges=[],this.isDragging=!1,this.onDrop=z=>ZO(this,void 0,void 0,function*(){var te;if(this.options.dropEffect!=="link")return;const{model:re,element:oe}=this.context,le=z.target.id;this.target.forEach(he=>{const ge=re.getParentData(he,hh);ge&&Xi(ge)===le&&re.refreshComboData(le),re.setParent(he,le,hh)}),yield(te=oe==null?void 0:oe.draw({animation:!0}))===null||te===void 0?void 0:te.finished}),this.setCursor=z=>{if(this.isDragging)return;const{type:te}=z,{canvas:re}=this.context,{cursor:oe}=this.options;te===ia.POINTER_ENTER?re.setCursor((oe==null?void 0:oe.grab)||"grab"):re.setCursor((oe==null?void 0:oe.default)||"default")},this.onDragStart=this.onDragStart.bind(this),this.onDrag=this.onDrag.bind(this),this.onDragEnd=this.onDragEnd.bind(this),this.onDrop=this.onDrop.bind(this),this.bindEvents()}update(x){this.unbindEvents(),super.update(x),this.bindEvents()}bindEvents(){const{graph:x,canvas:E}=this.context,z=E.getLayer().getContextService().$canvas;z&&(z.addEventListener("blur",this.onDragEnd),z.addEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(te=>{x.on(`${te}:${ia.DRAG_START}`,this.onDragStart),x.on(`${te}:${ia.DRAG}`,this.onDrag),x.on(`${te}:${ia.DRAG_END}`,this.onDragEnd),x.on(`${te}:${ia.POINTER_ENTER}`,this.setCursor),x.on(`${te}:${ia.POINTER_LEAVE}`,this.setCursor)}),["link"].includes(this.options.dropEffect)&&(x.on(IE.DROP,this.onDrop),x.on(Ky.DROP,this.onDrop))}getSelectedNodeIDs(x){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(E=>E.id).concat(x)))}getDelta(x){const E=this.context.graph.getZoom();return em([x.dx,x.dy],E)}onDragStart(x){var E;if(this.enable=this.validate(x),!this.enable)return;const{batch:z,canvas:te,graph:re}=this.context;te.setCursor(((E=this.options.cursor)===null||E===void 0?void 0:E.grabbing)||"grabbing"),this.isDragging=!0,z.startBatch();const oe=x.target.id;re.getElementState(oe).includes(this.options.state)?this.target=this.getSelectedNodeIDs([oe]):this.target=[oe],this.hideEdge(),this.context.graph.frontElement(this.target),this.options.shadow&&this.createShadow(this.target)}onDrag(x){if(!this.enable)return;const E=this.getDelta(x);this.options.shadow?this.moveShadow(E):this.moveElement(this.target,E)}onDragEnd(){var x,E,z;if(this.enable=!1,this.options.shadow){if(!this.shadow)return;this.shadow.style.visibility="hidden";const{x:oe=0,y:le=0}=this.shadow.attributes,[he,ge]=Jc([+oe,+le],this.shadowOrigin);this.moveElement(this.target,[he,ge])}this.showEdges(),(E=(x=this.options).onFinish)===null||E===void 0||E.call(x,this.target);const{batch:te,canvas:re}=this.context;te.endBatch(),re.setCursor(((z=this.options.cursor)===null||z===void 0?void 0:z.grab)||"grab"),this.isDragging=!1,this.target=[]}validate(x){if(this.destroyed)return!1;const{enable:E}=this.options;return Ys(E)?E(x):!!E}moveElement(x,E){return ZO(this,void 0,void 0,function*(){const{graph:z,model:te}=this.context,{dropEffect:re}=this.options;re==="move"&&x.forEach(oe=>te.refreshComboData(oe)),z.translateElementBy(Object.fromEntries(x.map(oe=>[oe,E])),!1)})}moveShadow(x){if(!this.shadow)return;const{x:E=0,y:z=0}=this.shadow.attributes,[te,re]=x;this.shadow.attr({x:+E+te,y:+z+re})}createShadow(x){const E=hf(this.options,"shadow"),z=zC(x.map(ge=>this.context.element.getElement(ge).getBounds())),[te,re]=z.min;this.shadowOrigin=[te,re];const[oe,le]=ax(z),he={width:oe,height:le,x:te,y:re};this.shadow?this.shadow.attr(Object.assign(Object.assign(Object.assign({},E),he),{visibility:"visible"})):(this.shadow=new Qc({style:Object.assign(Object.assign(Object.assign({$layer:"transient"},E),he),{pointerEvents:"none"})}),this.context.canvas.appendChild(this.shadow))}showEdges(){this.options.shadow||this.hiddenEdges.length===0||(this.context.graph.showElement(this.hiddenEdges),this.hiddenEdges=[])}hideEdge(){const{hideEdge:x,shadow:E}=this.options;if(x==="none"||E)return;const{graph:z}=this.context;x==="all"?this.hiddenEdges=z.getEdgeData().map(Xi):this.hiddenEdges=Array.from(new Set(this.target.map(te=>z.getRelatedEdgesData(te,x).map(Xi)).flat())),z.hideElement(this.hiddenEdges)}unbindEvents(){const{graph:x,canvas:E}=this.context,z=E.getLayer().getContextService().$canvas;z&&(z.removeEventListener("blur",this.onDragEnd),z.removeEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(te=>{x.off(`${te}:${ia.DRAG_START}`,this.onDragStart),x.off(`${te}:${ia.DRAG}`,this.onDrag),x.off(`${te}:${ia.DRAG_END}`,this.onDragEnd),x.off(`${te}:${ia.POINTER_ENTER}`,this.setCursor),x.off(`${te}:${ia.POINTER_LEAVE}`,this.setCursor)}),x.off(`combo:${ia.DROP}`,this.onDrop),x.off(`canvas:${ia.DROP}`,this.onDrop)}destroy(){var x;this.unbindEvents(),(x=this.shadow)===null||x===void 0||x.destroy(),super.destroy()}}e2.defaultOptions={animation:!0,enable:b=>["node","combo"].includes(b.targetType),dropEffect:"move",state:"selected",hideEdge:"none",shadow:!1,shadowZIndex:100,shadowFill:"#F3F9FF",shadowFillOpacity:.5,shadowStroke:"#1890FF",shadowStrokeOpacity:.9,shadowLineDash:[5,5],cursor:{default:"default",grab:"grab",grabbing:"grabbing"}};var M7="*",L7=function(){function b(){this._events={}}return b.prototype.on=function(x,E,z){return this._events[x]||(this._events[x]=[]),this._events[x].push({callback:E,once:!!z}),this},b.prototype.once=function(x,E){return this.on(x,E,!0)},b.prototype.emit=function(x){for(var E=this,z=[],te=1;te<arguments.length;te++)z[te-1]=arguments[te];var re=this._events[x]||[],oe=this._events[M7]||[],le=function(he){for(var ge=he.length,Ae=0;Ae<ge;Ae++)if(he[Ae]){var Pe=he[Ae],We=Pe.callback,Xe=Pe.once;Xe&&(he.splice(Ae,1),he.length===0&&delete E._events[x],ge--,Ae--),We.apply(E,z)}};le(re),le(oe)},b.prototype.off=function(x,E){if(!x)this._events={};else if(!E)delete this._events[x];else{for(var z=this._events[x]||[],te=z.length,re=0;re<te;re++)z[re].callback===E&&(z.splice(re,1),te--,re--);z.length===0&&delete this._events[x]}return this},b.prototype.getEvents=function(){return this._events},b}(),IM=L7;function Y5(b,x,E,z){for(;b.length;){const te=b.shift();if(E(te))return!0;x.add(te.id),z(te.id).forEach(oe=>{x.has(oe.id)||(x.add(oe.id),b.push(oe))})}return!1}function OM(b,x,E,z){if(E(b))return!0;x.add(b.id);for(const re of z(b.id))if(!x.has(re.id)&&OM(re,x,E,z))return!0;return!1}const YO=()=>!0;class T7{constructor(x){id(this,"graph");id(this,"nodeFilter");id(this,"edgeFilter");id(this,"cacheEnabled");id(this,"inEdgesMap",new Map);id(this,"outEdgesMap",new Map);id(this,"bothEdgesMap",new Map);id(this,"allNodesMap",new Map);id(this,"allEdgesMap",new Map);id(this,"clearCache",()=>{this.inEdgesMap.clear(),this.outEdgesMap.clear(),this.bothEdgesMap.clear(),this.allNodesMap.clear(),this.allEdgesMap.clear()});id(this,"refreshCache",()=>{this.clearCache(),this.updateCache(this.graph.getAllNodes().map(x=>x.id))});id(this,"updateCache",x=>{const E=new Set;x.forEach(z=>{const te=this.bothEdgesMap.get(z);if(te&&te.forEach(re=>E.add(re.id)),!this.hasNode(z))this.inEdgesMap.delete(z),this.outEdgesMap.delete(z),this.bothEdgesMap.delete(z),this.allNodesMap.delete(z);else{const re=this.graph.getRelatedEdges(z,"in").filter(this.edgeFilter),oe=this.graph.getRelatedEdges(z,"out").filter(this.edgeFilter),le=Array.from(new Set([...re,...oe]));le.forEach(he=>E.add(he.id)),this.inEdgesMap.set(z,re),this.outEdgesMap.set(z,oe),this.bothEdgesMap.set(z,le),this.allNodesMap.set(z,this.graph.getNode(z))}}),E.forEach(z=>{this.hasEdge(z)?this.allEdgesMap.set(z,this.graph.getEdge(z)):this.allEdgesMap.delete(z)})});id(this,"handleGraphChanged",x=>{const E=new Set;x.changes.forEach(z=>{switch(z.type){case"NodeAdded":E.add(z.value.id);break;case"NodeDataUpdated":E.add(z.id);break;case"EdgeAdded":E.add(z.value.source),E.add(z.value.target);break;case"EdgeUpdated":(z.propertyName==="source"||z.propertyName==="target")&&(E.add(z.oldValue),E.add(z.newValue));break;case"EdgeDataUpdated":if(x.graph.hasEdge(z.id)){const te=x.graph.getEdge(z.id);E.add(te.source),E.add(te.target)}break;case"EdgeRemoved":E.add(z.value.source),E.add(z.value.target);break;case"NodeRemoved":E.add(z.value.id);break;default:break}}),this.updateCache(E)});this.graph=x.graph;const E=x.nodeFilter||YO,z=x.edgeFilter||YO;this.nodeFilter=E,this.edgeFilter=te=>{const{source:re,target:oe}=this.graph.getEdgeDetail(te.id);return!E(re)||!E(oe)?!1:z(te,re,oe)},x.cache==="auto"?(this.cacheEnabled=!0,this.startAutoCache()):x.cache==="manual"?this.cacheEnabled=!0:this.cacheEnabled=!1}startAutoCache(){this.refreshCache(),this.graph.on("changed",this.handleGraphChanged)}stopAutoCache(){this.graph.off("changed",this.handleGraphChanged)}checkNodeExistence(x){this.getNode(x)}hasNode(x){if(!this.graph.hasNode(x))return!1;const E=this.graph.getNode(x);return this.nodeFilter(E)}areNeighbors(x,E){return this.checkNodeExistence(x),this.getNeighbors(E).some(z=>z.id===x)}getNode(x){const E=this.graph.getNode(x);if(!this.nodeFilter(E))throw new Error("Node not found for id: "+x);return E}getRelatedEdges(x,E){return this.checkNodeExistence(x),this.cacheEnabled?E==="in"?this.inEdgesMap.get(x):E==="out"?this.outEdgesMap.get(x):this.bothEdgesMap.get(x):this.graph.getRelatedEdges(x,E).filter(this.edgeFilter)}getDegree(x,E){return this.getRelatedEdges(x,E).length}getSuccessors(x){const z=this.getRelatedEdges(x,"out").map(te=>this.getNode(te.target));return Array.from(new Set(z))}getPredecessors(x){const z=this.getRelatedEdges(x,"in").map(te=>this.getNode(te.source));return Array.from(new Set(z))}getNeighbors(x){const E=this.getPredecessors(x),z=this.getSuccessors(x);return Array.from(new Set([...E,...z]))}hasEdge(x){if(!this.graph.hasEdge(x))return!1;const E=this.graph.getEdge(x);return this.edgeFilter(E)}getEdge(x){const E=this.graph.getEdge(x);if(!this.edgeFilter(E))throw new Error("Edge not found for id: "+x);return E}getEdgeDetail(x){const E=this.getEdge(x);return{edge:E,source:this.getNode(E.source),target:this.getNode(E.target)}}hasTreeStructure(x){return this.graph.hasTreeStructure(x)}getRoots(x){return this.graph.getRoots(x).filter(this.nodeFilter)}getChildren(x,E){return this.checkNodeExistence(x),this.graph.getChildren(x,E).filter(this.nodeFilter)}getParent(x,E){this.checkNodeExistence(x);const z=this.graph.getParent(x,E);return!z||!this.nodeFilter(z)?null:z}getAllNodes(){return this.cacheEnabled?Array.from(this.allNodesMap.values()):this.graph.getAllNodes().filter(this.nodeFilter)}getAllEdges(){return this.cacheEnabled?Array.from(this.allEdgesMap.values()):this.graph.getAllEdges().filter(this.edgeFilter)}bfs(x,E,z="out"){const te={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[z];Y5([this.getNode(x)],new Set,E,te)}dfs(x,E,z="out"){const te={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[z];OM(this.getNode(x),new Set,E,te)}}class qd extends IM{constructor(E){super();id(this,"nodeMap",new Map);id(this,"edgeMap",new Map);id(this,"inEdgesMap",new Map);id(this,"outEdgesMap",new Map);id(this,"bothEdgesMap",new Map);id(this,"treeIndices",new Map);id(this,"changes",[]);id(this,"batchCount",0);id(this,"onChanged",()=>{});id(this,"batch",E=>{this.batchCount+=1,E(),this.batchCount-=1,this.batchCount||this.commit()});E&&(E.nodes&&this.addNodes(E.nodes),E.edges&&this.addEdges(E.edges),E.tree&&this.addTree(E.tree),E.onChanged&&(this.onChanged=E.onChanged))}commit(){const E=this.changes;this.changes=[];const z={graph:this,changes:E};this.emit("changed",z),this.onChanged(z)}reduceChanges(E){let z=[];return E.forEach(te=>{switch(te.type){case"NodeRemoved":{let re=!1;z=z.filter(oe=>{if(oe.type==="NodeAdded"){const le=oe.value.id===te.value.id;return le&&(re=!0),!le}else{if(oe.type==="NodeDataUpdated")return oe.id!==te.value.id;if(oe.type==="TreeStructureChanged")return oe.nodeId!==te.value.id}return!0}),re||z.push(te);break}case"EdgeRemoved":{let re=!1;z=z.filter(oe=>{if(oe.type==="EdgeAdded"){const le=oe.value.id===te.value.id;return le&&(re=!0),!le}else if(oe.type==="EdgeDataUpdated"||oe.type==="EdgeUpdated")return oe.id!==te.value.id;return!0}),re||z.push(te);break}case"NodeDataUpdated":case"EdgeDataUpdated":case"EdgeUpdated":{const re=z.findIndex(le=>le.type===te.type&&le.id===te.id&&(te.propertyName===void 0||le.propertyName===te.propertyName)),oe=z[re];oe?te.propertyName!==void 0?oe.newValue=te.newValue:(z.splice(re,1),z.push(te)):z.push(te);break}case"TreeStructureDetached":{z=z.filter(re=>re.type==="TreeStructureAttached"||re.type==="TreeStructureChanged"?re.treeKey!==te.treeKey:!0),z.push(te);break}case"TreeStructureChanged":{const re=z.find(oe=>oe.type==="TreeStructureChanged"&&oe.treeKey===te.treeKey&&oe.nodeId===te.nodeId);re?re.newParentId=te.newParentId:z.push(te);break}default:z.push(te);break}}),z}checkNodeExistence(E){this.getNode(E)}hasNode(E){return this.nodeMap.has(E)}areNeighbors(E,z){return this.getNeighbors(z).some(te=>te.id===E)}getNode(E){const z=this.nodeMap.get(E);if(!z)throw new Error("Node not found for id: "+E);return z}getRelatedEdges(E,z){if(this.checkNodeExistence(E),z==="in"){const te=this.inEdgesMap.get(E);return Array.from(te)}else if(z==="out"){const te=this.outEdgesMap.get(E);return Array.from(te)}else{const te=this.bothEdgesMap.get(E);return Array.from(te)}}getDegree(E,z){return this.getRelatedEdges(E,z).length}getSuccessors(E){const te=this.getRelatedEdges(E,"out").map(re=>this.getNode(re.target));return Array.from(new Set(te))}getPredecessors(E){const te=this.getRelatedEdges(E,"in").map(re=>this.getNode(re.source));return Array.from(new Set(te))}getNeighbors(E){const z=this.getPredecessors(E),te=this.getSuccessors(E);return Array.from(new Set([...z,...te]))}doAddNode(E){if(this.hasNode(E.id))throw new Error("Node already exists: "+E.id);this.nodeMap.set(E.id,E),this.inEdgesMap.set(E.id,new Set),this.outEdgesMap.set(E.id,new Set),this.bothEdgesMap.set(E.id,new Set),this.treeIndices.forEach(z=>{z.childrenMap.set(E.id,new Set)}),this.changes.push({type:"NodeAdded",value:E})}addNodes(E){this.batch(()=>{for(const z of E)this.doAddNode(z)})}addNode(E){this.addNodes([E])}doRemoveNode(E){const z=this.getNode(E),te=this.bothEdgesMap.get(E);te==null||te.forEach(re=>this.doRemoveEdge(re.id)),this.nodeMap.delete(E),this.treeIndices.forEach(re=>{var le,he;(le=re.childrenMap.get(E))==null||le.forEach(ge=>{re.parentMap.delete(ge.id)});const oe=re.parentMap.get(E);oe&&((he=re.childrenMap.get(oe.id))==null||he.delete(z)),re.parentMap.delete(E),re.childrenMap.delete(E)}),this.bothEdgesMap.delete(E),this.inEdgesMap.delete(E),this.outEdgesMap.delete(E),this.changes.push({type:"NodeRemoved",value:z})}removeNodes(E){this.batch(()=>{E.forEach(z=>this.doRemoveNode(z))})}removeNode(E){this.removeNodes([E])}updateNodeDataProperty(E,z,te){const re=this.getNode(E);this.batch(()=>{const oe=re.data[z],le=te;re.data[z]=le,this.changes.push({type:"NodeDataUpdated",id:E,propertyName:z,oldValue:oe,newValue:le})})}mergeNodeData(E,z){this.batch(()=>{Object.entries(z).forEach(([te,re])=>{this.updateNodeDataProperty(E,te,re)})})}updateNodeData(...E){const z=E[0],te=this.getNode(z);if(typeof E[1]=="string"){this.updateNodeDataProperty(z,E[1],E[2]);return}let re;if(typeof E[1]=="function"){const oe=E[1];re=oe(te.data)}else typeof E[1]=="object"&&(re=E[1]);this.batch(()=>{const oe=te.data,le=re;te.data=re,this.changes.push({type:"NodeDataUpdated",id:z,oldValue:oe,newValue:le})})}checkEdgeExistence(E){if(!this.hasEdge(E))throw new Error("Edge not found for id: "+E)}hasEdge(E){return this.edgeMap.has(E)}getEdge(E){return this.checkEdgeExistence(E),this.edgeMap.get(E)}getEdgeDetail(E){const z=this.getEdge(E);return{edge:z,source:this.getNode(z.source),target:this.getNode(z.target)}}doAddEdge(E){if(this.hasEdge(E.id))throw new Error("Edge already exists: "+E.id);this.checkNodeExistence(E.source),this.checkNodeExistence(E.target),this.edgeMap.set(E.id,E);const z=this.inEdgesMap.get(E.target),te=this.outEdgesMap.get(E.source),re=this.bothEdgesMap.get(E.source),oe=this.bothEdgesMap.get(E.target);z.add(E),te.add(E),re.add(E),oe.add(E),this.changes.push({type:"EdgeAdded",value:E})}addEdges(E){this.batch(()=>{for(const z of E)this.doAddEdge(z)})}addEdge(E){this.addEdges([E])}doRemoveEdge(E){const z=this.getEdge(E),te=this.outEdgesMap.get(z.source),re=this.inEdgesMap.get(z.target),oe=this.bothEdgesMap.get(z.source),le=this.bothEdgesMap.get(z.target);te.delete(z),re.delete(z),oe.delete(z),le.delete(z),this.edgeMap.delete(E),this.changes.push({type:"EdgeRemoved",value:z})}removeEdges(E){this.batch(()=>{E.forEach(z=>this.doRemoveEdge(z))})}removeEdge(E){this.removeEdges([E])}updateEdgeSource(E,z){const te=this.getEdge(E);this.checkNodeExistence(z);const re=te.source,oe=z;this.outEdgesMap.get(re).delete(te),this.bothEdgesMap.get(re).delete(te),this.outEdgesMap.get(oe).add(te),this.bothEdgesMap.get(oe).add(te),te.source=z,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:E,propertyName:"source",oldValue:re,newValue:oe})})}updateEdgeTarget(E,z){const te=this.getEdge(E);this.checkNodeExistence(z);const re=te.target,oe=z;this.inEdgesMap.get(re).delete(te),this.bothEdgesMap.get(re).delete(te),this.inEdgesMap.get(oe).add(te),this.bothEdgesMap.get(oe).add(te),te.target=z,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:E,propertyName:"target",oldValue:re,newValue:oe})})}updateEdgeDataProperty(E,z,te){const re=this.getEdge(E);this.batch(()=>{const oe=re.data[z],le=te;re.data[z]=le,this.changes.push({type:"EdgeDataUpdated",id:E,propertyName:z,oldValue:oe,newValue:le})})}updateEdgeData(...E){const z=E[0],te=this.getEdge(z);if(typeof E[1]=="string"){this.updateEdgeDataProperty(z,E[1],E[2]);return}let re;if(typeof E[1]=="function"){const oe=E[1];re=oe(te.data)}else typeof E[1]=="object"&&(re=E[1]);this.batch(()=>{const oe=te.data,le=re;te.data=re,this.changes.push({type:"EdgeDataUpdated",id:z,oldValue:oe,newValue:le})})}mergeEdgeData(E,z){this.batch(()=>{Object.entries(z).forEach(([te,re])=>{this.updateEdgeDataProperty(E,te,re)})})}checkTreeExistence(E){if(!this.hasTreeStructure(E))throw new Error("Tree structure not found for treeKey: "+E)}hasTreeStructure(E){return this.treeIndices.has(E)}attachTreeStructure(E){this.treeIndices.has(E)||(this.treeIndices.set(E,{parentMap:new Map,childrenMap:new Map}),this.batch(()=>{this.changes.push({type:"TreeStructureAttached",treeKey:E})}))}detachTreeStructure(E){this.checkTreeExistence(E),this.treeIndices.delete(E),this.batch(()=>{this.changes.push({type:"TreeStructureDetached",treeKey:E})})}addTree(E,z){this.batch(()=>{this.attachTreeStructure(z);const te=[],re=Array.isArray(E)?E:[E];for(;re.length;){const oe=re.shift();te.push(oe),oe.children&&re.push(...oe.children)}this.addNodes(te),te.forEach(oe=>{var le;(le=oe.children)==null||le.forEach(he=>{this.setParent(he.id,oe.id,z)})})})}getRoots(E){return this.checkTreeExistence(E),this.getAllNodes().filter(z=>!this.getParent(z.id,E))}getChildren(E,z){this.checkNodeExistence(E),this.checkTreeExistence(z);const re=this.treeIndices.get(z).childrenMap.get(E);return Array.from(re||[])}getParent(E,z){return this.checkNodeExistence(E),this.checkTreeExistence(z),this.treeIndices.get(z).parentMap.get(E)||null}getAncestors(E,z){const te=[];let re=this.getNode(E),oe;for(;oe=this.getParent(re.id,z);)te.push(oe),re=oe;return te}setParent(E,z,te){var Ae,Pe;this.checkTreeExistence(te);const re=this.treeIndices.get(te);if(!re)return;const oe=this.getNode(E),le=re.parentMap.get(E);if((le==null?void 0:le.id)===z)return;if(z==null){le&&((Ae=re.childrenMap.get(le.id))==null||Ae.delete(oe)),re.parentMap.delete(E);return}const he=this.getNode(z);re.parentMap.set(E,he),le&&((Pe=re.childrenMap.get(le.id))==null||Pe.delete(oe));let ge=re.childrenMap.get(he.id);ge||(ge=new Set,re.childrenMap.set(he.id,ge)),ge.add(oe),this.batch(()=>{this.changes.push({type:"TreeStructureChanged",treeKey:te,nodeId:E,oldParentId:le==null?void 0:le.id,newParentId:he.id})})}dfsTree(E,z,te){const re=oe=>this.getChildren(oe,te);return OM(this.getNode(E),new Set,z,re)}bfsTree(E,z,te){const re=oe=>this.getChildren(oe,te);return Y5([this.getNode(E)],new Set,z,re)}getAllNodes(){return Array.from(this.nodeMap.values())}getAllEdges(){return Array.from(this.edgeMap.values())}bfs(E,z,te="out"){const re={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[te];return Y5([this.getNode(E)],new Set,z,re)}dfs(E,z,te="out"){const re={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[te];return OM(this.getNode(E),new Set,z,re)}clone(){const E=this.getAllNodes().map(re=>bI(JS({},re),{data:JS({},re.data)})),z=this.getAllEdges().map(re=>bI(JS({},re),{data:JS({},re.data)})),te=new qd({nodes:E,edges:z});return this.treeIndices.forEach(({parentMap:re,childrenMap:oe},le)=>{const he=new Map;re.forEach((Ae,Pe)=>{he.set(Pe,te.getNode(Ae.id))});const ge=new Map;oe.forEach((Ae,Pe)=>{ge.set(Pe,new Set(Array.from(Ae).map(We=>te.getNode(We.id))))}),te.treeIndices.set(le,{parentMap:he,childrenMap:ge})}),te}toJSON(){return JSON.stringify({nodes:this.getAllNodes(),edges:this.getAllEdges()})}createView(E){return new T7(JS({graph:this},E))}}class NM{constructor(x,E){this.context=x,this.options=E||{}}}var D7=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})},I7=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};function lq(b){const{type:x}=b;return!!(["comboCombined","comboForce"].includes(x)||x==="antv-dagre"&&b.sortByCombo)}function O7(b){const{type:x}=b;return["compact-box","mindmap","dendrogram","indented"].includes(x)}function uq(b){return isNumber(b.x)&&isNumber(b.y)}function N7(b){return!Array.isArray(b)&&(b==null?void 0:b.preLayout)}function BM(b){const{nodes:x,edges:E}=b,z={nodes:[],edges:[],combos:[]};return x.forEach(te=>{const re=te.data._isCombo?z.combos:z.nodes,{x:oe,y:le,z:he=0}=te.data;re==null||re.push({id:te.id,style:{x:oe,y:le,z:he}})}),E.forEach(te=>{const{id:re,source:oe,target:le,data:{points:he=[],controlPoints:ge=he.slice(1,he.length-1)}}=te;z.edges.push({id:re,source:oe,target:le,style:Object.assign({},ge!=null&&ge.length?{controlPoints:ge.map(kg)}:{})})}),z}function B7(b,x){class E extends NM{constructor(te,re){if(super(te,re),this.instance=new b({}),this.id=this.instance.id,"stop"in this.instance&&"tick"in this.instance){const oe=this.instance;this.stop=oe.stop.bind(oe),this.tick=le=>{const he=oe.tick(le);return BM(he)}}}execute(te,re){return D7(this,void 0,void 0,function*(){return BM(yield this.instance.execute(this.graphData2LayoutModel(te),this.transformOptions(yp({},this.options,re))))})}transformOptions(te){const{onTick:re}=te;return re&&(te.onTick=oe=>re(BM(oe))),te}graphData2LayoutModel(te){const{nodes:re=[],edges:oe=[],combos:le=[]}=te,he=re.map(Xe=>{const qe=Xi(Xe),{data:nt,style:at,combo:pt}=Xe,mt=I7(Xe,["data","style","combo"]),bt={id:qe,data:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},nt),{data:nt}),pt?{parentId:pt}:{}),{style:at}),mt)};return at!=null&&at.x&&Object.assign(bt.data,{x:at.x}),at!=null&&at.y&&Object.assign(bt.data,{y:at.y}),at!=null&&at.z&&Object.assign(bt.data,{z:at.z}),bt}),ge=new Map(he.map(Xe=>[Xe.id,Xe])),Ae=oe.filter(Xe=>{const{source:qe,target:nt}=Xe;return ge.has(qe)&&ge.has(nt)}).map(Xe=>{const{source:qe,target:nt,data:at,style:pt}=Xe;return{id:Xi(Xe),source:qe,target:nt,data:Object.assign({},at),style:Object.assign({},pt)}}),Pe=le.map(Xe=>({id:Xi(Xe),data:Object.assign({_isCombo:!0},Xe.data),style:Object.assign({},Xe.style)})),We=new qd({nodes:[...he,...Pe],edges:Ae});return x.model.model.hasTreeStructure(hh)&&(We.attachTreeStructure(hh),he.forEach(Xe=>{const qe=x.model.model.getParent(Xe.id,hh);qe&&We.hasNode(qe.id)&&We.setParent(Xe.id,qe.id,hh)})),We}}return E}function X5(b,x,...E){if(x in b)return b[x](...E);if("instance"in b){const z=b.instance;if(x in z)return z[x](...E)}return null}function XO(b,x){if(x in b)return b[x];if("instance"in b){const E=b.instance;if(x in E)return E[x]}return null}var R7=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})};class k7 extends e2{get forceLayoutInstance(){return this.context.layout.getLayoutInstance().find(x=>["d3-force","d3-force-3d"].includes(x==null?void 0:x.id))}validate(x){return this.context.layout?this.forceLayoutInstance?super.validate(x):(Jp.warn("DragElementForce only works with d3-force or d3-force-3d layout"),!1):!1}moveElement(x,E){return R7(this,void 0,void 0,function*(){const z=this.forceLayoutInstance;this.context.graph.getNodeData(x).forEach((te,re)=>{const{x:oe=0,y:le=0}=te.style||{};z&&X5(z,"setFixedPosition",x[re],[...hu([+oe,+le],E)])})})}onDragStart(x){if(this.enable=this.validate(x),!this.enable)return;this.target=this.getSelectedNodeIDs([x.target.id]),this.hideEdge(),this.context.graph.frontElement(this.target);const E=this.forceLayoutInstance;E&&XO(E,"simulation").alphaTarget(.3).restart(),this.context.graph.getNodeData(this.target).forEach(z=>{const{x:te=0,y:re=0}=z.style||{};E&&X5(E,"setFixedPosition",Xi(z),[+te,+re])})}onDrag(x){if(!this.enable)return;const E=this.getDelta(x);this.moveElement(this.target,E)}onDragEnd(){const x=this.forceLayoutInstance;x&&XO(x,"simulation").alphaTarget(0),!this.options.fixed&&this.context.graph.getNodeData(this.target).forEach(E=>{x&&X5(x,"setFixedPosition",Xi(E),[null,null,null])})}}var QO=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})};class RM extends A0{constructor(x,E){super(x,Object.assign({},RM.defaultOptions,E)),this.isZoomEvent=z=>!!(z.data&&"scale"in z.data),this.relatedEdgeToUpdate=new Set,this.zoom=this.context.graph.getZoom(),this.fixElementSize=z=>QO(this,void 0,void 0,function*(){if(!this.validate(z))return;const{graph:te}=this.context,{state:re,nodeFilter:oe,edgeFilter:le,comboFilter:he}=this.options,ge=(re?te.getElementDataByState("node",re):te.getNodeData()).filter(oe),Ae=(re?te.getElementDataByState("edge",re):te.getEdgeData()).filter(le),Pe=(re?te.getElementDataByState("combo",re):te.getComboData()).filter(he),We=this.isZoomEvent(z)?this.zoom=Math.max(.01,Math.min(z.data.scale,10)):this.zoom,Xe=[...ge,...Pe];Xe.length>0&&Xe.forEach(qe=>this.fixNodeLike(qe,We)),this.updateRelatedEdges(),Ae.length>0&&Ae.forEach(qe=>this.fixEdge(qe,We))}),this.cachedStyles=new Map,this.getOriginalFieldValue=(z,te,re)=>{var oe;const le=this.cachedStyles.get(z)||[],he=((oe=le.find(ge=>ge.shape===te))===null||oe===void 0?void 0:oe.style)||{};return re in he||(he[re]=te.attributes[re],this.cachedStyles.set(z,[...le.filter(ge=>ge.shape!==te),{shape:te,style:he}])),he[re]},this.scaleEntireElement=(z,te,re)=>{te.setLocalScale(1/re);const oe=this.cachedStyles.get(z)||[];oe.push({shape:te}),this.cachedStyles.set(z,oe)},this.scaleSpecificShapes=(z,te,re)=>{const oe=b8(z);(Array.isArray(re)?re:[re]).forEach(he=>{const{shape:ge,fields:Ae}=he,Pe=typeof ge=="function"?ge(oe):z.getShape(ge);if(Pe){if(!Ae){this.scaleEntireElement(z.id,Pe,te);return}Ae.forEach(We=>{const Xe=this.getOriginalFieldValue(z.id,Pe,We);As(Xe)&&(Pe.style[We]=Xe/te)})}})},this.skipIfExceedViewport=z=>{const{viewport:te}=this.context;return!(te!=null&&te.isInViewport(z.getRenderBounds(),!1,30))},this.fixNodeLike=(z,te)=>{const re=Xi(z),{element:oe,model:le}=this.context,he=oe.getElement(re);if(!he||this.skipIfExceedViewport(he))return;le.getRelatedEdgesData(re).forEach(Pe=>this.relatedEdgeToUpdate.add(Xi(Pe)));const Ae=this.options[he.type];if(!Ae){this.scaleEntireElement(re,he,te);return}this.scaleSpecificShapes(he,te,Ae)},this.fixEdge=(z,te)=>{const re=Xi(z),oe=this.context.element.getElement(re);if(!oe||this.skipIfExceedViewport(oe))return;const le=this.options.edge;if(!le){oe.style.transformOrigin="center",this.scaleEntireElement(re,oe,te);return}this.scaleSpecificShapes(oe,te,le)},this.updateRelatedEdges=()=>{const{element:z}=this.context;this.relatedEdgeToUpdate.size>0&&this.relatedEdgeToUpdate.forEach(te=>{const re=z.getElement(te);re==null||re.update({})}),this.relatedEdgeToUpdate.clear()},this.resetTransform=z=>QO(this,void 0,void 0,function*(){var te;!((te=z.data)===null||te===void 0)&&te.firstRender||(this.options.reset?this.restoreCachedStyles():this.fixElementSize({data:{scale:this.zoom}}))}),this.bindEvents()}restoreCachedStyles(){if(this.cachedStyles.size>0){this.cachedStyles.forEach(te=>{te.forEach(({shape:re,style:oe})=>{if(Jm(oe))re.setLocalScale(1);else{if(this.options.state)return;Object.entries(oe).forEach(([le,he])=>re.style[le]=he)}})});const{graph:x,element:E}=this.context,z=Object.keys(Object.fromEntries(this.cachedStyles)).filter(te=>te&&x.getElementType(te)==="node");if(z.length>0){const te=new Set;z.forEach(re=>{x.getRelatedEdgesData(re).forEach(oe=>te.add(Xi(oe)))}),te.forEach(re=>{const oe=E==null?void 0:E.getElement(re);oe==null||oe.update({})})}}}bindEvents(){const{graph:x}=this.context;x.on(ts.AFTER_DRAW,this.resetTransform),x.on(ts.AFTER_TRANSFORM,this.fixElementSize)}unbindEvents(){const{graph:x}=this.context;x.off(ts.AFTER_DRAW,this.resetTransform),x.off(ts.AFTER_TRANSFORM,this.fixElementSize)}validate(x){if(this.destroyed)return!1;const{enable:E}=this.options;return Ys(E)?E(x):!!E}destroy(){this.unbindEvents(),super.destroy()}}RM.defaultOptions={enable:b=>b.data.scale<1,nodeFilter:()=>!0,edgeFilter:()=>!0,comboFilter:()=>!0,edge:[{shape:"key",fields:["lineWidth"]},{shape:"halo",fields:["lineWidth"]},{shape:"label"}],reset:!1};var F7=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})};class kM extends A0{constructor(x,E){super(x,Object.assign({},kM.defaultOptions,E)),this.focus=z=>F7(this,void 0,void 0,function*(){if(!this.validate(z))return;const{graph:te}=this.context;yield te.focusElement(z.target.id,this.options.animation)}),this.bindEvents()}bindEvents(){const{graph:x}=this.context;this.unbindEvents(),kE.forEach(E=>{x.on(`${E}:${ia.CLICK}`,this.focus)})}validate(x){if(this.destroyed)return!1;const{enable:E}=this.options;return Ys(E)?E(x):!!E}unbindEvents(){const{graph:x}=this.context;kE.forEach(E=>{x.off(`${E}:${ia.CLICK}`,this.focus)})}destroy(){this.unbindEvents(),super.destroy()}}kM.defaultOptions={animation:{easing:"ease-in",duration:500},enable:!0};class FM extends A0{constructor(x,E){super(x,Object.assign({},FM.defaultOptions,E)),this.isFrozen=!1,this.toggleFrozen=z=>{this.isFrozen=z.type==="dragstart"},this.hoverElement=z=>{if(!this.validate(z))return;const te=z.type===ia.POINTER_ENTER;this.updateElementsState(z,te);const{onHover:re,onHoverEnd:oe}=this.options;te?re==null||re(z):oe==null||oe(z)},this.updateElementsState=(z,te)=>{if(!this.options.state&&!this.options.inactiveState)return;const{graph:re}=this.context,{state:oe,animation:le,inactiveState:he}=this.options,ge=this.getActiveIds(z),Ae={};if(oe&&Object.assign(Ae,this.getElementsState(ge,oe,te)),he){const Pe=F3(re.getData(),!0).filter(We=>!ge.includes(We));Object.assign(Ae,this.getElementsState(Pe,he,te))}re.setElementState(Ae,le)},this.getElementsState=(z,te,re)=>{const{graph:oe}=this.context,le={};return z.forEach(he=>{const ge=oe.getElementState(he);re?le[he]=ge.includes(te)?ge:[...ge,te]:le[he]=ge.filter(Ae=>Ae!==te)}),le},this.bindEvents()}bindEvents(){const{graph:x}=this.context;this.unbindEvents(),kE.forEach(z=>{x.on(`${z}:${ia.POINTER_ENTER}`,this.hoverElement),x.on(`${z}:${ia.POINTER_LEAVE}`,this.hoverElement)});const E=this.context.canvas.document;E.addEventListener(`${ia.DRAG_START}`,this.toggleFrozen),E.addEventListener(`${ia.DRAG_END}`,this.toggleFrozen)}getActiveIds(x){const{graph:E}=this.context,{degree:z,direction:te}=this.options,re=x.target.id;return z?$3(E,x.targetType,re,typeof z=="function"?z(x):z,te):[re]}validate(x){if(this.destroyed||this.isFrozen||CM(x.target)||this.context.graph.isCollapsingExpanding)return!1;const{enable:E}=this.options;return Ys(E)?E(x):!!E}unbindEvents(){const{graph:x}=this.context;kE.forEach(z=>{x.off(`${z}:${ia.POINTER_ENTER}`,this.hoverElement),x.off(`${z}:${ia.POINTER_LEAVE}`,this.hoverElement)});const E=this.context.canvas.document;E.removeEventListener(`${ia.DRAG_START}`,this.toggleFrozen),E.removeEventListener(`${ia.DRAG_END}`,this.toggleFrozen)}destroy(){this.unbindEvents(),super.destroy()}}FM.defaultOptions={animation:!1,enable:!0,degree:0,direction:"both",state:"active",inactiveState:void 0};class _7 extends VC{onPointerDown(x){if(!super.validate(x)||!super.isKeydown()||this.points)return;const{canvas:E}=this.context;this.pathShape=new Pu({id:"g6-lasso-select",style:this.options.style}),E.appendChild(this.pathShape),this.points=[JP(x)]}onPointerMove(x){var E;if(!this.points)return;const{immediately:z,mode:te}=this.options;this.points.push(JP(x)),(E=this.pathShape)===null||E===void 0||E.setAttribute("d",E8(this.points)),z&&te==="default"&&this.points.length>2&&super.updateElementsStates(this.points)}onPointerUp(){if(this.points){if(this.points.length<2){this.clearLasso();return}super.updateElementsStates(this.points),this.clearLasso()}}clearLasso(){var x;(x=this.pathShape)===null||x===void 0||x.remove(),this.pathShape=void 0,this.points=void 0}}class _M extends A0{constructor(x,E){super(x,Object.assign({},_M.defaultOptions,E)),this.hiddenShapes=[],this.isVisible=!0,this.setElementsVisibility=(z,te,re)=>{z.filter(Boolean).forEach(oe=>{te==="hidden"&&!oe.isVisible()?this.hiddenShapes.push(oe):te==="visible"&&this.hiddenShapes.includes(oe)?this.hiddenShapes.splice(this.hiddenShapes.indexOf(oe),1):BE(oe,te,re)})},this.filterShapes=(z,te)=>{if(Ys(te))return oe=>!te(z,oe);const re=te==null?void 0:te[z];return oe=>oe.className?!(re!=null&&re.includes(oe.className)):!0},this.hideShapes=z=>{if(!this.validate(z)||!this.isVisible)return;const{element:te}=this.context,{shapes:re={}}=this.options;this.setElementsVisibility(te.getNodes(),"hidden",this.filterShapes("node",re)),this.setElementsVisibility(te.getEdges(),"hidden",this.filterShapes("edge",re)),this.setElementsVisibility(te.getCombos(),"hidden",this.filterShapes("combo",re)),this.isVisible=!1},this.showShapes=$C(z=>{if(!this.validate(z)||this.isVisible)return;const{element:te}=this.context;this.setElementsVisibility(te.getNodes(),"visible"),this.setElementsVisibility(te.getEdges(),"visible"),this.setElementsVisibility(te.getCombos(),"visible"),this.isVisible=!0},this.options.debounce),this.bindEvents()}bindEvents(){const{graph:x}=this.context;x.on(ts.BEFORE_TRANSFORM,this.hideShapes),x.on(ts.AFTER_TRANSFORM,this.showShapes)}unbindEvents(){const{graph:x}=this.context;x.off(ts.BEFORE_TRANSFORM,this.hideShapes),x.off(ts.AFTER_TRANSFORM,this.showShapes)}validate(x){if(this.destroyed)return!1;const{enable:E}=this.options;return Ys(E)?E(x):!!E}update(x){this.unbindEvents(),super.update(x),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}_M.defaultOptions={enable:!0,debounce:200,shapes:b=>b==="node"};var JO=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})};class zM extends A0{constructor(x,E){super(x,Object.assign({},zM.defaultOptions,E)),this.onWheel=z=>JO(this,void 0,void 0,function*(){this.options.preventDefault&&z.preventDefault();const te=z.deltaX,re=z.deltaY;yield this.scroll([-te,-re],z)}),this.shortcut=new PS(x.graph),this.bindEvents()}update(x){super.update(x),this.bindEvents()}bindEvents(){var x,E;const{trigger:z}=this.options;if(this.shortcut.unbindAll(),lh(z)){(x=this.graphDom)===null||x===void 0||x.removeEventListener(ia.WHEEL,this.onWheel);const{up:te=[],down:re=[],left:oe=[],right:le=[]}=z;this.shortcut.bind(te,he=>this.scroll([0,-10],he)),this.shortcut.bind(re,he=>this.scroll([0,10],he)),this.shortcut.bind(oe,he=>this.scroll([-10,0],he)),this.shortcut.bind(le,he=>this.scroll([10,0],he))}else(E=this.graphDom)===null||E===void 0||E.addEventListener(ia.WHEEL,this.onWheel,{passive:!1})}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}formatDisplacement(x){const{sensitivity:E}=this.options;return x=Xy(x,E),x=this.clampByDirection(x),x=this.clampByRange(x),x}clampByDirection([x,E]){const{direction:z}=this.options;return z==="x"?E=0:z==="y"&&(x=0),[x,E]}clampByRange([x,E]){const{viewport:z,canvas:te}=this.context,[re,oe]=te.getSize(),[le,he,ge,Ae]=Jv(this.options.range),Pe=[oe*le,re*he,oe*ge,re*Ae],We=lx(a5(z.getCanvasCenter()),Pe),Xe=Jc(z.getViewportCenter(),[x,E,0]);if(!qv(Xe,We)){const{min:[qe,nt],max:[at,pt]}=We;(Xe[0]<qe&&x>0||Xe[0]>at&&x<0)&&(x=0),(Xe[1]<nt&&E>0||Xe[1]>pt&&E<0)&&(E=0)}return[x,E]}scroll(x,E){return JO(this,void 0,void 0,function*(){if(!this.validate(E))return;const{onFinish:z}=this.options,te=this.context.graph,re=this.formatDisplacement(x);yield te.translateBy(re,!1),z==null||z()})}validate(x){if(this.destroyed)return!1;const{enable:E}=this.options;return Ys(E)?E(x):!!E}destroy(){var x;this.shortcut.destroy(),(x=this.graphDom)===null||x===void 0||x.removeEventListener(ia.WHEEL,this.onWheel),super.destroy()}}zM.defaultOptions={enable:!0,sensitivity:1,preventDefault:!0,range:1/0};var qO=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})};class jM extends A0{constructor(x,E){super(x,Object.assign({},jM.defaultOptions,E)),this.zoom=(z,te,re)=>qO(this,void 0,void 0,function*(){if(!this.validate(te))return;const{graph:oe}=this.context;let le;"viewport"in te&&(le=kg(te.viewport));const{sensitivity:he,onFinish:ge}=this.options,Ae=1+Sh(z,-50,50)*he/100,Pe=oe.getZoom();yield oe.zoomTo(Pe*Ae,re,le),ge==null||ge()}),this.onReset=()=>qO(this,void 0,void 0,function*(){yield this.context.graph.zoomTo(1,this.options.animation)}),this.preventDefault=z=>{this.options.preventDefault&&z.preventDefault()},this.shortcut=new PS(x.graph),this.bindEvents()}update(x){super.update(x),this.bindEvents()}bindEvents(){var x;const{trigger:E}=this.options;if(this.shortcut.unbindAll(),Array.isArray(E)&&((x=this.context.canvas.getContainer())===null||x===void 0||x.addEventListener(ia.WHEEL,this.preventDefault),this.shortcut.bind([...E,ia.WHEEL],z=>{const{deltaX:te,deltaY:re}=z;this.zoom(-(re!=null?re:te),z,!1)})),typeof E=="object"){const{zoomIn:z=[],zoomOut:te=[],reset:re=[]}=E;this.shortcut.bind(z,oe=>this.zoom(10,oe,this.options.animation)),this.shortcut.bind(te,oe=>this.zoom(-10,oe,this.options.animation)),this.shortcut.bind(re,this.onReset)}}validate(x){if(this.destroyed)return!1;const{enable:E}=this.options;return Ys(E)?E(x):!!E}destroy(){var x;this.shortcut.destroy(),(x=this.context.canvas.getContainer())===null||x===void 0||x.removeEventListener(ia.WHEEL,this.preventDefault),super.destroy()}}jM.defaultOptions={animation:{duration:200},enable:!0,sensitivity:1,trigger:[],preventDefault:!0};var WM=Oe(13722);const z7=(b,x)=>{if(b!=="next"&&b!=="prev")return x},$O=b=>{b.prev.next=b.next,b.next.prev=b.prev,delete b.next,delete b.prev};class j7{constructor(){const x={};x.prev=x,x.next=x.prev,this.shortcut=x}dequeue(){const x=this.shortcut,E=x.prev;if(E&&E!==x)return $O(E),E}enqueue(x){const E=this.shortcut;x.prev&&x.next&&$O(x),x.next=E.next,E.next.prev=x,E.next=x,x.prev=E}toString(){const x=[],E=this.shortcut;let z=E.prev;for(;z!==E;)x.push(JSON.stringify(z,z7)),z=z==null?void 0:z.prev;return`[${x.join(", ")}]`}}class W7 extends j7{}const U7=()=>1,G7=(b,x)=>{var E;if(b.getAllNodes().length<=1)return[];const z=V7(b,x||U7);return(E=H7(z.graph,z.buckets,z.zeroIdx).map(re=>b.getRelatedEdges(re.v,"out").filter(({target:oe})=>oe===re.w)))===null||E===void 0?void 0:E.flat()},H7=(b,x,E)=>{let z=[];const te=x[x.length-1],re=x[0];let oe;for(;b.getAllNodes().length;){for(;oe=re.dequeue();)Q5(b,x,E,oe);for(;oe=te.dequeue();)Q5(b,x,E,oe);if(b.getAllNodes().length){for(let le=x.length-2;le>0;--le)if(oe=x[le].dequeue(),oe){z=z.concat(Q5(b,x,E,oe,!0));break}}}return z},Q5=(b,x,E,z,te)=>{var re,oe;const le=[];return b.hasNode(z.v)&&((re=b.getRelatedEdges(z.v,"in"))===null||re===void 0||re.forEach(he=>{const ge=he.data.weight,Ae=b.getNode(he.source);te&&le.push({v:he.source,w:he.target,in:0,out:0}),Ae.data.out===void 0&&(Ae.data.out=0),Ae.data.out-=ge,J5(x,E,Object.assign({v:Ae.id},Ae.data))}),(oe=b.getRelatedEdges(z.v,"out"))===null||oe===void 0||oe.forEach(he=>{const ge=he.data.weight,Ae=he.target,Pe=b.getNode(Ae);Pe.data.in===void 0&&(Pe.data.in=0),Pe.data.in-=ge,J5(x,E,Object.assign({v:Pe.id},Pe.data))}),b.removeNode(z.v)),te?le:void 0},V7=(b,x)=>{const E=new qd;let z=0,te=0;b.getAllNodes().forEach(he=>{E.addNode({id:he.id,data:{v:he.id,in:0,out:0}})}),b.getAllEdges().forEach(he=>{const ge=E.getRelatedEdges(he.source,"out").find(Pe=>Pe.target===he.target),Ae=(x==null?void 0:x(he))||1;ge?E.updateEdgeData(ge==null?void 0:ge.id,Object.assign(Object.assign({},ge.data),{weight:ge.data.weight+Ae})):E.addEdge({id:he.id,source:he.source,target:he.target,data:{weight:Ae}}),te=Math.max(te,E.getNode(he.source).data.out+=Ae),z=Math.max(z,E.getNode(he.target).data.in+=Ae)});const re=[],oe=te+z+3;for(let he=0;he<oe;he++)re.push(new W7);const le=z+1;return E.getAllNodes().forEach(he=>{J5(re,le,Object.assign({v:he.id},E.getNode(he.id).data))}),{buckets:re,zeroIdx:le,graph:E}},J5=(b,x,E)=>{E.out?E.in?b[E.out-E.in+x].enqueue(E):b[b.length-1].enqueue(E):b[0].enqueue(E)},K7=(b,x)=>{const z=x==="greedy"?G7(b,(te=>re=>re.data.weight||1)(b)):Z7(b);z==null||z.forEach(te=>{const re=te.data;b.removeEdge(te.id),re.forwardName=te.data.name,re.reversed=!0,b.addEdge({id:te.id,source:te.target,target:te.source,data:Object.assign({},re)})})},Z7=b=>{const x=[],E={},z={},te=re=>{z[re]||(z[re]=!0,E[re]=!0,b.getRelatedEdges(re,"out").forEach(oe=>{E[oe.target]?x.push(oe):te(oe.target)}),delete E[re])};return b.getAllNodes().forEach(re=>te(re.id)),x},Y7=b=>{b.getAllEdges().forEach(x=>{const E=x.data;if(E.reversed){b.removeEdge(x.id);const z=E.forwardName;delete E.reversed,delete E.forwardName,b.addEdge({id:x.id,source:x.target,target:x.source,data:Object.assign(Object.assign({},E),{forwardName:z})})}})},X7=(b,x)=>Number(b)-Number(x),DS=(b,x,E,z)=>{let te;do te=`${z}${Math.random()}`;while(b.hasNode(te));return E.dummy=x,b.addNode({id:te,data:E}),te},Q7=b=>{const x=new qd;return b.getAllNodes().forEach(E=>{x.addNode(Object.assign({},E))}),b.getAllEdges().forEach(E=>{const z=x.getRelatedEdges(E.source,"out").find(te=>te.target===E.target);z?x.updateEdgeData(z==null?void 0:z.id,Object.assign(Object.assign({},z.data),{weight:z.data.weight+E.data.weight||0,minlen:Math.max(z.data.minlen,E.data.minlen||1)})):x.addEdge({id:E.id,source:E.source,target:E.target,data:{weight:E.data.weight||0,minlen:E.data.minlen||1}})}),x},eN=b=>{const x=new qd;return b.getAllNodes().forEach(E=>{b.getChildren(E.id).length||x.addNode(Object.assign({},E))}),b.getAllEdges().forEach(E=>{x.addEdge(E)}),x},tN=(b,x)=>b==null?void 0:b.reduce((E,z,te)=>(E[z]=x[te],E),{}),cq=b=>{const x={};return b.getAllNodes().forEach(E=>{const z={};b.getRelatedEdges(E.id,"out").forEach(te=>{z[te.target]=(z[te.target]||0)+(te.data.weight||0)}),x[E.id]=z}),x},hq=b=>{const x=b.getAllNodes(),E=x.map(z=>{const te={};return b.getRelatedEdges(z.id,"in").forEach(re=>{te[re.source]=(te[re.source]||0)+re.data.weight}),te});return tN(x.map(z=>z.id),E)},nN=(b,x)=>{const E=Number(b.x),z=Number(b.y),te=Number(x.x)-E,re=Number(x.y)-z;let oe=Number(b.width)/2,le=Number(b.height)/2;if(!te&&!re)return{x:0,y:0};let he,ge;return Math.abs(re)*oe>Math.abs(te)*le?(re<0&&(le=-le),he=le*te/re,ge=le):(te<0&&(oe=-oe),he=oe,ge=oe*re/te),{x:E+he,y:z+ge}},t2=b=>{const x=[],E=iN(b)+1;for(let z=0;z<E;z++)x.push([]);b.getAllNodes().forEach(z=>{const te=z.data.rank;te!==void 0&&x[te]&&x[te].push(z.id)});for(let z=0;z<E;z++)x[z]=x[z].sort((te,re)=>X7(b.getNode(te).data.order,b.getNode(re).data.order));return x},J7=b=>{const x=b.getAllNodes().filter(z=>z.data.rank!==void 0).map(z=>z.data.rank),E=Math.min(...x);b.getAllNodes().forEach(z=>{z.data.hasOwnProperty("rank")&&E!==1/0&&(z.data.rank-=E)})},q7=(b,x=0)=>{const E=b.getAllNodes(),z=E.filter(le=>le.data.rank!==void 0).map(le=>le.data.rank),te=Math.min(...z),re=[];E.forEach(le=>{const he=(le.data.rank||0)-te;re[he]||(re[he]=[]),re[he].push(le.id)});let oe=0;for(let le=0;le<re.length;le++){const he=re[le];he===void 0?le%x!==0&&(oe-=1):oe&&(he==null||he.forEach(ge=>{const Ae=b.getNode(ge);Ae&&(Ae.data.rank=Ae.data.rank||0,Ae.data.rank+=oe)}))}},rN=(b,x,E,z)=>{const te={width:0,height:0};return As(E)&&As(z)&&(te.rank=E,te.order=z),DS(b,"border",te,x)},iN=b=>{let x;return b.getAllNodes().forEach(E=>{const z=E.data.rank;z!==void 0&&(x===void 0||z>x)&&(x=z)}),x||(x=0),x},$7=(b,x)=>{const E={lhs:[],rhs:[]};return b==null||b.forEach(z=>{x(z)?E.lhs.push(z):E.rhs.push(z)}),E},q5=(b,x)=>b.reduce((E,z)=>{const te=x(E),re=x(z);return te>re?z:E}),oN=(b,x,E,z,te,re)=>{z.includes(x.id)||(z.push(x.id),E||re.push(x.id),te(x.id).forEach(oe=>oN(b,oe,E,z,te,re)),E&&re.push(x.id))},aN=(b,x,E,z)=>{const te=Array.isArray(x)?x:[x],re=he=>z?b.getSuccessors(he):b.getNeighbors(he),oe=[],le=[];return te.forEach(he=>{if(b.hasNode(he.id))oN(b,he,E==="post",le,re,oe);else throw new Error(`Graph does not have node: ${he}`)}),oe},ez=b=>{const x=E=>{const z=b.getChildren(E),te=b.getNode(E);if(z!=null&&z.length&&z.forEach(re=>x(re.id)),te.data.hasOwnProperty("minRank")){te.data.borderLeft=[],te.data.borderRight=[];for(let re=te.data.minRank,oe=te.data.maxRank+1;re<oe;re+=1)sN(b,"borderLeft","_bl",E,te,re),sN(b,"borderRight","_br",E,te,re)}};b.getRoots().forEach(E=>x(E.id))},sN=(b,x,E,z,te,re)=>{const oe={rank:re,borderType:x,width:0,height:0},le=te.data[x][re-1],he=DS(b,"border",oe,E);te.data[x][re]=he,b.setParent(he,z),le&&b.addEdge({id:`e${Math.random()}`,source:le,target:he,data:{weight:1}})},tz=(b,x)=>{const E=x.toLowerCase();(E==="lr"||E==="rl")&&lN(b)},nz=(b,x)=>{const E=x.toLowerCase();(E==="bt"||E==="rl")&&rz(b),(E==="lr"||E==="rl")&&(iz(b),lN(b))},lN=b=>{b.getAllNodes().forEach(x=>{uN(x)}),b.getAllEdges().forEach(x=>{uN(x)})},uN=b=>{const x=b.data.width;b.data.width=b.data.height,b.data.height=x},rz=b=>{b.getAllNodes().forEach(x=>{$5(x.data)}),b.getAllEdges().forEach(x=>{var E;(E=x.data.points)===null||E===void 0||E.forEach(z=>$5(z)),x.data.hasOwnProperty("y")&&$5(x.data)})},$5=b=>{b!=null&&b.y&&(b.y=-b.y)},iz=b=>{b.getAllNodes().forEach(x=>{eD(x.data)}),b.getAllEdges().forEach(x=>{var E;(E=x.data.points)===null||E===void 0||E.forEach(z=>eD(z)),x.data.hasOwnProperty("x")&&eD(x.data)})},eD=b=>{const x=b.x;b.x=b.y,b.y=x},oz=b=>{const x=DS(b,"root",{},"_root"),E=az(b);let z=Math.max(...Object.values(E));Math.abs(z)===1/0&&(z=1);const te=z-1,re=2*te+1;b.getAllEdges().forEach(le=>{le.data.minlen*=re});const oe=sz(b)+1;return b.getRoots().forEach(le=>{cN(b,x,re,oe,te,E,le.id)}),{nestingRoot:x,nodeRankFactor:re}},cN=(b,x,E,z,te,re,oe)=>{const le=b.getChildren(oe);if(!(le!=null&&le.length)){oe!==x&&b.addEdge({id:`e${Math.random()}`,source:x,target:oe,data:{weight:0,minlen:E}});return}const he=rN(b,"_bt"),ge=rN(b,"_bb"),Ae=b.getNode(oe);b.setParent(he,oe),Ae.data.borderTop=he,b.setParent(ge,oe),Ae.data.borderBottom=ge,le==null||le.forEach(Pe=>{cN(b,x,E,z,te,re,Pe.id);const We=Pe.data.borderTop?Pe.data.borderTop:Pe.id,Xe=Pe.data.borderBottom?Pe.data.borderBottom:Pe.id,qe=Pe.data.borderTop?z:2*z,nt=We!==Xe?1:te-re[oe]+1;b.addEdge({id:`e${Math.random()}`,source:he,target:We,data:{minlen:nt,weight:qe,nestingEdge:!0}}),b.addEdge({id:`e${Math.random()}`,source:Xe,target:ge,data:{minlen:nt,weight:qe,nestingEdge:!0}})}),b.getParent(oe)||b.addEdge({id:`e${Math.random()}`,source:x,target:he,data:{weight:0,minlen:te+re[oe]}})},az=b=>{const x={},E=(z,te)=>{const re=b.getChildren(z);re==null||re.forEach(oe=>E(oe.id,te+1)),x[z]=te};return b.getRoots().forEach(z=>E(z.id,1)),x},sz=b=>{let x=0;return b.getAllEdges().forEach(E=>{x+=E.data.weight}),x},lz=(b,x)=>{x&&b.removeNode(x),b.getAllEdges().forEach(E=>{E.data.nestingEdge&&b.removeEdge(E.id)})},uz="edge",hN="edge-label",cz=(b,x)=>{b.getAllEdges().forEach(E=>hz(b,E,x))},hz=(b,x,E)=>{let z=x.source,te=b.getNode(z).data.rank;const re=x.target,oe=b.getNode(re).data.rank,le=x.data.labelRank;if(oe===te+1)return;b.removeEdge(x.id);let he,ge,Ae;for(Ae=0,++te;te<oe;++Ae,++te)x.data.points=[],ge={originalEdge:x,width:0,height:0,rank:te},he=DS(b,uz,ge,"_d"),te===le&&(ge.width=x.data.width,ge.height=x.data.height,ge.dummy=hN,ge.labelpos=x.data.labelpos),b.addEdge({id:`e${Math.random()}`,source:z,target:he,data:{weight:x.data.weight}}),Ae===0&&E.push(he),z=he;b.addEdge({id:`e${Math.random()}`,source:z,target:re,data:{weight:x.data.weight}})},dz=(b,x)=>{x.forEach(E=>{let z=b.getNode(E);const{data:te}=z,re=te.originalEdge;let oe;re&&b.addEdge(re);let le=E;for(;z.data.dummy;)oe=b.getSuccessors(le)[0],b.removeNode(le),re.data.points.push({x:z.data.x,y:z.data.y}),z.data.dummy===hN&&(re.data.x=z.data.x,re.data.y=z.data.y,re.data.width=z.data.width,re.data.height=z.data.height),le=oe.id,z=b.getNode(le)})},fz=(b,x,E)=>{const z={};let te;E==null||E.forEach(re=>{let oe=b.getParent(re),le,he;for(;oe;){if(le=b.getParent(oe.id),le?(he=z[le.id],z[le.id]=oe.id):(he=te,te=oe.id),he&&he!==oe.id){x.hasNode(he)||x.addNode({id:he,data:{}}),x.hasNode(oe.id)||x.addNode({id:oe.id,data:{}}),x.hasEdge(`e${he}-${oe.id}`)||x.addEdge({id:`e${he}-${oe.id}`,source:he,target:oe.id,data:{}});return}oe=le}})},gz=(b,x,E)=>{const z=pz(b),te=new qd({tree:[{id:z,children:[],data:{}}]});return b.getAllNodes().forEach(re=>{const oe=b.getParent(re.id);(re.data.rank===x||re.data.minRank<=x&&x<=re.data.maxRank)&&(te.hasNode(re.id)||te.addNode(Object.assign({},re)),oe!=null&&oe.id&&!te.hasNode(oe==null?void 0:oe.id)&&te.addNode(Object.assign({},oe)),te.setParent(re.id,(oe==null?void 0:oe.id)||z),b.getRelatedEdges(re.id,E).forEach(le=>{const he=le.source===re.id?le.target:le.source;te.hasNode(he)||te.addNode(Object.assign({},b.getNode(he)));const ge=te.getRelatedEdges(he,"out").find(({target:Pe})=>Pe===re.id),Ae=ge!==void 0?ge.data.weight:0;ge?te.updateEdgeData(ge.id,Object.assign(Object.assign({},ge.data),{weight:le.data.weight+Ae})):te.addEdge({id:le.id,source:he,target:re.id,data:{weight:le.data.weight+Ae}})}),re.data.hasOwnProperty("minRank")&&te.updateNodeData(re.id,Object.assign(Object.assign({},re.data),{borderLeft:re.data.borderLeft[x],borderRight:re.data.borderRight[x]})))}),te},pz=b=>{let x;for(;b.hasNode(x=`_root${Math.random()}`););return x},vz=(b,x,E)=>{const z=tN(E,E.map((Ae,Pe)=>Pe)),re=x.map(Ae=>{const Pe=b.getRelatedEdges(Ae,"out").map(We=>({pos:z[We.target]||0,weight:We.data.weight}));return Pe==null?void 0:Pe.sort((We,Xe)=>We.pos-Xe.pos)}).flat().filter(Ae=>Ae!==void 0);let oe=1;for(;oe<E.length;)oe<<=1;const le=2*oe-1;oe-=1;const he=Array(le).fill(0,0,le);let ge=0;return re==null||re.forEach(Ae=>{if(Ae){let Pe=Ae.pos+oe;he[Pe]+=Ae.weight;let We=0;for(;Pe>0;)Pe%2&&(We+=he[Pe+1]),Pe=Pe-1>>1,he[Pe]+=Ae.weight;ge+=Ae.weight*We}}),ge},dN=(b,x)=>{let E=0;for(let z=1;z<(x==null?void 0:x.length);z+=1)E+=vz(b,x[z-1],x[z]);return E},fN=b=>{const x={},E=b.getAllNodes(),z=E.map(ge=>{var Ae;return(Ae=ge.data.rank)!==null&&Ae!==void 0?Ae:-1/0}),te=Math.max(...z),re=[];for(let ge=0;ge<te+1;ge++)re.push([]);const oe=E.sort((ge,Ae)=>b.getNode(ge.id).data.rank-b.getNode(Ae.id).data.rank),he=oe.filter(ge=>b.getNode(ge.id).data.fixorder!==void 0).sort((ge,Ae)=>b.getNode(ge.id).data.fixorder-b.getNode(Ae.id).data.fixorder);return he==null||he.forEach(ge=>{isNaN(b.getNode(ge.id).data.rank)||re[b.getNode(ge.id).data.rank].push(ge.id),x[ge.id]=!0}),oe==null||oe.forEach(ge=>b.dfsTree(ge.id,Ae=>{if(x.hasOwnProperty(Ae.id))return!0;x[Ae.id]=!0,isNaN(Ae.data.rank)||re[Ae.data.rank].push(Ae.id)})),re},mz=(b,x)=>x.map(E=>{const z=b.getRelatedEdges(E,"in");if(!(z!=null&&z.length))return{v:E};const te={sum:0,weight:0};return z==null||z.forEach(re=>{const oe=b.getNode(re.source);te.sum+=re.data.weight*oe.data.order,te.weight+=re.data.weight}),{v:E,barycenter:te.sum/te.weight,weight:te.weight}}),yz=(b,x)=>{var E,z,te;const re={};b==null||b.forEach((le,he)=>{re[le.v]={i:he,indegree:0,in:[],out:[],vs:[le.v]};const ge=re[le.v];le.barycenter!==void 0&&(ge.barycenter=le.barycenter,ge.weight=le.weight)}),(E=x.getAllEdges())===null||E===void 0||E.forEach(le=>{const he=re[le.source],ge=re[le.target];he!==void 0&&ge!==void 0&&(ge.indegree++,he.out.push(re[le.target]))});const oe=(te=(z=Object.values(re)).filter)===null||te===void 0?void 0:te.call(z,le=>!le.indegree);return xz(oe)},xz=b=>{var x,E;const z=[],te=he=>ge=>{ge.merged||(ge.barycenter===void 0||he.barycenter===void 0||ge.barycenter>=he.barycenter)&&Ez(he,ge)},re=he=>ge=>{ge.in.push(he),--ge.indegree===0&&b.push(ge)};for(;b!=null&&b.length;){const he=b.pop();z.push(he),(x=he.in.reverse())===null||x===void 0||x.forEach(ge=>te(he)(ge)),(E=he.out)===null||E===void 0||E.forEach(ge=>re(he)(ge))}const oe=z.filter(he=>!he.merged),le=["vs","i","barycenter","weight"];return oe.map(he=>{const ge={};return le==null||le.forEach(Ae=>{he[Ae]!==void 0&&(ge[Ae]=he[Ae])}),ge})},Ez=(b,x)=>{var E;let z=0,te=0;b.weight&&(z+=b.barycenter*b.weight,te+=b.weight),x.weight&&(z+=x.barycenter*x.weight,te+=x.weight),b.vs=(E=x.vs)===null||E===void 0?void 0:E.concat(b.vs),b.barycenter=z/te,b.weight=te,b.i=Math.min(x.i,b.i),x.merged=!0};var Az=yz;const Sz=(b,x,E,z)=>{const te=$7(b,We=>{const Xe=We.hasOwnProperty("fixorder")&&!isNaN(We.fixorder);return z?!Xe&&We.hasOwnProperty("barycenter"):Xe||We.hasOwnProperty("barycenter")}),re=te.lhs,oe=te.rhs.sort((We,Xe)=>-We.i- -Xe.i),le=[];let he=0,ge=0,Ae=0;re==null||re.sort(wz(!!x,!!E)),Ae=gN(le,oe,Ae),re==null||re.forEach(We=>{var Xe;Ae+=(Xe=We.vs)===null||Xe===void 0?void 0:Xe.length,le.push(We.vs),he+=We.barycenter*We.weight,ge+=We.weight,Ae=gN(le,oe,Ae)});const Pe={vs:le.flat()};return ge&&(Pe.barycenter=he/ge,Pe.weight=ge),Pe},gN=(b,x,E)=>{let z=E,te;for(;x.length&&(te=x[x.length-1]).i<=z;)x.pop(),b==null||b.push(te.vs),z++;return z},wz=(b,x)=>(E,z)=>{if(E.fixorder!==void 0&&z.fixorder!==void 0)return E.fixorder-z.fixorder;if(E.barycenter<z.barycenter)return-1;if(E.barycenter>z.barycenter)return 1;if(x&&E.order!==void 0&&z.order!==void 0){if(E.order<z.order)return-1;if(E.order>z.order)return 1}return b?z.i-E.i:E.i-z.i},pN=(b,x,E,z,te,re)=>{var oe,le,he,ge;let Ae=b.getChildren(x).map(mt=>mt.id);const Pe=b.getNode(x),We=Pe?Pe.data.borderLeft:void 0,Xe=Pe?Pe.data.borderRight:void 0,qe={};We&&(Ae=Ae==null?void 0:Ae.filter(mt=>mt!==We&&mt!==Xe));const nt=mz(b,Ae||[]);nt==null||nt.forEach(mt=>{var bt;if(!((bt=b.getChildren(mt.v))===null||bt===void 0)&&bt.length){const jt=pN(b,mt.v,E,z,re);qe[mt.v]=jt,jt.hasOwnProperty("barycenter")&&bz(mt,jt)}});const at=Az(nt,E);Cz(at,qe),(oe=at.filter(mt=>mt.vs.length>0))===null||oe===void 0||oe.forEach(mt=>{const bt=b.getNode(mt.vs[0]);bt&&(mt.fixorder=bt.data.fixorder,mt.order=bt.data.order)});const pt=Sz(at,z,te,re);if(We&&(pt.vs=[We,pt.vs,Xe].flat(),!((le=b.getPredecessors(We))===null||le===void 0)&&le.length)){const mt=b.getNode(((he=b.getPredecessors(We))===null||he===void 0?void 0:he[0].id)||""),bt=b.getNode(((ge=b.getPredecessors(Xe))===null||ge===void 0?void 0:ge[0].id)||"");pt.hasOwnProperty("barycenter")||(pt.barycenter=0,pt.weight=0),pt.barycenter=(pt.barycenter*pt.weight+mt.data.order+bt.data.order)/(pt.weight+2),pt.weight+=2}return pt},Cz=(b,x)=>{b==null||b.forEach(E=>{var z;const te=(z=E.vs)===null||z===void 0?void 0:z.map(re=>x[re]?x[re].vs:re);E.vs=te.flat()})},bz=(b,x)=>{b.barycenter!==void 0?(b.barycenter=(b.barycenter*b.weight+x.barycenter*x.weight)/(b.weight+x.weight),b.weight+=x.weight):(b.barycenter=x.barycenter,b.weight=x.weight)},Pz=(b,x)=>{const E=iN(b),z=[],te=[];for(let Ae=1;Ae<E+1;Ae++)z.push(Ae);for(let Ae=E-1;Ae>-1;Ae--)te.push(Ae);const re=vN(b,z,"in"),oe=vN(b,te,"out");let le=fN(b);tD(b,le);let he=Number.POSITIVE_INFINITY,ge;for(let Ae=0,Pe=0;Pe<4;++Ae,++Pe){mN(Ae%2?re:oe,Ae%4>=2,!1,x),le=t2(b);const We=dN(b,le);We<he&&(Pe=0,ge=wS(le),he=We)}le=fN(b),tD(b,le);for(let Ae=0,Pe=0;Pe<4;++Ae,++Pe){mN(Ae%2?re:oe,Ae%4>=2,!0,x),le=t2(b);const We=dN(b,le);We<he&&(Pe=0,ge=wS(le),he=We)}tD(b,ge)},vN=(b,x,E)=>x.map(z=>gz(b,z,E)),mN=(b,x,E,z)=>{const te=new qd;b==null||b.forEach(re=>{var oe;const le=re.getRoots()[0].id,he=pN(re,le,te,x,E,z);for(let ge=0;ge<((oe=he.vs)===null||oe===void 0?void 0:oe.length);ge++){const Ae=re.getNode(he.vs[ge]);Ae&&(Ae.data.order=ge)}fz(re,te,he.vs)})},tD=(b,x)=>{x==null||x.forEach(E=>{E==null||E.forEach((z,te)=>{b.getNode(z).data.order=te})})},Mz=(b,x)=>{const z=b.getAllNodes().filter(oe=>{var le;return!(!((le=b.getChildren(oe.id))===null||le===void 0)&&le.length)}).map(oe=>oe.data.rank),te=Math.max(...z),re=[];for(let oe=0;oe<te+1;oe++)re[oe]=[];x==null||x.forEach(oe=>{const le=b.getNode(oe);!le||le.data.dummy||isNaN(le.data.rank)||(le.data.fixorder=re[le.data.rank].length,re[le.data.rank].push(oe))})},Lz=b=>{const x={};let E=0;const z=te=>{const re=E;b.getChildren(te).forEach(oe=>z(oe.id)),x[te]={low:re,lim:E++}};return b.getRoots().forEach(te=>z(te.id)),x},Tz=(b,x,E,z)=>{var te,re;const oe=[],le=[],he=Math.min(x[E].low,x[z].low),ge=Math.max(x[E].lim,x[z].lim);let Ae,Pe;Ae=E;do Ae=(te=b.getParent(Ae))===null||te===void 0?void 0:te.id,oe.push(Ae);while(Ae&&(x[Ae].low>he||ge>x[Ae].lim));for(Pe=Ae,Ae=z;Ae&&Ae!==Pe;)le.push(Ae),Ae=(re=b.getParent(Ae))===null||re===void 0?void 0:re.id;return{lca:Pe,path:oe.concat(le.reverse())}},Dz=(b,x)=>{const E=Lz(b);x.forEach(z=>{var te,re;let oe=z,le=b.getNode(oe);const he=le.data.originalEdge;if(!he)return;const ge=Tz(b,E,he.source,he.target),Ae=ge.path,Pe=ge.lca;let We=0,Xe=Ae[We],qe=!0;for(;oe!==he.target;){if(le=b.getNode(oe),qe){for(;Xe!==Pe&&((te=b.getNode(Xe))===null||te===void 0?void 0:te.data.maxRank)<le.data.rank;)We++,Xe=Ae[We];Xe===Pe&&(qe=!1)}if(!qe){for(;We<Ae.length-1&&((re=b.getNode(Ae[We+1]))===null||re===void 0?void 0:re.data.minRank)<=le.data.rank;)We++;Xe=Ae[We]}b.hasNode(Xe)&&b.setParent(oe,Xe),oe=b.getSuccessors(oe)[0].id}})},yN=(b,x)=>{const E={},z=(te,re)=>{let oe=0,le=0;const he=te.length,ge=re==null?void 0:re[(re==null?void 0:re.length)-1];return re==null||re.forEach((Ae,Pe)=>{var We;const Xe=Iz(b,Ae),qe=Xe?b.getNode(Xe.id).data.order:he;(Xe||Ae===ge)&&((We=re.slice(le,Pe+1))===null||We===void 0||We.forEach(nt=>{var at;(at=b.getPredecessors(nt))===null||at===void 0||at.forEach(pt=>{var mt;const bt=b.getNode(pt.id),jt=bt.data.order;(jt<oe||qe<jt)&&!(bt.data.dummy&&(!((mt=b.getNode(nt))===null||mt===void 0)&&mt.data.dummy))&&EN(E,pt.id,nt)})}),le=Pe+1,oe=qe)}),re};return x!=null&&x.length&&x.reduce(z),E},xN=(b,x)=>{const E={};function z(le,he,ge,Ae,Pe){var We,Xe;let qe;for(let nt=he;nt<ge;nt++)qe=le[nt],!((We=b.getNode(qe))===null||We===void 0)&&We.data.dummy&&((Xe=b.getPredecessors(qe))===null||Xe===void 0||Xe.forEach(at=>{const pt=b.getNode(at.id);pt.data.dummy&&(pt.data.order<Ae||pt.data.order>Pe)&&EN(E,at.id,qe)}))}function te(le){return JSON.stringify(le.slice(1))}function re(le,he){const ge=te(le);he.get(ge)||(z(...le),he.set(ge,!0))}const oe=(le,he)=>{let ge=-1,Ae,Pe=0;const We=new Map;return he==null||he.forEach((Xe,qe)=>{var nt;if(((nt=b.getNode(Xe))===null||nt===void 0?void 0:nt.data.dummy)==="border"){const at=b.getPredecessors(Xe)||[];at.length&&(Ae=b.getNode(at[0].id).data.order,re([he,Pe,qe,ge,Ae],We),Pe=qe,ge=Ae)}re([he,Pe,he.length,Ae,le.length],We)}),he};return x!=null&&x.length&&x.reduce(oe),E},Iz=(b,x)=>{var E,z;if(!((E=b.getNode(x))===null||E===void 0)&&E.data.dummy)return(z=b.getPredecessors(x))===null||z===void 0?void 0:z.find(te=>b.getNode(te.id).data.dummy)},EN=(b,x,E)=>{let z=x,te=E;if(z>te){const oe=z;z=te,te=oe}let re=b[z];re||(b[z]=re={}),re[te]=!0},Oz=(b,x,E)=>{let z=x,te=E;if(z>te){const re=x;z=te,te=re}return!!b[z]},AN=(b,x,E,z)=>{const te={},re={},oe={};return x==null||x.forEach(le=>{le==null||le.forEach((he,ge)=>{te[he]=he,re[he]=he,oe[he]=ge})}),x==null||x.forEach(le=>{let he=-1;le==null||le.forEach(ge=>{let Ae=z(ge).map(Pe=>Pe.id);if(Ae.length){Ae=Ae.sort((We,Xe)=>oe[We]-oe[Xe]);const Pe=(Ae.length-1)/2;for(let We=Math.floor(Pe),Xe=Math.ceil(Pe);We<=Xe;++We){const qe=Ae[We];re[ge]===ge&&he<oe[qe]&&!Oz(E,ge,qe)&&(re[qe]=ge,re[ge]=te[ge]=te[qe],he=oe[qe])}}})}),{root:te,align:re}},SN=(b,x,E,z,te,re,oe)=>{var le;const he={},ge=Nz(b,x,E,te,re,oe),Ae=oe?"borderLeft":"borderRight",Pe=(qe,nt)=>{let at=ge.getAllNodes(),pt=at.pop();const mt={};for(;pt;)mt[pt.id]?qe(pt.id):(mt[pt.id]=!0,at.push(pt),at=at.concat(nt(pt.id))),pt=at.pop()},We=qe=>{he[qe]=(ge.getRelatedEdges(qe,"in")||[]).reduce((nt,at)=>Math.max(nt,(he[at.source]||0)+at.data.weight),0)},Xe=qe=>{const nt=(ge.getRelatedEdges(qe,"out")||[]).reduce((pt,mt)=>Math.min(pt,(he[mt.target]||0)-mt.data.weight),Number.POSITIVE_INFINITY),at=b.getNode(qe);nt!==Number.POSITIVE_INFINITY&&at.data.borderType!==Ae&&(he[qe]=Math.max(he[qe],nt))};return Pe(We,ge.getPredecessors.bind(ge)),Pe(Xe,ge.getSuccessors.bind(ge)),(le=Object.values(z))===null||le===void 0||le.forEach(qe=>{he[qe]=he[E[qe]]}),he},Nz=(b,x,E,z,te,re)=>{const oe=new qd,le=Bz(z,te,re);return x==null||x.forEach(he=>{let ge;he==null||he.forEach(Ae=>{const Pe=E[Ae];if(oe.hasNode(Pe)||oe.addNode({id:Pe,data:{}}),ge){const We=E[ge],Xe=oe.getRelatedEdges(We,"out").find(qe=>qe.target===Pe);Xe?oe.updateEdgeData(Xe.id,Object.assign(Object.assign({},Xe.data),{weight:Math.max(le(b,Ae,ge),Xe.data.weight||0)})):oe.addEdge({id:`e${Math.random()}`,source:We,target:Pe,data:{weight:Math.max(le(b,Ae,ge),0)}})}ge=Ae})}),oe},wN=(b,x)=>q5(Object.values(x),E=>{var z;let te=Number.NEGATIVE_INFINITY,re=Number.POSITIVE_INFINITY;return(z=Object.keys(E))===null||z===void 0||z.forEach(oe=>{const le=E[oe],he=Rz(b,oe)/2;te=Math.max(le+he,te),re=Math.min(le-he,re)}),te-re});function CN(b,x){const E=Object.values(x),z=Math.min(...E),te=Math.max(...E);["u","d"].forEach(re=>{["l","r"].forEach(oe=>{const le=re+oe,he=b[le];let ge;if(he===x)return;const Ae=Object.values(he);ge=oe==="l"?z-Math.min(...Ae):te-Math.max(...Ae),ge&&(b[le]={},Object.keys(he).forEach(Pe=>{b[le][Pe]=he[Pe]+ge}))})})}const bN=(b,x)=>{const E={};return Object.keys(b.ul).forEach(z=>{if(x)E[z]=b[x.toLowerCase()][z];else{const te=Object.values(b).map(re=>re[z]);E[z]=(te[0]+te[1])/2}}),E},dq=(b,x)=>{const{align:E,nodesep:z=0,edgesep:te=0}=x||{},re=buildLayerMatrix(b),oe=Object.assign(yN(b,re),xN(b,re)),le={};let he;["u","d"].forEach(Ae=>{he=Ae==="u"?re:Object.values(re).reverse(),["l","r"].forEach(Pe=>{Pe==="r"&&(he=he.map(nt=>Object.values(nt).reverse()));const We=(Ae==="u"?b.getPredecessors:b.getSuccessors).bind(b),Xe=AN(b,he,oe,We),qe=SN(b,he,Xe.root,Xe.align,z,te,Pe==="r");Pe==="r"&&Object.keys(qe).forEach(nt=>{qe[nt]=-qe[nt]}),le[Ae+Pe]=qe})});const ge=wN(b,le);return CN(le,ge),bN(le,E)},Bz=(b,x,E)=>(z,te,re)=>{const oe=z.getNode(te),le=z.getNode(re);let he=0,ge=0;if(he+=oe.data.width/2,oe.data.hasOwnProperty("labelpos"))switch((oe.data.labelpos||"").toLowerCase()){case"l":ge=-oe.data.width/2;break;case"r":ge=oe.data.width/2;break}if(ge&&(he+=E?ge:-ge),ge=0,he+=(oe.data.dummy?x:b)/2,he+=(le.data.dummy?x:b)/2,he+=le.data.width/2,le.data.labelpos)switch((le.data.labelpos||"").toLowerCase()){case"l":ge=le.data.width/2;break;case"r":ge=-le.data.width/2;break}return ge&&(he+=E?ge:-ge),ge=0,he},Rz=(b,x)=>b.getNode(x).data.width||0,kz=(b,x)=>{const{ranksep:E=0}=x||{},z=t2(b);let te=0;z==null||z.forEach(re=>{const oe=re.map(he=>b.getNode(he).data.height),le=Math.max(...oe,0);re==null||re.forEach(he=>{b.getNode(he).data.y=te+le/2}),te+=le+E})},Fz=(b,x)=>{const{align:E,nodesep:z=0,edgesep:te=0}=x||{},re=t2(b),oe=Object.assign(yN(b,re),xN(b,re)),le={};let he=[];["u","d"].forEach(Ae=>{he=Ae==="u"?re:Object.values(re).reverse(),["l","r"].forEach(Pe=>{Pe==="r"&&(he=he.map(nt=>Object.values(nt).reverse()));const We=(Ae==="u"?b.getPredecessors:b.getSuccessors).bind(b),Xe=AN(b,he,oe,We),qe=SN(b,he,Xe.root,Xe.align,z,te,Pe==="r");Pe==="r"&&Object.keys(qe).forEach(nt=>qe[nt]=-qe[nt]),le[Ae+Pe]=qe})});const ge=wN(b,le);return ge&&CN(le,ge),bN(le,E)},_z=(b,x)=>{var E;const z=eN(b);kz(z,x);const te=Fz(z,x);(E=Object.keys(te))===null||E===void 0||E.forEach(re=>{z.getNode(re).data.x=te[re]})},PN=b=>{const x={},E=z=>{var te;const re=b.getNode(z);if(!re)return 0;if(x[z])return re.data.rank;x[z]=!0;let oe;return(te=b.getRelatedEdges(z,"out"))===null||te===void 0||te.forEach(le=>{const he=E(le.target),ge=le.data.minlen,Ae=he-ge;Ae&&(oe===void 0||Ae<oe)&&(oe=Ae)}),oe||(oe=0),re.data.rank=oe,oe};b.getAllNodes().filter(z=>b.getRelatedEdges(z.id,"in").length===0).forEach(z=>E(z.id))},zz=b=>{const x={};let E;const z=oe=>{var le;const he=b.getNode(oe);if(!he)return 0;if(x[oe])return he.data.rank;x[oe]=!0;let ge;return(le=b.getRelatedEdges(oe,"out"))===null||le===void 0||le.forEach(Ae=>{const Pe=z(Ae.target),We=Ae.data.minlen,Xe=Pe-We;Xe&&(ge===void 0||Xe<ge)&&(ge=Xe)}),ge||(ge=0),(E===void 0||ge<E)&&(E=ge),he.data.rank=ge,ge};b.getAllNodes().filter(oe=>b.getRelatedEdges(oe.id,"in").length===0).forEach(oe=>{oe&&z(oe.id)}),E===void 0&&(E=0);const te={},re=(oe,le)=>{var he;const ge=b.getNode(oe),Ae=isNaN(ge.data.layer)?le:ge.data.layer;(ge.data.rank===void 0||ge.data.rank<Ae)&&(ge.data.rank=Ae),!te[oe]&&(te[oe]=!0,(he=b.getRelatedEdges(oe,"out"))===null||he===void 0||he.forEach(Pe=>{re(Pe.target,Ae+Pe.data.minlen)}))};b.getAllNodes().forEach(oe=>{const le=oe.data;le&&(isNaN(le.layer)?le.rank-=E:re(oe.id,le.layer))})},vx=(b,x)=>b.getNode(x.target).data.rank-b.getNode(x.source).data.rank-x.data.minlen,jz=b=>{const x=new qd({tree:[]}),E=b.getAllNodes()[0],z=b.getAllNodes().length;x.addNode(E);let te,re;for(;Wz(x,b)<z;)te=MN(x,b),re=x.hasNode(te.source)?vx(b,te):-vx(b,te),LN(x,b,re);return x},Wz=(b,x)=>{const E=z=>{x.getRelatedEdges(z,"both").forEach(te=>{const re=te.source,oe=z===re?te.target:re;!b.hasNode(oe)&&!vx(x,te)&&(b.addNode({id:oe,data:{}}),b.addEdge({id:te.id,source:z,target:oe,data:{}}),E(oe))})};return b.getAllNodes().forEach(z=>E(z.id)),b.getAllNodes().length},Uz=b=>{const x=new qd({tree:[]}),E=b.getAllNodes()[0],z=b.getAllNodes().length;x.addNode(E);let te,re;for(;Gz(x,b)<z;)te=MN(x,b),re=x.hasNode(te.source)?vx(b,te):-vx(b,te),LN(x,b,re);return x},Gz=(b,x)=>{const E=z=>{var te;(te=x.getRelatedEdges(z,"both"))===null||te===void 0||te.forEach(re=>{const oe=re.source,le=z===oe?re.target:oe;!b.hasNode(le)&&(x.getNode(le).data.layer!==void 0||!vx(x,re))&&(b.addNode({id:le,data:{}}),b.addEdge({id:re.id,source:z,target:le,data:{}}),E(le))})};return b.getAllNodes().forEach(z=>E(z.id)),b.getAllNodes().length},MN=(b,x)=>q5(x.getAllEdges(),E=>b.hasNode(E.source)!==b.hasNode(E.target)?vx(x,E):1/0),LN=(b,x,E)=>{b.getAllNodes().forEach(z=>{const te=x.getNode(z.id);te.data.rank||(te.data.rank=0),te.data.rank+=E})},Hz=b=>{const x=Q7(b);PN(x);const E=jz(x);DN(E),TN(E,x);let z,te;for(;z=Zz(E);)te=Yz(E,x,z),Xz(E,x,z,te)},TN=(b,x)=>{let E=aN(b,b.getAllNodes(),"post",!1);E=E.slice(0,(E==null?void 0:E.length)-1),E.forEach(z=>{Vz(b,x,z)})},Vz=(b,x,E)=>{const te=b.getNode(E).data.parent,re=b.getRelatedEdges(E,"both").find(oe=>oe.target===te||oe.source===te);re.data.cutvalue=Kz(b,x,E)},Kz=(b,x,E)=>{const te=b.getNode(E).data.parent;let re=!0,oe=x.getRelatedEdges(E,"out").find(he=>he.target===te),le=0;return oe||(re=!1,oe=x.getRelatedEdges(te,"out").find(he=>he.target===E)),le=oe.data.weight,x.getRelatedEdges(E,"both").forEach(he=>{const ge=he.source===E,Ae=ge?he.target:he.source;if(Ae!==te){const Pe=ge===re,We=he.data.weight;if(le+=Pe?We:-We,Jz(b,E,Ae)){const Xe=b.getRelatedEdges(E,"both").find(qe=>qe.source===Ae||qe.target===Ae).data.cutvalue;le+=Pe?-Xe:Xe}}}),le},DN=(b,x=b.getAllNodes()[0].id)=>{IN(b,{},1,x)},IN=(b,x,E,z,te)=>{var re;const oe=E;let le=E;const he=b.getNode(z);return x[z]=!0,(re=b.getNeighbors(z))===null||re===void 0||re.forEach(ge=>{x[ge.id]||(le=IN(b,x,le,ge.id,z))}),he.data.low=oe,he.data.lim=le++,te?he.data.parent=te:delete he.data.parent,le},Zz=b=>b.getAllEdges().find(x=>x.data.cutvalue<0),Yz=(b,x,E)=>{let z=E.source,te=E.target;x.getRelatedEdges(z,"out").find(Ae=>Ae.target===te)||(z=E.target,te=E.source);const re=b.getNode(z),oe=b.getNode(te);let le=re,he=!1;re.data.lim>oe.data.lim&&(le=oe,he=!0);const ge=x.getAllEdges().filter(Ae=>he===ON(b.getNode(Ae.source),le)&&he!==ON(b.getNode(Ae.target),le));return q5(ge,Ae=>vx(x,Ae))},Xz=(b,x,E,z)=>{const te=b.getRelatedEdges(E.source,"both").find(re=>re.source===E.target||re.target===E.target);te&&b.removeEdge(te.id),b.addEdge({id:`e${Math.random()}`,source:z.source,target:z.target,data:{}}),DN(b),TN(b,x),Qz(b,x)},Qz=(b,x)=>{const E=b.getAllNodes().find(te=>!te.data.parent);let z=aN(b,E,"pre",!1);z=z.slice(1),z.forEach(te=>{const re=b.getNode(te).data.parent;let oe=x.getRelatedEdges(te,"out").find(he=>he.target===re),le=!1;!oe&&x.hasNode(re)&&(oe=x.getRelatedEdges(re,"out").find(he=>he.target===te),le=!0),x.getNode(te).data.rank=(x.hasNode(re)&&x.getNode(re).data.rank||0)+(le?oe==null?void 0:oe.data.minlen:-(oe==null?void 0:oe.data.minlen))})},Jz=(b,x,E)=>b.getRelatedEdges(x,"both").find(z=>z.source===E||z.target===E),ON=(b,x)=>x.data.low<=b.data.lim&&b.data.lim<=x.data.lim,qz=(b,x)=>{switch(x){case"network-simplex":ej(b);break;case"tight-tree":NN(b);break;case"longest-path":$z(b);break;default:NN(b)}},$z=PN,NN=b=>{zz(b),Uz(b)},ej=b=>{Hz(b)},tj=(b,x)=>{const{edgeLabelSpace:E,keepNodeOrder:z,prevGraph:te,rankdir:re,ranksep:oe}=x;!z&&te&&rj(b,te);const le=uj(b);E&&(x.ranksep=cj(le,{rankdir:re,ranksep:oe}));let he;try{he=nj(le,x)}catch(ge){if(ge.message==="Not possible to find intersection inside of the rectangle"){console.error(`The following error may be caused by improper layer setting, please make sure your manual layer setting does not violate the graph's structure:
`,ge);return}throw ge}return ij(b,le),he},nj=(b,x)=>{const{acyclicer:E,ranker:z,rankdir:te="tb",nodeOrder:re,keepNodeOrder:oe,align:le,nodesep:he=50,edgesep:ge=20,ranksep:Ae=50}=x;xj(b),K7(b,E);const{nestingRoot:Pe,nodeRankFactor:We}=oz(b);qz(eN(b),z),hj(b),q7(b,We),lz(b,Pe),J7(b),dj(b),fj(b);const Xe=[];cz(b,Xe),Dz(b,Xe),ez(b),oe&&Mz(b,re),Pz(b,oe),Ej(b),tz(b,te),_z(b,{align:le,nodesep:he,edgesep:ge,ranksep:Ae}),Aj(b),yj(b),dz(b,Xe),vj(b),nz(b,te);const{width:qe,height:nt}=gj(b);return pj(b),mj(b),Y7(b),{width:qe,height:nt}},rj=(b,x)=>{b.getAllNodes().forEach(E=>{const z=b.getNode(E.id);if(x.hasNode(E.id)){const te=x.getNode(E.id);z.data.fixorder=te.data._order,delete te.data._order}else delete z.data.fixorder})},ij=(b,x)=>{b.getAllNodes().forEach(E=>{var z;const te=b.getNode(E.id);if(te){const re=x.getNode(E.id);te.data.x=re.data.x,te.data.y=re.data.y,te.data._order=re.data.order,te.data._rank=re.data.rank,!((z=x.getChildren(E.id))===null||z===void 0)&&z.length&&(te.data.width=re.data.width,te.data.height=re.data.height)}}),b.getAllEdges().forEach(E=>{const z=b.getEdge(E.id),te=x.getEdge(E.id);z.data.points=te?te.data.points:[],te&&te.data.hasOwnProperty("x")&&(z.data.x=te.data.x,z.data.y=te.data.y)})},oj=["width","height","layer","fixorder"],aj={width:0,height:0},sj=["minlen","weight","width","height","labeloffset"],lj={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},nD=["labelpos"],uj=b=>{const x=new qd({tree:[]});return b.getAllNodes().forEach(E=>{const z=RN(b.getNode(E.id).data),te=Object.assign(Object.assign({},aj),z),re=BN(te,oj);x.hasNode(E.id)||x.addNode({id:E.id,data:Object.assign({},re)});const oe=b.hasTreeStructure("combo")?b.getParent(E.id,"combo"):b.getParent(E.id);El(oe)||(x.hasNode(oe.id)||x.addNode(Object.assign({},oe)),x.setParent(E.id,oe.id))}),b.getAllEdges().forEach(E=>{const z=RN(b.getEdge(E.id).data),te={};nD==null||nD.forEach(re=>{z[re]!==void 0&&(te[re]=z[re])}),x.addEdge({id:E.id,source:E.source,target:E.target,data:Object.assign({},lj,BN(z,sj),te)})}),x},cj=(b,x)=>{const{ranksep:E=0,rankdir:z}=x;return b.getAllNodes().forEach(te=>{isNaN(te.data.layer)||te.data.layer||(te.data.layer=0)}),b.getAllEdges().forEach(te=>{var re;te.data.minlen*=2,((re=te.data.labelpos)===null||re===void 0?void 0:re.toLowerCase())!=="c"&&(z==="TB"||z==="BT"?te.data.width+=te.data.labeloffset:te.data.height+=te.data.labeloffset)}),E/2},hj=b=>{b.getAllEdges().forEach(x=>{if(x.data.width&&x.data.height){const E=b.getNode(x.source),z=b.getNode(x.target),te={e:x,rank:(z.data.rank-E.data.rank)/2+E.data.rank};DS(b,"edge-proxy",te,"_ep")}})},dj=b=>{let x=0;return b.getAllNodes().forEach(E=>{var z,te;E.data.borderTop&&(E.data.minRank=(z=b.getNode(E.data.borderTop))===null||z===void 0?void 0:z.data.rank,E.data.maxRank=(te=b.getNode(E.data.borderBottom))===null||te===void 0?void 0:te.data.rank,x=Math.max(x,E.data.maxRank||-1/0))}),x},fj=b=>{b.getAllNodes().forEach(x=>{x.data.dummy==="edge-proxy"&&(b.getEdge(x.data.e.id).data.labelRank=x.data.rank,b.removeNode(x.id))})},gj=(b,x)=>{let E,z=0,te,re=0;const{marginx:oe=0,marginy:le=0}=x||{},he=ge=>{if(!ge.data)return;const Ae=ge.data.x,Pe=ge.data.y,We=ge.data.width,Xe=ge.data.height;!isNaN(Ae)&&!isNaN(We)&&(E===void 0&&(E=Ae-We/2),E=Math.min(E,Ae-We/2),z=Math.max(z,Ae+We/2)),!isNaN(Pe)&&!isNaN(Xe)&&(te===void 0&&(te=Pe-Xe/2),te=Math.min(te,Pe-Xe/2),re=Math.max(re,Pe+Xe/2))};return b.getAllNodes().forEach(ge=>{he(ge)}),b.getAllEdges().forEach(ge=>{ge!=null&&ge.data.hasOwnProperty("x")&&he(ge)}),E-=oe,te-=le,b.getAllNodes().forEach(ge=>{ge.data.x-=E,ge.data.y-=te}),b.getAllEdges().forEach(ge=>{var Ae;(Ae=ge.data.points)===null||Ae===void 0||Ae.forEach(Pe=>{Pe.x-=E,Pe.y-=te}),ge.data.hasOwnProperty("x")&&(ge.data.x-=E),ge.data.hasOwnProperty("y")&&(ge.data.y-=te)}),{width:z-E+oe,height:re-te+le}},pj=b=>{b.getAllEdges().forEach(x=>{const E=b.getNode(x.source),z=b.getNode(x.target);let te,re;x.data.points?(te=x.data.points[0],re=x.data.points[x.data.points.length-1]):(x.data.points=[],te={x:z.data.x,y:z.data.y},re={x:E.data.x,y:E.data.y}),x.data.points.unshift(nN(E.data,te)),x.data.points.push(nN(z.data,re))})},vj=b=>{b.getAllEdges().forEach(x=>{if(x.data.hasOwnProperty("x"))switch((x.data.labelpos==="l"||x.data.labelpos==="r")&&(x.data.width-=x.data.labeloffset),x.data.labelpos){case"l":x.data.x-=x.data.width/2+x.data.labeloffset;break;case"r":x.data.x+=x.data.width/2+x.data.labeloffset;break}})},mj=b=>{b.getAllEdges().forEach(x=>{var E;x.data.reversed&&((E=x.data.points)===null||E===void 0||E.reverse())})},yj=b=>{b.getAllNodes().forEach(x=>{var E,z,te;if(!((E=b.getChildren(x.id))===null||E===void 0)&&E.length){const re=b.getNode(x.id),oe=b.getNode(re.data.borderTop),le=b.getNode(re.data.borderBottom),he=b.getNode(re.data.borderLeft[((z=re.data.borderLeft)===null||z===void 0?void 0:z.length)-1]),ge=b.getNode(re.data.borderRight[((te=re.data.borderRight)===null||te===void 0?void 0:te.length)-1]);re.data.width=Math.abs((ge==null?void 0:ge.data.x)-(he==null?void 0:he.data.x))||10,re.data.height=Math.abs((le==null?void 0:le.data.y)-(oe==null?void 0:oe.data.y))||10,re.data.x=((he==null?void 0:he.data.x)||0)+re.data.width/2,re.data.y=((oe==null?void 0:oe.data.y)||0)+re.data.height/2}}),b.getAllNodes().forEach(x=>{x.data.dummy==="border"&&b.removeNode(x.id)})},xj=b=>{b.getAllEdges().forEach(x=>{if(x.source===x.target){const E=b.getNode(x.source);E.data.selfEdges||(E.data.selfEdges=[]),E.data.selfEdges.push(x),b.removeEdge(x.id)}})},Ej=b=>{const x=t2(b);x==null||x.forEach(E=>{let z=0;E==null||E.forEach((te,re)=>{var oe;const le=b.getNode(te);le.data.order=re+z,(oe=le.data.selfEdges)===null||oe===void 0||oe.forEach(he=>{DS(b,"selfedge",{width:he.data.width,height:he.data.height,rank:le.data.rank,order:re+ ++z,e:he},"_se")}),delete le.data.selfEdges})})},Aj=b=>{b.getAllNodes().forEach(x=>{const E=b.getNode(x.id);if(E.data.dummy==="selfedge"){const z=b.getNode(E.data.e.source),te=z.data.x+z.data.width/2,re=z.data.y,oe=E.data.x-te,le=z.data.height/2;b.hasEdge(E.data.e.id)?b.updateEdgeData(E.data.e.id,E.data.e.data):b.addEdge({id:E.data.e.id,source:E.data.e.source,target:E.data.e.target,data:E.data.e.data}),b.removeNode(x.id),E.data.e.data.points=[{x:te+2*oe/3,y:re-le},{x:te+5*oe/6,y:re-le},{y:re,x:te+oe},{x:te+5*oe/6,y:re+le},{x:te+2*oe/3,y:re+le}],E.data.e.data.x=E.data.x,E.data.e.data.y=E.data.y}})},BN=(b,x)=>{const E={};return x==null||x.forEach(z=>{b[z]!==void 0&&(E[z]=+b[z])}),E},RN=(b={})=>{const x={};return Object.keys(b).forEach(E=>{x[E.toLowerCase()]=b[E]}),x};function n2(b){if(!b)return[0,0,0];if(As(b))return[b,b,b];if(b.length===0)return[0,0,0];const[x,E=x,z=x]=b;return[x,E,z]}function GE(b,x){let E;return Ys(x)?E=x:As(x)?E=()=>x:E=()=>b,E}function rD(b,x,E=!0){return!x&&x!==0?z=>{const{size:te}=z.data||{};return te?Array.isArray(te)?E?Math.max(...te)||b:te:lh(te)&&te.width&&te.height?E?Math.max(te.width,te.height)||b:[te.width,te.height]:te:b}:Ys(x)?x:As(x)?()=>x:Array.isArray(x)?()=>E?Math.max(...x)||b:x:lh(x)&&x.width&&x.height?()=>E?Math.max(x.width,x.height)||b:[x.width,x.height]:()=>b}const iD=(b,x,E=10)=>{let z;const te=typeof x=="function"?x:()=>x||0;return b?Array.isArray(b)?z=oe=>b:Ys(b)?z=b:z=oe=>b:z=oe=>{var le,he,ge;if(!((le=oe.data)===null||le===void 0)&&le.bboxSize)return(he=oe.data)===null||he===void 0?void 0:he.bboxSize;if(!((ge=oe.data)===null||ge===void 0)&&ge.size){const Ae=oe.data.size;return Array.isArray(Ae)?Ae:lh(Ae)?[Ae.width,Ae.height]:Ae}return E},oe=>{const le=z(oe),he=te(oe);return Math.max(...n2(le))+he}},oD=b=>{if(b===null)return b;if(b instanceof Date)return new Date(b.getTime());if(b instanceof Array){const x=[];return b.forEach(E=>{x.push(E)}),x.map(E=>oD(E))}if(typeof b=="object"){const x={};return Object.keys(b).forEach(E=>{x[E]=oD(b[E])}),x}return b},C0=(b,x)=>{const E=oD(b);return E.data=E.data||{},x&&(As(E.data.x)||(E.data.x=Math.random()*x[0]),As(E.data.y)||(E.data.y=Math.random()*x[1])),E},Sj={rankdir:"TB",nodesep:50,ranksep:50,edgeLabelSpace:!0,ranker:"tight-tree",controlPoints:!1,radial:!1,focusNode:null};class wj{constructor(x={}){this.options=x,this.id="antv-dagre",this.options=Object.assign(Object.assign({},Sj),x)}execute(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,x,E)})}assign(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,x,E)})}genericDagreLayout(x,E,z){return(0,Cn.mG)(this,void 0,void 0,function*(){const te=Object.assign(Object.assign({},this.options),z),{nodeSize:re,align:oe,rankdir:le="TB",ranksep:he,nodesep:ge,ranksepFunc:Ae,nodesepFunc:Pe,edgeLabelSpace:We,ranker:Xe,nodeOrder:qe,begin:nt,controlPoints:at,radial:pt,sortByCombo:mt,preset:bt}=te,jt=new qd({tree:[]}),Ut=GE(he||50,Ae),Kt=GE(ge||50,Pe);let Qt=Kt,Vt=Ut;(le==="LR"||le==="RL")&&(Qt=Ut,Vt=Kt);const vn=rD(10,re,!1),wn=E.getAllNodes(),kn=E.getAllEdges();wn.forEach(Sr=>{const Tr=n2(vn(Sr)),ri=Vt(Sr),Cr=Qt(Sr),yi=Tr[0]+2*Cr,Co=Tr[1]+2*ri,wo=Sr.data.layer;As(wo)?jt.addNode({id:Sr.id,data:{width:yi,height:Co,layer:wo}}):jt.addNode({id:Sr.id,data:{width:yi,height:Co}})}),mt&&(jt.attachTreeStructure("combo"),wn.forEach(Sr=>{const{parentId:Tr}=Sr.data;Tr!==void 0&&jt.hasNode(Tr)&&jt.setParent(Sr.id,Tr,"combo")})),kn.forEach(Sr=>{jt.addEdge({id:Sr.id,source:Sr.source,target:Sr.target,data:{weight:Sr.data.weight||1}})});let Vn;bt!=null&&bt.length&&(Vn=new qd({nodes:bt})),tj(jt,{prevGraph:Vn,edgeLabelSpace:We,keepNodeOrder:!!qe,nodeOrder:qe||[],acyclicer:"greedy",ranker:Xe,rankdir:le,nodesep:ge,align:oe});const vr=[0,0];if(nt){let Sr=1/0,Tr=1/0;jt.getAllNodes().forEach(ri=>{Sr>ri.data.x&&(Sr=ri.data.x),Tr>ri.data.y&&(Tr=ri.data.y)}),jt.getAllEdges().forEach(ri=>{var Cr;(Cr=ri.data.points)===null||Cr===void 0||Cr.forEach(yi=>{Sr>yi.x&&(Sr=yi.x),Tr>yi.y&&(Tr=yi.y)})}),vr[0]=nt[0]-Sr,vr[1]=nt[1]-Tr}const or=le==="LR"||le==="RL";if(!pt){const Sr=new Set,ri=le==="BT"||le==="RL"?(wo,vi)=>vi-wo:(wo,vi)=>wo-vi;jt.getAllNodes().forEach(wo=>{wo.data.x=wo.data.x+vr[0],wo.data.y=wo.data.y+vr[1],Sr.add(or?wo.data.x:wo.data.y)});const Cr=Array.from(Sr).sort(ri),yi=or?(wo,vi)=>wo.x!==vi.x:(wo,vi)=>wo.y!==vi.y,Co=or?(wo,vi,Mi)=>{const $i=Math.max(vi.y,Mi.y),Lo=Math.min(vi.y,Mi.y);return wo.filter(Jo=>Jo.y<=$i&&Jo.y>=Lo)}:(wo,vi,Mi)=>{const $i=Math.max(vi.x,Mi.x),Lo=Math.min(vi.x,Mi.x);return wo.filter(Jo=>Jo.x<=$i&&Jo.x>=Lo)};jt.getAllEdges().forEach((wo,vi)=>{var Mi;We&&at&&wo.data.type!=="loop"&&(wo.data.controlPoints=Cj((Mi=wo.data.points)===null||Mi===void 0?void 0:Mi.map(({x:$i,y:Lo})=>({x:$i+vr[0],y:Lo+vr[1]})),jt.getNode(wo.source),jt.getNode(wo.target),Cr,or,yi,Co))})}let Or=[];Or=jt.getAllNodes().map(Sr=>C0(Sr));const qr=jt.getAllEdges();return x&&(Or.forEach(Sr=>{E.mergeNodeData(Sr.id,{x:Sr.data.x,y:Sr.data.y})}),qr.forEach(Sr=>{E.mergeEdgeData(Sr.id,{controlPoints:Sr.data.controlPoints})})),{nodes:Or,edges:qr}})}}const Cj=(b,x,E,z,te,re,oe)=>{let le=(b==null?void 0:b.slice(1,b.length-1))||[];if(x&&E){let{x:he,y:ge}=x.data,{x:Ae,y:Pe}=E.data;if(te&&(he=x.data.y,ge=x.data.x,Ae=E.data.y,Pe=E.data.x),Pe!==ge&&he!==Ae){const We=z.indexOf(ge),Xe=z[We+1];if(Xe){const at=le[0],pt=te?{x:(ge+Xe)/2,y:(at==null?void 0:at.y)||Ae}:{x:(at==null?void 0:at.x)||Ae,y:(ge+Xe)/2};(!at||re(at,pt))&&le.unshift(pt)}const qe=z.indexOf(Pe),nt=Math.abs(qe-We);if(nt===1)le=oe(le,x.data,E.data),le.length||le.push(te?{x:(ge+Pe)/2,y:he}:{x:he,y:(ge+Pe)/2});else if(nt>1){const at=z[qe-1];if(at){const pt=le[le.length-1],mt=te?{x:(Pe+at)/2,y:(pt==null?void 0:pt.y)||Ae}:{x:(pt==null?void 0:pt.x)||he,y:(Pe+at)/2};(!pt||re(pt,mt))&&le.push(mt)}}}}return le},HE=(b,x,E)=>{const z=b.getAllNodes(),te=b.getAllEdges();if(!(z!=null&&z.length))return{nodes:[],edges:te};if(z.length===1)return x&&b.mergeNodeData(z[0].id,{x:E[0],y:E[1]}),{nodes:[Object.assign(Object.assign({},z[0]),{data:Object.assign(Object.assign({},z[0].data),{x:E[0],y:E[1]})})],edges:te}},bj={radius:null,startRadius:null,endRadius:null,startAngle:0,endAngle:2*Math.PI,clockwise:!0,divisions:1,ordering:null,angleRatio:1};class Pj{constructor(x={}){this.options=x,this.id="circular",this.options=Object.assign(Object.assign({},bj),x)}execute(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){return this.genericCircularLayout(!1,x,E)})}assign(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){yield this.genericCircularLayout(!0,x,E)})}genericCircularLayout(x,E,z){return(0,Cn.mG)(this,void 0,void 0,function*(){const te=Object.assign(Object.assign({},this.options),z),{width:re,height:oe,center:le,divisions:he,startAngle:ge=0,endAngle:Ae=2*Math.PI,angleRatio:Pe,ordering:We,clockwise:Xe,nodeSpacing:qe,nodeSize:nt}=te,at=E.getAllNodes(),pt=E.getAllEdges(),[mt,bt,jt]=Lj(re,oe,le),Ut=at==null?void 0:at.length;if(!Ut||Ut===1)return HE(E,x,jt);const Kt=(Ae-ge)/Ut;let{radius:Qt,startRadius:Vt,endRadius:vn}=te;if(qe){const or=GE(10,qe),Or=rD(10,nt);let qr=-1/0;at.forEach(Sr=>{const Tr=Or(Sr);qr<Tr&&(qr=Tr)});let wr=0;at.forEach((Sr,Tr)=>{Tr===0?wr+=qr||10:wr+=(or(Sr)||0)+(qr||10)}),Qt=wr/(2*Math.PI)}else!Qt&&!Vt&&!vn?Qt=Math.min(bt,mt)/2:!Vt&&vn?Vt=vn:Vt&&!vn&&(vn=Vt);const wn=Kt*Pe;let kn=[];We==="topology"?kn=kN(E,at):We==="topology-directed"?kn=kN(E,at,!0):We==="degree"?kn=Mj(E,at):kn=at.map(or=>C0(or));const Vn=Math.ceil(Ut/he);for(let or=0;or<Ut;++or){let Or=Qt;!Or&&Vt!==null&&vn!==null&&(Or=Vt+or*(vn-Vt)/(Ut-1)),Or||(Or=10+or*100/(Ut-1));let qr=ge+or%Vn*wn+2*Math.PI/he*Math.floor(or/Vn);Xe||(qr=Ae-or%Vn*wn-2*Math.PI/he*Math.floor(or/Vn)),kn[or].data.x=jt[0]+Math.cos(qr)*Or,kn[or].data.y=jt[1]+Math.sin(qr)*Or}return x&&kn.forEach(or=>{E.mergeNodeData(or.id,{x:or.data.x,y:or.data.y})}),{nodes:kn,edges:pt}})}}const kN=(b,x,E=!1)=>{const z=[C0(x[0])],te={},re=x.length;te[x[0].id]=!0;let oe=0;return x.forEach((le,he)=>{if(he!==0)if((he===re-1||b.getDegree(le.id,"both")!==b.getDegree(x[he+1].id,"both")||b.areNeighbors(z[oe].id,le.id))&&!te[le.id])z.push(C0(le)),te[le.id]=!0,oe++;else{const ge=E?b.getSuccessors(z[oe].id):b.getNeighbors(z[oe].id);let Ae=!1;for(let We=0;We<ge.length;We++){const Xe=ge[We];if(b.getDegree(Xe.id)===b.getDegree(le.id)&&!te[Xe.id]){z.push(C0(Xe)),te[Xe.id]=!0,Ae=!0;break}}let Pe=0;for(;!Ae&&(te[x[Pe].id]||(z.push(C0(x[Pe])),te[x[Pe].id]=!0,Ae=!0),Pe++,Pe!==re););}}),z};function Mj(b,x){const E=[];return x.forEach((z,te)=>{E.push(C0(z))}),E.sort((z,te)=>b.getDegree(z.id,"both")-b.getDegree(te.id,"both")),E}const Lj=(b,x,E)=>{let z=b,te=x,re=E;return!z&&typeof window!="undefined"&&(z=window.innerWidth),!te&&typeof window!="undefined"&&(te=window.innerHeight),re||(re=[z/2,te/2]),[z,te,re]},e1=Array.isArray,Tj={nodeSize:30,nodeSpacing:10,preventOverlap:!1,sweep:void 0,equidistant:!1,startAngle:3/2*Math.PI,clockwise:!0,maxLevelDiff:void 0,sortBy:"degree"};class aD{constructor(x={}){this.options=x,this.id="concentric",this.options=Object.assign(Object.assign({},Tj),x)}execute(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){return this.genericConcentricLayout(!1,x,E)})}assign(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){yield this.genericConcentricLayout(!0,x,E)})}genericConcentricLayout(x,E,z){return(0,Cn.mG)(this,void 0,void 0,function*(){const te=Object.assign(Object.assign({},this.options),z),{center:re,width:oe,height:le,sortBy:he,maxLevelDiff:ge,sweep:Ae,clockwise:Pe,equidistant:We,preventOverlap:Xe,startAngle:qe=3/2*Math.PI,nodeSize:nt,nodeSpacing:at}=te,pt=E.getAllNodes(),mt=E.getAllEdges(),bt=!oe&&typeof window!="undefined"?window.innerWidth:oe,jt=!le&&typeof window!="undefined"?window.innerHeight:le,Ut=re||[bt/2,jt/2];if(!(pt!=null&&pt.length)||pt.length===1)return HE(E,x,Ut);const Kt=[];let Qt,Vt=0;e1(nt)?Qt=Math.max(nt[0],nt[1]):Ys(nt)?(Qt=-1/0,pt.forEach(Sr=>{const Tr=Math.max(...n2(nt(Sr)));Tr>Qt&&(Qt=Tr)})):Qt=nt,e1(at)?Vt=Math.max(at[0],at[1]):As(at)&&(Vt=at),pt.forEach(Sr=>{const Tr=C0(Sr);Kt.push(Tr);let ri=Qt;const{data:Cr}=Tr;e1(Cr.size)?ri=Math.max(Cr.size[0],Cr.size[1]):As(Cr.size)?ri=Cr.size:lh(Cr.size)&&(ri=Math.max(Cr.size.width,Cr.size.height)),Qt=Math.max(Qt,ri),Ys(at)&&(Vt=Math.max(at(Sr),Vt))});const vn={};Kt.forEach((Sr,Tr)=>{vn[Sr.id]=Tr});let wn=he;(!qu(wn)||Kt[0].data[wn]===void 0)&&(wn="degree"),wn==="degree"?Kt.sort((Sr,Tr)=>E.getDegree(Tr.id,"both")-E.getDegree(Sr.id,"both")):Kt.sort((Sr,Tr)=>Tr.data[wn]-Sr.data[wn]);const kn=Kt[0],Vn=(ge||(wn==="degree"?E.getDegree(kn.id,"both"):kn.data[wn]))/4,vr=[{nodes:[]}];let or=vr[0];Kt.forEach(Sr=>{if(or.nodes.length>0){const Tr=Math.abs(wn==="degree"?E.getDegree(or.nodes[0].id,"both")-E.getDegree(Sr.id,"both"):or.nodes[0].data[wn]-Sr.data[wn]);Vn&&Tr>=Vn&&(or={nodes:[]},vr.push(or))}or.nodes.push(Sr)});let Or=Qt+Vt;if(!Xe){const Sr=vr.length>0&&vr[0].nodes.length>1,ri=(Math.min(bt,jt)/2-Or)/(vr.length+(Sr?1:0));Or=Math.min(Or,ri)}let qr=0;if(vr.forEach(Sr=>{const Tr=Ae===void 0?2*Math.PI-2*Math.PI/Sr.nodes.length:Ae;if(Sr.dTheta=Tr/Math.max(1,Sr.nodes.length-1),Sr.nodes.length>1&&Xe){const ri=Math.cos(Sr.dTheta)-Math.cos(0),Cr=Math.sin(Sr.dTheta)-Math.sin(0),yi=Math.sqrt(Or*Or/(ri*ri+Cr*Cr));qr=Math.max(yi,qr)}Sr.r=qr,qr+=Or}),We){let Sr=0,Tr=0;for(let ri=0;ri<vr.length;ri++){const yi=(vr[ri].r||0)-Tr;Sr=Math.max(Sr,yi)}Tr=0,vr.forEach((ri,Cr)=>{Cr===0&&(Tr=ri.r||0),ri.r=Tr,Tr+=Sr})}return vr.forEach(Sr=>{const Tr=Sr.dTheta||0,ri=Sr.r||0;Sr.nodes.forEach((Cr,yi)=>{const Co=qe+(Pe?1:-1)*Tr*yi;Cr.data.x=Ut[0]+ri*Math.cos(Co),Cr.data.y=Ut[1]+ri*Math.sin(Co)})}),x&&Kt.forEach(Sr=>E.mergeNodeData(Sr.id,{x:Sr.data.x,y:Sr.data.y})),{nodes:Kt,edges:mt}})}}function Dj(b){const x=+this._x.call(null,b),E=+this._y.call(null,b);return FN(this.cover(x,E),x,E,b)}function FN(b,x,E,z){if(isNaN(x)||isNaN(E))return b;var te,re=b._root,oe={data:z},le=b._x0,he=b._y0,ge=b._x1,Ae=b._y1,Pe,We,Xe,qe,nt,at,pt,mt;if(!re)return b._root=oe,b;for(;re.length;)if((nt=x>=(Pe=(le+ge)/2))?le=Pe:ge=Pe,(at=E>=(We=(he+Ae)/2))?he=We:Ae=We,te=re,!(re=re[pt=at<<1|nt]))return te[pt]=oe,b;if(Xe=+b._x.call(null,re.data),qe=+b._y.call(null,re.data),x===Xe&&E===qe)return oe.next=re,te?te[pt]=oe:b._root=oe,b;do te=te?te[pt]=new Array(4):b._root=new Array(4),(nt=x>=(Pe=(le+ge)/2))?le=Pe:ge=Pe,(at=E>=(We=(he+Ae)/2))?he=We:Ae=We;while((pt=at<<1|nt)===(mt=(qe>=We)<<1|Xe>=Pe));return te[mt]=re,te[pt]=oe,b}function Ij(b){var x,E,z=b.length,te,re,oe=new Array(z),le=new Array(z),he=1/0,ge=1/0,Ae=-1/0,Pe=-1/0;for(E=0;E<z;++E)isNaN(te=+this._x.call(null,x=b[E]))||isNaN(re=+this._y.call(null,x))||(oe[E]=te,le[E]=re,te<he&&(he=te),te>Ae&&(Ae=te),re<ge&&(ge=re),re>Pe&&(Pe=re));if(he>Ae||ge>Pe)return this;for(this.cover(he,ge).cover(Ae,Pe),E=0;E<z;++E)FN(this,oe[E],le[E],b[E]);return this}function Oj(b,x){if(isNaN(b=+b)||isNaN(x=+x))return this;var E=this._x0,z=this._y0,te=this._x1,re=this._y1;if(isNaN(E))te=(E=Math.floor(b))+1,re=(z=Math.floor(x))+1;else{for(var oe=te-E||1,le=this._root,he,ge;E>b||b>=te||z>x||x>=re;)switch(ge=(x<z)<<1|b<E,he=new Array(4),he[ge]=le,le=he,oe*=2,ge){case 0:te=E+oe,re=z+oe;break;case 1:E=te-oe,re=z+oe;break;case 2:te=E+oe,z=re-oe;break;case 3:E=te-oe,z=re-oe;break}this._root&&this._root.length&&(this._root=le)}return this._x0=E,this._y0=z,this._x1=te,this._y1=re,this}function Nj(){var b=[];return this.visit(function(x){if(!x.length)do b.push(x.data);while(x=x.next)}),b}function Bj(b){return arguments.length?this.cover(+b[0][0],+b[0][1]).cover(+b[1][0],+b[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function Ap(b,x,E,z,te){this.node=b,this.x0=x,this.y0=E,this.x1=z,this.y1=te}function Rj(b,x,E){var z,te=this._x0,re=this._y0,oe,le,he,ge,Ae=this._x1,Pe=this._y1,We=[],Xe=this._root,qe,nt;for(Xe&&We.push(new Ap(Xe,te,re,Ae,Pe)),E==null?E=1/0:(te=b-E,re=x-E,Ae=b+E,Pe=x+E,E*=E);qe=We.pop();)if(!(!(Xe=qe.node)||(oe=qe.x0)>Ae||(le=qe.y0)>Pe||(he=qe.x1)<te||(ge=qe.y1)<re))if(Xe.length){var at=(oe+he)/2,pt=(le+ge)/2;We.push(new Ap(Xe[3],at,pt,he,ge),new Ap(Xe[2],oe,pt,at,ge),new Ap(Xe[1],at,le,he,pt),new Ap(Xe[0],oe,le,at,pt)),(nt=(x>=pt)<<1|b>=at)&&(qe=We[We.length-1],We[We.length-1]=We[We.length-1-nt],We[We.length-1-nt]=qe)}else{var mt=b-+this._x.call(null,Xe.data),bt=x-+this._y.call(null,Xe.data),jt=mt*mt+bt*bt;if(jt<E){var Ut=Math.sqrt(E=jt);te=b-Ut,re=x-Ut,Ae=b+Ut,Pe=x+Ut,z=Xe.data}}return z}function kj(b){if(isNaN(Ae=+this._x.call(null,b))||isNaN(Pe=+this._y.call(null,b)))return this;var x,E=this._root,z,te,re,oe=this._x0,le=this._y0,he=this._x1,ge=this._y1,Ae,Pe,We,Xe,qe,nt,at,pt;if(!E)return this;if(E.length)for(;;){if((qe=Ae>=(We=(oe+he)/2))?oe=We:he=We,(nt=Pe>=(Xe=(le+ge)/2))?le=Xe:ge=Xe,x=E,!(E=E[at=nt<<1|qe]))return this;if(!E.length)break;(x[at+1&3]||x[at+2&3]||x[at+3&3])&&(z=x,pt=at)}for(;E.data!==b;)if(te=E,!(E=E.next))return this;return(re=E.next)&&delete E.next,te?(re?te.next=re:delete te.next,this):x?(re?x[at]=re:delete x[at],(E=x[0]||x[1]||x[2]||x[3])&&E===(x[3]||x[2]||x[1]||x[0])&&!E.length&&(z?z[pt]=E:this._root=E),this):(this._root=re,this)}function Fj(b){for(var x=0,E=b.length;x<E;++x)this.remove(b[x]);return this}function _j(){return this._root}function zj(){var b=0;return this.visit(function(x){if(!x.length)do++b;while(x=x.next)}),b}function jj(b){var x=[],E,z=this._root,te,re,oe,le,he;for(z&&x.push(new Ap(z,this._x0,this._y0,this._x1,this._y1));E=x.pop();)if(!b(z=E.node,re=E.x0,oe=E.y0,le=E.x1,he=E.y1)&&z.length){var ge=(re+le)/2,Ae=(oe+he)/2;(te=z[3])&&x.push(new Ap(te,ge,Ae,le,he)),(te=z[2])&&x.push(new Ap(te,re,Ae,ge,he)),(te=z[1])&&x.push(new Ap(te,ge,oe,le,Ae)),(te=z[0])&&x.push(new Ap(te,re,oe,ge,Ae))}return this}function Wj(b){var x=[],E=[],z;for(this._root&&x.push(new Ap(this._root,this._x0,this._y0,this._x1,this._y1));z=x.pop();){var te=z.node;if(te.length){var re,oe=z.x0,le=z.y0,he=z.x1,ge=z.y1,Ae=(oe+he)/2,Pe=(le+ge)/2;(re=te[0])&&x.push(new Ap(re,oe,le,Ae,Pe)),(re=te[1])&&x.push(new Ap(re,Ae,le,he,Pe)),(re=te[2])&&x.push(new Ap(re,oe,Pe,Ae,ge)),(re=te[3])&&x.push(new Ap(re,Ae,Pe,he,ge))}E.push(z)}for(;z=E.pop();)b(z.node,z.x0,z.y0,z.x1,z.y1);return this}function Uj(b){return b[0]}function Gj(b){return arguments.length?(this._x=b,this):this._x}function Hj(b){return b[1]}function Vj(b){return arguments.length?(this._y=b,this):this._y}function UM(b,x,E){var z=new sD(x==null?Uj:x,E==null?Hj:E,NaN,NaN,NaN,NaN);return b==null?z:z.addAll(b)}function sD(b,x,E,z,te,re){this._x=b,this._y=x,this._x0=E,this._y0=z,this._x1=te,this._y1=re,this._root=void 0}function _N(b){for(var x={data:b.data},E=x;b=b.next;)E=E.next={data:b.data};return x}var Sp=UM.prototype=sD.prototype;Sp.copy=function(){var b=new sD(this._x,this._y,this._x0,this._y0,this._x1,this._y1),x=this._root,E,z;if(!x)return b;if(!x.length)return b._root=_N(x),b;for(E=[{source:x,target:b._root=new Array(4)}];x=E.pop();)for(var te=0;te<4;++te)(z=x.source[te])&&(z.length?E.push({source:z,target:x.target[te]=new Array(4)}):x.target[te]=_N(z));return b},Sp.add=Dj,Sp.addAll=Ij,Sp.cover=Oj,Sp.data=Nj,Sp.extent=Bj,Sp.find=Rj,Sp.remove=kj,Sp.removeAll=Fj,Sp.root=_j,Sp.size=zj,Sp.visit=jj,Sp.visitAfter=Wj,Sp.x=Gj,Sp.y=Vj;function Kj(b){const x=+this._x.call(null,b),E=+this._y.call(null,b),z=+this._z.call(null,b);return zN(this.cover(x,E,z),x,E,z,b)}function zN(b,x,E,z,te){if(isNaN(x)||isNaN(E)||isNaN(z))return b;var re,oe=b._root,le={data:te},he=b._x0,ge=b._y0,Ae=b._z0,Pe=b._x1,We=b._y1,Xe=b._z1,qe,nt,at,pt,mt,bt,jt,Ut,Kt,Qt,Vt;if(!oe)return b._root=le,b;for(;oe.length;)if((jt=x>=(qe=(he+Pe)/2))?he=qe:Pe=qe,(Ut=E>=(nt=(ge+We)/2))?ge=nt:We=nt,(Kt=z>=(at=(Ae+Xe)/2))?Ae=at:Xe=at,re=oe,!(oe=oe[Qt=Kt<<2|Ut<<1|jt]))return re[Qt]=le,b;if(pt=+b._x.call(null,oe.data),mt=+b._y.call(null,oe.data),bt=+b._z.call(null,oe.data),x===pt&&E===mt&&z===bt)return le.next=oe,re?re[Qt]=le:b._root=le,b;do re=re?re[Qt]=new Array(8):b._root=new Array(8),(jt=x>=(qe=(he+Pe)/2))?he=qe:Pe=qe,(Ut=E>=(nt=(ge+We)/2))?ge=nt:We=nt,(Kt=z>=(at=(Ae+Xe)/2))?Ae=at:Xe=at;while((Qt=Kt<<2|Ut<<1|jt)===(Vt=(bt>=at)<<2|(mt>=nt)<<1|pt>=qe));return re[Vt]=oe,re[Qt]=le,b}function Zj(b){Array.isArray(b)||(b=Array.from(b));const x=b.length,E=new Float64Array(x),z=new Float64Array(x),te=new Float64Array(x);let re=1/0,oe=1/0,le=1/0,he=-1/0,ge=-1/0,Ae=-1/0;for(let Pe=0,We,Xe,qe,nt;Pe<x;++Pe)isNaN(Xe=+this._x.call(null,We=b[Pe]))||isNaN(qe=+this._y.call(null,We))||isNaN(nt=+this._z.call(null,We))||(E[Pe]=Xe,z[Pe]=qe,te[Pe]=nt,Xe<re&&(re=Xe),Xe>he&&(he=Xe),qe<oe&&(oe=qe),qe>ge&&(ge=qe),nt<le&&(le=nt),nt>Ae&&(Ae=nt));if(re>he||oe>ge||le>Ae)return this;this.cover(re,oe,le).cover(he,ge,Ae);for(let Pe=0;Pe<x;++Pe)zN(this,E[Pe],z[Pe],te[Pe],b[Pe]);return this}function Yj(b,x,E){if(isNaN(b=+b)||isNaN(x=+x)||isNaN(E=+E))return this;var z=this._x0,te=this._y0,re=this._z0,oe=this._x1,le=this._y1,he=this._z1;if(isNaN(z))oe=(z=Math.floor(b))+1,le=(te=Math.floor(x))+1,he=(re=Math.floor(E))+1;else{for(var ge=oe-z||1,Ae=this._root,Pe,We;z>b||b>=oe||te>x||x>=le||re>E||E>=he;)switch(We=(E<re)<<2|(x<te)<<1|b<z,Pe=new Array(8),Pe[We]=Ae,Ae=Pe,ge*=2,We){case 0:oe=z+ge,le=te+ge,he=re+ge;break;case 1:z=oe-ge,le=te+ge,he=re+ge;break;case 2:oe=z+ge,te=le-ge,he=re+ge;break;case 3:z=oe-ge,te=le-ge,he=re+ge;break;case 4:oe=z+ge,le=te+ge,re=he-ge;break;case 5:z=oe-ge,le=te+ge,re=he-ge;break;case 6:oe=z+ge,te=le-ge,re=he-ge;break;case 7:z=oe-ge,te=le-ge,re=he-ge;break}this._root&&this._root.length&&(this._root=Ae)}return this._x0=z,this._y0=te,this._z0=re,this._x1=oe,this._y1=le,this._z1=he,this}function Xj(){var b=[];return this.visit(function(x){if(!x.length)do b.push(x.data);while(x=x.next)}),b}function Qj(b){return arguments.length?this.cover(+b[0][0],+b[0][1],+b[0][2]).cover(+b[1][0],+b[1][1],+b[1][2]):isNaN(this._x0)?void 0:[[this._x0,this._y0,this._z0],[this._x1,this._y1,this._z1]]}function bh(b,x,E,z,te,re,oe){this.node=b,this.x0=x,this.y0=E,this.z0=z,this.x1=te,this.y1=re,this.z1=oe}function Jj(b,x,E,z){var te,re=this._x0,oe=this._y0,le=this._z0,he,ge,Ae,Pe,We,Xe,qe=this._x1,nt=this._y1,at=this._z1,pt=[],mt=this._root,bt,jt;for(mt&&pt.push(new bh(mt,re,oe,le,qe,nt,at)),z==null?z=1/0:(re=b-z,oe=x-z,le=E-z,qe=b+z,nt=x+z,at=E+z,z*=z);bt=pt.pop();)if(!(!(mt=bt.node)||(he=bt.x0)>qe||(ge=bt.y0)>nt||(Ae=bt.z0)>at||(Pe=bt.x1)<re||(We=bt.y1)<oe||(Xe=bt.z1)<le))if(mt.length){var Ut=(he+Pe)/2,Kt=(ge+We)/2,Qt=(Ae+Xe)/2;pt.push(new bh(mt[7],Ut,Kt,Qt,Pe,We,Xe),new bh(mt[6],he,Kt,Qt,Ut,We,Xe),new bh(mt[5],Ut,ge,Qt,Pe,Kt,Xe),new bh(mt[4],he,ge,Qt,Ut,Kt,Xe),new bh(mt[3],Ut,Kt,Ae,Pe,We,Qt),new bh(mt[2],he,Kt,Ae,Ut,We,Qt),new bh(mt[1],Ut,ge,Ae,Pe,Kt,Qt),new bh(mt[0],he,ge,Ae,Ut,Kt,Qt)),(jt=(E>=Qt)<<2|(x>=Kt)<<1|b>=Ut)&&(bt=pt[pt.length-1],pt[pt.length-1]=pt[pt.length-1-jt],pt[pt.length-1-jt]=bt)}else{var Vt=b-+this._x.call(null,mt.data),vn=x-+this._y.call(null,mt.data),wn=E-+this._z.call(null,mt.data),kn=Vt*Vt+vn*vn+wn*wn;if(kn<z){var Vn=Math.sqrt(z=kn);re=b-Vn,oe=x-Vn,le=E-Vn,qe=b+Vn,nt=x+Vn,at=E+Vn,te=mt.data}}return te}const qj=(b,x,E,z,te,re)=>Math.sqrt(Dx(b-z,2)+Dx(x-te,2)+Dx(E-re,2));function $j(b,x,E,z){const te=[],re=b-z,oe=x-z,le=E-z,he=b+z,ge=x+z,Ae=E+z;return this.visit((Pe,We,Xe,qe,nt,at,pt)=>{if(!Pe.length)do{const mt=Pe.data;qj(b,x,E,this._x(mt),this._y(mt),this._z(mt))<=z&&te.push(mt)}while(Pe=Pe.next);return We>he||Xe>ge||qe>Ae||nt<re||at<oe||pt<le}),te}function eW(b){if(isNaN(We=+this._x.call(null,b))||isNaN(Xe=+this._y.call(null,b))||isNaN(qe=+this._z.call(null,b)))return this;var x,E=this._root,z,te,re,oe=this._x0,le=this._y0,he=this._z0,ge=this._x1,Ae=this._y1,Pe=this._z1,We,Xe,qe,nt,at,pt,mt,bt,jt,Ut,Kt;if(!E)return this;if(E.length)for(;;){if((mt=We>=(nt=(oe+ge)/2))?oe=nt:ge=nt,(bt=Xe>=(at=(le+Ae)/2))?le=at:Ae=at,(jt=qe>=(pt=(he+Pe)/2))?he=pt:Pe=pt,x=E,!(E=E[Ut=jt<<2|bt<<1|mt]))return this;if(!E.length)break;(x[Ut+1&7]||x[Ut+2&7]||x[Ut+3&7]||x[Ut+4&7]||x[Ut+5&7]||x[Ut+6&7]||x[Ut+7&7])&&(z=x,Kt=Ut)}for(;E.data!==b;)if(te=E,!(E=E.next))return this;return(re=E.next)&&delete E.next,te?(re?te.next=re:delete te.next,this):x?(re?x[Ut]=re:delete x[Ut],(E=x[0]||x[1]||x[2]||x[3]||x[4]||x[5]||x[6]||x[7])&&E===(x[7]||x[6]||x[5]||x[4]||x[3]||x[2]||x[1]||x[0])&&!E.length&&(z?z[Kt]=E:this._root=E),this):(this._root=re,this)}function tW(b){for(var x=0,E=b.length;x<E;++x)this.remove(b[x]);return this}function nW(){return this._root}function rW(){var b=0;return this.visit(function(x){if(!x.length)do++b;while(x=x.next)}),b}function iW(b){var x=[],E,z=this._root,te,re,oe,le,he,ge,Ae;for(z&&x.push(new bh(z,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));E=x.pop();)if(!b(z=E.node,re=E.x0,oe=E.y0,le=E.z0,he=E.x1,ge=E.y1,Ae=E.z1)&&z.length){var Pe=(re+he)/2,We=(oe+ge)/2,Xe=(le+Ae)/2;(te=z[7])&&x.push(new bh(te,Pe,We,Xe,he,ge,Ae)),(te=z[6])&&x.push(new bh(te,re,We,Xe,Pe,ge,Ae)),(te=z[5])&&x.push(new bh(te,Pe,oe,Xe,he,We,Ae)),(te=z[4])&&x.push(new bh(te,re,oe,Xe,Pe,We,Ae)),(te=z[3])&&x.push(new bh(te,Pe,We,le,he,ge,Xe)),(te=z[2])&&x.push(new bh(te,re,We,le,Pe,ge,Xe)),(te=z[1])&&x.push(new bh(te,Pe,oe,le,he,We,Xe)),(te=z[0])&&x.push(new bh(te,re,oe,le,Pe,We,Xe))}return this}function oW(b){var x=[],E=[],z;for(this._root&&x.push(new bh(this._root,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));z=x.pop();){var te=z.node;if(te.length){var re,oe=z.x0,le=z.y0,he=z.z0,ge=z.x1,Ae=z.y1,Pe=z.z1,We=(oe+ge)/2,Xe=(le+Ae)/2,qe=(he+Pe)/2;(re=te[0])&&x.push(new bh(re,oe,le,he,We,Xe,qe)),(re=te[1])&&x.push(new bh(re,We,le,he,ge,Xe,qe)),(re=te[2])&&x.push(new bh(re,oe,Xe,he,We,Ae,qe)),(re=te[3])&&x.push(new bh(re,We,Xe,he,ge,Ae,qe)),(re=te[4])&&x.push(new bh(re,oe,le,qe,We,Xe,Pe)),(re=te[5])&&x.push(new bh(re,We,le,qe,ge,Xe,Pe)),(re=te[6])&&x.push(new bh(re,oe,Xe,qe,We,Ae,Pe)),(re=te[7])&&x.push(new bh(re,We,Xe,qe,ge,Ae,Pe))}E.push(z)}for(;z=E.pop();)b(z.node,z.x0,z.y0,z.z0,z.x1,z.y1,z.z1);return this}function aW(b){return b[0]}function sW(b){return arguments.length?(this._x=b,this):this._x}function lW(b){return b[1]}function uW(b){return arguments.length?(this._y=b,this):this._y}function cW(b){return b[2]}function hW(b){return arguments.length?(this._z=b,this):this._z}function jN(b,x,E,z){var te=new lD(x==null?aW:x,E==null?lW:E,z==null?cW:z,NaN,NaN,NaN,NaN,NaN,NaN);return b==null?te:te.addAll(b)}function lD(b,x,E,z,te,re,oe,le,he){this._x=b,this._y=x,this._z=E,this._x0=z,this._y0=te,this._z0=re,this._x1=oe,this._y1=le,this._z1=he,this._root=void 0}function WN(b){for(var x={data:b.data},E=x;b=b.next;)E=E.next={data:b.data};return x}var Fg=jN.prototype=lD.prototype;Fg.copy=function(){var b=new lD(this._x,this._y,this._z,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1),x=this._root,E,z;if(!x)return b;if(!x.length)return b._root=WN(x),b;for(E=[{source:x,target:b._root=new Array(8)}];x=E.pop();)for(var te=0;te<8;++te)(z=x.source[te])&&(z.length?E.push({source:z,target:x.target[te]=new Array(8)}):x.target[te]=WN(z));return b},Fg.add=Kj,Fg.addAll=Zj,Fg.cover=Yj,Fg.data=Xj,Fg.extent=Qj,Fg.find=Jj,Fg.findAllWithinRadius=$j,Fg.remove=eW,Fg.removeAll=tW,Fg.root=nW,Fg.size=rW,Fg.visit=iW,Fg.visitAfter=oW,Fg.x=sW,Fg.y=uW,Fg.z=hW;const dW=.81,uD=.1;function fW(b,x,E,z,te=2){const re=x/E,oe=b.getAllNodes(),le=oe.map((Ae,Pe)=>{const{nodeStrength:We,x:Xe,y:qe,z:nt,size:at}=Ae.data;return{x:Xe,y:qe,z:nt,size:at,index:Pe,id:Ae.id,vx:0,vy:0,vz:0,weight:re*We}}),he=(te===2?UM(le,Ae=>Ae.x,Ae=>Ae.y):jN(le,Ae=>Ae.x,Ae=>Ae.y,Ae=>Ae.z)).visitAfter(gW),ge=new Map;return le.forEach(Ae=>{ge.set(Ae.id,Ae),vW(Ae,he,te)}),le.map((Ae,Pe)=>{const{id:We,data:Xe}=oe[Pe],{mass:qe=1}=Xe;z[We]={x:Ae.vx/qe,y:Ae.vy/qe,z:Ae.vz/qe}}),z}function gW(b){let x=0,E=0,z=0,te=0,re=0;const oe=b.length;if(oe){for(let le=0;le<oe;le++){const he=b[le];he&&he.weight&&(x+=he.weight,E+=he.x*he.weight,z+=he.y*he.weight,te+=he.z*he.weight,re+=he.size*he.weight)}b.x=E/x,b.y=z/x,b.z=te/x,b.size=re/x,b.weight=x}else{const le=b;b.x=le.data.x,b.y=le.data.y,b.z=le.data.z,b.size=le.data.size,b.weight=le.data.weight}}const pW=(b,x,E,z,te,re,oe)=>{var le;if(((le=b.data)===null||le===void 0?void 0:le.id)===re.id)return;const he=[E,z,te][oe-1],ge=re.x-b.x||uD,Ae=re.y-b.y||uD,Pe=re.z-b.z||uD,We=[ge,Ae,Pe],Xe=he-x;let qe=0;for(let pt=0;pt<oe;pt++)qe+=We[pt]*We[pt];const at=Math.sqrt(qe)*qe;if(Xe*Xe*dW<qe){const pt=b.weight/at;return re.vx+=ge*pt,re.vy+=Ae*pt,re.vz+=Pe*pt,!0}if(b.length)return!1;if(b.data!==re){const pt=b.data.weight/at;re.vx+=ge*pt,re.vy+=Ae*pt,re.vz+=Pe*pt}};function vW(b,x,E){x.visit((z,te,re,oe,le)=>pW(z,te,re,oe,le,b,E))}const mW={dimensions:2,maxIteration:500,gravity:10,factor:1,edgeStrength:50,nodeStrength:1e3,coulombDisScale:.005,damping:.9,maxSpeed:200,minMovement:.4,interval:.02,linkDistance:200,clusterNodeStrength:20,preventOverlap:!0,distanceThresholdMode:"mean"};class UN{constructor(x={}){this.options=x,this.id="force",this.timeInterval=0,this.judgingDistance=0,this.running=!1,this.options=Object.assign(Object.assign({},mW),x)}execute(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){return this.genericForceLayout(!1,x,E)})}assign(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){yield this.genericForceLayout(!0,x,E)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(x=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let z=0;(this.judgingDistance>this.lastOptions.minMovement||z<1)&&z<x;z++)this.runOneStep(this.lastCalcGraph,this.lastGraph,z,this.lastVelMap,this.lastOptions),this.updatePosition(this.lastGraph,this.lastCalcGraph,this.lastVelMap,this.lastOptions);const E={nodes:this.lastLayoutNodes,edges:this.lastLayoutEdges};return this.lastAssign&&E.nodes.forEach(z=>this.lastGraph.mergeNodeData(z.id,{x:z.data.x,y:z.data.y,z:this.options.dimensions===3?z.data.z:void 0})),E}genericForceLayout(x,E,z){return(0,Cn.mG)(this,void 0,void 0,function*(){const te=Object.assign(Object.assign({},this.options),z),re=E.getAllNodes(),oe=E.getAllEdges(),le=this.formatOptions(te,E),{dimensions:he,width:ge,height:Ae,nodeSize:Pe,getMass:We,nodeStrength:Xe,edgeStrength:qe,linkDistance:nt}=le,at=re.map((Vt,vn)=>Object.assign(Object.assign({},Vt),{data:Object.assign(Object.assign({},Vt.data),{x:As(Vt.data.x)?Vt.data.x:Math.random()*ge,y:As(Vt.data.y)?Vt.data.y:Math.random()*Ae,z:As(Vt.data.z)?Vt.data.z:Math.random()*Math.sqrt(ge*Ae),size:Pe(Vt)||30,mass:We(Vt),nodeStrength:Xe(Vt)})})),pt=oe.map(Vt=>Object.assign(Object.assign({},Vt),{data:Object.assign(Object.assign({},Vt.data),{edgeStrength:qe(Vt),linkDistance:nt(Vt,E.getNode(Vt.source),E.getNode(Vt.target))})}));if(!(re!=null&&re.length))return this.lastResult={nodes:[],edges:oe},{nodes:[],edges:oe};const mt={};re.forEach((Vt,vn)=>{mt[Vt.id]={x:0,y:0,z:0}});const bt=new qd({nodes:at,edges:pt});this.formatCentripetal(le,bt);const{maxIteration:jt,minMovement:Ut,onTick:Kt}=le;if(this.lastLayoutNodes=at,this.lastLayoutEdges=pt,this.lastAssign=x,this.lastGraph=E,this.lastCalcGraph=bt,this.lastOptions=le,this.lastVelMap=mt,typeof window=="undefined")return;let Qt=0;return new Promise(Vt=>{this.timeInterval=window.setInterval(()=>{(!re||!this.running)&&Vt({nodes:cD(E,at),edges:oe}),this.runOneStep(bt,E,Qt,mt,le),this.updatePosition(E,bt,mt,le),x&&at.forEach(vn=>E.mergeNodeData(vn.id,{x:vn.data.x,y:vn.data.y,z:he===3?vn.data.z:void 0})),Kt==null||Kt({nodes:cD(E,at),edges:oe}),Qt++,(Qt>=jt||this.judgingDistance<Ut)&&(window.clearInterval(this.timeInterval),Vt({nodes:cD(E,at),edges:oe}))},0),this.running=!0})})}formatOptions(x,E){const z=Object.assign({},x),{width:te,height:re,getMass:oe}=x;z.width=!te&&typeof window!="undefined"?window.innerWidth:te,z.height=!re&&typeof window!="undefined"?window.innerHeight:re,x.center||(z.center=[z.width/2,z.height/2]),oe||(z.getMass=he=>{let ge=1;As(he==null?void 0:he.data.mass)&&(ge=he==null?void 0:he.data.mass);const Ae=E.getDegree(he.id,"both");return!Ae||Ae<5?ge:Ae*5*ge}),z.nodeSize=iD(x.nodeSize,x.nodeSpacing);const le=x.linkDistance?GE(1,x.linkDistance):he=>1+z.nodeSize(E.getNode(he.source))+z.nodeSize(E.getNode(he.target));return z.linkDistance=le,z.nodeStrength=GE(1,x.nodeStrength),z.edgeStrength=GE(1,x.edgeStrength),z}formatCentripetal(x,E){const{dimensions:z,centripetalOptions:te,center:re,clusterNodeStrength:oe,leafCluster:le,clustering:he,nodeClusterBy:ge}=x,Ae=E.getAllNodes(),Pe=te||{leaf:2,single:2,others:1,center:pt=>({x:re[0],y:re[1],z:z===3?re[2]:void 0})};typeof oe!="function"&&(x.clusterNodeStrength=pt=>oe);let We,Xe;if(le&&ge&&(We=GN(E,ge),Xe=Array.from(new Set(Ae==null?void 0:Ae.map(pt=>pt.data[ge])))||[],x.centripetalOptions=Object.assign(Pe,{single:100,leaf:pt=>{const{siblingLeaves:mt,sameTypeLeaves:bt}=We[pt.id]||{};return(bt==null?void 0:bt.length)===(mt==null?void 0:mt.length)||(Xe==null?void 0:Xe.length)===1?1:x.clusterNodeStrength(pt)},others:1,center:pt=>{const mt=E.getDegree(pt.id,"both");if(!mt)return{x:100,y:100,z:0};let bt;if(mt===1){const{sameTypeLeaves:jt=[]}=We[pt.id]||{};jt.length===1?bt=void 0:jt.length>1&&(bt=HN(jt))}else bt=void 0;return{x:bt==null?void 0:bt.x,y:bt==null?void 0:bt.y,z:bt==null?void 0:bt.z}}})),he&&ge){We||(We=GN(E,ge)),Xe||(Xe=Array.from(new Set(Ae.map(mt=>mt.data[ge])))),Xe=Xe.filter(mt=>mt!==void 0);const pt={};Xe.forEach(mt=>{const bt=Ae.filter(jt=>jt.data[ge]===mt).map(jt=>E.getNode(jt.id));pt[mt]=HN(bt)}),x.centripetalOptions=Object.assign(Pe,{single:mt=>x.clusterNodeStrength(mt),leaf:mt=>x.clusterNodeStrength(mt),others:mt=>x.clusterNodeStrength(mt),center:mt=>{const bt=pt[mt.data[ge]];return{x:bt==null?void 0:bt.x,y:bt==null?void 0:bt.y,z:bt==null?void 0:bt.z}}})}const{leaf:qe,single:nt,others:at}=x.centripetalOptions||{};qe&&typeof qe!="function"&&(x.centripetalOptions.leaf=()=>qe),nt&&typeof nt!="function"&&(x.centripetalOptions.single=()=>nt),at&&typeof at!="function"&&(x.centripetalOptions.others=()=>at)}runOneStep(x,E,z,te,re){const oe={},le=x.getAllNodes(),he=x.getAllEdges();if(!(le!=null&&le.length))return;const{monitor:ge}=re;if(this.calRepulsive(x,oe,re),he&&this.calAttractive(x,oe,re),this.calGravity(x,E,oe,re),this.updateVelocity(x,oe,te,re),ge){const Ae=this.calTotalEnergy(oe,le);ge({energy:Ae,nodes:E.getAllNodes(),edges:E.getAllEdges(),iterations:z})}}calTotalEnergy(x,E){if(!(E!=null&&E.length))return 0;let z=0;return E.forEach((te,re)=>{const oe=x[te.id].x,le=x[te.id].y,he=this.options.dimensions===3?x[te.id].z:0,ge=oe*oe+le*le+he*he,{mass:Ae=1}=te.data;z+=Ae*ge*.5}),z}calRepulsive(x,E,z){const{dimensions:te,factor:re,coulombDisScale:oe}=z;fW(x,re,oe*oe,E,te)}calAttractive(x,E,z){const{dimensions:te,nodeSize:re}=z;x.getAllEdges().forEach((oe,le)=>{const{source:he,target:ge}=oe,Ae=x.getNode(he),Pe=x.getNode(ge);if(!Ae||!Pe)return;let We=Pe.data.x-Ae.data.x,Xe=Pe.data.y-Ae.data.y,qe=te===3?Pe.data.z-Ae.data.z:0;!We&&!Xe&&(We=Math.random()*.01,Xe=Math.random()*.01,te===3&&!qe&&(qe=Math.random()*.01));const nt=Math.sqrt(We*We+Xe*Xe+qe*qe);if(nt<re(Ae)+re(Pe))return;const at=We/nt,pt=Xe/nt,mt=qe/nt,{linkDistance:bt=200,edgeStrength:jt=200}=oe.data||{},Kt=(bt-nt)*jt,Qt=Ae.data.mass||1,Vt=Pe.data.mass||1,vn=1/Qt,wn=1/Vt,kn=at*Kt,Vn=pt*Kt,vr=mt*Kt;E[he].x-=kn*vn,E[he].y-=Vn*vn,E[he].z-=vr*vn,E[ge].x+=kn*wn,E[ge].y+=Vn*wn,E[ge].z+=vr*wn})}calGravity(x,E,z,te){const{getCenter:re}=te,oe=x.getAllNodes(),le=E.getAllNodes(),he=E.getAllEdges(),{width:ge,height:Ae,center:Pe,gravity:We,centripetalOptions:Xe}=te;oe&&oe.forEach(qe=>{const{id:nt,data:at}=qe,{mass:pt,x:mt,y:bt,z:jt}=at,Ut=E.getNode(nt);let Kt=0,Qt=0,Vt=0,vn=We;const wn=x.getDegree(nt,"in"),kn=x.getDegree(nt,"out"),Vn=x.getDegree(nt,"both"),vr=re==null?void 0:re(Ut,Vn);if(vr){const[or,Or,qr]=vr;Kt=mt-or,Qt=bt-Or,vn=qr}else Kt=mt-Pe[0],Qt=bt-Pe[1],Vt=jt-Pe[2];if(vn&&(z[nt].x-=vn*Kt/pt,z[nt].y-=vn*Qt/pt,z[nt].z-=vn*Vt/pt),Xe){const{leaf:or,single:Or,others:qr,center:wr}=Xe,{x:Sr,y:Tr,z:ri,centerStrength:Cr}=(wr==null?void 0:wr(Ut,le,he,ge,Ae))||{x:0,y:0,z:0,centerStrength:0};if(!As(Sr)||!As(Tr))return;const yi=(mt-Sr)/pt,Co=(bt-Tr)/pt,wo=(jt-ri)/pt;if(Cr&&(z[nt].x-=Cr*yi,z[nt].y-=Cr*Co,z[nt].z-=Cr*wo),Vn===0){const Mi=Or(Ut);if(!Mi)return;z[nt].x-=Mi*yi,z[nt].y-=Mi*Co,z[nt].z-=Mi*wo;return}if(wn===0||kn===0){const Mi=or(Ut,le,he);if(!Mi)return;z[nt].x-=Mi*yi,z[nt].y-=Mi*Co,z[nt].z-=Mi*wo;return}const vi=qr(Ut);if(!vi)return;z[nt].x-=vi*yi,z[nt].y-=vi*Co,z[nt].z-=vi*wo}})}updateVelocity(x,E,z,te){const{damping:re,maxSpeed:oe,interval:le,dimensions:he}=te,ge=x.getAllNodes();ge!=null&&ge.length&&ge.forEach(Ae=>{const{id:Pe}=Ae;let We=(z[Pe].x+E[Pe].x*le)*re||.01,Xe=(z[Pe].y+E[Pe].y*le)*re||.01,qe=he===3?(z[Pe].z+E[Pe].z*le)*re||.01:0;const nt=Math.sqrt(We*We+Xe*Xe+qe*qe);if(nt>oe){const at=oe/nt;We=at*We,Xe=at*Xe,qe=at*qe}z[Pe]={x:We,y:Xe,z:qe}})}updatePosition(x,E,z,te){const{distanceThresholdMode:re,interval:oe,dimensions:le}=te,he=E.getAllNodes();if(!(he!=null&&he.length)){this.judgingDistance=0;return}let ge=0;re==="max"?this.judgingDistance=-1/0:re==="min"&&(this.judgingDistance=1/0),he.forEach(Ae=>{const{id:Pe}=Ae,We=x.getNode(Pe);if(As(We.data.fx)&&As(We.data.fy)){E.mergeNodeData(Pe,{x:We.data.fx,y:We.data.fy,z:le===3?We.data.fz:void 0});return}const Xe=z[Pe].x*oe,qe=z[Pe].y*oe,nt=le===3?z[Pe].z*oe:0;E.mergeNodeData(Pe,{x:Ae.data.x+Xe,y:Ae.data.y+qe,z:Ae.data.z+nt});const at=Math.sqrt(Xe*Xe+qe*qe+nt*nt);switch(re){case"max":this.judgingDistance<at&&(this.judgingDistance=at);break;case"min":this.judgingDistance>at&&(this.judgingDistance=at);break;default:ge=ge+at;break}}),(!re||re==="mean")&&(this.judgingDistance=ge/he.length)}}const GN=(b,x)=>{const E=b.getAllNodes();if(!(E!=null&&E.length))return{};const z={};return E.forEach((te,re)=>{b.getDegree(te.id,"both")===1&&(z[te.id]=yW(b,"leaf",te,x))}),z},yW=(b,x,E,z)=>{const te=b.getDegree(E.id,"in"),re=b.getDegree(E.id,"out");let oe=E,le=[];te===0?(oe=b.getSuccessors(E.id)[0],le=b.getNeighbors(oe.id)):re===0&&(oe=b.getPredecessors(E.id)[0],le=b.getNeighbors(oe.id)),le=le.filter(ge=>b.getDegree(ge.id,"in")===0||b.getDegree(ge.id,"out")===0);const he=xW(b,x,z,E,le);return{coreNode:oe,siblingLeaves:le,sameTypeLeaves:he}},xW=(b,x,E,z,te)=>{const re=z.data[E]||"";let oe=(te==null?void 0:te.filter(le=>le.data[E]===re))||[];return x==="leaf"&&(oe=oe.filter(le=>b.getDegree(le.id,"in")===0||b.getDegree(le.id,"out")===0)),oe},HN=b=>{const x={x:0,y:0};b.forEach(z=>{const{x:te,y:re}=z.data;x.x+=te||0,x.y+=re||0});const E=b.length||1;return{x:x.x/E,y:x.y/E}},cD=(b,x)=>x.map(E=>{const{id:z,data:te}=E,re=b.getNode(z);return Object.assign(Object.assign({},re),{data:Object.assign(Object.assign({},re.data),{x:te.x,y:te.y,z:te.z})})});var nc=Oe(5136);const fq=nc.XA,gq=nc.a_,pq=nc.yQ,vq=nc.Hs,mq=nc.Ec,yq=nc.dx,xq=nc.LU,Eq=nc.Rm,mx=nc.y3,Aq=nc.qK,Sq=nc.pb,wq=nc.j,Cq=nc.sO,bq=nc.BZ,Pq=nc.EK,Mq=nc.Db,Lq=nc.Fx,Tq=nc.tU,Dq=nc.Ym,Iq=nc.rs,Oq=nc.QR,Nq=nc.TB,Bq=nc.oH,VN=nc.Sc,Rq=nc.BN,kq=nc.it,Fq=nc.$r,_q=nc.QM,zq=nc.AV;var jq=(nc.y3,nc.y3);const Wq=nc.GH,Uq=nc.SO,Gq=nc.uZ,Hq=nc.yU,Vq=nc.F1,Kq=nc.re,KN=b=>{const x=[],E=b.length;for(let z=0;z<E;z+=1){x[z]=[];for(let te=0;te<E;te+=1)z===te?x[z][te]=0:b[z][te]===0||!b[z][te]?x[z][te]=1/0:x[z][te]=b[z][te]}for(let z=0;z<E;z+=1)for(let te=0;te<E;te+=1)for(let re=0;re<E;re+=1)x[te][re]>x[te][z]+x[z][re]&&(x[te][re]=x[te][z]+x[z][re]);return x},ZN=(b,x)=>{const{nodes:E,edges:z}=b,te=[],re={};if(!E)throw new Error("invalid nodes data!");return E&&E.forEach((oe,le)=>{re[oe.id]=le;const he=[];te.push(he)}),z==null||z.forEach(oe=>{const{source:le,target:he}=oe,ge=re[le],Ae=re[he];ge===void 0||Ae===void 0||(te[ge][Ae]=1,x||(te[Ae][ge]=1))}),te},EW=(b,x)=>{const E=[];return b.forEach(z=>{const te=[];z.forEach(re=>{te.push(re*x)}),E.push(te)}),E},AW=b=>{let x=1/0,E=1/0,z=-1/0,te=-1/0;return b.forEach(re=>{let oe=re.data.size;e1(oe)?oe.length===1&&(oe=[oe[0],oe[0]]):As(oe)?oe=[oe,oe]:(oe===void 0||isNaN(oe))&&(oe=[30,30]);const le=[oe[0]/2,oe[1]/2],he=re.data.x-le[0],ge=re.data.x+le[0],Ae=re.data.y-le[1],Pe=re.data.y+le[1];x>he&&(x=he),E>Ae&&(E=Ae),z<ge&&(z=ge),te<Pe&&(te=Pe)}),{minX:x,minY:E,maxX:z,maxY:te}},YN=(b,x)=>Math.sqrt((b.x-x.x)*(b.x-x.x)+(b.y-x.y)*(b.y-x.y)),hD=(b,x,E,z="TB",te,re={})=>{if(!(x!=null&&x.length))return;const{stopBranchFn:oe,stopAllFn:le}=re;for(let he=0;he<x.length;he++){const ge=x[he];if(b.hasNode(ge.id)&&!(oe!=null&&oe(ge))){if(le!=null&&le(ge))return;z==="TB"&&E(ge),hD(b,b.getChildren(ge.id,te),E,z,te,re),z!=="TB"&&E(ge)}}},SW={center:[0,0],linkDistance:50};class XN{constructor(x={}){this.options=x,this.id="mds",this.options=Object.assign(Object.assign({},SW),x)}execute(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){return this.genericMDSLayout(!1,x,E)})}assign(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){yield this.genericMDSLayout(!0,x,E)})}genericMDSLayout(x,E,z){return(0,Cn.mG)(this,void 0,void 0,function*(){const te=Object.assign(Object.assign({},this.options),z),{center:re=[0,0],linkDistance:oe=50}=te,le=E.getAllNodes(),he=E.getAllEdges();if(!(le!=null&&le.length)||le.length===1)return HE(E,x,re);const ge=ZN({nodes:le,edges:he},!1),Ae=KN(ge);wW(Ae);const Pe=EW(Ae,oe),We=CW(Pe),Xe=[];return We.forEach((nt,at)=>{const pt=C0(le[at]);pt.data.x=nt[0]+re[0],pt.data.y=nt[1]+re[1],Xe.push(pt)}),x&&Xe.forEach(nt=>E.mergeNodeData(nt.id,{x:nt.data.x,y:nt.data.y})),{nodes:Xe,edges:he}})}}const wW=b=>{let x=-999999;b.forEach(E=>{E.forEach(z=>{z!==1/0&&x<z&&(x=z)})}),b.forEach((E,z)=>{E.forEach((te,re)=>{te===1/0&&(b[z][re]=x)})})},CW=b=>{const E=mx.mul(mx.pow(b,2),-.5),z=E.mean("row"),te=E.mean("column"),re=E.mean();E.add(re).subRowVector(z).subColumnVector(te);const oe=new VN(E),le=mx.sqrt(oe.diagonalMatrix).diagonal();return oe.leftSingularVectors.toJSON().map(he=>mx.mul([he],[le]).toJSON()[0].splice(0,2))};function dD(b){return!!b.tick&&!!b.stop}const bW={gForce:!0,force2:!0,d3force:!0,fruchterman:!0,forceAtlas2:!0,force:!0,"graphin-force":!0},PW={center:[0,0],comboPadding:10,treeKey:"combo"};class MW{constructor(x={}){this.options=x,this.id="comboCombined",this.options=Object.assign(Object.assign({},PW),x)}execute(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){return this.genericComboCombinedLayout(!1,x,E)})}assign(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){yield this.genericComboCombinedLayout(!0,x,E)})}genericComboCombinedLayout(x,E,z){return(0,Cn.mG)(this,void 0,void 0,function*(){const te=this.initVals(Object.assign(Object.assign({},this.options),z)),{center:re,treeKey:oe,outerLayout:le}=te,he=E.getAllNodes().filter(Vt=>!Vt.data._isCombo),ge=E.getAllNodes().filter(Vt=>Vt.data._isCombo),Ae=E.getAllEdges(),Pe=he==null?void 0:he.length;if(!Pe||Pe===1)return HE(E,x,re);const We=[],Xe=new Map;he.forEach(Vt=>{Xe.set(Vt.id,Vt)});const qe=new Map;ge.forEach(Vt=>{qe.set(Vt.id,Vt)});const nt=new Map,at=this.getInnerGraphs(E,oe,Xe,qe,Ae,te,nt);yield Promise.all(at);const pt=new Map,mt=[],bt=new Map;let jt=!0;E.getRoots(oe).forEach(Vt=>{const vn=nt.get(Vt.id),wn=qe.get(Vt.id)||Xe.get(Vt.id),kn={id:Vt.id,data:Object.assign(Object.assign({},Vt.data),{x:vn.data.x||wn.data.x,y:vn.data.y||wn.data.y,fx:vn.data.fx||wn.data.fx,fy:vn.data.fy||wn.data.fy,mass:vn.data.mass||wn.data.mass,size:vn.data.size})};mt.push(kn),pt.set(Vt.id,!0),!isNaN(kn.data.x)&&kn.data.x!==0&&!isNaN(kn.data.y)&&kn.data.y!==0?jt=!1:(kn.data.x=Math.random()*100,kn.data.y=Math.random()*100),hD(E,[Vt],Vn=>{Vn.id!==Vt.id&&bt.set(Vn.id,Vt.id)},"TB",oe)});const Ut=[];Ae.forEach(Vt=>{const vn=bt.get(Vt.source)||Vt.source,wn=bt.get(Vt.target)||Vt.target;vn!==wn&&pt.has(vn)&&pt.has(wn)&&Ut.push({id:Vt.id,source:vn,target:wn,data:{}})});let Kt;if(mt!=null&&mt.length){if(mt.length===1)mt[0].data.x=re[0],mt[0].data.y=re[1];else{const Vt=new qd({nodes:mt,edges:Ut}),vn=le||new UN;jt&&bW[vn.id]&&(yield(mt.length<100?new XN:new aD).assign(Vt));const wn=Object.assign({center:re,kg:5,preventOverlap:!0,animate:!1},vn.id==="force"?{gravity:1,factor:4,linkDistance:(kn,Vn,vr)=>{const or=Math.max(...Vn.data.size)||32,Or=Math.max(...vr.data.size)||32;return or/2+Or/2+200}}:{});Kt=yield QN(vn,Vt,wn)}nt.forEach(Vt=>{var vn;const wn=Kt.nodes.find(vr=>vr.id===Vt.id);if(wn){const{x:vr,y:or}=wn.data;Vt.data.visited=!0,Vt.data.x=vr,Vt.data.y=or,We.push({id:Vt.id,data:{x:vr,y:or}})}const{x:kn,y:Vn}=Vt.data;(vn=Vt.data.nodes)===null||vn===void 0||vn.forEach(vr=>{We.push({id:vr.id,data:{x:vr.data.x+kn,y:vr.data.y+Vn}})})}),nt.forEach(({data:Vt})=>{const{x:vn,y:wn,visited:kn,nodes:Vn}=Vt;Vn==null||Vn.forEach(vr=>{if(!kn){const or=We.find(Or=>Or.id===vr.id);or.data.x+=vn||0,or.data.y+=wn||0}})})}return x&&We.forEach(Vt=>{E.mergeNodeData(Vt.id,{x:Vt.data.x,y:Vt.data.y})}),{nodes:We,edges:Ae}})}initVals(x){const E=Object.assign({},x),{nodeSize:z,spacing:te,comboPadding:re}=x;let oe,le;if(As(te)?le=()=>te:Ys(te)?le=te:le=()=>0,E.spacing=le,!z)oe=ge=>{const Ae=le(ge);return ge.size?e1(ge.size)?((ge.size[0]>ge.size[1]?ge.size[0]:ge.size[1])+Ae)/2:lh(ge.size)?((ge.size.width>ge.size.height?ge.size.width:ge.size.height)+Ae)/2:(ge.size+Ae)/2:32+Ae/2};else if(Ys(z))oe=ge=>{const Ae=z(ge),Pe=le(ge);return e1(ge.size)?((ge.size[0]>ge.size[1]?ge.size[0]:ge.size[1])+Pe)/2:((Ae||32)+Pe)/2};else if(e1(z)){const Ae=(z[0]>z[1]?z[0]:z[1])/2;oe=Pe=>Ae+le(Pe)/2}else{const ge=z/2;oe=Ae=>ge+le(Ae)/2}E.nodeSize=oe;let he;return As(re)?he=()=>re:e1(re)?he=()=>Math.max.apply(null,re):Ys(re)?he=re:he=()=>0,E.comboPadding=he,E}getInnerGraphs(x,E,z,te,re,oe,le){const{nodeSize:he,comboPadding:ge,spacing:Ae,innerLayout:Pe}=oe,We=Pe||new aD({}),Xe={center:[0,0],preventOverlap:!0,nodeSpacing:Ae},qe=[],nt=at=>{let pt=(ge==null?void 0:ge(at))||10;return e1(pt)&&(pt=Math.max(...pt)),{size:pt?[pt*2,pt*2]:[30,30],padding:pt}};return x.getRoots(E).forEach(at=>{le.set(at.id,{id:at.id,data:{nodes:[],size:nt(at).size}});let pt=Promise.resolve();hD(x,[at],mt=>{var bt;if(!mt.data._isCombo)return;const{size:jt,padding:Ut}=nt(mt);if(!(!((bt=x.getChildren(mt.id,E))===null||bt===void 0)&&bt.length))le.set(mt.id,{id:mt.id,data:Object.assign(Object.assign({},mt.data),{size:jt})});else{const Kt=le.get(mt.id);le.set(mt.id,{id:mt.id,data:Object.assign({nodes:[]},Kt==null?void 0:Kt.data)});const Qt=new Map,Vt=x.getChildren(mt.id,E).map(kn=>{if(kn.data._isCombo)return le.has(kn.id)||le.set(kn.id,{id:kn.id,data:Object.assign({},kn.data)}),Qt.set(kn.id,!0),le.get(kn.id);const Vn=z.get(kn.id)||te.get(kn.id);return Qt.set(kn.id,!0),{id:kn.id,data:Object.assign(Object.assign({},Vn.data),kn.data)}}),vn={nodes:Vt,edges:re.filter(kn=>Qt.has(kn.source)&&Qt.has(kn.target))};let wn=1/0;Vt.forEach(kn=>{var Vn;let{size:vr}=kn.data;vr||(vr=((Vn=le.get(kn.id))===null||Vn===void 0?void 0:Vn.data.size)||(he==null?void 0:he(kn))||[30,30]),As(vr)&&(vr=[vr,vr]);const[or,Or]=vr;wn>or&&(wn=or),wn>Or&&(wn=Or),kn.data.size=vr}),pt=pt.then(()=>(0,Cn.mG)(this,void 0,void 0,function*(){const kn=new qd(vn);yield QN(We,kn,Xe,!0);const{minX:Vn,minY:vr,maxX:or,maxY:Or}=AW(Vt),qr={x:(or+Vn)/2,y:(Or+vr)/2};vn.nodes.forEach(Sr=>{Sr.data.x-=qr.x,Sr.data.y-=qr.y});const wr=[Math.max(or-Vn,wn)+Ut*2,Math.max(Or-vr,wn)+Ut*2];le.get(mt.id).data.size=wr,le.get(mt.id).data.nodes=Vt}))}return!0},"BT",E),qe.push(pt)}),qe}}function QN(b,x,E,z){var te;return(0,Cn.mG)(this,void 0,void 0,function*(){return dD(b)?(b.execute(x,E),b.stop(),b.tick((te=E.iterations)!==null&&te!==void 0?te:300)):z?yield b.assign(x,E):yield b.execute(x,E)})}function Uf(b){return function(){return b}}function yx(b){return(b()-.5)*1e-6}function LW(b){return b.index}function JN(b,x){var E=b.get(x);if(!E)throw new Error("node not found: "+x);return E}function TW(b){var x=LW,E=Pe,z,te=Uf(30),re,oe,le,he,ge,Ae=1;b==null&&(b=[]);function Pe(at){return 1/Math.min(le[at.source.index],le[at.target.index])}function We(at){for(var pt=0,mt=b.length;pt<Ae;++pt)for(var bt=0,jt,Ut,Kt,Qt,Vt,vn,wn;bt<mt;++bt)jt=b[bt],Ut=jt.source,Kt=jt.target,Qt=Kt.x+Kt.vx-Ut.x-Ut.vx||yx(ge),Vt=Kt.y+Kt.vy-Ut.y-Ut.vy||yx(ge),vn=Math.sqrt(Qt*Qt+Vt*Vt),vn=(vn-re[bt])/vn*at*z[bt],Qt*=vn,Vt*=vn,Kt.vx-=Qt*(wn=he[bt]),Kt.vy-=Vt*wn,Ut.vx+=Qt*(wn=1-wn),Ut.vy+=Vt*wn}function Xe(){if(oe){var at,pt=oe.length,mt=b.length,bt=new Map(oe.map((Ut,Kt)=>[x(Ut,Kt,oe),Ut])),jt;for(at=0,le=new Array(pt);at<mt;++at)jt=b[at],jt.index=at,typeof jt.source!="object"&&(jt.source=JN(bt,jt.source)),typeof jt.target!="object"&&(jt.target=JN(bt,jt.target)),le[jt.source.index]=(le[jt.source.index]||0)+1,le[jt.target.index]=(le[jt.target.index]||0)+1;for(at=0,he=new Array(mt);at<mt;++at)jt=b[at],he[at]=le[jt.source.index]/(le[jt.source.index]+le[jt.target.index]);z=new Array(mt),qe(),re=new Array(mt),nt()}}function qe(){if(oe)for(var at=0,pt=b.length;at<pt;++at)z[at]=+E(b[at],at,b)}function nt(){if(oe)for(var at=0,pt=b.length;at<pt;++at)re[at]=+te(b[at],at,b)}return We.initialize=function(at,pt){oe=at,ge=pt,Xe()},We.links=function(at){return arguments.length?(b=at,Xe(),We):b},We.id=function(at){return arguments.length?(x=at,We):x},We.iterations=function(at){return arguments.length?(Ae=+at,We):Ae},We.strength=function(at){return arguments.length?(E=typeof at=="function"?at:Uf(+at),qe(),We):E},We.distance=function(at){return arguments.length?(te=typeof at=="function"?at:Uf(+at),nt(),We):te},We}var DW={value:()=>{}};function qN(){for(var b=0,x=arguments.length,E={},z;b<x;++b){if(!(z=arguments[b]+"")||z in E||/[\s.]/.test(z))throw new Error("illegal type: "+z);E[z]=[]}return new GM(E)}function GM(b){this._=b}function IW(b,x){return b.trim().split(/^|\s+/).map(function(E){var z="",te=E.indexOf(".");if(te>=0&&(z=E.slice(te+1),E=E.slice(0,te)),E&&!x.hasOwnProperty(E))throw new Error("unknown type: "+E);return{type:E,name:z}})}GM.prototype=qN.prototype={constructor:GM,on:function(b,x){var E=this._,z=IW(b+"",E),te,re=-1,oe=z.length;if(arguments.length<2){for(;++re<oe;)if((te=(b=z[re]).type)&&(te=OW(E[te],b.name)))return te;return}if(x!=null&&typeof x!="function")throw new Error("invalid callback: "+x);for(;++re<oe;)if(te=(b=z[re]).type)E[te]=$N(E[te],b.name,x);else if(x==null)for(te in E)E[te]=$N(E[te],b.name,null);return this},copy:function(){var b={},x=this._;for(var E in x)b[E]=x[E].slice();return new GM(b)},call:function(b,x){if((te=arguments.length-2)>0)for(var E=new Array(te),z=0,te,re;z<te;++z)E[z]=arguments[z+2];if(!this._.hasOwnProperty(b))throw new Error("unknown type: "+b);for(re=this._[b],z=0,te=re.length;z<te;++z)re[z].value.apply(x,E)},apply:function(b,x,E){if(!this._.hasOwnProperty(b))throw new Error("unknown type: "+b);for(var z=this._[b],te=0,re=z.length;te<re;++te)z[te].value.apply(x,E)}};function OW(b,x){for(var E=0,z=b.length,te;E<z;++E)if((te=b[E]).name===x)return te.value}function $N(b,x,E){for(var z=0,te=b.length;z<te;++z)if(b[z].name===x){b[z]=DW,b=b.slice(0,z).concat(b.slice(z+1));break}return E!=null&&b.push({name:x,value:E}),b}var NW=qN,IS=0,r2=0,i2=0,eB=1e3,HM,o2,VM=0,VE=0,KM=0,a2=typeof performance=="object"&&performance.now?performance:Date,tB=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(b){setTimeout(b,17)};function nB(){return VE||(tB(BW),VE=a2.now()+KM)}function BW(){VE=0}function fD(){this._call=this._time=this._next=null}fD.prototype=rB.prototype={constructor:fD,restart:function(b,x,E){if(typeof b!="function")throw new TypeError("callback is not a function");E=(E==null?nB():+E)+(x==null?0:+x),!this._next&&o2!==this&&(o2?o2._next=this:HM=this,o2=this),this._call=b,this._time=E,gD()},stop:function(){this._call&&(this._call=null,this._time=1/0,gD())}};function rB(b,x,E){var z=new fD;return z.restart(b,x,E),z}function RW(){nB(),++IS;for(var b=HM,x;b;)(x=VE-b._time)>=0&&b._call.call(void 0,x),b=b._next;--IS}function iB(){VE=(VM=a2.now())+KM,IS=r2=0;try{RW()}finally{IS=0,FW(),VE=0}}function kW(){var b=a2.now(),x=b-VM;x>eB&&(KM-=x,VM=b)}function FW(){for(var b,x=HM,E,z=1/0;x;)x._call?(z>x._time&&(z=x._time),b=x,x=x._next):(E=x._next,x._next=null,x=b?b._next=E:HM=E);o2=b,gD(z)}function gD(b){if(!IS){r2&&(r2=clearTimeout(r2));var x=b-VE;x>24?(b<1/0&&(r2=setTimeout(iB,b-a2.now()-KM)),i2&&(i2=clearInterval(i2))):(i2||(VM=a2.now(),i2=setInterval(kW,eB)),IS=1,tB(iB))}}const _W=1664525,zW=1013904223,oB=4294967296;function jW(){let b=1;return()=>(b=(_W*b+zW)%oB)/oB}function WW(b){return b.x}function UW(b){return b.y}var GW=10,HW=Math.PI*(3-Math.sqrt(5));function VW(b){var x,E=1,z=.001,te=1-Math.pow(z,1/300),re=0,oe=.6,le=new Map,he=rB(Pe),ge=NW("tick","end"),Ae=jW();b==null&&(b=[]);function Pe(){We(),ge.call("tick",x),E<z&&(he.stop(),ge.call("end",x))}function We(nt){var at,pt=b.length,mt;nt===void 0&&(nt=1);for(var bt=0;bt<nt;++bt)for(E+=(re-E)*te,le.forEach(function(jt){jt(E)}),at=0;at<pt;++at)mt=b[at],mt.fx==null?mt.x+=mt.vx*=oe:(mt.x=mt.fx,mt.vx=0),mt.fy==null?mt.y+=mt.vy*=oe:(mt.y=mt.fy,mt.vy=0);return x}function Xe(){for(var nt=0,at=b.length,pt;nt<at;++nt){if(pt=b[nt],pt.index=nt,pt.fx!=null&&(pt.x=pt.fx),pt.fy!=null&&(pt.y=pt.fy),isNaN(pt.x)||isNaN(pt.y)){var mt=GW*Math.sqrt(.5+nt),bt=nt*HW;pt.x=mt*Math.cos(bt),pt.y=mt*Math.sin(bt)}(isNaN(pt.vx)||isNaN(pt.vy))&&(pt.vx=pt.vy=0)}}function qe(nt){return nt.initialize&&nt.initialize(b,Ae),nt}return Xe(),x={tick:We,restart:function(){return he.restart(Pe),x},stop:function(){return he.stop(),x},nodes:function(nt){return arguments.length?(b=nt,Xe(),le.forEach(qe),x):b},alpha:function(nt){return arguments.length?(E=+nt,x):E},alphaMin:function(nt){return arguments.length?(z=+nt,x):z},alphaDecay:function(nt){return arguments.length?(te=+nt,x):+te},alphaTarget:function(nt){return arguments.length?(re=+nt,x):re},velocityDecay:function(nt){return arguments.length?(oe=1-nt,x):1-oe},randomSource:function(nt){return arguments.length?(Ae=nt,le.forEach(qe),x):Ae},force:function(nt,at){return arguments.length>1?(at==null?le.delete(nt):le.set(nt,qe(at)),x):le.get(nt)},find:function(nt,at,pt){var mt=0,bt=b.length,jt,Ut,Kt,Qt,Vt;for(pt==null?pt=1/0:pt*=pt,mt=0;mt<bt;++mt)Qt=b[mt],jt=nt-Qt.x,Ut=at-Qt.y,Kt=jt*jt+Ut*Ut,Kt<pt&&(Vt=Qt,pt=Kt);return Vt},on:function(nt,at){return arguments.length>1?(ge.on(nt,at),x):ge.on(nt)}}}function KW(){var b,x,E,z,te=Uf(-30),re,oe=1,le=1/0,he=.81;function ge(Xe){var qe,nt=b.length,at=UM(b,WW,UW).visitAfter(Pe);for(z=Xe,qe=0;qe<nt;++qe)x=b[qe],at.visit(We)}function Ae(){if(b){var Xe,qe=b.length,nt;for(re=new Array(qe),Xe=0;Xe<qe;++Xe)nt=b[Xe],re[nt.index]=+te(nt,Xe,b)}}function Pe(Xe){var qe=0,nt,at,pt=0,mt,bt,jt;if(Xe.length){for(mt=bt=jt=0;jt<4;++jt)(nt=Xe[jt])&&(at=Math.abs(nt.value))&&(qe+=nt.value,pt+=at,mt+=at*nt.x,bt+=at*nt.y);Xe.x=mt/pt,Xe.y=bt/pt}else{nt=Xe,nt.x=nt.data.x,nt.y=nt.data.y;do qe+=re[nt.data.index];while(nt=nt.next)}Xe.value=qe}function We(Xe,qe,nt,at){if(!Xe.value)return!0;var pt=Xe.x-x.x,mt=Xe.y-x.y,bt=at-qe,jt=pt*pt+mt*mt;if(bt*bt/he<jt)return jt<le&&(pt===0&&(pt=yx(E),jt+=pt*pt),mt===0&&(mt=yx(E),jt+=mt*mt),jt<oe&&(jt=Math.sqrt(oe*jt)),x.vx+=pt*Xe.value*z/jt,x.vy+=mt*Xe.value*z/jt),!0;if(Xe.length||jt>=le)return;(Xe.data!==x||Xe.next)&&(pt===0&&(pt=yx(E),jt+=pt*pt),mt===0&&(mt=yx(E),jt+=mt*mt),jt<oe&&(jt=Math.sqrt(oe*jt)));do Xe.data!==x&&(bt=re[Xe.data.index]*z/jt,x.vx+=pt*bt,x.vy+=mt*bt);while(Xe=Xe.next)}return ge.initialize=function(Xe,qe){b=Xe,E=qe,Ae()},ge.strength=function(Xe){return arguments.length?(te=typeof Xe=="function"?Xe:Uf(+Xe),Ae(),ge):te},ge.distanceMin=function(Xe){return arguments.length?(oe=Xe*Xe,ge):Math.sqrt(oe)},ge.distanceMax=function(Xe){return arguments.length?(le=Xe*Xe,ge):Math.sqrt(le)},ge.theta=function(Xe){return arguments.length?(he=Xe*Xe,ge):Math.sqrt(he)},ge}function ZW(b,x){var E,z=1;b==null&&(b=0),x==null&&(x=0);function te(){var re,oe=E.length,le,he=0,ge=0;for(re=0;re<oe;++re)le=E[re],he+=le.x,ge+=le.y;for(he=(he/oe-b)*z,ge=(ge/oe-x)*z,re=0;re<oe;++re)le=E[re],le.x-=he,le.y-=ge}return te.initialize=function(re){E=re},te.x=function(re){return arguments.length?(b=+re,te):b},te.y=function(re){return arguments.length?(x=+re,te):x},te.strength=function(re){return arguments.length?(z=+re,te):z},te}function YW(b){return b.x+b.vx}function XW(b){return b.y+b.vy}function QW(b){var x,E,z,te=1,re=1;typeof b!="function"&&(b=Uf(b==null?1:+b));function oe(){for(var ge,Ae=x.length,Pe,We,Xe,qe,nt,at,pt=0;pt<re;++pt)for(Pe=UM(x,YW,XW).visitAfter(le),ge=0;ge<Ae;++ge)We=x[ge],nt=E[We.index],at=nt*nt,Xe=We.x+We.vx,qe=We.y+We.vy,Pe.visit(mt);function mt(bt,jt,Ut,Kt,Qt){var Vt=bt.data,vn=bt.r,wn=nt+vn;if(Vt){if(Vt.index>We.index){var kn=Xe-Vt.x-Vt.vx,Vn=qe-Vt.y-Vt.vy,vr=kn*kn+Vn*Vn;vr<wn*wn&&(kn===0&&(kn=yx(z),vr+=kn*kn),Vn===0&&(Vn=yx(z),vr+=Vn*Vn),vr=(wn-(vr=Math.sqrt(vr)))/vr*te,We.vx+=(kn*=vr)*(wn=(vn*=vn)/(at+vn)),We.vy+=(Vn*=vr)*wn,Vt.vx-=kn*(wn=1-wn),Vt.vy-=Vn*wn)}return}return jt>Xe+wn||Kt<Xe-wn||Ut>qe+wn||Qt<qe-wn}}function le(ge){if(ge.data)return ge.r=E[ge.data.index];for(var Ae=ge.r=0;Ae<4;++Ae)ge[Ae]&&ge[Ae].r>ge.r&&(ge.r=ge[Ae].r)}function he(){if(x){var ge,Ae=x.length,Pe;for(E=new Array(Ae),ge=0;ge<Ae;++ge)Pe=x[ge],E[Pe.index]=+b(Pe,ge,x)}}return oe.initialize=function(ge,Ae){x=ge,z=Ae,he()},oe.iterations=function(ge){return arguments.length?(re=+ge,oe):re},oe.strength=function(ge){return arguments.length?(te=+ge,oe):te},oe.radius=function(ge){return arguments.length?(b=typeof ge=="function"?ge:Uf(+ge),he(),oe):b},oe}function JW(b,x,E){var z,te=Uf(.1),re,oe;typeof b!="function"&&(b=Uf(+b)),x==null&&(x=0),E==null&&(E=0);function le(ge){for(var Ae=0,Pe=z.length;Ae<Pe;++Ae){var We=z[Ae],Xe=We.x-x||1e-6,qe=We.y-E||1e-6,nt=Math.sqrt(Xe*Xe+qe*qe),at=(oe[Ae]-nt)*re[Ae]*ge/nt;We.vx+=Xe*at,We.vy+=qe*at}}function he(){if(z){var ge,Ae=z.length;for(re=new Array(Ae),oe=new Array(Ae),ge=0;ge<Ae;++ge)oe[ge]=+b(z[ge],ge,z),re[ge]=isNaN(oe[ge])?0:+te(z[ge],ge,z)}}return le.initialize=function(ge){z=ge,he()},le.strength=function(ge){return arguments.length?(te=typeof ge=="function"?ge:Uf(+ge),he(),le):te},le.radius=function(ge){return arguments.length?(b=typeof ge=="function"?ge:Uf(+ge),he(),le):b},le.x=function(ge){return arguments.length?(x=+ge,le):x},le.y=function(ge){return arguments.length?(E=+ge,le):E},le}function qW(b){var x=Uf(.1),E,z,te;typeof b!="function"&&(b=Uf(b==null?0:+b));function re(le){for(var he=0,ge=E.length,Ae;he<ge;++he)Ae=E[he],Ae.vx+=(te[he]-Ae.x)*z[he]*le}function oe(){if(E){var le,he=E.length;for(z=new Array(he),te=new Array(he),le=0;le<he;++le)z[le]=isNaN(te[le]=+b(E[le],le,E))?0:+x(E[le],le,E)}}return re.initialize=function(le){E=le,oe()},re.strength=function(le){return arguments.length?(x=typeof le=="function"?le:Uf(+le),oe(),re):x},re.x=function(le){return arguments.length?(b=typeof le=="function"?le:Uf(+le),oe(),re):b},re}function $W(b){var x=Uf(.1),E,z,te;typeof b!="function"&&(b=Uf(b==null?0:+b));function re(le){for(var he=0,ge=E.length,Ae;he<ge;++he)Ae=E[he],Ae.vy+=(te[he]-Ae.y)*z[he]*le}function oe(){if(E){var le,he=E.length;for(z=new Array(he),te=new Array(he),le=0;le<he;++le)z[le]=isNaN(te[le]=+b(E[le],le,E))?0:+x(E[le],le,E)}}return re.initialize=function(le){E=le,oe()},re.strength=function(le){return arguments.length?(x=typeof le=="function"?le:Uf(+le),oe(),re):x},re.y=function(le){return arguments.length?(b=typeof le=="function"?le:Uf(+le),oe(),re):b},re}class eU{constructor(x){this.id="d3-force",this.config={inputNodeAttrs:["x","y","vx","vy","fx","fy"],outputNodeAttrs:["x","y","vx","vy"],simulationAttrs:["alpha","alphaMin","alphaDecay","alphaTarget","velocityDecay","randomSource"]},this.forceMap={link:TW,manyBody:KW,center:ZW,collide:QW,radial:JW,x:qW,y:$W},this.options={link:{id:E=>E.id},manyBody:{},center:{x:0,y:0}},this.context={options:{},assign:!1,nodes:[],edges:[]},yp(this.options,x),this.options.forceSimulation&&(this.simulation=this.options.forceSimulation)}execute(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){return this.genericLayout(!1,x,E)})}assign(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){yield this.genericLayout(!0,x,E)})}stop(){this.simulation.stop()}tick(x){return this.simulation.tick(x),this.getResult()}restart(){this.simulation.restart()}setFixedPosition(x,E){const z=this.context.nodes.find(te=>te.id===x);z&&E.forEach((te,re)=>{if(typeof te=="number"||te===null){const oe=["fx","fy","fz"][re];z[oe]=te}})}getOptions(x){var E,z;const te=yp({},this.options,x);return te.collide&&((E=te.collide)===null||E===void 0?void 0:E.radius)===void 0&&(te.collide=te.collide||{},te.collide.radius=(z=te.nodeSize)!==null&&z!==void 0?z:10),te.iterations===void 0&&(te.link&&te.link.iterations===void 0&&(te.iterations=te.link.iterations),te.collide&&te.collide.iterations===void 0&&(te.iterations=te.collide.iterations)),this.context.options=te,te}genericLayout(x,E,z){var te;return(0,Cn.mG)(this,void 0,void 0,function*(){const re=this.getOptions(z),oe=E.getAllNodes().map(({id:Ae,data:Pe})=>Object.assign(Object.assign({id:Ae},Pe),jE(Pe.data,this.config.inputNodeAttrs))),le=E.getAllEdges().map(Ae=>Object.assign({},Ae));Object.assign(this.context,{assign:x,nodes:oe,edges:le,graph:E});const he=new Promise(Ae=>{this.resolver=Ae}),ge=this.setSimulation(re);return ge.nodes(oe),(te=ge.force("link"))===null||te===void 0||te.links(le),he})}getResult(){const{assign:x,nodes:E,edges:z,graph:te}=this.context,re=E.map(le=>({id:le.id,data:Object.assign(Object.assign({},le.data),jE(le,this.config.outputNodeAttrs))})),oe=z.map(({id:le,source:he,target:ge,data:Ae})=>({id:le,source:typeof he=="object"?he.id:he,target:typeof ge=="object"?ge.id:ge,data:Ae}));return x&&re.forEach(le=>te.mergeNodeData(le.id,le.data)),{nodes:re,edges:oe}}initSimulation(){return VW()}setSimulation(x){const E=this.simulation||this.options.forceSimulation||this.initSimulation();return this.simulation||(this.simulation=E.on("tick",()=>{var z;return(z=x.onTick)===null||z===void 0?void 0:z.call(x,this.getResult())}).on("end",()=>{var z;return(z=this.resolver)===null||z===void 0?void 0:z.call(this,this.getResult())})),aB(E,this.config.simulationAttrs.map(z=>[z,x[z]])),Object.entries(this.forceMap).forEach(([z,te])=>{const re=z;if(x[z]){let oe=E.force(re);oe||(oe=te(),E.force(re,oe)),aB(oe,Object.entries(x[re]))}else E.force(re,null)}),E}}const aB=(b,x)=>x.reduce((E,[z,te])=>!E[z]||te===void 0?E:E[z].call(b,te),b);var sB=Oe(92546),tU=Oe.n(sB);class ZM{constructor(x){this.id="dagre",this.options={},Object.assign(this.options,ZM.defaultOptions,x)}execute(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,x,Object.assign(Object.assign({},this.options),E))})}assign(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,x,Object.assign(Object.assign({},this.options),E))})}genericDagreLayout(x,E,z){return(0,Cn.mG)(this,void 0,void 0,function*(){const{nodeSize:te}=z,re=new sB.graphlib.Graph;re.setGraph(z),re.setDefaultEdgeLabel(()=>({}));const oe=E.getAllNodes(),le=E.getAllEdges();[...oe,...le].some(({id:ge})=>As(ge))&&console.error("Dagre layout only support string id, it will convert number to string."),E.getAllNodes().forEach(ge=>{const{id:Ae}=ge,Pe=Object.assign({},ge.data);if(te!==void 0){const[We,Xe]=n2(Ys(te)?te(ge):te);Object.assign(Pe,{width:We,height:Xe})}re.setNode(Ae.toString(),Pe)}),E.getAllEdges().forEach(({id:ge,source:Ae,target:Pe})=>{re.setEdge(Ae.toString(),Pe.toString(),{id:ge})}),tU().layout(re);const he={nodes:[],edges:[]};return re.nodes().forEach(ge=>{const Ae=re.node(ge);he.nodes.push({id:ge,data:Ae}),x&&E.mergeNodeData(ge,Ae)}),re.edges().forEach(ge=>{const Ae=re.edge(ge),{id:Pe}=Ae,We=(0,Cn._T)(Ae,["id"]),{v:Xe,w:qe}=ge;he.edges.push({id:Pe,source:Xe,target:qe,data:We}),x&&E.mergeEdgeData(Pe,We)}),he})}}ZM.defaultOptions={};class pD{constructor(x){this.id=x.id||0,this.rx=x.rx,this.ry=x.ry,this.fx=0,this.fy=0,this.mass=x.mass,this.degree=x.degree,this.g=x.g||0}distanceTo(x){const E=this.rx-x.rx,z=this.ry-x.ry;return Math.hypot(E,z)}setPos(x,E){this.rx=x,this.ry=E}resetForce(){this.fx=0,this.fy=0}addForce(x){const E=x.rx-this.rx,z=x.ry-this.ry;let te=Math.hypot(E,z);te=te<1e-4?1e-4:te;const re=this.g*(this.degree+1)*(x.degree+1)/te;this.fx+=re*E/te,this.fy+=re*z/te}in(x){return x.contains(this.rx,this.ry)}add(x){const E=this.mass+x.mass,z=(this.rx*this.mass+x.rx*x.mass)/E,te=(this.ry*this.mass+x.ry*x.mass)/E,re=this.degree+x.degree,oe={rx:z,ry:te,mass:E,degree:re};return new pD(oe)}}class OS{constructor(x){this.xmid=x.xmid,this.ymid=x.ymid,this.length=x.length,this.massCenter=x.massCenter||[0,0],this.mass=x.mass||1}getLength(){return this.length}contains(x,E){const z=this.length/2;return x<=this.xmid+z&&x>=this.xmid-z&&E<=this.ymid+z&&E>=this.ymid-z}NW(){const x=this.xmid-this.length/4,E=this.ymid+this.length/4,z=this.length/2,te={xmid:x,ymid:E,length:z};return new OS(te)}NE(){const x=this.xmid+this.length/4,E=this.ymid+this.length/4,z=this.length/2,te={xmid:x,ymid:E,length:z};return new OS(te)}SW(){const x=this.xmid-this.length/4,E=this.ymid-this.length/4,z=this.length/2,te={xmid:x,ymid:E,length:z};return new OS(te)}SE(){const x=this.xmid+this.length/4,E=this.ymid-this.length/4,z=this.length/2,te={xmid:x,ymid:E,length:z};return new OS(te)}}class NS{constructor(x){this.body=null,this.quad=null,this.NW=null,this.NE=null,this.SW=null,this.SE=null,this.theta=.5,x!=null&&(this.quad=x)}insert(x){if(this.body==null){this.body=x;return}this._isExternal()?(this.quad&&(this.NW=new NS(this.quad.NW()),this.NE=new NS(this.quad.NE()),this.SW=new NS(this.quad.SW()),this.SE=new NS(this.quad.SE())),this._putBody(this.body),this._putBody(x),this.body=this.body.add(x)):(this.body=this.body.add(x),this._putBody(x))}_putBody(x){this.quad&&(x.in(this.quad.NW())&&this.NW?this.NW.insert(x):x.in(this.quad.NE())&&this.NE?this.NE.insert(x):x.in(this.quad.SW())&&this.SW?this.SW.insert(x):x.in(this.quad.SE())&&this.SE&&this.SE.insert(x))}_isExternal(){return this.NW==null&&this.NE==null&&this.SW==null&&this.SE==null}updateForce(x){if(!(this.body==null||x===this.body))if(this._isExternal())x.addForce(this.body);else{const E=this.quad?this.quad.getLength():0,z=this.body.distanceTo(x);E/z<this.theta?x.addForce(this.body):(this.NW&&this.NW.updateForce(x),this.NE&&this.NE.updateForce(x),this.SW&&this.SW.updateForce(x),this.SE&&this.SE.updateForce(x))}}}const nU={center:[0,0],width:300,height:300,kr:5,kg:1,mode:"normal",preventOverlap:!1,dissuadeHubs:!1,maxIteration:0,ks:.1,ksmax:10,tao:.1};class rU{constructor(x={}){this.options=x,this.id="forceAtlas2",this.options=Object.assign(Object.assign({},nU),x)}execute(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){return this.genericForceAtlas2Layout(!1,x,E)})}assign(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){yield this.genericForceAtlas2Layout(!0,x,E)})}genericForceAtlas2Layout(x,E,z){return(0,Cn.mG)(this,void 0,void 0,function*(){const te=E.getAllEdges(),re=E.getAllNodes(),oe=this.formatOptions(z,re.length),{width:le,height:he,prune:ge,maxIteration:Ae,nodeSize:Pe,center:We}=oe;if(!(re!=null&&re.length)||re.length===1)return HE(E,x,We);const Xe=re.map(pt=>C0(pt,[le,he])),qe=te.filter(pt=>{const{source:mt,target:bt}=pt;return mt!==bt}),nt=new qd({nodes:Xe,edges:qe}),at=this.getSizes(nt,Pe);if(this.run(nt,E,Ae,at,x,oe),ge){for(let mt=0;mt<qe.length;mt+=1){const{source:bt,target:jt}=qe[mt],Ut=nt.getDegree(bt),Kt=nt.getDegree(bt);if(Ut<=1){const Qt=nt.getNode(jt);nt.mergeNodeData(bt,{x:Qt.data.x,y:Qt.data.y})}else if(Kt<=1){const Qt=nt.getNode(bt);nt.mergeNodeData(jt,{x:Qt.data.x,y:Qt.data.y})}}const pt=Object.assign(Object.assign({},oe),{prune:!1,barnesHut:!1});this.run(nt,E,100,at,x,pt)}return{nodes:Xe,edges:te}})}getSizes(x,E){const z=x.getAllNodes(),te={};for(let re=0;re<z.length;re+=1){const oe=z[re];te[oe.id]=iD(E,void 0)(oe)}return te}formatOptions(x={},E){const z=Object.assign(Object.assign({},this.options),x),{center:te,width:re,height:oe,barnesHut:le,prune:he,maxIteration:ge,kr:Ae,kg:Pe}=z;return z.width=!re&&typeof window!="undefined"?window.innerWidth:re,z.height=!oe&&typeof window!="undefined"?window.innerHeight:oe,z.center=te||[z.width/2,z.height/2],le===void 0&&E>250&&(z.barnesHut=!0),he===void 0&&E>100&&(z.prune=!0),ge===0&&!he?(z.maxIteration=250,E<=200&&E>100?z.maxIteration=1e3:E>200&&(z.maxIteration=1200)):ge===0&&he&&(z.maxIteration=100,E<=200&&E>100?z.maxIteration=500:E>200&&(z.maxIteration=950)),Ae||(z.kr=50,E>100&&E<=500?z.kr=20:E>500&&(z.kr=1)),Pe||(z.kg=20,E>100&&E<=500?z.kg=10:E>500&&(z.kg=1)),z}run(x,E,z,te,re,oe){const{kr:le,barnesHut:he,onTick:ge}=oe,Ae=x.getAllNodes();let Pe=0,We=z;const Xe={},qe={},nt={};for(let at=0;at<Ae.length;at+=1){const{data:pt,id:mt}=Ae[at];if(Xe[mt]=[0,0],he){const bt={id:at,rx:pt.x,ry:pt.y,mass:1,g:le,degree:x.getDegree(mt)};nt[mt]=new pD(bt)}}for(;We>0;)Pe=this.oneStep(x,{iter:We,preventOverlapIters:50,krPrime:100,sg:Pe,forces:Xe,preForces:qe,bodies:nt,sizes:te},oe),We--,ge==null||ge({nodes:Ae,edges:E.getAllEdges()});return x}oneStep(x,E,z){const{iter:te,preventOverlapIters:re,krPrime:oe,sg:le,preForces:he,bodies:ge,sizes:Ae}=E;let{forces:Pe}=E;const{preventOverlap:We,barnesHut:Xe}=z,qe=x.getAllNodes();for(let nt=0;nt<qe.length;nt+=1){const{id:at}=qe[nt];he[at]=[...Pe[at]],Pe[at]=[0,0]}return Pe=this.getAttrForces(x,te,re,Ae,Pe,z),Xe&&(We&&te>re||!We)?Pe=this.getOptRepGraForces(x,Pe,ge,z):Pe=this.getRepGraForces(x,te,re,Pe,oe,Ae,z),this.updatePos(x,Pe,he,le,z)}getAttrForces(x,E,z,te,re,oe){const{preventOverlap:le,dissuadeHubs:he,mode:ge,prune:Ae}=oe,Pe=x.getAllEdges();for(let We=0;We<Pe.length;We+=1){const{source:Xe,target:qe}=Pe[We],nt=x.getNode(Xe),at=x.getNode(qe),pt=x.getDegree(Xe),mt=x.getDegree(qe);if(Ae&&(pt<=1||mt<=1))continue;const bt=[at.data.x-nt.data.x,at.data.y-nt.data.y];let jt=Math.hypot(bt[0],bt[1]);jt=jt<1e-4?1e-4:jt,bt[0]=bt[0]/jt,bt[1]=bt[1]/jt,le&&E<z&&(jt=jt-te[Xe]-te[qe]);let Ut=jt,Kt=Ut;ge==="linlog"&&(Ut=Math.log(1+jt),Kt=Ut),he&&(Ut=jt/pt,Kt=jt/mt),le&&E<z&&jt<=0?(Ut=0,Kt=0):le&&E<z&&jt>0&&(Ut=jt,Kt=jt),re[Xe][0]+=Ut*bt[0],re[qe][0]-=Kt*bt[0],re[Xe][1]+=Ut*bt[1],re[qe][1]-=Kt*bt[1]}return re}getOptRepGraForces(x,E,z,te){const{kg:re,center:oe,prune:le}=te,he=x.getAllNodes(),ge=he.length;let Ae=9e10,Pe=-9e10,We=9e10,Xe=-9e10;for(let mt=0;mt<ge;mt+=1){const{id:bt,data:jt}=he[mt];le&&x.getDegree(bt)<=1||(z[bt].setPos(jt.x,jt.y),jt.x>=Pe&&(Pe=jt.x),jt.x<=Ae&&(Ae=jt.x),jt.y>=Xe&&(Xe=jt.y),jt.y<=We&&(We=jt.y))}const qe=Math.max(Pe-Ae,Xe-We),nt={xmid:(Pe+Ae)/2,ymid:(Xe+We)/2,length:qe,massCenter:oe,mass:ge},at=new OS(nt),pt=new NS(at);for(let mt=0;mt<ge;mt+=1){const{id:bt}=he[mt];le&&x.getDegree(bt)<=1||z[bt].in(at)&&pt.insert(z[bt])}for(let mt=0;mt<ge;mt+=1){const{id:bt,data:jt}=he[mt],Ut=x.getDegree(bt);if(le&&Ut<=1)continue;z[bt].resetForce(),pt.updateForce(z[bt]),E[bt][0]-=z[bt].fx,E[bt][1]-=z[bt].fy;const Kt=[jt.x-oe[0],jt.y-oe[1]];let Qt=Math.hypot(Kt[0],Kt[1]);Qt=Qt<1e-4?1e-4:Qt,Kt[0]=Kt[0]/Qt,Kt[1]=Kt[1]/Qt;const Vt=re*(Ut+1);E[bt][0]-=Vt*Kt[0],E[bt][1]-=Vt*Kt[1]}return E}getRepGraForces(x,E,z,te,re,oe,le){const{preventOverlap:he,kr:ge,kg:Ae,center:Pe,prune:We}=le,Xe=x.getAllNodes(),qe=Xe.length;for(let nt=0;nt<qe;nt+=1){const at=Xe[nt],pt=x.getDegree(at.id);for(let Ut=nt+1;Ut<qe;Ut+=1){const Kt=Xe[Ut],Qt=x.getDegree(Kt.id);if(We&&(pt<=1||Qt<=1))continue;const Vt=[Kt.data.x-at.data.x,Kt.data.y-at.data.y];let vn=Math.hypot(Vt[0],Vt[1]);vn=vn<1e-4?1e-4:vn,Vt[0]=Vt[0]/vn,Vt[1]=Vt[1]/vn,he&&E<z&&(vn=vn-oe[at.id]-oe[Kt.id]);let wn=ge*(pt+1)*(Qt+1)/vn;he&&E<z&&vn<0?wn=re*(pt+1)*(Qt+1):he&&E<z&&vn===0?wn=0:he&&E<z&&vn>0&&(wn=ge*(pt+1)*(Qt+1)/vn),te[at.id][0]-=wn*Vt[0],te[Kt.id][0]+=wn*Vt[0],te[at.id][1]-=wn*Vt[1],te[Kt.id][1]+=wn*Vt[1]}const mt=[at.data.x-Pe[0],at.data.y-Pe[1]],bt=Math.hypot(mt[0],mt[1]);mt[0]=mt[0]/bt,mt[1]=mt[1]/bt;const jt=Ae*(pt+1);te[at.id][0]-=jt*mt[0],te[at.id][1]-=jt*mt[1]}return te}updatePos(x,E,z,te,re){const{ks:oe,tao:le,prune:he,ksmax:ge}=re,Ae=x.getAllNodes(),Pe=Ae.length,We=[],Xe=[];let qe=0,nt=0,at=te;for(let mt=0;mt<Pe;mt+=1){const{id:bt}=Ae[mt],jt=x.getDegree(bt);if(he&&jt<=1)continue;const Ut=[E[bt][0]-z[bt][0],E[bt][1]-z[bt][1]],Kt=Math.hypot(Ut[0],Ut[1]),Qt=[E[bt][0]+z[bt][0],E[bt][1]+z[bt][1]],Vt=Math.hypot(Qt[0],Qt[1]);We[mt]=Kt,Xe[mt]=Vt/2,qe+=(jt+1)*We[mt],nt+=(jt+1)*Xe[mt]}const pt=at;at=le*nt/qe,pt!==0&&(at=at>1.5*pt?1.5*pt:at);for(let mt=0;mt<Pe;mt+=1){const{id:bt,data:jt}=Ae[mt],Ut=x.getDegree(bt);if(he&&Ut<=1||As(jt.fx)&&As(jt.fy))continue;let Kt=oe*at/(1+at*Math.sqrt(We[mt])),Qt=Math.hypot(E[bt][0],E[bt][1]);Qt=Qt<1e-4?1e-4:Qt;const Vt=ge/Qt;Kt=Kt>Vt?Vt:Kt;const vn=Kt*E[bt][0],wn=Kt*E[bt][1];x.mergeNodeData(bt,{x:jt.x+vn,y:jt.y+wn})}return at}}const iU={maxIteration:1e3,gravity:10,speed:5,clustering:!1,clusterGravity:10,width:300,height:300,nodeClusterBy:"cluster"},oU=800;class aU{constructor(x={}){this.options=x,this.id="fruchterman",this.timeInterval=0,this.running=!1,this.options=Object.assign(Object.assign({},iU),x)}execute(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){return this.genericFruchtermanLayout(!1,x,E)})}assign(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){yield this.genericFruchtermanLayout(!0,x,E)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(x=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let z=0;z<x;z++)this.runOneStep(this.lastGraph,this.lastClusterMap,this.lastOptions);const E={nodes:this.lastLayoutNodes,edges:this.lastLayoutEdges};return this.lastAssign&&E.nodes.forEach(z=>this.lastGraph.mergeNodeData(z.id,{x:z.data.x,y:z.data.y,z:this.options.dimensions===3?z.data.z:void 0})),E}genericFruchtermanLayout(x,E,z){return(0,Cn.mG)(this,void 0,void 0,function*(){if(this.running)return;const te=this.formatOptions(z),{dimensions:re,width:oe,height:le,center:he,clustering:ge,nodeClusterBy:Ae,maxIteration:Pe,onTick:We}=te,Xe=E.getAllNodes(),qe=E.getAllEdges();if(!(Xe!=null&&Xe.length)){const bt={nodes:[],edges:qe};return this.lastResult=bt,bt}if(Xe.length===1){x&&E.mergeNodeData(Xe[0].id,{x:he[0],y:he[1],z:re===3?he[2]:void 0});const bt={nodes:[Object.assign(Object.assign({},Xe[0]),{data:Object.assign(Object.assign({},Xe[0].data),{x:he[0],y:he[1],z:re===3?he[2]:void 0})})],edges:qe};return this.lastResult=bt,bt}const nt=Xe.map(bt=>C0(bt,[oe,le])),at=new qd({nodes:nt,edges:qe}),pt={};if(ge&&nt.forEach(bt=>{const jt=bt.data[Ae];pt[jt]||(pt[jt]={name:jt,cx:0,cy:0,count:0})}),this.lastLayoutNodes=nt,this.lastLayoutEdges=qe,this.lastAssign=x,this.lastGraph=at,this.lastOptions=te,this.lastClusterMap=pt,typeof window=="undefined")return;let mt=0;return new Promise(bt=>{this.timeInterval=window.setInterval(()=>{if(!this.running){bt({nodes:nt,edges:qe});return}this.runOneStep(at,pt,te),x&&nt.forEach(({id:jt,data:Ut})=>E.mergeNodeData(jt,{x:Ut.x,y:Ut.y,z:re===3?Ut.z:void 0})),We==null||We({nodes:nt,edges:qe}),mt++,mt>=Pe&&(window.clearInterval(this.timeInterval),bt({nodes:nt,edges:qe}))},0),this.running=!0})})}formatOptions(x={}){const E=Object.assign(Object.assign({},this.options),x),{clustering:z,nodeClusterBy:te}=E,{center:re,width:oe,height:le}=E;return E.width=!oe&&typeof window!="undefined"?window.innerWidth:oe,E.height=!le&&typeof window!="undefined"?window.innerHeight:le,E.center=re||[E.width/2,E.height/2],E.clustering=z&&!!te,E}runOneStep(x,E,z){const{dimensions:te,height:re,width:oe,gravity:le,center:he,speed:ge,clustering:Ae,nodeClusterBy:Pe,clusterGravity:We}=z,Xe=re*oe,qe=Math.sqrt(Xe)/10,nt=x.getAllNodes(),at=Xe/(nt.length+1),pt=Math.sqrt(at),mt={};if(this.applyCalculate(x,mt,pt,at),Ae){for(const jt in E)E[jt].cx=0,E[jt].cy=0,E[jt].count=0;nt.forEach(jt=>{const{data:Ut}=jt,Kt=E[Ut[Pe]];As(Ut.x)&&(Kt.cx+=Ut.x),As(Ut.y)&&(Kt.cy+=Ut.y),Kt.count++});for(const jt in E)E[jt].cx/=E[jt].count,E[jt].cy/=E[jt].count;const bt=We||le;nt.forEach((jt,Ut)=>{const{id:Kt,data:Qt}=jt;if(!As(Qt.x)||!As(Qt.y))return;const Vt=E[Qt[Pe]],vn=Math.sqrt((Qt.x-Vt.cx)*(Qt.x-Vt.cx)+(Qt.y-Vt.cy)*(Qt.y-Vt.cy)),wn=pt*bt;mt[Kt].x-=wn*(Qt.x-Vt.cx)/vn,mt[Kt].y-=wn*(Qt.y-Vt.cy)/vn})}nt.forEach((bt,jt)=>{const{id:Ut,data:Kt}=bt;if(!As(Kt.x)||!As(Kt.y))return;const Qt=.01*pt*le;mt[Ut].x-=Qt*(Kt.x-he[0]),mt[Ut].y-=Qt*(Kt.y-he[1]),te===3&&(mt[Ut].z-=Qt*(Kt.z-he[2]))}),nt.forEach((bt,jt)=>{const{id:Ut,data:Kt}=bt;if(As(Kt.fx)&&As(Kt.fy)){Kt.x=Kt.fx,Kt.y=Kt.fy,te===3&&(Kt.z=Kt.fz);return}if(!As(Kt.x)||!As(Kt.y))return;const Qt=Math.sqrt(mt[Ut].x*mt[Ut].x+mt[Ut].y*mt[Ut].y+(te===3?mt[Ut].z*mt[Ut].z:0));if(Qt>0){const Vt=Math.min(qe*(ge/oU),Qt);x.mergeNodeData(Ut,{x:Kt.x+mt[Ut].x/Qt*Vt,y:Kt.y+mt[Ut].y/Qt*Vt,z:te===3?Kt.z+mt[Ut].z/Qt*Vt:void 0})}})}applyCalculate(x,E,z,te){this.calRepulsive(x,E,te),this.calAttractive(x,E,z)}calRepulsive(x,E,z){const te=x.getAllNodes();te.forEach(({data:re,id:oe},le)=>{E[oe]={x:0,y:0,z:0},te.forEach(({data:he,id:ge},Ae)=>{if(le<=Ae||!As(re.x)||!As(he.x)||!As(re.y)||!As(he.y))return;let Pe=re.x-he.x,We=re.y-he.y,Xe=this.options.dimensions===3?re.z-he.z:0,qe=Pe*Pe+We*We+Xe*Xe;qe===0&&(qe=1,Pe=.01,We=.01,Xe=.01);const nt=z/qe,at=Pe*nt,pt=We*nt,mt=Xe*nt;E[oe].x+=at,E[oe].y+=pt,E[ge].x-=at,E[ge].y-=pt,this.options.dimensions===3&&(E[oe].z+=mt,E[ge].z-=mt)})})}calAttractive(x,E,z){x.getAllEdges().forEach(re=>{const{source:oe,target:le}=re;if(!oe||!le||oe===le)return;const{data:he}=x.getNode(oe),{data:ge}=x.getNode(le);if(!As(ge.x)||!As(he.x)||!As(ge.y)||!As(he.y))return;const Ae=ge.x-he.x,Pe=ge.y-he.y,We=this.options.dimensions===3?ge.z-he.z:0,Xe=Math.sqrt(Ae*Ae+Pe*Pe+We*We)/z,qe=Ae*Xe,nt=Pe*Xe,at=We*Xe;E[oe].x+=qe,E[oe].y+=nt,E[le].x-=qe,E[le].y-=nt,this.options.dimensions===3&&(E[oe].z+=at,E[le].z-=at)})}}const sU={begin:[0,0],preventOverlap:!0,preventOverlapPadding:10,condense:!1,rows:void 0,cols:void 0,position:void 0,sortBy:"degree",nodeSize:30,width:300,height:300};class lU{constructor(x={}){this.options=x,this.id="grid",this.options=Object.assign(Object.assign({},sU),x)}execute(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){return this.genericGridLayout(!1,x,E)})}assign(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){yield this.genericGridLayout(!0,x,E)})}genericGridLayout(x,E,z){return(0,Cn.mG)(this,void 0,void 0,function*(){const te=Object.assign(Object.assign({},this.options),z),{begin:re=[0,0],condense:oe,preventOverlapPadding:le,preventOverlap:he,rows:ge,cols:Ae,nodeSpacing:Pe,nodeSize:We,width:Xe,height:qe,position:nt}=te;let{sortBy:at}=te;const pt=E.getAllNodes(),mt=E.getAllEdges(),bt=pt==null?void 0:pt.length;if(!bt||bt===1)return HE(E,x,re);const jt=pt.map(Or=>C0(Or));at!=="id"&&(!qu(at)||jt[0].data[at]===void 0)&&(at="degree"),at==="degree"?jt.sort((Or,qr)=>E.getDegree(qr.id,"both")-E.getDegree(Or.id,"both")):at==="id"?jt.sort((Or,qr)=>As(qr.id)&&As(Or.id)?qr.id-Or.id:`${Or.id}`.localeCompare(`${qr.id}`)):jt.sort((Or,qr)=>qr.data[at]-Or.data[at]);const Ut=!Xe&&typeof window!="undefined"?window.innerWidth:Xe,Kt=!qe&&typeof window!="undefined"?window.innerHeight:qe,Qt=bt,Vt={rows:ge,cols:Ae};if(ge!=null&&Ae!=null)Vt.rows=ge,Vt.cols=Ae;else if(ge!=null&&Ae==null)Vt.rows=ge,Vt.cols=Math.ceil(Qt/Vt.rows);else if(ge==null&&Ae!=null)Vt.cols=Ae,Vt.rows=Math.ceil(Qt/Vt.cols);else{const Or=Math.sqrt(Qt*Kt/Ut);Vt.rows=Math.round(Or),Vt.cols=Math.round(Ut/Kt*Or)}if(Vt.rows=Math.max(Vt.rows,1),Vt.cols=Math.max(Vt.cols,1),Vt.cols*Vt.rows>Qt){const Or=YM(Vt),qr=XM(Vt);(Or-1)*qr>=Qt?YM(Vt,Or-1):(qr-1)*Or>=Qt&&XM(Vt,qr-1)}else for(;Vt.cols*Vt.rows<Qt;){const Or=YM(Vt),qr=XM(Vt);(qr+1)*Or>=Qt?XM(Vt,qr+1):YM(Vt,Or+1)}let vn=oe?0:Ut/Vt.cols,wn=oe?0:Kt/Vt.rows;if(he||Pe){const Or=GE(10,Pe),qr=rD(30,We,!1);jt.forEach(wr=>{(!wr.data.x||!wr.data.y)&&(wr.data.x=0,wr.data.y=0);const Sr=E.getNode(wr.id),[Tr,ri]=n2(qr(Sr)||30),Cr=Or!==void 0?Or(wr):le,yi=Tr+Cr,Co=ri+Cr;vn=Math.max(vn,yi),wn=Math.max(wn,Co)})}const kn={},Vn={row:0,col:0},vr={};for(let Or=0;Or<jt.length;Or++){const qr=jt[Or];let wr;if(nt&&(wr=nt(E.getNode(qr.id))),wr&&(wr.row!==void 0||wr.col!==void 0)){const Sr={row:wr.row,col:wr.col};if(Sr.col===void 0)for(Sr.col=0;vD(kn,Sr);)Sr.col++;else if(Sr.row===void 0)for(Sr.row=0;vD(kn,Sr);)Sr.row++;vr[qr.id]=Sr,lB(kn,Sr)}uU(qr,re,vn,wn,vr,Vt,Vn,kn)}const or={nodes:jt,edges:mt};return x&&jt.forEach(Or=>{E.mergeNodeData(Or.id,{x:Or.data.x,y:Or.data.y})}),or})}}const YM=(b,x)=>{let E;const z=b.rows||5,te=b.cols||5;return x==null?E=Math.min(z,te):Math.min(z,te)===b.rows?b.rows=x:b.cols=x,E},XM=(b,x)=>{let E;const z=b.rows||5,te=b.cols||5;return x==null?E=Math.max(z,te):Math.max(z,te)===b.rows?b.rows=x:b.cols=x,E},vD=(b,x)=>b[`c-${x.row}-${x.col}`]||!1,lB=(b,x)=>b[`c-${x.row}-${x.col}`]=!0,uB=(b,x)=>{const E=b.cols||5;x.col++,x.col>=E&&(x.col=0,x.row++)},uU=(b,x,E,z,te,re,oe,le)=>{let he,ge;const Ae=te[b.id];if(Ae)he=Ae.col*E+E/2+x[0],ge=Ae.row*z+z/2+x[1];else{for(;vD(le,oe);)uB(re,oe);he=oe.col*E+E/2+x[0],ge=oe.row*z+z/2+x[1],lB(le,oe),uB(re,oe)}b.data.x=he,b.data.y=ge},cU=(b,x,E)=>{try{const z=mx.mul(mx.pow(x,2),-.5),te=z.mean("row"),re=z.mean("column"),oe=z.mean();z.add(oe).subRowVector(te).subColumnVector(re);const le=new VN(z),he=mx.sqrt(le.diagonalMatrix).diagonal();return le.leftSingularVectors.toJSON().map(ge=>mx.mul([ge],[he]).toJSON()[0].splice(0,b))}catch(z){const te=[];for(let re=0;re<x.length;re++){const oe=Math.random()*E,le=Math.random()*E;te.push([oe,le])}return te}},hU=800,dU={iterations:10,height:10,width:10,speed:100,gravity:10,k:5},fU=(b,x)=>{const E=Object.assign(Object.assign({},dU),x),{positions:z,iterations:te,width:re,k:oe,speed:le=100,strictRadial:he,focusIdx:ge,radii:Ae=[],nodeSizeFunc:Pe}=E,We=b.getAllNodes(),Xe=[],qe=re/10;for(let nt=0;nt<te;nt++)z.forEach((at,pt)=>{Xe[pt]={x:0,y:0}}),gU(We,z,Xe,oe,Ae,Pe),pU(z,Xe,le,he,ge,qe,re,Ae);return z},gU=(b,x,E,z,te,re)=>{x.forEach((oe,le)=>{E[le]={x:0,y:0},x.forEach((he,ge)=>{if(le===ge||te[le]!==te[ge])return;let Ae=oe.x-he.x,Pe=oe.y-he.y,We=Math.sqrt(Ae*Ae+Pe*Pe);if(We===0){We=1;const Xe=le>ge?1:-1;Ae=.01*Xe,Pe=.01*Xe}if(We<re(b[le])/2+re(b[ge])/2){const Xe=z*z/We;E[le].x+=Ae/We*Xe,E[le].y+=Pe/We*Xe}})})},pU=(b,x,E,z,te,re,oe,le)=>{const he=re||oe/10;return z&&x.forEach((ge,Ae)=>{const Pe=b[Ae].x-b[te].x,We=b[Ae].y-b[te].y,Xe=Math.sqrt(Pe*Pe+We*We);let qe=We/Xe,nt=-Pe/Xe;const at=Math.sqrt(ge.x*ge.x+ge.y*ge.y);let pt=Math.acos((qe*ge.x+nt*ge.y)/at);pt>Math.PI/2&&(pt-=Math.PI/2,qe*=-1,nt*=-1);const mt=Math.cos(pt)*at;ge.x=qe*mt,ge.y=nt*mt}),b.forEach((ge,Ae)=>{if(Ae===te)return;const Pe=Math.sqrt(x[Ae].x*x[Ae].x+x[Ae].y*x[Ae].y);if(Pe>0&&Ae!==te){const We=Math.min(he*(E/hU),Pe);if(ge.x+=x[Ae].x/Pe*We,ge.y+=x[Ae].y/Pe*We,z){let Xe=ge.x-b[te].x,qe=ge.y-b[te].y;const nt=Math.sqrt(Xe*Xe+qe*qe);Xe=Xe/nt*le[Ae],qe=qe/nt*le[Ae],ge.x=b[te].x+Xe,ge.y=b[te].y+qe}}}),b},vU={maxIteration:1e3,focusNode:null,unitRadius:null,linkDistance:50,preventOverlap:!1,strictRadial:!0,maxPreventOverlapIteration:200,sortStrength:10};class mU{constructor(x={}){this.options=x,this.id="radial",this.options=Object.assign(Object.assign({},vU),x)}execute(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){return this.genericRadialLayout(!1,x,E)})}assign(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){yield this.genericRadialLayout(!0,x,E)})}genericRadialLayout(x,E,z){return(0,Cn.mG)(this,void 0,void 0,function*(){const te=Object.assign(Object.assign({},this.options),z),{width:re,height:oe,center:le,focusNode:he,unitRadius:ge,nodeSize:Ae,nodeSpacing:Pe,strictRadial:We,preventOverlap:Xe,maxPreventOverlapIteration:qe,sortBy:nt,linkDistance:at=50,sortStrength:pt=10,maxIteration:mt=1e3}=te,bt=E.getAllNodes(),jt=E.getAllEdges(),Ut=!re&&typeof window!="undefined"?window.innerWidth:re,Kt=!oe&&typeof window!="undefined"?window.innerHeight:oe,Qt=le||[Ut/2,Kt/2];if(!(bt!=null&&bt.length)||bt.length===1)return HE(E,x,Qt);let Vt=bt[0];if(qu(he)){for(let $i=0;$i<bt.length;$i++)if(bt[$i].id===he){Vt=bt[$i];break}}else Vt=he||bt[0];const vn=EU(bt,Vt.id),wn=ZN({nodes:bt,edges:jt},!1),kn=KN(wn),Vn=SU(kn,vn);AU(kn,vn,Vn+1);const vr=kn[vn];let or=Ut-Qt[0]>Qt[0]?Qt[0]:Ut-Qt[0],Or=Kt-Qt[1]>Qt[1]?Qt[1]:Kt-Qt[1];or===0&&(or=Ut/2),Or===0&&(Or=Kt/2);const qr=Math.min(or,Or),wr=Math.max(...vr),Sr=[],Tr=ge||qr/wr;vr.forEach(($i,Lo)=>{Sr[Lo]=$i*Tr});const ri=yU(bt,kn,at,Sr,Tr,nt,pt),Cr=xU(ri),yi=cU(at,ri,at);let Co=yi.map(([$i,Lo])=>({x:(isNaN($i)?Math.random()*at:$i)-yi[vn][0],y:(isNaN(Lo)?Math.random()*at:Lo)-yi[vn][1]}));this.run(mt,Co,Cr,ri,Sr,vn);let wo;if(Xe){wo=iD(Ae,Pe);const $i={nodes:bt,nodeSizeFunc:wo,positions:Co,radii:Sr,height:Kt,width:Ut,strictRadial:!!We,focusIdx:vn,iterations:qe||200,k:Co.length/4.5};Co=fU(E,$i)}const vi=[];return Co.forEach(($i,Lo)=>{const Jo=C0(bt[Lo]);Jo.data.x=$i.x+Qt[0],Jo.data.y=$i.y+Qt[1],vi.push(Jo)}),x&&vi.forEach($i=>E.mergeNodeData($i.id,{x:$i.data.x,y:$i.data.y})),{nodes:vi,edges:jt}})}run(x,E,z,te,re,oe){for(let le=0;le<=x;le++){const he=le/x;this.oneIteration(he,E,re,te,z,oe)}}oneIteration(x,E,z,te,re,oe){const le=1-x;E.forEach((he,ge)=>{const Ae=YN(he,{x:0,y:0}),Pe=Ae===0?0:1/Ae;if(ge===oe)return;let We=0,Xe=0,qe=0;E.forEach((at,pt)=>{if(ge===pt)return;const mt=YN(he,at),bt=mt===0?0:1/mt,jt=te[pt][ge];qe+=re[ge][pt],We+=re[ge][pt]*(at.x+jt*(he.x-at.x)*bt),Xe+=re[ge][pt]*(at.y+jt*(he.y-at.y)*bt)});const nt=z[ge]===0?0:1/z[ge];qe*=le,qe+=x*nt*nt,We*=le,We+=x*nt*he.x*Pe,he.x=We/qe,Xe*=le,Xe+=x*nt*he.y*Pe,he.y=Xe/qe})}}const yU=(b,x,E,z,te,re,oe)=>{if(!b)return[];const le=[];if(x){const he={};x.forEach((ge,Ae)=>{const Pe=[];ge.forEach((We,Xe)=>{var qe,nt;if(Ae===Xe)Pe.push(0);else if(z[Ae]===z[Xe])if(re==="data")Pe.push(We*(Math.abs(Ae-Xe)*oe)/(z[Ae]/te));else if(re){let at,pt;if(he[b[Ae].id])at=he[b[Ae].id];else{const mt=(re==="id"?b[Ae].id:(qe=b[Ae].data)===null||qe===void 0?void 0:qe[re])||0;qu(mt)?at=mt.charCodeAt(0):at=mt,he[b[Ae].id]=at}if(he[b[Xe].id])pt=he[b[Xe].id];else{const mt=(re==="id"?b[Xe].id:(nt=b[Xe].data)===null||nt===void 0?void 0:nt[re])||0;qu(mt)?pt=mt.charCodeAt(0):pt=mt,he[b[Xe].id]=pt}Pe.push(We*(Math.abs(at-pt)*oe)/(z[Ae]/te))}else Pe.push(We*E/(z[Ae]/te));else{const at=(E+te)/2;Pe.push(We*at)}}),le.push(Pe)})}return le},xU=b=>{const x=b.length,E=b[0].length,z=[];for(let te=0;te<x;te++){const re=[];for(let oe=0;oe<E;oe++)b[te][oe]!==0?re.push(1/(b[te][oe]*b[te][oe])):re.push(0);z.push(re)}return z},EU=(b,x)=>{let E=-1;return b.forEach((z,te)=>{z.id===x&&(E=te)}),Math.max(E,0)},AU=(b,x,E)=>{const z=b.length;for(let te=0;te<z;te++)if(b[x][te]===1/0){b[x][te]=E,b[te][x]=E;for(let re=0;re<z;re++)b[te][re]!==1/0&&b[x][re]===1/0&&(b[x][re]=E+b[te][re],b[re][x]=E+b[te][re])}for(let te=0;te<z;te++)if(te!==x){for(let re=0;re<z;re++)if(b[te][re]===1/0){let oe=Math.abs(b[x][te]-b[x][re]);oe=oe===0?1:oe,b[te][re]=oe}}},SU=(b,x)=>{let E=0;for(let z=0;z<b[x].length;z++)b[x][z]!==1/0&&(E=b[x][z]>E?b[x][z]:E);return E},wU={center:[0,0],width:300,height:300};class CU{constructor(x={}){this.options=x,this.id="random",this.options=Object.assign(Object.assign({},wU),x)}execute(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){return this.genericRandomLayout(!1,x,E)})}assign(x,E){return(0,Cn.mG)(this,void 0,void 0,function*(){yield this.genericRandomLayout(!0,x,E)})}genericRandomLayout(x,E,z){return(0,Cn.mG)(this,void 0,void 0,function*(){const te=Object.assign(Object.assign({},this.options),z),{center:re,width:oe,height:le}=te,he=E.getAllNodes(),ge=.9,Ae=!oe&&typeof window!="undefined"?window.innerWidth:oe,Pe=!le&&typeof window!="undefined"?window.innerHeight:le,We=re||[Ae/2,Pe/2],Xe=[];return he&&he.forEach(nt=>{Xe.push({id:nt.id,data:{x:(Math.random()-.5)*ge*Ae+We[0],y:(Math.random()-.5)*ge*Pe+We[1]}})}),x&&Xe.forEach(nt=>E.mergeNodeData(nt.id,{x:nt.data.x,y:nt.data.y})),{nodes:Xe,edges:E.getAllEdges()}})}}function bU(b){var x,E,z,te=b||1;function re(le,he){++x>te&&(z=E,oe(1),++x),E[le]=he}function oe(le){x=0,E=Object.create(null),le||(z=Object.create(null))}return oe(),{clear:oe,has:function(le){return E[le]!==void 0||z[le]!==void 0},get:function(le){var he=E[le];if(he!==void 0)return he;if((he=z[le])!==void 0)return re(le,he),he},set:function(le,he){E[le]!==void 0?E[le]=he:re(le,he)}}}var mD=new Map;function yD(b,x,E){E===void 0&&(E=128);var z=function(){for(var te=[],re=0;re<arguments.length;re++)te[re]=arguments[re];var oe=x?x.apply(this,te):te[0];mD.has(b)||mD.set(b,bU(E));var le=mD.get(b);if(le.has(oe))return le.get(oe);var he=b.apply(this,te);return le.set(oe,he),he};return z}var PU=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})};class QM extends NM{constructor(){super(...arguments),this.id="fishbone"}getRoot(){const x=this.context.model.getRootsData();if(!(Jm(x)||x.length>2))return x[0]}formatSize(x){const E=typeof x=="function"?x:()=>x;return z=>S0(E(z))}doLayout(x,E){const{hGap:z,getRibSep:te,vGap:re,nodeSize:oe,height:le}=E,{model:he}=this.context,ge=this.formatSize(oe);let Ae=ge(x)[0]+te(x);const Pe=(bt,jt=0)=>{var Ut;return jt+=z*((bt.children||[]).length+1),(Ut=bt.children)===null||Ut===void 0||Ut.forEach(Kt=>{var Qt;(Qt=he.getNodeLikeDatum(Kt).children)===null||Qt===void 0||Qt.forEach(vn=>{const wn=he.getNodeLikeDatum(vn);jt=Pe(wn,jt)})}),jt},We=bt=>{if(bt.depth===1)return Ae;const jt=he.getParentData(bt.id,"tree");if(BS(bt)){const Ut=he.getParentData(jt.id,"tree"),Kt=nt(bt)-nt(Ut);return We(jt)+Kt*z/re}else{const Ut=(jt.children||[]).indexOf(bt.id),Kt=he.getNodeData((jt.children||[]).slice(Ut));return Xe(jt)-Kt.reduce((Qt,Vt)=>Qt+Pe(Vt),0)-ge(jt)[0]/2}},Xe=yD(bt=>{if(xD(bt))return ge(bt)[0]/2;const jt=he.getParentData(bt.id,"tree");if(BS(bt))return We(bt)+Pe(bt)+ge(bt)[0]/2;{const Ut=nt(bt)-nt(jt),Kt=z/re;return We(bt)+Ut*Kt}},bt=>bt.id),qe=bt=>nt(he.getParentData(bt,"tree")),nt=yD(bt=>{if(xD(bt))return le/2;if(BS(bt)){const jt=he.getParentData(bt.id,"tree"),Ut=jt.children.indexOf(bt.id);if(Ut===0)return qe(jt.id)+re;const Kt=he.getNodeLikeDatum(jt.children[Ut-1]);if(Jm(Kt.children))return nt(Kt)+re;const Qt=he.getDescendantsData(Kt.id);return Math.max(...Qt.map(Vt=>BS(Vt)?qe(Vt.id):nt(Vt)))+re}else{if(Jm(bt.children))return qe(bt.id)+re;const jt=he.getNodeLikeDatum(bt.children.slice(-1)[0]);if(Jm(jt.children))return nt(jt)+re;const Ut=he.getDescendantsData(bt.id).slice(-1)[0];return(BS(Ut)?qe(Ut.id):nt(Ut))+re}},bt=>bt.id);let at=0;const pt={nodes:[],edges:[]},mt=bt=>{var jt;(jt=bt.children)===null||jt===void 0||jt.forEach(vn=>mt(he.getNodeLikeDatum(vn)));const Ut=nt(bt),Kt=Xe(bt);if(pt.nodes.push({id:bt.id,x:Kt,y:Ut}),xD(bt))return;const Qt=he.getRelatedEdgesData(bt.id,"in")[0],Vt=[We(bt),BS(bt)?Ut:qe(bt.id)];pt.edges.push({id:Xi(Qt),controlPoints:[Vt],relatedNodeId:bt.id}),at=Math.max(at,Kt+te(bt)),bt.depth===1&&(Ae=at)};return mt(x),pt}placeAlterative(x,E){const z=(E.children||[]).filter((le,he)=>he%2!==0);if(z.length===0)return x;const{model:te}=this.context,re=x.nodes.find(le=>le.id===E.id).y,oe=le=>{const he=te.getAncestorsData(le,"tree");if(Jm(he))return!1;const ge=he.length===1?le:he[he.length-2].id;return z.includes(ge)};x.nodes.forEach(le=>{oe(le.id)&&(le.y=2*re-le.y)}),x.edges.forEach(le=>{oe(le.relatedNodeId)&&(le.controlPoints=le.controlPoints.map(he=>[he[0],2*re-he[1]]))})}rightToLeft(x,E){return x.nodes.forEach(z=>z.x=E.width-z.x),x.edges.forEach(z=>{z.controlPoints=z.controlPoints.map(te=>[E.width-te[0],te[1]])}),x}execute(x,E){return PU(this,void 0,void 0,function*(){const z=Object.assign(Object.assign(Object.assign({},QM.defaultOptions),this.options),E),{direction:te,nodeSize:re}=z,oe=this.getRoot();if(!oe)return x;const le=this.formatSize(re);z.vGap||(z.vGap=Math.max(...(x.nodes||[]).map(We=>le(We)[1]))),z.hGap||(z.hGap=Math.max(...(x.nodes||[]).map(We=>le(We)[0])));let he=this.doLayout(oe,z);this.placeAlterative(he,oe),te==="RL"&&(he=this.rightToLeft(he,z));const{model:ge}=this.context,Ae=[],Pe=[];return he.nodes.forEach(We=>{const{id:Xe,x:qe,y:nt}=We,at=ge.getNodeLikeDatum(Xe);Ae.push(cB(at,{x:qe,y:nt}))}),he.edges.forEach(We=>{const{id:Xe,controlPoints:qe}=We,nt=ge.getEdgeDatum(Xe);Pe.push(cB(nt,{controlPoints:qe}))}),{nodes:Ae,edges:Pe}})}}QM.defaultOptions={direction:"RL",getRibSep:()=>60};const cB=(b,x)=>Object.assign(Object.assign({},b),{style:Object.assign(Object.assign({},b.style||{}),x)}),xD=b=>b.depth===0,BS=b=>(b.depth||(b.depth=0))%2===0;var MU=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})};class JM extends NM{constructor(){super(...arguments),this.id="snake"}formatSize(x,E){const z=typeof E=="function"?E:()=>E;return x.reduce((te,re)=>{const[oe,le]=S0(z(re))||[0,0];return[Math.max(te[0],oe),Math.max(te[1],le)]},[0,0])}validate(x){const{nodes:E=[],edges:z=[]}=x,te={},re={},oe={};E.forEach(We=>{te[We.id]=0,re[We.id]=0,oe[We.id]=[]}),z.forEach(We=>{te[We.target]++,re[We.source]++,oe[We.source].push(We.target)});const le=new Set,he=We=>{le.has(We)||(le.add(We),oe[We].forEach(he))};if(he(E[0].id),le.size!==E.length)return!1;const ge=E.filter(We=>te[We.id]===0),Ae=E.filter(We=>re[We.id]===0);return!(ge.length!==1||Ae.length!==1||E.filter(We=>te[We.id]===1&&re[We.id]===1).length!==E.length-2)}execute(x,E){return MU(this,void 0,void 0,function*(){var z;if(!this.validate(x))return x;const{nodeSize:te,padding:re,sortBy:oe,cols:le,colGap:he,rowGap:ge,clockwise:Ae,width:Pe,height:We}=Object.assign({},JM.defaultOptions,this.options,E),[Xe,qe,nt,at]=Jv(re),pt=this.formatSize(x.nodes||[],te),mt=Math.ceil((x.nodes||[]).length/le);let bt=he||(Pe-at-qe-le*pt[0])/(le-1),jt=ge||(We-Xe-nt-mt*pt[1])/(mt-1);return(jt===1/0||jt<0)&&(jt=0),(bt===1/0||bt<0)&&(bt=0),{nodes:((oe?(z=x.nodes)===null||z===void 0?void 0:z.sort(oe):LU(x))||[]).map((Qt,Vt)=>{const vn=Math.floor(Vt/le),wn=Vt%le,kn=Ae?vn%2===0?wn:le-1-wn:vn%2===0?le-1-wn:wn,Vn=at+kn*(pt[0]+bt)+pt[0]/2,vr=Xe+vn*(pt[1]+jt)+pt[1]/2;return{id:Qt.id,style:{x:Vn,y:vr}}})}})}}JM.defaultOptions={padding:0,cols:5,clockwise:!0};function LU(b){const{nodes:x=[],edges:E=[]}=b,z={},te={};x.forEach(le=>{z[le.id]=0,te[le.id]=[]}),E.forEach(le=>{z[le.target]++,te[le.source].push(le.target)});const re=[],oe=[];for(x.forEach(le=>{z[le.id]===0&&re.push(le.id)});re.length>0;){const le=re.shift(),he=x.find(ge=>ge.id===le);oe.push(he),te[le].forEach(ge=>{z[ge]--,z[ge]===0&&re.push(ge)})}return oe}const TU=["rgb(158, 1, 66)","rgb(213, 62, 79)","rgb(244, 109, 67)","rgb(253, 174, 97)","rgb(254, 224, 139)","rgb(255, 255, 191)","rgb(230, 245, 152)","rgb(171, 221, 164)","rgb(102, 194, 165)","rgb(50, 136, 189)","rgb(94, 79, 162)"],DU=["rgb(78, 121, 167)","rgb(242, 142, 44)","rgb(225, 87, 89)","rgb(118, 183, 178)","rgb(89, 161, 79)","rgb(237, 201, 73)","rgb(175, 122, 161)","rgb(255, 157, 167)","rgb(156, 117, 95)","rgb(186, 176, 171)"],IU=["rgb(255, 245, 235)","rgb(254, 230, 206)","rgb(253, 208, 162)","rgb(253, 174, 107)","rgb(253, 141, 60)","rgb(241, 105, 19)","rgb(217, 72, 1)","rgb(166, 54, 3)","rgb(127, 39, 4)"],OU=["rgb(247, 252, 245)","rgb(229, 245, 224)","rgb(199, 233, 192)","rgb(161, 217, 155)","rgb(116, 196, 118)","rgb(65, 171, 93)","rgb(35, 139, 69)","rgb(0, 109, 44)","rgb(0, 68, 27)"],NU=["rgb(247, 251, 255)","rgb(222, 235, 247)","rgb(198, 219, 239)","rgb(158, 202, 225)","rgb(107, 174, 214)","rgb(66, 146, 198)","rgb(33, 113, 181)","rgb(8, 81, 156)","rgb(8, 48, 107)"];var BU=function(b,x,E){if(!Df(b)&&!bS(b))return b;var z=E;return CO(b,function(te,re){z=x(z,te,re)}),z},RU=BU,ED=function(b,x){return RU(b,function(E,z,te){return x.includes(te)||(E[te]=z),E},{})};class _g extends x5{}function RS(b,x=!0,E){const z=document.createElement("div");return z.setAttribute("class",`g6-${b}`),Object.assign(z.style,{position:"absolute",display:"block"}),x&&Object.assign(z.style,{position:"unset",gridArea:"1 / 1 / 2 / 2",inset:"0px",height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none"}),E&&Object.assign(z.style,E),z}function AD(b,x="div",E={},z="",te=document.body){const re=document.getElementById(b);re&&re.remove();const oe=document.createElement(x);return oe.innerHTML=z,oe.id=b,Object.assign(oe.style,E),te.appendChild(oe),oe}var kU=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})};class qM extends _g{constructor(x,E){super(x,Object.assign({},qM.defaultOptions,E)),this.$element=RS("background"),this.context.canvas.getContainer().prepend(this.$element),this.update(E)}update(x){const E=Object.create(null,{update:{get:()=>super.update}});return kU(this,void 0,void 0,function*(){E.update.call(this,x),Object.assign(this.$element.style,ED(this.options,["key","type"]))})}destroy(){super.destroy(),this.$element.remove()}}qM.defaultOptions={transition:"background 0.5s",backgroundSize:"cover",zIndex:"-1"};function SD(b,x,E,z,te,re){const oe=b,le=x,he=E-oe,ge=z-le;let Ae=te-oe,Pe=re-le,We=Ae*he+Pe*ge,Xe=0;We<=0?Xe=0:(Ae=he-Ae,Pe=ge-Pe,We=Ae*he+Pe*ge,We<=0?Xe=0:Xe=We*We/(he*he+ge*ge));const qe=Ae*Ae+Pe*Pe-Xe;return qe<0?0:qe}function xx(b,x,E,z){return(b-E)*(b-E)+(x-z)*(x-z)}function hB(b,x,E,z,te){return xx(b,x,E,z)<te*te}function FU(b){if(!Number.isFinite(b))return E=>E;if(b===0)return Math.round;const x=Math.pow(10,b);return E=>Math.round(E*x)/x}function dB(b){const x=Math.min(b.x1,b.x2),E=Math.max(b.x1,b.x2),z=Math.min(b.y1,b.y2),te=Math.max(b.y1,b.y2);return{x,y:z,x2:E,y2:te,width:E-x,height:te-z}}class gg{constructor(x,E,z,te){this.x1=x,this.y1=E,this.x2=z,this.y2=te}equals(x){return this.x1===x.x1&&this.y1===x.y1&&this.x2===x.x2&&this.y2===x.y2}draw(x){x.moveTo(this.x1,this.y1),x.lineTo(this.x2,this.y2)}toString(){return`Line(from=(${this.x1},${this.y1}),to=(${this.x2},${this.y2}))`}static from(x){return new gg(x.x1,x.y1,x.x2,x.y2)}cuts(x,E){if(this.y1===this.y2||E<this.y1&&E<=this.y2||E>this.y1&&E>=this.y2||x>this.x1&&x>=this.x2)return!1;if(x<this.x1&&x<=this.x2)return!0;const z=this.x1+(E-this.y1)*(this.x2-this.x1)/(this.y2-this.y1);return x<=z}distSquare(x,E){return SD(this.x1,this.y1,this.x2,this.y2,x,E)}ptClose(x,E,z){if(this.x1<this.x2){if(x<this.x1-z||x>this.x2+z)return!1}else if(x<this.x2-z||x>this.x1+z)return!1;if(this.y1<this.y2){if(E<this.y1-z||E>this.y2+z)return!1}else if(E<this.y2-z||E>this.y1+z)return!1;return!0}}var Od;(function(b){b[b.POINT=1]="POINT",b[b.PARALLEL=2]="PARALLEL",b[b.COINCIDENT=3]="COINCIDENT",b[b.NONE=4]="NONE"})(Od||(Od={}));class wD{constructor(x,E=0,z=0){this.state=x,this.x=E,this.y=z}}function $M(b,x){const E=(x.x2-x.x1)*(b.y1-x.y1)-(x.y2-x.y1)*(b.x1-x.x1),z=(b.x2-b.x1)*(b.y1-x.y1)-(b.y2-b.y1)*(b.x1-x.x1),te=(x.y2-x.y1)*(b.x2-b.x1)-(x.x2-x.x1)*(b.y2-b.y1);if(te){const re=E/te,oe=z/te;return 0<=re&&re<=1&&0<=oe&&oe<=1?new wD(Od.POINT,b.x1+re*(b.x2-b.x1),b.y1+re*(b.y2-b.y1)):new wD(Od.NONE)}return new wD(E===0||z===0?Od.COINCIDENT:Od.PARALLEL)}function fB(b,x){const E=(x.x2-x.x1)*(b.y1-x.y1)-(x.y2-x.y1)*(b.x1-x.x1),z=(b.x2-b.x1)*(b.y1-x.y1)-(b.y2-b.y1)*(b.x1-x.x1),te=(x.y2-x.y1)*(b.x2-b.x1)-(x.x2-x.x1)*(b.y2-b.y1);if(te){const re=E/te,oe=z/te;if(0<=re&&re<=1&&0<=oe&&oe<=1)return re}return Number.POSITIVE_INFINITY}function _U(b,x){function E(te,re,oe,le){let he=fB(x,new gg(te,re,oe,le));return he=Math.abs(he-.5),he>=0&&he<=1?1:0}let z=E(b.x,b.y,b.x2,b.y);return z+=E(b.x,b.y,b.x,b.y2),z>1||(z+=E(b.x,b.y2,b.x2,b.y2),z>1)?!0:(z+=E(b.x2,b.y,b.x2,b.y2),z>0)}var Nd;(function(b){b[b.LEFT=0]="LEFT",b[b.TOP=1]="TOP",b[b.RIGHT=2]="RIGHT",b[b.BOTTOM=3]="BOTTOM"})(Nd||(Nd={}));function eL(b,x,E){const z=new Set;return b.width<=0?(z.add(Nd.LEFT),z.add(Nd.RIGHT)):x<b.x?z.add(Nd.LEFT):x>b.x+b.width&&z.add(Nd.RIGHT),b.height<=0?(z.add(Nd.TOP),z.add(Nd.BOTTOM)):E<b.y?z.add(Nd.TOP):E>b.y+b.height&&z.add(Nd.BOTTOM),z}function gB(b,x){let E=x.x1,z=x.y1;const te=x.x2,re=x.y2,oe=Array.from(eL(b,te,re));if(oe.length===0)return!0;let le=eL(b,E,z);for(;le.size!==0;){for(const he of oe)if(le.has(he))return!1;if(le.has(Nd.RIGHT)||le.has(Nd.LEFT)){let he=b.x;le.has(Nd.RIGHT)&&(he+=b.width),z=z+(he-E)*(re-z)/(te-E),E=he}else{let he=b.y;le.has(Nd.BOTTOM)&&(he+=b.height),E=E+(he-z)*(te-E)/(re-z),z=he}le=eL(b,E,z)}return!0}function zU(b,x){let E=Number.POSITIVE_INFINITY,z=0;function te(re,oe,le,he){let ge=fB(x,new gg(re,oe,le,he));ge=Math.abs(ge-.5),ge>=0&&ge<=1&&(z++,ge<E&&(E=ge))}return te(b.x,b.y,b.x2,b.y),te(b.x,b.y,b.x,b.y2),z>1||(te(b.x,b.y2,b.x2,b.y2),z>1)?E:(te(b.x2,b.y,b.x2,b.y2),z===0?-1:E)}function jU(b,x){let E=0;const z=$M(b,new gg(x.x,x.y,x.x2,x.y));E+=z.state===Od.POINT?1:0;const te=$M(b,new gg(x.x,x.y,x.x,x.y2));E+=te.state===Od.POINT?1:0;const re=$M(b,new gg(x.x,x.y2,x.x2,x.y2));E+=re.state===Od.POINT?1:0;const oe=$M(b,new gg(x.x2,x.y,x.x2,x.y2));return E+=oe.state===Od.POINT?1:0,{top:z,left:te,bottom:re,right:oe,count:E}}class np{constructor(x,E,z,te){this.x=x,this.y=E,this.width=z,this.height=te}get x2(){return this.x+this.width}get y2(){return this.y+this.height}get cx(){return this.x+this.width/2}get cy(){return this.y+this.height/2}get radius(){return Math.max(this.width,this.height)/2}static from(x){return new np(x.x,x.y,x.width,x.height)}equals(x){return this.x===x.x&&this.y===x.y&&this.width===x.width&&this.height===x.height}clone(){return new np(this.x,this.y,this.width,this.height)}add(x){const E=Math.min(this.x,x.x),z=Math.min(this.y,x.y),te=Math.max(this.x2,x.x+x.width),re=Math.max(this.y2,x.y+x.height);this.x=E,this.y=z,this.width=te-E,this.height=re-z}addPoint(x){const E=Math.min(this.x,x.x),z=Math.min(this.y,x.y),te=Math.max(this.x2,x.x),re=Math.max(this.y2,x.y);this.x=E,this.y=z,this.width=te-E,this.height=re-z}toString(){return`Rectangle[x=${this.x}, y=${this.y}, w=${this.width}, h=${this.height}]`}draw(x){x.rect(this.x,this.y,this.width,this.height)}containsPt(x,E){return x>=this.x&&x<=this.x2&&E>=this.y&&E<=this.y2}get area(){return this.width*this.height}intersects(x){return this.area<=0||x.width<=0||x.height<=0?!1:x.x+x.width>this.x&&x.y+x.height>this.y&&x.x<this.x2&&x.y<this.y2}distSquare(x,E){if(this.containsPt(x,E))return 0;const z=eL(this,x,E);return z.has(Nd.TOP)?z.has(Nd.LEFT)?xx(x,E,this.x,this.y):z.has(Nd.RIGHT)?xx(x,E,this.x2,this.y):(this.y-E)*(this.y-E):z.has(Nd.BOTTOM)?z.has(Nd.LEFT)?xx(x,E,this.x,this.y2):z.has(Nd.RIGHT)?xx(x,E,this.x2,this.y2):(E-this.y2)*(E-this.y2):z.has(Nd.LEFT)?(this.x-x)*(this.x-x):z.has(Nd.RIGHT)?(x-this.x2)*(x-this.x2):0}}function WU(b){if(b.length===0)return null;const x=b[0],E=new np(x.x,x.y,0,0);for(const z of b)E.addPoint(z);return E}class tL{constructor(x,E,z){this.cx=x,this.cy=E,this.radius=z}get x(){return this.cx-this.radius}get x2(){return this.cx+this.radius}get width(){return this.radius*2}get y(){return this.cy-this.radius}get y2(){return this.cy+this.radius}get height(){return this.radius*2}static from(x){return new tL(x.cx,x.cy,x.radius)}containsPt(x,E){return xx(this.cx,this.cy,x,E)<this.radius*this.radius}distSquare(x,E){const z=xx(this.cx,this.cy,x,E);if(z<this.radius*this.radius)return 0;const te=Math.sqrt(z)-this.radius;return te*te}draw(x){x.ellipse(this.cx,this.cy,this.radius,this.radius,0,0,Math.PI*2)}}class KE{constructor(x,E=0,z=0,te=0,re=0,oe=10,le=10,he=new Float32Array(Math.max(0,oe*le)).fill(0)){this.pixelGroup=x,this.i=E,this.j=z,this.pixelX=te,this.pixelY=re,this.width=oe,this.height=le,this.area=he}createSub(x,E){return new KE(this.pixelGroup,x.x,x.y,E.x,E.y,x.width,x.height)}static fromPixelRegion(x,E){return new KE(E,0,0,x.x,x.y,Math.ceil(x.width/E),Math.ceil(x.height/E))}copy(x,E){return new KE(this.pixelGroup,this.scaleX(E.x),this.scaleY(E.y),E.x,E.y,x.width,x.height,x.area)}boundX(x){return x<this.i?this.i:x>=this.width?this.width-1:x}boundY(x){return x<this.j?this.j:x>=this.height?this.height-1:x}scaleX(x){return this.boundX(Math.floor((x-this.pixelX)/this.pixelGroup))}scaleY(x){return this.boundY(Math.floor((x-this.pixelY)/this.pixelGroup))}scale(x){const E=this.scaleX(x.x),z=this.scaleY(x.y),te=this.boundX(Math.ceil((x.x+x.width-this.pixelX)/this.pixelGroup)),re=this.boundY(Math.ceil((x.y+x.height-this.pixelY)/this.pixelGroup)),oe=te-E,le=re-z;return new np(E,z,oe,le)}invertScaleX(x){return Math.round(x*this.pixelGroup+this.pixelX)}invertScaleY(x){return Math.round(x*this.pixelGroup+this.pixelY)}addPadding(x,E){const z=Math.ceil(E/this.pixelGroup),te=this.boundX(x.x-z),re=this.boundY(x.y-z),oe=this.boundX(x.x2+z),le=this.boundY(x.y2+z),he=oe-te,ge=le-re;return new np(te,re,he,ge)}get(x,E){return x<0||E<0||x>=this.width||E>=this.height?Number.NaN:this.area[x+E*this.width]}inc(x,E,z){x<0||E<0||x>=this.width||E>=this.height||(this.area[x+E*this.width]+=z)}set(x,E,z){x<0||E<0||x>=this.width||E>=this.height||(this.area[x+E*this.width]=z)}incArea(x,E){if(x.width<=0||x.height<=0||E===0)return;const z=this.width,te=x.width,re=Math.max(0,x.i),oe=Math.max(0,x.j),le=Math.min(x.i+x.width,z),he=Math.min(x.j+x.height,this.height);if(!(he<=0||le<=0||re>=z||he>=this.height))for(let ge=oe;ge<he;ge++){const Ae=(ge-x.j)*te,Pe=ge*z;for(let We=re;We<le;We++){const Xe=x.area[We-x.i+Ae];Xe!==0&&(this.area[We+Pe]+=E*Xe)}}}fill(x){this.area.fill(x)}fillArea(x,E){const z=x.x+x.y*this.width;for(let te=0;te<x.height;te++){const re=z+te*this.width;this.area.fill(E,re,re+x.width)}}fillHorizontalLine(x,E,z,te){const re=x+E*this.width;this.area.fill(te,re,re+z)}fillVerticalLine(x,E,z,te){const re=x+E*this.width;for(let oe=0;oe<z;oe++)this.area[re+oe*this.width]=te}clear(){this.area.fill(0)}toString(){let x="";for(let E=0;E<this.height;E++){const z=E*this.width;for(let te=0;te<this.width;te++){const re=this.area[z+te];x+=re.toFixed(1).padStart(6),x+=" "}x+=`
`}return x}draw(x,E=!0){if(this.width<=0||this.height<=0)return;x.save(),E&&x.translate(this.pixelX,this.pixelY);const z=this.area.reduce((oe,le)=>Math.min(oe,le),Number.POSITIVE_INFINITY),te=this.area.reduce((oe,le)=>Math.max(oe,le),Number.NEGATIVE_INFINITY),re=oe=>(oe-z)/(te-z);x.scale(this.pixelGroup,this.pixelGroup);for(let oe=0;oe<this.width;oe++)for(let le=0;le<this.height;le++){const he=this.area[oe+le*this.width];x.fillStyle=`rgba(0, 0, 0, ${re(he)})`,x.fillRect(oe,le,1,1)}x.restore()}drawThreshold(x,E,z=!0){if(!(this.width<=0||this.height<=0)){x.save(),z&&x.translate(this.pixelX,this.pixelY),x.scale(this.pixelGroup,this.pixelGroup);for(let te=0;te<this.width;te++)for(let re=0;re<this.height;re++){const oe=this.area[te+re*this.width];x.fillStyle=oe>E?"black":"white",x.fillRect(te,re,1,1)}x.restore()}}}function pB(b,x){const E=z=>({x:z.x-x,y:z.y-x,width:z.width+2*x,height:z.height+2*x});return Array.isArray(b)?b.map(E):E(b)}function vB(b,x,E){return mB(Object.assign(dB(b),{distSquare:(z,te)=>SD(b.x1,b.y1,b.x2,b.y2,z,te)}),x,E)}function mB(b,x,E){const z=pB(b,E),te=x.scale(z),re=x.createSub(te,z);return UU(re,x,E,(oe,le)=>b.distSquare(oe,le)),re}function UU(b,x,E,z){const te=E*E;for(let re=0;re<b.height;re++)for(let oe=0;oe<b.width;oe++){const le=x.invertScaleX(b.i+oe),he=x.invertScaleY(b.j+re),ge=z(le,he);if(ge===0){b.set(oe,re,te);continue}if(ge<te){const Ae=E-Math.sqrt(ge);b.set(oe,re,Ae*Ae)}}return b}function GU(b,x,E){const z=x.scale(b),te=x.addPadding(z,E),re=x.createSub(te,{x:b.x-E,y:b.y-E}),oe=z.x-te.x,le=z.y-te.y,he=te.x2-z.x2,ge=te.y2-z.y2,Ae=te.width-oe-he,Pe=te.height-le-ge,We=E*E;re.fillArea({x:oe,y:le,width:Ae+1,height:Pe+1},We);const Xe=[0],qe=Math.max(le,oe,he,ge);{const mt=x.invertScaleX(z.x+z.width/2);for(let bt=1;bt<qe;bt++){const jt=x.invertScaleY(z.y-bt),Ut=b.distSquare(mt,jt);if(Ut<We){const Kt=E-Math.sqrt(Ut);Xe.push(Kt*Kt)}else break}}const nt=[],at=Math.max(oe,he),pt=Math.max(le,he);for(let mt=1;mt<at;mt++){const bt=x.invertScaleX(z.x-mt),jt=[];for(let Ut=1;Ut<pt;Ut++){const Kt=x.invertScaleY(z.y-Ut),Qt=b.distSquare(bt,Kt);if(Qt<We){const Vt=E-Math.sqrt(Qt);jt.push(Vt*Vt)}else jt.push(0)}nt.push(jt)}for(let mt=1;mt<Math.min(le,Xe.length);mt++){const bt=Xe[mt];re.fillHorizontalLine(oe,le-mt,Ae+1,bt)}for(let mt=1;mt<Math.min(ge,Xe.length);mt++){const bt=Xe[mt];re.fillHorizontalLine(oe,le+Pe+mt,Ae+1,bt)}for(let mt=1;mt<Math.min(oe,Xe.length);mt++){const bt=Xe[mt];re.fillVerticalLine(oe-mt,le,Pe+1,bt)}for(let mt=1;mt<Math.min(ge,Xe.length);mt++){const bt=Xe[mt];re.fillVerticalLine(oe+Ae+mt,le,Pe+1,bt)}for(let mt=1;mt<oe;mt++){const bt=nt[mt-1],jt=oe-mt;for(let Ut=1;Ut<le;Ut++)re.set(jt,le-Ut,bt[Ut-1]);for(let Ut=1;Ut<ge;Ut++)re.set(jt,le+Pe+Ut,bt[Ut-1])}for(let mt=1;mt<he;mt++){const bt=nt[mt-1],jt=oe+Ae+mt;for(let Ut=1;Ut<le;Ut++)re.set(jt,le-Ut,bt[Ut-1]);for(let Ut=1;Ut<ge;Ut++)re.set(jt,le+Pe+Ut,bt[Ut-1])}return re}function Zq(b,x,E,z){return{x:b,y:x,width:E,height:z}}function Yq(b,x,E){return{cx:b,cy:x,radius:E}}function Xq(b,x,E,z){return{x1:b,y1:x,x2:E,y2:z}}function Gh(b,x){return{x:b,y:x}}function HU(b,x,E,z){if(b.length===0)return[];const te=XU(b);return te.map((re,oe)=>{const le=te.slice(0,oe);return VU(x,re,le,E,z)}).flat()}function VU(b,x,E,z,te){const re=Gh(x.cx,x.cy),oe=YU(re,E,b);if(oe==null)return[];const le=new gg(re.x,re.y,oe.cx,oe.cy),he=KU(le,b,z,te);return ZU(he,b)}function KU(b,x,E,z){const te=[],re=[];re.push(b);let oe=!0;for(let le=0;le<E&&oe;le++)for(oe=!1;!oe&&re.length>0;){const he=re.pop(),ge=yB(x,he),Ae=ge?jU(he,ge):null;if(!ge||!Ae||Ae.count!==2){oe||te.push(he);continue}let Pe=z,We=rL(ge,Pe,Ae,!0),Xe=Ex(We,re)||Ex(We,te),qe=nL(We,x);for(;!Xe&&qe&&Pe>=1;)Pe/=1.5,We=rL(ge,Pe,Ae,!0),Xe=Ex(We,re)||Ex(We,te),qe=nL(We,x);if(We&&!Xe&&!qe&&(re.push(new gg(he.x1,he.y1,We.x,We.y)),re.push(new gg(We.x,We.y,he.x2,he.y2)),oe=!0),oe)continue;Pe=z,We=rL(ge,Pe,Ae,!1);let nt=Ex(We,re)||Ex(We,te);for(qe=nL(We,x);!nt&&qe&&Pe>=1;)Pe/=1.5,We=rL(ge,Pe,Ae,!1),nt=Ex(We,re)||Ex(We,te),qe=nL(We,x);We&&!nt&&(re.push(new gg(he.x1,he.y1,We.x,We.y)),re.push(new gg(We.x,We.y,he.x2,he.y2)),oe=!0),oe||te.push(he)}for(;re.length>0;)te.push(re.pop());return te}function ZU(b,x){const E=[];for(;b.length>0;){const z=b.pop();if(b.length===0){E.push(z);break}const te=b.pop(),re=new gg(z.x1,z.y1,te.x2,te.y2);yB(x,re)?(E.push(z),b.push(te)):b.push(re)}return E}function YU(b,x,E){let z=Number.POSITIVE_INFINITY;return x.reduce((te,re)=>{const oe=xx(b.x,b.y,re.cx,re.cy);if(oe>z)return te;const le=new gg(b.x,b.y,re.cx,re.cy),he=QU(E,le);return oe*(he+1)*(he+1)<z&&(te=re,z=oe*(he+1)*(he+1)),te},null)}function XU(b){if(b.length<2)return b;let x=0,E=0;return b.forEach(z=>{x+=z.cx,E+=z.cy}),x/=b.length,E/=b.length,b.map(z=>{const te=x-z.cx,re=E-z.cy,oe=te*te+re*re;return[z,oe]}).sort((z,te)=>z[1]-te[1]).map(z=>z[0])}function nL(b,x){return x.some(E=>E.containsPt(b.x,b.y))}function Ex(b,x){return x.some(E=>!!(hB(E.x1,E.y1,b.x,b.y,.001)||hB(E.x2,E.y2,b.x,b.y,.001)))}function yB(b,x){let E=Number.POSITIVE_INFINITY,z=null;for(const te of b){if(!gB(te,x))continue;const re=zU(te,x);re>=0&&re<E&&(z=te,E=re)}return z}function QU(b,x){return b.reduce((E,z)=>gB(z,x)&&_U(z,x)?E+1:E,0)}function rL(b,x,E,z){const te=E.top,re=E.left,oe=E.bottom,le=E.right;if(z){if(re.state===Od.POINT){if(te.state===Od.POINT)return Gh(b.x-x,b.y-x);if(oe.state===Od.POINT)return Gh(b.x-x,b.y2+x);const We=b.width*b.height;return b.width*((re.y-b.y+(le.y-b.y))*.5)<We*.5?re.y>le.y?Gh(b.x-x,b.y-x):Gh(b.x2+x,b.y-x):re.y<le.y?Gh(b.x-x,b.y2+x):Gh(b.x2+x,b.y2+x)}if(le.state===Od.POINT){if(te.state===Od.POINT)return Gh(b.x2+x,b.y-x);if(oe.state===Od.POINT)return Gh(b.x2+x,b.y2+x)}const Ae=b.height*b.width;return b.height*((te.x-b.x+(le.x-b.x))*.5)<Ae*.5?te.x>oe.x?Gh(b.x-x,b.y-x):Gh(b.x-x,b.y2+x):te.x<oe.x?Gh(b.x2+x,b.y-x):Gh(b.x2+x,b.y2+x)}if(re.state===Od.POINT){if(te.state===Od.POINT)return Gh(b.x2+x,b.y2+x);if(oe.state===Od.POINT)return Gh(b.x2+x,b.y-x);const Ae=b.height*b.width;return b.width*((re.y-b.y+(le.y-b.y))*.5)<Ae*.5?re.y>le.y?Gh(b.x2+x,b.y2+x):Gh(b.x-x,b.y2+x):re.y<le.y?Gh(b.x2+x,b.y-x):Gh(b.x-x,b.y-x)}if(le.state===Od.POINT){if(te.state===Od.POINT)return Gh(b.x-x,b.y2+x);if(oe.state===Od.POINT)return Gh(b.x-x,b.y-x)}const he=b.height*b.width;return b.height*((te.x-b.x+(le.x-b.x))*.5)<he*.5?te.x>oe.x?Gh(b.x2+x,b.y2+x):Gh(b.x2+x,b.y-x):te.x<oe.x?Gh(b.x-x,b.y2+x):Gh(b.x-x,b.y-x)}function JU(b,x,E,z){if(!(b.closed?E<b.length:E<b.length-1))return!1;const re=b.get(x),oe=b.get(E+1);for(let le=x+1;le<=E;le++){const he=b.get(le);if(SD(re.x,re.y,oe.x,oe.y,he.x,he.y)>z)return!1}return!0}function qU(b=0){return x=>{if(b<0||x.length<3)return x;const E=[];let z=0;const te=b*b;for(;z<x.length;){let re=z+1;for(;JU(x,z,re,te);)re++;E.push(x.get(z)),z=re}return new ZE(E)}}function $U(b,x){switch(b){case-2:return(((-x+3)*x-3)*x+1)/6;case-1:return((3*x-6)*x*x+4)/6;case 0:return(((-3*x+3)*x+3)*x+1)/6;case 1:return x*x*x/6;default:throw new Error("unknown error")}}function eG(b=6){function re(oe,le,he){let ge=0,Ae=0;for(let Pe=-2;Pe<=1;Pe++){const We=oe.get(le+Pe),Xe=$U(Pe,he);ge+=Xe*We.x,Ae+=Xe*We.y}return{x:ge,y:Ae}}return oe=>{if(oe.length<3)return oe;const le=[],he=oe.closed,ge=oe.length+3-1+(he?0:2);le.push(re(oe,2-(he?0:2),0));for(let Ae=2-(he?0:2);Ae<ge;Ae++)for(let Pe=1;Pe<=b;Pe++)le.push(re(oe,Ae,Pe/b));return new ZE(le)}}function tG(b=8){return x=>{let E=b,z=x.length;if(E>1)for(z=Math.floor(x.length/E);z<3&&E>1;)E-=1,z=Math.floor(x.length/E);const te=[];for(let re=0,oe=0;oe<z;oe++,re+=E)te.push(x.get(re));return new ZE(te)}}class ZE{constructor(x=[],E=!0){this.points=x,this.closed=E}get(x){const E=x,z=this.points.length;return x<0?this.closed?this.get(x+z):this.points[0]:x>=z?this.closed?this.get(x-z):this.points[z-1]:this.points[E]}get length(){return this.points.length}toString(x=1/0){const E=this.points;if(E.length===0)return"";const z=typeof x=="function"?x:FU(x);let te="M";for(const re of E)te+=`${z(re.x)},${z(re.y)} L`;return te=te.slice(0,-1),this.closed&&(te+=" Z"),te}draw(x){const E=this.points;if(E.length!==0){x.beginPath(),x.moveTo(E[0].x,E[0].y);for(const z of E)x.lineTo(z.x,z.y);this.closed&&x.closePath()}}sample(x){return tG(x)(this)}simplify(x){return qU(x)(this)}bSplines(x){return eG(x)(this)}apply(x){return x(this)}containsElements(x){const E=WU(this.points);return E?x.every(z=>E.containsPt(z.cx,z.cy)&&this.withinArea(z.cx,z.cy)):!1}withinArea(x,E){if(this.length===0)return!1;let z=0;const te=this.points[0],re=new gg(te.x,te.y,te.x,te.y);for(let oe=1;oe<this.points.length;oe++){const le=this.points[oe];re.x1=re.x2,re.y1=re.y2,re.x2=le.x,re.y2=le.y,re.cuts(x,E)&&z++}return re.x1=re.x2,re.y1=re.y2,re.x2=te.x,re.y2=te.y,re.cuts(x,E)&&z++,z%2===1}}class nG{constructor(x=0){this.count=0,this.arr=[],this.set=new Set,this.arr.length=x}add(x){this.set.add(`${x.x}x${x.y}`),this.arr[this.count++]=x}contains(x){return this.set.has(`${x.x}x${x.y}`)}isFirst(x){if(this.count===0)return!1;const E=this.arr[0];return E!=null&&E.x===x.x&&E.y===x.y}path(){return new ZE(this.arr.slice(0,this.count))}clear(){this.set.clear(),this.count=0}get(x){return this.arr[x]}get length(){return this.count}}const s2=0,iL=1,oL=2,CD=3;function rG(b,x){const E=(Math.floor(b.width)+Math.floor(b.height))*2,z=new nG(E);function te(he,ge,Ae,Pe){const We=b.get(he,ge);return Number.isNaN(We)?Number.NaN:We>x?Ae+Pe:Ae}function re(he,ge){let Ae=s2;return Ae=te(he,ge,Ae,1),Ae=te(he+1,ge,Ae,2),Ae=te(he,ge+1,Ae,4),Ae=te(he+1,ge+1,Ae,8),Number.isNaN(Ae)?-1:Ae}let oe=iL;function le(he,ge){let Ae=he,Pe=ge,We=b.invertScaleX(Ae),Xe=b.invertScaleY(Pe);for(let qe=0;qe<b.width*b.height;qe++){const nt={x:We,y:Xe};if(z.contains(nt)){if(z.isFirst(nt))return!0}else z.add(nt);const at=re(Ae,Pe);switch(at){case-1:return!0;case 0:case 3:case 2:case 7:oe=oL;break;case 12:case 14:case 4:oe=CD;break;case 6:oe=oe===s2?CD:oL;break;case 1:case 13:case 5:oe=s2;break;case 9:oe=oe===oL?s2:iL;break;case 10:case 8:case 11:oe=iL;break;default:return console.warn("Marching squares invalid state: "+at),!0}switch(oe){case s2:Pe--,Xe-=b.pixelGroup;break;case iL:Pe++,Xe+=b.pixelGroup;break;case CD:Ae--,We-=b.pixelGroup;break;case oL:Ae++,We+=b.pixelGroup;break;default:return console.warn("Marching squares invalid state: "+at),!0}}return!0}for(let he=0;he<b.width;he++)for(let ge=0;ge<b.height;ge++){if(b.get(he,ge)<=x)continue;const Ae=re(he,ge);if(!(Ae<0||Ae===15)&&le(he,ge))return z.path()}return null}const aL={maxRoutingIterations:100,maxMarchingIterations:20,pixelGroup:4,edgeR0:10,edgeR1:20,nodeR0:15,nodeR1:50,morphBuffer:10,threshold:1,memberInfluenceFactor:1,edgeInfluenceFactor:1,nonMemberInfluenceFactor:-.8,virtualEdges:!0};function l2(b){return b!=null&&typeof b.radius=="number"}function xB(b,x){if(l2(b)!==l2(x))return!1;if(l2(b)){const z=x;return b.cx===z.cx&&b.cy===z.cy&&b.radius===z.radius}const E=x;return b.x===E.x&&b.y===E.y&&b.width===E.width&&b.height===E.height}var rm;(function(b){b[b.MEMBERS=0]="MEMBERS",b[b.NON_MEMBERS=1]="NON_MEMBERS",b[b.EDGES=2]="EDGES"})(rm||(rm={}));class bD{constructor(x={}){this.dirty=new Set,this.members=[],this.nonMembers=[],this.virtualEdges=[],this.edges=[],this.activeRegion=new np(0,0,0,0),this.potentialArea=new KE(1,0,0,0,0,0,0),this.o=Object.assign({},aL,x)}pushMember(...x){if(x.length!==0){this.dirty.add(rm.MEMBERS);for(const E of x)this.members.push({raw:E,obj:l2(E)?tL.from(E):np.from(E),area:null})}}removeMember(x){const E=this.members.findIndex(z=>xB(z.raw,x));return E<0?!1:(this.members.splice(E,1),this.dirty.add(rm.MEMBERS),!0)}removeNonMember(x){const E=this.nonMembers.findIndex(z=>xB(z.raw,x));return E<0?!1:(this.nonMembers.splice(E,1),this.dirty.add(rm.NON_MEMBERS),!0)}removeEdge(x){const E=this.edges.findIndex(z=>z.obj.equals(x));return E<0?!1:(this.edges.splice(E,1),this.dirty.add(rm.NON_MEMBERS),!0)}pushNonMember(...x){if(x.length!==0){this.dirty.add(rm.NON_MEMBERS);for(const E of x)this.nonMembers.push({raw:E,obj:l2(E)?tL.from(E):np.from(E),area:null})}}pushEdge(...x){if(x.length!==0){this.dirty.add(rm.EDGES);for(const E of x)this.edges.push({raw:E,obj:gg.from(E),area:null})}}update(){const x=this.dirty.has(rm.MEMBERS),E=this.dirty.has(rm.NON_MEMBERS);let z=this.dirty.has(rm.EDGES);this.dirty.clear();const te=this.members.map(ge=>ge.obj);if(this.o.virtualEdges&&(x||E)){const ge=this.nonMembers.map(We=>We.obj),Ae=HU(te,ge,this.o.maxRoutingIterations,this.o.morphBuffer),Pe=new Map(this.virtualEdges.map(We=>[We.obj.toString(),We.area]));this.virtualEdges=Ae.map(We=>{var Xe;return{raw:We,obj:We,area:(Xe=Pe.get(We.toString()))!==null&&Xe!==void 0?Xe:null}}),z=!0}let re=!1;if(x||z){const ge=this.virtualEdges.concat(this.edges).map(Xe=>Xe.obj),Ae=oG(te,ge),Pe=Math.max(this.o.edgeR1,this.o.nodeR1)+this.o.morphBuffer,We=np.from(pB(Ae,Pe));We.equals(this.activeRegion)||(re=!0,this.activeRegion=We)}if(re){const ge=Math.ceil(this.activeRegion.width/this.o.pixelGroup),Ae=Math.ceil(this.activeRegion.height/this.o.pixelGroup);this.activeRegion.x!==this.potentialArea.pixelX||this.activeRegion.y!==this.potentialArea.pixelY?(this.potentialArea=KE.fromPixelRegion(this.activeRegion,this.o.pixelGroup),this.members.forEach(Pe=>Pe.area=null),this.nonMembers.forEach(Pe=>Pe.area=null),this.edges.forEach(Pe=>Pe.area=null),this.virtualEdges.forEach(Pe=>Pe.area=null)):(ge!==this.potentialArea.width||Ae!==this.potentialArea.height)&&(this.potentialArea=KE.fromPixelRegion(this.activeRegion,this.o.pixelGroup))}const oe=new Map,le=ge=>{if(ge.area){const Ae=`${ge.obj.width}x${ge.obj.height}x${ge.obj instanceof np?"R":"C"}`;oe.set(Ae,ge.area)}},he=ge=>{if(ge.area)return;const Ae=`${ge.obj.width}x${ge.obj.height}x${ge.obj instanceof np?"R":"C"}`;if(oe.has(Ae)){const We=oe.get(Ae);ge.area=this.potentialArea.copy(We,{x:ge.obj.x-this.o.nodeR1,y:ge.obj.y-this.o.nodeR1});return}const Pe=ge.obj instanceof np?GU(ge.obj,this.potentialArea,this.o.nodeR1):mB(ge.obj,this.potentialArea,this.o.nodeR1);ge.area=Pe,oe.set(Ae,Pe)};this.members.forEach(le),this.nonMembers.forEach(le),this.members.forEach(he),this.nonMembers.forEach(ge=>{this.activeRegion.intersects(ge.obj)?he(ge):ge.area=null}),this.edges.forEach(ge=>{ge.area||(ge.area=vB(ge.obj,this.potentialArea,this.o.edgeR1))}),this.virtualEdges.forEach(ge=>{ge.area||(ge.area=vB(ge.obj,this.potentialArea,this.o.edgeR1))})}drawMembers(x){for(const E of this.members)E.obj.draw(x)}drawNonMembers(x){for(const E of this.nonMembers)E.obj.draw(x)}drawEdges(x){for(const E of this.edges)E.obj.draw(x)}drawPotentialArea(x,E=!0){this.potentialArea.draw(x,E)}compute(){if(this.members.length===0)return new ZE([]);this.dirty.size>0&&this.update();const{o:x,potentialArea:E}=this,z=this.members.map(le=>le.area),te=this.virtualEdges.concat(this.edges).map(le=>le.area),re=this.nonMembers.filter(le=>le.area!=null).map(le=>le.area),oe=this.members.map(le=>le.obj);return iG(E,z,te,re,le=>le.containsElements(oe),x)}}function iG(b,x,E,z,te,re={}){const oe=Object.assign({},aL,re);let le=oe.threshold,he=oe.memberInfluenceFactor,ge=oe.edgeInfluenceFactor,Ae=oe.nonMemberInfluenceFactor;const Pe=(oe.nodeR0-oe.nodeR1)*(oe.nodeR0-oe.nodeR1),We=(oe.edgeR0-oe.edgeR1)*(oe.edgeR0-oe.edgeR1);for(let Xe=0;Xe<oe.maxMarchingIterations;Xe++){if(b.clear(),he!==0){const nt=he/Pe;for(const at of x)b.incArea(at,nt)}if(ge!==0){const nt=ge/We;for(const at of E)b.incArea(at,nt)}if(Ae!==0){const nt=Ae/Pe;for(const at of z)b.incArea(at,nt)}const qe=rG(b,le);if(qe&&te(qe))return qe;if(le*=.95,Xe<=oe.maxMarchingIterations*.5)he*=1.2,ge*=1.2;else if(Ae!==0&&z.length>0)Ae*=.8;else break}return new ZE([])}function oG(b,x){if(b.length===0)return new np(0,0,0,0);const E=np.from(b[0]);for(const z of b)E.add(z);for(const z of x)E.add(dB(z));return E}function Qq(b,x=[],E=[],z={}){if(b.length===0)return new ZE([]);const te=new bD(z);return te.pushMember(...b),te.pushNonMember(...x),te.pushEdge(...E),te.compute()}var aG=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};class sL extends _g{constructor(x,E){super(x,yp({},sL.defaultOptions,E)),this.members=new Map,this.avoidMembers=new Map,this.bubbleSetOptions={},this.drawBubbleSets=()=>{const{style:z,bubbleSetOptions:te}=this.parseOptions();Qd(this.bubbleSetOptions,te)||this.init(),this.bubbleSetOptions=Object.assign({},te);const re=Object.assign(Object.assign({},z),{d:this.getPath()});this.shape?this.shape.update(re):(this.shape=new XC({style:re}),this.context.canvas.appendChild(this.shape))},this.updateBubbleSetsPath=z=>{if(!this.shape)return;const te=Xi(z.data);[...this.options.members,...this.options.avoidMembers].includes(te)&&this.shape.update(Object.assign(Object.assign({},this.parseOptions().style),{d:this.getPath(te)}))},this.getPath=z=>{const{graph:te}=this.context,re=this.options.members,oe=[...this.members.keys()],le=this.options.avoidMembers,he=[...this.avoidMembers.keys()];if(!z&&Qd(re,oe)&&Qd(le,he))return this.path;const{enter:ge=[],exit:Ae=[]}=ux(oe,re,at=>at),{enter:Pe=[],exit:We=[]}=ux(he,le,at=>at);z&&(Ae.push(z),ge.push(z));const Xe=(at,pt,mt)=>{at.forEach(bt=>{const jt=mt?this.members:this.avoidMembers,Ut=mt?"pushMember":"pushNonMember",Kt=mt?"removeMember":"removeNonMember";if(pt){let Qt;te.getElementType(bt)==="edge"?([Qt]=lG(te,bt),this.bubbleSets.pushEdge(Qt)):([Qt]=sG(te,bt),this.bubbleSets[Ut](Qt)),jt.set(bt,Qt)}else{const Qt=jt.get(bt);Qt&&(te.getElementType(bt)==="edge"?this.bubbleSets.removeEdge(Qt):this.bubbleSets[Kt](Qt),jt.delete(bt))}})};Xe(Ae,!1,!0),Xe(ge,!0,!0),Xe(We,!1,!1),Xe(Pe,!0,!1);const nt=this.bubbleSets.compute().sample(8).simplify(0).bSplines().simplify(0);return this.path=cO(nt.points.map(kg)),this.path},this.bindEvents(),this.bubbleSets=new bD(this.options)}bindEvents(){this.context.graph.on(ts.AFTER_RENDER,this.drawBubbleSets),this.context.graph.on(ts.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath)}init(){this.bubbleSets=new bD(this.options),this.members=new Map,this.avoidMembers=new Map}parseOptions(){const x=this.options,{type:E,key:z,members:te,avoidMembers:re}=x,oe=aG(x,["type","key","members","avoidMembers"]),le=Object.keys(oe).reduce((he,ge)=>(ge in aL?he.bubbleSetOptions[ge]=oe[ge]:he.style[ge]=oe[ge],he),{style:{},bubbleSetOptions:{}});return Object.assign({type:E,key:z,members:te,avoidMembers:re},le)}addMember(x){const E=Array.isArray(x)?x:[x];E.some(z=>this.options.avoidMembers.includes(z))&&(this.options.avoidMembers=this.options.avoidMembers.filter(z=>!E.includes(z))),this.options.members=[...new Set([...this.options.members,...E])],this.drawBubbleSets()}removeMember(x){const E=Array.isArray(x)?x:[x];this.options.members=this.options.members.filter(z=>!E.includes(z)),this.drawBubbleSets()}updateMember(x){this.options.members=Ys(x)?x(this.options.members):x,this.drawBubbleSets()}getMember(){return this.options.members}addAvoidMember(x){const E=Array.isArray(x)?x:[x];E.some(z=>this.options.members.includes(z))&&(this.options.members=this.options.members.filter(z=>!E.includes(z))),this.options.avoidMembers=[...new Set([...this.options.avoidMembers,...E])],this.drawBubbleSets()}removeAvoidMember(x){const E=Array.isArray(x)?x:[x];this.options.avoidMembers.some(z=>E.includes(z))&&(this.options.avoidMembers=this.options.avoidMembers.filter(z=>!E.includes(z)),this.drawBubbleSets())}updateAvoidMember(x){this.options.avoidMembers=Array.isArray(x)?x:[x],this.drawBubbleSets()}getAvoidMember(){return this.options.avoidMembers}destroy(){this.context.graph.off(ts.AFTER_RENDER,this.drawBubbleSets),this.context.graph.off(ts.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath),this.shape.destroy(),super.destroy()}}sL.defaultOptions=Object.assign({members:[],avoidMembers:[],fill:"lightblue",fillOpacity:.2,stroke:"blue",strokeOpacity:.2},aL);const sG=(b,x)=>(Array.isArray(x)?x:[x]).map(z=>{const te=b.getElementRenderBounds(z);return new np(te.min[0],te.min[1],Ym(te),Xm(te))}),lG=(b,x)=>(Array.isArray(x)?x:[x]).map(z=>{const te=b.getEdgeData(z),re=b.getElementPosition(te.source),oe=b.getElementPosition(te.target);return gg.from({x1:re[0],y1:re[1],x2:oe[0],y2:oe[1]})});class Jq extends null{constructor(x,E){super(x,E),this.setOptions=z=>{const te={cameraType:"setType",near:"setNear",far:"setFar",fov:"setFov",aspect:"setAspect",projectionMode:"setProjectionMode",distance:"setDistance",minDistance:"setMinDistance",maxDistance:"setMaxDistance",roll:"setRoll",elevation:"setElevation",azimuth:"setAzimuth"},re=(oe,le)=>{switch(oe){case"projectionMode":return le==="perspective"?1:0;case"cameraType":return{orbiting:0,exploring:1,tracking:2}[le];case"aspect":return typeof le=="number"?le:this.getCanvasAspect();default:return le}};Object.entries(te).forEach(([oe,le])=>{const he=z[oe];if(he!==void 0){const ge=re(oe,he);this.context.canvas.getCamera()[le](ge)}})},this.bindEvents()}update(x){this.setOptions(x),super.update(x)}bindEvents(){this.context.graph.once(GraphEvent.BEFORE_DRAW,()=>this.setOptions(this.options))}getCanvasAspect(){const[x,E]=this.context.viewport.getCanvasSize();return x/E}}function uG(b){return`
<ul class="g6-contextmenu-ul">
${b.map(x=>`<li class="g6-contextmenu-li" value="${x.value}">${x.name}</li>`).join("")}
</ul>
`}const cG=`
.g6-contextmenu {
font-size: 12px;
background-color: rgba(255, 255, 255, 0.96);
border-radius: 4px;
overflow: hidden;
box-shadow: rgba(0, 0, 0, 0.12) 0px 6px 12px 0px;
transition: visibility 0.2s cubic-bezier(0.23, 1, 0.32, 1) 0s, left 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s, top 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}
.g6-contextmenu-ul {
max-width: 256px;
min-width: 96px;
list-style: none;
padding: 0;
margin: 0;
}
.g6-contextmenu-li {
padding: 8px 12px;
cursor: pointer;
user-select: none;
}
.g6-contextmenu-li:hover {
background-color: #f5f5f5;
cursor: pointer;
}
`;var EB=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})};class lL extends _g{constructor(x,E){super(x,Object.assign({},lL.defaultOptions,E)),this.targetElement=null,this.onTriggerEvent=z=>{var te;(te=z.preventDefault)===null||te===void 0||te.call(z),this.show(z)},this.onMenuItemClick=z=>{const{onClick:te,trigger:re}=this.options;if(z.target instanceof HTMLElement&&z.target.className.includes("g6-contextmenu-li")){const oe=z.target.getAttribute("value");te==null||te(oe,z.target,this.targetElement),this.hide()}re!=="click"&&this.hide()},this.initElement(),this.update(E)}initElement(){this.$element=RS("contextmenu",!1,{zIndex:"99"});const{className:x}=this.options;x&&this.$element.classList.add(x),this.context.canvas.getContainer().appendChild(this.$element),AD("g6-contextmenu-css","style",{},cG,document.head)}show(x){return EB(this,void 0,void 0,function*(){const{enable:E,offset:z}=this.options;if(typeof E=="function"&&!E(x)||!E){this.hide();return}const te=yield this.getDOMContent(x);te instanceof HTMLElement?(this.$element.innerHTML="",this.$element.appendChild(te)):this.$element.innerHTML=te;const re=this.context.graph.getCanvas().getContainer().getBoundingClientRect();this.$element.style.left=`${x.client.x-re.left+z[0]}px`,this.$element.style.top=`${x.client.y-re.top+z[1]}px`,this.$element.style.display="block",this.targetElement=x.target})}hide(){this.$element.style.display="none",this.targetElement=null}update(x){this.unbindEvents(),super.update(x),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy(),this.$element.remove()}getDOMContent(x){return EB(this,void 0,void 0,function*(){const{getContent:E,getItems:z}=this.options;return z?uG(yield z(x)):yield E(x)})}bindEvents(){const{graph:x}=this.context,{trigger:E}=this.options;x.on(`canvas:${E}`,this.onTriggerEvent),x.on(`node:${E}`,this.onTriggerEvent),x.on(`edge:${E}`,this.onTriggerEvent),x.on(`combo:${E}`,this.onTriggerEvent),document.addEventListener("click",this.onMenuItemClick)}unbindEvents(){const{graph:x}=this.context,{trigger:E}=this.options;x.off(`canvas:${E}`,this.onTriggerEvent),x.off(`node:${E}`,this.onTriggerEvent),x.off(`edge:${E}`,this.onTriggerEvent),x.off(`combo:${E}`,this.onTriggerEvent),document.removeEventListener("click",this.onMenuItemClick)}}lL.defaultOptions={trigger:"contextmenu",offset:[4,4],loadingContent:'<div class="g6-contextmenu-loading">Loading...</div>',getContent:()=>"It is a empty context menu.",enable:()=>!0};class uL extends _g{constructor(x,E){super(x,Object.assign({},uL.defaultOptions,E)),this.edgeBundles={},this.edgePoints={},this.onBundle=()=>{const{model:z,element:te}=this.context,re=z.getEdgeData();this.divideEdges(this.options.divisions);const{cycles:oe,iterRate:le,divRate:he}=this.options;let{lambda:ge,divisions:Ae,iterations:Pe}=this.options;for(let We=0;We<oe;We++){for(let Xe=0;Xe<Pe;Xe++){const qe={};re.forEach(nt=>{var at;if(nt.source===nt.target)return;const pt=Xi(nt);qe[pt]=this.getEdgeForces(nt,Ae,ge);for(let mt=0;mt<Ae+1;mt++)(at=this.edgePoints)[pt]||(at[pt]=[]),this.edgePoints[pt][mt]=hu(this.edgePoints[pt][mt],qe[pt][mt])})}ge/=2,Ae*=he,Pe*=le,this.divideEdges(Ae)}re.forEach(We=>{const Xe=Xi(We),qe=te.getElement(Xe);qe==null||qe.update({d:W5(this.edgePoints[Xe])})})},this.bindEvents()}get nodeMap(){const x=this.context.model.getNodeData();return Object.fromEntries(x.map(E=>[Xi(E),RE(Wf(E))]))}divideEdges(x){this.context.model.getEdgeData().forEach(z=>{var te;const re=Xi(z);(te=this.edgePoints)[re]||(te[re]=[]);const oe=this.nodeMap[z.source],le=this.nodeMap[z.target];if(x===1)this.edgePoints[re].push(oe),this.edgePoints[re].push(em(hu(oe,le),2)),this.edgePoints[re].push(le);else{const ge=(this.edgePoints[re].length===0?Nh(oe,le):pG(this.edgePoints[re]))/(x+1);let Ae=ge;const Pe=[oe];for(let We=1;We<this.edgePoints[re].length;We++){const Xe=this.edgePoints[re][We-1],qe=this.edgePoints[re][We];let nt=Nh(qe,Xe);for(;nt>Ae;){const at=Ae/nt,pt=hu(Xe,Xy(Jc(qe,Xe),at));Pe.push(pt),nt-=Ae,Ae=ge}Ae-=nt}Pe.push(le),this.edgePoints[re]=Pe}})}getVectorPosition(x){const E=this.nodeMap[x.source],z=this.nodeMap[x.target],[te,re]=Jc(z,E),oe=Nh(E,z);return{source:E,target:z,vx:te,vy:re,length:oe}}measureEdgeCompatibility(x,E){const z=this.getVectorPosition(x),te=this.getVectorPosition(E),re=hG(z,te),oe=dG(z,te),le=fG(z,te),he=gG(z,te);return re*oe*le*he}getEdgeBundles(){const x={},E=this.options.bundleThreshold,z=this.context.model.getEdgeData();return z.forEach((te,re)=>{z.forEach((oe,le)=>{var he,ge;if(le<=re)return;this.measureEdgeCompatibility(te,oe)>=E&&(x[he=Xi(te)]||(x[he]=[]),x[Xi(te)].push(oe),x[ge=Xi(oe)]||(x[ge]=[]),x[Xi(oe)].push(te))})}),x}getSpringForce(x,E){const{pre:z,cur:te,next:re}=x;return Xy(Jc(hu(z,re),Xy(te,2)),E)}getElectrostaticForce(x,E){Jm(this.edgeBundles)&&(this.edgeBundles=this.getEdgeBundles());const z=this.edgeBundles[Xi(E)];let te=[0,0];return z==null||z.forEach(re=>{const oe=this.edgePoints[Xi(re)][x],le=this.edgePoints[Xi(E)][x],he=Jc(oe,le),ge=Nh(oe,le);te=hu(te,Xy(he,1/ge))}),te}getEdgeForces(x,E,z){const te=this.nodeMap[x.source],re=this.nodeMap[x.target],oe=this.options.K/(Nh(te,re)*(E+1)),le=[[0,0]],he=Xi(x);for(let ge=1;ge<E;ge++){const Ae=this.getSpringForce({pre:this.edgePoints[he][ge-1],cur:this.edgePoints[he][ge],next:this.edgePoints[he][ge+1]||[0,0]},oe),Pe=this.getElectrostaticForce(ge,x);le.push(Xy(hu(Ae,Pe),z))}return le.push([0,0]),le}bindEvents(){const{graph:x}=this.context;x.on(ts.AFTER_RENDER,this.onBundle)}unbindEvents(){const{graph:x}=this.context;x.off(ts.AFTER_RENDER,this.onBundle)}destroy(){this.unbindEvents(),super.destroy()}}uL.defaultOptions={K:.1,lambda:.1,divisions:1,divRate:2,cycles:6,iterations:90,iterRate:2/3,bundleThreshold:.6};const hG=(b,x)=>Math.abs(V_([b.vx,b.vy],[x.vx,x.vy])/(b.length*x.length)),dG=(b,x)=>{const E=(b.length+x.length)/2;return 2/(E/Math.min(b.length,x.length)+Math.max(b.length,x.length)/E)},fG=(b,x)=>{const E=(b.length+x.length)/2,z=em(hu(b.source,b.target),2),te=em(hu(x.source,x.target),2);return E/(E+Nh(z,te))},AB=(b,x)=>{if(x.source[0]===x.target[0])return[x.source[0],b[1]];if(x.source[1]===x.target[1])return[b[0],x.source[1]];const E=(x.source[1]-x.target[1])/(x.source[0]-x.target[0]),z=(E*E*x.source[0]+E*(b[1]-x.source[1])+b[0])/(E*E+1),te=E*(z-x.source[0])+x.source[1];return[z,te]},SB=(b,x)=>{const E=AB(x.source,b),z=AB(x.target,b),te=em(hu(E,z),2),re=em(hu(b.source,b.target),2);return Nh(E,z)===0?0:Math.max(0,1-2*Nh(re,te)/Nh(E,z))},gG=(b,x)=>Math.min(SB(b,x),SB(x,b)),pG=b=>{let x=0;for(let E=1;E<b.length;E++)x+=Nh(b[E],b[E-1]);return x},vG={fill:"#fff",fillOpacity:1,lineWidth:1,stroke:"#000",strokeOpacity:.8,zIndex:-1/0},wB=.05;class cL extends _g{constructor(x,E){super(x,Object.assign({},cL.defaultOptions,E)),this.shapes=new Map,this.r=this.options.r,this.onEdgeFilter=z=>{if(this.options.trigger==="drag"&&this.isLensOn)return;const te=kg(z.canvas);this.renderLens(te),this.renderFocusElements()},this.renderLens=z=>{const te=Object.assign({},vG,this.options.style);this.isLensOn||(this.lens=new _E({style:te}),this.canvas.appendChild(this.lens)),Object.assign(te,tm(z),{size:this.r*2}),this.lens.update(te)},this.getFilterData=()=>{const{filter:z}=this.options,{model:te}=this.context,re=te.getData();if(!z)return re;const{nodes:oe,edges:le,combos:he}=re;return{nodes:oe.filter(ge=>z(Xi(ge),"node")),edges:le.filter(ge=>z(Xi(ge),"edge")),combos:he.filter(ge=>z(Xi(ge),"combo"))}},this.getFocusElements=z=>{const{nodes:te,edges:re}=this.getFilterData(),oe=te.filter(ge=>Nh(Wf(ge),z)<this.r),le=oe.map(ge=>Xi(ge)),he=re.filter(ge=>{const{source:Ae,target:Pe}=ge,We=le.includes(Ae),Xe=le.includes(Pe);switch(this.options.nodeType){case"both":return We&&Xe;case"either":return We!==Xe;case"source":return We&&!Xe;case"target":return!We&&Xe;default:return!1}});return{nodes:oe,edges:he}},this.renderFocusElements=()=>{const{element:z,graph:te}=this.context;if(!this.isLensOn)return;const re=this.lens.getCenter(),{nodes:oe,edges:le}=this.getFocusElements(re),he=new Set,ge=Ae=>{const Pe=Xi(Ae);he.add(Pe);const We=z.getElement(Pe);if(!We)return;const Xe=this.shapes.get(Pe)||We.cloneNode();Xe.setPosition(We.getPosition()),Xe.id=We.id,this.shapes.has(Pe)?Object.entries(We.attributes).forEach(([at,pt])=>{Xe.style[at]!==pt&&(Xe.style[at]=pt)}):(this.canvas.appendChild(Xe),this.shapes.set(Pe,Xe));const qe=te.getElementType(Pe),nt=this.getElementStyle(qe,Ae);Xe.update(nt)};oe.forEach(ge),le.forEach(ge),this.shapes.forEach((Ae,Pe)=>{he.has(Pe)||(Ae.destroy(),this.shapes.delete(Pe))})},this.scaleRByWheel=z=>{var te;this.options.preventDefault&&z.preventDefault();const{clientX:re,clientY:oe,deltaX:le,deltaY:he}=z,{graph:ge,canvas:Ae}=this.context,Pe=ge.getCanvasByClient([re,oe]),We=(te=this.lens)===null||te===void 0?void 0:te.getCenter();if(!this.isLensOn||Nh(Pe,We)>this.r)return;const{maxR:Xe,minR:qe}=this.options,nt=le+he>0?1/(1-wB):1-wB,at=Math.min(...Ae.getSize())/2;this.r=Math.max(qe||0,Math.min(Xe||at,this.r*nt)),this.renderLens(We),this.renderFocusElements()},this.isLensDragging=!1,this.onDragStart=z=>{var te;const re=kg(z.canvas),oe=(te=this.lens)===null||te===void 0?void 0:te.getCenter();!this.isLensOn||Nh(re,oe)>this.r||(this.isLensDragging=!0)},this.onDrag=z=>{if(!this.isLensDragging)return;const te=kg(z.canvas);this.renderLens(te),this.renderFocusElements()},this.onDragEnd=()=>{this.isLensDragging=!1},this.bindEvents()}get canvas(){return this.context.canvas.getLayer("transient")}get isLensOn(){return this.lens&&!this.lens.destroyed}getElementStyle(x,E){const z=x==="node"?this.options.nodeStyle:this.options.edgeStyle;return typeof z=="function"?z(E):z}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}bindEvents(){var x;const{graph:E}=this.context,{trigger:z,scaleRBy:te}=this.options,re=E.getCanvas().getLayer();["click","drag"].includes(z)&&re.addEventListener(ia.CLICK,this.onEdgeFilter),z==="pointermove"?re.addEventListener(ia.POINTER_MOVE,this.onEdgeFilter):z==="drag"&&(re.addEventListener(ia.DRAG_START,this.onDragStart),re.addEventListener(ia.DRAG,this.onDrag),re.addEventListener(ia.DRAG_END,this.onDragEnd)),te==="wheel"&&((x=this.graphDom)===null||x===void 0||x.addEventListener(ia.WHEEL,this.scaleRByWheel,{passive:!1}))}unbindEvents(){var x;const{graph:E}=this.context,{trigger:z,scaleRBy:te}=this.options,re=E.getCanvas().getLayer();["click","drag"].includes(z)&&re.removeEventListener(ia.CLICK,this.onEdgeFilter),z==="pointermove"?re.removeEventListener(ia.POINTER_MOVE,this.onEdgeFilter):z==="drag"&&(re.removeEventListener(ia.DRAG_START,this.onDragStart),re.removeEventListener(ia.DRAG,this.onDrag),re.removeEventListener(ia.DRAG_END,this.onDragEnd)),te==="wheel"&&((x=this.graphDom)===null||x===void 0||x.removeEventListener(ia.WHEEL,this.scaleRByWheel))}update(x){this.unbindEvents(),super.update(x),this.bindEvents()}destroy(){this.unbindEvents(),this.isLensOn&&this.lens.destroy(),this.shapes.forEach((x,E)=>{x.destroy(),this.shapes.delete(E)}),super.destroy()}}cL.defaultOptions={trigger:"pointermove",r:60,nodeType:"both",filter:()=>!0,style:{lineWidth:2},nodeStyle:{label:!1},edgeStyle:{label:!0},scaleRBy:"wheel",preventDefault:!0};const mG={fill:"#ccc",fillOpacity:.1,lineWidth:2,stroke:"#000",strokeOpacity:.8,labelFontSize:12},CB=.05,bB=.1;class hL extends _g{constructor(x,E){super(x,Object.assign({},hL.defaultOptions,E)),this.r=this.options.r,this.d=this.options.d,this.onCreateFisheye=z=>{if(this.options.trigger==="drag"&&this.isLensOn)return;const te=kg(z.canvas);this.onMagnify(te)},this.onMagnify=z=>{z.some(isNaN)||(this.renderLens(z),this.renderFocusElements())},this.renderLens=z=>{const te=Object.assign({},mG,this.options.style);this.isLensOn||(this.lens=new _E({style:te}),this.canvas.appendChild(this.lens)),Object.assign(te,tm(z),{size:this.r*2,label:this.options.showDPercent,labelText:this.getDPercent()}),this.lens.update(te)},this.getDPercent=()=>{const{minD:z,maxD:te}=this.options;return`${Math.round((this.d-z)/(te-z)*100)}%`},this.prevMagnifiedStyleMap=new Map,this.prevOriginStyleMap=new Map,this.renderFocusElements=()=>{if(!this.isLensOn)return;const{graph:z}=this.context,te=this.lens.getCenter(),re=(this.d+1)*this.r,oe=new Map,le=new Map;z.getNodeData().forEach(ge=>{const Ae=Wf(ge),Pe=Nh(Ae,te);if(Pe>this.r)return;const We=re*Pe/(this.d*Pe+this.r),[Xe,qe]=Ae,[nt,at]=te,pt=(Xe-nt)/Pe,mt=(qe-at)/Pe,bt=[nt+We*pt,at+We*mt],jt=Xi(ge),Ut=this.getNodeStyle(ge),Kt=jE(z.getElementRenderStyle(jt),Object.keys(Ut));oe.set(jt,Object.assign(Object.assign({},tm(bt)),Ut)),le.set(jt,Object.assign(Object.assign({},tm(Ae)),Kt))}),this.updateStyle(oe,le)},this.getNodeStyle=z=>{const{nodeStyle:te}=this.options;return typeof te=="function"?te(z):te},this.updateStyle=(z,te)=>{const{graph:re,element:oe}=this.context,{enter:le,exit:he,keep:ge}=ux(Array.from(this.prevMagnifiedStyleMap.keys()),Array.from(z.keys()),We=>We),Ae=new Set,Pe=(We,Xe)=>{const qe=oe.getElement(We);qe==null||qe.update(Xe),re.getRelatedEdgesData(We).forEach(nt=>{Ae.add(Xi(nt))})};[...le,...ge].forEach(We=>{Pe(We,z.get(We))}),he.forEach(We=>{Pe(We,this.prevOriginStyleMap.get(We)),this.prevOriginStyleMap.delete(We)}),Ae.forEach(We=>{const Xe=oe.getElement(We);Xe==null||Xe.update({})}),this.prevMagnifiedStyleMap=z,te.forEach((We,Xe)=>{this.prevOriginStyleMap.has(Xe)||this.prevOriginStyleMap.set(Xe,We)})},this.isWheelValid=z=>{if(this.options.preventDefault&&z.preventDefault(),!this.isLensOn)return!1;const{clientX:te,clientY:re}=z,oe=this.context.graph.getCanvasByClient([te,re]),le=this.lens.getCenter();return!(Nh(oe,le)>this.r)},this.scaleR=z=>{const{maxR:te,minR:re}=this.options,oe=z?1/(1-CB):1-CB,le=Math.min(...this.context.canvas.getSize())/2;this.r=Math.max(re||0,Math.min(te||le,this.r*oe))},this.scaleD=z=>{const{maxD:te,minD:re}=this.options,oe=z?this.d+bB:this.d-bB;this.d=Math.max(re,Math.min(te,oe))},this.scaleRByWheel=z=>{if(!this.isWheelValid(z))return;const{deltaX:te,deltaY:re}=z;this.scaleR(te+re>0);const oe=this.lens.getCenter();this.onMagnify(oe)},this.scaleDByWheel=z=>{if(!this.isWheelValid(z))return;const{deltaX:te,deltaY:re}=z;this.scaleD(te+re>0);const oe=this.lens.getCenter();this.onMagnify(oe)},this.isDragValid=z=>{if(this.options.preventDefault&&z.preventDefault(),!this.isLensOn)return!1;const te=kg(z.canvas),re=this.lens.getCenter();return!(Nh(te,re)>this.r)},this.isLensDragging=!1,this.onDragStart=z=>{this.isDragValid(z)&&(this.isLensDragging=!0)},this.onDrag=z=>{if(!this.isLensDragging)return;const te=kg(z.canvas);this.onMagnify(te)},this.onDragEnd=()=>{this.isLensDragging=!1},this.scaleRByDrag=z=>{if(!this.isLensDragging)return;const{dx:te,dy:re}=z;this.scaleR(te-re>0);const oe=this.lens.getCenter();this.onMagnify(oe)},this.scaleDByDrag=z=>{if(!this.isLensDragging)return;const{dx:te,dy:re}=z;this.scaleD(te-re>0);const oe=this.lens.getCenter();this.onMagnify(oe)},this.bindEvents()}get canvas(){return this.context.canvas.getLayer("transient")}get isLensOn(){return this.lens&&!this.lens.destroyed}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}bindEvents(){var x;const{graph:E}=this.context,{trigger:z,scaleRBy:te,scaleDBy:re}=this.options,oe=E.getCanvas().getLayer();if(["click","drag"].includes(z)&&oe.addEventListener(ia.CLICK,this.onCreateFisheye),z==="pointermove"&&oe.addEventListener(ia.POINTER_MOVE,this.onCreateFisheye),z==="drag"||te==="drag"||re==="drag"){oe.addEventListener(ia.DRAG_START,this.onDragStart),oe.addEventListener(ia.DRAG_END,this.onDragEnd);const le=z==="drag"?this.onDrag:te==="drag"?this.scaleRByDrag:this.scaleDByDrag;oe.addEventListener(ia.DRAG,le)}if(te==="wheel"||re==="wheel"){const le=te==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(x=this.graphDom)===null||x===void 0||x.addEventListener(ia.WHEEL,le,{passive:!1})}}unbindEvents(){var x;const{graph:E}=this.context,{trigger:z,scaleRBy:te,scaleDBy:re}=this.options,oe=E.getCanvas().getLayer();if(["click","drag"].includes(z)&&oe.removeEventListener(ia.CLICK,this.onCreateFisheye),z==="pointermove"&&oe.removeEventListener(ia.POINTER_MOVE,this.onCreateFisheye),z==="drag"||te==="drag"||re==="drag"){oe.removeEventListener(ia.DRAG_START,this.onDragStart),oe.removeEventListener(ia.DRAG_END,this.onDragEnd);const le=z==="drag"?this.onDrag:te==="drag"?this.scaleRByDrag:this.scaleDByDrag;oe.removeEventListener(ia.DRAG,le)}if(te==="wheel"||re==="wheel"){const le=te==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(x=this.graphDom)===null||x===void 0||x.removeEventListener(ia.WHEEL,le)}}update(x){this.unbindEvents(),super.update(x),this.bindEvents()}destroy(){var x;this.unbindEvents(),this.isLensOn&&((x=this.lens)===null||x===void 0||x.destroy()),this.prevMagnifiedStyleMap.clear(),this.prevOriginStyleMap.clear(),super.destroy()}}hL.defaultOptions={trigger:"pointermove",r:120,d:1.5,maxD:5,minD:0,showDPercent:!0,style:{},nodeStyle:{label:!0},preventDefault:!0};class dL extends _g{constructor(x,E){super(x,Object.assign({},dL.defaultOptions,E)),this.$el=this.context.canvas.getContainer(),this.graphSize=[0,0],this.onFullscreenChange=()=>{var z,te,re,oe;const le=!!document.fullscreenElement;this.options.autoFit&&this.setGraphSize(le),le?(te=(z=this.options).onEnter)===null||te===void 0||te.call(z):(oe=(re=this.options).onExit)===null||oe===void 0||oe.call(re)},this.shortcut=new PS(x.graph),this.bindEvents(),this.style=document.createElement("style"),document.head.appendChild(this.style),this.style.innerHTML=`
:not(:root):fullscreen::backdrop {
background: transparent;
}
`}bindEvents(){this.unbindEvents(),this.shortcut.unbindAll();const{request:x=[],exit:E=[]}=this.options.trigger;this.shortcut.bind(x,this.request),this.shortcut.bind(E,this.exit),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(te=>{document.addEventListener(te,this.onFullscreenChange,!1)})}unbindEvents(){this.shortcut.unbindAll(),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(E=>{document.removeEventListener(E,this.onFullscreenChange,!1)})}setGraphSize(x=!0){var E,z;let te,re;x?(te=((E=globalThis.screen)===null||E===void 0?void 0:E.width)||0,re=((z=globalThis.screen)===null||z===void 0?void 0:z.height)||0,this.graphSize=this.context.graph.getSize()):[te,re]=this.graphSize,this.context.graph.setSize(te,re),this.context.graph.render()}request(){document.fullscreenElement||!yG()||this.$el.requestFullscreen().catch(x=>{Jp.warn(`Error attempting to enable full-screen: ${x.message} (${x.name})`)})}exit(){document.fullscreenElement&&document.exitFullscreen()}update(x){this.unbindEvents(),super.update(x),this.bindEvents()}destroy(){this.exit(),this.style.remove(),super.destroy()}}dL.defaultOptions={trigger:{},autoFit:!0};function yG(){return document.fullscreenEnabled||Reflect.get(document,"webkitFullscreenEnabled")||Reflect.get(document,"mozFullscreenEnabled")||Reflect.get(document,"msFullscreenEnabled")}class fL extends _g{constructor(x,E){super(x,Object.assign({},fL.defaultOptions,E)),this.$element=RS("grid-line",!0),this.offset=[0,0],this.onTransform=te=>{if(!this.options.follow)return;const{data:{translate:re}}=te;re&&this.updateOffset(re)},this.context.canvas.getContainer().prepend(this.$element),this.updateStyle(),this.bindEvents()}update(x){super.update(x),this.updateStyle()}bindEvents(){const{graph:x}=this.context;x.on(ts.AFTER_TRANSFORM,this.onTransform)}updateStyle(){const{size:x,stroke:E,lineWidth:z,border:te,borderLineWidth:re,borderStroke:oe,borderStyle:le}=this.options;Object.assign(this.$element.style,{border:te?`${re}px ${le} ${oe}`:"none",backgroundImage:`linear-gradient(${E} ${z}px, transparent ${z}px), linear-gradient(90deg, ${E} ${z}px, transparent ${z}px)`,backgroundSize:`${x}px ${x}px`,backgroundRepeat:"repeat"})}updateOffset(x){this.offset=Z_(hu(this.offset,x),this.options.size),this.$element.style.backgroundPosition=`${this.offset[0]}px ${this.offset[1]}px`}destroy(){this.context.graph.off(ts.AFTER_TRANSFORM,this.onTransform),this.$element.remove(),super.destroy()}}fL.defaultOptions={border:!0,borderLineWidth:1,borderStroke:"#eee",borderStyle:"solid",lineWidth:1,size:20,stroke:"#eee"};function PD(b){const x={Added:new Map,Updated:new Map,Removed:new Map};return b.forEach(E=>{const{type:z,value:te}=E,re=Xi(te);if(z==="NodeAdded"||z==="EdgeAdded"||z==="ComboAdded")x.Added.set(re,E);else if(z==="NodeUpdated"||z==="EdgeUpdated"||z==="ComboUpdated")if(x.Added.has(re))x.Added.set(re,{type:z.replace("Updated","Added"),value:te});else if(x.Updated.has(re)){const{original:oe}=x.Updated.get(re);x.Updated.set(re,{type:z,value:te,original:oe})}else x.Removed.has(re)||x.Updated.set(re,E);else(z==="NodeRemoved"||z==="EdgeRemoved"||z==="ComboRemoved")&&(x.Added.has(re)?x.Added.delete(re):(x.Updated.has(re)&&x.Updated.delete(re),x.Removed.set(re,E)))}),[...Array.from(x.Added.values()),...Array.from(x.Updated.values()),...Array.from(x.Removed.values())]}function PB(b){const{NodeAdded:x=[],NodeUpdated:E=[],NodeRemoved:z=[],EdgeAdded:te=[],EdgeUpdated:re=[],EdgeRemoved:oe=[],ComboAdded:le=[],ComboUpdated:he=[],ComboRemoved:ge=[]}=OP(b,Ae=>Ae.type);return{add:{nodes:x,edges:te,combos:le},update:{nodes:E,edges:re,combos:he},remove:{nodes:z,edges:oe,combos:ge}}}function MB(b,x){for(const E in b)lh(b[E])&&!Array.isArray(b[E])&&b[E]!==null?(x[E]||(x[E]={}),MB(b[E],x[E])):x[E]===void 0&&(x[E]=_C(E))}function xG(b,x=!1,E){const z={animation:x,current:{add:{},update:{},remove:{}},original:{add:{},update:{},remove:{}}},{add:te,update:re,remove:oe}=PB(PD(b));return["nodes","edges","combos"].forEach(le=>{re[le]&&re[le].forEach(he=>{var ge,Ae;const Pe=Object.assign({},he.value);let We=Object.assign({},he.original);if(E){const Xe=E.graph.getElementType(Xi(he.original)),qe=Xe==="edge"?"stroke":"fill",nt=E.element.getElementComputedStyle(Xe,he.original);We=Object.assign(Object.assign({},he.original),{style:Object.assign({[qe]:nt[qe]},he.original.style)})}MB(Pe,We),(ge=z.current.update)[le]||(ge[le]=[]),z.current.update[le].push(Pe),(Ae=z.original.update)[le]||(Ae[le]=[]),z.original.update[le].push(We)}),te[le]&&te[le].forEach(he=>{var ge,Ae;const Pe=Object.assign({},he.value);(ge=z.current.add)[le]||(ge[le]=[]),z.current.add[le].push(Pe),(Ae=z.original.remove)[le]||(Ae[le]=[]),z.original.remove[le].push(Pe)}),oe[le]&&oe[le].forEach(he=>{var ge,Ae;const Pe=Object.assign({},he.value);(ge=z.current.remove)[le]||(ge[le]=[]),z.current.remove[le].push(Pe),(Ae=z.original.add)[le]||(Ae[le]=[]),z.original.add[le].push(Pe)})}),z}class gL extends _g{constructor(x,E){super(x,Object.assign({},gL.defaultOptions,E)),this.batchChanges=null,this.batchAnimation=!1,this.undoStack=[],this.redoStack=[],this.freezed=!1,this.executeCommand=(te,re=!0)=>{var oe,le,he;this.freezed=!0,(le=(oe=this.options).executeCommand)===null||le===void 0||le.call(oe,te);const ge=re?te.original:te.current;this.context.graph.addData(ge.add),this.context.graph.updateData(ge.update),this.context.graph.removeData(F3(ge.remove,!1)),(he=this.context.element)===null||he===void 0||he.draw({silence:!0,animation:te.animation}),this.freezed=!1},this.addCommand=te=>{var re;if(!this.freezed){if(te.type===ts.AFTER_DRAW){const{dataChanges:oe=[],animation:le=!0}=te.data;if(!((re=this.context.batch)===null||re===void 0)&&re.isBatching){if(!this.batchChanges)return;this.batchChanges.push(oe),this.batchAnimation&&(this.batchAnimation=le);return}this.batchChanges=[oe],this.batchAnimation=le}this.undoStackPush(xG(this.batchChanges.flat(),this.batchAnimation,this.context)),this.notify(ox.ADD,this.undoStack[this.undoStack.length-1])}},this.initBatchCommand=te=>{const{initiate:re}=te.data;this.batchAnimation=!1,re?this.batchChanges=[]:this.undoStack.pop()||(this.batchChanges=null)},this.emitter=new IM;const{graph:z}=this.context;z.on(ts.AFTER_DRAW,this.addCommand),z.on(ts.BATCH_START,this.initBatchCommand),z.on(ts.BATCH_END,this.addCommand)}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}undo(){var x,E,z,te;const re=this.undoStack.pop();if(re){if(this.executeCommand(re),((E=(x=this.options).beforeAddCommand)===null||E===void 0?void 0:E.call(x,re,!1))===!1)return;this.redoStack.push(re),(te=(z=this.options).afterAddCommand)===null||te===void 0||te.call(z,re,!1),this.notify(ox.UNDO,re)}return this}redo(){const x=this.redoStack.pop();return x&&(this.executeCommand(x,!1),this.undoStackPush(x),this.notify(ox.REDO,x)),this}undoAndCancel(){const x=this.undoStack.pop();return x&&(this.executeCommand(x,!1),this.redoStack=[],this.notify(ox.CANCEL,x)),this}undoStackPush(x){var E,z,te,re;const{stackSize:oe}=this.options;oe!==0&&this.undoStack.length>=oe&&this.undoStack.shift(),((z=(E=this.options).beforeAddCommand)===null||z===void 0?void 0:z.call(E,x,!0))!==!1&&(this.undoStack.push(x),(re=(te=this.options).afterAddCommand)===null||re===void 0||re.call(te,x,!0))}clear(){this.undoStack=[],this.redoStack=[],this.batchChanges=null,this.batchAnimation=!1,this.notify(ox.CLEAR,null)}notify(x,E){this.emitter.emit(x,{cmd:E}),this.emitter.emit(ox.CHANGE,{cmd:E})}on(x,E){this.emitter.on(x,E)}destroy(){const{graph:x}=this.context;x.off(ts.AFTER_DRAW,this.addCommand),x.off(ts.BATCH_START,this.initBatchCommand),x.off(ts.BATCH_END,this.addCommand),this.emitter.off(),super.destroy(),this.undoStack=[],this.redoStack=[]}}gL.defaultOptions={stackSize:0};var EG=Oe(76117),AG=Oe.n(EG);function SG(b,x,E){if(b.length===1)return wG(b[0],x,E);if(b.length===2)return LB(b,x,E);if(b.length===3){const[z,te,re]=S5(b);if(Z3(z,te,re))return LB([z,re],x,E)}switch(E){case"smooth":return bG(b,x);case"sharp":return PG(b,x);case"rounded":default:return CG(b,x)}}const wG=(b,x,E)=>{if(E==="sharp")return[["M",b[0]-x,b[1]-x],["L",b[0]+x,b[1]-x],["L",b[0]+x,b[1]+x],["L",b[0]-x,b[1]+x],["Z"]];const z=[x,x,0,0,0];return[["M",b[0],b[1]-x],["A",...z,b[0],b[1]+x],["A",...z,b[0],b[1]-x]]},LB=(b,x,E)=>{const z=[x,x,0,0,0],te=E==="sharp"?hu(b[0],cx(Qy(Jc(b[0],b[1])),x)):b[0],re=E==="sharp"?hu(b[1],cx(Qy(Jc(b[1],b[0])),x)):b[1],oe=cx(Qy(XP(Jc(te,re),!1)),x),le=cx(oe,-1),he=hu(te,oe),ge=hu(re,oe),Ae=hu(re,le),Pe=hu(te,le);return E==="sharp"?[["M",he[0],he[1]],["L",ge[0],ge[1]],["L",Ae[0],Ae[1]],["L",Pe[0],Pe[1]],["Z"]]:[["M",he[0],he[1]],["L",ge[0],ge[1]],["A",...z,Ae[0],Ae[1]],["L",Pe[0],Pe[1]],["A",...z,he[0],he[1]]]},CG=(b,x)=>{const E=S5(b).map((le,he)=>{const ge=(he-2+b.length)%b.length,Ae=(he-1+b.length)%b.length,Pe=(he+1)%b.length,We=b[ge],Xe=b[Ae],qe=b[Pe],nt=Jc(We,Xe),at=Jc(Xe,le),pt=Jc(le,qe),mt=(Qt,Vt)=>E5(Qt,Vt,!0)<Math.PI,bt=mt(nt,at),jt=mt(at,pt),Ut=Qt=>cx(Qy(XP(Qt,!1)),x),Kt=Ut(at);return[{p:RE(bt?hu(Xe,Ut(nt)):hu(Xe,Kt)),concave:bt&&Xe},{p:RE(jt?hu(le,Ut(pt)):hu(le,Kt)),concave:jt&&le}]}),z=[x,x,0,0,0],te=E.findIndex((le,he)=>!E[(he-1+E.length)%E.length][0].concave&&!E[(he-1+E.length)%E.length][1].concave&&!le[0].concave&&!le[0].concave&&!le[1].concave),re=E.slice(te).concat(E.slice(0,te));let oe=[];return re.flatMap((le,he)=>{const ge=[],Ae=re[E.length-1];return he===0&&ge.push(["M",...Ae[1].p]),le[0].concave?oe.push(le[0].p,le[1].p):ge.push(["A",...z,...le[0].p]),le[1].concave?oe.unshift(le[1].p):ge.push(["L",...le[1].p]),oe.length===3&&(ge.pop(),ge.push(["C",...oe.flat()]),oe=[]),ge})},bG=(b,x)=>{const E=S5(b).map((z,te)=>{const re=b[(te+1)%b.length];return{p:z,v:Qy(Jc(re,z))}});return E.forEach((z,te)=>{const re=te>0?te-1:b.length-1,oe=E[re].v,le=Qy(hu(oe,cx(z.v,E5(oe,z.v,!0)<Math.PI?1:-1)));z.p=hu(z.p,cx(le,x))}),cO(E.map(z=>z.p))},PG=(b,x)=>{const z=b.map((re,oe)=>{const le=b[oe===0?b.length-1:oe-1],he=GC(cx(Qy(XP(Jc(le,re),!1)),x));return[hu(le,he),hu(re,he)]}).flat();return z.map((re,oe)=>{if(oe%2===0)return null;const le=[z[(oe-1)%z.length],z[oe%z.length]],he=[z[(oe+1)%z.length],z[(oe+2)%z.length]];return A5(le,he,!0)}).filter(Boolean).map((re,oe)=>[oe===0?"M":"L",re[0],re[1]]).concat([["Z"]])};var MG=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};class pL extends _g{constructor(x,E){super(x,Object.assign({},pL.defaultOptions,E)),this.hullMemberIds=[],this.drawHull=()=>{if(!this.shape)this.shape=new XC({style:this.getHullStyle()}),this.context.canvas.appendChild(this.shape);else{const z=!Qd(this.optionsCache,this.options);this.shape.update(this.getHullStyle(z))}this.optionsCache=Object.assign({},this.options)},this.updateHullPath=z=>{this.shape&&this.options.members.includes(Xi(z.data))&&this.shape.update({d:this.getHullPath(!0)})},this.getHullPath=(z=!1)=>{const{graph:te}=this.context,re=this.getMember();if(re.length===0)return"";const oe=re.map(ge=>te.getNodeData(ge)),le=AG()(oe.map(Wf),this.options.concavity).slice(1).reverse(),he=le.flatMap(ge=>oe.filter(Ae=>Qd(Wf(Ae),ge)).map(Xi));return Qd(he,this.hullMemberIds)&&!z?this.path:(this.hullMemberIds=he,this.path=SG(le,this.getPadding(),this.options.corner),this.path)},this.bindEvents()}bindEvents(){this.context.graph.on(ts.AFTER_RENDER,this.drawHull),this.context.graph.on(ts.AFTER_ELEMENT_UPDATE,this.updateHullPath)}getHullStyle(x){const E=this.options,{members:z,padding:te,corner:re}=E,oe=MG(E,["members","padding","corner"]);return Object.assign(Object.assign({},oe),{d:this.getHullPath(x)})}getPadding(){const{graph:x}=this.context;return this.hullMemberIds.reduce((z,te)=>{const{halfExtents:re}=x.getElementRenderBounds(te),oe=Math.max(re[0],re[1]);return Math.max(z,oe)},0)+this.options.padding}addMember(x){const E=Array.isArray(x)?x:[x];this.options.members=[...new Set([...this.options.members,...E])],this.shape.update({d:this.getHullPath()})}removeMember(x){const E=Array.isArray(x)?x:[x];this.options.members=this.options.members.filter(z=>!E.includes(z)),E.some(z=>this.hullMemberIds.includes(z))&&this.shape.update({d:this.getHullPath()})}updateMember(x){this.options.members=Ys(x)?x(this.options.members):x,this.shape.update(this.getHullStyle(!0))}getMember(){return this.options.members}destroy(){this.context.graph.off(ts.AFTER_DRAW,this.drawHull),this.shape.destroy(),this.hullMemberIds=[],super.destroy()}}pL.defaultOptions={members:[],padding:10,corner:"rounded",concavity:1/0,fill:"lightblue",fillOpacity:.2,labelOpacity:1,stroke:"blue",strokeOpacity:.2};function TB(b,x){x(b),b.children&&b.children.forEach(function(E){E&&TB(E,x)})}function u2(b){vL(b,!0)}function im(b){vL(b,!1)}function vL(b,x){var E=x?"visible":"hidden";TB(b,function(z){z.attr("visibility",E)})}var LG=5,DB=function(b,x,E,z){E===void 0&&(E=0),z===void 0&&(z=LG),Object.entries(x).forEach(function(te){var re=(0,Cn.CR)(te,2),oe=re[0],le=re[1],he=b;Object.prototype.hasOwnProperty.call(x,oe)&&(le?bS(le)?(bS(b[oe])||(he[oe]={}),E<z?DB(b[oe],le,E+1,z):he[oe]=x[oe]):Df(le)?(he[oe]=[],he[oe]=he[oe].concat(le)):he[oe]=le:he[oe]=le)})},pg=function(b){for(var x=[],E=1;E<arguments.length;E++)x[E-1]=arguments[E];for(var z=0;z<x.length;z+=1)DB(b,x[z]);return b},TG=function(b){(0,Cn.ZT)(x,b);function x(){for(var E=[],z=0;z<arguments.length;z++)E[z]=arguments[z];var te=b.apply(this,(0,Cn.ev)([],(0,Cn.CR)(E),!1))||this;return te.isMutationObserved=!0,te.addEventListener(Zt.INSERTED,function(){im(te)}),te}return x}(Oh);function IB(b){var x=b.appendChild(new TG({class:"offscreen"}));return im(x),x}function DG(b){for(var x=b;x;){if(x.className==="offscreen")return!0;x=x.parent}return!1}function IG(){vL(this,this.attributes.visibility!=="hidden")}var Bd=function(b){(0,Cn.ZT)(x,b);function x(E,z){z===void 0&&(z={});var te=b.call(this,pg({},{style:z},E))||this;return te.initialized=!1,te._defaultOptions=z,te}return Object.defineProperty(x.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=IB(this)),this._offscreen},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"defaultOptions",{get:function(){return this._defaultOptions},enumerable:!1,configurable:!0}),x.prototype.connectedCallback=function(){this.render(this.attributes,this),this.bindEvents(this.attributes,this),this.initialized=!0},x.prototype.disconnectedCallback=function(){var E;(E=this._offscreen)===null||E===void 0||E.destroy()},x.prototype.attributeChangedCallback=function(E){E==="visibility"&&IG.call(this)},x.prototype.update=function(E,z){var te;return this.attr(pg({},this.attributes,E||{})),(te=this.render)===null||te===void 0?void 0:te.call(this,this.attributes,this,z)},x.prototype.clear=function(){this.removeChildren()},x.prototype.bindEvents=function(E,z){},x.prototype.getSubShapeStyle=function(E){var z=E.x,te=E.y,re=E.transform,oe=E.transformOrigin,le=E.class,he=E.className,ge=E.zIndex,Ae=(0,Cn._T)(E,["x","y","transform","transformOrigin","class","className","zIndex"]);return Ae},x}(Ng);function MD(b){return b.toString().charAt(0).toUpperCase()+b.toString().slice(1)}function OG(b){return b.toString().charAt(0).toLowerCase()+b.toString().slice(1)}function NG(b,x){return"".concat(x).concat(MD(b))}function OB(b,x,E){var z;E===void 0&&(E=!0);var te=x||((z=b.match(/^([a-z][a-z0-9]+)/))===null||z===void 0?void 0:z[0])||"",re=b.replace(new RegExp("^(".concat(te,")")),"");return E?OG(re):re}function BG(b,x){Object.entries(x).forEach(function(E){var z=(0,Cn.CR)(E,2),te=z[0],re=z[1];(0,Cn.ev)([b],(0,Cn.CR)(b.querySelectorAll(te)),!1).filter(function(oe){return oe.matches(te)}).forEach(function(oe){if(oe){var le=oe;le.style.cssText+=Object.entries(re).reduce(function(he,ge){return"".concat(he).concat(ge.join(":"),";")},"")}})})}var mL=function(b,x){if(!(b!=null&&b.startsWith(x)))return!1;var E=b[x.length];return E>="A"&&E<="Z"};function su(b,x,E){E===void 0&&(E=!1);var z={};return Object.entries(b).forEach(function(te){var re=(0,Cn.CR)(te,2),oe=re[0],le=re[1];if(!(oe==="className"||oe==="class")){if(mL(oe,"show")&&mL(OB(oe,"show"),x)!==E)oe===NG(x,"show")?z[oe]=le:z[oe.replace(new RegExp(MD(x)),"")]=le;else if(!mL(oe,"show")&&mL(oe,x)!==E){var he=OB(oe,x);he==="filter"&&typeof le=="function"||(z[he]=le)}}}),z}function kS(b,x){return Object.entries(b).reduce(function(E,z){var te=(0,Cn.CR)(z,2),re=te[0],oe=te[1];return re.startsWith("show")?E["show".concat(x).concat(re.slice(4))]=oe:E["".concat(x).concat(MD(re))]=oe,E},{})}function t1(b,x){x===void 0&&(x=["x","y","class","className"]);var E=["transform","transformOrigin","anchor","visibility","pointerEvents","zIndex","cursor","clipPath","clipPathTargets","offsetPath","offsetPathTargets","offsetDistance","draggable","droppable"],z={},te={};return Object.entries(b).forEach(function(re){var oe=(0,Cn.CR)(re,2),le=oe[0],he=oe[1];x.includes(le)||(E.indexOf(le)!==-1?te[le]=he:z[le]=he)}),[z,te]}var LD=function(b){(0,Cn.ZT)(x,b);function x(E){E===void 0&&(E={});var z=E.style,te=(0,Cn._T)(E,["style"]);return b.call(this,(0,Cn.pi)({style:(0,Cn.pi)({text:"",fill:"black",fontFamily:"sans-serif",fontSize:16,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",lineWidth:1,textAlign:"start",textBaseline:"middle"},z)},te))||this}return Object.defineProperty(x.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=IB(this)),this._offscreen},enumerable:!1,configurable:!0}),x.prototype.disconnectedCallback=function(){var E;(E=this._offscreen)===null||E===void 0||E.destroy()},x}(tp);function RG(b,x){var E=new Map;return b.forEach(function(z){var te=x(z);E.has(te)||E.set(te,[]),E.get(te).push(z)}),E}function kG(b){throw new Error(b)}var FG=function(){function b(te,re,oe,le,he,ge,Ae){te===void 0&&(te=null),re===void 0&&(re=null),oe===void 0&&(oe=null),le===void 0&&(le=null),he===void 0&&(he=[null,null,null,null,null]),ge===void 0&&(ge=[]),Ae===void 0&&(Ae=[]),x.add(this),this._elements=Array.from(te),this._data=re,this._parent=oe,this._document=le,this._enter=he[0],this._update=he[1],this._exit=he[2],this._merge=he[3],this._split=he[4],this._transitions=ge,this._facetElements=Ae}b.prototype.selectAll=function(te){var re=typeof te=="string"?this._parent.querySelectorAll(te):te;return new E(re,null,this._elements[0],this._document)},b.prototype.selectFacetAll=function(te){var re=typeof te=="string"?this._parent.querySelectorAll(te):te;return new E(this._elements,null,this._parent,this._document,void 0,void 0,re)},b.prototype.select=function(te){var re=typeof te=="string"?this._parent.querySelectorAll(te)[0]||null:te;return new E([re],null,re,this._document)},b.prototype.append=function(te){var re=this,oe=typeof te=="function"?te:function(){return re.createElement(te)},le=[];if(this._data!==null){for(var he=0;he<this._data.length;he++){var ge=this._data[he],Ae=(0,Cn.CR)(Array.isArray(ge)?ge:[ge,null],2),Pe=Ae[0],We=Ae[1],Xe=oe(Pe,he);Xe.__data__=Pe,We!==null&&(Xe.__fromElements__=We),this._parent.appendChild(Xe),le.push(Xe)}return new E(le,null,this._parent,this._document)}for(var he=0;he<this._elements.length;he++){var qe=this._elements[he],Pe=qe.__data__,Xe=oe(Pe,he);qe.appendChild(Xe),le.push(Xe)}return new E(le,null,le[0],this._document)},b.prototype.maybeAppend=function(te,re){var oe=(0,Cn.Q_)(this,x,"m",z).call(this,te[0]==="#"?te:"#".concat(te),re);return oe.attr("id",te),oe},b.prototype.maybeAppendByClassName=function(te,re){var oe=te.toString(),le=(0,Cn.Q_)(this,x,"m",z).call(this,oe[0]==="."?oe:".".concat(oe),re);return le.attr("className",oe),le},b.prototype.maybeAppendByName=function(te,re){var oe=(0,Cn.Q_)(this,x,"m",z).call(this,'[name="'.concat(te,'"]'),re);return oe.attr("name",te),oe},b.prototype.data=function(te,re,oe){var le,he;re===void 0&&(re=function(wn){return wn}),oe===void 0&&(oe=function(){return null});for(var ge=[],Ae=[],Pe=new Set(this._elements),We=[],Xe=new Set,qe=new Map(this._elements.map(function(wn,kn){return[re(wn.__data__,kn),wn]})),nt=new Map(this._facetElements.map(function(wn,kn){return[re(wn.__data__,kn),wn]})),at=RG(this._elements,function(wn){return oe(wn.__data__)}),pt=0;pt<te.length;pt++){var mt=te[pt],bt=re(mt,pt),jt=oe(mt,pt);if(qe.has(bt)){var Ut=qe.get(bt);Ut.__data__=mt,Ut.__facet__=!1,Ae.push(Ut),Pe.delete(Ut),qe.delete(bt)}else if(nt.has(bt)){var Ut=nt.get(bt);Ut.__data__=mt,Ut.__facet__=!0,Ae.push(Ut),nt.delete(bt)}else if(at.has(bt)){var Kt=at.get(bt);We.push([mt,Kt]);try{for(var Qt=(le=void 0,(0,Cn.XA)(Kt)),Vt=Qt.next();!Vt.done;Vt=Qt.next()){var Ut=Vt.value;Pe.delete(Ut)}}catch(wn){le={error:wn}}finally{try{Vt&&!Vt.done&&(he=Qt.return)&&he.call(Qt)}finally{if(le)throw le.error}}at.delete(bt)}else if(qe.has(jt)){var Ut=qe.get(jt);Ut.__toData__?Ut.__toData__.push(mt):Ut.__toData__=[mt],Xe.add(Ut),Pe.delete(Ut)}else ge.push(mt)}var vn=[new E([],ge,this._parent,this._document),new E(Ae,null,this._parent,this._document),new E(Pe,null,this._parent,this._document),new E([],We,this._parent,this._document),new E(Xe,null,this._parent,this._document)];return new E(this._elements,null,this._parent,this._document,vn)},b.prototype.merge=function(te){var re=(0,Cn.ev)((0,Cn.ev)([],(0,Cn.CR)(this._elements),!1),(0,Cn.CR)(te._elements),!1),oe=(0,Cn.ev)((0,Cn.ev)([],(0,Cn.CR)(this._transitions),!1),(0,Cn.CR)(te._transitions),!1);return new E(re,null,this._parent,this._document,void 0,oe)},b.prototype.createElement=function(te){if(this._document)return this._document.createElement(te,{});var re=E.registry[te];return re?new re:kG("Unknown node type: ".concat(te))},b.prototype.join=function(te,re,oe,le,he){te===void 0&&(te=function(qe){return qe}),re===void 0&&(re=function(qe){return qe}),oe===void 0&&(oe=function(qe){return qe.remove()}),le===void 0&&(le=function(qe){return qe}),he===void 0&&(he=function(qe){return qe.remove()});var ge=te(this._enter),Ae=re(this._update),Pe=oe(this._exit),We=le(this._merge),Xe=he(this._split);return Ae.merge(ge).merge(Pe).merge(We).merge(Xe)},b.prototype.remove=function(){for(var te=function(le){var he=re._elements[le],ge=re._transitions[le];ge?ge.then(function(){return he.remove()}):he.remove()},re=this,oe=0;oe<this._elements.length;oe++)te(oe);return new E([],null,this._parent,this._document,void 0,this._transitions)},b.prototype.each=function(te){for(var re=0;re<this._elements.length;re++){var oe=this._elements[re],le=oe.__data__;te.call(oe,le,re)}return this},b.prototype.attr=function(te,re){var oe=typeof re!="function"?function(){return re}:re;return this.each(function(le,he){re!==void 0&&(this[te]=oe.call(this,le,he))})},b.prototype.style=function(te,re,oe){oe===void 0&&(oe=!0);var le=typeof re!="function"||!oe?function(){return re}:re;return this.each(function(he,ge){re!==void 0&&(this.style[te]=le.call(this,he,ge))})},b.prototype.styles=function(te,re){return te===void 0&&(te={}),re===void 0&&(re=!0),this.each(function(oe,le){var he=this;Object.entries(te).forEach(function(ge){var Ae=(0,Cn.CR)(ge,2),Pe=Ae[0],We=Ae[1],Xe=typeof We!="function"||!re?function(){return We}:We;We!==void 0&&he.attr(Pe,Xe.call(he,oe,le))})})},b.prototype.update=function(te,re){re===void 0&&(re=!0);var oe=typeof te!="function"||!re?function(){return te}:te;return this.each(function(le,he){te&&this.update&&this.update(oe.call(this,le,he))})},b.prototype.maybeUpdate=function(te,re){re===void 0&&(re=!0);var oe=typeof te!="function"||!re?function(){return te}:te;return this.each(function(le,he){te&&this.update&&this.update(oe.call(this,le,he))})},b.prototype.transition=function(te){var re=this._transitions;return this.each(function(oe,le){re[le]=te.call(this,oe,le)})},b.prototype.on=function(te,re){return this.each(function(){this.addEventListener(te,re)}),this},b.prototype.call=function(te){for(var re=[],oe=1;oe<arguments.length;oe++)re[oe-1]=arguments[oe];return te.call.apply(te,(0,Cn.ev)([this._parent,this],(0,Cn.CR)(re),!1)),this},b.prototype.node=function(){return this._elements[0]},b.prototype.nodes=function(){return this._elements},b.prototype.transitions=function(){return this._transitions.filter(function(te){return!!te})},b.prototype.parent=function(){return this._parent};var x,E,z;return E=b,x=new WeakSet,z=function(re,oe){var le=this._elements[0],he=le.querySelector(re);if(he)return new E([he],null,this._parent,this._document);var ge=typeof oe=="string"?this.createElement(oe):oe();return le.appendChild(ge),new E([ge],null,this._parent,this._document)},b.registry={g:Oh,rect:Qc,circle:cf,path:Pu,text:LD,ellipse:Um,image:Ff,line:Zp,polygon:zc,polyline:Ch,html:Kp},b}();function qs(b){return new FG([b],null,b,b.ownerDocument)}function _G(b,x,E){return b.querySelector(x)?qs(b).select(x):qs(b).append(E)}var rp=function(){function b(x,E,z,te){x===void 0&&(x=0),E===void 0&&(E=0),z===void 0&&(z=0),te===void 0&&(te=0),this.x=0,this.y=0,this.width=0,this.height=0,this.x=x,this.y=E,this.width=z,this.height=te}return Object.defineProperty(b.prototype,"bottom",{get:function(){return this.y+this.height},enumerable:!1,configurable:!0}),Object.defineProperty(b.prototype,"left",{get:function(){return this.x},enumerable:!1,configurable:!0}),Object.defineProperty(b.prototype,"right",{get:function(){return this.x+this.width},enumerable:!1,configurable:!0}),Object.defineProperty(b.prototype,"top",{get:function(){return this.y},enumerable:!1,configurable:!0}),b.fromRect=function(x){return new b(x.x,x.y,x.width,x.height)},b.prototype.toJSON=function(){return{x:this.x,y:this.y,width:this.width,height:this.height,top:this.top,right:this.right,bottom:this.bottom,left:this.left}},b.prototype.isPointIn=function(x,E){return x>=this.left&&x<=this.right&&E>=this.top&&E<=this.bottom},b}();function qq(b){var x=b.getRenderBounds(),E=__read(x.min,2),z=E[0],te=E[1],re=__read(x.max,2),oe=re[0],le=re[1],he=oe-z,ge=le-te;return new rp(z,te,he,ge)}var om=function(b,x){var E=function(te){return"".concat(x,"-").concat(te)},z=Object.fromEntries(Object.entries(b).map(function(te){var re=(0,Cn.CR)(te,2),oe=re[0],le=re[1],he=E(le);return[oe,{name:he,class:".".concat(he),id:"#".concat(he),toString:function(){return he}}]}));return Object.assign(z,{prefix:E}),z};function zg(b){if(As(b))return[b,b,b,b];if(Df(b)){var x=b.length;if(x===1)return[b[0],b[0],b[0],b[0]];if(x===2)return[b[0],b[1],b[0],b[1]];if(x===3)return[b[0],b[1],b[2],b[1]];if(x===4)return b}return[0,0,0,0]}function b0(b,x,E,z,te){return z===void 0&&(z=!0),te===void 0&&(te=function(re){re.node().removeChildren()}),b?E(x):(z&&te(x),null)}var NB=om({text:"text"},"title");function yL(b){return/\S+-\S+/g.test(b)?b.split("-").map(function(x){return x[0]}):b.length>2?[b[0]]:b.split("")}function zG(b,x){var E=b.attributes,z=E.position,te=E.spacing,re=E.inset,oe=E.text,le=b.getBBox(),he=x.getBBox(),ge=yL(z),Ae=(0,Cn.CR)(zg(oe?te:0),4),Pe=Ae[0],We=Ae[1],Xe=Ae[2],qe=Ae[3],nt=(0,Cn.CR)(zg(re),4),at=nt[0],pt=nt[1],mt=nt[2],bt=nt[3],jt=(0,Cn.CR)([qe+We,Pe+Xe],2),Ut=jt[0],Kt=jt[1],Qt=(0,Cn.CR)([bt+pt,at+mt],2),Vt=Qt[0],vn=Qt[1];if(ge[0]==="l")return new rp(le.x,le.y,he.width+le.width+Ut+Vt,Math.max(he.height+vn,le.height));if(ge[0]==="t")return new rp(le.x,le.y,Math.max(he.width+Vt,le.width),he.height+le.height+Kt+vn);var wn=(0,Cn.CR)([x.attributes.width||he.width,x.attributes.height||he.height],2),kn=wn[0],Vn=wn[1];return new rp(he.x,he.y,kn+le.width+Ut+Vt,Vn+le.height+Kt+vn)}function jG(b,x){var E=Object.entries(x).reduce(function(z,te){var re=(0,Cn.CR)(te,2),oe=re[0],le=re[1],he=b.node().attr(oe);return he||(z[oe]=le),z},{});b.styles(E)}function WG(b){var x,E,z,te,re=b,oe=re.width,le=re.height,he=re.position,ge=(0,Cn.CR)([+oe/2,+le/2],2),Ae=ge[0],Pe=ge[1],We=(0,Cn.CR)([+Ae,+Pe,"center","middle"],4),Xe=We[0],qe=We[1],nt=We[2],at=We[3],pt=yL(he);return pt.includes("l")&&(x=(0,Cn.CR)([0,"start"],2),Xe=x[0],nt=x[1]),pt.includes("r")&&(E=(0,Cn.CR)([+oe,"end"],2),Xe=E[0],nt=E[1]),pt.includes("t")&&(z=(0,Cn.CR)([0,"top"],2),qe=z[0],at=z[1]),pt.includes("b")&&(te=(0,Cn.CR)([+le,"bottom"],2),qe=te[0],at=te[1]),{x:Xe,y:qe,textAlign:nt,textBaseline:at}}var UG=function(b){(0,Cn.ZT)(x,b);function x(E){return b.call(this,E,{text:"",width:0,height:0,fill:"#4a505a",fontWeight:"bold",fontSize:12,fontFamily:"sans-serif",inset:0,spacing:0,position:"top-left"})||this}return x.prototype.getAvailableSpace=function(){var E=this,z=this.attributes,te=z.width,re=z.height,oe=z.position,le=z.spacing,he=z.inset,ge=E.querySelector(NB.text.class);if(!ge)return new rp(0,0,+te,+re);var Ae=ge.getBBox(),Pe=Ae.width,We=Ae.height,Xe=(0,Cn.CR)(zg(le),4),qe=Xe[0],nt=Xe[1],at=Xe[2],pt=Xe[3],mt=(0,Cn.CR)([0,0,+te,+re],4),bt=mt[0],jt=mt[1],Ut=mt[2],Kt=mt[3],Qt=yL(oe);if(Qt.includes("i"))return new rp(bt,jt,Ut,Kt);Qt.forEach(function(qr,wr){var Sr,Tr,ri,Cr;qr==="t"&&(Sr=(0,Cn.CR)(wr===0?[We+at,+re-We-at]:[0,+re],2),jt=Sr[0],Kt=Sr[1]),qr==="r"&&(Tr=(0,Cn.CR)([+te-Pe-pt],1),Ut=Tr[0]),qr==="b"&&(ri=(0,Cn.CR)([+re-We-qe],1),Kt=ri[0]),qr==="l"&&(Cr=(0,Cn.CR)(wr===0?[Pe+nt,+te-Pe-nt]:[0,+te],2),bt=Cr[0],Ut=Cr[1])});var Vt=(0,Cn.CR)(zg(he),4),vn=Vt[0],wn=Vt[1],kn=Vt[2],Vn=Vt[3],vr=(0,Cn.CR)([Vn+wn,vn+kn],2),or=vr[0],Or=vr[1];return new rp(bt+Vn,jt+vn,Ut-or,Kt-Or)},x.prototype.getBBox=function(){return this.title?this.title.getBBox():new rp(0,0,0,0)},x.prototype.render=function(E,z){var te=this,re=E.width,oe=E.height,le=E.position,he=E.spacing,ge=(0,Cn._T)(E,["width","height","position","spacing"]),Ae=(0,Cn.CR)(t1(ge),1),Pe=Ae[0],We=WG(E),Xe=We.x,qe=We.y,nt=We.textAlign,at=We.textBaseline;b0(!!ge.text,qs(z),function(pt){te.title=pt.maybeAppendByClassName(NB.text,"text").styles(Pe).call(jG,{x:Xe,y:qe,textAlign:nt,textBaseline:at}).node()})},x}(Bd),TD=function(){};function xv(b,x){return Ys(b)?b.apply(void 0,(0,Cn.ev)([],(0,Cn.CR)(x),!1)):b}function GG(b,x){return b.reduce(function(E,z){return(E[z[x]]=E[z[x]]||[]).push(z),E},{})}function HG(b){return typeof b=="boolean"?!1:"enter"in b&&"update"in b&&"exit"in b}function BB(b){if(!b)return{enter:!1,update:!1,exit:!1};var x=["enter","update","exit"],E=Object.fromEntries(Object.entries(b).filter(function(z){var te=(0,Cn.CR)(z,1),re=te[0];return!x.includes(re)}));return Object.fromEntries(x.map(function(z){return HG(b)?b[z]===!1?[z,!1]:[z,(0,Cn.pi)((0,Cn.pi)({},b[z]),E)]:[z,E]}))}function FS(b,x){b?b.finished.then(x):x()}function VG(b,x){b.length===0?x():Promise.all(b.map(function(E){return E==null?void 0:E.finished})).then(x)}function RB(b,x){"update"in b?b.update(x):b.attr(x)}function kB(b,x,E){if(x.length===0)return null;if(!E){var z=x.slice(-1)[0];return RB(b,{style:z}),null}return b.animate(x,E)}function KG(b,x){return!(b.nodeName!=="text"||x.nodeName!=="text"||b.attributes.text!==x.attributes.text)}function ZG(b,x,E,z){if(z===void 0&&(z="destroy"),KG(b,x))return b.remove(),[null];var te=function(){z==="destroy"?b.destroy():z==="hide"&&im(b),x.isVisible()&&u2(x)};if(!E)return te(),[null];var re=E.duration,oe=re===void 0?0:re,le=E.delay,he=le===void 0?0:le,ge=Math.ceil(+oe/2),Ae=+oe/4,Pe=(0,Cn.CR)(b.getGeometryBounds().center,2),We=Pe[0],Xe=Pe[1],qe=(0,Cn.CR)(x.getGeometryBounds().center,2),nt=qe[0],at=qe[1],pt=(0,Cn.CR)([(We+nt)/2-We,(Xe+at)/2-Xe],2),mt=pt[0],bt=pt[1],jt=b.style.opacity,Ut=jt===void 0?1:jt,Kt=x.style.opacity,Qt=Kt===void 0?1:Kt,Vt=b.style.transform||"",vn=x.style.transform||"",wn=b.animate([{opacity:Ut,transform:"translate(0, 0) ".concat(Vt)},{opacity:0,transform:"translate(".concat(mt,", ").concat(bt,") ").concat(Vt)}],(0,Cn.pi)((0,Cn.pi)({fill:"both"},E),{duration:he+ge+Ae})),kn=x.animate([{opacity:0,transform:"translate(".concat(-mt,", ").concat(-bt,") ").concat(vn),offset:.01},{opacity:Qt,transform:"translate(0, 0) ".concat(vn)}],(0,Cn.pi)((0,Cn.pi)({fill:"both"},E),{duration:ge+Ae,delay:he+ge-Ae}));return FS(kn,te),[wn,kn]}function am(b,x,E){var z={},te={};return Object.entries(x).forEach(function(re){var oe=(0,Cn.CR)(re,2),le=oe[0],he=oe[1];if(!El(he)){var ge=b.style[le]||b.parsedStyle[le]||0;ge!==he&&(z[le]=ge,te[le]=he)}}),E?kB(b,[z,te],(0,Cn.pi)({fill:"both"},E)):(RB(b,te),null)}function YG(b){var x;return((x=b[0])===null||x===void 0?void 0:x.map(function(E,z){return b.map(function(te){return te[z]})}))||[]}function DD(b,x,E){E===void 0&&(E=!1);var z=b.getBBox(),te=z.width,re=z.height,oe=x/Math.max(te,re);return E&&(b.style.transform="scale(".concat(oe,")")),oe}var FB=function(b,x,E){return[["M",b-E,x],["A",E,E,0,1,0,b+E,x],["A",E,E,0,1,0,b-E,x],["Z"]]},XG=FB,QG=function(b,x,E){return[["M",b-E,x-E],["L",b+E,x-E],["L",b+E,x+E],["L",b-E,x+E],["Z"]]},JG=function(b,x,E){return[["M",b-E,x],["L",b,x-E],["L",b+E,x],["L",b,x+E],["Z"]]},qG=function(b,x,E){var z=E*Math.sin(.3333333333333333*Math.PI);return[["M",b-E,x+z],["L",b,x-z],["L",b+E,x+z],["Z"]]},$G=function(b,x,E){var z=E*Math.sin(.3333333333333333*Math.PI);return[["M",b-E,x-z],["L",b+E,x-z],["L",b,x+z],["Z"]]},eH=function(b,x,E){var z=E/2*Math.sqrt(3);return[["M",b,x-E],["L",b+z,x-E/2],["L",b+z,x+E/2],["L",b,x+E],["L",b-z,x+E/2],["L",b-z,x-E/2],["Z"]]},tH=function(b,x,E){var z=E-1.5;return[["M",b-E,x-z],["L",b+E,x+z],["L",b+E,x-z],["L",b-E,x+z],["Z"]]},_B=function(b,x,E){return[["M",b,x+E],["L",b,x-E]]},nH=function(b,x,E){return[["M",b-E,x-E],["L",b+E,x+E],["M",b+E,x-E],["L",b-E,x+E]]},rH=function(b,x,E){return[["M",b-E/2,x-E],["L",b+E/2,x-E],["M",b,x-E],["L",b,x+E],["M",b-E/2,x+E],["L",b+E/2,x+E]]},iH=function(b,x,E){return[["M",b-E,x],["L",b+E,x],["M",b,x-E],["L",b,x+E]]},oH=function(b,x,E){return[["M",b-E,x],["L",b+E,x]]},zB=function(b,x,E){return[["M",b-E,x],["L",b+E,x]]},aH=zB,sH=function(b,x,E){return[["M",b-E,x],["A",E/2,E/2,0,1,1,b,x],["A",E/2,E/2,0,1,0,b+E,x]]},lH=function(b,x,E){return[["M",b-E-1,x-2.5],["L",b,x-2.5],["L",b,x+2.5],["L",b+E+1,x+2.5]]},uH=function(b,x,E){return[["M",b-E-1,x+2.5],["L",b,x+2.5],["L",b,x-2.5],["L",b+E+1,x-2.5]]},cH=function(b,x,E){return[["M",b-(E+1),x+2.5],["L",b-E/2,x+2.5],["L",b-E/2,x-2.5],["L",b+E/2,x-2.5],["L",b+E/2,x+2.5],["L",b+E+1,x+2.5]]};function hH(b,x){return[["M",b-5,x+2.5],["L",b-5,x],["L",b,x],["L",b,x-3],["L",b,x+3],["L",b+6.5,x+3]]}var dH=function(b,x,E){return[["M",b-E,x-E],["L",b+E,x],["L",b-E,x+E],["Z"]]},Ev=om({prevBtnGroup:"prev-btn-group",prevBtn:"prev-btn",nextBtnGroup:"next-btn-group",nextBtn:"next-btn",pageInfoGroup:"page-info-group",pageInfo:"page-info",playWindow:"play-window",contentGroup:"content-group",controller:"controller",clipPath:"clip-path"},"navigator"),fH=function(b){(0,Cn.ZT)(x,b);function x(E){var z=b.call(this,E,{x:0,y:0,animate:{easing:"linear",duration:200,fill:"both"},buttonCursor:"pointer",buttonFill:"black",buttonD:dH(0,0,6),buttonSize:12,controllerPadding:5,controllerSpacing:5,formatter:function(te,re){return"".concat(te,"/").concat(re)},defaultPage:0,loop:!1,orientation:"horizontal",pageNumFill:"black",pageNumFontSize:12,pageNumTextAlign:"start",pageNumTextBaseline:"middle"})||this;return z.playState="idle",z.contentGroup=z.appendChild(new Oh({class:Ev.contentGroup.name})),z.playWindow=z.contentGroup.appendChild(new Oh({class:Ev.playWindow.name})),z.innerCurrPage=z.defaultPage,z}return Object.defineProperty(x.prototype,"defaultPage",{get:function(){var E=this.attributes.defaultPage;return Sh(E,0,Math.max(this.pageViews.length-1,0))},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"pageViews",{get:function(){return this.playWindow.children},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"controllerShape",{get:function(){return this.totalPages>1?{width:55,height:0}:{width:0,height:0}},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"pageShape",{get:function(){var E=this.pageViews,z=(0,Cn.CR)(YG(E.map(function(Pe){var We=Pe.getBBox(),Xe=We.width,qe=We.height;return[Xe,qe]})).map(function(Pe){return Math.max.apply(Math,(0,Cn.ev)([],(0,Cn.CR)(Pe),!1))}),2),te=z[0],re=z[1],oe=this.attributes,le=oe.pageWidth,he=le===void 0?te:le,ge=oe.pageHeight,Ae=ge===void 0?re:ge;return{pageWidth:he,pageHeight:Ae}},enumerable:!1,configurable:!0}),x.prototype.getContainer=function(){return this.playWindow},Object.defineProperty(x.prototype,"totalPages",{get:function(){return this.pageViews.length},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"currPage",{get:function(){return this.innerCurrPage},enumerable:!1,configurable:!0}),x.prototype.getBBox=function(){var E=b.prototype.getBBox.call(this),z=E.x,te=E.y,re=this.controllerShape,oe=this.pageShape,le=oe.pageWidth,he=oe.pageHeight;return new rp(z,te,le+re.width,he)},x.prototype.goTo=function(E){var z=this,te=this.attributes.animate,re=this,oe=re.currPage,le=re.playState,he=re.playWindow,ge=re.pageViews;if(le!=="idle"||E<0||ge.length<=0||E>=ge.length)return null;ge[oe].setLocalPosition(0,0),this.prepareFollowingPage(E);var Ae=(0,Cn.CR)(this.getFollowingPageDiff(E),2),Pe=Ae[0],We=Ae[1];this.playState="running";var Xe=kB(he,[{transform:"translate(0, 0)"},{transform:"translate(".concat(-Pe,", ").concat(-We,")")}],te);return FS(Xe,function(){z.innerCurrPage=E,z.playState="idle",z.setVisiblePages([E]),z.updatePageInfo()}),Xe},x.prototype.prev=function(){var E=this.attributes.loop,z=this.pageViews.length,te=this.currPage;if(!E&&te<=0)return null;var re=E?(te-1+z)%z:Sh(te-1,0,z);return this.goTo(re)},x.prototype.next=function(){var E=this.attributes.loop,z=this.pageViews.length,te=this.currPage;if(!E&&te>=z-1)return null;var re=E?(te+1)%z:Sh(te+1,0,z);return this.goTo(re)},x.prototype.renderClipPath=function(E){var z=this.pageShape,te=z.pageWidth,re=z.pageHeight;if(!te||!re){this.contentGroup.style.clipPath=void 0;return}this.clipPath=E.maybeAppendByClassName(Ev.clipPath,"rect").styles({width:te,height:re}),this.contentGroup.attr("clipPath",this.clipPath.node())},x.prototype.setVisiblePages=function(E){this.playWindow.children.forEach(function(z,te){E.includes(te)?u2(z):im(z)})},x.prototype.adjustControllerLayout=function(){var E=this,z=E.prevBtnGroup,te=E.nextBtnGroup,re=E.pageInfoGroup,oe=this.attributes,le=oe.orientation,he=oe.controllerPadding,ge=re.getBBox(),Ae=ge.width,Pe=ge.height,We=(0,Cn.CR)(le==="horizontal"?[-180,0]:[-90,90],2),Xe=We[0],qe=We[1];z.setLocalEulerAngles(Xe),te.setLocalEulerAngles(qe);var nt=z.getBBox(),at=nt.width,pt=nt.height,mt=te.getBBox(),bt=mt.width,jt=mt.height,Ut=Math.max(at,Ae,bt),Kt=le==="horizontal"?{offset:[[0,0],[at/2+he,0],[at+Ae+he*2,0]],textAlign:"start"}:{offset:[[Ut/2,-pt-he],[Ut/2,0],[Ut/2,jt+he]],textAlign:"center"},Qt=(0,Cn.CR)(Kt.offset,3),Vt=(0,Cn.CR)(Qt[0],2),vn=Vt[0],wn=Vt[1],kn=(0,Cn.CR)(Qt[1],2),Vn=kn[0],vr=kn[1],or=(0,Cn.CR)(Qt[2],2),Or=or[0],qr=or[1],wr=Kt.textAlign,Sr=re.querySelector("text");Sr&&(Sr.style.textAlign=wr),z.setLocalPosition(vn,wn),re.setLocalPosition(Vn,vr),te.setLocalPosition(Or,qr)},x.prototype.updatePageInfo=function(){var E,z=this,te=z.currPage,re=z.pageViews,oe=z.attributes.formatter;re.length<2||((E=this.pageInfoGroup.querySelector(Ev.pageInfo.class))===null||E===void 0||E.attr("text",oe(te+1,re.length)),this.adjustControllerLayout())},x.prototype.getFollowingPageDiff=function(E){var z=this.currPage;if(z===E)return[0,0];var te=this.attributes.orientation,re=this.pageShape,oe=re.pageWidth,le=re.pageHeight,he=E<z?-1:1;return te==="horizontal"?[he*oe,0]:[0,he*le]},x.prototype.prepareFollowingPage=function(E){var z=this,te=z.currPage,re=z.pageViews;if(this.setVisiblePages([E,te]),E!==te){var oe=(0,Cn.CR)(this.getFollowingPageDiff(E),2),le=oe[0],he=oe[1];re[E].setLocalPosition(le,he)}},x.prototype.renderController=function(E){var z=this,te=this.attributes.controllerSpacing,re=this.pageShape,oe=re.pageWidth,le=re.pageHeight,he=this.pageViews.length>=2,ge=E.maybeAppendByClassName(Ev.controller,"g");if(vL(ge.node(),he),!!he){var Ae=su(this.attributes,"button"),Pe=su(this.attributes,"pageNum"),We=(0,Cn.CR)(t1(Ae),2),Xe=We[0],qe=We[1],nt=Xe.size,at=(0,Cn._T)(Xe,["size"]),pt=!ge.select(Ev.prevBtnGroup.class).node(),mt=ge.maybeAppendByClassName(Ev.prevBtnGroup,"g").styles(qe);this.prevBtnGroup=mt.node();var bt=mt.maybeAppendByClassName(Ev.prevBtn,"path"),jt=ge.maybeAppendByClassName(Ev.nextBtnGroup,"g").styles(qe);this.nextBtnGroup=jt.node();var Ut=jt.maybeAppendByClassName(Ev.nextBtn,"path");[bt,Ut].forEach(function(Qt){Qt.styles((0,Cn.pi)((0,Cn.pi)({},at),{transformOrigin:"center"})),DD(Qt.node(),nt,!0)});var Kt=ge.maybeAppendByClassName(Ev.pageInfoGroup,"g");this.pageInfoGroup=Kt.node(),Kt.maybeAppendByClassName(Ev.pageInfo,"text").styles(Pe),this.updatePageInfo(),ge.node().setLocalPosition(oe+te,le/2),pt&&(this.prevBtnGroup.addEventListener("click",function(){z.prev()}),this.nextBtnGroup.addEventListener("click",function(){z.next()}))}},x.prototype.render=function(E,z){var te=E.x,re=te===void 0?0:te,oe=E.y,le=oe===void 0?0:oe;this.attr("transform","translate(".concat(re,", ").concat(le,")"));var he=qs(z);this.renderClipPath(he),this.renderController(he),this.setVisiblePages([this.defaultPage]),this.goTo(this.defaultPage)},x.prototype.bindEvents=function(){var E=this,z=$C(function(){return E.render(E.attributes,E)},50);this.playWindow.addEventListener(Zt.INSERTED,z),this.playWindow.addEventListener(Zt.REMOVED,z)},x}(Bd);function gH(b){var x="default";if(lh(b)&&b instanceof Image)x="image";else if(Ys(b))x="symbol";else if(qu(b)){var E=new RegExp("data:(image|text)");b.match(E)?x="base64":/^(https?:\/\/(([a-zA-Z0-9]+-?)+[a-zA-Z0-9]+\.)+[a-zA-Z]+)(:\d+)?(\/.*)?(\?.*)?(#.*)?$/.test(b)?x="url":x="symbol"}return x}function pH(b){var x=gH(b);return["base64","url","image"].includes(x)?"image":b&&x==="symbol"?"path":null}var dh=function(b){(0,Cn.ZT)(x,b);function x(){return b!==null&&b.apply(this,arguments)||this}return x.prototype.render=function(E,z){var te=E.x,re=te===void 0?0:te,oe=E.y,le=oe===void 0?0:oe,he=this.getSubShapeStyle(E),ge=he.symbol,Ae=he.size,Pe=Ae===void 0?16:Ae,We=(0,Cn._T)(he,["symbol","size"]),Xe=pH(ge);b0(!!Xe,qs(z),function(qe){qe.maybeAppendByClassName("marker",Xe).attr("className","marker ".concat(Xe,"-marker")).call(function(nt){if(Xe==="image"){var at=Pe*2;nt.styles({img:ge,width:at,height:at,x:re-Pe,y:le-Pe})}else{var at=Pe/2,pt=Ys(ge)?ge:x.getSymbol(ge);nt.styles((0,Cn.pi)({d:pt==null?void 0:pt(re,le,at)},We))}})})},x.MARKER_SYMBOL_MAP=new Map,x.registerSymbol=function(E,z){x.MARKER_SYMBOL_MAP.set(E,z)},x.getSymbol=function(E){return x.MARKER_SYMBOL_MAP.get(E)},x.getSymbols=function(){return Array.from(x.MARKER_SYMBOL_MAP.keys())},x}(Bd);dh.registerSymbol("cross",nH),dh.registerSymbol("hyphen",oH),dh.registerSymbol("line",_B),dh.registerSymbol("plus",iH),dh.registerSymbol("tick",rH),dh.registerSymbol("circle",FB),dh.registerSymbol("point",XG),dh.registerSymbol("bowtie",tH),dh.registerSymbol("hexagon",eH),dh.registerSymbol("square",QG),dh.registerSymbol("diamond",JG),dh.registerSymbol("triangle",qG),dh.registerSymbol("triangle-down",$G),dh.registerSymbol("line",_B),dh.registerSymbol("dot",zB),dh.registerSymbol("dash",aH),dh.registerSymbol("smooth",sH),dh.registerSymbol("hv",lH),dh.registerSymbol("vh",uH),dh.registerSymbol("hvh",cH),dh.registerSymbol("vhv",hH);function $q(b,x,E){var z=Math.round((b-E)/x);return E+z*x}function vH(b,x,E){var z=1.4,te=z*E;return[["M",b-E,x-te],["L",b+E,x-te],["L",b+E,x+te],["L",b-E,x+te],["Z"]]}var jB=1.4,WB=.4;function mH(b,x,E){var z=E,te=z*jB,re=z/2,oe=z/6,le=b+te*WB;return[["M",b,x],["L",le,x+re],["L",b+te,x+re],["L",b+te,x-re],["L",le,x-re],["Z"],["M",le,x+oe],["L",b+te-2,x+oe],["M",le,x-oe],["L",b+te-2,x-oe]]}function yH(b,x,E){var z=E,te=z*jB,re=z/2,oe=z/6,le=x+te*WB;return[["M",b,x],["L",b-re,le],["L",b-re,x+te],["L",b+re,x+te],["L",b+re,le],["Z"],["M",b-oe,le],["L",b-oe,x+te-2],["M",b+oe,le],["L",b+oe,x+te-2]]}dh.registerSymbol("hiddenHandle",vH),dh.registerSymbol("verticalHandle",mH),dh.registerSymbol("horizontalHandle",yH);var e$=function(b,x,E){return b===void 0&&(b="horizontal"),b==="horizontal"?x:E};function t$(b,x,E,z){var te;z===void 0&&(z=4);var re=__read(b,2),oe=re[0],le=re[1],he=__read(x,2),ge=he[0],Ae=he[1],Pe=__read(E,2),We=Pe[0],Xe=Pe[1],qe=__read([ge,Ae],2),nt=qe[0],at=qe[1],pt=at-nt;return nt>at&&(te=__read([at,nt],2),nt=te[0],at=te[1]),pt>le-oe?[oe,le]:nt<oe?We===oe&&Xe===at?[oe,at]:[oe,pt+oe]:at>le?Xe===le&&We===nt?[nt,le]:[le-pt,le]:[nt,at]}function ID(b,x,E){return b===void 0&&(b="horizontal"),b==="horizontal"?x:E}function n$(b){var x=b&&b.getRenderBounds();if(!x)return{width:0,height:0};var E=x.getMax(),z=x.getMin();return{width:E[0]-z[0],height:E[1]-z[1]}}function UB(b){var x=b.getLocalBounds(),E=x.min,z=x.max,te=(0,Cn.CR)([E,z],2),re=(0,Cn.CR)(te[0],2),oe=re[0],le=re[1],he=(0,Cn.CR)(te[1],2),ge=he[0],Ae=he[1];return{x:oe,y:le,width:ge-oe,height:Ae-le,left:oe,bottom:Ae,top:le,right:ge}}function r$(b,x){var E=select(b).append("text").node();return E.attr(__assign(__assign({},x),{visibility:"hidden"})),E}function xH(b,x){var E=(0,Cn.CR)(b,2),z=E[0],te=E[1],re=(0,Cn.CR)(x,2),oe=re[0],le=re[1];return z!==oe&&te===le}function i$(b,x){var E=__read(b,2),z=E[0],te=E[1],re=__read(x,2),oe=re[0],le=re[1];return z===oe&&te!==le}function EH(b,x){var E,z,te=x.attributes;try{for(var re=(0,Cn.XA)(Object.entries(te)),oe=re.next();!oe.done;oe=re.next()){var le=(0,Cn.CR)(oe.value,2),he=le[0],ge=le[1];he!=="id"&&he!=="className"&&b.attr(he,ge)}}catch(Ae){E={error:Ae}}finally{try{oe&&!oe.done&&(z=re.return)&&z.call(re)}finally{if(E)throw E.error}}}function n1(b){return typeof b=="function"?b():qu(b)||As(b)?new LD({style:{text:String(b)}}):b}var xL,OD;function o$(b){OD=b}var AH=yD(function(b,x){var E=x.fontSize,z=x.fontFamily,te=x.fontWeight,re=x.fontStyle,oe=x.fontVariant;return OD?OD(b,E):(xL||(xL=xa.offscreenCanvasCreator.getOrCreateContext(void 0)),xL.font=[re,oe,te,"".concat(E,"px"),z].join(" "),xL.measureText(b).width)},function(b,x){return[b,Object.values(x||GB(b)).join()].join("")},4096),GB=function(b){var x=b.style.fontFamily||"sans-serif",E=b.style.fontWeight||"normal",z=b.style.fontStyle||"normal",te=b.style.fontVariant,re=b.style.fontSize;return re=typeof re=="object"?re.value:re,{fontSize:re,fontFamily:x,fontWeight:E,fontStyle:z,fontVariant:te}};function HB(b){return b.nodeName==="text"?b:b.nodeName==="g"&&b.children.length===1&&b.children[0].nodeName==="text"?b.children[0]:null}function VB(b,x){var E=HB(b);E&&E.attr(x)}function ND(b,x,E){E===void 0&&(E="..."),VB(b,{wordWrap:!0,wordWrapWidth:x,maxLines:1,textOverflow:E})}var P0=om({layout:"flex",markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label",valueGroup:"value-group",value:"value",backgroundGroup:"background-group",background:"background"},"legend-category-item");function SH(b){var x=b.querySelector(P0.marker.class);return x?x.style:{}}var wH=function(b){(0,Cn.ZT)(x,b);function x(E){return b.call(this,E,{span:[1,1],marker:function(){return new cf({style:{r:6}})},markerSize:10,labelFill:"#646464",valueFill:"#646464",labelFontSize:12,valueFontSize:12,labelTextBaseline:"middle",valueTextBaseline:"middle"})||this}return Object.defineProperty(x.prototype,"showValue",{get:function(){var E=this.attributes.valueText;return E?typeof E=="string"||typeof E=="number"?E!=="":typeof E=="function"?!0:E.attr("text")!=="":!1},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"actualSpace",{get:function(){var E=this.labelGroup,z=this.valueGroup,te=this.attributes.markerSize,re=E.node().getBBox(),oe=re.width,le=re.height,he=z.node().getBBox(),ge=he.width,Ae=he.height;return{markerWidth:te,labelWidth:oe,valueWidth:ge,height:Math.max(te,le,Ae)}},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"span",{get:function(){var E=this.attributes.span;if(!E)return[1,1];var z=(0,Cn.CR)(zg(E),2),te=z[0],re=z[1],oe=this.showValue?re:0,le=te+oe;return[te/le,oe/le]},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"shape",{get:function(){var E,z=this.attributes,te=z.markerSize,re=z.width,oe=this.actualSpace,le=oe.markerWidth,he=oe.height,ge=this.actualSpace,Ae=ge.labelWidth,Pe=ge.valueWidth,We=(0,Cn.CR)(this.spacing,2),Xe=We[0],qe=We[1];if(re){var nt=re-te-Xe-qe,at=(0,Cn.CR)(this.span,2),pt=at[0],mt=at[1];E=(0,Cn.CR)([pt*nt,mt*nt],2),Ae=E[0],Pe=E[1]}var bt=le+Ae+Pe+Xe+qe;return{width:bt,height:he,markerWidth:le,labelWidth:Ae,valueWidth:Pe}},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"spacing",{get:function(){var E=this.attributes.spacing;if(!E)return[0,0];var z=(0,Cn.CR)(zg(E),2),te=z[0],re=z[1];return this.showValue?[te,re]:[te,0]},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"layout",{get:function(){var E=this.shape,z=E.markerWidth,te=E.labelWidth,re=E.valueWidth,oe=E.width,le=E.height,he=(0,Cn.CR)(this.spacing,2),ge=he[0],Ae=he[1];return{height:le,width:oe,markerWidth:z,labelWidth:te,valueWidth:re,position:[z/2,z+ge,z+te+ge+Ae]}},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"scaleSize",{get:function(){var E=SH(this.markerGroup.node()),z=this.attributes,te=z.markerSize,re=z.markerStrokeWidth,oe=re===void 0?E.strokeWidth:re,le=z.markerLineWidth,he=le===void 0?E.lineWidth:le,ge=z.markerStroke,Ae=ge===void 0?E.stroke:ge,Pe=+(oe||he||(Ae?1:0))*Math.sqrt(2),We=this.markerGroup.node().getBBox(),Xe=We.width,qe=We.height;return(1-Pe/Math.max(Xe,qe))*te},enumerable:!1,configurable:!0}),x.prototype.renderMarker=function(E){var z=this,te=this.attributes.marker,re=su(this.attributes,"marker");this.markerGroup=E.maybeAppendByClassName(P0.markerGroup,"g").style("zIndex",0),b0(!!te,this.markerGroup,function(){var oe,le=z.markerGroup.node(),he=(oe=le.childNodes)===null||oe===void 0?void 0:oe[0],ge=typeof te=="string"?new dh({style:{symbol:te},className:P0.marker.name}):te();he?ge.nodeName===he.nodeName?he instanceof dh?he.update((0,Cn.pi)((0,Cn.pi)({},re),{symbol:te})):(EH(he,ge),qs(he).styles(re)):(he.remove(),qs(ge).attr("className",P0.marker.name).styles(re),le.appendChild(ge)):(ge instanceof dh||qs(ge).attr("className",P0.marker.name).styles(re),le.appendChild(ge)),z.markerGroup.node().scale(1/z.markerGroup.node().getScale()[0]);var Ae=DD(z.markerGroup.node(),z.scaleSize,!0);z.markerGroup.node().style._transform="scale(".concat(Ae,")")})},x.prototype.renderLabel=function(E){var z=su(this.attributes,"label"),te=z.text,re=(0,Cn._T)(z,["text"]);this.labelGroup=E.maybeAppendByClassName(P0.labelGroup,"g").style("zIndex",0),this.labelGroup.maybeAppendByClassName(P0.label,function(){return n1(te)}).styles(re)},x.prototype.renderValue=function(E){var z=this,te=su(this.attributes,"value"),re=te.text,oe=(0,Cn._T)(te,["text"]);this.valueGroup=E.maybeAppendByClassName(P0.valueGroup,"g").style("zIndex",0),b0(this.showValue,this.valueGroup,function(){z.valueGroup.maybeAppendByClassName(P0.value,function(){return n1(re)}).styles(oe)})},x.prototype.renderBackground=function(E){var z=this.shape,te=z.width,re=z.height,oe=su(this.attributes,"background");this.background=E.maybeAppendByClassName(P0.backgroundGroup,"g").style("zIndex",-1),this.background.maybeAppendByClassName(P0.background,"rect").styles((0,Cn.pi)({width:te,height:re},oe))},x.prototype.adjustLayout=function(){var E=this.layout,z=E.labelWidth,te=E.valueWidth,re=E.height,oe=(0,Cn.CR)(E.position,3),le=oe[0],he=oe[1],ge=oe[2],Ae=re/2;this.markerGroup.styles({transform:"translate(".concat(le,", ").concat(Ae,")").concat(this.markerGroup.node().style._transform)}),this.labelGroup.styles({transform:"translate(".concat(he,", ").concat(Ae,")")}),ND(this.labelGroup.select(P0.label.class).node(),Math.ceil(z)),this.showValue&&(this.valueGroup.styles({transform:"translate(".concat(ge,", ").concat(Ae,")")}),ND(this.valueGroup.select(P0.value.class).node(),Math.ceil(te)))},x.prototype.render=function(E,z){var te=qs(z),re=E.x,oe=re===void 0?0:re,le=E.y,he=le===void 0?0:le;te.styles({transform:"translate(".concat(oe,", ").concat(he,")")}),this.renderMarker(te),this.renderLabel(te),this.renderValue(te),this.renderBackground(te),this.adjustLayout()},x}(Bd),YE=om({page:"item-page",navigator:"navigator",item:"item"},"items"),KB=function(b,x,E){return E===void 0&&(E=!0),b?x(b):E},CH=function(b){(0,Cn.ZT)(x,b);function x(E){var z=b.call(this,E,{data:[],gridRow:1/0,gridCol:void 0,padding:0,width:1e3,height:100,rowPadding:0,colPadding:0,layout:"flex",orientation:"horizontal",click:TD,mouseenter:TD,mouseleave:TD})||this;return z.navigatorShape=[0,0],z}return Object.defineProperty(x.prototype,"pageViews",{get:function(){return this.navigator.getContainer()},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"grid",{get:function(){var E=this.attributes,z=E.gridRow,te=E.gridCol,re=E.data;if(!z&&!te)throw new Error("gridRow and gridCol can not be set null at the same time");return z&&te?[z,te]:z?[z,re.length]:[re.length,te]},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"renderData",{get:function(){var E=this.attributes,z=E.data,te=E.layout,re=su(this.attributes,"item"),oe=z.map(function(le,he){var ge=le.id,Ae=ge===void 0?he:ge,Pe=le.label,We=le.value;return{id:"".concat(Ae),index:he,style:(0,Cn.pi)({layout:te,labelText:Pe,valueText:We},Object.fromEntries(Object.entries(re).map(function(Xe){var qe=(0,Cn.CR)(Xe,2),nt=qe[0],at=qe[1];return[nt,xv(at,[le,he,z])]})))}});return oe},enumerable:!1,configurable:!0}),x.prototype.getGridLayout=function(){var E=this,z=this.attributes,te=z.orientation,re=z.width,oe=z.rowPadding,le=z.colPadding,he=(0,Cn.CR)(this.navigatorShape,1),ge=he[0],Ae=(0,Cn.CR)(this.grid,2),Pe=Ae[0],We=Ae[1],Xe=We*Pe,qe=0;return this.pageViews.children.map(function(nt,at){var pt,mt,bt=Math.floor(at/Xe),jt=at%Xe,Ut=E.ifHorizontal(We,Pe),Kt=[Math.floor(jt/Ut),jt%Ut];te==="vertical"&&Kt.reverse();var Qt=(0,Cn.CR)(Kt,2),Vt=Qt[0],vn=Qt[1],wn=(re-ge-(We-1)*le)/We,kn=nt.getBBox().height,Vn=(0,Cn.CR)([0,0],2),vr=Vn[0],or=Vn[1];return te==="horizontal"?(pt=(0,Cn.CR)([qe,Vt*(kn+oe)],2),vr=pt[0],or=pt[1],qe=vn===We-1?0:qe+wn+le):(mt=(0,Cn.CR)([vn*(wn+le),qe],2),vr=mt[0],or=mt[1],qe=Vt===Pe-1?0:qe+kn+oe),{page:bt,index:at,row:Vt,col:vn,pageIndex:jt,width:wn,height:kn,x:vr,y:or}})},x.prototype.getFlexLayout=function(){var E=this.attributes,z=E.width,te=E.height,re=E.rowPadding,oe=E.colPadding,le=(0,Cn.CR)(this.navigatorShape,1),he=le[0],ge=(0,Cn.CR)(this.grid,2),Ae=ge[0],Pe=ge[1],We=(0,Cn.CR)([z-he,te],2),Xe=We[0],qe=We[1],nt=(0,Cn.CR)([0,0,0,0,0,0,0,0],8),at=nt[0],pt=nt[1],mt=nt[2],bt=nt[3],jt=nt[4],Ut=nt[5],Kt=nt[6],Qt=nt[7];return this.pageViews.children.map(function(Vt,vn){var wn,kn,Vn,vr,or=Vt.getBBox(),Or=or.width,qr=or.height,wr=Kt===0?0:oe,Sr=Kt+wr+Or;if(Sr<=Xe&&KB(jt,function(ri){return ri<Pe}))return wn=(0,Cn.CR)([Kt+wr,Qt,Sr],3),at=wn[0],pt=wn[1],Kt=wn[2],{width:Or,height:qr,x:at,y:pt,page:mt,index:vn,pageIndex:bt++,row:Ut,col:jt++};kn=(0,Cn.CR)([Ut+1,0,0,Qt+qr+re],4),Ut=kn[0],jt=kn[1],Kt=kn[2],Qt=kn[3];var Tr=Qt+qr;return Tr<=qe&&KB(Ut,function(ri){return ri<Ae})?(Vn=(0,Cn.CR)([Kt,Qt,Or],3),at=Vn[0],pt=Vn[1],Kt=Vn[2],{width:Or,height:qr,x:at,y:pt,page:mt,index:vn,pageIndex:bt++,row:Ut,col:jt++}):(vr=(0,Cn.CR)([0,0,Or,0,mt+1,0,0,0],8),at=vr[0],pt=vr[1],Kt=vr[2],Qt=vr[3],mt=vr[4],bt=vr[5],Ut=vr[6],jt=vr[7],{width:Or,height:qr,x:at,y:pt,page:mt,index:vn,pageIndex:bt++,row:Ut,col:jt++})})},Object.defineProperty(x.prototype,"itemsLayout",{get:function(){this.navigatorShape=[0,0];var E=this.attributes.layout==="grid"?this.getGridLayout:this.getFlexLayout,z=E.call(this);return z.slice(-1)[0].page>0?(this.navigatorShape=[55,0],E.call(this)):z},enumerable:!1,configurable:!0}),x.prototype.ifHorizontal=function(E,z){var te=this.attributes.orientation;return ID(te,E,z)},x.prototype.flattenPage=function(E){E.querySelectorAll(YE.item.class).forEach(function(z){E.appendChild(z)}),E.querySelectorAll(YE.page.class).forEach(function(z){var te=E.removeChild(z);te.destroy()})},x.prototype.renderItems=function(E){var z=this.attributes,te=z.click,re=z.mouseenter,oe=z.mouseleave;this.flattenPage(E);var le=this.dispatchCustomEvent.bind(this);qs(E).selectAll(YE.item.class).data(this.renderData,function(he){return he.id}).join(function(he){return he.append(function(ge){var Ae=ge.style;return new wH({style:Ae})}).attr("className",YE.item.name).on("click",function(){te==null||te(this),le("itemClick",{item:this})}).on("pointerenter",function(){re==null||re(this),le("itemMouseenter",{item:this})}).on("pointerleave",function(){oe==null||oe(this),le("itemMouseleave",{item:this})})},function(he){return he.each(function(ge){var Ae=ge.style;this.update(Ae)})},function(he){return he.remove()})},x.prototype.relayoutNavigator=function(){var E,z=this.attributes,te=z.layout,re=z.width,oe=((E=this.pageViews.children[0])===null||E===void 0?void 0:E.getBBox().height)||0,le=(0,Cn.CR)(this.navigatorShape,2),he=le[0],ge=le[1];this.navigator.update(te==="grid"?{pageWidth:re-he,pageHeight:oe-ge}:{})},x.prototype.adjustLayout=function(){var E=this,z=Object.entries(GG(this.itemsLayout,"page")).map(function(re){var oe=(0,Cn.CR)(re,2),le=oe[0],he=oe[1];return{page:le,layouts:he}}),te=(0,Cn.ev)([],(0,Cn.CR)(this.navigator.getContainer().children),!1);z.forEach(function(re){var oe=re.layouts,le=E.pageViews.appendChild(new Oh({className:YE.page.name}));oe.forEach(function(he){var ge=he.x,Ae=he.y,Pe=he.index,We=he.width,Xe=he.height,qe=te[Pe];le.appendChild(qe),KC(qe,"__layout__",he),qe.update({x:ge,y:Ae,width:We,height:Xe})})}),this.relayoutNavigator()},x.prototype.renderNavigator=function(E){var z=this.attributes.orientation,te=su(this.attributes,"nav"),re=pg({orientation:z},te),oe=this;return E.selectAll(YE.navigator.class).data(["nav"]).join(function(le){return le.append(function(){return new fH({style:re})}).attr("className",YE.navigator.name).each(function(){oe.navigator=this})},function(le){return le.each(function(){this.update(re)})},function(le){return le.remove()}),this.navigator},x.prototype.getBBox=function(){return this.navigator.getBBox()},x.prototype.render=function(E,z){var te=this.attributes.data;if(!(!te||te.length===0)){var re=this.renderNavigator(qs(z));this.renderItems(re.getContainer()),this.adjustLayout()}},x.prototype.dispatchCustomEvent=function(E,z){var te=new se(E,{detail:z});this.dispatchEvent(te)},x}(Bd),c2=om({markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label"},"handle"),ZB={showLabel:!0,formatter:function(b){return b.toString()},markerSize:25,markerStroke:"#c5c5c5",markerFill:"#fff",markerLineWidth:1,labelFontSize:12,labelFill:"#c5c5c5",labelText:"",orientation:"vertical",spacing:0},a$=function(b){(0,Cn.ZT)(x,b);function x(E){return b.call(this,E,ZB)||this}return x.prototype.render=function(E,z){var te=qs(z).maybeAppendByClassName(c2.markerGroup,"g");this.renderMarker(te);var re=qs(z).maybeAppendByClassName(c2.labelGroup,"g");this.renderLabel(re)},x.prototype.renderMarker=function(E){var z=this,te=this.attributes,re=te.orientation,oe=te.markerSymbol,le=oe===void 0?ID(re,"horizontalHandle","verticalHandle"):oe;b0(!!le,E,function(he){var ge=su(z.attributes,"marker"),Ae=(0,Cn.pi)({symbol:le},ge);z.marker=he.maybeAppendByClassName(c2.marker,function(){return new dh({style:Ae})}).update(Ae)})},x.prototype.renderLabel=function(E){var z=this,te=this.attributes,re=te.showLabel,oe=te.orientation,le=te.spacing,he=le===void 0?0:le,ge=te.formatter;b0(re,E,function(Ae){var Pe,We=su(z.attributes,"label"),Xe=We.text,qe=(0,Cn._T)(We,["text"]),nt=((Pe=Ae.select(c2.marker.class))===null||Pe===void 0?void 0:Pe.node().getBBox())||{},at=nt.width,pt=at===void 0?0:at,mt=nt.height,bt=mt===void 0?0:mt,jt=(0,Cn.CR)(ID(oe,[0,bt+he,"center","top"],[pt+he,0,"start","middle"]),4),Ut=jt[0],Kt=jt[1],Qt=jt[2],Vt=jt[3];Ae.maybeAppendByClassName(c2.label,"text").styles((0,Cn.pi)((0,Cn.pi)({},qe),{x:Ut,y:Kt,text:ge(Xe).toString(),textAlign:Qt,textBaseline:Vt}))})},x}(Bd),YB={showTitle:!0,padding:0,orientation:"horizontal",backgroundFill:"transparent",titleText:"",titleSpacing:4,titlePosition:"top-left",titleFill:"#2C3542",titleFontWeight:"bold",titleFontFamily:"sans-serif",titleFontSize:12},bH=pg({},YB,{}),s$=pg({},YB,kS(ZB,"handle"),{color:["#d0e3fa","#acc7f6","#8daaf2","#6d8eea","#4d73cd","#325bb1","#5a3e75","#8c3c79","#e23455","#e7655b"],indicatorBackgroundFill:"#262626",indicatorLabelFill:"white",indicatorLabelFontSize:12,indicatorVisibility:"hidden",labelAlign:"value",labelDirection:"positive",labelSpacing:5,showHandle:!0,showIndicator:!0,showLabel:!0,slidable:!0,titleText:"",type:"continuous"}),l$=.01,u$=.5,h2=om({title:"title",titleGroup:"title-group",items:"items",itemsGroup:"items-group",contentGroup:"content-group",ribbonGroup:"ribbon-group",ribbon:"ribbon",handlesGroup:"handles-group",handle:"handle",startHandle:"start-handle",endHandle:"end-handle",labelGroup:"label-group",label:"label",indicator:"indicator"},"legend"),PH=function(b){(0,Cn.ZT)(x,b);function x(E){return b.call(this,E,bH)||this}return x.prototype.renderTitle=function(E,z,te){var re=this.attributes,oe=re.showTitle,le=re.titleText,he=su(this.attributes,"title"),ge=(0,Cn.CR)(t1(he),2),Ae=ge[0],Pe=ge[1];this.titleGroup=E.maybeAppendByClassName(h2.titleGroup,"g").styles(Pe);var We=(0,Cn.pi)((0,Cn.pi)({width:z,height:te},Ae),{text:oe?le:""});this.title=this.titleGroup.maybeAppendByClassName(h2.title,function(){return new UG({style:We})}).update(We)},x.prototype.renderItems=function(E,z){var te=z.x,re=z.y,oe=z.width,le=z.height,he=su(this.attributes,"title",!0),ge=(0,Cn.CR)(t1(he),2),Ae=ge[0],Pe=ge[1],We=(0,Cn.pi)((0,Cn.pi)({},Ae),{width:oe,height:le,x:0,y:0});this.itemsGroup=E.maybeAppendByClassName(h2.itemsGroup,"g").styles((0,Cn.pi)((0,Cn.pi)({},Pe),{transform:"translate(".concat(te,", ").concat(re,")")}));var Xe=this;this.itemsGroup.selectAll(h2.items.class).data(["items"]).join(function(qe){return qe.append(function(){return new CH({style:We})}).attr("className",h2.items.name).each(function(){Xe.items=qs(this)})},function(qe){return qe.update(We)},function(qe){return qe.remove()})},x.prototype.adjustLayout=function(){var E=this.attributes.showTitle;if(E){var z=this.title.node().getAvailableSpace(),te=z.x,re=z.y;this.itemsGroup.node().style.transform="translate(".concat(te,", ").concat(re,")")}},Object.defineProperty(x.prototype,"availableSpace",{get:function(){var E=this.attributes,z=E.showTitle,te=E.width,re=E.height;return z?this.title.node().getAvailableSpace():new rp(0,0,te,re)},enumerable:!1,configurable:!0}),x.prototype.getBBox=function(){var E,z,te=(E=this.title)===null||E===void 0?void 0:E.node(),re=(z=this.items)===null||z===void 0?void 0:z.node();return!te||!re?b.prototype.getBBox.call(this):zG(te,re)},x.prototype.render=function(E,z){var te=this.attributes,re=te.width,oe=te.height,le=te.x,he=le===void 0?0:le,ge=te.y,Ae=ge===void 0?0:ge,Pe=qs(z);z.style.transform="translate(".concat(he,", ").concat(Ae,")"),this.renderTitle(Pe,re,oe),this.renderItems(Pe,this.availableSpace),this.adjustLayout()},x}(Bd);function BD(b){const{width:x,height:E,renderer:z}=b,te=MH(b),re=new pd({width:x,height:E,container:te,renderer:z||new dM});return[te,re]}function MH(b){var x;const{container:E,className:z,graphCanvas:te}=b;if(E)return typeof E=="string"?document.getElementById(E):E;const re=RS(z,!1),{width:oe,height:le,containerStyle:he}=b,[ge,Ae]=LH(b);return Object.assign(re.style,Object.assign({position:"absolute",left:ge+"px",top:Ae+"px",width:oe+"px",height:le+"px"},he)),(x=te.getContainer())===null||x===void 0||x.appendChild(re),re}function LH(b){const{width:x,height:E,placement:z,graphCanvas:te}=b,[re,oe]=te.getSize(),[le,he]=H3(z);return[le*(re-x),he*(oe-E)]}var TH=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};class EL extends _g{constructor(x,E){super(x,Object.assign({},EL.defaultOptions,E)),this.typePrefix="__data__",this.draw=!1,this.fieldMap={node:new Map,edge:new Map,combo:new Map},this.selectedItems=[],this.bindEvents=()=>{const{graph:z}=this.context;z.on(ts.AFTER_DRAW,this.createElement)},this.changeState=(z,te)=>{const{graph:re}=this.context,{typePrefix:oe}=this,le=xp(z,[oe,"id"]),he=xp(z,[oe,"style","labelText"]),[ge]=le.split("__"),Ae=this.fieldMap[ge].get(he)||[];re.setElementState(Object.fromEntries(Ae==null?void 0:Ae.map(Pe=>[Pe,te])))},this.click=z=>{if(this.options.trigger==="hover")return;const te=xp(z,[this.typePrefix,"id"]);this.selectedItems.includes(te)?(this.selectedItems=this.selectedItems.filter(re=>re!==te),this.changeState(z,[])):(this.selectedItems.push(te),this.changeState(z,"selected"))},this.mouseleave=z=>{this.options.trigger!=="click"&&(this.selectedItems=[],this.changeState(z,[]))},this.mouseenter=z=>{if(this.options.trigger==="click")return;const te=xp(z,[this.typePrefix,"id"]);this.selectedItems.includes(te)?this.selectedItems=this.selectedItems.filter(re=>re!==te):(this.selectedItems.push(te),this.changeState(z,"active"))},this.setFieldMap=(z,te,re)=>{if(!z)return;const oe=this.fieldMap[re];if(oe)if(!oe.has(z))oe.set(z,[te]);else{const le=oe.get(z);le&&(le.push(te),oe.set(z,le))}},this.getEvents=()=>({mouseenter:this.mouseenter,mouseleave:this.mouseleave,click:this.click}),this.getMarkerData=(z,te)=>{if(!z)return[];const{model:re,element:oe}=this.context,{nodes:le,edges:he,combos:ge}=re.getData(),Ae={},Pe=at=>Ys(z)?z(at):z,We={node:"circle",edge:"line",combo:"rect"},Xe={circle:"circle",ellipse:"circle",image:"bowtie",rect:"square",star:"cross",triangle:"triangle",diamond:"diamond",cubic:"dot",line:"hyphen",polyline:"hyphen",quadratic:"hv","cubic-horizontal":"hyphen","cubic-vertical":"line"},qe=(at,pt)=>oe==null?void 0:oe.getElementComputedStyle(at,pt),nt=(at,pt)=>{at.forEach(mt=>{const{id:bt}=mt,jt=xp(mt,["data",Pe(mt)]),Ut=(oe==null?void 0:oe.getElementType(pt,mt))||"circle",Kt=qe(pt,mt),Qt=(pt==="edge"?Kt==null?void 0:Kt.stroke:Kt==null?void 0:Kt.fill)||"#1783ff";bt&&jt&&jt.replace(/\s+/g,"")&&(this.setFieldMap(jt,bt,pt),Ae[jt]||(Ae[jt]={id:`${pt}__${bt}`,label:jt,marker:Xe[Ut]||We[pt],elementType:pt,lineWidth:1,stroke:Qt,fill:Qt}))})};switch(te){case"node":nt(le,"node");break;case"edge":nt(he,"edge");break;case"combo":nt(ge,"combo");break;default:return[]}return Object.values(Ae)},this.createElement=()=>{if(this.draw){this.updateElement();return}const z=this.options,{width:te,height:re,nodeField:oe,edgeField:le,comboField:he,trigger:ge,position:Ae,container:Pe,containerStyle:We,className:Xe}=z,qe=TH(z,["width","height","nodeField","edgeField","comboField","trigger","position","container","containerStyle","className"]),nt=this.getMarkerData(oe,"node"),at=this.getMarkerData(le,"edge"),pt=this.getMarkerData(he,"combo"),mt=[...nt,...pt,...at],bt=Object.assign({width:te,height:re,data:mt,itemMarkerLineWidth:({lineWidth:Kt})=>Kt,itemMarker:({marker:Kt})=>Kt,itemMarkerStroke:({stroke:Kt})=>Kt,itemMarkerFill:({fill:Kt})=>Kt,gridCol:nt.length},qe,this.getEvents()),jt=new PH({className:"legend",style:bt});this.category=jt,this.upsertCanvas().appendChild(jt),this.draw=!0},this.bindEvents()}update(x){super.update(x),this.clear(),this.createElement()}clear(){var x,E;(x=this.canvas)===null||x===void 0||x.destroy(),(E=this.container)===null||E===void 0||E.remove(),this.canvas=void 0,this.container=void 0,this.draw=!1}updateElement(){this.category&&this.category.update({itemMarkerOpacity:({id:x})=>!this.selectedItems.length||this.selectedItems.includes(x)?1:.5,itemLabelOpacity:({id:x})=>!this.selectedItems.length||this.selectedItems.includes(x)?1:.5})}upsertCanvas(){if(this.canvas)return this.canvas;const x=this.context.canvas,[E,z]=x.getSize(),{width:te=E,height:re=z,position:oe,container:le,containerStyle:he,className:ge}=this.options,[Ae,Pe]=BD({width:te,height:re,graphCanvas:x,container:le,containerStyle:he,placement:oe,className:"legend"});return this.container=Ae,ge&&Ae.classList.add(ge),this.canvas=Pe,this.canvas}destroy(){this.clear(),this.context.graph.off(ts.AFTER_DRAW,this.createElement),super.destroy()}}EL.defaultOptions={position:"bottom",trigger:"hover",orientation:"horizontal",layout:"flex",itemSpacing:4,rowPadding:10,colPadding:10,itemMarkerSize:16,itemLabelFontSize:16,width:240,height:160};class AL extends _g{constructor(x,E){super(x,Object.assign({},AL.defaultOptions,E)),this.onDraw=z=>{var te;!((te=z==null?void 0:z.data)===null||te===void 0)&&te.render||this.onRender()},this.shapes=new Map,this.landmarkMap=new Map,this.mask=null,this.isMaskDragging=!1,this.onMaskDragStart=z=>{this.mask&&(this.isMaskDragging=!0,this.mask.setPointerCapture(z.pointerId),this.mask.addEventListener("pointermove",this.onMaskDrag),this.mask.addEventListener("pointerup",this.onMaskDragEnd),this.mask.addEventListener("pointercancel",this.onMaskDragEnd))},this.onMaskDrag=z=>{if(!this.mask||!this.isMaskDragging)return;const{size:[te,re]}=this.options,{movementX:oe,movementY:le}=z,{left:he,top:ge,width:Ae,height:Pe}=this.mask.style,[,,We,Xe]=this.maskBBox;let qe=parseInt(he)+oe,nt=parseInt(ge)+le,at=parseInt(Ae),pt=parseInt(Pe);qe<0&&(qe=0),nt<0&&(nt=0),qe+at>te&&(qe=Sx(te-at,0)),nt+pt>re&&(nt=Sx(re-pt,0)),at<We&&(oe>0?(qe=Sx(qe-oe,0),at=Ax(at+oe,te)):oe<0&&(at=Ax(at-oe,te))),pt<Xe&&(le>0?(nt=Sx(nt-le,0),pt=Ax(pt+le,re)):le<0&&(pt=Ax(pt-le,re))),Object.assign(this.mask.style,{left:qe+"px",top:nt+"px",width:at+"px",height:pt+"px"});const mt=parseInt(he)-qe,bt=parseInt(ge)-nt;if(mt===0&&bt===0)return;const jt=this.context.canvas.getCamera().getZoom(),Ut=this.canvas.getCamera().getZoom(),Kt=jt/Ut;this.context.graph.translateBy([mt*Kt,bt*Kt],!1)},this.onMaskDragEnd=z=>{this.mask&&(this.isMaskDragging=!1,this.mask.releasePointerCapture(z.pointerId),this.mask.removeEventListener("pointermove",this.onMaskDrag),this.mask.removeEventListener("pointerup",this.onMaskDragEnd),this.mask.removeEventListener("pointercancel",this.onMaskDragEnd))},this.onTransform=qI(()=>{this.isMaskDragging||(this.updateMask(),this.setCamera())},32,{leading:!0}),this.setOnRender(),this.bindEvents()}update(x){this.unbindEvents(),super.update(x),"delay"in x&&this.setOnRender(),this.bindEvents()}setOnRender(){this.onRender=$C(()=>{this.renderMinimap(),this.renderMask()},this.options.delay,!0)}bindEvents(){const{graph:x}=this.context;x.on(ts.AFTER_DRAW,this.onDraw),x.on(ts.AFTER_RENDER,this.onRender),x.on(ts.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:x}=this.context;x.off(ts.AFTER_DRAW,this.onDraw),x.off(ts.AFTER_RENDER,this.onRender),x.off(ts.AFTER_TRANSFORM,this.onTransform)}renderMinimap(){const x=this.getElements(),E=this.initCanvas();this.setShapes(E,x)}getElements(){const{filter:x}=this.options,{model:E}=this.context,z=E.getData();if(!x)return z;const{nodes:te,edges:re,combos:oe}=z;return{nodes:te.filter(le=>x(Xi(le),"node")),edges:re.filter(le=>x(Xi(le),"edge")),combos:oe.filter(le=>x(Xi(le),"combo"))}}setShapes(x,E){const{nodes:z,edges:te,combos:re}=E,{shape:oe}=this.options,{element:le}=this.context;if(oe==="key"){const ge=new Set,Ae=Pe=>{const We=Xi(Pe);ge.add(We);const Xe=le.getElement(We);if(!Xe)return;const qe=Xe.getShape("key"),nt=this.shapes.get(We)||qe.cloneNode();nt.setPosition(qe.getPosition()),Xe.style.zIndex&&(nt.style.zIndex=Xe.style.zIndex),nt.id=Xe.id,this.shapes.has(We)?Object.entries(qe.attributes).forEach(([at,pt])=>{nt.style[at]!==pt&&(nt.style[at]=pt)}):(x.appendChild(nt),this.shapes.set(We,nt))};te.forEach(Ae),re.forEach(Ae),z.forEach(Ae),this.shapes.forEach((Pe,We)=>{ge.has(We)||(x.removeChild(Pe),this.shapes.delete(We))});return}const he=(ge,Ae)=>{const We=le.getElement(ge).getPosition();return Ae.setPosition(We),Ae};x.removeChildren(),te.forEach(ge=>x.appendChild(oe(Xi(ge),"edge"))),re.forEach(ge=>{x.appendChild(he(Xi(ge),oe(Xi(ge),"combo")))}),z.forEach(ge=>{x.appendChild(he(Xi(ge),oe(Xi(ge),"node")))})}initCanvas(){const{renderer:x,size:[E,z]}=this.options;if(this.canvas){const{width:te,height:re}=this.canvas.getConfig();(E!==te||z!==re)&&this.canvas.resize(E,z),x&&this.canvas.setRenderer(x)}else{const{className:te,position:re,container:oe,containerStyle:le}=this.options,[he,ge]=BD({renderer:x,width:E,height:z,placement:re,className:"minimap",container:oe,containerStyle:le,graphCanvas:this.context.canvas});te&&he.classList.add(te),this.container=he,this.canvas=ge}return this.setCamera(),this.canvas}createLandmark(x,E,z){const te=`${x.join(",")}-${E.join(",")}-${z}`;if(this.landmarkMap.has(te))return this.landmarkMap.get(te);const oe=this.canvas.getCamera().createLandmark(te,{position:x,focalPoint:E,zoom:z});return this.landmarkMap.set(te,oe),oe}setCamera(){var x;const{canvas:E}=this.context,z=(x=this.canvas)===null||x===void 0?void 0:x.getCamera();if(!z)return;const{size:[te,re],padding:oe}=this.options,[le,he,ge,Ae]=Jv(oe),{min:Pe,max:We,center:Xe}=E.getBounds("elements"),qe=We[0]-Pe[0],nt=We[1]-Pe[1],at=te-Ae-he,pt=re-le-ge,mt=at/qe,bt=pt/nt,jt=Math.min(mt,bt),Ut=this.createLandmark(Xe,Xe,jt);z.gotoLandmark(Ut,0)}get maskBBox(){const{canvas:x}=this.context,E=x.getSize(),z=x.getCanvasByViewport([0,0]),te=x.getCanvasByViewport(E),re=this.canvas.canvas2Viewport(tm(z)),oe=this.canvas.canvas2Viewport(tm(te)),le=oe.x-re.x,he=oe.y-re.y;return[re.x,re.y,le,he]}calculateMaskBBox(){const{size:[x,E]}=this.options;let[z,te,re,oe]=this.maskBBox;return z<0&&(re=Ax(re+z,x),z=0),te<0&&(oe=Ax(oe+te,E),te=0),z+re>x&&(re=Sx(x-z,0)),te+oe>E&&(oe=Sx(E-te,0)),[Ax(z,x),Ax(te,E),Sx(re,0),Sx(oe,0)]}renderMask(){const{maskStyle:x}=this.options;this.mask||(this.mask=document.createElement("div"),this.mask.addEventListener("pointerdown",this.onMaskDragStart)),this.container.appendChild(this.mask),Object.assign(this.mask.style,Object.assign(Object.assign({},x),{cursor:"move",position:"absolute",pointerEvents:"auto"})),this.updateMask()}updateMask(){if(!this.mask)return;const[x,E,z,te]=this.calculateMaskBBox();Object.assign(this.mask.style,{top:E+"px",left:x+"px",width:z+"px",height:te+"px"})}destroy(){var x;this.unbindEvents(),this.canvas.destroy(),(x=this.mask)===null||x===void 0||x.remove(),super.destroy()}}AL.defaultOptions={size:[240,160],shape:"key",padding:10,position:"right-bottom",maskStyle:{border:"1px solid #ddd",background:"rgba(0, 0, 0, 0.1)"},containerStyle:{border:"1px solid #ddd",background:"#fff"},delay:128};const Ax=(b,x)=>Math.min(b,x),Sx=(b,x)=>Math.max(b,x);var RD=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})};const kD={x1:0,y1:0,x2:0,y2:0,visibility:"hidden"};class SL extends _g{constructor(x,E){super(x,Object.assign({},SL.defaultOptions,E)),this.initSnapline=()=>{const z=this.context.canvas.getLayer("transient");this.horizontalLine||(this.horizontalLine=z.appendChild(new Zp({style:Object.assign(Object.assign({},kD),this.options.horizontalLineStyle)}))),this.verticalLine||(this.verticalLine=z.appendChild(new Zp({style:Object.assign(Object.assign({},kD),this.options.verticalLineStyle)})))},this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!0,this.autoSnapToLine=(z,te,re)=>RD(this,void 0,void 0,function*(){const{verticalX:oe,horizontalY:le}=re,{tolerance:he}=this.options,{min:[ge,Ae],max:[Pe,We],center:[Xe,qe]}=te;let nt=0,at=0;oe!==null&&(ip(Pe,oe)<he&&(nt=oe-Pe),ip(ge,oe)<he&&(nt=oe-ge),ip(Xe,oe)<he&&(nt=oe-Xe),nt!==0&&(this.isVerticalSticking=!0)),le!==null&&(ip(We,le)<he&&(at=le-We),ip(Ae,le)<he&&(at=le-Ae),ip(qe,le)<he&&(at=le-qe),at!==0&&(this.isHorizontalSticking=!0)),(nt!==0||at!==0)&&(yield this.context.graph.translateElementBy({[z]:[nt,at]},!1))}),this.enableSnap=z=>{const{target:te}=z,re=.5;if(this.isHorizontalSticking||this.isVerticalSticking){const[oe,le]=this.getDelta(z);if(this.isHorizontalSticking&&this.isVerticalSticking&&Math.abs(oe)<=re&&Math.abs(le)<=re)return this.context.graph.translateElementBy({[te.id]:[-oe,-le]},!1),!1;if(this.isHorizontalSticking&&Math.abs(le)<=re)return this.context.graph.translateElementBy({[te.id]:[0,-le]},!1),!1;if(this.isVerticalSticking&&Math.abs(oe)<=re)return this.context.graph.translateElementBy({[te.id]:[-oe,0]},!1),!1;this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!1,setTimeout(()=>{this.enableStick=!0},200)}return this.enableStick},this.calcSnaplineMetadata=(z,te)=>{const{tolerance:re,shape:oe}=this.options,{min:[le,he],max:[ge,Ae],center:[Pe,We]}=te;let Xe=null,qe=null,nt=null,at=null,pt=null,mt=null;return this.getNodes().some(bt=>{if(Qd(z.id,bt.id))return!1;const jt=XB(bt,oe).getRenderBounds(),{min:[Ut,Kt],max:[Qt,Vt],center:[vn,wn]}=jt;return Xe===null&&(ip(vn,Pe)<re?Xe=vn:ip(Ut,le)<re||ip(Ut,ge)<re?Xe=Ut:(ip(Qt,ge)<re||ip(Qt,le)<re)&&(Xe=Qt),Xe!==null&&(qe=Math.min(Kt,he),nt=Math.max(Vt,Ae))),at===null&&(ip(wn,We)<re?at=wn:ip(Kt,he)<re||ip(Kt,Ae)<re?at=Kt:(ip(Vt,Ae)<re||ip(Vt,he)<re)&&(at=Vt),at!==null&&(pt=Math.min(Ut,le),mt=Math.max(Qt,ge))),Xe!==null&&at!==null}),{verticalX:Xe,verticalMinY:qe,verticalMaxY:nt,horizontalY:at,horizontalMinX:pt,horizontalMaxX:mt}},this.onDragStart=()=>{this.initSnapline()},this.onDrag=z=>RD(this,void 0,void 0,function*(){const{target:te}=z;if(this.options.autoSnap&&!this.enableSnap(z))return;const re=XB(te,this.options.shape).getRenderBounds(),oe=this.calcSnaplineMetadata(te,re);this.hideSnapline(),(oe.verticalX!==null||oe.horizontalY!==null)&&this.updateSnapline(oe),this.options.autoSnap&&(yield this.autoSnapToLine(te.id,re,oe))}),this.onDragEnd=()=>{this.hideSnapline()},this.bindEvents()}getNodes(){var x;const{filter:E}=this.options,te=(((x=this.context.element)===null||x===void 0?void 0:x.getNodes())||[]).filter(re=>{var oe;return x7(re)&&((oe=this.context.viewport)===null||oe===void 0?void 0:oe.isInViewport(re.getRenderBounds()))});return E?te.filter(re=>E(re)):te}hideSnapline(){this.horizontalLine.style.visibility="hidden",this.verticalLine.style.visibility="hidden"}getLineWidth(x){const{lineWidth:E}=this.options[`${x}LineStyle`];return+(E||kD.lineWidth||1)/this.context.graph.getZoom()}updateSnapline(x){const{verticalX:E,verticalMinY:z,verticalMaxY:te,horizontalY:re,horizontalMinX:oe,horizontalMaxX:le}=x,[he,ge]=this.context.canvas.getSize(),{offset:Ae}=this.options;re!==null?Object.assign(this.horizontalLine.style,{x1:Ae===1/0?0:oe-Ae,y1:re,x2:Ae===1/0?he:le+Ae,y2:re,visibility:"visible",lineWidth:this.getLineWidth("horizontal")}):this.horizontalLine.style.visibility="hidden",E!==null?Object.assign(this.verticalLine.style,{x1:E,y1:Ae===1/0?0:z-Ae,x2:E,y2:Ae===1/0?ge:te+Ae,visibility:"visible",lineWidth:this.getLineWidth("vertical")}):this.verticalLine.style.visibility="hidden"}getDelta(x){const E=this.context.graph.getZoom();return em([x.dx,x.dy],E)}bindEvents(){return RD(this,void 0,void 0,function*(){const{graph:x}=this.context;x.on(vv.DRAG_START,this.onDragStart),x.on(vv.DRAG,this.onDrag),x.on(vv.DRAG_END,this.onDragEnd)})}unbindEvents(){const{graph:x}=this.context;x.off(vv.DRAG_START,this.onDragStart),x.off(vv.DRAG,this.onDrag),x.off(vv.DRAG_END,this.onDragEnd)}destroyElements(){var x,E;(x=this.horizontalLine)===null||x===void 0||x.destroy(),(E=this.verticalLine)===null||E===void 0||E.destroy()}destroy(){this.destroyElements(),this.unbindEvents(),super.destroy()}}SL.defaultOptions={tolerance:5,offset:20,autoSnap:!0,shape:"key",verticalLineStyle:{stroke:"#1783FF"},horizontalLineStyle:{stroke:"#1783FF"},filter:()=>!0};const ip=(b,x)=>Math.abs(b-x),XB=(b,x)=>typeof x=="function"?x(b):b.getShape(x);var QB=null,DH=null;function wL(b){return b instanceof Date?b:new Date(b)}function IH(b){for(var x=__read(b,2),E=x[0],z=x[1],te=QB.indexOf(E),re=QB.indexOf(z),oe="",le=te;le<=re;le+=1)if(oe+=DH[le],le<re){var he="-";le===2?he=" ":le>2&&(he=":"),oe+=he}return oe}function wp(b,x){var E={YYYY:b.getFullYear(),MM:b.getMonth()+1,DD:b.getDate(),HH:b.getHours(),mm:b.getMinutes(),ss:b.getSeconds()},z=x;return Object.keys(E).forEach(function(te){var re=E[te];z=z.replace(te,te==="YYYY"?"".concat(re):"".concat(re).padStart(2,"0"))}),z}function c$(b,x){return wL(b).getTime()-wL(x).getTime()}function h$(b,x){var E=__read([wL(b),wL(x)],2),z=E[0],te=E[1];return z.getFullYear()!==te.getFullYear()?"year":z.getMonth()!==te.getMonth()?"month":z.getDay()!==te.getDay()?"day":z.getHours()!==te.getHours()?"hour":z.getMinutes()!==te.getMinutes()?"minute":"second"}function d$(b,x){var E=new Date(b),z={year:function(te){te.setMonth(0),te.setHours(0,0,0,0)},month:function(te){te.setDate(1),te.setHours(0,0,0,0)},day:function(te){return te.setHours(0,0,0,0)},hour:function(te){return te.setMinutes(0,0,0)},minute:function(te){return te.setSeconds(0,0)},second:function(te){return te.setMilliseconds(0)}};return z[x](E),wp(E,IH(["year",x]))}function OH(b,x){if(b.length<=x)return b;for(var E=Math.floor(b.length/x),z=[],te=0;te<b.length;te+=E)z.push(b[te]);return z}var FD={data:[],animate:{enter:!1,update:{duration:100,easing:"ease-in-out-sine",fill:"both"},exit:{duration:100,fill:"both"}},showArrow:!0,showGrid:!0,showLabel:!0,showLine:!0,showTick:!0,showTitle:!0,showTrunc:!1,dataThreshold:100,lineLineWidth:1,lineStroke:"black",crossPadding:10,titleFill:"black",titleFontSize:12,titlePosition:"lb",titleSpacing:0,titleTextAlign:"center",titleTextBaseline:"middle",lineArrow:function(){return new Pu({style:{d:[["M",10,10],["L",-10,0],["L",10,-10],["L",0,0],["L",10,10],["Z"]],fill:"black",transformOrigin:"center"}})},labelAlign:"parallel",labelDirection:"positive",labelFontSize:12,labelSpacing:0,gridConnect:"line",gridControlAngles:[],gridDirection:"positive",gridLength:0,gridType:"segment",lineArrowOffset:15,lineArrowSize:10,tickDirection:"positive",tickLength:5,tickLineWidth:1,tickStroke:"black",labelOverlap:[]},f$=yp({},FD,{style:{type:"arc"}}),g$=yp({},FD,{style:{}}),qc=om({mainGroup:"main-group",gridGroup:"grid-group",grid:"grid",lineGroup:"line-group",line:"line",tickGroup:"tick-group",tick:"tick",tickItem:"tick-item",labelGroup:"label-group",label:"label",labelItem:"label-item",titleGroup:"title-group",title:"title",lineFirst:"line-first",lineSecond:"line-second"},"axis");function r1(b,x){return[b[0]*x,b[1]*x]}function d2(b,x){return[b[0]+x[0],b[1]+x[1]]}function _D(b,x){return[b[0]-x[0],b[1]-x[1]]}function XE(b,x){return[Math.min(b[0],x[0]),Math.min(b[1],x[1])]}function QE(b,x){return[Math.max(b[0],x[0]),Math.max(b[1],x[1])]}function f2(b,x){return Math.sqrt(Math.pow(b[0]-x[0],2)+Math.pow(b[1]-x[1],2))}function JB(b){if(b[0]===0&&b[1]===0)return[0,0];var x=Math.sqrt(Math.pow(b[0],2)+Math.pow(b[1],2));return[b[0]/x,b[1]/x]}function p$(b,x,E){var z=__read(b,2),te=z[0],re=z[1],oe=__read(x,2),le=oe[0],he=oe[1],ge=te-le,Ae=re-he,Pe=Math.sin(E),We=Math.cos(E);return[ge*We-Ae*Pe+le,ge*Pe+Ae*We+he]}function NH(b,x){return x?[b[1],-b[0]]:[-b[1],b[0]]}function _S(b){return b*Math.PI/180}function qB(b){return Number((b*180/Math.PI).toPrecision(5))}function CL(b,x){return b.style.opacity||(b.style.opacity=1),am(b,{opacity:0},x)}var BH=["$el","cx","cy","d","dx","dy","fill","fillOpacity","filter","fontFamily","fontSize","fontStyle","fontVariant","fontWeight","height","img","increasedLineWidthForHitTesting","innerHTML","isBillboard","billboardRotation","isSizeAttenuation","isClosed","isOverflowing","leading","letterSpacing","lineDash","lineHeight","lineWidth","markerEnd","markerEndOffset","markerMid","markerStart","markerStartOffset","maxLines","metrics","miterLimit","offsetX","offsetY","opacity","path","points","r","radius","rx","ry","shadowColor","src","stroke","strokeOpacity","text","textAlign","textBaseline","textDecorationColor","textDecorationLine","textDecorationStyle","textOverflow","textPath","textPathSide","textPathStartOffset","transform","transformOrigin","visibility","width","wordWrap","wordWrapWidth","x","x1","x2","y","y1","y2","z1","z2","zIndex"];function RH(b){return BH.includes(b)}function $B(b){var x={};for(var E in b)RH(E)&&(x[E]=b[E]);return x}var zS=om({lineGroup:"line-group",line:"line",regionGroup:"region-group",region:"region"},"grid");function e6(b){return b.reduce(function(x,E,z){return x.push((0,Cn.ev)([z===0?"M":"L"],(0,Cn.CR)(E),!1)),x},[])}function kH(b,x,E){var z=x.connect,te=z===void 0?"line":z,re=x.center;if(te==="line")return e6(b);if(!re)return[];var oe=f2(b[0],re),le=E?0:1;return b.reduce(function(he,ge,Ae){return Ae===0?he.push((0,Cn.ev)(["M"],(0,Cn.CR)(ge),!1)):he.push((0,Cn.ev)(["A",oe,oe,0,0,le],(0,Cn.CR)(ge),!1)),he},[])}function zD(b,x,E){return x.type==="surround"?kH(b,x,E):e6(b)}function FH(b,x,E){var z=E.type,te=E.connect,re=E.center,oe=E.closed,le=oe?[["Z"]]:[],he=(0,Cn.CR)([zD(b,E),zD(x.slice().reverse(),E,!0)],2),ge=he[0],Ae=he[1],Pe=(0,Cn.CR)([b[0],x.slice(-1)[0]],2),We=Pe[0],Xe=Pe[1],qe=function(mt,bt){return[ge,mt,Ae,bt,le].flat()};if(te==="line"||z==="surround")return qe([(0,Cn.ev)(["L"],(0,Cn.CR)(Xe),!1)],[(0,Cn.ev)(["L"],(0,Cn.CR)(We),!1)]);if(!re)throw new Error("Arc grid need to specified center");var nt=(0,Cn.CR)([f2(Xe,re),f2(We,re)],2),at=nt[0],pt=nt[1];return qe([(0,Cn.ev)(["A",at,at,0,0,1],(0,Cn.CR)(Xe),!1),(0,Cn.ev)(["L"],(0,Cn.CR)(Xe),!1)],[(0,Cn.ev)(["A",pt,pt,0,0,0],(0,Cn.CR)(We),!1),(0,Cn.ev)(["L"],(0,Cn.CR)(We),!1)])}function _H(b,x,E,z){var te=E.animate,re=E.isBillboard,oe=x.map(function(le,he){return{id:le.id||"grid-line-".concat(he),d:zD(le.points,E)}});return b.selectAll(zS.line.class).data(oe,function(le){return le.id}).join(function(le){return le.append("path").each(function(he,ge){var Ae=xv($B((0,Cn.pi)({d:he.d},z)),[he,ge,oe]);this.attr((0,Cn.pi)({class:zS.line.name,stroke:"#D9D9D9",lineWidth:1,lineDash:[4,4],isBillboard:re},Ae))})},function(le){return le.transition(function(he,ge){var Ae=xv($B((0,Cn.pi)({d:he.d},z)),[he,ge,oe]);return am(this,Ae,te.update)})},function(le){return le.transition(function(){var he=this,ge=CL(this,te.exit);return FS(ge,function(){return he.remove()}),ge})}).transitions()}function zH(b,x,E){var z=E.animate,te=E.connect,re=E.areaFill;if(x.length<2||!re||!te)return[];for(var oe=Array.isArray(re)?re:[re,"transparent"],le=function(qe){return oe[qe%oe.length]},he=[],ge=0;ge<x.length-1;ge++){var Ae=(0,Cn.CR)([x[ge].points,x[ge+1].points],2),Pe=Ae[0],We=Ae[1],Xe=FH(Pe,We,E);he.push({d:Xe,fill:le(ge)})}return b.selectAll(zS.region.class).data(he,function(qe,nt){return nt}).join(function(qe){return qe.append("path").each(function(nt,at){var pt=xv(nt,[nt,at,he]);this.attr(pt)}).attr("className",zS.region.name)},function(qe){return qe.transition(function(nt,at){var pt=xv(nt,[nt,at,he]);return am(this,pt,z.update)})},function(qe){return qe.transition(function(){var nt=this,at=CL(this,z.exit);return FS(at,function(){return nt.remove()}),at})}).transitions()}function jH(b){var x=b.data,E=x===void 0?[]:x,z=b.closed;return z?E.map(function(te){var re=te.points,oe=(0,Cn.CR)(re,1),le=oe[0];return(0,Cn.pi)((0,Cn.pi)({},te),{points:(0,Cn.ev)((0,Cn.ev)([],(0,Cn.CR)(re),!1),[le],!1)})}):E}var WH=function(b){(0,Cn.ZT)(x,b);function x(){return b!==null&&b.apply(this,arguments)||this}return x.prototype.render=function(E,z){var te=E.type,re=E.center,oe=E.areaFill,le=E.closed,he=(0,Cn._T)(E,["type","center","areaFill","closed"]),ge=jH(E),Ae=qs(z).maybeAppendByClassName(zS.lineGroup,"g"),Pe=qs(z).maybeAppendByClassName(zS.regionGroup,"g"),We=_H(Ae,ge,E,he),Xe=zH(Pe,ge,E);return(0,Cn.ev)((0,Cn.ev)([],(0,Cn.CR)(We),!1),(0,Cn.CR)(Xe),!1)},x}(Bd),UH=function(b,x){return function(E){return b*(1-E)+x*E}};function GH(b,x){var E=x?x.length:0,z=b?Math.min(E,b.length):0;return function(te){var re=new Array(z),oe=new Array(E),le=0;for(le=0;le<z;++le)re[le]=jD(b[le],x[le]);for(;le<E;++le)oe[le]=x[le];for(le=0;le<z;++le)oe[le]=re[le](te);return oe}}function HH(b,x){b===void 0&&(b={}),x===void 0&&(x={});var E={},z={};return Object.entries(x).forEach(function(te){var re=(0,Cn.CR)(te,2),oe=re[0],le=re[1];oe in b?E[oe]=jD(b[oe],le):z[oe]=le}),function(te){return Object.entries(E).forEach(function(re){var oe=(0,Cn.CR)(re,2),le=oe[0],he=oe[1];return z[le]=he(te)}),z}}function jD(b,x){return typeof b=="number"&&typeof x=="number"?UH(b,x):Array.isArray(b)&&Array.isArray(x)?GH(b,x):typeof b=="object"&&typeof x=="object"?HH(b,x):function(E){return b}}function VH(b,x,E,z){if(!z)return b.attr("__keyframe_data__",E),null;var te=z.duration,re=te===void 0?0:te,oe=jD(x,E),le=Math.ceil(+re/16),he=new Array(le).fill(0).map(function(ge,Ae,Pe){return{__keyframe_data__:oe(Ae/(Pe.length-1))}});return b.animate(he,(0,Cn.pi)({fill:"both"},z))}function t6(b,x){var E={},z=Array.isArray(x)?x:[x];for(var te in b)z.includes(te)||(E[te]=b[te]);return E}function n6(b,x){return Object.fromEntries(Object.entries(b).map(function(E){var z=(0,Cn.CR)(E,2),te=z[0],re=z[1];return[te,xv(re,x)]}))}function v$(b){if(b.type==="linear"){var x=b.startPos,E=b.endPos;return __spreadArray(__spreadArray([],__read(x),!1),__read(E),!1)}var z=b.startAngle,te=b.endAngle,re=b.center,oe=b.radius;return __spreadArray(__spreadArray([z,te],__read(re),!1),[oe],!1)}function WD(b,x){return x&&Ys(x)?b.filter(x):b}function r6(b,x){var E=x.startAngle,z=x.endAngle;return(z-E)*b+E}function bL(b,x){if(x.type==="linear"){var E=(0,Cn.CR)(x.startPos,2),z=E[0],te=E[1],re=(0,Cn.CR)(x.endPos,2),oe=re[0],le=re[1],he=(0,Cn.CR)([oe-z,le-te],2),ge=he[0],Ae=he[1];return JB([ge,Ae])}var Pe=_S(r6(b,x));return[-Math.sin(Pe),Math.cos(Pe)]}function UD(b,x,E){var z=bL(b,E);return NH(z,x!=="positive")}function g2(b,x){return UD(b,x.labelDirection,x)}function KH(b,x){var E=(0,Cn.CR)(x.startPos,2),z=E[0],te=E[1],re=(0,Cn.CR)(x.endPos,2),oe=re[0],le=re[1],he=(0,Cn.CR)([oe-z,le-te],2),ge=he[0],Ae=he[1];return[z+ge*b,te+Ae*b]}function ZH(b,x){var E=x.radius,z=(0,Cn.CR)(x.center,2),te=z[0],re=z[1],oe=_S(r6(b,x));return[te+E*Math.cos(oe),re+E*Math.sin(oe)]}function PL(b,x){return x.type==="linear"?KH(b,x):ZH(b,x)}function i6(b){return bL(0,b)[1]===0}function o6(b){return bL(0,b)[0]===0}function a6(b,x){return x-b===360}function s6(b,x,E,z,te){var re=x-b,oe=(0,Cn.CR)([te,te],2),le=oe[0],he=oe[1],ge=(0,Cn.CR)([_S(b),_S(x)],2),Ae=ge[0],Pe=ge[1],We=function(wn){return[E+te*Math.cos(wn),z+te*Math.sin(wn)]},Xe=(0,Cn.CR)(We(Ae),2),qe=Xe[0],nt=Xe[1],at=(0,Cn.CR)(We(Pe),2),pt=at[0],mt=at[1];if(a6(b,x)){var bt=(Pe+Ae)/2,jt=(0,Cn.CR)(We(bt),2),Ut=jt[0],Kt=jt[1];return[["M",qe,nt],["A",le,he,0,1,0,Ut,Kt],["A",le,he,0,1,0,pt,mt]]}var Qt=re>180?1:0,Vt=b>x?0:1,vn=!1;return vn?"M".concat(E,",").concat(z,",L").concat(qe,",").concat(nt,",A").concat(le,",").concat(he,",0,").concat(Qt,",").concat(Vt,",").concat(pt,",").concat(mt,",L").concat(E,",").concat(z):"M".concat(qe,",").concat(nt,",A").concat(le,",").concat(he,",0,").concat(Qt,",").concat(Vt,",").concat(pt,",").concat(mt)}function YH(b){var x=b.attributes,E=x.startAngle,z=x.endAngle,te=x.center,re=x.radius;return(0,Cn.ev)((0,Cn.ev)([E,z],(0,Cn.CR)(te),!1),[re],!1)}function XH(b,x,E,z){var te=x.startAngle,re=x.endAngle,oe=x.center,le=x.radius;return b.selectAll(qc.line.class).data([{d:s6.apply(void 0,(0,Cn.ev)((0,Cn.ev)([te,re],(0,Cn.CR)(oe),!1),[le],!1))}],function(he,ge){return ge}).join(function(he){return he.append("path").attr("className",qc.line.name).styles(x).styles({d:function(ge){return ge.d}})},function(he){return he.transition(function(){var ge=this,Ae=VH(this,YH(this),(0,Cn.ev)((0,Cn.ev)([te,re],(0,Cn.CR)(oe),!1),[le],!1),z.update);if(Ae){var Pe=function(){var We=xp(ge.attributes,"__keyframe_data__");ge.style.d=s6.apply(void 0,(0,Cn.ev)([],(0,Cn.CR)(We),!1))};Ae.onframe=Pe,Ae.onfinish=Pe}return Ae}).styles(x)},function(he){return he.remove()}).styles(E).transitions()}function QH(b,x){var E=x.truncRange,z=x.truncShape,te=x.lineExtension}function JH(b,x,E){E===void 0&&(E=[0,0]);var z=(0,Cn.CR)([b,x,E],3),te=(0,Cn.CR)(z[0],2),re=te[0],oe=te[1],le=(0,Cn.CR)(z[1],2),he=le[0],ge=le[1],Ae=(0,Cn.CR)(z[2],2),Pe=Ae[0],We=Ae[1],Xe=(0,Cn.CR)([he-re,ge-oe],2),qe=Xe[0],nt=Xe[1],at=Math.sqrt(Math.pow(qe,2)+Math.pow(nt,2)),pt=(0,Cn.CR)([-Pe/at,We/at],2),mt=pt[0],bt=pt[1];return[mt*qe,mt*nt,bt*qe,bt*nt]}function l6(b){var x=(0,Cn.CR)(b,2),E=(0,Cn.CR)(x[0],2),z=E[0],te=E[1],re=(0,Cn.CR)(x[1],2),oe=re[0],le=re[1];return{x1:z,y1:te,x2:oe,y2:le}}function qH(b,x,E,z){var te=x.showTrunc,re=x.startPos,oe=x.endPos,le=x.truncRange,he=x.lineExtension,ge=(0,Cn.CR)([re,oe],2),Ae=(0,Cn.CR)(ge[0],2),Pe=Ae[0],We=Ae[1],Xe=(0,Cn.CR)(ge[1],2),qe=Xe[0],nt=Xe[1],at=(0,Cn.CR)(he?JH(re,oe,he):new Array(4).fill(0),4),pt=at[0],mt=at[1],bt=at[2],jt=at[3],Ut=function(Sr){return b.selectAll(qc.line.class).data(Sr,function(Tr,ri){return ri}).join(function(Tr){return Tr.append("line").attr("className",function(ri){return"".concat(qc.line.name," ").concat(ri.className)}).styles(E).transition(function(ri){return am(this,l6(ri.line),!1)})},function(Tr){return Tr.styles(E).transition(function(ri){var Cr=ri.line;return am(this,l6(Cr),z.update)})},function(Tr){return Tr.remove()}).transitions()};if(!te||!le)return Ut([{line:[[Pe+pt,We+mt],[qe+bt,nt+jt]],className:qc.line.name}]);var Kt=(0,Cn.CR)(le,2),Qt=Kt[0],Vt=Kt[1],vn=qe-Pe,wn=nt-We,kn=(0,Cn.CR)([Pe+vn*Qt,We+wn*Qt],2),Vn=kn[0],vr=kn[1],or=(0,Cn.CR)([Pe+vn*Vt,We+wn*Vt],2),Or=or[0],qr=or[1],wr=Ut([{line:[[Pe+pt,We+mt],[Vn,vr]],className:qc.lineFirst.name},{line:[[Or,qr],[qe+bt,nt+jt]],className:qc.lineSecond.name}]);return QH(b,x),wr}function $H(b,x,E,z){var te=E.showArrow,re=E.showTrunc,oe=E.lineArrow,le=E.lineArrowOffset,he=E.lineArrowSize,ge;if(x==="arc"?ge=b.select(qc.line.class):re?ge=b.select(qc.lineSecond.class):ge=b.select(qc.line.class),!te||!oe||E.type==="arc"&&a6(E.startAngle,E.endAngle)){var Ae=ge.node();Ae&&(Ae.style.markerEnd=void 0);return}var Pe=n1(oe);Pe.attr(z),DD(Pe,he,!0),ge.style("markerEnd",Pe).style("markerEndOffset",-le)}function eV(b,x,E){var z=x.type,te,re=su(x,"line");return z==="linear"?te=qH(b,x,t6(re,"arrow"),E):te=XH(b,x,t6(re,"arrow"),E),$H(b,z,x,re),te}function tV(b,x){return UD(b,x.gridDirection,x)}function u6(b){var x=b.type,E=b.gridCenter;return x==="linear"?E:E||b.center}function nV(b,x){var E=x.gridLength;return b.map(function(z,te){var re=z.value,oe=(0,Cn.CR)(PL(re,x),2),le=oe[0],he=oe[1],ge=(0,Cn.CR)(r1(tV(re,x),E),2),Ae=ge[0],Pe=ge[1];return{id:te,points:[[le,he],[le+Ae,he+Pe]]}})}function rV(b,x){var E=x.gridControlAngles,z=u6(x);if(!z)throw new Error("grid center is not provide");if(b.length<2)throw new Error("Invalid grid data");if(!E||E.length===0)throw new Error("Invalid gridControlAngles");var te=(0,Cn.CR)(z,2),re=te[0],oe=te[1];return b.map(function(le,he){var ge=le.value,Ae=(0,Cn.CR)(PL(ge,x),2),Pe=Ae[0],We=Ae[1],Xe=(0,Cn.CR)([Pe-re,We-oe],2),qe=Xe[0],nt=Xe[1],at=[];return E.forEach(function(pt){var mt=_S(pt),bt=(0,Cn.CR)([Math.cos(mt),Math.sin(mt)],2),jt=bt[0],Ut=bt[1],Kt=qe*jt-nt*Ut+re,Qt=qe*Ut+nt*jt+oe;at.push([Kt,Qt])}),{points:at,id:he}})}function iV(b,x,E,z){var te=su(E,"grid"),re=te.type,oe=te.areaFill,le=u6(E),he=WD(x,E.gridFilter),ge=re==="segment"?nV(he,E):rV(he,E),Ae=(0,Cn.pi)((0,Cn.pi)({},te),{center:le,areaFill:Ys(oe)?he.map(function(Pe,We){return xv(oe,[Pe,We,he])}):oe,animate:z,data:ge});return b.selectAll(qc.grid.class).data([1]).join(function(Pe){return Pe.append(function(){return new WH({style:Ae})}).attr("className",qc.grid.name)},function(Pe){return Pe.transition(function(){return this.update(Ae)})},function(Pe){return Pe.remove()}).transitions()}function jg(b,x,E,z,te){return z===void 0&&(z=!0),te===void 0&&(te=!1),z&&b===x||te&&b===E?!0:b>x&&b<E}function oV(b,x,E,z){E===void 0&&(E=2),z===void 0&&(z="top"),VB(b,{wordWrap:!0,wordWrapWidth:x,maxLines:E,textBaseline:z})}function aV(b,x,E){var z=b.getBBox(),te=z.width,re=z.height,oe=(0,Cn.CR)([x,E].map(function(ge,Ae){var Pe;return ge.includes("%")?parseFloat(((Pe=ge.match(/[+-]?([0-9]*[.])?[0-9]+/))===null||Pe===void 0?void 0:Pe[0])||"0")/100*(Ae===0?te:re):ge}),2),le=oe[0],he=oe[1];return[le,he]}function c6(b,x){if(x)try{var E=/translate\(([+-]*[\d]+[%]*),[ ]*([+-]*[\d]+[%]*)\)/g,z=x.replace(E,function(te,re,oe){return"translate(".concat(aV(b,re,oe),")")});b.attr("transform",z)}catch(te){}}var h6=function(b){return b!==void 0&&b!=null&&!Number.isNaN(b)},GD=function(){function b(x,E,z,te){this.set(x,E,z,te)}return Object.defineProperty(b.prototype,"left",{get:function(){return this.x1},enumerable:!1,configurable:!0}),Object.defineProperty(b.prototype,"top",{get:function(){return this.y1},enumerable:!1,configurable:!0}),Object.defineProperty(b.prototype,"right",{get:function(){return this.x2},enumerable:!1,configurable:!0}),Object.defineProperty(b.prototype,"bottom",{get:function(){return this.y2},enumerable:!1,configurable:!0}),Object.defineProperty(b.prototype,"width",{get:function(){return this.defined("x2")&&this.defined("x1")?this.x2-this.x1:void 0},enumerable:!1,configurable:!0}),Object.defineProperty(b.prototype,"height",{get:function(){return this.defined("y2")&&this.defined("y1")?this.y2-this.y1:void 0},enumerable:!1,configurable:!0}),b.prototype.rotatedPoints=function(x,E,z){var te=this,re=te.x1,oe=te.y1,le=te.x2,he=te.y2,ge=Math.cos(x),Ae=Math.sin(x),Pe=E-E*ge+z*Ae,We=z-E*Ae-z*ge,Xe=[[ge*re-Ae*he+Pe,Ae*re+ge*he+We],[ge*le-Ae*he+Pe,Ae*le+ge*he+We],[ge*re-Ae*oe+Pe,Ae*re+ge*oe+We],[ge*le-Ae*oe+Pe,Ae*le+ge*oe+We]];return Xe},b.prototype.set=function(x,E,z,te){return z<x?(this.x2=x,this.x1=z):(this.x1=x,this.x2=z),te<E?(this.y2=E,this.y1=te):(this.y1=E,this.y2=te),this},b.prototype.defined=function(x){return this[x]!==Number.MAX_VALUE&&this[x]!==-Number.MAX_VALUE},b}();function ML(b,x){var E=b.getEulerAngles()||0;b.setEulerAngles(0);var z=b.getBounds(),te=(0,Cn.CR)(z.min,2),re=te[0],oe=te[1],le=(0,Cn.CR)(z.max,2),he=le[0],ge=le[1],Ae=b.getBBox(),Pe=Ae.width,We=Ae.height,Xe=We,qe=0,nt=0,at=re,pt=oe,mt=HB(b);if(mt){Xe-=1.5;var bt=mt.style.textAlign,jt=mt.style.textBaseline;bt==="center"?at=(re+he)/2:(bt==="right"||bt==="end")&&(at=he),jt==="middle"?pt=(oe+ge)/2:jt==="bottom"&&(pt=ge)}var Ut=(0,Cn.CR)(zg(x),4),Kt=Ut[0],Qt=Kt===void 0?0:Kt,Vt=Ut[1],vn=Vt===void 0?0:Vt,wn=Ut[2],kn=wn===void 0?Qt:wn,Vn=Ut[3],vr=Vn===void 0?vn:Vn,or=new GD((qe+=re)-vr,(nt+=oe)-Qt,qe+Pe+vn,nt+Xe+kn);return b.setEulerAngles(E),or.rotatedPoints(_S(E),at,pt)}function p2(b,x){return x[0]<=Math.max(b[0][0],b[1][0])&&x[0]<=Math.min(b[0][0],b[1][0])&&x[1]<=Math.max(b[0][1],b[1][1])&&x[1]<=Math.min(b[0][1],b[1][1])}function v2(b,x,E){var z=(x[1]-b[1])*(E[0]-x[0])-(x[0]-b[0])*(E[1]-x[1]);return z===0?0:z<0?2:1}function sV(b,x){var E=v2(b[0],b[1],x[0]),z=v2(b[0],b[1],x[1]),te=v2(x[0],x[1],b[0]),re=v2(x[0],x[1],b[1]);return!!(E!==z&&te!==re||E===0&&p2(b,x[0])||z===0&&p2(b,x[1])||te===0&&p2(x,b[0])||re===0&&p2(x,b[1]))}function lV(b,x){var E=b.length;if(E<3)return!1;var z=[x,[9999,x[1]]],te=0,re=0;do{var oe=[b[re],b[(re+1)%E]];if(sV(oe,z)){if(v2(oe[0],x,oe[1])===0)return p2(oe,x);te++}re=(re+1)%E}while(re!==0);return!!(te&1)}function uV(b,x){return x.every(function(E){return lV(b,E)})}function cV(b,x,E){var z=b.x1,te=b.x2,re=b.y1,oe=b.y2,le=[[z,re],[te,re],[te,oe],[z,oe]],he=ML(x,E);return uV(le,he)}function d6(b,x){var E=(0,Cn.CR)(b,4),z=E[0],te=E[1],re=E[2],oe=E[3],le=(0,Cn.CR)(x,4),he=le[0],ge=le[1],Ae=le[2],Pe=le[3],We=re-z,Xe=oe-te,qe=Ae-he,nt=Pe-ge,at=We*nt-qe*Xe;if(at===0)return!1;var pt=at>0,mt=z-he,bt=te-ge,jt=We*bt-Xe*mt;if(jt<0===pt)return!1;var Ut=qe*bt-nt*mt;return!(Ut<0===pt||jt>at===pt||Ut>at===pt)}function f6(b,x){var E=[[b[0],b[1],b[2],b[3]],[b[2],b[3],b[4],b[5]],[b[4],b[5],b[6],b[7]],[b[6],b[7],b[0],b[1]]];return E.some(function(z){return d6(x,z)})}var m$={lineToLine:d6,intersectBoxLine:f6,getBounds:ML};function hV(b,x,E){var z,te,re=ML(b,E).flat(1),oe=ML(x,E).flat(1),le=[[re[0],re[1],re[2],re[3]],[re[0],re[1],re[4],re[5]],[re[4],re[5],re[6],re[7]],[re[2],re[3],re[6],re[7]]];try{for(var he=(0,Cn.XA)(le),ge=he.next();!ge.done;ge=he.next()){var Ae=ge.value;if(f6(oe,Ae))return!0}}catch(Pe){z={error:Pe}}finally{try{ge&&!ge.done&&(te=he.return)&&te.call(he)}finally{if(z)throw z.error}}return!1}function dV(b,x){var E=b.type,z=b.labelDirection,te=b.crossSize;if(!te)return!1;if(E==="arc"){var re=b.center,oe=b.radius,le=(0,Cn.CR)(re,2),he=le[0],ge=le[1],Ae=z==="negative"?0:te,Pe=-oe-Ae,We=oe+Ae,Xe=(0,Cn.CR)(zg(x),4),qe=Xe[0],nt=Xe[1],at=Xe[2],pt=Xe[3];return new GD(he+Pe-pt,ge+Pe-qe,he+We+nt,ge+We+at)}var mt=(0,Cn.CR)(b.startPos,2),bt=mt[0],jt=mt[1],Ut=(0,Cn.CR)(b.endPos,2),Kt=Ut[0],Qt=Ut[1],Vt=(0,Cn.CR)(o6(b)?[-x,0,x,0]:[0,x,0,-x],4),vn=Vt[0],wn=Vt[1],kn=Vt[2],Vn=Vt[3],vr=g2(0,b),or=r1(vr,te),Or=new GD(bt,jt,Kt,Qt);return Or.x1+=Vn,Or.y1+=vn,Or.x2+=wn+or[0],Or.y2+=kn+or[1],Or}function LL(b,x,E){var z,te,re=x.crossPadding,oe=new Set,le=null,he=dV(x,re),ge=function(qe){return he?cV(he,qe):!0},Ae=function(qe,nt){return!qe||!qe.firstChild?!0:!hV(qe.firstChild,nt.firstChild,zg(E))};try{for(var Pe=(0,Cn.XA)(b),We=Pe.next();!We.done;We=Pe.next()){var Xe=We.value;ge(Xe)?!le||Ae(le,Xe)?le=Xe:(oe.add(le),oe.add(Xe)):oe.add(Xe)}}catch(qe){z={error:qe}}finally{try{We&&!We.done&&(te=Pe.return)&&te.call(Pe)}finally{if(z)throw z.error}}return Array.from(oe)}function HD(b,x){return x===void 0&&(x={}),El(b)?0:typeof b=="number"?b:Math.floor(AH(b,x))}function fV(b,x,E,z){if(!(b.length<=1)){var te=x.suffix,re=te===void 0?"...":te,oe=x.minLength,le=x.maxLength,he=le===void 0?1/0:le,ge=x.step,Ae=ge===void 0?" ":ge,Pe=x.margin,We=Pe===void 0?[0,0,0,0]:Pe,Xe=GB(z.getTextShape(b[0])),qe=HD(Ae,Xe),nt=oe?HD(oe,Xe):qe,at=HD(he,Xe);(El(at)||at===1/0)&&(at=Math.max.apply(null,b.map(function(or){return or.getBBox().width})));for(var pt=b.slice(),mt=(0,Cn.CR)(We,4),bt=mt[0],jt=bt===void 0?0:bt,Ut=mt[1],Kt=Ut===void 0?0:Ut,Qt=mt[2],Vt=Qt===void 0?jt:Qt,vn=mt[3],wn=vn===void 0?Kt:vn,kn=function(or){if(pt.forEach(function(Or){z.ellipsis(z.getTextShape(Or),or,re)}),pt=LL(b,E,We),pt.length<1)return{value:void 0}},Vn=at;Vn>nt+qe;Vn-=qe){var vr=kn(Vn);if(typeof vr=="object")return vr.value}}}var gV={parity:function(b,x){var E=x.seq,z=E===void 0?2:E;return b.filter(function(te,re){return re%z?(im(te),!1):!0})}},pV=function(b){return b.filter(h6)};function vV(b,x,E,z){var te=b.length,re=x.keepHeader,oe=x.keepTail;if(!(te<=1||te===2&&re&&oe)){var le=gV.parity,he=function(bt){return bt.forEach(z.show),bt},ge=2,Ae=b.slice(),Pe=b.slice(),We=Math.min.apply(Math,(0,Cn.ev)([1],(0,Cn.CR)(b.map(function(bt){return bt.getBBox().width})),!1));if(E.type==="linear"&&(i6(E)||o6(E))){var Xe=UB(b[0]).left,qe=UB(b[te-1]).right,nt=Math.abs(qe-Xe)||1;ge=Math.max(Math.floor(te*We/nt),ge)}var at,pt;for(re&&(at=Ae.splice(0,1)[0]),oe&&(pt=Ae.splice(-1,1)[0],Ae.reverse()),he(Ae);ge<b.length&&LL(pV(pt?(0,Cn.ev)((0,Cn.ev)([pt],(0,Cn.CR)(Pe),!1),[at],!1):(0,Cn.ev)([at],(0,Cn.CR)(Pe),!1)),E,x==null?void 0:x.margin).length;){if(pt&&!at&&ge%2===0){var mt=Ae.splice(0,1);mt.forEach(z.hide)}else if(pt&&at){var mt=Ae.splice(0,1);mt.forEach(z.hide)}Pe=le(he(Ae),{seq:ge}),ge++}}}function mV(b,x,E,z){var te,re,oe=x.optionalAngles,le=oe===void 0?[0,45,90]:oe,he=x.margin,ge=x.recoverWhenFailed,Ae=ge===void 0?!0:ge,Pe=b.map(function(pt){return pt.getLocalEulerAngles()}),We=function(){return LL(b,E,he).length<1},Xe=function(pt){return b.forEach(function(mt,bt){var jt=Array.isArray(pt)?pt[bt]:pt;z.rotate(mt,+jt)})};try{for(var qe=(0,Cn.XA)(le),nt=qe.next();!nt.done;nt=qe.next()){var at=nt.value;if(Xe(at),We())return}}catch(pt){te={error:pt}}finally{try{nt&&!nt.done&&(re=qe.return)&&re.call(qe)}finally{if(te)throw te.error}}Ae&&Xe(Pe)}function yV(b){var x=b.type,E=b.labelDirection;return x==="linear"&&i6(b)?E==="negative"?"bottom":"top":"middle"}function xV(b,x,E,z){var te=x.wordWrapWidth,re=te===void 0?50:te,oe=x.maxLines,le=oe===void 0?3:oe,he=x.recoverWhenFailed,ge=he===void 0?!0:he,Ae=x.margin,Pe=Ae===void 0?[0,0,0,0]:Ae,We=b.map(function(mt){return mt.attr("maxLines")||1}),Xe=Math.min.apply(Math,(0,Cn.ev)([],(0,Cn.CR)(We),!1)),qe=function(){return LL(b,E,Pe).length<1},nt=yV(E),at=function(mt){return b.forEach(function(bt,jt){var Ut=Array.isArray(mt)?mt[jt]:mt;z.wrap(bt,re,Ut,nt)})};if(!(Xe>le)){for(var pt=Xe;pt<=le;pt++)if(at(pt),qe())return;ge&&at(We)}}var EV=new Map([["hide",vV],["rotate",mV],["ellipsis",fV],["wrap",xV]]);function AV(b,x,E){return x.labelOverlap.length<1?!1:E==="hide"?!DG(b[0]):E==="rotate"?!b.some(function(z){var te;return!!(!((te=z.attr("transform"))===null||te===void 0)&&te.includes("rotate"))}):E==="ellipsis"||E==="wrap"?b.filter(function(z){return z.querySelector("text")}).length>1:!0}function SV(b,x,E){var z=x.labelOverlap,te=z===void 0?[]:z;te.length&&te.forEach(function(re){var oe=re.type,le=EV.get(oe);AV(b,x,oe)&&(le==null||le(b,re,x,E))})}function wV(){for(var b=[],x=0;x<arguments.length;x++)b[x]=arguments[x];var E=function(z){return z==="positive"?-1:1};return b.reduce(function(z,te){return z*E(te)},1)}function g6(b){for(var x=b;x<0;)x+=360;return Math.round(x%360)}function VD(b,x){var E=(0,Cn.CR)(b,2),z=E[0],te=E[1],re=(0,Cn.CR)(x,2),oe=re[0],le=re[1],he=(0,Cn.CR)([z*oe+te*le,z*le-te*oe],2),ge=he[0],Ae=he[1];return Math.atan2(Ae,ge)}function CV(b){var x=(b+360)%180;return jg(x,-90,90)||(x+=180),x}function bV(b,x,E){var z,te=E.labelAlign,re=(z=x.style.transform)===null||z===void 0?void 0:z.includes("rotate");if(re)return x.getLocalEulerAngles();var oe=0,le=g2(b.value,E),he=bL(b.value,E);return te==="horizontal"?0:(te==="perpendicular"?oe=VD([1,0],le):oe=VD([he[0]<0?-1:1,0],he),CV(qB(oe)))}function p6(b,x,E){var z=E.type,te=E.labelAlign,re=g2(b,E),oe=g6(x),le=g6(qB(VD([1,0],re))),he="center",ge="middle";return z==="linear"?[90,270].includes(le)&&oe===0?(he="center",ge=re[1]===1?"top":"bottom"):!(le%180)&&[90,270].includes(oe)?he="center":le===0?(jg(oe,0,90,!1,!0)||jg(oe,0,90)||jg(oe,270,360))&&(he="start"):le===90?jg(oe,0,90,!1,!0)?he="start":(jg(oe,90,180)||jg(oe,270,360))&&(he="end"):le===270?jg(oe,0,90,!1,!0)?he="end":(jg(oe,90,180)||jg(oe,270,360))&&(he="start"):le===180&&(oe===90?he="start":(jg(oe,0,90)||jg(oe,270,360))&&(he="end")):te==="parallel"?jg(le,0,180,!0)?ge="top":ge="bottom":te==="horizontal"?jg(le,90,270,!1)?he="end":(jg(le,270,360,!1)||jg(le,0,90))&&(he="start"):te==="perpendicular"&&(jg(le,90,270)?he="end":he="start"),{textAlign:he,textBaseline:ge}}function PV(b,x,E){x.setLocalEulerAngles(b);var z=x.__data__.value,te=p6(z,b,E),re=x.querySelector(qc.labelItem.class);re&&m6(re,te)}function v6(b,x,E){var z=E.showTick,te=E.tickLength,re=E.tickDirection,oe=E.labelDirection,le=E.labelSpacing,he=x.indexOf(b),ge=xv(le,[b,he,x]),Ae=(0,Cn.CR)([g2(b.value,E),wV(oe,re)],2),Pe=Ae[0],We=Ae[1],Xe=We===1?xv(z?te:0,[b,he,x]):0,qe=(0,Cn.CR)(d2(r1(Pe,ge+Xe),PL(b.value,E)),2),nt=qe[0],at=qe[1];return{x:nt,y:at}}function MV(b,x,E,z){var te=z.labelFormatter,re=Ys(te)?function(){return n1(xv(te,[b,x,E,g2(b.value,z)]))}:function(){return n1(b.label||"")};return re}function m6(b,x){b.nodeName==="text"&&b.attr(x)}function y6(b){SV(this.node().childNodes,b,{hide:im,show:u2,rotate:function(x,E){PV(+E,x,b)},ellipsis:function(x,E,z){x&&ND(x,E||1/0,z)},wrap:function(x,E,z){x&&oV(x,E,z)},getTextShape:function(x){return x.querySelector("text")}})}function x6(b,x,E,z,te){var re=E.indexOf(x),oe=qs(b).append(MV(x,re,E,te)).attr("className",qc.labelItem.name).node(),le=(0,Cn.CR)(t1(n6(z,[x,re,E])),2),he=le[0],ge=le[1],Ae=ge.transform,Pe=(0,Cn._T)(ge,["transform"]);c6(oe,Ae);var We=bV(x,oe,te);return oe.getLocalEulerAngles()||oe.setLocalEulerAngles(We),m6(oe,(0,Cn.pi)((0,Cn.pi)({},p6(x.value,We,te)),he)),b.attr(Pe),oe}function LV(b,x,E,z){var te=WD(x,E.labelFilter),re=su(E,"label");return b.selectAll(qc.label.class).data(te,function(oe,le){return le}).join(function(oe){return oe.append("g").attr("className",qc.label.name).transition(function(le){x6(this,le,x,re,E);var he=v6(le,x,E),ge=he.x,Ae=he.y;return this.style.transform="translate(".concat(ge,", ").concat(Ae,")"),null}).call(function(){y6.call(b,E)})},function(oe){return oe.transition(function(le){var he=this.querySelector(qc.labelItem.class),ge=x6(this,le,x,re,E),Ae=ZG(he,ge,z.update),Pe=v6(le,x,E),We=Pe.x,Xe=Pe.y,qe=am(this,{transform:"translate(".concat(We,", ").concat(Xe,")")},z.update);return(0,Cn.ev)((0,Cn.ev)([],(0,Cn.CR)(Ae),!1),[qe],!1)}).call(function(le){var he=xp(le,"_transitions").flat().filter(h6);VG(he,function(){y6.call(b,E)})})},function(oe){return oe.transition(function(){var le=this,he=CL(this.childNodes[0],z.exit);return FS(he,function(){return qs(le).remove()}),he})}).transitions()}function E6(b,x){return UD(b,x.tickDirection,x)}function TV(b,x){var E=(0,Cn.CR)(b,2),z=E[0],te=E[1];return[[0,0],[z*x,te*x]]}function DV(b,x,E,z,te){var re=te.tickLength,oe=(0,Cn.CR)(TV(z,xv(re,[b,x,E])),2),le=(0,Cn.CR)(oe[0],2),he=le[0],ge=le[1],Ae=(0,Cn.CR)(oe[1],2),Pe=Ae[0],We=Ae[1];return{x1:he,x2:Pe,y1:ge,y2:We}}function IV(b,x,E,z,te){var re=te.tickFormatter,oe=E6(x.value,te),le="line";return Ys(re)&&(le=function(){return xv(re,[x,E,z,oe])}),b.append(le).attr("className",qc.tickItem.name)}function OV(b,x,E,z,te,re,oe){var le=E6(b.value,re),he=DV(b,x,E,le,re),ge=he.x1,Ae=he.x2,Pe=he.y1,We=he.y2,Xe=(0,Cn.CR)(t1(n6(oe,[b,x,E,le])),2),qe=Xe[0],nt=Xe[1];z.node().nodeName==="line"&&z.styles((0,Cn.pi)({x1:ge,x2:Ae,y1:Pe,y2:We},qe)),te.attr(nt),z.styles(qe)}function A6(b,x,E,z,te,re){var oe=IV(qs(this),b,x,E,z);OV(b,x,E,oe,this,z,te);var le=(0,Cn.CR)(PL(b.value,z),2),he=le[0],ge=le[1];return am(this,{transform:"translate(".concat(he,", ").concat(ge,")")},re)}function NV(b,x,E,z){var te=WD(x,E.tickFilter),re=su(E,"tick");return b.selectAll(qc.tick.class).data(te,function(oe){return oe.id||oe.label}).join(function(oe){return oe.append("g").attr("className",qc.tick.name).transition(function(le,he){return A6.call(this,le,he,te,E,re,!1)})},function(oe){return oe.transition(function(le,he){return this.removeChildren(),A6.call(this,le,he,te,E,re,z.update)})},function(oe){return oe.transition(function(){var le=this,he=CL(this.childNodes[0],z.exit);return FS(he,function(){return le.remove()}),he})}).transitions()}function BV(b,x,E){var z=E.titlePosition,te=z===void 0?"lb":z,re=E.titleSpacing,oe=yL(te),le=b.node().getLocalBounds(),he=(0,Cn.CR)(le.min,2),ge=he[0],Ae=he[1],Pe=(0,Cn.CR)(le.halfExtents,2),We=Pe[0],Xe=Pe[1],qe=(0,Cn.CR)(x.node().getLocalBounds().halfExtents,2),nt=qe[0],at=qe[1],pt=(0,Cn.CR)([ge+We,Ae+Xe],2),mt=pt[0],bt=pt[1],jt=(0,Cn.CR)(zg(re),4),Ut=jt[0],Kt=jt[1],Qt=jt[2],Vt=jt[3];if(["start","end"].includes(te)&&E.type==="linear"){var vn=E.startPos,wn=E.endPos,kn=(0,Cn.CR)(te==="start"?[vn,wn]:[wn,vn],2),Vn=kn[0],vr=kn[1],or=JB([-vr[0]+Vn[0],-vr[1]+Vn[1]]),Or=(0,Cn.CR)(r1(or,Ut),2),qr=Or[0],wr=Or[1];return{x:Vn[0]+qr,y:Vn[1]+wr}}return oe.includes("t")&&(bt-=Xe+at+Ut),oe.includes("r")&&(mt+=We+nt+Kt),oe.includes("l")&&(mt-=We+nt+Vt),oe.includes("b")&&(bt+=Xe+at+Qt),{x:mt,y:bt}}function RV(b,x,E){var z=b.getGeometryBounds().halfExtents,te=z[1]*2;if(x==="vertical"){if(E==="left")return"rotate(-90) translate(0, ".concat(te/2,")");if(E==="right")return"rotate(-90) translate(0, -".concat(te/2,")")}return""}function S6(b,x,E,z,te){var re=su(z,"title"),oe=(0,Cn.CR)(t1(re),2),le=oe[0],he=oe[1],ge=he.transform,Ae=he.transformOrigin,Pe=(0,Cn._T)(he,["transform","transformOrigin"]);x.styles(Pe);var We=ge||RV(b.node(),le.direction,le.position);b.styles((0,Cn.pi)((0,Cn.pi)({},le),{transformOrigin:Ae})),c6(b.node(),We);var Xe=BV(qs(E._offscreen||E.querySelector(qc.mainGroup.class)),x,z),qe=Xe.x,nt=Xe.y,at=am(x.node(),{transform:"translate(".concat(qe,", ").concat(nt,")")},te);return at}function kV(b,x,E,z){var te=E.titleText;return b.selectAll(qc.title.class).data([{title:te}].filter(function(re){return!!re.title}),function(re,oe){return re.title}).join(function(re){return re.append(function(){return n1(te)}).attr("className",qc.title.name).transition(function(){return S6(qs(this),b,x,E,z.enter)})},function(re){return re.transition(function(){return S6(qs(this),b,x,E,z.update)})},function(re){return re.remove()}).transitions()}function w6(b,x,E,z){var te=b.showLine,re=b.showTick,oe=b.showLabel,le=x.maybeAppendByClassName(qc.lineGroup,"g"),he=b0(te,le,function(Xe){return eV(Xe,b,z)})||[],ge=x.maybeAppendByClassName(qc.tickGroup,"g"),Ae=b0(re,ge,function(Xe){return NV(Xe,E,b,z)})||[],Pe=x.maybeAppendByClassName(qc.labelGroup,"g"),We=b0(oe,Pe,function(Xe){return LV(Xe,E,b,z)})||[];return(0,Cn.ev)((0,Cn.ev)((0,Cn.ev)([],(0,Cn.CR)(he),!1),(0,Cn.CR)(Ae),!1),(0,Cn.CR)(We),!1).filter(function(Xe){return!!Xe})}var FV=function(b){(0,Cn.ZT)(x,b);function x(E){return b.call(this,E,FD)||this}return x.prototype.render=function(E,z,te){var re=this,oe=E.titleText,le=E.data,he=E.animate,ge=E.showTitle,Ae=E.showGrid,Pe=E.dataThreshold,We=E.truncRange,Xe=OH(le,Pe).filter(function(Ut){var Kt=Ut.value;return!(We&&Kt>We[0]&&Kt<We[1])}),qe=BB(te===void 0?he:te),nt=qs(z).maybeAppendByClassName(qc.gridGroup,"g"),at=b0(Ae,nt,function(Ut){return iV(Ut,Xe,E,qe)})||[],pt=qs(z).maybeAppendByClassName(qc.mainGroup,"g");oe&&(!this.initialized&&qe.enter||this.initialized&&qe.update)&&w6(E,qs(this.offscreenGroup),Xe,BB(!1));var mt=w6(E,qs(pt.node()),Xe,qe),bt=qs(z).maybeAppendByClassName(qc.titleGroup,"g"),jt=b0(ge,bt,function(Ut){return kV(Ut,re,E,qe)})||[];return(0,Cn.ev)((0,Cn.ev)((0,Cn.ev)([],(0,Cn.CR)(at),!1),(0,Cn.CR)(mt),!1),(0,Cn.CR)(jt),!1).flat().filter(function(Ut){return!!Ut})},x}(Bd);function C6(b){var x=b.canvas,E=b.touches,z=b.offsetX,te=b.offsetY;if(x){var re=x.x,oe=x.y;return[re,oe]}if(E){var le=E[0],he=le.clientX,ge=le.clientY;return[he,ge]}return z&&te?[z,te]:[0,0]}function KD(b,x){return+b.toPrecision(x)}function y$(b){return b.toLocaleString()}function x$(b){return b.toExponential()}function E$(b,x){return x===void 0&&(x=0),Math.abs(b)<1e3?String(b):"".concat(KD(b/1e3,x).toLocaleString(),"K")}var A$=function(b,x,E){return b<0&&Number.isFinite(b)?x:E},S$=function(b,x,E){return b>0&&Number.isFinite(b)?x:E},w$=function(b,x){return b*x},C$=function(b,x){return b/2+(x||0)/2},ZD=function(b){return b};class b6{constructor(x){this.options=yp({},this.getDefaultOptions()),this.update(x)}getOptions(){return this.options}update(x={}){this.options=yp({},this.options,x),this.rescale(x)}rescale(x){}}function YD(b,x){return x-b?E=>(E-b)/(x-b):E=>.5}function TL(b,...x){return x.reduce((E,z)=>te=>E(z(te)),b)}function _V(b,x,E,z,te){let re=E||0,oe=z||b.length;const le=te||(he=>he);for(;re<oe;){const he=Math.floor((re+oe)/2);le(b[he])>x?oe=he:re=he+1}return re}var zV=Oe(75196),jV=Oe.n(zV);function XD(b,x,E){let z=E;return z<0&&(z+=1),z>1&&(z-=1),z<1/6?b+(x-b)*6*z:z<1/2?x:z<2/3?b+(x-b)*(2/3-z)*6:b}function WV(b){const x=b[0]/360,E=b[1]/100,z=b[2]/100,te=b[3];if(E===0)return[z*255,z*255,z*255,te];const re=z<.5?z*(1+E):z+E-z*E,oe=2*z-re,le=XD(oe,re,x+1/3),he=XD(oe,re,x),ge=XD(oe,re,x-1/3);return[le*255,he*255,ge*255,te]}function P6(b){const x=jV().get(b);if(!x)return null;const{model:E,value:z}=x;return E==="rgb"?z:E==="hsl"?WV(z):null}const DL=(b,x)=>E=>b*(1-E)+x*E,UV=(b,x)=>{const E=P6(b),z=P6(x);return E===null||z===null?E?()=>b:()=>x:te=>{const re=new Array(4);for(let Ae=0;Ae<4;Ae+=1){const Pe=E[Ae],We=z[Ae];re[Ae]=Pe*(1-te)+We*te}const[oe,le,he,ge]=re;return`rgba(${Math.round(oe)}, ${Math.round(le)}, ${Math.round(he)}, ${ge})`}},GV=(b,x)=>typeof b=="number"&&typeof x=="number"?DL(b,x):typeof b=="string"&&typeof x=="string"?UV(b,x):()=>b,HV=(b,x)=>{const E=DL(b,x);return z=>Math.round(E(z))};function VV(b){return b===null}function M6(b){return!Fl(b)&&!VV(b)&&!Number.isNaN(b)}const QD=Math.sqrt(50),JD=Math.sqrt(10),qD=Math.sqrt(2);function IL(b,x,E){const z=(x-b)/Math.max(0,E),te=Math.floor(Math.log(z)/Math.LN10),re=z/Dx(10,te);return te>=0?(re>=QD?10:re>=JD?5:re>=qD?2:1)*Dx(10,te):-Dx(10,-te)/(re>=QD?10:re>=JD?5:re>=qD?2:1)}function b$(b,x,E){const z=Math.abs(x-b)/Math.max(0,E);let te=Dx(10,Math.floor(Math.log(z)/Math.LN10));const re=z/te;return re>=QD?te*=10:re>=JD?te*=5:re>=qD&&(te*=2),x<b?-te:te}const KV=(b,x,E=5)=>{const z=[b,x];let te=0,re=z.length-1,oe=z[te],le=z[re],he;return le<oe&&([oe,le]=[le,oe],[te,re]=[re,te]),he=IL(oe,le,E),he>0?(oe=Math.floor(oe/he)*he,le=Math.ceil(le/he)*he,he=IL(oe,le,E)):he<0&&(oe=Math.ceil(oe*he)/he,le=Math.floor(le*he)/he,he=IL(oe,le,E)),he>0?(z[te]=Math.floor(oe/he)*he,z[re]=Math.ceil(le/he)*he):he<0&&(z[te]=Math.ceil(oe*he)/he,z[re]=Math.floor(le*he)/he),z};function ZV(b,x){const E=x<b?x:b,z=b>x?b:x;return te=>Math.min(Math.max(E,te),z)}const YV=(b,x,E)=>{const[z,te]=b,[re,oe]=x;let le,he;return z<te?(le=YD(z,te),he=E(re,oe)):(le=YD(te,z),he=E(oe,re)),TL(he,le)},XV=(b,x,E)=>{const z=Math.min(b.length,x.length)-1,te=new Array(z),re=new Array(z),oe=b[0]>b[z],le=oe?[...b].reverse():b,he=oe?[...x].reverse():x;for(let ge=0;ge<z;ge+=1)te[ge]=YD(le[ge],le[ge+1]),re[ge]=E(he[ge],he[ge+1]);return ge=>{const Ae=_V(b,ge,1,z)-1,Pe=te[Ae],We=re[Ae];return TL(We,Pe)(ge)}},L6=(b,x,E,z)=>(Math.min(b.length,x.length)>2?XV:YV)(b,x,z?HV:E);class QV extends b6{getDefaultOptions(){return{domain:[0,1],range:[0,1],nice:!1,clamp:!1,round:!1,interpolate:DL,tickCount:5}}map(x){return M6(x)?this.output(x):this.options.unknown}invert(x){return M6(x)?this.input(x):this.options.unknown}nice(){if(!this.options.nice)return;const[x,E,z,...te]=this.getTickMethodOptions();this.options.domain=this.chooseNice()(x,E,z,...te)}getTicks(){const{tickMethod:x}=this.options,[E,z,te,...re]=this.getTickMethodOptions();return x(E,z,te,...re)}getTickMethodOptions(){const{domain:x,tickCount:E}=this.options,z=x[0],te=x[x.length-1];return[z,te,E]}chooseNice(){return KV}rescale(){this.nice();const[x,E]=this.chooseTransforms();this.composeOutput(x,this.chooseClamp(x)),this.composeInput(x,E,this.chooseClamp(E))}chooseClamp(x){const{clamp:E,range:z}=this.options,te=this.options.domain.map(x),re=Math.min(te.length,z.length);return E?ZV(te[0],te[re-1]):ZD}composeOutput(x,E){const{domain:z,range:te,round:re,interpolate:oe}=this.options,le=L6(z.map(x),te,oe,re);this.output=TL(le,E,x)}composeInput(x,E,z){const{domain:te,range:re}=this.options,oe=L6(re,te.map(x),DL);this.input=TL(E,z,oe)}}const JV=(b,x,E)=>{let z,te,re=b,oe=x;if(re===oe&&E>0)return[re];let le=IL(re,oe,E);if(le===0||!Number.isFinite(le))return[];if(le>0){re=Math.ceil(re/le),oe=Math.floor(oe/le),te=new Array(z=Math.ceil(oe-re+1));for(let he=0;he<z;he+=1)te[he]=(re+he)*le}else{le=-le,re=Math.ceil(re*le),oe=Math.floor(oe*le),te=new Array(z=Math.ceil(oe-re+1));for(let he=0;he<z;he+=1)te[he]=(re+he)/le}return te};class m2 extends QV{getDefaultOptions(){return{domain:[0,1],range:[0,1],unknown:void 0,nice:!1,clamp:!1,round:!1,interpolate:GV,tickMethod:JV,tickCount:5}}chooseTransforms(){return[ZD,ZD]}clone(){return new m2(this.options)}}function T6({map:b,initKey:x},E){const z=x(E);return b.has(z)?b.get(z):E}function qV({map:b,initKey:x},E){const z=x(E);return b.has(z)?b.get(z):(b.set(z,E),E)}function $V({map:b,initKey:x},E){const z=x(E);return b.has(z)&&(E=b.get(z),b.delete(z)),E}function eK(b){return typeof b=="object"?b.valueOf():b}class D6 extends Map{constructor(x){if(super(),this.map=new Map,this.initKey=eK,x!==null)for(const[E,z]of x)this.set(E,z)}get(x){return super.get(T6({map:this.map,initKey:this.initKey},x))}has(x){return super.has(T6({map:this.map,initKey:this.initKey},x))}set(x,E){return super.set(qV({map:this.map,initKey:this.initKey},x),E)}delete(x){return super.delete($V({map:this.map,initKey:this.initKey},x))}}const $D=Symbol("defaultUnknown");function I6(b,x,E){for(let z=0;z<x.length;z+=1)b.has(x[z])||b.set(E(x[z]),z)}function O6(b){const{value:x,from:E,to:z,mapper:te,notFoundReturn:re}=b;let oe=te.get(x);if(oe===void 0){if(re!==$D)return re;oe=E.push(x)-1,te.set(x,oe)}return z[oe%z.length]}function N6(b){return b instanceof Date?x=>`${x}`:typeof b=="object"?x=>JSON.stringify(x):x=>x}class eI extends b6{getDefaultOptions(){return{domain:[],range:[],unknown:$D}}constructor(x){super(x)}map(x){return this.domainIndexMap.size===0&&I6(this.domainIndexMap,this.getDomain(),this.domainKey),O6({value:this.domainKey(x),mapper:this.domainIndexMap,from:this.getDomain(),to:this.getRange(),notFoundReturn:this.options.unknown})}invert(x){return this.rangeIndexMap.size===0&&I6(this.rangeIndexMap,this.getRange(),this.rangeKey),O6({value:this.rangeKey(x),mapper:this.rangeIndexMap,from:this.getRange(),to:this.getDomain(),notFoundReturn:this.options.unknown})}rescale(x){const[E]=this.options.domain,[z]=this.options.range;if(this.domainKey=N6(E),this.rangeKey=N6(z),!this.rangeIndexMap){this.rangeIndexMap=new Map,this.domainIndexMap=new Map;return}(!x||x.range)&&this.rangeIndexMap.clear(),(!x||x.domain||x.compare)&&(this.domainIndexMap.clear(),this.sortedDomain=void 0)}clone(){return new eI(this.options)}getRange(){return this.options.range}getDomain(){if(this.sortedDomain)return this.sortedDomain;const{domain:x,compare:E}=this.options;return this.sortedDomain=E?[...x].sort(E):x,this.sortedDomain}}function tK(b){const x=Math.min(...b);return b.map(E=>E/x)}function nK(b,x){const E=b.length,z=x-E;return z>0?[...b,...new Array(z).fill(1)]:z<0?b.slice(0,x):b}function rK(b){return Math.round(b*1e12)/1e12}function iK(b){const{domain:x,range:E,paddingOuter:z,paddingInner:te,flex:re,round:oe,align:le}=b,he=x.length,ge=nK(re,he),[Ae,Pe]=E,We=Pe-Ae,Xe=2/he*z+1-1/he*te,qe=We/Xe,nt=qe*te/he,at=qe-he*nt,pt=tK(ge),mt=pt.reduce((Vn,vr)=>Vn+vr),bt=at/mt,jt=new D6(x.map((Vn,vr)=>{const or=pt[vr]*bt;return[Vn,oe?Math.floor(or):or]})),Ut=new D6(x.map((Vn,vr)=>{const Or=pt[vr]*bt+nt;return[Vn,oe?Math.floor(Or):Or]})),Kt=Array.from(Ut.values()).reduce((Vn,vr)=>Vn+vr),Vt=(We-(Kt-Kt/he*te))*le,vn=Ae+Vt;let wn=oe?Math.round(vn):vn;const kn=new Array(he);for(let Vn=0;Vn<he;Vn+=1){kn[Vn]=rK(wn);const vr=x[Vn];wn+=Ut.get(vr)}return{valueBandWidth:jt,valueStep:Ut,adjustedRange:kn}}function oK(b){var x;const{domain:E}=b,z=E.length;if(z===0)return{valueBandWidth:void 0,valueStep:void 0,adjustedRange:[]};if(!!(!((x=b.flex)===null||x===void 0)&&x.length))return iK(b);const{range:re,paddingOuter:oe,paddingInner:le,round:he,align:ge}=b;let Ae,Pe,We=re[0];const qe=re[1]-We,nt=oe*2,at=z-le;Ae=qe/Math.max(1,nt+at),he&&(Ae=Math.floor(Ae)),We+=(qe-Ae*(z-le))*ge,Pe=Ae*(1-le),he&&(We=Math.round(We),Pe=Math.round(Pe));const pt=new Array(z).fill(0).map((mt,bt)=>We+bt*Ae);return{valueStep:Ae,valueBandWidth:Pe,adjustedRange:pt}}class tI extends eI{getDefaultOptions(){return{domain:[],range:[0,1],align:.5,round:!1,paddingInner:0,paddingOuter:0,padding:0,unknown:$D,flex:[]}}constructor(x){super(x)}clone(){return new tI(this.options)}getStep(x){return this.valueStep===void 0?1:typeof this.valueStep=="number"?this.valueStep:x===void 0?Array.from(this.valueStep.values())[0]:this.valueStep.get(x)}getBandWidth(x){return this.valueBandWidth===void 0?1:typeof this.valueBandWidth=="number"?this.valueBandWidth:x===void 0?Array.from(this.valueBandWidth.values())[0]:this.valueBandWidth.get(x)}getRange(){return this.adjustedRange}getPaddingInner(){const{padding:x,paddingInner:E}=this.options;return x>0?x:E}getPaddingOuter(){const{padding:x,paddingOuter:E}=this.options;return x>0?x:E}rescale(){super.rescale();const{align:x,domain:E,range:z,round:te,flex:re}=this.options,{adjustedRange:oe,valueBandWidth:le,valueStep:he}=oK({align:x,range:z,round:te,flex:re,paddingInner:this.getPaddingInner(),paddingOuter:this.getPaddingOuter(),domain:E});this.valueStep=he,this.valueBandWidth=le,this.adjustedRange=oe}}var aK=function(b){(0,Cn.ZT)(x,b);function x(E){var z=this,te=E.style,re=(0,Cn._T)(E,["style"]);return z=b.call(this,yp({},{type:"column"},(0,Cn.pi)({style:te},re)))||this,z.columnsGroup=new Oh({name:"columns"}),z.appendChild(z.columnsGroup),z.render(),z}return x.prototype.render=function(){var E=this.attributes,z=E.columns,te=E.x,re=E.y;this.columnsGroup.style.transform="translate(".concat(te,", ").concat(re,")"),qs(this.columnsGroup).selectAll(".column").data(z.flat()).join(function(oe){return oe.append("rect").attr("className","column").each(function(le){this.attr(le)})},function(oe){return oe.each(function(le){this.attr(le)})},function(oe){return oe.remove()})},x.prototype.update=function(E){this.attr(pg({},this.attributes,E)),this.render()},x.prototype.clear=function(){this.removeChildren()},x}(Zu),sK=function(b){(0,Cn.ZT)(x,b);function x(E){var z=this,te=E.style,re=(0,Cn._T)(E,["style"]);return z=b.call(this,yp({},{type:"lines"},(0,Cn.pi)({style:te},re)))||this,z.linesGroup=z.appendChild(new Oh),z.areasGroup=z.appendChild(new Oh),z.render(),z}return x.prototype.render=function(){var E=this.attributes,z=E.lines,te=E.areas,re=E.x,oe=E.y;this.style.transform="translate(".concat(re,", ").concat(oe,")"),z&&this.renderLines(z),te&&this.renderAreas(te)},x.prototype.clear=function(){this.linesGroup.removeChildren(),this.areasGroup.removeChildren()},x.prototype.update=function(E){this.attr(pg({},this.attributes,E)),this.render()},x.prototype.renderLines=function(E){qs(this.linesGroup).selectAll(".line").data(E).join(function(z){return z.append("path").attr("className","line").each(function(te){this.attr(te)})},function(z){return z.each(function(te){this.attr(te)})},function(z){return z.remove()})},x.prototype.renderAreas=function(E){qs(this.linesGroup).selectAll(".area").data(E).join(function(z){return z.append("path").attr("className","area").each(function(te){this.attr(te)})},function(z){return z.each(function(te){this.style(te)})},function(z){return z.remove()})},x}(Zu);function lK(b,x,E,z){var te,re=[],oe=!!z,le,he,ge=[1/0,1/0],Ae=[-1/0,-1/0],Pe,We,Xe;if(oe){te=(0,Cn.CR)(z,2),ge=te[0],Ae=te[1];for(var qe=0,nt=b.length;qe<nt;qe+=1){var at=b[qe];ge=XE(ge,at),Ae=QE(Ae,at)}}for(var qe=0,pt=b.length;qe<pt;qe+=1){var at=b[qe];if(qe===0&&!E)Xe=at;else if(qe===pt-1&&!E)We=at,re.push(Xe),re.push(We);else{var mt=[qe?qe-1:pt-1,qe-1][E?0:1];le=b[mt],he=b[E?(qe+1)%pt:qe+1];var bt=[0,0];bt=_D(he,le),bt=r1(bt,x);var jt=f2(at,le),Ut=f2(at,he),Kt=jt+Ut;Kt!==0&&(jt/=Kt,Ut/=Kt);var Qt=r1(bt,-jt),Vt=r1(bt,Ut);We=d2(at,Qt),Pe=d2(at,Vt),Pe=XE(Pe,QE(he,at)),Pe=QE(Pe,XE(he,at)),Qt=_D(Pe,at),Qt=r1(Qt,-jt/Ut),We=d2(at,Qt),We=XE(We,QE(le,at)),We=QE(We,XE(le,at)),Vt=_D(at,We),Vt=r1(Vt,Ut/jt),Pe=d2(at,Vt),oe&&(We=QE(We,ge),We=XE(We,Ae),Pe=QE(Pe,ge),Pe=XE(Pe,Ae)),re.push(Xe),re.push(We),Xe=Pe}}return E&&re.push(re.shift()),re}function uK(b,x,E){var z;x===void 0&&(x=!1),E===void 0&&(E=[[0,0],[1,1]]);for(var te=!!x,re=[],oe=0,le=b.length;oe<le;oe+=2)re.push([b[oe],b[oe+1]]);for(var he=lK(re,.4,te,E),ge=re.length,Ae=[],Pe,We,Xe,oe=0;oe<ge-1;oe+=1)Pe=he[oe*2],We=he[oe*2+1],Xe=re[oe+1],Ae.push(["C",Pe[0],Pe[1],We[0],We[1],Xe[0],Xe[1]]);return te&&(Pe=he[ge],We=he[ge+1],z=(0,Cn.CR)(re,1),Xe=z[0],Ae.push(["C",Pe[0],Pe[1],We[0],We[1],Xe[0],Xe[1]])),Ae}function cK(b,x){var E,z=x.x,te=x.y,re=(0,Cn.CR)(te.getOptions().range||[0,0],2),oe=re[0],le=re[1];return le>oe&&(E=(0,Cn.CR)([oe,le],2),le=E[0],oe=E[1]),b.map(function(he){var ge=he.map(function(Ae,Pe){return[z.map(Pe),Sh(te.map(Ae),le,oe)]});return ge})}function y2(b,x){x===void 0&&(x=!1);var E=x?b.length-1:0,z=b.map(function(te,re){return(0,Cn.ev)([re===E?"M":"L"],(0,Cn.CR)(te),!1)});return x?z.reverse():z}function OL(b,x){if(x===void 0&&(x=!1),b.length<=2)return y2(b);for(var E=[],z=b.length,te=0;te<z;te+=1){var re=x?b[z-te-1]:b[te];Qd(re,E.slice(-2))||E.push.apply(E,(0,Cn.ev)([],(0,Cn.CR)(re),!1))}var oe=uK(E,!1);return x?oe.unshift((0,Cn.ev)(["M"],(0,Cn.CR)(b[z-1]),!1)):oe.unshift((0,Cn.ev)(["M"],(0,Cn.CR)(b[0]),!1)),oe}function nI(b,x,E){var z=wS(b);return z.push(["L",x,E],["L",0,E],["Z"]),z}function hK(b,x,E,z){return b.map(function(te){return nI(x?OL(te):y2(te),E,z)})}function dK(b,x,E){for(var z=[],te=b.length-1;te>=0;te-=1){var re=b[te],oe=y2(re),le=void 0;if(te===0)le=nI(oe,x,E);else{var he=b[te-1],ge=y2(he,!0);ge[0][0]="L",le=(0,Cn.ev)((0,Cn.ev)((0,Cn.ev)([],(0,Cn.CR)(oe),!1),(0,Cn.CR)(ge),!1),[["Z"]],!1)}z.push(le)}return z}function fK(b,x,E){for(var z=[],te=b.length-1;te>=0;te-=1){var re=b[te],oe=OL(re),le=void 0;if(te===0)le=nI(oe,x,E);else{var he=b[te-1],ge=OL(he,!0),Ae=re[0];ge[0][0]="L",le=(0,Cn.ev)((0,Cn.ev)((0,Cn.ev)([],(0,Cn.CR)(oe),!1),(0,Cn.CR)(ge),!1),[(0,Cn.ev)(["M"],(0,Cn.CR)(Ae),!1),["Z"]],!1)}z.push(le)}return z}var gK=function(b,x){if(Df(b)){for(var E,z=1/0,te=0;te<b.length;te++){var re=b[te],oe=Ys(x)?x(re):re[x];oe<z&&(E=re,z=oe)}return E}},pK=function(b,x){if(Df(b)){for(var E,z=-1/0,te=0;te<b.length;te++){var re=b[te],oe=Ys(x)?x(re):re[x];oe>z&&(E=re,z=oe)}return E}};function B6(b){return b.length===0?[0,0]:[Wx(gK(b,function(x){return Wx(x)||0})),Ux(pK(b,function(x){return Ux(x)||0}))]}function R6(b){for(var x=wS(b),E=x[0].length,z=(0,Cn.CR)([Array(E).fill(0),Array(E).fill(0)],2),te=z[0],re=z[1],oe=0;oe<x.length;oe+=1)for(var le=x[oe],he=0;he<E;he+=1)le[he]>=0?(le[he]+=te[he],te[he]=le[he]):(le[he]+=re[he],re[he]=le[he]);return x}var vK=function(b){(0,Cn.ZT)(x,b);function x(E){return b.call(this,E,{type:"line",x:0,y:0,width:200,height:20,isStack:!1,color:["#83daad","#edbf45","#d2cef9","#e290b3","#6f63f4"],smooth:!0,lineLineWidth:1,areaOpacity:0,isGroup:!1,columnLineWidth:1,columnStroke:"#fff",scale:1,spacing:0})||this}return Object.defineProperty(x.prototype,"rawData",{get:function(){var E=this.attributes.data;if(!E||(E==null?void 0:E.length)===0)return[[]];var z=wS(E);return As(z[0])?[z]:z},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"data",{get:function(){return this.attributes.isStack?R6(this.rawData):this.rawData},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"scales",{get:function(){return this.createScales(this.data)},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"baseline",{get:function(){var E=this.scales.y,z=(0,Cn.CR)(E.getOptions().domain||[0,0],2),te=z[0],re=z[1];return re<0?E.map(re):E.map(te<0?0:te)},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"containerShape",{get:function(){var E=this.attributes,z=E.width,te=E.height;return{width:z,height:te}},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"linesStyle",{get:function(){var E=this,z=this.attributes,te=z.type,re=z.isStack,oe=z.smooth;if(te!=="line")throw new Error("linesStyle can only be used in line type");var le=su(this.attributes,"area"),he=su(this.attributes,"line"),ge=this.containerShape.width,Ae=this.data;if(Ae[0].length===0)return{lines:[],areas:[]};var Pe=this.scales,We=Pe.x,Xe=Pe.y,qe=cK(Ae,{type:"line",x:We,y:Xe}),nt=[];if(le){var at=this.baseline;re?nt=oe?fK(qe,ge,at):dK(qe,ge,at):nt=hK(qe,oe,ge,at)}return{lines:qe.map(function(pt,mt){return(0,Cn.pi)({stroke:E.getColor(mt),d:oe?OL(pt):y2(pt)},he)}),areas:nt.map(function(pt,mt){return(0,Cn.pi)({d:pt,fill:E.getColor(mt)},le)})}},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"columnsStyle",{get:function(){var E=this,z=su(this.attributes,"column"),te=this.attributes,re=te.isStack,oe=te.type,le=te.scale;if(oe!=="column")throw new Error("columnsStyle can only be used in column type");var he=this.containerShape.height,ge=this.rawData;if(!ge)return{columns:[]};re&&(ge=R6(ge));var Ae=this.createScales(ge),Pe=Ae.x,We=Ae.y,Xe=(0,Cn.CR)(B6(ge),2),qe=Xe[0],nt=Xe[1],at=new m2({domain:[0,nt-(qe>0?0:qe)],range:[0,he*le]}),pt=Pe.getBandWidth(),mt=this.rawData;return{columns:ge.map(function(bt,jt){return bt.map(function(Ut,Kt){var Qt=pt/ge.length,Vt=function(){return{x:Pe.map(Kt)+Qt*jt,y:Ut>=0?We.map(Ut):We.map(0),width:Qt,height:at.map(Math.abs(Ut))}},vn=function(){return{x:Pe.map(Kt),y:We.map(Ut),width:pt,height:at.map(mt[jt][Kt])}};return(0,Cn.pi)((0,Cn.pi)({fill:E.getColor(jt)},z),re?vn():Vt())})})}},enumerable:!1,configurable:!0}),x.prototype.render=function(E,z){_G(z,".container","rect").attr("className","container").node();var te=E.type,re=E.x,oe=E.y,le="spark".concat(te),he=(0,Cn.pi)({x:re,y:oe},te==="line"?this.linesStyle:this.columnsStyle);qs(z).selectAll(".spark").data([te]).join(function(ge){return ge.append(function(Ae){return Ae==="line"?new sK({className:le,style:he}):new aK({className:le,style:he})}).attr("className","spark ".concat(le))},function(ge){return ge.update(he)},function(ge){return ge.remove()})},x.prototype.getColor=function(E){var z=this.attributes.color;return Df(z)?z[E%z.length]:Ys(z)?z.call(null,E):z},x.prototype.createScales=function(E){var z,te,re=this.attributes,oe=re.type,le=re.scale,he=re.range,ge=he===void 0?[]:he,Ae=re.spacing,Pe=this.containerShape,We=Pe.width,Xe=Pe.height,qe=(0,Cn.CR)(B6(E),2),nt=qe[0],at=qe[1],pt=new m2({domain:[(z=ge[0])!==null&&z!==void 0?z:nt,(te=ge[1])!==null&&te!==void 0?te:at],range:[Xe,Xe*(1-le)]});return oe==="line"?{type:oe,x:new m2({domain:[0,E[0].length-1],range:[0,We]}),y:pt}:{type:oe,x:new tI({domain:E[0].map(function(mt,bt){return bt}),range:[0,We],paddingInner:Ae,paddingOuter:Ae/2,align:.5}),y:pt}},x.tag="sparkline",x}(Bd),k6={fill:"#fff",lineWidth:1,radius:2,size:10,stroke:"#bfbfbf",strokeOpacity:1,zIndex:0},F6={fill:"#000",fillOpacity:.45,fontSize:12,textAlign:"center",textBaseline:"middle",zIndex:1},_6={x:0,y:0,orientation:"horizontal",showLabel:!0,type:"start"},$m=om({foreground:"foreground",handle:"handle",selection:"selection",sparkline:"sparkline",sparklineGroup:"sparkline-group",track:"track",brushArea:"brush-area"},"slider"),wx=om({labelGroup:"label-group",label:"label",iconGroup:"icon-group",icon:"icon",iconRect:"icon-rect",iconLine:"icon-line"},"handle"),mK=function(b){(0,Cn.ZT)(x,b);function x(){return b!==null&&b.apply(this,arguments)||this}return x.prototype.render=function(E,z){var te=E.x,re=E.y,oe=E.size,le=oe===void 0?10:oe,he=E.radius,ge=he===void 0?le/4:he,Ae=E.orientation,Pe=(0,Cn._T)(E,["x","y","size","radius","orientation"]),We=le,Xe=We*2.4,qe=qs(z).maybeAppendByClassName(wx.iconRect,"rect").styles((0,Cn.pi)((0,Cn.pi)({},Pe),{width:We,height:Xe,radius:ge,x:te-We/2,y:re-Xe/2,transformOrigin:"center"})),nt=te+1/3*We-We/2,at=te+2/3*We-We/2,pt=re+1/4*Xe-Xe/2,mt=re+3/4*Xe-Xe/2;qe.maybeAppendByClassName("".concat(wx.iconLine,"-1"),"line").styles((0,Cn.pi)({x1:nt,x2:nt,y1:pt,y2:mt},Pe)),qe.maybeAppendByClassName("".concat(wx.iconLine,"-2"),"line").styles((0,Cn.pi)({x1:at,x2:at,y1:pt,y2:mt},Pe)),Ae==="vertical"&&(qe.node().style.transform="rotate(90)")},x}(Bd),yK=function(b){(0,Cn.ZT)(x,b);function x(E){return b.call(this,E,_6)||this}return x.prototype.renderLabel=function(E){var z=this,te=this.attributes,re=te.x,oe=te.y,le=te.showLabel,he=su(this.attributes,"label"),ge=he.x,Ae=ge===void 0?0:ge,Pe=he.y,We=Pe===void 0?0:Pe,Xe=he.transform,qe=he.transformOrigin,nt=(0,Cn._T)(he,["x","y","transform","transformOrigin"]),at=(0,Cn.CR)(t1(nt,[]),2),pt=at[0],mt=at[1],bt=qs(E).maybeAppendByClassName(wx.labelGroup,"g").styles(mt),jt=(0,Cn.pi)((0,Cn.pi)({},F6),pt),Ut=jt.text,Kt=(0,Cn._T)(jt,["text"]);b0(!!le,bt,function(Qt){z.label=Qt.maybeAppendByClassName(wx.label,"text").styles((0,Cn.pi)((0,Cn.pi)({},Kt),{x:re+Ae,y:oe+We,transform:Xe,transformOrigin:qe,text:"".concat(Ut)})),z.label.on("mousedown",function(Vt){Vt.stopPropagation()}),z.label.on("touchstart",function(Vt){Vt.stopPropagation()})})},x.prototype.renderIcon=function(E){var z=this.attributes,te=z.x,re=z.y,oe=z.orientation,le=z.type,he=(0,Cn.pi)((0,Cn.pi)({x:te,y:re,orientation:oe},k6),su(this.attributes,"icon")),ge=this.attributes.iconShape,Ae=ge===void 0?function(){return new mK({style:he})}:ge,Pe=qs(E).maybeAppendByClassName(wx.iconGroup,"g");Pe.selectAll(wx.icon.class).data([Ae]).join(function(We){return We.append(typeof Ae=="string"?Ae:function(){return Ae(le)}).attr("className",wx.icon.name)},function(We){return We.update(he)},function(We){return We.remove()})},x.prototype.render=function(E,z){this.renderIcon(z),this.renderLabel(z)},x}(Bd),xK=function(b){(0,Cn.ZT)(x,b);function x(E){var z=b.call(this,E,(0,Cn.pi)((0,Cn.pi)((0,Cn.pi)({x:0,y:0,animate:{duration:100,fill:"both"},brushable:!0,formatter:function(te){return te.toString()},handleSpacing:2,orientation:"horizontal",padding:0,autoFitLabel:!0,scrollable:!0,selectionFill:"#5B8FF9",selectionFillOpacity:.45,selectionZIndex:2,showHandle:!0,showLabel:!0,slidable:!0,trackFill:"#416180",trackLength:200,trackOpacity:.05,trackSize:20,trackZIndex:-1,values:[0,1],type:"range",selectionType:"select",handleIconOffset:0},kS(_6,"handle")),kS(k6,"handleIcon")),kS(F6,"handleLabel")))||this;return z.range=[0,1],z.onDragStart=function(te){return function(re){re.stopPropagation(),z.target=te,z.prevPos=z.getOrientVal(C6(re));var oe=z.availableSpace,le=oe.x,he=oe.y,ge=z.getBBox(),Ae=ge.x,Pe=ge.y;z.selectionStartPos=z.getRatio(z.prevPos-z.getOrientVal([le,he])-z.getOrientVal([+Ae,+Pe])),z.selectionWidth=0,document.addEventListener("pointermove",z.onDragging),document.addEventListener("pointerup",z.onDragEnd)}},z.onDragging=function(te){var re=z.attributes,oe=re.slidable,le=re.brushable,he=re.type;te.stopPropagation();var ge=z.getOrientVal(C6(te)),Ae=ge-z.prevPos;if(Ae){var Pe=z.getRatio(Ae);switch(z.target){case"start":oe&&z.setValuesOffset(Pe);break;case"end":oe&&z.setValuesOffset(0,Pe);break;case"selection":oe&&z.setValuesOffset(Pe,Pe);break;case"track":if(!le)return;z.selectionWidth+=Pe,he==="range"?z.innerSetValues([z.selectionStartPos,z.selectionStartPos+z.selectionWidth].sort(),!0):z.innerSetValues([0,z.selectionStartPos+z.selectionWidth],!0);break;default:break}z.prevPos=ge}},z.onDragEnd=function(){document.removeEventListener("pointermove",z.onDragging),document.removeEventListener("pointermove",z.onDragging),document.removeEventListener("pointerup",z.onDragEnd),z.target="",z.updateHandlesPosition(!1)},z.onValueChange=function(te){var re=z.attributes,oe=re.onChange,le=re.type,he=le==="range"?te:te[1],ge=le==="range"?z.getValues():z.getValues()[1],Ae=new se("valuechange",{detail:{oldValue:he,value:ge}});z.dispatchEvent(Ae),oe==null||oe(ge)},z.selectionStartPos=0,z.selectionWidth=0,z.prevPos=0,z.target="",z}return Object.defineProperty(x.prototype,"values",{get:function(){return this.attributes.values},set:function(E){this.attributes.values=this.clampValues(E)},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"sparklineStyle",{get:function(){var E=this.attributes.orientation;if(E!=="horizontal")return null;var z=su(this.attributes,"sparkline");return(0,Cn.pi)((0,Cn.pi)({zIndex:0},this.availableSpace),z)},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"shape",{get:function(){var E=this.attributes,z=E.trackLength,te=E.trackSize,re=(0,Cn.CR)(this.getOrientVal([[z,te],[te,z]]),2),oe=re[0],le=re[1];return{width:oe,height:le}},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"availableSpace",{get:function(){var E=this.attributes,z=E.x,te=E.y,re=E.padding,oe=(0,Cn.CR)(zg(re),4),le=oe[0],he=oe[1],ge=oe[2],Ae=oe[3],Pe=this.shape,We=Pe.width,Xe=Pe.height;return{x:Ae,y:le,width:We-(Ae+he),height:Xe-(le+ge)}},enumerable:!1,configurable:!0}),x.prototype.getValues=function(){return this.values},x.prototype.setValues=function(E,z){E===void 0&&(E=[0,0]),z===void 0&&(z=!1),this.attributes.values=E;var te=z===!1?!1:this.attributes.animate;this.updateSelectionArea(te),this.updateHandlesPosition(te)},x.prototype.updateSelectionArea=function(E){var z=this.calcSelectionArea();this.foregroundGroup.selectAll($m.selection.class).each(function(te,re){am(this,z[re],E)})},x.prototype.updateHandlesPosition=function(E){this.attributes.showHandle&&(this.startHandle&&am(this.startHandle,this.getHandleStyle("start"),E),this.endHandle&&am(this.endHandle,this.getHandleStyle("end"),E))},x.prototype.innerSetValues=function(E,z){E===void 0&&(E=[0,0]),z===void 0&&(z=!1);var te=this.values,re=this.clampValues(E);this.attributes.values=re,this.setValues(re),z&&this.onValueChange(te)},x.prototype.renderTrack=function(E){var z=this.attributes,te=z.x,re=z.y,oe=su(this.attributes,"track");this.trackShape=qs(E).maybeAppendByClassName($m.track,"rect").styles((0,Cn.pi)((0,Cn.pi)({x:te,y:re},this.shape),oe))},x.prototype.renderBrushArea=function(E){var z=this.attributes,te=z.x,re=z.y,oe=z.brushable;this.brushArea=qs(E).maybeAppendByClassName($m.brushArea,"rect").styles((0,Cn.pi)({x:te,y:re,fill:"transparent",cursor:oe?"crosshair":"default"},this.shape))},x.prototype.renderSparkline=function(E){var z=this,te=this.attributes,re=te.x,oe=te.y,le=te.orientation,he=qs(E).maybeAppendByClassName($m.sparklineGroup,"g");b0(le==="horizontal",he,function(ge){var Ae=(0,Cn.pi)((0,Cn.pi)({},z.sparklineStyle),{x:re,y:oe});ge.maybeAppendByClassName($m.sparkline,function(){return new vK({style:Ae})}).update(Ae)})},x.prototype.renderHandles=function(){var E=this,z,te=this.attributes,re=te.showHandle,oe=te.type,le=oe==="range"?["start","end"]:["end"],he=re?le:[],ge=this;(z=this.foregroundGroup)===null||z===void 0||z.selectAll($m.handle.class).data(he.map(function(Ae){return{type:Ae}}),function(Ae){return Ae.type}).join(function(Ae){return Ae.append(function(Pe){var We=Pe.type;return new yK({style:E.getHandleStyle(We)})}).each(function(Pe){var We=Pe.type;this.attr("class","".concat($m.handle.name," ").concat(We,"-handle"));var Xe="".concat(We,"Handle");ge[Xe]=this,this.addEventListener("pointerdown",ge.onDragStart(We))})},function(Ae){return Ae.each(function(Pe){var We=Pe.type;this.update(ge.getHandleStyle(We))})},function(Ae){return Ae.each(function(Pe){var We=Pe.type,Xe="".concat(We,"Handle");ge[Xe]=void 0}).remove()})},x.prototype.renderSelection=function(E){var z=this.attributes,te=z.x,re=z.y,oe=z.type,le=z.selectionType;this.foregroundGroup=qs(E).maybeAppendByClassName($m.foreground,"g");var he=su(this.attributes,"selection"),ge=function(Pe){return Pe.style("visibility",function(We){return We.show?"visible":"hidden"}).style("cursor",function(We){return le==="select"?"grab":le==="invert"?"crosshair":"default"}).styles((0,Cn.pi)((0,Cn.pi)({},he),{transform:"translate(".concat(te,", ").concat(re,")")}))},Ae=this;this.foregroundGroup.selectAll($m.selection.class).data(oe==="value"?[]:this.calcSelectionArea().map(function(Pe,We){return{style:(0,Cn.pi)({},Pe),index:We,show:le==="select"?We===1:We!==1}}),function(Pe){return Pe.index}).join(function(Pe){return Pe.append("rect").attr("className",$m.selection.name).call(ge).each(function(We,Xe){var qe=this;Xe===1?(Ae.selectionShape=qs(this),this.on("pointerdown",function(nt){qe.attr("cursor","grabbing"),Ae.onDragStart("selection")(nt)}),Ae.dispatchCustomEvent(this,"pointerenter","selectionMouseenter"),Ae.dispatchCustomEvent(this,"pointerleave","selectionMouseleave"),Ae.dispatchCustomEvent(this,"click","selectionClick"),this.addEventListener("pointerdown",function(){qe.attr("cursor","grabbing")}),this.addEventListener("pointerup",function(){qe.attr("cursor","pointer")}),this.addEventListener("pointerover",function(){qe.attr("cursor","pointer")})):this.on("pointerdown",Ae.onDragStart("track"))})},function(Pe){return Pe.call(ge)},function(Pe){return Pe.remove()}),this.updateSelectionArea(!1),this.renderHandles()},x.prototype.render=function(E,z){this.renderTrack(z),this.renderSparkline(z),this.renderBrushArea(z),this.renderSelection(z)},x.prototype.clampValues=function(E,z){var te;z===void 0&&(z=4);var re=(0,Cn.CR)(this.range,2),oe=re[0],le=re[1],he=(0,Cn.CR)(this.getValues().map(function(at){return KD(at,z)}),2),ge=he[0],Ae=he[1],Pe=Array.isArray(E)?E:[ge,E!=null?E:Ae],We=(0,Cn.CR)((Pe||[ge,Ae]).map(function(at){return KD(at,z)}),2),Xe=We[0],qe=We[1];if(this.attributes.type==="value")return[0,Sh(qe,oe,le)];Xe>qe&&(te=(0,Cn.CR)([qe,Xe],2),Xe=te[0],qe=te[1]);var nt=qe-Xe;return nt>le-oe?[oe,le]:Xe<oe?ge===oe&&Ae===qe?[oe,qe]:[oe,nt+oe]:qe>le?Ae===le&&ge===Xe?[Xe,le]:[le-nt,le]:[Xe,qe]},x.prototype.calcSelectionArea=function(E){var z=(0,Cn.CR)(this.clampValues(E),2),te=z[0],re=z[1],oe=this.availableSpace,le=oe.x,he=oe.y,ge=oe.width,Ae=oe.height;return this.getOrientVal([[{y:he,height:Ae,x:le,width:te*ge},{y:he,height:Ae,x:te*ge+le,width:(re-te)*ge},{y:he,height:Ae,x:re*ge,width:(1-re)*ge}],[{x:le,width:ge,y:he,height:te*Ae},{x:le,width:ge,y:te*Ae+he,height:(re-te)*Ae},{x:le,width:ge,y:re*Ae,height:(1-re)*Ae}]])},x.prototype.calcHandlePosition=function(E){var z=this.attributes.handleIconOffset,te=this.availableSpace,re=te.x,oe=te.y,le=te.width,he=te.height,ge=(0,Cn.CR)(this.clampValues(),2),Ae=ge[0],Pe=ge[1],We=E==="start"?-z:z,Xe=(E==="start"?Ae:Pe)*this.getOrientVal([le,he])+We;return{x:re+this.getOrientVal([Xe,le/2]),y:oe+this.getOrientVal([he/2,Xe])}},x.prototype.inferTextStyle=function(E){var z=this.attributes.orientation;return z==="horizontal"?{}:E==="start"?{transformOrigin:"left center",transform:"rotate(90)",textAlign:"start"}:E==="end"?{transformOrigin:"right center",transform:"rotate(90)",textAlign:"end"}:{}},x.prototype.calcHandleText=function(E){var z,te=this.attributes,re=te.type,oe=te.orientation,le=te.formatter,he=te.autoFitLabel,ge=su(this.attributes,"handle"),Ae=su(ge,"label"),Pe=ge.spacing,We=this.getHandleSize(),Xe=this.clampValues(),qe=E==="start"?Xe[0]:Xe[1],nt=le(qe),at=new LD({style:(0,Cn.pi)((0,Cn.pi)((0,Cn.pi)({},Ae),this.inferTextStyle(E)),{text:nt})}),pt=at.getBBox(),mt=pt.width,bt=pt.height;if(at.destroy(),!he){if(re==="value")return{text:nt,x:0,y:-bt-Pe};var jt=Pe+We+(oe==="horizontal"?mt/2:0);return z={text:nt},z[oe==="horizontal"?"x":"y"]=E==="start"?-jt:jt,z}var Ut=0,Kt=0,Qt=this.availableSpace,Vt=Qt.width,vn=Qt.height,wn=this.calcSelectionArea()[1],kn=wn.x,Vn=wn.y,vr=wn.width,or=wn.height,Or=Pe+We;if(oe==="horizontal"){var qr=Or+mt/2;if(E==="start"){var wr=kn-Or-mt;Ut=wr>0?-qr:qr}else{var Sr=Vt-kn-vr-Or>mt;Ut=Sr?qr:-qr}}else{var Tr=Or,ri=bt+Or;E==="start"?Kt=Vn-We>bt?-ri:Tr:Kt=vn-(Vn+or)-We>bt?ri:-Tr}return{x:Ut,y:Kt,text:nt}},x.prototype.getHandleLabelStyle=function(E){var z=su(this.attributes,"handleLabel");return(0,Cn.pi)((0,Cn.pi)((0,Cn.pi)({},z),this.calcHandleText(E)),this.inferTextStyle(E))},x.prototype.getHandleIconStyle=function(){var E=this.attributes.handleIconShape,z=su(this.attributes,"handleIcon"),te=this.getOrientVal(["ew-resize","ns-resize"]),re=this.getHandleSize();return(0,Cn.pi)({cursor:te,shape:E,size:re},z)},x.prototype.getHandleStyle=function(E){var z=this.attributes,te=z.x,re=z.y,oe=z.showLabel,le=z.showLabelOnInteraction,he=z.orientation,ge=this.calcHandlePosition(E),Ae=ge.x,Pe=ge.y,We=this.calcHandleText(E),Xe=oe;return!oe&&le&&(this.target?Xe=!0:Xe=!1),(0,Cn.pi)((0,Cn.pi)((0,Cn.pi)({},kS(this.getHandleIconStyle(),"icon")),kS((0,Cn.pi)((0,Cn.pi)({},this.getHandleLabelStyle(E)),We),"label")),{transform:"translate(".concat(Ae+te,", ").concat(Pe+re,")"),orientation:he,showLabel:Xe,type:E,zIndex:3})},x.prototype.getHandleSize=function(){var E=this.attributes,z=E.handleIconSize,te=E.width,re=E.height;return z||Math.floor((this.getOrientVal([+re,+te])+4)/2.4)},x.prototype.getOrientVal=function(E){var z=(0,Cn.CR)(E,2),te=z[0],re=z[1],oe=this.attributes.orientation;return oe==="horizontal"?te:re},x.prototype.setValuesOffset=function(E,z,te){z===void 0&&(z=0),te===void 0&&(te=!1);var re=this.attributes.type,oe=(0,Cn.CR)(this.getValues(),2),le=oe[0],he=oe[1],ge=re==="range"?E:0,Ae=[le+ge,he+z].sort();te?this.setValues(Ae):this.innerSetValues(Ae,!0)},x.prototype.getRatio=function(E){var z=this.availableSpace,te=z.width,re=z.height;return E/this.getOrientVal([te,re])},x.prototype.dispatchCustomEvent=function(E,z,te){var re=this;E.on(z,function(oe){oe.stopPropagation(),re.dispatchEvent(new se(te,{detail:oe}))})},x.prototype.bindEvents=function(){this.addEventListener("wheel",this.onScroll);var E=this.brushArea;this.dispatchCustomEvent(E,"click","trackClick"),this.dispatchCustomEvent(E,"pointerenter","trackMouseenter"),this.dispatchCustomEvent(E,"pointerleave","trackMouseleave"),E.on("pointerdown",this.onDragStart("track"))},x.prototype.onScroll=function(E){var z=this.attributes.scrollable;if(z){var te=E.deltaX,re=E.deltaY,oe=re||te,le=this.getRatio(oe);this.setValuesOffset(le,le,!0)}},x.tag="slider",x}(Bd),EK={backgroundFill:"#262626",backgroundLineCap:"round",backgroundLineWidth:1,backgroundStroke:"#333",backgroundZIndex:-1,formatter:function(b){return b.toString()},labelFill:"#fff",labelFontSize:12,labelTextBaseline:"middle",padding:[2,4],position:"right",radius:0,zIndex:999},rI=om({background:"background",labelGroup:"label-group",label:"label"},"indicator"),AK=function(b){(0,Cn.ZT)(x,b);function x(E){var z=b.call(this,E,EK)||this;return z.point=[0,0],z.group=z.appendChild(new Oh({})),z.isMutationObserved=!0,z}return x.prototype.renderBackground=function(){if(this.label){var E=this.attributes,z=E.position,te=E.padding,re=(0,Cn.CR)(zg(te),4),oe=re[0],le=re[1],he=re[2],ge=re[3],Ae=this.label.node().getLocalBounds(),Pe=Ae.min,We=Ae.max,Xe=new rp(Pe[0]-ge,Pe[1]-oe,We[0]+le-Pe[0]+ge,We[1]+he-Pe[1]+oe),qe=this.getPath(z,Xe),nt=su(this.attributes,"background");this.background=qs(this.group).maybeAppendByClassName(rI.background,"path").styles((0,Cn.pi)((0,Cn.pi)({},nt),{d:qe})),this.group.appendChild(this.label.node())}},x.prototype.renderLabel=function(){var E=this.attributes,z=E.formatter,te=E.labelText,re=su(this.attributes,"label"),oe=(0,Cn.CR)(t1(re),2),le=oe[0],he=oe[1],ge=le.text,Ae=(0,Cn._T)(le,["text"]);if(this.label=qs(this.group).maybeAppendByClassName(rI.labelGroup,"g").styles(he),!!te){var Pe=this.label.maybeAppendByClassName(rI.label,function(){return n1(z(te))}).style("text",z(te).toString());Pe.selectAll("text").styles(Ae)}},x.prototype.adjustLayout=function(){var E=(0,Cn.CR)(this.point,2),z=E[0],te=E[1],re=this.attributes,oe=re.x,le=re.y;this.group.attr("transform","translate(".concat(oe-z,", ").concat(le-te,")"))},x.prototype.getPath=function(E,z){var te=this.attributes.radius,re=z.x,oe=z.y,le=z.width,he=z.height,ge=[["M",re+te,oe],["L",re+le-te,oe],["A",te,te,0,0,1,re+le,oe+te],["L",re+le,oe+he-te],["A",te,te,0,0,1,re+le-te,oe+he],["L",re+te,oe+he],["A",te,te,0,0,1,re,oe+he-te],["L",re,oe+te],["A",te,te,0,0,1,re+te,oe],["Z"]],Ae={top:4,right:6,bottom:0,left:2},Pe=Ae[E],We=this.createCorner([ge[Pe].slice(-2),ge[Pe+1].slice(-2)]);return ge.splice.apply(ge,(0,Cn.ev)([Pe+1,1],(0,Cn.CR)(We),!1)),ge[0][0]="M",ge},x.prototype.createCorner=function(E,z){z===void 0&&(z=10);var te=.8,re=xH.apply(void 0,(0,Cn.ev)([],(0,Cn.CR)(E),!1)),oe=(0,Cn.CR)(E,2),le=(0,Cn.CR)(oe[0],2),he=le[0],ge=le[1],Ae=(0,Cn.CR)(oe[1],2),Pe=Ae[0],We=Ae[1],Xe=(0,Cn.CR)(re?[Pe-he,[he,Pe]]:[We-ge,[ge,We]],2),qe=Xe[0],nt=(0,Cn.CR)(Xe[1],2),at=nt[0],pt=nt[1],mt=qe/2,bt=qe/Math.abs(qe),jt=z*bt,Ut=jt/2,Kt=jt*Math.sqrt(3)/2*te,Qt=(0,Cn.CR)([at,at+mt-Ut,at+mt,at+mt+Ut,pt],5),Vt=Qt[0],vn=Qt[1],wn=Qt[2],kn=Qt[3],Vn=Qt[4];return re?(this.point=[wn,ge-Kt],[["L",Vt,ge],["L",vn,ge],["L",wn,ge-Kt],["L",kn,ge],["L",Vn,ge]]):(this.point=[he+Kt,wn],[["L",he,Vt],["L",he,vn],["L",he+Kt,wn],["L",he,kn],["L",he,Vn]])},x.prototype.applyVisibility=function(){var E=this.attributes.visibility;E==="hidden"?im(this):u2(this)},x.prototype.bindEvents=function(){this.label.on(Zt.BOUNDS_CHANGED,this.renderBackground)},x.prototype.render=function(){this.renderLabel(),this.renderBackground(),this.adjustLayout(),this.applyVisibility()},x}(Bd),SK=function(b){(0,Cn.ZT)(x,b);function x(E){var z=b.call(this,pg({},x.defaultOptions,E))||this;return z.hoverColor="#f5f5f5",z.selectedColor="#e6f7ff",z.background=z.appendChild(new Qc({})),z.label=z.background.appendChild(new Oh({})),z}return Object.defineProperty(x.prototype,"padding",{get:function(){return zg(this.style.padding)},enumerable:!1,configurable:!0}),x.prototype.renderLabel=function(){var E=this.style,z=E.label,te=E.value,re=su(this.attributes,"label");qs(this.label).maybeAppend(".label",function(){return n1(z)}).attr("className","label").styles(re),this.label.attr("__data__",te)},x.prototype.renderBackground=function(){var E=this.label.getBBox(),z=(0,Cn.CR)(this.padding,4),te=z[0],re=z[1],oe=z[2],le=z[3],he=E.width,ge=E.height,Ae=he+le+re,Pe=ge+te+oe,We=su(this.attributes,"background"),Xe=this.style,qe=Xe.width,nt=qe===void 0?0:qe,at=Xe.height,pt=at===void 0?0:at,mt=Xe.selected;this.background.attr((0,Cn.pi)((0,Cn.pi)({},We),{width:Math.max(Ae,nt),height:Math.max(Pe,pt),fill:mt?this.selectedColor:"#fff"})),this.label.attr({transform:"translate(".concat(le,", ").concat((Pe-ge)/2,")")})},x.prototype.render=function(){this.renderLabel(),this.renderBackground()},x.prototype.bindEvents=function(){var E=this;this.addEventListener("pointerenter",function(){E.style.selected||E.background.attr("fill",E.hoverColor)}),this.addEventListener("pointerleave",function(){E.style.selected||E.background.attr("fill",E.style.backgroundFill)});var z=this;this.addEventListener("click",function(){var te=E.style,re=te.label,oe=te.value,le=te.onClick;le==null||le(oe,{label:re,value:oe},z)})},x.defaultOptions={style:{value:"",label:"",cursor:"pointer"}},x}(Bd),wK=function(b){(0,Cn.ZT)(x,b);function x(E){var z,te,re=b.call(this,pg({},x.defaultOptions,E))||this;re.currentValue=(z=x.defaultOptions.style)===null||z===void 0?void 0:z.defaultValue,re.isPointerInSelect=!1,re.select=re.appendChild(new Qc({className:"select",style:{cursor:"pointer",width:0,height:0}})),re.dropdown=re.appendChild(new Qc({className:"dropdown"}));var oe=re.style.defaultValue;return oe&&(!((te=re.style.options)===null||te===void 0)&&te.some(function(le){return le.value===oe}))&&(re.currentValue=oe),re}return x.prototype.setValue=function(E){this.currentValue=E,this.render()},x.prototype.getValue=function(){return this.currentValue},Object.defineProperty(x.prototype,"dropdownPadding",{get:function(){return zg(this.style.dropdownPadding)},enumerable:!1,configurable:!0}),x.prototype.renderSelect=function(){var E=this,z,te=this.style,re=te.x,oe=te.y,le=te.width,he=te.height,ge=te.bordered,Ae=te.showDropdownIcon,Pe=su(this.attributes,"select"),We=su(this.attributes,"placeholder");this.select.attr((0,Cn.pi)((0,Cn.pi)({x:re,y:oe,width:le,height:he},Pe),{fill:"#fff",strokeWidth:ge?1:0}));var Xe=this.dropdownPadding,qe=10;Ae&&qs(this.select).maybeAppend(".dropdown-icon","path").style("d","M-5,-3.5 L0,3.5 L5,-3.5").style("transform","translate(".concat(re+le-qe-Xe[1]-Xe[3],", ").concat(oe+he/2,")")).style("lineWidth",1).style("stroke",this.select.style.stroke);var nt=(z=this.style.options)===null||z===void 0?void 0:z.find(function(bt){return bt.value===E.currentValue}),at=(0,Cn.pi)({x:re+Xe[3]},We);qs(this.select).selectAll(".placeholder").data(nt?[]:[1]).join(function(bt){return bt.append("text").attr("className","placeholder").styles(at).style("y",function(){var jt=this.getBBox();return oe+(he-jt.height)/2})},function(bt){return bt.styles(at)},function(bt){return bt.remove()});var pt=su(this.attributes,"optionLabel"),mt=(0,Cn.pi)({x:re+Xe[3]},pt);qs(this.select).selectAll(".value").data(nt?[nt]:[]).join(function(bt){return bt.append(function(jt){return n1(jt.label)}).attr("className","value").styles(mt).style("y",function(){var jt=this.getBBox();return oe+(he-jt.height)/2})},function(bt){return bt.styles(mt)},function(bt){return bt.remove()})},x.prototype.renderDropdown=function(){var E=this,z,te,re=this.style,oe=re.x,le=re.y,he=re.width,ge=re.height,Ae=re.options,Pe=re.onSelect,We=re.open,Xe=su(this.attributes,"dropdown"),qe=su(this.attributes,"option"),nt=this.dropdownPadding;qs(this.dropdown).maybeAppend(".dropdown-container","g").attr("className","dropdown-container").selectAll(".dropdown-item").data(Ae,function(mt){return mt.value}).join(function(mt){return mt.append(function(bt){return new SK({className:"dropdown-item",style:(0,Cn.pi)((0,Cn.pi)((0,Cn.pi)({},bt),qe),{width:he-nt[1]-nt[3],selected:bt.value===E.currentValue,onClick:function(jt,Ut,Kt){E.setValue(jt),Pe==null||Pe(jt,Ut,Kt),E.dispatchEvent(new se("change",{detail:{value:jt,option:Ut,item:Kt}})),im(E.dropdown)}})})}).each(function(bt,jt){var Ut,Kt=(Ut=this.parentNode)===null||Ut===void 0?void 0:Ut.children,Qt=Kt.reduce(function(Vt,vn,wn){return wn<jt&&(Vt+=vn.getBBox().height),Vt},0);this.attr("transform","translate(".concat(nt[3],", ").concat(nt[0]+Qt,")"))})},function(mt){return mt.update(function(bt){return{selected:bt.value===E.currentValue}})},function(mt){return mt.remove()});var at=(te=(z=this.dropdown.getElementsByClassName("dropdown-container"))===null||z===void 0?void 0:z[0])===null||te===void 0?void 0:te.getBBox(),pt=Xe.spacing;this.dropdown.attr((0,Cn.pi)({transform:"translate(".concat(oe,", ").concat(le+ge+pt,")"),width:at.width+nt[1]+nt[3],height:at.height+nt[0]+nt[2]},Xe)),!We&&im(this.dropdown)},x.prototype.render=function(){this.renderSelect(),this.renderDropdown()},x.prototype.bindEvents=function(){var E=this;this.addEventListener("click",function(z){z.stopPropagation()}),this.select.addEventListener("click",function(){E.dropdown.style.visibility==="visible"?im(E.dropdown):u2(E.dropdown)}),this.addEventListener("pointerenter",function(){E.isPointerInSelect=!0}),this.addEventListener("pointerleave",function(){E.isPointerInSelect=!1}),document==null||document.addEventListener("click",function(){E.isPointerInSelect||im(E.dropdown)})},x.defaultOptions={style:{x:0,y:0,width:140,height:32,options:[],bordered:!0,defaultValue:"",selectRadius:8,selectStroke:"#d9d9d9",showDropdownIcon:!0,placeholderText:"\u8BF7\u9009\u62E9",placeholderFontSize:12,placeholderTextBaseline:"top",placeholderFill:"#c2c2c2",dropdownFill:"#fff",dropdownStroke:"#d9d9d9",dropdownRadius:8,dropdownShadowBlur:4,dropdownShadowColor:"rgba(0, 0, 0, 0.08)",dropdownPadding:8,dropdownSpacing:10,optionPadding:[8,12],optionFontSize:12,optionTextBaseline:"top",optionBackgroundFill:"#fff",optionBackgroundRadius:4,optionLabelFontSize:12,optionLabelTextBaseline:"top"}},x}(Bd),sm=function(b){(0,Cn.ZT)(x,b);function x(E){var z=b.call(this,pg({},{style:{backgroundOpacity:x.backgroundOpacities.default}},x.defaultOptions,E))||this;return z.showBackground=!0,z.background=z.appendChild(new Qc({})),z.icon=z.appendChild(new Oh({})),z}return Object.defineProperty(x.prototype,"label",{get:function(){return"BaseIcon"},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"lineWidth",{get:function(){return Math.log10(this.attributes.size)},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"padding",{get:function(){return zg(this.attributes.size/5)},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"iconSize",{get:function(){var E=this.attributes.size,z=(0,Cn.CR)(this.padding,4),te=z[0],re=z[1],oe=z[2],le=z[3];return Math.max(E-Math.max(le+re,te+oe),this.lineWidth*2+1)},enumerable:!1,configurable:!0}),x.prototype.renderBackground=function(){var E=this.attributes,z=E.x,te=E.y,re=E.size,oe=re/2,le=su(this.attributes,"background");this.background.attr((0,Cn.pi)({x:z-oe,y:te-oe,width:re,height:re},le))},x.prototype.showIndicator=function(){if(this.label){var E=this.attributes.size,z=this.background.getBBox(),te=z.x,re=z.y;this.indicator.update({x:te+E/2,y:re-5,labelText:this.label,visibility:"visible"})}},x.prototype.hideIndicator=function(){this.indicator.update({visibility:"hidden"})},x.prototype.connectedCallback=function(){var E;b.prototype.connectedCallback.call(this);var z=this.attributes.size,te=this.background.getBBox(),re=te.x,oe=te.y,le=(E=this.ownerDocument)===null||E===void 0?void 0:E.defaultView;le&&(this.indicator=le.appendChild(new AK({style:{x:re+z/2,y:oe-z/2,visibility:"hidden",position:"top",radius:3,zIndex:100}})))},x.prototype.disconnectedCallback=function(){this.indicator.destroy()},x.prototype.render=function(){this.renderIcon(),this.showBackground&&this.renderBackground()},x.prototype.bindEvents=function(){var E=this,z=this.attributes.onClick;if(this.addEventListener("click",function(){z==null||z(E)}),this.showBackground){var te=function(){return E.background.attr({opacity:x.backgroundOpacities.default})},re=function(){return E.background.attr({opacity:x.backgroundOpacities.hover})},oe=function(){return E.background.attr({opacity:x.backgroundOpacities.active})};this.addEventListener("pointerenter",function(){re(),E.showIndicator()}),this.addEventListener("pointerleave",function(){te(),E.hideIndicator()}),this.addEventListener("pointerdown",function(){oe()}),this.addEventListener("pointerup",function(){te()})}},x.tag="IconBase",x.defaultOptions={style:{x:0,y:0,size:10,color:"#565758",backgroundRadius:4,backgroundFill:"#e2e2e2"}},x.backgroundOpacities={default:0,hover:.8,active:1},x}(Bd),x2=function(b,x){return x===void 0&&(x="#565758"),new Pu({style:{fill:x,d:"M ".concat(b,",").concat(b," L -").concat(b,",0 L ").concat(b,",-").concat(b," Z"),transformOrigin:"center"}})},CK=function(b){(0,Cn.ZT)(x,b);function x(){return b!==null&&b.apply(this,arguments)||this}return x.prototype.arcPath=function(E,z,te){var re=(0,Cn.CR)([te,te],2),oe=re[0],le=re[1],he=function(nt){return[E+te*Math.cos(nt),z+te*Math.sin(nt)]},ge=(0,Cn.CR)(he(-5/4*Math.PI),2),Ae=ge[0],Pe=ge[1],We=(0,Cn.CR)(he(1/4*Math.PI),2),Xe=We[0],qe=We[1];return"M".concat(Ae,",").concat(Pe,",A").concat(oe,",").concat(le,",0,1,1,").concat(Xe,",").concat(qe)},Object.defineProperty(x.prototype,"label",{get:function(){return"\u91CD\u7F6E"},enumerable:!1,configurable:!0}),x.prototype.renderIcon=function(){var E=this.attributes,z=E.x,te=E.y,re=E.color,oe=this.iconSize,le=this.lineWidth,he=le+.5;qs(this.icon).maybeAppend(".reset","path").styles({stroke:re,lineWidth:le,d:this.arcPath(z,te,oe/2-le),markerStart:x2(he,re)})},x}(sm),bK=function(b){(0,Cn.ZT)(x,b);function x(){return b!==null&&b.apply(this,arguments)||this}return Object.defineProperty(x.prototype,"label",{get:function(){return"\u5FEB\u9000"},enumerable:!1,configurable:!0}),x.prototype.renderIcon=function(){var E=this.attributes,z=E.x,te=E.y,re=E.color,oe=this.iconSize,le=oe/2,he=oe/2/Math.pow(3,.5),ge=[[z,te],[z,te-he],[z-le,te],[z,te+he],[z,te],[z+le,te-he],[z+le,te+he],[z,te]];qs(this.icon).maybeAppend(".backward","polygon").styles({points:ge,fill:re})},x}(sm),PK=function(b){(0,Cn.ZT)(x,b);function x(){return b!==null&&b.apply(this,arguments)||this}return Object.defineProperty(x.prototype,"label",{get:function(){return"\u5FEB\u8FDB"},enumerable:!1,configurable:!0}),x.prototype.renderIcon=function(){var E=this.attributes,z=E.x,te=E.y,re=E.color,oe=this.iconSize,le=oe/2,he=oe/2/Math.pow(3,.5),ge=[[z,te],[z,te-he],[z+le,te],[z,te+he],[z,te],[z-le,te-he],[z-le,te+he],[z,te]];qs(this.icon).maybeAppend(".forward","polygon").styles({points:ge,fill:re})},x}(sm),MK=function(b){(0,Cn.ZT)(x,b);function x(){return b!==null&&b.apply(this,arguments)||this}return Object.defineProperty(x.prototype,"label",{get:function(){return"\u64AD\u653E"},enumerable:!1,configurable:!0}),x.prototype.renderIcon=function(){var E=this.attributes,z=E.x,te=E.y,re=E.color,oe=this.iconSize,le=oe/3*Math.pow(3,.5)*.8,he=[[z+le,te],[z-le/2,te-oe/2*.8],[z-le/2,te+oe/2*.8],[z+le,te]];qs(this.icon).maybeAppend(".play","polygon").styles({points:he,fill:re})},x}(sm),LK=function(b){(0,Cn.ZT)(x,b);function x(){return b!==null&&b.apply(this,arguments)||this}return Object.defineProperty(x.prototype,"label",{get:function(){return"\u6682\u505C"},enumerable:!1,configurable:!0}),x.prototype.renderIcon=function(){var E=this.attributes,z=E.x,te=E.y,re=E.color,oe=this.iconSize,le=oe/3,he=[[z-le,te-oe/2],[z-le,te+oe/2],[z-le/2,te+oe/2],[z-le/2,te-oe/2],[z-le,te-oe/2],[z+le/2,te-oe/2],[z+le/2,te+oe/2],[z+le,te+oe/2],[z+le,te-oe/2]];qs(this.icon).maybeAppend(".pause","polygon").styles({points:he,fill:re})},x}(sm),TK=function(b){(0,Cn.ZT)(x,b);function x(){return b!==null&&b.apply(this,arguments)||this}return Object.defineProperty(x.prototype,"label",{get:function(){return"\u8303\u56F4\u65F6\u95F4"},enumerable:!1,configurable:!0}),x.prototype.renderIcon=function(){var E=this.attributes,z=E.x,te=E.y,re=E.color,oe=this,le=oe.iconSize,he=oe.lineWidth,ge=he;qs(this.icon).maybeAppend(".left-line","line").styles({x1:z-le/2,y1:te-le/2,x2:z-le/2,y2:te+le/2,stroke:re,lineWidth:he}),qs(this.icon).maybeAppend(".right-line","line").styles({x1:z+le/2,y1:te-le/2,x2:z+le/2,y2:te+le/2,stroke:re,lineWidth:he}),qs(this.icon).maybeAppend(".left-arrow","line").styles({x1:z,y1:te,x2:z-le/2+ge*2,y2:te,stroke:re,lineWidth:he,markerEnd:x2(he*2,re)}),qs(this.icon).maybeAppend(".right-arrow","line").styles({x1:z,y1:te,x2:z+le/2-ge*2,y2:te,stroke:re,lineWidth:he,markerEnd:x2(he*2,re)})},x}(sm),DK=function(b){(0,Cn.ZT)(x,b);function x(){return b!==null&&b.apply(this,arguments)||this}return Object.defineProperty(x.prototype,"label",{get:function(){return"\u5355\u4E00\u65F6\u95F4"},enumerable:!1,configurable:!0}),x.prototype.renderIcon=function(){var E=this.attributes,z=E.x,te=E.y,re=E.color,oe=this,le=oe.iconSize,he=oe.lineWidth;qs(this.icon).maybeAppend(".line","line").styles({x1:z,y1:te-le/2,x2:z,y2:te+le/2,stroke:re,lineWidth:he});var ge=he;qs(this.icon).maybeAppend(".left-arrow","line").styles({x1:z-le/2-ge*2,y1:te,x2:z-ge*2,y2:te,stroke:re,lineWidth:he,markerEnd:x2(he*2,re)}),qs(this.icon).maybeAppend(".right-arrow","line").styles({x1:z+le/2+ge*2,y1:te,x2:z+ge*2,y2:te,stroke:re,lineWidth:he,markerEnd:x2(he*2,re)})},x}(sm),z6=function(b){return[[-b/2,-b/2],[-b/2,b/2],[b/2,b/2]]},IK=function(b){(0,Cn.ZT)(x,b);function x(){return b!==null&&b.apply(this,arguments)||this}return Object.defineProperty(x.prototype,"label",{get:function(){return"\u6298\u7EBF\u56FE"},enumerable:!1,configurable:!0}),x.prototype.renderIcon=function(){var E=this.attributes,z=E.x,te=E.y,re=E.color,oe=this,le=oe.iconSize,he=oe.lineWidth,ge=he,Ae=(le-ge*2-he)/4,Pe=(le-ge*2-he)/2,We=(0,Cn.CR)([z-le/2+ge,te+le/2-ge*2],2),Xe=We[0],qe=We[1];qs(this.icon).maybeAppend(".coordinate","polyline").styles({points:z6(le).map(function(nt){var at=(0,Cn.CR)(nt,2),pt=at[0],mt=at[1];return[pt+z,mt+te]}),stroke:re,lineWidth:he}),qs(this.icon).maybeAppend(".line","polyline").styles({points:[[Xe,qe],[Xe+Ae,qe-Pe],[Xe+Ae*2,qe],[Xe+Ae*4,qe-Pe*2]],stroke:re,lineWidth:he})},x}(sm),OK=function(b){(0,Cn.ZT)(x,b);function x(){return b!==null&&b.apply(this,arguments)||this}return Object.defineProperty(x.prototype,"label",{get:function(){return"\u6761\u5F62\u56FE"},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"data",{get:function(){return[1,4,2,4,3]},enumerable:!1,configurable:!0}),x.prototype.renderIcon=function(){var E=this.data,z=this.attributes,te=z.x,re=z.y,oe=z.color,le=this,he=le.iconSize,ge=le.lineWidth,Ae=ge,Pe=(he-Ae)/E.length,We=(he-Ae*2)/4,Xe=(0,Cn.CR)([te-he/2+Ae*2,re+he/2-Ae],2),qe=Xe[0],nt=Xe[1];qs(this.icon).maybeAppend(".coordinate","polyline").styles({points:z6(he).map(function(at){var pt=(0,Cn.CR)(at,2),mt=pt[0],bt=pt[1];return[mt+te,bt+re]}),stroke:oe,lineWidth:ge}),qs(this.icon).maybeAppend(".bars","g").selectAll(".column").data(this.data.map(function(at,pt){return{value:at,index:pt}})).join(function(at){return at.append("line").attr("className","column").style("x1",function(pt){var mt=pt.index;return qe+Pe*mt}).style("y1",nt).style("x2",function(pt){var mt=pt.index;return qe+Pe*mt}).style("y2",function(pt){var mt=pt.value;return nt-We*mt}).styles({y1:nt,stroke:oe,lineWidth:ge})})},x}(sm),NK=function(b){(0,Cn.ZT)(x,b);function x(E){var z=b.call(this,pg({},{style:{color:"#d8d9d9"}},E))||this;return z.showBackground=!1,z}return x.prototype.renderIcon=function(){var E=this.attributes,z=E.x,te=E.y,re=E.color,oe=this,le=oe.iconSize,he=oe.lineWidth;qs(this.icon).maybeAppend(".split","line").styles({x1:z,y1:te-le/2,x2:z,y2:te+le/2,stroke:re,lineWidth:he})},x}(sm),iI=function(b){(0,Cn.ZT)(x,b);function x(){var E=b.apply(this,(0,Cn.ev)([],(0,Cn.CR)(arguments),!1))||this;return E.showBackground=!1,E}return Object.defineProperty(x.prototype,"padding",{get:function(){return zg(0)},enumerable:!1,configurable:!0}),x.prototype.renderIcon=function(){var E=this.iconSize,z=this.attributes,te=z.x,re=z.y,oe=z.speed,le=oe===void 0?1:oe,he=ED(this.attributes,["x","y","transform","transformOrigin","width","height","size","color","speed"]),ge=Sh(E,20,1/0),Ae=20,Pe=(0,Cn.pi)((0,Cn.pi)({},he),{x:te-ge/2,y:re-Ae/2,width:ge,height:Ae,defaultValue:le,bordered:!1,showDropdownIcon:!1,selectRadius:2,dropdownPadding:this.padding,dropdownRadius:2,dropdownSpacing:E/5,placeholderFontSize:E/2,optionPadding:0,optionLabelFontSize:E/2,optionBackgroundRadius:1,options:[{label:"1x",value:1},{label:"1.5x",value:1.5},{label:"2x",value:2}]});qs(this.icon).maybeAppend(".speed",function(){return new wK({style:Pe})}).attr("className","speed").each(function(){this.update(Pe)})},x.tag="SpeedSelect",x}(sm),oI=function(b){(0,Cn.ZT)(x,b);function x(E){var z=b.call(this,E)||this;return z.icon=z.appendChild(new Oh({})),z.currentType=z.attributes.type,z}return x.prototype.getType=function(){return this.currentType},x.prototype.render=function(){var E=this,z=this.attributes,te=z.onChange,re=(0,Cn._T)(z,["onChange"]);qs(this.icon).selectAll(".icon").data([this.currentType]).join(function(oe){return oe.append(function(le){var he,ge=(he=E.toggles.find(function(Ae){var Pe=(0,Cn.CR)(Ae,1),We=Pe[0];return We===le}))===null||he===void 0?void 0:he[1];if(!ge)throw new Error("Invalid type: ".concat(le));return new ge({})}).attr("className","icon").styles(re,!1).update({})},function(oe){return oe.styles({restStyles:re}).update({})},function(oe){return oe.remove()})},x.prototype.bindEvents=function(){var E=this,z=this.attributes.onChange;this.addEventListener("click",function(te){te.preventDefault(),te.stopPropagation();var re=(E.toggles.findIndex(function(le){var he=(0,Cn.CR)(le,1),ge=he[0];return ge===E.currentType})+1)%E.toggles.length,oe=E.toggles[re][0];z==null||z(E.currentType),E.currentType=oe,E.render()})},x.tag="ToggleIcon",x}(Bd),aI=function(b){(0,Cn.ZT)(x,b);function x(E){var z=b.call(this,pg({},{style:{type:"play"}},E))||this;return z.toggles=[["play",MK],["pause",LK]],z}return x}(oI),sI=function(b){(0,Cn.ZT)(x,b);function x(E){var z=b.call(this,pg({},{style:{type:"range"}},E))||this;return z.toggles=[["range",TK],["value",DK]],z}return x}(oI),lI=function(b){(0,Cn.ZT)(x,b);function x(E){var z=b.call(this,pg({},{style:{type:"column"}},E))||this;return z.toggles=[["line",IK],["column",OK]],z}return x}(oI),BK={reset:CK,speed:iI,backward:bK,playPause:aI,forward:PK,selectionType:sI,chartType:lI,split:NK},RK=function(b){(0,Cn.ZT)(x,b);function x(E){var z=b.call(this,pg({},x.defaultOptions,E))||this;return z.background=z.appendChild(new Qc({})),z.functions=z.appendChild(new Oh({})),z}return Object.defineProperty(x.prototype,"padding",{get:function(){return zg(this.attributes.padding)},enumerable:!1,configurable:!0}),x.prototype.renderBackground=function(){var E=this.style,z=E.x,te=E.y,re=E.width,oe=E.height,le=su(this.attributes,"background");this.background.attr((0,Cn.pi)({x:z,y:te,width:re,height:oe},le))},x.prototype.renderFunctions=function(){var E=this,z,te=this.attributes,re=te.functions,oe=te.iconSize,le=te.iconSpacing,he=te.x,ge=te.y,Ae=te.width,Pe=te.height,We=te.align,Xe=(0,Cn.CR)(this.padding,4),qe=Xe[1],nt=Xe[3],at=re.reduce(function(bt,jt){return bt.length&&jt.length?bt.concat.apply(bt,(0,Cn.ev)(["split"],(0,Cn.CR)(jt),!1)):bt.concat.apply(bt,(0,Cn.ev)([],(0,Cn.CR)(jt),!1))},[]),pt=at.length*(oe+le)-le,mt={left:nt+oe/2,center:(Ae-pt)/2+oe/2,right:Ae-pt-nt-qe+oe/2}[We]||0;(z=this.speedSelect)===null||z===void 0||z.destroy(),this.functions.removeChildren(),at.forEach(function(bt,jt){var Ut,Kt=BK[bt],Qt={x:he+jt*(oe+le)+mt,y:ge+Pe/2,size:oe};if(Kt===iI?(Qt.speed=E.attributes.speed,Qt.onSelect=function(vn){return E.handleFunctionChange(bt,{value:vn})}):[aI,sI,lI].includes(Kt)?(Qt.onChange=function(vn){return E.handleFunctionChange(bt,{value:vn})},Kt===aI&&(Qt.type=E.attributes.state==="play"?"pause":"play"),Kt===sI&&(Qt.type=E.attributes.selectionType==="range"?"value":"range"),Kt===lI&&(Qt.type=E.attributes.chartType==="line"?"column":"line")):Qt.onClick=function(){return E.handleFunctionChange(bt,{value:bt})},Kt===iI){var Vt=(Ut=E.ownerDocument)===null||Ut===void 0?void 0:Ut.defaultView;Vt&&(E.speedSelect=new Kt({style:(0,Cn.pi)((0,Cn.pi)({},Qt),{zIndex:100})}),Vt.appendChild(E.speedSelect))}else E.functions.appendChild(new Kt({style:Qt}))})},x.prototype.disconnectedCallback=function(){var E;b.prototype.disconnectedCallback.call(this),(E=this.speedSelect)===null||E===void 0||E.destroy()},x.prototype.render=function(){this.renderBackground(),this.renderFunctions()},x.prototype.handleFunctionChange=function(E,z){var te=this.attributes.onChange;te==null||te(E,z)},x.defaultOptions={style:{x:0,y:0,width:300,height:40,padding:0,align:"center",iconSize:25,iconSpacing:0,speed:1,state:"pause",chartType:"line",selectionType:"range",backgroundFill:"#fbfdff",backgroundStroke:"#ebedf0",functions:[["reset","speed"],["backward","playPause","forward"],["selectionType","chartType"]]}},x}(Bd),kK=function(b){(0,Cn.ZT)(x,b);function x(E){var z=b.call(this,pg({},x.defaultOptions,E))||this;return z.bindEvents(),z}return x.prototype.bindEvents=function(){var E=this;this.addEventListener("mouseenter",function(){E.attr("lineWidth",Math.ceil(+(E.style.r||0)/2))}),this.addEventListener("mouseleave",function(){E.attr("lineWidth",0)})},x.defaultOptions={style:{r:5,fill:"#3f7cf7",lineWidth:0,stroke:"#3f7cf7",strokeOpacity:.5,cursor:"pointer"}},x}(cf),FK=function(b){(0,Cn.ZT)(x,b);function x(E){return b.call(this,pg({},x.defaultOptions,E))||this}return x.prototype.renderBackground=function(){var E=this.attributes,z=E.x,te=E.y,re=E.width,oe=E.height,le=su(this.attributes,"background");qs(this).maybeAppend("background","rect").attr("className","background").styles((0,Cn.pi)({x:z-re/2,y:te-oe/2,width:re,height:oe},le))},x.prototype.renderIcon=function(){var E=this.attributes,z=E.x,te=E.y,re=E.iconSize,oe=su(this.attributes,"icon"),le=1,he=re/2;qs(this).maybeAppend("icon-left-line","line").attr("className","icon-left-line").styles((0,Cn.pi)({x1:z-le,y1:te-he,x2:z-le,y2:te+he},oe)),qs(this).maybeAppend("icon-right-line","line").attr("className","icon-right-line").styles((0,Cn.pi)({x1:z+le,y1:te-he,x2:z+le,y2:te+he},oe))},x.prototype.renderBorder=function(){var E=this.attributes,z=E.x,te=E.y,re=E.width,oe=E.height,le=E.type,he=su(this.attributes,"border"),ge=le==="start"?+re/2:-re/2;qs(this).maybeAppend("border","line").attr("className","border").styles((0,Cn.pi)({x1:ge+z,y1:te-oe/2,x2:ge+z,y2:te+oe/2},he))},x.prototype.render=function(){this.renderBackground(),this.renderIcon(),this.renderBorder()},x.defaultOptions={style:{x:0,y:0,width:10,height:50,iconSize:10,type:"start",backgroundFill:"#fff",backgroundFillOpacity:.5,iconStroke:"#9a9a9a",iconLineWidth:1,borderStroke:"#e8e8e8",borderLineWidth:1}},x}(Bd);function _K(b,x){return typeof b=="number"?j6(b):zK(b,x)}function zK(b,x){var E=new Date(b);switch(x){case"half-hour":case"hour":case"four-hour":return[0,6,12,18].includes(E.getHours())&&E.getMinutes()===0?wp(E,`HH:mm
YYYY-MM-DD`):wp(E,"HH:mm");case"half-day":return E.getHours()<12?`AM
`.concat(wp(E,"YYYY-MM-DD")):"PM";case"day":return[1,10,20].includes(E.getDate())?wp(E,`DD
YYYY-MM`):wp(E,"DD");case"week":return E.getDate()<=7?wp(E,`DD
YYYY-MM`):wp(E,"DD");case"month":return[0,6].includes(E.getMonth())?wp(E,`MM\u6708
YYYY`):wp(E,"MM\u6708");case"season":return[0].includes(E.getMonth())?wp(E,`MM\u6708
YYYY`):wp(E,"MM\u6708");case"year":return wp(E,"YYYY");default:return wp(E,"YYYY-MM-DD HH:mm")}}function j6(b){var x=String(Math.floor(b/3600)).padStart(2,"0"),E=String(Math.floor(b%3600/60)).padStart(2,"0"),z=String(Math.floor(b%60)).padStart(2,"0");return b<3600?"".concat(E,":").concat(z):"".concat(x,":").concat(E,":").concat(z)}var jK=function(b){(0,Cn.ZT)(x,b);function x(E){var z=b.call(this,pg({},x.defaultOptions,E))||this;z.axis=z.appendChild(new FV({style:{type:"linear",startPos:[0,0],endPos:[0,0],data:[],showArrow:!1,animate:!1}})),z.timeline=z.appendChild(new xK({style:{onChange:function(Pe){z.handleSliderChange(Pe)}}})),z.controller=z.appendChild(new RK({})),z.states={},z.handleSliderChange=function(Pe){var We=function(){var Xe=z.states.values;return Array.isArray(Xe)?(0,Cn.ev)([],(0,Cn.CR)(Xe),!1):Xe}();z.setBySliderValues(Pe),z.dispatchOnChange(We)};var te=z.attributes,re=te.selectionType,oe=te.chartType,le=te.speed,he=te.state,ge=te.playMode,Ae=te.values;return z.states={chartType:oe,playMode:ge,selectionType:re,speed:le,state:he},z.setByTimebarValues(Ae),z}return Object.defineProperty(x.prototype,"data",{get:function(){var E=this.attributes.data,z=function(te,re){return te.time<re.time?-1:te.time>re.time?1:0};return E.sort(z)},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"space",{get:function(){var E=this.attributes,z=E.x,te=E.y,re=E.width,oe=E.height,le=E.type,he=E.controllerHeight,ge=Sh(+oe-he,0,+oe),Ae=new rp(z,te+ +oe-he,+re,he),Pe,We=0;le==="chart"?(We=35,Pe=new rp(z,te+ge-We,+re,We)):Pe=new rp;var Xe=le==="time"?10:ge,qe=new rp(z,te+(le==="time"?ge:ge-Xe),+re,Xe-We);return{axisBBox:Pe,controllerBBox:Ae,timelineBBox:qe}},enumerable:!1,configurable:!0}),x.prototype.setBySliderValues=function(E){var z,te,re=this.data,oe=(0,Cn.CR)(Array.isArray(E)?E:[0,E],2),le=oe[0],he=oe[1],ge=re.length,Ae=re[Math.floor(le*ge)],Pe=re[Math.ceil(he*ge)-(Array.isArray(E)?0:1)];this.states.values=[(z=Ae==null?void 0:Ae.time)!==null&&z!==void 0?z:re[0].time,(te=Pe==null?void 0:Pe.time)!==null&&te!==void 0?te:1/0]},x.prototype.setByTimebarValues=function(E){var z,te,re,oe=this.data,le=(0,Cn.CR)(Array.isArray(E)?E:[void 0,E],2),he=le[0],ge=le[1],Ae=oe.find(function(We){var Xe=We.time;return Xe===he}),Pe=oe.find(function(We){var Xe=We.time;return Xe===ge});this.states.values=[(z=Ae==null?void 0:Ae.time)!==null&&z!==void 0?z:(te=oe[0])===null||te===void 0?void 0:te.time,(re=Pe==null?void 0:Pe.time)!==null&&re!==void 0?re:1/0]},x.prototype.setByIndex=function(E){var z,te,re,oe,le=this.data,he=(0,Cn.CR)(E,2),ge=he[0],Ae=he[1];this.states.values=[(te=(z=le[ge])===null||z===void 0?void 0:z.time)!==null&&te!==void 0?te:le[0].time,(oe=(re=this.data[Ae])===null||re===void 0?void 0:re.time)!==null&&oe!==void 0?oe:1/0]},Object.defineProperty(x.prototype,"sliderValues",{get:function(){var E=this.states,z=E.values,te=E.selectionType,re=(0,Cn.CR)(Array.isArray(z)?z:[void 0,z],2),oe=re[0],le=re[1],he=this.data,ge=he.length,Ae=te==="value",Pe=function(){var Xe=he.findIndex(function(qe){var nt=qe.time;return nt===oe});return Ae?0:Xe>-1?Xe/ge:0},We=function(){if(le===1/0)return 1;var Xe=he.findIndex(function(qe){var nt=qe.time;return nt===le});return Xe>-1?Xe/ge:Ae?.5:1};return[Pe(),We()]},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"values",{get:function(){var E=this.states,z=E.values,te=E.selectionType,re=(0,Cn.CR)(Array.isArray(z)?z:[this.data[0].time,z],2),oe=re[0],le=re[1];return te==="value"?le:[oe,le]},enumerable:!1,configurable:!0}),x.prototype.getDatumByRatio=function(E){var z=this.data,te=z.length,re=Math.floor(E*(te-1));return z[re]},Object.defineProperty(x.prototype,"chartHandleIconShape",{get:function(){var E=this.states.selectionType,z=this.space.timelineBBox.height;return E==="range"?function(te){return new FK({style:{type:te,height:z,iconSize:z/6}})}:function(){return new Zp({style:{x1:0,y1:-z/2,x2:0,y2:z/2,lineWidth:2,stroke:"#c8c8c8"}})}},enumerable:!1,configurable:!0}),x.prototype.getChartStyle=function(E){var z=this,te=E.x,re=E.y,oe=E.width,le=E.height,he=this.states,ge=he.selectionType,Ae=he.chartType,Pe=this.data,We=this.attributes,Xe=We.type,qe=We.labelFormatter,nt=su(this.attributes,"chart"),at=nt.type,pt=(0,Cn._T)(nt,["type"]),mt=ge==="range";if(Xe==="time")return(0,Cn.pi)({handleIconShape:function(){return new kK({})},selectionFill:"#2e7ff8",selectionFillOpacity:1,showLabelOnInteraction:!0,handleLabelDy:mt?-15:0,autoFitLabel:mt,handleSpacing:mt?-15:0,trackFill:"#edeeef",trackLength:oe,trackOpacity:.5,trackRadius:le/2,trackSize:le/2,type:ge,values:this.sliderValues,formatter:function(Ut){if(qe)return qe(Ut);var Kt=z.getDatumByRatio(Ut).time;return typeof Kt=="number"?j6(Kt):wp(Kt,"YYYY-MM-DD HH:mm:ss")},transform:"translate(".concat(te,", ").concat(re,")"),zIndex:1},pt);var bt=ge==="range"?5:0,jt=Pe.map(function(Ut){var Kt=Ut.value;return Kt});return(0,Cn.pi)({handleIconOffset:bt,handleIconShape:this.chartHandleIconShape,selectionFill:"#fff",selectionFillOpacity:.5,selectionType:"invert",sparklineSpacing:.1,sparklineColumnLineWidth:0,sparklineColor:"#d4e5fd",sparklineAreaOpacity:1,sparklineAreaLineWidth:0,sparklineData:jt,sparklineType:Ae,sparklineScale:.8,trackLength:oe,trackSize:le,type:ge,values:this.sliderValues,transform:"translate(".concat(te,", ").concat(re,")"),zIndex:1},pt)},x.prototype.renderChart=function(E){E===void 0&&(E=this.space.timelineBBox),this.timeline.update(this.getChartStyle(E))},x.prototype.updateSelection=function(){this.timeline.setValues(this.sliderValues,!0),this.handleSliderChange(this.sliderValues)},x.prototype.getAxisStyle=function(E){var z=this.data,te=this.attributes,re=te.interval,oe=te.labelFormatter,le=su(this.attributes,"axis"),he=E.x,ge=E.y,Ae=E.width,Pe=(0,Cn.ev)((0,Cn.ev)([],(0,Cn.CR)(z),!1),[{time:0}],!1).map(function(Xe,qe,nt){var at=Xe.time;return{label:"".concat(at),value:qe/(nt.length-1),time:at}}),We=(0,Cn.pi)({startPos:[he,ge],endPos:[he+Ae,ge],data:Pe,labelFilter:function(Xe,qe){return qe<Pe.length-1},labelFormatter:function(Xe){var qe=Xe.time;return oe?oe(qe):_K(qe,re)}},le);return We},x.prototype.renderAxis=function(E){E===void 0&&(E=this.space.axisBBox);var z=this.attributes.type;z==="chart"&&this.axis.update(this.getAxisStyle(E))},x.prototype.renderController=function(E){E===void 0&&(E=this.space.controllerBBox);var z=this.attributes.type,te=this.states,re=te.state,oe=te.speed,le=te.selectionType,he=te.chartType,ge=su(this.attributes,"controller"),Ae=this,Pe=(0,Cn.pi)((0,Cn.pi)((0,Cn.pi)({},E),{iconSize:20,speed:oe,state:re,selectionType:le,chartType:he,onChange:function(We,Xe){var qe=Xe.value;switch(We){case"reset":Ae.internalReset();break;case"speed":Ae.handleSpeedChange(qe);break;case"backward":Ae.internalBackward();break;case"playPause":qe==="play"?Ae.internalPlay():Ae.internalPause();break;case"forward":Ae.internalForward();break;case"selectionType":Ae.handleSelectionTypeChange(qe);break;case"chartType":Ae.handleChartTypeChange(qe);break;default:break}}}),ge);z==="time"&&(Pe.functions=[["reset","speed"],["backward","playPause","forward"],["selectionType"]]),this.controller.update(Pe)},x.prototype.dispatchOnChange=function(E){var z=this.data,te=this.attributes.onChange,re=this.states,oe=re.values,le=re.selectionType,he=(0,Cn.CR)(oe,2),ge=he[0],Ae=he[1],Pe=Ae===1/0?z.at(-1).time:Ae,We=le==="range"?[ge,Pe]:Pe,Xe=function(qe,nt){return Array.isArray(qe)?Array.isArray(nt)?qe[0]===nt[0]&&(qe[1]===nt[1]||qe[1]===1/0||nt[1]===1/0):!1:Array.isArray(nt)?!1:qe===nt};(!E||!Xe(E,We))&&(te==null||te(le==="range"?[ge,Pe]:Pe))},x.prototype.internalReset=function(E){var z,te,re=this.states.selectionType;this.internalPause(),this.setBySliderValues(re==="range"?[0,1]:[0,0]),this.renderController(),this.updateSelection(),E||((te=(z=this.attributes)===null||z===void 0?void 0:z.onReset)===null||te===void 0||te.call(z),this.dispatchOnChange())},x.prototype.reset=function(){this.internalReset()},x.prototype.moveSelection=function(E,z){var te=this.data,re=te.length,oe=this.states,le=oe.values,he=oe.selectionType,ge=oe.playMode,Ae=(0,Cn.CR)(le,2),Pe=Ae[0],We=Ae[1],Xe=te.findIndex(function(bt){var jt=bt.time;return jt===Pe}),qe=te.findIndex(function(bt){var jt=bt.time;return jt===We});qe===-1&&(qe=re);var nt=E==="backward"?-1:1,at;he==="range"?ge==="acc"?(at=[Xe,qe+nt],nt===-1&&Xe===qe&&(at=[Xe,re])):at=[Xe+nt,qe+nt]:at=[Xe,qe+nt];var pt=function(bt){var jt=(0,Cn.CR)(bt.sort(function(Vt,vn){return Vt-vn}),2),Ut=jt[0],Kt=jt[1],Qt=function(Vt){return Sh(Vt,0,re)};return Kt>re?he==="value"?[0,0]:ge==="acc"?[Qt(Ut),Qt(Ut)]:[0,Qt(Kt-Ut)]:Ut<0?ge==="acc"?[0,Qt(Kt)]:[Qt(Ut+re-Kt),re]:[Qt(Ut),Qt(Kt)]},mt=pt(at);return this.setByIndex(mt),this.updateSelection(),mt},x.prototype.internalBackward=function(E){var z,te,re=this.moveSelection("backward",E);return E||((te=(z=this.attributes)===null||z===void 0?void 0:z.onBackward)===null||te===void 0||te.call(z),this.dispatchOnChange()),re},x.prototype.backward=function(){this.internalBackward()},x.prototype.internalPlay=function(E){var z=this,te,re,oe=this.data,le=this.attributes.loop,he=this.states.speed,ge=he===void 0?1:he;this.playInterval=window.setInterval(function(){var Ae=z.internalForward();Ae[1]===oe.length&&!le&&(z.internalPause(),z.renderController())},1e3/ge),this.states.state="play",!E&&((re=(te=this.attributes)===null||te===void 0?void 0:te.onPlay)===null||re===void 0||re.call(te))},x.prototype.play=function(){this.internalPlay()},x.prototype.internalPause=function(E){var z,te;clearInterval(this.playInterval),this.states.state="pause",!E&&((te=(z=this.attributes)===null||z===void 0?void 0:z.onPause)===null||te===void 0||te.call(z))},x.prototype.pause=function(){this.internalPause()},x.prototype.internalForward=function(E){var z,te,re=this.moveSelection("forward",E);return E||((te=(z=this.attributes)===null||z===void 0?void 0:z.onForward)===null||te===void 0||te.call(z),this.dispatchOnChange()),re},x.prototype.forward=function(){this.internalForward()},x.prototype.handleSpeedChange=function(E){var z,te;this.states.speed=E;var re=this.states.state;re==="play"&&(this.internalPause(!0),this.internalPlay(!0)),(te=(z=this.attributes)===null||z===void 0?void 0:z.onSpeedChange)===null||te===void 0||te.call(z,E)},x.prototype.handleSelectionTypeChange=function(E){var z,te;this.states.selectionType=E,this.renderChart(),(te=(z=this.attributes)===null||z===void 0?void 0:z.onSelectionTypeChange)===null||te===void 0||te.call(z,E)},x.prototype.handleChartTypeChange=function(E){var z,te;this.states.chartType=E,this.renderChart(),(te=(z=this.attributes)===null||z===void 0?void 0:z.onChartTypeChange)===null||te===void 0||te.call(z,E)},x.prototype.render=function(){var E=this.space,z=E.axisBBox,te=E.controllerBBox,re=E.timelineBBox;this.renderController(te),this.renderAxis(z),this.renderChart(re),this.states.state==="play"&&this.internalPlay()},x.prototype.destroy=function(){b.prototype.destroy.call(this),this.internalPause(!0)},x.defaultOptions={style:{x:0,y:0,axisLabelFill:"#6e6e6e",axisLabelTextAlign:"left",axisLabelTextBaseline:"top",axisLabelTransform:"translate(5, -12)",axisLineLineWidth:1,axisLineStroke:"#cacdd1",axisTickLength:15,axisTickLineWidth:1,axisTickStroke:"#cacdd1",chartShowLabel:!1,chartType:"line",controllerAlign:"center",controllerHeight:40,data:[],interval:"day",loop:!1,playMode:"acc",selectionType:"range",type:"time"}},x}(Bd);function WK(b){return b instanceof Date}var UK=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})},GK=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};const HK=["timestamp","time","date","datetime"];class NL extends _g{get padding(){return Jv(this.options.padding)}constructor(x,E){super(x,Object.assign({},NL.defaultOptions,E)),this.backup(),this.upsertTimebar()}play(){var x;(x=this.timebar)===null||x===void 0||x.play()}pause(){var x;(x=this.timebar)===null||x===void 0||x.pause()}forward(){var x;(x=this.timebar)===null||x===void 0||x.forward()}backward(){var x;(x=this.timebar)===null||x===void 0||x.backward()}reset(){var x;(x=this.timebar)===null||x===void 0||x.reset()}update(x){super.update(x),this.backup(),this.upsertTimebar()}backup(){this.originalData=W6(this.context.graph.getData())}upsertTimebar(){const{canvas:x}=this.context,E=this.options,{onChange:z,timebarType:te,data:re,x:oe,y:le,width:he,height:ge,mode:Ae}=E,Pe=GK(E,["onChange","timebarType","data","x","y","width","height","mode"]),We=x.getSize(),[Xe]=this.padding;this.upsertCanvas().ready.then(()=>{var qe;const nt=Object.assign(Object.assign({x:We[0]/2-he/2,y:Xe,onChange:at=>{const pt=(Df(at)?at:[at,at]).map(mt=>WK(mt)?mt.getTime():mt);this.options.mode==="modify"?this.filterElements(pt):this.hiddenElements(pt),z==null||z(pt)}},Pe),{data:re.map(at=>As(at)?{time:at,value:0}:at),width:he,height:ge,type:te});this.timebar?this.timebar.update(nt):(this.timebar=new jK({style:nt}),(qe=this.canvas)===null||qe===void 0||qe.appendChild(this.timebar))})}upsertCanvas(){if(this.canvas)return this.canvas;const{className:x,height:E,position:z}=this.options,te=this.context.canvas,[re]=te.getSize(),[oe,,le]=this.padding,[he,ge]=BD({width:re,height:E+oe+le,graphCanvas:te,className:"timebar",placement:z});return this.container=he,x&&he.classList.add(x),this.canvas=ge,this.canvas}filterElements(x){return UK(this,void 0,void 0,function*(){var E;if(!this.originalData)return;const{elementTypes:z,getTime:te}=this.options,{graph:re,element:oe}=this.context,le=W6(this.originalData);z.forEach(ge=>{const Ae=`${ge}s`;le[Ae]=(this.originalData[Ae]||[]).filter(Pe=>{const We=te(Pe);return!!U6(We,x)})});const he=[...le.nodes,...le.combos].map(ge=>Xi(ge));le.edges=le.edges.filter(ge=>{const Ae=ge.source,Pe=ge.target;return he.includes(Ae)&&he.includes(Pe)}),re.setData(le),yield(E=oe.draw({animation:!1,silence:!0}))===null||E===void 0?void 0:E.finished})}hiddenElements(x){const{graph:E}=this.context,{elementTypes:z,getTime:te}=this.options,re=[],oe=[];z.forEach(le=>{var he;const ge=`${le}s`;(((he=this.originalData)===null||he===void 0?void 0:he[ge])||[]).forEach(Pe=>{const We=Xi(Pe),Xe=te(Pe);U6(Xe,x)?oe.push(We):re.push(We)})}),E.hideElement(re,!1),E.showElement(oe,!1)}destroy(){var x,E,z;const{graph:te}=this.context;this.originalData&&te.setData(Object.assign({},this.originalData)),(x=this.timebar)===null||x===void 0||x.destroy(),(E=this.canvas)===null||E===void 0||E.destroy(),(z=this.container)===null||z===void 0||z.remove(),this.originalData=void 0,this.container=void 0,this.timebar=void 0,this.canvas=void 0,super.destroy()}}NL.defaultOptions={position:"bottom",enable:!0,timebarType:"time",className:"g6-timebar",width:450,height:60,zIndex:3,elementTypes:["node"],padding:10,mode:"modify",getTime:b=>VK(b,HK,void 0),loop:!1};const W6=b=>{const{nodes:x=[],edges:E=[],combos:z=[]}=b;return{nodes:[...x],edges:[...E],combos:[...z]}},U6=(b,x)=>{if(As(x))return b===x;const[E,z]=x;return b>=E&&b<=z},VK=(b,x,E)=>{var z;for(let te=0;te<x.length;te++){const re=x[te],oe=(z=b.data)===null||z===void 0?void 0:z[re];if(oe)return oe}return E};function KK(b){const x={top:"unset",right:"unset",bottom:"unset",left:"unset"};return b.split("-").forEach(z=>{x[z]="8px"}),x.flexDirection=b.startsWith("top")||b.startsWith("bottom")?"row":"column",x}const ZK=`
.g6-toolbar {
position: absolute;
z-index: 100;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
border-radius: 4px;
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
opacity: 0.65;
}
.g6-toolbar .g6-toolbar-item {
display: inline-block;
width: 16px;
height: 16px;
padding: 4px;
cursor: pointer;
box-sizing: content-box;
}
.g6-toolbar .g6-toolbar-item:hover {
background-color: #f0f0f0;
}
.g6-toolbar .g6-toolbar-item svg {
display: inline-block;
width: 100%;
height: 100%;
pointer-events: none;
}
`,YK=`
<svg>
<symbol id="zoom-in" viewBox="64 64 896 896">
<path d="M637 443H519V309c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v134H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h118v134c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V519h118c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z"></path>
</symbol>
<symbol id="zoom-out" viewBox="64 64 896 896">
<path d="M637 443H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h312c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z"></path>
</symbol>
<symbol id="edit" viewBox="64 64 896 896">
<path d="M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z"></path>
</symbol>
<symbol id="delete" viewBox="64 64 896 896">
<path d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"></path>
</symbol>
<symbol id="redo" viewBox="64 64 896 896">
<path d="M758.2 839.1C851.8 765.9 912 651.9 912 523.9 912 303 733.5 124.3 512.6 124 291.4 123.7 112 302.8 112 523.9c0 125.2 57.5 236.9 147.6 310.2 3.5 2.8 8.6 2.2 11.4-1.3l39.4-50.5c2.7-3.4 2.1-8.3-1.2-11.1-8.1-6.6-15.9-13.7-23.4-21.2a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-9.3 9.3-19.1 18-29.3 26L668.2 724a8 8 0 00-14.1 3l-39.6 162.2c-1.2 5 2.6 9.9 7.7 9.9l167 .8c6.7 0 10.5-7.7 6.3-12.9l-37.3-47.9z"></path>
</symbol>
<symbol id="undo" viewBox="64 64 896 896">
<path d="M511.4 124C290.5 124.3 112 303 112 523.9c0 128 60.2 242 153.8 315.2l-37.5 48c-4.1 5.3-.3 13 6.3 12.9l167-.8c5.2 0 9-4.9 7.7-9.9L369.8 727a8 8 0 00-14.1-3L315 776.1c-10.2-8-20-16.7-29.3-26a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-7.5 7.5-15.3 14.5-23.4 21.2a7.93 7.93 0 00-1.2 11.1l39.4 50.5c2.8 3.5 7.9 4.1 11.4 1.3C854.5 760.8 912 649.1 912 523.9c0-221.1-179.4-400.2-400.6-399.9z"></path>
</symbol>
<symbol id="export" viewBox="64 64 896 896">
<path d="M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM770.87 199.13l-52.2-52.2a8.01 8.01 0 014.7-13.6l179.4-21c5.1-.6 9.5 3.7 8.9 8.9l-21 179.4c-.8 6.6-8.9 9.4-13.6 4.7l-52.4-52.4-256.2 256.2a8.03 8.03 0 01-11.3 0l-42.4-42.4a8.03 8.03 0 010-11.3l256.1-256.3z"></path>
</symbol>
<symbol id="auto-fit" viewBox="64 64 896 896">
<path d="M952 474H829.8C812.5 327.6 696.4 211.5 550 194.2V72c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v122.2C327.6 211.5 211.5 327.6 194.2 474H72c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h122.2C211.5 696.4 327.6 812.5 474 829.8V952c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V829.8C696.4 812.5 812.5 696.4 829.8 550H952c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM512 756c-134.8 0-244-109.2-244-244s109.2-244 244-244 244 109.2 244 244-109.2 244-244 244z"></path>
<path d="M512 392c-32.1 0-62.1 12.4-84.8 35.2-22.7 22.7-35.2 52.7-35.2 84.8s12.5 62.1 35.2 84.8C449.9 619.4 480 632 512 632s62.1-12.5 84.8-35.2C619.4 574.1 632 544 632 512s-12.5-62.1-35.2-84.8A118.57 118.57 0 00512 392z"></path>
</symbol>
<symbol id="reset" viewBox="64 64 896 896">
<path d="M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"></path>
</symbol>
<symbol id="exit-fullscreen" viewBox="0 0 1024 1024">
<path d="M418.13333333 361.43786666c0 0.2048-0.13653333 0.4096-0.13653334 0.68266667C417.99679999 362.32533333 418.13333333 362.53013333 418.13333333 362.73493333 418.13333333 371.54133333 414.44693333 379.392 408.78079999 385.39946666 408.43946666 385.7408 408.30293333 386.21866666 408.02986666 386.49173333c-1.09226667 1.09226667-2.59413333 1.77493333-3.82293333 2.73066667C398.40426666 393.65973333 391.64586666 396.8 383.93173333 396.8 383.72693333 396.8 383.59039999 396.73173333 383.38559999 396.73173333S382.97599999 396.8 382.77119999 396.8L112.29866666 396.8C92.50133333 396.8 76.79999999 381.50826666 76.79999999 362.66666666 76.66346666 343.89333333 92.63786666 328.53333333 112.16213333 328.53333333l189.44 0L87.44959999 114.51733333C73.59146666 100.59093333 73.25013333 78.5408 86.63039999 65.29706666c13.17546667-13.44853333 35.36213333-12.97066667 49.152 0.88746667l214.08426667 214.08426667L349.86666666 90.89706666C349.79839999 71.23626666 365.22666666 55.46666666 383.99999999 55.46666666 402.77333333 55.33013333 418.13333333 71.30453333 418.13333333 90.8288L418.13333333 361.43786666zM928.90453333 328.53333333l-189.44 0 214.15253333-214.08426667c13.85813333-13.9264 14.19946667-35.90826667 0.88746667-49.22026666-13.17546667-13.44853333-35.36213333-12.97066667-49.152 0.88746666l-214.08426667 214.08426667L691.26826666 90.89706666C691.26826666 71.23626666 675.83999999 55.46666666 657.06666666 55.46666666 638.29333333 55.33013333 622.93333333 71.30453333 622.93333333 90.8288l0 270.60906666c0 0.2048 0.13653333 0.4096 0.13653333 0.68266667C623.06986666 362.32533333 622.93333333 362.53013333 622.93333333 362.73493333 622.93333333 371.54133333 626.61973333 379.392 632.28586666 385.39946666c0.34133333 0.34133333 0.47786667 0.8192 0.8192 1.09226667 1.09226667 1.09226667 2.59413333 1.77493333 3.8912 2.73066667C642.66239999 393.65973333 649.42079999 396.8 657.13493333 396.8c0.2048 0 0.34133333-0.06826667 0.54613333-0.06826667S658.09066666 396.8 658.29546666 396.8l270.5408 0C948.56533333 396.8 964.26666666 381.50826666 964.26666666 362.66666666 964.40319999 343.89333333 948.42879999 328.53333333 928.90453333 328.53333333zM418.13333333 635.73333333c0-8.8064-3.6864-16.5888-9.35253334-22.66453333C408.43946666 612.72746666 408.30293333 612.2496 408.02986666 611.90826666 406.86933333 610.88426666 405.43573333 610.2016 404.20693333 609.24586666 398.47253333 604.80853333 391.64586666 601.6 383.93173333 601.6 383.72693333 601.6 383.59039999 601.73653333 383.38559999 601.73653333S382.97599999 601.6 382.77119999 601.6L112.29866666 601.6C92.50133333 601.6 76.79999999 616.96 76.79999999 635.73333333 76.66346666 654.50666666 92.63786666 669.86666666 112.16213333 669.86666666l189.44 0-214.15253334 214.15253334c-13.85813333 13.85813333-14.19946667 35.84-0.88746666 49.22026666 13.17546667 13.44853333 35.36213333 12.9024 49.152-0.95573333l214.08426666-214.08426667 0 189.37173334c0 19.59253333 15.42826667 35.49866667 34.2016 35.36213333C402.77333333 943.2064 418.13333333 927.232 418.13333333 907.5712L418.13333333 637.09866666c0-0.27306667-0.13653333-0.47786667-0.13653334-0.68266666C417.99679999 636.14293333 418.13333333 635.93813333 418.13333333 635.73333333zM739.46453333 669.86666666l189.44 0c19.456 0 35.49866667-15.36 35.36213333-34.13333333C964.26666666 616.96 948.56533333 601.6 928.76799999 601.6L658.29546666 601.6C658.09066666 601.6 657.88586666 601.73653333 657.68106666 601.73653333S657.33973333 601.6 657.13493333 601.6C649.42079999 601.6 642.59413333 604.80853333 636.85973333 609.24586666 635.63093333 610.2016 634.19733333 610.88426666 633.03679999 611.90826666 632.76373333 612.2496 632.62719999 612.72746666 632.28586666 613.0688 626.61973333 619.14453333 622.93333333 626.92693333 622.93333333 635.73333333c0 0.2048 0.13653333 0.4096 0.13653333 0.68266667C623.06986666 636.6208 622.93333333 636.8256 622.93333333 637.09866666l0 270.5408C622.93333333 927.232 638.29333333 943.2064 657.06666666 942.93333333c18.77333333 0.13653333 34.2016-15.70133333 34.2016-35.36213333l0-189.37173334 214.08426667 214.08426667c13.78986667 13.85813333 35.90826667 14.40426667 49.152 0.95573333 13.312-13.312 12.97066667-35.36213333-0.88746667-49.22026666L739.46453333 669.86666666z" ></path></symbol>
<symbol id="request-fullscreen" viewBox="0 0 1024 1024">
<path d="M69.818182 87.598545v273.128728a34.909091 34.909091 0 0 0 69.818182 0V163.653818l221.928727 222.021818a33.512727 33.512727 0 0 0 47.383273-47.383272L186.926545 116.363636h197.073455a34.909091 34.909091 0 0 0 0-69.818181H110.871273C85.364364 46.545455 69.818182 59.671273 69.818182 87.598545zM938.542545 46.545455H665.413818a34.909091 34.909091 0 0 0 0 69.818181h197.073455L640.465455 338.292364a33.512727 33.512727 0 0 0 47.383272 47.383272l221.928728-222.021818v197.073455a34.909091 34.909091 0 0 0 69.818181 0V87.598545c0-27.927273-15.453091-41.053091-40.96-41.05309z m-827.671272 907.636363h273.128727a34.909091 34.909091 0 0 0 0-69.818182H186.926545l222.021819-221.928727a33.512727 33.512727 0 0 0-47.383273-47.383273L139.636364 837.073455V640a34.909091 34.909091 0 0 0-69.818182 0v273.128727c0 27.927273 15.546182 41.053091 41.053091 41.053091z m868.724363-41.053091V640a34.909091 34.909091 0 0 0-69.818181 0v197.073455L687.941818 615.051636a33.512727 33.512727 0 0 0-47.383273 47.383273L862.487273 884.363636H665.413818a34.909091 34.909091 0 0 0 0 69.818182h273.128727c25.6 0 41.053091-13.125818 41.053091-41.053091z" ></path></symbol>
</svg>
`;var G6=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})};class BL extends _g{constructor(x,E){super(x,Object.assign({},BL.defaultOptions,E)),this.$element=RS("toolbar",!1),this.onToolbarItemClick=te=>{const{onClick:re}=this.options;if(te.target instanceof Element&&te.target.className.includes("g6-toolbar-item")){const oe=te.target.getAttribute("value");re==null||re(oe,te.target)}};const z=this.context.canvas.getContainer();this.$element.style.display="flex",z.appendChild(this.$element),AD("g6-toolbar-css","style",{},ZK,document.head),AD("g6-toolbar-svgicon","div",{display:"none"},YK),this.$element.addEventListener("click",this.onToolbarItemClick),this.update(E)}update(x){const E=Object.create(null,{update:{get:()=>super.update}});return G6(this,void 0,void 0,function*(){E.update.call(this,x);const{className:z,position:te,style:re}=this.options;this.$element.className=`g6-toolbar ${z||""}`,Object.assign(this.$element.style,re,KK(te)),this.$element.innerHTML=yield this.getDOMContent()})}destroy(){this.$element.removeEventListener("click",this.onToolbarItemClick),this.$element.remove(),super.destroy()}getDOMContent(){return G6(this,void 0,void 0,function*(){return(yield this.options.getItems()).map(E=>`
<div class="g6-toolbar-item" value="${E.value}">
<svg aria-hidden="true" focusable="false">
<use xlink:href="#${E.id}"></use>
</svg>
</div>`).join("")})}}BL.defaultOptions={position:"top-left"};function uI(b){var x=document.createElement("div");x.innerHTML=b;var E=x.childNodes[0];return E&&x.contains(E)&&x.removeChild(E),E}function XK(b,x){return!b||!x?b:b.replace(/\\?\{([^{}]+)\}/g,function(E,z){return E.charAt(0)==="\\"?E.slice(1):x[z]===void 0?"":x[z]})}var QK=XK,H6=function(b,x){if(x==null){b.innerHTML="";return}b.replaceChildren?Array.isArray(x)?b.replaceChildren.apply(b,(0,Cn.ev)([],(0,Cn.CR)(x),!1)):b.replaceChildren(x):(b.innerHTML="",Array.isArray(x)?x.forEach(function(E){return b.appendChild(E)}):b.appendChild(x))};function cI(b){return b===void 0&&(b=""),{CONTAINER:"".concat(b,"tooltip"),TITLE:"".concat(b,"tooltip-title"),LIST:"".concat(b,"tooltip-list"),LIST_ITEM:"".concat(b,"tooltip-list-item"),NAME:"".concat(b,"tooltip-list-item-name"),MARKER:"".concat(b,"tooltip-list-item-marker"),NAME_LABEL:"".concat(b,"tooltip-list-item-name-label"),VALUE:"".concat(b,"tooltip-list-item-value"),CROSSHAIR_X:"".concat(b,"tooltip-crosshair-x"),CROSSHAIR_Y:"".concat(b,"tooltip-crosshair-y")}}var V6={overflow:"hidden","white-space":"nowrap","text-overflow":"ellipsis"};function JK(b){var x;b===void 0&&(b="");var E=cI(b);return x={},x[".".concat(E.CONTAINER)]={position:"absolute",visibility:"visible","z-index":8,transition:"visibility 0.2s cubic-bezier(0.23, 1, 0.32, 1), left 0.4s cubic-bezier(0.23, 1, 0.32, 1), top 0.4s cubic-bezier(0.23, 1, 0.32, 1)","background-color":"rgba(255, 255, 255, 0.96)","box-shadow":"0 6px 12px 0 rgba(0, 0, 0, 0.12)","border-radius":"4px",color:"rgba(0, 0, 0, 0.65)","font-size":"12px","line-height":"20px",padding:"12px","min-width":"120px","max-width":"360px","font-family":"Roboto-Regular"},x[".".concat(E.TITLE)]={color:"rgba(0, 0, 0, 0.45)"},x[".".concat(E.LIST)]={margin:"0px","list-style-type":"none",padding:"0px"},x[".".concat(E.LIST_ITEM)]={"list-style-type":"none",display:"flex","line-height":"2em","align-items":"center","justify-content":"space-between","white-space":"nowrap"},x[".".concat(E.MARKER)]={width:"8px",height:"8px","border-radius":"50%",display:"inline-block","margin-right":"4px"},x[".".concat(E.NAME)]={display:"flex","align-items":"center","max-width":"216px"},x[".".concat(E.NAME_LABEL)]=(0,Cn.pi)({flex:1},V6),x[".".concat(E.VALUE)]=(0,Cn.pi)({display:"inline-block",float:"right",flex:1,"text-align":"right","min-width":"28px","margin-left":"30px",color:"rgba(0, 0, 0, 0.85)"},V6),x[".".concat(E.CROSSHAIR_X)]={position:"absolute",width:"1px","background-color":"rgba(0, 0, 0, 0.25)"},x[".".concat(E.CROSSHAIR_Y)]={position:"absolute",height:"1px","background-color":"rgba(0, 0, 0, 0.25)"},x}var qK=function(b){(0,Cn.ZT)(x,b);function x(E){var z=this,te,re,oe=(re=(te=E.style)===null||te===void 0?void 0:te.template)===null||re===void 0?void 0:re.prefixCls,le=cI(oe);return z=b.call(this,E,{data:[],x:0,y:0,visibility:"visible",title:"",position:"bottom-right",offset:[5,5],enterable:!1,container:{x:0,y:0},bounding:null,template:{prefixCls:"",container:'<div class="'.concat(le.CONTAINER,'"></div>'),title:'<div class="'.concat(le.TITLE,'"></div>'),item:'<li class="'.concat(le.LIST_ITEM,`" data-index={index}>
<span class="`).concat(le.NAME,`">
<span class="`).concat(le.MARKER,`" style="background:{color}"></span>
<span class="`).concat(le.NAME_LABEL,`" title="{name}">{name}</span>
</span>
<span class="`).concat(le.VALUE,`" title="{value}">{value}</span>
</li>`)},style:JK(oe)})||this,z.timestamp=-1,z.prevCustomContentKey=z.attributes.contentKey,z.initShape(),z.render(z.attributes,z),z}return Object.defineProperty(x.prototype,"HTMLTooltipElement",{get:function(){return this.element},enumerable:!1,configurable:!0}),x.prototype.getContainer=function(){return this.element},Object.defineProperty(x.prototype,"elementSize",{get:function(){var E=this.element.offsetWidth,z=this.element.offsetHeight;return{width:E,height:z}},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"HTMLTooltipItemsElements",{get:function(){var E=this.attributes,z=E.data,te=E.template;return z.map(function(re,oe){var le=re.name,he=le===void 0?"":le,ge=re.color,Ae=ge===void 0?"black":ge,Pe=re.index,We=(0,Cn._T)(re,["name","color","index"]),Xe=(0,Cn.pi)({name:he,color:Ae,index:Pe!=null?Pe:oe},We);return uI(QK(te.item,Xe))})},enumerable:!1,configurable:!0}),x.prototype.render=function(E,z){this.renderHTMLTooltipElement(),this.updatePosition()},x.prototype.destroy=function(){var E;(E=this.element)===null||E===void 0||E.remove(),b.prototype.destroy.call(this)},x.prototype.show=function(E,z){var te=this;if(E!==void 0&&z!==void 0){var re=this.element.style.visibility==="hidden",oe=function(){te.attributes.x=E!=null?E:te.attributes.x,te.attributes.y=z!=null?z:te.attributes.y,te.updatePosition()};re?this.closeTransition(oe):oe()}this.element.style.visibility="visible"},x.prototype.hide=function(E,z){E===void 0&&(E=0),z===void 0&&(z=0);var te=this.attributes.enterable;te&&this.isCursorEntered(E,z)||(this.element.style.visibility="hidden")},x.prototype.initShape=function(){var E=this.attributes.template;this.element=uI(E.container),this.id&&this.element.setAttribute("id",this.id)},x.prototype.renderCustomContent=function(){if(!(this.prevCustomContentKey!==void 0&&this.prevCustomContentKey===this.attributes.contentKey)){this.prevCustomContentKey=this.attributes.contentKey;var E=this.attributes.content;E&&(typeof E=="string"?this.element.innerHTML=E:H6(this.element,E))}},x.prototype.renderHTMLTooltipElement=function(){var E,z,te=this.attributes,re=te.template,oe=te.title,le=te.enterable,he=te.style,ge=te.content,Ae=cI(re.prefixCls),Pe=this.element;if(this.element.style.pointerEvents=le?"auto":"none",ge)this.renderCustomContent();else{oe?(Pe.innerHTML=re.title,Pe.getElementsByClassName(Ae.TITLE)[0].innerHTML=oe):(z=(E=Pe.getElementsByClassName(Ae.TITLE))===null||E===void 0?void 0:E[0])===null||z===void 0||z.remove();var We=this.HTMLTooltipItemsElements,Xe=document.createElement("ul");Xe.className=Ae.LIST,H6(Xe,We);var qe=this.element.querySelector(".".concat(Ae.LIST));qe?qe.replaceWith(Xe):Pe.appendChild(Xe)}BG(Pe,he)},x.prototype.getRelativeOffsetFromCursor=function(E){var z=this.attributes,te=z.position,re=z.offset,oe=E||te,le=oe.split("-"),he={left:[-1,0],right:[1,0],top:[0,-1],bottom:[0,1]},ge=this.elementSize,Ae=ge.width,Pe=ge.height,We=[-Ae/2,-Pe/2];return le.forEach(function(Xe){var qe=(0,Cn.CR)(We,2),nt=qe[0],at=qe[1],pt=(0,Cn.CR)(he[Xe],2),mt=pt[0],bt=pt[1];We=[nt+(Ae/2+re[0])*mt,at+(Pe/2+re[1])*bt]}),We},x.prototype.setOffsetPosition=function(E){var z=(0,Cn.CR)(E,2),te=z[0],re=z[1],oe=this.attributes,le=oe.x,he=le===void 0?0:le,ge=oe.y,Ae=ge===void 0?0:ge,Pe=oe.container,We=Pe.x,Xe=Pe.y;this.element.style.left="".concat(+he+We+te,"px"),this.element.style.top="".concat(+Ae+Xe+re,"px")},x.prototype.updatePosition=function(){var E=this.attributes.showDelay,z=E===void 0?60:E,te=Date.now();this.timestamp>0&&te-this.timestamp<z||(this.timestamp=te,this.setOffsetPosition(this.autoPosition(this.getRelativeOffsetFromCursor())))},x.prototype.autoPosition=function(E){var z=(0,Cn.CR)(E,2),te=z[0],re=z[1],oe=this.attributes,le=oe.x,he=oe.y,ge=oe.bounding,Ae=oe.position;if(!ge)return[te,re];var Pe=this.element,We=Pe.offsetWidth,Xe=Pe.offsetHeight,qe=(0,Cn.CR)([+le+te,+he+re],2),nt=qe[0],at=qe[1],pt={left:"right",right:"left",top:"bottom",bottom:"top"},mt=ge.x,bt=ge.y,jt=ge.width,Ut=ge.height,Kt={left:nt<mt,right:nt+We>mt+jt,top:at<bt,bottom:at+Xe>bt+Ut},Qt=[];Ae.split("-").forEach(function(vn){Kt[vn]?Qt.push(pt[vn]):Qt.push(vn)});var Vt=Qt.join("-");return this.getRelativeOffsetFromCursor(Vt)},x.prototype.isCursorEntered=function(E,z){if(this.element){var te=this.element.getBoundingClientRect(),re=te.x,oe=te.y,le=te.width,he=te.height;return new rp(re,oe,le,he).isPointIn(E,z)}return!1},x.prototype.closeTransition=function(E){var z=this,te=this.element.style.transition;this.element.style.transition="none",E(),setTimeout(function(){z.element.style.transition=te},10)},x.tag="tooltip",x}(Bd),K6=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})};class RL extends _g{constructor(x,E){super(x,Object.assign({},RL.defaultOptions,E)),this.currentTarget=null,this.tooltipElement=null,this.container=null,this.isEnable=(z,te)=>{const{enable:re}=this.options;return typeof re=="function"?re(z,te):re},this.onClick=z=>{const{target:{id:te}}=z;this.currentTarget===te?this.hide(z):this.show(z)},this.onPointerMove=z=>{const{target:te}=z;!this.currentTarget||te.id===this.currentTarget||this.show(z)},this.onPointerLeave=z=>{this.hide(z)},this.onCanvasMove=z=>{this.hide(z)},this.onPointerEnter=z=>{this.show(z)},this.showById=z=>K6(this,void 0,void 0,function*(){const te={target:{id:z}};yield this.show(te)}),this.getElementData=(z,te)=>{const{model:re}=this.context;switch(te){case"node":return re.getNodeData([z]);case"edge":return re.getEdgeData([z]);case"combo":return re.getComboData([z]);default:return[]}},this.show=z=>K6(this,void 0,void 0,function*(){var te,re;const{client:oe,target:{id:le}}=z;if(CM(z.target))return;const he=this.context.graph.getElementType(le),{getContent:ge,title:Ae}=this.options,Pe=this.getElementData(le,he);if(!this.tooltipElement||!this.isEnable(z,Pe))return;let We={};if(ge){if(We.content=yield ge(z,Pe),!We.content)return}else{const nt=this.context.graph.getElementRenderStyle(le),at=he==="node"?nt.fill:nt.stroke;We={title:Ae||he,data:Pe.map(pt=>({name:"ID",value:pt.id||`${pt.source} -> ${pt.target}`,color:at}))}}this.currentTarget=le;let Xe,qe;if(oe)Xe=oe.x,qe=oe.y;else{const nt=xp(Pe,"0.style",{x:0,y:0});Xe=nt.x,qe=nt.y}(re=(te=this.options).onOpenChange)===null||re===void 0||re.call(te,!0),this.tooltipElement.update(Object.assign(Object.assign(Object.assign({},this.tooltipStyleProps),{x:Xe,y:qe,style:{".tooltip":{visibility:"visible"}}}),We))}),this.hide=z=>{var te,re,oe,le,he;if(!z){(re=(te=this.options).onOpenChange)===null||re===void 0||re.call(te,!1),(oe=this.tooltipElement)===null||oe===void 0||oe.hide(),this.currentTarget=null;return}if(!this.tooltipElement||!this.currentTarget)return;const{client:{x:ge,y:Ae}}=z;(he=(le=this.options).onOpenChange)===null||he===void 0||he.call(le,!1),this.tooltipElement.hide(ge,Ae),this.currentTarget=null},this.initTooltip=()=>{var z;const te=new qK({className:"tooltip",style:this.tooltipStyleProps});return(z=this.container)===null||z===void 0||z.appendChild(te.HTMLTooltipElement),te},this.render(),this.bindEvents()}getEvents(){return this.options.trigger==="click"?{"node:click":this.onClick,"edge:click":this.onClick,"combo:click":this.onClick,"canvas:click":this.onPointerLeave,contextmenu:this.onPointerLeave,drag:this.onPointerLeave}:{"node:pointerenter":this.onPointerEnter,"node:pointermove":this.onPointerMove,"canvas:pointermove":this.onCanvasMove,"edge:pointerenter":this.onPointerEnter,"edge:pointermove":this.onPointerMove,"combo:pointerenter":this.onPointerEnter,"combo:pointermove":this.onPointerMove,contextmenu:this.onPointerLeave,"node:drag":this.onPointerLeave}}update(x){var E;this.unbindEvents(),super.update(x),this.tooltipElement&&((E=this.container)===null||E===void 0||E.removeChild(this.tooltipElement.HTMLTooltipElement)),this.tooltipElement=this.initTooltip(),this.bindEvents()}render(){const{canvas:x}=this.context,E=x.getContainer();E&&(this.container=E,this.tooltipElement=this.initTooltip())}unbindEvents(){const{graph:x}=this.context,E=this.getEvents();Object.keys(E).forEach(z=>{x.off(z,E[z])})}bindEvents(){const{graph:x}=this.context,E=this.getEvents();Object.keys(E).forEach(z=>{x.on(z,E[z])})}get tooltipStyleProps(){const{canvas:x}=this.context,{center:E}=x.getBounds(),z=x.getContainer(),{top:te,left:re}=z.getBoundingClientRect(),{style:oe,position:le,enterable:he,container:ge={x:-re,y:-te},title:Ae,offset:Pe}=this.options,[We,Xe]=E,[qe,nt]=x.getSize();return{x:We,y:Xe,container:ge,title:Ae,bounding:{x:0,y:0,width:qe,height:nt},position:le,enterable:he,offset:Pe,style:oe}}destroy(){var x;this.unbindEvents(),this.tooltipElement&&((x=this.container)===null||x===void 0||x.removeChild(this.tooltipElement.HTMLTooltipElement)),super.destroy()}}RL.defaultOptions={trigger:"hover",position:"top-right",enterable:!1,enable:!0,offset:[10,10],style:{".tooltip":{visibility:"hidden"}}};var Z6=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})};let jS;function Y6(b,x){return jS||(jS=document.createElement("canvas")),jS.width=b,jS.height=x,jS.getContext("2d").clearRect(0,0,b,x),jS}function $K(b,x,E,z){return Z6(this,void 0,void 0,function*(){const te=Y6(b,x),re=te.getContext("2d"),{rotate:oe,opacity:le,textFill:he,textFontSize:ge,textFontFamily:Ae,textFontVariant:Pe,textFontWeight:We,textAlign:Xe,textBaseline:qe}=z;return re.textAlign=Xe,re.textBaseline=qe,re.translate(b/2,x/2),re.font=`${ge}px ${Ae} ${Pe} ${We}`,oe&&re.rotate(oe),le&&(re.globalAlpha=le),he&&(re.fillStyle=he,re.fillText(`${E}`,0,0)),te.toDataURL()})}function eZ(b,x,E,z){return Z6(this,void 0,void 0,function*(){const te=Y6(b,x),re=te.getContext("2d"),{rotate:oe,opacity:le}=z;oe&&re.rotate(oe),le&&(re.globalAlpha=le);const he=new Image;return he.crossOrigin="anonymous",he.src=E,new Promise(ge=>{he.onload=function(){const Ae=b>he.width?(b-he.width)/2:0,Pe=x>he.height?(x-he.height)/2:0;re.drawImage(he,0,0,he.width,he.height,Ae,Pe,b-Ae*2,x-Pe*2),ge(te.toDataURL())}})})}var tZ=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})},nZ=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};class kL extends _g{constructor(x,E){super(x,Object.assign({},kL.defaultOptions,E)),this.$element=RS("watermark"),this.context.canvas.getContainer().appendChild(this.$element),this.update(E)}update(x){const E=Object.create(null,{update:{get:()=>super.update}});return tZ(this,void 0,void 0,function*(){E.update.call(this,x);const z=this.options,{width:te,height:re,text:oe,imageURL:le}=z,he=nZ(z,["width","height","text","imageURL"]);Object.keys(he).forEach(Ae=>{Ae.startsWith("background")&&(this.$element.style[Ae]=x[Ae])});const ge=le?yield eZ(te,re,le,he):yield $K(te,re,oe,he);this.$element.style.backgroundImage=`url(${ge})`})}destroy(){super.destroy(),this.$element.remove()}}kL.defaultOptions={width:200,height:100,opacity:.2,rotate:Math.PI/12,text:"",textFill:"#000",textFontSize:16,textAlign:"center",textBaseline:"middle",backgroundRepeat:"repeat"};const rZ=["#7E92B5","#F4664A","#FFBE3A"],iZ={type:"group",color:["#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]},oZ={type:"group",color:["#99ADD1","#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]};function X6(b){const{bgColor:x,textColor:E,nodeColor:z,nodeColorDisabled:te,nodeStroke:re,nodeHaloStrokeOpacityActive:oe=.15,nodeHaloStrokeOpacitySelected:le=.25,nodeOpacityDisabled:he=.06,nodeIconOpacityInactive:ge=.85,nodeOpacityInactive:Ae=.25,nodeBadgePalette:Pe=rZ,nodePaletteOptions:We=iZ,edgeColor:Xe,edgeColorDisabled:qe,edgePaletteOptions:nt=oZ,comboColor:at,comboColorDisabled:pt,comboStroke:mt,comboStrokeDisabled:bt,edgeColorInactive:jt}=b;return{background:x,node:{palette:We,style:{donutOpacity:1,badgeBackgroundOpacity:1,badgeFill:"#fff",badgeFontSize:8,badgePadding:[0,4],badgePalette:Pe,fill:z,fillOpacity:1,halo:!1,iconFill:"#fff",iconOpacity:1,labelBackground:!1,labelBackgroundFill:x,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelFill:E,labelFillOpacity:.85,labelLineHeight:16,labelPadding:[0,2],labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelOffsetY:2,lineWidth:0,portFill:z,portLineWidth:1,portStroke:re,portStrokeOpacity:.65,size:32,stroke:re,strokeOpacity:1,zIndex:2},state:{selected:{halo:!0,haloLineWidth:24,haloStrokeOpacity:le,labelFontSize:12,labelFontWeight:"bold",lineWidth:4,stroke:re},active:{halo:!0,haloLineWidth:12,haloStrokeOpacity:oe},highlight:{labelFontWeight:"bold",lineWidth:4,stroke:re,strokeOpacity:.85},inactive:{badgeBackgroundOpacity:Ae,donutOpacity:Ae,fillOpacity:Ae,iconOpacity:ge,labelFill:E,labelFillOpacity:Ae,strokeOpacity:Ae},disabled:{badgeBackgroundOpacity:.25,donutOpacity:he,fill:te,fillOpacity:he,iconFill:te,iconOpacity:.25,labelFill:E,labelFillOpacity:.25,strokeOpacity:he}},animation:{enter:"fade",exit:"fade",show:"fade",hide:"fade",expand:"node-expand",collapse:"node-collapse",update:[{fields:["x","y","fill","stroke"]}],translate:[{fields:["x","y"]}]}},edge:{palette:nt,style:{badgeBackgroundFill:Xe,badgeFill:"#fff",badgeFontSize:8,badgeOffsetX:10,fillOpacity:1,halo:!1,haloLineWidth:12,haloStrokeOpacity:1,increasedLineWidthForHitTesting:2,labelBackground:!1,labelBackgroundFill:x,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[4,4,4,4],labelFill:E,labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelPlacement:"center",labelTextBaseline:"middle",lineWidth:1,stroke:Xe,strokeOpacity:1,zIndex:1},state:{selected:{halo:!0,haloStrokeOpacity:.25,labelFontSize:14,labelFontWeight:"bold",lineWidth:3},active:{halo:!0,haloStrokeOpacity:.15},highlight:{labelFontWeight:"bold",lineWidth:3},inactive:{stroke:jt,fillOpacity:.08,labelOpacity:.25,strokeOpacity:.08,badgeBackgroundOpacity:.25},disabled:{stroke:qe,fillOpacity:.45,strokeOpacity:.45,labelOpacity:.25,badgeBackgroundOpacity:.45}},animation:{enter:"fade",exit:"fade",expand:"path-in",collapse:"path-out",show:"fade",hide:"fade",update:[{fields:["sourceNode","targetNode"]},{fields:["stroke"],shape:"key"}],translate:[{fields:["sourceNode","targetNode"]}]}},combo:{style:{collapsedMarkerFill:x,collapsedMarkerFontSize:12,collapsedMarkerFillOpacity:1,collapsedSize:32,collapsedFillOpacity:1,fill:at,halo:!1,haloLineWidth:12,haloStroke:mt,haloStrokeOpacity:.25,labelBackground:!1,labelBackgroundFill:x,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[2,4,2,4],labelFill:E,labelFontSize:12,labelFontWeight:400,labelOpacity:1,lineDash:0,lineWidth:1,fillOpacity:.04,strokeOpacity:1,padding:10,stroke:mt},state:{selected:{halo:!0,labelFontSize:14,labelFontWeight:700,lineWidth:4},active:{halo:!0},highlight:{labelFontWeight:700,lineWidth:4},inactive:{fillOpacity:.65,labelOpacity:.25,strokeOpacity:.65},disabled:{fill:pt,fillOpacity:.25,labelOpacity:.25,stroke:bt,strokeOpacity:.25}},animation:{enter:"fade",exit:"fade",show:"fade",hide:"fade",expand:"combo-expand",collapse:"combo-collapse",update:[{fields:["x","y"]},{fields:["fill","stroke","lineWidth"],shape:"key"}],translate:[{fields:["x","y"]}]}}}}const aZ=X6({bgColor:"#000000",comboColor:"#fdfdfd",comboColorDisabled:"#d0e4ff",comboStroke:"#99add1",comboStrokeDisabled:"#969696",edgeColor:"#637088",edgeColorDisabled:"#637088",edgeColorInactive:"#D0E4FF",edgePaletteOptions:{type:"group",color:["#637088","#0F55A6","#008383","#9C5D38","#8B53A6","#4E40A6","#8F6608","#3E801D","#A65383","#175E75","#0F8248"]},nodeColor:"#1783ff",nodeColorDisabled:"#D0E4FF",nodeHaloStrokeOpacityActive:.25,nodeHaloStrokeOpacitySelected:.45,nodeIconOpacityInactive:.45,nodeOpacityDisabled:.25,nodeOpacityInactive:.45,nodeStroke:"#d0e4ff",textColor:"#ffffff"}),sZ=X6({bgColor:"#ffffff",comboColor:"#99ADD1",comboColorDisabled:"#f0f0f0",comboStroke:"#99add1",comboStrokeDisabled:"#d9d9d9",edgeColor:"#99add1",edgeColorDisabled:"#d9d9d9",edgeColorInactive:"#1B324F",nodeColor:"#1783ff",nodeColorDisabled:"#1B324F",nodeHaloStrokeOpacityActive:.15,nodeHaloStrokeOpacitySelected:.25,nodeIconOpacityInactive:.85,nodeOpacityDisabled:.06,nodeOpacityInactive:.25,nodeStroke:"#000000",textColor:"#000000"});class Cx extends x5{beforeDraw(x,E){return x}afterLayout(x,E){}}class lZ extends Cx{beforeDraw(x){const{model:E}=this.context,z=x.add.combos,te=re=>{const oe=[];return re.forEach((le,he)=>{const Ae=E.getAncestorsData(he,"combo").map(Pe=>Xi(Pe)).reverse();oe.push([he,le,Ae.length])}),new Map(oe.sort(([,,le],[,,he])=>he-le).map(([le,he])=>[le,he]))};return x.add.combos=te(z),x.update.combos=te(x.update.combos),x}}function M0(b,x,E,z,te){const re=Xi(z),oe=`${E}s`,le=te?z:b.add[oe].get(re)||b.update[oe].get(re)||b.remove[oe].get(re)||z;Object.entries(b).forEach(([he,ge])=>{x===he?ge[oe].set(re,le):ge[oe].delete(re)})}function FL(b,x){return Object.keys(b).every(E=>b[E]===x[E])}class uZ extends Cx{beforeDraw(x,E){if(E.stage==="visibility"||!this.context.model.model.hasTreeStructure(hh))return x;const{model:z}=this.context,{add:te,update:re}=x,oe=[...x.update.combos.entries(),...x.add.combos.entries()];for(;oe.length;){const[le,he]=oe.pop();if(qp(he)){const ge=z.getDescendantsData(le),Ae=ge.map(Xi),{internal:Pe,external:We}=U5(Ae,Xe=>z.getRelatedEdgesData(Xe));ge.forEach(Xe=>{const qe=Xi(Xe),nt=oe.findIndex(([pt])=>pt===qe);nt!==-1&&oe.splice(nt,1);const at=z.getElementType(qe);M0(x,"remove",at,Xe)}),Pe.forEach(Xe=>M0(x,"remove","edge",Xe)),We.forEach(Xe=>{var qe;const nt=Xi(Xe);((qe=this.context.element)===null||qe===void 0?void 0:qe.getElement(nt))?re.edges.set(nt,Xe):te.edges.set(nt,Xe)})}else{const ge=z.getChildrenData(le),Ae=ge.map(Xi),{edges:Pe}=U5(Ae,We=>z.getRelatedEdgesData(We));[...ge,...Pe].forEach(We=>{var Xe;const qe=Xi(We),nt=z.getElementType(qe);((Xe=this.context.element)===null||Xe===void 0?void 0:Xe.getElement(qe))?M0(x,"update",nt,We):M0(x,"add",nt,We),nt==="combo"&&oe.push([qe,We])})}}return x}}const Q6=(b,x,E,z)=>{const te=`${E}s`,re=Xi(z);!b.add[te].has(re)&&!b.update[te].has(re)&&b[x][te].set(Xi(z),z)};class cZ extends Cx{getElement(x){return this.context.element.getElement(x)}handleExpand(x,E){if(Q6(E,"add","node",x),qp(x))return;const z=Xi(x);Q6(E,"add","node",x),this.context.model.getRelatedEdgesData(z,"out").forEach(oe=>{M0(E,"add","edge",oe)}),this.context.model.getChildrenData(z).forEach(oe=>{this.handleExpand(oe,E)})}beforeDraw(x){const{graph:E,model:z}=this.context;if(!z.model.hasTreeStructure(E0))return x;const{add:{nodes:te,edges:re},update:{nodes:oe}}=x,le=new Map,he=new Map;te.forEach((Ae,Pe)=>{qp(Ae)&&le.set(Pe,Ae)}),re.forEach(Ae=>{if(E.getElementType(Ae.source)!=="node")return;const Pe=E.getNodeData(Ae.source);qp(Pe)&&le.set(Ae.source,Pe)}),oe.forEach((Ae,Pe)=>{const We=this.getElement(Pe);if(!We)return;const Xe=We.attributes.collapsed;qp(Ae)?Xe||le.set(Pe,Ae):Xe&&he.set(Pe,Ae)});const ge=new Set;return le.forEach((Ae,Pe)=>{z.getDescendantsData(Pe).forEach(Xe=>{const qe=Xi(Xe);if(ge.has(qe))return;M0(x,"remove","node",Xe),z.getRelatedEdgesData(qe).forEach(at=>{M0(x,"remove","edge",at)}),ge.add(qe)})}),he.forEach((Ae,Pe)=>{if(z.getAncestorsData(Pe,E0).some(qp)){M0(x,"remove","node",Ae);return}this.handleExpand(Ae,x)}),x}}const hI=new WeakMap;function T$(b,x,E){hI.has(b)||hI.set(b,{});const z=hI.get(b);if(!z[x])return z[x]=E,!0;const te=z[x];return J6(te,E)?!1:(z[x]=E,!0)}const J6=(b,x,E=2)=>{if(typeof b!="object"||typeof x!="object")return b===x;const z=Object.keys(b),te=Object.keys(x);if(z.length!==te.length)return!1;for(const re of z){const oe=b[re],le=x[re];if(E>1&&typeof oe=="object"&&typeof le=="object"){if(!J6(oe,le,E-1))return!1}else if(oe!==le)return!1}return!0};function hZ(b,x,E,z=!1){const te=n5[b][x];!z&&te?te!==E&&Jp.warn(`The extension ${x} of ${b} has been registered before.`):Object.assign(n5[b],{[x]:E})}var q6=function(){function b(x){(0,$r.Z)(this,b),this.dragndropPluginOptions=x}return(0,qi.Z)(b,[{key:"apply",value:function(E){var z=this,te=E.renderingService,re=E.renderingContext,oe=re.root.ownerDocument,le=oe.defaultView,he=function(Ae){var Pe=Ae.target,We=Pe===oe,Xe=We&&z.dragndropPluginOptions.isDocumentDraggable?oe:Pe.closest&&Pe.closest("[draggable=true]");if(Xe){var qe=!1,nt=Ae.timeStamp,at=[Ae.clientX,Ae.clientY],pt=null,mt=[Ae.clientX,Ae.clientY],bt=function(){var Ut=(0,Bv.Z)((0,Gd.Z)().mark(function Kt(Qt){var Vt,vn,wn,kn,Vn,vr;return(0,Gd.Z)().wrap(function(Or){for(;;)switch(Or.prev=Or.next){case 0:if(qe){Or.next=8;break}if(Vt=Qt.timeStamp-nt,vn=bg([Qt.clientX,Qt.clientY],at),!(Vt<=z.dragndropPluginOptions.dragstartTimeThreshold||vn<=z.dragndropPluginOptions.dragstartDistanceThreshold)){Or.next=5;break}return Or.abrupt("return");case 5:Qt.type="dragstart",Xe.dispatchEvent(Qt),qe=!0;case 8:if(Qt.type="drag",Qt.dx=Qt.clientX-mt[0],Qt.dy=Qt.clientY-mt[1],Xe.dispatchEvent(Qt),mt=[Qt.clientX,Qt.clientY],We){Or.next=21;break}return wn=z.dragndropPluginOptions.overlap==="pointer"?[Qt.canvasX,Qt.canvasY]:Pe.getBounds().center,Or.next=17,oe.elementsFromPoint(wn[0],wn[1]);case 17:kn=Or.sent,Vn=kn[kn.indexOf(Pe)+1],vr=(Vn==null?void 0:Vn.closest("[droppable=true]"))||(z.dragndropPluginOptions.isDocumentDroppable?oe:null),pt!==vr&&(pt&&(Qt.type="dragleave",Qt.target=pt,pt.dispatchEvent(Qt)),vr&&(Qt.type="dragenter",Qt.target=vr,vr.dispatchEvent(Qt)),pt=vr,pt&&(Qt.type="dragover",Qt.target=pt,pt.dispatchEvent(Qt)));case 21:case"end":return Or.stop()}},Kt)}));return function(Qt){return Ut.apply(this,arguments)}}();le.addEventListener("pointermove",bt);var jt=function(Kt){if(qe){Kt.detail={preventClick:!0};var Qt=Kt.clone();pt&&(Qt.type="drop",Qt.target=pt,pt.dispatchEvent(Qt)),Qt.type="dragend",Xe.dispatchEvent(Qt),qe=!1}le.removeEventListener("pointermove",bt)};Pe.addEventListener("pointerup",jt,{once:!0}),Pe.addEventListener("pointerupoutside",jt,{once:!0})}};te.hooks.init.tap(b.tag,function(){le.addEventListener("pointerdown",he)}),te.hooks.destroy.tap(b.tag,function(){le.removeEventListener("pointerdown",he)})}}])}();q6.tag="Dragndrop";var dZ=function(b){function x(){var E,z=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,$r.Z)(this,x),E=Ls(this,x),E.name="dragndrop",E.options=z,E}return(0,ps.Z)(x,b),(0,qi.Z)(x,[{key:"init",value:function(){this.addRenderingPlugin(new q6((0,Ho.Z)({overlap:"pointer",isDocumentDraggable:!1,isDocumentDroppable:!1,dragstartDistanceThreshold:0,dragstartTimeThreshold:0},this.options)))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}},{key:"setOptions",value:function(z){Object.assign(this.plugins[0].dragndropPluginOptions,z)}}])}(d0),$6=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})},eR=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};const tR=["main"],nR=["background","main","label","transient"];function fZ(b){return b.main}class rR{getConfig(){return this.config}getLayer(x="main"){return this.extends.layers[x]||fZ(this.getLayers())}getLayers(){return this.extends.layers}getRenderer(x){return this.extends.renderers[x]}getCamera(x="main"){return this.getLayer(x).getCamera()}getRoot(x="main"){return this.getLayer(x).getRoot()}getContextService(x="main"){return this.getLayer(x).getContextService()}setCursor(x){this.config.cursor=x,this.getLayer().setCursor(x)}get document(){return this.getLayer().document}get context(){return this.getLayer().context}constructor(x){this.config={enableMultiLayer:!0},Object.assign(this.config,x);const E=this.config,{renderer:z,background:te,cursor:re,enableMultiLayer:oe}=E,le=eR(E,["renderer","background","cursor","enableMultiLayer"]),he=oe?nR:tR,ge=iR(z,he),Ae=Object.fromEntries(he.map(Pe=>{const We=new pd(Object.assign(Object.assign({},le),{supportsMutipleCanvasesInOneContainer:oe,renderer:ge[Pe],background:oe?Pe==="background"?te:void 0:te}));return[Pe,We]}));oR(Ae),this.extends={config:this.config,renderer:z,renderers:ge,layers:Ae}}get ready(){return Promise.all(Object.entries(this.getLayers()).map(([,x])=>x.ready))}resize(x,E){Object.assign(this.extends.config,{width:x,height:E}),Object.values(this.getLayers()).forEach(z=>{const te=z.getCamera(),re=te.getPosition(),oe=te.getFocalPoint();z.resize(x,E),te.setPosition(re),te.setFocalPoint(oe)})}getBounds(x){return zC(Object.values(this.getLayers()).map(E=>x?E.getRoot().childNodes.find(te=>te.classList.includes(x)):E.getRoot()).filter(E=>(E==null?void 0:E.childNodes.length)>0).map(E=>E.getBounds()))}getContainer(){const x=this.extends.config.container;return typeof x=="string"?document.getElementById(x):x}getSize(){return[this.extends.config.width||0,this.extends.config.height||0]}appendChild(x,E){var z;const te=((z=x.style)===null||z===void 0?void 0:z.$layer)||"main";return this.getLayer(te).appendChild(x,E)}setRenderer(x){if(x===this.extends.renderer)return;const E=iR(x,this.config.enableMultiLayer?nR:tR);this.extends.renderers=E,Object.entries(E).forEach(([z,te])=>this.getLayer(z).setRenderer(te)),oR(this.getLayers())}getCanvasByViewport(x){return kg(this.getLayer().viewport2Canvas(tm(x)))}getViewportByCanvas(x){return kg(this.getLayer().canvas2Viewport(tm(x)))}getViewportByClient(x){return kg(this.getLayer().client2Viewport(tm(x)))}getClientByViewport(x){return kg(this.getLayer().viewport2Client(tm(x)))}getClientByCanvas(x){return this.getClientByViewport(this.getViewportByCanvas(x))}getCanvasByClient(x){const E=this.getLayer(),z=E.client2Viewport(tm(x));return kg(E.viewport2Canvas(z))}toDataURL(){return $6(this,arguments,void 0,function*(x={}){const E=globalThis.devicePixelRatio||1,{mode:z="viewport"}=x,te=eR(x,["mode"]);let[re,oe,le,he]=[0,0,0,0];if(z==="viewport")[le,he]=this.getSize();else if(z==="overall"){const pt=this.getBounds(),mt=ax(pt);[re,oe]=pt.min,[le,he]=mt}const ge=uI('<div id="virtual-image"></div>'),Ae=new pd({width:le,height:he,renderer:new dM,devicePixelRatio:E,container:ge,background:this.extends.config.background});yield Ae.ready,Ae.appendChild(this.getLayer("background").getRoot().cloneNode(!0)),Ae.appendChild(this.getRoot().cloneNode(!0));const Pe=this.getLayer("label").getRoot().cloneNode(!0),We=Ae.viewport2Canvas({x:0,y:0}),Xe=this.getCanvasByViewport([0,0]);Pe.translate([Xe[0]-We.x,Xe[1]-We.y]),Pe.scale(1/this.getCamera().getZoom()),Ae.appendChild(Pe),Ae.appendChild(this.getLayer("transient").getRoot().cloneNode(!0));const qe=this.getCamera(),nt=Ae.getCamera();if(z==="viewport")nt.setZoom(qe.getZoom()),nt.setPosition(qe.getPosition()),nt.setFocalPoint(qe.getFocalPoint());else if(z==="overall"){const[pt,mt,bt]=nt.getPosition(),[jt,Ut,Kt]=nt.getFocalPoint();nt.setPosition([pt+re,mt+oe,bt]),nt.setFocalPoint([jt+re,Ut+oe,Kt])}const at=Ae.getContextService();return new Promise(pt=>{Ae.addEventListener(gd.RERENDER,()=>$6(this,void 0,void 0,function*(){yield new Promise(bt=>setTimeout(bt,300));const mt=yield at.toDataURL(te);pt(mt)}))})})}destroy(){Object.values(this.getLayers()).forEach(x=>{x.getCamera().cancelLandmarkAnimation(),x.destroy()})}}function iR(b,x){return Object.fromEntries(x.map(E=>{const z=(b==null?void 0:b(E))||new dM;return E==="main"?z.registerPlugin(new dZ({isDocumentDraggable:!0,isDocumentDroppable:!0,dragstartDistanceThreshold:10,dragstartTimeThreshold:100})):z.unregisterPlugin(z.getPlugin("dom-interaction")),[E,z]}))}function oR(b){Object.entries(b).forEach(([x,E])=>{const z=E.getContextService().getDomElement();z!=null&&z.style&&(z.style.gridArea="1 / 1 / 2 / 2",z.style.outline="none",z.tabIndex=1,x!=="main"&&(z.style.pointerEvents="none")),z!=null&&z.parentElement&&(z.parentElement.style.display="grid")})}const WS=b=>b?parseInt(b):0;function gZ(b){const x=getComputedStyle(b),E=b.clientWidth||WS(x.width),z=b.clientHeight||WS(x.height),te=WS(x.paddingLeft)+WS(x.paddingRight),re=WS(x.paddingTop)+WS(x.paddingBottom);return[E-te,z-re]}function aR(b){if(!b)return[0,0];let x=640,E=480;const[z,te]=gZ(b);x=z||x,E=te||E;const re=1,oe=1;return[Math.max(As(x)?x:re,re),Math.max(As(E)?E:oe,oe)]}class _L{constructor(x){this.type=x}}class ff extends _L{constructor(x,E){super(x),this.data=E}}class Av extends _L{constructor(x,E,z,te){super(x),this.animationType=E,this.animation=z,this.data=te}}class US extends _L{constructor(x,E,z){super(x),this.elementType=E,this.data=z}}class zL extends _L{constructor(x,E){super(x),this.data=E}}function Gf(b,x){b.emit(x.type,x)}function pZ(b){if(!b)return null;if(b instanceof Gy)return{type:"canvas",element:b};let x=b;for(;x;){if(JC(x))return{type:"node",element:x};if(WO(x))return{type:"edge",element:x};if(G5(x))return{type:"combo",element:x};x=x.parentElement}return null}function sR(b){var x;return((x=b==null?void 0:b.style)===null||x===void 0?void 0:x.zIndex)||0}const GS="cachedStyle",jL=b=>`__${b}__`;function vZ(b,x){const E=Array.isArray(x)?x:[x];xp(b,GS)||KC(b,GS,{}),E.forEach(z=>{KC(xp(b,GS),jL(z),b.attributes[z])})}function lR(b,x){return xp(b,[GS,jL(x)])}function mZ(b,x){return jL(x)in(xp(b,GS)||{})}function D$(b,x,E){set(b,[GS,jL(x)],E)}class yZ{constructor(x){this.tasks=[],this.animations=new Set,this.context=x}getTasks(){const x=[...this.tasks];return this.tasks=[],x}add(x,E){this.tasks.push([x,E])}animate(x,E,z){var te,re,oe;(te=E==null?void 0:E.before)===null||te===void 0||te.call(E);const le=this.getTasks().map(([ge,Ae])=>{var Pe,We,Xe;const{element:qe,elementType:nt,stage:at}=ge,pt=jk(this.context.options,nt,at,x);(Pe=Ae==null?void 0:Ae.before)===null||Pe===void 0||Pe.call(Ae);const mt=pt.length?Uk(qe,this.inferStyle(ge,z),pt):null;return mt?((We=Ae==null?void 0:Ae.beforeAnimate)===null||We===void 0||We.call(Ae,mt),mt.finished.then(()=>{var bt,jt;(bt=Ae==null?void 0:Ae.afterAnimate)===null||bt===void 0||bt.call(Ae,mt),(jt=Ae==null?void 0:Ae.after)===null||jt===void 0||jt.call(Ae),this.animations.delete(mt)})):(Xe=Ae==null?void 0:Ae.after)===null||Xe===void 0||Xe.call(Ae),mt}).filter(Boolean);le.forEach(ge=>this.animations.add(ge));const he=r5(le);return he?((re=E==null?void 0:E.beforeAnimate)===null||re===void 0||re.call(E,he),he.finished.then(()=>{var ge,Ae;(ge=E==null?void 0:E.afterAnimate)===null||ge===void 0||ge.call(E,he),(Ae=E==null?void 0:E.after)===null||Ae===void 0||Ae.call(E),this.release()})):(oe=E==null?void 0:E.after)===null||oe===void 0||oe.call(E),he}inferStyle(x,E){var z,te;const{element:re,elementType:oe,stage:le,originalStyle:he,updatedStyle:ge={}}=x;x.modifiedStyle||(x.modifiedStyle=Object.assign(Object.assign({},he),ge));const{modifiedStyle:Ae}=x,Pe={},We={};if(le==="enter")Object.assign(Pe,{opacity:0});else if(le==="exit")Object.assign(We,{opacity:0});else if(le==="show")Object.assign(Pe,{opacity:0}),Object.assign(We,{opacity:(z=lR(re,"opacity"))!==null&&z!==void 0?z:_C("opacity")});else if(le==="hide")Object.assign(Pe,{opacity:(te=lR(re,"opacity"))!==null&&te!==void 0?te:_C("opacity")}),Object.assign(We,{opacity:0});else if(le==="collapse"){const{collapse:Xe}=E||{},{target:qe,descendants:nt,position:at}=Xe;if(oe==="node"){if(nt.includes(re.id)){const[pt,mt,bt]=at;Object.assign(We,{x:pt,y:mt,z:bt})}}else if(oe==="combo"){if(re.id===qe||nt.includes(re.id)){const[pt,mt]=at;Object.assign(We,{x:pt,y:mt,childrenNode:he.childrenNode})}}else oe==="edge"&&Object.assign(We,{sourceNode:Ae.sourceNode,targetNode:Ae.targetNode})}else if(le==="expand"){const{expand:Xe}=E||{},{target:qe,descendants:nt,position:at}=Xe;if(oe==="node"){if(re.id===qe||nt.includes(re.id)){const[pt,mt,bt]=at;Object.assign(Pe,{x:pt,y:mt,z:bt})}}else if(oe==="combo"){if(re.id===qe||nt.includes(re.id)){const[pt,mt,bt]=at;Object.assign(Pe,{x:pt,y:mt,z:bt,childrenNode:Ae.childrenNode})}}else oe==="edge"&&Object.assign(Pe,{sourceNode:Ae.sourceNode,targetNode:Ae.targetNode})}return[Object.keys(Pe).length>0?Object.assign({},he,Pe):he,Object.keys(We).length>0?Object.assign({},Ae,We):Ae]}stop(){this.animations.forEach(x=>x.cancel())}clear(){this.tasks=[]}release(){var x,E;const{canvas:z}=this.context,te=(E=(x=z.document)===null||x===void 0?void 0:x.timeline)===null||E===void 0?void 0:E.animationsWithPromises;te&&(z.document.timeline.animationsWithPromises=te.filter(re=>re.playState!=="finished"))}destroy(){this.stop(),this.animations.clear(),this.tasks=[]}}class xZ{constructor(x){this.batchCount=0,this.context=x}emit(x){const{graph:E}=this.context;E.emit(x.type,x)}startBatch(x=!0){this.batchCount++,this.batchCount===1&&this.emit(new ff(ts.BATCH_START,{initiate:x}))}endBatch(){this.batchCount--,this.batchCount===0&&this.emit(new ff(ts.BATCH_END))}get isBatching(){return this.batchCount>0}destroy(){this.context=null}}class EZ extends y5{constructor(x){super(x),this.currentTarget=null,this.currentTargetType=null,this.category="behavior",this.forwardCanvasEvents=E=>{const{target:z}=E,te=pZ(z);if(!te)return;const{graph:re,canvas:oe}=this.context,{type:le,element:he}=te;if("destroyed"in he&&(CM(he)||he.destroyed))return;const{type:ge,detail:Ae,button:Pe}=E,We=Object.assign(Object.assign({},E),{target:he,targetType:le,originalTarget:z});ge===ia.POINTER_MOVE&&(this.currentTarget!==he&&(this.currentTarget&&re.emit(`${this.currentTargetType}:${ia.POINTER_LEAVE}`,Object.assign(Object.assign({},We),{type:ia.POINTER_LEAVE,target:this.currentTarget,targetType:this.currentTargetType})),he&&(Object.assign(We,{type:ia.POINTER_ENTER}),re.emit(`${le}:${ia.POINTER_ENTER}`,We))),this.currentTarget=he,this.currentTargetType=le),ge===ia.CLICK&&Pe===2||(re.emit(`${le}:${ge}`,We),re.emit(ge,We)),ge===ia.CLICK&&Ae===2&&(Object.assign(We,{type:ia.DBLCLICK}),re.emit(`${le}:${ia.DBLCLICK}`,We),re.emit(ia.DBLCLICK,We)),ge===ia.POINTER_DOWN&&Pe===2&&(Object.assign(We,{type:ia.CONTEXT_MENU,preventDefault:()=>{var Xe;(Xe=oe.getContainer())===null||Xe===void 0||Xe.addEventListener(ia.CONTEXT_MENU,qe=>qe.preventDefault(),{once:!0})}}),re.emit(`${le}:${ia.CONTEXT_MENU}`,We),re.emit(ia.CONTEXT_MENU,We))},this.forwardContainerEvents=E=>{this.context.graph.emit(E.type,E)},this.forwardEvents(),this.setBehaviors(this.context.options.behaviors||[])}setBehaviors(x){this.setExtensions(x)}forwardEvents(){const x=this.context.canvas.getContainer();x&&[SS.KEY_DOWN,SS.KEY_UP].forEach(z=>{x.addEventListener(z,this.forwardContainerEvents)});const E=this.context.canvas.document;E&&[ia.CLICK,ia.DBLCLICK,ia.POINTER_OVER,ia.POINTER_LEAVE,ia.POINTER_ENTER,ia.POINTER_MOVE,ia.POINTER_OUT,ia.POINTER_DOWN,ia.POINTER_UP,ia.CONTEXT_MENU,ia.DRAG_START,ia.DRAG,ia.DRAG_END,ia.DRAG_ENTER,ia.DRAG_OVER,ia.DRAG_LEAVE,ia.DROP,ia.WHEEL].forEach(z=>{E.addEventListener(z,this.forwardCanvasEvents)})}destroy(){const x=this.context.canvas.getContainer();x&&[SS.KEY_DOWN,SS.KEY_UP].forEach(E=>{x.removeEventListener(E,this.forwardContainerEvents)}),this.context.canvas.document.removeAllEventListeners(),super.destroy()}}function AZ(b,x){x===void 0&&(x=new Map);var E=[];if(Array.isArray(b))for(var z=0,te=b.length;z<te;z++){var re=b[z];x.has(re)||(E.push(re),x.set(re,!0))}return E}var E2=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};function bx(b,x){const{data:E,style:z}=b,te=E2(b,["data","style"]),{data:re,style:oe}=x,le=E2(x,["data","style"]),he=Object.assign(Object.assign({},te),le);return(E||re)&&Object.assign(he,{data:Object.assign(Object.assign({},E),re)}),(z||oe)&&Object.assign(he,{style:Object.assign(Object.assign({},z),oe)}),he}function dI(b){const{data:x,style:E}=b,te=E2(b,["data","style"]);return x&&(te.data=Object.assign({},x)),E&&(te.style=Object.assign({},E)),te}function I$(b){return!get(b,["nodes","length"])&&!get(b,["edges","length"])&&!get(b,["combos","length"])}function HS(b={},x={}){const{states:E=[],data:z={},style:te={},children:re=[]}=b,oe=E2(b,["states","data","style","children"]),{states:le=[],data:he={},style:ge={},children:Ae=[]}=x,Pe=E2(x,["states","data","style","children"]),We=(qe,nt)=>qe.length!==nt.length?!1:qe.every((at,pt)=>at===nt[pt]),Xe=(qe,nt)=>{const at=Object.keys(qe),pt=Object.keys(nt);return at.length!==pt.length?!1:at.every(mt=>qe[mt]===nt[mt])};return!(!Xe(oe,Pe)||!We(re,Ae)||!We(E,le)||!Xe(z,he)||!Xe(te,ge))}var SZ=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};function fI(b){const{id:x=Xi(b),style:E,data:z}=b,te=SZ(b,["id","style","data"]),re=Object.assign(Object.assign({},b),{style:Object.assign({},E),data:Object.assign({},z)});return Qk(b)?Object.assign({id:x,data:re},te):{id:x,data:re}}function vg(b){return b.data}function wZ(b){if(b.hasTreeStructure(E0))return;b.attachTreeStructure(E0);const x=b.getAllEdges();for(const E of x){const{source:z,target:te}=E;b.setParent(te,z,E0)}}class CZ{constructor(){this.latestRemovedComboIds=new Set,this.comboIds=new Set,this.changes=[],this.batchCount=0,this.isTraceless=!1,this.enableUpdateNodeLikeHierarchy=!0,this.model=new qd}pushChange(x){if(this.isTraceless)return;const{type:E}=x;if(E===Uh.NodeUpdated||E===Uh.EdgeUpdated||E===Uh.ComboUpdated){const{value:z,original:te}=x;this.changes.push({value:dI(z),original:dI(te),type:E})}else this.changes.push({value:dI(x.value),type:E})}getChanges(){return this.changes}clearChanges(){this.changes=[]}batch(x){this.batchCount++,this.model.batch(x),this.batchCount--}isBatching(){return this.batchCount>0}silence(x){this.isTraceless=!0,x(),this.isTraceless=!1}isCombo(x){return this.comboIds.has(x)||this.latestRemovedComboIds.has(x)}getData(){return{nodes:this.getNodeData(),edges:this.getEdgeData(),combos:this.getComboData()}}getNodeData(x){return this.model.getAllNodes().reduce((E,z)=>{const te=vg(z);return this.isCombo(Xi(te))||(x===void 0||x.includes(Xi(te)))&&E.push(te),E},[])}getEdgeDatum(x){return vg(this.model.getEdge(x))}getEdgeData(x){return this.model.getAllEdges().reduce((E,z)=>{const te=vg(z);return(x===void 0||x.includes(Xi(te)))&&E.push(te),E},[])}getComboData(x){return this.model.getAllNodes().reduce((E,z)=>{const te=vg(z);return this.isCombo(Xi(te))&&(x===void 0||x.includes(Xi(te)))&&E.push(te),E},[])}getRootsData(x=E0){return this.model.getRoots(x).map(vg)}getAncestorsData(x,E){const{model:z}=this;return!z.hasNode(x)||!z.hasTreeStructure(E)?[]:z.getAncestors(x,E).map(vg)}getDescendantsData(x){const E=this.getElementDataById(x),z=[];return FE(E,te=>{te!==E&&z.push(te)},te=>this.getChildrenData(Xi(te)),"TB"),z}getParentData(x,E){const{model:z}=this;if(!E){Jp.warn("The hierarchy structure key is not specified");return}if(!z.hasNode(x)||!z.hasTreeStructure(E))return;const te=z.getParent(x,E);return te?vg(te):void 0}getChildrenData(x){const E=this.getElementType(x)==="node"?E0:hh,{model:z}=this;return!z.hasNode(x)||!z.hasTreeStructure(E)?[]:z.getChildren(x,E).map(vg)}getElementsDataByType(x){return x==="node"?this.getNodeData():x==="edge"?this.getEdgeData():x==="combo"?this.getComboData():[]}getElementDataById(x){return this.getElementType(x)==="edge"?this.getEdgeDatum(x):this.getNodeLikeDatum(x)}getNodeLikeDatum(x){const E=this.model.getNode(x);return vg(E)}getNodeLikeData(x){return this.model.getAllNodes().reduce((E,z)=>{const te=vg(z);return x?x.includes(Xi(te))&&E.push(te):E.push(te),E},[])}getElementDataByState(x,E){return this.getElementsDataByType(x).filter(te=>{var re;return(re=te.states)===null||re===void 0?void 0:re.includes(E)})}getElementState(x){var E;return((E=this.getElementDataById(x))===null||E===void 0?void 0:E.states)||[]}hasNode(x){return this.model.hasNode(x)&&!this.isCombo(x)}hasEdge(x){return this.model.hasEdge(x)}hasCombo(x){return this.model.hasNode(x)&&this.isCombo(x)}getRelatedEdgesData(x,E="both"){return this.model.getRelatedEdges(x,E).map(vg)}getNeighborNodesData(x){return this.model.getNeighbors(x).map(vg)}setData(x){const{nodes:E=[],edges:z=[],combos:te=[]}=x,{nodes:re,edges:oe,combos:le}=this.getData(),he=ux(re,E,Pe=>Xi(Pe),HS),ge=ux(oe,z,Pe=>Xi(Pe),HS),Ae=ux(le,te,Pe=>Xi(Pe),HS);this.batch(()=>{const Pe={nodes:he.enter,edges:ge.enter,combos:Ae.enter};this.addData(Pe),this.computeZIndex(Pe,"add",!0);const We={nodes:he.update,edges:ge.update,combos:Ae.update};this.updateData(We),this.computeZIndex(We,"update",!0);const Xe={nodes:he.exit.map(Xi),edges:ge.exit.map(Xi),combos:Ae.exit.map(Xi)};this.removeData(Xe)})}addData(x){const{nodes:E,edges:z,combos:te}=x;this.batch(()=>{this.addComboData(te),this.addNodeData(E),this.addEdgeData(z)}),this.computeZIndex(x,"add")}addNodeData(x=[]){x.length&&(this.model.addNodes(x.map(E=>(this.pushChange({value:E,type:Uh.NodeAdded}),fI(E)))),this.updateNodeLikeHierarchy(x),this.computeZIndex({nodes:x},"add"))}addEdgeData(x=[]){x.length&&(this.model.addEdges(x.map(E=>(this.pushChange({value:E,type:Uh.EdgeAdded}),fI(E)))),this.computeZIndex({edges:x},"add"))}addComboData(x=[]){if(!x.length)return;const{model:E}=this;E.hasTreeStructure(hh)||E.attachTreeStructure(hh),E.addNodes(x.map(z=>(this.comboIds.add(Xi(z)),this.pushChange({value:z,type:Uh.ComboAdded}),fI(z)))),this.updateNodeLikeHierarchy(x),this.computeZIndex({combos:x},"add")}addChildrenData(x,E){const z=this.getNodeLikeDatum(x),te=E.map(Xi);this.addNodeData(E),this.updateNodeData([{id:x,children:[...z.children||[],...te]}]),this.addEdgeData(te.map(re=>({source:x,target:re})))}computeZIndex(x,E,z=!1){!z&&this.isBatching()||this.batch(()=>{const{nodes:te=[],edges:re=[],combos:oe=[]}=x;oe.forEach(le=>{var he,ge,Ae;const Pe=Xi(le);if(E==="add"&&As((he=le.style)===null||he===void 0?void 0:he.zIndex)||E==="update"&&!("combo"in le))return;const We=this.getParentData(Pe,hh),Xe=We?((Ae=(ge=We.style)===null||ge===void 0?void 0:ge.zIndex)!==null&&Ae!==void 0?Ae:0)+1:0;this.preventUpdateNodeLikeHierarchy(()=>{this.updateComboData([{id:Pe,style:{zIndex:Xe}}])})}),te.forEach(le=>{var he,ge,Ae;const Pe=Xi(le);if(E==="add"&&As((he=le.style)===null||he===void 0?void 0:he.zIndex)||E==="update"&&!("combo"in le)&&!("children"in le))return;let We=0;const Xe=this.getParentData(Pe,hh);if(Xe)We=(((ge=Xe.style)===null||ge===void 0?void 0:ge.zIndex)||0)+1;else{const qe=this.getParentData(Pe,E0);qe&&(We=((Ae=qe==null?void 0:qe.style)===null||Ae===void 0?void 0:Ae.zIndex)||0)}this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:Pe,style:{zIndex:We}}])})}),re.forEach(le=>{var he,ge,Ae,Pe,We;if(As((he=le.style)===null||he===void 0?void 0:he.zIndex))return;let{id:Xe,source:qe,target:nt}=le;if(!Xe)Xe=Xi(le);else{const mt=this.getEdgeDatum(Xe);qe=mt.source,nt=mt.target}if(!qe||!nt)return;const at=((Ae=(ge=this.getNodeLikeDatum(qe))===null||ge===void 0?void 0:ge.style)===null||Ae===void 0?void 0:Ae.zIndex)||0,pt=((We=(Pe=this.getNodeLikeDatum(nt))===null||Pe===void 0?void 0:Pe.style)===null||We===void 0?void 0:We.zIndex)||0;this.updateEdgeData([{id:Xi(le),style:{zIndex:Math.max(at,pt)-1}}])})})}getFrontZIndex(x){var E;const z=this.getElementType(x),te=this.getElementDataById(x),re=this.getData();if(Object.assign(re,{[`${z}s`]:re[`${z}s`].filter(oe=>Xi(oe)!==x)}),z==="combo"&&!qp(te)){const oe=new Set(this.getAncestorsData(x,hh).map(Xi));re.nodes=re.nodes.filter(le=>!oe.has(Xi(le))),re.combos=re.combos.filter(le=>!oe.has(Xi(le))),re.edges=re.edges.filter(({source:le,target:he})=>!oe.has(le)&&!oe.has(he))}return Math.max(((E=te.style)===null||E===void 0?void 0:E.zIndex)||0,0,...Object.values(re).flat().map(oe=>{var le;return(((le=oe==null?void 0:oe.style)===null||le===void 0?void 0:le.zIndex)||0)+1}))}updateNodeLikeHierarchy(x){if(!this.enableUpdateNodeLikeHierarchy)return;const{model:E}=this;x.forEach(z=>{const te=Xi(z),re=KP(z);re!==void 0&&(E.hasTreeStructure(hh)||E.attachTreeStructure(hh),re===null&&this.refreshComboData(te),this.setParent(te,KP(z),hh));const oe=z.children||[];if(oe.length){E.hasTreeStructure(E0)||E.attachTreeStructure(E0);const le=oe.filter(he=>E.hasNode(he));le.forEach(he=>this.setParent(he,te,E0)),le.length!==oe.length&&this.updateNodeData([{id:te,children:le}])}})}preventUpdateNodeLikeHierarchy(x){this.enableUpdateNodeLikeHierarchy=!1,x(),this.enableUpdateNodeLikeHierarchy=!0}updateData(x){const{nodes:E,edges:z,combos:te}=x;this.batch(()=>{this.updateNodeData(E),this.updateComboData(te),this.updateEdgeData(z)}),this.computeZIndex(x,"update")}updateNodeData(x=[]){if(!x.length)return;const{model:E}=this;this.batch(()=>{const z=[];x.forEach(te=>{const re=Xi(te),oe=vg(E.getNode(re));if(HS(oe,te))return;const le=bx(oe,te);this.pushChange({value:le,original:oe,type:Uh.NodeUpdated}),E.mergeNodeData(re,le),z.push(le)}),this.updateNodeLikeHierarchy(z)}),this.computeZIndex({nodes:x},"update")}refreshData(){const{nodes:x,edges:E,combos:z}=this.getData();x.forEach(te=>{this.pushChange({value:te,original:te,type:Uh.NodeUpdated})}),E.forEach(te=>{this.pushChange({value:te,original:te,type:Uh.EdgeUpdated})}),z.forEach(te=>{this.pushChange({value:te,original:te,type:Uh.ComboUpdated})})}syncNodeLikeDatum(x){const{model:E}=this,z=Xi(x);if(!E.hasNode(z))return;const te=vg(E.getNode(z)),re=bx(te,x);E.mergeNodeData(z,re)}syncEdgeDatum(x){const{model:E}=this,z=Xi(x);if(!E.hasEdge(z))return;const te=vg(E.getEdge(z)),re=bx(te,x);E.mergeEdgeData(z,re)}updateEdgeData(x=[]){if(!x.length)return;const{model:E}=this;this.batch(()=>{x.forEach(z=>{const te=Xi(z),re=vg(E.getEdge(te));if(HS(re,z))return;z.source&&re.source!==z.source&&E.updateEdgeSource(te,z.source),z.target&&re.target!==z.target&&E.updateEdgeTarget(te,z.target);const oe=bx(re,z);this.pushChange({value:oe,original:re,type:Uh.EdgeUpdated}),E.mergeEdgeData(te,oe)})}),this.computeZIndex({edges:x},"update")}updateComboData(x=[]){if(!x.length)return;const{model:E}=this;E.batch(()=>{const z=[];x.forEach(te=>{const re=Xi(te),oe=vg(E.getNode(re));if(HS(oe,te))return;const le=bx(oe,te);this.pushChange({value:le,original:oe,type:Uh.ComboUpdated}),E.mergeNodeData(re,le),z.push(le)}),this.updateNodeLikeHierarchy(z)}),this.computeZIndex({combos:x},"update")}setParent(x,E,z,te=!0){if(x===E)return;const re=this.getNodeLikeDatum(x),oe=KP(re);if(oe!==E&&z===hh){const le={id:x,combo:E};this.isCombo(x)?this.syncNodeLikeDatum(le):this.syncNodeLikeDatum(le)}this.model.setParent(x,E,z),te&&z===hh&&AZ([oe,E]).forEach(le=>{le!==void 0&&this.refreshComboData(le)})}refreshComboData(x){const E=this.getComboData([x])[0],z=this.getAncestorsData(x,hh);E&&this.pushChange({value:E,original:E,type:Uh.ComboUpdated}),z.forEach(te=>{this.pushChange({value:te,original:te,type:Uh.ComboUpdated})})}getElementPosition(x){const E=this.getElementDataById(x);return Wf(E)}translateNodeLikeBy(x,E){this.isCombo(x)?this.translateComboBy(x,E):this.translateNodeBy(x,E)}translateNodeLikeTo(x,E){this.isCombo(x)?this.translateComboTo(x,E):this.translateNodeTo(x,E)}translateNodeBy(x,E){const z=this.getElementPosition(x),te=hu(z,[...E,0].slice(0,3));this.translateNodeTo(x,te)}translateNodeTo(x,E){const[z=0,te=0,re=0]=E;this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:x,style:{x:z,y:te,z:re}}])})}translateComboBy(x,E){const[z=0,te=0,re=0]=E;if([z,te,re].some(isNaN)||[z,te,re].every(he=>he===0))return;const oe=this.getComboData([x])[0];if(!oe)return;const le=new Set;FE(oe,he=>{const ge=Xi(he);if(le.has(ge))return;le.add(ge);const[Ae,Pe,We]=Wf(he),Xe=bx(he,{style:{x:Ae+z,y:Pe+te,z:We+re}});this.pushChange({value:Xe,original:he,type:this.isCombo(ge)?Uh.ComboUpdated:Uh.NodeUpdated}),this.model.mergeNodeData(ge,Xe)},he=>this.getChildrenData(Xi(he)),"BT")}translateComboTo(x,E){var z;if(E.some(isNaN))return;const[te=0,re=0,oe=0]=E,le=(z=this.getComboData([x]))===null||z===void 0?void 0:z[0];if(!le)return;const[he,ge,Ae]=Wf(le),Pe=te-he,We=re-ge,Xe=oe-Ae;FE(le,qe=>{const nt=Xi(qe),[at,pt,mt]=Wf(qe),bt=bx(qe,{style:{x:at+Pe,y:pt+We,z:mt+Xe}});this.pushChange({value:bt,original:qe,type:this.isCombo(nt)?Uh.ComboUpdated:Uh.NodeUpdated}),this.model.mergeNodeData(nt,bt)},qe=>this.getChildrenData(Xi(qe)),"BT")}removeData(x){const{nodes:E,edges:z,combos:te}=x;this.batch(()=>{this.removeEdgeData(z),this.removeNodeData(E),this.removeComboData(te),this.latestRemovedComboIds=new Set(te)})}removeNodeData(x=[]){x.length&&this.batch(()=>{x.forEach(E=>{this.removeEdgeData(this.getRelatedEdgesData(E).map(Xi)),this.pushChange({value:this.getNodeData([E])[0],type:Uh.NodeRemoved}),this.removeNodeLikeHierarchy(E)}),this.model.removeNodes(x)})}removeEdgeData(x=[]){x.length&&(x.forEach(E=>this.pushChange({value:this.getEdgeData([E])[0],type:Uh.EdgeRemoved})),this.model.removeEdges(x))}removeComboData(x=[]){x.length&&this.batch(()=>{x.forEach(E=>{this.pushChange({value:this.getComboData([E])[0],type:Uh.ComboRemoved}),this.removeNodeLikeHierarchy(E),this.comboIds.delete(E)}),this.model.removeNodes(x)})}removeNodeLikeHierarchy(x){if(this.model.hasTreeStructure(hh)){const E=KP(this.getNodeLikeDatum(x));this.setParent(x,void 0,hh,!1),this.model.getChildren(x,hh).forEach(z=>{const te=vg(z),re=Xi(te);this.setParent(Xi(te),E,hh,!1);const oe=bx(te,{id:Xi(te),combo:E});this.pushChange({value:oe,original:te,type:this.isCombo(re)?Uh.ComboUpdated:Uh.NodeUpdated}),this.model.mergeNodeData(Xi(te),oe)}),El(E)||this.refreshComboData(E)}}getElementType(x){if(this.model.hasNode(x))return this.isCombo(x)?"combo":"node";if(this.model.hasEdge(x))return"edge";throw new Error(Yy(`Unknown element type of id: ${x}`))}destroy(){const{model:x}=this,E=x.getAllNodes(),z=x.getAllEdges();x.removeEdges(z.map(te=>te.id)),x.removeNodes(E.map(te=>te.id)),this.context={}}}var A2=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})};class bZ{constructor(x){this.elementMap={},this.shapeTypeMap={},this.paletteStyle={},this.defaultStyle={},this.stateStyle={},this.visibilityCache=new WeakMap,this.context=x}init(){this.initContainer()}initContainer(){if(!this.container||this.container.destroyed){const{canvas:x}=this.context;this.container=x.appendChild(new Oh({className:"elements"}))}}emit(x,E){E.silence||Gf(this.context.graph,x)}forEachElementData(x){kE.forEach(E=>{const z=this.context.model.getElementsDataByType(E);x(E,z)})}getElementType(x,E){var z;const{options:te,graph:re}=this.context,oe=((z=te[x])===null||z===void 0?void 0:z.type)||E.type;return oe?typeof oe=="string"?oe:oe.call(re,E):x==="edge"?"line":"circle"}getTheme(x){return KI(this.context.options)[x]||{}}getThemeStyle(x){return this.getTheme(x).style||{}}getThemeStateStyle(x,E){const{state:z={}}=this.getTheme(x);return Object.assign({},...E.map(te=>z[te]||{}))}computePaletteStyle(){const{options:x}=this.context;this.paletteStyle={},this.forEachElementData((E,z)=>{var te,re;const oe=Object.assign({},iO((te=this.getTheme(E))===null||te===void 0?void 0:te.palette),iO((re=x[E])===null||re===void 0?void 0:re.palette));oe!=null&&oe.field&&Object.assign(this.paletteStyle,u8(z,oe))})}getPaletteStyle(x,E){const z=this.paletteStyle[E];return z?x==="edge"?{stroke:z}:{fill:z}:{}}computeElementDefaultStyle(x,E){var z;const{options:te}=this.context,re=((z=te[x])===null||z===void 0?void 0:z.style)||{};"transform"in re&&Array.isArray(re.transform)&&(re.transform=[...re.transform]),this.defaultStyle[Xi(E.datum)]=rO(re,E)}computeElementsDefaultStyle(x){const{graph:E}=this.context;this.forEachElementData((z,te)=>{const re=te.length;for(let oe=0;oe<re;oe++){const le=te[oe];(x===void 0||x.includes(Xi(le)))&&this.computeElementDefaultStyle(z,{datum:le,graph:E})}})}getDefaultStyle(x){return this.defaultStyle[x]||{}}getElementState(x){try{const{model:E}=this.context;return E.getElementState(x)}catch(E){return[]}}getElementStateStyle(x,E,z){var te,re;const{options:oe}=this.context,le=((re=(te=oe[x])===null||te===void 0?void 0:te.state)===null||re===void 0?void 0:re[E])||{};return rO(le,z)}computeElementStatesStyle(x,E,z){this.stateStyle[Xi(z.datum)]=Object.assign({},...E.map(te=>this.getElementStateStyle(x,te,z)))}computeElementsStatesStyle(x){const{graph:E}=this.context;this.forEachElementData((z,te)=>{const re=te.length;for(let oe=0;oe<re;oe++){const le=te[oe];if(x===void 0||x.includes(Xi(le))){const he=this.getElementState(Xi(le));this.computeElementStatesStyle(z,he,{datum:le,graph:E})}}})}getStateStyle(x){return this.stateStyle[x]||{}}computeStyle(x,E){x&&["translate","zIndex"].includes(x)||(this.computePaletteStyle(),this.computeElementsDefaultStyle(E),this.computeElementsStatesStyle(E))}getElement(x){return this.elementMap[x]}getNodes(){return this.context.model.getNodeData().map(({id:x})=>this.elementMap[x])}getEdges(){return this.context.model.getEdgeData().map(x=>this.elementMap[Xi(x)])}getCombos(){return this.context.model.getComboData().map(({id:x})=>this.elementMap[x])}getElementComputedStyle(x,E){const z=Xi(E),te=this.getThemeStyle(x),re=this.getPaletteStyle(x,z),oe=E.style||{},le=this.getDefaultStyle(z),he=this.getThemeStateStyle(x,this.getElementState(z)),ge=this.getStateStyle(z),Ae=Object.assign({},te,re,oe,le,he,ge);if(x==="combo"){const Pe=this.context.model.getChildrenData(z),Xe=!!Ae.collapsed?[]:Pe.map(Xi).filter(qe=>this.getElement(qe));Object.assign(Ae,{childrenNode:Xe,childrenData:Pe})}return Ae}getDrawData(x){this.init();const E=this.computeChangesAndDrawData(x);if(!E)return null;const{type:z="draw",stage:te=z}=x;return this.markDestroyElement(E.drawData),this.computeStyle(te),{type:z,stage:te,data:E}}draw(x={animation:!0}){const E=this.getDrawData(x);if(!E)return;const{data:{drawData:{add:z,update:te,remove:re}}}=E;return this.destroyElements(re,x),this.createElements(z,x),this.updateElements(te,x),this.setAnimationTask(x,E)}preLayoutDraw(){return A2(this,arguments,void 0,function*(x={animation:!0}){var E,z;const te=this.getDrawData(x);if(!te)return;const{data:{drawData:re}}=te;yield(z=(E=this.context.layout)===null||E===void 0?void 0:E.preLayout)===null||z===void 0?void 0:z.call(E,re);const{add:oe,update:le,remove:he}=re;return this.destroyElements(he,x),this.createElements(oe,x),this.updateElements(le,x),this.setAnimationTask(x,te)})}setAnimationTask(x,E){const{animation:z,silence:te}=x,{data:{dataChanges:re,drawData:oe},stage:le,type:he}=E;return this.context.animation.animate(z,te?{}:{before:()=>this.emit(new ff(ts.BEFORE_DRAW,{dataChanges:re,animation:z,stage:le,render:he==="render"}),x),beforeAnimate:ge=>this.emit(new Av(ts.BEFORE_ANIMATE,Qp.DRAW,ge,oe),x),afterAnimate:ge=>this.emit(new Av(ts.AFTER_ANIMATE,Qp.DRAW,ge,oe),x),after:()=>this.emit(new ff(ts.AFTER_DRAW,{dataChanges:re,animation:z,stage:le,render:he==="render",firstRender:this.context.graph.rendered===!1}),x)})}computeChangesAndDrawData(x){const{model:E}=this.context,z=E.getChanges(),te=PD(z);if(te.length===0)return null;const{NodeAdded:re=[],NodeUpdated:oe=[],NodeRemoved:le=[],EdgeAdded:he=[],EdgeUpdated:ge=[],EdgeRemoved:Ae=[],ComboAdded:Pe=[],ComboUpdated:We=[],ComboRemoved:Xe=[]}=OP(te,pt=>pt.type),qe=pt=>new Map(pt.map(mt=>{const bt=mt.value;return[Xi(bt),bt]})),nt={add:{nodes:qe(re),edges:qe(he),combos:qe(Pe)},update:{nodes:qe(oe),edges:qe(ge),combos:qe(We)},remove:{nodes:qe(le),edges:qe(Ae),combos:qe(Xe)}},at=this.transformData(nt,x);return E.clearChanges(),{dataChanges:z,drawData:at}}transformData(x,E){const z=this.context.transform.getTransformInstance();return Object.values(z).reduce((te,re)=>re.beforeDraw(te,E),x)}createElement(x,E,z){var te;const re=Xi(E);if(this.getElement(re))return;const le=this.getElementType(x,E),he=this.getElementComputedStyle(x,E),ge=Zy(x,le);if(!ge)return Jp.warn(`The element ${le} of ${x} is not registered.`);this.emit(new US(ts.BEFORE_ELEMENT_CREATE,x,E),z);const Ae=this.container.appendChild(new ge({id:re,context:this.context,style:he}));this.shapeTypeMap[re]=le,this.elementMap[re]=Ae;const{stage:Pe="enter"}=z;(te=this.context.animation)===null||te===void 0||te.add({element:Ae,elementType:x,stage:Pe,originalStyle:Object.assign({},Ae.attributes),updatedStyle:he},{after:()=>{var We;this.emit(new US(ts.AFTER_ELEMENT_CREATE,x,E),z),(We=Ae.onCreate)===null||We===void 0||We.call(Ae)}})}createElements(x,E){const{nodes:z,edges:te,combos:re}=x;[["node",z],["combo",re],["edge",te]].forEach(([le,he])=>{he.forEach(ge=>this.createElement(le,ge,E))})}getUpdateStageStyle(x,E,z){const{stage:te="update"}=z;if(te==="translate")if(x==="node"||x==="combo"){const{style:{x:re=0,y:oe=0,z:le=0}={}}=E;return{x:re,y:oe,z:le}}else return{};return this.getElementComputedStyle(x,E)}updateElement(x,E,z){var te;const re=Xi(E),{stage:oe="update"}=z,le=this.getElement(re);if(!le)return()=>null;this.emit(new US(ts.BEFORE_ELEMENT_UPDATE,x,E),z);const he=this.getElementType(x,E),ge=this.getUpdateStageStyle(x,E,z);this.shapeTypeMap[re]!==he&&(le.destroy(),delete this.shapeTypeMap[re],delete this.elementMap[re],this.createElement(x,E,{animation:!1,silence:!0}));const Ae=oe!=="visibility"?oe:ge.visibility==="hidden"?"hide":"show";Ae==="hide"&&delete ge.visibility,(te=this.context.animation)===null||te===void 0||te.add({element:le,elementType:x,stage:Ae,originalStyle:Object.assign({},le.attributes),updatedStyle:ge},{before:()=>{const Pe=this.elementMap[re];oe!=="collapse"&&Z5(Pe,ge),oe==="visibility"&&(mZ(Pe,"opacity")||vZ(Pe,"opacity"),this.visibilityCache.set(Pe,Ae==="show"?"visible":"hidden"),Ae==="show"&&BE(Pe,"visible"))},after:()=>{var Pe;const We=this.elementMap[re];oe==="collapse"&&Z5(We,ge),Ae==="hide"&&BE(We,this.visibilityCache.get(We)),this.emit(new US(ts.AFTER_ELEMENT_UPDATE,x,E),z),(Pe=We.onUpdate)===null||Pe===void 0||Pe.call(We)}})}updateElements(x,E){const{nodes:z,edges:te,combos:re}=x;[["node",z],["combo",re],["edge",te]].forEach(([le,he])=>{he.forEach(ge=>this.updateElement(le,ge,E))})}markDestroyElement(x){Object.values(x.remove).forEach(E=>{E.forEach(z=>{const te=Xi(z),re=this.getElement(te);re&&S7(re)})})}destroyElement(x,E,z){var te;const{stage:re="exit"}=z,oe=Xi(E),le=this.elementMap[oe];if(!le)return()=>null;this.emit(new US(ts.BEFORE_ELEMENT_DESTROY,x,E),z),(te=this.context.animation)===null||te===void 0||te.add({element:le,elementType:x,stage:re,originalStyle:Object.assign({},le.attributes),updatedStyle:{}},{after:()=>{var he;this.clearElement(oe),le.destroy(),(he=le.onDestroy)===null||he===void 0||he.call(le),this.emit(new US(ts.AFTER_ELEMENT_DESTROY,x,E),z)}})}destroyElements(x,E){const{nodes:z,edges:te,combos:re}=x;[["combo",re],["edge",te],["node",z]].forEach(([le,he])=>{he.forEach(ge=>this.destroyElement(le,ge,E))})}clearElement(x){delete this.paletteStyle[x],delete this.defaultStyle[x],delete this.stateStyle[x],delete this.elementMap[x],delete this.shapeTypeMap[x]}alignLayoutResultToElement(x,E){var z,te;const re=(z=x.nodes)===null||z===void 0?void 0:z.find(oe=>Xi(oe)===E);if(re){const oe=Wf(this.context.model.getNodeLikeDatum(E)),le=Wf(re),he=Jc(oe,le);(te=x.nodes)===null||te===void 0||te.forEach(ge=>{var Ae,Pe,We;!((Ae=ge.style)===null||Ae===void 0)&&Ae.x&&(ge.style.x+=he[0]),!((Pe=ge.style)===null||Pe===void 0)&&Pe.y&&(ge.style.y+=he[1]),!((We=ge.style)===null||We===void 0)&&We.z&&(ge.style.z+=he[2]||0)})}}collapseNode(x,E){return A2(this,void 0,void 0,function*(){var z;const{animation:te,align:re}=E,{model:oe,layout:le}=this.context,he=this.computeChangesAndDrawData({stage:"collapse",animation:te});if(!he)return;this.markDestroyElement(he.drawData);const ge=yield le.simulate();re&&this.alignLayoutResultToElement(ge,x),oe.updateData(ge);const Ae=this.computeChangesAndDrawData({stage:"collapse",animation:te});if(!Ae)return;const{drawData:Pe}=Ae,{add:We,remove:Xe,update:qe}=Pe;this.markDestroyElement(Pe);const nt={animation:te,stage:"collapse",data:Pe};this.destroyElements(Xe,nt),this.createElements(We,nt),this.updateElements(qe,nt),yield(z=this.context.animation.animate(te,{beforeAnimate:at=>this.emit(new Av(ts.BEFORE_ANIMATE,Qp.COLLAPSE,at,Pe),nt),afterAnimate:at=>this.emit(new Av(ts.AFTER_ANIMATE,Qp.COLLAPSE,at,Pe),nt)},{collapse:{target:x,descendants:Array.from(Xe.nodes).map(([,at])=>Xi(at)),position:Wf(qe.nodes.get(x))}}))===null||z===void 0?void 0:z.finished})}expandNode(x,E){return A2(this,void 0,void 0,function*(){var z;const{model:te,layout:re}=this.context,{animation:oe,align:le}=E,he=Wf(te.getNodeData([x])[0]),ge=this.computeChangesAndDrawData({stage:"expand",animation:oe});if(!ge)return;const{drawData:{add:Ae}}=ge;this.createElements(Ae,{animation:!1,stage:"expand",target:x}),this.context.animation.clear();const Pe=yield re.simulate();le&&this.alignLayoutResultToElement(Pe,x),te.updateData(Pe),this.computeStyle("expand");const We=this.computeChangesAndDrawData({stage:"collapse",animation:oe});if(!We)return;const{drawData:Xe}=We,{update:qe}=Xe,nt={animation:oe,stage:"expand",data:Xe};Ae.edges.forEach(at=>qe.edges.set(Xi(at),at)),Ae.nodes.forEach(at=>qe.nodes.set(Xi(at),at)),this.updateElements(qe,nt),yield(z=this.context.animation.animate(oe,{beforeAnimate:at=>this.emit(new Av(ts.BEFORE_ANIMATE,Qp.EXPAND,at,Xe),nt),afterAnimate:at=>this.emit(new Av(ts.AFTER_ANIMATE,Qp.EXPAND,at,Xe),nt)},{expand:{target:x,descendants:Array.from(Ae.nodes).map(([,at])=>Xi(at)),position:he}}))===null||z===void 0?void 0:z.finished})}collapseCombo(x,E){return A2(this,void 0,void 0,function*(){var z;const{model:te,element:re}=this.context;if(te.getAncestorsData(x,hh).some(nt=>qp(nt)))return;const oe=re.getElement(x),le=oe.getComboPosition(Object.assign(Object.assign({},oe.attributes),{collapsed:!0})),he=this.computeChangesAndDrawData({stage:"collapse",animation:E});if(!he)return;const{dataChanges:ge,drawData:Ae}=he;this.markDestroyElement(Ae);const{update:Pe,remove:We}=Ae,Xe={animation:E,stage:"collapse",data:Ae};this.destroyElements(We,Xe),this.updateElements(Pe,Xe);const qe=nt=>Array.from(nt).map(([,at])=>Xi(at));yield(z=this.context.animation.animate(E,{before:()=>this.emit(new ff(ts.BEFORE_DRAW,{dataChanges:ge,animation:E}),Xe),beforeAnimate:nt=>this.emit(new Av(ts.BEFORE_ANIMATE,Qp.COLLAPSE,nt,Ae),Xe),afterAnimate:nt=>this.emit(new Av(ts.AFTER_ANIMATE,Qp.COLLAPSE,nt,Ae),Xe),after:()=>this.emit(new ff(ts.AFTER_DRAW,{dataChanges:ge,animation:E}),Xe)},{collapse:{target:x,descendants:[...qe(We.nodes),...qe(We.combos)],position:le}}))===null||z===void 0?void 0:z.finished})}expandCombo(x,E){return A2(this,void 0,void 0,function*(){var z;const{model:te}=this.context,re=Wf(te.getComboData([x])[0]);this.computeStyle("expand");const oe=this.computeChangesAndDrawData({stage:"expand",animation:E});if(!oe)return;const{dataChanges:le,drawData:he}=oe,{add:ge,update:Ae}=he,Pe={animation:E,stage:"expand",data:he,target:x};this.createElements(ge,Pe),this.updateElements(Ae,Pe);const We=Xe=>Array.from(Xe).map(([,qe])=>Xi(qe));yield(z=this.context.animation.animate(E,{before:()=>this.emit(new ff(ts.BEFORE_DRAW,{dataChanges:le,animation:E}),Pe),beforeAnimate:Xe=>this.emit(new Av(ts.BEFORE_ANIMATE,Qp.EXPAND,Xe,he),Pe),afterAnimate:Xe=>this.emit(new Av(ts.AFTER_ANIMATE,Qp.EXPAND,Xe,he),Pe),after:()=>this.emit(new ff(ts.AFTER_DRAW,{dataChanges:le,animation:E}),Pe)},{expand:{target:x,descendants:[...We(ge.nodes),...We(ge.combos)],position:re}}))===null||z===void 0?void 0:z.finished})}clear(){this.container.destroy(),this.initContainer(),this.elementMap={},this.shapeTypeMap={},this.defaultStyle={},this.stateStyle={},this.paletteStyle={}}destroy(){this.clear(),this.container.destroy(),this.context={}}}const uR=Symbol("Comlink.proxy"),PZ=Symbol("Comlink.endpoint"),cR=Symbol("Comlink.releaseProxy"),gI=Symbol("Comlink.finalizer"),WL=Symbol("Comlink.thrown"),hR=b=>typeof b=="object"&&b!==null||typeof b=="function",MZ={canHandle:b=>hR(b)&&b[uR],serialize(b){const{port1:x,port2:E}=new MessageChannel;return fR(b,x),[E,[E]]},deserialize(b){return b.start(),pR(b)}},LZ={canHandle:b=>hR(b)&&WL in b,serialize({value:b}){let x;return b instanceof Error?x={isError:!0,value:{message:b.message,name:b.name,stack:b.stack}}:x={isError:!1,value:b},[x,[]]},deserialize(b){throw b.isError?Object.assign(new Error(b.value.message),b.value):b.value}},dR=new Map([["proxy",MZ],["throw",LZ]]);function TZ(b,x){for(const E of b)if(x===E||E==="*"||E instanceof RegExp&&E.test(x))return!0;return!1}function fR(b,x=globalThis,E=["*"]){x.addEventListener("message",function z(te){if(!te||!te.data)return;if(!TZ(E,te.origin)){console.warn(`Invalid origin '${te.origin}' for comlink proxy`);return}const{id:re,type:oe,path:le}=Object.assign({path:[]},te.data),he=(te.data.argumentList||[]).map(JE);let ge;try{const Ae=le.slice(0,-1).reduce((We,Xe)=>We[Xe],b),Pe=le.reduce((We,Xe)=>We[Xe],b);switch(oe){case"GET":ge=Pe;break;case"SET":Ae[le.slice(-1)[0]]=JE(te.data.value),ge=!0;break;case"APPLY":ge=Pe.apply(Ae,he);break;case"CONSTRUCT":{const We=new Pe(...he);ge=RZ(We)}break;case"ENDPOINT":{const{port1:We,port2:Xe}=new MessageChannel;fR(b,Xe),ge=BZ(We,[We])}break;case"RELEASE":ge=void 0;break;default:return}}catch(Ae){ge={value:Ae,[WL]:0}}Promise.resolve(ge).catch(Ae=>({value:Ae,[WL]:0})).then(Ae=>{const[Pe,We]=VL(Ae);x.postMessage(Object.assign(Object.assign({},Pe),{id:re}),We),oe==="RELEASE"&&(x.removeEventListener("message",z),gR(x),gI in b&&typeof b[gI]=="function"&&b[gI]())}).catch(Ae=>{const[Pe,We]=VL({value:new TypeError("Unserializable return value"),[WL]:0});x.postMessage(Object.assign(Object.assign({},Pe),{id:re}),We)})}),x.start&&x.start()}function DZ(b){return b.constructor.name==="MessagePort"}function gR(b){DZ(b)&&b.close()}function pR(b,x){const E=new Map;return b.addEventListener("message",function(te){const{data:re}=te;if(!re||!re.id)return;const oe=E.get(re.id);if(oe)try{oe(re)}finally{E.delete(re.id)}}),pI(b,E,[],x)}function UL(b){if(b)throw new Error("Proxy has been released and is not useable")}function vR(b){return VS(b,new Map,{type:"RELEASE"}).then(()=>{gR(b)})}const GL=new WeakMap,HL="FinalizationRegistry"in globalThis&&new FinalizationRegistry(b=>{const x=(GL.get(b)||0)-1;GL.set(b,x),x===0&&vR(b)});function IZ(b,x){const E=(GL.get(x)||0)+1;GL.set(x,E),HL&&HL.register(b,x,b)}function OZ(b){HL&&HL.unregister(b)}function pI(b,x,E=[],z=function(){}){let te=!1;const re=new Proxy(z,{get(oe,le){if(UL(te),le===cR)return()=>{OZ(re),vR(b),x.clear(),te=!0};if(le==="then"){if(E.length===0)return{then:()=>re};const he=VS(b,x,{type:"GET",path:E.map(ge=>ge.toString())}).then(JE);return he.then.bind(he)}return pI(b,x,[...E,le])},set(oe,le,he){UL(te);const[ge,Ae]=VL(he);return VS(b,x,{type:"SET",path:[...E,le].map(Pe=>Pe.toString()),value:ge},Ae).then(JE)},apply(oe,le,he){UL(te);const ge=E[E.length-1];if(ge===PZ)return VS(b,x,{type:"ENDPOINT"}).then(JE);if(ge==="bind")return pI(b,x,E.slice(0,-1));const[Ae,Pe]=mR(he);return VS(b,x,{type:"APPLY",path:E.map(We=>We.toString()),argumentList:Ae},Pe).then(JE)},construct(oe,le){UL(te);const[he,ge]=mR(le);return VS(b,x,{type:"CONSTRUCT",path:E.map(Ae=>Ae.toString()),argumentList:he},ge).then(JE)}});return IZ(re,b),re}function NZ(b){return Array.prototype.concat.apply([],b)}function mR(b){const x=b.map(VL);return[x.map(E=>E[0]),NZ(x.map(E=>E[1]))]}const yR=new WeakMap;function BZ(b,x){return yR.set(b,x),b}function RZ(b){return Object.assign(b,{[uR]:!0})}function O$(b,x=globalThis,E="*"){return{postMessage:(z,te)=>b.postMessage(z,E,te),addEventListener:x.addEventListener.bind(x),removeEventListener:x.removeEventListener.bind(x)}}function VL(b){for(const[x,E]of dR)if(E.canHandle(b)){const[z,te]=E.serialize(b);return[{type:"HANDLER",name:x,value:z},te]}return[{type:"RAW",value:b},yR.get(b)||[]]}function JE(b){switch(b.type){case"HANDLER":return dR.get(b.name).deserialize(b.value);case"RAW":return b.value}}function VS(b,x,E,z){return new Promise(te=>{const re=kZ();x.set(re,te),b.start&&b.start(),b.postMessage(Object.assign({id:re},E),z)})}function kZ(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}class FZ extends IM{constructor(x,E,z){super(),this.graph=x,this.layout=E,this.options=z,this.spawnWorker()}spawnWorker(){this.proxy=pR(new Worker(new URL(Oe.p+Oe.u(4900),Oe.b),{type:void 0})),this.running&&(this.running=!1,this.execute())}execute(){var x;return(0,Cn.mG)(this,void 0,void 0,function*(){if(this.running)return this;this.running=!0;const E=this.layout.options,{onTick:z}=E,te=(0,Cn._T)(E,["onTick"]),re={};Object.keys(te).forEach(ge=>{Ys(te[ge])||(re[ge]=te[ge])});const oe={layout:{id:this.layout.id,options:re,iterations:(x=this.options)===null||x===void 0?void 0:x.iterations},nodes:this.graph.getAllNodes(),edges:this.graph.getAllEdges()},le=new Float32Array([0]),[he]=yield this.proxy.calculateLayout(oe,[le]);return he})}stop(){return this.running=!1,this.proxy.stopLayout(),this}kill(){this.proxy[cR]()}isRunning(){return this.running}}var KS=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})},_Z=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};class zZ{get presetOptions(){return{animation:!!ZI(this.context.options,!0)}}get options(){const{options:x}=this.context;return x.layout}constructor(x){this.instances=[],this.context=x}getLayoutInstance(){return this.instances}preLayout(x){return KS(this,void 0,void 0,function*(){var E,z,te,re;const{graph:oe,model:le}=this.context,{add:he}=x;Gf(oe,new ff(ts.BEFORE_LAYOUT,{type:"pre"}));const ge=yield(E=this.context.layout)===null||E===void 0?void 0:E.simulate();(z=ge==null?void 0:ge.nodes)===null||z===void 0||z.forEach(Ae=>{const Pe=Xi(Ae),We=he.nodes.get(Pe);le.syncNodeLikeDatum(Ae),We&&Object.assign(We.style,Ae.style)}),(te=ge==null?void 0:ge.edges)===null||te===void 0||te.forEach(Ae=>{const Pe=Xi(Ae),We=he.edges.get(Pe);le.syncEdgeDatum(Ae),We&&Object.assign(We.style,Ae.style)}),(re=ge==null?void 0:ge.combos)===null||re===void 0||re.forEach(Ae=>{const Pe=Xi(Ae),We=he.combos.get(Pe);le.syncNodeLikeDatum(Ae),We&&Object.assign(We.style,Ae.style)}),Gf(oe,new ff(ts.AFTER_LAYOUT,{type:"pre"})),this.transformDataAfterLayout("pre",x)})}postLayout(){return KS(this,void 0,void 0,function*(){if(!this.options)return;const x=Array.isArray(this.options)?this.options:[this.options],{graph:E}=this.context;Gf(E,new ff(ts.BEFORE_LAYOUT,{type:"post"}));for(const z of x){const te=x.indexOf(z),re=this.getLayoutData(z),oe=Object.assign(Object.assign({},this.presetOptions),z);Gf(E,new ff(ts.BEFORE_STAGE_LAYOUT,{options:oe,index:te}));const le=yield this.stepLayout(re,oe,te);Gf(E,new ff(ts.AFTER_STAGE_LAYOUT,{options:oe,index:te})),z.animation||this.updateElementPosition(le,!1)}Gf(E,new ff(ts.AFTER_LAYOUT,{type:"post"})),this.transformDataAfterLayout("post")})}transformDataAfterLayout(x,E){const z=this.context.transform.getTransformInstance();Object.values(z).forEach(te=>te.afterLayout(x,E))}simulate(){return KS(this,void 0,void 0,function*(){if(!this.options)return{};const x=Array.isArray(this.options)?this.options:[this.options];let E={};for(const z of x){const te=x.indexOf(z),re=this.getLayoutData(z);E=yield this.stepLayout(re,Object.assign(Object.assign(Object.assign({},this.presetOptions),z),{animation:!1}),te)}return E})}stepLayout(x,E,z){return KS(this,void 0,void 0,function*(){return O7(E)?yield this.treeLayout(x,E,z):yield this.graphLayout(x,E,z)})}graphLayout(x,E,z){return KS(this,void 0,void 0,function*(){const{animation:te,enableWorker:re,iterations:oe=300}=E,le=this.initGraphLayout(E);if(!le)return{};if(this.instances[z]=le,this.instance=le,re){const ge=le;return this.supervisor=new FZ(ge.graphData2LayoutModel(x),ge.instance,{iterations:oe}),BM(yield this.supervisor.execute())}if(dD(le))return te?yield le.execute(x,{onTick:ge=>{this.updateElementPosition(ge,!1)}}):(le.execute(x),le.stop(),le.tick(oe));const he=yield le.execute(x);if(te){const ge=this.updateElementPosition(he,te);yield ge==null?void 0:ge.finished}return he})}treeLayout(x,E,z){return KS(this,void 0,void 0,function*(){const{type:te,animation:re}=E,oe=Zy("layout",te);if(!oe)return{};const{nodes:le=[],edges:he=[]}=x,ge=new qd({nodes:le.map(qe=>({id:Xi(qe),data:qe.data||{}})),edges:he.map(qe=>({id:Xi(qe),source:qe.source,target:qe.target,data:qe.data||{}}))});wZ(ge);const Ae={nodes:[],edges:[]},Pe={nodes:[],edges:[]};ge.getRoots(E0).forEach(qe=>{FE(qe,bt=>{bt.children=ge.getSuccessors(bt.id)},bt=>ge.getSuccessors(bt.id),"TB");const nt=oe(qe,E),{x:at,y:pt,z:mt=0}=nt;FE(nt,bt=>{const{id:jt,x:Ut,y:Kt,z:Qt=0}=bt;Ae.nodes.push({id:jt,style:{x:at,y:pt,z:mt}}),Pe.nodes.push({id:jt,style:{x:Ut,y:Kt,z:Qt}})},bt=>bt.children,"TB")});const Xe=this.inferTreeLayoutOffset(Pe);if(xR(Pe,Xe),re){xR(Ae,Xe),this.updateElementPosition(Ae,!1);const qe=this.updateElementPosition(Pe,re);yield qe==null?void 0:qe.finished}return Pe})}inferTreeLayoutOffset(x){var E;let[z,te]=[1/0,-1/0],[re,oe]=[1/0,-1/0];(E=x.nodes)===null||E===void 0||E.forEach(nt=>{const{x:at=0,y:pt=0}=nt.style||{};z=Math.min(z,at),te=Math.max(te,at),re=Math.min(re,pt),oe=Math.max(oe,pt)});const{canvas:le}=this.context,he=le.getSize(),[ge,Ae]=le.getCanvasByViewport([0,0]),[Pe,We]=le.getCanvasByViewport(he);if(z>=ge&&te<=Pe&&re>=Ae&&oe<=We)return[0,0];const Xe=(ge+Pe)/2,qe=(Ae+We)/2;return[Xe-(z+te)/2,qe-(re+oe)/2]}stopLayout(){this.instance&&dD(this.instance)&&(this.instance.stop(),this.instance=void 0),this.supervisor&&(this.supervisor.stop(),this.supervisor=void 0),this.animationResult&&(this.animationResult.finish(),this.animationResult=void 0)}getLayoutData(x){const{nodeFilter:E=()=>!0,preLayout:z=!1,isLayoutInvisibleNodes:te=!1}=x,{nodes:re,edges:oe,combos:le}=this.context.model.getData(),{element:he,model:ge}=this.context,Ae=nt=>he.getElement(nt),Pe=z?nt=>{var at;return!te&&(((at=nt.style)===null||at===void 0?void 0:at.visibility)==="hidden"||ge.getAncestorsData(nt.id,E0).some(qp)||ge.getAncestorsData(nt.id,hh).some(qp))?!1:E(nt)}:nt=>{const at=Xi(nt),pt=Ae(at);return!pt||CM(pt)?!1:E(nt)},We=re.filter(Pe),Xe=new Map(We.map(nt=>[Xi(nt),nt]));le.forEach(nt=>Xe.set(Xi(nt),nt));const qe=oe.filter(({source:nt,target:at})=>Xe.has(nt)&&Xe.has(at));return{nodes:We,edges:qe,combos:le}}initGraphLayout(x){var E;const{element:z,viewport:te}=this.context,{type:re,enableWorker:oe,animation:le,iterations:he}=x,ge=_Z(x,["type","enableWorker","animation","iterations"]),[Ae,Pe]=te.getCanvasSize(),We=[Ae/2,Pe/2],Xe=(E=x==null?void 0:x.nodeSize)!==null&&E!==void 0?E:mt=>{const bt=z==null?void 0:z.getElement(mt.id);return bt?bt.attributes.size:z==null?void 0:z.getElementComputedStyle("node",mt).size},qe=Zy("layout",re);if(!qe)return Jp.warn(`The layout of ${re} is not registered.`);const nt=Object.getPrototypeOf(qe.prototype)===NM.prototype?qe:B7(qe,this.context),at=new nt(this.context),pt={nodeSize:Xe,width:Ae,height:Pe,center:We};switch(at.id){case"d3-force":case"d3-force-3d":Object.assign(pt,{center:{x:Ae/2,y:Pe/2,z:0}});break;default:break}return yp(at.options,pt,ge),at}updateElementPosition(x,E){const{model:z,element:te}=this.context;return te?(z.updateData(x),te.draw({animation:E,silence:!0})):null}destroy(){var x;this.stopLayout(),this.context={},(x=this.supervisor)===null||x===void 0||x.kill(),this.supervisor=void 0,this.instance=void 0,this.instances=[],this.animationResult=void 0}}const xR=(b,x)=>{var E;const[z,te]=x;(E=b.nodes)===null||E===void 0||E.forEach(re=>{if(re.style){const{x:oe=0,y:le=0}=re.style;re.style.x=oe+z,re.style.y=le+te}else re.style={x:z,y:te}})};function jZ(b){return[WZ].reduce((E,z)=>z(E),b)}function WZ(b){return!b.layout||Array.isArray(b.layout)||"preLayout"in b.layout||["antv-dagre","combo-combined","compact-box","circular","concentric","dagre","fishbone","grid","indented","mds","radial","random","snake","dendrogram","mindmap"].includes(b.layout.type)&&(b.layout.preLayout=!0),b}class UZ extends y5{constructor(x){super(x),this.category="plugin",this.setPlugins(this.context.options.plugins||[])}setPlugins(x){this.setExtensions(x)}getPluginInstance(x){const E=this.extensionMap[x];if(E)return E;Jp.warn(`Cannot find the plugin ${x}, will try to find it by type.`);const z=this.extensions.find(te=>te.type===x);if(z)return this.extensionMap[z.key]}}const KL=["update-related-edges","collapse-expand-node","collapse-expand-combo","get-edge-actual-ends","arrange-draw-order"];class GZ extends y5{constructor(x){super(x),this.category="transform",this.setTransforms(this.context.options.transforms||[])}getTransforms(){}setTransforms(x){this.setExtensions([...KL.slice(0,KL.length-1),...x,KL[KL.length-1]])}getTransformInstance(x){return x?this.extensionMap[x]:this.extensionMap}}var S2=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})};class HZ{get padding(){return Jv(this.context.options.padding)}get paddingOffset(){const[x,E,z,te]=this.padding,[re,oe,le]=[(te-E)/2,(x-z)/2,0];return[re,oe,le]}constructor(x){this.landmarkCounter=0,this.context=x;const[E,z]=this.paddingOffset,{zoom:te,rotation:re,x:oe=E,y:le=z}=x.options;this.transform({mode:"absolute",scale:te,translate:[oe,le],rotate:re},!1)}get camera(){const{canvas:x}=this.context;return new Proxy(x.getCamera(),{get:(E,z)=>{const re=Object.entries(x.getLayers()).filter(([le])=>!["main"].includes(le)).map(([,le])=>le.getCamera()),oe=E[z];if(typeof oe=="function")return(...le)=>{const he=oe.apply(E,le);return re.forEach(ge=>{ge[z].apply(ge,le)}),he}}})}createLandmark(x){return this.camera.createLandmark(`landmark-${this.landmarkCounter++}`,x)}getAnimation(x){const E=ZI(this.context.options,x);return E?jE(Object.assign({},E),["easing","duration"]):!1}getCanvasSize(){const{canvas:x}=this.context,{width:E=0,height:z=0}=x.getConfig();return[E,z]}getCanvasCenter(){const{canvas:x}=this.context,{width:E=0,height:z=0}=x.getConfig();return[E/2,z/2,0]}getViewportCenter(){const[x,E]=this.camera.getPosition();return[x,E,0]}getGraphCenter(){return this.context.graph.getViewportByCanvas(this.getCanvasCenter())}getZoom(){return this.camera.getZoom()}getRotation(){return this.camera.getRoll()}getTranslateOptions(x){const{camera:E}=this,{mode:z,translate:te=[]}=x,re=this.getZoom(),oe=E.getPosition(),le=E.getFocalPoint(),[he,ge]=this.getCanvasCenter(),[Ae=0,Pe=0,We=0]=te,Xe=em([-Ae,-Pe,-We],re);return z==="relative"?{position:hu(oe,Xe),focalPoint:hu(le,Xe)}:{position:hu([he,ge,oe[2]],Xe),focalPoint:hu([he,ge,le[2]],Xe)}}getRotateOptions(x){const{mode:E,rotate:z=0}=x;return{roll:E==="relative"?this.camera.getRoll()+z:z}}getZoomOptions(x){const{zoomRange:E}=this.context.options,z=this.camera.getZoom(),{mode:te,scale:re=1}=x;return Sh(te==="relative"?z*re:re,...E)}transform(x,E){return S2(this,void 0,void 0,function*(){const{graph:z}=this.context,{translate:te,rotate:re,scale:oe,origin:le}=x;this.cancelAnimation();const he=this.getAnimation(E);if(Gf(z,new zL(ts.BEFORE_TRANSFORM,x)),!re&&oe&&!te&&le&&!he){this.camera.setZoomByViewportPoint(this.getZoomOptions(x),le),Gf(z,new zL(ts.AFTER_TRANSFORM,x));return}const ge={};if(te&&Object.assign(ge,this.getTranslateOptions(x)),As(re)&&Object.assign(ge,this.getRotateOptions(x)),As(oe)&&Object.assign(ge,{zoom:this.getZoomOptions(x)}),he)return Gf(z,new Av(ts.BEFORE_ANIMATE,Qp.TRANSFORM,null,x)),new Promise(Ae=>{this.transformResolver=Ae,this.camera.gotoLandmark(this.createLandmark(ge),Object.assign(Object.assign({},he),{onfinish:()=>{Gf(z,new Av(ts.AFTER_ANIMATE,Qp.TRANSFORM,null,x)),Gf(z,new zL(ts.AFTER_TRANSFORM,x)),this.transformResolver=void 0,Ae()}}))});this.camera.gotoLandmark(this.createLandmark(ge),{duration:0}),Gf(z,new zL(ts.AFTER_TRANSFORM,x))})}fitView(x,E){return S2(this,void 0,void 0,function*(){const[z,te,re,oe]=this.padding,{when:le="always",direction:he="both"}=x||{},[ge,Ae]=this.context.canvas.getSize(),Pe=ge-oe-te,We=Ae-z-re,Xe=this.context.canvas.getBounds(),qe=this.getBBoxInViewport(Xe),[nt,at]=ax(qe),pt=he==="x"&&nt>=Pe||he==="y"&&at>=We||he==="both"&&nt>=Pe&&at>=We;if(le==="overflow"&&!pt)return yield this.fitCenter({animation:E});const mt=Pe/nt,bt=We/at,jt=he==="x"?mt:he==="y"?bt:Math.min(mt,bt),Ut=this.getAnimation(E);yield this.transform({mode:"relative",scale:jt,translate:hu(Jc(this.getCanvasCenter(),this.getBBoxInViewport(Xe).center),em(this.paddingOffset,jt))},Ut)})}fitCenter(x){return S2(this,void 0,void 0,function*(){const E=this.context.canvas.getBounds();yield this.focus(E,x)})}focusElements(x){return S2(this,arguments,void 0,function*(E,z={}){const{element:te}=this.context;if(!te)return;const re=le=>z.shapes?le.getShape(z.shapes).getRenderBounds():le.getRenderBounds(),oe=zC(E.map(le=>re(te.getElement(le))));yield this.focus(oe,z)})}focus(x,E){return S2(this,void 0,void 0,function*(){const z=this.context.graph.getViewportByCanvas(x.center),te=E.position||this.getCanvasCenter(),re=Jc(te,z);yield this.transform({mode:"relative",translate:hu(re,this.paddingOffset)},E.animation)})}getBBoxInViewport(x){const{min:E,max:z}=x,{graph:te}=this.context,[re,oe]=te.getViewportByCanvas(E),[le,he]=te.getViewportByCanvas(z),ge=new Dc;return ge.setMinMax([re,oe,0],[le,he,0]),ge}isInViewport(x,E=!1,z=0){const{graph:te}=this.context,re=this.getCanvasSize(),[oe,le]=te.getCanvasByViewport([0,0]),[he,ge]=te.getCanvasByViewport(re);let Ae=new Dc;return Ae.setMinMax([oe,le,0],[he,ge,0]),z&&(Ae=lx(Ae,z)),CS(x)?qv(x,Ae):E?$k(x,Ae):Ae.intersects(x)}cancelAnimation(){var x,E;!((x=this.camera.landmarks)===null||x===void 0)&&x.length&&this.camera.cancelLandmarkAnimation(),(E=this.transformResolver)===null||E===void 0||E.call(this)}}var Ph=function(b,x,E,z){function te(re){return re instanceof E?re:new E(function(oe){oe(re)})}return new(E||(E=Promise))(function(re,oe){function le(Ae){try{ge(z.next(Ae))}catch(Pe){oe(Pe)}}function he(Ae){try{ge(z.throw(Ae))}catch(Pe){oe(Pe)}}function ge(Ae){Ae.done?re(Ae.value):te(Ae.value).then(le,he)}ge((z=z.apply(b,x||[])).next())})};class ZS extends IM{constructor(x){var E;super(),this.options={},this.rendered=!1,this.destroyed=!1,this.context={model:new CZ},this.isCollapsingExpanding=!1,this.onResize=$C(()=>{this.resize()},300),this._setOptions(Object.assign({},ZS.defaultOptions,x),!0),this.context.graph=this,this.options.autoResize&&((E=globalThis.addEventListener)===null||E===void 0||E.call(globalThis,"resize",this.onResize))}getOptions(){return this.options}setOptions(x){this._setOptions(x,!1)}_setOptions(x,E){if(this.updateCanvas(x),Object.assign(this.options,jZ(x)),E){const{data:We}=x;We&&this.addData(We);return}const{behaviors:z,combo:te,data:re,edge:oe,layout:le,node:he,plugins:ge,theme:Ae,transforms:Pe}=x;z&&this.setBehaviors(z),re&&this.setData(re),he&&this.setNode(he),oe&&this.setEdge(oe),te&&this.setCombo(te),le&&this.setLayout(le),Ae&&this.setTheme(Ae),ge&&this.setPlugins(ge),Pe&&this.setTransforms(Pe)}getSize(){return this.context.canvas?this.context.canvas.getSize():[this.options.width||0,this.options.height||0]}setSize(x,E){x&&(this.options.width=x),E&&(this.options.height=E),this.resize(x,E)}setZoomRange(x){this.options.zoomRange=x}getZoomRange(){return this.options.zoomRange}setNode(x){this.options.node=x,this.context.model.refreshData()}setEdge(x){this.options.edge=x,this.context.model.refreshData()}setCombo(x){this.options.combo=x,this.context.model.refreshData()}getTheme(){return this.options.theme}setTheme(x){this.options.theme=Ys(x)?x(this.getTheme()):x}setLayout(x){this.options.layout=Ys(x)?x(this.getLayout()):x}getLayout(){return this.options.layout}setBehaviors(x){var E;this.options.behaviors=Ys(x)?x(this.getBehaviors()):x,(E=this.context.behavior)===null||E===void 0||E.setBehaviors(this.options.behaviors)}updateBehavior(x){this.setBehaviors(E=>E.map(z=>typeof z=="object"&&z.key===x.key?Object.assign(Object.assign({},z),x):z))}getBehaviors(){return this.options.behaviors||[]}setPlugins(x){var E;this.options.plugins=Ys(x)?x(this.getPlugins()):x,(E=this.context.plugin)===null||E===void 0||E.setPlugins(this.options.plugins)}updatePlugin(x){this.setPlugins(E=>E.map(z=>typeof z=="object"&&z.key===x.key?Object.assign(Object.assign({},z),x):z))}getPlugins(){return this.options.plugins||[]}getPluginInstance(x){return this.context.plugin.getPluginInstance(x)}setTransforms(x){var E;this.options.transforms=Ys(x)?x(this.getTransforms()):x,(E=this.context.transform)===null||E===void 0||E.setTransforms(this.options.transforms)}updateTransform(x){this.setTransforms(E=>E.map(z=>typeof z=="object"&&z.key===x.key?Object.assign(Object.assign({},z),x):z)),this.context.model.refreshData()}getTransforms(){return this.options.transforms||[]}getData(){return this.context.model.getData()}getElementData(x){return Array.isArray(x)?x.map(E=>this.context.model.getElementDataById(E)):this.context.model.getElementDataById(x)}getNodeData(x){var E;return x===void 0?this.context.model.getNodeData():Array.isArray(x)?this.context.model.getNodeData(x):(E=this.context.model.getNodeData([x]))===null||E===void 0?void 0:E[0]}getEdgeData(x){var E;return x===void 0?this.context.model.getEdgeData():Array.isArray(x)?this.context.model.getEdgeData(x):(E=this.context.model.getEdgeData([x]))===null||E===void 0?void 0:E[0]}getComboData(x){var E;return x===void 0?this.context.model.getComboData():Array.isArray(x)?this.context.model.getComboData(x):(E=this.context.model.getComboData([x]))===null||E===void 0?void 0:E[0]}setData(x){this.context.model.setData(Ys(x)?x(this.getData()):x)}addData(x){this.context.model.addData(Ys(x)?x(this.getData()):x)}addNodeData(x){this.context.model.addNodeData(Ys(x)?x(this.getNodeData()):x)}addEdgeData(x){this.context.model.addEdgeData(Ys(x)?x(this.getEdgeData()):x)}addComboData(x){this.context.model.addComboData(Ys(x)?x(this.getComboData()):x)}addChildrenData(x,E){this.context.model.addChildrenData(x,E)}updateData(x){this.context.model.updateData(Ys(x)?x(this.getData()):x)}updateNodeData(x){this.context.model.updateNodeData(Ys(x)?x(this.getNodeData()):x)}updateEdgeData(x){this.context.model.updateEdgeData(Ys(x)?x(this.getEdgeData()):x)}updateComboData(x){this.context.model.updateComboData(Ys(x)?x(this.getComboData()):x)}removeData(x){this.context.model.removeData(Ys(x)?x(this.getData()):x)}removeNodeData(x){this.context.model.removeNodeData(Ys(x)?x(this.getNodeData()):x)}removeEdgeData(x){this.context.model.removeEdgeData(Ys(x)?x(this.getEdgeData()):x)}removeComboData(x){this.context.model.removeComboData(Ys(x)?x(this.getComboData()):x)}getElementType(x){return this.context.model.getElementType(x)}getRelatedEdgesData(x,E="both"){return this.context.model.getRelatedEdgesData(x,E)}getNeighborNodesData(x){return this.context.model.getNeighborNodesData(x)}getAncestorsData(x,E){return this.context.model.getAncestorsData(x,E)}getParentData(x,E){return this.context.model.getParentData(x,E)}getChildrenData(x){return this.context.model.getChildrenData(x)}getDescendantsData(x){return this.context.model.getDescendantsData(x)}getElementDataByState(x,E){return this.context.model.getElementDataByState(x,E)}initCanvas(){return Ph(this,void 0,void 0,function*(){var x;if(this.context.canvas)return yield this.context.canvas.ready;const{container:E="container",width:z,height:te,renderer:re,cursor:oe,background:le,canvas:he,devicePixelRatio:ge=(x=globalThis.devicePixelRatio)!==null&&x!==void 0?x:1}=this.options;if(E instanceof rR)this.context.canvas=E,oe&&E.setCursor(oe),re&&E.setRenderer(re),yield E.ready;else{const Ae=qu(E)?document.getElementById(E):E,Pe=aR(Ae);this.emit(ts.BEFORE_CANVAS_INIT,{container:Ae,width:z,height:te});const We=Object.assign(Object.assign({},he),{container:Ae,width:z||Pe[0],height:te||Pe[1],background:le,renderer:re,cursor:oe,devicePixelRatio:ge}),Xe=new rR(We);this.context.canvas=Xe,yield Xe.ready,this.emit(ts.AFTER_CANVAS_INIT,{canvas:Xe})}})}updateCanvas(x){var E,z;const{renderer:te,cursor:re,height:oe,width:le}=x,he=this.context.canvas;he&&(te&&(this.emit(ts.BEFORE_RENDERER_CHANGE,{renderer:this.options.renderer}),he.setRenderer(te),this.emit(ts.AFTER_RENDERER_CHANGE,{renderer:te})),re&&he.setCursor(re),(As(le)||As(oe))&&this.setSize((E=le!=null?le:this.options.width)!==null&&E!==void 0?E:0,(z=oe!=null?oe:this.options.height)!==null&&z!==void 0?z:0))}initRuntime(){this.context.options=this.options,this.context.batch||(this.context.batch=new xZ(this.context)),this.context.plugin||(this.context.plugin=new UZ(this.context)),this.context.viewport||(this.context.viewport=new HZ(this.context)),this.context.transform||(this.context.transform=new GZ(this.context)),this.context.element||(this.context.element=new bZ(this.context)),this.context.animation||(this.context.animation=new yZ(this.context)),this.context.layout||(this.context.layout=new zZ(this.context)),this.context.behavior||(this.context.behavior=new EZ(this.context))}prepare(){return Ph(this,void 0,void 0,function*(){if(yield Promise.resolve(),this.destroyed)throw new Error(Yy("The graph instance has been destroyed"));yield this.initCanvas(),this.initRuntime()})}render(){return Ph(this,void 0,void 0,function*(){if(yield this.prepare(),Gf(this,new ff(ts.BEFORE_RENDER)),this.options.layout)if(!this.rendered&&N7(this.options.layout)){const x=yield this.context.element.preLayoutDraw({type:"render"});yield Promise.all([x==null?void 0:x.finished,this.autoFit()])}else{const x=this.context.element.draw({type:"render"});yield Promise.all([x==null?void 0:x.finished,this.context.layout.postLayout()]),yield this.autoFit()}else{const x=this.context.element.draw({type:"render"});yield Promise.all([x==null?void 0:x.finished,this.autoFit()])}this.rendered=!0,Gf(this,new ff(ts.AFTER_RENDER))})}draw(){return Ph(this,void 0,void 0,function*(){var x;yield this.prepare(),yield(x=this.context.element.draw())===null||x===void 0?void 0:x.finished})}layout(){return Ph(this,void 0,void 0,function*(){yield this.context.layout.postLayout()})}stopLayout(){this.context.layout.stopLayout()}clear(){return Ph(this,void 0,void 0,function*(){const{model:x,element:E}=this.context;x.setData({}),x.clearChanges(),E==null||E.clear()})}destroy(){var x;Gf(this,new ff(ts.BEFORE_DESTROY));const{layout:E,animation:z,element:te,model:re,canvas:oe,behavior:le,plugin:he}=this.context;he==null||he.destroy(),le==null||le.destroy(),E==null||E.destroy(),z==null||z.destroy(),te==null||te.destroy(),re.destroy(),oe==null||oe.destroy(),this.options={},this.context={},this.off(),(x=globalThis.removeEventListener)===null||x===void 0||x.call(globalThis,"resize",this.onResize),this.destroyed=!0,Gf(this,new ff(ts.AFTER_DESTROY))}getCanvas(){return this.context.canvas}resize(x,E){var z;const te=aR((z=this.context.canvas)===null||z===void 0?void 0:z.getContainer()),re=[x||te[0],E||te[1]];if(!this.context.canvas)return;const oe=this.context.canvas.getSize();Qd(re,oe)||(Gf(this,new ff(ts.BEFORE_SIZE_CHANGE,{size:re})),this.context.canvas.resize(...re),Gf(this,new ff(ts.AFTER_SIZE_CHANGE,{size:re})))}fitView(x,E){return Ph(this,void 0,void 0,function*(){var z;yield(z=this.context.viewport)===null||z===void 0?void 0:z.fitView(x,E)})}fitCenter(x){return Ph(this,void 0,void 0,function*(){var E;yield(E=this.context.viewport)===null||E===void 0?void 0:E.fitCenter({animation:x})})}autoFit(){return Ph(this,void 0,void 0,function*(){const{autoFit:x}=this.context.options;if(x)if(qu(x))x==="view"?yield this.fitView():x==="center"&&(yield this.fitCenter());else{const{type:E,animation:z}=x;E==="view"?yield this.fitView(x.options,z):E==="center"&&(yield this.fitCenter(z))}})}focusElement(x,E){return Ph(this,void 0,void 0,function*(){var z;yield(z=this.context.viewport)===null||z===void 0?void 0:z.focusElements(Array.isArray(x)?x:[x],{animation:E})})}zoomBy(x,E,z){return Ph(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",scale:x,origin:z},E)})}zoomTo(x,E,z){return Ph(this,void 0,void 0,function*(){this.context.viewport.transform({mode:"absolute",scale:x,origin:z},E)})}getZoom(){return this.context.viewport.getZoom()}rotateBy(x,E,z){return Ph(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",rotate:x,origin:z},E)})}rotateTo(x,E,z){return Ph(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",rotate:x,origin:z},E)})}getRotation(){return this.context.viewport.getRotation()}translateBy(x,E){return Ph(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",translate:x},E)})}translateTo(x,E){return Ph(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",translate:x},E)})}getPosition(){return Jc([0,0],this.getCanvasByViewport([0,0]))}translateElementBy(x,E){return Ph(this,arguments,void 0,function*(z,te,re=!0){var oe,le;const[he,ge]=lh(z)?[z,(oe=te)!==null&&oe!==void 0?oe:!0]:[{[z]:te},re];Object.entries(he).forEach(([Ae,Pe])=>this.context.model.translateNodeLikeBy(Ae,Pe)),yield(le=this.context.element.draw({animation:ge,stage:"translate"}))===null||le===void 0?void 0:le.finished})}translateElementTo(x,E){return Ph(this,arguments,void 0,function*(z,te,re=!0){var oe,le;const[he,ge]=lh(z)?[z,(oe=te)!==null&&oe!==void 0?oe:!0]:[{[z]:te},re];Object.entries(he).forEach(([Ae,Pe])=>this.context.model.translateNodeLikeTo(Ae,Pe)),yield(le=this.context.element.draw({animation:ge,stage:"translate"}))===null||le===void 0?void 0:le.finished})}getElementPosition(x){return this.context.model.getElementPosition(x)}getElementRenderStyle(x){return ED(this.context.element.getElement(x).attributes,["context"])}setElementVisibility(x,E){return Ph(this,arguments,void 0,function*(z,te,re=!0){var oe,le;const[he,ge]=lh(z)?[z,(oe=te)!==null&&oe!==void 0?oe:!0]:[{[z]:te},re],Ae={nodes:[],edges:[],combos:[]};Object.entries(he).forEach(([Xe,qe])=>{const nt=this.getElementType(Xe);Ae[`${nt}s`].push({id:Xe,style:{visibility:qe}})});const{model:Pe,element:We}=this.context;Pe.preventUpdateNodeLikeHierarchy(()=>{Pe.updateData(Ae)}),yield(le=We.draw({animation:ge,stage:"visibility"}))===null||le===void 0?void 0:le.finished})}showElement(x,E){return Ph(this,void 0,void 0,function*(){const z=Array.isArray(x)?x:[x];yield this.setElementVisibility(Object.fromEntries(z.map(te=>[te,"visible"])),E)})}hideElement(x,E){return Ph(this,void 0,void 0,function*(){const z=Array.isArray(x)?x:[x];yield this.setElementVisibility(Object.fromEntries(z.map(te=>[te,"hidden"])),E)})}getElementVisibility(x){var E,z;const te=this.context.element.getElement(x);return(z=(E=te==null?void 0:te.style)===null||E===void 0?void 0:E.visibility)!==null&&z!==void 0?z:"visible"}setElementZIndex(x,E){return Ph(this,void 0,void 0,function*(){var z;const te={nodes:[],edges:[],combos:[]},re=lh(x)?x:{[x]:E};Object.entries(re).forEach(([he,ge])=>{const Ae=this.getElementType(he);te[`${Ae}s`].push({id:he,style:{zIndex:ge}})});const{model:oe,element:le}=this.context;oe.preventUpdateNodeLikeHierarchy(()=>oe.updateData(te)),yield(z=le.draw({animation:!1,stage:"zIndex"}))===null||z===void 0?void 0:z.finished})}frontElement(x){return Ph(this,void 0,void 0,function*(){const E=Array.isArray(x)?x:[x],{model:z}=this.context,te={};E.map(re=>{const oe=z.getFrontZIndex(re);if(z.getElementType(re)==="combo"){const he=z.getAncestorsData(re,hh).at(-1)||this.getComboData(re),ge=[he,...z.getDescendantsData(Xi(he))],Ae=oe-sR(he);ge.forEach(We=>{te[Xi(We)]=this.getElementZIndex(Xi(We))+Ae});const{internal:Pe}=U5(ge.map(Xi),We=>z.getRelatedEdgesData(We));Pe.forEach(We=>{const Xe=Xi(We);te[Xe]=this.getElementZIndex(Xe)+Ae})}else te[re]=oe}),yield this.setElementZIndex(te)})}getElementZIndex(x){return sR(this.context.model.getElementDataById(x))}setElementState(x,E){return Ph(this,arguments,void 0,function*(z,te,re=!0){var oe,le;const[he,ge]=lh(z)?[z,(oe=te)!==null&&oe!==void 0?oe:!0]:[{[z]:te},re],Ae=We=>We?Array.isArray(We)?We:[We]:[],Pe={nodes:[],edges:[],combos:[]};Object.entries(he).forEach(([We,Xe])=>{const qe=this.getElementType(We);Pe[`${qe}s`].push({id:We,states:Ae(Xe)})}),this.updateData(Pe),yield(le=this.context.element.draw({animation:ge,stage:"state"}))===null||le===void 0?void 0:le.finished})}getElementState(x){return this.context.model.getElementState(x)}getElementRenderBounds(x){return this.context.element.getElement(x).getRenderBounds()}collapseElement(x){return Ph(this,arguments,void 0,function*(E,z=!0){const{model:te,element:re}=this.context;if(qp(te.getNodeLikeData([E])[0])||this.isCollapsingExpanding)return;typeof z=="boolean"&&(z={animation:z,align:!0});const oe=te.getElementType(E);yield this.frontElement(E),this.isCollapsingExpanding=!0,this.setElementCollapsibility(E,!0),oe==="node"?yield re.collapseNode(E,z):oe==="combo"&&(yield re.collapseCombo(E,!!z.animation)),this.isCollapsingExpanding=!1})}expandElement(x){return Ph(this,arguments,void 0,function*(E,z=!0){const{model:te,element:re}=this.context;if(!qp(te.getNodeLikeData([E])[0])||this.isCollapsingExpanding)return;typeof z=="boolean"&&(z={animation:z,align:!0});const oe=te.getElementType(E);this.isCollapsingExpanding=!0,this.setElementCollapsibility(E,!1),oe==="node"?yield re.expandNode(E,z):oe==="combo"&&(yield re.expandCombo(E,!!z.animation)),this.isCollapsingExpanding=!1})}setElementCollapsibility(x,E){const z=this.getElementType(x);z==="node"?this.updateNodeData([{id:x,style:{collapsed:E}}]):z==="combo"&&this.updateComboData([{id:x,style:{collapsed:E}}])}toDataURL(){return Ph(this,arguments,void 0,function*(x={}){return this.context.canvas.toDataURL(x)})}getCanvasByViewport(x){return this.context.canvas.getCanvasByViewport(x)}getViewportByCanvas(x){return this.context.canvas.getViewportByCanvas(x)}getClientByCanvas(x){return this.context.canvas.getClientByCanvas(x)}getCanvasByClient(x){return this.context.canvas.getCanvasByClient(x)}getViewportCenter(){return this.context.viewport.getViewportCenter()}getCanvasCenter(){return this.context.viewport.getCanvasCenter()}on(x,E,z){return super.on(x,E,z)}once(x,E){return super.once(x,E)}off(x,E){return super.off(x,E)}}ZS.defaultOptions={autoResize:!1,theme:"light",rotation:0,zoom:1,zoomRange:[.01,10]};var VZ=function(b,x){var E={};for(var z in b)Object.prototype.hasOwnProperty.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&typeof Object.getOwnPropertySymbols=="function")for(var te=0,z=Object.getOwnPropertySymbols(b);te<z.length;te++)x.indexOf(z[te])<0&&Object.prototype.propertyIsEnumerable.call(b,z[te])&&(E[z[te]]=b[z[te]]);return E};function vI(b,x){const{getNodeData:E=(le,he)=>{if(le.depth=he,!le.children)return le;const{children:ge}=le,Ae=VZ(le,["children"]);return Object.assign(Object.assign({},Ae),{children:ge.map(Pe=>Pe.id)})},getEdgeData:z=(le,he)=>({source:le.id,target:he.id}),getChildren:te=le=>le.children||[]}=x||{},re=[],oe=[];return FE(b,(le,he)=>{re.push(E(le,he));const ge=te(le);for(const Ae of ge)oe.push(z(le,Ae))},le=>te(le),"TB"),{nodes:re,edges:oe}}class KZ extends Cx{beforeDraw(x){const{add:E,update:z}=x,{model:te}=this.context;return[...E.edges.entries(),...z.edges.entries()].forEach(([,re])=>{ER(te,re)}),x}}const ER=(b,x)=>{const{source:E,target:z}=x,te=b.getElementDataById(E),re=b.getElementDataById(z),oe=RO(te,Pe=>b.getParentData(Pe,hh)),le=RO(re,Pe=>b.getParentData(Pe,hh)),he=Xi(oe),ge=Xi(le),Ae={sourceNode:he,targetNode:ge};return x.style?Object.assign(x.style,Ae):x.style=Ae,x},ZZ=(b,x,E)=>{const[z,te]=x,[re,oe]=E;if(te===z)return re;const le=(b-z)/(te-z);return re+le*(oe-re)},YZ=(b,x,E)=>{const[z,te]=x,[re,oe]=E,le=Math.log(b-z+1)/Math.log(te-z+1);return re+le*(oe-re)},XZ=(b,x,E,z=2)=>{const[te,re]=x,[oe,le]=E,he=Math.pow((b-te)/(re-te),z);return oe+he*(le-oe)},QZ=(b,x,E)=>{const[z,te]=x,[re,oe]=E,le=Math.sqrt((b-z)/(te-z));return re+le*(oe-re)};class ZL extends Cx{constructor(x,E){super(x,yp({},ZL.defaultOptions,E)),this.assignSizeByCentrality=(z,te,re,oe,le,he)=>{const ge=[te,re],Ae=[oe[0],le[0]],Pe=[oe[1],le[1]],We=[oe[2],le[2]],Xe=(qe,nt)=>{if(typeof he=="function")return he(qe,ge,nt);switch(he){case"linear":return ZZ(qe,ge,nt);case"log":return YZ(qe,ge,nt);case"pow":return XZ(qe,ge,nt,2);case"sqrt":return QZ(qe,ge,nt);default:return nt[0]}};return[Xe(z,Ae),Xe(z,Pe),Xe(z,We)]}}beforeDraw(x){const{model:E}=this.context,z=E.getNodeData(),te=S0(this.options.maxSize),re=S0(this.options.minSize),oe=this.getCentralities(this.options.centrality),le=oe.size>0?Math.max(...oe.values()):0,he=oe.size>0?Math.min(...oe.values()):0;return z.forEach(ge=>{var Ae;const Pe=this.assignSizeByCentrality(oe.get(Xi(ge))||0,he,le,re,te,this.options.scale),We=(Ae=this.context.element)===null||Ae===void 0?void 0:Ae.getElement(Xi(ge)),Xe={size:Pe};this.assignLabelStyle(Xe,Pe,ge,We),(!We||!FL(Xe,We.attributes))&&M0(x,We?"update":"add","node",yp(ge,{style:Xe}),!0)}),x}assignLabelStyle(x,E,z,te){var re;const oe=te?te.config.style:(re=this.context.element)===null||re===void 0?void 0:re.getElementComputedStyle("node",z);if(Object.assign(x,jE(oe,["labelFontSize","labelLineHeight"])),this.options.mapLabelSize){const le=this.getLabelSizeByNodeSize(E,1/0,Number(x.labelFontSize));Object.assign(x,{labelFontSize:le,labelLineHeight:le+qk(x.labelPadding)})}return x}getLabelSizeByNodeSize(x,E,z){const te=Math.min(...x)/2,[re,oe]=Array.isArray(this.options.mapLabelSize)?this.options.mapLabelSize:[z,E];return Math.min(oe,Math.max(te,re))}getCentralities(x){const{model:E}=this.context,z=E.getData();if(typeof x=="function")return x(z);const te=E.getRelatedEdgesData.bind(E);return _3(z,te,x)}}ZL.defaultOptions={centrality:{type:"degree"},maxSize:80,minSize:20,scale:"linear",mapLabelSize:!1};class YL extends Cx{constructor(x,E){super(x,Object.assign({},YL.defaultOptions,E))}get ref(){return this.context.model.getRootsData()[0]}afterLayout(){var x;const E=Wf(this.ref),{graph:z,model:te}=this.context;(x=te.getData().nodes)===null||x===void 0||x.forEach(oe=>{var le;if(Xi(oe)===Xi(this.ref))return;const he=U3(Jc(Wf(oe),E)),ge=Math.abs(he)>Math.PI/2,Ae=!oe.children||oe.children.length===0,Pe=Xi(oe),We=(le=this.context.element)===null||le===void 0?void 0:le.getElement(Pe);if(!We||!We.isVisible())return;const Xe=S0(z.getElementRenderStyle(Pe).size)[0]/2,qe=(Ae?1:-1)*(Xe+this.options.offset),nt=[["translate",qe*Math.cos(he),qe*Math.sin(he)],["rotate",ge?ng(he)+180:ng(he)]];te.updateNodeData([{id:Xi(oe),style:{labelTextAlign:ge===Ae?"right":"left",labelTextBaseline:"middle",labelTransform:nt}}])}),z.draw()}}YL.defaultOptions={offset:5};const JZ="quadratic",AR=["top","top-right","right","right-bottom","bottom","bottom-left","left","left-top"];class XL extends Cx{constructor(x,E){super(x,Object.assign({},XL.defaultOptions,E)),this.cacheMergeStyle=new Map,this.getAffectedParallelEdges=z=>{const{add:{edges:te},update:{nodes:re,edges:oe,combos:le},remove:{edges:he}}=z,{model:ge}=this.context,Ae=new Map,Pe=(qe,nt)=>{ge.getRelatedEdgesData(nt).forEach(pt=>!Ae.has(Xi(pt))&&Ae.set(Xi(pt),pt))};re.forEach(Pe),le.forEach(Pe);const We=qe=>{const nt=ge.getEdgeData().map(pt=>ER(ge,pt));qZ(qe,nt,!0).forEach(pt=>!Ae.has(Xi(pt))&&Ae.set(Xi(pt),pt))};if(he.size&&he.forEach(We),te.size&&te.forEach(We),oe.size){const qe=PB(PD(ge.getChanges())).update.edges;oe.forEach(nt=>{var at;We(nt);const pt=(at=qe.find(mt=>Xi(mt.value)===Xi(nt)))===null||at===void 0?void 0:at.original;pt&&!mI(nt,pt)&&We(pt)})}Jm(this.options.edges)||Ae.forEach((qe,nt)=>!this.options.edges.includes(nt)&&Ae.delete(nt));const Xe=ge.getEdgeData().map(Xi);return new Map([...Ae].sort((qe,nt)=>Xe.indexOf(qe[0])-Xe.indexOf(nt[0])))},this.applyBundlingStyle=(z,te,re)=>{const{edgeMap:oe,reverses:le}=SR(te);oe.forEach(he=>{he.forEach((ge,Ae,Pe)=>{var We;const Xe=Pe.length,qe=ge.style||{};if(ge.source===ge.target){const pt=AR.length;qe.loopPlacement=AR[Ae%pt],qe.loopDist=Math.floor(Ae/pt)*re+50}else if(Xe===1)qe.curveOffset=0;else{const pt=(Ae%2===0?1:-1)*(le[`${ge.source}|${ge.target}|${Ae}`]?-1:1);qe.curveOffset=Xe%2===1?pt*Math.ceil(Ae/2)*re*2:pt*(Math.floor(Ae/2)*re*2+re)}const nt=Object.assign(ge,{type:JZ,style:qe}),at=(We=this.context.element)===null||We===void 0?void 0:We.getElement(Xi(ge));(!at||!FL(nt.style,at.attributes))&&M0(z,at?"update":"add","edge",nt,!0)})})},this.resetEdgeStyle=z=>{const te=z.style||{},re=this.cacheMergeStyle.get(Xi(z))||{};return Object.keys(re).forEach(oe=>{Qd(te[oe],re[oe])&&(z[oe]?te[oe]=z[oe]:delete te[oe])}),Object.assign(z,{style:te})},this.applyMergingStyle=(z,te)=>{const{edgeMap:re,reverses:oe}=SR(te);re.forEach(le=>{var he;if(le.length===1){const Ae=le[0],Pe=(he=this.context.element)===null||he===void 0?void 0:he.getElement(Xi(Ae)),We=this.resetEdgeStyle(Ae);(!Pe||!FL(We,Pe.attributes))&&M0(z,Pe?"update":"add","edge",We);return}const ge=le.map(({source:Ae,target:Pe,style:We={}},Xe)=>{const{startArrow:qe,endArrow:nt}=We,at={},[pt,mt]=oe[`${Ae}|${Pe}|${Xe}`]?["endArrow","startArrow"]:["startArrow","endArrow"];return Zx(qe)&&(at[pt]=qe),Zx(nt)&&(at[mt]=nt),at}).reduce((Ae,Pe)=>Object.assign(Object.assign({},Ae),Pe),{});le.forEach((Ae,Pe,We)=>{var Xe;if(Pe!==0){M0(z,"remove","edge",Ae);return}const qe=Object.assign({},Ys(this.options.style)?this.options.style(We):this.options.style,{childrenData:We});this.cacheMergeStyle.set(Xi(Ae),qe);const nt=Object.assign(Object.assign({},Ae),{type:"line",style:Object.assign(Object.assign(Object.assign({},Ae.style),ge),qe)}),at=(Xe=this.context.element)===null||Xe===void 0?void 0:Xe.getElement(Xi(Ae));(!at||!FL(nt.style,at.attributes))&&M0(z,at?"update":"add","edge",nt,!0)})})}}beforeDraw(x){const E=this.getAffectedParallelEdges(x);return E.size===0||(this.options.mode==="bundle"?this.applyBundlingStyle(x,E,this.options.distance):this.applyMergingStyle(x,E)),x}}XL.defaultOptions={mode:"bundle",distance:15};const SR=b=>{const x=new Map,E=new Set,z={};for(const[te,re]of b){if(E.has(te))continue;const{source:oe,target:le}=re,he=`${oe}-${le}`;x.has(he)||x.set(he,[]),x.get(he).push(re),E.add(te);for(const[ge,Ae]of b)E.has(ge)||mI(re,Ae)&&(x.get(he).push(Ae),E.add(ge),oe===Ae.target&&le===Ae.source&&(z[`${Ae.source}|${Ae.target}|${x.get(he).length-1}`]=!0))}return{edgeMap:x,reverses:z}},qZ=(b,x,E)=>x.filter(z=>(E||Xi(z)!==Xi(b))&&mI(z,b)),mI=(b,x)=>{const{sourceNode:E,targetNode:z}=b.style||{},{sourceNode:te,targetNode:re}=x.style||{};return E===te&&z===re||E===re&&z===te};class $Z extends Cx{beforeDraw(x,E){const{stage:z}=E;if(z==="visibility")return x;const{model:te}=this.context,{update:{nodes:re,edges:oe,combos:le}}=x,he=(ge,Ae)=>{te.getRelatedEdgesData(Ae).forEach(We=>!oe.has(Xi(We))&&oe.set(Xi(We),We))};return re.forEach(he),le.forEach(he),x}}const eY={animation:{"combo-collapse":JI,"combo-expand":Zk,"node-collapse":XI,"node-expand":Vk,"path-in":QI,"path-out":Kk,fade:Gk,translate:Hk},behavior:{"brush-select":VC,"click-select":$P,"collapse-expand":bM,"create-edge":TM,"drag-canvas":DM,"drag-element-force":k7,"drag-element":e2,"fix-element-size":RM,"focus-element":kM,"hover-activate":FM,"lasso-select":_7,"auto-adapt-label":ZP,"optimize-viewport-transform":_M,"scroll-canvas":zM,"zoom-canvas":jM},combo:{circle:M9,rect:L9},edge:{cubic:WE,line:AM,polyline:SM,quadratic:wM,"cubic-horizontal":yM,"cubic-radial":xM,"cubic-vertical":EM},layout:{"antv-dagre":wj,"combo-combined":MW,"compact-box":WM.compactBox,"d3-force":eU,"force-atlas2":rU,circular:Pj,concentric:aD,dagre:ZM,dendrogram:WM.dendrogram,fishbone:QM,force:UN,fruchterman:aU,grid:lU,indented:WM.indented,mds:XN,mindmap:WM.mindmap,radial:mU,random:CU,snake:JM},node:{circle:_E,diamond:L8,ellipse:iM,hexagon:N8,html:fM,image:gM,rect:b9,star:P9,donut:nM,triangle:pM},palette:{spectral:TU,tableau:DU,oranges:IU,greens:OU,blues:NU},theme:{dark:aZ,light:sZ},plugin:{"bubble-sets":sL,"edge-bundling":uL,"edge-filter-lens":cL,"grid-line":fL,background:qM,contextmenu:lL,fisheye:hL,fullscreen:dL,history:gL,hull:pL,legend:EL,minimap:AL,snapline:SL,timebar:NL,toolbar:BL,tooltip:RL,watermark:kL},transform:{"arrange-draw-order":lZ,"collapse-expand-combo":uZ,"collapse-expand-node":cZ,"get-edge-actual-ends":KZ,"map-node-size":ZL,"place-radial-labels":YL,"process-parallel-edges":XL,"update-related-edges":$Z},shape:{circle:cf,ellipse:Um,group:Oh,html:Kp,image:M5,line:Zp,path:Pu,polygon:zc,polyline:Ch,rect:Qc,text:tp,label:dx,badge:MS}};function tY(){Object.entries(eY).forEach(([b,x])=>{Object.entries(x).forEach(([E,z])=>{hZ(b,E,z)})})}tY();const N$={css:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.css",js:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.js"};var yI=Oe(59301),nY=Object.defineProperty,rY=Object.defineProperties,iY=Object.getOwnPropertyDescriptors,wR=Object.getOwnPropertySymbols,oY=Object.prototype.hasOwnProperty,aY=Object.prototype.propertyIsEnumerable,CR=(b,x,E)=>x in b?nY(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,xI=(b,x)=>{for(var E in x||(x={}))oY.call(x,E)&&CR(b,E,x[E]);if(wR)for(var E of wR(x))aY.call(x,E)&&CR(b,E,x[E]);return b},EI=(b,x)=>rY(b,iY(x)),sY=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())});const lY=(b,x)=>{const E=b.getParentData(x.id,"tree");return E?x.style.x>E.style.x?"right":"left":"center"},uY=[3,2,1];let QL=[{name:"\u6839\u8282\u70B9",src:"/images/one.svg",color:"#CC7CF5"},{name:"\u8BFE\u7A0B",src:"/images/kc.svg",color:"#3241F7"},{name:"\u7AE0\u8282",src:"/images/zj.svg",color:"#5e54e7"},{name:"\u77E5\u8BC6\u70B9",src:"/images/zsd.svg",color:"#FFDF55"},{name:"\u5B9E\u8BAD",src:"/images/sx.svg",color:"#4E9DFF"},{name:"\u4F5C\u4E1A",src:"/images/zy.svg",color:"#445DF3"},{name:"\u89C6\u9891",src:"/images/sp.svg",color:"#6BC4DE"},{name:"\u8BFE\u4EF6",src:"/images/fj.svg",color:"#6BDE73"},{name:"\u8BD5\u5377",src:"/images/sj.svg",color:"#2D9534"},{name:"\u5176\u4ED6",src:"/images/qt.svg",color:"#2D947C"}];const cY=(b,x)=>{const E={};let z=null;return b.forEach(te=>{E[te.properties.uuid]=EI(xI({},te),{id:te.properties.uuid,children:[]})}),x.forEach(te=>{const re=E[te.startNodeUuid],oe=E[te.endNodeUuid];re&&(re.id=re.properties.uuid),re&&oe&&re.children.push(oe)}),b.forEach(te=>{!x.some(oe=>oe.endNodeUuid===te.properties.uuid)&&(z=E[te.properties.uuid])}),z};var hY=(0,Ue.forwardRef)(({nodeUuid:b,subject_id:x,setshowdetail:E,setitems:z,setzoomsize:te},re)=>{const[oe,le]=(0,Ue.useState)(!1),he=(0,Ue.useRef)(0),ge=(0,Ue.useRef)(null),Ae=(0,Ue.useRef)();(0,Ue.useEffect)(()=>{at()},[]);function Pe(mt){Ae.current.zoomBy(mt)}function We(){setTimeout(()=>{var mt;te((((mt=Ae==null?void 0:Ae.current)==null?void 0:mt.getZoom())*100).toFixed(0))},300)}function Xe(mt){var bt;let jt=Ae.current.getElementDataByState("node","selected");(jt==null?void 0:jt.length)>0&&Ae.current.setElementState((bt=jt==null?void 0:jt[0])==null?void 0:bt.id,[""]),Ae.current.setElementState(mt,["selected"])}function qe(mt,bt){try{const jt={},Ut={};Ae.current.getEdgeData().map(Kt=>{jt[Kt.id]=mt==="Enter"?"inactive":"active"}),Ae.current.getNodeData().map(Kt=>{mt==="Enter"?Ut[Kt.id]=Kt.colornodeType===bt?"highlight":"inactive":Ut[Kt.id]="active"}),Ae.current.setElementState(jt),Ae.current.setElementState(Ut)}catch(jt){}}function nt(mt,bt){var jt;(jt=Ae==null?void 0:Ae.current)==null||jt.fitView(mt,bt)}(0,Ue.useImperativeHandle)(re,()=>({zoomBy:Pe,getData:at,selectall:Xe,onMouse:qe,fitView:nt,getZooms:We}));const at=()=>sY(void 0,null,function*(){var mt,bt,jt,Ut,Kt,Qt,Vt,vn,wn;le(!0);let kn=yield(0,kt.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:b,subject_id:x,depth:-1,relationshipFilter:"\u5305\u542B>"}});le(!1);let Vn=(bt=(mt=kn==null?void 0:kn.data)==null?void 0:mt.nodes)==null?void 0:bt.map(wr=>{var Sr,Tr,ri,Cr,yi,Co,wo,vi,Mi,$i,Lo,Jo;return EI(xI({},wr==null?void 0:wr.properties),{rootNodeUuid:(Sr=wr==null?void 0:wr.properties)==null?void 0:Sr.rootNodeUuid,id:(Tr=wr==null?void 0:wr.properties)==null?void 0:Tr.uuid,name:(ri=wr==null?void 0:wr.properties)==null?void 0:ri.name,description:(Cr=wr==null?void 0:wr.properties)==null?void 0:Cr.description,nodeType:(yi=wr==null?void 0:wr.properties)==null?void 0:yi.nodeType,tags:((Co=wr==null?void 0:wr.properties)==null?void 0:Co.tags)&&((Mi=(vi=(wo=wr==null?void 0:wr.properties)==null?void 0:wo.tags)==null?void 0:vi.split("\uFF0C"))==null?void 0:Mi.map(Ta=>({name:Ta})))||[],colorType:parseInt(($i=wr==null?void 0:wr.properties)==null?void 0:$i.color)>3?"3":(Lo=wr==null?void 0:wr.properties)==null?void 0:Lo.color,activeColor:"#FA6400",size:uY[((Jo=wr==null?void 0:wr.properties)==null?void 0:Jo.color)-1]||1,shape:"circle",hide:!1,isExtendedState:!0})}),vr=cY((Ut=(jt=kn==null?void 0:kn.data)==null?void 0:jt.nodes)==null?void 0:Ut.map((wr,Sr)=>{var Tr,ri,Cr,yi,Co;return EI(xI({},wr),{key:Sr,title:(Tr=wr==null?void 0:wr.properties)==null?void 0:Tr.name,newcolor:parseInt((ri=wr==null?void 0:wr.properties)==null?void 0:ri.color)===1?"#CC7CF5":((Cr=QL==null?void 0:QL.find(wo=>{var vi;return(wo==null?void 0:wo.name)===((vi=wr==null?void 0:wr.properties)==null?void 0:vi.nodeType)}))==null?void 0:Cr.color)||"#2D947C",colornodeType:parseInt((yi=wr==null?void 0:wr.properties)==null?void 0:yi.color)===1?"\u6839\u8282\u70B9":((Co=QL==null?void 0:QL.find(wo=>{var vi;return(wo==null?void 0:wo.name)===((vi=wr==null?void 0:wr.properties)==null?void 0:vi.nodeType)}))==null?void 0:Co.name)||"\u5176\u4ED6"})}),(Qt=(Kt=kn==null?void 0:kn.data)==null?void 0:Kt.relationships)==null?void 0:Qt.filter(wr=>wr.type==="\u5305\u542B"));Ae!=null&&Ae.current&&((Vt=Ae==null?void 0:Ae.current)==null||Vt.destroy());let or=vI(vr),Or=(vn=or.nodes)==null?void 0:vn.filter((wr,Sr,Tr)=>Sr===Tr.findIndex(ri=>ri.id===wr.id)),qr=(wn=or.edges)==null?void 0:wn.filter((wr,Sr,Tr)=>Sr===Tr.findIndex(ri=>ri.source===wr.source&&ri.target===wr.target));pt({nodes:Or,edges:qr},Vn)}),pt=(mt,bt)=>{var jt,Ut;Ae.current=null,Ae.current=new ZS({container:ge.current,autoResize:!0,autoFit:{type:((jt=mt==null?void 0:mt.nodes)==null?void 0:jt.length)>20?"view":"center",options:{direction:"both",when:"always"}},animation:!(((Ut=mt==null?void 0:mt.nodes)==null?void 0:Ut.length)>300),data:mt,node:{style:{labelText:Kt=>Kt.title,labelFill:"#ffffff",fill:Kt=>Kt.newcolor,labelBackground:!1,labelPlacement:function(Kt){const Qt=lY(this,Kt);return Qt==="center"?"right":Qt},halo:!0,haloStrokeOpacity:.5,haloLineWidth:10,ports:[{placement:"right"},{placement:"left"}]},animation:{enter:!1}},edge:{type:"cubic-horizontal",animation:{enter:!1}},layout:{type:"mindmap",direction:"H",getHeight:()=>32,getWidth:()=>32,getVGap:()=>4,getHGap:()=>64,getSide:Kt=>(he.current++,he.current%2==0?"left":"right")},behaviors:["drag-element",{type:"zoom-canvas",onFinish:()=>{setTimeout(()=>{var Kt;te((((Kt=Ae==null?void 0:Ae.current)==null?void 0:Kt.getZoom())*100).toFixed(0))},300)}},"collapse-expand","drag-canvas",{type:"click-select",state:"selected",onClick:Kt=>{let Qt=bt.filter(Vt=>{var vn,wn;return(Vt==null?void 0:Vt.id)===((wn=(vn=Kt.target)==null?void 0:vn.config)==null?void 0:wn.id)});if((Qt==null?void 0:Qt.length)===0){E(!1);return}z(Qt==null?void 0:Qt[0]),E(!0),Kt.view.setCursor("pointer")},multiple:!1}]}),Ae.current.render(),setTimeout(()=>{var Kt;te((((Kt=Ae==null?void 0:Ae.current)==null?void 0:Kt.getZoom())*100).toFixed(0))},300)};return yI.createElement("div",{style:{height:"100%"}},yI.createElement(Xt.Z,{spinning:oe,className:"mt60 w100",tip:"\u52A0\u8F7D\u4E2D..."}),yI.createElement("div",{style:{height:"100%"},ref:ge}))}),Bh={flex_box_center:"flex_box_center___mORrQ",flex_space_between:"flex_space_between___AGgBm",flex_box_vertical_center:"flex_box_vertical_center____H93g",flex_box_center_end:"flex_box_center_end___VPK8Q",flex_box_column:"flex_box_column___qksG3",autocomp:"autocomp___H_feM",autocompwidth:"autocompwidth___RMYtG",hoverone:"hoverone___j7m8k",name:"name___qwPqM",img:"img___WHKD_",autopop:"autopop___YCC3k",studentHead:"studentHead___DeVom",headLi:"headLi___qiYnp",btn:"btn___s7HI8",tupugx:"tupugx___JCYSy",textname:"textname___iEAMA",dropdownst:"dropdownst___ca1cn"},AI=Oe(39171),bR=Oe(59301),dY=Object.defineProperty,fY=Object.defineProperties,gY=Object.getOwnPropertyDescriptors,JL=Object.getOwnPropertySymbols,PR=Object.prototype.hasOwnProperty,MR=Object.prototype.propertyIsEnumerable,LR=(b,x,E)=>x in b?dY(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,TR=(b,x)=>{for(var E in x||(x={}))PR.call(x,E)&&LR(b,E,x[E]);if(JL)for(var E of JL(x))MR.call(x,E)&&LR(b,E,x[E]);return b},pY=(b,x)=>fY(b,gY(x)),vY=(b,x)=>{var E={};for(var z in b)PR.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&JL)for(var z of JL(b))x.indexOf(z)<0&&MR.call(b,z)&&(E[z]=b[z]);return E},mY=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())});let qL=[{name:"\u6839\u8282\u70B9",src:"/images/one.svg",color:"#CC7CF5",bordercolor:"#A150CB"},{name:"\u8BFE\u7A0B",src:"/images/kc.svg",color:"#3241F7",bordercolor:"#3437D9"},{name:"\u7AE0\u8282",src:"/images/zj.svg",color:"#5e54e7",bordercolor:"#7f77f9"},{name:"\u77E5\u8BC6\u70B9",src:"/images/zsd.svg",color:"#FFDF55",bordercolor:"#FFD60F"},{name:"\u5B9E\u8BAD",src:"/images/sx.svg",color:"#4E9DFF",bordercolor:"#0882FB"},{name:"\u4F5C\u4E1A",src:"/images/zy.svg",color:"#445DF3",bordercolor:"#3149D5"},{name:"\u89C6\u9891",src:"/images/sp.svg",color:"#6BC4DE",bordercolor:"#339DC4"},{name:"\u8BFE\u4EF6",src:"/images/fj.svg",color:"#6BDE73",bordercolor:"#33C448"},{name:"\u8BD5\u5377",src:"/images/sj.svg",color:"#2D9534",bordercolor:"#077A04"},{name:"\u5176\u4ED6",src:"/images/qt.svg",color:"#2D947C",bordercolor:"#157660"}];const R$=null;let k$=null;const yY=b=>{var x=b,{pathsDetail:E,user:z,globalSetting:te,loading:re,dispatch:oe,datas:le}=x,he=vY(x,["pathsDetail","user","globalSetting","loading","dispatch","datas"]);const ge=(0,Ue.useRef)(),Ae=(0,Ue.useRef)(null);(0,Ue.useEffect)(()=>{Pe()},[le]);function Pe(){return mY(this,null,function*(){var We,Xe,qe,nt,at,pt,mt;if(((We=le==null?void 0:le.nodes)==null?void 0:We.length)>0){let bt=(0,ve.fX)((Xe=le==null?void 0:le.nodes)==null?void 0:Xe.map((Vt,vn)=>{var wn,kn,Vn,vr,or,Or,qr,wr,Sr,Tr,ri,Cr,yi,Co,wo,vi;return pY(TR(TR({},Vt),Vt==null?void 0:Vt.properties),{rootNodeUuid:(wn=Vt==null?void 0:Vt.properties)==null?void 0:wn.rootNodeUuid,id:(kn=Vt==null?void 0:Vt.properties)==null?void 0:kn.uuid,name:(Vn=Vt==null?void 0:Vt.properties)==null?void 0:Vn.name,labelstype:(vr=Vt==null?void 0:Vt.labels)==null?void 0:vr[1],description:(or=Vt==null?void 0:Vt.properties)==null?void 0:or.description,nodeType:(Or=Vt==null?void 0:Vt.properties)==null?void 0:Or.nodeType,colornodeType:parseInt((qr=Vt==null?void 0:Vt.properties)==null?void 0:qr.color)===1?"\u6839\u8282\u70B9":((wr=qL==null?void 0:qL.find(Mi=>{var $i;return(Mi==null?void 0:Mi.name)===(($i=Vt==null?void 0:Vt.properties)==null?void 0:$i.nodeType)}))==null?void 0:wr.name)||"\u5176\u4ED6",newcolor:parseInt((Sr=Vt==null?void 0:Vt.properties)==null?void 0:Sr.color)===1?"#CC7CF5":((Tr=qL==null?void 0:qL.find(Mi=>{var $i;return(Mi==null?void 0:Mi.name)===(($i=Vt==null?void 0:Vt.properties)==null?void 0:$i.nodeType)}))==null?void 0:Tr.color)||"#2D947C",tags:((ri=Vt==null?void 0:Vt.properties)==null?void 0:ri.tags)&&((Co=(yi=(Cr=Vt==null?void 0:Vt.properties)==null?void 0:Cr.tags)==null?void 0:yi.split("\uFF0C"))==null?void 0:Co.map(Mi=>({name:Mi})))||[],colorType:parseInt((wo=Vt==null?void 0:Vt.properties)==null?void 0:wo.color)>3?"3":(vi=Vt==null?void 0:Vt.properties)==null?void 0:vi.color})}),(at=(nt=(qe=le==null?void 0:le.relationships)==null?void 0:qe.filter(Vt=>{var vn,wn,kn;return(Vt==null?void 0:Vt.endNodeUuid)!==((kn=(wn=(vn=le==null?void 0:le.nodes)==null?void 0:vn[0])==null?void 0:wn.properties)==null?void 0:kn.rootNodeUuid)}))==null?void 0:nt.filter(Vt=>{var vn,wn,kn;return(Vt==null?void 0:Vt.startNodeUuid)!==((kn=(wn=(vn=le==null?void 0:le.nodes)==null?void 0:vn[0])==null?void 0:wn.properties)==null?void 0:kn.rootNodeUuid)}))==null?void 0:at.filter(Vt=>Vt.type==="\u5305\u542B")),jt=vI(bt),Ut=(pt=jt.nodes)==null?void 0:pt.filter((Vt,vn,wn)=>vn===wn.findIndex(kn=>kn.id===Vt.id)),Kt=(mt=jt.edges)==null?void 0:mt.filter((Vt,vn,wn)=>vn===wn.findIndex(kn=>kn.source===Vt.source&&kn.target===Vt.target));Ut.map(Vt=>(Vt.transformd=!0,Vt.style={labelWordWrap:!0,labelPlacement:Vt.depth===0?"center":Vt.depth<3?"top-left":"top",haloLineWidth:Math.max(20-Vt.depth*6,0),labelMaxWidth:Vt.depth===0?300:200,labelFontSize:Vt.depth===0?22:Ut.length>300?12:14,labelLineHeight:100,halo:Vt.depth<3},Vt)),ge.current=null;let Qt=Ut==null?void 0:Ut.length;ge.current=new ZS({container:Ae.current,autoResize:!0,background:"#010A23",autoFit:{type:Ut.length>50?"view":"center",options:{direction:"both",when:"always"}},animation:!1,padding:50,data:{nodes:Ut,edges:Kt},node:{type:"circle",style:{size:Vt=>Vt.colorType==1?100:Vt.depth<2?50:Qt>250?10:20,fill:Vt=>Vt.newcolor,labelText:Vt=>Vt.name,labelFill:"#ffffff"},state:{highlight:{stroke:"transparent"},selected:{stroke:"transparent"},inactive:{fill:Vt=>Vt.newcolor,port:!1,labelBackground:!1,halo:!1,badgeBackground:!1}}},edge:{style:{labelBackground:!1,halo:!1,stroke:"#A150CB",strokeOpacity:.5},state:{inactive:{stroke:"#f9f0ff",strokeOpacity:.5,halo:!1,labelBackground:!1,lineWidth:1},highlight:{stroke:"#43E93F",strokeOpacity:1,halo:!1,lineWidth:1},selected:{stroke:"#43E93F",strokeOpacity:1,halo:!1,lineWidth:1},active:{halo:!1},disable:{halo:!1}}},layout:[{type:"dendrogram",radial:!0,nodeSep:40,rankSep:Ut.length>250?360:240,direction:"RL",unitRadius:90,linkDistance:200,preventOverlap:!0,maxPreventOverlapIteration:100,strictRadial:!1}],plugins:[{type:"tooltip",enable:Vt=>Vt.targetType==="node",getContent:(Vt,vn)=>{let wn="";return vn.forEach(kn=>{wn+=`<div>${kn.name||""}</div>`}),wn}}],behaviors:["drag-canvas",{type:"zoom-canvas"},"drag-element",{type:"collapse-expand",onExpand:(Vt,vn)=>{console.log("----",Vt,vn)}},{type:"fix-element-size",state:"fix-element-size",enable:!0}],transforms:[{type:"place-radial-labels"}]}),ge.current.render()}})}return bR.createElement("div",{style:{background:"#fff",height:"800rem"}},bR.createElement("div",{style:{width:"100%",height:"800rem"},ref:Ae}))};var xY=(0,Ne.connect)(({pathsDetail:b,user:x,loading:E,globalSetting:z})=>({pathsDetail:b,user:x,globalSetting:z,loading:E.models.index}))(yY),da=Oe(59301),EY=Object.defineProperty,AY=Object.defineProperties,SY=Object.getOwnPropertyDescriptors,$L=Object.getOwnPropertySymbols,DR=Object.prototype.hasOwnProperty,IR=Object.prototype.propertyIsEnumerable,OR=(b,x,E)=>x in b?EY(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,qE=(b,x)=>{for(var E in x||(x={}))DR.call(x,E)&&OR(b,E,x[E]);if($L)for(var E of $L(x))IR.call(x,E)&&OR(b,E,x[E]);return b},wY=(b,x)=>AY(b,SY(x)),CY=(b,x)=>{var E={};for(var z in b)DR.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&$L)for(var z of $L(b))x.indexOf(z)<0&&IR.call(b,z)&&(E[z]=b[z]);return E},Px=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())});let w2=[{name:"\u6839\u8282\u70B9",src:"/images/one.svg",color:"#CC7CF5",bordercolor:"#A150CB"},{name:"\u8BFE\u7A0B",src:"/images/kc.svg",color:"#3241F7",bordercolor:"#3437D9"},{name:"\u7AE0\u8282",src:"/images/zj.svg",color:"#5e54e7",bordercolor:"#7f77f9"},{name:"\u77E5\u8BC6\u70B9",src:"/images/zsd.svg",color:"#FFDF55",bordercolor:"#FFD60F"},{name:"\u5B9E\u8BAD",src:"/images/sx.svg",color:"#4E9DFF",bordercolor:"#0882FB"},{name:"\u4F5C\u4E1A",src:"/images/zy.svg",color:"#445DF3",bordercolor:"#3149D5"},{name:"\u89C6\u9891",src:"/images/sp.svg",color:"#6BC4DE",bordercolor:"#339DC4"},{name:"\u8BFE\u4EF6",src:"/images/fj.svg",color:"#6BDE73",bordercolor:"#33C448"},{name:"\u8BD5\u5377",src:"/images/sj.svg",color:"#2D9534",bordercolor:"#077A04"},{name:"\u5176\u4ED6",src:"/images/qt.svg",color:"#2D947C",bordercolor:"#157660"}];const bY=b=>{var x=b,{pathsDetail:E,user:z,globalSetting:te,loading:re,dispatch:oe,uuid:le,Tabsdatas:he,initdata:ge,setactivied:Ae,tpacti:Pe}=x,We=CY(x,["pathsDetail","user","globalSetting","loading","dispatch","uuid","Tabsdatas","initdata","setactivied","tpacti"]),Xe,qe,nt,at,pt,mt,bt,jt;const Ut=(0,Ue.useRef)(),Kt=(0,Ue.useRef)(),Qt=(0,Ue.useRef)(),[Vt,vn]=(0,Ue.useState)([]),[wn,kn]=(0,Ue.useState)(!0),[Vn,vr]=(0,Ue.useState)([]),[or,Or]=(0,Ue.useState)(""),[qr,wr]=(0,Ue.useState)(!1),Sr=(0,Ue.useRef)(null),[Tr,ri]=(0,Ue.useState)(),[Cr,yi]=(0,Ue.useState)(!1),[Co,wo]=(0,Ue.useState)([]);let[vi,Mi]=(0,Ue.useState)(!1);const[$i,Lo]=(0,Ue.useState)(!1),[Jo,Ta]=(0,Ue.useState)(!1),[Bs,js]=(0,Ue.useState)([]),[Sa,Is]=(0,Ue.useState)(!1),[Ss,el]=(0,Ue.useState)([]),[ms]=(0,Ne.useSearchParams)(),[ru,Ql]=(0,Ue.useState)(!1),[Ra,ws]=(0,Ue.useState)(0),[$o,va]=(0,Ue.useState)("\u5168\u90E8");let[Fa,Xs]=(0,Ue.useState)({page:1,limit:10});const[ua,vl]=(0,Ue.useState)({}),[Js,Yu]=(0,Ue.useState)([]),du=(0,Ue.useRef)(null),Mu=(0,Ue.useRef)(null),[Lu,vu]=(0,Ue.useState)(!1);(0,Ue.useEffect)(()=>(vi=!1,Mi(!1),Cc(2),Ke.ZP.config({getContainer:()=>Sr.current}),()=>{kn(!1),vr([]),yi(!1),Or("")}),[le]);const $c=()=>da.createElement("div",{className:Bh.studentHead},da.createElement("div",{className:Bh.headLi},da.createElement("img",{src:gi}),da.createElement("aside",null,da.createElement("span",null,"\u8D44\u6E90\u603B\u6570"),da.createElement("b",null,ua==null?void 0:ua.resource_count))),da.createElement("div",{className:Bh.headLi},da.createElement("img",{src:Zi}),da.createElement("aside",null,da.createElement("span",null,"\u5B66\u4E60\u5B8C\u6210\u7387"),da.createElement("b",{style:{color:"#F7B500"}},ua==null?void 0:ua.complete_rate,"%"))),da.createElement("div",{className:Bh.headLi},da.createElement("img",{src:nr}),da.createElement("aside",null,da.createElement("span",null,"\u5B66\u4E60\u638C\u63E1\u7387"),da.createElement("b",{style:{color:"#3AFFC8"}},ua==null?void 0:ua.grasp_rate,"%"))),da.createElement("div",{className:Bh.headLi},da.createElement("img",{src:xi}),da.createElement("aside",null,da.createElement("span",{style:{marginBottom:"10rem"}},"\u4E0A\u6B21\u5B66\u5230"),da.createElement(Ce.Z,{title:ua==null?void 0:ua.last_knowledge_name},da.createElement("b",{style:{color:"#7FAAFF",fontSize:"16rem"}},(0,ve.Pq)(ua==null?void 0:ua.last_knowledge_name,13))))),da.createElement("div",{onClick:()=>handleClickDetails({knowledge_uuid:ua==null?void 0:ua.last_knowledge_uuid}),className:Bh.btn},"\u7EE7\u7EED\u5B66\u4E60")),Cp={onRemove:()=>{js([])},beforeUpload:Aa=>{if(console.log(Aa),(Aa==null?void 0:Aa.size)>1024*1024*50)return Ke.ZP.info("\u6587\u4EF6\u8D85\u8FC750M\uFF0C\u4E0D\u7B26\u5408\u4E0A\u4F20\u8981\u6C42"),!1;let Ws=[];return Ws.push(Aa),js([...Ws]),!1},fileList:Bs,accept:".xls,.xlsx"};(0,Ue.useEffect)(()=>{},[vi]),(0,Ue.useEffect)(()=>(window.addEventListener("resize",bp),()=>{window.removeEventListener("resize",bp)}),[]);function bp(){var Aa,Ws;(Ws=(Aa=Ut.current)==null?void 0:Aa.update)==null||Ws.call(Aa)}function Cc(Aa){return Px(this,null,function*(){var Ws,Hl,Nl,Bl,kd,wv,lm,a1,$E,Lx,XS;Ql(!0);let $p=yield(0,kt.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:le,subject_id:(Ws=E==null?void 0:E.detail)==null?void 0:Ws.id,depth:Aa===0?Aa:Aa||-1,relationshipFilter:"\u5305\u542B>"}});if(Ql(!1),($p==null?void 0:$p.status)===0){if(ms.get("type")==="classrooms"?oe({type:"pathsDetail/getCourseDetail",payload:qE({id:(Hl=E==null?void 0:E.detail)==null?void 0:Hl.id,knowledge:!0},(0,ve.oP)())}):oe({type:"pathsDetail/getPathsDetail",payload:qE({id:(Nl=E==null?void 0:E.detail)==null?void 0:Nl.id,knowledge:!0},(0,ve.oP)())}),vi){Kt.current.getData();return}kn(!0);let L0=(0,ve.fX)((kd=(Bl=$p==null?void 0:$p.data)==null?void 0:Bl.nodes)==null?void 0:kd.map((ds,gf)=>{var ap,Vf,ey,Tx,eA,sT,C2,lT,b2,T0,uT,al,D0,cT,hT,dT;return wY(qE(qE({},ds),ds==null?void 0:ds.properties),{rootNodeUuid:(ap=ds==null?void 0:ds.properties)==null?void 0:ap.rootNodeUuid,id:(Vf=ds==null?void 0:ds.properties)==null?void 0:Vf.uuid,name:(ey=ds==null?void 0:ds.properties)==null?void 0:ey.name,labelstype:(Tx=ds==null?void 0:ds.labels)==null?void 0:Tx[1],description:(eA=ds==null?void 0:ds.properties)==null?void 0:eA.description,nodeType:(sT=ds==null?void 0:ds.properties)==null?void 0:sT.nodeType,colornodeType:parseInt((C2=ds==null?void 0:ds.properties)==null?void 0:C2.color)===1?"\u6839\u8282\u70B9":((lT=w2==null?void 0:w2.find(l1=>{var um;return(l1==null?void 0:l1.name)===((um=ds==null?void 0:ds.properties)==null?void 0:um.nodeType)}))==null?void 0:lT.name)||"\u5176\u4ED6",newcolor:parseInt((b2=ds==null?void 0:ds.properties)==null?void 0:b2.color)===1?"#CC7CF5":((T0=w2==null?void 0:w2.find(l1=>{var um;return(l1==null?void 0:l1.name)===((um=ds==null?void 0:ds.properties)==null?void 0:um.nodeType)}))==null?void 0:T0.color)||"#2D947C",tags:((uT=ds==null?void 0:ds.properties)==null?void 0:uT.tags)&&((cT=(D0=(al=ds==null?void 0:ds.properties)==null?void 0:al.tags)==null?void 0:D0.split("\uFF0C"))==null?void 0:cT.map(l1=>({name:l1})))||[],colorType:parseInt((hT=ds==null?void 0:ds.properties)==null?void 0:hT.color)>3?"3":(dT=ds==null?void 0:ds.properties)==null?void 0:dT.color})}),(lm=(wv=$p==null?void 0:$p.data)==null?void 0:wv.relationships)==null?void 0:lm.filter(ds=>ds.type==="\u5305\u542B"));console.log("----types",L0,$p==null?void 0:$p.data);let Ec=vI(L0),Xu=(a1=Ec.nodes)==null?void 0:a1.filter((ds,gf,ap)=>gf===ap.findIndex(Vf=>Vf.id===ds.id));vn(Xu);let bc=($E=Ec.edges)==null?void 0:$E.filter((ds,gf,ap)=>gf===ap.findIndex(Vf=>Vf.source===ds.source&&Vf.target===ds.target));Xu.map(ds=>(ds.transformd=!0,ds.style={labelWordWrap:!0,labelPlacement:ds.depth===0?"center":ds.depth<3?"top-left":"top",haloLineWidth:Math.max(20-ds.depth*6,0),labelMaxWidth:ds.depth===0?300:200,labelFontSize:ds.depth===0?22:Xu.length>300?12:14,labelLineHeight:100,halo:ds.depth<3},ds)),Qt.current=null;let rd=Xu==null?void 0:Xu.length;Qt.current=new ZS({container:Mu.current,autoResize:!0,background:"#010A23",autoFit:{type:Xu.length>50?"view":"center",options:{direction:"both",when:"always"}},animation:!1,padding:50,data:{nodes:Xu,edges:bc},node:{type:"circle",style:{size:ds=>ds.colorType==1?100:ds.depth<2?50:rd>250?10:20,fill:ds=>ds.newcolor,labelText:ds=>ds.name,labelFill:"#ffffff"},state:{highlight:{stroke:"transparent"},selected:{stroke:"transparent"},inactive:{fill:ds=>ds.newcolor,port:!1,labelBackground:!1,halo:!1,badgeBackground:!1}}},edge:{style:{labelBackground:!1,halo:!1,stroke:"#A150CB",strokeOpacity:.5},state:{inactive:{stroke:"#f9f0ff",strokeOpacity:.5,halo:!1,labelBackground:!1,lineWidth:1},highlight:{stroke:"#43E93F",strokeOpacity:1,halo:!1,lineWidth:1},selected:{stroke:"#43E93F",strokeOpacity:1,halo:!1,lineWidth:1},active:{halo:!1},disable:{halo:!1}}},layout:[{type:"dendrogram",radial:!0,nodeSep:40,rankSep:Xu.length>250?360:240,direction:"RL",unitRadius:90,linkDistance:200,preventOverlap:!0,maxPreventOverlapIteration:100,strictRadial:!1}],plugins:[{type:"tooltip",enable:ds=>ds.targetType==="node",getContent:(ds,gf)=>{let ap="";return gf.forEach(Vf=>{ap+=`<div>${Vf.name||""}</div>`}),ap}}],behaviors:["drag-canvas",{type:"zoom-canvas",onFinish:()=>{setTimeout(()=>{var ds;ws((((ds=Qt==null?void 0:Qt.current)==null?void 0:ds.getZoom())*100).toFixed(0))},300)}},"drag-element",{type:"collapse-expand",onExpand:(ds,gf)=>{console.log("----",ds,gf)}},{type:"fix-element-size",state:"fix-element-size",enable:!0},{type:"click-select",state:"selected",onClick:ds=>{du.current?(clearTimeout(du.current),du.current=null):du.current=setTimeout(()=>{let gf=Xu.filter(ap=>{var Vf,ey;return(ap==null?void 0:ap.id)===((ey=(Vf=ds.target)==null?void 0:Vf.config)==null?void 0:ey.id)});if((gf==null?void 0:gf.length)===0){yi(!1);return}ri(gf==null?void 0:gf[0]),yi(!0),ds.view.setCursor("pointer"),du.current=null},300)},multiple:!1},{type:"hover-activate",enable:ds=>ds.targetType==="node",degree:1,state:"highlight",direction:"both",inactiveState:"inactive",onHover:ds=>{ds.view.setCursor("pointer")},onHoverEnd:ds=>{ds.view.setCursor("default")}}],transforms:[{type:"place-radial-labels"}]}),Qt.current.render(),Mu.current.style.opacity=1,(Lx=Qt==null?void 0:Qt.current)==null||Lx.fitView(),setTimeout(()=>{var ds;ws((((ds=Qt==null?void 0:Qt.current)==null?void 0:ds.getZoom())*100).toFixed(0))},300);var s1=Qt.current.getOptions();setTimeout(()=>{s1.animation=!0,Qt.current.setOptions(s1)},2500),window.graphsRef=Qt.current}let op=yield(0,kt.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:3,subject_id:(XS=E==null?void 0:E.detail)==null?void 0:XS.id}});(op==null?void 0:op.status)===0&&Yu(op==null?void 0:op.data)})}const fh=(Aa,Ws)=>{if(Qt.current){if(vi){Kt.current.onMouse(Aa,Ws.name);return}try{const Hl={},Nl={};Qt.current.getEdgeData().map(Bl=>{Hl[Bl.id]=Aa==="Enter"?"inactive":"active"}),Qt.current.getNodeData().map(Bl=>{Aa==="Enter"?Nl[Bl.id]=Bl.colornodeType===Ws.name?"highlight":"inactive":Nl[Bl.id]="active"}),Qt.current.setElementState(Hl),Qt.current.setElementState(Nl)}catch(Hl){}}},Wg=(Aa,Ws)=>{if(Qt.current){if(vi){Kt.current.onMouse(Aa,Ws.name);return}try{const Hl={},Nl={};Qt.current.getEdgeData().map(Bl=>{Hl[Bl.id]=Aa==="Enter"?"inactive":"active"}),Qt.current.getNodeData().map(Bl=>{var kd,wv;Aa==="Enter"?Nl[Bl.id]=(wv=(kd=Bl.tags)==null?void 0:kd.map(lm=>lm==null?void 0:lm.name))!=null&&wv.includes(Ws.name)?"highlight":"inactive":Nl[Bl.id]="active"}),Qt.current.setElementState(Hl),Qt.current.setElementState(Nl)}catch(Hl){}}};return da.createElement(Xt.Z,{spinning:ru},da.createElement("div",{ref:Sr,style:{background:"#010A23",height:"100vh",overflow:"hidden",position:"relative"}},da.createElement("div",{style:{color:"#fff",display:"flex",alignItems:"center",marginLeft:"10rem",position:"fixed",bottom:"30px",zIndex:1}},(Xe=w2.filter(Aa=>{var Ws;return(Ws=Vt==null?void 0:Vt.map(Hl=>Hl==null?void 0:Hl.colornodeType))==null?void 0:Ws.includes(Aa==null?void 0:Aa.name)}))==null?void 0:Xe.map(Aa=>da.createElement("div",{onMouseLeave:()=>fh("Leave",Aa),onMouseEnter:()=>fh("Enter",Aa),style:{display:"flex",alignItems:"center",margin:"0 2px",cursor:"pointer"}},da.createElement("span",{style:{display:"inline-flex",marginLeft:"10rem",width:"20rem",height:"20rem",borderRadius:"50%",background:Aa.color}}),da.createElement("span",{style:{marginLeft:"5rem"}},Aa==null?void 0:Aa.name)))),da.createElement("div",{style:{color:"#fff",display:"flex",alignItems:"center",marginLeft:"10rem",position:"fixed",bottom:"30px",zIndex:1,right:40}},da.createElement(ha.Z,{overlayClassName:Bh.dropdownst,getPopupContainer:()=>Sr.current,menu:{items:[{label:da.createElement("div",{onClick:()=>{Cc()}},"\u5C55\u5F00\u5168\u90E8"),key:"1"},{label:da.createElement("div",{onClick:()=>{Cc(3)}},"\u5C55\u5F003\u5C42"),key:"2"},{label:da.createElement("div",{onClick:()=>{Cc(2)}},"\u5C55\u5F002\u5C42"),key:"3"},{label:da.createElement("div",{onClick:()=>{Cc(1)}},"\u5C55\u5F001\u5C42"),key:"4"},{label:da.createElement("div",{onClick:()=>{Cc(0)}},"\u6536\u8D77\u5168\u90E8"),key:"5"}]}},da.createElement("img",{style:{cursor:"pointer"},onClick:()=>{},src:Lu===7?"/images/xscjxz.png":"/images/xscj.png",onMouseOut:()=>{vu(!1)},onMouseOver:()=>{vu(7)}})),da.createElement(Ce.Z,{title:"\u5C45\u4E2D\u663E\u793A"},da.createElement("img",{onClick:()=>{kn(!1),Cc()},style:{marginLeft:"10rem",cursor:"pointer"},src:Lu===8?"/images/jzxsxz.png":"/images/jzxs.png",onMouseOut:()=>{vu(!1)},onMouseOver:()=>{vu(8)},className:Bh.img})),da.createElement("div",{style:{marginLeft:"10rem",background:"#202F4F",borderRadius:"4px",alignItems:"center"}},da.createElement("img",{style:{cursor:"pointer"},onClick:()=>{vi?(Kt.current.zoomBy(.9),Kt.current.getZooms()):(Qt.current.zoomBy(.9),setTimeout(()=>{var Aa;ws((((Aa=Qt==null?void 0:Qt.current)==null?void 0:Aa.getZoom())*100).toFixed(0))},300))},src:Lu===9?"/images/newsxxz.png":"/images/newsx.png",onMouseOut:()=>{vu(!1)},onMouseOver:()=>{vu(9)}}),da.createElement("span",{style:{display:"inline-flex",width:"46px",justifyContent:"center"},onClick:()=>{}}," ",Ra+"%"),da.createElement("img",{style:{cursor:"pointer"},onClick:()=>{vi?(Kt.current.zoomBy(1.1),Kt.current.getZooms()):(Qt.current.zoomBy(1.1),setTimeout(()=>{var Aa;ws((((Aa=Qt==null?void 0:Qt.current)==null?void 0:Aa.getZoom())*100).toFixed(0))},300))},src:Lu===12?"/images/newfdxz.png":"/images/newfd.png",onMouseOut:()=>{vu(!1)},onMouseOver:()=>{vu(12)}}))),da.createElement("div",{style:{display:"flex",justifyContent:"start",width:"1840rem",left:"40rem",paddingTop:"25rem",position:"absolute",zIndex:1}},da.createElement("span",{className:Bh.tupugx,onClick:()=>{Ae()}},da.createElement("img",{src:"/images/tpgx.svg",style:{marginRight:"10rem",width:"16rem"}}),"\u56FE\u8C31\u5173\u7CFB"),da.createElement("div",{className:Bh.autocomp},wn&&da.createElement("div",{style:{display:"flex",alignItems:"center"}},da.createElement(Va.Z,{className:Bh.autocompwidth,options:Vn,popupClassName:Bh.autopop,getPopupContainer:()=>Sr.current,value:or,onSelect:(Aa,Ws)=>{var Hl;if(Or(Vt.find(Nl=>Nl.id===Aa).name),ri(Vt.find(Nl=>Nl.id===Aa)),yi(!0),vi)Kt.current.selectall(Aa);else{let Nl=Qt.current.getElementDataByState("node","selected");(Nl==null?void 0:Nl.length)>0&&Qt.current.setElementState((Hl=Nl==null?void 0:Nl[0])==null?void 0:Hl.id,[""]),Qt.current.setElementState(Aa,["selected"])}},onChange:Aa=>{Or(Aa)},onSearch:Aa=>{vr(()=>{var Ws,Hl,Nl;return $o==="\u5168\u90E8"?(Ws=Vt==null?void 0:Vt.filter(Bl=>Bl.name.includes(Aa)))==null?void 0:Ws.map(Bl=>({label:da.createElement("div",{style:{display:"flex",alignItems:"center"}},da.createElement("span",{style:{marginRight:"10rem",height:"20rem",lineHeight:"20rem",padding:"0rem 6rem",color:"#fff",fontSize:"12rem",background:"#1890FF",borderRadius:"2rem"}},Bl==null?void 0:Bl.nodeType)," ",da.createElement("div",{style:{color:"#fff"},dangerouslySetInnerHTML:{__html:Bl==null?void 0:Bl.name.replaceAll(Aa,`<span style= "color: #00B187" >${Aa}</span>`)}})),value:Bl==null?void 0:Bl.id})):(Nl=(Hl=Vt==null?void 0:Vt.filter(Bl=>{var kd;return(kd=Bl==null?void 0:Bl.tags)==null?void 0:kd.find(wv=>wv.name===$o)}))==null?void 0:Hl.filter(Bl=>Bl.name.includes(Aa)))==null?void 0:Nl.map(Bl=>({label:da.createElement("div",{style:{display:"flex",alignItems:"center"}},da.createElement("span",{style:{marginRight:"10rem",height:"20rem",padding:"2rem 6rem",color:"#fff",fontSize:"12rem",background:"#1890FF",borderRadius:"2rem"}},Bl==null?void 0:Bl.nodeType)," ",da.createElement("div",{style:{color:"#fff"},dangerouslySetInnerHTML:{__html:Bl==null?void 0:Bl.name.replaceAll(Aa,`<span style= "color: #00B187" >${Aa}</span>`)}})),value:Bl==null?void 0:Bl.id}))})}},da.createElement(Dt.default,{placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22",addonBefore:da.createElement(ha.Z,{overlayClassName:Bh.dropdownst,menu:{items:[{label:da.createElement("div",{onClick:()=>{va("\u5168\u90E8"),Wg("\u5168\u90E8","")}},"\u5168\u90E8"),key:"1"},...Js==null?void 0:Js.map(Aa=>({label:da.createElement("div",{onClick:()=>{va(Aa.name),Wg("Enter",Aa)}},Aa==null?void 0:Aa.name),key:Aa.id}))]}},da.createElement("div",{style:{display:"flex",alignItems:"center"}},da.createElement("div",{className:Bh.textname,style:{width:"60rem"}},$o),da.createElement("div",{style:{height:"22rem",background:"linear-gradient( 180deg, rgba(255,255,255,0) 0%, #AEAEAE 52%, rgba(255,255,255,0) 100%)",width:"1rem"}})))})))),da.createElement("div",{style:{display:"flex",position:"absolute",right:"0rem",zIndex:"3"}},((qe=E==null?void 0:E.detail)==null?void 0:qe.sync_uuid)&&((nt=E==null?void 0:E.detail)==null?void 0:nt.sync_uuid)===le&&((at=E==null?void 0:E.detail)==null?void 0:at.can_managed)&&da.createElement(Ce.Z,{title:"\u540C\u6B65"},da.createElement("img",{className:"current",onClick:(0,ef.debounce)(()=>{Be.default.confirm({title:"\u63D0\u793A",icon:null,centered:!0,getContainer:()=>Sr.current,content:"\u8BF7\u786E\u5B9A\u662F\u5426\u5C06\u540C\u6B65\u8BFE\u7A0B\u7AE0\u8282\u5185\u5BB9\uFF0C\u66F4\u65B0\u540E\u539F\u6709\u77E5\u8BC6\u56FE\u8C31\u5185\u5BB9\u5C06\u88AB\u8986\u76D6\uFF0C\u8986\u76D6\u540E\u53EF\u5728\u7248\u672C\u7BA1\u7406\u4E2D\u9009\u62E9\u6062\u590D\u3002",onOk:()=>Px(void 0,null,function*(){var Aa,Ws;const Hl=(Aa=he==null?void 0:he.find(Bl=>(Bl==null?void 0:Bl.uuid)===le))==null?void 0:Aa.name;let Nl=yield(0,kt.ZP)("/api/knowledge/v2/sync.json",{method:"post",body:{subject_id:(Ws=E==null?void 0:E.detail)==null?void 0:Ws.id,uuid:le,name:Hl}});Nl.status===0&&Ke.ZP.info(Nl==null?void 0:Nl.message)})})},500),src:Lu===1?"/images/gxxz.png":"/images/gx.png",onMouseOut:()=>{vu(!1)},onMouseOver:()=>{vu(1)},style:{width:"40rem",height:"40rem",marginRight:"15rem",marginTop:"5rem"}})),((pt=E==null?void 0:E.detail)==null?void 0:pt.can_managed)&&da.createElement("div",{className:Bh.hoverone},da.createElement("div",{onClick:()=>Px(void 0,null,function*(){var Aa;let Ws=yield(0,kt.ZP)("/api/knowledge/v2/backup.json",{method:"POST",body:{subject_id:(Aa=E==null?void 0:E.detail)==null?void 0:Aa.id,parentNodeUuid:le}});(Ws==null?void 0:Ws.status)===0&&Ke.ZP.info("\u56FE\u8C31\u4FDD\u5B58\u6210\u529F")})},da.createElement("img",{src:Lu===2?"/images/bcbbxz.png":"/images/bcbb.png",onMouseOut:()=>{vu(!1)},onMouseOver:()=>{vu(2)}}),da.createElement("div",{className:Bh.name},"\u4FDD\u5B58\u7248\u672C")),da.createElement("div",{onClick:()=>Px(void 0,null,function*(){var Aa;Fa.page=1,Fa.limit=10;let Ws=yield(0,kt.ZP)("/api/knowledge/v2/knowledge_histories.json",{mehtod:"get",params:qE({subject_id:(Aa=E==null?void 0:E.detail)==null?void 0:Aa.id,nodeUuid:le},Fa)});Xs(Fa),(Ws==null?void 0:Ws.status)===0&&(Is(!0),el(Ws))})},da.createElement("img",{src:Lu===3?"/images/qhbbxz.png":"/images/qhbb.png",onMouseOut:()=>{vu(!1)},onMouseOver:()=>{vu(3)},className:Bh.img}),da.createElement("div",{className:Bh.name},"\u5207\u6362\u7248\u672C"))),da.createElement("div",{className:Bh.hoverone},da.createElement("div",{onClick:()=>{vi=!1,Mi(!1),kn(!1),Cc()}},da.createElement("img",{src:Lu===4?"/images/gxtxz.png":"/images/gxt.png",onMouseOut:()=>{vu(!1)},onMouseOver:()=>{vu(4)}}),da.createElement("div",{className:Bh.name},"\u5173\u7CFB\u56FE")),da.createElement("div",{onClick:()=>{vi=!0,Mi(!0)}},da.createElement("img",{src:Lu===5?"/images/zssxz.png":"/images/zss.png",onMouseOut:()=>{vu(!1)},onMouseOver:()=>{vu(5)},className:Bh.img}),da.createElement("div",{className:Bh.name},"\u77E5\u8BC6\u6811"))),da.createElement(Ce.Z,{title:"\u5168\u5C4F"},da.createElement("img",{className:"current",onClick:()=>{var Aa,Ws,Hl,Nl;(0,AI.vp)()?(wr(!1),(0,AI.BU)(),!vi&&wn?(Aa=Qt==null?void 0:Qt.current)==null||Aa.fitCenter():(Ws=Kt==null?void 0:Kt.current)==null||Ws.fitView()):(wr(!0),(0,AI.Dj)(Sr.current),!vi&&wn?(Hl=Qt==null?void 0:Qt.current)==null||Hl.fitCenter():(Nl=Kt==null?void 0:Kt.current)==null||Nl.fitView())},src:Lu===6?"/images/qpxz.png":"/images/qp.png",onMouseOut:()=>{vu(!1)},onMouseOver:()=>{vu(6)},style:{width:"40rem",height:"40rem",marginRight:"15rem",marginTop:"5rem"}})),((mt=E==null?void 0:E.detail)==null?void 0:mt.can_managed)&&da.createElement("div",{className:Bh.hoverone,style:{marginRight:"0rem"}},da.createElement("div",{onClick:()=>{Lo(!0)}},da.createElement("img",{src:Lu===10?"/images/drxz.png":"/images/dr.png",onMouseOut:()=>{vu(!1)},onMouseOver:()=>{vu(10)}}),da.createElement("div",{className:Bh.name},"\u5BFC\u5165")),da.createElement("div",{onClick:()=>{var Aa;(0,ve.FH)("",di.Z.API_SERVER+`/api/knowledge/v2/export.json?subject_id=${(Aa=E==null?void 0:E.detail)==null?void 0:Aa.id}&fileType=xlsx&parentNodeUuid=${le}`)}},da.createElement("img",{src:Lu===11?"/images/dcxz.png":"/images/dc.png",onMouseOut:()=>{vu(!1)},onMouseOver:()=>{vu(11)},className:Bh.img}),da.createElement("div",{className:Bh.name},"\u5BFC\u51FA"))))),wn&&!vi&&da.createElement("div",{style:{width:"100%",height:"100vh",opacity:0},ref:Mu}),da.createElement("div",{id:"myDiagramDiv",style:{height:"100vh",width:"100%",visibility:vi?"visible":"hidden"}},vi?da.createElement(hY,{ref:Kt,setzoomsize:ws,setshowdetail:yi,setitems:ri,nodeUuid:le,subject_id:(bt=E==null?void 0:E.detail)==null?void 0:bt.id}):""),da.createElement(Qs,{tpacti:Pe,initdata:ge,uuid:le,Tabsdatas:he,setshow:kn,getData:Cc,containerRef:Sr,showdetail:Cr,setshowdetail:yi,items:Tr}),da.createElement(Be.default,{title:"\u6587\u4EF6\u5BFC\u5165",open:$i,centered:!0,getContainer:()=>Sr.current,okButtonProps:{loading:Jo},onCancel:()=>{Lo(!1),js([])},onOk:()=>Px(void 0,null,function*(){var Aa,Ws,Hl,Nl;const Bl=new FormData;if(Bs.length>0)Bl.append("file",Bs[0]);else{Ke.ZP.warning("\u8BF7\u9009\u62E9\u6587\u4EF6");return}Ta(!0),Bl.append("subject_id",((Aa=E.detail)==null?void 0:Aa.id)+""),Bl.append("parentNodeUuid",le);let kd=yield(0,kt.ZP)("/api/knowledge/v2/import.json",{method:"post",body:Bl},!0);Ta(!1),(kd==null?void 0:kd.status)===0&&((Ws=kd==null?void 0:kd.data)!=null&&Ws.importErrorFilePath?Be.default.confirm({icon:null,title:"\u5BFC\u5165\u5931\u8D25",centered:!0,content:da.createElement("span",null,"\u68C0\u6D4B\u5230\u672C\u6B21\u5BFC\u5165\u5B58\u5728\u4E0D\u7B26\u5408\u8981\u6C42\u7684\u6570\u636E\uFF0C\u70B9\u51FB\u4E0B\u8F7D",da.createElement("a",{href:`${di.Z.API_SERVER}${(Hl=kd==null?void 0:kd.data)==null?void 0:Hl.importErrorFilePath}`,download:"\u5931\u8D25\u6570\u636E.xlsx"},"\u5BFC\u5165\u5931\u8D25\u7684\u6570\u636E"),"\u67E5\u770B")}):(Cc(),kn(!1),(Nl=kd==null?void 0:kd.data)!=null&&Nl.has_route?Ke.ZP.info("\u77E5\u8BC6\u56FE\u8C31\u6570\u636E\u5BFC\u5165\u6210\u529F\uFF0C\u4E3A\u4FDD\u8BC1\u5B66\u4E60\u8DEF\u5F84\u7684\u8282\u70B9\u4E0E\u77E5\u8BC6\u56FE\u8C31\u8282\u70B9\u7ED1\u5B9A\uFF0C\u8BF7\u66F4\u65B0\u5B66\u4E60\u8DEF\u5F84"):Ke.ZP.info("\u5BFC\u5165\u6210\u529F"),js([]),ri({}),Lo(!1)))})},(Vt==null?void 0:Vt.length)>0&&da.createElement("div",{style:{marginBottom:30,color:"#333333"}},"\u68C0\u6D4B\u5F53\u524D\u5DF2\u5B58\u5728\u6570\u636E\uFF0C\u5BFC\u5165\u540E\u539F\u6570\u636E\u5C06\u4F1A\u88AB\u8986\u76D6\uFF0C\u6309\u7167\u6700\u65B0\u5BFC\u5165\u7684\u4E3A\u4E3B\uFF0C\u5982\u9700\u7EE7\u7EED\u5BFC\u5165\uFF0C\u8BF7\u6309\u7167\u4E0B\u65B9\u6B65\u9AA4\u8FDB\u884C"),da.createElement("p",{style:{color:"#5F6368"}},"\u6B65\u9AA41\uFF1A",da.createElement("span",{style:{color:"#000000"}},"\u4E0B\u8F7D"),da.createElement("a",{href:`${di.Z.API_SERVER}/api/knowledge/v2/down_template.json`,download:"\u6A21\u7248.xlsx"},"\u77E5\u8BC6\u56FE\u8C31\u5BFC\u5165\u6A21\u7248")),da.createElement(Me.Z,null,da.createElement(je.Z,{style:{color:"#5F6368"}},"\u6B65\u9AA42\uFF1A",da.createElement("span",{style:{color:"#000000"}},"\u4E0A\u4F20\u586B\u5199\u597D\u7684\u300A\u77E5\u8BC6\u56FE\u8C31\u5BFC\u5165\u6A21\u7248\u300B"))),da.createElement(Me.Z,{style:{marginTop:10,marginLeft:50}},da.createElement(sl.default,qE({},Cp),da.createElement("span",{style:{padding:"0px 16px",color:"#1b8565",cursor:"pointer",height:32,alignItems:"center",display:"inline-flex",borderRadius:2,border:"1px solid #1b8565",background:"#1b8565 linear-gradient(180deg, #FFFFFF 0%, #F6F7F9 100%)",boxShadow:"0px 2px 4px 0px #E0DFE1, inset 0px 1px 3px 0px rgba(255,255,255,0.5)"}},da.createElement("i",{style:{fontSize:12,marginRight:6},className:"iconfont icon-tianjiashitixiaojiahao"})," \u9009\u62E9\u6587\u4EF6")))),da.createElement(Pi,null,da.createElement(da.Fragment,null,da.createElement(Be.default,{title:"\u7248\u672C\u8BB0\u5F55",centered:!0,width:1200,open:Sa,footer:!1,getContainer:()=>Sr.current,onCancel:()=>{Is(!1)}},da.createElement(Wu.default,{dataSource:Ss==null?void 0:Ss.data,pagination:!1,columns:[{title:"\u7248\u672C\u4FDD\u5B58\u65F6\u95F4",dataIndex:"created_at",ellipsis:!0,key:"created_at",render:(Aa,Ws)=>da.createElement("div",null,da.createElement("span",null,Aa),(Ws==null?void 0:Ws.is_now_version)&&da.createElement("span",{style:{background:"#2BAC8E",padding:"4rem",fontSize:"12rem",marginLeft:"5rem",color:"#fff"}},"\u5F53\u524D\u4F7F\u7528\u7248\u672C"))},{title:"\u4FDD\u5B58\u4EBA",dataIndex:"username",ellipsis:!0,key:"username"},{title:"\u64CD\u4F5C",dataIndex:"name",ellipsis:!0,key:"name",render:(Aa,Ws)=>da.createElement("div",null,da.createElement("span",{style:{color:"#1B8565",marginRight:"30rem",cursor:"pointer"},onClick:()=>Px(void 0,null,function*(){var Hl,Nl;let Bl=yield(0,kt.ZP)(`${Ws==null?void 0:Ws.url}`,{method:"get"});(Bl==null?void 0:Bl.status)===0&&((Nl=(Hl=Bl==null?void 0:Bl.data)==null?void 0:Hl.nodes)==null?void 0:Nl.length)>0&&wo(Bl==null?void 0:Bl.data)})},"\u67E5\u770B"),da.createElement("span",{onClick:()=>Px(void 0,null,function*(){var Hl;if(Ws!=null&&Ws.is_now_version)return;let Nl=yield(0,kt.ZP)("/api/knowledge/v2/restore.json",{method:"post",body:{subject_id:(Hl=E==null?void 0:E.detail)==null?void 0:Hl.id,backupFilePath:Ws==null?void 0:Ws.backupFilePath}});(Nl==null?void 0:Nl.status)===0&&(Cc(),Is(!1),kn(!1),Ke.ZP.info("\u5207\u6362\u6210\u529F"))}),style:{color:Ws!=null&&Ws.is_now_version?"#999999":"#1B8565",cursor:"pointer"}},"\u5207\u6362\u81F3\u5F53\u524D\u7248\u672C"))}]}),da.createElement(Yo.Z,{hideOnSinglePage:!0,style:{marginTop:"20rem"},pageSize:Fa.limit,total:Ss==null?void 0:Ss.total_count,current:Fa.page,onChange:(Aa,Ws)=>Px(void 0,null,function*(){var Hl;Fa.page=Aa,Fa.limit=Ws,Xs(Fa);let Nl=yield(0,kt.ZP)("/api/knowledge/v2/knowledge_histories.json",{mehtod:"get",params:qE({subject_id:(Hl=E==null?void 0:E.detail)==null?void 0:Hl.id,nodeUuid:le},Fa)});(Nl==null?void 0:Nl.status)===0&&(Is(!0),el(Nl))})})),da.createElement(Be.default,{open:((jt=Co==null?void 0:Co.nodes)==null?void 0:jt.length)>0,title:"\u5386\u53F2\u56FE\u8C31",width:"1200rem",footer:null,getContainer:()=>Sr.current,destroyOnClose:!0,onCancel:()=>{wo({})}},da.createElement(xY,{datas:Co}))))))};var PY=(0,Ne.connect)(({pathsDetail:b,user:x,loading:E,globalSetting:z})=>({pathsDetail:b,user:x,globalSetting:z,loading:E.models.index}))(bY),i1={wrap:"wrap___HuFFi",add:"add___GrP2R",dimensionalBall:"dimensionalBall___flm6B",archer:"archer___biVqC",svg:"svg___hXxGw",modal:"modal___DR9M_",mHead:"mHead___I923K",form:"form___W2fTe",mType:"mType___hoISa",listItem:"listItem___JCZwd"},Sv={flex_box_center:"flex_box_center___aEG4A",flex_space_between:"flex_space_between___O70yE",flex_box_vertical_center:"flex_box_vertical_center___rEvY1",flex_box_center_end:"flex_box_center_end___Xp3ui",flex_box_column:"flex_box_column___McZmY",largeBall:"largeBall___SbxSR",middleBall:"middleBall___eKLzh",smallBall:"smallBall___r7xv5",largeBallDish:"largeBallDish___EeTGm",middleBallDish:"middleBallDish___hca4h",smallBallDish:"smallBallDish___rrHxf",smallBallGather:"smallBallGather___hHHqa",box:"box___yWjPn",spectrum:"spectrum___r9a7p",pedestal:"pedestal___Grjvz",spectrumHover:"spectrumHover___OibBM",pedestalHover:"pedestalHover___EcKUJ"};const MY="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjkxcHgiIGhlaWdodD0iMTk0cHgiIHZpZXdCb3g9IjAgMCAyOTEgMTk0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA2MSAoODk1ODEpIC0gaHR0cHM6Ly9za2V0Y2guY29tIC0tPgogICAgPHRpdGxlPuWfuuW6pzwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMjcuNzcyODY0MyUiIHkxPSI0My4xNzgwNjE3JSIgeDI9Ijk3LjIyMjIyMjIlIiB5Mj0iNTAlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMzMTdDRDMiIG9mZnNldD0iMCUiPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzI3MkE5NSIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjE0LjI3MTI2ODMlIiB5MT0iMzEuNjQ0NzI5NyUiIHgyPSIxMDAlIiB5Mj0iNzMuMTEyMDA3OCUiIGlkPSJsaW5lYXJHcmFkaWVudC0yIj4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzI3NzFEQiIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjg0REIwIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTAwJSIgeTE9IjM1LjA0MTMwMTklIiB4Mj0iMCUiIHkyPSI2NS41NDY3MzEzJSIgaWQ9ImxpbmVhckdyYWRpZW50LTMiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMzA2NkI0IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMxNDM4OTQiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIyNy43NzI4NjQzJSIgeTE9IjQzLjE1NTA2NzMlIiB4Mj0iOTcuMjIyMjIyMiUiIHkyPSI1MCUiIGlkPSJsaW5lYXJHcmFkaWVudC00Ij4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzMxN0NEMyIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjcyQTk1IiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMCUiIHkxPSI1MCUiIHgyPSI1MCUiIHkyPSI2NC4yMTc0OTQ1JSIgaWQ9ImxpbmVhckdyYWRpZW50LTUiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMkY3MEM5IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM1QjVGRkYiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtNiIgcG9pbnRzPSIxNDQuNzQ1OSAxNi40Njc5NzAxIDI2MC4xMzI5MzUgNzIuOTI3OTU1NiAxNDYuMTg4MjM4IDEzOC43NTc4OTYgMzAuODAxMjAzMyA3Mi4yMDcxODk5Ij48L3BvbHlnb24+CiAgICAgICAgPGZpbHRlciB4PSItMS41JSIgeT0iLTIuOSUiIHdpZHRoPSIxMDMuMSUiIGhlaWdodD0iMTA1LjclIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJmaWx0ZXItNyI+CiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjEiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dCbHVySW5uZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSI1IiBpbj0ic2hhZG93Qmx1cklubmVyMSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRJbm5lcjEiPjwvZmVPZmZzZXQ+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93T2Zmc2V0SW5uZXIxIiBpbjI9IlNvdXJjZUFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIgcmVzdWx0PSJzaGFkb3dJbm5lcklubmVyMSI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAuNzk2ODM2ODkgICAwIDAgMCAwIDAuOTc0NjYwMTA4ICAgMCAwIDAgMCAxICAwIDAgMCAwLjUgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93SW5uZXJJbm5lcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSLpobXpnaItMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IjA4MjAtM0Tlm77osLEt5YiH5Zu+VjQuMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQ0OS4wMDAwMDAsIC0xMzQ0LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0i5Z+65bqnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0NDkuMDAwMDAwLCAxMzQ0LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9IuefqeW9oiIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0xKSIgb3BhY2l0eT0iMC4zMjA4NzA1MzYiIHBvaW50cz0iMTQ0LjU4NDkwNiAzOC45MDI0MTk0IDI5MSAxMTAuNDY0MzA1IDE0Ni40MTUwOTQgMTkzLjkwMjQxOSAwIDEwOS41NTA3NDkiPjwvcG9seWdvbj4KICAgICAgICAgICAgICAgIDxwb2x5Z29uIGlkPSLnn6nlvaIiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMikiIHBvaW50cz0iLTcuNTMxNzUzZS0xMyA3MC43NTEyNzkgMTQ2LjA3Njk5NCAxNTUuMjI1ODY2IDE0Ni4wNzY5OTQgMTc3Ljc5MzA4NSAtNy41MzE3NTNlLTEzIDkzLjMxODQ5NzMiPjwvcG9seWdvbj4KICAgICAgICAgICAgICAgIDxwb2x5Z29uIGlkPSLnn6nlvaIiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMykiIHBvaW50cz0iMTQ2LjA3Njk5NCAxNTUuMjI1ODY2IDI5MC45MzQxMzggNzEuNjY2MTY2MiAyOTAuOTM0MTM4IDk0LjIzMzM4NDUgMTQ2LjA3Njk5NCAxNzcuNzkzMDg1Ij48L3BvbHlnb24+CiAgICAgICAgICAgICAgICA8cG9seWdvbiBpZD0i55+p5b2iIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTQpIiBwb2ludHM9IjE0NC41NTIxODIgLTUuODk5OTA5NzdlLTEzIDI5MC45MzQxMzggNzEuNjY2MTY2MiAxNDYuMzgxOTU2IDE1NS4yMjU4NjYgLTUuNjg0MzQxODllLTEzIDcwLjc1MTI3OSI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgPGcgaWQ9IuefqeW9oiI+CiAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTUpIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHhsaW5rOmhyZWY9IiNwYXRoLTYiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMSIgZmlsdGVyPSJ1cmwoI2ZpbHRlci03KSIgeGxpbms6aHJlZj0iI3BhdGgtNiI+PC91c2U+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==",LY="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjk1cHgiIGhlaWdodD0iMTk3cHgiIHZpZXdCb3g9IjAgMCAyOTUgMTk3IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA2MSAoODk1ODEpIC0gaHR0cHM6Ly9za2V0Y2guY29tIC0tPgogICAgPHRpdGxlPuW6leW6p+mAieS4rTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMjcuNzcyODY0MyUiIHkxPSI0My4xNTUwNjczJSIgeDI9Ijk3LjIyMjIyMjIlIiB5Mj0iNTAlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMzMTdDRDMiIG9mZnNldD0iMCUiPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzI3MkE5NSIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjE0LjI3MTI2ODMlIiB5MT0iMzEuNjQ0NzI5NyUiIHgyPSIxMDAlIiB5Mj0iNzMuMTEyMDA3OCUiIGlkPSJsaW5lYXJHcmFkaWVudC0yIj4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzI3NzFEQiIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjg0REIwIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTAwJSIgeTE9IjM1LjA0MTMwMTklIiB4Mj0iMCUiIHkyPSI2NS41NDY3MzEzJSIgaWQ9ImxpbmVhckdyYWRpZW50LTMiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMzA2NkI0IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMxNDM4OTQiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSI1MCUiIHkxPSI2LjA2MjU2MyUiIHgyPSI1MCUiIHkyPSI2NC40MjMxOTgxJSIgaWQ9ImxpbmVhckdyYWRpZW50LTQiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMkY3MEM5IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMyREUxRkQiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtNSIgcG9pbnRzPSIxNDYuMzI3NiAxNi42NDc5MjI2IDI2Mi45NzU1MTcgNzMuNzI0ODcwMiAxNDcuNzg1Njk5IDE0MC4yNzQxNjIgMzEuMTM3NzgxMSA3Mi45OTYyMjgzIj48L3BvbHlnb24+CiAgICAgICAgPGZpbHRlciB4PSItMS4xJSIgeT0iLTIuMCUiIHdpZHRoPSIxMDIuMiUiIGhlaWdodD0iMTA0LjAlIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJmaWx0ZXItNiI+CiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjAuNSIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd0JsdXJJbm5lcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjQiIGluPSJzaGFkb3dCbHVySW5uZXIxIiByZXN1bHQ9InNoYWRvd09mZnNldElubmVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluPSJzaGFkb3dPZmZzZXRJbm5lcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJhcml0aG1ldGljIiBrMj0iLTEiIGszPSIxIiByZXN1bHQ9InNoYWRvd0lubmVySW5uZXIxIj48L2ZlQ29tcG9zaXRlPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMC43OTY4MzY4OSAgIDAgMCAwIDAgMC45NzQ2NjAxMDggICAwIDAgMCAwIDEgIDAgMCAwIDAuNSAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dJbm5lcklubmVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICAgIDwvZmlsdGVyPgogICAgPC9kZWZzPgogICAgPGcgaWQ9Iumhtemdoi0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iMDgyMC0zROWbvuiwsS3liIflm75WNC4wIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTQ3MS4wMDAwMDAsIC0xMzU0LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0i5bqV5bqn6YCJ5LitIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNDcxLjAwMDAwMCwgMTM1NC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtMyI+CiAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9IuefqeW9oiIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0xKSIgb3BhY2l0eT0iMC4zMjA4NzA1MzYiIHBvaW50cz0iMTQ2LjEzMTc2NSAzOS40MTkzNDQyIDI5NC4xMTMyOTggMTExLjg2ODYzNyAxNDcuOTgxNTM0IDE5Ni4zNDE0MjkgLTEuNDIxMDg1NDdlLTEzIDExMC45NDM3NTIiPjwvcG9seWdvbj4KICAgICAgICAgICAgICAgICAgICA8cG9seWdvbiBpZD0i55+p5b2iIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTIpIiBwb2ludHM9IjEuMTM2ODY4MzhlLTEzIDcxLjUyNDQwOCAxNDcuNjczMjM5IDE1Ni45MjIwODUgMTQ3LjY3MzIzOSAxNzkuNzM1OTA1IDEuMTM2ODY4MzhlLTEzIDk0LjMzODIyNzgiPjwvcG9seWdvbj4KICAgICAgICAgICAgICAgICAgICA8cG9seWdvbiBpZD0i55+p5b2iIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTMpIiBwb2ludHM9IjE0Ny42NzMyMzkgMTU2LjkyMjA4NSAyOTQuMTEzMjk4IDcyLjQ0OTI5MjYgMjk0LjExMzI5OCA5NS4yNjMxMTI0IDE0Ny42NzMyMzkgMTc5LjczNTkwNSI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgICAgIDxwb2x5Z29uIGlkPSLnn6nlvaIiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMSkiIHBvaW50cz0iMTQ2LjEzMTc2NSAtNC43OTMzNDg4M2UtMTMgMjk0LjExMzI5OCA3Mi40NDkyOTI2IDE0Ny45ODE1MzQgMTU2LjkyMjA4NSAtMS40MjEwODU0N2UtMTMgNzEuNTI0NDA4Ij48L3BvbHlnb24+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IuefqeW9oiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC00KSIgZmlsbC1ydWxlPSJldmVub2RkIiB4bGluazpocmVmPSIjcGF0aC01Ij48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTYpIiB4bGluazpocmVmPSIjcGF0aC01Ij48L3VzZT4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==",TY="data:image/png;base64,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",DY="data:image/png;base64,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";var IY=Object.defineProperty,OY=Object.defineProperties,NY=Object.getOwnPropertyDescriptors,NR=Object.getOwnPropertySymbols,BY=Object.prototype.hasOwnProperty,RY=Object.prototype.propertyIsEnumerable,BR=(b,x,E)=>x in b?IY(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,eT=(b,x)=>{for(var E in x||(x={}))BY.call(x,E)&&BR(b,E,x[E]);if(NR)for(var E of NR(x))RY.call(x,E)&&BR(b,E,x[E]);return b},tT=(b,x)=>OY(b,NY(x)),kY=({className:b,style:x={},title:E="",childNode:z=[],knowledgeNode:te=[]})=>{const re="rem",oe=[{position:"absolute",zIndex:2,bottom:112,left:44},{position:"absolute",zIndex:3,bottom:94,left:74},{position:"absolute",zIndex:4,bottom:78,left:104},{position:"absolute",zIndex:5,bottom:66,left:136},{position:"absolute",zIndex:6,bottom:82,left:168},{position:"absolute",zIndex:7,bottom:104,left:202},{position:"absolute",zIndex:8,bottom:122,left:166}],le=[{position:"absolute",zIndex:10,bottom:166,left:66},{position:"absolute",zIndex:11,bottom:148,left:120},{position:"absolute",zIndex:12,bottom:150,left:180},{position:"absolute",zIndex:13,bottom:188,left:164},{position:"absolute",zIndex:14,bottom:192,left:114}],he=(We="")=>{if(!We)return"-";let Xe=3;return/[\u4e00-\u9fff]/.test(We)||(Xe=7),(We==null?void 0:We.length)>=Xe?(We==null?void 0:We.slice(0,Xe-1))+"...":We},ge=()=>(Array.isArray(te)?te.slice(0,7):Array(7).fill("\u77E5\u8BC6\u70B9")).map((qe,nt)=>{const at=oe[nt],pt=tT(eT({},at),{bottom:`${at.bottom}${re}`,left:`${at.left}${re}`});return Ue.createElement("div",{key:nt,style:pt,className:Sv.smallBallGather},Ue.createElement("div",{className:Sv.smallBall},Ue.createElement("b",null,he(qe))),Ue.createElement("div",{className:Sv.smallBallDish}))}),Ae=()=>(Array.isArray(z)?z.slice(0,5):Array(5).fill("\u5B50\u8282\u70B9")).map((qe,nt)=>{const at=le[nt],pt=tT(eT({},at),{bottom:`${at.bottom}${re}`,left:`${at.left}${re}`});return Ue.createElement("div",{key:nt,style:pt,className:Sv.middleBall},Ue.createElement("div",null,Ue.createElement("b",null,he(qe))))}),Pe={position:"absolute",zIndex:1,bottom:0,width:"100%"};return Ue.createElement("div",{className:Fr()(Sv.box,b),style:x},Ue.createElement("img",{className:Sv.pedestal,style:Pe,src:MY}),Ue.createElement("img",{className:Sv.pedestalHover,style:Pe,src:LY}),ge(),Ue.createElement("div",{style:{position:"absolute",zIndex:9,bottom:138+re,left:"50%",transform:"translateX(-50%)"},className:Sv.middleBallDish}),Ae(),Ue.createElement("div",{style:{position:"absolute",zIndex:15,bottom:214+re,left:"50%",transform:"translateX(-50%)"},className:Sv.largeBallDish}),Ue.createElement("div",{style:{position:"absolute",zIndex:16,bottom:234+re,left:120+re},className:Sv.largeBall},Ue.createElement("b",null,he(E))),Ue.createElement("img",{style:tT(eT({},Pe),{zIndex:17}),className:Sv.spectrum,src:TY}),Ue.createElement("img",{style:tT(eT({},Pe),{zIndex:17}),className:Sv.spectrumHover,src:DY}),Ue.createElement("div",{title:E,style:{position:"absolute",zIndex:18,bottom:304+re,left:0,fontSize:24+re,width:"100%",textAlign:"center"},className:"c-white blod"},(0,ve.Pq)(E,9)))},FY=Object.defineProperty,_Y=Object.defineProperties,zY=Object.getOwnPropertyDescriptors,RR=Object.getOwnPropertySymbols,jY=Object.prototype.hasOwnProperty,WY=Object.prototype.propertyIsEnumerable,kR=(b,x,E)=>x in b?FY(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,FR=(b,x)=>{for(var E in x||(x={}))jY.call(x,E)&&kR(b,E,x[E]);if(RR)for(var E of RR(x))WY.call(x,E)&&kR(b,E,x[E]);return b},_R=(b,x)=>_Y(b,zY(x));function UY(b){const x=new Map,E=[];return b.nodes.forEach(z=>{const te=_R(FR({},z.properties),{children:[]});x.set(te.uuid,te)}),b.relationships.forEach(z=>{const te=x.get(z.startNodeUuid),re=x.get(z.endNodeUuid);te&&re&&te.children.push(re)}),b.nodes.forEach(z=>{const te=z.properties;if(!b.relationships.some(le=>le.startNodeUuid===te.uuid||le.endNodeUuid===te.uuid))return;b.relationships.some(le=>le.endNodeUuid===te.uuid)||E.push(x.get(te.uuid))}),E.length===1?E[0]:E}function zR(b,x){const E=new Set,z=[];return b.forEach(te=>{const re=te[x[0]],oe=te[x[1]];if(!re||!oe)return;const le=`${re}-${oe}`,he=`${oe}-${re}`;re!==oe&&!E.has(le)&&!E.has(he)&&(z.push(te),E.add(le),E.add(he))}),z}const GY=(b,x)=>{const E=b==null?void 0:b.map(te=>{const re=oe=>{let le=[oe.uuid];return oe.children.forEach(he=>{le=le.concat(re(he))}),le};return re(te)});return x.map(te=>{let re,oe;return E.forEach(le=>{le.includes(te.startNodeUuid)&&(re=le[0]),le.includes(te.endNodeUuid)&&(oe=le[0])}),_R(FR({},te),{firstStartNodeUuid:re,firstEndNodeUuid:oe})})};var Hf=Oe(59301),HY=({data:b})=>{const x=(0,Ue.useRef)(),E=(0,Ue.useRef)();function z(oe,le,he){let ge,Ae;switch(le){case"top":ge=Math.ceil(oe.left+oe.width/2-he.left),Ae=Math.ceil(oe.top-he.top);break;case"bottom":ge=Math.ceil(oe.left+oe.width/2-he.left),Ae=Math.ceil(oe.bottom-he.top+15);break;case"left":ge=Math.ceil(oe.left-he.left-10),Ae=Math.ceil(oe.top+oe.height/2-he.top+80);break;case"right":ge=Math.ceil(oe.right-he.left+10),Ae=Math.ceil(oe.top+oe.height/2-he.top+50);break}return{x:ge,y:Ae}}function te(oe,le){const he={x:parseInt(oe.left+oe.width/2),y:parseInt(oe.top+oe.height/2)},ge={x:parseInt(le.left+le.width/2),y:parseInt(le.top+le.height/2)},Ae=ge.x-he.x,Pe=ge.y-he.y;let We,Xe;return Math.abs(Ae)>Math.abs(Pe)?(We=Ae>0?"right":"left",Xe=Ae>0?"left":"right"):(We=Pe>0?"bottom":"top",Xe=Pe>0?"top":"bottom"),{startEdge:We,endEdge:Xe}}function re(){let oe=b;if(!(oe!=null&&oe.length))return;const le=document.getElementById("lineContainer"),he=document.getElementById("parentContainer").getBoundingClientRect();le.querySelectorAll("line").forEach(ge=>ge.remove()),oe.forEach(ge=>{const Ae=document.getElementById(ge.from),Pe=document.getElementById(ge.to),We=Ae.getBoundingClientRect(),Xe=Pe.getBoundingClientRect();let{startEdge:qe,endEdge:nt}=ge;if(!qe||!nt){const bt=te(We,Xe);qe=qe||bt.startEdge,nt=nt||bt.endEdge}const at=z(We,qe,he),pt=z(Xe,nt,he),mt=document.createElementNS("http://www.w3.org/2000/svg","line");if(mt.setAttribute("x1",at.x+ge.offsetStart.x),mt.setAttribute("y1",at.y+ge.offsetStart.y),mt.setAttribute("x2",at.x+ge.offsetStart.x+.01),mt.setAttribute("y2",at.y+ge.offsetStart.y),mt.setAttribute("stroke",`url(#${ge.gradient})`),mt.setAttribute("stroke-width","2"),ge.dashed&&mt.setAttribute("stroke-dasharray","5, 5"),ge.arrow==="start"?mt.setAttribute("marker-start",ge!=null&&ge.animated?"url(#triangle-start-h)":"url(#triangle-start)"):ge.arrow==="end"?mt.setAttribute("marker-end",ge!=null&&ge.animated?"url(#triangle-end-h)":"url(#triangle-end)"):ge.arrow==="both"&&(mt.setAttribute("marker-start",ge!=null&&ge.animated?"url(#triangle-start-h)":"url(#triangle-start)"),mt.setAttribute("marker-end",ge!=null&&ge.animated?"url(#triangle-end-h)":"url(#triangle-end)")),ge.animated){mt.classList.add("dashed-line");const bt=document.createElementNS("http://www.w3.org/2000/svg","animate");bt.setAttribute("attributeName","x2"),bt.setAttribute("from",at.x+ge.offsetStart.x),bt.setAttribute("to",pt.x+ge.offsetEnd.x+.01),bt.setAttribute("dur","1s"),bt.setAttribute("fill","freeze"),mt.appendChild(bt);const jt=document.createElementNS("http://www.w3.org/2000/svg","animate");jt.setAttribute("attributeName","y2"),jt.setAttribute("from",at.y+ge.offsetStart.y),jt.setAttribute("to",pt.y+ge.offsetEnd.y),jt.setAttribute("dur","1s"),jt.setAttribute("fill","freeze"),mt.appendChild(jt)}else mt.setAttribute("x2",pt.x+ge.offsetEnd.x+.01),mt.setAttribute("y2",pt.y+ge.offsetEnd.y);le.appendChild(mt)})}return(0,Ue.useEffect)(()=>{b!=null&&b.length&&re()},[b]),(0,Ue.useEffect)(()=>(window.addEventListener("resize",()=>re),window.addEventListener("scroll",()=>re),()=>{window.removeEventListener("resize",re),window.removeEventListener("scroll",re)}),[]),Hf.createElement(Hf.Fragment,null,Hf.createElement("svg",{id:"lineContainer",style:{width:"100%",height:"100%",position:"absolute",top:0,left:0}}),Hf.createElement("svg",null,Hf.createElement("defs",null,Hf.createElement("linearGradient",{id:"gradient1",x1:"0%",y1:"0%",x2:"0%",y2:"100%"},Hf.createElement("stop",{"stop-color":"#42BECD",offset:"0%"}),Hf.createElement("stop",{"stop-color":"#3C30C6",offset:"100%"})),Hf.createElement("linearGradient",{id:"gradient2",x1:"0%",y1:"0%",x2:"100%",y2:"100%"},Hf.createElement("stop",{"stop-color":"#2DE1FD",offset:"0%"}),Hf.createElement("stop",{"stop-color":"#C7FFB0",offset:"100%"})),Hf.createElement("marker",{id:"triangle-start",viewBox:"0 0 10 10",refX:"2",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},Hf.createElement("path",{d:"M 10 0 L 0 5 L 10 10 z",fill:"url(#gradient1)"})),Hf.createElement("marker",{id:"triangle-end",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},Hf.createElement("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"url(#gradient1)"})),Hf.createElement("marker",{id:"triangle-start-h",viewBox:"0 0 10 10",refX:"2",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},Hf.createElement("path",{d:"M 10 0 L 0 5 L 10 10 z",fill:"url(#gradient2)"})),Hf.createElement("marker",{id:"triangle-end-h",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},Hf.createElement("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"url(#gradient2)"})))))},VY=Object.defineProperty,KY=Object.defineProperties,ZY=Object.getOwnPropertyDescriptors,jR=Object.getOwnPropertySymbols,YY=Object.prototype.hasOwnProperty,XY=Object.prototype.propertyIsEnumerable,WR=(b,x,E)=>x in b?VY(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,UR=(b,x)=>{for(var E in x||(x={}))YY.call(x,E)&&WR(b,E,x[E]);if(jR)for(var E of jR(x))XY.call(x,E)&&WR(b,E,x[E]);return b},QY=(b,x)=>KY(b,ZY(x)),GR=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())}),JY=({subjectId:b,setActivated:x,onAddSuccess:E})=>{const z=(0,Ne.useSelector)(Sr=>Sr),{pathsDetail:{detail:te={}}}=z,[re]=St.default.useForm(),[oe,le]=(0,Ue.useState)(""),[he,ge]=(0,Ue.useState)(!1),[Ae,Pe]=(0,Ue.useState)(!0),[We,Xe]=(0,Ue.useState)(!1),[qe,nt]=(0,Ue.useState)([]),[at,pt]=(0,Ue.useState)([]),[mt,bt]=(0,Ue.useState)(null),[jt,Ut]=(0,Ue.useState)(),Kt=(0,Ue.useRef)(),Qt=(0,Ue.useRef)();let Vt=(0,Ue.useRef)().current,vn=(0,Ue.useRef)().current,wn=(0,Ue.useRef)(!1).current;const kn=te==null?void 0:te.edit_of_subject_knowledge;(0,Ue.useEffect)(()=>{b&&Vn()},[b]);const Vn=()=>GR(void 0,null,function*(){var Sr,Tr,ri,Cr,yi;Pe(!0);const Co=yield(0,kt.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{depth:-1,subject_id:b}});if(Co.status===0){le((Cr=(ri=(Tr=(Sr=Co==null?void 0:Co.data)==null?void 0:Sr.nodes)==null?void 0:Tr[0])==null?void 0:ri.properties)==null?void 0:Cr.uuid);const wo=((yi=Co==null?void 0:Co.data)==null?void 0:yi.relationships)||[];let vi=[],Mi=[];wo==null||wo.forEach(Ta=>{["\u5173\u8054"].includes(Ta.type)?vi.push(Ta):["\u5305\u542B"].includes(Ta.type)&&Mi.push(Ta)}),vi=zR(vi,["startNodeUuid","endNodeUuid"]);const $i=QY(UR({},Co==null?void 0:Co.data),{relationships:Mi}),Lo=UY($i);let Jo=GY((Lo==null?void 0:Lo.children)||[],vi);console.log(Jo,3),Jo=zR(Jo,["firstStartNodeUuid","firstEndNodeUuid"]),nt((Lo==null?void 0:Lo.children)||[]),pt(Jo),console.log(Jo,Lo==null?void 0:Lo.children,222)}Pe(!1)});(0,Ue.useEffect)(()=>{at!=null&&at.length&&Ut(at.map(Sr=>({from:Sr.firstStartNodeUuid,to:Sr.firstEndNodeUuid,animated:!1,dashed:!0,arrow:"both",offsetStart:{x:0,y:0},offsetEnd:{x:0,y:1},gradient:"gradient1"})))},[at]),(0,Ue.useEffect)(()=>{var Sr;jt!=null&&jt.length&&((Sr=jt==null?void 0:jt.map)==null||Sr.call(jt,Tr=>{Tr.animated=Tr.from===mt||Tr.to===mt,Tr.gradient=Tr.from===mt||Tr.to===mt?"gradient2":"gradient1"}),Ut([...jt]))},[mt]);function vr(Sr){var Tr,ri;if(!wn)return;const Cr=Sr.pageY-Vt;(ri=(Tr=Kt.current)==null?void 0:Tr.scrollTo)==null||ri.call(Tr,0,vn-Cr)}function or(Sr){var Tr;wn=!0,Vt=Sr.pageY,vn=((Tr=Kt.current)==null?void 0:Tr.scrollTop)||0}function Or(Sr){wn=!1}(0,Ue.useEffect)(()=>(document.addEventListener("mousedown",or),document.addEventListener("mousemove",vr),document.addEventListener("mouseup",Or),()=>{document.removeEventListener("mouseup",Or),document.removeEventListener("mousemove",vr),document.removeEventListener("mousedown",or)}),[]);const qr=Sr=>GR(void 0,null,function*(){const{nodeType:Tr,description:ri,name:Cr,tags:yi}=Sr;Xe(!0);const Co=yield(0,kt.ZP)("/api/knowledge/v2/add_node.json",{method:"POST",body:{label:"\u56FE\u8C31",subject_id:b,properties:{description:ri,rootNodeUuid:oe,name:Cr,nodeType:Tr[0],tags:(yi==null?void 0:yi.join("\uFF0C"))||"",color:"1"},relationships:[{startNodeUuid:oe,type:"\u5305\u542B"}]}});(Co==null?void 0:Co.status)===0&&(ge(!1),Vn(),E()),Xe(!1)}),wr=()=>{const Sr=[],Tr=qe==null?void 0:qe.map((Cr,yi)=>{var Co;let wo;const vi=yi+1,Mi=Sr.length-3,$i=Sr[Mi];vi%3===1&&(wo={top:$i!==void 0?`${parseFloat($i==null?void 0:$i.top)+600}rem`:"100rem",left:"50%",marginLeft:"-146rem"}),vi%3===2&&(wo={top:$i!==void 0?`${parseFloat($i==null?void 0:$i.top)+600}rem`:"380rem",left:0}),vi%3===0&&(wo={top:$i!==void 0?`${parseFloat($i==null?void 0:$i.top)+600}rem`:"380rem",right:0}),Sr.push(wo);let Lo=[],Jo=(Co=Cr==null?void 0:Cr.children)==null?void 0:Co.map(Ta=>{var Bs;return Ta!=null&&Ta.children&&((Bs=Ta==null?void 0:Ta.children)==null||Bs.forEach(js=>{Lo.push(js.name)})),Ta.name});return Jo.length>5&&(Jo[0]="..."),Lo.length>7&&(Lo[0]="..."),Ue.createElement("div",{className:i1.listItem,key:yi,onMouseEnter:()=>bt(Cr==null?void 0:Cr.uuid),onMouseLeave:()=>bt(null),id:Cr==null?void 0:Cr.uuid,onClick:()=>x(Cr==null?void 0:Cr.uuid),style:UR({position:"absolute",zIndex:10},wo)},Ue.createElement(kY,{childNode:Jo,knowledgeNode:Lo,title:Cr==null?void 0:Cr.name}))}),ri=parseFloat(Sr[Sr.length-1].top)+352+80+"rem";return Ue.createElement("div",{ref:Qt,style:{height:ri}},Tr)};return Ue.createElement(Pi,null,Ue.createElement("div",{className:i1.wrap},Ae&&Ue.createElement(Xt.Z,{style:{width:"100%",marginTop:"300rem"},spinning:Ae}),!Ae&&Ue.createElement(Ue.Fragment,null,kn&&Ue.createElement("div",{className:i1.add,onClick:()=>ge(!0)},Ue.createElement("i",{className:"iconfont icon-tianjiatixing"})),qe!=null&&qe.length?Ue.createElement("div",{className:i1.dimensionalBall,ref:Kt},Ue.createElement("div",{className:i1.archer,id:"parentContainer"},wr(),Ue.createElement(HY,{data:jt}))):Ue.createElement(On,{text:"\u6682\u65E0\u56FE\u8C31\uFF0C\u7ACB\u5373\u65B0\u5EFA\u4E00\u4E2A\u56FE\u8C31\u5427\uFF5E",textColor:"#fff",buttonText:kn&&"\u65B0\u5EFA\u56FE\u8C31",onClick:()=>ge(!0)})),Ue.createElement(Be.default,{open:he,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",onCancel:()=>ge(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{re.resetFields()},confirmLoading:We,onOk:()=>re.submit(),title:"\u65B0\u589E\u77E5\u8BC6\u56FE\u8C31"},Ue.createElement("div",{className:i1.modal},Ue.createElement("div",{className:i1.mHead},"\u8282\u70B9\u5C5E\u6027"),Ue.createElement(St.default,{form:re,scrollToFirstError:!0,layout:"horizontal",colon:!1,size:"large",labelCol:{flex:"110rem"},onFinish:qr,className:i1.form},Ue.createElement(St.default.Item,{label:"\u56FE\u8C31\u540D\u79F0",name:"name",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u8282\u70B9\u540D\u79F0"},{type:"string",max:60,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Ue.createElement(Dt.default,{maxLength:60,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Ue.createElement(St.default.Item,{label:"\u7B80\u4ECB",name:"description",rules:[{type:"string",max:5e3,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Ue.createElement(Dt.default.TextArea,{maxLength:5e3,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Ue.createElement(St.default.Item,{className:i1.mType,label:Ue.createElement("span",null,"\u56FE\u8C31\u7C7B\u578B ",Ue.createElement(Ce.Z,{title:"\u5F53\u524D\u77E5\u8BC6\u56FE\u8C31\u7684\u7C7B\u578B\uFF0C\u5982\uFF1A\u5927\u7EB2\u56FE\u8C31\u3001\u80FD\u529B\u56FE\u8C31"},Ue.createElement(Yn.Z,null))),name:"nodeType",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8282\u70B9\u7C7B\u578B"}]},Ue.createElement(Eo,{subjectId:b,type:1})))))))},Hh={statistics:"statistics___BP4qi",noUnfold:"noUnfold___EpqXR",wrapBox:"wrapBox___TsFlb",scrollBox:"scrollBox___Oh4zJ",content:"content___NRQFH",title:"title___z20Sn",box:"box___k6Eep",left:"left___Gnxfc",right:"right___rNC9V",head:"head___mT3Wl",radio:"radio___sjK3F",active:"active___oX7gd",average:"average___KVA2l",li:"li____NnY1",yellow:"yellow___CCujs",blue:"blue___m_425",lineTitle:"lineTitle___qo6vf",echartsTwo:"echartsTwo___aC24D",echartsThree:"echartsThree___Z2Q2A",unfold:"unfold___VUl4t",select:"select___dM1mS"},qY="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAABCCAYAAADuSnCvAAAAAXNSR0IArs4c6QAAGBVJREFUeF7VW2l0Vdd13vucc+99TxODkACBABs8IcCADXbi2E5qJ24cd0hSD7XbONOK0wxOsGmbrtWuyF3JajO5SbzSDF14pYkb2+AR23EdJ3E8MQozDwbhCA1PSEKg6U33nnN2u899Dx4ggQATk/tD7613p3O+8+29v733EcIf49FIifpx+le5kASg6PAQX7dSrN7fB5uhEcMzmRKeyc3v2L2N5E+uyDWjEPU8BkQEo41FIbaiVE8YEg91LcG3Tmd8fxyANL6kxsL8iiAIx1MUVUoIlE0kn0Yhp5A1hXkjCClBCgF5TX0W5C8MRt/sW5rcdyrAnLOA1H59aCIONr/XG2i5Tgx2LoRsXx3qfDlYHYCfpPyCu3zyywSQPW6+iAKkUmCs7YzI+7feIfEDaMTjLxwGqXMOkJrG9vl+98a7ZPe2vxA6M9mNmSxQceL8GVRBePnfgRUBnxyRACgkCCHBWnpCS/2FA0vKO0/GlnMGkImNg7XqwGtfwbY1d3nCllmjAWiYyTIgZdUQXvZZsKhOCEhx8srzwRraBtK/pXMJ7jwRKOcEIBP/uflP/OZnfqjyhy4kEwENB0RxFmSAKiZBfuFdJ1vso85L5YEx0GqF/5c99+LGkW5+xwGp+/umT6vmZ78nbFR2xEGeYK4MSOUUxxCy+pRBIUu7AYIPdC7FYZ3tOwrIxHtXf9Fvfu67EqwgOyqfB2A10NgZEC74FIwKwGMgY6ZEBlf1pL33QyNmjkX0HQNk8j9t/Uiwa8UjZCJvWF8x0tpbDbb6QtCX3gnWRKfEkFKfYizev/9e795zApBJjZ2zvS0PviJNunrUzCiO3EZAE+dB1HDbaQPCYRkAtRXq2u57vVWloJx1htQ0UoWoiL4GCI903euv4ZfX37nsRdnfcj070FM+TAhmymIwF3/4tAHhd7LpEOHLnYPe9dCIh53RWQdk4nf1rT7QI1qbPEj1U+ze9Za/9affIBAAbqVO8TAh2OnXgJ71wTMCBABBSvZe6sb9S9TzxVGcXUBuJjn5ivAVFPBuY4wbAOgcyNR6EK2rAHKHAKTP9B09KiYP+vz3gz3vujMEJGaJNvB8d9q/qahkT2Ekox9z8crJ3w4vI7CrgaxXVJpsv6wgIRwC1b4aRMda933UwJg8mJk3gJnxvjMGhMdiCLNWJBb2LsVdPO6zCsik7+T/VQr8Fx0Nk5GjcLIaswdBtr0OovMNxx6Q3omHxT7kwpvA1F91xoAwAKxiCeQ/ppbIb551QCZ8I/OaRXkVm8twB68GIYIQAjDdDar1NRBdWwBMOLJ/MSHohlvB1F0G1hi3oogAvijK/JFzm+HGwGZjLTy/f6n/IQAk97yp9/ePu7K+agFK7cHJxJ/i/CE+yBiUIIHQOKYRHmGcQCjrH9JfCy2NA7DINQuW5Eh8VeF7iVMlkAgCUfW3Ee7fAKBjVh2l4hEIyICZ+i6AMdOdUuWfshGKN3thDJPOTeiohC8GiN8/7KIIxYljRz6dnNPXiH0INy+Xj953888vnwzXWwNHLWVRO3IssNaB5x5MQOjmFqdWgqdIRAIIhCVC6z5BWAuhtXwFCr7f8jWIaA0VAUIefnGwLocRjAxIh0VhselISkuGx2FZvxtAFEwwUGjh/jUm/8JbUJX0eFXIMYwfwI+IoaARQOGzQlsvsahnCW5CaEyVvfKJyS9U+DBVGxhZGPBkisxgbsX8QmuJycpLLt13QqGtlQQOBJ6YMAwa8TleQUQCdw8TpbBsJatH8W/HJ3jEiwI84UtqFYMLO7siymmApAe4crftWfaGmVAZAIoiG5CxK/UMw4MipAeGxJ92L/VewAnf6Kl89JYJz45PwDRjRzYYYqqXAsIMYUCI3CSttdISuokbBscBBI41DAgDE7MI0YJlEVICSMERFBbyaFNhfsRUMQRwRb0PtRXxjDsHNKxvi6jcR3h8Z9S7rCmqHpMUyD7JkYojWkxr4KHwc4azHPYjCPLjHfeo/8bxX+2tWvHx8c+MHpASkykBxFiSzIBRA+IGa53JHB5lgR1F51Gw/nhyRG61r5rh4bhkTNYDaQur94UxIDvC3mXr89VVSeHM0T2T31GgIT86fvzxLOFIAyDv7Vgi78dx/35wzGO3jlv5zgBSYF1x2UoBKdCkNGYwIOOSCA210vmvbfsj6s8BlHmEj++IDvxkTbp6bJlEwa6VHXYREPe9yBJ7nC9hhgCqu1NL5AOHGVKbhBkWTmQyRyIIk5GdJzOw4LNiZlgQFmMz0ew/LEnjTCs2JbLODzkf4uylJCoV/d5wkaA00rDvKDpJ54M55CrAB5uy3Q81DdaMLVfo9A2DzALQgRIDUhzusWbjQq+Qd+7/svqZ8yHfuWHsCmPtJGtgxKIEA1AInY6FNuYg+wt2kML5EAPSALBzlcaSMtYqAyRZ+bA/sYD86QBBFIcjFbJjcSuIGCtaB1YcpkvjRAGZIihuIDxvRPzVntz+zW2ZiclAoZSxGnaKGPkzBqVoNsMBYlBc17XE+y1Ovb8ted/7Ji/v6NdjIkOWB1dcJabokbAV/8pAMCGNAQFIUvMnOAAYCBVZUmTJc2AQeNqCMoYUFR0tkXSMsYjE3GagXeSJDw7ppQK6qCnc+ZIwenhciBx58K1e3bmhZWBSeUJhEQyUqgSY2J9w1D4aEJY/IpReYlH7l3ELQiP5P/8IrejL2SpjKY5SxcEV+FLUT7x4vGjWwU1oLLHecAwwZJXWVhGg0kZ7hoQyxnqWUEXGOIB4mawFvsaZD/PCOf7YC8aAoDPFYY7jf+Tr+M6EJ3BLezbV9Pu+yUHgIfdmYjCU+2SWuMgzDCDuGqQWPZiY29OIQwifIe8Xd9Njg3ksd478mNEUFWa8eizAwKk3ZorRRlg2CQB+q2eJVKRJWSLPWvKYLUZbn4iYLUoTMwkdMOAA4ajE7HBiyoHCgMRoDKcsjwYljhkAvgTc3J5NrW0+NDnw2alKTmWB9YUzm0I7YjhA4pALT3TcE3w0futnyHv4bnpsKA/lNp7rUQc6McxKFSjUhnwBXmUA5ZUBJgNhA/aTvTmb7x6ifC7i1abAgjMTz5AzHc+w2VhSbFIWhCTLvsY52BJvFxM5FmxUMKEiKHHINSUeTsV3usOXiG+0plPr9vRODgI2GWYG+w7+9BwgzoyGYYhrUaD8bOeX5Y9HBQiPMG/BVHo2Obsa62dOwEnVSSw/FriuIZvZ0GG6NnfZfkMoAch3LDHkmGOcXyHF5qUJpWVfyFUiZJkfT60gSuJMpIQp7ETLPYCpVWypcWRp6bOQNzEonkTc1JrpWLunp45NBgSzIwaEvx/2JccCEgu3/lAk5x68F9tOCohxqYDFi6tx6uI6nFnuY8COd9/BqL8nrTOZECN2rPVjVeWsCd5Ylsx7e83gC81RqmsIjJLga0ueNuTFZsPmhCzglLUojmNJHFpi02H6IIAFwsGcgfdMk/CpRWUOuL6shft+k6aIOJsTpBTi5rZ0au3uUwPE9Wos/E/X0uBvigs8oskYC7a2zI67drqcPaEcKrUlu3ZfrmNDe5g6lLU51zUQHG04RzGqrkpW3nBxZf2sCV5VOiS9cmeuc1s3pgMFDKIiaz3tgABmB+c6hVBcMB0nEmLvWvQUhhDCyMC7pwn8yJwEViVihfrsjiw9vi1PlUnfUcQB0ppOnQpDYm0iIgBx1f+n/utPCkheG3vReJr6/plqzu4efeDlvZmWrkEa8JVE6SEqodgDoxNjRst0GEmrrbp6ZrLuhovLJ/OkntuZ61rdZgaEFD4yU5xGscpYZgmLNvZ4gMTJoMvI4oBD1qLmiGYtfnSOj9fNCjAyBC/uGqSaCg9Wbs9SV1ZC4HEkEaAk4Jb2TGrN7gN17ENGYzIFdjzctdS/o2QNRnaqmlUW6YQk63cPhlkhJAW+AiUVSVbOhXDJtNeWhAm1yoahGsxEsmGiqr5lQdW0hCfE6/uiQ8/vzh8ikArBhWHpTMfpFmaLEIXsl30pFxIETx7J4p0Lk2JRvYddgxp+8HKv3bE/DwlfQTLhQ+D7zk+wB2anuqk90zlqQIRgch/SEhf33JNoLvWHI5oMr06oLWquSrmtF8p6kofsShVOdvNfZomT6sbIMLIyl8/5A9lQ1I+RY26/bEz9+DLhb+/S6Se353sHQkCOUoaBIFIs0BxATsXGsj4fWlHhE37y8qScPdHDvQdC+o+XDtqDOYLyhOciNherlYy1RRx2ETe2ZTrX7hkdQ5gdIanP9y6V/3lcVD1R2LWWs9GCKmDnJV19gWsg4ClXJkPOWYyxypLAyBipDckwCr2BTE5Werb8tgVjp54/wSs7kLbR09tzB3cdpFA43UIeRxwGxRjiyIO5yOB5Y4X62MKkVzdG4rZUjh549aDJGgFlgc81WJfaC+k03eF0XqJjyP41e3rrEicxGaEC3lDzUO8/+B8rNZWT+pBhpOJRP61upyn7+mjswkm4/4IJ2Oe0BVkuCgkGJZvP+/kwlFEYJT40p2LSVeeVj+UHbEzpzOst+XRqEEzIStcSm5KsLVdq8RTpXzMz8KRA+N2etHmoqU8blJj0fOQNMKwtXGg8LE+cpOOFwk3t2e6TmYzyAtCWfhPq4KOHvoL9w83xpMLs2Js4++jJQuI7q/Q1nIxNqYD+LyyWTVwyZMb0ZW3ikR10cX/O+tdPs+1Ty3OZgUzea6j1x94wu6JmyhhXfIDetDUHc1wKJBybEKKmwjlYOJjW9MTmgeiVtzIm4XvgFcCI/W0xuT5KsbIPgY1tmQNrdvdOGcmpqqCM1eVvh0Ti5oF78OBIC35SQIryuPgAXyK1D1Dy++v01Vwqq0niwBcWyfUWAT200NRJNY/uoLlcGG2otj1/fqFtGUyHQSanJaL150yUYy6fVlFZP04GSc8lGJSNLLX3RWZDa1qvbclFA3nAsjIffClRKC4XssdyLsYNg9MLRj/WKkS+QNzYke19bdeBqceZjPRBJSq4/PhkaIJPjMSMUZmMkmjzESlPgnbVMHCqkDqGIPn9NdFhQD5/hVzHOSTL0KZOmrBip7mUBzy3Frs/fBHszeSiIIyMyoZaZcJIkjEqochL+kpZY+VgaCGbJ4wsiERCoZIeCimE4FDMuUOh8sdlzGLVq6BsXUbvSwFNrem+13cfqi8FRAQVnNhl0Qu+3jXY/C1obAhdb+CI1DmOKCMyhMH45R49840U1M0cj723NIidnJkOC8giuZbjmIdI61O29rEiIBOw668aoDkTks/ZbaS10saqvLZSR5GKuMZqXEGa/aIQ7AxAChRxqYsPy1PiyjUSJ1poCn6+YDyuQBF4itbtS/e/uqt3hgPES4L0AhAy+J1V6qs9S5OvQONLCrb3EKy4mR85YvNmWED4ZaEF/NYqc3U2ogRvA136LvXa+DLMcZhJMUNKTObzi+RazrgDiXZth61dvsPMjxki9t/SALtzGjzWHOCKzEYYa2UuYhlvlTWF+gi5HicnK8WitGttsNLoyaPqGBD+5AobVScsq5RCqY67PESBQFjXls282jw0I5AE5JevEcJflovkyqGhdBoqeNCpCA69Zc8AEMRvrzLvyWmblIj6S1fK16tPAEicZAE1dULN8u16AbN93kTReVsDvZkNgckjerMi8eu9pl5JoGunU1dSAnGFnnWJRMCcJuVxOlAoR/J0DSIu36Vqe7PgVfmob78k6mG2uDIFSzmBFAgSa1vzqVeaM9uU570oyGxA8gbABwojPz8A6dxZA4TZ03GMU/3iFWoN27evwK5PUe3y7aYEENyZi4znKaRnd+P0V9vsdJ7MTRdAy6JJcDDU5HE0Xd8B1as6sHZCGYQ3nm/2B5wvs1AzIB7arqaExiophPnri8P9ZQrjMkWsy8AXEGxM6Ydf3NT+Q1leEQD4YCVmPS2yIfq5Pzwgi+Ua7g4pQbYpRTWPbjcLY4Zg6tYGsSPS4PnK0lM77flrUzCN88IbZsqWd9WZ7rwFxUx4aKuY2TFEVZzQ3XaJaZlaCTl25FlN8ufb5LTQsj8H87EG05rkNCpunbpqUiAxaGoPV7y4ufNnJAMp/ET4zgJyhQMEPGSG2NpSQG5rENtDA8oXlp7ZDeevardc3YcbZ8q9V06x3XkDLIDhZ1vgwo4hGsM1z9tm2+b6KsiyCs4bFD/dDDPzBj0lUN85175Vpkq2LyNSQkKwti164lebOh46RwBRa5jgvsRjABEdt88R2/OGVCCsffpNO2tVu2t3wI2zRPNV9dDpAAGABzfTJalBGstVsdvn4q4ZlTbLOU7OoFi2CS/KGfI9idEn59k9SXWkssdyxFcQrG+LnvrlGx0PnzOAsG4KBJi1Kap9dJu+zJlMLXbcPk9ujQx4PpJ98k07c3W7PZ8B+eBM3PPeGbIjG1nFruDBTdDQMUTjGJA75+H26WMgrQFFPrTyJ29AQ9aA7wmIPr0AdpZzK9YV6mPp7jNDWvLPPNeUWk6eL955k2EfIjEGpN3WPrrDOEDm1mLHHfPEVjaZQKJ5cqe5oAjIhy6Qb14zDTtihlhatonmtg3QeAbk4/Nwy4xxOORyIgPixxtoXk5DwIB89nK5pUzxv0AcaTUHEhOv78s989y6lsfJKz97gHxrlb46r2MdsuRK9RqH3TjKQPJ7a6NrpACoLsPBLy2Wq9nbJxQyQyY+sk0vZIk1twZTd1wqtkQaZKDQPL7TXLSm3Z7nGDJLvvne6dgW8tYzBPrxG2Z+apDGc2Hok/PlpvPG4aDWVuQtiAfW2YWhgUAJjD53GWysSCAr58JB4EkRrPp95pfPrmt94qwA4iIagn1wo1mwq5cmTqrA/rsXyXWyEOayGuQD6/QVB7JQMX+SaP/beWIbN6wUArUOQOWPNphFWQ3qzy4Quz4wU7RkI1IMyKo2W7dip5nLHa5PXCo2XlyDByMLUgmwT+3UF6zqgOkVCsLPLRYbxgYitNw3+/9tnMs20ZyWPhpfX4X9n5oPW4Vr5xzZ95HwZPDq3vTzK9e1PnXWAOFKXl6D7ByyFTVlMlPhU+TalzFYNBCCfzALyckVMOjHxfBYGiBQdwbKchrU1EocLO51KTSkqGOQKvmaSeWQdk00y3V3BK2NaB+EiqqECCckuWTh2nlce6dsCKorQ2U1ZZSr8MThcbh2bdyXSbzy+/T/rlzT+vRZA6SQPAFv5eR+bBGMIlGVa8ATcUvz2MSAJywEkjbEeQmU9gP5PgZHs+AoaUy5Jg1fyo10E+89OdILJ2D2sWbn80VbKZ4PJCRe3pt54emmlmdIlOPb7lRHqhWc7u/FZlcpMAyK27YQb9eK0/rCDN0WLjYJV7E7+eZe38Pg5eahF59uan17AFl+Nz3Rn4fkcJ270wXhVO7jCpkDplCeLL33qM5qYUNQfPGRnXUJHxOv7c38+vHVLSvZZKQM8sYXOZbuUcLL9ucz+dHnMjeT/NFX4L8qPJqtCdzWv9L3uhLy23AM1zMuPpaVKm+Xciwh3o94pJRb+uriNfwb31M8Egr8xzYNPPLC5v0vgR8IwYCAyHmeyEbCy50aIAAw6/s0df5kWMytRVLcATAKwEjUbgeyArDxdilutx27yeVtAOtMHsGmF1rKrW8d2prL6BClMpJEqAOR00ZkPfByfZANR8+Q40eD8MU9/rgp1Ykwp5NeNBRYJN8LjWsbEOiTG/WZzPA07yWZkCA9EiC19mUotcpH6OW8RJQ/1JUOId2loe5ZA41fdZsYRnrN0XsOGhsFwJ3+eKryI/R8X4WBJu1bIz1fRpLCAiDSe1vM6DTnPuxtXERBn2wESiNY7WmZzwdBPpD58EB2KAJo0QAv21MHpPcOD6ZVqrHpwNOQ9wOlPAOhIs3/JQxIZoQtwW/n7E7jWa6FDrwvyVrusedFEKpQR33l+QhaBzVUt5vTAyR1k4TyiapmTCDDwPdsXkjrCZmErIAQkLxzExDGEJFsFqwVUdJIMNqDSPdwjpjqNUfKh+7KUZoMK4HG30mAWgH9VRLqPDF+yJP8T/Xcgy0uHPnnFigYxsEZAyLMu+2O9mBFZCCdNQAZC9BtS9jhgtnofIgD5D4EuFY4UHp9hGqF0K8QxkiE8oJgOA1K/0FuSRcUXr8h0DkL+X4LdYN0BIwTs8OdPXqghf1dDMr22QgNNfH5VCVCXXK4TV9/kHme0ktS2Xj1GQhuOzTsoNiRHp7uCQPCsZMs9MMKQ3BsKRwM0B/DwQAUj8NAjA6MYRhy0hmfy6C8LVLg/wD5mj8kI0DCbQAAAABJRU5ErkJggg==",$Y="data:image/png;base64,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",eX="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAsCAYAAAA5KtvpAAAAAXNSR0IArs4c6QAABFJJREFUaEPtml9MW1Ucxz+nlxbaUkYvYjdENG7RiEg6jNGQ+aIx08SE6IvZxGS+qGGPPjnj2+J8MIuJMVk00Zgg0zc1Rpm+Gf+M+GdkZKhT4gyMjnWllJWWtrf3mNPLHJcWaBmlXcMvaV96fufez/n+fuf8zjkV/a8ZBzB5R4JO7VpICHlo8A3nt6L/VWNSIttrl9UiEzAyeMz5sOg/khmTkq7aBxbfDB6r2y8OHZFBjzf7rt5Mb61ChyOcWkxrhz86KiaEggxF5Aum5INaBRaCJ9taxPBSaG8D15zQVaVwnQaao/QxlhLSxnU/1Y+RLdxP1QA7BAT8IHIzSekWjUMyBS1NUO+EuTgkUvn9lB84mwVNK4pA921c4bkFS1V/IzS4QA3AYroCwM2nBpnf14fp9RUFvRmNVLSYskIh3XryOMJIc+WZw1sKvdrAlT2kFbAzPEVGDxB5eqDi0EUDzyetSWC1UFk+oq74LPqFURrD/9AUOo8jm8n9nNwR4M/HBzDc5Q1vhwO8LvC5N5jDV5MQXVg/u1wLUe789TP8F88hpFnQIdkUYPyxATJlhlYPb/WBu97+GkUpHJ6HZIEZb3lX/qkx9vw0hJYpsBasQE807+LsE6+AkqKM1tgAeuMGgC/HYNGKyoKmFL37uw9XVXW5k3Ro/NX7PLMd3WVEtbr21kPLiuwpSuG1gLVUguCXb+JMxdcF2ErYsgHfNfIpt06M5GANl4doWyfzgT25HM3U+9h9eghP7BKbBauKi08+t9eNDg0O9uUXN5uusGdumu6v3iLT4ONCTx+RjmBeXt7/9XE8sdCmhbECPjG4rHAG6jTBy/1bANx+dhjPXIiJh54lW+8pGNJdw28z3floSTkbnoVozF4qteoC/w4wDDjxcYWAO377gsngU8g1ZltP9CIJ/23r5vfyBj/8YnLmnH1Z631Ao6dL5OrlyihsmjiyBqbTVRKMamxm4cy4XUG1LQzeZ22V1gSupMIlky45pDPw3pA9LJ11gpees/KwOhVeh/bvfyVTIbuKu+8Q3L5LcEPA1arw9z+bjI7b83DfgxrBzhsErlgOAwsJu8xqH+peKtjLBlwphVNpeP+kPQ9dTsGLB608LBtwpRTeBga2Fa6lSaumQ3r2KsRX7OtvBuAmNzR7N3AAkMnCzJz9PKvagVWpurM5/5y7qAMANUZZE1KZ69DqfH30D3slpfYQe++16uHJS3A5Yv+9PSAI3GL1Nfr7Cl8Bezst36kZmLlS2Nc08+vw3HOXfJW/ur1wu0DVBSutaOCN1s3V5rcNvNaFuAoVV121aZb/PmpzsspNiwr34i/Er93MVTtyYhHU5VohKwnY2wDqU82m7orjydXP0UsCrmbQYt8tD3g6IvdLSe5PH7VomoPunboYyy1f6ktK2TAdYRS4p+aABT+26TwihMidTPy/TM/EZcBY5HUEPUJyE8zL60gjSEk47RYc1XURu9b6P7vslVpOgNBqAAAAAElFTkSuQmCC",tX="data:image/png;base64,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",nX="data:image/png;base64,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",SI={wave:"wave___rx4XG",fillWrap:"fillWrap___q512j",svgBox:"svgBox___DfbUu"},rX=Object.defineProperty,HR=Object.getOwnPropertySymbols,iX=Object.prototype.hasOwnProperty,oX=Object.prototype.propertyIsEnumerable,VR=(b,x,E)=>x in b?rX(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,aX=(b,x)=>{for(var E in x||(x={}))iX.call(x,E)&&VR(b,E,x[E]);if(HR)for(var E of HR(x))oX.call(x,E)&&VR(b,E,x[E]);return b};const j$=b=>React.createElement("svg",aX({width:449,height:204,xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},b),React.createElement("title",null,"\u6CE2\u7EB9"),React.createElement("defs",null,React.createElement("linearGradient",{x1:"50%",y1:"41.532%",x2:"51.437%",y2:"65.254%",id:"water_svg__c"},React.createElement("stop",{stopColor:"#34D5A2",offset:"0%"}),React.createElement("stop",{stopColor:"#1D9F76",offset:"100%"})),React.createElement("path",{id:"water_svg__a",d:"M0 0h449v204H0z"})),React.createElement("g",{fill:"none",fillRule:"evenodd"},React.createElement("mask",{id:"water_svg__b",fill:"#fff"},React.createElement("use",{xlinkHref:"#water_svg__a"})),React.createElement("g",{mask:"url(#water_svg__b)"},React.createElement("path",{d:"M0 7.704c14.667 8 29.667 8 45 0 6.537-3.41 23.776-14.982 45 0 17 12 29 9 45 0s31-9 45 0c25 17 35 8 45 0s32.344-7.91 45 0c16 10 32 10 45 0 10.947-8.42 33.124-8.71 45 0 15 11 31.839 11.136 45 0 13-11 30-9.517 45 0s15 17 45 0v196H0v-196Z",fill:"url(#water_svg__c)",transform:"translate(-40)"}),React.createElement("path",{d:"M0 11c14.667 8 29.667 8 45 0 6.537-3.41 23.776-14.982 45 0 17 12 29 9 45 0s31-9 45 0c25 17 35 8 45 0s32.344-7.91 45 0c16 10 32 10 45 0 10.947-8.42 33.124-8.71 45 0 15 11 31.839 11.137 45 0 13-11 30-10 45 0s15 17 45 0v193H0V11Z",fill:"#38E5AE"}))));var sX="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQ5IiBoZWlnaHQ9IjIwNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSI1MCUiIHkxPSI0MS41MzIlIiB4Mj0iNTEuNDM3JSIgeTI9IjY1LjI1NCUiIGlkPSJjIj48c3RvcCBzdG9wLWNvbG9yPSIjMzRENUEyIiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzFEOUY3NiIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBpZD0iYSIgZD0iTTAgMGg0NDl2MjA0SDB6Ii8+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PG1hc2sgaWQ9ImIiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2EiLz48L21hc2s+PGcgbWFzaz0idXJsKCNiKSI+PHBhdGggZD0iTTAgNy43MDRjMTQuNjY3IDggMjkuNjY3IDggNDUgMCA2LjUzNy0zLjQxIDIzLjc3Ni0xNC45ODIgNDUgMCAxNyAxMiAyOSA5IDQ1IDBzMzEtOSA0NSAwYzI1IDE3IDM1IDggNDUgMHMzMi4zNDQtNy45MSA0NSAwYzE2IDEwIDMyIDEwIDQ1IDAgMTAuOTQ3LTguNDIgMzMuMTI0LTguNzEgNDUgMCAxNSAxMSAzMS44MzkgMTEuMTM2IDQ1IDAgMTMtMTEgMzAtOS41MTcgNDUgMHMxNSAxNyA0NSAwdjE5Nkgwdi0xOTZaIiBmaWxsPSJ1cmwoI2MpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDApIi8+PHBhdGggZD0iTTAgMTFjMTQuNjY3IDggMjkuNjY3IDggNDUgMCA2LjUzNy0zLjQxIDIzLjc3Ni0xNC45ODIgNDUgMCAxNyAxMiAyOSA5IDQ1IDBzMzEtOSA0NSAwYzI1IDE3IDM1IDggNDUgMHMzMi4zNDQtNy45MSA0NSAwYzE2IDEwIDMyIDEwIDQ1IDAgMTAuOTQ3LTguNDIgMzMuMTI0LTguNzEgNDUgMCAxNSAxMSAzMS44MzkgMTEuMTM3IDQ1IDAgMTMtMTEgMzAtMTAgNDUgMHMxNSAxNyA0NSAwdjE5M0gwVjExWiIgZmlsbD0iIzM4RTVBRSIvPjwvZz48L2c+PC9zdmc+",lX=({percentage:b,size:x=180,unit:E="rem"})=>{const[z,te]=(0,Ue.useState)(["",""]),[re,oe]=(0,Ue.useState)(0),le=(0,Ue.useRef)(null),he=(0,Ue.useRef)(null);(0,Ue.useEffect)(()=>(le.current&&(clearTimeout(he.current),he.current=setTimeout(()=>{var Xe;const qe=re+20;qe+x>((Xe=le.current)==null?void 0:Xe.offsetWidth)-40&&te([...z,""]),oe(qe)},200)),()=>{clearTimeout(he.current)}),[le.current,re]),(0,Ue.useEffect)(()=>(window.addEventListener("resize",ge),()=>{window.removeEventListener("resize",ge)}),[]);const ge=()=>{oe(0)},Ae={width:x+E,height:x+E},Pe=148-x*(b/100),We=()=>Ue.createElement("img",{src:sX,style:{width:`449${E}`,height:`204${E}`}});return Ue.createElement("div",{className:SI.wave,style:Ae},Ue.createElement("div",{className:SI.fillWrap},Ue.createElement("div",{style:{fontSize:`28${E}`,zIndex:2,color:"#fff"}},b,"%"),Ue.createElement("div",{className:SI.svgBox,ref:le,style:{top:Pe+E,transform:`translateX(-${re}px)`}},z.map((Xe,qe)=>Ue.createElement(We,{key:qe})))))},o1={trapezoid:"trapezoid___qw8yM",pillarBox:"pillarBox___rGJCP",pillar1:"pillar1___uJ0zx",point:"point____XIHt",pillar2:"pillar2___pL9k5",pillar3:"pillar3___dUdZf",textBox:"textBox___isldE",text1:"text1___g5Hy9",tip:"tip___PXfJr",line:"line___A5wA_",l:"l___hfZzL",text2:"text2___u2scn",text3:"text3___WSnmy"},uX=Object.defineProperty,cX=Object.defineProperties,hX=Object.getOwnPropertyDescriptors,KR=Object.getOwnPropertySymbols,dX=Object.prototype.hasOwnProperty,fX=Object.prototype.propertyIsEnumerable,ZR=(b,x,E)=>x in b?uX(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,YR=(b,x)=>{for(var E in x||(x={}))dX.call(x,E)&&ZR(b,E,x[E]);if(KR)for(var E of KR(x))fX.call(x,E)&&ZR(b,E,x[E]);return b},XR=(b,x)=>cX(b,hX(x)),gX=({dataSource:b=[]})=>{const[x,E]=(0,Ue.useState)([]),[z,te]=(0,Ue.useState)(0),re=(0,Ue.useRef)(String(Math.random()).slice(-6));(0,Ue.useEffect)(()=>{if(b!=null&&b.length){const ge=he(b),Ae=b.map((Pe,We)=>XR(YR({value:Pe,lineWidth:30,pillarWidth:104+ge[We]},le[We]),{from:le[We].from+re.current,to:le[We].to+re.current}));E(Ae),te(z+1)}},[JSON.stringify(b)]),(0,Ue.useEffect)(()=>{z>0&&oe()},[z]),(0,Ue.useEffect)(()=>(window.addEventListener("resize",oe),()=>{window.removeEventListener("resize",oe)}),[z]);const oe=()=>{const ge=x.map((Ae,Pe)=>{const{from:We,to:Xe}=Ae,qe=document.querySelector(`#${We}`),nt=document.querySelector(`#${Xe}`),at=qe.getBoundingClientRect(),pt=nt.getBoundingClientRect(),mt=Math.abs(pt.left-at.left);return XR(YR({},Ae),{lineWidth:mt})});E(ge)},le=[{title:"\u5B8C\u6210\u738780%\uFF5E100%",pillarTitle:"80\uFF5E100%",from:"lineStart1",to:"lineEnd1"},{title:"\u5B8C\u6210\u738760%\uFF5E79%",pillarTitle:"60\uFF5E79%",from:"lineStart2",to:"lineEnd2"},{title:"\u5B8C\u6210\u738759%\u4EE5\u4E0B",pillarTitle:"59%\u4EE5\u4E0B",from:"lineStart3",to:"lineEnd3"}];function he(ge){const Ae=ge.reduce((Pe,We)=>Pe+We,0);return ge.map(Pe=>Pe/Ae*100)}return Ue.createElement("div",{className:o1.trapezoid},Ue.createElement("div",{className:o1.textBox},x.map((ge,Ae)=>{const{value:Pe,lineWidth:We,title:Xe,from:qe}=ge,nt=Ae+1;return Ue.createElement("div",{key:Ae,className:o1[`text${nt}`]},Ue.createElement("div",{className:o1.tip},Xe,Ue.createElement("span",null,Pe)),Ue.createElement("div",{id:qe,className:o1.line},Ue.createElement("div",{style:{width:We},className:o1.l})))})),Ue.createElement("div",{className:o1.pillarBox},x.map((ge,Ae)=>{const{pillarWidth:Pe,pillarTitle:We,to:Xe}=ge,qe=Ae+1;return Ue.createElement("div",{key:Ae,className:o1[`pillar${qe}`],style:{width:Pe+"rem"}},Ue.createElement("span",null,We),Ue.createElement("div",{id:Xe,className:o1.point}))})))},$s=Oe(59301),pX=Object.defineProperty,QR=Object.getOwnPropertySymbols,vX=Object.prototype.hasOwnProperty,mX=Object.prototype.propertyIsEnumerable,JR=(b,x,E)=>x in b?pX(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,wI=(b,x)=>{for(var E in x||(x={}))vX.call(x,E)&&JR(b,E,x[E]);if(QR)for(var E of QR(x))mX.call(x,E)&&JR(b,E,x[E]);return b},yX=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())}),xX=({subjectId:b,uuid:x,isAll:E})=>{const[z,te]=(0,Ue.useState)(!1),[re,oe]=(0,Ue.useState)({type:0,course_id:null}),[le,he]=(0,Ue.useState)(!0),[ge,Ae]=(0,Ue.useState)(!0),[Pe,We]=(0,Ue.useState)([]),[Xe]=(0,Ne.useSearchParams)(),[qe,nt]=(0,Ue.useState)({graphCount:0,tagCount:0,resourceCount:0,proportionCount:0}),at=[{name:"",value:0,itemStyle:{color:"rgb(223,209,38)"}},{name:"",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"",value:0,itemStyle:{color:"rgb(6,110,247)"}}],[pt,mt]=(0,Ue.useState)({averageCompletionRate:0,averageMasteryRate:0,completionRate:[0,0,0],masteryRate:at});(0,Ue.useEffect)(()=>{z?bt(re):oe({type:0,course_id:null})},[z]),(0,Ue.useEffect)(()=>{z&&te(!1)},[x]);const bt=(Qt,Vt=!1)=>yX(void 0,null,function*(){var vn,wn,kn,Vn,vr,or,Or,qr,wr,Sr;Vt?Ae(!0):he(!0);const Tr=yield(0,kt.ZP)(E?"/api/knowledge/v2/subject_statistics.json":"/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:wI({subject_id:b,parentNodeUuid:x,labels:"\u56FE\u8C31,\u6807\u7B7E,\u8D44\u6E90",depth:-1},Qt)});if((Tr==null?void 0:Tr.status)===0){let ri=(vn=Tr==null?void 0:Tr.data)==null?void 0:vn.metricCounters;ri=ri||[];const Cr={graphCount:((wn=ri.find(vi=>(vi==null?void 0:vi.name)==="\u56FE\u8C31"))==null?void 0:wn.count)||0,tagCount:((kn=ri.find(vi=>(vi==null?void 0:vi.name)==="\u6807\u7B7E"))==null?void 0:kn.count)||0,resourceCount:((Vn=ri.find(vi=>(vi==null?void 0:vi.name)==="\u8D44\u6E90"))==null?void 0:Vn.count)||0,proportionCount:(vr=Tr==null?void 0:Tr.data)==null?void 0:vr.resource_rate};let yi=Object.entries((or=Tr==null?void 0:Tr.data)==null?void 0:or.study_grasp_hash).map(([vi,Mi],$i)=>({name:vi,value:Mi,itemStyle:at[$i].itemStyle}));const Co={averageCompletionRate:(Or=Tr==null?void 0:Tr.data)==null?void 0:Or.study_complete_rate,averageMasteryRate:(qr=Tr==null?void 0:Tr.data)==null?void 0:qr.study_grasp_rate,completionRate:Object.values((wr=Tr==null?void 0:Tr.data)==null?void 0:wr.study_complete_hash),masteryRate:yi};console.log(yi,"newMasteryRate");const wo=(Sr=Tr==null?void 0:Tr.courses)==null?void 0:Sr.map(vi=>({label:vi.name,value:vi.id}));We(wo),nt(Cr),mt(Co)}setTimeout(()=>{he(!1)},500),Ae(!1)}),jt=Qt=>{re.type=Qt,oe(wI({},re)),(Qt!==2||re.course_id)&&bt(re,!0)},Ut=Qt=>{re.course_id=Qt,oe(wI({},re)),bt(re,!0)},Kt=[{name:"\u5168\u90E8",id:0},{name:"\u81EA\u4E3B\u5B66\u4E60",id:1},{name:"\u8BFE\u5802\u5B66\u4E60",id:2}];return $s.createElement(Pi,null,$s.createElement("div",{className:Hh.statistics},$s.createElement("div",{onClick:()=>te(!0),className:Hh.noUnfold},$s.createElement("img",{style:{width:"32rem",marginBottom:"4rem"},src:qY}),$s.createElement("span",null,"\u7EDF"),$s.createElement("span",null,"\u8BA1")),$s.createElement("div",{className:Hh.wrapBox,style:{right:z?0:"-600rem"}},le&&$s.createElement(Xt.Z,{style:{width:"100%",marginTop:"200rem"},spinning:!0}),!le&&$s.createElement($s.Fragment,null,$s.createElement("div",{className:Hh.scrollBox},$s.createElement("div",{className:Hh.content},$s.createElement("div",{className:Hh.title},$s.createElement("img",{src:$Y}),$s.createElement("span",null,"\u56FE\u8C31\u7EDF\u8BA1\u5206\u6790")),$s.createElement(Me.Z,{className:Hh.box,justify:"space-between"},$s.createElement("div",{className:Hh.left},$s.createElement("div",null,$s.createElement("span",null,"\u77E5\u8BC6\u56FE\u8C31\u6570\u91CF"),$s.createElement("b",null,qe==null?void 0:qe.graphCount)),$s.createElement("div",{style:{margin:"18rem 0"}},$s.createElement("span",null,"\u6807\u7B7E\u8282\u70B9\u6570\u91CF"),$s.createElement("b",null,qe==null?void 0:qe.tagCount)),$s.createElement("div",null,$s.createElement("span",null,"\u8D44\u6E90\u8282\u70B9\u6570\u91CF"),$s.createElement("b",null,qe==null?void 0:qe.resourceCount))),$s.createElement("div",{className:Hh.right},z&&$s.createElement(lX,{percentage:qe==null?void 0:qe.proportionCount}),$s.createElement("div",{className:"c-white",style:{marginTop:"20rem",fontSize:"14rem"}},"\u5DF2\u5173\u8054\u8D44\u6E90\u7684\u6807\u7B7E\u8282\u70B9\u5360\u6BD4"))),$s.createElement("div",{style:{marginTop:"20rem"},className:Hh.title},$s.createElement("img",{src:eX}),$s.createElement("span",null,"\u5B66\u4E60\u7EDF\u8BA1\u5206\u6790")),$s.createElement("div",{className:Hh.box},Xe.get("type")!=="classrooms"&&$s.createElement("div",{className:Hh.head},$s.createElement("span",{style:{marginRight:"10rem",fontSize:"16rem"}},"\u7EDF\u8BA1\u8303\u56F4"),$s.createElement("div",{className:Hh.radio},Kt.map(Qt=>$s.createElement("div",{className:re.type===Qt.id?Hh.active:"",key:Qt.id,onClick:()=>jt(Qt.id)},$s.createElement("b",null),$s.createElement("span",null,Qt.name)))),re.type===2&&$s.createElement(Ie.default,{className:Hh.select,options:Pe,value:re==null?void 0:re.course_id,onChange:Ut,placeholder:"\u8BF7\u9009\u62E9",getPopupContainer:Qt=>Qt.parentNode,style:{width:"156rem",marginLeft:"10rem"},suffixIcon:$s.createElement("i",{className:"iconfont icon-a-bianzu11",style:{color:"#1B8565",fontSize:"16rem"}})})),$s.createElement(Xt.Z,{spinning:ge},$s.createElement("div",{className:Hh.average},$s.createElement("div",{className:Hh.li},$s.createElement("img",{src:tX,style:{marginLeft:0}}),$s.createElement("aside",{className:Hh.yellow},$s.createElement("div",{style:{fontSize:"16rem"}},"\u5E73\u5747\u5B8C\u6210\u7387"),$s.createElement("div",null,$s.createElement("b",{style:{fontSize:"40rem"}},pt==null?void 0:pt.averageCompletionRate),$s.createElement("span",{style:{fontSize:"20rem"}},"%")))),$s.createElement("div",{className:Hh.li},$s.createElement("img",{src:nX}),$s.createElement("aside",{className:Hh.blue},$s.createElement("div",{style:{fontSize:"16rem"}},"\u5E73\u5747\u638C\u63E1\u7387"),$s.createElement("div",null,$s.createElement("b",{style:{fontSize:"40rem"}},pt==null?void 0:pt.averageMasteryRate),$s.createElement("span",{style:{fontSize:"20rem"}},"%"))))),$s.createElement("div",{className:Hh.lineTitle},$s.createElement("b",null),$s.createElement("span",null,"\u5B8C\u6210\u7387"),$s.createElement("b",null)),$s.createElement("div",{className:Hh.echartsTwo},$s.createElement(gX,{dataSource:pt==null?void 0:pt.completionRate})),$s.createElement("div",{className:Hh.lineTitle,style:{marginTop:"40rem"}},$s.createElement("b",null),$s.createElement("span",null,"\u638C\u63E1\u7387"),$s.createElement("b",null)),$s.createElement("div",{className:Hh.echartsThree},$s.createElement(kh,{dataSource:pt==null?void 0:pt.masteryRate})))))),z&&$s.createElement("div",{onClick:()=>te(!1),className:Hh.unfold})))))},Rd={statistics:"statistics___BZJje",noUnfold:"noUnfold___L4va9",wrapBox:"wrapBox___tHLW6",scrollBox:"scrollBox___m8AGu",content:"content____Gl9N",title:"title___SAaGy",top:"top___h1nbU",topLi:"topLi___Ib2Tu",bottom:"bottom___ZKnwW",bottomLi:"bottomLi___YAGiM",echarts:"echarts___M5Dkf",name:"name___XhFko",unfold:"unfold___I5om1",select:"select___TcV_B"},EX="data:image/png;base64,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",AX="data:image/png;base64,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",SX="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAsCAYAAAA5KtvpAAAAAXNSR0IArs4c6QAABFJJREFUaEPtml9MW1Ucxz+nlxbaUkYvYjdENG7RiEg6jNGQ+aIx08SE6IvZxGS+qGGPPjnj2+J8MIuJMVk00Zgg0zc1Rpm+Gf+M+GdkZKhT4gyMjnWllJWWtrf3mNPLHJcWaBmlXcMvaV96fufez/n+fuf8zjkV/a8ZBzB5R4JO7VpICHlo8A3nt6L/VWNSIttrl9UiEzAyeMz5sOg/khmTkq7aBxbfDB6r2y8OHZFBjzf7rt5Mb61ChyOcWkxrhz86KiaEggxF5Aum5INaBRaCJ9taxPBSaG8D15zQVaVwnQaao/QxlhLSxnU/1Y+RLdxP1QA7BAT8IHIzSekWjUMyBS1NUO+EuTgkUvn9lB84mwVNK4pA921c4bkFS1V/IzS4QA3AYroCwM2nBpnf14fp9RUFvRmNVLSYskIh3XryOMJIc+WZw1sKvdrAlT2kFbAzPEVGDxB5eqDi0EUDzyetSWC1UFk+oq74LPqFURrD/9AUOo8jm8n9nNwR4M/HBzDc5Q1vhwO8LvC5N5jDV5MQXVg/u1wLUe789TP8F88hpFnQIdkUYPyxATJlhlYPb/WBu97+GkUpHJ6HZIEZb3lX/qkx9vw0hJYpsBasQE807+LsE6+AkqKM1tgAeuMGgC/HYNGKyoKmFL37uw9XVXW5k3Ro/NX7PLMd3WVEtbr21kPLiuwpSuG1gLVUguCXb+JMxdcF2ErYsgHfNfIpt06M5GANl4doWyfzgT25HM3U+9h9eghP7BKbBauKi08+t9eNDg0O9uUXN5uusGdumu6v3iLT4ONCTx+RjmBeXt7/9XE8sdCmhbECPjG4rHAG6jTBy/1bANx+dhjPXIiJh54lW+8pGNJdw28z3floSTkbnoVozF4qteoC/w4wDDjxcYWAO377gsngU8g1ZltP9CIJ/23r5vfyBj/8YnLmnH1Z631Ao6dL5OrlyihsmjiyBqbTVRKMamxm4cy4XUG1LQzeZ22V1gSupMIlky45pDPw3pA9LJ11gpees/KwOhVeh/bvfyVTIbuKu+8Q3L5LcEPA1arw9z+bjI7b83DfgxrBzhsErlgOAwsJu8xqH+peKtjLBlwphVNpeP+kPQ9dTsGLB608LBtwpRTeBga2Fa6lSaumQ3r2KsRX7OtvBuAmNzR7N3AAkMnCzJz9PKvagVWpurM5/5y7qAMANUZZE1KZ69DqfH30D3slpfYQe++16uHJS3A5Yv+9PSAI3GL1Nfr7Cl8Bezst36kZmLlS2Nc08+vw3HOXfJW/ur1wu0DVBSutaOCN1s3V5rcNvNaFuAoVV121aZb/PmpzsspNiwr34i/Er93MVTtyYhHU5VohKwnY2wDqU82m7orjydXP0UsCrmbQYt8tD3g6IvdLSe5PH7VomoPunboYyy1f6ktK2TAdYRS4p+aABT+26TwihMidTPy/TM/EZcBY5HUEPUJyE8zL60gjSEk47RYc1XURu9b6P7vslVpOgNBqAAAAAElFTkSuQmCC",wX=Oe.p+"static/a.d3f19668.png",CX=Oe.p+"static/b.ba7414bd.png",bX=Oe.p+"static/c.2b6f6bd3.png",PX=Oe.p+"static/d.f1216ccd.png",Mx={cylinder:"cylinder___rUBlO",cylinderBox:"cylinderBox___NurwX",cylinder1:"cylinder1___LPJD0",item1:"item1___ekrFi",item2:"item2___PuVOv",item3:"item3___x9UjL",point:"point___ZJ1ZD",cylinder2:"cylinder2___aQBbC",cylinder3:"cylinder3___lefpl",textBox:"textBox____wuhT"},MX=Object.defineProperty,LX=Object.defineProperties,TX=Object.getOwnPropertyDescriptors,qR=Object.getOwnPropertySymbols,DX=Object.prototype.hasOwnProperty,IX=Object.prototype.propertyIsEnumerable,$R=(b,x,E)=>x in b?MX(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,e4=(b,x)=>{for(var E in x||(x={}))DX.call(x,E)&&$R(b,E,x[E]);if(qR)for(var E of qR(x))IX.call(x,E)&&$R(b,E,x[E]);return b},t4=(b,x)=>LX(b,TX(x)),OX=({dataSource:b=[]})=>{const[x,E]=(0,Ue.useState)([]),[z,te]=(0,Ue.useState)(0),re=(0,Ue.useRef)(String(Math.random()).slice(-6));console.log(b,x,223),(0,Ue.useEffect)(()=>{if(b!=null&&b.length){const ge=he(b),Ae=b.map((Pe,We)=>t4(e4({value:Pe,lineWidth:30,cylinderWidth:40+ge[We]},le[We]),{from:le[We].from+re.current,to:le[We].to+re.current}));E(Ae),te(z+1)}},[JSON.stringify(b)]),(0,Ue.useEffect)(()=>{z>0&&oe()},[z]),(0,Ue.useEffect)(()=>(window.addEventListener("resize",oe),()=>{window.removeEventListener("resize",oe)}),[z]);const oe=()=>{const ge=x.map((Ae,Pe)=>{const{from:We,to:Xe}=Ae,qe=document.querySelector(`#${We}`),nt=document.querySelector(`#${Xe}`),at=qe.getBoundingClientRect(),pt=nt.getBoundingClientRect(),mt=Math.abs(pt.left-at.left);return t4(e4({},Ae),{lineWidth:mt})});E(ge)},le=[{title:"\u90E8\u5206\u638C\u63E1&nbsp;&nbsp;",from:"lineStart1",to:"lineEnd1"},{title:"\u5168\u90E8\u638C\u63E1&nbsp;&nbsp;",from:"lineStart2",to:"lineEnd2"},{title:"\u672A&nbsp;&nbsp;\u638C&nbsp;&nbsp;\u63E1&nbsp;&nbsp;",from:"lineStart3",to:"lineEnd3"}];function he(ge){const Ae=ge.reduce((Pe,We)=>Pe+We,0);return ge.map(Pe=>Pe/Ae*122)}return Ue.createElement("div",{className:Mx.cylinder},Ue.createElement("div",{className:Mx.cylinderBox},x.map((ge,Ae)=>{const{cylinderWidth:Pe,lineWidth:We,from:Xe}=ge,qe=Ae+1;return Ue.createElement("div",{key:qe,className:Mx[`cylinder${qe}`],style:{width:Pe+"rem"}},Ue.createElement("div",{className:Mx.item1}),Ue.createElement("div",{className:Mx.item2}),Ue.createElement("div",{className:Mx.item3}),Ue.createElement("div",{id:Xe,style:{width:We},className:Mx.point}))})),Ue.createElement("div",{className:Mx.textBox},x.map((ge,Ae)=>{const{title:Pe,to:We,value:Xe}=ge,qe=Ae+1;return Ue.createElement("div",{key:qe,id:We},Ue.createElement("span",{dangerouslySetInnerHTML:{__html:`${Pe}${Xe}%`}}))})))},Ml=Oe(59301),NX=Object.defineProperty,n4=Object.getOwnPropertySymbols,BX=Object.prototype.hasOwnProperty,RX=Object.prototype.propertyIsEnumerable,r4=(b,x,E)=>x in b?NX(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,i4=(b,x)=>{for(var E in x||(x={}))BX.call(x,E)&&r4(b,E,x[E]);if(n4)for(var E of n4(x))RX.call(x,E)&&r4(b,E,x[E]);return b},kX=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())}),FX=({subjectId:b,uuid:x,isAll:E})=>{const[z,te]=(0,Ue.useState)(!1),[re,oe]=(0,Ue.useState)({course_id:null}),[le,he]=(0,Ue.useState)(!0),[ge,Ae]=(0,Ue.useState)(!0),[Pe,We]=(0,Ue.useState)([]),[Xe]=(0,Ne.useSearchParams)(),[qe,nt]=(0,Ue.useState)({graphCount:0,tagCount:0,resourceCount:0,proportionCount:0}),at=[{name:"\u5DF2\u5B8C\u6210",value:0,itemStyle:{color:"rgb(223,209,38)"}},{name:"\u5F85\u5F00\u59CB",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"\u90E8\u5206\u5B8C\u6210",value:0,itemStyle:{color:"rgb(6,110,247)"}}],[pt,mt]=(0,Ue.useState)({averageCompletionRate:0,averageMasteryRate:0,completionRate:at,masteryRate:[0,0,0],course_rank_num:0,course_rank_all_num:0,system_rank_num:0,system_rank_all_num:0});(0,Ue.useEffect)(()=>{z?bt(re):oe({course_id:null})},[z]),(0,Ue.useEffect)(()=>{z&&te(!1)},[x]);const bt=(Ut,Kt=!1)=>kX(void 0,null,function*(){var Qt,Vt,vn,wn,kn,Vn,vr,or,Or,qr,wr,Sr,Tr,ri,Cr;Kt?Ae(!0):he(!0);const yi=yield(0,kt.ZP)(E?"/api/knowledge/v2/subject_statistics.json":"/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:i4({subject_id:b,parentNodeUuid:x,labels:"\u56FE\u8C31,\u6807\u7B7E,\u8D44\u6E90",depth:-1},Ut)});if((yi==null?void 0:yi.status)===0){let Co=(Qt=yi==null?void 0:yi.data)==null?void 0:Qt.metricCounters;Co=Co||[];const wo={graphCount:((Vt=Co.find(Lo=>(Lo==null?void 0:Lo.name)==="\u56FE\u8C31"))==null?void 0:Vt.count)||0,tagCount:((vn=Co.find(Lo=>(Lo==null?void 0:Lo.name)==="\u6807\u7B7E"))==null?void 0:vn.count)||0,resourceCount:((wn=Co.find(Lo=>(Lo==null?void 0:Lo.name)==="\u8D44\u6E90"))==null?void 0:wn.count)||0,proportionCount:(kn=yi==null?void 0:yi.data)==null?void 0:kn.resource_rate};let vi=Object.entries((Vn=yi==null?void 0:yi.data)==null?void 0:Vn.study_complete_hash).map(([Lo,Jo],Ta)=>({name:at[Ta].name,value:Jo,itemStyle:at[Ta].itemStyle}));const Mi={averageCompletionRate:(vr=yi==null?void 0:yi.data)==null?void 0:vr.study_complete_rate,averageMasteryRate:(or=yi==null?void 0:yi.data)==null?void 0:or.study_grasp_rate,completionRate:vi,masteryRate:Object.values((Or=yi==null?void 0:yi.data)==null?void 0:Or.study_grasp_hash),course_rank_num:(qr=yi==null?void 0:yi.data)==null?void 0:qr.course_rank_num,course_rank_all_num:(wr=yi==null?void 0:yi.data)==null?void 0:wr.course_rank_all_num,system_rank_num:(Sr=yi==null?void 0:yi.data)==null?void 0:Sr.system_rank_num,system_rank_all_num:(Tr=yi==null?void 0:yi.data)==null?void 0:Tr.system_rank_all_num},$i=(ri=yi==null?void 0:yi.courses)==null?void 0:ri.map(Lo=>({label:Lo.name,value:Lo.id}));We($i),nt(wo),mt(Mi),Kt||oe({course_id:((Cr=$i==null?void 0:$i[0])==null?void 0:Cr.value)||null})}setTimeout(()=>{he(!1)},500),Ae(!1)}),jt=Ut=>{re.course_id=Ut,oe(i4({},re)),bt(re,!0)};return Ml.createElement(Pi,null,Ml.createElement("div",{className:Rd.statistics},Ml.createElement("div",{onClick:()=>te(!0),className:Rd.noUnfold},Ml.createElement("img",{style:{width:"32rem",marginBottom:"4rem"},src:EX}),Ml.createElement("span",null,"\u7EDF"),Ml.createElement("span",null,"\u8BA1")),Ml.createElement("div",{className:Rd.wrapBox,style:{right:z?0:"-600rem"}},le&&Ml.createElement(Xt.Z,{style:{width:"100%",marginTop:"200rem"},spinning:!0}),!le&&Ml.createElement(Ml.Fragment,null,Ml.createElement("div",{className:Rd.scrollBox},Ml.createElement("div",{className:Rd.content},Ml.createElement("div",{className:Rd.title},Ml.createElement("img",{src:AX}),Ml.createElement("span",null,"\u56FE\u8C31\u7EDF\u8BA1\u5206\u6790")),Ml.createElement("div",{className:Rd.top},Ml.createElement("div",{className:Rd.topLi},Ml.createElement("div",null,qe==null?void 0:qe.graphCount),Ml.createElement("div",null,"\u77E5\u8BC6\u56FE\u8C31\u6570\u91CF")),Ml.createElement("div",{className:Rd.topLi},Ml.createElement("div",null,qe==null?void 0:qe.tagCount),Ml.createElement("div",null,"\u6807\u7B7E\u8282\u70B9\u6570\u91CF")),Ml.createElement("div",{className:Rd.topLi},Ml.createElement("div",null,qe==null?void 0:qe.resourceCount),Ml.createElement("div",null,"\u8D44\u6E90\u8282\u70B9\u6570\u91CF"))),Ml.createElement("div",{style:{marginTop:"20rem"},className:Rd.title},Ml.createElement("img",{src:SX}),Ml.createElement("span",null,"\u5B66\u4E60\u7EDF\u8BA1\u5206\u6790")),Ml.createElement(Xt.Z,{spinning:ge},Ml.createElement("div",{className:Rd.bottom},Ml.createElement("div",{className:Rd.bottomLi,style:{marginTop:"82rem",marginRight:"26rem"}},Xe.get("type")!=="classrooms"&&Ml.createElement(Ie.default,{className:Rd.select,options:Pe,value:re==null?void 0:re.course_id,size:"small",onChange:jt,placeholder:"\u8BF7\u9009\u62E9",getPopupContainer:Ut=>Ut.parentNode,style:{width:"222rem"},suffixIcon:Ml.createElement("i",{className:"iconfont icon-a-bianzu11",style:{color:"#fff",fontSize:"12rem"}})}),Ml.createElement("b",{style:{fontSize:"26rem",marginTop:"5rem"}},pt==null?void 0:pt.course_rank_num),Ml.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\u8BFE\u5802\u6392\u540D"),Ml.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\uFF08\u5171",pt==null?void 0:pt.course_rank_all_num,"\u4EBA\uFF09"),Ml.createElement("img",{src:wX})),Ml.createElement("div",{className:Rd.bottomLi,style:{marginTop:"82rem"}},Ml.createElement("b",{style:{fontSize:"26rem",marginTop:"30rem"}},pt==null?void 0:pt.system_rank_num),Ml.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\u7CFB\u7EDF\u6392\u540D"),Ml.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\uFF08\u5171",pt==null?void 0:pt.system_rank_all_num,"\u4EBA\uFF09"),Ml.createElement("img",{src:CX})),Ml.createElement("div",{className:Rd.bottomLi,style:{marginTop:"104rem",marginRight:"26rem"}},Ml.createElement("b",{style:{fontSize:"26rem",marginTop:"30rem"}},pt==null?void 0:pt.averageCompletionRate,"%"),Ml.createElement("div",{style:{fontSize:"14rem",marginTop:"2rem"}},"\u5E73\u5747\u5B8C\u6210\u7387"),Ml.createElement("img",{src:bX})),Ml.createElement("div",{className:Rd.bottomLi,style:{marginTop:"104rem"}},Ml.createElement("b",{style:{fontSize:"26rem",marginTop:"30rem"}},pt==null?void 0:pt.averageMasteryRate,"%"),Ml.createElement("div",{style:{fontSize:"14rem",marginTop:"2rem"}},"\u5E73\u5747\u638C\u63E1\u7387"),Ml.createElement("img",{src:PX})),Ml.createElement("div",{className:Rd.echarts},Ml.createElement("div",{className:Rd.name},"\u5B8C\u6210\u60C5\u51B5"),Ml.createElement(kh,{dataSource:pt==null?void 0:pt.completionRate})),Ml.createElement("div",{className:Rd.echarts},Ml.createElement("div",{className:Rd.name},"\u638C\u63E1\u60C5\u51B5"),Ml.createElement(OX,{dataSource:pt==null?void 0:pt.masteryRate})))))),z&&Ml.createElement("div",{onClick:()=>te(!1),className:Rd.unfold})))))},YS=Oe(59301),_X=Object.defineProperty,nT=Object.getOwnPropertySymbols,o4=Object.prototype.hasOwnProperty,a4=Object.prototype.propertyIsEnumerable,s4=(b,x,E)=>x in b?_X(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,rT=(b,x)=>{for(var E in x||(x={}))o4.call(x,E)&&s4(b,E,x[E]);if(nT)for(var E of nT(x))a4.call(x,E)&&s4(b,E,x[E]);return b},zX=(b,x)=>{var E={};for(var z in b)o4.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&nT)for(var z of nT(b))x.indexOf(z)<0&&a4.call(b,z)&&(E[z]=b[z]);return E},l4=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())});const jX=b=>{var x=b,{pathsDetail:E,user:z,globalSetting:te,loading:re,dispatch:oe,tpacti:le,settupuname:he,settpacti:ge}=x,Ae=zX(x,["pathsDetail","user","globalSetting","loading","dispatch","tpacti","settupuname","settpacti"]),Pe,We,Xe,qe,nt,at,pt,mt,bt;const jt=(0,Ne.useParams)(),[Ut,Kt]=(0,Ue.useState)(""),[Qt,Vt]=(0,Ue.useState)([]),[vn]=(0,Ne.useSearchParams)(),[wn,kn]=(0,Ue.useState)([]),[Vn,vr]=(0,Ue.useState)(1);(0,Ue.useEffect)(()=>{var qr,wr,Sr,Tr,ri,Cr;if((qr=E==null?void 0:E.detail)!=null&&qr.nodes&&Vn===1){Vt((wr=E==null?void 0:E.detail)==null?void 0:wr.nodes),Kt((ri=(Tr=(Sr=E==null?void 0:E.detail)==null?void 0:Sr.nodes)==null?void 0:Tr[1])==null?void 0:ri.uuid);let yi=[...(Cr=E==null?void 0:E.detail)==null?void 0:Cr.nodes];kn(yi==null?void 0:yi.splice(1)),vr(2)}},[(Pe=E==null?void 0:E.detail)==null?void 0:Pe.nodes]),(0,Ue.useEffect)(()=>{var qr,wr,Sr;Kt(le||((Sr=(wr=(qr=E==null?void 0:E.detail)==null?void 0:qr.nodes)==null?void 0:wr[1])==null?void 0:Sr.uuid))},[le]);function or(){return l4(this,null,function*(){var qr,wr,Sr,Tr,ri,Cr,yi,Co;if(vn.get("type")==="classrooms"){let wo=yield oe({type:"pathsDetail/getCourseDetail",payload:rT({id:jt.pathId,knowledge:!0},(0,ve.oP)())});Vt(wo==null?void 0:wo.nodes),Kt((wr=(qr=wo==null?void 0:wo.nodes)==null?void 0:qr[1])==null?void 0:wr.uuid),ge((Tr=(Sr=wo==null?void 0:wo.nodes)==null?void 0:Sr[1])==null?void 0:Tr.uuid);let vi=[...wo==null?void 0:wo.nodes];kn(vi==null?void 0:vi.splice(1))}else{let wo=yield oe({type:"pathsDetail/getPathsDetail",payload:rT({id:jt.pathId,knowledge:!0},(0,ve.oP)())});Vt(wo==null?void 0:wo.nodes),Kt((Cr=(ri=wo==null?void 0:wo.nodes)==null?void 0:ri[1])==null?void 0:Cr.uuid),ge((Co=(yi=wo==null?void 0:wo.nodes)==null?void 0:yi[1])==null?void 0:Co.uuid);let vi=[...wo==null?void 0:wo.nodes];kn(vi==null?void 0:vi.splice(1))}})}function Or(){return l4(this,null,function*(){var qr,wr,Sr,Tr,ri,Cr,yi,Co,wo,vi,Mi,$i,Lo,Jo;if(vn.get("type")==="classrooms"){let Ta=yield oe({type:"pathsDetail/getCourseDetail",payload:rT({id:(qr=E==null?void 0:E.detail)==null?void 0:qr.id,knowledge:!0},(0,ve.oP)())});Kt((Sr=(wr=Ta==null?void 0:Ta.nodes)==null?void 0:wr[1])==null?void 0:Sr.uuid),ge((ri=(Tr=Ta==null?void 0:Ta.nodes)==null?void 0:Tr[1])==null?void 0:ri.uuid),he(((yi=(Cr=Ta==null?void 0:Ta.nodes)==null?void 0:Cr[1])==null?void 0:yi.name)||"\u8BFE\u7A0B\u56FE\u8C31")}else{let Ta=yield oe({type:"pathsDetail/getPathsDetail",payload:rT({id:(Co=E==null?void 0:E.detail)==null?void 0:Co.id,knowledge:!0},(0,ve.oP)())});Kt((vi=(wo=Ta==null?void 0:Ta.nodes)==null?void 0:wo[1])==null?void 0:vi.uuid),ge(($i=(Mi=Ta==null?void 0:Ta.nodes)==null?void 0:Mi[1])==null?void 0:$i.uuid),he(((Jo=(Lo=Ta==null?void 0:Ta.nodes)==null?void 0:Lo[1])==null?void 0:Jo.name)||"\u8BFE\u7A0B\u56FE\u8C31")}})}return YS.createElement("div",{style:{height:"calc(100vh - 72px - 170rem)"}},(Qt==null?void 0:Qt.length)>0&&YS.createElement("div",{className:Uo.content},((We=Qt==null?void 0:Qt[0])==null?void 0:We.uuid)===Ut&&Ut&&YS.createElement(JY,{onAddSuccess:Or,setActivated:Kt,subjectId:(Xe=E==null?void 0:E.detail)==null?void 0:Xe.id}),((qe=Qt==null?void 0:Qt[0])==null?void 0:qe.uuid)!==Ut&&Ut&&YS.createElement(PY,{tpacti:le,setactivied:()=>{var qr;Kt((qr=Qt==null?void 0:Qt[0])==null?void 0:qr.uuid)},initdata:Or,Tabsdatas:wn,uuid:Ut})),(nt=E==null?void 0:E.detail)!=null&&nt.can_managed?YS.createElement(xX,{isAll:((at=Qt==null?void 0:Qt[0])==null?void 0:at.uuid)===Ut,subjectId:(pt=E==null?void 0:E.detail)==null?void 0:pt.id,uuid:Ut}):YS.createElement(FX,{isAll:((mt=Qt==null?void 0:Qt[0])==null?void 0:mt.uuid)===Ut,subjectId:(bt=E==null?void 0:E.detail)==null?void 0:bt.id,uuid:Ut}))};var WX=(0,Ne.connect)(({pathsDetail:b,user:x,loading:E,globalSetting:z})=>({pathsDetail:b,user:x,globalSetting:z,loading:E.models.index}))(jX),Bu=Oe(59301),UX=Object.defineProperty,iT=Object.getOwnPropertySymbols,u4=Object.prototype.hasOwnProperty,c4=Object.prototype.propertyIsEnumerable,h4=(b,x,E)=>x in b?UX(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,d4=(b,x)=>{for(var E in x||(x={}))u4.call(x,E)&&h4(b,E,x[E]);if(iT)for(var E of iT(x))c4.call(x,E)&&h4(b,E,x[E]);return b},GX=(b,x)=>{var E={};for(var z in b)u4.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&iT)for(var z of iT(b))x.indexOf(z)<0&&c4.call(b,z)&&(E[z]=b[z]);return E},f4=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())});const HX=b=>{var x=b,{pathsDetail:E,user:z,globalSetting:te,loading:re,dispatch:oe,activied:le,setactivied:he}=x,ge=GX(x,["pathsDetail","user","globalSetting","loading","dispatch","activied","setactivied"]),Ae,Pe,We,Xe,qe,nt,at,pt,mt,bt,jt,Ut,Kt,Qt;const Vt=(0,Ne.useParams)(),[vn]=(0,Ne.useSearchParams)(),[wn,kn]=(0,Ue.useState)(((We=(Pe=(Ae=E==null?void 0:E.detail)==null?void 0:Ae.nodes)==null?void 0:Pe[0])==null?void 0:We.name)||"\u8BFE\u7A0B\u56FE\u8C31"),[Vn,vr]=(0,Ue.useState)(((nt=(qe=(Xe=E==null?void 0:E.detail)==null?void 0:Xe.route_nodes)==null?void 0:qe[0])==null?void 0:nt.name)||"\u5B66\u4E60\u8DEF\u5F84"),[or,Or]=(0,Ue.useState)([]),[qr,wr]=(0,Ue.useState)(),[Sr,Tr]=(0,Ue.useState)(),[ri]=St.default.useForm(),[Cr,yi]=(0,Ue.useState)(!1),[Co,wo]=(0,Ue.useState)(!1),vi=[{name:"\u8BFE\u7A0B\u4FE1\u606F",key:1,content:Bu.createElement(zi,null),isshow:vn.get("type")!=="classrooms"},{name:"\u8BFE\u7A0B\u56FE\u8C31",key:3,content:((pt=(at=E==null?void 0:E.detail)==null?void 0:at.nodes)==null?void 0:pt.length)<=1?Bu.createElement(On,{text:"\u6682\u65E0\u56FE\u8C31\uFF0C\u7ACB\u5373\u65B0\u5EFA\u4E00\u4E2A\u56FE\u8C31\u5427\uFF5E",textColor:"#fff",buttonText:((mt=E==null?void 0:E.detail)==null?void 0:mt.can_managed)&&"\u65B0\u5EFA\u56FE\u8C31",buttonTexttow:((bt=E==null?void 0:E.detail)==null?void 0:bt.can_managed)&&"\u751F\u6210\u56FE\u8C31",ontwoClick:()=>f4(void 0,null,function*(){var $i;let Lo=yield(0,kt.ZP)("/api/knowledge/v2/sync.json",{method:"post",body:{subject_id:($i=E==null?void 0:E.detail)==null?void 0:$i.id}});Lo.status===0&&Ke.ZP.info(Lo==null?void 0:Lo.message)}),onClick:()=>wo(!0)}):Bu.createElement(WX,{settupuname:kn,settpacti:wr,tpacti:qr}),isshow:!0},{name:"\u5B66\u4E60\u8DEF\u5F84",key:2,content:Bu.createElement(ar,{setxxljac:Tr,dispatch:oe,xxljac:Sr,pathsDetail:E}),isshow:!0},{name:"\u4EA4\u6D41\u53CD\u9988",key:4,content:Bu.createElement(br,null),isshow:vn.get("type")!=="classrooms"}].filter($i=>$i==null?void 0:$i.isshow);(0,Ue.useEffect)(()=>{var $i,Lo;if(($i=E==null?void 0:E.detail)!=null&&$i.nodes){let Jo=[...(Lo=E==null?void 0:E.detail)==null?void 0:Lo.nodes];Or(Jo==null?void 0:Jo.splice(1))}},[(jt=E==null?void 0:E.detail)==null?void 0:jt.nodes]);const Mi=$i=>f4(void 0,null,function*(){var Lo,Jo,Ta,Bs,js,Sa,Is,Ss,el,ms;const{nodeType:ru,description:Ql,name:Ra,tags:ws}=$i;yi(!0);const $o=yield(0,kt.ZP)("/api/knowledge/v2/add_node.json",{method:"POST",body:{label:"\u56FE\u8C31",subject_id:(Lo=E==null?void 0:E.detail)==null?void 0:Lo.id,properties:{description:Ql,rootNodeUuid:(Bs=(Ta=(Jo=E==null?void 0:E.detail)==null?void 0:Jo.nodes)==null?void 0:Ta[0])==null?void 0:Bs.uuid,name:Ra,nodeType:ru[0],tags:(ws==null?void 0:ws.join("\uFF0C"))||"",color:"1"},relationships:[{startNodeUuid:(Is=(Sa=(js=E==null?void 0:E.detail)==null?void 0:js.nodes)==null?void 0:Sa[0])==null?void 0:Is.uuid,type:"\u5305\u542B"}]}});($o==null?void 0:$o.status)===0&&(wo(!1),wr((Ss=$o==null?void 0:$o.data)==null?void 0:Ss.uuid),kn(Ra),he(3),vn.get("type")==="classrooms"?oe({type:"pathsDetail/getCourseDetail",payload:d4({id:(el=E==null?void 0:E.detail)==null?void 0:el.id,knowledge:!0},(0,ve.oP)())}):oe({type:"pathsDetail/getPathsDetail",payload:d4({id:(ms=E==null?void 0:E.detail)==null?void 0:ms.id,knowledge:!0},(0,ve.oP)())})),yi(!1)});return Bu.createElement("div",null,Bu.createElement("div",{className:Jn.tabs},vi==null?void 0:vi.map($i=>{var Lo,Jo,Ta,Bs,js,Sa,Is,Ss,el,ms,ru,Ql;return Bu.createElement("div",{onClick:()=>{var Ra,ws,$o,va,Fa,Xs,ua,vl;he($i.key),($i==null?void 0:$i.name)==="\u8BFE\u7A0B\u56FE\u8C31"&&(console.log("---",2),kn(((Ra=or==null?void 0:or[0])==null?void 0:Ra.name)||"\u8BFE\u7A0B\u56FE\u8C31"),wr((ws=or==null?void 0:or[0])==null?void 0:ws.uuid)),($i==null?void 0:$i.name)==="\u5B66\u4E60\u8DEF\u5F84"&&(vr(((Fa=(va=($o=E==null?void 0:E.detail)==null?void 0:$o.route_nodes)==null?void 0:va[0])==null?void 0:Fa.name)||"\u5B66\u4E60\u8DEF\u5F84"),Tr((vl=(ua=(Xs=E==null?void 0:E.detail)==null?void 0:Xs.route_nodes)==null?void 0:ua[0])==null?void 0:vl.id))},className:le===($i==null?void 0:$i.key)?Jn.activied:Jn.tab},(($i==null?void 0:$i.name)==="\u8BFE\u7A0B\u4FE1\u606F"||($i==null?void 0:$i.name)==="\u4EA4\u6D41\u53CD\u9988")&&($i==null?void 0:$i.name),($i==null?void 0:$i.name)==="\u8BFE\u7A0B\u56FE\u8C31"&&Bu.createElement(ha.Z,{overlayClassName:Jn.dropdownst,disabled:(or==null?void 0:or.length)===0,menu:{items:or==null?void 0:or.map(Ra=>({label:Bu.createElement(Ce.Z,{title:Ra==null?void 0:Ra.name}," ",Bu.createElement("span",{className:Jn.dropnametext,style:{width:"100%"},onClick:ws=>{ws.stopPropagation(),kn(Ra==null?void 0:Ra.name),wr(Ra==null?void 0:Ra.uuid),he(3)}},Ra==null?void 0:Ra.name)),key:Ra==null?void 0:Ra.uuid,show:!0})),selectable:!0,selectedKeys:[qr||((Ta=(Jo=(Lo=E==null?void 0:E.detail)==null?void 0:Lo.nodes)==null?void 0:Jo[1])==null?void 0:Ta.uuid)]}},Bu.createElement("span",{className:Jn.nametext},"\u8BFE\u7A0B\u56FE\u8C31 ",(or==null?void 0:or.length)>0&&Bu.createElement("i",{style:{fontSize:"12rem",marginLeft:"10rem"},className:"iconfont icon-zhankai10"}))),($i==null?void 0:$i.name)==="\u5B66\u4E60\u8DEF\u5F84"&&Bu.createElement(ha.Z,{overlayClassName:Jn.dropdownst,disabled:((js=(Bs=E==null?void 0:E.detail)==null?void 0:Bs.route_nodes)==null?void 0:js.length)===0,overlayStyle:{background:"#13203D"},menu:{items:(Is=(Sa=E==null?void 0:E.detail)==null?void 0:Sa.route_nodes)==null?void 0:Is.map((Ra,ws)=>({label:Bu.createElement(Ce.Z,{title:Ra==null?void 0:Ra.name},Bu.createElement("span",{className:Jn.dropnametext,style:{width:"100%"},onClick:$o=>{$o.stopPropagation(),vr(Ra==null?void 0:Ra.name),Tr(Ra==null?void 0:Ra.id),he(2)}},Ra==null?void 0:Ra.name)),key:Ra==null?void 0:Ra.id,show:!0})),selectable:!0,selectedKeys:[(Sr||((ms=(el=(Ss=E==null?void 0:E.detail)==null?void 0:Ss.route_nodes)==null?void 0:el[0])==null?void 0:ms.id))+""]}},Bu.createElement("span",{className:Jn.nametext},"\u5B66\u4E60\u8DEF\u5F84 ",((Ql=(ru=E==null?void 0:E.detail)==null?void 0:ru.route_nodes)==null?void 0:Ql.length)>0&&Bu.createElement("i",{style:{fontSize:"12rem",marginLeft:"10rem"},className:"iconfont icon-zhankai10"}))))}),Bu.createElement(Pi,null,Bu.createElement(Bu.Fragment,null,vn.get("type")==="classrooms"&&(0,uc.JA)()&&Bu.createElement("div",{style:{position:"fixed",right:"20rem",top:"7rem"}},Bu.createElement("span",{onClick:()=>{var $i;window.open(($i=E==null?void 0:E.detail)==null?void 0:$i.first_category_url)},style:{width:"128rem",height:"36rem",lineHeight:"36rem",display:"inline-block",textAlign:"center",background:"#fff",color:"#1B8565",fontSize:"14rem",borderRadius:"20rem",cursor:"pointer"}},"\u8FD4\u56DE\u6559\u5B66\u8BFE\u5802")),le===3&&((Ut=E==null?void 0:E.detail)==null?void 0:Ut.can_managed)&&Bu.createElement("div",{style:{position:"fixed",right:vn.get("type")!=="classrooms"?"170rem":"20rem",top:"7rem"}},Bu.createElement("span",{onClick:()=>{wo(!0)},style:{width:"128rem",height:"36rem",lineHeight:"36rem",display:"inline-block",textAlign:"center",background:"#fff",color:"#1B8565",fontSize:"14rem",borderRadius:"20rem",cursor:"pointer"}},"\u521B\u5EFA\u77E5\u8BC6\u56FE\u8C31")),vn.get("type")!=="classrooms"&&(le===2||le===3)&&!(0,uc.JA)()&&Bu.createElement(lo,{activied:le,styles:{position:"fixed",right:le===3?"20rem":"170rem",top:"7rem"}})))),Bu.createElement(Be.default,{open:Co,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",onCancel:()=>wo(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{ri.resetFields()},confirmLoading:Cr,onOk:()=>ri.submit(),title:"\u65B0\u589E\u77E5\u8BC6\u56FE\u8C31"},Bu.createElement("div",{className:Jn.modal},Bu.createElement("div",{className:Jn.mHead},"\u8282\u70B9\u5C5E\u6027"),Bu.createElement(St.default,{form:ri,scrollToFirstError:!0,layout:"horizontal",colon:!1,size:"large",labelCol:{flex:"110rem"},onFinish:Mi,className:Jn.form},Bu.createElement(St.default.Item,{label:"\u56FE\u8C31\u540D\u79F0",name:"name",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u8282\u70B9\u540D\u79F0"},{type:"string",max:60,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Bu.createElement(Dt.default,{maxLength:60,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Bu.createElement(St.default.Item,{label:"\u7B80\u4ECB",name:"description",rules:[{type:"string",max:5e3,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Bu.createElement(Dt.default.TextArea,{maxLength:5e3,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Bu.createElement(St.default.Item,{className:Jn.mType,label:Bu.createElement("span",null,"\u56FE\u8C31\u7C7B\u578B ",Bu.createElement(Ce.Z,{title:"\u5F53\u524D\u77E5\u8BC6\u56FE\u8C31\u7684\u7C7B\u578B\uFF0C\u5982\uFF1A\u5927\u7EB2\u56FE\u8C31\u3001\u80FD\u529B\u56FE\u8C31"},Bu.createElement(Yn.Z,null))),name:"nodeType",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8282\u70B9\u7C7B\u578B"}]},Bu.createElement(Eo,{subjectId:(Kt=E==null?void 0:E.detail)==null?void 0:Kt.id,type:1}))))),Bu.createElement("div",{className:Jn.placeholder}),Bu.createElement("div",{className:Jn.content},(Qt=vi.find($i=>$i.key===le))==null?void 0:Qt.content))};var VX=(0,Ne.connect)(({pathsDetail:b,user:x,loading:E,globalSetting:z})=>({pathsDetail:b,user:x,globalSetting:z,loading:E.models.index}))(HX),oT=Oe(59301),KX=Object.defineProperty,aT=Object.getOwnPropertySymbols,g4=Object.prototype.hasOwnProperty,p4=Object.prototype.propertyIsEnumerable,v4=(b,x,E)=>x in b?KX(b,x,{enumerable:!0,configurable:!0,writable:!0,value:E}):b[x]=E,m4=(b,x)=>{for(var E in x||(x={}))g4.call(x,E)&&v4(b,E,x[E]);if(aT)for(var E of aT(x))p4.call(x,E)&&v4(b,E,x[E]);return b},ZX=(b,x)=>{var E={};for(var z in b)g4.call(b,z)&&x.indexOf(z)<0&&(E[z]=b[z]);if(b!=null&&aT)for(var z of aT(b))x.indexOf(z)<0&&p4.call(b,z)&&(E[z]=b[z]);return E},YX=(b,x,E)=>new Promise((z,te)=>{var re=he=>{try{le(E.next(he))}catch(ge){te(ge)}},oe=he=>{try{le(E.throw(he))}catch(ge){te(ge)}},le=he=>he.done?z(he.value):Promise.resolve(he.value).then(re,oe);le((E=E.apply(b,x)).next())});const{TabPane:K$}=Mt.default;var XX=(b=>(b.All="",b.Shixun="shixun",b.VideoItem="video",b.Attachment="attachment",b.group_count="group_homework",b.normal_count="normal_homework",b.ExaminationBank="exercise",b.HomeworkCommon="hack_homework",b.Discusses="Discusses",b))(XX||{});function y4(b){const x=(te,re)=>{if(te.localName===re)return te;for(let oe=0,le=te;le=le.parentNode;oe++){if(le.localName===re)return le;if(le==document.documentElement)return!1}},E=b.target,z=x(E,"a");if(console.log([z],z==null?void 0:z.href,44),!(z!=null&&z.href)&&E.tagName.toUpperCase()==="IMG"){let te=E.src||E.getAttribute("src");te&&te.indexOf("/images/avatars/User")===-1&&(b.stopPropagation(),b.preventDefault(),hn.Z.publish("preview-image",te))}}const QX=b=>{var x=b,{pathsDetail:E,globalSetting:z,loading:te,dispatch:re}=x,oe=ZX(x,["pathsDetail","globalSetting","loading","dispatch"]);const[le]=(0,Ne.useSearchParams)(),he=(0,Ne.useParams)(),ge=(0,Ue.useRef)(),[Ae,Pe]=(0,Ue.useState)(""),[We,Xe]=(0,Ue.useState)(1);(0,Ue.useEffect)(()=>{le.get("tabs")&&Xe(parseInt(le.get("tabs"))||3)},[le.get("tabs")]),(0,Ue.useEffect)(()=>{if(ge.current)return ge.current.addEventListener("mousedown",y4),()=>{var nt;(nt=ge.current)==null||nt.removeEventListener("mousedown",y4)}},[ge.current]),(0,Ue.useEffect)(()=>{he.pathId&&qe()},[he.pathId]),(0,Ue.useEffect)(()=>(re({type:"globalSetting/footerToggle",payload:!1}),()=>{re({type:"globalSetting/footerToggle",payload:!0})}),[]);const qe=()=>YX(void 0,null,function*(){if(le.get("type")==="classrooms"){re({type:"pathsDetail/getCourseDetail",payload:m4({id:he.pathId,knowledge:!0},(0,ve.oP)())});return}const nt=yield re({type:"pathsDetail/getPathsDetail",payload:m4({id:he.pathId,knowledge:!0},(0,ve.oP)())});nt!=null&&nt.id&&le.get("token")&&(location.href=location.pathname)});return oT.createElement(Xt.Z,{spinning:!1},oT.createElement("section",{id:"knowledgegraphDetail",className:rr.bg},oT.createElement(Ht,null),oT.createElement(VX,{activied:We,setactivied:Xe})))};var JX=(0,Ne.connect)(({pathsDetail:b,loading:x,globalSetting:E})=>({pathsDetail:b,globalSetting:E,loading:x}))(QX)},39171:function(en,tn,Oe){"use strict";Oe.d(tn,{BU:function(){return tt},Dj:function(){return Ge},gH:function(){return Ue},vp:function(){return Ne}});function Ge(Ke){try{Ke.mozRequestFullScreen?Ke.mozRequestFullScreen():Ke.webkitRequestFullScreen&&Ke.webkitRequestFullScreen()}catch(Be){console.log(Be,":e")}}function tt(){window.top.document.webkitExitFullscreen?window.top.document.webkitExitFullscreen():document.exitFullscreen?window.top.document.exitFullscreen():document.msExitFullscreen?window.top.document.msExitFullscreen():document.mozCancelFullScreen&&window.top.document.mozCancelFullScreen()}const Ue=()=>{if(document.webkitExitFullscreen)return"webkitfullscreenchange";if(document.exitFullscreen)return"fullscreenchange";if(document.msExitFullscreen)return"msfullscreenchange";if(document.mozCancelFullScreen)return"mozfullscreenchange"};function Ne(){var Ke=window.top.document.fullscreenElement||window.top.document.mozFullscreenElement||window.top.document.webkitFullscreenElement,Be=document.fullscreenEnabled||document.mozFullscreenEnabled||document.webkitFullscreenEnabled;return console.log("fullscreenElement",Ke),window.isFullScreen?window.isFullScreen:Ke!=null}},31087:function(en,tn,Oe){"use strict";Oe.d(tn,{AL:function(){return ce},Iy:function(){return Ce},Qv:function(){return ye},ez:function(){return xe},jb:function(){return Me}});var Ge=Oe(32834),tt=Oe.n(Ge),Ue=Oe(11690),Ne=Oe.n(Ue);let Ke=1;function Be(Ze,Ve){const Qe=Ze.match(/^(\s+)(?:```)/);if(Qe===null)return Ve;const $e=Qe[1];return Ve.split(`
`).map(gt=>{const lt=gt.match(/^\s+/);if(lt===null)return gt;const[At]=lt;return At.length>=$e.length?gt.slice($e.length):gt}).join(`
`)}let we=[],Te=["<ul>"];const ke=new(tt()).Renderer,Ie=/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/;function Ce(){we.length=0,Te=["<ul>"]}const Me={overflow:"hidden",WebkitBoxOrient:"vertical",display:"-webkit-box",WebkitLineClamp:2};function je(Ze,Ve,Qe,$e){if(Ve>=Ze.length||Ze[Ve].level<=Qe)return Ve;var gt=Ze[Ve];$e.push("<li><a href='#"+Ke+gt.anchor+"'>"+gt.text+"</a>"),Ve++;var lt=[];return Ve=je(Ze,Ve,gt.level,lt),lt.length>0&&($e.push("<ul>"),lt.forEach(function(At){$e.push(At)}),$e.push("</ul>")),$e.push("</li>"),Ve=je(Ze,Ve,Qe,$e),Ve}function ye(){return je(we,0,0,Te),Te.push("</ul>"),Te.join("")}const ie={heading(Ze){const Ve=Ie.exec(Ze);if(Ke+=1,Ve)return{type:"heading",raw:Ve[0],depth:Ve[1].length,text:Ve[2]}},fences(Ze){const Ve=this.rules.block.fences.exec(Ze);if(Ve){const Qe=Ve[0];let $e=Be(Qe,Ve[3]||"");const gt=Ve[2]?Ve[2].trim():Ve[2];if(["latex","katex","math"].indexOf(gt)>=0){const lt=de(),At=$e;$e=lt,ve[lt]={type:"block",expression:At}}return{type:"code",raw:Qe,lang:gt,text:$e}}}},ae=/(?:\${2})([^\n`]+?)(?:\${2})/gi;let fe=0;const de=()=>`__special_katext_id_${fe++}__`;let ve={};function xe(){return ve}function ce(){fe=0,ve={}}function pe(Ze){return Ze=Ze.replace(ae,(Ve,Qe)=>{const $e=de();return ve[$e]={type:"inline",expression:Qe},$e}),Ze}const Se=ke.listitem;ke.listitem=function(Ze){return Se(pe(Ze))};const Le=ke.paragraph;ke.paragraph=function(Ze){return Le(pe(Ze))};const ze=ke.tablecell;ke.tablecell=function(Ze,Ve){return ze(pe(Ze),Ve)},ke.code=function(Ze,Ve,Qe){const $e=(Ve||"").match(/\S*/)[0];return $e?["latex","katex","math"].indexOf($e)>=0?`<p class='editormd-tex'>${Ze}</p>`:`<pre class="prettyprint linenums"><code class="language-${Ve}">${Qe?Ze:(0,Ue.escape)(Ze,!0)}</code></pre>
`:'<pre class="prettyprint linenums"><code>'+(Qe?Ze:(0,Ue.escape)(Ze,!0))+"</code></pre>"},ke.heading=function(Ze,Ve,Qe){let $e=this.options.headerPrefix+Qe.toLowerCase().replace(/[^\w\\u4e00-\\u9fa5]]+/g,"-");return we.push({anchor:$e,level:Ve,text:Ze}),"<h"+Ve+' id="'+Ke+$e+'">'+Ze+"</h"+Ve+">"},tt().setOptions({silent:!0,gfm:!0,pedantic:!1}),tt().use({tokenizer:ie,renderer:ke}),tn.ZP=tt()},18032:function(en,tn,Oe){"use strict";Oe.d(tn,{rX:function(){return ce},pW:function(){return pe},gy:function(){return Se},xY:function(){return xe},O5:function(){return ve},tJ:function(){return ye},o1:function(){return ie},Rd:function(){return de}});var Ge=Oe(42203),tt=Oe(43418),Ue=Oe(28103),Ne=Oe(8591),Ke=Oe(2119),Be=Oe(58130),we=Oe(80205),Te=Oe(25510),ke="data:image/png;base64,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",Ie=Oe.p+"static/newqrcode.a8740efb.png",Ce=Oe(32637),Me=Oe(59301),je=(Le,ze,Ze)=>new Promise((Ve,Qe)=>{var $e=At=>{try{lt(Ze.next(At))}catch(Et){Qe(Et)}},gt=At=>{try{lt(Ze.throw(At))}catch(Et){Qe(Et)}},lt=At=>At.done?Ve(At.value):Promise.resolve(At.value).then($e,gt);lt((Ze=Ze.apply(Le,ze)).next())});const ye=(Le,ze=!1)=>!!(ie(Le)&&ae(ze)),ie=Le=>(0,Ke.bg)()?!0:(Le({type:"user/showPopLogin",payload:{showPopLogin:!0,showClosable:!0}}),!1),ae=(Le=!1)=>{var ze;const{user:Ze}=(0,Ge.getDvaApp)()._store.getState();return(ze=Ze.userInfo)!=null&&ze.profile_completed?!0:(tt.default.confirm({title:"\u63D0\u793A",width:530,centered:!0,content:"\u60A8\u9700\u8981\u53BB\u5B8C\u5584\u60A8\u7684\u4E2A\u4EBA\u8D44\u6599\uFF0C\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD",okText:"\u7ACB\u5373\u5B8C\u5584",cancelText:"\u7A0D\u540E\u5B8C\u5584",onOk:()=>{(0,Be.xg)("/account/profile/edit"),fe()}}),!1)},fe=()=>{tt.default.success({title:"\u63D0\u793A",width:430,closable:!0,centered:!0,content:"\u5DF2\u5B8C\u5584\u4E2A\u4EBA\u8D44\u6599\uFF1F\u8BF7\u5237\u65B0\u9875\u9762",okText:"\u7ACB\u5373\u5237\u65B0",icon:null,onOk:()=>{location.reload()}})},de=()=>{tt.default.warning({title:"\u63D0\u793A",icon:null,width:400,content:Me.createElement("div",{style:{textAlign:"center"}},Me.createElement("div",{style:{color:"#191919",fontSize:14,marginBottom:15,textAlign:"left"}},"\u8001\u5E08\u60A8\u597D\uFF0C\u60A8\u7684\u8BFE\u5802\u8BD5\u7528\u671F\u5DF2\u7ED3\u675F\uFF0C\u76F8\u5173\u529F\u80FD\u88AB\u9650\u5236\u3002 \u5982\u9700\u7EE7\u7EED\u4F7F\u7528\uFF0C\u8BF7\u5C3D\u5FEB\u5BF9\u63A5\u4EBA\u5DE5\u652F\u6301\uFF01"),Me.createElement("img",{style:{border:"1px solid #D8E3E9",width:190,height:180},src:Ce}),Me.createElement("div",{style:{color:"#666666",fontSize:14,marginTop:15}},"\u6DFB\u52A0\u5BA2\u670D\u4EBA\u5458\u5FAE\u4FE1\uFF0C\u83B7\u5F97\u66F4\u591A\u652F\u6301"))})},ve=()=>{var Le;const{user:ze}=(0,Ge.getDvaApp)()._store.getState();return(Le=ze.userInfo)!=null&&Le.professional_certification?!0:(tt.default.confirm({title:"\u63D0\u793A",centered:!0,content:Me.createElement("div",{className:"tc"},"\u60A8\u9700\u8981\u53BB\u5B8C\u6210\u60A8\u7684\u804C\u4E1A\u8BA4\u8BC1\uFF0C\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD"),okText:"\u7ACB\u5373\u5B8C\u5584",cancelText:"\u7A0D\u540E\u5B8C\u5584",onOk:()=>{(0,Be.xg)("/account/certification")}}),!1)},xe=()=>(0,Ke.V9)()?!0:(tt.default.warning({centered:!0,width:530,title:"\u63D0\u793A",content:Me.createElement("div",{className:"tc",style:{marginLeft:-38}},Me.createElement("p",null,"\u626B\u7801\u52A0\u5934\u6B4C\u52A9\u6559\uFF0C\u7533\u8BF7\u64CD\u4F5C\u6743\u9650"),Me.createElement("img",{src:Ie,width:200})),okText:"\u6211\u77E5\u9053\u4E86",maskClosable:!0}),!1),ce=(Le,ze)=>Le?!0:(tt.default.confirm({centered:!0,zIndex:1e4,width:530,title:"\u63D0\u793A",content:Me.createElement("div",null,Me.createElement("p",null,ze||"\u8BE5\u5B9E\u8DF5\u8D44\u6E90\u9700\u6388\u6743\u540E\u624D\u53EF\u4F7F\u7528\u3002 \u60A8\u53EF\u4EE5\u5728QQ\u670D\u52A1\u7FA4\u5411\u7BA1\u7406\u5458\u7533\u8BF7\uFF0C\u83B7\u5F97\u7EE7\u7EED\u64CD\u4F5C\u7684\u6743\u9650\u3002"),Me.createElement("div",{style:{marginLeft:"110px"}},Me.createElement("img",{src:ke,width:200}),Me.createElement("div",{style:{marginLeft:"35px"}},"\u7FA4\u53F7\uFF1A","714336072"))),okText:"\u7ACB\u5373\u8054\u7CFB",cancelText:"\u53D6\u6D88",onOk:()=>{(0,Be.xg)("https://qm.qq.com/cgi-bin/qm/qr?k=tIyDPXUtE0yEk-MOJxhH55lTUJS-nYAM&jump_from=webapi")}}),!1),pe=Le=>{tt.default.info({title:"\u8054\u7CFB\u5E73\u53F0\u8FD0\u8425",icon:null,width:615,centered:!0,content:Me.createElement("div",null,Me.createElement("div",null,Me.createElement("p",{style:{color:"#191919",fontWeight:400,fontSize:14}},"\u201C\u4FDD\u5B58\u5B9E\u9A8C\u4E34\u65F6\u6570\u636E\u201D\u529F\u80FD\u4E3A\u4ED8\u8D39\u529F\u80FD\uFF0C\u8BF7\u8054\u7CFB\u5E73\u53F0\u8FD0\u8425\u8FDB\u884C\u5F00\u901A\u3002"),Me.createElement(Ue.Z,null),Me.createElement("p",{style:{color:"#666666",fontSize:12}}," ",Me.createElement("span",{style:{display:"inline-flex",width:14,height:14,borderRadius:2,background:"#F3F3F3",justifyContent:"center",color:"#666666",fontSize:12,lineHeight:"14px",marginRight:8}},"1")," \u56E0\u5E73\u53F0\u7684\u5B9E\u9A8C\u6570\u636E\u50A8\u5B58\u5BB9\u91CF\u548C\u6210\u672C\u6D88\u8017\u8F83\u5927\uFF0C\u5B9E\u8DF5\u9879\u76EE\u9ED8\u8BA4\u4FDD\u5B58\u5B9E\u9A8C\u73AF\u5883\u4E2D\u4E34\u65F6\u6570\u636E ",Me.createElement("a",null,Le),"\u5929\u3002"),Me.createElement("p",{style:{color:"#666666",fontSize:12}}," ",Me.createElement("span",{style:{display:"inline-flex",width:14,height:14,borderRadius:2,background:"#F3F3F3",justifyContent:"center",color:"#666666",fontSize:12,lineHeight:"14px",marginRight:8}},"2"),"\u82E5\u60A8\u9700\u8981\u4E2A\u6027\u5316\u7684\u6570\u636E\u4FDD\u5B58\u5468\u671F\u670D\u52A1\uFF0C\u6211\u4EEC\u53EF\u4EE5\u63D0\u4F9B\u76F8\u5173\u6280\u672F\u652F\u6301\uFF0C\u5E76\u6839\u636E\u60A8\u7684\u9700\u6C42\u6536\u53D6\u5B9A\u5236\u8D39\u7528\u3002")),Me.createElement("div",{style:{textAlign:"center",marginTop:30}},Me.createElement("img",{style:{border:"4px solid #0152d9",borderRadius:"4px"},src:Te,alt:"\u4E8C\u7EF4\u7801",width:160})))})},Se=(Le,ze="")=>{const{shixunsDetail:{detail:Ze}}=(0,Ge.getDvaApp)()._store.getState();if((Ze==null?void 0:Ze.public)===2||(Ze==null?void 0:Ze.public)===1||(Ze==null?void 0:Ze.shixun_status)===3){let Ve="";return(Ze==null?void 0:Ze.public)===2&&(Ve="\u5DF2\u516C\u5F00"),(Ze==null?void 0:Ze.public)===1&&(Ve="\u5F85\u5BA1\u6838"),(Ze==null?void 0:Ze.shixun_status)===3&&(Ve="\u5DF2\u5173\u95ED"),tt.default.info({centered:!0,icon:Me.createElement(we.Z,{style:{color:"#faad14"}}),width:460,title:"\u63D0\u793A",content:Me.createElement("div",{className:"tc",style:{marginLeft:-38}},Me.createElement("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start",paddingLeft:38,margin:"12px 0"}},Me.createElement("span",null,"\u8BE5\u5B9E\u8DF5\u9879\u76EE\u7684\u72B6\u6001\u4E3A",Ve,"\uFF0C",ze,"\u3002"),Me.createElement("p",null,"\u5982\u6709\u9700\u8981\uFF0C\u8BF7\u8054\u7CFB\u5E73\u53F0\u7BA1\u7406\u5458\u8FDB\u884C\u6280\u672F\u652F\u6301\u3002")),Me.createElement("img",{style:{border:"4px solid #0152d9",borderRadius:"4px"},src:Te,alt:"\u4E8C\u7EF4\u7801",width:160})),okText:"\u6211\u77E5\u9053\u4E86"}),!0}return(Ze==null?void 0:Ze.shixun_status)===2?(tt.default.confirm({centered:!0,icon:Me.createElement(we.Z,null),title:"\u63D0\u793A",content:Me.createElement("div",null,Me.createElement("span",null,"\u8BE5\u5B9E\u8DF5\u9879\u76EE\u5DF2\u53D1\u5E03\uFF0C",ze,"\u3002"),Me.createElement("br",null),Me.createElement("span",null,"\u5982\u6709\u9700\u8981\uFF0C\u60A8\u53EF\u4EE5\u64A4\u9500\u53D1\u5E03\u540E\uFF0C\u518D\u8FDB\u884C\u64CD\u4F5C\u3002")),okText:"\u64A4\u9500\u53D1\u5E03",cancelText:"\u53D6\u6D88",onOk:()=>{tt.default.confirm({width:440,centered:!0,icon:Me.createElement(we.Z,{style:{color:"#faad14"}}),title:"\u63D0\u793A",content:"\u64A4\u9500\u53D1\u5E03\u540E\uFF0C\u5B66\u5458\u5C06\u65E0\u6CD5\u8FDB\u884C\u7EC3\u4E60\u3002\u662F\u5426\u786E\u8BA4\u64A4\u9500\u53D1\u5E03\uFF1F",okText:"\u786E\u5B9A\u64A4\u9500\u53D1\u5E03",cancelText:"\u53D6\u6D88",onOk:()=>je(void 0,null,function*(){(yield Le({type:"shixunsDetail/cancelRelease",payload:{id:Ze==null?void 0:Ze.identifier}})).status!==401&&(Ne.ZP.success("\u64A4\u9500\u53D1\u5E03\u6210\u529F\u3002\u5B9E\u8BAD\u56DE\u5230\u672A\u53D1\u5E03\u7684\u72B6\u6001\u3002"),Le({type:"shixunsDetail/getShixunsDetail",payload:{id:Ze==null?void 0:Ze.identifier}}),Le({type:"practiceSetting/getCommonData",payload:{id:Ze==null?void 0:Ze.identifier}}))})})}}),!0):!1}},93726:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return ii}});class Ge{static install(){Object.setPrototypeOf=Object.setPrototypeOf||function(De,He){return De.__proto__=He,De},Object.assign=Object.assign||function(De){if(De==null)throw new TypeError("Cannot convert undefined or null to object");let He=Object(De);for(let Re=1;Re<arguments.length;Re++){let et=arguments[Re];if(et!=null)for(let ft in et)et.hasOwnProperty(ft)&&(He[ft]=et[ft])}return He},typeof self.Promise!="function"&&Oe(3867).polyfill()}}Ge.install();var tt=Ge,Ue=Oe(86204),Ne=Oe.n(Ue);class Ke{static e(De,He){(!De||Ke.FORCE_GLOBAL_TAG)&&(De=Ke.GLOBAL_TAG);let Re=`[${De}] > ${He}`;Ke.ENABLE_CALLBACK&&Ke.emitter.emit("log","error",Re),Ke.ENABLE_ERROR&&(console.error?console.error(Re):console.warn?console.warn(Re):console.log(Re))}static i(De,He){(!De||Ke.FORCE_GLOBAL_TAG)&&(De=Ke.GLOBAL_TAG);let Re=`[${De}] > ${He}`;Ke.ENABLE_CALLBACK&&Ke.emitter.emit("log","info",Re),Ke.ENABLE_INFO&&(console.info?console.info(Re):console.log(Re))}static w(De,He){(!De||Ke.FORCE_GLOBAL_TAG)&&(De=Ke.GLOBAL_TAG);let Re=`[${De}] > ${He}`;Ke.ENABLE_CALLBACK&&Ke.emitter.emit("log","warn",Re),Ke.ENABLE_WARN&&(console.warn?console.warn(Re):console.log(Re))}static d(De,He){(!De||Ke.FORCE_GLOBAL_TAG)&&(De=Ke.GLOBAL_TAG);let Re=`[${De}] > ${He}`;Ke.ENABLE_CALLBACK&&Ke.emitter.emit("log","debug",Re),Ke.ENABLE_DEBUG&&(console.debug?console.debug(Re):console.log(Re))}static v(De,He){(!De||Ke.FORCE_GLOBAL_TAG)&&(De=Ke.GLOBAL_TAG);let Re=`[${De}] > ${He}`;Ke.ENABLE_CALLBACK&&Ke.emitter.emit("log","verbose",Re),Ke.ENABLE_VERBOSE&&console.log(Re)}}Ke.GLOBAL_TAG="flv.js",Ke.FORCE_GLOBAL_TAG=!1,Ke.ENABLE_ERROR=!0,Ke.ENABLE_INFO=!0,Ke.ENABLE_WARN=!0,Ke.ENABLE_DEBUG=!0,Ke.ENABLE_VERBOSE=!0,Ke.ENABLE_CALLBACK=!1,Ke.emitter=new(Ne());var Be=Ke;class we{constructor(){this._firstCheckpoint=0,this._lastCheckpoint=0,this._intervalBytes=0,this._totalBytes=0,this._lastSecondBytes=0,self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now}reset(){this._firstCheckpoint=this._lastCheckpoint=0,this._totalBytes=this._intervalBytes=0,this._lastSecondBytes=0}addBytes(De){this._firstCheckpoint===0?(this._firstCheckpoint=this._now(),this._lastCheckpoint=this._firstCheckpoint,this._intervalBytes+=De,this._totalBytes+=De):this._now()-this._lastCheckpoint<1e3?(this._intervalBytes+=De,this._totalBytes+=De):(this._lastSecondBytes=this._intervalBytes,this._intervalBytes=De,this._totalBytes+=De,this._lastCheckpoint=this._now())}get currentKBps(){this.addBytes(0);let De=(this._now()-this._lastCheckpoint)/1e3;return De==0&&(De=1),this._intervalBytes/De/1024}get lastSecondKBps(){return this.addBytes(0),this._lastSecondBytes!==0?this._lastSecondBytes/1024:this._now()-this._lastCheckpoint>=500?this.currentKBps:0}get averageKBps(){let De=(this._now()-this._firstCheckpoint)/1e3;return this._totalBytes/De/1024}}var Te=we;class ke{constructor(De){this._message=De}get name(){return"RuntimeException"}get message(){return this._message}toString(){return this.name+": "+this.message}}class Ie extends ke{constructor(De){super(De)}get name(){return"IllegalStateException"}}class Ce extends ke{constructor(De){super(De)}get name(){return"InvalidArgumentException"}}class Me extends ke{constructor(De){super(De)}get name(){return"NotImplementedException"}}const je={kIdle:0,kConnecting:1,kBuffering:2,kError:3,kComplete:4},ye={OK:"OK",EXCEPTION:"Exception",HTTP_STATUS_CODE_INVALID:"HttpStatusCodeInvalid",CONNECTING_TIMEOUT:"ConnectingTimeout",EARLY_EOF:"EarlyEof",UNRECOVERABLE_EARLY_EOF:"UnrecoverableEarlyEof"};class ie{constructor(De){this._type=De||"undefined",this._status=je.kIdle,this._needStash=!1,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}destroy(){this._status=je.kIdle,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}isWorking(){return this._status===je.kConnecting||this._status===je.kBuffering}get type(){return this._type}get status(){return this._status}get needStashBuffer(){return this._needStash}get onContentLengthKnown(){return this._onContentLengthKnown}set onContentLengthKnown(De){this._onContentLengthKnown=De}get onURLRedirect(){return this._onURLRedirect}set onURLRedirect(De){this._onURLRedirect=De}get onDataArrival(){return this._onDataArrival}set onDataArrival(De){this._onDataArrival=De}get onError(){return this._onError}set onError(De){this._onError=De}get onComplete(){return this._onComplete}set onComplete(De){this._onComplete=De}open(De,He){throw new Me("Unimplemented abstract function!")}abort(){throw new Me("Unimplemented abstract function!")}}let ae={};function fe(){let Nt=self.navigator.userAgent.toLowerCase(),De=/(edge)\/([\w.]+)/.exec(Nt)||/(opr)[\/]([\w.]+)/.exec(Nt)||/(chrome)[ \/]([\w.]+)/.exec(Nt)||/(iemobile)[\/]([\w.]+)/.exec(Nt)||/(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(Nt)||/(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(Nt)||/(webkit)[ \/]([\w.]+)/.exec(Nt)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(Nt)||/(msie) ([\w.]+)/.exec(Nt)||Nt.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(Nt)||Nt.indexOf("compatible")<0&&/(firefox)[ \/]([\w.]+)/.exec(Nt)||[],He=/(ipad)/.exec(Nt)||/(ipod)/.exec(Nt)||/(windows phone)/.exec(Nt)||/(iphone)/.exec(Nt)||/(kindle)/.exec(Nt)||/(android)/.exec(Nt)||/(windows)/.exec(Nt)||/(mac)/.exec(Nt)||/(linux)/.exec(Nt)||/(cros)/.exec(Nt)||[],Re={browser:De[5]||De[3]||De[1]||"",version:De[2]||De[4]||"0",majorVersion:De[4]||De[2]||"0",platform:He[0]||""},et={};if(Re.browser){et[Re.browser]=!0;let ft=Re.majorVersion.split(".");et.version={major:parseInt(Re.majorVersion,10),string:Re.version},ft.length>1&&(et.version.minor=parseInt(ft[1],10)),ft.length>2&&(et.version.build=parseInt(ft[2],10))}if(Re.platform&&(et[Re.platform]=!0),(et.chrome||et.opr||et.safari)&&(et.webkit=!0),et.rv||et.iemobile){et.rv&&delete et.rv;let ft="msie";Re.browser=ft,et[ft]=!0}if(et.edge){delete et.edge;let ft="msedge";Re.browser=ft,et[ft]=!0}if(et.opr){let ft="opera";Re.browser=ft,et[ft]=!0}if(et.safari&&et.android){let ft="android";Re.browser=ft,et[ft]=!0}et.name=Re.browser,et.platform=Re.platform;for(let ft in ae)ae.hasOwnProperty(ft)&&delete ae[ft];Object.assign(ae,et)}fe();var de=ae;class ve extends ie{static isSupported(){try{let De=de.msedge&&de.version.minor>=15048,He=de.msedge?De:!0;return self.fetch&&self.ReadableStream&&He}catch(De){return!1}}constructor(De,He){super("fetch-stream-loader"),this.TAG="FetchStreamLoader",this._seekHandler=De,this._config=He,this._needStash=!0,this._requestAbort=!1,this._contentLength=null,this._receivedLength=0}destroy(){this.isWorking()&&this.abort(),super.destroy()}open(De,He){this._dataSource=De,this._range=He;let Re=De.url;this._config.reuseRedirectedURL&&De.redirectedURL!=null&&(Re=De.redirectedURL);let et=this._seekHandler.getConfig(Re,He),ft=new self.Headers;if(typeof et.headers=="object"){let Ct=et.headers;for(let rn in Ct)Ct.hasOwnProperty(rn)&&ft.append(rn,Ct[rn])}let Bt={method:"GET",headers:ft,mode:"cors",cache:"default",referrerPolicy:"no-referrer-when-downgrade"};if(typeof this._config.headers=="object")for(let Ct in this._config.headers)ft.append(Ct,this._config.headers[Ct]);De.cors===!1&&(Bt.mode="same-origin"),De.withCredentials&&(Bt.credentials="include"),De.referrerPolicy&&(Bt.referrerPolicy=De.referrerPolicy),this._status=je.kConnecting,self.fetch(et.url,Bt).then(Ct=>{if(this._requestAbort){this._requestAbort=!1,this._status=je.kIdle;return}if(Ct.ok&&Ct.status>=200&&Ct.status<=299){if(Ct.url!==et.url&&this._onURLRedirect){let nn=this._seekHandler.removeURLParameters(Ct.url);this._onURLRedirect(nn)}let rn=Ct.headers.get("Content-Length");return rn!=null&&(this._contentLength=parseInt(rn),this._contentLength!==0&&this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)),this._pump.call(this,Ct.body.getReader())}else if(this._status=je.kError,this._onError)this._onError(ye.HTTP_STATUS_CODE_INVALID,{code:Ct.status,msg:Ct.statusText});else throw new ke("FetchStreamLoader: Http code invalid, "+Ct.status+" "+Ct.statusText)}).catch(Ct=>{if(this._status=je.kError,this._onError)this._onError(ye.EXCEPTION,{code:-1,msg:Ct.message});else throw Ct})}abort(){this._requestAbort=!0}_pump(De){return De.read().then(He=>{if(He.done)if(this._contentLength!==null&&this._receivedLength<this._contentLength){this._status=je.kError;let Re=ye.EARLY_EOF,et={code:-1,msg:"Fetch stream meet Early-EOF"};if(this._onError)this._onError(Re,et);else throw new ke(et.msg)}else this._status=je.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1);else{if(this._requestAbort===!0)return this._requestAbort=!1,this._status=je.kComplete,De.cancel();this._status=je.kBuffering;let Re=He.value.buffer,et=this._range.from+this._receivedLength;this._receivedLength+=Re.byteLength,this._onDataArrival&&this._onDataArrival(Re,et,this._receivedLength),this._pump(De)}}).catch(He=>{if(He.code===11&&de.msedge)return;this._status=je.kError;let Re=0,et=null;if((He.code===19||He.message==="network error")&&(this._contentLength===null||this._contentLength!==null&&this._receivedLength<this._contentLength)?(Re=ye.EARLY_EOF,et={code:He.code,msg:"Fetch stream meet Early-EOF"}):(Re=ye.EXCEPTION,et={code:He.code,msg:He.message}),this._onError)this._onError(Re,et);else throw new ke(et.msg)})}}var xe=ve;class ce extends ie{static isSupported(){try{let De=new XMLHttpRequest;return De.open("GET","https://example.com",!0),De.responseType="moz-chunked-arraybuffer",De.responseType==="moz-chunked-arraybuffer"}catch(De){return Be.w("MozChunkedLoader",De.message),!1}}constructor(De,He){super("xhr-moz-chunked-loader"),this.TAG="MozChunkedLoader",this._seekHandler=De,this._config=He,this._needStash=!0,this._xhr=null,this._requestAbort=!1,this._contentLength=null,this._receivedLength=0}destroy(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onloadend=null,this._xhr.onerror=null,this._xhr=null),super.destroy()}open(De,He){this._dataSource=De,this._range=He;let Re=De.url;this._config.reuseRedirectedURL&&De.redirectedURL!=null&&(Re=De.redirectedURL);let et=this._seekHandler.getConfig(Re,He);this._requestURL=et.url;let ft=this._xhr=new XMLHttpRequest;if(ft.open("GET",et.url,!0),ft.responseType="moz-chunked-arraybuffer",ft.onreadystatechange=this._onReadyStateChange.bind(this),ft.onprogress=this._onProgress.bind(this),ft.onloadend=this._onLoadEnd.bind(this),ft.onerror=this._onXhrError.bind(this),De.withCredentials&&(ft.withCredentials=!0),typeof et.headers=="object"){let Bt=et.headers;for(let Ct in Bt)Bt.hasOwnProperty(Ct)&&ft.setRequestHeader(Ct,Bt[Ct])}if(typeof this._config.headers=="object"){let Bt=this._config.headers;for(let Ct in Bt)Bt.hasOwnProperty(Ct)&&ft.setRequestHeader(Ct,Bt[Ct])}this._status=je.kConnecting,ft.send()}abort(){this._requestAbort=!0,this._xhr&&this._xhr.abort(),this._status=je.kComplete}_onReadyStateChange(De){let He=De.target;if(He.readyState===2){if(He.responseURL!=null&&He.responseURL!==this._requestURL&&this._onURLRedirect){let Re=this._seekHandler.removeURLParameters(He.responseURL);this._onURLRedirect(Re)}if(He.status!==0&&(He.status<200||He.status>299))if(this._status=je.kError,this._onError)this._onError(ye.HTTP_STATUS_CODE_INVALID,{code:He.status,msg:He.statusText});else throw new ke("MozChunkedLoader: Http code invalid, "+He.status+" "+He.statusText);else this._status=je.kBuffering}}_onProgress(De){if(this._status===je.kError)return;this._contentLength===null&&De.total!==null&&De.total!==0&&(this._contentLength=De.total,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength));let He=De.target.response,Re=this._range.from+this._receivedLength;this._receivedLength+=He.byteLength,this._onDataArrival&&this._onDataArrival(He,Re,this._receivedLength)}_onLoadEnd(De){if(this._requestAbort===!0){this._requestAbort=!1;return}else if(this._status===je.kError)return;this._status=je.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1)}_onXhrError(De){this._status=je.kError;let He=0,Re=null;if(this._contentLength&&De.loaded<this._contentLength?(He=ye.EARLY_EOF,Re={code:-1,msg:"Moz-Chunked stream meet Early-Eof"}):(He=ye.EXCEPTION,Re={code:-1,msg:De.constructor.name+" "+De.type}),this._onError)this._onError(He,Re);else throw new ke(Re.msg)}}var pe=ce;class Se extends null{static isSupported(){try{if(typeof self.MSStream=="undefined"||typeof self.MSStreamReader=="undefined")return!1;let De=new XMLHttpRequest;return De.open("GET","https://example.com",!0),De.responseType="ms-stream",De.responseType==="ms-stream"}catch(De){return Log.w("MSStreamLoader",De.message),!1}}constructor(De,He){super("xhr-msstream-loader"),this.TAG="MSStreamLoader",this._seekHandler=De,this._config=He,this._needStash=!0,this._xhr=null,this._reader=null,this._totalRange=null,this._currentRange=null,this._currentRequestURL=null,this._currentRedirectedURL=null,this._contentLength=null,this._receivedLength=0,this._bufferLimit=16*1024*1024,this._lastTimeBufferSize=0,this._isReconnecting=!1}destroy(){this.isWorking()&&this.abort(),this._reader&&(this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr=null),super.destroy()}open(De,He){this._internalOpen(De,He,!1)}_internalOpen(De,He,Re){this._dataSource=De,Re?this._currentRange=He:this._totalRange=He;let et=De.url;this._config.reuseRedirectedURL&&(this._currentRedirectedURL!=null?et=this._currentRedirectedURL:De.redirectedURL!=null&&(et=De.redirectedURL));let ft=this._seekHandler.getConfig(et,He);this._currentRequestURL=ft.url;let Bt=this._reader=new self.MSStreamReader;Bt.onprogress=this._msrOnProgress.bind(this),Bt.onload=this._msrOnLoad.bind(this),Bt.onerror=this._msrOnError.bind(this);let Ct=this._xhr=new XMLHttpRequest;if(Ct.open("GET",ft.url,!0),Ct.responseType="ms-stream",Ct.onreadystatechange=this._xhrOnReadyStateChange.bind(this),Ct.onerror=this._xhrOnError.bind(this),De.withCredentials&&(Ct.withCredentials=!0),typeof ft.headers=="object"){let rn=ft.headers;for(let nn in rn)rn.hasOwnProperty(nn)&&Ct.setRequestHeader(nn,rn[nn])}if(typeof this._config.headers=="object"){let rn=this._config.headers;for(let nn in rn)rn.hasOwnProperty(nn)&&Ct.setRequestHeader(nn,rn[nn])}this._isReconnecting?this._isReconnecting=!1:this._status=LoaderStatus.kConnecting,Ct.send()}abort(){this._internalAbort(),this._status=LoaderStatus.kComplete}_internalAbort(){this._reader&&(this._reader.readyState===1&&this._reader.abort(),this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.abort(),this._xhr.onreadystatechange=null,this._xhr=null)}_xhrOnReadyStateChange(De){let He=De.target;if(He.readyState===2)if(He.status>=200&&He.status<=299){if(this._status=LoaderStatus.kBuffering,He.responseURL!=null){let et=this._seekHandler.removeURLParameters(He.responseURL);He.responseURL!==this._currentRequestURL&&et!==this._currentRedirectedURL&&(this._currentRedirectedURL=et,this._onURLRedirect&&this._onURLRedirect(et))}let Re=He.getResponseHeader("Content-Length");if(Re!=null&&this._contentLength==null){let et=parseInt(Re);et>0&&(this._contentLength=et,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength))}}else if(this._status=LoaderStatus.kError,this._onError)this._onError(LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:He.status,msg:He.statusText});else throw new RuntimeException("MSStreamLoader: Http code invalid, "+He.status+" "+He.statusText);else if(He.readyState===3&&He.status>=200&&He.status<=299){this._status=LoaderStatus.kBuffering;let Re=He.response;this._reader.readAsArrayBuffer(Re)}}_xhrOnError(De){this._status=LoaderStatus.kError;let He=LoaderErrors.EXCEPTION,Re={code:-1,msg:De.constructor.name+" "+De.type};if(this._onError)this._onError(He,Re);else throw new RuntimeException(Re.msg)}_msrOnProgress(De){let Re=De.target.result;if(Re==null){this._doReconnectIfNeeded();return}let et=Re.slice(this._lastTimeBufferSize);this._lastTimeBufferSize=Re.byteLength;let ft=this._totalRange.from+this._receivedLength;this._receivedLength+=et.byteLength,this._onDataArrival&&this._onDataArrival(et,ft,this._receivedLength),Re.byteLength>=this._bufferLimit&&(Log.v(this.TAG,`MSStream buffer exceeded max size near ${ft+et.byteLength}, reconnecting...`),this._doReconnectIfNeeded())}_doReconnectIfNeeded(){if(this._contentLength==null||this._receivedLength<this._contentLength){this._isReconnecting=!0,this._lastTimeBufferSize=0,this._internalAbort();let De={from:this._totalRange.from+this._receivedLength,to:-1};this._internalOpen(this._dataSource,De,!0)}}_msrOnLoad(De){this._status=LoaderStatus.kComplete,this._onComplete&&this._onComplete(this._totalRange.from,this._totalRange.from+this._receivedLength-1)}_msrOnError(De){this._status=LoaderStatus.kError;let He=0,Re=null;if(this._contentLength&&this._receivedLength<this._contentLength?(He=LoaderErrors.EARLY_EOF,Re={code:-1,msg:"MSStream meet Early-Eof"}):(He=LoaderErrors.EARLY_EOF,Re={code:-1,msg:De.constructor.name+" "+De.type}),this._onError)this._onError(He,Re);else throw new RuntimeException(Re.msg)}}var Le=null;class ze extends ie{static isSupported(){try{let De=new XMLHttpRequest;return De.open("GET","https://example.com",!0),De.responseType="arraybuffer",De.responseType==="arraybuffer"}catch(De){return Be.w("RangeLoader",De.message),!1}}constructor(De,He){super("xhr-range-loader"),this.TAG="RangeLoader",this._seekHandler=De,this._config=He,this._needStash=!1,this._chunkSizeKBList=[128,256,384,512,768,1024,1536,2048,3072,4096,5120,6144,7168,8192],this._currentChunkSizeKB=384,this._currentSpeedNormalized=0,this._zeroSpeedChunkCount=0,this._xhr=null,this._speedSampler=new Te,this._requestAbort=!1,this._waitForTotalLength=!1,this._totalLengthReceived=!1,this._currentRequestURL=null,this._currentRedirectedURL=null,this._currentRequestRange=null,this._totalLength=null,this._contentLength=null,this._receivedLength=0,this._lastTimeLoaded=0}destroy(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr=null),super.destroy()}get currentSpeed(){return this._speedSampler.lastSecondKBps}open(De,He){this._dataSource=De,this._range=He,this._status=je.kConnecting;let Re=!1;this._dataSource.filesize!=null&&this._dataSource.filesize!==0&&(Re=!0,this._totalLength=this._dataSource.filesize),!this._totalLengthReceived&&!Re?(this._waitForTotalLength=!0,this._internalOpen(this._dataSource,{from:0,to:-1})):this._openSubRange()}_openSubRange(){let De=this._currentChunkSizeKB*1024,He=this._range.from+this._receivedLength,Re=He+De;this._contentLength!=null&&Re-this._range.from>=this._contentLength&&(Re=this._range.from+this._contentLength-1),this._currentRequestRange={from:He,to:Re},this._internalOpen(this._dataSource,this._currentRequestRange)}_internalOpen(De,He){this._lastTimeLoaded=0;let Re=De.url;this._config.reuseRedirectedURL&&(this._currentRedirectedURL!=null?Re=this._currentRedirectedURL:De.redirectedURL!=null&&(Re=De.redirectedURL));let et=this._seekHandler.getConfig(Re,He);this._currentRequestURL=et.url;let ft=this._xhr=new XMLHttpRequest;if(ft.open("GET",et.url,!0),ft.responseType="arraybuffer",ft.onreadystatechange=this._onReadyStateChange.bind(this),ft.onprogress=this._onProgress.bind(this),ft.onload=this._onLoad.bind(this),ft.onerror=this._onXhrError.bind(this),De.withCredentials&&(ft.withCredentials=!0),typeof et.headers=="object"){let Bt=et.headers;for(let Ct in Bt)Bt.hasOwnProperty(Ct)&&ft.setRequestHeader(Ct,Bt[Ct])}if(typeof this._config.headers=="object"){let Bt=this._config.headers;for(let Ct in Bt)Bt.hasOwnProperty(Ct)&&ft.setRequestHeader(Ct,Bt[Ct])}ft.send()}abort(){this._requestAbort=!0,this._internalAbort(),this._status=je.kComplete}_internalAbort(){this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr.abort(),this._xhr=null)}_onReadyStateChange(De){let He=De.target;if(He.readyState===2){if(He.responseURL!=null){let Re=this._seekHandler.removeURLParameters(He.responseURL);He.responseURL!==this._currentRequestURL&&Re!==this._currentRedirectedURL&&(this._currentRedirectedURL=Re,this._onURLRedirect&&this._onURLRedirect(Re))}if(He.status>=200&&He.status<=299){if(this._waitForTotalLength)return;this._status=je.kBuffering}else if(this._status=je.kError,this._onError)this._onError(ye.HTTP_STATUS_CODE_INVALID,{code:He.status,msg:He.statusText});else throw new ke("RangeLoader: Http code invalid, "+He.status+" "+He.statusText)}}_onProgress(De){if(this._status===je.kError)return;if(this._contentLength===null){let Re=!1;if(this._waitForTotalLength){this._waitForTotalLength=!1,this._totalLengthReceived=!0,Re=!0;let et=De.total;this._internalAbort(),et!=null&et!==0&&(this._totalLength=et)}if(this._range.to===-1?this._contentLength=this._totalLength-this._range.from:this._contentLength=this._range.to-this._range.from+1,Re){this._openSubRange();return}this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)}let He=De.loaded-this._lastTimeLoaded;this._lastTimeLoaded=De.loaded,this._speedSampler.addBytes(He)}_normalizeSpeed(De){let He=this._chunkSizeKBList,Re=He.length-1,et=0,ft=0,Bt=Re;if(De<He[0])return He[0];for(;ft<=Bt;){if(et=ft+Math.floor((Bt-ft)/2),et===Re||De>=He[et]&&De<He[et+1])return He[et];He[et]<De?ft=et+1:Bt=et-1}}_onLoad(De){if(this._status===je.kError)return;if(this._waitForTotalLength){this._waitForTotalLength=!1;return}this._lastTimeLoaded=0;let He=this._speedSampler.lastSecondKBps;if(He===0&&(this._zeroSpeedChunkCount++,this._zeroSpeedChunkCount>=3&&(He=this._speedSampler.currentKBps)),He!==0){let Bt=this._normalizeSpeed(He);this._currentSpeedNormalized!==Bt&&(this._currentSpeedNormalized=Bt,this._currentChunkSizeKB=Bt)}let Re=De.target.response,et=this._range.from+this._receivedLength;this._receivedLength+=Re.byteLength;let ft=!1;this._contentLength!=null&&this._receivedLength<this._contentLength?this._openSubRange():ft=!0,this._onDataArrival&&this._onDataArrival(Re,et,this._receivedLength),ft&&(this._status=je.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1))}_onXhrError(De){this._status=je.kError;let He=0,Re=null;if(this._contentLength&&this._receivedLength>0&&this._receivedLength<this._contentLength?(He=ye.EARLY_EOF,Re={code:-1,msg:"RangeLoader meet Early-Eof"}):(He=ye.EXCEPTION,Re={code:-1,msg:De.constructor.name+" "+De.type}),this._onError)this._onError(He,Re);else throw new ke(Re.msg)}}var Ze=ze;class Ve extends ie{static isSupported(){try{return typeof self.WebSocket!="undefined"}catch(De){return!1}}constructor(){super("websocket-loader"),this.TAG="WebSocketLoader",this._needStash=!0,this._ws=null,this._requestAbort=!1,this._receivedLength=0}destroy(){this._ws&&this.abort(),super.destroy()}open(De){try{let He=this._ws=new self.WebSocket(De.url);He.binaryType="arraybuffer",He.onopen=this._onWebSocketOpen.bind(this),He.onclose=this._onWebSocketClose.bind(this),He.onmessage=this._onWebSocketMessage.bind(this),He.onerror=this._onWebSocketError.bind(this),this._status=je.kConnecting}catch(He){this._status=je.kError;let Re={code:He.code,msg:He.message};if(this._onError)this._onError(ye.EXCEPTION,Re);else throw new ke(Re.msg)}}abort(){let De=this._ws;De&&(De.readyState===0||De.readyState===1)&&(this._requestAbort=!0,De.close()),this._ws=null,this._status=je.kComplete}_onWebSocketOpen(De){this._status=je.kBuffering}_onWebSocketClose(De){if(this._requestAbort===!0){this._requestAbort=!1;return}this._status=je.kComplete,this._onComplete&&this._onComplete(0,this._receivedLength-1)}_onWebSocketMessage(De){if(De.data instanceof ArrayBuffer)this._dispatchArrayBuffer(De.data);else if(De.data instanceof Blob){let He=new FileReader;He.onload=()=>{this._dispatchArrayBuffer(He.result)},He.readAsArrayBuffer(De.data)}else{this._status=je.kError;let He={code:-1,msg:"Unsupported WebSocket message type: "+De.data.constructor.name};if(this._onError)this._onError(ye.EXCEPTION,He);else throw new ke(He.msg)}}_dispatchArrayBuffer(De){let He=De,Re=this._receivedLength;this._receivedLength+=He.byteLength,this._onDataArrival&&this._onDataArrival(He,Re,this._receivedLength)}_onWebSocketError(De){this._status=je.kError;let He={code:De.code,msg:De.message};if(this._onError)this._onError(ye.EXCEPTION,He);else throw new ke(He.msg)}}var Qe=Ve;class $e{constructor(De){this._zeroStart=De||!1}getConfig(De,He){let Re={};if(He.from!==0||He.to!==-1){let et;He.to!==-1?et=`bytes=${He.from.toString()}-${He.to.toString()}`:et=`bytes=${He.from.toString()}-`,Re.Range=et}else this._zeroStart&&(Re.Range="bytes=0-");return{url:De,headers:Re}}removeURLParameters(De){return De}}var gt=$e;class lt{constructor(De,He){this._startName=De,this._endName=He}getConfig(De,He){let Re=De;if(He.from!==0||He.to!==-1){let et=!0;Re.indexOf("?")===-1&&(Re+="?",et=!1),et&&(Re+="&"),Re+=`${this._startName}=${He.from.toString()}`,He.to!==-1&&(Re+=`&${this._endName}=${He.to.toString()}`)}return{url:Re,headers:{}}}removeURLParameters(De){let He=De.split("?")[0],Re,et=De.indexOf("?");et!==-1&&(Re=De.substring(et+1));let ft="";if(Re!=null&&Re.length>0){let Bt=Re.split("&");for(let Ct=0;Ct<Bt.length;Ct++){let rn=Bt[Ct].split("="),nn=Ct>0;rn[0]!==this._startName&&rn[0]!==this._endName&&(nn&&(ft+="&"),ft+=Bt[Ct])}}return ft.length===0?He:He+"?"+ft}}var At=lt;class Et{constructor(De,He,Re){this.TAG="IOController",this._config=He,this._extraData=Re,this._stashInitialSize=1024*384,He.stashInitialSize!=null&&He.stashInitialSize>0&&(this._stashInitialSize=He.stashInitialSize),this._stashUsed=0,this._stashSize=this._stashInitialSize,this._bufferSize=1024*1024*3,this._stashBuffer=new ArrayBuffer(this._bufferSize),this._stashByteStart=0,this._enableStash=!0,He.enableStashBuffer===!1&&(this._enableStash=!1),this._loader=null,this._loaderClass=null,this._seekHandler=null,this._dataSource=De,this._isWebSocketURL=/wss?:\/\/(.+?)/.test(De.url),this._refTotalLength=De.filesize?De.filesize:null,this._totalLength=this._refTotalLength,this._fullRequestFlag=!1,this._currentRange=null,this._redirectedURL=null,this._speedNormalized=0,this._speedSampler=new Te,this._speedNormalizeList=[64,128,256,384,512,768,1024,1536,2048,3072,4096],this._isEarlyEofReconnecting=!1,this._paused=!1,this._resumeFrom=0,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._selectSeekHandler(),this._selectLoader(),this._createLoader()}destroy(){this._loader.isWorking()&&this._loader.abort(),this._loader.destroy(),this._loader=null,this._loaderClass=null,this._dataSource=null,this._stashBuffer=null,this._stashUsed=this._stashSize=this._bufferSize=this._stashByteStart=0,this._currentRange=null,this._speedSampler=null,this._isEarlyEofReconnecting=!1,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._extraData=null}isWorking(){return this._loader&&this._loader.isWorking()&&!this._paused}isPaused(){return this._paused}get status(){return this._loader.status}get extraData(){return this._extraData}set extraData(De){this._extraData=De}get onDataArrival(){return this._onDataArrival}set onDataArrival(De){this._onDataArrival=De}get onSeeked(){return this._onSeeked}set onSeeked(De){this._onSeeked=De}get onError(){return this._onError}set onError(De){this._onError=De}get onComplete(){return this._onComplete}set onComplete(De){this._onComplete=De}get onRedirect(){return this._onRedirect}set onRedirect(De){this._onRedirect=De}get onRecoveredEarlyEof(){return this._onRecoveredEarlyEof}set onRecoveredEarlyEof(De){this._onRecoveredEarlyEof=De}get currentURL(){return this._dataSource.url}get hasRedirect(){return this._redirectedURL!=null||this._dataSource.redirectedURL!=null}get currentRedirectedURL(){return this._redirectedURL||this._dataSource.redirectedURL}get currentSpeed(){return this._loaderClass===Ze?this._loader.currentSpeed:this._speedSampler.lastSecondKBps}get loaderType(){return this._loader.type}_selectSeekHandler(){let De=this._config;if(De.seekType==="range")this._seekHandler=new gt(this._config.rangeLoadZeroStart);else if(De.seekType==="param"){let He=De.seekParamStart||"bstart",Re=De.seekParamEnd||"bend";this._seekHandler=new At(He,Re)}else if(De.seekType==="custom"){if(typeof De.customSeekHandler!="function")throw new Ce("Custom seekType specified in config but invalid customSeekHandler!");this._seekHandler=new De.customSeekHandler}else throw new Ce(`Invalid seekType in config: ${De.seekType}`)}_selectLoader(){if(this._config.customLoader!=null)this._loaderClass=this._config.customLoader;else if(this._isWebSocketURL)this._loaderClass=Qe;else if(xe.isSupported())this._loaderClass=xe;else if(pe.isSupported())this._loaderClass=pe;else if(Ze.isSupported())this._loaderClass=Ze;else throw new ke("Your browser doesn't support xhr with arraybuffer responseType!")}_createLoader(){this._loader=new this._loaderClass(this._seekHandler,this._config),this._loader.needStashBuffer===!1&&(this._enableStash=!1),this._loader.onContentLengthKnown=this._onContentLengthKnown.bind(this),this._loader.onURLRedirect=this._onURLRedirect.bind(this),this._loader.onDataArrival=this._onLoaderChunkArrival.bind(this),this._loader.onComplete=this._onLoaderComplete.bind(this),this._loader.onError=this._onLoaderError.bind(this)}open(De){this._currentRange={from:0,to:-1},De&&(this._currentRange.from=De),this._speedSampler.reset(),De||(this._fullRequestFlag=!0),this._loader.open(this._dataSource,Object.assign({},this._currentRange))}abort(){this._loader.abort(),this._paused&&(this._paused=!1,this._resumeFrom=0)}pause(){this.isWorking()&&(this._loader.abort(),this._stashUsed!==0?(this._resumeFrom=this._stashByteStart,this._currentRange.to=this._stashByteStart-1):this._resumeFrom=this._currentRange.to+1,this._stashUsed=0,this._stashByteStart=0,this._paused=!0)}resume(){if(this._paused){this._paused=!1;let De=this._resumeFrom;this._resumeFrom=0,this._internalSeek(De,!0)}}seek(De){this._paused=!1,this._stashUsed=0,this._stashByteStart=0,this._internalSeek(De,!0)}_internalSeek(De,He){this._loader.isWorking()&&this._loader.abort(),this._flushStashBuffer(He),this._loader.destroy(),this._loader=null;let Re={from:De,to:-1};this._currentRange={from:Re.from,to:-1},this._speedSampler.reset(),this._stashSize=this._stashInitialSize,this._createLoader(),this._loader.open(this._dataSource,Re),this._onSeeked&&this._onSeeked()}updateUrl(De){if(!De||typeof De!="string"||De.length===0)throw new Ce("Url must be a non-empty string!");this._dataSource.url=De}_expandBuffer(De){let He=this._stashSize;for(;He+1024*1024*1<De;)He*=2;if(He+=1024*1024*1,He===this._bufferSize)return;let Re=new ArrayBuffer(He);if(this._stashUsed>0){let et=new Uint8Array(this._stashBuffer,0,this._stashUsed);new Uint8Array(Re,0,He).set(et,0)}this._stashBuffer=Re,this._bufferSize=He}_normalizeSpeed(De){let He=this._speedNormalizeList,Re=He.length-1,et=0,ft=0,Bt=Re;if(De<He[0])return He[0];for(;ft<=Bt;){if(et=ft+Math.floor((Bt-ft)/2),et===Re||De>=He[et]&&De<He[et+1])return He[et];He[et]<De?ft=et+1:Bt=et-1}}_adjustStashSize(De){let He=0;this._config.isLive||De<512?He=De:De>=512&&De<=1024?He=Math.floor(De*1.5):He=De*2,He>8192&&(He=8192);let Re=He*1024+1024*1024*1;this._bufferSize<Re&&this._expandBuffer(Re),this._stashSize=He*1024}_dispatchChunks(De,He){return this._currentRange.to=He+De.byteLength-1,this._onDataArrival(De,He)}_onURLRedirect(De){this._redirectedURL=De,this._onRedirect&&this._onRedirect(De)}_onContentLengthKnown(De){De&&this._fullRequestFlag&&(this._totalLength=De,this._fullRequestFlag=!1)}_onLoaderChunkArrival(De,He,Re){if(!this._onDataArrival)throw new Ie("IOController: No existing consumer (onDataArrival) callback!");if(this._paused)return;this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,this._onRecoveredEarlyEof&&this._onRecoveredEarlyEof()),this._speedSampler.addBytes(De.byteLength);let et=this._speedSampler.lastSecondKBps;if(et!==0){let ft=this._normalizeSpeed(et);this._speedNormalized!==ft&&(this._speedNormalized=ft,this._adjustStashSize(ft))}if(this._enableStash)if(this._stashUsed===0&&this._stashByteStart===0&&(this._stashByteStart=He),this._stashUsed+De.byteLength<=this._stashSize)new Uint8Array(this._stashBuffer,0,this._stashSize).set(new Uint8Array(De),this._stashUsed),this._stashUsed+=De.byteLength;else{let ft=new Uint8Array(this._stashBuffer,0,this._bufferSize);if(this._stashUsed>0){let Bt=this._stashBuffer.slice(0,this._stashUsed),Ct=this._dispatchChunks(Bt,this._stashByteStart);if(Ct<Bt.byteLength){if(Ct>0){let rn=new Uint8Array(Bt,Ct);ft.set(rn,0),this._stashUsed=rn.byteLength,this._stashByteStart+=Ct}}else this._stashUsed=0,this._stashByteStart+=Ct;this._stashUsed+De.byteLength>this._bufferSize&&(this._expandBuffer(this._stashUsed+De.byteLength),ft=new Uint8Array(this._stashBuffer,0,this._bufferSize)),ft.set(new Uint8Array(De),this._stashUsed),this._stashUsed+=De.byteLength}else{let Bt=this._dispatchChunks(De,He);if(Bt<De.byteLength){let Ct=De.byteLength-Bt;Ct>this._bufferSize&&(this._expandBuffer(Ct),ft=new Uint8Array(this._stashBuffer,0,this._bufferSize)),ft.set(new Uint8Array(De,Bt),0),this._stashUsed+=Ct,this._stashByteStart=He+Bt}}}else if(this._stashUsed===0){let ft=this._dispatchChunks(De,He);if(ft<De.byteLength){let Bt=De.byteLength-ft;Bt>this._bufferSize&&this._expandBuffer(Bt),new Uint8Array(this._stashBuffer,0,this._bufferSize).set(new Uint8Array(De,ft),0),this._stashUsed+=Bt,this._stashByteStart=He+ft}}else{this._stashUsed+De.byteLength>this._bufferSize&&this._expandBuffer(this._stashUsed+De.byteLength);let ft=new Uint8Array(this._stashBuffer,0,this._bufferSize);ft.set(new Uint8Array(De),this._stashUsed),this._stashUsed+=De.byteLength;let Bt=this._dispatchChunks(this._stashBuffer.slice(0,this._stashUsed),this._stashByteStart);if(Bt<this._stashUsed&&Bt>0){let Ct=new Uint8Array(this._stashBuffer,Bt);ft.set(Ct,0)}this._stashUsed-=Bt,this._stashByteStart+=Bt}}_flushStashBuffer(De){if(this._stashUsed>0){let He=this._stashBuffer.slice(0,this._stashUsed),Re=this._dispatchChunks(He,this._stashByteStart),et=He.byteLength-Re;if(Re<He.byteLength)if(De)Be.w(this.TAG,`${et} bytes unconsumed data remain when flush buffer, dropped`);else{if(Re>0){let ft=new Uint8Array(this._stashBuffer,0,this._bufferSize),Bt=new Uint8Array(He,Re);ft.set(Bt,0),this._stashUsed=Bt.byteLength,this._stashByteStart+=Re}return 0}return this._stashUsed=0,this._stashByteStart=0,et}return 0}_onLoaderComplete(De,He){this._flushStashBuffer(!0),this._onComplete&&this._onComplete(this._extraData)}_onLoaderError(De,He){switch(Be.e(this.TAG,`Loader error, code = ${He.code}, msg = ${He.msg}`),this._flushStashBuffer(!1),this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,De=ye.UNRECOVERABLE_EARLY_EOF),De){case ye.EARLY_EOF:{if(!this._config.isLive&&this._totalLength){let Re=this._currentRange.to+1;Re<this._totalLength&&(Be.w(this.TAG,"Connection lost, trying reconnect..."),this._isEarlyEofReconnecting=!0,this._internalSeek(Re,!1));return}De=ye.UNRECOVERABLE_EARLY_EOF;break}case ye.UNRECOVERABLE_EARLY_EOF:case ye.CONNECTING_TIMEOUT:case ye.HTTP_STATUS_CODE_INVALID:case ye.EXCEPTION:break}if(this._onError)this._onError(De,He);else throw new ke("IOException: "+He.msg)}}var vt=Et;const Lt={enableWorker:!1,enableStashBuffer:!0,stashInitialSize:void 0,isLive:!1,lazyLoad:!0,lazyLoadMaxDuration:3*60,lazyLoadRecoverDuration:30,deferLoadAfterSourceOpen:!0,autoCleanupMaxBackwardDuration:3*60,autoCleanupMinBackwardDuration:2*60,statisticsInfoReportInterval:600,fixAudioTimestampGap:!0,accurateSeek:!1,seekType:"range",seekParamStart:"bstart",seekParamEnd:"bend",rangeLoadZeroStart:!1,customSeekHandler:void 0,reuseRedirectedURL:!1,headers:void 0,customLoader:void 0};function St(){return Object.assign({},Lt)}class xt{static supportMSEH264Playback(){return window.MediaSource&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')}static supportNetworkStreamIO(){let De=new vt({},St()),He=De.loaderType;return De.destroy(),He=="fetch-stream-loader"||He=="xhr-moz-chunked-loader"}static getNetworkLoaderTypeName(){let De=new vt({},St()),He=De.loaderType;return De.destroy(),He}static supportNativeMediaPlayback(De){xt.videoElement==null&&(xt.videoElement=window.document.createElement("video"));let He=xt.videoElement.canPlayType(De);return He==="probably"||He=="maybe"}static getFeatureList(){let De={mseFlvPlayback:!1,mseLiveFlvPlayback:!1,networkStreamIO:!1,networkLoaderName:"",nativeMP4H264Playback:!1,nativeWebmVP8Playback:!1,nativeWebmVP9Playback:!1};return De.mseFlvPlayback=xt.supportMSEH264Playback(),De.networkStreamIO=xt.supportNetworkStreamIO(),De.networkLoaderName=xt.getNetworkLoaderTypeName(),De.mseLiveFlvPlayback=De.mseFlvPlayback&&De.networkStreamIO,De.nativeMP4H264Playback=xt.supportNativeMediaPlayback('video/mp4; codecs="avc1.42001E, mp4a.40.2"'),De.nativeWebmVP8Playback=xt.supportNativeMediaPlayback('video/webm; codecs="vp8.0, vorbis"'),De.nativeWebmVP9Playback=xt.supportNativeMediaPlayback('video/webm; codecs="vp9"'),De}}var ct=xt,Xt={ERROR:"error",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info"};class kt{static get forceGlobalTag(){return Be.FORCE_GLOBAL_TAG}static set forceGlobalTag(De){Be.FORCE_GLOBAL_TAG=De,kt._notifyChange()}static get globalTag(){return Be.GLOBAL_TAG}static set globalTag(De){Be.GLOBAL_TAG=De,kt._notifyChange()}static get enableAll(){return Be.ENABLE_VERBOSE&&Be.ENABLE_DEBUG&&Be.ENABLE_INFO&&Be.ENABLE_WARN&&Be.ENABLE_ERROR}static set enableAll(De){Be.ENABLE_VERBOSE=De,Be.ENABLE_DEBUG=De,Be.ENABLE_INFO=De,Be.ENABLE_WARN=De,Be.ENABLE_ERROR=De,kt._notifyChange()}static get enableDebug(){return Be.ENABLE_DEBUG}static set enableDebug(De){Be.ENABLE_DEBUG=De,kt._notifyChange()}static get enableVerbose(){return Be.ENABLE_VERBOSE}static set enableVerbose(De){Be.ENABLE_VERBOSE=De,kt._notifyChange()}static get enableInfo(){return Be.ENABLE_INFO}static set enableInfo(De){Be.ENABLE_INFO=De,kt._notifyChange()}static get enableWarn(){return Be.ENABLE_WARN}static set enableWarn(De){Be.ENABLE_WARN=De,kt._notifyChange()}static get enableError(){return Be.ENABLE_ERROR}static set enableError(De){Be.ENABLE_ERROR=De,kt._notifyChange()}static getConfig(){return{globalTag:Be.GLOBAL_TAG,forceGlobalTag:Be.FORCE_GLOBAL_TAG,enableVerbose:Be.ENABLE_VERBOSE,enableDebug:Be.ENABLE_DEBUG,enableInfo:Be.ENABLE_INFO,enableWarn:Be.ENABLE_WARN,enableError:Be.ENABLE_ERROR,enableCallback:Be.ENABLE_CALLBACK}}static applyConfig(De){Be.GLOBAL_TAG=De.globalTag,Be.FORCE_GLOBAL_TAG=De.forceGlobalTag,Be.ENABLE_VERBOSE=De.enableVerbose,Be.ENABLE_DEBUG=De.enableDebug,Be.ENABLE_INFO=De.enableInfo,Be.ENABLE_WARN=De.enableWarn,Be.ENABLE_ERROR=De.enableError,Be.ENABLE_CALLBACK=De.enableCallback}static _notifyChange(){let De=kt.emitter;if(De.listenerCount("change")>0){let He=kt.getConfig();De.emit("change",He)}}static registerListener(De){kt.emitter.addListener("change",De)}static removeListener(De){kt.emitter.removeListener("change",De)}static addLogListener(De){Be.emitter.addListener("log",De),Be.emitter.listenerCount("log")>0&&(Be.ENABLE_CALLBACK=!0,kt._notifyChange())}static removeLogListener(De){Be.emitter.removeListener("log",De),Be.emitter.listenerCount("log")===0&&(Be.ENABLE_CALLBACK=!1,kt._notifyChange())}}kt.emitter=new(Ne());var Rt=kt;class Gt{constructor(){this.mimeType=null,this.duration=null,this.hasAudio=null,this.hasVideo=null,this.audioCodec=null,this.videoCodec=null,this.audioDataRate=null,this.videoDataRate=null,this.audioSampleRate=null,this.audioChannelCount=null,this.width=null,this.height=null,this.fps=null,this.profile=null,this.level=null,this.refFrames=null,this.chromaFormat=null,this.sarNum=null,this.sarDen=null,this.metadata=null,this.segments=null,this.segmentCount=null,this.hasKeyframesIndex=null,this.keyframesIndex=null}isComplete(){let De=this.hasAudio===!1||this.hasAudio===!0&&this.audioCodec!=null&&this.audioSampleRate!=null&&this.audioChannelCount!=null,He=this.hasVideo===!1||this.hasVideo===!0&&this.videoCodec!=null&&this.width!=null&&this.height!=null&&this.fps!=null&&this.profile!=null&&this.level!=null&&this.refFrames!=null&&this.chromaFormat!=null&&this.sarNum!=null&&this.sarDen!=null;return this.mimeType!=null&&this.duration!=null&&this.metadata!=null&&this.hasKeyframesIndex!=null&&De&&He}isSeekable(){return this.hasKeyframesIndex===!0}getNearestKeyframe(De){if(this.keyframesIndex==null)return null;let He=this.keyframesIndex,Re=this._search(He.times,De);return{index:Re,milliseconds:He.times[Re],fileposition:He.filepositions[Re]}}_search(De,He){let Re=0,et=De.length-1,ft=0,Bt=0,Ct=et;for(He<De[0]&&(Re=0,Bt=Ct+1);Bt<=Ct;)if(ft=Bt+Math.floor((Ct-Bt)/2),ft===et||He>=De[ft]&&He<De[ft+1]){Re=ft;break}else De[ft]<He?Bt=ft+1:Ct=ft-1;return Re}}var ln=Gt;function Rn(Nt,De,He){let Re=Nt;if(De+He<Re.length){for(;He--;)if((Re[++De]&192)!==128)return!1;return!0}else return!1}function jn(Nt){let De=[],He=Nt,Re=0,et=Nt.length;for(;Re<et;){if(He[Re]<128){De.push(String.fromCharCode(He[Re])),++Re;continue}else if(!(He[Re]<192)){if(He[Re]<224){if(Rn(He,Re,1)){let ft=(He[Re]&31)<<6|He[Re+1]&63;if(ft>=128){De.push(String.fromCharCode(ft&65535)),Re+=2;continue}}}else if(He[Re]<240){if(Rn(He,Re,2)){let ft=(He[Re]&15)<<12|(He[Re+1]&63)<<6|He[Re+2]&63;if(ft>=2048&&(ft&63488)!==55296){De.push(String.fromCharCode(ft&65535)),Re+=3;continue}}}else if(He[Re]<248&&Rn(He,Re,3)){let ft=(He[Re]&7)<<18|(He[Re+1]&63)<<12|(He[Re+2]&63)<<6|He[Re+3]&63;if(ft>65536&&ft<1114112){ft-=65536,De.push(String.fromCharCode(ft>>>10|55296)),De.push(String.fromCharCode(ft&1023|56320)),Re+=4;continue}}}De.push("\uFFFD"),++Re}return De.join("")}var er=jn;let an=function(){let Nt=new ArrayBuffer(2);return new DataView(Nt).setInt16(0,256,!0),new Int16Array(Nt)[0]===256}();class Un{static parseScriptData(De,He,Re){let et={};try{let ft=Un.parseValue(De,He,Re),Bt=Un.parseValue(De,He+ft.size,Re-ft.size);et[ft.data]=Bt.data}catch(ft){Be.e("AMF",ft.toString())}return et}static parseObject(De,He,Re){if(Re<3)throw new Ie("Data not enough when parse ScriptDataObject");let et=Un.parseString(De,He,Re),ft=Un.parseValue(De,He+et.size,Re-et.size),Bt=ft.objectEnd;return{data:{name:et.data,value:ft.data},size:et.size+ft.size,objectEnd:Bt}}static parseVariable(De,He,Re){return Un.parseObject(De,He,Re)}static parseString(De,He,Re){if(Re<2)throw new Ie("Data not enough when parse String");let ft=new DataView(De,He,Re).getUint16(0,!an),Bt;return ft>0?Bt=er(new Uint8Array(De,He+2,ft)):Bt="",{data:Bt,size:2+ft}}static parseLongString(De,He,Re){if(Re<4)throw new Ie("Data not enough when parse LongString");let ft=new DataView(De,He,Re).getUint32(0,!an),Bt;return ft>0?Bt=er(new Uint8Array(De,He+4,ft)):Bt="",{data:Bt,size:4+ft}}static parseDate(De,He,Re){if(Re<10)throw new Ie("Data size invalid when parse Date");let et=new DataView(De,He,Re),ft=et.getFloat64(0,!an),Bt=et.getInt16(8,!an);return ft+=Bt*60*1e3,{data:new Date(ft),size:10}}static parseValue(De,He,Re){if(Re<1)throw new Ie("Data not enough when parse Value");let et=new DataView(De,He,Re),ft=1,Bt=et.getUint8(0),Ct,rn=!1;try{switch(Bt){case 0:Ct=et.getFloat64(1,!an),ft+=8;break;case 1:{Ct=!!et.getUint8(1),ft+=1;break}case 2:{let nn=Un.parseString(De,He+1,Re-1);Ct=nn.data,ft+=nn.size;break}case 3:{Ct={};let nn=0;for((et.getUint32(Re-4,!an)&16777215)===9&&(nn=3);ft<Re-4;){let Gn=Un.parseObject(De,He+ft,Re-ft-nn);if(Gn.objectEnd)break;Ct[Gn.data.name]=Gn.data.value,ft+=Gn.size}ft<=Re-3&&(et.getUint32(ft-1,!an)&16777215)===9&&(ft+=3);break}case 8:{Ct={},ft+=4;let nn=0;for((et.getUint32(Re-4,!an)&16777215)===9&&(nn=3);ft<Re-8;){let Gn=Un.parseVariable(De,He+ft,Re-ft-nn);if(Gn.objectEnd)break;Ct[Gn.data.name]=Gn.data.value,ft+=Gn.size}ft<=Re-3&&(et.getUint32(ft-1,!an)&16777215)===9&&(ft+=3);break}case 9:Ct=void 0,ft=1,rn=!0;break;case 10:{Ct=[];let nn=et.getUint32(1,!an);ft+=4;for(let Gn=0;Gn<nn;Gn++){let Sn=Un.parseValue(De,He+ft,Re-ft);Ct.push(Sn.data),ft+=Sn.size}break}case 11:{let nn=Un.parseDate(De,He+1,Re-1);Ct=nn.data,ft+=nn.size;break}case 12:{let nn=Un.parseString(De,He+1,Re-1);Ct=nn.data,ft+=nn.size;break}default:ft=Re,Be.w("AMF","Unsupported AMF value type "+Bt)}}catch(nn){Be.e("AMF",nn.toString())}return{data:Ct,size:ft,objectEnd:rn}}}var Kn=Un;class ur{constructor(De){this.TAG="ExpGolomb",this._buffer=De,this._buffer_index=0,this._total_bytes=De.byteLength,this._total_bits=De.byteLength*8,this._current_word=0,this._current_word_bits_left=0}destroy(){this._buffer=null}_fillCurrentWord(){let De=this._total_bytes-this._buffer_index;if(De<=0)throw new Ie("ExpGolomb: _fillCurrentWord() but no bytes available");let He=Math.min(4,De),Re=new Uint8Array(4);Re.set(this._buffer.subarray(this._buffer_index,this._buffer_index+He)),this._current_word=new DataView(Re.buffer).getUint32(0,!1),this._buffer_index+=He,this._current_word_bits_left=He*8}readBits(De){if(De>32)throw new Ce("ExpGolomb: readBits() bits exceeded max 32bits!");if(De<=this._current_word_bits_left){let Bt=this._current_word>>>32-De;return this._current_word<<=De,this._current_word_bits_left-=De,Bt}let He=this._current_word_bits_left?this._current_word:0;He=He>>>32-this._current_word_bits_left;let Re=De-this._current_word_bits_left;this._fillCurrentWord();let et=Math.min(Re,this._current_word_bits_left),ft=this._current_word>>>32-et;return this._current_word<<=et,this._current_word_bits_left-=et,He=He<<et|ft,He}readBool(){return this.readBits(1)===1}readByte(){return this.readBits(8)}_skipLeadingZero(){let De;for(De=0;De<this._current_word_bits_left;De++)if(this._current_word&2147483648>>>De)return this._current_word<<=De,this._current_word_bits_left-=De,De;return this._fillCurrentWord(),De+this._skipLeadingZero()}readUEG(){let De=this._skipLeadingZero();return this.readBits(De+1)-1}readSEG(){let De=this.readUEG();return De&1?De+1>>>1:-1*(De>>>1)}}var Xn=ur;class Nn{static _ebsp2rbsp(De){let He=De,Re=He.byteLength,et=new Uint8Array(Re),ft=0;for(let Bt=0;Bt<Re;Bt++)Bt>=2&&He[Bt]===3&&He[Bt-1]===0&&He[Bt-2]===0||(et[ft]=He[Bt],ft++);return new Uint8Array(et.buffer,0,ft)}static parseSPS(De){let He=Nn._ebsp2rbsp(De),Re=new Xn(He);Re.readByte();let et=Re.readByte();Re.readByte();let ft=Re.readByte();Re.readUEG();let Bt=Nn.getProfileString(et),Ct=Nn.getLevelString(ft),rn=1,nn=420,Gn=[0,420,422,444],Sn=8;if((et===100||et===110||et===122||et===244||et===44||et===83||et===86||et===118||et===128||et===138||et===144)&&(rn=Re.readUEG(),rn===3&&Re.readBits(1),rn<=3&&(nn=Gn[rn]),Sn=Re.readUEG()+8,Re.readUEG(),Re.readBits(1),Re.readBool())){let Ao=rn!==3?8:12;for(let io=0;io<Ao;io++)Re.readBool()&&(io<6?Nn._skipScalingList(Re,16):Nn._skipScalingList(Re,64))}Re.readUEG();let cn=Re.readUEG();if(cn===0)Re.readUEG();else if(cn===1){Re.readBits(1),Re.readSEG(),Re.readSEG();let Ao=Re.readUEG();for(let io=0;io<Ao;io++)Re.readSEG()}let Yn=Re.readUEG();Re.readBits(1);let ir=Re.readUEG(),fr=Re.readUEG(),On=Re.readBits(1);On===0&&Re.readBits(1),Re.readBits(1);let dn=0,Bn=0,tr=0,hr=0;Re.readBool()&&(dn=Re.readUEG(),Bn=Re.readUEG(),tr=Re.readUEG(),hr=Re.readUEG());let Mr=1,gr=1,Nr=0,Kr=!0,Hn=0,br=0;if(Re.readBool()){if(Re.readBool()){let Ao=Re.readByte(),io=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],Do=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];Ao>0&&Ao<16?(Mr=io[Ao-1],gr=Do[Ao-1]):Ao===255&&(Mr=Re.readByte()<<8|Re.readByte(),gr=Re.readByte()<<8|Re.readByte())}if(Re.readBool()&&Re.readBool(),Re.readBool()&&(Re.readBits(4),Re.readBool()&&Re.readBits(24)),Re.readBool()&&(Re.readUEG(),Re.readUEG()),Re.readBool()){let Ao=Re.readBits(32),io=Re.readBits(32);Kr=Re.readBool(),Hn=io,br=Ao*2,Nr=Hn/br}}let gi=1;(Mr!==1||gr!==1)&&(gi=Mr/gr);let Zi=0,nr=0;if(rn===0)Zi=1,nr=2-On;else{let Ao=rn===3?1:2,io=rn===1?2:1;Zi=Ao,nr=io*(2-On)}let xi=(ir+1)*16,Vi=(2-On)*((fr+1)*16);xi-=(dn+Bn)*Zi,Vi-=(tr+hr)*nr;let Gi=Math.ceil(xi*gi);return Re.destroy(),Re=null,{profile_string:Bt,level_string:Ct,bit_depth:Sn,ref_frames:Yn,chroma_format:nn,chroma_format_string:Nn.getChromaFormatString(nn),frame_rate:{fixed:Kr,fps:Nr,fps_den:br,fps_num:Hn},sar_ratio:{width:Mr,height:gr},codec_size:{width:xi,height:Vi},present_size:{width:Gi,height:Vi}}}static _skipScalingList(De,He){let Re=8,et=8,ft=0;for(let Bt=0;Bt<He;Bt++)et!==0&&(ft=De.readSEG(),et=(Re+ft+256)%256),Re=et===0?Re:et}static getProfileString(De){switch(De){case 66:return"Baseline";case 77:return"Main";case 88:return"Extended";case 100:return"High";case 110:return"High10";case 122:return"High422";case 244:return"High444";default:return"Unknown"}}static getLevelString(De){return(De/10).toFixed(1)}static getChromaFormatString(De){switch(De){case 420:return"4:2:0";case 422:return"4:2:2";case 444:return"4:4:4";default:return"Unknown"}}}var _n=Nn,qt={OK:"OK",FORMAT_ERROR:"FormatError",FORMAT_UNSUPPORTED:"FormatUnsupported",CODEC_UNSUPPORTED:"CodecUnsupported"};function Yt(Nt){return Nt>>>8&255|(Nt&255)<<8}function gn(Nt){return(Nt&4278190080)>>>24|(Nt&16711680)>>>8|(Nt&65280)<<8|(Nt&255)<<24}function _t(Nt,De){return Nt[De]<<24|Nt[De+1]<<16|Nt[De+2]<<8|Nt[De+3]}class Jt{constructor(De,He){this.TAG="FLVDemuxer",this._config=He,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null,this._dataOffset=De.dataOffset,this._firstParse=!0,this._dispatch=!1,this._hasAudio=De.hasAudioTrack,this._hasVideo=De.hasVideoTrack,this._hasAudioFlagOverrided=!1,this._hasVideoFlagOverrided=!1,this._audioInitialMetadataDispatched=!1,this._videoInitialMetadataDispatched=!1,this._mediaInfo=new ln,this._mediaInfo.hasAudio=this._hasAudio,this._mediaInfo.hasVideo=this._hasVideo,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._naluLengthSize=4,this._timestampBase=0,this._timescale=1e3,this._duration=0,this._durationOverrided=!1,this._referenceFrameRate={fixed:!0,fps:23.976,fps_num:23976,fps_den:1e3},this._flvSoundRateTable=[5500,11025,22050,44100,48e3],this._mpegSamplingRates=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],this._mpegAudioV10SampleRateTable=[44100,48e3,32e3,0],this._mpegAudioV20SampleRateTable=[22050,24e3,16e3,0],this._mpegAudioV25SampleRateTable=[11025,12e3,8e3,0],this._mpegAudioL1BitRateTable=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],this._mpegAudioL2BitRateTable=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],this._mpegAudioL3BitRateTable=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1],this._videoTrack={type:"video",id:1,sequenceNumber:0,samples:[],length:0},this._audioTrack={type:"audio",id:2,sequenceNumber:0,samples:[],length:0},this._littleEndian=function(){let Re=new ArrayBuffer(2);return new DataView(Re).setInt16(0,256,!0),new Int16Array(Re)[0]===256}()}destroy(){this._mediaInfo=null,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._videoTrack=null,this._audioTrack=null,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null}static probe(De){let He=new Uint8Array(De),Re={match:!1};if(He[0]!==70||He[1]!==76||He[2]!==86||He[3]!==1)return Re;let et=(He[4]&4)>>>2!==0,ft=(He[4]&1)!==0,Bt=_t(He,5);return Bt<9?Re:{match:!0,consumed:Bt,dataOffset:Bt,hasAudioTrack:et,hasVideoTrack:ft}}bindDataSource(De){return De.onDataArrival=this.parseChunks.bind(this),this}get onTrackMetadata(){return this._onTrackMetadata}set onTrackMetadata(De){this._onTrackMetadata=De}get onMediaInfo(){return this._onMediaInfo}set onMediaInfo(De){this._onMediaInfo=De}get onMetaDataArrived(){return this._onMetaDataArrived}set onMetaDataArrived(De){this._onMetaDataArrived=De}get onScriptDataArrived(){return this._onScriptDataArrived}set onScriptDataArrived(De){this._onScriptDataArrived=De}get onError(){return this._onError}set onError(De){this._onError=De}get onDataAvailable(){return this._onDataAvailable}set onDataAvailable(De){this._onDataAvailable=De}get timestampBase(){return this._timestampBase}set timestampBase(De){this._timestampBase=De}get overridedDuration(){return this._duration}set overridedDuration(De){this._durationOverrided=!0,this._duration=De,this._mediaInfo.duration=De}set overridedHasAudio(De){this._hasAudioFlagOverrided=!0,this._hasAudio=De,this._mediaInfo.hasAudio=De}set overridedHasVideo(De){this._hasVideoFlagOverrided=!0,this._hasVideo=De,this._mediaInfo.hasVideo=De}resetMediaInfo(){this._mediaInfo=new ln}_isInitialMetadataDispatched(){return this._hasAudio&&this._hasVideo?this._audioInitialMetadataDispatched&&this._videoInitialMetadataDispatched:this._hasAudio&&!this._hasVideo?this._audioInitialMetadataDispatched:!this._hasAudio&&this._hasVideo?this._videoInitialMetadataDispatched:!1}parseChunks(De,He){if(!this._onError||!this._onMediaInfo||!this._onTrackMetadata||!this._onDataAvailable)throw new Ie("Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified");let Re=0,et=this._littleEndian;if(He===0)if(De.byteLength>13)Re=Jt.probe(De).dataOffset;else return 0;for(this._firstParse&&(this._firstParse=!1,He+Re!==this._dataOffset&&Be.w(this.TAG,"First time parsing but chunk byteStart invalid!"),new DataView(De,Re).getUint32(0,!et)!==0&&Be.w(this.TAG,"PrevTagSize0 !== 0 !!!"),Re+=4);Re<De.byteLength;){this._dispatch=!0;let ft=new DataView(De,Re);if(Re+11+4>De.byteLength)break;let Bt=ft.getUint8(0),Ct=ft.getUint32(0,!et)&16777215;if(Re+11+Ct+4>De.byteLength)break;if(Bt!==8&&Bt!==9&&Bt!==18){Be.w(this.TAG,`Unsupported tag type ${Bt}, skipped`),Re+=11+Ct+4;continue}let rn=ft.getUint8(4),nn=ft.getUint8(5),Gn=ft.getUint8(6),Sn=ft.getUint8(7),cn=Gn|nn<<8|rn<<16|Sn<<24;(ft.getUint32(7,!et)&16777215)!==0&&Be.w(this.TAG,"Meet tag which has StreamID != 0!");let ir=Re+11;switch(Bt){case 8:this._parseAudioData(De,ir,Ct,cn);break;case 9:this._parseVideoData(De,ir,Ct,cn,He+Re);break;case 18:this._parseScriptData(De,ir,Ct);break}let fr=ft.getUint32(11+Ct,!et);fr!==11+Ct&&Be.w(this.TAG,`Invalid PrevTagSize ${fr}`),Re+=11+Ct+4}return this._isInitialMetadataDispatched()&&this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack),Re}_parseScriptData(De,He,Re){let et=Kn.parseScriptData(De,He,Re);if(et.hasOwnProperty("onMetaData")){if(et.onMetaData==null||typeof et.onMetaData!="object"){Be.w(this.TAG,"Invalid onMetaData structure!");return}this._metadata&&Be.w(this.TAG,"Found another onMetaData tag!"),this._metadata=et;let ft=this._metadata.onMetaData;if(this._onMetaDataArrived&&this._onMetaDataArrived(Object.assign({},ft)),typeof ft.hasAudio=="boolean"&&this._hasAudioFlagOverrided===!1&&(this._hasAudio=ft.hasAudio,this._mediaInfo.hasAudio=this._hasAudio),typeof ft.hasVideo=="boolean"&&this._hasVideoFlagOverrided===!1&&(this._hasVideo=ft.hasVideo,this._mediaInfo.hasVideo=this._hasVideo),typeof ft.audiodatarate=="number"&&(this._mediaInfo.audioDataRate=ft.audiodatarate),typeof ft.videodatarate=="number"&&(this._mediaInfo.videoDataRate=ft.videodatarate),typeof ft.width=="number"&&(this._mediaInfo.width=ft.width),typeof ft.height=="number"&&(this._mediaInfo.height=ft.height),typeof ft.duration=="number"){if(!this._durationOverrided){let Bt=Math.floor(ft.duration*this._timescale);this._duration=Bt,this._mediaInfo.duration=Bt}}else this._mediaInfo.duration=0;if(typeof ft.framerate=="number"){let Bt=Math.floor(ft.framerate*1e3);if(Bt>0){let Ct=Bt/1e3;this._referenceFrameRate.fixed=!0,this._referenceFrameRate.fps=Ct,this._referenceFrameRate.fps_num=Bt,this._referenceFrameRate.fps_den=1e3,this._mediaInfo.fps=Ct}}if(typeof ft.keyframes=="object"){this._mediaInfo.hasKeyframesIndex=!0;let Bt=ft.keyframes;this._mediaInfo.keyframesIndex=this._parseKeyframesIndex(Bt),ft.keyframes=null}else this._mediaInfo.hasKeyframesIndex=!1;this._dispatch=!1,this._mediaInfo.metadata=ft,Be.v(this.TAG,"Parsed onMetaData"),this._mediaInfo.isComplete()&&this._onMediaInfo(this._mediaInfo)}Object.keys(et).length>0&&this._onScriptDataArrived&&this._onScriptDataArrived(Object.assign({},et))}_parseKeyframesIndex(De){let He=[],Re=[];for(let et=1;et<De.times.length;et++){let ft=this._timestampBase+Math.floor(De.times[et]*1e3);He.push(ft),Re.push(De.filepositions[et])}return{times:He,filepositions:Re}}_parseAudioData(De,He,Re,et){if(Re<=1){Be.w(this.TAG,"Flv: Invalid audio packet, missing SoundData payload!");return}if(this._hasAudioFlagOverrided===!0&&this._hasAudio===!1)return;let ft=this._littleEndian,Ct=new DataView(De,He,Re).getUint8(0),rn=Ct>>>4;if(rn!==2&&rn!==10){this._onError(qt.CODEC_UNSUPPORTED,"Flv: Unsupported audio codec idx: "+rn);return}let nn=0,Gn=(Ct&12)>>>2;if(Gn>=0&&Gn<=4)nn=this._flvSoundRateTable[Gn];else{this._onError(qt.FORMAT_ERROR,"Flv: Invalid audio sample rate idx: "+Gn);return}let Sn=(Ct&2)>>>1,cn=Ct&1,Yn=this._audioMetadata,ir=this._audioTrack;if(Yn||(this._hasAudio===!1&&this._hasAudioFlagOverrided===!1&&(this._hasAudio=!0,this._mediaInfo.hasAudio=!0),Yn=this._audioMetadata={},Yn.type="audio",Yn.id=ir.id,Yn.timescale=this._timescale,Yn.duration=this._duration,Yn.audioSampleRate=nn,Yn.channelCount=cn===0?1:2),rn===10){let fr=this._parseAACAudioData(De,He+1,Re-1);if(fr==null)return;if(fr.packetType===0){Yn.config&&Be.w(this.TAG,"Found another AudioSpecificConfig!");let On=fr.data;Yn.audioSampleRate=On.samplingRate,Yn.channelCount=On.channelCount,Yn.codec=On.codec,Yn.originalCodec=On.originalCodec,Yn.config=On.config,Yn.refSampleDuration=1024/Yn.audioSampleRate*Yn.timescale,Be.v(this.TAG,"Parsed AudioSpecificConfig"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._audioInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("audio",Yn);let dn=this._mediaInfo;dn.audioCodec=Yn.originalCodec,dn.audioSampleRate=Yn.audioSampleRate,dn.audioChannelCount=Yn.channelCount,dn.hasVideo?dn.videoCodec!=null&&(dn.mimeType='video/x-flv; codecs="'+dn.videoCodec+","+dn.audioCodec+'"'):dn.mimeType='video/x-flv; codecs="'+dn.audioCodec+'"',dn.isComplete()&&this._onMediaInfo(dn)}else if(fr.packetType===1){let On=this._timestampBase+et,dn={unit:fr.data,length:fr.data.byteLength,dts:On,pts:On};ir.samples.push(dn),ir.length+=fr.data.length}else Be.e(this.TAG,`Flv: Unsupported AAC data type ${fr.packetType}`)}else if(rn===2){if(!Yn.codec){let Bn=this._parseMP3AudioData(De,He+1,Re-1,!0);if(Bn==null)return;Yn.audioSampleRate=Bn.samplingRate,Yn.channelCount=Bn.channelCount,Yn.codec=Bn.codec,Yn.originalCodec=Bn.originalCodec,Yn.refSampleDuration=1152/Yn.audioSampleRate*Yn.timescale,Be.v(this.TAG,"Parsed MPEG Audio Frame Header"),this._audioInitialMetadataDispatched=!0,this._onTrackMetadata("audio",Yn);let tr=this._mediaInfo;tr.audioCodec=Yn.codec,tr.audioSampleRate=Yn.audioSampleRate,tr.audioChannelCount=Yn.channelCount,tr.audioDataRate=Bn.bitRate,tr.hasVideo?tr.videoCodec!=null&&(tr.mimeType='video/x-flv; codecs="'+tr.videoCodec+","+tr.audioCodec+'"'):tr.mimeType='video/x-flv; codecs="'+tr.audioCodec+'"',tr.isComplete()&&this._onMediaInfo(tr)}let fr=this._parseMP3AudioData(De,He+1,Re-1,!1);if(fr==null)return;let On=this._timestampBase+et,dn={unit:fr,length:fr.byteLength,dts:On,pts:On};ir.samples.push(dn),ir.length+=fr.length}}_parseAACAudioData(De,He,Re){if(Re<=1){Be.w(this.TAG,"Flv: Invalid AAC packet, missing AACPacketType or/and Data!");return}let et={},ft=new Uint8Array(De,He,Re);return et.packetType=ft[0],ft[0]===0?et.data=this._parseAACAudioSpecificConfig(De,He+1,Re-1):et.data=ft.subarray(1),et}_parseAACAudioSpecificConfig(De,He,Re){let et=new Uint8Array(De,He,Re),ft=null,Bt=0,Ct=0,rn=null,nn=0,Gn=null;if(Bt=Ct=et[0]>>>3,nn=(et[0]&7)<<1|et[1]>>>7,nn<0||nn>=this._mpegSamplingRates.length){this._onError(qt.FORMAT_ERROR,"Flv: AAC invalid sampling frequency index!");return}let Sn=this._mpegSamplingRates[nn],cn=(et[1]&120)>>>3;if(cn<0||cn>=8){this._onError(qt.FORMAT_ERROR,"Flv: AAC invalid channel configuration");return}Bt===5&&(Gn=(et[1]&7)<<1|et[2]>>>7,rn=(et[2]&124)>>>2);let Yn=self.navigator.userAgent.toLowerCase();return Yn.indexOf("firefox")!==-1?nn>=6?(Bt=5,ft=new Array(4),Gn=nn-3):(Bt=2,ft=new Array(2),Gn=nn):Yn.indexOf("android")!==-1?(Bt=2,ft=new Array(2),Gn=nn):(Bt=5,Gn=nn,ft=new Array(4),nn>=6?Gn=nn-3:cn===1&&(Bt=2,ft=new Array(2),Gn=nn)),ft[0]=Bt<<3,ft[0]|=(nn&15)>>>1,ft[1]=(nn&15)<<7,ft[1]|=(cn&15)<<3,Bt===5&&(ft[1]|=(Gn&15)>>>1,ft[2]=(Gn&1)<<7,ft[2]|=8,ft[3]=0),{config:ft,samplingRate:Sn,channelCount:cn,codec:"mp4a.40."+Bt,originalCodec:"mp4a.40."+Ct}}_parseMP3AudioData(De,He,Re,et){if(Re<4){Be.w(this.TAG,"Flv: Invalid MP3 packet, header missing!");return}let ft=this._littleEndian,Bt=new Uint8Array(De,He,Re),Ct=null;if(et){if(Bt[0]!==255)return;let rn=Bt[1]>>>3&3,nn=(Bt[1]&6)>>1,Gn=(Bt[2]&240)>>>4,Sn=(Bt[2]&12)>>>2,Yn=(Bt[3]>>>6&3)!==3?2:1,ir=0,fr=0,On=34,dn="mp3";switch(rn){case 0:ir=this._mpegAudioV25SampleRateTable[Sn];break;case 2:ir=this._mpegAudioV20SampleRateTable[Sn];break;case 3:ir=this._mpegAudioV10SampleRateTable[Sn];break}switch(nn){case 1:On=34,Gn<this._mpegAudioL3BitRateTable.length&&(fr=this._mpegAudioL3BitRateTable[Gn]);break;case 2:On=33,Gn<this._mpegAudioL2BitRateTable.length&&(fr=this._mpegAudioL2BitRateTable[Gn]);break;case 3:On=32,Gn<this._mpegAudioL1BitRateTable.length&&(fr=this._mpegAudioL1BitRateTable[Gn]);break}Ct={bitRate:fr,samplingRate:ir,channelCount:Yn,codec:dn,originalCodec:dn}}else Ct=Bt;return Ct}_parseVideoData(De,He,Re,et,ft){if(Re<=1){Be.w(this.TAG,"Flv: Invalid video packet, missing VideoData payload!");return}if(this._hasVideoFlagOverrided===!0&&this._hasVideo===!1)return;let Bt=new Uint8Array(De,He,Re)[0],Ct=(Bt&240)>>>4,rn=Bt&15;if(rn!==7){this._onError(qt.CODEC_UNSUPPORTED,`Flv: Unsupported codec in video frame: ${rn}`);return}this._parseAVCVideoPacket(De,He+1,Re-1,et,ft,Ct)}_parseAVCVideoPacket(De,He,Re,et,ft,Bt){if(Re<4){Be.w(this.TAG,"Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime");return}let Ct=this._littleEndian,rn=new DataView(De,He,Re),nn=rn.getUint8(0),Sn=(rn.getUint32(0,!Ct)&16777215)<<8>>8;if(nn===0)this._parseAVCDecoderConfigurationRecord(De,He+4,Re-4);else if(nn===1)this._parseAVCVideoData(De,He+4,Re-4,et,ft,Bt,Sn);else if(nn!==2){this._onError(qt.FORMAT_ERROR,`Flv: Invalid video packet type ${nn}`);return}}_parseAVCDecoderConfigurationRecord(De,He,Re){if(Re<7){Be.w(this.TAG,"Flv: Invalid AVCDecoderConfigurationRecord, lack of data!");return}let et=this._videoMetadata,ft=this._videoTrack,Bt=this._littleEndian,Ct=new DataView(De,He,Re);et?typeof et.avcc!="undefined"&&Be.w(this.TAG,"Found another AVCDecoderConfigurationRecord!"):(this._hasVideo===!1&&this._hasVideoFlagOverrided===!1&&(this._hasVideo=!0,this._mediaInfo.hasVideo=!0),et=this._videoMetadata={},et.type="video",et.id=ft.id,et.timescale=this._timescale,et.duration=this._duration);let rn=Ct.getUint8(0),nn=Ct.getUint8(1),Gn=Ct.getUint8(2),Sn=Ct.getUint8(3);if(rn!==1||nn===0){this._onError(qt.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord");return}if(this._naluLengthSize=(Ct.getUint8(4)&3)+1,this._naluLengthSize!==3&&this._naluLengthSize!==4){this._onError(qt.FORMAT_ERROR,`Flv: Strange NaluLengthSizeMinusOne: ${this._naluLengthSize-1}`);return}let cn=Ct.getUint8(5)&31;if(cn===0){this._onError(qt.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord: No SPS");return}else cn>1&&Be.w(this.TAG,`Flv: Strange AVCDecoderConfigurationRecord: SPS Count = ${cn}`);let Yn=6;for(let fr=0;fr<cn;fr++){let On=Ct.getUint16(Yn,!Bt);if(Yn+=2,On===0)continue;let dn=new Uint8Array(De,He+Yn,On);Yn+=On;let Bn=_n.parseSPS(dn);if(fr!==0)continue;et.codecWidth=Bn.codec_size.width,et.codecHeight=Bn.codec_size.height,et.presentWidth=Bn.present_size.width,et.presentHeight=Bn.present_size.height,et.profile=Bn.profile_string,et.level=Bn.level_string,et.bitDepth=Bn.bit_depth,et.chromaFormat=Bn.chroma_format,et.sarRatio=Bn.sar_ratio,et.frameRate=Bn.frame_rate,(Bn.frame_rate.fixed===!1||Bn.frame_rate.fps_num===0||Bn.frame_rate.fps_den===0)&&(et.frameRate=this._referenceFrameRate);let tr=et.frameRate.fps_den,hr=et.frameRate.fps_num;et.refSampleDuration=et.timescale*(tr/hr);let pr=dn.subarray(1,4),Mr="avc1.";for(let Nr=0;Nr<3;Nr++){let Kr=pr[Nr].toString(16);Kr.length<2&&(Kr="0"+Kr),Mr+=Kr}et.codec=Mr;let gr=this._mediaInfo;gr.width=et.codecWidth,gr.height=et.codecHeight,gr.fps=et.frameRate.fps,gr.profile=et.profile,gr.level=et.level,gr.refFrames=Bn.ref_frames,gr.chromaFormat=Bn.chroma_format_string,gr.sarNum=et.sarRatio.width,gr.sarDen=et.sarRatio.height,gr.videoCodec=Mr,gr.hasAudio?gr.audioCodec!=null&&(gr.mimeType='video/x-flv; codecs="'+gr.videoCodec+","+gr.audioCodec+'"'):gr.mimeType='video/x-flv; codecs="'+gr.videoCodec+'"',gr.isComplete()&&this._onMediaInfo(gr)}let ir=Ct.getUint8(Yn);if(ir===0){this._onError(qt.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord: No PPS");return}else ir>1&&Be.w(this.TAG,`Flv: Strange AVCDecoderConfigurationRecord: PPS Count = ${ir}`);Yn++;for(let fr=0;fr<ir;fr++){let On=Ct.getUint16(Yn,!Bt);Yn+=2,On!==0&&(Yn+=On)}et.avcc=new Uint8Array(Re),et.avcc.set(new Uint8Array(De,He,Re),0),Be.v(this.TAG,"Parsed AVCDecoderConfigurationRecord"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._videoInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("video",et)}_parseAVCVideoData(De,He,Re,et,ft,Bt,Ct){let rn=this._littleEndian,nn=new DataView(De,He,Re),Gn=[],Sn=0,cn=0;const Yn=this._naluLengthSize;let ir=this._timestampBase+et,fr=Bt===1;for(;cn<Re;){if(cn+4>=Re){Be.w(this.TAG,`Malformed Nalu near timestamp ${ir}, offset = ${cn}, dataSize = ${Re}`);break}let On=nn.getUint32(cn,!rn);if(Yn===3&&(On>>>=8),On>Re-Yn){Be.w(this.TAG,`Malformed Nalus near timestamp ${ir}, NaluSize > DataSize!`);return}let dn=nn.getUint8(cn+Yn)&31;dn===5&&(fr=!0);let Bn=new Uint8Array(De,He+cn,Yn+On),tr={type:dn,data:Bn};Gn.push(tr),Sn+=Bn.byteLength,cn+=Yn+On}if(Gn.length){let On=this._videoTrack,dn={units:Gn,length:Sn,isKeyframe:fr,dts:ir,cts:Ct,pts:ir+Ct};fr&&(dn.fileposition=ft),On.samples.push(dn),On.length+=Sn}}}var wt=Jt;class ut{static init(){ut.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[]};for(let He in ut.types)ut.types.hasOwnProperty(He)&&(ut.types[He]=[He.charCodeAt(0),He.charCodeAt(1),He.charCodeAt(2),He.charCodeAt(3)]);let De=ut.constants={};De.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),De.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),De.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),De.STSC=De.STCO=De.STTS,De.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),De.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),De.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),De.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),De.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),De.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(De){let He=8,Re=null,et=Array.prototype.slice.call(arguments,1),ft=et.length;for(let Ct=0;Ct<ft;Ct++)He+=et[Ct].byteLength;Re=new Uint8Array(He),Re[0]=He>>>24&255,Re[1]=He>>>16&255,Re[2]=He>>>8&255,Re[3]=He&255,Re.set(De,4);let Bt=8;for(let Ct=0;Ct<ft;Ct++)Re.set(et[Ct],Bt),Bt+=et[Ct].byteLength;return Re}static generateInitSegment(De){let He=ut.box(ut.types.ftyp,ut.constants.FTYP),Re=ut.moov(De),et=new Uint8Array(He.byteLength+Re.byteLength);return et.set(He,0),et.set(Re,He.byteLength),et}static moov(De){let He=ut.mvhd(De.timescale,De.duration),Re=ut.trak(De),et=ut.mvex(De);return ut.box(ut.types.moov,He,Re,et)}static mvhd(De,He){return ut.box(ut.types.mvhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,De>>>24&255,De>>>16&255,De>>>8&255,De&255,He>>>24&255,He>>>16&255,He>>>8&255,He&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(De){return ut.box(ut.types.trak,ut.tkhd(De),ut.mdia(De))}static tkhd(De){let He=De.id,Re=De.duration,et=De.presentWidth,ft=De.presentHeight;return ut.box(ut.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,He>>>24&255,He>>>16&255,He>>>8&255,He&255,0,0,0,0,Re>>>24&255,Re>>>16&255,Re>>>8&255,Re&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,et>>>8&255,et&255,0,0,ft>>>8&255,ft&255,0,0]))}static mdia(De){return ut.box(ut.types.mdia,ut.mdhd(De),ut.hdlr(De),ut.minf(De))}static mdhd(De){let He=De.timescale,Re=De.duration;return ut.box(ut.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,He>>>24&255,He>>>16&255,He>>>8&255,He&255,Re>>>24&255,Re>>>16&255,Re>>>8&255,Re&255,85,196,0,0]))}static hdlr(De){let He=null;return De.type==="audio"?He=ut.constants.HDLR_AUDIO:He=ut.constants.HDLR_VIDEO,ut.box(ut.types.hdlr,He)}static minf(De){let He=null;return De.type==="audio"?He=ut.box(ut.types.smhd,ut.constants.SMHD):He=ut.box(ut.types.vmhd,ut.constants.VMHD),ut.box(ut.types.minf,He,ut.dinf(),ut.stbl(De))}static dinf(){return ut.box(ut.types.dinf,ut.box(ut.types.dref,ut.constants.DREF))}static stbl(De){return ut.box(ut.types.stbl,ut.stsd(De),ut.box(ut.types.stts,ut.constants.STTS),ut.box(ut.types.stsc,ut.constants.STSC),ut.box(ut.types.stsz,ut.constants.STSZ),ut.box(ut.types.stco,ut.constants.STCO))}static stsd(De){return De.type==="audio"?De.codec==="mp3"?ut.box(ut.types.stsd,ut.constants.STSD_PREFIX,ut.mp3(De)):ut.box(ut.types.stsd,ut.constants.STSD_PREFIX,ut.mp4a(De)):ut.box(ut.types.stsd,ut.constants.STSD_PREFIX,ut.avc1(De))}static mp3(De){let He=De.channelCount,Re=De.audioSampleRate,et=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,He,0,16,0,0,0,0,Re>>>8&255,Re&255,0,0]);return ut.box(ut.types[".mp3"],et)}static mp4a(De){let He=De.channelCount,Re=De.audioSampleRate,et=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,He,0,16,0,0,0,0,Re>>>8&255,Re&255,0,0]);return ut.box(ut.types.mp4a,et,ut.esds(De))}static esds(De){let He=De.config||[],Re=He.length,et=new Uint8Array([0,0,0,0,3,23+Re,0,1,0,4,15+Re,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([Re]).concat(He).concat([6,1,2]));return ut.box(ut.types.esds,et)}static avc1(De){let He=De.avcc,Re=De.codecWidth,et=De.codecHeight,ft=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Re>>>8&255,Re&255,et>>>8&255,et&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,10,120,113,113,47,102,108,118,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return ut.box(ut.types.avc1,ft,ut.box(ut.types.avcC,He))}static mvex(De){return ut.box(ut.types.mvex,ut.trex(De))}static trex(De){let He=De.id,Re=new Uint8Array([0,0,0,0,He>>>24&255,He>>>16&255,He>>>8&255,He&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return ut.box(ut.types.trex,Re)}static moof(De,He){return ut.box(ut.types.moof,ut.mfhd(De.sequenceNumber),ut.traf(De,He))}static mfhd(De){let He=new Uint8Array([0,0,0,0,De>>>24&255,De>>>16&255,De>>>8&255,De&255]);return ut.box(ut.types.mfhd,He)}static traf(De,He){let Re=De.id,et=ut.box(ut.types.tfhd,new Uint8Array([0,0,0,0,Re>>>24&255,Re>>>16&255,Re>>>8&255,Re&255])),ft=ut.box(ut.types.tfdt,new Uint8Array([0,0,0,0,He>>>24&255,He>>>16&255,He>>>8&255,He&255])),Bt=ut.sdtp(De),Ct=ut.trun(De,Bt.byteLength+16+16+8+16+8+8);return ut.box(ut.types.traf,et,ft,Ct,Bt)}static sdtp(De){let He=De.samples||[],Re=He.length,et=new Uint8Array(4+Re);for(let ft=0;ft<Re;ft++){let Bt=He[ft].flags;et[ft+4]=Bt.isLeading<<6|Bt.dependsOn<<4|Bt.isDependedOn<<2|Bt.hasRedundancy}return ut.box(ut.types.sdtp,et)}static trun(De,He){let Re=De.samples||[],et=Re.length,ft=12+16*et,Bt=new Uint8Array(ft);He+=8+ft,Bt.set([0,0,15,1,et>>>24&255,et>>>16&255,et>>>8&255,et&255,He>>>24&255,He>>>16&255,He>>>8&255,He&255],0);for(let Ct=0;Ct<et;Ct++){let rn=Re[Ct].duration,nn=Re[Ct].size,Gn=Re[Ct].flags,Sn=Re[Ct].cts;Bt.set([rn>>>24&255,rn>>>16&255,rn>>>8&255,rn&255,nn>>>24&255,nn>>>16&255,nn>>>8&255,nn&255,Gn.isLeading<<2|Gn.dependsOn,Gn.isDependedOn<<6|Gn.hasRedundancy<<4|Gn.isNonSync,0,0,Sn>>>24&255,Sn>>>16&255,Sn>>>8&255,Sn&255],12+16*Ct)}return ut.box(ut.types.trun,Bt)}static mdat(De){return ut.box(ut.types.mdat,De)}}ut.init();var ot=ut;class Pt{static getSilentFrame(De,He){if(De==="mp4a.40.2"){if(He===1)return new Uint8Array([0,200,0,128,35,128]);if(He===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(He===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(He===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(He===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(He===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(He===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(He===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(He===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null}}var Ht=Pt;class Mt{constructor(De,He,Re,et,ft){this.dts=De,this.pts=He,this.duration=Re,this.originalDts=et,this.isSyncPoint=ft,this.fileposition=null}}class hn{constructor(){this.beginDts=0,this.endDts=0,this.beginPts=0,this.endPts=0,this.originalBeginDts=0,this.originalEndDts=0,this.syncPoints=[],this.firstSample=null,this.lastSample=null}appendSyncPoint(De){De.isSyncPoint=!0,this.syncPoints.push(De)}}class rr{constructor(){this._list=[]}clear(){this._list=[]}appendArray(De){let He=this._list;De.length!==0&&(He.length>0&&De[0].originalDts<He[He.length-1].originalDts&&this.clear(),Array.prototype.push.apply(He,De))}getLastSyncPointBeforeDts(De){if(this._list.length==0)return null;let He=this._list,Re=0,et=He.length-1,ft=0,Bt=0,Ct=et;for(De<He[0].dts&&(Re=0,Bt=Ct+1);Bt<=Ct;)if(ft=Bt+Math.floor((Ct-Bt)/2),ft===et||De>=He[ft].dts&&De<He[ft+1].dts){Re=ft;break}else He[ft].dts<De?Bt=ft+1:Ct=ft-1;return this._list[Re]}}class Jn{constructor(De){this._type=De,this._list=[],this._lastAppendLocation=-1}get type(){return this._type}get length(){return this._list.length}isEmpty(){return this._list.length===0}clear(){this._list=[],this._lastAppendLocation=-1}_searchNearestSegmentBefore(De){let He=this._list;if(He.length===0)return-2;let Re=He.length-1,et=0,ft=0,Bt=Re,Ct=0;if(De<He[0].originalBeginDts)return Ct=-1,Ct;for(;ft<=Bt;)if(et=ft+Math.floor((Bt-ft)/2),et===Re||De>He[et].lastSample.originalDts&&De<He[et+1].originalBeginDts){Ct=et;break}else He[et].originalBeginDts<De?ft=et+1:Bt=et-1;return Ct}_searchNearestSegmentAfter(De){return this._searchNearestSegmentBefore(De)+1}append(De){let He=this._list,Re=De,et=this._lastAppendLocation,ft=0;et!==-1&&et<He.length&&Re.originalBeginDts>=He[et].lastSample.originalDts&&(et===He.length-1||et<He.length-1&&Re.originalBeginDts<He[et+1].originalBeginDts)?ft=et+1:He.length>0&&(ft=this._searchNearestSegmentBefore(Re.originalBeginDts)+1),this._lastAppendLocation=ft,this._list.splice(ft,0,Re)}getLastSegmentBefore(De){let He=this._searchNearestSegmentBefore(De);return He>=0?this._list[He]:null}getLastSampleBefore(De){let He=this.getLastSegmentBefore(De);return He!=null?He.lastSample:null}getLastSyncPointBefore(De){let He=this._searchNearestSegmentBefore(De),Re=this._list[He].syncPoints;for(;Re.length===0&&He>0;)He--,Re=this._list[He].syncPoints;return Re.length>0?Re[Re.length-1]:null}}class An{constructor(De){this.TAG="MP4Remuxer",this._config=De,this._isLive=De.isLive===!0,this._dtsBase=-1,this._dtsBaseInited=!1,this._audioDtsBase=1/0,this._videoDtsBase=1/0,this._audioNextDts=void 0,this._videoNextDts=void 0,this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList=new Jn("audio"),this._videoSegmentInfoList=new Jn("video"),this._onInitSegment=null,this._onMediaSegment=null,this._forceFirstIDR=!!(de.chrome&&(de.version.major<50||de.version.major===50&&de.version.build<2661)),this._fillSilentAfterSeek=de.msedge||de.msie,this._mp3UseMpegAudio=!de.firefox,this._fillAudioTimestampGap=this._config.fixAudioTimestampGap}destroy(){this._dtsBase=-1,this._dtsBaseInited=!1,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList.clear(),this._audioSegmentInfoList=null,this._videoSegmentInfoList.clear(),this._videoSegmentInfoList=null,this._onInitSegment=null,this._onMediaSegment=null}bindDataSource(De){return De.onDataAvailable=this.remux.bind(this),De.onTrackMetadata=this._onTrackMetadataReceived.bind(this),this}get onInitSegment(){return this._onInitSegment}set onInitSegment(De){this._onInitSegment=De}get onMediaSegment(){return this._onMediaSegment}set onMediaSegment(De){this._onMediaSegment=De}insertDiscontinuity(){this._audioNextDts=this._videoNextDts=void 0}seek(De){this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._videoSegmentInfoList.clear(),this._audioSegmentInfoList.clear()}remux(De,He){if(!this._onMediaSegment)throw new Ie("MP4Remuxer: onMediaSegment callback must be specificed!");this._dtsBaseInited||this._calculateDtsBase(De,He),this._remuxVideo(He),this._remuxAudio(De)}_onTrackMetadataReceived(De,He){let Re=null,et="mp4",ft=He.codec;if(De==="audio")this._audioMeta=He,He.codec==="mp3"&&this._mp3UseMpegAudio?(et="mpeg",ft="",Re=new Uint8Array):Re=ot.generateInitSegment(He);else if(De==="video")this._videoMeta=He,Re=ot.generateInitSegment(He);else return;if(!this._onInitSegment)throw new Ie("MP4Remuxer: onInitSegment callback must be specified!");this._onInitSegment(De,{type:De,data:Re.buffer,codec:ft,container:`${De}/${et}`,mediaDuration:He.duration})}_calculateDtsBase(De,He){this._dtsBaseInited||(De.samples&&De.samples.length&&(this._audioDtsBase=De.samples[0].dts),He.samples&&He.samples.length&&(this._videoDtsBase=He.samples[0].dts),this._dtsBase=Math.min(this._audioDtsBase,this._videoDtsBase),this._dtsBaseInited=!0)}flushStashedSamples(){let De=this._videoStashedLastSample,He=this._audioStashedLastSample,Re={type:"video",id:1,sequenceNumber:0,samples:[],length:0};De!=null&&(Re.samples.push(De),Re.length=De.length);let et={type:"audio",id:2,sequenceNumber:0,samples:[],length:0};He!=null&&(et.samples.push(He),et.length=He.length),this._videoStashedLastSample=null,this._audioStashedLastSample=null,this._remuxVideo(Re,!0),this._remuxAudio(et,!0)}_remuxAudio(De,He){if(this._audioMeta==null)return;let Re=De,et=Re.samples,ft,Bt=-1,Ct=-1,rn=-1,nn=this._audioMeta.refSampleDuration,Gn=this._audioMeta.codec==="mp3"&&this._mp3UseMpegAudio,Sn=this._dtsBaseInited&&this._audioNextDts===void 0,cn=!1;if(!et||et.length===0||et.length===1&&!He)return;let Yn=0,ir=null,fr=0;Gn?(Yn=0,fr=Re.length):(Yn=8,fr=8+Re.length);let On=null;if(et.length>1&&(On=et.pop(),fr-=On.length),this._audioStashedLastSample!=null){let gr=this._audioStashedLastSample;this._audioStashedLastSample=null,et.unshift(gr),fr+=gr.length}On!=null&&(this._audioStashedLastSample=On);let dn=et[0].dts-this._dtsBase;if(this._audioNextDts)ft=dn-this._audioNextDts;else if(this._audioSegmentInfoList.isEmpty())ft=0,this._fillSilentAfterSeek&&!this._videoSegmentInfoList.isEmpty()&&this._audioMeta.originalCodec!=="mp3"&&(cn=!0);else{let gr=this._audioSegmentInfoList.getLastSampleBefore(dn);if(gr!=null){let Nr=dn-(gr.originalDts+gr.duration);Nr<=3&&(Nr=0);let Kr=gr.dts+gr.duration+Nr;ft=dn-Kr}else ft=0}if(cn){let gr=dn-ft,Nr=this._videoSegmentInfoList.getLastSegmentBefore(dn);if(Nr!=null&&Nr.beginDts<gr){let Kr=Ht.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);if(Kr){let Hn=Nr.beginDts,br=gr-Nr.beginDts;Be.v(this.TAG,`InsertPrefixSilentAudio: dts: ${Hn}, duration: ${br}`),et.unshift({unit:Kr,dts:Hn,pts:Hn}),fr+=Kr.byteLength}}else cn=!1}let Bn=[];for(let gr=0;gr<et.length;gr++){let Nr=et[gr],Kr=Nr.unit,Hn=Nr.dts-this._dtsBase,br=Hn-ft;Bt===-1&&(Bt=br);let ui=0;gr!==et.length-1?ui=et[gr+1].dts-this._dtsBase-ft-br:On!=null?ui=On.dts-this._dtsBase-ft-br:Bn.length>=1?ui=Bn[Bn.length-1].duration:ui=Math.floor(nn);let gi=!1,Zi=null;if(ui>nn*1.5&&this._audioMeta.codec!=="mp3"&&this._fillAudioTimestampGap&&!de.safari){gi=!0;let nr=Math.abs(ui-nn),xi=Math.ceil(nr/nn),Vi=br+nn;Be.w(this.TAG,`Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.
dts: ${br+ui} ms, expected: ${br+Math.round(nn)} ms, delta: ${Math.round(nr)} ms, generate: ${xi} frames`);let Gi=Ht.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);Gi==null&&(Be.w(this.TAG,`Unable to generate silent frame for ${this._audioMeta.originalCodec} with ${this._audioMeta.channelCount} channels, repeat last frame`),Gi=Kr),Zi=[];for(let io=0;io<xi;io++){let Do=Math.round(Vi);if(Zi.length>0){let Ui=Zi[Zi.length-1];Ui.duration=Do-Ui.dts}let Bo={dts:Do,pts:Do,cts:0,unit:Gi,size:Gi.byteLength,duration:0,originalDts:Hn,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}};Zi.push(Bo),fr+=Bo.size,Vi+=nn}let Ao=Zi[Zi.length-1];Ao.duration=br+ui-Ao.dts,ui=Math.round(nn)}Bn.push({dts:br,pts:br,cts:0,unit:Nr.unit,size:Nr.unit.byteLength,duration:ui,originalDts:Hn,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}),gi&&Bn.push.apply(Bn,Zi)}Gn?ir=new Uint8Array(fr):(ir=new Uint8Array(fr),ir[0]=fr>>>24&255,ir[1]=fr>>>16&255,ir[2]=fr>>>8&255,ir[3]=fr&255,ir.set(ot.types.mdat,4));for(let gr=0;gr<Bn.length;gr++){let Nr=Bn[gr].unit;ir.set(Nr,Yn),Yn+=Nr.byteLength}let tr=Bn[Bn.length-1];Ct=tr.dts+tr.duration,this._audioNextDts=Ct;let hr=new hn;hr.beginDts=Bt,hr.endDts=Ct,hr.beginPts=Bt,hr.endPts=Ct,hr.originalBeginDts=Bn[0].originalDts,hr.originalEndDts=tr.originalDts+tr.duration,hr.firstSample=new Mt(Bn[0].dts,Bn[0].pts,Bn[0].duration,Bn[0].originalDts,!1),hr.lastSample=new Mt(tr.dts,tr.pts,tr.duration,tr.originalDts,!1),this._isLive||this._audioSegmentInfoList.append(hr),Re.samples=Bn,Re.sequenceNumber++;let pr=null;Gn?pr=new Uint8Array:pr=ot.moof(Re,Bt),Re.samples=[],Re.length=0;let Mr={type:"audio",data:this._mergeBoxes(pr,ir).buffer,sampleCount:Bn.length,info:hr};Gn&&Sn&&(Mr.timestampOffset=Bt),this._onMediaSegment("audio",Mr)}_remuxVideo(De,He){if(this._videoMeta==null)return;let Re=De,et=Re.samples,ft,Bt=-1,Ct=-1,rn=-1,nn=-1;if(!et||et.length===0||et.length===1&&!He)return;let Gn=8,Sn=null,cn=8+De.length,Yn=null;if(et.length>1&&(Yn=et.pop(),cn-=Yn.length),this._videoStashedLastSample!=null){let tr=this._videoStashedLastSample;this._videoStashedLastSample=null,et.unshift(tr),cn+=tr.length}Yn!=null&&(this._videoStashedLastSample=Yn);let ir=et[0].dts-this._dtsBase;if(this._videoNextDts)ft=ir-this._videoNextDts;else if(this._videoSegmentInfoList.isEmpty())ft=0;else{let tr=this._videoSegmentInfoList.getLastSampleBefore(ir);if(tr!=null){let hr=ir-(tr.originalDts+tr.duration);hr<=3&&(hr=0);let pr=tr.dts+tr.duration+hr;ft=ir-pr}else ft=0}let fr=new hn,On=[];for(let tr=0;tr<et.length;tr++){let hr=et[tr],pr=hr.dts-this._dtsBase,Mr=hr.isKeyframe,gr=pr-ft,Nr=hr.cts,Kr=gr+Nr;Bt===-1&&(Bt=gr,rn=Kr);let Hn=0;if(tr!==et.length-1?Hn=et[tr+1].dts-this._dtsBase-ft-gr:Yn!=null?Hn=Yn.dts-this._dtsBase-ft-gr:On.length>=1?Hn=On[On.length-1].duration:Hn=Math.floor(this._videoMeta.refSampleDuration),Mr){let br=new Mt(gr,Kr,Hn,hr.dts,!0);br.fileposition=hr.fileposition,fr.appendSyncPoint(br)}On.push({dts:gr,pts:Kr,cts:Nr,units:hr.units,size:hr.length,isKeyframe:Mr,duration:Hn,originalDts:pr,flags:{isLeading:0,dependsOn:Mr?2:1,isDependedOn:Mr?1:0,hasRedundancy:0,isNonSync:Mr?0:1}})}Sn=new Uint8Array(cn),Sn[0]=cn>>>24&255,Sn[1]=cn>>>16&255,Sn[2]=cn>>>8&255,Sn[3]=cn&255,Sn.set(ot.types.mdat,4);for(let tr=0;tr<On.length;tr++){let hr=On[tr].units;for(;hr.length;){let Mr=hr.shift().data;Sn.set(Mr,Gn),Gn+=Mr.byteLength}}let dn=On[On.length-1];if(Ct=dn.dts+dn.duration,nn=dn.pts+dn.duration,this._videoNextDts=Ct,fr.beginDts=Bt,fr.endDts=Ct,fr.beginPts=rn,fr.endPts=nn,fr.originalBeginDts=On[0].originalDts,fr.originalEndDts=dn.originalDts+dn.duration,fr.firstSample=new Mt(On[0].dts,On[0].pts,On[0].duration,On[0].originalDts,On[0].isKeyframe),fr.lastSample=new Mt(dn.dts,dn.pts,dn.duration,dn.originalDts,dn.isKeyframe),this._isLive||this._videoSegmentInfoList.append(fr),Re.samples=On,Re.sequenceNumber++,this._forceFirstIDR){let tr=On[0].flags;tr.dependsOn=2,tr.isNonSync=0}let Bn=ot.moof(Re,Bt);Re.samples=[],Re.length=0,this._onMediaSegment("video",{type:"video",data:this._mergeBoxes(Bn,Sn).buffer,sampleCount:On.length,info:fr})}_mergeBoxes(De,He){let Re=new Uint8Array(De.byteLength+He.byteLength);return Re.set(De,0),Re.set(He,De.byteLength),Re}}var $n=An,mr={IO_ERROR:"io_error",DEMUX_ERROR:"demux_error",INIT_SEGMENT:"init_segment",MEDIA_SEGMENT:"media_segment",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info",RECOMMEND_SEEKPOINT:"recommend_seekpoint"};class Qr{constructor(De,He){this.TAG="TransmuxingController",this._emitter=new(Ne()),this._config=He,De.segments||(De.segments=[{duration:De.duration,filesize:De.filesize,url:De.url}]),typeof De.cors!="boolean"&&(De.cors=!0),typeof De.withCredentials!="boolean"&&(De.withCredentials=!1),this._mediaDataSource=De,this._currentSegmentIndex=0;let Re=0;this._mediaDataSource.segments.forEach(et=>{et.timestampBase=Re,Re+=et.duration,et.cors=De.cors,et.withCredentials=De.withCredentials,He.referrerPolicy&&(et.referrerPolicy=He.referrerPolicy)}),!isNaN(Re)&&this._mediaDataSource.duration!==Re&&(this._mediaDataSource.duration=Re),this._mediaInfo=null,this._demuxer=null,this._remuxer=null,this._ioctl=null,this._pendingSeekTime=null,this._pendingResolveSeekPoint=null,this._statisticsReporter=null}destroy(){this._mediaInfo=null,this._mediaDataSource=null,this._statisticsReporter&&this._disableStatisticsReporter(),this._ioctl&&(this._ioctl.destroy(),this._ioctl=null),this._demuxer&&(this._demuxer.destroy(),this._demuxer=null),this._remuxer&&(this._remuxer.destroy(),this._remuxer=null),this._emitter.removeAllListeners(),this._emitter=null}on(De,He){this._emitter.addListener(De,He)}off(De,He){this._emitter.removeListener(De,He)}start(){this._loadSegment(0),this._enableStatisticsReporter()}_loadSegment(De,He){this._currentSegmentIndex=De;let Re=this._mediaDataSource.segments[De],et=this._ioctl=new vt(Re,this._config,De);et.onError=this._onIOException.bind(this),et.onSeeked=this._onIOSeeked.bind(this),et.onComplete=this._onIOComplete.bind(this),et.onRedirect=this._onIORedirect.bind(this),et.onRecoveredEarlyEof=this._onIORecoveredEarlyEof.bind(this),He?this._demuxer.bindDataSource(this._ioctl):et.onDataArrival=this._onInitChunkArrival.bind(this),et.open(He)}stop(){this._internalAbort(),this._disableStatisticsReporter()}_internalAbort(){this._ioctl&&(this._ioctl.destroy(),this._ioctl=null)}pause(){this._ioctl&&this._ioctl.isWorking()&&(this._ioctl.pause(),this._disableStatisticsReporter())}resume(){this._ioctl&&this._ioctl.isPaused()&&(this._ioctl.resume(),this._enableStatisticsReporter())}seek(De){if(this._mediaInfo==null||!this._mediaInfo.isSeekable())return;let He=this._searchSegmentIndexContains(De);if(He===this._currentSegmentIndex){let Re=this._mediaInfo.segments[He];if(Re==null)this._pendingSeekTime=De;else{let et=Re.getNearestKeyframe(De);this._remuxer.seek(et.milliseconds),this._ioctl.seek(et.fileposition),this._pendingResolveSeekPoint=et.milliseconds}}else{let Re=this._mediaInfo.segments[He];if(Re==null)this._pendingSeekTime=De,this._internalAbort(),this._remuxer.seek(),this._remuxer.insertDiscontinuity(),this._loadSegment(He);else{let et=Re.getNearestKeyframe(De);this._internalAbort(),this._remuxer.seek(De),this._remuxer.insertDiscontinuity(),this._demuxer.resetMediaInfo(),this._demuxer.timestampBase=this._mediaDataSource.segments[He].timestampBase,this._loadSegment(He,et.fileposition),this._pendingResolveSeekPoint=et.milliseconds,this._reportSegmentMediaInfo(He)}}this._enableStatisticsReporter()}_searchSegmentIndexContains(De){let He=this._mediaDataSource.segments,Re=He.length-1;for(let et=0;et<He.length;et++)if(De<He[et].timestampBase){Re=et-1;break}return Re}_onInitChunkArrival(De,He){let Re=null,et=0;if(He>0)this._demuxer.bindDataSource(this._ioctl),this._demuxer.timestampBase=this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase,et=this._demuxer.parseChunks(De,He);else if((Re=wt.probe(De)).match){this._demuxer=new wt(Re,this._config),this._remuxer||(this._remuxer=new $n(this._config));let ft=this._mediaDataSource;ft.duration!=null&&!isNaN(ft.duration)&&(this._demuxer.overridedDuration=ft.duration),typeof ft.hasAudio=="boolean"&&(this._demuxer.overridedHasAudio=ft.hasAudio),typeof ft.hasVideo=="boolean"&&(this._demuxer.overridedHasVideo=ft.hasVideo),this._demuxer.timestampBase=ft.segments[this._currentSegmentIndex].timestampBase,this._demuxer.onError=this._onDemuxException.bind(this),this._demuxer.onMediaInfo=this._onMediaInfo.bind(this),this._demuxer.onMetaDataArrived=this._onMetaDataArrived.bind(this),this._demuxer.onScriptDataArrived=this._onScriptDataArrived.bind(this),this._remuxer.bindDataSource(this._demuxer.bindDataSource(this._ioctl)),this._remuxer.onInitSegment=this._onRemuxerInitSegmentArrival.bind(this),this._remuxer.onMediaSegment=this._onRemuxerMediaSegmentArrival.bind(this),et=this._demuxer.parseChunks(De,He)}else Re=null,Be.e(this.TAG,"Non-FLV, Unsupported media type!"),Promise.resolve().then(()=>{this._internalAbort()}),this._emitter.emit(mr.DEMUX_ERROR,qt.FORMAT_UNSUPPORTED,"Non-FLV, Unsupported media type"),et=0;return et}_onMediaInfo(De){this._mediaInfo==null&&(this._mediaInfo=Object.assign({},De),this._mediaInfo.keyframesIndex=null,this._mediaInfo.segments=[],this._mediaInfo.segmentCount=this._mediaDataSource.segments.length,Object.setPrototypeOf(this._mediaInfo,ln.prototype));let He=Object.assign({},De);Object.setPrototypeOf(He,ln.prototype),this._mediaInfo.segments[this._currentSegmentIndex]=He,this._reportSegmentMediaInfo(this._currentSegmentIndex),this._pendingSeekTime!=null&&Promise.resolve().then(()=>{let Re=this._pendingSeekTime;this._pendingSeekTime=null,this.seek(Re)})}_onMetaDataArrived(De){this._emitter.emit(mr.METADATA_ARRIVED,De)}_onScriptDataArrived(De){this._emitter.emit(mr.SCRIPTDATA_ARRIVED,De)}_onIOSeeked(){this._remuxer.insertDiscontinuity()}_onIOComplete(De){let Re=De+1;Re<this._mediaDataSource.segments.length?(this._internalAbort(),this._remuxer.flushStashedSamples(),this._loadSegment(Re)):(this._remuxer.flushStashedSamples(),this._emitter.emit(mr.LOADING_COMPLETE),this._disableStatisticsReporter())}_onIORedirect(De){let He=this._ioctl.extraData;this._mediaDataSource.segments[He].redirectedURL=De}_onIORecoveredEarlyEof(){this._emitter.emit(mr.RECOVERED_EARLY_EOF)}_onIOException(De,He){Be.e(this.TAG,`IOException: type = ${De}, code = ${He.code}, msg = ${He.msg}`),this._emitter.emit(mr.IO_ERROR,De,He),this._disableStatisticsReporter()}_onDemuxException(De,He){Be.e(this.TAG,`DemuxException: type = ${De}, info = ${He}`),this._emitter.emit(mr.DEMUX_ERROR,De,He)}_onRemuxerInitSegmentArrival(De,He){this._emitter.emit(mr.INIT_SEGMENT,De,He)}_onRemuxerMediaSegmentArrival(De,He){if(this._pendingSeekTime==null&&(this._emitter.emit(mr.MEDIA_SEGMENT,De,He),this._pendingResolveSeekPoint!=null&&De==="video")){let Re=He.info.syncPoints,et=this._pendingResolveSeekPoint;this._pendingResolveSeekPoint=null,de.safari&&Re.length>0&&Re[0].originalDts===et&&(et=Re[0].pts),this._emitter.emit(mr.RECOMMEND_SEEKPOINT,et)}}_enableStatisticsReporter(){this._statisticsReporter==null&&(this._statisticsReporter=self.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval))}_disableStatisticsReporter(){this._statisticsReporter&&(self.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}_reportSegmentMediaInfo(De){let He=this._mediaInfo.segments[De],Re=Object.assign({},He);Re.duration=this._mediaInfo.duration,Re.segmentCount=this._mediaInfo.segmentCount,delete Re.segments,delete Re.keyframesIndex,this._emitter.emit(mr.MEDIA_INFO,Re)}_reportStatisticsInfo(){let De={};De.url=this._ioctl.currentURL,De.hasRedirect=this._ioctl.hasRedirect,De.hasRedirect&&(De.redirectedURL=this._ioctl.currentRedirectedURL),De.speed=this._ioctl.currentSpeed,De.loaderType=this._ioctl.loaderType,De.currentSegmentIndex=this._currentSegmentIndex,De.totalSegmentCount=this._mediaDataSource.segments.length,this._emitter.emit(mr.STATISTICS_INFO,De)}}var di=Qr,Ai=function(Nt){let De="TransmuxingWorker",He=null,Re=fr.bind(this);tt.install(),Nt.addEventListener("message",function(On){switch(On.data.cmd){case"init":He=new di(On.data.param[0],On.data.param[1]),He.on(mr.IO_ERROR,cn.bind(this)),He.on(mr.DEMUX_ERROR,Yn.bind(this)),He.on(mr.INIT_SEGMENT,et.bind(this)),He.on(mr.MEDIA_SEGMENT,ft.bind(this)),He.on(mr.LOADING_COMPLETE,Bt.bind(this)),He.on(mr.RECOVERED_EARLY_EOF,Ct.bind(this)),He.on(mr.MEDIA_INFO,rn.bind(this)),He.on(mr.METADATA_ARRIVED,nn.bind(this)),He.on(mr.SCRIPTDATA_ARRIVED,Gn.bind(this)),He.on(mr.STATISTICS_INFO,Sn.bind(this)),He.on(mr.RECOMMEND_SEEKPOINT,ir.bind(this));break;case"destroy":He&&(He.destroy(),He=null),Nt.postMessage({msg:"destroyed"});break;case"start":He.start();break;case"stop":He.stop();break;case"seek":He.seek(On.data.param);break;case"pause":He.pause();break;case"resume":He.resume();break;case"logging_config":{let dn=On.data.param;Rt.applyConfig(dn),dn.enableCallback===!0?Rt.addLogListener(Re):Rt.removeLogListener(Re);break}}});function et(On,dn){let Bn={msg:mr.INIT_SEGMENT,data:{type:On,data:dn}};Nt.postMessage(Bn,[dn.data])}function ft(On,dn){let Bn={msg:mr.MEDIA_SEGMENT,data:{type:On,data:dn}};Nt.postMessage(Bn,[dn.data])}function Bt(){let On={msg:mr.LOADING_COMPLETE};Nt.postMessage(On)}function Ct(){let On={msg:mr.RECOVERED_EARLY_EOF};Nt.postMessage(On)}function rn(On){let dn={msg:mr.MEDIA_INFO,data:On};Nt.postMessage(dn)}function nn(On){let dn={msg:mr.METADATA_ARRIVED,data:On};Nt.postMessage(dn)}function Gn(On){let dn={msg:mr.SCRIPTDATA_ARRIVED,data:On};Nt.postMessage(dn)}function Sn(On){let dn={msg:mr.STATISTICS_INFO,data:On};Nt.postMessage(dn)}function cn(On,dn){Nt.postMessage({msg:mr.IO_ERROR,data:{type:On,info:dn}})}function Yn(On,dn){Nt.postMessage({msg:mr.DEMUX_ERROR,data:{type:On,info:dn}})}function ir(On){Nt.postMessage({msg:mr.RECOMMEND_SEEKPOINT,data:On})}function fr(On,dn){Nt.postMessage({msg:"logcat_callback",data:{type:On,logcat:dn}})}};class fo{constructor(De,He){if(this.TAG="Transmuxer",this._emitter=new(Ne()),He.enableWorker&&typeof Worker!="undefined")try{let Re=Oe(82059);this._worker=Re(Ai),this._workerDestroying=!1,this._worker.addEventListener("message",this._onWorkerMessage.bind(this)),this._worker.postMessage({cmd:"init",param:[De,He]}),this.e={onLoggingConfigChanged:this._onLoggingConfigChanged.bind(this)},Rt.registerListener(this.e.onLoggingConfigChanged),this._worker.postMessage({cmd:"logging_config",param:Rt.getConfig()})}catch(Re){Be.e(this.TAG,"Error while initialize transmuxing worker, fallback to inline transmuxing"),this._worker=null,this._controller=new di(De,He)}else this._controller=new di(De,He);if(this._controller){let Re=this._controller;Re.on(mr.IO_ERROR,this._onIOError.bind(this)),Re.on(mr.DEMUX_ERROR,this._onDemuxError.bind(this)),Re.on(mr.INIT_SEGMENT,this._onInitSegment.bind(this)),Re.on(mr.MEDIA_SEGMENT,this._onMediaSegment.bind(this)),Re.on(mr.LOADING_COMPLETE,this._onLoadingComplete.bind(this)),Re.on(mr.RECOVERED_EARLY_EOF,this._onRecoveredEarlyEof.bind(this)),Re.on(mr.MEDIA_INFO,this._onMediaInfo.bind(this)),Re.on(mr.METADATA_ARRIVED,this._onMetaDataArrived.bind(this)),Re.on(mr.SCRIPTDATA_ARRIVED,this._onScriptDataArrived.bind(this)),Re.on(mr.STATISTICS_INFO,this._onStatisticsInfo.bind(this)),Re.on(mr.RECOMMEND_SEEKPOINT,this._onRecommendSeekpoint.bind(this))}}destroy(){this._worker?this._workerDestroying||(this._workerDestroying=!0,this._worker.postMessage({cmd:"destroy"}),Rt.removeListener(this.e.onLoggingConfigChanged),this.e=null):(this._controller.destroy(),this._controller=null),this._emitter.removeAllListeners(),this._emitter=null}on(De,He){this._emitter.addListener(De,He)}off(De,He){this._emitter.removeListener(De,He)}hasWorker(){return this._worker!=null}open(){this._worker?this._worker.postMessage({cmd:"start"}):this._controller.start()}close(){this._worker?this._worker.postMessage({cmd:"stop"}):this._controller.stop()}seek(De){this._worker?this._worker.postMessage({cmd:"seek",param:De}):this._controller.seek(De)}pause(){this._worker?this._worker.postMessage({cmd:"pause"}):this._controller.pause()}resume(){this._worker?this._worker.postMessage({cmd:"resume"}):this._controller.resume()}_onInitSegment(De,He){Promise.resolve().then(()=>{this._emitter.emit(mr.INIT_SEGMENT,De,He)})}_onMediaSegment(De,He){Promise.resolve().then(()=>{this._emitter.emit(mr.MEDIA_SEGMENT,De,He)})}_onLoadingComplete(){Promise.resolve().then(()=>{this._emitter.emit(mr.LOADING_COMPLETE)})}_onRecoveredEarlyEof(){Promise.resolve().then(()=>{this._emitter.emit(mr.RECOVERED_EARLY_EOF)})}_onMediaInfo(De){Promise.resolve().then(()=>{this._emitter.emit(mr.MEDIA_INFO,De)})}_onMetaDataArrived(De){Promise.resolve().then(()=>{this._emitter.emit(mr.METADATA_ARRIVED,De)})}_onScriptDataArrived(De){Promise.resolve().then(()=>{this._emitter.emit(mr.SCRIPTDATA_ARRIVED,De)})}_onStatisticsInfo(De){Promise.resolve().then(()=>{this._emitter.emit(mr.STATISTICS_INFO,De)})}_onIOError(De,He){Promise.resolve().then(()=>{this._emitter.emit(mr.IO_ERROR,De,He)})}_onDemuxError(De,He){Promise.resolve().then(()=>{this._emitter.emit(mr.DEMUX_ERROR,De,He)})}_onRecommendSeekpoint(De){Promise.resolve().then(()=>{this._emitter.emit(mr.RECOMMEND_SEEKPOINT,De)})}_onLoggingConfigChanged(De){this._worker&&this._worker.postMessage({cmd:"logging_config",param:De})}_onWorkerMessage(De){let He=De.data,Re=He.data;if(He.msg==="destroyed"||this._workerDestroying){this._workerDestroying=!1,this._worker.terminate(),this._worker=null;return}switch(He.msg){case mr.INIT_SEGMENT:case mr.MEDIA_SEGMENT:this._emitter.emit(He.msg,Re.type,Re.data);break;case mr.LOADING_COMPLETE:case mr.RECOVERED_EARLY_EOF:this._emitter.emit(He.msg);break;case mr.MEDIA_INFO:Object.setPrototypeOf(Re,ln.prototype),this._emitter.emit(He.msg,Re);break;case mr.METADATA_ARRIVED:case mr.SCRIPTDATA_ARRIVED:case mr.STATISTICS_INFO:this._emitter.emit(He.msg,Re);break;case mr.IO_ERROR:case mr.DEMUX_ERROR:this._emitter.emit(He.msg,Re.type,Re.info);break;case mr.RECOMMEND_SEEKPOINT:this._emitter.emit(He.msg,Re);break;case"logcat_callback":Be.emitter.emit("log",Re.type,Re.logcat);break;default:break}}}var Io=fo,ai={ERROR:"error",SOURCE_OPEN:"source_open",UPDATE_END:"update_end",BUFFER_FULL:"buffer_full"};class Pi{constructor(De){this.TAG="MSEController",this._config=De,this._emitter=new(Ne()),this._config.isLive&&this._config.autoCleanupSourceBuffer==null&&(this._config.autoCleanupSourceBuffer=!0),this.e={onSourceOpen:this._onSourceOpen.bind(this),onSourceEnded:this._onSourceEnded.bind(this),onSourceClose:this._onSourceClose.bind(this),onSourceBufferError:this._onSourceBufferError.bind(this),onSourceBufferUpdateEnd:this._onSourceBufferUpdateEnd.bind(this)},this._mediaSource=null,this._mediaSourceObjectURL=null,this._mediaElement=null,this._isBufferFull=!1,this._hasPendingEos=!1,this._requireSetMediaDuration=!1,this._pendingMediaDuration=0,this._pendingSourceBufferInit=[],this._mimeTypes={video:null,audio:null},this._sourceBuffers={video:null,audio:null},this._lastInitSegments={video:null,audio:null},this._pendingSegments={video:[],audio:[]},this._pendingRemoveRanges={video:[],audio:[]},this._idrList=new rr}destroy(){(this._mediaElement||this._mediaSource)&&this.detachMediaElement(),this.e=null,this._emitter.removeAllListeners(),this._emitter=null}on(De,He){this._emitter.addListener(De,He)}off(De,He){this._emitter.removeListener(De,He)}attachMediaElement(De){if(this._mediaSource)throw new Ie("MediaSource has been attached to an HTMLMediaElement!");let He=this._mediaSource=new window.MediaSource;He.addEventListener("sourceopen",this.e.onSourceOpen),He.addEventListener("sourceended",this.e.onSourceEnded),He.addEventListener("sourceclose",this.e.onSourceClose),this._mediaElement=De,this._mediaSourceObjectURL=window.URL.createObjectURL(this._mediaSource),De.src=this._mediaSourceObjectURL}detachMediaElement(){if(this._mediaSource){let De=this._mediaSource;for(let He in this._sourceBuffers){let Re=this._pendingSegments[He];Re.splice(0,Re.length),this._pendingSegments[He]=null,this._pendingRemoveRanges[He]=null,this._lastInitSegments[He]=null;let et=this._sourceBuffers[He];if(et){if(De.readyState!=="closed"){try{De.removeSourceBuffer(et)}catch(ft){Be.e(this.TAG,ft.message)}et.removeEventListener("error",this.e.onSourceBufferError),et.removeEventListener("updateend",this.e.onSourceBufferUpdateEnd)}this._mimeTypes[He]=null,this._sourceBuffers[He]=null}}if(De.readyState==="open")try{De.endOfStream()}catch(He){Be.e(this.TAG,He.message)}De.removeEventListener("sourceopen",this.e.onSourceOpen),De.removeEventListener("sourceended",this.e.onSourceEnded),De.removeEventListener("sourceclose",this.e.onSourceClose),this._pendingSourceBufferInit=[],this._isBufferFull=!1,this._idrList.clear(),this._mediaSource=null}this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement=null),this._mediaSourceObjectURL&&(window.URL.revokeObjectURL(this._mediaSourceObjectURL),this._mediaSourceObjectURL=null)}appendInitSegment(De,He){if(!this._mediaSource||this._mediaSource.readyState!=="open"){this._pendingSourceBufferInit.push(De),this._pendingSegments[De.type].push(De);return}let Re=De,et=`${Re.container}`;Re.codec&&Re.codec.length>0&&(et+=`;codecs=${Re.codec}`);let ft=!1;if(Be.v(this.TAG,"Received Initialization Segment, mimeType: "+et),this._lastInitSegments[Re.type]=Re,et!==this._mimeTypes[Re.type]){if(this._mimeTypes[Re.type])Be.v(this.TAG,`Notice: ${Re.type} mimeType changed, origin: ${this._mimeTypes[Re.type]}, target: ${et}`);else{ft=!0;try{let Bt=this._sourceBuffers[Re.type]=this._mediaSource.addSourceBuffer(et);Bt.addEventListener("error",this.e.onSourceBufferError),Bt.addEventListener("updateend",this.e.onSourceBufferUpdateEnd)}catch(Bt){Be.e(this.TAG,Bt.message),this._emitter.emit(ai.ERROR,{code:Bt.code,msg:Bt.message});return}}this._mimeTypes[Re.type]=et}He||this._pendingSegments[Re.type].push(Re),ft||this._sourceBuffers[Re.type]&&!this._sourceBuffers[Re.type].updating&&this._doAppendSegments(),de.safari&&Re.container==="audio/mpeg"&&Re.mediaDuration>0&&(this._requireSetMediaDuration=!0,this._pendingMediaDuration=Re.mediaDuration/1e3,this._updateMediaSourceDuration())}appendMediaSegment(De){let He=De;this._pendingSegments[He.type].push(He),this._config.autoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanupSourceBuffer();let Re=this._sourceBuffers[He.type];Re&&!Re.updating&&!this._hasPendingRemoveRanges()&&this._doAppendSegments()}seek(De){for(let He in this._sourceBuffers){if(!this._sourceBuffers[He])continue;let Re=this._sourceBuffers[He];if(this._mediaSource.readyState==="open")try{Re.abort()}catch(ft){Be.e(this.TAG,ft.message)}this._idrList.clear();let et=this._pendingSegments[He];if(et.splice(0,et.length),this._mediaSource.readyState!=="closed"){for(let ft=0;ft<Re.buffered.length;ft++){let Bt=Re.buffered.start(ft),Ct=Re.buffered.end(ft);this._pendingRemoveRanges[He].push({start:Bt,end:Ct})}if(Re.updating||this._doRemoveRanges(),de.safari){let ft=this._lastInitSegments[He];ft&&(this._pendingSegments[He].push(ft),Re.updating||this._doAppendSegments())}}}}endOfStream(){let De=this._mediaSource,He=this._sourceBuffers;if(!De||De.readyState!=="open"){De&&De.readyState==="closed"&&this._hasPendingSegments()&&(this._hasPendingEos=!0);return}He.video&&He.video.updating||He.audio&&He.audio.updating?this._hasPendingEos=!0:(this._hasPendingEos=!1,De.endOfStream())}getNearestKeyframe(De){return this._idrList.getLastSyncPointBeforeDts(De)}_needCleanupSourceBuffer(){if(!this._config.autoCleanupSourceBuffer)return!1;let De=this._mediaElement.currentTime;for(let He in this._sourceBuffers){let Re=this._sourceBuffers[He];if(Re){let et=Re.buffered;if(et.length>=1&&De-et.start(0)>=this._config.autoCleanupMaxBackwardDuration)return!0}}return!1}_doCleanupSourceBuffer(){let De=this._mediaElement.currentTime;for(let He in this._sourceBuffers){let Re=this._sourceBuffers[He];if(Re){let et=Re.buffered,ft=!1;for(let Bt=0;Bt<et.length;Bt++){let Ct=et.start(Bt),rn=et.end(Bt);if(Ct<=De&&De<rn+3){if(De-Ct>=this._config.autoCleanupMaxBackwardDuration){ft=!0;let nn=De-this._config.autoCleanupMinBackwardDuration;this._pendingRemoveRanges[He].push({start:Ct,end:nn})}}else rn<De&&(ft=!0,this._pendingRemoveRanges[He].push({start:Ct,end:rn}))}ft&&!Re.updating&&this._doRemoveRanges()}}}_updateMediaSourceDuration(){let De=this._sourceBuffers;if(this._mediaElement.readyState===0||this._mediaSource.readyState!=="open"||De.video&&De.video.updating||De.audio&&De.audio.updating)return;let He=this._mediaSource.duration,Re=this._pendingMediaDuration;Re>0&&(isNaN(He)||Re>He)&&(Be.v(this.TAG,`Update MediaSource duration from ${He} to ${Re}`),this._mediaSource.duration=Re),this._requireSetMediaDuration=!1,this._pendingMediaDuration=0}_doRemoveRanges(){for(let De in this._pendingRemoveRanges){if(!this._sourceBuffers[De]||this._sourceBuffers[De].updating)continue;let He=this._sourceBuffers[De],Re=this._pendingRemoveRanges[De];for(;Re.length&&!He.updating;){let et=Re.shift();He.remove(et.start,et.end)}}}_doAppendSegments(){let De=this._pendingSegments;for(let He in De)if(!(!this._sourceBuffers[He]||this._sourceBuffers[He].updating)&&De[He].length>0){let Re=De[He].shift();if(Re.timestampOffset){let et=this._sourceBuffers[He].timestampOffset,ft=Re.timestampOffset/1e3;Math.abs(et-ft)>.1&&(Be.v(this.TAG,`Update MPEG audio timestampOffset from ${et} to ${ft}`),this._sourceBuffers[He].timestampOffset=ft),delete Re.timestampOffset}if(!Re.data||Re.data.byteLength===0)continue;try{this._sourceBuffers[He].appendBuffer(Re.data),this._isBufferFull=!1,He==="video"&&Re.hasOwnProperty("info")&&this._idrList.appendArray(Re.info.syncPoints)}catch(et){this._pendingSegments[He].unshift(Re),et.code===22?(this._isBufferFull||this._emitter.emit(ai.BUFFER_FULL),this._isBufferFull=!0):(Be.e(this.TAG,et.message),this._emitter.emit(ai.ERROR,{code:et.code,msg:et.message}))}}}_onSourceOpen(){if(Be.v(this.TAG,"MediaSource onSourceOpen"),this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._pendingSourceBufferInit.length>0){let De=this._pendingSourceBufferInit;for(;De.length;){let He=De.shift();this.appendInitSegment(He,!0)}}this._hasPendingSegments()&&this._doAppendSegments(),this._emitter.emit(ai.SOURCE_OPEN)}_onSourceEnded(){Be.v(this.TAG,"MediaSource onSourceEnded")}_onSourceClose(){Be.v(this.TAG,"MediaSource onSourceClose"),this._mediaSource&&this.e!=null&&(this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._mediaSource.removeEventListener("sourceended",this.e.onSourceEnded),this._mediaSource.removeEventListener("sourceclose",this.e.onSourceClose))}_hasPendingSegments(){let De=this._pendingSegments;return De.video.length>0||De.audio.length>0}_hasPendingRemoveRanges(){let De=this._pendingRemoveRanges;return De.video.length>0||De.audio.length>0}_onSourceBufferUpdateEnd(){this._requireSetMediaDuration?this._updateMediaSourceDuration():this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this._hasPendingEos&&this.endOfStream(),this._emitter.emit(ai.UPDATE_END)}_onSourceBufferError(De){Be.e(this.TAG,`SourceBuffer Error: ${De}`)}}var ao=Pi;const Jr={NETWORK_ERROR:"NetworkError",MEDIA_ERROR:"MediaError",OTHER_ERROR:"OtherError"},oo={NETWORK_EXCEPTION:ye.EXCEPTION,NETWORK_STATUS_CODE_INVALID:ye.HTTP_STATUS_CODE_INVALID,NETWORK_TIMEOUT:ye.CONNECTING_TIMEOUT,NETWORK_UNRECOVERABLE_EARLY_EOF:ye.UNRECOVERABLE_EARLY_EOF,MEDIA_MSE_ERROR:"MediaMSEError",MEDIA_FORMAT_ERROR:qt.FORMAT_ERROR,MEDIA_FORMAT_UNSUPPORTED:qt.FORMAT_UNSUPPORTED,MEDIA_CODEC_UNSUPPORTED:qt.CODEC_UNSUPPORTED};class zi{constructor(De,He){if(this.TAG="FlvPlayer",this._type="FlvPlayer",this._emitter=new(Ne()),this._config=St(),typeof He=="object"&&Object.assign(this._config,He),De.type.toLowerCase()!=="flv")throw new Ce("FlvPlayer requires an flv MediaDataSource input!");De.isLive===!0&&(this._config.isLive=!0),this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this),onvSeeking:this._onvSeeking.bind(this),onvCanPlay:this._onvCanPlay.bind(this),onvStalled:this._onvStalled.bind(this),onvProgress:this._onvProgress.bind(this)},self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now,this._pendingSeekTime=null,this._requestSetTime=!1,this._seekpointRecord=null,this._progressChecker=null,this._mediaDataSource=De,this._mediaElement=null,this._msectl=null,this._transmuxer=null,this._mseSourceOpened=!1,this._hasPendingLoad=!1,this._receivedCanPlay=!1,this._mediaInfo=null,this._statisticsInfo=null;let Re=de.chrome&&(de.version.major<50||de.version.major===50&&de.version.build<2661);this._alwaysSeekKeyframe=!!(Re||de.msedge||de.msie),this._alwaysSeekKeyframe&&(this._config.accurateSeek=!1)}destroy(){this._progressChecker!=null&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._transmuxer&&this.unload(),this._mediaElement&&this.detachMediaElement(),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}on(De,He){De===Xt.MEDIA_INFO?this._mediaInfo!=null&&Promise.resolve().then(()=>{this._emitter.emit(Xt.MEDIA_INFO,this.mediaInfo)}):De===Xt.STATISTICS_INFO&&this._statisticsInfo!=null&&Promise.resolve().then(()=>{this._emitter.emit(Xt.STATISTICS_INFO,this.statisticsInfo)}),this._emitter.addListener(De,He)}off(De,He){this._emitter.removeListener(De,He)}attachMediaElement(De){if(this._mediaElement=De,De.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),De.addEventListener("seeking",this.e.onvSeeking),De.addEventListener("canplay",this.e.onvCanPlay),De.addEventListener("stalled",this.e.onvStalled),De.addEventListener("progress",this.e.onvProgress),this._msectl=new ao(this._config),this._msectl.on(ai.UPDATE_END,this._onmseUpdateEnd.bind(this)),this._msectl.on(ai.BUFFER_FULL,this._onmseBufferFull.bind(this)),this._msectl.on(ai.SOURCE_OPEN,()=>{this._mseSourceOpened=!0,this._hasPendingLoad&&(this._hasPendingLoad=!1,this.load())}),this._msectl.on(ai.ERROR,He=>{this._emitter.emit(Xt.ERROR,Jr.MEDIA_ERROR,oo.MEDIA_MSE_ERROR,He)}),this._msectl.attachMediaElement(De),this._pendingSeekTime!=null)try{De.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(He){}}detachMediaElement(){this._mediaElement&&(this._msectl.detachMediaElement(),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement.removeEventListener("seeking",this.e.onvSeeking),this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay),this._mediaElement.removeEventListener("stalled",this.e.onvStalled),this._mediaElement.removeEventListener("progress",this.e.onvProgress),this._mediaElement=null),this._msectl&&(this._msectl.destroy(),this._msectl=null)}load(){if(!this._mediaElement)throw new Ie("HTMLMediaElement must be attached before load()!");if(this._transmuxer)throw new Ie("FlvPlayer.load() has been called, please call unload() first!");if(!this._hasPendingLoad){if(this._config.deferLoadAfterSourceOpen&&this._mseSourceOpened===!1){this._hasPendingLoad=!0;return}this._mediaElement.readyState>0&&(this._requestSetTime=!0,this._mediaElement.currentTime=0),this._transmuxer=new Io(this._mediaDataSource,this._config),this._transmuxer.on(mr.INIT_SEGMENT,(De,He)=>{this._msectl.appendInitSegment(He)}),this._transmuxer.on(mr.MEDIA_SEGMENT,(De,He)=>{if(this._msectl.appendMediaSegment(He),this._config.lazyLoad&&!this._config.isLive){let Re=this._mediaElement.currentTime;He.info.endDts>=(Re+this._config.lazyLoadMaxDuration)*1e3&&this._progressChecker==null&&(Be.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}}),this._transmuxer.on(mr.LOADING_COMPLETE,()=>{this._msectl.endOfStream(),this._emitter.emit(Xt.LOADING_COMPLETE)}),this._transmuxer.on(mr.RECOVERED_EARLY_EOF,()=>{this._emitter.emit(Xt.RECOVERED_EARLY_EOF)}),this._transmuxer.on(mr.IO_ERROR,(De,He)=>{this._emitter.emit(Xt.ERROR,Jr.NETWORK_ERROR,De,He)}),this._transmuxer.on(mr.DEMUX_ERROR,(De,He)=>{this._emitter.emit(Xt.ERROR,Jr.MEDIA_ERROR,De,{code:-1,msg:He})}),this._transmuxer.on(mr.MEDIA_INFO,De=>{this._mediaInfo=De,this._emitter.emit(Xt.MEDIA_INFO,Object.assign({},De))}),this._transmuxer.on(mr.METADATA_ARRIVED,De=>{this._emitter.emit(Xt.METADATA_ARRIVED,De)}),this._transmuxer.on(mr.SCRIPTDATA_ARRIVED,De=>{this._emitter.emit(Xt.SCRIPTDATA_ARRIVED,De)}),this._transmuxer.on(mr.STATISTICS_INFO,De=>{this._statisticsInfo=this._fillStatisticsInfo(De),this._emitter.emit(Xt.STATISTICS_INFO,Object.assign({},this._statisticsInfo))}),this._transmuxer.on(mr.RECOMMEND_SEEKPOINT,De=>{this._mediaElement&&!this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=De/1e3)}),this._transmuxer.open()}}unload(){this._mediaElement&&this._mediaElement.pause(),this._msectl&&this._msectl.seek(0),this._transmuxer&&(this._transmuxer.close(),this._transmuxer.destroy(),this._transmuxer=null)}play(){return this._mediaElement.play()}pause(){this._mediaElement.pause()}get type(){return this._type}get buffered(){return this._mediaElement.buffered}get duration(){return this._mediaElement.duration}get volume(){return this._mediaElement.volume}set volume(De){this._mediaElement.volume=De}get muted(){return this._mediaElement.muted}set muted(De){this._mediaElement.muted=De}get currentTime(){return this._mediaElement?this._mediaElement.currentTime:0}set currentTime(De){this._mediaElement?this._internalSeek(De):this._pendingSeekTime=De}get mediaInfo(){return Object.assign({},this._mediaInfo)}get statisticsInfo(){return this._statisticsInfo==null&&(this._statisticsInfo={}),this._statisticsInfo=this._fillStatisticsInfo(this._statisticsInfo),Object.assign({},this._statisticsInfo)}_fillStatisticsInfo(De){if(De.playerType=this._type,!(this._mediaElement instanceof HTMLVideoElement))return De;let He=!0,Re=0,et=0;if(this._mediaElement.getVideoPlaybackQuality){let ft=this._mediaElement.getVideoPlaybackQuality();Re=ft.totalVideoFrames,et=ft.droppedVideoFrames}else this._mediaElement.webkitDecodedFrameCount!=null?(Re=this._mediaElement.webkitDecodedFrameCount,et=this._mediaElement.webkitDroppedFrameCount):He=!1;return He&&(De.decodedFrames=Re,De.droppedFrames=et),De}_onmseUpdateEnd(){if(!this._config.lazyLoad||this._config.isLive)return;let De=this._mediaElement.buffered,He=this._mediaElement.currentTime,Re=0,et=0;for(let ft=0;ft<De.length;ft++){let Bt=De.start(ft),Ct=De.end(ft);if(Bt<=He&&He<Ct){Re=Bt,et=Ct;break}}et>=He+this._config.lazyLoadMaxDuration&&this._progressChecker==null&&(Be.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}_onmseBufferFull(){Be.v(this.TAG,"MSE SourceBuffer is full, suspend transmuxing task"),this._progressChecker==null&&this._suspendTransmuxer()}_suspendTransmuxer(){this._transmuxer&&(this._transmuxer.pause(),this._progressChecker==null&&(this._progressChecker=window.setInterval(this._checkProgressAndResume.bind(this),1e3)))}_checkProgressAndResume(){let De=this._mediaElement.currentTime,He=this._mediaElement.buffered,Re=!1;for(let et=0;et<He.length;et++){let ft=He.start(et),Bt=He.end(et);if(De>=ft&&De<Bt){De>=Bt-this._config.lazyLoadRecoverDuration&&(Re=!0);break}}Re&&(window.clearInterval(this._progressChecker),this._progressChecker=null,Re&&(Be.v(this.TAG,"Continue loading from paused position"),this._transmuxer.resume()))}_isTimepointBuffered(De){let He=this._mediaElement.buffered;for(let Re=0;Re<He.length;Re++){let et=He.start(Re),ft=He.end(Re);if(De>=et&&De<ft)return!0}return!1}_internalSeek(De){let He=this._isTimepointBuffered(De),Re=!1,et=0;if(De<1&&this._mediaElement.buffered.length>0){let ft=this._mediaElement.buffered.start(0);(ft<1&&De<ft||de.safari)&&(Re=!0,et=de.safari?.1:ft)}if(Re)this._requestSetTime=!0,this._mediaElement.currentTime=et;else if(He){if(!this._alwaysSeekKeyframe)this._requestSetTime=!0,this._mediaElement.currentTime=De;else{let ft=this._msectl.getNearestKeyframe(Math.floor(De*1e3));this._requestSetTime=!0,ft!=null?this._mediaElement.currentTime=ft.dts/1e3:this._mediaElement.currentTime=De}this._progressChecker!=null&&this._checkProgressAndResume()}else this._progressChecker!=null&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._msectl.seek(De),this._transmuxer.seek(Math.floor(De*1e3)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=De)}_checkAndApplyUnbufferedSeekpoint(){if(this._seekpointRecord)if(this._seekpointRecord.recordTime<=this._now()-100){let De=this._mediaElement.currentTime;this._seekpointRecord=null,this._isTimepointBuffered(De)||(this._progressChecker!=null&&(window.clearTimeout(this._progressChecker),this._progressChecker=null),this._msectl.seek(De),this._transmuxer.seek(Math.floor(De*1e3)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=De))}else window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}_checkAndResumeStuckPlayback(De){let He=this._mediaElement;if(De||!this._receivedCanPlay||He.readyState<2){let Re=He.buffered;Re.length>0&&He.currentTime<Re.start(0)&&(Be.w(this.TAG,`Playback seems stuck at ${He.currentTime}, seek to ${Re.start(0)}`),this._requestSetTime=!0,this._mediaElement.currentTime=Re.start(0),this._mediaElement.removeEventListener("progress",this.e.onvProgress))}else this._mediaElement.removeEventListener("progress",this.e.onvProgress)}_onvLoadedMetadata(De){this._pendingSeekTime!=null&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null)}_onvSeeking(De){let He=this._mediaElement.currentTime,Re=this._mediaElement.buffered;if(this._requestSetTime){this._requestSetTime=!1;return}if(He<1&&Re.length>0){let et=Re.start(0);if(et<1&&He<et||de.safari){this._requestSetTime=!0,this._mediaElement.currentTime=de.safari?.1:et;return}}if(this._isTimepointBuffered(He)){if(this._alwaysSeekKeyframe){let et=this._msectl.getNearestKeyframe(Math.floor(He*1e3));et!=null&&(this._requestSetTime=!0,this._mediaElement.currentTime=et.dts/1e3)}this._progressChecker!=null&&this._checkProgressAndResume();return}this._seekpointRecord={seekPoint:He,recordTime:this._now()},window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}_onvCanPlay(De){this._receivedCanPlay=!0,this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay)}_onvStalled(De){this._checkAndResumeStuckPlayback(!0)}_onvProgress(De){this._checkAndResumeStuckPlayback()}}var It=zi;class Yo{constructor(De,He){if(this.TAG="NativePlayer",this._type="NativePlayer",this._emitter=new(Ne()),this._config=St(),typeof He=="object"&&Object.assign(this._config,He),De.type.toLowerCase()==="flv")throw new Ce("NativePlayer does't support flv MediaDataSource input!");if(De.hasOwnProperty("segments"))throw new Ce(`NativePlayer(${De.type}) doesn't support multipart playback!`);this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this)},this._pendingSeekTime=null,this._statisticsReporter=null,this._mediaDataSource=De,this._mediaElement=null}destroy(){this._mediaElement&&(this.unload(),this.detachMediaElement()),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}on(De,He){De===Xt.MEDIA_INFO?this._mediaElement!=null&&this._mediaElement.readyState!==0&&Promise.resolve().then(()=>{this._emitter.emit(Xt.MEDIA_INFO,this.mediaInfo)}):De===Xt.STATISTICS_INFO&&this._mediaElement!=null&&this._mediaElement.readyState!==0&&Promise.resolve().then(()=>{this._emitter.emit(Xt.STATISTICS_INFO,this.statisticsInfo)}),this._emitter.addListener(De,He)}off(De,He){this._emitter.removeListener(De,He)}attachMediaElement(De){if(this._mediaElement=De,De.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._pendingSeekTime!=null)try{De.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(He){}}detachMediaElement(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement=null),this._statisticsReporter!=null&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}load(){if(!this._mediaElement)throw new Ie("HTMLMediaElement must be attached before load()!");this._mediaElement.src=this._mediaDataSource.url,this._mediaElement.readyState>0&&(this._mediaElement.currentTime=0),this._mediaElement.preload="auto",this._mediaElement.load(),this._statisticsReporter=window.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval)}unload(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src")),this._statisticsReporter!=null&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}play(){return this._mediaElement.play()}pause(){this._mediaElement.pause()}get type(){return this._type}get buffered(){return this._mediaElement.buffered}get duration(){return this._mediaElement.duration}get volume(){return this._mediaElement.volume}set volume(De){this._mediaElement.volume=De}get muted(){return this._mediaElement.muted}set muted(De){this._mediaElement.muted=De}get currentTime(){return this._mediaElement?this._mediaElement.currentTime:0}set currentTime(De){this._mediaElement?this._mediaElement.currentTime=De:this._pendingSeekTime=De}get mediaInfo(){let He={mimeType:(this._mediaElement instanceof HTMLAudioElement?"audio/":"video/")+this._mediaDataSource.type};return this._mediaElement&&(He.duration=Math.floor(this._mediaElement.duration*1e3),this._mediaElement instanceof HTMLVideoElement&&(He.width=this._mediaElement.videoWidth,He.height=this._mediaElement.videoHeight)),He}get statisticsInfo(){let De={playerType:this._type,url:this._mediaDataSource.url};if(!(this._mediaElement instanceof HTMLVideoElement))return De;let He=!0,Re=0,et=0;if(this._mediaElement.getVideoPlaybackQuality){let ft=this._mediaElement.getVideoPlaybackQuality();Re=ft.totalVideoFrames,et=ft.droppedVideoFrames}else this._mediaElement.webkitDecodedFrameCount!=null?(Re=this._mediaElement.webkitDecodedFrameCount,et=this._mediaElement.webkitDroppedFrameCount):He=!1;return He&&(De.decodedFrames=Re,De.droppedFrames=et),De}_onvLoadedMetadata(De){this._pendingSeekTime!=null&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null),this._emitter.emit(Xt.MEDIA_INFO,this.mediaInfo)}_reportStatisticsInfo(){this._emitter.emit(Xt.STATISTICS_INFO,this.statisticsInfo)}}var ko=Yo;tt.install();function Fr(Nt,De){let He=Nt;if(He==null||typeof He!="object")throw new Ce("MediaDataSource must be an javascript object!");if(!He.hasOwnProperty("type"))throw new Ce("MediaDataSource must has type field to indicate video file type!");switch(He.type){case"flv":return new It(He,De);default:return new ko(He,De)}}function Bi(){return ct.supportMSEH264Playback()}function Fi(){return ct.getFeatureList()}let Qi={};Qi.createPlayer=Fr,Qi.isSupported=Bi,Qi.getFeatureList=Fi,Qi.BaseLoader=ie,Qi.LoaderStatus=je,Qi.LoaderErrors=ye,Qi.Events=Xt,Qi.ErrorTypes=Jr,Qi.ErrorDetails=oo,Qi.FlvPlayer=It,Qi.NativePlayer=ko,Qi.LoggingControl=Rt,Object.defineProperty(Qi,"version",{enumerable:!0,get:function(){return"__VERSION__"}});var ii=Qi},5136:function(en,tn,Oe){"use strict";var Ge,tt=Object.defineProperty,Ue=Nt=>{throw TypeError(Nt)},Ne=Math.pow,Ke=(Nt,De,He)=>De in Nt?tt(Nt,De,{enumerable:!0,configurable:!0,writable:!0,value:He}):Nt[De]=He,Be=(Nt,De,He)=>Ke(Nt,typeof De!="symbol"?De+"":De,He),we=(Nt,De,He)=>De.has(Nt)||Ue("Cannot "+He),Te=(Nt,De,He)=>(we(Nt,De,"read from private field"),He?He.call(Nt):De.get(Nt)),ke=(Nt,De,He)=>De.has(Nt)?Ue("Cannot add the same private member more than once"):De instanceof WeakSet?De.add(Nt):De.set(Nt,He),Ie=(Nt,De,He,Re)=>(we(Nt,De,"write to private field"),Re?Re.call(Nt,He):De.set(Nt,He),He),Ce=(Nt,De,He)=>(we(Nt,De,"access private method"),He),Me,je,ye;Ge={value:!0};var ie=Oe(34634),ae=Oe(34402);const fe=" ".repeat(2),de=" ".repeat(4);function ve(){return xe(this)}function xe(Nt,De={}){const{maxRows:He=15,maxColumns:Re=10,maxNumSize:et=8,padMinus:ft="auto"}=De;return`${Nt.constructor.name} {
${fe}[
${de}${ce(Nt,He,Re,et,ft)}
${fe}]
${fe}rows: ${Nt.rows}
${fe}columns: ${Nt.columns}
}`}function ce(Nt,De,He,Re,et){const{rows:ft,columns:Bt}=Nt,Ct=Math.min(ft,De),rn=Math.min(Bt,He),nn=[];if(et==="auto"){et=!1;e:for(let Gn=0;Gn<Ct;Gn++)for(let Sn=0;Sn<rn;Sn++)if(Nt.get(Gn,Sn)<0){et=!0;break e}}for(let Gn=0;Gn<Ct;Gn++){let Sn=[];for(let cn=0;cn<rn;cn++)Sn.push(pe(Nt.get(Gn,cn),Re,et));nn.push(`${Sn.join(" ")}`)}return rn!==Bt&&(nn[nn.length-1]+=` ... ${Bt-He} more columns`),Ct!==ft&&nn.push(`... ${ft-De} more rows`),nn.join(`
${de}`)}function pe(Nt,De,He){return(Nt>=0&&He?` ${Se(Nt,De-1)}`:Se(Nt,De)).padEnd(De)}function Se(Nt,De){let He=Nt.toString();if(He.length<=De)return He;let Re=Nt.toFixed(De);if(Re.length>De&&(Re=Nt.toFixed(Math.max(0,De-(Re.length-De)))),Re.length<=De&&!Re.startsWith("0.000")&&!Re.startsWith("-0.000"))return Re;let et=Nt.toExponential(De);return et.length>De&&(et=Nt.toExponential(Math.max(0,De-(et.length-De)))),et.slice(0)}function Le(Nt,De){Nt.prototype.add=function(Re){return typeof Re=="number"?this.addS(Re):this.addM(Re)},Nt.prototype.addS=function(Re){for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)+Re);return this},Nt.prototype.addM=function(Re){if(Re=De.checkMatrix(Re),this.rows!==Re.rows||this.columns!==Re.columns)throw new RangeError("Matrices dimensions must be equal");for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)+Re.get(et,ft));return this},Nt.add=function(Re,et){return new De(Re).add(et)},Nt.prototype.sub=function(Re){return typeof Re=="number"?this.subS(Re):this.subM(Re)},Nt.prototype.subS=function(Re){for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)-Re);return this},Nt.prototype.subM=function(Re){if(Re=De.checkMatrix(Re),this.rows!==Re.rows||this.columns!==Re.columns)throw new RangeError("Matrices dimensions must be equal");for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)-Re.get(et,ft));return this},Nt.sub=function(Re,et){return new De(Re).sub(et)},Nt.prototype.subtract=Nt.prototype.sub,Nt.prototype.subtractS=Nt.prototype.subS,Nt.prototype.subtractM=Nt.prototype.subM,Nt.subtract=Nt.sub,Nt.prototype.mul=function(Re){return typeof Re=="number"?this.mulS(Re):this.mulM(Re)},Nt.prototype.mulS=function(Re){for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)*Re);return this},Nt.prototype.mulM=function(Re){if(Re=De.checkMatrix(Re),this.rows!==Re.rows||this.columns!==Re.columns)throw new RangeError("Matrices dimensions must be equal");for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)*Re.get(et,ft));return this},Nt.mul=function(Re,et){return new De(Re).mul(et)},Nt.prototype.multiply=Nt.prototype.mul,Nt.prototype.multiplyS=Nt.prototype.mulS,Nt.prototype.multiplyM=Nt.prototype.mulM,Nt.multiply=Nt.mul,Nt.prototype.div=function(Re){return typeof Re=="number"?this.divS(Re):this.divM(Re)},Nt.prototype.divS=function(Re){for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)/Re);return this},Nt.prototype.divM=function(Re){if(Re=De.checkMatrix(Re),this.rows!==Re.rows||this.columns!==Re.columns)throw new RangeError("Matrices dimensions must be equal");for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)/Re.get(et,ft));return this},Nt.div=function(Re,et){return new De(Re).div(et)},Nt.prototype.divide=Nt.prototype.div,Nt.prototype.divideS=Nt.prototype.divS,Nt.prototype.divideM=Nt.prototype.divM,Nt.divide=Nt.div,Nt.prototype.mod=function(Re){return typeof Re=="number"?this.modS(Re):this.modM(Re)},Nt.prototype.modS=function(Re){for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)%Re);return this},Nt.prototype.modM=function(Re){if(Re=De.checkMatrix(Re),this.rows!==Re.rows||this.columns!==Re.columns)throw new RangeError("Matrices dimensions must be equal");for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)%Re.get(et,ft));return this},Nt.mod=function(Re,et){return new De(Re).mod(et)},Nt.prototype.modulus=Nt.prototype.mod,Nt.prototype.modulusS=Nt.prototype.modS,Nt.prototype.modulusM=Nt.prototype.modM,Nt.modulus=Nt.mod,Nt.prototype.and=function(Re){return typeof Re=="number"?this.andS(Re):this.andM(Re)},Nt.prototype.andS=function(Re){for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)&Re);return this},Nt.prototype.andM=function(Re){if(Re=De.checkMatrix(Re),this.rows!==Re.rows||this.columns!==Re.columns)throw new RangeError("Matrices dimensions must be equal");for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)&Re.get(et,ft));return this},Nt.and=function(Re,et){return new De(Re).and(et)},Nt.prototype.or=function(Re){return typeof Re=="number"?this.orS(Re):this.orM(Re)},Nt.prototype.orS=function(Re){for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)|Re);return this},Nt.prototype.orM=function(Re){if(Re=De.checkMatrix(Re),this.rows!==Re.rows||this.columns!==Re.columns)throw new RangeError("Matrices dimensions must be equal");for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)|Re.get(et,ft));return this},Nt.or=function(Re,et){return new De(Re).or(et)},Nt.prototype.xor=function(Re){return typeof Re=="number"?this.xorS(Re):this.xorM(Re)},Nt.prototype.xorS=function(Re){for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)^Re);return this},Nt.prototype.xorM=function(Re){if(Re=De.checkMatrix(Re),this.rows!==Re.rows||this.columns!==Re.columns)throw new RangeError("Matrices dimensions must be equal");for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)^Re.get(et,ft));return this},Nt.xor=function(Re,et){return new De(Re).xor(et)},Nt.prototype.leftShift=function(Re){return typeof Re=="number"?this.leftShiftS(Re):this.leftShiftM(Re)},Nt.prototype.leftShiftS=function(Re){for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)<<Re);return this},Nt.prototype.leftShiftM=function(Re){if(Re=De.checkMatrix(Re),this.rows!==Re.rows||this.columns!==Re.columns)throw new RangeError("Matrices dimensions must be equal");for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)<<Re.get(et,ft));return this},Nt.leftShift=function(Re,et){return new De(Re).leftShift(et)},Nt.prototype.signPropagatingRightShift=function(Re){return typeof Re=="number"?this.signPropagatingRightShiftS(Re):this.signPropagatingRightShiftM(Re)},Nt.prototype.signPropagatingRightShiftS=function(Re){for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)>>Re);return this},Nt.prototype.signPropagatingRightShiftM=function(Re){if(Re=De.checkMatrix(Re),this.rows!==Re.rows||this.columns!==Re.columns)throw new RangeError("Matrices dimensions must be equal");for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)>>Re.get(et,ft));return this},Nt.signPropagatingRightShift=function(Re,et){return new De(Re).signPropagatingRightShift(et)},Nt.prototype.rightShift=function(Re){return typeof Re=="number"?this.rightShiftS(Re):this.rightShiftM(Re)},Nt.prototype.rightShiftS=function(Re){for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)>>>Re);return this},Nt.prototype.rightShiftM=function(Re){if(Re=De.checkMatrix(Re),this.rows!==Re.rows||this.columns!==Re.columns)throw new RangeError("Matrices dimensions must be equal");for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,this.get(et,ft)>>>Re.get(et,ft));return this},Nt.rightShift=function(Re,et){return new De(Re).rightShift(et)},Nt.prototype.zeroFillRightShift=Nt.prototype.rightShift,Nt.prototype.zeroFillRightShiftS=Nt.prototype.rightShiftS,Nt.prototype.zeroFillRightShiftM=Nt.prototype.rightShiftM,Nt.zeroFillRightShift=Nt.rightShift,Nt.prototype.not=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,~this.get(Re,et));return this},Nt.not=function(Re){return new De(Re).not()},Nt.prototype.abs=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.abs(this.get(Re,et)));return this},Nt.abs=function(Re){return new De(Re).abs()},Nt.prototype.acos=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.acos(this.get(Re,et)));return this},Nt.acos=function(Re){return new De(Re).acos()},Nt.prototype.acosh=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.acosh(this.get(Re,et)));return this},Nt.acosh=function(Re){return new De(Re).acosh()},Nt.prototype.asin=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.asin(this.get(Re,et)));return this},Nt.asin=function(Re){return new De(Re).asin()},Nt.prototype.asinh=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.asinh(this.get(Re,et)));return this},Nt.asinh=function(Re){return new De(Re).asinh()},Nt.prototype.atan=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.atan(this.get(Re,et)));return this},Nt.atan=function(Re){return new De(Re).atan()},Nt.prototype.atanh=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.atanh(this.get(Re,et)));return this},Nt.atanh=function(Re){return new De(Re).atanh()},Nt.prototype.cbrt=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.cbrt(this.get(Re,et)));return this},Nt.cbrt=function(Re){return new De(Re).cbrt()},Nt.prototype.ceil=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.ceil(this.get(Re,et)));return this},Nt.ceil=function(Re){return new De(Re).ceil()},Nt.prototype.clz32=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.clz32(this.get(Re,et)));return this},Nt.clz32=function(Re){return new De(Re).clz32()},Nt.prototype.cos=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.cos(this.get(Re,et)));return this},Nt.cos=function(Re){return new De(Re).cos()},Nt.prototype.cosh=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.cosh(this.get(Re,et)));return this},Nt.cosh=function(Re){return new De(Re).cosh()},Nt.prototype.exp=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.exp(this.get(Re,et)));return this},Nt.exp=function(Re){return new De(Re).exp()},Nt.prototype.expm1=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.expm1(this.get(Re,et)));return this},Nt.expm1=function(Re){return new De(Re).expm1()},Nt.prototype.floor=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.floor(this.get(Re,et)));return this},Nt.floor=function(Re){return new De(Re).floor()},Nt.prototype.fround=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.fround(this.get(Re,et)));return this},Nt.fround=function(Re){return new De(Re).fround()},Nt.prototype.log=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.log(this.get(Re,et)));return this},Nt.log=function(Re){return new De(Re).log()},Nt.prototype.log1p=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.log1p(this.get(Re,et)));return this},Nt.log1p=function(Re){return new De(Re).log1p()},Nt.prototype.log10=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.log10(this.get(Re,et)));return this},Nt.log10=function(Re){return new De(Re).log10()},Nt.prototype.log2=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.log2(this.get(Re,et)));return this},Nt.log2=function(Re){return new De(Re).log2()},Nt.prototype.round=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.round(this.get(Re,et)));return this},Nt.round=function(Re){return new De(Re).round()},Nt.prototype.sign=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.sign(this.get(Re,et)));return this},Nt.sign=function(Re){return new De(Re).sign()},Nt.prototype.sin=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.sin(this.get(Re,et)));return this},Nt.sin=function(Re){return new De(Re).sin()},Nt.prototype.sinh=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.sinh(this.get(Re,et)));return this},Nt.sinh=function(Re){return new De(Re).sinh()},Nt.prototype.sqrt=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.sqrt(this.get(Re,et)));return this},Nt.sqrt=function(Re){return new De(Re).sqrt()},Nt.prototype.tan=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.tan(this.get(Re,et)));return this},Nt.tan=function(Re){return new De(Re).tan()},Nt.prototype.tanh=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.tanh(this.get(Re,et)));return this},Nt.tanh=function(Re){return new De(Re).tanh()},Nt.prototype.trunc=function(){for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.set(Re,et,Math.trunc(this.get(Re,et)));return this},Nt.trunc=function(Re){return new De(Re).trunc()},Nt.pow=function(Re,et){return new De(Re).pow(et)},Nt.prototype.pow=function(Re){return typeof Re=="number"?this.powS(Re):this.powM(Re)},Nt.prototype.powS=function(Re){for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,Ne(this.get(et,ft),Re));return this},Nt.prototype.powM=function(Re){if(Re=De.checkMatrix(Re),this.rows!==Re.rows||this.columns!==Re.columns)throw new RangeError("Matrices dimensions must be equal");for(let et=0;et<this.rows;et++)for(let ft=0;ft<this.columns;ft++)this.set(et,ft,Ne(this.get(et,ft),Re.get(et,ft)));return this}}function ze(Nt,De,He){let Re=He?Nt.rows:Nt.rows-1;if(De<0||De>Re)throw new RangeError("Row index out of range")}function Ze(Nt,De,He){let Re=He?Nt.columns:Nt.columns-1;if(De<0||De>Re)throw new RangeError("Column index out of range")}function Ve(Nt,De){if(De.to1DArray&&(De=De.to1DArray()),De.length!==Nt.columns)throw new RangeError("vector size must be the same as the number of columns");return De}function Qe(Nt,De){if(De.to1DArray&&(De=De.to1DArray()),De.length!==Nt.rows)throw new RangeError("vector size must be the same as the number of rows");return De}function $e(Nt,De){if(!ie.isAnyArray(De))throw new TypeError("row indices must be an array");for(let He=0;He<De.length;He++)if(De[He]<0||De[He]>=Nt.rows)throw new RangeError("row indices are out of range")}function gt(Nt,De){if(!ie.isAnyArray(De))throw new TypeError("column indices must be an array");for(let He=0;He<De.length;He++)if(De[He]<0||De[He]>=Nt.columns)throw new RangeError("column indices are out of range")}function lt(Nt,De,He,Re,et){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if(Et("startRow",De),Et("endRow",He),Et("startColumn",Re),Et("endColumn",et),De>He||Re>et||De<0||De>=Nt.rows||He<0||He>=Nt.rows||Re<0||Re>=Nt.columns||et<0||et>=Nt.columns)throw new RangeError("Submatrix indices are out of range")}function At(Nt,De=0){let He=[];for(let Re=0;Re<Nt;Re++)He.push(De);return He}function Et(Nt,De){if(typeof De!="number")throw new TypeError(`${Nt} must be a number`)}function vt(Nt){if(Nt.isEmpty())throw new Error("Empty matrix has no elements to index")}function Lt(Nt){let De=At(Nt.rows);for(let He=0;He<Nt.rows;++He)for(let Re=0;Re<Nt.columns;++Re)De[He]+=Nt.get(He,Re);return De}function St(Nt){let De=At(Nt.columns);for(let He=0;He<Nt.rows;++He)for(let Re=0;Re<Nt.columns;++Re)De[Re]+=Nt.get(He,Re);return De}function xt(Nt){let De=0;for(let He=0;He<Nt.rows;He++)for(let Re=0;Re<Nt.columns;Re++)De+=Nt.get(He,Re);return De}function ct(Nt){let De=At(Nt.rows,1);for(let He=0;He<Nt.rows;++He)for(let Re=0;Re<Nt.columns;++Re)De[He]*=Nt.get(He,Re);return De}function Dt(Nt){let De=At(Nt.columns,1);for(let He=0;He<Nt.rows;++He)for(let Re=0;Re<Nt.columns;++Re)De[Re]*=Nt.get(He,Re);return De}function Xt(Nt){let De=1;for(let He=0;He<Nt.rows;He++)for(let Re=0;Re<Nt.columns;Re++)De*=Nt.get(He,Re);return De}function kt(Nt,De,He){const Re=Nt.rows,et=Nt.columns,ft=[];for(let Bt=0;Bt<Re;Bt++){let Ct=0,rn=0,nn=0;for(let Gn=0;Gn<et;Gn++)nn=Nt.get(Bt,Gn)-He[Bt],Ct+=nn,rn+=nn*nn;De?ft.push((rn-Ct*Ct/et)/(et-1)):ft.push((rn-Ct*Ct/et)/et)}return ft}function Rt(Nt,De,He){const Re=Nt.rows,et=Nt.columns,ft=[];for(let Bt=0;Bt<et;Bt++){let Ct=0,rn=0,nn=0;for(let Gn=0;Gn<Re;Gn++)nn=Nt.get(Gn,Bt)-He[Bt],Ct+=nn,rn+=nn*nn;De?ft.push((rn-Ct*Ct/Re)/(Re-1)):ft.push((rn-Ct*Ct/Re)/Re)}return ft}function Gt(Nt,De,He){const Re=Nt.rows,et=Nt.columns,ft=Re*et;let Bt=0,Ct=0,rn=0;for(let nn=0;nn<Re;nn++)for(let Gn=0;Gn<et;Gn++)rn=Nt.get(nn,Gn)-He,Bt+=rn,Ct+=rn*rn;return De?(Ct-Bt*Bt/ft)/(ft-1):(Ct-Bt*Bt/ft)/ft}function ln(Nt,De){for(let He=0;He<Nt.rows;He++)for(let Re=0;Re<Nt.columns;Re++)Nt.set(He,Re,Nt.get(He,Re)-De[He])}function Rn(Nt,De){for(let He=0;He<Nt.rows;He++)for(let Re=0;Re<Nt.columns;Re++)Nt.set(He,Re,Nt.get(He,Re)-De[Re])}function jn(Nt,De){for(let He=0;He<Nt.rows;He++)for(let Re=0;Re<Nt.columns;Re++)Nt.set(He,Re,Nt.get(He,Re)-De)}function er(Nt){const De=[];for(let He=0;He<Nt.rows;He++){let Re=0;for(let et=0;et<Nt.columns;et++)Re+=Ne(Nt.get(He,et),2)/(Nt.columns-1);De.push(Math.sqrt(Re))}return De}function an(Nt,De){for(let He=0;He<Nt.rows;He++)for(let Re=0;Re<Nt.columns;Re++)Nt.set(He,Re,Nt.get(He,Re)/De[He])}function Un(Nt){const De=[];for(let He=0;He<Nt.columns;He++){let Re=0;for(let et=0;et<Nt.rows;et++)Re+=Ne(Nt.get(et,He),2)/(Nt.rows-1);De.push(Math.sqrt(Re))}return De}function Kn(Nt,De){for(let He=0;He<Nt.rows;He++)for(let Re=0;Re<Nt.columns;Re++)Nt.set(He,Re,Nt.get(He,Re)/De[Re])}function ur(Nt){const De=Nt.size-1;let He=0;for(let Re=0;Re<Nt.columns;Re++)for(let et=0;et<Nt.rows;et++)He+=Ne(Nt.get(et,Re),2)/De;return Math.sqrt(He)}function Xn(Nt,De){for(let He=0;He<Nt.rows;He++)for(let Re=0;Re<Nt.columns;Re++)Nt.set(He,Re,Nt.get(He,Re)/De)}class Nn{static from1DArray(De,He,Re){if(De*He!==Re.length)throw new RangeError("data length does not match given dimensions");let ft=new Yt(De,He);for(let Bt=0;Bt<De;Bt++)for(let Ct=0;Ct<He;Ct++)ft.set(Bt,Ct,Re[Bt*He+Ct]);return ft}static rowVector(De){let He=new Yt(1,De.length);for(let Re=0;Re<De.length;Re++)He.set(0,Re,De[Re]);return He}static columnVector(De){let He=new Yt(De.length,1);for(let Re=0;Re<De.length;Re++)He.set(Re,0,De[Re]);return He}static zeros(De,He){return new Yt(De,He)}static ones(De,He){return new Yt(De,He).fill(1)}static rand(De,He,Re={}){if(typeof Re!="object")throw new TypeError("options must be an object");const{random:et=Math.random}=Re;let ft=new Yt(De,He);for(let Bt=0;Bt<De;Bt++)for(let Ct=0;Ct<He;Ct++)ft.set(Bt,Ct,et());return ft}static randInt(De,He,Re={}){if(typeof Re!="object")throw new TypeError("options must be an object");const{min:et=0,max:ft=1e3,random:Bt=Math.random}=Re;if(!Number.isInteger(et))throw new TypeError("min must be an integer");if(!Number.isInteger(ft))throw new TypeError("max must be an integer");if(et>=ft)throw new RangeError("min must be smaller than max");let Ct=ft-et,rn=new Yt(De,He);for(let nn=0;nn<De;nn++)for(let Gn=0;Gn<He;Gn++){let Sn=et+Math.round(Bt()*Ct);rn.set(nn,Gn,Sn)}return rn}static eye(De,He,Re){He===void 0&&(He=De),Re===void 0&&(Re=1);let et=Math.min(De,He),ft=this.zeros(De,He);for(let Bt=0;Bt<et;Bt++)ft.set(Bt,Bt,Re);return ft}static diag(De,He,Re){let et=De.length;He===void 0&&(He=et),Re===void 0&&(Re=He);let ft=Math.min(et,He,Re),Bt=this.zeros(He,Re);for(let Ct=0;Ct<ft;Ct++)Bt.set(Ct,Ct,De[Ct]);return Bt}static min(De,He){De=this.checkMatrix(De),He=this.checkMatrix(He);let Re=De.rows,et=De.columns,ft=new Yt(Re,et);for(let Bt=0;Bt<Re;Bt++)for(let Ct=0;Ct<et;Ct++)ft.set(Bt,Ct,Math.min(De.get(Bt,Ct),He.get(Bt,Ct)));return ft}static max(De,He){De=this.checkMatrix(De),He=this.checkMatrix(He);let Re=De.rows,et=De.columns,ft=new this(Re,et);for(let Bt=0;Bt<Re;Bt++)for(let Ct=0;Ct<et;Ct++)ft.set(Bt,Ct,Math.max(De.get(Bt,Ct),He.get(Bt,Ct)));return ft}static checkMatrix(De){return Nn.isMatrix(De)?De:new Yt(De)}static isMatrix(De){return De!=null&&De.klass==="Matrix"}get size(){return this.rows*this.columns}apply(De){if(typeof De!="function")throw new TypeError("callback must be a function");for(let He=0;He<this.rows;He++)for(let Re=0;Re<this.columns;Re++)De.call(this,He,Re);return this}to1DArray(){let De=[];for(let He=0;He<this.rows;He++)for(let Re=0;Re<this.columns;Re++)De.push(this.get(He,Re));return De}to2DArray(){let De=[];for(let He=0;He<this.rows;He++){De.push([]);for(let Re=0;Re<this.columns;Re++)De[He].push(this.get(He,Re))}return De}toJSON(){return this.to2DArray()}isRowVector(){return this.rows===1}isColumnVector(){return this.columns===1}isVector(){return this.rows===1||this.columns===1}isSquare(){return this.rows===this.columns}isEmpty(){return this.rows===0||this.columns===0}isSymmetric(){if(this.isSquare()){for(let De=0;De<this.rows;De++)for(let He=0;He<=De;He++)if(this.get(De,He)!==this.get(He,De))return!1;return!0}return!1}isDistance(){if(!this.isSymmetric())return!1;for(let De=0;De<this.rows;De++)if(this.get(De,De)!==0)return!1;return!0}isEchelonForm(){let De=0,He=0,Re=-1,et=!0,ft=!1;for(;De<this.rows&&et;){for(He=0,ft=!1;He<this.columns&&ft===!1;)this.get(De,He)===0?He++:this.get(De,He)===1&&He>Re?(ft=!0,Re=He):(et=!1,ft=!0);De++}return et}isReducedEchelonForm(){let De=0,He=0,Re=-1,et=!0,ft=!1;for(;De<this.rows&&et;){for(He=0,ft=!1;He<this.columns&&ft===!1;)this.get(De,He)===0?He++:this.get(De,He)===1&&He>Re?(ft=!0,Re=He):(et=!1,ft=!0);for(let Bt=He+1;Bt<this.rows;Bt++)this.get(De,Bt)!==0&&(et=!1);De++}return et}echelonForm(){let De=this.clone(),He=0,Re=0;for(;He<De.rows&&Re<De.columns;){let et=He;for(let ft=He;ft<De.rows;ft++)De.get(ft,Re)>De.get(et,Re)&&(et=ft);if(De.get(et,Re)===0)Re++;else{De.swapRows(He,et);let ft=De.get(He,Re);for(let Bt=Re;Bt<De.columns;Bt++)De.set(He,Bt,De.get(He,Bt)/ft);for(let Bt=He+1;Bt<De.rows;Bt++){let Ct=De.get(Bt,Re)/De.get(He,Re);De.set(Bt,Re,0);for(let rn=Re+1;rn<De.columns;rn++)De.set(Bt,rn,De.get(Bt,rn)-De.get(He,rn)*Ct)}He++,Re++}}return De}reducedEchelonForm(){let De=this.echelonForm(),He=De.columns,Re=De.rows,et=Re-1;for(;et>=0;)if(De.maxRow(et)===0)et--;else{let ft=0,Bt=!1;for(;ft<Re&&Bt===!1;)De.get(et,ft)===1?Bt=!0:ft++;for(let Ct=0;Ct<et;Ct++){let rn=De.get(Ct,ft);for(let nn=ft;nn<He;nn++){let Gn=De.get(Ct,nn)-rn*De.get(et,nn);De.set(Ct,nn,Gn)}}et--}return De}set(){throw new Error("set method is unimplemented")}get(){throw new Error("get method is unimplemented")}repeat(De={}){if(typeof De!="object")throw new TypeError("options must be an object");const{rows:He=1,columns:Re=1}=De;if(!Number.isInteger(He)||He<=0)throw new TypeError("rows must be a positive integer");if(!Number.isInteger(Re)||Re<=0)throw new TypeError("columns must be a positive integer");let et=new Yt(this.rows*He,this.columns*Re);for(let ft=0;ft<He;ft++)for(let Bt=0;Bt<Re;Bt++)et.setSubMatrix(this,this.rows*ft,this.columns*Bt);return et}fill(De){for(let He=0;He<this.rows;He++)for(let Re=0;Re<this.columns;Re++)this.set(He,Re,De);return this}neg(){return this.mulS(-1)}getRow(De){ze(this,De);let He=[];for(let Re=0;Re<this.columns;Re++)He.push(this.get(De,Re));return He}getRowVector(De){return Yt.rowVector(this.getRow(De))}setRow(De,He){ze(this,De),He=Ve(this,He);for(let Re=0;Re<this.columns;Re++)this.set(De,Re,He[Re]);return this}swapRows(De,He){ze(this,De),ze(this,He);for(let Re=0;Re<this.columns;Re++){let et=this.get(De,Re);this.set(De,Re,this.get(He,Re)),this.set(He,Re,et)}return this}getColumn(De){Ze(this,De);let He=[];for(let Re=0;Re<this.rows;Re++)He.push(this.get(Re,De));return He}getColumnVector(De){return Yt.columnVector(this.getColumn(De))}setColumn(De,He){Ze(this,De),He=Qe(this,He);for(let Re=0;Re<this.rows;Re++)this.set(Re,De,He[Re]);return this}swapColumns(De,He){Ze(this,De),Ze(this,He);for(let Re=0;Re<this.rows;Re++){let et=this.get(Re,De);this.set(Re,De,this.get(Re,He)),this.set(Re,He,et)}return this}addRowVector(De){De=Ve(this,De);for(let He=0;He<this.rows;He++)for(let Re=0;Re<this.columns;Re++)this.set(He,Re,this.get(He,Re)+De[Re]);return this}subRowVector(De){De=Ve(this,De);for(let He=0;He<this.rows;He++)for(let Re=0;Re<this.columns;Re++)this.set(He,Re,this.get(He,Re)-De[Re]);return this}mulRowVector(De){De=Ve(this,De);for(let He=0;He<this.rows;He++)for(let Re=0;Re<this.columns;Re++)this.set(He,Re,this.get(He,Re)*De[Re]);return this}divRowVector(De){De=Ve(this,De);for(let He=0;He<this.rows;He++)for(let Re=0;Re<this.columns;Re++)this.set(He,Re,this.get(He,Re)/De[Re]);return this}addColumnVector(De){De=Qe(this,De);for(let He=0;He<this.rows;He++)for(let Re=0;Re<this.columns;Re++)this.set(He,Re,this.get(He,Re)+De[He]);return this}subColumnVector(De){De=Qe(this,De);for(let He=0;He<this.rows;He++)for(let Re=0;Re<this.columns;Re++)this.set(He,Re,this.get(He,Re)-De[He]);return this}mulColumnVector(De){De=Qe(this,De);for(let He=0;He<this.rows;He++)for(let Re=0;Re<this.columns;Re++)this.set(He,Re,this.get(He,Re)*De[He]);return this}divColumnVector(De){De=Qe(this,De);for(let He=0;He<this.rows;He++)for(let Re=0;Re<this.columns;Re++)this.set(He,Re,this.get(He,Re)/De[He]);return this}mulRow(De,He){ze(this,De);for(let Re=0;Re<this.columns;Re++)this.set(De,Re,this.get(De,Re)*He);return this}mulColumn(De,He){Ze(this,De);for(let Re=0;Re<this.rows;Re++)this.set(Re,De,this.get(Re,De)*He);return this}max(De){if(this.isEmpty())return NaN;switch(De){case"row":{const He=new Array(this.rows).fill(Number.NEGATIVE_INFINITY);for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.get(Re,et)>He[Re]&&(He[Re]=this.get(Re,et));return He}case"column":{const He=new Array(this.columns).fill(Number.NEGATIVE_INFINITY);for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.get(Re,et)>He[et]&&(He[et]=this.get(Re,et));return He}case void 0:{let He=this.get(0,0);for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.get(Re,et)>He&&(He=this.get(Re,et));return He}default:throw new Error(`invalid option: ${De}`)}}maxIndex(){vt(this);let De=this.get(0,0),He=[0,0];for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.get(Re,et)>De&&(De=this.get(Re,et),He[0]=Re,He[1]=et);return He}min(De){if(this.isEmpty())return NaN;switch(De){case"row":{const He=new Array(this.rows).fill(Number.POSITIVE_INFINITY);for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.get(Re,et)<He[Re]&&(He[Re]=this.get(Re,et));return He}case"column":{const He=new Array(this.columns).fill(Number.POSITIVE_INFINITY);for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.get(Re,et)<He[et]&&(He[et]=this.get(Re,et));return He}case void 0:{let He=this.get(0,0);for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.get(Re,et)<He&&(He=this.get(Re,et));return He}default:throw new Error(`invalid option: ${De}`)}}minIndex(){vt(this);let De=this.get(0,0),He=[0,0];for(let Re=0;Re<this.rows;Re++)for(let et=0;et<this.columns;et++)this.get(Re,et)<De&&(De=this.get(Re,et),He[0]=Re,He[1]=et);return He}maxRow(De){if(ze(this,De),this.isEmpty())return NaN;let He=this.get(De,0);for(let Re=1;Re<this.columns;Re++)this.get(De,Re)>He&&(He=this.get(De,Re));return He}maxRowIndex(De){ze(this,De),vt(this);let He=this.get(De,0),Re=[De,0];for(let et=1;et<this.columns;et++)this.get(De,et)>He&&(He=this.get(De,et),Re[1]=et);return Re}minRow(De){if(ze(this,De),this.isEmpty())return NaN;let He=this.get(De,0);for(let Re=1;Re<this.columns;Re++)this.get(De,Re)<He&&(He=this.get(De,Re));return He}minRowIndex(De){ze(this,De),vt(this);let He=this.get(De,0),Re=[De,0];for(let et=1;et<this.columns;et++)this.get(De,et)<He&&(He=this.get(De,et),Re[1]=et);return Re}maxColumn(De){if(Ze(this,De),this.isEmpty())return NaN;let He=this.get(0,De);for(let Re=1;Re<this.rows;Re++)this.get(Re,De)>He&&(He=this.get(Re,De));return He}maxColumnIndex(De){Ze(this,De),vt(this);let He=this.get(0,De),Re=[0,De];for(let et=1;et<this.rows;et++)this.get(et,De)>He&&(He=this.get(et,De),Re[0]=et);return Re}minColumn(De){if(Ze(this,De),this.isEmpty())return NaN;let He=this.get(0,De);for(let Re=1;Re<this.rows;Re++)this.get(Re,De)<He&&(He=this.get(Re,De));return He}minColumnIndex(De){Ze(this,De),vt(this);let He=this.get(0,De),Re=[0,De];for(let et=1;et<this.rows;et++)this.get(et,De)<He&&(He=this.get(et,De),Re[0]=et);return Re}diag(){let De=Math.min(this.rows,this.columns),He=[];for(let Re=0;Re<De;Re++)He.push(this.get(Re,Re));return He}norm(De="frobenius"){switch(De){case"max":return this.max();case"frobenius":return Math.sqrt(this.dot(this));default:throw new RangeError(`unknown norm type: ${De}`)}}cumulativeSum(){let De=0;for(let He=0;He<this.rows;He++)for(let Re=0;Re<this.columns;Re++)De+=this.get(He,Re),this.set(He,Re,De);return this}dot(De){Nn.isMatrix(De)&&(De=De.to1DArray());let He=this.to1DArray();if(He.length!==De.length)throw new RangeError("vectors do not have the same size");let Re=0;for(let et=0;et<He.length;et++)Re+=He[et]*De[et];return Re}mmul(De){De=Yt.checkMatrix(De);let He=this.rows,Re=this.columns,et=De.columns,ft=new Yt(He,et),Bt=new Float64Array(Re);for(let Ct=0;Ct<et;Ct++){for(let rn=0;rn<Re;rn++)Bt[rn]=De.get(rn,Ct);for(let rn=0;rn<He;rn++){let nn=0;for(let Gn=0;Gn<Re;Gn++)nn+=this.get(rn,Gn)*Bt[Gn];ft.set(rn,Ct,nn)}}return ft}mpow(De){if(!this.isSquare())throw new RangeError("Matrix must be square");if(!Number.isInteger(De)||De<0)throw new RangeError("Exponent must be a non-negative integer");let He=Yt.eye(this.rows),Re=this;for(let et=De;et>1;et/=2)et&1&&(He=He.mmul(Re)),Re=Re.mmul(Re);return He}strassen2x2(De){De=Yt.checkMatrix(De);let He=new Yt(2,2);const Re=this.get(0,0),et=De.get(0,0),ft=this.get(0,1),Bt=De.get(0,1),Ct=this.get(1,0),rn=De.get(1,0),nn=this.get(1,1),Gn=De.get(1,1),Sn=(Re+nn)*(et+Gn),cn=(Ct+nn)*et,Yn=Re*(Bt-Gn),ir=nn*(rn-et),fr=(Re+ft)*Gn,On=(Ct-Re)*(et+Bt),dn=(ft-nn)*(rn+Gn),Bn=Sn+ir-fr+dn,tr=Yn+fr,hr=cn+ir,pr=Sn-cn+Yn+On;return He.set(0,0,Bn),He.set(0,1,tr),He.set(1,0,hr),He.set(1,1,pr),He}strassen3x3(De){De=Yt.checkMatrix(De);let He=new Yt(3,3);const Re=this.get(0,0),et=this.get(0,1),ft=this.get(0,2),Bt=this.get(1,0),Ct=this.get(1,1),rn=this.get(1,2),nn=this.get(2,0),Gn=this.get(2,1),Sn=this.get(2,2),cn=De.get(0,0),Yn=De.get(0,1),ir=De.get(0,2),fr=De.get(1,0),On=De.get(1,1),dn=De.get(1,2),Bn=De.get(2,0),tr=De.get(2,1),hr=De.get(2,2),pr=(Re+et+ft-Bt-Ct-Gn-Sn)*On,Mr=(Re-Bt)*(-Yn+On),gr=Ct*(-cn+Yn+fr-On-dn-Bn+hr),Nr=(-Re+Bt+Ct)*(cn-Yn+On),Kr=(Bt+Ct)*(-cn+Yn),Hn=Re*cn,br=(-Re+nn+Gn)*(cn-ir+dn),ui=(-Re+nn)*(ir-dn),gi=(nn+Gn)*(-cn+ir),Zi=(Re+et+ft-Ct-rn-nn-Gn)*dn,nr=Gn*(-cn+ir+fr-On-dn-Bn+tr),xi=(-ft+Gn+Sn)*(On+Bn-tr),Vi=(ft-Sn)*(On-tr),Gi=ft*Bn,Ao=(Gn+Sn)*(-Bn+tr),io=(-ft+Ct+rn)*(dn+Bn-hr),Do=(ft-rn)*(dn-hr),Bo=(Ct+rn)*(-Bn+hr),Ui=et*fr,Xo=rn*tr,Hr=Bt*ir,wa=nn*Yn,Zr=Sn*hr,Ca=Hn+Gi+Ui,ss=pr+Nr+Kr+Hn+xi+Gi+Ao,oa=Hn+br+gi+Zi+Gi+io+Bo,Os=Mr+gr+Nr+Hn+Gi+io+Do,rs=Mr+Nr+Kr+Hn+Xo,po=Gi+io+Do+Bo+Hr,zo=Hn+br+ui+nr+xi+Vi+Gi,za=xi+Vi+Gi+Ao+wa,Ka=Hn+br+ui+gi+Zr;return He.set(0,0,Ca),He.set(0,1,ss),He.set(0,2,oa),He.set(1,0,Os),He.set(1,1,rs),He.set(1,2,po),He.set(2,0,zo),He.set(2,1,za),He.set(2,2,Ka),He}mmulStrassen(De){De=Yt.checkMatrix(De);let He=this.clone(),Re=He.rows,et=He.columns,ft=De.rows,Bt=De.columns;et!==ft&&console.warn(`Multiplying ${Re} x ${et} and ${ft} x ${Bt} matrix: dimensions do not match.`);function Ct(Sn,cn,Yn){let ir=Sn.rows,fr=Sn.columns;if(ir===cn&&fr===Yn)return Sn;{let On=Nn.zeros(cn,Yn);return On=On.setSubMatrix(Sn,0,0),On}}let rn=Math.max(Re,ft),nn=Math.max(et,Bt);He=Ct(He,rn,nn),De=Ct(De,rn,nn);function Gn(Sn,cn,Yn,ir){if(Yn<=512||ir<=512)return Sn.mmul(cn);Yn%2===1&&ir%2===1?(Sn=Ct(Sn,Yn+1,ir+1),cn=Ct(cn,Yn+1,ir+1)):Yn%2===1?(Sn=Ct(Sn,Yn+1,ir),cn=Ct(cn,Yn+1,ir)):ir%2===1&&(Sn=Ct(Sn,Yn,ir+1),cn=Ct(cn,Yn,ir+1));let fr=parseInt(Sn.rows/2,10),On=parseInt(Sn.columns/2,10),dn=Sn.subMatrix(0,fr-1,0,On-1),Bn=cn.subMatrix(0,fr-1,0,On-1),tr=Sn.subMatrix(0,fr-1,On,Sn.columns-1),hr=cn.subMatrix(0,fr-1,On,cn.columns-1),pr=Sn.subMatrix(fr,Sn.rows-1,0,On-1),Mr=cn.subMatrix(fr,cn.rows-1,0,On-1),gr=Sn.subMatrix(fr,Sn.rows-1,On,Sn.columns-1),Nr=cn.subMatrix(fr,cn.rows-1,On,cn.columns-1),Kr=Gn(Nn.add(dn,gr),Nn.add(Bn,Nr),fr,On),Hn=Gn(Nn.add(pr,gr),Bn,fr,On),br=Gn(dn,Nn.sub(hr,Nr),fr,On),ui=Gn(gr,Nn.sub(Mr,Bn),fr,On),gi=Gn(Nn.add(dn,tr),Nr,fr,On),Zi=Gn(Nn.sub(pr,dn),Nn.add(Bn,hr),fr,On),nr=Gn(Nn.sub(tr,gr),Nn.add(Mr,Nr),fr,On),xi=Nn.add(Kr,ui);xi.sub(gi),xi.add(nr);let Vi=Nn.add(br,gi),Gi=Nn.add(Hn,ui),Ao=Nn.sub(Kr,Hn);Ao.add(br),Ao.add(Zi);let io=Nn.zeros(2*xi.rows,2*xi.columns);return io=io.setSubMatrix(xi,0,0),io=io.setSubMatrix(Vi,xi.rows,0),io=io.setSubMatrix(Gi,0,xi.columns),io=io.setSubMatrix(Ao,xi.rows,xi.columns),io.subMatrix(0,Yn-1,0,ir-1)}return Gn(He,De,rn,nn)}scaleRows(De={}){if(typeof De!="object")throw new TypeError("options must be an object");const{min:He=0,max:Re=1}=De;if(!Number.isFinite(He))throw new TypeError("min must be a number");if(!Number.isFinite(Re))throw new TypeError("max must be a number");if(He>=Re)throw new RangeError("min must be smaller than max");let et=new Yt(this.rows,this.columns);for(let ft=0;ft<this.rows;ft++){const Bt=this.getRow(ft);Bt.length>0&&ae(Bt,{min:He,max:Re,output:Bt}),et.setRow(ft,Bt)}return et}scaleColumns(De={}){if(typeof De!="object")throw new TypeError("options must be an object");const{min:He=0,max:Re=1}=De;if(!Number.isFinite(He))throw new TypeError("min must be a number");if(!Number.isFinite(Re))throw new TypeError("max must be a number");if(He>=Re)throw new RangeError("min must be smaller than max");let et=new Yt(this.rows,this.columns);for(let ft=0;ft<this.columns;ft++){const Bt=this.getColumn(ft);Bt.length&&ae(Bt,{min:He,max:Re,output:Bt}),et.setColumn(ft,Bt)}return et}flipRows(){const De=Math.ceil(this.columns/2);for(let He=0;He<this.rows;He++)for(let Re=0;Re<De;Re++){let et=this.get(He,Re),ft=this.get(He,this.columns-1-Re);this.set(He,Re,ft),this.set(He,this.columns-1-Re,et)}return this}flipColumns(){const De=Math.ceil(this.rows/2);for(let He=0;He<this.columns;He++)for(let Re=0;Re<De;Re++){let et=this.get(Re,He),ft=this.get(this.rows-1-Re,He);this.set(Re,He,ft),this.set(this.rows-1-Re,He,et)}return this}kroneckerProduct(De){De=Yt.checkMatrix(De);let He=this.rows,Re=this.columns,et=De.rows,ft=De.columns,Bt=new Yt(He*et,Re*ft);for(let Ct=0;Ct<He;Ct++)for(let rn=0;rn<Re;rn++)for(let nn=0;nn<et;nn++)for(let Gn=0;Gn<ft;Gn++)Bt.set(et*Ct+nn,ft*rn+Gn,this.get(Ct,rn)*De.get(nn,Gn));return Bt}kroneckerSum(De){if(De=Yt.checkMatrix(De),!this.isSquare()||!De.isSquare())throw new Error("Kronecker Sum needs two Square Matrices");let He=this.rows,Re=De.rows,et=this.kroneckerProduct(Yt.eye(Re,Re)),ft=Yt.eye(He,He).kroneckerProduct(De);return et.add(ft)}transpose(){let De=new Yt(this.columns,this.rows);for(let He=0;He<this.rows;He++)for(let Re=0;Re<this.columns;Re++)De.set(Re,He,this.get(He,Re));return De}sortRows(De=_n){for(let He=0;He<this.rows;He++)this.setRow(He,this.getRow(He).sort(De));return this}sortColumns(De=_n){for(let He=0;He<this.columns;He++)this.setColumn(He,this.getColumn(He).sort(De));return this}subMatrix(De,He,Re,et){lt(this,De,He,Re,et);let ft=new Yt(He-De+1,et-Re+1);for(let Bt=De;Bt<=He;Bt++)for(let Ct=Re;Ct<=et;Ct++)ft.set(Bt-De,Ct-Re,this.get(Bt,Ct));return ft}subMatrixRow(De,He,Re){if(He===void 0&&(He=0),Re===void 0&&(Re=this.columns-1),He>Re||He<0||He>=this.columns||Re<0||Re>=this.columns)throw new RangeError("Argument out of range");let et=new Yt(De.length,Re-He+1);for(let ft=0;ft<De.length;ft++)for(let Bt=He;Bt<=Re;Bt++){if(De[ft]<0||De[ft]>=this.rows)throw new RangeError(`Row index out of range: ${De[ft]}`);et.set(ft,Bt-He,this.get(De[ft],Bt))}return et}subMatrixColumn(De,He,Re){if(He===void 0&&(He=0),Re===void 0&&(Re=this.rows-1),He>Re||He<0||He>=this.rows||Re<0||Re>=this.rows)throw new RangeError("Argument out of range");let et=new Yt(Re-He+1,De.length);for(let ft=0;ft<De.length;ft++)for(let Bt=He;Bt<=Re;Bt++){if(De[ft]<0||De[ft]>=this.columns)throw new RangeError(`Column index out of range: ${De[ft]}`);et.set(Bt-He,ft,this.get(Bt,De[ft]))}return et}setSubMatrix(De,He,Re){if(De=Yt.checkMatrix(De),De.isEmpty())return this;let et=He+De.rows-1,ft=Re+De.columns-1;lt(this,He,et,Re,ft);for(let Bt=0;Bt<De.rows;Bt++)for(let Ct=0;Ct<De.columns;Ct++)this.set(He+Bt,Re+Ct,De.get(Bt,Ct));return this}selection(De,He){$e(this,De),gt(this,He);let Re=new Yt(De.length,He.length);for(let et=0;et<De.length;et++){let ft=De[et];for(let Bt=0;Bt<He.length;Bt++){let Ct=He[Bt];Re.set(et,Bt,this.get(ft,Ct))}}return Re}trace(){let De=Math.min(this.rows,this.columns),He=0;for(let Re=0;Re<De;Re++)He+=this.get(Re,Re);return He}clone(){return this.constructor.copy(this,new Yt(this.rows,this.columns))}static copy(De,He){for(const[Re,et,ft]of De.entries())He.set(Re,et,ft);return He}sum(De){switch(De){case"row":return Lt(this);case"column":return St(this);case void 0:return xt(this);default:throw new Error(`invalid option: ${De}`)}}product(De){switch(De){case"row":return ct(this);case"column":return Dt(this);case void 0:return Xt(this);default:throw new Error(`invalid option: ${De}`)}}mean(De){const He=this.sum(De);switch(De){case"row":{for(let Re=0;Re<this.rows;Re++)He[Re]/=this.columns;return He}case"column":{for(let Re=0;Re<this.columns;Re++)He[Re]/=this.rows;return He}case void 0:return He/this.size;default:throw new Error(`invalid option: ${De}`)}}variance(De,He={}){if(typeof De=="object"&&(He=De,De=void 0),typeof He!="object")throw new TypeError("options must be an object");const{unbiased:Re=!0,mean:et=this.mean(De)}=He;if(typeof Re!="boolean")throw new TypeError("unbiased must be a boolean");switch(De){case"row":{if(!ie.isAnyArray(et))throw new TypeError("mean must be an array");return kt(this,Re,et)}case"column":{if(!ie.isAnyArray(et))throw new TypeError("mean must be an array");return Rt(this,Re,et)}case void 0:{if(typeof et!="number")throw new TypeError("mean must be a number");return Gt(this,Re,et)}default:throw new Error(`invalid option: ${De}`)}}standardDeviation(De,He){typeof De=="object"&&(He=De,De=void 0);const Re=this.variance(De,He);if(De===void 0)return Math.sqrt(Re);for(let et=0;et<Re.length;et++)Re[et]=Math.sqrt(Re[et]);return Re}center(De,He={}){if(typeof De=="object"&&(He=De,De=void 0),typeof He!="object")throw new TypeError("options must be an object");const{center:Re=this.mean(De)}=He;switch(De){case"row":{if(!ie.isAnyArray(Re))throw new TypeError("center must be an array");return ln(this,Re),this}case"column":{if(!ie.isAnyArray(Re))throw new TypeError("center must be an array");return Rn(this,Re),this}case void 0:{if(typeof Re!="number")throw new TypeError("center must be a number");return jn(this,Re),this}default:throw new Error(`invalid option: ${De}`)}}scale(De,He={}){if(typeof De=="object"&&(He=De,De=void 0),typeof He!="object")throw new TypeError("options must be an object");let Re=He.scale;switch(De){case"row":{if(Re===void 0)Re=er(this);else if(!ie.isAnyArray(Re))throw new TypeError("scale must be an array");return an(this,Re),this}case"column":{if(Re===void 0)Re=Un(this);else if(!ie.isAnyArray(Re))throw new TypeError("scale must be an array");return Kn(this,Re),this}case void 0:{if(Re===void 0)Re=ur(this);else if(typeof Re!="number")throw new TypeError("scale must be a number");return Xn(this,Re),this}default:throw new Error(`invalid option: ${De}`)}}toString(De){return xe(this,De)}[Symbol.iterator](){return this.entries()}*entries(){for(let De=0;De<this.rows;De++)for(let He=0;He<this.columns;He++)yield[De,He,this.get(De,He)]}*values(){for(let De=0;De<this.rows;De++)for(let He=0;He<this.columns;He++)yield this.get(De,He)}}Nn.prototype.klass="Matrix",typeof Symbol!="undefined"&&(Nn.prototype[Symbol.for("nodejs.util.inspect.custom")]=ve);function _n(Nt,De){return Nt-De}function un(Nt){return Nt.every(De=>typeof De=="number")}Nn.random=Nn.rand,Nn.randomInt=Nn.randInt,Nn.diagonal=Nn.diag,Nn.prototype.diagonal=Nn.prototype.diag,Nn.identity=Nn.eye,Nn.prototype.negate=Nn.prototype.neg,Nn.prototype.tensorProduct=Nn.prototype.kroneckerProduct;const qt=class PI extends Nn{constructor(De,He){if(super(),ke(this,Me),Be(this,"data"),PI.isMatrix(De))Ce(this,Me,je).call(this,De.rows,De.columns),PI.copy(De,this);else if(Number.isInteger(De)&&De>=0)Ce(this,Me,je).call(this,De,He);else if(ie.isAnyArray(De)){const Re=De;if(De=Re.length,He=De?Re[0].length:0,typeof He!="number")throw new TypeError("Data must be a 2D array with at least one element");this.data=[];for(let et=0;et<De;et++){if(Re[et].length!==He)throw new RangeError("Inconsistent array dimensions");if(!un(Re[et]))throw new TypeError("Input data contains non-numeric values");this.data.push(Float64Array.from(Re[et]))}this.rows=De,this.columns=He}else throw new TypeError("First argument must be a positive number or an array")}set(De,He,Re){return this.data[De][He]=Re,this}get(De,He){return this.data[De][He]}removeRow(De){return ze(this,De),this.data.splice(De,1),this.rows-=1,this}addRow(De,He){return He===void 0&&(He=De,De=this.rows),ze(this,De,!0),He=Float64Array.from(Ve(this,He)),this.data.splice(De,0,He),this.rows+=1,this}removeColumn(De){Ze(this,De);for(let He=0;He<this.rows;He++){const Re=new Float64Array(this.columns-1);for(let et=0;et<De;et++)Re[et]=this.data[He][et];for(let et=De+1;et<this.columns;et++)Re[et-1]=this.data[He][et];this.data[He]=Re}return this.columns-=1,this}addColumn(De,He){typeof He=="undefined"&&(He=De,De=this.columns),Ze(this,De,!0),He=Qe(this,He);for(let Re=0;Re<this.rows;Re++){const et=new Float64Array(this.columns+1);let ft=0;for(;ft<De;ft++)et[ft]=this.data[Re][ft];for(et[ft++]=He[Re];ft<this.columns+1;ft++)et[ft]=this.data[Re][ft-1];this.data[Re]=et}return this.columns+=1,this}};Me=new WeakSet,je=function(Nt,De){if(this.data=[],Number.isInteger(De)&&De>=0)for(let He=0;He<Nt;He++)this.data.push(new Float64Array(De));else throw new TypeError("nColumns must be a positive integer");this.rows=Nt,this.columns=De};let Yt=qt;Le(Nn,Yt);const gn=class MI extends Nn{constructor(De){if(super(),ke(this,ye),Yt.isMatrix(De)){if(!De.isSymmetric())throw new TypeError("not symmetric data");Ie(this,ye,Yt.copy(De,new Yt(De.rows,De.rows)))}else if(Number.isInteger(De)&&De>=0)Ie(this,ye,new Yt(De,De));else if(Ie(this,ye,new Yt(De)),!this.isSymmetric())throw new TypeError("not symmetric data")}get size(){return Te(this,ye).size}get rows(){return Te(this,ye).rows}get columns(){return Te(this,ye).columns}get diagonalSize(){return this.rows}static isSymmetricMatrix(De){return Yt.isMatrix(De)&&De.klassType==="SymmetricMatrix"}static zeros(De){return new this(De)}static ones(De){return new this(De).fill(1)}clone(){const De=new MI(this.diagonalSize);for(const[He,Re,et]of this.upperRightEntries())De.set(He,Re,et);return De}toMatrix(){return new Yt(this)}get(De,He){return Te(this,ye).get(De,He)}set(De,He,Re){return Te(this,ye).set(De,He,Re),Te(this,ye).set(He,De,Re),this}removeCross(De){return Te(this,ye).removeRow(De),Te(this,ye).removeColumn(De),this}addCross(De,He){He===void 0&&(He=De,De=this.diagonalSize);const Re=He.slice();return Re.splice(De,1),Te(this,ye).addRow(De,Re),Te(this,ye).addColumn(De,He),this}applyMask(De){if(De.length!==this.diagonalSize)throw new RangeError("Mask size do not match with matrix size");const He=[];for(const[Re,et]of De.entries())et||He.push(Re);He.reverse();for(const Re of He)this.removeCross(Re);return this}toCompact(){const{diagonalSize:De}=this,He=new Array(De*(De+1)/2);for(let Re=0,et=0,ft=0;ft<He.length;ft++)He[ft]=this.get(et,Re),++Re>=De&&(Re=++et);return He}static fromCompact(De){const He=De.length,Re=(Math.sqrt(8*He+1)-1)/2;if(!Number.isInteger(Re))throw new TypeError(`This array is not a compact representation of a Symmetric Matrix, ${JSON.stringify(De)}`);const et=new MI(Re);for(let ft=0,Bt=0,Ct=0;Ct<He;Ct++)et.set(ft,Bt,De[Ct]),++ft>=Re&&(ft=++Bt);return et}*upperRightEntries(){for(let De=0,He=0;De<this.diagonalSize;void 0){const Re=this.get(De,He);yield[De,He,Re],++He>=this.diagonalSize&&(He=++De)}}*upperRightValues(){for(let De=0,He=0;De<this.diagonalSize;void 0)yield this.get(De,He),++He>=this.diagonalSize&&(He=++De)}};ye=new WeakMap;let _t=gn;_t.prototype.klassType="SymmetricMatrix";class Jt extends _t{static isDistanceMatrix(De){return _t.isSymmetricMatrix(De)&&De.klassSubType==="DistanceMatrix"}constructor(De){if(super(De),!this.isDistance())throw new TypeError("Provided arguments do no produce a distance matrix")}set(De,He,Re){return De===He&&(Re=0),super.set(De,He,Re)}addCross(De,He){return He===void 0&&(He=De,De=this.diagonalSize),He=He.slice(),He[De]=0,super.addCross(De,He)}toSymmetricMatrix(){return new _t(this)}clone(){const De=new Jt(this.diagonalSize);for(const[He,Re,et]of this.upperRightEntries())He!==Re&&De.set(He,Re,et);return De}toCompact(){const{diagonalSize:De}=this,He=(De-1)*De/2,Re=new Array(He);for(let et=1,ft=0,Bt=0;Bt<Re.length;Bt++)Re[Bt]=this.get(ft,et),++et>=De&&(et=++ft+1);return Re}static fromCompact(De){const He=De.length;if(He===0)return new this(0);const Re=(Math.sqrt(8*He+1)+1)/2;if(!Number.isInteger(Re))throw new TypeError(`This array is not a compact representation of a DistanceMatrix, ${JSON.stringify(De)}`);const et=new this(Re);for(let ft=1,Bt=0,Ct=0;Ct<He;Ct++)et.set(ft,Bt,De[Ct]),++ft>=Re&&(ft=++Bt+1);return et}}Jt.prototype.klassSubType="DistanceMatrix";class wt extends Nn{constructor(De,He,Re){super(),this.matrix=De,this.rows=He,this.columns=Re}}class ut extends wt{constructor(De,He){Ze(De,He),super(De,De.rows,1),this.column=He}set(De,He,Re){return this.matrix.set(De,this.column,Re),this}get(De){return this.matrix.get(De,this.column)}}class ot extends wt{constructor(De,He){gt(De,He),super(De,De.rows,He.length),this.columnIndices=He}set(De,He,Re){return this.matrix.set(De,this.columnIndices[He],Re),this}get(De,He){return this.matrix.get(De,this.columnIndices[He])}}class Pt extends wt{constructor(De){super(De,De.rows,De.columns)}set(De,He,Re){return this.matrix.set(De,this.columns-He-1,Re),this}get(De,He){return this.matrix.get(De,this.columns-He-1)}}class Ht extends wt{constructor(De){super(De,De.rows,De.columns)}set(De,He,Re){return this.matrix.set(this.rows-De-1,He,Re),this}get(De,He){return this.matrix.get(this.rows-De-1,He)}}class Mt extends wt{constructor(De,He){ze(De,He),super(De,1,De.columns),this.row=He}set(De,He,Re){return this.matrix.set(this.row,He,Re),this}get(De,He){return this.matrix.get(this.row,He)}}class hn extends wt{constructor(De,He){$e(De,He),super(De,He.length,De.columns),this.rowIndices=He}set(De,He,Re){return this.matrix.set(this.rowIndices[De],He,Re),this}get(De,He){return this.matrix.get(this.rowIndices[De],He)}}class rr extends wt{constructor(De,He,Re){$e(De,He),gt(De,Re),super(De,He.length,Re.length),this.rowIndices=He,this.columnIndices=Re}set(De,He,Re){return this.matrix.set(this.rowIndices[De],this.columnIndices[He],Re),this}get(De,He){return this.matrix.get(this.rowIndices[De],this.columnIndices[He])}}class Jn extends wt{constructor(De,He,Re,et,ft){lt(De,He,Re,et,ft),super(De,Re-He+1,ft-et+1),this.startRow=He,this.startColumn=et}set(De,He,Re){return this.matrix.set(this.startRow+De,this.startColumn+He,Re),this}get(De,He){return this.matrix.get(this.startRow+De,this.startColumn+He)}}class An extends wt{constructor(De){super(De,De.columns,De.rows)}set(De,He,Re){return this.matrix.set(He,De,Re),this}get(De,He){return this.matrix.get(He,De)}}class $n extends Nn{constructor(De,He={}){const{rows:Re=1}=He;if(De.length%Re!==0)throw new Error("the data length is not divisible by the number of rows");super(),this.rows=Re,this.columns=De.length/Re,this.data=De}set(De,He,Re){let et=this._calculateIndex(De,He);return this.data[et]=Re,this}get(De,He){let Re=this._calculateIndex(De,He);return this.data[Re]}_calculateIndex(De,He){return De*this.columns+He}}class xr extends Nn{constructor(De){super(),this.data=De,this.rows=De.length,this.columns=De[0].length}set(De,He,Re){return this.data[De][He]=Re,this}get(De,He){return this.data[De][He]}}function mr(Nt,De){if(ie.isAnyArray(Nt))return Nt[0]&&ie.isAnyArray(Nt[0])?new xr(Nt):new $n(Nt,De);throw new Error("the argument is not an array")}class Qr{constructor(De){De=xr.checkMatrix(De);let He=De.clone(),Re=He.rows,et=He.columns,ft=new Float64Array(Re),Bt=1,Ct,rn,nn,Gn,Sn,cn,Yn,ir,fr;for(Ct=0;Ct<Re;Ct++)ft[Ct]=Ct;for(ir=new Float64Array(Re),rn=0;rn<et;rn++){for(Ct=0;Ct<Re;Ct++)ir[Ct]=He.get(Ct,rn);for(Ct=0;Ct<Re;Ct++){for(fr=Math.min(Ct,rn),Sn=0,nn=0;nn<fr;nn++)Sn+=He.get(Ct,nn)*ir[nn];ir[Ct]-=Sn,He.set(Ct,rn,ir[Ct])}for(Gn=rn,Ct=rn+1;Ct<Re;Ct++)Math.abs(ir[Ct])>Math.abs(ir[Gn])&&(Gn=Ct);if(Gn!==rn){for(nn=0;nn<et;nn++)cn=He.get(Gn,nn),He.set(Gn,nn,He.get(rn,nn)),He.set(rn,nn,cn);Yn=ft[Gn],ft[Gn]=ft[rn],ft[rn]=Yn,Bt=-Bt}if(rn<Re&&He.get(rn,rn)!==0)for(Ct=rn+1;Ct<Re;Ct++)He.set(Ct,rn,He.get(Ct,rn)/He.get(rn,rn))}this.LU=He,this.pivotVector=ft,this.pivotSign=Bt}isSingular(){let De=this.LU,He=De.columns;for(let Re=0;Re<He;Re++)if(De.get(Re,Re)===0)return!0;return!1}solve(De){De=Yt.checkMatrix(De);let He=this.LU;if(He.rows!==De.rows)throw new Error("Invalid matrix dimensions");if(this.isSingular())throw new Error("LU matrix is singular");let et=De.columns,ft=De.subMatrixRow(this.pivotVector,0,et-1),Bt=He.columns,Ct,rn,nn;for(nn=0;nn<Bt;nn++)for(Ct=nn+1;Ct<Bt;Ct++)for(rn=0;rn<et;rn++)ft.set(Ct,rn,ft.get(Ct,rn)-ft.get(nn,rn)*He.get(Ct,nn));for(nn=Bt-1;nn>=0;nn--){for(rn=0;rn<et;rn++)ft.set(nn,rn,ft.get(nn,rn)/He.get(nn,nn));for(Ct=0;Ct<nn;Ct++)for(rn=0;rn<et;rn++)ft.set(Ct,rn,ft.get(Ct,rn)-ft.get(nn,rn)*He.get(Ct,nn))}return ft}get determinant(){let De=this.LU;if(!De.isSquare())throw new Error("Matrix must be square");let He=this.pivotSign,Re=De.columns;for(let et=0;et<Re;et++)He*=De.get(et,et);return He}get lowerTriangularMatrix(){let De=this.LU,He=De.rows,Re=De.columns,et=new Yt(He,Re);for(let ft=0;ft<He;ft++)for(let Bt=0;Bt<Re;Bt++)ft>Bt?et.set(ft,Bt,De.get(ft,Bt)):ft===Bt?et.set(ft,Bt,1):et.set(ft,Bt,0);return et}get upperTriangularMatrix(){let De=this.LU,He=De.rows,Re=De.columns,et=new Yt(He,Re);for(let ft=0;ft<He;ft++)for(let Bt=0;Bt<Re;Bt++)ft<=Bt?et.set(ft,Bt,De.get(ft,Bt)):et.set(ft,Bt,0);return et}get pivotPermutationVector(){return Array.from(this.pivotVector)}}function di(Nt,De){let He=0;return Math.abs(Nt)>Math.abs(De)?(He=De/Nt,Math.abs(Nt)*Math.sqrt(1+He*He)):De!==0?(He=Nt/De,Math.abs(De)*Math.sqrt(1+He*He)):0}class li{constructor(De){De=xr.checkMatrix(De);let He=De.clone(),Re=De.rows,et=De.columns,ft=new Float64Array(et),Bt,Ct,rn,nn;for(rn=0;rn<et;rn++){let Gn=0;for(Bt=rn;Bt<Re;Bt++)Gn=di(Gn,He.get(Bt,rn));if(Gn!==0){for(He.get(rn,rn)<0&&(Gn=-Gn),Bt=rn;Bt<Re;Bt++)He.set(Bt,rn,He.get(Bt,rn)/Gn);for(He.set(rn,rn,He.get(rn,rn)+1),Ct=rn+1;Ct<et;Ct++){for(nn=0,Bt=rn;Bt<Re;Bt++)nn+=He.get(Bt,rn)*He.get(Bt,Ct);for(nn=-nn/He.get(rn,rn),Bt=rn;Bt<Re;Bt++)He.set(Bt,Ct,He.get(Bt,Ct)+nn*He.get(Bt,rn))}}ft[rn]=-Gn}this.QR=He,this.Rdiag=ft}solve(De){De=Yt.checkMatrix(De);let He=this.QR,Re=He.rows;if(De.rows!==Re)throw new Error("Matrix row dimensions must agree");if(!this.isFullRank())throw new Error("Matrix is rank deficient");let et=De.columns,ft=De.clone(),Bt=He.columns,Ct,rn,nn,Gn;for(nn=0;nn<Bt;nn++)for(rn=0;rn<et;rn++){for(Gn=0,Ct=nn;Ct<Re;Ct++)Gn+=He.get(Ct,nn)*ft.get(Ct,rn);for(Gn=-Gn/He.get(nn,nn),Ct=nn;Ct<Re;Ct++)ft.set(Ct,rn,ft.get(Ct,rn)+Gn*He.get(Ct,nn))}for(nn=Bt-1;nn>=0;nn--){for(rn=0;rn<et;rn++)ft.set(nn,rn,ft.get(nn,rn)/this.Rdiag[nn]);for(Ct=0;Ct<nn;Ct++)for(rn=0;rn<et;rn++)ft.set(Ct,rn,ft.get(Ct,rn)-ft.get(nn,rn)*He.get(Ct,nn))}return ft.subMatrix(0,Bt-1,0,et-1)}isFullRank(){let De=this.QR.columns;for(let He=0;He<De;He++)if(this.Rdiag[He]===0)return!1;return!0}get upperTriangularMatrix(){let De=this.QR,He=De.columns,Re=new Yt(He,He),et,ft;for(et=0;et<He;et++)for(ft=0;ft<He;ft++)et<ft?Re.set(et,ft,De.get(et,ft)):et===ft?Re.set(et,ft,this.Rdiag[et]):Re.set(et,ft,0);return Re}get orthogonalMatrix(){let De=this.QR,He=De.rows,Re=De.columns,et=new Yt(He,Re),ft,Bt,Ct,rn;for(Ct=Re-1;Ct>=0;Ct--){for(ft=0;ft<He;ft++)et.set(ft,Ct,0);for(et.set(Ct,Ct,1),Bt=Ct;Bt<Re;Bt++)if(De.get(Ct,Ct)!==0){for(rn=0,ft=Ct;ft<He;ft++)rn+=De.get(ft,Ct)*et.get(ft,Bt);for(rn=-rn/De.get(Ct,Ct),ft=Ct;ft<He;ft++)et.set(ft,Bt,et.get(ft,Bt)+rn*De.get(ft,Ct))}}return et}}class Ai{constructor(De,He={}){if(De=xr.checkMatrix(De),De.isEmpty())throw new Error("Matrix must be non-empty");let Re=De.rows,et=De.columns;const{computeLeftSingularVectors:ft=!0,computeRightSingularVectors:Bt=!0,autoTranspose:Ct=!1}=He;let rn=!!ft,nn=!!Bt,Gn=!1,Sn;if(Re<et)if(!Ct)Sn=De.clone(),console.warn("Computing SVD on a matrix with more columns than rows. Consider enabling autoTranspose");else{Sn=De.transpose(),Re=Sn.rows,et=Sn.columns,Gn=!0;let Hn=rn;rn=nn,nn=Hn}else Sn=De.clone();let cn=Math.min(Re,et),Yn=Math.min(Re+1,et),ir=new Float64Array(Yn),fr=new Yt(Re,cn),On=new Yt(et,et),dn=new Float64Array(et),Bn=new Float64Array(Re),tr=new Float64Array(Yn);for(let Hn=0;Hn<Yn;Hn++)tr[Hn]=Hn;let hr=Math.min(Re-1,et),pr=Math.max(0,Math.min(et-2,Re)),Mr=Math.max(hr,pr);for(let Hn=0;Hn<Mr;Hn++){if(Hn<hr){ir[Hn]=0;for(let br=Hn;br<Re;br++)ir[Hn]=di(ir[Hn],Sn.get(br,Hn));if(ir[Hn]!==0){Sn.get(Hn,Hn)<0&&(ir[Hn]=-ir[Hn]);for(let br=Hn;br<Re;br++)Sn.set(br,Hn,Sn.get(br,Hn)/ir[Hn]);Sn.set(Hn,Hn,Sn.get(Hn,Hn)+1)}ir[Hn]=-ir[Hn]}for(let br=Hn+1;br<et;br++){if(Hn<hr&&ir[Hn]!==0){let ui=0;for(let gi=Hn;gi<Re;gi++)ui+=Sn.get(gi,Hn)*Sn.get(gi,br);ui=-ui/Sn.get(Hn,Hn);for(let gi=Hn;gi<Re;gi++)Sn.set(gi,br,Sn.get(gi,br)+ui*Sn.get(gi,Hn))}dn[br]=Sn.get(Hn,br)}if(rn&&Hn<hr)for(let br=Hn;br<Re;br++)fr.set(br,Hn,Sn.get(br,Hn));if(Hn<pr){dn[Hn]=0;for(let br=Hn+1;br<et;br++)dn[Hn]=di(dn[Hn],dn[br]);if(dn[Hn]!==0){dn[Hn+1]<0&&(dn[Hn]=0-dn[Hn]);for(let br=Hn+1;br<et;br++)dn[br]/=dn[Hn];dn[Hn+1]+=1}if(dn[Hn]=-dn[Hn],Hn+1<Re&&dn[Hn]!==0){for(let br=Hn+1;br<Re;br++)Bn[br]=0;for(let br=Hn+1;br<Re;br++)for(let ui=Hn+1;ui<et;ui++)Bn[br]+=dn[ui]*Sn.get(br,ui);for(let br=Hn+1;br<et;br++){let ui=-dn[br]/dn[Hn+1];for(let gi=Hn+1;gi<Re;gi++)Sn.set(gi,br,Sn.get(gi,br)+ui*Bn[gi])}}if(nn)for(let br=Hn+1;br<et;br++)On.set(br,Hn,dn[br])}}let gr=Math.min(et,Re+1);if(hr<et&&(ir[hr]=Sn.get(hr,hr)),Re<gr&&(ir[gr-1]=0),pr+1<gr&&(dn[pr]=Sn.get(pr,gr-1)),dn[gr-1]=0,rn){for(let Hn=hr;Hn<cn;Hn++){for(let br=0;br<Re;br++)fr.set(br,Hn,0);fr.set(Hn,Hn,1)}for(let Hn=hr-1;Hn>=0;Hn--)if(ir[Hn]!==0){for(let br=Hn+1;br<cn;br++){let ui=0;for(let gi=Hn;gi<Re;gi++)ui+=fr.get(gi,Hn)*fr.get(gi,br);ui=-ui/fr.get(Hn,Hn);for(let gi=Hn;gi<Re;gi++)fr.set(gi,br,fr.get(gi,br)+ui*fr.get(gi,Hn))}for(let br=Hn;br<Re;br++)fr.set(br,Hn,-fr.get(br,Hn));fr.set(Hn,Hn,1+fr.get(Hn,Hn));for(let br=0;br<Hn-1;br++)fr.set(br,Hn,0)}else{for(let br=0;br<Re;br++)fr.set(br,Hn,0);fr.set(Hn,Hn,1)}}if(nn)for(let Hn=et-1;Hn>=0;Hn--){if(Hn<pr&&dn[Hn]!==0)for(let br=Hn+1;br<et;br++){let ui=0;for(let gi=Hn+1;gi<et;gi++)ui+=On.get(gi,Hn)*On.get(gi,br);ui=-ui/On.get(Hn+1,Hn);for(let gi=Hn+1;gi<et;gi++)On.set(gi,br,On.get(gi,br)+ui*On.get(gi,Hn))}for(let br=0;br<et;br++)On.set(br,Hn,0);On.set(Hn,Hn,1)}let Nr=gr-1,Kr=Number.EPSILON;for(;gr>0;){let Hn,br;for(Hn=gr-2;Hn>=-1&&Hn!==-1;Hn--){const ui=Number.MIN_VALUE+Kr*Math.abs(ir[Hn]+Math.abs(ir[Hn+1]));if(Math.abs(dn[Hn])<=ui||Number.isNaN(dn[Hn])){dn[Hn]=0;break}}if(Hn===gr-2)br=4;else{let ui;for(ui=gr-1;ui>=Hn&&ui!==Hn;ui--){let gi=(ui!==gr?Math.abs(dn[ui]):0)+(ui!==Hn+1?Math.abs(dn[ui-1]):0);if(Math.abs(ir[ui])<=Kr*gi){ir[ui]=0;break}}ui===Hn?br=3:ui===gr-1?br=1:(br=2,Hn=ui)}switch(Hn++,br){case 1:{let ui=dn[gr-2];dn[gr-2]=0;for(let gi=gr-2;gi>=Hn;gi--){let Zi=di(ir[gi],ui),nr=ir[gi]/Zi,xi=ui/Zi;if(ir[gi]=Zi,gi!==Hn&&(ui=-xi*dn[gi-1],dn[gi-1]=nr*dn[gi-1]),nn)for(let Vi=0;Vi<et;Vi++)Zi=nr*On.get(Vi,gi)+xi*On.get(Vi,gr-1),On.set(Vi,gr-1,-xi*On.get(Vi,gi)+nr*On.get(Vi,gr-1)),On.set(Vi,gi,Zi)}break}case 2:{let ui=dn[Hn-1];dn[Hn-1]=0;for(let gi=Hn;gi<gr;gi++){let Zi=di(ir[gi],ui),nr=ir[gi]/Zi,xi=ui/Zi;if(ir[gi]=Zi,ui=-xi*dn[gi],dn[gi]=nr*dn[gi],rn)for(let Vi=0;Vi<Re;Vi++)Zi=nr*fr.get(Vi,gi)+xi*fr.get(Vi,Hn-1),fr.set(Vi,Hn-1,-xi*fr.get(Vi,gi)+nr*fr.get(Vi,Hn-1)),fr.set(Vi,gi,Zi)}break}case 3:{const ui=Math.max(Math.abs(ir[gr-1]),Math.abs(ir[gr-2]),Math.abs(dn[gr-2]),Math.abs(ir[Hn]),Math.abs(dn[Hn])),gi=ir[gr-1]/ui,Zi=ir[gr-2]/ui,nr=dn[gr-2]/ui,xi=ir[Hn]/ui,Vi=dn[Hn]/ui,Gi=((Zi+gi)*(Zi-gi)+nr*nr)/2,Ao=gi*nr*(gi*nr);let io=0;(Gi!==0||Ao!==0)&&(Gi<0?io=0-Math.sqrt(Gi*Gi+Ao):io=Math.sqrt(Gi*Gi+Ao),io=Ao/(Gi+io));let Do=(xi+gi)*(xi-gi)+io,Bo=xi*Vi;for(let Ui=Hn;Ui<gr-1;Ui++){let Xo=di(Do,Bo);Xo===0&&(Xo=Number.MIN_VALUE);let Hr=Do/Xo,wa=Bo/Xo;if(Ui!==Hn&&(dn[Ui-1]=Xo),Do=Hr*ir[Ui]+wa*dn[Ui],dn[Ui]=Hr*dn[Ui]-wa*ir[Ui],Bo=wa*ir[Ui+1],ir[Ui+1]=Hr*ir[Ui+1],nn)for(let Zr=0;Zr<et;Zr++)Xo=Hr*On.get(Zr,Ui)+wa*On.get(Zr,Ui+1),On.set(Zr,Ui+1,-wa*On.get(Zr,Ui)+Hr*On.get(Zr,Ui+1)),On.set(Zr,Ui,Xo);if(Xo=di(Do,Bo),Xo===0&&(Xo=Number.MIN_VALUE),Hr=Do/Xo,wa=Bo/Xo,ir[Ui]=Xo,Do=Hr*dn[Ui]+wa*ir[Ui+1],ir[Ui+1]=-wa*dn[Ui]+Hr*ir[Ui+1],Bo=wa*dn[Ui+1],dn[Ui+1]=Hr*dn[Ui+1],rn&&Ui<Re-1)for(let Zr=0;Zr<Re;Zr++)Xo=Hr*fr.get(Zr,Ui)+wa*fr.get(Zr,Ui+1),fr.set(Zr,Ui+1,-wa*fr.get(Zr,Ui)+Hr*fr.get(Zr,Ui+1)),fr.set(Zr,Ui,Xo)}dn[gr-2]=Do;break}case 4:{if(ir[Hn]<=0&&(ir[Hn]=ir[Hn]<0?-ir[Hn]:0,nn))for(let ui=0;ui<=Nr;ui++)On.set(ui,Hn,-On.get(ui,Hn));for(;Hn<Nr&&!(ir[Hn]>=ir[Hn+1]);){let ui=ir[Hn];if(ir[Hn]=ir[Hn+1],ir[Hn+1]=ui,nn&&Hn<et-1)for(let gi=0;gi<et;gi++)ui=On.get(gi,Hn+1),On.set(gi,Hn+1,On.get(gi,Hn)),On.set(gi,Hn,ui);if(rn&&Hn<Re-1)for(let gi=0;gi<Re;gi++)ui=fr.get(gi,Hn+1),fr.set(gi,Hn+1,fr.get(gi,Hn)),fr.set(gi,Hn,ui);Hn++}gr--;break}}}if(Gn){let Hn=On;On=fr,fr=Hn}this.m=Re,this.n=et,this.s=ir,this.U=fr,this.V=On}solve(De){let He=De,Re=this.threshold,et=this.s.length,ft=Yt.zeros(et,et);for(let cn=0;cn<et;cn++)Math.abs(this.s[cn])<=Re?ft.set(cn,cn,0):ft.set(cn,cn,1/this.s[cn]);let Bt=this.U,Ct=this.rightSingularVectors,rn=Ct.mmul(ft),nn=Ct.rows,Gn=Bt.rows,Sn=Yt.zeros(nn,Gn);for(let cn=0;cn<nn;cn++)for(let Yn=0;Yn<Gn;Yn++){let ir=0;for(let fr=0;fr<et;fr++)ir+=rn.get(cn,fr)*Bt.get(Yn,fr);Sn.set(cn,Yn,ir)}return Sn.mmul(He)}solveForDiagonal(De){return this.solve(Yt.diag(De))}inverse(){let De=this.V,He=this.threshold,Re=De.rows,et=De.columns,ft=new Yt(Re,this.s.length);for(let Gn=0;Gn<Re;Gn++)for(let Sn=0;Sn<et;Sn++)Math.abs(this.s[Sn])>He&&ft.set(Gn,Sn,De.get(Gn,Sn)/this.s[Sn]);let Bt=this.U,Ct=Bt.rows,rn=Bt.columns,nn=new Yt(Re,Ct);for(let Gn=0;Gn<Re;Gn++)for(let Sn=0;Sn<Ct;Sn++){let cn=0;for(let Yn=0;Yn<rn;Yn++)cn+=ft.get(Gn,Yn)*Bt.get(Sn,Yn);nn.set(Gn,Sn,cn)}return nn}get condition(){return this.s[0]/this.s[Math.min(this.m,this.n)-1]}get norm2(){return this.s[0]}get rank(){let De=Math.max(this.m,this.n)*this.s[0]*Number.EPSILON,He=0,Re=this.s;for(let et=0,ft=Re.length;et<ft;et++)Re[et]>De&&He++;return He}get diagonal(){return Array.from(this.s)}get threshold(){return Number.EPSILON/2*Math.max(this.m,this.n)*this.s[0]}get leftSingularVectors(){return this.U}get rightSingularVectors(){return this.V}get diagonalMatrix(){return Yt.diag(this.s)}}function fo(Nt,De=!1){return Nt=xr.checkMatrix(Nt),De?new Ai(Nt).inverse():Io(Nt,Yt.eye(Nt.rows))}function Io(Nt,De,He=!1){return Nt=xr.checkMatrix(Nt),De=xr.checkMatrix(De),He?new Ai(Nt).solve(De):Nt.isSquare()?new Qr(Nt).solve(De):new li(Nt).solve(De)}function bo(Nt){if(Nt=Yt.checkMatrix(Nt),Nt.isSquare()){if(Nt.columns===0)return 1;let De,He,Re,et;if(Nt.columns===2)return De=Nt.get(0,0),He=Nt.get(0,1),Re=Nt.get(1,0),et=Nt.get(1,1),De*et-He*Re;if(Nt.columns===3){let ft,Bt,Ct;return ft=new rr(Nt,[1,2],[1,2]),Bt=new rr(Nt,[1,2],[0,2]),Ct=new rr(Nt,[1,2],[0,1]),De=Nt.get(0,0),He=Nt.get(0,1),Re=Nt.get(0,2),De*bo(ft)-He*bo(Bt)+Re*bo(Ct)}else return new Qr(Nt).determinant}else throw Error("determinant can only be calculated for a square matrix")}function ai(Nt,De){let He=[];for(let Re=0;Re<Nt;Re++)Re!==De&&He.push(Re);return He}function Pi(Nt,De,He,Re=1e-9,et=1e-9){if(Nt>et)return new Array(De.rows+1).fill(0);{let ft=De.addRow(He,[0]);for(let Bt=0;Bt<ft.rows;Bt++)Math.abs(ft.get(Bt,0))<Re&&ft.set(Bt,0,0);return ft.to1DArray()}}function ao(Nt,De={}){const{thresholdValue:He=1e-9,thresholdError:Re=1e-9}=De;Nt=Yt.checkMatrix(Nt);let et=Nt.rows,ft=new Yt(et,et);for(let Bt=0;Bt<et;Bt++){let Ct=Yt.columnVector(Nt.getRow(Bt)),rn=Nt.subMatrixRow(ai(et,Bt)).transpose(),Gn=new Ai(rn).solve(Ct),Sn=Yt.sub(Ct,rn.mmul(Gn)).abs().max();ft.setRow(Bt,Pi(Sn,Gn,Bt,He,Re))}return ft}function Jr(Nt,De=Number.EPSILON){if(Nt=Yt.checkMatrix(Nt),Nt.isEmpty())return Nt.transpose();let He=new Ai(Nt,{autoTranspose:!0}),Re=He.leftSingularVectors,et=He.rightSingularVectors,ft=He.diagonal;for(let Bt=0;Bt<ft.length;Bt++)Math.abs(ft[Bt])>De?ft[Bt]=1/ft[Bt]:ft[Bt]=0;return et.mmul(Yt.diag(ft).mmul(Re.transpose()))}function oo(Nt,De=Nt,He={}){Nt=new Yt(Nt);let Re=!1;if(typeof De=="object"&&!Yt.isMatrix(De)&&!ie.isAnyArray(De)?(He=De,De=Nt,Re=!0):De=new Yt(De),Nt.rows!==De.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:et=!0}=He;et&&(Nt=Nt.center("column"),Re||(De=De.center("column")));const ft=Nt.transpose().mmul(De);for(let Bt=0;Bt<ft.rows;Bt++)for(let Ct=0;Ct<ft.columns;Ct++)ft.set(Bt,Ct,ft.get(Bt,Ct)*(1/(Nt.rows-1)));return ft}function zi(Nt,De=Nt,He={}){Nt=new Yt(Nt);let Re=!1;if(typeof De=="object"&&!Yt.isMatrix(De)&&!ie.isAnyArray(De)?(He=De,De=Nt,Re=!0):De=new Yt(De),Nt.rows!==De.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:et=!0,scale:ft=!0}=He;et&&(Nt.center("column"),Re||De.center("column")),ft&&(Nt.scale("column"),Re||De.scale("column"));const Bt=Nt.standardDeviation("column",{unbiased:!0}),Ct=Re?Bt:De.standardDeviation("column",{unbiased:!0}),rn=Nt.transpose().mmul(De);for(let nn=0;nn<rn.rows;nn++)for(let Gn=0;Gn<rn.columns;Gn++)rn.set(nn,Gn,rn.get(nn,Gn)*(1/(Bt[nn]*Ct[Gn]))*(1/(Nt.rows-1)));return rn}class It{constructor(De,He={}){const{assumeSymmetric:Re=!1}=He;if(De=xr.checkMatrix(De),!De.isSquare())throw new Error("Matrix is not a square matrix");if(De.isEmpty())throw new Error("Matrix must be non-empty");let et=De.columns,ft=new Yt(et,et),Bt=new Float64Array(et),Ct=new Float64Array(et),rn=De,nn,Gn,Sn=!1;if(Re?Sn=!0:Sn=De.isSymmetric(),Sn){for(nn=0;nn<et;nn++)for(Gn=0;Gn<et;Gn++)ft.set(nn,Gn,rn.get(nn,Gn));Yo(et,Ct,Bt,ft),ko(et,Ct,Bt,ft)}else{let cn=new Yt(et,et),Yn=new Float64Array(et);for(Gn=0;Gn<et;Gn++)for(nn=0;nn<et;nn++)cn.set(nn,Gn,rn.get(nn,Gn));Fr(et,cn,Yn,ft),Bi(et,Ct,Bt,ft,cn)}this.n=et,this.e=Ct,this.d=Bt,this.V=ft}get realEigenvalues(){return Array.from(this.d)}get imaginaryEigenvalues(){return Array.from(this.e)}get eigenvectorMatrix(){return this.V}get diagonalMatrix(){let De=this.n,He=this.e,Re=this.d,et=new Yt(De,De),ft,Bt;for(ft=0;ft<De;ft++){for(Bt=0;Bt<De;Bt++)et.set(ft,Bt,0);et.set(ft,ft,Re[ft]),He[ft]>0?et.set(ft,ft+1,He[ft]):He[ft]<0&&et.set(ft,ft-1,He[ft])}return et}}function Yo(Nt,De,He,Re){let et,ft,Bt,Ct,rn,nn,Gn,Sn;for(rn=0;rn<Nt;rn++)He[rn]=Re.get(Nt-1,rn);for(Ct=Nt-1;Ct>0;Ct--){for(Sn=0,Bt=0,nn=0;nn<Ct;nn++)Sn=Sn+Math.abs(He[nn]);if(Sn===0)for(De[Ct]=He[Ct-1],rn=0;rn<Ct;rn++)He[rn]=Re.get(Ct-1,rn),Re.set(Ct,rn,0),Re.set(rn,Ct,0);else{for(nn=0;nn<Ct;nn++)He[nn]/=Sn,Bt+=He[nn]*He[nn];for(et=He[Ct-1],ft=Math.sqrt(Bt),et>0&&(ft=-ft),De[Ct]=Sn*ft,Bt=Bt-et*ft,He[Ct-1]=et-ft,rn=0;rn<Ct;rn++)De[rn]=0;for(rn=0;rn<Ct;rn++){for(et=He[rn],Re.set(rn,Ct,et),ft=De[rn]+Re.get(rn,rn)*et,nn=rn+1;nn<=Ct-1;nn++)ft+=Re.get(nn,rn)*He[nn],De[nn]+=Re.get(nn,rn)*et;De[rn]=ft}for(et=0,rn=0;rn<Ct;rn++)De[rn]/=Bt,et+=De[rn]*He[rn];for(Gn=et/(Bt+Bt),rn=0;rn<Ct;rn++)De[rn]-=Gn*He[rn];for(rn=0;rn<Ct;rn++){for(et=He[rn],ft=De[rn],nn=rn;nn<=Ct-1;nn++)Re.set(nn,rn,Re.get(nn,rn)-(et*De[nn]+ft*He[nn]));He[rn]=Re.get(Ct-1,rn),Re.set(Ct,rn,0)}}He[Ct]=Bt}for(Ct=0;Ct<Nt-1;Ct++){if(Re.set(Nt-1,Ct,Re.get(Ct,Ct)),Re.set(Ct,Ct,1),Bt=He[Ct+1],Bt!==0){for(nn=0;nn<=Ct;nn++)He[nn]=Re.get(nn,Ct+1)/Bt;for(rn=0;rn<=Ct;rn++){for(ft=0,nn=0;nn<=Ct;nn++)ft+=Re.get(nn,Ct+1)*Re.get(nn,rn);for(nn=0;nn<=Ct;nn++)Re.set(nn,rn,Re.get(nn,rn)-ft*He[nn])}}for(nn=0;nn<=Ct;nn++)Re.set(nn,Ct+1,0)}for(rn=0;rn<Nt;rn++)He[rn]=Re.get(Nt-1,rn),Re.set(Nt-1,rn,0);Re.set(Nt-1,Nt-1,1),De[0]=0}function ko(Nt,De,He,Re){let et,ft,Bt,Ct,rn,nn,Gn,Sn,cn,Yn,ir,fr,On,dn,Bn,tr;for(Bt=1;Bt<Nt;Bt++)De[Bt-1]=De[Bt];De[Nt-1]=0;let hr=0,pr=0,Mr=Number.EPSILON;for(nn=0;nn<Nt;nn++){for(pr=Math.max(pr,Math.abs(He[nn])+Math.abs(De[nn])),Gn=nn;Gn<Nt&&!(Math.abs(De[Gn])<=Mr*pr);)Gn++;if(Gn>nn)do{for(et=He[nn],Sn=(He[nn+1]-et)/(2*De[nn]),cn=di(Sn,1),Sn<0&&(cn=-cn),He[nn]=De[nn]/(Sn+cn),He[nn+1]=De[nn]*(Sn+cn),Yn=He[nn+1],ft=et-He[nn],Bt=nn+2;Bt<Nt;Bt++)He[Bt]-=ft;for(hr=hr+ft,Sn=He[Gn],ir=1,fr=ir,On=ir,dn=De[nn+1],Bn=0,tr=0,Bt=Gn-1;Bt>=nn;Bt--)for(On=fr,fr=ir,tr=Bn,et=ir*De[Bt],ft=ir*Sn,cn=di(Sn,De[Bt]),De[Bt+1]=Bn*cn,Bn=De[Bt]/cn,ir=Sn/cn,Sn=ir*He[Bt]-Bn*et,He[Bt+1]=ft+Bn*(ir*et+Bn*He[Bt]),rn=0;rn<Nt;rn++)ft=Re.get(rn,Bt+1),Re.set(rn,Bt+1,Bn*Re.get(rn,Bt)+ir*ft),Re.set(rn,Bt,ir*Re.get(rn,Bt)-Bn*ft);Sn=-Bn*tr*On*dn*De[nn]/Yn,De[nn]=Bn*Sn,He[nn]=ir*Sn}while(Math.abs(De[nn])>Mr*pr);He[nn]=He[nn]+hr,De[nn]=0}for(Bt=0;Bt<Nt-1;Bt++){for(rn=Bt,Sn=He[Bt],Ct=Bt+1;Ct<Nt;Ct++)He[Ct]<Sn&&(rn=Ct,Sn=He[Ct]);if(rn!==Bt)for(He[rn]=He[Bt],He[Bt]=Sn,Ct=0;Ct<Nt;Ct++)Sn=Re.get(Ct,Bt),Re.set(Ct,Bt,Re.get(Ct,rn)),Re.set(Ct,rn,Sn)}}function Fr(Nt,De,He,Re){let et=0,ft=Nt-1,Bt,Ct,rn,nn,Gn,Sn,cn;for(Sn=et+1;Sn<=ft-1;Sn++){for(cn=0,nn=Sn;nn<=ft;nn++)cn=cn+Math.abs(De.get(nn,Sn-1));if(cn!==0){for(rn=0,nn=ft;nn>=Sn;nn--)He[nn]=De.get(nn,Sn-1)/cn,rn+=He[nn]*He[nn];for(Ct=Math.sqrt(rn),He[Sn]>0&&(Ct=-Ct),rn=rn-He[Sn]*Ct,He[Sn]=He[Sn]-Ct,Gn=Sn;Gn<Nt;Gn++){for(Bt=0,nn=ft;nn>=Sn;nn--)Bt+=He[nn]*De.get(nn,Gn);for(Bt=Bt/rn,nn=Sn;nn<=ft;nn++)De.set(nn,Gn,De.get(nn,Gn)-Bt*He[nn])}for(nn=0;nn<=ft;nn++){for(Bt=0,Gn=ft;Gn>=Sn;Gn--)Bt+=He[Gn]*De.get(nn,Gn);for(Bt=Bt/rn,Gn=Sn;Gn<=ft;Gn++)De.set(nn,Gn,De.get(nn,Gn)-Bt*He[Gn])}He[Sn]=cn*He[Sn],De.set(Sn,Sn-1,cn*Ct)}}for(nn=0;nn<Nt;nn++)for(Gn=0;Gn<Nt;Gn++)Re.set(nn,Gn,nn===Gn?1:0);for(Sn=ft-1;Sn>=et+1;Sn--)if(De.get(Sn,Sn-1)!==0){for(nn=Sn+1;nn<=ft;nn++)He[nn]=De.get(nn,Sn-1);for(Gn=Sn;Gn<=ft;Gn++){for(Ct=0,nn=Sn;nn<=ft;nn++)Ct+=He[nn]*Re.get(nn,Gn);for(Ct=Ct/He[Sn]/De.get(Sn,Sn-1),nn=Sn;nn<=ft;nn++)Re.set(nn,Gn,Re.get(nn,Gn)+Ct*He[nn])}}}function Bi(Nt,De,He,Re,et){let ft=Nt-1,Bt=0,Ct=Nt-1,rn=Number.EPSILON,nn=0,Gn=0,Sn=0,cn=0,Yn=0,ir=0,fr=0,On=0,dn,Bn,tr,hr,pr,Mr,gr,Nr,Kr,Hn,br,ui,gi,Zi,nr;for(dn=0;dn<Nt;dn++)for((dn<Bt||dn>Ct)&&(He[dn]=et.get(dn,dn),De[dn]=0),Bn=Math.max(dn-1,0);Bn<Nt;Bn++)Gn=Gn+Math.abs(et.get(dn,Bn));for(;ft>=Bt;){for(hr=ft;hr>Bt&&(ir=Math.abs(et.get(hr-1,hr-1))+Math.abs(et.get(hr,hr)),ir===0&&(ir=Gn),!(Math.abs(et.get(hr,hr-1))<rn*ir));)hr--;if(hr===ft)et.set(ft,ft,et.get(ft,ft)+nn),He[ft]=et.get(ft,ft),De[ft]=0,ft--,On=0;else if(hr===ft-1){if(gr=et.get(ft,ft-1)*et.get(ft-1,ft),Sn=(et.get(ft-1,ft-1)-et.get(ft,ft))/2,cn=Sn*Sn+gr,fr=Math.sqrt(Math.abs(cn)),et.set(ft,ft,et.get(ft,ft)+nn),et.set(ft-1,ft-1,et.get(ft-1,ft-1)+nn),Nr=et.get(ft,ft),cn>=0){for(fr=Sn>=0?Sn+fr:Sn-fr,He[ft-1]=Nr+fr,He[ft]=He[ft-1],fr!==0&&(He[ft]=Nr-gr/fr),De[ft-1]=0,De[ft]=0,Nr=et.get(ft,ft-1),ir=Math.abs(Nr)+Math.abs(fr),Sn=Nr/ir,cn=fr/ir,Yn=Math.sqrt(Sn*Sn+cn*cn),Sn=Sn/Yn,cn=cn/Yn,Bn=ft-1;Bn<Nt;Bn++)fr=et.get(ft-1,Bn),et.set(ft-1,Bn,cn*fr+Sn*et.get(ft,Bn)),et.set(ft,Bn,cn*et.get(ft,Bn)-Sn*fr);for(dn=0;dn<=ft;dn++)fr=et.get(dn,ft-1),et.set(dn,ft-1,cn*fr+Sn*et.get(dn,ft)),et.set(dn,ft,cn*et.get(dn,ft)-Sn*fr);for(dn=Bt;dn<=Ct;dn++)fr=Re.get(dn,ft-1),Re.set(dn,ft-1,cn*fr+Sn*Re.get(dn,ft)),Re.set(dn,ft,cn*Re.get(dn,ft)-Sn*fr)}else He[ft-1]=Nr+Sn,He[ft]=Nr+Sn,De[ft-1]=fr,De[ft]=-fr;ft=ft-2,On=0}else{if(Nr=et.get(ft,ft),Kr=0,gr=0,hr<ft&&(Kr=et.get(ft-1,ft-1),gr=et.get(ft,ft-1)*et.get(ft-1,ft)),On===10){for(nn+=Nr,dn=Bt;dn<=ft;dn++)et.set(dn,dn,et.get(dn,dn)-Nr);ir=Math.abs(et.get(ft,ft-1))+Math.abs(et.get(ft-1,ft-2)),Nr=Kr=.75*ir,gr=-.4375*ir*ir}if(On===30&&(ir=(Kr-Nr)/2,ir=ir*ir+gr,ir>0)){for(ir=Math.sqrt(ir),Kr<Nr&&(ir=-ir),ir=Nr-gr/((Kr-Nr)/2+ir),dn=Bt;dn<=ft;dn++)et.set(dn,dn,et.get(dn,dn)-ir);nn+=ir,Nr=Kr=gr=.964}for(On=On+1,pr=ft-2;pr>=hr&&(fr=et.get(pr,pr),Yn=Nr-fr,ir=Kr-fr,Sn=(Yn*ir-gr)/et.get(pr+1,pr)+et.get(pr,pr+1),cn=et.get(pr+1,pr+1)-fr-Yn-ir,Yn=et.get(pr+2,pr+1),ir=Math.abs(Sn)+Math.abs(cn)+Math.abs(Yn),Sn=Sn/ir,cn=cn/ir,Yn=Yn/ir,!(pr===hr||Math.abs(et.get(pr,pr-1))*(Math.abs(cn)+Math.abs(Yn))<rn*(Math.abs(Sn)*(Math.abs(et.get(pr-1,pr-1))+Math.abs(fr)+Math.abs(et.get(pr+1,pr+1))))));)pr--;for(dn=pr+2;dn<=ft;dn++)et.set(dn,dn-2,0),dn>pr+2&&et.set(dn,dn-3,0);for(tr=pr;tr<=ft-1&&(Zi=tr!==ft-1,tr!==pr&&(Sn=et.get(tr,tr-1),cn=et.get(tr+1,tr-1),Yn=Zi?et.get(tr+2,tr-1):0,Nr=Math.abs(Sn)+Math.abs(cn)+Math.abs(Yn),Nr!==0&&(Sn=Sn/Nr,cn=cn/Nr,Yn=Yn/Nr)),Nr!==0);tr++)if(ir=Math.sqrt(Sn*Sn+cn*cn+Yn*Yn),Sn<0&&(ir=-ir),ir!==0){for(tr!==pr?et.set(tr,tr-1,-ir*Nr):hr!==pr&&et.set(tr,tr-1,-et.get(tr,tr-1)),Sn=Sn+ir,Nr=Sn/ir,Kr=cn/ir,fr=Yn/ir,cn=cn/Sn,Yn=Yn/Sn,Bn=tr;Bn<Nt;Bn++)Sn=et.get(tr,Bn)+cn*et.get(tr+1,Bn),Zi&&(Sn=Sn+Yn*et.get(tr+2,Bn),et.set(tr+2,Bn,et.get(tr+2,Bn)-Sn*fr)),et.set(tr,Bn,et.get(tr,Bn)-Sn*Nr),et.set(tr+1,Bn,et.get(tr+1,Bn)-Sn*Kr);for(dn=0;dn<=Math.min(ft,tr+3);dn++)Sn=Nr*et.get(dn,tr)+Kr*et.get(dn,tr+1),Zi&&(Sn=Sn+fr*et.get(dn,tr+2),et.set(dn,tr+2,et.get(dn,tr+2)-Sn*Yn)),et.set(dn,tr,et.get(dn,tr)-Sn),et.set(dn,tr+1,et.get(dn,tr+1)-Sn*cn);for(dn=Bt;dn<=Ct;dn++)Sn=Nr*Re.get(dn,tr)+Kr*Re.get(dn,tr+1),Zi&&(Sn=Sn+fr*Re.get(dn,tr+2),Re.set(dn,tr+2,Re.get(dn,tr+2)-Sn*Yn)),Re.set(dn,tr,Re.get(dn,tr)-Sn),Re.set(dn,tr+1,Re.get(dn,tr+1)-Sn*cn)}}}if(Gn!==0){for(ft=Nt-1;ft>=0;ft--)if(Sn=He[ft],cn=De[ft],cn===0)for(hr=ft,et.set(ft,ft,1),dn=ft-1;dn>=0;dn--){for(gr=et.get(dn,dn)-Sn,Yn=0,Bn=hr;Bn<=ft;Bn++)Yn=Yn+et.get(dn,Bn)*et.get(Bn,ft);if(De[dn]<0)fr=gr,ir=Yn;else if(hr=dn,De[dn]===0?et.set(dn,ft,gr!==0?-Yn/gr:-Yn/(rn*Gn)):(Nr=et.get(dn,dn+1),Kr=et.get(dn+1,dn),cn=(He[dn]-Sn)*(He[dn]-Sn)+De[dn]*De[dn],Mr=(Nr*ir-fr*Yn)/cn,et.set(dn,ft,Mr),et.set(dn+1,ft,Math.abs(Nr)>Math.abs(fr)?(-Yn-gr*Mr)/Nr:(-ir-Kr*Mr)/fr)),Mr=Math.abs(et.get(dn,ft)),rn*Mr*Mr>1)for(Bn=dn;Bn<=ft;Bn++)et.set(Bn,ft,et.get(Bn,ft)/Mr)}else if(cn<0)for(hr=ft-1,Math.abs(et.get(ft,ft-1))>Math.abs(et.get(ft-1,ft))?(et.set(ft-1,ft-1,cn/et.get(ft,ft-1)),et.set(ft-1,ft,-(et.get(ft,ft)-Sn)/et.get(ft,ft-1))):(nr=Fi(0,-et.get(ft-1,ft),et.get(ft-1,ft-1)-Sn,cn),et.set(ft-1,ft-1,nr[0]),et.set(ft-1,ft,nr[1])),et.set(ft,ft-1,0),et.set(ft,ft,1),dn=ft-2;dn>=0;dn--){for(Hn=0,br=0,Bn=hr;Bn<=ft;Bn++)Hn=Hn+et.get(dn,Bn)*et.get(Bn,ft-1),br=br+et.get(dn,Bn)*et.get(Bn,ft);if(gr=et.get(dn,dn)-Sn,De[dn]<0)fr=gr,Yn=Hn,ir=br;else if(hr=dn,De[dn]===0?(nr=Fi(-Hn,-br,gr,cn),et.set(dn,ft-1,nr[0]),et.set(dn,ft,nr[1])):(Nr=et.get(dn,dn+1),Kr=et.get(dn+1,dn),ui=(He[dn]-Sn)*(He[dn]-Sn)+De[dn]*De[dn]-cn*cn,gi=(He[dn]-Sn)*2*cn,ui===0&&gi===0&&(ui=rn*Gn*(Math.abs(gr)+Math.abs(cn)+Math.abs(Nr)+Math.abs(Kr)+Math.abs(fr))),nr=Fi(Nr*Yn-fr*Hn+cn*br,Nr*ir-fr*br-cn*Hn,ui,gi),et.set(dn,ft-1,nr[0]),et.set(dn,ft,nr[1]),Math.abs(Nr)>Math.abs(fr)+Math.abs(cn)?(et.set(dn+1,ft-1,(-Hn-gr*et.get(dn,ft-1)+cn*et.get(dn,ft))/Nr),et.set(dn+1,ft,(-br-gr*et.get(dn,ft)-cn*et.get(dn,ft-1))/Nr)):(nr=Fi(-Yn-Kr*et.get(dn,ft-1),-ir-Kr*et.get(dn,ft),fr,cn),et.set(dn+1,ft-1,nr[0]),et.set(dn+1,ft,nr[1]))),Mr=Math.max(Math.abs(et.get(dn,ft-1)),Math.abs(et.get(dn,ft))),rn*Mr*Mr>1)for(Bn=dn;Bn<=ft;Bn++)et.set(Bn,ft-1,et.get(Bn,ft-1)/Mr),et.set(Bn,ft,et.get(Bn,ft)/Mr)}for(dn=0;dn<Nt;dn++)if(dn<Bt||dn>Ct)for(Bn=dn;Bn<Nt;Bn++)Re.set(dn,Bn,et.get(dn,Bn));for(Bn=Nt-1;Bn>=Bt;Bn--)for(dn=Bt;dn<=Ct;dn++){for(fr=0,tr=Bt;tr<=Math.min(Bn,Ct);tr++)fr=fr+Re.get(dn,tr)*et.get(tr,Bn);Re.set(dn,Bn,fr)}}}function Fi(Nt,De,He,Re){let et,ft;return Math.abs(He)>Math.abs(Re)?(et=Re/He,ft=He+et*Re,[(Nt+et*De)/ft,(De-et*Nt)/ft]):(et=He/Re,ft=Re+et*He,[(et*Nt+De)/ft,(et*De-Nt)/ft])}class Qi{constructor(De){if(De=xr.checkMatrix(De),!De.isSymmetric())throw new Error("Matrix is not symmetric");let He=De,Re=He.rows,et=new Yt(Re,Re),ft=!0,Bt,Ct,rn;for(Ct=0;Ct<Re;Ct++){let nn=0;for(rn=0;rn<Ct;rn++){let Gn=0;for(Bt=0;Bt<rn;Bt++)Gn+=et.get(rn,Bt)*et.get(Ct,Bt);Gn=(He.get(Ct,rn)-Gn)/et.get(rn,rn),et.set(Ct,rn,Gn),nn=nn+Gn*Gn}for(nn=He.get(Ct,Ct)-nn,ft&&(ft=nn>0),et.set(Ct,Ct,Math.sqrt(Math.max(nn,0))),rn=Ct+1;rn<Re;rn++)et.set(Ct,rn,0)}this.L=et,this.positiveDefinite=ft}isPositiveDefinite(){return this.positiveDefinite}solve(De){De=xr.checkMatrix(De);let He=this.L,Re=He.rows;if(De.rows!==Re)throw new Error("Matrix dimensions do not match");if(this.isPositiveDefinite()===!1)throw new Error("Matrix is not positive definite");let et=De.columns,ft=De.clone(),Bt,Ct,rn;for(rn=0;rn<Re;rn++)for(Ct=0;Ct<et;Ct++){for(Bt=0;Bt<rn;Bt++)ft.set(rn,Ct,ft.get(rn,Ct)-ft.get(Bt,Ct)*He.get(rn,Bt));ft.set(rn,Ct,ft.get(rn,Ct)/He.get(rn,rn))}for(rn=Re-1;rn>=0;rn--)for(Ct=0;Ct<et;Ct++){for(Bt=rn+1;Bt<Re;Bt++)ft.set(rn,Ct,ft.get(rn,Ct)-ft.get(Bt,Ct)*He.get(Bt,rn));ft.set(rn,Ct,ft.get(rn,Ct)/He.get(rn,rn))}return ft}get lowerTriangularMatrix(){return this.L}}class ii{constructor(De,He={}){De=xr.checkMatrix(De);let{Y:Re}=He;const{scaleScores:et=!1,maxIterations:ft=1e3,terminationCriteria:Bt=1e-10}=He;let Ct;if(Re){if(ie.isAnyArray(Re)&&typeof Re[0]=="number"?Re=Yt.columnVector(Re):Re=xr.checkMatrix(Re),Re.rows!==De.rows)throw new Error("Y should have the same number of rows as X");Ct=Re.getColumnVector(0)}else Ct=De.getColumnVector(0);let rn=1,nn,Gn,Sn,cn;for(let Yn=0;Yn<ft&&rn>Bt;Yn++)Sn=De.transpose().mmul(Ct).div(Ct.transpose().mmul(Ct).get(0,0)),Sn=Sn.div(Sn.norm()),nn=De.mmul(Sn).div(Sn.transpose().mmul(Sn).get(0,0)),Yn>0&&(rn=nn.clone().sub(cn).pow(2).sum()),cn=nn.clone(),Re?(Gn=Re.transpose().mmul(nn).div(nn.transpose().mmul(nn).get(0,0)),Gn=Gn.div(Gn.norm()),Ct=Re.mmul(Gn).div(Gn.transpose().mmul(Gn).get(0,0))):Ct=nn;if(Re){let Yn=De.transpose().mmul(nn).div(nn.transpose().mmul(nn).get(0,0));Yn=Yn.div(Yn.norm());let ir=De.clone().sub(nn.clone().mmul(Yn.transpose())),fr=Ct.transpose().mmul(nn).div(nn.transpose().mmul(nn).get(0,0)),On=Re.clone().sub(nn.clone().mulS(fr.get(0,0)).mmul(Gn.transpose()));this.t=nn,this.p=Yn.transpose(),this.w=Sn.transpose(),this.q=Gn,this.u=Ct,this.s=nn.transpose().mmul(nn),this.xResidual=ir,this.yResidual=On,this.betas=fr}else this.w=Sn.transpose(),this.s=nn.transpose().mmul(nn).sqrt(),et?this.t=nn.clone().div(this.s.get(0,0)):this.t=nn,this.xResidual=De.sub(nn.mmul(Sn.transpose()))}}tn.XA=Nn,tn.a_=Qi,tn.yQ=Qi,tn.Hs=Jt,tn.Ec=It,tn.dx=It,tn.LU=Qr,tn.Rm=Qr,tn.y3=Yt,tn.qK=ot,tn.pb=ut,tn.j=Pt,tn.sO=Ht,tn.BZ=hn,tn.EK=Mt,tn.Db=rr,tn.Fx=Jn,tn.tU=An,tn.Ym=ii,tn.rs=ii,tn.QR=li,tn.TB=li,tn.oH=Ai,tn.Sc=Ai,tn.BN=_t,tn.it=$n,tn.$r=xr,tn.QM=zi,tn.AV=oo,Ge=Yt,tn.GH=bo,tn.SO=fo,tn.uZ=ao,tn.yU=Jr,tn.F1=Io,tn.re=mr},50371:function(en,tn){"use strict";function Oe(){const Ge=Object.assign({},arguments.length<=0?void 0:arguments[0]);for(let tt=1;tt<arguments.length;tt++){const Ue=tt<0||arguments.length<=tt?void 0:arguments[tt];Ue&&Object.keys(Ue).forEach(Ne=>{const Ke=Ue[Ne];Ke!==void 0&&(Ge[Ne]=Ke)})}return Ge}tn.Z=Oe},13845:function(en,tn,Oe){"use strict";Oe.d(tn,{F:function(){return Ge},Z:function(){return tt}});function Ge(Ue){return Ue!=null&&Ue===Ue.window}function tt(Ue,Ne){var Ke,Be;if(typeof window=="undefined")return 0;const we=Ne?"scrollTop":"scrollLeft";let Te=0;return Ge(Ue)?Te=Ue[Ne?"pageYOffset":"pageXOffset"]:Ue instanceof Document?Te=Ue.documentElement[we]:(Ue instanceof HTMLElement||Ue)&&(Te=Ue[we]),Ue&&!Ge(Ue)&&typeof Te!="number"&&(Te=(Be=((Ke=Ue.ownerDocument)!==null&&Ke!==void 0?Ke:Ue).documentElement)===null||Be===void 0?void 0:Be[we]),Te}},56762:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return tt}});var Ge=Oe(59301);function tt(){const[,Ue]=Ge.useReducer(Ne=>Ne+1,0);return Ue}},68031:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Ne}});var Ge=Oe(23073);function tt(Ke,Be,we,Te){const ke=we-Be;return Ke/=Te/2,Ke<1?ke/2*Ke*Ke*Ke+Be:ke/2*((Ke-=2)*Ke*Ke+2)+Be}var Ue=Oe(13845);function Ne(Ke){let Be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{getContainer:we=()=>window,callback:Te,duration:ke=450}=Be,Ie=we(),Ce=(0,Ue.Z)(Ie,!0),Me=Date.now(),je=()=>{const ie=Date.now()-Me,ae=tt(ie>ke?ke:ie,Ce,Ke,ke);(0,Ue.F)(Ie)?Ie.scrollTo(window.pageXOffset,ae):Ie instanceof Document||Ie.constructor.name==="HTMLDocument"?Ie.documentElement.scrollTop=ae:Ie.scrollTop=ae,ie<ke?(0,Ge.Z)(je):typeof Te=="function"&&Te()};(0,Ge.Z)(je)}},88522:function(en,tn,Oe){"use strict";var Ge=Oe(92310),tt=Oe.n(Ge),Ue=Oe(38298),Ne=Oe(64002),Ke=Oe(59301),Be=Oe(53487),we=Oe(92343),Te=Oe(36355),ke=Oe(57809);const{Option:Ie}=ke.default;function Ce(ie){return ie&&ie.type&&(ie.type.isSelectOption||ie.type.isSelectOptGroup)}const Me=(ie,ae)=>{const{prefixCls:fe,className:de,popupClassName:ve,dropdownClassName:xe,children:ce,dataSource:pe}=ie,Se=(0,Ue.Z)(ce);let Le;Se.length===1&&(0,we.l$)(Se[0])&&!Ce(Se[0])&&([Le]=Se);const ze=Le?()=>Le:void 0;let Ze;Se.length&&Ce(Se[0])?Ze=ce:Ze=pe?pe.map($e=>{if((0,we.l$)($e))return $e;switch(typeof $e){case"string":return Ke.createElement(Ie,{key:$e,value:$e},$e);case"object":{const{value:gt}=$e;return Ke.createElement(Ie,{key:gt,value:gt},$e.text)}default:return}}):[];const{getPrefixCls:Ve}=Ke.useContext(Te.E_),Qe=Ve("select",fe);return Ke.createElement(ke.default,Object.assign({ref:ae,suffixIcon:null},(0,Ne.Z)(ie,["dataSource","dropdownClassName"]),{prefixCls:Qe,popupClassName:ve||xe,className:tt()(`${Qe}-auto-complete`,de),mode:ke.default.SECRET_COMBOBOX_MODE_DO_NOT_USE},{getInputElement:ze}),Ze)},je=Ke.forwardRef(Me),ye=(0,Be.Z)(je);je.Option=Ie,je._InternalPanelDoNotUseOrYouWillBeFired=ye,tn.Z=je},19842:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return ko}});var Ge=Oe(26390),tt=Oe(59301),Ue=Oe(16537),Ne=Oe(50023),Ke=Oe(53878),Be=Oe(92310),we=Oe.n(Be),Te=Oe(5891),ke=Oe(29043),Ie=Oe(19149),Ce=Oe(77861),Me=Oe(17115),je=Oe(90782),ye=Oe(8107),ie=Oe(35788),ae=tt.createContext(null),fe=ae,de=Oe(80665),ve=Oe(80962),xe=Oe(57259),ce="__rc_cascader_search_mark__",pe=function(Bi,Fi,Qi){var ii=Qi.label;return Fi.some(function(Nt){return String(Nt[ii]).toLowerCase().includes(Bi.toLowerCase())})},Se=function(Bi,Fi,Qi,ii){return Fi.map(function(Nt){return Nt[ii.label]}).join(" / ")},Le=function(Fr,Bi,Fi,Qi,ii,Nt){var De=ii.filter,He=De===void 0?pe:De,Re=ii.render,et=Re===void 0?Se:Re,ft=ii.limit,Bt=ft===void 0?50:ft,Ct=ii.sort;return tt.useMemo(function(){var rn=[];if(!Fr)return[];function nn(Gn,Sn){var cn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;Gn.forEach(function(Yn){if(!(!Ct&&Bt!==!1&&Bt>0&&rn.length>=Bt)){var ir=[].concat((0,Ge.Z)(Sn),[Yn]),fr=Yn[Fi.children],On=cn||Yn.disabled;if((!fr||fr.length===0||Nt)&&He(Fr,ir,{label:Fi.label})){var dn;rn.push((0,xe.Z)((0,xe.Z)({},Yn),{},(dn={disabled:On},(0,ve.Z)(dn,Fi.label,et(Fr,ir,Qi,Fi)),(0,ve.Z)(dn,ce,ir),(0,ve.Z)(dn,Fi.children,void 0),dn)))}fr&&nn(Yn[Fi.children],ir,On)}})}return nn(Bi,[]),Ct&&rn.sort(function(Gn,Sn){return Ct(Gn[ce],Sn[ce],Fr,Fi)}),Bt!==!1&&Bt>0?rn.slice(0,Bt):rn},[Fr,Bi,Fi,Qi,et,Nt,He,Ct,Bt])},ze="__RC_CASCADER_SPLIT__",Ze="SHOW_PARENT",Ve="SHOW_CHILD";function Qe(Fr){return Fr.join(ze)}function $e(Fr){return Fr.map(Qe)}function gt(Fr){return Fr.split(ze)}function lt(Fr){var Bi=Fr||{},Fi=Bi.label,Qi=Bi.value,ii=Bi.children,Nt=Qi||"value";return{label:Fi||"label",value:Nt,key:Nt,children:ii||"children"}}function At(Fr,Bi){var Fi,Qi;return(Fi=Fr.isLeaf)!==null&&Fi!==void 0?Fi:!((Qi=Fr[Bi.children])!==null&&Qi!==void 0&&Qi.length)}function Et(Fr){var Bi=Fr.parentElement;if(Bi){var Fi=Fr.offsetTop-Bi.offsetTop;Fi-Bi.scrollTop<0?Bi.scrollTo({top:Fi}):Fi+Fr.offsetHeight-Bi.scrollTop>Bi.offsetHeight&&Bi.scrollTo({top:Fi+Fr.offsetHeight-Bi.offsetHeight})}}function vt(Fr,Bi){return Fr.map(function(Fi){var Qi;return(Qi=Fi[ce])===null||Qi===void 0?void 0:Qi.map(function(ii){return ii[Bi.value]})})}function Lt(Fr,Bi,Fi){var Qi=new Set(Fr),ii=Bi();return Fr.filter(function(Nt){var De=ii[Nt],He=De?De.parent:null,Re=De?De.children:null;return De&&De.node.disabled?!0:Fi===Ve?!(Re&&Re.some(function(et){return et.key&&Qi.has(et.key)})):!(He&&!He.node.disabled&&Qi.has(He.key))})}function St(Fr,Bi,Fi){for(var Qi=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,ii=Bi,Nt=[],De=function(){var et,ft,Bt,Ct=Fr[He],rn=(et=ii)===null||et===void 0?void 0:et.findIndex(function(Gn){var Sn=Gn[Fi.value];return Qi?String(Sn)===String(Ct):Sn===Ct}),nn=rn!==-1?(ft=ii)===null||ft===void 0?void 0:ft[rn]:null;Nt.push({value:(Bt=nn==null?void 0:nn[Fi.value])!==null&&Bt!==void 0?Bt:Ct,index:rn,option:nn}),ii=nn==null?void 0:nn[Fi.children]},He=0;He<Fr.length;He+=1)De();return Nt}var xt=function(Fr,Bi,Fi,Qi,ii){return tt.useMemo(function(){var Nt=ii||function(De){var He=Qi?De.slice(-1):De,Re=" / ";return He.every(function(et){return["string","number"].includes((0,de.Z)(et))})?He.join(Re):He.reduce(function(et,ft,Bt){var Ct=tt.isValidElement(ft)?tt.cloneElement(ft,{key:Bt}):ft;return Bt===0?[Ct]:[].concat((0,Ge.Z)(et),[Re,Ct])},[])};return Fr.map(function(De){var He,Re,et=St(De,Bi,Fi),ft=Nt(et.map(function(Ct){var rn,nn=Ct.option,Gn=Ct.value;return(rn=nn==null?void 0:nn[Fi.label])!==null&&rn!==void 0?rn:Gn}),et.map(function(Ct){var rn=Ct.option;return rn})),Bt=Qe(De);return{label:ft,value:Bt,key:Bt,valueCells:De,disabled:(He=et[et.length-1])===null||He===void 0||(Re=He.option)===null||Re===void 0?void 0:Re.disabled}})},[Fr,Bi,Fi,ii,Qi])},ct=Oe(71430),Dt=function(Fr,Bi){var Fi=tt.useRef({options:null,info:null}),Qi=tt.useCallback(function(){return Fi.current.options!==Fr&&(Fi.current.options=Fr,Fi.current.info=(0,ct.I8)(Fr,{fieldNames:Bi,initWrapper:function(Nt){return(0,xe.Z)((0,xe.Z)({},Nt),{},{pathKeyEntities:{}})},processEntity:function(Nt,De){var He=Nt.nodes.map(function(Re){return Re[Bi.value]}).join(ze);De.pathKeyEntities[He]=Nt,Nt.key=He}})),Fi.current.info.pathKeyEntities},[Bi,Fr]);return Qi},Xt=function(Fr,Bi){return tt.useCallback(function(Fi){var Qi=[],ii=[];return Fi.forEach(function(Nt){var De=St(Nt,Fr,Bi);De.every(function(He){return He.option})?ii.push(Nt):Qi.push(Nt)}),[ii,Qi]},[Fr,Bi])},kt=Oe(51395);function Rt(Fr){return tt.useMemo(function(){if(!Fr)return[!1,{}];var Bi={matchInputWidth:!0,limit:50};return Fr&&(0,de.Z)(Fr)==="object"&&(Bi=(0,xe.Z)((0,xe.Z)({},Bi),Fr)),Bi.limit<=0&&delete Bi.limit,[!0,Bi]},[Fr])}var Gt=tt.memo(function(Fr){var Bi=Fr.children;return Bi},function(Fr,Bi){return!Bi.open}),ln=Gt;function Rn(Fr){var Bi,Fi=Fr.prefixCls,Qi=Fr.checked,ii=Fr.halfChecked,Nt=Fr.disabled,De=Fr.onClick,He=Fr.disableCheckbox,Re=tt.useContext(fe),et=Re.checkable,ft=typeof et!="boolean"?et:null;return tt.createElement("span",{className:we()("".concat(Fi),(Bi={},(0,ve.Z)(Bi,"".concat(Fi,"-checked"),Qi),(0,ve.Z)(Bi,"".concat(Fi,"-indeterminate"),!Qi&&ii),(0,ve.Z)(Bi,"".concat(Fi,"-disabled"),Nt||He),Bi)),onClick:De},ft)}var jn="__cascader_fix_label__";function er(Fr){var Bi=Fr.prefixCls,Fi=Fr.multiple,Qi=Fr.options,ii=Fr.activeValue,Nt=Fr.prevValuePath,De=Fr.onToggleOpen,He=Fr.onSelect,Re=Fr.onActive,et=Fr.checkedSet,ft=Fr.halfCheckedSet,Bt=Fr.loadingKeys,Ct=Fr.isSelectable,rn=Fr.searchValue,nn="".concat(Bi,"-menu"),Gn="".concat(Bi,"-menu-item"),Sn=tt.useContext(fe),cn=Sn.fieldNames,Yn=Sn.changeOnSelect,ir=Sn.expandTrigger,fr=Sn.expandIcon,On=Sn.loadingIcon,dn=Sn.dropdownMenuColumnStyle,Bn=ir==="hover",tr=tt.useMemo(function(){return Qi.map(function(hr){var pr,Mr=hr.disabled,gr=hr.disableCheckbox,Nr=hr[ce],Kr=(pr=hr[jn])!==null&&pr!==void 0?pr:hr[cn.label],Hn=hr[cn.value],br=At(hr,cn),ui=Nr?Nr.map(function(Vi){return Vi[cn.value]}):[].concat((0,Ge.Z)(Nt),[Hn]),gi=Qe(ui),Zi=Bt.includes(gi),nr=et.has(gi),xi=ft.has(gi);return{disabled:Mr,label:Kr,value:Hn,isLeaf:br,isLoading:Zi,checked:nr,halfChecked:xi,option:hr,disableCheckbox:gr,fullPath:ui,fullPathKey:gi}})},[Qi,et,cn,ft,Bt,Nt]);return tt.createElement("ul",{className:nn,role:"menu"},tr.map(function(hr){var pr,Mr=hr.disabled,gr=hr.label,Nr=hr.value,Kr=hr.isLeaf,Hn=hr.isLoading,br=hr.checked,ui=hr.halfChecked,gi=hr.option,Zi=hr.fullPath,nr=hr.fullPathKey,xi=hr.disableCheckbox,Vi=function(){if(!(Mr||rn)){var Do=(0,Ge.Z)(Zi);Bn&&Kr&&Do.pop(),Re(Do)}},Gi=function(){Ct(gi)&&He(Zi,Kr)},Ao;return typeof gi.title=="string"?Ao=gi.title:typeof gr=="string"&&(Ao=gr),tt.createElement("li",{key:nr,className:we()(Gn,(pr={},(0,ve.Z)(pr,"".concat(Gn,"-expand"),!Kr),(0,ve.Z)(pr,"".concat(Gn,"-active"),ii===Nr||ii===nr),(0,ve.Z)(pr,"".concat(Gn,"-disabled"),Mr),(0,ve.Z)(pr,"".concat(Gn,"-loading"),Hn),pr)),style:dn,role:"menuitemcheckbox",title:Ao,"aria-checked":br,"data-path-key":nr,onClick:function(){Vi(),!xi&&(!Fi||Kr)&&Gi()},onDoubleClick:function(){Yn&&De(!1)},onMouseEnter:function(){Bn&&Vi()},onMouseDown:function(Do){Do.preventDefault()}},Fi&&tt.createElement(Rn,{prefixCls:"".concat(Bi,"-checkbox"),checked:br,halfChecked:ui,disabled:Mr||xi,disableCheckbox:xi,onClick:function(Do){xi||(Do.stopPropagation(),Gi())}}),tt.createElement("div",{className:"".concat(Gn,"-content")},gr),!Hn&&fr&&!Kr&&tt.createElement("div",{className:"".concat(Gn,"-expand-icon")},fr),Hn&&On&&tt.createElement("div",{className:"".concat(Gn,"-loading-icon")},On))}))}var an=function(){var Fr=(0,Ce.lk)(),Bi=Fr.multiple,Fi=Fr.open,Qi=tt.useContext(fe),ii=Qi.values,Nt=tt.useState([]),De=(0,ke.Z)(Nt,2),He=De[0],Re=De[1];return tt.useEffect(function(){if(Fi&&!Bi){var et=ii[0];Re(et||[])}},[Fi]),[He,Re]},Un=Oe(85108),Kn=function(Fr,Bi,Fi,Qi,ii,Nt){var De=(0,Ce.lk)(),He=De.direction,Re=De.searchValue,et=De.toggleOpen,ft=De.open,Bt=He==="rtl",Ct=tt.useMemo(function(){for(var dn=-1,Bn=Bi,tr=[],hr=[],pr=Qi.length,Mr=vt(Bi,Fi),gr=function(gi){var Zi=Bn.findIndex(function(nr,xi){return(Mr[xi]?Qe(Mr[xi]):nr[Fi.value])===Qi[gi]});if(Zi===-1)return"break";dn=Zi,tr.push(dn),hr.push(Qi[gi]),Bn=Bn[dn][Fi.children]},Nr=0;Nr<pr&&Bn;Nr+=1){var Kr=gr(Nr);if(Kr==="break")break}for(var Hn=Bi,br=0;br<tr.length-1;br+=1)Hn=Hn[tr[br]][Fi.children];return[hr,dn,Hn,Mr]},[Qi,Fi,Bi]),rn=(0,ke.Z)(Ct,4),nn=rn[0],Gn=rn[1],Sn=rn[2],cn=rn[3],Yn=function(Bn){ii(Bn)},ir=function(Bn){var tr=Sn.length,hr=Gn;hr===-1&&Bn<0&&(hr=tr);for(var pr=0;pr<tr;pr+=1){hr=(hr+Bn+tr)%tr;var Mr=Sn[hr];if(Mr&&!Mr.disabled){var gr=nn.slice(0,-1).concat(cn[hr]?Qe(cn[hr]):Mr[Fi.value]);Yn(gr);return}}},fr=function(){if(nn.length>1){var Bn=nn.slice(0,-1);Yn(Bn)}else et(!1)},On=function(){var Bn,tr=((Bn=Sn[Gn])===null||Bn===void 0?void 0:Bn[Fi.children])||[],hr=tr.find(function(Mr){return!Mr.disabled});if(hr){var pr=[].concat((0,Ge.Z)(nn),[hr[Fi.value]]);Yn(pr)}};tt.useImperativeHandle(Fr,function(){return{onKeyDown:function(Bn){var tr=Bn.which;switch(tr){case Un.Z.UP:case Un.Z.DOWN:{var hr=0;tr===Un.Z.UP?hr=-1:tr===Un.Z.DOWN&&(hr=1),hr!==0&&ir(hr);break}case Un.Z.LEFT:{if(Re)break;Bt?On():fr();break}case Un.Z.RIGHT:{if(Re)break;Bt?fr():On();break}case Un.Z.BACKSPACE:{Re||fr();break}case Un.Z.ENTER:{if(nn.length){var pr=Sn[Gn],Mr=(pr==null?void 0:pr[ce])||[];Mr.length?Nt(Mr.map(function(gr){return gr[Fi.value]}),Mr[Mr.length-1]):Nt(nn,Sn[Gn])}break}case Un.Z.ESC:et(!1),ft&&Bn.stopPropagation()}},onKeyUp:function(){}}})},ur=tt.forwardRef(function(Fr,Bi){var Fi,Qi,ii,Nt,De=(0,Ce.lk)(),He=De.prefixCls,Re=De.multiple,et=De.searchValue,ft=De.toggleOpen,Bt=De.notFoundContent,Ct=De.direction,rn=De.open,nn=tt.useRef(),Gn=Ct==="rtl",Sn=tt.useContext(fe),cn=Sn.options,Yn=Sn.values,ir=Sn.halfValues,fr=Sn.fieldNames,On=Sn.changeOnSelect,dn=Sn.onSelect,Bn=Sn.searchOptions,tr=Sn.dropdownPrefixCls,hr=Sn.loadData,pr=Sn.expandTrigger,Mr=tr||He,gr=tt.useState([]),Nr=(0,ke.Z)(gr,2),Kr=Nr[0],Hn=Nr[1],br=function(oa){if(!(!hr||et)){var Os=St(oa,cn,fr),rs=Os.map(function(za){var Ka=za.option;return Ka}),po=rs[rs.length-1];if(po&&!At(po,fr)){var zo=Qe(oa);Hn(function(za){return[].concat((0,Ge.Z)(za),[zo])}),hr(rs)}}};tt.useEffect(function(){Kr.length&&Kr.forEach(function(ss){var oa=gt(ss),Os=St(oa,cn,fr,!0).map(function(po){var zo=po.option;return zo}),rs=Os[Os.length-1];(!rs||rs[fr.children]||At(rs,fr))&&Hn(function(po){return po.filter(function(zo){return zo!==ss})})})},[cn,Kr,fr]);var ui=tt.useMemo(function(){return new Set($e(Yn))},[Yn]),gi=tt.useMemo(function(){return new Set($e(ir))},[ir]),Zi=an(),nr=(0,ke.Z)(Zi,2),xi=nr[0],Vi=nr[1],Gi=function(oa){Vi(oa),br(oa)},Ao=function(oa){var Os=oa.disabled,rs=At(oa,fr);return!Os&&(rs||On||Re)},io=function(oa,Os){var rs=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;dn(oa),!Re&&(Os||On&&(pr==="hover"||rs))&&ft(!1)},Do=tt.useMemo(function(){return et?Bn:cn},[et,Bn,cn]),Bo=tt.useMemo(function(){for(var ss=[{options:Do}],oa=Do,Os=vt(oa,fr),rs=function(){var Ka=xi[po],Ji=oa.find(function(ja,is){return(Os[is]?Qe(Os[is]):ja[fr.value])===Ka}),yn=Ji==null?void 0:Ji[fr.children];if(!(yn!=null&&yn.length))return"break";oa=yn,ss.push({options:yn})},po=0;po<xi.length;po+=1){var zo=rs();if(zo==="break")break}return ss},[Do,xi,fr]),Ui=function(oa,Os){Ao(Os)&&io(oa,At(Os,fr),!0)};Kn(Bi,Do,fr,xi,Gi,Ui),tt.useEffect(function(){for(var ss=0;ss<xi.length;ss+=1){var oa,Os=xi.slice(0,ss+1),rs=Qe(Os),po=(oa=nn.current)===null||oa===void 0?void 0:oa.querySelector('li[data-path-key="'.concat(rs.replace(/\\{0,2}"/g,'\\"'),'"]'));po&&Et(po)}},[xi]);var Xo=!((Fi=Bo[0])!==null&&Fi!==void 0&&(Qi=Fi.options)!==null&&Qi!==void 0&&Qi.length),Hr=[(ii={},(0,ve.Z)(ii,fr.value,"__EMPTY__"),(0,ve.Z)(ii,jn,Bt),(0,ve.Z)(ii,"disabled",!0),ii)],wa=(0,xe.Z)((0,xe.Z)({},Fr),{},{multiple:!Xo&&Re,onSelect:io,onActive:Gi,onToggleOpen:ft,checkedSet:ui,halfCheckedSet:gi,loadingKeys:Kr,isSelectable:Ao}),Zr=Xo?[{options:Hr}]:Bo,Ca=Zr.map(function(ss,oa){var Os=xi.slice(0,oa),rs=xi[oa];return tt.createElement(er,(0,Te.Z)({key:oa},wa,{searchValue:et,prefixCls:Mr,options:ss.options,prevValuePath:Os,activeValue:rs}))});return tt.createElement(ln,{open:rn},tt.createElement("div",{className:we()("".concat(Mr,"-menus"),(Nt={},(0,ve.Z)(Nt,"".concat(Mr,"-menu-empty"),Xo),(0,ve.Z)(Nt,"".concat(Mr,"-rtl"),Gn),Nt)),ref:nn},Ca))}),Xn=ur;function Nn(Fr){var Bi=Fr.onPopupVisibleChange,Fi=Fr.popupVisible,Qi=Fr.popupClassName,ii=Fr.popupPlacement;warning(!Bi,"`onPopupVisibleChange` is deprecated. Please use `onDropdownVisibleChange` instead."),warning(Fi===void 0,"`popupVisible` is deprecated. Please use `open` instead."),warning(Qi===void 0,"`popupClassName` is deprecated. Please use `dropdownClassName` instead."),warning(ii===void 0,"`popupPlacement` is deprecated. Please use `placement` instead.")}function _n(Fr,Bi){if(Fr){var Fi=function Qi(ii){for(var Nt=0;Nt<ii.length;Nt++){var De=ii[Nt];if(De[Bi==null?void 0:Bi.value]===null)return warning(!1,"`value` in Cascader options should not be `null`."),!0;if(Array.isArray(De[Bi==null?void 0:Bi.children])&&Qi(De[Bi==null?void 0:Bi.children]))return!0}};Fi(Fr)}}var un=null,qt=["id","prefixCls","fieldNames","defaultValue","value","changeOnSelect","onChange","displayRender","checkable","autoClearSearchValue","searchValue","onSearch","showSearch","expandTrigger","options","dropdownPrefixCls","loadData","popupVisible","open","popupClassName","dropdownClassName","dropdownMenuColumnStyle","popupPlacement","placement","onDropdownVisibleChange","onPopupVisibleChange","expandIcon","loadingIcon","children","dropdownMatchSelectWidth","showCheckedStrategy"];function Yt(Fr){return Array.isArray(Fr)&&Array.isArray(Fr[0])}function gn(Fr){return Fr?Yt(Fr)?Fr:(Fr.length===0?[]:[Fr]).map(function(Bi){return Array.isArray(Bi)?Bi:[Bi]}):[]}var _t=tt.forwardRef(function(Fr,Bi){var Fi=Fr.id,Qi=Fr.prefixCls,ii=Qi===void 0?"rc-cascader":Qi,Nt=Fr.fieldNames,De=Fr.defaultValue,He=Fr.value,Re=Fr.changeOnSelect,et=Fr.onChange,ft=Fr.displayRender,Bt=Fr.checkable,Ct=Fr.autoClearSearchValue,rn=Ct===void 0?!0:Ct,nn=Fr.searchValue,Gn=Fr.onSearch,Sn=Fr.showSearch,cn=Fr.expandTrigger,Yn=Fr.options,ir=Fr.dropdownPrefixCls,fr=Fr.loadData,On=Fr.popupVisible,dn=Fr.open,Bn=Fr.popupClassName,tr=Fr.dropdownClassName,hr=Fr.dropdownMenuColumnStyle,pr=Fr.popupPlacement,Mr=Fr.placement,gr=Fr.onDropdownVisibleChange,Nr=Fr.onPopupVisibleChange,Kr=Fr.expandIcon,Hn=Kr===void 0?">":Kr,br=Fr.loadingIcon,ui=Fr.children,gi=Fr.dropdownMatchSelectWidth,Zi=gi===void 0?!1:gi,nr=Fr.showCheckedStrategy,xi=nr===void 0?Ze:nr,Vi=(0,Ie.Z)(Fr,qt),Gi=(0,Me.ZP)(Fi),Ao=!!Bt,io=(0,ie.Z)(De,{value:He,postState:gn}),Do=(0,ke.Z)(io,2),Bo=Do[0],Ui=Do[1],Xo=tt.useMemo(function(){return lt(Nt)},[JSON.stringify(Nt)]),Hr=tt.useMemo(function(){return Yn||[]},[Yn]),wa=Dt(Hr,Xo),Zr=tt.useCallback(function(Ki){var xs=wa();return Ki.map(function(zs){var yl=xs[zs].nodes;return yl.map(function(tl){return tl[Xo.value]})})},[wa,Xo]),Ca=(0,ie.Z)("",{value:nn,postState:function(xs){return xs||""}}),ss=(0,ke.Z)(Ca,2),oa=ss[0],Os=ss[1],rs=function(xs,zs){Os(xs),zs.source!=="blur"&&Gn&&Gn(xs)},po=Rt(Sn),zo=(0,ke.Z)(po,2),za=zo[0],Ka=zo[1],Ji=Le(oa,Hr,Xo,ir||ii,Ka,Re),yn=Xt(Hr,Xo),ja=tt.useMemo(function(){var Ki=yn(Bo),xs=(0,ke.Z)(Ki,2),zs=xs[0],yl=xs[1];if(!Ao||!Bo.length)return[zs,[],yl];var tl=$e(zs),Ms=wa(),Au=(0,je.S)(tl,!0,Ms),Ur=Au.checkedKeys,Su=Au.halfCheckedKeys;return[Zr(Ur),Zr(Su),yl]},[Ao,Bo,wa,Zr,yn]),is=(0,ke.Z)(ja,3),_a=is[0],Us=is[1],ma=is[2],aa=tt.useMemo(function(){var Ki=$e(_a),xs=Lt(Ki,wa,xi);return[].concat((0,Ge.Z)(ma),(0,Ge.Z)(Zr(xs)))},[_a,wa,Zr,ma,xi]),ys=xt(aa,Hr,Xo,Ao,ft),Fs=(0,ye.Z)(function(Ki){if(Ui(Ki),et){var xs=gn(Ki),zs=xs.map(function(Ms){return St(Ms,Hr,Xo).map(function(Au){return Au.option})}),yl=Ao?xs:xs[0],tl=Ao?zs:zs[0];et(yl,tl)}}),es=(0,ye.Z)(function(Ki){if((!Ao||rn)&&Os(""),!Ao)Fs(Ki);else{var xs=Qe(Ki),zs=$e(_a),yl=$e(Us),tl=zs.includes(xs),Ms=ma.some(function(gl){return Qe(gl)===xs}),Au=_a,Ur=ma;if(Ms&&!tl)Ur=ma.filter(function(gl){return Qe(gl)!==xs});else{var Su=tl?zs.filter(function(gl){return gl!==xs}):[].concat((0,Ge.Z)(zs),[xs]),gh=wa(),Wc;if(tl){var Ns=(0,je.S)(Su,{checked:!1,halfCheckedKeys:yl},gh);Wc=Ns.checkedKeys}else{var Sl=(0,je.S)(Su,!0,gh);Wc=Sl.checkedKeys}var lu=Lt(Wc,wa,xi);Au=Zr(lu)}Fs([].concat((0,Ge.Z)(Ur),(0,Ge.Z)(Au)))}}),ml=function(xs,zs){if(zs.type==="clear"){Fs([]);return}var yl=zs.values[0],tl=yl.valueCells;es(tl)},ta=dn!==void 0?dn:On,Qo=tr||Bn,Ba=Mr||pr,Ii=function(xs){gr==null||gr(xs),Nr==null||Nr(xs)},Gs=tt.useMemo(function(){return{options:Hr,fieldNames:Xo,values:_a,halfValues:Us,changeOnSelect:Re,onSelect:es,checkable:Bt,searchOptions:Ji,dropdownPrefixCls:ir,loadData:fr,expandTrigger:cn,expandIcon:Hn,loadingIcon:br,dropdownMenuColumnStyle:hr}},[Hr,Xo,_a,Us,Re,es,Bt,Ji,ir,fr,cn,Hn,br,hr]),sl=!(oa?Ji:Hr).length,ql=oa&&Ka.matchInputWidth||sl?{}:{minWidth:"auto"};return tt.createElement(fe.Provider,{value:Gs},tt.createElement(Ce.Ac,(0,Te.Z)({},Vi,{ref:Bi,id:Gi,prefixCls:ii,autoClearSearchValue:rn,dropdownMatchSelectWidth:Zi,dropdownStyle:ql,displayValues:ys,onDisplayValuesChange:ml,mode:Ao?"multiple":void 0,searchValue:oa,onSearch:rs,showSearch:za,OptionList:Xn,emptyOptions:sl,open:ta,dropdownClassName:Qo,placement:Ba,onDropdownVisibleChange:Ii,getRawInputElement:function(){return ui}})))});_t.SHOW_PARENT=Ze,_t.SHOW_CHILD=Ve;var Jt=_t,wt=Jt,ut=Oe(64002),ot=Oe(62892),Pt=Oe(53487),Ht=Oe(19080),Mt=Oe(36355),hn=Oe(93891),rr=Oe(1684),Jn=Oe(19716),An=Oe(32441),$n=Oe(14154),xr=Oe(58582),mr=Oe(84443),Qr=Oe(66339),di=Oe(33234),li=Oe(98447),Ai=Oe(17313),fo=Oe(74207),Io=Oe(83116);const bo=Fr=>{const{prefixCls:Bi,componentCls:Fi,antCls:Qi}=Fr,ii=`${Fi}-menu-item`,Nt=`
&${ii}-expand ${ii}-expand-icon,
${ii}-loading-icon
`;return[{[Fi]:{width:Fr.controlWidth}},{[`${Fi}-dropdown`]:[(0,li.C2)(`${Bi}-checkbox`,Fr),{[`&${Qi}-select-dropdown`]:{padding:0}},{[Fi]:{"&-checkbox":{top:0,marginInlineEnd:Fr.paddingXS},"&-menus":{display:"flex",flexWrap:"nowrap",alignItems:"flex-start",[`&${Fi}-menu-empty`]:{[`${Fi}-menu`]:{width:"100%",height:"auto",[ii]:{color:Fr.colorTextDisabled}}}},"&-menu":{flexGrow:1,minWidth:Fr.controlItemWidth,height:Fr.dropdownHeight,margin:0,padding:Fr.menuPadding,overflow:"auto",verticalAlign:"top",listStyle:"none","-ms-overflow-style":"-ms-autohiding-scrollbar","&:not(:last-child)":{borderInlineEnd:`${Fr.lineWidth}px ${Fr.lineType} ${Fr.colorSplit}`},"&-item":Object.assign(Object.assign({},Ai.vS),{display:"flex",flexWrap:"nowrap",alignItems:"center",padding:Fr.optionPadding,lineHeight:Fr.lineHeight,cursor:"pointer",transition:`all ${Fr.motionDurationMid}`,borderRadius:Fr.borderRadiusSM,"&:hover":{background:Fr.controlItemBgHover},"&-disabled":{color:Fr.colorTextDisabled,cursor:"not-allowed","&:hover":{background:"transparent"},[Nt]:{color:Fr.colorTextDisabled}},[`&-active:not(${ii}-disabled)`]:{"&, &:hover":{fontWeight:Fr.optionSelectedFontWeight,backgroundColor:Fr.optionSelectedBg}},"&-content":{flex:"auto"},[Nt]:{marginInlineStart:Fr.paddingXXS,color:Fr.colorTextDescription,fontSize:Fr.fontSizeIcon},"&-keyword":{color:Fr.colorHighlight}})}}}]},{[`${Fi}-dropdown-rtl`]:{direction:"rtl"}},(0,fo.c)(Fr)]};var ai=(0,Io.Z)("Cascader",Fr=>[bo(Fr)],Fr=>{const Bi=Math.round((Fr.controlHeight-Fr.fontSize*Fr.lineHeight)/2);return{controlWidth:184,controlItemWidth:111,dropdownHeight:180,optionSelectedBg:Fr.controlItemBgActive,optionSelectedFontWeight:Fr.fontWeightStrong,optionPadding:`${Bi}px ${Fr.paddingSM}px`,menuPadding:Fr.paddingXXS}}),Pi=function(Fr,Bi){var Fi={};for(var Qi in Fr)Object.prototype.hasOwnProperty.call(Fr,Qi)&&Bi.indexOf(Qi)<0&&(Fi[Qi]=Fr[Qi]);if(Fr!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ii=0,Qi=Object.getOwnPropertySymbols(Fr);ii<Qi.length;ii++)Bi.indexOf(Qi[ii])<0&&Object.prototype.propertyIsEnumerable.call(Fr,Qi[ii])&&(Fi[Qi[ii]]=Fr[Qi[ii]]);return Fi};const{SHOW_CHILD:ao,SHOW_PARENT:Jr}=wt;function oo(Fr,Bi,Fi){const Qi=Fr.toLowerCase().split(Bi).reduce((De,He,Re)=>Re===0?[He]:[].concat((0,Ge.Z)(De),[Bi,He]),[]),ii=[];let Nt=0;return Qi.forEach((De,He)=>{const Re=Nt+De.length;let et=Fr.slice(Nt,Re);Nt=Re,He%2===1&&(et=tt.createElement("span",{className:`${Fi}-menu-item-keyword`,key:`separator-${He}`},et)),ii.push(et)}),ii}const zi=(Fr,Bi,Fi,Qi)=>{const ii=[],Nt=Fr.toLowerCase();return Bi.forEach((De,He)=>{He!==0&&ii.push(" / ");let Re=De[Qi.label];const et=typeof Re;(et==="string"||et==="number")&&(Re=oo(String(Re),Nt,Fi)),ii.push(Re)}),ii},It=tt.forwardRef((Fr,Bi)=>{const{prefixCls:Fi,size:Qi,disabled:ii,className:Nt,rootClassName:De,multiple:He,bordered:Re=!0,transitionName:et,choiceTransitionName:ft="",popupClassName:Bt,dropdownClassName:Ct,expandIcon:rn,placement:nn,showSearch:Gn,allowClear:Sn=!0,notFoundContent:cn,direction:Yn,getPopupContainer:ir,status:fr,showArrow:On,builtinPlacements:dn,style:Bn}=Fr,tr=Pi(Fr,["prefixCls","size","disabled","className","rootClassName","multiple","bordered","transitionName","choiceTransitionName","popupClassName","dropdownClassName","expandIcon","placement","showSearch","allowClear","notFoundContent","direction","getPopupContainer","status","showArrow","builtinPlacements","style"]),hr=(0,ut.Z)(tr,["suffixIcon"]),{getPopupContainer:pr,getPrefixCls:Mr,renderEmpty:gr,direction:Nr,popupOverflow:Kr,cascader:Hn}=tt.useContext(Mt.E_),br=Yn||Nr,ui=br==="rtl",{status:gi,hasFeedback:Zi,isFormItemInput:nr,feedbackIcon:xi}=tt.useContext(An.aM),Vi=(0,Ht.F)(gi,fr),Gi=cn||(gr==null?void 0:gr("Cascader"))||tt.createElement(hn.Z,{componentName:"Cascader"}),Ao=Mr(),io=Mr("select",Fi),Do=Mr("cascader",Fi),[Bo,Ui]=(0,$n.Z)(io),[Xo]=ai(Do),{compactSize:Hr,compactItemClassnames:wa}=(0,di.ri)(io,Yn),Zr=we()(Bt||Ct,`${Do}-dropdown`,{[`${Do}-dropdown-rtl`]:br==="rtl"},De,Ui),Ca=tt.useMemo(()=>{if(!Gn)return Gn;let ma={render:zi};return typeof Gn=="object"&&(ma=Object.assign(Object.assign({},ma),Gn)),ma},[Gn]),ss=(0,Jn.Z)(ma=>{var aa;return(aa=Qi!=null?Qi:Hr)!==null&&aa!==void 0?aa:ma}),oa=tt.useContext(rr.Z),Os=ii!=null?ii:oa;let rs=rn;rn||(rs=ui?tt.createElement(Ue.Z,null):tt.createElement(Ke.Z,null));const po=tt.createElement("span",{className:`${io}-menu-item-loading-icon`},tt.createElement(Ne.Z,{spin:!0})),zo=tt.useMemo(()=>He?tt.createElement("span",{className:`${Do}-checkbox-inner`}):!1,[He]),za=(0,mr.Z)(Fr.suffixIcon,On),{suffixIcon:Ka,removeIcon:Ji,clearIcon:yn}=(0,Qr.Z)(Object.assign(Object.assign({},Fr),{hasFeedback:Zi,feedbackIcon:xi,showSuffixIcon:za,multiple:He,prefixCls:io,componentName:"Cascader"})),ja=tt.useMemo(()=>nn!==void 0?nn:ui?"bottomRight":"bottomLeft",[nn,ui]),is=(0,xr.Z)(dn,Kr),_a=Sn===!0?{clearIcon:yn}:Sn,Us=tt.createElement(wt,Object.assign({prefixCls:io,className:we()(!Fi&&Do,{[`${io}-lg`]:ss==="large",[`${io}-sm`]:ss==="small",[`${io}-rtl`]:ui,[`${io}-borderless`]:!Re,[`${io}-in-form-item`]:nr},(0,Ht.Z)(io,Vi,Zi),wa,Hn==null?void 0:Hn.className,Nt,De,Ui),disabled:Os,style:Object.assign(Object.assign({},Hn==null?void 0:Hn.style),Bn)},hr,{builtinPlacements:is,direction:br,placement:ja,notFoundContent:Gi,allowClear:_a,showSearch:Ca,expandIcon:rs,suffixIcon:Ka,removeIcon:Ji,loadingIcon:po,checkable:zo,dropdownClassName:Zr,dropdownPrefixCls:Fi||Do,choiceTransitionName:(0,ot.m)(Ao,"",ft),transitionName:(0,ot.m)(Ao,"slide-up",et),getPopupContainer:ir||pr,ref:Bi}));return Xo(Bo(Us))}),Yo=(0,Pt.Z)(It);It.SHOW_PARENT=Jr,It.SHOW_CHILD=ao,It._InternalPanelDoNotUseOrYouWillBeFired=Yo;var ko=It},24905:function(en,tn,Oe){"use strict";Oe.d(tn,{default:function(){return Le}});var Ge=Oe(92310),tt=Oe.n(Ge),Ue=Oe(5630),Ne=Oe(59301),Ke=Oe(36355),Be=Oe(1684),we=Oe(32441),ke=Ne.createContext(null),Ie=Oe(98447),Ce=Oe(14088),Me=Oe(4572),je=function(ze,Ze){var Ve={};for(var Qe in ze)Object.prototype.hasOwnProperty.call(ze,Qe)&&Ze.indexOf(Qe)<0&&(Ve[Qe]=ze[Qe]);if(ze!=null&&typeof Object.getOwnPropertySymbols=="function")for(var $e=0,Qe=Object.getOwnPropertySymbols(ze);$e<Qe.length;$e++)Ze.indexOf(Qe[$e])<0&&Object.prototype.propertyIsEnumerable.call(ze,Qe[$e])&&(Ve[Qe[$e]]=ze[Qe[$e]]);return Ve};const ye=(ze,Ze)=>{var Ve;const{prefixCls:Qe,className:$e,rootClassName:gt,children:lt,indeterminate:At=!1,style:Et,onMouseEnter:vt,onMouseLeave:Lt,skipGroup:St=!1,disabled:xt}=ze,ct=je(ze,["prefixCls","className","rootClassName","children","indeterminate","style","onMouseEnter","onMouseLeave","skipGroup","disabled"]),{getPrefixCls:Dt,direction:Xt,checkbox:kt}=Ne.useContext(Ke.E_),Rt=Ne.useContext(ke),{isFormItemInput:Gt}=Ne.useContext(we.aM),ln=Ne.useContext(Be.Z),Rn=(Ve=(Rt==null?void 0:Rt.disabled)||xt)!==null&&Ve!==void 0?Ve:ln,jn=Ne.useRef(ct.value);Ne.useEffect(()=>{Rt==null||Rt.registerValue(ct.value)},[]),Ne.useEffect(()=>{if(!St)return ct.value!==jn.current&&(Rt==null||Rt.cancelValue(jn.current),Rt==null||Rt.registerValue(ct.value),jn.current=ct.value),()=>Rt==null?void 0:Rt.cancelValue(ct.value)},[ct.value]);const er=Dt("checkbox",Qe),[an,Un]=(0,Ie.ZP)(er),Kn=Object.assign({},ct);Rt&&!St&&(Kn.onChange=function(){ct.onChange&&ct.onChange.apply(ct,arguments),Rt.toggleOption&&Rt.toggleOption({label:lt,value:ct.value})},Kn.name=Rt.name,Kn.checked=Rt.value.includes(ct.value));const ur=tt()(`${er}-wrapper`,{[`${er}-rtl`]:Xt==="rtl",[`${er}-wrapper-checked`]:Kn.checked,[`${er}-wrapper-disabled`]:Rn,[`${er}-wrapper-in-form-item`]:Gt},kt==null?void 0:kt.className,$e,gt,Un),Xn=tt()({[`${er}-indeterminate`]:At},Me.A,Un),Nn=At?"mixed":void 0;return an(Ne.createElement(Ce.Z,{component:"Checkbox",disabled:Rn},Ne.createElement("label",{className:ur,style:Object.assign(Object.assign({},kt==null?void 0:kt.style),Et),onMouseEnter:vt,onMouseLeave:Lt},Ne.createElement(Ue.Z,Object.assign({"aria-checked":Nn},Kn,{prefixCls:er,className:Xn,disabled:Rn,ref:Ze})),lt!==void 0&&Ne.createElement("span",null,lt))))};var ae=Ne.forwardRef(ye),fe=Oe(26390),de=Oe(64002),ve=function(ze,Ze){var Ve={};for(var Qe in ze)Object.prototype.hasOwnProperty.call(ze,Qe)&&Ze.indexOf(Qe)<0&&(Ve[Qe]=ze[Qe]);if(ze!=null&&typeof Object.getOwnPropertySymbols=="function")for(var $e=0,Qe=Object.getOwnPropertySymbols(ze);$e<Qe.length;$e++)Ze.indexOf(Qe[$e])<0&&Object.prototype.propertyIsEnumerable.call(ze,Qe[$e])&&(Ve[Qe[$e]]=ze[Qe[$e]]);return Ve};const xe=(ze,Ze)=>{const{defaultValue:Ve,children:Qe,options:$e=[],prefixCls:gt,className:lt,rootClassName:At,style:Et,onChange:vt}=ze,Lt=ve(ze,["defaultValue","children","options","prefixCls","className","rootClassName","style","onChange"]),{getPrefixCls:St,direction:xt}=Ne.useContext(Ke.E_),[ct,Dt]=Ne.useState(Lt.value||Ve||[]),[Xt,kt]=Ne.useState([]);Ne.useEffect(()=>{"value"in Lt&&Dt(Lt.value||[])},[Lt.value]);const Rt=Ne.useMemo(()=>$e.map(_n=>typeof _n=="string"||typeof _n=="number"?{label:_n,value:_n}:_n),[$e]),Gt=_n=>{kt(un=>un.filter(qt=>qt!==_n))},ln=_n=>{kt(un=>[].concat((0,fe.Z)(un),[_n]))},Rn=_n=>{const un=ct.indexOf(_n.value),qt=(0,fe.Z)(ct);un===-1?qt.push(_n.value):qt.splice(un,1),"value"in Lt||Dt(qt),vt==null||vt(qt.filter(Yt=>Xt.includes(Yt)).sort((Yt,gn)=>{const _t=Rt.findIndex(wt=>wt.value===Yt),Jt=Rt.findIndex(wt=>wt.value===gn);return _t-Jt}))},jn=St("checkbox",gt),er=`${jn}-group`,[an,Un]=(0,Ie.ZP)(jn),Kn=(0,de.Z)(Lt,["value","disabled"]),ur=$e.length?Rt.map(_n=>Ne.createElement(ae,{prefixCls:jn,key:_n.value.toString(),disabled:"disabled"in _n?_n.disabled:Lt.disabled,value:_n.value,checked:ct.includes(_n.value),onChange:_n.onChange,className:`${er}-item`,style:_n.style,title:_n.title},_n.label)):Qe,Xn={toggleOption:Rn,value:ct,disabled:Lt.disabled,name:Lt.name,registerValue:ln,cancelValue:Gt},Nn=tt()(er,{[`${er}-rtl`]:xt==="rtl"},lt,At,Un);return an(Ne.createElement("div",Object.assign({className:Nn,style:Et},Kn,{ref:Ze}),Ne.createElement(ke.Provider,{value:Xn},ur)))},ce=Ne.forwardRef(xe);var pe=Ne.memo(ce);const Se=ae;Se.Group=pe,Se.__ANT_CHECKBOX=!0;var Le=Se},98447:function(en,tn,Oe){"use strict";Oe.d(tn,{C2:function(){return Ke}});var Ge=Oe(17313),tt=Oe(37613),Ue=Oe(83116);const Ne=Be=>{const{checkboxCls:we}=Be,Te=`${we}-wrapper`;return[{[`${we}-group`]:Object.assign(Object.assign({},(0,Ge.Wf)(Be)),{display:"inline-flex",flexWrap:"wrap",columnGap:Be.marginXS,[`> ${Be.antCls}-row`]:{flex:1}}),[Te]:Object.assign(Object.assign({},(0,Ge.Wf)(Be)),{display:"inline-flex",alignItems:"baseline",cursor:"pointer","&:after":{display:"inline-block",width:0,overflow:"hidden",content:"'\\a0'"},[`& + ${Te}`]:{marginInlineStart:0},[`&${Te}-in-form-item`]:{'input[type="checkbox"]':{width:14,height:14}}}),[we]:Object.assign(Object.assign({},(0,Ge.Wf)(Be)),{position:"relative",whiteSpace:"nowrap",lineHeight:1,cursor:"pointer",borderRadius:Be.borderRadiusSM,alignSelf:"center",[`${we}-input`]:{position:"absolute",inset:0,zIndex:1,cursor:"pointer",opacity:0,margin:0,[`&:focus-visible + ${we}-inner`]:Object.assign({},(0,Ge.oN)(Be))},[`${we}-inner`]:{boxSizing:"border-box",position:"relative",top:0,insetInlineStart:0,display:"block",width:Be.checkboxSize,height:Be.checkboxSize,direction:"ltr",backgroundColor:Be.colorBgContainer,border:`${Be.lineWidth}px ${Be.lineType} ${Be.colorBorder}`,borderRadius:Be.borderRadiusSM,borderCollapse:"separate",transition:`all ${Be.motionDurationSlow}`,"&:after":{boxSizing:"border-box",position:"absolute",top:"50%",insetInlineStart:"21.5%",display:"table",width:Be.checkboxSize/14*5,height:Be.checkboxSize/14*8,border:`${Be.lineWidthBold}px solid ${Be.colorWhite}`,borderTop:0,borderInlineStart:0,transform:"rotate(45deg) scale(0) translate(-50%,-50%)",opacity:0,content:'""',transition:`all ${Be.motionDurationFast} ${Be.motionEaseInBack}, opacity ${Be.motionDurationFast}`}},"& + span":{paddingInlineStart:Be.paddingXS,paddingInlineEnd:Be.paddingXS}})},{[`
${Te}:not(${Te}-disabled),
${we}:not(${we}-disabled)
`]:{[`&:hover ${we}-inner`]:{borderColor:Be.colorPrimary}},[`${Te}:not(${Te}-disabled)`]:{[`&:hover ${we}-checked:not(${we}-disabled) ${we}-inner`]:{backgroundColor:Be.colorPrimaryHover,borderColor:"transparent"},[`&:hover ${we}-checked:not(${we}-disabled):after`]:{borderColor:Be.colorPrimaryHover}}},{[`${we}-checked`]:{[`${we}-inner`]:{backgroundColor:Be.colorPrimary,borderColor:Be.colorPrimary,"&:after":{opacity:1,transform:"rotate(45deg) scale(1) translate(-50%,-50%)",transition:`all ${Be.motionDurationMid} ${Be.motionEaseOutBack} ${Be.motionDurationFast}`}}},[`
${Te}-checked:not(${Te}-disabled),
${we}-checked:not(${we}-disabled)
`]:{[`&:hover ${we}-inner`]:{backgroundColor:Be.colorPrimaryHover,borderColor:"transparent"}}},{[we]:{"&-indeterminate":{[`${we}-inner`]:{backgroundColor:Be.colorBgContainer,borderColor:Be.colorBorder,"&:after":{top:"50%",insetInlineStart:"50%",width:Be.fontSizeLG/2,height:Be.fontSizeLG/2,backgroundColor:Be.colorPrimary,border:0,transform:"translate(-50%, -50%) scale(1)",opacity:1,content:'""'}}}}},{[`${Te}-disabled`]:{cursor:"not-allowed"},[`${we}-disabled`]:{[`&, ${we}-input`]:{cursor:"not-allowed",pointerEvents:"none"},[`${we}-inner`]:{background:Be.colorBgContainerDisabled,borderColor:Be.colorBorder,"&:after":{borderColor:Be.colorTextDisabled}},"&:after":{display:"none"},"& + span":{color:Be.colorTextDisabled},[`&${we}-indeterminate ${we}-inner::after`]:{background:Be.colorTextDisabled}}}]};function Ke(Be,we){const Te=(0,tt.TS)(we,{checkboxCls:`.${Be}`,checkboxSize:we.controlInteractiveSize});return[Ne(Te)]}tn.ZP=(0,Ue.Z)("Checkbox",(Be,we)=>{let{prefixCls:Te}=we;return[Ke(Te,Be)]})},93891:function(en,tn,Oe){"use strict";var Ge=Oe(59301),tt=Oe(36355),Ue=Oe(64165);const Ne=Ke=>{const{componentName:Be}=Ke,{getPrefixCls:we}=(0,Ge.useContext)(tt.E_),Te=we("empty");switch(Be){case"Table":case"List":return Ge.createElement(Ue.Z,{image:Ue.Z.PRESENTED_IMAGE_SIMPLE});case"Select":case"TreeSelect":case"Cascader":case"Transfer":case"Mentions":return Ge.createElement(Ue.Z,{image:Ue.Z.PRESENTED_IMAGE_SIMPLE,className:`${Te}-small`});default:return Ge.createElement(Ue.Z,null)}};tn.Z=Ne},78550:function(en,tn,Oe){"use strict";Oe.d(tn,{default:function(){return cc}});var Ge=Oe(61186),tt=Oe.n(Ge),Ue=Oe(51395),Ne=Oe(90111),Ke=Oe.n(Ne),Be=Oe(58319),we=Oe.n(Be),Te=Oe(23250),ke=Oe.n(Te),Ie=Oe(74959),Ce=Oe.n(Ie),Me=Oe(10238),je=Oe.n(Me),ye=Oe(33656),ie=Oe.n(ye);tt().extend(ie()),tt().extend(je()),tt().extend(Ke()),tt().extend(we()),tt().extend(ke()),tt().extend(Ce()),tt().extend(function(on,En){var Dn=En.prototype,Ar=Dn.format;Dn.format=function(Xr){var ei=(Xr||"").replace("Wo","wo");return Ar.bind(this)(ei)}});var ae={bn_BD:"bn-bd",by_BY:"be",en_GB:"en-gb",en_US:"en",fr_BE:"fr",fr_CA:"fr-ca",hy_AM:"hy-am",kmr_IQ:"ku",nl_BE:"nl-be",pt_BR:"pt-br",zh_CN:"zh-cn",zh_HK:"zh-hk",zh_TW:"zh-tw"},fe=function(En){var Dn=ae[En];return Dn||En.split("_")[0]},de=function(){(0,Ue.ET)(!1,"Not match any format. Please help to fire a issue about this.")},ve={getNow:function(){return tt()()},getFixedDate:function(En){return tt()(En,["YYYY-M-DD","YYYY-MM-DD"])},getEndDate:function(En){return En.endOf("month")},getWeekDay:function(En){var Dn=En.locale("en");return Dn.weekday()+Dn.localeData().firstDayOfWeek()},getYear:function(En){return En.year()},getMonth:function(En){return En.month()},getDate:function(En){return En.date()},getHour:function(En){return En.hour()},getMinute:function(En){return En.minute()},getSecond:function(En){return En.second()},addYear:function(En,Dn){return En.add(Dn,"year")},addMonth:function(En,Dn){return En.add(Dn,"month")},addDate:function(En,Dn){return En.add(Dn,"day")},setYear:function(En,Dn){return En.year(Dn)},setMonth:function(En,Dn){return En.month(Dn)},setDate:function(En,Dn){return En.date(Dn)},setHour:function(En,Dn){return En.hour(Dn)},setMinute:function(En,Dn){return En.minute(Dn)},setSecond:function(En,Dn){return En.second(Dn)},isAfter:function(En,Dn){return En.isAfter(Dn)},isValidate:function(En){return En.isValid()},locale:{getWeekFirstDay:function(En){return tt()().locale(fe(En)).localeData().firstDayOfWeek()},getWeekFirstDate:function(En,Dn){return Dn.locale(fe(En)).weekday(0)},getWeek:function(En,Dn){return Dn.locale(fe(En)).week()},getShortWeekDays:function(En){return tt()().locale(fe(En)).localeData().weekdaysMin()},getShortMonths:function(En){return tt()().locale(fe(En)).localeData().monthsShort()},format:function(En,Dn,Ar){return Dn.locale(fe(En)).format(Ar)},parse:function(En,Dn,Ar){for(var Pr=fe(En),Xr=0;Xr<Ar.length;Xr+=1){var ei=Ar[Xr],mi=Dn;if(ei.includes("wo")||ei.includes("Wo")){for(var Ci=mi.split("-")[0],Wi=mi.split("-")[1],Gr=tt()(Ci,"YYYY").startOf("year").locale(Pr),_i=0;_i<=52;_i+=1){var xo=Gr.add(_i,"week");if(xo.format("Wo")===Wi)return xo}return de(),null}var ki=tt()(mi,ei,!0).locale(Pr);if(ki.isValid())return ki}return Dn&&de(),null}}},xe=ve,ce=Oe(53487),pe=Oe(5891),Se=Oe(59301),Le={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z"}}]},name:"calendar",theme:"outlined"},ze=Le,Ze=Oe(88853),Ve=function(En,Dn){return Se.createElement(Ze.Z,(0,pe.Z)({},En,{ref:Dn,icon:ze}))},Qe=Se.forwardRef(Ve),$e=Qe,gt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"}}]},name:"clock-circle",theme:"outlined"},lt=gt,At=function(En,Dn){return Se.createElement(Ze.Z,(0,pe.Z)({},En,{ref:Dn,icon:lt}))},Et=Se.forwardRef(At),vt=Et,Lt=Oe(33130),St={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z"}}]},name:"swap-right",theme:"outlined"},xt=St,ct=function(En,Dn){return Se.createElement(Ze.Z,(0,pe.Z)({},En,{ref:Dn,icon:xt}))},Dt=Se.forwardRef(ct),Xt=Dt,kt=Oe(92310),Rt=Oe.n(kt),Gt=Oe(79545),ln=Oe(68550),Rn=Oe(21882),jn=Oe(17928),er=Oe(7711),an=Oe(80962),Un=Oe(57259),Kn=Oe(29043),ur=Oe(35788),Xn=Oe(36994),Nn=Oe(79722),_n=Oe(51346),un=10,qt=un*10,Yt=7;function gn(on,En){if(!on&&!En)return!0;if(!on||!En)return!1}function _t(on,En,Dn){var Ar=gn(En,Dn);if(typeof Ar=="boolean")return Ar;var Pr=Math.floor(on.getYear(En)/10),Xr=Math.floor(on.getYear(Dn)/10);return Pr===Xr}function Jt(on,En,Dn){var Ar=gn(En,Dn);return typeof Ar=="boolean"?Ar:on.getYear(En)===on.getYear(Dn)}function wt(on,En){var Dn=Math.floor(on.getMonth(En)/3);return Dn+1}function ut(on,En,Dn){var Ar=gn(En,Dn);return typeof Ar=="boolean"?Ar:Jt(on,En,Dn)&&wt(on,En)===wt(on,Dn)}function ot(on,En,Dn){var Ar=gn(En,Dn);return typeof Ar=="boolean"?Ar:Jt(on,En,Dn)&&on.getMonth(En)===on.getMonth(Dn)}function Pt(on,En,Dn){var Ar=gn(En,Dn);return typeof Ar=="boolean"?Ar:on.getYear(En)===on.getYear(Dn)&&on.getMonth(En)===on.getMonth(Dn)&&on.getDate(En)===on.getDate(Dn)}function Ht(on,En,Dn){var Ar=gn(En,Dn);return typeof Ar=="boolean"?Ar:on.getHour(En)===on.getHour(Dn)&&on.getMinute(En)===on.getMinute(Dn)&&on.getSecond(En)===on.getSecond(Dn)}function Mt(on,En,Dn,Ar){var Pr=gn(Dn,Ar);return typeof Pr=="boolean"?Pr:Jt(on,Dn,Ar)&&on.locale.getWeek(En,Dn)===on.locale.getWeek(En,Ar)}function hn(on,En,Dn){return Pt(on,En,Dn)&&Ht(on,En,Dn)}function rr(on,En,Dn,Ar){return!En||!Dn||!Ar?!1:!Pt(on,En,Ar)&&!Pt(on,Dn,Ar)&&on.isAfter(Ar,En)&&on.isAfter(Dn,Ar)}function Jn(on,En,Dn){var Ar=En.locale.getWeekFirstDay(on),Pr=En.setDate(Dn,1),Xr=En.getWeekDay(Pr),ei=En.addDate(Pr,Ar-Xr);return En.getMonth(ei)===En.getMonth(Dn)&&En.getDate(ei)>1&&(ei=En.addDate(ei,-7)),ei}function An(on,En,Dn){var Ar=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1;switch(En){case"year":return Dn.addYear(on,Ar*10);case"quarter":case"month":return Dn.addYear(on,Ar);default:return Dn.addMonth(on,Ar)}}function $n(on,En){var Dn=En.generateConfig,Ar=En.locale,Pr=En.format;return typeof Pr=="function"?Pr(on):Dn.locale.format(Ar.locale,on,Pr)}function xr(on,En){var Dn=En.generateConfig,Ar=En.locale,Pr=En.formatList;return!on||typeof Pr[0]=="function"?null:Dn.locale.parse(Ar.locale,on,Pr)}function mr(on){var En=on.cellDate,Dn=on.mode,Ar=on.disabledDate,Pr=on.generateConfig;if(!Ar)return!1;var Xr=function(Ko,Ei,so){for(var Vo=Ei;Vo<=so;){var ba=void 0;switch(Ko){case"date":{if(ba=Pr.setDate(En,Vo),!Ar(ba))return!1;break}case"month":{if(ba=Pr.setMonth(En,Vo),!mr({cellDate:ba,mode:"month",generateConfig:Pr,disabledDate:Ar}))return!1;break}case"year":{if(ba=Pr.setYear(En,Vo),!mr({cellDate:ba,mode:"year",generateConfig:Pr,disabledDate:Ar}))return!1;break}}Vo+=1}return!0};switch(Dn){case"date":case"week":return Ar(En);case"month":{var ei=1,mi=Pr.getDate(Pr.getEndDate(En));return Xr("date",ei,mi)}case"quarter":{var Ci=Math.floor(Pr.getMonth(En)/3)*3,Wi=Ci+2;return Xr("month",Ci,Wi)}case"year":return Xr("month",0,11);case"decade":{var Gr=Pr.getYear(En),_i=Math.floor(Gr/un)*un,xo=_i+un-1;return Xr("year",_i,xo)}}}function Qr(on,En){var Dn=En.formatList,Ar=En.generateConfig,Pr=En.locale;return(0,Nn.Z)(function(){if(!on)return[[""],""];for(var Xr="",ei=[],mi=0;mi<Dn.length;mi+=1){var Ci=Dn[mi],Wi=$n(on,{generateConfig:Ar,locale:Pr,format:Ci});ei.push(Wi),mi===0&&(Xr=Wi)}return[ei,Xr]},[on,Dn,Pr],function(Xr,ei){return!hn(Ar,Xr[0],ei[0])||!(0,_n.Z)(Xr[1],ei[1],!0)||!(0,_n.Z)(Xr[2],ei[2],!0)})}function di(on,En){var Dn=En.formatList,Ar=En.generateConfig,Pr=En.locale,Xr=(0,Se.useState)(null),ei=(0,Kn.Z)(Xr,2),mi=ei[0],Ci=ei[1],Wi=(0,Se.useRef)(null);function Gr(so){var Vo=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(cancelAnimationFrame(Wi.current),Vo){Ci(so);return}Wi.current=requestAnimationFrame(function(){Ci(so)})}var _i=Qr(mi,{formatList:Dn,generateConfig:Ar,locale:Pr}),xo=(0,Kn.Z)(_i,2),ki=xo[1];function Ko(so){Gr(so)}function Ei(){var so=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;Gr(null,so)}return(0,Se.useEffect)(function(){Ei(!0)},[on]),(0,Se.useEffect)(function(){return function(){return cancelAnimationFrame(Wi.current)}},[]),[ki,Ko,Ei]}var li=Oe(85108),Ai=Oe(23073),fo=Oe(26390),Io=Oe(48886),bo=new Map;function ai(on,En){var Dn;function Ar(){(0,Io.Z)(on)?En():Dn=(0,Ai.Z)(function(){Ar()})}return Ar(),function(){Ai.Z.cancel(Dn)}}function Pi(on,En,Dn){if(bo.get(on)&&cancelAnimationFrame(bo.get(on)),Dn<=0){bo.set(on,requestAnimationFrame(function(){on.scrollTop=En}));return}var Ar=En-on.scrollTop,Pr=Ar/Dn*10;bo.set(on,requestAnimationFrame(function(){on.scrollTop+=Pr,on.scrollTop!==En&&Pi(on,En,Dn-10)}))}function ao(on,En){var Dn=En.onLeftRight,Ar=En.onCtrlLeftRight,Pr=En.onUpDown,Xr=En.onPageUpDown,ei=En.onEnter,mi=on.which,Ci=on.ctrlKey,Wi=on.metaKey;switch(mi){case li.Z.LEFT:if(Ci||Wi){if(Ar)return Ar(-1),!0}else if(Dn)return Dn(-1),!0;break;case li.Z.RIGHT:if(Ci||Wi){if(Ar)return Ar(1),!0}else if(Dn)return Dn(1),!0;break;case li.Z.UP:if(Pr)return Pr(-1),!0;break;case li.Z.DOWN:if(Pr)return Pr(1),!0;break;case li.Z.PAGE_UP:if(Xr)return Xr(-1),!0;break;case li.Z.PAGE_DOWN:if(Xr)return Xr(1),!0;break;case li.Z.ENTER:if(ei)return ei(),!0;break}return!1}function Jr(on,En,Dn,Ar){var Pr=on;if(!Pr)switch(En){case"time":Pr=Ar?"hh:mm:ss a":"HH:mm:ss";break;case"week":Pr="gggg-wo";break;case"month":Pr="YYYY-MM";break;case"quarter":Pr="YYYY-[Q]Q";break;case"year":Pr="YYYY";break;default:Pr=Dn?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD"}return Pr}function oo(on,En,Dn){var Ar=on==="time"?8:10,Pr=typeof En=="function"?En(Dn.getNow()).length:En.length;return Math.max(Ar,Pr)+2}var zi=null,It=new Set;function Yo(on){return!zi&&typeof window!="undefined"&&window.addEventListener&&(zi=function(Dn){(0,fo.Z)(It).forEach(function(Ar){Ar(Dn)})},window.addEventListener("mousedown",zi)),It.add(on),function(){It.delete(on),It.size===0&&(window.removeEventListener("mousedown",zi),zi=null)}}function ko(on){var En=on.target;if(on.composed&&En.shadowRoot){var Dn;return((Dn=on.composedPath)===null||Dn===void 0?void 0:Dn.call(on)[0])||En}return En}var Fr=function(En){return En==="month"||En==="date"?"year":En},Bi=function(En){return En==="date"?"month":En},Fi=function(En){return En==="month"||En==="date"?"quarter":En},Qi=function(En){return En==="date"?"week":En},ii={year:Fr,month:Bi,quarter:Fi,week:Qi,time:null,date:null};function Nt(on,En){return on.some(function(Dn){return Dn&&Dn.contains(En)})}function De(on){var En=on.open,Dn=on.value,Ar=on.isClickOutside,Pr=on.triggerOpen,Xr=on.forwardKeyDown,ei=on.onKeyDown,mi=on.blurToCancel,Ci=on.onSubmit,Wi=on.onCancel,Gr=on.onFocus,_i=on.onBlur,xo=on.changeOnBlur,ki=(0,Se.useState)(!1),Ko=(0,Kn.Z)(ki,2),Ei=Ko[0],so=Ko[1],Vo=(0,Se.useState)(!1),ba=(0,Kn.Z)(Vo,2),ka=ba[0],Pa=ba[1],Za=(0,Se.useRef)(!1),Ga=(0,Se.useRef)(!1),Fo=(0,Se.useRef)(!1),rl={onMouseDown:function(){so(!0),Pr(!0)},onKeyDown:function(fs){var _l=function(){Fo.current=!0};if(ei(fs,_l),!Fo.current){switch(fs.which){case li.Z.ENTER:{En?Ci()!==!1&&so(!0):Pr(!0),fs.preventDefault();return}case li.Z.TAB:{Ei&&En&&!fs.shiftKey?(so(!1),fs.preventDefault()):!Ei&&En&&!Xr(fs)&&fs.shiftKey&&(so(!0),fs.preventDefault());return}case li.Z.ESC:{so(!0),Wi();return}}!En&&![li.Z.SHIFT].includes(fs.which)?Pr(!0):Ei||Xr(fs)}},onFocus:function(fs){so(!0),Pa(!0),Gr&&Gr(fs)},onBlur:function(fs){if(Za.current||!Ar(document.activeElement)){Za.current=!1;return}mi?setTimeout(function(){for(var _l=document,zl=_l.activeElement;zl&&zl.shadowRoot;)zl=zl.shadowRoot.activeElement;Ar(zl)&&Wi()},0):En&&(Pr(!1),Ga.current&&Ci()),Pa(!1),_i==null||_i(fs)}};return(0,Se.useEffect)(function(){Ga.current=!1},[En]),(0,Se.useEffect)(function(){Ga.current=!0},[Dn]),(0,Se.useEffect)(function(){return Yo(function(Qs){var fs=ko(Qs),_l=Ar(fs);En&&(_l?!xo&&(!ka||_l)&&Pr(!1):(Za.current=!0,(0,Ai.Z)(function(){Za.current=!1})))})}),[rl,{focused:ka,typing:Ei}]}function He(on,En){return Se.useMemo(function(){return on||(En?((0,Ue.ZP)(!1,"`ranges` is deprecated. Please use `presets` instead."),Object.entries(En).map(function(Dn){var Ar=(0,Kn.Z)(Dn,2),Pr=Ar[0],Xr=Ar[1];return{label:Pr,value:Xr}})):[])},[on,En])}var Re=Oe(28800);function et(on){var En=on.valueTexts,Dn=on.onTextChange,Ar=Se.useState(""),Pr=(0,Kn.Z)(Ar,2),Xr=Pr[0],ei=Pr[1],mi=Se.useRef([]);mi.current=En;function Ci(Gr){ei(Gr),Dn(Gr)}function Wi(){ei(mi.current[0])}return(0,Re.Z)(function(){En.every(function(Gr){return Gr!==Xr})&&Wi()},[En.join("||")]),[Xr,Ci,Wi]}var ft=Se.createContext({}),Bt=ft,Ct=Oe(80665);function rn(on){var En=on.cellRender,Dn=on.monthCellRender,Ar=on.dateRender,Pr=Se.useMemo(function(){if(En)return En;if(!(!Dn&&!Ar))return function(Xr,ei){var mi=Xr;return Ar&&ei.type==="date"?Ar(mi,ei.today):Dn&&ei.type==="month"?Dn(mi,ei.locale):ei.originNode}},[En,Dn,Ar]);return Pr}function nn(on,En){for(var Dn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"0",Ar=String(on);Ar.length<En;)Ar="".concat(Dn).concat(on);return Ar}var Gn=function(){for(var En=arguments.length,Dn=new Array(En),Ar=0;Ar<En;Ar++)Dn[Ar]=arguments[Ar];return Dn};function Sn(on){return on==null?[]:Array.isArray(on)?on:[on]}function cn(on,En){return on?on[En]:null}function Yn(on,En,Dn){var Ar=[cn(on,0),cn(on,1)];return Ar[Dn]=typeof En=="function"?En(Ar[Dn]):En,!Ar[0]&&!Ar[1]?null:Ar}function ir(on){return typeof on=="function"?on():on}function fr(on){var En=on.cellPrefixCls,Dn=on.generateConfig,Ar=on.rangedValue,Pr=on.hoverRangedValue,Xr=on.isInView,ei=on.isSameCell,mi=on.offsetCell,Ci=on.today,Wi=on.value;function Gr(_i){var xo,ki=mi(_i,-1),Ko=mi(_i,1),Ei=cn(Ar,0),so=cn(Ar,1),Vo=cn(Pr,0),ba=cn(Pr,1),ka=rr(Dn,Vo,ba,_i);function Pa(fs){return ei(Ei,fs)}function Za(fs){return ei(so,fs)}var Ga=ei(Vo,_i),Fo=ei(ba,_i),rl=(ka||Fo)&&(!Xr(ki)||Za(ki)),Qs=(ka||Ga)&&(!Xr(Ko)||Pa(Ko));return xo={},(0,an.Z)(xo,"".concat(En,"-in-view"),Xr(_i)),(0,an.Z)(xo,"".concat(En,"-in-range"),rr(Dn,Ei,so,_i)),(0,an.Z)(xo,"".concat(En,"-range-start"),Pa(_i)),(0,an.Z)(xo,"".concat(En,"-range-end"),Za(_i)),(0,an.Z)(xo,"".concat(En,"-range-start-single"),Pa(_i)&&!so),(0,an.Z)(xo,"".concat(En,"-range-end-single"),Za(_i)&&!Ei),(0,an.Z)(xo,"".concat(En,"-range-start-near-hover"),Pa(_i)&&(ei(ki,Vo)||rr(Dn,Vo,ba,ki))),(0,an.Z)(xo,"".concat(En,"-range-end-near-hover"),Za(_i)&&(ei(Ko,ba)||rr(Dn,Vo,ba,Ko))),(0,an.Z)(xo,"".concat(En,"-range-hover"),ka),(0,an.Z)(xo,"".concat(En,"-range-hover-start"),Ga),(0,an.Z)(xo,"".concat(En,"-range-hover-end"),Fo),(0,an.Z)(xo,"".concat(En,"-range-hover-edge-start"),rl),(0,an.Z)(xo,"".concat(En,"-range-hover-edge-end"),Qs),(0,an.Z)(xo,"".concat(En,"-range-hover-edge-start-near-range"),rl&&ei(ki,so)),(0,an.Z)(xo,"".concat(En,"-range-hover-edge-end-near-range"),Qs&&ei(Ko,Ei)),(0,an.Z)(xo,"".concat(En,"-today"),ei(Ci,_i)),(0,an.Z)(xo,"".concat(En,"-selected"),ei(Wi,_i)),xo}return Gr}var On=Se.createContext({}),dn=On;function Bn(on,En,Dn,Ar,Pr){var Xr=on.setHour(En,Dn);return Xr=on.setMinute(Xr,Ar),Xr=on.setSecond(Xr,Pr),Xr}function tr(on,En,Dn){if(!Dn)return En;var Ar=En;return Ar=on.setHour(Ar,on.getHour(Dn)),Ar=on.setMinute(Ar,on.getMinute(Dn)),Ar=on.setSecond(Ar,on.getSecond(Dn)),Ar}function hr(on,En,Dn,Ar,Pr,Xr){var ei=Math.floor(on/Ar)*Ar;if(ei<on)return[ei,60-Pr,60-Xr];var mi=Math.floor(En/Pr)*Pr;if(mi<En)return[ei,mi,60-Xr];var Ci=Math.floor(Dn/Xr)*Xr;return[ei,mi,Ci]}function pr(on,En){var Dn=on.getYear(En),Ar=on.getMonth(En)+1,Pr=on.getEndDate(on.getFixedDate("".concat(Dn,"-").concat(Ar,"-01"))),Xr=on.getDate(Pr),ei=Ar<10?"0".concat(Ar):"".concat(Ar);return"".concat(Dn,"-").concat(ei,"-").concat(Xr)}function Mr(on){for(var En=on.prefixCls,Dn=on.disabledDate,Ar=on.onSelect,Pr=on.picker,Xr=on.rowNum,ei=on.colNum,mi=on.prefixColumn,Ci=on.rowClassName,Wi=on.baseDate,Gr=on.getCellClassName,_i=on.getCellText,xo=on.getCellNode,ki=on.getCellDate,Ko=on.generateConfig,Ei=on.titleCell,so=on.headerCells,Vo=Se.useContext(Bt),ba=Vo.onDateMouseEnter,ka=Vo.onDateMouseLeave,Pa=Vo.mode,Za="".concat(En,"-cell"),Ga=[],Fo=0;Fo<Xr;Fo+=1){for(var rl=[],Qs=void 0,fs=function(){var Rl,mu=Fo*ei+_l,Tl=ki(Wi,mu),ll=mr({cellDate:Tl,mode:Pa,disabledDate:Dn,generateConfig:Ko});_l===0&&(Qs=Tl,mi&&rl.push(mi(Qs)));var jl=Ei&&Ei(Tl),Vl=Se.createElement("div",{className:"".concat(Za,"-inner")},_i(Tl));rl.push(Se.createElement("td",{key:_l,title:jl,className:Rt()(Za,(0,Un.Z)((Rl={},(0,an.Z)(Rl,"".concat(Za,"-disabled"),ll),(0,an.Z)(Rl,"".concat(Za,"-start"),_i(Tl)===1||Pr==="year"&&Number(jl)%10===0),(0,an.Z)(Rl,"".concat(Za,"-end"),jl===pr(Ko,Tl)||Pr==="year"&&Number(jl)%10===9),Rl),Gr(Tl))),onClick:function(){ll||Ar(Tl)},onMouseEnter:function(){!ll&&ba&&ba(Tl)},onMouseLeave:function(){!ll&&ka&&ka(Tl)}},xo?xo(Tl,Vl):Vl))},_l=0;_l<ei;_l+=1)fs();Ga.push(Se.createElement("tr",{key:Fo,className:Ci&&Ci(Qs)},rl))}return Se.createElement("div",{className:"".concat(En,"-body")},Se.createElement("table",{className:"".concat(En,"-content")},so&&Se.createElement("thead",null,Se.createElement("tr",null,so)),Se.createElement("tbody",null,Ga)))}function gr(on){var En=on.prefixCls,Dn=on.generateConfig,Ar=on.prefixColumn,Pr=on.locale,Xr=on.rowCount,ei=on.viewDate,mi=on.value,Ci=on.cellRender,Wi=on.isSameCell,Gr=Se.useContext(dn),_i=Gr.rangedValue,xo=Gr.hoverRangedValue,ki=Jn(Pr.locale,Dn,ei),Ko="".concat(En,"-cell"),Ei=Dn.locale.getWeekFirstDay(Pr.locale),so=Dn.getNow(),Vo=[],ba=Pr.shortWeekDays||(Dn.locale.getShortWeekDays?Dn.locale.getShortWeekDays(Pr.locale):[]);Ar&&Vo.push(Se.createElement("th",{key:"empty","aria-label":"empty cell"}));for(var ka=0;ka<Yt;ka+=1)Vo.push(Se.createElement("th",{key:ka},ba[(ka+Ei)%Yt]));var Pa=fr({cellPrefixCls:Ko,today:so,value:mi,generateConfig:Dn,rangedValue:Ar?null:_i,hoverRangedValue:Ar?null:xo,isSameCell:Wi||function(Ga,Fo){return Pt(Dn,Ga,Fo)},isInView:function(Fo){return ot(Dn,Fo,ei)},offsetCell:function(Fo,rl){return Dn.addDate(Fo,rl)}}),Za=Ci?function(Ga,Fo){return Ci(Ga,{originNode:Fo,today:so,type:"date",locale:Pr})}:void 0;return Se.createElement(Mr,(0,pe.Z)({},on,{rowNum:Xr,colNum:Yt,baseDate:ki,getCellNode:Za,getCellText:Dn.getDate,getCellClassName:Pa,getCellDate:Dn.addDate,titleCell:function(Fo){return $n(Fo,{locale:Pr,format:"YYYY-MM-DD",generateConfig:Dn})},headerCells:Vo}))}var Nr=gr,Kr={visibility:"hidden"};function Hn(on){var En=on.prefixCls,Dn=on.prevIcon,Ar=Dn===void 0?"\u2039":Dn,Pr=on.nextIcon,Xr=Pr===void 0?"\u203A":Pr,ei=on.superPrevIcon,mi=ei===void 0?"\xAB":ei,Ci=on.superNextIcon,Wi=Ci===void 0?"\xBB":Ci,Gr=on.onSuperPrev,_i=on.onSuperNext,xo=on.onPrev,ki=on.onNext,Ko=on.children,Ei=Se.useContext(Bt),so=Ei.hideNextBtn,Vo=Ei.hidePrevBtn;return Se.createElement("div",{className:En},Gr&&Se.createElement("button",{type:"button",onClick:Gr,tabIndex:-1,className:"".concat(En,"-super-prev-btn"),style:Vo?Kr:{}},mi),xo&&Se.createElement("button",{type:"button",onClick:xo,tabIndex:-1,className:"".concat(En,"-prev-btn"),style:Vo?Kr:{}},Ar),Se.createElement("div",{className:"".concat(En,"-view")},Ko),ki&&Se.createElement("button",{type:"button",onClick:ki,tabIndex:-1,className:"".concat(En,"-next-btn"),style:so?Kr:{}},Xr),_i&&Se.createElement("button",{type:"button",onClick:_i,tabIndex:-1,className:"".concat(En,"-super-next-btn"),style:so?Kr:{}},Wi))}var br=Hn;function ui(on){var En=on.prefixCls,Dn=on.generateConfig,Ar=on.locale,Pr=on.viewDate,Xr=on.onNextMonth,ei=on.onPrevMonth,mi=on.onNextYear,Ci=on.onPrevYear,Wi=on.onYearClick,Gr=on.onMonthClick,_i=Se.useContext(Bt),xo=_i.hideHeader;if(xo)return null;var ki="".concat(En,"-header"),Ko=Ar.shortMonths||(Dn.locale.getShortMonths?Dn.locale.getShortMonths(Ar.locale):[]),Ei=Dn.getMonth(Pr),so=Se.createElement("button",{type:"button",key:"year",onClick:Wi,tabIndex:-1,className:"".concat(En,"-year-btn")},$n(Pr,{locale:Ar,format:Ar.yearFormat,generateConfig:Dn})),Vo=Se.createElement("button",{type:"button",key:"month",onClick:Gr,tabIndex:-1,className:"".concat(En,"-month-btn")},Ar.monthFormat?$n(Pr,{locale:Ar,format:Ar.monthFormat,generateConfig:Dn}):Ko[Ei]),ba=Ar.monthBeforeYear?[Vo,so]:[so,Vo];return Se.createElement(br,(0,pe.Z)({},on,{prefixCls:ki,onSuperPrev:Ci,onPrev:ei,onNext:Xr,onSuperNext:mi}),ba)}var gi=ui,Zi=6;function nr(on){var En=on.prefixCls,Dn=on.panelName,Ar=Dn===void 0?"date":Dn,Pr=on.keyboardConfig,Xr=on.active,ei=on.operationRef,mi=on.generateConfig,Ci=on.value,Wi=on.viewDate,Gr=on.onViewDateChange,_i=on.onPanelChange,xo=on.onSelect,ki="".concat(En,"-").concat(Ar,"-panel");ei.current={onKeyDown:function(Vo){return ao(Vo,(0,Un.Z)({onLeftRight:function(ka){xo(mi.addDate(Ci||Wi,ka),"key")},onCtrlLeftRight:function(ka){xo(mi.addYear(Ci||Wi,ka),"key")},onUpDown:function(ka){xo(mi.addDate(Ci||Wi,ka*Yt),"key")},onPageUpDown:function(ka){xo(mi.addMonth(Ci||Wi,ka),"key")}},Pr))}};var Ko=function(Vo){var ba=mi.addYear(Wi,Vo);Gr(ba),_i(null,ba)},Ei=function(Vo){var ba=mi.addMonth(Wi,Vo);Gr(ba),_i(null,ba)};return Se.createElement("div",{className:Rt()(ki,(0,an.Z)({},"".concat(ki,"-active"),Xr))},Se.createElement(gi,(0,pe.Z)({},on,{prefixCls:En,value:Ci,viewDate:Wi,onPrevYear:function(){Ko(-1)},onNextYear:function(){Ko(1)},onPrevMonth:function(){Ei(-1)},onNextMonth:function(){Ei(1)},onMonthClick:function(){_i("month",Wi)},onYearClick:function(){_i("year",Wi)}})),Se.createElement(Nr,(0,pe.Z)({},on,{onSelect:function(Vo){return xo(Vo,"mouse")},prefixCls:En,value:Ci,viewDate:Wi,rowCount:Zi})))}var xi=nr;function Vi(on){var En=Se.useContext(Bt),Dn=En.hideHeader;if(Dn)return null;var Ar=on.prefixCls,Pr=on.generateConfig,Xr=on.locale,ei=on.value,mi=on.format,Ci="".concat(Ar,"-header");return Se.createElement(br,{prefixCls:Ci},ei?$n(ei,{locale:Xr,format:mi,generateConfig:Pr}):"\xA0")}var Gi=Vi;function Ao(on){var En=on.value,Dn=on.generateConfig,Ar=on.disabledMinutes,Pr=on.disabledSeconds,Xr=on.minutes,ei=on.seconds,mi=on.use12Hours,Ci=function(Gr,_i,xo,ki){var Ko=Dn.getNow(),Ei=En||Ko,so=_i<0?Dn.getHour(Ko):_i,Vo=xo<0?Dn.getMinute(Ko):xo,ba=ki<0?Dn.getSecond(Ko):ki,ka=Ar&&Ar(so);if(ka!=null&&ka.includes(Vo)){var Pa=Xr.find(function(Fo){return!ka.includes(Fo.value)});if(Pa)Vo=Pa.value;else return null}var Za=Pr&&Pr(so,Vo);if(Za!=null&&Za.includes(ba)){var Ga=ei.find(function(Fo){return!Za.includes(Fo.value)});if(Ga)ba=Ga.value;else return null}return Ei=Bn(Dn,Ei,!mi||!Gr?so:so+12,Vo,ba),Ei};return Ci}function io(on){var En=on.prefixCls,Dn=on.units,Ar=on.onSelect,Pr=on.value,Xr=on.active,ei=on.hideDisabledOptions,mi=on.info,Ci=on.type,Wi="".concat(En,"-cell"),Gr=Se.useContext(Bt),_i=Gr.open,xo=(0,Se.useRef)(null),ki=(0,Se.useRef)(new Map),Ko=(0,Se.useRef)();return(0,Se.useLayoutEffect)(function(){var Ei=ki.current.get(Pr);Ei&&_i!==!1&&Pi(xo.current,Ei.offsetTop,120)},[Pr]),(0,Se.useLayoutEffect)(function(){if(_i){var Ei=ki.current.get(Pr);Ei&&(Ko.current=ai(Ei,function(){Pi(xo.current,Ei.offsetTop,0)}))}return function(){var so;(so=Ko.current)===null||so===void 0||so.call(Ko)}},[_i]),Se.createElement("ul",{className:Rt()("".concat(En,"-column"),(0,an.Z)({},"".concat(En,"-column-active"),Xr)),ref:xo,style:{position:"relative"}},Dn.map(function(Ei){var so;return ei&&Ei.disabled?null:Se.createElement("li",{key:Ei.value,ref:function(ba){ki.current.set(Ei.value,ba)},className:Rt()(Wi,(so={},(0,an.Z)(so,"".concat(Wi,"-disabled"),Ei.disabled),(0,an.Z)(so,"".concat(Wi,"-selected"),Pr===Ei.value),so)),onClick:function(){Ei.disabled||Ar(Ei.value)}},mi.cellRender?mi.cellRender(Ei.value,{today:mi.today,locale:mi.locale,originNode:Se.createElement("div",{className:"".concat(Wi,"-inner")},Ei.label),type:"time",subType:Ci}):Se.createElement("div",{className:"".concat(Wi,"-inner")},Ei.label))}))}var Do=io;function Bo(on,En){if(on.length!==En.length)return!0;for(var Dn=0;Dn<on.length;Dn+=1)if(on[Dn].disabled!==En[Dn].disabled)return!0;return!1}function Ui(on,En,Dn,Ar){for(var Pr=[],Xr=Dn>=1?Dn|0:1,ei=on;ei<=En;ei+=Xr)Pr.push({label:nn(ei,2),value:ei,disabled:(Ar||[]).includes(ei)});return Pr}function Xo(on){var En=on.generateConfig,Dn=on.prefixCls,Ar=on.operationRef,Pr=on.activeColumnIndex,Xr=on.value,ei=on.showHour,mi=on.showMinute,Ci=on.showSecond,Wi=on.use12Hours,Gr=on.hourStep,_i=Gr===void 0?1:Gr,xo=on.minuteStep,ki=xo===void 0?1:xo,Ko=on.secondStep,Ei=Ko===void 0?1:Ko,so=on.disabledHours,Vo=on.disabledMinutes,ba=on.disabledSeconds,ka=on.disabledTime,Pa=on.hideDisabledOptions,Za=on.onSelect,Ga=on.cellRender,Fo=on.locale,rl=[],Qs="".concat(Dn,"-content"),fs="".concat(Dn,"-time-panel"),_l,zl=Xr?En.getHour(Xr):-1,Rl=zl,mu=Xr?En.getMinute(Xr):-1,Tl=Xr?En.getSecond(Xr):-1,ll=En.getNow(),jl=Se.useMemo(function(){if(ka){var pi=ka(ll);return[pi.disabledHours,pi.disabledMinutes,pi.disabledSeconds]}return[so,Vo,ba]},[so,Vo,ba,ka,ll]),Vl=(0,Kn.Z)(jl,3),yu=Vl[0],Yl=Vl[1],bl=Vl[2],_u=Ui(0,23,_i,yu&&yu()),Hu=(0,Nn.Z)(function(){return _u},_u,Bo);Wi&&(_l=Rl>=12,Rl%=12);var Pn=Se.useMemo(function(){if(!Wi)return[!1,!1];var pi=[!0,!0];return Hu.forEach(function(Di){var vo=Di.disabled,ho=Di.value;vo||(ho>=12?pi[1]=!1:pi[0]=!1)}),pi},[Wi,Hu]),Tn=(0,Kn.Z)(Pn,2),cr=Tn[0],yr=Tn[1],Rr=Se.useMemo(function(){return Wi?Hu.filter(_l?function(pi){return pi.value>=12}:function(pi){return pi.value<12}).map(function(pi){var Di=pi.value%12,vo=Di===0?"12":nn(Di,2);return(0,Un.Z)((0,Un.Z)({},pi),{},{label:vo,value:Di})}):Hu},[Wi,_l,Hu]),Dr=Ui(0,59,ki,Yl&&Yl(zl)),si=Ui(0,59,Ei,bl&&bl(zl,mu)),oi=Ao({value:Xr,generateConfig:En,disabledMinutes:Yl,disabledSeconds:bl,minutes:Dr,seconds:si,use12Hours:Wi});Ar.current={onUpDown:function(Di){var vo=rl[Pr];if(vo)for(var ho=vo.units.findIndex(function(sa){return sa.value===vo.value}),hi=vo.units.length,Go=1;Go<hi;Go+=1){var ro=vo.units[(ho+Di*Go+hi)%hi];if(ro.disabled!==!0){vo.onSelect(ro.value);break}}}};function ti(pi,Di,vo,ho,hi){pi!==!1&&rl.push({node:Se.cloneElement(Di,{prefixCls:fs,value:vo,active:Pr===rl.length,onSelect:hi,units:ho,hideDisabledOptions:Pa}),onSelect:hi,value:vo,units:ho})}ti(ei,Se.createElement(Do,{key:"hour",type:"hour",info:{today:ll,locale:Fo,cellRender:Ga}}),Rl,Rr,function(pi){Za(oi(_l,pi,mu,Tl),"mouse")}),ti(mi,Se.createElement(Do,{key:"minute",type:"minute",info:{today:ll,locale:Fo,cellRender:Ga}}),mu,Dr,function(pi){Za(oi(_l,Rl,pi,Tl),"mouse")}),ti(Ci,Se.createElement(Do,{key:"second",type:"second",info:{today:ll,locale:Fo,cellRender:Ga}}),Tl,si,function(pi){Za(oi(_l,Rl,mu,pi),"mouse")});var Ni=-1;return typeof _l=="boolean"&&(Ni=_l?1:0),ti(Wi===!0,Se.createElement(Do,{key:"meridiem",type:"meridiem",info:{today:ll,locale:Fo,cellRender:Ga}}),Ni,[{label:"AM",value:0,disabled:cr},{label:"PM",value:1,disabled:yr}],function(pi){Za(oi(!!pi,Rl,mu,Tl),"mouse")}),Se.createElement("div",{className:Qs},rl.map(function(pi){var Di=pi.node;return Di}))}var Hr=Xo,wa=function(En){return En.filter(function(Dn){return Dn!==!1}).length};function Zr(on){var En=on.generateConfig,Dn=on.format,Ar=Dn===void 0?"HH:mm:ss":Dn,Pr=on.prefixCls,Xr=on.active,ei=on.operationRef,mi=on.showHour,Ci=on.showMinute,Wi=on.showSecond,Gr=on.use12Hours,_i=Gr===void 0?!1:Gr,xo=on.onSelect,ki=on.value,Ko="".concat(Pr,"-time-panel"),Ei=Se.useRef(),so=Se.useState(-1),Vo=(0,Kn.Z)(so,2),ba=Vo[0],ka=Vo[1],Pa=wa([mi,Ci,Wi,_i]);return ei.current={onKeyDown:function(Ga){return ao(Ga,{onLeftRight:function(rl){ka((ba+rl+Pa)%Pa)},onUpDown:function(rl){ba===-1?ka(0):Ei.current&&Ei.current.onUpDown(rl)},onEnter:function(){xo(ki||En.getNow(),"key"),ka(-1)}})},onBlur:function(){ka(-1)}},Se.createElement("div",{className:Rt()(Ko,(0,an.Z)({},"".concat(Ko,"-active"),Xr))},Se.createElement(Gi,(0,pe.Z)({},on,{format:Ar,prefixCls:Pr})),Se.createElement(Hr,(0,pe.Z)({},on,{prefixCls:Pr,activeColumnIndex:ba,operationRef:Ei})))}var Ca=Zr,ss=Gn("date","time");function oa(on){var En=on.prefixCls,Dn=on.operationRef,Ar=on.generateConfig,Pr=on.value,Xr=on.defaultValue,ei=on.disabledTime,mi=on.showTime,Ci=on.onSelect,Wi=on.cellRender,Gr="".concat(En,"-datetime-panel"),_i=Se.useState(null),xo=(0,Kn.Z)(_i,2),ki=xo[0],Ko=xo[1],Ei=Se.useRef({}),so=Se.useRef({}),Vo=(0,Ct.Z)(mi)==="object"?(0,Un.Z)({},mi):{};function ba(Ga){var Fo=ss.indexOf(ki)+Ga,rl=ss[Fo]||null;return rl}var ka=function(Fo){so.current.onBlur&&so.current.onBlur(Fo),Ko(null)};Dn.current={onKeyDown:function(Fo){if(Fo.which===li.Z.TAB){var rl=ba(Fo.shiftKey?-1:1);return Ko(rl),rl&&Fo.preventDefault(),!0}if(ki){var Qs=ki==="date"?Ei:so;return Qs.current&&Qs.current.onKeyDown&&Qs.current.onKeyDown(Fo),!0}return[li.Z.LEFT,li.Z.RIGHT,li.Z.UP,li.Z.DOWN].includes(Fo.which)?(Ko("date"),!0):!1},onBlur:ka,onClose:ka};var Pa=function(Fo,rl){var Qs=Fo;rl==="date"&&!Pr&&Vo.defaultValue?(Qs=Ar.setHour(Qs,Ar.getHour(Vo.defaultValue)),Qs=Ar.setMinute(Qs,Ar.getMinute(Vo.defaultValue)),Qs=Ar.setSecond(Qs,Ar.getSecond(Vo.defaultValue))):rl==="time"&&!Pr&&Xr&&(Qs=Ar.setYear(Qs,Ar.getYear(Xr)),Qs=Ar.setMonth(Qs,Ar.getMonth(Xr)),Qs=Ar.setDate(Qs,Ar.getDate(Xr))),Ci&&Ci(Qs,"mouse")},Za=ei?ei(Pr||null):{};return Se.createElement("div",{className:Rt()(Gr,(0,an.Z)({},"".concat(Gr,"-active"),ki))},Se.createElement(xi,(0,pe.Z)({},on,{cellRender:Wi,operationRef:Ei,active:ki==="date",onSelect:function(Fo){Pa(tr(Ar,Fo,!Pr&&(0,Ct.Z)(mi)==="object"?mi.defaultValue:null),"date")}})),Se.createElement(Ca,(0,pe.Z)({},on,{cellRender:Wi?function(Ga,Fo){return Wi(Ga,(0,Un.Z)((0,Un.Z)({},Fo),{},{type:"time"}))}:void 0,format:void 0},Vo,Za,{disabledTime:null,defaultValue:void 0,operationRef:so,active:ki==="time",onSelect:function(Fo){Pa(Fo,"time")}})))}var Os=oa;function rs(on){var En=on.prefixCls,Dn=on.generateConfig,Ar=on.viewDate,Pr=on.onPrevDecades,Xr=on.onNextDecades,ei=Se.useContext(Bt),mi=ei.hideHeader;if(mi)return null;var Ci="".concat(En,"-header"),Wi=Dn.getYear(Ar),Gr=Math.floor(Wi/qt)*qt,_i=Gr+qt-1;return Se.createElement(br,(0,pe.Z)({},on,{prefixCls:Ci,onSuperPrev:Pr,onSuperNext:Xr}),Gr,"-",_i)}var po=rs,zo=3,za=4;function Ka(on){var En=un-1,Dn=on.prefixCls,Ar=on.viewDate,Pr=on.generateConfig,Xr=on.cellRender,ei=on.locale,mi="".concat(Dn,"-cell"),Ci=Pr.getYear(Ar),Wi=Math.floor(Ci/un)*un,Gr=Math.floor(Ci/qt)*qt,_i=Gr+qt-1,xo=Pr.setYear(Ar,Gr-Math.ceil((zo*za*un-qt)/2)),ki=function(so){var Vo,ba=Pr.getYear(so),ka=ba+En;return Vo={},(0,an.Z)(Vo,"".concat(mi,"-in-view"),Gr<=ba&&ka<=_i),(0,an.Z)(Vo,"".concat(mi,"-selected"),ba===Wi),Vo},Ko=Xr?function(Ei,so){return Xr(Ei,{originNode:so,today:Pr.getNow(),type:"decade",locale:ei})}:void 0;return Se.createElement(Mr,(0,pe.Z)({},on,{rowNum:za,colNum:zo,baseDate:xo,getCellNode:Ko,getCellText:function(so){var Vo=Pr.getYear(so);return"".concat(Vo,"-").concat(Vo+En)},getCellClassName:ki,getCellDate:function(so,Vo){return Pr.addYear(so,Vo*un)}}))}var Ji=Ka;function yn(on){var En=on.prefixCls,Dn=on.onViewDateChange,Ar=on.generateConfig,Pr=on.viewDate,Xr=on.operationRef,ei=on.onSelect,mi=on.onPanelChange,Ci="".concat(En,"-decade-panel");Xr.current={onKeyDown:function(xo){return ao(xo,{onLeftRight:function(Ko){ei(Ar.addYear(Pr,Ko*un),"key")},onCtrlLeftRight:function(Ko){ei(Ar.addYear(Pr,Ko*qt),"key")},onUpDown:function(Ko){ei(Ar.addYear(Pr,Ko*un*zo),"key")},onEnter:function(){mi("year",Pr)}})}};var Wi=function(xo){var ki=Ar.addYear(Pr,xo*qt);Dn(ki),mi(null,ki)},Gr=function(xo){ei(xo,"mouse"),mi("year",xo)};return Se.createElement("div",{className:Ci},Se.createElement(po,(0,pe.Z)({},on,{prefixCls:En,onPrevDecades:function(){Wi(-1)},onNextDecades:function(){Wi(1)}})),Se.createElement(Ji,(0,pe.Z)({},on,{prefixCls:En,onSelect:Gr})))}var ja=yn;function is(on){var En=on.prefixCls,Dn=on.generateConfig,Ar=on.locale,Pr=on.viewDate,Xr=on.onNextYear,ei=on.onPrevYear,mi=on.onYearClick,Ci=Se.useContext(Bt),Wi=Ci.hideHeader;if(Wi)return null;var Gr="".concat(En,"-header");return Se.createElement(br,(0,pe.Z)({},on,{prefixCls:Gr,onSuperPrev:ei,onSuperNext:Xr}),Se.createElement("button",{type:"button",onClick:mi,className:"".concat(En,"-year-btn")},$n(Pr,{locale:Ar,format:Ar.yearFormat,generateConfig:Dn})))}var _a=is,Us=3,ma=4;function aa(on){var En=on.prefixCls,Dn=on.locale,Ar=on.value,Pr=on.viewDate,Xr=on.generateConfig,ei=on.cellRender,mi=Se.useContext(dn),Ci=mi.rangedValue,Wi=mi.hoverRangedValue,Gr="".concat(En,"-cell"),_i=fr({cellPrefixCls:Gr,value:Ar,generateConfig:Xr,rangedValue:Ci,hoverRangedValue:Wi,isSameCell:function(so,Vo){return ot(Xr,so,Vo)},isInView:function(){return!0},offsetCell:function(so,Vo){return Xr.addMonth(so,Vo)}}),xo=Dn.shortMonths||(Xr.locale.getShortMonths?Xr.locale.getShortMonths(Dn.locale):[]),ki=Xr.setMonth(Pr,0),Ko=ei?function(Ei,so){return ei(Ei,{originNode:so,locale:Dn,today:Xr.getNow(),type:"month"})}:void 0;return Se.createElement(Mr,(0,pe.Z)({},on,{rowNum:ma,colNum:Us,baseDate:ki,getCellNode:Ko,getCellText:function(so){return Dn.monthFormat?$n(so,{locale:Dn,format:Dn.monthFormat,generateConfig:Xr}):xo[Xr.getMonth(so)]},getCellClassName:_i,getCellDate:Xr.addMonth,titleCell:function(so){return $n(so,{locale:Dn,format:"YYYY-MM",generateConfig:Xr})}}))}var ys=aa;function Fs(on){var En=on.prefixCls,Dn=on.operationRef,Ar=on.onViewDateChange,Pr=on.generateConfig,Xr=on.value,ei=on.viewDate,mi=on.onPanelChange,Ci=on.onSelect,Wi="".concat(En,"-month-panel");Dn.current={onKeyDown:function(xo){return ao(xo,{onLeftRight:function(Ko){Ci(Pr.addMonth(Xr||ei,Ko),"key")},onCtrlLeftRight:function(Ko){Ci(Pr.addYear(Xr||ei,Ko),"key")},onUpDown:function(Ko){Ci(Pr.addMonth(Xr||ei,Ko*Us),"key")},onEnter:function(){mi("date",Xr||ei)}})}};var Gr=function(xo){var ki=Pr.addYear(ei,xo);Ar(ki),mi(null,ki)};return Se.createElement("div",{className:Wi},Se.createElement(_a,(0,pe.Z)({},on,{prefixCls:En,onPrevYear:function(){Gr(-1)},onNextYear:function(){Gr(1)},onYearClick:function(){mi("year",ei)}})),Se.createElement(ys,(0,pe.Z)({},on,{prefixCls:En,onSelect:function(xo){Ci(xo,"mouse"),mi("date",xo)}})))}var es=Fs;function ml(on){var En=on.prefixCls,Dn=on.generateConfig,Ar=on.locale,Pr=on.viewDate,Xr=on.onNextYear,ei=on.onPrevYear,mi=on.onYearClick,Ci=Se.useContext(Bt),Wi=Ci.hideHeader;if(Wi)return null;var Gr="".concat(En,"-header");return Se.createElement(br,(0,pe.Z)({},on,{prefixCls:Gr,onSuperPrev:ei,onSuperNext:Xr}),Se.createElement("button",{type:"button",onClick:mi,className:"".concat(En,"-year-btn")},$n(Pr,{locale:Ar,format:Ar.yearFormat,generateConfig:Dn})))}var ta=ml,Qo=4,Ba=1;function Ii(on){var En=on.prefixCls,Dn=on.locale,Ar=on.value,Pr=on.viewDate,Xr=on.generateConfig,ei=on.cellRender,mi=Se.useContext(dn),Ci=mi.rangedValue,Wi=mi.hoverRangedValue,Gr="".concat(En,"-cell"),_i=fr({cellPrefixCls:Gr,value:Ar,generateConfig:Xr,rangedValue:Ci,hoverRangedValue:Wi,isSameCell:function(Ei,so){return ut(Xr,Ei,so)},isInView:function(){return!0},offsetCell:function(Ei,so){return Xr.addMonth(Ei,so*3)}}),xo=Xr.setDate(Xr.setMonth(Pr,0),1),ki=ei?function(Ko,Ei){return ei(Ko,{originNode:Ei,locale:Dn,today:Xr.getNow(),type:"quarter"})}:void 0;return Se.createElement(Mr,(0,pe.Z)({},on,{rowNum:Ba,colNum:Qo,baseDate:xo,getCellNode:ki,getCellText:function(Ei){return $n(Ei,{locale:Dn,format:Dn.quarterFormat||"[Q]Q",generateConfig:Xr})},getCellClassName:_i,getCellDate:function(Ei,so){return Xr.addMonth(Ei,so*3)},titleCell:function(Ei){return $n(Ei,{locale:Dn,format:"YYYY-[Q]Q",generateConfig:Xr})}}))}var Gs=Ii;function sl(on){var En=on.prefixCls,Dn=on.operationRef,Ar=on.onViewDateChange,Pr=on.generateConfig,Xr=on.value,ei=on.viewDate,mi=on.onPanelChange,Ci=on.onSelect,Wi="".concat(En,"-quarter-panel");Dn.current={onKeyDown:function(xo){return ao(xo,{onLeftRight:function(Ko){Ci(Pr.addMonth(Xr||ei,Ko*3),"key")},onCtrlLeftRight:function(Ko){Ci(Pr.addYear(Xr||ei,Ko),"key")},onUpDown:function(Ko){Ci(Pr.addYear(Xr||ei,Ko),"key")}})}};var Gr=function(xo){var ki=Pr.addYear(ei,xo);Ar(ki),mi(null,ki)};return Se.createElement("div",{className:Wi},Se.createElement(ta,(0,pe.Z)({},on,{prefixCls:En,onPrevYear:function(){Gr(-1)},onNextYear:function(){Gr(1)},onYearClick:function(){mi("year",ei)}})),Se.createElement(Gs,(0,pe.Z)({},on,{prefixCls:En,onSelect:function(xo){Ci(xo,"mouse")}})))}var ql=sl;function Ki(on){var En=on.prefixCls,Dn=on.generateConfig,Ar=on.locale,Pr=on.value,Xr=on.disabledDate,ei=on.onSelect,mi=Se.useContext(dn),Ci=mi.rangedValue,Wi=mi.hoverRangedValue,Gr=Se.useContext(Bt),_i=Gr.onDateMouseEnter,xo=Gr.onDateMouseLeave,ki=(Wi==null?void 0:Wi[0])||(Ci==null?void 0:Ci[0]),Ko=(Wi==null?void 0:Wi[1])||(Ci==null?void 0:Ci[1]),Ei="".concat(En,"-cell"),so=function(Pa){var Za=mr({cellDate:Pa,mode:"week",disabledDate:Xr,generateConfig:Dn});return Se.createElement("td",{key:"week",className:Rt()(Ei,"".concat(Ei,"-week")),onClick:function(){Za||ei(Pa,"mouse")},onMouseEnter:function(){!Za&&_i&&_i(Pa)},onMouseLeave:function(){!Za&&xo&&xo(Pa)}},Se.createElement("div",{className:"".concat(Ei,"-inner")},Dn.locale.getWeek(Ar.locale,Pa)))},Vo="".concat(En,"-week-panel-row"),ba=function(Pa){var Za,Ga=Mt(Dn,Ar.locale,ki,Pa),Fo=Mt(Dn,Ar.locale,Ko,Pa);return Rt()(Vo,(Za={},(0,an.Z)(Za,"".concat(Vo,"-selected"),!Ci&&Mt(Dn,Ar.locale,Pr,Pa)),(0,an.Z)(Za,"".concat(Vo,"-range-start"),Ga),(0,an.Z)(Za,"".concat(Vo,"-range-end"),Fo),(0,an.Z)(Za,"".concat(Vo,"-range-hover"),!Ga&&!Fo&&rr(Dn,ki,Ko,Pa)),Za))};return Se.createElement(xi,(0,pe.Z)({},on,{panelName:"week",prefixColumn:so,rowClassName:ba,keyboardConfig:{onLeftRight:null},isSameCell:function(){return!1}}))}var xs=Ki,zs=10;function yl(on){var En=on.prefixCls,Dn=on.generateConfig,Ar=on.viewDate,Pr=on.onPrevDecade,Xr=on.onNextDecade,ei=on.onDecadeClick,mi=Se.useContext(Bt),Ci=mi.hideHeader;if(Ci)return null;var Wi="".concat(En,"-header"),Gr=Dn.getYear(Ar),_i=Math.floor(Gr/zs)*zs,xo=_i+zs-1;return Se.createElement(br,(0,pe.Z)({},on,{prefixCls:Wi,onSuperPrev:Pr,onSuperNext:Xr}),Se.createElement("button",{type:"button",onClick:ei,className:"".concat(En,"-decade-btn")},_i,"-",xo))}var tl=yl,Ms=3,Au=4;function Ur(on){var En=on.prefixCls,Dn=on.value,Ar=on.viewDate,Pr=on.locale,Xr=on.generateConfig,ei=on.cellRender,mi=Se.useContext(dn),Ci=mi.rangedValue,Wi=mi.hoverRangedValue,Gr="".concat(En,"-cell"),_i=Xr.getYear(Ar),xo=Math.floor(_i/zs)*zs,ki=xo+zs-1,Ko=Xr.setYear(Ar,xo-Math.ceil((Ms*Au-zs)/2)),Ei=Xr.getNow(),so=function(Pa){var Za=Xr.getYear(Pa);return xo<=Za&&Za<=ki},Vo=fr({cellPrefixCls:Gr,value:Dn,generateConfig:Xr,rangedValue:Ci,hoverRangedValue:Wi,isSameCell:function(Pa,Za){return Jt(Xr,Pa,Za)},isInView:so,offsetCell:function(Pa,Za){return Xr.addYear(Pa,Za)}}),ba=ei?function(ka,Pa){return ei(ka,{originNode:Pa,today:Ei,type:"year",locale:Pr})}:void 0;return Se.createElement(Mr,(0,pe.Z)({},on,{rowNum:Au,colNum:Ms,baseDate:Ko,getCellNode:ba,getCellText:Xr.getYear,getCellClassName:Vo,getCellDate:Xr.addYear,titleCell:function(Pa){return $n(Pa,{locale:Pr,format:"YYYY",generateConfig:Xr})}}))}var Su=Ur;function gh(on){var En=on.prefixCls,Dn=on.operationRef,Ar=on.onViewDateChange,Pr=on.generateConfig,Xr=on.value,ei=on.viewDate,mi=on.sourceMode,Ci=on.onSelect,Wi=on.onPanelChange,Gr="".concat(En,"-year-panel");Dn.current={onKeyDown:function(ki){return ao(ki,{onLeftRight:function(Ei){Ci(Pr.addYear(Xr||ei,Ei),"key")},onCtrlLeftRight:function(Ei){Ci(Pr.addYear(Xr||ei,Ei*zs),"key")},onUpDown:function(Ei){Ci(Pr.addYear(Xr||ei,Ei*Ms),"key")},onEnter:function(){Wi(mi==="date"?"date":"month",Xr||ei)}})}};var _i=function(ki){var Ko=Pr.addYear(ei,ki*10);Ar(Ko),Wi(null,Ko)};return Se.createElement("div",{className:Gr},Se.createElement(tl,(0,pe.Z)({},on,{prefixCls:En,onPrevDecade:function(){_i(-1)},onNextDecade:function(){_i(1)},onDecadeClick:function(){Wi("decade",ei)}})),Se.createElement(Su,(0,pe.Z)({},on,{prefixCls:En,onSelect:function(ki){Wi(mi==="date"?"date":"month",ki),Ci(ki,"mouse")}})))}var Wc=gh;function Ns(on,En,Dn){return Dn?Se.createElement("div",{className:"".concat(on,"-footer-extra")},Dn(En)):null}function Sl(on){var En=on.prefixCls,Dn=on.components,Ar=Dn===void 0?{}:Dn,Pr=on.needConfirmButton,Xr=on.onNow,ei=on.onOk,mi=on.okDisabled,Ci=on.showNow,Wi=on.locale,Gr,_i;if(Pr){var xo=Ar.button||"button";Xr&&Ci!==!1&&(Gr=Se.createElement("li",{className:"".concat(En,"-now")},Se.createElement("a",{className:"".concat(En,"-now-btn"),onClick:Xr},Wi.now))),_i=Pr&&Se.createElement("li",{className:"".concat(En,"-ok")},Se.createElement(xo,{disabled:mi,onClick:ei},Wi.ok))}return!Gr&&!_i?null:Se.createElement("ul",{className:"".concat(En,"-ranges")},Gr,_i)}var lu=["date","month"];function gl(on){var En,Dn=on,Ar=Dn.prefixCls,Pr=Ar===void 0?"rc-picker":Ar,Xr=Dn.className,ei=Dn.style,mi=Dn.locale,Ci=Dn.generateConfig,Wi=Dn.value,Gr=Dn.defaultValue,_i=Dn.pickerValue,xo=Dn.defaultPickerValue,ki=Dn.disabledDate,Ko=Dn.mode,Ei=Dn.picker,so=Ei===void 0?"date":Ei,Vo=Dn.tabIndex,ba=Vo===void 0?0:Vo,ka=Dn.showNow,Pa=Dn.showTime,Za=Dn.showToday,Ga=Dn.renderExtraFooter,Fo=Dn.hideHeader,rl=Dn.onSelect,Qs=Dn.onChange,fs=Dn.onPanelChange,_l=Dn.onMouseDown,zl=Dn.onPickerValueChange,Rl=Dn.onOk,mu=Dn.components,Tl=Dn.direction,ll=Dn.hourStep,jl=ll===void 0?1:ll,Vl=Dn.minuteStep,yu=Vl===void 0?1:Vl,Yl=Dn.secondStep,bl=Yl===void 0?1:Yl,_u=Dn.dateRender,Hu=Dn.monthCellRender,Pn=Dn.cellRender,Tn=so==="date"&&!!Pa||so==="time",cr=24%jl===0,yr=60%yu===0,Rr=60%bl===0,Dr=Se.useContext(Bt),si=Dr.operationRef,oi=Dr.onSelect,ti=Dr.hideRanges,Ni=Dr.defaultOpenValue,pi=Se.useContext(dn),Di=pi.inRange,vo=pi.panelPosition,ho=pi.rangedValue,hi=pi.hoverRangedValue,Go=Se.useRef({}),ro=Se.useRef(!0),sa=(0,ur.Z)(null,{value:Wi,defaultValue:Gr,postState:function(_r){return!_r&&Ni&&so==="time"?Ni:_r}}),qo=(0,Kn.Z)(sa,2),na=qo[0],$a=qo[1],cs=(0,ur.Z)(null,{value:_i,defaultValue:xo||na,postState:function(_r){var Vr=Ci.getNow();if(!_r)return Vr;if(!na&&Pa){var Ti=(0,Ct.Z)(Pa)==="object"?Pa.defaultValue:Gr;return tr(Ci,Array.isArray(_r)?_r[0]:_r,Ti||Vr)}return Array.isArray(_r)?_r[0]:_r}}),ya=(0,Kn.Z)(cs,2),Ia=ya[0],gs=ya[1],ga=function(_r){gs(_r),zl&&zl(_r)},Wa=function(_r){var Vr=ii[so];return Vr?Vr(_r):_r},fa=(0,ur.Z)(function(){return so==="time"?"time":Wa("date")},{value:Ko}),Wo=(0,Kn.Z)(fa,2),la=Wo[0],Ha=Wo[1];Se.useEffect(function(){Ha(so)},[so]);var Po=Se.useState(function(){return la}),Es=(0,Kn.Z)(Po,2),ca=Es[0],dt=Es[1],Ot=function(_r,Vr){var Ti=Wa(_r||la);dt(la),Ha(Ti),fs&&(la!==Ti||hn(Ci,Ia,Ia))&&fs(Vr,Ti)},zt=function(_r,Vr){var Ti=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;(la===so||Ti)&&($a(_r),rl&&rl(_r),oi&&oi(_r,Vr),Qs&&!hn(Ci,_r,na)&&!(ki!=null&&ki(_r))&&Qs(_r))},$t=function(_r){if(lu.includes(la)){var Vr,Ti,to=la==="date";switch(_r===li.Z.PAGE_UP||_r===li.Z.PAGE_DOWN?Ti=to?Ci.addMonth:Ci.addYear:Ti=to?Ci.addDate:Ci.addMonth,_r){case li.Z.LEFT:case li.Z.PAGE_UP:Vr=Ti(Ia,-1);break;case li.Z.RIGHT:case li.Z.PAGE_DOWN:Vr=Ti(Ia,1);break;case li.Z.UP:case li.Z.DOWN:Vr=Ti(Ia,Number("".concat(_r===li.Z.UP?"-":"").concat(to?Yt:Us)));break}if(Vr)return!(ki!=null&&ki(Vr))}return!0},pn=function(_r){if(Go.current&&Go.current.onKeyDown){var Vr=!0,Ti=_r.which;if([li.Z.LEFT,li.Z.RIGHT,li.Z.UP,li.Z.DOWN,li.Z.PAGE_UP,li.Z.PAGE_DOWN,li.Z.ENTER].includes(Ti)&&(_r.preventDefault(),Ti!==li.Z.ENTER&&ba===0&&(Vr=$t(Ti))),Vr)return Go.current.onKeyDown(_r)}return(0,Ue.ZP)(!1,"Panel not correct handle keyDown event. Please help to fire issue about this."),!1},mn=function(_r){Go.current&&Go.current.onBlur&&Go.current.onBlur(_r)};si&&vo!=="right"&&(si.current={onKeyDown:pn,onClose:function(){Go.current&&Go.current.onClose&&Go.current.onClose()}}),Se.useEffect(function(){Wi&&!ro.current&&gs(Wi)},[Wi]),Se.useEffect(function(){ro.current=!1},[]);var In,xn=rn({cellRender:Pn,monthCellRender:Hu,dateRender:_u}),qn=(0,Un.Z)((0,Un.Z)({},on),{},{cellRender:xn,operationRef:Go,prefixCls:Pr,viewDate:Ia,value:na,onViewDateChange:ga,sourceMode:ca,onPanelChange:Ot,disabledDate:ki});switch(delete qn.onChange,delete qn.onSelect,la){case"decade":In=Se.createElement(ja,(0,pe.Z)({},qn,{onSelect:function(_r,Vr){ga(_r),zt(_r,Vr)}}));break;case"year":In=Se.createElement(Wc,(0,pe.Z)({},qn,{onSelect:function(_r,Vr){ga(_r),zt(_r,Vr)}}));break;case"month":In=Se.createElement(es,(0,pe.Z)({},qn,{onSelect:function(_r,Vr){ga(_r),zt(_r,Vr)}}));break;case"quarter":In=Se.createElement(ql,(0,pe.Z)({},qn,{onSelect:function(_r,Vr){ga(_r),zt(_r,Vr)}}));break;case"week":In=Se.createElement(xs,(0,pe.Z)({},qn,{onSelect:function(_r,Vr){ga(_r),zt(_r,Vr)}}));break;case"time":delete qn.showTime,In=Se.createElement(Ca,(0,pe.Z)({},qn,(0,Ct.Z)(Pa)==="object"?Pa:null,{onSelect:function(_r,Vr){ga(_r),zt(_r,Vr)}}));break;default:Pa?In=Se.createElement(Os,(0,pe.Z)({},qn,{onSelect:function(_r,Vr){ga(_r),zt(_r,Vr)}})):In=Se.createElement(xi,(0,pe.Z)({},qn,{onSelect:function(_r,Vr){ga(_r),zt(_r,Vr)}}))}var Wn,ar,Ir=function(){var _r=Ci.getNow(),Vr=hr(Ci.getHour(_r),Ci.getMinute(_r),Ci.getSecond(_r),cr?jl:1,yr?yu:1,Rr?bl:1),Ti=Bn(Ci,_r,Vr[0],Vr[1],Vr[2]);zt(Ti,"submit")};ti||(Wn=Ns(Pr,la,Ga),Pa&&la!=="date"?ar=null:ar=Sl({prefixCls:Pr,components:mu,needConfirmButton:Tn,okDisabled:!na||ki&&ki(na),locale:mi,showNow:ka,onNow:Tn&&Ir,onOk:function(){na&&(zt(na,"submit",!0),Rl&&Rl(na))}}));var Er;if(Za&&la==="date"&&so==="date"&&!Pa){var Yr=Ci.getNow(),jr="".concat(Pr,"-today-btn"),kr=ki&&ki(Yr);Er=Se.createElement("a",{className:Rt()(jr,kr&&"".concat(jr,"-disabled")),"aria-disabled":kr,onClick:function(){kr||zt(Yr,"mouse",!0)}},mi.today)}return Se.createElement(Bt.Provider,{value:(0,Un.Z)((0,Un.Z)({},Dr),{},{mode:la,hideHeader:"hideHeader"in on?Fo:Dr.hideHeader,hidePrevBtn:Di&&vo==="right",hideNextBtn:Di&&vo==="left"})},Se.createElement("div",{tabIndex:ba,className:Rt()("".concat(Pr,"-panel"),Xr,(En={},(0,an.Z)(En,"".concat(Pr,"-panel-has-range"),ho&&ho[0]&&ho[1]),(0,an.Z)(En,"".concat(Pr,"-panel-has-range-hover"),hi&&hi[0]&&hi[1]),(0,an.Z)(En,"".concat(Pr,"-panel-rtl"),Tl==="rtl"),En)),style:ei,onKeyDown:pn,onBlur:mn,onMouseDown:_l},In,Wn||ar||Er?Se.createElement("div",{className:"".concat(Pr,"-footer")},Wn,ar,Er):null))}var Hs=gl,Al=Oe(35593),Wu={bottomLeft:{points:["tl","bl"],offset:[0,4],overflow:{adjustX:1,adjustY:1}},bottomRight:{points:["tr","br"],offset:[0,4],overflow:{adjustX:1,adjustY:1}},topLeft:{points:["bl","tl"],offset:[0,-4],overflow:{adjustX:0,adjustY:1}},topRight:{points:["br","tr"],offset:[0,-4],overflow:{adjustX:0,adjustY:1}}};function ls(on){var En,Dn=on.prefixCls,Ar=on.popupElement,Pr=on.popupStyle,Xr=on.visible,ei=on.dropdownClassName,mi=on.dropdownAlign,Ci=on.transitionName,Wi=on.getPopupContainer,Gr=on.children,_i=on.range,xo=on.popupPlacement,ki=on.direction,Ko="".concat(Dn,"-dropdown"),Ei=function(){return xo!==void 0?xo:ki==="rtl"?"bottomRight":"bottomLeft"};return Se.createElement(Al.Z,{showAction:[],hideAction:[],popupPlacement:Ei(),builtinPlacements:Wu,prefixCls:Ko,popupTransitionName:Ci,popup:Ar,popupAlign:mi,popupVisible:Xr,popupClassName:Rt()(ei,(En={},(0,an.Z)(En,"".concat(Ko,"-range"),_i),(0,an.Z)(En,"".concat(Ko,"-rtl"),ki==="rtl"),En)),popupStyle:Pr,getPopupContainer:Wi},Gr)}var ns=ls;function Vs(on){var En=on.prefixCls,Dn=on.presets,Ar=on.onClick,Pr=on.onHover;return Dn.length?Se.createElement("div",{className:"".concat(En,"-presets")},Se.createElement("ul",null,Dn.map(function(Xr,ei){var mi=Xr.label,Ci=Xr.value;return Se.createElement("li",{key:ei,onClick:function(){return Ar==null?void 0:Ar(ir(Ci))},onMouseEnter:function(){return Pr==null?void 0:Pr(ir(Ci))},onMouseLeave:function(){return Pr==null?void 0:Pr(null)}},mi)}))):null}function jo(on){var En=on.picker,Dn=on.disabledHours,Ar=on.disabledMinutes,Pr=on.disabledSeconds;En==="time"&&(Dn||Ar||Pr)&&warning(!1,"'disabledHours', 'disabledMinutes', 'disabledSeconds' will be removed in the next major version, please use 'disabledTime' instead.")}function Ru(on,En,Dn){var Ar=(0,Ct.Z)(En)==="object"?En.clearIcon:Dn;return Ar||Se.createElement("span",{className:"".concat(on,"-clear-btn")})}function Uu(on){var En,Dn=on,Ar=Dn.prefixCls,Pr=Ar===void 0?"rc-picker":Ar,Xr=Dn.id,ei=Dn.name,mi=Dn.tabIndex,Ci=Dn.style,Wi=Dn.className,Gr=Dn.dropdownClassName,_i=Dn.dropdownAlign,xo=Dn.popupStyle,ki=Dn.transitionName,Ko=Dn.generateConfig,Ei=Dn.locale,so=Dn.inputReadOnly,Vo=Dn.allowClear,ba=Dn.autoFocus,ka=Dn.showTime,Pa=Dn.picker,Za=Pa===void 0?"date":Pa,Ga=Dn.format,Fo=Dn.use12Hours,rl=Dn.value,Qs=Dn.defaultValue,fs=Dn.presets,_l=Dn.open,zl=Dn.defaultOpen,Rl=Dn.defaultOpenValue,mu=Dn.suffixIcon,Tl=Dn.clearIcon,ll=Dn.disabled,jl=Dn.disabledDate,Vl=Dn.placeholder,yu=Dn.getPopupContainer,Yl=Dn.pickerRef,bl=Dn.panelRender,_u=Dn.onChange,Hu=Dn.onOpenChange,Pn=Dn.onFocus,Tn=Dn.onBlur,cr=Dn.onMouseDown,yr=Dn.onMouseUp,Rr=Dn.onMouseEnter,Dr=Dn.onMouseLeave,si=Dn.onContextMenu,oi=Dn.onClick,ti=Dn.onKeyDown,Ni=Dn.onSelect,pi=Dn.direction,Di=Dn.autoComplete,vo=Di===void 0?"off":Di,ho=Dn.inputRender,hi=Dn.changeOnBlur,Go=Se.useRef(null),ro=Za==="date"&&!!ka||Za==="time",sa=He(fs),qo=Sn(Jr(Ga,Za,ka,Fo)),na=Se.useRef(null),$a=Se.useRef(null),cs=Se.useRef(null),ya=(0,ur.Z)(null,{value:rl,defaultValue:Qs}),Ia=(0,Kn.Z)(ya,2),gs=Ia[0],ga=Ia[1],Wa=Se.useState(gs),fa=(0,Kn.Z)(Wa,2),Wo=fa[0],la=fa[1],Ha=Se.useRef(null),Po=(0,ur.Z)(!1,{value:_l,defaultValue:zl,postState:function($r){return ll?!1:$r},onChange:function($r){Hu&&Hu($r),!$r&&Ha.current&&Ha.current.onClose&&Ha.current.onClose()}}),Es=(0,Kn.Z)(Po,2),ca=Es[0],dt=Es[1],Ot=Qr(Wo,{formatList:qo,generateConfig:Ko,locale:Ei}),zt=(0,Kn.Z)(Ot,2),$t=zt[0],pn=zt[1],mn=et({valueTexts:$t,onTextChange:function($r){var qi=xr($r,{locale:Ei,formatList:qo,generateConfig:Ko});qi&&(!jl||!jl(qi))&&la(qi)}}),In=(0,Kn.Z)(mn,3),xn=In[0],qn=In[1],Wn=In[2],ar=function($r){la($r),ga($r),_u&&!hn(Ko,gs,$r)&&_u($r,$r?$n($r,{generateConfig:Ko,locale:Ei,format:qo[0]}):"")},Ir=function($r){ll&&$r||dt($r)},Er=function($r){return ca&&Ha.current&&Ha.current.onKeyDown?Ha.current.onKeyDown($r):((0,Ue.ZP)(!1,"Picker not correct forward KeyDown operation. Please help to fire issue about this."),!1)},Yr=function(){for(var $r=arguments.length,qi=new Array($r),qa=0;qa<$r;qa++)qi[qa]=arguments[qa];oi==null||oi.apply(void 0,qi),Go.current&&(Go.current.focus(),Ir(!0))},jr=function($r){hi&&ar(Wo),Tn==null||Tn($r)},kr=De({blurToCancel:ro,open:ca,value:xn,triggerOpen:Ir,forwardKeyDown:Er,isClickOutside:function($r){return!Nt([na.current,$a.current,cs.current],$r)},onSubmit:function(){return!Wo||jl&&jl(Wo)?!1:(ar(Wo),Ir(!1),Wn(),!0)},onCancel:function(){Ir(!1),la(gs),Wn()},onKeyDown:function($r,qi){ti==null||ti($r,qi)},onFocus:Pn,onBlur:jr,changeOnBlur:hi}),zr=(0,Kn.Z)(kr,2),_r=zr[0],Vr=zr[1],Ti=Vr.focused,to=Vr.typing;Se.useEffect(function(){ca||(la(gs),!$t.length||$t[0]===""?qn(""):pn!==xn&&Wn())},[ca,$t]),Se.useEffect(function(){ca||Wn()},[Za]),Se.useEffect(function(){la(gs)},[gs]),Yl&&(Yl.current={focus:function(){var $r;($r=Go.current)===null||$r===void 0||$r.focus()},blur:function(){var $r;($r=Go.current)===null||$r===void 0||$r.blur()}});var pa=di(xn,{formatList:qo,generateConfig:Ko,locale:Ei}),lo=(0,Kn.Z)(pa,3),ha=lo[0],Zo=lo[1],Oo=lo[2],Ri=(0,Un.Z)((0,Un.Z)({},on),{},{className:void 0,style:void 0,pickerValue:void 0,onPickerValueChange:void 0,onChange:null}),co=Se.createElement("div",{className:"".concat(Pr,"-panel-layout")},Se.createElement(Vs,{prefixCls:Pr,presets:sa,onClick:function($r){ar($r),Ir(!1)}}),Se.createElement(Hs,(0,pe.Z)({},Ri,{generateConfig:Ko,className:Rt()((0,an.Z)({},"".concat(Pr,"-panel-focused"),!to)),value:Wo,locale:Ei,tabIndex:-1,onSelect:function($r){Ni==null||Ni($r),la($r)},direction:pi,onPanelChange:function($r,qi){var qa=on.onPanelChange;Oo(!0),qa==null||qa($r,qi)}})));bl&&(co=bl(co));var Oa=Se.createElement("div",{className:"".concat(Pr,"-panel-container"),ref:na,onMouseDown:function($r){$r.preventDefault()}},co),ni;mu&&(ni=Se.createElement("span",{className:"".concat(Pr,"-suffix"),onMouseDown:function($r){$r.preventDefault()}},mu));var ji=Ru(Pr,Vo,Tl),mo=Se.createElement("span",{onMouseDown:function($r){$r.preventDefault(),$r.stopPropagation()},onMouseUp:function($r){$r.preventDefault(),$r.stopPropagation(),ar(null),Ir(!1)},className:"".concat(Pr,"-clear"),role:"button"},ji),yo=!!Vo&&gs&&!ll,ra=(0,Un.Z)((0,Un.Z)((0,Un.Z)({id:Xr,tabIndex:mi,disabled:ll,readOnly:so||typeof qo[0]=="function"||!to,value:ha||xn,onChange:function($r){qn($r.target.value)},autoFocus:ba,placeholder:Vl,ref:Go,title:xn},_r),{},{size:oo(Za,qo[0],Ko),name:ei},(0,Xn.Z)(on,{aria:!0,data:!0})),{},{autoComplete:vo}),Eo=ho?ho(ra):Se.createElement("input",ra),Uo=function($r,qi){(qi==="submit"||qi!=="key"&&!ro)&&(ar($r),Ir(!1))},Va=pi==="rtl"?"bottomRight":"bottomLeft";return Se.createElement(Bt.Provider,{value:{operationRef:Ha,hideHeader:Za==="time",onSelect:Uo,open:ca,defaultOpenValue:Rl,onDateMouseEnter:Zo,onDateMouseLeave:Oo}},Se.createElement(ns,{visible:ca,popupElement:Oa,popupStyle:xo,prefixCls:Pr,dropdownClassName:Gr,dropdownAlign:_i,getPopupContainer:yu,transitionName:ki,popupPlacement:Va,direction:pi},Se.createElement("div",{ref:cs,className:Rt()(Pr,Wi,(En={},(0,an.Z)(En,"".concat(Pr,"-disabled"),ll),(0,an.Z)(En,"".concat(Pr,"-focused"),Ti),(0,an.Z)(En,"".concat(Pr,"-rtl"),pi==="rtl"),En)),style:Ci,onMouseDown:cr,onMouseUp:yr,onMouseEnter:Rr,onMouseLeave:Dr,onContextMenu:si,onClick:Yr},Se.createElement("div",{className:Rt()("".concat(Pr,"-input"),(0,an.Z)({},"".concat(Pr,"-input-placeholder"),!!ha)),ref:$a},Eo,ni,yo&&mo))))}var Oc=function(on){(0,jn.Z)(Dn,on);var En=(0,er.Z)(Dn);function Dn(){var Ar;(0,Gt.Z)(this,Dn);for(var Pr=arguments.length,Xr=new Array(Pr),ei=0;ei<Pr;ei++)Xr[ei]=arguments[ei];return Ar=En.call.apply(En,[this].concat(Xr)),(0,an.Z)((0,Rn.Z)(Ar),"pickerRef",Se.createRef()),(0,an.Z)((0,Rn.Z)(Ar),"focus",function(){Ar.pickerRef.current&&Ar.pickerRef.current.focus()}),(0,an.Z)((0,Rn.Z)(Ar),"blur",function(){Ar.pickerRef.current&&Ar.pickerRef.current.blur()}),Ar}return(0,ln.Z)(Dn,[{key:"render",value:function(){return Se.createElement(Uu,(0,pe.Z)({},this.props,{pickerRef:this.pickerRef}))}}]),Dn}(Se.Component),ph=Oc;function Kh(on,En){var Dn=on.picker,Ar=on.locale,Pr=on.selectedValue,Xr=on.disabledDate,ei=on.disabled,mi=on.generateConfig,Ci=cn(Pr,0),Wi=cn(Pr,1);function Gr(Ei){return mi.locale.getWeekFirstDate(Ar.locale,Ei)}function _i(Ei){var so=mi.getYear(Ei),Vo=mi.getMonth(Ei);return so*100+Vo}function xo(Ei){var so=mi.getYear(Ei),Vo=wt(mi,Ei);return so*10+Vo}var ki=Se.useCallback(function(Ei){if(ei[0]||Xr&&Xr(Ei))return!0;if(ei[1]&&Wi)return!Pt(mi,Ei,Wi)&&mi.isAfter(Ei,Wi);if(!En&&Wi)switch(Dn){case"quarter":return xo(Ei)>xo(Wi);case"month":return _i(Ei)>_i(Wi);case"week":return Gr(Ei)>Gr(Wi);default:return!Pt(mi,Ei,Wi)&&mi.isAfter(Ei,Wi)}return!1},[Xr,ei[1],Wi,En]),Ko=Se.useCallback(function(Ei){if(ei[1]||Xr&&Xr(Ei))return!0;if(ei[0]&&Ci)return!Pt(mi,Ei,Wi)&&mi.isAfter(Ci,Ei);if(!En&&Ci)switch(Dn){case"quarter":return xo(Ei)<xo(Ci);case"month":return _i(Ei)<_i(Ci);case"week":return Gr(Ei)<Gr(Ci);default:return!Pt(mi,Ei,Ci)&&mi.isAfter(Ci,Ei)}return!1},[Xr,ei[0],Ci,En]);return[ki,Ko]}var So=Oe(80764),uu=Oe(8107);function Ya(on,En,Dn,Ar,Pr,Xr,ei,mi,Ci,Wi){var Gr=Se.useState(!1),_i=(0,Kn.Z)(Gr,2),xo=_i[0],ki=_i[1],Ko=(0,So.useMergedState)(on||!1,{value:En}),Ei=(0,Kn.Z)(Ko,2),so=Ei[0],Vo=Ei[1],ba=(0,So.useMergedState)(on||!1,{value:En,onChange:function(jl){Wi==null||Wi(jl)}}),ka=(0,Kn.Z)(ba,2),Pa=ka[0],Za=ka[1],Ga=(0,So.useMergedState)(0,{value:Dn}),Fo=(0,Kn.Z)(Ga,2),rl=Fo[0],Qs=Fo[1],fs=Se.useState(null),_l=(0,Kn.Z)(fs,2),zl=_l[0],Rl=_l[1];Se.useEffect(function(){Pa&&ki(!0)},[Pa]);var mu=function(jl){return jl===0?1:0},Tl=(0,uu.Z)(function(ll,jl,Vl){if(jl===!1)Za(ll);else if(ll){Qs(jl),Za(ll);var yu=mu(jl);!Pa||![ei,mi][yu]?Rl(yu):(ki(!1),zl!==null&&Rl(null))}else if(Vl==="confirm"||Vl==="blur"&&Ar){var Yl=so?mu(jl):zl;Yl!==null&&(ki(!1),Qs(Yl)),Rl(null),Yl!==null&&!Ci[Yl]?(0,Ai.Z)(function(){var bl,_u=[Pr,Xr][Yl];(bl=_u.current)===null||bl===void 0||bl.focus()}):Za(!1)}else Za(!1),Vo(!1)});return[Pa,rl,xo,Tl]}function Rh(on,En,Dn,Ar){var Pr=An(on,Dn,Ar,1);function Xr(ei){return ei(on,En)?"same":ei(Pr,En)?"closing":"far"}switch(Dn){case"year":return Xr(function(ei,mi){return _t(Ar,ei,mi)});case"quarter":case"month":return Xr(function(ei,mi){return Jt(Ar,ei,mi)});default:return Xr(function(ei,mi){return ot(Ar,ei,mi)})}}function Zh(on,En,Dn,Ar){var Pr=cn(on,0),Xr=cn(on,1);if(En===0)return Pr;if(Pr&&Xr){var ei=Rh(Pr,Xr,Dn,Ar);switch(ei){case"same":return Pr;case"closing":return Pr;default:return An(Xr,Dn,Ar,-1)}}return Pr}function Ac(on){var En=on.values,Dn=on.picker,Ar=on.defaultDates,Pr=on.generateConfig,Xr=Se.useState(function(){return[cn(Ar,0),cn(Ar,1)]}),ei=(0,Kn.Z)(Xr,2),mi=ei[0],Ci=ei[1],Wi=Se.useState(null),Gr=(0,Kn.Z)(Wi,2),_i=Gr[0],xo=Gr[1],ki=cn(En,0),Ko=cn(En,1);function Ei(Vo){return mi[Vo]?mi[Vo]:cn(_i,Vo)||Zh(En,Vo,Dn,Pr)||ki||Ko||Pr.getNow()}function so(Vo,ba){if(Vo){var ka=Yn(_i,Vo,ba);Ci(Yn(mi,null,ba)||[null,null]);var Pa=(ba+1)%2;cn(En,Pa)||(ka=Yn(ka,Vo,Pa)),xo(ka)}else(ki||Ko)&&xo(null)}return[Ei,so]}function us(on,En){return on&&on[0]&&on[1]&&En.isAfter(on[0],on[1])?[on[1],on[0]]:on}function th(on,En,Dn,Ar){return!!(on||Ar&&Ar[En]||Dn[(En+1)%2])}function nh(on){var En,Dn,Ar,Pr=on,Xr=Pr.prefixCls,ei=Xr===void 0?"rc-picker":Xr,mi=Pr.id,Ci=Pr.style,Wi=Pr.className,Gr=Pr.popupStyle,_i=Pr.dropdownClassName,xo=Pr.transitionName,ki=Pr.dropdownAlign,Ko=Pr.getPopupContainer,Ei=Pr.generateConfig,so=Pr.locale,Vo=Pr.placeholder,ba=Pr.autoFocus,ka=Pr.disabled,Pa=Pr.format,Za=Pr.picker,Ga=Za===void 0?"date":Za,Fo=Pr.showTime,rl=Pr.use12Hours,Qs=Pr.separator,fs=Qs===void 0?"~":Qs,_l=Pr.value,zl=Pr.defaultValue,Rl=Pr.defaultPickerValue,mu=Pr.open,Tl=Pr.defaultOpen,ll=Pr.disabledDate,jl=Pr.disabledTime,Vl=Pr.dateRender,yu=Pr.monthCellRender,Yl=Pr.cellRender,bl=Pr.panelRender,_u=Pr.presets,Hu=Pr.ranges,Pn=Pr.allowEmpty,Tn=Pr.allowClear,cr=Pr.suffixIcon,yr=Pr.clearIcon,Rr=Pr.pickerRef,Dr=Pr.inputReadOnly,si=Pr.mode,oi=Pr.renderExtraFooter,ti=Pr.onChange,Ni=Pr.onOpenChange,pi=Pr.onPanelChange,Di=Pr.onCalendarChange,vo=Pr.onFocus,ho=Pr.onBlur,hi=Pr.onMouseDown,Go=Pr.onMouseUp,ro=Pr.onMouseEnter,sa=Pr.onMouseLeave,qo=Pr.onClick,na=Pr.onOk,$a=Pr.onKeyDown,cs=Pr.components,ya=Pr.order,Ia=Pr.direction,gs=Pr.activePickerIndex,ga=Pr.autoComplete,Wa=ga===void 0?"off":ga,fa=Pr.changeOnBlur,Wo=Ga==="date"&&!!Fo||Ga==="time",la=(0,Se.useRef)(null),Ha=(0,Se.useRef)(null),Po=(0,Se.useRef)(null),Es=(0,Se.useRef)(null),ca=(0,Se.useRef)(null),dt=(0,Se.useRef)(null),Ot=(0,Se.useRef)(null),zt=(0,Se.useRef)(null),$t=Sn(Jr(Pa,Ga,Fo,rl)),pn=(0,Se.useRef)(null),mn=Se.useMemo(function(){return Array.isArray(ka)?ka:[ka||!1,ka||!1]},[ka]),In=(0,ur.Z)(null,{value:_l,defaultValue:zl,postState:function(_s){return Ga==="time"&&!ya?_s:us(_s,Ei)}}),xn=(0,Kn.Z)(In,2),qn=xn[0],Wn=xn[1],ar=Ac({values:qn,picker:Ga,defaultDates:Rl,generateConfig:Ei}),Ir=(0,Kn.Z)(ar,2),Er=Ir[0],Yr=Ir[1],jr=(0,ur.Z)(qn,{postState:function(_s){var pl=_s;if(mn[0]&&mn[1])return pl;for(var fu=0;fu<2;fu+=1)mn[fu]&&!pl&&!cn(pl,fu)&&!cn(Pn,fu)&&(pl=Yn(pl,Ei.getNow(),fu));return pl}}),kr=(0,Kn.Z)(jr,2),zr=kr[0],_r=kr[1],Vr=(0,ur.Z)([Ga,Ga],{value:si}),Ti=(0,Kn.Z)(Vr,2),to=Ti[0],pa=Ti[1];(0,Se.useEffect)(function(){pa([Ga,Ga])},[Ga]);var lo=function(_s,pl){pa(_s),pi&&pi(pl,_s)},ha=Ya(Tl,mu,gs,fa,dt,Ot,cn(zr,0),cn(zr,1),mn,Ni),Zo=(0,Kn.Z)(ha,4),Oo=Zo[0],Ri=Zo[1],co=Zo[2],Oa=Zo[3],ni=Oo&&Ri===0,ji=Oo&&Ri===1,mo=Kh({picker:Ga,selectedValue:zr,locale:so,disabled:mn,disabledDate:ll,generateConfig:Ei},!Oo||co),yo=(0,Kn.Z)(mo,2),ra=yo[0],Eo=yo[1],Uo=(0,Se.useState)(0),Va=(0,Kn.Z)(Uo,2),Ho=Va[0],$r=Va[1];(0,Se.useEffect)(function(){!Oo&&la.current&&$r(la.current.offsetWidth)},[Oo]);function qi(xu){Oa(!0,xu,"open"),(0,Ai.Z)(function(){var _s,pl=[dt,Ot][xu];(_s=pl.current)===null||_s===void 0||_s.focus()},0)}function qa(xu,_s){var pl=xu,fu=cn(pl,0),Lc=cn(pl,1);fu&&Lc&&Ei.isAfter(fu,Lc)&&(Ga==="week"&&!Mt(Ei,so.locale,fu,Lc)||Ga==="quarter"&&!ut(Ei,fu,Lc)||Ga!=="week"&&Ga!=="quarter"&&Ga!=="time"&&!Pt(Ei,fu,Lc)?_s===0?(pl=[fu,null],Lc=null):(fu=null,pl=[null,Lc]):(Ga!=="time"||ya!==!1)&&(pl=us(pl,Ei))),_r(pl);var sd=pl&&pl[0]?$n(pl[0],{generateConfig:Ei,locale:so,format:$t[0]}):"",ld=pl&&pl[1]?$n(pl[1],{generateConfig:Ei,locale:so,format:$t[0]}):"";if(Di){var hp={range:_s===0?"start":"end"};Di(pl,[sd,ld],hp)}var xg=th(fu,0,mn,Pn),W0=th(Lc,1,mn,Pn),Kg=pl===null||xg&&W0;Kg&&(Wn(pl),ti&&(!hn(Ei,cn(qn,0),fu)||!hn(Ei,cn(qn,1),Lc))&&ti(pl,[sd,ld]))}var Xl=function(_s){return Oo&&pn.current&&pn.current.onKeyDown?pn.current.onKeyDown(_s):((0,Ue.ZP)(!1,"Picker not correct forward KeyDown operation. Please help to fire issue about this."),!1)},nu={formatList:$t,generateConfig:Ei,locale:so},ul=Qr(cn(zr,0),nu),Ls=(0,Kn.Z)(ul,2),ps=Ls[0],hs=Ls[1],md=Qr(cn(zr,1),nu),Ef=(0,Kn.Z)(md,2),Wl=Ef[0],zu=Ef[1],Xf=function(_s,pl){var fu=xr(_s,{locale:so,formatList:$t,generateConfig:Ei}),Lc=pl===0?ra:Eo;fu&&!Lc(fu)&&(_r(Yn(zr,fu,pl)),Yr(fu,pl))},yd=et({valueTexts:ps,onTextChange:function(_s){return Xf(_s,0)}}),Zl=(0,Kn.Z)(yd,3),Cu=Zl[0],Sc=Zl[1],Ts=Zl[2],wl=et({valueTexts:Wl,onTextChange:function(_s){return Xf(_s,1)}}),Ou=(0,Kn.Z)(wl,3),Kl=Ou[0],kc=Ou[1],mh=Ou[2],Lr=(0,Se.useState)(null),Af=(0,Kn.Z)(Lr,2),Qf=Af[0],hm=Af[1],e0=(0,Se.useState)(null),lp=(0,Kn.Z)(e0,2),mg=lp[0],dm=lp[1],yh=di(Cu,{formatList:$t,generateConfig:Ei,locale:so}),Jf=(0,Kn.Z)(yh,3),O0=Jf[0],t0=Jf[1],N0=Jf[2],ty=di(Kl,{formatList:$t,generateConfig:Ei,locale:so}),B0=(0,Kn.Z)(ty,3),R0=B0[0],ah=B0[1],Mh=B0[2],Mp=function(_s){dm(Yn(zr,_s,Ri)),Ri===0?t0(_s):ah(_s)},_d=function(){dm(Yn(zr,null,Ri)),Ri===0?N0():Mh()},up=Se.useState(Oo),Lp=(0,Kn.Z)(up,2),Tp=Lp[0],Vu=Lp[1];Se.useEffect(function(){Vu(Oo)},[Oo]);var k0=function(_s){if(fa&&Tp){var pl=cn(zr,Ri);pl&&qa(zr,Ri)}return ho==null?void 0:ho(_s)},n0=function(_s,pl){return{blurToCancel:!fa&&Wo,forwardKeyDown:Xl,onBlur:k0,isClickOutside:function(Lc){return!Nt([Ha.current,Po.current,Es.current,la.current],Lc)},onFocus:function(Lc){vo&&vo(Lc)},triggerOpen:function(Lc){Lc?Oa(Lc,_s,"open"):Oa(Lc,cn(zr,_s)?_s:!1,"blur")},onSubmit:function(){if(!zr||ll&&ll(zr[_s]))return!1;qa(zr,_s),pl(),Oa(!1,Ri,"confirm")},onCancel:function(){Oa(!1,_s,"cancel"),_r(qn),pl()}}},xd={onKeyDown:function(_s,pl){$a==null||$a(_s,pl)},changeOnBlur:fa},r0=De((0,Un.Z)((0,Un.Z)({},n0(0,Ts)),{},{open:ni,value:Cu},xd)),F0=(0,Kn.Z)(r0,2),Cv=F0[0],Hg=F0[1],Fh=Hg.focused,_0=Hg.typing,rc=De((0,Un.Z)((0,Un.Z)({},n0(1,mh)),{},{open:ji,value:Kl},xd)),eu=(0,Kn.Z)(rc,2),Ju=eu[0],xh=eu[1],ad=xh.focused,zd=xh.typing,i0=function(_s){qo&&qo(_s),!Oo&&!dt.current.contains(_s.target)&&!Ot.current.contains(_s.target)&&(mn[0]?mn[1]||qi(1):qi(0))},cp=function(_s){hi&&hi(_s),Oo&&(Fh||ad)&&!dt.current.contains(_s.target)&&!Ot.current.contains(_s.target)&&_s.preventDefault()},z0=qn&&qn[0]?$n(qn[0],{locale:so,format:"YYYYMMDDHHmmss",generateConfig:Ei}):"",Kc=qn&&qn[1]?$n(qn[1],{locale:so,format:"YYYYMMDDHHmmss",generateConfig:Ei}):"";(0,Se.useEffect)(function(){Oo||(_r(qn),!ps.length||ps[0]===""?Sc(""):hs!==Cu&&Ts(),!Wl.length||Wl[0]===""?kc(""):zu!==Kl&&mh())},[Oo,ps,Wl]),(0,Se.useEffect)(function(){_r(qn)},[z0,Kc]);var Sf=rn({cellRender:Yl,monthCellRender:yu,dateRender:Vl}),Dp=Se.useMemo(function(){if(Sf)return function(xu,_s){return Sf(xu,(0,Un.Z)((0,Un.Z)({},_s),{},{range:Ri?"end":"start"}))}},[Ri,Sf]);Rr&&(Rr.current={focus:function(){dt.current&&dt.current.focus()},blur:function(){dt.current&&dt.current.blur(),Ot.current&&Ot.current.blur()}});var fm=He(_u,Hu);function j0(){var xu=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,_s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},pl=null;Oo&&mg&&mg[0]&&mg[1]&&Ei.isAfter(mg[1],mg[0])&&(pl=mg);var fu=Fo;if(Fo&&(0,Ct.Z)(Fo)==="object"&&Fo.defaultValue){var Lc=Fo.defaultValue;fu=(0,Un.Z)((0,Un.Z)({},Fo),{},{defaultValue:cn(Lc,Ri)||void 0})}return Se.createElement(dn.Provider,{value:{inRange:!0,panelPosition:xu,rangedValue:Qf||zr,hoverRangedValue:pl}},Se.createElement(Hs,(0,pe.Z)({},on,_s,{cellRender:Dp,showTime:fu,mode:to[Ri],generateConfig:Ei,style:void 0,direction:Ia,disabledDate:Ri===0?ra:Eo,disabledTime:function(ld){return jl?jl(ld,Ri===0?"start":"end"):!1},className:Rt()((0,an.Z)({},"".concat(ei,"-panel-focused"),Ri===0?!_0:!zd)),value:cn(zr,Ri),locale:so,tabIndex:-1,onPanelChange:function(ld,hp){Ri===0&&N0(!0),Ri===1&&Mh(!0),lo(Yn(to,hp,Ri),Yn(zr,ld,Ri));var xg=ld;xu==="right"&&to[Ri]===hp&&(xg=An(xg,hp,Ei,-1)),Yr(xg,Ri)},onOk:null,onSelect:void 0,onChange:void 0,defaultValue:Ri===0?cn(zr,1):cn(zr,0)})))}var rf=0,ny=0;if(Ri&&Po.current&&ca.current&&Ha.current&&zt.current){rf=Po.current.offsetWidth+ca.current.offsetWidth;var u1=zt.current.offsetLeft>rf?zt.current.offsetLeft-rf:zt.current.offsetLeft,ry=Ha.current.offsetWidth,yg=zt.current.offsetWidth;ry&&yg&&rf>ry-yg-(Ia==="rtl"?0:u1)&&(ny=rf)}var Ix=Ia==="rtl"?{right:rf}:{left:rf};function c1(){var xu,_s=Ns(ei,to[Ri],oi),pl=Sl({prefixCls:ei,components:cs,needConfirmButton:Wo,okDisabled:!cn(zr,Ri)||ll&&ll(zr[Ri]),locale:so,onOk:function(){var Eg=cn(zr,Ri);Eg&&(qa(zr,Ri),na==null||na(zr),Oa(!1,Ri,"confirm"))}});if(Ga!=="time"&&!Fo){var fu=Er(Ri),Lc=An(fu,Ga,Ei),sd=to[Ri],ld=sd===Ga,hp=j0(ld?"left":!1,{pickerValue:fu,onPickerValueChange:function(Eg){Yr(Eg,Ri)}}),xg=j0("right",{pickerValue:Lc,onPickerValueChange:function(Eg){Yr(An(Eg,Ga,Ei,-1),Ri)}});Ia==="rtl"?xu=Se.createElement(Se.Fragment,null,xg,ld&&hp):xu=Se.createElement(Se.Fragment,null,hp,ld&&xg)}else xu=j0();var W0=Se.createElement("div",{className:"".concat(ei,"-panel-layout")},Se.createElement(Vs,{prefixCls:ei,presets:fm,onClick:function(Eg){qa(Eg,null),Oa(!1,Ri,"preset")},onHover:function(Eg){hm(Eg)}}),Se.createElement("div",null,Se.createElement("div",{className:"".concat(ei,"-panels")},xu),(_s||pl)&&Se.createElement("div",{className:"".concat(ei,"-footer")},_s,pl)));return bl&&(W0=bl(W0)),Se.createElement("div",{className:"".concat(ei,"-panel-container"),style:{marginLeft:ny},ref:Ha,onMouseDown:function(Eg){Eg.preventDefault()}},W0)}var bv=Se.createElement("div",{className:Rt()("".concat(ei,"-range-wrapper"),"".concat(ei,"-").concat(Ga,"-range-wrapper")),style:{minWidth:Ho}},Se.createElement("div",{ref:zt,className:"".concat(ei,"-range-arrow"),style:Ix}),c1()),o0;cr&&(o0=Se.createElement("span",{className:"".concat(ei,"-suffix"),onMouseDown:function(_s){_s.preventDefault()}},cr));var iy=Ru(ei,Tn,yr),Vg=Se.createElement("span",{onMouseDown:function(_s){_s.preventDefault(),_s.stopPropagation()},onMouseUp:function(_s){_s.preventDefault(),_s.stopPropagation();var pl=qn;mn[0]||(pl=Yn(pl,null,0)),mn[1]||(pl=Yn(pl,null,1)),qa(pl,null),Oa(!1,Ri,"clear")},className:"".concat(ei,"-clear"),role:"button"},iy),h1=Tn&&(cn(qn,0)&&!mn[0]||cn(qn,1)&&!mn[1]),gm={size:oo(Ga,$t[0],Ei)},pm=0,Pv=0;Po.current&&Es.current&&ca.current&&(Ri===0?Pv=Po.current.offsetWidth:(pm=rf,Pv=Es.current.offsetWidth));var d1=Ia==="rtl"?{right:pm}:{left:pm},tA=function(_s,pl){var fu=Yn(zr,_s,Ri);if(pl==="submit"||pl!=="key"&&!Wo){qa(fu,Ri),Ri===0?N0():Mh();var Lc=Ri===0?1:0;mn[Lc]?Oa(!1,!1,"confirm"):Oa(!1,Ri,"confirm")}else _r(fu)};return Se.createElement(Bt.Provider,{value:{operationRef:pn,hideHeader:Ga==="time",onDateMouseEnter:Mp,onDateMouseLeave:_d,hideRanges:!0,onSelect:tA,open:Oo}},Se.createElement(ns,{visible:Oo,popupElement:bv,popupStyle:Gr,prefixCls:ei,dropdownClassName:_i,dropdownAlign:ki,getPopupContainer:Ko,transitionName:xo,range:!0,direction:Ia},Se.createElement("div",(0,pe.Z)({ref:la,className:Rt()(ei,"".concat(ei,"-range"),Wi,(En={},(0,an.Z)(En,"".concat(ei,"-disabled"),mn[0]&&mn[1]),(0,an.Z)(En,"".concat(ei,"-focused"),Ri===0?Fh:ad),(0,an.Z)(En,"".concat(ei,"-rtl"),Ia==="rtl"),En)),style:Ci,onClick:i0,onMouseEnter:ro,onMouseLeave:sa,onMouseDown:cp,onMouseUp:Go},(0,Xn.Z)(on,{aria:!0,data:!0})),Se.createElement("div",{className:Rt()("".concat(ei,"-input"),(Dn={},(0,an.Z)(Dn,"".concat(ei,"-input-active"),Ri===0),(0,an.Z)(Dn,"".concat(ei,"-input-placeholder"),!!O0),Dn)),ref:Po},Se.createElement("input",(0,pe.Z)({id:mi,disabled:mn[0],readOnly:Dr||typeof $t[0]=="function"||!_0,value:O0||Cu,onChange:function(_s){Sc(_s.target.value)},autoFocus:ba,placeholder:cn(Vo,0)||"",ref:dt},Cv,gm,{autoComplete:Wa}))),Se.createElement("div",{className:"".concat(ei,"-range-separator"),ref:ca},fs),Se.createElement("div",{className:Rt()("".concat(ei,"-input"),(Ar={},(0,an.Z)(Ar,"".concat(ei,"-input-active"),Ri===1),(0,an.Z)(Ar,"".concat(ei,"-input-placeholder"),!!R0),Ar)),ref:Es},Se.createElement("input",(0,pe.Z)({disabled:mn[1],readOnly:Dr||typeof $t[0]=="function"||!zd,value:R0||Kl,onChange:function(_s){kc(_s.target.value)},placeholder:cn(Vo,1)||"",ref:Ot},Ju,gm,{autoComplete:Wa}))),Se.createElement("div",{className:"".concat(ei,"-active-bar"),style:(0,Un.Z)((0,Un.Z)({},d1),{},{width:Pv,position:"absolute"})}),o0,h1&&Vg)))}var rh=function(on){(0,jn.Z)(Dn,on);var En=(0,er.Z)(Dn);function Dn(){var Ar;(0,Gt.Z)(this,Dn);for(var Pr=arguments.length,Xr=new Array(Pr),ei=0;ei<Pr;ei++)Xr[ei]=arguments[ei];return Ar=En.call.apply(En,[this].concat(Xr)),(0,an.Z)((0,Rn.Z)(Ar),"pickerRef",Se.createRef()),(0,an.Z)((0,Rn.Z)(Ar),"focus",function(){Ar.pickerRef.current&&Ar.pickerRef.current.focus()}),(0,an.Z)((0,Rn.Z)(Ar),"blur",function(){Ar.pickerRef.current&&Ar.pickerRef.current.blur()}),Ar}return(0,ln.Z)(Dn,[{key:"render",value:function(){return Se.createElement(nh,(0,pe.Z)({},this.props,{pickerRef:this.pickerRef}))}}]),Dn}(Se.Component),Pc=rh,od=ph,Uc=Oe(19080),Gc=Oe(36355),Hc=Oe(1684),yf=Oe(19716),ef=Oe(32441),uc=Oe(9763),Gg=Oe(33234),xf=Oe(48183),Yh=Oe(64993),ih=Oe(9937),vh=Oe(17313),Nc=Oe(47585),Mc=Oe(74207),Bc=Oe(13826),Zs=Oe(92899),Ll=Oe(37613),Rc=Oe(83116);const Tu=(on,En,Dn,Ar)=>{const{lineHeight:Pr}=on,Xr=Math.floor(Dn*Pr)+2,ei=Math.max((En-Xr)/2,0),mi=Math.max(En-Xr-ei,0);return{padding:`${ei}px ${Ar}px ${mi}px`}},ku=on=>{const{componentCls:En,pickerCellCls:Dn,pickerCellInnerCls:Ar,cellHeight:Pr,motionDurationSlow:Xr,borderRadiusSM:ei,motionDurationMid:mi,cellHoverBg:Ci,lineWidth:Wi,lineType:Gr,colorPrimary:_i,cellActiveWithRangeBg:xo,colorTextLightSolid:ki,controlHeightSM:Ko,cellRangeBorderColor:Ei,pickerCellBorderGap:so,cellHoverWithRangeBg:Vo,cellWidth:ba,colorTextDisabled:ka,cellBgDisabled:Pa}=on;return{"&::before":{position:"absolute",top:"50%",insetInlineStart:0,insetInlineEnd:0,zIndex:1,height:Pr,transform:"translateY(-50%)",transition:`all ${Xr}`,content:'""'},[Ar]:{position:"relative",zIndex:2,display:"inline-block",minWidth:Pr,height:Pr,lineHeight:`${Pr}px`,borderRadius:ei,transition:`background ${mi}, border ${mi}`},"&-range-hover-start, &-range-hover-end":{[Ar]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&:hover:not(${Dn}-in-view),
&:hover:not(${Dn}-selected):not(${Dn}-range-start):not(${Dn}-range-end):not(${Dn}-range-hover-start):not(${Dn}-range-hover-end)`]:{[Ar]:{background:Ci}},[`&-in-view${Dn}-today ${Ar}`]:{"&::before":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,zIndex:1,border:`${Wi}px ${Gr} ${_i}`,borderRadius:ei,content:'""'}},[`&-in-view${Dn}-in-range`]:{position:"relative","&::before":{background:xo}},[`&-in-view${Dn}-selected ${Ar},
&-in-view${Dn}-range-start ${Ar},
&-in-view${Dn}-range-end ${Ar}`]:{color:ki,background:_i},[`&-in-view${Dn}-range-start:not(${Dn}-range-start-single),
&-in-view${Dn}-range-end:not(${Dn}-range-end-single)`]:{"&::before":{background:xo}},[`&-in-view${Dn}-range-start::before`]:{insetInlineStart:"50%"},[`&-in-view${Dn}-range-end::before`]:{insetInlineEnd:"50%"},[`&-in-view${Dn}-range-hover-start:not(${Dn}-in-range):not(${Dn}-range-start):not(${Dn}-range-end),
&-in-view${Dn}-range-hover-end:not(${Dn}-in-range):not(${Dn}-range-start):not(${Dn}-range-end),
&-in-view${Dn}-range-hover-start${Dn}-range-start-single,
&-in-view${Dn}-range-hover-start${Dn}-range-start${Dn}-range-end${Dn}-range-end-near-hover,
&-in-view${Dn}-range-hover-end${Dn}-range-start${Dn}-range-end${Dn}-range-start-near-hover,
&-in-view${Dn}-range-hover-end${Dn}-range-end-single,
&-in-view${Dn}-range-hover:not(${Dn}-in-range)`]:{"&::after":{position:"absolute",top:"50%",zIndex:0,height:Ko,borderTop:`${Wi}px dashed ${Ei}`,borderBottom:`${Wi}px dashed ${Ei}`,transform:"translateY(-50%)",transition:`all ${Xr}`,content:'""'}},"&-range-hover-start::after,\n &-range-hover-end::after,\n &-range-hover::after":{insetInlineEnd:0,insetInlineStart:so},[`&-in-view${Dn}-in-range${Dn}-range-hover::before,
&-in-view${Dn}-in-range${Dn}-range-hover-start::before,
&-in-view${Dn}-in-range${Dn}-range-hover-end::before,
&-in-view${Dn}-range-start${Dn}-range-hover::before,
&-in-view${Dn}-range-end${Dn}-range-hover::before,
&-in-view${Dn}-range-start:not(${Dn}-range-start-single)${Dn}-range-hover-start::before,
&-in-view${Dn}-range-end:not(${Dn}-range-end-single)${Dn}-range-hover-end::before,
${En}-panel
> :not(${En}-date-panel)
&-in-view${Dn}-in-range${Dn}-range-hover-start::before,
${En}-panel
> :not(${En}-date-panel)
&-in-view${Dn}-in-range${Dn}-range-hover-end::before`]:{background:Vo},[`&-in-view${Dn}-range-start:not(${Dn}-range-start-single):not(${Dn}-range-end) ${Ar}`]:{borderStartStartRadius:ei,borderEndStartRadius:ei,borderStartEndRadius:0,borderEndEndRadius:0},[`&-in-view${Dn}-range-end:not(${Dn}-range-end-single):not(${Dn}-range-start) ${Ar}`]:{borderStartStartRadius:0,borderEndStartRadius:0,borderStartEndRadius:ei,borderEndEndRadius:ei},[`&-range-hover${Dn}-range-end::after`]:{insetInlineStart:"50%"},[`tr > &-in-view${Dn}-range-hover:first-child::after,
tr > &-in-view${Dn}-range-hover-end:first-child::after,
&-in-view${Dn}-start${Dn}-range-hover-edge-start${Dn}-range-hover-edge-start-near-range::after,
&-in-view${Dn}-range-hover-edge-start:not(${Dn}-range-hover-edge-start-near-range)::after,
&-in-view${Dn}-range-hover-start::after`]:{insetInlineStart:(ba-Pr)/2,borderInlineStart:`${Wi}px dashed ${Ei}`,borderStartStartRadius:ei,borderEndStartRadius:ei},[`tr > &-in-view${Dn}-range-hover:last-child::after,
tr > &-in-view${Dn}-range-hover-start:last-child::after,
&-in-view${Dn}-end${Dn}-range-hover-edge-end${Dn}-range-hover-edge-end-near-range::after,
&-in-view${Dn}-range-hover-edge-end:not(${Dn}-range-hover-edge-end-near-range)::after,
&-in-view${Dn}-range-hover-end::after`]:{insetInlineEnd:(ba-Pr)/2,borderInlineEnd:`${Wi}px dashed ${Ei}`,borderStartEndRadius:ei,borderEndEndRadius:ei},"&-disabled":{color:ka,pointerEvents:"none",[Ar]:{background:"transparent"},"&::before":{background:Pa}},[`&-disabled${Dn}-today ${Ar}::before`]:{borderColor:ka}}},cu=on=>{const{componentCls:En,pickerCellCls:Dn,pickerCellInnerCls:Ar,pickerYearMonthCellWidth:Pr,pickerControlIconSize:Xr,cellWidth:ei,paddingSM:mi,paddingXS:Ci,paddingXXS:Wi,colorBgContainer:Gr,lineWidth:_i,lineType:xo,borderRadiusLG:ki,colorPrimary:Ko,colorTextHeading:Ei,colorSplit:so,pickerControlIconBorderWidth:Vo,colorIcon:ba,textHeight:ka,motionDurationMid:Pa,colorIconHover:Za,fontWeightStrong:Ga,cellHeight:Fo,pickerCellPaddingVertical:rl,colorTextDisabled:Qs,colorText:fs,fontSize:_l,cellHoverWithRangeBg:zl,motionDurationSlow:Rl,withoutTimeCellHeight:mu,pickerQuarterPanelContentHeight:Tl,colorLink:ll,colorLinkActive:jl,colorLinkHover:Vl,cellRangeBorderColor:yu,borderRadiusSM:Yl,colorTextLightSolid:bl,cellHoverBg:_u,timeColumnHeight:Hu,timeColumnWidth:Pn,timeCellHeight:Tn,controlItemBgActive:cr,marginXXS:yr,pickerDatePanelPaddingHorizontal:Rr}=on,Dr=ei*7+Rr*2,si=(Dr-Ci*2)/3-Pr-mi,oi=(Dr-Ci*2)/4-Pr;return{[En]:{"&-panel":{display:"inline-flex",flexDirection:"column",textAlign:"center",background:Gr,border:`${_i}px ${xo} ${so}`,borderRadius:ki,outline:"none","&-focused":{borderColor:Ko},"&-rtl":{direction:"rtl",[`${En}-prev-icon,
${En}-super-prev-icon`]:{transform:"rotate(45deg)"},[`${En}-next-icon,
${En}-super-next-icon`]:{transform:"rotate(-135deg)"}}},"&-decade-panel,\n &-year-panel,\n &-quarter-panel,\n &-month-panel,\n &-week-panel,\n &-date-panel,\n &-time-panel":{display:"flex",flexDirection:"column",width:Dr},"&-header":{display:"flex",padding:`0 ${Ci}px`,color:Ei,borderBottom:`${_i}px ${xo} ${so}`,"> *":{flex:"none"},button:{padding:0,color:ba,lineHeight:`${ka}px`,background:"transparent",border:0,cursor:"pointer",transition:`color ${Pa}`,fontSize:"inherit"},"> button":{minWidth:"1.6em",fontSize:_l,"&:hover":{color:Za}},"&-view":{flex:"auto",fontWeight:Ga,lineHeight:`${ka}px`,button:{color:"inherit",fontWeight:"inherit",verticalAlign:"top","&:not(:first-child)":{marginInlineStart:Ci},"&:hover":{color:Ko}}}},"&-prev-icon,\n &-next-icon,\n &-super-prev-icon,\n &-super-next-icon":{position:"relative",display:"inline-block",width:Xr,height:Xr,"&::before":{position:"absolute",top:0,insetInlineStart:0,display:"inline-block",width:Xr,height:Xr,border:"0 solid currentcolor",borderBlockStartWidth:Vo,borderBlockEndWidth:0,borderInlineStartWidth:Vo,borderInlineEndWidth:0,content:'""'}},"&-super-prev-icon,\n &-super-next-icon":{"&::after":{position:"absolute",top:Math.ceil(Xr/2),insetInlineStart:Math.ceil(Xr/2),display:"inline-block",width:Xr,height:Xr,border:"0 solid currentcolor",borderBlockStartWidth:Vo,borderBlockEndWidth:0,borderInlineStartWidth:Vo,borderInlineEndWidth:0,content:'""'}},"&-prev-icon,\n &-super-prev-icon":{transform:"rotate(-45deg)"},"&-next-icon,\n &-super-next-icon":{transform:"rotate(135deg)"},"&-content":{width:"100%",tableLayout:"fixed",borderCollapse:"collapse","th, td":{position:"relative",minWidth:Fo,fontWeight:"normal"},th:{height:Fo+rl*2,color:fs,verticalAlign:"middle"}},"&-cell":Object.assign({padding:`${rl}px 0`,color:Qs,cursor:"pointer","&-in-view":{color:fs}},ku(on)),[`&-date-panel ${En}-cell-in-view${En}-cell-in-range${En}-cell-range-hover-start ${Ar},
&-date-panel ${En}-cell-in-view${En}-cell-in-range${En}-cell-range-hover-end ${Ar}`]:{"&::after":{position:"absolute",top:0,bottom:0,zIndex:-1,background:zl,transition:`all ${Rl}`,content:'""'}},[`&-date-panel
${En}-cell-in-view${En}-cell-in-range${En}-cell-range-hover-start
${Ar}::after`]:{insetInlineEnd:-(ei-Fo)/2,insetInlineStart:0},[`&-date-panel ${En}-cell-in-view${En}-cell-in-range${En}-cell-range-hover-end ${Ar}::after`]:{insetInlineEnd:0,insetInlineStart:-(ei-Fo)/2},[`&-range-hover${En}-range-start::after`]:{insetInlineEnd:"50%"},"&-decade-panel,\n &-year-panel,\n &-quarter-panel,\n &-month-panel":{[`${En}-content`]:{height:mu*4},[Ar]:{padding:`0 ${Ci}px`}},"&-quarter-panel":{[`${En}-content`]:{height:Tl},[`${En}-cell-range-hover-start::after`]:{insetInlineStart:oi,borderInlineStart:`${_i}px dashed ${yu}`,[`${En}-panel-rtl &`]:{insetInlineEnd:oi,borderInlineEnd:`${_i}px dashed ${yu}`}},[`${En}-cell-range-hover-end::after`]:{insetInlineEnd:oi,borderInlineEnd:`${_i}px dashed ${yu}`,[`${En}-panel-rtl &`]:{insetInlineStart:oi,borderInlineStart:`${_i}px dashed ${yu}`}}},[`&-panel ${En}-footer`]:{borderTop:`${_i}px ${xo} ${so}`},"&-footer":{width:"min-content",minWidth:"100%",lineHeight:`${ka-2*_i}px`,textAlign:"center","&-extra":{padding:`0 ${mi}px`,lineHeight:`${ka-2*_i}px`,textAlign:"start","&:not(:last-child)":{borderBottom:`${_i}px ${xo} ${so}`}}},"&-now":{textAlign:"start"},"&-today-btn":{color:ll,"&:hover":{color:Vl},"&:active":{color:jl},[`&${En}-today-btn-disabled`]:{color:Qs,cursor:"not-allowed"}},"&-decade-panel":{[Ar]:{padding:`0 ${Ci/2}px`},[`${En}-cell::before`]:{display:"none"}},"&-year-panel,\n &-quarter-panel,\n &-month-panel":{[`${En}-body`]:{padding:`0 ${Ci}px`},[Ar]:{width:Pr},[`${En}-cell-range-hover-start::after`]:{borderStartStartRadius:Yl,borderEndStartRadius:Yl,borderStartEndRadius:0,borderEndEndRadius:0,[`${En}-panel-rtl &`]:{borderStartStartRadius:0,borderEndStartRadius:0,borderStartEndRadius:Yl,borderEndEndRadius:Yl}},[`${En}-cell-range-hover-end::after`]:{borderStartStartRadius:0,borderEndStartRadius:0,borderStartEndRadius:Yl,borderEndEndRadius:Yl,[`${En}-panel-rtl &`]:{borderStartStartRadius:Yl,borderEndStartRadius:Yl,borderStartEndRadius:0,borderEndEndRadius:0}}},"&-year-panel,\n &-month-panel":{[`${En}-cell-range-hover-start::after`]:{insetInlineStart:si,borderInlineStart:`${_i}px dashed ${yu}`,[`${En}-panel-rtl &`]:{insetInlineEnd:si,borderInlineEnd:`${_i}px dashed ${yu}`}},[`${En}-cell-range-hover-end::after`]:{insetInlineEnd:si,borderInlineEnd:`${_i}px dashed ${yu}`,[`${En}-panel-rtl &`]:{insetInlineStart:si,borderInlineStart:`${_i}px dashed ${yu}`}}},"&-week-panel":{[`${En}-body`]:{padding:`${Ci}px ${mi}px`},[`${En}-cell`]:{[`&:hover ${Ar},
&-selected ${Ar},
${Ar}`]:{background:"transparent !important"}},"&-row":{td:{"&:before":{transition:`background ${Pa}`},"&:first-child:before":{borderStartStartRadius:Yl,borderEndStartRadius:Yl},"&:last-child:before":{borderStartEndRadius:Yl,borderEndEndRadius:Yl}},"&:hover td":{"&:before":{background:_u}},"&-range-start td,\n &-range-end td,\n &-selected td":{[`&${Dn}`]:{"&:before":{background:Ko},[`&${En}-cell-week`]:{color:new Yh.C(bl).setAlpha(.5).toHexString()},[Ar]:{color:bl}}},"&-range-hover td:before":{background:cr}}},"&-date-panel":{[`${En}-body`]:{padding:`${Ci}px ${Rr}px`},[`${En}-content`]:{width:ei*7,th:{width:ei,boxSizing:"border-box",padding:0}}},"&-datetime-panel":{display:"flex",[`${En}-time-panel`]:{borderInlineStart:`${_i}px ${xo} ${so}`},[`${En}-date-panel,
${En}-time-panel`]:{transition:`opacity ${Rl}`},"&-active":{[`${En}-date-panel,
${En}-time-panel`]:{opacity:.3,"&-active":{opacity:1}}}},"&-time-panel":{width:"auto",minWidth:"auto",direction:"ltr",[`${En}-content`]:{display:"flex",flex:"auto",height:Hu},"&-column":{flex:"1 0 auto",width:Pn,margin:`${Wi}px 0`,padding:0,overflowY:"hidden",textAlign:"start",listStyle:"none",transition:`background ${Pa}`,overflowX:"hidden","&::after":{display:"block",height:Hu-Tn,content:'""'},"&:not(:first-child)":{borderInlineStart:`${_i}px ${xo} ${so}`},"&-active":{background:new Yh.C(cr).setAlpha(.2).toHexString()},"&:hover":{overflowY:"auto"},"> li":{margin:0,padding:0,[`&${En}-time-panel-cell`]:{marginInline:yr,[`${En}-time-panel-cell-inner`]:{display:"block",width:Pn-2*yr,height:Tn,margin:0,paddingBlock:0,paddingInlineEnd:0,paddingInlineStart:(Pn-Tn)/2,color:fs,lineHeight:`${Tn}px`,borderRadius:Yl,cursor:"pointer",transition:`background ${Pa}`,"&:hover":{background:_u}},"&-selected":{[`${En}-time-panel-cell-inner`]:{background:cr}},"&-disabled":{[`${En}-time-panel-cell-inner`]:{color:Qs,background:"transparent",cursor:"not-allowed"}}}}}},[`&-datetime-panel ${En}-time-panel-column:after`]:{height:Hu-Tn+Wi*2}}}},wu=on=>{const{componentCls:En,colorBgContainer:Dn,colorError:Ar,errorActiveShadow:Pr,colorWarning:Xr,warningActiveShadow:ei}=on;return{[`${En}:not(${En}-disabled)`]:{[`&${En}-status-error`]:{"&, &:not([disabled]):hover":{backgroundColor:Dn,borderColor:Ar},[`&${En}-focused, &:focus`]:Object.assign({},(0,ih.M1)((0,Ll.TS)(on,{activeBorderColor:Ar,activeShadow:Pr}))),[`${En}-active-bar`]:{background:Ar}},[`&${En}-status-warning`]:{"&, &:not([disabled]):hover":{backgroundColor:Dn,borderColor:Xr},[`&${En}-focused, &:focus`]:Object.assign({},(0,ih.M1)((0,Ll.TS)(on,{activeBorderColor:Xr,activeShadow:ei}))),[`${En}-active-bar`]:{background:Xr}}}}},Du=on=>{const{componentCls:En,antCls:Dn,controlHeight:Ar,fontSize:Pr,paddingInline:Xr,colorBgContainer:ei,lineWidth:mi,lineType:Ci,colorBorder:Wi,borderRadius:Gr,motionDurationMid:_i,colorBgContainerDisabled:xo,colorTextDisabled:ki,colorTextPlaceholder:Ko,controlHeightLG:Ei,fontSizeLG:so,controlHeightSM:Vo,paddingInlineSM:ba,paddingXS:ka,marginXS:Pa,colorTextDescription:Za,lineWidthBold:Ga,lineHeight:Fo,colorPrimary:rl,motionDurationSlow:Qs,zIndexPopup:fs,paddingXXS:_l,paddingSM:zl,textHeight:Rl,cellActiveWithRangeBg:mu,colorPrimaryBorder:Tl,sizePopupArrow:ll,borderRadiusXS:jl,borderRadiusOuter:Vl,colorBgElevated:yu,borderRadiusLG:Yl,boxShadowSecondary:bl,borderRadiusSM:_u,colorSplit:Hu,cellHoverBg:Pn,presetsWidth:Tn,presetsMaxWidth:cr,boxShadowPopoverArrow:yr,colorTextQuaternary:Rr}=on;return[{[En]:Object.assign(Object.assign(Object.assign({},(0,vh.Wf)(on)),Tu(on,Ar,Pr,Xr)),{position:"relative",display:"inline-flex",alignItems:"center",background:ei,lineHeight:1,border:`${mi}px ${Ci} ${Wi}`,borderRadius:Gr,transition:`border ${_i}, box-shadow ${_i}`,"&:hover, &-focused":Object.assign({},(0,ih.pU)(on)),"&-focused":Object.assign({},(0,ih.M1)(on)),[`&${En}-disabled`]:{background:xo,borderColor:Wi,cursor:"not-allowed",[`${En}-suffix`]:{color:Rr}},[`&${En}-borderless`]:{backgroundColor:"transparent !important",borderColor:"transparent !important",boxShadow:"none !important"},[`${En}-input`]:{position:"relative",display:"inline-flex",alignItems:"center",width:"100%","> input":Object.assign(Object.assign({},(0,ih.ik)(on)),{flex:"auto",minWidth:1,height:"auto",padding:0,background:"transparent",border:0,borderRadius:0,"&:focus":{boxShadow:"none"},"&[disabled]":{background:"transparent"}}),"&:hover":{[`${En}-clear`]:{opacity:1}},"&-placeholder":{"> input":{color:Ko}}},"&-large":Object.assign(Object.assign({},Tu(on,Ei,so,Xr)),{[`${En}-input > input`]:{fontSize:so}}),"&-small":Object.assign({},Tu(on,Vo,Pr,ba)),[`${En}-suffix`]:{display:"flex",flex:"none",alignSelf:"center",marginInlineStart:ka/2,color:ki,lineHeight:1,pointerEvents:"none","> *":{verticalAlign:"top","&:not(:last-child)":{marginInlineEnd:Pa}}},[`${En}-clear`]:{position:"absolute",top:"50%",insetInlineEnd:0,color:ki,lineHeight:1,background:ei,transform:"translateY(-50%)",cursor:"pointer",opacity:0,transition:`opacity ${_i}, color ${_i}`,"> *":{verticalAlign:"top"},"&:hover":{color:Za}},[`${En}-separator`]:{position:"relative",display:"inline-block",width:"1em",height:so,color:ki,fontSize:so,verticalAlign:"top",cursor:"default",[`${En}-focused &`]:{color:Za},[`${En}-range-separator &`]:{[`${En}-disabled &`]:{cursor:"not-allowed"}}},"&-range":{position:"relative",display:"inline-flex",[`${En}-clear`]:{insetInlineEnd:Xr},"&:hover":{[`${En}-clear`]:{opacity:1}},[`${En}-active-bar`]:{bottom:-mi,height:Ga,marginInlineStart:Xr,background:rl,opacity:0,transition:`all ${Qs} ease-out`,pointerEvents:"none"},[`&${En}-focused`]:{[`${En}-active-bar`]:{opacity:1}},[`${En}-range-separator`]:{alignItems:"center",padding:`0 ${ka}px`,lineHeight:1},[`&${En}-small`]:{[`${En}-clear`]:{insetInlineEnd:ba},[`${En}-active-bar`]:{marginInlineStart:ba}}},"&-dropdown":Object.assign(Object.assign(Object.assign({},(0,vh.Wf)(on)),cu(on)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:fs,[`&${En}-dropdown-hidden`]:{display:"none"},[`&${En}-dropdown-placement-bottomLeft`]:{[`${En}-range-arrow`]:{top:0,display:"block",transform:"translateY(-100%)"}},[`&${En}-dropdown-placement-topLeft`]:{[`${En}-range-arrow`]:{bottom:0,display:"block",transform:"translateY(100%) rotate(180deg)"}},[`&${Dn}-slide-up-enter${Dn}-slide-up-enter-active${En}-dropdown-placement-topLeft,
&${Dn}-slide-up-enter${Dn}-slide-up-enter-active${En}-dropdown-placement-topRight,
&${Dn}-slide-up-appear${Dn}-slide-up-appear-active${En}-dropdown-placement-topLeft,
&${Dn}-slide-up-appear${Dn}-slide-up-appear-active${En}-dropdown-placement-topRight`]:{animationName:Bc.Qt},[`&${Dn}-slide-up-enter${Dn}-slide-up-enter-active${En}-dropdown-placement-bottomLeft,
&${Dn}-slide-up-enter${Dn}-slide-up-enter-active${En}-dropdown-placement-bottomRight,
&${Dn}-slide-up-appear${Dn}-slide-up-appear-active${En}-dropdown-placement-bottomLeft,
&${Dn}-slide-up-appear${Dn}-slide-up-appear-active${En}-dropdown-placement-bottomRight`]:{animationName:Bc.fJ},[`&${Dn}-slide-up-leave${Dn}-slide-up-leave-active${En}-dropdown-placement-topLeft,
&${Dn}-slide-up-leave${Dn}-slide-up-leave-active${En}-dropdown-placement-topRight`]:{animationName:Bc.ly},[`&${Dn}-slide-up-leave${Dn}-slide-up-leave-active${En}-dropdown-placement-bottomLeft,
&${Dn}-slide-up-leave${Dn}-slide-up-leave-active${En}-dropdown-placement-bottomRight`]:{animationName:Bc.Uw},[`${En}-panel > ${En}-time-panel`]:{paddingTop:_l},[`${En}-ranges`]:{marginBottom:0,padding:`${_l}px ${zl}px`,overflow:"hidden",lineHeight:`${Rl-2*mi-ka/2}px`,textAlign:"start",listStyle:"none",display:"flex",justifyContent:"space-between","> li":{display:"inline-block"},[`${En}-preset > ${Dn}-tag-blue`]:{color:rl,background:mu,borderColor:Tl,cursor:"pointer"},[`${En}-ok`]:{marginInlineStart:"auto"}},[`${En}-range-wrapper`]:{display:"flex",position:"relative"},[`${En}-range-arrow`]:Object.assign({position:"absolute",zIndex:1,display:"none",marginInlineStart:Xr*1.5,transition:`left ${Qs} ease-out`},(0,Nc.r)(ll,jl,Vl,yu,yr)),[`${En}-panel-container`]:{overflow:"hidden",verticalAlign:"top",background:yu,borderRadius:Yl,boxShadow:bl,transition:`margin ${Qs}`,[`${En}-panel-layout`]:{display:"flex",flexWrap:"nowrap",alignItems:"stretch"},[`${En}-presets`]:{display:"flex",flexDirection:"column",minWidth:Tn,maxWidth:cr,ul:{height:0,flex:"auto",listStyle:"none",overflow:"auto",margin:0,padding:ka,borderInlineEnd:`${mi}px ${Ci} ${Hu}`,li:Object.assign(Object.assign({},vh.vS),{borderRadius:_u,paddingInline:ka,paddingBlock:(Vo-Math.round(Pr*Fo))/2,cursor:"pointer",transition:`all ${Qs}`,"+ li":{marginTop:Pa},"&:hover":{background:Pn}})}},[`${En}-panels`]:{display:"inline-flex",flexWrap:"nowrap",direction:"ltr",[`${En}-panel`]:{borderWidth:`0 0 ${mi}px`},"&:last-child":{[`${En}-panel`]:{borderWidth:0}}},[`${En}-panel`]:{verticalAlign:"top",background:"transparent",borderRadius:0,borderWidth:0,[`${En}-content,
table`]:{textAlign:"center"},"&-focused":{borderColor:Wi}}}}),"&-dropdown-range":{padding:`${ll*2/3}px 0`,"&-hidden":{display:"none"}},"&-rtl":{direction:"rtl",[`${En}-separator`]:{transform:"rotate(180deg)"},[`${En}-footer`]:{"&-extra":{direction:"rtl"}}}})},(0,Bc.oN)(on,"slide-up"),(0,Bc.oN)(on,"slide-down"),(0,Zs.Fm)(on,"move-up"),(0,Zs.Fm)(on,"move-down")]},Fu=on=>{const{componentCls:En,controlHeightLG:Dn,paddingXXS:Ar,padding:Pr}=on;return{pickerCellCls:`${En}-cell`,pickerCellInnerCls:`${En}-cell-inner`,pickerYearMonthCellWidth:Dn*1.5,pickerQuarterPanelContentHeight:Dn*1.4,pickerCellPaddingVertical:Ar+Ar/2,pickerCellBorderGap:2,pickerControlIconSize:7,pickerControlIconBorderWidth:1.5,pickerDatePanelPaddingHorizontal:Pr+Ar/2}},tf=on=>({cellHoverBg:on.controlItemBgHover,cellActiveWithRangeBg:on.controlItemBgActive,cellHoverWithRangeBg:new Yh.C(on.colorPrimary).lighten(35).toHexString(),cellRangeBorderColor:new Yh.C(on.colorPrimary).lighten(20).toHexString(),cellBgDisabled:on.colorBgContainerDisabled,timeColumnWidth:on.controlHeightLG*1.4,timeColumnHeight:28*8,timeCellHeight:28,cellWidth:on.controlHeightSM*1.5,cellHeight:on.controlHeightSM,textHeight:on.controlHeightLG,withoutTimeCellHeight:on.controlHeightLG*1.65});var Qu=(0,Rc.Z)("DatePicker",on=>{const En=(0,Ll.TS)((0,ih.e5)(on),Fu(on));return[Du(En),wu(En),(0,Mc.c)(on,{focusElCls:`${on.componentCls}-focused`})]},on=>Object.assign(Object.assign(Object.assign({},(0,ih.TM)(on)),tf(on)),{presetsWidth:120,presetsMaxWidth:200,zIndexPopup:on.zIndexPopupBase+50}));function Iu(on,En,Dn){return Dn!==void 0?Dn:En==="year"&&on.lang.yearPlaceholder?on.lang.yearPlaceholder:En==="quarter"&&on.lang.quarterPlaceholder?on.lang.quarterPlaceholder:En==="month"&&on.lang.monthPlaceholder?on.lang.monthPlaceholder:En==="week"&&on.lang.weekPlaceholder?on.lang.weekPlaceholder:En==="time"&&on.timePickerLocale.placeholder?on.timePickerLocale.placeholder:on.lang.placeholder}function oh(on,En,Dn){return Dn!==void 0?Dn:En==="year"&&on.lang.yearPlaceholder?on.lang.rangeYearPlaceholder:En==="quarter"&&on.lang.quarterPlaceholder?on.lang.rangeQuarterPlaceholder:En==="month"&&on.lang.monthPlaceholder?on.lang.rangeMonthPlaceholder:En==="week"&&on.lang.weekPlaceholder?on.lang.rangeWeekPlaceholder:En==="time"&&on.timePickerLocale.placeholder?on.timePickerLocale.rangePlaceholder:on.lang.rangePlaceholder}function kh(on,En){const Dn={adjustX:1,adjustY:1};switch(En){case"bottomLeft":return{points:["tl","bl"],offset:[0,4],overflow:Dn};case"bottomRight":return{points:["tr","br"],offset:[0,4],overflow:Dn};case"topLeft":return{points:["bl","tl"],offset:[0,-4],overflow:Dn};case"topRight":return{points:["br","tr"],offset:[0,-4],overflow:Dn};default:return{points:on==="rtl"?["tr","br"]:["tl","bl"],offset:[0,4],overflow:Dn}}}function Kf(on){return on?Array.isArray(on)?on:[on]:[]}function Da(on){const{format:En,picker:Dn,showHour:Ar,showMinute:Pr,showSecond:Xr,use12Hours:ei}=on,mi=Kf(En)[0],Ci=Object.assign({},on);return En&&Array.isArray(En)&&(Ci.format=mi),mi&&typeof mi=="string"&&(!mi.includes("s")&&Xr===void 0&&(Ci.showSecond=!1),!mi.includes("m")&&Pr===void 0&&(Ci.showMinute=!1),!mi.includes("H")&&!mi.includes("h")&&!mi.includes("K")&&!mi.includes("k")&&Ar===void 0&&(Ci.showHour=!1),(mi.includes("a")||mi.includes("A"))&&ei===void 0&&(Ci.use12Hours=!0)),Dn==="time"?Ci:(typeof mi=="function"&&delete Ci.format,{showTime:Ci})}function Cl(on,En,Dn){if(on===!1)return!1;const Ar={clearIcon:En!=null?En:Dn};return typeof on=="object"?Object.assign(Object.assign({},Ar),on):Ar}var dr=Oe(3113);function wi(on){return Se.createElement(dr.ZP,Object.assign({size:"small",type:"primary"},on))}var Yf={button:wi},Xh=function(on,En){var Dn={};for(var Ar in on)Object.prototype.hasOwnProperty.call(on,Ar)&&En.indexOf(Ar)<0&&(Dn[Ar]=on[Ar]);if(on!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Pr=0,Ar=Object.getOwnPropertySymbols(on);Pr<Ar.length;Pr++)En.indexOf(Ar[Pr])<0&&Object.prototype.propertyIsEnumerable.call(on,Ar[Pr])&&(Dn[Ar[Pr]]=on[Ar[Pr]]);return Dn};function Fd(on){return(0,Se.forwardRef)((Dn,Ar)=>{const{prefixCls:Pr,getPopupContainer:Xr,className:ei,placement:mi,size:Ci,disabled:Wi,bordered:Gr=!0,placeholder:_i,popupClassName:xo,dropdownClassName:ki,status:Ko,clearIcon:Ei,allowClear:so,rootClassName:Vo}=Dn,ba=Xh(Dn,["prefixCls","getPopupContainer","className","placement","size","disabled","bordered","placeholder","popupClassName","dropdownClassName","status","clearIcon","allowClear","rootClassName"]),ka=Se.useRef(null),{getPrefixCls:Pa,direction:Za,getPopupContainer:Ga}=(0,Se.useContext)(Gc.E_),Fo=Pa("picker",Pr),{compactSize:rl,compactItemClassnames:Qs}=(0,Gg.ri)(Fo,Za),{format:fs,showTime:_l,picker:zl}=Dn,Rl=Pa(),[mu,Tl]=Qu(Fo),ll=Object.assign(Object.assign({},_l?Da(Object.assign({format:fs,picker:zl},_l)):{}),zl==="time"?Da(Object.assign(Object.assign({format:fs},Dn),{picker:zl})):{}),jl=(0,yf.Z)(yr=>{var Rr;return(Rr=Ci!=null?Ci:rl)!==null&&Rr!==void 0?Rr:yr}),Vl=Se.useContext(Hc.Z),yu=Wi!=null?Wi:Vl,Yl=(0,Se.useContext)(ef.aM),{hasFeedback:bl,status:_u,feedbackIcon:Hu}=Yl,Pn=Se.createElement(Se.Fragment,null,zl==="time"?Se.createElement(vt,null):Se.createElement($e,null),bl&&Hu);(0,Se.useImperativeHandle)(Ar,()=>({focus:()=>{var yr;return(yr=ka.current)===null||yr===void 0?void 0:yr.focus()},blur:()=>{var yr;return(yr=ka.current)===null||yr===void 0?void 0:yr.blur()}}));const[Tn]=(0,uc.Z)("Calendar",xf.Z),cr=Object.assign(Object.assign({},Tn),Dn.locale);return mu(Se.createElement(Pc,Object.assign({separator:Se.createElement("span",{"aria-label":"to",className:`${Fo}-separator`},Se.createElement(Xt,null)),disabled:yu,ref:ka,dropdownAlign:kh(Za,mi),placeholder:oh(cr,zl,_i),suffixIcon:Pn,prevIcon:Se.createElement("span",{className:`${Fo}-prev-icon`}),nextIcon:Se.createElement("span",{className:`${Fo}-next-icon`}),superPrevIcon:Se.createElement("span",{className:`${Fo}-super-prev-icon`}),superNextIcon:Se.createElement("span",{className:`${Fo}-super-next-icon`}),transitionName:`${Rl}-slide-up`},ba,ll,{className:Rt()({[`${Fo}-${jl}`]:jl,[`${Fo}-borderless`]:!Gr},(0,Uc.Z)(Fo,(0,Uc.F)(_u,Ko),bl),Tl,Qs,ei,Vo),locale:cr.lang,prefixCls:Fo,getPopupContainer:Xr||Ga,generateConfig:on,components:Yf,direction:Za,dropdownClassName:Rt()(Tl,xo||ki,Vo),allowClear:Cl(so,Ei,Se.createElement(Lt.Z,null))})))})}var nf=function(on,En){var Dn={};for(var Ar in on)Object.prototype.hasOwnProperty.call(on,Ar)&&En.indexOf(Ar)<0&&(Dn[Ar]=on[Ar]);if(on!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Pr=0,Ar=Object.getOwnPropertySymbols(on);Pr<Ar.length;Pr++)En.indexOf(Ar[Pr])<0&&Object.prototype.propertyIsEnumerable.call(on,Ar[Pr])&&(Dn[Ar[Pr]]=on[Ar[Pr]]);return Dn};function Pp(on){function En(Ci,Wi){const Gr=Wi==="TimePicker"?"timePicker":"datePicker",_i=(0,Se.forwardRef)((xo,ki)=>{const{prefixCls:Ko,getPopupContainer:Ei,style:so,className:Vo,rootClassName:ba,size:ka,bordered:Pa=!0,placement:Za,placeholder:Ga,popupClassName:Fo,dropdownClassName:rl,disabled:Qs,status:fs,clearIcon:_l,allowClear:zl}=xo,Rl=nf(xo,["prefixCls","getPopupContainer","style","className","rootClassName","size","bordered","placement","placeholder","popupClassName","dropdownClassName","disabled","status","clearIcon","allowClear"]),{getPrefixCls:mu,direction:Tl,getPopupContainer:ll,[Gr]:jl}=(0,Se.useContext)(Gc.E_),Vl=mu("picker",Ko),{compactSize:yu,compactItemClassnames:Yl}=(0,Gg.ri)(Vl,Tl),bl=Se.useRef(null),{format:_u,showTime:Hu}=xo,[Pn,Tn]=Qu(Vl);(0,Se.useImperativeHandle)(ki,()=>({focus:()=>{var ro;return(ro=bl.current)===null||ro===void 0?void 0:ro.focus()},blur:()=>{var ro;return(ro=bl.current)===null||ro===void 0?void 0:ro.blur()}}));const cr={showToday:!0};let yr={};Ci&&(yr.picker=Ci);const Rr=Ci||xo.picker;yr=Object.assign(Object.assign(Object.assign({},yr),Hu?Da(Object.assign({format:_u,picker:Rr},Hu)):{}),Rr==="time"?Da(Object.assign(Object.assign({format:_u},xo),{picker:Rr})):{});const Dr=mu(),si=(0,yf.Z)(ro=>{var sa;return(sa=ka!=null?ka:yu)!==null&&sa!==void 0?sa:ro}),oi=Se.useContext(Hc.Z),ti=Qs!=null?Qs:oi,Ni=(0,Se.useContext)(ef.aM),{hasFeedback:pi,status:Di,feedbackIcon:vo}=Ni,ho=Se.createElement(Se.Fragment,null,Rr==="time"?Se.createElement(vt,null):Se.createElement($e,null),pi&&vo),[hi]=(0,uc.Z)("DatePicker",xf.Z),Go=Object.assign(Object.assign({},hi),xo.locale);return Pn(Se.createElement(od,Object.assign({ref:bl,placeholder:Iu(Go,Rr,Ga),suffixIcon:ho,dropdownAlign:kh(Tl,Za),prevIcon:Se.createElement("span",{className:`${Vl}-prev-icon`}),nextIcon:Se.createElement("span",{className:`${Vl}-next-icon`}),superPrevIcon:Se.createElement("span",{className:`${Vl}-super-prev-icon`}),superNextIcon:Se.createElement("span",{className:`${Vl}-super-next-icon`}),transitionName:`${Dr}-slide-up`},cr,Rl,yr,{locale:Go.lang,className:Rt()({[`${Vl}-${si}`]:si,[`${Vl}-borderless`]:!Pa},(0,Uc.Z)(Vl,(0,Uc.F)(Di,fs),pi),Tn,Yl,jl==null?void 0:jl.className,Vo,ba),style:Object.assign(Object.assign({},jl==null?void 0:jl.style),so),prefixCls:Vl,getPopupContainer:Ei||ll,generateConfig:on,components:Yf,direction:Tl,disabled:ti,dropdownClassName:Rt()(Tn,ba,Fo||rl),allowClear:Cl(zl,_l,Se.createElement(Lt.Z,null))})))});return Wi&&(_i.displayName=Wi),_i}const Dn=En(),Ar=En("week","WeekPicker"),Pr=En("month","MonthPicker"),Xr=En("year","YearPicker"),ei=En("time","TimePicker"),mi=En("quarter","QuarterPicker");return{DatePicker:Dn,WeekPicker:Ar,MonthPicker:Pr,YearPicker:Xr,TimePicker:ei,QuarterPicker:mi}}const sp=null;function Gu(on){const{DatePicker:En,WeekPicker:Dn,MonthPicker:Ar,YearPicker:Pr,TimePicker:Xr,QuarterPicker:ei}=Pp(on),mi=Fd(on),Ci=En;return Ci.WeekPicker=Dn,Ci.MonthPicker=Ar,Ci.YearPicker=Pr,Ci.RangePicker=mi,Ci.TimePicker=Xr,Ci.QuarterPicker=ei,Ci}var Ps=Gu;const cl=Ps(xe);function Vc(on){const En=kh(on.direction,on.placement);return En.overflow.adjustY=!1,En.overflow.adjustX=!1,Object.assign(Object.assign({},on),{dropdownAlign:En})}const $l=(0,ce.Z)(cl,"picker",null,Vc);cl._InternalPanelDoNotUseOrYouWillBeFired=$l;const xl=(0,ce.Z)(cl.RangePicker,"picker",null,Vc);cl._InternalRangePanelDoNotUseOrYouWillBeFired=xl,cl.generatePicker=Ps;var cc=cl},28103:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Me}});var Ge=Oe(92310),tt=Oe.n(Ge),Ue=Oe(59301),Ne=Oe(36355),Ke=Oe(17313),Be=Oe(83116),we=Oe(37613);const Te=je=>{const{componentCls:ye,sizePaddingEdgeHorizontal:ie,colorSplit:ae,lineWidth:fe,textPaddingInline:de,orientationMargin:ve,verticalMarginInline:xe}=je;return{[ye]:Object.assign(Object.assign({},(0,Ke.Wf)(je)),{borderBlockStart:`${fe}px solid ${ae}`,"&-vertical":{position:"relative",top:"-0.06em",display:"inline-block",height:"0.9em",marginInline:xe,marginBlock:0,verticalAlign:"middle",borderTop:0,borderInlineStart:`${fe}px solid ${ae}`},"&-horizontal":{display:"flex",clear:"both",width:"100%",minWidth:"100%",margin:`${je.dividerHorizontalGutterMargin}px 0`},[`&-horizontal${ye}-with-text`]:{display:"flex",alignItems:"center",margin:`${je.dividerHorizontalWithTextGutterMargin}px 0`,color:je.colorTextHeading,fontWeight:500,fontSize:je.fontSizeLG,whiteSpace:"nowrap",textAlign:"center",borderBlockStart:`0 ${ae}`,"&::before, &::after":{position:"relative",width:"50%",borderBlockStart:`${fe}px solid transparent`,borderBlockStartColor:"inherit",borderBlockEnd:0,transform:"translateY(50%)",content:"''"}},[`&-horizontal${ye}-with-text-left`]:{"&::before":{width:`${ve*100}%`},"&::after":{width:`${100-ve*100}%`}},[`&-horizontal${ye}-with-text-right`]:{"&::before":{width:`${100-ve*100}%`},"&::after":{width:`${ve*100}%`}},[`${ye}-inner-text`]:{display:"inline-block",paddingBlock:0,paddingInline:de},"&-dashed":{background:"none",borderColor:ae,borderStyle:"dashed",borderWidth:`${fe}px 0 0`},[`&-horizontal${ye}-with-text${ye}-dashed`]:{"&::before, &::after":{borderStyle:"dashed none none"}},[`&-vertical${ye}-dashed`]:{borderInlineStartWidth:fe,borderInlineEnd:0,borderBlockStart:0,borderBlockEnd:0},[`&-plain${ye}-with-text`]:{color:je.colorText,fontWeight:"normal",fontSize:je.fontSize},[`&-horizontal${ye}-with-text-left${ye}-no-default-orientation-margin-left`]:{"&::before":{width:0},"&::after":{width:"100%"},[`${ye}-inner-text`]:{paddingInlineStart:ie}},[`&-horizontal${ye}-with-text-right${ye}-no-default-orientation-margin-right`]:{"&::before":{width:"100%"},"&::after":{width:0},[`${ye}-inner-text`]:{paddingInlineEnd:ie}}})}};var ke=(0,Be.Z)("Divider",je=>{const ye=(0,we.TS)(je,{dividerHorizontalWithTextGutterMargin:je.margin,dividerHorizontalGutterMargin:je.marginLG,sizePaddingEdgeHorizontal:0});return[Te(ye)]},je=>({textPaddingInline:"1em",orientationMargin:.05,verticalMarginInline:je.marginXS})),Ie=function(je,ye){var ie={};for(var ae in je)Object.prototype.hasOwnProperty.call(je,ae)&&ye.indexOf(ae)<0&&(ie[ae]=je[ae]);if(je!=null&&typeof Object.getOwnPropertySymbols=="function")for(var fe=0,ae=Object.getOwnPropertySymbols(je);fe<ae.length;fe++)ye.indexOf(ae[fe])<0&&Object.prototype.propertyIsEnumerable.call(je,ae[fe])&&(ie[ae[fe]]=je[ae[fe]]);return ie},Me=je=>{const{getPrefixCls:ye,direction:ie,divider:ae}=Ue.useContext(Ne.E_),{prefixCls:fe,type:de="horizontal",orientation:ve="center",orientationMargin:xe,className:ce,rootClassName:pe,children:Se,dashed:Le,plain:ze,style:Ze}=je,Ve=Ie(je,["prefixCls","type","orientation","orientationMargin","className","rootClassName","children","dashed","plain","style"]),Qe=ye("divider",fe),[$e,gt]=ke(Qe),lt=ve.length>0?`-${ve}`:ve,At=!!Se,Et=ve==="left"&&xe!=null,vt=ve==="right"&&xe!=null,Lt=tt()(Qe,ae==null?void 0:ae.className,gt,`${Qe}-${de}`,{[`${Qe}-with-text`]:At,[`${Qe}-with-text${lt}`]:At,[`${Qe}-dashed`]:!!Le,[`${Qe}-plain`]:!!ze,[`${Qe}-rtl`]:ie==="rtl",[`${Qe}-no-default-orientation-margin-left`]:Et,[`${Qe}-no-default-orientation-margin-right`]:vt},ce,pe),St=Ue.useMemo(()=>typeof xe=="number"?xe:/^\d+$/.test(xe)?Number(xe):xe,[xe]),xt=Object.assign(Object.assign({},Et&&{marginLeft:St}),vt&&{marginRight:St});return $e(Ue.createElement("div",Object.assign({className:Lt,style:Object.assign(Object.assign({},ae==null?void 0:ae.style),Ze)},Ve,{role:"separator"}),Se&&de!=="vertical"&&Ue.createElement("span",{className:`${Qe}-inner-text`,style:xt},Se)))}},43428:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return an}});var Ge=Oe(92310),tt=Oe.n(Ge),Ue=Oe(57259),Ne=Oe(29043),Ke=Oe(43403),Be=Oe(28800),we=Oe(59301),Te=we.createContext(null),ke=we.createContext({}),Ie=Te,Ce=Oe(80962),Me=Oe(5891),je=Oe(43469),ye=Oe(85108),ie=Oe(36994),ae=Oe(80764),fe=function(Kn){var ur=Kn.prefixCls,Xn=Kn.className,Nn=Kn.style,_n=Kn.children,un=Kn.containerRef,qt=Kn.id,Yt=Kn.onMouseEnter,gn=Kn.onMouseOver,_t=Kn.onMouseLeave,Jt=Kn.onClick,wt=Kn.onKeyDown,ut=Kn.onKeyUp,ot={onMouseEnter:Yt,onMouseOver:gn,onMouseLeave:_t,onClick:Jt,onKeyDown:wt,onKeyUp:ut},Pt=we.useContext(ke),Ht=Pt.panel,Mt=(0,ae.useComposeRef)(Ht,un);return we.createElement(we.Fragment,null,we.createElement("div",(0,Me.Z)({id:qt,className:tt()("".concat(ur,"-content"),Xn),style:(0,Ue.Z)({},Nn),"aria-modal":"true",role:"dialog",ref:Mt},ot),_n))},de=fe,ve=Oe(51395);function xe(Un){return typeof Un=="string"&&String(Number(Un))===Un?((0,ve.ZP)(!1,"Invalid value type of `width` or `height` which should be number type instead."),Number(Un)):Un}function ce(Un){warning(!("wrapperClassName"in Un),"'wrapperClassName' is removed. Please use 'rootClassName' instead."),warning(canUseDom()||!Un.open,"Drawer with 'open' in SSR is not work since no place to createPortal. Please move to 'useEffect' instead.")}var pe={width:0,height:0,overflow:"hidden",outline:"none",position:"absolute"};function Se(Un,Kn){var ur,Xn,Nn,_n,un=Un.prefixCls,qt=Un.open,Yt=Un.placement,gn=Un.inline,_t=Un.push,Jt=Un.forceRender,wt=Un.autoFocus,ut=Un.keyboard,ot=Un.rootClassName,Pt=Un.rootStyle,Ht=Un.zIndex,Mt=Un.className,hn=Un.id,rr=Un.style,Jn=Un.motion,An=Un.width,$n=Un.height,xr=Un.children,mr=Un.contentWrapperStyle,Qr=Un.mask,di=Un.maskClosable,li=Un.maskMotion,Ai=Un.maskClassName,fo=Un.maskStyle,Io=Un.afterOpenChange,bo=Un.onClose,ai=Un.onMouseEnter,Pi=Un.onMouseOver,ao=Un.onMouseLeave,Jr=Un.onClick,oo=Un.onKeyDown,zi=Un.onKeyUp,It=we.useRef(),Yo=we.useRef(),ko=we.useRef();we.useImperativeHandle(Kn,function(){return It.current});var Fr=function(Sn){var cn=Sn.keyCode,Yn=Sn.shiftKey;switch(cn){case ye.Z.TAB:{if(cn===ye.Z.TAB){if(!Yn&&document.activeElement===ko.current){var ir;(ir=Yo.current)===null||ir===void 0||ir.focus({preventScroll:!0})}else if(Yn&&document.activeElement===Yo.current){var fr;(fr=ko.current)===null||fr===void 0||fr.focus({preventScroll:!0})}}break}case ye.Z.ESC:{bo&&ut&&(Sn.stopPropagation(),bo(Sn));break}}};we.useEffect(function(){if(qt&&wt){var Gn;(Gn=It.current)===null||Gn===void 0||Gn.focus({preventScroll:!0})}},[qt]);var Bi=we.useState(!1),Fi=(0,Ne.Z)(Bi,2),Qi=Fi[0],ii=Fi[1],Nt=we.useContext(Ie),De;_t===!1?De={distance:0}:_t===!0?De={}:De=_t||{};var He=(ur=(Xn=(Nn=De)===null||Nn===void 0?void 0:Nn.distance)!==null&&Xn!==void 0?Xn:Nt==null?void 0:Nt.pushDistance)!==null&&ur!==void 0?ur:180,Re=we.useMemo(function(){return{pushDistance:He,push:function(){ii(!0)},pull:function(){ii(!1)}}},[He]);we.useEffect(function(){if(qt){var Gn;Nt==null||(Gn=Nt.push)===null||Gn===void 0||Gn.call(Nt)}else{var Sn;Nt==null||(Sn=Nt.pull)===null||Sn===void 0||Sn.call(Nt)}},[qt]),we.useEffect(function(){return function(){var Gn;Nt==null||(Gn=Nt.pull)===null||Gn===void 0||Gn.call(Nt)}},[]);var et=Qr&&we.createElement(je.default,(0,Me.Z)({key:"mask"},li,{visible:qt}),function(Gn,Sn){var cn=Gn.className,Yn=Gn.style;return we.createElement("div",{className:tt()("".concat(un,"-mask"),cn,Ai),style:(0,Ue.Z)((0,Ue.Z)({},Yn),fo),onClick:di&&qt?bo:void 0,ref:Sn})}),ft=typeof Jn=="function"?Jn(Yt):Jn,Bt={};if(Qi&&He)switch(Yt){case"top":Bt.transform="translateY(".concat(He,"px)");break;case"bottom":Bt.transform="translateY(".concat(-He,"px)");break;case"left":Bt.transform="translateX(".concat(He,"px)");break;default:Bt.transform="translateX(".concat(-He,"px)");break}Yt==="left"||Yt==="right"?Bt.width=xe(An):Bt.height=xe($n);var Ct={onMouseEnter:ai,onMouseOver:Pi,onMouseLeave:ao,onClick:Jr,onKeyDown:oo,onKeyUp:zi},rn=we.createElement(je.default,(0,Me.Z)({key:"panel"},ft,{visible:qt,forceRender:Jt,onVisibleChanged:function(Sn){Io==null||Io(Sn)},removeOnLeave:!1,leavedClassName:"".concat(un,"-content-wrapper-hidden")}),function(Gn,Sn){var cn=Gn.className,Yn=Gn.style;return we.createElement("div",(0,Me.Z)({className:tt()("".concat(un,"-content-wrapper"),cn),style:(0,Ue.Z)((0,Ue.Z)((0,Ue.Z)({},Bt),Yn),mr)},(0,ie.Z)(Un,{data:!0})),we.createElement(de,(0,Me.Z)({id:hn,containerRef:Sn,prefixCls:un,className:Mt,style:rr},Ct),xr))}),nn=(0,Ue.Z)({},Pt);return Ht&&(nn.zIndex=Ht),we.createElement(Ie.Provider,{value:Re},we.createElement("div",{className:tt()(un,"".concat(un,"-").concat(Yt),ot,(_n={},(0,Ce.Z)(_n,"".concat(un,"-open"),qt),(0,Ce.Z)(_n,"".concat(un,"-inline"),gn),_n)),style:nn,tabIndex:-1,ref:It,onKeyDown:Fr},et,we.createElement("div",{tabIndex:0,ref:Yo,style:pe,"aria-hidden":"true","data-sentinel":"start"}),rn,we.createElement("div",{tabIndex:0,ref:ko,style:pe,"aria-hidden":"true","data-sentinel":"end"})))}var Le=we.forwardRef(Se),ze=Le,Ze=function(Kn){var ur=Kn.open,Xn=ur===void 0?!1:ur,Nn=Kn.prefixCls,_n=Nn===void 0?"rc-drawer":Nn,un=Kn.placement,qt=un===void 0?"right":un,Yt=Kn.autoFocus,gn=Yt===void 0?!0:Yt,_t=Kn.keyboard,Jt=_t===void 0?!0:_t,wt=Kn.width,ut=wt===void 0?378:wt,ot=Kn.mask,Pt=ot===void 0?!0:ot,Ht=Kn.maskClosable,Mt=Ht===void 0?!0:Ht,hn=Kn.getContainer,rr=Kn.forceRender,Jn=Kn.afterOpenChange,An=Kn.destroyOnClose,$n=Kn.onMouseEnter,xr=Kn.onMouseOver,mr=Kn.onMouseLeave,Qr=Kn.onClick,di=Kn.onKeyDown,li=Kn.onKeyUp,Ai=Kn.panelRef,fo=we.useState(!1),Io=(0,Ne.Z)(fo,2),bo=Io[0],ai=Io[1],Pi=we.useState(!1),ao=(0,Ne.Z)(Pi,2),Jr=ao[0],oo=ao[1];(0,Be.Z)(function(){oo(!0)},[]);var zi=Jr?Xn:!1,It=we.useRef(),Yo=we.useRef();(0,Be.Z)(function(){zi&&(Yo.current=document.activeElement)},[zi]);var ko=function(ii){var Nt;if(ai(ii),Jn==null||Jn(ii),!ii&&Yo.current&&!((Nt=It.current)!==null&&Nt!==void 0&&Nt.contains(Yo.current))){var De;(De=Yo.current)===null||De===void 0||De.focus({preventScroll:!0})}},Fr=we.useMemo(function(){return{panel:Ai}},[Ai]);if(!rr&&!bo&&!zi&&An)return null;var Bi={onMouseEnter:$n,onMouseOver:xr,onMouseLeave:mr,onClick:Qr,onKeyDown:di,onKeyUp:li},Fi=(0,Ue.Z)((0,Ue.Z)({},Kn),{},{open:zi,prefixCls:_n,placement:qt,autoFocus:gn,keyboard:Jt,width:ut,mask:Pt,maskClosable:Mt,inline:hn===!1,afterOpenChange:ko,ref:It},Bi);return we.createElement(ke.Provider,{value:Fr},we.createElement(Ke.Z,{open:zi||rr||bo,autoDestroy:!1,getContainer:hn,autoLock:Pt&&(zi||bo)},we.createElement(ze,Fi)))},Ve=Ze,Qe=Ve,$e=Oe(62892),gt=Oe(36355),lt=Oe(32441),At=Oe(47729),vt=Un=>{const{prefixCls:Kn,title:ur,footer:Xn,extra:Nn,closeIcon:_n,closable:un,onClose:qt,headerStyle:Yt,drawerStyle:gn,bodyStyle:_t,footerStyle:Jt,children:wt}=Un,ut=we.useCallback(hn=>we.createElement("button",{type:"button",onClick:qt,"aria-label":"Close",className:`${Kn}-close`},hn),[qt]),[ot,Pt]=(0,At.Z)(un,_n,ut,void 0,!0),Ht=we.useMemo(()=>!ur&&!ot?null:we.createElement("div",{style:Yt,className:tt()(`${Kn}-header`,{[`${Kn}-header-close-only`]:ot&&!ur&&!Nn})},we.createElement("div",{className:`${Kn}-header-title`},Pt,ur&&we.createElement("div",{className:`${Kn}-title`},ur)),Nn&&we.createElement("div",{className:`${Kn}-extra`},Nn)),[ot,Pt,Nn,Yt,Kn,ur]),Mt=we.useMemo(()=>{if(!Xn)return null;const hn=`${Kn}-footer`;return we.createElement("div",{className:hn,style:Jt},Xn)},[Xn,Jt,Kn]);return we.createElement("div",{className:`${Kn}-wrapper-body`,style:gn},Ht,we.createElement("div",{className:`${Kn}-body`,style:_t},wt),Mt)},Lt=Oe(33234),St=Oe(83116),xt=Oe(37613),Dt=Un=>{const{componentCls:Kn,motionDurationSlow:ur}=Un,Xn={"&-enter, &-appear, &-leave":{"&-start":{transition:"none"},"&-active":{transition:`all ${ur}`}}};return{[Kn]:{[`${Kn}-mask-motion`]:{"&-enter, &-appear, &-leave":{"&-active":{transition:`all ${ur}`}},"&-enter, &-appear":{opacity:0,"&-active":{opacity:1}},"&-leave":{opacity:1,"&-active":{opacity:0}}},[`${Kn}-panel-motion`]:{"&-left":[Xn,{"&-enter, &-appear":{"&-start":{transform:"translateX(-100%) !important"},"&-active":{transform:"translateX(0)"}},"&-leave":{transform:"translateX(0)","&-active":{transform:"translateX(-100%)"}}}],"&-right":[Xn,{"&-enter, &-appear":{"&-start":{transform:"translateX(100%) !important"},"&-active":{transform:"translateX(0)"}},"&-leave":{transform:"translateX(0)","&-active":{transform:"translateX(100%)"}}}],"&-top":[Xn,{"&-enter, &-appear":{"&-start":{transform:"translateY(-100%) !important"},"&-active":{transform:"translateY(0)"}},"&-leave":{transform:"translateY(0)","&-active":{transform:"translateY(-100%)"}}}],"&-bottom":[Xn,{"&-enter, &-appear":{"&-start":{transform:"translateY(100%) !important"},"&-active":{transform:"translateY(0)"}},"&-leave":{transform:"translateY(0)","&-active":{transform:"translateY(100%)"}}}]}}}};const Xt=Un=>{const{componentCls:Kn,zIndexPopup:ur,colorBgMask:Xn,colorBgElevated:Nn,motionDurationSlow:_n,motionDurationMid:un,padding:qt,paddingLG:Yt,fontSizeLG:gn,lineHeightLG:_t,lineWidth:Jt,lineType:wt,colorSplit:ut,marginSM:ot,colorIcon:Pt,colorIconHover:Ht,colorText:Mt,fontWeightStrong:hn,footerPaddingBlock:rr,footerPaddingInline:Jn}=Un,An=`${Kn}-content-wrapper`;return{[Kn]:{position:"fixed",inset:0,zIndex:ur,pointerEvents:"none","&-pure":{position:"relative",background:Nn,[`&${Kn}-left`]:{boxShadow:Un.boxShadowDrawerLeft},[`&${Kn}-right`]:{boxShadow:Un.boxShadowDrawerRight},[`&${Kn}-top`]:{boxShadow:Un.boxShadowDrawerUp},[`&${Kn}-bottom`]:{boxShadow:Un.boxShadowDrawerDown}},"&-inline":{position:"absolute"},[`${Kn}-mask`]:{position:"absolute",inset:0,zIndex:ur,background:Xn,pointerEvents:"auto"},[An]:{position:"absolute",zIndex:ur,maxWidth:"100vw",transition:`all ${_n}`,"&-hidden":{display:"none"}},[`&-left > ${An}`]:{top:0,bottom:0,left:{_skip_check_:!0,value:0},boxShadow:Un.boxShadowDrawerLeft},[`&-right > ${An}`]:{top:0,right:{_skip_check_:!0,value:0},bottom:0,boxShadow:Un.boxShadowDrawerRight},[`&-top > ${An}`]:{top:0,insetInline:0,boxShadow:Un.boxShadowDrawerUp},[`&-bottom > ${An}`]:{bottom:0,insetInline:0,boxShadow:Un.boxShadowDrawerDown},[`${Kn}-content`]:{width:"100%",height:"100%",overflow:"auto",background:Nn,pointerEvents:"auto"},[`${Kn}-wrapper-body`]:{display:"flex",flexDirection:"column",width:"100%",height:"100%"},[`${Kn}-header`]:{display:"flex",flex:0,alignItems:"center",padding:`${qt}px ${Yt}px`,fontSize:gn,lineHeight:_t,borderBottom:`${Jt}px ${wt} ${ut}`,"&-title":{display:"flex",flex:1,alignItems:"center",minWidth:0,minHeight:0}},[`${Kn}-extra`]:{flex:"none"},[`${Kn}-close`]:{display:"inline-block",marginInlineEnd:ot,color:Pt,fontWeight:hn,fontSize:gn,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",textDecoration:"none",background:"transparent",border:0,outline:0,cursor:"pointer",transition:`color ${un}`,textRendering:"auto","&:focus, &:hover":{color:Ht,textDecoration:"none"}},[`${Kn}-title`]:{flex:1,margin:0,color:Mt,fontWeight:Un.fontWeightStrong,fontSize:gn,lineHeight:_t},[`${Kn}-body`]:{flex:1,minWidth:0,minHeight:0,padding:Yt,overflow:"auto"},[`${Kn}-footer`]:{flexShrink:0,padding:`${rr}px ${Jn}px`,borderTop:`${Jt}px ${wt} ${ut}`},"&-rtl":{direction:"rtl"}}}};var kt=(0,St.Z)("Drawer",Un=>{const Kn=(0,xt.TS)(Un,{});return[Xt(Kn),Dt(Kn)]},Un=>({zIndexPopup:Un.zIndexPopupBase,footerPaddingBlock:Un.paddingXS,footerPaddingInline:Un.padding})),Rt=Oe(11575),Gt=function(Un,Kn){var ur={};for(var Xn in Un)Object.prototype.hasOwnProperty.call(Un,Xn)&&Kn.indexOf(Xn)<0&&(ur[Xn]=Un[Xn]);if(Un!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Nn=0,Xn=Object.getOwnPropertySymbols(Un);Nn<Xn.length;Nn++)Kn.indexOf(Xn[Nn])<0&&Object.prototype.propertyIsEnumerable.call(Un,Xn[Nn])&&(ur[Xn[Nn]]=Un[Xn[Nn]]);return ur};const ln=null,Rn={distance:180},jn=Un=>{var Kn;const{rootClassName:ur,width:Xn,height:Nn,size:_n="default",mask:un=!0,push:qt=Rn,open:Yt,afterOpenChange:gn,onClose:_t,prefixCls:Jt,getContainer:wt,style:ut,className:ot,visible:Pt,afterVisibleChange:Ht}=Un,Mt=Gt(Un,["rootClassName","width","height","size","mask","push","open","afterOpenChange","onClose","prefixCls","getContainer","style","className","visible","afterVisibleChange"]),{getPopupContainer:hn,getPrefixCls:rr,direction:Jn,drawer:An}=we.useContext(gt.E_),$n=rr("drawer",Jt),[xr,mr]=kt($n),Qr=wt===void 0&&hn?()=>hn(document.body):wt,di=tt()({"no-mask":!un,[`${$n}-rtl`]:Jn==="rtl"},ur,mr),li=we.useMemo(()=>Xn!=null?Xn:_n==="large"?736:378,[Xn,_n]),Ai=we.useMemo(()=>Nn!=null?Nn:_n==="large"?736:378,[Nn,_n]),fo={motionName:(0,$e.m)($n,"mask-motion"),motionAppear:!0,motionEnter:!0,motionLeave:!0,motionDeadline:500},Io=ai=>({motionName:(0,$e.m)($n,`panel-motion-${ai}`),motionAppear:!0,motionEnter:!0,motionLeave:!0,motionDeadline:500}),bo=(0,Rt.H)();return xr(we.createElement(Lt.BR,null,we.createElement(lt.Ux,{status:!0,override:!0},we.createElement(Qe,Object.assign({prefixCls:$n,onClose:_t,maskMotion:fo,motion:Io},Mt,{open:Yt!=null?Yt:Pt,mask:un,push:qt,width:li,height:Ai,style:Object.assign(Object.assign({},An==null?void 0:An.style),ut),className:tt()(An==null?void 0:An.className,ot),rootClassName:di,getContainer:Qr,afterOpenChange:gn!=null?gn:Ht,panelRef:bo}),we.createElement(vt,Object.assign({prefixCls:$n},Mt,{onClose:_t}))))))},er=Un=>{const{prefixCls:Kn,style:ur,className:Xn,placement:Nn="right"}=Un,_n=Gt(Un,["prefixCls","style","className","placement"]),{getPrefixCls:un}=we.useContext(gt.E_),qt=un("drawer",Kn),[Yt,gn]=kt(qt),_t=tt()(qt,`${qt}-pure`,`${qt}-${Nn}`,gn,Xn);return Yt(we.createElement("div",{className:_t,style:ur},we.createElement(vt,Object.assign({prefixCls:qt},_n))))};jn._InternalPanelDoNotUseOrYouWillBeFired=er;var an=jn},91857:function(en,tn,Oe){"use strict";var Ge=Oe(59301),tt=Oe(53878),Ue=Oe(92310),Ne=Oe.n(Ue),Ke=Oe(31561),Be=Oe(80764),we=Oe(35788),Te=Oe(64002),ke=Oe(79676),Ie=Oe(53487),Ce=Oe(92343),Me=Oe(36355),je=Oe(20834),ye=Oe(40875),ie=Oe(88088),ae=Oe(47211);const fe=null,de=pe=>{const{menu:Se,arrow:Le,prefixCls:ze,children:Ze,trigger:Ve,disabled:Qe,dropdownRender:$e,getPopupContainer:gt,overlayClassName:lt,rootClassName:At,open:Et,onOpenChange:vt,visible:Lt,onVisibleChange:St,mouseEnterDelay:xt=.15,mouseLeaveDelay:ct=.1,autoAdjustOverflow:Dt=!0,placement:Xt="",overlay:kt,transitionName:Rt}=pe,{getPopupContainer:Gt,getPrefixCls:ln,direction:Rn}=Ge.useContext(Me.E_),jn=Ge.useMemo(()=>{const ot=ln();return Rt!==void 0?Rt:Xt.includes("top")?`${ot}-slide-down`:`${ot}-slide-up`},[ln,Xt,Rt]),er=Ge.useMemo(()=>Xt?Xt.includes("Center")?Xt.slice(0,Xt.indexOf("Center")):Xt:Rn==="rtl"?"bottomRight":"bottomLeft",[Xt,Rn]),an=ln("dropdown",ze),[Un,Kn]=(0,ae.Z)(an),[,ur]=(0,ie.Z)(),Xn=Ge.Children.only(Ze),Nn=(0,Ce.Tm)(Xn,{className:Ne()(`${an}-trigger`,{[`${an}-rtl`]:Rn==="rtl"},Xn.props.className),disabled:Qe}),_n=Qe?[]:Ve;let un;_n&&_n.includes("contextMenu")&&(un=!0);const[qt,Yt]=(0,we.Z)(!1,{value:Et!=null?Et:Lt}),gn=(0,Be.useEvent)(ot=>{vt==null||vt(ot),St==null||St(ot),Yt(ot)}),_t=Ne()(lt,At,Kn,{[`${an}-rtl`]:Rn==="rtl"}),Jt=(0,ke.Z)({arrowPointAtCenter:typeof Le=="object"&&Le.pointAtCenter,autoAdjustOverflow:Dt,offset:ur.marginXXS,arrowWidth:Le?ur.sizePopupArrow:0,borderRadius:ur.borderRadius}),wt=Ge.useCallback(()=>{Yt(!1)},[]),ut=()=>{let ot;return Se!=null&&Se.items?ot=Ge.createElement(je.default,Object.assign({},Se)):typeof kt=="function"?ot=kt():ot=kt,$e&&(ot=$e(ot)),ot=Ge.Children.only(typeof ot=="string"?Ge.createElement("span",null,ot):ot),Ge.createElement(ye.J,{prefixCls:`${an}-menu`,expandIcon:Ge.createElement("span",{className:`${an}-menu-submenu-arrow`},Ge.createElement(tt.Z,{className:`${an}-menu-submenu-arrow-icon`})),mode:"vertical",selectable:!1,onClick:wt,validator:Pt=>{let{mode:Ht}=Pt}},ot)};return Un(Ge.createElement(Ke.Z,Object.assign({alignPoint:un},(0,Te.Z)(pe,["rootClassName"]),{mouseEnterDelay:xt,mouseLeaveDelay:ct,visible:qt,builtinPlacements:Jt,arrow:!!Le,overlayClassName:_t,prefixCls:an,getPopupContainer:gt||Gt,transitionName:jn,trigger:_n,overlay:ut,placement:er,onVisibleChange:gn}),Nn))};function ve(pe){return Object.assign(Object.assign({},pe),{align:{overflow:{adjustX:!1,adjustY:!1}}})}const xe=(0,Ie.Z)(de,"dropdown",pe=>pe,ve),ce=pe=>Ge.createElement(xe,Object.assign({},pe),Ge.createElement("span",null));de._InternalPanelDoNotUseOrYouWillBeFired=ce,tn.Z=de},38854:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return ie}});var Ge=Oe(91857),tt=Oe(92310),Ue=Oe.n(tt),Ne=Oe(59301),Ke=Oe(19362),Be=Oe(3113),we=Oe(36355),Te=Oe(81327),ke=Oe(33234),Ie=Oe(47211),Ce=function(ae,fe){var de={};for(var ve in ae)Object.prototype.hasOwnProperty.call(ae,ve)&&fe.indexOf(ve)<0&&(de[ve]=ae[ve]);if(ae!=null&&typeof Object.getOwnPropertySymbols=="function")for(var xe=0,ve=Object.getOwnPropertySymbols(ae);xe<ve.length;xe++)fe.indexOf(ve[xe])<0&&Object.prototype.propertyIsEnumerable.call(ae,ve[xe])&&(de[ve[xe]]=ae[ve[xe]]);return de};const Me=ae=>{const{getPopupContainer:fe,getPrefixCls:de,direction:ve}=Ne.useContext(we.E_),{prefixCls:xe,type:ce="default",danger:pe,disabled:Se,loading:Le,onClick:ze,htmlType:Ze,children:Ve,className:Qe,menu:$e,arrow:gt,autoFocus:lt,overlay:At,trigger:Et,align:vt,open:Lt,onOpenChange:St,placement:xt,getPopupContainer:ct,href:Dt,icon:Xt=Ne.createElement(Ke.Z,null),title:kt,buttonsRender:Rt=ut=>ut,mouseEnterDelay:Gt,mouseLeaveDelay:ln,overlayClassName:Rn,overlayStyle:jn,destroyPopupOnHide:er,dropdownRender:an}=ae,Un=Ce(ae,["prefixCls","type","danger","disabled","loading","onClick","htmlType","children","className","menu","arrow","autoFocus","overlay","trigger","align","open","onOpenChange","placement","getPopupContainer","href","icon","title","buttonsRender","mouseEnterDelay","mouseLeaveDelay","overlayClassName","overlayStyle","destroyPopupOnHide","dropdownRender"]),Kn=de("dropdown",xe),ur=`${Kn}-button`,[Xn,Nn]=(0,Ie.Z)(Kn),_n={menu:$e,arrow:gt,autoFocus:lt,align:vt,disabled:Se,trigger:Se?[]:Et,onOpenChange:St,getPopupContainer:ct||fe,mouseEnterDelay:Gt,mouseLeaveDelay:ln,overlayClassName:Rn,overlayStyle:jn,destroyPopupOnHide:er,dropdownRender:an},{compactSize:un,compactItemClassnames:qt}=(0,ke.ri)(Kn,ve),Yt=Ue()(ur,qt,Qe,Nn);"overlay"in ae&&(_n.overlay=At),"open"in ae&&(_n.open=Lt),"placement"in ae?_n.placement=xt:_n.placement=ve==="rtl"?"bottomLeft":"bottomRight";const gn=Ne.createElement(Be.ZP,{type:ce,danger:pe,disabled:Se,loading:Le,onClick:ze,htmlType:Ze,href:Dt,title:kt},Ve),_t=Ne.createElement(Be.ZP,{type:ce,danger:pe,icon:Xt}),[Jt,wt]=Rt([gn,_t]);return Xn(Ne.createElement(Te.Z.Compact,Object.assign({className:Yt,size:un,block:!0},Un),Jt,Ne.createElement(Ge.Z,Object.assign({},_n),wt)))};Me.__ANT_BUTTON=!0;var je=Me;const ye=Ge.Z;ye.Button=je;var ie=ye},47211:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Ce}});var Ge=Oe(17313),tt=Oe(13826),Ue=Oe(92899),Ne=Oe(29878),Ke=Oe(19447),Be=Oe(83116),we=Oe(37613),ke=Me=>{const{componentCls:je,menuCls:ye,colorError:ie,colorTextLightSolid:ae}=Me,fe=`${ye}-item`;return{[`${je}, ${je}-menu-submenu`]:{[`${ye} ${fe}`]:{[`&${fe}-danger:not(${fe}-disabled)`]:{color:ie,"&:hover":{color:ae,backgroundColor:ie}}}}}};const Ie=Me=>{const{componentCls:je,menuCls:ye,zIndexPopup:ie,dropdownArrowDistance:ae,sizePopupArrow:fe,antCls:de,iconCls:ve,motionDurationMid:xe,dropdownPaddingVertical:ce,fontSize:pe,dropdownEdgeChildPadding:Se,colorTextDisabled:Le,fontSizeIcon:ze,controlPaddingHorizontal:Ze,colorBgElevated:Ve}=Me;return[{[je]:Object.assign(Object.assign({},(0,Ge.Wf)(Me)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:ie,display:"block","&::before":{position:"absolute",insetBlock:-ae+fe/2,zIndex:-9999,opacity:1e-4,content:'""'},[`&-trigger${de}-btn`]:{[`& > ${ve}-down, & > ${de}-btn-icon > ${ve}-down`]:{fontSize:ze}},[`${je}-wrap`]:{position:"relative",[`${de}-btn > ${ve}-down`]:{fontSize:ze},[`${ve}-down::before`]:{transition:`transform ${xe}`}},[`${je}-wrap-open`]:{[`${ve}-down::before`]:{transform:"rotate(180deg)"}},"\n &-hidden,\n &-menu-hidden,\n &-menu-submenu-hidden\n ":{display:"none"},[`&${de}-slide-down-enter${de}-slide-down-enter-active${je}-placement-bottomLeft,
&${de}-slide-down-appear${de}-slide-down-appear-active${je}-placement-bottomLeft,
&${de}-slide-down-enter${de}-slide-down-enter-active${je}-placement-bottom,
&${de}-slide-down-appear${de}-slide-down-appear-active${je}-placement-bottom,
&${de}-slide-down-enter${de}-slide-down-enter-active${je}-placement-bottomRight,
&${de}-slide-down-appear${de}-slide-down-appear-active${je}-placement-bottomRight`]:{animationName:tt.fJ},[`&${de}-slide-up-enter${de}-slide-up-enter-active${je}-placement-topLeft,
&${de}-slide-up-appear${de}-slide-up-appear-active${je}-placement-topLeft,
&${de}-slide-up-enter${de}-slide-up-enter-active${je}-placement-top,
&${de}-slide-up-appear${de}-slide-up-appear-active${je}-placement-top,
&${de}-slide-up-enter${de}-slide-up-enter-active${je}-placement-topRight,
&${de}-slide-up-appear${de}-slide-up-appear-active${je}-placement-topRight`]:{animationName:tt.Qt},[`&${de}-slide-down-leave${de}-slide-down-leave-active${je}-placement-bottomLeft,
&${de}-slide-down-leave${de}-slide-down-leave-active${je}-placement-bottom,
&${de}-slide-down-leave${de}-slide-down-leave-active${je}-placement-bottomRight`]:{animationName:tt.Uw},[`&${de}-slide-up-leave${de}-slide-up-leave-active${je}-placement-topLeft,
&${de}-slide-up-leave${de}-slide-up-leave-active${je}-placement-top,
&${de}-slide-up-leave${de}-slide-up-leave-active${je}-placement-topRight`]:{animationName:tt.ly}})},(0,Ke.ZP)(Me,{colorBg:Ve,limitVerticalRadius:!0,arrowPlacement:{top:!0,bottom:!0}}),{[`${je} ${ye}`]:{position:"relative",margin:0},[`${ye}-submenu-popup`]:{position:"absolute",zIndex:ie,background:"transparent",boxShadow:"none",transformOrigin:"0 0","ul, li":{listStyle:"none",margin:0}},[`${je}, ${je}-menu-submenu`]:{[ye]:Object.assign(Object.assign({padding:Se,listStyleType:"none",backgroundColor:Ve,backgroundClip:"padding-box",borderRadius:Me.borderRadiusLG,outline:"none",boxShadow:Me.boxShadowSecondary},(0,Ge.Qy)(Me)),{[`${ye}-item-group-title`]:{padding:`${ce}px ${Ze}px`,color:Me.colorTextDescription,transition:`all ${xe}`},[`${ye}-item`]:{position:"relative",display:"flex",alignItems:"center"},[`${ye}-item-icon`]:{minWidth:pe,marginInlineEnd:Me.marginXS,fontSize:Me.fontSizeSM},[`${ye}-title-content`]:{flex:"auto","> a":{color:"inherit",transition:`all ${xe}`,"&:hover":{color:"inherit"},"&::after":{position:"absolute",inset:0,content:'""'}}},[`${ye}-item, ${ye}-submenu-title`]:Object.assign(Object.assign({clear:"both",margin:0,padding:`${ce}px ${Ze}px`,color:Me.colorText,fontWeight:"normal",fontSize:pe,lineHeight:Me.lineHeight,cursor:"pointer",transition:`all ${xe}`,borderRadius:Me.borderRadiusSM,"&:hover, &-active":{backgroundColor:Me.controlItemBgHover}},(0,Ge.Qy)(Me)),{"&-selected":{color:Me.colorPrimary,backgroundColor:Me.controlItemBgActive,"&:hover, &-active":{backgroundColor:Me.controlItemBgActiveHover}},"&-disabled":{color:Le,cursor:"not-allowed","&:hover":{color:Le,backgroundColor:Ve,cursor:"not-allowed"},a:{pointerEvents:"none"}},"&-divider":{height:1,margin:`${Me.marginXXS}px 0`,overflow:"hidden",lineHeight:0,backgroundColor:Me.colorSplit},[`${je}-menu-submenu-expand-icon`]:{position:"absolute",insetInlineEnd:Me.paddingXS,[`${je}-menu-submenu-arrow-icon`]:{marginInlineEnd:"0 !important",color:Me.colorTextDescription,fontSize:ze,fontStyle:"normal"}}}),[`${ye}-item-group-list`]:{margin:`0 ${Me.marginXS}px`,padding:0,listStyle:"none"},[`${ye}-submenu-title`]:{paddingInlineEnd:Ze+Me.fontSizeSM},[`${ye}-submenu-vertical`]:{position:"relative"},[`${ye}-submenu${ye}-submenu-disabled ${je}-menu-submenu-title`]:{[`&, ${je}-menu-submenu-arrow-icon`]:{color:Le,backgroundColor:Ve,cursor:"not-allowed"}},[`${ye}-submenu-selected ${je}-menu-submenu-title`]:{color:Me.colorPrimary}})}},[(0,tt.oN)(Me,"slide-up"),(0,tt.oN)(Me,"slide-down"),(0,Ue.Fm)(Me,"move-up"),(0,Ue.Fm)(Me,"move-down"),(0,Ne._y)(Me,"zoom-big")]]};var Ce=(0,Be.Z)("Dropdown",(Me,je)=>{let{rootPrefixCls:ye}=je;const{marginXXS:ie,sizePopupArrow:ae,controlHeight:fe,fontSize:de,lineHeight:ve,paddingXXS:xe,componentCls:ce,borderRadiusLG:pe}=Me,Se=(fe-de*ve)/2,{dropdownArrowOffset:Le}=(0,Ke.fS)({contentRadius:pe}),ze=(0,we.TS)(Me,{menuCls:`${ce}-menu`,rootPrefixCls:ye,dropdownArrowDistance:ae/2+ie,dropdownArrowOffset:Le,dropdownPaddingVertical:Se,dropdownEdgeChildPadding:xe});return[Ie(ze),ke(ze)]},Me=>({zIndexPopup:Me.zIndexPopupBase+50}))},64165:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return xe}});var Ge=Oe(92310),tt=Oe.n(Ge),Ue=Oe(59301),Ne=Oe(36355),Ke=Oe(9763),Be=Oe(64993),we=Oe(88088),ke=()=>{const[,ce]=(0,we.Z)(),Se=new Be.C(ce.colorBgBase).toHsl().l<.5?{opacity:.65}:{};return Ue.createElement("svg",{style:Se,width:"184",height:"152",viewBox:"0 0 184 152",xmlns:"http://www.w3.org/2000/svg"},Ue.createElement("g",{fill:"none",fillRule:"evenodd"},Ue.createElement("g",{transform:"translate(24 31.67)"},Ue.createElement("ellipse",{fillOpacity:".8",fill:"#F5F5F7",cx:"67.797",cy:"106.89",rx:"67.797",ry:"12.668"}),Ue.createElement("path",{d:"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z",fill:"#AEB8C2"}),Ue.createElement("path",{d:"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z",fill:"url(#linearGradient-1)",transform:"translate(13.56)"}),Ue.createElement("path",{d:"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z",fill:"#F5F5F7"}),Ue.createElement("path",{d:"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z",fill:"#DCE0E6"})),Ue.createElement("path",{d:"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z",fill:"#DCE0E6"}),Ue.createElement("g",{transform:"translate(149.65 15.383)",fill:"#FFF"},Ue.createElement("ellipse",{cx:"20.654",cy:"3.167",rx:"2.849",ry:"2.815"}),Ue.createElement("path",{d:"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"}))))},Ce=()=>{const[,ce]=(0,we.Z)(),{colorFill:pe,colorFillTertiary:Se,colorFillQuaternary:Le,colorBgContainer:ze}=ce,{borderColor:Ze,shadowColor:Ve,contentColor:Qe}=(0,Ue.useMemo)(()=>({borderColor:new Be.C(pe).onBackground(ze).toHexShortString(),shadowColor:new Be.C(Se).onBackground(ze).toHexShortString(),contentColor:new Be.C(Le).onBackground(ze).toHexShortString()}),[pe,Se,Le,ze]);return Ue.createElement("svg",{width:"64",height:"41",viewBox:"0 0 64 41",xmlns:"http://www.w3.org/2000/svg"},Ue.createElement("g",{transform:"translate(0 1)",fill:"none",fillRule:"evenodd"},Ue.createElement("ellipse",{fill:Ve,cx:"32",cy:"33",rx:"32",ry:"7"}),Ue.createElement("g",{fillRule:"nonzero",stroke:Ze},Ue.createElement("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),Ue.createElement("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:Qe}))))},Me=Oe(83116),je=Oe(37613);const ye=ce=>{const{componentCls:pe,margin:Se,marginXS:Le,marginXL:ze,fontSize:Ze,lineHeight:Ve}=ce;return{[pe]:{marginInline:Le,fontSize:Ze,lineHeight:Ve,textAlign:"center",[`${pe}-image`]:{height:ce.emptyImgHeight,marginBottom:Le,opacity:ce.opacityImage,img:{height:"100%"},svg:{maxWidth:"100%",height:"100%",margin:"auto"}},[`${pe}-description`]:{color:ce.colorText},[`${pe}-footer`]:{marginTop:Se},"&-normal":{marginBlock:ze,color:ce.colorTextDisabled,[`${pe}-description`]:{color:ce.colorTextDisabled},[`${pe}-image`]:{height:ce.emptyImgHeightMD}},"&-small":{marginBlock:Le,color:ce.colorTextDisabled,[`${pe}-image`]:{height:ce.emptyImgHeightSM}}}}};var ie=(0,Me.Z)("Empty",ce=>{const{componentCls:pe,controlHeightLG:Se}=ce,Le=(0,je.TS)(ce,{emptyImgCls:`${pe}-img`,emptyImgHeight:Se*2.5,emptyImgHeightMD:Se,emptyImgHeightSM:Se*.875});return[ye(Le)]}),ae=function(ce,pe){var Se={};for(var Le in ce)Object.prototype.hasOwnProperty.call(ce,Le)&&pe.indexOf(Le)<0&&(Se[Le]=ce[Le]);if(ce!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ze=0,Le=Object.getOwnPropertySymbols(ce);ze<Le.length;ze++)pe.indexOf(Le[ze])<0&&Object.prototype.propertyIsEnumerable.call(ce,Le[ze])&&(Se[Le[ze]]=ce[Le[ze]]);return Se};const fe=Ue.createElement(ke,null),de=Ue.createElement(Ce,null),ve=ce=>{var{className:pe,rootClassName:Se,prefixCls:Le,image:ze=fe,description:Ze,children:Ve,imageStyle:Qe,style:$e}=ce,gt=ae(ce,["className","rootClassName","prefixCls","image","description","children","imageStyle","style"]);const{getPrefixCls:lt,direction:At,empty:Et}=Ue.useContext(Ne.E_),vt=lt("empty",Le),[Lt,St]=ie(vt),[xt]=(0,Ke.Z)("Empty"),ct=typeof Ze!="undefined"?Ze:xt==null?void 0:xt.description,Dt=typeof ct=="string"?ct:"empty";let Xt=null;return typeof ze=="string"?Xt=Ue.createElement("img",{alt:Dt,src:ze}):Xt=ze,Lt(Ue.createElement("div",Object.assign({className:tt()(St,vt,Et==null?void 0:Et.className,{[`${vt}-normal`]:ze===de,[`${vt}-rtl`]:At==="rtl"},pe,Se),style:Object.assign(Object.assign({},Et==null?void 0:Et.style),$e)},gt),Ue.createElement("div",{className:`${vt}-image`,style:Qe},Xt),ct&&Ue.createElement("div",{className:`${vt}-description`},ct),Ve&&Ue.createElement("div",{className:`${vt}-footer`},Ve)))};ve.PRESENTED_IMAGE_DEFAULT=fe,ve.PRESENTED_IMAGE_SIMPLE=de;var xe=ve},78241:function(en,tn,Oe){"use strict";Oe.d(tn,{default:function(){return He}});var Ge=Oe(26390),tt=Oe(92310),Ue=Oe.n(tt),Ne=Oe(43469),Ke=Oe(59301),Be=Oe(62892),we=Oe(32441);function Te(Re){const[et,ft]=Ke.useState(Re);return Ke.useEffect(()=>{const Bt=setTimeout(()=>{ft(Re)},Re.length?0:10);return()=>{clearTimeout(Bt)}},[Re]),et}var ke=Oe(17313),Ie=Oe(29878),Ce=Oe(8378),Me=Oe(37613),je=Oe(83116),ie=Re=>{const{componentCls:et}=Re,ft=`${et}-show-help`,Bt=`${et}-show-help-item`;return{[ft]:{transition:`opacity ${Re.motionDurationSlow} ${Re.motionEaseInOut}`,"&-appear, &-enter":{opacity:0,"&-active":{opacity:1}},"&-leave":{opacity:1,"&-active":{opacity:0}},[Bt]:{overflow:"hidden",transition:`height ${Re.motionDurationSlow} ${Re.motionEaseInOut},
opacity ${Re.motionDurationSlow} ${Re.motionEaseInOut},
transform ${Re.motionDurationSlow} ${Re.motionEaseInOut} !important`,[`&${Bt}-appear, &${Bt}-enter`]:{transform:"translateY(-5px)",opacity:0,"&-active":{transform:"translateY(0)",opacity:1}},[`&${Bt}-leave-active`]:{transform:"translateY(-5px)"}}}}};const ae=Re=>({legend:{display:"block",width:"100%",marginBottom:Re.marginLG,padding:0,color:Re.colorTextDescription,fontSize:Re.fontSizeLG,lineHeight:"inherit",border:0,borderBottom:`${Re.lineWidth}px ${Re.lineType} ${Re.colorBorder}`},label:{fontSize:Re.fontSize},'input[type="search"]':{boxSizing:"border-box"},'input[type="radio"], input[type="checkbox"]':{lineHeight:"normal"},'input[type="file"]':{display:"block"},'input[type="range"]':{display:"block",width:"100%"},"select[multiple], select[size]":{height:"auto"},"input[type='file']:focus,\n input[type='radio']:focus,\n input[type='checkbox']:focus":{outline:0,boxShadow:`0 0 0 ${Re.controlOutlineWidth}px ${Re.controlOutline}`},output:{display:"block",paddingTop:15,color:Re.colorText,fontSize:Re.fontSize,lineHeight:Re.lineHeight}}),fe=(Re,et)=>{const{formItemCls:ft}=Re;return{[ft]:{[`${ft}-label > label`]:{height:et},[`${ft}-control-input`]:{minHeight:et}}}},de=Re=>{const{componentCls:et}=Re;return{[Re.componentCls]:Object.assign(Object.assign(Object.assign({},(0,ke.Wf)(Re)),ae(Re)),{[`${et}-text`]:{display:"inline-block",paddingInlineEnd:Re.paddingSM},"&-small":Object.assign({},fe(Re,Re.controlHeightSM)),"&-large":Object.assign({},fe(Re,Re.controlHeightLG))})}},ve=Re=>{const{formItemCls:et,iconCls:ft,componentCls:Bt,rootPrefixCls:Ct,labelRequiredMarkColor:rn,labelColor:nn,labelFontSize:Gn,labelHeight:Sn,labelColonMarginInlineStart:cn,labelColonMarginInlineEnd:Yn,itemMarginBottom:ir}=Re;return{[et]:Object.assign(Object.assign({},(0,ke.Wf)(Re)),{marginBottom:ir,verticalAlign:"top","&-with-help":{transition:"none"},[`&-hidden,
&-hidden.${Ct}-row`]:{display:"none"},"&-has-warning":{[`${et}-split`]:{color:Re.colorError}},"&-has-error":{[`${et}-split`]:{color:Re.colorWarning}},[`${et}-label`]:{flexGrow:0,overflow:"hidden",whiteSpace:"nowrap",textAlign:"end",verticalAlign:"middle","&-left":{textAlign:"start"},"&-wrap":{overflow:"unset",lineHeight:`${Re.lineHeight} - 0.25em`,whiteSpace:"unset"},"> label":{position:"relative",display:"inline-flex",alignItems:"center",maxWidth:"100%",height:Sn,color:nn,fontSize:Gn,[`> ${ft}`]:{fontSize:Re.fontSize,verticalAlign:"top"},[`&${et}-required:not(${et}-required-mark-optional)::before`]:{display:"inline-block",marginInlineEnd:Re.marginXXS,color:rn,fontSize:Re.fontSize,fontFamily:"SimSun, sans-serif",lineHeight:1,content:'"*"',[`${Bt}-hide-required-mark &`]:{display:"none"}},[`${et}-optional`]:{display:"inline-block",marginInlineStart:Re.marginXXS,color:Re.colorTextDescription,[`${Bt}-hide-required-mark &`]:{display:"none"}},[`${et}-tooltip`]:{color:Re.colorTextDescription,cursor:"help",writingMode:"horizontal-tb",marginInlineStart:Re.marginXXS},"&::after":{content:'":"',position:"relative",marginBlock:0,marginInlineStart:cn,marginInlineEnd:Yn},[`&${et}-no-colon::after`]:{content:'"\\a0"'}}},[`${et}-control`]:{"--ant-display":"flex",flexDirection:"column",flexGrow:1,[`&:first-child:not([class^="'${Ct}-col-'"]):not([class*="' ${Ct}-col-'"])`]:{width:"100%"},"&-input":{position:"relative",display:"flex",alignItems:"center",minHeight:Re.controlHeight,"&-content":{flex:"auto",maxWidth:"100%"}}},[et]:{"&-explain, &-extra":{clear:"both",color:Re.colorTextDescription,fontSize:Re.fontSize,lineHeight:Re.lineHeight},"&-explain-connected":{width:"100%"},"&-extra":{minHeight:Re.controlHeightSM,transition:`color ${Re.motionDurationMid} ${Re.motionEaseOut}`},"&-explain":{"&-error":{color:Re.colorError},"&-warning":{color:Re.colorWarning}}},[`&-with-help ${et}-explain`]:{height:"auto",opacity:1},[`${et}-feedback-icon`]:{fontSize:Re.fontSize,textAlign:"center",visibility:"visible",animationName:Ie.kr,animationDuration:Re.motionDurationMid,animationTimingFunction:Re.motionEaseOutBack,pointerEvents:"none","&-success":{color:Re.colorSuccess},"&-error":{color:Re.colorError},"&-warning":{color:Re.colorWarning},"&-validating":{color:Re.colorPrimary}}})}},xe=Re=>{const{componentCls:et,formItemCls:ft}=Re;return{[`${et}-horizontal`]:{[`${ft}-label`]:{flexGrow:0},[`${ft}-control`]:{flex:"1 1 0",minWidth:0},[`${ft}-label[class$='-24'], ${ft}-label[class*='-24 ']`]:{[`& + ${ft}-control`]:{minWidth:"unset"}}}}},ce=Re=>{const{componentCls:et,formItemCls:ft}=Re;return{[`${et}-inline`]:{display:"flex",flexWrap:"wrap",[ft]:{flex:"none",marginInlineEnd:Re.margin,marginBottom:0,"&-row":{flexWrap:"nowrap"},[`> ${ft}-label,
> ${ft}-control`]:{display:"inline-block",verticalAlign:"top"},[`> ${ft}-label`]:{flex:"none"},[`${et}-text`]:{display:"inline-block"},[`${ft}-has-feedback`]:{display:"inline-block"}}}}},pe=Re=>({padding:Re.verticalLabelPadding,margin:Re.verticalLabelMargin,whiteSpace:"initial",textAlign:"start","> label":{margin:0,"&::after":{visibility:"hidden"}}}),Se=Re=>{const{componentCls:et,formItemCls:ft,rootPrefixCls:Bt}=Re;return{[`${ft} ${ft}-label`]:pe(Re),[et]:{[ft]:{flexWrap:"wrap",[`${ft}-label, ${ft}-control`]:{[`&:not([class*=" ${Bt}-col-xs"])`]:{flex:"0 0 100%",maxWidth:"100%"}}}}}},Le=Re=>{const{componentCls:et,formItemCls:ft,rootPrefixCls:Bt}=Re;return{[`${et}-vertical`]:{[ft]:{"&-row":{flexDirection:"column"},"&-label > label":{height:"auto"},[`${et}-item-control`]:{width:"100%"}}},[`${et}-vertical ${ft}-label,
.${Bt}-col-24${ft}-label,
.${Bt}-col-xl-24${ft}-label`]:pe(Re),[`@media (max-width: ${Re.screenXSMax}px)`]:[Se(Re),{[et]:{[`.${Bt}-col-xs-24${ft}-label`]:pe(Re)}}],[`@media (max-width: ${Re.screenSMMax}px)`]:{[et]:{[`.${Bt}-col-sm-24${ft}-label`]:pe(Re)}},[`@media (max-width: ${Re.screenMDMax}px)`]:{[et]:{[`.${Bt}-col-md-24${ft}-label`]:pe(Re)}},[`@media (max-width: ${Re.screenLGMax}px)`]:{[et]:{[`.${Bt}-col-lg-24${ft}-label`]:pe(Re)}}}},ze=(Re,et)=>(0,Me.TS)(Re,{formItemCls:`${Re.componentCls}-item`,rootPrefixCls:et});var Ze=(0,je.Z)("Form",(Re,et)=>{let{rootPrefixCls:ft}=et;const Bt=ze(Re,ft);return[de(Bt),ve(Bt),ie(Bt),xe(Bt),ce(Bt),Le(Bt),(0,Ce.Z)(Bt),Ie.kr]},Re=>({labelRequiredMarkColor:Re.colorError,labelColor:Re.colorTextHeading,labelFontSize:Re.fontSize,labelHeight:Re.controlHeight,labelColonMarginInlineStart:Re.marginXXS/2,labelColonMarginInlineEnd:Re.marginXS,itemMarginBottom:Re.marginLG,verticalLabelPadding:`0 0 ${Re.paddingXS}px`,verticalLabelMargin:0}),{order:-1e3});const Ve=[];function Qe(Re,et,ft){let Bt=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;return{key:typeof Re=="string"?Re:`${et}-${Bt}`,error:Re,errorStatus:ft}}var gt=Re=>{let{help:et,helpStatus:ft,errors:Bt=Ve,warnings:Ct=Ve,className:rn,fieldId:nn,onVisibleChanged:Gn}=Re;const{prefixCls:Sn}=Ke.useContext(we.Rk),cn=`${Sn}-item-explain`,[,Yn]=Ze(Sn),ir=(0,Ke.useMemo)(()=>(0,Be.Z)(Sn),[Sn]),fr=Te(Bt),On=Te(Ct),dn=Ke.useMemo(()=>et!=null?[Qe(et,"help",ft)]:[].concat((0,Ge.Z)(fr.map((tr,hr)=>Qe(tr,"error","error",hr))),(0,Ge.Z)(On.map((tr,hr)=>Qe(tr,"warning","warning",hr)))),[et,ft,fr,On]),Bn={};return nn&&(Bn.id=`${nn}_help`),Ke.createElement(Ne.default,{motionDeadline:ir.motionDeadline,motionName:`${Sn}-show-help`,visible:!!dn.length,onVisibleChanged:Gn},tr=>{const{className:hr,style:pr}=tr;return Ke.createElement("div",Object.assign({},Bn,{className:Ue()(cn,hr,rn,Yn),style:pr,role:"alert"}),Ke.createElement(Ne.CSSMotionList,Object.assign({keys:dn},(0,Be.Z)(Sn),{motionName:`${Sn}-show-help-item`,component:!1}),Mr=>{const{key:gr,error:Nr,errorStatus:Kr,className:Hn,style:br}=Mr;return Ke.createElement("div",{key:gr,className:Ue()(Hn,{[`${cn}-${Kr}`]:Kr}),style:br},Nr)}))})},lt=Oe(95013),At=Oe(36355),Et=Oe(1684),vt=Oe(52946),Lt=Oe(19716),St=Oe(16722);const xt=["parentNode"],ct="form_item";function Dt(Re){return Re===void 0||Re===!1?[]:Array.isArray(Re)?Re:[Re]}function Xt(Re,et){if(!Re.length)return;const ft=Re.join("_");return et?`${et}_${ft}`:xt.includes(ft)?`${ct}_${ft}`:ft}function kt(Re,et,ft,Bt,Ct,rn){let nn=Bt;return rn!==void 0?nn=rn:ft.validating?nn="validating":Re.length?nn="error":et.length?nn="warning":(ft.touched||Ct&&ft.validated)&&(nn="success"),nn}function Rt(Re){return Dt(Re).join("_")}function Gt(Re){const[et]=(0,lt.useForm)(),ft=Ke.useRef({}),Bt=Ke.useMemo(()=>Re!=null?Re:Object.assign(Object.assign({},et),{__INTERNAL__:{itemRef:Ct=>rn=>{const nn=Rt(Ct);rn?ft.current[nn]=rn:delete ft.current[nn]}},scrollToField:function(Ct){let rn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const nn=Dt(Ct),Gn=Xt(nn,Bt.__INTERNAL__.name),Sn=Gn?document.getElementById(Gn):null;Sn&&(0,St.Z)(Sn,Object.assign({scrollMode:"if-needed",block:"nearest"},rn))},getFieldInstance:Ct=>{const rn=Rt(Ct);return ft.current[rn]}}),[Re,et]);return[Bt]}var ln=Oe(28726),Rn=function(Re,et){var ft={};for(var Bt in Re)Object.prototype.hasOwnProperty.call(Re,Bt)&&et.indexOf(Bt)<0&&(ft[Bt]=Re[Bt]);if(Re!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ct=0,Bt=Object.getOwnPropertySymbols(Re);Ct<Bt.length;Ct++)et.indexOf(Bt[Ct])<0&&Object.prototype.propertyIsEnumerable.call(Re,Bt[Ct])&&(ft[Bt[Ct]]=Re[Bt[Ct]]);return ft};const jn=(Re,et)=>{const ft=Ke.useContext(Et.Z),{getPrefixCls:Bt,direction:Ct,form:rn}=Ke.useContext(At.E_),{prefixCls:nn,className:Gn,rootClassName:Sn,size:cn,disabled:Yn=ft,form:ir,colon:fr,labelAlign:On,labelWrap:dn,labelCol:Bn,wrapperCol:tr,hideRequiredMark:hr,layout:pr="horizontal",scrollToFirstError:Mr,requiredMark:gr,onFinishFailed:Nr,name:Kr,style:Hn,feedbackIcons:br}=Re,ui=Rn(Re,["prefixCls","className","rootClassName","size","disabled","form","colon","labelAlign","labelWrap","labelCol","wrapperCol","hideRequiredMark","layout","scrollToFirstError","requiredMark","onFinishFailed","name","style","feedbackIcons"]),gi=(0,Lt.Z)(cn),Zi=Ke.useContext(ln.Z),nr=(0,Ke.useMemo)(()=>gr!==void 0?gr:rn&&rn.requiredMark!==void 0?rn.requiredMark:!hr,[hr,gr,rn]),xi=fr!=null?fr:rn==null?void 0:rn.colon,Vi=Bt("form",nn),[Gi,Ao]=Ze(Vi),io=Ue()(Vi,`${Vi}-${pr}`,{[`${Vi}-hide-required-mark`]:nr===!1,[`${Vi}-rtl`]:Ct==="rtl",[`${Vi}-${gi}`]:gi},Ao,rn==null?void 0:rn.className,Gn,Sn),[Do]=Gt(ir),{__INTERNAL__:Bo}=Do;Bo.name=Kr;const Ui=(0,Ke.useMemo)(()=>({name:Kr,labelAlign:On,labelCol:Bn,labelWrap:dn,wrapperCol:tr,vertical:pr==="vertical",colon:xi,requiredMark:nr,itemRef:Bo.itemRef,form:Do,feedbackIcons:br}),[Kr,On,Bn,tr,pr,xi,nr,Do,br]);Ke.useImperativeHandle(et,()=>Do);const Xo=(wa,Zr)=>{if(wa){let Ca={block:"nearest"};typeof wa=="object"&&(Ca=wa),Do.scrollToField(Zr,Ca)}},Hr=wa=>{if(Nr==null||Nr(wa),wa.errorFields.length){const Zr=wa.errorFields[0].name;if(Mr!==void 0){Xo(Mr,Zr);return}rn&&rn.scrollToFirstError!==void 0&&Xo(rn.scrollToFirstError,Zr)}};return Gi(Ke.createElement(Et.n,{disabled:Yn},Ke.createElement(vt.q,{size:gi},Ke.createElement(we.RV,Object.assign({},{validateMessages:Zi}),Ke.createElement(we.q3.Provider,{value:Ui},Ke.createElement(lt.default,Object.assign({id:Kr},ui,{name:Kr,onFinishFailed:Hr,form:Do,style:Object.assign(Object.assign({},rn==null?void 0:rn.style),Hn),className:io})))))))};var an=Ke.forwardRef(jn),Un=Oe(12383),Kn=Oe(20475),ur=Oe(92343),Xn=Oe(38298);function Nn(Re){if(typeof Re=="function")return Re;const et=(0,Xn.Z)(Re);return et.length<=1?et[0]:et}const _n=()=>{const{status:Re,errors:et=[],warnings:ft=[]}=(0,Ke.useContext)(we.aM);return{status:Re,errors:et,warnings:ft}};_n.Context=we.aM;var un=_n,qt=Oe(23073);function Yt(Re){const[et,ft]=Ke.useState(Re),Bt=(0,Ke.useRef)(null),Ct=(0,Ke.useRef)([]),rn=(0,Ke.useRef)(!1);Ke.useEffect(()=>(rn.current=!1,()=>{rn.current=!0,qt.Z.cancel(Bt.current),Bt.current=null}),[]);function nn(Gn){rn.current||(Bt.current===null&&(Ct.current=[],Bt.current=(0,qt.Z)(()=>{Bt.current=null,ft(Sn=>{let cn=Sn;return Ct.current.forEach(Yn=>{cn=Yn(cn)}),cn})})),Ct.current.push(Gn))}return[et,nn]}function gn(){const{itemRef:Re}=Ke.useContext(we.q3),et=Ke.useRef({});function ft(Bt,Ct){const rn=Ct&&typeof Ct=="object"&&Ct.ref,nn=Bt.join("_");return(et.current.name!==nn||et.current.originRef!==rn)&&(et.current.name=nn,et.current.originRef=rn,et.current.ref=(0,Kn.sQ)(Re(Bt),rn)),et.current.ref}return ft}var _t=Oe(48886),Jt=Oe(28800),wt=Oe(64002),ut=Oe(27382),ot=Oe(37028);const Pt=Re=>{const{formItemCls:et}=Re;return{"@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none)":{[`${et}-control`]:{display:"flex"}}}};var Ht=(0,je.b)(["Form","item-item"],(Re,et)=>{let{rootPrefixCls:ft}=et;const Bt=ze(Re,ft);return[Pt(Bt)]}),hn=Re=>{const{prefixCls:et,status:ft,wrapperCol:Bt,children:Ct,errors:rn,warnings:nn,_internalItemRender:Gn,extra:Sn,help:cn,fieldId:Yn,marginBottom:ir,onErrorVisibleChanged:fr}=Re,On=`${et}-item`,dn=Ke.useContext(we.q3),Bn=Bt||dn.wrapperCol||{},tr=Ue()(`${On}-control`,Bn.className),hr=Ke.useMemo(()=>Object.assign({},dn),[dn]);delete hr.labelCol,delete hr.wrapperCol;const pr=Ke.createElement("div",{className:`${On}-control-input`},Ke.createElement("div",{className:`${On}-control-input-content`},Ct)),Mr=Ke.useMemo(()=>({prefixCls:et,status:ft}),[et,ft]),gr=ir!==null||rn.length||nn.length?Ke.createElement("div",{style:{display:"flex",flexWrap:"nowrap"}},Ke.createElement(we.Rk.Provider,{value:Mr},Ke.createElement(gt,{fieldId:Yn,errors:rn,warnings:nn,help:cn,helpStatus:ft,className:`${On}-explain-connected`,onVisibleChanged:fr})),!!ir&&Ke.createElement("div",{style:{width:0,height:ir}})):null,Nr={};Yn&&(Nr.id=`${Yn}_extra`);const Kr=Sn?Ke.createElement("div",Object.assign({},Nr,{className:`${On}-extra`}),Sn):null,Hn=Gn&&Gn.mark==="pro_table_render"&&Gn.render?Gn.render(Re,{input:pr,errorList:gr,extra:Kr}):Ke.createElement(Ke.Fragment,null,pr,gr,Kr);return Ke.createElement(we.q3.Provider,{value:hr},Ke.createElement(ot.Z,Object.assign({},Bn,{className:tr}),Hn),Ke.createElement(Ht,{prefixCls:et}))},rr=Oe(86902),Jn=Oe(31724),An=Oe(9763),$n=Oe(6848),xr=function(Re,et){var ft={};for(var Bt in Re)Object.prototype.hasOwnProperty.call(Re,Bt)&&et.indexOf(Bt)<0&&(ft[Bt]=Re[Bt]);if(Re!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ct=0,Bt=Object.getOwnPropertySymbols(Re);Ct<Bt.length;Ct++)et.indexOf(Bt[Ct])<0&&Object.prototype.propertyIsEnumerable.call(Re,Bt[Ct])&&(ft[Bt[Ct]]=Re[Bt[Ct]]);return ft};function mr(Re){return Re?typeof Re=="object"&&!Ke.isValidElement(Re)?Re:{title:Re}:null}var di=Re=>{let{prefixCls:et,label:ft,htmlFor:Bt,labelCol:Ct,labelAlign:rn,colon:nn,required:Gn,requiredMark:Sn,tooltip:cn}=Re;var Yn;const[ir]=(0,An.Z)("Form"),{vertical:fr,labelAlign:On,labelCol:dn,labelWrap:Bn,colon:tr}=Ke.useContext(we.q3);if(!ft)return null;const hr=Ct||dn||{},pr=rn||On,Mr=`${et}-item-label`,gr=Ue()(Mr,pr==="left"&&`${Mr}-left`,hr.className,{[`${Mr}-wrap`]:!!Bn});let Nr=ft;const Kr=nn===!0||tr!==!1&&nn!==!1;Kr&&!fr&&typeof ft=="string"&&ft.trim()!==""&&(Nr=ft.replace(/[:|]\s*$/,""));const br=mr(cn);if(br){const{icon:nr=Ke.createElement(rr.Z,null)}=br,xi=xr(br,["icon"]),Vi=Ke.createElement($n.Z,Object.assign({},xi),Ke.cloneElement(nr,{className:`${et}-item-tooltip`,title:""}));Nr=Ke.createElement(Ke.Fragment,null,Nr,Vi)}const ui=Sn==="optional",gi=typeof Sn=="function";gi?Nr=Sn(Nr,{required:!!Gn}):ui&&!Gn&&(Nr=Ke.createElement(Ke.Fragment,null,Nr,Ke.createElement("span",{className:`${et}-item-optional`,title:""},(ir==null?void 0:ir.optional)||((Yn=Jn.Z.Form)===null||Yn===void 0?void 0:Yn.optional))));const Zi=Ue()({[`${et}-item-required`]:Gn,[`${et}-item-required-mark-optional`]:ui||gi,[`${et}-item-no-colon`]:!Kr});return Ke.createElement(ot.Z,Object.assign({},hr,{className:gr}),Ke.createElement("label",{htmlFor:Bt,className:Zi,title:typeof ft=="string"?ft:""},Nr))},li=Oe(79999),Ai=Oe(33130),fo=Oe(85404),Io=Oe(50023);const bo={success:li.Z,warning:fo.Z,error:Ai.Z,validating:Io.Z};function ai(Re){let{children:et,errors:ft,warnings:Bt,hasFeedback:Ct,validateStatus:rn,prefixCls:nn,meta:Gn,noStyle:Sn}=Re;const cn=`${nn}-item`,{feedbackIcons:Yn}=Ke.useContext(we.q3),ir=kt(ft,Bt,Gn,null,!!Ct,rn),{isFormItemInput:fr,status:On}=Ke.useContext(we.aM),dn=Ke.useMemo(()=>{var Bn;let tr;if(Ct){const Mr=Ct!==!0&&Ct.icons||Yn,gr=ir&&((Bn=Mr==null?void 0:Mr({status:ir,errors:ft,warnings:Bt}))===null||Bn===void 0?void 0:Bn[ir]),Nr=ir&&bo[ir];tr=gr!==!1&&Nr?Ke.createElement("span",{className:Ue()(`${cn}-feedback-icon`,`${cn}-feedback-icon-${ir}`)},gr||Ke.createElement(Nr,null)):null}let hr=!0,pr=ir||"";return Sn&&(hr=fr,pr=(ir!=null?ir:On)||""),{status:pr,errors:ft,warnings:Bt,hasFeedback:!!Ct,feedbackIcon:tr,isFormItemInput:hr}},[ir,Ct,Sn,fr,On]);return Ke.createElement(we.aM.Provider,{value:dn},et)}var Pi=function(Re,et){var ft={};for(var Bt in Re)Object.prototype.hasOwnProperty.call(Re,Bt)&&et.indexOf(Bt)<0&&(ft[Bt]=Re[Bt]);if(Re!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ct=0,Bt=Object.getOwnPropertySymbols(Re);Ct<Bt.length;Ct++)et.indexOf(Bt[Ct])<0&&Object.prototype.propertyIsEnumerable.call(Re,Bt[Ct])&&(ft[Bt[Ct]]=Re[Bt[Ct]]);return ft};function ao(Re){const{prefixCls:et,className:ft,rootClassName:Bt,style:Ct,help:rn,errors:nn,warnings:Gn,validateStatus:Sn,meta:cn,hasFeedback:Yn,hidden:ir,children:fr,fieldId:On,required:dn,isRequired:Bn,onSubItemMetaChange:tr}=Re,hr=Pi(Re,["prefixCls","className","rootClassName","style","help","errors","warnings","validateStatus","meta","hasFeedback","hidden","children","fieldId","required","isRequired","onSubItemMetaChange"]),pr=`${et}-item`,{requiredMark:Mr}=Ke.useContext(we.q3),gr=Ke.useRef(null),Nr=Te(nn),Kr=Te(Gn),Hn=rn!=null,br=!!(Hn||nn.length||Gn.length),ui=!!gr.current&&(0,_t.Z)(gr.current),[gi,Zi]=Ke.useState(null);(0,Jt.Z)(()=>{if(br&&gr.current){const Ao=getComputedStyle(gr.current);Zi(parseInt(Ao.marginBottom,10))}},[br,ui]);const nr=Ao=>{Ao||Zi(null)},Vi=function(){let Ao=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;const io=Ao?Nr:cn.errors,Do=Ao?Kr:cn.warnings;return kt(io,Do,cn,"",!!Yn,Sn)}(),Gi=Ue()(pr,ft,Bt,{[`${pr}-with-help`]:Hn||Nr.length||Kr.length,[`${pr}-has-feedback`]:Vi&&Yn,[`${pr}-has-success`]:Vi==="success",[`${pr}-has-warning`]:Vi==="warning",[`${pr}-has-error`]:Vi==="error",[`${pr}-is-validating`]:Vi==="validating",[`${pr}-hidden`]:ir});return Ke.createElement("div",{className:Gi,style:Ct,ref:gr},Ke.createElement(ut.Z,Object.assign({className:`${pr}-row`},(0,wt.Z)(hr,["_internalItemRender","colon","dependencies","extra","fieldKey","getValueFromEvent","getValueProps","htmlFor","id","initialValue","isListField","label","labelAlign","labelCol","labelWrap","messageVariables","name","normalize","noStyle","preserve","requiredMark","rules","shouldUpdate","trigger","tooltip","validateFirst","validateTrigger","valuePropName","wrapperCol","validateDebounce"])),Ke.createElement(di,Object.assign({htmlFor:On},Re,{requiredMark:Mr,required:dn!=null?dn:Bn,prefixCls:et})),Ke.createElement(hn,Object.assign({},Re,cn,{errors:Nr,warnings:Kr,prefixCls:et,status:Vi,help:rn,marginBottom:gi,onErrorVisibleChanged:nr}),Ke.createElement(we.qI.Provider,{value:tr},Ke.createElement(ai,{prefixCls:et,meta:cn,errors:cn.errors,warnings:cn.warnings,hasFeedback:Yn,validateStatus:Vi},fr)))),!!gi&&Ke.createElement("div",{className:`${pr}-margin-offset`,style:{marginBottom:-gi}}))}const Jr="__SPLIT__",oo=null,zi=Ke.memo(Re=>{let{children:et}=Re;return et},(Re,et)=>Re.value===et.value&&Re.update===et.update&&Re.childProps.length===et.childProps.length&&Re.childProps.every((ft,Bt)=>ft===et.childProps[Bt]));function It(Re){return Re!=null}function Yo(){return{errors:[],warnings:[],touched:!1,validating:!1,name:[],validated:!1}}function ko(Re){const{name:et,noStyle:ft,className:Bt,dependencies:Ct,prefixCls:rn,shouldUpdate:nn,rules:Gn,children:Sn,required:cn,label:Yn,messageVariables:ir,trigger:fr="onChange",validateTrigger:On,hidden:dn,help:Bn}=Re,{getPrefixCls:tr}=Ke.useContext(At.E_),{name:hr}=Ke.useContext(we.q3),pr=Nn(Sn),Mr=typeof pr=="function",gr=Ke.useContext(we.qI),{validateTrigger:Nr}=Ke.useContext(lt.FieldContext),Kr=On!==void 0?On:Nr,Hn=It(et),br=tr("form",rn),[ui,gi]=Ze(br),Zi=Ke.useContext(lt.ListContext),nr=Ke.useRef(),[xi,Vi]=Yt({}),[Gi,Ao]=(0,Un.Z)(()=>Yo()),io=Zr=>{const Ca=Zi==null?void 0:Zi.getKey(Zr.name);if(Ao(Zr.destroy?Yo():Zr,!0),ft&&Bn!==!1&&gr){let ss=Zr.name;if(Zr.destroy)ss=nr.current||ss;else if(Ca!==void 0){const[oa,Os]=Ca;ss=[oa].concat((0,Ge.Z)(Os)),nr.current=ss}gr(Zr,ss)}},Do=(Zr,Ca)=>{Vi(ss=>{const oa=Object.assign({},ss),rs=[].concat((0,Ge.Z)(Zr.name.slice(0,-1)),(0,Ge.Z)(Ca)).join(Jr);return Zr.destroy?delete oa[rs]:oa[rs]=Zr,oa})},[Bo,Ui]=Ke.useMemo(()=>{const Zr=(0,Ge.Z)(Gi.errors),Ca=(0,Ge.Z)(Gi.warnings);return Object.values(xi).forEach(ss=>{Zr.push.apply(Zr,(0,Ge.Z)(ss.errors||[])),Ca.push.apply(Ca,(0,Ge.Z)(ss.warnings||[]))}),[Zr,Ca]},[xi,Gi.errors,Gi.warnings]),Xo=gn();function Hr(Zr,Ca,ss){return ft&&!dn?Ke.createElement(ai,{prefixCls:br,hasFeedback:Re.hasFeedback,validateStatus:Re.validateStatus,meta:Gi,errors:Bo,warnings:Ui,noStyle:!0},Zr):Ke.createElement(ao,Object.assign({key:"row"},Re,{className:Ue()(Bt,gi),prefixCls:br,fieldId:Ca,isRequired:ss,errors:Bo,warnings:Ui,meta:Gi,onSubItemMetaChange:Do}),Zr)}if(!Hn&&!Mr&&!Ct)return ui(Hr(pr));let wa={};return typeof Yn=="string"?wa.label=Yn:et&&(wa.label=String(et)),ir&&(wa=Object.assign(Object.assign({},wa),ir)),ui(Ke.createElement(lt.Field,Object.assign({},Re,{messageVariables:wa,trigger:fr,validateTrigger:Kr,onMetaChange:io}),(Zr,Ca,ss)=>{const oa=Dt(et).length&&Ca?Ca.name:[],Os=Xt(oa,hr),rs=cn!==void 0?cn:!!(Gn&&Gn.some(za=>{if(za&&typeof za=="object"&&za.required&&!za.warningOnly)return!0;if(typeof za=="function"){const Ka=za(ss);return Ka&&Ka.required&&!Ka.warningOnly}return!1})),po=Object.assign({},Zr);let zo=null;if(Array.isArray(pr)&&Hn)zo=pr;else if(!(Mr&&(!(nn||Ct)||Hn))){if(!(Ct&&!Mr&&!Hn))if((0,ur.l$)(pr)){const za=Object.assign(Object.assign({},pr.props),po);if(za.id||(za.id=Os),Bn||Bo.length>0||Ui.length>0||Re.extra){const yn=[];(Bn||Bo.length>0)&&yn.push(`${Os}_help`),Re.extra&&yn.push(`${Os}_extra`),za["aria-describedby"]=yn.join(" ")}Bo.length>0&&(za["aria-invalid"]="true"),rs&&(za["aria-required"]="true"),(0,Kn.Yr)(pr)&&(za.ref=Xo(oa,pr)),new Set([].concat((0,Ge.Z)(Dt(fr)),(0,Ge.Z)(Dt(Kr)))).forEach(yn=>{za[yn]=function(){for(var ja,is,_a,Us,ma,aa=arguments.length,ys=new Array(aa),Fs=0;Fs<aa;Fs++)ys[Fs]=arguments[Fs];(_a=po[yn])===null||_a===void 0||(ja=_a).call.apply(ja,[po].concat(ys)),(ma=(Us=pr.props)[yn])===null||ma===void 0||(is=ma).call.apply(is,[Us].concat(ys))}});const Ji=[za["aria-required"],za["aria-invalid"],za["aria-describedby"]];zo=Ke.createElement(zi,{value:po[Re.valuePropName||"value"],update:pr,childProps:Ji},(0,ur.Tm)(pr,za))}else Mr&&(nn||Ct)&&!Hn?zo=pr(ss):zo=pr}return Hr(zo,Os,rs)}))}const Fr=ko;Fr.useStatus=un;var Bi=Fr,Fi=function(Re,et){var ft={};for(var Bt in Re)Object.prototype.hasOwnProperty.call(Re,Bt)&&et.indexOf(Bt)<0&&(ft[Bt]=Re[Bt]);if(Re!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ct=0,Bt=Object.getOwnPropertySymbols(Re);Ct<Bt.length;Ct++)et.indexOf(Bt[Ct])<0&&Object.prototype.propertyIsEnumerable.call(Re,Bt[Ct])&&(ft[Bt[Ct]]=Re[Bt[Ct]]);return ft},ii=Re=>{var{prefixCls:et,children:ft}=Re,Bt=Fi(Re,["prefixCls","children"]);const{getPrefixCls:Ct}=Ke.useContext(At.E_),rn=Ct("form",et),nn=Ke.useMemo(()=>({prefixCls:rn,status:"error"}),[rn]);return Ke.createElement(lt.List,Object.assign({},Bt),(Gn,Sn,cn)=>Ke.createElement(we.Rk.Provider,{value:nn},ft(Gn.map(Yn=>Object.assign(Object.assign({},Yn),{fieldKey:Yn.key})),Sn,{errors:cn.errors,warnings:cn.warnings})))};function Nt(){const{form:Re}=(0,Ke.useContext)(we.q3);return Re}const De=an;De.Item=Bi,De.List=ii,De.ErrorList=gt,De.useForm=Gt,De.useFormInstance=Nt,De.useWatch=lt.useWatch,De.Provider=we.RV,De.create=()=>{};var He=De},8628:function(en,tn,Oe){"use strict";var Ge=Oe(59301),tt=Oe(28800),Ue=Oe(56762),Ne=Oe(69507);function Ke(){let Be=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;const we=(0,Ge.useRef)({}),Te=(0,Ue.Z)(),ke=(0,Ne.ZP)();return(0,tt.Z)(()=>{const Ie=ke.subscribe(Ce=>{we.current=Ce,Be&&Te()});return()=>ke.unsubscribe(Ie)},[]),we.current}tn.Z=Ke},9432:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return ve},n:function(){return fe}});var Ge=Oe(33130),tt=Oe(92310),Ue=Oe.n(tt),Ne=Oe(93681),Ke=Oe(20475),Be=Oe(59301),we=Oe(19080),Te=Oe(36355),ke=Oe(1684),Ie=Oe(19716),Ce=Oe(32441),Me=Oe(33234),je=Oe(59412),ye=Oe(9937);function ie(xe){return!!(xe.prefix||xe.suffix||xe.allowClear)}var ae=function(xe,ce){var pe={};for(var Se in xe)Object.prototype.hasOwnProperty.call(xe,Se)&&ce.indexOf(Se)<0&&(pe[Se]=xe[Se]);if(xe!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Le=0,Se=Object.getOwnPropertySymbols(xe);Le<Se.length;Le++)ce.indexOf(Se[Le])<0&&Object.prototype.propertyIsEnumerable.call(xe,Se[Le])&&(pe[Se[Le]]=xe[Se[Le]]);return pe};function fe(xe,ce){if(!xe)return;xe.focus(ce);const{cursor:pe}=ce||{};if(pe){const Se=xe.value.length;switch(pe){case"start":xe.setSelectionRange(0,0);break;case"end":xe.setSelectionRange(Se,Se);break;default:xe.setSelectionRange(0,Se);break}}}var ve=(0,Be.forwardRef)((xe,ce)=>{var pe;const{prefixCls:Se,bordered:Le=!0,status:ze,size:Ze,disabled:Ve,onBlur:Qe,onFocus:$e,suffix:gt,allowClear:lt,addonAfter:At,addonBefore:Et,className:vt,style:Lt,styles:St,rootClassName:xt,onChange:ct,classNames:Dt}=xe,Xt=ae(xe,["prefixCls","bordered","status","size","disabled","onBlur","onFocus","suffix","allowClear","addonAfter","addonBefore","className","style","styles","rootClassName","onChange","classNames"]),{getPrefixCls:kt,direction:Rt,input:Gt}=Be.useContext(Te.E_),ln=kt("input",Se),Rn=(0,Be.useRef)(null),[jn,er]=(0,ye.ZP)(ln),{compactSize:an,compactItemClassnames:Un}=(0,Me.ri)(ln,Rt),Kn=(0,Ie.Z)(Ht=>{var Mt;return(Mt=Ze!=null?Ze:an)!==null&&Mt!==void 0?Mt:Ht}),ur=Be.useContext(ke.Z),Xn=Ve!=null?Ve:ur,{status:Nn,hasFeedback:_n,feedbackIcon:un}=(0,Be.useContext)(Ce.aM),qt=(0,we.F)(Nn,ze),Yt=ie(xe)||!!_n,gn=(0,Be.useRef)(Yt);(0,Be.useEffect)(()=>{var Ht;Yt&&gn.current,gn.current=Yt},[Yt]);const _t=(0,je.Z)(Rn,!0),Jt=Ht=>{_t(),Qe==null||Qe(Ht)},wt=Ht=>{_t(),$e==null||$e(Ht)},ut=Ht=>{_t(),ct==null||ct(Ht)},ot=(_n||gt)&&Be.createElement(Be.Fragment,null,gt,_n&&un);let Pt;return typeof lt=="object"&&(lt!=null&&lt.clearIcon)?Pt=lt:lt&&(Pt={clearIcon:Be.createElement(Ge.Z,null)}),jn(Be.createElement(Ne.default,Object.assign({ref:(0,Ke.sQ)(ce,Rn),prefixCls:ln,autoComplete:Gt==null?void 0:Gt.autoComplete},Xt,{disabled:Xn,onBlur:Jt,onFocus:wt,style:Object.assign(Object.assign({},Gt==null?void 0:Gt.style),Lt),styles:Object.assign(Object.assign({},Gt==null?void 0:Gt.styles),St),suffix:ot,allowClear:Pt,className:Ue()(vt,xt,Un,Gt==null?void 0:Gt.className),onChange:ut,addonAfter:At&&Be.createElement(Me.BR,null,Be.createElement(Ce.Ux,{override:!0,status:!0},At)),addonBefore:Et&&Be.createElement(Me.BR,null,Be.createElement(Ce.Ux,{override:!0,status:!0},Et)),classNames:Object.assign(Object.assign(Object.assign({},Dt),Gt==null?void 0:Gt.classNames),{input:Ue()({[`${ln}-sm`]:Kn==="small",[`${ln}-lg`]:Kn==="large",[`${ln}-rtl`]:Rt==="rtl",[`${ln}-borderless`]:!Le},!Yt&&(0,we.Z)(ln,qt),Dt==null?void 0:Dt.input,(pe=Gt==null?void 0:Gt.classNames)===null||pe===void 0?void 0:pe.input,er)}),classes:{affixWrapper:Ue()({[`${ln}-affix-wrapper-sm`]:Kn==="small",[`${ln}-affix-wrapper-lg`]:Kn==="large",[`${ln}-affix-wrapper-rtl`]:Rt==="rtl",[`${ln}-affix-wrapper-borderless`]:!Le},(0,we.Z)(`${ln}-affix-wrapper`,qt,_n),er),wrapper:Ue()({[`${ln}-group-rtl`]:Rt==="rtl"},er),group:Ue()({[`${ln}-group-wrapper-sm`]:Kn==="small",[`${ln}-group-wrapper-lg`]:Kn==="large",[`${ln}-group-wrapper-rtl`]:Rt==="rtl",[`${ln}-group-wrapper-disabled`]:Xn},(0,we.Z)(`${ln}-group-wrapper`,qt,_n),er)}})))})},1643:function(en,tn,Oe){"use strict";var Ge=Oe(33130),tt=Oe(92310),Ue=Oe.n(tt),Ne=Oe(9296),Ke=Oe(59301),Be=Oe(19080),we=Oe(36355),Te=Oe(1684),ke=Oe(19716),Ie=Oe(32441),Ce=Oe(9432),Me=Oe(9937),je=function(ie,ae){var fe={};for(var de in ie)Object.prototype.hasOwnProperty.call(ie,de)&&ae.indexOf(de)<0&&(fe[de]=ie[de]);if(ie!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ve=0,de=Object.getOwnPropertySymbols(ie);ve<de.length;ve++)ae.indexOf(de[ve])<0&&Object.prototype.propertyIsEnumerable.call(ie,de[ve])&&(fe[de[ve]]=ie[de[ve]]);return fe};const ye=(0,Ke.forwardRef)((ie,ae)=>{const{prefixCls:fe,bordered:de=!0,size:ve,disabled:xe,status:ce,allowClear:pe,showCount:Se,classNames:Le,rootClassName:ze,className:Ze}=ie,Ve=je(ie,["prefixCls","bordered","size","disabled","status","allowClear","showCount","classNames","rootClassName","className"]),{getPrefixCls:Qe,direction:$e}=Ke.useContext(we.E_),gt=(0,ke.Z)(ve),lt=Ke.useContext(Te.Z),At=xe!=null?xe:lt,{status:Et,hasFeedback:vt,feedbackIcon:Lt}=Ke.useContext(Ie.aM),St=(0,Be.F)(Et,ce),xt=Ke.useRef(null);Ke.useImperativeHandle(ae,()=>{var Rt;return{resizableTextArea:(Rt=xt.current)===null||Rt===void 0?void 0:Rt.resizableTextArea,focus:Gt=>{var ln,Rn;(0,Ce.n)((Rn=(ln=xt.current)===null||ln===void 0?void 0:ln.resizableTextArea)===null||Rn===void 0?void 0:Rn.textArea,Gt)},blur:()=>{var Gt;return(Gt=xt.current)===null||Gt===void 0?void 0:Gt.blur()}}});const ct=Qe("input",fe);let Dt;typeof pe=="object"&&(pe!=null&&pe.clearIcon)?Dt=pe:pe&&(Dt={clearIcon:Ke.createElement(Ge.Z,null)});const[Xt,kt]=(0,Me.ZP)(ct);return Xt(Ke.createElement(Ne.default,Object.assign({},Ve,{disabled:At,allowClear:Dt,className:Ue()(Ze,ze),classes:{affixWrapper:Ue()(`${ct}-textarea-affix-wrapper`,{[`${ct}-affix-wrapper-rtl`]:$e==="rtl",[`${ct}-affix-wrapper-borderless`]:!de,[`${ct}-affix-wrapper-sm`]:gt==="small",[`${ct}-affix-wrapper-lg`]:gt==="large",[`${ct}-textarea-show-count`]:Se},(0,Be.Z)(`${ct}-affix-wrapper`,St),kt)},classNames:Object.assign(Object.assign({},Le),{textarea:Ue()({[`${ct}-borderless`]:!de,[`${ct}-sm`]:gt==="small",[`${ct}-lg`]:gt==="large"},(0,Be.Z)(ct,St),kt,Le==null?void 0:Le.textarea)}),prefixCls:ct,suffix:vt&&Ke.createElement("span",{className:`${ct}-textarea-suffix`},Lt),showCount:Se,ref:xt})))});tn.Z=ye},59412:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return tt}});var Ge=Oe(59301);function tt(Ue,Ne){const Ke=(0,Ge.useRef)([]),Be=()=>{Ke.current.push(setTimeout(()=>{var we,Te,ke,Ie;!((we=Ue.current)===null||we===void 0)&&we.input&&((Te=Ue.current)===null||Te===void 0?void 0:Te.input.getAttribute("type"))==="password"&&(!((ke=Ue.current)===null||ke===void 0)&&ke.input.hasAttribute("value"))&&((Ie=Ue.current)===null||Ie===void 0||Ie.input.removeAttribute("value"))}))};return(0,Ge.useEffect)(()=>(Ne&&Be(),()=>Ke.current.forEach(we=>{we&&clearTimeout(we)})),[]),Be}},92832:function(en,tn,Oe){"use strict";Oe.d(tn,{default:function(){return gt}});var Ge=Oe(92310),tt=Oe.n(Ge),Ue=Oe(59301),Ne=Oe(36355),Ke=Oe(32441),Be=Oe(9937),Te=lt=>{const{getPrefixCls:At,direction:Et}=(0,Ue.useContext)(Ne.E_),{prefixCls:vt,className:Lt}=lt,St=At("input-group",vt),xt=At("input"),[ct,Dt]=(0,Be.ZP)(xt),Xt=tt()(St,{[`${St}-lg`]:lt.size==="large",[`${St}-sm`]:lt.size==="small",[`${St}-compact`]:lt.compact,[`${St}-rtl`]:Et==="rtl"},Dt,Lt),kt=(0,Ue.useContext)(Ke.aM),Rt=(0,Ue.useMemo)(()=>Object.assign(Object.assign({},kt),{isFormItemInput:!1}),[kt]);return ct(Ue.createElement("span",{className:Xt,style:lt.style,onMouseEnter:lt.onMouseEnter,onMouseLeave:lt.onMouseLeave,onFocus:lt.onFocus,onBlur:lt.onBlur},Ue.createElement(Ke.aM.Provider,{value:Rt},lt.children)))},ke=Oe(9432),Ie=Oe(61441),Ce=Oe(30631),Me=Oe(64002),je=Oe(20475),ye=Oe(59412),ie=function(lt,At){var Et={};for(var vt in lt)Object.prototype.hasOwnProperty.call(lt,vt)&&At.indexOf(vt)<0&&(Et[vt]=lt[vt]);if(lt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Lt=0,vt=Object.getOwnPropertySymbols(lt);Lt<vt.length;Lt++)At.indexOf(vt[Lt])<0&&Object.prototype.propertyIsEnumerable.call(lt,vt[Lt])&&(Et[vt[Lt]]=lt[vt[Lt]]);return Et};const ae=lt=>lt?Ue.createElement(Ce.Z,null):Ue.createElement(Ie.Z,null),fe={click:"onClick",hover:"onMouseOver"};var ve=Ue.forwardRef((lt,At)=>{const{visibilityToggle:Et=!0}=lt,vt=typeof Et=="object"&&Et.visible!==void 0,[Lt,St]=(0,Ue.useState)(()=>vt?Et.visible:!1),xt=(0,Ue.useRef)(null);Ue.useEffect(()=>{vt&&St(Et.visible)},[vt,Et]);const ct=(0,ye.Z)(xt),Dt=()=>{const{disabled:Xn}=lt;Xn||(Lt&&ct(),St(Nn=>{var _n;const un=!Nn;return typeof Et=="object"&&((_n=Et.onVisibleChange)===null||_n===void 0||_n.call(Et,un)),un}))},Xt=Xn=>{const{action:Nn="click",iconRender:_n=ae}=lt,un=fe[Nn]||"",qt=_n(Lt),Yt={[un]:Dt,className:`${Xn}-icon`,key:"passwordIcon",onMouseDown:gn=>{gn.preventDefault()},onMouseUp:gn=>{gn.preventDefault()}};return Ue.cloneElement(Ue.isValidElement(qt)?qt:Ue.createElement("span",null,qt),Yt)},{className:kt,prefixCls:Rt,inputPrefixCls:Gt,size:ln}=lt,Rn=ie(lt,["className","prefixCls","inputPrefixCls","size"]),{getPrefixCls:jn}=Ue.useContext(Ne.E_),er=jn("input",Gt),an=jn("input-password",Rt),Un=Et&&Xt(an),Kn=tt()(an,kt,{[`${an}-${ln}`]:!!ln}),ur=Object.assign(Object.assign({},(0,Me.Z)(Rn,["suffix","iconRender","visibilityToggle"])),{type:Lt?"text":"password",className:Kn,prefixCls:er,suffix:Un});return ln&&(ur.size=ln),Ue.createElement(ke.Z,Object.assign({ref:(0,je.sQ)(At,xt)},ur))}),xe=Oe(21970),ce=Oe(92343),pe=Oe(3113),Se=Oe(19716),Le=Oe(33234),ze=function(lt,At){var Et={};for(var vt in lt)Object.prototype.hasOwnProperty.call(lt,vt)&&At.indexOf(vt)<0&&(Et[vt]=lt[vt]);if(lt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Lt=0,vt=Object.getOwnPropertySymbols(lt);Lt<vt.length;Lt++)At.indexOf(vt[Lt])<0&&Object.prototype.propertyIsEnumerable.call(lt,vt[Lt])&&(Et[vt[Lt]]=lt[vt[Lt]]);return Et},Ve=Ue.forwardRef((lt,At)=>{const{prefixCls:Et,inputPrefixCls:vt,className:Lt,size:St,suffix:xt,enterButton:ct=!1,addonAfter:Dt,loading:Xt,disabled:kt,onSearch:Rt,onChange:Gt,onCompositionStart:ln,onCompositionEnd:Rn}=lt,jn=ze(lt,["prefixCls","inputPrefixCls","className","size","suffix","enterButton","addonAfter","loading","disabled","onSearch","onChange","onCompositionStart","onCompositionEnd"]),{getPrefixCls:er,direction:an}=Ue.useContext(Ne.E_),Un=Ue.useRef(!1),Kn=er("input-search",Et),ur=er("input",vt),{compactSize:Xn}=(0,Le.ri)(Kn,an),Nn=(0,Se.Z)(hn=>{var rr;return(rr=St!=null?St:Xn)!==null&&rr!==void 0?rr:hn}),_n=Ue.useRef(null),un=hn=>{hn&&hn.target&&hn.type==="click"&&Rt&&Rt(hn.target.value,hn,{source:"clear"}),Gt&&Gt(hn)},qt=hn=>{var rr;document.activeElement===((rr=_n.current)===null||rr===void 0?void 0:rr.input)&&hn.preventDefault()},Yt=hn=>{var rr,Jn;Rt&&Rt((Jn=(rr=_n.current)===null||rr===void 0?void 0:rr.input)===null||Jn===void 0?void 0:Jn.value,hn,{source:"input"})},gn=hn=>{Un.current||Xt||Yt(hn)},_t=typeof ct=="boolean"?Ue.createElement(xe.Z,null):null,Jt=`${Kn}-button`;let wt;const ut=ct||{},ot=ut.type&&ut.type.__ANT_BUTTON===!0;ot||ut.type==="button"?wt=(0,ce.Tm)(ut,Object.assign({onMouseDown:qt,onClick:hn=>{var rr,Jn;(Jn=(rr=ut==null?void 0:ut.props)===null||rr===void 0?void 0:rr.onClick)===null||Jn===void 0||Jn.call(rr,hn),Yt(hn)},key:"enterButton"},ot?{className:Jt,size:Nn}:{})):wt=Ue.createElement(pe.ZP,{className:Jt,type:ct?"primary":void 0,size:Nn,disabled:kt,key:"enterButton",onMouseDown:qt,onClick:Yt,loading:Xt,icon:_t},ct),Dt&&(wt=[wt,(0,ce.Tm)(Dt,{key:"addonAfter"})]);const Pt=tt()(Kn,{[`${Kn}-rtl`]:an==="rtl",[`${Kn}-${Nn}`]:!!Nn,[`${Kn}-with-button`]:!!ct},Lt),Ht=hn=>{Un.current=!0,ln==null||ln(hn)},Mt=hn=>{Un.current=!1,Rn==null||Rn(hn)};return Ue.createElement(ke.Z,Object.assign({ref:(0,je.sQ)(_n,At),onPressEnter:gn},jn,{size:Nn,onCompositionStart:Ht,onCompositionEnd:Mt,prefixCls:ur,addonAfter:wt,suffix:xt,onChange:un,className:Pt,disabled:kt}))}),Qe=Oe(1643);const $e=ke.Z;$e.Group=Te,$e.Search=Ve,$e.TextArea=Qe.Z,$e.Password=ve;var gt=$e},99580:function(en,tn,Oe){"use strict";Oe.d(tn,{D:function(){return xe},Z:function(){return Se}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"bars",theme:"outlined"},Ne=Ue,Ke=Oe(88853),Be=function(ze,Ze){return tt.createElement(Ke.Z,(0,Ge.Z)({},ze,{ref:Ze,icon:Ne}))},we=tt.forwardRef(Be),Te=we,ke=Oe(16537),Ie=Oe(53878),Ce=Oe(92310),Me=Oe.n(Ce),je=Oe(64002),ie=Le=>!isNaN(parseFloat(Le))&&isFinite(Le),ae=Oe(36355),fe=Oe(84966),de=function(Le,ze){var Ze={};for(var Ve in Le)Object.prototype.hasOwnProperty.call(Le,Ve)&&ze.indexOf(Ve)<0&&(Ze[Ve]=Le[Ve]);if(Le!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Qe=0,Ve=Object.getOwnPropertySymbols(Le);Qe<Ve.length;Qe++)ze.indexOf(Ve[Qe])<0&&Object.prototype.propertyIsEnumerable.call(Le,Ve[Qe])&&(Ze[Ve[Qe]]=Le[Ve[Qe]]);return Ze};const ve={xs:"479.98px",sm:"575.98px",md:"767.98px",lg:"991.98px",xl:"1199.98px",xxl:"1599.98px"},xe=tt.createContext({}),ce=(()=>{let Le=0;return function(){let ze=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return Le+=1,`${ze}${Le}`}})();var Se=tt.forwardRef((Le,ze)=>{const{prefixCls:Ze,className:Ve,trigger:Qe,children:$e,defaultCollapsed:gt=!1,theme:lt="dark",style:At={},collapsible:Et=!1,reverseArrow:vt=!1,width:Lt=200,collapsedWidth:St=80,zeroWidthTriggerStyle:xt,breakpoint:ct,onCollapse:Dt,onBreakpoint:Xt}=Le,kt=de(Le,["prefixCls","className","trigger","children","defaultCollapsed","theme","style","collapsible","reverseArrow","width","collapsedWidth","zeroWidthTriggerStyle","breakpoint","onCollapse","onBreakpoint"]),{siderHook:Rt}=(0,tt.useContext)(fe.Gs),[Gt,ln]=(0,tt.useState)("collapsed"in Le?Le.collapsed:gt),[Rn,jn]=(0,tt.useState)(!1);(0,tt.useEffect)(()=>{"collapsed"in Le&&ln(Le.collapsed)},[Le.collapsed]);const er=(Nn,_n)=>{"collapsed"in Le||ln(Nn),Dt==null||Dt(Nn,_n)},an=(0,tt.useRef)();an.current=Nn=>{jn(Nn.matches),Xt==null||Xt(Nn.matches),Gt!==Nn.matches&&er(Nn.matches,"responsive")},(0,tt.useEffect)(()=>{function Nn(un){return an.current(un)}let _n;if(typeof window!="undefined"){const{matchMedia:un}=window;if(un&&ct&&ct in ve){_n=un(`(max-width: ${ve[ct]})`);try{_n.addEventListener("change",Nn)}catch(qt){_n.addListener(Nn)}Nn(_n)}}return()=>{try{_n==null||_n.removeEventListener("change",Nn)}catch(un){_n==null||_n.removeListener(Nn)}}},[ct]),(0,tt.useEffect)(()=>{const Nn=ce("ant-sider-");return Rt.addSider(Nn),()=>Rt.removeSider(Nn)},[]);const Un=()=>{er(!Gt,"clickTrigger")},{getPrefixCls:Kn}=(0,tt.useContext)(ae.E_),ur=()=>{const Nn=Kn("layout-sider",Ze),_n=(0,je.Z)(kt,["collapsed"]),un=Gt?St:Lt,qt=ie(un)?`${un}px`:String(un),Yt=parseFloat(String(St||0))===0?tt.createElement("span",{onClick:Un,className:Me()(`${Nn}-zero-width-trigger`,`${Nn}-zero-width-trigger-${vt?"right":"left"}`),style:xt},Qe||tt.createElement(Te,null)):null,Jt={expanded:vt?tt.createElement(Ie.Z,null):tt.createElement(ke.Z,null),collapsed:vt?tt.createElement(ke.Z,null):tt.createElement(Ie.Z,null)}[Gt?"collapsed":"expanded"],wt=Qe!==null?Yt||tt.createElement("div",{className:`${Nn}-trigger`,onClick:Un,style:{width:qt}},Qe||Jt):null,ut=Object.assign(Object.assign({},At),{flex:`0 0 ${qt}`,maxWidth:qt,minWidth:qt,width:qt}),ot=Me()(Nn,`${Nn}-${lt}`,{[`${Nn}-collapsed`]:!!Gt,[`${Nn}-has-trigger`]:Et&&Qe!==null&&!Yt,[`${Nn}-below`]:!!Rn,[`${Nn}-zero-width`]:parseFloat(qt)===0},Ve);return tt.createElement("aside",Object.assign({className:ot},_n,{style:ut,ref:ze}),tt.createElement("div",{className:`${Nn}-children`},$e),Et||Rn&&Yt?wt:null)},Xn=tt.useMemo(()=>({siderCollapsed:Gt}),[Gt]);return tt.createElement(xe.Provider,{value:Xn},ur())})},84966:function(en,tn,Oe){"use strict";Oe.d(tn,{VY:function(){return xe},$_:function(){return ve},h4:function(){return de},Gs:function(){return je},ZP:function(){return ce}});var Ge=Oe(26390),tt=Oe(92310),Ue=Oe.n(tt),Ne=Oe(64002),Ke=Oe(59301),Be=Oe(36355),we=Oe(83116),ke=pe=>{const{componentCls:Se,bodyBg:Le,lightSiderBg:ze,lightTriggerBg:Ze,lightTriggerColor:Ve}=pe;return{[`${Se}-sider-light`]:{background:ze,[`${Se}-sider-trigger`]:{color:Ve,background:Ze},[`${Se}-sider-zero-width-trigger`]:{color:Ve,background:Ze,border:`1px solid ${Le}`,borderInlineStart:0}}}};const Ie=pe=>{const{antCls:Se,componentCls:Le,colorText:ze,triggerColor:Ze,footerBg:Ve,triggerBg:Qe,headerHeight:$e,headerPadding:gt,headerColor:lt,footerPadding:At,triggerHeight:Et,zeroTriggerHeight:vt,zeroTriggerWidth:Lt,motionDurationMid:St,motionDurationSlow:xt,fontSize:ct,borderRadius:Dt,bodyBg:Xt,headerBg:kt,siderBg:Rt}=pe;return{[Le]:Object.assign(Object.assign({display:"flex",flex:"auto",flexDirection:"column",minHeight:0,background:Xt,"&, *":{boxSizing:"border-box"},[`&${Le}-has-sider`]:{flexDirection:"row",[`> ${Le}, > ${Le}-content`]:{width:0}},[`${Le}-header, &${Le}-footer`]:{flex:"0 0 auto"},[`${Le}-sider`]:{position:"relative",minWidth:0,background:Rt,transition:`all ${St}, background 0s`,"&-children":{height:"100%",marginTop:-.1,paddingTop:.1,[`${Se}-menu${Se}-menu-inline-collapsed`]:{width:"auto"}},"&-has-trigger":{paddingBottom:Et},"&-right":{order:1},"&-trigger":{position:"fixed",bottom:0,zIndex:1,height:Et,color:Ze,lineHeight:`${Et}px`,textAlign:"center",background:Qe,cursor:"pointer",transition:`all ${St}`},"&-zero-width":{"> *":{overflow:"hidden"},"&-trigger":{position:"absolute",top:$e,insetInlineEnd:-Lt,zIndex:1,width:Lt,height:vt,color:Ze,fontSize:pe.fontSizeXL,display:"flex",alignItems:"center",justifyContent:"center",background:Rt,borderStartStartRadius:0,borderStartEndRadius:Dt,borderEndEndRadius:Dt,borderEndStartRadius:0,cursor:"pointer",transition:`background ${xt} ease`,"&::after":{position:"absolute",inset:0,background:"transparent",transition:`all ${xt}`,content:'""'},"&:hover::after":{background:"rgba(255, 255, 255, 0.2)"},"&-right":{insetInlineStart:-Lt,borderStartStartRadius:Dt,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:Dt}}}}},ke(pe)),{"&-rtl":{direction:"rtl"}}),[`${Le}-header`]:{height:$e,padding:gt,color:lt,lineHeight:`${$e}px`,background:kt,[`${Se}-menu`]:{lineHeight:"inherit"}},[`${Le}-footer`]:{padding:At,color:ze,fontSize:ct,background:Ve},[`${Le}-content`]:{flex:"auto",minHeight:0}}};var Ce=(0,we.Z)("Layout",pe=>[Ie(pe)],pe=>{const{colorBgLayout:Se,controlHeight:Le,controlHeightLG:ze,colorText:Ze,controlHeightSM:Ve,marginXXS:Qe,colorTextLightSolid:$e,colorBgContainer:gt}=pe,lt=ze*1.25;return{colorBgHeader:"#001529",colorBgBody:Se,colorBgTrigger:"#002140",bodyBg:Se,headerBg:"#001529",headerHeight:Le*2,headerPadding:`0 ${lt}px`,headerColor:Ze,footerPadding:`${Ve}px ${lt}px`,footerBg:Se,siderBg:"#001529",triggerHeight:ze+Qe*2,triggerBg:"#002140",triggerColor:$e,zeroTriggerWidth:ze,zeroTriggerHeight:ze,lightSiderBg:gt,lightTriggerBg:gt,lightTriggerColor:Ze}},{deprecatedTokens:[["colorBgBody","bodyBg"],["colorBgHeader","headerBg"],["colorBgTrigger","triggerBg"]]}),Me=function(pe,Se){var Le={};for(var ze in pe)Object.prototype.hasOwnProperty.call(pe,ze)&&Se.indexOf(ze)<0&&(Le[ze]=pe[ze]);if(pe!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ze=0,ze=Object.getOwnPropertySymbols(pe);Ze<ze.length;Ze++)Se.indexOf(ze[Ze])<0&&Object.prototype.propertyIsEnumerable.call(pe,ze[Ze])&&(Le[ze[Ze]]=pe[ze[Ze]]);return Le};const je=Ke.createContext({siderHook:{addSider:()=>null,removeSider:()=>null}});function ye(pe){let{suffixCls:Se,tagName:Le,displayName:ze}=pe;return Ze=>Ke.forwardRef((Qe,$e)=>Ke.createElement(Ze,Object.assign({ref:$e,suffixCls:Se,tagName:Le},Qe)))}const ie=Ke.forwardRef((pe,Se)=>{const{prefixCls:Le,suffixCls:ze,className:Ze,tagName:Ve}=pe,Qe=Me(pe,["prefixCls","suffixCls","className","tagName"]),{getPrefixCls:$e}=Ke.useContext(Be.E_),gt=$e("layout",Le),[lt,At]=Ce(gt),Et=ze?`${gt}-${ze}`:gt;return lt(Ke.createElement(Ve,Object.assign({className:Ue()(Le||Et,Ze,At),ref:Se},Qe)))}),ae=Ke.forwardRef((pe,Se)=>{const{direction:Le}=Ke.useContext(Be.E_),[ze,Ze]=Ke.useState([]),{prefixCls:Ve,className:Qe,rootClassName:$e,children:gt,hasSider:lt,tagName:At,style:Et}=pe,vt=Me(pe,["prefixCls","className","rootClassName","children","hasSider","tagName","style"]),Lt=(0,Ne.Z)(vt,["suffixCls"]),{getPrefixCls:St,layout:xt}=Ke.useContext(Be.E_),ct=St("layout",Ve),[Dt,Xt]=Ce(ct),kt=Ue()(ct,{[`${ct}-has-sider`]:typeof lt=="boolean"?lt:ze.length>0,[`${ct}-rtl`]:Le==="rtl"},xt==null?void 0:xt.className,Qe,$e,Xt),Rt=Ke.useMemo(()=>({siderHook:{addSider:Gt=>{Ze(ln=>[].concat((0,Ge.Z)(ln),[Gt]))},removeSider:Gt=>{Ze(ln=>ln.filter(Rn=>Rn!==Gt))}}}),[]);return Dt(Ke.createElement(je.Provider,{value:Rt},Ke.createElement(At,Object.assign({ref:Se,className:kt,style:Object.assign(Object.assign({},xt==null?void 0:xt.style),Et)},Lt),gt)))}),fe=ye({tagName:"div",displayName:"Layout"})(ae),de=ye({suffixCls:"header",tagName:"header",displayName:"Header"})(ie),ve=ye({suffixCls:"footer",tagName:"footer",displayName:"Footer"})(ie),xe=ye({suffixCls:"content",tagName:"main",displayName:"Content"})(ie);var ce=fe},40875:function(en,tn,Oe){"use strict";Oe.d(tn,{J:function(){return Be}});var Ge=Oe(59301),tt=Oe(33234),Ue=Oe(80764),Ne=function(we,Te){var ke={};for(var Ie in we)Object.prototype.hasOwnProperty.call(we,Ie)&&Te.indexOf(Ie)<0&&(ke[Ie]=we[Ie]);if(we!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ce=0,Ie=Object.getOwnPropertySymbols(we);Ce<Ie.length;Ce++)Te.indexOf(Ie[Ce])<0&&Object.prototype.propertyIsEnumerable.call(we,Ie[Ce])&&(ke[Ie[Ce]]=we[Ie[Ce]]);return ke};const Ke=Ge.createContext(null),Be=Ge.forwardRef((we,Te)=>{const{children:ke}=we,Ie=Ne(we,["children"]),Ce=Ge.useContext(Ke),Me=Ge.useMemo(()=>Object.assign(Object.assign({},Ce),Ie),[Ce,Ie.prefixCls,Ie.mode,Ie.selectable]);return Ge.createElement(Ke.Provider,{value:Me},Ge.createElement(tt.BR,null,(0,Ue.supportNodeRef)(ke)?Ge.cloneElement(ke,{ref:Te}):ke))});tn.Z=Ke},20834:function(en,tn,Oe){"use strict";Oe.d(tn,{default:function(){return Xn}});var Ge=Oe(22798),tt=Oe(59301),Ue=Oe(99580),Ne=Oe(92310),Ke=Oe.n(Ne),Be=Oe(36355),we=function(Nn,_n){var un={};for(var qt in Nn)Object.prototype.hasOwnProperty.call(Nn,qt)&&_n.indexOf(qt)<0&&(un[qt]=Nn[qt]);if(Nn!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Yt=0,qt=Object.getOwnPropertySymbols(Nn);Yt<qt.length;Yt++)_n.indexOf(qt[Yt])<0&&Object.prototype.propertyIsEnumerable.call(Nn,qt[Yt])&&(un[qt[Yt]]=Nn[qt[Yt]]);return un},ke=Nn=>{const{prefixCls:_n,className:un,dashed:qt}=Nn,Yt=we(Nn,["prefixCls","className","dashed"]),{getPrefixCls:gn}=tt.useContext(Be.E_),_t=gn("menu",_n),Jt=Ke()({[`${_t}-item-divider-dashed`]:!!qt},un);return tt.createElement(Ge.iz,Object.assign({className:Jt},Yt))},Ie=Oe(38298),Ce=Oe(64002),Me=Oe(6848),je=Oe(92343),ie=(0,tt.createContext)({prefixCls:"",firstLevel:!0,inlineCollapsed:!1}),fe=Nn=>{var _n;const{className:un,children:qt,icon:Yt,title:gn,danger:_t}=Nn,{prefixCls:Jt,firstLevel:wt,direction:ut,disableMenuItemTitleTooltip:ot,inlineCollapsed:Pt}=tt.useContext(ie),Ht=$n=>{const xr=tt.createElement("span",{className:`${Jt}-title-content`},qt);return(!Yt||(0,je.l$)(qt)&&qt.type==="span")&&qt&&$n&&wt&&typeof qt=="string"?tt.createElement("div",{className:`${Jt}-inline-collapsed-noicon`},qt.charAt(0)):xr},{siderCollapsed:Mt}=tt.useContext(Ue.D);let hn=gn;typeof gn=="undefined"?hn=wt?qt:"":gn===!1&&(hn="");const rr={title:hn};!Mt&&!Pt&&(rr.title=null,rr.open=!1);const Jn=(0,Ie.Z)(qt).length;let An=tt.createElement(Ge.ck,Object.assign({},(0,Ce.Z)(Nn,["title","icon","danger"]),{className:Ke()({[`${Jt}-item-danger`]:_t,[`${Jt}-item-only-child`]:(Yt?Jn+1:Jn)===1},un),title:typeof gn=="string"?gn:void 0}),(0,je.Tm)(Yt,{className:Ke()((0,je.l$)(Yt)?(_n=Yt.props)===null||_n===void 0?void 0:_n.className:"",`${Jt}-item-icon`)}),Ht(Pt));return ot||(An=tt.createElement(Me.Z,Object.assign({},rr,{placement:ut==="rtl"?"left":"right",overlayClassName:`${Jt}-inline-collapsed-tooltip`}),An)),An},ve=Nn=>{var _n;const{popupClassName:un,icon:qt,title:Yt,theme:gn}=Nn,_t=tt.useContext(ie),{prefixCls:Jt,inlineCollapsed:wt,theme:ut}=_t,ot=(0,Ge.Xl)();let Pt;if(!qt)Pt=wt&&!ot.length&&Yt&&typeof Yt=="string"?tt.createElement("div",{className:`${Jt}-inline-collapsed-noicon`},Yt.charAt(0)):tt.createElement("span",{className:`${Jt}-title-content`},Yt);else{const Mt=(0,je.l$)(Yt)&&Yt.type==="span";Pt=tt.createElement(tt.Fragment,null,(0,je.Tm)(qt,{className:Ke()((0,je.l$)(qt)?(_n=qt.props)===null||_n===void 0?void 0:_n.className:"",`${Jt}-item-icon`)}),Mt?Yt:tt.createElement("span",{className:`${Jt}-title-content`},Yt))}const Ht=tt.useMemo(()=>Object.assign(Object.assign({},_t),{firstLevel:!1}),[_t]);return tt.createElement(ie.Provider,{value:Ht},tt.createElement(Ge.Wd,Object.assign({},(0,Ce.Z)(Nn,["icon"]),{title:Pt,popupClassName:Ke()(Jt,un,`${Jt}-${gn||ut}`)})))},xe=Oe(19362),ce=Oe(80764),pe=Oe(62892),Se=Oe(40875),Le=function(Nn,_n){var un={};for(var qt in Nn)Object.prototype.hasOwnProperty.call(Nn,qt)&&_n.indexOf(qt)<0&&(un[qt]=Nn[qt]);if(Nn!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Yt=0,qt=Object.getOwnPropertySymbols(Nn);Yt<qt.length;Yt++)_n.indexOf(qt[Yt])<0&&Object.prototype.propertyIsEnumerable.call(Nn,qt[Yt])&&(un[qt[Yt]]=Nn[qt[Yt]]);return un};function ze(Nn){return(Nn||[]).map((_n,un)=>{if(_n&&typeof _n=="object"){const qt=_n,{label:Yt,children:gn,key:_t,type:Jt}=qt,wt=Le(qt,["label","children","key","type"]),ut=_t!=null?_t:`tmp-${un}`;return gn||Jt==="group"?Jt==="group"?tt.createElement(Ge.BW,Object.assign({key:ut},wt,{title:Yt}),ze(gn)):tt.createElement(ve,Object.assign({key:ut},wt,{title:Yt}),ze(gn)):Jt==="divider"?tt.createElement(ke,Object.assign({key:ut},wt)):tt.createElement(fe,Object.assign({key:ut},wt),Yt)}return null}).filter(_n=>_n)}function Ze(Nn){return tt.useMemo(()=>Nn&&ze(Nn),[Nn])}var Ve=Oe(64993),Qe=Oe(17313),$e=Oe(8378),gt=Oe(13826),lt=Oe(29878),At=Oe(83116),Et=Oe(37613),Lt=Nn=>{const{componentCls:_n,motionDurationSlow:un,horizontalLineHeight:qt,colorSplit:Yt,lineWidth:gn,lineType:_t,itemPaddingInline:Jt}=Nn;return{[`${_n}-horizontal`]:{lineHeight:qt,border:0,borderBottom:`${gn}px ${_t} ${Yt}`,boxShadow:"none","&::after":{display:"block",clear:"both",height:0,content:'"\\20"'},[`${_n}-item, ${_n}-submenu`]:{position:"relative",display:"inline-block",verticalAlign:"bottom",paddingInline:Jt},[`> ${_n}-item:hover,
> ${_n}-item-active,
> ${_n}-submenu ${_n}-submenu-title:hover`]:{backgroundColor:"transparent"},[`${_n}-item, ${_n}-submenu-title`]:{transition:[`border-color ${un}`,`background ${un}`].join(",")},[`${_n}-submenu-arrow`]:{display:"none"}}}},xt=Nn=>{let{componentCls:_n,menuArrowOffset:un}=Nn;return{[`${_n}-rtl`]:{direction:"rtl"},[`${_n}-submenu-rtl`]:{transformOrigin:"100% 0"},[`${_n}-rtl${_n}-vertical,
${_n}-submenu-rtl ${_n}-vertical`]:{[`${_n}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateY(-${un})`},"&::after":{transform:`rotate(45deg) translateY(${un})`}}}}};const ct=Nn=>Object.assign({},(0,Qe.oN)(Nn));var Xt=(Nn,_n)=>{const{componentCls:un,itemColor:qt,itemSelectedColor:Yt,groupTitleColor:gn,itemBg:_t,subMenuItemBg:Jt,itemSelectedBg:wt,activeBarHeight:ut,activeBarWidth:ot,activeBarBorderWidth:Pt,motionDurationSlow:Ht,motionEaseInOut:Mt,motionEaseOut:hn,itemPaddingInline:rr,motionDurationMid:Jn,itemHoverColor:An,lineType:$n,colorSplit:xr,itemDisabledColor:mr,dangerItemColor:Qr,dangerItemHoverColor:di,dangerItemSelectedColor:li,dangerItemActiveBg:Ai,dangerItemSelectedBg:fo,itemHoverBg:Io,itemActiveBg:bo,menuSubMenuBg:ai,horizontalItemSelectedColor:Pi,horizontalItemSelectedBg:ao,horizontalItemBorderRadius:Jr,horizontalItemHoverBg:oo,popupBg:zi}=Nn;return{[`${un}-${_n}, ${un}-${_n} > ${un}`]:{color:qt,background:_t,[`&${un}-root:focus-visible`]:Object.assign({},ct(Nn)),[`${un}-item-group-title`]:{color:gn},[`${un}-submenu-selected`]:{[`> ${un}-submenu-title`]:{color:Yt}},[`${un}-item-disabled, ${un}-submenu-disabled`]:{color:`${mr} !important`},[`${un}-item:not(${un}-item-selected):not(${un}-submenu-selected)`]:{[`&:hover, > ${un}-submenu-title:hover`]:{color:An}},[`&:not(${un}-horizontal)`]:{[`${un}-item:not(${un}-item-selected)`]:{"&:hover":{backgroundColor:Io},"&:active":{backgroundColor:bo}},[`${un}-submenu-title`]:{"&:hover":{backgroundColor:Io},"&:active":{backgroundColor:bo}}},[`${un}-item-danger`]:{color:Qr,[`&${un}-item:hover`]:{[`&:not(${un}-item-selected):not(${un}-submenu-selected)`]:{color:di}},[`&${un}-item:active`]:{background:Ai}},[`${un}-item a`]:{"&, &:hover":{color:"inherit"}},[`${un}-item-selected`]:{color:Yt,[`&${un}-item-danger`]:{color:li},"a, a:hover":{color:"inherit"}},[`& ${un}-item-selected`]:{backgroundColor:wt,[`&${un}-item-danger`]:{backgroundColor:fo}},[`${un}-item, ${un}-submenu-title`]:{[`&:not(${un}-item-disabled):focus-visible`]:Object.assign({},ct(Nn))},[`&${un}-submenu > ${un}`]:{backgroundColor:ai},[`&${un}-popup > ${un}`]:{backgroundColor:zi},[`&${un}-horizontal`]:Object.assign(Object.assign({},_n==="dark"?{borderBottom:0}:{}),{[`> ${un}-item, > ${un}-submenu`]:{top:Pt,marginTop:-Pt,marginBottom:0,borderRadius:Jr,"&::after":{position:"absolute",insetInline:rr,bottom:0,borderBottom:`${ut}px solid transparent`,transition:`border-color ${Ht} ${Mt}`,content:'""'},"&:hover, &-active, &-open":{background:oo,"&::after":{borderBottomWidth:ut,borderBottomColor:Pi}},"&-selected":{color:Pi,backgroundColor:ao,"&:hover":{backgroundColor:ao},"&::after":{borderBottomWidth:ut,borderBottomColor:Pi}}}}),[`&${un}-root`]:{[`&${un}-inline, &${un}-vertical`]:{borderInlineEnd:`${Pt}px ${$n} ${xr}`}},[`&${un}-inline`]:{[`${un}-sub${un}-inline`]:{background:Jt},[`${un}-item, ${un}-submenu-title`]:Pt&&ot?{width:`calc(100% + ${Pt}px)`}:{},[`${un}-item`]:{position:"relative","&::after":{position:"absolute",insetBlock:0,insetInlineEnd:0,borderInlineEnd:`${ot}px solid ${Yt}`,transform:"scaleY(0.0001)",opacity:0,transition:[`transform ${Jn} ${hn}`,`opacity ${Jn} ${hn}`].join(","),content:'""'},[`&${un}-item-danger`]:{"&::after":{borderInlineEndColor:li}}},[`${un}-selected, ${un}-item-selected`]:{"&::after":{transform:"scaleY(1)",opacity:1,transition:[`transform ${Jn} ${Mt}`,`opacity ${Jn} ${Mt}`].join(",")}}}}}};const kt=Nn=>{const{componentCls:_n,itemHeight:un,itemMarginInline:qt,padding:Yt,menuArrowSize:gn,marginXS:_t,itemMarginBlock:Jt}=Nn,wt=Yt+gn+_t;return{[`${_n}-item`]:{position:"relative",overflow:"hidden"},[`${_n}-item, ${_n}-submenu-title`]:{height:un,lineHeight:`${un}px`,paddingInline:Yt,overflow:"hidden",textOverflow:"ellipsis",marginInline:qt,marginBlock:Jt,width:`calc(100% - ${qt*2}px)`},[`> ${_n}-item,
> ${_n}-submenu > ${_n}-submenu-title`]:{height:un,lineHeight:`${un}px`},[`${_n}-item-group-list ${_n}-submenu-title,
${_n}-submenu-title`]:{paddingInlineEnd:wt}}};var Gt=Nn=>{const{componentCls:_n,iconCls:un,itemHeight:qt,colorTextLightSolid:Yt,dropdownWidth:gn,controlHeightLG:_t,motionDurationMid:Jt,motionEaseOut:wt,paddingXL:ut,itemMarginInline:ot,fontSizeLG:Pt,motionDurationSlow:Ht,paddingXS:Mt,boxShadowSecondary:hn,collapsedWidth:rr,collapsedIconSize:Jn}=Nn,An={height:qt,lineHeight:`${qt}px`,listStylePosition:"inside",listStyleType:"disc"};return[{[_n]:{"&-inline, &-vertical":Object.assign({[`&${_n}-root`]:{boxShadow:"none"}},kt(Nn))},[`${_n}-submenu-popup`]:{[`${_n}-vertical`]:Object.assign(Object.assign({},kt(Nn)),{boxShadow:hn})}},{[`${_n}-submenu-popup ${_n}-vertical${_n}-sub`]:{minWidth:gn,maxHeight:`calc(100vh - ${_t*2.5}px)`,padding:"0",overflow:"hidden",borderInlineEnd:0,"&:not([class*='-active'])":{overflowX:"hidden",overflowY:"auto"}}},{[`${_n}-inline`]:{width:"100%",[`&${_n}-root`]:{[`${_n}-item, ${_n}-submenu-title`]:{display:"flex",alignItems:"center",transition:[`border-color ${Ht}`,`background ${Ht}`,`padding ${Jt} ${wt}`].join(","),[`> ${_n}-title-content`]:{flex:"auto",minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},"> *":{flex:"none"}}},[`${_n}-sub${_n}-inline`]:{padding:0,border:0,borderRadius:0,boxShadow:"none",[`& > ${_n}-submenu > ${_n}-submenu-title`]:An,[`& ${_n}-item-group-title`]:{paddingInlineStart:ut}},[`${_n}-item`]:An}},{[`${_n}-inline-collapsed`]:{width:rr,[`&${_n}-root`]:{[`${_n}-item, ${_n}-submenu ${_n}-submenu-title`]:{[`> ${_n}-inline-collapsed-noicon`]:{fontSize:Pt,textAlign:"center"}}},[`> ${_n}-item,
> ${_n}-item-group > ${_n}-item-group-list > ${_n}-item,
> ${_n}-item-group > ${_n}-item-group-list > ${_n}-submenu > ${_n}-submenu-title,
> ${_n}-submenu > ${_n}-submenu-title`]:{insetInlineStart:0,paddingInline:`calc(50% - ${Pt/2}px - ${ot}px)`,textOverflow:"clip",[`
${_n}-submenu-arrow,
${_n}-submenu-expand-icon
`]:{opacity:0},[`${_n}-item-icon, ${un}`]:{margin:0,fontSize:Jn,lineHeight:`${qt}px`,"+ span":{display:"inline-block",opacity:0}}},[`${_n}-item-icon, ${un}`]:{display:"inline-block"},"&-tooltip":{pointerEvents:"none",[`${_n}-item-icon, ${un}`]:{display:"none"},"a, a:hover":{color:Yt}},[`${_n}-item-group-title`]:Object.assign(Object.assign({},Qe.vS),{paddingInline:Mt})}}]};const ln=Nn=>{const{componentCls:_n,motionDurationSlow:un,motionDurationMid:qt,motionEaseInOut:Yt,motionEaseOut:gn,iconCls:_t,iconSize:Jt,iconMarginInlineEnd:wt}=Nn;return{[`${_n}-item, ${_n}-submenu-title`]:{position:"relative",display:"block",margin:0,whiteSpace:"nowrap",cursor:"pointer",transition:[`border-color ${un}`,`background ${un}`,`padding ${un} ${Yt}`].join(","),[`${_n}-item-icon, ${_t}`]:{minWidth:Jt,fontSize:Jt,transition:[`font-size ${qt} ${gn}`,`margin ${un} ${Yt}`,`color ${un}`].join(","),"+ span":{marginInlineStart:wt,opacity:1,transition:[`opacity ${un} ${Yt}`,`margin ${un}`,`color ${un}`].join(",")}},[`${_n}-item-icon`]:Object.assign({},(0,Qe.Ro)()),[`&${_n}-item-only-child`]:{[`> ${_t}, > ${_n}-item-icon`]:{marginInlineEnd:0}}},[`${_n}-item-disabled, ${_n}-submenu-disabled`]:{background:"none !important",cursor:"not-allowed","&::after":{borderColor:"transparent !important"},a:{color:"inherit !important"},[`> ${_n}-submenu-title`]:{color:"inherit !important",cursor:"not-allowed"}}}},Rn=Nn=>{const{componentCls:_n,motionDurationSlow:un,motionEaseInOut:qt,borderRadius:Yt,menuArrowSize:gn,menuArrowOffset:_t}=Nn;return{[`${_n}-submenu`]:{"&-expand-icon, &-arrow":{position:"absolute",top:"50%",insetInlineEnd:Nn.margin,width:gn,color:"currentcolor",transform:"translateY(-50%)",transition:`transform ${un} ${qt}, opacity ${un}`},"&-arrow":{"&::before, &::after":{position:"absolute",width:gn*.6,height:gn*.15,backgroundColor:"currentcolor",borderRadius:Yt,transition:[`background ${un} ${qt}`,`transform ${un} ${qt}`,`top ${un} ${qt}`,`color ${un} ${qt}`].join(","),content:'""'},"&::before":{transform:`rotate(45deg) translateY(-${_t})`},"&::after":{transform:`rotate(-45deg) translateY(${_t})`}}}}},jn=Nn=>{const{antCls:_n,componentCls:un,fontSize:qt,motionDurationSlow:Yt,motionDurationMid:gn,motionEaseInOut:_t,paddingXS:Jt,padding:wt,colorSplit:ut,lineWidth:ot,zIndexPopup:Pt,borderRadiusLG:Ht,subMenuItemBorderRadius:Mt,menuArrowSize:hn,menuArrowOffset:rr,lineType:Jn,menuPanelMaskInset:An,groupTitleLineHeight:$n,groupTitleFontSize:xr}=Nn;return[{"":{[`${un}`]:Object.assign(Object.assign({},(0,Qe.dF)()),{"&-hidden":{display:"none"}})},[`${un}-submenu-hidden`]:{display:"none"}},{[un]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,Qe.Wf)(Nn)),(0,Qe.dF)()),{marginBottom:0,paddingInlineStart:0,fontSize:qt,lineHeight:0,listStyle:"none",outline:"none",transition:`width ${Yt} cubic-bezier(0.2, 0, 0, 1) 0s`,"ul, ol":{margin:0,padding:0,listStyle:"none"},"&-overflow":{display:"flex",[`${un}-item`]:{flex:"none"}},[`${un}-item, ${un}-submenu, ${un}-submenu-title`]:{borderRadius:Nn.itemBorderRadius},[`${un}-item-group-title`]:{padding:`${Jt}px ${wt}px`,fontSize:xr,lineHeight:$n,transition:`all ${Yt}`},[`&-horizontal ${un}-submenu`]:{transition:[`border-color ${Yt} ${_t}`,`background ${Yt} ${_t}`].join(",")},[`${un}-submenu, ${un}-submenu-inline`]:{transition:[`border-color ${Yt} ${_t}`,`background ${Yt} ${_t}`,`padding ${gn} ${_t}`].join(",")},[`${un}-submenu ${un}-sub`]:{cursor:"initial",transition:[`background ${Yt} ${_t}`,`padding ${Yt} ${_t}`].join(",")},[`${un}-title-content`]:{transition:`color ${Yt}`},[`${un}-item a`]:{"&::before":{position:"absolute",inset:0,backgroundColor:"transparent",content:'""'}},[`${un}-item-divider`]:{overflow:"hidden",lineHeight:0,borderColor:ut,borderStyle:Jn,borderWidth:0,borderTopWidth:ot,marginBlock:ot,padding:0,"&-dashed":{borderStyle:"dashed"}}}),ln(Nn)),{[`${un}-item-group`]:{[`${un}-item-group-list`]:{margin:0,padding:0,[`${un}-item, ${un}-submenu-title`]:{paddingInline:`${qt*2}px ${wt}px`}}},"&-submenu":{"&-popup":{position:"absolute",zIndex:Pt,borderRadius:Ht,boxShadow:"none",transformOrigin:"0 0",[`&${un}-submenu`]:{background:"transparent"},"&::before":{position:"absolute",inset:`${An}px 0 0`,zIndex:-1,width:"100%",height:"100%",opacity:0,content:'""'}},"&-placement-rightTop::before":{top:0,insetInlineStart:An},"\n &-placement-leftTop,\n &-placement-bottomRight,\n ":{transformOrigin:"100% 0"},"\n &-placement-leftBottom,\n &-placement-topRight,\n ":{transformOrigin:"100% 100%"},"\n &-placement-rightBottom,\n &-placement-topLeft,\n ":{transformOrigin:"0 100%"},"\n &-placement-bottomLeft,\n &-placement-rightTop,\n ":{transformOrigin:"0 0"},"\n &-placement-leftTop,\n &-placement-leftBottom\n ":{paddingInlineEnd:Nn.paddingXS},"\n &-placement-rightTop,\n &-placement-rightBottom\n ":{paddingInlineStart:Nn.paddingXS},"\n &-placement-topRight,\n &-placement-topLeft\n ":{paddingBottom:Nn.paddingXS},"\n &-placement-bottomRight,\n &-placement-bottomLeft\n ":{paddingTop:Nn.paddingXS},[`> ${un}`]:Object.assign(Object.assign(Object.assign({borderRadius:Ht},ln(Nn)),Rn(Nn)),{[`${un}-item, ${un}-submenu > ${un}-submenu-title`]:{borderRadius:Mt},[`${un}-submenu-title::after`]:{transition:`transform ${Yt} ${_t}`}})}}),Rn(Nn)),{[`&-inline-collapsed ${un}-submenu-arrow,
&-inline ${un}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateX(${rr})`},"&::after":{transform:`rotate(45deg) translateX(-${rr})`}},[`${un}-submenu-open${un}-submenu-inline > ${un}-submenu-title > ${un}-submenu-arrow`]:{transform:`translateY(-${hn*.2}px)`,"&::after":{transform:`rotate(-45deg) translateX(-${rr})`},"&::before":{transform:`rotate(45deg) translateX(${rr})`}}})},{[`${_n}-layout-header`]:{[un]:{lineHeight:"inherit"}}}]};var er=(Nn,_n)=>(0,At.Z)("Menu",qt=>{if(_n===!1)return[];const{colorBgElevated:Yt,colorPrimary:gn,colorTextLightSolid:_t,controlHeightLG:Jt,fontSize:wt,darkItemColor:ut,darkDangerItemColor:ot,darkItemBg:Pt,darkSubMenuItemBg:Ht,darkItemSelectedColor:Mt,darkItemSelectedBg:hn,darkDangerItemSelectedBg:rr,darkItemHoverBg:Jn,darkGroupTitleColor:An,darkItemHoverColor:$n,darkItemDisabledColor:xr,darkDangerItemHoverColor:mr,darkDangerItemSelectedColor:Qr,darkDangerItemActiveBg:di}=qt,li=wt/7*5,Ai=(0,Et.TS)(qt,{menuArrowSize:li,menuHorizontalHeight:Jt*1.15,menuArrowOffset:`${li*.25}px`,menuPanelMaskInset:-7,menuSubMenuBg:Yt}),fo=(0,Et.TS)(Ai,{itemColor:ut,itemHoverColor:$n,groupTitleColor:An,itemSelectedColor:Mt,itemBg:Pt,popupBg:Pt,subMenuItemBg:Ht,itemActiveBg:"transparent",itemSelectedBg:hn,activeBarHeight:0,activeBarBorderWidth:0,itemHoverBg:Jn,itemDisabledColor:xr,dangerItemColor:ot,dangerItemHoverColor:mr,dangerItemSelectedColor:Qr,dangerItemActiveBg:di,dangerItemSelectedBg:rr,menuSubMenuBg:Ht,horizontalItemSelectedColor:_t,horizontalItemSelectedBg:gn});return[jn(Ai),Lt(Ai),Gt(Ai),Xt(Ai,"light"),Xt(fo,"dark"),xt(Ai),(0,$e.Z)(Ai),(0,gt.oN)(Ai,"slide-up"),(0,gt.oN)(Ai,"slide-down"),(0,lt._y)(Ai,"zoom-big")]},qt=>{const{colorPrimary:Yt,colorError:gn,colorTextDisabled:_t,colorErrorBg:Jt,colorText:wt,colorTextDescription:ut,colorBgContainer:ot,colorFillAlter:Pt,colorFillContent:Ht,lineWidth:Mt,lineWidthBold:hn,controlItemBgActive:rr,colorBgTextHover:Jn,controlHeightLG:An,lineHeight:$n,colorBgElevated:xr,marginXXS:mr,padding:Qr,fontSize:di,controlHeightSM:li,fontSizeLG:Ai,colorTextLightSolid:fo,colorErrorHover:Io}=qt,bo=new Ve.C(fo).setAlpha(.65).toRgbString();return{dropdownWidth:160,zIndexPopup:qt.zIndexPopupBase+50,radiusItem:qt.borderRadiusLG,itemBorderRadius:qt.borderRadiusLG,radiusSubMenuItem:qt.borderRadiusSM,subMenuItemBorderRadius:qt.borderRadiusSM,colorItemText:wt,itemColor:wt,colorItemTextHover:wt,itemHoverColor:wt,colorItemTextHoverHorizontal:Yt,horizontalItemHoverColor:Yt,colorGroupTitle:ut,groupTitleColor:ut,colorItemTextSelected:Yt,itemSelectedColor:Yt,colorItemTextSelectedHorizontal:Yt,horizontalItemSelectedColor:Yt,colorItemBg:ot,itemBg:ot,colorItemBgHover:Jn,itemHoverBg:Jn,colorItemBgActive:Ht,itemActiveBg:rr,colorSubItemBg:Pt,subMenuItemBg:Pt,colorItemBgSelected:rr,itemSelectedBg:rr,colorItemBgSelectedHorizontal:"transparent",horizontalItemSelectedBg:"transparent",colorActiveBarWidth:0,activeBarWidth:0,colorActiveBarHeight:hn,activeBarHeight:hn,colorActiveBarBorderSize:Mt,activeBarBorderWidth:Mt,colorItemTextDisabled:_t,itemDisabledColor:_t,colorDangerItemText:gn,dangerItemColor:gn,colorDangerItemTextHover:gn,dangerItemHoverColor:gn,colorDangerItemTextSelected:gn,dangerItemSelectedColor:gn,colorDangerItemBgActive:Jt,dangerItemActiveBg:Jt,colorDangerItemBgSelected:Jt,dangerItemSelectedBg:Jt,itemMarginInline:qt.marginXXS,horizontalItemBorderRadius:0,horizontalItemHoverBg:"transparent",itemHeight:An,groupTitleLineHeight:$n,collapsedWidth:An*2,popupBg:xr,itemMarginBlock:mr,itemPaddingInline:Qr,horizontalLineHeight:`${An*1.15}px`,iconSize:di,iconMarginInlineEnd:li-di,collapsedIconSize:Ai,groupTitleFontSize:di,darkItemDisabledColor:new Ve.C(fo).setAlpha(.25).toRgbString(),darkItemColor:bo,darkDangerItemColor:gn,darkItemBg:"#001529",darkSubMenuItemBg:"#000c17",darkItemSelectedColor:fo,darkItemSelectedBg:Yt,darkDangerItemSelectedBg:gn,darkItemHoverBg:"transparent",darkGroupTitleColor:bo,darkItemHoverColor:fo,darkDangerItemHoverColor:Io,darkDangerItemSelectedColor:fo,darkDangerItemActiveBg:gn}},{deprecatedTokens:[["colorGroupTitle","groupTitleColor"],["radiusItem","itemBorderRadius"],["radiusSubMenuItem","subMenuItemBorderRadius"],["colorItemText","itemColor"],["colorItemTextHover","itemHoverColor"],["colorItemTextHoverHorizontal","horizontalItemHoverColor"],["colorItemTextSelected","itemSelectedColor"],["colorItemTextSelectedHorizontal","horizontalItemSelectedColor"],["colorItemTextDisabled","itemDisabledColor"],["colorDangerItemText","dangerItemColor"],["colorDangerItemTextHover","dangerItemHoverColor"],["colorDangerItemTextSelected","dangerItemSelectedColor"],["colorDangerItemBgActive","dangerItemActiveBg"],["colorDangerItemBgSelected","dangerItemSelectedBg"],["colorItemBg","itemBg"],["colorItemBgHover","itemHoverBg"],["colorSubItemBg","subMenuItemBg"],["colorItemBgActive","itemActiveBg"],["colorItemBgSelectedHorizontal","horizontalItemSelectedBg"],["colorActiveBarWidth","activeBarWidth"],["colorActiveBarHeight","activeBarHeight"],["colorActiveBarBorderSize","activeBarBorderWidth"],["colorItemBgSelected","itemSelectedBg"]]})(Nn),an=function(Nn,_n){var un={};for(var qt in Nn)Object.prototype.hasOwnProperty.call(Nn,qt)&&_n.indexOf(qt)<0&&(un[qt]=Nn[qt]);if(Nn!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Yt=0,qt=Object.getOwnPropertySymbols(Nn);Yt<qt.length;Yt++)_n.indexOf(qt[Yt])<0&&Object.prototype.propertyIsEnumerable.call(Nn,qt[Yt])&&(un[qt[Yt]]=Nn[qt[Yt]]);return un},Kn=(0,tt.forwardRef)((Nn,_n)=>{var un,qt;const Yt=tt.useContext(Se.Z),gn=Yt||{},{getPrefixCls:_t,getPopupContainer:Jt,direction:wt,menu:ut}=tt.useContext(Be.E_),ot=_t(),{prefixCls:Pt,className:Ht,style:Mt,theme:hn="light",expandIcon:rr,_internalDisableMenuItemTitleTooltip:Jn,inlineCollapsed:An,siderCollapsed:$n,items:xr,children:mr,rootClassName:Qr,mode:di,selectable:li,onClick:Ai,overflowedIndicatorPopupClassName:fo}=Nn,Io=an(Nn,["prefixCls","className","style","theme","expandIcon","_internalDisableMenuItemTitleTooltip","inlineCollapsed","siderCollapsed","items","children","rootClassName","mode","selectable","onClick","overflowedIndicatorPopupClassName"]),bo=(0,Ce.Z)(Io,["collapsedWidth"]),ai=Ze(xr)||mr;(un=gn.validator)===null||un===void 0||un.call(gn,{mode:di});const Pi=(0,ce.useEvent)(function(){var Qi;Ai==null||Ai.apply(void 0,arguments),(Qi=gn.onClick)===null||Qi===void 0||Qi.call(gn)}),ao=gn.mode||di,Jr=li!=null?li:gn.selectable,oo=tt.useMemo(()=>$n!==void 0?$n:An,[An,$n]),zi={horizontal:{motionName:`${ot}-slide-up`},inline:(0,pe.Z)(ot),other:{motionName:`${ot}-zoom-big`}},It=_t("menu",Pt||gn.prefixCls),[Yo,ko]=er(It,!Yt),Fr=Ke()(`${It}-${hn}`,ut==null?void 0:ut.className,Ht);let Bi;if(typeof rr=="function")Bi=rr;else if(rr===null||rr===!1)Bi=null;else if(gn.expandIcon===null||gn.expandIcon===!1)Bi=null;else{const Qi=rr!=null?rr:gn.expandIcon;Bi=(0,je.Tm)(Qi,{className:Ke()(`${It}-submenu-expand-icon`,(0,je.l$)(Qi)?(qt=Qi.props)===null||qt===void 0?void 0:qt.className:"")})}const Fi=tt.useMemo(()=>({prefixCls:It,inlineCollapsed:oo||!1,direction:wt,firstLevel:!0,theme:hn,mode:ao,disableMenuItemTitleTooltip:Jn}),[It,oo,wt,Jn,hn]);return Yo(tt.createElement(Se.Z.Provider,{value:null},tt.createElement(ie.Provider,{value:Fi},tt.createElement(Ge.ZP,Object.assign({getPopupContainer:Jt,overflowedIndicator:tt.createElement(xe.Z,null),overflowedIndicatorPopupClassName:Ke()(It,`${It}-${hn}`,fo),mode:ao,selectable:Jr,onClick:Pi},bo,{inlineCollapsed:oo,style:Object.assign(Object.assign({},ut==null?void 0:ut.style),Mt),className:Fr,prefixCls:It,direction:wt,defaultMotions:zi,expandIcon:Bi,ref:_n,rootClassName:Ke()(Qr,ko)}),ai))))});const ur=(0,tt.forwardRef)((Nn,_n)=>{const un=(0,tt.useRef)(null),qt=tt.useContext(Ue.D);return(0,tt.useImperativeHandle)(_n,()=>({menu:un.current,focus:Yt=>{var gn;(gn=un.current)===null||gn===void 0||gn.focus(Yt)}})),tt.createElement(Kn,Object.assign({ref:un},Nn,qt))});ur.Item=fe,ur.SubMenu=ve,ur.Divider=ke,ur.ItemGroup=Ge.BW;var Xn=ur},25700:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return gn}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z"}}]},name:"double-left",theme:"outlined"},Ne=Ue,Ke=Oe(88853),Be=function(Jt,wt){return tt.createElement(Ke.Z,(0,Ge.Z)({},Jt,{ref:wt,icon:Ne}))},we=tt.forwardRef(Be),Te=we,ke=Oe(93343),Ie=Oe(16537),Ce=Oe(53878),Me=Oe(92310),je=Oe.n(Me),ye=Oe(80962),ie=Oe(57259),ae=Oe(79545),fe=Oe(68550),de=Oe(17928),ve=Oe(7711),xe=Oe(36994),ce={ZERO:48,NINE:57,NUMPAD_ZERO:96,NUMPAD_NINE:105,BACKSPACE:8,DELETE:46,ENTER:13,ARROW_UP:38,ARROW_DOWN:40},pe=ce,Se=Oe(91735),Le=function(_t){(0,de.Z)(wt,_t);var Jt=(0,ve.Z)(wt);function wt(){var ut;(0,ae.Z)(this,wt);for(var ot=arguments.length,Pt=new Array(ot),Ht=0;Ht<ot;Ht++)Pt[Ht]=arguments[Ht];return ut=Jt.call.apply(Jt,[this].concat(Pt)),ut.state={goInputText:""},ut.getValidValue=function(){var Mt=ut.state.goInputText;return!Mt||Number.isNaN(Mt)?void 0:Number(Mt)},ut.buildOptionText=function(Mt){return"".concat(Mt," ").concat(ut.props.locale.items_per_page)},ut.changeSize=function(Mt){ut.props.changeSize(Number(Mt))},ut.handleChange=function(Mt){ut.setState({goInputText:Mt.target.value})},ut.handleBlur=function(Mt){var hn=ut.props,rr=hn.goButton,Jn=hn.quickGo,An=hn.rootPrefixCls,$n=ut.state.goInputText;rr||$n===""||(ut.setState({goInputText:""}),!(Mt.relatedTarget&&(Mt.relatedTarget.className.indexOf("".concat(An,"-item-link"))>=0||Mt.relatedTarget.className.indexOf("".concat(An,"-item"))>=0))&&Jn(ut.getValidValue()))},ut.go=function(Mt){var hn=ut.state.goInputText;hn!==""&&(Mt.keyCode===pe.ENTER||Mt.type==="click")&&(ut.setState({goInputText:""}),ut.props.quickGo(ut.getValidValue()))},ut}return(0,fe.Z)(wt,[{key:"getPageSizeOptions",value:function(){var ot=this.props,Pt=ot.pageSize,Ht=ot.pageSizeOptions;return Ht.some(function(Mt){return Mt.toString()===Pt.toString()})?Ht:Ht.concat([Pt.toString()]).sort(function(Mt,hn){var rr=Number.isNaN(Number(Mt))?0:Number(Mt),Jn=Number.isNaN(Number(hn))?0:Number(hn);return rr-Jn})}},{key:"render",value:function(){var ot=this,Pt=this.props,Ht=Pt.pageSize,Mt=Pt.locale,hn=Pt.rootPrefixCls,rr=Pt.changeSize,Jn=Pt.quickGo,An=Pt.goButton,$n=Pt.selectComponentClass,xr=Pt.buildOptionText,mr=Pt.selectPrefixCls,Qr=Pt.disabled,di=this.state.goInputText,li="".concat(hn,"-options"),Ai=$n,fo=null,Io=null,bo=null;if(!rr&&!Jn)return null;var ai=this.getPageSizeOptions();if(rr&&Ai){var Pi=ai.map(function(ao,Jr){return tt.createElement(Ai.Option,{key:Jr,value:ao.toString()},(xr||ot.buildOptionText)(ao))});fo=tt.createElement(Ai,{disabled:Qr,prefixCls:mr,showSearch:!1,className:"".concat(li,"-size-changer"),optionLabelProp:"children",popupMatchSelectWidth:!1,value:(Ht||ai[0]).toString(),onChange:this.changeSize,getPopupContainer:function(Jr){return Jr.parentNode},"aria-label":Mt.page_size,defaultOpen:!1},Pi)}return Jn&&(An&&(bo=typeof An=="boolean"?tt.createElement("button",{type:"button",onClick:this.go,onKeyUp:this.go,disabled:Qr,className:"".concat(li,"-quick-jumper-button")},Mt.jump_to_confirm):tt.createElement("span",{onClick:this.go,onKeyUp:this.go},An)),Io=tt.createElement("div",{className:"".concat(li,"-quick-jumper")},Mt.jump_to,tt.createElement("input",{disabled:Qr,type:"text",value:di,onChange:this.handleChange,onKeyUp:this.go,onBlur:this.handleBlur,"aria-label":Mt.page}),Mt.page,bo)),tt.createElement("li",{className:"".concat(li)},fo,Io)}}]),wt}(tt.Component);Le.defaultProps={pageSizeOptions:["10","20","50","100"]};var ze=Le,Ze=function(Jt){var wt,ut=Jt.rootPrefixCls,ot=Jt.page,Pt=Jt.active,Ht=Jt.className,Mt=Jt.showTitle,hn=Jt.onClick,rr=Jt.onKeyPress,Jn=Jt.itemRender,An="".concat(ut,"-item"),$n=je()(An,"".concat(An,"-").concat(ot),(wt={},(0,ye.Z)(wt,"".concat(An,"-active"),Pt),(0,ye.Z)(wt,"".concat(An,"-disabled"),!ot),(0,ye.Z)(wt,Jt.className,Ht),wt)),xr=function(){hn(ot)},mr=function(li){rr(li,hn,ot)},Qr=Jn(ot,"page",tt.createElement("a",{rel:"nofollow"},ot));return Qr?tt.createElement("li",{title:Mt?ot.toString():null,className:$n,onClick:xr,onKeyPress:mr,tabIndex:0},Qr):null},Ve=Ze;function Qe(){}function $e(_t){var Jt=Number(_t);return typeof Jt=="number"&&!Number.isNaN(Jt)&&isFinite(Jt)&&Math.floor(Jt)===Jt}var gt=function(Jt,wt,ut){return ut};function lt(_t,Jt,wt){var ut=typeof _t=="undefined"?Jt.pageSize:_t;return Math.floor((wt.total-1)/ut)+1}var At=function(_t){(0,de.Z)(wt,_t);var Jt=(0,ve.Z)(wt);function wt(ut){var ot;(0,ae.Z)(this,wt),ot=Jt.call(this,ut),ot.paginationNode=tt.createRef(),ot.getJumpPrevPage=function(){return Math.max(1,ot.state.current-(ot.props.showLessItems?3:5))},ot.getJumpNextPage=function(){return Math.min(lt(void 0,ot.state,ot.props),ot.state.current+(ot.props.showLessItems?3:5))},ot.getItemIcon=function(rr,Jn){var An=ot.props.prefixCls,$n=rr||tt.createElement("button",{type:"button","aria-label":Jn,className:"".concat(An,"-item-link")});return typeof rr=="function"&&($n=tt.createElement(rr,(0,ie.Z)({},ot.props))),$n},ot.isValid=function(rr){var Jn=ot.props.total;return $e(rr)&&rr!==ot.state.current&&$e(Jn)&&Jn>0},ot.shouldDisplayQuickJumper=function(){var rr=ot.props,Jn=rr.showQuickJumper,An=rr.total,$n=ot.state.pageSize;return An<=$n?!1:Jn},ot.handleKeyDown=function(rr){(rr.keyCode===pe.ARROW_UP||rr.keyCode===pe.ARROW_DOWN)&&rr.preventDefault()},ot.handleKeyUp=function(rr){var Jn=ot.getValidValue(rr),An=ot.state.currentInputValue;Jn!==An&&ot.setState({currentInputValue:Jn}),rr.keyCode===pe.ENTER?ot.handleChange(Jn):rr.keyCode===pe.ARROW_UP?ot.handleChange(Jn-1):rr.keyCode===pe.ARROW_DOWN&&ot.handleChange(Jn+1)},ot.handleBlur=function(rr){var Jn=ot.getValidValue(rr);ot.handleChange(Jn)},ot.changePageSize=function(rr){var Jn=ot.state.current,An=lt(rr,ot.state,ot.props);Jn=Jn>An?An:Jn,An===0&&(Jn=ot.state.current),typeof rr=="number"&&("pageSize"in ot.props||ot.setState({pageSize:rr}),"current"in ot.props||ot.setState({current:Jn,currentInputValue:Jn})),ot.props.onShowSizeChange(Jn,rr),"onChange"in ot.props&&ot.props.onChange&&ot.props.onChange(Jn,rr)},ot.handleChange=function(rr){var Jn=ot.props,An=Jn.disabled,$n=Jn.onChange,xr=ot.state,mr=xr.pageSize,Qr=xr.current,di=xr.currentInputValue;if(ot.isValid(rr)&&!An){var li=lt(void 0,ot.state,ot.props),Ai=rr;return rr>li?Ai=li:rr<1&&(Ai=1),"current"in ot.props||ot.setState({current:Ai}),Ai!==di&&ot.setState({currentInputValue:Ai}),$n(Ai,mr),Ai}return Qr},ot.prev=function(){ot.hasPrev()&&ot.handleChange(ot.state.current-1)},ot.next=function(){ot.hasNext()&&ot.handleChange(ot.state.current+1)},ot.jumpPrev=function(){ot.handleChange(ot.getJumpPrevPage())},ot.jumpNext=function(){ot.handleChange(ot.getJumpNextPage())},ot.hasPrev=function(){return ot.state.current>1},ot.hasNext=function(){return ot.state.current<lt(void 0,ot.state,ot.props)},ot.runIfEnter=function(rr,Jn){if(rr.key==="Enter"||rr.charCode===13){for(var An=arguments.length,$n=new Array(An>2?An-2:0),xr=2;xr<An;xr++)$n[xr-2]=arguments[xr];Jn.apply(void 0,$n)}},ot.runIfEnterPrev=function(rr){ot.runIfEnter(rr,ot.prev)},ot.runIfEnterNext=function(rr){ot.runIfEnter(rr,ot.next)},ot.runIfEnterJumpPrev=function(rr){ot.runIfEnter(rr,ot.jumpPrev)},ot.runIfEnterJumpNext=function(rr){ot.runIfEnter(rr,ot.jumpNext)},ot.handleGoTO=function(rr){(rr.keyCode===pe.ENTER||rr.type==="click")&&ot.handleChange(ot.state.currentInputValue)},ot.renderPrev=function(rr){var Jn=ot.props,An=Jn.prevIcon,$n=Jn.itemRender,xr=$n(rr,"prev",ot.getItemIcon(An,"prev page")),mr=!ot.hasPrev();return(0,tt.isValidElement)(xr)?(0,tt.cloneElement)(xr,{disabled:mr}):xr},ot.renderNext=function(rr){var Jn=ot.props,An=Jn.nextIcon,$n=Jn.itemRender,xr=$n(rr,"next",ot.getItemIcon(An,"next page")),mr=!ot.hasNext();return(0,tt.isValidElement)(xr)?(0,tt.cloneElement)(xr,{disabled:mr}):xr};var Pt=ut.onChange!==Qe,Ht="current"in ut;Ht&&!Pt&&console.warn("Warning: You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.");var Mt=ut.defaultCurrent;"current"in ut&&(Mt=ut.current);var hn=ut.defaultPageSize;return"pageSize"in ut&&(hn=ut.pageSize),Mt=Math.min(Mt,lt(hn,void 0,ut)),ot.state={current:Mt,currentInputValue:Mt,pageSize:hn},ot}return(0,fe.Z)(wt,[{key:"componentDidUpdate",value:function(ot,Pt){var Ht=this.props.prefixCls;if(Pt.current!==this.state.current&&this.paginationNode.current){var Mt=this.paginationNode.current.querySelector(".".concat(Ht,"-item-").concat(Pt.current));if(Mt&&document.activeElement===Mt){var hn;Mt==null||(hn=Mt.blur)===null||hn===void 0||hn.call(Mt)}}}},{key:"getValidValue",value:function(ot){var Pt=ot.target.value,Ht=lt(void 0,this.state,this.props),Mt=this.state.currentInputValue,hn;return Pt===""?hn=Pt:Number.isNaN(Number(Pt))?hn=Mt:Pt>=Ht?hn=Ht:hn=Number(Pt),hn}},{key:"getShowSizeChanger",value:function(){var ot=this.props,Pt=ot.showSizeChanger,Ht=ot.total,Mt=ot.totalBoundaryShowSizeChanger;return typeof Pt!="undefined"?Pt:Ht>Mt}},{key:"render",value:function(){var ot=this.props,Pt=ot.prefixCls,Ht=ot.className,Mt=ot.style,hn=ot.disabled,rr=ot.hideOnSinglePage,Jn=ot.total,An=ot.locale,$n=ot.showQuickJumper,xr=ot.showLessItems,mr=ot.showTitle,Qr=ot.showTotal,di=ot.simple,li=ot.itemRender,Ai=ot.showPrevNextJumpers,fo=ot.jumpPrevIcon,Io=ot.jumpNextIcon,bo=ot.selectComponentClass,ai=ot.selectPrefixCls,Pi=ot.pageSizeOptions,ao=this.state,Jr=ao.current,oo=ao.pageSize,zi=ao.currentInputValue;if(rr===!0&&Jn<=oo)return null;var It=lt(void 0,this.state,this.props),Yo=[],ko=null,Fr=null,Bi=null,Fi=null,Qi=null,ii=$n&&$n.goButton,Nt=xr?1:2,De=Jr-1>0?Jr-1:0,He=Jr+1<It?Jr+1:It,Re=(0,xe.Z)(this.props,{aria:!0,data:!0}),et=Qr&&tt.createElement("li",{className:"".concat(Pt,"-total-text")},Qr(Jn,[Jn===0?0:(Jr-1)*oo+1,Jr*oo>Jn?Jn:Jr*oo]));if(di){ii&&(typeof ii=="boolean"?Qi=tt.createElement("button",{type:"button",onClick:this.handleGoTO,onKeyUp:this.handleGoTO},An.jump_to_confirm):Qi=tt.createElement("span",{onClick:this.handleGoTO,onKeyUp:this.handleGoTO},ii),Qi=tt.createElement("li",{title:mr?"".concat(An.jump_to).concat(Jr,"/").concat(It):null,className:"".concat(Pt,"-simple-pager")},Qi));var ft=this.renderPrev(De);return tt.createElement("ul",(0,Ge.Z)({className:je()(Pt,"".concat(Pt,"-simple"),(0,ye.Z)({},"".concat(Pt,"-disabled"),hn),Ht),style:Mt,ref:this.paginationNode},Re),et,ft?tt.createElement("li",{title:mr?An.prev_page:null,onClick:this.prev,tabIndex:this.hasPrev()?0:null,onKeyPress:this.runIfEnterPrev,className:je()("".concat(Pt,"-prev"),(0,ye.Z)({},"".concat(Pt,"-disabled"),!this.hasPrev())),"aria-disabled":!this.hasPrev()},ft):null,tt.createElement("li",{title:mr?"".concat(Jr,"/").concat(It):null,className:"".concat(Pt,"-simple-pager")},tt.createElement("input",{type:"text",value:zi,disabled:hn,onKeyDown:this.handleKeyDown,onKeyUp:this.handleKeyUp,onChange:this.handleKeyUp,onBlur:this.handleBlur,size:3}),tt.createElement("span",{className:"".concat(Pt,"-slash")},"/"),It),tt.createElement("li",{title:mr?An.next_page:null,onClick:this.next,tabIndex:this.hasPrev()?0:null,onKeyPress:this.runIfEnterNext,className:je()("".concat(Pt,"-next"),(0,ye.Z)({},"".concat(Pt,"-disabled"),!this.hasNext())),"aria-disabled":!this.hasNext()},this.renderNext(He)),Qi)}if(It<=3+Nt*2){var Bt={locale:An,rootPrefixCls:Pt,onClick:this.handleChange,onKeyPress:this.runIfEnter,showTitle:mr,itemRender:li};It||Yo.push(tt.createElement(Ve,(0,Ge.Z)({},Bt,{key:"noPager",page:1,className:"".concat(Pt,"-item-disabled")})));for(var Ct=1;Ct<=It;Ct+=1){var rn=Jr===Ct;Yo.push(tt.createElement(Ve,(0,Ge.Z)({},Bt,{key:Ct,page:Ct,active:rn})))}}else{var nn=xr?An.prev_3:An.prev_5,Gn=xr?An.next_3:An.next_5,Sn=li(this.getJumpPrevPage(),"jump-prev",this.getItemIcon(fo,"prev page")),cn=li(this.getJumpNextPage(),"jump-next",this.getItemIcon(Io,"next page"));Ai&&(ko=Sn?tt.createElement("li",{title:mr?nn:null,key:"prev",onClick:this.jumpPrev,tabIndex:0,onKeyPress:this.runIfEnterJumpPrev,className:je()("".concat(Pt,"-jump-prev"),(0,ye.Z)({},"".concat(Pt,"-jump-prev-custom-icon"),!!fo))},Sn):null,Fr=cn?tt.createElement("li",{title:mr?Gn:null,key:"next",tabIndex:0,onClick:this.jumpNext,onKeyPress:this.runIfEnterJumpNext,className:je()("".concat(Pt,"-jump-next"),(0,ye.Z)({},"".concat(Pt,"-jump-next-custom-icon"),!!Io))},cn):null),Fi=tt.createElement(Ve,{locale:An,last:!0,rootPrefixCls:Pt,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:It,page:It,active:!1,showTitle:mr,itemRender:li}),Bi=tt.createElement(Ve,{locale:An,rootPrefixCls:Pt,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:1,page:1,active:!1,showTitle:mr,itemRender:li});var Yn=Math.max(1,Jr-Nt),ir=Math.min(Jr+Nt,It);Jr-1<=Nt&&(ir=1+Nt*2),It-Jr<=Nt&&(Yn=It-Nt*2);for(var fr=Yn;fr<=ir;fr+=1){var On=Jr===fr;Yo.push(tt.createElement(Ve,{locale:An,rootPrefixCls:Pt,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:fr,page:fr,active:On,showTitle:mr,itemRender:li}))}Jr-1>=Nt*2&&Jr!==3&&(Yo[0]=(0,tt.cloneElement)(Yo[0],{className:"".concat(Pt,"-item-after-jump-prev")}),Yo.unshift(ko)),It-Jr>=Nt*2&&Jr!==It-2&&(Yo[Yo.length-1]=(0,tt.cloneElement)(Yo[Yo.length-1],{className:"".concat(Pt,"-item-before-jump-next")}),Yo.push(Fr)),Yn!==1&&Yo.unshift(Bi),ir!==It&&Yo.push(Fi)}var dn=!this.hasPrev()||!It,Bn=!this.hasNext()||!It,tr=this.renderPrev(De),hr=this.renderNext(He);return tt.createElement("ul",(0,Ge.Z)({className:je()(Pt,Ht,(0,ye.Z)({},"".concat(Pt,"-disabled"),hn)),style:Mt,ref:this.paginationNode},Re),et,tr?tt.createElement("li",{title:mr?An.prev_page:null,onClick:this.prev,tabIndex:dn?null:0,onKeyPress:this.runIfEnterPrev,className:je()("".concat(Pt,"-prev"),(0,ye.Z)({},"".concat(Pt,"-disabled"),dn)),"aria-disabled":dn},tr):null,Yo,hr?tt.createElement("li",{title:mr?An.next_page:null,onClick:this.next,tabIndex:Bn?null:0,onKeyPress:this.runIfEnterNext,className:je()("".concat(Pt,"-next"),(0,ye.Z)({},"".concat(Pt,"-disabled"),Bn)),"aria-disabled":Bn},hr):null,tt.createElement(ze,{disabled:hn,locale:An,rootPrefixCls:Pt,selectComponentClass:bo,selectPrefixCls:ai,changeSize:this.getShowSizeChanger()?this.changePageSize:null,current:Jr,pageSize:oo,pageSizeOptions:Pi,quickGo:this.shouldDisplayQuickJumper()?this.handleChange:null,goButton:ii}))}}],[{key:"getDerivedStateFromProps",value:function(ot,Pt){var Ht={};if("current"in ot&&(Ht.current=ot.current,ot.current!==Pt.current&&(Ht.currentInputValue=Ht.current)),"pageSize"in ot&&ot.pageSize!==Pt.pageSize){var Mt=Pt.current,hn=lt(ot.pageSize,Pt,ot);Mt=Mt>hn?hn:Mt,"current"in ot||(Ht.current=Mt,Ht.currentInputValue=Mt),Ht.pageSize=ot.pageSize}return Ht}}]),wt}(tt.Component);At.defaultProps={defaultCurrent:1,total:0,defaultPageSize:10,onChange:Qe,className:"",selectPrefixCls:"rc-select",prefixCls:"rc-pagination",selectComponentClass:null,hideOnSinglePage:!1,showPrevNextJumpers:!0,showQuickJumper:!1,showLessItems:!1,showTitle:!0,onShowSizeChange:Qe,locale:Se.Z,style:{},itemRender:gt,totalBoundaryShowSizeChanger:50};var Et=At,vt=Oe(22075),Lt=Oe(36355),St=Oe(19716),xt=Oe(8628),ct=Oe(9763),Dt=Oe(57809);const Xt=_t=>tt.createElement(Dt.default,Object.assign({},_t,{showSearch:!0,size:"small"})),kt=_t=>tt.createElement(Dt.default,Object.assign({},_t,{showSearch:!0,size:"middle"}));Xt.Option=Dt.default.Option,kt.Option=Dt.default.Option;var Rt=Oe(9937),Gt=Oe(17313),ln=Oe(83116),Rn=Oe(37613);const jn=_t=>{const{componentCls:Jt}=_t;return{[`${Jt}-disabled`]:{"&, &:hover":{cursor:"not-allowed",[`${Jt}-item-link`]:{color:_t.colorTextDisabled,cursor:"not-allowed"}},"&:focus-visible":{cursor:"not-allowed",[`${Jt}-item-link`]:{color:_t.colorTextDisabled,cursor:"not-allowed"}}},[`&${Jt}-disabled`]:{cursor:"not-allowed",[`${Jt}-item`]:{cursor:"not-allowed","&:hover, &:active":{backgroundColor:"transparent"},a:{color:_t.colorTextDisabled,backgroundColor:"transparent",border:"none",cursor:"not-allowed"},"&-active":{borderColor:_t.colorBorder,backgroundColor:_t.itemActiveBgDisabled,"&:hover, &:active":{backgroundColor:_t.itemActiveBgDisabled},a:{color:_t.itemActiveColorDisabled}}},[`${Jt}-item-link`]:{color:_t.colorTextDisabled,cursor:"not-allowed","&:hover, &:active":{backgroundColor:"transparent"},[`${Jt}-simple&`]:{backgroundColor:"transparent","&:hover, &:active":{backgroundColor:"transparent"}}},[`${Jt}-simple-pager`]:{color:_t.colorTextDisabled},[`${Jt}-jump-prev, ${Jt}-jump-next`]:{[`${Jt}-item-link-icon`]:{opacity:0},[`${Jt}-item-ellipsis`]:{opacity:1}}},[`&${Jt}-simple`]:{[`${Jt}-prev, ${Jt}-next`]:{[`&${Jt}-disabled ${Jt}-item-link`]:{"&:hover, &:active":{backgroundColor:"transparent"}}}}}},er=_t=>{const{componentCls:Jt}=_t;return{[`&${Jt}-mini ${Jt}-total-text, &${Jt}-mini ${Jt}-simple-pager`]:{height:_t.itemSizeSM,lineHeight:`${_t.itemSizeSM}px`},[`&${Jt}-mini ${Jt}-item`]:{minWidth:_t.itemSizeSM,height:_t.itemSizeSM,margin:0,lineHeight:`${_t.itemSizeSM-2}px`},[`&${Jt}-mini:not(${Jt}-disabled) ${Jt}-item:not(${Jt}-item-active)`]:{backgroundColor:"transparent",borderColor:"transparent","&:hover":{backgroundColor:_t.colorBgTextHover},"&:active":{backgroundColor:_t.colorBgTextActive}},[`&${Jt}-mini ${Jt}-prev, &${Jt}-mini ${Jt}-next`]:{minWidth:_t.itemSizeSM,height:_t.itemSizeSM,margin:0,lineHeight:`${_t.itemSizeSM}px`},[`&${Jt}-mini:not(${Jt}-disabled)`]:{[`${Jt}-prev, ${Jt}-next`]:{[`&:hover ${Jt}-item-link`]:{backgroundColor:_t.colorBgTextHover},[`&:active ${Jt}-item-link`]:{backgroundColor:_t.colorBgTextActive},[`&${Jt}-disabled:hover ${Jt}-item-link`]:{backgroundColor:"transparent"}}},[`
&${Jt}-mini ${Jt}-prev ${Jt}-item-link,
&${Jt}-mini ${Jt}-next ${Jt}-item-link
`]:{backgroundColor:"transparent",borderColor:"transparent","&::after":{height:_t.itemSizeSM,lineHeight:`${_t.itemSizeSM}px`}},[`&${Jt}-mini ${Jt}-jump-prev, &${Jt}-mini ${Jt}-jump-next`]:{height:_t.itemSizeSM,marginInlineEnd:0,lineHeight:`${_t.itemSizeSM}px`},[`&${Jt}-mini ${Jt}-options`]:{marginInlineStart:_t.paginationMiniOptionsMarginInlineStart,"&-size-changer":{top:_t.miniOptionsSizeChangerTop},"&-quick-jumper":{height:_t.itemSizeSM,lineHeight:`${_t.itemSizeSM}px`,input:Object.assign(Object.assign({},(0,Rt.x0)(_t)),{width:_t.paginationMiniQuickJumperInputWidth,height:_t.controlHeightSM})}}}},an=_t=>{const{componentCls:Jt}=_t;return{[`
&${Jt}-simple ${Jt}-prev,
&${Jt}-simple ${Jt}-next
`]:{height:_t.itemSizeSM,lineHeight:`${_t.itemSizeSM}px`,verticalAlign:"top",[`${Jt}-item-link`]:{height:_t.itemSizeSM,backgroundColor:"transparent",border:0,"&:hover":{backgroundColor:_t.colorBgTextHover},"&:active":{backgroundColor:_t.colorBgTextActive},"&::after":{height:_t.itemSizeSM,lineHeight:`${_t.itemSizeSM}px`}}},[`&${Jt}-simple ${Jt}-simple-pager`]:{display:"inline-block",height:_t.itemSizeSM,marginInlineEnd:_t.marginXS,input:{boxSizing:"border-box",height:"100%",marginInlineEnd:_t.marginXS,padding:`0 ${_t.paginationItemPaddingInline}px`,textAlign:"center",backgroundColor:_t.itemInputBg,border:`${_t.lineWidth}px ${_t.lineType} ${_t.colorBorder}`,borderRadius:_t.borderRadius,outline:"none",transition:`border-color ${_t.motionDurationMid}`,color:"inherit","&:hover":{borderColor:_t.colorPrimary},"&:focus":{borderColor:_t.colorPrimaryHover,boxShadow:`${_t.inputOutlineOffset}px 0 ${_t.controlOutlineWidth}px ${_t.controlOutline}`},"&[disabled]":{color:_t.colorTextDisabled,backgroundColor:_t.colorBgContainerDisabled,borderColor:_t.colorBorder,cursor:"not-allowed"}}}}},Un=_t=>{const{componentCls:Jt}=_t;return{[`${Jt}-jump-prev, ${Jt}-jump-next`]:{outline:0,[`${Jt}-item-container`]:{position:"relative",[`${Jt}-item-link-icon`]:{color:_t.colorPrimary,fontSize:_t.fontSizeSM,opacity:0,transition:`all ${_t.motionDurationMid}`,"&-svg":{top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,margin:"auto"}},[`${Jt}-item-ellipsis`]:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,display:"block",margin:"auto",color:_t.colorTextDisabled,fontFamily:"Arial, Helvetica, sans-serif",letterSpacing:_t.paginationEllipsisLetterSpacing,textAlign:"center",textIndent:_t.paginationEllipsisTextIndent,opacity:1,transition:`all ${_t.motionDurationMid}`}},"&:hover":{[`${Jt}-item-link-icon`]:{opacity:1},[`${Jt}-item-ellipsis`]:{opacity:0}}},[`
${Jt}-prev,
${Jt}-jump-prev,
${Jt}-jump-next
`]:{marginInlineEnd:_t.marginXS},[`
${Jt}-prev,
${Jt}-next,
${Jt}-jump-prev,
${Jt}-jump-next
`]:{display:"inline-block",minWidth:_t.itemSize,height:_t.itemSize,color:_t.colorText,fontFamily:_t.fontFamily,lineHeight:`${_t.itemSize}px`,textAlign:"center",verticalAlign:"middle",listStyle:"none",borderRadius:_t.borderRadius,cursor:"pointer",transition:`all ${_t.motionDurationMid}`},[`${Jt}-prev, ${Jt}-next`]:{fontFamily:"Arial, Helvetica, sans-serif",outline:0,button:{color:_t.colorText,cursor:"pointer",userSelect:"none"},[`${Jt}-item-link`]:{display:"block",width:"100%",height:"100%",padding:0,fontSize:_t.fontSizeSM,textAlign:"center",backgroundColor:"transparent",border:`${_t.lineWidth}px ${_t.lineType} transparent`,borderRadius:_t.borderRadius,outline:"none",transition:`all ${_t.motionDurationMid}`},[`&:hover ${Jt}-item-link`]:{backgroundColor:_t.colorBgTextHover},[`&:active ${Jt}-item-link`]:{backgroundColor:_t.colorBgTextActive},[`&${Jt}-disabled:hover`]:{[`${Jt}-item-link`]:{backgroundColor:"transparent"}}},[`${Jt}-slash`]:{marginInlineEnd:_t.paginationSlashMarginInlineEnd,marginInlineStart:_t.paginationSlashMarginInlineStart},[`${Jt}-options`]:{display:"inline-block",marginInlineStart:_t.margin,verticalAlign:"middle","&-size-changer.-select":{display:"inline-block",width:"auto"},"&-quick-jumper":{display:"inline-block",height:_t.controlHeight,marginInlineStart:_t.marginXS,lineHeight:`${_t.controlHeight}px`,verticalAlign:"top",input:Object.assign(Object.assign({},(0,Rt.ik)(_t)),{width:_t.controlHeightLG*1.25,height:_t.controlHeight,boxSizing:"border-box",margin:0,marginInlineStart:_t.marginXS,marginInlineEnd:_t.marginXS})}}}},Kn=_t=>{const{componentCls:Jt}=_t;return{[`${Jt}-item`]:{display:"inline-block",minWidth:_t.itemSize,height:_t.itemSize,marginInlineEnd:_t.marginXS,fontFamily:_t.fontFamily,lineHeight:`${_t.itemSize-2}px`,textAlign:"center",verticalAlign:"middle",listStyle:"none",backgroundColor:"transparent",border:`${_t.lineWidth}px ${_t.lineType} transparent`,borderRadius:_t.borderRadius,outline:0,cursor:"pointer",userSelect:"none",a:{display:"block",padding:`0 ${_t.paginationItemPaddingInline}px`,color:_t.colorText,"&:hover":{textDecoration:"none"}},[`&:not(${Jt}-item-active)`]:{"&:hover":{transition:`all ${_t.motionDurationMid}`,backgroundColor:_t.colorBgTextHover},"&:active":{backgroundColor:_t.colorBgTextActive}},"&-active":{fontWeight:_t.fontWeightStrong,backgroundColor:_t.itemActiveBg,borderColor:_t.colorPrimary,a:{color:_t.colorPrimary},"&:hover":{borderColor:_t.colorPrimaryHover},"&:hover a":{color:_t.colorPrimaryHover}}}}},ur=_t=>{const{componentCls:Jt}=_t;return{[Jt]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,Gt.Wf)(_t)),{"ul, ol":{margin:0,padding:0,listStyle:"none"},"&::after":{display:"block",clear:"both",height:0,overflow:"hidden",visibility:"hidden",content:'""'},[`${Jt}-total-text`]:{display:"inline-block",height:_t.itemSize,marginInlineEnd:_t.marginXS,lineHeight:`${_t.itemSize-2}px`,verticalAlign:"middle"}}),Kn(_t)),Un(_t)),an(_t)),er(_t)),jn(_t)),{[`@media only screen and (max-width: ${_t.screenLG}px)`]:{[`${Jt}-item`]:{"&-after-jump-prev, &-before-jump-next":{display:"none"}}},[`@media only screen and (max-width: ${_t.screenSM}px)`]:{[`${Jt}-options`]:{display:"none"}}}),[`&${_t.componentCls}-rtl`]:{direction:"rtl"}}},Xn=_t=>{const{componentCls:Jt}=_t;return{[`${Jt}${Jt}-disabled:not(${Jt}-mini)`]:{"&, &:hover":{[`${Jt}-item-link`]:{borderColor:_t.colorBorder}},"&:focus-visible":{[`${Jt}-item-link`]:{borderColor:_t.colorBorder}},[`${Jt}-item, ${Jt}-item-link`]:{backgroundColor:_t.colorBgContainerDisabled,borderColor:_t.colorBorder,[`&:hover:not(${Jt}-item-active)`]:{backgroundColor:_t.colorBgContainerDisabled,borderColor:_t.colorBorder,a:{color:_t.colorTextDisabled}},[`&${Jt}-item-active`]:{backgroundColor:_t.itemActiveBgDisabled}},[`${Jt}-prev, ${Jt}-next`]:{"&:hover button":{backgroundColor:_t.colorBgContainerDisabled,borderColor:_t.colorBorder,color:_t.colorTextDisabled},[`${Jt}-item-link`]:{backgroundColor:_t.colorBgContainerDisabled,borderColor:_t.colorBorder}}},[`${Jt}:not(${Jt}-mini)`]:{[`${Jt}-prev, ${Jt}-next`]:{"&:hover button":{borderColor:_t.colorPrimaryHover,backgroundColor:_t.itemBg},[`${Jt}-item-link`]:{backgroundColor:_t.itemLinkBg,borderColor:_t.colorBorder},[`&:hover ${Jt}-item-link`]:{borderColor:_t.colorPrimary,backgroundColor:_t.itemBg,color:_t.colorPrimary},[`&${Jt}-disabled`]:{[`${Jt}-item-link`]:{borderColor:_t.colorBorder,color:_t.colorTextDisabled}}},[`${Jt}-item`]:{backgroundColor:_t.itemBg,border:`${_t.lineWidth}px ${_t.lineType} ${_t.colorBorder}`,[`&:hover:not(${Jt}-item-active)`]:{borderColor:_t.colorPrimary,backgroundColor:_t.itemBg,a:{color:_t.colorPrimary}},"&-active":{borderColor:_t.colorPrimary}}}}},Nn=_t=>{const{componentCls:Jt}=_t;return{[`${Jt}:not(${Jt}-disabled)`]:{[`${Jt}-item`]:Object.assign({},(0,Gt.Qy)(_t)),[`${Jt}-jump-prev, ${Jt}-jump-next`]:{"&:focus-visible":Object.assign({[`${Jt}-item-link-icon`]:{opacity:1},[`${Jt}-item-ellipsis`]:{opacity:0}},(0,Gt.oN)(_t))},[`${Jt}-prev, ${Jt}-next`]:{[`&:focus-visible ${Jt}-item-link`]:Object.assign({},(0,Gt.oN)(_t))}}}};var _n=(0,ln.Z)("Pagination",_t=>{const Jt=(0,Rn.TS)(_t,{inputOutlineOffset:0,paginationMiniOptionsMarginInlineStart:_t.marginXXS/2,paginationMiniQuickJumperInputWidth:_t.controlHeightLG*1.1,paginationItemPaddingInline:_t.marginXXS*1.5,paginationEllipsisLetterSpacing:_t.marginXXS/2,paginationSlashMarginInlineStart:_t.marginXXS,paginationSlashMarginInlineEnd:_t.marginSM,paginationEllipsisTextIndent:"0.13em"},(0,Rt.e5)(_t),(0,Rt.TM)(_t));return[ur(Jt),Nn(Jt),_t.wireframe&&Xn(Jt)]},_t=>({itemBg:_t.colorBgContainer,itemSize:_t.controlHeight,itemSizeSM:_t.controlHeightSM,itemActiveBg:_t.colorBgContainer,itemLinkBg:_t.colorBgContainer,itemActiveColorDisabled:_t.colorTextDisabled,itemActiveBgDisabled:_t.controlItemBgActiveDisabled,itemInputBg:_t.colorBgContainer,miniOptionsSizeChangerTop:0})),un=function(_t,Jt){var wt={};for(var ut in _t)Object.prototype.hasOwnProperty.call(_t,ut)&&Jt.indexOf(ut)<0&&(wt[ut]=_t[ut]);if(_t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ot=0,ut=Object.getOwnPropertySymbols(_t);ot<ut.length;ot++)Jt.indexOf(ut[ot])<0&&Object.prototype.propertyIsEnumerable.call(_t,ut[ot])&&(wt[ut[ot]]=_t[ut[ot]]);return wt},Yt=_t=>{const{prefixCls:Jt,selectPrefixCls:wt,className:ut,rootClassName:ot,style:Pt,size:Ht,locale:Mt,selectComponentClass:hn,responsive:rr,showSizeChanger:Jn}=_t,An=un(_t,["prefixCls","selectPrefixCls","className","rootClassName","style","size","locale","selectComponentClass","responsive","showSizeChanger"]),{xs:$n}=(0,xt.Z)(rr),{getPrefixCls:xr,direction:mr,pagination:Qr={}}=tt.useContext(Lt.E_),di=xr("pagination",Jt),[li,Ai]=_n(di),fo=Jn!=null?Jn:Qr.showSizeChanger,Io=tt.useMemo(()=>{const It=tt.createElement("span",{className:`${di}-item-ellipsis`},"\u2022\u2022\u2022"),Yo=tt.createElement("button",{className:`${di}-item-link`,type:"button",tabIndex:-1},mr==="rtl"?tt.createElement(Ce.Z,null):tt.createElement(Ie.Z,null)),ko=tt.createElement("button",{className:`${di}-item-link`,type:"button",tabIndex:-1},mr==="rtl"?tt.createElement(Ie.Z,null):tt.createElement(Ce.Z,null)),Fr=tt.createElement("a",{className:`${di}-item-link`},tt.createElement("div",{className:`${di}-item-container`},mr==="rtl"?tt.createElement(ke.Z,{className:`${di}-item-link-icon`}):tt.createElement(Te,{className:`${di}-item-link-icon`}),It)),Bi=tt.createElement("a",{className:`${di}-item-link`},tt.createElement("div",{className:`${di}-item-container`},mr==="rtl"?tt.createElement(Te,{className:`${di}-item-link-icon`}):tt.createElement(ke.Z,{className:`${di}-item-link-icon`}),It));return{prevIcon:Yo,nextIcon:ko,jumpPrevIcon:Fr,jumpNextIcon:Bi}},[mr,di]),[bo]=(0,ct.Z)("Pagination",vt.Z),ai=Object.assign(Object.assign({},bo),Mt),Pi=(0,St.Z)(Ht),ao=Pi==="small"||!!($n&&!Pi&&rr),Jr=xr("select",wt),oo=je()({[`${di}-mini`]:ao,[`${di}-rtl`]:mr==="rtl"},Qr==null?void 0:Qr.className,ut,ot,Ai),zi=Object.assign(Object.assign({},Qr==null?void 0:Qr.style),Pt);return li(tt.createElement(Et,Object.assign({},Io,An,{style:zi,prefixCls:di,selectPrefixCls:Jr,className:oo,selectComponentClass:hn||(ao?Xt:kt),locale:ai,showSizeChanger:fo})))},gn=Yt},93948:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Jn}});var Ge=Oe(59301),tt=Oe(79999),Ue=Oe(10402),Ne=Oe(33130),Ke=Oe(72119),Be=Oe(92310),we=Oe.n(Be),Te=Oe(64002),ke=Oe(36355),Ie=Oe(5891),Ce=Oe(57259),Me=Oe(19149),je={percent:0,prefixCls:"rc-progress",strokeColor:"#2db7f5",strokeLinecap:"round",strokeWidth:1,trailColor:"#D9D9D9",trailWidth:1,gapPosition:"bottom"},ye=function(){var $n=(0,Ge.useRef)([]),xr=(0,Ge.useRef)(null);return(0,Ge.useEffect)(function(){var mr=Date.now(),Qr=!1;$n.current.forEach(function(di){if(di){Qr=!0;var li=di.style;li.transitionDuration=".3s, .3s, .3s, .06s",xr.current&&mr-xr.current<100&&(li.transitionDuration="0s, 0s")}}),Qr&&(xr.current=Date.now())}),$n.current},ie=["className","percent","prefixCls","strokeColor","strokeLinecap","strokeWidth","style","trailColor","trailWidth","transition"],ae=function($n){var xr=(0,Ce.Z)((0,Ce.Z)({},je),$n),mr=xr.className,Qr=xr.percent,di=xr.prefixCls,li=xr.strokeColor,Ai=xr.strokeLinecap,fo=xr.strokeWidth,Io=xr.style,bo=xr.trailColor,ai=xr.trailWidth,Pi=xr.transition,ao=(0,Me.Z)(xr,ie);delete ao.gapPosition;var Jr=Array.isArray(Qr)?Qr:[Qr],oo=Array.isArray(li)?li:[li],zi=ye(),It=fo/2,Yo=100-fo/2,ko="M ".concat(Ai==="round"?It:0,",").concat(It,`
L `).concat(Ai==="round"?Yo:100,",").concat(It),Fr="0 0 100 ".concat(fo),Bi=0;return Ge.createElement("svg",(0,Ie.Z)({className:we()("".concat(di,"-line"),mr),viewBox:Fr,preserveAspectRatio:"none",style:Io},ao),Ge.createElement("path",{className:"".concat(di,"-line-trail"),d:ko,strokeLinecap:Ai,stroke:bo,strokeWidth:ai||fo,fillOpacity:"0"}),Jr.map(function(Fi,Qi){var ii=1;switch(Ai){case"round":ii=1-fo/100;break;case"square":ii=1-fo/2/100;break;default:ii=1;break}var Nt={strokeDasharray:"".concat(Fi*ii,"px, 100px"),strokeDashoffset:"-".concat(Bi,"px"),transition:Pi||"stroke-dashoffset 0.3s ease 0s, stroke-dasharray .3s ease 0s, stroke 0.3s linear"},De=oo[Qi]||oo[oo.length-1];return Bi+=Fi,Ge.createElement("path",{key:Qi,className:"".concat(di,"-line-path"),d:ko,strokeLinecap:Ai,stroke:De,strokeWidth:fo,fillOpacity:"0",ref:function(Re){zi[Qi]=Re},style:Nt})}))},fe=ae,de=Oe(80665),ve=Oe(29043),xe=Oe(87746),ce=0,pe=(0,xe.Z)();function Se(){var An;return pe?(An=ce,ce+=1):An="TEST_OR_SSR",An}var Le=function(An){var $n=Ge.useState(),xr=(0,ve.Z)($n,2),mr=xr[0],Qr=xr[1];return Ge.useEffect(function(){Qr("rc_progress_".concat(Se()))},[]),An||mr},ze=function($n){var xr=$n.bg,mr=$n.children;return Ge.createElement("div",{style:{width:"100%",height:"100%",background:xr}},mr)};function Ze(An,$n){return Object.keys(An).map(function(xr){var mr=parseFloat(xr),Qr="".concat(Math.floor(mr*$n),"%");return"".concat(An[xr]," ").concat(Qr)})}var Ve=Ge.forwardRef(function(An,$n){var xr=An.prefixCls,mr=An.color,Qr=An.gradientId,di=An.radius,li=An.style,Ai=An.ptg,fo=An.strokeLinecap,Io=An.strokeWidth,bo=An.size,ai=An.gapDegree,Pi=mr&&(0,de.Z)(mr)==="object",ao=Pi?"#FFF":void 0,Jr=bo/2,oo=Ge.createElement("circle",{className:"".concat(xr,"-circle-path"),r:di,cx:Jr,cy:Jr,stroke:ao,strokeLinecap:fo,strokeWidth:Io,opacity:Ai===0?0:1,style:li,ref:$n});if(!Pi)return oo;var zi="".concat(Qr,"-conic"),It=ai?"".concat(180+ai/2,"deg"):"0deg",Yo=Ze(mr,(360-ai)/360),ko=Ze(mr,1),Fr="conic-gradient(from ".concat(It,", ").concat(Yo.join(", "),")"),Bi="linear-gradient(to ".concat(ai?"bottom":"top",", ").concat(ko.join(", "),")");return Ge.createElement(Ge.Fragment,null,Ge.createElement("mask",{id:zi},oo),Ge.createElement("foreignObject",{x:0,y:0,width:bo,height:bo,mask:"url(#".concat(zi,")")},Ge.createElement(ze,{bg:Bi},Ge.createElement(ze,{bg:Fr}))))}),Qe=Ve,$e=100,gt=function($n,xr,mr,Qr,di,li,Ai,fo,Io,bo){var ai=arguments.length>10&&arguments[10]!==void 0?arguments[10]:0,Pi=mr/100*360*((360-li)/360),ao=li===0?0:{bottom:0,top:180,left:90,right:-90}[Ai],Jr=(100-Qr)/100*xr;Io==="round"&&Qr!==100&&(Jr+=bo/2,Jr>=xr&&(Jr=xr-.01));var oo=$e/2;return{stroke:typeof fo=="string"?fo:void 0,strokeDasharray:"".concat(xr,"px ").concat($n),strokeDashoffset:Jr+ai,transform:"rotate(".concat(di+Pi+ao,"deg)"),transformOrigin:"".concat(oo,"px ").concat(oo,"px"),transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s, opacity .3s ease 0s",fillOpacity:0}},lt=["id","prefixCls","steps","strokeWidth","trailWidth","gapDegree","gapPosition","trailColor","strokeLinecap","style","className","strokeColor","percent"];function At(An){var $n=An!=null?An:[];return Array.isArray($n)?$n:[$n]}var Et=function($n){var xr=(0,Ce.Z)((0,Ce.Z)({},je),$n),mr=xr.id,Qr=xr.prefixCls,di=xr.steps,li=xr.strokeWidth,Ai=xr.trailWidth,fo=xr.gapDegree,Io=fo===void 0?0:fo,bo=xr.gapPosition,ai=xr.trailColor,Pi=xr.strokeLinecap,ao=xr.style,Jr=xr.className,oo=xr.strokeColor,zi=xr.percent,It=(0,Me.Z)(xr,lt),Yo=$e/2,ko=Le(mr),Fr="".concat(ko,"-gradient"),Bi=Yo-li/2,Fi=Math.PI*2*Bi,Qi=Io>0?90+Io/2:-90,ii=Fi*((360-Io)/360),Nt=(0,de.Z)(di)==="object"?di:{count:di,space:2},De=Nt.count,He=Nt.space,Re=At(zi),et=At(oo),ft=et.find(function(cn){return cn&&(0,de.Z)(cn)==="object"}),Bt=ft&&(0,de.Z)(ft)==="object",Ct=Bt?"butt":Pi,rn=gt(Fi,ii,0,100,Qi,Io,bo,ai,Ct,li),nn=ye(),Gn=function(){var Yn=0;return Re.map(function(ir,fr){var On=et[fr]||et[et.length-1],dn=gt(Fi,ii,Yn,ir,Qi,Io,bo,On,Ct,li);return Yn+=ir,Ge.createElement(Qe,{key:fr,color:On,ptg:ir,radius:Bi,prefixCls:Qr,gradientId:Fr,style:dn,strokeLinecap:Ct,strokeWidth:li,gapDegree:Io,ref:function(tr){nn[fr]=tr},size:$e})}).reverse()},Sn=function(){var Yn=Math.round(De*(Re[0]/100)),ir=100/De,fr=0;return new Array(De).fill(null).map(function(On,dn){var Bn=dn<=Yn-1?et[0]:ai,tr=Bn&&(0,de.Z)(Bn)==="object"?"url(#".concat(Fr,")"):void 0,hr=gt(Fi,ii,fr,ir,Qi,Io,bo,Bn,"butt",li,He);return fr+=(ii-hr.strokeDashoffset+He)*100/ii,Ge.createElement("circle",{key:dn,className:"".concat(Qr,"-circle-path"),r:Bi,cx:Yo,cy:Yo,stroke:tr,strokeWidth:li,opacity:1,style:hr,ref:function(Mr){nn[dn]=Mr}})})};return Ge.createElement("svg",(0,Ie.Z)({className:we()("".concat(Qr,"-circle"),Jr),viewBox:"0 0 ".concat($e," ").concat($e),style:ao,id:mr,role:"presentation"},It),!De&&Ge.createElement("circle",{className:"".concat(Qr,"-circle-trail"),r:Bi,cx:Yo,cy:Yo,stroke:ai,strokeLinecap:Ct,strokeWidth:Ai||li,style:rn}),De?Sn():Gn())},vt=Et,Lt={Line:fe,Circle:vt},St=Oe(6848),xt=Oe(93398);function ct(An){return!An||An<0?0:An>100?100:An}function Dt(An){let{success:$n,successPercent:xr}=An,mr=xr;return $n&&"progress"in $n&&(mr=$n.progress),$n&&"percent"in $n&&(mr=$n.percent),mr}const Xt=An=>{let{percent:$n,success:xr,successPercent:mr}=An;const Qr=ct(Dt({success:xr,successPercent:mr}));return[Qr,ct(ct($n)-Qr)]},kt=An=>{let{success:$n={},strokeColor:xr}=An;const{strokeColor:mr}=$n;return[mr||xt.presetPrimaryColors.green,xr||null]},Rt=(An,$n,xr)=>{var mr,Qr,di,li;let Ai=-1,fo=-1;if($n==="step"){const Io=xr.steps,bo=xr.strokeWidth;typeof An=="string"||typeof An=="undefined"?(Ai=An==="small"?2:14,fo=bo!=null?bo:8):typeof An=="number"?[Ai,fo]=[An,An]:[Ai=14,fo=8]=An,Ai*=Io}else if($n==="line"){const Io=xr==null?void 0:xr.strokeWidth;typeof An=="string"||typeof An=="undefined"?fo=Io||(An==="small"?6:8):typeof An=="number"?[Ai,fo]=[An,An]:[Ai=-1,fo=8]=An}else($n==="circle"||$n==="dashboard")&&(typeof An=="string"||typeof An=="undefined"?[Ai,fo]=An==="small"?[60,60]:[120,120]:typeof An=="number"?[Ai,fo]=[An,An]:(Ai=(Qr=(mr=An[0])!==null&&mr!==void 0?mr:An[1])!==null&&Qr!==void 0?Qr:120,fo=(li=(di=An[0])!==null&&di!==void 0?di:An[1])!==null&&li!==void 0?li:120));return[Ai,fo]},Gt=3,ln=An=>Gt/An*100;var jn=An=>{const{prefixCls:$n,trailColor:xr=null,strokeLinecap:mr="round",gapPosition:Qr,gapDegree:di,width:li=120,type:Ai,children:fo,success:Io,size:bo=li}=An,[ai,Pi]=Rt(bo,"circle");let{strokeWidth:ao}=An;ao===void 0&&(ao=Math.max(ln(ai),6));const Jr={width:ai,height:Pi,fontSize:ai*.15+6},oo=Ge.useMemo(()=>{if(di||di===0)return di;if(Ai==="dashboard")return 75},[di,Ai]),zi=Qr||Ai==="dashboard"&&"bottom"||void 0,It=Object.prototype.toString.call(An.strokeColor)==="[object Object]",Yo=kt({success:Io,strokeColor:An.strokeColor}),ko=we()(`${$n}-inner`,{[`${$n}-circle-gradient`]:It}),Fr=Ge.createElement(vt,{percent:Xt(An),strokeWidth:ao,trailWidth:ao,strokeColor:Yo,strokeLinecap:mr,trailColor:xr,prefixCls:$n,gapDegree:oo,gapPosition:zi});return Ge.createElement("div",{className:ko,style:Jr},ai<=20?Ge.createElement(St.Z,{title:fo},Ge.createElement("span",null,Fr)):Ge.createElement(Ge.Fragment,null,Fr,fo))},er=function(An,$n){var xr={};for(var mr in An)Object.prototype.hasOwnProperty.call(An,mr)&&$n.indexOf(mr)<0&&(xr[mr]=An[mr]);if(An!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Qr=0,mr=Object.getOwnPropertySymbols(An);Qr<mr.length;Qr++)$n.indexOf(mr[Qr])<0&&Object.prototype.propertyIsEnumerable.call(An,mr[Qr])&&(xr[mr[Qr]]=An[mr[Qr]]);return xr};const an=An=>{let $n=[];return Object.keys(An).forEach(xr=>{const mr=parseFloat(xr.replace(/%/g,""));isNaN(mr)||$n.push({key:mr,value:An[xr]})}),$n=$n.sort((xr,mr)=>xr.key-mr.key),$n.map(xr=>{let{key:mr,value:Qr}=xr;return`${Qr} ${mr}%`}).join(", ")},Un=(An,$n)=>{const{from:xr=xt.presetPrimaryColors.blue,to:mr=xt.presetPrimaryColors.blue,direction:Qr=$n==="rtl"?"to left":"to right"}=An,di=er(An,["from","to","direction"]);if(Object.keys(di).length!==0){const li=an(di);return{backgroundImage:`linear-gradient(${Qr}, ${li})`}}return{backgroundImage:`linear-gradient(${Qr}, ${xr}, ${mr})`}};var ur=An=>{const{prefixCls:$n,direction:xr,percent:mr,size:Qr,strokeWidth:di,strokeColor:li,strokeLinecap:Ai="round",children:fo,trailColor:Io=null,success:bo}=An,ai=li&&typeof li!="string"?Un(li,xr):{backgroundColor:li},Pi=Ai==="square"||Ai==="butt"?0:void 0,ao={backgroundColor:Io||void 0,borderRadius:Pi},Jr=Qr!=null?Qr:[-1,di||(Qr==="small"?6:8)],[oo,zi]=Rt(Jr,"line",{strokeWidth:di}),It=Object.assign({width:`${ct(mr)}%`,height:zi,borderRadius:Pi},ai),Yo=Dt(An),ko={width:`${ct(Yo)}%`,height:zi,borderRadius:Pi,backgroundColor:bo==null?void 0:bo.strokeColor},Fr={width:oo<0?"100%":oo,height:zi};return Ge.createElement(Ge.Fragment,null,Ge.createElement("div",{className:`${$n}-outer`,style:Fr},Ge.createElement("div",{className:`${$n}-inner`,style:ao},Ge.createElement("div",{className:`${$n}-bg`,style:It}),Yo!==void 0?Ge.createElement("div",{className:`${$n}-success-bg`,style:ko}):null)),fo)},Nn=An=>{const{size:$n,steps:xr,percent:mr=0,strokeWidth:Qr=8,strokeColor:di,trailColor:li=null,prefixCls:Ai,children:fo}=An,Io=Math.round(xr*(mr/100)),bo=$n==="small"?2:14,ai=$n!=null?$n:[bo,Qr],[Pi,ao]=Rt(ai,"step",{steps:xr,strokeWidth:Qr}),Jr=Pi/xr,oo=new Array(xr);for(let zi=0;zi<xr;zi++){const It=Array.isArray(di)?di[zi]:di;oo[zi]=Ge.createElement("div",{key:zi,className:we()(`${Ai}-steps-item`,{[`${Ai}-steps-item-active`]:zi<=Io-1}),style:{backgroundColor:zi<=Io-1?It:li,width:Jr,height:ao}})}return Ge.createElement("div",{className:`${Ai}-steps-outer`},oo,fo)},_n=Oe(9792),un=Oe(17313),qt=Oe(83116),Yt=Oe(37613);const gn=An=>{const $n=An?"100%":"-100%";return new _n.Keyframes(`antProgress${An?"RTL":"LTR"}Active`,{"0%":{transform:`translateX(${$n}) scaleX(0)`,opacity:.1},"20%":{transform:`translateX(${$n}) scaleX(0)`,opacity:.5},to:{transform:"translateX(0) scaleX(1)",opacity:0}})},_t=An=>{const{componentCls:$n,iconCls:xr}=An;return{[$n]:Object.assign(Object.assign({},(0,un.Wf)(An)),{display:"inline-block","&-rtl":{direction:"rtl"},"&-line":{position:"relative",width:"100%",fontSize:An.fontSize,marginInlineEnd:An.marginXS,marginBottom:An.marginXS},[`${$n}-outer`]:{display:"inline-block",width:"100%"},[`&${$n}-show-info`]:{[`${$n}-outer`]:{marginInlineEnd:`calc(-2em - ${An.marginXS}px)`,paddingInlineEnd:`calc(2em + ${An.paddingXS}px)`}},[`${$n}-inner`]:{position:"relative",display:"inline-block",width:"100%",overflow:"hidden",verticalAlign:"middle",backgroundColor:An.remainingColor,borderRadius:An.lineBorderRadius},[`${$n}-inner:not(${$n}-circle-gradient)`]:{[`${$n}-circle-path`]:{stroke:An.defaultColor}},[`${$n}-success-bg, ${$n}-bg`]:{position:"relative",backgroundColor:An.defaultColor,borderRadius:An.lineBorderRadius,transition:`all ${An.motionDurationSlow} ${An.motionEaseInOutCirc}`},[`${$n}-success-bg`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,backgroundColor:An.colorSuccess},[`${$n}-text`]:{display:"inline-block",width:"2em",marginInlineStart:An.marginXS,color:An.colorText,lineHeight:1,whiteSpace:"nowrap",textAlign:"start",verticalAlign:"middle",wordBreak:"normal",[xr]:{fontSize:An.fontSize}},[`&${$n}-status-active`]:{[`${$n}-bg::before`]:{position:"absolute",inset:0,backgroundColor:An.colorBgContainer,borderRadius:An.lineBorderRadius,opacity:0,animationName:gn(),animationDuration:An.progressActiveMotionDuration,animationTimingFunction:An.motionEaseOutQuint,animationIterationCount:"infinite",content:'""'}},[`&${$n}-rtl${$n}-status-active`]:{[`${$n}-bg::before`]:{animationName:gn(!0)}},[`&${$n}-status-exception`]:{[`${$n}-bg`]:{backgroundColor:An.colorError},[`${$n}-text`]:{color:An.colorError}},[`&${$n}-status-exception ${$n}-inner:not(${$n}-circle-gradient)`]:{[`${$n}-circle-path`]:{stroke:An.colorError}},[`&${$n}-status-success`]:{[`${$n}-bg`]:{backgroundColor:An.colorSuccess},[`${$n}-text`]:{color:An.colorSuccess}},[`&${$n}-status-success ${$n}-inner:not(${$n}-circle-gradient)`]:{[`${$n}-circle-path`]:{stroke:An.colorSuccess}}})}},Jt=An=>{const{componentCls:$n,iconCls:xr}=An;return{[$n]:{[`${$n}-circle-trail`]:{stroke:An.remainingColor},[`&${$n}-circle ${$n}-inner`]:{position:"relative",lineHeight:1,backgroundColor:"transparent"},[`&${$n}-circle ${$n}-text`]:{position:"absolute",insetBlockStart:"50%",insetInlineStart:0,width:"100%",margin:0,padding:0,color:An.circleTextColor,fontSize:An.circleTextFontSize,lineHeight:1,whiteSpace:"normal",textAlign:"center",transform:"translateY(-50%)",[xr]:{fontSize:`${An.fontSize/An.fontSizeSM}em`}},[`${$n}-circle&-status-exception`]:{[`${$n}-text`]:{color:An.colorError}},[`${$n}-circle&-status-success`]:{[`${$n}-text`]:{color:An.colorSuccess}}},[`${$n}-inline-circle`]:{lineHeight:1,[`${$n}-inner`]:{verticalAlign:"bottom"}}}},wt=An=>{const{componentCls:$n}=An;return{[$n]:{[`${$n}-steps`]:{display:"inline-block","&-outer":{display:"flex",flexDirection:"row",alignItems:"center"},"&-item":{flexShrink:0,minWidth:An.progressStepMinWidth,marginInlineEnd:An.progressStepMarginInlineEnd,backgroundColor:An.remainingColor,transition:`all ${An.motionDurationSlow}`,"&-active":{backgroundColor:An.defaultColor}}}}}},ut=An=>{const{componentCls:$n,iconCls:xr}=An;return{[$n]:{[`${$n}-small&-line, ${$n}-small&-line ${$n}-text ${xr}`]:{fontSize:An.fontSizeSM}}}};var ot=(0,qt.Z)("Progress",An=>{const $n=An.marginXXS/2,xr=(0,Yt.TS)(An,{progressStepMarginInlineEnd:$n,progressStepMinWidth:$n,progressActiveMotionDuration:"2.4s"});return[_t(xr),Jt(xr),wt(xr),ut(xr)]},An=>({circleTextColor:An.colorText,defaultColor:An.colorInfo,remainingColor:An.colorFillSecondary,lineBorderRadius:100,circleTextFontSize:"1em"})),Pt=function(An,$n){var xr={};for(var mr in An)Object.prototype.hasOwnProperty.call(An,mr)&&$n.indexOf(mr)<0&&(xr[mr]=An[mr]);if(An!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Qr=0,mr=Object.getOwnPropertySymbols(An);Qr<mr.length;Qr++)$n.indexOf(mr[Qr])<0&&Object.prototype.propertyIsEnumerable.call(An,mr[Qr])&&(xr[mr[Qr]]=An[mr[Qr]]);return xr};const Ht=null,Mt=["normal","exception","active","success"];var rr=Ge.forwardRef((An,$n)=>{const{prefixCls:xr,className:mr,rootClassName:Qr,steps:di,strokeColor:li,percent:Ai=0,size:fo="default",showInfo:Io=!0,type:bo="line",status:ai,format:Pi,style:ao}=An,Jr=Pt(An,["prefixCls","className","rootClassName","steps","strokeColor","percent","size","showInfo","type","status","format","style"]),oo=Ge.useMemo(()=>{var Re,et;const ft=Dt(An);return parseInt(ft!==void 0?(Re=ft!=null?ft:0)===null||Re===void 0?void 0:Re.toString():(et=Ai!=null?Ai:0)===null||et===void 0?void 0:et.toString(),10)},[Ai,An.success,An.successPercent]),zi=Ge.useMemo(()=>!Mt.includes(ai)&&oo>=100?"success":ai||"normal",[ai,oo]),{getPrefixCls:It,direction:Yo,progress:ko}=Ge.useContext(ke.E_),Fr=It("progress",xr),[Bi,Fi]=ot(Fr),Qi=Ge.useMemo(()=>{if(!Io)return null;const Re=Dt(An);let et;const ft=Pi||(Ct=>`${Ct}%`),Bt=bo==="line";return Pi||zi!=="exception"&&zi!=="success"?et=ft(ct(Ai),ct(Re)):zi==="exception"?et=Bt?Ge.createElement(Ne.Z,null):Ge.createElement(Ke.Z,null):zi==="success"&&(et=Bt?Ge.createElement(tt.Z,null):Ge.createElement(Ue.Z,null)),Ge.createElement("span",{className:`${Fr}-text`,title:typeof et=="string"?et:void 0},et)},[Io,Ai,oo,zi,bo,Fr,Pi]),ii=Array.isArray(li)?li[0]:li,Nt=typeof li=="string"||Array.isArray(li)?li:void 0;let De;bo==="line"?De=di?Ge.createElement(Nn,Object.assign({},An,{strokeColor:Nt,prefixCls:Fr,steps:di}),Qi):Ge.createElement(ur,Object.assign({},An,{strokeColor:ii,prefixCls:Fr,direction:Yo}),Qi):(bo==="circle"||bo==="dashboard")&&(De=Ge.createElement(jn,Object.assign({},An,{strokeColor:ii,prefixCls:Fr,progressStatus:zi}),Qi));const He=we()(Fr,`${Fr}-status-${zi}`,`${Fr}-${bo==="dashboard"&&"circle"||di&&"steps"||bo}`,{[`${Fr}-inline-circle`]:bo==="circle"&&Rt(fo,"circle")[0]<=20,[`${Fr}-show-info`]:Io,[`${Fr}-${fo}`]:typeof fo=="string",[`${Fr}-rtl`]:Yo==="rtl"},ko==null?void 0:ko.className,mr,Qr,Fi);return Bi(Ge.createElement("div",Object.assign({ref:$n,style:Object.assign(Object.assign({},ko==null?void 0:ko.style),ao),className:He,role:"progressbar","aria-valuenow":oo},(0,Te.Z)(Jr,["trailColor","strokeWidth","width","gapDegree","gapPosition","strokeLinecap","success","successPercent"])),De))}),Jn=rr},39978:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return ct}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 00.6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0046.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3z"}}]},name:"star",theme:"filled"},Ne=Ue,Ke=Oe(88853),Be=function(Xt,kt){return tt.createElement(Ke.Z,(0,Ge.Z)({},Xt,{ref:kt,icon:Ne}))},we=tt.forwardRef(Be),Te=we,ke=Oe(92310),Ie=Oe.n(ke),Ce=Oe(80962),Me=Oe(29043),je=Oe(19149),ye=Oe(35788),ie=Oe(85108),ae=Oe(36994);function fe(Dt,Xt){var kt=Dt.disabled,Rt=Dt.prefixCls,Gt=Dt.character,ln=Dt.characterRender,Rn=Dt.index,jn=Dt.count,er=Dt.value,an=Dt.allowHalf,Un=Dt.focused,Kn=Dt.onHover,ur=Dt.onClick,Xn=function(Jt){Kn(Jt,Rn)},Nn=function(Jt){ur(Jt,Rn)},_n=function(Jt){Jt.keyCode===ie.Z.ENTER&&ur(Jt,Rn)},un=Rn+1,qt=new Set([Rt]);er===0&&Rn===0&&Un?qt.add("".concat(Rt,"-focused")):an&&er+.5>=un&&er<un?(qt.add("".concat(Rt,"-half")),qt.add("".concat(Rt,"-active")),Un&&qt.add("".concat(Rt,"-focused"))):(un<=er?qt.add("".concat(Rt,"-full")):qt.add("".concat(Rt,"-zero")),un===er&&Un&&qt.add("".concat(Rt,"-focused")));var Yt=typeof Gt=="function"?Gt(Dt):Gt,gn=tt.createElement("li",{className:Ie()(Array.from(qt)),ref:Xt},tt.createElement("div",{onClick:kt?null:Nn,onKeyDown:kt?null:_n,onMouseMove:kt?null:Xn,role:"radio","aria-checked":er>Rn?"true":"false","aria-posinset":Rn+1,"aria-setsize":jn,tabIndex:kt?-1:0},tt.createElement("div",{className:"".concat(Rt,"-first")},Yt),tt.createElement("div",{className:"".concat(Rt,"-second")},Yt)));return ln&&(gn=ln(gn,Dt)),gn}var de=tt.forwardRef(fe);function ve(){var Dt=tt.useRef({});function Xt(Rt){return Dt.current[Rt]}function kt(Rt){return function(Gt){Dt.current[Rt]=Gt}}return[Xt,kt]}function xe(Dt){var Xt=Dt.pageXOffset,kt="scrollLeft";if(typeof Xt!="number"){var Rt=Dt.document;Xt=Rt.documentElement[kt],typeof Xt!="number"&&(Xt=Rt.body[kt])}return Xt}function ce(Dt){var Xt,kt,Rt=Dt.ownerDocument,Gt=Rt.body,ln=Rt&&Rt.documentElement,Rn=Dt.getBoundingClientRect();return Xt=Rn.left,kt=Rn.top,Xt-=ln.clientLeft||Gt.clientLeft||0,kt-=ln.clientTop||Gt.clientTop||0,{left:Xt,top:kt}}function pe(Dt){var Xt=ce(Dt),kt=Dt.ownerDocument,Rt=kt.defaultView||kt.parentWindow;return Xt.left+=xe(Rt),Xt.left}var Se=["prefixCls","className","defaultValue","value","count","allowHalf","allowClear","character","characterRender","disabled","direction","tabIndex","autoFocus","onHoverChange","onChange","onFocus","onBlur","onKeyDown","onMouseLeave"];function Le(Dt,Xt){var kt,Rt=Dt.prefixCls,Gt=Rt===void 0?"rc-rate":Rt,ln=Dt.className,Rn=Dt.defaultValue,jn=Dt.value,er=Dt.count,an=er===void 0?5:er,Un=Dt.allowHalf,Kn=Un===void 0?!1:Un,ur=Dt.allowClear,Xn=ur===void 0?!0:ur,Nn=Dt.character,_n=Nn===void 0?"\u2605":Nn,un=Dt.characterRender,qt=Dt.disabled,Yt=Dt.direction,gn=Yt===void 0?"ltr":Yt,_t=Dt.tabIndex,Jt=_t===void 0?0:_t,wt=Dt.autoFocus,ut=Dt.onHoverChange,ot=Dt.onChange,Pt=Dt.onFocus,Ht=Dt.onBlur,Mt=Dt.onKeyDown,hn=Dt.onMouseLeave,rr=(0,je.Z)(Dt,Se),Jn=ve(),An=(0,Me.Z)(Jn,2),$n=An[0],xr=An[1],mr=tt.useRef(null),Qr=function(){if(!qt){var Ct;(Ct=mr.current)===null||Ct===void 0||Ct.focus()}};tt.useImperativeHandle(Xt,function(){return{focus:Qr,blur:function(){if(!qt){var Ct;(Ct=mr.current)===null||Ct===void 0||Ct.blur()}}}});var di=(0,ye.Z)(Rn||0,{value:jn}),li=(0,Me.Z)(di,2),Ai=li[0],fo=li[1],Io=(0,ye.Z)(null),bo=(0,Me.Z)(Io,2),ai=bo[0],Pi=bo[1],ao=function(Ct,rn){var nn=gn==="rtl",Gn=Ct+1;if(Kn){var Sn=$n(Ct),cn=pe(Sn),Yn=Sn.clientWidth;(nn&&rn-cn>Yn/2||!nn&&rn-cn<Yn/2)&&(Gn-=.5)}return Gn},Jr=function(Ct){fo(Ct),ot==null||ot(Ct)},oo=tt.useState(!1),zi=(0,Me.Z)(oo,2),It=zi[0],Yo=zi[1],ko=function(){Yo(!0),Pt==null||Pt()},Fr=function(){Yo(!1),Ht==null||Ht()},Bi=tt.useState(null),Fi=(0,Me.Z)(Bi,2),Qi=Fi[0],ii=Fi[1],Nt=function(Ct,rn){var nn=ao(rn,Ct.pageX);nn!==ai&&(ii(nn),Pi(null)),ut==null||ut(nn)},De=function(Ct){qt||(ii(null),Pi(null),ut==null||ut(void 0)),Ct&&(hn==null||hn(Ct))},He=function(Ct,rn){var nn=ao(rn,Ct.pageX),Gn=!1;Xn&&(Gn=nn===Ai),De(),Jr(Gn?0:nn),Pi(Gn?nn:null)},Re=function(Ct){var rn=Ct.keyCode,nn=gn==="rtl",Gn=Ai;rn===ie.Z.RIGHT&&Gn<an&&!nn?(Kn?Gn+=.5:Gn+=1,Jr(Gn),Ct.preventDefault()):rn===ie.Z.LEFT&&Gn>0&&!nn||rn===ie.Z.RIGHT&&Gn>0&&nn?(Kn?Gn-=.5:Gn-=1,Jr(Gn),Ct.preventDefault()):rn===ie.Z.LEFT&&Gn<an&&nn&&(Kn?Gn+=.5:Gn+=1,Jr(Gn),Ct.preventDefault()),Mt==null||Mt(Ct)};tt.useEffect(function(){wt&&!qt&&Qr()},[]);var et=new Array(an).fill(0).map(function(Bt,Ct){return tt.createElement(de,{ref:xr(Ct),index:Ct,count:an,disabled:qt,prefixCls:"".concat(Gt,"-star"),allowHalf:Kn,value:Qi===null?Ai:Qi,onClick:He,onHover:Nt,key:Bt||Ct,character:_n,characterRender:un,focused:It})}),ft=Ie()(Gt,ln,(kt={},(0,Ce.Z)(kt,"".concat(Gt,"-disabled"),qt),(0,Ce.Z)(kt,"".concat(Gt,"-rtl"),gn==="rtl"),kt));return tt.createElement("ul",(0,Ge.Z)({className:ft,onMouseLeave:De,tabIndex:qt?-1:Jt,onFocus:qt?null:ko,onBlur:qt?null:Fr,onKeyDown:qt?null:Re,ref:mr,role:"radiogroup"},(0,ae.Z)(rr,{aria:!0,data:!0,attr:!0})),et)}var ze=tt.forwardRef(Le),Ze=ze,Ve=Oe(36355),Qe=Oe(6848),$e=Oe(17313),gt=Oe(83116),lt=Oe(37613);const At=Dt=>{const{componentCls:Xt}=Dt;return{[`${Xt}-star`]:{position:"relative",display:"inline-block",color:"inherit",cursor:"pointer","&:not(:last-child)":{marginInlineEnd:Dt.marginXS},"> div":{transition:`all ${Dt.motionDurationMid}, outline 0s`,"&:hover":{transform:Dt.starHoverScale},"&:focus":{outline:0},"&:focus-visible":{outline:`${Dt.lineWidth}px dashed ${Dt.starColor}`,transform:Dt.starHoverScale}},"&-first, &-second":{color:Dt.starBg,transition:`all ${Dt.motionDurationMid}`,userSelect:"none",[Dt.iconCls]:{verticalAlign:"middle"}},"&-first":{position:"absolute",top:0,insetInlineStart:0,width:"50%",height:"100%",overflow:"hidden",opacity:0},[`&-half ${Xt}-star-first, &-half ${Xt}-star-second`]:{opacity:1},[`&-half ${Xt}-star-first, &-full ${Xt}-star-second`]:{color:"inherit"}}}},Et=Dt=>({[`&-rtl${Dt.componentCls}`]:{direction:"rtl"}}),vt=Dt=>{const{componentCls:Xt}=Dt;return{[Xt]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,$e.Wf)(Dt)),{display:"inline-block",margin:0,padding:0,color:Dt.starColor,fontSize:Dt.starSize,lineHeight:"unset",listStyle:"none",outline:"none",[`&-disabled${Xt} ${Xt}-star`]:{cursor:"default","> div:hover":{transform:"scale(1)"}}}),At(Dt)),{[`+ ${Xt}-text`]:{display:"inline-block",marginInlineStart:Dt.marginXS,fontSize:Dt.fontSize}}),Et(Dt))}};var Lt=(0,gt.Z)("Rate",Dt=>{const Xt=(0,lt.TS)(Dt,{});return[vt(Xt)]},Dt=>({starColor:Dt.yellow6,starSize:Dt.controlHeightLG*.5,starHoverScale:"scale(1.1)",starBg:Dt.colorFillContent})),St=function(Dt,Xt){var kt={};for(var Rt in Dt)Object.prototype.hasOwnProperty.call(Dt,Rt)&&Xt.indexOf(Rt)<0&&(kt[Rt]=Dt[Rt]);if(Dt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Gt=0,Rt=Object.getOwnPropertySymbols(Dt);Gt<Rt.length;Gt++)Xt.indexOf(Rt[Gt])<0&&Object.prototype.propertyIsEnumerable.call(Dt,Rt[Gt])&&(kt[Rt[Gt]]=Dt[Rt[Gt]]);return kt},ct=tt.forwardRef((Dt,Xt)=>{const{prefixCls:kt,className:Rt,rootClassName:Gt,style:ln,tooltips:Rn,character:jn=tt.createElement(Te,null)}=Dt,er=St(Dt,["prefixCls","className","rootClassName","style","tooltips","character"]),an=(qt,Yt)=>{let{index:gn}=Yt;return Rn?tt.createElement(Qe.Z,{title:Rn[gn]},qt):qt},{getPrefixCls:Un,direction:Kn,rate:ur}=tt.useContext(Ve.E_),Xn=Un("rate",kt),[Nn,_n]=Lt(Xn),un=Object.assign(Object.assign({},ur==null?void 0:ur.style),ln);return Nn(tt.createElement(Ze,Object.assign({ref:Xt,character:jn,characterRender:an},er,{className:Ie()(Rt,Gt,_n,ur==null?void 0:ur.className),style:un,prefixCls:Xn,direction:Kn})))})},57809:function(en,tn,Oe){"use strict";var Ge=Oe(92310),tt=Oe.n(Ge),Ue=Oe(77861),Ne=Oe(64002),Ke=Oe(59301),Be=Oe(53487),we=Oe(62892),Te=Oe(19080),ke=Oe(36355),Ie=Oe(1684),Ce=Oe(93891),Me=Oe(19716),je=Oe(32441),ye=Oe(33234),ie=Oe(14154),ae=Oe(58582),fe=Oe(84443),de=Oe(66339),ve=function(Le,ze){var Ze={};for(var Ve in Le)Object.prototype.hasOwnProperty.call(Le,Ve)&&ze.indexOf(Ve)<0&&(Ze[Ve]=Le[Ve]);if(Le!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Qe=0,Ve=Object.getOwnPropertySymbols(Le);Qe<Ve.length;Qe++)ze.indexOf(Ve[Qe])<0&&Object.prototype.propertyIsEnumerable.call(Le,Ve[Qe])&&(Ze[Ve[Qe]]=Le[Ve[Qe]]);return Ze};const xe="SECRET_COMBOBOX_MODE_DO_NOT_USE",ce=(Le,ze)=>{var Ze,{prefixCls:Ve,bordered:Qe=!0,className:$e,rootClassName:gt,getPopupContainer:lt,popupClassName:At,dropdownClassName:Et,listHeight:vt=256,placement:Lt,listItemHeight:St=24,size:xt,disabled:ct,notFoundContent:Dt,status:Xt,builtinPlacements:kt,dropdownMatchSelectWidth:Rt,popupMatchSelectWidth:Gt,direction:ln,style:Rn,allowClear:jn}=Le,er=ve(Le,["prefixCls","bordered","className","rootClassName","getPopupContainer","popupClassName","dropdownClassName","listHeight","placement","listItemHeight","size","disabled","notFoundContent","status","builtinPlacements","dropdownMatchSelectWidth","popupMatchSelectWidth","direction","style","allowClear"]);const{getPopupContainer:an,getPrefixCls:Un,renderEmpty:Kn,direction:ur,virtual:Xn,popupMatchSelectWidth:Nn,popupOverflow:_n,select:un}=Ke.useContext(ke.E_),qt=Un("select",Ve),Yt=Un(),gn=ln!=null?ln:ur,{compactSize:_t,compactItemClassnames:Jt}=(0,ye.ri)(qt,gn),[wt,ut]=(0,ie.Z)(qt),ot=Ke.useMemo(()=>{const{mode:zi}=er;if(zi!=="combobox")return zi===xe?"combobox":zi},[er.mode]),Pt=ot==="multiple"||ot==="tags",Ht=(0,fe.Z)(er.suffixIcon,er.showArrow),Mt=(Ze=Gt!=null?Gt:Rt)!==null&&Ze!==void 0?Ze:Nn,{status:hn,hasFeedback:rr,isFormItemInput:Jn,feedbackIcon:An}=Ke.useContext(je.aM),$n=(0,Te.F)(hn,Xt);let xr;Dt!==void 0?xr=Dt:ot==="combobox"?xr=null:xr=(Kn==null?void 0:Kn("Select"))||Ke.createElement(Ce.Z,{componentName:"Select"});const{suffixIcon:mr,itemIcon:Qr,removeIcon:di,clearIcon:li}=(0,de.Z)(Object.assign(Object.assign({},er),{multiple:Pt,hasFeedback:rr,feedbackIcon:An,showSuffixIcon:Ht,prefixCls:qt,showArrow:er.showArrow,componentName:"Select"})),Ai=jn===!0?{clearIcon:li}:jn,fo=(0,Ne.Z)(er,["suffixIcon","itemIcon"]),Io=tt()(At||Et,{[`${qt}-dropdown-${gn}`]:gn==="rtl"},gt,ut),bo=(0,Me.Z)(zi=>{var It;return(It=xt!=null?xt:_t)!==null&&It!==void 0?It:zi}),ai=Ke.useContext(Ie.Z),Pi=ct!=null?ct:ai,ao=tt()({[`${qt}-lg`]:bo==="large",[`${qt}-sm`]:bo==="small",[`${qt}-rtl`]:gn==="rtl",[`${qt}-borderless`]:!Qe,[`${qt}-in-form-item`]:Jn},(0,Te.Z)(qt,$n,rr),Jt,un==null?void 0:un.className,$e,gt,ut),Jr=Ke.useMemo(()=>Lt!==void 0?Lt:gn==="rtl"?"bottomRight":"bottomLeft",[Lt,gn]),oo=(0,ae.Z)(kt,_n);return wt(Ke.createElement(Ue.ZP,Object.assign({ref:ze,virtual:Xn,showSearch:un==null?void 0:un.showSearch},fo,{style:Object.assign(Object.assign({},un==null?void 0:un.style),Rn),dropdownMatchSelectWidth:Mt,builtinPlacements:oo,transitionName:(0,we.m)(Yt,"slide-up",er.transitionName),listHeight:vt,listItemHeight:St,mode:ot,prefixCls:qt,placement:Jr,direction:gn,suffixIcon:mr,menuItemSelectedIcon:Qr,removeIcon:di,allowClear:Ai,notFoundContent:xr,className:ao,getPopupContainer:lt||an,dropdownClassName:Io,disabled:Pi})))},pe=Ke.forwardRef(ce),Se=(0,Be.Z)(pe);pe.SECRET_COMBOBOX_MODE_DO_NOT_USE=xe,pe.Option=Ue.Wx,pe.OptGroup=Ue.Xo,pe._InternalPanelDoNotUseOrYouWillBeFired=Se,tn.default=pe},14154:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return pe}});var Ge=Oe(17313),tt=Oe(74207),Ue=Oe(37613),Ne=Oe(83116),Ke=Oe(13826),Be=Oe(92899);const we=Se=>{const{optionHeight:Le,optionFontSize:ze,optionLineHeight:Ze,optionPadding:Ve}=Se;return{position:"relative",display:"block",minHeight:Le,padding:Ve,color:Se.colorText,fontWeight:"normal",fontSize:ze,lineHeight:Ze,boxSizing:"border-box"}};var ke=Se=>{const{antCls:Le,componentCls:ze}=Se,Ze=`${ze}-item`,Ve=`&${Le}-slide-up-enter${Le}-slide-up-enter-active`,Qe=`&${Le}-slide-up-appear${Le}-slide-up-appear-active`,$e=`&${Le}-slide-up-leave${Le}-slide-up-leave-active`,gt=`${ze}-dropdown-placement-`;return[{[`${ze}-dropdown`]:Object.assign(Object.assign({},(0,Ge.Wf)(Se)),{position:"absolute",top:-9999,zIndex:Se.zIndexPopup,boxSizing:"border-box",padding:Se.paddingXXS,overflow:"hidden",fontSize:Se.fontSize,fontVariant:"initial",backgroundColor:Se.colorBgElevated,borderRadius:Se.borderRadiusLG,outline:"none",boxShadow:Se.boxShadowSecondary,[`
${Ve}${gt}bottomLeft,
${Qe}${gt}bottomLeft
`]:{animationName:Ke.fJ},[`
${Ve}${gt}topLeft,
${Qe}${gt}topLeft,
${Ve}${gt}topRight,
${Qe}${gt}topRight
`]:{animationName:Ke.Qt},[`${$e}${gt}bottomLeft`]:{animationName:Ke.Uw},[`
${$e}${gt}topLeft,
${$e}${gt}topRight
`]:{animationName:Ke.ly},"&-hidden":{display:"none"},[`${Ze}`]:Object.assign(Object.assign({},we(Se)),{cursor:"pointer",transition:`background ${Se.motionDurationSlow} ease`,borderRadius:Se.borderRadiusSM,"&-group":{color:Se.colorTextDescription,fontSize:Se.fontSizeSM,cursor:"default"},"&-option":{display:"flex","&-content":Object.assign({flex:"auto"},Ge.vS),"&-state":{flex:"none",display:"flex",alignItems:"center"},[`&-active:not(${Ze}-option-disabled)`]:{backgroundColor:Se.optionActiveBg},[`&-selected:not(${Ze}-option-disabled)`]:{color:Se.optionSelectedColor,fontWeight:Se.optionSelectedFontWeight,backgroundColor:Se.optionSelectedBg,[`${Ze}-option-state`]:{color:Se.colorPrimary}},"&-disabled":{[`&${Ze}-option-selected`]:{backgroundColor:Se.colorBgContainerDisabled},color:Se.colorTextDisabled,cursor:"not-allowed"},"&-grouped":{paddingInlineStart:Se.controlPaddingHorizontal*2}}}),"&-rtl":{direction:"rtl"}})},(0,Ke.oN)(Se,"slide-up"),(0,Ke.oN)(Se,"slide-down"),(0,Be.Fm)(Se,"move-up"),(0,Be.Fm)(Se,"move-down")]};const Ie=2,Ce=Se=>{let{controlHeightSM:Le,controlHeight:ze,lineWidth:Ze}=Se;const Ve=(ze-Le)/2-Ze,Qe=Math.ceil(Ve/2);return[Ve,Qe]};function Me(Se,Le){const{componentCls:ze,iconCls:Ze}=Se,Ve=`${ze}-selection-overflow`,Qe=Se.multipleSelectItemHeight,[$e]=Ce(Se),gt=Le?`${ze}-${Le}`:"";return{[`${ze}-multiple${gt}`]:{fontSize:Se.fontSize,[Ve]:{position:"relative",display:"flex",flex:"auto",flexWrap:"wrap",maxWidth:"100%","&-item":{flex:"none",alignSelf:"center",maxWidth:"100%",display:"inline-flex"}},[`${ze}-selector`]:{display:"flex",flexWrap:"wrap",alignItems:"center",padding:`${$e-Ie}px ${Ie*2}px`,borderRadius:Se.borderRadius,[`${ze}-show-search&`]:{cursor:"text"},[`${ze}-disabled&`]:{background:Se.multipleSelectorBgDisabled,cursor:"not-allowed"},"&:after":{display:"inline-block",width:0,margin:`${Ie}px 0`,lineHeight:`${Qe}px`,visibility:"hidden",content:'"\\a0"'}},[`
&${ze}-show-arrow ${ze}-selector,
&${ze}-allow-clear ${ze}-selector
`]:{paddingInlineEnd:Se.fontSizeIcon+Se.controlPaddingHorizontal},[`${ze}-selection-item`]:{position:"relative",display:"flex",flex:"none",boxSizing:"border-box",maxWidth:"100%",height:Qe,marginTop:Ie,marginBottom:Ie,lineHeight:`${Qe-Se.lineWidth*2}px`,background:Se.multipleItemBg,border:`${Se.lineWidth}px ${Se.lineType} ${Se.multipleItemBorderColor}`,borderRadius:Se.borderRadiusSM,cursor:"default",transition:`font-size ${Se.motionDurationSlow}, line-height ${Se.motionDurationSlow}, height ${Se.motionDurationSlow}`,userSelect:"none",marginInlineEnd:Ie*2,paddingInlineStart:Se.paddingXS,paddingInlineEnd:Se.paddingXS/2,[`${ze}-disabled&`]:{color:Se.multipleItemColorDisabled,borderColor:Se.multipleItemBorderColorDisabled,cursor:"not-allowed"},"&-content":{display:"inline-block",marginInlineEnd:Se.paddingXS/2,overflow:"hidden",whiteSpace:"pre",textOverflow:"ellipsis"},"&-remove":Object.assign(Object.assign({},(0,Ge.Ro)()),{display:"inline-flex",alignItems:"center",color:Se.colorIcon,fontWeight:"bold",fontSize:10,lineHeight:"inherit",cursor:"pointer",[`> ${Ze}`]:{verticalAlign:"-0.2em"},"&:hover":{color:Se.colorIconHover}})},[`${Ve}-item + ${Ve}-item`]:{[`${ze}-selection-search`]:{marginInlineStart:0}},[`${ze}-selection-search`]:{display:"inline-flex",position:"relative",maxWidth:"100%",marginInlineStart:Se.inputPaddingHorizontalBase-$e,"\n &-input,\n &-mirror\n ":{height:Qe,fontFamily:Se.fontFamily,lineHeight:`${Qe}px`,transition:`all ${Se.motionDurationSlow}`},"&-input":{width:"100%",minWidth:4.1},"&-mirror":{position:"absolute",top:0,insetInlineStart:0,insetInlineEnd:"auto",zIndex:999,whiteSpace:"pre",visibility:"hidden"}},[`${ze}-selection-placeholder `]:{position:"absolute",top:"50%",insetInlineStart:Se.inputPaddingHorizontalBase,insetInlineEnd:Se.inputPaddingHorizontalBase,transform:"translateY(-50%)",transition:`all ${Se.motionDurationSlow}`}}}}var ye=Se=>{const{componentCls:Le}=Se,ze=(0,Ue.TS)(Se,{controlHeight:Se.controlHeightSM,multipleSelectItemHeight:Se.controlHeightXS,borderRadius:Se.borderRadiusSM,borderRadiusSM:Se.borderRadiusXS}),Ze=(0,Ue.TS)(Se,{fontSize:Se.fontSizeLG,controlHeight:Se.controlHeightLG,multipleSelectItemHeight:Se.multipleItemHeightLG,borderRadius:Se.borderRadiusLG,borderRadiusSM:Se.borderRadius}),[,Ve]=Ce(Se);return[Me(Se),Me(ze,"sm"),{[`${Le}-multiple${Le}-sm`]:{[`${Le}-selection-placeholder`]:{insetInline:Se.controlPaddingHorizontalSM-Se.lineWidth},[`${Le}-selection-search`]:{marginInlineStart:Ve}}},Me(Ze,"lg")]};function ie(Se,Le){const{componentCls:ze,inputPaddingHorizontalBase:Ze,borderRadius:Ve}=Se,Qe=Se.controlHeight-Se.lineWidth*2,$e=Math.ceil(Se.fontSize*1.25),gt=Le?`${ze}-${Le}`:"";return{[`${ze}-single${gt}`]:{fontSize:Se.fontSize,[`${ze}-selector`]:Object.assign(Object.assign({},(0,Ge.Wf)(Se)),{display:"flex",borderRadius:Ve,[`${ze}-selection-search`]:{position:"absolute",top:0,insetInlineStart:Ze,insetInlineEnd:Ze,bottom:0,"&-input":{width:"100%"}},[`
${ze}-selection-item,
${ze}-selection-placeholder
`]:{padding:0,lineHeight:`${Qe}px`,transition:`all ${Se.motionDurationSlow}, visibility 0s`,"@supports (-moz-appearance: meterbar)":{lineHeight:`${Qe}px`}},[`${ze}-selection-item`]:{position:"relative",userSelect:"none"},[`${ze}-selection-placeholder`]:{transition:"none",pointerEvents:"none"},[["&:after",`${ze}-selection-item:after`,`${ze}-selection-placeholder:after`].join(",")]:{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'}}),[`
&${ze}-show-arrow ${ze}-selection-item,
&${ze}-show-arrow ${ze}-selection-placeholder
`]:{paddingInlineEnd:$e},[`&${ze}-open ${ze}-selection-item`]:{color:Se.colorTextPlaceholder},[`&:not(${ze}-customize-input)`]:{[`${ze}-selector`]:{width:"100%",height:Se.controlHeight,padding:`0 ${Ze}px`,[`${ze}-selection-search-input`]:{height:Qe},"&:after":{lineHeight:`${Qe}px`}}},[`&${ze}-customize-input`]:{[`${ze}-selector`]:{"&:after":{display:"none"},[`${ze}-selection-search`]:{position:"static",width:"100%"},[`${ze}-selection-placeholder`]:{position:"absolute",insetInlineStart:0,insetInlineEnd:0,padding:`0 ${Ze}px`,"&:after":{display:"none"}}}}}}}function ae(Se){const{componentCls:Le}=Se,ze=Se.controlPaddingHorizontalSM-Se.lineWidth;return[ie(Se),ie((0,Ue.TS)(Se,{controlHeight:Se.controlHeightSM,borderRadius:Se.borderRadiusSM}),"sm"),{[`${Le}-single${Le}-sm`]:{[`&:not(${Le}-customize-input)`]:{[`${Le}-selection-search`]:{insetInlineStart:ze,insetInlineEnd:ze},[`${Le}-selector`]:{padding:`0 ${ze}px`},[`&${Le}-show-arrow ${Le}-selection-search`]:{insetInlineEnd:ze+Se.fontSize*1.5},[`
&${Le}-show-arrow ${Le}-selection-item,
&${Le}-show-arrow ${Le}-selection-placeholder
`]:{paddingInlineEnd:Se.fontSize*1.5}}}},ie((0,Ue.TS)(Se,{controlHeight:Se.singleItemHeightLG,fontSize:Se.fontSizeLG,borderRadius:Se.borderRadiusLG}),"lg")]}const fe=Se=>{const{componentCls:Le,selectorBg:ze}=Se;return{position:"relative",backgroundColor:ze,border:`${Se.lineWidth}px ${Se.lineType} ${Se.colorBorder}`,transition:`all ${Se.motionDurationMid} ${Se.motionEaseInOut}`,input:{cursor:"pointer"},[`${Le}-show-search&`]:{cursor:"text",input:{cursor:"auto",color:"inherit"}},[`${Le}-disabled&`]:{color:Se.colorTextDisabled,background:Se.colorBgContainerDisabled,cursor:"not-allowed",[`${Le}-multiple&`]:{background:Se.multipleSelectorBgDisabled},input:{cursor:"not-allowed"}}}},de=function(Se,Le){let ze=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;const{componentCls:Ze,borderHoverColor:Ve,outlineColor:Qe,antCls:$e}=Le,gt=ze?{[`${Ze}-selector`]:{borderColor:Ve}}:{};return{[Se]:{[`&:not(${Ze}-disabled):not(${Ze}-customize-input):not(${$e}-pagination-size-changer)`]:Object.assign(Object.assign({},gt),{[`${Ze}-focused& ${Ze}-selector`]:{borderColor:Ve,boxShadow:`0 0 0 ${Le.controlOutlineWidth}px ${Qe}`,outline:0},[`&:hover ${Ze}-selector`]:{borderColor:Ve}})}}},ve=Se=>{const{componentCls:Le}=Se;return{[`${Le}-selection-search-input`]:{margin:0,padding:0,background:"transparent",border:"none",outline:"none",appearance:"none","&::-webkit-search-cancel-button":{display:"none","-webkit-appearance":"none"}}}},xe=Se=>{const{componentCls:Le,inputPaddingHorizontalBase:ze,iconCls:Ze}=Se;return{[Le]:Object.assign(Object.assign({},(0,Ge.Wf)(Se)),{position:"relative",display:"inline-block",cursor:"pointer",[`&:not(${Le}-customize-input) ${Le}-selector`]:Object.assign(Object.assign({},fe(Se)),ve(Se)),[`${Le}-selection-item`]:Object.assign({flex:1,fontWeight:"normal"},Ge.vS),[`${Le}-selection-placeholder`]:Object.assign(Object.assign({},Ge.vS),{flex:1,color:Se.colorTextPlaceholder,pointerEvents:"none"}),[`${Le}-arrow`]:Object.assign(Object.assign({},(0,Ge.Ro)()),{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:ze,height:Se.fontSizeIcon,marginTop:-Se.fontSizeIcon/2,color:Se.colorTextQuaternary,fontSize:Se.fontSizeIcon,lineHeight:1,textAlign:"center",pointerEvents:"none",display:"flex",alignItems:"center",[Ze]:{verticalAlign:"top",transition:`transform ${Se.motionDurationSlow}`,"> svg":{verticalAlign:"top"},[`&:not(${Le}-suffix)`]:{pointerEvents:"auto"}},[`${Le}-disabled &`]:{cursor:"not-allowed"},"> *:not(:last-child)":{marginInlineEnd:8}}),[`${Le}-clear`]:{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:ze,zIndex:1,display:"inline-block",width:Se.fontSizeIcon,height:Se.fontSizeIcon,marginTop:-Se.fontSizeIcon/2,color:Se.colorTextQuaternary,fontSize:Se.fontSizeIcon,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",background:Se.clearBg,cursor:"pointer",opacity:0,transition:`color ${Se.motionDurationMid} ease, opacity ${Se.motionDurationSlow} ease`,textRendering:"auto","&:before":{display:"block"},"&:hover":{color:Se.colorTextTertiary}},"&:hover":{[`${Le}-clear`]:{opacity:1}}}),[`${Le}-has-feedback`]:{[`${Le}-clear`]:{insetInlineEnd:ze+Se.fontSize+Se.paddingXS}}}},ce=Se=>{const{componentCls:Le}=Se;return[{[Le]:{[`&-borderless ${Le}-selector`]:{backgroundColor:"transparent !important",borderColor:"transparent !important",boxShadow:"none !important"},[`&${Le}-in-form-item`]:{width:"100%"}}},xe(Se),ae(Se),ye(Se),ke(Se),{[`${Le}-rtl`]:{direction:"rtl"}},de(Le,(0,Ue.TS)(Se,{borderHoverColor:Se.colorPrimaryHover,outlineColor:Se.controlOutline})),de(`${Le}-status-error`,(0,Ue.TS)(Se,{borderHoverColor:Se.colorErrorHover,outlineColor:Se.colorErrorOutline}),!0),de(`${Le}-status-warning`,(0,Ue.TS)(Se,{borderHoverColor:Se.colorWarningHover,outlineColor:Se.colorWarningOutline}),!0),(0,tt.c)(Se,{borderElCls:`${Le}-selector`,focusElCls:`${Le}-focused`})]};var pe=(0,Ne.Z)("Select",(Se,Le)=>{let{rootPrefixCls:ze}=Le;const Ze=(0,Ue.TS)(Se,{rootPrefixCls:ze,inputPaddingHorizontalBase:Se.paddingSM-1,multipleSelectItemHeight:Se.multipleItemHeight});return[ce(Ze)]},Se=>{const{fontSize:Le,lineHeight:ze,controlHeight:Ze,controlPaddingHorizontal:Ve,zIndexPopupBase:Qe,colorText:$e,fontWeightStrong:gt,controlItemBgActive:lt,controlItemBgHover:At,colorBgContainer:Et,colorFillSecondary:vt,controlHeightLG:Lt,controlHeightSM:St,colorBgContainerDisabled:xt,colorTextDisabled:ct}=Se;return{zIndexPopup:Qe+50,optionSelectedColor:$e,optionSelectedFontWeight:gt,optionSelectedBg:lt,optionActiveBg:At,optionPadding:`${(Ze-Le*ze)/2}px ${Ve}px`,optionFontSize:Le,optionLineHeight:ze,optionHeight:Ze,selectorBg:Et,clearBg:Et,singleItemHeightLG:Lt,multipleItemBg:vt,multipleItemBorderColor:"transparent",multipleItemHeight:St,multipleItemHeightLG:Ze,multipleSelectorBgDisabled:xt,multipleItemColorDisabled:ct,multipleItemBorderColorDisabled:"transparent"}})},58582:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return tt}});const Ge=Ue=>{const Ke={overflow:{adjustX:!0,adjustY:!0,shiftY:!0},htmlRegion:Ue==="scroll"?"scroll":"visible",_experimental:{dynamicInset:!0}};return{bottomLeft:Object.assign(Object.assign({},Ke),{points:["tl","bl"],offset:[0,4]}),bottomRight:Object.assign(Object.assign({},Ke),{points:["tr","br"],offset:[0,4]}),topLeft:Object.assign(Object.assign({},Ke),{points:["bl","tl"],offset:[0,-4]}),topRight:Object.assign(Object.assign({},Ke),{points:["br","tr"],offset:[0,-4]})}};function tt(Ue,Ne){return Ue||Ge(Ne)}},84443:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Ge}});function Ge(tt,Ue){return Ue!==void 0?Ue:tt!==null}},66339:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Te}});var Ge=Oe(10402),tt=Oe(33130),Ue=Oe(72119),Ne=Oe(18290),Ke=Oe(50023),Be=Oe(21970),we=Oe(59301);function Te(ke){let{suffixIcon:Ie,clearIcon:Ce,menuItemSelectedIcon:Me,removeIcon:je,loading:ye,multiple:ie,hasFeedback:ae,prefixCls:fe,showSuffixIcon:de,feedbackIcon:ve,showArrow:xe,componentName:ce}=ke;const pe=Ce!=null?Ce:we.createElement(tt.Z,null),Se=Ve=>Ie===null&&!ae&&!xe?null:we.createElement(we.Fragment,null,de!==!1&&Ve,ae&&ve);let Le=null;if(Ie!==void 0)Le=Se(Ie);else if(ye)Le=Se(we.createElement(Ke.Z,{spin:!0}));else{const Ve=`${fe}-suffix`;Le=Qe=>{let{open:$e,showSearch:gt}=Qe;return Se($e&&gt?we.createElement(Be.Z,{className:Ve}):we.createElement(Ne.Z,{className:Ve}))}}let ze=null;Me!==void 0?ze=Me:ie?ze=we.createElement(Ge.Z,null):ze=null;let Ze=null;return je!==void 0?Ze=je:Ze=we.createElement(Ue.Z,null),{clearIcon:pe,suffixIcon:Le,itemIcon:ze,removeIcon:Ze}}},78485:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return _n}});var Ge=Oe(92310),tt=Oe.n(Ge),Ue=Oe(59301),Ne=Oe(36355),Ke=Oe(64002),we=un=>{const{prefixCls:qt,className:Yt,style:gn,size:_t,shape:Jt}=un,wt=tt()({[`${qt}-lg`]:_t==="large",[`${qt}-sm`]:_t==="small"}),ut=tt()({[`${qt}-circle`]:Jt==="circle",[`${qt}-square`]:Jt==="square",[`${qt}-round`]:Jt==="round"}),ot=Ue.useMemo(()=>typeof _t=="number"?{width:_t,height:_t,lineHeight:`${_t}px`}:{},[_t]);return Ue.createElement("span",{className:tt()(qt,wt,ut,Yt),style:Object.assign(Object.assign({},ot),gn)})},Te=Oe(9792),ke=Oe(83116),Ie=Oe(37613);const Ce=new Te.Keyframes("ant-skeleton-loading",{"0%":{backgroundPosition:"100% 50%"},"100%":{backgroundPosition:"0 50%"}}),Me=un=>({height:un,lineHeight:`${un}px`}),je=un=>Object.assign({width:un},Me(un)),ye=un=>({background:un.skeletonLoadingBackground,backgroundSize:"400% 100%",animationName:Ce,animationDuration:un.skeletonLoadingMotionDuration,animationTimingFunction:"ease",animationIterationCount:"infinite"}),ie=un=>Object.assign({width:un*5,minWidth:un*5},Me(un)),ae=un=>{const{skeletonAvatarCls:qt,gradientFromColor:Yt,controlHeight:gn,controlHeightLG:_t,controlHeightSM:Jt}=un;return{[`${qt}`]:Object.assign({display:"inline-block",verticalAlign:"top",background:Yt},je(gn)),[`${qt}${qt}-circle`]:{borderRadius:"50%"},[`${qt}${qt}-lg`]:Object.assign({},je(_t)),[`${qt}${qt}-sm`]:Object.assign({},je(Jt))}},fe=un=>{const{controlHeight:qt,borderRadiusSM:Yt,skeletonInputCls:gn,controlHeightLG:_t,controlHeightSM:Jt,gradientFromColor:wt}=un;return{[`${gn}`]:Object.assign({display:"inline-block",verticalAlign:"top",background:wt,borderRadius:Yt},ie(qt)),[`${gn}-lg`]:Object.assign({},ie(_t)),[`${gn}-sm`]:Object.assign({},ie(Jt))}},de=un=>Object.assign({width:un},Me(un)),ve=un=>{const{skeletonImageCls:qt,imageSizeBase:Yt,gradientFromColor:gn,borderRadiusSM:_t}=un;return{[`${qt}`]:Object.assign(Object.assign({display:"flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",background:gn,borderRadius:_t},de(Yt*2)),{[`${qt}-path`]:{fill:"#bfbfbf"},[`${qt}-svg`]:Object.assign(Object.assign({},de(Yt)),{maxWidth:Yt*4,maxHeight:Yt*4}),[`${qt}-svg${qt}-svg-circle`]:{borderRadius:"50%"}}),[`${qt}${qt}-circle`]:{borderRadius:"50%"}}},xe=(un,qt,Yt)=>{const{skeletonButtonCls:gn}=un;return{[`${Yt}${gn}-circle`]:{width:qt,minWidth:qt,borderRadius:"50%"},[`${Yt}${gn}-round`]:{borderRadius:qt}}},ce=un=>Object.assign({width:un*2,minWidth:un*2},Me(un)),pe=un=>{const{borderRadiusSM:qt,skeletonButtonCls:Yt,controlHeight:gn,controlHeightLG:_t,controlHeightSM:Jt,gradientFromColor:wt}=un;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({[`${Yt}`]:Object.assign({display:"inline-block",verticalAlign:"top",background:wt,borderRadius:qt,width:gn*2,minWidth:gn*2},ce(gn))},xe(un,gn,Yt)),{[`${Yt}-lg`]:Object.assign({},ce(_t))}),xe(un,_t,`${Yt}-lg`)),{[`${Yt}-sm`]:Object.assign({},ce(Jt))}),xe(un,Jt,`${Yt}-sm`))},Se=un=>{const{componentCls:qt,skeletonAvatarCls:Yt,skeletonTitleCls:gn,skeletonParagraphCls:_t,skeletonButtonCls:Jt,skeletonInputCls:wt,skeletonImageCls:ut,controlHeight:ot,controlHeightLG:Pt,controlHeightSM:Ht,gradientFromColor:Mt,padding:hn,marginSM:rr,borderRadius:Jn,titleHeight:An,blockRadius:$n,paragraphLiHeight:xr,controlHeightXS:mr,paragraphMarginTop:Qr}=un;return{[`${qt}`]:{display:"table",width:"100%",[`${qt}-header`]:{display:"table-cell",paddingInlineEnd:hn,verticalAlign:"top",[`${Yt}`]:Object.assign({display:"inline-block",verticalAlign:"top",background:Mt},je(ot)),[`${Yt}-circle`]:{borderRadius:"50%"},[`${Yt}-lg`]:Object.assign({},je(Pt)),[`${Yt}-sm`]:Object.assign({},je(Ht))},[`${qt}-content`]:{display:"table-cell",width:"100%",verticalAlign:"top",[`${gn}`]:{width:"100%",height:An,background:Mt,borderRadius:$n,[`+ ${_t}`]:{marginBlockStart:Ht}},[`${_t}`]:{padding:0,"> li":{width:"100%",height:xr,listStyle:"none",background:Mt,borderRadius:$n,"+ li":{marginBlockStart:mr}}},[`${_t}> li:last-child:not(:first-child):not(:nth-child(2))`]:{width:"61%"}},[`&-round ${qt}-content`]:{[`${gn}, ${_t} > li`]:{borderRadius:Jn}}},[`${qt}-with-avatar ${qt}-content`]:{[`${gn}`]:{marginBlockStart:rr,[`+ ${_t}`]:{marginBlockStart:Qr}}},[`${qt}${qt}-element`]:Object.assign(Object.assign(Object.assign(Object.assign({display:"inline-block",width:"auto"},pe(un)),ae(un)),fe(un)),ve(un)),[`${qt}${qt}-block`]:{width:"100%",[`${Jt}`]:{width:"100%"},[`${wt}`]:{width:"100%"}},[`${qt}${qt}-active`]:{[`
${gn},
${_t} > li,
${Yt},
${Jt},
${wt},
${ut}
`]:Object.assign({},ye(un))}}};var Le=(0,ke.Z)("Skeleton",un=>{const{componentCls:qt}=un,Yt=(0,Ie.TS)(un,{skeletonAvatarCls:`${qt}-avatar`,skeletonTitleCls:`${qt}-title`,skeletonParagraphCls:`${qt}-paragraph`,skeletonButtonCls:`${qt}-button`,skeletonInputCls:`${qt}-input`,skeletonImageCls:`${qt}-image`,imageSizeBase:un.controlHeight*1.5,borderRadius:100,skeletonLoadingBackground:`linear-gradient(90deg, ${un.gradientFromColor} 25%, ${un.gradientToColor} 37%, ${un.gradientFromColor} 63%)`,skeletonLoadingMotionDuration:"1.4s"});return[Se(Yt)]},un=>{const{colorFillContent:qt,colorFill:Yt}=un,gn=qt,_t=Yt;return{color:gn,colorGradientEnd:_t,gradientFromColor:gn,gradientToColor:_t,titleHeight:un.controlHeight/2,blockRadius:un.borderRadiusSM,paragraphMarginTop:un.marginLG+un.marginXXS,paragraphLiHeight:un.controlHeight/2}},{deprecatedTokens:[["color","gradientFromColor"],["colorGradientEnd","gradientToColor"]]}),Ze=un=>{const{prefixCls:qt,className:Yt,rootClassName:gn,active:_t,shape:Jt="circle",size:wt="default"}=un,{getPrefixCls:ut}=Ue.useContext(Ne.E_),ot=ut("skeleton",qt),[Pt,Ht]=Le(ot),Mt=(0,Ke.Z)(un,["prefixCls","className"]),hn=tt()(ot,`${ot}-element`,{[`${ot}-active`]:_t},Yt,gn,Ht);return Pt(Ue.createElement("div",{className:hn},Ue.createElement(we,Object.assign({prefixCls:`${ot}-avatar`,shape:Jt,size:wt},Mt))))},Qe=un=>{const{prefixCls:qt,className:Yt,rootClassName:gn,active:_t,block:Jt=!1,size:wt="default"}=un,{getPrefixCls:ut}=Ue.useContext(Ne.E_),ot=ut("skeleton",qt),[Pt,Ht]=Le(ot),Mt=(0,Ke.Z)(un,["prefixCls"]),hn=tt()(ot,`${ot}-element`,{[`${ot}-active`]:_t,[`${ot}-block`]:Jt},Yt,gn,Ht);return Pt(Ue.createElement("div",{className:hn},Ue.createElement(we,Object.assign({prefixCls:`${ot}-button`,size:wt},Mt))))};const $e="M365.714286 329.142857q0 45.714286-32.036571 77.677714t-77.677714 32.036571-77.677714-32.036571-32.036571-77.677714 32.036571-77.677714 77.677714-32.036571 77.677714 32.036571 32.036571 77.677714zM950.857143 548.571429l0 256-804.571429 0 0-109.714286 182.857143-182.857143 91.428571 91.428571 292.571429-292.571429zM1005.714286 146.285714l-914.285714 0q-7.460571 0-12.873143 5.412571t-5.412571 12.873143l0 694.857143q0 7.460571 5.412571 12.873143t12.873143 5.412571l914.285714 0q7.460571 0 12.873143-5.412571t5.412571-12.873143l0-694.857143q0-7.460571-5.412571-12.873143t-12.873143-5.412571zM1097.142857 164.571429l0 694.857143q0 37.741714-26.843429 64.585143t-64.585143 26.843429l-914.285714 0q-37.741714 0-64.585143-26.843429t-26.843429-64.585143l0-694.857143q0-37.741714 26.843429-64.585143t64.585143-26.843429l914.285714 0q37.741714 0 64.585143 26.843429t26.843429 64.585143z";var lt=un=>{const{prefixCls:qt,className:Yt,rootClassName:gn,style:_t,active:Jt}=un,{getPrefixCls:wt}=Ue.useContext(Ne.E_),ut=wt("skeleton",qt),[ot,Pt]=Le(ut),Ht=tt()(ut,`${ut}-element`,{[`${ut}-active`]:Jt},Yt,gn,Pt);return ot(Ue.createElement("div",{className:Ht},Ue.createElement("div",{className:tt()(`${ut}-image`,Yt),style:_t},Ue.createElement("svg",{viewBox:"0 0 1098 1024",xmlns:"http://www.w3.org/2000/svg",className:`${ut}-image-svg`},Ue.createElement("path",{d:$e,className:`${ut}-image-path`})))))},Et=un=>{const{prefixCls:qt,className:Yt,rootClassName:gn,active:_t,block:Jt,size:wt="default"}=un,{getPrefixCls:ut}=Ue.useContext(Ne.E_),ot=ut("skeleton",qt),[Pt,Ht]=Le(ot),Mt=(0,Ke.Z)(un,["prefixCls"]),hn=tt()(ot,`${ot}-element`,{[`${ot}-active`]:_t,[`${ot}-block`]:Jt},Yt,gn,Ht);return Pt(Ue.createElement("div",{className:hn},Ue.createElement(we,Object.assign({prefixCls:`${ot}-input`,size:wt},Mt))))},vt=Oe(5891),Lt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 10128 0 64 64 0 10-128 0zm118-224a48 48 0 1096 0 48 48 0 10-96 0zm158 228a96 96 0 10192 0 96 96 0 10-192 0zm148-314a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"dot-chart",theme:"outlined"},St=Lt,xt=Oe(88853),ct=function(qt,Yt){return Ue.createElement(xt.Z,(0,vt.Z)({},qt,{ref:Yt,icon:St}))},Dt=Ue.forwardRef(ct),Xt=Dt,Rt=un=>{const{prefixCls:qt,className:Yt,rootClassName:gn,style:_t,active:Jt,children:wt}=un,{getPrefixCls:ut}=Ue.useContext(Ne.E_),ot=ut("skeleton",qt),[Pt,Ht]=Le(ot),Mt=tt()(ot,`${ot}-element`,{[`${ot}-active`]:Jt},Ht,Yt,gn),hn=wt!=null?wt:Ue.createElement(Xt,null);return Pt(Ue.createElement("div",{className:Mt},Ue.createElement("div",{className:tt()(`${ot}-image`,Yt),style:_t},hn)))},Gt=Oe(26390),Rn=un=>{const qt=ut=>{const{width:ot,rows:Pt=2}=un;if(Array.isArray(ot))return ot[ut];if(Pt-1===ut)return ot},{prefixCls:Yt,className:gn,style:_t,rows:Jt}=un,wt=(0,Gt.Z)(Array(Jt)).map((ut,ot)=>Ue.createElement("li",{key:ot,style:{width:qt(ot)}}));return Ue.createElement("ul",{className:tt()(Yt,gn),style:_t},wt)},er=un=>{let{prefixCls:qt,className:Yt,width:gn,style:_t}=un;return Ue.createElement("h3",{className:tt()(qt,Yt),style:Object.assign({width:gn},_t)})};function an(un){return un&&typeof un=="object"?un:{}}function Un(un,qt){return un&&!qt?{size:"large",shape:"square"}:{size:"large",shape:"circle"}}function Kn(un,qt){return!un&&qt?{width:"38%"}:un&&qt?{width:"50%"}:{}}function ur(un,qt){const Yt={};return(!un||!qt)&&(Yt.width="61%"),!un&&qt?Yt.rows=3:Yt.rows=2,Yt}const Xn=un=>{const{prefixCls:qt,loading:Yt,className:gn,rootClassName:_t,style:Jt,children:wt,avatar:ut=!1,title:ot=!0,paragraph:Pt=!0,active:Ht,round:Mt}=un,{getPrefixCls:hn,direction:rr,skeleton:Jn}=Ue.useContext(Ne.E_),An=hn("skeleton",qt),[$n,xr]=Le(An);if(Yt||!("loading"in un)){const mr=!!ut,Qr=!!ot,di=!!Pt;let li;if(mr){const Io=Object.assign(Object.assign({prefixCls:`${An}-avatar`},Un(Qr,di)),an(ut));li=Ue.createElement("div",{className:`${An}-header`},Ue.createElement(we,Object.assign({},Io)))}let Ai;if(Qr||di){let Io;if(Qr){const ai=Object.assign(Object.assign({prefixCls:`${An}-title`},Kn(mr,di)),an(ot));Io=Ue.createElement(er,Object.assign({},ai))}let bo;if(di){const ai=Object.assign(Object.assign({prefixCls:`${An}-paragraph`},ur(mr,Qr)),an(Pt));bo=Ue.createElement(Rn,Object.assign({},ai))}Ai=Ue.createElement("div",{className:`${An}-content`},Io,bo)}const fo=tt()(An,{[`${An}-with-avatar`]:mr,[`${An}-active`]:Ht,[`${An}-rtl`]:rr==="rtl",[`${An}-round`]:Mt},Jn==null?void 0:Jn.className,gn,_t,xr);return $n(Ue.createElement("div",{className:fo,style:Object.assign(Object.assign({},Jn==null?void 0:Jn.style),Jt)},li,Ai))}return typeof wt!="undefined"?wt:null};Xn.Button=Qe,Xn.Avatar=Ze,Xn.Input=Et,Xn.Image=lt,Xn.Node=Rt;var Nn=Xn,_n=Nn},81327:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return fe}});var Ge=Oe(59301),tt=Oe(92310),Ue=Oe.n(tt),Ne=Oe(38298),Ke=Oe(36355),Be=Oe(33234);const we=Ge.createContext({latestIndex:0}),Te=we.Provider;var Ie=de=>{let{className:ve,index:xe,children:ce,split:pe,style:Se}=de;const{latestIndex:Le}=Ge.useContext(we);return ce==null?null:Ge.createElement(Ge.Fragment,null,Ge.createElement("div",{className:ve,style:Se},ce),xe<Le&&pe&&Ge.createElement("span",{className:`${ve}-split`},pe))},Ce=Oe(2856);function Me(de){return["small","middle","large"].includes(de)}function je(de){return de?typeof de=="number"&&!Number.isNaN(de):!1}var ye=function(de,ve){var xe={};for(var ce in de)Object.prototype.hasOwnProperty.call(de,ce)&&ve.indexOf(ce)<0&&(xe[ce]=de[ce]);if(de!=null&&typeof Object.getOwnPropertySymbols=="function")for(var pe=0,ce=Object.getOwnPropertySymbols(de);pe<ce.length;pe++)ve.indexOf(ce[pe])<0&&Object.prototype.propertyIsEnumerable.call(de,ce[pe])&&(xe[ce[pe]]=de[ce[pe]]);return xe};const ae=Ge.forwardRef((de,ve)=>{var xe,ce;const{getPrefixCls:pe,space:Se,direction:Le}=Ge.useContext(Ke.E_),{size:ze=(Se==null?void 0:Se.size)||"small",align:Ze,className:Ve,rootClassName:Qe,children:$e,direction:gt="horizontal",prefixCls:lt,split:At,style:Et,wrap:vt=!1,classNames:Lt,styles:St}=de,xt=ye(de,["size","align","className","rootClassName","children","direction","prefixCls","split","style","wrap","classNames","styles"]),[ct,Dt]=Array.isArray(ze)?ze:[ze,ze],Xt=Me(Dt),kt=Me(ct),Rt=je(Dt),Gt=je(ct),ln=(0,Ne.Z)($e,{keepEmpty:!0}),Rn=Ze===void 0&&gt==="horizontal"?"center":Ze,jn=pe("space",lt),[er,an]=(0,Ce.Z)(jn),Un=Ue()(jn,Se==null?void 0:Se.className,an,`${jn}-${gt}`,{[`${jn}-rtl`]:Le==="rtl",[`${jn}-align-${Rn}`]:Rn,[`${jn}-gap-row-${Dt}`]:Xt,[`${jn}-gap-col-${ct}`]:kt},Ve,Qe),Kn=Ue()(`${jn}-item`,(xe=Lt==null?void 0:Lt.item)!==null&&xe!==void 0?xe:(ce=Se==null?void 0:Se.classNames)===null||ce===void 0?void 0:ce.item);let ur=0;const Xn=ln.map((un,qt)=>{var Yt,gn;un!=null&&(ur=qt);const _t=un&&un.key||`${Kn}-${qt}`;return Ge.createElement(Ie,{className:Kn,key:_t,index:qt,split:At,style:(Yt=St==null?void 0:St.item)!==null&&Yt!==void 0?Yt:(gn=Se==null?void 0:Se.styles)===null||gn===void 0?void 0:gn.item},un)}),Nn=Ge.useMemo(()=>({latestIndex:ur}),[ur]);if(ln.length===0)return null;const _n={};return vt&&(_n.flexWrap="wrap"),!kt&&Gt&&(_n.columnGap=ct),!Xt&&Rt&&(_n.rowGap=Dt),er(Ge.createElement("div",Object.assign({ref:ve,className:Un,style:Object.assign(Object.assign(Object.assign({},_n),Se==null?void 0:Se.style),Et)},xt),Ge.createElement(Te,{value:Nn},Xn)))});ae.Compact=Be.ZP;var fe=ae},31797:function(en,tn,Oe){"use strict";Oe.d(tn,{default:function(){return Le}});var Ge=Oe(59301),tt=Oe(56762),Ue=Oe(92343),Ne=Oe(92310),Ke=Oe.n(Ne),Be=Oe(36355),we=Oe(78485),ke=ze=>{const{value:Ze,formatter:Ve,precision:Qe,decimalSeparator:$e,groupSeparator:gt="",prefixCls:lt}=ze;let At;if(typeof Ve=="function")At=Ve(Ze);else{const Et=String(Ze),vt=Et.match(/^(-?)(\d*)(\.(\d+))?$/);if(!vt||Et==="-")At=Et;else{const Lt=vt[1];let St=vt[2]||"0",xt=vt[4]||"";St=St.replace(/\B(?=(\d{3})+(?!\d))/g,gt),typeof Qe=="number"&&(xt=xt.padEnd(Qe,"0").slice(0,Qe>0?Qe:0)),xt&&(xt=`${$e}${xt}`),At=[Ge.createElement("span",{key:"int",className:`${lt}-content-value-int`},Lt,St),xt&&Ge.createElement("span",{key:"decimal",className:`${lt}-content-value-decimal`},xt)]}}return Ge.createElement("span",{className:`${lt}-content-value`},At)},Ie=Oe(17313),Ce=Oe(83116),Me=Oe(37613);const je=ze=>{const{componentCls:Ze,marginXXS:Ve,padding:Qe,colorTextDescription:$e,titleFontSize:gt,colorTextHeading:lt,contentFontSize:At,fontFamily:Et}=ze;return{[`${Ze}`]:Object.assign(Object.assign({},(0,Ie.Wf)(ze)),{[`${Ze}-title`]:{marginBottom:Ve,color:$e,fontSize:gt},[`${Ze}-skeleton`]:{paddingTop:Qe},[`${Ze}-content`]:{color:lt,fontSize:At,fontFamily:Et,[`${Ze}-content-value`]:{display:"inline-block",direction:"ltr"},[`${Ze}-content-prefix, ${Ze}-content-suffix`]:{display:"inline-block"},[`${Ze}-content-prefix`]:{marginInlineEnd:Ve},[`${Ze}-content-suffix`]:{marginInlineStart:Ve}}})}};var ye=(0,Ce.Z)("Statistic",ze=>{const Ze=(0,Me.TS)(ze,{});return[je(Ze)]},ze=>{const{fontSizeHeading3:Ze,fontSize:Ve}=ze;return{titleFontSize:Ve,contentFontSize:Ze}}),ae=ze=>{const{prefixCls:Ze,className:Ve,rootClassName:Qe,style:$e,valueStyle:gt,value:lt=0,title:At,valueRender:Et,prefix:vt,suffix:Lt,loading:St=!1,onMouseEnter:xt,onMouseLeave:ct,decimalSeparator:Dt=".",groupSeparator:Xt=","}=ze,{getPrefixCls:kt,direction:Rt,statistic:Gt}=Ge.useContext(Be.E_),ln=kt("statistic",Ze),[Rn,jn]=ye(ln),er=Ge.createElement(ke,Object.assign({decimalSeparator:Dt,groupSeparator:Xt,prefixCls:ln},ze,{value:lt})),an=Ke()(ln,{[`${ln}-rtl`]:Rt==="rtl"},Gt==null?void 0:Gt.className,Ve,Qe,jn);return Rn(Ge.createElement("div",{className:an,style:Object.assign(Object.assign({},Gt==null?void 0:Gt.style),$e),onMouseEnter:xt,onMouseLeave:ct},At&&Ge.createElement("div",{className:`${ln}-title`},At),Ge.createElement(we.Z,{paragraph:!1,loading:St,className:`${ln}-skeleton`},Ge.createElement("div",{style:gt,className:`${ln}-content`},vt&&Ge.createElement("span",{className:`${ln}-content-prefix`},vt),Et?Et(er):er,Lt&&Ge.createElement("span",{className:`${ln}-content-suffix`},Lt)))))};const fe=[["Y",1e3*60*60*24*365],["M",1e3*60*60*24*30],["D",1e3*60*60*24],["H",1e3*60*60],["m",1e3*60],["s",1e3],["S",1]];function de(ze,Ze){let Ve=ze;const Qe=/\[[^\]]*]/g,$e=(Ze.match(Qe)||[]).map(Et=>Et.slice(1,-1)),gt=Ze.replace(Qe,"[]"),lt=fe.reduce((Et,vt)=>{let[Lt,St]=vt;if(Et.includes(Lt)){const xt=Math.floor(Ve/St);return Ve-=xt*St,Et.replace(new RegExp(`${Lt}+`,"g"),ct=>{const Dt=ct.length;return xt.toString().padStart(Dt,"0")})}return Et},gt);let At=0;return lt.replace(Qe,()=>{const Et=$e[At];return At+=1,Et})}function ve(ze,Ze){const{format:Ve=""}=Ze,Qe=new Date(ze).getTime(),$e=Date.now(),gt=Math.max(Qe-$e,0);return de(gt,Ve)}const xe=1e3/30;function ce(ze){return new Date(ze).getTime()}const pe=ze=>{const{value:Ze,format:Ve="HH:mm:ss",onChange:Qe,onFinish:$e}=ze,gt=(0,tt.Z)(),lt=Ge.useRef(null),At=()=>{$e==null||$e(),lt.current&&(clearInterval(lt.current),lt.current=null)},Et=()=>{const St=ce(Ze);St>=Date.now()&&(lt.current=setInterval(()=>{gt(),Qe==null||Qe(St-Date.now()),St<Date.now()&&At()},xe))};Ge.useEffect(()=>(Et(),()=>{lt.current&&(clearInterval(lt.current),lt.current=null)}),[Ze]);const vt=(St,xt)=>ve(St,Object.assign(Object.assign({},xt),{format:Ve})),Lt=St=>(0,Ue.Tm)(St,{title:void 0});return Ge.createElement(ae,Object.assign({},ze,{valueRender:Lt,formatter:vt}))};var Se=Ge.memo(pe);ae.Countdown=Se;var Le=ae},15969:function(en,tn,Oe){"use strict";Oe.d(tn,{N:function(){return Ge}});const Ge=tt=>({color:tt.colorLink,textDecoration:"none",outline:"none",cursor:"pointer",transition:`color ${tt.motionDurationSlow}`,"&:focus, &:hover":{color:tt.colorLinkHover},"&:active":{color:tt.colorLinkActive}})},78673:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return gt}});var Ge=Oe(50023),tt=Oe(92310),Ue=Oe.n(tt),Ne=Oe(5891),Ke=Oe(80962),Be=Oe(29043),we=Oe(19149),Te=Oe(59301),ke=Oe(35788),Ie=Oe(85108),Ce=["prefixCls","className","checked","defaultChecked","disabled","loadingIcon","checkedChildren","unCheckedChildren","onClick","onChange","onKeyDown"],Me=Te.forwardRef(function(lt,At){var Et,vt=lt.prefixCls,Lt=vt===void 0?"rc-switch":vt,St=lt.className,xt=lt.checked,ct=lt.defaultChecked,Dt=lt.disabled,Xt=lt.loadingIcon,kt=lt.checkedChildren,Rt=lt.unCheckedChildren,Gt=lt.onClick,ln=lt.onChange,Rn=lt.onKeyDown,jn=(0,we.Z)(lt,Ce),er=(0,ke.Z)(!1,{value:xt,defaultValue:ct}),an=(0,Be.Z)(er,2),Un=an[0],Kn=an[1];function ur(un,qt){var Yt=Un;return Dt||(Yt=un,Kn(Yt),ln==null||ln(Yt,qt)),Yt}function Xn(un){un.which===Ie.Z.LEFT?ur(!1,un):un.which===Ie.Z.RIGHT&&ur(!0,un),Rn==null||Rn(un)}function Nn(un){var qt=ur(!Un,un);Gt==null||Gt(qt,un)}var _n=Ue()(Lt,St,(Et={},(0,Ke.Z)(Et,"".concat(Lt,"-checked"),Un),(0,Ke.Z)(Et,"".concat(Lt,"-disabled"),Dt),Et));return Te.createElement("button",(0,Ne.Z)({},jn,{type:"button",role:"switch","aria-checked":Un,disabled:Dt,className:_n,ref:At,onKeyDown:Xn,onClick:Nn}),Xt,Te.createElement("span",{className:"".concat(Lt,"-inner")},Te.createElement("span",{className:"".concat(Lt,"-inner-checked")},kt),Te.createElement("span",{className:"".concat(Lt,"-inner-unchecked")},Rt)))});Me.displayName="Switch";var je=Me,ye=Oe(14088),ie=Oe(36355),ae=Oe(1684),fe=Oe(19716),de=Oe(64993),ve=Oe(17313),xe=Oe(83116),ce=Oe(37613);const pe=lt=>{const{componentCls:At,trackHeightSM:Et,trackPadding:vt,trackMinWidthSM:Lt,innerMinMarginSM:St,innerMaxMarginSM:xt,handleSizeSM:ct}=lt,Dt=`${At}-inner`;return{[At]:{[`&${At}-small`]:{minWidth:Lt,height:Et,lineHeight:`${Et}px`,[`${At}-inner`]:{paddingInlineStart:xt,paddingInlineEnd:St,[`${Dt}-checked`]:{marginInlineStart:`calc(-100% + ${ct+vt*2}px - ${xt*2}px)`,marginInlineEnd:`calc(100% - ${ct+vt*2}px + ${xt*2}px)`},[`${Dt}-unchecked`]:{marginTop:-Et,marginInlineStart:0,marginInlineEnd:0}},[`${At}-handle`]:{width:ct,height:ct},[`${At}-loading-icon`]:{top:(ct-lt.switchLoadingIconSize)/2,fontSize:lt.switchLoadingIconSize},[`&${At}-checked`]:{[`${At}-inner`]:{paddingInlineStart:St,paddingInlineEnd:xt,[`${Dt}-checked`]:{marginInlineStart:0,marginInlineEnd:0},[`${Dt}-unchecked`]:{marginInlineStart:`calc(100% - ${ct+vt*2}px + ${xt*2}px)`,marginInlineEnd:`calc(-100% + ${ct+vt*2}px - ${xt*2}px)`}},[`${At}-handle`]:{insetInlineStart:`calc(100% - ${ct+vt}px)`}},[`&:not(${At}-disabled):active`]:{[`&:not(${At}-checked) ${Dt}`]:{[`${Dt}-unchecked`]:{marginInlineStart:lt.marginXXS/2,marginInlineEnd:-lt.marginXXS/2}},[`&${At}-checked ${Dt}`]:{[`${Dt}-checked`]:{marginInlineStart:-lt.marginXXS/2,marginInlineEnd:lt.marginXXS/2}}}}}}},Se=lt=>{const{componentCls:At,handleSize:Et}=lt;return{[At]:{[`${At}-loading-icon${lt.iconCls}`]:{position:"relative",top:(Et-lt.fontSize)/2,color:lt.switchLoadingIconColor,verticalAlign:"top"},[`&${At}-checked ${At}-loading-icon`]:{color:lt.switchColor}}}},Le=lt=>{const{componentCls:At,motion:Et,trackPadding:vt,handleBg:Lt,handleShadow:St,handleSize:xt}=lt,ct=`${At}-handle`;return{[At]:{[ct]:{position:"absolute",top:vt,insetInlineStart:vt,width:xt,height:xt,transition:`all ${lt.switchDuration} ease-in-out`,"&::before":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,backgroundColor:Lt,borderRadius:xt/2,boxShadow:St,transition:`all ${lt.switchDuration} ease-in-out`,content:'""'}},[`&${At}-checked ${ct}`]:{insetInlineStart:`calc(100% - ${xt+vt}px)`},[`&:not(${At}-disabled):active`]:Et?{[`${ct}::before`]:{insetInlineEnd:lt.switchHandleActiveInset,insetInlineStart:0},[`&${At}-checked ${ct}::before`]:{insetInlineEnd:0,insetInlineStart:lt.switchHandleActiveInset}}:{}}}},ze=lt=>{const{componentCls:At,trackHeight:Et,trackPadding:vt,innerMinMargin:Lt,innerMaxMargin:St,handleSize:xt}=lt,ct=`${At}-inner`;return{[At]:{[ct]:{display:"block",overflow:"hidden",borderRadius:100,height:"100%",paddingInlineStart:St,paddingInlineEnd:Lt,transition:`padding-inline-start ${lt.switchDuration} ease-in-out, padding-inline-end ${lt.switchDuration} ease-in-out`,[`${ct}-checked, ${ct}-unchecked`]:{display:"block",color:lt.colorTextLightSolid,fontSize:lt.fontSizeSM,transition:`margin-inline-start ${lt.switchDuration} ease-in-out, margin-inline-end ${lt.switchDuration} ease-in-out`,pointerEvents:"none"},[`${ct}-checked`]:{marginInlineStart:`calc(-100% + ${xt+vt*2}px - ${St*2}px)`,marginInlineEnd:`calc(100% - ${xt+vt*2}px + ${St*2}px)`},[`${ct}-unchecked`]:{marginTop:-Et,marginInlineStart:0,marginInlineEnd:0}},[`&${At}-checked ${ct}`]:{paddingInlineStart:Lt,paddingInlineEnd:St,[`${ct}-checked`]:{marginInlineStart:0,marginInlineEnd:0},[`${ct}-unchecked`]:{marginInlineStart:`calc(100% - ${xt+vt*2}px + ${St*2}px)`,marginInlineEnd:`calc(-100% + ${xt+vt*2}px - ${St*2}px)`}},[`&:not(${At}-disabled):active`]:{[`&:not(${At}-checked) ${ct}`]:{[`${ct}-unchecked`]:{marginInlineStart:vt*2,marginInlineEnd:-vt*2}},[`&${At}-checked ${ct}`]:{[`${ct}-checked`]:{marginInlineStart:-vt*2,marginInlineEnd:vt*2}}}}}},Ze=lt=>{const{componentCls:At,trackHeight:Et,trackMinWidth:vt}=lt;return{[At]:Object.assign(Object.assign(Object.assign(Object.assign({},(0,ve.Wf)(lt)),{position:"relative",display:"inline-block",boxSizing:"border-box",minWidth:vt,height:Et,lineHeight:`${Et}px`,verticalAlign:"middle",background:lt.colorTextQuaternary,border:"0",borderRadius:100,cursor:"pointer",transition:`all ${lt.motionDurationMid}`,userSelect:"none",[`&:hover:not(${At}-disabled)`]:{background:lt.colorTextTertiary}}),(0,ve.Qy)(lt)),{[`&${At}-checked`]:{background:lt.switchColor,[`&:hover:not(${At}-disabled)`]:{background:lt.colorPrimaryHover}},[`&${At}-loading, &${At}-disabled`]:{cursor:"not-allowed",opacity:lt.switchDisabledOpacity,"*":{boxShadow:"none",cursor:"not-allowed"}},[`&${At}-rtl`]:{direction:"rtl"}})}};var Ve=(0,xe.Z)("Switch",lt=>{const At=(0,ce.TS)(lt,{switchDuration:lt.motionDurationMid,switchColor:lt.colorPrimary,switchDisabledOpacity:lt.opacityLoading,switchLoadingIconSize:lt.fontSizeIcon*.75,switchLoadingIconColor:`rgba(0, 0, 0, ${lt.opacityLoading})`,switchHandleActiveInset:"-30%"});return[Ze(At),ze(At),Le(At),Se(At),pe(At)]},lt=>{const{fontSize:At,lineHeight:Et,controlHeight:vt,colorWhite:Lt}=lt,St=At*Et,xt=vt/2,ct=2,Dt=St-ct*2,Xt=xt-ct*2;return{trackHeight:St,trackHeightSM:xt,trackMinWidth:Dt*2+ct*4,trackMinWidthSM:Xt*2+ct*2,trackPadding:ct,handleBg:Lt,handleSize:Dt,handleSizeSM:Xt,handleShadow:`0 2px 4px 0 ${new de.C("#00230b").setAlpha(.2).toRgbString()}`,innerMinMargin:Dt/2,innerMaxMargin:Dt+ct+ct*2,innerMinMarginSM:Xt/2,innerMaxMarginSM:Xt+ct+ct*2}}),Qe=function(lt,At){var Et={};for(var vt in lt)Object.prototype.hasOwnProperty.call(lt,vt)&&At.indexOf(vt)<0&&(Et[vt]=lt[vt]);if(lt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Lt=0,vt=Object.getOwnPropertySymbols(lt);Lt<vt.length;Lt++)At.indexOf(vt[Lt])<0&&Object.prototype.propertyIsEnumerable.call(lt,vt[Lt])&&(Et[vt[Lt]]=lt[vt[Lt]]);return Et};const $e=Te.forwardRef((lt,At)=>{const{prefixCls:Et,size:vt,disabled:Lt,loading:St,className:xt,rootClassName:ct,style:Dt}=lt,Xt=Qe(lt,["prefixCls","size","disabled","loading","className","rootClassName","style"]),{getPrefixCls:kt,direction:Rt,switch:Gt}=Te.useContext(ie.E_),ln=Te.useContext(ae.Z),Rn=(Lt!=null?Lt:ln)||St,jn=kt("switch",Et),er=Te.createElement("div",{className:`${jn}-handle`},St&&Te.createElement(Ge.Z,{className:`${jn}-loading-icon`})),[an,Un]=Ve(jn),Kn=(0,fe.Z)(vt),ur=Ue()(Gt==null?void 0:Gt.className,{[`${jn}-small`]:Kn==="small",[`${jn}-loading`]:St,[`${jn}-rtl`]:Rt==="rtl"},xt,ct,Un),Xn=Object.assign(Object.assign({},Gt==null?void 0:Gt.style),Dt);return an(Te.createElement(ye.Z,{component:"Switch"},Te.createElement(je,Object.assign({},Xt,{prefixCls:jn,className:ur,style:Xn,disabled:Rn,ref:At,loadingIcon:er}))))});$e.__ANT_SWITCH=!0;var gt=$e},2595:function(en,tn,Oe){"use strict";Oe.d(tn,{default:function(){return Hu}});var Ge={},tt="rc-table-internal-hook",Ue=Oe(29043),Ne=Oe(8107),Ke=Oe(28800),Be=Oe(51346),we=Oe(59301),Te=Oe(4676);function ke(Pn){var Tn=we.createContext(void 0),cr=function(Rr){var Dr=Rr.value,si=Rr.children,oi=we.useRef(Dr);oi.current=Dr;var ti=we.useState(function(){return{getValue:function(){return oi.current},listeners:new Set}}),Ni=(0,Ue.Z)(ti,1),pi=Ni[0];return(0,Ke.Z)(function(){(0,Te.unstable_batchedUpdates)(function(){pi.listeners.forEach(function(Di){Di(Dr)})})},[Dr]),we.createElement(Tn.Provider,{value:pi},si)};return{Context:Tn,Provider:cr,defaultValue:Pn}}function Ie(Pn,Tn){var cr=(0,Ne.Z)(typeof Tn=="function"?Tn:function(Di){if(Tn===void 0)return Di;if(!Array.isArray(Tn))return Di[Tn];var vo={};return Tn.forEach(function(ho){vo[ho]=Di[ho]}),vo}),yr=we.useContext(Pn==null?void 0:Pn.Context),Rr=yr||{},Dr=Rr.listeners,si=Rr.getValue,oi=we.useRef();oi.current=cr(yr?si():Pn==null?void 0:Pn.defaultValue);var ti=we.useState({}),Ni=(0,Ue.Z)(ti,2),pi=Ni[1];return(0,Ke.Z)(function(){if(!yr)return;function Di(vo){var ho=cr(vo);(0,Be.Z)(oi.current,ho,!0)||pi({})}return Dr.add(Di),function(){Dr.delete(Di)}},[yr]),oi.current}var Ce=Oe(5891),Me=Oe(20475);function je(){var Pn=we.createContext(null);function Tn(){return we.useContext(Pn)}function cr(Rr,Dr){var si=(0,Me.Yr)(Rr),oi=function(Ni,pi){var Di=si?{ref:pi}:{},vo=we.useRef(0),ho=we.useRef(Ni),hi=Tn();return hi!==null?we.createElement(Rr,(0,Ce.Z)({},Ni,Di)):((!Dr||Dr(ho.current,Ni))&&(vo.current+=1),ho.current=Ni,we.createElement(Pn.Provider,{value:vo.current},we.createElement(Rr,(0,Ce.Z)({},Ni,Di))))};return si?we.forwardRef(oi):oi}function yr(Rr,Dr){var si=(0,Me.Yr)(Rr),oi=function(Ni,pi){var Di=si?{ref:pi}:{};return Tn(),we.createElement(Rr,(0,Ce.Z)({},Ni,Di))};return si?we.memo(we.forwardRef(oi),Dr):we.memo(oi,Dr)}return{makeImmutable:cr,responseImmutable:yr,useImmutableMark:Tn}}var ye=je(),ie=ye.makeImmutable,ae=ye.responseImmutable,fe=ye.useImmutableMark,de=je(),ve=de.makeImmutable,xe=de.responseImmutable,ce=de.useImmutableMark,pe=ke(),Se=pe;function Le(Pn,Tn){var cr=we.useRef(0);cr.current+=1;var yr=we.useRef(Pn),Rr=[];Object.keys(Pn||{}).map(function(si){var oi;(Pn==null?void 0:Pn[si])!==((oi=yr.current)===null||oi===void 0?void 0:oi[si])&&Rr.push(si)}),yr.current=Pn;var Dr=we.useRef([]);return Rr.length&&(Dr.current=Rr),we.useDebugValue(cr.current),we.useDebugValue(Dr.current.join(", ")),Tn&&console.log("".concat(Tn,":"),cr.current,Dr.current),cr.current}var ze=null,Ze=we.memo(function(){var Pn=Le();return we.createElement("h1",null,"Render Times: ",Pn)});Ze.displayName="RenderBlock";var Ve=Oe(80665),Qe=Oe(57259),$e=Oe(80962),gt=Oe(92310),lt=Oe.n(gt),At=Oe(79722),Et=Oe(69004),vt=Oe(51395),Lt=we.createContext({renderWithProps:!1}),St=Lt,xt="RC_TABLE_KEY";function ct(Pn){return Pn==null?[]:Array.isArray(Pn)?Pn:[Pn]}function Dt(Pn){var Tn=[],cr={};return Pn.forEach(function(yr){for(var Rr=yr||{},Dr=Rr.key,si=Rr.dataIndex,oi=Dr||ct(si).join("-")||xt;cr[oi];)oi="".concat(oi,"_next");cr[oi]=!0,Tn.push(oi)}),Tn}function Xt(Pn){return Pn!=null}function kt(Pn){return Pn&&(0,Ve.Z)(Pn)==="object"&&!Array.isArray(Pn)&&!we.isValidElement(Pn)}function Rt(Pn,Tn,cr,yr,Rr,Dr){var si=we.useContext(St),oi=ce(),ti=(0,At.Z)(function(){if(Xt(yr))return[yr];var Ni=Tn==null||Tn===""?[]:Array.isArray(Tn)?Tn:[Tn],pi=(0,Et.Z)(Pn,Ni),Di=pi,vo=void 0;if(Rr){var ho=Rr(pi,Pn,cr);kt(ho)?(Di=ho.children,vo=ho.props,si.renderWithProps=!0):Di=ho}return[Di,vo]},[oi,Pn,yr,Tn,Rr,cr],function(Ni,pi){if(Dr){var Di=(0,Ue.Z)(Ni,2),vo=Di[1],ho=(0,Ue.Z)(pi,2),hi=ho[1];return Dr(hi,vo)}return si.renderWithProps?!0:!(0,Be.Z)(Ni,pi,!0)});return ti}function Gt(Pn,Tn,cr,yr){var Rr=Pn+Tn-1;return Pn<=yr&&Rr>=cr}function ln(Pn,Tn){return Ie(Se,function(cr){var yr=Gt(Pn,Tn||1,cr.hoverStartRow,cr.hoverEndRow);return[yr,cr.onHover]})}var Rn=function(Tn){var cr=Tn.ellipsis,yr=Tn.rowType,Rr=Tn.children,Dr,si=cr===!0?{showTitle:!0}:cr;return si&&(si.showTitle||yr==="header")&&(typeof Rr=="string"||typeof Rr=="number"?Dr=Rr.toString():we.isValidElement(Rr)&&typeof Rr.props.children=="string"&&(Dr=Rr.props.children)),Dr};function jn(Pn){var Tn,cr,yr,Rr,Dr,si,oi,ti,Ni=Pn.component,pi=Pn.children,Di=Pn.ellipsis,vo=Pn.scope,ho=Pn.prefixCls,hi=Pn.className,Go=Pn.align,ro=Pn.record,sa=Pn.render,qo=Pn.dataIndex,na=Pn.renderIndex,$a=Pn.shouldCellUpdate,cs=Pn.index,ya=Pn.rowType,Ia=Pn.colSpan,gs=Pn.rowSpan,ga=Pn.fixLeft,Wa=Pn.fixRight,fa=Pn.firstFixLeft,Wo=Pn.lastFixLeft,la=Pn.firstFixRight,Ha=Pn.lastFixRight,Po=Pn.appendNode,Es=Pn.additionalProps,ca=Es===void 0?{}:Es,dt=Pn.isSticky,Ot="".concat(ho,"-cell"),zt=Ie(Se,["supportSticky","allColumnsFixedLeft"]),$t=zt.supportSticky,pn=zt.allColumnsFixedLeft,mn=Rt(ro,qo,na,pi,sa,$a),In=(0,Ue.Z)(mn,2),xn=In[0],qn=In[1],Wn={},ar=typeof ga=="number"&&$t,Ir=typeof Wa=="number"&&$t;ar&&(Wn.position="sticky",Wn.left=ga),Ir&&(Wn.position="sticky",Wn.right=Wa);var Er=(Tn=(cr=(yr=qn==null?void 0:qn.colSpan)!==null&&yr!==void 0?yr:ca.colSpan)!==null&&cr!==void 0?cr:Ia)!==null&&Tn!==void 0?Tn:1,Yr=(Rr=(Dr=(si=qn==null?void 0:qn.rowSpan)!==null&&si!==void 0?si:ca.rowSpan)!==null&&Dr!==void 0?Dr:gs)!==null&&Rr!==void 0?Rr:1,jr=ln(cs,Yr),kr=(0,Ue.Z)(jr,2),zr=kr[0],_r=kr[1],Vr=function(Ri){var co;ro&&_r(cs,cs+Yr-1),ca==null||(co=ca.onMouseEnter)===null||co===void 0||co.call(ca,Ri)},Ti=function(Ri){var co;ro&&_r(-1,-1),ca==null||(co=ca.onMouseLeave)===null||co===void 0||co.call(ca,Ri)};if(Er===0||Yr===0)return null;var to=(oi=ca.title)!==null&&oi!==void 0?oi:Rn({rowType:ya,ellipsis:Di,children:xn}),pa=lt()(Ot,hi,(ti={},(0,$e.Z)(ti,"".concat(Ot,"-fix-left"),ar&&$t),(0,$e.Z)(ti,"".concat(Ot,"-fix-left-first"),fa&&$t),(0,$e.Z)(ti,"".concat(Ot,"-fix-left-last"),Wo&&$t),(0,$e.Z)(ti,"".concat(Ot,"-fix-left-all"),Wo&&pn&&$t),(0,$e.Z)(ti,"".concat(Ot,"-fix-right"),Ir&&$t),(0,$e.Z)(ti,"".concat(Ot,"-fix-right-first"),la&&$t),(0,$e.Z)(ti,"".concat(Ot,"-fix-right-last"),Ha&&$t),(0,$e.Z)(ti,"".concat(Ot,"-ellipsis"),Di),(0,$e.Z)(ti,"".concat(Ot,"-with-append"),Po),(0,$e.Z)(ti,"".concat(Ot,"-fix-sticky"),(ar||Ir)&&dt&&$t),(0,$e.Z)(ti,"".concat(Ot,"-row-hover"),!qn&&zr),ti),ca.className,qn==null?void 0:qn.className),lo={};Go&&(lo.textAlign=Go);var ha=(0,Qe.Z)((0,Qe.Z)((0,Qe.Z)((0,Qe.Z)({},Wn),ca.style),lo),qn==null?void 0:qn.style),Zo=xn;return(0,Ve.Z)(Zo)==="object"&&!Array.isArray(Zo)&&!we.isValidElement(Zo)&&(Zo=null),Di&&(Wo||la)&&(Zo=we.createElement("span",{className:"".concat(Ot,"-content")},Zo)),we.createElement(Ni,(0,Ce.Z)({},qn,ca,{className:pa,style:ha,title:to,scope:vo,onMouseEnter:Vr,onMouseLeave:Ti,colSpan:Er!==1?Er:null,rowSpan:Yr!==1?Yr:null}),Po,Zo)}var er=we.memo(jn);function an(Pn,Tn,cr,yr,Rr,Dr){var si=cr[Pn]||{},oi=cr[Tn]||{},ti,Ni;si.fixed==="left"?ti=yr.left[Rr==="rtl"?Tn:Pn]:oi.fixed==="right"&&(Ni=yr.right[Rr==="rtl"?Pn:Tn]);var pi=!1,Di=!1,vo=!1,ho=!1,hi=cr[Tn+1],Go=cr[Pn-1],ro=!(Dr!=null&&Dr.children);if(Rr==="rtl"){if(ti!==void 0){var sa=Go&&Go.fixed==="left";ho=!sa&&ro}else if(Ni!==void 0){var qo=hi&&hi.fixed==="right";vo=!qo&&ro}}else if(ti!==void 0){var na=hi&&hi.fixed==="left";pi=!na&&ro}else if(Ni!==void 0){var $a=Go&&Go.fixed==="right";Di=!$a&&ro}return{fixLeft:ti,fixRight:Ni,lastFixLeft:pi,firstFixRight:Di,lastFixRight:vo,firstFixLeft:ho,isSticky:yr.isSticky}}var Un=we.createContext({}),Kn=Un;function ur(Pn){var Tn=Pn.className,cr=Pn.index,yr=Pn.children,Rr=Pn.colSpan,Dr=Rr===void 0?1:Rr,si=Pn.rowSpan,oi=Pn.align,ti=Ie(Se,["prefixCls","direction"]),Ni=ti.prefixCls,pi=ti.direction,Di=we.useContext(Kn),vo=Di.scrollColumnIndex,ho=Di.stickyOffsets,hi=Di.flattenColumns,Go=Di.columns,ro=cr+Dr-1,sa=ro+1===vo?Dr+1:Dr,qo=an(cr,cr+sa-1,hi,ho,pi,Go==null?void 0:Go[cr]);return we.createElement(er,(0,Ce.Z)({className:Tn,index:cr,component:"td",prefixCls:Ni,record:null,dataIndex:null,align:oi,colSpan:sa,rowSpan:si,render:function(){return yr}},qo))}var Xn=Oe(19149),Nn=["children"];function _n(Pn){var Tn=Pn.children,cr=(0,Xn.Z)(Pn,Nn);return we.createElement("tr",cr,Tn)}function un(Pn){var Tn=Pn.children;return Tn}un.Row=_n,un.Cell=ur;var qt=un;function Yt(Pn){var Tn=Pn.children,cr=Pn.stickyOffsets,yr=Pn.flattenColumns,Rr=Pn.columns,Dr=Ie(Se,"prefixCls"),si=yr.length-1,oi=yr[si],ti=we.useMemo(function(){return{stickyOffsets:cr,flattenColumns:yr,scrollColumnIndex:oi!=null&&oi.scrollbar?si:null,columns:Rr}},[oi,yr,si,cr,Rr]);return we.createElement(Kn.Provider,{value:ti},we.createElement("tfoot",{className:"".concat(Dr,"-summary")},Tn))}var gn=xe(Yt),_t=qt,Jt=Oe(80764),wt=Oe(29301),ut=Oe(48886),ot=Oe(24387),Pt=Oe(59055),Ht=Oe(36994);function Mt(Pn,Tn,cr,yr,Rr,Dr,si){Pn.push({record:Tn,indent:cr,index:si});var oi=Dr(Tn),ti=Rr==null?void 0:Rr.has(oi);if(Tn&&Array.isArray(Tn[yr])&&ti)for(var Ni=0;Ni<Tn[yr].length;Ni+=1)Mt(Pn,Tn[yr][Ni],cr+1,yr,Rr,Dr,Ni)}function hn(Pn,Tn,cr,yr){var Rr=we.useMemo(function(){if(cr!=null&&cr.size){for(var Dr=[],si=0;si<(Pn==null?void 0:Pn.length);si+=1){var oi=Pn[si];Mt(Dr,oi,0,Tn,cr,yr,si)}return Dr}return Pn==null?void 0:Pn.map(function(ti,Ni){return{record:ti,indent:0,index:Ni}})},[Pn,Tn,cr,yr]);return Rr}function rr(Pn){var Tn=Pn.prefixCls,cr=Pn.children,yr=Pn.component,Rr=Pn.cellComponent,Dr=Pn.className,si=Pn.expanded,oi=Pn.colSpan,ti=Pn.isEmpty,Ni=Ie(Se,["scrollbarSize","fixHeader","fixColumn","componentWidth","horizonScroll"]),pi=Ni.scrollbarSize,Di=Ni.fixHeader,vo=Ni.fixColumn,ho=Ni.componentWidth,hi=Ni.horizonScroll,Go=cr;return(ti?hi&&ho:vo)&&(Go=we.createElement("div",{style:{width:ho-(Di?pi:0),position:"sticky",left:0,overflow:"hidden"},className:"".concat(Tn,"-expanded-row-fixed")},Go)),we.createElement(yr,{className:Dr,style:{display:si?null:"none"}},we.createElement(er,{component:Rr,prefixCls:Tn,colSpan:oi},Go))}var Jn=rr;function An(Pn,Tn,cr,yr){var Rr=Ie(Se,["prefixCls","fixedInfoList","flattenColumns","expandableType","expandRowByClick","onTriggerExpand","rowClassName","expandedRowClassName","indentSize","expandIcon","expandedRowRender","expandIconColumnIndex","expandedKeys","childrenColumnName","rowExpandable","onRow"]),Dr=Rr.flattenColumns,si=Rr.expandableType,oi=Rr.expandedKeys,ti=Rr.childrenColumnName,Ni=Rr.onTriggerExpand,pi=Rr.rowExpandable,Di=Rr.onRow,vo=Rr.expandRowByClick,ho=Rr.rowClassName,hi=si==="nest",Go=si==="row"&&(!pi||pi(Pn)),ro=Go||hi,sa=oi&&oi.has(Tn),qo=ti&&Pn&&Pn[ti],na=(0,Jt.useEvent)(Ni),$a=Di==null?void 0:Di(Pn,cr),cs=$a==null?void 0:$a.onClick,ya=function(Wa){vo&&ro&&Ni(Pn,Wa);for(var fa=arguments.length,Wo=new Array(fa>1?fa-1:0),la=1;la<fa;la++)Wo[la-1]=arguments[la];cs==null||cs.apply(void 0,[Wa].concat(Wo))},Ia;typeof ho=="string"?Ia=ho:typeof ho=="function"&&(Ia=ho(Pn,cr,yr));var gs=Dt(Dr);return(0,Qe.Z)((0,Qe.Z)({},Rr),{},{columnsKey:gs,nestExpandable:hi,expanded:sa,hasNestChildren:qo,record:Pn,onTriggerExpand:na,rowSupportExpand:Go,expandable:ro,rowProps:(0,Qe.Z)((0,Qe.Z)({},$a),{},{className:lt()(Ia,$a==null?void 0:$a.className),onClick:ya})})}function $n(Pn,Tn,cr,yr,Rr){var Dr=Pn.record,si=Pn.prefixCls,oi=Pn.columnsKey,ti=Pn.fixedInfoList,Ni=Pn.expandIconColumnIndex,pi=Pn.nestExpandable,Di=Pn.indentSize,vo=Pn.expandIcon,ho=Pn.expanded,hi=Pn.hasNestChildren,Go=Pn.onTriggerExpand,ro=oi[cr],sa=ti[cr],qo;cr===(Ni||0)&&pi&&(qo=we.createElement(we.Fragment,null,we.createElement("span",{style:{paddingLeft:"".concat(Di*yr,"px")},className:"".concat(si,"-row-indent indent-level-").concat(yr)}),vo({prefixCls:si,expanded:ho,expandable:hi,record:Dr,onExpand:Go})));var na;return Tn.onCell&&(na=Tn.onCell(Dr,Rr)),{key:ro,fixedInfo:sa,appendCellNode:qo,additionalCellProps:na||{}}}function xr(Pn){var Tn=Pn.className,cr=Pn.style,yr=Pn.record,Rr=Pn.index,Dr=Pn.renderIndex,si=Pn.rowKey,oi=Pn.indent,ti=oi===void 0?0:oi,Ni=Pn.rowComponent,pi=Pn.cellComponent,Di=Pn.scopeCellComponent,vo=An(yr,si,Rr,ti),ho=vo.prefixCls,hi=vo.flattenColumns,Go=vo.expandedRowClassName,ro=vo.expandedRowRender,sa=vo.rowProps,qo=vo.expanded,na=vo.rowSupportExpand,$a=we.useState(!1),cs=(0,Ue.Z)($a,2),ya=cs[0],Ia=cs[1];we.useEffect(function(){qo&&Ia(!0)},[qo]);var gs=we.createElement(Ni,(0,Ce.Z)({},sa,{"data-row-key":si,className:lt()(Tn,"".concat(ho,"-row"),"".concat(ho,"-row-level-").concat(ti),sa==null?void 0:sa.className),style:(0,Qe.Z)((0,Qe.Z)({},cr),sa==null?void 0:sa.style)}),hi.map(function(Wo,la){var Ha=Wo.render,Po=Wo.dataIndex,Es=Wo.className,ca=$n(vo,Wo,la,ti,Rr),dt=ca.key,Ot=ca.fixedInfo,zt=ca.appendCellNode,$t=ca.additionalCellProps;return we.createElement(er,(0,Ce.Z)({className:Es,ellipsis:Wo.ellipsis,align:Wo.align,scope:Wo.rowScope,component:Wo.rowScope?Di:pi,prefixCls:ho,key:dt,record:yr,index:Rr,renderIndex:Dr,dataIndex:Po,render:Ha,shouldCellUpdate:Wo.shouldCellUpdate},Ot,{appendNode:zt,additionalProps:$t}))})),ga;if(na&&(ya||qo)){var Wa=ro(yr,Rr,ti+1,qo),fa=Go&&Go(yr,Rr,ti);ga=we.createElement(Jn,{expanded:qo,className:lt()("".concat(ho,"-expanded-row"),"".concat(ho,"-expanded-row-level-").concat(ti+1),fa),prefixCls:ho,component:Ni,cellComponent:pi,colSpan:hi.length,isEmpty:!1},Wa)}return we.createElement(we.Fragment,null,gs,ga)}xr.displayName="BodyRow";var mr=xe(xr);function Qr(Pn){var Tn=Pn.columnKey,cr=Pn.onColumnResize,yr=we.useRef();return we.useEffect(function(){yr.current&&cr(Tn,yr.current.offsetWidth)},[]),we.createElement(wt.Z,{data:Tn},we.createElement("td",{ref:yr,style:{padding:0,border:0,height:0}},we.createElement("div",{style:{height:0,overflow:"hidden"}},"\xA0")))}function di(Pn){var Tn=Pn.prefixCls,cr=Pn.columnsKey,yr=Pn.onColumnResize;return we.createElement("tr",{"aria-hidden":"true",className:"".concat(Tn,"-measure-row"),style:{height:0,fontSize:0}},we.createElement(wt.Z.Collection,{onBatchResize:function(Dr){Dr.forEach(function(si){var oi=si.data,ti=si.size;yr(oi,ti.offsetWidth)})}},cr.map(function(Rr){return we.createElement(Qr,{key:Rr,columnKey:Rr,onColumnResize:yr})})))}function li(Pn){var Tn=Pn.data,cr=Pn.measureColumnWidth,yr=Ie(Se,["prefixCls","getComponent","onColumnResize","flattenColumns","getRowKey","expandedKeys","childrenColumnName","emptyNode"]),Rr=yr.prefixCls,Dr=yr.getComponent,si=yr.onColumnResize,oi=yr.flattenColumns,ti=yr.getRowKey,Ni=yr.expandedKeys,pi=yr.childrenColumnName,Di=yr.emptyNode,vo=hn(Tn,pi,Ni,ti),ho=we.useRef({renderWithProps:!1}),hi=Dr(["body","wrapper"],"tbody"),Go=Dr(["body","row"],"tr"),ro=Dr(["body","cell"],"td"),sa=Dr(["body","cell"],"th"),qo;Tn.length?qo=vo.map(function($a,cs){var ya=$a.record,Ia=$a.indent,gs=$a.index,ga=ti(ya,cs);return we.createElement(mr,{key:ga,rowKey:ga,record:ya,index:cs,renderIndex:gs,rowComponent:Go,cellComponent:ro,scopeCellComponent:sa,getRowKey:ti,indent:Ia})}):qo=we.createElement(Jn,{expanded:!0,className:"".concat(Rr,"-placeholder"),prefixCls:Rr,component:Go,cellComponent:ro,colSpan:oi.length,isEmpty:!0},Di);var na=Dt(oi);return we.createElement(St.Provider,{value:ho.current},we.createElement(hi,{className:"".concat(Rr,"-tbody")},cr&&we.createElement(di,{prefixCls:Rr,columnsKey:na,onColumnResize:si}),qo))}li.displayName="Body";var Ai=xe(li),fo=["expandable"],Io="RC_TABLE_INTERNAL_COL_DEFINE";function bo(Pn){var Tn=Pn.expandable,cr=(0,Xn.Z)(Pn,fo),yr;return"expandable"in Pn?yr=(0,Qe.Z)((0,Qe.Z)({},cr),Tn):yr=cr,yr.showExpandColumn===!1&&(yr.expandIconColumnIndex=-1),yr}var ai=["columnType"];function Pi(Pn){for(var Tn=Pn.colWidths,cr=Pn.columns,yr=Pn.columCount,Rr=[],Dr=yr||cr.length,si=!1,oi=Dr-1;oi>=0;oi-=1){var ti=Tn[oi],Ni=cr&&cr[oi],pi=Ni&&Ni[Io];if(ti||pi||si){var Di=pi||{},vo=Di.columnType,ho=(0,Xn.Z)(Di,ai);Rr.unshift(we.createElement("col",(0,Ce.Z)({key:oi,style:{width:ti}},ho))),si=!0}}return we.createElement("colgroup",null,Rr)}var ao=Pi,Jr=Oe(26390),oo=["className","noData","columns","flattenColumns","colWidths","columCount","stickyOffsets","direction","fixHeader","stickyTopOffset","stickyBottomOffset","stickyClassName","onScroll","maxContentScroll","children"];function zi(Pn,Tn){return(0,we.useMemo)(function(){for(var cr=[],yr=0;yr<Tn;yr+=1){var Rr=Pn[yr];if(Rr!==void 0)cr[yr]=Rr;else return null}return cr},[Pn.join("_"),Tn])}var It=we.forwardRef(function(Pn,Tn){var cr=Pn.className,yr=Pn.noData,Rr=Pn.columns,Dr=Pn.flattenColumns,si=Pn.colWidths,oi=Pn.columCount,ti=Pn.stickyOffsets,Ni=Pn.direction,pi=Pn.fixHeader,Di=Pn.stickyTopOffset,vo=Pn.stickyBottomOffset,ho=Pn.stickyClassName,hi=Pn.onScroll,Go=Pn.maxContentScroll,ro=Pn.children,sa=(0,Xn.Z)(Pn,oo),qo=Ie(Se,["prefixCls","scrollbarSize","isSticky"]),na=qo.prefixCls,$a=qo.scrollbarSize,cs=qo.isSticky,ya=cs&&!pi?0:$a,Ia=we.useRef(null),gs=we.useCallback(function(Es){(0,Me.mH)(Tn,Es),(0,Me.mH)(Ia,Es)},[]);we.useEffect(function(){var Es;function ca(dt){var Ot=dt,zt=Ot.currentTarget,$t=Ot.deltaX;$t&&(hi({currentTarget:zt,scrollLeft:zt.scrollLeft+$t}),dt.preventDefault())}return(Es=Ia.current)===null||Es===void 0||Es.addEventListener("wheel",ca),function(){var dt;(dt=Ia.current)===null||dt===void 0||dt.removeEventListener("wheel",ca)}},[]);var ga=we.useMemo(function(){return Dr.every(function(Es){return Es.width})},[Dr]),Wa=Dr[Dr.length-1],fa={fixed:Wa?Wa.fixed:null,scrollbar:!0,onHeaderCell:function(){return{className:"".concat(na,"-cell-scrollbar")}}},Wo=(0,we.useMemo)(function(){return ya?[].concat((0,Jr.Z)(Rr),[fa]):Rr},[ya,Rr]),la=(0,we.useMemo)(function(){return ya?[].concat((0,Jr.Z)(Dr),[fa]):Dr},[ya,Dr]),Ha=(0,we.useMemo)(function(){var Es=ti.right,ca=ti.left;return(0,Qe.Z)((0,Qe.Z)({},ti),{},{left:Ni==="rtl"?[].concat((0,Jr.Z)(ca.map(function(dt){return dt+ya})),[0]):ca,right:Ni==="rtl"?Es:[].concat((0,Jr.Z)(Es.map(function(dt){return dt+ya})),[0]),isSticky:cs})},[ya,ti,cs]),Po=zi(si,oi);return we.createElement("div",{style:(0,Qe.Z)({overflow:"hidden"},cs?{top:Di,bottom:vo}:{}),ref:gs,className:lt()(cr,(0,$e.Z)({},ho,!!ho))},we.createElement("table",{style:{tableLayout:"fixed",visibility:yr||Po?null:"hidden"}},(!yr||!Go||ga)&&we.createElement(ao,{colWidths:Po?[].concat((0,Jr.Z)(Po),[ya]):[],columCount:oi+1,columns:la}),ro((0,Qe.Z)((0,Qe.Z)({},sa),{},{stickyOffsets:Ha,columns:Wo,flattenColumns:la}))))});It.displayName="FixedHolder";var Yo=we.memo(It);function ko(Pn){var Tn=Pn.cells,cr=Pn.stickyOffsets,yr=Pn.flattenColumns,Rr=Pn.rowComponent,Dr=Pn.cellComponent,si=Pn.tdCellComponent,oi=Pn.onHeaderRow,ti=Pn.index,Ni=Ie(Se,["prefixCls","direction"]),pi=Ni.prefixCls,Di=Ni.direction,vo;oi&&(vo=oi(Tn.map(function(hi){return hi.column}),ti));var ho=Dt(Tn.map(function(hi){return hi.column}));return we.createElement(Rr,vo,Tn.map(function(hi,Go){var ro=hi.column,sa=an(hi.colStart,hi.colEnd,yr,cr,Di,ro),qo;return ro&&ro.onHeaderCell&&(qo=hi.column.onHeaderCell(ro)),we.createElement(er,(0,Ce.Z)({},hi,{scope:ro.title?hi.colSpan>1?"colgroup":"col":null,ellipsis:ro.ellipsis,align:ro.align,component:ro.title?Dr:si,prefixCls:pi,key:ho[Go]},sa,{additionalProps:qo,rowType:"header"}))}))}ko.displayName="HeaderRow";var Fr=ko;function Bi(Pn){var Tn=[];function cr(si,oi){var ti=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;Tn[ti]=Tn[ti]||[];var Ni=oi,pi=si.filter(Boolean).map(function(Di){var vo={key:Di.key,className:Di.className||"",children:Di.title,column:Di,colStart:Ni},ho=1,hi=Di.children;return hi&&hi.length>0&&(ho=cr(hi,Ni,ti+1).reduce(function(Go,ro){return Go+ro},0),vo.hasSubColumns=!0),"colSpan"in Di&&(ho=Di.colSpan),"rowSpan"in Di&&(vo.rowSpan=Di.rowSpan),vo.colSpan=ho,vo.colEnd=vo.colStart+ho-1,Tn[ti].push(vo),Ni+=ho,ho});return pi}cr(Pn,0);for(var yr=Tn.length,Rr=function(oi){Tn[oi].forEach(function(ti){!("rowSpan"in ti)&&!ti.hasSubColumns&&(ti.rowSpan=yr-oi)})},Dr=0;Dr<yr;Dr+=1)Rr(Dr);return Tn}function Fi(Pn){var Tn=Pn.stickyOffsets,cr=Pn.columns,yr=Pn.flattenColumns,Rr=Pn.onHeaderRow,Dr=Ie(Se,["prefixCls","getComponent"]),si=Dr.prefixCls,oi=Dr.getComponent,ti=we.useMemo(function(){return Bi(cr)},[cr]),Ni=oi(["header","wrapper"],"thead"),pi=oi(["header","row"],"tr"),Di=oi(["header","cell"],"th"),vo=oi(["header","cell"],"td");return we.createElement(Ni,{className:"".concat(si,"-thead")},ti.map(function(ho,hi){var Go=we.createElement(Fr,{key:hi,flattenColumns:yr,cells:ho,stickyOffsets:Tn,rowComponent:pi,cellComponent:Di,tdCellComponent:vo,onHeaderRow:Rr,index:hi});return Go}))}var Qi=xe(Fi),ii=Oe(38298);function Nt(Pn){var Tn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return typeof Tn=="number"?Tn:Tn.endsWith("%")?Pn*parseFloat(Tn)/100:null}function De(Pn,Tn){return we.useMemo(function(){if(Tn&&Tn>0){var cr=0,yr=0;Pn.forEach(function(Ni){var pi=Nt(Tn,Ni.width);pi?cr+=pi:yr+=1});var Rr=Tn-cr,Dr=yr,si=Rr/yr,oi=0,ti=Pn.map(function(Ni){var pi=(0,Qe.Z)({},Ni),Di=Nt(Tn,pi.width);if(Di)pi.width=Di;else{var vo=Math.floor(si);pi.width=Dr===1?Rr:vo,Rr-=vo,Dr-=1}return oi+=pi.width,pi});return[ti,oi]}return[Pn,Tn]},[Pn,Tn])}var He=["children"],Re=["fixed"];function et(Pn){return(0,ii.Z)(Pn).filter(function(Tn){return we.isValidElement(Tn)}).map(function(Tn){var cr=Tn.key,yr=Tn.props,Rr=yr.children,Dr=(0,Xn.Z)(yr,He),si=(0,Qe.Z)({key:cr},Dr);return Rr&&(si.children=et(Rr)),si})}function ft(Pn){var Tn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"key";return Pn.filter(function(cr){return cr&&(0,Ve.Z)(cr)==="object"}).reduce(function(cr,yr,Rr){var Dr=yr.fixed,si=Dr===!0?"left":Dr,oi="".concat(Tn,"-").concat(Rr),ti=yr.children;return ti&&ti.length>0?[].concat((0,Jr.Z)(cr),(0,Jr.Z)(ft(ti,oi).map(function(Ni){return(0,Qe.Z)({fixed:si},Ni)}))):[].concat((0,Jr.Z)(cr),[(0,Qe.Z)((0,Qe.Z)({key:oi},yr),{},{fixed:si})])},[])}function Bt(Pn){for(var Tn=!0,cr=0;cr<Pn.length;cr+=1){var yr=Pn[cr];if(Tn&&yr.fixed!=="left")Tn=!1;else if(!Tn&&yr.fixed==="left"){warning(!1,"Index ".concat(cr-1," of `columns` missing `fixed='left'` prop."));break}}for(var Rr=!0,Dr=Pn.length-1;Dr>=0;Dr-=1){var si=Pn[Dr];if(Rr&&si.fixed!=="right")Rr=!1;else if(!Rr&&si.fixed==="right"){warning(!1,"Index ".concat(Dr+1," of `columns` missing `fixed='right'` prop."));break}}}function Ct(Pn){return Pn.map(function(Tn){var cr=Tn.fixed,yr=(0,Xn.Z)(Tn,Re),Rr=cr;return cr==="left"?Rr="right":cr==="right"&&(Rr="left"),(0,Qe.Z)({fixed:Rr},yr)})}function rn(Pn,Tn){var cr=Pn.prefixCls,yr=Pn.columns,Rr=Pn.children,Dr=Pn.expandable,si=Pn.expandedKeys,oi=Pn.columnTitle,ti=Pn.getRowKey,Ni=Pn.onTriggerExpand,pi=Pn.expandIcon,Di=Pn.rowExpandable,vo=Pn.expandIconColumnIndex,ho=Pn.direction,hi=Pn.expandRowByClick,Go=Pn.columnWidth,ro=Pn.fixed,sa=Pn.scrollWidth,qo=we.useMemo(function(){return yr||et(Rr)},[yr,Rr]),na=we.useMemo(function(){if(Dr){var Wa,fa=qo.slice();if(!fa.includes(Ge)){var Wo=vo||0;Wo>=0&&fa.splice(Wo,0,Ge)}var la=fa.indexOf(Ge);fa=fa.filter(function(ca,dt){return ca!==Ge||dt===la});var Ha=qo[la],Po;(ro==="left"||ro)&&!vo?Po="left":(ro==="right"||ro)&&vo===qo.length?Po="right":Po=Ha?Ha.fixed:null;var Es=(Wa={},(0,$e.Z)(Wa,Io,{className:"".concat(cr,"-expand-icon-col"),columnType:"EXPAND_COLUMN"}),(0,$e.Z)(Wa,"title",oi),(0,$e.Z)(Wa,"fixed",Po),(0,$e.Z)(Wa,"className","".concat(cr,"-row-expand-icon-cell")),(0,$e.Z)(Wa,"width",Go),(0,$e.Z)(Wa,"render",function(dt,Ot,zt){var $t=ti(Ot,zt),pn=si.has($t),mn=Di?Di(Ot):!0,In=pi({prefixCls:cr,expanded:pn,expandable:mn,record:Ot,onExpand:Ni});return hi?we.createElement("span",{onClick:function(qn){return qn.stopPropagation()}},In):In}),Wa);return fa.map(function(ca){return ca===Ge?Es:ca})}return qo.filter(function(ca){return ca!==Ge})},[Dr,qo,ti,si,pi,ho]),$a=we.useMemo(function(){var Wa=na;return Tn&&(Wa=Tn(Wa)),Wa.length||(Wa=[{render:function(){return null}}]),Wa},[Tn,na,ho]),cs=we.useMemo(function(){return ho==="rtl"?Ct(ft($a)):ft($a)},[$a,ho,sa]),ya=De(cs,sa),Ia=(0,Ue.Z)(ya,2),gs=Ia[0],ga=Ia[1];return[$a,gs,ga]}var nn=rn;function Gn(Pn){var Tn,cr=Pn.prefixCls,yr=Pn.record,Rr=Pn.onExpand,Dr=Pn.expanded,si=Pn.expandable,oi="".concat(cr,"-row-expand-icon");if(!si)return we.createElement("span",{className:lt()(oi,"".concat(cr,"-row-spaced"))});var ti=function(pi){Rr(yr,pi),pi.stopPropagation()};return we.createElement("span",{className:lt()(oi,(Tn={},(0,$e.Z)(Tn,"".concat(cr,"-row-expanded"),Dr),(0,$e.Z)(Tn,"".concat(cr,"-row-collapsed"),!Dr),Tn)),onClick:ti})}function Sn(Pn,Tn,cr){var yr=[];function Rr(Dr){(Dr||[]).forEach(function(si,oi){yr.push(Tn(si,oi)),Rr(si[cr])})}return Rr(Pn),yr}function cn(Pn,Tn,cr){var yr=bo(Pn),Rr=yr.expandIcon,Dr=yr.expandedRowKeys,si=yr.defaultExpandedRowKeys,oi=yr.defaultExpandAllRows,ti=yr.expandedRowRender,Ni=yr.onExpand,pi=yr.onExpandedRowsChange,Di=yr.childrenColumnName,vo=Rr||Gn,ho=Di||"children",hi=we.useMemo(function(){return ti?"row":Pn.expandable&&Pn.internalHooks===tt&&Pn.expandable.__PARENT_RENDER_ICON__||Tn.some(function(cs){return cs&&(0,Ve.Z)(cs)==="object"&&cs[ho]})?"nest":!1},[!!ti,Tn]),Go=we.useState(function(){return si||(oi?Sn(Tn,cr,ho):[])}),ro=(0,Ue.Z)(Go,2),sa=ro[0],qo=ro[1],na=we.useMemo(function(){return new Set(Dr||sa||[])},[Dr,sa]),$a=we.useCallback(function(cs){var ya=cr(cs,Tn.indexOf(cs)),Ia,gs=na.has(ya);gs?(na.delete(ya),Ia=(0,Jr.Z)(na)):Ia=[].concat((0,Jr.Z)(na),[ya]),qo(Ia),Ni&&Ni(!gs,cs),pi&&pi(Ia)},[cr,na,Tn,Ni,pi]);return[yr,hi,na,vo,ho,$a]}function Yn(Pn,Tn,cr,yr){var Rr=Pn.map(function(Dr,si){return an(si,si,Pn,Tn,cr,yr==null?void 0:yr[si])});return(0,At.Z)(function(){return Rr},[Rr],function(Dr,si){return!(0,Be.Z)(Dr,si)})}function ir(Pn){var Tn=(0,we.useRef)(Pn),cr=(0,we.useState)({}),yr=(0,Ue.Z)(cr,2),Rr=yr[1],Dr=(0,we.useRef)(null),si=(0,we.useRef)([]);function oi(ti){si.current.push(ti);var Ni=Promise.resolve();Dr.current=Ni,Ni.then(function(){if(Dr.current===Ni){var pi=si.current,Di=Tn.current;si.current=[],pi.forEach(function(vo){Tn.current=vo(Tn.current)}),Dr.current=null,Di!==Tn.current&&Rr({})}})}return(0,we.useEffect)(function(){return function(){Dr.current=null}},[]),[Tn.current,oi]}function fr(Pn){var Tn=(0,we.useRef)(Pn||null),cr=(0,we.useRef)();function yr(){window.clearTimeout(cr.current)}function Rr(si){Tn.current=si,yr(),cr.current=window.setTimeout(function(){Tn.current=null,cr.current=void 0},100)}function Dr(){return Tn.current}return(0,we.useEffect)(function(){return yr},[]),[Rr,Dr]}function On(){var Pn=we.useState(-1),Tn=(0,Ue.Z)(Pn,2),cr=Tn[0],yr=Tn[1],Rr=we.useState(-1),Dr=(0,Ue.Z)(Rr,2),si=Dr[0],oi=Dr[1],ti=we.useCallback(function(Ni,pi){yr(Ni),oi(pi)},[]);return[cr,si,ti]}var dn=Oe(87746),Bn=(0,dn.Z)()?window:null;function tr(Pn,Tn){var cr=(0,Ve.Z)(Pn)==="object"?Pn:{},yr=cr.offsetHeader,Rr=yr===void 0?0:yr,Dr=cr.offsetSummary,si=Dr===void 0?0:Dr,oi=cr.offsetScroll,ti=oi===void 0?0:oi,Ni=cr.getContainer,pi=Ni===void 0?function(){return Bn}:Ni,Di=pi()||Bn;return we.useMemo(function(){var vo=!!Pn;return{isSticky:vo,stickyClassName:vo?"".concat(Tn,"-sticky-holder"):"",offsetHeader:Rr,offsetSummary:si,offsetScroll:ti,container:Di}},[ti,Rr,si,Tn,Di])}function hr(Pn,Tn,cr){var yr=(0,we.useMemo)(function(){for(var Rr=[],Dr=[],si=0,oi=0,ti=0;ti<Tn;ti+=1)if(cr==="rtl"){Dr[ti]=oi,oi+=Pn[ti]||0;var Ni=Tn-ti-1;Rr[Ni]=si,si+=Pn[Ni]||0}else{Rr[ti]=si,si+=Pn[ti]||0;var pi=Tn-ti-1;Dr[pi]=oi,oi+=Pn[pi]||0}return{left:Rr,right:Dr}},[Pn,Tn,cr]);return yr}var pr=hr;function Mr(Pn){var Tn=Pn.className,cr=Pn.children;return we.createElement("div",{className:Tn},cr)}var gr=Mr,Nr=Oe(8178),Kr=Oe(21783),Hn=function(Tn,cr){var yr,Rr,Dr=Tn.scrollBodyRef,si=Tn.onScroll,oi=Tn.offsetScroll,ti=Tn.container,Ni=Ie(Se,"prefixCls"),pi=((yr=Dr.current)===null||yr===void 0?void 0:yr.scrollWidth)||0,Di=((Rr=Dr.current)===null||Rr===void 0?void 0:Rr.clientWidth)||0,vo=pi&&Di*(Di/pi),ho=we.useRef(),hi=ir({scrollLeft:0,isHiddenScrollBar:!1}),Go=(0,Ue.Z)(hi,2),ro=Go[0],sa=Go[1],qo=we.useRef({delta:0,x:0}),na=we.useState(!1),$a=(0,Ue.Z)(na,2),cs=$a[0],ya=$a[1],Ia=function(){ya(!1)},gs=function(la){la.persist(),qo.current.delta=la.pageX-ro.scrollLeft,qo.current.x=0,ya(!0),la.preventDefault()},ga=function(la){var Ha,Po=la||((Ha=window)===null||Ha===void 0?void 0:Ha.event),Es=Po.buttons;if(!cs||Es===0){cs&&ya(!1);return}var ca=qo.current.x+la.pageX-qo.current.x-qo.current.delta;ca<=0&&(ca=0),ca+vo>=Di&&(ca=Di-vo),si({scrollLeft:ca/Di*(pi+2)}),qo.current.x=la.pageX},Wa=function(){if(Dr.current){var la=(0,Kr.os)(Dr.current).top,Ha=la+Dr.current.offsetHeight,Po=ti===window?document.documentElement.scrollTop+window.innerHeight:(0,Kr.os)(ti).top+ti.clientHeight;Ha-(0,Pt.Z)()<=Po||la>=Po-oi?sa(function(Es){return(0,Qe.Z)((0,Qe.Z)({},Es),{},{isHiddenScrollBar:!0})}):sa(function(Es){return(0,Qe.Z)((0,Qe.Z)({},Es),{},{isHiddenScrollBar:!1})})}},fa=function(la){sa(function(Ha){return(0,Qe.Z)((0,Qe.Z)({},Ha),{},{scrollLeft:la/pi*Di||0})})};return we.useImperativeHandle(cr,function(){return{setScrollLeft:fa}}),we.useEffect(function(){var Wo=(0,Nr.Z)(document.body,"mouseup",Ia,!1),la=(0,Nr.Z)(document.body,"mousemove",ga,!1);return Wa(),function(){Wo.remove(),la.remove()}},[vo,cs]),we.useEffect(function(){var Wo=(0,Nr.Z)(ti,"scroll",Wa,!1),la=(0,Nr.Z)(window,"resize",Wa,!1);return function(){Wo.remove(),la.remove()}},[ti]),we.useEffect(function(){ro.isHiddenScrollBar||sa(function(Wo){var la=Dr.current;return la?(0,Qe.Z)((0,Qe.Z)({},Wo),{},{scrollLeft:la.scrollLeft/la.scrollWidth*la.clientWidth}):Wo})},[ro.isHiddenScrollBar]),pi<=Di||!vo||ro.isHiddenScrollBar?null:we.createElement("div",{style:{height:(0,Pt.Z)(),width:Di,bottom:oi},className:"".concat(Ni,"-sticky-scroll")},we.createElement("div",{onMouseDown:gs,ref:ho,className:lt()("".concat(Ni,"-sticky-scroll-bar"),(0,$e.Z)({},"".concat(Ni,"-sticky-scroll-bar-active"),cs)),style:{width:"".concat(vo,"px"),transform:"translate3d(".concat(ro.scrollLeft,"px, 0, 0)")}}))},br=we.forwardRef(Hn);function ui(Pn){return null}var gi=ui;function Zi(Pn){return null}var nr=Zi,xi="rc-table",Vi=[],Gi={};function Ao(){return"No Data"}function io(Pn){var Tn,cr=(0,Qe.Z)({rowKey:"key",prefixCls:xi,emptyText:Ao},Pn),yr=cr.prefixCls,Rr=cr.className,Dr=cr.rowClassName,si=cr.style,oi=cr.data,ti=cr.rowKey,Ni=cr.scroll,pi=cr.tableLayout,Di=cr.direction,vo=cr.title,ho=cr.footer,hi=cr.summary,Go=cr.caption,ro=cr.id,sa=cr.showHeader,qo=cr.components,na=cr.emptyText,$a=cr.onRow,cs=cr.onHeaderRow,ya=cr.internalHooks,Ia=cr.transformColumns,gs=cr.internalRefs,ga=cr.tailor,Wa=cr.sticky,fa=oi||Vi,Wo=!!fa.length,la=ya===tt,Ha=we.useCallback(function(eu,Ju){return(0,Et.Z)(qo,eu)||Ju},[qo]),Po=we.useMemo(function(){return typeof ti=="function"?ti:function(eu){var Ju=eu&&eu[ti];return Ju}},[ti]),Es=Ha(["body"]),ca=On(),dt=(0,Ue.Z)(ca,3),Ot=dt[0],zt=dt[1],$t=dt[2],pn=cn(cr,fa,Po),mn=(0,Ue.Z)(pn,6),In=mn[0],xn=mn[1],qn=mn[2],Wn=mn[3],ar=mn[4],Ir=mn[5],Er=Ni==null?void 0:Ni.x,Yr=we.useState(0),jr=(0,Ue.Z)(Yr,2),kr=jr[0],zr=jr[1],_r=nn((0,Qe.Z)((0,Qe.Z)((0,Qe.Z)({},cr),In),{},{expandable:!!In.expandedRowRender,columnTitle:In.columnTitle,expandedKeys:qn,getRowKey:Po,onTriggerExpand:Ir,expandIcon:Wn,expandIconColumnIndex:In.expandIconColumnIndex,direction:Di,scrollWidth:la&&ga&&typeof Er=="number"?Er:null}),la?Ia:null),Vr=(0,Ue.Z)(_r,3),Ti=Vr[0],to=Vr[1],pa=Vr[2],lo=pa!=null?pa:Er,ha=we.useMemo(function(){return{columns:Ti,flattenColumns:to}},[Ti,to]),Zo=we.useRef(),Oo=we.useRef(),Ri=we.useRef(),co=we.useRef(),Oa=we.useRef(),ni=we.useState(!1),ji=(0,Ue.Z)(ni,2),mo=ji[0],yo=ji[1],ra=we.useState(!1),Eo=(0,Ue.Z)(ra,2),Uo=Eo[0],Va=Eo[1],Ho=ir(new Map),$r=(0,Ue.Z)(Ho,2),qi=$r[0],qa=$r[1],Xl=Dt(to),nu=Xl.map(function(eu){return qi.get(eu)}),ul=we.useMemo(function(){return nu},[nu.join("_")]),Ls=pr(ul,to.length,Di),ps=Ni&&Xt(Ni.y),hs=Ni&&Xt(lo)||!!In.fixed,md=hs&&to.some(function(eu){var Ju=eu.fixed;return Ju}),Ef=we.useRef(),Wl=tr(Wa,yr),zu=Wl.isSticky,Xf=Wl.offsetHeader,yd=Wl.offsetSummary,Zl=Wl.offsetScroll,Cu=Wl.stickyClassName,Sc=Wl.container,Ts=we.useMemo(function(){return hi==null?void 0:hi(fa)},[hi,fa]),wl=(ps||zu)&&we.isValidElement(Ts)&&Ts.type===qt&&Ts.props.fixed,Ou,Kl,kc;ps&&(Kl={overflowY:"scroll",maxHeight:Ni.y}),hs&&(Ou={overflowX:"auto"},ps||(Kl={overflowY:"hidden"}),kc={width:lo===!0?"auto":lo,minWidth:"100%"});var mh=we.useCallback(function(eu,Ju){(0,ut.Z)(Zo.current)&&qa(function(xh){if(xh.get(eu)!==Ju){var ad=new Map(xh);return ad.set(eu,Ju),ad}return xh})},[]),Lr=fr(null),Af=(0,Ue.Z)(Lr,2),Qf=Af[0],hm=Af[1];function e0(eu,Ju){Ju&&(typeof Ju=="function"?Ju(eu):Ju.scrollLeft!==eu&&(Ju.scrollLeft=eu,Ju.scrollLeft!==eu&&setTimeout(function(){Ju.scrollLeft=eu},0)))}var lp=(0,Ne.Z)(function(eu){var Ju=eu.currentTarget,xh=eu.scrollLeft,ad=Di==="rtl",zd=typeof xh=="number"?xh:Ju.scrollLeft,i0=Ju||Gi;if(!hm()||hm()===i0){var cp;Qf(i0),e0(zd,Oo.current),e0(zd,Ri.current),e0(zd,Oa.current),e0(zd,(cp=Ef.current)===null||cp===void 0?void 0:cp.setScrollLeft)}var z0=Ju||Oo.current;if(z0){var Kc=z0.scrollWidth,Sf=z0.clientWidth;if(Kc===Sf){yo(!1),Va(!1);return}ad?(yo(-zd<Kc-Sf),Va(-zd>0)):(yo(zd>0),Va(zd<Kc-Sf))}}),mg=function(){hs&&Ri.current?lp({currentTarget:Ri.current}):(yo(!1),Va(!1))},dm=function(Ju){var xh=Ju.width;xh!==kr&&(mg(),zr(Zo.current?Zo.current.offsetWidth:xh))},yh=we.useRef(!1);we.useEffect(function(){yh.current&&mg()},[hs,oi,Ti.length]),we.useEffect(function(){yh.current=!0},[]);var Jf=we.useState(0),O0=(0,Ue.Z)(Jf,2),t0=O0[0],N0=O0[1],ty=we.useState(!0),B0=(0,Ue.Z)(ty,2),R0=B0[0],ah=B0[1];we.useEffect(function(){(!ga||!la)&&(Ri.current instanceof Element?N0((0,Pt.o)(Ri.current).width):N0((0,Pt.o)(co.current).width)),ah((0,ot.G)("position","sticky"))},[]),we.useEffect(function(){la&&gs&&(gs.body.current=Ri.current)});var Mh=we.useCallback(function(eu){return we.createElement(we.Fragment,null,we.createElement(Qi,eu),wl==="top"&&we.createElement(gn,eu,Ts))},[wl,Ts]),Mp=we.useCallback(function(eu){return we.createElement(gn,eu,Ts)},[Ts]),_d=Ha(["table"],"table"),up=we.useMemo(function(){return pi||(md?lo==="max-content"?"auto":"fixed":ps||zu||to.some(function(eu){var Ju=eu.ellipsis;return Ju})?"fixed":"auto")},[ps,md,to,pi,zu]),Lp,Tp={colWidths:ul,columCount:to.length,stickyOffsets:Ls,onHeaderRow:cs,fixHeader:ps,scroll:Ni},Vu=we.useMemo(function(){return Wo?null:typeof na=="function"?na():na},[Wo,na]),k0=we.createElement(Ai,{data:fa,measureColumnWidth:ps||hs||zu}),n0=we.createElement(ao,{colWidths:to.map(function(eu){var Ju=eu.width;return Ju}),columns:to}),xd=Go!=null?we.createElement("caption",{className:"".concat(yr,"-caption")},Go):void 0,r0=(0,Ht.Z)(cr,{data:!0}),F0=(0,Ht.Z)(cr,{aria:!0});if(ps||zu){var Cv;typeof Es=="function"?(Cv=Es(fa,{scrollbarSize:t0,ref:Ri,onScroll:lp}),Tp.colWidths=to.map(function(eu,Ju){var xh=eu.width,ad=Ju===to.length-1?xh-t0:xh;return typeof ad=="number"&&!Number.isNaN(ad)?ad:0})):Cv=we.createElement("div",{style:(0,Qe.Z)((0,Qe.Z)({},Ou),Kl),onScroll:lp,ref:Ri,className:lt()("".concat(yr,"-body"))},we.createElement(_d,(0,Ce.Z)({style:(0,Qe.Z)((0,Qe.Z)({},kc),{},{tableLayout:up})},F0),xd,n0,k0,!wl&&Ts&&we.createElement(gn,{stickyOffsets:Ls,flattenColumns:to,columns:Ti},Ts)));var Hg=(0,Qe.Z)((0,Qe.Z)((0,Qe.Z)({noData:!fa.length,maxContentScroll:hs&&lo==="max-content"},Tp),ha),{},{direction:Di,stickyClassName:Cu,onScroll:lp});Lp=we.createElement(we.Fragment,null,sa!==!1&&we.createElement(Yo,(0,Ce.Z)({},Hg,{stickyTopOffset:Xf,className:"".concat(yr,"-header"),ref:Oo}),Mh),Cv,wl&&wl!=="top"&&we.createElement(Yo,(0,Ce.Z)({},Hg,{stickyBottomOffset:yd,className:"".concat(yr,"-summary"),ref:Oa}),Mp),zu&&we.createElement(br,{ref:Ef,offsetScroll:Zl,scrollBodyRef:Ri,onScroll:lp,container:Sc}))}else Lp=we.createElement("div",{style:(0,Qe.Z)((0,Qe.Z)({},Ou),Kl),className:lt()("".concat(yr,"-content")),onScroll:lp,ref:Ri},we.createElement(_d,(0,Ce.Z)({style:(0,Qe.Z)((0,Qe.Z)({},kc),{},{tableLayout:up})},F0),xd,n0,sa!==!1&&we.createElement(Qi,(0,Ce.Z)({},Tp,ha)),k0,Ts&&we.createElement(gn,{stickyOffsets:Ls,flattenColumns:to,columns:Ti},Ts)));var Fh=we.createElement("div",(0,Ce.Z)({className:lt()(yr,Rr,(Tn={},(0,$e.Z)(Tn,"".concat(yr,"-rtl"),Di==="rtl"),(0,$e.Z)(Tn,"".concat(yr,"-ping-left"),mo),(0,$e.Z)(Tn,"".concat(yr,"-ping-right"),Uo),(0,$e.Z)(Tn,"".concat(yr,"-layout-fixed"),pi==="fixed"),(0,$e.Z)(Tn,"".concat(yr,"-fixed-header"),ps),(0,$e.Z)(Tn,"".concat(yr,"-fixed-column"),md),(0,$e.Z)(Tn,"".concat(yr,"-scroll-horizontal"),hs),(0,$e.Z)(Tn,"".concat(yr,"-has-fix-left"),to[0]&&to[0].fixed),(0,$e.Z)(Tn,"".concat(yr,"-has-fix-right"),to[to.length-1]&&to[to.length-1].fixed==="right"),Tn)),style:si,id:ro,ref:Zo},r0),vo&&we.createElement(gr,{className:"".concat(yr,"-title")},vo(fa)),we.createElement("div",{ref:co,className:"".concat(yr,"-container")},Lp),ho&&we.createElement(gr,{className:"".concat(yr,"-footer")},ho(fa)));hs&&(Fh=we.createElement(wt.Z,{onResize:dm},Fh));var _0=Yn(to,Ls,Di,Ti),rc=we.useMemo(function(){return{scrollX:lo,prefixCls:yr,getComponent:Ha,scrollbarSize:t0,direction:Di,fixedInfoList:_0,isSticky:zu,supportSticky:R0,componentWidth:kr,fixHeader:ps,fixColumn:md,horizonScroll:hs,tableLayout:up,rowClassName:Dr,expandedRowClassName:In.expandedRowClassName,expandIcon:Wn,expandableType:xn,expandRowByClick:In.expandRowByClick,expandedRowRender:In.expandedRowRender,onTriggerExpand:Ir,expandIconColumnIndex:In.expandIconColumnIndex,indentSize:In.indentSize,allColumnsFixedLeft:to.every(function(eu){return eu.fixed==="left"}),emptyNode:Vu,columns:Ti,flattenColumns:to,onColumnResize:mh,hoverStartRow:Ot,hoverEndRow:zt,onHover:$t,rowExpandable:In.rowExpandable,onRow:$a,getRowKey:Po,expandedKeys:qn,childrenColumnName:ar}},[lo,yr,Ha,t0,Di,_0,zu,R0,kr,ps,md,hs,up,Dr,In.expandedRowClassName,Wn,xn,In.expandRowByClick,In.expandedRowRender,Ir,In.expandIconColumnIndex,In.indentSize,Vu,Ti,to,mh,Ot,zt,$t,In.rowExpandable,$a,Po,qn,ar]);return we.createElement(Se.Provider,{value:rc},Fh)}function Do(Pn){return ve(io,Pn)}var Bo=Do();Bo.EXPAND_COLUMN=Ge,Bo.INTERNAL_HOOKS=tt,Bo.Column=gi,Bo.ColumnGroup=nr,Bo.Summary=_t;var Ui=Bo,Xo=Oe(70318),Hr=ke(null),wa=ke(null);function Zr(Pn,Tn,cr){var yr=Tn||1;return cr[Pn+yr]-(cr[Pn]||0)}function Ca(Pn){var Tn=Pn.rowInfo,cr=Pn.column,yr=Pn.colIndex,Rr=Pn.indent,Dr=Pn.index,si=Pn.renderIndex,oi=Pn.record,ti=Pn.style,Ni=Pn.className,pi=Pn.inverse,Di=Pn.getHeight,vo=cr.render,ho=cr.dataIndex,hi=cr.className,Go=cr.width,ro=Ie(wa,["columnsOffset"]),sa=ro.columnsOffset,qo=$n(Tn,cr,yr,Rr,Dr),na=qo.key,$a=qo.fixedInfo,cs=qo.appendCellNode,ya=qo.additionalCellProps,Ia=ya.style,gs=ya.colSpan,ga=gs===void 0?1:gs,Wa=ya.rowSpan,fa=Wa===void 0?1:Wa,Wo=yr-1,la=Zr(Wo,ga,sa),Ha=ga>1?Go-la:0,Po=(0,Qe.Z)((0,Qe.Z)((0,Qe.Z)({},Ia),ti),{},{flex:"0 0 ".concat(la,"px"),width:"".concat(la,"px"),marginRight:Ha,pointerEvents:"auto"}),Es=we.useMemo(function(){return pi?fa<=1:ga===0||fa===0||fa>1},[fa,ga,pi]);Es?Po.visibility="hidden":pi&&(Po.height=Di==null?void 0:Di(fa));var ca=Es?function(){return null}:vo,dt={};return(fa===0||ga===0)&&(dt.rowSpan=1,dt.colSpan=1),we.createElement(er,(0,Ce.Z)({className:lt()(hi,Ni),ellipsis:cr.ellipsis,align:cr.align,scope:cr.rowScope,component:"div",prefixCls:Tn.prefixCls,key:na,record:oi,index:Dr,renderIndex:si,dataIndex:ho,render:ca,shouldCellUpdate:cr.shouldCellUpdate},$a,{appendNode:cs,additionalProps:(0,Qe.Z)((0,Qe.Z)({},ya),{},{style:Po},dt)}))}var ss=Ca,oa=["data","index","className","rowKey","style","extra","getHeight"],Os=we.forwardRef(function(Pn,Tn){var cr=Pn.data,yr=Pn.index,Rr=Pn.className,Dr=Pn.rowKey,si=Pn.style,oi=Pn.extra,ti=Pn.getHeight,Ni=(0,Xn.Z)(Pn,oa),pi=cr.record,Di=cr.indent,vo=cr.index,ho=Ie(Se,["prefixCls","flattenColumns","fixColumn","componentWidth","scrollX"]),hi=ho.scrollX,Go=ho.flattenColumns,ro=ho.prefixCls,sa=ho.fixColumn,qo=ho.componentWidth,na=An(pi,Dr,yr,Di),$a=na.rowSupportExpand,cs=na.expanded,ya=na.rowProps,Ia=na.expandedRowRender,gs=na.expandedRowClassName,ga;if($a&&cs){var Wa=Ia(pi,yr,Di+1,cs),fa=gs==null?void 0:gs(pi,yr,Di),Wo={};sa&&(Wo={style:(0,$e.Z)({},"--virtual-width","".concat(qo,"px"))});var la="".concat(ro,"-expanded-row-cell");ga=we.createElement("div",{className:lt()("".concat(ro,"-expanded-row"),"".concat(ro,"-expanded-row-level-").concat(Di+1),fa)},we.createElement(er,{component:"div",prefixCls:ro,className:lt()(la,(0,$e.Z)({},"".concat(la,"-fixed"),sa)),additionalProps:Wo},Wa))}var Ha=(0,Qe.Z)((0,Qe.Z)({},si),{},{width:hi});oi&&(Ha.position="absolute",Ha.pointerEvents="none");var Po=we.createElement("div",(0,Ce.Z)({},ya,Ni,{ref:$a?null:Tn,className:lt()(Rr,"".concat(ro,"-row"),ya==null?void 0:ya.className,(0,$e.Z)({},"".concat(ro,"-row-extra"),oi)),style:(0,Qe.Z)((0,Qe.Z)({},Ha),ya==null?void 0:ya.style)}),Go.map(function(Es,ca){return we.createElement(ss,{key:ca,rowInfo:na,column:Es,colIndex:ca,indent:Di,index:yr,renderIndex:vo,record:pi,inverse:oi,getHeight:ti})}));return $a?we.createElement("div",{ref:Tn},Po,ga):Po}),rs=xe(Os),po=rs,zo=we.forwardRef(function(Pn,Tn){var cr=Pn.data,yr=Pn.onScroll,Rr=Ie(Se,["flattenColumns","onColumnResize","getRowKey","prefixCls","expandedKeys","childrenColumnName","emptyNode","scrollX"]),Dr=Rr.flattenColumns,si=Rr.onColumnResize,oi=Rr.getRowKey,ti=Rr.expandedKeys,Ni=Rr.prefixCls,pi=Rr.childrenColumnName,Di=Rr.emptyNode,vo=Rr.scrollX,ho=Ie(Hr),hi=ho.scrollY,Go=ho.listItemHeight,ro=we.useRef(),sa=hn(cr,pi,ti,oi),qo=we.useMemo(function(){var ga=0;return Dr.map(function(Wa){var fa=Wa.width,Wo=Wa.key;return ga+=fa,[Wo,fa,ga]})},[Dr]),na=we.useMemo(function(){return qo.map(function(ga){return ga[2]})},[qo]);we.useEffect(function(){qo.forEach(function(ga){var Wa=(0,Ue.Z)(ga,2),fa=Wa[0],Wo=Wa[1];si(fa,Wo)})},[qo]),we.useImperativeHandle(Tn,function(){var ga={};return Object.defineProperty(ga,"scrollLeft",{get:function(){var fa;return((fa=ro.current)===null||fa===void 0?void 0:fa.getScrollInfo().x)||0},set:function(fa){var Wo;(Wo=ro.current)===null||Wo===void 0||Wo.scrollTo({left:fa})}}),ga});var $a=function(Wa,fa){var Wo,la=(Wo=sa[fa])===null||Wo===void 0?void 0:Wo.record,Ha=Wa.onCell;if(Ha){var Po,Es=Ha(la,fa);return(Po=Es==null?void 0:Es.rowSpan)!==null&&Po!==void 0?Po:1}return 1},cs=function(Wa){var fa=Wa.start,Wo=Wa.end,la=Wa.getSize,Ha=Wa.offsetY;if(Wo<0)return null;for(var Po=Dr.filter(function(Er){return $a(Er,fa)===0}),Es=fa,ca=function(Yr){if(Po=Po.filter(function(jr){return $a(jr,Yr)===0}),!Po.length)return Es=Yr,"break"},dt=fa;dt>=0;dt-=1){var Ot=ca(dt);if(Ot==="break")break}for(var zt=Dr.filter(function(Er){return $a(Er,Wo)!==1}),$t=Wo,pn=function(Yr){if(zt=zt.filter(function(jr){return $a(jr,Yr)!==1}),!zt.length)return $t=Math.max(Yr-1,Wo),"break"},mn=Wo;mn<sa.length;mn+=1){var In=pn(mn);if(In==="break")break}for(var xn=[],qn=function(Yr){var jr=sa[Yr];if(!jr)return"continue";Dr.some(function(kr){return $a(kr,Yr)>1})&&xn.push(Yr)},Wn=Es;Wn<=$t;Wn+=1)var ar=qn(Wn);var Ir=xn.map(function(Er){var Yr=sa[Er],jr=oi(Yr.record,Er),kr=function(Vr){var Ti=Er+Vr-1,to=oi(sa[Ti].record,Ti),pa=la(jr,to);return pa.bottom-pa.top},zr=la(jr);return we.createElement(po,{key:Er,data:Yr,rowKey:jr,index:Er,style:{top:-Ha+zr.top},extra:!0,getHeight:kr})});return Ir},ya=we.useMemo(function(){return{columnsOffset:na}},[na]),Ia="".concat(Ni,"-tbody"),gs;return sa.length?gs=we.createElement(Xo.Z,{fullHeight:!1,ref:ro,className:lt()(Ia,"".concat(Ia,"-virtual")),height:hi,itemHeight:Go||24,data:sa,itemKey:function(Wa){return oi(Wa.record)},scrollWidth:vo,onVirtualScroll:function(Wa){var fa=Wa.x;yr({scrollLeft:fa})},extraRender:cs},function(ga,Wa,fa){var Wo=oi(ga.record,Wa);return we.createElement(po,(0,Ce.Z)({data:ga,rowKey:Wo,index:Wa},fa))}):gs=we.createElement("div",{className:lt()("".concat(Ni,"-placeholder"))},we.createElement(er,{component:"div",prefixCls:Ni},Di)),we.createElement(wa.Provider,{value:ya},gs)}),za=xe(zo),Ka=za,Ji=function(Tn,cr){var yr=cr.ref,Rr=cr.onScroll;return we.createElement(Ka,{ref:yr,data:Tn,onScroll:Rr})},yn=100;function ja(Pn){var Tn=Pn.columns,cr=Pn.scroll,yr=Pn.prefixCls,Rr=yr===void 0?xi:yr,Dr=Pn.className,si=Pn.listItemHeight,oi=cr||{},ti=oi.x,Ni=oi.y;typeof ti!="number"&&(ti=((Tn||[]).length+1)*yn),typeof Ni!="number"&&(Ni=500);var pi=we.useMemo(function(){return{scrollY:Ni,listItemHeight:si}},[Ni,si]);return we.createElement(Hr.Provider,{value:pi},we.createElement(Ui,(0,Ce.Z)({},Pn,{className:lt()(Dr,"".concat(Rr,"-virtual")),scroll:(0,Qe.Z)((0,Qe.Z)({},cr),{},{x:ti}),components:{body:Ji},columns:Tn,internalHooks:tt,tailor:!0})))}function is(Pn){return ve(ja,Pn)}var _a=is(),Us=null;function ma(Pn){return null}var aa=ma;function ys(Pn){return null}var Fs=ys,es=Oe(64002),ml=Oe(68031),ta=Oe(36355),Qo=Oe(93891),Ba=Oe(19716),Ii=Oe(8628),Gs=Oe(31724),sl=Oe(25700),ql=Oe(71418),Ki=Oe(88088);function xs(Pn){return function(cr){let{prefixCls:yr,onExpand:Rr,record:Dr,expanded:si,expandable:oi}=cr;const ti=`${yr}-row-expand-icon`;return we.createElement("button",{type:"button",onClick:Ni=>{Rr(Dr,Ni),Ni.stopPropagation()},className:lt()(ti,{[`${ti}-spaced`]:!oi,[`${ti}-expanded`]:oi&&si,[`${ti}-collapsed`]:oi&&!si}),"aria-label":si?Pn.collapse:Pn.expand,"aria-expanded":si})}}var zs=xs;function yl(Pn,Tn){return"key"in Pn&&Pn.key!==void 0&&Pn.key!==null?Pn.key:Pn.dataIndex?Array.isArray(Pn.dataIndex)?Pn.dataIndex.join("."):Pn.dataIndex:Tn}function tl(Pn,Tn){return Tn?`${Tn}-${Pn}`:`${Pn}`}function Ms(Pn,Tn){return typeof Pn=="function"?Pn(Tn):Pn}function Au(Pn,Tn){const cr=Ms(Pn,Tn);return Object.prototype.toString.call(cr)==="[object Object]"?"":cr}var Ur={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z"}}]},name:"filter",theme:"filled"},Su=Ur,gh=Oe(88853),Wc=function(Tn,cr){return we.createElement(gh.Z,(0,Ce.Z)({},Tn,{ref:cr,icon:Su}))},Ns=we.forwardRef(Wc),Sl=Ns,lu=Oe(56762);function gl(Pn){const Tn=we.useRef(Pn),cr=(0,lu.Z)();return[()=>Tn.current,yr=>{Tn.current=yr,cr()}]}var Hs=Oe(3113),Al=Oe(24905),Wu=Oe(38854),ls=Oe(64165),ns=Oe(20834),Vs=Oe(40875),jo=Oe(5112),Ru=Oe(86914),Uu=Oe(21970),Oc=Oe(92832);function ph(Pn){let{value:Tn,onChange:cr,filterSearch:yr,tablePrefixCls:Rr,locale:Dr}=Pn;return yr?we.createElement("div",{className:`${Rr}-filter-dropdown-search`},we.createElement(Oc.default,{prefix:we.createElement(Uu.Z,null),placeholder:Dr.filterSearchPlaceholder,onChange:cr,value:Tn,htmlSize:1,className:`${Rr}-filter-dropdown-search-input`})):null}var Kh=ph,So=Oe(85108);const uu=Pn=>{const{keyCode:Tn}=Pn;Tn===So.Z.ENTER&&Pn.stopPropagation()};var Rh=we.forwardRef((Pn,Tn)=>we.createElement("div",{className:Pn.className,onClick:cr=>cr.stopPropagation(),onKeyDown:uu,ref:Tn},Pn.children));function Zh(Pn){let Tn=[];return(Pn||[]).forEach(cr=>{let{value:yr,children:Rr}=cr;Tn.push(yr),Rr&&(Tn=[].concat((0,Jr.Z)(Tn),(0,Jr.Z)(Zh(Rr))))}),Tn}function Ac(Pn){return Pn.some(Tn=>{let{children:cr}=Tn;return cr})}function us(Pn,Tn){return typeof Tn=="string"||typeof Tn=="number"?Tn==null?void 0:Tn.toString().toLowerCase().includes(Pn.trim().toLowerCase()):!1}function th(Pn){let{filters:Tn,prefixCls:cr,filteredKeys:yr,filterMultiple:Rr,searchValue:Dr,filterSearch:si}=Pn;return Tn.map((oi,ti)=>{const Ni=String(oi.value);if(oi.children)return{key:Ni||ti,label:oi.text,popupClassName:`${cr}-dropdown-submenu`,children:th({filters:oi.children,prefixCls:cr,filteredKeys:yr,filterMultiple:Rr,searchValue:Dr,filterSearch:si})};const pi=Rr?Al.default:jo.ZP,Di={key:oi.value!==void 0?Ni:ti,label:we.createElement(we.Fragment,null,we.createElement(pi,{checked:yr.includes(Ni)}),we.createElement("span",null,oi.text))};return Dr.trim()?typeof si=="function"?si(Dr,oi)?Di:null:us(Dr,oi.text)?Di:null:Di})}function nh(Pn){var Tn,cr;const{tablePrefixCls:yr,prefixCls:Rr,column:Dr,dropdownPrefixCls:si,columnKey:oi,filterMultiple:ti,filterMode:Ni="menu",filterSearch:pi=!1,filterState:Di,triggerFilter:vo,locale:ho,children:hi,getPopupContainer:Go}=Pn,{filterDropdownOpen:ro,onFilterDropdownOpenChange:sa,filterResetToDefaultFilteredValue:qo,defaultFilteredValue:na,filterDropdownVisible:$a,onFilterDropdownVisibleChange:cs}=Dr,[ya,Ia]=we.useState(!1),gs=!!(Di&&(!((Tn=Di.filteredKeys)===null||Tn===void 0)&&Tn.length||Di.forceFiltered)),ga=_r=>{Ia(_r),sa==null||sa(_r),cs==null||cs(_r)},Wa=(cr=ro!=null?ro:$a)!==null&&cr!==void 0?cr:ya,fa=Di==null?void 0:Di.filteredKeys,[Wo,la]=gl(fa||[]),Ha=_r=>{let{selectedKeys:Vr}=_r;la(Vr)},Po=(_r,Vr)=>{let{node:Ti,checked:to}=Vr;Ha(ti?{selectedKeys:_r}:{selectedKeys:to&&Ti.key?[Ti.key]:[]})};we.useEffect(()=>{ya&&Ha({selectedKeys:fa||[]})},[fa]);const[Es,ca]=we.useState([]),dt=_r=>{ca(_r)},[Ot,zt]=we.useState(""),$t=_r=>{const{value:Vr}=_r.target;zt(Vr)};we.useEffect(()=>{ya||zt("")},[ya]);const pn=_r=>{const Vr=_r&&_r.length?_r:null;if(Vr===null&&(!Di||!Di.filteredKeys)||(0,Be.Z)(Vr,Di==null?void 0:Di.filteredKeys,!0))return null;vo({column:Dr,key:oi,filteredKeys:Vr})},mn=()=>{ga(!1),pn(Wo())},In=function(){let{confirm:_r,closeDropdown:Vr}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{confirm:!1,closeDropdown:!1};_r&&pn([]),Vr&&ga(!1),zt(""),la(qo?(na||[]).map(Ti=>String(Ti)):[])},xn=function(){let{closeDropdown:_r}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{closeDropdown:!0};_r&&ga(!1),pn(Wo())},qn=_r=>{_r&&fa!==void 0&&la(fa||[]),ga(_r),!_r&&!Dr.filterDropdown&&mn()},Wn=lt()({[`${si}-menu-without-submenu`]:!Ac(Dr.filters||[])}),ar=_r=>{if(_r.target.checked){const Vr=Zh(Dr==null?void 0:Dr.filters).map(Ti=>String(Ti));la(Vr)}else la([])},Ir=_r=>{let{filters:Vr}=_r;return(Vr||[]).map((Ti,to)=>{const pa=String(Ti.value),lo={title:Ti.text,key:Ti.value!==void 0?pa:to};return Ti.children&&(lo.children=Ir({filters:Ti.children})),lo})},Er=_r=>{var Vr;return Object.assign(Object.assign({},_r),{text:_r.title,value:_r.key,children:((Vr=_r.children)===null||Vr===void 0?void 0:Vr.map(Ti=>Er(Ti)))||[]})};let Yr;if(typeof Dr.filterDropdown=="function")Yr=Dr.filterDropdown({prefixCls:`${si}-custom`,setSelectedKeys:_r=>Ha({selectedKeys:_r}),selectedKeys:Wo(),confirm:xn,clearFilters:In,filters:Dr.filters,visible:Wa,close:()=>{ga(!1)}});else if(Dr.filterDropdown)Yr=Dr.filterDropdown;else{const _r=Wo()||[],Vr=()=>(Dr.filters||[]).length===0?we.createElement(ls.Z,{image:ls.Z.PRESENTED_IMAGE_SIMPLE,description:ho.filterEmptyText,imageStyle:{height:24},style:{margin:0,padding:"16px 0"}}):Ni==="tree"?we.createElement(we.Fragment,null,we.createElement(Kh,{filterSearch:pi,value:Ot,onChange:$t,tablePrefixCls:yr,locale:ho}),we.createElement("div",{className:`${yr}-filter-dropdown-tree`},ti?we.createElement(Al.default,{checked:_r.length===Zh(Dr.filters).length,indeterminate:_r.length>0&&_r.length<Zh(Dr.filters).length,className:`${yr}-filter-dropdown-checkall`,onChange:ar},ho.filterCheckall):null,we.createElement(Ru.default,{checkable:!0,selectable:!1,blockNode:!0,multiple:ti,checkStrictly:!ti,className:`${si}-menu`,onCheck:Po,checkedKeys:_r,selectedKeys:_r,showIcon:!1,treeData:Ir({filters:Dr.filters}),autoExpandParent:!0,defaultExpandAll:!0,filterTreeNode:Ot.trim()?to=>typeof pi=="function"?pi(Ot,Er(to)):us(Ot,to.title):void 0}))):we.createElement(we.Fragment,null,we.createElement(Kh,{filterSearch:pi,value:Ot,onChange:$t,tablePrefixCls:yr,locale:ho}),we.createElement(ns.default,{selectable:!0,multiple:ti,prefixCls:`${si}-menu`,className:Wn,onSelect:Ha,onDeselect:Ha,selectedKeys:_r,getPopupContainer:Go,openKeys:Es,onOpenChange:dt,items:th({filters:Dr.filters||[],filterSearch:pi,prefixCls:Rr,filteredKeys:Wo(),filterMultiple:ti,searchValue:Ot})})),Ti=()=>qo?(0,Be.Z)((na||[]).map(to=>String(to)),_r,!0):_r.length===0;Yr=we.createElement(we.Fragment,null,Vr(),we.createElement("div",{className:`${Rr}-dropdown-btns`},we.createElement(Hs.ZP,{type:"link",size:"small",disabled:Ti(),onClick:()=>In()},ho.filterReset),we.createElement(Hs.ZP,{type:"primary",size:"small",onClick:mn},ho.filterConfirm)))}Dr.filterDropdown&&(Yr=we.createElement(Vs.J,{selectable:void 0},Yr));const jr=()=>we.createElement(Rh,{className:`${Rr}-dropdown`},Yr);let kr;typeof Dr.filterIcon=="function"?kr=Dr.filterIcon(gs):Dr.filterIcon?kr=Dr.filterIcon:kr=we.createElement(Sl,null);const{direction:zr}=we.useContext(ta.E_);return we.createElement("div",{className:`${Rr}-column`},we.createElement("span",{className:`${yr}-column-title`},hi),we.createElement(Wu.Z,{dropdownRender:jr,trigger:["click"],open:Wa,onOpenChange:qn,getPopupContainer:Go,placement:zr==="rtl"?"bottomLeft":"bottomRight"},we.createElement("span",{role:"button",tabIndex:-1,className:lt()(`${Rr}-trigger`,{active:gs}),onClick:_r=>{_r.stopPropagation()}},kr)))}var rh=nh;function Pc(Pn,Tn,cr){let yr=[];return(Pn||[]).forEach((Rr,Dr)=>{var si;const oi=tl(Dr,cr);if(Rr.filters||"filterDropdown"in Rr||"onFilter"in Rr)if("filteredValue"in Rr){let ti=Rr.filteredValue;"filterDropdown"in Rr||(ti=(si=ti==null?void 0:ti.map(String))!==null&&si!==void 0?si:ti),yr.push({column:Rr,key:yl(Rr,oi),filteredKeys:ti,forceFiltered:Rr.filtered})}else yr.push({column:Rr,key:yl(Rr,oi),filteredKeys:Tn&&Rr.defaultFilteredValue?Rr.defaultFilteredValue:void 0,forceFiltered:Rr.filtered});"children"in Rr&&(yr=[].concat((0,Jr.Z)(yr),(0,Jr.Z)(Pc(Rr.children,Tn,oi))))}),yr}function od(Pn,Tn,cr,yr,Rr,Dr,si,oi){return cr.map((ti,Ni)=>{const pi=tl(Ni,oi),{filterMultiple:Di=!0,filterMode:vo,filterSearch:ho}=ti;let hi=ti;if(hi.filters||hi.filterDropdown){const Go=yl(hi,pi),ro=yr.find(sa=>{let{key:qo}=sa;return Go===qo});hi=Object.assign(Object.assign({},hi),{title:sa=>we.createElement(rh,{tablePrefixCls:Pn,prefixCls:`${Pn}-filter`,dropdownPrefixCls:Tn,column:hi,columnKey:Go,filterState:ro,filterMultiple:Di,filterMode:vo,filterSearch:ho,triggerFilter:Dr,locale:Rr,getPopupContainer:si},Ms(ti.title,sa))})}return"children"in hi&&(hi=Object.assign(Object.assign({},hi),{children:od(Pn,Tn,hi.children,yr,Rr,Dr,si,pi)})),hi})}function Uc(Pn){const Tn={};return Pn.forEach(cr=>{let{key:yr,filteredKeys:Rr,column:Dr}=cr;const{filters:si,filterDropdown:oi}=Dr;if(oi)Tn[yr]=Rr||null;else if(Array.isArray(Rr)){const ti=Zh(si);Tn[yr]=ti.filter(Ni=>Rr.includes(String(Ni)))}else Tn[yr]=null}),Tn}function Gc(Pn,Tn){return Tn.reduce((cr,yr)=>{const{column:{onFilter:Rr,filters:Dr},filteredKeys:si}=yr;return Rr&&si&&si.length?cr.filter(oi=>si.some(ti=>{const Ni=Zh(Dr),pi=Ni.findIndex(vo=>String(vo)===String(ti)),Di=pi!==-1?Ni[pi]:ti;return Rr(Di,oi)})):cr},Pn)}const Hc=Pn=>Pn.flatMap(Tn=>"children"in Tn?[Tn].concat((0,Jr.Z)(Hc(Tn.children||[]))):[Tn]);function yf(Pn){let{prefixCls:Tn,dropdownPrefixCls:cr,mergedColumns:yr,onFilterChange:Rr,getPopupContainer:Dr,locale:si}=Pn;const oi=we.useMemo(()=>Hc(yr||[]),[yr]),[ti,Ni]=we.useState(()=>Pc(oi,!0)),pi=we.useMemo(()=>{const hi=Pc(oi,!1);if(hi.length===0)return hi;let Go=!0,ro=!0;if(hi.forEach(sa=>{let{filteredKeys:qo}=sa;qo!==void 0?Go=!1:ro=!1}),Go){const sa=(oi||[]).map((qo,na)=>yl(qo,tl(na)));return ti.filter(qo=>{let{key:na}=qo;return sa.includes(na)}).map(qo=>{const na=oi[sa.findIndex($a=>$a===qo.key)];return Object.assign(Object.assign({},qo),{column:Object.assign(Object.assign({},qo.column),na),forceFiltered:na.filtered})})}return hi},[oi,ti]),Di=we.useMemo(()=>Uc(pi),[pi]),vo=hi=>{const Go=pi.filter(ro=>{let{key:sa}=ro;return sa!==hi.key});Go.push(hi),Ni(Go),Rr(Uc(Go),Go)};return[hi=>od(Tn,cr,hi,pi,si,vo,Dr),pi,Di]}var ef=yf;function uc(Pn,Tn,cr){const yr=we.useRef({});function Rr(Dr){if(!yr.current||yr.current.data!==Pn||yr.current.childrenColumnName!==Tn||yr.current.getRowKey!==cr){let oi=function(ti){ti.forEach((Ni,pi)=>{const Di=cr(Ni,pi);si.set(Di,Ni),Ni&&typeof Ni=="object"&&Tn in Ni&&oi(Ni[Tn]||[])})};const si=new Map;oi(Pn),yr.current={data:Pn,childrenColumnName:Tn,kvMap:si,getRowKey:cr}}return yr.current.kvMap.get(Dr)}return[Rr]}var Gg=Oe(50371),xf=function(Pn,Tn){var cr={};for(var yr in Pn)Object.prototype.hasOwnProperty.call(Pn,yr)&&Tn.indexOf(yr)<0&&(cr[yr]=Pn[yr]);if(Pn!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Rr=0,yr=Object.getOwnPropertySymbols(Pn);Rr<yr.length;Rr++)Tn.indexOf(yr[Rr])<0&&Object.prototype.propertyIsEnumerable.call(Pn,yr[Rr])&&(cr[yr[Rr]]=Pn[yr[Rr]]);return cr};const Yh=10;function ih(Pn,Tn){const cr={current:Pn.current,pageSize:Pn.pageSize};return Object.keys(Tn&&typeof Tn=="object"?Tn:{}).forEach(Rr=>{const Dr=Pn[Rr];typeof Dr!="function"&&(cr[Rr]=Dr)}),cr}function vh(Pn,Tn,cr){const yr=cr&&typeof cr=="object"?cr:{},{total:Rr=0}=yr,Dr=xf(yr,["total"]),[si,oi]=(0,we.useState)(()=>({current:"defaultCurrent"in Dr?Dr.defaultCurrent:1,pageSize:"defaultPageSize"in Dr?Dr.defaultPageSize:Yh})),ti=(0,Gg.Z)(si,Dr,{total:Rr>0?Rr:Pn}),Ni=Math.ceil((Rr||Pn)/ti.pageSize);ti.current>Ni&&(ti.current=Ni||1);const pi=(vo,ho)=>{oi({current:vo!=null?vo:1,pageSize:ho||ti.pageSize})},Di=(vo,ho)=>{var hi;cr&&((hi=cr.onChange)===null||hi===void 0||hi.call(cr,vo,ho)),pi(vo,ho),Tn(vo,ho||(ti==null?void 0:ti.pageSize))};return cr===!1?[{},()=>{}]:[Object.assign(Object.assign({},ti),{onChange:Di}),pi]}var Nc=vh,Mc=Oe(18290),Bc=Oe(35654),Zs=Oe(90782),Ll=Oe(71430),Rc=Oe(35788);const Tu={},ku="SELECT_ALL",cu="SELECT_INVERT",wu="SELECT_NONE",Du=[],Fu=(Pn,Tn)=>{let cr=[];return(Tn||[]).forEach(yr=>{cr.push(yr),yr&&typeof yr=="object"&&Pn in yr&&(cr=[].concat((0,Jr.Z)(cr),(0,Jr.Z)(Fu(Pn,yr[Pn]))))}),cr};var Qu=(Pn,Tn)=>{const{preserveSelectedRowKeys:cr,selectedRowKeys:yr,defaultSelectedRowKeys:Rr,getCheckboxProps:Dr,onChange:si,onSelect:oi,onSelectAll:ti,onSelectInvert:Ni,onSelectNone:pi,onSelectMultiple:Di,columnWidth:vo,type:ho,selections:hi,fixed:Go,renderCell:ro,hideSelectAll:sa,checkStrictly:qo=!0}=Tn||{},{prefixCls:na,data:$a,pageData:cs,getRecordByKey:ya,getRowKey:Ia,expandType:gs,childrenColumnName:ga,locale:Wa,getPopupContainer:fa}=Pn,[Wo,la]=(0,Rc.Z)(yr||Rr||Du,{value:yr}),Ha=we.useRef(new Map),Po=(0,we.useCallback)(Er=>{if(cr){const Yr=new Map;Er.forEach(jr=>{let kr=ya(jr);!kr&&Ha.current.has(jr)&&(kr=Ha.current.get(jr)),Yr.set(jr,kr)}),Ha.current=Yr}},[ya,cr]);we.useEffect(()=>{Po(Wo)},[Wo]);const{keyEntities:Es}=(0,we.useMemo)(()=>{if(qo)return{keyEntities:null};let Er=$a;if(cr){const Yr=new Set($a.map((kr,zr)=>Ia(kr,zr))),jr=Array.from(Ha.current).reduce((kr,zr)=>{let[_r,Vr]=zr;return Yr.has(_r)?kr:kr.concat(Vr)},[]);Er=[].concat((0,Jr.Z)(Er),(0,Jr.Z)(jr))}return(0,Ll.I8)(Er,{externalGetKey:Ia,childrenPropName:ga})},[$a,Ia,qo,ga,cr]),ca=(0,we.useMemo)(()=>Fu(ga,cs),[ga,cs]),dt=(0,we.useMemo)(()=>{const Er=new Map;return ca.forEach((Yr,jr)=>{const kr=Ia(Yr,jr),zr=(Dr?Dr(Yr):null)||{};Er.set(kr,zr)}),Er},[ca,Ia,Dr]),Ot=(0,we.useCallback)(Er=>{var Yr;return!!(!((Yr=dt.get(Ia(Er)))===null||Yr===void 0)&&Yr.disabled)},[dt,Ia]),[zt,$t]=(0,we.useMemo)(()=>{if(qo)return[Wo||[],[]];const{checkedKeys:Er,halfCheckedKeys:Yr}=(0,Zs.S)(Wo,!0,Es,Ot);return[Er||[],Yr]},[Wo,qo,Es,Ot]),pn=(0,we.useMemo)(()=>{const Er=ho==="radio"?zt.slice(0,1):zt;return new Set(Er)},[zt,ho]),mn=(0,we.useMemo)(()=>ho==="radio"?new Set:new Set($t),[$t,ho]),[In,xn]=(0,we.useState)(null);we.useEffect(()=>{Tn||la(Du)},[!!Tn]);const qn=(0,we.useCallback)((Er,Yr)=>{let jr,kr;Po(Er),cr?(jr=Er,kr=Er.map(zr=>Ha.current.get(zr))):(jr=[],kr=[],Er.forEach(zr=>{const _r=ya(zr);_r!==void 0&&(jr.push(zr),kr.push(_r))})),la(jr),si==null||si(jr,kr,{type:Yr})},[la,ya,si,cr]),Wn=(0,we.useCallback)((Er,Yr,jr,kr)=>{if(oi){const zr=jr.map(_r=>ya(_r));oi(ya(Er),Yr,zr,kr)}qn(jr,"single")},[oi,ya,qn]),ar=(0,we.useMemo)(()=>!hi||sa?null:(hi===!0?[ku,cu,wu]:hi).map(Yr=>Yr===ku?{key:"all",text:Wa.selectionAll,onSelect(){qn($a.map((jr,kr)=>Ia(jr,kr)).filter(jr=>{const kr=dt.get(jr);return!(kr!=null&&kr.disabled)||pn.has(jr)}),"all")}}:Yr===cu?{key:"invert",text:Wa.selectInvert,onSelect(){const jr=new Set(pn);cs.forEach((zr,_r)=>{const Vr=Ia(zr,_r),Ti=dt.get(Vr);Ti!=null&&Ti.disabled||(jr.has(Vr)?jr.delete(Vr):jr.add(Vr))});const kr=Array.from(jr);Ni&&Ni(kr),qn(kr,"invert")}}:Yr===wu?{key:"none",text:Wa.selectNone,onSelect(){pi==null||pi(),qn(Array.from(pn).filter(jr=>{const kr=dt.get(jr);return kr==null?void 0:kr.disabled}),"none")}}:Yr).map(Yr=>Object.assign(Object.assign({},Yr),{onSelect:function(){for(var jr,kr,zr=arguments.length,_r=new Array(zr),Vr=0;Vr<zr;Vr++)_r[Vr]=arguments[Vr];(kr=Yr.onSelect)===null||kr===void 0||(jr=kr).call.apply(jr,[Yr].concat(_r)),xn(null)}})),[hi,pn,cs,Ia,Ni,qn]);return[(0,we.useCallback)(Er=>{var Yr;if(!Tn)return Er.filter(ni=>ni!==Tu);let jr=(0,Jr.Z)(Er);const kr=new Set(pn),zr=ca.map(Ia).filter(ni=>!dt.get(ni).disabled),_r=zr.every(ni=>kr.has(ni)),Vr=zr.some(ni=>kr.has(ni)),Ti=()=>{const ni=[];_r?zr.forEach(mo=>{kr.delete(mo),ni.push(mo)}):zr.forEach(mo=>{kr.has(mo)||(kr.add(mo),ni.push(mo))});const ji=Array.from(kr);ti==null||ti(!_r,ji.map(mo=>ya(mo)),ni.map(mo=>ya(mo))),qn(ji,"all"),xn(null)};let to;if(ho!=="radio"){let ni;if(ar){const Eo={getPopupContainer:fa,items:ar.map((Uo,Va)=>{const{key:Ho,text:$r,onSelect:qi}=Uo;return{key:Ho!=null?Ho:Va,onClick:()=>{qi==null||qi(zr)},label:$r}})};ni=we.createElement("div",{className:`${na}-selection-extra`},we.createElement(Wu.Z,{menu:Eo,getPopupContainer:fa},we.createElement("span",null,we.createElement(Mc.Z,null))))}const ji=ca.map((Eo,Uo)=>{const Va=Ia(Eo,Uo),Ho=dt.get(Va)||{};return Object.assign({checked:kr.has(Va)},Ho)}).filter(Eo=>{let{disabled:Uo}=Eo;return Uo}),mo=!!ji.length&&ji.length===ca.length,yo=mo&&ji.every(Eo=>{let{checked:Uo}=Eo;return Uo}),ra=mo&&ji.some(Eo=>{let{checked:Uo}=Eo;return Uo});to=!sa&&we.createElement("div",{className:`${na}-selection`},we.createElement(Al.default,{checked:mo?yo:!!ca.length&&_r,indeterminate:mo?!yo&&ra:!_r&&Vr,onChange:Ti,disabled:ca.length===0||mo,"aria-label":ni?"Custom selection":"Select all",skipGroup:!0}),ni)}let pa;ho==="radio"?pa=(ni,ji,mo)=>{const yo=Ia(ji,mo),ra=kr.has(yo);return{node:we.createElement(jo.ZP,Object.assign({},dt.get(yo),{checked:ra,onClick:Eo=>Eo.stopPropagation(),onChange:Eo=>{kr.has(yo)||Wn(yo,!0,[yo],Eo.nativeEvent)}})),checked:ra}}:pa=(ni,ji,mo)=>{var yo;const ra=Ia(ji,mo),Eo=kr.has(ra),Uo=mn.has(ra),Va=dt.get(ra);let Ho;return gs==="nest"?Ho=Uo:Ho=(yo=Va==null?void 0:Va.indeterminate)!==null&&yo!==void 0?yo:Uo,{node:we.createElement(Al.default,Object.assign({},Va,{indeterminate:Ho,checked:Eo,skipGroup:!0,onClick:$r=>$r.stopPropagation(),onChange:$r=>{let{nativeEvent:qi}=$r;const{shiftKey:qa}=qi;let Xl=-1,nu=-1;if(qa&&qo){const ul=new Set([In,ra]);zr.some((Ls,ps)=>{if(ul.has(Ls))if(Xl===-1)Xl=ps;else return nu=ps,!0;return!1})}if(nu!==-1&&Xl!==nu&&qo){const ul=zr.slice(Xl,nu+1),Ls=[];Eo?ul.forEach(hs=>{kr.has(hs)&&(Ls.push(hs),kr.delete(hs))}):ul.forEach(hs=>{kr.has(hs)||(Ls.push(hs),kr.add(hs))});const ps=Array.from(kr);Di==null||Di(!Eo,ps.map(hs=>ya(hs)),Ls.map(hs=>ya(hs))),qn(ps,"multiple")}else{const ul=zt;if(qo){const Ls=Eo?(0,Bc._5)(ul,ra):(0,Bc.L0)(ul,ra);Wn(ra,!Eo,Ls,qi)}else{const Ls=(0,Zs.S)([].concat((0,Jr.Z)(ul),[ra]),!0,Es,Ot),{checkedKeys:ps,halfCheckedKeys:hs}=Ls;let md=ps;if(Eo){const Ef=new Set(ps);Ef.delete(ra),md=(0,Zs.S)(Array.from(Ef),{checked:!1,halfCheckedKeys:hs},Es,Ot).checkedKeys}Wn(ra,!Eo,md,qi)}}xn(Eo?null:ra)}})),checked:Eo}};const lo=(ni,ji,mo)=>{const{node:yo,checked:ra}=pa(ni,ji,mo);return ro?ro(ra,ji,mo,yo):yo};if(!jr.includes(Tu))if(jr.findIndex(ni=>{var ji;return((ji=ni[Io])===null||ji===void 0?void 0:ji.columnType)==="EXPAND_COLUMN"})===0){const[ni,...ji]=jr;jr=[ni,Tu].concat((0,Jr.Z)(ji))}else jr=[Tu].concat((0,Jr.Z)(jr));const ha=jr.indexOf(Tu);jr=jr.filter((ni,ji)=>ni!==Tu||ji===ha);const Zo=jr[ha-1],Oo=jr[ha+1];let Ri=Go;Ri===void 0&&((Oo==null?void 0:Oo.fixed)!==void 0?Ri=Oo.fixed:(Zo==null?void 0:Zo.fixed)!==void 0&&(Ri=Zo.fixed)),Ri&&Zo&&((Yr=Zo[Io])===null||Yr===void 0?void 0:Yr.columnType)==="EXPAND_COLUMN"&&Zo.fixed===void 0&&(Zo.fixed=Ri);const co=lt()(`${na}-selection-col`,{[`${na}-selection-col-with-dropdown`]:hi&&ho==="checkbox"}),Oa={fixed:Ri,width:vo,className:`${na}-selection-column`,title:Tn.columnTitle||to,render:lo,onCell:Tn.onCell,[Io]:{className:co}};return jr.map(ni=>ni===Tu?Oa:ni)},[Ia,ca,Tn,zt,pn,mn,vo,ar,gs,In,dt,Di,Wn,Ot]),pn]},Iu=Oe(35323),oh=Oe(19155),kh=Oe(6848);const Kf="ascend",Da="descend";function Cl(Pn){return typeof Pn.sorter=="object"&&typeof Pn.sorter.multiple=="number"?Pn.sorter.multiple:!1}function dr(Pn){return typeof Pn=="function"?Pn:Pn&&typeof Pn=="object"&&Pn.compare?Pn.compare:!1}function wi(Pn,Tn){return Tn?Pn[Pn.indexOf(Tn)+1]:Pn[0]}function Zf(Pn,Tn,cr){let yr=[];function Rr(Dr,si){yr.push({column:Dr,key:yl(Dr,si),multiplePriority:Cl(Dr),sortOrder:Dr.sortOrder})}return(Pn||[]).forEach((Dr,si)=>{const oi=tl(si,cr);Dr.children?("sortOrder"in Dr&&Rr(Dr,oi),yr=[].concat((0,Jr.Z)(yr),(0,Jr.Z)(Zf(Dr.children,Tn,oi)))):Dr.sorter&&("sortOrder"in Dr?Rr(Dr,oi):Tn&&Dr.defaultSortOrder&&yr.push({column:Dr,key:yl(Dr,oi),multiplePriority:Cl(Dr),sortOrder:Dr.defaultSortOrder}))}),yr}function Yf(Pn,Tn,cr,yr,Rr,Dr,si,oi){return(Tn||[]).map((ti,Ni)=>{const pi=tl(Ni,oi);let Di=ti;if(Di.sorter){const vo=Di.sortDirections||Rr,ho=Di.showSorterTooltip===void 0?si:Di.showSorterTooltip,hi=yl(Di,pi),Go=cr.find(gs=>{let{key:ga}=gs;return ga===hi}),ro=Go?Go.sortOrder:null,sa=wi(vo,ro);let qo;if(ti.sortIcon)qo=ti.sortIcon({sortOrder:ro});else{const gs=vo.includes(Kf)&&we.createElement(oh.Z,{className:lt()(`${Pn}-column-sorter-up`,{active:ro===Kf})}),ga=vo.includes(Da)&&we.createElement(Iu.Z,{className:lt()(`${Pn}-column-sorter-down`,{active:ro===Da})});qo=we.createElement("span",{className:lt()(`${Pn}-column-sorter`,{[`${Pn}-column-sorter-full`]:!!(gs&&ga)})},we.createElement("span",{className:`${Pn}-column-sorter-inner`,"aria-hidden":"true"},gs,ga))}const{cancelSort:na,triggerAsc:$a,triggerDesc:cs}=Dr||{};let ya=na;sa===Da?ya=cs:sa===Kf&&(ya=$a);const Ia=typeof ho=="object"?ho:{title:ya};Di=Object.assign(Object.assign({},Di),{className:lt()(Di.className,{[`${Pn}-column-sort`]:ro}),title:gs=>{const ga=we.createElement("div",{className:`${Pn}-column-sorters`},we.createElement("span",{className:`${Pn}-column-title`},Ms(ti.title,gs)),qo);return ho?we.createElement(kh.Z,Object.assign({},Ia),ga):ga},onHeaderCell:gs=>{const ga=ti.onHeaderCell&&ti.onHeaderCell(gs)||{},Wa=ga.onClick,fa=ga.onKeyDown;ga.onClick=Ha=>{yr({column:ti,key:hi,sortOrder:sa,multiplePriority:Cl(ti)}),Wa==null||Wa(Ha)},ga.onKeyDown=Ha=>{Ha.keyCode===So.Z.ENTER&&(yr({column:ti,key:hi,sortOrder:sa,multiplePriority:Cl(ti)}),fa==null||fa(Ha))};const Wo=Au(ti.title,{}),la=Wo==null?void 0:Wo.toString();return ro?ga["aria-sort"]=ro==="ascend"?"ascending":"descending":ga["aria-label"]=la||"",ga.className=lt()(ga.className,`${Pn}-column-has-sorters`),ga.tabIndex=0,ti.ellipsis&&(ga.title=(Wo!=null?Wo:"").toString()),ga}})}return"children"in Di&&(Di=Object.assign(Object.assign({},Di),{children:Yf(Pn,Di.children,cr,yr,Rr,Dr,si,pi)})),Di})}function Xh(Pn){const{column:Tn,sortOrder:cr}=Pn;return{column:Tn,order:cr,field:Tn.dataIndex,columnKey:Tn.key}}function Fd(Pn){const Tn=Pn.filter(cr=>{let{sortOrder:yr}=cr;return yr}).map(Xh);return Tn.length===0&&Pn.length?Object.assign(Object.assign({},Xh(Pn[Pn.length-1])),{column:void 0}):Tn.length<=1?Tn[0]||{}:Tn}function nf(Pn,Tn,cr){const yr=Tn.slice().sort((si,oi)=>oi.multiplePriority-si.multiplePriority),Rr=Pn.slice(),Dr=yr.filter(si=>{let{column:{sorter:oi},sortOrder:ti}=si;return dr(oi)&&ti});return Dr.length?Rr.sort((si,oi)=>{for(let ti=0;ti<Dr.length;ti+=1){const Ni=Dr[ti],{column:{sorter:pi},sortOrder:Di}=Ni,vo=dr(pi);if(vo&&Di){const ho=vo(si,oi,Di);if(ho!==0)return Di===Kf?ho:-ho}}return 0}).map(si=>{const oi=si[cr];return oi?Object.assign(Object.assign({},si),{[cr]:nf(oi,Tn,cr)}):si}):Rr}function Pp(Pn){let{prefixCls:Tn,mergedColumns:cr,onSorterChange:yr,sortDirections:Rr,tableLocale:Dr,showSorterTooltip:si}=Pn;const[oi,ti]=we.useState(Zf(cr,!0)),Ni=we.useMemo(()=>{let hi=!0;const Go=Zf(cr,!1);if(!Go.length)return oi;const ro=[];function sa(na){hi?ro.push(na):ro.push(Object.assign(Object.assign({},na),{sortOrder:null}))}let qo=null;return Go.forEach(na=>{qo===null?(sa(na),na.sortOrder&&(na.multiplePriority===!1?hi=!1:qo=!0)):(qo&&na.multiplePriority!==!1||(hi=!1),sa(na))}),ro},[cr,oi]),pi=we.useMemo(()=>{const hi=Ni.map(Go=>{let{column:ro,sortOrder:sa}=Go;return{column:ro,order:sa}});return{sortColumns:hi,sortColumn:hi[0]&&hi[0].column,sortOrder:hi[0]&&hi[0].order}},[Ni]);function Di(hi){let Go;hi.multiplePriority===!1||!Ni.length||Ni[0].multiplePriority===!1?Go=[hi]:Go=[].concat((0,Jr.Z)(Ni.filter(ro=>{let{key:sa}=ro;return sa!==hi.key})),[hi]),ti(Go),yr(Fd(Go),Go)}return[hi=>Yf(Tn,hi,Ni,Di,Rr,Dr,si),Ni,pi,()=>Fd(Ni)]}function sp(Pn,Tn){return Pn.map(cr=>{const yr=Object.assign({},cr);return yr.title=Ms(cr.title,Tn),"children"in yr&&(yr.children=sp(yr.children,Tn)),yr})}function Gu(Pn){return[we.useCallback(cr=>sp(cr,Pn),[Pn])]}var Ps=Do((Pn,Tn)=>{const{_renderTimes:cr}=Pn,{_renderTimes:yr}=Tn;return cr!==yr}),cl=is((Pn,Tn)=>{const{_renderTimes:cr}=Pn,{_renderTimes:yr}=Tn;return cr!==yr}),Vc=Oe(64993),$l=Oe(17313),xl=Oe(83116),cc=Oe(37613),En=Pn=>{const{componentCls:Tn}=Pn,cr=`${Pn.lineWidth}px ${Pn.lineType} ${Pn.tableBorderColor}`,yr=(Rr,Dr,si)=>({[`&${Tn}-${Rr}`]:{[`> ${Tn}-container`]:{[`> ${Tn}-content, > ${Tn}-body`]:{"\n > table > tbody > tr > th,\n > table > tbody > tr > td\n ":{[`> ${Tn}-expanded-row-fixed`]:{margin:`-${Dr}px -${si+Pn.lineWidth}px`}}}}}});return{[`${Tn}-wrapper`]:{[`${Tn}${Tn}-bordered`]:Object.assign(Object.assign(Object.assign({[`> ${Tn}-title`]:{border:cr,borderBottom:0},[`> ${Tn}-container`]:{borderInlineStart:cr,borderTop:cr,[`
> ${Tn}-content,
> ${Tn}-header,
> ${Tn}-body,
> ${Tn}-summary
`]:{"> table":{"\n > thead > tr > th,\n > thead > tr > td,\n > tbody > tr > th,\n > tbody > tr > td,\n > tfoot > tr > th,\n > tfoot > tr > td\n ":{borderInlineEnd:cr},"> thead":{"> tr:not(:last-child) > th":{borderBottom:cr},"> tr > th::before":{backgroundColor:"transparent !important"}},"\n > thead > tr,\n > tbody > tr,\n > tfoot > tr\n ":{[`> ${Tn}-cell-fix-right-first::after`]:{borderInlineEnd:cr}},"\n > tbody > tr > th,\n > tbody > tr > td\n ":{[`> ${Tn}-expanded-row-fixed`]:{margin:`-${Pn.tablePaddingVertical}px -${Pn.tablePaddingHorizontal+Pn.lineWidth}px`,"&::after":{position:"absolute",top:0,insetInlineEnd:Pn.lineWidth,bottom:0,borderInlineEnd:cr,content:'""'}}}}}},[`&${Tn}-scroll-horizontal`]:{[`> ${Tn}-container > ${Tn}-body`]:{"> table > tbody":{[`
> tr${Tn}-expanded-row,
> tr${Tn}-placeholder
`]:{"> th, > td":{borderInlineEnd:0}}}}}},yr("middle",Pn.tablePaddingVerticalMiddle,Pn.tablePaddingHorizontalMiddle)),yr("small",Pn.tablePaddingVerticalSmall,Pn.tablePaddingHorizontalSmall)),{[`> ${Tn}-footer`]:{border:cr,borderTop:0}}),[`${Tn}-cell`]:{[`${Tn}-container:first-child`]:{borderTop:0},"&-scrollbar:not([rowspan])":{boxShadow:`0 ${Pn.lineWidth}px 0 ${Pn.lineWidth}px ${Pn.tableHeaderBg}`}},[`${Tn}-bordered ${Tn}-cell-scrollbar`]:{borderInlineEnd:cr}}}},Ar=Pn=>{const{componentCls:Tn}=Pn;return{[`${Tn}-wrapper`]:{[`${Tn}-cell-ellipsis`]:Object.assign(Object.assign({},$l.vS),{wordBreak:"keep-all",[`
&${Tn}-cell-fix-left-last,
&${Tn}-cell-fix-right-first
`]:{overflow:"visible",[`${Tn}-cell-content`]:{display:"block",overflow:"hidden",textOverflow:"ellipsis"}},[`${Tn}-column-title`]:{overflow:"hidden",textOverflow:"ellipsis",wordBreak:"keep-all"}})}}},Xr=Pn=>{const{componentCls:Tn}=Pn;return{[`${Tn}-wrapper`]:{[`${Tn}-tbody > tr${Tn}-placeholder`]:{textAlign:"center",color:Pn.colorTextDisabled,"\n &:hover > th,\n &:hover > td,\n ":{background:Pn.colorBgContainer}}}}},ei=Oe(15969),Ci=Pn=>{const{componentCls:Tn,antCls:cr,controlInteractiveSize:yr,motionDurationSlow:Rr,lineWidth:Dr,paddingXS:si,lineType:oi,tableBorderColor:ti,tableExpandIconBg:Ni,tableExpandColumnWidth:pi,borderRadius:Di,fontSize:vo,fontSizeSM:ho,lineHeight:hi,tablePaddingVertical:Go,tablePaddingHorizontal:ro,tableExpandedRowBg:sa,paddingXXS:qo}=Pn,na=yr/2-Dr,$a=na*2+Dr*3,cs=`${Dr}px ${oi} ${ti}`,ya=qo-Dr;return{[`${Tn}-wrapper`]:{[`${Tn}-expand-icon-col`]:{width:pi},[`${Tn}-row-expand-icon-cell`]:{textAlign:"center",[`${Tn}-row-expand-icon`]:{display:"inline-flex",float:"none",verticalAlign:"sub"}},[`${Tn}-row-indent`]:{height:1,float:"left"},[`${Tn}-row-expand-icon`]:Object.assign(Object.assign({},(0,ei.N)(Pn)),{position:"relative",float:"left",boxSizing:"border-box",width:$a,height:$a,padding:0,color:"inherit",lineHeight:`${$a}px`,background:Ni,border:cs,borderRadius:Di,transform:`scale(${yr/$a})`,transition:`all ${Rr}`,userSelect:"none","&:focus, &:hover, &:active":{borderColor:"currentcolor"},"&::before, &::after":{position:"absolute",background:"currentcolor",transition:`transform ${Rr} ease-out`,content:'""'},"&::before":{top:na,insetInlineEnd:ya,insetInlineStart:ya,height:Dr},"&::after":{top:ya,bottom:ya,insetInlineStart:na,width:Dr,transform:"rotate(90deg)"},"&-collapsed::before":{transform:"rotate(-180deg)"},"&-collapsed::after":{transform:"rotate(0deg)"},"&-spaced":{"&::before, &::after":{display:"none",content:"none"},background:"transparent",border:0,visibility:"hidden"}}),[`${Tn}-row-indent + ${Tn}-row-expand-icon`]:{marginTop:(vo*hi-Dr*3)/2-Math.ceil((ho*1.4-Dr*3)/2),marginInlineEnd:si},[`tr${Tn}-expanded-row`]:{"&, &:hover":{"> th, > td":{background:sa}},[`${cr}-descriptions-view`]:{display:"flex",table:{flex:"auto",width:"auto"}}},[`${Tn}-expanded-row-fixed`]:{position:"relative",margin:`-${Go}px -${ro}px`,padding:`${Go}px ${ro}px`}}}},Gr=Pn=>{const{componentCls:Tn,antCls:cr,iconCls:yr,tableFilterDropdownWidth:Rr,tableFilterDropdownSearchWidth:Dr,paddingXXS:si,paddingXS:oi,colorText:ti,lineWidth:Ni,lineType:pi,tableBorderColor:Di,tableHeaderIconColor:vo,fontSizeSM:ho,tablePaddingHorizontal:hi,borderRadius:Go,motionDurationSlow:ro,colorTextDescription:sa,colorPrimary:qo,tableHeaderFilterActiveBg:na,colorTextDisabled:$a,tableFilterDropdownBg:cs,tableFilterDropdownHeight:ya,controlItemBgHover:Ia,controlItemBgActive:gs,boxShadowSecondary:ga,filterDropdownMenuBg:Wa}=Pn,fa=`${cr}-dropdown`,Wo=`${Tn}-filter-dropdown`,la=`${cr}-tree`,Ha=`${Ni}px ${pi} ${Di}`;return[{[`${Tn}-wrapper`]:{[`${Tn}-filter-column`]:{display:"flex",justifyContent:"space-between"},[`${Tn}-filter-trigger`]:{position:"relative",display:"flex",alignItems:"center",marginBlock:-si,marginInline:`${si}px ${-hi/2}px`,padding:`0 ${si}px`,color:vo,fontSize:ho,borderRadius:Go,cursor:"pointer",transition:`all ${ro}`,"&:hover":{color:sa,background:na},"&.active":{color:qo}}}},{[`${cr}-dropdown`]:{[Wo]:Object.assign(Object.assign({},(0,$l.Wf)(Pn)),{minWidth:Rr,backgroundColor:cs,borderRadius:Go,boxShadow:ga,overflow:"hidden",[`${fa}-menu`]:{maxHeight:ya,overflowX:"hidden",border:0,boxShadow:"none",borderRadius:"unset",backgroundColor:Wa,"&:empty::after":{display:"block",padding:`${oi}px 0`,color:$a,fontSize:ho,textAlign:"center",content:'"Not Found"'}},[`${Wo}-tree`]:{paddingBlock:`${oi}px 0`,paddingInline:oi,[la]:{padding:0},[`${la}-treenode ${la}-node-content-wrapper:hover`]:{backgroundColor:Ia},[`${la}-treenode-checkbox-checked ${la}-node-content-wrapper`]:{"&, &:hover":{backgroundColor:gs}}},[`${Wo}-search`]:{padding:oi,borderBottom:Ha,"&-input":{input:{minWidth:Dr},[yr]:{color:$a}}},[`${Wo}-checkall`]:{width:"100%",marginBottom:si,marginInlineStart:si},[`${Wo}-btns`]:{display:"flex",justifyContent:"space-between",padding:`${oi-Ni}px ${oi}px`,overflow:"hidden",borderTop:Ha}})}},{[`${cr}-dropdown ${Wo}, ${Wo}-submenu`]:{[`${cr}-checkbox-wrapper + span`]:{paddingInlineStart:oi,color:ti},"> ul":{maxHeight:"calc(100vh - 130px)",overflowX:"hidden",overflowY:"auto"}}}]},xo=Pn=>{const{componentCls:Tn,lineWidth:cr,colorSplit:yr,motionDurationSlow:Rr,zIndexTableFixed:Dr,tableBg:si,zIndexTableSticky:oi}=Pn,ti=yr;return{[`${Tn}-wrapper`]:{[`
${Tn}-cell-fix-left,
${Tn}-cell-fix-right
`]:{position:"sticky !important",zIndex:Dr,background:si},[`
${Tn}-cell-fix-left-first::after,
${Tn}-cell-fix-left-last::after
`]:{position:"absolute",top:0,right:{_skip_check_:!0,value:0},bottom:-cr,width:30,transform:"translateX(100%)",transition:`box-shadow ${Rr}`,content:'""',pointerEvents:"none"},[`${Tn}-cell-fix-left-all::after`]:{display:"none"},[`
${Tn}-cell-fix-right-first::after,
${Tn}-cell-fix-right-last::after
`]:{position:"absolute",top:0,bottom:-cr,left:{_skip_check_:!0,value:0},width:30,transform:"translateX(-100%)",transition:`box-shadow ${Rr}`,content:'""',pointerEvents:"none"},[`${Tn}-container`]:{"&::before, &::after":{position:"absolute",top:0,bottom:0,zIndex:oi+1,width:30,transition:`box-shadow ${Rr}`,content:'""',pointerEvents:"none"},"&::before":{insetInlineStart:0},"&::after":{insetInlineEnd:0}},[`${Tn}-ping-left`]:{[`&:not(${Tn}-has-fix-left) ${Tn}-container`]:{position:"relative","&::before":{boxShadow:`inset 10px 0 8px -8px ${ti}`}},[`
${Tn}-cell-fix-left-first::after,
${Tn}-cell-fix-left-last::after
`]:{boxShadow:`inset 10px 0 8px -8px ${ti}`},[`${Tn}-cell-fix-left-last::before`]:{backgroundColor:"transparent !important"}},[`${Tn}-ping-right`]:{[`&:not(${Tn}-has-fix-right) ${Tn}-container`]:{position:"relative","&::after":{boxShadow:`inset -10px 0 8px -8px ${ti}`}},[`
${Tn}-cell-fix-right-first::after,
${Tn}-cell-fix-right-last::after
`]:{boxShadow:`inset -10px 0 8px -8px ${ti}`}}}}},Ko=Pn=>{const{componentCls:Tn,antCls:cr}=Pn;return{[`${Tn}-wrapper`]:{[`${Tn}-pagination${cr}-pagination`]:{margin:`${Pn.margin}px 0`},[`${Tn}-pagination`]:{display:"flex",flexWrap:"wrap",rowGap:Pn.paddingXS,"> *":{flex:"none"},"&-left":{justifyContent:"flex-start"},"&-center":{justifyContent:"center"},"&-right":{justifyContent:"flex-end"}}}}},so=Pn=>{const{componentCls:Tn,tableRadius:cr}=Pn;return{[`${Tn}-wrapper`]:{[Tn]:{[`${Tn}-title, ${Tn}-header`]:{borderRadius:`${cr}px ${cr}px 0 0`},[`${Tn}-title + ${Tn}-container`]:{borderStartStartRadius:0,borderStartEndRadius:0,[`${Tn}-header, table`]:{borderRadius:0},"table > thead > tr:first-child":{"th:first-child, th:last-child, td:first-child, td:last-child":{borderRadius:0}}},"&-container":{borderStartStartRadius:cr,borderStartEndRadius:cr,"table > thead > tr:first-child":{"> *:first-child":{borderStartStartRadius:cr},"> *:last-child":{borderStartEndRadius:cr}}},"&-footer":{borderRadius:`0 0 ${cr}px ${cr}px`}}}}},ba=Pn=>{const{componentCls:Tn}=Pn;return{[`${Tn}-wrapper-rtl`]:{direction:"rtl",table:{direction:"rtl"},[`${Tn}-pagination-left`]:{justifyContent:"flex-end"},[`${Tn}-pagination-right`]:{justifyContent:"flex-start"},[`${Tn}-row-expand-icon`]:{float:"right","&::after":{transform:"rotate(-90deg)"},"&-collapsed::before":{transform:"rotate(180deg)"},"&-collapsed::after":{transform:"rotate(0deg)"}},[`${Tn}-container`]:{"&::before":{insetInlineStart:"unset",insetInlineEnd:0},"&::after":{insetInlineStart:0,insetInlineEnd:"unset"},[`${Tn}-row-indent`]:{float:"right"}}}}},Pa=Pn=>{const{componentCls:Tn,antCls:cr,iconCls:yr,fontSizeIcon:Rr,padding:Dr,paddingXS:si,tableHeaderIconColor:oi,tableHeaderIconColorHover:ti,tableSelectionColumnWidth:Ni}=Pn;return{[`${Tn}-wrapper`]:{[`${Tn}-selection-col`]:{width:Ni,[`&${Tn}-selection-col-with-dropdown`]:{width:Ni+Rr+Dr/4}},[`${Tn}-bordered ${Tn}-selection-col`]:{width:Ni+si*2,[`&${Tn}-selection-col-with-dropdown`]:{width:Ni+Rr+Dr/4+si*2}},[`
table tr th${Tn}-selection-column,
table tr td${Tn}-selection-column
`]:{paddingInlineEnd:Pn.paddingXS,paddingInlineStart:Pn.paddingXS,textAlign:"center",[`${cr}-radio-wrapper`]:{marginInlineEnd:0}},[`table tr th${Tn}-selection-column${Tn}-cell-fix-left`]:{zIndex:Pn.zIndexTableFixed+1},[`table tr th${Tn}-selection-column::after`]:{backgroundColor:"transparent !important"},[`${Tn}-selection`]:{position:"relative",display:"inline-flex",flexDirection:"column"},[`${Tn}-selection-extra`]:{position:"absolute",top:0,zIndex:1,cursor:"pointer",transition:`all ${Pn.motionDurationSlow}`,marginInlineStart:"100%",paddingInlineStart:`${Pn.tablePaddingHorizontal/4}px`,[yr]:{color:oi,fontSize:Rr,verticalAlign:"baseline","&:hover":{color:ti}}}}}},Ga=Pn=>{const{componentCls:Tn}=Pn,cr=(yr,Rr,Dr,si)=>({[`${Tn}${Tn}-${yr}`]:{fontSize:si,[`
${Tn}-title,
${Tn}-footer,
${Tn}-cell,
${Tn}-thead > tr > th,
${Tn}-tbody > tr > th,
${Tn}-tbody > tr > td,
tfoot > tr > th,
tfoot > tr > td
`]:{padding:`${Rr}px ${Dr}px`},[`${Tn}-filter-trigger`]:{marginInlineEnd:`-${Dr/2}px`},[`${Tn}-expanded-row-fixed`]:{margin:`-${Rr}px -${Dr}px`},[`${Tn}-tbody`]:{[`${Tn}-wrapper:only-child ${Tn}`]:{marginBlock:`-${Rr}px`,marginInline:`${Pn.tableExpandColumnWidth-Dr}px -${Dr}px`}},[`${Tn}-selection-column`]:{paddingInlineStart:`${Dr/4}px`}}});return{[`${Tn}-wrapper`]:Object.assign(Object.assign({},cr("middle",Pn.tablePaddingVerticalMiddle,Pn.tablePaddingHorizontalMiddle,Pn.tableFontSizeMiddle)),cr("small",Pn.tablePaddingVerticalSmall,Pn.tablePaddingHorizontalSmall,Pn.tableFontSizeSmall))}},rl=Pn=>{const{componentCls:Tn,marginXXS:cr,fontSizeIcon:yr,tableHeaderIconColor:Rr,tableHeaderIconColorHover:Dr}=Pn;return{[`${Tn}-wrapper`]:{[`${Tn}-thead th${Tn}-column-has-sorters`]:{outline:"none",cursor:"pointer",transition:`all ${Pn.motionDurationSlow}`,"&:hover":{background:Pn.tableHeaderSortHoverBg,"&::before":{backgroundColor:"transparent !important"}},"&:focus-visible":{color:Pn.colorPrimary},[`
&${Tn}-cell-fix-left:hover,
&${Tn}-cell-fix-right:hover
`]:{background:Pn.tableFixedHeaderSortActiveBg}},[`${Tn}-thead th${Tn}-column-sort`]:{background:Pn.tableHeaderSortBg,"&::before":{backgroundColor:"transparent !important"}},[`td${Tn}-column-sort`]:{background:Pn.tableBodySortBg},[`${Tn}-column-title`]:{position:"relative",zIndex:1,flex:1},[`${Tn}-column-sorters`]:{display:"flex",flex:"auto",alignItems:"center",justifyContent:"space-between","&::after":{position:"absolute",inset:0,width:"100%",height:"100%",content:'""'}},[`${Tn}-column-sorter`]:{marginInlineStart:cr,color:Rr,fontSize:0,transition:`color ${Pn.motionDurationSlow}`,"&-inner":{display:"inline-flex",flexDirection:"column",alignItems:"center"},"&-up, &-down":{fontSize:yr,"&.active":{color:Pn.colorPrimary}},[`${Tn}-column-sorter-up + ${Tn}-column-sorter-down`]:{marginTop:"-0.3em"}},[`${Tn}-column-sorters:hover ${Tn}-column-sorter`]:{color:Dr}}}},fs=Pn=>{const{componentCls:Tn,opacityLoading:cr,tableScrollThumbBg:yr,tableScrollThumbBgHover:Rr,tableScrollThumbSize:Dr,tableScrollBg:si,zIndexTableSticky:oi,stickyScrollBarBorderRadius:ti}=Pn,Ni=`${Pn.lineWidth}px ${Pn.lineType} ${Pn.tableBorderColor}`;return{[`${Tn}-wrapper`]:{[`${Tn}-sticky`]:{"&-holder":{position:"sticky",zIndex:oi,background:Pn.colorBgContainer},"&-scroll":{position:"sticky",bottom:0,height:`${Dr}px !important`,zIndex:oi,display:"flex",alignItems:"center",background:si,borderTop:Ni,opacity:cr,"&:hover":{transformOrigin:"center bottom"},"&-bar":{height:Dr,backgroundColor:yr,borderRadius:ti,transition:`all ${Pn.motionDurationSlow}, transform none`,position:"absolute",bottom:0,"&:hover, &-active":{backgroundColor:Rr}}}}}}},zl=Pn=>{const{componentCls:Tn,lineWidth:cr,tableBorderColor:yr}=Pn,Rr=`${cr}px ${Pn.lineType} ${yr}`;return{[`${Tn}-wrapper`]:{[`${Tn}-summary`]:{position:"relative",zIndex:Pn.zIndexTableFixed,background:Pn.tableBg,"> tr":{"> th, > td":{borderBottom:Rr}}},[`div${Tn}-summary`]:{boxShadow:`0 -${cr}px 0 ${yr}`}}}},mu=Pn=>{const{componentCls:Tn}=Pn,cr=`${Pn.lineWidth}px ${Pn.lineType} ${Pn.tableBorderColor}`,yr=`${Tn}-expanded-row-cell`;return{[`${Tn}-wrapper`]:{[`${Tn}-tbody-virtual`]:{[`${Tn}-row`]:{display:"flex",boxSizing:"border-box",width:"100%"},[`${Tn}-cell`]:{borderBottom:cr},[`${Tn}-expanded-row`]:{[`${yr}${yr}-fixed`]:{position:"sticky",insetInlineStart:0,overflow:"hidden",width:`calc(var(--virtual-width) - ${Pn.lineWidth}px)`,borderInlineEnd:"none"}}},[`${Tn}-bordered`]:{[`${Tn}-tbody-virtual`]:{"&:after":{content:'""',insetInline:0,bottom:0,borderBottom:cr,position:"absolute"},[`${Tn}-cell`]:{borderInlineEnd:cr,[`&${Tn}-cell-fix-right-first:before`]:{content:'""',position:"absolute",insetBlock:0,insetInlineStart:-Pn.lineWidth,borderInlineStart:cr}}}}}}};const Tl=Pn=>{const{componentCls:Tn,fontWeightStrong:cr,tablePaddingVertical:yr,tablePaddingHorizontal:Rr,lineWidth:Dr,lineType:si,tableBorderColor:oi,tableFontSize:ti,tableBg:Ni,tableRadius:pi,tableHeaderTextColor:Di,motionDurationMid:vo,tableHeaderBg:ho,tableHeaderCellSplitColor:hi,tableRowHoverBg:Go,tableSelectedRowBg:ro,tableSelectedRowHoverBg:sa,tableFooterTextColor:qo,tableFooterBg:na,paddingContentVerticalLG:$a}=Pn,cs=`${Dr}px ${si} ${oi}`;return{[`${Tn}-wrapper`]:Object.assign(Object.assign({clear:"both",maxWidth:"100%"},(0,$l.dF)()),{[Tn]:Object.assign(Object.assign({},(0,$l.Wf)(Pn)),{fontSize:ti,background:Ni,borderRadius:`${pi}px ${pi}px 0 0`}),table:{width:"100%",textAlign:"start",borderRadius:`${pi}px ${pi}px 0 0`,borderCollapse:"separate",borderSpacing:0},[`
${Tn}-cell,
${Tn}-thead > tr > th,
${Tn}-tbody > tr > th,
${Tn}-tbody > tr > td,
tfoot > tr > th,
tfoot > tr > td
`]:{position:"relative",padding:`${$a}px ${Rr}px`,overflowWrap:"break-word"},[`${Tn}-title`]:{padding:`${yr}px ${Rr}px`},[`${Tn}-thead`]:{"\n > tr > th,\n > tr > td\n ":{position:"relative",color:Di,fontWeight:cr,textAlign:"start",background:ho,borderBottom:cs,transition:`background ${vo} ease`,"&[colspan]:not([colspan='1'])":{textAlign:"center"},[`&:not(:last-child):not(${Tn}-selection-column):not(${Tn}-row-expand-icon-cell):not([colspan])::before`]:{position:"absolute",top:"50%",insetInlineEnd:0,width:1,height:"1.6em",backgroundColor:hi,transform:"translateY(-50%)",transition:`background-color ${vo}`,content:'""'}},"> tr:not(:last-child) > th[colspan]":{borderBottom:0}},[`${Tn}-tbody`]:{"> tr":{"> th, > td":{transition:`background ${vo}, border-color ${vo}`,borderBottom:cs,[`
> ${Tn}-wrapper:only-child,
> ${Tn}-expanded-row-fixed > ${Tn}-wrapper:only-child
`]:{[Tn]:{marginBlock:`-${yr}px`,marginInline:`${Pn.tableExpandColumnWidth-Rr}px -${Rr}px`,[`${Tn}-tbody > tr:last-child > td`]:{borderBottom:0,"&:first-child, &:last-child":{borderRadius:0}}}}},"> th":{position:"relative",color:Di,fontWeight:cr,textAlign:"start",background:ho,borderBottom:cs,transition:`background ${vo} ease`},[`
&${Tn}-row:hover > th,
&${Tn}-row:hover > td,
> th${Tn}-cell-row-hover,
> td${Tn}-cell-row-hover
`]:{background:Go},[`&${Tn}-row-selected`]:{"> th, > td":{background:ro},"&:hover > th, &:hover > td":{background:sa}}}},[`${Tn}-footer`]:{padding:`${yr}px ${Rr}px`,color:qo,background:na}})}};var ll=(0,xl.Z)("Table",Pn=>{const{colorTextHeading:Tn,colorSplit:cr,colorIcon:yr,colorIconHover:Rr,opacityLoading:Dr,colorBgContainer:si,controlInteractiveSize:oi,headerBg:ti,headerColor:Ni,headerSortActiveBg:pi,headerSortHoverBg:Di,bodySortBg:vo,rowHoverBg:ho,rowSelectedBg:hi,rowSelectedHoverBg:Go,rowExpandedBg:ro,cellPaddingBlock:sa,cellPaddingInline:qo,cellPaddingBlockMD:na,cellPaddingInlineMD:$a,cellPaddingBlockSM:cs,cellPaddingInlineSM:ya,borderColor:Ia,footerBg:gs,footerColor:ga,headerBorderRadius:Wa,cellFontSize:fa,cellFontSizeMD:Wo,cellFontSizeSM:la,headerSplitColor:Ha,fixedHeaderSortActiveBg:Po,headerFilterHoverBg:Es,filterDropdownBg:ca,expandIconBg:dt,selectionColumnWidth:Ot,stickyScrollBarBg:zt}=Pn,$t=new Vc.C(yr),pn=new Vc.C(Rr),mn=2,In=(0,cc.TS)(Pn,{tableFontSize:fa,tableBg:si,tableRadius:Wa,tablePaddingVertical:sa,tablePaddingHorizontal:qo,tablePaddingVerticalMiddle:na,tablePaddingHorizontalMiddle:$a,tablePaddingVerticalSmall:cs,tablePaddingHorizontalSmall:ya,tableBorderColor:Ia,tableHeaderTextColor:Ni,tableHeaderBg:ti,tableFooterTextColor:ga,tableFooterBg:gs,tableHeaderCellSplitColor:Ha,tableHeaderSortBg:pi,tableHeaderSortHoverBg:Di,tableHeaderIconColor:$t.clone().setAlpha($t.getAlpha()*Dr).toRgbString(),tableHeaderIconColorHover:pn.clone().setAlpha(pn.getAlpha()*Dr).toRgbString(),tableBodySortBg:vo,tableFixedHeaderSortActiveBg:Po,tableHeaderFilterActiveBg:Es,tableFilterDropdownBg:ca,tableRowHoverBg:ho,tableSelectedRowBg:hi,tableSelectedRowHoverBg:Go,zIndexTableFixed:mn,zIndexTableSticky:mn+1,tableFontSizeMiddle:Wo,tableFontSizeSmall:la,tableSelectionColumnWidth:Ot,tableExpandIconBg:dt,tableExpandColumnWidth:oi+2*Pn.padding,tableExpandedRowBg:ro,tableFilterDropdownWidth:120,tableFilterDropdownHeight:264,tableFilterDropdownSearchWidth:140,tableScrollThumbSize:8,tableScrollThumbBg:zt,tableScrollThumbBgHover:Tn,tableScrollBg:cr});return[Tl(In),Ko(In),zl(In),rl(In),Gr(In),En(In),so(In),Ci(In),zl(In),Xr(In),Pa(In),xo(In),fs(In),Ar(In),Ga(In),ba(In),mu(In)]},Pn=>{const{colorFillAlter:Tn,colorBgContainer:cr,colorTextHeading:yr,colorFillSecondary:Rr,colorFillContent:Dr,controlItemBgActive:si,controlItemBgActiveHover:oi,padding:ti,paddingSM:Ni,paddingXS:pi,colorBorderSecondary:Di,borderRadiusLG:vo,fontSize:ho,controlHeight:hi,colorTextPlaceholder:Go}=Pn,ro=new Vc.C(Rr).onBackground(cr).toHexShortString(),sa=new Vc.C(Dr).onBackground(cr).toHexShortString(),qo=new Vc.C(Tn).onBackground(cr).toHexShortString();return{headerBg:qo,headerColor:yr,headerSortActiveBg:ro,headerSortHoverBg:sa,bodySortBg:qo,rowHoverBg:qo,rowSelectedBg:si,rowSelectedHoverBg:oi,rowExpandedBg:Tn,cellPaddingBlock:ti,cellPaddingInline:ti,cellPaddingBlockMD:Ni,cellPaddingInlineMD:pi,cellPaddingBlockSM:pi,cellPaddingInlineSM:pi,borderColor:Di,headerBorderRadius:vo,footerBg:qo,footerColor:yr,cellFontSize:ho,cellFontSizeMD:ho,cellFontSizeSM:ho,headerSplitColor:Di,fixedHeaderSortActiveBg:ro,headerFilterHoverBg:Dr,filterDropdownMenuBg:cr,filterDropdownBg:cr,expandIconBg:cr,selectionColumnWidth:hi,stickyScrollBarBg:Go,stickyScrollBarBorderRadius:100}});const jl=[],Vl=(Pn,Tn)=>{const{prefixCls:cr,className:yr,rootClassName:Rr,style:Dr,size:si,bordered:oi,dropdownPrefixCls:ti,dataSource:Ni,pagination:pi,rowSelection:Di,rowKey:vo="key",rowClassName:ho,columns:hi,children:Go,childrenColumnName:ro,onChange:sa,getPopupContainer:qo,loading:na,expandIcon:$a,expandable:cs,expandedRowRender:ya,expandIconColumnIndex:Ia,indentSize:gs,scroll:ga,sortDirections:Wa,locale:fa,showSorterTooltip:Wo=!0,virtual:la}=Pn,Ha=we.useMemo(()=>hi||et(Go),[hi,Go]),Po=we.useMemo(()=>Ha.some(Zl=>Zl.responsive),[Ha]),Es=(0,Ii.Z)(Po),ca=we.useMemo(()=>{const Zl=new Set(Object.keys(Es).filter(Cu=>Es[Cu]));return Ha.filter(Cu=>!Cu.responsive||Cu.responsive.some(Sc=>Zl.has(Sc)))},[Ha,Es]),dt=(0,es.Z)(Pn,["className","style","columns"]),{locale:Ot=Gs.Z,direction:zt,table:$t,renderEmpty:pn,getPrefixCls:mn,getPopupContainer:In}=we.useContext(ta.E_),xn=(0,Ba.Z)(si),qn=Object.assign(Object.assign({},Ot.Table),fa),Wn=Ni||jl,ar=mn("table",cr),Ir=mn("dropdown",ti),Er=Object.assign({childrenColumnName:ro,expandIconColumnIndex:Ia},cs),{childrenColumnName:Yr="children"}=Er,jr=we.useMemo(()=>Wn.some(Zl=>Zl==null?void 0:Zl[Yr])?"nest":ya||cs&&cs.expandedRowRender?"row":null,[Wn]),kr={body:we.useRef()},zr=we.useMemo(()=>typeof vo=="function"?vo:Zl=>Zl==null?void 0:Zl[vo],[vo]),[_r]=uc(Wn,Yr,zr),Vr={},Ti=function(Zl,Cu){let Sc=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;var Ts,wl,Ou;const Kl=Object.assign(Object.assign({},Vr),Zl);Sc&&((Ts=Vr.resetPagination)===null||Ts===void 0||Ts.call(Vr),!((wl=Kl.pagination)===null||wl===void 0)&&wl.current&&(Kl.pagination.current=1),pi&&pi.onChange&&pi.onChange(1,(Ou=Kl.pagination)===null||Ou===void 0?void 0:Ou.pageSize)),ga&&ga.scrollToFirstRowOnChange!==!1&&kr.body.current&&(0,ml.Z)(0,{getContainer:()=>kr.body.current}),sa==null||sa(Kl.pagination,Kl.filters,Kl.sorter,{currentDataSource:Gc(nf(Wn,Kl.sorterStates,Yr),Kl.filterStates),action:Cu})},to=(Zl,Cu)=>{Ti({sorter:Zl,sorterStates:Cu},"sort",!1)},[pa,lo,ha,Zo]=Pp({prefixCls:ar,mergedColumns:ca,onSorterChange:to,sortDirections:Wa||["ascend","descend"],tableLocale:qn,showSorterTooltip:Wo}),Oo=we.useMemo(()=>nf(Wn,lo,Yr),[Wn,lo]);Vr.sorter=Zo(),Vr.sorterStates=lo;const Ri=(Zl,Cu)=>{Ti({filters:Zl,filterStates:Cu},"filter",!0)},[co,Oa,ni]=ef({prefixCls:ar,locale:qn,dropdownPrefixCls:Ir,mergedColumns:ca,onFilterChange:Ri,getPopupContainer:qo||In}),ji=Gc(Oo,Oa);Vr.filters=ni,Vr.filterStates=Oa;const mo=we.useMemo(()=>{const Zl={};return Object.keys(ni).forEach(Cu=>{ni[Cu]!==null&&(Zl[Cu]=ni[Cu])}),Object.assign(Object.assign({},ha),{filters:Zl})},[ha,ni]),[yo]=Gu(mo),ra=(Zl,Cu)=>{Ti({pagination:Object.assign(Object.assign({},Vr.pagination),{current:Zl,pageSize:Cu})},"paginate")},[Eo,Uo]=Nc(ji.length,ra,pi);Vr.pagination=pi===!1?{}:ih(Eo,pi),Vr.resetPagination=Uo;const Va=we.useMemo(()=>{if(pi===!1||!Eo.pageSize)return ji;const{current:Zl=1,total:Cu,pageSize:Sc=Yh}=Eo;return ji.length<Cu?ji.length>Sc?ji.slice((Zl-1)*Sc,Zl*Sc):ji:ji.slice((Zl-1)*Sc,Zl*Sc)},[!!pi,ji,Eo&&Eo.current,Eo&&Eo.pageSize,Eo&&Eo.total]),[Ho,$r]=Qu({prefixCls:ar,data:ji,pageData:Va,getRowKey:zr,getRecordByKey:_r,expandType:jr,childrenColumnName:Yr,locale:qn,getPopupContainer:qo||In},Di),qi=(Zl,Cu,Sc)=>{let Ts;return typeof ho=="function"?Ts=lt()(ho(Zl,Cu,Sc)):Ts=lt()(ho),lt()({[`${ar}-row-selected`]:$r.has(zr(Zl,Cu))},Ts)};Er.__PARENT_RENDER_ICON__=Er.expandIcon,Er.expandIcon=Er.expandIcon||$a||zs(qn),jr==="nest"&&Er.expandIconColumnIndex===void 0?Er.expandIconColumnIndex=Di?1:0:Er.expandIconColumnIndex>0&&Di&&(Er.expandIconColumnIndex-=1),typeof Er.indentSize!="number"&&(Er.indentSize=typeof gs=="number"?gs:15);const qa=we.useCallback(Zl=>yo(Ho(co(pa(Zl)))),[pa,co,Ho]);let Xl,nu;if(pi!==!1&&(Eo!=null&&Eo.total)){let Zl;Eo.size?Zl=Eo.size:Zl=xn==="small"||xn==="middle"?"small":void 0;const Cu=wl=>we.createElement(sl.Z,Object.assign({},Eo,{className:lt()(`${ar}-pagination ${ar}-pagination-${wl}`,Eo.className),size:Zl})),Sc=zt==="rtl"?"left":"right",{position:Ts}=Eo;if(Ts!==null&&Array.isArray(Ts)){const wl=Ts.find(kc=>kc.includes("top")),Ou=Ts.find(kc=>kc.includes("bottom")),Kl=Ts.every(kc=>`${kc}`=="none");!wl&&!Ou&&!Kl&&(nu=Cu(Sc)),wl&&(Xl=Cu(wl.toLowerCase().replace("top",""))),Ou&&(nu=Cu(Ou.toLowerCase().replace("bottom","")))}else nu=Cu(Sc)}let ul;typeof na=="boolean"?ul={spinning:na}:typeof na=="object"&&(ul=Object.assign({spinning:!0},na));const[Ls,ps]=ll(ar),[,hs]=(0,Ki.Z)(),md=lt()(`${ar}-wrapper`,$t==null?void 0:$t.className,{[`${ar}-wrapper-rtl`]:zt==="rtl"},yr,Rr,ps),Ef=Object.assign(Object.assign({},$t==null?void 0:$t.style),Dr),Wl=fa&&fa.emptyText||(pn==null?void 0:pn("Table"))||we.createElement(Qo.Z,{componentName:"Table"}),zu=la?cl:Ps,Xf={},yd=we.useMemo(()=>{const{fontSize:Zl,lineHeight:Cu,padding:Sc,paddingXS:Ts,paddingSM:wl}=hs,Ou=Math.floor(Zl*Cu);switch(xn){case"large":return Sc*2+Ou;case"small":return Ts*2+Ou;default:return wl*2+Ou}},[hs,xn]);return la&&(Xf.listItemHeight=yd),Ls(we.createElement("div",{ref:Tn,className:md,style:Ef},we.createElement(ql.Z,Object.assign({spinning:!1},ul),Xl,we.createElement(zu,Object.assign({},Xf,dt,{columns:ca,direction:zt,expandable:Er,prefixCls:ar,className:lt()({[`${ar}-middle`]:xn==="middle",[`${ar}-small`]:xn==="small",[`${ar}-bordered`]:oi,[`${ar}-empty`]:Wn.length===0}),data:Va,rowKey:zr,rowClassName:qi,emptyText:Wl,internalHooks:tt,internalRefs:kr,transformColumns:qa})),nu)))};var yu=we.forwardRef(Vl);const Yl=(Pn,Tn)=>{const cr=we.useRef(0);return cr.current+=1,we.createElement(yu,Object.assign({},Pn,{ref:Tn,_renderTimes:cr.current}))},bl=we.forwardRef(Yl);bl.SELECTION_COLUMN=Tu,bl.EXPAND_COLUMN=Ge,bl.SELECTION_ALL=ku,bl.SELECTION_INVERT=cu,bl.SELECTION_NONE=wu,bl.Column=aa,bl.ColumnGroup=Fs,bl.Summary=_t;var _u=bl,Hu=_u},86914:function(en,tn,Oe){"use strict";Oe.d(tn,{default:function(){return xt}});var Ge=Oe(99581),tt=Oe(26390),Ue=Oe(43971),Ne=Oe(58358),Ke=Oe(5891),Be=Oe(59301),we={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z"}}]},name:"folder",theme:"outlined"},Te=we,ke=Oe(88853),Ie=function(Dt,Xt){return Be.createElement(ke.Z,(0,Ke.Z)({},Dt,{ref:Xt,icon:Te}))},Ce=Be.forwardRef(Ie),Me=Ce,je=Oe(92310),ye=Oe.n(je),ie=Oe(35654),ae=Oe(71430),fe=Oe(36355),de=Oe(44757),ve=Oe(62892),xe=Oe(20648);const ce=4;function pe(ct){const{dropPosition:Dt,dropLevelOffset:Xt,prefixCls:kt,indent:Rt,direction:Gt="ltr"}=ct,ln=Gt==="ltr"?"left":"right",Rn=Gt==="ltr"?"right":"left",jn={[ln]:-Xt*Rt+ce,[Rn]:0};switch(Dt){case-1:jn.top=-3;break;case 1:jn.bottom=-3;break;default:jn.bottom=-3,jn[ln]=Rt+ce;break}return Be.createElement("div",{style:jn,className:`${kt}-drop-indicator`})}var Se=Oe(48610),ze=Be.forwardRef((ct,Dt)=>{const{getPrefixCls:Xt,direction:kt,virtual:Rt,tree:Gt}=Be.useContext(fe.E_),{prefixCls:ln,className:Rn,showIcon:jn=!1,showLine:er,switcherIcon:an,blockNode:Un=!1,children:Kn,checkable:ur=!1,selectable:Xn=!0,draggable:Nn,motion:_n,style:un}=ct,qt=Xt("tree",ln),Yt=Xt(),gn=_n!=null?_n:Object.assign(Object.assign({},(0,ve.Z)(Yt)),{motionAppear:!1}),_t=Object.assign(Object.assign({},ct),{checkable:ur,selectable:Xn,showIcon:jn,motion:gn,blockNode:Un,showLine:!!er,dropIndicatorRender:pe}),[Jt,wt]=(0,xe.ZP)(qt),ut=Be.useMemo(()=>{if(!Nn)return!1;let Pt={};switch(typeof Nn){case"function":Pt.nodeDraggable=Nn;break;case"object":Pt=Object.assign({},Nn);break;default:break}return Pt.icon!==!1&&(Pt.icon=Pt.icon||Be.createElement(de.Z,null)),Pt},[Nn]),ot=Pt=>Be.createElement(Se.Z,{prefixCls:qt,switcherIcon:an,treeNodeProps:Pt,showLine:er});return Jt(Be.createElement(Ge.Z,Object.assign({itemHeight:20,ref:Dt,virtual:Rt},_t,{style:Object.assign(Object.assign({},Gt==null?void 0:Gt.style),un),prefixCls:qt,className:ye()({[`${qt}-icon-hide`]:!jn,[`${qt}-block-node`]:Un,[`${qt}-unselectable`]:!Xn,[`${qt}-rtl`]:kt==="rtl"},Gt==null?void 0:Gt.className,Rn,wt),direction:kt,checkable:ur&&Be.createElement("span",{className:`${qt}-checkbox-inner`}),selectable:Xn,switcherIcon:ot,draggable:ut}),Kn))}),Ze;(function(ct){ct[ct.None=0]="None",ct[ct.Start=1]="Start",ct[ct.End=2]="End"})(Ze||(Ze={}));function Ve(ct,Dt){function Xt(kt){const{key:Rt,children:Gt}=kt;Dt(Rt,kt)!==!1&&Ve(Gt||[],Dt)}ct.forEach(Xt)}function Qe(ct){let{treeData:Dt,expandedKeys:Xt,startKey:kt,endKey:Rt}=ct;const Gt=[];let ln=Ze.None;if(kt&&kt===Rt)return[kt];if(!kt||!Rt)return[];function Rn(jn){return jn===kt||jn===Rt}return Ve(Dt,jn=>{if(ln===Ze.End)return!1;if(Rn(jn)){if(Gt.push(jn),ln===Ze.None)ln=Ze.Start;else if(ln===Ze.Start)return ln=Ze.End,!1}else ln===Ze.Start&&Gt.push(jn);return Xt.includes(jn)}),Gt}function $e(ct,Dt){const Xt=(0,tt.Z)(Dt),kt=[];return Ve(ct,(Rt,Gt)=>{const ln=Xt.indexOf(Rt);return ln!==-1&&(kt.push(Gt),Xt.splice(ln,1)),!!Xt.length}),kt}var gt=function(ct,Dt){var Xt={};for(var kt in ct)Object.prototype.hasOwnProperty.call(ct,kt)&&Dt.indexOf(kt)<0&&(Xt[kt]=ct[kt]);if(ct!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Rt=0,kt=Object.getOwnPropertySymbols(ct);Rt<kt.length;Rt++)Dt.indexOf(kt[Rt])<0&&Object.prototype.propertyIsEnumerable.call(ct,kt[Rt])&&(Xt[kt[Rt]]=ct[kt[Rt]]);return Xt};function lt(ct){const{isLeaf:Dt,expanded:Xt}=ct;return Dt?Be.createElement(Ue.Z,null):Xt?Be.createElement(Ne.Z,null):Be.createElement(Me,null)}function At(ct){let{treeData:Dt,children:Xt}=ct;return Dt||(0,ae.zn)(Xt)}const Et=(ct,Dt)=>{var{defaultExpandAll:Xt,defaultExpandParent:kt,defaultExpandedKeys:Rt}=ct,Gt=gt(ct,["defaultExpandAll","defaultExpandParent","defaultExpandedKeys"]);const ln=Be.useRef(),Rn=Be.useRef(),jn=()=>{const{keyEntities:ut}=(0,ae.I8)(At(Gt));let ot;return Xt?ot=Object.keys(ut):kt?ot=(0,ie.r7)(Gt.expandedKeys||Rt||[],ut):ot=Gt.expandedKeys||Rt,ot},[er,an]=Be.useState(Gt.selectedKeys||Gt.defaultSelectedKeys||[]),[Un,Kn]=Be.useState(()=>jn());Be.useEffect(()=>{"selectedKeys"in Gt&&an(Gt.selectedKeys)},[Gt.selectedKeys]),Be.useEffect(()=>{"expandedKeys"in Gt&&Kn(Gt.expandedKeys)},[Gt.expandedKeys]);const ur=(ut,ot)=>{var Pt;return"expandedKeys"in Gt||Kn(ut),(Pt=Gt.onExpand)===null||Pt===void 0?void 0:Pt.call(Gt,ut,ot)},Xn=(ut,ot)=>{var Pt;const{multiple:Ht}=Gt,{node:Mt,nativeEvent:hn}=ot,{key:rr=""}=Mt,Jn=At(Gt),An=Object.assign(Object.assign({},ot),{selected:!0}),$n=(hn==null?void 0:hn.ctrlKey)||(hn==null?void 0:hn.metaKey),xr=hn==null?void 0:hn.shiftKey;let mr;Ht&&$n?(mr=ut,ln.current=rr,Rn.current=mr,An.selectedNodes=$e(Jn,mr)):Ht&&xr?(mr=Array.from(new Set([].concat((0,tt.Z)(Rn.current||[]),(0,tt.Z)(Qe({treeData:Jn,expandedKeys:Un,startKey:rr,endKey:ln.current}))))),An.selectedNodes=$e(Jn,mr)):(mr=[rr],ln.current=rr,Rn.current=mr,An.selectedNodes=$e(Jn,mr)),(Pt=Gt.onSelect)===null||Pt===void 0||Pt.call(Gt,mr,An),"selectedKeys"in Gt||an(mr)},{getPrefixCls:Nn,direction:_n}=Be.useContext(fe.E_),{prefixCls:un,className:qt,showIcon:Yt=!0,expandAction:gn="click"}=Gt,_t=gt(Gt,["prefixCls","className","showIcon","expandAction"]),Jt=Nn("tree",un),wt=ye()(`${Jt}-directory`,{[`${Jt}-directory-rtl`]:_n==="rtl"},qt);return Be.createElement(ze,Object.assign({icon:lt,ref:Dt,blockNode:!0},_t,{showIcon:Yt,expandAction:gn,prefixCls:Jt,className:wt,expandedKeys:Un,selectedKeys:er,onSelect:Xn,onExpand:ur}))};var Lt=Be.forwardRef(Et);const St=ze;St.DirectoryTree=Lt,St.TreeNode=Ge.O;var xt=St},20648:function(en,tn,Oe){"use strict";Oe.d(tn,{TM:function(){return je},Yk:function(){return Me}});var Ge=Oe(9792),tt=Oe(98447),Ue=Oe(17313),Ne=Oe(8378),Ke=Oe(37613),Be=Oe(83116);const we=new Ge.Keyframes("ant-tree-node-fx-do-not-use",{"0%":{opacity:0},"100%":{opacity:1}}),Te=(ye,ie)=>({[`.${ye}-switcher-icon`]:{display:"inline-block",fontSize:10,verticalAlign:"baseline",svg:{transition:`transform ${ie.motionDurationSlow}`}}}),ke=(ye,ie)=>({[`.${ye}-drop-indicator`]:{position:"absolute",zIndex:1,height:2,backgroundColor:ie.colorPrimary,borderRadius:1,pointerEvents:"none","&:after":{position:"absolute",top:-3,insetInlineStart:-6,width:8,height:8,backgroundColor:"transparent",border:`${ie.lineWidthBold}px solid ${ie.colorPrimary}`,borderRadius:"50%",content:'""'}}}),Ie=(ye,ie)=>{const{treeCls:ae,treeNodeCls:fe,treeNodePadding:de,titleHeight:ve,nodeSelectedBg:xe,nodeHoverBg:ce}=ie,pe=ie.paddingXS;return{[ae]:Object.assign(Object.assign({},(0,Ue.Wf)(ie)),{background:ie.colorBgContainer,borderRadius:ie.borderRadius,transition:`background-color ${ie.motionDurationSlow}`,[`&${ae}-rtl`]:{[`${ae}-switcher`]:{"&_close":{[`${ae}-switcher-icon`]:{svg:{transform:"rotate(90deg)"}}}}},[`&-focused:not(:hover):not(${ae}-active-focused)`]:Object.assign({},(0,Ue.oN)(ie)),[`${ae}-list-holder-inner`]:{alignItems:"flex-start"},[`&${ae}-block-node`]:{[`${ae}-list-holder-inner`]:{alignItems:"stretch",[`${ae}-node-content-wrapper`]:{flex:"auto"},[`${fe}.dragging`]:{position:"relative","&:after":{position:"absolute",top:0,insetInlineEnd:0,bottom:de,insetInlineStart:0,border:`1px solid ${ie.colorPrimary}`,opacity:0,animationName:we,animationDuration:ie.motionDurationSlow,animationPlayState:"running",animationFillMode:"forwards",content:'""',pointerEvents:"none"}}}},[`${fe}`]:{display:"flex",alignItems:"flex-start",padding:`0 0 ${de}px 0`,outline:"none","&-rtl":{direction:"rtl"},"&-disabled":{[`${ae}-node-content-wrapper`]:{color:ie.colorTextDisabled,cursor:"not-allowed","&:hover":{background:"transparent"}}},[`&-active ${ae}-node-content-wrapper`]:Object.assign({},(0,Ue.oN)(ie)),[`&:not(${fe}-disabled).filter-node ${ae}-title`]:{color:"inherit",fontWeight:500},"&-draggable":{[`${ae}-draggable-icon`]:{flexShrink:0,width:ve,lineHeight:`${ve}px`,textAlign:"center",visibility:"visible",opacity:.2,transition:`opacity ${ie.motionDurationSlow}`,[`${fe}:hover &`]:{opacity:.45}},[`&${fe}-disabled`]:{[`${ae}-draggable-icon`]:{visibility:"hidden"}}}},[`${ae}-indent`]:{alignSelf:"stretch",whiteSpace:"nowrap",userSelect:"none","&-unit":{display:"inline-block",width:ve}},[`${ae}-draggable-icon`]:{visibility:"hidden"},[`${ae}-switcher`]:Object.assign(Object.assign({},Te(ye,ie)),{position:"relative",flex:"none",alignSelf:"stretch",width:ve,margin:0,lineHeight:`${ve}px`,textAlign:"center",cursor:"pointer",userSelect:"none","&-noop":{cursor:"default"},"&_close":{[`${ae}-switcher-icon`]:{svg:{transform:"rotate(-90deg)"}}},"&-loading-icon":{color:ie.colorPrimary},"&-leaf-line":{position:"relative",zIndex:1,display:"inline-block",width:"100%",height:"100%","&:before":{position:"absolute",top:0,insetInlineEnd:ve/2,bottom:-de,marginInlineStart:-1,borderInlineEnd:`1px solid ${ie.colorBorder}`,content:'""'},"&:after":{position:"absolute",width:ve/2*.8,height:ve/2,borderBottom:`1px solid ${ie.colorBorder}`,content:'""'}}}),[`${ae}-checkbox`]:{top:"initial",marginInlineEnd:pe},[`${ae}-node-content-wrapper, ${ae}-checkbox + span`]:{position:"relative",zIndex:"auto",minHeight:ve,margin:0,padding:`0 ${ie.paddingXS/2}px`,color:"inherit",lineHeight:`${ve}px`,background:"transparent",borderRadius:ie.borderRadius,cursor:"pointer",transition:`all ${ie.motionDurationMid}, border 0s, line-height 0s, box-shadow 0s`,"&:hover":{backgroundColor:ce},[`&${ae}-node-selected`]:{backgroundColor:xe},[`${ae}-iconEle`]:{display:"inline-block",width:ve,height:ve,lineHeight:`${ve}px`,textAlign:"center",verticalAlign:"top","&:empty":{display:"none"}}},[`${ae}-unselectable ${ae}-node-content-wrapper:hover`]:{backgroundColor:"transparent"},[`${ae}-node-content-wrapper`]:Object.assign({lineHeight:`${ve}px`,userSelect:"none"},ke(ye,ie)),[`${fe}.drop-container`]:{"> [draggable]":{boxShadow:`0 0 0 2px ${ie.colorPrimary}`}},"&-show-line":{[`${ae}-indent`]:{"&-unit":{position:"relative",height:"100%","&:before":{position:"absolute",top:0,insetInlineEnd:ve/2,bottom:-de,borderInlineEnd:`1px solid ${ie.colorBorder}`,content:'""'},"&-end":{"&:before":{display:"none"}}}},[`${ae}-switcher`]:{background:"transparent","&-line-icon":{verticalAlign:"-0.15em"}}},[`${fe}-leaf-last`]:{[`${ae}-switcher`]:{"&-leaf-line":{"&:before":{top:"auto !important",bottom:"auto !important",height:`${ve/2}px !important`}}}}})}},Ce=ye=>{const{treeCls:ie,treeNodeCls:ae,treeNodePadding:fe,directoryNodeSelectedBg:de,directoryNodeSelectedColor:ve}=ye;return{[`${ie}${ie}-directory`]:{[ae]:{position:"relative","&:before":{position:"absolute",top:0,insetInlineEnd:0,bottom:fe,insetInlineStart:0,transition:`background-color ${ye.motionDurationMid}`,content:'""',pointerEvents:"none"},"&:hover":{"&:before":{background:ye.controlItemBgHover}},"> *":{zIndex:1},[`${ie}-switcher`]:{transition:`color ${ye.motionDurationMid}`},[`${ie}-node-content-wrapper`]:{borderRadius:0,userSelect:"none","&:hover":{background:"transparent"},[`&${ie}-node-selected`]:{color:ve,background:"transparent"}},"&-selected":{"\n &:hover::before,\n &::before\n ":{background:de},[`${ie}-switcher`]:{color:ve},[`${ie}-node-content-wrapper`]:{color:ve,background:"transparent"}}}}}},Me=(ye,ie)=>{const ae=`.${ye}`,fe=`${ae}-treenode`,de=ie.paddingXS/2,ve=(0,Ke.TS)(ie,{treeCls:ae,treeNodeCls:fe,treeNodePadding:de});return[Ie(ye,ve),Ce(ve)]},je=ye=>{const{controlHeightSM:ie}=ye;return{titleHeight:ie,nodeHoverBg:ye.controlItemBgHover,nodeSelectedBg:ye.controlItemBgActive}};tn.ZP=(0,Be.Z)("Tree",(ye,ie)=>{let{prefixCls:ae}=ie;return[{[ye.componentCls]:(0,tt.C2)(`${ae}-checkbox`,ye)},Me(ae,ye),(0,Ne.Z)(ye)]},ye=>{const{colorTextLightSolid:ie,colorPrimary:ae}=ye;return Object.assign(Object.assign({},je(ye)),{directoryNodeSelectedColor:ie,directoryNodeSelectedBg:ae})})},48610:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return fe}});var Ge=Oe(5891),tt=Oe(59301),Ue={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"}}]},name:"caret-down",theme:"filled"},Ne=Ue,Ke=Oe(88853),Be=function(ve,xe){return tt.createElement(Ke.Z,(0,Ge.Z)({},ve,{ref:xe,icon:Ne}))},we=tt.forwardRef(Be),Te=we,ke=Oe(43971),Ie=Oe(50023),Ce=Oe(77042),Me=Oe(5527),je=Oe(92310),ye=Oe.n(je),ie=Oe(92343),fe=de=>{const{prefixCls:ve,switcherIcon:xe,treeNodeProps:ce,showLine:pe}=de,{isLeaf:Se,expanded:Le,loading:ze}=ce;if(ze)return tt.createElement(Ie.Z,{className:`${ve}-switcher-loading-icon`});let Ze;if(pe&&typeof pe=="object"&&(Ze=pe.showLeafIcon),Se){if(!pe)return null;if(typeof Ze!="boolean"&&Ze){const $e=typeof Ze=="function"?Ze(ce):Ze,gt=`${ve}-switcher-line-custom-icon`;return(0,ie.l$)($e)?(0,ie.Tm)($e,{className:ye()($e.props.className||"",gt)}):$e}return Ze?tt.createElement(ke.Z,{className:`${ve}-switcher-line-icon`}):tt.createElement("span",{className:`${ve}-switcher-leaf-line`})}const Ve=`${ve}-switcher-icon`,Qe=typeof xe=="function"?xe(ce):xe;return(0,ie.l$)(Qe)?(0,ie.Tm)(Qe,{className:ye()(Qe.props.className||"",Ve)}):Qe!==void 0?Qe:pe?Le?tt.createElement(Ce.Z,{className:`${ve}-switcher-line-icon`}):tt.createElement(Me.Z,{className:`${ve}-switcher-line-icon`}):tt.createElement(Te,{className:Ve})}},24645:function(en,tn,Oe){"use strict";Oe.d(tn,{default:function(){return dn}});var Ge=Oe(59301),tt=Oe(26390),Ue=Oe(92310),Ne=Oe.n(Ue),Ke=Oe(5891),Be=Oe(79545),we=Oe(68550),Te=Oe(17928),ke=Oe(7711),Ie=Oe(80962),Ce=Oe(19149),Me=Oe(50204),je=Oe(80665),ye=Oe(20959),ie=Oe(36994);function ae(Bn,tr){var hr="cannot ".concat(Bn.method," ").concat(Bn.action," ").concat(tr.status,"'"),pr=new Error(hr);return pr.status=tr.status,pr.method=Bn.method,pr.url=Bn.action,pr}function fe(Bn){var tr=Bn.responseText||Bn.response;if(!tr)return tr;try{return JSON.parse(tr)}catch(hr){return tr}}function de(Bn){var tr=new XMLHttpRequest;Bn.onProgress&&tr.upload&&(tr.upload.onprogress=function(gr){gr.total>0&&(gr.percent=gr.loaded/gr.total*100),Bn.onProgress(gr)});var hr=new FormData;Bn.data&&Object.keys(Bn.data).forEach(function(Mr){var gr=Bn.data[Mr];if(Array.isArray(gr)){gr.forEach(function(Nr){hr.append("".concat(Mr,"[]"),Nr)});return}hr.append(Mr,gr)}),Bn.file instanceof Blob?hr.append(Bn.filename,Bn.file,Bn.file.name):hr.append(Bn.filename,Bn.file),tr.onerror=function(gr){Bn.onError(gr)},tr.onload=function(){return tr.status<200||tr.status>=300?Bn.onError(ae(Bn,tr),fe(tr)):Bn.onSuccess(fe(tr),tr)},tr.open(Bn.method,Bn.action,!0),Bn.withCredentials&&"withCredentials"in tr&&(tr.withCredentials=!0);var pr=Bn.headers||{};return pr["X-Requested-With"]!==null&&tr.setRequestHeader("X-Requested-With","XMLHttpRequest"),Object.keys(pr).forEach(function(Mr){pr[Mr]!==null&&tr.setRequestHeader(Mr,pr[Mr])}),tr.send(hr),{abort:function(){tr.abort()}}}var ve=+new Date,xe=0;function ce(){return"rc-upload-".concat(ve,"-").concat(++xe)}var pe=Oe(51395),Se=function(Bn,tr){if(Bn&&tr){var hr=Array.isArray(tr)?tr:tr.split(","),pr=Bn.name||"",Mr=Bn.type||"",gr=Mr.replace(/\/.*$/,"");return hr.some(function(Nr){var Kr=Nr.trim();if(/^\*(\/\*)?$/.test(Nr))return!0;if(Kr.charAt(0)==="."){var Hn=pr.toLowerCase(),br=Kr.toLowerCase(),ui=[br];return(br===".jpg"||br===".jpeg")&&(ui=[".jpg",".jpeg"]),ui.some(function(gi){return Hn.endsWith(gi)})}return/\/\*$/.test(Kr)?gr===Kr.replace(/\/.*$/,""):Mr===Kr?!0:/^\w+$/.test(Kr)?((0,pe.ZP)(!1,"Upload takes an invalidate 'accept' type '".concat(Kr,"'.Skip for check.")),!0):!1})}return!0};function Le(Bn,tr){var hr=Bn.createReader(),pr=[];function Mr(){hr.readEntries(function(gr){var Nr=Array.prototype.slice.apply(gr);pr=pr.concat(Nr);var Kr=!Nr.length;Kr?tr(pr):Mr()})}Mr()}var ze=function(tr,hr,pr){var Mr=function gr(Nr,Kr){Nr&&(Nr.path=Kr||"",Nr.isFile?Nr.file(function(Hn){pr(Hn)&&(Nr.fullPath&&!Hn.webkitRelativePath&&(Object.defineProperties(Hn,{webkitRelativePath:{writable:!0}}),Hn.webkitRelativePath=Nr.fullPath.replace(/^\//,""),Object.defineProperties(Hn,{webkitRelativePath:{writable:!1}})),hr([Hn]))}):Nr.isDirectory&&Le(Nr,function(Hn){Hn.forEach(function(br){gr(br,"".concat(Kr).concat(Nr.name,"/"))})}))};tr.forEach(function(gr){Mr(gr.webkitGetAsEntry())})},Ze=ze,Ve=["component","prefixCls","className","disabled","id","style","multiple","accept","capture","children","directory","openFileDialogOnClick","onMouseEnter","onMouseLeave"],Qe=function(Bn){(0,Te.Z)(hr,Bn);var tr=(0,ke.Z)(hr);function hr(){var pr;(0,Be.Z)(this,hr);for(var Mr=arguments.length,gr=new Array(Mr),Nr=0;Nr<Mr;Nr++)gr[Nr]=arguments[Nr];return pr=tr.call.apply(tr,[this].concat(gr)),pr.state={uid:ce()},pr.reqs={},pr.fileInput=void 0,pr._isMounted=void 0,pr.onChange=function(Kr){var Hn=pr.props,br=Hn.accept,ui=Hn.directory,gi=Kr.target.files,Zi=(0,tt.Z)(gi).filter(function(nr){return!ui||Se(nr,br)});pr.uploadFiles(Zi),pr.reset()},pr.onClick=function(Kr){var Hn=pr.fileInput;if(Hn){var br=Kr.target,ui=pr.props.onClick;if(br&&br.tagName==="BUTTON"){var gi=Hn.parentNode;gi.focus(),br.blur()}Hn.click(),ui&&ui(Kr)}},pr.onKeyDown=function(Kr){Kr.key==="Enter"&&pr.onClick(Kr)},pr.onFileDrop=function(Kr){var Hn=pr.props.multiple;if(Kr.preventDefault(),Kr.type!=="dragover")if(pr.props.directory)Ze(Array.prototype.slice.call(Kr.dataTransfer.items),pr.uploadFiles,function(ui){return Se(ui,pr.props.accept)});else{var br=(0,tt.Z)(Kr.dataTransfer.files).filter(function(ui){return Se(ui,pr.props.accept)});Hn===!1&&(br=br.slice(0,1)),pr.uploadFiles(br)}},pr.uploadFiles=function(Kr){var Hn=(0,tt.Z)(Kr),br=Hn.map(function(ui){return ui.uid=ce(),pr.processFile(ui,Hn)});Promise.all(br).then(function(ui){var gi=pr.props.onBatchStart;gi==null||gi(ui.map(function(Zi){var nr=Zi.origin,xi=Zi.parsedFile;return{file:nr,parsedFile:xi}})),ui.filter(function(Zi){return Zi.parsedFile!==null}).forEach(function(Zi){pr.post(Zi)})})},pr.processFile=function(){var Kr=(0,ye.Z)((0,Me.Z)().mark(function Hn(br,ui){var gi,Zi,nr,xi,Vi,Gi,Ao,io,Do;return(0,Me.Z)().wrap(function(Ui){for(;;)switch(Ui.prev=Ui.next){case 0:if(gi=pr.props.beforeUpload,Zi=br,!gi){Ui.next=14;break}return Ui.prev=3,Ui.next=6,gi(br,ui);case 6:Zi=Ui.sent,Ui.next=12;break;case 9:Ui.prev=9,Ui.t0=Ui.catch(3),Zi=!1;case 12:if(Zi!==!1){Ui.next=14;break}return Ui.abrupt("return",{origin:br,parsedFile:null,action:null,data:null});case 14:if(nr=pr.props.action,typeof nr!="function"){Ui.next=21;break}return Ui.next=18,nr(br);case 18:xi=Ui.sent,Ui.next=22;break;case 21:xi=nr;case 22:if(Vi=pr.props.data,typeof Vi!="function"){Ui.next=29;break}return Ui.next=26,Vi(br);case 26:Gi=Ui.sent,Ui.next=30;break;case 29:Gi=Vi;case 30:return Ao=((0,je.Z)(Zi)==="object"||typeof Zi=="string")&&Zi?Zi:br,Ao instanceof File?io=Ao:io=new File([Ao],br.name,{type:br.type}),Do=io,Do.uid=br.uid,Ui.abrupt("return",{origin:br,data:Gi,parsedFile:Do,action:xi});case 35:case"end":return Ui.stop()}},Hn,null,[[3,9]])}));return function(Hn,br){return Kr.apply(this,arguments)}}(),pr.saveFileInput=function(Kr){pr.fileInput=Kr},pr}return(0,we.Z)(hr,[{key:"componentDidMount",value:function(){this._isMounted=!0}},{key:"componentWillUnmount",value:function(){this._isMounted=!1,this.abort()}},{key:"post",value:function(Mr){var gr=this,Nr=Mr.data,Kr=Mr.origin,Hn=Mr.action,br=Mr.parsedFile;if(this._isMounted){var ui=this.props,gi=ui.onStart,Zi=ui.customRequest,nr=ui.name,xi=ui.headers,Vi=ui.withCredentials,Gi=ui.method,Ao=Kr.uid,io=Zi||de,Do={action:Hn,filename:nr,data:Nr,file:br,headers:xi,withCredentials:Vi,method:Gi||"post",onProgress:function(Ui){var Xo=gr.props.onProgress;Xo==null||Xo(Ui,br)},onSuccess:function(Ui,Xo){var Hr=gr.props.onSuccess;Hr==null||Hr(Ui,br,Xo),delete gr.reqs[Ao]},onError:function(Ui,Xo){var Hr=gr.props.onError;Hr==null||Hr(Ui,Xo,br),delete gr.reqs[Ao]}};gi(Kr),this.reqs[Ao]=io(Do)}}},{key:"reset",value:function(){this.setState({uid:ce()})}},{key:"abort",value:function(Mr){var gr=this.reqs;if(Mr){var Nr=Mr.uid?Mr.uid:Mr;gr[Nr]&&gr[Nr].abort&&gr[Nr].abort(),delete gr[Nr]}else Object.keys(gr).forEach(function(Kr){gr[Kr]&&gr[Kr].abort&&gr[Kr].abort(),delete gr[Kr]})}},{key:"render",value:function(){var Mr=this.props,gr=Mr.component,Nr=Mr.prefixCls,Kr=Mr.className,Hn=Mr.disabled,br=Mr.id,ui=Mr.style,gi=Mr.multiple,Zi=Mr.accept,nr=Mr.capture,xi=Mr.children,Vi=Mr.directory,Gi=Mr.openFileDialogOnClick,Ao=Mr.onMouseEnter,io=Mr.onMouseLeave,Do=(0,Ce.Z)(Mr,Ve),Bo=Ne()((0,Ie.Z)((0,Ie.Z)((0,Ie.Z)({},Nr,!0),"".concat(Nr,"-disabled"),Hn),Kr,Kr)),Ui=Vi?{directory:"directory",webkitdirectory:"webkitdirectory"}:{},Xo=Hn?{}:{onClick:Gi?this.onClick:function(){},onKeyDown:Gi?this.onKeyDown:function(){},onMouseEnter:Ao,onMouseLeave:io,onDrop:this.onFileDrop,onDragOver:this.onFileDrop,tabIndex:"0"};return Ge.createElement(gr,(0,Ke.Z)({},Xo,{className:Bo,role:"button",style:ui}),Ge.createElement("input",(0,Ke.Z)({},(0,ie.Z)(Do,{aria:!0,data:!0}),{id:br,disabled:Hn,type:"file",ref:this.saveFileInput,onClick:function(wa){return wa.stopPropagation()},key:this.state.uid,style:{display:"none"},accept:Zi},Ui,{multiple:gi,onChange:this.onChange},nr!=null?{capture:nr}:{})),xi)}}]),hr}(Ge.Component),$e=Qe;function gt(){}var lt=function(Bn){(0,Te.Z)(hr,Bn);var tr=(0,ke.Z)(hr);function hr(){var pr;(0,Be.Z)(this,hr);for(var Mr=arguments.length,gr=new Array(Mr),Nr=0;Nr<Mr;Nr++)gr[Nr]=arguments[Nr];return pr=tr.call.apply(tr,[this].concat(gr)),pr.uploader=void 0,pr.saveUploader=function(Kr){pr.uploader=Kr},pr}return(0,we.Z)(hr,[{key:"abort",value:function(Mr){this.uploader.abort(Mr)}},{key:"render",value:function(){return Ge.createElement($e,(0,Ke.Z)({},this.props,{ref:this.saveUploader}))}}]),hr}(Ge.Component);lt.defaultProps={component:"span",prefixCls:"rc-upload",data:{},headers:{},name:"file",multipart:!1,onStart:gt,onError:gt,onSuccess:gt,multiple:!1,beforeUpload:null,customRequest:null,withCredentials:!1,openFileDialogOnClick:!0};var At=lt,Et=At,vt=Oe(35788),Lt=Oe(4676),St=Oe(36355),xt=Oe(1684),ct=Oe(9763),Dt=Oe(31724),Xt={icon:function(tr,hr){return{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M534 352V136H232v752h560V394H576a42 42 0 01-42-42z",fill:hr}},{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0042 42h216v494z",fill:tr}}]}},name:"file",theme:"twotone"},kt=Xt,Rt=Oe(88853),Gt=function(tr,hr){return Ge.createElement(Rt.Z,(0,Ke.Z)({},tr,{ref:hr,icon:kt}))},ln=Ge.forwardRef(Gt),Rn=ln,jn=Oe(50023),er={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M779.3 196.6c-94.2-94.2-247.6-94.2-341.7 0l-261 260.8c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0012.7 0l261-260.8c32.4-32.4 75.5-50.2 121.3-50.2s88.9 17.8 121.2 50.2c32.4 32.4 50.2 75.5 50.2 121.2 0 45.8-17.8 88.8-50.2 121.2l-266 265.9-43.1 43.1c-40.3 40.3-105.8 40.3-146.1 0-19.5-19.5-30.2-45.4-30.2-73s10.7-53.5 30.2-73l263.9-263.8c6.7-6.6 15.5-10.3 24.9-10.3h.1c9.4 0 18.1 3.7 24.7 10.3 6.7 6.7 10.3 15.5 10.3 24.9 0 9.3-3.7 18.1-10.3 24.7L372.4 653c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0012.7 0l215.6-215.6c19.9-19.9 30.8-46.3 30.8-74.4s-11-54.6-30.8-74.4c-41.1-41.1-107.9-41-149 0L463 364 224.8 602.1A172.22 172.22 0 00174 724.8c0 46.3 18.1 89.8 50.8 122.5 33.9 33.8 78.3 50.7 122.7 50.7 44.4 0 88.8-16.9 122.6-50.7l309.2-309C824.8 492.7 850 432 850 367.5c.1-64.6-25.1-125.3-70.7-170.9z"}}]},name:"paper-clip",theme:"outlined"},an=er,Un=function(tr,hr){return Ge.createElement(Rt.Z,(0,Ke.Z)({},tr,{ref:hr,icon:an}))},Kn=Ge.forwardRef(Un),ur=Kn,Xn={icon:function(tr,hr){return{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2z",fill:tr}},{tag:"path",attrs:{d:"M424.6 765.8l-150.1-178L136 752.1V792h752v-30.4L658.1 489z",fill:hr}},{tag:"path",attrs:{d:"M136 652.7l132.4-157c3.2-3.8 9-3.8 12.2 0l144 170.7L652 396.8c3.2-3.8 9-3.8 12.2 0L888 662.2V232H136v420.7zM304 280a88 88 0 110 176 88 88 0 010-176z",fill:hr}},{tag:"path",attrs:{d:"M276 368a28 28 0 1056 0 28 28 0 10-56 0z",fill:hr}},{tag:"path",attrs:{d:"M304 456a88 88 0 100-176 88 88 0 000 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z",fill:tr}}]}},name:"picture",theme:"twotone"},Nn=Xn,_n=function(tr,hr){return Ge.createElement(Rt.Z,(0,Ke.Z)({},tr,{ref:hr,icon:Nn}))},un=Ge.forwardRef(_n),qt=un,Yt=Oe(43469),gn=Oe(56762),_t=Oe(62892),Jt=Oe(92343),wt=Oe(3113);function ut(Bn){return Object.assign(Object.assign({},Bn),{lastModified:Bn.lastModified,lastModifiedDate:Bn.lastModifiedDate,name:Bn.name,size:Bn.size,type:Bn.type,uid:Bn.uid,percent:0,originFileObj:Bn})}function ot(Bn,tr){const hr=(0,tt.Z)(tr),pr=hr.findIndex(Mr=>{let{uid:gr}=Mr;return gr===Bn.uid});return pr===-1?hr.push(Bn):hr[pr]=Bn,hr}function Pt(Bn,tr){const hr=Bn.uid!==void 0?"uid":"name";return tr.filter(pr=>pr[hr]===Bn[hr])[0]}function Ht(Bn,tr){const hr=Bn.uid!==void 0?"uid":"name",pr=tr.filter(Mr=>Mr[hr]!==Bn[hr]);return pr.length===tr.length?null:pr}const Mt=function(){const tr=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:"").split("/"),pr=tr[tr.length-1].split(/#|\?/)[0];return(/\.[^./\\]*$/.exec(pr)||[""])[0]},hn=Bn=>Bn.indexOf("image/")===0,rr=Bn=>{if(Bn.type&&!Bn.thumbUrl)return hn(Bn.type);const tr=Bn.thumbUrl||Bn.url||"",hr=Mt(tr);return/^data:image\//.test(tr)||/(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico|heic|heif)$/i.test(hr)?!0:!(/^data:/.test(tr)||hr)},Jn=200;function An(Bn){return new Promise(tr=>{if(!Bn.type||!hn(Bn.type)){tr("");return}const hr=document.createElement("canvas");hr.width=Jn,hr.height=Jn,hr.style.cssText=`position: fixed; left: 0; top: 0; width: ${Jn}px; height: ${Jn}px; z-index: 9999; display: none;`,document.body.appendChild(hr);const pr=hr.getContext("2d"),Mr=new Image;if(Mr.onload=()=>{const{width:gr,height:Nr}=Mr;let Kr=Jn,Hn=Jn,br=0,ui=0;gr>Nr?(Hn=Nr*(Jn/gr),ui=-(Hn-Kr)/2):(Kr=gr*(Jn/Nr),br=-(Kr-Hn)/2),pr.drawImage(Mr,br,ui,Kr,Hn);const gi=hr.toDataURL();document.body.removeChild(hr),window.URL.revokeObjectURL(Mr.src),tr(gi)},Mr.crossOrigin="anonymous",Bn.type.startsWith("image/svg+xml")){const gr=new FileReader;gr.onload=()=>{gr.result&&(Mr.src=gr.result)},gr.readAsDataURL(Bn)}else if(Bn.type.startsWith("image/gif")){const gr=new FileReader;gr.onload=()=>{gr.result&&tr(gr.result)},gr.readAsDataURL(Bn)}else Mr.src=window.URL.createObjectURL(Bn)})}var $n=Oe(72295),xr=Oe(24566),mr=Oe(30631),Qr=Oe(93948),di=Oe(6848),Ai=Ge.forwardRef((Bn,tr)=>{let{prefixCls:hr,className:pr,style:Mr,locale:gr,listType:Nr,file:Kr,items:Hn,progress:br,iconRender:ui,actionIconRender:gi,itemRender:Zi,isImgUrl:nr,showPreviewIcon:xi,showRemoveIcon:Vi,showDownloadIcon:Gi,previewIcon:Ao,removeIcon:io,downloadIcon:Do,onPreview:Bo,onDownload:Ui,onClose:Xo}=Bn;var Hr,wa;const{status:Zr}=Kr,[Ca,ss]=Ge.useState(Zr);Ge.useEffect(()=>{Zr!=="removed"&&ss(Zr)},[Zr]);const[oa,Os]=Ge.useState(!1);Ge.useEffect(()=>{const ta=setTimeout(()=>{Os(!0)},300);return()=>{clearTimeout(ta)}},[]);const rs=ui(Kr);let po=Ge.createElement("div",{className:`${hr}-icon`},rs);if(Nr==="picture"||Nr==="picture-card"||Nr==="picture-circle")if(Ca==="uploading"||!Kr.thumbUrl&&!Kr.url){const ta=Ne()(`${hr}-list-item-thumbnail`,{[`${hr}-list-item-file`]:Ca!=="uploading"});po=Ge.createElement("div",{className:ta},rs)}else{const ta=nr!=null&&nr(Kr)?Ge.createElement("img",{src:Kr.thumbUrl||Kr.url,alt:Kr.name,className:`${hr}-list-item-image`,crossOrigin:Kr.crossOrigin}):rs,Qo=Ne()(`${hr}-list-item-thumbnail`,{[`${hr}-list-item-file`]:nr&&!nr(Kr)});po=Ge.createElement("a",{className:Qo,onClick:Ba=>Bo(Kr,Ba),href:Kr.url||Kr.thumbUrl,target:"_blank",rel:"noopener noreferrer"},ta)}const zo=Ne()(`${hr}-list-item`,`${hr}-list-item-${Ca}`),za=typeof Kr.linkProps=="string"?JSON.parse(Kr.linkProps):Kr.linkProps,Ka=Vi?gi((typeof io=="function"?io(Kr):io)||Ge.createElement($n.Z,null),()=>Xo(Kr),hr,gr.removeFile):null,Ji=Gi&&Ca==="done"?gi((typeof Do=="function"?Do(Kr):Do)||Ge.createElement(xr.Z,null),()=>Ui(Kr),hr,gr.downloadFile):null,yn=Nr!=="picture-card"&&Nr!=="picture-circle"&&Ge.createElement("span",{key:"download-delete",className:Ne()(`${hr}-list-item-actions`,{picture:Nr==="picture"})},Ji,Ka),ja=Ne()(`${hr}-list-item-name`),is=Kr.url?[Ge.createElement("a",Object.assign({key:"view",target:"_blank",rel:"noopener noreferrer",className:ja,title:Kr.name},za,{href:Kr.url,onClick:ta=>Bo(Kr,ta)}),Kr.name),yn]:[Ge.createElement("span",{key:"view",className:ja,onClick:ta=>Bo(Kr,ta),title:Kr.name},Kr.name),yn],_a={pointerEvents:"none",opacity:.5},Us=xi?Ge.createElement("a",{href:Kr.url||Kr.thumbUrl,target:"_blank",rel:"noopener noreferrer",style:Kr.url||Kr.thumbUrl?void 0:_a,onClick:ta=>Bo(Kr,ta),title:gr.previewFile},typeof Ao=="function"?Ao(Kr):Ao||Ge.createElement(mr.Z,null)):null,ma=(Nr==="picture-card"||Nr==="picture-circle")&&Ca!=="uploading"&&Ge.createElement("span",{className:`${hr}-list-item-actions`},Us,Ca==="done"&&Ji,Ka),{getPrefixCls:aa}=Ge.useContext(St.E_),ys=aa(),Fs=Ge.createElement("div",{className:zo},po,is,ma,oa&&Ge.createElement(Yt.default,{motionName:`${ys}-fade`,visible:Ca==="uploading",motionDeadline:2e3},ta=>{let{className:Qo}=ta;const Ba="percent"in Kr?Ge.createElement(Qr.Z,Object.assign({},br,{type:"line",percent:Kr.percent,"aria-label":Kr["aria-label"],"aria-labelledby":Kr["aria-labelledby"]})):null;return Ge.createElement("div",{className:Ne()(`${hr}-list-item-progress`,Qo)},Ba)})),es=Kr.response&&typeof Kr.response=="string"?Kr.response:((Hr=Kr.error)===null||Hr===void 0?void 0:Hr.statusText)||((wa=Kr.error)===null||wa===void 0?void 0:wa.message)||gr.uploadError,ml=Ca==="error"?Ge.createElement(di.Z,{title:es,getPopupContainer:ta=>ta.parentNode},Fs):Fs;return Ge.createElement("div",{className:Ne()(`${hr}-list-item-container`,pr),style:Mr,ref:tr},Zi?Zi(ml,Kr,Hn,{download:Ui.bind(null,Kr),preview:Bo.bind(null,Kr),remove:Xo.bind(null,Kr)}):ml)});const fo=(Bn,tr)=>{const{listType:hr="text",previewFile:pr=An,onPreview:Mr,onDownload:gr,onRemove:Nr,locale:Kr,iconRender:Hn,isImageUrl:br=rr,prefixCls:ui,items:gi=[],showPreviewIcon:Zi=!0,showRemoveIcon:nr=!0,showDownloadIcon:xi=!1,removeIcon:Vi,previewIcon:Gi,downloadIcon:Ao,progress:io={size:[-1,2],showInfo:!1},appendAction:Do,appendActionVisible:Bo=!0,itemRender:Ui,disabled:Xo}=Bn,Hr=(0,gn.Z)(),[wa,Zr]=Ge.useState(!1);Ge.useEffect(()=>{hr!=="picture"&&hr!=="picture-card"&&hr!=="picture-circle"||(gi||[]).forEach(_a=>{typeof document=="undefined"||typeof window=="undefined"||!window.FileReader||!window.File||!(_a.originFileObj instanceof File||_a.originFileObj instanceof Blob)||_a.thumbUrl!==void 0||(_a.thumbUrl="",pr&&pr(_a.originFileObj).then(Us=>{_a.thumbUrl=Us||"",Hr()}))})},[hr,gi,pr]),Ge.useEffect(()=>{Zr(!0)},[]);const Ca=(_a,Us)=>{if(Mr)return Us==null||Us.preventDefault(),Mr(_a)},ss=_a=>{typeof gr=="function"?gr(_a):_a.url&&window.open(_a.url)},oa=_a=>{Nr==null||Nr(_a)},Os=_a=>{if(Hn)return Hn(_a,hr);const Us=_a.status==="uploading",ma=br&&br(_a)?Ge.createElement(qt,null):Ge.createElement(Rn,null);let aa=Us?Ge.createElement(jn.Z,null):Ge.createElement(ur,null);return hr==="picture"?aa=Us?Ge.createElement(jn.Z,null):ma:(hr==="picture-card"||hr==="picture-circle")&&(aa=Us?Kr.uploading:ma),aa},rs=(_a,Us,ma,aa)=>{const ys={type:"text",size:"small",title:aa,onClick:Fs=>{Us(),(0,Jt.l$)(_a)&&_a.props.onClick&&_a.props.onClick(Fs)},className:`${ma}-list-item-action`,disabled:Xo};if((0,Jt.l$)(_a)){const Fs=(0,Jt.Tm)(_a,Object.assign(Object.assign({},_a.props),{onClick:()=>{}}));return Ge.createElement(wt.ZP,Object.assign({},ys,{icon:Fs}))}return Ge.createElement(wt.ZP,Object.assign({},ys),Ge.createElement("span",null,_a))};Ge.useImperativeHandle(tr,()=>({handlePreview:Ca,handleDownload:ss}));const{getPrefixCls:po}=Ge.useContext(St.E_),zo=po("upload",ui),za=po(),Ka=Ne()(`${zo}-list`,`${zo}-list-${hr}`),Ji=(0,tt.Z)(gi.map(_a=>({key:_a.uid,file:_a})));let ja={motionDeadline:2e3,motionName:`${zo}-${hr==="picture-card"||hr==="picture-circle"?"animate-inline":"animate"}`,keys:Ji,motionAppear:wa};const is=Ge.useMemo(()=>{const _a=Object.assign({},(0,_t.Z)(za));return delete _a.onAppearEnd,delete _a.onEnterEnd,delete _a.onLeaveEnd,_a},[za]);return hr!=="picture-card"&&hr!=="picture-circle"&&(ja=Object.assign(Object.assign({},is),ja)),Ge.createElement("div",{className:Ka},Ge.createElement(Yt.CSSMotionList,Object.assign({},ja,{component:!1}),_a=>{let{key:Us,file:ma,className:aa,style:ys}=_a;return Ge.createElement(Ai,{key:Us,locale:Kr,prefixCls:zo,className:aa,style:ys,file:ma,items:gi,progress:io,listType:hr,isImgUrl:br,showPreviewIcon:Zi,showRemoveIcon:nr,showDownloadIcon:xi,removeIcon:Vi,previewIcon:Gi,downloadIcon:Ao,iconRender:Os,actionIconRender:rs,itemRender:Ui,onPreview:Ca,onDownload:ss,onClose:oa})}),Do&&Ge.createElement(Yt.default,Object.assign({},ja,{visible:Bo,forceRender:!0}),_a=>{let{className:Us,style:ma}=_a;return(0,Jt.Tm)(Do,aa=>({className:Ne()(aa.className,Us),style:Object.assign(Object.assign(Object.assign({},ma),{pointerEvents:Us?"none":void 0}),aa.style)}))}))};var bo=Ge.forwardRef(fo),ai=Oe(17313),Pi=Oe(8378),ao=Oe(83116),Jr=Oe(37613),zi=Bn=>{const{componentCls:tr,iconCls:hr}=Bn;return{[`${tr}-wrapper`]:{[`${tr}-drag`]:{position:"relative",width:"100%",height:"100%",textAlign:"center",background:Bn.colorFillAlter,border:`${Bn.lineWidth}px dashed ${Bn.colorBorder}`,borderRadius:Bn.borderRadiusLG,cursor:"pointer",transition:`border-color ${Bn.motionDurationSlow}`,[tr]:{padding:`${Bn.padding}px 0`},[`${tr}-btn`]:{display:"table",width:"100%",height:"100%",outline:"none"},[`${tr}-drag-container`]:{display:"table-cell",verticalAlign:"middle"},[`&:not(${tr}-disabled):hover`]:{borderColor:Bn.colorPrimaryHover},[`p${tr}-drag-icon`]:{marginBottom:Bn.margin,[hr]:{color:Bn.colorPrimary,fontSize:Bn.uploadThumbnailSize}},[`p${tr}-text`]:{margin:`0 0 ${Bn.marginXXS}px`,color:Bn.colorTextHeading,fontSize:Bn.fontSizeLG},[`p${tr}-hint`]:{color:Bn.colorTextDescription,fontSize:Bn.fontSize},[`&${tr}-disabled`]:{cursor:"not-allowed",[`p${tr}-drag-icon ${hr},
p${tr}-text,
p${tr}-hint
`]:{color:Bn.colorTextDisabled}}}}}},Yo=Bn=>{const{componentCls:tr,antCls:hr,iconCls:pr,fontSize:Mr,lineHeight:gr}=Bn,Nr=`${tr}-list-item`,Kr=`${Nr}-actions`,Hn=`${Nr}-action`,br=Math.round(Mr*gr);return{[`${tr}-wrapper`]:{[`${tr}-list`]:Object.assign(Object.assign({},(0,ai.dF)()),{lineHeight:Bn.lineHeight,[Nr]:{position:"relative",height:Bn.lineHeight*Mr,marginTop:Bn.marginXS,fontSize:Mr,display:"flex",alignItems:"center",transition:`background-color ${Bn.motionDurationSlow}`,"&:hover":{backgroundColor:Bn.controlItemBgHover},[`${Nr}-name`]:Object.assign(Object.assign({},ai.vS),{padding:`0 ${Bn.paddingXS}px`,lineHeight:gr,flex:"auto",transition:`all ${Bn.motionDurationSlow}`}),[Kr]:{[Hn]:{opacity:0},[`${Hn}${hr}-btn-sm`]:{height:br,border:0,lineHeight:1,"> span":{transform:"scale(1)"}},[`
${Hn}:focus-visible,
&.picture ${Hn}
`]:{opacity:1},[pr]:{color:Bn.actionsColor,transition:`all ${Bn.motionDurationSlow}`},[`&:hover ${pr}`]:{color:Bn.colorText}},[`${tr}-icon ${pr}`]:{color:Bn.colorTextDescription,fontSize:Mr},[`${Nr}-progress`]:{position:"absolute",bottom:-Bn.uploadProgressOffset,width:"100%",paddingInlineStart:Mr+Bn.paddingXS,fontSize:Mr,lineHeight:0,pointerEvents:"none","> div":{margin:0}}},[`${Nr}:hover ${Hn}`]:{opacity:1,color:Bn.colorText},[`${Nr}-error`]:{color:Bn.colorError,[`${Nr}-name, ${tr}-icon ${pr}`]:{color:Bn.colorError},[Kr]:{[`${pr}, ${pr}:hover`]:{color:Bn.colorError},[Hn]:{opacity:1}}},[`${tr}-list-item-container`]:{transition:`opacity ${Bn.motionDurationSlow}, height ${Bn.motionDurationSlow}`,"&::before":{display:"table",width:0,height:0,content:'""'}}})}}},ko=Oe(9792),Fr=Oe(1950);const Bi=new ko.Keyframes("uploadAnimateInlineIn",{from:{width:0,height:0,margin:0,padding:0,opacity:0}}),Fi=new ko.Keyframes("uploadAnimateInlineOut",{to:{width:0,height:0,margin:0,padding:0,opacity:0}});var ii=Bn=>{const{componentCls:tr}=Bn,hr=`${tr}-animate-inline`;return[{[`${tr}-wrapper`]:{[`${hr}-appear, ${hr}-enter, ${hr}-leave`]:{animationDuration:Bn.motionDurationSlow,animationTimingFunction:Bn.motionEaseInOutCirc,animationFillMode:"forwards"},[`${hr}-appear, ${hr}-enter`]:{animationName:Bi},[`${hr}-leave`]:{animationName:Fi}}},{[`${tr}-wrapper`]:(0,Fr.J$)(Bn)},Bi,Fi]},Nt=Oe(93398),De=Oe(64993);const He=Bn=>{const{componentCls:tr,iconCls:hr,uploadThumbnailSize:pr,uploadProgressOffset:Mr}=Bn,gr=`${tr}-list`,Nr=`${gr}-item`;return{[`${tr}-wrapper`]:{[`
${gr}${gr}-picture,
${gr}${gr}-picture-card,
${gr}${gr}-picture-circle
`]:{[Nr]:{position:"relative",height:pr+Bn.lineWidth*2+Bn.paddingXS*2,padding:Bn.paddingXS,border:`${Bn.lineWidth}px ${Bn.lineType} ${Bn.colorBorder}`,borderRadius:Bn.borderRadiusLG,"&:hover":{background:"transparent"},[`${Nr}-thumbnail`]:Object.assign(Object.assign({},ai.vS),{width:pr,height:pr,lineHeight:`${pr+Bn.paddingSM}px`,textAlign:"center",flex:"none",[hr]:{fontSize:Bn.fontSizeHeading2,color:Bn.colorPrimary},img:{display:"block",width:"100%",height:"100%",overflow:"hidden"}}),[`${Nr}-progress`]:{bottom:Mr,width:`calc(100% - ${Bn.paddingSM*2}px)`,marginTop:0,paddingInlineStart:pr+Bn.paddingXS}},[`${Nr}-error`]:{borderColor:Bn.colorError,[`${Nr}-thumbnail ${hr}`]:{[`svg path[fill='${Nt.blue[0]}']`]:{fill:Bn.colorErrorBg},[`svg path[fill='${Nt.blue.primary}']`]:{fill:Bn.colorError}}},[`${Nr}-uploading`]:{borderStyle:"dashed",[`${Nr}-name`]:{marginBottom:Mr}}},[`${gr}${gr}-picture-circle ${Nr}`]:{[`&, &::before, ${Nr}-thumbnail`]:{borderRadius:"50%"}}}}},Re=Bn=>{const{componentCls:tr,iconCls:hr,fontSizeLG:pr,colorTextLightSolid:Mr}=Bn,gr=`${tr}-list`,Nr=`${gr}-item`,Kr=Bn.uploadPicCardSize;return{[`
${tr}-wrapper${tr}-picture-card-wrapper,
${tr}-wrapper${tr}-picture-circle-wrapper
`]:Object.assign(Object.assign({},(0,ai.dF)()),{display:"inline-block",width:"100%",[`${tr}${tr}-select`]:{width:Kr,height:Kr,marginInlineEnd:Bn.marginXS,marginBottom:Bn.marginXS,textAlign:"center",verticalAlign:"top",backgroundColor:Bn.colorFillAlter,border:`${Bn.lineWidth}px dashed ${Bn.colorBorder}`,borderRadius:Bn.borderRadiusLG,cursor:"pointer",transition:`border-color ${Bn.motionDurationSlow}`,[`> ${tr}`]:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",textAlign:"center"},[`&:not(${tr}-disabled):hover`]:{borderColor:Bn.colorPrimary}},[`${gr}${gr}-picture-card, ${gr}${gr}-picture-circle`]:{[`${gr}-item-container`]:{display:"inline-block",width:Kr,height:Kr,marginBlock:`0 ${Bn.marginXS}px`,marginInline:`0 ${Bn.marginXS}px`,verticalAlign:"top"},"&::after":{display:"none"},[Nr]:{height:"100%",margin:0,"&::before":{position:"absolute",zIndex:1,width:`calc(100% - ${Bn.paddingXS*2}px)`,height:`calc(100% - ${Bn.paddingXS*2}px)`,backgroundColor:Bn.colorBgMask,opacity:0,transition:`all ${Bn.motionDurationSlow}`,content:'" "'}},[`${Nr}:hover`]:{[`&::before, ${Nr}-actions`]:{opacity:1}},[`${Nr}-actions`]:{position:"absolute",insetInlineStart:0,zIndex:10,width:"100%",whiteSpace:"nowrap",textAlign:"center",opacity:0,transition:`all ${Bn.motionDurationSlow}`,[`${hr}-eye, ${hr}-download, ${hr}-delete`]:{zIndex:10,width:pr,margin:`0 ${Bn.marginXXS}px`,fontSize:pr,cursor:"pointer",transition:`all ${Bn.motionDurationSlow}`,svg:{verticalAlign:"baseline"}}},[`${Nr}-actions, ${Nr}-actions:hover`]:{[`${hr}-eye, ${hr}-download, ${hr}-delete`]:{color:new De.C(Mr).setAlpha(.65).toRgbString(),"&:hover":{color:Mr}}},[`${Nr}-thumbnail, ${Nr}-thumbnail img`]:{position:"static",display:"block",width:"100%",height:"100%",objectFit:"contain"},[`${Nr}-name`]:{display:"none",textAlign:"center"},[`${Nr}-file + ${Nr}-name`]:{position:"absolute",bottom:Bn.margin,display:"block",width:`calc(100% - ${Bn.paddingXS*2}px)`},[`${Nr}-uploading`]:{[`&${Nr}`]:{backgroundColor:Bn.colorFillAlter},[`&::before, ${hr}-eye, ${hr}-download, ${hr}-delete`]:{display:"none"}},[`${Nr}-progress`]:{bottom:Bn.marginXL,width:`calc(100% - ${Bn.paddingXS*2}px)`,paddingInlineStart:0}}}),[`${tr}-wrapper${tr}-picture-circle-wrapper`]:{[`${tr}${tr}-select`]:{borderRadius:"50%"}}}};var ft=Bn=>{const{componentCls:tr}=Bn;return{[`${tr}-rtl`]:{direction:"rtl"}}};const Bt=Bn=>{const{componentCls:tr,colorTextDisabled:hr}=Bn;return{[`${tr}-wrapper`]:Object.assign(Object.assign({},(0,ai.Wf)(Bn)),{[tr]:{outline:0,"input[type='file']":{cursor:"pointer"}},[`${tr}-select`]:{display:"inline-block"},[`${tr}-disabled`]:{color:hr,cursor:"not-allowed"}})}};var Ct=(0,ao.Z)("Upload",Bn=>{const{fontSizeHeading3:tr,fontSize:hr,lineHeight:pr,lineWidth:Mr,controlHeightLG:gr}=Bn,Nr=Math.round(hr*pr),Kr=(0,Jr.TS)(Bn,{uploadThumbnailSize:tr*2,uploadProgressOffset:Nr/2+Mr,uploadPicCardSize:gr*2.55});return[Bt(Kr),zi(Kr),He(Kr),Re(Kr),Yo(Kr),ii(Kr),ft(Kr),(0,Pi.Z)(Kr)]},Bn=>({actionsColor:Bn.colorTextDescription})),rn=function(Bn,tr,hr,pr){function Mr(gr){return gr instanceof hr?gr:new hr(function(Nr){Nr(gr)})}return new(hr||(hr=Promise))(function(gr,Nr){function Kr(ui){try{br(pr.next(ui))}catch(gi){Nr(gi)}}function Hn(ui){try{br(pr.throw(ui))}catch(gi){Nr(gi)}}function br(ui){ui.done?gr(ui.value):Mr(ui.value).then(Kr,Hn)}br((pr=pr.apply(Bn,tr||[])).next())})};const nn=`__LIST_IGNORE_${Date.now()}__`,Gn=(Bn,tr)=>{const{fileList:hr,defaultFileList:pr,onRemove:Mr,showUploadList:gr=!0,listType:Nr="text",onPreview:Kr,onDownload:Hn,onChange:br,onDrop:ui,previewFile:gi,disabled:Zi,locale:nr,iconRender:xi,isImageUrl:Vi,progress:Gi,prefixCls:Ao,className:io,type:Do="select",children:Bo,style:Ui,itemRender:Xo,maxCount:Hr,data:wa={},multiple:Zr=!1,action:Ca="",accept:ss="",supportServerRender:oa=!0,rootClassName:Os}=Bn,rs=Ge.useContext(xt.Z),po=Zi!=null?Zi:rs,[zo,za]=(0,vt.Z)(pr||[],{value:hr,postState:Ns=>Ns!=null?Ns:[]}),[Ka,Ji]=Ge.useState("drop"),yn=Ge.useRef(null);Ge.useMemo(()=>{const Ns=Date.now();(hr||[]).forEach((Sl,lu)=>{!Sl.uid&&!Object.isFrozen(Sl)&&(Sl.uid=`__AUTO__${Ns}_${lu}__`)})},[hr]);const ja=(Ns,Sl,lu)=>{let gl=(0,tt.Z)(Sl),Hs=!1;Hr===1?gl=gl.slice(-1):Hr&&(Hs=gl.length>Hr,gl=gl.slice(0,Hr)),(0,Lt.flushSync)(()=>{za(gl)});const Al={file:Ns,fileList:gl};lu&&(Al.event=lu),(!Hs||gl.some(Wu=>Wu.uid===Ns.uid))&&(0,Lt.flushSync)(()=>{br==null||br(Al)})},is=(Ns,Sl)=>rn(void 0,void 0,void 0,function*(){const{beforeUpload:lu,transformFile:gl}=Bn;let Hs=Ns;if(lu){const Al=yield lu(Ns,Sl);if(Al===!1)return!1;if(delete Ns[nn],Al===nn)return Object.defineProperty(Ns,nn,{value:!0,configurable:!0}),!1;typeof Al=="object"&&Al&&(Hs=Al)}return gl&&(Hs=yield gl(Hs)),Hs}),_a=Ns=>{const Sl=Ns.filter(Hs=>!Hs.file[nn]);if(!Sl.length)return;const lu=Sl.map(Hs=>ut(Hs.file));let gl=(0,tt.Z)(zo);lu.forEach(Hs=>{gl=ot(Hs,gl)}),lu.forEach((Hs,Al)=>{let Wu=Hs;if(Sl[Al].parsedFile)Hs.status="uploading";else{const{originFileObj:ls}=Hs;let ns;try{ns=new File([ls],ls.name,{type:ls.type})}catch(Vs){ns=new Blob([ls],{type:ls.type}),ns.name=ls.name,ns.lastModifiedDate=new Date,ns.lastModified=new Date().getTime()}ns.uid=Hs.uid,Wu=ns}ja(Wu,gl)})},Us=(Ns,Sl,lu)=>{try{typeof Ns=="string"&&(Ns=JSON.parse(Ns))}catch(Al){}if(!Pt(Sl,zo))return;const gl=ut(Sl);gl.status="done",gl.percent=100,gl.response=Ns,gl.xhr=lu;const Hs=ot(gl,zo);ja(gl,Hs)},ma=(Ns,Sl)=>{if(!Pt(Sl,zo))return;const lu=ut(Sl);lu.status="uploading",lu.percent=Ns.percent;const gl=ot(lu,zo);ja(lu,gl,Ns)},aa=(Ns,Sl,lu)=>{if(!Pt(lu,zo))return;const gl=ut(lu);gl.error=Ns,gl.response=Sl,gl.status="error";const Hs=ot(gl,zo);ja(gl,Hs)},ys=Ns=>{let Sl;Promise.resolve(typeof Mr=="function"?Mr(Ns):Mr).then(lu=>{var gl;if(lu===!1)return;const Hs=Ht(Ns,zo);Hs&&(Sl=Object.assign(Object.assign({},Ns),{status:"removed"}),zo==null||zo.forEach(Al=>{const Wu=Sl.uid!==void 0?"uid":"name";Al[Wu]===Sl[Wu]&&!Object.isFrozen(Al)&&(Al.status="removed")}),(gl=yn.current)===null||gl===void 0||gl.abort(Sl),ja(Sl,Hs))})},Fs=Ns=>{Ji(Ns.type),Ns.type==="drop"&&(ui==null||ui(Ns))};Ge.useImperativeHandle(tr,()=>({onBatchStart:_a,onSuccess:Us,onProgress:ma,onError:aa,fileList:zo,upload:yn.current}));const{getPrefixCls:es,direction:ml,upload:ta}=Ge.useContext(St.E_),Qo=es("upload",Ao),Ba=Object.assign(Object.assign({onBatchStart:_a,onError:aa,onProgress:ma,onSuccess:Us},Bn),{data:wa,multiple:Zr,action:Ca,accept:ss,supportServerRender:oa,prefixCls:Qo,disabled:po,beforeUpload:is,onChange:void 0});delete Ba.className,delete Ba.style,(!Bo||po)&&delete Ba.id;const[Ii,Gs]=Ct(Qo),[sl]=(0,ct.Z)("Upload",Dt.Z.Upload),{showRemoveIcon:ql,showPreviewIcon:Ki,showDownloadIcon:xs,removeIcon:zs,previewIcon:yl,downloadIcon:tl}=typeof gr=="boolean"?{}:gr,Ms=(Ns,Sl)=>gr?Ge.createElement(bo,{prefixCls:Qo,listType:Nr,items:zo,previewFile:gi,onPreview:Kr,onDownload:Hn,onRemove:ys,showRemoveIcon:!po&&ql,showPreviewIcon:Ki,showDownloadIcon:xs,removeIcon:zs,previewIcon:yl,downloadIcon:tl,iconRender:xi,locale:Object.assign(Object.assign({},sl),nr),isImageUrl:Vi,progress:Gi,appendAction:Ns,appendActionVisible:Sl,itemRender:Xo,disabled:po}):Ns,Au=Ne()(`${Qo}-wrapper`,io,Os,Gs,ta==null?void 0:ta.className,{[`${Qo}-rtl`]:ml==="rtl",[`${Qo}-picture-card-wrapper`]:Nr==="picture-card",[`${Qo}-picture-circle-wrapper`]:Nr==="picture-circle"}),Ur=Object.assign(Object.assign({},ta==null?void 0:ta.style),Ui);if(Do==="drag"){const Ns=Ne()(Gs,Qo,`${Qo}-drag`,{[`${Qo}-drag-uploading`]:zo.some(Sl=>Sl.status==="uploading"),[`${Qo}-drag-hover`]:Ka==="dragover",[`${Qo}-disabled`]:po,[`${Qo}-rtl`]:ml==="rtl"});return Ii(Ge.createElement("span",{className:Au},Ge.createElement("div",{className:Ns,style:Ur,onDrop:Fs,onDragOver:Fs,onDragLeave:Fs},Ge.createElement(Et,Object.assign({},Ba,{ref:yn,className:`${Qo}-btn`}),Ge.createElement("div",{className:`${Qo}-drag-container`},Bo))),Ms()))}const Su=Ne()(Qo,`${Qo}-select`,{[`${Qo}-disabled`]:po}),Wc=(Ns=>Ge.createElement("div",{className:Su,style:Ns},Ge.createElement(Et,Object.assign({},Ba,{ref:yn}))))(Bo?void 0:{display:"none"});return Ii(Nr==="picture-card"||Nr==="picture-circle"?Ge.createElement("span",{className:Au},Ms(Wc,!!Bo)):Ge.createElement("span",{className:Au},Wc,Ms()))};var cn=Ge.forwardRef(Gn),Yn=function(Bn,tr){var hr={};for(var pr in Bn)Object.prototype.hasOwnProperty.call(Bn,pr)&&tr.indexOf(pr)<0&&(hr[pr]=Bn[pr]);if(Bn!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Mr=0,pr=Object.getOwnPropertySymbols(Bn);Mr<pr.length;Mr++)tr.indexOf(pr[Mr])<0&&Object.prototype.propertyIsEnumerable.call(Bn,pr[Mr])&&(hr[pr[Mr]]=Bn[pr[Mr]]);return hr},fr=Ge.forwardRef((Bn,tr)=>{var{style:hr,height:pr}=Bn,Mr=Yn(Bn,["style","height"]);return Ge.createElement(cn,Object.assign({ref:tr},Mr,{type:"drag",style:Object.assign(Object.assign({},hr),{height:pr})}))});const On=cn;On.Dragger=fr,On.LIST_IGNORE=nn;var dn=On},99498:function(en,tn,Oe){(function(Ge){Ge(Oe(89780))})(function(Ge){Ge.defineOption("placeholder","",function(Te,ke,Ie){var Ce=Ie&&Ie!=Ge.Init;if(ke&&!Ce)Te.on("blur",Ke),Te.on("change",Be),Te.on("swapDoc",Be),Ge.on(Te.getInputField(),"compositionupdate",Te.state.placeholderCompose=function(){Ne(Te)}),Be(Te);else if(!ke&&Ce){Te.off("blur",Ke),Te.off("change",Be),Te.off("swapDoc",Be),Ge.off(Te.getInputField(),"compositionupdate",Te.state.placeholderCompose),tt(Te);var Me=Te.getWrapperElement();Me.className=Me.className.replace(" CodeMirror-empty","")}ke&&!Te.hasFocus()&&Ke(Te)});function tt(Te){Te.state.placeholder&&(Te.state.placeholder.parentNode.removeChild(Te.state.placeholder),Te.state.placeholder=null)}function Ue(Te){tt(Te);var ke=Te.state.placeholder=document.createElement("pre");ke.style.cssText="height: 0; overflow: visible",ke.style.direction=Te.getOption("direction"),ke.className="CodeMirror-placeholder CodeMirror-line-like";var Ie=Te.getOption("placeholder");typeof Ie=="string"&&(Ie=document.createTextNode(Ie)),ke.appendChild(Ie),Te.display.lineSpace.insertBefore(ke,Te.display.lineSpace.firstChild)}function Ne(Te){setTimeout(function(){var ke=!1,Ie=Te.getInputField();Ie.nodeName=="TEXTAREA"?ke=!Ie.value:Te.lineCount()==1&&(ke=!/[^\u200b]/.test(Ie.querySelector(".CodeMirror-line").textContent)),ke?Ue(Te):tt(Te)},20)}function Ke(Te){we(Te)&&Ue(Te)}function Be(Te){var ke=Te.getWrapperElement(),Ie=we(Te);ke.className=ke.className.replace(" CodeMirror-empty","")+(Ie?" CodeMirror-empty":""),Ie?Ue(Te):tt(Te)}function we(Te){return Te.lineCount()===1&&Te.getLine(0)===""}})},25717:function(en,tn,Oe){(function(Ge){Ge(Oe(89780))})(function(Ge){var tt={pairs:`()[]{}''""`,closeBefore:`)]}'":;>`,triples:"",explode:"[]{}"},Ue=Ge.Pos;Ge.defineOption("autoCloseBrackets",!1,function(ie,ae,fe){fe&&fe!=Ge.Init&&(ie.removeKeyMap(Ke),ie.state.closeBrackets=null),ae&&(Be(Ne(ae,"pairs")),ie.state.closeBrackets=ae,ie.addKeyMap(Ke))});function Ne(ie,ae){return ae=="pairs"&&typeof ie=="string"?ie:typeof ie=="object"&&ie[ae]!=null?ie[ae]:tt[ae]}var Ke={Backspace:ke,Enter:Ie};function Be(ie){for(var ae=0;ae<ie.length;ae++){var fe=ie.charAt(ae),de="'"+fe+"'";Ke[de]||(Ke[de]=we(fe))}}Be(tt.pairs+"`");function we(ie){return function(ae){return Me(ae,ie)}}function Te(ie){var ae=ie.state.closeBrackets;if(!ae||ae.override)return ae;var fe=ie.getModeAt(ie.getCursor());return fe.closeBrackets||ae}function ke(ie){var ae=Te(ie);if(!ae||ie.getOption("disableInput"))return Ge.Pass;for(var fe=Ne(ae,"pairs"),de=ie.listSelections(),ve=0;ve<de.length;ve++){if(!de[ve].empty())return Ge.Pass;var xe=je(ie,de[ve].head);if(!xe||fe.indexOf(xe)%2!=0)return Ge.Pass}for(var ve=de.length-1;ve>=0;ve--){var ce=de[ve].head;ie.replaceRange("",Ue(ce.line,ce.ch-1),Ue(ce.line,ce.ch+1),"+delete")}}function Ie(ie){var ae=Te(ie),fe=ae&&Ne(ae,"explode");if(!fe||ie.getOption("disableInput"))return Ge.Pass;for(var de=ie.listSelections(),ve=0;ve<de.length;ve++){if(!de[ve].empty())return Ge.Pass;var xe=je(ie,de[ve].head);if(!xe||fe.indexOf(xe)%2!=0)return Ge.Pass}ie.operation(function(){var ce=ie.lineSeparator()||`
`;ie.replaceSelection(ce+ce,null),ie.execCommand("goCharLeft"),de=ie.listSelections();for(var pe=0;pe<de.length;pe++){var Se=de[pe].head.line;ie.indentLine(Se,null,!0),ie.indentLine(Se+1,null,!0)}})}function Ce(ie){var ae=Ge.cmpPos(ie.anchor,ie.head)>0;return{anchor:new Ue(ie.anchor.line,ie.anchor.ch+(ae?-1:1)),head:new Ue(ie.head.line,ie.head.ch+(ae?1:-1))}}function Me(ie,ae){var fe=Te(ie);if(!fe||ie.getOption("disableInput"))return Ge.Pass;var de=Ne(fe,"pairs"),ve=de.indexOf(ae);if(ve==-1)return Ge.Pass;for(var xe=Ne(fe,"closeBefore"),ce=Ne(fe,"triples"),pe=de.charAt(ve+1)==ae,Se=ie.listSelections(),Le=ve%2==0,ze,Ze=0;Ze<Se.length;Ze++){var Ve=Se[Ze],Qe=Ve.head,$e,gt=ie.getRange(Qe,Ue(Qe.line,Qe.ch+1));if(Le&&!Ve.empty())$e="surround";else if((pe||!Le)&&gt==ae)pe&&ye(ie,Qe)?$e="both":ce.indexOf(ae)>=0&&ie.getRange(Qe,Ue(Qe.line,Qe.ch+3))==ae+ae+ae?$e="skipThree":$e="skip";else if(pe&&Qe.ch>1&&ce.indexOf(ae)>=0&&ie.getRange(Ue(Qe.line,Qe.ch-2),Qe)==ae+ae){if(Qe.ch>2&&/\bstring/.test(ie.getTokenTypeAt(Ue(Qe.line,Qe.ch-2))))return Ge.Pass;$e="addFour"}else if(pe){var lt=Qe.ch==0?" ":ie.getRange(Ue(Qe.line,Qe.ch-1),Qe);if(!Ge.isWordChar(gt)&&lt!=ae&&!Ge.isWordChar(lt))$e="both";else return Ge.Pass}else if(Le&&(gt.length===0||/\s/.test(gt)||xe.indexOf(gt)>-1))$e="both";else return Ge.Pass;if(!ze)ze=$e;else if(ze!=$e)return Ge.Pass}var At=ve%2?de.charAt(ve-1):ae,Et=ve%2?ae:de.charAt(ve+1);ie.operation(function(){if(ze=="skip")ie.execCommand("goCharRight");else if(ze=="skipThree")for(var vt=0;vt<3;vt++)ie.execCommand("goCharRight");else if(ze=="surround"){for(var Lt=ie.getSelections(),vt=0;vt<Lt.length;vt++)Lt[vt]=At+Lt[vt]+Et;ie.replaceSelections(Lt,"around"),Lt=ie.listSelections().slice();for(var vt=0;vt<Lt.length;vt++)Lt[vt]=Ce(Lt[vt]);ie.setSelections(Lt)}else ze=="both"?(ie.replaceSelection(At+Et,null),ie.triggerElectric(At+Et),ie.execCommand("goCharLeft")):ze=="addFour"&&(ie.replaceSelection(At+At+At+At,"before"),ie.execCommand("goCharRight"))})}function je(ie,ae){var fe=ie.getRange(Ue(ae.line,ae.ch-1),Ue(ae.line,ae.ch+1));return fe.length==2?fe:null}function ye(ie,ae){var fe=ie.getTokenAt(Ue(ae.line,ae.ch+1));return/\bstring/.test(fe.type)&&fe.start==ae.ch&&(ae.ch==0||!/\bstring/.test(ie.getTokenTypeAt(ae)))}})},6313:function(en,tn,Oe){(function(Ge){Ge(Oe(89780),Oe(32855))})(function(Ge){Ge.defineOption("autoCloseTags",!1,function(ke,Ie,Ce){if(Ce!=Ge.Init&&Ce&&ke.removeKeyMap("autoCloseTags"),!!Ie){var Me={name:"autoCloseTags"};(typeof Ie!="object"||Ie.whenClosing!==!1)&&(Me["'/'"]=function(je){return Be(je)}),(typeof Ie!="object"||Ie.whenOpening!==!1)&&(Me["'>'"]=function(je){return Ne(je)}),ke.addKeyMap(Me)}});var tt=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],Ue=["applet","blockquote","body","button","div","dl","fieldset","form","frameset","h1","h2","h3","h4","h5","h6","head","html","iframe","layer","legend","object","ol","p","select","table","ul"];function Ne(ke){if(ke.getOption("disableInput"))return Ge.Pass;for(var Ie=ke.listSelections(),Ce=[],Me=ke.getOption("autoCloseTags"),je=0;je<Ie.length;je++){if(!Ie[je].empty())return Ge.Pass;var ye=Ie[je].head,ie=ke.getTokenAt(ye),ae=Ge.innerMode(ke.getMode(),ie.state),fe=ae.state,de=ae.mode.xmlCurrentTag&&ae.mode.xmlCurrentTag(fe),ve=de&&de.name;if(!ve)return Ge.Pass;var xe=ae.mode.configuration=="html",ce=typeof Me=="object"&&Me.dontCloseTags||xe&&tt,pe=typeof Me=="object"&&Me.indentTags||xe&&Ue;ie.end>ye.ch&&(ve=ve.slice(0,ve.length-ie.end+ye.ch));var Se=ve.toLowerCase();if(!ve||ie.type=="string"&&(ie.end!=ye.ch||!/[\"\']/.test(ie.string.charAt(ie.string.length-1))||ie.string.length==1)||ie.type=="tag"&&de.close||ie.string.indexOf("/")==ye.ch-ie.start-1||ce&&we(ce,Se)>-1||Te(ke,ae.mode.xmlCurrentContext&&ae.mode.xmlCurrentContext(fe)||[],ve,ye,!0))return Ge.Pass;var Le=typeof Me=="object"&&Me.emptyTags;if(Le&&we(Le,ve)>-1){Ce[je]={text:"/>",newPos:Ge.Pos(ye.line,ye.ch+2)};continue}var ze=pe&&we(pe,Se)>-1;Ce[je]={indent:ze,text:">"+(ze?`
`:"")+"</"+ve+">",newPos:ze?Ge.Pos(ye.line+1,0):Ge.Pos(ye.line,ye.ch+1)}}for(var Ze=typeof Me=="object"&&Me.dontIndentOnAutoClose,je=Ie.length-1;je>=0;je--){var Ve=Ce[je];ke.replaceRange(Ve.text,Ie[je].head,Ie[je].anchor,"+insert");var Qe=ke.listSelections().slice(0);Qe[je]={head:Ve.newPos,anchor:Ve.newPos},ke.setSelections(Qe),!Ze&&Ve.indent&&(ke.indentLine(Ve.newPos.line,null,!0),ke.indentLine(Ve.newPos.line+1,null,!0))}}function Ke(ke,Ie){for(var Ce=ke.listSelections(),Me=[],je=Ie?"/":"</",ye=ke.getOption("autoCloseTags"),ie=typeof ye=="object"&&ye.dontIndentOnSlash,ae=0;ae<Ce.length;ae++){if(!Ce[ae].empty())return Ge.Pass;var fe=Ce[ae].head,de=ke.getTokenAt(fe),ve=Ge.innerMode(ke.getMode(),de.state),xe=ve.state;if(Ie&&(de.type=="string"||de.string.charAt(0)!="<"||de.start!=fe.ch-1))return Ge.Pass;var ce,pe=ve.mode.name!="xml"&&ke.getMode().name=="htmlmixed";if(pe&&ve.mode.name=="javascript")ce=je+"script";else if(pe&&ve.mode.name=="css")ce=je+"style";else{var Se=ve.mode.xmlCurrentContext&&ve.mode.xmlCurrentContext(xe);if(!Se||Se.length&&Te(ke,Se,Se[Se.length-1],fe))return Ge.Pass;ce=je+Se[Se.length-1]}ke.getLine(fe.line).charAt(de.end)!=">"&&(ce+=">"),Me[ae]=ce}if(ke.replaceSelections(Me),Ce=ke.listSelections(),!ie)for(var ae=0;ae<Ce.length;ae++)(ae==Ce.length-1||Ce[ae].head.line<Ce[ae+1].head.line)&&ke.indentLine(Ce[ae].head.line)}function Be(ke){return ke.getOption("disableInput")?Ge.Pass:Ke(ke,!0)}Ge.commands.closeTag=function(ke){return Ke(ke)};function we(ke,Ie){if(ke.indexOf)return ke.indexOf(Ie);for(var Ce=0,Me=ke.length;Ce<Me;++Ce)if(ke[Ce]==Ie)return Ce;return-1}function Te(ke,Ie,Ce,Me,je){if(!Ge.scanForClosingTag)return!1;var ye=Math.min(ke.lastLine()+1,Me.line+500),ie=Ge.scanForClosingTag(ke,Me,null,ye);if(!ie||ie.tag!=Ce)return!1;for(var ae=je?1:0,fe=Ie.length-1;fe>=0&&Ie[fe]==Ce;fe--)++ae;Me=ie.to;for(var fe=1;fe<ae;fe++){var de=Ge.scanForClosingTag(ke,Me,null,ye);if(!de||de.tag!=Ce)return!1;Me=de.to}return!0}})},32855:function(en,tn,Oe){(function(Ge){Ge(Oe(89780))})(function(Ge){"use strict";var tt=Ge.Pos;function Ue(fe,de){return fe.line-de.line||fe.ch-de.ch}var Ne="A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",Ke=Ne+"-:.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",Be=new RegExp("<(/?)(["+Ne+"]["+Ke+"]*)","g");function we(fe,de,ve,xe){this.line=de,this.ch=ve,this.cm=fe,this.text=fe.getLine(de),this.min=xe?Math.max(xe.from,fe.firstLine()):fe.firstLine(),this.max=xe?Math.min(xe.to-1,fe.lastLine()):fe.lastLine()}function Te(fe,de){var ve=fe.cm.getTokenTypeAt(tt(fe.line,de));return ve&&/\btag\b/.test(ve)}function ke(fe){if(!(fe.line>=fe.max))return fe.ch=0,fe.text=fe.cm.getLine(++fe.line),!0}function Ie(fe){if(!(fe.line<=fe.min))return fe.text=fe.cm.getLine(--fe.line),fe.ch=fe.text.length,!0}function Ce(fe){for(;;){var de=fe.text.indexOf(">",fe.ch);if(de==-1){if(ke(fe))continue;return}if(!Te(fe,de+1)){fe.ch=de+1;continue}var ve=fe.text.lastIndexOf("/",de),xe=ve>-1&&!/\S/.test(fe.text.slice(ve+1,de));return fe.ch=de+1,xe?"selfClose":"regular"}}function Me(fe){for(;;){var de=fe.ch?fe.text.lastIndexOf("<",fe.ch-1):-1;if(de==-1){if(Ie(fe))continue;return}if(!Te(fe,de+1)){fe.ch=de;continue}Be.lastIndex=de,fe.ch=de;var ve=Be.exec(fe.text);if(ve&&ve.index==de)return ve}}function je(fe){for(;;){Be.lastIndex=fe.ch;var de=Be.exec(fe.text);if(!de){if(ke(fe))continue;return}if(!Te(fe,de.index+1)){fe.ch=de.index+1;continue}return fe.ch=de.index+de[0].length,de}}function ye(fe){for(;;){var de=fe.ch?fe.text.lastIndexOf(">",fe.ch-1):-1;if(de==-1){if(Ie(fe))continue;return}if(!Te(fe,de+1)){fe.ch=de;continue}var ve=fe.text.lastIndexOf("/",de),xe=ve>-1&&!/\S/.test(fe.text.slice(ve+1,de));return fe.ch=de+1,xe?"selfClose":"regular"}}function ie(fe,de){for(var ve=[];;){var xe=je(fe),ce,pe=fe.line,Se=fe.ch-(xe?xe[0].length:0);if(!xe||!(ce=Ce(fe)))return;if(ce!="selfClose")if(xe[1]){for(var Le=ve.length-1;Le>=0;--Le)if(ve[Le]==xe[2]){ve.length=Le;break}if(Le<0&&(!de||de==xe[2]))return{tag:xe[2],from:tt(pe,Se),to:tt(fe.line,fe.ch)}}else ve.push(xe[2])}}function ae(fe,de){for(var ve=[];;){var xe=ye(fe);if(!xe)return;if(xe=="selfClose"){Me(fe);continue}var ce=fe.line,pe=fe.ch,Se=Me(fe);if(!Se)return;if(Se[1])ve.push(Se[2]);else{for(var Le=ve.length-1;Le>=0;--Le)if(ve[Le]==Se[2]){ve.length=Le;break}if(Le<0&&(!de||de==Se[2]))return{tag:Se[2],from:tt(fe.line,fe.ch),to:tt(ce,pe)}}}}Ge.registerHelper("fold","xml",function(fe,de){for(var ve=new we(fe,de.line,0);;){var xe=je(ve);if(!xe||ve.line!=de.line)return;var ce=Ce(ve);if(!ce)return;if(!xe[1]&&ce!="selfClose"){var pe=tt(ve.line,ve.ch),Se=ie(ve,xe[2]);return Se&&Ue(Se.from,pe)>0?{from:pe,to:Se.from}:null}}}),Ge.findMatchingTag=function(fe,de,ve){var xe=new we(fe,de.line,de.ch,ve);if(!(xe.text.indexOf(">")==-1&&xe.text.indexOf("<")==-1)){var ce=Ce(xe),pe=ce&&tt(xe.line,xe.ch),Se=ce&&Me(xe);if(!(!ce||!Se||Ue(xe,de)>0)){var Le={from:tt(xe.line,xe.ch),to:pe,tag:Se[2]};return ce=="selfClose"?{open:Le,close:null,at:"open"}:Se[1]?{open:ae(xe,Se[2]),close:Le,at:"close"}:(xe=new we(fe,pe.line,pe.ch,ve),{open:Le,close:ie(xe,Se[2]),at:"open"})}}},Ge.findEnclosingTag=function(fe,de,ve,xe){for(var ce=new we(fe,de.line,de.ch,ve);;){var pe=ae(ce,xe);if(!pe)break;var Se=new we(fe,de.line,de.ch,ve),Le=ie(Se,pe.tag);if(Le)return{open:pe,close:Le}}},Ge.scanForClosingTag=function(fe,de,ve,xe){var ce=new we(fe,de.line,de.ch,xe?{from:0,to:xe}:null);return ie(ce,ve)}})},89780:function(en){(function(tn,Oe){en.exports=Oe()})(this,function(){"use strict";var tn=navigator.userAgent,Oe=navigator.platform,Ge=/gecko\/\d/i.test(tn),tt=/MSIE \d/.test(tn),Ue=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(tn),Ne=/Edge\/(\d+)/.exec(tn),Ke=tt||Ue||Ne,Be=Ke&&(tt?document.documentMode||6:+(Ne||Ue)[1]),we=!Ne&&/WebKit\//.test(tn),Te=we&&/Qt\/\d+\.\d+/.test(tn),ke=!Ne&&/Chrome\//.test(tn),Ie=/Opera\//.test(tn),Ce=/Apple Computer/.test(navigator.vendor),Me=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(tn),je=/PhantomJS/.test(tn),ye=!Ne&&/AppleWebKit/.test(tn)&&/Mobile\/\w+/.test(tn),ie=/Android/.test(tn),ae=ye||ie||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(tn),fe=ye||/Mac/.test(Oe),de=/\bCrOS\b/.test(tn),ve=/win/i.test(Oe),xe=Ie&&tn.match(/Version\/(\d*\.\d*)/);xe&&(xe=Number(xe[1])),xe&&xe>=15&&(Ie=!1,we=!0);var ce=fe&&(Te||Ie&&(xe==null||xe<12.11)),pe=Ge||Ke&&Be>=9;function Se(Ee){return new RegExp("(^|\\s)"+Ee+"(?:$|\\s)\\s*")}var Le=function(Ee,_e){var it=Ee.className,rt=Se(_e).exec(it);if(rt){var ht=it.slice(rt.index+rt[0].length);Ee.className=it.slice(0,rt.index)+(ht?rt[1]+ht:"")}};function ze(Ee){for(var _e=Ee.childNodes.length;_e>0;--_e)Ee.removeChild(Ee.firstChild);return Ee}function Ze(Ee,_e){return ze(Ee).appendChild(_e)}function Ve(Ee,_e,it,rt){var ht=document.createElement(Ee);if(it&&(ht.className=it),rt&&(ht.style.cssText=rt),typeof _e=="string")ht.appendChild(document.createTextNode(_e));else if(_e)for(var Wt=0;Wt<_e.length;++Wt)ht.appendChild(_e[Wt]);return ht}function Qe(Ee,_e,it,rt){var ht=Ve(Ee,_e,it,rt);return ht.setAttribute("role","presentation"),ht}var $e;document.createRange?$e=function(Ee,_e,it,rt){var ht=document.createRange();return ht.setEnd(rt||Ee,it),ht.setStart(Ee,_e),ht}:$e=function(Ee,_e,it){var rt=document.body.createTextRange();try{rt.moveToElementText(Ee.parentNode)}catch(ht){return rt}return rt.collapse(!0),rt.moveEnd("character",it),rt.moveStart("character",_e),rt};function gt(Ee,_e){if(_e.nodeType==3&&(_e=_e.parentNode),Ee.contains)return Ee.contains(_e);do if(_e.nodeType==11&&(_e=_e.host),_e==Ee)return!0;while(_e=_e.parentNode)}function lt(){var Ee;try{Ee=document.activeElement}catch(_e){Ee=document.body||null}for(;Ee&&Ee.shadowRoot&&Ee.shadowRoot.activeElement;)Ee=Ee.shadowRoot.activeElement;return Ee}function At(Ee,_e){var it=Ee.className;Se(_e).test(it)||(Ee.className+=(it?" ":"")+_e)}function Et(Ee,_e){for(var it=Ee.split(" "),rt=0;rt<it.length;rt++)it[rt]&&!Se(it[rt]).test(_e)&&(_e+=" "+it[rt]);return _e}var vt=function(Ee){Ee.select()};ye?vt=function(Ee){Ee.selectionStart=0,Ee.selectionEnd=Ee.value.length}:Ke&&(vt=function(Ee){try{Ee.select()}catch(_e){}});function Lt(Ee){var _e=Array.prototype.slice.call(arguments,1);return function(){return Ee.apply(null,_e)}}function St(Ee,_e,it){_e||(_e={});for(var rt in Ee)Ee.hasOwnProperty(rt)&&(it!==!1||!_e.hasOwnProperty(rt))&&(_e[rt]=Ee[rt]);return _e}function xt(Ee,_e,it,rt,ht){_e==null&&(_e=Ee.search(/[^\s\u00a0]/),_e==-1&&(_e=Ee.length));for(var Wt=rt||0,sn=ht||0;;){var Ln=Ee.indexOf(" ",Wt);if(Ln<0||Ln>=_e)return sn+(_e-Wt);sn+=Ln-Wt,sn+=it-sn%it,Wt=Ln+1}}var ct=function(){this.id=null,this.f=null,this.time=0,this.handler=Lt(this.onTimeout,this)};ct.prototype.onTimeout=function(Ee){Ee.id=0,Ee.time<=+new Date?Ee.f():setTimeout(Ee.handler,Ee.time-+new Date)},ct.prototype.set=function(Ee,_e){this.f=_e;var it=+new Date+Ee;(!this.id||it<this.time)&&(clearTimeout(this.id),this.id=setTimeout(this.handler,Ee),this.time=it)};function Dt(Ee,_e){for(var it=0;it<Ee.length;++it)if(Ee[it]==_e)return it;return-1}var Xt=50,kt={toString:function(){return"CodeMirror.Pass"}},Rt={scroll:!1},Gt={origin:"*mouse"},ln={origin:"+move"};function Rn(Ee,_e,it){for(var rt=0,ht=0;;){var Wt=Ee.indexOf(" ",rt);Wt==-1&&(Wt=Ee.length);var sn=Wt-rt;if(Wt==Ee.length||ht+sn>=_e)return rt+Math.min(sn,_e-ht);if(ht+=Wt-rt,ht+=it-ht%it,rt=Wt+1,ht>=_e)return rt}}var jn=[""];function er(Ee){for(;jn.length<=Ee;)jn.push(an(jn)+" ");return jn[Ee]}function an(Ee){return Ee[Ee.length-1]}function Un(Ee,_e){for(var it=[],rt=0;rt<Ee.length;rt++)it[rt]=_e(Ee[rt],rt);return it}function Kn(Ee,_e,it){for(var rt=0,ht=it(_e);rt<Ee.length&&it(Ee[rt])<=ht;)rt++;Ee.splice(rt,0,_e)}function ur(){}function Xn(Ee,_e){var it;return Object.create?it=Object.create(Ee):(ur.prototype=Ee,it=new ur),_e&&St(_e,it),it}var Nn=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;function _n(Ee){return/\w/.test(Ee)||Ee>"\x80"&&(Ee.toUpperCase()!=Ee.toLowerCase()||Nn.test(Ee))}function un(Ee,_e){return _e?_e.source.indexOf("\\w")>-1&&_n(Ee)?!0:_e.test(Ee):_n(Ee)}function qt(Ee){for(var _e in Ee)if(Ee.hasOwnProperty(_e)&&Ee[_e])return!1;return!0}var Yt=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function gn(Ee){return Ee.charCodeAt(0)>=768&&Yt.test(Ee)}function _t(Ee,_e,it){for(;(it<0?_e>0:_e<Ee.length)&&gn(Ee.charAt(_e));)_e+=it;return _e}function Jt(Ee,_e,it){for(var rt=_e>it?-1:1;;){if(_e==it)return _e;var ht=(_e+it)/2,Wt=rt<0?Math.ceil(ht):Math.floor(ht);if(Wt==_e)return Ee(Wt)?_e:it;Ee(Wt)?it=Wt:_e=Wt+rt}}function wt(Ee,_e,it,rt){if(!Ee)return rt(_e,it,"ltr",0);for(var ht=!1,Wt=0;Wt<Ee.length;++Wt){var sn=Ee[Wt];(sn.from<it&&sn.to>_e||_e==it&&sn.to==_e)&&(rt(Math.max(sn.from,_e),Math.min(sn.to,it),sn.level==1?"rtl":"ltr",Wt),ht=!0)}ht||rt(_e,it,"ltr")}var ut=null;function ot(Ee,_e,it){var rt;ut=null;for(var ht=0;ht<Ee.length;++ht){var Wt=Ee[ht];if(Wt.from<_e&&Wt.to>_e)return ht;Wt.to==_e&&(Wt.from!=Wt.to&&it=="before"?rt=ht:ut=ht),Wt.from==_e&&(Wt.from!=Wt.to&&it!="before"?rt=ht:ut=ht)}return rt!=null?rt:ut}var Pt=function(){var Ee="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",_e="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";function it(Qn){return Qn<=247?Ee.charAt(Qn):1424<=Qn&&Qn<=1524?"R":1536<=Qn&&Qn<=1785?_e.charAt(Qn-1536):1774<=Qn&&Qn<=2220?"r":8192<=Qn&&Qn<=8203?"w":Qn==8204?"b":"L"}var rt=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,ht=/[stwN]/,Wt=/[LRr]/,sn=/[Lb1n]/,Ln=/[1n]/;function Mn(Qn,Wr,lr){this.level=Qn,this.from=Wr,this.to=lr}return function(Qn,Wr){var lr=Wr=="ltr"?"L":"R";if(Qn.length==0||Wr=="ltr"&&!rt.test(Qn))return!1;for(var Si=Qn.length,fi=[],Mo=0;Mo<Si;++Mo)fi.push(it(Qn.charCodeAt(Mo)));for(var Ro=0,ea=lr;Ro<Si;++Ro){var Na=fi[Ro];Na=="m"?fi[Ro]=ea:ea=Na}for(var vs=0,Xa=lr;vs<Si;++vs){var Ds=fi[vs];Ds=="1"&&Xa=="r"?fi[vs]="n":Wt.test(Ds)&&(Xa=Ds,Ds=="r"&&(fi[vs]="R"))}for(var hl=1,Qa=fi[0];hl<Si-1;++hl){var Ul=fi[hl];Ul=="+"&&Qa=="1"&&fi[hl+1]=="1"?fi[hl]="1":Ul==","&&Qa==fi[hl+1]&&(Qa=="1"||Qa=="n")&&(fi[hl]=Qa),Qa=Ul}for(var fc=0;fc<Si;++fc){var _h=fi[fc];if(_h==",")fi[fc]="N";else if(_h=="%"){var Tc=void 0;for(Tc=fc+1;Tc<Si&&fi[Tc]=="%";++Tc);for(var Ad=fc&&fi[fc-1]=="!"||Tc<Si&&fi[Tc]=="1"?"1":"N",Sd=fc;Sd<Tc;++Sd)fi[Sd]=Ad;fc=Tc-1}}for(var Ah=0,Pf=lr;Ah<Si;++Ah){var Jh=fi[Ah];Pf=="L"&&Jh=="1"?fi[Ah]="L":Wt.test(Jh)&&(Pf=Jh)}for(var Lh=0;Lh<Si;++Lh)if(ht.test(fi[Lh])){var Nu=void 0;for(Nu=Lh+1;Nu<Si&&ht.test(fi[Nu]);++Nu);for(var Zc=(Lh?fi[Lh-1]:lr)=="L",qh=(Nu<Si?fi[Nu]:lr)=="L",wd=Zc==qh?Zc?"L":"R":lr,fp=Lh;fp<Nu;++fp)fi[fp]=wd;Lh=Nu-1}for(var Fc=[],Zg,sh=0;sh<Si;)if(sn.test(fi[sh])){var v1=sh;for(++sh;sh<Si&&sn.test(fi[sh]);++sh);Fc.push(new Mn(0,v1,sh))}else{var Sg=sh,qf=Fc.length,Mf=Wr=="rtl"?1:0;for(++sh;sh<Si&&fi[sh]!="L";++sh);for(var hc=Sg;hc<sh;)if(Ln.test(fi[hc])){Sg<hc&&(Fc.splice(qf,0,new Mn(1,Sg,hc)),qf+=Mf);var ud=hc;for(++hc;hc<sh&&Ln.test(fi[hc]);++hc);Fc.splice(qf,0,new Mn(2,ud,hc)),qf+=Mf,Sg=hc}else++hc;Sg<sh&&Fc.splice(qf,0,new Mn(1,Sg,sh))}return Wr=="ltr"&&(Fc[0].level==1&&(Zg=Qn.match(/^\s+/))&&(Fc[0].from=Zg[0].length,Fc.unshift(new Mn(0,0,Zg[0].length))),an(Fc).level==1&&(Zg=Qn.match(/\s+$/))&&(an(Fc).to-=Zg[0].length,Fc.push(new Mn(0,Si-Zg[0].length,Si)))),Wr=="rtl"?Fc.reverse():Fc}}();function Ht(Ee,_e){var it=Ee.order;return it==null&&(it=Ee.order=Pt(Ee.text,_e)),it}var Mt=[],hn=function(Ee,_e,it){if(Ee.addEventListener)Ee.addEventListener(_e,it,!1);else if(Ee.attachEvent)Ee.attachEvent("on"+_e,it);else{var rt=Ee._handlers||(Ee._handlers={});rt[_e]=(rt[_e]||Mt).concat(it)}};function rr(Ee,_e){return Ee._handlers&&Ee._handlers[_e]||Mt}function Jn(Ee,_e,it){if(Ee.removeEventListener)Ee.removeEventListener(_e,it,!1);else if(Ee.detachEvent)Ee.detachEvent("on"+_e,it);else{var rt=Ee._handlers,ht=rt&&rt[_e];if(ht){var Wt=Dt(ht,it);Wt>-1&&(rt[_e]=ht.slice(0,Wt).concat(ht.slice(Wt+1)))}}}function An(Ee,_e){var it=rr(Ee,_e);if(it.length)for(var rt=Array.prototype.slice.call(arguments,2),ht=0;ht<it.length;++ht)it[ht].apply(null,rt)}function $n(Ee,_e,it){return typeof _e=="string"&&(_e={type:_e,preventDefault:function(){this.defaultPrevented=!0}}),An(Ee,it||_e.type,Ee,_e),Ai(_e)||_e.codemirrorIgnore}function xr(Ee){var _e=Ee._handlers&&Ee._handlers.cursorActivity;if(_e)for(var it=Ee.curOp.cursorActivityHandlers||(Ee.curOp.cursorActivityHandlers=[]),rt=0;rt<_e.length;++rt)Dt(it,_e[rt])==-1&&it.push(_e[rt])}function mr(Ee,_e){return rr(Ee,_e).length>0}function Qr(Ee){Ee.prototype.on=function(_e,it){hn(this,_e,it)},Ee.prototype.off=function(_e,it){Jn(this,_e,it)}}function di(Ee){Ee.preventDefault?Ee.preventDefault():Ee.returnValue=!1}function li(Ee){Ee.stopPropagation?Ee.stopPropagation():Ee.cancelBubble=!0}function Ai(Ee){return Ee.defaultPrevented!=null?Ee.defaultPrevented:Ee.returnValue==!1}function fo(Ee){di(Ee),li(Ee)}function Io(Ee){return Ee.target||Ee.srcElement}function bo(Ee){var _e=Ee.which;return _e==null&&(Ee.button&1?_e=1:Ee.button&2?_e=3:Ee.button&4&&(_e=2)),fe&&Ee.ctrlKey&&_e==1&&(_e=3),_e}var ai=function(){if(Ke&&Be<9)return!1;var Ee=Ve("div");return"draggable"in Ee||"dragDrop"in Ee}(),Pi;function ao(Ee){if(Pi==null){var _e=Ve("span","\u200B");Ze(Ee,Ve("span",[_e,document.createTextNode("x")])),Ee.firstChild.offsetHeight!=0&&(Pi=_e.offsetWidth<=1&&_e.offsetHeight>2&&!(Ke&&Be<8))}var it=Pi?Ve("span","\u200B"):Ve("span","\xA0",null,"display: inline-block; width: 1px; margin-right: -1px");return it.setAttribute("cm-text",""),it}var Jr;function oo(Ee){if(Jr!=null)return Jr;var _e=Ze(Ee,document.createTextNode("A\u062EA")),it=$e(_e,0,1).getBoundingClientRect(),rt=$e(_e,1,2).getBoundingClientRect();return ze(Ee),!it||it.left==it.right?!1:Jr=rt.right-it.right<3}var zi=`
b`.split(/\n/).length!=3?function(Ee){for(var _e=0,it=[],rt=Ee.length;_e<=rt;){var ht=Ee.indexOf(`
`,_e);ht==-1&&(ht=Ee.length);var Wt=Ee.slice(_e,Ee.charAt(ht-1)=="\r"?ht-1:ht),sn=Wt.indexOf("\r");sn!=-1?(it.push(Wt.slice(0,sn)),_e+=sn+1):(it.push(Wt),_e=ht+1)}return it}:function(Ee){return Ee.split(/\r\n?|\n/)},It=window.getSelection?function(Ee){try{return Ee.selectionStart!=Ee.selectionEnd}catch(_e){return!1}}:function(Ee){var _e;try{_e=Ee.ownerDocument.selection.createRange()}catch(it){}return!_e||_e.parentElement()!=Ee?!1:_e.compareEndPoints("StartToEnd",_e)!=0},Yo=function(){var Ee=Ve("div");return"oncopy"in Ee?!0:(Ee.setAttribute("oncopy","return;"),typeof Ee.oncopy=="function")}(),ko=null;function Fr(Ee){if(ko!=null)return ko;var _e=Ze(Ee,Ve("span","x")),it=_e.getBoundingClientRect(),rt=$e(_e,0,1).getBoundingClientRect();return ko=Math.abs(it.left-rt.left)>1}var Bi={},Fi={};function Qi(Ee,_e){arguments.length>2&&(_e.dependencies=Array.prototype.slice.call(arguments,2)),Bi[Ee]=_e}function ii(Ee,_e){Fi[Ee]=_e}function Nt(Ee){if(typeof Ee=="string"&&Fi.hasOwnProperty(Ee))Ee=Fi[Ee];else if(Ee&&typeof Ee.name=="string"&&Fi.hasOwnProperty(Ee.name)){var _e=Fi[Ee.name];typeof _e=="string"&&(_e={name:_e}),Ee=Xn(_e,Ee),Ee.name=_e.name}else{if(typeof Ee=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(Ee))return Nt("application/xml");if(typeof Ee=="string"&&/^[\w\-]+\/[\w\-]+\+json$/.test(Ee))return Nt("application/json")}return typeof Ee=="string"?{name:Ee}:Ee||{name:"null"}}function De(Ee,_e){_e=Nt(_e);var it=Bi[_e.name];if(!it)return De(Ee,"text/plain");var rt=it(Ee,_e);if(He.hasOwnProperty(_e.name)){var ht=He[_e.name];for(var Wt in ht)ht.hasOwnProperty(Wt)&&(rt.hasOwnProperty(Wt)&&(rt["_"+Wt]=rt[Wt]),rt[Wt]=ht[Wt])}if(rt.name=_e.name,_e.helperType&&(rt.helperType=_e.helperType),_e.modeProps)for(var sn in _e.modeProps)rt[sn]=_e.modeProps[sn];return rt}var He={};function Re(Ee,_e){var it=He.hasOwnProperty(Ee)?He[Ee]:He[Ee]={};St(_e,it)}function et(Ee,_e){if(_e===!0)return _e;if(Ee.copyState)return Ee.copyState(_e);var it={};for(var rt in _e){var ht=_e[rt];ht instanceof Array&&(ht=ht.concat([])),it[rt]=ht}return it}function ft(Ee,_e){for(var it;Ee.innerMode&&(it=Ee.innerMode(_e),!(!it||it.mode==Ee));)_e=it.state,Ee=it.mode;return it||{mode:Ee,state:_e}}function Bt(Ee,_e,it){return Ee.startState?Ee.startState(_e,it):!0}var Ct=function(Ee,_e,it){this.pos=this.start=0,this.string=Ee,this.tabSize=_e||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=it};Ct.prototype.eol=function(){return this.pos>=this.string.length},Ct.prototype.sol=function(){return this.pos==this.lineStart},Ct.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},Ct.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},Ct.prototype.eat=function(Ee){var _e=this.string.charAt(this.pos),it;if(typeof Ee=="string"?it=_e==Ee:it=_e&&(Ee.test?Ee.test(_e):Ee(_e)),it)return++this.pos,_e},Ct.prototype.eatWhile=function(Ee){for(var _e=this.pos;this.eat(Ee););return this.pos>_e},Ct.prototype.eatSpace=function(){for(var Ee=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>Ee},Ct.prototype.skipToEnd=function(){this.pos=this.string.length},Ct.prototype.skipTo=function(Ee){var _e=this.string.indexOf(Ee,this.pos);if(_e>-1)return this.pos=_e,!0},Ct.prototype.backUp=function(Ee){this.pos-=Ee},Ct.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=xt(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?xt(this.string,this.lineStart,this.tabSize):0)},Ct.prototype.indentation=function(){return xt(this.string,null,this.tabSize)-(this.lineStart?xt(this.string,this.lineStart,this.tabSize):0)},Ct.prototype.match=function(Ee,_e,it){if(typeof Ee=="string"){var rt=function(sn){return it?sn.toLowerCase():sn},ht=this.string.substr(this.pos,Ee.length);if(rt(ht)==rt(Ee))return _e!==!1&&(this.pos+=Ee.length),!0}else{var Wt=this.string.slice(this.pos).match(Ee);return Wt&&Wt.index>0?null:(Wt&&_e!==!1&&(this.pos+=Wt[0].length),Wt)}},Ct.prototype.current=function(){return this.string.slice(this.start,this.pos)},Ct.prototype.hideFirstChars=function(Ee,_e){this.lineStart+=Ee;try{return _e()}finally{this.lineStart-=Ee}},Ct.prototype.lookAhead=function(Ee){var _e=this.lineOracle;return _e&&_e.lookAhead(Ee)},Ct.prototype.baseToken=function(){var Ee=this.lineOracle;return Ee&&Ee.baseToken(this.pos)};function rn(Ee,_e){if(_e-=Ee.first,_e<0||_e>=Ee.size)throw new Error("There is no line "+(_e+Ee.first)+" in the document.");for(var it=Ee;!it.lines;)for(var rt=0;;++rt){var ht=it.children[rt],Wt=ht.chunkSize();if(_e<Wt){it=ht;break}_e-=Wt}return it.lines[_e]}function nn(Ee,_e,it){var rt=[],ht=_e.line;return Ee.iter(_e.line,it.line+1,function(Wt){var sn=Wt.text;ht==it.line&&(sn=sn.slice(0,it.ch)),ht==_e.line&&(sn=sn.slice(_e.ch)),rt.push(sn),++ht}),rt}function Gn(Ee,_e,it){var rt=[];return Ee.iter(_e,it,function(ht){rt.push(ht.text)}),rt}function Sn(Ee,_e){var it=_e-Ee.height;if(it)for(var rt=Ee;rt;rt=rt.parent)rt.height+=it}function cn(Ee){if(Ee.parent==null)return null;for(var _e=Ee.parent,it=Dt(_e.lines,Ee),rt=_e.parent;rt;_e=rt,rt=rt.parent)for(var ht=0;rt.children[ht]!=_e;++ht)it+=rt.children[ht].chunkSize();return it+_e.first}function Yn(Ee,_e){var it=Ee.first;e:do{for(var rt=0;rt<Ee.children.length;++rt){var ht=Ee.children[rt],Wt=ht.height;if(_e<Wt){Ee=ht;continue e}_e-=Wt,it+=ht.chunkSize()}return it}while(!Ee.lines);for(var sn=0;sn<Ee.lines.length;++sn){var Ln=Ee.lines[sn],Mn=Ln.height;if(_e<Mn)break;_e-=Mn}return it+sn}function ir(Ee,_e){return _e>=Ee.first&&_e<Ee.first+Ee.size}function fr(Ee,_e){return String(Ee.lineNumberFormatter(_e+Ee.firstLineNumber))}function On(Ee,_e,it){if(it===void 0&&(it=null),!(this instanceof On))return new On(Ee,_e,it);this.line=Ee,this.ch=_e,this.sticky=it}function dn(Ee,_e){return Ee.line-_e.line||Ee.ch-_e.ch}function Bn(Ee,_e){return Ee.sticky==_e.sticky&&dn(Ee,_e)==0}function tr(Ee){return On(Ee.line,Ee.ch)}function hr(Ee,_e){return dn(Ee,_e)<0?_e:Ee}function pr(Ee,_e){return dn(Ee,_e)<0?Ee:_e}function Mr(Ee,_e){return Math.max(Ee.first,Math.min(_e,Ee.first+Ee.size-1))}function gr(Ee,_e){if(_e.line<Ee.first)return On(Ee.first,0);var it=Ee.first+Ee.size-1;return _e.line>it?On(it,rn(Ee,it).text.length):Nr(_e,rn(Ee,_e.line).text.length)}function Nr(Ee,_e){var it=Ee.ch;return it==null||it>_e?On(Ee.line,_e):it<0?On(Ee.line,0):Ee}function Kr(Ee,_e){for(var it=[],rt=0;rt<_e.length;rt++)it[rt]=gr(Ee,_e[rt]);return it}var Hn=function(Ee,_e){this.state=Ee,this.lookAhead=_e},br=function(Ee,_e,it,rt){this.state=_e,this.doc=Ee,this.line=it,this.maxLookAhead=rt||0,this.baseTokens=null,this.baseTokenPos=1};br.prototype.lookAhead=function(Ee){var _e=this.doc.getLine(this.line+Ee);return _e!=null&&Ee>this.maxLookAhead&&(this.maxLookAhead=Ee),_e},br.prototype.baseToken=function(Ee){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=Ee;)this.baseTokenPos+=2;var _e=this.baseTokens[this.baseTokenPos+1];return{type:_e&&_e.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-Ee}},br.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},br.fromSaved=function(Ee,_e,it){return _e instanceof Hn?new br(Ee,et(Ee.mode,_e.state),it,_e.lookAhead):new br(Ee,et(Ee.mode,_e),it)},br.prototype.save=function(Ee){var _e=Ee!==!1?et(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new Hn(_e,this.maxLookAhead):_e};function ui(Ee,_e,it,rt){var ht=[Ee.state.modeGen],Wt={};Do(Ee,_e.text,Ee.doc.mode,it,function(Qn,Wr){return ht.push(Qn,Wr)},Wt,rt);for(var sn=it.state,Ln=function(Qn){it.baseTokens=ht;var Wr=Ee.state.overlays[Qn],lr=1,Si=0;it.state=!0,Do(Ee,_e.text,Wr.mode,it,function(fi,Mo){for(var Ro=lr;Si<fi;){var ea=ht[lr];ea>fi&&ht.splice(lr,1,fi,ht[lr+1],ea),lr+=2,Si=Math.min(fi,ea)}if(Mo)if(Wr.opaque)ht.splice(Ro,lr-Ro,fi,"overlay "+Mo),lr=Ro+2;else for(;Ro<lr;Ro+=2){var Na=ht[Ro+1];ht[Ro+1]=(Na?Na+" ":"")+"overlay "+Mo}},Wt),it.state=sn,it.baseTokens=null,it.baseTokenPos=1},Mn=0;Mn<Ee.state.overlays.length;++Mn)Ln(Mn);return{styles:ht,classes:Wt.bgClass||Wt.textClass?Wt:null}}function gi(Ee,_e,it){if(!_e.styles||_e.styles[0]!=Ee.state.modeGen){var rt=Zi(Ee,cn(_e)),ht=_e.text.length>Ee.options.maxHighlightLength&&et(Ee.doc.mode,rt.state),Wt=ui(Ee,_e,rt);ht&&(rt.state=ht),_e.stateAfter=rt.save(!ht),_e.styles=Wt.styles,Wt.classes?_e.styleClasses=Wt.classes:_e.styleClasses&&(_e.styleClasses=null),it===Ee.doc.highlightFrontier&&(Ee.doc.modeFrontier=Math.max(Ee.doc.modeFrontier,++Ee.doc.highlightFrontier))}return _e.styles}function Zi(Ee,_e,it){var rt=Ee.doc,ht=Ee.display;if(!rt.mode.startState)return new br(rt,!0,_e);var Wt=Bo(Ee,_e,it),sn=Wt>rt.first&&rn(rt,Wt-1).stateAfter,Ln=sn?br.fromSaved(rt,sn,Wt):new br(rt,Bt(rt.mode),Wt);return rt.iter(Wt,_e,function(Mn){nr(Ee,Mn.text,Ln);var Qn=Ln.line;Mn.stateAfter=Qn==_e-1||Qn%5==0||Qn>=ht.viewFrom&&Qn<ht.viewTo?Ln.save():null,Ln.nextLine()}),it&&(rt.modeFrontier=Ln.line),Ln}function nr(Ee,_e,it,rt){var ht=Ee.doc.mode,Wt=new Ct(_e,Ee.options.tabSize,it);for(Wt.start=Wt.pos=rt||0,_e==""&&xi(ht,it.state);!Wt.eol();)Vi(ht,Wt,it.state),Wt.start=Wt.pos}function xi(Ee,_e){if(Ee.blankLine)return Ee.blankLine(_e);if(Ee.innerMode){var it=ft(Ee,_e);if(it.mode.blankLine)return it.mode.blankLine(it.state)}}function Vi(Ee,_e,it,rt){for(var ht=0;ht<10;ht++){rt&&(rt[0]=ft(Ee,it).mode);var Wt=Ee.token(_e,it);if(_e.pos>_e.start)return Wt}throw new Error("Mode "+Ee.name+" failed to advance stream.")}var Gi=function(Ee,_e,it){this.start=Ee.start,this.end=Ee.pos,this.string=Ee.current(),this.type=_e||null,this.state=it};function Ao(Ee,_e,it,rt){var ht=Ee.doc,Wt=ht.mode,sn;_e=gr(ht,_e);var Ln=rn(ht,_e.line),Mn=Zi(Ee,_e.line,it),Qn=new Ct(Ln.text,Ee.options.tabSize,Mn),Wr;for(rt&&(Wr=[]);(rt||Qn.pos<_e.ch)&&!Qn.eol();)Qn.start=Qn.pos,sn=Vi(Wt,Qn,Mn.state),rt&&Wr.push(new Gi(Qn,sn,et(ht.mode,Mn.state)));return rt?Wr:new Gi(Qn,sn,Mn.state)}function io(Ee,_e){if(Ee)for(;;){var it=Ee.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!it)break;Ee=Ee.slice(0,it.index)+Ee.slice(it.index+it[0].length);var rt=it[1]?"bgClass":"textClass";_e[rt]==null?_e[rt]=it[2]:new RegExp("(?:^|\\s)"+it[2]+"(?:$|\\s)").test(_e[rt])||(_e[rt]+=" "+it[2])}return Ee}function Do(Ee,_e,it,rt,ht,Wt,sn){var Ln=it.flattenSpans;Ln==null&&(Ln=Ee.options.flattenSpans);var Mn=0,Qn=null,Wr=new Ct(_e,Ee.options.tabSize,rt),lr,Si=Ee.options.addModeClass&&[null];for(_e==""&&io(xi(it,rt.state),Wt);!Wr.eol();){if(Wr.pos>Ee.options.maxHighlightLength?(Ln=!1,sn&&nr(Ee,_e,rt,Wr.pos),Wr.pos=_e.length,lr=null):lr=io(Vi(it,Wr,rt.state,Si),Wt),Si){var fi=Si[0].name;fi&&(lr="m-"+(lr?fi+" "+lr:fi))}if(!Ln||Qn!=lr){for(;Mn<Wr.start;)Mn=Math.min(Wr.start,Mn+5e3),ht(Mn,Qn);Qn=lr}Wr.start=Wr.pos}for(;Mn<Wr.pos;){var Mo=Math.min(Wr.pos,Mn+5e3);ht(Mo,Qn),Mn=Mo}}function Bo(Ee,_e,it){for(var rt,ht,Wt=Ee.doc,sn=it?-1:_e-(Ee.doc.mode.innerMode?1e3:100),Ln=_e;Ln>sn;--Ln){if(Ln<=Wt.first)return Wt.first;var Mn=rn(Wt,Ln-1),Qn=Mn.stateAfter;if(Qn&&(!it||Ln+(Qn instanceof Hn?Qn.lookAhead:0)<=Wt.modeFrontier))return Ln;var Wr=xt(Mn.text,null,Ee.options.tabSize);(ht==null||rt>Wr)&&(ht=Ln-1,rt=Wr)}return ht}function Ui(Ee,_e){if(Ee.modeFrontier=Math.min(Ee.modeFrontier,_e),!(Ee.highlightFrontier<_e-10)){for(var it=Ee.first,rt=_e-1;rt>it;rt--){var ht=rn(Ee,rt).stateAfter;if(ht&&(!(ht instanceof Hn)||rt+ht.lookAhead<_e)){it=rt+1;break}}Ee.highlightFrontier=Math.min(Ee.highlightFrontier,it)}}var Xo=!1,Hr=!1;function wa(){Xo=!0}function Zr(){Hr=!0}function Ca(Ee,_e,it){this.marker=Ee,this.from=_e,this.to=it}function ss(Ee,_e){if(Ee)for(var it=0;it<Ee.length;++it){var rt=Ee[it];if(rt.marker==_e)return rt}}function oa(Ee,_e){for(var it,rt=0;rt<Ee.length;++rt)Ee[rt]!=_e&&(it||(it=[])).push(Ee[rt]);return it}function Os(Ee,_e){Ee.markedSpans=Ee.markedSpans?Ee.markedSpans.concat([_e]):[_e],_e.marker.attachLine(Ee)}function rs(Ee,_e,it){var rt;if(Ee)for(var ht=0;ht<Ee.length;++ht){var Wt=Ee[ht],sn=Wt.marker,Ln=Wt.from==null||(sn.inclusiveLeft?Wt.from<=_e:Wt.from<_e);if(Ln||Wt.from==_e&&sn.type=="bookmark"&&(!it||!Wt.marker.insertLeft)){var Mn=Wt.to==null||(sn.inclusiveRight?Wt.to>=_e:Wt.to>_e);(rt||(rt=[])).push(new Ca(sn,Wt.from,Mn?null:Wt.to))}}return rt}function po(Ee,_e,it){var rt;if(Ee)for(var ht=0;ht<Ee.length;++ht){var Wt=Ee[ht],sn=Wt.marker,Ln=Wt.to==null||(sn.inclusiveRight?Wt.to>=_e:Wt.to>_e);if(Ln||Wt.from==_e&&sn.type=="bookmark"&&(!it||Wt.marker.insertLeft)){var Mn=Wt.from==null||(sn.inclusiveLeft?Wt.from<=_e:Wt.from<_e);(rt||(rt=[])).push(new Ca(sn,Mn?null:Wt.from-_e,Wt.to==null?null:Wt.to-_e))}}return rt}function zo(Ee,_e){if(_e.full)return null;var it=ir(Ee,_e.from.line)&&rn(Ee,_e.from.line).markedSpans,rt=ir(Ee,_e.to.line)&&rn(Ee,_e.to.line).markedSpans;if(!it&&!rt)return null;var ht=_e.from.ch,Wt=_e.to.ch,sn=dn(_e.from,_e.to)==0,Ln=rs(it,ht,sn),Mn=po(rt,Wt,sn),Qn=_e.text.length==1,Wr=an(_e.text).length+(Qn?ht:0);if(Ln)for(var lr=0;lr<Ln.length;++lr){var Si=Ln[lr];if(Si.to==null){var fi=ss(Mn,Si.marker);fi?Qn&&(Si.to=fi.to==null?null:fi.to+Wr):Si.to=ht}}if(Mn)for(var Mo=0;Mo<Mn.length;++Mo){var Ro=Mn[Mo];if(Ro.to!=null&&(Ro.to+=Wr),Ro.from==null){var ea=ss(Ln,Ro.marker);ea||(Ro.from=Wr,Qn&&(Ln||(Ln=[])).push(Ro))}else Ro.from+=Wr,Qn&&(Ln||(Ln=[])).push(Ro)}Ln&&(Ln=za(Ln)),Mn&&Mn!=Ln&&(Mn=za(Mn));var Na=[Ln];if(!Qn){var vs=_e.text.length-2,Xa;if(vs>0&&Ln)for(var Ds=0;Ds<Ln.length;++Ds)Ln[Ds].to==null&&(Xa||(Xa=[])).push(new Ca(Ln[Ds].marker,null,null));for(var hl=0;hl<vs;++hl)Na.push(Xa);Na.push(Mn)}return Na}function za(Ee){for(var _e=0;_e<Ee.length;++_e){var it=Ee[_e];it.from!=null&&it.from==it.to&&it.marker.clearWhenEmpty!==!1&&Ee.splice(_e--,1)}return Ee.length?Ee:null}function Ka(Ee,_e,it){var rt=null;if(Ee.iter(_e.line,it.line+1,function(fi){if(fi.markedSpans)for(var Mo=0;Mo<fi.markedSpans.length;++Mo){var Ro=fi.markedSpans[Mo].marker;Ro.readOnly&&(!rt||Dt(rt,Ro)==-1)&&(rt||(rt=[])).push(Ro)}}),!rt)return null;for(var ht=[{from:_e,to:it}],Wt=0;Wt<rt.length;++Wt)for(var sn=rt[Wt],Ln=sn.find(0),Mn=0;Mn<ht.length;++Mn){var Qn=ht[Mn];if(!(dn(Qn.to,Ln.from)<0||dn(Qn.from,Ln.to)>0)){var Wr=[Mn,1],lr=dn(Qn.from,Ln.from),Si=dn(Qn.to,Ln.to);(lr<0||!sn.inclusiveLeft&&!lr)&&Wr.push({from:Qn.from,to:Ln.from}),(Si>0||!sn.inclusiveRight&&!Si)&&Wr.push({from:Ln.to,to:Qn.to}),ht.splice.apply(ht,Wr),Mn+=Wr.length-3}}return ht}function Ji(Ee){var _e=Ee.markedSpans;if(_e){for(var it=0;it<_e.length;++it)_e[it].marker.detachLine(Ee);Ee.markedSpans=null}}function yn(Ee,_e){if(_e){for(var it=0;it<_e.length;++it)_e[it].marker.attachLine(Ee);Ee.markedSpans=_e}}function ja(Ee){return Ee.inclusiveLeft?-1:0}function is(Ee){return Ee.inclusiveRight?1:0}function _a(Ee,_e){var it=Ee.lines.length-_e.lines.length;if(it!=0)return it;var rt=Ee.find(),ht=_e.find(),Wt=dn(rt.from,ht.from)||ja(Ee)-ja(_e);if(Wt)return-Wt;var sn=dn(rt.to,ht.to)||is(Ee)-is(_e);return sn||_e.id-Ee.id}function Us(Ee,_e){var it=Hr&&Ee.markedSpans,rt;if(it)for(var ht=void 0,Wt=0;Wt<it.length;++Wt)ht=it[Wt],ht.marker.collapsed&&(_e?ht.from:ht.to)==null&&(!rt||_a(rt,ht.marker)<0)&&(rt=ht.marker);return rt}function ma(Ee){return Us(Ee,!0)}function aa(Ee){return Us(Ee,!1)}function ys(Ee,_e){var it=Hr&&Ee.markedSpans,rt;if(it)for(var ht=0;ht<it.length;++ht){var Wt=it[ht];Wt.marker.collapsed&&(Wt.from==null||Wt.from<_e)&&(Wt.to==null||Wt.to>_e)&&(!rt||_a(rt,Wt.marker)<0)&&(rt=Wt.marker)}return rt}function Fs(Ee,_e,it,rt,ht){var Wt=rn(Ee,_e),sn=Hr&&Wt.markedSpans;if(sn)for(var Ln=0;Ln<sn.length;++Ln){var Mn=sn[Ln];if(Mn.marker.collapsed){var Qn=Mn.marker.find(0),Wr=dn(Qn.from,it)||ja(Mn.marker)-ja(ht),lr=dn(Qn.to,rt)||is(Mn.marker)-is(ht);if(!(Wr>=0&&lr<=0||Wr<=0&&lr>=0)&&(Wr<=0&&(Mn.marker.inclusiveRight&&ht.inclusiveLeft?dn(Qn.to,it)>=0:dn(Qn.to,it)>0)||Wr>=0&&(Mn.marker.inclusiveRight&&ht.inclusiveLeft?dn(Qn.from,rt)<=0:dn(Qn.from,rt)<0)))return!0}}}function es(Ee){for(var _e;_e=ma(Ee);)Ee=_e.find(-1,!0).line;return Ee}function ml(Ee){for(var _e;_e=aa(Ee);)Ee=_e.find(1,!0).line;return Ee}function ta(Ee){for(var _e,it;_e=aa(Ee);)Ee=_e.find(1,!0).line,(it||(it=[])).push(Ee);return it}function Qo(Ee,_e){var it=rn(Ee,_e),rt=es(it);return it==rt?_e:cn(rt)}function Ba(Ee,_e){if(_e>Ee.lastLine())return _e;var it=rn(Ee,_e),rt;if(!Ii(Ee,it))return _e;for(;rt=aa(it);)it=rt.find(1,!0).line;return cn(it)+1}function Ii(Ee,_e){var it=Hr&&_e.markedSpans;if(it){for(var rt=void 0,ht=0;ht<it.length;++ht)if(rt=it[ht],!!rt.marker.collapsed){if(rt.from==null)return!0;if(!rt.marker.widgetNode&&rt.from==0&&rt.marker.inclusiveLeft&&Gs(Ee,_e,rt))return!0}}}function Gs(Ee,_e,it){if(it.to==null){var rt=it.marker.find(1,!0);return Gs(Ee,rt.line,ss(rt.line.markedSpans,it.marker))}if(it.marker.inclusiveRight&&it.to==_e.text.length)return!0;for(var ht=void 0,Wt=0;Wt<_e.markedSpans.length;++Wt)if(ht=_e.markedSpans[Wt],ht.marker.collapsed&&!ht.marker.widgetNode&&ht.from==it.to&&(ht.to==null||ht.to!=it.from)&&(ht.marker.inclusiveLeft||it.marker.inclusiveRight)&&Gs(Ee,_e,ht))return!0}function sl(Ee){Ee=es(Ee);for(var _e=0,it=Ee.parent,rt=0;rt<it.lines.length;++rt){var ht=it.lines[rt];if(ht==Ee)break;_e+=ht.height}for(var Wt=it.parent;Wt;it=Wt,Wt=it.parent)for(var sn=0;sn<Wt.children.length;++sn){var Ln=Wt.children[sn];if(Ln==it)break;_e+=Ln.height}return _e}function ql(Ee){if(Ee.height==0)return 0;for(var _e=Ee.text.length,it,rt=Ee;it=ma(rt);){var ht=it.find(0,!0);rt=ht.from.line,_e+=ht.from.ch-ht.to.ch}for(rt=Ee;it=aa(rt);){var Wt=it.find(0,!0);_e-=rt.text.length-Wt.from.ch,rt=Wt.to.line,_e+=rt.text.length-Wt.to.ch}return _e}function Ki(Ee){var _e=Ee.display,it=Ee.doc;_e.maxLine=rn(it,it.first),_e.maxLineLength=ql(_e.maxLine),_e.maxLineChanged=!0,it.iter(function(rt){var ht=ql(rt);ht>_e.maxLineLength&&(_e.maxLineLength=ht,_e.maxLine=rt)})}var xs=function(Ee,_e,it){this.text=Ee,yn(this,_e),this.height=it?it(this):1};xs.prototype.lineNo=function(){return cn(this)},Qr(xs);function zs(Ee,_e,it,rt){Ee.text=_e,Ee.stateAfter&&(Ee.stateAfter=null),Ee.styles&&(Ee.styles=null),Ee.order!=null&&(Ee.order=null),Ji(Ee),yn(Ee,it);var ht=rt?rt(Ee):1;ht!=Ee.height&&Sn(Ee,ht)}function yl(Ee){Ee.parent=null,Ji(Ee)}var tl={},Ms={};function Au(Ee,_e){if(!Ee||/^\s*$/.test(Ee))return null;var it=_e.addModeClass?Ms:tl;return it[Ee]||(it[Ee]=Ee.replace(/\S+/g,"cm-$&"))}function Ur(Ee,_e){var it=Qe("span",null,null,we?"padding-right: .1px":null),rt={pre:Qe("pre",[it],"CodeMirror-line"),content:it,col:0,pos:0,cm:Ee,trailingSpace:!1,splitSpaces:Ee.getOption("lineWrapping")};_e.measure={};for(var ht=0;ht<=(_e.rest?_e.rest.length:0);ht++){var Wt=ht?_e.rest[ht-1]:_e.line,sn=void 0;rt.pos=0,rt.addToken=gh,oo(Ee.display.measure)&&(sn=Ht(Wt,Ee.doc.direction))&&(rt.addToken=Ns(rt.addToken,sn)),rt.map=[];var Ln=_e!=Ee.display.externalMeasured&&cn(Wt);lu(Wt,rt,gi(Ee,Wt,Ln)),Wt.styleClasses&&(Wt.styleClasses.bgClass&&(rt.bgClass=Et(Wt.styleClasses.bgClass,rt.bgClass||"")),Wt.styleClasses.textClass&&(rt.textClass=Et(Wt.styleClasses.textClass,rt.textClass||""))),rt.map.length==0&&rt.map.push(0,0,rt.content.appendChild(ao(Ee.display.measure))),ht==0?(_e.measure.map=rt.map,_e.measure.cache={}):((_e.measure.maps||(_e.measure.maps=[])).push(rt.map),(_e.measure.caches||(_e.measure.caches=[])).push({}))}if(we){var Mn=rt.content.lastChild;(/\bcm-tab\b/.test(Mn.className)||Mn.querySelector&&Mn.querySelector(".cm-tab"))&&(rt.content.className="cm-tab-wrap-hack")}return An(Ee,"renderLine",Ee,_e.line,rt.pre),rt.pre.className&&(rt.textClass=Et(rt.pre.className,rt.textClass||"")),rt}function Su(Ee){var _e=Ve("span","\u2022","cm-invalidchar");return _e.title="\\u"+Ee.charCodeAt(0).toString(16),_e.setAttribute("aria-label",_e.title),_e}function gh(Ee,_e,it,rt,ht,Wt,sn){if(_e){var Ln=Ee.splitSpaces?Wc(_e,Ee.trailingSpace):_e,Mn=Ee.cm.state.specialChars,Qn=!1,Wr;if(!Mn.test(_e))Ee.col+=_e.length,Wr=document.createTextNode(Ln),Ee.map.push(Ee.pos,Ee.pos+_e.length,Wr),Ke&&Be<9&&(Qn=!0),Ee.pos+=_e.length;else{Wr=document.createDocumentFragment();for(var lr=0;;){Mn.lastIndex=lr;var Si=Mn.exec(_e),fi=Si?Si.index-lr:_e.length-lr;if(fi){var Mo=document.createTextNode(Ln.slice(lr,lr+fi));Ke&&Be<9?Wr.appendChild(Ve("span",[Mo])):Wr.appendChild(Mo),Ee.map.push(Ee.pos,Ee.pos+fi,Mo),Ee.col+=fi,Ee.pos+=fi}if(!Si)break;lr+=fi+1;var Ro=void 0;if(Si[0]==" "){var ea=Ee.cm.options.tabSize,Na=ea-Ee.col%ea;Ro=Wr.appendChild(Ve("span",er(Na),"cm-tab")),Ro.setAttribute("role","presentation"),Ro.setAttribute("cm-text"," "),Ee.col+=Na}else Si[0]=="\r"||Si[0]==`
`?(Ro=Wr.appendChild(Ve("span",Si[0]=="\r"?"\u240D":"\u2424","cm-invalidchar")),Ro.setAttribute("cm-text",Si[0]),Ee.col+=1):(Ro=Ee.cm.options.specialCharPlaceholder(Si[0]),Ro.setAttribute("cm-text",Si[0]),Ke&&Be<9?Wr.appendChild(Ve("span",[Ro])):Wr.appendChild(Ro),Ee.col+=1);Ee.map.push(Ee.pos,Ee.pos+1,Ro),Ee.pos++}}if(Ee.trailingSpace=Ln.charCodeAt(_e.length-1)==32,it||rt||ht||Qn||Wt||sn){var vs=it||"";rt&&(vs+=rt),ht&&(vs+=ht);var Xa=Ve("span",[Wr],vs,Wt);if(sn)for(var Ds in sn)sn.hasOwnProperty(Ds)&&Ds!="style"&&Ds!="class"&&Xa.setAttribute(Ds,sn[Ds]);return Ee.content.appendChild(Xa)}Ee.content.appendChild(Wr)}}function Wc(Ee,_e){if(Ee.length>1&&!/ /.test(Ee))return Ee;for(var it=_e,rt="",ht=0;ht<Ee.length;ht++){var Wt=Ee.charAt(ht);Wt==" "&&it&&(ht==Ee.length-1||Ee.charCodeAt(ht+1)==32)&&(Wt="\xA0"),rt+=Wt,it=Wt==" "}return rt}function Ns(Ee,_e){return function(it,rt,ht,Wt,sn,Ln,Mn){ht=ht?ht+" cm-force-border":"cm-force-border";for(var Qn=it.pos,Wr=Qn+rt.length;;){for(var lr=void 0,Si=0;Si<_e.length&&(lr=_e[Si],!(lr.to>Qn&&lr.from<=Qn));Si++);if(lr.to>=Wr)return Ee(it,rt,ht,Wt,sn,Ln,Mn);Ee(it,rt.slice(0,lr.to-Qn),ht,Wt,null,Ln,Mn),Wt=null,rt=rt.slice(lr.to-Qn),Qn=lr.to}}}function Sl(Ee,_e,it,rt){var ht=!rt&&it.widgetNode;ht&&Ee.map.push(Ee.pos,Ee.pos+_e,ht),!rt&&Ee.cm.display.input.needsContentAttribute&&(ht||(ht=Ee.content.appendChild(document.createElement("span"))),ht.setAttribute("cm-marker",it.id)),ht&&(Ee.cm.display.input.setUneditable(ht),Ee.content.appendChild(ht)),Ee.pos+=_e,Ee.trailingSpace=!1}function lu(Ee,_e,it){var rt=Ee.markedSpans,ht=Ee.text,Wt=0;if(!rt){for(var sn=1;sn<it.length;sn+=2)_e.addToken(_e,ht.slice(Wt,Wt=it[sn]),Au(it[sn+1],_e.cm.options));return}for(var Ln=ht.length,Mn=0,Qn=1,Wr="",lr,Si,fi=0,Mo,Ro,ea,Na,vs;;){if(fi==Mn){Mo=Ro=ea=Si="",vs=null,Na=null,fi=1/0;for(var Xa=[],Ds=void 0,hl=0;hl<rt.length;++hl){var Qa=rt[hl],Ul=Qa.marker;if(Ul.type=="bookmark"&&Qa.from==Mn&&Ul.widgetNode)Xa.push(Ul);else if(Qa.from<=Mn&&(Qa.to==null||Qa.to>Mn||Ul.collapsed&&Qa.to==Mn&&Qa.from==Mn)){if(Qa.to!=null&&Qa.to!=Mn&&fi>Qa.to&&(fi=Qa.to,Ro=""),Ul.className&&(Mo+=" "+Ul.className),Ul.css&&(Si=(Si?Si+";":"")+Ul.css),Ul.startStyle&&Qa.from==Mn&&(ea+=" "+Ul.startStyle),Ul.endStyle&&Qa.to==fi&&(Ds||(Ds=[])).push(Ul.endStyle,Qa.to),Ul.title&&((vs||(vs={})).title=Ul.title),Ul.attributes)for(var fc in Ul.attributes)(vs||(vs={}))[fc]=Ul.attributes[fc];Ul.collapsed&&(!Na||_a(Na.marker,Ul)<0)&&(Na=Qa)}else Qa.from>Mn&&fi>Qa.from&&(fi=Qa.from)}if(Ds)for(var _h=0;_h<Ds.length;_h+=2)Ds[_h+1]==fi&&(Ro+=" "+Ds[_h]);if(!Na||Na.from==Mn)for(var Tc=0;Tc<Xa.length;++Tc)Sl(_e,0,Xa[Tc]);if(Na&&(Na.from||0)==Mn){if(Sl(_e,(Na.to==null?Ln+1:Na.to)-Mn,Na.marker,Na.from==null),Na.to==null)return;Na.to==Mn&&(Na=!1)}}if(Mn>=Ln)break;for(var Ad=Math.min(Ln,fi);;){if(Wr){var Sd=Mn+Wr.length;if(!Na){var Ah=Sd>Ad?Wr.slice(0,Ad-Mn):Wr;_e.addToken(_e,Ah,lr?lr+Mo:Mo,ea,Mn+Ah.length==fi?Ro:"",Si,vs)}if(Sd>=Ad){Wr=Wr.slice(Ad-Mn),Mn=Ad;break}Mn=Sd,ea=""}Wr=ht.slice(Wt,Wt=it[Qn++]),lr=Au(it[Qn++],_e.cm.options)}}}function gl(Ee,_e,it){this.line=_e,this.rest=ta(_e),this.size=this.rest?cn(an(this.rest))-it+1:1,this.node=this.text=null,this.hidden=Ii(Ee,_e)}function Hs(Ee,_e,it){for(var rt=[],ht,Wt=_e;Wt<it;Wt=ht){var sn=new gl(Ee.doc,rn(Ee.doc,Wt),Wt);ht=Wt+sn.size,rt.push(sn)}return rt}var Al=null;function Wu(Ee){Al?Al.ops.push(Ee):Ee.ownsGroup=Al={ops:[Ee],delayedCallbacks:[]}}function ls(Ee){var _e=Ee.delayedCallbacks,it=0;do{for(;it<_e.length;it++)_e[it].call(null);for(var rt=0;rt<Ee.ops.length;rt++){var ht=Ee.ops[rt];if(ht.cursorActivityHandlers)for(;ht.cursorActivityCalled<ht.cursorActivityHandlers.length;)ht.cursorActivityHandlers[ht.cursorActivityCalled++].call(null,ht.cm)}}while(it<_e.length)}function ns(Ee,_e){var it=Ee.ownsGroup;if(it)try{ls(it)}finally{Al=null,_e(it)}}var Vs=null;function jo(Ee,_e){var it=rr(Ee,_e);if(it.length){var rt=Array.prototype.slice.call(arguments,2),ht;Al?ht=Al.delayedCallbacks:Vs?ht=Vs:(ht=Vs=[],setTimeout(Ru,0));for(var Wt=function(Ln){ht.push(function(){return it[Ln].apply(null,rt)})},sn=0;sn<it.length;++sn)Wt(sn)}}function Ru(){var Ee=Vs;Vs=null;for(var _e=0;_e<Ee.length;++_e)Ee[_e]()}function Uu(Ee,_e,it,rt){for(var ht=0;ht<_e.changes.length;ht++){var Wt=_e.changes[ht];Wt=="text"?So(Ee,_e):Wt=="gutter"?Ya(Ee,_e,it,rt):Wt=="class"?uu(Ee,_e):Wt=="widget"&&Rh(Ee,_e,rt)}_e.changes=null}function Oc(Ee){return Ee.node==Ee.text&&(Ee.node=Ve("div",null,null,"position: relative"),Ee.text.parentNode&&Ee.text.parentNode.replaceChild(Ee.node,Ee.text),Ee.node.appendChild(Ee.text),Ke&&Be<8&&(Ee.node.style.zIndex=2)),Ee.node}function ph(Ee,_e){var it=_e.bgClass?_e.bgClass+" "+(_e.line.bgClass||""):_e.line.bgClass;if(it&&(it+=" CodeMirror-linebackground"),_e.background)it?_e.background.className=it:(_e.background.parentNode.removeChild(_e.background),_e.background=null);else if(it){var rt=Oc(_e);_e.background=rt.insertBefore(Ve("div",null,it),rt.firstChild),Ee.display.input.setUneditable(_e.background)}}function Kh(Ee,_e){var it=Ee.display.externalMeasured;return it&&it.line==_e.line?(Ee.display.externalMeasured=null,_e.measure=it.measure,it.built):Ur(Ee,_e)}function So(Ee,_e){var it=_e.text.className,rt=Kh(Ee,_e);_e.text==_e.node&&(_e.node=rt.pre),_e.text.parentNode.replaceChild(rt.pre,_e.text),_e.text=rt.pre,rt.bgClass!=_e.bgClass||rt.textClass!=_e.textClass?(_e.bgClass=rt.bgClass,_e.textClass=rt.textClass,uu(Ee,_e)):it&&(_e.text.className=it)}function uu(Ee,_e){ph(Ee,_e),_e.line.wrapClass?Oc(_e).className=_e.line.wrapClass:_e.node!=_e.text&&(_e.node.className="");var it=_e.textClass?_e.textClass+" "+(_e.line.textClass||""):_e.line.textClass;_e.text.className=it||""}function Ya(Ee,_e,it,rt){if(_e.gutter&&(_e.node.removeChild(_e.gutter),_e.gutter=null),_e.gutterBackground&&(_e.node.removeChild(_e.gutterBackground),_e.gutterBackground=null),_e.line.gutterClass){var ht=Oc(_e);_e.gutterBackground=Ve("div",null,"CodeMirror-gutter-background "+_e.line.gutterClass,"left: "+(Ee.options.fixedGutter?rt.fixedPos:-rt.gutterTotalWidth)+"px; width: "+rt.gutterTotalWidth+"px"),Ee.display.input.setUneditable(_e.gutterBackground),ht.insertBefore(_e.gutterBackground,_e.text)}var Wt=_e.line.gutterMarkers;if(Ee.options.lineNumbers||Wt){var sn=Oc(_e),Ln=_e.gutter=Ve("div",null,"CodeMirror-gutter-wrapper","left: "+(Ee.options.fixedGutter?rt.fixedPos:-rt.gutterTotalWidth)+"px");if(Ee.display.input.setUneditable(Ln),sn.insertBefore(Ln,_e.text),_e.line.gutterClass&&(Ln.className+=" "+_e.line.gutterClass),Ee.options.lineNumbers&&(!Wt||!Wt["CodeMirror-linenumbers"])&&(_e.lineNumber=Ln.appendChild(Ve("div",fr(Ee.options,it),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+rt.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+Ee.display.lineNumInnerWidth+"px"))),Wt)for(var Mn=0;Mn<Ee.display.gutterSpecs.length;++Mn){var Qn=Ee.display.gutterSpecs[Mn].className,Wr=Wt.hasOwnProperty(Qn)&&Wt[Qn];Wr&&Ln.appendChild(Ve("div",[Wr],"CodeMirror-gutter-elt","left: "+rt.gutterLeft[Qn]+"px; width: "+rt.gutterWidth[Qn]+"px"))}}}function Rh(Ee,_e,it){_e.alignable&&(_e.alignable=null);for(var rt=Se("CodeMirror-linewidget"),ht=_e.node.firstChild,Wt=void 0;ht;ht=Wt)Wt=ht.nextSibling,rt.test(ht.className)&&_e.node.removeChild(ht);Ac(Ee,_e,it)}function Zh(Ee,_e,it,rt){var ht=Kh(Ee,_e);return _e.text=_e.node=ht.pre,ht.bgClass&&(_e.bgClass=ht.bgClass),ht.textClass&&(_e.textClass=ht.textClass),uu(Ee,_e),Ya(Ee,_e,it,rt),Ac(Ee,_e,rt),_e.node}function Ac(Ee,_e,it){if(us(Ee,_e.line,_e,it,!0),_e.rest)for(var rt=0;rt<_e.rest.length;rt++)us(Ee,_e.rest[rt],_e,it,!1)}function us(Ee,_e,it,rt,ht){if(_e.widgets)for(var Wt=Oc(it),sn=0,Ln=_e.widgets;sn<Ln.length;++sn){var Mn=Ln[sn],Qn=Ve("div",[Mn.node],"CodeMirror-linewidget"+(Mn.className?" "+Mn.className:""));Mn.handleMouseEvents||Qn.setAttribute("cm-ignore-events","true"),th(Mn,Qn,it,rt),Ee.display.input.setUneditable(Qn),ht&&Mn.above?Wt.insertBefore(Qn,it.gutter||it.text):Wt.appendChild(Qn),jo(Mn,"redraw")}}function th(Ee,_e,it,rt){if(Ee.noHScroll){(it.alignable||(it.alignable=[])).push(_e);var ht=rt.wrapperWidth;_e.style.left=rt.fixedPos+"px",Ee.coverGutter||(ht-=rt.gutterTotalWidth,_e.style.paddingLeft=rt.gutterTotalWidth+"px"),_e.style.width=ht+"px"}Ee.coverGutter&&(_e.style.zIndex=5,_e.style.position="relative",Ee.noHScroll||(_e.style.marginLeft=-rt.gutterTotalWidth+"px"))}function nh(Ee){if(Ee.height!=null)return Ee.height;var _e=Ee.doc.cm;if(!_e)return 0;if(!gt(document.body,Ee.node)){var it="position: relative;";Ee.coverGutter&&(it+="margin-left: -"+_e.display.gutters.offsetWidth+"px;"),Ee.noHScroll&&(it+="width: "+_e.display.wrapper.clientWidth+"px;"),Ze(_e.display.measure,Ve("div",[Ee.node],null,it))}return Ee.height=Ee.node.parentNode.offsetHeight}function rh(Ee,_e){for(var it=Io(_e);it!=Ee.wrapper;it=it.parentNode)if(!it||it.nodeType==1&&it.getAttribute("cm-ignore-events")=="true"||it.parentNode==Ee.sizer&&it!=Ee.mover)return!0}function Pc(Ee){return Ee.lineSpace.offsetTop}function od(Ee){return Ee.mover.offsetHeight-Ee.lineSpace.offsetHeight}function Uc(Ee){if(Ee.cachedPaddingH)return Ee.cachedPaddingH;var _e=Ze(Ee.measure,Ve("pre","x","CodeMirror-line-like")),it=window.getComputedStyle?window.getComputedStyle(_e):_e.currentStyle,rt={left:parseInt(it.paddingLeft),right:parseInt(it.paddingRight)};return!isNaN(rt.left)&&!isNaN(rt.right)&&(Ee.cachedPaddingH=rt),rt}function Gc(Ee){return Xt-Ee.display.nativeBarWidth}function Hc(Ee){return Ee.display.scroller.clientWidth-Gc(Ee)-Ee.display.barWidth}function yf(Ee){return Ee.display.scroller.clientHeight-Gc(Ee)-Ee.display.barHeight}function ef(Ee,_e,it){var rt=Ee.options.lineWrapping,ht=rt&&Hc(Ee);if(!_e.measure.heights||rt&&_e.measure.width!=ht){var Wt=_e.measure.heights=[];if(rt){_e.measure.width=ht;for(var sn=_e.text.firstChild.getClientRects(),Ln=0;Ln<sn.length-1;Ln++){var Mn=sn[Ln],Qn=sn[Ln+1];Math.abs(Mn.bottom-Qn.bottom)>2&&Wt.push((Mn.bottom+Qn.top)/2-it.top)}}Wt.push(it.bottom-it.top)}}function uc(Ee,_e,it){if(Ee.line==_e)return{map:Ee.measure.map,cache:Ee.measure.cache};for(var rt=0;rt<Ee.rest.length;rt++)if(Ee.rest[rt]==_e)return{map:Ee.measure.maps[rt],cache:Ee.measure.caches[rt]};for(var ht=0;ht<Ee.rest.length;ht++)if(cn(Ee.rest[ht])>it)return{map:Ee.measure.maps[ht],cache:Ee.measure.caches[ht],before:!0}}function Gg(Ee,_e){_e=es(_e);var it=cn(_e),rt=Ee.display.externalMeasured=new gl(Ee.doc,_e,it);rt.lineN=it;var ht=rt.built=Ur(Ee,rt);return rt.text=ht.pre,Ze(Ee.display.lineMeasure,ht.pre),rt}function xf(Ee,_e,it,rt){return vh(Ee,ih(Ee,_e),it,rt)}function Yh(Ee,_e){if(_e>=Ee.display.viewFrom&&_e<Ee.display.viewTo)return Ee.display.view[Vc(Ee,_e)];var it=Ee.display.externalMeasured;if(it&&_e>=it.lineN&&_e<it.lineN+it.size)return it}function ih(Ee,_e){var it=cn(_e),rt=Yh(Ee,it);rt&&!rt.text?rt=null:rt&&rt.changes&&(Uu(Ee,rt,it,Pp(Ee)),Ee.curOp.forceUpdate=!0),rt||(rt=Gg(Ee,_e));var ht=uc(rt,_e,it);return{line:_e,view:rt,rect:null,map:ht.map,cache:ht.cache,before:ht.before,hasHeights:!1}}function vh(Ee,_e,it,rt,ht){_e.before&&(it=-1);var Wt=it+(rt||""),sn;return _e.cache.hasOwnProperty(Wt)?sn=_e.cache[Wt]:(_e.rect||(_e.rect=_e.view.text.getBoundingClientRect()),_e.hasHeights||(ef(Ee,_e.view,_e.rect),_e.hasHeights=!0),sn=Zs(Ee,_e,it,rt),sn.bogus||(_e.cache[Wt]=sn)),{left:sn.left,right:sn.right,top:ht?sn.rtop:sn.top,bottom:ht?sn.rbottom:sn.bottom}}var Nc={left:0,right:0,top:0,bottom:0};function Mc(Ee,_e,it){for(var rt,ht,Wt,sn,Ln,Mn,Qn=0;Qn<Ee.length;Qn+=3)if(Ln=Ee[Qn],Mn=Ee[Qn+1],_e<Ln?(ht=0,Wt=1,sn="left"):_e<Mn?(ht=_e-Ln,Wt=ht+1):(Qn==Ee.length-3||_e==Mn&&Ee[Qn+3]>_e)&&(Wt=Mn-Ln,ht=Wt-1,_e>=Mn&&(sn="right")),ht!=null){if(rt=Ee[Qn+2],Ln==Mn&&it==(rt.insertLeft?"left":"right")&&(sn=it),it=="left"&&ht==0)for(;Qn&&Ee[Qn-2]==Ee[Qn-3]&&Ee[Qn-1].insertLeft;)rt=Ee[(Qn-=3)+2],sn="left";if(it=="right"&&ht==Mn-Ln)for(;Qn<Ee.length-3&&Ee[Qn+3]==Ee[Qn+4]&&!Ee[Qn+5].insertLeft;)rt=Ee[(Qn+=3)+2],sn="right";break}return{node:rt,start:ht,end:Wt,collapse:sn,coverStart:Ln,coverEnd:Mn}}function Bc(Ee,_e){var it=Nc;if(_e=="left")for(var rt=0;rt<Ee.length&&(it=Ee[rt]).left==it.right;rt++);else for(var ht=Ee.length-1;ht>=0&&(it=Ee[ht]).left==it.right;ht--);return it}function Zs(Ee,_e,it,rt){var ht=Mc(_e.map,it,rt),Wt=ht.node,sn=ht.start,Ln=ht.end,Mn=ht.collapse,Qn;if(Wt.nodeType==3){for(var Wr=0;Wr<4;Wr++){for(;sn&&gn(_e.line.text.charAt(ht.coverStart+sn));)--sn;for(;ht.coverStart+Ln<ht.coverEnd&&gn(_e.line.text.charAt(ht.coverStart+Ln));)++Ln;if(Ke&&Be<9&&sn==0&&Ln==ht.coverEnd-ht.coverStart?Qn=Wt.parentNode.getBoundingClientRect():Qn=Bc($e(Wt,sn,Ln).getClientRects(),rt),Qn.left||Qn.right||sn==0)break;Ln=sn,sn=sn-1,Mn="right"}Ke&&Be<11&&(Qn=Ll(Ee.display.measure,Qn))}else{sn>0&&(Mn=rt="right");var lr;Ee.options.lineWrapping&&(lr=Wt.getClientRects()).length>1?Qn=lr[rt=="right"?lr.length-1:0]:Qn=Wt.getBoundingClientRect()}if(Ke&&Be<9&&!sn&&(!Qn||!Qn.left&&!Qn.right)){var Si=Wt.parentNode.getClientRects()[0];Si?Qn={left:Si.left,right:Si.left+nf(Ee.display),top:Si.top,bottom:Si.bottom}:Qn=Nc}for(var fi=Qn.top-_e.rect.top,Mo=Qn.bottom-_e.rect.top,Ro=(fi+Mo)/2,ea=_e.view.measure.heights,Na=0;Na<ea.length-1&&!(Ro<ea[Na]);Na++);var vs=Na?ea[Na-1]:0,Xa=ea[Na],Ds={left:(Mn=="right"?Qn.right:Qn.left)-_e.rect.left,right:(Mn=="left"?Qn.left:Qn.right)-_e.rect.left,top:vs,bottom:Xa};return!Qn.left&&!Qn.right&&(Ds.bogus=!0),Ee.options.singleCursorHeightPerLine||(Ds.rtop=fi,Ds.rbottom=Mo),Ds}function Ll(Ee,_e){if(!window.screen||screen.logicalXDPI==null||screen.logicalXDPI==screen.deviceXDPI||!Fr(Ee))return _e;var it=screen.logicalXDPI/screen.deviceXDPI,rt=screen.logicalYDPI/screen.deviceYDPI;return{left:_e.left*it,right:_e.right*it,top:_e.top*rt,bottom:_e.bottom*rt}}function Rc(Ee){if(Ee.measure&&(Ee.measure.cache={},Ee.measure.heights=null,Ee.rest))for(var _e=0;_e<Ee.rest.length;_e++)Ee.measure.caches[_e]={}}function Tu(Ee){Ee.display.externalMeasure=null,ze(Ee.display.lineMeasure);for(var _e=0;_e<Ee.display.view.length;_e++)Rc(Ee.display.view[_e])}function ku(Ee){Tu(Ee),Ee.display.cachedCharWidth=Ee.display.cachedTextHeight=Ee.display.cachedPaddingH=null,Ee.options.lineWrapping||(Ee.display.maxLineChanged=!0),Ee.display.lineNumChars=null}function cu(){return ke&&ie?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):window.pageXOffset||(document.documentElement||document.body).scrollLeft}function wu(){return ke&&ie?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function Du(Ee){var _e=0;if(Ee.widgets)for(var it=0;it<Ee.widgets.length;++it)Ee.widgets[it].above&&(_e+=nh(Ee.widgets[it]));return _e}function Fu(Ee,_e,it,rt,ht){if(!ht){var Wt=Du(_e);it.top+=Wt,it.bottom+=Wt}if(rt=="line")return it;rt||(rt="local");var sn=sl(_e);if(rt=="local"?sn+=Pc(Ee.display):sn-=Ee.display.viewOffset,rt=="page"||rt=="window"){var Ln=Ee.display.lineSpace.getBoundingClientRect();sn+=Ln.top+(rt=="window"?0:wu());var Mn=Ln.left+(rt=="window"?0:cu());it.left+=Mn,it.right+=Mn}return it.top+=sn,it.bottom+=sn,it}function tf(Ee,_e,it){if(it=="div")return _e;var rt=_e.left,ht=_e.top;if(it=="page")rt-=cu(),ht-=wu();else if(it=="local"||!it){var Wt=Ee.display.sizer.getBoundingClientRect();rt+=Wt.left,ht+=Wt.top}var sn=Ee.display.lineSpace.getBoundingClientRect();return{left:rt-sn.left,top:ht-sn.top}}function Qu(Ee,_e,it,rt,ht){return rt||(rt=rn(Ee.doc,_e.line)),Fu(Ee,rt,xf(Ee,rt,_e.ch,ht),it)}function Iu(Ee,_e,it,rt,ht,Wt){rt=rt||rn(Ee.doc,_e.line),ht||(ht=ih(Ee,rt));function sn(Mo,Ro){var ea=vh(Ee,ht,Mo,Ro?"right":"left",Wt);return Ro?ea.left=ea.right:ea.right=ea.left,Fu(Ee,rt,ea,it)}var Ln=Ht(rt,Ee.doc.direction),Mn=_e.ch,Qn=_e.sticky;if(Mn>=rt.text.length?(Mn=rt.text.length,Qn="before"):Mn<=0&&(Mn=0,Qn="after"),!Ln)return sn(Qn=="before"?Mn-1:Mn,Qn=="before");function Wr(Mo,Ro,ea){var Na=Ln[Ro],vs=Na.level==1;return sn(ea?Mo-1:Mo,vs!=ea)}var lr=ot(Ln,Mn,Qn),Si=ut,fi=Wr(Mn,lr,Qn=="before");return Si!=null&&(fi.other=Wr(Mn,Si,Qn!="before")),fi}function oh(Ee,_e){var it=0;_e=gr(Ee.doc,_e),Ee.options.lineWrapping||(it=nf(Ee.display)*_e.ch);var rt=rn(Ee.doc,_e.line),ht=sl(rt)+Pc(Ee.display);return{left:it,right:it,top:ht,bottom:ht+rt.height}}function kh(Ee,_e,it,rt,ht){var Wt=On(Ee,_e,it);return Wt.xRel=ht,rt&&(Wt.outside=rt),Wt}function Kf(Ee,_e,it){var rt=Ee.doc;if(it+=Ee.display.viewOffset,it<0)return kh(rt.first,0,null,-1,-1);var ht=Yn(rt,it),Wt=rt.first+rt.size-1;if(ht>Wt)return kh(rt.first+rt.size-1,rn(rt,Wt).text.length,null,1,1);_e<0&&(_e=0);for(var sn=rn(rt,ht);;){var Ln=wi(Ee,sn,ht,_e,it),Mn=ys(sn,Ln.ch+(Ln.xRel>0||Ln.outside>0?1:0));if(!Mn)return Ln;var Qn=Mn.find(1);if(Qn.line==ht)return Qn;sn=rn(rt,ht=Qn.line)}}function Da(Ee,_e,it,rt){rt-=Du(_e);var ht=_e.text.length,Wt=Jt(function(sn){return vh(Ee,it,sn-1).bottom<=rt},ht,0);return ht=Jt(function(sn){return vh(Ee,it,sn).top>rt},Wt,ht),{begin:Wt,end:ht}}function Cl(Ee,_e,it,rt){it||(it=ih(Ee,_e));var ht=Fu(Ee,_e,vh(Ee,it,rt),"line").top;return Da(Ee,_e,it,ht)}function dr(Ee,_e,it,rt){return Ee.bottom<=it?!1:Ee.top>it?!0:(rt?Ee.left:Ee.right)>_e}function wi(Ee,_e,it,rt,ht){ht-=sl(_e);var Wt=ih(Ee,_e),sn=Du(_e),Ln=0,Mn=_e.text.length,Qn=!0,Wr=Ht(_e,Ee.doc.direction);if(Wr){var lr=(Ee.options.lineWrapping?Yf:Zf)(Ee,_e,it,Wt,Wr,rt,ht);Qn=lr.level!=1,Ln=Qn?lr.from:lr.to-1,Mn=Qn?lr.to:lr.from-1}var Si=null,fi=null,Mo=Jt(function(hl){var Qa=vh(Ee,Wt,hl);return Qa.top+=sn,Qa.bottom+=sn,dr(Qa,rt,ht,!1)?(Qa.top<=ht&&Qa.left<=rt&&(Si=hl,fi=Qa),!0):!1},Ln,Mn),Ro,ea,Na=!1;if(fi){var vs=rt-fi.left<fi.right-rt,Xa=vs==Qn;Mo=Si+(Xa?0:1),ea=Xa?"after":"before",Ro=vs?fi.left:fi.right}else{!Qn&&(Mo==Mn||Mo==Ln)&&Mo++,ea=Mo==0?"after":Mo==_e.text.length?"before":vh(Ee,Wt,Mo-(Qn?1:0)).bottom+sn<=ht==Qn?"after":"before";var Ds=Iu(Ee,On(it,Mo,ea),"line",_e,Wt);Ro=Ds.left,Na=ht<Ds.top?-1:ht>=Ds.bottom?1:0}return Mo=_t(_e.text,Mo,1),kh(it,Mo,ea,Na,rt-Ro)}function Zf(Ee,_e,it,rt,ht,Wt,sn){var Ln=Jt(function(lr){var Si=ht[lr],fi=Si.level!=1;return dr(Iu(Ee,On(it,fi?Si.to:Si.from,fi?"before":"after"),"line",_e,rt),Wt,sn,!0)},0,ht.length-1),Mn=ht[Ln];if(Ln>0){var Qn=Mn.level!=1,Wr=Iu(Ee,On(it,Qn?Mn.from:Mn.to,Qn?"after":"before"),"line",_e,rt);dr(Wr,Wt,sn,!0)&&Wr.top>sn&&(Mn=ht[Ln-1])}return Mn}function Yf(Ee,_e,it,rt,ht,Wt,sn){var Ln=Da(Ee,_e,rt,sn),Mn=Ln.begin,Qn=Ln.end;/\s/.test(_e.text.charAt(Qn-1))&&Qn--;for(var Wr=null,lr=null,Si=0;Si<ht.length;Si++){var fi=ht[Si];if(!(fi.from>=Qn||fi.to<=Mn)){var Mo=fi.level!=1,Ro=vh(Ee,rt,Mo?Math.min(Qn,fi.to)-1:Math.max(Mn,fi.from)).right,ea=Ro<Wt?Wt-Ro+1e9:Ro-Wt;(!Wr||lr>ea)&&(Wr=fi,lr=ea)}}return Wr||(Wr=ht[ht.length-1]),Wr.from<Mn&&(Wr={from:Mn,to:Wr.to,level:Wr.level}),Wr.to>Qn&&(Wr={from:Wr.from,to:Qn,level:Wr.level}),Wr}var Xh;function Fd(Ee){if(Ee.cachedTextHeight!=null)return Ee.cachedTextHeight;if(Xh==null){Xh=Ve("pre",null,"CodeMirror-line-like");for(var _e=0;_e<49;++_e)Xh.appendChild(document.createTextNode("x")),Xh.appendChild(Ve("br"));Xh.appendChild(document.createTextNode("x"))}Ze(Ee.measure,Xh);var it=Xh.offsetHeight/50;return it>3&&(Ee.cachedTextHeight=it),ze(Ee.measure),it||1}function nf(Ee){if(Ee.cachedCharWidth!=null)return Ee.cachedCharWidth;var _e=Ve("span","xxxxxxxxxx"),it=Ve("pre",[_e],"CodeMirror-line-like");Ze(Ee.measure,it);var rt=_e.getBoundingClientRect(),ht=(rt.right-rt.left)/10;return ht>2&&(Ee.cachedCharWidth=ht),ht||10}function Pp(Ee){for(var _e=Ee.display,it={},rt={},ht=_e.gutters.clientLeft,Wt=_e.gutters.firstChild,sn=0;Wt;Wt=Wt.nextSibling,++sn){var Ln=Ee.display.gutterSpecs[sn].className;it[Ln]=Wt.offsetLeft+Wt.clientLeft+ht,rt[Ln]=Wt.clientWidth}return{fixedPos:sp(_e),gutterTotalWidth:_e.gutters.offsetWidth,gutterLeft:it,gutterWidth:rt,wrapperWidth:_e.wrapper.clientWidth}}function sp(Ee){return Ee.scroller.getBoundingClientRect().left-Ee.sizer.getBoundingClientRect().left}function Gu(Ee){var _e=Fd(Ee.display),it=Ee.options.lineWrapping,rt=it&&Math.max(5,Ee.display.scroller.clientWidth/nf(Ee.display)-3);return function(ht){if(Ii(Ee.doc,ht))return 0;var Wt=0;if(ht.widgets)for(var sn=0;sn<ht.widgets.length;sn++)ht.widgets[sn].height&&(Wt+=ht.widgets[sn].height);return it?Wt+(Math.ceil(ht.text.length/rt)||1)*_e:Wt+_e}}function Ps(Ee){var _e=Ee.doc,it=Gu(Ee);_e.iter(function(rt){var ht=it(rt);ht!=rt.height&&Sn(rt,ht)})}function cl(Ee,_e,it,rt){var ht=Ee.display;if(!it&&Io(_e).getAttribute("cm-not-content")=="true")return null;var Wt,sn,Ln=ht.lineSpace.getBoundingClientRect();try{Wt=_e.clientX-Ln.left,sn=_e.clientY-Ln.top}catch(lr){return null}var Mn=Kf(Ee,Wt,sn),Qn;if(rt&&Mn.xRel>0&&(Qn=rn(Ee.doc,Mn.line).text).length==Mn.ch){var Wr=xt(Qn,Qn.length,Ee.options.tabSize)-Qn.length;Mn=On(Mn.line,Math.max(0,Math.round((Wt-Uc(Ee.display).left)/nf(Ee.display))-Wr))}return Mn}function Vc(Ee,_e){if(_e>=Ee.display.viewTo||(_e-=Ee.display.viewFrom,_e<0))return null;for(var it=Ee.display.view,rt=0;rt<it.length;rt++)if(_e-=it[rt].size,_e<0)return rt}function $l(Ee,_e,it,rt){_e==null&&(_e=Ee.doc.first),it==null&&(it=Ee.doc.first+Ee.doc.size),rt||(rt=0);var ht=Ee.display;if(rt&&it<ht.viewTo&&(ht.updateLineNumbers==null||ht.updateLineNumbers>_e)&&(ht.updateLineNumbers=_e),Ee.curOp.viewChanged=!0,_e>=ht.viewTo)Hr&&Qo(Ee.doc,_e)<ht.viewTo&&cc(Ee);else if(it<=ht.viewFrom)Hr&&Ba(Ee.doc,it+rt)>ht.viewFrom?cc(Ee):(ht.viewFrom+=rt,ht.viewTo+=rt);else if(_e<=ht.viewFrom&&it>=ht.viewTo)cc(Ee);else if(_e<=ht.viewFrom){var Wt=on(Ee,it,it+rt,1);Wt?(ht.view=ht.view.slice(Wt.index),ht.viewFrom=Wt.lineN,ht.viewTo+=rt):cc(Ee)}else if(it>=ht.viewTo){var sn=on(Ee,_e,_e,-1);sn?(ht.view=ht.view.slice(0,sn.index),ht.viewTo=sn.lineN):cc(Ee)}else{var Ln=on(Ee,_e,_e,-1),Mn=on(Ee,it,it+rt,1);Ln&&Mn?(ht.view=ht.view.slice(0,Ln.index).concat(Hs(Ee,Ln.lineN,Mn.lineN)).concat(ht.view.slice(Mn.index)),ht.viewTo+=rt):cc(Ee)}var Qn=ht.externalMeasured;Qn&&(it<Qn.lineN?Qn.lineN+=rt:_e<Qn.lineN+Qn.size&&(ht.externalMeasured=null))}function xl(Ee,_e,it){Ee.curOp.viewChanged=!0;var rt=Ee.display,ht=Ee.display.externalMeasured;if(ht&&_e>=ht.lineN&&_e<ht.lineN+ht.size&&(rt.externalMeasured=null),!(_e<rt.viewFrom||_e>=rt.viewTo)){var Wt=rt.view[Vc(Ee,_e)];if(Wt.node!=null){var sn=Wt.changes||(Wt.changes=[]);Dt(sn,it)==-1&&sn.push(it)}}}function cc(Ee){Ee.display.viewFrom=Ee.display.viewTo=Ee.doc.first,Ee.display.view=[],Ee.display.viewOffset=0}function on(Ee,_e,it,rt){var ht=Vc(Ee,_e),Wt,sn=Ee.display.view;if(!Hr||it==Ee.doc.first+Ee.doc.size)return{index:ht,lineN:it};for(var Ln=Ee.display.viewFrom,Mn=0;Mn<ht;Mn++)Ln+=sn[Mn].size;if(Ln!=_e){if(rt>0){if(ht==sn.length-1)return null;Wt=Ln+sn[ht].size-_e,ht++}else Wt=Ln-_e;_e+=Wt,it+=Wt}for(;Qo(Ee.doc,it)!=it;){if(ht==(rt<0?0:sn.length-1))return null;it+=rt*sn[ht-(rt<0?1:0)].size,ht+=rt}return{index:ht,lineN:it}}function En(Ee,_e,it){var rt=Ee.display,ht=rt.view;ht.length==0||_e>=rt.viewTo||it<=rt.viewFrom?(rt.view=Hs(Ee,_e,it),rt.viewFrom=_e):(rt.viewFrom>_e?rt.view=Hs(Ee,_e,rt.viewFrom).concat(rt.view):rt.viewFrom<_e&&(rt.view=rt.view.slice(Vc(Ee,_e))),rt.viewFrom=_e,rt.viewTo<it?rt.view=rt.view.concat(Hs(Ee,rt.viewTo,it)):rt.viewTo>it&&(rt.view=rt.view.slice(0,Vc(Ee,it)))),rt.viewTo=it}function Dn(Ee){for(var _e=Ee.display.view,it=0,rt=0;rt<_e.length;rt++){var ht=_e[rt];!ht.hidden&&(!ht.node||ht.changes)&&++it}return it}function Ar(Ee){Ee.display.input.showSelection(Ee.display.input.prepareSelection())}function Pr(Ee,_e){_e===void 0&&(_e=!0);for(var it=Ee.doc,rt={},ht=rt.cursors=document.createDocumentFragment(),Wt=rt.selection=document.createDocumentFragment(),sn=0;sn<it.sel.ranges.length;sn++)if(!(!_e&&sn==it.sel.primIndex)){var Ln=it.sel.ranges[sn];if(!(Ln.from().line>=Ee.display.viewTo||Ln.to().line<Ee.display.viewFrom)){var Mn=Ln.empty();(Mn||Ee.options.showCursorWhenSelecting)&&Xr(Ee,Ln.head,ht),Mn||mi(Ee,Ln,Wt)}}return rt}function Xr(Ee,_e,it){var rt=Iu(Ee,_e,"div",null,null,!Ee.options.singleCursorHeightPerLine),ht=it.appendChild(Ve("div","\xA0","CodeMirror-cursor"));if(ht.style.left=rt.left+"px",ht.style.top=rt.top+"px",ht.style.height=Math.max(0,rt.bottom-rt.top)*Ee.options.cursorHeight+"px",rt.other){var Wt=it.appendChild(Ve("div","\xA0","CodeMirror-cursor CodeMirror-secondarycursor"));Wt.style.display="",Wt.style.left=rt.other.left+"px",Wt.style.top=rt.other.top+"px",Wt.style.height=(rt.other.bottom-rt.other.top)*.85+"px"}}function ei(Ee,_e){return Ee.top-_e.top||Ee.left-_e.left}function mi(Ee,_e,it){var rt=Ee.display,ht=Ee.doc,Wt=document.createDocumentFragment(),sn=Uc(Ee.display),Ln=sn.left,Mn=Math.max(rt.sizerWidth,Hc(Ee)-rt.sizer.offsetLeft)-sn.right,Qn=ht.direction=="ltr";function Wr(Xa,Ds,hl,Qa){Ds<0&&(Ds=0),Ds=Math.round(Ds),Qa=Math.round(Qa),Wt.appendChild(Ve("div",null,"CodeMirror-selected","position: absolute; left: "+Xa+`px;
top: `+Ds+"px; width: "+(hl==null?Mn-Xa:hl)+`px;
height: `+(Qa-Ds)+"px"))}function lr(Xa,Ds,hl){var Qa=rn(ht,Xa),Ul=Qa.text.length,fc,_h;function Tc(Ah,Pf){return Qu(Ee,On(Xa,Ah),"div",Qa,Pf)}function Ad(Ah,Pf,Jh){var Lh=Cl(Ee,Qa,null,Ah),Nu=Pf=="ltr"==(Jh=="after")?"left":"right",Zc=Jh=="after"?Lh.begin:Lh.end-(/\s/.test(Qa.text.charAt(Lh.end-1))?2:1);return Tc(Zc,Nu)[Nu]}var Sd=Ht(Qa,ht.direction);return wt(Sd,Ds||0,hl==null?Ul:hl,function(Ah,Pf,Jh,Lh){var Nu=Jh=="ltr",Zc=Tc(Ah,Nu?"left":"right"),qh=Tc(Pf-1,Nu?"right":"left"),wd=Ds==null&&Ah==0,fp=hl==null&&Pf==Ul,Fc=Lh==0,Zg=!Sd||Lh==Sd.length-1;if(qh.top-Zc.top<=3){var sh=(Qn?wd:fp)&&Fc,v1=(Qn?fp:wd)&&Zg,Sg=sh?Ln:(Nu?Zc:qh).left,qf=v1?Mn:(Nu?qh:Zc).right;Wr(Sg,Zc.top,qf-Sg,Zc.bottom)}else{var Mf,hc,ud,a0;Nu?(Mf=Qn&&wd&&Fc?Ln:Zc.left,hc=Qn?Mn:Ad(Ah,Jh,"before"),ud=Qn?Ln:Ad(Pf,Jh,"after"),a0=Qn&&fp&&Zg?Mn:qh.right):(Mf=Qn?Ad(Ah,Jh,"before"):Ln,hc=!Qn&&wd&&Fc?Mn:Zc.right,ud=!Qn&&fp&&Zg?Ln:qh.left,a0=Qn?Ad(Pf,Jh,"after"):Mn),Wr(Mf,Zc.top,hc-Mf,Zc.bottom),Zc.bottom<qh.top&&Wr(Ln,Zc.bottom,null,qh.top),Wr(ud,qh.top,a0-ud,qh.bottom)}(!fc||ei(Zc,fc)<0)&&(fc=Zc),ei(qh,fc)<0&&(fc=qh),(!_h||ei(Zc,_h)<0)&&(_h=Zc),ei(qh,_h)<0&&(_h=qh)}),{start:fc,end:_h}}var Si=_e.from(),fi=_e.to();if(Si.line==fi.line)lr(Si.line,Si.ch,fi.ch);else{var Mo=rn(ht,Si.line),Ro=rn(ht,fi.line),ea=es(Mo)==es(Ro),Na=lr(Si.line,Si.ch,ea?Mo.text.length+1:null).end,vs=lr(fi.line,ea?0:null,fi.ch).start;ea&&(Na.top<vs.top-2?(Wr(Na.right,Na.top,null,Na.bottom),Wr(Ln,vs.top,vs.left,vs.bottom)):Wr(Na.right,Na.top,vs.left-Na.right,Na.bottom)),Na.bottom<vs.top&&Wr(Ln,Na.bottom,null,vs.top)}it.appendChild(Wt)}function Ci(Ee){if(Ee.state.focused){var _e=Ee.display;clearInterval(_e.blinker);var it=!0;_e.cursorDiv.style.visibility="",Ee.options.cursorBlinkRate>0?_e.blinker=setInterval(function(){Ee.hasFocus()||xo(Ee),_e.cursorDiv.style.visibility=(it=!it)?"":"hidden"},Ee.options.cursorBlinkRate):Ee.options.cursorBlinkRate<0&&(_e.cursorDiv.style.visibility="hidden")}}function Wi(Ee){Ee.state.focused||(Ee.display.input.focus(),_i(Ee))}function Gr(Ee){Ee.state.delayingBlurEvent=!0,setTimeout(function(){Ee.state.delayingBlurEvent&&(Ee.state.delayingBlurEvent=!1,xo(Ee))},100)}function _i(Ee,_e){Ee.state.delayingBlurEvent&&(Ee.state.delayingBlurEvent=!1),Ee.options.readOnly!="nocursor"&&(Ee.state.focused||(An(Ee,"focus",Ee,_e),Ee.state.focused=!0,At(Ee.display.wrapper,"CodeMirror-focused"),!Ee.curOp&&Ee.display.selForContextMenu!=Ee.doc.sel&&(Ee.display.input.reset(),we&&setTimeout(function(){return Ee.display.input.reset(!0)},20)),Ee.display.input.receivedFocus()),Ci(Ee))}function xo(Ee,_e){Ee.state.delayingBlurEvent||(Ee.state.focused&&(An(Ee,"blur",Ee,_e),Ee.state.focused=!1,Le(Ee.display.wrapper,"CodeMirror-focused")),clearInterval(Ee.display.blinker),setTimeout(function(){Ee.state.focused||(Ee.display.shift=!1)},150))}function ki(Ee){for(var _e=Ee.display,it=_e.lineDiv.offsetTop,rt=0;rt<_e.view.length;rt++){var ht=_e.view[rt],Wt=Ee.options.lineWrapping,sn=void 0,Ln=0;if(!ht.hidden){if(Ke&&Be<8){var Mn=ht.node.offsetTop+ht.node.offsetHeight;sn=Mn-it,it=Mn}else{var Qn=ht.node.getBoundingClientRect();sn=Qn.bottom-Qn.top,!Wt&&ht.text.firstChild&&(Ln=ht.text.firstChild.getBoundingClientRect().right-Qn.left-1)}var Wr=ht.line.height-sn;if((Wr>.005||Wr<-.005)&&(Sn(ht.line,sn),Ko(ht.line),ht.rest))for(var lr=0;lr<ht.rest.length;lr++)Ko(ht.rest[lr]);if(Ln>Ee.display.sizerWidth){var Si=Math.ceil(Ln/nf(Ee.display));Si>Ee.display.maxLineLength&&(Ee.display.maxLineLength=Si,Ee.display.maxLine=ht.line,Ee.display.maxLineChanged=!0)}}}}function Ko(Ee){if(Ee.widgets)for(var _e=0;_e<Ee.widgets.length;++_e){var it=Ee.widgets[_e],rt=it.node.parentNode;rt&&(it.height=rt.offsetHeight)}}function Ei(Ee,_e,it){var rt=it&&it.top!=null?Math.max(0,it.top):Ee.scroller.scrollTop;rt=Math.floor(rt-Pc(Ee));var ht=it&&it.bottom!=null?it.bottom:rt+Ee.wrapper.clientHeight,Wt=Yn(_e,rt),sn=Yn(_e,ht);if(it&&it.ensure){var Ln=it.ensure.from.line,Mn=it.ensure.to.line;Ln<Wt?(Wt=Ln,sn=Yn(_e,sl(rn(_e,Ln))+Ee.wrapper.clientHeight)):Math.min(Mn,_e.lastLine())>=sn&&(Wt=Yn(_e,sl(rn(_e,Mn))-Ee.wrapper.clientHeight),sn=Mn)}return{from:Wt,to:Math.max(sn,Wt+1)}}function so(Ee,_e){if(!$n(Ee,"scrollCursorIntoView")){var it=Ee.display,rt=it.sizer.getBoundingClientRect(),ht=null;if(_e.top+rt.top<0?ht=!0:_e.bottom+rt.top>(window.innerHeight||document.documentElement.clientHeight)&&(ht=!1),ht!=null&&!je){var Wt=Ve("div","\u200B",null,`position: absolute;
top: `+(_e.top-it.viewOffset-Pc(Ee.display))+`px;
height: `+(_e.bottom-_e.top+Gc(Ee)+it.barHeight)+`px;
left: `+_e.left+"px; width: "+Math.max(2,_e.right-_e.left)+"px;");Ee.display.lineSpace.appendChild(Wt),Wt.scrollIntoView(ht),Ee.display.lineSpace.removeChild(Wt)}}}function Vo(Ee,_e,it,rt){rt==null&&(rt=0);var ht;!Ee.options.lineWrapping&&_e==it&&(_e=_e.ch?On(_e.line,_e.sticky=="before"?_e.ch-1:_e.ch,"after"):_e,it=_e.sticky=="before"?On(_e.line,_e.ch+1,"before"):_e);for(var Wt=0;Wt<5;Wt++){var sn=!1,Ln=Iu(Ee,_e),Mn=!it||it==_e?Ln:Iu(Ee,it);ht={left:Math.min(Ln.left,Mn.left),top:Math.min(Ln.top,Mn.top)-rt,right:Math.max(Ln.left,Mn.left),bottom:Math.max(Ln.bottom,Mn.bottom)+rt};var Qn=ka(Ee,ht),Wr=Ee.doc.scrollTop,lr=Ee.doc.scrollLeft;if(Qn.scrollTop!=null&&(fs(Ee,Qn.scrollTop),Math.abs(Ee.doc.scrollTop-Wr)>1&&(sn=!0)),Qn.scrollLeft!=null&&(zl(Ee,Qn.scrollLeft),Math.abs(Ee.doc.scrollLeft-lr)>1&&(sn=!0)),!sn)break}return ht}function ba(Ee,_e){var it=ka(Ee,_e);it.scrollTop!=null&&fs(Ee,it.scrollTop),it.scrollLeft!=null&&zl(Ee,it.scrollLeft)}function ka(Ee,_e){var it=Ee.display,rt=Fd(Ee.display);_e.top<0&&(_e.top=0);var ht=Ee.curOp&&Ee.curOp.scrollTop!=null?Ee.curOp.scrollTop:it.scroller.scrollTop,Wt=yf(Ee),sn={};_e.bottom-_e.top>Wt&&(_e.bottom=_e.top+Wt);var Ln=Ee.doc.height+od(it),Mn=_e.top<rt,Qn=_e.bottom>Ln-rt;if(_e.top<ht)sn.scrollTop=Mn?0:_e.top;else if(_e.bottom>ht+Wt){var Wr=Math.min(_e.top,(Qn?Ln:_e.bottom)-Wt);Wr!=ht&&(sn.scrollTop=Wr)}var lr=Ee.options.fixedGutter?0:it.gutters.offsetWidth,Si=Ee.curOp&&Ee.curOp.scrollLeft!=null?Ee.curOp.scrollLeft:it.scroller.scrollLeft-lr,fi=Hc(Ee)-it.gutters.offsetWidth,Mo=_e.right-_e.left>fi;return Mo&&(_e.right=_e.left+fi),_e.left<10?sn.scrollLeft=0:_e.left<Si?sn.scrollLeft=Math.max(0,_e.left+lr-(Mo?0:10)):_e.right>fi+Si-3&&(sn.scrollLeft=_e.right+(Mo?0:10)-fi),sn}function Pa(Ee,_e){_e!=null&&(rl(Ee),Ee.curOp.scrollTop=(Ee.curOp.scrollTop==null?Ee.doc.scrollTop:Ee.curOp.scrollTop)+_e)}function Za(Ee){rl(Ee);var _e=Ee.getCursor();Ee.curOp.scrollToPos={from:_e,to:_e,margin:Ee.options.cursorScrollMargin}}function Ga(Ee,_e,it){(_e!=null||it!=null)&&rl(Ee),_e!=null&&(Ee.curOp.scrollLeft=_e),it!=null&&(Ee.curOp.scrollTop=it)}function Fo(Ee,_e){rl(Ee),Ee.curOp.scrollToPos=_e}function rl(Ee){var _e=Ee.curOp.scrollToPos;if(_e){Ee.curOp.scrollToPos=null;var it=oh(Ee,_e.from),rt=oh(Ee,_e.to);Qs(Ee,it,rt,_e.margin)}}function Qs(Ee,_e,it,rt){var ht=ka(Ee,{left:Math.min(_e.left,it.left),top:Math.min(_e.top,it.top)-rt,right:Math.max(_e.right,it.right),bottom:Math.max(_e.bottom,it.bottom)+rt});Ga(Ee,ht.scrollLeft,ht.scrollTop)}function fs(Ee,_e){Math.abs(Ee.doc.scrollTop-_e)<2||(Ge||sa(Ee,{top:_e}),_l(Ee,_e,!0),Ge&&sa(Ee),Ni(Ee,100))}function _l(Ee,_e,it){_e=Math.max(0,Math.min(Ee.display.scroller.scrollHeight-Ee.display.scroller.clientHeight,_e)),!(Ee.display.scroller.scrollTop==_e&&!it)&&(Ee.doc.scrollTop=_e,Ee.display.scrollbars.setScrollTop(_e),Ee.display.scroller.scrollTop!=_e&&(Ee.display.scroller.scrollTop=_e))}function zl(Ee,_e,it,rt){_e=Math.max(0,Math.min(_e,Ee.display.scroller.scrollWidth-Ee.display.scroller.clientWidth)),!((it?_e==Ee.doc.scrollLeft:Math.abs(Ee.doc.scrollLeft-_e)<2)&&!rt)&&(Ee.doc.scrollLeft=_e,cs(Ee),Ee.display.scroller.scrollLeft!=_e&&(Ee.display.scroller.scrollLeft=_e),Ee.display.scrollbars.setScrollLeft(_e))}function Rl(Ee){var _e=Ee.display,it=_e.gutters.offsetWidth,rt=Math.round(Ee.doc.height+od(Ee.display));return{clientHeight:_e.scroller.clientHeight,viewHeight:_e.wrapper.clientHeight,scrollWidth:_e.scroller.scrollWidth,clientWidth:_e.scroller.clientWidth,viewWidth:_e.wrapper.clientWidth,barLeft:Ee.options.fixedGutter?it:0,docHeight:rt,scrollHeight:rt+Gc(Ee)+_e.barHeight,nativeBarWidth:_e.nativeBarWidth,gutterWidth:it}}var mu=function(Ee,_e,it){this.cm=it;var rt=this.vert=Ve("div",[Ve("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),ht=this.horiz=Ve("div",[Ve("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");rt.tabIndex=ht.tabIndex=-1,Ee(rt),Ee(ht),hn(rt,"scroll",function(){rt.clientHeight&&_e(rt.scrollTop,"vertical")}),hn(ht,"scroll",function(){ht.clientWidth&&_e(ht.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,Ke&&Be<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};mu.prototype.update=function(Ee){var _e=Ee.scrollWidth>Ee.clientWidth+1,it=Ee.scrollHeight>Ee.clientHeight+1,rt=Ee.nativeBarWidth;if(it){this.vert.style.display="block",this.vert.style.bottom=_e?rt+"px":"0";var ht=Ee.viewHeight-(_e?rt:0);this.vert.firstChild.style.height=Math.max(0,Ee.scrollHeight-Ee.clientHeight+ht)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(_e){this.horiz.style.display="block",this.horiz.style.right=it?rt+"px":"0",this.horiz.style.left=Ee.barLeft+"px";var Wt=Ee.viewWidth-Ee.barLeft-(it?rt:0);this.horiz.firstChild.style.width=Math.max(0,Ee.scrollWidth-Ee.clientWidth+Wt)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&Ee.clientHeight>0&&(rt==0&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:it?rt:0,bottom:_e?rt:0}},mu.prototype.setScrollLeft=function(Ee){this.horiz.scrollLeft!=Ee&&(this.horiz.scrollLeft=Ee),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},mu.prototype.setScrollTop=function(Ee){this.vert.scrollTop!=Ee&&(this.vert.scrollTop=Ee),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},mu.prototype.zeroWidthHack=function(){var Ee=fe&&!Me?"12px":"18px";this.horiz.style.height=this.vert.style.width=Ee,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new ct,this.disableVert=new ct},mu.prototype.enableZeroWidthBar=function(Ee,_e,it){Ee.style.pointerEvents="auto";function rt(){var ht=Ee.getBoundingClientRect(),Wt=it=="vert"?document.elementFromPoint(ht.right-1,(ht.top+ht.bottom)/2):document.elementFromPoint((ht.right+ht.left)/2,ht.bottom-1);Wt!=Ee?Ee.style.pointerEvents="none":_e.set(1e3,rt)}_e.set(1e3,rt)},mu.prototype.clear=function(){var Ee=this.horiz.parentNode;Ee.removeChild(this.horiz),Ee.removeChild(this.vert)};var Tl=function(){};Tl.prototype.update=function(){return{bottom:0,right:0}},Tl.prototype.setScrollLeft=function(){},Tl.prototype.setScrollTop=function(){},Tl.prototype.clear=function(){};function ll(Ee,_e){_e||(_e=Rl(Ee));var it=Ee.display.barWidth,rt=Ee.display.barHeight;jl(Ee,_e);for(var ht=0;ht<4&&it!=Ee.display.barWidth||rt!=Ee.display.barHeight;ht++)it!=Ee.display.barWidth&&Ee.options.lineWrapping&&ki(Ee),jl(Ee,Rl(Ee)),it=Ee.display.barWidth,rt=Ee.display.barHeight}function jl(Ee,_e){var it=Ee.display,rt=it.scrollbars.update(_e);it.sizer.style.paddingRight=(it.barWidth=rt.right)+"px",it.sizer.style.paddingBottom=(it.barHeight=rt.bottom)+"px",it.heightForcer.style.borderBottom=rt.bottom+"px solid transparent",rt.right&&rt.bottom?(it.scrollbarFiller.style.display="block",it.scrollbarFiller.style.height=rt.bottom+"px",it.scrollbarFiller.style.width=rt.right+"px"):it.scrollbarFiller.style.display="",rt.bottom&&Ee.options.coverGutterNextToScrollbar&&Ee.options.fixedGutter?(it.gutterFiller.style.display="block",it.gutterFiller.style.height=rt.bottom+"px",it.gutterFiller.style.width=_e.gutterWidth+"px"):it.gutterFiller.style.display=""}var Vl={native:mu,null:Tl};function yu(Ee){Ee.display.scrollbars&&(Ee.display.scrollbars.clear(),Ee.display.scrollbars.addClass&&Le(Ee.display.wrapper,Ee.display.scrollbars.addClass)),Ee.display.scrollbars=new Vl[Ee.options.scrollbarStyle](function(_e){Ee.display.wrapper.insertBefore(_e,Ee.display.scrollbarFiller),hn(_e,"mousedown",function(){Ee.state.focused&&setTimeout(function(){return Ee.display.input.focus()},0)}),_e.setAttribute("cm-not-content","true")},function(_e,it){it=="horizontal"?zl(Ee,_e):fs(Ee,_e)},Ee),Ee.display.scrollbars.addClass&&At(Ee.display.wrapper,Ee.display.scrollbars.addClass)}var Yl=0;function bl(Ee){Ee.curOp={cm:Ee,viewChanged:!1,startHeight:Ee.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Yl},Wu(Ee.curOp)}function _u(Ee){var _e=Ee.curOp;_e&&ns(_e,function(it){for(var rt=0;rt<it.ops.length;rt++)it.ops[rt].cm.curOp=null;Hu(it)})}function Hu(Ee){for(var _e=Ee.ops,it=0;it<_e.length;it++)Pn(_e[it]);for(var rt=0;rt<_e.length;rt++)Tn(_e[rt]);for(var ht=0;ht<_e.length;ht++)cr(_e[ht]);for(var Wt=0;Wt<_e.length;Wt++)yr(_e[Wt]);for(var sn=0;sn<_e.length;sn++)Rr(_e[sn])}function Pn(Ee){var _e=Ee.cm,it=_e.display;vo(_e),Ee.updateMaxLine&&Ki(_e),Ee.mustUpdate=Ee.viewChanged||Ee.forceUpdate||Ee.scrollTop!=null||Ee.scrollToPos&&(Ee.scrollToPos.from.line<it.viewFrom||Ee.scrollToPos.to.line>=it.viewTo)||it.maxLineChanged&&_e.options.lineWrapping,Ee.update=Ee.mustUpdate&&new Di(_e,Ee.mustUpdate&&{top:Ee.scrollTop,ensure:Ee.scrollToPos},Ee.forceUpdate)}function Tn(Ee){Ee.updatedDisplay=Ee.mustUpdate&&Go(Ee.cm,Ee.update)}function cr(Ee){var _e=Ee.cm,it=_e.display;Ee.updatedDisplay&&ki(_e),Ee.barMeasure=Rl(_e),it.maxLineChanged&&!_e.options.lineWrapping&&(Ee.adjustWidthTo=xf(_e,it.maxLine,it.maxLine.text.length).left+3,_e.display.sizerWidth=Ee.adjustWidthTo,Ee.barMeasure.scrollWidth=Math.max(it.scroller.clientWidth,it.sizer.offsetLeft+Ee.adjustWidthTo+Gc(_e)+_e.display.barWidth),Ee.maxScrollLeft=Math.max(0,it.sizer.offsetLeft+Ee.adjustWidthTo-Hc(_e))),(Ee.updatedDisplay||Ee.selectionChanged)&&(Ee.preparedSelection=it.input.prepareSelection())}function yr(Ee){var _e=Ee.cm;Ee.adjustWidthTo!=null&&(_e.display.sizer.style.minWidth=Ee.adjustWidthTo+"px",Ee.maxScrollLeft<_e.doc.scrollLeft&&zl(_e,Math.min(_e.display.scroller.scrollLeft,Ee.maxScrollLeft),!0),_e.display.maxLineChanged=!1);var it=Ee.focus&&Ee.focus==lt();Ee.preparedSelection&&_e.display.input.showSelection(Ee.preparedSelection,it),(Ee.updatedDisplay||Ee.startHeight!=_e.doc.height)&&ll(_e,Ee.barMeasure),Ee.updatedDisplay&&$a(_e,Ee.barMeasure),Ee.selectionChanged&&Ci(_e),_e.state.focused&&Ee.updateInput&&_e.display.input.reset(Ee.typing),it&&Wi(Ee.cm)}function Rr(Ee){var _e=Ee.cm,it=_e.display,rt=_e.doc;if(Ee.updatedDisplay&&ro(_e,Ee.update),it.wheelStartX!=null&&(Ee.scrollTop!=null||Ee.scrollLeft!=null||Ee.scrollToPos)&&(it.wheelStartX=it.wheelStartY=null),Ee.scrollTop!=null&&_l(_e,Ee.scrollTop,Ee.forceScroll),Ee.scrollLeft!=null&&zl(_e,Ee.scrollLeft,!0,!0),Ee.scrollToPos){var ht=Vo(_e,gr(rt,Ee.scrollToPos.from),gr(rt,Ee.scrollToPos.to),Ee.scrollToPos.margin);so(_e,ht)}var Wt=Ee.maybeHiddenMarkers,sn=Ee.maybeUnhiddenMarkers;if(Wt)for(var Ln=0;Ln<Wt.length;++Ln)Wt[Ln].lines.length||An(Wt[Ln],"hide");if(sn)for(var Mn=0;Mn<sn.length;++Mn)sn[Mn].lines.length&&An(sn[Mn],"unhide");it.wrapper.offsetHeight&&(rt.scrollTop=_e.display.scroller.scrollTop),Ee.changeObjs&&An(_e,"changes",_e,Ee.changeObjs),Ee.update&&Ee.update.finish()}function Dr(Ee,_e){if(Ee.curOp)return _e();bl(Ee);try{return _e()}finally{_u(Ee)}}function si(Ee,_e){return function(){if(Ee.curOp)return _e.apply(Ee,arguments);bl(Ee);try{return _e.apply(Ee,arguments)}finally{_u(Ee)}}}function oi(Ee){return function(){if(this.curOp)return Ee.apply(this,arguments);bl(this);try{return Ee.apply(this,arguments)}finally{_u(this)}}}function ti(Ee){return function(){var _e=this.cm;if(!_e||_e.curOp)return Ee.apply(this,arguments);bl(_e);try{return Ee.apply(this,arguments)}finally{_u(_e)}}}function Ni(Ee,_e){Ee.doc.highlightFrontier<Ee.display.viewTo&&Ee.state.highlight.set(_e,Lt(pi,Ee))}function pi(Ee){var _e=Ee.doc;if(!(_e.highlightFrontier>=Ee.display.viewTo)){var it=+new Date+Ee.options.workTime,rt=Zi(Ee,_e.highlightFrontier),ht=[];_e.iter(rt.line,Math.min(_e.first+_e.size,Ee.display.viewTo+500),function(Wt){if(rt.line>=Ee.display.viewFrom){var sn=Wt.styles,Ln=Wt.text.length>Ee.options.maxHighlightLength?et(_e.mode,rt.state):null,Mn=ui(Ee,Wt,rt,!0);Ln&&(rt.state=Ln),Wt.styles=Mn.styles;var Qn=Wt.styleClasses,Wr=Mn.classes;Wr?Wt.styleClasses=Wr:Qn&&(Wt.styleClasses=null);for(var lr=!sn||sn.length!=Wt.styles.length||Qn!=Wr&&(!Qn||!Wr||Qn.bgClass!=Wr.bgClass||Qn.textClass!=Wr.textClass),Si=0;!lr&&Si<sn.length;++Si)lr=sn[Si]!=Wt.styles[Si];lr&&ht.push(rt.line),Wt.stateAfter=rt.save(),rt.nextLine()}else Wt.text.length<=Ee.options.maxHighlightLength&&nr(Ee,Wt.text,rt),Wt.stateAfter=rt.line%5==0?rt.save():null,rt.nextLine();if(+new Date>it)return Ni(Ee,Ee.options.workDelay),!0}),_e.highlightFrontier=rt.line,_e.modeFrontier=Math.max(_e.modeFrontier,rt.line),ht.length&&Dr(Ee,function(){for(var Wt=0;Wt<ht.length;Wt++)xl(Ee,ht[Wt],"text")})}}var Di=function(Ee,_e,it){var rt=Ee.display;this.viewport=_e,this.visible=Ei(rt,Ee.doc,_e),this.editorIsHidden=!rt.wrapper.offsetWidth,this.wrapperHeight=rt.wrapper.clientHeight,this.wrapperWidth=rt.wrapper.clientWidth,this.oldDisplayWidth=Hc(Ee),this.force=it,this.dims=Pp(Ee),this.events=[]};Di.prototype.signal=function(Ee,_e){mr(Ee,_e)&&this.events.push(arguments)},Di.prototype.finish=function(){for(var Ee=0;Ee<this.events.length;Ee++)An.apply(null,this.events[Ee])};function vo(Ee){var _e=Ee.display;!_e.scrollbarsClipped&&_e.scroller.offsetWidth&&(_e.nativeBarWidth=_e.scroller.offsetWidth-_e.scroller.clientWidth,_e.heightForcer.style.height=Gc(Ee)+"px",_e.sizer.style.marginBottom=-_e.nativeBarWidth+"px",_e.sizer.style.borderRightWidth=Gc(Ee)+"px",_e.scrollbarsClipped=!0)}function ho(Ee){if(Ee.hasFocus())return null;var _e=lt();if(!_e||!gt(Ee.display.lineDiv,_e))return null;var it={activeElt:_e};if(window.getSelection){var rt=window.getSelection();rt.anchorNode&&rt.extend&&gt(Ee.display.lineDiv,rt.anchorNode)&&(it.anchorNode=rt.anchorNode,it.anchorOffset=rt.anchorOffset,it.focusNode=rt.focusNode,it.focusOffset=rt.focusOffset)}return it}function hi(Ee){if(!(!Ee||!Ee.activeElt||Ee.activeElt==lt())&&(Ee.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(Ee.activeElt.nodeName)&&Ee.anchorNode&&gt(document.body,Ee.anchorNode)&&gt(document.body,Ee.focusNode))){var _e=window.getSelection(),it=document.createRange();it.setEnd(Ee.anchorNode,Ee.anchorOffset),it.collapse(!1),_e.removeAllRanges(),_e.addRange(it),_e.extend(Ee.focusNode,Ee.focusOffset)}}function Go(Ee,_e){var it=Ee.display,rt=Ee.doc;if(_e.editorIsHidden)return cc(Ee),!1;if(!_e.force&&_e.visible.from>=it.viewFrom&&_e.visible.to<=it.viewTo&&(it.updateLineNumbers==null||it.updateLineNumbers>=it.viewTo)&&it.renderedView==it.view&&Dn(Ee)==0)return!1;ya(Ee)&&(cc(Ee),_e.dims=Pp(Ee));var ht=rt.first+rt.size,Wt=Math.max(_e.visible.from-Ee.options.viewportMargin,rt.first),sn=Math.min(ht,_e.visible.to+Ee.options.viewportMargin);it.viewFrom<Wt&&Wt-it.viewFrom<20&&(Wt=Math.max(rt.first,it.viewFrom)),it.viewTo>sn&&it.viewTo-sn<20&&(sn=Math.min(ht,it.viewTo)),Hr&&(Wt=Qo(Ee.doc,Wt),sn=Ba(Ee.doc,sn));var Ln=Wt!=it.viewFrom||sn!=it.viewTo||it.lastWrapHeight!=_e.wrapperHeight||it.lastWrapWidth!=_e.wrapperWidth;En(Ee,Wt,sn),it.viewOffset=sl(rn(Ee.doc,it.viewFrom)),Ee.display.mover.style.top=it.viewOffset+"px";var Mn=Dn(Ee);if(!Ln&&Mn==0&&!_e.force&&it.renderedView==it.view&&(it.updateLineNumbers==null||it.updateLineNumbers>=it.viewTo))return!1;var Qn=ho(Ee);return Mn>4&&(it.lineDiv.style.display="none"),qo(Ee,it.updateLineNumbers,_e.dims),Mn>4&&(it.lineDiv.style.display=""),it.renderedView=it.view,hi(Qn),ze(it.cursorDiv),ze(it.selectionDiv),it.gutters.style.height=it.sizer.style.minHeight=0,Ln&&(it.lastWrapHeight=_e.wrapperHeight,it.lastWrapWidth=_e.wrapperWidth,Ni(Ee,400)),it.updateLineNumbers=null,!0}function ro(Ee,_e){for(var it=_e.viewport,rt=!0;;rt=!1){if(!rt||!Ee.options.lineWrapping||_e.oldDisplayWidth==Hc(Ee)){if(it&&it.top!=null&&(it={top:Math.min(Ee.doc.height+od(Ee.display)-yf(Ee),it.top)}),_e.visible=Ei(Ee.display,Ee.doc,it),_e.visible.from>=Ee.display.viewFrom&&_e.visible.to<=Ee.display.viewTo)break}else rt&&(_e.visible=Ei(Ee.display,Ee.doc,it));if(!Go(Ee,_e))break;ki(Ee);var ht=Rl(Ee);Ar(Ee),ll(Ee,ht),$a(Ee,ht),_e.force=!1}_e.signal(Ee,"update",Ee),(Ee.display.viewFrom!=Ee.display.reportedViewFrom||Ee.display.viewTo!=Ee.display.reportedViewTo)&&(_e.signal(Ee,"viewportChange",Ee,Ee.display.viewFrom,Ee.display.viewTo),Ee.display.reportedViewFrom=Ee.display.viewFrom,Ee.display.reportedViewTo=Ee.display.viewTo)}function sa(Ee,_e){var it=new Di(Ee,_e);if(Go(Ee,it)){ki(Ee),ro(Ee,it);var rt=Rl(Ee);Ar(Ee),ll(Ee,rt),$a(Ee,rt),it.finish()}}function qo(Ee,_e,it){var rt=Ee.display,ht=Ee.options.lineNumbers,Wt=rt.lineDiv,sn=Wt.firstChild;function Ln(Mo){var Ro=Mo.nextSibling;return we&&fe&&Ee.display.currentWheelTarget==Mo?Mo.style.display="none":Mo.parentNode.removeChild(Mo),Ro}for(var Mn=rt.view,Qn=rt.viewFrom,Wr=0;Wr<Mn.length;Wr++){var lr=Mn[Wr];if(!lr.hidden)if(!lr.node||lr.node.parentNode!=Wt){var Si=Zh(Ee,lr,Qn,it);Wt.insertBefore(Si,sn)}else{for(;sn!=lr.node;)sn=Ln(sn);var fi=ht&&_e!=null&&_e<=Qn&&lr.lineNumber;lr.changes&&(Dt(lr.changes,"gutter")>-1&&(fi=!1),Uu(Ee,lr,Qn,it)),fi&&(ze(lr.lineNumber),lr.lineNumber.appendChild(document.createTextNode(fr(Ee.options,Qn)))),sn=lr.node.nextSibling}Qn+=lr.size}for(;sn;)sn=Ln(sn)}function na(Ee){var _e=Ee.gutters.offsetWidth;Ee.sizer.style.marginLeft=_e+"px"}function $a(Ee,_e){Ee.display.sizer.style.minHeight=_e.docHeight+"px",Ee.display.heightForcer.style.top=_e.docHeight+"px",Ee.display.gutters.style.height=_e.docHeight+Ee.display.barHeight+Gc(Ee)+"px"}function cs(Ee){var _e=Ee.display,it=_e.view;if(!(!_e.alignWidgets&&(!_e.gutters.firstChild||!Ee.options.fixedGutter))){for(var rt=sp(_e)-_e.scroller.scrollLeft+Ee.doc.scrollLeft,ht=_e.gutters.offsetWidth,Wt=rt+"px",sn=0;sn<it.length;sn++)if(!it[sn].hidden){Ee.options.fixedGutter&&(it[sn].gutter&&(it[sn].gutter.style.left=Wt),it[sn].gutterBackground&&(it[sn].gutterBackground.style.left=Wt));var Ln=it[sn].alignable;if(Ln)for(var Mn=0;Mn<Ln.length;Mn++)Ln[Mn].style.left=Wt}Ee.options.fixedGutter&&(_e.gutters.style.left=rt+ht+"px")}}function ya(Ee){if(!Ee.options.lineNumbers)return!1;var _e=Ee.doc,it=fr(Ee.options,_e.first+_e.size-1),rt=Ee.display;if(it.length!=rt.lineNumChars){var ht=rt.measure.appendChild(Ve("div",[Ve("div",it)],"CodeMirror-linenumber CodeMirror-gutter-elt")),Wt=ht.firstChild.offsetWidth,sn=ht.offsetWidth-Wt;return rt.lineGutter.style.width="",rt.lineNumInnerWidth=Math.max(Wt,rt.lineGutter.offsetWidth-sn)+1,rt.lineNumWidth=rt.lineNumInnerWidth+sn,rt.lineNumChars=rt.lineNumInnerWidth?it.length:-1,rt.lineGutter.style.width=rt.lineNumWidth+"px",na(Ee.display),!0}return!1}function Ia(Ee,_e){for(var it=[],rt=!1,ht=0;ht<Ee.length;ht++){var Wt=Ee[ht],sn=null;if(typeof Wt!="string"&&(sn=Wt.style,Wt=Wt.className),Wt=="CodeMirror-linenumbers")if(_e)rt=!0;else continue;it.push({className:Wt,style:sn})}return _e&&!rt&&it.push({className:"CodeMirror-linenumbers",style:null}),it}function gs(Ee){var _e=Ee.gutters,it=Ee.gutterSpecs;ze(_e),Ee.lineGutter=null;for(var rt=0;rt<it.length;++rt){var ht=it[rt],Wt=ht.className,sn=ht.style,Ln=_e.appendChild(Ve("div",null,"CodeMirror-gutter "+Wt));sn&&(Ln.style.cssText=sn),Wt=="CodeMirror-linenumbers"&&(Ee.lineGutter=Ln,Ln.style.width=(Ee.lineNumWidth||1)+"px")}_e.style.display=it.length?"":"none",na(Ee)}function ga(Ee){gs(Ee.display),$l(Ee),cs(Ee)}function Wa(Ee,_e,it,rt){var ht=this;this.input=it,ht.scrollbarFiller=Ve("div",null,"CodeMirror-scrollbar-filler"),ht.scrollbarFiller.setAttribute("cm-not-content","true"),ht.gutterFiller=Ve("div",null,"CodeMirror-gutter-filler"),ht.gutterFiller.setAttribute("cm-not-content","true"),ht.lineDiv=Qe("div",null,"CodeMirror-code"),ht.selectionDiv=Ve("div",null,null,"position: relative; z-index: 1"),ht.cursorDiv=Ve("div",null,"CodeMirror-cursors"),ht.measure=Ve("div",null,"CodeMirror-measure"),ht.lineMeasure=Ve("div",null,"CodeMirror-measure"),ht.lineSpace=Qe("div",[ht.measure,ht.lineMeasure,ht.selectionDiv,ht.cursorDiv,ht.lineDiv],null,"position: relative; outline: none");var Wt=Qe("div",[ht.lineSpace],"CodeMirror-lines");ht.mover=Ve("div",[Wt],null,"position: relative"),ht.sizer=Ve("div",[ht.mover],"CodeMirror-sizer"),ht.sizerWidth=null,ht.heightForcer=Ve("div",null,null,"position: absolute; height: "+Xt+"px; width: 1px;"),ht.gutters=Ve("div",null,"CodeMirror-gutters"),ht.lineGutter=null,ht.scroller=Ve("div",[ht.sizer,ht.heightForcer,ht.gutters],"CodeMirror-scroll"),ht.scroller.setAttribute("tabIndex","-1"),ht.wrapper=Ve("div",[ht.scrollbarFiller,ht.gutterFiller,ht.scroller],"CodeMirror"),Ke&&Be<8&&(ht.gutters.style.zIndex=-1,ht.scroller.style.paddingRight=0),!we&&!(Ge&&ae)&&(ht.scroller.draggable=!0),Ee&&(Ee.appendChild?Ee.appendChild(ht.wrapper):Ee(ht.wrapper)),ht.viewFrom=ht.viewTo=_e.first,ht.reportedViewFrom=ht.reportedViewTo=_e.first,ht.view=[],ht.renderedView=null,ht.externalMeasured=null,ht.viewOffset=0,ht.lastWrapHeight=ht.lastWrapWidth=0,ht.updateLineNumbers=null,ht.nativeBarWidth=ht.barHeight=ht.barWidth=0,ht.scrollbarsClipped=!1,ht.lineNumWidth=ht.lineNumInnerWidth=ht.lineNumChars=null,ht.alignWidgets=!1,ht.cachedCharWidth=ht.cachedTextHeight=ht.cachedPaddingH=null,ht.maxLine=null,ht.maxLineLength=0,ht.maxLineChanged=!1,ht.wheelDX=ht.wheelDY=ht.wheelStartX=ht.wheelStartY=null,ht.shift=!1,ht.selForContextMenu=null,ht.activeTouch=null,ht.gutterSpecs=Ia(rt.gutters,rt.lineNumbers),gs(ht),it.init(ht)}var fa=0,Wo=null;Ke?Wo=-.53:Ge?Wo=15:ke?Wo=-.7:Ce&&(Wo=-1/3);function la(Ee){var _e=Ee.wheelDeltaX,it=Ee.wheelDeltaY;return _e==null&&Ee.detail&&Ee.axis==Ee.HORIZONTAL_AXIS&&(_e=Ee.detail),it==null&&Ee.detail&&Ee.axis==Ee.VERTICAL_AXIS?it=Ee.detail:it==null&&(it=Ee.wheelDelta),{x:_e,y:it}}function Ha(Ee){var _e=la(Ee);return _e.x*=Wo,_e.y*=Wo,_e}function Po(Ee,_e){var it=la(_e),rt=it.x,ht=it.y,Wt=Ee.display,sn=Wt.scroller,Ln=sn.scrollWidth>sn.clientWidth,Mn=sn.scrollHeight>sn.clientHeight;if(rt&&Ln||ht&&Mn){if(ht&&fe&&we){e:for(var Qn=_e.target,Wr=Wt.view;Qn!=sn;Qn=Qn.parentNode)for(var lr=0;lr<Wr.length;lr++)if(Wr[lr].node==Qn){Ee.display.currentWheelTarget=Qn;break e}}if(rt&&!Ge&&!Ie&&Wo!=null){ht&&Mn&&fs(Ee,Math.max(0,sn.scrollTop+ht*Wo)),zl(Ee,Math.max(0,sn.scrollLeft+rt*Wo)),(!ht||ht&&Mn)&&di(_e),Wt.wheelStartX=null;return}if(ht&&Wo!=null){var Si=ht*Wo,fi=Ee.doc.scrollTop,Mo=fi+Wt.wrapper.clientHeight;Si<0?fi=Math.max(0,fi+Si-50):Mo=Math.min(Ee.doc.height,Mo+Si+50),sa(Ee,{top:fi,bottom:Mo})}fa<20&&(Wt.wheelStartX==null?(Wt.wheelStartX=sn.scrollLeft,Wt.wheelStartY=sn.scrollTop,Wt.wheelDX=rt,Wt.wheelDY=ht,setTimeout(function(){if(Wt.wheelStartX!=null){var Ro=sn.scrollLeft-Wt.wheelStartX,ea=sn.scrollTop-Wt.wheelStartY,Na=ea&&Wt.wheelDY&&ea/Wt.wheelDY||Ro&&Wt.wheelDX&&Ro/Wt.wheelDX;Wt.wheelStartX=Wt.wheelStartY=null,Na&&(Wo=(Wo*fa+Na)/(fa+1),++fa)}},200)):(Wt.wheelDX+=rt,Wt.wheelDY+=ht))}}var Es=function(Ee,_e){this.ranges=Ee,this.primIndex=_e};Es.prototype.primary=function(){return this.ranges[this.primIndex]},Es.prototype.equals=function(Ee){if(Ee==this)return!0;if(Ee.primIndex!=this.primIndex||Ee.ranges.length!=this.ranges.length)return!1;for(var _e=0;_e<this.ranges.length;_e++){var it=this.ranges[_e],rt=Ee.ranges[_e];if(!Bn(it.anchor,rt.anchor)||!Bn(it.head,rt.head))return!1}return!0},Es.prototype.deepCopy=function(){for(var Ee=[],_e=0;_e<this.ranges.length;_e++)Ee[_e]=new ca(tr(this.ranges[_e].anchor),tr(this.ranges[_e].head));return new Es(Ee,this.primIndex)},Es.prototype.somethingSelected=function(){for(var Ee=0;Ee<this.ranges.length;Ee++)if(!this.ranges[Ee].empty())return!0;return!1},Es.prototype.contains=function(Ee,_e){_e||(_e=Ee);for(var it=0;it<this.ranges.length;it++){var rt=this.ranges[it];if(dn(_e,rt.from())>=0&&dn(Ee,rt.to())<=0)return it}return-1};var ca=function(Ee,_e){this.anchor=Ee,this.head=_e};ca.prototype.from=function(){return pr(this.anchor,this.head)},ca.prototype.to=function(){return hr(this.anchor,this.head)},ca.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch};function dt(Ee,_e,it){var rt=Ee&&Ee.options.selectionsMayTouch,ht=_e[it];_e.sort(function(Si,fi){return dn(Si.from(),fi.from())}),it=Dt(_e,ht);for(var Wt=1;Wt<_e.length;Wt++){var sn=_e[Wt],Ln=_e[Wt-1],Mn=dn(Ln.to(),sn.from());if(rt&&!sn.empty()?Mn>0:Mn>=0){var Qn=pr(Ln.from(),sn.from()),Wr=hr(Ln.to(),sn.to()),lr=Ln.empty()?sn.from()==sn.head:Ln.from()==Ln.head;Wt<=it&&--it,_e.splice(--Wt,2,new ca(lr?Wr:Qn,lr?Qn:Wr))}}return new Es(_e,it)}function Ot(Ee,_e){return new Es([new ca(Ee,_e||Ee)],0)}function zt(Ee){return Ee.text?On(Ee.from.line+Ee.text.length-1,an(Ee.text).length+(Ee.text.length==1?Ee.from.ch:0)):Ee.to}function $t(Ee,_e){if(dn(Ee,_e.from)<0)return Ee;if(dn(Ee,_e.to)<=0)return zt(_e);var it=Ee.line+_e.text.length-(_e.to.line-_e.from.line)-1,rt=Ee.ch;return Ee.line==_e.to.line&&(rt+=zt(_e).ch-_e.to.ch),On(it,rt)}function pn(Ee,_e){for(var it=[],rt=0;rt<Ee.sel.ranges.length;rt++){var ht=Ee.sel.ranges[rt];it.push(new ca($t(ht.anchor,_e),$t(ht.head,_e)))}return dt(Ee.cm,it,Ee.sel.primIndex)}function mn(Ee,_e,it){return Ee.line==_e.line?On(it.line,Ee.ch-_e.ch+it.ch):On(it.line+(Ee.line-_e.line),Ee.ch)}function In(Ee,_e,it){for(var rt=[],ht=On(Ee.first,0),Wt=ht,sn=0;sn<_e.length;sn++){var Ln=_e[sn],Mn=mn(Ln.from,ht,Wt),Qn=mn(zt(Ln),ht,Wt);if(ht=Ln.to,Wt=Qn,it=="around"){var Wr=Ee.sel.ranges[sn],lr=dn(Wr.head,Wr.anchor)<0;rt[sn]=new ca(lr?Qn:Mn,lr?Mn:Qn)}else rt[sn]=new ca(Mn,Mn)}return new Es(rt,Ee.sel.primIndex)}function xn(Ee){Ee.doc.mode=De(Ee.options,Ee.doc.modeOption),qn(Ee)}function qn(Ee){Ee.doc.iter(function(_e){_e.stateAfter&&(_e.stateAfter=null),_e.styles&&(_e.styles=null)}),Ee.doc.modeFrontier=Ee.doc.highlightFrontier=Ee.doc.first,Ni(Ee,100),Ee.state.modeGen++,Ee.curOp&&$l(Ee)}function Wn(Ee,_e){return _e.from.ch==0&&_e.to.ch==0&&an(_e.text)==""&&(!Ee.cm||Ee.cm.options.wholeLineUpdateBefore)}function ar(Ee,_e,it,rt){function ht(vs){return it?it[vs]:null}function Wt(vs,Xa,Ds){zs(vs,Xa,Ds,rt),jo(vs,"change",vs,_e)}function sn(vs,Xa){for(var Ds=[],hl=vs;hl<Xa;++hl)Ds.push(new xs(Qn[hl],ht(hl),rt));return Ds}var Ln=_e.from,Mn=_e.to,Qn=_e.text,Wr=rn(Ee,Ln.line),lr=rn(Ee,Mn.line),Si=an(Qn),fi=ht(Qn.length-1),Mo=Mn.line-Ln.line;if(_e.full)Ee.insert(0,sn(0,Qn.length)),Ee.remove(Qn.length,Ee.size-Qn.length);else if(Wn(Ee,_e)){var Ro=sn(0,Qn.length-1);Wt(lr,lr.text,fi),Mo&&Ee.remove(Ln.line,Mo),Ro.length&&Ee.insert(Ln.line,Ro)}else if(Wr==lr)if(Qn.length==1)Wt(Wr,Wr.text.slice(0,Ln.ch)+Si+Wr.text.slice(Mn.ch),fi);else{var ea=sn(1,Qn.length-1);ea.push(new xs(Si+Wr.text.slice(Mn.ch),fi,rt)),Wt(Wr,Wr.text.slice(0,Ln.ch)+Qn[0],ht(0)),Ee.insert(Ln.line+1,ea)}else if(Qn.length==1)Wt(Wr,Wr.text.slice(0,Ln.ch)+Qn[0]+lr.text.slice(Mn.ch),ht(0)),Ee.remove(Ln.line+1,Mo);else{Wt(Wr,Wr.text.slice(0,Ln.ch)+Qn[0],ht(0)),Wt(lr,Si+lr.text.slice(Mn.ch),fi);var Na=sn(1,Qn.length-1);Mo>1&&Ee.remove(Ln.line+1,Mo-1),Ee.insert(Ln.line+1,Na)}jo(Ee,"change",Ee,_e)}function Ir(Ee,_e,it){function rt(ht,Wt,sn){if(ht.linked)for(var Ln=0;Ln<ht.linked.length;++Ln){var Mn=ht.linked[Ln];if(Mn.doc!=Wt){var Qn=sn&&Mn.sharedHist;it&&!Qn||(_e(Mn.doc,Qn),rt(Mn.doc,ht,Qn))}}}rt(Ee,null,!0)}function Er(Ee,_e){if(_e.cm)throw new Error("This document is already in use.");Ee.doc=_e,_e.cm=Ee,Ps(Ee),xn(Ee),Yr(Ee),Ee.options.lineWrapping||Ki(Ee),Ee.options.mode=_e.modeOption,$l(Ee)}function Yr(Ee){(Ee.doc.direction=="rtl"?At:Le)(Ee.display.lineDiv,"CodeMirror-rtl")}function jr(Ee){Dr(Ee,function(){Yr(Ee),$l(Ee)})}function kr(Ee){this.done=[],this.undone=[],this.undoDepth=1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=Ee||1}function zr(Ee,_e){var it={from:tr(_e.from),to:zt(_e),text:nn(Ee,_e.from,_e.to)};return ha(Ee,it,_e.from.line,_e.to.line+1),Ir(Ee,function(rt){return ha(rt,it,_e.from.line,_e.to.line+1)},!0),it}function _r(Ee){for(;Ee.length;){var _e=an(Ee);if(_e.ranges)Ee.pop();else break}}function Vr(Ee,_e){if(_e)return _r(Ee.done),an(Ee.done);if(Ee.done.length&&!an(Ee.done).ranges)return an(Ee.done);if(Ee.done.length>1&&!Ee.done[Ee.done.length-2].ranges)return Ee.done.pop(),an(Ee.done)}function Ti(Ee,_e,it,rt){var ht=Ee.history;ht.undone.length=0;var Wt=+new Date,sn,Ln;if((ht.lastOp==rt||ht.lastOrigin==_e.origin&&_e.origin&&(_e.origin.charAt(0)=="+"&&ht.lastModTime>Wt-(Ee.cm?Ee.cm.options.historyEventDelay:500)||_e.origin.charAt(0)=="*"))&&(sn=Vr(ht,ht.lastOp==rt)))Ln=an(sn.changes),dn(_e.from,_e.to)==0&&dn(_e.from,Ln.to)==0?Ln.to=zt(_e):sn.changes.push(zr(Ee,_e));else{var Mn=an(ht.done);for((!Mn||!Mn.ranges)&&lo(Ee.sel,ht.done),sn={changes:[zr(Ee,_e)],generation:ht.generation},ht.done.push(sn);ht.done.length>ht.undoDepth;)ht.done.shift(),ht.done[0].ranges||ht.done.shift()}ht.done.push(it),ht.generation=++ht.maxGeneration,ht.lastModTime=ht.lastSelTime=Wt,ht.lastOp=ht.lastSelOp=rt,ht.lastOrigin=ht.lastSelOrigin=_e.origin,Ln||An(Ee,"historyAdded")}function to(Ee,_e,it,rt){var ht=_e.charAt(0);return ht=="*"||ht=="+"&&it.ranges.length==rt.ranges.length&&it.somethingSelected()==rt.somethingSelected()&&new Date-Ee.history.lastSelTime<=(Ee.cm?Ee.cm.options.historyEventDelay:500)}function pa(Ee,_e,it,rt){var ht=Ee.history,Wt=rt&&rt.origin;it==ht.lastSelOp||Wt&&ht.lastSelOrigin==Wt&&(ht.lastModTime==ht.lastSelTime&&ht.lastOrigin==Wt||to(Ee,Wt,an(ht.done),_e))?ht.done[ht.done.length-1]=_e:lo(_e,ht.done),ht.lastSelTime=+new Date,ht.lastSelOrigin=Wt,ht.lastSelOp=it,rt&&rt.clearRedo!==!1&&_r(ht.undone)}function lo(Ee,_e){var it=an(_e);it&&it.ranges&&it.equals(Ee)||_e.push(Ee)}function ha(Ee,_e,it,rt){var ht=_e["spans_"+Ee.id],Wt=0;Ee.iter(Math.max(Ee.first,it),Math.min(Ee.first+Ee.size,rt),function(sn){sn.markedSpans&&((ht||(ht=_e["spans_"+Ee.id]={}))[Wt]=sn.markedSpans),++Wt})}function Zo(Ee){if(!Ee)return null;for(var _e,it=0;it<Ee.length;++it)Ee[it].marker.explicitlyCleared?_e||(_e=Ee.slice(0,it)):_e&&_e.push(Ee[it]);return _e?_e.length?_e:null:Ee}function Oo(Ee,_e){var it=_e["spans_"+Ee.id];if(!it)return null;for(var rt=[],ht=0;ht<_e.text.length;++ht)rt.push(Zo(it[ht]));return rt}function Ri(Ee,_e){var it=Oo(Ee,_e),rt=zo(Ee,_e);if(!it)return rt;if(!rt)return it;for(var ht=0;ht<it.length;++ht){var Wt=it[ht],sn=rt[ht];if(Wt&&sn)e:for(var Ln=0;Ln<sn.length;++Ln){for(var Mn=sn[Ln],Qn=0;Qn<Wt.length;++Qn)if(Wt[Qn].marker==Mn.marker)continue e;Wt.push(Mn)}else sn&&(it[ht]=sn)}return it}function co(Ee,_e,it){for(var rt=[],ht=0;ht<Ee.length;++ht){var Wt=Ee[ht];if(Wt.ranges){rt.push(it?Es.prototype.deepCopy.call(Wt):Wt);continue}var sn=Wt.changes,Ln=[];rt.push({changes:Ln});for(var Mn=0;Mn<sn.length;++Mn){var Qn=sn[Mn],Wr=void 0;if(Ln.push({from:Qn.from,to:Qn.to,text:Qn.text}),_e)for(var lr in Qn)(Wr=lr.match(/^spans_(\d+)$/))&&Dt(_e,Number(Wr[1]))>-1&&(an(Ln)[lr]=Qn[lr],delete Qn[lr])}}return rt}function Oa(Ee,_e,it,rt){if(rt){var ht=Ee.anchor;if(it){var Wt=dn(_e,ht)<0;Wt!=dn(it,ht)<0?(ht=_e,_e=it):Wt!=dn(_e,it)<0&&(_e=it)}return new ca(ht,_e)}else return new ca(it||_e,_e)}function ni(Ee,_e,it,rt,ht){ht==null&&(ht=Ee.cm&&(Ee.cm.display.shift||Ee.extend)),Uo(Ee,new Es([Oa(Ee.sel.primary(),_e,it,ht)],0),rt)}function ji(Ee,_e,it){for(var rt=[],ht=Ee.cm&&(Ee.cm.display.shift||Ee.extend),Wt=0;Wt<Ee.sel.ranges.length;Wt++)rt[Wt]=Oa(Ee.sel.ranges[Wt],_e[Wt],null,ht);var sn=dt(Ee.cm,rt,Ee.sel.primIndex);Uo(Ee,sn,it)}function mo(Ee,_e,it,rt){var ht=Ee.sel.ranges.slice(0);ht[_e]=it,Uo(Ee,dt(Ee.cm,ht,Ee.sel.primIndex),rt)}function yo(Ee,_e,it,rt){Uo(Ee,Ot(_e,it),rt)}function ra(Ee,_e,it){var rt={ranges:_e.ranges,update:function(ht){this.ranges=[];for(var Wt=0;Wt<ht.length;Wt++)this.ranges[Wt]=new ca(gr(Ee,ht[Wt].anchor),gr(Ee,ht[Wt].head))},origin:it&&it.origin};return An(Ee,"beforeSelectionChange",Ee,rt),Ee.cm&&An(Ee.cm,"beforeSelectionChange",Ee.cm,rt),rt.ranges!=_e.ranges?dt(Ee.cm,rt.ranges,rt.ranges.length-1):_e}function Eo(Ee,_e,it){var rt=Ee.history.done,ht=an(rt);ht&&ht.ranges?(rt[rt.length-1]=_e,Va(Ee,_e,it)):Uo(Ee,_e,it)}function Uo(Ee,_e,it){Va(Ee,_e,it),pa(Ee,Ee.sel,Ee.cm?Ee.cm.curOp.id:NaN,it)}function Va(Ee,_e,it){(mr(Ee,"beforeSelectionChange")||Ee.cm&&mr(Ee.cm,"beforeSelectionChange"))&&(_e=ra(Ee,_e,it));var rt=it&&it.bias||(dn(_e.primary().head,Ee.sel.primary().head)<0?-1:1);Ho(Ee,qi(Ee,_e,rt,!0)),!(it&&it.scroll===!1)&&Ee.cm&&Za(Ee.cm)}function Ho(Ee,_e){_e.equals(Ee.sel)||(Ee.sel=_e,Ee.cm&&(Ee.cm.curOp.updateInput=1,Ee.cm.curOp.selectionChanged=!0,xr(Ee.cm)),jo(Ee,"cursorActivity",Ee))}function $r(Ee){Ho(Ee,qi(Ee,Ee.sel,null,!1))}function qi(Ee,_e,it,rt){for(var ht,Wt=0;Wt<_e.ranges.length;Wt++){var sn=_e.ranges[Wt],Ln=_e.ranges.length==Ee.sel.ranges.length&&Ee.sel.ranges[Wt],Mn=Xl(Ee,sn.anchor,Ln&&Ln.anchor,it,rt),Qn=Xl(Ee,sn.head,Ln&&Ln.head,it,rt);(ht||Mn!=sn.anchor||Qn!=sn.head)&&(ht||(ht=_e.ranges.slice(0,Wt)),ht[Wt]=new ca(Mn,Qn))}return ht?dt(Ee.cm,ht,_e.primIndex):_e}function qa(Ee,_e,it,rt,ht){var Wt=rn(Ee,_e.line);if(Wt.markedSpans)for(var sn=0;sn<Wt.markedSpans.length;++sn){var Ln=Wt.markedSpans[sn],Mn=Ln.marker,Qn="selectLeft"in Mn?!Mn.selectLeft:Mn.inclusiveLeft,Wr="selectRight"in Mn?!Mn.selectRight:Mn.inclusiveRight;if((Ln.from==null||(Qn?Ln.from<=_e.ch:Ln.from<_e.ch))&&(Ln.to==null||(Wr?Ln.to>=_e.ch:Ln.to>_e.ch))){if(ht&&(An(Mn,"beforeCursorEnter"),Mn.explicitlyCleared))if(Wt.markedSpans){--sn;continue}else break;if(!Mn.atomic)continue;if(it){var lr=Mn.find(rt<0?1:-1),Si=void 0;if((rt<0?Wr:Qn)&&(lr=nu(Ee,lr,-rt,lr&&lr.line==_e.line?Wt:null)),lr&&lr.line==_e.line&&(Si=dn(lr,it))&&(rt<0?Si<0:Si>0))return qa(Ee,lr,_e,rt,ht)}var fi=Mn.find(rt<0?-1:1);return(rt<0?Qn:Wr)&&(fi=nu(Ee,fi,rt,fi.line==_e.line?Wt:null)),fi?qa(Ee,fi,_e,rt,ht):null}}return _e}function Xl(Ee,_e,it,rt,ht){var Wt=rt||1,sn=qa(Ee,_e,it,Wt,ht)||!ht&&qa(Ee,_e,it,Wt,!0)||qa(Ee,_e,it,-Wt,ht)||!ht&&qa(Ee,_e,it,-Wt,!0);return sn||(Ee.cantEdit=!0,On(Ee.first,0))}function nu(Ee,_e,it,rt){return it<0&&_e.ch==0?_e.line>Ee.first?gr(Ee,On(_e.line-1)):null:it>0&&_e.ch==(rt||rn(Ee,_e.line)).text.length?_e.line<Ee.first+Ee.size-1?On(_e.line+1,0):null:new On(_e.line,_e.ch+it)}function ul(Ee){Ee.setSelection(On(Ee.firstLine(),0),On(Ee.lastLine()),Rt)}function Ls(Ee,_e,it){var rt={canceled:!1,from:_e.from,to:_e.to,text:_e.text,origin:_e.origin,cancel:function(){return rt.canceled=!0}};return it&&(rt.update=function(ht,Wt,sn,Ln){ht&&(rt.from=gr(Ee,ht)),Wt&&(rt.to=gr(Ee,Wt)),sn&&(rt.text=sn),Ln!==void 0&&(rt.origin=Ln)}),An(Ee,"beforeChange",Ee,rt),Ee.cm&&An(Ee.cm,"beforeChange",Ee.cm,rt),rt.canceled?(Ee.cm&&(Ee.cm.curOp.updateInput=2),null):{from:rt.from,to:rt.to,text:rt.text,origin:rt.origin}}function ps(Ee,_e,it){if(Ee.cm){if(!Ee.cm.curOp)return si(Ee.cm,ps)(Ee,_e,it);if(Ee.cm.state.suppressEdits)return}if(!((mr(Ee,"beforeChange")||Ee.cm&&mr(Ee.cm,"beforeChange"))&&(_e=Ls(Ee,_e,!0),!_e))){var rt=Xo&&!it&&Ka(Ee,_e.from,_e.to);if(rt)for(var ht=rt.length-1;ht>=0;--ht)hs(Ee,{from:rt[ht].from,to:rt[ht].to,text:ht?[""]:_e.text,origin:_e.origin});else hs(Ee,_e)}}function hs(Ee,_e){if(!(_e.text.length==1&&_e.text[0]==""&&dn(_e.from,_e.to)==0)){var it=pn(Ee,_e);Ti(Ee,_e,it,Ee.cm?Ee.cm.curOp.id:NaN),Wl(Ee,_e,it,zo(Ee,_e));var rt=[];Ir(Ee,function(ht,Wt){!Wt&&Dt(rt,ht.history)==-1&&(Cu(ht.history,_e),rt.push(ht.history)),Wl(ht,_e,null,zo(ht,_e))})}}function md(Ee,_e,it){var rt=Ee.cm&&Ee.cm.state.suppressEdits;if(!(rt&&!it)){for(var ht=Ee.history,Wt,sn=Ee.sel,Ln=_e=="undo"?ht.done:ht.undone,Mn=_e=="undo"?ht.undone:ht.done,Qn=0;Qn<Ln.length&&(Wt=Ln[Qn],!(it?Wt.ranges&&!Wt.equals(Ee.sel):!Wt.ranges));Qn++);if(Qn!=Ln.length){for(ht.lastOrigin=ht.lastSelOrigin=null;;)if(Wt=Ln.pop(),Wt.ranges){if(lo(Wt,Mn),it&&!Wt.equals(Ee.sel)){Uo(Ee,Wt,{clearRedo:!1});return}sn=Wt}else if(rt){Ln.push(Wt);return}else break;var Wr=[];lo(sn,Mn),Mn.push({changes:Wr,generation:ht.generation}),ht.generation=Wt.generation||++ht.maxGeneration;for(var lr=mr(Ee,"beforeChange")||Ee.cm&&mr(Ee.cm,"beforeChange"),Si=function(Ro){var ea=Wt.changes[Ro];if(ea.origin=_e,lr&&!Ls(Ee,ea,!1))return Ln.length=0,{};Wr.push(zr(Ee,ea));var Na=Ro?pn(Ee,ea):an(Ln);Wl(Ee,ea,Na,Ri(Ee,ea)),!Ro&&Ee.cm&&Ee.cm.scrollIntoView({from:ea.from,to:zt(ea)});var vs=[];Ir(Ee,function(Xa,Ds){!Ds&&Dt(vs,Xa.history)==-1&&(Cu(Xa.history,ea),vs.push(Xa.history)),Wl(Xa,ea,null,Ri(Xa,ea))})},fi=Wt.changes.length-1;fi>=0;--fi){var Mo=Si(fi);if(Mo)return Mo.v}}}}function Ef(Ee,_e){if(_e!=0&&(Ee.first+=_e,Ee.sel=new Es(Un(Ee.sel.ranges,function(ht){return new ca(On(ht.anchor.line+_e,ht.anchor.ch),On(ht.head.line+_e,ht.head.ch))}),Ee.sel.primIndex),Ee.cm)){$l(Ee.cm,Ee.first,Ee.first-_e,_e);for(var it=Ee.cm.display,rt=it.viewFrom;rt<it.viewTo;rt++)xl(Ee.cm,rt,"gutter")}}function Wl(Ee,_e,it,rt){if(Ee.cm&&!Ee.cm.curOp)return si(Ee.cm,Wl)(Ee,_e,it,rt);if(_e.to.line<Ee.first){Ef(Ee,_e.text.length-1-(_e.to.line-_e.from.line));return}if(!(_e.from.line>Ee.lastLine())){if(_e.from.line<Ee.first){var ht=_e.text.length-1-(Ee.first-_e.from.line);Ef(Ee,ht),_e={from:On(Ee.first,0),to:On(_e.to.line+ht,_e.to.ch),text:[an(_e.text)],origin:_e.origin}}var Wt=Ee.lastLine();_e.to.line>Wt&&(_e={from:_e.from,to:On(Wt,rn(Ee,Wt).text.length),text:[_e.text[0]],origin:_e.origin}),_e.removed=nn(Ee,_e.from,_e.to),it||(it=pn(Ee,_e)),Ee.cm?zu(Ee.cm,_e,rt):ar(Ee,_e,rt),Va(Ee,it,Rt),Ee.cantEdit&&Xl(Ee,On(Ee.firstLine(),0))&&(Ee.cantEdit=!1)}}function zu(Ee,_e,it){var rt=Ee.doc,ht=Ee.display,Wt=_e.from,sn=_e.to,Ln=!1,Mn=Wt.line;Ee.options.lineWrapping||(Mn=cn(es(rn(rt,Wt.line))),rt.iter(Mn,sn.line+1,function(fi){if(fi==ht.maxLine)return Ln=!0,!0})),rt.sel.contains(_e.from,_e.to)>-1&&xr(Ee),ar(rt,_e,it,Gu(Ee)),Ee.options.lineWrapping||(rt.iter(Mn,Wt.line+_e.text.length,function(fi){var Mo=ql(fi);Mo>ht.maxLineLength&&(ht.maxLine=fi,ht.maxLineLength=Mo,ht.maxLineChanged=!0,Ln=!1)}),Ln&&(Ee.curOp.updateMaxLine=!0)),Ui(rt,Wt.line),Ni(Ee,400);var Qn=_e.text.length-(sn.line-Wt.line)-1;_e.full?$l(Ee):Wt.line==sn.line&&_e.text.length==1&&!Wn(Ee.doc,_e)?xl(Ee,Wt.line,"text"):$l(Ee,Wt.line,sn.line+1,Qn);var Wr=mr(Ee,"changes"),lr=mr(Ee,"change");if(lr||Wr){var Si={from:Wt,to:sn,text:_e.text,removed:_e.removed,origin:_e.origin};lr&&jo(Ee,"change",Ee,Si),Wr&&(Ee.curOp.changeObjs||(Ee.curOp.changeObjs=[])).push(Si)}Ee.display.selForContextMenu=null}function Xf(Ee,_e,it,rt,ht){var Wt;rt||(rt=it),dn(rt,it)<0&&(Wt=[rt,it],it=Wt[0],rt=Wt[1]),typeof _e=="string"&&(_e=Ee.splitLines(_e)),ps(Ee,{from:it,to:rt,text:_e,origin:ht})}function yd(Ee,_e,it,rt){it<Ee.line?Ee.line+=rt:_e<Ee.line&&(Ee.line=_e,Ee.ch=0)}function Zl(Ee,_e,it,rt){for(var ht=0;ht<Ee.length;++ht){var Wt=Ee[ht],sn=!0;if(Wt.ranges){Wt.copied||(Wt=Ee[ht]=Wt.deepCopy(),Wt.copied=!0);for(var Ln=0;Ln<Wt.ranges.length;Ln++)yd(Wt.ranges[Ln].anchor,_e,it,rt),yd(Wt.ranges[Ln].head,_e,it,rt);continue}for(var Mn=0;Mn<Wt.changes.length;++Mn){var Qn=Wt.changes[Mn];if(it<Qn.from.line)Qn.from=On(Qn.from.line+rt,Qn.from.ch),Qn.to=On(Qn.to.line+rt,Qn.to.ch);else if(_e<=Qn.to.line){sn=!1;break}}sn||(Ee.splice(0,ht+1),ht=0)}}function Cu(Ee,_e){var it=_e.from.line,rt=_e.to.line,ht=_e.text.length-(rt-it)-1;Zl(Ee.done,it,rt,ht),Zl(Ee.undone,it,rt,ht)}function Sc(Ee,_e,it,rt){var ht=_e,Wt=_e;return typeof _e=="number"?Wt=rn(Ee,Mr(Ee,_e)):ht=cn(_e),ht==null?null:(rt(Wt,ht)&&Ee.cm&&xl(Ee.cm,ht,it),Wt)}function Ts(Ee){this.lines=Ee,this.parent=null;for(var _e=0,it=0;it<Ee.length;++it)Ee[it].parent=this,_e+=Ee[it].height;this.height=_e}Ts.prototype={chunkSize:function(){return this.lines.length},removeInner:function(Ee,_e){for(var it=Ee,rt=Ee+_e;it<rt;++it){var ht=this.lines[it];this.height-=ht.height,yl(ht),jo(ht,"delete")}this.lines.splice(Ee,_e)},collapse:function(Ee){Ee.push.apply(Ee,this.lines)},insertInner:function(Ee,_e,it){this.height+=it,this.lines=this.lines.slice(0,Ee).concat(_e).concat(this.lines.slice(Ee));for(var rt=0;rt<_e.length;++rt)_e[rt].parent=this},iterN:function(Ee,_e,it){for(var rt=Ee+_e;Ee<rt;++Ee)if(it(this.lines[Ee]))return!0}};function wl(Ee){this.children=Ee;for(var _e=0,it=0,rt=0;rt<Ee.length;++rt){var ht=Ee[rt];_e+=ht.chunkSize(),it+=ht.height,ht.parent=this}this.size=_e,this.height=it,this.parent=null}wl.prototype={chunkSize:function(){return this.size},removeInner:function(Ee,_e){this.size-=_e;for(var it=0;it<this.children.length;++it){var rt=this.children[it],ht=rt.chunkSize();if(Ee<ht){var Wt=Math.min(_e,ht-Ee),sn=rt.height;if(rt.removeInner(Ee,Wt),this.height-=sn-rt.height,ht==Wt&&(this.children.splice(it--,1),rt.parent=null),(_e-=Wt)==0)break;Ee=0}else Ee-=ht}if(this.size-_e<25&&(this.children.length>1||!(this.children[0]instanceof Ts))){var Ln=[];this.collapse(Ln),this.children=[new Ts(Ln)],this.children[0].parent=this}},collapse:function(Ee){for(var _e=0;_e<this.children.length;++_e)this.children[_e].collapse(Ee)},insertInner:function(Ee,_e,it){this.size+=_e.length,this.height+=it;for(var rt=0;rt<this.children.length;++rt){var ht=this.children[rt],Wt=ht.chunkSize();if(Ee<=Wt){if(ht.insertInner(Ee,_e,it),ht.lines&&ht.lines.length>50){for(var sn=ht.lines.length%25+25,Ln=sn;Ln<ht.lines.length;){var Mn=new Ts(ht.lines.slice(Ln,Ln+=25));ht.height-=Mn.height,this.children.splice(++rt,0,Mn),Mn.parent=this}ht.lines=ht.lines.slice(0,sn),this.maybeSpill()}break}Ee-=Wt}},maybeSpill:function(){if(!(this.children.length<=10)){var Ee=this;do{var _e=Ee.children.splice(Ee.children.length-5,5),it=new wl(_e);if(Ee.parent){Ee.size-=it.size,Ee.height-=it.height;var ht=Dt(Ee.parent.children,Ee);Ee.parent.children.splice(ht+1,0,it)}else{var rt=new wl(Ee.children);rt.parent=Ee,Ee.children=[rt,it],Ee=rt}it.parent=Ee.parent}while(Ee.children.length>10);Ee.parent.maybeSpill()}},iterN:function(Ee,_e,it){for(var rt=0;rt<this.children.length;++rt){var ht=this.children[rt],Wt=ht.chunkSize();if(Ee<Wt){var sn=Math.min(_e,Wt-Ee);if(ht.iterN(Ee,sn,it))return!0;if((_e-=sn)==0)break;Ee=0}else Ee-=Wt}}};var Ou=function(Ee,_e,it){if(it)for(var rt in it)it.hasOwnProperty(rt)&&(this[rt]=it[rt]);this.doc=Ee,this.node=_e};Ou.prototype.clear=function(){var Ee=this.doc.cm,_e=this.line.widgets,it=this.line,rt=cn(it);if(!(rt==null||!_e)){for(var ht=0;ht<_e.length;++ht)_e[ht]==this&&_e.splice(ht--,1);_e.length||(it.widgets=null);var Wt=nh(this);Sn(it,Math.max(0,it.height-Wt)),Ee&&(Dr(Ee,function(){Kl(Ee,it,-Wt),xl(Ee,rt,"widget")}),jo(Ee,"lineWidgetCleared",Ee,this,rt))}},Ou.prototype.changed=function(){var Ee=this,_e=this.height,it=this.doc.cm,rt=this.line;this.height=null;var ht=nh(this)-_e;ht&&(Ii(this.doc,rt)||Sn(rt,rt.height+ht),it&&Dr(it,function(){it.curOp.forceUpdate=!0,Kl(it,rt,ht),jo(it,"lineWidgetChanged",it,Ee,cn(rt))}))},Qr(Ou);function Kl(Ee,_e,it){sl(_e)<(Ee.curOp&&Ee.curOp.scrollTop||Ee.doc.scrollTop)&&Pa(Ee,it)}function kc(Ee,_e,it,rt){var ht=new Ou(Ee,it,rt),Wt=Ee.cm;return Wt&&ht.noHScroll&&(Wt.display.alignWidgets=!0),Sc(Ee,_e,"widget",function(sn){var Ln=sn.widgets||(sn.widgets=[]);if(ht.insertAt==null?Ln.push(ht):Ln.splice(Math.min(Ln.length-1,Math.max(0,ht.insertAt)),0,ht),ht.line=sn,Wt&&!Ii(Ee,sn)){var Mn=sl(sn)<Ee.scrollTop;Sn(sn,sn.height+nh(ht)),Mn&&Pa(Wt,ht.height),Wt.curOp.forceUpdate=!0}return!0}),Wt&&jo(Wt,"lineWidgetAdded",Wt,ht,typeof _e=="number"?_e:cn(_e)),ht}var mh=0,Lr=function(Ee,_e){this.lines=[],this.type=_e,this.doc=Ee,this.id=++mh};Lr.prototype.clear=function(){if(!this.explicitlyCleared){var Ee=this.doc.cm,_e=Ee&&!Ee.curOp;if(_e&&bl(Ee),mr(this,"clear")){var it=this.find();it&&jo(this,"clear",it.from,it.to)}for(var rt=null,ht=null,Wt=0;Wt<this.lines.length;++Wt){var sn=this.lines[Wt],Ln=ss(sn.markedSpans,this);Ee&&!this.collapsed?xl(Ee,cn(sn),"text"):Ee&&(Ln.to!=null&&(ht=cn(sn)),Ln.from!=null&&(rt=cn(sn))),sn.markedSpans=oa(sn.markedSpans,Ln),Ln.from==null&&this.collapsed&&!Ii(this.doc,sn)&&Ee&&Sn(sn,Fd(Ee.display))}if(Ee&&this.collapsed&&!Ee.options.lineWrapping)for(var Mn=0;Mn<this.lines.length;++Mn){var Qn=es(this.lines[Mn]),Wr=ql(Qn);Wr>Ee.display.maxLineLength&&(Ee.display.maxLine=Qn,Ee.display.maxLineLength=Wr,Ee.display.maxLineChanged=!0)}rt!=null&&Ee&&this.collapsed&&$l(Ee,rt,ht+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,Ee&&$r(Ee.doc)),Ee&&jo(Ee,"markerCleared",Ee,this,rt,ht),_e&&_u(Ee),this.parent&&this.parent.clear()}},Lr.prototype.find=function(Ee,_e){Ee==null&&this.type=="bookmark"&&(Ee=1);for(var it,rt,ht=0;ht<this.lines.length;++ht){var Wt=this.lines[ht],sn=ss(Wt.markedSpans,this);if(sn.from!=null&&(it=On(_e?Wt:cn(Wt),sn.from),Ee==-1))return it;if(sn.to!=null&&(rt=On(_e?Wt:cn(Wt),sn.to),Ee==1))return rt}return it&&{from:it,to:rt}},Lr.prototype.changed=function(){var Ee=this,_e=this.find(-1,!0),it=this,rt=this.doc.cm;!_e||!rt||Dr(rt,function(){var ht=_e.line,Wt=cn(_e.line),sn=Yh(rt,Wt);if(sn&&(Rc(sn),rt.curOp.selectionChanged=rt.curOp.forceUpdate=!0),rt.curOp.updateMaxLine=!0,!Ii(it.doc,ht)&&it.height!=null){var Ln=it.height;it.height=null;var Mn=nh(it)-Ln;Mn&&Sn(ht,ht.height+Mn)}jo(rt,"markerChanged",rt,Ee)})},Lr.prototype.attachLine=function(Ee){if(!this.lines.length&&this.doc.cm){var _e=this.doc.cm.curOp;(!_e.maybeHiddenMarkers||Dt(_e.maybeHiddenMarkers,this)==-1)&&(_e.maybeUnhiddenMarkers||(_e.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(Ee)},Lr.prototype.detachLine=function(Ee){if(this.lines.splice(Dt(this.lines,Ee),1),!this.lines.length&&this.doc.cm){var _e=this.doc.cm.curOp;(_e.maybeHiddenMarkers||(_e.maybeHiddenMarkers=[])).push(this)}},Qr(Lr);function Af(Ee,_e,it,rt,ht){if(rt&&rt.shared)return hm(Ee,_e,it,rt,ht);if(Ee.cm&&!Ee.cm.curOp)return si(Ee.cm,Af)(Ee,_e,it,rt,ht);var Wt=new Lr(Ee,ht),sn=dn(_e,it);if(rt&&St(rt,Wt,!1),sn>0||sn==0&&Wt.clearWhenEmpty!==!1)return Wt;if(Wt.replacedWith&&(Wt.collapsed=!0,Wt.widgetNode=Qe("span",[Wt.replacedWith],"CodeMirror-widget"),rt.handleMouseEvents||Wt.widgetNode.setAttribute("cm-ignore-events","true"),rt.insertLeft&&(Wt.widgetNode.insertLeft=!0)),Wt.collapsed){if(Fs(Ee,_e.line,_e,it,Wt)||_e.line!=it.line&&Fs(Ee,it.line,_e,it,Wt))throw new Error("Inserting collapsed marker partially overlapping an existing one");Zr()}Wt.addToHistory&&Ti(Ee,{from:_e,to:it,origin:"markText"},Ee.sel,NaN);var Ln=_e.line,Mn=Ee.cm,Qn;if(Ee.iter(Ln,it.line+1,function(lr){Mn&&Wt.collapsed&&!Mn.options.lineWrapping&&es(lr)==Mn.display.maxLine&&(Qn=!0),Wt.collapsed&&Ln!=_e.line&&Sn(lr,0),Os(lr,new Ca(Wt,Ln==_e.line?_e.ch:null,Ln==it.line?it.ch:null)),++Ln}),Wt.collapsed&&Ee.iter(_e.line,it.line+1,function(lr){Ii(Ee,lr)&&Sn(lr,0)}),Wt.clearOnEnter&&hn(Wt,"beforeCursorEnter",function(){return Wt.clear()}),Wt.readOnly&&(wa(),(Ee.history.done.length||Ee.history.undone.length)&&Ee.clearHistory()),Wt.collapsed&&(Wt.id=++mh,Wt.atomic=!0),Mn){if(Qn&&(Mn.curOp.updateMaxLine=!0),Wt.collapsed)$l(Mn,_e.line,it.line+1);else if(Wt.className||Wt.startStyle||Wt.endStyle||Wt.css||Wt.attributes||Wt.title)for(var Wr=_e.line;Wr<=it.line;Wr++)xl(Mn,Wr,"text");Wt.atomic&&$r(Mn.doc),jo(Mn,"markerAdded",Mn,Wt)}return Wt}var Qf=function(Ee,_e){this.markers=Ee,this.primary=_e;for(var it=0;it<Ee.length;++it)Ee[it].parent=this};Qf.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var Ee=0;Ee<this.markers.length;++Ee)this.markers[Ee].clear();jo(this,"clear")}},Qf.prototype.find=function(Ee,_e){return this.primary.find(Ee,_e)},Qr(Qf);function hm(Ee,_e,it,rt,ht){rt=St(rt),rt.shared=!1;var Wt=[Af(Ee,_e,it,rt,ht)],sn=Wt[0],Ln=rt.widgetNode;return Ir(Ee,function(Mn){Ln&&(rt.widgetNode=Ln.cloneNode(!0)),Wt.push(Af(Mn,gr(Mn,_e),gr(Mn,it),rt,ht));for(var Qn=0;Qn<Mn.linked.length;++Qn)if(Mn.linked[Qn].isParent)return;sn=an(Wt)}),new Qf(Wt,sn)}function e0(Ee){return Ee.findMarks(On(Ee.first,0),Ee.clipPos(On(Ee.lastLine())),function(_e){return _e.parent})}function lp(Ee,_e){for(var it=0;it<_e.length;it++){var rt=_e[it],ht=rt.find(),Wt=Ee.clipPos(ht.from),sn=Ee.clipPos(ht.to);if(dn(Wt,sn)){var Ln=Af(Ee,Wt,sn,rt.primary,rt.primary.type);rt.markers.push(Ln),Ln.parent=rt}}}function mg(Ee){for(var _e=function(rt){var ht=Ee[rt],Wt=[ht.primary.doc];Ir(ht.primary.doc,function(Mn){return Wt.push(Mn)});for(var sn=0;sn<ht.markers.length;sn++){var Ln=ht.markers[sn];Dt(Wt,Ln.doc)==-1&&(Ln.parent=null,ht.markers.splice(sn--,1))}},it=0;it<Ee.length;it++)_e(it)}var dm=0,yh=function(Ee,_e,it,rt,ht){if(!(this instanceof yh))return new yh(Ee,_e,it,rt,ht);it==null&&(it=0),wl.call(this,[new Ts([new xs("",null)])]),this.first=it,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=it;var Wt=On(it,0);this.sel=Ot(Wt),this.history=new kr(null),this.id=++dm,this.modeOption=_e,this.lineSep=rt,this.direction=ht=="rtl"?"rtl":"ltr",this.extend=!1,typeof Ee=="string"&&(Ee=this.splitLines(Ee)),ar(this,{from:Wt,to:Wt,text:Ee}),Uo(this,Ot(Wt),Rt)};yh.prototype=Xn(wl.prototype,{constructor:yh,iter:function(Ee,_e,it){it?this.iterN(Ee-this.first,_e-Ee,it):this.iterN(this.first,this.first+this.size,Ee)},insert:function(Ee,_e){for(var it=0,rt=0;rt<_e.length;++rt)it+=_e[rt].height;this.insertInner(Ee-this.first,_e,it)},remove:function(Ee,_e){this.removeInner(Ee-this.first,_e)},getValue:function(Ee){var _e=Gn(this,this.first,this.first+this.size);return Ee===!1?_e:_e.join(Ee||this.lineSeparator())},setValue:ti(function(Ee){var _e=On(this.first,0),it=this.first+this.size-1;ps(this,{from:_e,to:On(it,rn(this,it).text.length),text:this.splitLines(Ee),origin:"setValue",full:!0},!0),this.cm&&Ga(this.cm,0,0),Uo(this,Ot(_e),Rt)}),replaceRange:function(Ee,_e,it,rt){_e=gr(this,_e),it=it?gr(this,it):_e,Xf(this,Ee,_e,it,rt)},getRange:function(Ee,_e,it){var rt=nn(this,gr(this,Ee),gr(this,_e));return it===!1?rt:rt.join(it||this.lineSeparator())},getLine:function(Ee){var _e=this.getLineHandle(Ee);return _e&&_e.text},getLineHandle:function(Ee){if(ir(this,Ee))return rn(this,Ee)},getLineNumber:function(Ee){return cn(Ee)},getLineHandleVisualStart:function(Ee){return typeof Ee=="number"&&(Ee=rn(this,Ee)),es(Ee)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(Ee){return gr(this,Ee)},getCursor:function(Ee){var _e=this.sel.primary(),it;return Ee==null||Ee=="head"?it=_e.head:Ee=="anchor"?it=_e.anchor:Ee=="end"||Ee=="to"||Ee===!1?it=_e.to():it=_e.from(),it},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:ti(function(Ee,_e,it){yo(this,gr(this,typeof Ee=="number"?On(Ee,_e||0):Ee),null,it)}),setSelection:ti(function(Ee,_e,it){yo(this,gr(this,Ee),gr(this,_e||Ee),it)}),extendSelection:ti(function(Ee,_e,it){ni(this,gr(this,Ee),_e&&gr(this,_e),it)}),extendSelections:ti(function(Ee,_e){ji(this,Kr(this,Ee),_e)}),extendSelectionsBy:ti(function(Ee,_e){var it=Un(this.sel.ranges,Ee);ji(this,Kr(this,it),_e)}),setSelections:ti(function(Ee,_e,it){if(Ee.length){for(var rt=[],ht=0;ht<Ee.length;ht++)rt[ht]=new ca(gr(this,Ee[ht].anchor),gr(this,Ee[ht].head));_e==null&&(_e=Math.min(Ee.length-1,this.sel.primIndex)),Uo(this,dt(this.cm,rt,_e),it)}}),addSelection:ti(function(Ee,_e,it){var rt=this.sel.ranges.slice(0);rt.push(new ca(gr(this,Ee),gr(this,_e||Ee))),Uo(this,dt(this.cm,rt,rt.length-1),it)}),getSelection:function(Ee){for(var _e=this.sel.ranges,it,rt=0;rt<_e.length;rt++){var ht=nn(this,_e[rt].from(),_e[rt].to());it=it?it.concat(ht):ht}return Ee===!1?it:it.join(Ee||this.lineSeparator())},getSelections:function(Ee){for(var _e=[],it=this.sel.ranges,rt=0;rt<it.length;rt++){var ht=nn(this,it[rt].from(),it[rt].to());Ee!==!1&&(ht=ht.join(Ee||this.lineSeparator())),_e[rt]=ht}return _e},replaceSelection:function(Ee,_e,it){for(var rt=[],ht=0;ht<this.sel.ranges.length;ht++)rt[ht]=Ee;this.replaceSelections(rt,_e,it||"+input")},replaceSelections:ti(function(Ee,_e,it){for(var rt=[],ht=this.sel,Wt=0;Wt<ht.ranges.length;Wt++){var sn=ht.ranges[Wt];rt[Wt]={from:sn.from(),to:sn.to(),text:this.splitLines(Ee[Wt]),origin:it}}for(var Ln=_e&&_e!="end"&&In(this,rt,_e),Mn=rt.length-1;Mn>=0;Mn--)ps(this,rt[Mn]);Ln?Eo(this,Ln):this.cm&&Za(this.cm)}),undo:ti(function(){md(this,"undo")}),redo:ti(function(){md(this,"redo")}),undoSelection:ti(function(){md(this,"undo",!0)}),redoSelection:ti(function(){md(this,"redo",!0)}),setExtending:function(Ee){this.extend=Ee},getExtending:function(){return this.extend},historySize:function(){for(var Ee=this.history,_e=0,it=0,rt=0;rt<Ee.done.length;rt++)Ee.done[rt].ranges||++_e;for(var ht=0;ht<Ee.undone.length;ht++)Ee.undone[ht].ranges||++it;return{undo:_e,redo:it}},clearHistory:function(){var Ee=this;this.history=new kr(this.history.maxGeneration),Ir(this,function(_e){return _e.history=Ee.history},!0)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(Ee){return Ee&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(Ee){return this.history.generation==(Ee||this.cleanGeneration)},getHistory:function(){return{done:co(this.history.done),undone:co(this.history.undone)}},setHistory:function(Ee){var _e=this.history=new kr(this.history.maxGeneration);_e.done=co(Ee.done.slice(0),null,!0),_e.undone=co(Ee.undone.slice(0),null,!0)},setGutterMarker:ti(function(Ee,_e,it){return Sc(this,Ee,"gutter",function(rt){var ht=rt.gutterMarkers||(rt.gutterMarkers={});return ht[_e]=it,!it&&qt(ht)&&(rt.gutterMarkers=null),!0})}),clearGutter:ti(function(Ee){var _e=this;this.iter(function(it){it.gutterMarkers&&it.gutterMarkers[Ee]&&Sc(_e,it,"gutter",function(){return it.gutterMarkers[Ee]=null,qt(it.gutterMarkers)&&(it.gutterMarkers=null),!0})})}),lineInfo:function(Ee){var _e;if(typeof Ee=="number"){if(!ir(this,Ee)||(_e=Ee,Ee=rn(this,Ee),!Ee))return null}else if(_e=cn(Ee),_e==null)return null;return{line:_e,handle:Ee,text:Ee.text,gutterMarkers:Ee.gutterMarkers,textClass:Ee.textClass,bgClass:Ee.bgClass,wrapClass:Ee.wrapClass,widgets:Ee.widgets}},addLineClass:ti(function(Ee,_e,it){return Sc(this,Ee,_e=="gutter"?"gutter":"class",function(rt){var ht=_e=="text"?"textClass":_e=="background"?"bgClass":_e=="gutter"?"gutterClass":"wrapClass";if(!rt[ht])rt[ht]=it;else{if(Se(it).test(rt[ht]))return!1;rt[ht]+=" "+it}return!0})}),removeLineClass:ti(function(Ee,_e,it){return Sc(this,Ee,_e=="gutter"?"gutter":"class",function(rt){var ht=_e=="text"?"textClass":_e=="background"?"bgClass":_e=="gutter"?"gutterClass":"wrapClass",Wt=rt[ht];if(Wt)if(it==null)rt[ht]=null;else{var sn=Wt.match(Se(it));if(!sn)return!1;var Ln=sn.index+sn[0].length;rt[ht]=Wt.slice(0,sn.index)+(!sn.index||Ln==Wt.length?"":" ")+Wt.slice(Ln)||null}else return!1;return!0})}),addLineWidget:ti(function(Ee,_e,it){return kc(this,Ee,_e,it)}),removeLineWidget:function(Ee){Ee.clear()},markText:function(Ee,_e,it){return Af(this,gr(this,Ee),gr(this,_e),it,it&&it.type||"range")},setBookmark:function(Ee,_e){var it={replacedWith:_e&&(_e.nodeType==null?_e.widget:_e),insertLeft:_e&&_e.insertLeft,clearWhenEmpty:!1,shared:_e&&_e.shared,handleMouseEvents:_e&&_e.handleMouseEvents};return Ee=gr(this,Ee),Af(this,Ee,Ee,it,"bookmark")},findMarksAt:function(Ee){Ee=gr(this,Ee);var _e=[],it=rn(this,Ee.line).markedSpans;if(it)for(var rt=0;rt<it.length;++rt){var ht=it[rt];(ht.from==null||ht.from<=Ee.ch)&&(ht.to==null||ht.to>=Ee.ch)&&_e.push(ht.marker.parent||ht.marker)}return _e},findMarks:function(Ee,_e,it){Ee=gr(this,Ee),_e=gr(this,_e);var rt=[],ht=Ee.line;return this.iter(Ee.line,_e.line+1,function(Wt){var sn=Wt.markedSpans;if(sn)for(var Ln=0;Ln<sn.length;Ln++){var Mn=sn[Ln];!(Mn.to!=null&&ht==Ee.line&&Ee.ch>=Mn.to||Mn.from==null&&ht!=Ee.line||Mn.from!=null&&ht==_e.line&&Mn.from>=_e.ch)&&(!it||it(Mn.marker))&&rt.push(Mn.marker.parent||Mn.marker)}++ht}),rt},getAllMarks:function(){var Ee=[];return this.iter(function(_e){var it=_e.markedSpans;if(it)for(var rt=0;rt<it.length;++rt)it[rt].from!=null&&Ee.push(it[rt].marker)}),Ee},posFromIndex:function(Ee){var _e,it=this.first,rt=this.lineSeparator().length;return this.iter(function(ht){var Wt=ht.text.length+rt;if(Wt>Ee)return _e=Ee,!0;Ee-=Wt,++it}),gr(this,On(it,_e))},indexFromPos:function(Ee){Ee=gr(this,Ee);var _e=Ee.ch;if(Ee.line<this.first||Ee.ch<0)return 0;var it=this.lineSeparator().length;return this.iter(this.first,Ee.line,function(rt){_e+=rt.text.length+it}),_e},copy:function(Ee){var _e=new yh(Gn(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return _e.scrollTop=this.scrollTop,_e.scrollLeft=this.scrollLeft,_e.sel=this.sel,_e.extend=!1,Ee&&(_e.history.undoDepth=this.history.undoDepth,_e.setHistory(this.getHistory())),_e},linkedDoc:function(Ee){Ee||(Ee={});var _e=this.first,it=this.first+this.size;Ee.from!=null&&Ee.from>_e&&(_e=Ee.from),Ee.to!=null&&Ee.to<it&&(it=Ee.to);var rt=new yh(Gn(this,_e,it),Ee.mode||this.modeOption,_e,this.lineSep,this.direction);return Ee.sharedHist&&(rt.history=this.history),(this.linked||(this.linked=[])).push({doc:rt,sharedHist:Ee.sharedHist}),rt.linked=[{doc:this,isParent:!0,sharedHist:Ee.sharedHist}],lp(rt,e0(this)),rt},unlinkDoc:function(Ee){if(Ee instanceof bu&&(Ee=Ee.doc),this.linked)for(var _e=0;_e<this.linked.length;++_e){var it=this.linked[_e];if(it.doc==Ee){this.linked.splice(_e,1),Ee.unlinkDoc(this),mg(e0(this));break}}if(Ee.history==this.history){var rt=[Ee.id];Ir(Ee,function(ht){return rt.push(ht.id)},!0),Ee.history=new kr(null),Ee.history.done=co(this.history.done,rt),Ee.history.undone=co(this.history.undone,rt)}},iterLinkedDocs:function(Ee){Ir(this,Ee)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(Ee){return this.lineSep?Ee.split(this.lineSep):zi(Ee)},lineSeparator:function(){return this.lineSep||`
`},setDirection:ti(function(Ee){Ee!="rtl"&&(Ee="ltr"),Ee!=this.direction&&(this.direction=Ee,this.iter(function(_e){return _e.order=null}),this.cm&&jr(this.cm))})}),yh.prototype.eachLine=yh.prototype.iter;var Jf=0;function O0(Ee){var _e=this;if(ty(_e),!($n(_e,Ee)||rh(_e.display,Ee))){di(Ee),Ke&&(Jf=+new Date);var it=cl(_e,Ee,!0),rt=Ee.dataTransfer.files;if(!(!it||_e.isReadOnly()))if(rt&&rt.length&&window.FileReader&&window.File)for(var ht=rt.length,Wt=Array(ht),sn=0,Ln=function(){++sn==ht&&si(_e,function(){it=gr(_e.doc,it);var fi={from:it,to:it,text:_e.doc.splitLines(Wt.filter(function(Mo){return Mo!=null}).join(_e.doc.lineSeparator())),origin:"paste"};ps(_e.doc,fi),Eo(_e.doc,Ot(gr(_e.doc,it),gr(_e.doc,zt(fi))))})()},Mn=function(fi,Mo){if(_e.options.allowDropFileTypes&&Dt(_e.options.allowDropFileTypes,fi.type)==-1){Ln();return}var Ro=new FileReader;Ro.onerror=function(){return Ln()},Ro.onload=function(){var ea=Ro.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(ea)){Ln();return}Wt[Mo]=ea,Ln()},Ro.readAsText(fi)},Qn=0;Qn<rt.length;Qn++)Mn(rt[Qn],Qn);else{if(_e.state.draggingText&&_e.doc.sel.contains(it)>-1){_e.state.draggingText(Ee),setTimeout(function(){return _e.display.input.focus()},20);return}try{var Wr=Ee.dataTransfer.getData("Text");if(Wr){var lr;if(_e.state.draggingText&&!_e.state.draggingText.copy&&(lr=_e.listSelections()),Va(_e.doc,Ot(it,it)),lr)for(var Si=0;Si<lr.length;++Si)Xf(_e.doc,"",lr[Si].anchor,lr[Si].head,"drag");_e.replaceSelection(Wr,"around","paste"),_e.display.input.focus()}}catch(fi){}}}}function t0(Ee,_e){if(Ke&&(!Ee.state.draggingText||+new Date-Jf<100)){fo(_e);return}if(!($n(Ee,_e)||rh(Ee.display,_e))&&(_e.dataTransfer.setData("Text",Ee.getSelection()),_e.dataTransfer.effectAllowed="copyMove",_e.dataTransfer.setDragImage&&!Ce)){var it=Ve("img",null,null,"position: fixed; left: 0; top: 0;");it.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",Ie&&(it.width=it.height=1,Ee.display.wrapper.appendChild(it),it._top=it.offsetTop),_e.dataTransfer.setDragImage(it,0,0),Ie&&it.parentNode.removeChild(it)}}function N0(Ee,_e){var it=cl(Ee,_e);if(it){var rt=document.createDocumentFragment();Xr(Ee,it,rt),Ee.display.dragCursor||(Ee.display.dragCursor=Ve("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),Ee.display.lineSpace.insertBefore(Ee.display.dragCursor,Ee.display.cursorDiv)),Ze(Ee.display.dragCursor,rt)}}function ty(Ee){Ee.display.dragCursor&&(Ee.display.lineSpace.removeChild(Ee.display.dragCursor),Ee.display.dragCursor=null)}function B0(Ee){if(document.getElementsByClassName){for(var _e=document.getElementsByClassName("CodeMirror"),it=[],rt=0;rt<_e.length;rt++){var ht=_e[rt].CodeMirror;ht&&it.push(ht)}it.length&&it[0].operation(function(){for(var Wt=0;Wt<it.length;Wt++)Ee(it[Wt])})}}var R0=!1;function ah(){R0||(Mh(),R0=!0)}function Mh(){var Ee;hn(window,"resize",function(){Ee==null&&(Ee=setTimeout(function(){Ee=null,B0(Mp)},100))}),hn(window,"blur",function(){return B0(xo)})}function Mp(Ee){var _e=Ee.display;_e.cachedCharWidth=_e.cachedTextHeight=_e.cachedPaddingH=null,_e.scrollbarsClipped=!1,Ee.setSize()}for(var _d={3:"Pause",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",145:"ScrollLock",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",224:"Mod",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},up=0;up<10;up++)_d[up+48]=_d[up+96]=String(up);for(var Lp=65;Lp<=90;Lp++)_d[Lp]=String.fromCharCode(Lp);for(var Tp=1;Tp<=12;Tp++)_d[Tp+111]=_d[Tp+63235]="F"+Tp;var Vu={};Vu.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Vu.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Vu.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Vu.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Vu.default=fe?Vu.macDefault:Vu.pcDefault;function k0(Ee){var _e=Ee.split(/-(?!$)/);Ee=_e[_e.length-1];for(var it,rt,ht,Wt,sn=0;sn<_e.length-1;sn++){var Ln=_e[sn];if(/^(cmd|meta|m)$/i.test(Ln))Wt=!0;else if(/^a(lt)?$/i.test(Ln))it=!0;else if(/^(c|ctrl|control)$/i.test(Ln))rt=!0;else if(/^s(hift)?$/i.test(Ln))ht=!0;else throw new Error("Unrecognized modifier name: "+Ln)}return it&&(Ee="Alt-"+Ee),rt&&(Ee="Ctrl-"+Ee),Wt&&(Ee="Cmd-"+Ee),ht&&(Ee="Shift-"+Ee),Ee}function n0(Ee){var _e={};for(var it in Ee)if(Ee.hasOwnProperty(it)){var rt=Ee[it];if(/^(name|fallthrough|(de|at)tach)$/.test(it))continue;if(rt=="..."){delete Ee[it];continue}for(var ht=Un(it.split(" "),k0),Wt=0;Wt<ht.length;Wt++){var sn=void 0,Ln=void 0;Wt==ht.length-1?(Ln=ht.join(" "),sn=rt):(Ln=ht.slice(0,Wt+1).join(" "),sn="...");var Mn=_e[Ln];if(!Mn)_e[Ln]=sn;else if(Mn!=sn)throw new Error("Inconsistent bindings for "+Ln)}delete Ee[it]}for(var Qn in _e)Ee[Qn]=_e[Qn];return Ee}function xd(Ee,_e,it,rt){_e=Hg(_e);var ht=_e.call?_e.call(Ee,rt):_e[Ee];if(ht===!1)return"nothing";if(ht==="...")return"multi";if(ht!=null&&it(ht))return"handled";if(_e.fallthrough){if(Object.prototype.toString.call(_e.fallthrough)!="[object Array]")return xd(Ee,_e.fallthrough,it,rt);for(var Wt=0;Wt<_e.fallthrough.length;Wt++){var sn=xd(Ee,_e.fallthrough[Wt],it,rt);if(sn)return sn}}}function r0(Ee){var _e=typeof Ee=="string"?Ee:_d[Ee.keyCode];return _e=="Ctrl"||_e=="Alt"||_e=="Shift"||_e=="Mod"}function F0(Ee,_e,it){var rt=Ee;return _e.altKey&&rt!="Alt"&&(Ee="Alt-"+Ee),(ce?_e.metaKey:_e.ctrlKey)&&rt!="Ctrl"&&(Ee="Ctrl-"+Ee),(ce?_e.ctrlKey:_e.metaKey)&&rt!="Mod"&&(Ee="Cmd-"+Ee),!it&&_e.shiftKey&&rt!="Shift"&&(Ee="Shift-"+Ee),Ee}function Cv(Ee,_e){if(Ie&&Ee.keyCode==34&&Ee.char)return!1;var it=_d[Ee.keyCode];return it==null||Ee.altGraphKey?!1:(Ee.keyCode==3&&Ee.code&&(it=Ee.code),F0(it,Ee,_e))}function Hg(Ee){return typeof Ee=="string"?Vu[Ee]:Ee}function Fh(Ee,_e){for(var it=Ee.doc.sel.ranges,rt=[],ht=0;ht<it.length;ht++){for(var Wt=_e(it[ht]);rt.length&&dn(Wt.from,an(rt).to)<=0;){var sn=rt.pop();if(dn(sn.from,Wt.from)<0){Wt.from=sn.from;break}}rt.push(Wt)}Dr(Ee,function(){for(var Ln=rt.length-1;Ln>=0;Ln--)Xf(Ee.doc,"",rt[Ln].from,rt[Ln].to,"+delete");Za(Ee)})}function _0(Ee,_e,it){var rt=_t(Ee.text,_e+it,it);return rt<0||rt>Ee.text.length?null:rt}function rc(Ee,_e,it){var rt=_0(Ee,_e.ch,it);return rt==null?null:new On(_e.line,rt,it<0?"after":"before")}function eu(Ee,_e,it,rt,ht){if(Ee){_e.doc.direction=="rtl"&&(ht=-ht);var Wt=Ht(it,_e.doc.direction);if(Wt){var sn=ht<0?an(Wt):Wt[0],Ln=ht<0==(sn.level==1),Mn=Ln?"after":"before",Qn;if(sn.level>0||_e.doc.direction=="rtl"){var Wr=ih(_e,it);Qn=ht<0?it.text.length-1:0;var lr=vh(_e,Wr,Qn).top;Qn=Jt(function(Si){return vh(_e,Wr,Si).top==lr},ht<0==(sn.level==1)?sn.from:sn.to-1,Qn),Mn=="before"&&(Qn=_0(it,Qn,1))}else Qn=ht<0?sn.to:sn.from;return new On(rt,Qn,Mn)}}return new On(rt,ht<0?it.text.length:0,ht<0?"before":"after")}function Ju(Ee,_e,it,rt){var ht=Ht(_e,Ee.doc.direction);if(!ht)return rc(_e,it,rt);it.ch>=_e.text.length?(it.ch=_e.text.length,it.sticky="before"):it.ch<=0&&(it.ch=0,it.sticky="after");var Wt=ot(ht,it.ch,it.sticky),sn=ht[Wt];if(Ee.doc.direction=="ltr"&&sn.level%2==0&&(rt>0?sn.to>it.ch:sn.from<it.ch))return rc(_e,it,rt);var Ln=function(Na,vs){return _0(_e,Na instanceof On?Na.ch:Na,vs)},Mn,Qn=function(Na){return Ee.options.lineWrapping?(Mn=Mn||ih(Ee,_e),Cl(Ee,_e,Mn,Na)):{begin:0,end:_e.text.length}},Wr=Qn(it.sticky=="before"?Ln(it,-1):it.ch);if(Ee.doc.direction=="rtl"||sn.level==1){var lr=sn.level==1==rt<0,Si=Ln(it,lr?1:-1);if(Si!=null&&(lr?Si<=sn.to&&Si<=Wr.end:Si>=sn.from&&Si>=Wr.begin)){var fi=lr?"before":"after";return new On(it.line,Si,fi)}}var Mo=function(Na,vs,Xa){for(var Ds=function(fc,_h){return _h?new On(it.line,Ln(fc,1),"before"):new On(it.line,fc,"after")};Na>=0&&Na<ht.length;Na+=vs){var hl=ht[Na],Qa=vs>0==(hl.level!=1),Ul=Qa?Xa.begin:Ln(Xa.end,-1);if(hl.from<=Ul&&Ul<hl.to||(Ul=Qa?hl.from:Ln(hl.to,-1),Xa.begin<=Ul&&Ul<Xa.end))return Ds(Ul,Qa)}},Ro=Mo(Wt+rt,rt,Wr);if(Ro)return Ro;var ea=rt>0?Wr.end:Ln(Wr.begin,-1);return ea!=null&&!(rt>0&&ea==_e.text.length)&&(Ro=Mo(rt>0?0:ht.length-1,rt,Qn(ea)),Ro)?Ro:null}var xh={selectAll:ul,singleSelection:function(Ee){return Ee.setSelection(Ee.getCursor("anchor"),Ee.getCursor("head"),Rt)},killLine:function(Ee){return Fh(Ee,function(_e){if(_e.empty()){var it=rn(Ee.doc,_e.head.line).text.length;return _e.head.ch==it&&_e.head.line<Ee.lastLine()?{from:_e.head,to:On(_e.head.line+1,0)}:{from:_e.head,to:On(_e.head.line,it)}}else return{from:_e.from(),to:_e.to()}})},deleteLine:function(Ee){return Fh(Ee,function(_e){return{from:On(_e.from().line,0),to:gr(Ee.doc,On(_e.to().line+1,0))}})},delLineLeft:function(Ee){return Fh(Ee,function(_e){return{from:On(_e.from().line,0),to:_e.from()}})},delWrappedLineLeft:function(Ee){return Fh(Ee,function(_e){var it=Ee.charCoords(_e.head,"div").top+5,rt=Ee.coordsChar({left:0,top:it},"div");return{from:rt,to:_e.from()}})},delWrappedLineRight:function(Ee){return Fh(Ee,function(_e){var it=Ee.charCoords(_e.head,"div").top+5,rt=Ee.coordsChar({left:Ee.display.lineDiv.offsetWidth+100,top:it},"div");return{from:_e.from(),to:rt}})},undo:function(Ee){return Ee.undo()},redo:function(Ee){return Ee.redo()},undoSelection:function(Ee){return Ee.undoSelection()},redoSelection:function(Ee){return Ee.redoSelection()},goDocStart:function(Ee){return Ee.extendSelection(On(Ee.firstLine(),0))},goDocEnd:function(Ee){return Ee.extendSelection(On(Ee.lastLine()))},goLineStart:function(Ee){return Ee.extendSelectionsBy(function(_e){return ad(Ee,_e.head.line)},{origin:"+move",bias:1})},goLineStartSmart:function(Ee){return Ee.extendSelectionsBy(function(_e){return i0(Ee,_e.head)},{origin:"+move",bias:1})},goLineEnd:function(Ee){return Ee.extendSelectionsBy(function(_e){return zd(Ee,_e.head.line)},{origin:"+move",bias:-1})},goLineRight:function(Ee){return Ee.extendSelectionsBy(function(_e){var it=Ee.cursorCoords(_e.head,"div").top+5;return Ee.coordsChar({left:Ee.display.lineDiv.offsetWidth+100,top:it},"div")},ln)},goLineLeft:function(Ee){return Ee.extendSelectionsBy(function(_e){var it=Ee.cursorCoords(_e.head,"div").top+5;return Ee.coordsChar({left:0,top:it},"div")},ln)},goLineLeftSmart:function(Ee){return Ee.extendSelectionsBy(function(_e){var it=Ee.cursorCoords(_e.head,"div").top+5,rt=Ee.coordsChar({left:0,top:it},"div");return rt.ch<Ee.getLine(rt.line).search(/\S/)?i0(Ee,_e.head):rt},ln)},goLineUp:function(Ee){return Ee.moveV(-1,"line")},goLineDown:function(Ee){return Ee.moveV(1,"line")},goPageUp:function(Ee){return Ee.moveV(-1,"page")},goPageDown:function(Ee){return Ee.moveV(1,"page")},goCharLeft:function(Ee){return Ee.moveH(-1,"char")},goCharRight:function(Ee){return Ee.moveH(1,"char")},goColumnLeft:function(Ee){return Ee.moveH(-1,"column")},goColumnRight:function(Ee){return Ee.moveH(1,"column")},goWordLeft:function(Ee){return Ee.moveH(-1,"word")},goGroupRight:function(Ee){return Ee.moveH(1,"group")},goGroupLeft:function(Ee){return Ee.moveH(-1,"group")},goWordRight:function(Ee){return Ee.moveH(1,"word")},delCharBefore:function(Ee){return Ee.deleteH(-1,"codepoint")},delCharAfter:function(Ee){return Ee.deleteH(1,"char")},delWordBefore:function(Ee){return Ee.deleteH(-1,"word")},delWordAfter:function(Ee){return Ee.deleteH(1,"word")},delGroupBefore:function(Ee){return Ee.deleteH(-1,"group")},delGroupAfter:function(Ee){return Ee.deleteH(1,"group")},indentAuto:function(Ee){return Ee.indentSelection("smart")},indentMore:function(Ee){return Ee.indentSelection("add")},indentLess:function(Ee){return Ee.indentSelection("subtract")},insertTab:function(Ee){return Ee.replaceSelection(" ")},insertSoftTab:function(Ee){for(var _e=[],it=Ee.listSelections(),rt=Ee.options.tabSize,ht=0;ht<it.length;ht++){var Wt=it[ht].from(),sn=xt(Ee.getLine(Wt.line),Wt.ch,rt);_e.push(er(rt-sn%rt))}Ee.replaceSelections(_e)},defaultTab:function(Ee){Ee.somethingSelected()?Ee.indentSelection("add"):Ee.execCommand("insertTab")},transposeChars:function(Ee){return Dr(Ee,function(){for(var _e=Ee.listSelections(),it=[],rt=0;rt<_e.length;rt++)if(_e[rt].empty()){var ht=_e[rt].head,Wt=rn(Ee.doc,ht.line).text;if(Wt){if(ht.ch==Wt.length&&(ht=new On(ht.line,ht.ch-1)),ht.ch>0)ht=new On(ht.line,ht.ch+1),Ee.replaceRange(Wt.charAt(ht.ch-1)+Wt.charAt(ht.ch-2),On(ht.line,ht.ch-2),ht,"+transpose");else if(ht.line>Ee.doc.first){var sn=rn(Ee.doc,ht.line-1).text;sn&&(ht=new On(ht.line,1),Ee.replaceRange(Wt.charAt(0)+Ee.doc.lineSeparator()+sn.charAt(sn.length-1),On(ht.line-1,sn.length-1),ht,"+transpose"))}}it.push(new ca(ht,ht))}Ee.setSelections(it)})},newlineAndIndent:function(Ee){return Dr(Ee,function(){for(var _e=Ee.listSelections(),it=_e.length-1;it>=0;it--)Ee.replaceRange(Ee.doc.lineSeparator(),_e[it].anchor,_e[it].head,"+input");_e=Ee.listSelections();for(var rt=0;rt<_e.length;rt++)Ee.indentLine(_e[rt].from().line,null,!0);Za(Ee)})},openLine:function(Ee){return Ee.replaceSelection(`
`,"start")},toggleOverwrite:function(Ee){return Ee.toggleOverwrite()}};function ad(Ee,_e){var it=rn(Ee.doc,_e),rt=es(it);return rt!=it&&(_e=cn(rt)),eu(!0,Ee,rt,_e,1)}function zd(Ee,_e){var it=rn(Ee.doc,_e),rt=ml(it);return rt!=it&&(_e=cn(rt)),eu(!0,Ee,it,_e,-1)}function i0(Ee,_e){var it=ad(Ee,_e.line),rt=rn(Ee.doc,it.line),ht=Ht(rt,Ee.doc.direction);if(!ht||ht[0].level==0){var Wt=Math.max(it.ch,rt.text.search(/\S/)),sn=_e.line==it.line&&_e.ch<=Wt&&_e.ch;return On(it.line,sn?0:Wt,it.sticky)}return it}function cp(Ee,_e,it){if(typeof _e=="string"&&(_e=xh[_e],!_e))return!1;Ee.display.input.ensurePolled();var rt=Ee.display.shift,ht=!1;try{Ee.isReadOnly()&&(Ee.state.suppressEdits=!0),it&&(Ee.display.shift=!1),ht=_e(Ee)!=kt}finally{Ee.display.shift=rt,Ee.state.suppressEdits=!1}return ht}function z0(Ee,_e,it){for(var rt=0;rt<Ee.state.keyMaps.length;rt++){var ht=xd(_e,Ee.state.keyMaps[rt],it,Ee);if(ht)return ht}return Ee.options.extraKeys&&xd(_e,Ee.options.extraKeys,it,Ee)||xd(_e,Ee.options.keyMap,it,Ee)}var Kc=new ct;function Sf(Ee,_e,it,rt){var ht=Ee.state.keySeq;if(ht){if(r0(_e))return"handled";if(/\'$/.test(_e)?Ee.state.keySeq=null:Kc.set(50,function(){Ee.state.keySeq==ht&&(Ee.state.keySeq=null,Ee.display.input.reset())}),Dp(Ee,ht+" "+_e,it,rt))return!0}return Dp(Ee,_e,it,rt)}function Dp(Ee,_e,it,rt){var ht=z0(Ee,_e,rt);return ht=="multi"&&(Ee.state.keySeq=_e),ht=="handled"&&jo(Ee,"keyHandled",Ee,_e,it),(ht=="handled"||ht=="multi")&&(di(it),Ci(Ee)),!!ht}function fm(Ee,_e){var it=Cv(_e,!0);return it?_e.shiftKey&&!Ee.state.keySeq?Sf(Ee,"Shift-"+it,_e,function(rt){return cp(Ee,rt,!0)})||Sf(Ee,it,_e,function(rt){if(typeof rt=="string"?/^go[A-Z]/.test(rt):rt.motion)return cp(Ee,rt)}):Sf(Ee,it,_e,function(rt){return cp(Ee,rt)}):!1}function j0(Ee,_e,it){return Sf(Ee,"'"+it+"'",_e,function(rt){return cp(Ee,rt,!0)})}var rf=null;function ny(Ee){var _e=this;if(!(Ee.target&&Ee.target!=_e.display.input.getField())&&(_e.curOp.focus=lt(),!$n(_e,Ee))){Ke&&Be<11&&Ee.keyCode==27&&(Ee.returnValue=!1);var it=Ee.keyCode;_e.display.shift=it==16||Ee.shiftKey;var rt=fm(_e,Ee);Ie&&(rf=rt?it:null,!rt&&it==88&&!Yo&&(fe?Ee.metaKey:Ee.ctrlKey)&&_e.replaceSelection("",null,"cut")),Ge&&!fe&&!rt&&it==46&&Ee.shiftKey&&!Ee.ctrlKey&&document.execCommand&&document.execCommand("cut"),it==18&&!/\bCodeMirror-crosshair\b/.test(_e.display.lineDiv.className)&&u1(_e)}}function u1(Ee){var _e=Ee.display.lineDiv;At(_e,"CodeMirror-crosshair");function it(rt){(rt.keyCode==18||!rt.altKey)&&(Le(_e,"CodeMirror-crosshair"),Jn(document,"keyup",it),Jn(document,"mouseover",it))}hn(document,"keyup",it),hn(document,"mouseover",it)}function ry(Ee){Ee.keyCode==16&&(this.doc.sel.shift=!1),$n(this,Ee)}function yg(Ee){var _e=this;if(!(Ee.target&&Ee.target!=_e.display.input.getField())&&!(rh(_e.display,Ee)||$n(_e,Ee)||Ee.ctrlKey&&!Ee.altKey||fe&&Ee.metaKey)){var it=Ee.keyCode,rt=Ee.charCode;if(Ie&&it==rf){rf=null,di(Ee);return}if(!(Ie&&(!Ee.which||Ee.which<10)&&fm(_e,Ee))){var ht=String.fromCharCode(rt==null?it:rt);ht!="\b"&&(j0(_e,Ee,ht)||_e.display.input.onKeyPress(Ee))}}}var Ix=400,c1=function(Ee,_e,it){this.time=Ee,this.pos=_e,this.button=it};c1.prototype.compare=function(Ee,_e,it){return this.time+Ix>Ee&&dn(_e,this.pos)==0&&it==this.button};var bv,o0;function iy(Ee,_e){var it=+new Date;return o0&&o0.compare(it,Ee,_e)?(bv=o0=null,"triple"):bv&&bv.compare(it,Ee,_e)?(o0=new c1(it,Ee,_e),bv=null,"double"):(bv=new c1(it,Ee,_e),o0=null,"single")}function Vg(Ee){var _e=this,it=_e.display;if(!($n(_e,Ee)||it.activeTouch&&it.input.supportsTouch())){if(it.input.ensurePolled(),it.shift=Ee.shiftKey,rh(it,Ee)){we||(it.scroller.draggable=!1,setTimeout(function(){return it.scroller.draggable=!0},100));return}if(!pl(_e,Ee)){var rt=cl(_e,Ee),ht=bo(Ee),Wt=rt?iy(rt,ht):"single";window.focus(),ht==1&&_e.state.selectingText&&_e.state.selectingText(Ee),!(rt&&h1(_e,ht,rt,Wt,Ee))&&(ht==1?rt?pm(_e,rt,Wt,Ee):Io(Ee)==it.scroller&&di(Ee):ht==2?(rt&&ni(_e.doc,rt),setTimeout(function(){return it.input.focus()},20)):ht==3&&(pe?_e.display.input.onContextMenu(Ee):Gr(_e)))}}}function h1(Ee,_e,it,rt,ht){var Wt="Click";return rt=="double"?Wt="Double"+Wt:rt=="triple"&&(Wt="Triple"+Wt),Wt=(_e==1?"Left":_e==2?"Middle":"Right")+Wt,Sf(Ee,F0(Wt,ht),ht,function(sn){if(typeof sn=="string"&&(sn=xh[sn]),!sn)return!1;var Ln=!1;try{Ee.isReadOnly()&&(Ee.state.suppressEdits=!0),Ln=sn(Ee,it)!=kt}finally{Ee.state.suppressEdits=!1}return Ln})}function gm(Ee,_e,it){var rt=Ee.getOption("configureMouse"),ht=rt?rt(Ee,_e,it):{};if(ht.unit==null){var Wt=de?it.shiftKey&&it.metaKey:it.altKey;ht.unit=Wt?"rectangle":_e=="single"?"char":_e=="double"?"word":"line"}return(ht.extend==null||Ee.doc.extend)&&(ht.extend=Ee.doc.extend||it.shiftKey),ht.addNew==null&&(ht.addNew=fe?it.metaKey:it.ctrlKey),ht.moveOnDrag==null&&(ht.moveOnDrag=!(fe?it.altKey:it.ctrlKey)),ht}function pm(Ee,_e,it,rt){Ke?setTimeout(Lt(Wi,Ee),0):Ee.curOp.focus=lt();var ht=gm(Ee,it,rt),Wt=Ee.doc.sel,sn;Ee.options.dragDrop&&ai&&!Ee.isReadOnly()&&it=="single"&&(sn=Wt.contains(_e))>-1&&(dn((sn=Wt.ranges[sn]).from(),_e)<0||_e.xRel>0)&&(dn(sn.to(),_e)>0||_e.xRel<0)?Pv(Ee,rt,_e,ht):tA(Ee,rt,_e,ht)}function Pv(Ee,_e,it,rt){var ht=Ee.display,Wt=!1,sn=si(Ee,function(Qn){we&&(ht.scroller.draggable=!1),Ee.state.draggingText=!1,Jn(ht.wrapper.ownerDocument,"mouseup",sn),Jn(ht.wrapper.ownerDocument,"mousemove",Ln),Jn(ht.scroller,"dragstart",Mn),Jn(ht.scroller,"drop",sn),Wt||(di(Qn),rt.addNew||ni(Ee.doc,it,null,null,rt.extend),we&&!Ce||Ke&&Be==9?setTimeout(function(){ht.wrapper.ownerDocument.body.focus({preventScroll:!0}),ht.input.focus()},20):ht.input.focus())}),Ln=function(Qn){Wt=Wt||Math.abs(_e.clientX-Qn.clientX)+Math.abs(_e.clientY-Qn.clientY)>=10},Mn=function(){return Wt=!0};we&&(ht.scroller.draggable=!0),Ee.state.draggingText=sn,sn.copy=!rt.moveOnDrag,ht.scroller.dragDrop&&ht.scroller.dragDrop(),hn(ht.wrapper.ownerDocument,"mouseup",sn),hn(ht.wrapper.ownerDocument,"mousemove",Ln),hn(ht.scroller,"dragstart",Mn),hn(ht.scroller,"drop",sn),Gr(Ee),setTimeout(function(){return ht.input.focus()},20)}function d1(Ee,_e,it){if(it=="char")return new ca(_e,_e);if(it=="word")return Ee.findWordAt(_e);if(it=="line")return new ca(On(_e.line,0),gr(Ee.doc,On(_e.line+1,0)));var rt=it(Ee,_e);return new ca(rt.from,rt.to)}function tA(Ee,_e,it,rt){var ht=Ee.display,Wt=Ee.doc;di(_e);var sn,Ln,Mn=Wt.sel,Qn=Mn.ranges;if(rt.addNew&&!rt.extend?(Ln=Wt.sel.contains(it),Ln>-1?sn=Qn[Ln]:sn=new ca(it,it)):(sn=Wt.sel.primary(),Ln=Wt.sel.primIndex),rt.unit=="rectangle")rt.addNew||(sn=new ca(it,it)),it=cl(Ee,_e,!0,!0),Ln=-1;else{var Wr=d1(Ee,it,rt.unit);rt.extend?sn=Oa(sn,Wr.anchor,Wr.head,rt.extend):sn=Wr}rt.addNew?Ln==-1?(Ln=Qn.length,Uo(Wt,dt(Ee,Qn.concat([sn]),Ln),{scroll:!1,origin:"*mouse"})):Qn.length>1&&Qn[Ln].empty()&&rt.unit=="char"&&!rt.extend?(Uo(Wt,dt(Ee,Qn.slice(0,Ln).concat(Qn.slice(Ln+1)),0),{scroll:!1,origin:"*mouse"}),Mn=Wt.sel):mo(Wt,Ln,sn,Gt):(Ln=0,Uo(Wt,new Es([sn],0),Gt),Mn=Wt.sel);var lr=it;function Si(Xa){if(dn(lr,Xa)!=0)if(lr=Xa,rt.unit=="rectangle"){for(var Ds=[],hl=Ee.options.tabSize,Qa=xt(rn(Wt,it.line).text,it.ch,hl),Ul=xt(rn(Wt,Xa.line).text,Xa.ch,hl),fc=Math.min(Qa,Ul),_h=Math.max(Qa,Ul),Tc=Math.min(it.line,Xa.line),Ad=Math.min(Ee.lastLine(),Math.max(it.line,Xa.line));Tc<=Ad;Tc++){var Sd=rn(Wt,Tc).text,Ah=Rn(Sd,fc,hl);fc==_h?Ds.push(new ca(On(Tc,Ah),On(Tc,Ah))):Sd.length>Ah&&Ds.push(new ca(On(Tc,Ah),On(Tc,Rn(Sd,_h,hl))))}Ds.length||Ds.push(new ca(it,it)),Uo(Wt,dt(Ee,Mn.ranges.slice(0,Ln).concat(Ds),Ln),{origin:"*mouse",scroll:!1}),Ee.scrollIntoView(Xa)}else{var Pf=sn,Jh=d1(Ee,Xa,rt.unit),Lh=Pf.anchor,Nu;dn(Jh.anchor,Lh)>0?(Nu=Jh.head,Lh=pr(Pf.from(),Jh.anchor)):(Nu=Jh.anchor,Lh=hr(Pf.to(),Jh.head));var Zc=Mn.ranges.slice(0);Zc[Ln]=xu(Ee,new ca(gr(Wt,Lh),Nu)),Uo(Wt,dt(Ee,Zc,Ln),Gt)}}var fi=ht.wrapper.getBoundingClientRect(),Mo=0;function Ro(Xa){var Ds=++Mo,hl=cl(Ee,Xa,!0,rt.unit=="rectangle");if(hl)if(dn(hl,lr)!=0){Ee.curOp.focus=lt(),Si(hl);var Qa=Ei(ht,Wt);(hl.line>=Qa.to||hl.line<Qa.from)&&setTimeout(si(Ee,function(){Mo==Ds&&Ro(Xa)}),150)}else{var Ul=Xa.clientY<fi.top?-20:Xa.clientY>fi.bottom?20:0;Ul&&setTimeout(si(Ee,function(){Mo==Ds&&(ht.scroller.scrollTop+=Ul,Ro(Xa))}),50)}}function ea(Xa){Ee.state.selectingText=!1,Mo=1/0,Xa&&(di(Xa),ht.input.focus()),Jn(ht.wrapper.ownerDocument,"mousemove",Na),Jn(ht.wrapper.ownerDocument,"mouseup",vs),Wt.history.lastSelOrigin=null}var Na=si(Ee,function(Xa){Xa.buttons===0||!bo(Xa)?ea(Xa):Ro(Xa)}),vs=si(Ee,ea);Ee.state.selectingText=vs,hn(ht.wrapper.ownerDocument,"mousemove",Na),hn(ht.wrapper.ownerDocument,"mouseup",vs)}function xu(Ee,_e){var it=_e.anchor,rt=_e.head,ht=rn(Ee.doc,it.line);if(dn(it,rt)==0&&it.sticky==rt.sticky)return _e;var Wt=Ht(ht);if(!Wt)return _e;var sn=ot(Wt,it.ch,it.sticky),Ln=Wt[sn];if(Ln.from!=it.ch&&Ln.to!=it.ch)return _e;var Mn=sn+(Ln.from==it.ch==(Ln.level!=1)?0:1);if(Mn==0||Mn==Wt.length)return _e;var Qn;if(rt.line!=it.line)Qn=(rt.line-it.line)*(Ee.doc.direction=="ltr"?1:-1)>0;else{var Wr=ot(Wt,rt.ch,rt.sticky),lr=Wr-sn||(rt.ch-it.ch)*(Ln.level==1?-1:1);Wr==Mn-1||Wr==Mn?Qn=lr<0:Qn=lr>0}var Si=Wt[Mn+(Qn?-1:0)],fi=Qn==(Si.level==1),Mo=fi?Si.from:Si.to,Ro=fi?"after":"before";return it.ch==Mo&&it.sticky==Ro?_e:new ca(new On(it.line,Mo,Ro),rt)}function _s(Ee,_e,it,rt){var ht,Wt;if(_e.touches)ht=_e.touches[0].clientX,Wt=_e.touches[0].clientY;else try{ht=_e.clientX,Wt=_e.clientY}catch(Si){return!1}if(ht>=Math.floor(Ee.display.gutters.getBoundingClientRect().right))return!1;rt&&di(_e);var sn=Ee.display,Ln=sn.lineDiv.getBoundingClientRect();if(Wt>Ln.bottom||!mr(Ee,it))return Ai(_e);Wt-=Ln.top-sn.viewOffset;for(var Mn=0;Mn<Ee.display.gutterSpecs.length;++Mn){var Qn=sn.gutters.childNodes[Mn];if(Qn&&Qn.getBoundingClientRect().right>=ht){var Wr=Yn(Ee.doc,Wt),lr=Ee.display.gutterSpecs[Mn];return An(Ee,it,Ee,Wr,lr.className,_e),Ai(_e)}}}function pl(Ee,_e){return _s(Ee,_e,"gutterClick",!0)}function fu(Ee,_e){rh(Ee.display,_e)||Lc(Ee,_e)||$n(Ee,_e,"contextmenu")||pe||Ee.display.input.onContextMenu(_e)}function Lc(Ee,_e){return mr(Ee,"gutterContextMenu")?_s(Ee,_e,"gutterContextMenu",!1):!1}function sd(Ee){Ee.display.wrapper.className=Ee.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+Ee.options.theme.replace(/(^|\s)\s*/g," cm-s-"),ku(Ee)}var ld={toString:function(){return"CodeMirror.Init"}},hp={},xg={};function W0(Ee){var _e=Ee.optionHandlers;function it(rt,ht,Wt,sn){Ee.defaults[rt]=ht,Wt&&(_e[rt]=sn?function(Ln,Mn,Qn){Qn!=ld&&Wt(Ln,Mn,Qn)}:Wt)}Ee.defineOption=it,Ee.Init=ld,it("value","",function(rt,ht){return rt.setValue(ht)},!0),it("mode",null,function(rt,ht){rt.doc.modeOption=ht,xn(rt)},!0),it("indentUnit",2,xn,!0),it("indentWithTabs",!1),it("smartIndent",!0),it("tabSize",4,function(rt){qn(rt),ku(rt),$l(rt)},!0),it("lineSeparator",null,function(rt,ht){if(rt.doc.lineSep=ht,!!ht){var Wt=[],sn=rt.doc.first;rt.doc.iter(function(Mn){for(var Qn=0;;){var Wr=Mn.text.indexOf(ht,Qn);if(Wr==-1)break;Qn=Wr+ht.length,Wt.push(On(sn,Wr))}sn++});for(var Ln=Wt.length-1;Ln>=0;Ln--)Xf(rt.doc,ht,Wt[Ln],On(Wt[Ln].line,Wt[Ln].ch+ht.length))}}),it("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200c\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,function(rt,ht,Wt){rt.state.specialChars=new RegExp(ht.source+(ht.test(" ")?"":"| "),"g"),Wt!=ld&&rt.refresh()}),it("specialCharPlaceholder",Su,function(rt){return rt.refresh()},!0),it("electricChars",!0),it("inputStyle",ae?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),it("spellcheck",!1,function(rt,ht){return rt.getInputField().spellcheck=ht},!0),it("autocorrect",!1,function(rt,ht){return rt.getInputField().autocorrect=ht},!0),it("autocapitalize",!1,function(rt,ht){return rt.getInputField().autocapitalize=ht},!0),it("rtlMoveVisually",!ve),it("wholeLineUpdateBefore",!0),it("theme","default",function(rt){sd(rt),ga(rt)},!0),it("keyMap","default",function(rt,ht,Wt){var sn=Hg(ht),Ln=Wt!=ld&&Hg(Wt);Ln&&Ln.detach&&Ln.detach(rt,sn),sn.attach&&sn.attach(rt,Ln||null)}),it("extraKeys",null),it("configureMouse",null),it("lineWrapping",!1,Eg,!0),it("gutters",[],function(rt,ht){rt.display.gutterSpecs=Ia(ht,rt.options.lineNumbers),ga(rt)},!0),it("fixedGutter",!0,function(rt,ht){rt.display.gutters.style.left=ht?sp(rt.display)+"px":"0",rt.refresh()},!0),it("coverGutterNextToScrollbar",!1,function(rt){return ll(rt)},!0),it("scrollbarStyle","native",function(rt){yu(rt),ll(rt),rt.display.scrollbars.setScrollTop(rt.doc.scrollTop),rt.display.scrollbars.setScrollLeft(rt.doc.scrollLeft)},!0),it("lineNumbers",!1,function(rt,ht){rt.display.gutterSpecs=Ia(rt.options.gutters,ht),ga(rt)},!0),it("firstLineNumber",1,ga,!0),it("lineNumberFormatter",function(rt){return rt},ga,!0),it("showCursorWhenSelecting",!1,Ar,!0),it("resetSelectionOnContextMenu",!0),it("lineWiseCopyCut",!0),it("pasteLinesPerSelection",!0),it("selectionsMayTouch",!1),it("readOnly",!1,function(rt,ht){ht=="nocursor"&&(xo(rt),rt.display.input.blur()),rt.display.input.readOnlyChanged(ht)}),it("screenReaderLabel",null,function(rt,ht){ht=ht===""?null:ht,rt.display.input.screenReaderLabelChanged(ht)}),it("disableInput",!1,function(rt,ht){ht||rt.display.input.reset()},!0),it("dragDrop",!0,Kg),it("allowDropFileTypes",null),it("cursorBlinkRate",530),it("cursorScrollMargin",0),it("cursorHeight",1,Ar,!0),it("singleCursorHeightPerLine",!0,Ar,!0),it("workTime",100),it("workDelay",100),it("flattenSpans",!0,qn,!0),it("addModeClass",!1,qn,!0),it("pollInterval",100),it("undoDepth",200,function(rt,ht){return rt.doc.history.undoDepth=ht}),it("historyEventDelay",1250),it("viewportMargin",10,function(rt){return rt.refresh()},!0),it("maxHighlightLength",1e4,qn,!0),it("moveInputWithCursor",!0,function(rt,ht){ht||rt.display.input.resetPosition()}),it("tabindex",null,function(rt,ht){return rt.display.input.getField().tabIndex=ht||""}),it("autofocus",null),it("direction","ltr",function(rt,ht){return rt.doc.setDirection(ht)},!0),it("phrases",null)}function Kg(Ee,_e,it){var rt=it&&it!=ld;if(!_e!=!rt){var ht=Ee.display.dragFunctions,Wt=_e?hn:Jn;Wt(Ee.display.scroller,"dragstart",ht.start),Wt(Ee.display.scroller,"dragenter",ht.enter),Wt(Ee.display.scroller,"dragover",ht.over),Wt(Ee.display.scroller,"dragleave",ht.leave),Wt(Ee.display.scroller,"drop",ht.drop)}}function Eg(Ee){Ee.options.lineWrapping?(At(Ee.display.wrapper,"CodeMirror-wrap"),Ee.display.sizer.style.minWidth="",Ee.display.sizerWidth=null):(Le(Ee.display.wrapper,"CodeMirror-wrap"),Ki(Ee)),Ps(Ee),$l(Ee),ku(Ee),setTimeout(function(){return ll(Ee)},100)}function bu(Ee,_e){var it=this;if(!(this instanceof bu))return new bu(Ee,_e);this.options=_e=_e?St(_e):{},St(hp,_e,!1);var rt=_e.value;typeof rt=="string"?rt=new yh(rt,_e.mode,null,_e.lineSeparator,_e.direction):_e.mode&&(rt.modeOption=_e.mode),this.doc=rt;var ht=new bu.inputStyles[_e.inputStyle](this),Wt=this.display=new Wa(Ee,rt,ht,_e);Wt.wrapper.CodeMirror=this,sd(this),_e.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),yu(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new ct,keySeq:null,specialChars:null},_e.autofocus&&!ae&&Wt.input.focus(),Ke&&Be<11&&setTimeout(function(){return it.display.input.reset(!0)},20),oy(this),ah(),bl(this),this.curOp.forceUpdate=!0,Er(this,rt),_e.autofocus&&!ae||this.hasFocus()?setTimeout(function(){it.hasFocus()&&!it.state.focused&&_i(it)},20):xo(this);for(var sn in xg)xg.hasOwnProperty(sn)&&xg[sn](this,_e[sn],ld);ya(this),_e.finishInit&&_e.finishInit(this);for(var Ln=0;Ln<vm.length;++Ln)vm[Ln](this);_u(this),we&&_e.lineWrapping&&getComputedStyle(Wt.lineDiv).textRendering=="optimizelegibility"&&(Wt.lineDiv.style.textRendering="auto")}bu.defaults=hp,bu.optionHandlers=xg;function oy(Ee){var _e=Ee.display;hn(_e.scroller,"mousedown",si(Ee,Vg)),Ke&&Be<11?hn(_e.scroller,"dblclick",si(Ee,function(Mn){if(!$n(Ee,Mn)){var Qn=cl(Ee,Mn);if(!(!Qn||pl(Ee,Mn)||rh(Ee.display,Mn))){di(Mn);var Wr=Ee.findWordAt(Qn);ni(Ee.doc,Wr.anchor,Wr.head)}}})):hn(_e.scroller,"dblclick",function(Mn){return $n(Ee,Mn)||di(Mn)}),hn(_e.scroller,"contextmenu",function(Mn){return fu(Ee,Mn)}),hn(_e.input.getField(),"contextmenu",function(Mn){_e.scroller.contains(Mn.target)||fu(Ee,Mn)});var it,rt={end:0};function ht(){_e.activeTouch&&(it=setTimeout(function(){return _e.activeTouch=null},1e3),rt=_e.activeTouch,rt.end=+new Date)}function Wt(Mn){if(Mn.touches.length!=1)return!1;var Qn=Mn.touches[0];return Qn.radiusX<=1&&Qn.radiusY<=1}function sn(Mn,Qn){if(Qn.left==null)return!0;var Wr=Qn.left-Mn.left,lr=Qn.top-Mn.top;return Wr*Wr+lr*lr>20*20}hn(_e.scroller,"touchstart",function(Mn){if(!$n(Ee,Mn)&&!Wt(Mn)&&!pl(Ee,Mn)){_e.input.ensurePolled(),clearTimeout(it);var Qn=+new Date;_e.activeTouch={start:Qn,moved:!1,prev:Qn-rt.end<=300?rt:null},Mn.touches.length==1&&(_e.activeTouch.left=Mn.touches[0].pageX,_e.activeTouch.top=Mn.touches[0].pageY)}}),hn(_e.scroller,"touchmove",function(){_e.activeTouch&&(_e.activeTouch.moved=!0)}),hn(_e.scroller,"touchend",function(Mn){var Qn=_e.activeTouch;if(Qn&&!rh(_e,Mn)&&Qn.left!=null&&!Qn.moved&&new Date-Qn.start<300){var Wr=Ee.coordsChar(_e.activeTouch,"page"),lr;!Qn.prev||sn(Qn,Qn.prev)?lr=new ca(Wr,Wr):!Qn.prev.prev||sn(Qn,Qn.prev.prev)?lr=Ee.findWordAt(Wr):lr=new ca(On(Wr.line,0),gr(Ee.doc,On(Wr.line+1,0))),Ee.setSelection(lr.anchor,lr.head),Ee.focus(),di(Mn)}ht()}),hn(_e.scroller,"touchcancel",ht),hn(_e.scroller,"scroll",function(){_e.scroller.clientHeight&&(fs(Ee,_e.scroller.scrollTop),zl(Ee,_e.scroller.scrollLeft,!0),An(Ee,"scroll",Ee))}),hn(_e.scroller,"mousewheel",function(Mn){return Po(Ee,Mn)}),hn(_e.scroller,"DOMMouseScroll",function(Mn){return Po(Ee,Mn)}),hn(_e.wrapper,"scroll",function(){return _e.wrapper.scrollTop=_e.wrapper.scrollLeft=0}),_e.dragFunctions={enter:function(Mn){$n(Ee,Mn)||fo(Mn)},over:function(Mn){$n(Ee,Mn)||(N0(Ee,Mn),fo(Mn))},start:function(Mn){return t0(Ee,Mn)},drop:si(Ee,O0),leave:function(Mn){$n(Ee,Mn)||ty(Ee)}};var Ln=_e.input.getField();hn(Ln,"keyup",function(Mn){return ry.call(Ee,Mn)}),hn(Ln,"keydown",si(Ee,ny)),hn(Ln,"keypress",si(Ee,yg)),hn(Ln,"focus",function(Mn){return _i(Ee,Mn)}),hn(Ln,"blur",function(Mn){return xo(Ee,Mn)})}var vm=[];bu.defineInitHook=function(Ee){return vm.push(Ee)};function Qh(Ee,_e,it,rt){var ht=Ee.doc,Wt;it==null&&(it="add"),it=="smart"&&(ht.mode.indent?Wt=Zi(Ee,_e).state:it="prev");var sn=Ee.options.tabSize,Ln=rn(ht,_e),Mn=xt(Ln.text,null,sn);Ln.stateAfter&&(Ln.stateAfter=null);var Qn=Ln.text.match(/^\s*/)[0],Wr;if(!rt&&!/\S/.test(Ln.text))Wr=0,it="not";else if(it=="smart"&&(Wr=ht.mode.indent(Wt,Ln.text.slice(Qn.length),Ln.text),Wr==kt||Wr>150)){if(!rt)return;it="prev"}it=="prev"?_e>ht.first?Wr=xt(rn(ht,_e-1).text,null,sn):Wr=0:it=="add"?Wr=Mn+Ee.options.indentUnit:it=="subtract"?Wr=Mn-Ee.options.indentUnit:typeof it=="number"&&(Wr=Mn+it),Wr=Math.max(0,Wr);var lr="",Si=0;if(Ee.options.indentWithTabs)for(var fi=Math.floor(Wr/sn);fi;--fi)Si+=sn,lr+=" ";if(Si<Wr&&(lr+=er(Wr-Si)),lr!=Qn)return Xf(ht,lr,On(_e,0),On(_e,Qn.length),"+input"),Ln.stateAfter=null,!0;for(var Mo=0;Mo<ht.sel.ranges.length;Mo++){var Ro=ht.sel.ranges[Mo];if(Ro.head.line==_e&&Ro.head.ch<Qn.length){var ea=On(_e,Qn.length);mo(ht,Mo,new ca(ea,ea));break}}}var wf=null;function mm(Ee){wf=Ee}function f1(Ee,_e,it,rt,ht){var Wt=Ee.doc;Ee.display.shift=!1,rt||(rt=Wt.sel);var sn=+new Date-200,Ln=ht=="paste"||Ee.state.pasteIncoming>sn,Mn=zi(_e),Qn=null;if(Ln&&rt.ranges.length>1)if(wf&&wf.text.join(`
`)==_e){if(rt.ranges.length%wf.text.length==0){Qn=[];for(var Wr=0;Wr<wf.text.length;Wr++)Qn.push(Wt.splitLines(wf.text[Wr]))}}else Mn.length==rt.ranges.length&&Ee.options.pasteLinesPerSelection&&(Qn=Un(Mn,function(Na){return[Na]}));for(var lr=Ee.curOp.updateInput,Si=rt.ranges.length-1;Si>=0;Si--){var fi=rt.ranges[Si],Mo=fi.from(),Ro=fi.to();fi.empty()&&(it&&it>0?Mo=On(Mo.line,Mo.ch-it):Ee.state.overwrite&&!Ln?Ro=On(Ro.line,Math.min(rn(Wt,Ro.line).text.length,Ro.ch+an(Mn).length)):Ln&&wf&&wf.lineWise&&wf.text.join(`
`)==Mn.join(`
`)&&(Mo=Ro=On(Mo.line,0)));var ea={from:Mo,to:Ro,text:Qn?Qn[Si%Qn.length]:Mn,origin:ht||(Ln?"paste":Ee.state.cutIncoming>sn?"cut":"+input")};ps(Ee.doc,ea),jo(Ee,"inputRead",Ee,ea)}_e&&!Ln&&g1(Ee,_e),Za(Ee),Ee.curOp.updateInput<2&&(Ee.curOp.updateInput=lr),Ee.curOp.typing=!0,Ee.state.pasteIncoming=Ee.state.cutIncoming=-1}function vc(Ee,_e){var it=Ee.clipboardData&&Ee.clipboardData.getData("Text");if(it)return Ee.preventDefault(),!_e.isReadOnly()&&!_e.options.disableInput&&Dr(_e,function(){return f1(_e,it,0,null,"paste")}),!0}function g1(Ee,_e){if(!(!Ee.options.electricChars||!Ee.options.smartIndent))for(var it=Ee.doc.sel,rt=it.ranges.length-1;rt>=0;rt--){var ht=it.ranges[rt];if(!(ht.head.ch>100||rt&&it.ranges[rt-1].head.line==ht.head.line)){var Wt=Ee.getModeAt(ht.head),sn=!1;if(Wt.electricChars){for(var Ln=0;Ln<Wt.electricChars.length;Ln++)if(_e.indexOf(Wt.electricChars.charAt(Ln))>-1){sn=Qh(Ee,ht.head.line,"smart");break}}else Wt.electricInput&&Wt.electricInput.test(rn(Ee.doc,ht.head.line).text.slice(0,ht.head.ch))&&(sn=Qh(Ee,ht.head.line,"smart"));sn&&jo(Ee,"electricInput",Ee,ht.head.line)}}}function U0(Ee){for(var _e=[],it=[],rt=0;rt<Ee.doc.sel.ranges.length;rt++){var ht=Ee.doc.sel.ranges[rt].head.line,Wt={anchor:On(ht,0),head:On(ht+1,0)};it.push(Wt),_e.push(Ee.getRange(Wt.anchor,Wt.head))}return{text:_e,ranges:it}}function p1(Ee,_e,it,rt){Ee.setAttribute("autocorrect",it?"":"off"),Ee.setAttribute("autocapitalize",rt?"":"off"),Ee.setAttribute("spellcheck",!!_e)}function ay(){var Ee=Ve("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"),_e=Ve("div",[Ee],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return we?Ee.style.width="1000px":Ee.setAttribute("wrap","off"),ye&&(Ee.style.border="1px solid black"),p1(Ee),_e}function Cf(Ee){var _e=Ee.optionHandlers,it=Ee.helpers={};Ee.prototype={constructor:Ee,focus:function(){window.focus(),this.display.input.focus()},setOption:function(rt,ht){var Wt=this.options,sn=Wt[rt];Wt[rt]==ht&&rt!="mode"||(Wt[rt]=ht,_e.hasOwnProperty(rt)&&si(this,_e[rt])(this,ht,sn),An(this,"optionChange",this,rt))},getOption:function(rt){return this.options[rt]},getDoc:function(){return this.doc},addKeyMap:function(rt,ht){this.state.keyMaps[ht?"push":"unshift"](Hg(rt))},removeKeyMap:function(rt){for(var ht=this.state.keyMaps,Wt=0;Wt<ht.length;++Wt)if(ht[Wt]==rt||ht[Wt].name==rt)return ht.splice(Wt,1),!0},addOverlay:oi(function(rt,ht){var Wt=rt.token?rt:Ee.getMode(this.options,rt);if(Wt.startState)throw new Error("Overlays may not be stateful.");Kn(this.state.overlays,{mode:Wt,modeSpec:rt,opaque:ht&&ht.opaque,priority:ht&&ht.priority||0},function(sn){return sn.priority}),this.state.modeGen++,$l(this)}),removeOverlay:oi(function(rt){for(var ht=this.state.overlays,Wt=0;Wt<ht.length;++Wt){var sn=ht[Wt].modeSpec;if(sn==rt||typeof rt=="string"&&sn.name==rt){ht.splice(Wt,1),this.state.modeGen++,$l(this);return}}}),indentLine:oi(function(rt,ht,Wt){typeof ht!="string"&&typeof ht!="number"&&(ht==null?ht=this.options.smartIndent?"smart":"prev":ht=ht?"add":"subtract"),ir(this.doc,rt)&&Qh(this,rt,ht,Wt)}),indentSelection:oi(function(rt){for(var ht=this.doc.sel.ranges,Wt=-1,sn=0;sn<ht.length;sn++){var Ln=ht[sn];if(Ln.empty())Ln.head.line>Wt&&(Qh(this,Ln.head.line,rt,!0),Wt=Ln.head.line,sn==this.doc.sel.primIndex&&Za(this));else{var Mn=Ln.from(),Qn=Ln.to(),Wr=Math.max(Wt,Mn.line);Wt=Math.min(this.lastLine(),Qn.line-(Qn.ch?0:1))+1;for(var lr=Wr;lr<Wt;++lr)Qh(this,lr,rt);var Si=this.doc.sel.ranges;Mn.ch==0&&ht.length==Si.length&&Si[sn].from().ch>0&&mo(this.doc,sn,new ca(Mn,Si[sn].to()),Rt)}}}),getTokenAt:function(rt,ht){return Ao(this,rt,ht)},getLineTokens:function(rt,ht){return Ao(this,On(rt),ht,!0)},getTokenTypeAt:function(rt){rt=gr(this.doc,rt);var ht=gi(this,rn(this.doc,rt.line)),Wt=0,sn=(ht.length-1)/2,Ln=rt.ch,Mn;if(Ln==0)Mn=ht[2];else for(;;){var Qn=Wt+sn>>1;if((Qn?ht[Qn*2-1]:0)>=Ln)sn=Qn;else if(ht[Qn*2+1]<Ln)Wt=Qn+1;else{Mn=ht[Qn*2+2];break}}var Wr=Mn?Mn.indexOf("overlay "):-1;return Wr<0?Mn:Wr==0?null:Mn.slice(0,Wr-1)},getModeAt:function(rt){var ht=this.doc.mode;return ht.innerMode?Ee.innerMode(ht,this.getTokenAt(rt).state).mode:ht},getHelper:function(rt,ht){return this.getHelpers(rt,ht)[0]},getHelpers:function(rt,ht){var Wt=[];if(!it.hasOwnProperty(ht))return Wt;var sn=it[ht],Ln=this.getModeAt(rt);if(typeof Ln[ht]=="string")sn[Ln[ht]]&&Wt.push(sn[Ln[ht]]);else if(Ln[ht])for(var Mn=0;Mn<Ln[ht].length;Mn++){var Qn=sn[Ln[ht][Mn]];Qn&&Wt.push(Qn)}else Ln.helperType&&sn[Ln.helperType]?Wt.push(sn[Ln.helperType]):sn[Ln.name]&&Wt.push(sn[Ln.name]);for(var Wr=0;Wr<sn._global.length;Wr++){var lr=sn._global[Wr];lr.pred(Ln,this)&&Dt(Wt,lr.val)==-1&&Wt.push(lr.val)}return Wt},getStateAfter:function(rt,ht){var Wt=this.doc;return rt=Mr(Wt,rt==null?Wt.first+Wt.size-1:rt),Zi(this,rt+1,ht).state},cursorCoords:function(rt,ht){var Wt,sn=this.doc.sel.primary();return rt==null?Wt=sn.head:typeof rt=="object"?Wt=gr(this.doc,rt):Wt=rt?sn.from():sn.to(),Iu(this,Wt,ht||"page")},charCoords:function(rt,ht){return Qu(this,gr(this.doc,rt),ht||"page")},coordsChar:function(rt,ht){return rt=tf(this,rt,ht||"page"),Kf(this,rt.left,rt.top)},lineAtHeight:function(rt,ht){return rt=tf(this,{top:rt,left:0},ht||"page").top,Yn(this.doc,rt+this.display.viewOffset)},heightAtLine:function(rt,ht,Wt){var sn=!1,Ln;if(typeof rt=="number"){var Mn=this.doc.first+this.doc.size-1;rt<this.doc.first?rt=this.doc.first:rt>Mn&&(rt=Mn,sn=!0),Ln=rn(this.doc,rt)}else Ln=rt;return Fu(this,Ln,{top:0,left:0},ht||"page",Wt||sn).top+(sn?this.doc.height-sl(Ln):0)},defaultTextHeight:function(){return Fd(this.display)},defaultCharWidth:function(){return nf(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(rt,ht,Wt,sn,Ln){var Mn=this.display;rt=Iu(this,gr(this.doc,rt));var Qn=rt.bottom,Wr=rt.left;if(ht.style.position="absolute",ht.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(ht),Mn.sizer.appendChild(ht),sn=="over")Qn=rt.top;else if(sn=="above"||sn=="near"){var lr=Math.max(Mn.wrapper.clientHeight,this.doc.height),Si=Math.max(Mn.sizer.clientWidth,Mn.lineSpace.clientWidth);(sn=="above"||rt.bottom+ht.offsetHeight>lr)&&rt.top>ht.offsetHeight?Qn=rt.top-ht.offsetHeight:rt.bottom+ht.offsetHeight<=lr&&(Qn=rt.bottom),Wr+ht.offsetWidth>Si&&(Wr=Si-ht.offsetWidth)}ht.style.top=Qn+"px",ht.style.left=ht.style.right="",Ln=="right"?(Wr=Mn.sizer.clientWidth-ht.offsetWidth,ht.style.right="0px"):(Ln=="left"?Wr=0:Ln=="middle"&&(Wr=(Mn.sizer.clientWidth-ht.offsetWidth)/2),ht.style.left=Wr+"px"),Wt&&ba(this,{left:Wr,top:Qn,right:Wr+ht.offsetWidth,bottom:Qn+ht.offsetHeight})},triggerOnKeyDown:oi(ny),triggerOnKeyPress:oi(yg),triggerOnKeyUp:ry,triggerOnMouseDown:oi(Vg),execCommand:function(rt){if(xh.hasOwnProperty(rt))return xh[rt].call(null,this)},triggerElectric:oi(function(rt){g1(this,rt)}),findPosH:function(rt,ht,Wt,sn){var Ln=1;ht<0&&(Ln=-1,ht=-ht);for(var Mn=gr(this.doc,rt),Qn=0;Qn<ht&&(Mn=ym(this.doc,Mn,Ln,Wt,sn),!Mn.hitSide);++Qn);return Mn},moveH:oi(function(rt,ht){var Wt=this;this.extendSelectionsBy(function(sn){return Wt.display.shift||Wt.doc.extend||sn.empty()?ym(Wt.doc,sn.head,rt,ht,Wt.options.rtlMoveVisually):rt<0?sn.from():sn.to()},ln)}),deleteH:oi(function(rt,ht){var Wt=this.doc.sel,sn=this.doc;Wt.somethingSelected()?sn.replaceSelection("",null,"+delete"):Fh(this,function(Ln){var Mn=ym(sn,Ln.head,rt,ht,!1);return rt<0?{from:Mn,to:Ln.head}:{from:Ln.head,to:Mn}})}),findPosV:function(rt,ht,Wt,sn){var Ln=1,Mn=sn;ht<0&&(Ln=-1,ht=-ht);for(var Qn=gr(this.doc,rt),Wr=0;Wr<ht;++Wr){var lr=Iu(this,Qn,"div");if(Mn==null?Mn=lr.left:lr.left=Mn,Qn=jd(this,lr,Ln,Wt),Qn.hitSide)break}return Qn},moveV:oi(function(rt,ht){var Wt=this,sn=this.doc,Ln=[],Mn=!this.display.shift&&!sn.extend&&sn.sel.somethingSelected();if(sn.extendSelectionsBy(function(Wr){if(Mn)return rt<0?Wr.from():Wr.to();var lr=Iu(Wt,Wr.head,"div");Wr.goalColumn!=null&&(lr.left=Wr.goalColumn),Ln.push(lr.left);var Si=jd(Wt,lr,rt,ht);return ht=="page"&&Wr==sn.sel.primary()&&Pa(Wt,Qu(Wt,Si,"div").top-lr.top),Si},ln),Ln.length)for(var Qn=0;Qn<sn.sel.ranges.length;Qn++)sn.sel.ranges[Qn].goalColumn=Ln[Qn]}),findWordAt:function(rt){var ht=this.doc,Wt=rn(ht,rt.line).text,sn=rt.ch,Ln=rt.ch;if(Wt){var Mn=this.getHelper(rt,"wordChars");(rt.sticky=="before"||Ln==Wt.length)&&sn?--sn:++Ln;for(var Qn=Wt.charAt(sn),Wr=un(Qn,Mn)?function(lr){return un(lr,Mn)}:/\s/.test(Qn)?function(lr){return/\s/.test(lr)}:function(lr){return!/\s/.test(lr)&&!un(lr)};sn>0&&Wr(Wt.charAt(sn-1));)--sn;for(;Ln<Wt.length&&Wr(Wt.charAt(Ln));)++Ln}return new ca(On(rt.line,sn),On(rt.line,Ln))},toggleOverwrite:function(rt){rt!=null&&rt==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?At(this.display.cursorDiv,"CodeMirror-overwrite"):Le(this.display.cursorDiv,"CodeMirror-overwrite"),An(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==lt()},isReadOnly:function(){return!!(this.options.readOnly||this.doc.cantEdit)},scrollTo:oi(function(rt,ht){Ga(this,rt,ht)}),getScrollInfo:function(){var rt=this.display.scroller;return{left:rt.scrollLeft,top:rt.scrollTop,height:rt.scrollHeight-Gc(this)-this.display.barHeight,width:rt.scrollWidth-Gc(this)-this.display.barWidth,clientHeight:yf(this),clientWidth:Hc(this)}},scrollIntoView:oi(function(rt,ht){rt==null?(rt={from:this.doc.sel.primary().head,to:null},ht==null&&(ht=this.options.cursorScrollMargin)):typeof rt=="number"?rt={from:On(rt,0),to:null}:rt.from==null&&(rt={from:rt,to:null}),rt.to||(rt.to=rt.from),rt.margin=ht||0,rt.from.line!=null?Fo(this,rt):Qs(this,rt.from,rt.to,rt.margin)}),setSize:oi(function(rt,ht){var Wt=this,sn=function(Mn){return typeof Mn=="number"||/^\d+$/.test(String(Mn))?Mn+"px":Mn};rt!=null&&(this.display.wrapper.style.width=sn(rt)),ht!=null&&(this.display.wrapper.style.height=sn(ht)),this.options.lineWrapping&&Tu(this);var Ln=this.display.viewFrom;this.doc.iter(Ln,this.display.viewTo,function(Mn){if(Mn.widgets){for(var Qn=0;Qn<Mn.widgets.length;Qn++)if(Mn.widgets[Qn].noHScroll){xl(Wt,Ln,"widget");break}}++Ln}),this.curOp.forceUpdate=!0,An(this,"refresh",this)}),operation:function(rt){return Dr(this,rt)},startOperation:function(){return bl(this)},endOperation:function(){return _u(this)},refresh:oi(function(){var rt=this.display.cachedTextHeight;$l(this),this.curOp.forceUpdate=!0,ku(this),Ga(this,this.doc.scrollLeft,this.doc.scrollTop),na(this.display),(rt==null||Math.abs(rt-Fd(this.display))>.5||this.options.lineWrapping)&&Ps(this),An(this,"refresh",this)}),swapDoc:oi(function(rt){var ht=this.doc;return ht.cm=null,this.state.selectingText&&this.state.selectingText(),Er(this,rt),ku(this),this.display.input.reset(),Ga(this,rt.scrollLeft,rt.scrollTop),this.curOp.forceScroll=!0,jo(this,"swapDoc",this,ht),ht}),phrase:function(rt){var ht=this.options.phrases;return ht&&Object.prototype.hasOwnProperty.call(ht,rt)?ht[rt]:rt},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Qr(Ee),Ee.registerHelper=function(rt,ht,Wt){it.hasOwnProperty(rt)||(it[rt]=Ee[rt]={_global:[]}),it[rt][ht]=Wt},Ee.registerGlobalHelper=function(rt,ht,Wt,sn){Ee.registerHelper(rt,ht,sn),it[rt]._global.push({pred:Wt,val:sn})}}function ym(Ee,_e,it,rt,ht){var Wt=_e,sn=it,Ln=rn(Ee,_e.line),Mn=ht&&Ee.direction=="rtl"?-it:it;function Qn(){var vs=_e.line+Mn;return vs<Ee.first||vs>=Ee.first+Ee.size?!1:(_e=new On(vs,_e.ch,_e.sticky),Ln=rn(Ee,vs))}function Wr(vs){var Xa;if(rt=="codepoint"){var Ds=Ln.text.charCodeAt(_e.ch+(rt>0?0:-1));isNaN(Ds)?Xa=null:Xa=new On(_e.line,Math.max(0,Math.min(Ln.text.length,_e.ch+it*(Ds>=55296&&Ds<56320?2:1))),-it)}else ht?Xa=Ju(Ee.cm,Ln,_e,it):Xa=rc(Ln,_e,it);if(Xa==null)if(!vs&&Qn())_e=eu(ht,Ee.cm,Ln,_e.line,Mn);else return!1;else _e=Xa;return!0}if(rt=="char"||rt=="codepoint")Wr();else if(rt=="column")Wr(!0);else if(rt=="word"||rt=="group")for(var lr=null,Si=rt=="group",fi=Ee.cm&&Ee.cm.getHelper(_e,"wordChars"),Mo=!0;!(it<0&&!Wr(!Mo));Mo=!1){var Ro=Ln.text.charAt(_e.ch)||`
`,ea=un(Ro,fi)?"w":Si&&Ro==`
`?"n":!Si||/\s/.test(Ro)?null:"p";if(Si&&!Mo&&!ea&&(ea="s"),lr&&lr!=ea){it<0&&(it=1,Wr(),_e.sticky="after");break}if(ea&&(lr=ea),it>0&&!Wr(!Mo))break}var Na=Xl(Ee,_e,Wt,sn,!0);return Bn(Wt,Na)&&(Na.hitSide=!0),Na}function jd(Ee,_e,it,rt){var ht=Ee.doc,Wt=_e.left,sn;if(rt=="page"){var Ln=Math.min(Ee.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),Mn=Math.max(Ln-.5*Fd(Ee.display),3);sn=(it>0?_e.bottom:_e.top)+it*Mn}else rt=="line"&&(sn=it>0?_e.bottom+3:_e.top-3);for(var Qn;Qn=Kf(Ee,Wt,sn),!!Qn.outside;){if(it<0?sn<=0:sn>=ht.height){Qn.hitSide=!0;break}sn+=it*5}return Qn}var ic=function(Ee){this.cm=Ee,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new ct,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};ic.prototype.init=function(Ee){var _e=this,it=this,rt=it.cm,ht=it.div=Ee.lineDiv;p1(ht,rt.options.spellcheck,rt.options.autocorrect,rt.options.autocapitalize);function Wt(Ln){for(var Mn=Ln.target;Mn;Mn=Mn.parentNode){if(Mn==ht)return!0;if(/\bCodeMirror-(?:line)?widget\b/.test(Mn.className))break}return!1}hn(ht,"paste",function(Ln){!Wt(Ln)||$n(rt,Ln)||vc(Ln,rt)||Be<=11&&setTimeout(si(rt,function(){return _e.updateFromDOM()}),20)}),hn(ht,"compositionstart",function(Ln){_e.composing={data:Ln.data,done:!1}}),hn(ht,"compositionupdate",function(Ln){_e.composing||(_e.composing={data:Ln.data,done:!1})}),hn(ht,"compositionend",function(Ln){_e.composing&&(Ln.data!=_e.composing.data&&_e.readFromDOMSoon(),_e.composing.done=!0)}),hn(ht,"touchstart",function(){return it.forceCompositionEnd()}),hn(ht,"input",function(){_e.composing||_e.readFromDOMSoon()});function sn(Ln){if(!(!Wt(Ln)||$n(rt,Ln))){if(rt.somethingSelected())mm({lineWise:!1,text:rt.getSelections()}),Ln.type=="cut"&&rt.replaceSelection("",null,"cut");else if(rt.options.lineWiseCopyCut){var Mn=U0(rt);mm({lineWise:!0,text:Mn.text}),Ln.type=="cut"&&rt.operation(function(){rt.setSelections(Mn.ranges,0,Rt),rt.replaceSelection("",null,"cut")})}else return;if(Ln.clipboardData){Ln.clipboardData.clearData();var Qn=wf.text.join(`
`);if(Ln.clipboardData.setData("Text",Qn),Ln.clipboardData.getData("Text")==Qn){Ln.preventDefault();return}}var Wr=ay(),lr=Wr.firstChild;rt.display.lineSpace.insertBefore(Wr,rt.display.lineSpace.firstChild),lr.value=wf.text.join(`
`);var Si=document.activeElement;vt(lr),setTimeout(function(){rt.display.lineSpace.removeChild(Wr),Si.focus(),Si==ht&&it.showPrimarySelection()},50)}}hn(ht,"copy",sn),hn(ht,"cut",sn)},ic.prototype.screenReaderLabelChanged=function(Ee){Ee?this.div.setAttribute("aria-label",Ee):this.div.removeAttribute("aria-label")},ic.prototype.prepareSelection=function(){var Ee=Pr(this.cm,!1);return Ee.focus=document.activeElement==this.div,Ee},ic.prototype.showSelection=function(Ee,_e){!Ee||!this.cm.display.view.length||((Ee.focus||_e)&&this.showPrimarySelection(),this.showMultipleSelections(Ee))},ic.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},ic.prototype.showPrimarySelection=function(){var Ee=this.getSelection(),_e=this.cm,it=_e.doc.sel.primary(),rt=it.from(),ht=it.to();if(_e.display.viewTo==_e.display.viewFrom||rt.line>=_e.display.viewTo||ht.line<_e.display.viewFrom){Ee.removeAllRanges();return}var Wt=ly(_e,Ee.anchorNode,Ee.anchorOffset),sn=ly(_e,Ee.focusNode,Ee.focusOffset);if(!(Wt&&!Wt.bad&&sn&&!sn.bad&&dn(pr(Wt,sn),rt)==0&&dn(hr(Wt,sn),ht)==0)){var Ln=_e.display.view,Mn=rt.line>=_e.display.viewFrom&&sy(_e,rt)||{node:Ln[0].measure.map[2],offset:0},Qn=ht.line<_e.display.viewTo&&sy(_e,ht);if(!Qn){var Wr=Ln[Ln.length-1].measure,lr=Wr.maps?Wr.maps[Wr.maps.length-1]:Wr.map;Qn={node:lr[lr.length-1],offset:lr[lr.length-2]-lr[lr.length-3]}}if(!Mn||!Qn){Ee.removeAllRanges();return}var Si=Ee.rangeCount&&Ee.getRangeAt(0),fi;try{fi=$e(Mn.node,Mn.offset,Qn.offset,Qn.node)}catch(Mo){}fi&&(!Ge&&_e.state.focused?(Ee.collapse(Mn.node,Mn.offset),fi.collapsed||(Ee.removeAllRanges(),Ee.addRange(fi))):(Ee.removeAllRanges(),Ee.addRange(fi)),Si&&Ee.anchorNode==null?Ee.addRange(Si):Ge&&this.startGracePeriod()),this.rememberSelection()}},ic.prototype.startGracePeriod=function(){var Ee=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout(function(){Ee.gracePeriod=!1,Ee.selectionChanged()&&Ee.cm.operation(function(){return Ee.cm.curOp.selectionChanged=!0})},20)},ic.prototype.showMultipleSelections=function(Ee){Ze(this.cm.display.cursorDiv,Ee.cursors),Ze(this.cm.display.selectionDiv,Ee.selection)},ic.prototype.rememberSelection=function(){var Ee=this.getSelection();this.lastAnchorNode=Ee.anchorNode,this.lastAnchorOffset=Ee.anchorOffset,this.lastFocusNode=Ee.focusNode,this.lastFocusOffset=Ee.focusOffset},ic.prototype.selectionInEditor=function(){var Ee=this.getSelection();if(!Ee.rangeCount)return!1;var _e=Ee.getRangeAt(0).commonAncestorContainer;return gt(this.div,_e)},ic.prototype.focus=function(){this.cm.options.readOnly!="nocursor"&&((!this.selectionInEditor()||document.activeElement!=this.div)&&this.showSelection(this.prepareSelection(),!0),this.div.focus())},ic.prototype.blur=function(){this.div.blur()},ic.prototype.getField=function(){return this.div},ic.prototype.supportsTouch=function(){return!0},ic.prototype.receivedFocus=function(){var Ee=this;this.selectionInEditor()?this.pollSelection():Dr(this.cm,function(){return Ee.cm.curOp.selectionChanged=!0});function _e(){Ee.cm.state.focused&&(Ee.pollSelection(),Ee.polling.set(Ee.cm.options.pollInterval,_e))}this.polling.set(this.cm.options.pollInterval,_e)},ic.prototype.selectionChanged=function(){var Ee=this.getSelection();return Ee.anchorNode!=this.lastAnchorNode||Ee.anchorOffset!=this.lastAnchorOffset||Ee.focusNode!=this.lastFocusNode||Ee.focusOffset!=this.lastFocusOffset},ic.prototype.pollSelection=function(){if(!(this.readDOMTimeout!=null||this.gracePeriod||!this.selectionChanged())){var Ee=this.getSelection(),_e=this.cm;if(ie&&ke&&this.cm.display.gutterSpecs.length&&Ed(Ee.anchorNode)){this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),this.focus();return}if(!this.composing){this.rememberSelection();var it=ly(_e,Ee.anchorNode,Ee.anchorOffset),rt=ly(_e,Ee.focusNode,Ee.focusOffset);it&&rt&&Dr(_e,function(){Uo(_e.doc,Ot(it,rt),Rt),(it.bad||rt.bad)&&(_e.curOp.selectionChanged=!0)})}}},ic.prototype.pollContent=function(){this.readDOMTimeout!=null&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var Ee=this.cm,_e=Ee.display,it=Ee.doc.sel.primary(),rt=it.from(),ht=it.to();if(rt.ch==0&&rt.line>Ee.firstLine()&&(rt=On(rt.line-1,rn(Ee.doc,rt.line-1).length)),ht.ch==rn(Ee.doc,ht.line).text.length&&ht.line<Ee.lastLine()&&(ht=On(ht.line+1,0)),rt.line<_e.viewFrom||ht.line>_e.viewTo-1)return!1;var Wt,sn,Ln;rt.line==_e.viewFrom||(Wt=Vc(Ee,rt.line))==0?(sn=cn(_e.view[0].line),Ln=_e.view[0].node):(sn=cn(_e.view[Wt].line),Ln=_e.view[Wt-1].node.nextSibling);var Mn=Vc(Ee,ht.line),Qn,Wr;if(Mn==_e.view.length-1?(Qn=_e.viewTo-1,Wr=_e.lineDiv.lastChild):(Qn=cn(_e.view[Mn+1].line)-1,Wr=_e.view[Mn+1].node.previousSibling),!Ln)return!1;for(var lr=Ee.doc.splitLines(Mv(Ee,Ln,Wr,sn,Qn)),Si=nn(Ee.doc,On(sn,0),On(Qn,rn(Ee.doc,Qn).text.length));lr.length>1&&Si.length>1;)if(an(lr)==an(Si))lr.pop(),Si.pop(),Qn--;else if(lr[0]==Si[0])lr.shift(),Si.shift(),sn++;else break;for(var fi=0,Mo=0,Ro=lr[0],ea=Si[0],Na=Math.min(Ro.length,ea.length);fi<Na&&Ro.charCodeAt(fi)==ea.charCodeAt(fi);)++fi;for(var vs=an(lr),Xa=an(Si),Ds=Math.min(vs.length-(lr.length==1?fi:0),Xa.length-(Si.length==1?fi:0));Mo<Ds&&vs.charCodeAt(vs.length-Mo-1)==Xa.charCodeAt(Xa.length-Mo-1);)++Mo;if(lr.length==1&&Si.length==1&&sn==rt.line)for(;fi&&fi>rt.ch&&vs.charCodeAt(vs.length-Mo-1)==Xa.charCodeAt(Xa.length-Mo-1);)fi--,Mo++;lr[lr.length-1]=vs.slice(0,vs.length-Mo).replace(/^\u200b+/,""),lr[0]=lr[0].slice(fi).replace(/\u200b+$/,"");var hl=On(sn,fi),Qa=On(Qn,Si.length?an(Si).length-Mo:0);if(lr.length>1||lr[0]||dn(hl,Qa))return Xf(Ee.doc,lr,hl,Qa,"+input"),!0},ic.prototype.ensurePolled=function(){this.forceCompositionEnd()},ic.prototype.reset=function(){this.forceCompositionEnd()},ic.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},ic.prototype.readFromDOMSoon=function(){var Ee=this;this.readDOMTimeout==null&&(this.readDOMTimeout=setTimeout(function(){if(Ee.readDOMTimeout=null,Ee.composing)if(Ee.composing.done)Ee.composing=null;else return;Ee.updateFromDOM()},80))},ic.prototype.updateFromDOM=function(){var Ee=this;(this.cm.isReadOnly()||!this.pollContent())&&Dr(this.cm,function(){return $l(Ee.cm)})},ic.prototype.setUneditable=function(Ee){Ee.contentEditable="false"},ic.prototype.onKeyPress=function(Ee){Ee.charCode==0||this.composing||(Ee.preventDefault(),this.cm.isReadOnly()||si(this.cm,f1)(this.cm,String.fromCharCode(Ee.charCode==null?Ee.keyCode:Ee.charCode),0))},ic.prototype.readOnlyChanged=function(Ee){this.div.contentEditable=String(Ee!="nocursor")},ic.prototype.onContextMenu=function(){},ic.prototype.resetPosition=function(){},ic.prototype.needsContentAttribute=!0;function sy(Ee,_e){var it=Yh(Ee,_e.line);if(!it||it.hidden)return null;var rt=rn(Ee.doc,_e.line),ht=uc(it,rt,_e.line),Wt=Ht(rt,Ee.doc.direction),sn="left";if(Wt){var Ln=ot(Wt,_e.ch);sn=Ln%2?"right":"left"}var Mn=Mc(ht.map,_e.ch,sn);return Mn.offset=Mn.collapse=="right"?Mn.end:Mn.start,Mn}function Ed(Ee){for(var _e=Ee;_e;_e=_e.parentNode)if(/CodeMirror-gutter-wrapper/.test(_e.className))return!0;return!1}function dp(Ee,_e){return _e&&(Ee.bad=!0),Ee}function Mv(Ee,_e,it,rt,ht){var Wt="",sn=!1,Ln=Ee.doc.lineSeparator(),Mn=!1;function Qn(fi){return function(Mo){return Mo.id==fi}}function Wr(){sn&&(Wt+=Ln,Mn&&(Wt+=Ln),sn=Mn=!1)}function lr(fi){fi&&(Wr(),Wt+=fi)}function Si(fi){if(fi.nodeType==1){var Mo=fi.getAttribute("cm-text");if(Mo){lr(Mo);return}var Ro=fi.getAttribute("cm-marker"),ea;if(Ro){var Na=Ee.findMarks(On(rt,0),On(ht+1,0),Qn(+Ro));Na.length&&(ea=Na[0].find(0))&&lr(nn(Ee.doc,ea.from,ea.to).join(Ln));return}if(fi.getAttribute("contenteditable")=="false")return;var vs=/^(pre|div|p|li|table|br)$/i.test(fi.nodeName);if(!/^br$/i.test(fi.nodeName)&&fi.textContent.length==0)return;vs&&Wr();for(var Xa=0;Xa<fi.childNodes.length;Xa++)Si(fi.childNodes[Xa]);/^(pre|p)$/i.test(fi.nodeName)&&(Mn=!0),vs&&(sn=!0)}else fi.nodeType==3&&lr(fi.nodeValue.replace(/\u200b/g,"").replace(/\u00a0/g," "))}for(;Si(_e),_e!=it;)_e=_e.nextSibling,Mn=!1;return Wt}function ly(Ee,_e,it){var rt;if(_e==Ee.display.lineDiv){if(rt=Ee.display.lineDiv.childNodes[it],!rt)return dp(Ee.clipPos(On(Ee.display.viewTo-1)),!0);_e=null,it=0}else for(rt=_e;;rt=rt.parentNode){if(!rt||rt==Ee.display.lineDiv)return null;if(rt.parentNode&&rt.parentNode==Ee.display.lineDiv)break}for(var ht=0;ht<Ee.display.view.length;ht++){var Wt=Ee.display.view[ht];if(Wt.node==rt)return Ox(Wt,_e,it)}}function Ox(Ee,_e,it){var rt=Ee.text.firstChild,ht=!1;if(!_e||!gt(rt,_e))return dp(On(cn(Ee.line),0),!0);if(_e==rt&&(ht=!0,_e=rt.childNodes[it],it=0,!_e)){var Wt=Ee.rest?an(Ee.rest):Ee.line;return dp(On(cn(Wt),Wt.text.length),ht)}var sn=_e.nodeType==3?_e:null,Ln=_e;for(!sn&&_e.childNodes.length==1&&_e.firstChild.nodeType==3&&(sn=_e.firstChild,it&&(it=sn.nodeValue.length));Ln.parentNode!=rt;)Ln=Ln.parentNode;var Mn=Ee.measure,Qn=Mn.maps;function Wr(ea,Na,vs){for(var Xa=-1;Xa<(Qn?Qn.length:0);Xa++)for(var Ds=Xa<0?Mn.map:Qn[Xa],hl=0;hl<Ds.length;hl+=3){var Qa=Ds[hl+2];if(Qa==ea||Qa==Na){var Ul=cn(Xa<0?Ee.line:Ee.rest[Xa]),fc=Ds[hl]+vs;return(vs<0||Qa!=ea)&&(fc=Ds[hl+(vs?1:0)]),On(Ul,fc)}}}var lr=Wr(sn,Ln,it);if(lr)return dp(lr,ht);for(var Si=Ln.nextSibling,fi=sn?sn.nodeValue.length-it:0;Si;Si=Si.nextSibling){if(lr=Wr(Si,Si.firstChild,0),lr)return dp(On(lr.line,lr.ch-fi),ht);fi+=Si.textContent.length}for(var Mo=Ln.previousSibling,Ro=it;Mo;Mo=Mo.previousSibling){if(lr=Wr(Mo,Mo.firstChild,-1),lr)return dp(On(lr.line,lr.ch+Ro),ht);Ro+=Mo.textContent.length}}var Eh=function(Ee){this.cm=Ee,this.prevInput="",this.pollingFast=!1,this.polling=new ct,this.hasSelection=!1,this.composing=null};Eh.prototype.init=function(Ee){var _e=this,it=this,rt=this.cm;this.createField(Ee);var ht=this.textarea;Ee.wrapper.insertBefore(this.wrapper,Ee.wrapper.firstChild),ye&&(ht.style.width="0px"),hn(ht,"input",function(){Ke&&Be>=9&&_e.hasSelection&&(_e.hasSelection=null),it.poll()}),hn(ht,"paste",function(sn){$n(rt,sn)||vc(sn,rt)||(rt.state.pasteIncoming=+new Date,it.fastPoll())});function Wt(sn){if(!$n(rt,sn)){if(rt.somethingSelected())mm({lineWise:!1,text:rt.getSelections()});else if(rt.options.lineWiseCopyCut){var Ln=U0(rt);mm({lineWise:!0,text:Ln.text}),sn.type=="cut"?rt.setSelections(Ln.ranges,null,Rt):(it.prevInput="",ht.value=Ln.text.join(`
`),vt(ht))}else return;sn.type=="cut"&&(rt.state.cutIncoming=+new Date)}}hn(ht,"cut",Wt),hn(ht,"copy",Wt),hn(Ee.scroller,"paste",function(sn){if(!(rh(Ee,sn)||$n(rt,sn))){if(!ht.dispatchEvent){rt.state.pasteIncoming=+new Date,it.focus();return}var Ln=new Event("paste");Ln.clipboardData=sn.clipboardData,ht.dispatchEvent(Ln)}}),hn(Ee.lineSpace,"selectstart",function(sn){rh(Ee,sn)||di(sn)}),hn(ht,"compositionstart",function(){var sn=rt.getCursor("from");it.composing&&it.composing.range.clear(),it.composing={start:sn,range:rt.markText(sn,rt.getCursor("to"),{className:"CodeMirror-composing"})}}),hn(ht,"compositionend",function(){it.composing&&(it.poll(),it.composing.range.clear(),it.composing=null)})},Eh.prototype.createField=function(Ee){this.wrapper=ay(),this.textarea=this.wrapper.firstChild},Eh.prototype.screenReaderLabelChanged=function(Ee){Ee?this.textarea.setAttribute("aria-label",Ee):this.textarea.removeAttribute("aria-label")},Eh.prototype.prepareSelection=function(){var Ee=this.cm,_e=Ee.display,it=Ee.doc,rt=Pr(Ee);if(Ee.options.moveInputWithCursor){var ht=Iu(Ee,it.sel.primary().head,"div"),Wt=_e.wrapper.getBoundingClientRect(),sn=_e.lineDiv.getBoundingClientRect();rt.teTop=Math.max(0,Math.min(_e.wrapper.clientHeight-10,ht.top+sn.top-Wt.top)),rt.teLeft=Math.max(0,Math.min(_e.wrapper.clientWidth-10,ht.left+sn.left-Wt.left))}return rt},Eh.prototype.showSelection=function(Ee){var _e=this.cm,it=_e.display;Ze(it.cursorDiv,Ee.cursors),Ze(it.selectionDiv,Ee.selection),Ee.teTop!=null&&(this.wrapper.style.top=Ee.teTop+"px",this.wrapper.style.left=Ee.teLeft+"px")},Eh.prototype.reset=function(Ee){if(!(this.contextMenuPending||this.composing)){var _e=this.cm;if(_e.somethingSelected()){this.prevInput="";var it=_e.getSelection();this.textarea.value=it,_e.state.focused&&vt(this.textarea),Ke&&Be>=9&&(this.hasSelection=it)}else Ee||(this.prevInput=this.textarea.value="",Ke&&Be>=9&&(this.hasSelection=null))}},Eh.prototype.getField=function(){return this.textarea},Eh.prototype.supportsTouch=function(){return!1},Eh.prototype.focus=function(){if(this.cm.options.readOnly!="nocursor"&&(!ae||lt()!=this.textarea))try{this.textarea.focus()}catch(Ee){}},Eh.prototype.blur=function(){this.textarea.blur()},Eh.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Eh.prototype.receivedFocus=function(){this.slowPoll()},Eh.prototype.slowPoll=function(){var Ee=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){Ee.poll(),Ee.cm.state.focused&&Ee.slowPoll()})},Eh.prototype.fastPoll=function(){var Ee=!1,_e=this;_e.pollingFast=!0;function it(){var rt=_e.poll();!rt&&!Ee?(Ee=!0,_e.polling.set(60,it)):(_e.pollingFast=!1,_e.slowPoll())}_e.polling.set(20,it)},Eh.prototype.poll=function(){var Ee=this,_e=this.cm,it=this.textarea,rt=this.prevInput;if(this.contextMenuPending||!_e.state.focused||It(it)&&!rt&&!this.composing||_e.isReadOnly()||_e.options.disableInput||_e.state.keySeq)return!1;var ht=it.value;if(ht==rt&&!_e.somethingSelected())return!1;if(Ke&&Be>=9&&this.hasSelection===ht||fe&&/[\uf700-\uf7ff]/.test(ht))return _e.display.input.reset(),!1;if(_e.doc.sel==_e.display.selForContextMenu){var Wt=ht.charCodeAt(0);if(Wt==8203&&!rt&&(rt="\u200B"),Wt==8666)return this.reset(),this.cm.execCommand("undo")}for(var sn=0,Ln=Math.min(rt.length,ht.length);sn<Ln&&rt.charCodeAt(sn)==ht.charCodeAt(sn);)++sn;return Dr(_e,function(){f1(_e,ht.slice(sn),rt.length-sn,null,Ee.composing?"*compose":null),ht.length>1e3||ht.indexOf(`
`)>-1?it.value=Ee.prevInput="":Ee.prevInput=ht,Ee.composing&&(Ee.composing.range.clear(),Ee.composing.range=_e.markText(Ee.composing.start,_e.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},Eh.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Eh.prototype.onKeyPress=function(){Ke&&Be>=9&&(this.hasSelection=null),this.fastPoll()},Eh.prototype.onContextMenu=function(Ee){var _e=this,it=_e.cm,rt=it.display,ht=_e.textarea;_e.contextMenuPending&&_e.contextMenuPending();var Wt=cl(it,Ee),sn=rt.scroller.scrollTop;if(!Wt||Ie)return;var Ln=it.options.resetSelectionOnContextMenu;Ln&&it.doc.sel.contains(Wt)==-1&&si(it,Uo)(it.doc,Ot(Wt),Rt);var Mn=ht.style.cssText,Qn=_e.wrapper.style.cssText,Wr=_e.wrapper.offsetParent.getBoundingClientRect();_e.wrapper.style.cssText="position: static",ht.style.cssText=`position: absolute; width: 30px; height: 30px;
top: `+(Ee.clientY-Wr.top-5)+"px; left: "+(Ee.clientX-Wr.left-5)+`px;
z-index: 1000; background: `+(Ke?"rgba(255, 255, 255, .05)":"transparent")+`;
outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);`;var lr;we&&(lr=window.scrollY),rt.input.focus(),we&&window.scrollTo(null,lr),rt.input.reset(),it.somethingSelected()||(ht.value=_e.prevInput=" "),_e.contextMenuPending=fi,rt.selForContextMenu=it.doc.sel,clearTimeout(rt.detectingSelectAll);function Si(){if(ht.selectionStart!=null){var Ro=it.somethingSelected(),ea="\u200B"+(Ro?ht.value:"");ht.value="\u21DA",ht.value=ea,_e.prevInput=Ro?"":"\u200B",ht.selectionStart=1,ht.selectionEnd=ea.length,rt.selForContextMenu=it.doc.sel}}function fi(){if(_e.contextMenuPending==fi&&(_e.contextMenuPending=!1,_e.wrapper.style.cssText=Qn,ht.style.cssText=Mn,Ke&&Be<9&&rt.scrollbars.setScrollTop(rt.scroller.scrollTop=sn),ht.selectionStart!=null)){(!Ke||Ke&&Be<9)&&Si();var Ro=0,ea=function(){rt.selForContextMenu==it.doc.sel&&ht.selectionStart==0&&ht.selectionEnd>0&&_e.prevInput=="\u200B"?si(it,ul)(it):Ro++<10?rt.detectingSelectAll=setTimeout(ea,500):(rt.selForContextMenu=null,rt.input.reset())};rt.detectingSelectAll=setTimeout(ea,200)}}if(Ke&&Be>=9&&Si(),pe){fo(Ee);var Mo=function(){Jn(window,"mouseup",Mo),setTimeout(fi,20)};hn(window,"mouseup",Mo)}else setTimeout(fi,50)},Eh.prototype.readOnlyChanged=function(Ee){Ee||this.reset(),this.textarea.disabled=Ee=="nocursor",this.textarea.readOnly=!!Ee},Eh.prototype.setUneditable=function(){},Eh.prototype.needsContentAttribute=!1;function nA(Ee,_e){if(_e=_e?St(_e):{},_e.value=Ee.value,!_e.tabindex&&Ee.tabIndex&&(_e.tabindex=Ee.tabIndex),!_e.placeholder&&Ee.placeholder&&(_e.placeholder=Ee.placeholder),_e.autofocus==null){var it=lt();_e.autofocus=it==Ee||Ee.getAttribute("autofocus")!=null&&it==document.body}function rt(){Ee.value=Ln.getValue()}var ht;if(Ee.form&&(hn(Ee.form,"submit",rt),!_e.leaveSubmitMethodAlone)){var Wt=Ee.form;ht=Wt.submit;try{var sn=Wt.submit=function(){rt(),Wt.submit=ht,Wt.submit(),Wt.submit=sn}}catch(Mn){}}_e.finishInit=function(Mn){Mn.save=rt,Mn.getTextArea=function(){return Ee},Mn.toTextArea=function(){Mn.toTextArea=isNaN,rt(),Ee.parentNode.removeChild(Mn.getWrapperElement()),Ee.style.display="",Ee.form&&(Jn(Ee.form,"submit",rt),!_e.leaveSubmitMethodAlone&&typeof Ee.form.submit=="function"&&(Ee.form.submit=ht))}},Ee.style.display="none";var Ln=bu(function(Mn){return Ee.parentNode.insertBefore(Mn,Ee.nextSibling)},_e);return Ln}function Ag(Ee){Ee.off=Jn,Ee.on=hn,Ee.wheelEventPixels=Ha,Ee.Doc=yh,Ee.splitLines=zi,Ee.countColumn=xt,Ee.findColumn=Rn,Ee.isWordChar=_n,Ee.Pass=kt,Ee.signal=An,Ee.Line=xs,Ee.changeEnd=zt,Ee.scrollbarModel=Vl,Ee.Pos=On,Ee.cmpPos=dn,Ee.modes=Bi,Ee.mimeModes=Fi,Ee.resolveMode=Nt,Ee.getMode=De,Ee.modeExtensions=He,Ee.extendMode=Re,Ee.copyState=et,Ee.startState=Bt,Ee.innerMode=ft,Ee.commands=xh,Ee.keyMap=Vu,Ee.keyName=Cv,Ee.isModifierKey=r0,Ee.lookupKey=xd,Ee.normalizeKeyMap=n0,Ee.StringStream=Ct,Ee.SharedTextMarker=Qf,Ee.TextMarker=Lr,Ee.LineWidget=Ou,Ee.e_preventDefault=di,Ee.e_stopPropagation=li,Ee.e_stop=fo,Ee.addClass=At,Ee.contains=gt,Ee.rmClass=Le,Ee.keyNames=_d}W0(bu),Cf(bu);var bf="iter insert remove copy getEditor constructor".split(" ");for(var xm in yh.prototype)yh.prototype.hasOwnProperty(xm)&&Dt(bf,xm)<0&&(bu.prototype[xm]=function(Ee){return function(){return Ee.apply(this.doc,arguments)}}(yh.prototype[xm]));return Qr(yh),bu.inputStyles={textarea:Eh,contenteditable:ic},bu.defineMode=function(Ee){!bu.defaults.mode&&Ee!="null"&&(bu.defaults.mode=Ee),Qi.apply(this,arguments)},bu.defineMIME=ii,bu.defineMode("null",function(){return{token:function(Ee){return Ee.skipToEnd()}}}),bu.defineMIME("text/plain","null"),bu.defineExtension=function(Ee,_e){bu.prototype[Ee]=_e},bu.defineDocExtension=function(Ee,_e){yh.prototype[Ee]=_e},bu.fromTextArea=nA,Ag(bu),bu.version="5.58.2",bu})},25419:function(en,tn,Oe){(function(Ge){Ge(Oe(89780),Oe(15525),Oe(98101))})(function(Ge){"use strict";Ge.defineMode("markdown",function(tt,Ue){var Ne=Ge.getMode(tt,"text/html"),Ke=Ne.name=="null";function Be(xt){if(Ge.findModeByName){var ct=Ge.findModeByName(xt);ct&&(xt=ct.mime||ct.mimes[0])}var Dt=Ge.getMode(tt,xt);return Dt.name=="null"?null:Dt}Ue.highlightFormatting===void 0&&(Ue.highlightFormatting=!1),Ue.maxBlockquoteDepth===void 0&&(Ue.maxBlockquoteDepth=0),Ue.taskLists===void 0&&(Ue.taskLists=!1),Ue.strikethrough===void 0&&(Ue.strikethrough=!1),Ue.emoji===void 0&&(Ue.emoji=!1),Ue.fencedCodeBlockHighlighting===void 0&&(Ue.fencedCodeBlockHighlighting=!0),Ue.fencedCodeBlockDefaultMode===void 0&&(Ue.fencedCodeBlockDefaultMode="text/plain"),Ue.xml===void 0&&(Ue.xml=!0),Ue.tokenTypeOverrides===void 0&&(Ue.tokenTypeOverrides={});var we={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"image",imageAltText:"image-alt-text",imageMarker:"image-marker",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough",emoji:"builtin"};for(var Te in we)we.hasOwnProperty(Te)&&Ue.tokenTypeOverrides[Te]&&(we[Te]=Ue.tokenTypeOverrides[Te]);var ke=/^([*\-_])(?:\s*\1){2,}\s*$/,Ie=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,Ce=/^\[(x| )\](?=\s)/i,Me=Ue.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,je=/^ {0,3}(?:\={1,}|-{2,})\s*$/,ye=/^[^#!\[\]*_\\<>` "'(~:]+/,ie=/^(~~~+|```+)[ \t]*([\w\/+#-]*)[^\n`]*$/,ae=/^\s*\[[^\]]+?\]:.*$/,fe=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/,de=" ";function ve(xt,ct,Dt){return ct.f=ct.inline=Dt,Dt(xt,ct)}function xe(xt,ct,Dt){return ct.f=ct.block=Dt,Dt(xt,ct)}function ce(xt){return!xt||!/\S/.test(xt.string)}function pe(xt){if(xt.linkTitle=!1,xt.linkHref=!1,xt.linkText=!1,xt.em=!1,xt.strong=!1,xt.strikethrough=!1,xt.quote=0,xt.indentedCode=!1,xt.f==Le){var ct=Ke;if(!ct){var Dt=Ge.innerMode(Ne,xt.htmlState);ct=Dt.mode.name=="xml"&&Dt.state.tagStart===null&&!Dt.state.context&&Dt.state.tokenize.isInText}ct&&(xt.f=Qe,xt.block=Se,xt.htmlState=null)}return xt.trailingSpace=0,xt.trailingSpaceNewLine=!1,xt.prevLine=xt.thisLine,xt.thisLine={stream:null},null}function Se(xt,ct){var Dt=xt.column()===ct.indentation,Xt=ce(ct.prevLine.stream),kt=ct.indentedCode,Rt=ct.prevLine.hr,Gt=ct.list!==!1,ln=(ct.listStack[ct.listStack.length-1]||0)+3;ct.indentedCode=!1;var Rn=ct.indentation;if(ct.indentationDiff===null&&(ct.indentationDiff=ct.indentation,Gt)){for(ct.list=null;Rn<ct.listStack[ct.listStack.length-1];)ct.listStack.pop(),ct.listStack.length?ct.indentation=ct.listStack[ct.listStack.length-1]:ct.list=!1;ct.list!==!1&&(ct.indentationDiff=Rn-ct.listStack[ct.listStack.length-1])}var jn=!Xt&&!Rt&&!ct.prevLine.header&&(!Gt||!kt)&&!ct.prevLine.fencedCodeEnd,er=(ct.list===!1||Rt||Xt)&&ct.indentation<=ln&&xt.match(ke),an=null;if(ct.indentationDiff>=4&&(kt||ct.prevLine.fencedCodeEnd||ct.prevLine.header||Xt))return xt.skipToEnd(),ct.indentedCode=!0,we.code;if(xt.eatSpace())return null;if(Dt&&ct.indentation<=ln&&(an=xt.match(Me))&&an[1].length<=6)return ct.quote=0,ct.header=an[1].length,ct.thisLine.header=!0,Ue.highlightFormatting&&(ct.formatting="header"),ct.f=ct.inline,Ze(ct);if(ct.indentation<=ln&&xt.eat(">"))return ct.quote=Dt?1:ct.quote+1,Ue.highlightFormatting&&(ct.formatting="quote"),xt.eatSpace(),Ze(ct);if(!er&&!ct.setext&&Dt&&ct.indentation<=ln&&(an=xt.match(Ie))){var Un=an[1]?"ol":"ul";return ct.indentation=Rn+xt.current().length,ct.list=!0,ct.quote=0,ct.listStack.push(ct.indentation),ct.em=!1,ct.strong=!1,ct.code=!1,ct.strikethrough=!1,Ue.taskLists&&xt.match(Ce,!1)&&(ct.taskList=!0),ct.f=ct.inline,Ue.highlightFormatting&&(ct.formatting=["list","list-"+Un]),Ze(ct)}else{if(Dt&&ct.indentation<=ln&&(an=xt.match(ie,!0)))return ct.quote=0,ct.fencedEndRE=new RegExp(an[1]+"+ *$"),ct.localMode=Ue.fencedCodeBlockHighlighting&&Be(an[2]||Ue.fencedCodeBlockDefaultMode),ct.localMode&&(ct.localState=Ge.startState(ct.localMode)),ct.f=ct.block=ze,Ue.highlightFormatting&&(ct.formatting="code-block"),ct.code=-1,Ze(ct);if(ct.setext||(!jn||!Gt)&&!ct.quote&&ct.list===!1&&!ct.code&&!er&&!ae.test(xt.string)&&(an=xt.lookAhead(1))&&(an=an.match(je)))return ct.setext?(ct.header=ct.setext,ct.setext=0,xt.skipToEnd(),Ue.highlightFormatting&&(ct.formatting="header")):(ct.header=an[0].charAt(0)=="="?1:2,ct.setext=ct.header),ct.thisLine.header=!0,ct.f=ct.inline,Ze(ct);if(er)return xt.skipToEnd(),ct.hr=!0,ct.thisLine.hr=!0,we.hr;if(xt.peek()==="[")return ve(xt,ct,Et)}return ve(xt,ct,ct.inline)}function Le(xt,ct){var Dt=Ne.token(xt,ct.htmlState);if(!Ke){var Xt=Ge.innerMode(Ne,ct.htmlState);(Xt.mode.name=="xml"&&Xt.state.tagStart===null&&!Xt.state.context&&Xt.state.tokenize.isInText||ct.md_inside&&xt.current().indexOf(">")>-1)&&(ct.f=Qe,ct.block=Se,ct.htmlState=null)}return Dt}function ze(xt,ct){var Dt=ct.listStack[ct.listStack.length-1]||0,Xt=ct.indentation<Dt,kt=Dt+3;if(ct.fencedEndRE&&ct.indentation<=kt&&(Xt||xt.match(ct.fencedEndRE))){Ue.highlightFormatting&&(ct.formatting="code-block");var Rt;return Xt||(Rt=Ze(ct)),ct.localMode=ct.localState=null,ct.block=Se,ct.f=Qe,ct.fencedEndRE=null,ct.code=0,ct.thisLine.fencedCodeEnd=!0,Xt?xe(xt,ct,ct.block):Rt}else return ct.localMode?ct.localMode.token(xt,ct.localState):(xt.skipToEnd(),we.code)}function Ze(xt){var ct=[];if(xt.formatting){ct.push(we.formatting),typeof xt.formatting=="string"&&(xt.formatting=[xt.formatting]);for(var Dt=0;Dt<xt.formatting.length;Dt++)ct.push(we.formatting+"-"+xt.formatting[Dt]),xt.formatting[Dt]==="header"&&ct.push(we.formatting+"-"+xt.formatting[Dt]+"-"+xt.header),xt.formatting[Dt]==="quote"&&(!Ue.maxBlockquoteDepth||Ue.maxBlockquoteDepth>=xt.quote?ct.push(we.formatting+"-"+xt.formatting[Dt]+"-"+xt.quote):ct.push("error"))}if(xt.taskOpen)return ct.push("meta"),ct.length?ct.join(" "):null;if(xt.taskClosed)return ct.push("property"),ct.length?ct.join(" "):null;if(xt.linkHref?ct.push(we.linkHref,"url"):(xt.strong&&ct.push(we.strong),xt.em&&ct.push(we.em),xt.strikethrough&&ct.push(we.strikethrough),xt.emoji&&ct.push(we.emoji),xt.linkText&&ct.push(we.linkText),xt.code&&ct.push(we.code),xt.image&&ct.push(we.image),xt.imageAltText&&ct.push(we.imageAltText,"link"),xt.imageMarker&&ct.push(we.imageMarker)),xt.header&&ct.push(we.header,we.header+"-"+xt.header),xt.quote&&(ct.push(we.quote),!Ue.maxBlockquoteDepth||Ue.maxBlockquoteDepth>=xt.quote?ct.push(we.quote+"-"+xt.quote):ct.push(we.quote+"-"+Ue.maxBlockquoteDepth)),xt.list!==!1){var Xt=(xt.listStack.length-1)%3;Xt?Xt===1?ct.push(we.list2):ct.push(we.list3):ct.push(we.list1)}return xt.trailingSpaceNewLine?ct.push("trailing-space-new-line"):xt.trailingSpace&&ct.push("trailing-space-"+(xt.trailingSpace%2?"a":"b")),ct.length?ct.join(" "):null}function Ve(xt,ct){if(xt.match(ye,!0))return Ze(ct)}function Qe(xt,ct){var Dt=ct.text(xt,ct);if(typeof Dt!="undefined")return Dt;if(ct.list)return ct.list=null,Ze(ct);if(ct.taskList){var Xt=xt.match(Ce,!0)[1]===" ";return Xt?ct.taskOpen=!0:ct.taskClosed=!0,Ue.highlightFormatting&&(ct.formatting="task"),ct.taskList=!1,Ze(ct)}if(ct.taskOpen=!1,ct.taskClosed=!1,ct.header&&xt.match(/^#+$/,!0))return Ue.highlightFormatting&&(ct.formatting="header"),Ze(ct);var kt=xt.next();if(ct.linkTitle){ct.linkTitle=!1;var Rt=kt;kt==="("&&(Rt=")"),Rt=(Rt+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1");var Gt="^\\s*(?:[^"+Rt+"\\\\]+|\\\\\\\\|\\\\.)"+Rt;if(xt.match(new RegExp(Gt),!0))return we.linkHref}if(kt==="`"){var ln=ct.formatting;Ue.highlightFormatting&&(ct.formatting="code"),xt.eatWhile("`");var Rn=xt.current().length;if(ct.code==0&&(!ct.quote||Rn==1))return ct.code=Rn,Ze(ct);if(Rn==ct.code){var jn=Ze(ct);return ct.code=0,jn}else return ct.formatting=ln,Ze(ct)}else if(ct.code)return Ze(ct);if(kt==="\\"&&(xt.next(),Ue.highlightFormatting)){var er=Ze(ct),an=we.formatting+"-escape";return er?er+" "+an:an}if(kt==="!"&&xt.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return ct.imageMarker=!0,ct.image=!0,Ue.highlightFormatting&&(ct.formatting="image"),Ze(ct);if(kt==="["&&ct.imageMarker&&xt.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,!1))return ct.imageMarker=!1,ct.imageAltText=!0,Ue.highlightFormatting&&(ct.formatting="image"),Ze(ct);if(kt==="]"&&ct.imageAltText){Ue.highlightFormatting&&(ct.formatting="image");var er=Ze(ct);return ct.imageAltText=!1,ct.image=!1,ct.inline=ct.f=gt,er}if(kt==="["&&!ct.image)return ct.linkText&&xt.match(/^.*?\]/)||(ct.linkText=!0,Ue.highlightFormatting&&(ct.formatting="link")),Ze(ct);if(kt==="]"&&ct.linkText){Ue.highlightFormatting&&(ct.formatting="link");var er=Ze(ct);return ct.linkText=!1,ct.inline=ct.f=xt.match(/\(.*?\)| ?\[.*?\]/,!1)?gt:Qe,er}if(kt==="<"&&xt.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){ct.f=ct.inline=$e,Ue.highlightFormatting&&(ct.formatting="link");var er=Ze(ct);return er?er+=" ":er="",er+we.linkInline}if(kt==="<"&&xt.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){ct.f=ct.inline=$e,Ue.highlightFormatting&&(ct.formatting="link");var er=Ze(ct);return er?er+=" ":er="",er+we.linkEmail}if(Ue.xml&&kt==="<"&&xt.match(/^(!--|\?|!\[CDATA\[|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*(?:>|$))/i,!1)){var Un=xt.string.indexOf(">",xt.pos);if(Un!=-1){var Kn=xt.string.substring(xt.start,Un);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(Kn)&&(ct.md_inside=!0)}return xt.backUp(1),ct.htmlState=Ge.startState(Ne),xe(xt,ct,Le)}if(Ue.xml&&kt==="<"&&xt.match(/^\/\w*?>/))return ct.md_inside=!1,"tag";if(kt==="*"||kt==="_"){for(var ur=1,Xn=xt.pos==1?" ":xt.string.charAt(xt.pos-2);ur<3&&xt.eat(kt);)ur++;var Nn=xt.peek()||" ",_n=!/\s/.test(Nn)&&(!fe.test(Nn)||/\s/.test(Xn)||fe.test(Xn)),un=!/\s/.test(Xn)&&(!fe.test(Xn)||/\s/.test(Nn)||fe.test(Nn)),qt=null,Yt=null;if(ur%2&&(!ct.em&&_n&&(kt==="*"||!un||fe.test(Xn))?qt=!0:ct.em==kt&&un&&(kt==="*"||!_n||fe.test(Nn))&&(qt=!1)),ur>1&&(!ct.strong&&_n&&(kt==="*"||!un||fe.test(Xn))?Yt=!0:ct.strong==kt&&un&&(kt==="*"||!_n||fe.test(Nn))&&(Yt=!1)),Yt!=null||qt!=null){Ue.highlightFormatting&&(ct.formatting=qt==null?"strong":Yt==null?"em":"strong em"),qt===!0&&(ct.em=kt),Yt===!0&&(ct.strong=kt);var jn=Ze(ct);return qt===!1&&(ct.em=!1),Yt===!1&&(ct.strong=!1),jn}}else if(kt===" "&&(xt.eat("*")||xt.eat("_"))){if(xt.peek()===" ")return Ze(ct);xt.backUp(1)}if(Ue.strikethrough){if(kt==="~"&&xt.eatWhile(kt)){if(ct.strikethrough){Ue.highlightFormatting&&(ct.formatting="strikethrough");var jn=Ze(ct);return ct.strikethrough=!1,jn}else if(xt.match(/^[^\s]/,!1))return ct.strikethrough=!0,Ue.highlightFormatting&&(ct.formatting="strikethrough"),Ze(ct)}else if(kt===" "&&xt.match(/^~~/,!0)){if(xt.peek()===" ")return Ze(ct);xt.backUp(2)}}if(Ue.emoji&&kt===":"&&xt.match(/^(?:[a-z_\d+][a-z_\d+-]*|\-[a-z_\d+][a-z_\d+-]*):/)){ct.emoji=!0,Ue.highlightFormatting&&(ct.formatting="emoji");var gn=Ze(ct);return ct.emoji=!1,gn}return kt===" "&&(xt.match(/^ +$/,!1)?ct.trailingSpace++:ct.trailingSpace&&(ct.trailingSpaceNewLine=!0)),Ze(ct)}function $e(xt,ct){var Dt=xt.next();if(Dt===">"){ct.f=ct.inline=Qe,Ue.highlightFormatting&&(ct.formatting="link");var Xt=Ze(ct);return Xt?Xt+=" ":Xt="",Xt+we.linkInline}return xt.match(/^[^>]+/,!0),we.linkInline}function gt(xt,ct){if(xt.eatSpace())return null;var Dt=xt.next();return Dt==="("||Dt==="["?(ct.f=ct.inline=At(Dt==="("?")":"]"),Ue.highlightFormatting&&(ct.formatting="link-string"),ct.linkHref=!0,Ze(ct)):"error"}var lt={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/};function At(xt){return function(ct,Dt){var Xt=ct.next();if(Xt===xt){Dt.f=Dt.inline=Qe,Ue.highlightFormatting&&(Dt.formatting="link-string");var kt=Ze(Dt);return Dt.linkHref=!1,kt}return ct.match(lt[xt]),Dt.linkHref=!0,Ze(Dt)}}function Et(xt,ct){return xt.match(/^([^\]\\]|\\.)*\]:/,!1)?(ct.f=vt,xt.next(),Ue.highlightFormatting&&(ct.formatting="link"),ct.linkText=!0,Ze(ct)):ve(xt,ct,Qe)}function vt(xt,ct){if(xt.match(/^\]:/,!0)){ct.f=ct.inline=Lt,Ue.highlightFormatting&&(ct.formatting="link");var Dt=Ze(ct);return ct.linkText=!1,Dt}return xt.match(/^([^\]\\]|\\.)+/,!0),we.linkText}function Lt(xt,ct){return xt.eatSpace()?null:(xt.match(/^[^\s]+/,!0),xt.peek()===void 0?ct.linkTitle=!0:xt.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/,!0),ct.f=ct.inline=Qe,we.linkHref+" url")}var St={startState:function(){return{f:Se,prevLine:{stream:null},thisLine:{stream:null},block:Se,htmlState:null,indentation:0,inline:Qe,text:Ve,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,setext:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,emoji:!1,fencedEndRE:null}},copyState:function(xt){return{f:xt.f,prevLine:xt.prevLine,thisLine:xt.thisLine,block:xt.block,htmlState:xt.htmlState&&Ge.copyState(Ne,xt.htmlState),indentation:xt.indentation,localMode:xt.localMode,localState:xt.localMode?Ge.copyState(xt.localMode,xt.localState):null,inline:xt.inline,text:xt.text,formatting:!1,linkText:xt.linkText,linkTitle:xt.linkTitle,linkHref:xt.linkHref,code:xt.code,em:xt.em,strong:xt.strong,strikethrough:xt.strikethrough,emoji:xt.emoji,header:xt.header,setext:xt.setext,hr:xt.hr,taskList:xt.taskList,list:xt.list,listStack:xt.listStack.slice(0),quote:xt.quote,indentedCode:xt.indentedCode,trailingSpace:xt.trailingSpace,trailingSpaceNewLine:xt.trailingSpaceNewLine,md_inside:xt.md_inside,fencedEndRE:xt.fencedEndRE}},token:function(xt,ct){if(ct.formatting=!1,xt!=ct.thisLine.stream){if(ct.header=0,ct.hr=!1,xt.match(/^\s*$/,!0))return pe(ct),null;if(ct.prevLine=ct.thisLine,ct.thisLine={stream:xt},ct.taskList=!1,ct.trailingSpace=0,ct.trailingSpaceNewLine=!1,!ct.localState&&(ct.f=ct.block,ct.f!=Le)){var Dt=xt.match(/^\s*/,!0)[0].replace(/\t/g,de).length;if(ct.indentation=Dt,ct.indentationDiff=null,Dt>0)return null}}return ct.f(xt,ct)},innerMode:function(xt){return xt.block==Le?{state:xt.htmlState,mode:Ne}:xt.localState?{state:xt.localState,mode:xt.localMode}:{state:xt,mode:St}},indent:function(xt,ct,Dt){return xt.block==Le&&Ne.indent?Ne.indent(xt.htmlState,ct,Dt):xt.localState&&xt.localMode.indent?xt.localMode.indent(xt.localState,ct,Dt):Ge.Pass},blankLine:pe,getType:Ze,blockCommentStart:"<!--",blockCommentEnd:"-->",closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return St},"xml"),Ge.defineMIME("text/markdown","markdown"),Ge.defineMIME("text/x-markdown","markdown")})},98101:function(en,tn,Oe){(function(Ge){Ge(Oe(89780))})(function(Ge){"use strict";Ge.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp","cs"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists\.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90","f95"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history)\.md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"text/jinja2",mode:"jinja2",ext:["j2","jinja","jinja2"]},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb","wl","wls"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m"],alias:["objective-c","objc"]},{name:"Objective-C++",mime:"text/x-objectivec++",mode:"clike",ext:["mm"],alias:["objective-c++","objc++"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PostgreSQL",mime:"text/x-pgsql",mode:"sql"},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx","tex"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]},{name:"WebAssembly",mime:"text/webassembly",mode:"wast",ext:["wat","wast"]}];for(var tt=0;tt<Ge.modeInfo.length;tt++){var Ue=Ge.modeInfo[tt];Ue.mimes&&(Ue.mime=Ue.mimes[0])}Ge.findModeByMIME=function(Ne){Ne=Ne.toLowerCase();for(var Ke=0;Ke<Ge.modeInfo.length;Ke++){var Be=Ge.modeInfo[Ke];if(Be.mime==Ne)return Be;if(Be.mimes){for(var we=0;we<Be.mimes.length;we++)if(Be.mimes[we]==Ne)return Be}}if(/\+xml$/.test(Ne))return Ge.findModeByMIME("application/xml");if(/\+json$/.test(Ne))return Ge.findModeByMIME("application/json")},Ge.findModeByExtension=function(Ne){Ne=Ne.toLowerCase();for(var Ke=0;Ke<Ge.modeInfo.length;Ke++){var Be=Ge.modeInfo[Ke];if(Be.ext){for(var we=0;we<Be.ext.length;we++)if(Be.ext[we]==Ne)return Be}}},Ge.findModeByFileName=function(Ne){for(var Ke=0;Ke<Ge.modeInfo.length;Ke++){var Be=Ge.modeInfo[Ke];if(Be.file&&Be.file.test(Ne))return Be}var we=Ne.lastIndexOf("."),Te=we>-1&&Ne.substring(we+1,Ne.length);if(Te)return Ge.findModeByExtension(Te)},Ge.findModeByName=function(Ne){Ne=Ne.toLowerCase();for(var Ke=0;Ke<Ge.modeInfo.length;Ke++){var Be=Ge.modeInfo[Ke];if(Be.name.toLowerCase()==Ne)return Be;if(Be.alias){for(var we=0;we<Be.alias.length;we++)if(Be.alias[we].toLowerCase()==Ne)return Be}}}})},67549:function(en,tn,Oe){(function(Ge){Ge(Oe(89780))})(function(Ge){"use strict";Ge.defineMode("stex",function(tt,Ue){"use strict";function Ne(ye,ie){ye.cmdState.push(ie)}function Ke(ye){return ye.cmdState.length>0?ye.cmdState[ye.cmdState.length-1]:null}function Be(ye){var ie=ye.cmdState.pop();ie&&ie.closeBracket()}function we(ye){for(var ie=ye.cmdState,ae=ie.length-1;ae>=0;ae--){var fe=ie[ae];if(fe.name!="DEFAULT")return fe}return{styleIdentifier:function(){return null}}}function Te(ye,ie,ae){return function(){this.name=ye,this.bracketNo=0,this.style=ie,this.styles=ae,this.argument=null,this.styleIdentifier=function(){return this.styles[this.bracketNo-1]||null},this.openBracket=function(){return this.bracketNo++,"bracket"},this.closeBracket=function(){}}}var ke={};ke.importmodule=Te("importmodule","tag",["string","builtin"]),ke.documentclass=Te("documentclass","tag",["","atom"]),ke.usepackage=Te("usepackage","tag",["atom"]),ke.begin=Te("begin","tag",["atom"]),ke.end=Te("end","tag",["atom"]),ke.label=Te("label","tag",["atom"]),ke.ref=Te("ref","tag",["atom"]),ke.eqref=Te("eqref","tag",["atom"]),ke.cite=Te("cite","tag",["atom"]),ke.bibitem=Te("bibitem","tag",["atom"]),ke.Bibitem=Te("Bibitem","tag",["atom"]),ke.RBibitem=Te("RBibitem","tag",["atom"]),ke.DEFAULT=function(){this.name="DEFAULT",this.style="tag",this.styleIdentifier=this.openBracket=this.closeBracket=function(){}};function Ie(ye,ie){ye.f=ie}function Ce(ye,ie){var ae;if(ye.match(/^\\[a-zA-Z@]+/)){var fe=ye.current().slice(1);return ae=ke.hasOwnProperty(fe)?ke[fe]:ke.DEFAULT,ae=new ae,Ne(ie,ae),Ie(ie,je),ae.style}if(ye.match(/^\\[$&%#{}_]/)||ye.match(/^\\[,;!\/\\]/))return"tag";if(ye.match("\\["))return Ie(ie,function(ve,xe){return Me(ve,xe,"\\]")}),"keyword";if(ye.match("\\("))return Ie(ie,function(ve,xe){return Me(ve,xe,"\\)")}),"keyword";if(ye.match("$$"))return Ie(ie,function(ve,xe){return Me(ve,xe,"$$")}),"keyword";if(ye.match("$"))return Ie(ie,function(ve,xe){return Me(ve,xe,"$")}),"keyword";var de=ye.next();if(de=="%")return ye.skipToEnd(),"comment";if(de=="}"||de=="]"){if(ae=Ke(ie),ae)ae.closeBracket(de),Ie(ie,je);else return"error";return"bracket"}else return de=="{"||de=="["?(ae=ke.DEFAULT,ae=new ae,Ne(ie,ae),"bracket"):/\d/.test(de)?(ye.eatWhile(/[\w.%]/),"atom"):(ye.eatWhile(/[\w\-_]/),ae=we(ie),ae.name=="begin"&&(ae.argument=ye.current()),ae.styleIdentifier())}function Me(ye,ie,ae){if(ye.eatSpace())return null;if(ae&&ye.match(ae))return Ie(ie,Ce),"keyword";if(ye.match(/^\\[a-zA-Z@]+/))return"tag";if(ye.match(/^[a-zA-Z]+/))return"variable-2";if(ye.match(/^\\[$&%#{}_]/)||ye.match(/^\\[,;!\/]/)||ye.match(/^[\^_&]/))return"tag";if(ye.match(/^[+\-<>|=,\/@!*:;'"`~#?]/))return null;if(ye.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";var fe=ye.next();return fe=="{"||fe=="}"||fe=="["||fe=="]"||fe=="("||fe==")"?"bracket":fe=="%"?(ye.skipToEnd(),"comment"):"error"}function je(ye,ie){var ae=ye.peek(),fe;return ae=="{"||ae=="["?(fe=Ke(ie),fe.openBracket(ae),ye.eat(ae),Ie(ie,Ce),"bracket"):/[ \t\r]/.test(ae)?(ye.eat(ae),null):(Ie(ie,Ce),Be(ie),Ce(ye,ie))}return{startState:function(){var ye=Ue.inMathMode?function(ie,ae){return Me(ie,ae)}:Ce;return{cmdState:[],f:ye}},copyState:function(ye){return{cmdState:ye.cmdState.slice(),f:ye.f}},token:function(ye,ie){return ie.f(ye,ie)},blankLine:function(ye){ye.f=Ce,ye.cmdState.length=0},lineComment:"%"}}),Ge.defineMIME("text/x-stex","stex"),Ge.defineMIME("text/x-latex","stex")})},15525:function(en,tn,Oe){(function(Ge){Ge(Oe(89780))})(function(Ge){"use strict";var tt={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},Ue={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};Ge.defineMode("xml",function(Ne,Ke){var Be=Ne.indentUnit,we={},Te=Ke.htmlMode?tt:Ue;for(var ke in Te)we[ke]=Te[ke];for(var ke in Ke)we[ke]=Ke[ke];var Ie,Ce;function Me($e,gt){function lt(vt){return gt.tokenize=vt,vt($e,gt)}var At=$e.next();if(At=="<")return $e.eat("!")?$e.eat("[")?$e.match("CDATA[")?lt(ie("atom","]]>")):null:$e.match("--")?lt(ie("comment","-->")):$e.match("DOCTYPE",!0,!0)?($e.eatWhile(/[\w\._\-]/),lt(ae(1))):null:$e.eat("?")?($e.eatWhile(/[\w\._\-]/),gt.tokenize=ie("meta","?>"),"meta"):(Ie=$e.eat("/")?"closeTag":"openTag",gt.tokenize=je,"tag bracket");if(At=="&"){var Et;return $e.eat("#")?$e.eat("x")?Et=$e.eatWhile(/[a-fA-F\d]/)&&$e.eat(";"):Et=$e.eatWhile(/[\d]/)&&$e.eat(";"):Et=$e.eatWhile(/[\w\.\-:]/)&&$e.eat(";"),Et?"atom":"error"}else return $e.eatWhile(/[^&<]/),null}Me.isInText=!0;function je($e,gt){var lt=$e.next();if(lt==">"||lt=="/"&&$e.eat(">"))return gt.tokenize=Me,Ie=lt==">"?"endTag":"selfcloseTag","tag bracket";if(lt=="=")return Ie="equals",null;if(lt=="<"){gt.tokenize=Me,gt.state=xe,gt.tagName=gt.tagStart=null;var At=gt.tokenize($e,gt);return At?At+" tag error":"tag error"}else return/[\'\"]/.test(lt)?(gt.tokenize=ye(lt),gt.stringStartCol=$e.column(),gt.tokenize($e,gt)):($e.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function ye($e){var gt=function(lt,At){for(;!lt.eol();)if(lt.next()==$e){At.tokenize=je;break}return"string"};return gt.isInAttribute=!0,gt}function ie($e,gt){return function(lt,At){for(;!lt.eol();){if(lt.match(gt)){At.tokenize=Me;break}lt.next()}return $e}}function ae($e){return function(gt,lt){for(var At;(At=gt.next())!=null;){if(At=="<")return lt.tokenize=ae($e+1),lt.tokenize(gt,lt);if(At==">")if($e==1){lt.tokenize=Me;break}else return lt.tokenize=ae($e-1),lt.tokenize(gt,lt)}return"meta"}}function fe($e,gt,lt){this.prev=$e.context,this.tagName=gt,this.indent=$e.indented,this.startOfLine=lt,(we.doNotIndent.hasOwnProperty(gt)||$e.context&&$e.context.noIndent)&&(this.noIndent=!0)}function de($e){$e.context&&($e.context=$e.context.prev)}function ve($e,gt){for(var lt;;){if(!$e.context||(lt=$e.context.tagName,!we.contextGrabbers.hasOwnProperty(lt)||!we.contextGrabbers[lt].hasOwnProperty(gt)))return;de($e)}}function xe($e,gt,lt){return $e=="openTag"?(lt.tagStart=gt.column(),ce):$e=="closeTag"?pe:xe}function ce($e,gt,lt){return $e=="word"?(lt.tagName=gt.current(),Ce="tag",ze):we.allowMissingTagName&&$e=="endTag"?(Ce="tag bracket",ze($e,gt,lt)):(Ce="error",ce)}function pe($e,gt,lt){if($e=="word"){var At=gt.current();return lt.context&&lt.context.tagName!=At&&we.implicitlyClosed.hasOwnProperty(lt.context.tagName)&&de(lt),lt.context&&lt.context.tagName==At||we.matchClosing===!1?(Ce="tag",Se):(Ce="tag error",Le)}else return we.allowMissingTagName&&$e=="endTag"?(Ce="tag bracket",Se($e,gt,lt)):(Ce="error",Le)}function Se($e,gt,lt){return $e!="endTag"?(Ce="error",Se):(de(lt),xe)}function Le($e,gt,lt){return Ce="error",Se($e,gt,lt)}function ze($e,gt,lt){if($e=="word")return Ce="attribute",Ze;if($e=="endTag"||$e=="selfcloseTag"){var At=lt.tagName,Et=lt.tagStart;return lt.tagName=lt.tagStart=null,$e=="selfcloseTag"||we.autoSelfClosers.hasOwnProperty(At)?ve(lt,At):(ve(lt,At),lt.context=new fe(lt,At,Et==lt.indented)),xe}return Ce="error",ze}function Ze($e,gt,lt){return $e=="equals"?Ve:(we.allowMissing||(Ce="error"),ze($e,gt,lt))}function Ve($e,gt,lt){return $e=="string"?Qe:$e=="word"&&we.allowUnquoted?(Ce="string",ze):(Ce="error",ze($e,gt,lt))}function Qe($e,gt,lt){return $e=="string"?Qe:ze($e,gt,lt)}return{startState:function($e){var gt={tokenize:Me,state:xe,indented:$e||0,tagName:null,tagStart:null,context:null};return $e!=null&&(gt.baseIndent=$e),gt},token:function($e,gt){if(!gt.tagName&&$e.sol()&&(gt.indented=$e.indentation()),$e.eatSpace())return null;Ie=null;var lt=gt.tokenize($e,gt);return(lt||Ie)&&lt!="comment"&&(Ce=null,gt.state=gt.state(Ie||lt,$e,gt),Ce&&(lt=Ce=="error"?lt+" error":Ce)),lt},indent:function($e,gt,lt){var At=$e.context;if($e.tokenize.isInAttribute)return $e.tagStart==$e.indented?$e.stringStartCol+1:$e.indented+Be;if(At&&At.noIndent)return Ge.Pass;if($e.tokenize!=je&&$e.tokenize!=Me)return lt?lt.match(/^(\s*)/)[0].length:0;if($e.tagName)return we.multilineTagIndentPastTag!==!1?$e.tagStart+$e.tagName.length+2:$e.tagStart+Be*(we.multilineTagIndentFactor||1);if(we.alignCDATA&&/<!\[CDATA\[/.test(gt))return 0;var Et=gt&&/^<(\/)?([\w_:\.-]*)/.exec(gt);if(Et&&Et[1])for(;At;)if(At.tagName==Et[2]){At=At.prev;break}else if(we.implicitlyClosed.hasOwnProperty(At.tagName))At=At.prev;else break;else if(Et)for(;At;){var vt=we.contextGrabbers[At.tagName];if(vt&&vt.hasOwnProperty(Et[2]))At=At.prev;else break}for(;At&&At.prev&&!At.startOfLine;)At=At.prev;return At?At.indent+Be:$e.baseIndent||0},electricInput:/<\/[\s\w:]+>$/,blockCommentStart:"<!--",blockCommentEnd:"-->",configuration:we.htmlMode?"html":"xml",helperType:we.htmlMode?"html":"xml",skipAttribute:function($e){$e.state==Ve&&($e.state=ze)},xmlCurrentTag:function($e){return $e.tagName?{name:$e.tagName,close:$e.type=="closeTag"}:null},xmlCurrentContext:function($e){for(var gt=[],lt=$e.context;lt;lt=lt.prev)lt.tagName&&gt.push(lt.tagName);return gt.reverse()}}}),Ge.defineMIME("text/xml","xml"),Ge.defineMIME("application/xml","xml"),Ge.mimeModes.hasOwnProperty("text/html")||Ge.defineMIME("text/html",{name:"xml",htmlMode:!0})})},45411:function(en){"use strict";en.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},75196:function(en,tn,Oe){var Ge=Oe(45411),tt=Oe(75029),Ue=Object.hasOwnProperty,Ne=Object.create(null);for(var Ke in Ge)Ue.call(Ge,Ke)&&(Ne[Ge[Ke]]=Ke);var Be=en.exports={to:{},get:{}};Be.get=function(ke){var Ie=ke.substring(0,3).toLowerCase(),Ce,Me;switch(Ie){case"hsl":Ce=Be.get.hsl(ke),Me="hsl";break;case"hwb":Ce=Be.get.hwb(ke),Me="hwb";break;default:Ce=Be.get.rgb(ke),Me="rgb";break}return Ce?{model:Me,value:Ce}:null},Be.get.rgb=function(ke){if(!ke)return null;var Ie=/^#([a-f0-9]{3,4})$/i,Ce=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,Me=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,je=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,ye=/^(\w+)$/,ie=[0,0,0,1],ae,fe,de;if(ae=ke.match(Ce)){for(de=ae[2],ae=ae[1],fe=0;fe<3;fe++){var ve=fe*2;ie[fe]=parseInt(ae.slice(ve,ve+2),16)}de&&(ie[3]=parseInt(de,16)/255)}else if(ae=ke.match(Ie)){for(ae=ae[1],de=ae[3],fe=0;fe<3;fe++)ie[fe]=parseInt(ae[fe]+ae[fe],16);de&&(ie[3]=parseInt(de+de,16)/255)}else if(ae=ke.match(Me)){for(fe=0;fe<3;fe++)ie[fe]=parseInt(ae[fe+1],0);ae[4]&&(ae[5]?ie[3]=parseFloat(ae[4])*.01:ie[3]=parseFloat(ae[4]))}else if(ae=ke.match(je)){for(fe=0;fe<3;fe++)ie[fe]=Math.round(parseFloat(ae[fe+1])*2.55);ae[4]&&(ae[5]?ie[3]=parseFloat(ae[4])*.01:ie[3]=parseFloat(ae[4]))}else return(ae=ke.match(ye))?ae[1]==="transparent"?[0,0,0,0]:Ue.call(Ge,ae[1])?(ie=Ge[ae[1]],ie[3]=1,ie):null:null;for(fe=0;fe<3;fe++)ie[fe]=we(ie[fe],0,255);return ie[3]=we(ie[3],0,1),ie},Be.get.hsl=function(ke){if(!ke)return null;var Ie=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,Ce=ke.match(Ie);if(Ce){var Me=parseFloat(Ce[4]),je=(parseFloat(Ce[1])%360+360)%360,ye=we(parseFloat(Ce[2]),0,100),ie=we(parseFloat(Ce[3]),0,100),ae=we(isNaN(Me)?1:Me,0,1);return[je,ye,ie,ae]}return null},Be.get.hwb=function(ke){if(!ke)return null;var Ie=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,Ce=ke.match(Ie);if(Ce){var Me=parseFloat(Ce[4]),je=(parseFloat(Ce[1])%360+360)%360,ye=we(parseFloat(Ce[2]),0,100),ie=we(parseFloat(Ce[3]),0,100),ae=we(isNaN(Me)?1:Me,0,1);return[je,ye,ie,ae]}return null},Be.to.hex=function(){var ke=tt(arguments);return"#"+Te(ke[0])+Te(ke[1])+Te(ke[2])+(ke[3]<1?Te(Math.round(ke[3]*255)):"")},Be.to.rgb=function(){var ke=tt(arguments);return ke.length<4||ke[3]===1?"rgb("+Math.round(ke[0])+", "+Math.round(ke[1])+", "+Math.round(ke[2])+")":"rgba("+Math.round(ke[0])+", "+Math.round(ke[1])+", "+Math.round(ke[2])+", "+ke[3]+")"},Be.to.rgb.percent=function(){var ke=tt(arguments),Ie=Math.round(ke[0]/255*100),Ce=Math.round(ke[1]/255*100),Me=Math.round(ke[2]/255*100);return ke.length<4||ke[3]===1?"rgb("+Ie+"%, "+Ce+"%, "+Me+"%)":"rgba("+Ie+"%, "+Ce+"%, "+Me+"%, "+ke[3]+")"},Be.to.hsl=function(){var ke=tt(arguments);return ke.length<4||ke[3]===1?"hsl("+ke[0]+", "+ke[1]+"%, "+ke[2]+"%)":"hsla("+ke[0]+", "+ke[1]+"%, "+ke[2]+"%, "+ke[3]+")"},Be.to.hwb=function(){var ke=tt(arguments),Ie="";return ke.length>=4&&ke[3]!==1&&(Ie=", "+ke[3]),"hwb("+ke[0]+", "+ke[1]+"%, "+ke[2]+"%"+Ie+")"},Be.to.keyword=function(ke){return Ne[ke.slice(0,3)]};function we(ke,Ie,Ce){return Math.min(Math.max(Ie,ke),Ce)}function Te(ke){var Ie=Math.round(ke).toString(16).toUpperCase();return Ie.length<2?"0"+Ie:Ie}},92546:function(en,tn,Oe){en.exports={graphlib:Oe(76626),layout:Oe(47194),debug:Oe(11303),util:{time:Oe(53063).time,notime:Oe(53063).notime},version:Oe(11897)}},81255:function(en,tn,Oe){"use strict";var Ge=Oe(72361),tt=Oe(39240);en.exports={run:Ue,undo:Ke};function Ue(Be){var we=Be.graph().acyclicer==="greedy"?tt(Be,Te(Be)):Ne(Be);Ge.forEach(we,function(ke){var Ie=Be.edge(ke);Be.removeEdge(ke),Ie.forwardName=ke.name,Ie.reversed=!0,Be.setEdge(ke.w,ke.v,Ie,Ge.uniqueId("rev"))});function Te(ke){return function(Ie){return ke.edge(Ie).weight}}}function Ne(Be){var we=[],Te={},ke={};function Ie(Ce){Ge.has(ke,Ce)||(ke[Ce]=!0,Te[Ce]=!0,Ge.forEach(Be.outEdges(Ce),function(Me){Ge.has(Te,Me.w)?we.push(Me):Ie(Me.w)}),delete Te[Ce])}return Ge.forEach(Be.nodes(),Ie),we}function Ke(Be){Ge.forEach(Be.edges(),function(we){var Te=Be.edge(we);if(Te.reversed){Be.removeEdge(we);var ke=Te.forwardName;delete Te.reversed,delete Te.forwardName,Be.setEdge(we.w,we.v,Te,ke)}})}},60765:function(en,tn,Oe){var Ge=Oe(72361),tt=Oe(53063);en.exports=Ue;function Ue(Ke){function Be(we){var Te=Ke.children(we),ke=Ke.node(we);if(Te.length&&Ge.forEach(Te,Be),Ge.has(ke,"minRank")){ke.borderLeft=[],ke.borderRight=[];for(var Ie=ke.minRank,Ce=ke.maxRank+1;Ie<Ce;++Ie)Ne(Ke,"borderLeft","_bl",we,ke,Ie),Ne(Ke,"borderRight","_br",we,ke,Ie)}}Ge.forEach(Ke.children(),Be)}function Ne(Ke,Be,we,Te,ke,Ie){var Ce={width:0,height:0,rank:Ie,borderType:Be},Me=ke[Be][Ie-1],je=tt.addDummyNode(Ke,"border",Ce,we);ke[Be][Ie]=je,Ke.setParent(je,Te),Me&&Ke.setEdge(Me,je,{weight:1})}},13257:function(en,tn,Oe){"use strict";var Ge=Oe(72361);en.exports={adjust:tt,undo:Ue};function tt(Ie){var Ce=Ie.graph().rankdir.toLowerCase();(Ce==="lr"||Ce==="rl")&&Ne(Ie)}function Ue(Ie){var Ce=Ie.graph().rankdir.toLowerCase();(Ce==="bt"||Ce==="rl")&&Be(Ie),(Ce==="lr"||Ce==="rl")&&(Te(Ie),Ne(Ie))}function Ne(Ie){Ge.forEach(Ie.nodes(),function(Ce){Ke(Ie.node(Ce))}),Ge.forEach(Ie.edges(),function(Ce){Ke(Ie.edge(Ce))})}function Ke(Ie){var Ce=Ie.width;Ie.width=Ie.height,Ie.height=Ce}function Be(Ie){Ge.forEach(Ie.nodes(),function(Ce){we(Ie.node(Ce))}),Ge.forEach(Ie.edges(),function(Ce){var Me=Ie.edge(Ce);Ge.forEach(Me.points,we),Ge.has(Me,"y")&&we(Me)})}function we(Ie){Ie.y=-Ie.y}function Te(Ie){Ge.forEach(Ie.nodes(),function(Ce){ke(Ie.node(Ce))}),Ge.forEach(Ie.edges(),function(Ce){var Me=Ie.edge(Ce);Ge.forEach(Me.points,ke),Ge.has(Me,"x")&&ke(Me)})}function ke(Ie){var Ce=Ie.x;Ie.x=Ie.y,Ie.y=Ce}},21135:function(en){en.exports=tn;function tn(){var tt={};tt._next=tt._prev=tt,this._sentinel=tt}tn.prototype.dequeue=function(){var tt=this._sentinel,Ue=tt._prev;if(Ue!==tt)return Oe(Ue),Ue},tn.prototype.enqueue=function(tt){var Ue=this._sentinel;tt._prev&&tt._next&&Oe(tt),tt._next=Ue._next,Ue._next._prev=tt,Ue._next=tt,tt._prev=Ue},tn.prototype.toString=function(){for(var tt=[],Ue=this._sentinel,Ne=Ue._prev;Ne!==Ue;)tt.push(JSON.stringify(Ne,Ge)),Ne=Ne._prev;return"["+tt.join(", ")+"]"};function Oe(tt){tt._prev._next=tt._next,tt._next._prev=tt._prev,delete tt._next,delete tt._prev}function Ge(tt,Ue){if(tt!=="_next"&&tt!=="_prev")return Ue}},11303:function(en,tn,Oe){var Ge=Oe(72361),tt=Oe(53063),Ue=Oe(76626).Graph;en.exports={debugOrdering:Ne};function Ne(Ke){var Be=tt.buildLayerMatrix(Ke),we=new Ue({compound:!0,multigraph:!0}).setGraph({});return Ge.forEach(Ke.nodes(),function(Te){we.setNode(Te,{label:Te}),we.setParent(Te,"layer"+Ke.node(Te).rank)}),Ge.forEach(Ke.edges(),function(Te){we.setEdge(Te.v,Te.w,{},Te.name)}),Ge.forEach(Be,function(Te,ke){var Ie="layer"+ke;we.setNode(Ie,{rank:"same"}),Ge.reduce(Te,function(Ce,Me){return we.setEdge(Ce,Me,{style:"invis"}),Me})}),we}},76626:function(en,tn,Oe){var Ge;try{Ge=Oe(75172)}catch(tt){}Ge||(Ge=window.graphlib),en.exports=Ge},39240:function(en,tn,Oe){var Ge=Oe(72361),tt=Oe(76626).Graph,Ue=Oe(21135);en.exports=Ke;var Ne=Ge.constant(1);function Ke(Ie,Ce){if(Ie.nodeCount()<=1)return[];var Me=Te(Ie,Ce||Ne),je=Be(Me.graph,Me.buckets,Me.zeroIdx);return Ge.flatten(Ge.map(je,function(ye){return Ie.outEdges(ye.v,ye.w)}),!0)}function Be(Ie,Ce,Me){for(var je=[],ye=Ce[Ce.length-1],ie=Ce[0],ae;Ie.nodeCount();){for(;ae=ie.dequeue();)we(Ie,Ce,Me,ae);for(;ae=ye.dequeue();)we(Ie,Ce,Me,ae);if(Ie.nodeCount()){for(var fe=Ce.length-2;fe>0;--fe)if(ae=Ce[fe].dequeue(),ae){je=je.concat(we(Ie,Ce,Me,ae,!0));break}}}return je}function we(Ie,Ce,Me,je,ye){var ie=ye?[]:void 0;return Ge.forEach(Ie.inEdges(je.v),function(ae){var fe=Ie.edge(ae),de=Ie.node(ae.v);ye&&ie.push({v:ae.v,w:ae.w}),de.out-=fe,ke(Ce,Me,de)}),Ge.forEach(Ie.outEdges(je.v),function(ae){var fe=Ie.edge(ae),de=ae.w,ve=Ie.node(de);ve.in-=fe,ke(Ce,Me,ve)}),Ie.removeNode(je.v),ie}function Te(Ie,Ce){var Me=new tt,je=0,ye=0;Ge.forEach(Ie.nodes(),function(fe){Me.setNode(fe,{v:fe,in:0,out:0})}),Ge.forEach(Ie.edges(),function(fe){var de=Me.edge(fe.v,fe.w)||0,ve=Ce(fe),xe=de+ve;Me.setEdge(fe.v,fe.w,xe),ye=Math.max(ye,Me.node(fe.v).out+=ve),je=Math.max(je,Me.node(fe.w).in+=ve)});var ie=Ge.range(ye+je+3).map(function(){return new Ue}),ae=je+1;return Ge.forEach(Me.nodes(),function(fe){ke(ie,ae,Me.node(fe))}),{graph:Me,buckets:ie,zeroIdx:ae}}function ke(Ie,Ce,Me){Me.out?Me.in?Ie[Me.out-Me.in+Ce].enqueue(Me):Ie[Ie.length-1].enqueue(Me):Ie[0].enqueue(Me)}},47194:function(en,tn,Oe){"use strict";var Ge=Oe(72361),tt=Oe(81255),Ue=Oe(27163),Ne=Oe(64505),Ke=Oe(53063).normalizeRanks,Be=Oe(71970),we=Oe(53063).removeEmptyRanks,Te=Oe(31733),ke=Oe(60765),Ie=Oe(13257),Ce=Oe(62852),Me=Oe(93021),je=Oe(53063),ye=Oe(76626).Graph;en.exports=ie;function ie(kt,Rt){var Gt=Rt&&Rt.debugTiming?je.time:je.notime;Gt("layout",function(){var ln=Gt(" buildLayoutGraph",function(){return Ze(kt)});Gt(" runLayout",function(){ae(ln,Gt)}),Gt(" updateInputGraph",function(){fe(kt,ln)})})}function ae(kt,Rt){Rt(" makeSpaceForEdgeLabels",function(){Ve(kt)}),Rt(" removeSelfEdges",function(){St(kt)}),Rt(" acyclic",function(){tt.run(kt)}),Rt(" nestingGraph.run",function(){Te.run(kt)}),Rt(" rank",function(){Ne(je.asNonCompoundGraph(kt))}),Rt(" injectEdgeLabelProxies",function(){Qe(kt)}),Rt(" removeEmptyRanks",function(){we(kt)}),Rt(" nestingGraph.cleanup",function(){Te.cleanup(kt)}),Rt(" normalizeRanks",function(){Ke(kt)}),Rt(" assignRankMinMax",function(){$e(kt)}),Rt(" removeEdgeLabelProxies",function(){gt(kt)}),Rt(" normalize.run",function(){Ue.run(kt)}),Rt(" parentDummyChains",function(){Be(kt)}),Rt(" addBorderSegments",function(){ke(kt)}),Rt(" order",function(){Ce(kt)}),Rt(" insertSelfEdges",function(){xt(kt)}),Rt(" adjustCoordinateSystem",function(){Ie.adjust(kt)}),Rt(" position",function(){Me(kt)}),Rt(" positionSelfEdges",function(){ct(kt)}),Rt(" removeBorderNodes",function(){Lt(kt)}),Rt(" normalize.undo",function(){Ue.undo(kt)}),Rt(" fixupEdgeLabelCoords",function(){Et(kt)}),Rt(" undoCoordinateSystem",function(){Ie.undo(kt)}),Rt(" translateGraph",function(){lt(kt)}),Rt(" assignNodeIntersects",function(){At(kt)}),Rt(" reversePoints",function(){vt(kt)}),Rt(" acyclic.undo",function(){tt.undo(kt)})}function fe(kt,Rt){Ge.forEach(kt.nodes(),function(Gt){var ln=kt.node(Gt),Rn=Rt.node(Gt);ln&&(ln.x=Rn.x,ln.y=Rn.y,Rt.children(Gt).length&&(ln.width=Rn.width,ln.height=Rn.height))}),Ge.forEach(kt.edges(),function(Gt){var ln=kt.edge(Gt),Rn=Rt.edge(Gt);ln.points=Rn.points,Ge.has(Rn,"x")&&(ln.x=Rn.x,ln.y=Rn.y)}),kt.graph().width=Rt.graph().width,kt.graph().height=Rt.graph().height}var de=["nodesep","edgesep","ranksep","marginx","marginy"],ve={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},xe=["acyclicer","ranker","rankdir","align"],ce=["width","height"],pe={width:0,height:0},Se=["minlen","weight","width","height","labeloffset"],Le={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},ze=["labelpos"];function Ze(kt){var Rt=new ye({multigraph:!0,compound:!0}),Gt=Xt(kt.graph());return Rt.setGraph(Ge.merge({},ve,Dt(Gt,de),Ge.pick(Gt,xe))),Ge.forEach(kt.nodes(),function(ln){var Rn=Xt(kt.node(ln));Rt.setNode(ln,Ge.defaults(Dt(Rn,ce),pe)),Rt.setParent(ln,kt.parent(ln))}),Ge.forEach(kt.edges(),function(ln){var Rn=Xt(kt.edge(ln));Rt.setEdge(ln,Ge.merge({},Le,Dt(Rn,Se),Ge.pick(Rn,ze)))}),Rt}function Ve(kt){var Rt=kt.graph();Rt.ranksep/=2,Ge.forEach(kt.edges(),function(Gt){var ln=kt.edge(Gt);ln.minlen*=2,ln.labelpos.toLowerCase()!=="c"&&(Rt.rankdir==="TB"||Rt.rankdir==="BT"?ln.width+=ln.labeloffset:ln.height+=ln.labeloffset)})}function Qe(kt){Ge.forEach(kt.edges(),function(Rt){var Gt=kt.edge(Rt);if(Gt.width&&Gt.height){var ln=kt.node(Rt.v),Rn=kt.node(Rt.w),jn={rank:(Rn.rank-ln.rank)/2+ln.rank,e:Rt};je.addDummyNode(kt,"edge-proxy",jn,"_ep")}})}function $e(kt){var Rt=0;Ge.forEach(kt.nodes(),function(Gt){var ln=kt.node(Gt);ln.borderTop&&(ln.minRank=kt.node(ln.borderTop).rank,ln.maxRank=kt.node(ln.borderBottom).rank,Rt=Ge.max(Rt,ln.maxRank))}),kt.graph().maxRank=Rt}function gt(kt){Ge.forEach(kt.nodes(),function(Rt){var Gt=kt.node(Rt);Gt.dummy==="edge-proxy"&&(kt.edge(Gt.e).labelRank=Gt.rank,kt.removeNode(Rt))})}function lt(kt){var Rt=Number.POSITIVE_INFINITY,Gt=0,ln=Number.POSITIVE_INFINITY,Rn=0,jn=kt.graph(),er=jn.marginx||0,an=jn.marginy||0;function Un(Kn){var ur=Kn.x,Xn=Kn.y,Nn=Kn.width,_n=Kn.height;Rt=Math.min(Rt,ur-Nn/2),Gt=Math.max(Gt,ur+Nn/2),ln=Math.min(ln,Xn-_n/2),Rn=Math.max(Rn,Xn+_n/2)}Ge.forEach(kt.nodes(),function(Kn){Un(kt.node(Kn))}),Ge.forEach(kt.edges(),function(Kn){var ur=kt.edge(Kn);Ge.has(ur,"x")&&Un(ur)}),Rt-=er,ln-=an,Ge.forEach(kt.nodes(),function(Kn){var ur=kt.node(Kn);ur.x-=Rt,ur.y-=ln}),Ge.forEach(kt.edges(),function(Kn){var ur=kt.edge(Kn);Ge.forEach(ur.points,function(Xn){Xn.x-=Rt,Xn.y-=ln}),Ge.has(ur,"x")&&(ur.x-=Rt),Ge.has(ur,"y")&&(ur.y-=ln)}),jn.width=Gt-Rt+er,jn.height=Rn-ln+an}function At(kt){Ge.forEach(kt.edges(),function(Rt){var Gt=kt.edge(Rt),ln=kt.node(Rt.v),Rn=kt.node(Rt.w),jn,er;Gt.points?(jn=Gt.points[0],er=Gt.points[Gt.points.length-1]):(Gt.points=[],jn=Rn,er=ln),Gt.points.unshift(je.intersectRect(ln,jn)),Gt.points.push(je.intersectRect(Rn,er))})}function Et(kt){Ge.forEach(kt.edges(),function(Rt){var Gt=kt.edge(Rt);if(Ge.has(Gt,"x"))switch((Gt.labelpos==="l"||Gt.labelpos==="r")&&(Gt.width-=Gt.labeloffset),Gt.labelpos){case"l":Gt.x-=Gt.width/2+Gt.labeloffset;break;case"r":Gt.x+=Gt.width/2+Gt.labeloffset;break}})}function vt(kt){Ge.forEach(kt.edges(),function(Rt){var Gt=kt.edge(Rt);Gt.reversed&&Gt.points.reverse()})}function Lt(kt){Ge.forEach(kt.nodes(),function(Rt){if(kt.children(Rt).length){var Gt=kt.node(Rt),ln=kt.node(Gt.borderTop),Rn=kt.node(Gt.borderBottom),jn=kt.node(Ge.last(Gt.borderLeft)),er=kt.node(Ge.last(Gt.borderRight));Gt.width=Math.abs(er.x-jn.x),Gt.height=Math.abs(Rn.y-ln.y),Gt.x=jn.x+Gt.width/2,Gt.y=ln.y+Gt.height/2}}),Ge.forEach(kt.nodes(),function(Rt){kt.node(Rt).dummy==="border"&&kt.removeNode(Rt)})}function St(kt){Ge.forEach(kt.edges(),function(Rt){if(Rt.v===Rt.w){var Gt=kt.node(Rt.v);Gt.selfEdges||(Gt.selfEdges=[]),Gt.selfEdges.push({e:Rt,label:kt.edge(Rt)}),kt.removeEdge(Rt)}})}function xt(kt){var Rt=je.buildLayerMatrix(kt);Ge.forEach(Rt,function(Gt){var ln=0;Ge.forEach(Gt,function(Rn,jn){var er=kt.node(Rn);er.order=jn+ln,Ge.forEach(er.selfEdges,function(an){je.addDummyNode(kt,"selfedge",{width:an.label.width,height:an.label.height,rank:er.rank,order:jn+ ++ln,e:an.e,label:an.label},"_se")}),delete er.selfEdges})})}function ct(kt){Ge.forEach(kt.nodes(),function(Rt){var Gt=kt.node(Rt);if(Gt.dummy==="selfedge"){var ln=kt.node(Gt.e.v),Rn=ln.x+ln.width/2,jn=ln.y,er=Gt.x-Rn,an=ln.height/2;kt.setEdge(Gt.e,Gt.label),kt.removeNode(Rt),Gt.label.points=[{x:Rn+2*er/3,y:jn-an},{x:Rn+5*er/6,y:jn-an},{x:Rn+er,y:jn},{x:Rn+5*er/6,y:jn+an},{x:Rn+2*er/3,y:jn+an}],Gt.label.x=Gt.x,Gt.label.y=Gt.y}})}function Dt(kt,Rt){return Ge.mapValues(Ge.pick(kt,Rt),Number)}function Xt(kt){var Rt={};return Ge.forEach(kt,function(Gt,ln){Rt[ln.toLowerCase()]=Gt}),Rt}},72361:function(en,tn,Oe){var Ge;try{Ge={cloneDeep:Oe(20250),constant:Oe(13503),defaults:Oe(28548),each:Oe(76934),filter:Oe(64725),find:Oe(79785),flatten:Oe(40151),forEach:Oe(99204),forIn:Oe(23190),has:Oe(99946),isUndefined:Oe(16513),last:Oe(10611),map:Oe(9924),mapValues:Oe(70642),max:Oe(95987),merge:Oe(28440),min:Oe(73376),minBy:Oe(83296),now:Oe(5795),pick:Oe(89409),range:Oe(60859),reduce:Oe(16473),sortBy:Oe(351),uniqueId:Oe(95708),values:Oe(81229),zipObject:Oe(65441)}}catch(tt){}Ge||(Ge=window._),en.exports=Ge},31733:function(en,tn,Oe){var Ge=Oe(72361),tt=Oe(53063);en.exports={run:Ue,cleanup:we};function Ue(Te){var ke=tt.addDummyNode(Te,"root",{},"_root"),Ie=Ke(Te),Ce=Ge.max(Ge.values(Ie))-1,Me=2*Ce+1;Te.graph().nestingRoot=ke,Ge.forEach(Te.edges(),function(ye){Te.edge(ye).minlen*=Me});var je=Be(Te)+1;Ge.forEach(Te.children(),function(ye){Ne(Te,ke,Me,je,Ce,Ie,ye)}),Te.graph().nodeRankFactor=Me}function Ne(Te,ke,Ie,Ce,Me,je,ye){var ie=Te.children(ye);if(!ie.length){ye!==ke&&Te.setEdge(ke,ye,{weight:0,minlen:Ie});return}var ae=tt.addBorderNode(Te,"_bt"),fe=tt.addBorderNode(Te,"_bb"),de=Te.node(ye);Te.setParent(ae,ye),de.borderTop=ae,Te.setParent(fe,ye),de.borderBottom=fe,Ge.forEach(ie,function(ve){Ne(Te,ke,Ie,Ce,Me,je,ve);var xe=Te.node(ve),ce=xe.borderTop?xe.borderTop:ve,pe=xe.borderBottom?xe.borderBottom:ve,Se=xe.borderTop?Ce:2*Ce,Le=ce!==pe?1:Me-je[ye]+1;Te.setEdge(ae,ce,{weight:Se,minlen:Le,nestingEdge:!0}),Te.setEdge(pe,fe,{weight:Se,minlen:Le,nestingEdge:!0})}),Te.parent(ye)||Te.setEdge(ke,ae,{weight:0,minlen:Me+je[ye]})}function Ke(Te){var ke={};function Ie(Ce,Me){var je=Te.children(Ce);je&&je.length&&Ge.forEach(je,function(ye){Ie(ye,Me+1)}),ke[Ce]=Me}return Ge.forEach(Te.children(),function(Ce){Ie(Ce,1)}),ke}function Be(Te){return Ge.reduce(Te.edges(),function(ke,Ie){return ke+Te.edge(Ie).weight},0)}function we(Te){var ke=Te.graph();Te.removeNode(ke.nestingRoot),delete ke.nestingRoot,Ge.forEach(Te.edges(),function(Ie){var Ce=Te.edge(Ie);Ce.nestingEdge&&Te.removeEdge(Ie)})}},27163:function(en,tn,Oe){"use strict";var Ge=Oe(72361),tt=Oe(53063);en.exports={run:Ue,undo:Ke};function Ue(Be){Be.graph().dummyChains=[],Ge.forEach(Be.edges(),function(we){Ne(Be,we)})}function Ne(Be,we){var Te=we.v,ke=Be.node(Te).rank,Ie=we.w,Ce=Be.node(Ie).rank,Me=we.name,je=Be.edge(we),ye=je.labelRank;if(Ce!==ke+1){Be.removeEdge(we);var ie,ae,fe;for(fe=0,++ke;ke<Ce;++fe,++ke)je.points=[],ae={width:0,height:0,edgeLabel:je,edgeObj:we,rank:ke},ie=tt.addDummyNode(Be,"edge",ae,"_d"),ke===ye&&(ae.width=je.width,ae.height=je.height,ae.dummy="edge-label",ae.labelpos=je.labelpos),Be.setEdge(Te,ie,{weight:je.weight},Me),fe===0&&Be.graph().dummyChains.push(ie),Te=ie;Be.setEdge(Te,Ie,{weight:je.weight},Me)}}function Ke(Be){Ge.forEach(Be.graph().dummyChains,function(we){var Te=Be.node(we),ke=Te.edgeLabel,Ie;for(Be.setEdge(Te.edgeObj,ke);Te.dummy;)Ie=Be.successors(we)[0],Be.removeNode(we),ke.points.push({x:Te.x,y:Te.y}),Te.dummy==="edge-label"&&(ke.x=Te.x,ke.y=Te.y,ke.width=Te.width,ke.height=Te.height),we=Ie,Te=Be.node(we)})}},52205:function(en,tn,Oe){var Ge=Oe(72361);en.exports=tt;function tt(Ue,Ne,Ke){var Be={},we;Ge.forEach(Ke,function(Te){for(var ke=Ue.parent(Te),Ie,Ce;ke;){if(Ie=Ue.parent(ke),Ie?(Ce=Be[Ie],Be[Ie]=ke):(Ce=we,we=ke),Ce&&Ce!==ke){Ne.setEdge(Ce,ke);return}ke=Ie}})}},99506:function(en,tn,Oe){var Ge=Oe(72361);en.exports=tt;function tt(Ue,Ne){return Ge.map(Ne,function(Ke){var Be=Ue.inEdges(Ke);if(Be.length){var we=Ge.reduce(Be,function(Te,ke){var Ie=Ue.edge(ke),Ce=Ue.node(ke.v);return{sum:Te.sum+Ie.weight*Ce.order,weight:Te.weight+Ie.weight}},{sum:0,weight:0});return{v:Ke,barycenter:we.sum/we.weight,weight:we.weight}}else return{v:Ke}})}},59105:function(en,tn,Oe){var Ge=Oe(72361),tt=Oe(76626).Graph;en.exports=Ue;function Ue(Ke,Be,we){var Te=Ne(Ke),ke=new tt({compound:!0}).setGraph({root:Te}).setDefaultNodeLabel(function(Ie){return Ke.node(Ie)});return Ge.forEach(Ke.nodes(),function(Ie){var Ce=Ke.node(Ie),Me=Ke.parent(Ie);(Ce.rank===Be||Ce.minRank<=Be&&Be<=Ce.maxRank)&&(ke.setNode(Ie),ke.setParent(Ie,Me||Te),Ge.forEach(Ke[we](Ie),function(je){var ye=je.v===Ie?je.w:je.v,ie=ke.edge(ye,Ie),ae=Ge.isUndefined(ie)?0:ie.weight;ke.setEdge(ye,Ie,{weight:Ke.edge(je).weight+ae})}),Ge.has(Ce,"minRank")&&ke.setNode(Ie,{borderLeft:Ce.borderLeft[Be],borderRight:Ce.borderRight[Be]}))}),ke}function Ne(Ke){for(var Be;Ke.hasNode(Be=Ge.uniqueId("_root")););return Be}},45456:function(en,tn,Oe){"use strict";var Ge=Oe(72361);en.exports=tt;function tt(Ne,Ke){for(var Be=0,we=1;we<Ke.length;++we)Be+=Ue(Ne,Ke[we-1],Ke[we]);return Be}function Ue(Ne,Ke,Be){for(var we=Ge.zipObject(Be,Ge.map(Be,function(je,ye){return ye})),Te=Ge.flatten(Ge.map(Ke,function(je){return Ge.sortBy(Ge.map(Ne.outEdges(je),function(ye){return{pos:we[ye.w],weight:Ne.edge(ye).weight}}),"pos")}),!0),ke=1;ke<Be.length;)ke<<=1;var Ie=2*ke-1;ke-=1;var Ce=Ge.map(new Array(Ie),function(){return 0}),Me=0;return Ge.forEach(Te.forEach(function(je){var ye=je.pos+ke;Ce[ye]+=je.weight;for(var ie=0;ye>0;)ye%2&&(ie+=Ce[ye+1]),ye=ye-1>>1,Ce[ye]+=je.weight;Me+=je.weight*ie})),Me}},62852:function(en,tn,Oe){"use strict";var Ge=Oe(72361),tt=Oe(18043),Ue=Oe(45456),Ne=Oe(86490),Ke=Oe(59105),Be=Oe(52205),we=Oe(76626).Graph,Te=Oe(53063);en.exports=ke;function ke(je){var ye=Te.maxRank(je),ie=Ie(je,Ge.range(1,ye+1),"inEdges"),ae=Ie(je,Ge.range(ye-1,-1,-1),"outEdges"),fe=tt(je);Me(je,fe);for(var de=Number.POSITIVE_INFINITY,ve,xe=0,ce=0;ce<4;++xe,++ce){Ce(xe%2?ie:ae,xe%4>=2),fe=Te.buildLayerMatrix(je);var pe=Ue(je,fe);pe<de&&(ce=0,ve=Ge.cloneDeep(fe),de=pe)}Me(je,ve)}function Ie(je,ye,ie){return Ge.map(ye,function(ae){return Ke(je,ae,ie)})}function Ce(je,ye){var ie=new we;Ge.forEach(je,function(ae){var fe=ae.graph().root,de=Ne(ae,fe,ie,ye);Ge.forEach(de.vs,function(ve,xe){ae.node(ve).order=xe}),Be(ae,ie,de.vs)})}function Me(je,ye){Ge.forEach(ye,function(ie){Ge.forEach(ie,function(ae,fe){je.node(ae).order=fe})})}},18043:function(en,tn,Oe){"use strict";var Ge=Oe(72361);en.exports=tt;function tt(Ue){var Ne={},Ke=Ge.filter(Ue.nodes(),function(Ie){return!Ue.children(Ie).length}),Be=Ge.max(Ge.map(Ke,function(Ie){return Ue.node(Ie).rank})),we=Ge.map(Ge.range(Be+1),function(){return[]});function Te(Ie){if(!Ge.has(Ne,Ie)){Ne[Ie]=!0;var Ce=Ue.node(Ie);we[Ce.rank].push(Ie),Ge.forEach(Ue.successors(Ie),Te)}}var ke=Ge.sortBy(Ke,function(Ie){return Ue.node(Ie).rank});return Ge.forEach(ke,Te),we}},45926:function(en,tn,Oe){"use strict";var Ge=Oe(72361);en.exports=tt;function tt(Ke,Be){var we={};Ge.forEach(Ke,function(ke,Ie){var Ce=we[ke.v]={indegree:0,in:[],out:[],vs:[ke.v],i:Ie};Ge.isUndefined(ke.barycenter)||(Ce.barycenter=ke.barycenter,Ce.weight=ke.weight)}),Ge.forEach(Be.edges(),function(ke){var Ie=we[ke.v],Ce=we[ke.w];!Ge.isUndefined(Ie)&&!Ge.isUndefined(Ce)&&(Ce.indegree++,Ie.out.push(we[ke.w]))});var Te=Ge.filter(we,function(ke){return!ke.indegree});return Ue(Te)}function Ue(Ke){var Be=[];function we(Ie){return function(Ce){Ce.merged||(Ge.isUndefined(Ce.barycenter)||Ge.isUndefined(Ie.barycenter)||Ce.barycenter>=Ie.barycenter)&&Ne(Ie,Ce)}}function Te(Ie){return function(Ce){Ce.in.push(Ie),--Ce.indegree===0&&Ke.push(Ce)}}for(;Ke.length;){var ke=Ke.pop();Be.push(ke),Ge.forEach(ke.in.reverse(),we(ke)),Ge.forEach(ke.out,Te(ke))}return Ge.map(Ge.filter(Be,function(Ie){return!Ie.merged}),function(Ie){return Ge.pick(Ie,["vs","i","barycenter","weight"])})}function Ne(Ke,Be){var we=0,Te=0;Ke.weight&&(we+=Ke.barycenter*Ke.weight,Te+=Ke.weight),Be.weight&&(we+=Be.barycenter*Be.weight,Te+=Be.weight),Ke.vs=Be.vs.concat(Ke.vs),Ke.barycenter=we/Te,Ke.weight=Te,Ke.i=Math.min(Be.i,Ke.i),Be.merged=!0}},86490:function(en,tn,Oe){var Ge=Oe(72361),tt=Oe(99506),Ue=Oe(45926),Ne=Oe(1349);en.exports=Ke;function Ke(Te,ke,Ie,Ce){var Me=Te.children(ke),je=Te.node(ke),ye=je?je.borderLeft:void 0,ie=je?je.borderRight:void 0,ae={};ye&&(Me=Ge.filter(Me,function(pe){return pe!==ye&&pe!==ie}));var fe=tt(Te,Me);Ge.forEach(fe,function(pe){if(Te.children(pe.v).length){var Se=Ke(Te,pe.v,Ie,Ce);ae[pe.v]=Se,Ge.has(Se,"barycenter")&&we(pe,Se)}});var de=Ue(fe,Ie);Be(de,ae);var ve=Ne(de,Ce);if(ye&&(ve.vs=Ge.flatten([ye,ve.vs,ie],!0),Te.predecessors(ye).length)){var xe=Te.node(Te.predecessors(ye)[0]),ce=Te.node(Te.predecessors(ie)[0]);Ge.has(ve,"barycenter")||(ve.barycenter=0,ve.weight=0),ve.barycenter=(ve.barycenter*ve.weight+xe.order+ce.order)/(ve.weight+2),ve.weight+=2}return ve}function Be(Te,ke){Ge.forEach(Te,function(Ie){Ie.vs=Ge.flatten(Ie.vs.map(function(Ce){return ke[Ce]?ke[Ce].vs:Ce}),!0)})}function we(Te,ke){Ge.isUndefined(Te.barycenter)?(Te.barycenter=ke.barycenter,Te.weight=ke.weight):(Te.barycenter=(Te.barycenter*Te.weight+ke.barycenter*ke.weight)/(Te.weight+ke.weight),Te.weight+=ke.weight)}},1349:function(en,tn,Oe){var Ge=Oe(72361),tt=Oe(53063);en.exports=Ue;function Ue(Be,we){var Te=tt.partition(Be,function(ae){return Ge.has(ae,"barycenter")}),ke=Te.lhs,Ie=Ge.sortBy(Te.rhs,function(ae){return-ae.i}),Ce=[],Me=0,je=0,ye=0;ke.sort(Ke(!!we)),ye=Ne(Ce,Ie,ye),Ge.forEach(ke,function(ae){ye+=ae.vs.length,Ce.push(ae.vs),Me+=ae.barycenter*ae.weight,je+=ae.weight,ye=Ne(Ce,Ie,ye)});var ie={vs:Ge.flatten(Ce,!0)};return je&&(ie.barycenter=Me/je,ie.weight=je),ie}function Ne(Be,we,Te){for(var ke;we.length&&(ke=Ge.last(we)).i<=Te;)we.pop(),Be.push(ke.vs),Te++;return Te}function Ke(Be){return function(we,Te){return we.barycenter<Te.barycenter?-1:we.barycenter>Te.barycenter?1:Be?Te.i-we.i:we.i-Te.i}}},71970:function(en,tn,Oe){var Ge=Oe(72361);en.exports=tt;function tt(Ke){var Be=Ne(Ke);Ge.forEach(Ke.graph().dummyChains,function(we){for(var Te=Ke.node(we),ke=Te.edgeObj,Ie=Ue(Ke,Be,ke.v,ke.w),Ce=Ie.path,Me=Ie.lca,je=0,ye=Ce[je],ie=!0;we!==ke.w;){if(Te=Ke.node(we),ie){for(;(ye=Ce[je])!==Me&&Ke.node(ye).maxRank<Te.rank;)je++;ye===Me&&(ie=!1)}if(!ie){for(;je<Ce.length-1&&Ke.node(ye=Ce[je+1]).minRank<=Te.rank;)je++;ye=Ce[je]}Ke.setParent(we,ye),we=Ke.successors(we)[0]}})}function Ue(Ke,Be,we,Te){var ke=[],Ie=[],Ce=Math.min(Be[we].low,Be[Te].low),Me=Math.max(Be[we].lim,Be[Te].lim),je,ye;je=we;do je=Ke.parent(je),ke.push(je);while(je&&(Be[je].low>Ce||Me>Be[je].lim));for(ye=je,je=Te;(je=Ke.parent(je))!==ye;)Ie.push(je);return{path:ke.concat(Ie.reverse()),lca:ye}}function Ne(Ke){var Be={},we=0;function Te(ke){var Ie=we;Ge.forEach(Ke.children(ke),Te),Be[ke]={low:Ie,lim:we++}}return Ge.forEach(Ke.children(),Te),Be}},92080:function(en,tn,Oe){"use strict";var Ge=Oe(72361),tt=Oe(76626).Graph,Ue=Oe(53063);en.exports={positionX:ie,findType1Conflicts:Ne,findType2Conflicts:Ke,addConflict:we,hasConflict:Te,verticalAlignment:ke,horizontalCompaction:Ie,alignCoordinates:je,findSmallestWidthAlignment:Me,balance:ye};function Ne(de,ve){var xe={};function ce(pe,Se){var Le=0,ze=0,Ze=pe.length,Ve=Ge.last(Se);return Ge.forEach(Se,function(Qe,$e){var gt=Be(de,Qe),lt=gt?de.node(gt).order:Ze;(gt||Qe===Ve)&&(Ge.forEach(Se.slice(ze,$e+1),function(At){Ge.forEach(de.predecessors(At),function(Et){var vt=de.node(Et),Lt=vt.order;(Lt<Le||lt<Lt)&&!(vt.dummy&&de.node(At).dummy)&&we(xe,Et,At)})}),ze=$e+1,Le=lt)}),Se}return Ge.reduce(ve,ce),xe}function Ke(de,ve){var xe={};function ce(Se,Le,ze,Ze,Ve){var Qe;Ge.forEach(Ge.range(Le,ze),function($e){Qe=Se[$e],de.node(Qe).dummy&&Ge.forEach(de.predecessors(Qe),function(gt){var lt=de.node(gt);lt.dummy&&(lt.order<Ze||lt.order>Ve)&&we(xe,gt,Qe)})})}function pe(Se,Le){var ze=-1,Ze,Ve=0;return Ge.forEach(Le,function(Qe,$e){if(de.node(Qe).dummy==="border"){var gt=de.predecessors(Qe);gt.length&&(Ze=de.node(gt[0]).order,ce(Le,Ve,$e,ze,Ze),Ve=$e,ze=Ze)}ce(Le,Ve,Le.length,Ze,Se.length)}),Le}return Ge.reduce(ve,pe),xe}function Be(de,ve){if(de.node(ve).dummy)return Ge.find(de.predecessors(ve),function(xe){return de.node(xe).dummy})}function we(de,ve,xe){if(ve>xe){var ce=ve;ve=xe,xe=ce}var pe=de[ve];pe||(de[ve]=pe={}),pe[xe]=!0}function Te(de,ve,xe){if(ve>xe){var ce=ve;ve=xe,xe=ce}return Ge.has(de[ve],xe)}function ke(de,ve,xe,ce){var pe={},Se={},Le={};return Ge.forEach(ve,function(ze){Ge.forEach(ze,function(Ze,Ve){pe[Ze]=Ze,Se[Ze]=Ze,Le[Ze]=Ve})}),Ge.forEach(ve,function(ze){var Ze=-1;Ge.forEach(ze,function(Ve){var Qe=ce(Ve);if(Qe.length){Qe=Ge.sortBy(Qe,function(Et){return Le[Et]});for(var $e=(Qe.length-1)/2,gt=Math.floor($e),lt=Math.ceil($e);gt<=lt;++gt){var At=Qe[gt];Se[Ve]===Ve&&Ze<Le[At]&&!Te(xe,Ve,At)&&(Se[At]=Ve,Se[Ve]=pe[Ve]=pe[At],Ze=Le[At])}}})}),{root:pe,align:Se}}function Ie(de,ve,xe,ce,pe){var Se={},Le=Ce(de,ve,xe,pe),ze=pe?"borderLeft":"borderRight";function Ze($e,gt){for(var lt=Le.nodes(),At=lt.pop(),Et={};At;)Et[At]?$e(At):(Et[At]=!0,lt.push(At),lt=lt.concat(gt(At))),At=lt.pop()}function Ve($e){Se[$e]=Le.inEdges($e).reduce(function(gt,lt){return Math.max(gt,Se[lt.v]+Le.edge(lt))},0)}function Qe($e){var gt=Le.outEdges($e).reduce(function(At,Et){return Math.min(At,Se[Et.w]-Le.edge(Et))},Number.POSITIVE_INFINITY),lt=de.node($e);gt!==Number.POSITIVE_INFINITY&&lt.borderType!==ze&&(Se[$e]=Math.max(Se[$e],gt))}return Ze(Ve,Le.predecessors.bind(Le)),Ze(Qe,Le.successors.bind(Le)),Ge.forEach(ce,function($e){Se[$e]=Se[xe[$e]]}),Se}function Ce(de,ve,xe,ce){var pe=new tt,Se=de.graph(),Le=ae(Se.nodesep,Se.edgesep,ce);return Ge.forEach(ve,function(ze){var Ze;Ge.forEach(ze,function(Ve){var Qe=xe[Ve];if(pe.setNode(Qe),Ze){var $e=xe[Ze],gt=pe.edge($e,Qe);pe.setEdge($e,Qe,Math.max(Le(de,Ve,Ze),gt||0))}Ze=Ve})}),pe}function Me(de,ve){return Ge.minBy(Ge.values(ve),function(xe){var ce=Number.NEGATIVE_INFINITY,pe=Number.POSITIVE_INFINITY;return Ge.forIn(xe,function(Se,Le){var ze=fe(de,Le)/2;ce=Math.max(Se+ze,ce),pe=Math.min(Se-ze,pe)}),ce-pe})}function je(de,ve){var xe=Ge.values(ve),ce=Ge.min(xe),pe=Ge.max(xe);Ge.forEach(["u","d"],function(Se){Ge.forEach(["l","r"],function(Le){var ze=Se+Le,Ze=de[ze],Ve;if(Ze!==ve){var Qe=Ge.values(Ze);Ve=Le==="l"?ce-Ge.min(Qe):pe-Ge.max(Qe),Ve&&(de[ze]=Ge.mapValues(Ze,function($e){return $e+Ve}))}})})}function ye(de,ve){return Ge.mapValues(de.ul,function(xe,ce){if(ve)return de[ve.toLowerCase()][ce];var pe=Ge.sortBy(Ge.map(de,ce));return(pe[1]+pe[2])/2})}function ie(de){var ve=Ue.buildLayerMatrix(de),xe=Ge.merge(Ne(de,ve),Ke(de,ve)),ce={},pe;Ge.forEach(["u","d"],function(Le){pe=Le==="u"?ve:Ge.values(ve).reverse(),Ge.forEach(["l","r"],function(ze){ze==="r"&&(pe=Ge.map(pe,function($e){return Ge.values($e).reverse()}));var Ze=(Le==="u"?de.predecessors:de.successors).bind(de),Ve=ke(de,pe,xe,Ze),Qe=Ie(de,pe,Ve.root,Ve.align,ze==="r");ze==="r"&&(Qe=Ge.mapValues(Qe,function($e){return-$e})),ce[Le+ze]=Qe})});var Se=Me(de,ce);return je(ce,Se),ye(ce,de.graph().align)}function ae(de,ve,xe){return function(ce,pe,Se){var Le=ce.node(pe),ze=ce.node(Se),Ze=0,Ve;if(Ze+=Le.width/2,Ge.has(Le,"labelpos"))switch(Le.labelpos.toLowerCase()){case"l":Ve=-Le.width/2;break;case"r":Ve=Le.width/2;break}if(Ve&&(Ze+=xe?Ve:-Ve),Ve=0,Ze+=(Le.dummy?ve:de)/2,Ze+=(ze.dummy?ve:de)/2,Ze+=ze.width/2,Ge.has(ze,"labelpos"))switch(ze.labelpos.toLowerCase()){case"l":Ve=ze.width/2;break;case"r":Ve=-ze.width/2;break}return Ve&&(Ze+=xe?Ve:-Ve),Ve=0,Ze}}function fe(de,ve){return de.node(ve).width}},93021:function(en,tn,Oe){"use strict";var Ge=Oe(72361),tt=Oe(53063),Ue=Oe(92080).positionX;en.exports=Ne;function Ne(Be){Be=tt.asNonCompoundGraph(Be),Ke(Be),Ge.forEach(Ue(Be),function(we,Te){Be.node(Te).x=we})}function Ke(Be){var we=tt.buildLayerMatrix(Be),Te=Be.graph().ranksep,ke=0;Ge.forEach(we,function(Ie){var Ce=Ge.max(Ge.map(Ie,function(Me){return Be.node(Me).height}));Ge.forEach(Ie,function(Me){Be.node(Me).y=ke+Ce/2}),ke+=Ce+Te})}},61031:function(en,tn,Oe){"use strict";var Ge=Oe(72361),tt=Oe(76626).Graph,Ue=Oe(2416).slack;en.exports=Ne;function Ne(Te){var ke=new tt({directed:!1}),Ie=Te.nodes()[0],Ce=Te.nodeCount();ke.setNode(Ie,{});for(var Me,je;Ke(ke,Te)<Ce;)Me=Be(ke,Te),je=ke.hasNode(Me.v)?Ue(Te,Me):-Ue(Te,Me),we(ke,Te,je);return ke}function Ke(Te,ke){function Ie(Ce){Ge.forEach(ke.nodeEdges(Ce),function(Me){var je=Me.v,ye=Ce===je?Me.w:je;!Te.hasNode(ye)&&!Ue(ke,Me)&&(Te.setNode(ye,{}),Te.setEdge(Ce,ye,{}),Ie(ye))})}return Ge.forEach(Te.nodes(),Ie),Te.nodeCount()}function Be(Te,ke){return Ge.minBy(ke.edges(),function(Ie){if(Te.hasNode(Ie.v)!==Te.hasNode(Ie.w))return Ue(ke,Ie)})}function we(Te,ke,Ie){Ge.forEach(Te.nodes(),function(Ce){ke.node(Ce).rank+=Ie})}},64505:function(en,tn,Oe){"use strict";var Ge=Oe(2416),tt=Ge.longestPath,Ue=Oe(61031),Ne=Oe(77076);en.exports=Ke;function Ke(ke){switch(ke.graph().ranker){case"network-simplex":Te(ke);break;case"tight-tree":we(ke);break;case"longest-path":Be(ke);break;default:Te(ke)}}var Be=tt;function we(ke){tt(ke),Ue(ke)}function Te(ke){Ne(ke)}},77076:function(en,tn,Oe){"use strict";var Ge=Oe(72361),tt=Oe(61031),Ue=Oe(2416).slack,Ne=Oe(2416).longestPath,Ke=Oe(76626).alg.preorder,Be=Oe(76626).alg.postorder,we=Oe(53063).simplify;en.exports=Te,Te.initLowLimValues=Me,Te.initCutValues=ke,Te.calcCutValue=Ce,Te.leaveEdge=ye,Te.enterEdge=ie,Te.exchangeEdges=ae;function Te(xe){xe=we(xe),Ne(xe);var ce=tt(xe);Me(ce),ke(ce,xe);for(var pe,Se;pe=ye(ce);)Se=ie(ce,xe,pe),ae(ce,xe,pe,Se)}function ke(xe,ce){var pe=Be(xe,xe.nodes());pe=pe.slice(0,pe.length-1),Ge.forEach(pe,function(Se){Ie(xe,ce,Se)})}function Ie(xe,ce,pe){var Se=xe.node(pe),Le=Se.parent;xe.edge(pe,Le).cutvalue=Ce(xe,ce,pe)}function Ce(xe,ce,pe){var Se=xe.node(pe),Le=Se.parent,ze=!0,Ze=ce.edge(pe,Le),Ve=0;return Ze||(ze=!1,Ze=ce.edge(Le,pe)),Ve=Ze.weight,Ge.forEach(ce.nodeEdges(pe),function(Qe){var $e=Qe.v===pe,gt=$e?Qe.w:Qe.v;if(gt!==Le){var lt=$e===ze,At=ce.edge(Qe).weight;if(Ve+=lt?At:-At,de(xe,pe,gt)){var Et=xe.edge(pe,gt).cutvalue;Ve+=lt?-Et:Et}}}),Ve}function Me(xe,ce){arguments.length<2&&(ce=xe.nodes()[0]),je(xe,{},1,ce)}function je(xe,ce,pe,Se,Le){var ze=pe,Ze=xe.node(Se);return ce[Se]=!0,Ge.forEach(xe.neighbors(Se),function(Ve){Ge.has(ce,Ve)||(pe=je(xe,ce,pe,Ve,Se))}),Ze.low=ze,Ze.lim=pe++,Le?Ze.parent=Le:delete Ze.parent,pe}function ye(xe){return Ge.find(xe.edges(),function(ce){return xe.edge(ce).cutvalue<0})}function ie(xe,ce,pe){var Se=pe.v,Le=pe.w;ce.hasEdge(Se,Le)||(Se=pe.w,Le=pe.v);var ze=xe.node(Se),Ze=xe.node(Le),Ve=ze,Qe=!1;ze.lim>Ze.lim&&(Ve=Ze,Qe=!0);var $e=Ge.filter(ce.edges(),function(gt){return Qe===ve(xe,xe.node(gt.v),Ve)&&Qe!==ve(xe,xe.node(gt.w),Ve)});return Ge.minBy($e,function(gt){return Ue(ce,gt)})}function ae(xe,ce,pe,Se){var Le=pe.v,ze=pe.w;xe.removeEdge(Le,ze),xe.setEdge(Se.v,Se.w,{}),Me(xe),ke(xe,ce),fe(xe,ce)}function fe(xe,ce){var pe=Ge.find(xe.nodes(),function(Le){return!ce.node(Le).parent}),Se=Ke(xe,pe);Se=Se.slice(1),Ge.forEach(Se,function(Le){var ze=xe.node(Le).parent,Ze=ce.edge(Le,ze),Ve=!1;Ze||(Ze=ce.edge(ze,Le),Ve=!0),ce.node(Le).rank=ce.node(ze).rank+(Ve?Ze.minlen:-Ze.minlen)})}function de(xe,ce,pe){return xe.hasEdge(ce,pe)}function ve(xe,ce,pe){return pe.low<=ce.lim&&ce.lim<=pe.lim}},2416:function(en,tn,Oe){"use strict";var Ge=Oe(72361);en.exports={longestPath:tt,slack:Ue};function tt(Ne){var Ke={};function Be(we){var Te=Ne.node(we);if(Ge.has(Ke,we))return Te.rank;Ke[we]=!0;var ke=Ge.min(Ge.map(Ne.outEdges(we),function(Ie){return Be(Ie.w)-Ne.edge(Ie).minlen}));return(ke===Number.POSITIVE_INFINITY||ke===void 0||ke===null)&&(ke=0),Te.rank=ke}Ge.forEach(Ne.sources(),Be)}function Ue(Ne,Ke){return Ne.node(Ke.w).rank-Ne.node(Ke.v).rank-Ne.edge(Ke).minlen}},53063:function(en,tn,Oe){"use strict";var Ge=Oe(72361),tt=Oe(76626).Graph;en.exports={addDummyNode:Ue,simplify:Ne,asNonCompoundGraph:Ke,successorWeights:Be,predecessorWeights:we,intersectRect:Te,buildLayerMatrix:ke,normalizeRanks:Ie,removeEmptyRanks:Ce,addBorderNode:Me,maxRank:je,partition:ye,time:ie,notime:ae};function Ue(fe,de,ve,xe){var ce;do ce=Ge.uniqueId(xe);while(fe.hasNode(ce));return ve.dummy=de,fe.setNode(ce,ve),ce}function Ne(fe){var de=new tt().setGraph(fe.graph());return Ge.forEach(fe.nodes(),function(ve){de.setNode(ve,fe.node(ve))}),Ge.forEach(fe.edges(),function(ve){var xe=de.edge(ve.v,ve.w)||{weight:0,minlen:1},ce=fe.edge(ve);de.setEdge(ve.v,ve.w,{weight:xe.weight+ce.weight,minlen:Math.max(xe.minlen,ce.minlen)})}),de}function Ke(fe){var de=new tt({multigraph:fe.isMultigraph()}).setGraph(fe.graph());return Ge.forEach(fe.nodes(),function(ve){fe.children(ve).length||de.setNode(ve,fe.node(ve))}),Ge.forEach(fe.edges(),function(ve){de.setEdge(ve,fe.edge(ve))}),de}function Be(fe){var de=Ge.map(fe.nodes(),function(ve){var xe={};return Ge.forEach(fe.outEdges(ve),function(ce){xe[ce.w]=(xe[ce.w]||0)+fe.edge(ce).weight}),xe});return Ge.zipObject(fe.nodes(),de)}function we(fe){var de=Ge.map(fe.nodes(),function(ve){var xe={};return Ge.forEach(fe.inEdges(ve),function(ce){xe[ce.v]=(xe[ce.v]||0)+fe.edge(ce).weight}),xe});return Ge.zipObject(fe.nodes(),de)}function Te(fe,de){var ve=fe.x,xe=fe.y,ce=de.x-ve,pe=de.y-xe,Se=fe.width/2,Le=fe.height/2;if(!ce&&!pe)throw new Error("Not possible to find intersection inside of the rectangle");var ze,Ze;return Math.abs(pe)*Se>Math.abs(ce)*Le?(pe<0&&(Le=-Le),ze=Le*ce/pe,Ze=Le):(ce<0&&(Se=-Se),ze=Se,Ze=Se*pe/ce),{x:ve+ze,y:xe+Ze}}function ke(fe){var de=Ge.map(Ge.range(je(fe)+1),function(){return[]});return Ge.forEach(fe.nodes(),function(ve){var xe=fe.node(ve),ce=xe.rank;Ge.isUndefined(ce)||(de[ce][xe.order]=ve)}),de}function Ie(fe){var de=Ge.min(Ge.map(fe.nodes(),function(ve){return fe.node(ve).rank}));Ge.forEach(fe.nodes(),function(ve){var xe=fe.node(ve);Ge.has(xe,"rank")&&(xe.rank-=de)})}function Ce(fe){var de=Ge.min(Ge.map(fe.nodes(),function(pe){return fe.node(pe).rank})),ve=[];Ge.forEach(fe.nodes(),function(pe){var Se=fe.node(pe).rank-de;ve[Se]||(ve[Se]=[]),ve[Se].push(pe)});var xe=0,ce=fe.graph().nodeRankFactor;Ge.forEach(ve,function(pe,Se){Ge.isUndefined(pe)&&Se%ce!==0?--xe:xe&&Ge.forEach(pe,function(Le){fe.node(Le).rank+=xe})})}function Me(fe,de,ve,xe){var ce={width:0,height:0};return arguments.length>=4&&(ce.rank=ve,ce.order=xe),Ue(fe,"border",ce,de)}function je(fe){return Ge.max(Ge.map(fe.nodes(),function(de){var ve=fe.node(de).rank;if(!Ge.isUndefined(ve))return ve}))}function ye(fe,de){var ve={lhs:[],rhs:[]};return Ge.forEach(fe,function(xe){de(xe)?ve.lhs.push(xe):ve.rhs.push(xe)}),ve}function ie(fe,de){var ve=Ge.now();try{return de()}finally{console.log(fe+" time: "+(Ge.now()-ve)+"ms")}}function ae(fe,de){return de()}},11897:function(en){en.exports="0.8.5"},97774:function(en,tn,Oe){"use strict";Object.defineProperty(tn,"__esModule",{value:!0}),tn.default=void 0;var Ge=Object.assign||function(ae){for(var fe=1;fe<arguments.length;fe++){var de=arguments[fe];for(var ve in de)Object.prototype.hasOwnProperty.call(de,ve)&&(ae[ve]=de[ve])}return ae},tt=function(){function ae(fe,de){for(var ve=0;ve<de.length;ve++){var xe=de[ve];xe.enumerable=xe.enumerable||!1,xe.configurable=!0,"value"in xe&&(xe.writable=!0),Object.defineProperty(fe,xe.key,xe)}}return function(fe,de,ve){return de&&ae(fe.prototype,de),ve&&ae(fe,ve),fe}}(),Ue=Oe(59301),Ne=Ce(Ue),Ke=Oe(12708),Be=Ce(Ke),we=Oe(53291),Te=Ce(we),ke=Oe(47242),Ie=Oe(65429);function Ce(ae){return ae&&ae.__esModule?ae:{default:ae}}function Me(ae,fe){if(!(ae instanceof fe))throw new TypeError("Cannot call a class as a function")}function je(ae,fe){if(!ae)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return fe&&(typeof fe=="object"||typeof fe=="function")?fe:ae}function ye(ae,fe){if(typeof fe!="function"&&fe!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof fe);ae.prototype=Object.create(fe&&fe.prototype,{constructor:{value:ae,enumerable:!1,writable:!0,configurable:!0}}),fe&&(Object.setPrototypeOf?Object.setPrototypeOf(ae,fe):ae.__proto__=fe)}var ie=function(ae){ye(fe,ae);function fe(de){Me(this,fe);var ve=je(this,(fe.__proto__||Object.getPrototypeOf(fe)).call(this,de));return ve.getEchartsInstance=function(){return ve.echartsLib.getInstanceByDom(ve.echartsElement)||ve.echartsLib.init(ve.echartsElement,ve.props.theme,ve.props.opts)},ve.dispose=function(){if(ve.echartsElement){try{(0,ke.clear)(ve.echartsElement)}catch(xe){console.warn(xe)}ve.echartsLib.dispose(ve.echartsElement)}},ve.rerender=function(){var xe=ve.props,ce=xe.onEvents,pe=xe.onChartReady,Se=ve.renderEchartDom();ve.bindEvents(Se,ce||{}),typeof pe=="function"&&ve.props.onChartReady(Se),ve.echartsElement&&(0,ke.bind)(ve.echartsElement,function(){try{Se.resize()}catch(Le){console.warn(Le)}})},ve.bindEvents=function(xe,ce){var pe=function(ze,Ze){typeof ze=="string"&&typeof Ze=="function"&&xe.on(ze,function(Ve){Ze(Ve,xe)})};for(var Se in ce)Object.prototype.hasOwnProperty.call(ce,Se)&&pe(Se,ce[Se])},ve.renderEchartDom=function(){var xe=ve.getEchartsInstance();return xe.setOption(ve.props.option,ve.props.notMerge||!1,ve.props.lazyUpdate||!1),ve.props.showLoading?xe.showLoading(ve.props.loadingOption||null):xe.hideLoading(),xe},ve.echartsLib=de.echarts,ve.echartsElement=null,ve}return tt(fe,[{key:"componentDidMount",value:function(){this.rerender()}},{key:"componentDidUpdate",value:function(ve){if(!(typeof this.props.shouldSetOption=="function"&&!this.props.shouldSetOption(ve,this.props))){if(!(0,Te.default)(ve.theme,this.props.theme)||!(0,Te.default)(ve.opts,this.props.opts)||!(0,Te.default)(ve.onEvents,this.props.onEvents)){this.dispose(),this.rerender();return}var xe=["option","notMerge","lazyUpdate","showLoading","loadingOption"];if(!(0,Te.default)((0,Ie.pick)(this.props,xe),(0,Ie.pick)(ve,xe))){var ce=this.renderEchartDom();if(!(0,Te.default)(ve.style,this.props.style)||!(0,Te.default)(ve.className,this.props.className))try{ce.resize()}catch(pe){console.warn(pe)}}}}},{key:"componentWillUnmount",value:function(){this.dispose()}},{key:"render",value:function(){var ve=this,xe=this.props,ce=xe.style,pe=xe.className,Se=Ge({height:300},ce);return Ne.default.createElement("div",{ref:function(ze){ve.echartsElement=ze},style:Se,className:"echarts-for-react "+pe})}}]),fe}(Ue.Component);tn.default=ie,ie.propTypes={option:Be.default.object.isRequired,echarts:Be.default.object,notMerge:Be.default.bool,lazyUpdate:Be.default.bool,style:Be.default.object,className:Be.default.string,theme:Be.default.oneOfType([Be.default.string,Be.default.object]),onChartReady:Be.default.func,showLoading:Be.default.bool,loadingOption:Be.default.object,onEvents:Be.default.object,opts:Be.default.shape({devicePixelRatio:Be.default.number,renderer:Be.default.oneOf(["canvas","svg"]),width:Be.default.oneOfType([Be.default.number,Be.default.oneOf([null,void 0,"auto"])]),height:Be.default.oneOfType([Be.default.number,Be.default.oneOf([null,void 0,"auto"])])}),shouldSetOption:Be.default.func},ie.defaultProps={echarts:{},notMerge:!1,lazyUpdate:!1,style:{},className:"",theme:null,onChartReady:function(){},showLoading:!1,loadingOption:null,onEvents:{},opts:{},shouldSetOption:function(){return!0}}},42441:function(en,tn,Oe){"use strict";var Ge;Ge={value:!0},tn.Z=void 0;var tt=Oe(76411),Ue=Be(tt),Ne=Oe(97774),Ke=Be(Ne);function Be(Ce){return Ce&&Ce.__esModule?Ce:{default:Ce}}function we(Ce,Me){if(!(Ce instanceof Me))throw new TypeError("Cannot call a class as a function")}function Te(Ce,Me){if(!Ce)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Me&&(typeof Me=="object"||typeof Me=="function")?Me:Ce}function ke(Ce,Me){if(typeof Me!="function"&&Me!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof Me);Ce.prototype=Object.create(Me&&Me.prototype,{constructor:{value:Ce,enumerable:!1,writable:!0,configurable:!0}}),Me&&(Object.setPrototypeOf?Object.setPrototypeOf(Ce,Me):Ce.__proto__=Me)}var Ie=function(Ce){ke(Me,Ce);function Me(je){we(this,Me);var ye=Te(this,(Me.__proto__||Object.getPrototypeOf(Me)).call(this,je));return ye.echartsLib=Ue.default,ye}return Me}(Ke.default);tn.Z=Ie},65429:function(en,tn){"use strict";Object.defineProperty(tn,"__esModule",{value:!0});var Oe=tn.pick=function(tt,Ue){var Ne={};return Ue.forEach(function(Ke){Ne[Ke]=tt[Ke]}),Ne}},48961:function(en,tn,Oe){(function(tt,Ue){en.exports=Ue(Oe(76411))})(this,function(Ge){return function(tt){var Ue={};function Ne(Ke){if(Ue[Ke])return Ue[Ke].exports;var Be=Ue[Ke]={i:Ke,l:!1,exports:{}};return tt[Ke].call(Be.exports,Be,Be.exports,Ne),Be.l=!0,Be.exports}return Ne.m=tt,Ne.c=Ue,Ne.d=function(Ke,Be,we){Ne.o(Ke,Be)||Object.defineProperty(Ke,Be,{configurable:!1,enumerable:!0,get:we})},Ne.n=function(Ke){var Be=Ke&&Ke.__esModule?function(){return Ke.default}:function(){return Ke};return Ne.d(Be,"a",Be),Be},Ne.o=function(Ke,Be){return Object.prototype.hasOwnProperty.call(Ke,Be)},Ne.p="",Ne(Ne.s=87)}([function(tt,Ue){tt.exports=Ge},function(tt,Ue,Ne){(function(Ke){"use strict";var Be={};Be.exports=Ue,function(we){if(!Te)var Te=1e-6;if(!ke)var ke=typeof Float32Array!="undefined"?Float32Array:Array;if(!Ie)var Ie=Math.random;var Ce={};Ce.setMatrixArrayType=function(ce){ke=ce},typeof we!="undefined"&&(we.glMatrix=Ce);var Me=Math.PI/180;Ce.toRadian=function(ce){return ce*Me};var je={};je.create=function(){var ce=new ke(2);return ce[0]=0,ce[1]=0,ce},je.clone=function(ce){var pe=new ke(2);return pe[0]=ce[0],pe[1]=ce[1],pe},je.fromValues=function(ce,pe){var Se=new ke(2);return Se[0]=ce,Se[1]=pe,Se},je.copy=function(ce,pe){return ce[0]=pe[0],ce[1]=pe[1],ce},je.set=function(ce,pe,Se){return ce[0]=pe,ce[1]=Se,ce},je.add=function(ce,pe,Se){return ce[0]=pe[0]+Se[0],ce[1]=pe[1]+Se[1],ce},je.subtract=function(ce,pe,Se){return ce[0]=pe[0]-Se[0],ce[1]=pe[1]-Se[1],ce},je.sub=je.subtract,je.multiply=function(ce,pe,Se){return ce[0]=pe[0]*Se[0],ce[1]=pe[1]*Se[1],ce},je.mul=je.multiply,je.divide=function(ce,pe,Se){return ce[0]=pe[0]/Se[0],ce[1]=pe[1]/Se[1],ce},je.div=je.divide,je.min=function(ce,pe,Se){return ce[0]=Math.min(pe[0],Se[0]),ce[1]=Math.min(pe[1],Se[1]),ce},je.max=function(ce,pe,Se){return ce[0]=Math.max(pe[0],Se[0]),ce[1]=Math.max(pe[1],Se[1]),ce},je.scale=function(ce,pe,Se){return ce[0]=pe[0]*Se,ce[1]=pe[1]*Se,ce},je.scaleAndAdd=function(ce,pe,Se,Le){return ce[0]=pe[0]+Se[0]*Le,ce[1]=pe[1]+Se[1]*Le,ce},je.distance=function(ce,pe){var Se=pe[0]-ce[0],Le=pe[1]-ce[1];return Math.sqrt(Se*Se+Le*Le)},je.dist=je.distance,je.squaredDistance=function(ce,pe){var Se=pe[0]-ce[0],Le=pe[1]-ce[1];return Se*Se+Le*Le},je.sqrDist=je.squaredDistance,je.length=function(ce){var pe=ce[0],Se=ce[1];return Math.sqrt(pe*pe+Se*Se)},je.len=je.length,je.squaredLength=function(ce){var pe=ce[0],Se=ce[1];return pe*pe+Se*Se},je.sqrLen=je.squaredLength,je.negate=function(ce,pe){return ce[0]=-pe[0],ce[1]=-pe[1],ce},je.inverse=function(ce,pe){return ce[0]=1/pe[0],ce[1]=1/pe[1],ce},je.normalize=function(ce,pe){var Se=pe[0],Le=pe[1],ze=Se*Se+Le*Le;return ze>0&&(ze=1/Math.sqrt(ze),ce[0]=pe[0]*ze,ce[1]=pe[1]*ze),ce},je.dot=function(ce,pe){return ce[0]*pe[0]+ce[1]*pe[1]},je.cross=function(ce,pe,Se){var Le=pe[0]*Se[1]-pe[1]*Se[0];return ce[0]=ce[1]=0,ce[2]=Le,ce},je.lerp=function(ce,pe,Se,Le){var ze=pe[0],Ze=pe[1];return ce[0]=ze+Le*(Se[0]-ze),ce[1]=Ze+Le*(Se[1]-Ze),ce},je.random=function(ce,pe){pe=pe||1;var Se=Ie()*2*Math.PI;return ce[0]=Math.cos(Se)*pe,ce[1]=Math.sin(Se)*pe,ce},je.transformMat2=function(ce,pe,Se){var Le=pe[0],ze=pe[1];return ce[0]=Se[0]*Le+Se[2]*ze,ce[1]=Se[1]*Le+Se[3]*ze,ce},je.transformMat2d=function(ce,pe,Se){var Le=pe[0],ze=pe[1];return ce[0]=Se[0]*Le+Se[2]*ze+Se[4],ce[1]=Se[1]*Le+Se[3]*ze+Se[5],ce},je.transformMat3=function(ce,pe,Se){var Le=pe[0],ze=pe[1];return ce[0]=Se[0]*Le+Se[3]*ze+Se[6],ce[1]=Se[1]*Le+Se[4]*ze+Se[7],ce},je.transformMat4=function(ce,pe,Se){var Le=pe[0],ze=pe[1];return ce[0]=Se[0]*Le+Se[4]*ze+Se[12],ce[1]=Se[1]*Le+Se[5]*ze+Se[13],ce},je.forEach=function(){var ce=je.create();return function(pe,Se,Le,ze,Ze,Ve){var Qe,$e;for(Se||(Se=2),Le||(Le=0),ze?$e=Math.min(ze*Se+Le,pe.length):$e=pe.length,Qe=Le;Qe<$e;Qe+=Se)ce[0]=pe[Qe],ce[1]=pe[Qe+1],Ze(ce,ce,Ve),pe[Qe]=ce[0],pe[Qe+1]=ce[1];return pe}}(),je.str=function(ce){return"vec2("+ce[0]+", "+ce[1]+")"},typeof we!="undefined"&&(we.vec2=je);var ye={};ye.create=function(){var ce=new ke(3);return ce[0]=0,ce[1]=0,ce[2]=0,ce},ye.clone=function(ce){var pe=new ke(3);return pe[0]=ce[0],pe[1]=ce[1],pe[2]=ce[2],pe},ye.fromValues=function(ce,pe,Se){var Le=new ke(3);return Le[0]=ce,Le[1]=pe,Le[2]=Se,Le},ye.copy=function(ce,pe){return ce[0]=pe[0],ce[1]=pe[1],ce[2]=pe[2],ce},ye.set=function(ce,pe,Se,Le){return ce[0]=pe,ce[1]=Se,ce[2]=Le,ce},ye.add=function(ce,pe,Se){return ce[0]=pe[0]+Se[0],ce[1]=pe[1]+Se[1],ce[2]=pe[2]+Se[2],ce},ye.subtract=function(ce,pe,Se){return ce[0]=pe[0]-Se[0],ce[1]=pe[1]-Se[1],ce[2]=pe[2]-Se[2],ce},ye.sub=ye.subtract,ye.multiply=function(ce,pe,Se){return ce[0]=pe[0]*Se[0],ce[1]=pe[1]*Se[1],ce[2]=pe[2]*Se[2],ce},ye.mul=ye.multiply,ye.divide=function(ce,pe,Se){return ce[0]=pe[0]/Se[0],ce[1]=pe[1]/Se[1],ce[2]=pe[2]/Se[2],ce},ye.div=ye.divide,ye.min=function(ce,pe,Se){return ce[0]=Math.min(pe[0],Se[0]),ce[1]=Math.min(pe[1],Se[1]),ce[2]=Math.min(pe[2],Se[2]),ce},ye.max=function(ce,pe,Se){return ce[0]=Math.max(pe[0],Se[0]),ce[1]=Math.max(pe[1],Se[1]),ce[2]=Math.max(pe[2],Se[2]),ce},ye.scale=function(ce,pe,Se){return ce[0]=pe[0]*Se,ce[1]=pe[1]*Se,ce[2]=pe[2]*Se,ce},ye.scaleAndAdd=function(ce,pe,Se,Le){return ce[0]=pe[0]+Se[0]*Le,ce[1]=pe[1]+Se[1]*Le,ce[2]=pe[2]+Se[2]*Le,ce},ye.distance=function(ce,pe){var Se=pe[0]-ce[0],Le=pe[1]-ce[1],ze=pe[2]-ce[2];return Math.sqrt(Se*Se+Le*Le+ze*ze)},ye.dist=ye.distance,ye.squaredDistance=function(ce,pe){var Se=pe[0]-ce[0],Le=pe[1]-ce[1],ze=pe[2]-ce[2];return Se*Se+Le*Le+ze*ze},ye.sqrDist=ye.squaredDistance,ye.length=function(ce){var pe=ce[0],Se=ce[1],Le=ce[2];return Math.sqrt(pe*pe+Se*Se+Le*Le)},ye.len=ye.length,ye.squaredLength=function(ce){var pe=ce[0],Se=ce[1],Le=ce[2];return pe*pe+Se*Se+Le*Le},ye.sqrLen=ye.squaredLength,ye.negate=function(ce,pe){return ce[0]=-pe[0],ce[1]=-pe[1],ce[2]=-pe[2],ce},ye.inverse=function(ce,pe){return ce[0]=1/pe[0],ce[1]=1/pe[1],ce[2]=1/pe[2],ce},ye.normalize=function(ce,pe){var Se=pe[0],Le=pe[1],ze=pe[2],Ze=Se*Se+Le*Le+ze*ze;return Ze>0&&(Ze=1/Math.sqrt(Ze),ce[0]=pe[0]*Ze,ce[1]=pe[1]*Ze,ce[2]=pe[2]*Ze),ce},ye.dot=function(ce,pe){return ce[0]*pe[0]+ce[1]*pe[1]+ce[2]*pe[2]},ye.cross=function(ce,pe,Se){var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=Se[0],Qe=Se[1],$e=Se[2];return ce[0]=ze*$e-Ze*Qe,ce[1]=Ze*Ve-Le*$e,ce[2]=Le*Qe-ze*Ve,ce},ye.lerp=function(ce,pe,Se,Le){var ze=pe[0],Ze=pe[1],Ve=pe[2];return ce[0]=ze+Le*(Se[0]-ze),ce[1]=Ze+Le*(Se[1]-Ze),ce[2]=Ve+Le*(Se[2]-Ve),ce},ye.random=function(ce,pe){pe=pe||1;var Se=Ie()*2*Math.PI,Le=Ie()*2-1,ze=Math.sqrt(1-Le*Le)*pe;return ce[0]=Math.cos(Se)*ze,ce[1]=Math.sin(Se)*ze,ce[2]=Le*pe,ce},ye.transformMat4=function(ce,pe,Se){var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=Se[3]*Le+Se[7]*ze+Se[11]*Ze+Se[15];return Ve=Ve||1,ce[0]=(Se[0]*Le+Se[4]*ze+Se[8]*Ze+Se[12])/Ve,ce[1]=(Se[1]*Le+Se[5]*ze+Se[9]*Ze+Se[13])/Ve,ce[2]=(Se[2]*Le+Se[6]*ze+Se[10]*Ze+Se[14])/Ve,ce},ye.transformMat3=function(ce,pe,Se){var Le=pe[0],ze=pe[1],Ze=pe[2];return ce[0]=Le*Se[0]+ze*Se[3]+Ze*Se[6],ce[1]=Le*Se[1]+ze*Se[4]+Ze*Se[7],ce[2]=Le*Se[2]+ze*Se[5]+Ze*Se[8],ce},ye.transformQuat=function(ce,pe,Se){var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=Se[0],Qe=Se[1],$e=Se[2],gt=Se[3],lt=gt*Le+Qe*Ze-$e*ze,At=gt*ze+$e*Le-Ve*Ze,Et=gt*Ze+Ve*ze-Qe*Le,vt=-Ve*Le-Qe*ze-$e*Ze;return ce[0]=lt*gt+vt*-Ve+At*-$e-Et*-Qe,ce[1]=At*gt+vt*-Qe+Et*-Ve-lt*-$e,ce[2]=Et*gt+vt*-$e+lt*-Qe-At*-Ve,ce},ye.rotateX=function(ce,pe,Se,Le){var ze=[],Ze=[];return ze[0]=pe[0]-Se[0],ze[1]=pe[1]-Se[1],ze[2]=pe[2]-Se[2],Ze[0]=ze[0],Ze[1]=ze[1]*Math.cos(Le)-ze[2]*Math.sin(Le),Ze[2]=ze[1]*Math.sin(Le)+ze[2]*Math.cos(Le),ce[0]=Ze[0]+Se[0],ce[1]=Ze[1]+Se[1],ce[2]=Ze[2]+Se[2],ce},ye.rotateY=function(ce,pe,Se,Le){var ze=[],Ze=[];return ze[0]=pe[0]-Se[0],ze[1]=pe[1]-Se[1],ze[2]=pe[2]-Se[2],Ze[0]=ze[2]*Math.sin(Le)+ze[0]*Math.cos(Le),Ze[1]=ze[1],Ze[2]=ze[2]*Math.cos(Le)-ze[0]*Math.sin(Le),ce[0]=Ze[0]+Se[0],ce[1]=Ze[1]+Se[1],ce[2]=Ze[2]+Se[2],ce},ye.rotateZ=function(ce,pe,Se,Le){var ze=[],Ze=[];return ze[0]=pe[0]-Se[0],ze[1]=pe[1]-Se[1],ze[2]=pe[2]-Se[2],Ze[0]=ze[0]*Math.cos(Le)-ze[1]*Math.sin(Le),Ze[1]=ze[0]*Math.sin(Le)+ze[1]*Math.cos(Le),Ze[2]=ze[2],ce[0]=Ze[0]+Se[0],ce[1]=Ze[1]+Se[1],ce[2]=Ze[2]+Se[2],ce},ye.forEach=function(){var ce=ye.create();return function(pe,Se,Le,ze,Ze,Ve){var Qe,$e;for(Se||(Se=3),Le||(Le=0),ze?$e=Math.min(ze*Se+Le,pe.length):$e=pe.length,Qe=Le;Qe<$e;Qe+=Se)ce[0]=pe[Qe],ce[1]=pe[Qe+1],ce[2]=pe[Qe+2],Ze(ce,ce,Ve),pe[Qe]=ce[0],pe[Qe+1]=ce[1],pe[Qe+2]=ce[2];return pe}}(),ye.angle=function(ce,pe){var Se=ye.fromValues(ce[0],ce[1],ce[2]),Le=ye.fromValues(pe[0],pe[1],pe[2]);ye.normalize(Se,Se),ye.normalize(Le,Le);var ze=ye.dot(Se,Le);return ze>1?0:Math.acos(ze)},ye.str=function(ce){return"vec3("+ce[0]+", "+ce[1]+", "+ce[2]+")"},typeof we!="undefined"&&(we.vec3=ye);var ie={};ie.create=function(){var ce=new ke(4);return ce[0]=0,ce[1]=0,ce[2]=0,ce[3]=0,ce},ie.clone=function(ce){var pe=new ke(4);return pe[0]=ce[0],pe[1]=ce[1],pe[2]=ce[2],pe[3]=ce[3],pe},ie.fromValues=function(ce,pe,Se,Le){var ze=new ke(4);return ze[0]=ce,ze[1]=pe,ze[2]=Se,ze[3]=Le,ze},ie.copy=function(ce,pe){return ce[0]=pe[0],ce[1]=pe[1],ce[2]=pe[2],ce[3]=pe[3],ce},ie.set=function(ce,pe,Se,Le,ze){return ce[0]=pe,ce[1]=Se,ce[2]=Le,ce[3]=ze,ce},ie.add=function(ce,pe,Se){return ce[0]=pe[0]+Se[0],ce[1]=pe[1]+Se[1],ce[2]=pe[2]+Se[2],ce[3]=pe[3]+Se[3],ce},ie.subtract=function(ce,pe,Se){return ce[0]=pe[0]-Se[0],ce[1]=pe[1]-Se[1],ce[2]=pe[2]-Se[2],ce[3]=pe[3]-Se[3],ce},ie.sub=ie.subtract,ie.multiply=function(ce,pe,Se){return ce[0]=pe[0]*Se[0],ce[1]=pe[1]*Se[1],ce[2]=pe[2]*Se[2],ce[3]=pe[3]*Se[3],ce},ie.mul=ie.multiply,ie.divide=function(ce,pe,Se){return ce[0]=pe[0]/Se[0],ce[1]=pe[1]/Se[1],ce[2]=pe[2]/Se[2],ce[3]=pe[3]/Se[3],ce},ie.div=ie.divide,ie.min=function(ce,pe,Se){return ce[0]=Math.min(pe[0],Se[0]),ce[1]=Math.min(pe[1],Se[1]),ce[2]=Math.min(pe[2],Se[2]),ce[3]=Math.min(pe[3],Se[3]),ce},ie.max=function(ce,pe,Se){return ce[0]=Math.max(pe[0],Se[0]),ce[1]=Math.max(pe[1],Se[1]),ce[2]=Math.max(pe[2],Se[2]),ce[3]=Math.max(pe[3],Se[3]),ce},ie.scale=function(ce,pe,Se){return ce[0]=pe[0]*Se,ce[1]=pe[1]*Se,ce[2]=pe[2]*Se,ce[3]=pe[3]*Se,ce},ie.scaleAndAdd=function(ce,pe,Se,Le){return ce[0]=pe[0]+Se[0]*Le,ce[1]=pe[1]+Se[1]*Le,ce[2]=pe[2]+Se[2]*Le,ce[3]=pe[3]+Se[3]*Le,ce},ie.distance=function(ce,pe){var Se=pe[0]-ce[0],Le=pe[1]-ce[1],ze=pe[2]-ce[2],Ze=pe[3]-ce[3];return Math.sqrt(Se*Se+Le*Le+ze*ze+Ze*Ze)},ie.dist=ie.distance,ie.squaredDistance=function(ce,pe){var Se=pe[0]-ce[0],Le=pe[1]-ce[1],ze=pe[2]-ce[2],Ze=pe[3]-ce[3];return Se*Se+Le*Le+ze*ze+Ze*Ze},ie.sqrDist=ie.squaredDistance,ie.length=function(ce){var pe=ce[0],Se=ce[1],Le=ce[2],ze=ce[3];return Math.sqrt(pe*pe+Se*Se+Le*Le+ze*ze)},ie.len=ie.length,ie.squaredLength=function(ce){var pe=ce[0],Se=ce[1],Le=ce[2],ze=ce[3];return pe*pe+Se*Se+Le*Le+ze*ze},ie.sqrLen=ie.squaredLength,ie.negate=function(ce,pe){return ce[0]=-pe[0],ce[1]=-pe[1],ce[2]=-pe[2],ce[3]=-pe[3],ce},ie.inverse=function(ce,pe){return ce[0]=1/pe[0],ce[1]=1/pe[1],ce[2]=1/pe[2],ce[3]=1/pe[3],ce},ie.normalize=function(ce,pe){var Se=pe[0],Le=pe[1],ze=pe[2],Ze=pe[3],Ve=Se*Se+Le*Le+ze*ze+Ze*Ze;return Ve>0&&(Ve=1/Math.sqrt(Ve),ce[0]=pe[0]*Ve,ce[1]=pe[1]*Ve,ce[2]=pe[2]*Ve,ce[3]=pe[3]*Ve),ce},ie.dot=function(ce,pe){return ce[0]*pe[0]+ce[1]*pe[1]+ce[2]*pe[2]+ce[3]*pe[3]},ie.lerp=function(ce,pe,Se,Le){var ze=pe[0],Ze=pe[1],Ve=pe[2],Qe=pe[3];return ce[0]=ze+Le*(Se[0]-ze),ce[1]=Ze+Le*(Se[1]-Ze),ce[2]=Ve+Le*(Se[2]-Ve),ce[3]=Qe+Le*(Se[3]-Qe),ce},ie.random=function(ce,pe){return pe=pe||1,ce[0]=Ie(),ce[1]=Ie(),ce[2]=Ie(),ce[3]=Ie(),ie.normalize(ce,ce),ie.scale(ce,ce,pe),ce},ie.transformMat4=function(ce,pe,Se){var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=pe[3];return ce[0]=Se[0]*Le+Se[4]*ze+Se[8]*Ze+Se[12]*Ve,ce[1]=Se[1]*Le+Se[5]*ze+Se[9]*Ze+Se[13]*Ve,ce[2]=Se[2]*Le+Se[6]*ze+Se[10]*Ze+Se[14]*Ve,ce[3]=Se[3]*Le+Se[7]*ze+Se[11]*Ze+Se[15]*Ve,ce},ie.transformQuat=function(ce,pe,Se){var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=Se[0],Qe=Se[1],$e=Se[2],gt=Se[3],lt=gt*Le+Qe*Ze-$e*ze,At=gt*ze+$e*Le-Ve*Ze,Et=gt*Ze+Ve*ze-Qe*Le,vt=-Ve*Le-Qe*ze-$e*Ze;return ce[0]=lt*gt+vt*-Ve+At*-$e-Et*-Qe,ce[1]=At*gt+vt*-Qe+Et*-Ve-lt*-$e,ce[2]=Et*gt+vt*-$e+lt*-Qe-At*-Ve,ce},ie.forEach=function(){var ce=ie.create();return function(pe,Se,Le,ze,Ze,Ve){var Qe,$e;for(Se||(Se=4),Le||(Le=0),ze?$e=Math.min(ze*Se+Le,pe.length):$e=pe.length,Qe=Le;Qe<$e;Qe+=Se)ce[0]=pe[Qe],ce[1]=pe[Qe+1],ce[2]=pe[Qe+2],ce[3]=pe[Qe+3],Ze(ce,ce,Ve),pe[Qe]=ce[0],pe[Qe+1]=ce[1],pe[Qe+2]=ce[2],pe[Qe+3]=ce[3];return pe}}(),ie.str=function(ce){return"vec4("+ce[0]+", "+ce[1]+", "+ce[2]+", "+ce[3]+")"},typeof we!="undefined"&&(we.vec4=ie);var ae={};ae.create=function(){var ce=new ke(4);return ce[0]=1,ce[1]=0,ce[2]=0,ce[3]=1,ce},ae.clone=function(ce){var pe=new ke(4);return pe[0]=ce[0],pe[1]=ce[1],pe[2]=ce[2],pe[3]=ce[3],pe},ae.copy=function(ce,pe){return ce[0]=pe[0],ce[1]=pe[1],ce[2]=pe[2],ce[3]=pe[3],ce},ae.identity=function(ce){return ce[0]=1,ce[1]=0,ce[2]=0,ce[3]=1,ce},ae.transpose=function(ce,pe){if(ce===pe){var Se=pe[1];ce[1]=pe[2],ce[2]=Se}else ce[0]=pe[0],ce[1]=pe[2],ce[2]=pe[1],ce[3]=pe[3];return ce},ae.invert=function(ce,pe){var Se=pe[0],Le=pe[1],ze=pe[2],Ze=pe[3],Ve=Se*Ze-ze*Le;return Ve?(Ve=1/Ve,ce[0]=Ze*Ve,ce[1]=-Le*Ve,ce[2]=-ze*Ve,ce[3]=Se*Ve,ce):null},ae.adjoint=function(ce,pe){var Se=pe[0];return ce[0]=pe[3],ce[1]=-pe[1],ce[2]=-pe[2],ce[3]=Se,ce},ae.determinant=function(ce){return ce[0]*ce[3]-ce[2]*ce[1]},ae.multiply=function(ce,pe,Se){var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=pe[3],Qe=Se[0],$e=Se[1],gt=Se[2],lt=Se[3];return ce[0]=Le*Qe+Ze*$e,ce[1]=ze*Qe+Ve*$e,ce[2]=Le*gt+Ze*lt,ce[3]=ze*gt+Ve*lt,ce},ae.mul=ae.multiply,ae.rotate=function(ce,pe,Se){var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=pe[3],Qe=Math.sin(Se),$e=Math.cos(Se);return ce[0]=Le*$e+Ze*Qe,ce[1]=ze*$e+Ve*Qe,ce[2]=Le*-Qe+Ze*$e,ce[3]=ze*-Qe+Ve*$e,ce},ae.scale=function(ce,pe,Se){var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=pe[3],Qe=Se[0],$e=Se[1];return ce[0]=Le*Qe,ce[1]=ze*Qe,ce[2]=Ze*$e,ce[3]=Ve*$e,ce},ae.str=function(ce){return"mat2("+ce[0]+", "+ce[1]+", "+ce[2]+", "+ce[3]+")"},ae.frob=function(ce){return Math.sqrt(Math.pow(ce[0],2)+Math.pow(ce[1],2)+Math.pow(ce[2],2)+Math.pow(ce[3],2))},ae.LDU=function(ce,pe,Se,Le){return ce[2]=Le[2]/Le[0],Se[0]=Le[0],Se[1]=Le[1],Se[3]=Le[3]-ce[2]*Se[1],[ce,pe,Se]},typeof we!="undefined"&&(we.mat2=ae);var fe={};fe.create=function(){var ce=new ke(6);return ce[0]=1,ce[1]=0,ce[2]=0,ce[3]=1,ce[4]=0,ce[5]=0,ce},fe.clone=function(ce){var pe=new ke(6);return pe[0]=ce[0],pe[1]=ce[1],pe[2]=ce[2],pe[3]=ce[3],pe[4]=ce[4],pe[5]=ce[5],pe},fe.copy=function(ce,pe){return ce[0]=pe[0],ce[1]=pe[1],ce[2]=pe[2],ce[3]=pe[3],ce[4]=pe[4],ce[5]=pe[5],ce},fe.identity=function(ce){return ce[0]=1,ce[1]=0,ce[2]=0,ce[3]=1,ce[4]=0,ce[5]=0,ce},fe.invert=function(ce,pe){var Se=pe[0],Le=pe[1],ze=pe[2],Ze=pe[3],Ve=pe[4],Qe=pe[5],$e=Se*Ze-Le*ze;return $e?($e=1/$e,ce[0]=Ze*$e,ce[1]=-Le*$e,ce[2]=-ze*$e,ce[3]=Se*$e,ce[4]=(ze*Qe-Ze*Ve)*$e,ce[5]=(Le*Ve-Se*Qe)*$e,ce):null},fe.determinant=function(ce){return ce[0]*ce[3]-ce[1]*ce[2]},fe.multiply=function(ce,pe,Se){var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=pe[3],Qe=pe[4],$e=pe[5],gt=Se[0],lt=Se[1],At=Se[2],Et=Se[3],vt=Se[4],Lt=Se[5];return ce[0]=Le*gt+Ze*lt,ce[1]=ze*gt+Ve*lt,ce[2]=Le*At+Ze*Et,ce[3]=ze*At+Ve*Et,ce[4]=Le*vt+Ze*Lt+Qe,ce[5]=ze*vt+Ve*Lt+$e,ce},fe.mul=fe.multiply,fe.rotate=function(ce,pe,Se){var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=pe[3],Qe=pe[4],$e=pe[5],gt=Math.sin(Se),lt=Math.cos(Se);return ce[0]=Le*lt+Ze*gt,ce[1]=ze*lt+Ve*gt,ce[2]=Le*-gt+Ze*lt,ce[3]=ze*-gt+Ve*lt,ce[4]=Qe,ce[5]=$e,ce},fe.scale=function(ce,pe,Se){var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=pe[3],Qe=pe[4],$e=pe[5],gt=Se[0],lt=Se[1];return ce[0]=Le*gt,ce[1]=ze*gt,ce[2]=Ze*lt,ce[3]=Ve*lt,ce[4]=Qe,ce[5]=$e,ce},fe.translate=function(ce,pe,Se){var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=pe[3],Qe=pe[4],$e=pe[5],gt=Se[0],lt=Se[1];return ce[0]=Le,ce[1]=ze,ce[2]=Ze,ce[3]=Ve,ce[4]=Le*gt+Ze*lt+Qe,ce[5]=ze*gt+Ve*lt+$e,ce},fe.str=function(ce){return"mat2d("+ce[0]+", "+ce[1]+", "+ce[2]+", "+ce[3]+", "+ce[4]+", "+ce[5]+")"},fe.frob=function(ce){return Math.sqrt(Math.pow(ce[0],2)+Math.pow(ce[1],2)+Math.pow(ce[2],2)+Math.pow(ce[3],2)+Math.pow(ce[4],2)+Math.pow(ce[5],2)+1)},typeof we!="undefined"&&(we.mat2d=fe);var de={};de.create=function(){var ce=new ke(9);return ce[0]=1,ce[1]=0,ce[2]=0,ce[3]=0,ce[4]=1,ce[5]=0,ce[6]=0,ce[7]=0,ce[8]=1,ce},de.fromMat4=function(ce,pe){return ce[0]=pe[0],ce[1]=pe[1],ce[2]=pe[2],ce[3]=pe[4],ce[4]=pe[5],ce[5]=pe[6],ce[6]=pe[8],ce[7]=pe[9],ce[8]=pe[10],ce},de.clone=function(ce){var pe=new ke(9);return pe[0]=ce[0],pe[1]=ce[1],pe[2]=ce[2],pe[3]=ce[3],pe[4]=ce[4],pe[5]=ce[5],pe[6]=ce[6],pe[7]=ce[7],pe[8]=ce[8],pe},de.copy=function(ce,pe){return ce[0]=pe[0],ce[1]=pe[1],ce[2]=pe[2],ce[3]=pe[3],ce[4]=pe[4],ce[5]=pe[5],ce[6]=pe[6],ce[7]=pe[7],ce[8]=pe[8],ce},de.identity=function(ce){return ce[0]=1,ce[1]=0,ce[2]=0,ce[3]=0,ce[4]=1,ce[5]=0,ce[6]=0,ce[7]=0,ce[8]=1,ce},de.transpose=function(ce,pe){if(ce===pe){var Se=pe[1],Le=pe[2],ze=pe[5];ce[1]=pe[3],ce[2]=pe[6],ce[3]=Se,ce[5]=pe[7],ce[6]=Le,ce[7]=ze}else ce[0]=pe[0],ce[1]=pe[3],ce[2]=pe[6],ce[3]=pe[1],ce[4]=pe[4],ce[5]=pe[7],ce[6]=pe[2],ce[7]=pe[5],ce[8]=pe[8];return ce},de.invert=function(ce,pe){var Se=pe[0],Le=pe[1],ze=pe[2],Ze=pe[3],Ve=pe[4],Qe=pe[5],$e=pe[6],gt=pe[7],lt=pe[8],At=lt*Ve-Qe*gt,Et=-lt*Ze+Qe*$e,vt=gt*Ze-Ve*$e,Lt=Se*At+Le*Et+ze*vt;return Lt?(Lt=1/Lt,ce[0]=At*Lt,ce[1]=(-lt*Le+ze*gt)*Lt,ce[2]=(Qe*Le-ze*Ve)*Lt,ce[3]=Et*Lt,ce[4]=(lt*Se-ze*$e)*Lt,ce[5]=(-Qe*Se+ze*Ze)*Lt,ce[6]=vt*Lt,ce[7]=(-gt*Se+Le*$e)*Lt,ce[8]=(Ve*Se-Le*Ze)*Lt,ce):null},de.adjoint=function(ce,pe){var Se=pe[0],Le=pe[1],ze=pe[2],Ze=pe[3],Ve=pe[4],Qe=pe[5],$e=pe[6],gt=pe[7],lt=pe[8];return ce[0]=Ve*lt-Qe*gt,ce[1]=ze*gt-Le*lt,ce[2]=Le*Qe-ze*Ve,ce[3]=Qe*$e-Ze*lt,ce[4]=Se*lt-ze*$e,ce[5]=ze*Ze-Se*Qe,ce[6]=Ze*gt-Ve*$e,ce[7]=Le*$e-Se*gt,ce[8]=Se*Ve-Le*Ze,ce},de.determinant=function(ce){var pe=ce[0],Se=ce[1],Le=ce[2],ze=ce[3],Ze=ce[4],Ve=ce[5],Qe=ce[6],$e=ce[7],gt=ce[8];return pe*(gt*Ze-Ve*$e)+Se*(-gt*ze+Ve*Qe)+Le*($e*ze-Ze*Qe)},de.multiply=function(ce,pe,Se){var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=pe[3],Qe=pe[4],$e=pe[5],gt=pe[6],lt=pe[7],At=pe[8],Et=Se[0],vt=Se[1],Lt=Se[2],St=Se[3],xt=Se[4],ct=Se[5],Dt=Se[6],Xt=Se[7],kt=Se[8];return ce[0]=Et*Le+vt*Ve+Lt*gt,ce[1]=Et*ze+vt*Qe+Lt*lt,ce[2]=Et*Ze+vt*$e+Lt*At,ce[3]=St*Le+xt*Ve+ct*gt,ce[4]=St*ze+xt*Qe+ct*lt,ce[5]=St*Ze+xt*$e+ct*At,ce[6]=Dt*Le+Xt*Ve+kt*gt,ce[7]=Dt*ze+Xt*Qe+kt*lt,ce[8]=Dt*Ze+Xt*$e+kt*At,ce},de.mul=de.multiply,de.translate=function(ce,pe,Se){var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=pe[3],Qe=pe[4],$e=pe[5],gt=pe[6],lt=pe[7],At=pe[8],Et=Se[0],vt=Se[1];return ce[0]=Le,ce[1]=ze,ce[2]=Ze,ce[3]=Ve,ce[4]=Qe,ce[5]=$e,ce[6]=Et*Le+vt*Ve+gt,ce[7]=Et*ze+vt*Qe+lt,ce[8]=Et*Ze+vt*$e+At,ce},de.rotate=function(ce,pe,Se){var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=pe[3],Qe=pe[4],$e=pe[5],gt=pe[6],lt=pe[7],At=pe[8],Et=Math.sin(Se),vt=Math.cos(Se);return ce[0]=vt*Le+Et*Ve,ce[1]=vt*ze+Et*Qe,ce[2]=vt*Ze+Et*$e,ce[3]=vt*Ve-Et*Le,ce[4]=vt*Qe-Et*ze,ce[5]=vt*$e-Et*Ze,ce[6]=gt,ce[7]=lt,ce[8]=At,ce},de.scale=function(ce,pe,Se){var Le=Se[0],ze=Se[1];return ce[0]=Le*pe[0],ce[1]=Le*pe[1],ce[2]=Le*pe[2],ce[3]=ze*pe[3],ce[4]=ze*pe[4],ce[5]=ze*pe[5],ce[6]=pe[6],ce[7]=pe[7],ce[8]=pe[8],ce},de.fromMat2d=function(ce,pe){return ce[0]=pe[0],ce[1]=pe[1],ce[2]=0,ce[3]=pe[2],ce[4]=pe[3],ce[5]=0,ce[6]=pe[4],ce[7]=pe[5],ce[8]=1,ce},de.fromQuat=function(ce,pe){var Se=pe[0],Le=pe[1],ze=pe[2],Ze=pe[3],Ve=Se+Se,Qe=Le+Le,$e=ze+ze,gt=Se*Ve,lt=Le*Ve,At=Le*Qe,Et=ze*Ve,vt=ze*Qe,Lt=ze*$e,St=Ze*Ve,xt=Ze*Qe,ct=Ze*$e;return ce[0]=1-At-Lt,ce[3]=lt-ct,ce[6]=Et+xt,ce[1]=lt+ct,ce[4]=1-gt-Lt,ce[7]=vt-St,ce[2]=Et-xt,ce[5]=vt+St,ce[8]=1-gt-At,ce},de.normalFromMat4=function(ce,pe){var Se=pe[0],Le=pe[1],ze=pe[2],Ze=pe[3],Ve=pe[4],Qe=pe[5],$e=pe[6],gt=pe[7],lt=pe[8],At=pe[9],Et=pe[10],vt=pe[11],Lt=pe[12],St=pe[13],xt=pe[14],ct=pe[15],Dt=Se*Qe-Le*Ve,Xt=Se*$e-ze*Ve,kt=Se*gt-Ze*Ve,Rt=Le*$e-ze*Qe,Gt=Le*gt-Ze*Qe,ln=ze*gt-Ze*$e,Rn=lt*St-At*Lt,jn=lt*xt-Et*Lt,er=lt*ct-vt*Lt,an=At*xt-Et*St,Un=At*ct-vt*St,Kn=Et*ct-vt*xt,ur=Dt*Kn-Xt*Un+kt*an+Rt*er-Gt*jn+ln*Rn;return ur?(ur=1/ur,ce[0]=(Qe*Kn-$e*Un+gt*an)*ur,ce[1]=($e*er-Ve*Kn-gt*jn)*ur,ce[2]=(Ve*Un-Qe*er+gt*Rn)*ur,ce[3]=(ze*Un-Le*Kn-Ze*an)*ur,ce[4]=(Se*Kn-ze*er+Ze*jn)*ur,ce[5]=(Le*er-Se*Un-Ze*Rn)*ur,ce[6]=(St*ln-xt*Gt+ct*Rt)*ur,ce[7]=(xt*kt-Lt*ln-ct*Xt)*ur,ce[8]=(Lt*Gt-St*kt+ct*Dt)*ur,ce):null},de.str=function(ce){return"mat3("+ce[0]+", "+ce[1]+", "+ce[2]+", "+ce[3]+", "+ce[4]+", "+ce[5]+", "+ce[6]+", "+ce[7]+", "+ce[8]+")"},de.frob=function(ce){return Math.sqrt(Math.pow(ce[0],2)+Math.pow(ce[1],2)+Math.pow(ce[2],2)+Math.pow(ce[3],2)+Math.pow(ce[4],2)+Math.pow(ce[5],2)+Math.pow(ce[6],2)+Math.pow(ce[7],2)+Math.pow(ce[8],2))},typeof we!="undefined"&&(we.mat3=de);var ve={};ve.create=function(){var ce=new ke(16);return ce[0]=1,ce[1]=0,ce[2]=0,ce[3]=0,ce[4]=0,ce[5]=1,ce[6]=0,ce[7]=0,ce[8]=0,ce[9]=0,ce[10]=1,ce[11]=0,ce[12]=0,ce[13]=0,ce[14]=0,ce[15]=1,ce},ve.clone=function(ce){var pe=new ke(16);return pe[0]=ce[0],pe[1]=ce[1],pe[2]=ce[2],pe[3]=ce[3],pe[4]=ce[4],pe[5]=ce[5],pe[6]=ce[6],pe[7]=ce[7],pe[8]=ce[8],pe[9]=ce[9],pe[10]=ce[10],pe[11]=ce[11],pe[12]=ce[12],pe[13]=ce[13],pe[14]=ce[14],pe[15]=ce[15],pe},ve.copy=function(ce,pe){return ce[0]=pe[0],ce[1]=pe[1],ce[2]=pe[2],ce[3]=pe[3],ce[4]=pe[4],ce[5]=pe[5],ce[6]=pe[6],ce[7]=pe[7],ce[8]=pe[8],ce[9]=pe[9],ce[10]=pe[10],ce[11]=pe[11],ce[12]=pe[12],ce[13]=pe[13],ce[14]=pe[14],ce[15]=pe[15],ce},ve.identity=function(ce){return ce[0]=1,ce[1]=0,ce[2]=0,ce[3]=0,ce[4]=0,ce[5]=1,ce[6]=0,ce[7]=0,ce[8]=0,ce[9]=0,ce[10]=1,ce[11]=0,ce[12]=0,ce[13]=0,ce[14]=0,ce[15]=1,ce},ve.transpose=function(ce,pe){if(ce===pe){var Se=pe[1],Le=pe[2],ze=pe[3],Ze=pe[6],Ve=pe[7],Qe=pe[11];ce[1]=pe[4],ce[2]=pe[8],ce[3]=pe[12],ce[4]=Se,ce[6]=pe[9],ce[7]=pe[13],ce[8]=Le,ce[9]=Ze,ce[11]=pe[14],ce[12]=ze,ce[13]=Ve,ce[14]=Qe}else ce[0]=pe[0],ce[1]=pe[4],ce[2]=pe[8],ce[3]=pe[12],ce[4]=pe[1],ce[5]=pe[5],ce[6]=pe[9],ce[7]=pe[13],ce[8]=pe[2],ce[9]=pe[6],ce[10]=pe[10],ce[11]=pe[14],ce[12]=pe[3],ce[13]=pe[7],ce[14]=pe[11],ce[15]=pe[15];return ce},ve.invert=function(ce,pe){var Se=pe[0],Le=pe[1],ze=pe[2],Ze=pe[3],Ve=pe[4],Qe=pe[5],$e=pe[6],gt=pe[7],lt=pe[8],At=pe[9],Et=pe[10],vt=pe[11],Lt=pe[12],St=pe[13],xt=pe[14],ct=pe[15],Dt=Se*Qe-Le*Ve,Xt=Se*$e-ze*Ve,kt=Se*gt-Ze*Ve,Rt=Le*$e-ze*Qe,Gt=Le*gt-Ze*Qe,ln=ze*gt-Ze*$e,Rn=lt*St-At*Lt,jn=lt*xt-Et*Lt,er=lt*ct-vt*Lt,an=At*xt-Et*St,Un=At*ct-vt*St,Kn=Et*ct-vt*xt,ur=Dt*Kn-Xt*Un+kt*an+Rt*er-Gt*jn+ln*Rn;return ur?(ur=1/ur,ce[0]=(Qe*Kn-$e*Un+gt*an)*ur,ce[1]=(ze*Un-Le*Kn-Ze*an)*ur,ce[2]=(St*ln-xt*Gt+ct*Rt)*ur,ce[3]=(Et*Gt-At*ln-vt*Rt)*ur,ce[4]=($e*er-Ve*Kn-gt*jn)*ur,ce[5]=(Se*Kn-ze*er+Ze*jn)*ur,ce[6]=(xt*kt-Lt*ln-ct*Xt)*ur,ce[7]=(lt*ln-Et*kt+vt*Xt)*ur,ce[8]=(Ve*Un-Qe*er+gt*Rn)*ur,ce[9]=(Le*er-Se*Un-Ze*Rn)*ur,ce[10]=(Lt*Gt-St*kt+ct*Dt)*ur,ce[11]=(At*kt-lt*Gt-vt*Dt)*ur,ce[12]=(Qe*jn-Ve*an-$e*Rn)*ur,ce[13]=(Se*an-Le*jn+ze*Rn)*ur,ce[14]=(St*Xt-Lt*Rt-xt*Dt)*ur,ce[15]=(lt*Rt-At*Xt+Et*Dt)*ur,ce):null},ve.adjoint=function(ce,pe){var Se=pe[0],Le=pe[1],ze=pe[2],Ze=pe[3],Ve=pe[4],Qe=pe[5],$e=pe[6],gt=pe[7],lt=pe[8],At=pe[9],Et=pe[10],vt=pe[11],Lt=pe[12],St=pe[13],xt=pe[14],ct=pe[15];return ce[0]=Qe*(Et*ct-vt*xt)-At*($e*ct-gt*xt)+St*($e*vt-gt*Et),ce[1]=-(Le*(Et*ct-vt*xt)-At*(ze*ct-Ze*xt)+St*(ze*vt-Ze*Et)),ce[2]=Le*($e*ct-gt*xt)-Qe*(ze*ct-Ze*xt)+St*(ze*gt-Ze*$e),ce[3]=-(Le*($e*vt-gt*Et)-Qe*(ze*vt-Ze*Et)+At*(ze*gt-Ze*$e)),ce[4]=-(Ve*(Et*ct-vt*xt)-lt*($e*ct-gt*xt)+Lt*($e*vt-gt*Et)),ce[5]=Se*(Et*ct-vt*xt)-lt*(ze*ct-Ze*xt)+Lt*(ze*vt-Ze*Et),ce[6]=-(Se*($e*ct-gt*xt)-Ve*(ze*ct-Ze*xt)+Lt*(ze*gt-Ze*$e)),ce[7]=Se*($e*vt-gt*Et)-Ve*(ze*vt-Ze*Et)+lt*(ze*gt-Ze*$e),ce[8]=Ve*(At*ct-vt*St)-lt*(Qe*ct-gt*St)+Lt*(Qe*vt-gt*At),ce[9]=-(Se*(At*ct-vt*St)-lt*(Le*ct-Ze*St)+Lt*(Le*vt-Ze*At)),ce[10]=Se*(Qe*ct-gt*St)-Ve*(Le*ct-Ze*St)+Lt*(Le*gt-Ze*Qe),ce[11]=-(Se*(Qe*vt-gt*At)-Ve*(Le*vt-Ze*At)+lt*(Le*gt-Ze*Qe)),ce[12]=-(Ve*(At*xt-Et*St)-lt*(Qe*xt-$e*St)+Lt*(Qe*Et-$e*At)),ce[13]=Se*(At*xt-Et*St)-lt*(Le*xt-ze*St)+Lt*(Le*Et-ze*At),ce[14]=-(Se*(Qe*xt-$e*St)-Ve*(Le*xt-ze*St)+Lt*(Le*$e-ze*Qe)),ce[15]=Se*(Qe*Et-$e*At)-Ve*(Le*Et-ze*At)+lt*(Le*$e-ze*Qe),ce},ve.determinant=function(ce){var pe=ce[0],Se=ce[1],Le=ce[2],ze=ce[3],Ze=ce[4],Ve=ce[5],Qe=ce[6],$e=ce[7],gt=ce[8],lt=ce[9],At=ce[10],Et=ce[11],vt=ce[12],Lt=ce[13],St=ce[14],xt=ce[15],ct=pe*Ve-Se*Ze,Dt=pe*Qe-Le*Ze,Xt=pe*$e-ze*Ze,kt=Se*Qe-Le*Ve,Rt=Se*$e-ze*Ve,Gt=Le*$e-ze*Qe,ln=gt*Lt-lt*vt,Rn=gt*St-At*vt,jn=gt*xt-Et*vt,er=lt*St-At*Lt,an=lt*xt-Et*Lt,Un=At*xt-Et*St;return ct*Un-Dt*an+Xt*er+kt*jn-Rt*Rn+Gt*ln},ve.multiply=function(ce,pe,Se){var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=pe[3],Qe=pe[4],$e=pe[5],gt=pe[6],lt=pe[7],At=pe[8],Et=pe[9],vt=pe[10],Lt=pe[11],St=pe[12],xt=pe[13],ct=pe[14],Dt=pe[15],Xt=Se[0],kt=Se[1],Rt=Se[2],Gt=Se[3];return ce[0]=Xt*Le+kt*Qe+Rt*At+Gt*St,ce[1]=Xt*ze+kt*$e+Rt*Et+Gt*xt,ce[2]=Xt*Ze+kt*gt+Rt*vt+Gt*ct,ce[3]=Xt*Ve+kt*lt+Rt*Lt+Gt*Dt,Xt=Se[4],kt=Se[5],Rt=Se[6],Gt=Se[7],ce[4]=Xt*Le+kt*Qe+Rt*At+Gt*St,ce[5]=Xt*ze+kt*$e+Rt*Et+Gt*xt,ce[6]=Xt*Ze+kt*gt+Rt*vt+Gt*ct,ce[7]=Xt*Ve+kt*lt+Rt*Lt+Gt*Dt,Xt=Se[8],kt=Se[9],Rt=Se[10],Gt=Se[11],ce[8]=Xt*Le+kt*Qe+Rt*At+Gt*St,ce[9]=Xt*ze+kt*$e+Rt*Et+Gt*xt,ce[10]=Xt*Ze+kt*gt+Rt*vt+Gt*ct,ce[11]=Xt*Ve+kt*lt+Rt*Lt+Gt*Dt,Xt=Se[12],kt=Se[13],Rt=Se[14],Gt=Se[15],ce[12]=Xt*Le+kt*Qe+Rt*At+Gt*St,ce[13]=Xt*ze+kt*$e+Rt*Et+Gt*xt,ce[14]=Xt*Ze+kt*gt+Rt*vt+Gt*ct,ce[15]=Xt*Ve+kt*lt+Rt*Lt+Gt*Dt,ce},ve.multiplyAffine=function(ce,pe,Se){var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=pe[4],Qe=pe[5],$e=pe[6],gt=pe[8],lt=pe[9],At=pe[10],Et=pe[12],vt=pe[13],Lt=pe[14],St=Se[0],xt=Se[1],ct=Se[2];return ce[0]=St*Le+xt*Ve+ct*gt,ce[1]=St*ze+xt*Qe+ct*lt,ce[2]=St*Ze+xt*$e+ct*At,St=Se[4],xt=Se[5],ct=Se[6],ce[4]=St*Le+xt*Ve+ct*gt,ce[5]=St*ze+xt*Qe+ct*lt,ce[6]=St*Ze+xt*$e+ct*At,St=Se[8],xt=Se[9],ct=Se[10],ce[8]=St*Le+xt*Ve+ct*gt,ce[9]=St*ze+xt*Qe+ct*lt,ce[10]=St*Ze+xt*$e+ct*At,St=Se[12],xt=Se[13],ct=Se[14],ce[12]=St*Le+xt*Ve+ct*gt+Et,ce[13]=St*ze+xt*Qe+ct*lt+vt,ce[14]=St*Ze+xt*$e+ct*At+Lt,ce},ve.mul=ve.multiply,ve.mulAffine=ve.multiplyAffine,ve.translate=function(ce,pe,Se){var Le=Se[0],ze=Se[1],Ze=Se[2],Ve,Qe,$e,gt,lt,At,Et,vt,Lt,St,xt,ct;return pe===ce?(ce[12]=pe[0]*Le+pe[4]*ze+pe[8]*Ze+pe[12],ce[13]=pe[1]*Le+pe[5]*ze+pe[9]*Ze+pe[13],ce[14]=pe[2]*Le+pe[6]*ze+pe[10]*Ze+pe[14],ce[15]=pe[3]*Le+pe[7]*ze+pe[11]*Ze+pe[15]):(Ve=pe[0],Qe=pe[1],$e=pe[2],gt=pe[3],lt=pe[4],At=pe[5],Et=pe[6],vt=pe[7],Lt=pe[8],St=pe[9],xt=pe[10],ct=pe[11],ce[0]=Ve,ce[1]=Qe,ce[2]=$e,ce[3]=gt,ce[4]=lt,ce[5]=At,ce[6]=Et,ce[7]=vt,ce[8]=Lt,ce[9]=St,ce[10]=xt,ce[11]=ct,ce[12]=Ve*Le+lt*ze+Lt*Ze+pe[12],ce[13]=Qe*Le+At*ze+St*Ze+pe[13],ce[14]=$e*Le+Et*ze+xt*Ze+pe[14],ce[15]=gt*Le+vt*ze+ct*Ze+pe[15]),ce},ve.scale=function(ce,pe,Se){var Le=Se[0],ze=Se[1],Ze=Se[2];return ce[0]=pe[0]*Le,ce[1]=pe[1]*Le,ce[2]=pe[2]*Le,ce[3]=pe[3]*Le,ce[4]=pe[4]*ze,ce[5]=pe[5]*ze,ce[6]=pe[6]*ze,ce[7]=pe[7]*ze,ce[8]=pe[8]*Ze,ce[9]=pe[9]*Ze,ce[10]=pe[10]*Ze,ce[11]=pe[11]*Ze,ce[12]=pe[12],ce[13]=pe[13],ce[14]=pe[14],ce[15]=pe[15],ce},ve.rotate=function(ce,pe,Se,Le){var ze=Le[0],Ze=Le[1],Ve=Le[2],Qe=Math.sqrt(ze*ze+Ze*Ze+Ve*Ve),$e,gt,lt,At,Et,vt,Lt,St,xt,ct,Dt,Xt,kt,Rt,Gt,ln,Rn,jn,er,an,Un,Kn,ur,Xn;return Math.abs(Qe)<Te?null:(Qe=1/Qe,ze*=Qe,Ze*=Qe,Ve*=Qe,$e=Math.sin(Se),gt=Math.cos(Se),lt=1-gt,At=pe[0],Et=pe[1],vt=pe[2],Lt=pe[3],St=pe[4],xt=pe[5],ct=pe[6],Dt=pe[7],Xt=pe[8],kt=pe[9],Rt=pe[10],Gt=pe[11],ln=ze*ze*lt+gt,Rn=Ze*ze*lt+Ve*$e,jn=Ve*ze*lt-Ze*$e,er=ze*Ze*lt-Ve*$e,an=Ze*Ze*lt+gt,Un=Ve*Ze*lt+ze*$e,Kn=ze*Ve*lt+Ze*$e,ur=Ze*Ve*lt-ze*$e,Xn=Ve*Ve*lt+gt,ce[0]=At*ln+St*Rn+Xt*jn,ce[1]=Et*ln+xt*Rn+kt*jn,ce[2]=vt*ln+ct*Rn+Rt*jn,ce[3]=Lt*ln+Dt*Rn+Gt*jn,ce[4]=At*er+St*an+Xt*Un,ce[5]=Et*er+xt*an+kt*Un,ce[6]=vt*er+ct*an+Rt*Un,ce[7]=Lt*er+Dt*an+Gt*Un,ce[8]=At*Kn+St*ur+Xt*Xn,ce[9]=Et*Kn+xt*ur+kt*Xn,ce[10]=vt*Kn+ct*ur+Rt*Xn,ce[11]=Lt*Kn+Dt*ur+Gt*Xn,pe!==ce&&(ce[12]=pe[12],ce[13]=pe[13],ce[14]=pe[14],ce[15]=pe[15]),ce)},ve.rotateX=function(ce,pe,Se){var Le=Math.sin(Se),ze=Math.cos(Se),Ze=pe[4],Ve=pe[5],Qe=pe[6],$e=pe[7],gt=pe[8],lt=pe[9],At=pe[10],Et=pe[11];return pe!==ce&&(ce[0]=pe[0],ce[1]=pe[1],ce[2]=pe[2],ce[3]=pe[3],ce[12]=pe[12],ce[13]=pe[13],ce[14]=pe[14],ce[15]=pe[15]),ce[4]=Ze*ze+gt*Le,ce[5]=Ve*ze+lt*Le,ce[6]=Qe*ze+At*Le,ce[7]=$e*ze+Et*Le,ce[8]=gt*ze-Ze*Le,ce[9]=lt*ze-Ve*Le,ce[10]=At*ze-Qe*Le,ce[11]=Et*ze-$e*Le,ce},ve.rotateY=function(ce,pe,Se){var Le=Math.sin(Se),ze=Math.cos(Se),Ze=pe[0],Ve=pe[1],Qe=pe[2],$e=pe[3],gt=pe[8],lt=pe[9],At=pe[10],Et=pe[11];return pe!==ce&&(ce[4]=pe[4],ce[5]=pe[5],ce[6]=pe[6],ce[7]=pe[7],ce[12]=pe[12],ce[13]=pe[13],ce[14]=pe[14],ce[15]=pe[15]),ce[0]=Ze*ze-gt*Le,ce[1]=Ve*ze-lt*Le,ce[2]=Qe*ze-At*Le,ce[3]=$e*ze-Et*Le,ce[8]=Ze*Le+gt*ze,ce[9]=Ve*Le+lt*ze,ce[10]=Qe*Le+At*ze,ce[11]=$e*Le+Et*ze,ce},ve.rotateZ=function(ce,pe,Se){var Le=Math.sin(Se),ze=Math.cos(Se),Ze=pe[0],Ve=pe[1],Qe=pe[2],$e=pe[3],gt=pe[4],lt=pe[5],At=pe[6],Et=pe[7];return pe!==ce&&(ce[8]=pe[8],ce[9]=pe[9],ce[10]=pe[10],ce[11]=pe[11],ce[12]=pe[12],ce[13]=pe[13],ce[14]=pe[14],ce[15]=pe[15]),ce[0]=Ze*ze+gt*Le,ce[1]=Ve*ze+lt*Le,ce[2]=Qe*ze+At*Le,ce[3]=$e*ze+Et*Le,ce[4]=gt*ze-Ze*Le,ce[5]=lt*ze-Ve*Le,ce[6]=At*ze-Qe*Le,ce[7]=Et*ze-$e*Le,ce},ve.fromRotationTranslation=function(ce,pe,Se){var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=pe[3],Qe=Le+Le,$e=ze+ze,gt=Ze+Ze,lt=Le*Qe,At=Le*$e,Et=Le*gt,vt=ze*$e,Lt=ze*gt,St=Ze*gt,xt=Ve*Qe,ct=Ve*$e,Dt=Ve*gt;return ce[0]=1-(vt+St),ce[1]=At+Dt,ce[2]=Et-ct,ce[3]=0,ce[4]=At-Dt,ce[5]=1-(lt+St),ce[6]=Lt+xt,ce[7]=0,ce[8]=Et+ct,ce[9]=Lt-xt,ce[10]=1-(lt+vt),ce[11]=0,ce[12]=Se[0],ce[13]=Se[1],ce[14]=Se[2],ce[15]=1,ce},ve.fromQuat=function(ce,pe){var Se=pe[0],Le=pe[1],ze=pe[2],Ze=pe[3],Ve=Se+Se,Qe=Le+Le,$e=ze+ze,gt=Se*Ve,lt=Le*Ve,At=Le*Qe,Et=ze*Ve,vt=ze*Qe,Lt=ze*$e,St=Ze*Ve,xt=Ze*Qe,ct=Ze*$e;return ce[0]=1-At-Lt,ce[1]=lt+ct,ce[2]=Et-xt,ce[3]=0,ce[4]=lt-ct,ce[5]=1-gt-Lt,ce[6]=vt+St,ce[7]=0,ce[8]=Et+xt,ce[9]=vt-St,ce[10]=1-gt-At,ce[11]=0,ce[12]=0,ce[13]=0,ce[14]=0,ce[15]=1,ce},ve.frustum=function(ce,pe,Se,Le,ze,Ze,Ve){var Qe=1/(Se-pe),$e=1/(ze-Le),gt=1/(Ze-Ve);return ce[0]=Ze*2*Qe,ce[1]=0,ce[2]=0,ce[3]=0,ce[4]=0,ce[5]=Ze*2*$e,ce[6]=0,ce[7]=0,ce[8]=(Se+pe)*Qe,ce[9]=(ze+Le)*$e,ce[10]=(Ve+Ze)*gt,ce[11]=-1,ce[12]=0,ce[13]=0,ce[14]=Ve*Ze*2*gt,ce[15]=0,ce},ve.perspective=function(ce,pe,Se,Le,ze){var Ze=1/Math.tan(pe/2),Ve=1/(Le-ze);return ce[0]=Ze/Se,ce[1]=0,ce[2]=0,ce[3]=0,ce[4]=0,ce[5]=Ze,ce[6]=0,ce[7]=0,ce[8]=0,ce[9]=0,ce[10]=(ze+Le)*Ve,ce[11]=-1,ce[12]=0,ce[13]=0,ce[14]=2*ze*Le*Ve,ce[15]=0,ce},ve.ortho=function(ce,pe,Se,Le,ze,Ze,Ve){var Qe=1/(pe-Se),$e=1/(Le-ze),gt=1/(Ze-Ve);return ce[0]=-2*Qe,ce[1]=0,ce[2]=0,ce[3]=0,ce[4]=0,ce[5]=-2*$e,ce[6]=0,ce[7]=0,ce[8]=0,ce[9]=0,ce[10]=2*gt,ce[11]=0,ce[12]=(pe+Se)*Qe,ce[13]=(ze+Le)*$e,ce[14]=(Ve+Ze)*gt,ce[15]=1,ce},ve.lookAt=function(ce,pe,Se,Le){var ze,Ze,Ve,Qe,$e,gt,lt,At,Et,vt,Lt=pe[0],St=pe[1],xt=pe[2],ct=Le[0],Dt=Le[1],Xt=Le[2],kt=Se[0],Rt=Se[1],Gt=Se[2];return Math.abs(Lt-kt)<Te&&Math.abs(St-Rt)<Te&&Math.abs(xt-Gt)<Te?ve.identity(ce):(lt=Lt-kt,At=St-Rt,Et=xt-Gt,vt=1/Math.sqrt(lt*lt+At*At+Et*Et),lt*=vt,At*=vt,Et*=vt,ze=Dt*Et-Xt*At,Ze=Xt*lt-ct*Et,Ve=ct*At-Dt*lt,vt=Math.sqrt(ze*ze+Ze*Ze+Ve*Ve),vt?(vt=1/vt,ze*=vt,Ze*=vt,Ve*=vt):(ze=0,Ze=0,Ve=0),Qe=At*Ve-Et*Ze,$e=Et*ze-lt*Ve,gt=lt*Ze-At*ze,vt=Math.sqrt(Qe*Qe+$e*$e+gt*gt),vt?(vt=1/vt,Qe*=vt,$e*=vt,gt*=vt):(Qe=0,$e=0,gt=0),ce[0]=ze,ce[1]=Qe,ce[2]=lt,ce[3]=0,ce[4]=Ze,ce[5]=$e,ce[6]=At,ce[7]=0,ce[8]=Ve,ce[9]=gt,ce[10]=Et,ce[11]=0,ce[12]=-(ze*Lt+Ze*St+Ve*xt),ce[13]=-(Qe*Lt+$e*St+gt*xt),ce[14]=-(lt*Lt+At*St+Et*xt),ce[15]=1,ce)},ve.str=function(ce){return"mat4("+ce[0]+", "+ce[1]+", "+ce[2]+", "+ce[3]+", "+ce[4]+", "+ce[5]+", "+ce[6]+", "+ce[7]+", "+ce[8]+", "+ce[9]+", "+ce[10]+", "+ce[11]+", "+ce[12]+", "+ce[13]+", "+ce[14]+", "+ce[15]+")"},ve.frob=function(ce){return Math.sqrt(Math.pow(ce[0],2)+Math.pow(ce[1],2)+Math.pow(ce[2],2)+Math.pow(ce[3],2)+Math.pow(ce[4],2)+Math.pow(ce[5],2)+Math.pow(ce[6],2)+Math.pow(ce[7],2)+Math.pow(ce[8],2)+Math.pow(ce[9],2)+Math.pow(ce[10],2)+Math.pow(ce[11],2)+Math.pow(ce[12],2)+Math.pow(ce[13],2)+Math.pow(ce[14],2)+Math.pow(ce[15],2))},typeof we!="undefined"&&(we.mat4=ve);var xe={};xe.create=function(){var ce=new ke(4);return ce[0]=0,ce[1]=0,ce[2]=0,ce[3]=1,ce},xe.rotationTo=function(){var ce=ye.create(),pe=ye.fromValues(1,0,0),Se=ye.fromValues(0,1,0);return function(Le,ze,Ze){var Ve=ye.dot(ze,Ze);return Ve<-.999999?(ye.cross(ce,pe,ze),ye.length(ce)<1e-6&&ye.cross(ce,Se,ze),ye.normalize(ce,ce),xe.setAxisAngle(Le,ce,Math.PI),Le):Ve>.999999?(Le[0]=0,Le[1]=0,Le[2]=0,Le[3]=1,Le):(ye.cross(ce,ze,Ze),Le[0]=ce[0],Le[1]=ce[1],Le[2]=ce[2],Le[3]=1+Ve,xe.normalize(Le,Le))}}(),xe.setAxes=function(){var ce=de.create();return function(pe,Se,Le,ze){return ce[0]=Le[0],ce[3]=Le[1],ce[6]=Le[2],ce[1]=ze[0],ce[4]=ze[1],ce[7]=ze[2],ce[2]=-Se[0],ce[5]=-Se[1],ce[8]=-Se[2],xe.normalize(pe,xe.fromMat3(pe,ce))}}(),xe.clone=ie.clone,xe.fromValues=ie.fromValues,xe.copy=ie.copy,xe.set=ie.set,xe.identity=function(ce){return ce[0]=0,ce[1]=0,ce[2]=0,ce[3]=1,ce},xe.setAxisAngle=function(ce,pe,Se){Se=Se*.5;var Le=Math.sin(Se);return ce[0]=Le*pe[0],ce[1]=Le*pe[1],ce[2]=Le*pe[2],ce[3]=Math.cos(Se),ce},xe.add=ie.add,xe.multiply=function(ce,pe,Se){var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=pe[3],Qe=Se[0],$e=Se[1],gt=Se[2],lt=Se[3];return ce[0]=Le*lt+Ve*Qe+ze*gt-Ze*$e,ce[1]=ze*lt+Ve*$e+Ze*Qe-Le*gt,ce[2]=Ze*lt+Ve*gt+Le*$e-ze*Qe,ce[3]=Ve*lt-Le*Qe-ze*$e-Ze*gt,ce},xe.mul=xe.multiply,xe.scale=ie.scale,xe.rotateX=function(ce,pe,Se){Se*=.5;var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=pe[3],Qe=Math.sin(Se),$e=Math.cos(Se);return ce[0]=Le*$e+Ve*Qe,ce[1]=ze*$e+Ze*Qe,ce[2]=Ze*$e-ze*Qe,ce[3]=Ve*$e-Le*Qe,ce},xe.rotateY=function(ce,pe,Se){Se*=.5;var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=pe[3],Qe=Math.sin(Se),$e=Math.cos(Se);return ce[0]=Le*$e-Ze*Qe,ce[1]=ze*$e+Ve*Qe,ce[2]=Ze*$e+Le*Qe,ce[3]=Ve*$e-ze*Qe,ce},xe.rotateZ=function(ce,pe,Se){Se*=.5;var Le=pe[0],ze=pe[1],Ze=pe[2],Ve=pe[3],Qe=Math.sin(Se),$e=Math.cos(Se);return ce[0]=Le*$e+ze*Qe,ce[1]=ze*$e-Le*Qe,ce[2]=Ze*$e+Ve*Qe,ce[3]=Ve*$e-Ze*Qe,ce},xe.calculateW=function(ce,pe){var Se=pe[0],Le=pe[1],ze=pe[2];return ce[0]=Se,ce[1]=Le,ce[2]=ze,ce[3]=Math.sqrt(Math.abs(1-Se*Se-Le*Le-ze*ze)),ce},xe.dot=ie.dot,xe.lerp=ie.lerp,xe.slerp=function(ce,pe,Se,Le){var ze=pe[0],Ze=pe[1],Ve=pe[2],Qe=pe[3],$e=Se[0],gt=Se[1],lt=Se[2],At=Se[3],Et,vt,Lt,St,xt;return vt=ze*$e+Ze*gt+Ve*lt+Qe*At,vt<0&&(vt=-vt,$e=-$e,gt=-gt,lt=-lt,At=-At),1-vt>1e-6?(Et=Math.acos(vt),Lt=Math.sin(Et),St=Math.sin((1-Le)*Et)/Lt,xt=Math.sin(Le*Et)/Lt):(St=1-Le,xt=Le),ce[0]=St*ze+xt*$e,ce[1]=St*Ze+xt*gt,ce[2]=St*Ve+xt*lt,ce[3]=St*Qe+xt*At,ce},xe.invert=function(ce,pe){var Se=pe[0],Le=pe[1],ze=pe[2],Ze=pe[3],Ve=Se*Se+Le*Le+ze*ze+Ze*Ze,Qe=Ve?1/Ve:0;return ce[0]=-Se*Qe,ce[1]=-Le*Qe,ce[2]=-ze*Qe,ce[3]=Ze*Qe,ce},xe.conjugate=function(ce,pe){return ce[0]=-pe[0],ce[1]=-pe[1],ce[2]=-pe[2],ce[3]=pe[3],ce},xe.length=ie.length,xe.len=xe.length,xe.squaredLength=ie.squaredLength,xe.sqrLen=xe.squaredLength,xe.normalize=ie.normalize,xe.fromMat3=function(ce,pe){var Se=pe[0]+pe[4]+pe[8],Le;if(Se>0)Le=Math.sqrt(Se+1),ce[3]=.5*Le,Le=.5/Le,ce[0]=(pe[5]-pe[7])*Le,ce[1]=(pe[6]-pe[2])*Le,ce[2]=(pe[1]-pe[3])*Le;else{var ze=0;pe[4]>pe[0]&&(ze=1),pe[8]>pe[ze*3+ze]&&(ze=2);var Ze=(ze+1)%3,Ve=(ze+2)%3;Le=Math.sqrt(pe[ze*3+ze]-pe[Ze*3+Ze]-pe[Ve*3+Ve]+1),ce[ze]=.5*Le,Le=.5/Le,ce[3]=(pe[Ze*3+Ve]-pe[Ve*3+Ze])*Le,ce[Ze]=(pe[Ze*3+ze]+pe[ze*3+Ze])*Le,ce[Ve]=(pe[Ve*3+ze]+pe[ze*3+Ve])*Le}return ce},xe.str=function(ce){return"quat("+ce[0]+", "+ce[1]+", "+ce[2]+", "+ce[3]+")"},typeof we!="undefined"&&(we.quat=xe)}(Be.exports)})(this)},function(tt,Ue,Ne){"use strict";var Ke=Ne(24),Be=Ne(46),we=Ne(5),Te=Ne(6),ke=Ne(7),Ie=Ne(17),Ce=Ne(28),Me=Ne(13),je=Ne(0),ye=Ne.n(je),ie=Ne(29),ae=Ne(53),fe=Ne.n(ae),de=Ne(54),ve=Ne(106),xe=Ne(107),ce=Ne(113),pe=Ne(114),Se=Ne(3),Le=Ne(68),ze=Ne(37),Ze=Ne(69),Ve=Ne(116),Qe=Ne(70),$e=Ne(71),gt=Ne(72),lt=Ne(36),At=Ne(30),Et=Ne(23),vt=Ne(4),Lt=Ne(117),St=Ne(50),xt=Ne(118),ct=Ne(119),Dt=Ne(120),Xt=Ne(9),kt=Ne(67),Rt=Ne(49),Gt=Ne(15),ln=Ne(52),Rn=Ne(121),jn=Ne(126),er=Ne(63),an=Ne(127),Un=Ne(128),Kn=Ne(129),ur=Ne(130),Xn=Ne(131),Nn=Ne(132);ye.a.util.extend(Ce.a.prototype,Rn.a),ke.a.import(jn.a),ke.a.import(er.a),ke.a.import(an.a),ke.a.import(Un.a),ke.a.import(Kn.a),ke.a.import(ur.a),ke.a.import(Xn.a),ke.a.import(Nn.a);function _n(ot){return!ot||ot==="none"}function un(ot){return ot instanceof HTMLCanvasElement||ot instanceof HTMLImageElement||ot instanceof Image}function qt(ot){return ot.getZr&&ot.setOption}var Yt=ie.a.prototype.addToScene,gn=ie.a.prototype.removeFromScene;ie.a.prototype.addToScene=function(ot){if(Yt.call(this,ot),this.__zr){var Pt=this.__zr;ot.traverse(function(Ht){Ht.__zr=Pt,Ht.addAnimatorsToZr&&Ht.addAnimatorsToZr(Pt)})}},ie.a.prototype.removeFromScene=function(ot){gn.call(this,ot),ot.traverse(function(Pt){var Ht=Pt.__zr;Pt.__zr=null,Ht&&Pt.removeAnimatorsFromZr&&Pt.removeAnimatorsFromZr(Ht)})},Ie.a.prototype.setTextureImage=function(ot,Pt,Ht,Mt){if(this.shader){var hn=Ht.getZr(),rr=this,Jn;return rr.autoUpdateTextureStatus=!1,rr.disableTexture(ot),_n(Pt)||(Jn=_t.loadTexture(Pt,Ht,Mt,function(An){rr.enableTexture(ot),hn&&hn.refresh()}),rr.set(ot,Jn)),Jn}};var _t={};_t.Renderer=Be.a,_t.Node=Ce.a,_t.Mesh=Ke.a,_t.Shader=ke.a,_t.Material=Ie.a,_t.Texture=Te.a,_t.Texture2D=we.a,_t.Geometry=Me.a,_t.SphereGeometry=Le.a,_t.PlaneGeometry=ze.a,_t.CubeGeometry=Ze.a,_t.AmbientLight=Ve.a,_t.DirectionalLight=Qe.a,_t.PointLight=$e.a,_t.SpotLight=gt.a,_t.PerspectiveCamera=lt.a,_t.OrthographicCamera=At.a,_t.Vector2=Et.a,_t.Vector3=vt.a,_t.Vector4=Lt.a,_t.Quaternion=St.a,_t.Matrix2=xt.a,_t.Matrix2d=ct.a,_t.Matrix3=Dt.a,_t.Matrix4=Xt.a,_t.Plane=kt.a,_t.Ray=Rt.a,_t.BoundingBox=Gt.a,_t.Frustum=ln.a;var Jt=de.a.createBlank("rgba(255,255,255,0)").image;function wt(ot){return Math.pow(2,Math.round(Math.log(ot)/Math.LN2))}function ut(ot){if((ot.wrapS===Te.a.REPEAT||ot.wrapT===Te.a.REPEAT)&&ot.image){var Pt=wt(ot.width),Ht=wt(ot.height);if(Pt!==ot.width||Ht!==ot.height){var Mt=document.createElement("canvas");Mt.width=Pt,Mt.height=Ht;var hn=Mt.getContext("2d");hn.drawImage(ot.image,0,0,Pt,Ht),ot.image=Mt}}}_t.loadTexture=function(ot,Pt,Ht,Mt){typeof Ht=="function"&&(Mt=Ht,Ht={}),Ht=Ht||{};for(var hn=Object.keys(Ht).sort(),rr="",Jn=0;Jn<hn.length;Jn++)rr+=hn[Jn]+"_"+Ht[hn[Jn]]+"_";var An=Pt.__textureCache=Pt.__textureCache||new fe.a(20);if(qt(ot)){var $n=ot.__textureid__,xr=An.get(rr+$n);if(xr)xr.texture.surface.setECharts(ot),Mt&&Mt(xr.texture);else{var mr=new ve.a(ot);mr.onupdate=function(){Pt.getZr().refresh()},xr={texture:mr.getTexture()};for(var Jn=0;Jn<hn.length;Jn++)xr.texture[hn[Jn]]=Ht[hn[Jn]];$n=ot.__textureid__||"__ecgl_ec__"+xr.texture.__uid__,ot.__textureid__=$n,An.put(rr+$n,xr),Mt&&Mt(xr.texture)}return xr.texture}else if(un(ot)){var $n=ot.__textureid__,xr=An.get(rr+$n);if(!xr){xr={texture:new _t.Texture2D({image:ot})};for(var Jn=0;Jn<hn.length;Jn++)xr.texture[hn[Jn]]=Ht[hn[Jn]];$n=ot.__textureid__||"__ecgl_image__"+xr.texture.__uid__,ot.__textureid__=$n,An.put(rr+$n,xr),ut(xr.texture),Mt&&Mt(xr.texture)}return xr.texture}else{var xr=An.get(rr+ot);if(xr)xr.callbacks?xr.callbacks.push(Mt):Mt&&Mt(xr.texture);else if(ot.match(/.hdr$|^data:application\/octet-stream/)){xr={callbacks:[Mt]};var Qr=de.a.loadTexture(ot,{exposure:Ht.exposure,fileType:"hdr"},function(){Qr.dirty(),xr.callbacks.forEach(function(Ai){Ai&&Ai(Qr)}),xr.callbacks=null});xr.texture=Qr,An.put(rr+ot,xr)}else{for(var Qr=new _t.Texture2D({image:new Image}),Jn=0;Jn<hn.length;Jn++)Qr[hn[Jn]]=Ht[hn[Jn]];xr={texture:Qr,callbacks:[Mt]};var di=Qr.image;di.onload=function(){Qr.image=di,ut(Qr),Qr.dirty(),xr.callbacks.forEach(function(fo){fo&&fo(Qr)}),xr.callbacks=null},di.src=ot,Qr.image=Jt,An.put(rr+ot,xr)}return xr.texture}},_t.createAmbientCubemap=function(ot,Pt,Ht,Mt){ot=ot||{};var hn=ot.texture,rr=Se.a.firstNotNull(ot.exposure,1),Jn=new xe.a({intensity:Se.a.firstNotNull(ot.specularIntensity,1)}),An=new ce.a({intensity:Se.a.firstNotNull(ot.diffuseIntensity,1),coefficients:[.844,.712,.691,-.037,.083,.167,.343,.288,.299,-.041,-.021,-.009,-.003,-.041,-.064,-.011,-.007,-.004,-.031,.034,.081,-.06,-.049,-.06,.046,.056,.05]});return Jn.cubemap=_t.loadTexture(hn,Ht,{exposure:rr},function(){Jn.cubemap.flipY=!1,Jn.prefilter(Pt,32),An.coefficients=pe.a.projectEnvironmentMap(Pt,Jn.cubemap,{lod:1}),Mt&&Mt()}),{specular:Jn,diffuse:An}},_t.createBlankTexture=de.a.createBlank,_t.isImage=un,_t.additiveBlend=function(ot){ot.blendEquation(ot.FUNC_ADD),ot.blendFunc(ot.SRC_ALPHA,ot.ONE)},_t.parseColor=function(ot,Pt){return ot instanceof Array?(Pt||(Pt=[]),Pt[0]=ot[0],Pt[1]=ot[1],Pt[2]=ot[2],ot.length>3?Pt[3]=ot[3]:Pt[3]=1,Pt):(Pt=ye.a.color.parse(ot||"#000",Pt)||[0,0,0,0],Pt[0]/=255,Pt[1]/=255,Pt[2]/=255,Pt)},_t.directionFromAlphaBeta=function(ot,Pt){var Ht=ot/180*Math.PI+Math.PI/2,Mt=-Pt/180*Math.PI+Math.PI/2,hn=[],rr=Math.sin(Ht);return hn[0]=rr*Math.cos(Mt),hn[1]=-Math.cos(Ht),hn[2]=rr*Math.sin(Mt),hn},_t.getShadowResolution=function(ot){var Pt=1024;switch(ot){case"low":Pt=512;break;case"medium":break;case"high":Pt=2048;break;case"ultra":Pt=4096;break}return Pt},_t.COMMON_SHADERS=["lambert","color","realistic","hatching"],_t.createShader=function(ot){var Pt=ke.a.source(ot+".vertex"),Ht=ke.a.source(ot+".fragment");Pt||console.error("Vertex shader of '%s' not exits",ot),Ht||console.error("Fragment shader of '%s' not exits",ot);var Mt=new ke.a(Pt,Ht);return Mt.name=ot,Mt},_t.createMaterial=function(ot,Pt){Pt instanceof Array||(Pt=[Pt]);var Ht=_t.createShader(ot),Mt=new Ie.a({shader:Ht});return Pt.forEach(function(hn){typeof hn=="string"&&Mt.define(hn)}),Mt},_t.setMaterialFromModel=function(ot,Pt,Ht,Mt){Pt.autoUpdateTextureStatus=!1;var hn=Ht.getModel(ot+"Material"),rr=hn.get("detailTexture"),Jn=Se.a.firstNotNull(hn.get("textureTiling"),1),An=Se.a.firstNotNull(hn.get("textureOffset"),0);typeof Jn=="number"&&(Jn=[Jn,Jn]),typeof An=="number"&&(An=[An,An]);var $n=Jn[0]>1||Jn[1]>1?_t.Texture.REPEAT:_t.Texture.CLAMP_TO_EDGE,xr={anisotropic:8,wrapS:$n,wrapT:$n};if(ot==="realistic"){var mr=hn.get("roughness"),Qr=hn.get("metalness");Qr!=null?isNaN(Qr)&&(Pt.setTextureImage("metalnessMap",Qr,Mt,xr),Qr=Se.a.firstNotNull(hn.get("metalnessAdjust"),.5)):Qr=0,mr!=null?isNaN(mr)&&(Pt.setTextureImage("roughnessMap",mr,Mt,xr),mr=Se.a.firstNotNull(hn.get("roughnessAdjust"),.5)):mr=.5;var di=hn.get("normalTexture");Pt.setTextureImage("detailMap",rr,Mt,xr),Pt.setTextureImage("normalMap",di,Mt,xr),Pt.set({roughness:mr,metalness:Qr,detailUvRepeat:Jn,detailUvOffset:An})}else if(ot==="lambert")Pt.setTextureImage("detailMap",rr,Mt,xr),Pt.set({detailUvRepeat:Jn,detailUvOffset:An});else if(ot==="color")Pt.setTextureImage("detailMap",rr,Mt,xr),Pt.set({detailUvRepeat:Jn,detailUvOffset:An});else if(ot==="hatching"){var li=hn.get("hatchingTextures")||[];li.length<6&&console.error("Invalid hatchingTextures.");for(var Ai=0;Ai<6;Ai++)Pt.setTextureImage("hatch"+(Ai+1),li[Ai],Mt,{anisotropic:8,wrapS:_t.Texture.REPEAT,wrapT:_t.Texture.REPEAT});Pt.set({detailUvRepeat:Jn,detailUvOffset:An})}},_t.updateVertexAnimation=function(ot,Pt,Ht,Mt){var hn=Mt.get("animation"),rr=Mt.get("animationDurationUpdate"),Jn=Mt.get("animationEasingUpdate"),An=Ht.shadowDepthMaterial;if(hn&&Pt&&rr>0&&Pt.geometry.vertexCount===Ht.geometry.vertexCount){Ht.material.define("vertex","VERTEX_ANIMATION"),Ht.ignorePreZ=!0,An&&An.define("vertex","VERTEX_ANIMATION");for(var $n=0;$n<ot.length;$n++)Ht.geometry.attributes[ot[$n][0]].value=Pt.geometry.attributes[ot[$n][1]].value;Ht.geometry.dirty(),Ht.__percent=0,Ht.material.set("percent",0),Ht.stopAnimation(),Ht.animate().when(rr,{__percent:1}).during(function(){Ht.material.set("percent",Ht.__percent),An&&An.set("percent",Ht.__percent)}).done(function(){Ht.ignorePreZ=!1,Ht.material.undefine("vertex","VERTEX_ANIMATION"),An&&An.undefine("vertex","VERTEX_ANIMATION")}).start(Jn)}else Ht.material.undefine("vertex","VERTEX_ANIMATION"),An&&An.undefine("vertex","VERTEX_ANIMATION")},Ue.a=_t},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we={firstNotNull:function(){for(var Te=0,ke=arguments.length;Te<ke;Te++)if(arguments[Te]!=null)return arguments[Te]},queryDataIndex:function(Te,ke){if(ke.dataIndexInside!=null)return ke.dataIndexInside;if(ke.dataIndex!=null)return Be.a.util.isArray(ke.dataIndex)?Be.a.util.map(ke.dataIndex,function(Ie){return Te.indexOfRawIndex(Ie)}):Te.indexOfRawIndex(ke.dataIndex);if(ke.name!=null)return Be.a.util.isArray(ke.name)?Be.a.util.map(ke.name,function(Ie){return Te.indexOfName(Ie)}):Te.indexOfName(ke.name)}};Ue.a=we},function(tt,Ue,Ne){"use strict";var Ke=Ne(1),Be=Ne.n(Ke),we=Be.a.vec3,Te=function(ie,ae,fe){ie=ie||0,ae=ae||0,fe=fe||0,this.array=we.fromValues(ie,ae,fe),this._dirty=!0};Te.prototype={constructor:Te,add:function(ie){return we.add(this.array,this.array,ie.array),this._dirty=!0,this},set:function(ie,ae,fe){return this.array[0]=ie,this.array[1]=ae,this.array[2]=fe,this._dirty=!0,this},setArray:function(ie){return this.array[0]=ie[0],this.array[1]=ie[1],this.array[2]=ie[2],this._dirty=!0,this},clone:function(){return new Te(this.x,this.y,this.z)},copy:function(ie){return we.copy(this.array,ie.array),this._dirty=!0,this},cross:function(ie,ae){return we.cross(this.array,ie.array,ae.array),this._dirty=!0,this},dist:function(ie){return we.dist(this.array,ie.array)},distance:function(ie){return we.distance(this.array,ie.array)},div:function(ie){return we.div(this.array,this.array,ie.array),this._dirty=!0,this},divide:function(ie){return we.divide(this.array,this.array,ie.array),this._dirty=!0,this},dot:function(ie){return we.dot(this.array,ie.array)},len:function(){return we.len(this.array)},length:function(){return we.length(this.array)},lerp:function(ie,ae,fe){return we.lerp(this.array,ie.array,ae.array,fe),this._dirty=!0,this},min:function(ie){return we.min(this.array,this.array,ie.array),this._dirty=!0,this},max:function(ie){return we.max(this.array,this.array,ie.array),this._dirty=!0,this},mul:function(ie){return we.mul(this.array,this.array,ie.array),this._dirty=!0,this},multiply:function(ie){return we.multiply(this.array,this.array,ie.array),this._dirty=!0,this},negate:function(){return we.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return we.normalize(this.array,this.array),this._dirty=!0,this},random:function(ie){return we.random(this.array,ie),this._dirty=!0,this},scale:function(ie){return we.scale(this.array,this.array,ie),this._dirty=!0,this},scaleAndAdd:function(ie,ae){return we.scaleAndAdd(this.array,this.array,ie.array,ae),this._dirty=!0,this},sqrDist:function(ie){return we.sqrDist(this.array,ie.array)},squaredDistance:function(ie){return we.squaredDistance(this.array,ie.array)},sqrLen:function(){return we.sqrLen(this.array)},squaredLength:function(){return we.squaredLength(this.array)},sub:function(ie){return we.sub(this.array,this.array,ie.array),this._dirty=!0,this},subtract:function(ie){return we.subtract(this.array,this.array,ie.array),this._dirty=!0,this},transformMat3:function(ie){return we.transformMat3(this.array,this.array,ie.array),this._dirty=!0,this},transformMat4:function(ie){return we.transformMat4(this.array,this.array,ie.array),this._dirty=!0,this},transformQuat:function(ie){return we.transformQuat(this.array,this.array,ie.array),this._dirty=!0,this},applyProjection:function(ie){var ae=this.array;if(ie=ie.array,ie[15]===0){var fe=-1/ae[2];ae[0]=ie[0]*ae[0]*fe,ae[1]=ie[5]*ae[1]*fe,ae[2]=(ie[10]*ae[2]+ie[14])*fe}else ae[0]=ie[0]*ae[0]+ie[12],ae[1]=ie[5]*ae[1]+ie[13],ae[2]=ie[10]*ae[2]+ie[14];return this._dirty=!0,this},eulerFromQuat:function(ie,ae){Te.eulerFromQuat(this,ie,ae)},eulerFromMat3:function(ie,ae){Te.eulerFromMat3(this,ie,ae)},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var ke=Object.defineProperty;if(ke){var Ie=Te.prototype;ke(Ie,"x",{get:function(){return this.array[0]},set:function(ie){this.array[0]=ie,this._dirty=!0}}),ke(Ie,"y",{get:function(){return this.array[1]},set:function(ie){this.array[1]=ie,this._dirty=!0}}),ke(Ie,"z",{get:function(){return this.array[2]},set:function(ie){this.array[2]=ie,this._dirty=!0}})}Te.add=function(ie,ae,fe){return we.add(ie.array,ae.array,fe.array),ie._dirty=!0,ie},Te.set=function(ie,ae,fe,de){we.set(ie.array,ae,fe,de),ie._dirty=!0},Te.copy=function(ie,ae){return we.copy(ie.array,ae.array),ie._dirty=!0,ie},Te.cross=function(ie,ae,fe){return we.cross(ie.array,ae.array,fe.array),ie._dirty=!0,ie},Te.dist=function(ie,ae){return we.distance(ie.array,ae.array)},Te.distance=Te.dist,Te.div=function(ie,ae,fe){return we.divide(ie.array,ae.array,fe.array),ie._dirty=!0,ie},Te.divide=Te.div,Te.dot=function(ie,ae){return we.dot(ie.array,ae.array)},Te.len=function(ie){return we.length(ie.array)},Te.lerp=function(ie,ae,fe,de){return we.lerp(ie.array,ae.array,fe.array,de),ie._dirty=!0,ie},Te.min=function(ie,ae,fe){return we.min(ie.array,ae.array,fe.array),ie._dirty=!0,ie},Te.max=function(ie,ae,fe){return we.max(ie.array,ae.array,fe.array),ie._dirty=!0,ie},Te.mul=function(ie,ae,fe){return we.multiply(ie.array,ae.array,fe.array),ie._dirty=!0,ie},Te.multiply=Te.mul,Te.negate=function(ie,ae){return we.negate(ie.array,ae.array),ie._dirty=!0,ie},Te.normalize=function(ie,ae){return we.normalize(ie.array,ae.array),ie._dirty=!0,ie},Te.random=function(ie,ae){return we.random(ie.array,ae),ie._dirty=!0,ie},Te.scale=function(ie,ae,fe){return we.scale(ie.array,ae.array,fe),ie._dirty=!0,ie},Te.scaleAndAdd=function(ie,ae,fe,de){return we.scaleAndAdd(ie.array,ae.array,fe.array,de),ie._dirty=!0,ie},Te.sqrDist=function(ie,ae){return we.sqrDist(ie.array,ae.array)},Te.squaredDistance=Te.sqrDist,Te.sqrLen=function(ie){return we.sqrLen(ie.array)},Te.squaredLength=Te.sqrLen,Te.sub=function(ie,ae,fe){return we.subtract(ie.array,ae.array,fe.array),ie._dirty=!0,ie},Te.subtract=Te.sub,Te.transformMat3=function(ie,ae,fe){return we.transformMat3(ie.array,ae.array,fe.array),ie._dirty=!0,ie},Te.transformMat4=function(ie,ae,fe){return we.transformMat4(ie.array,ae.array,fe.array),ie._dirty=!0,ie},Te.transformQuat=function(ie,ae,fe){return we.transformQuat(ie.array,ae.array,fe.array),ie._dirty=!0,ie};function Ce(ie,ae,fe){return ie<ae?ae:ie>fe?fe:ie}var Me=Math.atan2,je=Math.asin,ye=Math.abs;Te.eulerFromQuat=function(ie,ae,Ve){ie._dirty=!0,ae=ae.array;var de=ie.array,ve=ae[0],xe=ae[1],ce=ae[2],pe=ae[3],Se=ve*ve,Le=xe*xe,ze=ce*ce,Ze=pe*pe,Ve=(Ve||"XYZ").toUpperCase();switch(Ve){case"XYZ":de[0]=Me(2*(ve*pe-xe*ce),Ze-Se-Le+ze),de[1]=je(Ce(2*(ve*ce+xe*pe),-1,1)),de[2]=Me(2*(ce*pe-ve*xe),Ze+Se-Le-ze);break;case"YXZ":de[0]=je(Ce(2*(ve*pe-xe*ce),-1,1)),de[1]=Me(2*(ve*ce+xe*pe),Ze-Se-Le+ze),de[2]=Me(2*(ve*xe+ce*pe),Ze-Se+Le-ze);break;case"ZXY":de[0]=je(Ce(2*(ve*pe+xe*ce),-1,1)),de[1]=Me(2*(xe*pe-ce*ve),Ze-Se-Le+ze),de[2]=Me(2*(ce*pe-ve*xe),Ze-Se+Le-ze);break;case"ZYX":de[0]=Me(2*(ve*pe+ce*xe),Ze-Se-Le+ze),de[1]=je(Ce(2*(xe*pe-ve*ce),-1,1)),de[2]=Me(2*(ve*xe+ce*pe),Ze+Se-Le-ze);break;case"YZX":de[0]=Me(2*(ve*pe-ce*xe),Ze-Se+Le-ze),de[1]=Me(2*(xe*pe-ve*ce),Ze+Se-Le-ze),de[2]=je(Ce(2*(ve*xe+ce*pe),-1,1));break;case"XZY":de[0]=Me(2*(ve*pe+xe*ce),Ze-Se+Le-ze),de[1]=Me(2*(ve*ce+xe*pe),Ze+Se-Le-ze),de[2]=je(Ce(2*(ce*pe-ve*xe),-1,1));break;default:console.warn("Unkown order: "+Ve)}return ie},Te.eulerFromMat3=function(ie,ae,$e){var de=ae.array,ve=de[0],xe=de[3],ce=de[6],pe=de[1],Se=de[4],Le=de[7],ze=de[2],Ze=de[5],Ve=de[8],Qe=ie.array,$e=($e||"XYZ").toUpperCase();switch($e){case"XYZ":Qe[1]=je(Ce(ce,-1,1)),ye(ce)<.99999?(Qe[0]=Me(-Le,Ve),Qe[2]=Me(-xe,ve)):(Qe[0]=Me(Ze,Se),Qe[2]=0);break;case"YXZ":Qe[0]=je(-Ce(Le,-1,1)),ye(Le)<.99999?(Qe[1]=Me(ce,Ve),Qe[2]=Me(pe,Se)):(Qe[1]=Me(-ze,ve),Qe[2]=0);break;case"ZXY":Qe[0]=je(Ce(Ze,-1,1)),ye(Ze)<.99999?(Qe[1]=Me(-ze,Ve),Qe[2]=Me(-xe,Se)):(Qe[1]=0,Qe[2]=Me(pe,ve));break;case"ZYX":Qe[1]=je(-Ce(ze,-1,1)),ye(ze)<.99999?(Qe[0]=Me(Ze,Ve),Qe[2]=Me(pe,ve)):(Qe[0]=0,Qe[2]=Me(-xe,Se));break;case"YZX":Qe[2]=je(Ce(pe,-1,1)),ye(pe)<.99999?(Qe[0]=Me(-Le,Se),Qe[1]=Me(-ze,ve)):(Qe[0]=0,Qe[1]=Me(ce,Ve));break;case"XZY":Qe[2]=je(-Ce(xe,-1,1)),ye(xe)<.99999?(Qe[0]=Me(Ze,Se),Qe[1]=Me(ce,ve)):(Qe[0]=Me(-Le,Ve),Qe[1]=0);break;default:console.warn("Unkown order: "+$e)}return ie._dirty=!0,ie},Te.POSITIVE_X=new Te(1,0,0),Te.NEGATIVE_X=new Te(-1,0,0),Te.POSITIVE_Y=new Te(0,1,0),Te.NEGATIVE_Y=new Te(0,-1,0),Te.POSITIVE_Z=new Te(0,0,1),Te.NEGATIVE_Z=new Te(0,0,-1),Te.UP=new Te(0,1,0),Te.ZERO=new Te(0,0,0),Ue.a=Te},function(tt,Ue,Ne){"use strict";var Ke=Ne(6),Be=Ne(11),we=Ne(66),Te=we.a.isPowerOfTwo,ke=Ke.a.extend(function(){return{image:null,pixels:null,mipmaps:[]}},{update:function(Ie){var Ce=Ie.gl;Ce.bindTexture(Ce.TEXTURE_2D,this._cache.get("webgl_texture")),this.updateCommon(Ie);var Me=this.format,je=this.type;Ce.texParameteri(Ce.TEXTURE_2D,Ce.TEXTURE_WRAP_S,this.getAvailableWrapS()),Ce.texParameteri(Ce.TEXTURE_2D,Ce.TEXTURE_WRAP_T,this.getAvailableWrapT()),Ce.texParameteri(Ce.TEXTURE_2D,Ce.TEXTURE_MAG_FILTER,this.getAvailableMagFilter()),Ce.texParameteri(Ce.TEXTURE_2D,Ce.TEXTURE_MIN_FILTER,this.getAvailableMinFilter());var ye=Ie.getGLExtension("EXT_texture_filter_anisotropic");if(ye&&this.anisotropic>1&&Ce.texParameterf(Ce.TEXTURE_2D,ye.TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropic),je===36193){var ie=Ie.getGLExtension("OES_texture_half_float");ie||(je=Be.a.FLOAT)}if(this.mipmaps.length)for(var ae=this.width,fe=this.height,de=0;de<this.mipmaps.length;de++){var ve=this.mipmaps[de];this._updateTextureData(Ce,ve,de,ae,fe,Me,je),ae/=2,fe/=2}else this._updateTextureData(Ce,this,0,this.width,this.height,Me,je),this.useMipmap&&!this.NPOT&&Ce.generateMipmap(Ce.TEXTURE_2D);Ce.bindTexture(Ce.TEXTURE_2D,null)},_updateTextureData:function(Ie,Ce,Me,je,ye,ie,ae){Ce.image?Ie.texImage2D(Ie.TEXTURE_2D,Me,ie,ie,ae,Ce.image):ie<=Ke.a.COMPRESSED_RGBA_S3TC_DXT5_EXT&&ie>=Ke.a.COMPRESSED_RGB_S3TC_DXT1_EXT?Ie.compressedTexImage2D(Ie.TEXTURE_2D,Me,ie,je,ye,0,Ce.pixels):Ie.texImage2D(Ie.TEXTURE_2D,Me,ie,je,ye,0,ie,ae,Ce.pixels)},generateMipmap:function(Ie){var Ce=Ie.gl;this.useMipmap&&!this.NPOT&&(Ce.bindTexture(Ce.TEXTURE_2D,this._cache.get("webgl_texture")),Ce.generateMipmap(Ce.TEXTURE_2D))},isPowerOfTwo:function(){var Ie,Ce;return this.image?(Ie=this.image.width,Ce=this.image.height):(Ie=this.width,Ce=this.height),Te(Ie)&&Te(Ce)},isRenderable:function(){return this.image?this.image.nodeName==="CANVAS"||this.image.nodeName==="VIDEO"||this.image.complete:!!(this.width&&this.height)},bind:function(Ie){Ie.gl.bindTexture(Ie.gl.TEXTURE_2D,this.getWebGLTexture(Ie))},unbind:function(Ie){Ie.gl.bindTexture(Ie.gl.TEXTURE_2D,null)},load:function(Ie,Ce){var Me=new Image;Ce&&(Me.crossOrigin=Ce);var je=this;return Me.onload=function(){je.dirty(),je.trigger("success",je),Me.onload=null},Me.onerror=function(){je.trigger("error",je),Me.onerror=null},Me.src=Ie,this.image=Me,this}});Object.defineProperty(ke.prototype,"width",{get:function(){return this.image?this.image.width:this._width},set:function(Ie){this.image?console.warn("Texture from image can't set width"):(this._width!==Ie&&this.dirty(),this._width=Ie)}}),Object.defineProperty(ke.prototype,"height",{get:function(){return this.image?this.image.height:this._height},set:function(Ie){this.image?console.warn("Texture from image can't set height"):(this._height!==Ie&&this.dirty(),this._height=Ie)}}),Ue.a=ke},function(tt,Ue,Ne){"use strict";var Ke=Ne(8),Be=Ne(11),we=Ne(48),Te=Ke.a.extend({width:512,height:512,type:Be.a.UNSIGNED_BYTE,format:Be.a.RGBA,wrapS:Be.a.REPEAT,wrapT:Be.a.REPEAT,minFilter:Be.a.LINEAR_MIPMAP_LINEAR,magFilter:Be.a.LINEAR,useMipmap:!0,anisotropic:1,flipY:!0,sRGB:!0,unpackAlignment:4,premultiplyAlpha:!1,dynamic:!1,NPOT:!1},function(){this._cache=new we.a},{getWebGLTexture:function(ke){var Ie=ke.gl,Ce=this._cache;return Ce.use(ke.__uid__),Ce.miss("webgl_texture")&&Ce.put("webgl_texture",Ie.createTexture()),this.dynamic?this.update(ke):Ce.isDirty()&&(this.update(ke),Ce.fresh()),Ce.get("webgl_texture")},bind:function(){},unbind:function(){},dirty:function(){this._cache&&this._cache.dirtyAll()},update:function(ke){},updateCommon:function(ke){var Ie=ke.gl;Ie.pixelStorei(Ie.UNPACK_FLIP_Y_WEBGL,this.flipY),Ie.pixelStorei(Ie.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),Ie.pixelStorei(Ie.UNPACK_ALIGNMENT,this.unpackAlignment),this.format===Be.a.DEPTH_COMPONENT&&(this.useMipmap=!1);var Ce=ke.getGLExtension("EXT_sRGB");this.format===Te.SRGB&&!Ce&&(this.format=Te.RGB),this.format===Te.SRGB_ALPHA&&!Ce&&(this.format=Te.RGBA),this.NPOT=!this.isPowerOfTwo()},getAvailableWrapS:function(){return this.NPOT?Be.a.CLAMP_TO_EDGE:this.wrapS},getAvailableWrapT:function(){return this.NPOT?Be.a.CLAMP_TO_EDGE:this.wrapT},getAvailableMinFilter:function(){var ke=this.minFilter;return this.NPOT||!this.useMipmap?ke==Be.a.NEAREST_MIPMAP_NEAREST||ke==Be.a.NEAREST_MIPMAP_LINEAR?Be.a.NEAREST:ke==Be.a.LINEAR_MIPMAP_LINEAR||ke==Be.a.LINEAR_MIPMAP_NEAREST?Be.a.LINEAR:ke:ke},getAvailableMagFilter:function(){return this.magFilter},nextHighestPowerOfTwo:function(ke){--ke;for(var Ie=1;Ie<32;Ie<<=1)ke=ke|ke>>Ie;return ke+1},dispose:function(ke){var Ie=this._cache;Ie.use(ke.__uid__);var Ce=Ie.get("webgl_texture");Ce&&ke.gl.deleteTexture(Ce),Ie.deleteContext(ke.__uid__)},isRenderable:function(){},isPowerOfTwo:function(){}});Object.defineProperty(Te.prototype,"width",{get:function(){return this._width},set:function(ke){this._width=ke}}),Object.defineProperty(Te.prototype,"height",{get:function(){return this._height},set:function(ke){this._height=ke}}),Te.BYTE=Be.a.BYTE,Te.UNSIGNED_BYTE=Be.a.UNSIGNED_BYTE,Te.SHORT=Be.a.SHORT,Te.UNSIGNED_SHORT=Be.a.UNSIGNED_SHORT,Te.INT=Be.a.INT,Te.UNSIGNED_INT=Be.a.UNSIGNED_INT,Te.FLOAT=Be.a.FLOAT,Te.HALF_FLOAT=36193,Te.UNSIGNED_INT_24_8_WEBGL=34042,Te.DEPTH_COMPONENT=Be.a.DEPTH_COMPONENT,Te.DEPTH_STENCIL=Be.a.DEPTH_STENCIL,Te.ALPHA=Be.a.ALPHA,Te.RGB=Be.a.RGB,Te.RGBA=Be.a.RGBA,Te.LUMINANCE=Be.a.LUMINANCE,Te.LUMINANCE_ALPHA=Be.a.LUMINANCE_ALPHA,Te.SRGB=35904,Te.SRGB_ALPHA=35906,Te.COMPRESSED_RGB_S3TC_DXT1_EXT=33776,Te.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777,Te.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778,Te.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779,Te.NEAREST=Be.a.NEAREST,Te.LINEAR=Be.a.LINEAR,Te.NEAREST_MIPMAP_NEAREST=Be.a.NEAREST_MIPMAP_NEAREST,Te.LINEAR_MIPMAP_NEAREST=Be.a.LINEAR_MIPMAP_NEAREST,Te.NEAREST_MIPMAP_LINEAR=Be.a.NEAREST_MIPMAP_LINEAR,Te.LINEAR_MIPMAP_LINEAR=Be.a.LINEAR_MIPMAP_LINEAR,Te.REPEAT=Be.a.REPEAT,Te.CLAMP_TO_EDGE=Be.a.CLAMP_TO_EDGE,Te.MIRRORED_REPEAT=Be.a.MIRRORED_REPEAT,Ue.a=Te},function(tt,Ue,Ne){"use strict";var Ke=Ne(21),Be=Ne(18),we=Ne(1),Te=Ne.n(we),ke=Te.a.mat2,Ie=Te.a.mat3,Ce=Te.a.mat4,Me=/uniform\s+(bool|float|int|vec2|vec3|vec4|ivec2|ivec3|ivec4|mat2|mat3|mat4|sampler2D|samplerCube)\s+([\w\,]+)?(\[.*?\])?\s*(:\s*([\S\s]+?))?;/g,je=/attribute\s+(float|int|vec2|vec3|vec4)\s+(\w*)\s*(:\s*(\w+))?;/g,ye=/#define\s+(\w+)?(\s+[\w-.]+)?\s*;?\s*\n/g,ie={bool:"1i",int:"1i",sampler2D:"t",samplerCube:"t",float:"1f",vec2:"2f",vec3:"3f",vec4:"4f",ivec2:"2i",ivec3:"3i",ivec4:"4i",mat2:"m2",mat3:"m3",mat4:"m4"},ae={bool:function(){return!0},int:function(){return 0},float:function(){return 0},sampler2D:function(){return null},samplerCube:function(){return null},vec2:function(){return[0,0]},vec3:function(){return[0,0,0]},vec4:function(){return[0,0,0,0]},ivec2:function(){return[0,0]},ivec3:function(){return[0,0,0]},ivec4:function(){return[0,0,0,0]},mat2:function(){return ke.create()},mat3:function(){return Ie.create()},mat4:function(){return Ce.create()},array:function(){return[]}},fe=["POSITION","NORMAL","BINORMAL","TANGENT","TEXCOORD","TEXCOORD_0","TEXCOORD_1","COLOR","JOINT","WEIGHT"],de=["SKIN_MATRIX","VIEWPORT_SIZE","VIEWPORT","DEVICEPIXELRATIO","WINDOW_SIZE","NEAR","FAR","TIME"],ve=["WORLD","VIEW","PROJECTION","WORLDVIEW","VIEWPROJECTION","WORLDVIEWPROJECTION","WORLDINVERSE","VIEWINVERSE","PROJECTIONINVERSE","WORLDVIEWINVERSE","VIEWPROJECTIONINVERSE","WORLDVIEWPROJECTIONINVERSE","WORLDTRANSPOSE","VIEWTRANSPOSE","PROJECTIONTRANSPOSE","WORLDVIEWTRANSPOSE","VIEWPROJECTIONTRANSPOSE","WORLDVIEWPROJECTIONTRANSPOSE","WORLDINVERSETRANSPOSE","VIEWINVERSETRANSPOSE","PROJECTIONINVERSETRANSPOSE","WORLDVIEWINVERSETRANSPOSE","VIEWPROJECTIONINVERSETRANSPOSE","WORLDVIEWPROJECTIONINVERSETRANSPOSE"],xe={},ce={};function pe(Ze,Ve){var Qe="vertex:"+Ze+"fragment:"+Ve;if(xe[Qe])return xe[Qe];var $e=Ke.a.genGUID();return xe[Qe]=$e,ce[$e]={vertex:Ze,fragment:Ve},$e}function Se(Ze,Ve){typeof Ze=="object"&&(Ve=Ze.fragment,Ze=Ze.vertex),this._shaderID=pe(Ze,Ve),this._vertexCode=Se.parseImport(Ze),this._fragmentCode=Se.parseImport(Ve),this.attributeSemantics={},this.matrixSemantics={},this.uniformSemantics={},this.matrixSemanticKeys=[],this.uniformTemplates={},this.attributes={},this.textures={},this.vertexDefines={},this.fragmentDefines={},this._parseAttributes(),this._parseUniforms(),this._parseDefines()}Se.prototype={constructor:Se,createUniforms:function(){var Ze={};for(var Ve in this.uniformTemplates){var Qe=this.uniformTemplates[Ve];Ze[Ve]={type:Qe.type,value:Qe.value()}}return Ze},_parseImport:function(){this._vertexCode=Se.parseImport(this.vertex),this._fragmentCode=Se.parseImport(this.fragment)},_parseUniforms:function(){var Ze={},Ve=this,Qe="vertex";this._uniformList=[],this._vertexCode=this._vertexCode.replace(Me,$e),Qe="fragment",this._fragmentCode=this._fragmentCode.replace(Me,$e),Ve.matrixSemanticKeys=Object.keys(this.matrixSemantics);function $e(gt,lt,At,Et,vt,Lt){if(lt&&At){var St=ie[lt],xt=!0,ct;if(St){if(Ve._uniformList.push(At),(lt==="sampler2D"||lt==="samplerCube")&&(Ve.textures[At]={shaderType:Qe,type:lt}),Et&&(St+="v"),Lt)if(fe.indexOf(Lt)>=0)Ve.attributeSemantics[Lt]={symbol:At,type:St},xt=!1;else if(ve.indexOf(Lt)>=0){var Dt=!1,Xt=Lt;Lt.match(/TRANSPOSE$/)&&(Dt=!0,Xt=Lt.slice(0,-9)),Ve.matrixSemantics[Lt]={symbol:At,type:St,isTranspose:Dt,semanticNoTranspose:Xt},xt=!1}else if(de.indexOf(Lt)>=0)Ve.uniformSemantics[Lt]={symbol:At,type:St},xt=!1;else if(Lt==="unconfigurable")xt=!1;else if(ct=Ve._parseDefaultValue(lt,Lt),ct)Lt="";else throw new Error('Unkown semantic "'+Lt+'"');xt&&(Ze[At]={type:St,value:Et?ae.array:ct||ae[lt],semantic:Lt||null})}return["uniform",lt,At,Et].join(" ")+`;
`}}this.uniformTemplates=Ze},_parseDefaultValue:function(Ze,Ve){var Qe=/\[\s*(.*)\s*\]/;if(Ze==="vec2"||Ze==="vec3"||Ze==="vec4"){var $e=Qe.exec(Ve)[1];if($e){var gt=$e.split(/\s*,\s*/);return function(){return new Be.a.Float32Array(gt)}}else return}else{if(Ze==="bool")return function(){return Ve.toLowerCase()==="true"};if(Ze==="float")return function(){return parseFloat(Ve)};if(Ze==="int")return function(){return parseInt(Ve)}}},_parseAttributes:function(){var Ze={},Ve=this;this._vertexCode=this._vertexCode.replace(je,Qe);function Qe($e,gt,lt,At,Et){if(gt&&lt){var vt=1;switch(gt){case"vec4":vt=4;break;case"vec3":vt=3;break;case"vec2":vt=2;break;case"float":vt=1;break}if(Ze[lt]={type:"float",size:vt,semantic:Et||null},Et){if(fe.indexOf(Et)<0)throw new Error('Unkown semantic "'+Et+'"');Ve.attributeSemantics[Et]={symbol:lt,type:gt}}}return["attribute",gt,lt].join(" ")+`;
`}this.attributes=Ze},_parseDefines:function(){var Ze=this,Ve="vertex";this._vertexCode=this._vertexCode.replace(ye,Qe),Ve="fragment",this._fragmentCode=this._fragmentCode.replace(ye,Qe);function Qe($e,gt,lt){var At=Ve==="vertex"?Ze.vertexDefines:Ze.fragmentDefines;return At[gt]||(lt=="false"?At[gt]=!1:lt=="true"?At[gt]=!0:At[gt]=lt?isNaN(parseFloat(lt))?lt.trim():parseFloat(lt):null),""}},clone:function(){var Ze=ce[this._shaderID],Ve=new Se(Ze.vertex,Ze.fragment);return Ve}},Object.defineProperty&&(Object.defineProperty(Se.prototype,"shaderID",{get:function(){return this._shaderID}}),Object.defineProperty(Se.prototype,"vertex",{get:function(){return this._vertexCode}}),Object.defineProperty(Se.prototype,"fragment",{get:function(){return this._fragmentCode}}),Object.defineProperty(Se.prototype,"uniforms",{get:function(){return this._uniformList}}));var Le=/(@import)\s*([0-9a-zA-Z_\-\.]*)/g;Se.parseImport=function(Ze){return Ze=Ze.replace(Le,function(gt,Qe,$e){var gt=Se.source($e);return gt?Se.parseImport(gt):(console.error('Shader chunk "'+$e+'" not existed in library'),"")}),Ze};var ze=/(@export)\s*([0-9a-zA-Z_\-\.]*)\s*\n([\s\S]*?)@end/g;Se.import=function(Ze){Ze.replace(ze,function(Ve,Qe,$e,lt){var lt=lt.replace(/(^[\s\t\xa0\u3000]+)|([\u3000\xa0\s\t]+\x24)/g,"");if(lt){for(var At=$e.split("."),Et=Se.codes,vt=0,Lt;vt<At.length-1;)Lt=At[vt++],Et[Lt]||(Et[Lt]={}),Et=Et[Lt];Lt=At[vt],Et[Lt]=lt}return lt})},Se.codes={},Se.source=function(Ze){for(var Ve=Ze.split("."),Qe=Se.codes,$e=0;Qe&&$e<Ve.length;){var gt=Ve[$e++];Qe=Qe[gt]}return typeof Qe!="string"?(console.error('Shader "'+Ze+'" not existed in library'),""):Qe},Ue.a=Se},function(tt,Ue,Ne){"use strict";var Ke=Ne(91),Be=Ne(47),we=Ne(21),Te=function(){this.__uid__=we.a.genGUID()};Te.__initializers__=[function(ke){we.a.extend(this,ke)}],we.a.extend(Te,Ke.a),we.a.extend(Te.prototype,Be.a),Ue.a=Te},function(tt,Ue,Ne){"use strict";var Ke=Ne(1),Be=Ne.n(Ke),we=Ne(4),Te=Be.a.mat4,ke=Be.a.vec3,Ie=Be.a.mat3,Ce=Be.a.quat,Me=function(){this._axisX=new we.a,this._axisY=new we.a,this._axisZ=new we.a,this.array=Te.create(),this._dirty=!0};Me.prototype={constructor:Me,setArray:function(ie){for(var ae=0;ae<this.array.length;ae++)this.array[ae]=ie[ae];return this._dirty=!0,this},adjoint:function(){return Te.adjoint(this.array,this.array),this._dirty=!0,this},clone:function(){return new Me().copy(this)},copy:function(ie){return Te.copy(this.array,ie.array),this._dirty=!0,this},determinant:function(){return Te.determinant(this.array)},fromQuat:function(ie){return Te.fromQuat(this.array,ie.array),this._dirty=!0,this},fromRotationTranslation:function(ie,ae){return Te.fromRotationTranslation(this.array,ie.array,ae.array),this._dirty=!0,this},fromMat2d:function(ie){return Me.fromMat2d(this,ie),this},frustum:function(ie,ae,fe,de,ve,xe){return Te.frustum(this.array,ie,ae,fe,de,ve,xe),this._dirty=!0,this},identity:function(){return Te.identity(this.array),this._dirty=!0,this},invert:function(){return Te.invert(this.array,this.array),this._dirty=!0,this},lookAt:function(ie,ae,fe){return Te.lookAt(this.array,ie.array,ae.array,fe.array),this._dirty=!0,this},mul:function(ie){return Te.mul(this.array,this.array,ie.array),this._dirty=!0,this},mulLeft:function(ie){return Te.mul(this.array,ie.array,this.array),this._dirty=!0,this},multiply:function(ie){return Te.multiply(this.array,this.array,ie.array),this._dirty=!0,this},multiplyLeft:function(ie){return Te.multiply(this.array,ie.array,this.array),this._dirty=!0,this},ortho:function(ie,ae,fe,de,ve,xe){return Te.ortho(this.array,ie,ae,fe,de,ve,xe),this._dirty=!0,this},perspective:function(ie,ae,fe,de){return Te.perspective(this.array,ie,ae,fe,de),this._dirty=!0,this},rotate:function(ie,ae){return Te.rotate(this.array,this.array,ie,ae.array),this._dirty=!0,this},rotateX:function(ie){return Te.rotateX(this.array,this.array,ie),this._dirty=!0,this},rotateY:function(ie){return Te.rotateY(this.array,this.array,ie),this._dirty=!0,this},rotateZ:function(ie){return Te.rotateZ(this.array,this.array,ie),this._dirty=!0,this},scale:function(ie){return Te.scale(this.array,this.array,ie.array),this._dirty=!0,this},translate:function(ie){return Te.translate(this.array,this.array,ie.array),this._dirty=!0,this},transpose:function(){return Te.transpose(this.array,this.array),this._dirty=!0,this},decomposeMatrix:function(){var ie=ke.create(),ae=ke.create(),fe=ke.create(),de=Ie.create();return function(ve,xe,ce){var pe=this.array;ke.set(ie,pe[0],pe[1],pe[2]),ke.set(ae,pe[4],pe[5],pe[6]),ke.set(fe,pe[8],pe[9],pe[10]);var Se=ke.length(ie),Le=ke.length(ae),ze=ke.length(fe),Ze=this.determinant();Ze<0&&(Se=-Se),ve&&ve.set(Se,Le,ze),ce.set(pe[12],pe[13],pe[14]),Ie.fromMat4(de,pe),de[0]/=Se,de[1]/=Se,de[2]/=Se,de[3]/=Le,de[4]/=Le,de[5]/=Le,de[6]/=ze,de[7]/=ze,de[8]/=ze,Ce.fromMat3(xe.array,de),Ce.normalize(xe.array,xe.array),xe._dirty=!0,ce._dirty=!0}}(),toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var je=Object.defineProperty;if(je){var ye=Me.prototype;je(ye,"z",{get:function(){var ie=this.array;return this._axisZ.set(ie[8],ie[9],ie[10]),this._axisZ},set:function(ie){var ae=this.array;ie=ie.array,ae[8]=ie[0],ae[9]=ie[1],ae[10]=ie[2],this._dirty=!0}}),je(ye,"y",{get:function(){var ie=this.array;return this._axisY.set(ie[4],ie[5],ie[6]),this._axisY},set:function(ie){var ae=this.array;ie=ie.array,ae[4]=ie[0],ae[5]=ie[1],ae[6]=ie[2],this._dirty=!0}}),je(ye,"x",{get:function(){var ie=this.array;return this._axisX.set(ie[0],ie[1],ie[2]),this._axisX},set:function(ie){var ae=this.array;ie=ie.array,ae[0]=ie[0],ae[1]=ie[1],ae[2]=ie[2],this._dirty=!0}})}Me.adjoint=function(ie,ae){return Te.adjoint(ie.array,ae.array),ie._dirty=!0,ie},Me.copy=function(ie,ae){return Te.copy(ie.array,ae.array),ie._dirty=!0,ie},Me.determinant=function(ie){return Te.determinant(ie.array)},Me.identity=function(ie){return Te.identity(ie.array),ie._dirty=!0,ie},Me.ortho=function(ie,ae,fe,de,ve,xe,ce){return Te.ortho(ie.array,ae,fe,de,ve,xe,ce),ie._dirty=!0,ie},Me.perspective=function(ie,ae,fe,de,ve){return Te.perspective(ie.array,ae,fe,de,ve),ie._dirty=!0,ie},Me.lookAt=function(ie,ae,fe,de){return Te.lookAt(ie.array,ae.array,fe.array,de.array),ie._dirty=!0,ie},Me.invert=function(ie,ae){return Te.invert(ie.array,ae.array),ie._dirty=!0,ie},Me.mul=function(ie,ae,fe){return Te.mul(ie.array,ae.array,fe.array),ie._dirty=!0,ie},Me.multiply=Me.mul,Me.fromQuat=function(ie,ae){return Te.fromQuat(ie.array,ae.array),ie._dirty=!0,ie},Me.fromRotationTranslation=function(ie,ae,fe){return Te.fromRotationTranslation(ie.array,ae.array,fe.array),ie._dirty=!0,ie},Me.fromMat2d=function(de,fe){de._dirty=!0;var fe=fe.array,de=de.array;return de[0]=fe[0],de[4]=fe[2],de[12]=fe[4],de[1]=fe[1],de[5]=fe[3],de[13]=fe[5],de},Me.rotate=function(ie,ae,fe,de){return Te.rotate(ie.array,ae.array,fe,de.array),ie._dirty=!0,ie},Me.rotateX=function(ie,ae,fe){return Te.rotateX(ie.array,ae.array,fe),ie._dirty=!0,ie},Me.rotateY=function(ie,ae,fe){return Te.rotateY(ie.array,ae.array,fe),ie._dirty=!0,ie},Me.rotateZ=function(ie,ae,fe){return Te.rotateZ(ie.array,ae.array,fe),ie._dirty=!0,ie},Me.scale=function(ie,ae,fe){return Te.scale(ie.array,ae.array,fe.array),ie._dirty=!0,ie},Me.transpose=function(ie,ae){return Te.transpose(ie.array,ae.array),ie._dirty=!0,ie},Me.translate=function(ie,ae,fe){return Te.translate(ie.array,ae.array,fe.array),ie._dirty=!0,ie},Ue.a=Me},function(tt,Ue,Ne){"use strict";var Ke=Ne(8),Be=Ne(6),we=Ne(25),Te=Ne(11),ke=Ne(48),Ie="framebuffer",Ce="renderbuffer",Me=Ce+"_width",je=Ce+"_height",ye=Ce+"_attached",ie="depthtexture_attached",ae=Te.a.FRAMEBUFFER,fe=Te.a.RENDERBUFFER,de=Te.a.DEPTH_ATTACHMENT,ve=Te.a.COLOR_ATTACHMENT0,xe=Ke.a.extend({depthBuffer:!0,viewport:null,_width:0,_height:0,_textures:null,_boundRenderer:null},function(){this._cache=new ke.a,this._textures={}},{getTextureWidth:function(){return this._width},getTextureHeight:function(){return this._height},bind:function(ce){if(ce.__currentFrameBuffer){if(ce.__currentFrameBuffer===this)return;console.warn("Renderer already bound with another framebuffer. Unbind it first")}ce.__currentFrameBuffer=this;var pe=ce.gl;pe.bindFramebuffer(ae,this._getFrameBufferGL(ce)),this._boundRenderer=ce;var Se=this._cache;Se.put("viewport",ce.viewport);var Le=!1,ze,Ze;for(var Ve in this._textures){Le=!0;var Qe=this._textures[Ve];Qe&&(ze=Qe.texture.width,Ze=Qe.texture.height,this._doAttach(ce,Qe.texture,Ve,Qe.target))}this._width=ze,this._height=Ze,!Le&&this.depthBuffer&&console.error("Must attach texture before bind, or renderbuffer may have incorrect width and height."),this.viewport?ce.setViewport(this.viewport):ce.setViewport(0,0,ze,Ze,1);var $e=Se.get("attached_textures");if($e){for(var Ve in $e)if(!this._textures[Ve]){var gt=$e[Ve];this._doDetach(pe,Ve,gt)}}if(!Se.get(ie)&&this.depthBuffer){Se.miss(Ce)&&Se.put(Ce,pe.createRenderbuffer());var lt=Se.get(Ce);(ze!==Se.get(Me)||Ze!==Se.get(je))&&(pe.bindRenderbuffer(fe,lt),pe.renderbufferStorage(fe,pe.DEPTH_COMPONENT16,ze,Ze),Se.put(Me,ze),Se.put(je,Ze),pe.bindRenderbuffer(fe,null)),Se.get(ye)||(pe.framebufferRenderbuffer(ae,de,fe,lt),Se.put(ye,!0))}},unbind:function(ce){ce.__currentFrameBuffer=null;var pe=ce.gl;pe.bindFramebuffer(ae,null),this._boundRenderer=null,this._cache.use(ce.__uid__);var Se=this._cache.get("viewport");Se&&ce.setViewport(Se),this.updateMipmap(ce)},updateMipmap:function(ce){var pe=ce.gl;for(var Se in this._textures){var Le=this._textures[Se];if(Le){var ze=Le.texture;if(!ze.NPOT&&ze.useMipmap&&ze.minFilter===Be.a.LINEAR_MIPMAP_LINEAR){var Ze=ze instanceof we.a?Te.a.TEXTURE_CUBE_MAP:Te.a.TEXTURE_2D;pe.bindTexture(Ze,ze.getWebGLTexture(ce)),pe.generateMipmap(Ze),pe.bindTexture(Ze,null)}}}},checkStatus:function(ce){return ce.checkFramebufferStatus(ae)},_getFrameBufferGL:function(ce){var pe=this._cache;return pe.use(ce.__uid__),pe.miss(Ie)&&pe.put(Ie,ce.gl.createFramebuffer()),pe.get(Ie)},attach:function(ce,pe,Se){if(!ce.width)throw new Error("The texture attached to color buffer is not a valid.");pe=pe||ve,Se=Se||Te.a.TEXTURE_2D;var Le=this._boundRenderer,ze=Le&&Le.gl,Ze;if(ze){var Ve=this._cache;Ve.use(Le.__uid__),Ze=Ve.get("attached_textures")}var Qe=this._textures[pe];if(!(Qe&&Qe.target===Se&&Qe.texture===ce&&Ze&&Ze[pe]!=null)){var $e=!0;Le&&($e=this._doAttach(Le,ce,pe,Se),this.viewport||Le.setViewport(0,0,ce.width,ce.height,1)),$e&&(this._textures[pe]=this._textures[pe]||{},this._textures[pe].texture=ce,this._textures[pe].target=Se)}},_doAttach:function(ce,pe,Se,Le){var ze=ce.gl,Ze=pe.getWebGLTexture(ce),Ve=this._cache.get("attached_textures");if(Ve&&Ve[Se]){var Qe=Ve[Se];if(Qe.texture===pe&&Qe.target===Le)return}Se=+Se;var $e=!0;if(Se===de||Se===Te.a.DEPTH_STENCIL_ATTACHMENT){var gt=ce.getGLExtension("WEBGL_depth_texture");if(gt||(console.error("Depth texture is not supported by the browser"),$e=!1),pe.format!==Te.a.DEPTH_COMPONENT&&pe.format!==Te.a.DEPTH_STENCIL&&(console.error("The texture attached to depth buffer is not a valid."),$e=!1),$e){var lt=this._cache.get(Ce);lt&&(ze.framebufferRenderbuffer(ae,de,fe,null),ze.deleteRenderbuffer(lt),this._cache.put(Ce,!1)),this._cache.put(ye,!1),this._cache.put(ie,!0)}}return ze.framebufferTexture2D(ae,Se,Le,Ze,0),Ve||(Ve={},this._cache.put("attached_textures",Ve)),Ve[Se]=Ve[Se]||{},Ve[Se].texture=pe,Ve[Se].target=Le,$e},_doDetach:function(ce,pe,Se){ce.framebufferTexture2D(ae,pe,Se,null,0);var Le=this._cache.get("attached_textures");Le&&Le[pe]&&(Le[pe]=null),(pe===de||pe===Te.a.DEPTH_STENCIL_ATTACHMENT)&&this._cache.put(ie,!1)},detach:function(ce,pe){if(this._textures[ce]=null,this._boundRenderer){var Se=this._cache;Se.use(this._boundRenderer.__uid__),this._doDetach(this._boundRenderer.gl,ce,pe)}},dispose:function(ce){var pe=ce.gl,Se=this._cache;Se.use(ce.__uid__);var Le=Se.get(Ce);Le&&pe.deleteRenderbuffer(Le);var ze=Se.get(Ie);ze&&pe.deleteFramebuffer(ze),Se.deleteContext(ce.__uid__),this._textures={}}});xe.DEPTH_ATTACHMENT=de,xe.COLOR_ATTACHMENT0=ve,xe.STENCIL_ATTACHMENT=Te.a.STENCIL_ATTACHMENT,xe.DEPTH_STENCIL_ATTACHMENT=Te.a.DEPTH_STENCIL_ATTACHMENT,Ue.a=xe},function(tt,Ue,Ne){"use strict";Ue.a={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,FUNC_ADD:32774,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_COLOR:32773,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,STREAM_DRAW:35040,STATIC_DRAW:35044,DYNAMIC_DRAW:35048,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,CULL_FACE:2884,BLEND:3042,DITHER:3024,STENCIL_TEST:2960,DEPTH_TEST:2929,SCISSOR_TEST:3089,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CW:2304,CCW:2305,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_UNIFORMS:35718,ACTIVE_ATTRIBUTES:35721,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,VENDOR:7936,RENDERER:7937,VERSION:7938,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,TEXTURE1:33985,TEXTURE2:33986,TEXTURE3:33987,TEXTURE4:33988,TEXTURE5:33989,TEXTURE6:33990,TEXTURE7:33991,TEXTURE8:33992,TEXTURE9:33993,TEXTURE10:33994,TEXTURE11:33995,TEXTURE12:33996,TEXTURE13:33997,TEXTURE14:33998,TEXTURE15:33999,TEXTURE16:34e3,TEXTURE17:34001,TEXTURE18:34002,TEXTURE19:34003,TEXTURE20:34004,TEXTURE21:34005,TEXTURE22:34006,TEXTURE23:34007,TEXTURE24:34008,TEXTURE25:34009,TEXTURE26:34010,TEXTURE27:34011,TEXTURE28:34012,TEXTURE29:34013,TEXTURE30:34014,TEXTURE31:34015,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,COMPILE_STATUS:35713,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,CONTEXT_LOST_WEBGL:37442,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,BROWSER_DEFAULT_WEBGL:37444}},function(tt,Ue){var Ne={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},Ke={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},Be=Object.prototype.toString,we=Array.prototype,Te=we.forEach,ke=we.filter,Ie=we.slice,Ce=we.map,Me=we.reduce,je={};function ye(Yt,gn){je[Yt]=gn}function ie(Yt){if(Yt==null||typeof Yt!="object")return Yt;var gn=Yt,_t=Be.call(Yt);if(_t==="[object Array]"){if(!Kn(Yt)){gn=[];for(var Jt=0,wt=Yt.length;Jt<wt;Jt++)gn[Jt]=ie(Yt[Jt])}}else if(Ke[_t]){if(!Kn(Yt)){var ut=Yt.constructor;if(Yt.constructor.from)gn=ut.from(Yt);else{gn=new ut(Yt.length);for(var Jt=0,wt=Yt.length;Jt<wt;Jt++)gn[Jt]=ie(Yt[Jt])}}}else if(!Ne[_t]&&!Kn(Yt)&&!Xt(Yt)){gn={};for(var ot in Yt)Yt.hasOwnProperty(ot)&&(gn[ot]=ie(Yt[ot]))}return gn}function ae(Yt,gn,_t){if(!xt(gn)||!xt(Yt))return _t?ie(gn):Yt;for(var Jt in gn)if(gn.hasOwnProperty(Jt)){var wt=Yt[Jt],ut=gn[Jt];xt(ut)&&xt(wt)&&!vt(ut)&&!vt(wt)&&!Xt(ut)&&!Xt(wt)&&!ct(ut)&&!ct(wt)&&!Kn(ut)&&!Kn(wt)?ae(wt,ut,_t):(_t||!(Jt in Yt))&&(Yt[Jt]=ie(gn[Jt],!0))}return Yt}function fe(Yt,gn){for(var _t=Yt[0],Jt=1,wt=Yt.length;Jt<wt;Jt++)_t=ae(_t,Yt[Jt],gn);return _t}function de(Yt,gn){for(var _t in gn)gn.hasOwnProperty(_t)&&(Yt[_t]=gn[_t]);return Yt}function ve(Yt,gn,_t){for(var Jt in gn)gn.hasOwnProperty(Jt)&&(_t?gn[Jt]!=null:Yt[Jt]==null)&&(Yt[Jt]=gn[Jt]);return Yt}var xe=function(){return je.createCanvas()};je.createCanvas=function(){return document.createElement("canvas")};var ce;function pe(){return ce||(ce=xe().getContext("2d")),ce}function Se(Yt,gn){if(Yt){if(Yt.indexOf)return Yt.indexOf(gn);for(var _t=0,Jt=Yt.length;_t<Jt;_t++)if(Yt[_t]===gn)return _t}return-1}function Le(Yt,gn){var _t=Yt.prototype;function Jt(){}Jt.prototype=gn.prototype,Yt.prototype=new Jt;for(var wt in _t)Yt.prototype[wt]=_t[wt];Yt.prototype.constructor=Yt,Yt.superClass=gn}function ze(Yt,gn,_t){Yt="prototype"in Yt?Yt.prototype:Yt,gn="prototype"in gn?gn.prototype:gn,ve(Yt,gn,_t)}function Ze(Yt){if(Yt)return typeof Yt=="string"?!1:typeof Yt.length=="number"}function Ve(Yt,gn,_t){if(Yt&&gn)if(Yt.forEach&&Yt.forEach===Te)Yt.forEach(gn,_t);else if(Yt.length===+Yt.length)for(var Jt=0,wt=Yt.length;Jt<wt;Jt++)gn.call(_t,Yt[Jt],Jt,Yt);else for(var ut in Yt)Yt.hasOwnProperty(ut)&&gn.call(_t,Yt[ut],ut,Yt)}function Qe(Yt,gn,_t){if(Yt&&gn){if(Yt.map&&Yt.map===Ce)return Yt.map(gn,_t);for(var Jt=[],wt=0,ut=Yt.length;wt<ut;wt++)Jt.push(gn.call(_t,Yt[wt],wt,Yt));return Jt}}function $e(Yt,gn,_t,Jt){if(Yt&&gn){if(Yt.reduce&&Yt.reduce===Me)return Yt.reduce(gn,_t,Jt);for(var wt=0,ut=Yt.length;wt<ut;wt++)_t=gn.call(Jt,_t,Yt[wt],wt,Yt);return _t}}function gt(Yt,gn,_t){if(Yt&&gn){if(Yt.filter&&Yt.filter===ke)return Yt.filter(gn,_t);for(var Jt=[],wt=0,ut=Yt.length;wt<ut;wt++)gn.call(_t,Yt[wt],wt,Yt)&&Jt.push(Yt[wt]);return Jt}}function lt(Yt,gn,_t){if(Yt&&gn){for(var Jt=0,wt=Yt.length;Jt<wt;Jt++)if(gn.call(_t,Yt[Jt],Jt,Yt))return Yt[Jt]}}function At(Yt,gn){var _t=Ie.call(arguments,2);return function(){return Yt.apply(gn,_t.concat(Ie.call(arguments)))}}function Et(Yt){var gn=Ie.call(arguments,1);return function(){return Yt.apply(this,gn.concat(Ie.call(arguments)))}}function vt(Yt){return Be.call(Yt)==="[object Array]"}function Lt(Yt){return typeof Yt=="function"}function St(Yt){return Be.call(Yt)==="[object String]"}function xt(Yt){var gn=typeof Yt;return gn==="function"||!!Yt&&gn=="object"}function ct(Yt){return!!Ne[Be.call(Yt)]}function Dt(Yt){return!!Ke[Be.call(Yt)]}function Xt(Yt){return typeof Yt=="object"&&typeof Yt.nodeType=="number"&&typeof Yt.ownerDocument=="object"}function kt(Yt){return Yt!==Yt}function Rt(Yt){for(var gn=0,_t=arguments.length;gn<_t;gn++)if(arguments[gn]!=null)return arguments[gn]}function Gt(Yt,gn){return Yt!=null?Yt:gn}function ln(Yt,gn,_t){return Yt!=null?Yt:gn!=null?gn:_t}function Rn(){return Function.call.apply(Ie,arguments)}function jn(Yt){if(typeof Yt=="number")return[Yt,Yt,Yt,Yt];var gn=Yt.length;return gn===2?[Yt[0],Yt[1],Yt[0],Yt[1]]:gn===3?[Yt[0],Yt[1],Yt[2],Yt[1]]:Yt}function er(Yt,gn){if(!Yt)throw new Error(gn)}var an="__ec_primitive__";function Un(Yt){Yt[an]=!0}function Kn(Yt){return Yt[an]}function ur(Yt){var gn=vt(Yt);Yt&&Ve(Yt,function(_t,Jt){gn?this.set(_t,1):this.set(Jt,_t)},this)}var Xn="_ec_",Nn=4;ur.prototype={constructor:ur,get:function(Yt){return this[Xn+Yt]},set:function(Yt,gn){return this[Xn+Yt]=gn,gn},each:function(Yt,gn){gn!==void 0&&(Yt=At(Yt,gn));for(var _t in this)this.hasOwnProperty(_t)&&Yt(this[_t],_t.slice(Nn))},removeKey:function(Yt){delete this[Xn+Yt]}};function _n(Yt){return new ur(Yt)}function un(Yt,gn){for(var _t=new Yt.constructor(Yt.length+gn.length),Jt=0;Jt<Yt.length;Jt++)_t[Jt]=Yt[Jt];var wt=Yt.length;for(Jt=0;Jt<gn.length;Jt++)_t[Jt+wt]=gn[Jt];return _t}function qt(){}Ue.$override=ye,Ue.clone=ie,Ue.merge=ae,Ue.mergeAll=fe,Ue.extend=de,Ue.defaults=ve,Ue.createCanvas=xe,Ue.getContext=pe,Ue.indexOf=Se,Ue.inherits=Le,Ue.mixin=ze,Ue.isArrayLike=Ze,Ue.each=Ve,Ue.map=Qe,Ue.reduce=$e,Ue.filter=gt,Ue.find=lt,Ue.bind=At,Ue.curry=Et,Ue.isArray=vt,Ue.isFunction=Lt,Ue.isString=St,Ue.isObject=xt,Ue.isBuiltInObject=ct,Ue.isTypedArray=Dt,Ue.isDom=Xt,Ue.eqNaN=kt,Ue.retrieve=Rt,Ue.retrieve2=Gt,Ue.retrieve3=ln,Ue.slice=Rn,Ue.normalizeCssArray=jn,Ue.assert=er,Ue.setAsPrimitive=Un,Ue.isPrimitive=Kn,Ue.createHashMap=_n,Ue.concatArray=un,Ue.noop=qt},function(tt,Ue,Ne){"use strict";var Ke=Ne(8),Be=Ne(11),we=Ne(48),Te=Ne(18),ke=Ne(1),Ie=Ne.n(ke),Ce=Ne(15),Me=Ie.a.vec3,je=Ie.a.mat4,ye=Me.create,ie=Me.add,ae=Me.set;function fe(Se){return{byte:Te.a.Int8Array,ubyte:Te.a.Uint8Array,short:Te.a.Int16Array,ushort:Te.a.Uint16Array}[Se]||Te.a.Float32Array}function de(Se){return"attr_"+Se}function ve(Se,Le,ze,Ze){switch(this.name=Se,this.type=Le,this.size=ze,this.semantic=Ze||"",this.value=null,ze){case 1:this.get=function(Ve){return this.value[Ve]},this.set=function(Ve,Qe){this.value[Ve]=Qe},this.copy=function(Ve,Qe){this.value[Ve]=this.value[Ve]};break;case 2:this.get=function(Ve,Qe){var $e=this.value;return Qe[0]=$e[Ve*2],Qe[1]=$e[Ve*2+1],Qe},this.set=function(Ve,Qe){var $e=this.value;$e[Ve*2]=Qe[0],$e[Ve*2+1]=Qe[1]},this.copy=function(Ve,Qe){var $e=this.value;Qe*=2,Ve*=2,$e[Ve]=$e[Qe],$e[Ve+1]=$e[Qe+1]};break;case 3:this.get=function(Ve,Qe){var $e=Ve*3,gt=this.value;return Qe[0]=gt[$e],Qe[1]=gt[$e+1],Qe[2]=gt[$e+2],Qe},this.set=function(Ve,Qe){var $e=Ve*3,gt=this.value;gt[$e]=Qe[0],gt[$e+1]=Qe[1],gt[$e+2]=Qe[2]},this.copy=function(Ve,Qe){var $e=this.value;Qe*=3,Ve*=3,$e[Ve]=$e[Qe],$e[Ve+1]=$e[Qe+1],$e[Ve+2]=$e[Qe+2]};break;case 4:this.get=function(Ve,Qe){var $e=this.value,gt=Ve*4;return Qe[0]=$e[gt],Qe[1]=$e[gt+1],Qe[2]=$e[gt+2],Qe[3]=$e[gt+3],Qe},this.set=function(Ve,Qe){var $e=this.value,gt=Ve*4;$e[gt]=Qe[0],$e[gt+1]=Qe[1],$e[gt+2]=Qe[2],$e[gt+3]=Qe[3]},this.copy=function(Ve,Qe){var $e=this.value;Qe*=4,Ve*=4,$e[Ve]=$e[Qe],$e[Ve+1]=$e[Qe+1],$e[Ve+2]=$e[Qe+2],$e[Ve+3]=$e[Qe+3]}}}ve.prototype.init=function(Se){if(!this.value||this.value.length!=Se*this.size){var Le=fe(this.type);this.value=new Le(Se*this.size)}},ve.prototype.fromArray=function(Se){var Le=fe(this.type),ze;if(Se[0]&&Se[0].length){var Ze=0,Ve=this.size;ze=new Le(Se.length*Ve);for(var Qe=0;Qe<Se.length;Qe++)for(var $e=0;$e<Ve;$e++)ze[Ze++]=Se[Qe][$e]}else ze=new Le(Se);this.value=ze},ve.prototype.clone=function(Se){var Le=new ve(this.name,this.type,this.size,this.semantic);return Se&&console.warn("todo"),Le};function xe(Se,Le,ze,Ze,Ve){this.name=Se,this.type=Le,this.buffer=ze,this.size=Ze,this.semantic=Ve,this.symbol="",this.needsRemove=!1}function ce(Se){this.buffer=Se,this.count=0}var pe=Ke.a.extend(function(){return{attributes:{position:new ve("position","float",3,"POSITION"),texcoord0:new ve("texcoord0","float",2,"TEXCOORD_0"),texcoord1:new ve("texcoord1","float",2,"TEXCOORD_1"),normal:new ve("normal","float",3,"NORMAL"),tangent:new ve("tangent","float",4,"TANGENT"),color:new ve("color","float",4,"COLOR"),weight:new ve("weight","float",3,"WEIGHT"),joint:new ve("joint","float",4,"JOINT"),barycentric:new ve("barycentric","float",3,null)},boundingBox:null,indices:null,dynamic:!0,_enabledAttributes:null}},function(){this._cache=new we.a,this._attributeList=Object.keys(this.attributes)},{mainAttribute:"position",pick:null,pickByRay:null,updateBoundingBox:function(){var Se=this.boundingBox;Se||(Se=this.boundingBox=new Ce.a);var Le=this.attributes.position.value;if(Le&&Le.length){var ze=Se.min,Ze=Se.max,Ve=ze.array,Qe=Ze.array;Me.set(Ve,Le[0],Le[1],Le[2]),Me.set(Qe,Le[0],Le[1],Le[2]);for(var $e=3;$e<Le.length;){var gt=Le[$e++],lt=Le[$e++],At=Le[$e++];gt<Ve[0]&&(Ve[0]=gt),lt<Ve[1]&&(Ve[1]=lt),At<Ve[2]&&(Ve[2]=At),gt>Qe[0]&&(Qe[0]=gt),lt>Qe[1]&&(Qe[1]=lt),At>Qe[2]&&(Qe[2]=At)}ze._dirty=!0,Ze._dirty=!0}},dirty:function(){for(var Se=this.getEnabledAttributes(),Le=0;Le<Se.length;Le++)this.dirtyAttribute(Se[Le]);this.dirtyIndices(),this._enabledAttributes=null,this._cache.dirty("any")},dirtyIndices:function(){this._cache.dirtyAll("indices")},dirtyAttribute:function(Se){this._cache.dirtyAll(de(Se)),this._cache.dirtyAll("attributes")},getTriangleIndices:function(Se,Le){if(Se<this.triangleCount&&Se>=0){Le||(Le=ye());var ze=this.indices;return Le[0]=ze[Se*3],Le[1]=ze[Se*3+1],Le[2]=ze[Se*3+2],Le}},setTriangleIndices:function(Se,Le){var ze=this.indices;ze[Se*3]=Le[0],ze[Se*3+1]=Le[1],ze[Se*3+2]=Le[2]},isUseIndices:function(){return!!this.indices},initIndicesFromArray:function(Se){var Le,ze=this.vertexCount>65535?Te.a.Uint32Array:Te.a.Uint16Array;if(Se[0]&&Se[0].length){var Ze=0,Ve=3;Le=new ze(Se.length*Ve);for(var Qe=0;Qe<Se.length;Qe++)for(var $e=0;$e<Ve;$e++)Le[Ze++]=Se[Qe][$e]}else Le=new ze(Se);this.indices=Le},createAttribute:function(Se,Le,ze,Ze){var Ve=new ve(Se,Le,ze,Ze);return this.attributes[Se]&&this.removeAttribute(Se),this.attributes[Se]=Ve,this._attributeList.push(Se),Ve},removeAttribute:function(Se){var Le=this._attributeList,ze=Le.indexOf(Se);return ze>=0?(Le.splice(ze,1),delete this.attributes[Se],!0):!1},getAttribute:function(Se){return this.attributes[Se]},getEnabledAttributes:function(){var Se=this._enabledAttributes,Le=this._attributeList;if(Se)return Se;for(var ze=[],Ze=this.vertexCount,Ve=0;Ve<Le.length;Ve++){var Qe=Le[Ve],$e=this.attributes[Qe];$e.value&&$e.value.length===Ze*$e.size&&ze.push(Qe)}return this._enabledAttributes=ze,ze},getBufferChunks:function(Se){var Le=this._cache;Le.use(Se.__uid__);var ze=Le.isDirty("attributes"),Ze=Le.isDirty("indices");if(ze||Ze){this._updateBuffer(Se.gl,ze,Ze);for(var Ve=this.getEnabledAttributes(),Qe=0;Qe<Ve.length;Qe++)Le.fresh(de(Ve[Qe]));Le.fresh("attributes"),Le.fresh("indices")}return Le.fresh("any"),Le.get("chunks")},_updateBuffer:function(Se,Le,ze){var Ze=this._cache,Ve=Ze.get("chunks"),Qe=!1;Ve||(Ve=[],Ve[0]={attributeBuffers:[],indicesBuffer:null},Ze.put("chunks",Ve),Qe=!0);var $e=Ve[0],gt=$e.attributeBuffers,lt=$e.indicesBuffer;if(Le||Qe){var At=this.getEnabledAttributes(),Et={};if(!Qe)for(var vt=0;vt<gt.length;vt++)Et[gt[vt].name]=gt[vt];for(var Lt=0;Lt<At.length;Lt++){var St=At[Lt],xt=this.attributes[St],ct;Qe||(ct=Et[St]);var Dt;ct?Dt=ct.buffer:Dt=Se.createBuffer(),Ze.isDirty(de(St))&&(Se.bindBuffer(Se.ARRAY_BUFFER,Dt),Se.bufferData(Se.ARRAY_BUFFER,xt.value,this.dynamic?Be.a.DYNAMIC_DRAW:Be.a.STATIC_DRAW)),gt[Lt]=new xe(St,xt.type,Dt,xt.size,xt.semantic)}for(var vt=Lt;vt<gt.length;vt++)Se.deleteBuffer(gt[vt].buffer);gt.length=Lt}this.isUseIndices()&&(ze||Qe)&&(lt||(lt=new ce(Se.createBuffer()),$e.indicesBuffer=lt),lt.count=this.indices.length,Se.bindBuffer(Se.ELEMENT_ARRAY_BUFFER,lt.buffer),Se.bufferData(Se.ELEMENT_ARRAY_BUFFER,this.indices,this.dynamic?Be.a.DYNAMIC_DRAW:Be.a.STATIC_DRAW))},generateVertexNormals:function(){if(this.vertexCount){var Se=this.indices,Le=this.attributes,ze=Le.position.value,Ze=Le.normal.value;if(!Ze||Ze.length!==ze.length)Ze=Le.normal.value=new Te.a.Float32Array(ze.length);else for(var Ve=0;Ve<Ze.length;Ve++)Ze[Ve]=0;for(var Qe=ye(),$e=ye(),gt=ye(),lt=ye(),At=ye(),Et=ye(),vt=Se?Se.length:this.vertexCount,Lt,St,xt,ct=0;ct<vt;){Se?(Lt=Se[ct++],St=Se[ct++],xt=Se[ct++]):(Lt=ct++,St=ct++,xt=ct++),ae(Qe,ze[Lt*3],ze[Lt*3+1],ze[Lt*3+2]),ae($e,ze[St*3],ze[St*3+1],ze[St*3+2]),ae(gt,ze[xt*3],ze[xt*3+1],ze[xt*3+2]),Me.sub(lt,Qe,$e),Me.sub(At,$e,gt),Me.cross(Et,lt,At);for(var Ve=0;Ve<3;Ve++)Ze[Lt*3+Ve]=Ze[Lt*3+Ve]+Et[Ve],Ze[St*3+Ve]=Ze[St*3+Ve]+Et[Ve],Ze[xt*3+Ve]=Ze[xt*3+Ve]+Et[Ve]}for(var Ve=0;Ve<Ze.length;)ae(Et,Ze[Ve],Ze[Ve+1],Ze[Ve+2]),Me.normalize(Et,Et),Ze[Ve++]=Et[0],Ze[Ve++]=Et[1],Ze[Ve++]=Et[2];this.dirty()}},generateFaceNormals:function(){if(this.vertexCount){this.isUniqueVertex()||this.generateUniqueVertex();var Se=this.indices,Le=this.attributes,ze=Le.position.value,Ze=Le.normal.value,Ve=ye(),Qe=ye(),$e=ye(),gt=ye(),lt=ye(),At=ye();Ze||(Ze=Le.normal.value=new Float32Array(ze.length));for(var Et=Se?Se.length:this.vertexCount,vt,Lt,St,xt=0;xt<Et;){Se?(vt=Se[xt++],Lt=Se[xt++],St=Se[xt++]):(vt=xt++,Lt=xt++,St=xt++),ae(Ve,ze[vt*3],ze[vt*3+1],ze[vt*3+2]),ae(Qe,ze[Lt*3],ze[Lt*3+1],ze[Lt*3+2]),ae($e,ze[St*3],ze[St*3+1],ze[St*3+2]),Me.sub(gt,Ve,Qe),Me.sub(lt,Qe,$e),Me.cross(At,gt,lt),Me.normalize(At,At);for(var ct=0;ct<3;ct++)Ze[vt*3+ct]=At[ct],Ze[Lt*3+ct]=At[ct],Ze[St*3+ct]=At[ct]}this.dirty()}},generateTangents:function(){if(this.vertexCount){var Se=this.vertexCount,Le=this.attributes;Le.tangent.value||(Le.tangent.value=new Float32Array(Se*4));var ze=Le.texcoord0.value,Ze=Le.position.value,Ve=Le.tangent.value,Qe=Le.normal.value;if(!ze){console.warn("Geometry without texcoords can't generate tangents.");return}for(var $e=[],gt=[],lt=0;lt<Se;lt++)$e[lt]=[0,0,0],gt[lt]=[0,0,0];for(var At=[0,0,0],Et=[0,0,0],vt=this.indices,Lt=vt?vt.length:this.vertexCount,St,xt,ct,lt=0;lt<Lt;){vt?(St=vt[lt++],xt=vt[lt++],ct=vt[lt++]):(St=lt++,xt=lt++,ct=lt++);var Dt=ze[St*2],Xt=ze[xt*2],kt=ze[ct*2],Rt=ze[St*2+1],Gt=ze[xt*2+1],ln=ze[ct*2+1],Rn=Ze[St*3],jn=Ze[xt*3],er=Ze[ct*3],an=Ze[St*3+1],Un=Ze[xt*3+1],Kn=Ze[ct*3+1],ur=Ze[St*3+2],Xn=Ze[xt*3+2],Nn=Ze[ct*3+2],_n=jn-Rn,un=er-Rn,qt=Un-an,Yt=Kn-an,gn=Xn-ur,_t=Nn-ur,Jt=Xt-Dt,wt=kt-Dt,ut=Gt-Rt,ot=ln-Rt,Pt=1/(Jt*ot-ut*wt);At[0]=(ot*_n-ut*un)*Pt,At[1]=(ot*qt-ut*Yt)*Pt,At[2]=(ot*gn-ut*_t)*Pt,Et[0]=(Jt*un-wt*_n)*Pt,Et[1]=(Jt*Yt-wt*qt)*Pt,Et[2]=(Jt*_t-wt*gn)*Pt,ie($e[St],$e[St],At),ie($e[xt],$e[xt],At),ie($e[ct],$e[ct],At),ie(gt[St],gt[St],Et),ie(gt[xt],gt[xt],Et),ie(gt[ct],gt[ct],Et)}for(var Ht=ye(),Mt=ye(),hn=ye(),lt=0;lt<Se;lt++){hn[0]=Qe[lt*3],hn[1]=Qe[lt*3+1],hn[2]=Qe[lt*3+2];var rr=$e[lt];Me.scale(Ht,hn,Me.dot(hn,rr)),Me.sub(Ht,rr,Ht),Me.normalize(Ht,Ht),Me.cross(Mt,hn,rr),Ve[lt*4]=Ht[0],Ve[lt*4+1]=Ht[1],Ve[lt*4+2]=Ht[2],Ve[lt*4+3]=Me.dot(Mt,gt[lt])<0?-1:1}this.dirty()}},isUniqueVertex:function(){return this.isUseIndices()?this.vertexCount===this.indices.length:!0},generateUniqueVertex:function(){if(!(!this.vertexCount||!this.indices)){this.indices.length>65535&&(this.indices=new Te.a.Uint32Array(this.indices));for(var Se=this.attributes,Le=this.indices,ze=this.getEnabledAttributes(),Ze={},Ve=0;Ve<ze.length;Ve++){var Qe=ze[Ve];Ze[Qe]=Se[Qe].value,Se[Qe].init(this.indices.length)}for(var $e=0,gt=0;gt<Le.length;gt++){for(var lt=Le[gt],Ve=0;Ve<ze.length;Ve++)for(var Qe=ze[Ve],At=Se[Qe].value,Et=Se[Qe].size,vt=0;vt<Et;vt++)At[$e*Et+vt]=Ze[Qe][lt*Et+vt];Le[gt]=$e,$e++}this.dirty()}},generateBarycentric:function(){if(this.vertexCount){this.isUniqueVertex()||this.generateUniqueVertex();var Se=this.attributes,Le=Se.barycentric.value,ze=this.indices;if(!(Le&&Le.length===ze.length*3)){Le=Se.barycentric.value=new Float32Array(ze.length*3);for(var Ze=0;Ze<(ze?ze.length:this.vertexCount/3);)for(var Ve=0;Ve<3;Ve++){var Qe=ze?ze[Ze++]:Ze*3+Ve;Le[Qe*3+Ve]=1}this.dirty()}}},applyTransform:function(Se){var Le=this.attributes,ze=Le.position.value,Ze=Le.normal.value,Ve=Le.tangent.value;Se=Se.array;var Qe=je.create();je.invert(Qe,Se),je.transpose(Qe,Qe);var $e=Me.transformMat4,gt=Me.forEach;gt(ze,3,0,null,$e,Se),Ze&&gt(Ze,3,0,null,$e,Qe),Ve&&gt(Ve,4,0,null,$e,Qe),this.boundingBox&&this.updateBoundingBox()},dispose:function(Se){var Le=this._cache;Le.use(Se.__uid__);var ze=Le.get("chunks");if(ze)for(var Ze=0;Ze<ze.length;Ze++){for(var Ve=ze[Ze],Qe=0;Qe<Ve.attributeBuffers.length;Qe++){var $e=Ve.attributeBuffers[Qe];Se.gl.deleteBuffer($e.buffer)}Ve.indicesBuffer&&Se.gl.deleteBuffer(Ve.indicesBuffer.buffer)}Le.deleteContext(Se.__uid__)}});Object.defineProperty&&(Object.defineProperty(pe.prototype,"vertexCount",{enumerable:!1,get:function(){var Se=this.attributes[this.mainAttribute];return!Se||!Se.value?0:Se.value.length/Se.size}}),Object.defineProperty(pe.prototype,"triangleCount",{enumerable:!1,get:function(){var Se=this.indices;return Se?Se.length/3:0}})),pe.STATIC_DRAW=Be.a.STATIC_DRAW,pe.DYNAMIC_DRAW=Be.a.DYNAMIC_DRAW,pe.STREAM_DRAW=Be.a.STREAM_DRAW,pe.AttributeBuffer=xe,pe.IndicesBuffer=ce,pe.Attribute=ve,Ue.a=pe},function(tt,Ue,Ne){"use strict";var Ke=Ne(8),Be=Ne(30),we=Ne(37),Te=Ne(7),ke=Ne(17),Ie=Ne(24),Ce=Ne(11),Me=Ne(109);Te.a.import(Me.a);var je=new we.a,ye=new Ie.a({geometry:je,frustumCulling:!1}),ie=new Be.a,ae=Ke.a.extend(function(){return{fragment:"",outputs:null,material:null,blendWithPrevious:!1,clearColor:!1,clearDepth:!0}},function(){var fe=new Te.a(Te.a.source("clay.compositor.vertex"),this.fragment),de=new ke.a({shader:fe});de.enableTexturesAll(),this.material=de},{setUniform:function(fe,de){this.material.setUniform(fe,de)},getUniform:function(fe){var de=this.material.uniforms[fe];if(de)return de.value},attachOutput:function(fe,de){this.outputs||(this.outputs={}),de=de||Ce.a.COLOR_ATTACHMENT0,this.outputs[de]=fe},detachOutput:function(fe){for(var de in this.outputs)this.outputs[de]===fe&&(this.outputs[de]=null)},bind:function(fe,de){if(this.outputs)for(var ve in this.outputs){var xe=this.outputs[ve];xe&&de.attach(xe,ve)}de&&de.bind(fe)},unbind:function(fe,de){de.unbind(fe)},render:function(fe,de){var ve=fe.gl;if(de){this.bind(fe,de);var xe=fe.getGLExtension("EXT_draw_buffers");if(xe&&this.outputs){var ce=[];for(var pe in this.outputs)pe=+pe,pe>=ve.COLOR_ATTACHMENT0&&pe<=ve.COLOR_ATTACHMENT0+8&&ce.push(pe);xe.drawBuffersEXT(ce)}}this.trigger("beforerender",this,fe);var Se=this.clearDepth?ve.DEPTH_BUFFER_BIT:0;if(ve.depthMask(!0),this.clearColor){Se=Se|ve.COLOR_BUFFER_BIT,ve.colorMask(!0,!0,!0,!0);var Le=this.clearColor;Array.isArray(Le)&&ve.clearColor(Le[0],Le[1],Le[2],Le[3])}ve.clear(Se),this.blendWithPrevious?(ve.enable(ve.BLEND),this.material.transparent=!0):(ve.disable(ve.BLEND),this.material.transparent=!1),this.renderQuad(fe),this.trigger("afterrender",this,fe),de&&this.unbind(fe,de)},renderQuad:function(fe){ye.material=this.material,fe.renderPass([ye],ie)},dispose:function(fe){}});Ue.a=ae},function(tt,Ue,Ne){"use strict";var Ke=Ne(4),Be=Ne(1),we=Ne.n(Be),Te=we.a.vec3,ke=Te.copy,Ie=Te.set,Ce=function(Me,je){this.min=Me||new Ke.a(1/0,1/0,1/0),this.max=je||new Ke.a(-1/0,-1/0,-1/0)};Ce.prototype={constructor:Ce,updateFromVertices:function(Me){if(Me.length>0){var je=this.min,ye=this.max,ie=je.array,ae=ye.array;ke(ie,Me[0]),ke(ae,Me[0]);for(var fe=1;fe<Me.length;fe++){var de=Me[fe];de[0]<ie[0]&&(ie[0]=de[0]),de[1]<ie[1]&&(ie[1]=de[1]),de[2]<ie[2]&&(ie[2]=de[2]),de[0]>ae[0]&&(ae[0]=de[0]),de[1]>ae[1]&&(ae[1]=de[1]),de[2]>ae[2]&&(ae[2]=de[2])}je._dirty=!0,ye._dirty=!0}},union:function(Me){var je=this.min,ye=this.max;return Te.min(je.array,je.array,Me.min.array),Te.max(ye.array,ye.array,Me.max.array),je._dirty=!0,ye._dirty=!0,this},intersection:function(Me){var je=this.min,ye=this.max;return Te.max(je.array,je.array,Me.min.array),Te.min(ye.array,ye.array,Me.max.array),je._dirty=!0,ye._dirty=!0,this},intersectBoundingBox:function(Me){var je=this.min.array,ye=this.max.array,ie=Me.min.array,ae=Me.max.array;return!(je[0]>ae[0]||je[1]>ae[1]||je[2]>ae[2]||ye[0]<ie[0]||ye[1]<ie[1]||ye[2]<ie[2])},containBoundingBox:function(Me){var je=this.min.array,ye=this.max.array,ie=Me.min.array,ae=Me.max.array;return je[0]<=ie[0]&&je[1]<=ie[1]&&je[2]<=ie[2]&&ye[0]>=ae[0]&&ye[1]>=ae[1]&&ye[2]>=ae[2]},containPoint:function(Me){var je=this.min.array,ye=this.max.array,ie=Me.array;return je[0]<=ie[0]&&je[1]<=ie[1]&&je[2]<=ie[2]&&ye[0]>=ie[0]&&ye[1]>=ie[1]&&ye[2]>=ie[2]},isFinite:function(){var Me=this.min.array,je=this.max.array;return isFinite(Me[0])&&isFinite(Me[1])&&isFinite(Me[2])&&isFinite(je[0])&&isFinite(je[1])&&isFinite(je[2])},applyTransform:function(){var Me=Te.create(),je=Te.create(),ye=Te.create(),ie=Te.create(),ae=Te.create(),fe=Te.create();return function(de){var ve=this.min.array,xe=this.max.array,ce=de.array;return Me[0]=ce[0]*ve[0],Me[1]=ce[1]*ve[0],Me[2]=ce[2]*ve[0],je[0]=ce[0]*xe[0],je[1]=ce[1]*xe[0],je[2]=ce[2]*xe[0],ye[0]=ce[4]*ve[1],ye[1]=ce[5]*ve[1],ye[2]=ce[6]*ve[1],ie[0]=ce[4]*xe[1],ie[1]=ce[5]*xe[1],ie[2]=ce[6]*xe[1],ae[0]=ce[8]*ve[2],ae[1]=ce[9]*ve[2],ae[2]=ce[10]*ve[2],fe[0]=ce[8]*xe[2],fe[1]=ce[9]*xe[2],fe[2]=ce[10]*xe[2],ve[0]=Math.min(Me[0],je[0])+Math.min(ye[0],ie[0])+Math.min(ae[0],fe[0])+ce[12],ve[1]=Math.min(Me[1],je[1])+Math.min(ye[1],ie[1])+Math.min(ae[1],fe[1])+ce[13],ve[2]=Math.min(Me[2],je[2])+Math.min(ye[2],ie[2])+Math.min(ae[2],fe[2])+ce[14],xe[0]=Math.max(Me[0],je[0])+Math.max(ye[0],ie[0])+Math.max(ae[0],fe[0])+ce[12],xe[1]=Math.max(Me[1],je[1])+Math.max(ye[1],ie[1])+Math.max(ae[1],fe[1])+ce[13],xe[2]=Math.max(Me[2],je[2])+Math.max(ye[2],ie[2])+Math.max(ae[2],fe[2])+ce[14],this.min._dirty=!0,this.max._dirty=!0,this}}(),applyProjection:function(Me){var je=this.min.array,ye=this.max.array,ie=Me.array,ae=je[0],fe=je[1],de=je[2],ve=ye[0],xe=ye[1],ce=je[2],pe=ye[0],Se=ye[1],Le=ye[2];if(ie[15]===1)je[0]=ie[0]*ae+ie[12],je[1]=ie[5]*fe+ie[13],ye[2]=ie[10]*de+ie[14],ye[0]=ie[0]*pe+ie[12],ye[1]=ie[5]*Se+ie[13],je[2]=ie[10]*Le+ie[14];else{var ze=-1/de;je[0]=ie[0]*ae*ze,je[1]=ie[5]*fe*ze,ye[2]=(ie[10]*de+ie[14])*ze,ze=-1/ce,ye[0]=ie[0]*ve*ze,ye[1]=ie[5]*xe*ze,ze=-1/Le,je[2]=(ie[10]*Le+ie[14])*ze}return this.min._dirty=!0,this.max._dirty=!0,this},updateVertices:function(){var Me=this.vertices;if(!Me){for(var Me=[],je=0;je<8;je++)Me[je]=Te.fromValues(0,0,0);this.vertices=Me}var ye=this.min.array,ie=this.max.array;return Ie(Me[0],ye[0],ye[1],ye[2]),Ie(Me[1],ye[0],ie[1],ye[2]),Ie(Me[2],ie[0],ye[1],ye[2]),Ie(Me[3],ie[0],ie[1],ye[2]),Ie(Me[4],ye[0],ye[1],ie[2]),Ie(Me[5],ye[0],ie[1],ie[2]),Ie(Me[6],ie[0],ye[1],ie[2]),Ie(Me[7],ie[0],ie[1],ie[2]),this},copy:function(Me){var je=this.min,ye=this.max;return ke(je.array,Me.min.array),ke(ye.array,Me.max.array),je._dirty=!0,ye._dirty=!0,this},clone:function(){var Me=new Ce;return Me.copy(this),Me}},Ue.a=Ce},function(tt,Ue,Ne){"use strict";Ue.a=function(Ke,Be,we){return{seriesType:Ke,reset:function(Te,ke){var Ie=Te.getData(),Ce=Te.visualColorAccessPath.split(".");Ce[Ce.length-1]="opacity";var Me=Te.get(Ce);Ie.setVisual("opacity",Me==null?1:Me);function je(ye){var ie=Ie.getItemModel(ye),ae=ie.get(Ce);ae!=null&&Ie.setItemVisual(ye,"opacity",ae)}return{dataEach:Ie.hasItemOption?je:null}}}}},function(tt,Ue,Ne){"use strict";var Ke=Ne(8),Be=Ne(6),we=Ne(21),Te=Ne(93),ke=Te.a.parseToFloat,Ie={};function Ce(ye,ie,ae){var fe=Object.keys(ye);fe.sort();for(var de=[],ve=0;ve<fe.length;ve++){var xe=fe[ve],ce=ye[xe];ce===null?de.push(xe):de.push(xe+" "+ce.toString())}return de.join(`
`)}function Me(ye,ie,ae){ae.sort();for(var fe=[],de=0;de<ae.length;de++){var ve=ae[de];fe.push(ve)}var xe=Ce(ye)+`
`+Ce(ie)+`
`+fe.join(`
`);if(Ie[xe])return Ie[xe];var ce=we.a.genGUID();return Ie[xe]=ce,ce}var je=Ke.a.extend(function(){return{name:"",depthTest:!0,depthMask:!0,transparent:!1,blend:null,autoUpdateTextureStatus:!0,uniforms:{},vertexDefines:{},fragmentDefines:{},_textureStatus:{},_enabledUniforms:null}},function(){this.name||(this.name="MATERIAL_"+this.__uid__),this.shader&&this.attachShader(this.shader,!0)},{precision:"highp",bind:function(ye,ie,ae,fe){for(var de=ye.gl,ve=ie.currentTextureSlot(),xe=0;xe<this._enabledUniforms.length;xe++){var ce=this._enabledUniforms[xe],pe=this.uniforms[ce].value;if(pe instanceof Be.a)pe.__slot=-1;else if(Array.isArray(pe))for(var Se=0;Se<pe.length;Se++)pe[Se]instanceof Be.a&&(pe[Se].__slot=-1)}for(var xe=0;xe<this._enabledUniforms.length;xe++){var ce=this._enabledUniforms[xe],Le=this.uniforms[ce],pe=Le.value;if(pe===null){if(Le.type==="t"){var ze=ie.currentTextureSlot(),Ze=ie.setUniform(de,"1i",ce,ze);Ze&&ie.takeCurrentTextureSlot(ye,null)}continue}else if(pe instanceof Be.a)if(pe.__slot<0){var ze=ie.currentTextureSlot(),Ze=ie.setUniform(de,"1i",ce,ze);if(!Ze)continue;ie.takeCurrentTextureSlot(ye,pe),pe.__slot=ze}else ie.setUniform(de,"1i",ce,pe.__slot);else if(Array.isArray(pe)){if(pe.length===0)continue;var Ve=pe[0];if(Ve instanceof Be.a){if(!ie.hasUniform(ce))continue;for(var Qe=[],Se=0;Se<pe.length;Se++){var $e=pe[Se];if($e.__slot<0){var ze=ie.currentTextureSlot();Qe.push(ze),ie.takeCurrentTextureSlot(ye,$e),$e.__slot=ze}else Qe.push($e.__slot)}ie.setUniform(de,"1iv",ce,Qe)}else ie.setUniform(de,Le.type,ce,pe)}else ie.setUniform(de,Le.type,ce,pe)}ie.resetTextureSlot(ve)},setUniform:function(ye,ie){ie===void 0&&console.warn('Uniform value "'+ye+'" is undefined');var ae=this.uniforms[ye];ae&&(typeof ie=="string"&&(ie=ke(ie)||ie),ae.value=ie,this.autoUpdateTextureStatus&&ae.type==="t"&&(ie?this.enableTexture(ye):this.disableTexture(ye)))},setUniforms:function(ye){for(var ie in ye){var ae=ye[ie];this.setUniform(ie,ae)}},isUniformEnabled:function(ye){return this._enabledUniforms.indexOf(ye)>=0},getEnabledUniforms:function(){return this._enabledUniforms},getTextureUniforms:function(){return this._textureUniforms},set:function(ye,ie){if(typeof ye=="object")for(var ae in ye){var fe=ye[ae];this.setUniform(ae,fe)}else this.setUniform(ye,ie)},get:function(ye){var ie=this.uniforms[ye];if(ie)return ie.value},attachShader:function(ye,ie){var ae=this.uniforms;this.uniforms=ye.createUniforms(),this.shader=ye;var fe=this.uniforms;this._enabledUniforms=Object.keys(fe),this._enabledUniforms.sort(),this._textureUniforms=this._enabledUniforms.filter(function(Se){var Le=this.uniforms[Se].type;return Le==="t"||Le==="tv"},this);var de=this.vertexDefines,ve=this.fragmentDefines;if(this.vertexDefines=we.a.clone(ye.vertexDefines),this.fragmentDefines=we.a.clone(ye.fragmentDefines),ie){for(var xe in ae)fe[xe]&&(fe[xe].value=ae[xe].value);we.a.defaults(this.vertexDefines,de),we.a.defaults(this.fragmentDefines,ve)}var ce={};for(var pe in ye.textures)ce[pe]={shaderType:ye.textures[pe].shaderType,type:ye.textures[pe].type,enabled:ie&&this._textureStatus[pe]?this._textureStatus[pe].enabled:!1};this._textureStatus=ce,this._programKey=""},clone:function(){var ye=new this.constructor({name:this.name,shader:this.shader});for(var ie in this.uniforms)ye.uniforms[ie].value=this.uniforms[ie].value;return ye.depthTest=this.depthTest,ye.depthMask=this.depthMask,ye.transparent=this.transparent,ye.blend=this.blend,ye.vertexDefines=we.a.clone(this.vertexDefines),ye.fragmentDefines=we.a.clone(this.fragmentDefines),ye.enableTexture(this.getEnabledTextures()),ye.precision=this.precision,ye},define:function(ye,ie,ae){var fe=this.vertexDefines,de=this.fragmentDefines;ye!=="vertex"&&ye!=="fragment"&&ye!=="both"&&arguments.length<3&&(ae=ie,ie=ye,ye="both"),ae=ae!=null?ae:null,(ye==="vertex"||ye==="both")&&fe[ie]!==ae&&(fe[ie]=ae,this._programKey=""),(ye==="fragment"||ye==="both")&&de[ie]!==ae&&(de[ie]=ae,ye!=="both"&&(this._programKey=""))},undefine:function(ye,ie){ye!=="vertex"&&ye!=="fragment"&&ye!=="both"&&arguments.length<2&&(ie=ye,ye="both"),(ye==="vertex"||ye==="both")&&this.isDefined("vertex",ie)&&(delete this.vertexDefines[ie],this._programKey=""),(ye==="fragment"||ye==="both")&&this.isDefined("fragment",ie)&&(delete this.fragmentDefines[ie],ye!=="both"&&(this._programKey=""))},isDefined:function(ye,ie){switch(ye){case"vertex":return this.vertexDefines[ie]!==void 0;case"fragment":return this.fragmentDefines[ie]!==void 0}},getDefine:function(ye,ie){switch(ye){case"vertex":return this.vertexDefines[ie];case"fragment":return this.fragmentDefines[ie]}},enableTexture:function(ye){if(Array.isArray(ye)){for(var ie=0;ie<ye.length;ie++)this.enableTexture(ye[ie]);return}var ae=this._textureStatus[ye];if(ae){var fe=ae.enabled;fe||(ae.enabled=!0,this._programKey="")}},enableTexturesAll:function(){var ye=this._textureStatus;for(var ie in ye)ye[ie].enabled=!0;this._programKey=""},disableTexture:function(ye){if(Array.isArray(ye)){for(var ie=0;ie<ye.length;ie++)this.disableTexture(ye[ie]);return}var ae=this._textureStatus[ye];if(ae){var fe=!ae.enabled;fe||(ae.enabled=!1,this._programKey="")}},disableTexturesAll:function(){var ye=this._textureStatus;for(var ie in ye)ye[ie].enabled=!1;this._programKey=""},isTextureEnabled:function(ye){var ie=this._textureStatus;return!!ie[ye]&&ie[ye].enabled},getEnabledTextures:function(){var ye=[],ie=this._textureStatus;for(var ae in ie)ie[ae].enabled&&ye.push(ae);return ye},dirtyDefines:function(){this._programKey=""}});Object.defineProperty&&(Object.defineProperty(je.prototype,"shader",{get:function(){return this._shader||null},set:function(ye){this._shader=ye}}),Object.defineProperty(je.prototype,"programKey",{get:function(){return this._programKey||(this._programKey=Me(this.vertexDefines,this.fragmentDefines,this.getEnabledTextures())),this._programKey}})),Ue.a=je},function(tt,Ue,Ne){"use strict";var Ke=!0;try{var Be=document.createElement("canvas"),we=Be.getContext("webgl")||Be.getContext("experimental-webgl");if(!we)throw new Error}catch(ke){Ke=!1}var Te={};Te.supportWebGL=function(){return Ke},Te.Int8Array=typeof Int8Array=="undefined"?Array:Int8Array,Te.Uint8Array=typeof Uint8Array=="undefined"?Array:Uint8Array,Te.Uint16Array=typeof Uint16Array=="undefined"?Array:Uint16Array,Te.Uint32Array=typeof Uint32Array=="undefined"?Array:Uint32Array,Te.Int16Array=typeof Int16Array=="undefined"?Array:Int16Array,Te.Float32Array=typeof Float32Array=="undefined"?Array:Float32Array,Te.Float64Array=typeof Float64Array=="undefined"?Array:Float64Array,Ue.a=Te},function(tt,Ue,Ne){"use strict";var Ke=Ne(28),Be=Ke.a.extend(function(){return{color:[1,1,1],intensity:1,castShadow:!0,shadowResolution:512,group:0}},{type:"",clone:function(){var we=Ke.a.prototype.clone.call(this);return we.color=Array.prototype.slice.call(this.color),we.intensity=this.intensity,we.castShadow=this.castShadow,we.shadowResolution=this.shadowResolution,we}});Ue.a=Be},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(29),Te=Ne(152),ke=Ne(36),Ie=Ne(30),Ce=Ne(9),Me=Ne(4),je=Ne(23),ye=Ne(47),ie=Ne(155),ae=Ne(182),fe=Ne(43);function de(xe){xe=xe||"perspective",this.layer=null,this.scene=new we.a,this.rootNode=this.scene,this.viewport={x:0,y:0,width:0,height:0},this.setProjection(xe),this._compositor=new ie.a,this._temporalSS=new ae.a,this._shadowMapPass=new Te.a;for(var ce=[],pe=0,Se=0;Se<30;Se++){for(var Le=[],ze=0;ze<6;ze++)Le.push(Object(fe.a)(pe,2)*4-2),Le.push(Object(fe.a)(pe,3)*4-2),pe++;ce.push(Le)}this._pcfKernels=ce,this.scene.on("beforerender",function(Ze,Ve,Qe){this.needsTemporalSS()&&this._temporalSS.jitterProjection(Ze,Qe)},this)}de.prototype.setProjection=function(xe){var ce=this.camera;ce&&ce.update(),xe==="perspective"?this.camera instanceof ke.a||(this.camera=new ke.a,ce&&this.camera.setLocalTransform(ce.localTransform)):this.camera instanceof Ie.a||(this.camera=new Ie.a,ce&&this.camera.setLocalTransform(ce.localTransform)),this.camera.near=.1,this.camera.far=2e3},de.prototype.setViewport=function(xe,ce,pe,Se,Le){this.camera instanceof ke.a&&(this.camera.aspect=pe/Se),Le=Le||1,this.viewport.x=xe,this.viewport.y=ce,this.viewport.width=pe,this.viewport.height=Se,this.viewport.devicePixelRatio=Le,this._compositor.resize(pe*Le,Se*Le),this._temporalSS.resize(pe*Le,Se*Le)},de.prototype.containPoint=function(xe,ce){var pe=this.viewport,Se=this.layer.renderer.getHeight();return ce=Se-ce,xe>=pe.x&&ce>=pe.y&&xe<=pe.x+pe.width&&ce<=pe.y+pe.height};var ve=new je.a;de.prototype.castRay=function(xe,ce,pe){var Se=this.layer.renderer,Le=Se.viewport;return Se.viewport=this.viewport,Se.screenToNDC(xe,ce,ve),this.camera.castRay(ve,pe),Se.viewport=Le,pe},de.prototype.prepareRender=function(){this.scene.update(),this.camera.update(),this._needsSortProgressively=!1;for(var xe=0;xe<this.scene.transparentList.length;xe++){var ce=this.scene.transparentList[xe],pe=ce.geometry;pe.needsSortVerticesProgressively&&pe.needsSortVerticesProgressively()&&(this._needsSortProgressively=!0),pe.needsSortTrianglesProgressively&&pe.needsSortTrianglesProgressively()&&(this._needsSortProgressively=!0)}this._frame=0,this._temporalSS.resetFrame()},de.prototype.render=function(xe,ce){this._doRender(xe,ce,this._frame),this._frame++},de.prototype.needsAccumulate=function(){return this.needsTemporalSS()||this._needsSortProgressively},de.prototype.needsTemporalSS=function(){var xe=this._enableTemporalSS;return xe=="auto"&&(xe=this._enablePostEffect),xe},de.prototype.hasDOF=function(){return this._enableDOF},de.prototype.isAccumulateFinished=function(){return this.needsTemporalSS()?this._temporalSS.isFinished():this._frame>30},de.prototype._doRender=function(xe,ce,pe){var Se=this.scene,Le=this.camera;if(pe=pe||0,this._updateTransparent(xe,Se,Le,pe),ce||(this._shadowMapPass.kernelPCF=this._pcfKernels[0],this._shadowMapPass.render(xe,Se,Le,!0)),this._updateShadowPCFKernel(pe),xe.gl.clearColor(0,0,0,0),this._enablePostEffect&&(this.needsTemporalSS()&&this._temporalSS.jitterProjection(xe,Le),this._compositor.updateNormal(xe,Se,Le,this._temporalSS.getFrame())),this._updateSSAO(xe,Se,Le,this._temporalSS.getFrame()),this._enablePostEffect){var ze=this._compositor.getSourceFrameBuffer();ze.bind(xe),xe.gl.clear(xe.gl.DEPTH_BUFFER_BIT|xe.gl.COLOR_BUFFER_BIT),xe.render(Se,Le,!0,!0),ze.unbind(xe),this.needsTemporalSS()&&ce?(this._compositor.composite(xe,Le,this._temporalSS.getSourceFrameBuffer(),this._temporalSS.getFrame()),xe.setViewport(this.viewport),this._temporalSS.render(xe)):(xe.setViewport(this.viewport),this._compositor.composite(xe,Le,null,0))}else if(this.needsTemporalSS()&&ce){var ze=this._temporalSS.getSourceFrameBuffer();ze.bind(xe),xe.saveClear(),xe.clearBit=xe.gl.DEPTH_BUFFER_BIT|xe.gl.COLOR_BUFFER_BIT,xe.render(Se,Le,!0,!0),xe.restoreClear(),ze.unbind(xe),xe.setViewport(this.viewport),this._temporalSS.render(xe)}else xe.setViewport(this.viewport),xe.render(Se,Le,!0,!0)},de.prototype._updateTransparent=function(xe,ce,pe,Se){for(var Le=new Me.a,ze=new Ce.a,Ze=pe.getWorldPosition(),Ve=0;Ve<ce.transparentList.length;Ve++){var Qe=ce.transparentList[Ve],$e=Qe.geometry;Ce.a.invert(ze,Qe.worldTransform),Me.a.transformMat4(Le,Ze,ze),$e.needsSortTriangles&&$e.needsSortTriangles()&&$e.doSortTriangles(Le,Se),$e.needsSortVertices&&$e.needsSortVertices()&&$e.doSortVertices(Le,Se)}},de.prototype._updateSSAO=function(xe,ce,pe,Se){var Le=this._enableSSAO&&this._enablePostEffect;Le&&this._compositor.updateSSAO(xe,ce,pe,this._temporalSS.getFrame());for(var ze=0;ze<ce.opaqueList.length;ze++){var Ze=ce.opaqueList[ze];Ze.renderNormal&&Ze.material[Le?"enableTexture":"disableTexture"]("ssaoMap"),Le&&Ze.material.set("ssaoMap",this._compositor.getSSAOTexture())}},de.prototype._updateShadowPCFKernel=function(xe){for(var ce=this._pcfKernels[xe%this._pcfKernels.length],pe=this.scene.opaqueList,Se=0;Se<pe.length;Se++)pe[Se].receiveShadow&&(pe[Se].material.set("pcfKernel",ce),pe[Se].material.define("fragment","PCF_KERNEL_SIZE",ce.length/2))},de.prototype.dispose=function(xe){this._compositor.dispose(xe.gl),this._temporalSS.dispose(xe.gl),this._shadowMapPass.dispose(xe)},de.prototype.setPostEffect=function(xe,ce){var pe=this._compositor;this._enablePostEffect=xe.get("enable");var Se=xe.getModel("bloom"),Le=xe.getModel("edge"),ze=xe.getModel("DOF",xe.getModel("depthOfField")),Ze=xe.getModel("SSAO",xe.getModel("screenSpaceAmbientOcclusion")),Ve=xe.getModel("SSR",xe.getModel("screenSpaceReflection")),Qe=xe.getModel("FXAA"),$e=xe.getModel("colorCorrection");Se.get("enable")?pe.enableBloom():pe.disableBloom(),ze.get("enable")?pe.enableDOF():pe.disableDOF(),Ve.get("enable")?pe.enableSSR():pe.disableSSR(),$e.get("enable")?pe.enableColorCorrection():pe.disableColorCorrection(),Le.get("enable")?pe.enableEdge():pe.disableEdge(),Qe.get("enable")?pe.enableFXAA():pe.disableFXAA(),this._enableDOF=ze.get("enable"),this._enableSSAO=Ze.get("enable"),this._enableSSAO?pe.enableSSAO():pe.disableSSAO(),pe.setBloomIntensity(Se.get("intensity")),pe.setEdgeColor(Le.get("color")),pe.setColorLookupTexture($e.get("lookupTexture"),ce),pe.setExposure($e.get("exposure")),["radius","quality","intensity"].forEach(function(gt){pe.setSSAOParameter(gt,Ze.get(gt))}),["quality","maxRoughness"].forEach(function(gt){pe.setSSRParameter(gt,Ve.get(gt))}),["quality","focalDistance","focalRange","blurRadius","fstop"].forEach(function(gt){pe.setDOFParameter(gt,ze.get(gt))}),["brightness","contrast","saturation"].forEach(function(gt){pe.setColorCorrection(gt,$e.get(gt))})},de.prototype.setDOFFocusOnPoint=function(xe){if(this._enablePostEffect)return xe>this.camera.far||xe<this.camera.near?void 0:(this._compositor.setDOFParameter("focalDistance",xe),!0)},de.prototype.setTemporalSuperSampling=function(xe){this._enableTemporalSS=xe.get("enable")},de.prototype.isLinearSpace=function(){return this._enablePostEffect},de.prototype.setRootNode=function(xe){if(this.rootNode!==xe){for(var ce=this.rootNode.children(),pe=0;pe<ce.length;pe++)xe.add(ce[pe]);xe!==this.scene&&this.scene.add(xe),this.rootNode=xe}},de.prototype.add=function(xe){this.rootNode.add(xe)},de.prototype.remove=function(xe){this.rootNode.remove(xe)},de.prototype.removeAll=function(xe){this.rootNode.removeAll(xe)},Be.a.util.extend(de.prototype,ye.a),Ue.a=de},function(tt,Ue,Ne){"use strict";var Ke=0,Be=Array.prototype,we=Be.forEach,Te={genGUID:function(){return++Ke},relative2absolute:function(ke,Ie){if(!Ie||ke.match(/^\//))return ke;for(var Ce=ke.split("/"),Me=Ie.split("/"),je=Ce[0];je==="."||je==="..";)je===".."&&Me.pop(),Ce.shift(),je=Ce[0];return Me.join("/")+"/"+Ce.join("/")},extend:function(ke,Ie){if(Ie)for(var Ce in Ie)Ie.hasOwnProperty(Ce)&&(ke[Ce]=Ie[Ce]);return ke},defaults:function(ke,Ie){if(Ie)for(var Ce in Ie)ke[Ce]===void 0&&(ke[Ce]=Ie[Ce]);return ke},extendWithPropList:function(ke,Ie,Ce){if(Ie)for(var Me=0;Me<Ce.length;Me++){var je=Ce[Me];ke[je]=Ie[je]}return ke},defaultsWithPropList:function(ke,Ie,Ce){if(Ie)for(var Me=0;Me<Ce.length;Me++){var je=Ce[Me];ke[je]==null&&(ke[je]=Ie[je])}return ke},each:function(ke,Ie,Ce){if(ke&&Ie)if(ke.forEach&&ke.forEach===we)ke.forEach(Ie,Ce);else if(ke.length===+ke.length)for(var Me=0,je=ke.length;Me<je;Me++)Ie.call(Ce,ke[Me],Me,ke);else for(var ye in ke)ke.hasOwnProperty(ye)&&Ie.call(Ce,ke[ye],ye,ke)},isObject:function(ke){return ke===Object(ke)},isArray:function(ke){return Array.isArray(ke)},isArrayLike:function(ke){return ke?ke.length===+ke.length:!1},clone:function(ke){if(Te.isObject(ke)){if(Te.isArray(ke))return ke.slice();if(Te.isArrayLike(ke)){for(var Ie=new ke.constructor(ke.length),Ce=0;Ce<ke.length;Ce++)Ie[Ce]=ke[Ce];return Ie}else return Te.extend({},ke)}else return ke}};Ue.a=Te},function(tt,Ue,Ne){"use strict";var Ke=Ne(13),Be=Ne(0),we=Ne.n(Be),Te=Ne(33),ke=Ne(1),Ie=Ne.n(ke),Ce=Ie.a.vec3,Me=[[0,0],[1,1]],je=Ke.a.extend(function(){return{segmentScale:1,dynamic:!0,useNativeLine:!0,attributes:{position:new Ke.a.Attribute("position","float",3,"POSITION"),positionPrev:new Ke.a.Attribute("positionPrev","float",3),positionNext:new Ke.a.Attribute("positionNext","float",3),prevPositionPrev:new Ke.a.Attribute("prevPositionPrev","float",3),prevPosition:new Ke.a.Attribute("prevPosition","float",3),prevPositionNext:new Ke.a.Attribute("prevPositionNext","float",3),offset:new Ke.a.Attribute("offset","float",1),color:new Ke.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._triangleOffset=0,this._itemVertexOffsets=[]},setVertexCount:function(ye){var ie=this.attributes;this.vertexCount!==ye&&(ie.position.init(ye),ie.color.init(ye),this.useNativeLine||(ie.positionPrev.init(ye),ie.positionNext.init(ye),ie.offset.init(ye)),ye>65535?this.indices instanceof Uint16Array&&(this.indices=new Uint32Array(this.indices)):this.indices instanceof Uint32Array&&(this.indices=new Uint16Array(this.indices)))},setTriangleCount:function(ye){this.triangleCount!==ye&&(ye===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(ye*3):new Uint16Array(ye*3))},_getCubicCurveApproxStep:function(ye,ie,ae,fe){var de=Ce.dist(ye,ie)+Ce.dist(ae,ie)+Ce.dist(fe,ae),ve=1/(de+1)*this.segmentScale;return ve},getCubicCurveVertexCount:function(ye,ie,ae,fe){var de=this._getCubicCurveApproxStep(ye,ie,ae,fe),ve=Math.ceil(1/de);return this.useNativeLine?ve*2:ve*2+2},getCubicCurveTriangleCount:function(ye,ie,ae,fe){var de=this._getCubicCurveApproxStep(ye,ie,ae,fe),ve=Math.ceil(1/de);return this.useNativeLine?0:ve*2},getLineVertexCount:function(){return this.getPolylineVertexCount(Me)},getLineTriangleCount:function(){return this.getPolylineTriangleCount(Me)},getPolylineVertexCount:function(ye){var ie;if(typeof ye=="number")ie=ye;else{var ae=typeof ye[0]!="number";ie=ae?ye.length:ye.length/3}return this.useNativeLine?(ie-1)*2:(ie-1)*2+2},getPolylineTriangleCount:function(ye){var ie;if(typeof ye=="number")ie=ye;else{var ae=typeof ye[0]!="number";ie=ae?ye.length:ye.length/3}return this.useNativeLine?0:Math.max(ie-1,0)*2},addCubicCurve:function(ye,ie,ae,fe,de,ve){ve==null&&(ve=1);for(var xe=ye[0],ce=ye[1],pe=ye[2],Se=ie[0],Le=ie[1],ze=ie[2],Ze=ae[0],Ve=ae[1],Qe=ae[2],$e=fe[0],gt=fe[1],lt=fe[2],At=this._getCubicCurveApproxStep(ye,ie,ae,fe),Et=At*At,vt=Et*At,Lt=3*At,St=3*Et,xt=6*Et,ct=6*vt,Dt=xe-Se*2+Ze,Xt=ce-Le*2+Ve,kt=pe-ze*2+Qe,Rt=(Se-Ze)*3-xe+$e,Gt=(Le-Ve)*3-ce+gt,ln=(ze-Qe)*3-pe+lt,Rn=xe,jn=ce,er=pe,an=(Se-xe)*Lt+Dt*St+Rt*vt,Un=(Le-ce)*Lt+Xt*St+Gt*vt,Kn=(ze-pe)*Lt+kt*St+ln*vt,ur=Dt*xt+Rt*ct,Xn=Xt*xt+Gt*ct,Nn=kt*xt+ln*ct,_n=Rt*ct,un=Gt*ct,qt=ln*ct,Yt=0,gn=0,_t=Math.ceil(1/At),Jt=new Float32Array((_t+1)*3),Jt=[],wt=0,gn=0;gn<_t+1;gn++)Jt[wt++]=Rn,Jt[wt++]=jn,Jt[wt++]=er,Rn+=an,jn+=Un,er+=Kn,an+=ur,Un+=Xn,Kn+=Nn,ur+=_n,Xn+=un,Nn+=qt,Yt+=At,Yt>1&&(Rn=an>0?Math.min(Rn,$e):Math.max(Rn,$e),jn=Un>0?Math.min(jn,gt):Math.max(jn,gt),er=Kn>0?Math.min(er,lt):Math.max(er,lt));return this.addPolyline(Jt,de,ve)},addLine:function(ye,ie,ae,fe){return this.addPolyline([ye,ie],ae,fe)},addPolyline:function(ye,ie,ae,fe,de){if(ye.length){var ve=typeof ye[0]!="number";if(de==null&&(de=ve?ye.length:ye.length/3),!(de<2)){fe==null&&(fe=0),ae==null&&(ae=1),this._itemVertexOffsets.push(this._vertexOffset);var ve=typeof ye[0]!="number",xe=ve?typeof ie[0]!="number":ie.length/4===de,ce=this.attributes.position,pe=this.attributes.positionPrev,Se=this.attributes.positionNext,Le=this.attributes.color,ze=this.attributes.offset,Ze=this.indices,Ve=this._vertexOffset,Qe,$e;ae=Math.max(ae,.01);for(var gt=fe;gt<de;gt++){if(ve)Qe=ye[gt],xe?$e=ie[gt]:$e=ie;else{var lt=gt*3;if(Qe=Qe||[],Qe[0]=ye[lt],Qe[1]=ye[lt+1],Qe[2]=ye[lt+2],xe){var At=gt*4;$e=$e||[],$e[0]=ie[At],$e[1]=ie[At+1],$e[2]=ie[At+2],$e[3]=ie[At+3]}else $e=ie}if(this.useNativeLine?gt>1&&(ce.copy(Ve,Ve-1),Le.copy(Ve,Ve-1),Ve++):(gt<de-1&&(pe.set(Ve+2,Qe),pe.set(Ve+3,Qe)),gt>0&&(Se.set(Ve-2,Qe),Se.set(Ve-1,Qe)),ce.set(Ve,Qe),ce.set(Ve+1,Qe),Le.set(Ve,$e),Le.set(Ve+1,$e),ze.set(Ve,ae/2),ze.set(Ve+1,-ae/2),Ve+=2),this.useNativeLine)Le.set(Ve,$e),ce.set(Ve,Qe),Ve++;else if(gt>0){var Et=this._triangleOffset*3,Ze=this.indices;Ze[Et]=Ve-4,Ze[Et+1]=Ve-3,Ze[Et+2]=Ve-2,Ze[Et+3]=Ve-3,Ze[Et+4]=Ve-1,Ze[Et+5]=Ve-2,this._triangleOffset+=2}}if(!this.useNativeLine){var vt=this._vertexOffset,Lt=this._vertexOffset+de*2;pe.copy(vt,vt+2),pe.copy(vt+1,vt+3),Se.copy(Lt-1,Lt-3),Se.copy(Lt-2,Lt-4)}return this._vertexOffset=Ve,this._vertexOffset}}},setItemColor:function(ye,ie){for(var ae=this._itemVertexOffsets[ye],fe=ye<this._itemVertexOffsets.length-1?this._itemVertexOffsets[ye+1]:this._vertexOffset,de=ae;de<fe;de++)this.attributes.color.set(de,ie);this.dirty("color")},currentTriangleOffset:function(){return this._triangleOffset},currentVertexOffset:function(){return this._vertexOffset}});we.a.util.defaults(je.prototype,Te.a),Ue.a=je},function(tt,Ue,Ne){"use strict";var Ke=Ne(1),Be=Ne.n(Ke),we=Be.a.vec2,Te=function(Ie,Ce){Ie=Ie||0,Ce=Ce||0,this.array=we.fromValues(Ie,Ce),this._dirty=!0};if(Te.prototype={constructor:Te,add:function(Ie){return we.add(this.array,this.array,Ie.array),this._dirty=!0,this},set:function(Ie,Ce){return this.array[0]=Ie,this.array[1]=Ce,this._dirty=!0,this},setArray:function(Ie){return this.array[0]=Ie[0],this.array[1]=Ie[1],this._dirty=!0,this},clone:function(){return new Te(this.x,this.y)},copy:function(Ie){return we.copy(this.array,Ie.array),this._dirty=!0,this},cross:function(Ie,Ce){return we.cross(Ie.array,this.array,Ce.array),Ie._dirty=!0,this},dist:function(Ie){return we.dist(this.array,Ie.array)},distance:function(Ie){return we.distance(this.array,Ie.array)},div:function(Ie){return we.div(this.array,this.array,Ie.array),this._dirty=!0,this},divide:function(Ie){return we.divide(this.array,this.array,Ie.array),this._dirty=!0,this},dot:function(Ie){return we.dot(this.array,Ie.array)},len:function(){return we.len(this.array)},length:function(){return we.length(this.array)},lerp:function(Ie,Ce,Me){return we.lerp(this.array,Ie.array,Ce.array,Me),this._dirty=!0,this},min:function(Ie){return we.min(this.array,this.array,Ie.array),this._dirty=!0,this},max:function(Ie){return we.max(this.array,this.array,Ie.array),this._dirty=!0,this},mul:function(Ie){return we.mul(this.array,this.array,Ie.array),this._dirty=!0,this},multiply:function(Ie){return we.multiply(this.array,this.array,Ie.array),this._dirty=!0,this},negate:function(){return we.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return we.normalize(this.array,this.array),this._dirty=!0,this},random:function(Ie){return we.random(this.array,Ie),this._dirty=!0,this},scale:function(Ie){return we.scale(this.array,this.array,Ie),this._dirty=!0,this},scaleAndAdd:function(Ie,Ce){return we.scaleAndAdd(this.array,this.array,Ie.array,Ce),this._dirty=!0,this},sqrDist:function(Ie){return we.sqrDist(this.array,Ie.array)},squaredDistance:function(Ie){return we.squaredDistance(this.array,Ie.array)},sqrLen:function(){return we.sqrLen(this.array)},squaredLength:function(){return we.squaredLength(this.array)},sub:function(Ie){return we.sub(this.array,this.array,Ie.array),this._dirty=!0,this},subtract:function(Ie){return we.subtract(this.array,this.array,Ie.array),this._dirty=!0,this},transformMat2:function(Ie){return we.transformMat2(this.array,this.array,Ie.array),this._dirty=!0,this},transformMat2d:function(Ie){return we.transformMat2d(this.array,this.array,Ie.array),this._dirty=!0,this},transformMat3:function(Ie){return we.transformMat3(this.array,this.array,Ie.array),this._dirty=!0,this},transformMat4:function(Ie){return we.transformMat4(this.array,this.array,Ie.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},Object.defineProperty){var ke=Te.prototype;Object.defineProperty(ke,"x",{get:function(){return this.array[0]},set:function(Ie){this.array[0]=Ie,this._dirty=!0}}),Object.defineProperty(ke,"y",{get:function(){return this.array[1]},set:function(Ie){this.array[1]=Ie,this._dirty=!0}})}Te.add=function(Ie,Ce,Me){return we.add(Ie.array,Ce.array,Me.array),Ie._dirty=!0,Ie},Te.set=function(Ie,Ce,Me){return we.set(Ie.array,Ce,Me),Ie._dirty=!0,Ie},Te.copy=function(Ie,Ce){return we.copy(Ie.array,Ce.array),Ie._dirty=!0,Ie},Te.cross=function(Ie,Ce,Me){return we.cross(Ie.array,Ce.array,Me.array),Ie._dirty=!0,Ie},Te.dist=function(Ie,Ce){return we.distance(Ie.array,Ce.array)},Te.distance=Te.dist,Te.div=function(Ie,Ce,Me){return we.divide(Ie.array,Ce.array,Me.array),Ie._dirty=!0,Ie},Te.divide=Te.div,Te.dot=function(Ie,Ce){return we.dot(Ie.array,Ce.array)},Te.len=function(Ie){return we.length(Ie.array)},Te.lerp=function(Ie,Ce,Me,je){return we.lerp(Ie.array,Ce.array,Me.array,je),Ie._dirty=!0,Ie},Te.min=function(Ie,Ce,Me){return we.min(Ie.array,Ce.array,Me.array),Ie._dirty=!0,Ie},Te.max=function(Ie,Ce,Me){return we.max(Ie.array,Ce.array,Me.array),Ie._dirty=!0,Ie},Te.mul=function(Ie,Ce,Me){return we.multiply(Ie.array,Ce.array,Me.array),Ie._dirty=!0,Ie},Te.multiply=Te.mul,Te.negate=function(Ie,Ce){return we.negate(Ie.array,Ce.array),Ie._dirty=!0,Ie},Te.normalize=function(Ie,Ce){return we.normalize(Ie.array,Ce.array),Ie._dirty=!0,Ie},Te.random=function(Ie,Ce){return we.random(Ie.array,Ce),Ie._dirty=!0,Ie},Te.scale=function(Ie,Ce,Me){return we.scale(Ie.array,Ce.array,Me),Ie._dirty=!0,Ie},Te.scaleAndAdd=function(Ie,Ce,Me,je){return we.scaleAndAdd(Ie.array,Ce.array,Me.array,je),Ie._dirty=!0,Ie},Te.sqrDist=function(Ie,Ce){return we.sqrDist(Ie.array,Ce.array)},Te.squaredDistance=Te.sqrDist,Te.sqrLen=function(Ie){return we.sqrLen(Ie.array)},Te.squaredLength=Te.sqrLen,Te.sub=function(Ie,Ce,Me){return we.subtract(Ie.array,Ce.array,Me.array),Ie._dirty=!0,Ie},Te.subtract=Te.sub,Te.transformMat2=function(Ie,Ce,Me){return we.transformMat2(Ie.array,Ce.array,Me.array),Ie._dirty=!0,Ie},Te.transformMat2d=function(Ie,Ce,Me){return we.transformMat2d(Ie.array,Ce.array,Me.array),Ie._dirty=!0,Ie},Te.transformMat3=function(Ie,Ce,Me){return we.transformMat3(Ie.array,Ce.array,Me.array),Ie._dirty=!0,Ie},Te.transformMat4=function(Ie,Ce,Me){return we.transformMat4(Ie.array,Ce.array,Me.array),Ie._dirty=!0,Ie},Ue.a=Te},function(tt,Ue,Ne){"use strict";var Ke=Ne(64),Be=Ne(11),we=Ne(5),Te=Ke.a.extend({skeleton:null,joints:null,useSkinMatricesTexture:!1},function(){this.joints||(this.joints=[])},{isSkinnedMesh:function(){return!!(this.skeleton&&this.joints&&this.joints.length>0)},render:function(ke,Ie,Ce){var Me=ke.gl;if(this.skeleton){this.skeleton.update();var je=this.skeleton.getSubSkinMatrices(this.__uid__,this.joints);Ce.setUniformOfSemantic(Me,"SKIN_MATRIX",je)}return Ke.a.prototype.render.call(this,ke,Ie,Ce)},getSkinMatricesTexture:function(){return this._skinMatricesTexture=this._skinMatricesTexture||new we.a({type:Be.a.FLOAT,minFilter:Be.a.NEAREST,magFilter:Be.a.NEAREST,useMipmap:!1,flipY:!1}),this._skinMatricesTexture}});Te.POINTS=Be.a.POINTS,Te.LINES=Be.a.LINES,Te.LINE_LOOP=Be.a.LINE_LOOP,Te.LINE_STRIP=Be.a.LINE_STRIP,Te.TRIANGLES=Be.a.TRIANGLES,Te.TRIANGLE_STRIP=Be.a.TRIANGLE_STRIP,Te.TRIANGLE_FAN=Be.a.TRIANGLE_FAN,Te.BACK=Be.a.BACK,Te.FRONT=Be.a.FRONT,Te.FRONT_AND_BACK=Be.a.FRONT_AND_BACK,Te.CW=Be.a.CW,Te.CCW=Be.a.CCW,Ue.a=Te},function(tt,Ue,Ne){"use strict";var Ke=Ne(6),Be=Ne(11),we=Ne(21),Te=Ne(66),ke=Te.a.isPowerOfTwo,Ie=["px","nx","py","ny","pz","nz"],Ce=Ke.a.extend(function(){return{image:{px:null,nx:null,py:null,ny:null,pz:null,nz:null},pixels:{px:null,nx:null,py:null,ny:null,pz:null,nz:null},mipmaps:[]}},{update:function(je){var ye=je.gl;ye.bindTexture(ye.TEXTURE_CUBE_MAP,this._cache.get("webgl_texture")),this.updateCommon(je);var ie=this.format,ae=this.type;ye.texParameteri(ye.TEXTURE_CUBE_MAP,ye.TEXTURE_WRAP_S,this.getAvailableWrapS()),ye.texParameteri(ye.TEXTURE_CUBE_MAP,ye.TEXTURE_WRAP_T,this.getAvailableWrapT()),ye.texParameteri(ye.TEXTURE_CUBE_MAP,ye.TEXTURE_MAG_FILTER,this.getAvailableMagFilter()),ye.texParameteri(ye.TEXTURE_CUBE_MAP,ye.TEXTURE_MIN_FILTER,this.getAvailableMinFilter());var fe=je.getGLExtension("EXT_texture_filter_anisotropic");if(fe&&this.anisotropic>1&&ye.texParameterf(ye.TEXTURE_CUBE_MAP,fe.TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropic),ae===36193){var de=je.getGLExtension("OES_texture_half_float");de||(ae=Be.a.FLOAT)}if(this.mipmaps.length)for(var ve=this.width,xe=this.height,ce=0;ce<this.mipmaps.length;ce++){var pe=this.mipmaps[ce];this._updateTextureData(ye,pe,ce,ve,xe,ie,ae),ve/=2,xe/=2}else this._updateTextureData(ye,this,0,this.width,this.height,ie,ae),!this.NPOT&&this.useMipmap&&ye.generateMipmap(ye.TEXTURE_CUBE_MAP);ye.bindTexture(ye.TEXTURE_CUBE_MAP,null)},_updateTextureData:function(je,ye,ie,ae,fe,de,ve){for(var xe=0;xe<6;xe++){var ce=Ie[xe],pe=ye.image&&ye.image[ce];pe?je.texImage2D(je.TEXTURE_CUBE_MAP_POSITIVE_X+xe,ie,de,de,ve,pe):je.texImage2D(je.TEXTURE_CUBE_MAP_POSITIVE_X+xe,ie,de,ae,fe,0,de,ve,ye.pixels&&ye.pixels[ce])}},generateMipmap:function(je){var ye=je.gl;this.useMipmap&&!this.NPOT&&(ye.bindTexture(ye.TEXTURE_CUBE_MAP,this._cache.get("webgl_texture")),ye.generateMipmap(ye.TEXTURE_CUBE_MAP))},bind:function(je){je.gl.bindTexture(je.gl.TEXTURE_CUBE_MAP,this.getWebGLTexture(je))},unbind:function(je){je.gl.bindTexture(je.gl.TEXTURE_CUBE_MAP,null)},isPowerOfTwo:function(){return this.image.px?ke(this.image.px.width)&&ke(this.image.px.height):ke(this.width)&&ke(this.height)},isRenderable:function(){return this.image.px?Me(this.image.px)&&Me(this.image.nx)&&Me(this.image.py)&&Me(this.image.ny)&&Me(this.image.pz)&&Me(this.image.nz):!!(this.width&&this.height)},load:function(je,ye){var ie=0,ae=this;return we.a.each(je,function(fe,de){var ve=new Image;ye&&(ve.crossOrigin=ye),ve.onload=function(){ie--,ie===0&&(ae.dirty(),ae.trigger("success",ae)),ve.onload=null},ve.onerror=function(){ie--,ve.onerror=null},ie++,ve.src=fe,ae.image[de]=ve}),this}});Object.defineProperty(Ce.prototype,"width",{get:function(){return this.image&&this.image.px?this.image.px.width:this._width},set:function(je){this.image&&this.image.px?console.warn("Texture from image can't set width"):(this._width!==je&&this.dirty(),this._width=je)}}),Object.defineProperty(Ce.prototype,"height",{get:function(){return this.image&&this.image.px?this.image.px.height:this._height},set:function(je){this.image&&this.image.px?console.warn("Texture from image can't set height"):(this._height!==je&&this.dirty(),this._height=je)}});function Me(je){return je.nodeName==="CANVAS"||je.nodeName==="VIDEO"||je.complete}Ue.a=Ce},function(tt,Ue,Ne){"use strict";Ue.a={defaultOption:{shading:null,realisticMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},lambertMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},colorMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},hatchingMaterial:{textureTiling:1,textureOffset:0,paperColor:"#fff"}}}},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we={};we.getFormattedLabel=function(Te,ke,Ie,Ce,Me){Ie=Ie||"normal";var je=Te.getData(Ce),ye=je.getItemModel(ke),ie=Te.getDataParams(ke,Ce);Me!=null&&ie.value instanceof Array&&(ie.value=ie.value[Me]);var ae=ye.get(Ie==="normal"?["label","formatter"]:["emphasis","label","formatter"]);ae==null&&(ae=ye.get(["label","formatter"]));var fe;return typeof ae=="function"?(ie.status=Ie,fe=ae(ie)):typeof ae=="string"&&(fe=Be.a.format.formatTpl(ae,ie)),fe},we.normalizeToArray=function(Te){return Te instanceof Array?Te:Te==null?[]:[Te]},Ue.a=we},function(tt,Ue,Ne){"use strict";var Ke=Ne(8),Be=Ne(4),we=Ne(50),Te=Ne(9),ke=Ne(1),Ie=Ne.n(ke),Ce=Ne(15),Me=Ie.a.mat4,je=0,ye=Ke.a.extend({name:"",position:null,rotation:null,scale:null,worldTransform:null,localTransform:null,autoUpdateLocalTransform:!0,_parent:null,_scene:null,_needsUpdateWorldTransform:!0,_inIterating:!1,__depth:0},function(){this.name||(this.name=(this.type||"NODE")+"_"+je++),this.position||(this.position=new Be.a),this.rotation||(this.rotation=new we.a),this.scale||(this.scale=new Be.a(1,1,1)),this.worldTransform=new Te.a,this.localTransform=new Te.a,this._children=[]},{target:null,invisible:!1,isSkinnedMesh:function(){return!1},isRenderable:function(){return!1},setName:function(ie){var ae=this._scene;if(ae){var fe=ae._nodeRepository;delete fe[this.name],fe[ie]=this}this.name=ie},add:function(ie){this._inIterating&&console.warn("Add operation can cause unpredictable error when in iterating");var ae=ie._parent;if(ae!==this){ae&&ae.remove(ie),ie._parent=this,this._children.push(ie);var fe=this._scene;fe&&fe!==ie.scene&&ie.traverse(this._addSelfToScene,this),ie._needsUpdateWorldTransform=!0}},remove:function(ie){this._inIterating&&console.warn("Remove operation can cause unpredictable error when in iterating");var ae=this._children,fe=ae.indexOf(ie);fe<0||(ae.splice(fe,1),ie._parent=null,this._scene&&ie.traverse(this._removeSelfFromScene,this))},removeAll:function(){for(var ie=this._children,ae=0;ae<ie.length;ae++)ie[ae]._parent=null,this._scene&&ie[ae].traverse(this._removeSelfFromScene,this);this._children=[]},getScene:function(){return this._scene},getParent:function(){return this._parent},_removeSelfFromScene:function(ie){ie._scene.removeFromScene(ie),ie._scene=null},_addSelfToScene:function(ie){this._scene.addToScene(ie),ie._scene=this._scene},isAncestor:function(ie){for(var ae=ie._parent;ae;){if(ae===this)return!0;ae=ae._parent}return!1},children:function(){return this._children.slice()},childAt:function(ie){return this._children[ie]},getChildByName:function(ie){for(var ae=this._children,fe=0;fe<ae.length;fe++)if(ae[fe].name===ie)return ae[fe]},getDescendantByName:function(ie){for(var ae=this._children,fe=0;fe<ae.length;fe++){var de=ae[fe];if(de.name===ie)return de;var ve=de.getDescendantByName(ie);if(ve)return ve}},queryNode:function(ie){if(ie){for(var ae=ie.split("/"),fe=this,de=0;de<ae.length;de++){var ve=ae[de];if(ve){for(var xe=!1,ce=fe._children,pe=0;pe<ce.length;pe++){var Se=ce[pe];if(Se.name===ve){fe=Se,xe=!0;break}}if(!xe)return}}return fe}},getPath:function(ie){if(!this._parent)return"/";for(var ae=this._parent,fe=this.name;ae._parent&&(fe=ae.name+"/"+fe,ae._parent!=ie);)ae=ae._parent;return!ae._parent&&ie?null:fe},traverse:function(ie,ae,fe){this._inIterating=!0,(!fe||fe.call(ae,this))&&ie.call(ae,this);for(var de=this._children,ve=0,xe=de.length;ve<xe;ve++)de[ve].traverse(ie,ae,fe);this._inIterating=!1},eachChild:function(ie,ae,fe){this._inIterating=!0;for(var de=this._children,ve=fe==null,xe=0,ce=de.length;xe<ce;xe++){var pe=de[xe];(ve||pe.constructor===fe)&&ie.call(ae,pe,xe)}this._inIterating=!1},setLocalTransform:function(ie){Me.copy(this.localTransform.array,ie.array),this.decomposeLocalTransform()},decomposeLocalTransform:function(ie){var ae=ie?null:this.scale;this.localTransform.decomposeMatrix(ae,this.rotation,this.position)},setWorldTransform:function(ie){Me.copy(this.worldTransform.array,ie.array),this.decomposeWorldTransform()},decomposeWorldTransform:function(){var ie=Me.create();return function(ae){var fe=this.localTransform,de=this.worldTransform;this._parent?(Me.invert(ie,this._parent.worldTransform.array),Me.multiply(fe.array,ie,de.array)):Me.copy(fe.array,de.array);var ve=ae?null:this.scale;fe.decomposeMatrix(ve,this.rotation,this.position)}}(),transformNeedsUpdate:function(){return this.position._dirty||this.rotation._dirty||this.scale._dirty},updateLocalTransform:function(){var ie=this.position,ae=this.rotation,fe=this.scale;if(this.transformNeedsUpdate()){var de=this.localTransform.array;Me.fromRotationTranslation(de,ae.array,ie.array),Me.scale(de,de,fe.array),ae._dirty=!1,fe._dirty=!1,ie._dirty=!1,this._needsUpdateWorldTransform=!0}},_updateWorldTransformTopDown:function(){var ie=this.localTransform.array,ae=this.worldTransform.array;this._parent?Me.multiplyAffine(ae,this._parent.worldTransform.array,ie):Me.copy(ae,ie)},updateWorldTransform:function(){for(var ie=this;ie&&ie.getParent()&&ie.getParent().transformNeedsUpdate();)ie=ie.getParent();ie.update()},update:function(ie){this.autoUpdateLocalTransform?this.updateLocalTransform():ie=!0,(ie||this._needsUpdateWorldTransform)&&(this._updateWorldTransformTopDown(),ie=!0,this._needsUpdateWorldTransform=!1);for(var ae=this._children,fe=0,de=ae.length;fe<de;fe++)ae[fe].update(ie)},getBoundingBox:function(){function ie(ve){return!ve.invisible&&ve.geometry}var ae=new Ce.a,fe=new Te.a,de=new Te.a;return function(ve,xe){return xe=xe||new Ce.a,ve=ve||ie,this._parent?Te.a.invert(de,this._parent.worldTransform):Te.a.identity(de),this.traverse(function(ce){ce.geometry&&ce.geometry.boundingBox&&(ae.copy(ce.geometry.boundingBox),Te.a.multiply(fe,de,ce.worldTransform),ae.applyTransform(fe),xe.union(ae))},this,ie),xe}}(),getWorldPosition:function(ie){this.transformNeedsUpdate()&&this.updateWorldTransform();var ae=this.worldTransform.array;if(ie){var fe=ie.array;return fe[0]=ae[12],fe[1]=ae[13],fe[2]=ae[14],ie}else return new Be.a(ae[12],ae[13],ae[14])},clone:function(){var ie=new this.constructor,ae=this._children;ie.setName(this.name),ie.position.copy(this.position),ie.rotation.copy(this.rotation),ie.scale.copy(this.scale);for(var fe=0;fe<ae.length;fe++)ie.add(ae[fe].clone());return ie},rotateAround:function(){var ie=new Be.a,ae=new Te.a;return function(fe,de,ve){ie.copy(this.position).subtract(fe);var xe=this.localTransform;xe.identity(),xe.translate(fe),xe.rotate(ve,de),ae.fromRotationTranslation(this.rotation,ie),xe.multiply(ae),xe.scale(this.scale),this.decomposeLocalTransform(),this._needsUpdateWorldTransform=!0}}(),lookAt:function(){var ie=new Te.a;return function(ae,fe){ie.lookAt(this.position,ae,fe||this.localTransform.y).invert(),this.setLocalTransform(ie),this.target=ae}}()});Ue.a=ye},function(tt,Ue,Ne){"use strict";var Ke=Ne(28),Be=Ne(19),we=Ne(51),Te=Ne(15),ke=Ne(21),Ie={};function Ce(ye){var ie=[],ae=Object.keys(ye);ae.sort();for(var fe=0;fe<ae.length;fe++){var de=ye[fe];ie.push(de+" "+ye[de])}var ve=ie.join(`
`);if(Ie[ve])return Ie[ve];var xe=ke.a.genGUID();return Ie[ve]=xe,xe}var Me=Ke.a.extend(function(){return{material:null,autoUpdate:!0,opaqueList:[],transparentList:[],lights:[],viewBoundingBoxLastFrame:new Te.a,shadowUniforms:{},_cameraList:[],_lightUniforms:{},_previousLightNumber:{},_lightNumber:{},_lightProgramKeys:{},_opaqueObjectCount:0,_transparentObjectCount:0,_nodeRepository:{}}},function(){this._scene=this},{addToScene:function(ye){ye instanceof we.a&&(this._cameraList.length>0&&console.warn("Found multiple camera in one scene. Use the fist one."),this._cameraList.push(ye)),ye.name&&(this._nodeRepository[ye.name]=ye)},removeFromScene:function(ye){if(ye instanceof we.a){var ie=this._cameraList.indexOf(ye);ie>=0&&this._cameraList.splice(ie,1)}ye.name&&delete this._nodeRepository[ye.name]},getNode:function(ye){return this._nodeRepository[ye]},cloneNode:function(ye){var ie=ye.clone(),ae={},fe=function(ve,xe){ve.skeleton&&(xe.skeleton=ve.skeleton.clone(ye,ie),xe.joints=ve.joints.slice()),ve.material&&(ae[ve.material.__uid__]={oldMat:ve.material});for(var ce=0;ce<ve._children.length;ce++)fe(ve._children[ce],xe._children[ce])};fe(ye,ie);for(var de in ae)ae[de].newMat=ae[de].oldMat.clone();return ie.traverse(function(ve){ve.material&&(ve.material=ae[ve.material.__uid__].newMat)}),ie},update:function(ye,ie){if(this.autoUpdate||ye){Ke.a.prototype.update.call(this,ye);var ae=this.lights,fe=this.material&&this.material.transparent;if(this._opaqueObjectCount=0,this._transparentObjectCount=0,ae.length=0,this._updateRenderList(this,fe),this.opaqueList.length=this._opaqueObjectCount,this.transparentList.length=this._transparentObjectCount,!ie){this._previousLightNumber=this._lightNumber;for(var de={},ve=0;ve<ae.length;ve++){var xe=ae[ve],ce=xe.group;de[ce]||(de[ce]={}),de[ce][xe.type]=de[ce][xe.type]||0,de[ce][xe.type]++}this._lightNumber=de;for(var pe in de)this._lightProgramKeys[pe]=Ce(de[pe]);this._updateLightUniforms()}}},getMainCamera:function(){return this._cameraList[0]},_updateRenderList:function(ye,ie){if(!ye.invisible)for(var ae=0;ae<ye._children.length;ae++){var fe=ye._children[ae];fe instanceof Be.a?this.lights.push(fe):fe.isRenderable()&&(fe.material.transparent||ie?this.transparentList[this._transparentObjectCount++]=fe:this.opaqueList[this._opaqueObjectCount++]=fe),fe._children.length>0&&this._updateRenderList(fe)}},_updateLightUniforms:function(){var ye=this.lights;ye.sort(je);var ie=this._lightUniforms;for(var ae in ie)for(var fe in ie[ae])ie[ae][fe].value.length=0;for(var de=0;de<ye.length;de++){var ve=ye[de],ae=ve.group;for(var fe in ve.uniformTemplates){var xe=ve.uniformTemplates[fe],ce=xe.value(ve);if(ce!=null){ie[ae]||(ie[ae]={}),ie[ae][fe]||(ie[ae][fe]={type:"",value:[]});var pe=ie[ae][fe];switch(pe.type=xe.type+"v",xe.type){case"1i":case"1f":case"t":pe.value.push(ce);break;case"2f":case"3f":case"4f":for(var Se=0;Se<ce.length;Se++)pe.value.push(ce[Se]);break;default:console.error("Unkown light uniform type "+xe.type)}}}}},getLightGroups:function(){var ye=[];for(var ie in this._lightNumber)ye.push(ie);return ye},getNumberChangedLightGroups:function(){var ye=[];for(var ie in this._lightNumber)this.isLightNumberChanged(ie)&&ye.push(ie);return ye},isLightNumberChanged:function(ye){var ie=this._previousLightNumber,ae=this._lightNumber;for(var fe in ae[ye])if(!ie[ye]||ae[ye][fe]!==ie[ye][fe])return!0;for(var fe in ie[ye])if(!ae[ye]||ae[ye][fe]!==ie[ye][fe])return!0;return!1},getLightsNumbers:function(ye){return this._lightNumber[ye]},getProgramKey:function(ye){return this._lightProgramKeys[ye]},setLightUniforms:function(){function ye(ie,ae,fe){for(var de in ie){var ve=ie[de];if(ve.type==="tv"){if(!ae.hasUniform(de))continue;for(var xe=[],ce=0;ce<ve.value.length;ce++){var pe=ve.value[ce],Se=ae.takeCurrentTextureSlot(fe,pe);xe.push(Se)}ae.setUniform(fe.gl,"1iv",de,xe)}else ae.setUniform(fe.gl,ve.type,de,ve.value)}}return function(ie,ae,fe){ye(this._lightUniforms[ae],ie,fe),ye(this.shadowUniforms,ie,fe)}}(),dispose:function(){this.material=null,this.opaqueList=[],this.transparentList=[],this.lights=[],this._lightUniforms={},this._lightNumber={},this._nodeRepository={}}});function je(ye,ie){if(ie.castShadow&&!ye.castShadow)return!0}Ue.a=Me},function(tt,Ue,Ne){"use strict";var Ke=Ne(51),Be=Ke.a.extend({left:-1,right:1,near:-1,far:1,top:1,bottom:-1},{updateProjectionMatrix:function(){this.projectionMatrix.ortho(this.left,this.right,this.bottom,this.top,this.near,this.far)},decomposeProjectionMatrix:function(){var we=this.projectionMatrix.array;this.left=(-1-we[12])/we[0],this.right=(1-we[12])/we[0],this.top=(1-we[13])/we[5],this.bottom=(-1-we[13])/we[5],this.near=-(-1-we[14])/we[10],this.far=-(1-we[14])/we[10]},clone:function(){var we=Ke.a.prototype.clone.call(this);return we.left=this.left,we.right=this.right,we.near=this.near,we.far=this.far,we.top=this.top,we.bottom=this.bottom,we}});Ue.a=Be},function(tt,Ue,Ne){"use strict";Ue.a={defaultOption:{postEffect:{enable:!1,bloom:{enable:!0,intensity:.1},depthOfField:{enable:!1,focalRange:20,focalDistance:50,blurRadius:10,fstop:2.8,quality:"medium"},screenSpaceAmbientOcclusion:{enable:!1,radius:2,quality:"medium",intensity:1},screenSpaceReflection:{enable:!1,quality:"medium",maxRoughness:.8},colorCorrection:{enable:!0,exposure:0,brightness:0,contrast:1,saturation:1,lookupTexture:""},edge:{enable:!1},FXAA:{enable:!1}},temporalSuperSampling:{enable:"auto"}}}},function(tt,Ue,Ne){"use strict";Ue.a={defaultOption:{light:{main:{shadow:!1,shadowQuality:"high",color:"#fff",intensity:1,alpha:0,beta:0},ambient:{color:"#fff",intensity:.2},ambientCubemap:{texture:null,exposure:1,diffuseIntensity:.5,specularIntensity:.5}}}}},function(tt,Ue,Ne){"use strict";Ue.a={convertToDynamicArray:function(Ke){Ke&&this.resetOffset();var Be=this.attributes;for(var we in Be)Ke||!Be[we].value?Be[we].value=[]:Be[we].value=Array.prototype.slice.call(Be[we].value);Ke||!this.indices?this.indices=[]:this.indices=Array.prototype.slice.call(this.indices)},convertToTypedArray:function(){var Ke=this.attributes;for(var Be in Ke)Ke[Be].value&&Ke[Be].value.length>0?Ke[Be].value=new Float32Array(Ke[Be].value):Ke[Be].value=null;this.indices&&this.indices.length>0&&(this.indices=this.vertexCount>65535?new Uint32Array(this.indices):new Uint16Array(this.indices)),this.dirty()}}},function(tt,Ue,Ne){"use strict";var Ke=Ne(2),Be=Ne(57),we=Ne(56),Te=Ne(0),ke=Ne.n(Te);function Ie(){}Ie.prototype={constructor:Ie,setScene:function(Ce){this._scene=Ce,this._skybox&&this._skybox.attachScene(this._scene)},initLight:function(Ce){this._lightRoot=Ce,this.mainLight=new Ke.a.DirectionalLight({shadowBias:.005}),this.ambientLight=new Ke.a.AmbientLight,Ce.add(this.mainLight),Ce.add(this.ambientLight)},dispose:function(){this._lightRoot&&(this._lightRoot.remove(this.mainLight),this._lightRoot.remove(this.ambientLight))},updateLight:function(Ce){var Me=this.mainLight,je=this.ambientLight,ye=Ce.getModel("light"),ie=ye.getModel("main"),ae=ye.getModel("ambient");Me.intensity=ie.get("intensity"),je.intensity=ae.get("intensity"),Me.color=Ke.a.parseColor(ie.get("color")).slice(0,3),je.color=Ke.a.parseColor(ae.get("color")).slice(0,3);var fe=ie.get("alpha")||0,de=ie.get("beta")||0;Me.position.setArray(Ke.a.directionFromAlphaBeta(fe,de)),Me.lookAt(Ke.a.Vector3.ZERO),Me.castShadow=ie.get("shadow"),Me.shadowResolution=Ke.a.getShadowResolution(ie.get("shadowQuality"))},updateAmbientCubemap:function(Ce,Me,je){var ye=Me.getModel("light.ambientCubemap"),ie=ye.get("texture");if(ie){this._cubemapLightsCache=this._cubemapLightsCache||{};var ae=this._cubemapLightsCache[ie];if(!ae){var fe=this;ae=this._cubemapLightsCache[ie]=Ke.a.createAmbientCubemap(ye.option,Ce,je,function(){fe._skybox instanceof Be.a&&fe._skybox.setEnvironmentMap(ae.specular.cubemap),je.getZr().refresh()})}this._lightRoot.add(ae.diffuse),this._lightRoot.add(ae.specular),this._currentCubemapLights=ae}else this._currentCubemapLights&&(this._lightRoot.remove(this._currentCubemapLights.diffuse),this._lightRoot.remove(this._currentCubemapLights.specular),this._currentCubemapLights=null)},updateSkybox:function(Ce,Me,je){var ye=Me.get("environment"),ie=this;function ae(){return ie._skybox instanceof Be.a||(ie._skybox&&ie._skybox.dispose(Ce),ie._skybox=new Be.a),ie._skybox}function fe(){return ie._skybox instanceof we.a||(ie._skybox&&ie._skybox.dispose(Ce),ie._skybox=new we.a),ie._skybox}if(ye&&ye!=="none")if(ye==="auto")if(this._currentCubemapLights){var de=ae(),ve=this._currentCubemapLights.specular.cubemap;de.setEnvironmentMap(ve),this._scene&&de.attachScene(this._scene),de.material.set("lod",2)}else this._skybox&&this._skybox.detachScene();else if(typeof ye=="object"&&ye.colorStops||typeof ye=="string"&&ke.a.color.parse(ye)){var xe=fe(),ce=new Ke.a.Texture2D({anisotropic:8,flipY:!1});xe.setEnvironmentMap(ce);var pe=ce.image=document.createElement("canvas");pe.width=pe.height=16;var Se=pe.getContext("2d"),Le=new ke.a.graphic.Rect({shape:{x:0,y:0,width:16,height:16},style:{fill:ye}});Le.brush(Se),xe.attachScene(this._scene)}else{var xe=fe(),ce=Ke.a.loadTexture(ye,je,{anisotropic:8,flipY:!1});xe.setEnvironmentMap(ce),xe.attachScene(this._scene)}else this._skybox&&this._skybox.detachScene(this._scene),this._skybox=null;var ze=Me.coordinateSystem;if(this._skybox)if(ze&&ze.viewGL&&ye!=="auto"&&!(ye.match&&ye.match(/.hdr$/))){var Ze=ze.viewGL.isLinearSpace()?"define":"undefine";this._skybox.material[Ze]("fragment","SRGB_DECODE")}else this._skybox.material.undefine("fragment","SRGB_DECODE")}},Ue.a=Ie},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke);function we(Te,ke){var Ie=[];return Be.a.util.each(Te.dimensions,function(Ce){var Me=Te.getDimensionInfo(Ce),je=Me.otherDims,ye=je[ke];ye!=null&&ye!==!1&&(Ie[ye]=Me.name)}),Ie}Ue.a=function(Te,ke,Ie){function Ce(ve){var xe=!0,ce=[],pe=we(Me,"tooltip");pe.length?Be.a.util.each(pe,function(Le){Se(Me.get(Le,ke),Le)}):Be.a.util.each(ve,Se);function Se(Le,ze){var Ze=Me.getDimensionInfo(ze);if(!(!Ze||Ze.otherDims.tooltip===!1)){var Ve=Ze.type,Qe=(xe?"- "+(Ze.tooltipName||Ze.name)+": ":"")+(Ve==="ordinal"?Le+"":Ve==="time"?Ie?"":Be.a.format.formatTime("yyyy/MM/dd hh:mm:ss",Le):Be.a.format.addCommas(Le));Qe&&ce.push(Be.a.format.encodeHTML(Qe))}}return(xe?"<br/>":"")+ce.join(xe?"<br/>":", ")}var Me=Te.getData(),je=Te.getRawValue(ke),ye=Be.a.util.isArray(je)?Ce(je):Be.a.format.encodeHTML(Be.a.format.addCommas(je)),ie=Me.getName(ke),ae=Me.getItemVisual(ke,"color");Be.a.util.isObject(ae)&&ae.colorStops&&(ae=(ae.colorStops[0]||{}).color),ae=ae||"transparent";var fe=Be.a.format.getTooltipMarker(ae),de=Te.name;return de==="\0-"&&(de=""),de=de?Be.a.format.encodeHTML(de)+(Ie?": ":"<br/>"):"",Ie?fe+de+ye:de+fe+(ie?Be.a.format.encodeHTML(ie)+": "+ye:ye)}},function(tt,Ue,Ne){"use strict";var Ke=Ne(51),Be=Ke.a.extend({fov:50,aspect:1,near:.1,far:2e3},{updateProjectionMatrix:function(){var we=this.fov/180*Math.PI;this.projectionMatrix.perspective(we,this.aspect,this.near,this.far)},decomposeProjectionMatrix:function(){var we=this.projectionMatrix.array,Te=Math.atan(1/we[5])*2;this.fov=Te/Math.PI*180,this.aspect=we[5]/we[0],this.near=we[14]/(we[10]-1),this.far=we[14]/(we[10]+1)},clone:function(){var we=Ke.a.prototype.clone.call(this);return we.fov=this.fov,we.aspect=this.aspect,we.near=this.near,we.far=this.far,we}});Ue.a=Be},function(tt,Ue,Ne){"use strict";var Ke=Ne(13),Be=Ne(15),we=Ke.a.extend({dynamic:!1,widthSegments:1,heightSegments:1},function(){this.build()},{build:function(){for(var Te=this.heightSegments,ke=this.widthSegments,Ie=this.attributes,Ce=[],Me=[],je=[],ye=[],ie=0;ie<=Te;ie++)for(var ae=ie/Te,fe=0;fe<=ke;fe++){var de=fe/ke;if(Ce.push([2*de-1,2*ae-1,0]),Me&&Me.push([de,ae]),je&&je.push([0,0,1]),fe<ke&&ie<Te){var ve=fe+ie*(ke+1);ye.push([ve,ve+1,ve+ke+1]),ye.push([ve+ke+1,ve+1,ve+ke+2])}}Ie.position.fromArray(Ce),Ie.texcoord0.fromArray(Me),Ie.normal.fromArray(je),this.initIndicesFromArray(ye),this.boundingBox=new Be.a,this.boundingBox.min.set(-1,-1,0),this.boundingBox.max.set(1,1,0)}});Ue.a=we},function(tt,Ue,Ne){"use strict";Ue.a={defaultOption:{viewControl:{projection:"perspective",autoRotate:!1,autoRotateDirection:"cw",autoRotateSpeed:10,autoRotateAfterStill:3,damping:.8,rotateSensitivity:1,zoomSensitivity:1,panSensitivity:1,panMouseButton:"middle",rotateMouseButton:"left",distance:150,minDistance:40,maxDistance:400,orthographicSize:150,maxOrthographicSize:400,minOrthographicSize:20,center:[0,0,0],alpha:0,beta:0,minAlpha:-90,maxAlpha:90}},setView:function(Ke){Ke=Ke||{},this.option.viewControl=this.option.viewControl||{},Ke.alpha!=null&&(this.option.viewControl.alpha=Ke.alpha),Ke.beta!=null&&(this.option.viewControl.beta=Ke.beta),Ke.distance!=null&&(this.option.viewControl.distance=Ke.distance),Ke.center!=null&&(this.option.viewControl.center=Ke.center)}}},function(tt,Ue,Ne){"use strict";var Ke=Ne(8),Be=Ne(23),we=Ne(4),Te=Ne(50),ke=Ne(3),Ie=ke.a.firstNotNull,Ce={left:0,middle:1,right:2};function Me(ye){return ye instanceof Array||(ye=[ye,ye]),ye}var je=Ke.a.extend(function(){return{zr:null,viewGL:null,_center:new we.a,minDistance:.5,maxDistance:1.5,maxOrthographicSize:300,minOrthographicSize:30,minAlpha:-90,maxAlpha:90,minBeta:-1/0,maxBeta:1/0,autoRotateAfterStill:0,autoRotateDirection:"cw",autoRotateSpeed:60,damping:.8,rotateSensitivity:1,zoomSensitivity:1,panSensitivity:1,panMouseButton:"middle",rotateMouseButton:"left",_mode:"rotate",_camera:null,_needsUpdate:!1,_rotating:!1,_phi:0,_theta:0,_mouseX:0,_mouseY:0,_rotateVelocity:new Be.a,_panVelocity:new Be.a,_distance:500,_zoomSpeed:0,_stillTimeout:0,_animators:[]}},function(){["_mouseDownHandler","_mouseWheelHandler","_mouseMoveHandler","_mouseUpHandler","_pinchHandler","_contextMenuHandler","_update"].forEach(function(ye){this[ye]=this[ye].bind(this)},this)},{init:function(){var ye=this.zr;ye&&(ye.on("mousedown",this._mouseDownHandler),ye.on("globalout",this._mouseUpHandler),ye.on("mousewheel",this._mouseWheelHandler),ye.on("pinch",this._pinchHandler),ye.animation.on("frame",this._update),ye.dom.addEventListener("contextmenu",this._contextMenuHandler))},dispose:function(){var ye=this.zr;ye&&(ye.off("mousedown",this._mouseDownHandler),ye.off("mousemove",this._mouseMoveHandler),ye.off("mouseup",this._mouseUpHandler),ye.off("mousewheel",this._mouseWheelHandler),ye.off("pinch",this._pinchHandler),ye.off("globalout",this._mouseUpHandler),ye.dom.removeEventListener("contextmenu",this._contextMenuHandler),ye.animation.off("frame",this._update)),this.stopAllAnimation()},getDistance:function(){return this._distance},setDistance:function(ye){this._distance=ye,this._needsUpdate=!0},getOrthographicSize:function(){return this._orthoSize},setOrthographicSize:function(ye){this._orthoSize=ye,this._needsUpdate=!0},getAlpha:function(){return this._theta/Math.PI*180},getBeta:function(){return-this._phi/Math.PI*180},getCenter:function(){return this._center.toArray()},setAlpha:function(ye){ye=Math.max(Math.min(this.maxAlpha,ye),this.minAlpha),this._theta=ye/180*Math.PI,this._needsUpdate=!0},setBeta:function(ye){ye=Math.max(Math.min(this.maxBeta,ye),this.minBeta),this._phi=-ye/180*Math.PI,this._needsUpdate=!0},setCenter:function(ye){this._center.setArray(ye)},setViewGL:function(ye){this.viewGL=ye},getCamera:function(){return this.viewGL.camera},setFromViewControlModel:function(ye,ie){ie=ie||{};var ae=ie.baseDistance||0,fe=ie.baseOrthoSize||1,de=ye.get("projection");de!=="perspective"&&de!=="orthographic"&&de!=="isometric"&&(console.error("Unkown projection type %s, use perspective projection instead.",de),de="perspective"),this._projection=de,this.viewGL.setProjection(de);var ve=ye.get("distance")+ae,xe=ye.get("orthographicSize")+fe;[["damping",.8],["autoRotate",!1],["autoRotateAfterStill",3],["autoRotateDirection","cw"],["autoRotateSpeed",10],["minDistance",30],["maxDistance",400],["minOrthographicSize",30],["maxOrthographicSize",300],["minAlpha",-90],["maxAlpha",90],["minBeta",-1/0],["maxBeta",1/0],["rotateSensitivity",1],["zoomSensitivity",1],["panSensitivity",1],["panMouseButton","left"],["rotateMouseButton","middle"]].forEach(function(Ze){this[Ze[0]]=Ie(ye.get(Ze[0]),Ze[1])},this),this.minDistance+=ae,this.maxDistance+=ae,this.minOrthographicSize+=fe,this.maxOrthographicSize+=fe;var ce=ye.ecModel,pe={};["animation","animationDurationUpdate","animationEasingUpdate"].forEach(function(Ze){pe[Ze]=Ie(ye.get(Ze),ce&&ce.get(Ze))});var Se=Ie(ie.alpha,ye.get("alpha"))||0,Le=Ie(ie.beta,ye.get("beta"))||0,ze=Ie(ie.center,ye.get("center"))||[0,0,0];pe.animation&&pe.animationDurationUpdate>0&&this._notFirst?this.animateTo({alpha:Se,beta:Le,center:ze,distance:ve,targetOrthographicSize:xe,easing:pe.animationEasingUpdate,duration:pe.animationDurationUpdate}):(this.setDistance(ve),this.setAlpha(Se),this.setBeta(Le),this.setCenter(ze),this.setOrthographicSize(xe)),this._notFirst=!0,this._validateProperties()},_validateProperties:function(){Ce[this.panMouseButton]==null&&console.error("Unkown panMouseButton %s. It should be left|middle|right",this.panMouseButton),Ce[this.rotateMouseButton]==null&&console.error("Unkown rotateMouseButton %s. It should be left|middle|right",this.rotateMouseButton),this.autoRotateDirection!=="cw"&&this.autoRotateDirection!=="ccw"&&console.error("Unkown autoRotateDirection %s. It should be cw|ccw",this.autoRotateDirection)},animateTo:function(ye){var ie=this.zr,ae=this,fe={},de={};return ye.distance!=null&&(fe.distance=this.getDistance(),de.distance=ye.distance),ye.orthographicSize!=null&&(fe.orthographicSize=this.getOrthographicSize(),de.orthographicSize=ye.orthographicSize),ye.alpha!=null&&(fe.alpha=this.getAlpha(),de.alpha=ye.alpha),ye.beta!=null&&(fe.beta=this.getBeta(),de.beta=ye.beta),ye.center!=null&&(fe.center=this.getCenter(),de.center=ye.center),this._addAnimator(ie.animation.animate(fe).when(ye.duration||1e3,de).during(function(){fe.alpha!=null&&ae.setAlpha(fe.alpha),fe.beta!=null&&ae.setBeta(fe.beta),fe.distance!=null&&ae.setDistance(fe.distance),fe.center!=null&&ae.setCenter(fe.center),fe.orthographicSize!=null&&ae.setOrthographicSize(fe.orthographicSize),ae._needsUpdate=!0})).start(ye.easing||"linear")},stopAllAnimation:function(){for(var ye=0;ye<this._animators.length;ye++)this._animators[ye].stop();this._animators.length=0},_isAnimating:function(){return this._animators.length>0},_update:function(ye){if(this._rotating){var ie=(this.autoRotateDirection==="cw"?1:-1)*this.autoRotateSpeed/180*Math.PI;this._phi-=ie*ye/1e3,this._needsUpdate=!0}else this._rotateVelocity.len()>0&&(this._needsUpdate=!0);(Math.abs(this._zoomSpeed)>.1||this._panVelocity.len()>0)&&(this._needsUpdate=!0),this._needsUpdate&&(ye=Math.min(ye,50),this._updateDistanceOrSize(ye),this._updatePan(ye),this._updateRotate(ye),this._updateTransform(),this.getCamera().update(),this.zr&&this.zr.refresh(),this.trigger("update"),this._needsUpdate=!1)},_updateRotate:function(ye){var ie=this._rotateVelocity;this._phi=ie.y*ye/20+this._phi,this._theta=ie.x*ye/20+this._theta,this.setAlpha(this.getAlpha()),this.setBeta(this.getBeta()),this._vectorDamping(ie,Math.pow(this.damping,ye/16))},_updateDistanceOrSize:function(ye){this._projection==="perspective"?this._setDistance(this._distance+this._zoomSpeed*ye/20):this._setOrthoSize(this._orthoSize+this._zoomSpeed*ye/20),this._zoomSpeed*=Math.pow(this.damping,ye/16)},_setDistance:function(ye){this._distance=Math.max(Math.min(ye,this.maxDistance),this.minDistance)},_setOrthoSize:function(ye){this._orthoSize=Math.max(Math.min(ye,this.maxOrthographicSize),this.minOrthographicSize);var ie=this.getCamera(),ae=this._orthoSize,fe=ae/this.viewGL.viewport.height*this.viewGL.viewport.width;ie.left=-fe/2,ie.right=fe/2,ie.top=ae/2,ie.bottom=-ae/2},_updatePan:function(ye){var ie=this._panVelocity,ae=this._distance,fe=this.getCamera(),de=fe.worldTransform.y,ve=fe.worldTransform.x;this._center.scaleAndAdd(ve,-ie.x*ae/200).scaleAndAdd(de,-ie.y*ae/200),this._vectorDamping(ie,0)},_updateTransform:function(){var ye=this.getCamera(),ie=new we.a,ae=this._theta+Math.PI/2,fe=this._phi+Math.PI/2,de=Math.sin(ae);ie.x=de*Math.cos(fe),ie.y=-Math.cos(ae),ie.z=de*Math.sin(fe),ye.position.copy(this._center).scaleAndAdd(ie,this._distance),ye.rotation.identity().rotateY(-this._phi).rotateX(-this._theta)},_startCountingStill:function(){clearTimeout(this._stillTimeout);var ye=this.autoRotateAfterStill,ie=this;!isNaN(ye)&&ye>0&&(this._stillTimeout=setTimeout(function(){ie._rotating=!0},ye*1e3))},_vectorDamping:function(ye,ie){var ae=ye.len();ae=ae*ie,ae<1e-4&&(ae=0),ye.normalize().scale(ae)},_decomposeTransform:function(){if(this.getCamera()){this.getCamera().updateWorldTransform();var ye=this.getCamera().worldTransform.z,ie=Math.asin(ye.y),ae=Math.atan2(ye.x,ye.z);this._theta=ie,this._phi=-ae,this.setBeta(this.getBeta()),this.setAlpha(this.getAlpha()),this.getCamera().aspect?this._setDistance(this.getCamera().position.dist(this._center)):this._setOrthoSize(this.getCamera().top-this.getCamera().bottom)}},_mouseDownHandler:function(ye){if(!ye.target&&!this._isAnimating()){var ie=ye.offsetX,ae=ye.offsetY;this.viewGL&&!this.viewGL.containPoint(ie,ae)||(this.zr.on("mousemove",this._mouseMoveHandler),this.zr.on("mouseup",this._mouseUpHandler),ye.event.targetTouches?ye.event.targetTouches.length===1&&(this._mode="rotate"):ye.event.button===Ce[this.rotateMouseButton]?this._mode="rotate":ye.event.button===Ce[this.panMouseButton]?this._mode="pan":this._mode="",this._rotateVelocity.set(0,0),this._rotating=!1,this.autoRotate&&this._startCountingStill(),this._mouseX=ye.offsetX,this._mouseY=ye.offsetY)}},_mouseMoveHandler:function(ye){if(!(ye.target&&ye.target.__isGLToZRProxy)&&!this._isAnimating()){var ie=Me(this.panSensitivity),ae=Me(this.rotateSensitivity);this._mode==="rotate"?(this._rotateVelocity.y=(ye.offsetX-this._mouseX)/this.zr.getHeight()*2*ae[0],this._rotateVelocity.x=(ye.offsetY-this._mouseY)/this.zr.getWidth()*2*ae[1]):this._mode==="pan"&&(this._panVelocity.x=(ye.offsetX-this._mouseX)/this.zr.getWidth()*ie[0]*400,this._panVelocity.y=(-ye.offsetY+this._mouseY)/this.zr.getHeight()*ie[1]*400),this._mouseX=ye.offsetX,this._mouseY=ye.offsetY,ye.event.preventDefault()}},_mouseWheelHandler:function(ye){if(!this._isAnimating()){var ie=ye.event.wheelDelta||-ye.event.detail;this._zoomHandler(ye,ie)}},_pinchHandler:function(ye){this._isAnimating()||(this._zoomHandler(ye,ye.pinchScale>1?1:-1),this._mode="")},_zoomHandler:function(ye,ie){if(ie!==0){var ae=ye.offsetX,fe=ye.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(ae,fe))){var de;this._projection==="perspective"?de=Math.max(Math.max(Math.min(this._distance-this.minDistance,this.maxDistance-this._distance))/20,.5):de=Math.max(Math.max(Math.min(this._orthoSize-this.minOrthographicSize,this.maxOrthographicSize-this._orthoSize))/20,.5),this._zoomSpeed=(ie>0?-1:1)*de*this.zoomSensitivity,this._rotating=!1,this.autoRotate&&this._mode==="rotate"&&this._startCountingStill(),ye.event.preventDefault()}}},_mouseUpHandler:function(){this.zr.off("mousemove",this._mouseMoveHandler),this.zr.off("mouseup",this._mouseUpHandler)},_isRightMouseButtonUsed:function(){return this.rotateMouseButton==="right"||this.panMouseButton==="right"},_contextMenuHandler:function(ye){this._isRightMouseButtonUsed()&&ye.preventDefault()},_addAnimator:function(ye){var ie=this._animators;return ie.push(ye),ye.done(function(){var ae=ie.indexOf(ye);ae>=0&&ie.splice(ae,1)}),ye}});Object.defineProperty(je.prototype,"autoRotate",{get:function(ye){return this._autoRotate},set:function(ye){this._autoRotate=ye,this._rotating=ye}}),Ue.a=je},function(tt,Ue,Ne){"use strict";Ue.a=`@export ecgl.lines3D.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position: POSITION;
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
void main()
{
gl_Position = worldViewProjection * vec4(position, 1.0);
v_Color = a_Color;
}
@end
@export ecgl.lines3D.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
varying vec4 v_Color;
@import clay.util.srgb
void main()
{
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(color * v_Color);
#else
gl_FragColor = color * v_Color;
#endif
}
@end
@export ecgl.lines3D.clipNear
vec4 clipNear(vec4 p1, vec4 p2) {
float n = (p1.w - near) / (p1.w - p2.w);
return vec4(mix(p1.xy, p2.xy, n), -near, near);
}
@end
@export ecgl.lines3D.expandLine
#ifdef VERTEX_ANIMATION
vec4 prevProj = worldViewProjection * vec4(mix(prevPositionPrev, positionPrev, percent), 1.0);
vec4 currProj = worldViewProjection * vec4(mix(prevPosition, position, percent), 1.0);
vec4 nextProj = worldViewProjection * vec4(mix(prevPositionNext, positionNext, percent), 1.0);
#else
vec4 prevProj = worldViewProjection * vec4(positionPrev, 1.0);
vec4 currProj = worldViewProjection * vec4(position, 1.0);
vec4 nextProj = worldViewProjection * vec4(positionNext, 1.0);
#endif
if (currProj.w < 0.0) {
if (nextProj.w > 0.0) {
currProj = clipNear(currProj, nextProj);
}
else if (prevProj.w > 0.0) {
currProj = clipNear(currProj, prevProj);
}
}
vec2 prevScreen = (prevProj.xy / abs(prevProj.w) + 1.0) * 0.5 * viewport.zw;
vec2 currScreen = (currProj.xy / abs(currProj.w) + 1.0) * 0.5 * viewport.zw;
vec2 nextScreen = (nextProj.xy / abs(nextProj.w) + 1.0) * 0.5 * viewport.zw;
vec2 dir;
float len = offset;
if (position == positionPrev) {
dir = normalize(nextScreen - currScreen);
}
else if (position == positionNext) {
dir = normalize(currScreen - prevScreen);
}
else {
vec2 dirA = normalize(currScreen - prevScreen);
vec2 dirB = normalize(nextScreen - currScreen);
vec2 tanget = normalize(dirA + dirB);
float miter = 1.0 / max(dot(tanget, dirA), 0.5);
len *= miter;
dir = tanget;
}
dir = vec2(-dir.y, dir.x) * len;
currScreen += dir;
currProj.xy = (currScreen / viewport.zw - 0.5) * 2.0 * abs(currProj.w);
@end
@export ecgl.meshLines3D.vertex
attribute vec3 position: POSITION;
attribute vec3 positionPrev;
attribute vec3 positionNext;
attribute float offset;
attribute vec4 a_Color : COLOR;
#ifdef VERTEX_ANIMATION
attribute vec3 prevPosition;
attribute vec3 prevPositionPrev;
attribute vec3 prevPositionNext;
uniform float percent : 1.0;
#endif
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec4 viewport : VIEWPORT;
uniform float near : NEAR;
varying vec4 v_Color;
@import ecgl.common.wireframe.vertexHeader
@import ecgl.lines3D.clipNear
void main()
{
@import ecgl.lines3D.expandLine
gl_Position = currProj;
v_Color = a_Color;
@import ecgl.common.wireframe.vertexMain
}
@end
@export ecgl.meshLines3D.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
varying vec4 v_Color;
@import ecgl.common.wireframe.fragmentHeader
@import clay.util.srgb
void main()
{
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(color * v_Color);
#else
gl_FragColor = color * v_Color;
#endif
@import ecgl.common.wireframe.fragmentMain
}
@end`},function(tt,Ue,Ne){var Ke=Ne(12),Be=Ne(75),we=Ne(78),Te=we.parsePercent,ke=Ne(149),Ie=Ke.each,Ce=["left","right","top","bottom","width","height"],Me=[["width","left","right"],["height","top","bottom"]];function je(Le,ze,Ze,Ve,Qe){var $e=0,gt=0;Ve==null&&(Ve=1/0),Qe==null&&(Qe=1/0);var lt=0;ze.eachChild(function(At,Et){var vt=At.position,Lt=At.getBoundingRect(),St=ze.childAt(Et+1),xt=St&&St.getBoundingRect(),ct,Dt;if(Le==="horizontal"){var Xt=Lt.width+(xt?-xt.x+Lt.x:0);ct=$e+Xt,ct>Ve||At.newline?($e=0,ct=Xt,gt+=lt+Ze,lt=Lt.height):lt=Math.max(lt,Lt.height)}else{var kt=Lt.height+(xt?-xt.y+Lt.y:0);Dt=gt+kt,Dt>Qe||At.newline?($e+=lt+Ze,gt=0,Dt=kt,lt=Lt.width):lt=Math.max(lt,Lt.width)}At.newline||(vt[0]=$e,vt[1]=gt,Le==="horizontal"?$e=ct+Ze:gt=Dt+Ze)})}var ye=je,ie=Ke.curry(je,"vertical"),ae=Ke.curry(je,"horizontal");function fe(Le,ze,Ze){var Ve=ze.width,Qe=ze.height,$e=Te(Le.x,Ve),gt=Te(Le.y,Qe),lt=Te(Le.x2,Ve),At=Te(Le.y2,Qe);return(isNaN($e)||isNaN(parseFloat(Le.x)))&&($e=0),(isNaN(lt)||isNaN(parseFloat(Le.x2)))&&(lt=Ve),(isNaN(gt)||isNaN(parseFloat(Le.y)))&&(gt=0),(isNaN(At)||isNaN(parseFloat(Le.y2)))&&(At=Qe),Ze=ke.normalizeCssArray(Ze||0),{width:Math.max(lt-$e-Ze[1]-Ze[3],0),height:Math.max(At-gt-Ze[0]-Ze[2],0)}}function de(Le,ze,Ze){Ze=ke.normalizeCssArray(Ze||0);var Ve=ze.width,Qe=ze.height,$e=Te(Le.left,Ve),gt=Te(Le.top,Qe),lt=Te(Le.right,Ve),At=Te(Le.bottom,Qe),Et=Te(Le.width,Ve),vt=Te(Le.height,Qe),Lt=Ze[2]+Ze[0],St=Ze[1]+Ze[3],xt=Le.aspect;switch(isNaN(Et)&&(Et=Ve-lt-St-$e),isNaN(vt)&&(vt=Qe-At-Lt-gt),xt!=null&&(isNaN(Et)&&isNaN(vt)&&(xt>Ve/Qe?Et=Ve*.8:vt=Qe*.8),isNaN(Et)&&(Et=xt*vt),isNaN(vt)&&(vt=Et/xt)),isNaN($e)&&($e=Ve-lt-Et-St),isNaN(gt)&&(gt=Qe-At-vt-Lt),Le.left||Le.right){case"center":$e=Ve/2-Et/2-Ze[3];break;case"right":$e=Ve-Et-St;break}switch(Le.top||Le.bottom){case"middle":case"center":gt=Qe/2-vt/2-Ze[0];break;case"bottom":gt=Qe-vt-Lt;break}$e=$e||0,gt=gt||0,isNaN(Et)&&(Et=Ve-St-$e-(lt||0)),isNaN(vt)&&(vt=Qe-Lt-gt-(At||0));var ct=new Be($e+Ze[3],gt+Ze[0],Et,vt);return ct.margin=Ze,ct}function ve(Le,ze,Ze,Ve,Qe){var $e=!Qe||!Qe.hv||Qe.hv[0],gt=!Qe||!Qe.hv||Qe.hv[1],lt=Qe&&Qe.boundingMode||"all";if(!(!$e&&!gt)){var At;if(lt==="raw")At=Le.type==="group"?new Be(0,0,+ze.width||0,+ze.height||0):Le.getBoundingRect();else if(At=Le.getBoundingRect(),Le.needLocalTransform()){var Et=Le.getLocalTransform();At=At.clone(),At.applyTransform(Et)}ze=de(Ke.defaults({width:At.width,height:At.height},ze),Ze,Ve);var vt=Le.position,Lt=$e?ze.x-At.x:0,St=gt?ze.y-At.y:0;Le.attr("position",lt==="raw"?[Lt,St]:[vt[0]+Lt,vt[1]+St])}}function xe(Le,ze){return Le[Me[ze][0]]!=null||Le[Me[ze][1]]!=null&&Le[Me[ze][2]]!=null}function ce(Le,ze,Ze){!Ke.isObject(Ze)&&(Ze={});var Ve=Ze.ignoreSize;!Ke.isArray(Ve)&&(Ve=[Ve,Ve]);var Qe=gt(Me[0],0),$e=gt(Me[1],1);Et(Me[0],Le,Qe),Et(Me[1],Le,$e);function gt(vt,Lt){var St={},xt=0,ct={},Dt=0,Xt=2;if(Ie(vt,function(Gt){ct[Gt]=Le[Gt]}),Ie(vt,function(Gt){lt(ze,Gt)&&(St[Gt]=ct[Gt]=ze[Gt]),At(St,Gt)&&xt++,At(ct,Gt)&&Dt++}),Ve[Lt])return At(ze,vt[1])?ct[vt[2]]=null:At(ze,vt[2])&&(ct[vt[1]]=null),ct;if(Dt===Xt||!xt)return ct;if(xt>=Xt)return St;for(var kt=0;kt<vt.length;kt++){var Rt=vt[kt];if(!lt(St,Rt)&&lt(Le,Rt)){St[Rt]=Le[Rt];break}}return St}function lt(vt,Lt){return vt.hasOwnProperty(Lt)}function At(vt,Lt){return vt[Lt]!=null&&vt[Lt]!=="auto"}function Et(vt,Lt,St){Ie(vt,function(xt){Lt[xt]=St[xt]})}}function pe(Le){return Se({},Le)}function Se(Le,ze){return ze&&Le&&Ie(Ce,function(Ze){ze.hasOwnProperty(Ze)&&(Le[Ze]=ze[Ze])}),Le}Ue.LOCATION_PARAMS=Ce,Ue.HV_NAMES=Me,Ue.box=ye,Ue.vbox=ie,Ue.hbox=ae,Ue.getAvailableSize=fe,Ue.getLayoutRect=de,Ue.positionElement=ve,Ue.sizeCalculable=xe,Ue.mergeLayoutParam=ce,Ue.getLayoutParams=pe,Ue.copyLayoutParams=Se},function(tt,Ue,Ne){"use strict";var Ke=Ne(8),Be=Ke.a.extend(function(){return{name:"",inputLinks:{},outputLinks:{},_prevOutputTextures:{},_outputTextures:{},_outputReferences:{},_rendering:!1,_rendered:!1,_compositor:null}},{updateParameter:function(we,Te){var ke=this.outputs[we],Ie=ke.parameters,Ce=ke._parametersCopy;if(Ce||(Ce=ke._parametersCopy={}),Ie)for(var Me in Ie)Me!=="width"&&Me!=="height"&&(Ce[Me]=Ie[Me]);var je,ye;return Ie.width instanceof Function?je=Ie.width.call(this,Te):je=Ie.width,Ie.height instanceof Function?ye=Ie.height.call(this,Te):ye=Ie.height,(Ce.width!==je||Ce.height!==ye)&&this._outputTextures[we]&&this._outputTextures[we].dispose(Te.gl),Ce.width=je,Ce.height=ye,Ce},setParameter:function(we,Te){},getParameter:function(we){},setParameters:function(we){for(var Te in we)this.setParameter(Te,we[Te])},render:function(){},getOutput:function(we,Te){if(Te==null)return Te=we,this._outputTextures[Te];var ke=this.outputs[Te];if(ke)return this._rendered?ke.outputLastFrame?this._prevOutputTextures[Te]:this._outputTextures[Te]:this._rendering?(this._prevOutputTextures[Te]||(this._prevOutputTextures[Te]=this._compositor.allocateTexture(ke.parameters||{})),this._prevOutputTextures[Te]):(this.render(we),this._outputTextures[Te])},removeReference:function(we){if(this._outputReferences[we]--,this._outputReferences[we]===0){var Te=this.outputs[we];Te.keepLastFrame?(this._prevOutputTextures[we]&&this._compositor.releaseTexture(this._prevOutputTextures[we]),this._prevOutputTextures[we]=this._outputTextures[we]):this._compositor.releaseTexture(this._outputTextures[we])}},link:function(we,Te,ke){this.inputLinks[we]={node:Te,pin:ke},Te.outputLinks[ke]||(Te.outputLinks[ke]=[]),Te.outputLinks[ke].push({node:this,pin:we}),this.pass.material.enableTexture(we)},clear:function(){this.inputLinks={},this.outputLinks={}},updateReference:function(we){if(!this._rendering){this._rendering=!0;for(var Te in this.inputLinks){var ke=this.inputLinks[Te];ke.node.updateReference(ke.pin)}this._rendering=!1}we&&this._outputReferences[we]++},beforeFrame:function(){this._rendered=!1;for(var we in this.outputLinks)this._outputReferences[we]=0},afterFrame:function(){for(var we in this.outputLinks)if(this._outputReferences[we]>0){var Te=this.outputs[we];Te.keepLastFrame?(this._prevOutputTextures[we]&&this._compositor.releaseTexture(this._prevOutputTextures[we]),this._prevOutputTextures[we]=this._outputTextures[we]):this._compositor.releaseTexture(this._outputTextures[we])}}});Ue.a=Be},function(tt,Ue,Ne){"use strict";function Ke(Be,we){for(var Te=0,ke=1/we,Ie=Be;Ie>0;)Te=Te+ke*(Ie%we),Ie=Math.floor(Ie/we),ke=ke/we;return Te}Ue.a=Ke},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke);Ue.a=function(we,Te,ke){ke=ke||we.getSource();var Ie=Te||Be.a.getCoordinateSystemDimensions(we.get("coordinateSystem"))||["x","y","z"],Ce=Be.a.helper.createDimensions(ke,{dimensionsDefine:ke.dimensionsDefine||we.get("dimensions"),encodeDefine:ke.encodeDefine||we.get("encode"),coordDimensions:Ie.map(function(je){var ye=we.getReferringComponents(je+"Axis3D")[0];return{type:ye&&ye.get("type")==="category"?"ordinal":"float",name:je,stackable:je==="z"}})});we.get("coordinateSystem")==="cartesian3D"&&Ce.forEach(function(je){if(Ie.indexOf(je.coordDim)>=0){var ye=we.getReferringComponents(je.coordDim+"Axis3D")[0];ye&&ye.get("type")==="category"&&(je.ordinalMeta=ye.getOrdinalMeta())}});var Me=new Be.a.List(Ce,we);return Me.initData(ke),Me}},function(tt,Ue){function Ne(Ke,Be,we){return{seriesType:Ke,performRawSeries:!0,reset:function(Te,ke,Ie){var Ce=Te.getData(),Me=Te.get("symbol")||Be,je=Te.get("symbolSize");if(Ce.setVisual({legendSymbol:we||Me,symbol:Me,symbolSize:je}),ke.isSeriesFiltered(Te))return;var ye=typeof je=="function";function ie(ae,fe){if(typeof je=="function"){var de=Te.getRawValue(fe),ve=Te.getDataParams(fe);ae.setItemVisual(fe,"symbolSize",je(de,ve))}if(ae.hasItemOption){var xe=ae.getItemModel(fe),ce=xe.getShallow("symbol",!0),pe=xe.getShallow("symbolSize",!0);ce!=null&&ae.setItemVisual(fe,"symbol",ce),pe!=null&&ae.setItemVisual(fe,"symbolSize",pe)}}return{dataEach:Ce.hasItemOption||ye?ie:null}}}}tt.exports=Ne},function(tt,Ue,Ne){"use strict";var Ke=Ne(8),Be=Ne(92),we=Ne(11),Te=Ne(18),ke=Ne(15),Ie=Ne(9),Ce=Ne(17),Me=Ne(23),je=Ne(96),ye=Ne(7),ie=Ne(98),ae=Ne(63),fe=Ne(1),de=Ne.n(fe);ye.a.import(ie.a),ye.a.import(ae.a);var ve=de.a.mat4,xe=de.a.vec3,ce=ve.create,pe={};function Se(Ve){return Ve.material}function Le(){}var ze=Ke.a.extend(function(){return{canvas:null,_width:100,_height:100,devicePixelRatio:window.devicePixelRatio||1,clearColor:[0,0,0,0],clearBit:17664,alpha:!0,depth:!0,stencil:!1,antialias:!0,premultipliedAlpha:!0,preserveDrawingBuffer:!1,throwError:!0,gl:null,viewport:{},__currentFrameBuffer:null,_viewportStack:[],_clearStack:[],_sceneRendering:null}},function(){this.canvas||(this.canvas=document.createElement("canvas"));var Ve=this.canvas;try{var Qe={alpha:this.alpha,depth:this.depth,stencil:this.stencil,antialias:this.antialias,premultipliedAlpha:this.premultipliedAlpha,preserveDrawingBuffer:this.preserveDrawingBuffer};if(this.gl=Ve.getContext("webgl",Qe)||Ve.getContext("experimental-webgl",Qe),!this.gl)throw new Error;this._glinfo=new Be.a(this.gl),this.gl.targetRenderer&&console.error("Already created a renderer"),this.gl.targetRenderer=this,this.resize()}catch($e){throw"Error creating WebGL Context "+$e}this._programMgr=new je.a(this)},{resize:function(Ve,Qe){var $e=this.canvas,gt=this.devicePixelRatio;Ve!=null?($e.style.width=Ve+"px",$e.style.height=Qe+"px",$e.width=Ve*gt,$e.height=Qe*gt,this._width=Ve,this._height=Qe):(this._width=$e.width/gt,this._height=$e.height/gt),this.setViewport(0,0,this._width,this._height)},getWidth:function(){return this._width},getHeight:function(){return this._height},getViewportAspect:function(){var Ve=this.viewport;return Ve.width/Ve.height},setDevicePixelRatio:function(Ve){this.devicePixelRatio=Ve,this.resize(this._width,this._height)},getDevicePixelRatio:function(){return this.devicePixelRatio},getGLExtension:function(Ve){return this._glinfo.getExtension(Ve)},getGLParameter:function(Ve){return this._glinfo.getParameter(Ve)},setViewport:function(Ve,Qe,$e,gt,lt){if(typeof Ve=="object"){var At=Ve;Ve=At.x,Qe=At.y,$e=At.width,gt=At.height,lt=At.devicePixelRatio}lt=lt||this.devicePixelRatio,this.gl.viewport(Ve*lt,Qe*lt,$e*lt,gt*lt),this.viewport={x:Ve,y:Qe,width:$e,height:gt,devicePixelRatio:lt}},saveViewport:function(){this._viewportStack.push(this.viewport)},restoreViewport:function(){this._viewportStack.length>0&&this.setViewport(this._viewportStack.pop())},saveClear:function(){this._clearStack.push({clearBit:this.clearBit,clearColor:this.clearColor})},restoreClear:function(){if(this._clearStack.length>0){var Ve=this._clearStack.pop();this.clearColor=Ve.clearColor,this.clearBit=Ve.clearBit}},bindSceneRendering:function(Ve){this._sceneRendering=Ve},render:function(Ve,Qe,$e,gt){var lt=this.gl,At=this.clearColor;if(this.clearBit){lt.colorMask(!0,!0,!0,!0),lt.depthMask(!0);var Et=this.viewport,vt=!1,Lt=Et.devicePixelRatio;(Et.width!==this._width||Et.height!==this._height||Lt&&Lt!==this.devicePixelRatio||Et.x||Et.y)&&(vt=!0,lt.enable(lt.SCISSOR_TEST),lt.scissor(Et.x*Lt,Et.y*Lt,Et.width*Lt,Et.height*Lt)),lt.clearColor(At[0],At[1],At[2],At[3]),lt.clear(this.clearBit),vt&&lt.disable(lt.SCISSOR_TEST)}if($e||Ve.update(!1),Qe=Qe||Ve.getMainCamera(),!Qe){console.error("Can't find camera in the scene.");return}Qe.getScene()||Qe.update(!0),this._sceneRendering=Ve,Ve.viewBoundingBoxLastFrame.min.set(1/0,1/0,1/0),Ve.viewBoundingBoxLastFrame.max.set(-1/0,-1/0,-1/0);var St=this.cullRenderList(Ve.opaqueList,Ve,Qe),xt=this.cullRenderList(Ve.transparentList,Ve,Qe),ct=Ve.material;Ve.trigger("beforerender",this,Ve,Qe),gt?(this.renderPreZ(St,Ve,Qe),lt.depthFunc(lt.LEQUAL)):lt.depthFunc(lt.LESS);for(var Dt=ce(),Xt=xe.create(),kt=0;kt<xt.length;kt++){var Rt=xt[kt];ve.multiplyAffine(Dt,Qe.viewMatrix.array,Rt.worldTransform.array),xe.transformMat4(Xt,Rt.position.array,Dt),Rt.__depth=Xt[2]}var Gt=this.renderPass(St,Qe,{getMaterial:function(er){return ct||er.material},sortCompare:this.opaqueSortCompare}),ln=this.renderPass(xt,Qe,{getMaterial:function(er){return ct||er.material},sortCompare:this.transparentSortCompare}),Rn={};for(var jn in Gt)Rn[jn]=Gt[jn]+ln[jn];return Ve.trigger("afterrender",this,Ve,Qe,Rn),this._sceneRendering=null,Rn},getProgram:function(Ve,Qe,$e){return Qe=Qe||Ve.material,this._programMgr.getProgram(Ve,Qe,$e)},validateProgram:function(Ve){if(Ve.__error){var Qe=Ve.__error;if(pe[Ve.__uid__])return;if(pe[Ve.__uid__]=!0,this.throwError)throw new Error(Qe);this.trigger("error",Qe)}},updatePrograms:function(Ve,Qe,$e){var gt=$e&&$e.getMaterial||Se;Qe=Qe||null;for(var lt=0;lt<Ve.length;lt++){var At=Ve[lt],Et=gt.call(this,At);if(lt>0){var vt=Ve[lt-1],Lt=vt.joints?vt.joints.length:0,St=At.joints.length?At.joints.length:0;if(St===Lt&&At.material===vt.material&&At.lightGroup===vt.lightGroup){At.__program=vt.__program;continue}}var xt=this._programMgr.getProgram(At,Et,Qe);this.validateProgram(xt),At.__program=xt}},cullRenderList:function(Ve,Qe,$e){for(var gt=[],lt=0;lt<Ve.length;lt++){var At=Ve[lt],Et=At.isSkinnedMesh()?Ze.IDENTITY:At.worldTransform.array,vt=At.geometry;ve.multiplyAffine(Ze.WORLDVIEW,$e.viewMatrix.array,Et),!(vt.boundingBox&&this.isFrustumCulled(At,Qe,$e,Ze.WORLDVIEW,$e.projectionMatrix.array))&&gt.push(At)}return gt},renderPass:function(Ve,Qe,$e){this.trigger("beforerenderpass",this,Ve,Qe,$e);var gt={triangleCount:0,vertexCount:0,drawCallCount:0,meshCount:Ve.length,renderedMeshCount:0};$e=$e||{},$e.getMaterial=$e.getMaterial||Se,$e.beforeRender=$e.beforeRender||Le,$e.afterRender=$e.afterRender||Le,this.updatePrograms(Ve,this._sceneRendering,$e),$e.sortCompare&&Ve.sort($e.sortCompare);var lt=this.viewport,At=lt.devicePixelRatio,Et=[lt.x*At,lt.y*At,lt.width*At,lt.height*At],vt=this.devicePixelRatio,Lt=this.__currentFrameBuffer?[this.__currentFrameBuffer.getTextureWidth(),this.__currentFrameBuffer.getTextureHeight()]:[this._width*vt,this._height*vt],St=[Et[2],Et[3]],xt=Date.now();ve.copy(Ze.VIEW,Qe.viewMatrix.array),ve.copy(Ze.PROJECTION,Qe.projectionMatrix.array),ve.multiply(Ze.VIEWPROJECTION,Qe.projectionMatrix.array,Ze.VIEW),ve.copy(Ze.VIEWINVERSE,Qe.worldTransform.array),ve.invert(Ze.PROJECTIONINVERSE,Ze.PROJECTION),ve.invert(Ze.VIEWPROJECTIONINVERSE,Ze.VIEWPROJECTION);for(var ct=this.gl,Dt=this._sceneRendering,Xt,kt,Rt,Gt,ln,Rn,jn,er,an=0;an<Ve.length;an++){var Un=Ve[an];if(!($e.ifRender&&!$e.ifRender(Un))){var Kn=Un.isSkinnedMesh()?Ze.IDENTITY:Un.worldTransform.array,ur=$e.getMaterial.call(this,Un),Xn=Un.__program,Nn=ur.shader;ve.copy(Ze.WORLD,Kn),ve.multiply(Ze.WORLDVIEWPROJECTION,Ze.VIEWPROJECTION,Kn),(Nn.matrixSemantics.WORLDINVERSE||Nn.matrixSemantics.WORLDINVERSETRANSPOSE)&&ve.invert(Ze.WORLDINVERSE,Kn),(Nn.matrixSemantics.WORLDVIEWINVERSE||Nn.matrixSemantics.WORLDVIEWINVERSETRANSPOSE)&&ve.invert(Ze.WORLDVIEWINVERSE,Ze.WORLDVIEW),(Nn.matrixSemantics.WORLDVIEWPROJECTIONINVERSE||Nn.matrixSemantics.WORLDVIEWPROJECTIONINVERSETRANSPOSE)&&ve.invert(Ze.WORLDVIEWPROJECTIONINVERSE,Ze.WORLDVIEWPROJECTION),Un.beforeRender(this),$e.beforeRender.call(this,Un,ur,Xt);var _n=Xn!==kt;_n?(Xn.bind(this),Xn.setUniformOfSemantic(ct,"VIEWPORT",Et),Xn.setUniformOfSemantic(ct,"WINDOW_SIZE",Lt),Xn.setUniformOfSemantic(ct,"NEAR",Qe.near),Xn.setUniformOfSemantic(ct,"FAR",Qe.far),Xn.setUniformOfSemantic(ct,"DEVICEPIXELRATIO",At),Xn.setUniformOfSemantic(ct,"TIME",xt),Xn.setUniformOfSemantic(ct,"VIEWPORT_SIZE",St),Dt&&Dt.setLightUniforms(Xn,Un.lightGroup,this)):Xn=kt,(Xt!==ur||_n)&&(ur.depthTest!==Rt&&(ur.depthTest?ct.enable(ct.DEPTH_TEST):ct.disable(ct.DEPTH_TEST),Rt=ur.depthTest),ur.depthMask!==Gt&&(ct.depthMask(ur.depthMask),Gt=ur.depthMask),ur.transparent!==er&&(ur.transparent?ct.enable(ct.BLEND):ct.disable(ct.BLEND),er=ur.transparent),ur.transparent&&(ur.blend?ur.blend(ct):(ct.blendEquationSeparate(ct.FUNC_ADD,ct.FUNC_ADD),ct.blendFuncSeparate(ct.SRC_ALPHA,ct.ONE_MINUS_SRC_ALPHA,ct.ONE,ct.ONE_MINUS_SRC_ALPHA))),ur.bind(this,Xn,Xt,kt),Xt=ur);for(var un=Nn.matrixSemanticKeys,qt=0;qt<un.length;qt++){var Yt=un[qt],gn=Nn.matrixSemantics[Yt],_t=Ze[Yt];if(gn.isTranspose){var Jt=Ze[gn.semanticNoTranspose];ve.transpose(_t,Jt)}Xn.setUniform(ct,gn.type,gn.symbol,_t)}Un.cullFace!==Rn&&(Rn=Un.cullFace,ct.cullFace(Rn)),Un.frontFace!==jn&&(jn=Un.frontFace,ct.frontFace(jn)),Un.culling!==ln&&(ln=Un.culling,ln?ct.enable(ct.CULL_FACE):ct.disable(ct.CULL_FACE));var wt=Un.render(this,ur,Xn);wt&&(gt.triangleCount+=wt.triangleCount,gt.vertexCount+=wt.vertexCount,gt.drawCallCount+=wt.drawCallCount,gt.renderedMeshCount++),$e.afterRender.call(this,Un,wt),Un.afterRender(this,wt),kt=Xn}}for(var an=0;an<Ve.length;an++)Ve[an].__program=null;return this.trigger("afterrenderpass",this,Ve,Qe,$e),gt},renderPreZ:function(Ve,Qe,$e){var gt=this.gl,lt=this._prezMaterial||new Ce.a({shader:new ye.a(ye.a.source("clay.prez.vertex"),ye.a.source("clay.prez.fragment"))});this._prezMaterial=lt,gt.colorMask(!1,!1,!1,!1),gt.depthMask(!0),this.renderPass(Ve,$e,{ifRender:function(At){return!At.ignorePreZ},getMaterial:function(){return lt},sort:this.opaqueSortCompare}),gt.colorMask(!0,!0,!0,!0),gt.depthMask(!0)},isFrustumCulled:function(){var Ve=new ke.a,Qe=new Ie.a;return function($e,gt,lt,At,Et){var vt=$e.boundingBox||$e.geometry.boundingBox;if(Qe.array=At,Ve.copy(vt),Ve.applyTransform(Qe),gt&&$e.isRenderable()&&$e.castShadow&&gt.viewBoundingBoxLastFrame.union(Ve),$e.frustumCulling&&!$e.isSkinnedMesh()){if(!Ve.intersectBoundingBox(lt.frustum.boundingBox))return!0;Qe.array=Et,Ve.max.array[2]>0&&Ve.min.array[2]<0&&(Ve.max.array[2]=-1e-20),Ve.applyProjection(Qe);var Lt=Ve.min.array,St=Ve.max.array;if(St[0]<-1||Lt[0]>1||St[1]<-1||Lt[1]>1||St[2]<-1||Lt[2]>1)return!0}return!1}}(),disposeScene:function(Ve){this.disposeNode(Ve,!0,!0),Ve.dispose()},disposeNode:function(Ve,Qe,$e){Ve.getParent()&&Ve.getParent().remove(Ve),Ve.traverse(function(gt){gt.geometry&&Qe&&gt.geometry.dispose(this),gt.dispose&&gt.dispose(this)},this)},disposeGeometry:function(Ve){Ve.dispose(this)},disposeTexture:function(Ve){Ve.dispose(this)},disposeFrameBuffer:function(Ve){Ve.dispose(this)},dispose:function(){},screenToNDC:function(Ve,Qe,$e){$e||($e=new Me.a),Qe=this._height-Qe;var gt=this.viewport,lt=$e.array;return lt[0]=(Ve-gt.x)/gt.width,lt[0]=lt[0]*2-1,lt[1]=(Qe-gt.y)/gt.height,lt[1]=lt[1]*2-1,$e}});ze.opaqueSortCompare=ze.prototype.opaqueSortCompare=function(Ve,Qe){return Ve.renderOrder===Qe.renderOrder?Ve.__program===Qe.__program?Ve.material===Qe.material?Ve.geometry.__uid__-Qe.geometry.__uid__:Ve.material.__uid__-Qe.material.__uid__:Ve.__program&&Qe.__program?Ve.__program.__uid__-Qe.__program.__uid__:0:Ve.renderOrder-Qe.renderOrder},ze.transparentSortCompare=ze.prototype.transparentSortCompare=function(Ve,Qe){return Ve.renderOrder===Qe.renderOrder?Ve.__depth===Qe.__depth?Ve.__program===Qe.__program?Ve.material===Qe.material?Ve.geometry.__uid__-Qe.geometry.__uid__:Ve.material.__uid__-Qe.material.__uid__:Ve.__program&&Qe.__program?Ve.__program.__uid__-Qe.__program.__uid__:0:Ve.__depth-Qe.__depth:Ve.renderOrder-Qe.renderOrder};var Ze={IDENTITY:ce(),WORLD:ce(),VIEW:ce(),PROJECTION:ce(),WORLDVIEW:ce(),VIEWPROJECTION:ce(),WORLDVIEWPROJECTION:ce(),WORLDINVERSE:ce(),VIEWINVERSE:ce(),PROJECTIONINVERSE:ce(),WORLDVIEWINVERSE:ce(),VIEWPROJECTIONINVERSE:ce(),WORLDVIEWPROJECTIONINVERSE:ce(),WORLDTRANSPOSE:ce(),VIEWTRANSPOSE:ce(),PROJECTIONTRANSPOSE:ce(),WORLDVIEWTRANSPOSE:ce(),VIEWPROJECTIONTRANSPOSE:ce(),WORLDVIEWPROJECTIONTRANSPOSE:ce(),WORLDINVERSETRANSPOSE:ce(),VIEWINVERSETRANSPOSE:ce(),PROJECTIONINVERSETRANSPOSE:ce(),WORLDVIEWINVERSETRANSPOSE:ce(),VIEWPROJECTIONINVERSETRANSPOSE:ce(),WORLDVIEWPROJECTIONINVERSETRANSPOSE:ce()};ze.COLOR_BUFFER_BIT=we.a.COLOR_BUFFER_BIT,ze.DEPTH_BUFFER_BIT=we.a.DEPTH_BUFFER_BIT,ze.STENCIL_BUFFER_BIT=we.a.STENCIL_BUFFER_BIT,Ue.a=ze},function(tt,Ue,Ne){"use strict";function Ke(we,Te){this.action=we,this.context=Te}var Be={trigger:function(we){if(this.hasOwnProperty("__handlers__")&&this.__handlers__.hasOwnProperty(we)){var Te=this.__handlers__[we],ke=Te.length,Ie=-1,Ce=arguments;switch(Ce.length){case 1:for(;++Ie<ke;)Te[Ie].action.call(Te[Ie].context);return;case 2:for(;++Ie<ke;)Te[Ie].action.call(Te[Ie].context,Ce[1]);return;case 3:for(;++Ie<ke;)Te[Ie].action.call(Te[Ie].context,Ce[1],Ce[2]);return;case 4:for(;++Ie<ke;)Te[Ie].action.call(Te[Ie].context,Ce[1],Ce[2],Ce[3]);return;case 5:for(;++Ie<ke;)Te[Ie].action.call(Te[Ie].context,Ce[1],Ce[2],Ce[3],Ce[4]);return;default:for(;++Ie<ke;)Te[Ie].action.apply(Te[Ie].context,Array.prototype.slice.call(Ce,1));return}}},on:function(we,Te,ke){if(!(!we||!Te)){var Ie=this.__handlers__||(this.__handlers__={});if(!Ie[we])Ie[we]=[];else if(this.has(we,Te))return;var Ce=new Ke(Te,ke||this);return Ie[we].push(Ce),this}},once:function(we,Te,ke){if(!we||!Te)return;var Ie=this;function Ce(){Ie.off(we,Ce),Te.apply(this,arguments)}return this.on(we,Ce,ke)},before:function(we,Te,ke){if(!(!we||!Te))return we="before"+we,this.on(we,Te,ke)},after:function(we,Te,ke){if(!(!we||!Te))return we="after"+we,this.on(we,Te,ke)},success:function(we,Te){return this.once("success",we,Te)},error:function(we,Te){return this.once("error",we,Te)},off:function(we,Te){var ke=this.__handlers__||(this.__handlers__={});if(!Te){ke[we]=[];return}if(ke[we]){for(var Ie=ke[we],Ce=[],Me=0;Me<Ie.length;Me++)Te&&Ie[Me].action!==Te&&Ce.push(Ie[Me]);ke[we]=Ce}return this},has:function(we,Te){var ke=this.__handlers__;if(!ke||!ke[we])return!1;for(var Ie=ke[we],Ce=0;Ce<Ie.length;Ce++)if(Ie[Ce].action===Te)return!0}};Ue.a=Be},function(tt,Ue,Ne){"use strict";var Ke="__dt__",Be=function(){this._contextId=0,this._caches=[],this._context={}};Be.prototype={use:function(we,Te){var ke=this._caches;ke[we]||(ke[we]={},Te&&(ke[we]=Te())),this._contextId=we,this._context=ke[we]},put:function(we,Te){this._context[we]=Te},get:function(we){return this._context[we]},dirty:function(we){we=we||"";var Te=Ke+we;this.put(Te,!0)},dirtyAll:function(we){we=we||"";for(var Te=Ke+we,ke=this._caches,Ie=0;Ie<ke.length;Ie++)ke[Ie]&&(ke[Ie][Te]=!0)},fresh:function(we){we=we||"";var Te=Ke+we;this.put(Te,!1)},freshAll:function(we){we=we||"";for(var Te=Ke+we,ke=this._caches,Ie=0;Ie<ke.length;Ie++)ke[Ie]&&(ke[Ie][Te]=!1)},isDirty:function(we){we=we||"";var Te=Ke+we,ke=this._context;return!ke.hasOwnProperty(Te)||ke[Te]===!0},deleteContext:function(we){delete this._caches[we],this._context={}},delete:function(we){delete this._context[we]},clearAll:function(){this._caches={}},getContext:function(){return this._context},eachContext:function(we,Te){var ke=Object.keys(this._caches);ke.forEach(function(Ie){we&&we.call(Te,Ie)})},miss:function(we){return!this._context.hasOwnProperty(we)}},Be.prototype.constructor=Be,Ue.a=Be},function(tt,Ue,Ne){"use strict";var Ke=Ne(4),Be=Ne(1),we=Ne.n(Be),Te=we.a.vec3,ke=1e-5,Ie=function(Ce,Me){this.origin=Ce||new Ke.a,this.direction=Me||new Ke.a};Ie.prototype={constructor:Ie,intersectPlane:function(Ce,Me){var je=Ce.normal.array,ye=Ce.distance,ie=this.origin.array,ae=this.direction.array,fe=Te.dot(je,ae);if(fe===0)return null;Me||(Me=new Ke.a);var de=(Te.dot(je,ie)-ye)/fe;return Te.scaleAndAdd(Me.array,ie,ae,-de),Me._dirty=!0,Me},mirrorAgainstPlane:function(Ce){var Me=Te.dot(Ce.normal.array,this.direction.array);Te.scaleAndAdd(this.direction.array,this.direction.array,Ce.normal.array,-Me*2),this.direction._dirty=!0},distanceToPoint:function(){var Ce=Te.create();return function(Me){Te.sub(Ce,Me,this.origin.array);var je=Te.dot(Ce,this.direction.array);if(je<0)return Te.distance(this.origin.array,Me);var ye=Te.lenSquared(Ce);return Math.sqrt(ye-je*je)}}(),intersectSphere:function(){var Ce=Te.create();return function(Me,je,ye){var ie=this.origin.array,ae=this.direction.array;Me=Me.array,Te.sub(Ce,Me,ie);var fe=Te.dot(Ce,ae),de=Te.squaredLength(Ce),ve=de-fe*fe,xe=je*je;if(!(ve>xe)){var ce=Math.sqrt(xe-ve),pe=fe-ce,Se=fe+ce;return ye||(ye=new Ke.a),pe<0?Se<0?null:(Te.scaleAndAdd(ye.array,ie,ae,Se),ye):(Te.scaleAndAdd(ye.array,ie,ae,pe),ye)}}}(),intersectBoundingBox:function(Ce,Me){var je=this.direction.array,ye=this.origin.array,ie=Ce.min.array,ae=Ce.max.array,fe=1/je[0],de=1/je[1],ve=1/je[2],xe,ce,pe,Se,Le,ze;if(fe>=0?(xe=(ie[0]-ye[0])*fe,ce=(ae[0]-ye[0])*fe):(ce=(ie[0]-ye[0])*fe,xe=(ae[0]-ye[0])*fe),de>=0?(pe=(ie[1]-ye[1])*de,Se=(ae[1]-ye[1])*de):(Se=(ie[1]-ye[1])*de,pe=(ae[1]-ye[1])*de),xe>Se||pe>ce||((pe>xe||xe!==xe)&&(xe=pe),(Se<ce||ce!==ce)&&(ce=Se),ve>=0?(Le=(ie[2]-ye[2])*ve,ze=(ae[2]-ye[2])*ve):(ze=(ie[2]-ye[2])*ve,Le=(ae[2]-ye[2])*ve),xe>ze||Le>ce)||((Le>xe||xe!==xe)&&(xe=Le),(ze<ce||ce!==ce)&&(ce=ze),ce<0))return null;var Ze=xe>=0?xe:ce;return Me||(Me=new Ke.a),Te.scaleAndAdd(Me.array,ye,je,Ze),Me},intersectTriangle:function(){var Ce=Te.create(),Me=Te.create(),je=Te.create(),ye=Te.create();return function(ie,ae,fe,de,ve,xe){var ce=this.direction.array,pe=this.origin.array;ie=ie.array,ae=ae.array,fe=fe.array,Te.sub(Ce,ae,ie),Te.sub(Me,fe,ie),Te.cross(ye,Me,ce);var Se=Te.dot(Ce,ye);if(de){if(Se>-ke)return null}else if(Se>-ke&&Se<ke)return null;Te.sub(je,pe,ie);var Le=Te.dot(ye,je)/Se;if(Le<0||Le>1)return null;Te.cross(ye,Ce,je);var ze=Te.dot(ce,ye)/Se;if(ze<0||ze>1||Le+ze>1)return null;Te.cross(ye,Ce,Me);var Ze=-Te.dot(je,ye)/Se;return Ze<0?null:(ve||(ve=new Ke.a),xe&&Ke.a.set(xe,1-Le-ze,Le,ze),Te.scaleAndAdd(ve.array,pe,ce,Ze),ve)}}(),applyTransform:function(Ce){Ke.a.add(this.direction,this.direction,this.origin),Ke.a.transformMat4(this.origin,this.origin,Ce),Ke.a.transformMat4(this.direction,this.direction,Ce),Ke.a.sub(this.direction,this.direction,this.origin),Ke.a.normalize(this.direction,this.direction)},copy:function(Ce){Ke.a.copy(this.origin,Ce.origin),Ke.a.copy(this.direction,Ce.direction)},clone:function(){var Ce=new Ie;return Ce.copy(this),Ce}},Ue.a=Ie},function(tt,Ue,Ne){"use strict";var Ke=Ne(1),Be=Ne.n(Ke),we=Be.a.quat,Te=function(Ce,Me,je,ye){Ce=Ce||0,Me=Me||0,je=je||0,ye=ye===void 0?1:ye,this.array=we.fromValues(Ce,Me,je,ye),this._dirty=!0};Te.prototype={constructor:Te,add:function(Ce){return we.add(this.array,this.array,Ce.array),this._dirty=!0,this},calculateW:function(){return we.calculateW(this.array,this.array),this._dirty=!0,this},set:function(Ce,Me,je,ye){return this.array[0]=Ce,this.array[1]=Me,this.array[2]=je,this.array[3]=ye,this._dirty=!0,this},setArray:function(Ce){return this.array[0]=Ce[0],this.array[1]=Ce[1],this.array[2]=Ce[2],this.array[3]=Ce[3],this._dirty=!0,this},clone:function(){return new Te(this.x,this.y,this.z,this.w)},conjugate:function(){return we.conjugate(this.array,this.array),this._dirty=!0,this},copy:function(Ce){return we.copy(this.array,Ce.array),this._dirty=!0,this},dot:function(Ce){return we.dot(this.array,Ce.array)},fromMat3:function(Ce){return we.fromMat3(this.array,Ce.array),this._dirty=!0,this},fromMat4:function(){var Ce=Be.a.mat3,Me=Ce.create();return function(je){return Ce.fromMat4(Me,je.array),Ce.transpose(Me,Me),we.fromMat3(this.array,Me),this._dirty=!0,this}}(),identity:function(){return we.identity(this.array),this._dirty=!0,this},invert:function(){return we.invert(this.array,this.array),this._dirty=!0,this},len:function(){return we.len(this.array)},length:function(){return we.length(this.array)},lerp:function(Ce,Me,je){return we.lerp(this.array,Ce.array,Me.array,je),this._dirty=!0,this},mul:function(Ce){return we.mul(this.array,this.array,Ce.array),this._dirty=!0,this},mulLeft:function(Ce){return we.multiply(this.array,Ce.array,this.array),this._dirty=!0,this},multiply:function(Ce){return we.multiply(this.array,this.array,Ce.array),this._dirty=!0,this},multiplyLeft:function(Ce){return we.multiply(this.array,Ce.array,this.array),this._dirty=!0,this},normalize:function(){return we.normalize(this.array,this.array),this._dirty=!0,this},rotateX:function(Ce){return we.rotateX(this.array,this.array,Ce),this._dirty=!0,this},rotateY:function(Ce){return we.rotateY(this.array,this.array,Ce),this._dirty=!0,this},rotateZ:function(Ce){return we.rotateZ(this.array,this.array,Ce),this._dirty=!0,this},rotationTo:function(Ce,Me){return we.rotationTo(this.array,Ce.array,Me.array),this._dirty=!0,this},setAxes:function(Ce,Me,je){return we.setAxes(this.array,Ce.array,Me.array,je.array),this._dirty=!0,this},setAxisAngle:function(Ce,Me){return we.setAxisAngle(this.array,Ce.array,Me),this._dirty=!0,this},slerp:function(Ce,Me,je){return we.slerp(this.array,Ce.array,Me.array,je),this._dirty=!0,this},sqrLen:function(){return we.sqrLen(this.array)},squaredLength:function(){return we.squaredLength(this.array)},fromEuler:function(Ce,Me){return Te.fromEuler(this,Ce,Me)},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var ke=Object.defineProperty;if(ke){var Ie=Te.prototype;ke(Ie,"x",{get:function(){return this.array[0]},set:function(Ce){this.array[0]=Ce,this._dirty=!0}}),ke(Ie,"y",{get:function(){return this.array[1]},set:function(Ce){this.array[1]=Ce,this._dirty=!0}}),ke(Ie,"z",{get:function(){return this.array[2]},set:function(Ce){this.array[2]=Ce,this._dirty=!0}}),ke(Ie,"w",{get:function(){return this.array[3]},set:function(Ce){this.array[3]=Ce,this._dirty=!0}})}Te.add=function(Ce,Me,je){return we.add(Ce.array,Me.array,je.array),Ce._dirty=!0,Ce},Te.set=function(Ce,Me,je,ye,ie){we.set(Ce.array,Me,je,ye,ie),Ce._dirty=!0},Te.copy=function(Ce,Me){return we.copy(Ce.array,Me.array),Ce._dirty=!0,Ce},Te.calculateW=function(Ce,Me){return we.calculateW(Ce.array,Me.array),Ce._dirty=!0,Ce},Te.conjugate=function(Ce,Me){return we.conjugate(Ce.array,Me.array),Ce._dirty=!0,Ce},Te.identity=function(Ce){return we.identity(Ce.array),Ce._dirty=!0,Ce},Te.invert=function(Ce,Me){return we.invert(Ce.array,Me.array),Ce._dirty=!0,Ce},Te.dot=function(Ce,Me){return we.dot(Ce.array,Me.array)},Te.len=function(Ce){return we.length(Ce.array)},Te.lerp=function(Ce,Me,je,ye){return we.lerp(Ce.array,Me.array,je.array,ye),Ce._dirty=!0,Ce},Te.slerp=function(Ce,Me,je,ye){return we.slerp(Ce.array,Me.array,je.array,ye),Ce._dirty=!0,Ce},Te.mul=function(Ce,Me,je){return we.multiply(Ce.array,Me.array,je.array),Ce._dirty=!0,Ce},Te.multiply=Te.mul,Te.rotateX=function(Ce,Me,je){return we.rotateX(Ce.array,Me.array,je),Ce._dirty=!0,Ce},Te.rotateY=function(Ce,Me,je){return we.rotateY(Ce.array,Me.array,je),Ce._dirty=!0,Ce},Te.rotateZ=function(Ce,Me,je){return we.rotateZ(Ce.array,Me.array,je),Ce._dirty=!0,Ce},Te.setAxisAngle=function(Ce,Me,je){return we.setAxisAngle(Ce.array,Me.array,je),Ce._dirty=!0,Ce},Te.normalize=function(Ce,Me){return we.normalize(Ce.array,Me.array),Ce._dirty=!0,Ce},Te.sqrLen=function(Ce){return we.sqrLen(Ce.array)},Te.squaredLength=Te.sqrLen,Te.fromMat3=function(Ce,Me){return we.fromMat3(Ce.array,Me.array),Ce._dirty=!0,Ce},Te.setAxes=function(Ce,Me,je,ye){return we.setAxes(Ce.array,Me.array,je.array,ye.array),Ce._dirty=!0,Ce},Te.rotationTo=function(Ce,Me,je){return we.rotationTo(Ce.array,Me.array,je.array),Ce._dirty=!0,Ce},Te.fromEuler=function(Ce,Me,ce){Ce._dirty=!0,Me=Me.array;var ye=Ce.array,ie=Math.cos(Me[0]/2),ae=Math.cos(Me[1]/2),fe=Math.cos(Me[2]/2),de=Math.sin(Me[0]/2),ve=Math.sin(Me[1]/2),xe=Math.sin(Me[2]/2),ce=(ce||"XYZ").toUpperCase();switch(ce){case"XYZ":ye[0]=de*ae*fe+ie*ve*xe,ye[1]=ie*ve*fe-de*ae*xe,ye[2]=ie*ae*xe+de*ve*fe,ye[3]=ie*ae*fe-de*ve*xe;break;case"YXZ":ye[0]=de*ae*fe+ie*ve*xe,ye[1]=ie*ve*fe-de*ae*xe,ye[2]=ie*ae*xe-de*ve*fe,ye[3]=ie*ae*fe+de*ve*xe;break;case"ZXY":ye[0]=de*ae*fe-ie*ve*xe,ye[1]=ie*ve*fe+de*ae*xe,ye[2]=ie*ae*xe+de*ve*fe,ye[3]=ie*ae*fe-de*ve*xe;break;case"ZYX":ye[0]=de*ae*fe-ie*ve*xe,ye[1]=ie*ve*fe+de*ae*xe,ye[2]=ie*ae*xe-de*ve*fe,ye[3]=ie*ae*fe+de*ve*xe;break;case"YZX":ye[0]=de*ae*fe+ie*ve*xe,ye[1]=ie*ve*fe+de*ae*xe,ye[2]=ie*ae*xe-de*ve*fe,ye[3]=ie*ae*fe-de*ve*xe;break;case"XZY":ye[0]=de*ae*fe-ie*ve*xe,ye[1]=ie*ve*fe-de*ae*xe,ye[2]=ie*ae*xe+de*ve*fe,ye[3]=ie*ae*fe+de*ve*xe;break}},Ue.a=Te},function(tt,Ue,Ne){"use strict";var Ke=Ne(28),Be=Ne(9),we=Ne(52),Te=Ne(49),ke=Ne(1),Ie=Ne.n(ke),Ce=Ie.a.vec3,Me=Ie.a.vec4,je=Ke.a.extend(function(){return{projectionMatrix:new Be.a,invProjectionMatrix:new Be.a,viewMatrix:new Be.a,frustum:new we.a}},function(){this.update(!0)},{update:function(ye){Ke.a.prototype.update.call(this,ye),Be.a.invert(this.viewMatrix,this.worldTransform),this.updateProjectionMatrix(),Be.a.invert(this.invProjectionMatrix,this.projectionMatrix),this.frustum.setFromProjection(this.projectionMatrix)},setViewMatrix:function(ye){Be.a.copy(this.viewMatrix,ye),Be.a.invert(this.worldTransform,ye),this.decomposeWorldTransform()},decomposeProjectionMatrix:function(){},setProjectionMatrix:function(ye){Be.a.copy(this.projectionMatrix,ye),Be.a.invert(this.invProjectionMatrix,ye),this.decomposeProjectionMatrix()},updateProjectionMatrix:function(){},castRay:function(){var ye=Me.create();return function(ie,ae){var fe=ae!==void 0?ae:new Te.a,de=ie.array[0],ve=ie.array[1];return Me.set(ye,de,ve,-1,1),Me.transformMat4(ye,ye,this.invProjectionMatrix.array),Me.transformMat4(ye,ye,this.worldTransform.array),Ce.scale(fe.origin.array,ye,1/ye[3]),Me.set(ye,de,ve,1,1),Me.transformMat4(ye,ye,this.invProjectionMatrix.array),Me.transformMat4(ye,ye,this.worldTransform.array),Ce.scale(ye,ye,1/ye[3]),Ce.sub(fe.direction.array,ye,fe.origin.array),Ce.normalize(fe.direction.array,fe.direction.array),fe.direction._dirty=!0,fe.origin._dirty=!0,fe}}()});Ue.a=je},function(tt,Ue,Ne){"use strict";var Ke=Ne(4),Be=Ne(15),we=Ne(67),Te=Ne(1),ke=Ne.n(Te),Ie=ke.a.vec3,Ce=Ie.set,Me=Ie.copy,je=Ie.transformMat4,ye=Math.min,ie=Math.max,ae=function(){this.planes=[];for(var fe=0;fe<6;fe++)this.planes.push(new we.a);this.boundingBox=new Be.a,this.vertices=[];for(var fe=0;fe<8;fe++)this.vertices[fe]=Ie.fromValues(0,0,0)};ae.prototype={setFromProjection:function(fe){var de=this.planes,ve=fe.array,xe=ve[0],ce=ve[1],pe=ve[2],Se=ve[3],Le=ve[4],ze=ve[5],Ze=ve[6],Ve=ve[7],Qe=ve[8],$e=ve[9],gt=ve[10],lt=ve[11],At=ve[12],Et=ve[13],vt=ve[14],Lt=ve[15];Ce(de[0].normal.array,Se-xe,Ve-Le,lt-Qe),de[0].distance=-(Lt-At),de[0].normalize(),Ce(de[1].normal.array,Se+xe,Ve+Le,lt+Qe),de[1].distance=-(Lt+At),de[1].normalize(),Ce(de[2].normal.array,Se+ce,Ve+ze,lt+$e),de[2].distance=-(Lt+Et),de[2].normalize(),Ce(de[3].normal.array,Se-ce,Ve-ze,lt-$e),de[3].distance=-(Lt-Et),de[3].normalize(),Ce(de[4].normal.array,Se-pe,Ve-Ze,lt-gt),de[4].distance=-(Lt-vt),de[4].normalize(),Ce(de[5].normal.array,Se+pe,Ve+Ze,lt+gt),de[5].distance=-(Lt+vt),de[5].normalize();var St=this.boundingBox;if(Lt===0){var xt=ze/xe,ct=-vt/(gt-1),Dt=-vt/(gt+1),Xt=-Dt/ze,kt=-ct/ze;St.min.set(-Xt*xt,-Xt,Dt),St.max.set(Xt*xt,Xt,ct);var Rt=this.vertices;Ce(Rt[0],-Xt*xt,-Xt,Dt),Ce(Rt[1],-Xt*xt,Xt,Dt),Ce(Rt[2],Xt*xt,-Xt,Dt),Ce(Rt[3],Xt*xt,Xt,Dt),Ce(Rt[4],-kt*xt,-kt,ct),Ce(Rt[5],-kt*xt,kt,ct),Ce(Rt[6],kt*xt,-kt,ct),Ce(Rt[7],kt*xt,kt,ct)}else{var Gt=(-1-At)/xe,ln=(1-At)/xe,Rn=(1-Et)/ze,jn=(-1-Et)/ze,er=(-1-vt)/gt,an=(1-vt)/gt;St.min.set(Math.min(Gt,ln),Math.min(jn,Rn),Math.min(an,er)),St.max.set(Math.max(ln,Gt),Math.max(Rn,jn),Math.max(er,an));var Un=St.min.array,Kn=St.max.array,Rt=this.vertices;Ce(Rt[0],Un[0],Un[1],Un[2]),Ce(Rt[1],Un[0],Kn[1],Un[2]),Ce(Rt[2],Kn[0],Un[1],Un[2]),Ce(Rt[3],Kn[0],Kn[1],Un[2]),Ce(Rt[4],Un[0],Un[1],Kn[2]),Ce(Rt[5],Un[0],Kn[1],Kn[2]),Ce(Rt[6],Kn[0],Un[1],Kn[2]),Ce(Rt[7],Kn[0],Kn[1],Kn[2])}},getTransformedBoundingBox:function(){var fe=Ie.create();return function(de,ve){var xe=this.vertices,ce=ve.array,pe=de.min,Se=de.max,Le=pe.array,ze=Se.array,Ze=xe[0];je(fe,Ze,ce),Me(Le,fe),Me(ze,fe);for(var Ve=1;Ve<8;Ve++)Ze=xe[Ve],je(fe,Ze,ce),Le[0]=ye(fe[0],Le[0]),Le[1]=ye(fe[1],Le[1]),Le[2]=ye(fe[2],Le[2]),ze[0]=ie(fe[0],ze[0]),ze[1]=ie(fe[1],ze[1]),ze[2]=ie(fe[2],ze[2]);return pe._dirty=!0,Se._dirty=!0,de}}()},Ue.a=ae},function(tt,Ue){var Ne=function(){this.head=null,this.tail=null,this._len=0},Ke=Ne.prototype;Ke.insert=function(Ie){var Ce=new Be(Ie);return this.insertEntry(Ce),Ce},Ke.insertEntry=function(Ie){this.head?(this.tail.next=Ie,Ie.prev=this.tail,Ie.next=null,this.tail=Ie):this.head=this.tail=Ie,this._len++},Ke.remove=function(Ie){var Ce=Ie.prev,Me=Ie.next;Ce?Ce.next=Me:this.head=Me,Me?Me.prev=Ce:this.tail=Ce,Ie.next=Ie.prev=null,this._len--},Ke.len=function(){return this._len},Ke.clear=function(){this.head=this.tail=null,this._len=0};var Be=function(Ie){this.value=Ie,this.next,this.prev},we=function(Ie){this._list=new Ne,this._map={},this._maxSize=Ie||10,this._lastRemovedEntry=null},Te=we.prototype;Te.put=function(Ie,Ce){var Me=this._list,je=this._map,ye=null;if(je[Ie]==null){var ie=Me.len(),ae=this._lastRemovedEntry;if(ie>=this._maxSize&&ie>0){var fe=Me.head;Me.remove(fe),delete je[fe.key],ye=fe.value,this._lastRemovedEntry=fe}ae?ae.value=Ce:ae=new Be(Ce),ae.key=Ie,Me.insertEntry(ae),je[Ie]=ae}return ye},Te.get=function(Ie){var Ce=this._map[Ie],Me=this._list;if(Ce!=null)return Ce!==Me.tail&&(Me.remove(Ce),Me.insertEntry(Ce)),Ce.value},Te.clear=function(){this._list.clear(),this._map={}};var ke=we;tt.exports=ke},function(tt,Ue,Ne){"use strict";var Ke=Ne(5),Be=Ne(25),we=Ne(102),Te=Ne(55),ke=Ne(56),Ie=Ne(29),Ce=Ne(104),Me=Ne(105),je={loadTexture:function(ye,ie,ae,fe){var de;if(typeof ie=="function"?(ae=ie,fe=ae,ie={}):ie=ie||{},typeof ye=="string"){if(ye.match(/.hdr$/)||ie.fileType==="hdr")return de=new Ke.a({width:0,height:0,sRGB:!1}),je._fetchTexture(ye,function(ve){Me.a.parseRGBE(ve,de,ie.exposure),de.dirty(),ae&&ae(de)},fe),de;ye.match(/.dds$/)||ie.fileType==="dds"?(de=new Ke.a({width:0,height:0}),je._fetchTexture(ye,function(ve){Ce.a.parse(ve,de),de.dirty(),ae&&ae(de)},fe)):(de=new Ke.a,de.load(ye),de.success(ae),de.error(fe))}else if(typeof ye=="object"&&typeof ye.px!="undefined"){var de=new Be.a;de.load(ye),de.success(ae),de.error(fe)}return de},loadPanorama:function(ye,ie,ae,fe,de,ve){var xe=this;typeof fe=="function"?(de=fe,ve=de,fe={}):fe=fe||{},je.loadTexture(ie,fe,function(ce){ce.flipY=fe.flipY||!1,xe.panoramaToCubeMap(ye,ce,ae,fe),ce.dispose(ye),de&&de(ae)},ve)},panoramaToCubeMap:function(ye,ie,ae,fe){var de=new Te.a,ve=new ke.a({scene:new Ie.a});return ve.material.set("diffuseMap",ie),fe=fe||{},fe.encodeRGBM&&ve.material.define("fragment","RGBM_ENCODE"),ae.sRGB=ie.sRGB,de.texture=ae,de.render(ye,ve.scene),de.texture=null,de.dispose(ye),ae},heightToNormal:function(ye,ie){var ae=document.createElement("canvas"),fe=ae.width=ye.width,de=ae.height=ye.height,ve=ae.getContext("2d");ve.drawImage(ye,0,0,fe,de),ie=ie||!1;for(var xe=ve.getImageData(0,0,fe,de),ce=ve.createImageData(fe,de),pe=0;pe<xe.data.length;pe+=4){if(ie){var Se=xe.data[pe],Le=xe.data[pe+1],ze=xe.data[pe+2],Ze=Math.abs(Se-Le)+Math.abs(Le-ze);if(Ze>20)return console.warn("Given image is not a height map"),ye}var Ve,Qe,$e,gt;pe%(fe*4)===0?(Ve=xe.data[pe],$e=xe.data[pe+4]):pe%(fe*4)===(fe-1)*4?(Ve=xe.data[pe-4],$e=xe.data[pe]):(Ve=xe.data[pe-4],$e=xe.data[pe+4]),pe<fe*4?(Qe=xe.data[pe],gt=xe.data[pe+fe*4]):pe>fe*(de-1)*4?(Qe=xe.data[pe-fe*4],gt=xe.data[pe]):(Qe=xe.data[pe-fe*4],gt=xe.data[pe+fe*4]),ce.data[pe]=Ve-$e+127,ce.data[pe+1]=Qe-gt+127,ce.data[pe+2]=255,ce.data[pe+3]=255}return ve.putImageData(ce,0,0),ae},isHeightImage:function(ye,ie,ae){if(!ye||!ye.width||!ye.height)return!1;var fe=document.createElement("canvas"),de=fe.getContext("2d"),ve=ie||32;ae=ae||20,fe.width=fe.height=ve,de.drawImage(ye,0,0,ve,ve);for(var xe=de.getImageData(0,0,ve,ve),ce=0;ce<xe.data.length;ce+=4){var pe=xe.data[ce],Se=xe.data[ce+1],Le=xe.data[ce+2],ze=Math.abs(pe-Se)+Math.abs(Se-Le);if(ze>ae)return!1}return!0},_fetchTexture:function(ye,ie,ae){we.a.get({url:ye,responseType:"arraybuffer",onload:ie,onerror:ae})},createChessboard:function(ye,ie,ae,fe){ye=ye||512,ie=ie||64,ae=ae||"black",fe=fe||"white";var de=Math.ceil(ye/ie),ve=document.createElement("canvas");ve.width=ye,ve.height=ye;var xe=ve.getContext("2d");xe.fillStyle=fe,xe.fillRect(0,0,ye,ye),xe.fillStyle=ae;for(var ce=0;ce<de;ce++)for(var pe=0;pe<de;pe++){var Se=pe%2?ce%2:ce%2-1;Se&&xe.fillRect(ce*ie,pe*ie,ie,ie)}var Le=new Ke.a({image:ve,anisotropic:8});return Le},createBlank:function(ye){var ie=document.createElement("canvas");ie.width=1,ie.height=1;var ae=ie.getContext("2d");ae.fillStyle=ye,ae.fillRect(0,0,1,1);var fe=new Ke.a({image:ie});return fe}};Ue.a=je},function(tt,Ue,Ne){"use strict";var Ke=Ne(8),Be=Ne(4),we=Ne(36),Te=Ne(10),ke=["px","nx","py","ny","pz","nz"],Ie=Ke.a.extend(function(){var Ce={position:new Be.a,far:1e3,near:.1,texture:null,shadowMapPass:null},Me=Ce._cameras={px:new we.a({fov:90}),nx:new we.a({fov:90}),py:new we.a({fov:90}),ny:new we.a({fov:90}),pz:new we.a({fov:90}),nz:new we.a({fov:90})};return Me.px.lookAt(Be.a.POSITIVE_X,Be.a.NEGATIVE_Y),Me.nx.lookAt(Be.a.NEGATIVE_X,Be.a.NEGATIVE_Y),Me.py.lookAt(Be.a.POSITIVE_Y,Be.a.POSITIVE_Z),Me.ny.lookAt(Be.a.NEGATIVE_Y,Be.a.NEGATIVE_Z),Me.pz.lookAt(Be.a.POSITIVE_Z,Be.a.NEGATIVE_Y),Me.nz.lookAt(Be.a.NEGATIVE_Z,Be.a.NEGATIVE_Y),Ce._frameBuffer=new Te.a,Ce},{getCamera:function(Ce){return this._cameras[Ce]},render:function(Ce,Me,je){var ye=Ce.gl;je||Me.update();for(var ie=this.texture.width,ae=2*Math.atan(ie/(ie-.5))/Math.PI*180,fe=0;fe<6;fe++){var de=ke[fe],ve=this._cameras[de];if(Be.a.copy(ve.position,this.position),ve.far=this.far,ve.near=this.near,ve.fov=ae,this.shadowMapPass){ve.update();var xe=Me.getBoundingBox();xe.applyTransform(ve.viewMatrix),Me.viewBoundingBoxLastFrame.copy(xe),this.shadowMapPass.render(Ce,Me,ve,!0)}this._frameBuffer.attach(this.texture,ye.COLOR_ATTACHMENT0,ye.TEXTURE_CUBE_MAP_POSITIVE_X+fe),this._frameBuffer.bind(Ce),Ce.render(Me,ve,!0),this._frameBuffer.unbind(Ce)}},dispose:function(Ce){this._frameBuffer.dispose(Ce)}});Ue.a=Ie},function(tt,Ue,Ne){"use strict";var Ke=Ne(24),Be=Ne(68),we=Ne(7),Te=Ne(17),ke=Ne(103);we.a.import(ke.a);var Ie=Ke.a.extend(function(){var Ce=new we.a(we.a.source("clay.basic.vertex"),we.a.source("clay.basic.fragment")),Me=new Te.a({shader:Ce,depthMask:!1});return Me.enableTexture("diffuseMap"),{scene:null,geometry:new Be.a({widthSegments:30,heightSegments:30}),material:Me,environmentMap:null,culling:!1}},function(){var Ce=this.scene;Ce&&this.attachScene(Ce),this.environmentMap&&this.setEnvironmentMap(this.environmentMap)},{attachScene:function(Ce){this.scene&&this.detachScene(),Ce.skydome=this,this.scene=Ce,Ce.on("beforerender",this._beforeRenderScene,this)},detachScene:function(){this.scene&&(this.scene.off("beforerender",this._beforeRenderScene),this.scene.skydome=null),this.scene=null},_beforeRenderScene:function(Ce,Me,je){this.position.copy(je.getWorldPosition()),this.update(),Ce.renderPass([this],je)},setEnvironmentMap:function(Ce){this.material.set("diffuseMap",Ce)},getEnvironmentMap:function(){return this.material.get("diffuseMap")},dispose:function(Ce){this.detachScene(),this.geometry.dispose(Ce)}});Ue.a=Ie},function(tt,Ue,Ne){"use strict";var Ke=Ne(24),Be=Ne(69),we=Ne(7),Te=Ne(17),ke=Ne(110);we.a.import(ke.a);var Ie=Ke.a.extend(function(){var Ce=new we.a({vertex:we.a.source("clay.skybox.vertex"),fragment:we.a.source("clay.skybox.fragment")}),Me=new Te.a({shader:Ce,depthMask:!1});return{scene:null,geometry:new Be.a,material:Me,environmentMap:null,culling:!1}},function(){var Ce=this.scene;Ce&&this.attachScene(Ce),this.environmentMap&&this.setEnvironmentMap(this.environmentMap)},{attachScene:function(Ce){this.scene&&this.detachScene(),Ce.skybox=this,this.scene=Ce,Ce.on("beforerender",this._beforeRenderScene,this)},detachScene:function(){this.scene&&(this.scene.off("beforerender",this._beforeRenderScene),this.scene.skybox=null),this.scene=null},dispose:function(Ce){this.detachScene(),this.geometry.dispose(Ce)},setEnvironmentMap:function(Ce){this.material.set("environmentMap",Ce)},getEnvironmentMap:function(){return this.material.get("environmentMap")},_beforeRenderScene:function(Ce,Me,je){this.renderSkybox(Ce,je)},renderSkybox:function(Ce,Me){this.position.copy(Me.getWorldPosition()),this.update(),Ce.gl.disable(Ce.gl.BLEND),this.material.get("lod")>0?this.material.define("fragment","LOD"):this.material.undefine("fragment","LOD"),Ce.renderPass([this],Me)}});Ue.a=Ie},function(tt,Ue,Ne){"use strict";var Ke=Ne(2),Be=Ne(143),we=Ne(144);Ke.a.Shader.import(we.a),Ue.a=Ke.a.Mesh.extend(function(){var Te=new Be.a({dynamic:!0}),ke=new Ke.a.Material({shader:Ke.a.createShader("ecgl.labels"),transparent:!0,depthMask:!1});return{geometry:Te,material:ke,culling:!1,castShadow:!1,ignorePicking:!0}})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(2),Te=Ne(186),ke=Ne(22),Ie=Ne(3),Ce=Ne(1),Me=Ne.n(Ce),je=Ne(60),ye=Ne(61),ie=Ne(40),ae=Me.a.vec3;we.a.Shader.import(ie.a);function fe(de){this.rootNode=new we.a.Node,this._triangulationResults={},this._shadersMap=we.a.COMMON_SHADERS.reduce(function(xe,ce){return xe[ce]=we.a.createShader("ecgl."+ce),xe},{}),this._linesShader=we.a.createShader("ecgl.meshLines3D");var ve={};we.a.COMMON_SHADERS.forEach(function(xe){ve[xe]=new we.a.Material({shader:we.a.createShader("ecgl."+xe)})}),this._groundMaterials=ve,this._groundMesh=new we.a.Mesh({geometry:new we.a.PlaneGeometry({dynamic:!0}),castShadow:!1,renderNormal:!0,$ignorePicking:!0}),this._groundMesh.rotation.rotateX(-Math.PI/2),this._labelsBuilder=new ye.a(512,512,de),this._labelsBuilder.getMesh().renderOrder=100,this._labelsBuilder.getMesh().material.depthTest=!1,this.rootNode.add(this._labelsBuilder.getMesh()),this._initMeshes(),this._api=de}fe.prototype={constructor:fe,extrudeY:!0,update:function(de,ve,xe,ce,pe){var Se=de.getData();ce==null&&(ce=0),pe==null&&(pe=Se.count()),this._startIndex=ce,this._endIndex=pe-1,this._triangulation(de,ce,pe);var Le=this._getShader(de.get("shading"));this._prepareMesh(de,Le,xe,ce,pe),this.rootNode.updateWorldTransform(),this._updateRegionMesh(de,xe,ce,pe);var ze=de.coordinateSystem;ze.type==="geo3D"&&this._updateGroundPlane(de,ze,xe);var Ze=this;this._labelsBuilder.updateData(Se,ce,pe),this._labelsBuilder.getLabelPosition=function(Ve,Qe,$e){var gt=Se.getName(Ve),lt,At=$e;if(ze.type==="geo3D"){var Et=ze.getRegion(gt);return lt=Et.center,ze.dataToPoint([lt[0],lt[1],At])}else var vt=Ze._triangulationResults[Ve-Ze._startIndex],lt=Ze.extrudeY?[(vt.max[0]+vt.min[0])/2,vt.max[1]+At,(vt.max[2]+vt.min[2])/2]:[(vt.max[0]+vt.min[0])/2,(vt.max[1]+vt.min[1])/2,vt.max[2]+At]},this._data=Se,this._labelsBuilder.updateLabels(),this._updateDebugWireframe(de),this._lastHoverDataIndex=0},_initMeshes:function(){this.rootNode.removeAll();var de=this;function ve(){var pe=new we.a.Mesh({name:"Polygon",material:new we.a.Material({shader:de._shadersMap.lambert}),culling:!1,geometry:new we.a.Geometry({sortTriangles:!0,dynamic:!0}),ignorePicking:!0,renderNormal:!0});return Be.a.util.extend(pe.geometry,je.a),pe}var xe=ve(),ce=new we.a.Mesh({material:new we.a.Material({shader:this._linesShader}),castShadow:!1,ignorePicking:!0,$ignorePicking:!0,geometry:new ke.a({useNativeLine:!1})});this.rootNode.add(xe),this.rootNode.add(ce),xe.material.define("both","VERTEX_COLOR"),xe.material.define("fragment","DOUBLE_SIDED"),this._polygonMesh=xe,this._linesMesh=ce,this.rootNode.add(this._groundMesh)},_getShader:function(de){var ve=this._shadersMap[de];return ve||(console.warn("Unkown shading "+de),ve=this._shadersMap.lambert),ve.__shading=de,ve},_prepareMesh:function(de,ve,xe,ce,pe){for(var Se=0,Le=0,ze=0,Ze=0,Ve=ce;Ve<pe;Ve++){var Qe=this._getRegionPolygonInfo(Ve),$e=this._getRegionLinesInfo(Ve,de,this._linesMesh.geometry);Se+=Qe.vertexCount,Le+=Qe.triangleCount,ze+=$e.vertexCount,Ze+=$e.triangleCount}var gt=this._polygonMesh,lt=gt.geometry;["position","normal","texcoord0","color"].forEach(function(At){lt.attributes[At].init(Se)}),lt.indices=Se>65535?new Uint32Array(Le*3):new Uint16Array(Le*3),gt.material.shader!==ve&&gt.material.attachShader(ve,!0),we.a.setMaterialFromModel(ve.__shading,gt.material,de,xe),ze>0&&(this._linesMesh.geometry.resetOffset(),this._linesMesh.geometry.setVertexCount(ze),this._linesMesh.geometry.setTriangleCount(Ze)),this._dataIndexOfVertex=new Uint32Array(Se),this._vertexRangeOfDataIndex=new Uint32Array((pe-ce)*2)},_updateRegionMesh:function(de,ve,xe,ce){for(var pe=de.getData(),Se=0,Le=0,ze=!1,Xt=this._polygonMesh,Ze=this._linesMesh,Ve=xe;Ve<ce;Ve++){var Qe=de.getRegionModel(Ve),$e=Qe.getModel("itemStyle"),gt=$e.get("color"),lt=Ie.a.firstNotNull($e.get("opacity"),1),At=pe.getItemVisual(Ve,"color",!0);At!=null&&pe.hasValue(Ve)&&(gt=At),pe.setItemVisual(Ve,"color",gt),pe.setItemVisual(Ve,"opacity",lt),gt=we.a.parseColor(gt);var Et=we.a.parseColor($e.get("borderColor"));gt[3]*=lt,Et[3]*=lt;var vt=gt[3]<.99;Xt.material.set("color",[1,1,1,1]),ze=ze||vt;for(var Lt=Ie.a.firstNotNull(Qe.get("height",!0),de.get("regionHeight")),St=this._updatePolygonGeometry(de,Xt.geometry,Ve,Lt,Se,Le,gt),xt=Se;xt<St.vertexOffset;xt++)this._dataIndexOfVertex[xt]=Ve;this._vertexRangeOfDataIndex[(Ve-xe)*2]=Se,this._vertexRangeOfDataIndex[(Ve-xe)*2+1]=St.vertexOffset,Se=St.vertexOffset,Le=St.triangleOffset;var ct=$e.get("borderWidth"),Dt=ct>0;Dt&&(ct*=ve.getDevicePixelRatio(),this._updateLinesGeometry(Ze.geometry,de,Ve,Lt,ct,de.coordinateSystem.transform)),Ze.invisible=!Dt,Ze.material.set({color:Et})}var Xt=this._polygonMesh;Xt.material.transparent=ze,Xt.material.depthMask=!ze,Xt.geometry.updateBoundingBox(),Xt.material.get("normalMap")&&Xt.geometry.generateTangents(),Xt.seriesIndex=de.seriesIndex,Xt.on("mousemove",this._onmousemove,this),Xt.on("mouseout",this._onmouseout,this)},_updateDebugWireframe:function(de){var ve=de.getModel("debug.wireframe");if(ve.get("show")){var xe=we.a.parseColor(ve.get("lineStyle.color")||"rgba(0,0,0,0.5)"),ce=Ie.a.firstNotNull(ve.get("lineStyle.width"),1),pe=this._polygonMesh;pe.geometry.generateBarycentric(),pe.material.define("both","WIREFRAME_TRIANGLE"),pe.material.set("wireframeLineColor",xe),pe.material.set("wireframeLineWidth",ce)}},_onmousemove:function(de){var ve=this._dataIndexOfVertex[de.triangle[0]];ve==null&&(ve=-1),ve!==this._lastHoverDataIndex&&(this.downplay(this._lastHoverDataIndex),this.highlight(ve)),this._lastHoverDataIndex=ve,this._polygonMesh.dataIndex=ve},_onmouseover:function(de){if(de.target){var ve=de.target.eventData?this._data.indexOfName(de.target.eventData.name):de.target.dataIndex;ve!=null&&(this.highlight(ve),this._labelsBuilder.updateLabels([ve]))}},_onmouseout:function(de){de.target&&(this.downplay(this._lastHoverDataIndex),this._lastHoverDataIndex=-1,this._polygonMesh.dataIndex=-1)},_updateGroundPlane:function(de,ve,xe){var ce=de.getModel("groundPlane",de);if(this._groundMesh.invisible=!ce.get("show",!0),!this._groundMesh.invisible){var pe=de.get("shading"),Se=this._groundMaterials[pe];Se||(console.warn("Unkown shading "+pe),Se=this._groundMaterials.lambert),we.a.setMaterialFromModel(pe,Se,ce,xe),Se.get("normalMap")&&this._groundMesh.geometry.generateTangents(),this._groundMesh.material=Se,this._groundMesh.material.set("color",we.a.parseColor(ce.get("color"))),this._groundMesh.scale.set(ve.size[0],ve.size[2],1)}},_triangulation:function(de,ve,xe){this._triangulationResults=[];for(var ce=[1/0,1/0,1/0],pe=[-1/0,-1/0,-1/0],Se=de.coordinateSystem,Le=ve;Le<xe;Le++){for(var ze=[],Ze=de.getRegionPolygonCoords(Le),Ve=0;Ve<Ze.length;Ve++){var Qe=Ze[Ve].exterior,$e=Ze[Ve].interiors,gt=[],lt=[];if(!(Qe.length<3)){for(var At=0,Et=0;Et<Qe.length;Et++){var vt=Qe[Et];gt[At++]=vt[0],gt[At++]=vt[1]}for(var Et=0;Et<$e.length;Et++)if(!($e[Et].length<3)){for(var Lt=gt.length/2,St=0;St<$e[Et].length;St++){var vt=$e[Et][St];gt.push(vt[0]),gt.push(vt[1])}lt.push(Lt)}for(var xt=Object(Te.a)(gt,lt),ct=new Float64Array(gt.length/2*3),Dt=[],Xt=[1/0,1/0,1/0],kt=[-1/0,-1/0,-1/0],Rt=0,Et=0;Et<gt.length;)ae.set(Dt,gt[Et++],0,gt[Et++]),Se&&Se.transform&&ae.transformMat4(Dt,Dt,Se.transform),ae.min(Xt,Xt,Dt),ae.max(kt,kt,Dt),ct[Rt++]=Dt[0],ct[Rt++]=Dt[1],ct[Rt++]=Dt[2];ae.min(ce,ce,Xt),ae.max(pe,pe,kt),ze.push({points:ct,indices:xt,min:Xt,max:kt})}}this._triangulationResults.push(ze)}this._geoBoundingBox=[ce,pe]},_getRegionPolygonInfo:function(de){for(var ve=this._triangulationResults[de-this._startIndex],xe=0,ce=0,pe=0;pe<ve.length;pe++)xe+=ve[pe].points.length/3,ce+=ve[pe].indices.length/3;var Se=xe*2+xe*4,Le=ce*2+xe*2;return{vertexCount:Se,triangleCount:Le}},_updatePolygonGeometry:function(de,ve,xe,ce,pe,Se,Le){var ze=de.get("projectUVOnGround"),Ze=ve.attributes.position,Ve=ve.attributes.normal,Qe=ve.attributes.texcoord0,$e=ve.attributes.color,gt=this._triangulationResults[xe-this._startIndex],lt=$e.value&&Le,At=ve.indices,Et=this.extrudeY?1:2,vt=this.extrudeY?2:1,Lt=[this.rootNode.worldTransform.x.len(),this.rootNode.worldTransform.y.len(),this.rootNode.worldTransform.z.len()],St=ae.mul([],this._geoBoundingBox[0],Lt),xt=ae.mul([],this._geoBoundingBox[1],Lt),ct=Math.max(xt[0]-St[0],xt[2]-St[2]);function Dt(ut,ot,Pt){for(var Ht=ut.points,Mt=Ht.length,hn=[],rr=[],Jn=0;Jn<Mt;Jn+=3)hn[0]=Ht[Jn],hn[Et]=ot,hn[vt]=Ht[Jn+2],rr[0]=(Ht[Jn]*Lt[0]-St[0])/ct,rr[1]=(Ht[Jn+2]*Lt[vt]-St[2])/ct,Ze.set(pe,hn),lt&&$e.set(pe,Le),Qe.set(pe++,rr)}function Xt(ut,ot,Pt){var Ht=pe;Dt(ut,ot,Pt);for(var Mt=0;Mt<ut.indices.length;Mt++)At[Se*3+Mt]=ut.indices[Mt]+Ht;Se+=ut.indices.length/3}for(var kt=this.extrudeY?[0,1,0]:[0,0,1],Rt=ae.negate([],kt),Gt=0;Gt<gt.length;Gt++){var ln=pe,Rn=gt[Gt];Xt(Rn,0,0),Xt(Rn,ce,0);for(var jn=Rn.points.length/3,er=0;er<jn;er++)Ve.set(ln+er,Rt),Ve.set(ln+er+jn,kt);for(var an=[0,3,1,1,3,2],Un=[[],[],[],[]],Kn=[],ur=[],Xn=[],Nn=[],_n=0,er=0;er<jn;er++){for(var un=(er+1)%jn,qt=(Rn.points[un*3]-Rn.points[er*3])*Lt[0],Yt=(Rn.points[un*3+2]-Rn.points[er*3+2])*Lt[vt],gn=Math.sqrt(qt*qt+Yt*Yt),_t=0;_t<4;_t++){var Jt=_t===0||_t===3,wt=(Jt?er:un)*3;Un[_t][0]=Rn.points[wt],Un[_t][Et]=_t>1?ce:0,Un[_t][vt]=Rn.points[wt+2],Ze.set(pe+_t,Un[_t]),ze?(Nn[0]=(Rn.points[wt]*Lt[0]-St[0])/ct,Nn[1]=(Rn.points[wt+2]*Lt[vt]-St[vt])/ct):(Nn[0]=(Jt?_n:_n+gn)/ct,Nn[1]=(Un[_t][Et]*Lt[Et]-St[Et])/ct),Qe.set(pe+_t,Nn)}ae.sub(Kn,Un[1],Un[0]),ae.sub(ur,Un[3],Un[0]),ae.cross(Xn,Kn,ur),ae.normalize(Xn,Xn);for(var _t=0;_t<4;_t++)Ve.set(pe+_t,Xn),lt&&$e.set(pe+_t,Le);for(var _t=0;_t<6;_t++)At[Se*3+_t]=an[_t]+pe;pe+=4,Se+=2,_n+=gn}}return ve.dirty(),{vertexOffset:pe,triangleOffset:Se}},_getRegionLinesInfo:function(de,ve,xe){var ce=0,pe=0,Se=ve.getRegionModel(de),Le=Se.getModel("itemStyle"),ze=Le.get("borderWidth");if(ze>0){var Ze=ve.getRegionPolygonCoords(de);Ze.forEach(function(Ve){var Qe=Ve.exterior,$e=Ve.interiors;ce+=xe.getPolylineVertexCount(Qe),pe+=xe.getPolylineTriangleCount(Qe);for(var gt=0;gt<$e.length;gt++)ce+=xe.getPolylineVertexCount($e[gt]),pe+=xe.getPolylineTriangleCount($e[gt])},this)}return{vertexCount:ce,triangleCount:pe}},_updateLinesGeometry:function(de,ve,xe,ce,pe,Se){function Le(Ve){for(var Qe=new Float64Array(Ve.length*3),$e=0,gt=[],lt=0;lt<Ve.length;lt++)gt[0]=Ve[lt][0],gt[1]=ce+.1,gt[2]=Ve[lt][1],Se&&ae.transformMat4(gt,gt,Se),Qe[$e++]=gt[0],Qe[$e++]=gt[1],Qe[$e++]=gt[2];return Qe}var ze=[1,1,1,1],Ze=ve.getRegionPolygonCoords(xe);Ze.forEach(function(Ve){var Qe=Ve.exterior,$e=Ve.interiors;de.addPolyline(Le(Qe),ze,pe);for(var gt=0;gt<$e.length;gt++)de.addPolyline(Le($e[gt]),ze,pe)})},highlight:function(de){var ve=this._data;if(ve){var xe=ve.getItemModel(de),ce=xe.getModel("emphasis.itemStyle"),pe=ce.get("color"),Se=Ie.a.firstNotNull(ce.get("opacity"),ve.getItemVisual(de,"opacity"),1);if(pe==null){var Le=ve.getItemVisual(de,"color");pe=Be.a.color.lift(Le,-.4)}Se==null&&(Se=ve.getItemVisual(de,"opacity"));var ze=we.a.parseColor(pe);ze[3]*=Se,this._setColorOfDataIndex(ve,de,ze)}},downplay:function(de){var ve=this._data;if(ve){var xe=ve.getItemVisual(de,"color"),ce=Ie.a.firstNotNull(ve.getItemVisual(de,"opacity"),1),pe=we.a.parseColor(xe);pe[3]*=ce,this._setColorOfDataIndex(ve,de,pe)}},_setColorOfDataIndex:function(de,ve,xe){if(!(ve<this._startIndex&&ve>this._endIndex)){ve-=this._startIndex;for(var ce=this._vertexRangeOfDataIndex[ve*2];ce<this._vertexRangeOfDataIndex[ve*2+1];ce++)this._polygonMesh.geometry.attributes.color.set(ce,xe);this._polygonMesh.geometry.dirty(),this._api.getZr().refresh()}}},Ue.a=fe},function(tt,Ue,Ne){"use strict";var Ke=Ne(81),Be=Ne(1),we=Ne.n(Be),Te=we.a.vec3,ke=Te.create(),Ie=Te.create(),Ce=Te.create();Ue.a={needsSortTriangles:function(){return this.indices&&this.sortTriangles},needsSortTrianglesProgressively:function(){return this.needsSortTriangles()&&this.triangleCount>=2e4},doSortTriangles:function(Me,je){var ye=this.indices;if(je===0){var ie=this.attributes.position,Me=Me.array;(!this._triangleZList||this._triangleZList.length!==this.triangleCount)&&(this._triangleZList=new Float32Array(this.triangleCount),this._sortedTriangleIndices=new Uint32Array(this.triangleCount),this._indicesTmp=new ye.constructor(ye.length),this._triangleZListTmp=new Float32Array(this.triangleCount));for(var ae=0,fe,de=0;de<ye.length;){ie.get(ye[de++],ke),ie.get(ye[de++],Ie),ie.get(ye[de++],Ce);var ve=Te.sqrDist(ke,Me),xe=Te.sqrDist(Ie,Me),ce=Te.sqrDist(Ce,Me),pe=Math.min(ve,xe);pe=Math.min(pe,ce),de===3?(fe=pe,pe=0):pe=pe-fe,this._triangleZList[ae++]=pe}}for(var Se=this._sortedTriangleIndices,de=0;de<Se.length;de++)Se[de]=de;if(this.triangleCount<2e4)je===0&&this._simpleSort(!0);else for(var de=0;de<3;de++)this._progressiveQuickSort(je*3+de);for(var Le=this._indicesTmp,ze=this._triangleZListTmp,Ze=this._triangleZList,de=0;de<this.triangleCount;de++){var Ve=Se[de]*3,Qe=de*3;Le[Qe++]=ye[Ve++],Le[Qe++]=ye[Ve++],Le[Qe]=ye[Ve],ze[de]=Ze[Se[de]]}var $e=this._indicesTmp;this._indicesTmp=this.indices,this.indices=$e;var $e=this._triangleZListTmp;this._triangleZListTmp=this._triangleZList,this._triangleZList=$e,this.dirtyIndices()},_simpleSort:function(Me){var je=this._triangleZList,ye=this._sortedTriangleIndices;function ie(ae,fe){return je[fe]-je[ae]}Me?Array.prototype.sort.call(ye,ie):Ke.a.sort(ye,ie,0,ye.length-1)},_progressiveQuickSort:function(Me){var je=this._triangleZList,ye=this._sortedTriangleIndices;this._quickSort=this._quickSort||new Ke.a,this._quickSort.step(ye,function(ie,ae){return je[ae]-je[ie]},Me)}}},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(73),Te=Ne(58),ke=Ne(3),Ie=1,Ce=2;function Me(je,ye,ie){this._labelsMesh=new Te.a,this._labelTextureSurface=new we.a({width:512,height:512,devicePixelRatio:ie.getDevicePixelRatio(),onupdate:function(){ie.getZr().refresh()}}),this._api=ie,this._labelsMesh.material.set("textureAtlas",this._labelTextureSurface.getTexture())}Me.prototype.getLabelPosition=function(je,ye,ie){return[0,0,0]},Me.prototype.getLabelDistance=function(je,ye,ie){return 0},Me.prototype.getMesh=function(){return this._labelsMesh},Me.prototype.updateData=function(je,ye,ie){ye==null&&(ye=0),ie==null&&(ie=je.count()),(!this._labelsVisibilitiesBits||this._labelsVisibilitiesBits.length!==ie-ye)&&(this._labelsVisibilitiesBits=new Uint8Array(ie-ye));for(var ae=["label","show"],fe=["emphasis","label","show"],de=ye;de<ie;de++){var ve=je.getItemModel(de),xe=ve.get(ae),ce=ve.get(fe);ce==null&&(ce=xe);var pe=(xe?Ie:0)|(ce?Ce:0);this._labelsVisibilitiesBits[de-ye]=pe}this._start=ye,this._end=ie,this._data=je},Me.prototype.updateLabels=function(je){if(this._data){je=je||[];for(var ye=je.length>0,ie={},ae=0;ae<je.length;ae++)ie[je[ae]]=!0;this._labelsMesh.geometry.convertToDynamicArray(!0),this._labelTextureSurface.clear();for(var fe=["label"],de=["emphasis","label"],ve=this._data.hostModel,xe=this._data,ce=ve.getModel(fe),pe=ve.getModel(de,ce),Se={left:"right",right:"left",top:"center",bottom:"center"},Le={left:"middle",right:"middle",top:"bottom",bottom:"top"},ze=this._start;ze<this._end;ze++){var Ze=!1;ye&&ie[ze]&&(Ze=!0);var Ve=this._labelsVisibilitiesBits[ze-this._start]&(Ze?Ce:Ie);if(Ve){var Qe=xe.getItemModel(ze),$e=Qe.getModel(Ze?de:fe,Ze?pe:ce),gt=$e.get("distance")||0,lt=$e.get("position"),At=$e.getModel("textStyle"),Et=this._api.getDevicePixelRatio(),vt=ve.getFormattedLabel(ze,Ze?"emphasis":"normal");if(vt==null||vt==="")return;var Lt=new Be.a.graphic.Text;Be.a.graphic.setTextStyle(Lt.style,At,{text:vt,textFill:At.get("color")||xe.getItemVisual(ze,"color")||"#000",textAlign:"left",textVerticalAlign:"top",opacity:ke.a.firstNotNull(At.get("opacity"),xe.getItemVisual(ze,"opacity"),1)});var St=Lt.getBoundingRect(),xt=1.2;St.height*=xt;var ct=this._labelTextureSurface.add(Lt),Dt=Se[lt]||"center",Xt=Le[lt]||"bottom";this._labelsMesh.geometry.addSprite(this.getLabelPosition(ze,lt,gt),[St.width*Et,St.height*Et],ct,Dt,Xt,this.getLabelDistance(ze,lt,gt)*Et)}}this._labelsMesh.material.set("uvScale",this._labelTextureSurface.getCoordsScale()),this._labelTextureSurface.getZr().refreshImmediately(),this._labelsMesh.geometry.convertToTypedArray(),this._labelsMesh.geometry.dirty()}},Ue.a=Me},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(2),Te=Ne(216),ke=Ne(217),Ie=Ne(61),Ce=Ne(9),Me=Ne(3),je=20,ye=-10;function ie(fe,de){return fe&&de&&fe[0]===de[0]&&fe[1]===de[1]}function ae(fe,de){this.rootNode=new we.a.Node,this.is2D=fe,this._labelsBuilder=new Ie.a(256,256,de),this._labelsBuilder.getMesh().renderOrder=100,this.rootNode.add(this._labelsBuilder.getMesh()),this._api=de,this._spriteImageCanvas=document.createElement("canvas"),this._startDataIndex=0,this._endDataIndex=0,this._sizeScale=1}ae.prototype={constructor:ae,highlightOnMouseover:!0,update:function(fe,de,ve,xe,ce){var pe=this._prevMesh;this._prevMesh=this._mesh,this._mesh=pe;var Se=fe.getData();if(xe==null&&(xe=0),ce==null&&(ce=Se.count()),this._startDataIndex=xe,this._endDataIndex=ce-1,!this._mesh){var Le=this._prevMesh&&this._prevMesh.material;this._mesh=new ke.a({renderOrder:10,frustumCulling:!1}),Le&&(this._mesh.material=Le)}var Le=this._mesh.material,ze=this._mesh.geometry,Ze=ze.attributes;this.rootNode.remove(this._prevMesh),this.rootNode.add(this._mesh),this._setPositionTextureToMesh(this._mesh,this._positionTexture);var Ve=this._getSymbolInfo(fe,xe,ce),Qe=ve.getDevicePixelRatio(),$e=fe.getModel("itemStyle").getItemStyle(),gt=fe.get("large"),lt=1;Ve.maxSize>2?(lt=this._updateSymbolSprite(fe,$e,Ve,Qe),Le.enableTexture("sprite")):Le.disableTexture("sprite"),Ze.position.init(ce-xe);var At=[];if(gt){Le.undefine("VERTEX_SIZE"),Le.undefine("VERTEX_COLOR");var Et=Se.getVisual("color"),vt=Se.getVisual("opacity");we.a.parseColor(Et,At),At[3]*=vt,Le.set({color:At,u_Size:Ve.maxSize*this._sizeScale})}else Le.set({color:[1,1,1,1]}),Le.define("VERTEX_SIZE"),Le.define("VERTEX_COLOR"),Ze.size.init(ce-xe),Ze.color.init(ce-xe),this._originalOpacity=new Float32Array(ce-xe);for(var Lt=Se.getLayout("points"),St=Ze.position.value,xt=!1,ct=0;ct<ce-xe;ct++){var Dt=ct*3,Xt=ct*2;if(this.is2D?(St[Dt]=Lt[Xt],St[Dt+1]=Lt[Xt+1],St[Dt+2]=ye):(St[Dt]=Lt[Dt],St[Dt+1]=Lt[Dt+1],St[Dt+2]=Lt[Dt+2]),!gt){var Et=Se.getItemVisual(ct,"color"),vt=Se.getItemVisual(ct,"opacity");we.a.parseColor(Et,At),At[3]*=vt,Ze.color.set(ct,At),At[3]<.99&&(xt=!0);var kt=Se.getItemVisual(ct,"symbolSize");kt=kt instanceof Array?Math.max(kt[0],kt[1]):kt,isNaN(kt)&&(kt=0),Ze.size.value[ct]=kt*lt*this._sizeScale,this._originalOpacity[ct]=At[3]}}this._mesh.sizeScale=lt,ze.updateBoundingBox(),ze.dirty(),this._updateMaterial(fe,$e);var Rt=fe.coordinateSystem;if(Rt&&Rt.viewGL){var Gt=Rt.viewGL.isLinearSpace()?"define":"undefine";Le[Gt]("fragment","SRGB_DECODE")}gt||this._updateLabelBuilder(fe,xe,ce),this._updateHandler(fe,de,ve),this._updateAnimation(fe),this._api=ve},getPointsMesh:function(){return this._mesh},updateLabels:function(fe){this._labelsBuilder.updateLabels(fe)},hideLabels:function(){this.rootNode.remove(this._labelsBuilder.getMesh())},showLabels:function(){this.rootNode.add(this._labelsBuilder.getMesh())},_updateSymbolSprite:function(fe,de,ve,xe){ve.maxSize=Math.min(ve.maxSize*2,200);var ce=[];return ve.aspect>1?(ce[0]=ve.maxSize,ce[1]=ve.maxSize/ve.aspect):(ce[1]=ve.maxSize,ce[0]=ve.maxSize*ve.aspect),ce[0]=ce[0]||1,ce[1]=ce[1]||1,(this._symbolType!==ve.type||!ie(this._symbolSize,ce)||this._lineWidth!==de.lineWidth)&&(Te.a.createSymbolSprite(ve.type,ce,{fill:"#fff",lineWidth:de.lineWidth,stroke:"transparent",shadowColor:"transparent",minMargin:Math.min(ce[0]/2,10)},this._spriteImageCanvas),Te.a.createSDFFromCanvas(this._spriteImageCanvas,Math.min(this._spriteImageCanvas.width,32),je,this._mesh.material.get("sprite").image),this._symbolType=ve.type,this._symbolSize=ce,this._lineWidth=de.lineWidth),this._spriteImageCanvas.width/ve.maxSize*xe},_updateMaterial:function(fe,de){var ve=fe.get("blendMode")==="lighter"?we.a.additiveBlend:null,xe=this._mesh.material;xe.blend=ve,xe.set("lineWidth",de.lineWidth/je);var ce=we.a.parseColor(de.stroke);xe.set("strokeColor",ce),xe.transparent=!0,xe.depthMask=!1,xe.depthTest=!this.is2D,xe.sortVertices=!this.is2D},_updateLabelBuilder:function(fe,Se,ve){var xe=fe.getData(),ce=this._mesh.geometry,pe=ce.attributes.position.value,Se=this._startDataIndex,Le=this._mesh.sizeScale;this._labelsBuilder.updateData(xe,Se,ve),this._labelsBuilder.getLabelPosition=function(ze,Ze,Ve){var Qe=(ze-Se)*3;return[pe[Qe],pe[Qe+1],pe[Qe+2]]},this._labelsBuilder.getLabelDistance=function(ze,Ze,Ve){var Qe=ce.attributes.size.get(ze-Se)/Le;return Qe/2+Ve},this._labelsBuilder.updateLabels()},_updateAnimation:function(fe){we.a.updateVertexAnimation([["prevPosition","position"],["prevSize","size"]],this._prevMesh,this._mesh,fe)},_updateHandler:function(fe,de,ve){var xe=fe.getData(),ce=this._mesh,pe=this,Se=-1,Le=fe.coordinateSystem&&fe.coordinateSystem.type==="cartesian3D",ze;Le&&(ze=fe.coordinateSystem.model),ce.seriesIndex=fe.seriesIndex,ce.off("mousemove"),ce.off("mouseout"),ce.on("mousemove",function(Ze){var Ve=Ze.vertexIndex+pe._startDataIndex;Ve!==Se&&(this.highlightOnMouseover&&(this.downplay(xe,Se),this.highlight(xe,Ve),this._labelsBuilder.updateLabels([Ve])),Le&&ve.dispatchAction({type:"grid3DShowAxisPointer",value:[xe.get(fe.coordDimToDataDim("x")[0],Ve),xe.get(fe.coordDimToDataDim("y")[0],Ve),xe.get(fe.coordDimToDataDim("z")[0],Ve)],grid3DIndex:ze.componentIndex})),ce.dataIndex=Ve,Se=Ve},this),ce.on("mouseout",function(Ze){var Ve=Ze.vertexIndex+pe._startDataIndex;this.highlightOnMouseover&&(this.downplay(xe,Ve),this._labelsBuilder.updateLabels()),Se=-1,ce.dataIndex=-1,Le&&ve.dispatchAction({type:"grid3DHideAxisPointer",grid3DIndex:ze.componentIndex})},this)},updateLayout:function(fe,de,ve){var xe=fe.getData();if(this._mesh){var ce=this._mesh.geometry.attributes.position.value,pe=xe.getLayout("points");if(this.is2D)for(var Se=0;Se<pe.length/2;Se++){var Le=Se*3,ze=Se*2;ce[Le]=pe[ze],ce[Le+1]=pe[ze+1],ce[Le+2]=ye}else for(var Se=0;Se<pe.length;Se++)ce[Se]=pe[Se];this._mesh.geometry.dirty(),ve.getZr().refresh()}},updateView:function(fe){if(this._mesh){var de=new Ce.a;Ce.a.mul(de,fe.viewMatrix,this._mesh.worldTransform),Ce.a.mul(de,fe.projectionMatrix,de),this._mesh.updateNDCPosition(de,this.is2D,this._api)}},highlight:function(fe,de){if(!(de>this._endDataIndex||de<this._startDataIndex)){var ve=fe.getItemModel(de),xe=ve.getModel("emphasis.itemStyle"),ce=xe.get("color"),pe=xe.get("opacity");if(ce==null){var Se=fe.getItemVisual(de,"color");ce=Be.a.color.lift(Se,-.4)}pe==null&&(pe=fe.getItemVisual(de,"opacity"));var Le=we.a.parseColor(ce);Le[3]*=pe,this._mesh.geometry.attributes.color.set(de-this._startDataIndex,Le),this._mesh.geometry.dirtyAttribute("color"),this._api.getZr().refresh()}},downplay:function(fe,de){if(!(de>this._endDataIndex||de<this._startDataIndex)){var ve=fe.getItemVisual(de,"color"),xe=fe.getItemVisual(de,"opacity"),ce=we.a.parseColor(ve);ce[3]*=xe,this._mesh.geometry.attributes.color.set(de-this._startDataIndex,ce),this._mesh.geometry.dirtyAttribute("color"),this._api.getZr().refresh()}},fadeOutAll:function(fe){if(this._originalOpacity){for(var de=this._mesh.geometry,ve=0;ve<de.vertexCount;ve++){var xe=this._originalOpacity[ve]*fe;de.attributes.color.value[ve*4+3]=xe}de.dirtyAttribute("color"),this._api.getZr().refresh()}},fadeInAll:function(){this.fadeOutAll(1)},setPositionTexture:function(fe){this._mesh&&this._setPositionTextureToMesh(this._mesh,fe),this._positionTexture=fe},removePositionTexture:function(){this._positionTexture=null,this._mesh&&this._setPositionTextureToMesh(this._mesh,null)},setSizeScale:function(fe){if(fe!==this._sizeScale){if(this._mesh){var de=this._mesh.material.get("u_Size");this._mesh.material.set("u_Size",de/this._sizeScale*fe);var ve=this._mesh.geometry.attributes;if(ve.size.value)for(var xe=0;xe<ve.size.value.length;xe++)ve.size.value[xe]=ve.size.value[xe]/this._sizeScale*fe}this._sizeScale=fe}},_setPositionTextureToMesh:function(fe,de){de&&fe.material.set("positionTexture",de),fe.material[de?"enableTexture":"disableTexture"]("positionTexture")},_getSymbolInfo:function(fe,de,ve){if(fe.get("large")){var xe=Me.a.firstNotNull(fe.get("symbolSize"),1),Ze,pe;return xe instanceof Array?(Ze=Math.max(xe[0],xe[1]),pe=xe[0]/xe[1]):(Ze=xe,pe=1),{maxSize:xe,type:fe.get("symbol"),aspect:pe}}for(var ce=fe.getData(),pe,Se=!1,Le=ce.getItemVisual(0,"symbol")||"circle",ze=!1,Ze=0,Ve=de;Ve<ve;Ve++){var xe=ce.getItemVisual(Ve,"symbolSize"),Qe=ce.getItemVisual(Ve,"symbol"),$e;if(xe instanceof Array)$e=xe[0]/xe[1],Ze=Math.max(Math.max(xe[0],xe[1]),Ze);else{if(isNaN(xe))return;$e=1,Ze=Math.max(xe,Ze)}pe!=null&&Math.abs($e-pe)>.05&&(Se=!0),Qe!==Le&&(ze=!0),Le=Qe,pe=$e}return Se&&console.warn("Different symbol width / height ratio will be ignored."),ze&&console.warn("Different symbol type will be ignored."),{maxSize:Ze,type:Le,aspect:pe}}},Ue.a=ae},function(tt,Ue,Ne){"use strict";Ue.a=`@export clay.prez.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
@import clay.chunk.skinning_header
void main()
{
vec3 skinnedPosition = position;
#ifdef SKINNING
@import clay.chunk.skin_matrix
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
#endif
gl_Position = worldViewProjection * vec4(skinnedPosition, 1.0);
}
@end
@export clay.prez.fragment
void main()
{
gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);
}
@end`},function(tt,Ue,Ne){"use strict";var Ke=Ne(28),Be=Ne(11),we=0,Te=null,ke=!0,Ie,Ce=function(){this.triangleCount=0,this.vertexCount=0,this.drawCallCount=0};function Me(ye,ie,ae){this.availableAttributes=ye,this.availableAttributeSymbols=ie,this.indicesBuffer=ae,this.vao=null}var je=Ke.a.extend({material:null,geometry:null,mode:Be.a.TRIANGLES,_drawCache:null,_renderInfo:null},function(){this._drawCache={},this._renderInfo=new Ce},{__program:null,lightGroup:0,renderOrder:0,lineWidth:1,culling:!0,cullFace:Be.a.BACK,frontFace:Be.a.CCW,frustumCulling:!0,receiveShadow:!0,castShadow:!0,ignorePicking:!1,ignorePreZ:!1,ignoreGBuffer:!1,isRenderable:function(){return this.geometry&&this.material&&this.material.shader&&!this.invisible&&this.geometry.vertexCount>0},beforeRender:function(ye){},afterRender:function(ye,ie){},getBoundingBox:function(ye,ie){return ie=Ke.a.prototype.getBoundingBox.call(this,ye,ie),this.geometry&&this.geometry.boundingBox&&ie.union(this.geometry.boundingBox),ie},render:function(ye,ie,ae){var fe=ye.gl;ie=ie||this.material;var de=ie.shader,ve=this.geometry,xe=this.mode,ce=ve.vertexCount,pe=ve.isUseIndices(),Se=ye.getGLExtension("OES_element_index_uint"),Le=Se&&ce>65535,ze=Le?fe.UNSIGNED_INT:fe.UNSIGNED_SHORT,Ze=ye.getGLExtension("OES_vertex_array_object"),Ve=!ve.dynamic,Qe=this._renderInfo;Qe.vertexCount=ce,Qe.triangleCount=0,Qe.drawCallCount=0;var $e=!1;if(Ie=ye.__uid__+"-"+ve.__uid__+"-"+ae.__uid__,(Ie!==we||Ze&&Ve||ve._cache.isDirty("any"))&&($e=!0),we=Ie,!$e)ke?(fe.drawElements(xe,Te.count,ze,0),Qe.triangleCount=Te.count/3):fe.drawArrays(xe,0,ce),Qe.drawCallCount=1;else{var gt=this._drawCache[Ie];if(!gt){var lt=ve.getBufferChunks(ye);if(!lt)return;gt=[];for(var At=0;At<lt.length;At++){for(var Et=lt[At],vt=Et.attributeBuffers,Lt=Et.indicesBuffer,St=[],xt=[],ct=0;ct<vt.length;ct++){var Dt=vt[ct],Xt=Dt.name,kt=Dt.semantic,Rt;if(kt){var Gt=de.attributeSemantics[kt];Rt=Gt&&Gt.symbol}else Rt=Xt;Rt&&ae.attributes[Rt]&&(St.push(Dt),xt.push(Rt))}var ln=new Me(St,xt,Lt);gt.push(ln)}Ve&&(this._drawCache[Ie]=gt)}for(var Rn=0;Rn<gt.length;Rn++){var ln=gt[Rn],jn=!0;Ze&&Ve&&(ln.vao==null?ln.vao=Ze.createVertexArrayOES():jn=!1,Ze.bindVertexArrayOES(ln.vao));var St=ln.availableAttributes,Lt=ln.indicesBuffer;if(jn)for(var er=ae.enableAttributes(ye,ln.availableAttributeSymbols,Ze&&Ve&&ln.vao),ct=0;ct<St.length;ct++){var an=er[ct];if(an!==-1){var Dt=St[ct],Un=Dt.buffer,Kn=Dt.size,ur;switch(Dt.type){case"float":ur=fe.FLOAT;break;case"byte":ur=fe.BYTE;break;case"ubyte":ur=fe.UNSIGNED_BYTE;break;case"short":ur=fe.SHORT;break;case"ushort":ur=fe.UNSIGNED_SHORT;break;default:ur=fe.FLOAT;break}fe.bindBuffer(fe.ARRAY_BUFFER,Un),fe.vertexAttribPointer(an,Kn,ur,!1,0,0)}}(xe==Be.a.LINES||xe==Be.a.LINE_STRIP||xe==Be.a.LINE_LOOP)&&fe.lineWidth(this.lineWidth),Te=Lt,ke=ve.isUseIndices(),ke?(jn&&fe.bindBuffer(fe.ELEMENT_ARRAY_BUFFER,Lt.buffer),fe.drawElements(xe,Lt.count,ze,0),Qe.triangleCount+=Lt.count/3):fe.drawArrays(xe,0,ce),Ze&&Ve&&Ze.bindVertexArrayOES(null),Qe.drawCallCount++}}return Qe},clone:function(){var ye=["castShadow","receiveShadow","mode","culling","cullFace","frontFace","frustumCulling","renderOrder","lineWidth","ignorePicking","ignorePreZ","ignoreGBuffer"];return function(){var ie=Ke.a.prototype.clone.call(this);ie.geometry=this.geometry,ie.material=this.material;for(var ae=0;ae<ye.length;ae++){var fe=ye[ae];ie[fe]!==this[fe]&&(ie[fe]=this[fe])}return ie}}()});je.POINTS=Be.a.POINTS,je.LINES=Be.a.LINES,je.LINE_LOOP=Be.a.LINE_LOOP,je.LINE_STRIP=Be.a.LINE_STRIP,je.TRIANGLES=Be.a.TRIANGLES,je.TRIANGLE_STRIP=Be.a.TRIANGLE_STRIP,je.TRIANGLE_FAN=Be.a.TRIANGLE_FAN,je.BACK=Be.a.BACK,je.FRONT=Be.a.FRONT,je.FRONT_AND_BACK=Be.a.FRONT_AND_BACK,je.CW=Be.a.CW,je.CCW=Be.a.CCW,je.RenderInfo=Ce,Ue.a=je},function(tt,Ue){var Ne=typeof window!="undefined"&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(Ke){setTimeout(Ke,16)};tt.exports=Ne},function(tt,Ue,Ne){"use strict";var Ke={};Ke.isPowerOfTwo=function(Be){return(Be&Be-1)===0},Ke.nextPowerOfTwo=function(Be){return Be--,Be|=Be>>1,Be|=Be>>2,Be|=Be>>4,Be|=Be>>8,Be|=Be>>16,Be++,Be},Ke.nearestPowerOfTwo=function(Be){return Math.pow(2,Math.round(Math.log(Be)/Math.LN2))},Ue.a=Ke},function(tt,Ue,Ne){"use strict";var Ke=Ne(4),Be=Ne(1),we=Ne.n(Be),Te=we.a.vec3,ke=we.a.mat4,Ie=we.a.vec4,Ce=function(Me,je){this.normal=Me||new Ke.a(0,1,0),this.distance=je||0};Ce.prototype={constructor:Ce,distanceToPoint:function(Me){return Te.dot(Me.array,this.normal.array)-this.distance},projectPoint:function(Me,je){je||(je=new Ke.a);var ye=this.distanceToPoint(Me);return Te.scaleAndAdd(je.array,Me.array,this.normal.array,-ye),je._dirty=!0,je},normalize:function(){var Me=1/Te.len(this.normal.array);Te.scale(this.normal.array,Me),this.distance*=Me},intersectFrustum:function(Me){for(var je=Me.vertices,ye=this.normal.array,ie=Te.dot(je[0].array,ye)>this.distance,ae=1;ae<8;ae++)if(Te.dot(je[ae].array,ye)>this.distance!=ie)return!0},intersectLine:function(){var Me=Te.create();return function(je,ye,ie){var ae=this.distanceToPoint(je),fe=this.distanceToPoint(ye);if(ae>0&&fe>0||ae<0&&fe<0)return null;var de=this.normal.array,ve=this.distance,xe=je.array;Te.sub(Me,ye.array,je.array),Te.normalize(Me,Me);var ce=Te.dot(de,Me);if(ce===0)return null;ie||(ie=new Ke.a);var pe=(Te.dot(de,xe)-ve)/ce;return Te.scaleAndAdd(ie.array,xe,Me,-pe),ie._dirty=!0,ie}}(),applyTransform:function(){var Me=ke.create(),je=Ie.create(),ye=Ie.create();return ye[3]=1,function(ie){ie=ie.array,Te.scale(ye,this.normal.array,this.distance),Ie.transformMat4(ye,ye,ie),this.distance=Te.dot(ye,this.normal.array),ke.invert(Me,ie),ke.transpose(Me,Me),je[3]=0,Te.copy(je,this.normal.array),Ie.transformMat4(je,je,Me),Te.copy(this.normal.array,je)}}(),copy:function(Me){Te.copy(this.normal.array,Me.normal.array),this.normal._dirty=!0,this.distance=Me.distance},clone:function(){var Me=new Ce;return Me.copy(this),Me}},Ue.a=Ce},function(tt,Ue,Ne){"use strict";var Ke=Ne(13),Be=Ne(15),we=Ke.a.extend({dynamic:!1,widthSegments:40,heightSegments:20,phiStart:0,phiLength:Math.PI*2,thetaStart:0,thetaLength:Math.PI,radius:1},function(){this.build()},{build:function(){var Te=this.heightSegments,ke=this.widthSegments,Ie=this.attributes.position,Ce=this.attributes.texcoord0,Me=this.attributes.normal,je=(ke+1)*(Te+1);Ie.init(je),Ce.init(je),Me.init(je);var ye=je>65535?Uint32Array:Uint16Array,ie=this.indices=new ye(ke*Te*6),ae,fe,de,ve,xe,ce,pe,Ve=this.radius,Se=this.phiStart,Le=this.phiLength,ze=this.thetaStart,Ze=this.thetaLength,Ve=this.radius,Qe=[],$e=[],gt=0,lt=1/Ve;for(pe=0;pe<=Te;pe++)for(ce=0;ce<=ke;ce++)ve=ce/ke,xe=pe/Te,ae=-Ve*Math.cos(Se+ve*Le)*Math.sin(ze+xe*Ze),fe=Ve*Math.cos(ze+xe*Ze),de=Ve*Math.sin(Se+ve*Le)*Math.sin(ze+xe*Ze),Qe[0]=ae,Qe[1]=fe,Qe[2]=de,$e[0]=ve,$e[1]=xe,Ie.set(gt,Qe),Ce.set(gt,$e),Qe[0]*=lt,Qe[1]*=lt,Qe[2]*=lt,Me.set(gt,Qe),gt++;var At,Et,vt,Lt,St=ke+1,xt=0;for(pe=0;pe<Te;pe++)for(ce=0;ce<ke;ce++)Et=pe*St+ce,At=pe*St+ce+1,Lt=(pe+1)*St+ce+1,vt=(pe+1)*St+ce,ie[xt++]=At,ie[xt++]=Et,ie[xt++]=Lt,ie[xt++]=Et,ie[xt++]=vt,ie[xt++]=Lt;this.boundingBox=new Be.a,this.boundingBox.max.set(Ve,Ve,Ve),this.boundingBox.min.set(-Ve,-Ve,-Ve)}});Ue.a=we},function(tt,Ue,Ne){"use strict";var Ke=Ne(13),Be=Ne(37),we=Ne(9),Te=Ne(4),ke=Ne(15),Ie=Ne(18),Ce=new we.a,Me=Ke.a.extend({dynamic:!1,widthSegments:1,heightSegments:1,depthSegments:1,inside:!1},function(){this.build()},{build:function(){var ye={px:je("px",this.depthSegments,this.heightSegments),nx:je("nx",this.depthSegments,this.heightSegments),py:je("py",this.widthSegments,this.depthSegments),ny:je("ny",this.widthSegments,this.depthSegments),pz:je("pz",this.widthSegments,this.heightSegments),nz:je("nz",this.widthSegments,this.heightSegments)},ie=["position","texcoord0","normal"],ae=0,fe=0;for(var de in ye)ae+=ye[de].vertexCount,fe+=ye[de].indices.length;for(var ve=0;ve<ie.length;ve++)this.attributes[ie[ve]].init(ae);this.indices=new Ie.a.Uint16Array(fe);var xe=0,ce=0;for(var de in ye){for(var pe=ye[de],ve=0;ve<ie.length;ve++)for(var Se=ie[ve],Le=pe.attributes[Se].value,ze=pe.attributes[Se].size,Ze=Se==="normal",Ve=0;Ve<Le.length;Ve++){var Qe=Le[Ve];this.inside&&Ze&&(Qe=-Qe),this.attributes[Se].value[Ve+ze*ce]=Qe}for(var $e=pe.indices.length,Ve=0;Ve<pe.indices.length;Ve++)this.indices[Ve+xe]=ce+pe.indices[this.inside?$e-Ve-1:Ve];xe+=pe.indices.length,ce+=pe.vertexCount}this.boundingBox=new ke.a,this.boundingBox.max.set(1,1,1),this.boundingBox.min.set(-1,-1,-1)}});function je(ye,ie,ae){Ce.identity();var fe=new Be.a({widthSegments:ie,heightSegments:ae});switch(ye){case"px":we.a.translate(Ce,Ce,Te.a.POSITIVE_X),we.a.rotateY(Ce,Ce,Math.PI/2);break;case"nx":we.a.translate(Ce,Ce,Te.a.NEGATIVE_X),we.a.rotateY(Ce,Ce,-Math.PI/2);break;case"py":we.a.translate(Ce,Ce,Te.a.POSITIVE_Y),we.a.rotateX(Ce,Ce,-Math.PI/2);break;case"ny":we.a.translate(Ce,Ce,Te.a.NEGATIVE_Y),we.a.rotateX(Ce,Ce,Math.PI/2);break;case"pz":we.a.translate(Ce,Ce,Te.a.POSITIVE_Z);break;case"nz":we.a.translate(Ce,Ce,Te.a.NEGATIVE_Z),we.a.rotateY(Ce,Ce,Math.PI);break}return fe.applyTransform(Ce),fe}Ue.a=Me},function(tt,Ue,Ne){"use strict";var Ke=Ne(19),Be=Ne(4),we=Ke.a.extend({shadowBias:.001,shadowSlopeScale:2,shadowCascade:1,cascadeSplitLogFactor:.2},{type:"DIRECTIONAL_LIGHT",uniformTemplates:{directionalLightDirection:{type:"3f",value:function(Te){return Te.__dir=Te.__dir||new Be.a,Te.__dir.copy(Te.worldTransform.z).normalize().negate().array}},directionalLightColor:{type:"3f",value:function(Te){var ke=Te.color,Ie=Te.intensity;return[ke[0]*Ie,ke[1]*Ie,ke[2]*Ie]}}},clone:function(){var Te=Ke.a.prototype.clone.call(this);return Te.shadowBias=this.shadowBias,Te.shadowSlopeScale=this.shadowSlopeScale,Te}});Ue.a=we},function(tt,Ue,Ne){"use strict";var Ke=Ne(19),Be=Ke.a.extend({range:100,castShadow:!1},{type:"POINT_LIGHT",uniformTemplates:{pointLightPosition:{type:"3f",value:function(we){return we.getWorldPosition().array}},pointLightRange:{type:"1f",value:function(we){return we.range}},pointLightColor:{type:"3f",value:function(we){var Te=we.color,ke=we.intensity;return[Te[0]*ke,Te[1]*ke,Te[2]*ke]}}},clone:function(){var we=Ke.a.prototype.clone.call(this);return we.range=this.range,we}});Ue.a=Be},function(tt,Ue,Ne){"use strict";var Ke=Ne(19),Be=Ne(4),we=Ke.a.extend({range:20,umbraAngle:30,penumbraAngle:45,falloffFactor:2,shadowBias:2e-4,shadowSlopeScale:2},{type:"SPOT_LIGHT",uniformTemplates:{spotLightPosition:{type:"3f",value:function(Te){return Te.getWorldPosition().array}},spotLightRange:{type:"1f",value:function(Te){return Te.range}},spotLightUmbraAngleCosine:{type:"1f",value:function(Te){return Math.cos(Te.umbraAngle*Math.PI/180)}},spotLightPenumbraAngleCosine:{type:"1f",value:function(Te){return Math.cos(Te.penumbraAngle*Math.PI/180)}},spotLightFalloffFactor:{type:"1f",value:function(Te){return Te.falloffFactor}},spotLightDirection:{type:"3f",value:function(Te){return Te.__dir=Te.__dir||new Be.a,Te.__dir.copy(Te.worldTransform.z).negate().array}},spotLightColor:{type:"3f",value:function(Te){var ke=Te.color,Ie=Te.intensity;return[ke[0]*Ie,ke[1]*Ie,ke[2]*Ie]}}},clone:function(){var Te=Ke.a.prototype.clone.call(this);return Te.range=this.range,Te.umbraAngle=this.umbraAngle,Te.penumbraAngle=this.penumbraAngle,Te.falloffFactor=this.falloffFactor,Te.shadowBias=this.shadowBias,Te.shadowSlopeScale=this.shadowSlopeScale,Te}});Ue.a=we},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(5);function Te(Ie,Ce,Me,je,ye,ie,ae){this._zr=Ie,this._x=0,this._y=0,this._rowHeight=0,this.width=je,this.height=ye,this.offsetX=Ce,this.offsetY=Me,this.dpr=ae,this.gap=ie}Te.prototype={constructor:Te,clear:function(){this._x=0,this._y=0,this._rowHeight=0},add:function(Ie,Ce,Me){var je=Ie.getBoundingRect();Ce==null&&(Ce=je.width),Me==null&&(Me=je.height),Ce*=this.dpr,Me*=this.dpr,this._fitElement(Ie,Ce,Me);var ye=this._x,ie=this._y,ae=this.width*this.dpr,fe=this.height*this.dpr,de=this.gap;if(ye+Ce+de>ae&&(ye=this._x=0,ie+=this._rowHeight+de,this._y=ie,this._rowHeight=0),this._x+=Ce+de,this._rowHeight=Math.max(this._rowHeight,Me),ie+Me+de>fe)return null;Ie.position[0]+=this.offsetX*this.dpr+ye,Ie.position[1]+=this.offsetY*this.dpr+ie,this._zr.add(Ie);var ve=[this.offsetX/this.width,this.offsetY/this.height],xe=[[ye/ae+ve[0],ie/fe+ve[1]],[(ye+Ce)/ae+ve[0],(ie+Me)/fe+ve[1]]];return xe},_fitElement:function(Ie,Ce,Me){var je=Ie.getBoundingRect(),ye=Ce/je.width,ie=Me/je.height;Ie.position=[-je.x*ye,-je.y*ie],Ie.scale=[ye,ie],Ie.update()}};function ke(Ie){Ie=Ie||{},Ie.width=Ie.width||512,Ie.height=Ie.height||512,Ie.devicePixelRatio=Ie.devicePixelRatio||1,Ie.gap=Ie.gap==null?2:Ie.gap;var Ce=document.createElement("canvas");Ce.width=Ie.width*Ie.devicePixelRatio,Ce.height=Ie.height*Ie.devicePixelRatio,this._canvas=Ce,this._texture=new we.a({image:Ce,flipY:!1});var Me=this;this._zr=Be.a.zrender.init(Ce);var je=this._zr.refreshImmediately;this._zr.refreshImmediately=function(){je.call(this),Me._texture.dirty(),Me.onupdate&&Me.onupdate()},this._dpr=Ie.devicePixelRatio,this._coords={},this.onupdate=Ie.onupdate,this._gap=Ie.gap,this._textureAtlasNodes=[new Te(this._zr,0,0,Ie.width,Ie.height,this._gap,this._dpr)],this._nodeWidth=Ie.width,this._nodeHeight=Ie.height,this._currentNodeIdx=0}ke.prototype={clear:function(){for(var Ie=0;Ie<this._textureAtlasNodes.length;Ie++)this._textureAtlasNodes[Ie].clear();this._currentNodeIdx=0,this._zr.clear(),this._coords={}},getWidth:function(){return this._width},getHeight:function(){return this._height},getTexture:function(){return this._texture},getDevicePixelRatio:function(){return this._dpr},getZr:function(){return this._zr},_getCurrentNode:function(){return this._textureAtlasNodes[this._currentNodeIdx]},_expand:function(){if(this._currentNodeIdx++,this._textureAtlasNodes[this._currentNodeIdx])return this._textureAtlasNodes[this._currentNodeIdx];var Ie=4096/this._dpr,Ce=this._textureAtlasNodes,Me=Ce.length,je=Me*this._nodeWidth%Ie,ye=Math.floor(Me*this._nodeWidth/Ie)*this._nodeHeight;if(ye>=Ie){console.error("Too much labels. Some will be ignored.");return}var ie=(je+this._nodeWidth)*this._dpr,ae=(ye+this._nodeHeight)*this._dpr;try{this._zr.resize({width:ie,height:ae})}catch(de){this._canvas.width=ie,this._canvas.height=ae}var fe=new Te(this._zr,je,ye,this._nodeWidth,this._nodeHeight,this._gap,this._dpr);return this._textureAtlasNodes.push(fe),fe},add:function(Ie,Ce,Me){if(this._coords[Ie.id])return console.warn("Element already been add"),this._coords[Ie.id];var je=this._getCurrentNode().add(Ie,Ce,Me);if(!je){var ye=this._expand();if(!ye)return;je=ye.add(Ie,Ce,Me)}return this._coords[Ie.id]=je,je},getCoordsScale:function(){var Ie=this._dpr;return[this._nodeWidth/this._canvas.width*Ie,this._nodeHeight/this._canvas.height*Ie]},getCoords:function(Ie){return this._coords[Ie]}},Ue.a=ke},function(tt,Ue,Ne){"use strict";Ue.a=Ke;function Ke(Be,we,Te){var ke,Ie=Be.scale;return Ie.type==="ordinal"&&(typeof Te=="function"?(ke=Ie.getTicks()[we],!Te(ke,Ie.getLabel(ke))):we%(Te+1))}},function(tt,Ue,Ne){var Ke=Ne(76),Be=Ne(77),we=Ke.applyTransform,Te=Math.min,ke=Math.max;function Ie(Me,je,ye,ie){ye<0&&(Me=Me+ye,ye=-ye),ie<0&&(je=je+ie,ie=-ie),this.x=Me,this.y=je,this.width=ye,this.height=ie}Ie.prototype={constructor:Ie,union:function(Me){var je=Te(Me.x,this.x),ye=Te(Me.y,this.y);this.width=ke(Me.x+Me.width,this.x+this.width)-je,this.height=ke(Me.y+Me.height,this.y+this.height)-ye,this.x=je,this.y=ye},applyTransform:function(){var Me=[],je=[],ye=[],ie=[];return function(ae){if(ae){Me[0]=ye[0]=this.x,Me[1]=ie[1]=this.y,je[0]=ie[0]=this.x+this.width,je[1]=ye[1]=this.y+this.height,we(Me,Me,ae),we(je,je,ae),we(ye,ye,ae),we(ie,ie,ae),this.x=Te(Me[0],je[0],ye[0],ie[0]),this.y=Te(Me[1],je[1],ye[1],ie[1]);var fe=ke(Me[0],je[0],ye[0],ie[0]),de=ke(Me[1],je[1],ye[1],ie[1]);this.width=fe-this.x,this.height=de-this.y}}}(),calculateTransform:function(Me){var je=this,ye=Me.width/je.width,ie=Me.height/je.height,ae=Be.create();return Be.translate(ae,ae,[-je.x,-je.y]),Be.scale(ae,ae,[ye,ie]),Be.translate(ae,ae,[Me.x,Me.y]),ae},intersect:function(Me){if(!Me)return!1;Me instanceof Ie||(Me=Ie.create(Me));var je=this,ye=je.x,ie=je.x+je.width,ae=je.y,fe=je.y+je.height,de=Me.x,ve=Me.x+Me.width,xe=Me.y,ce=Me.y+Me.height;return!(ie<de||ve<ye||fe<xe||ce<ae)},contain:function(Me,je){var ye=this;return Me>=ye.x&&Me<=ye.x+ye.width&&je>=ye.y&&je<=ye.y+ye.height},clone:function(){return new Ie(this.x,this.y,this.width,this.height)},copy:function(Me){this.x=Me.x,this.y=Me.y,this.width=Me.width,this.height=Me.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},Ie.create=function(Me){return new Ie(Me.x,Me.y,Me.width,Me.height)};var Ce=Ie;tt.exports=Ce},function(tt,Ue){var Ne=typeof Float32Array=="undefined"?Array:Float32Array;function Ke(gt,lt){var At=new Ne(2);return gt==null&&(gt=0),lt==null&&(lt=0),At[0]=gt,At[1]=lt,At}function Be(gt,lt){return gt[0]=lt[0],gt[1]=lt[1],gt}function we(gt){var lt=new Ne(2);return lt[0]=gt[0],lt[1]=gt[1],lt}function Te(gt,lt,At){return gt[0]=lt,gt[1]=At,gt}function ke(gt,lt,At){return gt[0]=lt[0]+At[0],gt[1]=lt[1]+At[1],gt}function Ie(gt,lt,At,Et){return gt[0]=lt[0]+At[0]*Et,gt[1]=lt[1]+At[1]*Et,gt}function Ce(gt,lt,At){return gt[0]=lt[0]-At[0],gt[1]=lt[1]-At[1],gt}function Me(gt){return Math.sqrt(ye(gt))}var je=Me;function ye(gt){return gt[0]*gt[0]+gt[1]*gt[1]}var ie=ye;function ae(gt,lt,At){return gt[0]=lt[0]*At[0],gt[1]=lt[1]*At[1],gt}function fe(gt,lt,At){return gt[0]=lt[0]/At[0],gt[1]=lt[1]/At[1],gt}function de(gt,lt){return gt[0]*lt[0]+gt[1]*lt[1]}function ve(gt,lt,At){return gt[0]=lt[0]*At,gt[1]=lt[1]*At,gt}function xe(gt,lt){var At=Me(lt);return At===0?(gt[0]=0,gt[1]=0):(gt[0]=lt[0]/At,gt[1]=lt[1]/At),gt}function ce(gt,lt){return Math.sqrt((gt[0]-lt[0])*(gt[0]-lt[0])+(gt[1]-lt[1])*(gt[1]-lt[1]))}var pe=ce;function Se(gt,lt){return(gt[0]-lt[0])*(gt[0]-lt[0])+(gt[1]-lt[1])*(gt[1]-lt[1])}var Le=Se;function ze(gt,lt){return gt[0]=-lt[0],gt[1]=-lt[1],gt}function Ze(gt,lt,At,Et){return gt[0]=lt[0]+Et*(At[0]-lt[0]),gt[1]=lt[1]+Et*(At[1]-lt[1]),gt}function Ve(gt,lt,At){var Et=lt[0],vt=lt[1];return gt[0]=At[0]*Et+At[2]*vt+At[4],gt[1]=At[1]*Et+At[3]*vt+At[5],gt}function Qe(gt,lt,At){return gt[0]=Math.min(lt[0],At[0]),gt[1]=Math.min(lt[1],At[1]),gt}function $e(gt,lt,At){return gt[0]=Math.max(lt[0],At[0]),gt[1]=Math.max(lt[1],At[1]),gt}Ue.create=Ke,Ue.copy=Be,Ue.clone=we,Ue.set=Te,Ue.add=ke,Ue.scaleAndAdd=Ie,Ue.sub=Ce,Ue.len=Me,Ue.length=je,Ue.lenSquare=ye,Ue.lengthSquare=ie,Ue.mul=ae,Ue.div=fe,Ue.dot=de,Ue.scale=ve,Ue.normalize=xe,Ue.distance=ce,Ue.dist=pe,Ue.distanceSquare=Se,Ue.distSquare=Le,Ue.negate=ze,Ue.lerp=Ze,Ue.applyTransform=Ve,Ue.min=Qe,Ue.max=$e},function(tt,Ue){var Ne=typeof Float32Array=="undefined"?Array:Float32Array;function Ke(){var ye=new Ne(6);return Be(ye),ye}function Be(ye){return ye[0]=1,ye[1]=0,ye[2]=0,ye[3]=1,ye[4]=0,ye[5]=0,ye}function we(ye,ie){return ye[0]=ie[0],ye[1]=ie[1],ye[2]=ie[2],ye[3]=ie[3],ye[4]=ie[4],ye[5]=ie[5],ye}function Te(ye,ie,ae){var fe=ie[0]*ae[0]+ie[2]*ae[1],de=ie[1]*ae[0]+ie[3]*ae[1],ve=ie[0]*ae[2]+ie[2]*ae[3],xe=ie[1]*ae[2]+ie[3]*ae[3],ce=ie[0]*ae[4]+ie[2]*ae[5]+ie[4],pe=ie[1]*ae[4]+ie[3]*ae[5]+ie[5];return ye[0]=fe,ye[1]=de,ye[2]=ve,ye[3]=xe,ye[4]=ce,ye[5]=pe,ye}function ke(ye,ie,ae){return ye[0]=ie[0],ye[1]=ie[1],ye[2]=ie[2],ye[3]=ie[3],ye[4]=ie[4]+ae[0],ye[5]=ie[5]+ae[1],ye}function Ie(ye,ie,ae){var fe=ie[0],de=ie[2],ve=ie[4],xe=ie[1],ce=ie[3],pe=ie[5],Se=Math.sin(ae),Le=Math.cos(ae);return ye[0]=fe*Le+xe*Se,ye[1]=-fe*Se+xe*Le,ye[2]=de*Le+ce*Se,ye[3]=-de*Se+Le*ce,ye[4]=Le*ve+Se*pe,ye[5]=Le*pe-Se*ve,ye}function Ce(ye,ie,ae){var fe=ae[0],de=ae[1];return ye[0]=ie[0]*fe,ye[1]=ie[1]*de,ye[2]=ie[2]*fe,ye[3]=ie[3]*de,ye[4]=ie[4]*fe,ye[5]=ie[5]*de,ye}function Me(ye,ie){var ae=ie[0],fe=ie[2],de=ie[4],ve=ie[1],xe=ie[3],ce=ie[5],pe=ae*xe-ve*fe;return pe?(pe=1/pe,ye[0]=xe*pe,ye[1]=-ve*pe,ye[2]=-fe*pe,ye[3]=ae*pe,ye[4]=(fe*ce-xe*de)*pe,ye[5]=(ve*de-ae*ce)*pe,ye):null}function je(ye){var ie=Ke();return we(ie,ye),ie}Ue.create=Ke,Ue.identity=Be,Ue.copy=we,Ue.mul=Te,Ue.translate=ke,Ue.rotate=Ie,Ue.scale=Ce,Ue.invert=Me,Ue.clone=je},function(tt,Ue,Ne){var Ke=Ne(12),Be=1e-4;function we(Ze){return Ze.replace(/^\s+/,"").replace(/\s+$/,"")}function Te(Ze,Ve,Qe,$e){var gt=Ve[1]-Ve[0],lt=Qe[1]-Qe[0];if(gt===0)return lt===0?Qe[0]:(Qe[0]+Qe[1])/2;if($e)if(gt>0){if(Ze<=Ve[0])return Qe[0];if(Ze>=Ve[1])return Qe[1]}else{if(Ze>=Ve[0])return Qe[0];if(Ze<=Ve[1])return Qe[1]}else{if(Ze===Ve[0])return Qe[0];if(Ze===Ve[1])return Qe[1]}return(Ze-Ve[0])/gt*lt+Qe[0]}function ke(Ze,Ve){switch(Ze){case"center":case"middle":Ze="50%";break;case"left":case"top":Ze="0%";break;case"right":case"bottom":Ze="100%";break}return typeof Ze=="string"?we(Ze).match(/%$/)?parseFloat(Ze)/100*Ve:parseFloat(Ze):Ze==null?NaN:+Ze}function Ie(Ze,Ve,Qe){return Ve==null&&(Ve=10),Ve=Math.min(Math.max(0,Ve),20),Ze=(+Ze).toFixed(Ve),Qe?Ze:+Ze}function Ce(Ze){return Ze.sort(function(Ve,Qe){return Ve-Qe}),Ze}function Me(Ze){if(Ze=+Ze,isNaN(Ze))return 0;for(var Ve=1,Qe=0;Math.round(Ze*Ve)/Ve!==Ze;)Ve*=10,Qe++;return Qe}function je(Ze){var Ve=Ze.toString(),Qe=Ve.indexOf("e");if(Qe>0){var $e=+Ve.slice(Qe+1);return $e<0?-$e:0}else{var gt=Ve.indexOf(".");return gt<0?0:Ve.length-1-gt}}function ye(Ze,Ve){var Qe=Math.log,$e=Math.LN10,gt=Math.floor(Qe(Ze[1]-Ze[0])/$e),lt=Math.round(Qe(Math.abs(Ve[1]-Ve[0]))/$e),At=Math.min(Math.max(-gt+lt,0),20);return isFinite(At)?At:20}function ie(Ze,Ve,Qe){if(!Ze[Ve])return 0;var $e=Ke.reduce(Ze,function(Xt,kt){return Xt+(isNaN(kt)?0:kt)},0);if($e===0)return 0;for(var gt=Math.pow(10,Qe),lt=Ke.map(Ze,function(Xt){return(isNaN(Xt)?0:Xt)/$e*gt*100}),At=gt*100,Et=Ke.map(lt,function(Xt){return Math.floor(Xt)}),vt=Ke.reduce(Et,function(Xt,kt){return Xt+kt},0),Lt=Ke.map(lt,function(Xt,kt){return Xt-Et[kt]});vt<At;){for(var St=Number.NEGATIVE_INFINITY,xt=null,ct=0,Dt=Lt.length;ct<Dt;++ct)Lt[ct]>St&&(St=Lt[ct],xt=ct);++Et[xt],Lt[xt]=0,++vt}return Et[Ve]/gt}var ae=9007199254740991;function fe(Ze){var Ve=Math.PI*2;return(Ze%Ve+Ve)%Ve}function de(Ze){return Ze>-Be&&Ze<Be}var ve=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;function xe(Ze){if(Ze instanceof Date)return Ze;if(typeof Ze=="string"){var Ve=ve.exec(Ze);if(!Ve)return new Date(NaN);if(Ve[8]){var Qe=+Ve[4]||0;return Ve[8].toUpperCase()!=="Z"&&(Qe-=Ve[8].slice(0,3)),new Date(Date.UTC(+Ve[1],+(Ve[2]||1)-1,+Ve[3]||1,Qe,+(Ve[5]||0),+Ve[6]||0,+Ve[7]||0))}else return new Date(+Ve[1],+(Ve[2]||1)-1,+Ve[3]||1,+Ve[4]||0,+(Ve[5]||0),+Ve[6]||0,+Ve[7]||0)}else if(Ze==null)return new Date(NaN);return new Date(Math.round(Ze))}function ce(Ze){return Math.pow(10,pe(Ze))}function pe(Ze){return Math.floor(Math.log(Ze)/Math.LN10)}function Se(Ze,Ve){var Qe=pe(Ze),$e=Math.pow(10,Qe),gt=Ze/$e,lt;return Ve?gt<1.5?lt=1:gt<2.5?lt=2:gt<4?lt=3:gt<7?lt=5:lt=10:gt<1?lt=1:gt<2?lt=2:gt<3?lt=3:gt<5?lt=5:lt=10,Ze=lt*$e,Qe>=-20?+Ze.toFixed(Qe<0?-Qe:0):Ze}function Le(Ze){Ze.sort(function(vt,Lt){return Et(vt,Lt,0)?-1:1});for(var Ve=-1/0,Qe=1,$e=0;$e<Ze.length;){for(var gt=Ze[$e].interval,lt=Ze[$e].close,At=0;At<2;At++)gt[At]<=Ve&&(gt[At]=Ve,lt[At]=At?1:1-Qe),Ve=gt[At],Qe=lt[At];gt[0]===gt[1]&&lt[0]*lt[1]!==1?Ze.splice($e,1):$e++}return Ze;function Et(vt,Lt,St){return vt.interval[St]<Lt.interval[St]||vt.interval[St]===Lt.interval[St]&&(vt.close[St]-Lt.close[St]===(St?-1:1)||!St&&Et(vt,Lt,1))}}function ze(Ze){return Ze-parseFloat(Ze)>=0}Ue.linearMap=Te,Ue.parsePercent=ke,Ue.round=Ie,Ue.asc=Ce,Ue.getPrecision=Me,Ue.getPrecisionSafe=je,Ue.getPixelPrecision=ye,Ue.getPercentWithPrecision=ie,Ue.MAX_SAFE_INTEGER=ae,Ue.remRadian=fe,Ue.isRadianAroundZero=de,Ue.parseDate=xe,Ue.quantity=ce,Ue.nice=Se,Ue.reformIntervals=Le,Ue.isNumeric=ze},function(tt,Ue,Ne){"use strict";var Ke=Ne(5),Be=Ne(11),we=Ne(21),Te=function(){this._pool={},this._allocatedTextures=[]};Te.prototype={constructor:Te,get:function(ye){var ie=Ce(ye);this._pool.hasOwnProperty(ie)||(this._pool[ie]=[]);var ae=this._pool[ie];if(!ae.length){var fe=new Ke.a(ye);return this._allocatedTextures.push(fe),fe}return ae.pop()},put:function(ye){var ie=Ce(ye);this._pool.hasOwnProperty(ie)||(this._pool[ie]=[]);var ae=this._pool[ie];ae.push(ye)},clear:function(ye){for(var ie=0;ie<this._allocatedTextures.length;ie++)this._allocatedTextures[ie].dispose(ye);this._pool={},this._allocatedTextures=[]}};var ke={width:512,height:512,type:Be.a.UNSIGNED_BYTE,format:Be.a.RGBA,wrapS:Be.a.CLAMP_TO_EDGE,wrapT:Be.a.CLAMP_TO_EDGE,minFilter:Be.a.LINEAR_MIPMAP_LINEAR,magFilter:Be.a.LINEAR,useMipmap:!0,anisotropic:1,flipY:!0,unpackAlignment:4,premultiplyAlpha:!1},Ie=Object.keys(ke);function Ce(ye){we.a.defaultsWithPropList(ye,ke,Ie),Me(ye);for(var ie="",ae=0;ae<Ie.length;ae++){var fe=Ie[ae],de=ye[fe].toString();ie+=de}return ie}function Me(ye){var ie=je(ye.width,ye.height);ye.format===Be.a.DEPTH_COMPONENT&&(ye.useMipmap=!1),(!ie||!ye.useMipmap)&&(ye.minFilter==Be.a.NEAREST_MIPMAP_NEAREST||ye.minFilter==Be.a.NEAREST_MIPMAP_LINEAR?ye.minFilter=Be.a.NEAREST:(ye.minFilter==Be.a.LINEAR_MIPMAP_LINEAR||ye.minFilter==Be.a.LINEAR_MIPMAP_NEAREST)&&(ye.minFilter=Be.a.LINEAR)),ie||(ye.wrapS=Be.a.CLAMP_TO_EDGE,ye.wrapT=Be.a.CLAMP_TO_EDGE)}function je(ye,ie){return(ye&ye-1)===0&&(ie&ie-1)===0}Ue.a=Te},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke);Ue.a={getFilledRegions:function(we,Te){var ke=(we||[]).slice(),Ie;if(typeof Te=="string"?(Te=Be.a.getMap(Te),Ie=Te&&Te.geoJson):Te&&Te.features&&(Ie=Te),!Ie)return console.error("Map "+Te+" not exists. You can download map file on http://echarts.baidu.com/download-map.html"),Ie.features||console.error("Invalid GeoJSON for map3D"),[];for(var Ce={},Me=Ie.features,je=0;je<ke.length;je++)Ce[ke[je].name]=ke[je];for(var je=0;je<Me.length;je++){var ye=Me[je].properties.name;Ce[ye]||ke.push({name:ye})}return ke},defaultOption:{show:!0,zlevel:-10,map:"",left:0,top:0,width:"100%",height:"100%",boxWidth:100,boxHeight:10,boxDepth:"auto",regionHeight:3,environment:"auto",groundPlane:{show:!1,color:"#aaa"},shading:"lambert",light:{main:{alpha:40,beta:30}},viewControl:{alpha:40,beta:0,distance:100,orthographicSize:60,minAlpha:5,minBeta:-80,maxBeta:80},label:{show:!1,distance:2,textStyle:{fontSize:20,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:4}},itemStyle:{color:"#fff",borderWidth:0,borderColor:"#333"},emphasis:{itemStyle:{color:"#639fc0"},label:{show:!0}}}}},function(tt,Ue,Ne){"use strict";function Ke(ke,Ie,Ce){var Me=ke[Ie];ke[Ie]=ke[Ce],ke[Ce]=Me}function Be(ke,Ie,Ce,Me,je){var ye=Ce,ie=ke[Ie];Ke(ke,Ie,Me);for(var ae=Ce;ae<Me;ae++)je(ke[ae],ie)<0&&(Ke(ke,ae,ye),ye++);return Ke(ke,Me,ye),ye}function we(ke,Ie,Ce,Me){if(Ce<Me){var je=Math.floor((Ce+Me)/2),ye=Be(ke,je,Ce,Me,Ie);we(ke,Ie,Ce,ye-1),we(ke,Ie,ye+1,Me)}}function Te(){this._parts=[]}Te.prototype.step=function(ke,Ie,Ce){var Me=ke.length;if(Ce===0){this._parts=[],this._sorted=!1;var je=Math.floor(Me/2);this._parts.push({pivot:je,left:0,right:Me-1}),this._currentSortPartIdx=0}if(!this._sorted){var ye=this._parts;if(ye.length===0)return this._sorted=!0,!0;if(ye.length<512){for(var ie=0;ie<ye.length;ie++)ye[ie].pivot=Be(ke,ye[ie].pivot,ye[ie].left,ye[ie].right,Ie);for(var ae=[],ie=0;ie<ye.length;ie++){var fe=ye[ie].left,de=ye[ie].pivot-1;de>fe&&ae.push({pivot:Math.floor((de+fe)/2),left:fe,right:de});var fe=ye[ie].pivot+1,de=ye[ie].right;de>fe&&ae.push({pivot:Math.floor((de+fe)/2),left:fe,right:de})}ye=this._parts=ae}else for(var ie=0;ie<Math.floor(ye.length/10);ie++){var ve=ye.length-1-this._currentSortPartIdx;if(we(ke,Ie,ye[ve].left,ye[ve].right),this._currentSortPartIdx++,this._currentSortPartIdx===ye.length)return this._sorted=!0,!0}return!1}},Te.sort=we,Ue.a=Te},function(tt,Ue,Ne){"use strict";var Ke=Ne(83),Be=Ne(0),we=Ne.n(Be),Te=Ne(41),ke=Ne.n(Te),Ie=Ne(20),Ce=Ne(3);function Me(fe,de){var ve=fe.getBoxLayoutParams(),xe=ke.a.getLayoutRect(ve,{width:de.getWidth(),height:de.getHeight()});xe.y=de.getHeight()-xe.y-xe.height,this.viewGL.setViewport(xe.x,xe.y,xe.width,xe.height,de.getDevicePixelRatio());var ce=this.getGeoBoundingRect(),pe=ce.width/ce.height*(fe.get("aspectScale")||.75),Se=fe.get("boxWidth"),Le=fe.get("boxDepth"),ze=fe.get("boxHeight");ze==null&&(ze=5),isNaN(Se)&&isNaN(Le)&&(Se=100),isNaN(Le)?Le=Se/pe:isNaN(Se)&&(Se=Le/pe),this.setSize(Se,ze,Le),this.regionHeight=fe.get("regionHeight"),this.altitudeAxis&&this.altitudeAxis.setExtent(0,Math.max(ze-this.regionHeight,0))}function je(fe,de){var ve=[1/0,-1/0];if(fe.eachSeries(function(ce){if(ce.coordinateSystem===this&&ce.type!=="series.map3D"){var pe=ce.getData(),Se=ce.coordDimToDataDim("alt")[0];if(Se){var Le=pe.getDataExtent(Se,!0);ve[0]=Math.min(ve[0],Le[0]),ve[1]=Math.max(ve[1],Le[1])}}},this),ve&&isFinite(ve[1]-ve[0])){var xe=we.a.helper.createScale(ve,{type:"value",min:"dataMin",max:"dataMax"});this.altitudeAxis=new we.a.Axis("altitude",xe),this.resize(this.model,de)}}var ye=function(fe){console.error("Map "+fe+" not exists. You can download map file on http://echarts.baidu.com/download-map.html")},ie=0,ae={dimensions:Ke.a.prototype.dimensions,create:function(fe,de){var ve=[];if(!we.a.getMap)throw new Error("geo3D component depends on geo component");function xe(ce,pe){var Se=ae.createGeo3D(ce);ce.__viewGL=ce.__viewGL||new Ie.a,Se.viewGL=ce.__viewGL,ce.coordinateSystem=Se,Se.model=ce,ve.push(Se),Se.resize=Me,Se.resize(ce,de),Se.update=je}return fe.eachComponent("geo3D",function(ce,pe){xe(ce,pe)}),fe.eachSeriesByType("map3D",function(ce,pe){var Se=ce.get("coordinateSystem");Se==null&&(Se="geo3D"),Se==="geo3D"&&xe(ce,pe)}),fe.eachSeries(function(ce){if(ce.get("coordinateSystem")==="geo3D"){if(ce.type==="series.map3D")return;var pe=ce.getReferringComponents("geo3D")[0];if(pe||(pe=fe.getComponent("geo3D")),!pe)throw new Error('geo "'+Ce.a.firstNotNull(ce.get("geo3DIndex"),ce.get("geo3DId"),0)+'" not found');ce.coordinateSystem=pe.coordinateSystem}}),ve},createGeo3D:function(fe){var de=fe.get("map"),ve;if(typeof de=="string"?(ve=de,de=we.a.getMap(de)):de&&de.features&&(de={geoJson:de}),de||ye(de),!de.geoJson.features)throw new Error("Invalid GeoJSON for map3D");return ve==null&&(ve="GEO_ANONYMOUS_"+ie++),new Ke.a(ve+ie++,ve,de&&de.geoJson,de&&de.specialAreas,fe.get("nameMap"))}};we.a.registerCoordinateSystem("geo3D",ae),Ue.a=ae},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(1),Te=Ne.n(we),ke=Ne(187),Ie=Ne.n(ke),Ce=Ne(188),Me=Ne.n(Ce),je=Te.a.vec3,ye=Te.a.mat4,ie=[Ie.a,Me.a];function ae(fe,de,ve,xe,ce){this.name=fe,this.map=de,this.regionHeight=0,this.regions=[],this._nameCoordMap={},this.loadGeoJson(ve,xe,ce),this.transform=ye.identity(new Float64Array(16)),this.invTransform=ye.identity(new Float64Array(16)),this.extrudeY=!0,this.altitudeAxis}ae.prototype={constructor:ae,type:"geo3D",dimensions:["lng","lat","alt"],containPoint:function(){},loadGeoJson:function(fe,de,ve){var xe=Be.a.parseGeoJSON||Be.a.parseGeoJson;try{this.regions=fe?xe(fe):[]}catch(Ze){throw`Invalid geoJson format
`+Ze}de=de||{},ve=ve||{};for(var ce=this.regions,pe={},Se=0;Se<ce.length;Se++){var Le=ce[Se].name;Le=ve[Le]||Le,ce[Se].name=Le,pe[Le]=ce[Se],this.addGeoCoord(Le,ce[Se].center);var ze=de[Le];ze&&ce[Se].transformTo(ze.left,ze.top,ze.width,ze.height)}this._regionsMap=pe,this._geoRect=null,ie.forEach(function(Ze){Ze(this)},this)},getGeoBoundingRect:function(){if(this._geoRect)return this._geoRect;for(var fe,de=this.regions,ve=0;ve<de.length;ve++){var xe=de[ve].getBoundingRect();fe=fe||xe.clone(),fe.union(xe)}return this._geoRect=fe||new Be.a.graphic.BoundingRect(0,0,0,0)},addGeoCoord:function(fe,de){this._nameCoordMap[fe]=de},getRegion:function(fe){return this._regionsMap[fe]},getRegionByCoord:function(fe){for(var de=this.regions,ve=0;ve<de.length;ve++)if(de[ve].contain(fe))return de[ve]},setSize:function(fe,de,ve){this.size=[fe,de,ve];var xe=this.getGeoBoundingRect(),ce=fe/xe.width,pe=-ve/xe.height,Se=-fe/2-xe.x*ce,Le=ve/2-xe.y*pe,ze=this.extrudeY?[Se,0,Le]:[Se,Le,0],Ze=this.extrudeY?[ce,1,pe]:[ce,pe,1],Ve=this.transform;ye.identity(Ve),ye.translate(Ve,Ve,ze),ye.scale(Ve,Ve,Ze),ye.invert(this.invTransform,Ve)},dataToPoint:function(fe,de){de=de||[];var ve=this.extrudeY?1:2,xe=this.extrudeY?2:1,ce=fe[2];return isNaN(ce)&&(ce=0),de[0]=fe[0],de[xe]=fe[1],this.altitudeAxis?de[ve]=this.altitudeAxis.dataToCoord(ce):de[ve]=0,de[ve]+=this.regionHeight,je.transformMat4(de,de,this.transform),de},pointToData:function(fe,de){}},Ue.a=ae},function(tt,Ue,Ne){"use strict";var Ke=Ne(77),Be=Ne.n(Ke),we=Ne(76),Te=Ne.n(we);function ke(Ie){this.viewGL=Ie}ke.prototype.reset=function(Ie,Ce){this._updateCamera(Ce.getWidth(),Ce.getHeight(),Ce.getDevicePixelRatio()),this._viewTransform=Be.a.create(),this.updateTransform(Ie,Ce)},ke.prototype.updateTransform=function(Ie,Ce){var Me=Ie.coordinateSystem;Me.getRoamTransform&&(Be.a.invert(this._viewTransform,Me.getRoamTransform()),this._setCameraTransform(this._viewTransform),Ce.getZr().refresh())},ke.prototype.dataToPoint=function(Ie,Ce,Me){Me=Ie.dataToPoint(Ce,null,Me);var je=this._viewTransform;je&&Te.a.applyTransform(Me,Me,je)},ke.prototype.removeTransformInPoint=function(Ie){return this._viewTransform&&Te.a.applyTransform(Ie,Ie,this._viewTransform),Ie},ke.prototype.getZoom=function(){if(this._viewTransform){var Ie=this._viewTransform;return 1/Math.max(Math.sqrt(Ie[0]*Ie[0]+Ie[1]*Ie[1]),Math.sqrt(Ie[2]*Ie[2]+Ie[3]*Ie[3]))}return 1},ke.prototype._setCameraTransform=function(Ie){var Ce=this.viewGL.camera;Ce.position.set(Ie[4],Ie[5],0),Ce.scale.set(Math.sqrt(Ie[0]*Ie[0]+Ie[1]*Ie[1]),Math.sqrt(Ie[2]*Ie[2]+Ie[3]*Ie[3]),1)},ke.prototype._updateCamera=function(Ie,Ce,Me){this.viewGL.setViewport(0,0,Ie,Ce,Me);var je=this.viewGL.camera;je.left=je.top=0,je.bottom=Ce,je.right=Ie,je.near=0,je.far=100},Ue.a=ke},function(tt,Ue,Ne){(function(Ke){var Be;typeof window!="undefined"?Be=window.__DEV__:typeof Ke!="undefined"&&(Be=Ke.__DEV__),typeof Be=="undefined"&&(Be=!0);var we=Be;Ue.__DEV__=we}).call(Ue,Ne(243))},function(tt,Ue,Ne){"use strict";var Ke=Ne(13),Be=Ne(0),we=Ne.n(Be),Te=Ne(33),ke=Ne(1),Ie=Ne.n(ke),Ce=Ie.a.vec2,Me=[[0,0],[1,1]],je=Ke.a.extend(function(){return{segmentScale:4,dynamic:!0,useNativeLine:!0,attributes:{position:new Ke.a.Attribute("position","float",2,"POSITION"),normal:new Ke.a.Attribute("normal","float",2),offset:new Ke.a.Attribute("offset","float",1),color:new Ke.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0,this._itemVertexOffsets=[]},setVertexCount:function(ye){var ie=this.attributes;this.vertexCount!==ye&&(ie.position.init(ye),ie.color.init(ye),this.useNativeLine||(ie.offset.init(ye),ie.normal.init(ye)),ye>65535?this.indices instanceof Uint16Array&&(this.indices=new Uint32Array(this.indices)):this.indices instanceof Uint32Array&&(this.indices=new Uint16Array(this.indices)))},setTriangleCount:function(ye){this.triangleCount!==ye&&(ye===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(ye*3):new Uint16Array(ye*3))},_getCubicCurveApproxStep:function(ye,ie,ae,fe){var de=Ce.dist(ye,ie)+Ce.dist(ae,ie)+Ce.dist(fe,ae),ve=1/(de+1)*this.segmentScale;return ve},getCubicCurveVertexCount:function(ye,ie,ae,fe){var de=this._getCubicCurveApproxStep(ye,ie,ae,fe),ve=Math.ceil(1/de);return this.useNativeLine?ve*2:ve*2+2},getCubicCurveTriangleCount:function(ye,ie,ae,fe){var de=this._getCubicCurveApproxStep(ye,ie,ae,fe),ve=Math.ceil(1/de);return this.useNativeLine?0:ve*2},getLineVertexCount:function(){return this.getPolylineVertexCount(Me)},getLineTriangleCount:function(){return this.getPolylineTriangleCount(Me)},getPolylineVertexCount:function(ye){var ie;if(typeof ye=="number")ie=ye;else{var ae=typeof ye[0]!="number";ie=ae?ye.length:ye.length/2}return this.useNativeLine?(ie-1)*2:(ie-1)*2+2},getPolylineTriangleCount:function(ye){var ie;if(typeof ye=="number")ie=ye;else{var ae=typeof ye[0]!="number";ie=ae?ye.length:ye.length/2}return this.useNativeLine?0:(ie-1)*2},addCubicCurve:function(ye,ie,ae,fe,de,ve){ve==null&&(ve=1);for(var xe=ye[0],ce=ye[1],pe=ie[0],Se=ie[1],Le=ae[0],ze=ae[1],Ze=fe[0],Ve=fe[1],Qe=this._getCubicCurveApproxStep(ye,ie,ae,fe),$e=Qe*Qe,gt=$e*Qe,lt=3*Qe,At=3*$e,Et=6*$e,vt=6*gt,Lt=xe-pe*2+Le,St=ce-Se*2+ze,xt=(pe-Le)*3-xe+Ze,ct=(Se-ze)*3-ce+Ve,Dt=xe,Xt=ce,kt=(pe-xe)*lt+Lt*At+xt*gt,Rt=(Se-ce)*lt+St*At+ct*gt,Gt=Lt*Et+xt*vt,ln=St*Et+ct*vt,Rn=xt*vt,jn=ct*vt,er=0,an=0,Un=Math.ceil(1/Qe),Kn=new Float32Array((Un+1)*3),Kn=[],ur=0,an=0;an<Un+1;an++)Kn[ur++]=Dt,Kn[ur++]=Xt,Dt+=kt,Xt+=Rt,kt+=Gt,Rt+=ln,Gt+=Rn,ln+=jn,er+=Qe,er>1&&(Dt=kt>0?Math.min(Dt,Ze):Math.max(Dt,Ze),Xt=Rt>0?Math.min(Xt,Ve):Math.max(Xt,Ve));this.addPolyline(Kn,de,ve)},addLine:function(ye,ie,ae,fe){this.addPolyline([ye,ie],ae,fe)},addPolyline:function(){var ye=Ce.create(),ie=Ce.create(),ae=Ce.create(),fe=Ce.create(),de=[],ve=[],xe=[];return function(ce,pe,Se,Le,ze){if(ce.length){var Ze=typeof ce[0]!="number";if(ze==null&&(ze=Ze?ce.length:ce.length/2),!(ze<2)){Le==null&&(Le=0),Se==null&&(Se=1),this._itemVertexOffsets.push(this._vertexOffset);for(var Ve=Ze?typeof pe[0]!="number":pe.length/4===ze,Qe=this.attributes.position,$e=this.attributes.color,gt=this.attributes.offset,lt=this.attributes.normal,At=this.indices,Et=this._vertexOffset,vt,Lt=0;Lt<ze;Lt++){if(Ze)de=ce[Lt+Le],Ve?vt=pe[Lt+Le]:vt=pe;else{var St=Lt*2+Le;if(de=de||[],de[0]=ce[St],de[1]=ce[St+1],Ve){var xt=Lt*4+Le;vt=vt||[],vt[0]=pe[xt],vt[1]=pe[xt+1],vt[2]=pe[xt+2],vt[3]=pe[xt+3]}else vt=pe}if(this.useNativeLine)Lt>1&&(Qe.copy(Et,Et-1),$e.copy(Et,Et-1),Et++);else{var ct;if(Lt<ze-1){if(Ze)Ce.copy(ve,ce[Lt+1]);else{var St=(Lt+1)*2+Le;ve=ve||[],ve[0]=ce[St],ve[1]=ce[St+1]}if(Lt>0){Ce.sub(ye,de,xe),Ce.sub(ie,ve,de),Ce.normalize(ye,ye),Ce.normalize(ie,ie),Ce.add(fe,ye,ie),Ce.normalize(fe,fe);var Dt=Se/2*Math.min(1/Ce.dot(ye,fe),2);ae[0]=-fe[1],ae[1]=fe[0],ct=Dt}else Ce.sub(ye,ve,de),Ce.normalize(ye,ye),ae[0]=-ye[1],ae[1]=ye[0],ct=Se/2}else Ce.sub(ye,de,xe),Ce.normalize(ye,ye),ae[0]=-ye[1],ae[1]=ye[0],ct=Se/2;lt.set(Et,ae),lt.set(Et+1,ae),gt.set(Et,ct),gt.set(Et+1,-ct),Ce.copy(xe,de),Qe.set(Et,de),Qe.set(Et+1,de),$e.set(Et,vt),$e.set(Et+1,vt),Et+=2}if(this.useNativeLine)$e.set(Et,vt),Qe.set(Et,de),Et++;else if(Lt>0){var Xt=this._faceOffset*3,At=this.indices;At[Xt]=Et-4,At[Xt+1]=Et-3,At[Xt+2]=Et-2,At[Xt+3]=Et-3,At[Xt+4]=Et-1,At[Xt+5]=Et-2,this._faceOffset+=2}}this._vertexOffset=Et}}}}(),setItemColor:function(ye,ie){for(var ae=this._itemVertexOffsets[ye],fe=ye<this._itemVertexOffsets.length-1?this._itemVertexOffsets[ye+1]:this._vertexOffset,de=ae;de<fe;de++)this.attributes.color.set(de,ie);this.dirty("color")}});we.a.util.defaults(je.prototype,Te.a),Ue.a=je},function(tt,Ue,Ne){"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});var Ke=Ne(88),Be=Ne(133),we=Ne(183),Te=Ne(189),ke=Ne(195),Ie=Ne(202),Ce=Ne(209),Me=Ne(213),je=Ne(220),ye=Ne(226),ie=Ne(229),ae=Ne(233),fe=Ne(236),de=Ne(239),ve=Ne(253),xe=Ne(259)},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(89),Te=Ne(90),ke=Ne(101),Ie=Ne(2),Ce={version:"1.0.0",dependencies:{echarts:"4.0.0",claygl:"1.0.0"}},Me=Ce.dependencies;function je(de){throw new Error(de+" version is too old, needs "+Me[de]+" or higher")}function ye(de,ve){de.replace(".","")-0<Me[ve].replace(".","")-0&&je(ve),console.log("Loaded "+ve+", version "+de)}ye(we.a,"claygl"),ye(Be.a.version,"echarts");function ie(de){this._layers={},this._zr=de}ie.prototype.update=function(de,ve){var xe=this,ce=ve.getZr();if(!ce.getWidth()||!ce.getHeight()){console.warn("Dom has no width or height");return}function pe(ze){var Ze;ze.coordinateSystem&&ze.coordinateSystem.model,Ze=ze.get("zlevel");var Ve=xe._layers,Qe=Ve[Ze];if(!Qe){if(Qe=Ve[Ze]=new Te.a("gl-"+Ze,ce),ce.painter.isSingleCanvas()){Qe.virtual=!0;var $e=new Be.a.graphic.Image({z:1e4,style:{image:Qe.renderer.canvas},silent:!0});Qe.__hostImage=$e,ce.add($e)}ce.painter.insertLayer(Ze,Qe)}return Qe.__hostImage&&Qe.__hostImage.setStyle({width:Qe.renderer.getWidth(),height:Qe.renderer.getHeight()}),Qe}function Se(ze,Ze){ze&&ze.traverse(function(Ve){Ve.isRenderable&&Ve.isRenderable()&&(Ve.ignorePicking=Ve.$ignorePicking!=null?Ve.$ignorePicking:Ze)})}for(var Le in this._layers)this._layers[Le].removeViewsAll();de.eachComponent(function(ze,Ze){if(ze!=="series"){var Ve=ve.getViewOfComponentModel(Ze),Qe=Ze.coordinateSystem;if(Ve.__ecgl__){var $e;if(Qe){if(!Qe.viewGL){console.error("Can't find viewGL in coordinateSystem of component "+Ze.id);return}$e=Qe.viewGL}else{if(!Ze.viewGL){console.error("Can't find viewGL of component "+Ze.id);return}$e=Qe.viewGL}var $e=Qe.viewGL,gt=pe(Ze);gt.addView($e),Ve.afterRender&&Ve.afterRender(Ze,de,ve,gt),Se(Ve.groupGL,Ze.get("silent"))}}}),de.eachSeries(function(ze){var Ze=ve.getViewOfSeriesModel(ze),Ve=ze.coordinateSystem;if(Ze.__ecgl__){if(Ve&&!Ve.viewGL&&!Ze.viewGL){console.error("Can't find viewGL of series "+Ze.id);return}var Qe=Ve&&Ve.viewGL||Ze.viewGL,$e=pe(ze);$e.addView(Qe),Ze.afterRender&&Ze.afterRender(ze,de,ve,$e),Se(Ze.groupGL,ze.get("silent"))}})};var ae=Be.a.init;Be.a.init=function(){var de=ae.apply(this,arguments);return de.getZr().painter.getRenderedCanvas=function(ve){if(ve=ve||{},this._singleCanvas)return this._layers[0].dom;var xe=document.createElement("canvas"),ce=ve.pixelRatio||this.dpr;xe.width=this.getWidth()*ce,xe.height=this.getHeight()*ce;var pe=xe.getContext("2d");pe.dpr=ce,pe.clearRect(0,0,xe.width,xe.height),ve.backgroundColor&&(pe.fillStyle=ve.backgroundColor,pe.fillRect(0,0,xe.width,xe.height));var Se=this.storage.getDisplayList(!0),Le={},ze,Ze=this;function Ve(lt,At){var Et=Ze._zlevelList;lt==null&&(lt=-1/0);for(var vt,Lt=0;Lt<Et.length;Lt++){var St=Et[Lt],xt=Ze._layers[St];if(!xt.__builtin__&&St>lt&&St<At){vt=xt;break}}vt&&vt.renderToCanvas&&(pe.save(),vt.renderToCanvas(pe),pe.restore())}for(var Qe={ctx:pe},$e=0;$e<Se.length;$e++){var gt=Se[$e];gt.zlevel!==ze&&(Ve(ze,gt.zlevel),ze=gt.zlevel),this._doPaintEl(gt,Qe,!0,Le)}return Ve(ze,1/0),xe},de},Be.a.registerPostUpdate(function(de,ve){var xe=ve.getZr(),ce=xe.__egl=xe.__egl||new ie(xe);ce.update(de,ve)}),Be.a.registerPreprocessor(ke.a),Be.a.graphicGL=Ie.a;var fe=ie},function(tt,Ue,Ne){"use strict";Ue.a="1.0.0"},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(46),Te=Ne(100),ke=Ne(6),Ie=Ne(47),Ce=Ne(65),Me=Ne.n(Ce),je=function(xe,ce){this.id=xe,this.zr=ce;try{this.renderer=new we.a({clearBit:0,devicePixelRatio:ce.painter.dpr,preserveDrawingBuffer:!0,premultipliedAlpha:!0}),this.renderer.resize(ce.painter.getWidth(),ce.painter.getHeight())}catch(Se){this.renderer=null,this.dom=document.createElement("div"),this.dom.style.cssText="position:absolute; left: 0; top: 0; right: 0; bottom: 0;",this.dom.className="ecgl-nowebgl",this.dom.innerHTML="Sorry, your browser does support WebGL",console.error(Se);return}this.onglobalout=this.onglobalout.bind(this),ce.on("globalout",this.onglobalout),this.dom=this.renderer.canvas;var pe=this.dom.style;pe.position="absolute",pe.left="0",pe.top="0",this.views=[],this._picking=new Te.a({renderer:this.renderer}),this._viewsToDispose=[],this._accumulatingId=0,this._zrEventProxy=new Be.a.graphic.Rect({shape:{x:-1,y:-1,width:2,height:2},__isGLToZRProxy:!0})};je.prototype.addView=function(xe){if(xe.layer!==this){var ce=this._viewsToDispose.indexOf(xe);ce>=0&&this._viewsToDispose.splice(ce,1),this.views.push(xe),xe.layer=this;var pe=this.zr;xe.scene.traverse(function(Se){Se.__zr=pe,Se.addAnimatorsToZr&&Se.addAnimatorsToZr(pe)})}};function ye(xe){var ce=xe.__zr;xe.__zr=null,ce&&xe.removeAnimatorsFromZr&&xe.removeAnimatorsFromZr(ce)}je.prototype.removeView=function(xe){if(xe.layer===this){var ce=this.views.indexOf(xe);ce>=0&&(this.views.splice(ce,1),xe.scene.traverse(ye,this),xe.layer=null,this._viewsToDispose.push(xe))}},je.prototype.removeViewsAll=function(){this.views.forEach(function(xe){xe.scene.traverse(ye,this),xe.layer=null,this._viewsToDispose.push(xe)},this),this.views.length=0},je.prototype.resize=function(xe,ce){var pe=this.renderer;pe.resize(xe,ce)},je.prototype.clear=function(){var xe=this.renderer.gl;xe.clearColor(0,0,0,0),xe.depthMask(!0),xe.colorMask(!0,!0,!0,!0),xe.clear(xe.DEPTH_BUFFER_BIT|xe.COLOR_BUFFER_BIT)},je.prototype.clearDepth=function(){var xe=this.renderer.gl;xe.clear(xe.DEPTH_BUFFER_BIT)},je.prototype.clearColor=function(){var xe=this.renderer.gl;xe.clearColor(0,0,0,0),xe.clear(xe.COLOR_BUFFER_BIT)},je.prototype.needsRefresh=function(){this.zr.refresh()},je.prototype.refresh=function(){for(var xe=0;xe<this.views.length;xe++)this.views[xe].prepareRender();this._doRender(!1),this._trackAndClean();for(var xe=0;xe<this._viewsToDispose.length;xe++)this._viewsToDispose[xe].dispose(this.renderer);this._viewsToDispose.length=0,this._startAccumulating()},je.prototype.renderToCanvas=function(xe){this._startAccumulating(!0),xe.drawImage(this.dom,0,0,xe.canvas.width,xe.canvas.height)},je.prototype._doRender=function(xe){this.clear(),this.renderer.saveViewport();for(var ce=0;ce<this.views.length;ce++)this.views[ce].render(this.renderer,xe);this.renderer.restoreViewport()},je.prototype._stopAccumulating=function(){this._accumulatingId=0,clearTimeout(this._accumulatingTimeout)};var ie=1;je.prototype._startAccumulating=function(xe){var ce=this;this._stopAccumulating();for(var pe=!1,Se=0;Se<this.views.length;Se++)pe=this.views[Se].needsAccumulate()||pe;if(!pe)return;function Le(ze){if(!(!ce._accumulatingId||ze!==ce._accumulatingId)){for(var Ze=!0,Ve=0;Ve<ce.views.length;Ve++)Ze=ce.views[Ve].isAccumulateFinished()&&pe;Ze||(ce._doRender(!0),xe?Le(ze):Me()(function(){Le(ze)}))}}this._accumulatingId=ie++,xe?Le(ce._accumulatingId):this._accumulatingTimeout=setTimeout(function(){Le(ce._accumulatingId)},50)},je.prototype._trackAndClean=function(){var xe=[],ce=[];this._textureList&&(ae(this._textureList),ae(this._geometriesList));for(var pe=0;pe<this.views.length;pe++)ve(this.views[pe].scene,xe,ce);this._textureList&&(fe(this.renderer,this._textureList),fe(this.renderer,this._geometriesList)),this._textureList=xe,this._geometriesList=ce};function ae(xe){for(var ce=0;ce<xe.length;ce++)xe[ce].__used__=0}function fe(xe,ce){for(var pe=0;pe<ce.length;pe++)ce[pe].__used__||ce[pe].dispose(xe)}function de(xe,ce){xe.__used__=xe.__used__||0,xe.__used__++,xe.__used__===1&&ce.push(xe)}function ve(xe,ce,pe){function Se(ze){for(var Ze,Ve,Qe=0;Qe<ze.length;Qe++){var $e=ze[Qe],gt=$e.geometry,lt=$e.material;if(lt!==Ze)for(var At=lt.getTextureUniforms(),Et=0;Et<At.length;Et++){var vt=At[Et],Lt=lt.uniforms[vt].value;if(Lt){if(Lt instanceof ke.a)de(Lt,ce);else if(Lt instanceof Array)for(var St=0;St<Lt.length;St++)Lt[St]instanceof ke.a&&de(Lt[St],ce)}}gt!==Ve&&de(gt,pe),Ze=lt,Ve=gt}}Se(xe.opaqueList),Se(xe.transparentList);for(var Le=0;Le<xe.lights.length;Le++)xe.lights[Le].cubemap&&de(xe.lights[Le].cubemap,ce)}je.prototype.dispose=function(){this._stopAccumulating(),this.renderer.disposeScene(this.scene),this.zr.off("globalout",this.onglobalout)},je.prototype.onmousedown=function(xe){if(!(xe.target&&xe.target.__isGLToZRProxy)){xe=xe.event;var ce=this.pickObject(xe.offsetX,xe.offsetY);ce&&(this._dispatchEvent("mousedown",xe,ce),this._dispatchDataEvent("mousedown",xe,ce)),this._downX=xe.offsetX,this._downY=xe.offsetY}},je.prototype.onmousemove=function(xe){if(!(xe.target&&xe.target.__isGLToZRProxy)){xe=xe.event;var ce=this.pickObject(xe.offsetX,xe.offsetY),pe=ce&&ce.target,Se=this._hovered;this._hovered=ce,Se&&pe!==Se.target&&(Se.relatedTarget=pe,this._dispatchEvent("mouseout",xe,Se),this.zr.setCursorStyle("default")),this._dispatchEvent("mousemove",xe,ce),ce&&(this.zr.setCursorStyle("pointer"),(!Se||pe!==Se.target)&&this._dispatchEvent("mouseover",xe,ce)),this._dispatchDataEvent("mousemove",xe,ce)}},je.prototype.onmouseup=function(xe){if(!(xe.target&&xe.target.__isGLToZRProxy)){xe=xe.event;var ce=this.pickObject(xe.offsetX,xe.offsetY);ce&&(this._dispatchEvent("mouseup",xe,ce),this._dispatchDataEvent("mouseup",xe,ce)),this._upX=xe.offsetX,this._upY=xe.offsetY}},je.prototype.onclick=je.prototype.dblclick=function(xe){if(!(xe.target&&xe.target.__isGLToZRProxy)){var ce=this._upX-this._downX,pe=this._upY-this._downY;if(!(Math.sqrt(ce*ce+pe*pe)>20)){xe=xe.event;var Se=this.pickObject(xe.offsetX,xe.offsetY);Se&&(this._dispatchEvent(xe.type,xe,Se),this._dispatchDataEvent(xe.type,xe,Se));var Le=this._clickToSetFocusPoint(xe);if(Le){var ze=Le.view.setDOFFocusOnPoint(Le.distance);ze&&this.zr.refresh()}}}},je.prototype._clickToSetFocusPoint=function(xe){for(var ce=this.renderer,pe=ce.viewport,Se=this.views.length-1;Se>=0;Se--){var Le=this.views[Se];if(Le.hasDOF()&&Le.containPoint(xe.offsetX,xe.offsetY)){this._picking.scene=Le.scene,this._picking.camera=Le.camera,ce.viewport=Le.viewport;var ze=this._picking.pick(xe.offsetX,xe.offsetY,!0);if(ze)return ze.view=Le,ze}}ce.viewport=pe},je.prototype.onglobalout=function(xe){var ce=this._hovered;ce&&this._dispatchEvent("mouseout",xe,{target:ce.target})},je.prototype.pickObject=function(xe,ce){for(var pe=[],Se=this.renderer,Le=Se.viewport,ze=0;ze<this.views.length;ze++){var Ze=this.views[ze];Ze.containPoint(xe,ce)&&(this._picking.scene=Ze.scene,this._picking.camera=Ze.camera,Se.viewport=Ze.viewport,this._picking.pickAll(xe,ce,pe))}return Se.viewport=Le,pe.sort(function(Ve,Qe){return Ve.distance-Qe.distance}),pe[0]},je.prototype._dispatchEvent=function(xe,ce,pe){pe||(pe={});var Se=pe.target;for(pe.cancelBubble=!1,pe.event=ce,pe.type=xe,pe.offsetX=ce.offsetX,pe.offsetY=ce.offsetY;Se&&(Se.trigger(xe,pe),Se=Se.getParent(),!pe.cancelBubble););this._dispatchToView(xe,pe)},je.prototype._dispatchDataEvent=function(xe,ce,pe){var Se=pe&&pe.target,Le=Se&&Se.dataIndex,ze=Se&&Se.seriesIndex,Ze=Se&&Se.eventData,Ve=!1,Qe=this._zrEventProxy;Qe.position=[ce.offsetX,ce.offsetY],Qe.update();var $e={target:Qe};xe==="mousemove"&&(Le!=null?Le!==this._lastDataIndex&&(parseInt(this._lastDataIndex,10)>=0&&(Qe.dataIndex=this._lastDataIndex,Qe.seriesIndex=this._lastSeriesIndex,this.zr.handler.dispatchToElement($e,"mouseout",ce)),Ve=!0):Ze!=null&&Ze!==this._lastEventData&&(this._lastEventData!=null&&(Qe.eventData=this._lastEventData,this.zr.handler.dispatchToElement($e,"mouseout",ce)),Ve=!0),this._lastEventData=Ze,this._lastDataIndex=Le,this._lastSeriesIndex=ze),Qe.eventData=Ze,Qe.dataIndex=Le,Qe.seriesIndex=ze,(Ze!=null||parseInt(Le,10)>=0)&&(this.zr.handler.dispatchToElement($e,xe,ce),Ve&&this.zr.handler.dispatchToElement($e,"mouseover",ce))},je.prototype._dispatchToView=function(xe,ce){for(var pe=0;pe<this.views.length;pe++)this.views[pe].containPoint(ce.offsetX,ce.offsetY)&&this.views[pe].trigger(xe,ce)},Be.a.util.extend(je.prototype,Ie.a),Ue.a=je},function(tt,Ue,Ne){"use strict";function Ke(Te,ke,Ie){typeof ke=="object"&&(Ie=ke,ke=null);var Ce=this,Me;if(!(Te instanceof Function)){Me=[];for(var je in Te)Te.hasOwnProperty(je)&&Me.push(je)}var ye=function(ae){if(Ce.apply(this,arguments),Te instanceof Function?Be(this,Te.call(this,ae)):we(this,Te,Me),this.constructor===ye)for(var fe=ye.__initializers__,de=0;de<fe.length;de++)fe[de].apply(this,arguments)};ye.__super__=Ce,Ce.__initializers__?ye.__initializers__=Ce.__initializers__.slice():ye.__initializers__=[],ke&&ye.__initializers__.push(ke);var ie=function(){};return ie.prototype=Ce.prototype,ye.prototype=new ie,ye.prototype.constructor=ye,Be(ye.prototype,Ie),ye.extend=Ce.extend,ye.derive=Ce.extend,ye}function Be(Te,ke){if(ke)for(var Ie in ke)ke.hasOwnProperty(Ie)&&(Te[Ie]=ke[Ie])}function we(Te,ke,Ie){for(var Ce=0;Ce<Ie.length;Ce++){var Me=Ie[Ce];Te[Me]=ke[Me]}}Ue.a={extend:Ke,derive:Ke}},function(tt,Ue,Ne){"use strict";var Ke=["OES_texture_float","OES_texture_half_float","OES_texture_float_linear","OES_texture_half_float_linear","OES_standard_derivatives","OES_vertex_array_object","OES_element_index_uint","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","EXT_texture_filter_anisotropic","EXT_shader_texture_lod","WEBGL_draw_buffers","EXT_frag_depth","EXT_sRGB"],Be=["MAX_TEXTURE_SIZE","MAX_CUBE_MAP_TEXTURE_SIZE"];function we(Te){for(var ke={},Ie={},Ce=0;Ce<Ke.length;Ce++){var Me=Ke[Ce];ye(Me)}for(var Ce=0;Ce<Be.length;Ce++){var je=Be[Ce];Ie[je]=Te.getParameter(Te[je])}this.getExtension=function(ie){return ie in ke||ye(ie),ke[ie]},this.getParameter=function(ie){return Ie[ie]};function ye(ie){var ae=Te.getExtension(ie);ae||(ae=Te.getExtension("MOZ_"+ie)),ae||(ae=Te.getExtension("WEBKIT_"+ie)),ke[ie]=ae}}Ue.a=we},function(tt,Ue,Ne){"use strict";var Ke=Ne(94),Be={},we={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function Te(pe){return pe=Math.round(pe),pe<0?0:pe>255?255:pe}function ke(pe){return pe=Math.round(pe),pe<0?0:pe>360?360:pe}function Ie(pe){return pe<0?0:pe>1?1:pe}function Ce(pe){return pe.length&&pe.charAt(pe.length-1)==="%"?Te(parseFloat(pe)/100*255):Te(parseInt(pe,10))}function Me(pe){return pe.length&&pe.charAt(pe.length-1)==="%"?Ie(parseFloat(pe)/100):Ie(parseFloat(pe))}function je(pe,Se,Le){return Le<0?Le+=1:Le>1&&(Le-=1),Le*6<1?pe+(Se-pe)*Le*6:Le*2<1?Se:Le*3<2?pe+(Se-pe)*(2/3-Le)*6:pe}function ye(pe,Se,Le){return pe+(Se-pe)*Le}function ie(pe,Se,Le,ze,Ze){return pe[0]=Se,pe[1]=Le,pe[2]=ze,pe[3]=Ze,pe}function ae(pe,Se){return pe[0]=Se[0],pe[1]=Se[1],pe[2]=Se[2],pe[3]=Se[3],pe}var fe=new Ke.a(20),de=null;function ve(pe,Se){de&&ae(de,Se),de=fe.put(pe,de||Se.slice())}Be.parse=function(pe,Se){if(pe){Se=Se||[];var Le=fe.get(pe);if(Le)return ae(Se,Le);pe=pe+"";var ze=pe.replace(/ /g,"").toLowerCase();if(ze in we)return ae(Se,we[ze]),ve(pe,Se),Se;if(ze.charAt(0)==="#"){if(ze.length===4){var Ze=parseInt(ze.substr(1),16);if(!(Ze>=0&&Ze<=4095)){ie(Se,0,0,0,1);return}return ie(Se,(Ze&3840)>>4|(Ze&3840)>>8,Ze&240|(Ze&240)>>4,Ze&15|(Ze&15)<<4,1),ve(pe,Se),Se}else if(ze.length===7){var Ze=parseInt(ze.substr(1),16);if(!(Ze>=0&&Ze<=16777215)){ie(Se,0,0,0,1);return}return ie(Se,(Ze&16711680)>>16,(Ze&65280)>>8,Ze&255,1),ve(pe,Se),Se}return}var Ve=ze.indexOf("("),Qe=ze.indexOf(")");if(Ve!==-1&&Qe+1===ze.length){var $e=ze.substr(0,Ve),gt=ze.substr(Ve+1,Qe-(Ve+1)).split(","),lt=1;switch($e){case"rgba":if(gt.length!==4){ie(Se,0,0,0,1);return}lt=Me(gt.pop());case"rgb":if(gt.length!==3){ie(Se,0,0,0,1);return}return ie(Se,Ce(gt[0]),Ce(gt[1]),Ce(gt[2]),lt),ve(pe,Se),Se;case"hsla":if(gt.length!==4){ie(Se,0,0,0,1);return}return gt[3]=Me(gt[3]),xe(gt,Se),ve(pe,Se),Se;case"hsl":if(gt.length!==3){ie(Se,0,0,0,1);return}return xe(gt,Se),ve(pe,Se),Se;default:return}}ie(Se,0,0,0,1)}},Be.parseToFloat=function(pe,Se){if(Se=Be.parse(pe,Se),!!Se)return Se[0]/=255,Se[1]/=255,Se[2]/=255,Se};function xe(pe,Se){var Le=(parseFloat(pe[0])%360+360)%360/360,ze=Me(pe[1]),Ze=Me(pe[2]),Ve=Ze<=.5?Ze*(ze+1):Ze+ze-Ze*ze,Qe=Ze*2-Ve;return Se=Se||[],ie(Se,Te(je(Qe,Ve,Le+1/3)*255),Te(je(Qe,Ve,Le)*255),Te(je(Qe,Ve,Le-1/3)*255),1),pe.length===4&&(Se[3]=pe[3]),Se}function ce(pe){if(pe){var Se=pe[0]/255,Le=pe[1]/255,ze=pe[2]/255,Ze=Math.min(Se,Le,ze),Ve=Math.max(Se,Le,ze),Qe=Ve-Ze,$e=(Ve+Ze)/2,gt,lt;if(Qe===0)gt=0,lt=0;else{$e<.5?lt=Qe/(Ve+Ze):lt=Qe/(2-Ve-Ze);var At=((Ve-Se)/6+Qe/2)/Qe,Et=((Ve-Le)/6+Qe/2)/Qe,vt=((Ve-ze)/6+Qe/2)/Qe;Se===Ve?gt=vt-Et:Le===Ve?gt=1/3+At-vt:ze===Ve&&(gt=2/3+Et-At),gt<0&&(gt+=1),gt>1&&(gt-=1)}var Lt=[gt*360,lt,$e];return pe[3]!=null&&Lt.push(pe[3]),Lt}}Be.lift=function(pe,Se){var Le=Be.parse(pe);if(Le){for(var ze=0;ze<3;ze++)Se<0?Le[ze]=Le[ze]*(1-Se)|0:Le[ze]=(255-Le[ze])*Se+Le[ze]|0;return Be.stringify(Le,Le.length===4?"rgba":"rgb")}},Be.toHex=function(pe){var Se=Be.parse(pe);if(Se)return((1<<24)+(Se[0]<<16)+(Se[1]<<8)+ +Se[2]).toString(16).slice(1)},Be.fastLerp=function(pe,Se,Le){if(!(!(Se&&Se.length)||!(pe>=0&&pe<=1))){Le=Le||[];var ze=pe*(Se.length-1),Ze=Math.floor(ze),Ve=Math.ceil(ze),Qe=Se[Ze],$e=Se[Ve],gt=ze-Ze;return Le[0]=Te(ye(Qe[0],$e[0],gt)),Le[1]=Te(ye(Qe[1],$e[1],gt)),Le[2]=Te(ye(Qe[2],$e[2],gt)),Le[3]=Ie(ye(Qe[3],$e[3],gt)),Le}},Be.fastMapToColor=Be.fastLerp,Be.lerp=function(pe,Se,Le){if(!(!(Se&&Se.length)||!(pe>=0&&pe<=1))){var ze=pe*(Se.length-1),Ze=Math.floor(ze),Ve=Math.ceil(ze),Qe=Be.parse(Se[Ze]),$e=Be.parse(Se[Ve]),gt=ze-Ze,lt=Be.stringify([Te(ye(Qe[0],$e[0],gt)),Te(ye(Qe[1],$e[1],gt)),Te(ye(Qe[2],$e[2],gt)),Ie(ye(Qe[3],$e[3],gt))],"rgba");return Le?{color:lt,leftIndex:Ze,rightIndex:Ve,value:ze}:lt}},Be.mapToColor=Be.lerp,Be.modifyHSL=function(pe,Se,Le,ze){if(pe=Be.parse(pe),pe)return pe=ce(pe),Se!=null&&(pe[0]=ke(Se)),Le!=null&&(pe[1]=Me(Le)),ze!=null&&(pe[2]=Me(ze)),Be.stringify(xe(pe),"rgba")},Be.modifyAlpha=function(pe,Se){if(pe=Be.parse(pe),pe&&Se!=null)return pe[3]=Ie(Se),Be.stringify(pe,"rgba")},Be.stringify=function(pe,Se){if(!(!pe||!pe.length)){var Le=pe[0]+","+pe[1]+","+pe[2];return(Se==="rgba"||Se==="hsva"||Se==="hsla")&&(Le+=","+pe[3]),Se+"("+Le+")"}},Ue.a=Be},function(tt,Ue,Ne){"use strict";var Ke=Ne(95),Be=function(we){this._list=new Ke.a,this._map={},this._maxSize=we||10};Be.prototype.setMaxSize=function(we){this._maxSize=we},Be.prototype.put=function(we,Te){if(typeof this._map[we]=="undefined"){var ke=this._list.length();if(ke>=this._maxSize&&ke>0){var Ie=this._list.head;this._list.remove(Ie),delete this._map[Ie.key]}var Ce=this._list.insert(Te);Ce.key=we,this._map[we]=Ce}},Be.prototype.get=function(we){var Te=this._map[we];if(typeof Te!="undefined")return Te!==this._list.tail&&(this._list.remove(Te),this._list.insertEntry(Te)),Te.value},Be.prototype.remove=function(we){var Te=this._map[we];typeof Te!="undefined"&&(delete this._map[we],this._list.remove(Te))},Be.prototype.clear=function(){this._list.clear(),this._map={}},Ue.a=Be},function(tt,Ue,Ne){"use strict";var Ke=function(){this.head=null,this.tail=null,this._length=0};Ke.prototype.insert=function(Be){var we=new Ke.Entry(Be);return this.insertEntry(we),we},Ke.prototype.insertAt=function(Be,we){if(!(Be<0)){for(var Te=this.head,ke=0;Te&&ke!=Be;)Te=Te.next,ke++;if(Te){var Ie=new Ke.Entry(we),Ce=Te.prev;Ce?(Ce.next=Ie,Ie.prev=Ce):this.head=Ie,Ie.next=Te,Te.prev=Ie}else this.insert(we)}},Ke.prototype.insertBeforeEntry=function(Be,we){var Te=new Ke.Entry(Be),ke=we.prev;ke?(ke.next=Te,Te.prev=ke):this.head=Te,Te.next=we,we.prev=Te,this._length++},Ke.prototype.insertEntry=function(Be){this.head?(this.tail.next=Be,Be.prev=this.tail,this.tail=Be):this.head=this.tail=Be,this._length++},Ke.prototype.remove=function(Be){var we=Be.prev,Te=Be.next;we?we.next=Te:this.head=Te,Te?Te.prev=we:this.tail=we,Be.next=Be.prev=null,this._length--},Ke.prototype.removeAt=function(Be){if(!(Be<0)){for(var we=this.head,Te=0;we&&Te!=Be;)we=we.next,Te++;if(we)return this.remove(we),we.value}},Ke.prototype.getHead=function(){if(this.head)return this.head.value},Ke.prototype.getTail=function(){if(this.tail)return this.tail.value},Ke.prototype.getAt=function(Be){if(!(Be<0)){for(var we=this.head,Te=0;we&&Te!=Be;)we=we.next,Te++;return we.value}},Ke.prototype.indexOf=function(Be){for(var we=this.head,Te=0;we;){if(we.value===Be)return Te;we=we.next,Te++}},Ke.prototype.length=function(){return this._length},Ke.prototype.isEmpty=function(){return this._length===0},Ke.prototype.forEach=function(Be,we){for(var Te=this.head,ke=0,Ie=typeof we!="undefined";Te;)Ie?Be.call(we,Te.value,ke):Be(Te.value,ke),Te=Te.next,ke++},Ke.prototype.clear=function(){this.tail=this.head=null,this._length=0},Ke.Entry=function(Be){this.value=Be,this.next=null,this.prev=null},Ue.a=Ke},function(tt,Ue,Ne){"use strict";var Ke=Ne(97),Be=/for\s*?\(int\s*?_idx_\s*\=\s*([\w-]+)\;\s*_idx_\s*<\s*([\w-]+);\s*_idx_\s*\+\+\s*\)\s*\{\{([\s\S]+?)(?=\}\})\}\}/g;function we(Me,je,ye){function ie(de,ve,xe,ce){var pe="";isNaN(ve)&&(ve in je?ve=je[ve]:ve=ae[ve]),isNaN(xe)&&(xe in je?xe=je[xe]:xe=ae[xe]);for(var Se=parseInt(ve);Se<parseInt(xe);Se++)pe+="{"+ce.replace(/float\s*\(\s*_idx_\s*\)/g,Se.toFixed(1)).replace(/_idx_/g,Se)+"}";return pe}var ae={};for(var fe in ye)ae[fe+"_COUNT"]=ye[fe];return Me.replace(Be,ie)}function Te(Me,je,ye){var ie=[];if(je)for(var ae in je){var fe=je[ae];fe>0&&ie.push("#define "+ae.toUpperCase()+"_COUNT "+fe)}if(ye)for(var de=0;de<ye.length;de++){var ve=ye[de];ie.push("#define "+ve.toUpperCase()+"_ENABLED")}for(var ve in Me){var xe=Me[ve];xe===null?ie.push("#define "+ve):ie.push("#define "+ve+" "+xe.toString())}return ie.join(`
`)}function ke(Me){for(var je=[],ye=0;ye<Me.length;ye++)je.push("#extension GL_"+Me[ye]+" : enable");return je.join(`
`)}function Ie(Me){return["precision",Me,"float"].join(" ")+`;
`+["precision",Me,"int"].join(" ")+`;
`+["precision",Me,"sampler2D"].join(" ")+`;
`}function Ce(Me){this._renderer=Me,this._cache={}}Ce.prototype.getProgram=function(Me,je,ye){var ie=this._cache,ae="s"+je.shader.shaderID+"m"+je.programKey;ye&&(ae+="se"+ye.getProgramKey(Me.lightGroup)),Me.isSkinnedMesh()&&(ae+=","+Me.joints.length);var Qe=ie[ae];if(Qe)return Qe;var fe=ye?ye.getLightsNumbers(Me.lightGroup):{},de=this._renderer,ve=de.gl,xe=je.getEnabledTextures(),ce="";Me.isSkinnedMesh()&&(ce=`
`+Te({SKINNING:null,JOINT_COUNT:Me.joints.length})+`
`);var pe=ce+Te(je.vertexDefines,fe,xe),Se=ce+Te(je.fragmentDefines,fe,xe),Le=pe+`
`+je.shader.vertex,ze=ke(["OES_standard_derivatives","EXT_shader_texture_lod"])+`
`+Ie(je.precision)+`
`+Se+`
`+je.shader.fragment,Ze=we(Le,je.vertexDefines,fe),Ve=we(ze,je.fragmentDefines,fe),Qe=new Ke.a;Qe.uniformSemantics=je.shader.uniformSemantics,Qe.attributes=je.shader.attributes;var $e=Qe.buildProgram(ve,je.shader,Ze,Ve);return Qe.__error=$e,ie[ae]=Qe,Qe},Ue.a=Ce},function(tt,Ue,Ne){"use strict";var Ke=Ne(18),Be=Ne(8),we=1,Te=2,ke=3,Ie={};function Ce(ye){for(var ie=ye.split(`
`),ae=0,fe=ie.length;ae<fe;ae++)ie[ae]=ae+1+": "+ie[ae];return ie.join(`
`)}function Me(ye,ie,ae){if(!ye.getShaderParameter(ie,ye.COMPILE_STATUS))return[ye.getShaderInfoLog(ie),Ce(ae)].join(`
`)}var je=Be.a.extend({uniformSemantics:{},attributes:{}},function(){this._locations={},this._textureSlot=0,this._program=null},{bind:function(ye){this._textureSlot=0,ye.gl.useProgram(this._program)},hasUniform:function(ye){var ie=this._locations[ye];return ie!=null},useTextureSlot:function(ye,ie,ae){ie&&(ye.gl.activeTexture(ye.gl.TEXTURE0+ae),ie.isRenderable()?ie.bind(ye):ie.unbind(ye))},currentTextureSlot:function(){return this._textureSlot},resetTextureSlot:function(ye){this._textureSlot=ye||0},takeCurrentTextureSlot:function(ye,ie){var ae=this._textureSlot;return this.useTextureSlot(ye,ie,ae),this._textureSlot++,ae},setUniform:function(ye,ie,ae,fe){var de=this._locations,ve=de[ae];if(ve==null)return!1;switch(ie){case"m4":ye.uniformMatrix4fv(ve,!1,fe);break;case"2i":ye.uniform2i(ve,fe[0],fe[1]);break;case"2f":ye.uniform2f(ve,fe[0],fe[1]);break;case"3i":ye.uniform3i(ve,fe[0],fe[1],fe[2]);break;case"3f":ye.uniform3f(ve,fe[0],fe[1],fe[2]);break;case"4i":ye.uniform4i(ve,fe[0],fe[1],fe[2],fe[3]);break;case"4f":ye.uniform4f(ve,fe[0],fe[1],fe[2],fe[3]);break;case"1i":ye.uniform1i(ve,fe);break;case"1f":ye.uniform1f(ve,fe);break;case"1fv":ye.uniform1fv(ve,fe);break;case"1iv":ye.uniform1iv(ve,fe);break;case"2iv":ye.uniform2iv(ve,fe);break;case"2fv":ye.uniform2fv(ve,fe);break;case"3iv":ye.uniform3iv(ve,fe);break;case"3fv":ye.uniform3fv(ve,fe);break;case"4iv":ye.uniform4iv(ve,fe);break;case"4fv":ye.uniform4fv(ve,fe);break;case"m2":case"m2v":ye.uniformMatrix2fv(ve,!1,fe);break;case"m3":case"m3v":ye.uniformMatrix3fv(ve,!1,fe);break;case"m4v":if(Array.isArray(fe)){for(var xe=new Ke.a.Float32Array(fe.length*16),ce=0,pe=0;pe<fe.length;pe++)for(var Se=fe[pe],Le=0;Le<16;Le++)xe[ce++]=Se[Le];ye.uniformMatrix4fv(ve,!1,xe)}else fe instanceof Ke.a.Float32Array&&ye.uniformMatrix4fv(ve,!1,fe);break}return!0},setUniformOfSemantic:function(ye,ie,ae){var fe=this.uniformSemantics[ie];return fe?this.setUniform(ye,fe.type,fe.symbol,ae):!1},enableAttributes:function(ye,ie,ae){var fe=ye.gl,de=this._program,ve=this._locations,xe;ae?xe=ae.__enabledAttributeList:xe=Ie[ye.__uid__],xe||(ae?xe=ae.__enabledAttributeList=[]:xe=Ie[ye.__uid__]=[]);for(var ce=[],pe=0;pe<ie.length;pe++){var Se=ie[pe];if(!this.attributes[Se]){ce[pe]=-1;continue}var Le=ve[Se];if(Le==null){if(Le=fe.getAttribLocation(de,Se),Le===-1){ce[pe]=-1;continue}ve[Se]=Le}ce[pe]=Le,xe[Le]?xe[Le]=Te:xe[Le]=we}for(var pe=0;pe<xe.length;pe++)switch(xe[pe]){case we:fe.enableVertexAttribArray(pe),xe[pe]=ke;break;case Te:xe[pe]=ke;break;case ke:fe.disableVertexAttribArray(pe),xe[pe]=0;break}return ce},buildProgram:function(ye,ie,ae,fe){var de=ye.createShader(ye.VERTEX_SHADER),ve=ye.createProgram();ye.shaderSource(de,ae),ye.compileShader(de);var xe=ye.createShader(ye.FRAGMENT_SHADER);ye.shaderSource(xe,fe),ye.compileShader(xe);var ce=Me(ye,de,ae);if(ce||(ce=Me(ye,xe,fe),ce))return ce;if(ye.attachShader(ve,de),ye.attachShader(ve,xe),ie.attributeSemantics.POSITION)ye.bindAttribLocation(ve,0,ie.attributeSemantics.POSITION.symbol);else{var pe=Object.keys(this.attributes);ye.bindAttribLocation(ve,0,pe[0])}if(ye.linkProgram(ve),!ye.getProgramParameter(ve,ye.LINK_STATUS))return`Could not link program
VALIDATE_STATUS: `+ye.getProgramParameter(ve,ye.VALIDATE_STATUS)+", gl error ["+ye.getError()+"]";for(var Se=0;Se<ie.uniforms.length;Se++){var Le=ie.uniforms[Se];this._locations[Le]=ye.getUniformLocation(ve,Le)}ye.deleteShader(de),ye.deleteShader(xe),this._program=ve,this.vertexCode=ae,this.fragmentCode=fe}});Ue.a=je},function(tt,Ue,Ne){"use strict";var Ke=Ne(99),Be="uniform vec3 ",we="uniform float ",Te="@export clay.header.",ke="@end",Ie=":unconfigurable;";Ue.a=[Te+"directional_light",Be+"directionalLightDirection[DIRECTIONAL_LIGHT_COUNT]"+Ie,Be+"directionalLightColor[DIRECTIONAL_LIGHT_COUNT]"+Ie,ke,Te+"ambient_light",Be+"ambientLightColor[AMBIENT_LIGHT_COUNT]"+Ie,ke,Te+"ambient_sh_light",Be+"ambientSHLightColor[AMBIENT_SH_LIGHT_COUNT]"+Ie,Be+"ambientSHLightCoefficients[AMBIENT_SH_LIGHT_COUNT * 9]"+Ie,Ke.a,ke,Te+"ambient_cubemap_light",Be+"ambientCubemapLightColor[AMBIENT_CUBEMAP_LIGHT_COUNT]"+Ie,"uniform samplerCube ambientCubemapLightCubemap[AMBIENT_CUBEMAP_LIGHT_COUNT]"+Ie,"uniform sampler2D ambientCubemapLightBRDFLookup[AMBIENT_CUBEMAP_LIGHT_COUNT]"+Ie,ke,Te+"point_light",Be+"pointLightPosition[POINT_LIGHT_COUNT]"+Ie,we+"pointLightRange[POINT_LIGHT_COUNT]"+Ie,Be+"pointLightColor[POINT_LIGHT_COUNT]"+Ie,ke,Te+"spot_light",Be+"spotLightPosition[SPOT_LIGHT_COUNT]"+Ie,Be+"spotLightDirection[SPOT_LIGHT_COUNT]"+Ie,we+"spotLightRange[SPOT_LIGHT_COUNT]"+Ie,we+"spotLightUmbraAngleCosine[SPOT_LIGHT_COUNT]"+Ie,we+"spotLightPenumbraAngleCosine[SPOT_LIGHT_COUNT]"+Ie,we+"spotLightFalloffFactor[SPOT_LIGHT_COUNT]"+Ie,Be+"spotLightColor[SPOT_LIGHT_COUNT]"+Ie,ke].join(`
`)},function(tt,Ue,Ne){"use strict";Ue.a=`vec3 calcAmbientSHLight(int idx, vec3 N) {
int offset = 9 * idx;
return ambientSHLightCoefficients[0]
+ ambientSHLightCoefficients[1] * N.x
+ ambientSHLightCoefficients[2] * N.y
+ ambientSHLightCoefficients[3] * N.z
+ ambientSHLightCoefficients[4] * N.x * N.z
+ ambientSHLightCoefficients[5] * N.z * N.y
+ ambientSHLightCoefficients[6] * N.y * N.x
+ ambientSHLightCoefficients[7] * (3.0 * N.z * N.z - 1.0)
+ ambientSHLightCoefficients[8] * (N.x * N.x - N.y * N.y);
}`},function(tt,Ue,Ne){"use strict";var Ke=Ne(8),Be=Ne(49),we=Ne(23),Te=Ne(4),ke=Ne(9),Ie=Ne(64),Ce=Ne(11),Me=Ne(1),je=Ne.n(Me),ye=je.a.vec3,ie=Ke.a.extend({scene:null,camera:null,renderer:null},function(){this._ray=new Be.a,this._ndc=new we.a},{pick:function(ae,fe,de){var ve=this.pickAll(ae,fe,[],de);return ve[0]||null},pickAll:function(ae,fe,de,ve){return this.renderer.screenToNDC(ae,fe,this._ndc),this.camera.castRay(this._ndc,this._ray),de=de||[],this._intersectNode(this.scene,de,ve||!1),de.sort(this._intersectionCompareFunc),de},_intersectNode:function(ae,fe,de){ae instanceof Ie.a&&ae.isRenderable()&&(!ae.ignorePicking||de)&&(ae.mode===Ce.a.TRIANGLES&&ae.geometry.isUseIndices()||ae.geometry.pickByRay||ae.geometry.pick)&&this._intersectRenderable(ae,fe);for(var ve=0;ve<ae._children.length;ve++)this._intersectNode(ae._children[ve],fe,de)},_intersectRenderable:function(){var ae=new Te.a,fe=new Te.a,de=new Te.a,ve=new Be.a,xe=new ke.a;return function(ce,pe){var Se=ce.isSkinnedMesh();ve.copy(this._ray),ke.a.invert(xe,ce.worldTransform),Se||ve.applyTransform(xe);var Le=ce.geometry;if(!(!Se&&Le.boundingBox&&!ve.intersectBoundingBox(Le.boundingBox))){if(Le.pick){Le.pick(this._ndc.x,this._ndc.y,this.renderer,this.camera,ce,pe);return}else if(Le.pickByRay){Le.pickByRay(ve,ce,pe);return}var ze=ce.cullFace===Ce.a.BACK&&ce.frontFace===Ce.a.CCW||ce.cullFace===Ce.a.FRONT&&ce.frontFace===Ce.a.CW,Ze,Ve=Le.indices,Qe=Le.attributes.position,$e=Le.attributes.weight,gt=Le.attributes.joint,lt,At=[];if(!(!Qe||!Qe.value||!Ve)){if(Se){lt=ce.skeleton.getSubSkinMatrices(ce.__uid__,ce.joints);for(var Et=0;Et<ce.joints.length;Et++){At[Et]=At[Et]||[];for(var vt=0;vt<16;vt++)At[Et][vt]=lt[Et*16+vt]}var Lt=[],St=[],xt=[],ct=[],Dt=[],Xt=Le.attributes.skinnedPosition;(!Xt||!Xt.value)&&(Le.createAttribute("skinnedPosition","f",3),Xt=Le.attributes.skinnedPosition,Xt.init(Le.vertexCount));for(var Et=0;Et<Le.vertexCount;Et++){Qe.get(Et,Lt),$e.get(Et,St),gt.get(Et,xt),St[3]=1-St[0]-St[1]-St[2],ye.set(ct,0,0,0);for(var vt=0;vt<4;vt++)xt[vt]>=0&&St[vt]>1e-4&&(ye.transformMat4(Dt,Lt,At[xt[vt]]),ye.scaleAndAdd(ct,ct,Dt,St[vt]));Xt.set(Et,ct)}}for(var Et=0;Et<Ve.length;Et+=3){var kt=Ve[Et],Rt=Ve[Et+1],Gt=Ve[Et+2],ln=Se?Le.attributes.skinnedPosition:Qe;if(ln.get(kt,ae.array),ln.get(Rt,fe.array),ln.get(Gt,de.array),ze?Ze=ve.intersectTriangle(ae,fe,de,ce.culling):Ze=ve.intersectTriangle(ae,de,fe,ce.culling),Ze){var Rn=new Te.a;Se?Te.a.copy(Rn,Ze):Te.a.transformMat4(Rn,Ze,ce.worldTransform),pe.push(new ie.Intersection(Ze,Rn,ce,[kt,Rt,Gt],Et/3,Te.a.dist(Rn,this._ray.origin)))}}}}}}(),_intersectionCompareFunc:function(ae,fe){return ae.distance-fe.distance}});ie.Intersection=function(ae,fe,de,ve,xe,ce){this.point=ae,this.pointWorld=fe,this.target=de,this.triangle=ve,this.triangleIndex=xe,this.distance=ce},Ue.a=ie},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=["bar3D","line3D","map3D","scatter3D","surface","lines3D","scatterGL","scatter3D"];function Te(Ce,Me){if(Ce&&Ce[Me]&&(Ce[Me].normal||Ce[Me].emphasis)){var je=Ce[Me].normal,ye=Ce[Me].emphasis;je&&(Ce[Me]=je),ye&&(Ce.emphasis=Ce.emphasis||{},Ce.emphasis[Me]=ye)}}function ke(Ce){Te(Ce,"itemStyle"),Te(Ce,"lineStyle"),Te(Ce,"areaStyle"),Te(Ce,"label")}function Ie(Ce){Ce&&(Ce instanceof Array||(Ce=[Ce]),Be.a.util.each(Ce,function(Me){if(Me.axisLabel){var je=Me.axisLabel;Be.a.util.extend(je,je.textStyle),je.textStyle=null}}))}Ue.a=function(Ce){Be.a.util.each(Ce.series,function(Me){Be.a.util.indexOf(we,Me.type)>=0&&(ke(Me),Me.coordinateSystem==="mapbox"&&(Me.coordinateSystem="mapbox3D",Ce.mapbox3D=Ce.mapbox))}),Ie(Ce.xAxis3D),Ie(Ce.yAxis3D),Ie(Ce.zAxis3D),Ie(Ce.grid3D),Te(Ce.geo3D)}},function(tt,Ue,Ne){"use strict";function Ke(Be){var we=new XMLHttpRequest;we.open("get",Be.url),we.responseType=Be.responseType||"text",Be.onprogress&&(we.onprogress=function(Te){if(Te.lengthComputable){var ke=Te.loaded/Te.total;Be.onprogress(ke,Te.loaded,Te.total)}else Be.onprogress(null)}),we.onload=function(Te){we.status>=400?Be.onerror&&Be.onerror():Be.onload&&Be.onload(we.response)},Be.onerror&&(we.onerror=Be.onerror),we.send(null)}Ue.a={get:Ke}},function(tt,Ue,Ne){"use strict";Ue.a=`@export clay.basic.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec2 uvRepeat : [1.0, 1.0];
uniform vec2 uvOffset : [0.0, 0.0];
attribute vec2 texcoord : TEXCOORD_0;
attribute vec3 position : POSITION;
attribute vec3 barycentric;
@import clay.chunk.skinning_header
varying vec2 v_Texcoord;
varying vec3 v_Barycentric;
#ifdef VERTEX_COLOR
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#endif
void main()
{
vec3 skinnedPosition = position;
#ifdef SKINNING
@import clay.chunk.skin_matrix
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
#endif
v_Texcoord = texcoord * uvRepeat + uvOffset;
v_Barycentric = barycentric;
gl_Position = worldViewProjection * vec4(skinnedPosition, 1.0);
#ifdef VERTEX_COLOR
v_Color = a_Color;
#endif
}
@end
@export clay.basic.fragment
varying vec2 v_Texcoord;
uniform sampler2D diffuseMap;
uniform vec3 color : [1.0, 1.0, 1.0];
uniform vec3 emission : [0.0, 0.0, 0.0];
uniform float alpha : 1.0;
#ifdef ALPHA_TEST
uniform float alphaCutoff: 0.9;
#endif
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
uniform float lineWidth : 0.0;
uniform vec4 lineColor : [0.0, 0.0, 0.0, 0.6];
varying vec3 v_Barycentric;
@import clay.util.edge_factor
@import clay.util.rgbm
@import clay.util.srgb
@import clay.util.ACES
void main()
{
#ifdef RENDER_TEXCOORD
gl_FragColor = vec4(v_Texcoord, 1.0, 1.0);
return;
#endif
gl_FragColor = vec4(color, alpha);
#ifdef VERTEX_COLOR
gl_FragColor *= v_Color;
#endif
#ifdef DIFFUSEMAP_ENABLED
vec4 tex = decodeHDR(texture2D(diffuseMap, v_Texcoord));
#ifdef SRGB_DECODE
tex = sRGBToLinear(tex);
#endif
#if defined(DIFFUSEMAP_ALPHA_ALPHA)
gl_FragColor.a = tex.a;
#endif
gl_FragColor.rgb *= tex.rgb;
#endif
gl_FragColor.rgb += emission;
if( lineWidth > 0.)
{
gl_FragColor.rgb = mix(gl_FragColor.rgb, lineColor.rgb, (1.0 - edgeFactor(lineWidth)) * lineColor.a);
}
#ifdef ALPHA_TEST
if (gl_FragColor.a < alphaCutoff) {
discard;
}
#endif
#ifdef TONEMAPPING
gl_FragColor.rgb = ACESToneMapping(gl_FragColor.rgb);
#endif
#ifdef SRGB_ENCODE
gl_FragColor = linearTosRGB(gl_FragColor);
#endif
gl_FragColor = encodeHDR(gl_FragColor);
}
@end`},function(tt,Ue,Ne){"use strict";var Ke=Ne(6),Be=Ne(5),we=Ne(25),Te=542327876,ke=1,Ie=2,Ce=4,Me=8,je=4096,ye=131072,ie=524288,ae=8388608,fe=8,de=4194304,ve=4096,xe=512,ce=1024,pe=2048,Se=4096,Le=8192,ze=16384,Ze=32768,Ve=2097152,Qe=1,$e=2,gt=4,lt=64,At=512,Et=131072;function vt(Nn){return Nn.charCodeAt(0)+(Nn.charCodeAt(1)<<8)+(Nn.charCodeAt(2)<<16)+(Nn.charCodeAt(3)<<24)}function Lt(Nn){return String.fromCharCode(Nn&255,Nn>>8&255,Nn>>16&255,Nn>>24&255)}var St=31,xt=vt("DXT1"),ct=vt("DXT3"),Dt=vt("DXT5"),Xt=0,kt=1,Rt=2,Gt=3,ln=4,Rn=7,jn=20,er=21,an=27,Un=28,Kn=29,ur=30,Xn={parse:function(Nn,_n){var un=new Int32Array(Nn,0,St);if(un[Xt]!==Te||!un(jn)&gt)return null;var qt=un(er),Yt=un[ln],gn=un[Gt],_t=un[Un]&xe,Jt=un[Rt]&ye,wt,ut;switch(qt){case xt:wt=8,ut=Ke.a.COMPRESSED_RGB_S3TC_DXT1_EXT;break;case ct:wt=16,ut=Ke.a.COMPRESSED_RGBA_S3TC_DXT3_EXT;break;case Dt:wt=16,ut=Ke.a.COMPRESSED_RGBA_S3TC_DXT5_EXT;break;default:return null}var ot=un[kt]+4,Pt=_t?6:1,Ht=1;Jt&&(Ht=Math.max(1,un[Rn]));for(var Mt=[],hn=0;hn<Pt;hn++){var rr=Yt,Jn=gn;Mt[hn]=new Be.a({width:rr,height:Jn,format:ut});for(var An=[],$n=0;$n<Ht;$n++){var xr=Math.max(4,rr)/4*Math.max(4,Jn)/4*wt,mr=new Uint8Array(Nn,ot,xr);ot+=xr,rr*=.5,Jn*=.5,An[$n]=mr}Mt[hn].pixels=An[0],Jt&&(Mt[hn].mipmaps=An)}if(_n)_n.width=Mt[0].width,_n.height=Mt[0].height,_n.format=Mt[0].format,_n.pixels=Mt[0].pixels,_n.mipmaps=Mt[0].mipmaps;else return Mt[0]}};Ue.a=Xn},function(tt,Ue,Ne){"use strict";var Ke=Ne(6),Be=Ne(5),we=String.fromCharCode,Te=8,ke=32767;function Ie(ae,fe,de,ve){if(ae[3]>0){var xe=Math.pow(2,ae[3]-128-8+ve);fe[de+0]=ae[0]*xe,fe[de+1]=ae[1]*xe,fe[de+2]=ae[2]*xe}else fe[de+0]=0,fe[de+1]=0,fe[de+2]=0;return fe[de+3]=1,fe}function Ce(ae,fe,de){for(var ve="",xe=fe;xe<de;xe++)ve+=we(ae[xe]);return ve}function Me(ae,fe){fe[0]=ae[0],fe[1]=ae[1],fe[2]=ae[2],fe[3]=ae[3]}function je(ae,fe,de,ve){for(var xe=0,ce=0,pe=ve;pe>0;)if(ae[ce][0]=fe[de++],ae[ce][1]=fe[de++],ae[ce][2]=fe[de++],ae[ce][3]=fe[de++],ae[ce][0]===1&&ae[ce][1]===1&&ae[ce][2]===1){for(var Se=ae[ce][3]<<xe>>>0;Se>0;Se--)Me(ae[ce-1],ae[ce]),ce++,pe--;xe+=8}else ce++,pe--,xe=0;return de}function ye(ae,fe,de,ve){if(ve<Te|ve>ke)return je(ae,fe,de,ve);var xe=fe[de++];if(xe!=2)return je(ae,fe,de-1,ve);if(ae[0][1]=fe[de++],ae[0][2]=fe[de++],xe=fe[de++],(ae[0][2]<<8>>>0|xe)>>>0!==ve)return null;for(var xe=0;xe<4;xe++)for(var ce=0;ce<ve;){var pe=fe[de++];if(pe>128){pe=(pe&127)>>>0;for(var Se=fe[de++];pe--;)ae[ce++][xe]=Se}else for(;pe--;)ae[ce++][xe]=fe[de++]}return de}var ie={parseRGBE:function(ae,fe,de){de==null&&(de=0);var ve=new Uint8Array(ae),xe=ve.length;if(Ce(ve,0,2)==="#?"){for(var ce=2;ce<xe&&!(we(ve[ce])===`
`&&we(ve[ce+1])===`
`);ce++);if(!(ce>=xe)){ce+=2;for(var pe="";ce<xe;ce++){var Se=we(ve[ce]);if(Se===`
`)break;pe+=Se}var Le=pe.split(" "),ze=parseInt(Le[1]),Ze=parseInt(Le[3]);if(!(!Ze||!ze)){for(var Ve=ce+1,Qe=[],$e=0;$e<Ze;$e++){Qe[$e]=[];for(var gt=0;gt<4;gt++)Qe[$e][gt]=0}for(var lt=new Float32Array(Ze*ze*4),At=0,Et=0;Et<ze;Et++){var Ve=ye(Qe,ve,Ve,Ze);if(!Ve)return null;for(var $e=0;$e<Ze;$e++)Ie(Qe[$e],lt,At,de),At+=4}return fe||(fe=new Be.a),fe.width=Ze,fe.height=ze,fe.pixels=lt,fe.type=Ke.a.FLOAT,fe}}}},parseRGBEFromPNG:function(ae){}};Ue.a=ie},function(tt,Ue,Ne){"use strict";var Ke=Ne(5),Be=Ne(4),we=Ne(23),Te=["mousedown","mouseup","mousemove","mouseover","mouseout","click","dblclick","contextmenu"];function ke(Ce){return"_on"+Ce}var Ie=function(Ce){var Me=this;this._texture=new Ke.a({anisotropic:32,flipY:!1,surface:this,dispose:function(je){Me.dispose(),Ke.a.prototype.dispose.call(this,je)}}),Te.forEach(function(je){this[ke(je)]=function(ye){ye.triangle&&this._meshes.forEach(function(ie){this.dispatchEvent(je,ie,ye.triangle,ye.point)},this)}},this),this._meshes=[],Ce&&this.setECharts(Ce),this.onupdate=null};Ie.prototype={constructor:Ie,getTexture:function(){return this._texture},setECharts:function(Ce){this._chart=Ce;var Me=Ce.getDom();if(!(Me instanceof HTMLCanvasElement))console.error("ECharts must init on canvas if it is used as texture."),Me=document.createElement("canvas");else{var je=this,ye=Ce.getZr(),ie=ye.__oldRefreshImmediately||ye.refreshImmediately;ye.refreshImmediately=function(){ie.call(this),je._texture.dirty(),je.onupdate&&je.onupdate()},ye.__oldRefreshImmediately=ie}this._texture.image=Me,this._texture.dirty(),this.onupdate&&this.onupdate()},dispatchEvent:function(){var Ce=new Be.a,Me=new Be.a,je=new Be.a,ye=new we.a,ie=new we.a,ae=new we.a,fe=new we.a,de=new Be.a;return function(ve,xe,ce,pe){var Se=xe.geometry,Le=Se.attributes.position,ze=Se.attributes.texcoord0,Ze=Be.a.dot,Ve=Be.a.cross;Le.get(ce[0],Ce.array),Le.get(ce[1],Me.array),Le.get(ce[2],je.array),ze.get(ce[0],ye.array),ze.get(ce[1],ie.array),ze.get(ce[2],ae.array),Ve(de,Me,je);var Qe=Ze(Ce,de),$e=Ze(pe,de)/Qe;Ve(de,je,Ce);var gt=Ze(pe,de)/Qe;Ve(de,Ce,Me);var lt=Ze(pe,de)/Qe;we.a.scale(fe,ye,$e),we.a.scaleAndAdd(fe,fe,ie,gt),we.a.scaleAndAdd(fe,fe,ae,lt);var At=fe.x*this._chart.getWidth(),Et=fe.y*this._chart.getHeight();this._chart.getZr().handler.dispatch(ve,{zrX:At,zrY:Et})}}(),attachToMesh:function(Ce){this._meshes.indexOf(Ce)>=0||(Te.forEach(function(Me){Ce.on(Me,this[ke(Me)],this)},this),this._meshes.push(Ce))},detachFromMesh:function(Ce){var Me=this._meshes.indexOf(Ce);Me>=0&&this._meshes.splice(Me,1),Te.forEach(function(je){Ce.off(je,this[ke(je)])},this)},dispose:function(){this._meshes.forEach(function(Ce){this.detachFromMesh(Ce)},this)}},Ue.a=Ie},function(tt,Ue,Ne){"use strict";var Ke=Ne(19),Be=Ne(108),we=Ke.a.extend({cubemap:null,castShadow:!1,_normalDistribution:null,_brdfLookup:null},{type:"AMBIENT_CUBEMAP_LIGHT",prefilter:function(Te,ke){this._brdfLookup||(this._normalDistribution=Be.a.generateNormalDistribution(),this._brdfLookup=Be.a.integrateBRDF(Te,this._normalDistribution));var Ie=this.cubemap;if(!Ie.__prefiltered){var Ce=Be.a.prefilterEnvironmentMap(Te,Ie,{encodeRGBM:!0,width:ke,height:ke},this._normalDistribution,this._brdfLookup);this.cubemap=Ce.environmentMap,this.cubemap.__prefiltered=!0,Ie.dispose(Te)}},uniformTemplates:{ambientCubemapLightColor:{type:"3f",value:function(Te){var ke=Te.color,Ie=Te.intensity;return[ke[0]*Ie,ke[1]*Ie,ke[2]*Ie]}},ambientCubemapLightCubemap:{type:"t",value:function(Te){return Te.cubemap}},ambientCubemapLightBRDFLookup:{type:"t",value:function(Te){return Te._brdfLookup}}}});Ue.a=we},function(tt,Ue,Ne){"use strict";var Ke=Ne(5),Be=Ne(25),we=Ne(6),Te=Ne(10),ke=Ne(14),Ie=Ne(17),Ce=Ne(7),Me=Ne(57),je=Ne(29),ye=Ne(55),ie=Ne(18),ae=Ne(54),fe=Ne(111),de=Ne(112),ve={},xe=["px","nx","py","ny","pz","nz"];ve.prefilterEnvironmentMap=function(ce,pe,Se,Le,ze){(!ze||!Le)&&(Le=ve.generateNormalDistribution(),ze=ve.integrateBRDF(ce,Le)),Se=Se||{};var Ze=Se.width||64,Ve=Se.height||64,Qe=Se.type||pe.type,$e=new Be.a({width:Ze,height:Ve,type:Qe,flipY:!1,mipmaps:[]});$e.isPowerOfTwo()||console.warn("Width and height must be power of two to enable mipmap.");var gt=Math.min(Ze,Ve),lt=Math.log(gt)/Math.log(2)+1,At=new Ie.a({shader:new Ce.a({vertex:Ce.a.source("clay.skybox.vertex"),fragment:de.a})});At.set("normalDistribution",Le),Se.encodeRGBM&&At.define("fragment","RGBM_ENCODE"),Se.decodeRGBM&&At.define("fragment","RGBM_DECODE");var Et=new je.a,vt;if(pe instanceof Ke.a){var Lt=new Be.a({width:Ze,height:Ve,type:Qe===we.a.FLOAT?we.a.HALF_FLOAT:Qe});ae.a.panoramaToCubeMap(ce,pe,Lt,{encodeRGBM:Se.decodeRGBM}),pe=Lt}vt=new Me.a({scene:Et,material:At}),vt.material.set("environmentMap",pe);var St=new ye.a({texture:$e});Se.encodeRGBM&&(Qe=$e.type=we.a.UNSIGNED_BYTE);for(var xt=new Ke.a({width:Ze,height:Ve,type:Qe}),ct=new Te.a({depthBuffer:!1}),Dt=ie.a[Qe===we.a.UNSIGNED_BYTE?"Uint8Array":"Float32Array"],Xt=0;Xt<lt;Xt++){$e.mipmaps[Xt]={pixels:{}},vt.material.set("roughness",Xt/(xe.length-1));for(var kt=xt.width,Rt=2*Math.atan(kt/(kt-.5))/Math.PI*180,Gt=0;Gt<xe.length;Gt++){var ln=new Dt(xt.width*xt.height*4);ct.attach(xt),ct.bind(ce);var Rn=St.getCamera(xe[Gt]);Rn.fov=Rt,ce.render(Et,Rn),ce.gl.readPixels(0,0,xt.width,xt.height,we.a.RGBA,Qe,ln),ct.unbind(ce),$e.mipmaps[Xt].pixels[xe[Gt]]=ln}xt.width/=2,xt.height/=2,xt.dirty()}return ct.dispose(ce),xt.dispose(ce),vt.dispose(ce),Le.dispose(ce),{environmentMap:$e,brdfLookup:ze,normalDistribution:Le,maxMipmapLevel:lt}},ve.integrateBRDF=function(ce,pe){pe=pe||ve.generateNormalDistribution();var Se=new Te.a({depthBuffer:!1}),Le=new ke.a({fragment:fe.a}),ze=new Ke.a({width:512,height:256,type:we.a.HALF_FLOAT,minFilter:we.a.NEAREST,magFilter:we.a.NEAREST,useMipmap:!1});return Le.setUniform("normalDistribution",pe),Le.setUniform("viewportSize",[512,256]),Le.attachOutput(ze),Le.render(ce,Se),Se.dispose(ce),ze},ve.generateNormalDistribution=function(Se,Le){for(var Se=Se||256,Le=Le||1024,ze=new Ke.a({width:Se,height:Le,type:we.a.FLOAT,minFilter:we.a.NEAREST,magFilter:we.a.NEAREST,useMipmap:!1}),Ze=new Float32Array(Le*Se*4),Ve=0;Ve<Le;Ve++){var Qe=Ve/Le,$e=(Ve<<16|Ve>>>16)>>>0;$e=(($e&1431655765)<<1|($e&2863311530)>>>1)>>>0,$e=(($e&858993459)<<2|($e&3435973836)>>>2)>>>0,$e=(($e&252645135)<<4|($e&4042322160)>>>4)>>>0,$e=((($e&16711935)<<8|($e&4278255360)>>>8)>>>0)/4294967296;for(var gt=0;gt<Se;gt++){var lt=gt/Se,At=lt*lt,Et=2*Math.PI*Qe,vt=Math.sqrt((1-$e)/(1+(At*At-1)*$e)),Lt=Math.sqrt(1-vt*vt),St=(Ve*Se+gt)*4;Ze[St]=Lt*Math.cos(Et),Ze[St+1]=Lt*Math.sin(Et),Ze[St+2]=vt,Ze[St+3]=1}}return ze.pixels=Ze,ze},Ue.a=ve},function(tt,Ue,Ne){"use strict";Ue.a=`
@export clay.compositor.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
attribute vec2 texcoord : TEXCOORD_0;
varying vec2 v_Texcoord;
void main()
{
v_Texcoord = texcoord;
gl_Position = worldViewProjection * vec4(position, 1.0);
}
@end`},function(tt,Ue,Ne){"use strict";Ue.a=`@export clay.skybox.vertex
uniform mat4 world : WORLD;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
varying vec3 v_WorldPosition;
void main()
{
v_WorldPosition = (world * vec4(position, 1.0)).xyz;
gl_Position = worldViewProjection * vec4(position, 1.0);
}
@end
@export clay.skybox.fragment
uniform mat4 viewInverse : VIEWINVERSE;
uniform samplerCube environmentMap;
uniform float lod: 0.0;
varying vec3 v_WorldPosition;
@import clay.util.rgbm
@import clay.util.srgb
@import clay.util.ACES
void main()
{
vec3 eyePos = viewInverse[3].xyz;
vec3 viewDirection = normalize(v_WorldPosition - eyePos);
#ifdef LOD
vec4 texel = decodeHDR(textureCubeLodEXT(environmentMap, viewDirection, lod));
#else
vec4 texel = decodeHDR(textureCube(environmentMap, viewDirection));
#endif
#ifdef SRGB_DECODE
texel = sRGBToLinear(texel);
#endif
#ifdef TONEMAPPING
texel.rgb = ACESToneMapping(texel.rgb);
#endif
#ifdef SRGB_ENCODE
texel = linearTosRGB(texel);
#endif
gl_FragColor = encodeHDR(vec4(texel.rgb, 1.0));
}
@end`},function(tt,Ue,Ne){"use strict";Ue.a=`#define SAMPLE_NUMBER 1024
#define PI 3.14159265358979
uniform sampler2D normalDistribution;
uniform vec2 viewportSize : [512, 256];
const vec3 N = vec3(0.0, 0.0, 1.0);
const float fSampleNumber = float(SAMPLE_NUMBER);
vec3 importanceSampleNormal(float i, float roughness, vec3 N) {
vec3 H = texture2D(normalDistribution, vec2(roughness, i)).rgb;
vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0);
vec3 tangentX = normalize(cross(upVector, N));
vec3 tangentY = cross(N, tangentX);
return tangentX * H.x + tangentY * H.y + N * H.z;
}
float G_Smith(float roughness, float NoV, float NoL) {
float k = roughness * roughness / 2.0;
float G1V = NoV / (NoV * (1.0 - k) + k);
float G1L = NoL / (NoL * (1.0 - k) + k);
return G1L * G1V;
}
void main() {
vec2 uv = gl_FragCoord.xy / viewportSize;
float NoV = uv.x;
float roughness = uv.y;
vec3 V;
V.x = sqrt(1.0 - NoV * NoV);
V.y = 0.0;
V.z = NoV;
float A = 0.0;
float B = 0.0;
for (int i = 0; i < SAMPLE_NUMBER; i++) {
vec3 H = importanceSampleNormal(float(i) / fSampleNumber, roughness, N);
vec3 L = reflect(-V, H);
float NoL = clamp(L.z, 0.0, 1.0);
float NoH = clamp(H.z, 0.0, 1.0);
float VoH = clamp(dot(V, H), 0.0, 1.0);
if (NoL > 0.0) {
float G = G_Smith(roughness, NoV, NoL);
float G_Vis = G * VoH / (NoH * NoV);
float Fc = pow(1.0 - VoH, 5.0);
A += (1.0 - Fc) * G_Vis;
B += Fc * G_Vis;
}
}
gl_FragColor = vec4(vec2(A, B) / fSampleNumber, 0.0, 1.0);
}
`},function(tt,Ue,Ne){"use strict";Ue.a=`#define SAMPLE_NUMBER 1024
#define PI 3.14159265358979
uniform mat4 viewInverse : VIEWINVERSE;
uniform samplerCube environmentMap;
uniform sampler2D normalDistribution;
uniform float roughness : 0.5;
varying vec2 v_Texcoord;
varying vec3 v_WorldPosition;
const float fSampleNumber = float(SAMPLE_NUMBER);
@import clay.util.rgbm
vec3 importanceSampleNormal(float i, float roughness, vec3 N) {
vec3 H = texture2D(normalDistribution, vec2(roughness, i)).rgb;
vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0);
vec3 tangentX = normalize(cross(upVector, N));
vec3 tangentY = cross(N, tangentX);
return tangentX * H.x + tangentY * H.y + N * H.z;
}
void main() {
vec3 eyePos = viewInverse[3].xyz;
vec3 V = normalize(v_WorldPosition - eyePos);
vec3 N = V;
vec3 R = V;
vec3 prefilteredColor = vec3(0.0);
float totalWeight = 0.0;
for (int i = 0; i < SAMPLE_NUMBER; i++) {
vec3 H = importanceSampleNormal(float(i) / fSampleNumber, roughness, N);
vec3 L = reflect(-V, H);
float NoL = clamp(dot(N, L), 0.0, 1.0);
if (NoL > 0.0) {
prefilteredColor += decodeHDR(textureCube(environmentMap, L)).rgb * NoL;
totalWeight += NoL;
}
}
gl_FragColor = encodeHDR(vec4(prefilteredColor / totalWeight, 1.0));
}
`},function(tt,Ue,Ne){"use strict";var Ke=Ne(19),Be=Ne(18),we=Ke.a.extend({castShadow:!1,coefficients:[]},function(){this._coefficientsTmpArr=new Be.a.Float32Array(9*3)},{type:"AMBIENT_SH_LIGHT",uniformTemplates:{ambientSHLightColor:{type:"3f",value:function(Te){var ke=Te.color,Ie=Te.intensity;return[ke[0]*Ie,ke[1]*Ie,ke[2]*Ie]}},ambientSHLightCoefficients:{type:"3f",value:function(Te){for(var ke=Te._coefficientsTmpArr,Ie=0;Ie<Te.coefficients.length;Ie++)ke[Ie]=Te.coefficients[Ie];return ke}}}});Ue.a=we},function(tt,Ue,Ne){"use strict";var Ke=Ne(6),Be=Ne(10),we=Ne(5),Te=Ne(14),ke=Ne(18),Ie=Ne(57),Ce=Ne(56),Me=Ne(55),je=Ne(29),ye=Ne(1),ie=Ne.n(ye),ae=Ne(115),fe=ie.a.vec3,de={},ve=["px","nx","py","ny","pz","nz"];function xe(Le,ze){var Ze=new we.a({width:9,height:1,type:Ke.a.FLOAT}),Ve=new Te.a({fragment:ae.a});Ve.material.define("fragment","TEXTURE_SIZE",ze.width),Ve.setUniform("environmentMap",ze);var Qe=new Be.a;Qe.attach(Ze),Ve.render(Le,Qe),Qe.bind(Le);var $e=new ke.a.Float32Array(9*4);Le.gl.readPixels(0,0,9,1,Ke.a.RGBA,Ke.a.FLOAT,$e);for(var gt=new ke.a.Float32Array(9*3),lt=0;lt<9;lt++)gt[lt*3]=$e[lt*4],gt[lt*3+1]=$e[lt*4+1],gt[lt*3+2]=$e[lt*4+2];return Qe.unbind(Le),Qe.dispose(Le),Ve.dispose(Le),gt}function ce(Le,ze){var Ze=Le[0],Ve=Le[1],Qe=Le[2];return ze===0?1:ze===1?Ze:ze===2?Ve:ze===3?Qe:ze===4?Ze*Qe:ze===5?Ve*Qe:ze===6?Ze*Ve:ze===7?3*Qe*Qe-1:Ze*Ze-Ve*Ve}var pe={px:[2,1,0,-1,-1,1],nx:[2,1,0,1,-1,-1],py:[0,2,1,1,-1,-1],ny:[0,2,1,1,1,1],pz:[0,1,2,-1,-1,-1],nz:[0,1,2,1,-1,1]};function Se(Le,ze,Ze,Ve){for(var Qe=new ke.a.Float32Array(27),$e=fe.create(),gt=fe.create(),lt=fe.create(),At=0;At<9;At++){for(var Et=fe.create(),vt=0;vt<ve.length;vt++){for(var Lt=ze[ve[vt]],St=fe.create(),xt=0,ct=0,Dt=pe[ve[vt]],Xt=0;Xt<Ve;Xt++)for(var kt=0;kt<Ze;kt++){$e[0]=kt/(Ze-1)*2-1,$e[1]=Xt/(Ve-1)*2-1,$e[2]=-1,fe.normalize($e,$e),lt[0]=$e[Dt[0]]*Dt[3],lt[1]=$e[Dt[1]]*Dt[4],lt[2]=$e[Dt[2]]*Dt[5],gt[0]=Lt[ct++]/255,gt[1]=Lt[ct++]/255,gt[2]=Lt[ct++]/255;var Rt=Lt[ct++]/255*51.5;gt[0]*=Rt,gt[1]*=Rt,gt[2]*=Rt,fe.scaleAndAdd(St,St,gt,ce(lt,At)*-$e[2]),xt+=-$e[2]}fe.scaleAndAdd(Et,Et,St,1/xt)}Qe[At*3]=Et[0]/6,Qe[At*3+1]=Et[1]/6,Qe[At*3+2]=Et[2]/6}return Qe}de.projectEnvironmentMap=function(Le,ze,Ze){Ze=Ze||{},Ze.lod=Ze.lod||0;var Ve,Qe=new je.a,$e=64;ze instanceof we.a?Ve=new Ce.a({scene:Qe,environmentMap:ze}):($e=ze.image&&ze.image.px?ze.image.px.width:ze.width,Ve=new Ie.a({scene:Qe,environmentMap:ze}));var gt=Math.ceil($e/Math.pow(2,Ze.lod)),lt=Math.ceil($e/Math.pow(2,Ze.lod)),At=new we.a({width:gt,height:lt}),Et=new Be.a;Ve.material.define("fragment","RGBM_ENCODE"),Ze.decodeRGBM&&Ve.material.define("fragment","RGBM_DECODE"),Ve.material.set("lod",Ze.lod);for(var vt=new Me.a({texture:At}),Lt={},St=0;St<ve.length;St++){Lt[ve[St]]=new Uint8Array(gt*lt*4);var xt=vt.getCamera(ve[St]);xt.fov=90,Et.attach(At),Et.bind(Le),Le.render(Qe,xt),Le.gl.readPixels(0,0,gt,lt,Ke.a.RGBA,Ke.a.UNSIGNED_BYTE,Lt[ve[St]]),Et.unbind(Le)}return Ve.dispose(Le),Et.dispose(Le),At.dispose(Le),Se(Le,Lt,gt,lt)},Ue.a=de},function(tt,Ue,Ne){"use strict";Ue.a=`uniform samplerCube environmentMap;
varying vec2 v_Texcoord;
#define TEXTURE_SIZE 16
mat3 front = mat3(
1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, 1.0
);
mat3 back = mat3(
-1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, -1.0
);
mat3 left = mat3(
0.0, 0.0, -1.0,
0.0, 1.0, 0.0,
1.0, 0.0, 0.0
);
mat3 right = mat3(
0.0, 0.0, 1.0,
0.0, 1.0, 0.0,
-1.0, 0.0, 0.0
);
mat3 up = mat3(
1.0, 0.0, 0.0,
0.0, 0.0, 1.0,
0.0, -1.0, 0.0
);
mat3 down = mat3(
1.0, 0.0, 0.0,
0.0, 0.0, -1.0,
0.0, 1.0, 0.0
);
float harmonics(vec3 normal){
int index = int(gl_FragCoord.x);
float x = normal.x;
float y = normal.y;
float z = normal.z;
if(index==0){
return 1.0;
}
else if(index==1){
return x;
}
else if(index==2){
return y;
}
else if(index==3){
return z;
}
else if(index==4){
return x*z;
}
else if(index==5){
return y*z;
}
else if(index==6){
return x*y;
}
else if(index==7){
return 3.0*z*z - 1.0;
}
else{
return x*x - y*y;
}
}
vec3 sampleSide(mat3 rot)
{
vec3 result = vec3(0.0);
float divider = 0.0;
for (int i = 0; i < TEXTURE_SIZE * TEXTURE_SIZE; i++) {
float x = mod(float(i), float(TEXTURE_SIZE));
float y = float(i / TEXTURE_SIZE);
vec2 sidecoord = ((vec2(x, y) + vec2(0.5, 0.5)) / vec2(TEXTURE_SIZE)) * 2.0 - 1.0;
vec3 normal = normalize(vec3(sidecoord, -1.0));
vec3 fetchNormal = rot * normal;
vec3 texel = textureCube(environmentMap, fetchNormal).rgb;
result += harmonics(fetchNormal) * texel * -normal.z;
divider += -normal.z;
}
return result / divider;
}
void main()
{
vec3 result = (
sampleSide(front) +
sampleSide(back) +
sampleSide(left) +
sampleSide(right) +
sampleSide(up) +
sampleSide(down)
) / 6.0;
gl_FragColor = vec4(result, 1.0);
}`},function(tt,Ue,Ne){"use strict";var Ke=Ne(19),Be=Ke.a.extend({castShadow:!1},{type:"AMBIENT_LIGHT",uniformTemplates:{ambientLightColor:{type:"3f",value:function(we){var Te=we.color,ke=we.intensity;return[Te[0]*ke,Te[1]*ke,Te[2]*ke]}}}});Ue.a=Be},function(tt,Ue,Ne){"use strict";var Ke=Ne(1),Be=Ne.n(Ke),we=Be.a.vec4,Te=function(Ce,Me,je,ye){Ce=Ce||0,Me=Me||0,je=je||0,ye=ye||0,this.array=we.fromValues(Ce,Me,je,ye),this._dirty=!0};Te.prototype={constructor:Te,add:function(Ce){return we.add(this.array,this.array,Ce.array),this._dirty=!0,this},set:function(Ce,Me,je,ye){return this.array[0]=Ce,this.array[1]=Me,this.array[2]=je,this.array[3]=ye,this._dirty=!0,this},setArray:function(Ce){return this.array[0]=Ce[0],this.array[1]=Ce[1],this.array[2]=Ce[2],this.array[3]=Ce[3],this._dirty=!0,this},clone:function(){return new Te(this.x,this.y,this.z,this.w)},copy:function(Ce){return we.copy(this.array,Ce.array),this._dirty=!0,this},dist:function(Ce){return we.dist(this.array,Ce.array)},distance:function(Ce){return we.distance(this.array,Ce.array)},div:function(Ce){return we.div(this.array,this.array,Ce.array),this._dirty=!0,this},divide:function(Ce){return we.divide(this.array,this.array,Ce.array),this._dirty=!0,this},dot:function(Ce){return we.dot(this.array,Ce.array)},len:function(){return we.len(this.array)},length:function(){return we.length(this.array)},lerp:function(Ce,Me,je){return we.lerp(this.array,Ce.array,Me.array,je),this._dirty=!0,this},min:function(Ce){return we.min(this.array,this.array,Ce.array),this._dirty=!0,this},max:function(Ce){return we.max(this.array,this.array,Ce.array),this._dirty=!0,this},mul:function(Ce){return we.mul(this.array,this.array,Ce.array),this._dirty=!0,this},multiply:function(Ce){return we.multiply(this.array,this.array,Ce.array),this._dirty=!0,this},negate:function(){return we.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return we.normalize(this.array,this.array),this._dirty=!0,this},random:function(Ce){return we.random(this.array,Ce),this._dirty=!0,this},scale:function(Ce){return we.scale(this.array,this.array,Ce),this._dirty=!0,this},scaleAndAdd:function(Ce,Me){return we.scaleAndAdd(this.array,this.array,Ce.array,Me),this._dirty=!0,this},sqrDist:function(Ce){return we.sqrDist(this.array,Ce.array)},squaredDistance:function(Ce){return we.squaredDistance(this.array,Ce.array)},sqrLen:function(){return we.sqrLen(this.array)},squaredLength:function(){return we.squaredLength(this.array)},sub:function(Ce){return we.sub(this.array,this.array,Ce.array),this._dirty=!0,this},subtract:function(Ce){return we.subtract(this.array,this.array,Ce.array),this._dirty=!0,this},transformMat4:function(Ce){return we.transformMat4(this.array,this.array,Ce.array),this._dirty=!0,this},transformQuat:function(Ce){return we.transformQuat(this.array,this.array,Ce.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var ke=Object.defineProperty;if(ke){var Ie=Te.prototype;ke(Ie,"x",{get:function(){return this.array[0]},set:function(Ce){this.array[0]=Ce,this._dirty=!0}}),ke(Ie,"y",{get:function(){return this.array[1]},set:function(Ce){this.array[1]=Ce,this._dirty=!0}}),ke(Ie,"z",{get:function(){return this.array[2]},set:function(Ce){this.array[2]=Ce,this._dirty=!0}}),ke(Ie,"w",{get:function(){return this.array[3]},set:function(Ce){this.array[3]=Ce,this._dirty=!0}})}Te.add=function(Ce,Me,je){return we.add(Ce.array,Me.array,je.array),Ce._dirty=!0,Ce},Te.set=function(Ce,Me,je,ye,ie){we.set(Ce.array,Me,je,ye,ie),Ce._dirty=!0},Te.copy=function(Ce,Me){return we.copy(Ce.array,Me.array),Ce._dirty=!0,Ce},Te.dist=function(Ce,Me){return we.distance(Ce.array,Me.array)},Te.distance=Te.dist,Te.div=function(Ce,Me,je){return we.divide(Ce.array,Me.array,je.array),Ce._dirty=!0,Ce},Te.divide=Te.div,Te.dot=function(Ce,Me){return we.dot(Ce.array,Me.array)},Te.len=function(Ce){return we.length(Ce.array)},Te.lerp=function(Ce,Me,je,ye){return we.lerp(Ce.array,Me.array,je.array,ye),Ce._dirty=!0,Ce},Te.min=function(Ce,Me,je){return we.min(Ce.array,Me.array,je.array),Ce._dirty=!0,Ce},Te.max=function(Ce,Me,je){return we.max(Ce.array,Me.array,je.array),Ce._dirty=!0,Ce},Te.mul=function(Ce,Me,je){return we.multiply(Ce.array,Me.array,je.array),Ce._dirty=!0,Ce},Te.multiply=Te.mul,Te.negate=function(Ce,Me){return we.negate(Ce.array,Me.array),Ce._dirty=!0,Ce},Te.normalize=function(Ce,Me){return we.normalize(Ce.array,Me.array),Ce._dirty=!0,Ce},Te.random=function(Ce,Me){return we.random(Ce.array,Me),Ce._dirty=!0,Ce},Te.scale=function(Ce,Me,je){return we.scale(Ce.array,Me.array,je),Ce._dirty=!0,Ce},Te.scaleAndAdd=function(Ce,Me,je,ye){return we.scaleAndAdd(Ce.array,Me.array,je.array,ye),Ce._dirty=!0,Ce},Te.sqrDist=function(Ce,Me){return we.sqrDist(Ce.array,Me.array)},Te.squaredDistance=Te.sqrDist,Te.sqrLen=function(Ce){return we.sqrLen(Ce.array)},Te.squaredLength=Te.sqrLen,Te.sub=function(Ce,Me,je){return we.subtract(Ce.array,Me.array,je.array),Ce._dirty=!0,Ce},Te.subtract=Te.sub,Te.transformMat4=function(Ce,Me,je){return we.transformMat4(Ce.array,Me.array,je.array),Ce._dirty=!0,Ce},Te.transformQuat=function(Ce,Me,je){return we.transformQuat(Ce.array,Me.array,je.array),Ce._dirty=!0,Ce},Ue.a=Te},function(tt,Ue,Ne){"use strict";var Ke=Ne(1),Be=Ne.n(Ke),we=Be.a.mat2,Te=function(){this.array=we.create(),this._dirty=!0};Te.prototype={constructor:Te,setArray:function(ke){for(var Ie=0;Ie<this.array.length;Ie++)this.array[Ie]=ke[Ie];return this._dirty=!0,this},clone:function(){return new Te().copy(this)},copy:function(ke){return we.copy(this.array,ke.array),this._dirty=!0,this},adjoint:function(){return we.adjoint(this.array,this.array),this._dirty=!0,this},determinant:function(){return we.determinant(this.array)},identity:function(){return we.identity(this.array),this._dirty=!0,this},invert:function(){return we.invert(this.array,this.array),this._dirty=!0,this},mul:function(ke){return we.mul(this.array,this.array,ke.array),this._dirty=!0,this},mulLeft:function(ke){return we.mul(this.array,ke.array,this.array),this._dirty=!0,this},multiply:function(ke){return we.multiply(this.array,this.array,ke.array),this._dirty=!0,this},multiplyLeft:function(ke){return we.multiply(this.array,ke.array,this.array),this._dirty=!0,this},rotate:function(ke){return we.rotate(this.array,this.array,ke),this._dirty=!0,this},scale:function(ke){return we.scale(this.array,this.array,ke.array),this._dirty=!0,this},transpose:function(){return we.transpose(this.array,this.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},Te.adjoint=function(ke,Ie){return we.adjoint(ke.array,Ie.array),ke._dirty=!0,ke},Te.copy=function(ke,Ie){return we.copy(ke.array,Ie.array),ke._dirty=!0,ke},Te.determinant=function(ke){return we.determinant(ke.array)},Te.identity=function(ke){return we.identity(ke.array),ke._dirty=!0,ke},Te.invert=function(ke,Ie){return we.invert(ke.array,Ie.array),ke._dirty=!0,ke},Te.mul=function(ke,Ie,Ce){return we.mul(ke.array,Ie.array,Ce.array),ke._dirty=!0,ke},Te.multiply=Te.mul,Te.rotate=function(ke,Ie,Ce){return we.rotate(ke.array,Ie.array,Ce),ke._dirty=!0,ke},Te.scale=function(ke,Ie,Ce){return we.scale(ke.array,Ie.array,Ce.array),ke._dirty=!0,ke},Te.transpose=function(ke,Ie){return we.transpose(ke.array,Ie.array),ke._dirty=!0,ke},Ue.a=Te},function(tt,Ue,Ne){"use strict";var Ke=Ne(1),Be=Ne.n(Ke),we=Be.a.mat2d,Te=function(){this.array=we.create(),this._dirty=!0};Te.prototype={constructor:Te,setArray:function(ke){for(var Ie=0;Ie<this.array.length;Ie++)this.array[Ie]=ke[Ie];return this._dirty=!0,this},clone:function(){return new Te().copy(this)},copy:function(ke){return we.copy(this.array,ke.array),this._dirty=!0,this},determinant:function(){return we.determinant(this.array)},identity:function(){return we.identity(this.array),this._dirty=!0,this},invert:function(){return we.invert(this.array,this.array),this._dirty=!0,this},mul:function(ke){return we.mul(this.array,this.array,ke.array),this._dirty=!0,this},mulLeft:function(ke){return we.mul(this.array,ke.array,this.array),this._dirty=!0,this},multiply:function(ke){return we.multiply(this.array,this.array,ke.array),this._dirty=!0,this},multiplyLeft:function(ke){return we.multiply(this.array,ke.array,this.array),this._dirty=!0,this},rotate:function(ke){return we.rotate(this.array,this.array,ke),this._dirty=!0,this},scale:function(ke){return we.scale(this.array,this.array,ke.array),this._dirty=!0,this},translate:function(ke){return we.translate(this.array,this.array,ke.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},Te.copy=function(ke,Ie){return we.copy(ke.array,Ie.array),ke._dirty=!0,ke},Te.determinant=function(ke){return we.determinant(ke.array)},Te.identity=function(ke){return we.identity(ke.array),ke._dirty=!0,ke},Te.invert=function(ke,Ie){return we.invert(ke.array,Ie.array),ke._dirty=!0,ke},Te.mul=function(ke,Ie,Ce){return we.mul(ke.array,Ie.array,Ce.array),ke._dirty=!0,ke},Te.multiply=Te.mul,Te.rotate=function(ke,Ie,Ce){return we.rotate(ke.array,Ie.array,Ce),ke._dirty=!0,ke},Te.scale=function(ke,Ie,Ce){return we.scale(ke.array,Ie.array,Ce.array),ke._dirty=!0,ke},Te.translate=function(ke,Ie,Ce){return we.translate(ke.array,Ie.array,Ce.array),ke._dirty=!0,ke},Ue.a=Te},function(tt,Ue,Ne){"use strict";var Ke=Ne(1),Be=Ne.n(Ke),we=Be.a.mat3,Te=function(){this.array=we.create(),this._dirty=!0};Te.prototype={constructor:Te,setArray:function(ke){for(var Ie=0;Ie<this.array.length;Ie++)this.array[Ie]=ke[Ie];return this._dirty=!0,this},adjoint:function(){return we.adjoint(this.array,this.array),this._dirty=!0,this},clone:function(){return new Te().copy(this)},copy:function(ke){return we.copy(this.array,ke.array),this._dirty=!0,this},determinant:function(){return we.determinant(this.array)},fromMat2d:function(ke){return we.fromMat2d(this.array,ke.array),this._dirty=!0,this},fromMat4:function(ke){return we.fromMat4(this.array,ke.array),this._dirty=!0,this},fromQuat:function(ke){return we.fromQuat(this.array,ke.array),this._dirty=!0,this},identity:function(){return we.identity(this.array),this._dirty=!0,this},invert:function(){return we.invert(this.array,this.array),this._dirty=!0,this},mul:function(ke){return we.mul(this.array,this.array,ke.array),this._dirty=!0,this},mulLeft:function(ke){return we.mul(this.array,ke.array,this.array),this._dirty=!0,this},multiply:function(ke){return we.multiply(this.array,this.array,ke.array),this._dirty=!0,this},multiplyLeft:function(ke){return we.multiply(this.array,ke.array,this.array),this._dirty=!0,this},rotate:function(ke){return we.rotate(this.array,this.array,ke),this._dirty=!0,this},scale:function(ke){return we.scale(this.array,this.array,ke.array),this._dirty=!0,this},translate:function(ke){return we.translate(this.array,this.array,ke.array),this._dirty=!0,this},normalFromMat4:function(ke){return we.normalFromMat4(this.array,ke.array),this._dirty=!0,this},transpose:function(){return we.transpose(this.array,this.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},Te.adjoint=function(ke,Ie){return we.adjoint(ke.array,Ie.array),ke._dirty=!0,ke},Te.copy=function(ke,Ie){return we.copy(ke.array,Ie.array),ke._dirty=!0,ke},Te.determinant=function(ke){return we.determinant(ke.array)},Te.identity=function(ke){return we.identity(ke.array),ke._dirty=!0,ke},Te.invert=function(ke,Ie){return we.invert(ke.array,Ie.array),ke},Te.mul=function(ke,Ie,Ce){return we.mul(ke.array,Ie.array,Ce.array),ke._dirty=!0,ke},Te.multiply=Te.mul,Te.fromMat2d=function(ke,Ie){return we.fromMat2d(ke.array,Ie.array),ke._dirty=!0,ke},Te.fromMat4=function(ke,Ie){return we.fromMat4(ke.array,Ie.array),ke._dirty=!0,ke},Te.fromQuat=function(ke,Ie){return we.fromQuat(ke.array,Ie.array),ke._dirty=!0,ke},Te.normalFromMat4=function(ke,Ie){return we.normalFromMat4(ke.array,Ie.array),ke._dirty=!0,ke},Te.rotate=function(ke,Ie,Ce){return we.rotate(ke.array,Ie.array,Ce),ke._dirty=!0,ke},Te.scale=function(ke,Ie,Ce){return we.scale(ke.array,Ie.array,Ce.array),ke._dirty=!0,ke},Te.transpose=function(ke,Ie){return we.transpose(ke.array,Ie.array),ke._dirty=!0,ke},Te.translate=function(ke,Ie,Ce){return we.translate(ke.array,Ie.array,Ce.array),ke._dirty=!0,ke},Ue.a=Te},function(tt,Ue,Ne){"use strict";var Ke=Ne(122),Be=Ne.n(Ke),we={_animators:null,getAnimators:function(){return this._animators=this._animators||[],this._animators},animate:function(Te,ke){this._animators=this._animators||[];var Ie=this,Ce;if(Te){for(var Me=Te.split("."),je=Ie,ye=0,ie=Me.length;ye<ie;ye++)je&&(je=je[Me[ye]]);je&&(Ce=je)}else Ce=Ie;if(Ce==null)throw new Error("Target "+Te+" not exists");var ae=this._animators,fe=new Be.a(Ce,ke),de=this;return fe.during(function(){de.__zr&&de.__zr.refresh()}).done(function(){var ve=ae.indexOf(fe);ve>=0&&ae.splice(ve,1)}),ae.push(fe),this.__zr&&this.__zr.animation.addAnimator(fe),fe},stopAnimation:function(Te){this._animators=this._animators||[];for(var ke=this._animators,Ie=ke.length,Ce=0;Ce<Ie;Ce++)ke[Ce].stop(Te);return ke.length=0,this},addAnimatorsToZr:function(Te){if(this._animators)for(var ke=0;ke<this._animators.length;ke++)Te.animation.addAnimator(this._animators[ke])},removeAnimatorsFromZr:function(Te){if(this._animators)for(var ke=0;ke<this._animators.length;ke++)Te.animation.removeAnimator(this._animators[ke])}};Ue.a=we},function(tt,Ue,Ne){var Ke=Ne(123),Be=Ne(125),we=Ne(12),Te=we.isArrayLike,ke=Array.prototype.slice;function Ie(ze,Ze){return ze[Ze]}function Ce(ze,Ze,Ve){ze[Ze]=Ve}function Me(ze,Ze,Ve){return(Ze-ze)*Ve+ze}function je(ze,Ze,Ve){return Ve>.5?Ze:ze}function ye(ze,Ze,Ve,Qe,$e){var gt=ze.length;if($e==1)for(var lt=0;lt<gt;lt++)Qe[lt]=Me(ze[lt],Ze[lt],Ve);else for(var At=gt&&ze[0].length,lt=0;lt<gt;lt++)for(var Et=0;Et<At;Et++)Qe[lt][Et]=Me(ze[lt][Et],Ze[lt][Et],Ve)}function ie(ze,Ze,Ve){var Qe=ze.length,$e=Ze.length;if(Qe!==$e){var gt=Qe>$e;if(gt)ze.length=$e;else for(var lt=Qe;lt<$e;lt++)ze.push(Ve===1?Ze[lt]:ke.call(Ze[lt]))}for(var At=ze[0]&&ze[0].length,lt=0;lt<ze.length;lt++)if(Ve===1)isNaN(ze[lt])&&(ze[lt]=Ze[lt]);else for(var Et=0;Et<At;Et++)isNaN(ze[lt][Et])&&(ze[lt][Et]=Ze[lt][Et])}function ae(ze,Ze,Ve){if(ze===Ze)return!0;var Qe=ze.length;if(Qe!==Ze.length)return!1;if(Ve===1){for(var $e=0;$e<Qe;$e++)if(ze[$e]!==Ze[$e])return!1}else for(var gt=ze[0].length,$e=0;$e<Qe;$e++)for(var lt=0;lt<gt;lt++)if(ze[$e][lt]!==Ze[$e][lt])return!1;return!0}function fe(ze,Ze,Ve,Qe,$e,gt,lt,At,Et){var vt=ze.length;if(Et==1)for(var Lt=0;Lt<vt;Lt++)At[Lt]=de(ze[Lt],Ze[Lt],Ve[Lt],Qe[Lt],$e,gt,lt);else for(var St=ze[0].length,Lt=0;Lt<vt;Lt++)for(var xt=0;xt<St;xt++)At[Lt][xt]=de(ze[Lt][xt],Ze[Lt][xt],Ve[Lt][xt],Qe[Lt][xt],$e,gt,lt)}function de(ze,Ze,Ve,Qe,$e,gt,lt){var At=(Ve-ze)*.5,Et=(Qe-Ze)*.5;return(2*(Ze-Ve)+At+Et)*lt+(-3*(Ze-Ve)-2*At-Et)*gt+At*$e+Ze}function ve(ze){if(Te(ze)){var Ze=ze.length;if(Te(ze[0])){for(var Ve=[],Qe=0;Qe<Ze;Qe++)Ve.push(ke.call(ze[Qe]));return Ve}return ke.call(ze)}return ze}function xe(ze){return ze[0]=Math.floor(ze[0]),ze[1]=Math.floor(ze[1]),ze[2]=Math.floor(ze[2]),"rgba("+ze.join(",")+")"}function ce(ze){var Ze=ze[ze.length-1].value;return Te(Ze&&Ze[0])?2:1}function pe(ze,Ze,Ve,Qe,$e,gt){var lt=ze._getter,At=ze._setter,Et=Ze==="spline",vt=Qe.length;if(vt){var Lt=Qe[0].value,St=Te(Lt),xt=!1,ct=!1,Dt=St?ce(Qe):0,Xt;Qe.sort(function(Jt,wt){return Jt.time-wt.time}),Xt=Qe[vt-1].time;for(var kt=[],Rt=[],Gt=Qe[0].value,ln=!0,Rn=0;Rn<vt;Rn++){kt.push(Qe[Rn].time/Xt);var jn=Qe[Rn].value;if(St&&ae(jn,Gt,Dt)||!St&&jn===Gt||(ln=!1),Gt=jn,typeof jn=="string"){var er=Be.parse(jn);er?(jn=er,xt=!0):ct=!0}Rt.push(jn)}if(!(!gt&&ln)){for(var an=Rt[vt-1],Rn=0;Rn<vt-1;Rn++)St?ie(Rt[Rn],an,Dt):isNaN(Rt[Rn])&&!isNaN(an)&&!ct&&!xt&&(Rt[Rn]=an);St&&ie(lt(ze._target,$e),an,Dt);var Un=0,Kn=0,ur,Xn,Nn,_n,un,qt;if(xt)var Yt=[0,0,0,0];var gn=function(Jt,wt){var ut;if(wt<0)ut=0;else if(wt<Kn){for(ur=Math.min(Un+1,vt-1),ut=ur;ut>=0&&!(kt[ut]<=wt);ut--);ut=Math.min(ut,vt-2)}else{for(ut=Un;ut<vt&&!(kt[ut]>wt);ut++);ut=Math.min(ut-1,vt-2)}Un=ut,Kn=wt;var ot=kt[ut+1]-kt[ut];if(ot!==0)if(Xn=(wt-kt[ut])/ot,Et)if(_n=Rt[ut],Nn=Rt[ut===0?ut:ut-1],un=Rt[ut>vt-2?vt-1:ut+1],qt=Rt[ut>vt-3?vt-1:ut+2],St)fe(Nn,_n,un,qt,Xn,Xn*Xn,Xn*Xn*Xn,lt(Jt,$e),Dt);else{var Pt;if(xt)Pt=fe(Nn,_n,un,qt,Xn,Xn*Xn,Xn*Xn*Xn,Yt,1),Pt=xe(Yt);else{if(ct)return je(_n,un,Xn);Pt=de(Nn,_n,un,qt,Xn,Xn*Xn,Xn*Xn*Xn)}At(Jt,$e,Pt)}else if(St)ye(Rt[ut],Rt[ut+1],Xn,lt(Jt,$e),Dt);else{var Pt;if(xt)ye(Rt[ut],Rt[ut+1],Xn,Yt,1),Pt=xe(Yt);else{if(ct)return je(Rt[ut],Rt[ut+1],Xn);Pt=Me(Rt[ut],Rt[ut+1],Xn)}At(Jt,$e,Pt)}},_t=new Ke({target:ze._target,life:Xt,loop:ze._loop,delay:ze._delay,onframe:gn,ondestroy:Ve});return Ze&&Ze!=="spline"&&(_t.easing=Ze),_t}}}var Se=function(ze,Ze,Ve,Qe){this._tracks={},this._target=ze,this._loop=Ze||!1,this._getter=Ve||Ie,this._setter=Qe||Ce,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};Se.prototype={when:function(ze,Ze){var Ve=this._tracks;for(var Qe in Ze)if(Ze.hasOwnProperty(Qe)){if(!Ve[Qe]){Ve[Qe]=[];var $e=this._getter(this._target,Qe);if($e==null)continue;ze!==0&&Ve[Qe].push({time:0,value:ve($e)})}Ve[Qe].push({time:ze,value:Ze[Qe]})}return this},during:function(ze){return this._onframeList.push(ze),this},pause:function(){for(var ze=0;ze<this._clipList.length;ze++)this._clipList[ze].pause();this._paused=!0},resume:function(){for(var ze=0;ze<this._clipList.length;ze++)this._clipList[ze].resume();this._paused=!1},isPaused:function(){return!!this._paused},_doneCallback:function(){this._tracks={},this._clipList.length=0;for(var ze=this._doneList,Ze=ze.length,Ve=0;Ve<Ze;Ve++)ze[Ve].call(this)},start:function(ze,Ze){var Ve=this,Qe=0,$e=function(){Qe--,Qe||Ve._doneCallback()},gt;for(var lt in this._tracks)if(this._tracks.hasOwnProperty(lt)){var At=pe(this,ze,$e,this._tracks[lt],lt,Ze);At&&(this._clipList.push(At),Qe++,this.animation&&this.animation.addClip(At),gt=At)}if(gt){var Et=gt.onframe;gt.onframe=function(vt,Lt){Et(vt,Lt);for(var St=0;St<Ve._onframeList.length;St++)Ve._onframeList[St](vt,Lt)}}return Qe||this._doneCallback(),this},stop:function(ze){for(var Ze=this._clipList,Ve=this.animation,Qe=0;Qe<Ze.length;Qe++){var $e=Ze[Qe];ze&&$e.onframe(this._target,1),Ve&&Ve.removeClip($e)}Ze.length=0},delay:function(ze){return this._delay=ze,this},done:function(ze){return ze&&this._doneList.push(ze),this},getClips:function(){return this._clipList}};var Le=Se;tt.exports=Le},function(tt,Ue,Ne){var Ke=Ne(124);function Be(Te){this._target=Te.target,this._life=Te.life||1e3,this._delay=Te.delay||0,this._initialized=!1,this.loop=Te.loop==null?!1:Te.loop,this.gap=Te.gap||0,this.easing=Te.easing||"Linear",this.onframe=Te.onframe,this.ondestroy=Te.ondestroy,this.onrestart=Te.onrestart,this._pausedTime=0,this._paused=!1}Be.prototype={constructor:Be,step:function(Te,ke){if(this._initialized||(this._startTime=Te+this._delay,this._initialized=!0),this._paused){this._pausedTime+=ke;return}var Ie=(Te-this._startTime-this._pausedTime)/this._life;if(!(Ie<0)){Ie=Math.min(Ie,1);var Ce=this.easing,Me=typeof Ce=="string"?Ke[Ce]:Ce,je=typeof Me=="function"?Me(Ie):Ie;return this.fire("frame",je),Ie==1?this.loop?(this.restart(Te),"restart"):(this._needsRemove=!0,"destroy"):null}},restart:function(Te){var ke=(Te-this._startTime-this._pausedTime)%this._life;this._startTime=Te-ke+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(Te,ke){Te="on"+Te,this[Te]&&this[Te](this._target,ke)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var we=Be;tt.exports=we},function(tt,Ue){var Ne={linear:function(Be){return Be},quadraticIn:function(Be){return Be*Be},quadraticOut:function(Be){return Be*(2-Be)},quadraticInOut:function(Be){return(Be*=2)<1?.5*Be*Be:-.5*(--Be*(Be-2)-1)},cubicIn:function(Be){return Be*Be*Be},cubicOut:function(Be){return--Be*Be*Be+1},cubicInOut:function(Be){return(Be*=2)<1?.5*Be*Be*Be:.5*((Be-=2)*Be*Be+2)},quarticIn:function(Be){return Be*Be*Be*Be},quarticOut:function(Be){return 1- --Be*Be*Be*Be},quarticInOut:function(Be){return(Be*=2)<1?.5*Be*Be*Be*Be:-.5*((Be-=2)*Be*Be*Be-2)},quinticIn:function(Be){return Be*Be*Be*Be*Be},quinticOut:function(Be){return--Be*Be*Be*Be*Be+1},quinticInOut:function(Be){return(Be*=2)<1?.5*Be*Be*Be*Be*Be:.5*((Be-=2)*Be*Be*Be*Be+2)},sinusoidalIn:function(Be){return 1-Math.cos(Be*Math.PI/2)},sinusoidalOut:function(Be){return Math.sin(Be*Math.PI/2)},sinusoidalInOut:function(Be){return .5*(1-Math.cos(Math.PI*Be))},exponentialIn:function(Be){return Be===0?0:Math.pow(1024,Be-1)},exponentialOut:function(Be){return Be===1?1:1-Math.pow(2,-10*Be)},exponentialInOut:function(Be){return Be===0?0:Be===1?1:(Be*=2)<1?.5*Math.pow(1024,Be-1):.5*(-Math.pow(2,-10*(Be-1))+2)},circularIn:function(Be){return 1-Math.sqrt(1-Be*Be)},circularOut:function(Be){return Math.sqrt(1- --Be*Be)},circularInOut:function(Be){return(Be*=2)<1?-.5*(Math.sqrt(1-Be*Be)-1):.5*(Math.sqrt(1-(Be-=2)*Be)+1)},elasticIn:function(Be){var we,Te=.1,ke=.4;return Be===0?0:Be===1?1:(!Te||Te<1?(Te=1,we=ke/4):we=ke*Math.asin(1/Te)/(2*Math.PI),-(Te*Math.pow(2,10*(Be-=1))*Math.sin((Be-we)*(2*Math.PI)/ke)))},elasticOut:function(Be){var we,Te=.1,ke=.4;return Be===0?0:Be===1?1:(!Te||Te<1?(Te=1,we=ke/4):we=ke*Math.asin(1/Te)/(2*Math.PI),Te*Math.pow(2,-10*Be)*Math.sin((Be-we)*(2*Math.PI)/ke)+1)},elasticInOut:function(Be){var we,Te=.1,ke=.4;return Be===0?0:Be===1?1:(!Te||Te<1?(Te=1,we=ke/4):we=ke*Math.asin(1/Te)/(2*Math.PI),(Be*=2)<1?-.5*(Te*Math.pow(2,10*(Be-=1))*Math.sin((Be-we)*(2*Math.PI)/ke)):Te*Math.pow(2,-10*(Be-=1))*Math.sin((Be-we)*(2*Math.PI)/ke)*.5+1)},backIn:function(Be){var we=1.70158;return Be*Be*((we+1)*Be-we)},backOut:function(Be){var we=1.70158;return--Be*Be*((we+1)*Be+we)+1},backInOut:function(Be){var we=2.5949095;return(Be*=2)<1?.5*(Be*Be*((we+1)*Be-we)):.5*((Be-=2)*Be*((we+1)*Be+we)+2)},bounceIn:function(Be){return 1-Ne.bounceOut(1-Be)},bounceOut:function(Be){return Be<.36363636363636365?7.5625*Be*Be:Be<.7272727272727273?7.5625*(Be-=.5454545454545454)*Be+.75:Be<.9090909090909091?7.5625*(Be-=.8181818181818182)*Be+.9375:7.5625*(Be-=.9545454545454546)*Be+.984375},bounceInOut:function(Be){return Be<.5?Ne.bounceIn(Be*2)*.5:Ne.bounceOut(Be*2-1)*.5+.5}},Ke=Ne;tt.exports=Ke},function(tt,Ue,Ne){var Ke=Ne(53),Be={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function we(lt){return lt=Math.round(lt),lt<0?0:lt>255?255:lt}function Te(lt){return lt=Math.round(lt),lt<0?0:lt>360?360:lt}function ke(lt){return lt<0?0:lt>1?1:lt}function Ie(lt){return lt.length&&lt.charAt(lt.length-1)==="%"?we(parseFloat(lt)/100*255):we(parseInt(lt,10))}function Ce(lt){return lt.length&&lt.charAt(lt.length-1)==="%"?ke(parseFloat(lt)/100):ke(parseFloat(lt))}function Me(lt,At,Et){return Et<0?Et+=1:Et>1&&(Et-=1),Et*6<1?lt+(At-lt)*Et*6:Et*2<1?At:Et*3<2?lt+(At-lt)*(2/3-Et)*6:lt}function je(lt,At,Et){return lt+(At-lt)*Et}function ye(lt,At,Et,vt,Lt){return lt[0]=At,lt[1]=Et,lt[2]=vt,lt[3]=Lt,lt}function ie(lt,At){return lt[0]=At[0],lt[1]=At[1],lt[2]=At[2],lt[3]=At[3],lt}var ae=new Ke(20),fe=null;function de(lt,At){fe&&ie(fe,At),fe=ae.put(lt,fe||At.slice())}function ve(lt,At){if(lt){At=At||[];var Et=ae.get(lt);if(Et)return ie(At,Et);lt=lt+"";var vt=lt.replace(/ /g,"").toLowerCase();if(vt in Be)return ie(At,Be[vt]),de(lt,At),At;if(vt.charAt(0)==="#"){if(vt.length===4){var Lt=parseInt(vt.substr(1),16);if(!(Lt>=0&&Lt<=4095)){ye(At,0,0,0,1);return}return ye(At,(Lt&3840)>>4|(Lt&3840)>>8,Lt&240|(Lt&240)>>4,Lt&15|(Lt&15)<<4,1),de(lt,At),At}else if(vt.length===7){var Lt=parseInt(vt.substr(1),16);if(!(Lt>=0&&Lt<=16777215)){ye(At,0,0,0,1);return}return ye(At,(Lt&16711680)>>16,(Lt&65280)>>8,Lt&255,1),de(lt,At),At}return}var St=vt.indexOf("("),xt=vt.indexOf(")");if(St!==-1&&xt+1===vt.length){var ct=vt.substr(0,St),Dt=vt.substr(St+1,xt-(St+1)).split(","),Xt=1;switch(ct){case"rgba":if(Dt.length!==4){ye(At,0,0,0,1);return}Xt=Ce(Dt.pop());case"rgb":if(Dt.length!==3){ye(At,0,0,0,1);return}return ye(At,Ie(Dt[0]),Ie(Dt[1]),Ie(Dt[2]),Xt),de(lt,At),At;case"hsla":if(Dt.length!==4){ye(At,0,0,0,1);return}return Dt[3]=Ce(Dt[3]),xe(Dt,At),de(lt,At),At;case"hsl":if(Dt.length!==3){ye(At,0,0,0,1);return}return xe(Dt,At),de(lt,At),At;default:return}}ye(At,0,0,0,1)}}function xe(lt,At){var Et=(parseFloat(lt[0])%360+360)%360/360,vt=Ce(lt[1]),Lt=Ce(lt[2]),St=Lt<=.5?Lt*(vt+1):Lt+vt-Lt*vt,xt=Lt*2-St;return At=At||[],ye(At,we(Me(xt,St,Et+1/3)*255),we(Me(xt,St,Et)*255),we(Me(xt,St,Et-1/3)*255),1),lt.length===4&&(At[3]=lt[3]),At}function ce(lt){if(lt){var At=lt[0]/255,Et=lt[1]/255,vt=lt[2]/255,Lt=Math.min(At,Et,vt),St=Math.max(At,Et,vt),xt=St-Lt,ct=(St+Lt)/2,Dt,Xt;if(xt===0)Dt=0,Xt=0;else{ct<.5?Xt=xt/(St+Lt):Xt=xt/(2-St-Lt);var kt=((St-At)/6+xt/2)/xt,Rt=((St-Et)/6+xt/2)/xt,Gt=((St-vt)/6+xt/2)/xt;At===St?Dt=Gt-Rt:Et===St?Dt=1/3+kt-Gt:vt===St&&(Dt=2/3+Rt-kt),Dt<0&&(Dt+=1),Dt>1&&(Dt-=1)}var ln=[Dt*360,Xt,ct];return lt[3]!=null&&ln.push(lt[3]),ln}}function pe(lt,At){var Et=ve(lt);if(Et){for(var vt=0;vt<3;vt++)At<0?Et[vt]=Et[vt]*(1-At)|0:Et[vt]=(255-Et[vt])*At+Et[vt]|0;return gt(Et,Et.length===4?"rgba":"rgb")}}function Se(lt){var At=ve(lt);if(At)return((1<<24)+(At[0]<<16)+(At[1]<<8)+ +At[2]).toString(16).slice(1)}function Le(lt,At,Et){if(!(!(At&&At.length)||!(lt>=0&&lt<=1))){Et=Et||[];var vt=lt*(At.length-1),Lt=Math.floor(vt),St=Math.ceil(vt),xt=At[Lt],ct=At[St],Dt=vt-Lt;return Et[0]=we(je(xt[0],ct[0],Dt)),Et[1]=we(je(xt[1],ct[1],Dt)),Et[2]=we(je(xt[2],ct[2],Dt)),Et[3]=ke(je(xt[3],ct[3],Dt)),Et}}var ze=Le;function Ze(lt,At,Et){if(!(!(At&&At.length)||!(lt>=0&&lt<=1))){var vt=lt*(At.length-1),Lt=Math.floor(vt),St=Math.ceil(vt),xt=ve(At[Lt]),ct=ve(At[St]),Dt=vt-Lt,Xt=gt([we(je(xt[0],ct[0],Dt)),we(je(xt[1],ct[1],Dt)),we(je(xt[2],ct[2],Dt)),ke(je(xt[3],ct[3],Dt))],"rgba");return Et?{color:Xt,leftIndex:Lt,rightIndex:St,value:vt}:Xt}}var Ve=Ze;function Qe(lt,At,Et,vt){if(lt=ve(lt),lt)return lt=ce(lt),At!=null&&(lt[0]=Te(At)),Et!=null&&(lt[1]=Ce(Et)),vt!=null&&(lt[2]=Ce(vt)),gt(xe(lt),"rgba")}function $e(lt,At){if(lt=ve(lt),lt&&At!=null)return lt[3]=ke(At),gt(lt,"rgba")}function gt(lt,At){if(!(!lt||!lt.length)){var Et=lt[0]+","+lt[1]+","+lt[2];return(At==="rgba"||At==="hsva"||At==="hsla")&&(Et+=","+lt[3]),At+"("+Et+")"}}Ue.parse=ve,Ue.lift=pe,Ue.toHex=Se,Ue.fastLerp=Le,Ue.fastMapToColor=ze,Ue.lerp=Ze,Ue.mapToColor=Ve,Ue.modifyHSL=Qe,Ue.modifyAlpha=$e,Ue.stringify=gt},function(tt,Ue,Ne){"use strict";Ue.a=`
@export clay.util.rand
highp float rand(vec2 uv) {
const highp float a = 12.9898, b = 78.233, c = 43758.5453;
highp float dt = dot(uv.xy, vec2(a,b)), sn = mod(dt, 3.141592653589793);
return fract(sin(sn) * c);
}
@end
@export clay.util.calculate_attenuation
uniform float attenuationFactor : 5.0;
float lightAttenuation(float dist, float range)
{
float attenuation = 1.0;
attenuation = dist*dist/(range*range+1.0);
float att_s = attenuationFactor;
attenuation = 1.0/(attenuation*att_s+1.0);
att_s = 1.0/(att_s+1.0);
attenuation = attenuation - att_s;
attenuation /= 1.0 - att_s;
return clamp(attenuation, 0.0, 1.0);
}
@end
@export clay.util.edge_factor
float edgeFactor(float width)
{
vec3 d = fwidth(v_Barycentric);
vec3 a3 = smoothstep(vec3(0.0), d * width, v_Barycentric);
return min(min(a3.x, a3.y), a3.z);
}
@end
@export clay.util.encode_float
vec4 encodeFloat(const in float depth)
{
const vec4 bitShifts = vec4(256.0*256.0*256.0, 256.0*256.0, 256.0, 1.0);
const vec4 bit_mask = vec4(0.0, 1.0/256.0, 1.0/256.0, 1.0/256.0);
vec4 res = fract(depth * bitShifts);
res -= res.xxyz * bit_mask;
return res;
}
@end
@export clay.util.decode_float
float decodeFloat(const in vec4 color)
{
const vec4 bitShifts = vec4(1.0/(256.0*256.0*256.0), 1.0/(256.0*256.0), 1.0/256.0, 1.0);
return dot(color, bitShifts);
}
@end
@export clay.util.float
@import clay.util.encode_float
@import clay.util.decode_float
@end
@export clay.util.rgbm_decode
vec3 RGBMDecode(vec4 rgbm, float range) {
return range * rgbm.rgb * rgbm.a;
}
@end
@export clay.util.rgbm_encode
vec4 RGBMEncode(vec3 color, float range) {
if (dot(color, color) == 0.0) {
return vec4(0.0);
}
vec4 rgbm;
color /= range;
rgbm.a = clamp(max(max(color.r, color.g), max(color.b, 1e-6)), 0.0, 1.0);
rgbm.a = ceil(rgbm.a * 255.0) / 255.0;
rgbm.rgb = color / rgbm.a;
return rgbm;
}
@end
@export clay.util.rgbm
@import clay.util.rgbm_decode
@import clay.util.rgbm_encode
vec4 decodeHDR(vec4 color)
{
#if defined(RGBM_DECODE) || defined(RGBM)
return vec4(RGBMDecode(color, 51.5), 1.0);
#else
return color;
#endif
}
vec4 encodeHDR(vec4 color)
{
#if defined(RGBM_ENCODE) || defined(RGBM)
return RGBMEncode(color.xyz, 51.5);
#else
return color;
#endif
}
@end
@export clay.util.srgb
vec4 sRGBToLinear(in vec4 value) {
return vec4(mix(pow(value.rgb * 0.9478672986 + vec3(0.0521327014), vec3(2.4)), value.rgb * 0.0773993808, vec3(lessThanEqual(value.rgb, vec3(0.04045)))), value.w);
}
vec4 linearTosRGB(in vec4 value) {
return vec4(mix(pow(value.rgb, vec3(0.41666)) * 1.055 - vec3(0.055), value.rgb * 12.92, vec3(lessThanEqual(value.rgb, vec3(0.0031308)))), value.w);
}
@end
@export clay.chunk.skinning_header
#ifdef SKINNING
attribute vec3 weight : WEIGHT;
attribute vec4 joint : JOINT;
uniform mat4 skinMatrix[JOINT_COUNT] : SKIN_MATRIX;
mat4 getSkinMatrix(float idx) {
return skinMatrix[int(idx)];
}
#endif
@end
@export clay.chunk.skin_matrix
mat4 skinMatrixWS = getSkinMatrix(joint.x) * weight.x;
if (weight.y > 1e-4)
{
skinMatrixWS += getSkinMatrix(joint.y) * weight.y;
}
if (weight.z > 1e-4)
{
skinMatrixWS += getSkinMatrix(joint.z) * weight.z;
}
float weightW = 1.0-weight.x-weight.y-weight.z;
if (weightW > 1e-4)
{
skinMatrixWS += getSkinMatrix(joint.w) * weightW;
}
@end
@export clay.util.parallax_correct
vec3 parallaxCorrect(in vec3 dir, in vec3 pos, in vec3 boxMin, in vec3 boxMax) {
vec3 first = (boxMax - pos) / dir;
vec3 second = (boxMin - pos) / dir;
vec3 further = max(first, second);
float dist = min(further.x, min(further.y, further.z));
vec3 fixedPos = pos + dir * dist;
vec3 boxCenter = (boxMax + boxMin) * 0.5;
return normalize(fixedPos - boxCenter);
}
@end
@export clay.util.clamp_sample
vec4 clampSample(const in sampler2D texture, const in vec2 coord)
{
#ifdef STEREO
float eye = step(0.5, coord.x) * 0.5;
vec2 coordClamped = clamp(coord, vec2(eye, 0.0), vec2(0.5 + eye, 1.0));
#else
vec2 coordClamped = clamp(coord, vec2(0.0), vec2(1.0));
#endif
return texture2D(texture, coordClamped);
}
@end
@export clay.util.ACES
vec3 ACESToneMapping(vec3 color)
{
const float A = 2.51;
const float B = 0.03;
const float C = 2.43;
const float D = 0.59;
const float E = 0.14;
return (color * (A * color + B)) / (color * (C * color + D) + E);
}
@end`},function(tt,Ue,Ne){"use strict";Ue.a=`
@export ecgl.common.transformUniforms
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform mat4 worldInverseTranspose : WORLDINVERSETRANSPOSE;
uniform mat4 world : WORLD;
@end
@export ecgl.common.attributes
attribute vec3 position : POSITION;
attribute vec2 texcoord : TEXCOORD_0;
attribute vec3 normal : NORMAL;
@end
@export ecgl.common.uv.header
uniform vec2 uvRepeat : [1.0, 1.0];
uniform vec2 uvOffset : [0.0, 0.0];
uniform vec2 detailUvRepeat : [1.0, 1.0];
uniform vec2 detailUvOffset : [0.0, 0.0];
varying vec2 v_Texcoord;
varying vec2 v_DetailTexcoord;
@end
@export ecgl.common.uv.main
v_Texcoord = texcoord * uvRepeat + uvOffset;
v_DetailTexcoord = texcoord * detailUvRepeat + detailUvOffset;
@end
@export ecgl.common.uv.fragmentHeader
varying vec2 v_Texcoord;
varying vec2 v_DetailTexcoord;
@end
@export ecgl.common.albedo.main
vec4 albedoTexel = vec4(1.0);
#ifdef DIFFUSEMAP_ENABLED
albedoTexel = texture2D(diffuseMap, v_Texcoord);
#ifdef SRGB_DECODE
albedoTexel = sRGBToLinear(albedoTexel);
#endif
#endif
#ifdef DETAILMAP_ENABLED
vec4 detailTexel = texture2D(detailMap, v_DetailTexcoord);
#ifdef SRGB_DECODE
detailTexel = sRGBToLinear(detailTexel);
#endif
albedoTexel.rgb = mix(albedoTexel.rgb, detailTexel.rgb, detailTexel.a);
albedoTexel.a = detailTexel.a + (1.0 - detailTexel.a) * albedoTexel.a;
#endif
@end
@export ecgl.common.wireframe.vertexHeader
#ifdef WIREFRAME_QUAD
attribute vec4 barycentric;
varying vec4 v_Barycentric;
#elif defined(WIREFRAME_TRIANGLE)
attribute vec3 barycentric;
varying vec3 v_Barycentric;
#endif
@end
@export ecgl.common.wireframe.vertexMain
#if defined(WIREFRAME_QUAD) || defined(WIREFRAME_TRIANGLE)
v_Barycentric = barycentric;
#endif
@end
@export ecgl.common.wireframe.fragmentHeader
uniform float wireframeLineWidth : 1;
uniform vec4 wireframeLineColor: [0, 0, 0, 0.5];
#ifdef WIREFRAME_QUAD
varying vec4 v_Barycentric;
float edgeFactor () {
vec4 d = fwidth(v_Barycentric);
vec4 a4 = smoothstep(vec4(0.0), d * wireframeLineWidth, v_Barycentric);
return min(min(min(a4.x, a4.y), a4.z), a4.w);
}
#elif defined(WIREFRAME_TRIANGLE)
varying vec3 v_Barycentric;
float edgeFactor () {
vec3 d = fwidth(v_Barycentric);
vec3 a3 = smoothstep(vec3(0.0), d * wireframeLineWidth, v_Barycentric);
return min(min(a3.x, a3.y), a3.z);
}
#endif
@end
@export ecgl.common.wireframe.fragmentMain
#if defined(WIREFRAME_QUAD) || defined(WIREFRAME_TRIANGLE)
if (wireframeLineWidth > 0.) {
vec4 lineColor = wireframeLineColor;
#ifdef SRGB_DECODE
lineColor = sRGBToLinear(lineColor);
#endif
gl_FragColor.rgb = mix(gl_FragColor.rgb, lineColor.rgb, (1.0 - edgeFactor()) * lineColor.a);
}
#endif
@end
@export ecgl.common.bumpMap.header
#ifdef BUMPMAP_ENABLED
uniform sampler2D bumpMap;
uniform float bumpScale : 1.0;
vec3 bumpNormal(vec3 surfPos, vec3 surfNormal, vec3 baseNormal)
{
vec2 dSTdx = dFdx(v_Texcoord);
vec2 dSTdy = dFdy(v_Texcoord);
float Hll = bumpScale * texture2D(bumpMap, v_Texcoord).x;
float dHx = bumpScale * texture2D(bumpMap, v_Texcoord + dSTdx).x - Hll;
float dHy = bumpScale * texture2D(bumpMap, v_Texcoord + dSTdy).x - Hll;
vec3 vSigmaX = dFdx(surfPos);
vec3 vSigmaY = dFdy(surfPos);
vec3 vN = surfNormal;
vec3 R1 = cross(vSigmaY, vN);
vec3 R2 = cross(vN, vSigmaX);
float fDet = dot(vSigmaX, R1);
vec3 vGrad = sign(fDet) * (dHx * R1 + dHy * R2);
return normalize(abs(fDet) * baseNormal - vGrad);
}
#endif
@end
@export ecgl.common.normalMap.vertexHeader
#ifdef NORMALMAP_ENABLED
attribute vec4 tangent : TANGENT;
varying vec3 v_Tangent;
varying vec3 v_Bitangent;
#endif
@end
@export ecgl.common.normalMap.vertexMain
#ifdef NORMALMAP_ENABLED
if (dot(tangent, tangent) > 0.0) {
v_Tangent = normalize((worldInverseTranspose * vec4(tangent.xyz, 0.0)).xyz);
v_Bitangent = normalize(cross(v_Normal, v_Tangent) * tangent.w);
}
#endif
@end
@export ecgl.common.normalMap.fragmentHeader
#ifdef NORMALMAP_ENABLED
uniform sampler2D normalMap;
varying vec3 v_Tangent;
varying vec3 v_Bitangent;
#endif
@end
@export ecgl.common.normalMap.fragmentMain
#ifdef NORMALMAP_ENABLED
if (dot(v_Tangent, v_Tangent) > 0.0) {
vec3 normalTexel = texture2D(normalMap, v_DetailTexcoord).xyz;
if (dot(normalTexel, normalTexel) > 0.0) { N = normalTexel * 2.0 - 1.0;
mat3 tbn = mat3(v_Tangent, v_Bitangent, v_Normal);
N = normalize(tbn * N);
}
}
#endif
@end
@export ecgl.common.vertexAnimation.header
#ifdef VERTEX_ANIMATION
attribute vec3 prevPosition;
attribute vec3 prevNormal;
uniform float percent;
#endif
@end
@export ecgl.common.vertexAnimation.main
#ifdef VERTEX_ANIMATION
vec3 pos = mix(prevPosition, position, percent);
vec3 norm = mix(prevNormal, normal, percent);
#else
vec3 pos = position;
vec3 norm = normal;
#endif
@end
@export ecgl.common.ssaoMap.header
#ifdef SSAOMAP_ENABLED
uniform sampler2D ssaoMap;
uniform vec4 viewport : VIEWPORT;
#endif
@end
@export ecgl.common.ssaoMap.main
float ao = 1.0;
#ifdef SSAOMAP_ENABLED
ao = texture2D(ssaoMap, (gl_FragCoord.xy - viewport.xy) / viewport.zw).r;
#endif
@end
@export ecgl.common.diffuseLayer.header
#if (LAYER_DIFFUSEMAP_COUNT > 0)
uniform float layerDiffuseIntensity[LAYER_DIFFUSEMAP_COUNT];
uniform sampler2D layerDiffuseMap[LAYER_DIFFUSEMAP_COUNT];
#endif
@end
@export ecgl.common.emissiveLayer.header
#if (LAYER_EMISSIVEMAP_COUNT > 0)
uniform float layerEmissionIntensity[LAYER_EMISSIVEMAP_COUNT];
uniform sampler2D layerEmissiveMap[LAYER_EMISSIVEMAP_COUNT];
#endif
@end
@export ecgl.common.layers.header
@import ecgl.common.diffuseLayer.header
@import ecgl.common.emissiveLayer.header
@end
@export ecgl.common.diffuseLayer.main
#if (LAYER_DIFFUSEMAP_COUNT > 0)
for (int _idx_ = 0; _idx_ < LAYER_DIFFUSEMAP_COUNT; _idx_++) {{
float intensity = layerDiffuseIntensity[_idx_];
vec4 texel2 = texture2D(layerDiffuseMap[_idx_], v_Texcoord);
#ifdef SRGB_DECODE
texel2 = sRGBToLinear(texel2);
#endif
albedoTexel.rgb = mix(albedoTexel.rgb, texel2.rgb * intensity, texel2.a);
albedoTexel.a = texel2.a + (1.0 - texel2.a) * albedoTexel.a;
}}
#endif
@end
@export ecgl.common.emissiveLayer.main
#if (LAYER_EMISSIVEMAP_COUNT > 0)
for (int _idx_ = 0; _idx_ < LAYER_EMISSIVEMAP_COUNT; _idx_++)
{{
vec4 texel2 = texture2D(layerEmissiveMap[_idx_], v_Texcoord) * layerEmissionIntensity[_idx_];
#ifdef SRGB_DECODE
texel2 = sRGBToLinear(texel2);
#endif
float intensity = layerEmissionIntensity[_idx_];
gl_FragColor.rgb += texel2.rgb * texel2.a * intensity;
}}
#endif
@end
`},function(tt,Ue,Ne){"use strict";Ue.a=`@export ecgl.color.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
@import ecgl.common.uv.header
attribute vec2 texcoord : TEXCOORD_0;
attribute vec3 position: POSITION;
@import ecgl.common.wireframe.vertexHeader
#ifdef VERTEX_COLOR
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#endif
#ifdef VERTEX_ANIMATION
attribute vec3 prevPosition;
uniform float percent : 1.0;
#endif
void main()
{
#ifdef VERTEX_ANIMATION
vec3 pos = mix(prevPosition, position, percent);
#else
vec3 pos = position;
#endif
gl_Position = worldViewProjection * vec4(pos, 1.0);
@import ecgl.common.uv.main
#ifdef VERTEX_COLOR
v_Color = a_Color;
#endif
@import ecgl.common.wireframe.vertexMain
}
@end
@export ecgl.color.fragment
#define LAYER_DIFFUSEMAP_COUNT 0
#define LAYER_EMISSIVEMAP_COUNT 0
uniform sampler2D diffuseMap;
uniform sampler2D detailMap;
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
@import ecgl.common.layers.header
@import ecgl.common.uv.fragmentHeader
@import ecgl.common.wireframe.fragmentHeader
@import clay.util.srgb
void main()
{
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(color);
#else
gl_FragColor = color;
#endif
#ifdef VERTEX_COLOR
gl_FragColor *= v_Color;
#endif
@import ecgl.common.albedo.main
@import ecgl.common.diffuseLayer.main
gl_FragColor *= albedoTexel;
@import ecgl.common.emissiveLayer.main
@import ecgl.common.wireframe.fragmentMain
}
@end`},function(tt,Ue,Ne){"use strict";Ue.a=`/**
* http: */
@export ecgl.lambert.vertex
@import ecgl.common.transformUniforms
@import ecgl.common.uv.header
@import ecgl.common.attributes
@import ecgl.common.wireframe.vertexHeader
#ifdef VERTEX_COLOR
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#endif
@import ecgl.common.vertexAnimation.header
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
void main()
{
@import ecgl.common.uv.main
@import ecgl.common.vertexAnimation.main
gl_Position = worldViewProjection * vec4(pos, 1.0);
v_Normal = normalize((worldInverseTranspose * vec4(norm, 0.0)).xyz);
v_WorldPosition = (world * vec4(pos, 1.0)).xyz;
#ifdef VERTEX_COLOR
v_Color = a_Color;
#endif
@import ecgl.common.wireframe.vertexMain
}
@end
@export ecgl.lambert.fragment
#define LAYER_DIFFUSEMAP_COUNT 0
#define LAYER_EMISSIVEMAP_COUNT 0
#define NORMAL_UP_AXIS 1
#define NORMAL_FRONT_AXIS 2
@import ecgl.common.uv.fragmentHeader
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
uniform sampler2D diffuseMap;
uniform sampler2D detailMap;
@import ecgl.common.layers.header
uniform float emissionIntensity: 1.0;
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
uniform mat4 viewInverse : VIEWINVERSE;
#ifdef AMBIENT_LIGHT_COUNT
@import clay.header.ambient_light
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
@import clay.header.ambient_sh_light
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
@import clay.header.directional_light
#endif
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
@import ecgl.common.ssaoMap.header
@import ecgl.common.bumpMap.header
@import clay.util.srgb
@import ecgl.common.wireframe.fragmentHeader
@import clay.plugin.compute_shadow_map
void main()
{
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(color);
#else
gl_FragColor = color;
#endif
#ifdef VERTEX_COLOR
#ifdef SRGB_DECODE
gl_FragColor *= sRGBToLinear(v_Color);
#else
gl_FragColor *= v_Color;
#endif
#endif
@import ecgl.common.albedo.main
@import ecgl.common.diffuseLayer.main
gl_FragColor *= albedoTexel;
vec3 N = v_Normal;
#ifdef DOUBLE_SIDED
vec3 eyePos = viewInverse[3].xyz;
vec3 V = normalize(eyePos - v_WorldPosition);
if (dot(N, V) < 0.0) {
N = -N;
}
#endif
float ambientFactor = 1.0;
#ifdef BUMPMAP_ENABLED
N = bumpNormal(v_WorldPosition, v_Normal, N);
ambientFactor = dot(v_Normal, N);
#endif
vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);
vec3 diffuseColor = vec3(0.0, 0.0, 0.0);
@import ecgl.common.ssaoMap.main
#ifdef AMBIENT_LIGHT_COUNT
for(int i = 0; i < AMBIENT_LIGHT_COUNT; i++)
{
diffuseColor += ambientLightColor[i] * ambientFactor * ao;
}
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)
{{
diffuseColor += calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_] * ao;
}}
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
if(shadowEnabled)
{
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
}
#endif
for(int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++)
{
vec3 lightDirection = -directionalLightDirection[i];
vec3 lightColor = directionalLightColor[i];
float shadowContrib = 1.0;
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
if (shadowEnabled)
{
shadowContrib = shadowContribsDir[i];
}
#endif
float ndl = dot(N, normalize(lightDirection)) * shadowContrib;
diffuseColor += lightColor * clamp(ndl, 0.0, 1.0);
}
#endif
gl_FragColor.rgb *= diffuseColor;
@import ecgl.common.emissiveLayer.main
@import ecgl.common.wireframe.fragmentMain
}
@end`},function(tt,Ue,Ne){"use strict";Ue.a=`@export ecgl.realistic.vertex
@import ecgl.common.transformUniforms
@import ecgl.common.uv.header
@import ecgl.common.attributes
@import ecgl.common.wireframe.vertexHeader
#ifdef VERTEX_COLOR
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#endif
#ifdef NORMALMAP_ENABLED
attribute vec4 tangent : TANGENT;
varying vec3 v_Tangent;
varying vec3 v_Bitangent;
#endif
@import ecgl.common.vertexAnimation.header
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
void main()
{
@import ecgl.common.uv.main
@import ecgl.common.vertexAnimation.main
gl_Position = worldViewProjection * vec4(pos, 1.0);
v_Normal = normalize((worldInverseTranspose * vec4(norm, 0.0)).xyz);
v_WorldPosition = (world * vec4(pos, 1.0)).xyz;
#ifdef VERTEX_COLOR
v_Color = a_Color;
#endif
#ifdef NORMALMAP_ENABLED
v_Tangent = normalize((worldInverseTranspose * vec4(tangent.xyz, 0.0)).xyz);
v_Bitangent = normalize(cross(v_Normal, v_Tangent) * tangent.w);
#endif
@import ecgl.common.wireframe.vertexMain
}
@end
@export ecgl.realistic.fragment
#define LAYER_DIFFUSEMAP_COUNT 0
#define LAYER_EMISSIVEMAP_COUNT 0
#define PI 3.14159265358979
#define ROUGHNESS_CHANEL 0
#define METALNESS_CHANEL 1
#define NORMAL_UP_AXIS 1
#define NORMAL_FRONT_AXIS 2
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
@import ecgl.common.uv.fragmentHeader
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
uniform sampler2D diffuseMap;
uniform sampler2D detailMap;
uniform sampler2D metalnessMap;
uniform sampler2D roughnessMap;
@import ecgl.common.layers.header
uniform float emissionIntensity: 1.0;
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
uniform float metalness : 0.0;
uniform float roughness : 0.5;
uniform mat4 viewInverse : VIEWINVERSE;
#ifdef AMBIENT_LIGHT_COUNT
@import clay.header.ambient_light
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
@import clay.header.ambient_sh_light
#endif
#ifdef AMBIENT_CUBEMAP_LIGHT_COUNT
@import clay.header.ambient_cubemap_light
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
@import clay.header.directional_light
#endif
@import ecgl.common.normalMap.fragmentHeader
@import ecgl.common.ssaoMap.header
@import ecgl.common.bumpMap.header
@import clay.util.srgb
@import clay.util.rgbm
@import ecgl.common.wireframe.fragmentHeader
@import clay.plugin.compute_shadow_map
vec3 F_Schlick(float ndv, vec3 spec) {
return spec + (1.0 - spec) * pow(1.0 - ndv, 5.0);
}
float D_Phong(float g, float ndh) {
float a = pow(8192.0, g);
return (a + 2.0) / 8.0 * pow(ndh, a);
}
void main()
{
vec4 albedoColor = color;
vec3 eyePos = viewInverse[3].xyz;
vec3 V = normalize(eyePos - v_WorldPosition);
#ifdef VERTEX_COLOR
#ifdef SRGB_DECODE
albedoColor *= sRGBToLinear(v_Color);
#else
albedoColor *= v_Color;
#endif
#endif
@import ecgl.common.albedo.main
@import ecgl.common.diffuseLayer.main
albedoColor *= albedoTexel;
float m = metalness;
#ifdef METALNESSMAP_ENABLED
float m2 = texture2D(metalnessMap, v_DetailTexcoord)[METALNESS_CHANEL];
m = clamp(m2 + (m - 0.5) * 2.0, 0.0, 1.0);
#endif
vec3 baseColor = albedoColor.rgb;
albedoColor.rgb = baseColor * (1.0 - m);
vec3 specFactor = mix(vec3(0.04), baseColor, m);
float g = 1.0 - roughness;
#ifdef ROUGHNESSMAP_ENABLED
float g2 = 1.0 - texture2D(roughnessMap, v_DetailTexcoord)[ROUGHNESS_CHANEL];
g = clamp(g2 + (g - 0.5) * 2.0, 0.0, 1.0);
#endif
vec3 N = v_Normal;
#ifdef DOUBLE_SIDED
if (dot(N, V) < 0.0) {
N = -N;
}
#endif
float ambientFactor = 1.0;
#ifdef BUMPMAP_ENABLED
N = bumpNormal(v_WorldPosition, v_Normal, N);
ambientFactor = dot(v_Normal, N);
#endif
@import ecgl.common.normalMap.fragmentMain
vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);
vec3 diffuseTerm = vec3(0.0);
vec3 specularTerm = vec3(0.0);
float ndv = clamp(dot(N, V), 0.0, 1.0);
vec3 fresnelTerm = F_Schlick(ndv, specFactor);
@import ecgl.common.ssaoMap.main
#ifdef AMBIENT_LIGHT_COUNT
for(int _idx_ = 0; _idx_ < AMBIENT_LIGHT_COUNT; _idx_++)
{{
diffuseTerm += ambientLightColor[_idx_] * ambientFactor * ao;
}}
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)
{{
diffuseTerm += calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_] * ao;
}}
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
if(shadowEnabled)
{
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
}
#endif
for(int _idx_ = 0; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++)
{{
vec3 L = -directionalLightDirection[_idx_];
vec3 lc = directionalLightColor[_idx_];
vec3 H = normalize(L + V);
float ndl = clamp(dot(N, normalize(L)), 0.0, 1.0);
float ndh = clamp(dot(N, H), 0.0, 1.0);
float shadowContrib = 1.0;
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
if (shadowEnabled)
{
shadowContrib = shadowContribsDir[_idx_];
}
#endif
vec3 li = lc * ndl * shadowContrib;
diffuseTerm += li;
specularTerm += li * fresnelTerm * D_Phong(g, ndh);
}}
#endif
#ifdef AMBIENT_CUBEMAP_LIGHT_COUNT
vec3 L = reflect(-V, N);
L = vec3(L.x, L[NORMAL_UP_AXIS], L[NORMAL_FRONT_AXIS]);
float rough2 = clamp(1.0 - g, 0.0, 1.0);
float bias2 = rough2 * 5.0;
vec2 brdfParam2 = texture2D(ambientCubemapLightBRDFLookup[0], vec2(rough2, ndv)).xy;
vec3 envWeight2 = specFactor * brdfParam2.x + brdfParam2.y;
vec3 envTexel2;
for(int _idx_ = 0; _idx_ < AMBIENT_CUBEMAP_LIGHT_COUNT; _idx_++)
{{
envTexel2 = RGBMDecode(textureCubeLodEXT(ambientCubemapLightCubemap[_idx_], L, bias2), 51.5);
specularTerm += ambientCubemapLightColor[_idx_] * envTexel2 * envWeight2 * ao;
}}
#endif
gl_FragColor.rgb = albedoColor.rgb * diffuseTerm + specularTerm;
gl_FragColor.a = albedoColor.a;
#ifdef SRGB_ENCODE
gl_FragColor = linearTosRGB(gl_FragColor);
#endif
@import ecgl.common.emissiveLayer.main
@import ecgl.common.wireframe.fragmentMain
}
@end`},function(tt,Ue,Ne){"use strict";Ue.a=`@export ecgl.hatching.vertex
@import ecgl.realistic.vertex
@end
@export ecgl.hatching.fragment
#define NORMAL_UP_AXIS 1
#define NORMAL_FRONT_AXIS 2
@import ecgl.common.uv.fragmentHeader
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
uniform vec4 color : [0.0, 0.0, 0.0, 1.0];
uniform vec4 paperColor : [1.0, 1.0, 1.0, 1.0];
uniform mat4 viewInverse : VIEWINVERSE;
#ifdef AMBIENT_LIGHT_COUNT
@import clay.header.ambient_light
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
@import clay.header.ambient_sh_light
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
@import clay.header.directional_light
#endif
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
@import ecgl.common.ssaoMap.header
@import ecgl.common.bumpMap.header
@import clay.util.srgb
@import ecgl.common.wireframe.fragmentHeader
@import clay.plugin.compute_shadow_map
uniform sampler2D hatch1;
uniform sampler2D hatch2;
uniform sampler2D hatch3;
uniform sampler2D hatch4;
uniform sampler2D hatch5;
uniform sampler2D hatch6;
float shade(in float tone) {
vec4 c = vec4(1. ,1., 1., 1.);
float step = 1. / 6.;
vec2 uv = v_DetailTexcoord;
if (tone <= step / 2.0) {
c = mix(vec4(0.), texture2D(hatch6, uv), 12. * tone);
}
else if (tone <= step) {
c = mix(texture2D(hatch6, uv), texture2D(hatch5, uv), 6. * tone);
}
if(tone > step && tone <= 2. * step){
c = mix(texture2D(hatch5, uv), texture2D(hatch4, uv) , 6. * (tone - step));
}
if(tone > 2. * step && tone <= 3. * step){
c = mix(texture2D(hatch4, uv), texture2D(hatch3, uv), 6. * (tone - 2. * step));
}
if(tone > 3. * step && tone <= 4. * step){
c = mix(texture2D(hatch3, uv), texture2D(hatch2, uv), 6. * (tone - 3. * step));
}
if(tone > 4. * step && tone <= 5. * step){
c = mix(texture2D(hatch2, uv), texture2D(hatch1, uv), 6. * (tone - 4. * step));
}
if(tone > 5. * step){
c = mix(texture2D(hatch1, uv), vec4(1.), 6. * (tone - 5. * step));
}
return c.r;
}
const vec3 w = vec3(0.2125, 0.7154, 0.0721);
void main()
{
#ifdef SRGB_DECODE
vec4 inkColor = sRGBToLinear(color);
#else
vec4 inkColor = color;
#endif
#ifdef VERTEX_COLOR
#ifdef SRGB_DECODE
inkColor *= sRGBToLinear(v_Color);
#else
inkColor *= v_Color;
#endif
#endif
vec3 N = v_Normal;
#ifdef DOUBLE_SIDED
vec3 eyePos = viewInverse[3].xyz;
vec3 V = normalize(eyePos - v_WorldPosition);
if (dot(N, V) < 0.0) {
N = -N;
}
#endif
float tone = 0.0;
float ambientFactor = 1.0;
#ifdef BUMPMAP_ENABLED
N = bumpNormal(v_WorldPosition, v_Normal, N);
ambientFactor = dot(v_Normal, N);
#endif
vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);
@import ecgl.common.ssaoMap.main
#ifdef AMBIENT_LIGHT_COUNT
for(int i = 0; i < AMBIENT_LIGHT_COUNT; i++)
{
tone += dot(ambientLightColor[i], w) * ambientFactor * ao;
}
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)
{{
tone += dot(calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_], w) * ao;
}}
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
if(shadowEnabled)
{
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
}
#endif
for(int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++)
{
vec3 lightDirection = -directionalLightDirection[i];
float lightTone = dot(directionalLightColor[i], w);
float shadowContrib = 1.0;
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
if (shadowEnabled)
{
shadowContrib = shadowContribsDir[i];
}
#endif
float ndl = dot(N, normalize(lightDirection)) * shadowContrib;
tone += lightTone * clamp(ndl, 0.0, 1.0);
}
#endif
gl_FragColor = mix(inkColor, paperColor, shade(clamp(tone, 0.0, 1.0)));
}
@end
`},function(tt,Ue,Ne){"use strict";Ue.a=`@export ecgl.sm.depth.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
#ifdef VERTEX_ANIMATION
attribute vec3 prevPosition;
uniform float percent : 1.0;
#endif
varying vec4 v_ViewPosition;
void main(){
#ifdef VERTEX_ANIMATION
vec3 pos = mix(prevPosition, position, percent);
#else
vec3 pos = position;
#endif
v_ViewPosition = worldViewProjection * vec4(pos, 1.0);
gl_Position = v_ViewPosition;
}
@end
@export ecgl.sm.depth.fragment
@import clay.sm.depth.fragment
@end`},function(tt,Ue,Ne){"use strict";var Ke=Ne(134),Be=Ne(138),we=Ne(139),Te=Ne(145),ke=Ne(0),Ie=Ne.n(ke);Ie.a.registerAction({type:"grid3DChangeCamera",event:"grid3dcamerachanged",update:"series:updateCamera"},function(Ce,Me){Me.eachComponent({mainType:"grid3D",query:Ce},function(je){je.setView(Ce)})}),Ie.a.registerAction({type:"grid3DShowAxisPointer",event:"grid3dshowaxispointer",update:"grid3D:showAxisPointer"},function(Ce,Me){}),Ie.a.registerAction({type:"grid3DHideAxisPointer",event:"grid3dhideaxispointer",update:"grid3D:hideAxisPointer"},function(Ce,Me){})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(135),Te=Be.a.extendComponentModel({type:"cartesian3DAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid3D",index:this.option.gridIndex,id:this.option.gridId})[0]}});Be.a.helper.mixinAxisModelCommonMethods(Te);function ke(Ie,Ce){return Ce.type||(Ce.data?"category":"value")}Object(we.a)("x",Te,ke,{name:"X"}),Object(we.a)("y",Te,ke,{name:"Y"}),Object(we.a)("z",Te,ke,{name:"Z"})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(136),Te=Ne(137),ke=Ne.n(Te),Ie=["value","category","time","log"];Ue.a=function(Ce,Me,je,ye){Be.a.util.each(Ie,function(ie){Me.extend({type:Ce+"Axis3D."+ie,__ordinalMeta:null,mergeDefaultAndTheme:function(ae,fe){var de=fe.getTheme();Be.a.util.merge(ae,de.get(ie+"Axis3D")),Be.a.util.merge(ae,this.getDefaultOption()),ae.type=je(Ce,ae)},optionUpdated:function(){var ae=this.option;ae.type==="category"&&(this.__ordinalMeta=ke.a.createByAxisModel(this))},getCategories:function(){if(this.option.type==="category")return this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:Be.a.util.merge(Be.a.util.clone(we.a[ie+"Axis3D"]),ye||{},!0)})}),Me.superClass.registerSubTypeDefaulter(Ce+"Axis3D",Be.a.util.curry(je,Ce))}},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we={show:!0,grid3DIndex:0,inverse:!1,name:"",nameLocation:"middle",nameTextStyle:{fontSize:16},nameGap:20,axisPointer:{},axisLine:{},axisTick:{},axisLabel:{},splitArea:{}},Te=Be.a.util.merge({boundaryGap:!0,axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"},axisPointer:{label:{show:!1}}},we),ke=Be.a.util.merge({boundaryGap:[0,0],splitNumber:5,axisPointer:{label:{}}},we),Ie=Be.a.util.defaults({scale:!0,min:"dataMin",max:"dataMax"},ke),Ce=Be.a.util.defaults({logBase:10},ke);Ce.scale=!0,Ue.a={categoryAxis3D:Te,valueAxis3D:ke,timeAxis3D:Ie,logAxis3D:Ce}},function(tt,Ue,Ne){var Ke=Ne(12),Be=Ke.createHashMap,we=Ke.isObject,Te=Ke.map;function ke(ye){this.categories=ye.categories||[],this._needCollect=ye.needCollect,this._deduplication=ye.deduplication,this._map}ke.createByAxisModel=function(ye){var ie=ye.option,ae=ie.data,fe=ae&&Te(ae,Me);return new ke({categories:fe,needCollect:!fe,deduplication:ie.dedplication!==!1})};var Ie=ke.prototype;Ie.getOrdinal=function(ye){return Ce(this).get(ye)},Ie.parseAndCollect=function(ye){var ie,ae=this._needCollect;if(typeof ye!="string"&&!ae)return ye;if(ae&&!this._deduplication)return ie=this.categories.length,this.categories[ie]=ye,ie;var fe=Ce(this);return ie=fe.get(ye),ie==null&&(ae?(ie=this.categories.length,this.categories[ie]=ye,fe.set(ye,ie)):ie=NaN),ie};function Ce(ye){return ye._map||(ye._map=Be(ye.categories))}function Me(ye){return we(ye)&&ye.value!=null?ye.value:ye+""}var je=ke;tt.exports=je},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(38),Te=Ne(31),ke=Ne(32),Ie=Be.a.extendComponentModel({type:"grid3D",dependencies:["xAxis3D","yAxis3D","zAxis3D"],defaultOption:{show:!0,zlevel:-10,left:0,top:0,width:"100%",height:"100%",environment:"auto",boxWidth:100,boxHeight:100,boxDepth:100,axisPointer:{show:!0,lineStyle:{color:"rgba(0, 0, 0, 0.8)",width:1},label:{show:!0,formatter:null,margin:8,textStyle:{fontSize:14,color:"#fff",backgroundColor:"rgba(0,0,0,0.5)",padding:3,borderRadius:3}}},axisLine:{show:!0,lineStyle:{color:"#333",width:2,type:"solid"}},axisTick:{show:!0,inside:!1,length:3,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,margin:8,textStyle:{fontSize:12}},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}},light:{main:{alpha:30,beta:40},ambient:{intensity:.4}},viewControl:{alpha:20,beta:40,autoRotate:!1,distance:200,minDistance:40,maxDistance:400}}});Be.a.util.merge(Ie.prototype,we.a),Be.a.util.merge(Ie.prototype,Te.a),Be.a.util.merge(Ie.prototype,ke.a);var Ce=Ie},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(2),Te=Ne(39),ke=Ne(22),Ie=Ne(3),Ce=Ne(73),Me=Ne(34),je=Ne(140),ye=Ne(142),ie=Ne(58),ae=Ne(40),fe=Ie.a.firstNotNull;we.a.Shader.import(ae.a),["x","y","z"].forEach(function(xe){Be.a.extendComponentView({type:xe+"Axis3D"})});var de={x:0,y:2,z:1},ve=Be.a.extendComponentView({type:"grid3D",__ecgl__:!0,init:function(xe,ce){var pe=[["y","z","x",-1,"left"],["y","z","x",1,"right"],["x","y","z",-1,"bottom"],["x","y","z",1,"top"],["x","z","y",-1,"far"],["x","z","y",1,"near"]],Se=["x","y","z"],Le=new we.a.Material({shader:we.a.createShader("ecgl.color"),depthMask:!1,transparent:!0}),ze=new we.a.Material({shader:we.a.createShader("ecgl.meshLines3D"),depthMask:!1,transparent:!0});Le.define("fragment","DOUBLE_SIDED"),Le.define("both","VERTEX_COLOR"),this.groupGL=new we.a.Node,this._control=new Te.a({zr:ce.getZr()}),this._control.init(),this._faces=pe.map(function(Ve){var Qe=new je.a(Ve,ze,Le);return this.groupGL.add(Qe.rootNode),Qe},this),this._axes=Se.map(function(Ve){var Qe=new ye.a(Ve,ze);return this.groupGL.add(Qe.rootNode),Qe},this);var Ze=ce.getDevicePixelRatio();this._axisLabelSurface=new Ce.a({width:256,height:256,devicePixelRatio:Ze}),this._axisLabelSurface.onupdate=function(){ce.getZr().refresh()},this._axisPointerLineMesh=new we.a.Mesh({geometry:new ke.a({useNativeLine:!1}),material:ze,castShadow:!1,ignorePicking:!0,renderOrder:3}),this.groupGL.add(this._axisPointerLineMesh),this._axisPointerLabelsSurface=new Ce.a({width:128,height:128,devicePixelRatio:Ze}),this._axisPointerLabelsMesh=new ie.a({ignorePicking:!0,renderOrder:4,castShadow:!1}),this._axisPointerLabelsMesh.material.set("textureAtlas",this._axisPointerLabelsSurface.getTexture()),this.groupGL.add(this._axisPointerLabelsMesh),this._lightRoot=new we.a.Node,this._sceneHelper=new Me.a,this._sceneHelper.initLight(this._lightRoot)},render:function(xe,ce,pe){this._model=xe,this._api=pe;var Se=xe.coordinateSystem;Se.viewGL.add(this._lightRoot),xe.get("show")?Se.viewGL.add(this.groupGL):Se.viewGL.remove(this.groupGL);var Le=this._control;Le.setViewGL(Se.viewGL);var ze=xe.getModel("viewControl");Le.setFromViewControlModel(ze,0),this._axisLabelSurface.clear();var Ze=["x","y","z"].reduce(function(Ve,Qe){var $e=Se.getAxis(Qe),gt=$e.model;return Ve[Qe]=fe(gt.get("axisLabel.interval"),xe.get("axisLabel.interval")),$e.scale.type==="ordinal"&&(Ve[Qe]==null||Ve[Qe]=="auto")&&(Ve[Qe]=Math.floor($e.scale.getTicks().length/8)),Ve},{});Le.off("update"),xe.get("show")&&(this._faces.forEach(function(Ve){Ve.update(Ze,xe,ce,pe)},this),this._axes.forEach(function(Ve){Ve.update(xe,Ze,this._axisLabelSurface,pe)},this)),Le.on("update",this._onCameraChange.bind(this,xe,pe),this),this._sceneHelper.setScene(Se.viewGL.scene),this._sceneHelper.updateLight(xe),Se.viewGL.setPostEffect(xe.getModel("postEffect"),pe),Se.viewGL.setTemporalSuperSampling(xe.getModel("temporalSuperSampling")),this._initMouseHandler(xe)},afterRender:function(xe,ce,pe,Se){var Le=Se.renderer;this._sceneHelper.updateAmbientCubemap(Le,xe,pe),this._sceneHelper.updateSkybox(Le,xe,pe)},showAxisPointer:function(xe,ce,pe,Se){this._doShowAxisPointer(),this._updateAxisPointer(Se.value)},hideAxisPointer:function(xe,ce,pe,Se){this._doHideAxisPointer()},_initMouseHandler:function(xe){var ce=xe.coordinateSystem,pe=ce.viewGL;xe.get("show")&&xe.get("axisPointer.show")?pe.on("mousemove",this._updateAxisPointerOnMousePosition,this):pe.off("mousemove",this._updateAxisPointerOnMousePosition)},_updateAxisPointerOnMousePosition:function(xe){if(!xe.target){for(var ce=this._model,pe=ce.coordinateSystem,Se=pe.viewGL,Le=Se.castRay(xe.offsetX,xe.offsetY,new we.a.Ray),ze,Ze=0;Ze<this._faces.length;Ze++){var Ve=this._faces[Ze];if(!Ve.rootNode.invisible){Ve.plane.normal.dot(Se.camera.worldTransform.z)<0&&Ve.plane.normal.negate();var Qe=Le.intersectPlane(Ve.plane);if(Qe){var $e=pe.getAxis(Ve.faceInfo[0]),gt=pe.getAxis(Ve.faceInfo[1]),lt=de[Ve.faceInfo[0]],At=de[Ve.faceInfo[1]];$e.contain(Qe.array[lt])&&gt.contain(Qe.array[At])&&(ze=Qe)}}}if(ze){var Et=pe.pointToData(ze.array,[],!0);this._updateAxisPointer(Et),this._doShowAxisPointer()}else this._doHideAxisPointer()}},_onCameraChange:function(xe,ce){xe.get("show")&&(this._updateFaceVisibility(),this._updateAxisLinePosition());var pe=this._control;ce.dispatchAction({type:"grid3DChangeCamera",alpha:pe.getAlpha(),beta:pe.getBeta(),distance:pe.getDistance(),center:pe.getCenter(),from:this.uid,grid3DId:xe.id})},_updateFaceVisibility:function(){var xe=this._control.getCamera(),ce=new we.a.Vector3;xe.update();for(var pe=0;pe<this._faces.length/2;pe++){for(var Se=[],Le=0;Le<2;Le++){var ze=this._faces[pe*2+Le];ze.rootNode.getWorldPosition(ce),ce.transformMat4(xe.viewMatrix),Se[Le]=ce.z}var Ze=Se[0]>Se[1]?0:1,Ve=this._faces[pe*2+Ze],Qe=this._faces[pe*2+1-Ze];Ve.rootNode.invisible=!0,Qe.rootNode.invisible=!1}},_updateAxisLinePosition:function(){var xe=this._model.coordinateSystem,ce=xe.getAxis("x"),pe=xe.getAxis("y"),Se=xe.getAxis("z"),Le=Se.getExtentMax(),ze=Se.getExtentMin(),Ze=ce.getExtentMin(),Ve=ce.getExtentMax(),Qe=pe.getExtentMax(),$e=pe.getExtentMin(),gt=this._axes[0].rootNode,lt=this._axes[1].rootNode,At=this._axes[2].rootNode,Et=this._faces,vt=Et[4].rootNode.invisible?$e:Qe,Lt=Et[2].rootNode.invisible?Le:ze,St=Et[0].rootNode.invisible?Ze:Ve,xt=Et[2].rootNode.invisible?Le:ze,ct=Et[0].rootNode.invisible?Ve:Ze,Dt=Et[4].rootNode.invisible?$e:Qe;gt.rotation.identity(),lt.rotation.identity(),At.rotation.identity(),Et[4].rootNode.invisible&&(this._axes[0].flipped=!0,gt.rotation.rotateX(Math.PI)),Et[0].rootNode.invisible&&(this._axes[1].flipped=!0,lt.rotation.rotateZ(Math.PI)),Et[4].rootNode.invisible&&(this._axes[2].flipped=!0,At.rotation.rotateY(Math.PI)),gt.position.set(0,Lt,vt),lt.position.set(St,xt,0),At.position.set(ct,0,Dt),gt.update(),lt.update(),At.update(),this._updateAxisLabelAlign()},_updateAxisLabelAlign:function(){var xe=this._control.getCamera(),ce=[new we.a.Vector4,new we.a.Vector4],pe=new we.a.Vector4;this.groupGL.getWorldPosition(pe),pe.w=1,pe.transformMat4(xe.viewMatrix).transformMat4(xe.projectionMatrix),pe.x/=pe.w,pe.y/=pe.w,this._axes.forEach(function(Se){for(var Le=Se.axisLineCoords,ze=Se.labelsMesh.geometry,Ze=0;Ze<ce.length;Ze++)ce[Ze].setArray(Le[Ze]),ce[Ze].w=1,ce[Ze].transformMat4(Se.rootNode.worldTransform).transformMat4(xe.viewMatrix).transformMat4(xe.projectionMatrix),ce[Ze].x/=ce[Ze].w,ce[Ze].y/=ce[Ze].w;var Ve=ce[1].x-ce[0].x,Qe=ce[1].y-ce[0].y,$e=(ce[1].x+ce[0].x)/2,gt=(ce[1].y+ce[0].y)/2,lt,At;Math.abs(Qe/Ve)<.5?(lt="center",At=gt>pe.y?"bottom":"top"):(At="middle",lt=$e>pe.x?"left":"right"),Se.setSpriteAlign(lt,At,this._api)},this)},_doShowAxisPointer:function(){this._axisPointerLineMesh.invisible&&(this._axisPointerLineMesh.invisible=!1,this._axisPointerLabelsMesh.invisible=!1,this._api.getZr().refresh())},_doHideAxisPointer:function(){this._axisPointerLineMesh.invisible||(this._axisPointerLineMesh.invisible=!0,this._axisPointerLabelsMesh.invisible=!0,this._api.getZr().refresh())},_updateAxisPointer:function(xe){var ce=this._model.coordinateSystem,pe=ce.dataToPoint(xe),Se=this._axisPointerLineMesh,Le=Se.geometry,ze=this._model.getModel("axisPointer"),Ze=this._api.getDevicePixelRatio();Le.convertToDynamicArray(!0);function Ve(ln){return Ie.a.firstNotNull(ln.model.get("axisPointer.show"),ze.get("show"))}function Qe(ln){var Rn=ln.model.getModel("axisPointer",ze),jn=Rn.getModel("lineStyle"),er=we.a.parseColor(jn.get("color")),an=fe(jn.get("width"),1),Un=fe(jn.get("opacity"),1);return er[3]*=Un,{color:er,lineWidth:an}}for(var $e=0;$e<this._faces.length;$e++){var gt=this._faces[$e];if(!gt.rootNode.invisible){for(var lt=gt.faceInfo,At=lt[3]<0?ce.getAxis(lt[2]).getExtentMin():ce.getAxis(lt[2]).getExtentMax(),Et=de[lt[2]],vt=0;vt<2;vt++){var Lt=lt[vt],St=lt[1-vt],xt=ce.getAxis(Lt),ct=ce.getAxis(St);if(Ve(xt)){var Dt=[0,0,0],Xt=[0,0,0],kt=de[Lt],Rt=de[St];Dt[kt]=Xt[kt]=pe[kt],Dt[Et]=Xt[Et]=At,Dt[Rt]=ct.getExtentMin(),Xt[Rt]=ct.getExtentMax();var Gt=Qe(xt);Le.addLine(Dt,Xt,Gt.color,Gt.lineWidth*Ze)}}if(Ve(ce.getAxis(lt[2]))){var Dt=pe.slice(),Xt=pe.slice();Xt[Et]=At;var Gt=Qe(ce.getAxis(lt[2]));Le.addLine(Dt,Xt,Gt.color,Gt.lineWidth*Ze)}}}Le.convertToTypedArray(),this._updateAxisPointerLabelsMesh(xe),this._api.getZr().refresh()},_updateAxisPointerLabelsMesh:function(xe){var ce=this._model,pe=this._axisPointerLabelsMesh,Se=this._axisPointerLabelsSurface,Le=ce.coordinateSystem,ze=ce.getModel("axisPointer");pe.geometry.convertToDynamicArray(!0),Se.clear();var Ze={x:"y",y:"x",z:"y"};this._axes.forEach(function(Ve,Qe){var $e=Le.getAxis(Ve.dim),gt=$e.model,lt=gt.getModel("axisPointer",ze),At=lt.getModel("label"),Et=lt.get("lineStyle.color");if(!(!At.get("show")||!lt.get("show"))){var vt=xe[Qe],Lt=At.get("formatter"),St=$e.scale.getLabel(vt);if(Lt!=null)St=Lt(St,xe);else if($e.scale.type==="interval"||$e.scale.type==="log"){var xt=Be.a.number.getPrecisionSafe($e.scale.getTicks()[0]);St=vt.toFixed(xt+2)}var ct=At.getModel("textStyle"),Dt=ct.get("color"),Xt=new Be.a.graphic.Text;Be.a.graphic.setTextStyle(Xt.style,ct,{text:St,textFill:Dt||Et,textAlign:"left",textVerticalAlign:"top"});var kt=Se.add(Xt),Rt=Xt.getBoundingRect(),Gt=this._api.getDevicePixelRatio(),ln=Ve.rootNode.position.toArray(),Rn=de[Ze[Ve.dim]];ln[Rn]+=(Ve.flipped?-1:1)*At.get("margin"),ln[de[Ve.dim]]=$e.dataToCoord(xe[Qe]),pe.geometry.addSprite(ln,[Rt.width*Gt,Rt.height*Gt],kt,Ve.textAlign,Ve.textVerticalAlign)}},this),Se.getZr().refreshImmediately(),pe.material.set("uvScale",Se.getCoordsScale()),pe.geometry.convertToTypedArray()},dispose:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(2),Te=Ne(3),ke=Ne(22),Ie=Ne(141),Ce=Ne(74),Me=Te.a.firstNotNull,je={x:0,y:2,z:1};function ye(ae,fe,de,ve){var xe=[0,0,0],ce=ve<0?de.getExtentMin():de.getExtentMax();xe[je[de.dim]]=ce,ae.position.setArray(xe),ae.rotation.identity(),fe.distance=-Math.abs(ce),fe.normal.set(0,0,0),de.dim==="x"?(ae.rotation.rotateY(ve*Math.PI/2),fe.normal.x=-ve):de.dim==="z"?(ae.rotation.rotateX(-ve*Math.PI/2),fe.normal.y=-ve):(ve>0&&ae.rotation.rotateY(Math.PI),fe.normal.z=-ve)}function ie(ae,fe,de){this.rootNode=new we.a.Node;var ve=new we.a.Mesh({geometry:new ke.a({useNativeLine:!1}),material:fe,castShadow:!1,ignorePicking:!0,renderOrder:1}),xe=new we.a.Mesh({geometry:new Ie.a,material:de,castShadow:!1,culling:!1,ignorePicking:!0,renderOrder:0});this.rootNode.add(xe),this.rootNode.add(ve),this.faceInfo=ae,this.plane=new we.a.Plane,this.linesMesh=ve,this.quadsMesh=xe}ie.prototype.update=function(ae,fe,de,ve){var xe=fe.coordinateSystem,ce=[xe.getAxis(this.faceInfo[0]),xe.getAxis(this.faceInfo[1])],pe=this.linesMesh.geometry,Se=this.quadsMesh.geometry;pe.convertToDynamicArray(!0),Se.convertToDynamicArray(!0),this._updateSplitLines(pe,ce,fe,ae,ve),this._udpateSplitAreas(Se,ce,fe,ae,ve),pe.convertToTypedArray(),Se.convertToTypedArray();var Le=xe.getAxis(this.faceInfo[2]);ye(this.rootNode,this.plane,Le,this.faceInfo[3])},ie.prototype._updateSplitLines=function(ae,fe,de,ve,xe){var ce=xe.getDevicePixelRatio();fe.forEach(function(pe,Se){var Le=pe.model,ze=fe[1-Se].getExtent();if(!pe.scale.isBlank()){var Ze=Le.getModel("splitLine",de.getModel("splitLine"));if(Ze.get("show")){var Ve=Ze.getModel("lineStyle"),Qe=Ve.get("color"),$e=Me(Ve.get("opacity"),1),gt=Me(Ve.get("width"),1),lt=Ze.get("interval");(lt==null||lt==="auto")&&(lt=ve[pe.dim]),Qe=Be.a.util.isArray(Qe)?Qe:[Qe];for(var At=pe.getTicksCoords(),Et=0,vt=0;vt<At.length;vt++)if(!Object(Ce.a)(pe,vt,lt)){var Lt=At[vt],St=we.a.parseColor(Qe[Et%Qe.length]);St[3]*=$e;var xt=[0,0,0],ct=[0,0,0];xt[Se]=ct[Se]=Lt,xt[1-Se]=ze[0],ct[1-Se]=ze[1],ae.addLine(xt,ct,St,gt*ce),Et++}}}})},ie.prototype._udpateSplitAreas=function(ae,fe,de,ve,xe){fe.forEach(function(ce,pe){var Se=ce.model,Le=fe[1-pe].getExtent();if(!ce.scale.isBlank()){var ze=Se.getModel("splitArea",de.getModel("splitArea"));if(ze.get("show")){var Ze=ze.getModel("areaStyle"),Ve=Ze.get("color"),Qe=Me(Ze.get("opacity"),1),$e=ze.get("interval");($e==null||$e==="auto")&&($e=ve[ce.dim]),Ve=Be.a.util.isArray(Ve)?Ve:[Ve];for(var gt=ce.getTicksCoords(),lt=0,At=[0,0,0],Et=[0,0,0],vt=0;vt<gt.length;vt++){var Lt=gt[vt],St=[0,0,0],xt=[0,0,0];if(St[pe]=xt[pe]=Lt,St[1-pe]=Le[0],xt[1-pe]=Le[1],vt===0){At=St,Et=xt;continue}if(!Object(Ce.a)(ce,vt,$e)){var ct=we.a.parseColor(Ve[lt%Ve.length]);ct[3]*=Qe,ae.addQuad([At,St,xt,Et],ct),At=St,Et=xt,lt++}}}}})},Ue.a=ie},function(tt,Ue,Ne){"use strict";var Ke=Ne(13),Be=Ne(0),we=Ne.n(Be),Te=Ne(33),ke=Ne(1),Ie=Ne.n(ke),Ce=Ie.a.vec3,Me=Ke.a.extend(function(){return{segmentScale:1,useNativeLine:!0,attributes:{position:new Ke.a.Attribute("position","float",3,"POSITION"),normal:new Ke.a.Attribute("normal","float",3,"NORMAL"),color:new Ke.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setQuadCount:function(je){var ye=this.attributes,ie=this.getQuadVertexCount()*je,ae=this.getQuadTriangleCount()*je;this.vertexCount!==ie&&(ye.position.init(ie),ye.normal.init(ie),ye.color.init(ie)),this.triangleCount!==ae&&(this.indices=ie>65535?new Uint32Array(ae*3):new Uint16Array(ae*3))},getQuadVertexCount:function(){return 4},getQuadTriangleCount:function(){return 2},addQuad:function(){var je=Ce.create(),ye=Ce.create(),ie=Ce.create(),ae=[0,3,1,3,2,1];return function(fe,de){var ve=this.attributes.position,xe=this.attributes.normal,ce=this.attributes.color;Ce.sub(je,fe[1],fe[0]),Ce.sub(ye,fe[2],fe[1]),Ce.cross(ie,je,ye),Ce.normalize(ie,ie);for(var pe=0;pe<4;pe++)ve.set(this._vertexOffset+pe,fe[pe]),ce.set(this._vertexOffset+pe,de),xe.set(this._vertexOffset+pe,ie);for(var Se=this._faceOffset*3,pe=0;pe<6;pe++)this.indices[Se+pe]=ae[pe]+this._vertexOffset;this._vertexOffset+=4,this._faceOffset+=2}}()});we.a.util.defaults(Me.prototype,Te.a),Ue.a=Me},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(2),Te=Ne(22),ke=Ne(3),Ie=Ne(58),Ce=Ne(74),Me=ke.a.firstNotNull,je={x:0,y:2,z:1};function ye(ae,fe){var de=new we.a.Mesh({geometry:new Te.a({useNativeLine:!1}),material:fe,castShadow:!1,ignorePicking:!0,renderOrder:2}),ve=new Ie.a;ve.material.depthMask=!1;var xe=new we.a.Node;xe.add(de),xe.add(ve),this.rootNode=xe,this.dim=ae,this.linesMesh=de,this.labelsMesh=ve,this.axisLineCoords=null,this.labelElements=[]}var ie={x:"y",y:"x",z:"y"};ye.prototype.update=function(ae,fe,de,ve){var xe=ae.coordinateSystem,ce=xe.getAxis(this.dim),pe=fe[this.dim],Se=this.linesMesh.geometry,Le=this.labelsMesh.geometry;Se.convertToDynamicArray(!0),Le.convertToDynamicArray(!0);var ze=ce.model,Ze=ce.getExtent(),jn=ve.getDevicePixelRatio(),Ve=ze.getModel("axisLine",ae.getModel("axisLine")),Qe=ze.getModel("axisTick",ae.getModel("axisTick")),$e=ze.getModel("axisLabel",ae.getModel("axisLabel")),gt=Ve.get("lineStyle.color");if(Ve.get("show")){var lt=Ve.getModel("lineStyle"),At=[0,0,0],Et=[0,0,0],vt=je[ce.dim];At[vt]=Ze[0],Et[vt]=Ze[1],this.axisLineCoords=[At,Et];var Lt=we.a.parseColor(gt),St=Me(lt.get("width"),1),xt=Me(lt.get("opacity"),1);Lt[3]*=xt,Se.addLine(At,Et,Lt,St*jn)}if(Qe.get("show")){var ct=Qe.getModel("lineStyle"),Dt=we.a.parseColor(Me(ct.get("color"),gt)),St=Me(ct.get("width"),1);Dt[3]*=Me(ct.get("opacity"),1);var Xt=ce.getTicksCoords(),kt=Qe.get("interval");(kt==null||kt==="auto")&&(kt=pe);for(var Rt=Qe.get("length"),Gt=0;Gt<Xt.length;Gt++)if(!Object(Ce.a)(ce,Gt,kt)){var ln=Xt[Gt],At=[0,0,0],Et=[0,0,0],vt=je[ce.dim],Rn=je[ie[ce.dim]];At[vt]=Et[vt]=ln,Et[Rn]=Rt,Se.addLine(At,Et,Dt,St*jn)}}this.labelElements=[];var jn=ve.getDevicePixelRatio();if($e.get("show")){for(var er=ce.getLabelsCoords(),an=ze.get("data"),kt=pe,Un=$e.get("margin"),Kn=ze.getFormattedLabels(),ur=ce.scale.getTicks(),Gt=0;Gt<er.length;Gt++)if(!Object(Ce.a)(ce,Gt,kt)){var ln=er[Gt],Xn=[0,0,0],vt=je[ce.dim],Rn=je[ie[ce.dim]];Xn[vt]=Xn[vt]=ln,Xn[Rn]=Un;var Nn=$e;an&&an[ur[Gt]]&&an[ur[Gt]].textStyle&&(Nn=new Be.a.Model(an[ur[Gt]].textStyle,$e,ze.ecModel));var _n=Me(Nn.get("color"),gt),un=new Be.a.graphic.Text;Be.a.graphic.setTextStyle(un.style,Nn,{text:Kn[Gt],textFill:typeof _n=="function"?_n(ce.type==="category"?Kn[Gt]:ce.type==="value"?ur[Gt]+"":ur[Gt],Gt):_n,textVerticalAlign:"top",textAlign:"left"});var qt=de.add(un),Yt=un.getBoundingRect();Le.addSprite(Xn,[Yt.width*jn,Yt.height*jn],qt),this.labelElements.push(un)}}if(ze.get("name")){var gn=ze.getModel("nameTextStyle"),Xn=[0,0,0],vt=je[ce.dim],Rn=je[ie[ce.dim]],_t=Me(gn.get("color"),gt),Jt=gn.get("borderColor"),St=gn.get("borderWidth");Xn[vt]=Xn[vt]=(Ze[0]+Ze[1])/2,Xn[Rn]=ze.get("nameGap");var un=new Be.a.graphic.Text;Be.a.graphic.setTextStyle(un.style,gn,{text:ze.get("name"),textFill:_t,textStroke:Jt,lineWidth:St});var qt=de.add(un),Yt=un.getBoundingRect();Le.addSprite(Xn,[Yt.width*jn,Yt.height*jn],qt),un.__idx=this.labelElements.length,this.nameLabelElement=un}this.labelsMesh.material.set("textureAtlas",de.getTexture()),this.labelsMesh.material.set("uvScale",de.getCoordsScale()),Se.convertToTypedArray(),Le.convertToTypedArray()},ye.prototype.setSpriteAlign=function(ae,fe,de){for(var ve=de.getDevicePixelRatio(),xe=this.labelsMesh.geometry,ce=0;ce<this.labelElements.length;ce++){var pe=this.labelElements[ce],Se=pe.getBoundingRect();xe.setSpriteAlign(ce,[Se.width*ve,Se.height*ve],ae,fe)}var Le=this.nameLabelElement;if(Le){var Se=Le.getBoundingRect();xe.setSpriteAlign(Le.__idx,[Se.width*ve,Se.height*ve],ae,fe),xe.dirty()}this.textAlign=ae,this.textVerticalAlign=fe},Ue.a=ye},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(13),Te=Ne(33),ke=[0,1,2,0,2,3],Ie=we.a.extend(function(){return{attributes:{position:new we.a.Attribute("position","float",3,"POSITION"),texcoord:new we.a.Attribute("texcoord","float",2,"TEXCOORD_0"),offset:new we.a.Attribute("offset","float",2),color:new we.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setSpriteCount:function(Ce){this._spriteCount=Ce;var Me=Ce*4,je=Ce*2;this.vertexCount!==Me&&(this.attributes.position.init(Me),this.attributes.offset.init(Me),this.attributes.color.init(Me)),this.triangleCount!==je&&(this.indices=Me>65535?new Uint32Array(je*3):new Uint16Array(je*3))},setSpriteAlign:function(Ce,Me,je,ye,ie){je==null&&(je="left"),ye==null&&(ye="top");var ae,fe,de,ve;switch(ie=ie||0,je){case"left":ae=ie,de=Me[0]+ie;break;case"center":case"middle":ae=-Me[0]/2,de=Me[0]/2;break;case"right":ae=-Me[0]-ie,de=-ie;break}switch(ye){case"bottom":fe=ie,ve=Me[1]+ie;break;case"middle":fe=-Me[1]/2,ve=Me[1]/2;break;case"top":fe=-Me[1]-ie,ve=-ie;break}var xe=Ce*4,ce=this.attributes.offset;ce.set(xe,[ae,ve]),ce.set(xe+1,[de,ve]),ce.set(xe+2,[de,fe]),ce.set(xe+3,[ae,fe])},addSprite:function(Ce,Me,je,ye,ie,ae){var fe=this._vertexOffset;this.setSprite(this._vertexOffset/4,Ce,Me,je,ye,ie,ae);for(var de=0;de<ke.length;de++)this.indices[this._faceOffset*3+de]=ke[de]+fe;return this._faceOffset+=2,this._vertexOffset+=4,fe/4},setSprite:function(Ce,Me,je,ye,ie,ae,fe){for(var de=Ce*4,ve=this.attributes,xe=0;xe<4;xe++)ve.position.set(de+xe,Me);var ce=ve.texcoord;ce.set(de,[ye[0][0],ye[0][1]]),ce.set(de+1,[ye[1][0],ye[0][1]]),ce.set(de+2,[ye[1][0],ye[1][1]]),ce.set(de+3,[ye[0][0],ye[1][1]]),this.setSpriteAlign(Ce,je,ie,ae,fe)}});Be.a.util.defaults(Ie.prototype,Te.a),Ue.a=Ie},function(tt,Ue,Ne){"use strict";Ue.a=`@export ecgl.labels.vertex
attribute vec3 position: POSITION;
attribute vec2 texcoord: TEXCOORD_0;
attribute vec2 offset;
#ifdef VERTEX_COLOR
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#endif
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec4 viewport : VIEWPORT;
varying vec2 v_Texcoord;
void main()
{
vec4 proj = worldViewProjection * vec4(position, 1.0);
vec2 screen = (proj.xy / abs(proj.w) + 1.0) * 0.5 * viewport.zw;
screen += offset;
proj.xy = (screen / viewport.zw - 0.5) * 2.0 * abs(proj.w);
gl_Position = proj;
#ifdef VERTEX_COLOR
v_Color = a_Color;
#endif
v_Texcoord = texcoord;
}
@end
@export ecgl.labels.fragment
uniform vec3 color : [1.0, 1.0, 1.0];
uniform float alpha : 1.0;
uniform sampler2D textureAtlas;
uniform vec2 uvScale: [1.0, 1.0];
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
varying float v_Miter;
varying vec2 v_Texcoord;
void main()
{
gl_FragColor = vec4(color, alpha) * texture2D(textureAtlas, v_Texcoord * uvScale);
#ifdef VERTEX_COLOR
gl_FragColor *= v_Color;
#endif
}
@end`},function(tt,Ue,Ne){"use strict";var Ke=Ne(146),Be=Ne(148),we=Ne(0),Te=Ne.n(we),ke=Ne(41),Ie=Ne.n(ke),Ce=Ne(20),Me=Ne(3);function je(fe,de){var ve=fe.getBoxLayoutParams(),xe=Ie.a.getLayoutRect(ve,{width:de.getWidth(),height:de.getHeight()});xe.y=de.getHeight()-xe.y-xe.height,this.viewGL.setViewport(xe.x,xe.y,xe.width,xe.height,de.getDevicePixelRatio());var ce=fe.get("boxWidth"),pe=fe.get("boxHeight"),Se=fe.get("boxDepth");["x","y","z"].forEach(function(Le){if(!this.getAxis(Le))throw new Error("Grid"+fe.id+" don't have "+Le+"Axis")},this),this.getAxis("x").setExtent(-ce/2,ce/2),this.getAxis("y").setExtent(Se/2,-Se/2),this.getAxis("z").setExtent(-pe/2,pe/2),this.size=[ce,pe,Se]}function ye(fe,de){var ve={};function xe(ce,pe){ve[ce]=ve[ce]||[1/0,-1/0],ve[ce][0]=Math.min(pe[0],ve[ce][0]),ve[ce][1]=Math.max(pe[1],ve[ce][1])}fe.eachSeries(function(ce){if(ce.coordinateSystem===this){var pe=ce.getData();["x","y","z"].forEach(function(Se){xe(Se,pe.getDataExtent(ce.coordDimToDataDim(Se)[0],!0))})}},this),["xAxis3D","yAxis3D","zAxis3D"].forEach(function(ce){fe.eachComponent(ce,function(pe){var Se=ce.charAt(0),Le=pe.getReferringComponents("grid3D")[0],ze=Le.coordinateSystem;if(ze===this){var Ze=ze.getAxis(Se);if(Ze){console.warn("Can't have two %s in one grid3D",ce);return}var Ve=Te.a.helper.createScale(ve[Se]||[1/0,-1/0],pe);Ze=new Be.a(Se,Ve),Ze.type=pe.get("type");var Qe=Ze.type==="category";Ze.onBand=Qe&&pe.get("boundaryGap"),Ze.inverse=pe.get("inverse"),pe.axis=Ze,Ze.model=pe,ze.addAxis(Ze)}},this)},this),this.resize(this.model,de)}var ie={dimensions:Ke.a.prototype.dimensions,create:function(fe,de){var ve=[];fe.eachComponent("grid3D",function(pe){pe.__viewGL=pe.__viewGL||new Ce.a;var Se=new Ke.a;Se.model=pe,Se.viewGL=pe.__viewGL,pe.coordinateSystem=Se,ve.push(Se),Se.resize=je,Se.update=ye});var xe=["xAxis3D","yAxis3D","zAxis3D"];function ce(pe,Se){return xe.map(function(Le){var ze=pe.getReferringComponents(Le)[0];if(ze==null&&(ze=Se.getComponent(Le)),!ze)throw new Error(Le+' "'+Me.a.firstNotNull(pe.get(Le+"Index"),pe.get(Le+"Id"),0)+'" not found');return ze})}return fe.eachSeries(function(pe){if(pe.get("coordinateSystem")==="cartesian3D"){var Se=pe.getReferringComponents("grid3D")[0];if(Se==null){var Le=ce(pe,fe),Se=Le[0].getCoordSysModel();Le.forEach(function(Ve){var Qe=Ve.getCoordSysModel();if(!Qe)throw new Error('grid3D "'+Me.a.firstNotNull(Ve.get("gridIndex"),Ve.get("gridId"),0)+'" not found');if(Qe!==Se)throw new Error("xAxis3D, yAxis3D, zAxis3D must use the same grid")})}var ze=Se.coordinateSystem;pe.coordinateSystem=ze}}),ve}};Te.a.registerCoordinateSystem("grid3D",ie);var ae=ie},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(147),Te=Ne.n(we);function ke(Ie){Te.a.call(this,Ie),this.size=[0,0,0]}ke.prototype={constructor:ke,type:"cartesian3D",dimensions:["x","y","z"],model:null,containPoint:function(Ie){return this.getAxis("x").contain(Ie[0])&&this.getAxis("y").contain(Ie[2])&&this.getAxis("z").contain(Ie[1])},containData:function(Ie){return this.getAxis("x").containData(Ie[0])&&this.getAxis("y").containData(Ie[1])&&this.getAxis("z").containData(Ie[2])},dataToPoint:function(Ie,Ce,Me){return Ce=Ce||[],Ce[0]=this.getAxis("x").dataToCoord(Ie[0],Me),Ce[2]=this.getAxis("y").dataToCoord(Ie[1],Me),Ce[1]=this.getAxis("z").dataToCoord(Ie[2],Me),Ce},pointToData:function(Ie,Ce,Me){return Ce=Ce||[],Ce[0]=this.getAxis("x").coordToData(Ie[0],Me),Ce[1]=this.getAxis("y").coordToData(Ie[2],Me),Ce[2]=this.getAxis("z").coordToData(Ie[1],Me),Ce}},Be.a.util.inherits(ke,Te.a),Ue.a=ke},function(tt,Ue,Ne){var Ke=Ne(12);function Be(ke){return this._axes[ke]}var we=function(ke){this._axes={},this._dimList=[],this.name=ke||""};we.prototype={constructor:we,type:"cartesian",getAxis:function(ke){return this._axes[ke]},getAxes:function(){return Ke.map(this._dimList,Be,this)},getAxesByScale:function(ke){return ke=ke.toLowerCase(),Ke.filter(this.getAxes(),function(Ie){return Ie.scale.type===ke})},addAxis:function(ke){var Ie=ke.dim;this._axes[Ie]=ke,this._dimList.push(Ie)},dataToCoord:function(ke){return this._dataCoordConvert(ke,"dataToCoord")},coordToData:function(ke){return this._dataCoordConvert(ke,"coordToData")},_dataCoordConvert:function(ke,Ie){for(var Ce=this._dimList,Me=ke instanceof Array?[]:{},je=0;je<Ce.length;je++){var ye=Ce[je],ie=this._axes[ye];Me[ye]=ie[Ie](ke[ye])}return Me}};var Te=we;tt.exports=Te},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke);function we(Te,ke,Ie){Be.a.Axis.call(this,Te,ke,Ie)}we.prototype={constructor:we,getExtentMin:function(){var Te=this._extent;return Math.min(Te[0],Te[1])},getExtentMax:function(){var Te=this._extent;return Math.max(Te[0],Te[1])}},Be.a.util.inherits(we,Be.a.Axis),Ue.a=we},function(tt,Ue,Ne){var Ke=Ne(12),Be=Ne(150),we=Ne(78);function Te(pe){return isNaN(pe)?"-":(pe=(pe+"").split("."),pe[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(pe.length>1?"."+pe[1]:""))}function ke(pe,Se){return pe=(pe||"").toLowerCase().replace(/-(.)/g,function(Le,ze){return ze.toUpperCase()}),Se&&pe&&(pe=pe.charAt(0).toUpperCase()+pe.slice(1)),pe}var Ie=Ke.normalizeCssArray;function Ce(pe){return String(pe).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var Me=["a","b","c","d","e","f","g"],je=function(pe,Se){return"{"+pe+(Se==null?"":Se)+"}"};function ye(pe,Se,Le){Ke.isArray(Se)||(Se=[Se]);var ze=Se.length;if(!ze)return"";for(var Ze=Se[0].$vars||[],Ve=0;Ve<Ze.length;Ve++){var Qe=Me[Ve];pe=pe.replace(je(Qe),je(Qe,0))}for(var $e=0;$e<ze;$e++)for(var gt=0;gt<Ze.length;gt++){var lt=Se[$e][Ze[gt]];pe=pe.replace(je(Me[gt],$e),Le?Ce(lt):lt)}return pe}function ie(pe,Se,Le){return Ke.each(Se,function(ze,Ze){pe=pe.replace("{"+Ze+"}",Le?Ce(ze):ze)}),pe}function ae(pe,Ze){pe=Ke.isString(pe)?{color:pe,extraCssText:Ze}:pe||{};var Le=pe.color,ze=pe.type,Ze=pe.extraCssText;return Le?ze==="subItem"?'<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:'+Ce(Le)+";"+(Ze||"")+'"></span>':'<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:'+Ce(Le)+";"+(Ze||"")+'"></span>':""}var fe=function(pe){return pe<10?"0"+pe:pe};function de(pe,Se,Le){(pe==="week"||pe==="month"||pe==="quarter"||pe==="half-year"||pe==="year")&&(pe=`MM-dd
yyyy`);var ze=we.parseDate(Se),Ze=Le?"UTC":"",Ve=ze["get"+Ze+"FullYear"](),Qe=ze["get"+Ze+"Month"]()+1,$e=ze["get"+Ze+"Date"](),gt=ze["get"+Ze+"Hours"](),lt=ze["get"+Ze+"Minutes"](),At=ze["get"+Ze+"Seconds"]();return pe=pe.replace("MM",fe(Qe)).replace("M",Qe).replace("yyyy",Ve).replace("yy",Ve%100).replace("dd",fe($e)).replace("d",$e).replace("hh",fe(gt)).replace("h",gt).replace("mm",fe(lt)).replace("m",lt).replace("ss",fe(At)).replace("s",At),pe}function ve(pe){return pe&&pe.charAt(0).toUpperCase()+pe.substr(1)}var xe=Be.truncateText,ce=Be.getBoundingRect;Ue.addCommas=Te,Ue.toCamelCase=ke,Ue.normalizeCssArray=Ie,Ue.encodeHTML=Ce,Ue.formatTpl=ye,Ue.formatTplSimple=ie,Ue.getTooltipMarker=ae,Ue.formatTime=de,Ue.capitalFirst=ve,Ue.truncateText=xe,Ue.getTextRect=ce},function(tt,Ue,Ne){var Ke=Ne(75),Be=Ne(151),we=Ne(12),Te=we.getContext,ke=we.extend,Ie=we.retrieve2,Ce=we.retrieve3,Me={},je=0,ye=5e3,ie=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g,ae="12px sans-serif",fe={};function de(St,xt){fe[St]=xt}function ve(St,xt){xt=xt||ae;var ct=St+":"+xt;if(Me[ct])return Me[ct];for(var Dt=(St+"").split(`
`),Xt=0,kt=0,Rt=Dt.length;kt<Rt;kt++)Xt=Math.max(lt(Dt[kt],xt).width,Xt);return je>ye&&(je=0,Me={}),je++,Me[ct]=Xt,Xt}function xe(St,xt,ct,Dt,Xt,kt,Rt){return kt?pe(St,xt,ct,Dt,Xt,kt,Rt):ce(St,xt,ct,Dt,Xt,Rt)}function ce(St,xt,ct,Dt,Xt,kt){var Rt=At(St,xt,Xt,kt),Gt=ve(St,xt);Xt&&(Gt+=Xt[1]+Xt[3]);var ln=Rt.outerHeight,Rn=Se(0,Gt,ct),jn=Le(0,ln,Dt),er=new Ke(Rn,jn,Gt,ln);return er.lineHeight=Rt.lineHeight,er}function pe(St,xt,ct,Dt,Xt,kt,Rt){var Gt=Et(St,{rich:kt,truncate:Rt,font:xt,textAlign:ct,textPadding:Xt}),ln=Gt.outerWidth,Rn=Gt.outerHeight,jn=Se(0,ln,ct),er=Le(0,Rn,Dt);return new Ke(jn,er,ln,Rn)}function Se(St,xt,ct){return ct==="right"?St-=xt:ct==="center"&&(St-=xt/2),St}function Le(St,xt,ct){return ct==="middle"?St-=xt/2:ct==="bottom"&&(St-=xt),St}function ze(St,xt,ct){var Dt=xt.x,Xt=xt.y,kt=xt.height,Rt=xt.width,Gt=kt/2,ln="left",Rn="top";switch(St){case"left":Dt-=ct,Xt+=Gt,ln="right",Rn="middle";break;case"right":Dt+=ct+Rt,Xt+=Gt,Rn="middle";break;case"top":Dt+=Rt/2,Xt-=ct,ln="center",Rn="bottom";break;case"bottom":Dt+=Rt/2,Xt+=kt+ct,ln="center";break;case"inside":Dt+=Rt/2,Xt+=Gt,ln="center",Rn="middle";break;case"insideLeft":Dt+=ct,Xt+=Gt,Rn="middle";break;case"insideRight":Dt+=Rt-ct,Xt+=Gt,ln="right",Rn="middle";break;case"insideTop":Dt+=Rt/2,Xt+=ct,ln="center";break;case"insideBottom":Dt+=Rt/2,Xt+=kt-ct,ln="center",Rn="bottom";break;case"insideTopLeft":Dt+=ct,Xt+=ct;break;case"insideTopRight":Dt+=Rt-ct,Xt+=ct,ln="right";break;case"insideBottomLeft":Dt+=ct,Xt+=kt-ct,Rn="bottom";break;case"insideBottomRight":Dt+=Rt-ct,Xt+=kt-ct,ln="right",Rn="bottom";break}return{x:Dt,y:Xt,textAlign:ln,textVerticalAlign:Rn}}function Ze(St,xt,ct,Dt,Xt){if(!xt)return"";var kt=(St+"").split(`
`);Xt=Ve(xt,ct,Dt,Xt);for(var Rt=0,Gt=kt.length;Rt<Gt;Rt++)kt[Rt]=Qe(kt[Rt],Xt);return kt.join(`
`)}function Ve(St,xt,Xt,Dt){Dt=ke({},Dt),Dt.font=xt;var Xt=Ie(Xt,"...");Dt.maxIterations=Ie(Dt.maxIterations,2);var kt=Dt.minChar=Ie(Dt.minChar,0);Dt.cnCharWidth=ve("\u56FD",xt);var Rt=Dt.ascCharWidth=ve("a",xt);Dt.placeholder=Ie(Dt.placeholder,"");for(var Gt=St=Math.max(0,St-1),ln=0;ln<kt&&Gt>=Rt;ln++)Gt-=Rt;var Rn=ve(Xt);return Rn>Gt&&(Xt="",Rn=0),Gt=St-Rn,Dt.ellipsis=Xt,Dt.ellipsisWidth=Rn,Dt.contentWidth=Gt,Dt.containerWidth=St,Dt}function Qe(St,xt){var ct=xt.containerWidth,Dt=xt.font,Xt=xt.contentWidth;if(!ct)return"";var kt=ve(St,Dt);if(kt<=ct)return St;for(var Rt=0;;Rt++){if(kt<=Xt||Rt>=xt.maxIterations){St+=xt.ellipsis;break}var Gt=Rt===0?$e(St,Xt,xt.ascCharWidth,xt.cnCharWidth):kt>0?Math.floor(St.length*Xt/kt):0;St=St.substr(0,Gt),kt=ve(St,Dt)}return St===""&&(St=xt.placeholder),St}function $e(St,xt,ct,Dt){for(var Xt=0,kt=0,Rt=St.length;kt<Rt&&Xt<xt;kt++){var Gt=St.charCodeAt(kt);Xt+=0<=Gt&&Gt<=127?ct:Dt}return kt}function gt(St){return ve("\u56FD",St)}function lt(St,xt){return fe.measureText(St,xt)}fe.measureText=function(St,xt){var ct=Te();return ct.font=xt||ae,ct.measureText(St)};function At(St,xt,ct,Dt){St!=null&&(St+="");var Xt=gt(xt),kt=St?St.split(`
`):[],Rt=kt.length*Xt,Gt=Rt;if(ct&&(Gt+=ct[0]+ct[2]),St&&Dt){var ln=Dt.outerHeight,Rn=Dt.outerWidth;if(ln!=null&&Gt>ln)St="",kt=[];else if(Rn!=null)for(var jn=Ve(Rn-(ct?ct[1]+ct[3]:0),xt,Dt.ellipsis,{minChar:Dt.minChar,placeholder:Dt.placeholder}),er=0,an=kt.length;er<an;er++)kt[er]=Qe(kt[er],jn)}return{lines:kt,height:Rt,outerHeight:Gt,lineHeight:Xt}}function Et(St,xt){var ct={lines:[],width:0,height:0};if(St!=null&&(St+=""),!St)return ct;for(var Dt=ie.lastIndex=0,Xt;(Xt=ie.exec(St))!=null;){var kt=Xt.index;kt>Dt&&vt(ct,St.substring(Dt,kt)),vt(ct,Xt[2],Xt[1]),Dt=ie.lastIndex}Dt<St.length&&vt(ct,St.substring(Dt,St.length));var Rt=ct.lines,Gt=0,ln=0,Rn=[],jn=xt.textPadding,er=xt.truncate,an=er&&er.outerWidth,Un=er&&er.outerHeight;jn&&(an!=null&&(an-=jn[1]+jn[3]),Un!=null&&(Un-=jn[0]+jn[2]));for(var Kn=0;Kn<Rt.length;Kn++){for(var ur=Rt[Kn],Xn=0,Nn=0,_n=0;_n<ur.tokens.length;_n++){var un=ur.tokens[_n],qt=un.styleName&&xt.rich[un.styleName]||{},Yt=un.textPadding=qt.textPadding,gn=un.font=qt.font||xt.font,_t=un.textHeight=Ie(qt.textHeight,gt(gn));if(Yt&&(_t+=Yt[0]+Yt[2]),un.height=_t,un.lineHeight=Ce(qt.textLineHeight,xt.textLineHeight,_t),un.textAlign=qt&&qt.textAlign||xt.textAlign,un.textVerticalAlign=qt&&qt.textVerticalAlign||"middle",Un!=null&&Gt+un.lineHeight>Un)return{lines:[],width:0,height:0};un.textWidth=ve(un.text,gn);var Jt=qt.textWidth,wt=Jt==null||Jt==="auto";if(typeof Jt=="string"&&Jt.charAt(Jt.length-1)==="%")un.percentWidth=Jt,Rn.push(un),Jt=0;else{if(wt){Jt=un.textWidth;var ut=qt.textBackgroundColor,ot=ut&&ut.image;ot&&(ot=Be.findExistImage(ot),Be.isImageReady(ot)&&(Jt=Math.max(Jt,ot.width*_t/ot.height)))}var Pt=Yt?Yt[1]+Yt[3]:0;Jt+=Pt;var Ht=an!=null?an-Nn:null;Ht!=null&&Ht<Jt&&(!wt||Ht<Pt?(un.text="",un.textWidth=Jt=0):(un.text=Ze(un.text,Ht-Pt,gn,er.ellipsis,{minChar:er.minChar}),un.textWidth=ve(un.text,gn),Jt=un.textWidth+Pt))}Nn+=un.width=Jt,qt&&(Xn=Math.max(Xn,un.lineHeight))}ur.width=Nn,ur.lineHeight=Xn,Gt+=Xn,ln=Math.max(ln,Nn)}ct.outerWidth=ct.width=Ie(xt.textWidth,ln),ct.outerHeight=ct.height=Ie(xt.textHeight,Gt),jn&&(ct.outerWidth+=jn[1]+jn[3],ct.outerHeight+=jn[0]+jn[2]);for(var Kn=0;Kn<Rn.length;Kn++){var un=Rn[Kn],Mt=un.percentWidth;un.width=parseInt(Mt,10)/100*ln}return ct}function vt(St,xt,ct){for(var Dt=xt==="",Xt=xt.split(`
`),kt=St.lines,Rt=0;Rt<Xt.length;Rt++){var Gt=Xt[Rt],ln={styleName:ct,text:Gt,isLineHolder:!Gt&&!Dt};if(Rt)kt.push({tokens:[ln]});else{var Rn=(kt[kt.length-1]||(kt[0]={tokens:[]})).tokens,jn=Rn.length;jn===1&&Rn[0].isLineHolder?Rn[0]=ln:(Gt||!jn||Dt)&&Rn.push(ln)}}}function Lt(St){return(St.fontSize||St.fontFamily)&&[St.fontStyle,St.fontWeight,(St.fontSize||12)+"px",St.fontFamily||"sans-serif"].join(" ")||St.textFont||St.font}Ue.DEFAULT_FONT=ae,Ue.$override=de,Ue.getWidth=ve,Ue.getBoundingRect=xe,Ue.adjustTextX=Se,Ue.adjustTextY=Le,Ue.adjustTextPositionOnRect=ze,Ue.truncateText=Ze,Ue.getLineHeight=gt,Ue.measureText=lt,Ue.parsePlainText=At,Ue.parseRichText=Et,Ue.makeFont=Lt},function(tt,Ue,Ne){var Ke=Ne(53),Be=new Ke(50);function we(Ce){if(typeof Ce=="string"){var Me=Be.get(Ce);return Me&&Me.image}else return Ce}function Te(Ce,Me,je,ye,ie){if(Ce)if(typeof Ce=="string"){if(Me&&Me.__zrImageSrc===Ce||!je)return Me;var ae=Be.get(Ce),fe={hostEl:je,cb:ye,cbPayload:ie};return ae?(Me=ae.image,!Ie(Me)&&ae.pending.push(fe)):(!Me&&(Me=new Image),Me.onload=ke,Be.put(Ce,Me.__cachedImgObj={image:Me,pending:[fe]}),Me.src=Me.__zrImageSrc=Ce),Me}else return Ce;else return Me}function ke(){var Ce=this.__cachedImgObj;this.onload=this.__cachedImgObj=null;for(var Me=0;Me<Ce.pending.length;Me++){var je=Ce.pending[Me],ye=je.cb;ye&&ye(this,je.cbPayload),je.hostEl.dirty()}Ce.pending.length=0}function Ie(Ce){return Ce&&Ce.width&&Ce.height}Ue.findExistImage=we,Ue.createOrUpdateImage=Te,Ue.isImageReady=Ie},function(tt,Ue,Ne){"use strict";var Ke=Ne(8),Be=Ne(11),we=Ne(4),Te=Ne(15),ke=Ne(52),Ie=Ne(9),Ce=Ne(46),Me=Ne(7),je=Ne(19),ye=Ne(24),ie=Ne(72),ae=Ne(70),fe=Ne(71),de=Ne(153),ve=Ne(17),xe=Ne(10),ce=Ne(6),pe=Ne(5),Se=Ne(25),Le=Ne(36),ze=Ne(30),Ze=Ne(14),Ve=Ne(79),Qe=Ne(1),$e=Ne.n(Qe),gt=Ne(154),lt=$e.a.mat4,At=$e.a.vec3,Et=["px","nx","py","ny","pz","nz"];Me.a.import(gt.a);var vt=Ke.a.extend(function(){return{softShadow:vt.PCF,shadowBlur:1,lightFrustumBias:"auto",kernelPCF:new Float32Array([1,0,1,1,-1,1,0,1,-1,0,-1,-1,1,-1,0,-1]),precision:"mediump",_lastRenderNotCastShadow:!1,_frameBuffer:new xe.a,_textures:{},_shadowMapNumber:{POINT_LIGHT:0,DIRECTIONAL_LIGHT:0,SPOT_LIGHT:0},_depthMaterials:{},_distanceMaterials:{},_opaqueCasters:[],_receivers:[],_lightsCastShadow:[],_lightCameras:{},_lightMaterials:{},_texturePool:new Ve.a}},function(){this._gaussianPassH=new Ze.a({fragment:Me.a.source("clay.compositor.gaussian_blur")}),this._gaussianPassV=new Ze.a({fragment:Me.a.source("clay.compositor.gaussian_blur")}),this._gaussianPassH.setUniform("blurSize",this.shadowBlur),this._gaussianPassH.setUniform("blurDir",0),this._gaussianPassV.setUniform("blurSize",this.shadowBlur),this._gaussianPassV.setUniform("blurDir",1),this._outputDepthPass=new Ze.a({fragment:Me.a.source("clay.sm.debug_depth")})},{render:function(Lt,St,xt,ct){xt||(xt=St.getMainCamera()),this.trigger("beforerender",this,Lt,St,xt),this._renderShadowPass(Lt,St,xt,ct),this.trigger("afterrender",this,Lt,St,xt)},renderDebug:function(Lt,St){Lt.saveClear();var xt=Lt.viewport,ct=0,Dt=0,Xt=St||xt.width/4,kt=Xt;this.softShadow===vt.VSM?this._outputDepthPass.material.define("fragment","USE_VSM"):this._outputDepthPass.material.undefine("fragment","USE_VSM");for(var Rt in this._textures){var Gt=this._textures[Rt];Lt.setViewport(ct,Dt,Xt*Gt.width/Gt.height,kt),this._outputDepthPass.setUniform("depthMap",Gt),this._outputDepthPass.render(Lt),ct+=Xt*Gt.width/Gt.height}Lt.setViewport(xt),Lt.restoreClear()},_updateCasterAndReceiver:function(Lt,St){if(St.castShadow&&this._opaqueCasters.push(St),St.receiveShadow?(this._receivers.push(St),St.material.set("shadowEnabled",1),St.material.set("pcfKernel",this.kernelPCF)):St.material.set("shadowEnabled",0),!St.material.shader&&St.material.updateShader&&St.material.updateShader(Lt),this.softShadow===vt.VSM)St.material.define("fragment","USE_VSM"),St.material.undefine("fragment","PCF_KERNEL_SIZE");else{St.material.undefine("fragment","USE_VSM");var xt=this.kernelPCF;xt&&xt.length?St.material.define("fragment","PCF_KERNEL_SIZE",xt.length/2):St.material.undefine("fragment","PCF_KERNEL_SIZE")}},_update:function(Lt,St){for(var xt=0;xt<St.opaqueList.length;xt++)this._updateCasterAndReceiver(Lt,St.opaqueList[xt]);for(var xt=0;xt<St.transparentList.length;xt++)this._updateCasterAndReceiver(Lt,St.transparentList[xt]);for(var xt=0;xt<St.lights.length;xt++){var ct=St.lights[xt];ct.castShadow&&this._lightsCastShadow.push(ct)}},_renderShadowPass:function(Lt,St,xt,ct){for(var Dt in this._shadowMapNumber)this._shadowMapNumber[Dt]=0;this._lightsCastShadow.length=0,this._opaqueCasters.length=0,this._receivers.length=0;var Xt=Lt.gl;if(ct||St.update(),xt&&xt.update(),this._update(Lt,St),!this._lightsCastShadow.length&&this._lastRenderNotCastShadow)return;this._lastRenderNotCastShadow=this._lightsCastShadow===0,Xt.enable(Xt.DEPTH_TEST),Xt.depthMask(!0),Xt.disable(Xt.BLEND),Xt.clearColor(1,1,1,1);for(var kt=[],Rt=[],Gt=[],ln=[],Rn=[],jn=[],er,an=0;an<this._lightsCastShadow.length;an++){var Un=this._lightsCastShadow[an];if(Un instanceof ae.a){if(er){console.warn("Only one direectional light supported with shadow cascade");continue}if(Un.shadowCascade>4){console.warn("Support at most 4 cascade");continue}Un.shadowCascade>1&&(er=Un.shadowCascade),this.renderDirectionalLightShadow(Lt,St,xt,Un,this._opaqueCasters,Rn,ln,Gt)}else Un instanceof ie.a?this.renderSpotLightShadow(Lt,St,Un,this._opaqueCasters,Rt,kt):Un instanceof fe.a&&this.renderPointLightShadow(Lt,St,Un,this._opaqueCasters,jn);this._shadowMapNumber[Un.type]++}for(var Kn in this._shadowMapNumber)for(var ur=this._shadowMapNumber[Kn],Xn=Kn+"_SHADOWMAP_COUNT",an=0;an<this._receivers.length;an++){var Nn=this._receivers[an],_n=Nn.material;_n.fragmentDefines[Xn]!==ur&&(ur>0?_n.define("fragment",Xn,ur):_n.isDefined("fragment",Xn)&&_n.undefine("fragment",Xn))}for(var an=0;an<this._receivers.length;an++){var Nn=this._receivers[an],_n=Nn.material;er?_n.define("fragment","SHADOW_CASCADE",er.shadowCascade):_n.undefine("fragment","SHADOW_CASCADE")}var un=St.shadowUniforms;function qt(wt){return wt.height}if(Gt.length>0){var Yt=Gt.map(qt);if(un.directionalLightShadowMaps={value:Gt,type:"tv"},un.directionalLightMatrices={value:ln,type:"m4v"},un.directionalLightShadowMapSizes={value:Yt,type:"1fv"},er){var gn=Rn.slice(),_t=Rn.slice();gn.pop(),_t.shift(),gn.reverse(),_t.reverse(),ln.reverse(),un.shadowCascadeClipsNear={value:gn,type:"1fv"},un.shadowCascadeClipsFar={value:_t,type:"1fv"}}}if(kt.length>0){var Jt=kt.map(qt),un=St.shadowUniforms;un.spotLightShadowMaps={value:kt,type:"tv"},un.spotLightMatrices={value:Rt,type:"m4v"},un.spotLightShadowMapSizes={value:Jt,type:"1fv"}}jn.length>0&&(un.pointLightShadowMaps={value:jn,type:"tv"})},renderDirectionalLightShadow:function(){var Lt=new ke.a,St=new Ie.a,xt=new Te.a,ct=new Ie.a,Dt=new Ie.a,Xt=new Ie.a,kt=new Ie.a;return function(Rt,Gt,ln,Rn,jn,er,an,Un){var Kn=this._getDepthMaterial(Rn),ur={getMaterial:function(Qr){return Qr.shadowDepthMaterial||Kn},sortCompare:Ce.a.opaqueSortCompare};if(!Gt.viewBoundingBoxLastFrame.isFinite()){var Xn=Gt.getBoundingBox();Gt.viewBoundingBoxLastFrame.copy(Xn).applyTransform(ln.viewMatrix)}var Nn=Math.min(-Gt.viewBoundingBoxLastFrame.min.z,ln.far),_n=Math.max(-Gt.viewBoundingBoxLastFrame.max.z,ln.near),un=this._getDirectionalLightCamera(Rn,Gt,ln),qt=Xt.array;kt.copy(un.projectionMatrix),lt.invert(Dt.array,un.worldTransform.array),lt.multiply(Dt.array,Dt.array,ln.worldTransform.array),lt.multiply(qt,kt.array,Dt.array);for(var Yt=[],gn=ln instanceof Le.a,_t=(ln.near+ln.far)/(ln.near-ln.far),Jt=2*ln.near*ln.far/(ln.near-ln.far),wt=0;wt<=Rn.shadowCascade;wt++){var ut=_n*Math.pow(Nn/_n,wt/Rn.shadowCascade),ot=_n+(Nn-_n)*wt/Rn.shadowCascade,Pt=ut*Rn.cascadeSplitLogFactor+ot*(1-Rn.cascadeSplitLogFactor);Yt.push(Pt),er.push(-(-Pt*_t+Jt)/-Pt)}var Ht=this._getTexture(Rn,Rn.shadowCascade);Un.push(Ht);var Mt=Rt.viewport,hn=Rt.gl;this._frameBuffer.attach(Ht),this._frameBuffer.bind(Rt),hn.clear(hn.COLOR_BUFFER_BIT|hn.DEPTH_BUFFER_BIT);for(var wt=0;wt<Rn.shadowCascade;wt++){var rr=Yt[wt],Jn=Yt[wt+1];gn?lt.perspective(St.array,ln.fov/180*Math.PI,ln.aspect,rr,Jn):lt.ortho(St.array,ln.left,ln.right,ln.bottom,ln.top,rr,Jn),Lt.setFromProjection(St),Lt.getTransformedBoundingBox(xt,Dt),xt.applyProjection(kt);var An=xt.min.array,$n=xt.max.array;An[0]=Math.max(An[0],-1),An[1]=Math.max(An[1],-1),$n[0]=Math.min($n[0],1),$n[1]=Math.min($n[1],1),ct.ortho(An[0],$n[0],An[1],$n[1],1,-1),un.projectionMatrix.multiplyLeft(ct);var xr=Rn.shadowResolution||512;Rt.setViewport((Rn.shadowCascade-wt-1)*xr,0,xr,xr,1),Rt.renderPass(jn,un,ur),this.softShadow===vt.VSM&&this._gaussianFilter(Rt,Ht,Ht.width);var mr=new Ie.a;mr.copy(un.viewMatrix).multiplyLeft(un.projectionMatrix),an.push(mr.array),un.projectionMatrix.copy(kt)}this._frameBuffer.unbind(Rt),Rt.setViewport(Mt)}}(),renderSpotLightShadow:function(Lt,St,xt,ct,Dt,Xt){var kt=this._getTexture(xt),Rt=this._getSpotLightCamera(xt),Gt=Lt.gl;this._frameBuffer.attach(kt),this._frameBuffer.bind(Lt),Gt.clear(Gt.COLOR_BUFFER_BIT|Gt.DEPTH_BUFFER_BIT);var ln=this._getDepthMaterial(xt),Rn={getMaterial:function(er){return er.shadowDepthMaterial||ln},sortCompare:Ce.a.opaqueSortCompare};Lt.renderPass(Lt.cullRenderList(ct,null,Rt),Rt,Rn),this._frameBuffer.unbind(Lt),this.softShadow===vt.VSM&&this._gaussianFilter(Lt,kt,kt.width);var jn=new Ie.a;jn.copy(Rt.worldTransform).invert().multiplyLeft(Rt.projectionMatrix),Xt.push(kt),Dt.push(jn.array)},renderPointLightShadow:function(Lt,St,xt,ct,Dt){var Xt=this._getTexture(xt),kt=Lt.gl;Dt.push(Xt);for(var Rt=this._getDepthMaterial(xt),Gt={getMaterial:function(er){return er.shadowDepthMaterial||Rt},sortCompare:Ce.a.opaqueSortCompare},ln=0;ln<6;ln++){var Rn=Et[ln],jn=this._getPointLightCamera(xt,Rn);this._frameBuffer.attach(Xt,kt.COLOR_ATTACHMENT0,kt.TEXTURE_CUBE_MAP_POSITIVE_X+ln),this._frameBuffer.bind(Lt),kt.clear(kt.COLOR_BUFFER_BIT|kt.DEPTH_BUFFER_BIT),Lt.renderPass(Lt.cullRenderList(ct,null,jn),jn,Gt)}this._frameBuffer.unbind(Lt)},_getDepthMaterial:function(Lt){var St=this._lightMaterials[Lt.__uid__],xt=Lt instanceof fe.a;if(!St){var ct=xt?"clay.sm.distance.":"clay.sm.depth.";St=new ve.a({precision:this.precision,shader:new Me.a(Me.a.source(ct+"vertex"),Me.a.source(ct+"fragment"))}),this._lightMaterials[Lt.__uid__]=St}return Lt.shadowSlopeScale!=null&&St.setUniform("slopeScale",Lt.shadowSlopeScale),Lt.shadowBias!=null&&St.setUniform("shadowBias",Lt.shadowBias),this.softShadow===vt.VSM?St.define("fragment","USE_VSM"):St.undefine("fragment","USE_VSM"),xt&&(St.set("lightPosition",Lt.getWorldPosition().array),St.set("range",Lt.range)),St},_gaussianFilter:function(Lt,St,xt){var ct={width:xt,height:xt,type:ce.a.FLOAT},Dt=this._texturePool.get(ct);this._frameBuffer.attach(Dt),this._frameBuffer.bind(Lt),this._gaussianPassH.setUniform("texture",St),this._gaussianPassH.setUniform("textureWidth",xt),this._gaussianPassH.render(Lt),this._frameBuffer.attach(St),this._gaussianPassV.setUniform("texture",Dt),this._gaussianPassV.setUniform("textureHeight",xt),this._gaussianPassV.render(Lt),this._frameBuffer.unbind(Lt),this._texturePool.put(Dt)},_getTexture:function(Lt,St){var xt=Lt.__uid__,ct=this._textures[xt],Dt=Lt.shadowResolution||512;return St=St||1,ct||(Lt instanceof fe.a?ct=new Se.a:ct=new pe.a,ct.width=Dt*St,ct.height=Dt,this.softShadow===vt.VSM?(ct.type=ce.a.FLOAT,ct.anisotropic=4):(ct.minFilter=Be.a.NEAREST,ct.magFilter=Be.a.NEAREST,ct.useMipmap=!1),this._textures[xt]=ct),ct},_getPointLightCamera:function(Lt,St){this._lightCameras.point||(this._lightCameras.point={px:new Le.a,nx:new Le.a,py:new Le.a,ny:new Le.a,pz:new Le.a,nz:new Le.a});var xt=this._lightCameras.point[St];switch(xt.far=Lt.range,xt.fov=90,xt.position.set(0,0,0),St){case"px":xt.lookAt(we.a.POSITIVE_X,we.a.NEGATIVE_Y);break;case"nx":xt.lookAt(we.a.NEGATIVE_X,we.a.NEGATIVE_Y);break;case"py":xt.lookAt(we.a.POSITIVE_Y,we.a.POSITIVE_Z);break;case"ny":xt.lookAt(we.a.NEGATIVE_Y,we.a.NEGATIVE_Z);break;case"pz":xt.lookAt(we.a.POSITIVE_Z,we.a.NEGATIVE_Y);break;case"nz":xt.lookAt(we.a.NEGATIVE_Z,we.a.NEGATIVE_Y);break}return Lt.getWorldPosition(xt.position),xt.update(),xt},_getDirectionalLightCamera:function(){var Lt=new Ie.a,St=new Te.a,xt=new Te.a;return function(ct,Dt,Xt){this._lightCameras.directional||(this._lightCameras.directional=new ze.a);var kt=this._lightCameras.directional;St.copy(Dt.viewBoundingBoxLastFrame),St.intersection(Xt.frustum.boundingBox),kt.position.copy(St.min).add(St.max).scale(.5).transformMat4(Xt.worldTransform),kt.rotation.copy(ct.rotation),kt.scale.copy(ct.scale),kt.updateWorldTransform(),Ie.a.invert(Lt,kt.worldTransform),Ie.a.multiply(Lt,Lt,Xt.worldTransform),xt.copy(St).applyTransform(Lt);var Rt=xt.min.array,Gt=xt.max.array;return kt.position.set((Rt[0]+Gt[0])/2,(Rt[1]+Gt[1])/2,Gt[2]).transformMat4(kt.worldTransform),kt.near=0,kt.far=-Rt[2]+Gt[2],isNaN(this.lightFrustumBias)?kt.far*=4:kt.far+=this.lightFrustumBias,kt.left=Rt[0],kt.right=Gt[0],kt.top=Gt[1],kt.bottom=Rt[1],kt.update(!0),kt}}(),_getSpotLightCamera:function(Lt){this._lightCameras.spot||(this._lightCameras.spot=new Le.a);var St=this._lightCameras.spot;return St.fov=Lt.penumbraAngle*2,St.far=Lt.range,St.worldTransform.copy(Lt.worldTransform),St.updateProjectionMatrix(),lt.invert(St.viewMatrix.array,St.worldTransform.array),St},dispose:function(Lt){var St=Lt.gl||Lt;this._frameBuffer&&this._frameBuffer.dispose(St);for(var xt in this._textures)this._textures[xt].dispose(St);this._texturePool.clear(Lt.gl),this._depthMaterials={},this._distanceMaterials={},this._textures={},this._lightCameras={},this._shadowMapNumber={POINT_LIGHT:0,DIRECTIONAL_LIGHT:0,SPOT_LIGHT:0},this._meshMaterials={};for(var ct=0;ct<this._receivers.length;ct++){var Dt=this._receivers[ct];if(Dt.material&&Dt.material.shader){var Xt=Dt.material,kt=Xt.shader;kt.undefine("fragment","POINT_LIGHT_SHADOW_COUNT"),kt.undefine("fragment","DIRECTIONAL_LIGHT_SHADOW_COUNT"),kt.undefine("fragment","AMBIENT_LIGHT_SHADOW_COUNT"),Xt.set("shadowEnabled",0)}}this._opaqueCasters=[],this._receivers=[],this._lightsCastShadow=[]}});vt.VSM=1,vt.PCF=2,Ue.a=vt},function(tt,Ue,Ne){"use strict";var Ke=Ne(7),Be={};function we(){this._pool={}}we.prototype.get=function(Ce){var Me=Ce;if(this._pool[Me])return this._pool[Me];var je=Be[Ce];if(!je){console.error('Shader "'+Ce+'" is not in the library');return}var ye=new Ke.a(je.vertex,je.fragment);return this._pool[Me]=ye,ye},we.prototype.clear=function(){this._pool={}};function Te(Ce,Me,je){Be[Ce]={vertex:Me,fragment:je}}var ke=new we,Ie={createLibrary:function(){return new we},get:function(){return ke.get.apply(ke,arguments)},template:Te,clear:function(){return ke.clear()}}},function(tt,Ue,Ne){"use strict";Ue.a=`@export clay.sm.depth.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
#ifdef SHADOW_TRANSPARENT
attribute vec2 texcoord : TEXCOORD_0;
#endif
@import clay.chunk.skinning_header
varying vec4 v_ViewPosition;
#ifdef SHADOW_TRANSPARENT
varying vec2 v_Texcoord;
#endif
void main(){
vec3 skinnedPosition = position;
#ifdef SKINNING
@import clay.chunk.skin_matrix
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
#endif
v_ViewPosition = worldViewProjection * vec4(skinnedPosition, 1.0);
gl_Position = v_ViewPosition;
#ifdef SHADOW_TRANSPARENT
v_Texcoord = texcoord;
#endif
}
@end
@export clay.sm.depth.fragment
varying vec4 v_ViewPosition;
#ifdef SHADOW_TRANSPARENT
varying vec2 v_Texcoord;
#endif
uniform float bias : 0.001;
uniform float slopeScale : 1.0;
#ifdef SHADOW_TRANSPARENT
uniform sampler2D transparentMap;
#endif
@import clay.util.encode_float
void main(){
float depth = v_ViewPosition.z / v_ViewPosition.w;
#ifdef USE_VSM
depth = depth * 0.5 + 0.5;
float moment1 = depth;
float moment2 = depth * depth;
float dx = dFdx(depth);
float dy = dFdy(depth);
moment2 += 0.25*(dx*dx+dy*dy);
gl_FragColor = vec4(moment1, moment2, 0.0, 1.0);
#else
float dx = dFdx(depth);
float dy = dFdy(depth);
depth += sqrt(dx*dx + dy*dy) * slopeScale + bias;
#ifdef SHADOW_TRANSPARENT
if (texture2D(transparentMap, v_Texcoord).a <= 0.1) {
gl_FragColor = encodeFloat(0.9999);
return;
}
#endif
gl_FragColor = encodeFloat(depth * 0.5 + 0.5);
#endif
}
@end
@export clay.sm.debug_depth
uniform sampler2D depthMap;
varying vec2 v_Texcoord;
@import clay.util.decode_float
void main() {
vec4 tex = texture2D(depthMap, v_Texcoord);
#ifdef USE_VSM
gl_FragColor = vec4(tex.rgb, 1.0);
#else
float depth = decodeFloat(tex);
gl_FragColor = vec4(depth, depth, depth, 1.0);
#endif
}
@end
@export clay.sm.distance.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform mat4 world : WORLD;
attribute vec3 position : POSITION;
@import clay.chunk.skinning_header
varying vec3 v_WorldPosition;
void main (){
vec3 skinnedPosition = position;
#ifdef SKINNING
@import clay.chunk.skin_matrix
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
#endif
gl_Position = worldViewProjection * vec4(skinnedPosition , 1.0);
v_WorldPosition = (world * vec4(skinnedPosition, 1.0)).xyz;
}
@end
@export clay.sm.distance.fragment
uniform vec3 lightPosition;
uniform float range : 100;
varying vec3 v_WorldPosition;
@import clay.util.encode_float
void main(){
float dist = distance(lightPosition, v_WorldPosition);
#ifdef USE_VSM
gl_FragColor = vec4(dist, dist * dist, 0.0, 0.0);
#else
dist = dist / range;
gl_FragColor = encodeFloat(dist);
#endif
}
@end
@export clay.plugin.shadow_map_common
@import clay.util.decode_float
float tapShadowMap(sampler2D map, vec2 uv, float z){
vec4 tex = texture2D(map, uv);
return step(z, decodeFloat(tex) * 2.0 - 1.0);
}
float pcf(sampler2D map, vec2 uv, float z, float textureSize, vec2 scale) {
float shadowContrib = tapShadowMap(map, uv, z);
vec2 offset = vec2(1.0 / textureSize) * scale;
#ifdef PCF_KERNEL_SIZE
for (int _idx_ = 0; _idx_ < PCF_KERNEL_SIZE; _idx_++) {{
shadowContrib += tapShadowMap(map, uv + offset * pcfKernel[_idx_], z);
}}
return shadowContrib / float(PCF_KERNEL_SIZE + 1);
#else
shadowContrib += tapShadowMap(map, uv+vec2(offset.x, 0.0), z);
shadowContrib += tapShadowMap(map, uv+vec2(offset.x, offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(0.0, offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, 0.0), z);
shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, -offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(offset.x, -offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(0.0, -offset.y), z);
return shadowContrib / 9.0;
#endif
}
float pcf(sampler2D map, vec2 uv, float z, float textureSize) {
return pcf(map, uv, z, textureSize, vec2(1.0));
}
float chebyshevUpperBound(vec2 moments, float z){
float p = 0.0;
z = z * 0.5 + 0.5;
if (z <= moments.x) {
p = 1.0;
}
float variance = moments.y - moments.x * moments.x;
variance = max(variance, 0.0000001);
float mD = moments.x - z;
float pMax = variance / (variance + mD * mD);
pMax = clamp((pMax-0.4)/(1.0-0.4), 0.0, 1.0);
return max(p, pMax);
}
float computeShadowContrib(
sampler2D map, mat4 lightVPM, vec3 position, float textureSize, vec2 scale, vec2 offset
) {
vec4 posInLightSpace = lightVPM * vec4(position, 1.0);
posInLightSpace.xyz /= posInLightSpace.w;
float z = posInLightSpace.z;
if(all(greaterThan(posInLightSpace.xyz, vec3(-0.99, -0.99, -1.0))) &&
all(lessThan(posInLightSpace.xyz, vec3(0.99, 0.99, 1.0)))){
vec2 uv = (posInLightSpace.xy+1.0) / 2.0;
#ifdef USE_VSM
vec2 moments = texture2D(map, uv * scale + offset).xy;
return chebyshevUpperBound(moments, z);
#else
return pcf(map, uv * scale + offset, z, textureSize, scale);
#endif
}
return 1.0;
}
float computeShadowContrib(sampler2D map, mat4 lightVPM, vec3 position, float textureSize) {
return computeShadowContrib(map, lightVPM, position, textureSize, vec2(1.0), vec2(0.0));
}
float computeShadowContribOmni(samplerCube map, vec3 direction, float range)
{
float dist = length(direction);
vec4 shadowTex = textureCube(map, direction);
#ifdef USE_VSM
vec2 moments = shadowTex.xy;
float variance = moments.y - moments.x * moments.x;
float mD = moments.x - dist;
float p = variance / (variance + mD * mD);
if(moments.x + 0.001 < dist){
return clamp(p, 0.0, 1.0);
}else{
return 1.0;
}
#else
return step(dist, (decodeFloat(shadowTex) + 0.0002) * range);
#endif
}
@end
@export clay.plugin.compute_shadow_map
#if defined(SPOT_LIGHT_SHADOWMAP_COUNT) || defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT) || defined(POINT_LIGHT_SHADOWMAP_COUNT)
#ifdef SPOT_LIGHT_SHADOWMAP_COUNT
uniform sampler2D spotLightShadowMaps[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
uniform mat4 spotLightMatrices[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
uniform float spotLightShadowMapSizes[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
#endif
#ifdef DIRECTIONAL_LIGHT_SHADOWMAP_COUNT
#if defined(SHADOW_CASCADE)
uniform sampler2D directionalLightShadowMaps[1]:unconfigurable;
uniform mat4 directionalLightMatrices[SHADOW_CASCADE]:unconfigurable;
uniform float directionalLightShadowMapSizes[1]:unconfigurable;
uniform float shadowCascadeClipsNear[SHADOW_CASCADE]:unconfigurable;
uniform float shadowCascadeClipsFar[SHADOW_CASCADE]:unconfigurable;
#else
uniform sampler2D directionalLightShadowMaps[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
uniform mat4 directionalLightMatrices[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
uniform float directionalLightShadowMapSizes[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
#endif
#endif
#ifdef POINT_LIGHT_SHADOWMAP_COUNT
uniform samplerCube pointLightShadowMaps[POINT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
#endif
uniform bool shadowEnabled : true;
#ifdef PCF_KERNEL_SIZE
uniform vec2 pcfKernel[PCF_KERNEL_SIZE];
#endif
@import clay.plugin.shadow_map_common
#if defined(SPOT_LIGHT_SHADOWMAP_COUNT)
void computeShadowOfSpotLights(vec3 position, inout float shadowContribs[SPOT_LIGHT_COUNT] ) {
float shadowContrib;
for(int _idx_ = 0; _idx_ < SPOT_LIGHT_SHADOWMAP_COUNT; _idx_++) {{
shadowContrib = computeShadowContrib(
spotLightShadowMaps[_idx_], spotLightMatrices[_idx_], position,
spotLightShadowMapSizes[_idx_]
);
shadowContribs[_idx_] = shadowContrib;
}}
for(int _idx_ = SPOT_LIGHT_SHADOWMAP_COUNT; _idx_ < SPOT_LIGHT_COUNT; _idx_++){{
shadowContribs[_idx_] = 1.0;
}}
}
#endif
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
#ifdef SHADOW_CASCADE
void computeShadowOfDirectionalLights(vec3 position, inout float shadowContribs[DIRECTIONAL_LIGHT_COUNT]){
float depth = (2.0 * gl_FragCoord.z - gl_DepthRange.near - gl_DepthRange.far)
/ (gl_DepthRange.far - gl_DepthRange.near);
float shadowContrib;
shadowContribs[0] = 1.0;
for (int _idx_ = 0; _idx_ < SHADOW_CASCADE; _idx_++) {{
if (
depth >= shadowCascadeClipsNear[_idx_] &&
depth <= shadowCascadeClipsFar[_idx_]
) {
shadowContrib = computeShadowContrib(
directionalLightShadowMaps[0], directionalLightMatrices[_idx_], position,
directionalLightShadowMapSizes[0],
vec2(1.0 / float(SHADOW_CASCADE), 1.0),
vec2(float(_idx_) / float(SHADOW_CASCADE), 0.0)
);
shadowContribs[0] = shadowContrib;
}
}}
for(int _idx_ = DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++) {{
shadowContribs[_idx_] = 1.0;
}}
}
#else
void computeShadowOfDirectionalLights(vec3 position, inout float shadowContribs[DIRECTIONAL_LIGHT_COUNT]){
float shadowContrib;
for(int _idx_ = 0; _idx_ < DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_++) {{
shadowContrib = computeShadowContrib(
directionalLightShadowMaps[_idx_], directionalLightMatrices[_idx_], position,
directionalLightShadowMapSizes[_idx_]
);
shadowContribs[_idx_] = shadowContrib;
}}
for(int _idx_ = DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++) {{
shadowContribs[_idx_] = 1.0;
}}
}
#endif
#endif
#if defined(POINT_LIGHT_SHADOWMAP_COUNT)
void computeShadowOfPointLights(vec3 position, inout float shadowContribs[POINT_LIGHT_COUNT] ){
vec3 lightPosition;
vec3 direction;
for(int _idx_ = 0; _idx_ < POINT_LIGHT_SHADOWMAP_COUNT; _idx_++) {{
lightPosition = pointLightPosition[_idx_];
direction = position - lightPosition;
shadowContribs[_idx_] = computeShadowContribOmni(pointLightShadowMaps[_idx_], direction, pointLightRange[_idx_]);
}}
for(int _idx_ = POINT_LIGHT_SHADOWMAP_COUNT; _idx_ < POINT_LIGHT_COUNT; _idx_++) {{
shadowContribs[_idx_] = 1.0;
}}
}
#endif
#endif
@end`},function(tt,Ue,Ne){"use strict";var Ke=Ne(7),Be=Ne(5),we=Ne(6),Te=Ne(10),ke=Ne(156),Ie=Ne(162),Ce=Ne(164),Me=Ne(166),je=Ne(2),ye=Ne(167),ie=Ne(169),ae=Ne(9),fe=Ne(170),de=Ne(171),ve=Ne(172),xe=Ne(173),ce=Ne(174),pe=Ne(175),Se=Ne(176),Le=Ne(177),ze=Ne(178),Ze=Ne(179),Ve=Ne(180),Qe=Ne(181);Ke.a.import(de.a),Ke.a.import(ve.a),Ke.a.import(xe.a),Ke.a.import(ce.a),Ke.a.import(pe.a),Ke.a.import(Se.a),Ke.a.import(Le.a),Ke.a.import(ze.a),Ke.a.import(Ze.a),Ke.a.import(Ve.a),Ke.a.import(Qe.a);var $e={color:{parameters:{width:function(At){return At.getWidth()},height:function(At){return At.getHeight()}}}},gt=["composite","FXAA"];function lt(){this._sourceTexture=new Be.a({type:we.a.HALF_FLOAT}),this._depthTexture=new Be.a({format:we.a.DEPTH_COMPONENT,type:we.a.UNSIGNED_INT}),this._framebuffer=new Te.a,this._framebuffer.attach(this._sourceTexture),this._framebuffer.attach(this._depthTexture,Te.a.DEPTH_ATTACHMENT),this._normalPass=new ye.a,this._compositor=Object(ke.a)(fe.a);var At=this._compositor.getNodeByName("source");At.texture=this._sourceTexture;var Et=this._compositor.getNodeByName("coc");this._sourceNode=At,this._cocNode=Et,this._compositeNode=this._compositor.getNodeByName("composite"),this._fxaaNode=this._compositor.getNodeByName("FXAA"),this._dofBlurNodes=["dof_far_blur","dof_near_blur","dof_coc_blur"].map(function(Lt){return this._compositor.getNodeByName(Lt)},this),this._dofBlurKernel=0,this._dofBlurKernelSize=new Float32Array(0),this._finalNodesChain=gt.map(function(Lt){return this._compositor.getNodeByName(Lt)},this);var vt={normalTexture:this._normalPass.getNormalTexture(),depthTexture:this._normalPass.getDepthTexture()};this._ssaoPass=new Ie.a(vt),this._ssrPass=new Ce.a(vt),this._edgePass=new ie.a(vt)}lt.prototype.resize=function(Lt,St,vt){vt=vt||1;var Lt=Lt*vt,St=St*vt,xt=this._sourceTexture,ct=this._depthTexture;xt.width=Lt,xt.height=St,ct.width=Lt,ct.height=St},lt.prototype._ifRenderNormalPass=function(){return this._enableSSAO||this._enableEdge||this._enableSSR},lt.prototype._getPrevNode=function(At){for(var Et=gt.indexOf(At.name)-1,vt=this._finalNodesChain[Et];vt&&!this._compositor.getNodeByName(vt.name);)Et-=1,vt=this._finalNodesChain[Et];return vt},lt.prototype._getNextNode=function(At){for(var Et=gt.indexOf(At.name)+1,vt=this._finalNodesChain[Et];vt&&!this._compositor.getNodeByName(vt.name);)Et+=1,vt=this._finalNodesChain[Et];return vt},lt.prototype._addChainNode=function(At){var Et=this._getPrevNode(At),vt=this._getNextNode(At);Et&&(Et.outputs=$e,At.inputs.texture=Et.name,vt?(At.outputs=$e,vt.inputs.texture=At.name):At.outputs=null,this._compositor.addNode(At))},lt.prototype._removeChainNode=function(At){var Et=this._getPrevNode(At),vt=this._getNextNode(At);Et&&(vt?(Et.outputs=$e,vt.inputs.texture=Et.name):Et.outputs=null,this._compositor.removeNode(At))},lt.prototype.updateNormal=function(At,Et,vt,Lt){this._ifRenderNormalPass()&&this._normalPass.update(At,Et,vt)},lt.prototype.updateSSAO=function(At,Et,vt,Lt){this._ssaoPass.update(At,vt,Lt)},lt.prototype.enableSSAO=function(){this._enableSSAO=!0},lt.prototype.disableSSAO=function(){this._enableSSAO=!1},lt.prototype.enableSSR=function(){this._enableSSR=!0},lt.prototype.disableSSR=function(){this._enableSSR=!1},lt.prototype.getSSAOTexture=function(At,Et,vt,Lt){return this._ssaoPass.getTargetTexture()},lt.prototype.getSourceFrameBuffer=function(){return this._framebuffer},lt.prototype.getSourceTexture=function(){return this._sourceTexture},lt.prototype.disableFXAA=function(){this._removeChainNode(this._fxaaNode)},lt.prototype.enableFXAA=function(){this._addChainNode(this._fxaaNode)},lt.prototype.enableBloom=function(){this._compositeNode.inputs.bloom="bloom_composite",this._compositor.dirty()},lt.prototype.disableBloom=function(){this._compositeNode.inputs.bloom=null,this._compositor.dirty()},lt.prototype.enableDOF=function(){this._compositeNode.inputs.texture="dof_composite",this._compositor.dirty()},lt.prototype.disableDOF=function(){this._compositeNode.inputs.texture="source",this._compositor.dirty()},lt.prototype.enableColorCorrection=function(){this._compositeNode.define("COLOR_CORRECTION"),this._enableColorCorrection=!0},lt.prototype.disableColorCorrection=function(){this._compositeNode.undefine("COLOR_CORRECTION"),this._enableColorCorrection=!1},lt.prototype.enableEdge=function(){this._enableEdge=!0},lt.prototype.disableEdge=function(){this._enableEdge=!1},lt.prototype.setBloomIntensity=function(At){this._compositeNode.setParameter("bloomIntensity",At)},lt.prototype.setSSAOParameter=function(At,Et){switch(At){case"quality":var vt={low:6,medium:12,high:32,ultra:62}[Et]||12;this._ssaoPass.setParameter("kernelSize",vt);break;case"radius":this._ssaoPass.setParameter(At,Et),this._ssaoPass.setParameter("bias",Et/200);break;case"intensity":this._ssaoPass.setParameter(At,Et);break;default:console.warn("Unkown SSAO parameter "+At)}},lt.prototype.setDOFParameter=function(At,Et){switch(At){case"focalDistance":case"focalRange":case"fstop":this._cocNode.setParameter(At,Et);break;case"blurRadius":for(var vt=0;vt<this._dofBlurNodes.length;vt++)this._dofBlurNodes[vt].setParameter("blurRadius",Et);break;case"quality":var Lt={low:4,medium:8,high:16,ultra:32}[Et]||8;this._dofBlurKernelSize=Lt;for(var vt=0;vt<this._dofBlurNodes.length;vt++)this._dofBlurNodes[vt].pass.material.define("POISSON_KERNEL_SIZE",Lt);this._dofBlurKernel=new Float32Array(Lt*2);break;default:console.warn("Unkown DOF parameter "+At)}},lt.prototype.setSSRParameter=function(At,Et){switch(At){case"quality":var vt={low:10,medium:20,high:40,ultra:80}[Et]||20,Lt={low:32,medium:16,high:8,ultra:4}[Et]||16;this._ssrPass.setParameter("maxIteration",vt),this._ssrPass.setParameter("pixelStride",Lt);break;case"maxRoughness":this._ssrPass.setParameter("minGlossiness",Math.max(Math.min(1-Et,1),0));break;default:console.warn("Unkown SSR parameter "+At)}},lt.prototype.setEdgeColor=function(At){var Et=je.a.parseColor(At);this._edgePass.setParameter("edgeColor",Et)},lt.prototype.setExposure=function(At){this._compositeNode.setParameter("exposure",Math.pow(2,At))},lt.prototype.setColorLookupTexture=function(At,Et){this._compositeNode.pass.material.setTextureImage("lut",this._enableColorCorrection?At:"none",Et,{minFilter:je.a.Texture.NEAREST,magFilter:je.a.Texture.NEAREST,flipY:!1})},lt.prototype.setColorCorrection=function(At,Et){this._compositeNode.setParameter(At,Et)},lt.prototype.composite=function(At,Et,vt,Lt){var St=this._sourceTexture,xt=St;this._enableEdge&&(this._edgePass.update(At,Et,St,Lt),St=xt=this._edgePass.getTargetTexture()),this._enableSSR&&(this._ssrPass.update(At,Et,St,Lt),xt=this._ssrPass.getTargetTexture(),this._ssrPass.setSSAOTexture(this._enableSSAO?this._ssaoPass.getTargetTexture():null)),this._sourceNode.texture=xt,this._cocNode.setParameter("depth",this._depthTexture);for(var ct=this._dofBlurKernel,Dt=this._dofBlurKernelSize,Xt=Math.floor(Me.a.length/2/Dt),kt=Lt%Xt,Rt=0;Rt<Dt*2;Rt++)ct[Rt]=Me.a[Rt+kt*Dt*2];for(var Rt=0;Rt<this._dofBlurNodes.length;Rt++)this._dofBlurNodes[Rt].setParameter("percent",Lt/30),this._dofBlurNodes[Rt].setParameter("poissonKernel",ct);this._cocNode.setParameter("zNear",Et.near),this._cocNode.setParameter("zFar",Et.far),this._compositor.render(At,vt)},lt.prototype.dispose=function(At){this._sourceTexture.dispose(At),this._depthTexture.dispose(At),this._framebuffer.dispose(At),this._compositor.dispose(At),this._normalPass.dispose(At),this._ssaoPass.dispose(At)},Ue.a=lt},function(tt,Ue,Ne){"use strict";var Ke=Ne(21),Be=Ne(157),we=Ne(159),Te=Ne(160),ke=Ne(161),Ie=Ne(7),Ce=Ne(6),Me=Ne(5),je=Ne(25),ye=/^#source\((.*?)\)/;function ie(pe,Se){var Le=new Be.a;Se=Se||{};var ze={textures:{},parameters:{}},Ze=function($e,gt){for(var lt=0;lt<pe.nodes.length;lt++){var At=pe.nodes[lt],Et=ae(At,ze,Se);Et&&Le.addNode(Et)}};for(var Ve in pe.parameters){var Qe=pe.parameters[Ve];ze.parameters[Ve]=fe(Qe)}return de(pe,ze,Se,function($e){ze.textures=$e,Ze()}),Le}function ae(pe,Se,Le){var ze=pe.type||"filter",Ze,Ve,Qe;if(ze==="filter"){var $e=pe.shader.trim(),gt=ye.exec($e);if(gt?Ze=Ie.a.source(gt[1].trim()):$e.charAt(0)==="#"&&(Ze=Se.shaders[$e.substr(1)]),Ze||(Ze=$e),!Ze)return}if(pe.inputs){Ve={};for(var lt in pe.inputs)typeof pe.inputs[lt]=="string"?Ve[lt]=pe.inputs[lt]:Ve[lt]={node:pe.inputs[lt].node,pin:pe.inputs[lt].pin}}if(pe.outputs){Qe={};for(var lt in pe.outputs){var At=pe.outputs[lt];Qe[lt]={},At.attachment!=null&&(Qe[lt].attachment=At.attachment),At.keepLastFrame!=null&&(Qe[lt].keepLastFrame=At.keepLastFrame),At.outputLastFrame!=null&&(Qe[lt].outputLastFrame=At.outputLastFrame),At.parameters&&(Qe[lt].parameters=fe(At.parameters))}}var Et;if(ze==="scene"?Et=new we.a({name:pe.name,scene:Le.scene,camera:Le.camera,outputs:Qe}):ze==="texture"?Et=new Te.a({name:pe.name,outputs:Qe}):Et=new ke.a({name:pe.name,shader:Ze,inputs:Ve,outputs:Qe}),Et){if(pe.parameters)for(var lt in pe.parameters){var vt=pe.parameters[lt];typeof vt=="string"&&(vt=vt.trim(),vt.charAt(0)==="#"?vt=Se.textures[vt.substr(1)]:Et.on("beforerender",ve(lt,ce(vt)))),Et.setParameter(lt,vt)}if(pe.defines&&Et.pass)for(var lt in pe.defines){var vt=pe.defines[lt];Et.pass.material.define("fragment",lt,vt)}}return Et}function fe(pe){var Se={};return pe&&(["type","minFilter","magFilter","wrapS","wrapT","flipY","useMipmap"].forEach(function(Le){var ze=pe[Le];ze!=null&&(typeof ze=="string"&&(ze=Ce.a[ze]),Se[Le]=ze)}),["width","height"].forEach(function(Le){if(pe[Le]!=null){var ze=pe[Le];typeof ze=="string"?(ze=ze.trim(),Se[Le]=xe(Le,ce(ze))):Se[Le]=ze}}),pe.useMipmap!=null&&(Se.useMipmap=pe.useMipmap)),Se}function de(pe,Se,Le,ze){if(!pe.textures){ze({});return}var Ze={},Ve=0,Qe=!1,$e=Le.textureRootPath;Ke.a.each(pe.textures,function(gt,lt){var At,Et=gt.path,vt=fe(gt.parameters);if(Array.isArray(Et)&&Et.length===6)$e&&(Et=Et.map(function(Lt){return Ke.a.relative2absolute(Lt,$e)})),At=new je.a(vt);else if(typeof Et=="string")$e&&(Et=Ke.a.relative2absolute(Et,$e)),At=new Me.a(vt);else return;At.load(Et),Ve++,At.once("success",function(){Ze[lt]=At,Ve--,Ve===0&&(ze(Ze),Qe=!0)})}),Ve===0&&!Qe&&ze(Ze)}function ve(pe,Se){return function(Le){var ze=Le.getDevicePixelRatio(),Ze=Le.getWidth(),Ve=Le.getHeight(),Qe=Se(Ze,Ve,ze);this.setParameter(pe,Qe)}}function xe(pe,Se){return function(Le){var ze=Le.getDevicePixelRatio(),Ze=Le.getWidth(),Ve=Le.getHeight();return Se(Ze,Ve,ze)}}function ce(pe){var Se=/^expr\((.*)\)$/.exec(pe);if(Se)try{var Le=new Function("width","height","dpr","return "+Se[1]);return Le(1,1),Le}catch(ze){throw new Error("Invalid expression.")}}Ue.a=ie},function(tt,Ue,Ne){"use strict";var Ke=Ne(158),Be=Ne(79),we=Ne(10),Te=Ke.a.extend(function(){return{_outputs:[],_texturePool:new Be.a,_frameBuffer:new we.a({depthBuffer:!1})}},{addNode:function(ke){Ke.a.prototype.addNode.call(this,ke),ke._compositor=this},render:function(ke,Ie){if(this._dirty){this.update(),this._dirty=!1,this._outputs.length=0;for(var Ce=0;Ce<this.nodes.length;Ce++)this.nodes[Ce].outputs||this._outputs.push(this.nodes[Ce])}for(var Ce=0;Ce<this.nodes.length;Ce++)this.nodes[Ce].beforeFrame();for(var Ce=0;Ce<this._outputs.length;Ce++)this._outputs[Ce].updateReference();for(var Ce=0;Ce<this._outputs.length;Ce++)this._outputs[Ce].render(ke,Ie);for(var Ce=0;Ce<this.nodes.length;Ce++)this.nodes[Ce].afterFrame()},allocateTexture:function(ke){return this._texturePool.get(ke)},releaseTexture:function(ke){this._texturePool.put(ke)},getFrameBuffer:function(){return this._frameBuffer},dispose:function(ke){this._texturePool.clear(ke)}});Ue.a=Te},function(tt,Ue,Ne){"use strict";var Ke=Ne(8),Be=Ne(42),we=Ke.a.extend(function(){return{nodes:[]}},{dirty:function(){this._dirty=!0},addNode:function(Te){this.nodes.indexOf(Te)>=0||(this.nodes.push(Te),this._dirty=!0)},removeNode:function(Te){typeof Te=="string"&&(Te=this.getNodeByName(Te));var ke=this.nodes.indexOf(Te);ke>=0&&(this.nodes.splice(ke,1),this._dirty=!0)},getNodeByName:function(Te){for(var ke=0;ke<this.nodes.length;ke++)if(this.nodes[ke].name===Te)return this.nodes[ke]},update:function(){for(var Te=0;Te<this.nodes.length;Te++)this.nodes[Te].clear();for(var Te=0;Te<this.nodes.length;Te++){var ke=this.nodes[Te];if(ke.inputs){for(var Ie in ke.inputs)if(ke.inputs[Ie]){if(ke.pass&&!ke.pass.material.isUniformEnabled(Ie)){console.warn("Pin "+ke.name+"."+Ie+" not used.");continue}var Ce=ke.inputs[Ie],Me=this.findPin(Ce);Me?ke.link(Ie,Me.node,Me.pin):console.warn(typeof Ce=="string"?"Node "+Ce+" not exist":"Pin of "+Ce.node+"."+Ce.pin+" not exist")}}}},findPin:function(Te){var ke;if((typeof Te=="string"||Te instanceof Be.a)&&(Te={node:Te}),typeof Te.node=="string")for(var Ie=0;Ie<this.nodes.length;Ie++){var Ce=this.nodes[Ie];Ce.name===Te.node&&(ke=Ce)}else ke=Te.node;if(ke){var Me=Te.pin;if(Me||ke.outputs&&(Me=Object.keys(ke.outputs)[0]),ke.outputs[Me])return{node:ke,pin:Me}}}});Ue.a=we},function(tt,Ue,Ne){"use strict";var Ke=Ne(42),Be=Ne(11),we=Ne(10),Te=Ke.a.extend({name:"scene",scene:null,camera:null,autoUpdateScene:!0,preZ:!1},function(){this.frameBuffer=new we.a},{render:function(ke){this._rendering=!0;var Ie=ke.gl;this.trigger("beforerender");var Ce;if(!this.outputs)Ce=ke.render(this.scene,this.camera,!this.autoUpdateScene,this.preZ);else{var Me=this.frameBuffer;for(var je in this.outputs){var ye=this.updateParameter(je,ke),ie=this.outputs[je],ae=this._compositor.allocateTexture(ye);this._outputTextures[je]=ae;var fe=ie.attachment||Ie.COLOR_ATTACHMENT0;typeof fe=="string"&&(fe=Ie[fe]),Me.attach(ae,fe)}Me.bind(ke);var de=ke.getGLExtension("EXT_draw_buffers");if(de){var ve=[];for(var fe in this.outputs)fe=parseInt(fe),fe>=Ie.COLOR_ATTACHMENT0&&fe<=Ie.COLOR_ATTACHMENT0+8&&ve.push(fe);de.drawBuffersEXT(ve)}ke.saveClear(),ke.clearBit=Be.a.DEPTH_BUFFER_BIT|Be.a.COLOR_BUFFER_BIT,Ce=ke.render(this.scene,this.camera,!this.autoUpdateScene,this.preZ),ke.restoreClear(),Me.unbind(ke)}this.trigger("afterrender",Ce),this._rendering=!1,this._rendered=!0}});Ue.a=Te},function(tt,Ue,Ne){"use strict";var Ke=Ne(42),Be=Ke.a.extend(function(){return{texture:null,outputs:{color:{}}}},function(){},{getOutput:function(we,Te){return this.texture},beforeFrame:function(){},afterFrame:function(){}});Ue.a=Be},function(tt,Ue,Ne){"use strict";var Ke=Ne(14),Be=Ne(42),we=Be.a.extend(function(){return{name:"",inputs:{},outputs:null,shader:"",inputLinks:{},outputLinks:{},pass:null,_prevOutputTextures:{},_outputTextures:{},_outputReferences:{},_rendering:!1,_rendered:!1,_compositor:null}},function(){var Te=new Ke.a({fragment:this.shader});this.pass=Te},{render:function(Te,ke){this.trigger("beforerender",Te),this._rendering=!0;var Ie=Te.gl;for(var Ce in this.inputLinks){var Me=this.inputLinks[Ce],je=Me.node.getOutput(Te,Me.pin);this.pass.setUniform(Ce,je)}if(!this.outputs)this.pass.outputs=null,this._compositor.getFrameBuffer().unbind(Te),this.pass.render(Te,ke);else{this.pass.outputs={};var ye={};for(var ie in this.outputs){var ae=this.updateParameter(ie,Te);isNaN(ae.width)&&this.updateParameter(ie,Te);var fe=this.outputs[ie],de=this._compositor.allocateTexture(ae);this._outputTextures[ie]=de;var ve=fe.attachment||Ie.COLOR_ATTACHMENT0;typeof ve=="string"&&(ve=Ie[ve]),ye[ve]=de}this._compositor.getFrameBuffer().bind(Te);for(var ve in ye)this._compositor.getFrameBuffer().attach(ye[ve],ve);this.pass.render(Te),this._compositor.getFrameBuffer().updateMipmap(Te.gl)}for(var Ce in this.inputLinks){var Me=this.inputLinks[Ce];Me.node.removeReference(Me.pin)}this._rendering=!1,this._rendered=!0,this.trigger("afterrender",Te)},updateParameter:function(Te,ke){var Ie=this.outputs[Te],Ce=Ie.parameters,Me=Ie._parametersCopy;if(Me||(Me=Ie._parametersCopy={}),Ce)for(var je in Ce)je!=="width"&&je!=="height"&&(Me[je]=Ce[je]);var ye,ie;return Ce.width instanceof Function?ye=Ce.width.call(this,ke):ye=Ce.width,Ce.height instanceof Function?ie=Ce.height.call(this,ke):ie=Ce.height,(Me.width!==ye||Me.height!==ie)&&this._outputTextures[Te]&&this._outputTextures[Te].dispose(ke),Me.width=ye,Me.height=ie,Me},setParameter:function(Te,ke){this.pass.setUniform(Te,ke)},getParameter:function(Te){return this.pass.getUniform(Te)},setParameters:function(Te){for(var ke in Te)this.setParameter(ke,Te[ke])},define:function(Te,ke){this.pass.material.define("fragment",Te,ke)},undefine:function(Te){this.pass.material.undefine("fragment",Te)},removeReference:function(Te){if(this._outputReferences[Te]--,this._outputReferences[Te]===0){var ke=this.outputs[Te];ke.keepLastFrame?(this._prevOutputTextures[Te]&&this._compositor.releaseTexture(this._prevOutputTextures[Te]),this._prevOutputTextures[Te]=this._outputTextures[Te]):this._compositor.releaseTexture(this._outputTextures[Te])}},clear:function(){Be.a.prototype.clear.call(this),this.pass.material.disableTexturesAll()}});Ue.a=we},function(tt,Ue,Ne){"use strict";var Ke=Ne(9),Be=Ne(4),we=Ne(5),Te=Ne(6),ke=Ne(14),Ie=Ne(7),Ce=Ne(10),Me=Ne(43),je=Ne(163);Ie.a.import(je.a);function ye(de){for(var ve=new Uint8Array(de*de*4),xe=0,ce=new Be.a,pe=0;pe<de;pe++)for(var Se=0;Se<de;Se++)ce.set(Math.random()*2-1,Math.random()*2-1,0).normalize(),ve[xe++]=(ce.x*.5+.5)*255,ve[xe++]=(ce.y*.5+.5)*255,ve[xe++]=0,ve[xe++]=255;return ve}function ie(de){return new we.a({pixels:ye(de),wrapS:Te.a.REPEAT,wrapT:Te.a.REPEAT,width:de,height:de})}function ae(de,ve,xe){var ce=new Float32Array(de*3);ve=ve||0;for(var pe=0;pe<de;pe++){var Se=Object(Me.a)(pe+ve,2)*(xe?1:2)*Math.PI,Le=Object(Me.a)(pe+ve,3)*Math.PI,ze=Math.random(),Ze=Math.cos(Se)*Math.sin(Le)*ze,Ve=Math.cos(Le)*ze,Qe=Math.sin(Se)*Math.sin(Le)*ze;ce[pe*3]=Ze,ce[pe*3+1]=Ve,ce[pe*3+2]=Qe}return ce}function fe(de){de=de||{},this._ssaoPass=new ke.a({fragment:Ie.a.source("ecgl.ssao.estimate")}),this._blurPass=new ke.a({fragment:Ie.a.source("ecgl.ssao.blur")}),this._framebuffer=new Ce.a({depthBuffer:!1}),this._ssaoTexture=new we.a,this._blurTexture=new we.a,this._blurTexture2=new we.a,this._depthTex=de.depthTexture,this._normalTex=de.normalTexture,this.setNoiseSize(4),this.setKernelSize(de.kernelSize||12),de.radius!=null&&this.setParameter("radius",de.radius),de.power!=null&&this.setParameter("power",de.power),this._normalTex||(this._ssaoPass.material.disableTexture("normalTex"),this._blurPass.material.disableTexture("normalTex")),this._depthTex||this._blurPass.material.disableTexture("depthTex"),this._blurPass.material.setUniform("normalTex",this._normalTex),this._blurPass.material.setUniform("depthTex",this._depthTex)}fe.prototype.setDepthTexture=function(de){this._depthTex=de},fe.prototype.setNormalTexture=function(de){this._normalTex=de,this._ssaoPass.material[de?"enableTexture":"disableTexture"]("normalTex"),this.setKernelSize(this._kernelSize)},fe.prototype.update=function(de,ve,xe){var ce=de.getWidth(),pe=de.getHeight(),Se=this._ssaoPass,Le=this._blurPass;Se.setUniform("kernel",this._kernels[xe%this._kernels.length]),Se.setUniform("depthTex",this._depthTex),this._normalTex!=null&&Se.setUniform("normalTex",this._normalTex),Se.setUniform("depthTexSize",[this._depthTex.width,this._depthTex.height]);var ze=new Ke.a;Ke.a.transpose(ze,ve.worldTransform),Se.setUniform("projection",ve.projectionMatrix.array),Se.setUniform("projectionInv",ve.invProjectionMatrix.array),Se.setUniform("viewInverseTranspose",ze.array);var Ze=this._ssaoTexture,Ve=this._blurTexture,Qe=this._blurTexture2;Ze.width=ce/2,Ze.height=pe/2,Ve.width=ce,Ve.height=pe,Qe.width=ce,Qe.height=pe,this._framebuffer.attach(Ze),this._framebuffer.bind(de),de.gl.clearColor(1,1,1,1),de.gl.clear(de.gl.COLOR_BUFFER_BIT),Se.render(de),Le.setUniform("textureSize",[ce/2,pe/2]),Le.setUniform("projection",ve.projectionMatrix.array),this._framebuffer.attach(Ve),Le.setUniform("direction",0),Le.setUniform("ssaoTexture",Ze),Le.render(de),this._framebuffer.attach(Qe),Le.setUniform("textureSize",[ce,pe]),Le.setUniform("direction",1),Le.setUniform("ssaoTexture",Ve),Le.render(de),this._framebuffer.unbind(de);var $e=de.clearColor;de.gl.clearColor($e[0],$e[1],$e[2],$e[3])},fe.prototype.getTargetTexture=function(){return this._blurTexture2},fe.prototype.setParameter=function(de,ve){de==="noiseTexSize"?this.setNoiseSize(ve):de==="kernelSize"?this.setKernelSize(ve):de==="intensity"?this._ssaoPass.material.set("intensity",ve):this._ssaoPass.setUniform(de,ve)},fe.prototype.setKernelSize=function(de){this._kernelSize=de,this._ssaoPass.material.define("fragment","KERNEL_SIZE",de),this._kernels=this._kernels||[];for(var ve=0;ve<30;ve++)this._kernels[ve]=ae(de,ve*de,!!this._normalTex)},fe.prototype.setNoiseSize=function(de){var ve=this._ssaoPass.getUniform("noiseTex");ve?(ve.data=ye(de),ve.width=ve.height=de,ve.dirty()):(ve=ie(de),this._ssaoPass.setUniform("noiseTex",ie(de))),this._ssaoPass.setUniform("noiseTexSize",[de,de])},fe.prototype.dispose=function(de){this._blurTexture.dispose(de),this._ssaoTexture.dispose(de),this._blurTexture2.dispose(de)},Ue.a=fe},function(tt,Ue,Ne){"use strict";Ue.a=`@export ecgl.ssao.estimate
uniform sampler2D depthTex;
uniform sampler2D normalTex;
uniform sampler2D noiseTex;
uniform vec2 depthTexSize;
uniform vec2 noiseTexSize;
uniform mat4 projection;
uniform mat4 projectionInv;
uniform mat4 viewInverseTranspose;
uniform vec3 kernel[KERNEL_SIZE];
uniform float radius : 1;
uniform float power : 1;
uniform float bias: 1e-2;
uniform float intensity: 1.0;
varying vec2 v_Texcoord;
float ssaoEstimator(in vec3 originPos, in mat3 kernelBasis) {
float occlusion = 0.0;
for (int i = 0; i < KERNEL_SIZE; i++) {
vec3 samplePos = kernel[i];
#ifdef NORMALTEX_ENABLED
samplePos = kernelBasis * samplePos;
#endif
samplePos = samplePos * radius + originPos;
vec4 texCoord = projection * vec4(samplePos, 1.0);
texCoord.xy /= texCoord.w;
vec4 depthTexel = texture2D(depthTex, texCoord.xy * 0.5 + 0.5);
float sampleDepth = depthTexel.r * 2.0 - 1.0;
if (projection[3][3] == 0.0) {
sampleDepth = projection[3][2] / (sampleDepth * projection[2][3] - projection[2][2]);
}
else {
sampleDepth = (sampleDepth - projection[3][2]) / projection[2][2];
}
float rangeCheck = smoothstep(0.0, 1.0, radius / abs(originPos.z - sampleDepth));
occlusion += rangeCheck * step(samplePos.z, sampleDepth - bias);
}
#ifdef NORMALTEX_ENABLED
occlusion = 1.0 - occlusion / float(KERNEL_SIZE);
#else
occlusion = 1.0 - clamp((occlusion / float(KERNEL_SIZE) - 0.6) * 2.5, 0.0, 1.0);
#endif
return pow(occlusion, power);
}
void main()
{
vec4 depthTexel = texture2D(depthTex, v_Texcoord);
#ifdef NORMALTEX_ENABLED
vec4 tex = texture2D(normalTex, v_Texcoord);
if (dot(tex.rgb, tex.rgb) == 0.0) {
gl_FragColor = vec4(1.0);
return;
}
vec3 N = tex.rgb * 2.0 - 1.0;
N = (viewInverseTranspose * vec4(N, 0.0)).xyz;
vec2 noiseTexCoord = depthTexSize / vec2(noiseTexSize) * v_Texcoord;
vec3 rvec = texture2D(noiseTex, noiseTexCoord).rgb * 2.0 - 1.0;
vec3 T = normalize(rvec - N * dot(rvec, N));
vec3 BT = normalize(cross(N, T));
mat3 kernelBasis = mat3(T, BT, N);
#else
if (depthTexel.r > 0.99999) {
gl_FragColor = vec4(1.0);
return;
}
mat3 kernelBasis;
#endif
float z = depthTexel.r * 2.0 - 1.0;
vec4 projectedPos = vec4(v_Texcoord * 2.0 - 1.0, z, 1.0);
vec4 p4 = projectionInv * projectedPos;
vec3 position = p4.xyz / p4.w;
float ao = ssaoEstimator(position, kernelBasis);
ao = clamp(1.0 - (1.0 - ao) * intensity, 0.0, 1.0);
gl_FragColor = vec4(vec3(ao), 1.0);
}
@end
@export ecgl.ssao.blur
#define SHADER_NAME SSAO_BLUR
uniform sampler2D ssaoTexture;
#ifdef NORMALTEX_ENABLED
uniform sampler2D normalTex;
#endif
varying vec2 v_Texcoord;
uniform vec2 textureSize;
uniform float blurSize : 1.0;
uniform int direction: 0.0;
#ifdef DEPTHTEX_ENABLED
uniform sampler2D depthTex;
uniform mat4 projection;
uniform float depthRange : 0.5;
float getLinearDepth(vec2 coord)
{
float depth = texture2D(depthTex, coord).r * 2.0 - 1.0;
return projection[3][2] / (depth * projection[2][3] - projection[2][2]);
}
#endif
void main()
{
float kernel[5];
kernel[0] = 0.122581;
kernel[1] = 0.233062;
kernel[2] = 0.288713;
kernel[3] = 0.233062;
kernel[4] = 0.122581;
vec2 off = vec2(0.0);
if (direction == 0) {
off[0] = blurSize / textureSize.x;
}
else {
off[1] = blurSize / textureSize.y;
}
vec2 coord = v_Texcoord;
float sum = 0.0;
float weightAll = 0.0;
#ifdef NORMALTEX_ENABLED
vec3 centerNormal = texture2D(normalTex, v_Texcoord).rgb * 2.0 - 1.0;
#endif
#if defined(DEPTHTEX_ENABLED)
float centerDepth = getLinearDepth(v_Texcoord);
#endif
for (int i = 0; i < 5; i++) {
vec2 coord = clamp(v_Texcoord + vec2(float(i) - 2.0) * off, vec2(0.0), vec2(1.0));
float w = kernel[i];
#ifdef NORMALTEX_ENABLED
vec3 normal = texture2D(normalTex, coord).rgb * 2.0 - 1.0;
w *= clamp(dot(normal, centerNormal), 0.0, 1.0);
#endif
#ifdef DEPTHTEX_ENABLED
float d = getLinearDepth(coord);
w *= (1.0 - smoothstep(abs(centerDepth - d) / depthRange, 0.0, 1.0));
#endif
weightAll += w;
sum += texture2D(ssaoTexture, coord).r * w;
}
gl_FragColor = vec4(vec3(sum / weightAll), 1.0);
}
@end
`},function(tt,Ue,Ne){"use strict";var Ke=Ne(9),Be=Ne(4),we=Ne(5),Te=Ne(6),ke=Ne(14),Ie=Ne(7),Ce=Ne(10),Me=Ne(43),je=Ne(165);Ie.a.import(je.a);function ye(ie){ie=ie||{},this._ssrPass=new ke.a({fragment:Ie.a.source("ecgl.ssr.main"),clearColor:[0,0,0,0]}),this._blurPass1=new ke.a({fragment:Ie.a.source("ecgl.ssr.blur"),clearColor:[0,0,0,0]}),this._blurPass2=new ke.a({fragment:Ie.a.source("ecgl.ssr.blur"),clearColor:[0,0,0,0]}),this._ssrPass.setUniform("gBufferTexture1",ie.normalTexture),this._ssrPass.setUniform("gBufferTexture2",ie.depthTexture),this._blurPass1.setUniform("gBufferTexture1",ie.normalTexture),this._blurPass1.setUniform("gBufferTexture2",ie.depthTexture),this._blurPass2.setUniform("gBufferTexture1",ie.normalTexture),this._blurPass2.setUniform("gBufferTexture2",ie.depthTexture),this._blurPass2.material.define("fragment","VERTICAL"),this._blurPass2.material.define("fragment","BLEND"),this._texture1=new we.a({type:Te.a.HALF_FLOAT}),this._texture2=new we.a({type:Te.a.HALF_FLOAT}),this._texture3=new we.a({type:Te.a.HALF_FLOAT}),this._frameBuffer=new Ce.a({depthBuffer:!1})}ye.prototype.update=function(ie,ae,fe,de){var ve=ie.getWidth(),xe=ie.getHeight(),ce=ie.getDevicePixelRatio(),pe=this._texture1,Se=this._texture2,Le=this._texture3;Se.width=ve/2,Se.height=xe/2,pe.width=ve,pe.height=xe,Le.width=ve*ce,Le.height=xe*ce;var ze=this._frameBuffer,Ze=this._ssrPass,Ve=this._blurPass1,Qe=this._blurPass2,$e=new Ke.a;Ke.a.transpose($e,ae.worldTransform),Ze.setUniform("sourceTexture",fe),Ze.setUniform("projection",ae.projectionMatrix.array),Ze.setUniform("projectionInv",ae.invProjectionMatrix.array),Ze.setUniform("viewInverseTranspose",$e.array),Ze.setUniform("nearZ",ae.near),Ze.setUniform("jitterOffset",de/30),Ve.setUniform("textureSize",[ve/2,xe/2]),Qe.setUniform("textureSize",[ve,xe]),Qe.setUniform("sourceTexture",fe),Ve.setUniform("projection",ae.projectionMatrix.array),Qe.setUniform("projection",ae.projectionMatrix.array),ze.attach(pe),ze.bind(ie),Ze.render(ie),ze.attach(Se),Ve.setUniform("texture",pe),Ve.render(ie),ze.attach(Le),Qe.setUniform("texture",Se),Qe.render(ie),ze.unbind(ie)},ye.prototype.getTargetTexture=function(){return this._texture3},ye.prototype.setParameter=function(ie,ae){ie==="maxIteration"?this._ssrPass.material.define("fragment","MAX_ITERATION",ae):this._ssrPass.setUniform(ie,ae)},ye.prototype.setSSAOTexture=function(ie){var ae=this._blurPass2;ie?(ae.material.enableTexture("ssaoTex"),ae.material.set("ssaoTex",ie)):ae.material.disableTexture("ssaoTex")},ye.prototype.dispose=function(ie){this._texture1.dispose(ie),this._texture2.dispose(ie),this._texture3.dispose(ie),this._frameBuffer.dispose(ie)},Ue.a=ye},function(tt,Ue,Ne){"use strict";Ue.a=`@export ecgl.ssr.main
#define MAX_ITERATION 20;
uniform sampler2D sourceTexture;
uniform sampler2D gBufferTexture1;
uniform sampler2D gBufferTexture2;
uniform mat4 projection;
uniform mat4 projectionInv;
uniform mat4 viewInverseTranspose;
uniform float maxRayDistance: 50;
uniform float pixelStride: 16;
uniform float pixelStrideZCutoff: 50;
uniform float screenEdgeFadeStart: 0.9;
uniform float eyeFadeStart : 0.2; uniform float eyeFadeEnd: 0.8;
uniform float minGlossiness: 0.2; uniform float zThicknessThreshold: 10;
uniform float nearZ;
uniform vec2 viewportSize : VIEWPORT_SIZE;
uniform float jitterOffset: 0;
varying vec2 v_Texcoord;
#ifdef DEPTH_DECODE
@import clay.util.decode_float
#endif
float fetchDepth(sampler2D depthTexture, vec2 uv)
{
vec4 depthTexel = texture2D(depthTexture, uv);
return depthTexel.r * 2.0 - 1.0;
}
float linearDepth(float depth)
{
if (projection[3][3] == 0.0) {
return projection[3][2] / (depth * projection[2][3] - projection[2][2]);
}
else {
return (depth - projection[3][2]) / projection[2][2];
}
}
bool rayIntersectDepth(float rayZNear, float rayZFar, vec2 hitPixel)
{
if (rayZFar > rayZNear)
{
float t = rayZFar; rayZFar = rayZNear; rayZNear = t;
}
float cameraZ = linearDepth(fetchDepth(gBufferTexture2, hitPixel));
return rayZFar <= cameraZ && rayZNear >= cameraZ - zThicknessThreshold;
}
bool traceScreenSpaceRay(
vec3 rayOrigin, vec3 rayDir, float jitter,
out vec2 hitPixel, out vec3 hitPoint, out float iterationCount
)
{
float rayLength = ((rayOrigin.z + rayDir.z * maxRayDistance) > -nearZ)
? (-nearZ - rayOrigin.z) / rayDir.z : maxRayDistance;
vec3 rayEnd = rayOrigin + rayDir * rayLength;
vec4 H0 = projection * vec4(rayOrigin, 1.0);
vec4 H1 = projection * vec4(rayEnd, 1.0);
float k0 = 1.0 / H0.w, k1 = 1.0 / H1.w;
vec3 Q0 = rayOrigin * k0, Q1 = rayEnd * k1;
vec2 P0 = (H0.xy * k0 * 0.5 + 0.5) * viewportSize;
vec2 P1 = (H1.xy * k1 * 0.5 + 0.5) * viewportSize;
P1 += dot(P1 - P0, P1 - P0) < 0.0001 ? 0.01 : 0.0;
vec2 delta = P1 - P0;
bool permute = false;
if (abs(delta.x) < abs(delta.y)) {
permute = true;
delta = delta.yx;
P0 = P0.yx;
P1 = P1.yx;
}
float stepDir = sign(delta.x);
float invdx = stepDir / delta.x;
vec3 dQ = (Q1 - Q0) * invdx;
float dk = (k1 - k0) * invdx;
vec2 dP = vec2(stepDir, delta.y * invdx);
float strideScaler = 1.0 - min(1.0, -rayOrigin.z / pixelStrideZCutoff);
float pixStride = 1.0 + strideScaler * pixelStride;
dP *= pixStride; dQ *= pixStride; dk *= pixStride;
vec4 pqk = vec4(P0, Q0.z, k0);
vec4 dPQK = vec4(dP, dQ.z, dk);
pqk += dPQK * jitter;
float rayZFar = (dPQK.z * 0.5 + pqk.z) / (dPQK.w * 0.5 + pqk.w);
float rayZNear;
bool intersect = false;
vec2 texelSize = 1.0 / viewportSize;
iterationCount = 0.0;
for (int i = 0; i < MAX_ITERATION; i++)
{
pqk += dPQK;
rayZNear = rayZFar;
rayZFar = (dPQK.z * 0.5 + pqk.z) / (dPQK.w * 0.5 + pqk.w);
hitPixel = permute ? pqk.yx : pqk.xy;
hitPixel *= texelSize;
intersect = rayIntersectDepth(rayZNear, rayZFar, hitPixel);
iterationCount += 1.0;
if (intersect) {
break;
}
}
Q0.xy += dQ.xy * iterationCount;
Q0.z = pqk.z;
hitPoint = Q0 / pqk.w;
return intersect;
}
float calculateAlpha(
float iterationCount, float reflectivity,
vec2 hitPixel, vec3 hitPoint, float dist, vec3 rayDir
)
{
float alpha = clamp(reflectivity, 0.0, 1.0);
alpha *= 1.0 - (iterationCount / float(MAX_ITERATION));
vec2 hitPixelNDC = hitPixel * 2.0 - 1.0;
float maxDimension = min(1.0, max(abs(hitPixelNDC.x), abs(hitPixelNDC.y)));
alpha *= 1.0 - max(0.0, maxDimension - screenEdgeFadeStart) / (1.0 - screenEdgeFadeStart);
float _eyeFadeStart = eyeFadeStart;
float _eyeFadeEnd = eyeFadeEnd;
if (_eyeFadeStart > _eyeFadeEnd) {
float tmp = _eyeFadeEnd;
_eyeFadeEnd = _eyeFadeStart;
_eyeFadeStart = tmp;
}
float eyeDir = clamp(rayDir.z, _eyeFadeStart, _eyeFadeEnd);
alpha *= 1.0 - (eyeDir - _eyeFadeStart) / (_eyeFadeEnd - _eyeFadeStart);
alpha *= 1.0 - clamp(dist / maxRayDistance, 0.0, 1.0);
return alpha;
}
@import clay.util.rand
@import clay.util.rgbm
void main()
{
vec4 normalAndGloss = texture2D(gBufferTexture1, v_Texcoord);
if (dot(normalAndGloss.rgb, vec3(1.0)) == 0.0) {
discard;
}
float g = normalAndGloss.a;
if (g <= minGlossiness) {
discard;
}
float reflectivity = (g - minGlossiness) / (1.0 - minGlossiness);
vec3 N = normalAndGloss.rgb * 2.0 - 1.0;
N = normalize((viewInverseTranspose * vec4(N, 0.0)).xyz);
vec4 projectedPos = vec4(v_Texcoord * 2.0 - 1.0, fetchDepth(gBufferTexture2, v_Texcoord), 1.0);
vec4 pos = projectionInv * projectedPos;
vec3 rayOrigin = pos.xyz / pos.w;
vec3 rayDir = normalize(reflect(normalize(rayOrigin), N));
vec2 hitPixel;
vec3 hitPoint;
float iterationCount;
vec2 uv2 = v_Texcoord * viewportSize;
float jitter = rand(fract(v_Texcoord + jitterOffset));
bool intersect = traceScreenSpaceRay(rayOrigin, rayDir, jitter, hitPixel, hitPoint, iterationCount);
float dist = distance(rayOrigin, hitPoint);
float alpha = calculateAlpha(iterationCount, reflectivity, hitPixel, hitPoint, dist, rayDir) * float(intersect);
vec3 hitNormal = texture2D(gBufferTexture1, hitPixel).rgb * 2.0 - 1.0;
hitNormal = normalize((viewInverseTranspose * vec4(hitNormal, 0.0)).xyz);
if (dot(hitNormal, rayDir) >= 0.0) {
discard;
}
if (!intersect) {
discard;
}
vec4 color = decodeHDR(texture2D(sourceTexture, hitPixel));
gl_FragColor = encodeHDR(vec4(color.rgb * alpha, color.a));
}
@end
@export ecgl.ssr.blur
uniform sampler2D texture;
uniform sampler2D gBufferTexture1;
uniform sampler2D gBufferTexture2;
uniform mat4 projection;
uniform float depthRange : 0.05;
varying vec2 v_Texcoord;
uniform vec2 textureSize;
uniform float blurSize : 4.0;
#ifdef BLEND
#ifdef SSAOTEX_ENABLED
uniform sampler2D ssaoTex;
#endif
uniform sampler2D sourceTexture;
#endif
float getLinearDepth(vec2 coord)
{
float depth = texture2D(gBufferTexture2, coord).r * 2.0 - 1.0;
return projection[3][2] / (depth * projection[2][3] - projection[2][2]);
}
@import clay.util.rgbm
void main()
{
@import clay.compositor.kernel.gaussian_9
vec4 centerNTexel = texture2D(gBufferTexture1, v_Texcoord);
float g = centerNTexel.a;
float maxBlurSize = clamp(1.0 - g + 0.1, 0.0, 1.0) * blurSize;
#ifdef VERTICAL
vec2 off = vec2(0.0, maxBlurSize / textureSize.y);
#else
vec2 off = vec2(maxBlurSize / textureSize.x, 0.0);
#endif
vec2 coord = v_Texcoord;
vec4 sum = vec4(0.0);
float weightAll = 0.0;
vec3 cN = centerNTexel.rgb * 2.0 - 1.0;
float cD = getLinearDepth(v_Texcoord);
for (int i = 0; i < 9; i++) {
vec2 coord = clamp((float(i) - 4.0) * off + v_Texcoord, vec2(0.0), vec2(1.0));
float w = gaussianKernel[i]
* clamp(dot(cN, texture2D(gBufferTexture1, coord).rgb * 2.0 - 1.0), 0.0, 1.0);
float d = getLinearDepth(coord);
w *= (1.0 - smoothstep(abs(cD - d) / depthRange, 0.0, 1.0));
weightAll += w;
sum += decodeHDR(texture2D(texture, coord)) * w;
}
#ifdef BLEND
float aoFactor = 1.0;
#ifdef SSAOTEX_ENABLED
aoFactor = texture2D(ssaoTex, v_Texcoord).r;
#endif
gl_FragColor = encodeHDR(
sum / weightAll * aoFactor + decodeHDR(texture2D(sourceTexture, v_Texcoord))
);
#else
gl_FragColor = encodeHDR(sum / weightAll);
#endif
}
@end`},function(tt,Ue,Ne){"use strict";Ue.a=[0,0,-.321585265978,-.154972575841,.458126042375,.188473391593,.842080129861,.527766490688,.147304551086,-.659453822776,-.331943915203,-.940619700594,.0479226680259,.54812163202,.701581552186,-.709825561388,-.295436780218,.940589268233,-.901489676764,.237713156085,.973570876096,-.109899459384,-.866792314779,-.451805525005,.330975007087,.800048655954,-.344275183665,.381779221166,-.386139432542,-.437418421534,-.576478634965,-.0148463392551,.385798197415,-.262426961053,-.666302061145,.682427250835,-.628010632582,-.732836215494,.10163141741,-.987658134403,.711995289051,-.320024291314,.0296005138058,.950296523438,.0130612307608,-.351024443122,-.879596633704,-.10478487883,.435712737232,.504254490347,.779203817497,.206477676721,.388264289969,-.896736162545,-.153106280781,-.629203242522,-.245517550697,.657969239148,.126830499058,.26862328493,-.634888119007,-.302301223431,.617074219636,.779817204925]},function(tt,Ue,Ne){"use strict";var Ke=Ne(5),Be=Ne(6),we=Ne(7),Te=Ne(10),ke=Ne(17),Ie=Ne(14),Ce=Ne(54),Me=Ne(168);we.a.import(Me.a);function je(ae,fe,de,ve,xe){var ce=ae.gl;fe.setUniform(ce,"1i",de,xe),ce.activeTexture(ce.TEXTURE0+xe),ve.isRenderable()?ve.bind(ae):ve.unbind(ae)}function ye(ae,fe,de,ve,xe){var ce,pe,Se,Le,ze=ae.gl;return function(Ze,Ve,Qe){if(!(Le&&Le.material===Ze.material)){var $e=Ze.material,gt=Ze.__program,lt=$e.get("roughness");lt==null&&(lt=1);var At=$e.get("normalMap")||fe,Et=$e.get("roughnessMap"),vt=$e.get("bumpMap"),Lt=$e.get("uvRepeat"),St=$e.get("uvOffset"),xt=$e.get("detailUvRepeat"),ct=$e.get("detailUvOffset"),Dt=!!vt&&$e.isTextureEnabled("bumpMap"),Xt=!!Et&&$e.isTextureEnabled("roughnessMap"),kt=$e.isDefined("fragment","DOUBLE_SIDED");vt=vt||de,Et=Et||ve,Qe!==Ve?(Ve.set("normalMap",At),Ve.set("bumpMap",vt),Ve.set("roughnessMap",Et),Ve.set("useBumpMap",Dt),Ve.set("useRoughnessMap",Xt),Ve.set("doubleSide",kt),Lt!=null&&Ve.set("uvRepeat",Lt),St!=null&&Ve.set("uvOffset",St),xt!=null&&Ve.set("detailUvRepeat",xt),ct!=null&&Ve.set("detailUvOffset",ct),Ve.set("roughness",lt)):(gt.setUniform(ze,"1f","roughness",lt),ce!==At&&je(ae,gt,"normalMap",At,0),pe!==vt&&vt&&je(ae,gt,"bumpMap",vt,1),Se!==Et&&Et&&je(ae,gt,"roughnessMap",Et,2),Lt!=null&&gt.setUniform(ze,"2f","uvRepeat",Lt),St!=null&&gt.setUniform(ze,"2f","uvOffset",St),xt!=null&&gt.setUniform(ze,"2f","detailUvRepeat",xt),ct!=null&&gt.setUniform(ze,"2f","detailUvOffset",ct),gt.setUniform(ze,"1i","useBumpMap",+Dt),gt.setUniform(ze,"1i","useRoughnessMap",+Xt),gt.setUniform(ze,"1i","doubleSide",+kt)),ce=At,pe=vt,Se=Et,Le=Ze}}}function ie(ae){ae=ae||{},this._depthTex=new Ke.a({format:Be.a.DEPTH_COMPONENT,type:Be.a.UNSIGNED_INT}),this._normalTex=new Ke.a({type:Be.a.HALF_FLOAT}),this._framebuffer=new Te.a,this._framebuffer.attach(this._normalTex),this._framebuffer.attach(this._depthTex,Te.a.DEPTH_ATTACHMENT),this._normalMaterial=new ke.a({shader:new we.a(we.a.source("ecgl.normal.vertex"),we.a.source("ecgl.normal.fragment"))}),this._normalMaterial.enableTexture(["normalMap","bumpMap","roughnessMap"]),this._defaultNormalMap=Ce.a.createBlank("#000"),this._defaultBumpMap=Ce.a.createBlank("#000"),this._defaultRoughessMap=Ce.a.createBlank("#000"),this._debugPass=new Ie.a({fragment:we.a.source("clay.compositor.output")}),this._debugPass.setUniform("texture",this._normalTex),this._debugPass.material.undefine("fragment","OUTPUT_ALPHA")}ie.prototype.getDepthTexture=function(){return this._depthTex},ie.prototype.getNormalTexture=function(){return this._normalTex},ie.prototype.update=function(ae,fe,de){var ve=ae.getWidth(),xe=ae.getHeight(),ce=this._depthTex,pe=this._normalTex,Se=this._normalMaterial;ce.width=ve,ce.height=xe,pe.width=ve,pe.height=xe;var Le=fe.opaqueList;this._framebuffer.bind(ae),ae.gl.clearColor(0,0,0,0),ae.gl.clear(ae.gl.COLOR_BUFFER_BIT|ae.gl.DEPTH_BUFFER_BIT),ae.gl.disable(ae.gl.BLEND),ae.renderPass(Le,de,{getMaterial:function(){return Se},ifRender:function(ze){return ze.renderNormal},beforeRender:ye(ae,this._defaultNormalMap,this._defaultBumpMap,this._defaultRoughessMap,this._normalMaterial),sort:ae.opaqueSortCompare}),this._framebuffer.unbind(ae)},ie.prototype.renderDebug=function(ae){this._debugPass.render(ae)},ie.prototype.dispose=function(ae){this._depthTex.dispose(ae),this._normalTex.dispose(ae)},Ue.a=ie},function(tt,Ue,Ne){"use strict";Ue.a=`@export ecgl.normal.vertex
@import ecgl.common.transformUniforms
@import ecgl.common.uv.header
@import ecgl.common.attributes
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
@import ecgl.common.normalMap.vertexHeader
@import ecgl.common.vertexAnimation.header
void main()
{
@import ecgl.common.vertexAnimation.main
@import ecgl.common.uv.main
v_Normal = normalize((worldInverseTranspose * vec4(normal, 0.0)).xyz);
v_WorldPosition = (world * vec4(pos, 1.0)).xyz;
@import ecgl.common.normalMap.vertexMain
gl_Position = worldViewProjection * vec4(pos, 1.0);
}
@end
@export ecgl.normal.fragment
#define ROUGHNESS_CHANEL 0
uniform bool useBumpMap;
uniform bool useRoughnessMap;
uniform bool doubleSide;
uniform float roughness;
@import ecgl.common.uv.fragmentHeader
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
uniform mat4 viewInverse : VIEWINVERSE;
@import ecgl.common.normalMap.fragmentHeader
@import ecgl.common.bumpMap.header
uniform sampler2D roughnessMap;
void main()
{
vec3 N = v_Normal;
bool flipNormal = false;
if (doubleSide) {
vec3 eyePos = viewInverse[3].xyz;
vec3 V = normalize(eyePos - v_WorldPosition);
if (dot(N, V) < 0.0) {
flipNormal = true;
}
}
@import ecgl.common.normalMap.fragmentMain
if (useBumpMap) {
N = bumpNormal(v_WorldPosition, v_Normal, N);
}
float g = 1.0 - roughness;
if (useRoughnessMap) {
float g2 = 1.0 - texture2D(roughnessMap, v_DetailTexcoord)[ROUGHNESS_CHANEL];
g = clamp(g2 + (g - 0.5) * 2.0, 0.0, 1.0);
}
if (flipNormal) {
N = -N;
}
gl_FragColor.rgb = (N.xyz + 1.0) * 0.5;
gl_FragColor.a = g;
}
@end`},function(tt,Ue,Ne){"use strict";var Ke=Ne(9),Be=Ne(4),we=Ne(5),Te=Ne(6),ke=Ne(14),Ie=Ne(7),Ce=Ne(10);function Me(je){je=je||{},this._edgePass=new ke.a({fragment:Ie.a.source("ecgl.edge")}),this._edgePass.setUniform("normalTexture",je.normalTexture),this._edgePass.setUniform("depthTexture",je.depthTexture),this._targetTexture=new we.a({type:Te.a.HALF_FLOAT}),this._frameBuffer=new Ce.a,this._frameBuffer.attach(this._targetTexture)}Me.prototype.update=function(je,ye,ie,ae){var fe=je.getWidth(),de=je.getHeight(),ve=this._targetTexture;ve.width=fe,ve.height=de;var xe=this._frameBuffer;xe.bind(je),this._edgePass.setUniform("projectionInv",ye.invProjectionMatrix.array),this._edgePass.setUniform("textureSize",[fe,de]),this._edgePass.setUniform("texture",ie),this._edgePass.render(je),xe.unbind(je)},Me.prototype.getTargetTexture=function(){return this._targetTexture},Me.prototype.setParameter=function(je,ye){this._edgePass.setUniform(je,ye)},Me.prototype.dispose=function(je){this._targetTexture.dispose(je),this._frameBuffer.dispose(je)},Ue.a=Me},function(tt,Ue,Ne){"use strict";Ue.a={type:"compositor",nodes:[{name:"source",type:"texture",outputs:{color:{}}},{name:"source_half",shader:"#source(clay.compositor.downsample)",inputs:{texture:"source"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"bright",shader:"#source(clay.compositor.bright)",inputs:{texture:"source_half"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{threshold:2,scale:4,textureSize:"expr([width * 1.0 / 2, height / 2])"}},{name:"bright_downsample_4",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 2, height / 2] )"}},{name:"bright_downsample_8",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_4"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 4, height / 4] )"}},{name:"bright_downsample_16",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_8"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 8, height / 8] )"}},{name:"bright_downsample_32",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_16"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 32)",height:"expr(height * 1.0 / 32)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 16, height / 16] )"}},{name:"bright_upsample_16_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_32"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 32, height / 32] )"}},{name:"bright_upsample_16_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_16_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 16, height * 1.0 / 16] )"}},{name:"bright_upsample_8_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_16"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 16, height * 1.0 / 16] )"}},{name:"bright_upsample_8_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_8_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 8, height * 1.0 / 8] )"}},{name:"bright_upsample_8_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_8_blur_v",texture2:"bright_upsample_16_blur_v"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_4_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_8"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 8, height * 1.0 / 8] )"}},{name:"bright_upsample_4_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_4_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 4, height * 1.0 / 4] )"}},{name:"bright_upsample_4_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_4_blur_v",texture2:"bright_upsample_8_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_2_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_4"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 4, height * 1.0 / 4] )"}},{name:"bright_upsample_2_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_2_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 2, height * 1.0 / 2] )"}},{name:"bright_upsample_2_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_2_blur_v",texture2:"bright_upsample_4_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_full_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 2, height * 1.0 / 2] )"}},{name:"bright_upsample_full_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_full_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"bloom_composite",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_full_blur_v",texture2:"bright_upsample_2_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"coc",shader:"#source(ecgl.dof.coc)",outputs:{color:{parameters:{minFilter:"NEAREST",magFilter:"NEAREST",width:"expr(width * 1.0)",height:"expr(height * 1.0)"}}},parameters:{focalDist:50,focalRange:30}},{name:"dof_far_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"source",coc:"coc"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"dof_near_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"source",coc:"coc"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"},defines:{BLUR_NEARFIELD:null}},{name:"dof_coc_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"coc"},outputs:{color:{parameters:{minFilter:"NEAREST",magFilter:"NEAREST",width:"expr(width * 1.0)",height:"expr(height * 1.0)"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"},defines:{BLUR_COC:null}},{name:"dof_composite",shader:"#source(ecgl.dof.composite)",inputs:{original:"source",blurred:"dof_far_blur",nearfield:"dof_near_blur",coc:"coc",nearcoc:"dof_coc_blur"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}}},{name:"composite",shader:"#source(clay.compositor.hdr.composite)",inputs:{texture:"source",bloom:"bloom_composite"},defines:{}},{name:"FXAA",shader:"#source(clay.compositor.fxaa)",inputs:{texture:"composite"}}]}},function(tt,Ue,Ne){"use strict";Ue.a=`@export clay.compositor.kernel.gaussian_9
float gaussianKernel[9];
gaussianKernel[0] = 0.07;
gaussianKernel[1] = 0.09;
gaussianKernel[2] = 0.12;
gaussianKernel[3] = 0.14;
gaussianKernel[4] = 0.16;
gaussianKernel[5] = 0.14;
gaussianKernel[6] = 0.12;
gaussianKernel[7] = 0.09;
gaussianKernel[8] = 0.07;
@end
@export clay.compositor.kernel.gaussian_13
float gaussianKernel[13];
gaussianKernel[0] = 0.02;
gaussianKernel[1] = 0.03;
gaussianKernel[2] = 0.06;
gaussianKernel[3] = 0.08;
gaussianKernel[4] = 0.11;
gaussianKernel[5] = 0.13;
gaussianKernel[6] = 0.14;
gaussianKernel[7] = 0.13;
gaussianKernel[8] = 0.11;
gaussianKernel[9] = 0.08;
gaussianKernel[10] = 0.06;
gaussianKernel[11] = 0.03;
gaussianKernel[12] = 0.02;
@end
@export clay.compositor.gaussian_blur
#define SHADER_NAME gaussian_blur
uniform sampler2D texture;varying vec2 v_Texcoord;
uniform float blurSize : 2.0;
uniform vec2 textureSize : [512.0, 512.0];
uniform float blurDir : 0.0;
@import clay.util.rgbm
@import clay.util.clamp_sample
void main (void)
{
@import clay.compositor.kernel.gaussian_9
vec2 off = blurSize / textureSize;
off *= vec2(1.0 - blurDir, blurDir);
vec4 sum = vec4(0.0);
float weightAll = 0.0;
for (int i = 0; i < 9; i++) {
float w = gaussianKernel[i];
vec4 texel = decodeHDR(clampSample(texture, v_Texcoord + float(i - 4) * off));
sum += texel * w;
weightAll += w;
}
gl_FragColor = encodeHDR(sum / max(weightAll, 0.01));
}
@end
`},function(tt,Ue,Ne){"use strict";Ue.a=`
@export clay.compositor.lut
varying vec2 v_Texcoord;
uniform sampler2D texture;
uniform sampler2D lookup;
void main()
{
vec4 tex = texture2D(texture, v_Texcoord);
float blueColor = tex.b * 63.0;
vec2 quad1;
quad1.y = floor(floor(blueColor) / 8.0);
quad1.x = floor(blueColor) - (quad1.y * 8.0);
vec2 quad2;
quad2.y = floor(ceil(blueColor) / 8.0);
quad2.x = ceil(blueColor) - (quad2.y * 8.0);
vec2 texPos1;
texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.r);
texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.g);
vec2 texPos2;
texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.r);
texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.g);
vec4 newColor1 = texture2D(lookup, texPos1);
vec4 newColor2 = texture2D(lookup, texPos2);
vec4 newColor = mix(newColor1, newColor2, fract(blueColor));
gl_FragColor = vec4(newColor.rgb, tex.w);
}
@end`},function(tt,Ue,Ne){"use strict";Ue.a=`@export clay.compositor.output
#define OUTPUT_ALPHA
varying vec2 v_Texcoord;
uniform sampler2D texture;
@import clay.util.rgbm
void main()
{
vec4 tex = decodeHDR(texture2D(texture, v_Texcoord));
gl_FragColor.rgb = tex.rgb;
#ifdef OUTPUT_ALPHA
gl_FragColor.a = tex.a;
#else
gl_FragColor.a = 1.0;
#endif
gl_FragColor = encodeHDR(gl_FragColor);
#ifdef PREMULTIPLY_ALPHA
gl_FragColor.rgb *= gl_FragColor.a;
#endif
}
@end`},function(tt,Ue,Ne){"use strict";Ue.a=`@export clay.compositor.bright
uniform sampler2D texture;
uniform float threshold : 1;
uniform float scale : 1.0;
uniform vec2 textureSize: [512, 512];
varying vec2 v_Texcoord;
const vec3 lumWeight = vec3(0.2125, 0.7154, 0.0721);
@import clay.util.rgbm
vec4 median(vec4 a, vec4 b, vec4 c)
{
return a + b + c - min(min(a, b), c) - max(max(a, b), c);
}
void main()
{
vec4 texel = decodeHDR(texture2D(texture, v_Texcoord));
#ifdef ANTI_FLICKER
vec3 d = 1.0 / textureSize.xyx * vec3(1.0, 1.0, 0.0);
vec4 s1 = decodeHDR(texture2D(texture, v_Texcoord - d.xz));
vec4 s2 = decodeHDR(texture2D(texture, v_Texcoord + d.xz));
vec4 s3 = decodeHDR(texture2D(texture, v_Texcoord - d.zy));
vec4 s4 = decodeHDR(texture2D(texture, v_Texcoord + d.zy));
texel = median(median(texel, s1, s2), s3, s4);
#endif
float lum = dot(texel.rgb , lumWeight);
vec4 color;
if (lum > threshold && texel.a > 0.0)
{
color = vec4(texel.rgb * scale, texel.a * scale);
}
else
{
color = vec4(0.0);
}
gl_FragColor = encodeHDR(color);
}
@end
`},function(tt,Ue,Ne){"use strict";Ue.a=`@export clay.compositor.downsample
uniform sampler2D texture;
uniform vec2 textureSize : [512, 512];
varying vec2 v_Texcoord;
@import clay.util.rgbm
float brightness(vec3 c)
{
return max(max(c.r, c.g), c.b);
}
@import clay.util.clamp_sample
void main()
{
vec4 d = vec4(-1.0, -1.0, 1.0, 1.0) / textureSize.xyxy;
#ifdef ANTI_FLICKER
vec3 s1 = decodeHDR(clampSample(texture, v_Texcoord + d.xy)).rgb;
vec3 s2 = decodeHDR(clampSample(texture, v_Texcoord + d.zy)).rgb;
vec3 s3 = decodeHDR(clampSample(texture, v_Texcoord + d.xw)).rgb;
vec3 s4 = decodeHDR(clampSample(texture, v_Texcoord + d.zw)).rgb;
float s1w = 1.0 / (brightness(s1) + 1.0);
float s2w = 1.0 / (brightness(s2) + 1.0);
float s3w = 1.0 / (brightness(s3) + 1.0);
float s4w = 1.0 / (brightness(s4) + 1.0);
float oneDivideSum = 1.0 / (s1w + s2w + s3w + s4w);
vec4 color = vec4(
(s1 * s1w + s2 * s2w + s3 * s3w + s4 * s4w) * oneDivideSum,
1.0
);
#else
vec4 color = decodeHDR(clampSample(texture, v_Texcoord + d.xy));
color += decodeHDR(clampSample(texture, v_Texcoord + d.zy));
color += decodeHDR(clampSample(texture, v_Texcoord + d.xw));
color += decodeHDR(clampSample(texture, v_Texcoord + d.zw));
color *= 0.25;
#endif
gl_FragColor = encodeHDR(color);
}
@end`},function(tt,Ue,Ne){"use strict";Ue.a=`
@export clay.compositor.upsample
#define HIGH_QUALITY
uniform sampler2D texture;
uniform vec2 textureSize : [512, 512];
uniform float sampleScale: 0.5;
varying vec2 v_Texcoord;
@import clay.util.rgbm
@import clay.util.clamp_sample
void main()
{
#ifdef HIGH_QUALITY
vec4 d = vec4(1.0, 1.0, -1.0, 0.0) / textureSize.xyxy * sampleScale;
vec4 s;
s = decodeHDR(clampSample(texture, v_Texcoord - d.xy));
s += decodeHDR(clampSample(texture, v_Texcoord - d.wy)) * 2.0;
s += decodeHDR(clampSample(texture, v_Texcoord - d.zy));
s += decodeHDR(clampSample(texture, v_Texcoord + d.zw)) * 2.0;
s += decodeHDR(clampSample(texture, v_Texcoord )) * 4.0;
s += decodeHDR(clampSample(texture, v_Texcoord + d.xw)) * 2.0;
s += decodeHDR(clampSample(texture, v_Texcoord + d.zy));
s += decodeHDR(clampSample(texture, v_Texcoord + d.wy)) * 2.0;
s += decodeHDR(clampSample(texture, v_Texcoord + d.xy));
gl_FragColor = encodeHDR(s / 16.0);
#else
vec4 d = vec4(-1.0, -1.0, +1.0, +1.0) / textureSize.xyxy;
vec4 s;
s = decodeHDR(clampSample(texture, v_Texcoord + d.xy));
s += decodeHDR(clampSample(texture, v_Texcoord + d.zy));
s += decodeHDR(clampSample(texture, v_Texcoord + d.xw));
s += decodeHDR(clampSample(texture, v_Texcoord + d.zw));
gl_FragColor = encodeHDR(s / 4.0);
#endif
}
@end`},function(tt,Ue,Ne){"use strict";Ue.a=`@export clay.compositor.hdr.composite
uniform sampler2D texture;
#ifdef BLOOM_ENABLED
uniform sampler2D bloom;
#endif
#ifdef LENSFLARE_ENABLED
uniform sampler2D lensflare;
uniform sampler2D lensdirt;
#endif
#ifdef LUM_ENABLED
uniform sampler2D lum;
#endif
#ifdef LUT_ENABLED
uniform sampler2D lut;
#endif
#ifdef COLOR_CORRECTION
uniform float brightness : 0.0;
uniform float contrast : 1.0;
uniform float saturation : 1.0;
#endif
#ifdef VIGNETTE
uniform float vignetteDarkness: 1.0;
uniform float vignetteOffset: 1.0;
#endif
uniform float exposure : 1.0;
uniform float bloomIntensity : 0.25;
uniform float lensflareIntensity : 1;
varying vec2 v_Texcoord;
@import clay.util.srgb
vec3 ACESToneMapping(vec3 color)
{
const float A = 2.51;
const float B = 0.03;
const float C = 2.43;
const float D = 0.59;
const float E = 0.14;
return (color * (A * color + B)) / (color * (C * color + D) + E);
}
float eyeAdaption(float fLum)
{
return mix(0.2, fLum, 0.5);
}
#ifdef LUT_ENABLED
vec3 lutTransform(vec3 color) {
float blueColor = color.b * 63.0;
vec2 quad1;
quad1.y = floor(floor(blueColor) / 8.0);
quad1.x = floor(blueColor) - (quad1.y * 8.0);
vec2 quad2;
quad2.y = floor(ceil(blueColor) / 8.0);
quad2.x = ceil(blueColor) - (quad2.y * 8.0);
vec2 texPos1;
texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.r);
texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.g);
vec2 texPos2;
texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.r);
texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.g);
vec4 newColor1 = texture2D(lut, texPos1);
vec4 newColor2 = texture2D(lut, texPos2);
vec4 newColor = mix(newColor1, newColor2, fract(blueColor));
return newColor.rgb;
}
#endif
@import clay.util.rgbm
void main()
{
vec4 texel = vec4(0.0);
vec4 originalTexel = vec4(0.0);
#ifdef TEXTURE_ENABLED
texel = decodeHDR(texture2D(texture, v_Texcoord));
originalTexel = texel;
#endif
#ifdef BLOOM_ENABLED
vec4 bloomTexel = decodeHDR(texture2D(bloom, v_Texcoord));
texel.rgb += bloomTexel.rgb * bloomIntensity;
texel.a += bloomTexel.a * bloomIntensity;
#endif
#ifdef LENSFLARE_ENABLED
texel += decodeHDR(texture2D(lensflare, v_Texcoord)) * texture2D(lensdirt, v_Texcoord) * lensflareIntensity;
#endif
texel.a = min(texel.a, 1.0);
#ifdef LUM_ENABLED
float fLum = texture2D(lum, vec2(0.5, 0.5)).r;
float adaptedLumDest = 3.0 / (max(0.1, 1.0 + 10.0*eyeAdaption(fLum)));
float exposureBias = adaptedLumDest * exposure;
#else
float exposureBias = exposure;
#endif
texel.rgb *= exposureBias;
texel.rgb = ACESToneMapping(texel.rgb);
texel = linearTosRGB(texel);
#ifdef LUT_ENABLED
texel.rgb = lutTransform(clamp(texel.rgb,vec3(0.0),vec3(1.0)));
#endif
#ifdef COLOR_CORRECTION
texel.rgb = clamp(texel.rgb + vec3(brightness), 0.0, 1.0);
texel.rgb = clamp((texel.rgb - vec3(0.5))*contrast+vec3(0.5), 0.0, 1.0);
float lum = dot(texel.rgb, vec3(0.2125, 0.7154, 0.0721));
texel.rgb = mix(vec3(lum), texel.rgb, saturation);
#endif
#ifdef VIGNETTE
vec2 uv = (v_Texcoord - vec2(0.5)) * vec2(vignetteOffset);
texel.rgb = mix(texel.rgb, vec3(1.0 - vignetteDarkness), dot(uv, uv));
#endif
gl_FragColor = encodeHDR(texel);
#ifdef DEBUG
#if DEBUG == 1
gl_FragColor = encodeHDR(decodeHDR(texture2D(texture, v_Texcoord)));
#elif DEBUG == 2
gl_FragColor = encodeHDR(decodeHDR(texture2D(bloom, v_Texcoord)) * bloomIntensity);
#elif DEBUG == 3
gl_FragColor = encodeHDR(decodeHDR(texture2D(lensflare, v_Texcoord) * lensflareIntensity));
#endif
#endif
if (originalTexel.a <= 0.01 && gl_FragColor.a > 1e-5) {
gl_FragColor.a = dot(gl_FragColor.rgb, vec3(0.2125, 0.7154, 0.0721));
}
#ifdef PREMULTIPLY_ALPHA
gl_FragColor.rgb *= gl_FragColor.a;
#endif
}
@end`},function(tt,Ue,Ne){"use strict";Ue.a=`@export clay.compositor.blend
#define SHADER_NAME blend
#ifdef TEXTURE1_ENABLED
uniform sampler2D texture1;
uniform float weight1 : 1.0;
#endif
#ifdef TEXTURE2_ENABLED
uniform sampler2D texture2;
uniform float weight2 : 1.0;
#endif
#ifdef TEXTURE3_ENABLED
uniform sampler2D texture3;
uniform float weight3 : 1.0;
#endif
#ifdef TEXTURE4_ENABLED
uniform sampler2D texture4;
uniform float weight4 : 1.0;
#endif
#ifdef TEXTURE5_ENABLED
uniform sampler2D texture5;
uniform float weight5 : 1.0;
#endif
#ifdef TEXTURE6_ENABLED
uniform sampler2D texture6;
uniform float weight6 : 1.0;
#endif
varying vec2 v_Texcoord;
@import clay.util.rgbm
void main()
{
vec4 tex = vec4(0.0);
#ifdef TEXTURE1_ENABLED
tex += decodeHDR(texture2D(texture1, v_Texcoord)) * weight1;
#endif
#ifdef TEXTURE2_ENABLED
tex += decodeHDR(texture2D(texture2, v_Texcoord)) * weight2;
#endif
#ifdef TEXTURE3_ENABLED
tex += decodeHDR(texture2D(texture3, v_Texcoord)) * weight3;
#endif
#ifdef TEXTURE4_ENABLED
tex += decodeHDR(texture2D(texture4, v_Texcoord)) * weight4;
#endif
#ifdef TEXTURE5_ENABLED
tex += decodeHDR(texture2D(texture5, v_Texcoord)) * weight5;
#endif
#ifdef TEXTURE6_ENABLED
tex += decodeHDR(texture2D(texture6, v_Texcoord)) * weight6;
#endif
gl_FragColor = encodeHDR(tex);
}
@end`},function(tt,Ue,Ne){"use strict";Ue.a=`@export clay.compositor.fxaa
uniform sampler2D texture;
uniform vec4 viewport : VIEWPORT;
varying vec2 v_Texcoord;
#define FXAA_REDUCE_MIN (1.0/128.0)
#define FXAA_REDUCE_MUL (1.0/8.0)
#define FXAA_SPAN_MAX 8.0
@import clay.util.rgbm
void main()
{
vec2 resolution = 1.0 / viewport.zw;
vec3 rgbNW = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( -1.0, -1.0 ) ) * resolution ) ).xyz;
vec3 rgbNE = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( 1.0, -1.0 ) ) * resolution ) ).xyz;
vec3 rgbSW = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( -1.0, 1.0 ) ) * resolution ) ).xyz;
vec3 rgbSE = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( 1.0, 1.0 ) ) * resolution ) ).xyz;
vec4 rgbaM = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution ) );
vec3 rgbM = rgbaM.xyz;
float opacity = rgbaM.w;
vec3 luma = vec3( 0.299, 0.587, 0.114 );
float lumaNW = dot( rgbNW, luma );
float lumaNE = dot( rgbNE, luma );
float lumaSW = dot( rgbSW, luma );
float lumaSE = dot( rgbSE, luma );
float lumaM = dot( rgbM, luma );
float lumaMin = min( lumaM, min( min( lumaNW, lumaNE ), min( lumaSW, lumaSE ) ) );
float lumaMax = max( lumaM, max( max( lumaNW, lumaNE) , max( lumaSW, lumaSE ) ) );
vec2 dir;
dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));
dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE));
float dirReduce = max( ( lumaNW + lumaNE + lumaSW + lumaSE ) * ( 0.25 * FXAA_REDUCE_MUL ), FXAA_REDUCE_MIN );
float rcpDirMin = 1.0 / ( min( abs( dir.x ), abs( dir.y ) ) + dirReduce );
dir = min( vec2( FXAA_SPAN_MAX, FXAA_SPAN_MAX),
max( vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX),
dir * rcpDirMin)) * resolution;
vec3 rgbA = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * ( 1.0 / 3.0 - 0.5 ) ) ).xyz;
rgbA += decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * ( 2.0 / 3.0 - 0.5 ) ) ).xyz;
rgbA *= 0.5;
vec3 rgbB = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * -0.5 ) ).xyz;
rgbB += decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * 0.5 ) ).xyz;
rgbB *= 0.25;
rgbB += rgbA * 0.5;
float lumaB = dot( rgbB, luma );
if ( ( lumaB < lumaMin ) || ( lumaB > lumaMax ) )
{
gl_FragColor = vec4( rgbA, opacity );
}
else {
gl_FragColor = vec4( rgbB, opacity );
}
}
@end`},function(tt,Ue,Ne){"use strict";Ue.a=`@export ecgl.dof.coc
uniform sampler2D depth;
uniform float zNear: 0.1;
uniform float zFar: 2000;
uniform float focalDistance: 3;
uniform float focalRange: 1;
uniform float focalLength: 30;
uniform float fstop: 2.8;
varying vec2 v_Texcoord;
@import clay.util.encode_float
void main()
{
float z = texture2D(depth, v_Texcoord).r * 2.0 - 1.0;
float dist = 2.0 * zNear * zFar / (zFar + zNear - z * (zFar - zNear));
float aperture = focalLength / fstop;
float coc;
float uppper = focalDistance + focalRange;
float lower = focalDistance - focalRange;
if (dist <= uppper && dist >= lower) {
coc = 0.5;
}
else {
float focalAdjusted = dist > uppper ? uppper : lower;
coc = abs(aperture * (focalLength * (dist - focalAdjusted)) / (dist * (focalAdjusted - focalLength)));
coc = clamp(coc, 0.0, 2.0) / 2.00001;
if (dist < lower) {
coc = -coc;
}
coc = coc * 0.5 + 0.5;
}
gl_FragColor = encodeFloat(coc);
}
@end
@export ecgl.dof.composite
#define DEBUG 0
uniform sampler2D original;
uniform sampler2D blurred;
uniform sampler2D nearfield;
uniform sampler2D coc;
uniform sampler2D nearcoc;
varying vec2 v_Texcoord;
@import clay.util.rgbm
@import clay.util.float
void main()
{
vec4 blurredColor = decodeHDR(texture2D(blurred, v_Texcoord));
vec4 originalColor = decodeHDR(texture2D(original, v_Texcoord));
float fCoc = decodeFloat(texture2D(coc, v_Texcoord));
fCoc = abs(fCoc * 2.0 - 1.0);
float weight = smoothstep(0.0, 1.0, fCoc);
#ifdef NEARFIELD_ENABLED
vec4 nearfieldColor = decodeHDR(texture2D(nearfield, v_Texcoord));
float fNearCoc = decodeFloat(texture2D(nearcoc, v_Texcoord));
fNearCoc = abs(fNearCoc * 2.0 - 1.0);
gl_FragColor = encodeHDR(
mix(
nearfieldColor, mix(originalColor, blurredColor, weight),
pow(1.0 - fNearCoc, 4.0)
)
);
#else
gl_FragColor = encodeHDR(mix(originalColor, blurredColor, weight));
#endif
}
@end
@export ecgl.dof.diskBlur
#define POISSON_KERNEL_SIZE 16;
uniform sampler2D texture;
uniform sampler2D coc;
varying vec2 v_Texcoord;
uniform float blurRadius : 10.0;
uniform vec2 textureSize : [512.0, 512.0];
uniform vec2 poissonKernel[POISSON_KERNEL_SIZE];
uniform float percent;
float nrand(const in vec2 n) {
return fract(sin(dot(n.xy ,vec2(12.9898,78.233))) * 43758.5453);
}
@import clay.util.rgbm
@import clay.util.float
void main()
{
vec2 offset = blurRadius / textureSize;
float rnd = 6.28318 * nrand(v_Texcoord + 0.07 * percent );
float cosa = cos(rnd);
float sina = sin(rnd);
vec4 basis = vec4(cosa, -sina, sina, cosa);
#if !defined(BLUR_NEARFIELD) && !defined(BLUR_COC)
offset *= abs(decodeFloat(texture2D(coc, v_Texcoord)) * 2.0 - 1.0);
#endif
#ifdef BLUR_COC
float cocSum = 0.0;
#else
vec4 color = vec4(0.0);
#endif
float weightSum = 0.0;
for (int i = 0; i < POISSON_KERNEL_SIZE; i++) {
vec2 ofs = poissonKernel[i];
ofs = vec2(dot(ofs, basis.xy), dot(ofs, basis.zw));
vec2 uv = v_Texcoord + ofs * offset;
vec4 texel = texture2D(texture, uv);
float w = 1.0;
#ifdef BLUR_COC
float fCoc = decodeFloat(texel) * 2.0 - 1.0;
cocSum += clamp(fCoc, -1.0, 0.0) * w;
#else
texel = decodeHDR(texel);
#if !defined(BLUR_NEARFIELD)
float fCoc = decodeFloat(texture2D(coc, uv)) * 2.0 - 1.0;
w *= abs(fCoc);
#endif
color += texel * w;
#endif
weightSum += w;
}
#ifdef BLUR_COC
gl_FragColor = encodeFloat(clamp(cocSum / weightSum, -1.0, 0.0) * 0.5 + 0.5);
#else
color /= weightSum;
gl_FragColor = encodeHDR(color);
#endif
}
@end`},function(tt,Ue,Ne){"use strict";Ue.a=`@export ecgl.edge
uniform sampler2D texture;
uniform sampler2D normalTexture;
uniform sampler2D depthTexture;
uniform mat4 projectionInv;
uniform vec2 textureSize;
uniform vec4 edgeColor: [0,0,0,0.8];
varying vec2 v_Texcoord;
vec3 packColor(vec2 coord) {
float z = texture2D(depthTexture, coord).r * 2.0 - 1.0;
vec4 p = vec4(v_Texcoord * 2.0 - 1.0, z, 1.0);
vec4 p4 = projectionInv * p;
return vec3(
texture2D(normalTexture, coord).rg,
-p4.z / p4.w / 5.0
);
}
void main() {
vec2 cc = v_Texcoord;
vec3 center = packColor(cc);
float size = clamp(1.0 - (center.z - 10.0) / 100.0, 0.0, 1.0) * 0.5;
float dx = size / textureSize.x;
float dy = size / textureSize.y;
vec2 coord;
vec3 topLeft = packColor(cc+vec2(-dx, -dy));
vec3 top = packColor(cc+vec2(0.0, -dy));
vec3 topRight = packColor(cc+vec2(dx, -dy));
vec3 left = packColor(cc+vec2(-dx, 0.0));
vec3 right = packColor(cc+vec2(dx, 0.0));
vec3 bottomLeft = packColor(cc+vec2(-dx, dy));
vec3 bottom = packColor(cc+vec2(0.0, dy));
vec3 bottomRight = packColor(cc+vec2(dx, dy));
vec3 v = -topLeft-2.0*top-topRight+bottomLeft+2.0*bottom+bottomRight;
vec3 h = -bottomLeft-2.0*left-topLeft+bottomRight+2.0*right+topRight;
float edge = sqrt(dot(h, h) + dot(v, v));
edge = smoothstep(0.8, 1.0, edge);
gl_FragColor = mix(texture2D(texture, v_Texcoord), vec4(edgeColor.rgb, 1.0), edgeColor.a * edge);
}
@end`},function(tt,Ue,Ne){"use strict";var Ke=Ne(43),Be=Ne(14),we=Ne(10),Te=Ne(5),ke=Ne(7),Ie=Ne(9);function Ce(Me){for(var je=[],ye=0;ye<30;ye++)je.push([Object(Ke.a)(ye,2),Object(Ke.a)(ye,3)]);this._haltonSequence=je,this._frame=0,this._sourceTex=new Te.a,this._sourceFb=new we.a,this._sourceFb.attach(this._sourceTex),this._prevFrameTex=new Te.a,this._outputTex=new Te.a;var ie=this._blendPass=new Be.a({fragment:ke.a.source("clay.compositor.blend")});ie.material.disableTexturesAll(),ie.material.enableTexture(["texture1","texture2"]),this._blendFb=new we.a({depthBuffer:!1}),this._outputPass=new Be.a({fragment:ke.a.source("clay.compositor.output"),blendWithPrevious:!0}),this._outputPass.material.define("fragment","OUTPUT_ALPHA"),this._outputPass.material.blend=function(ae){ae.blendEquationSeparate(ae.FUNC_ADD,ae.FUNC_ADD),ae.blendFuncSeparate(ae.ONE,ae.ONE_MINUS_SRC_ALPHA,ae.ONE,ae.ONE_MINUS_SRC_ALPHA)}}Ce.prototype={constructor:Ce,jitterProjection:function(Me,je){var ye=Me.viewport,ie=ye.devicePixelRatio||Me.getDevicePixelRatio(),ae=ye.width*ie,fe=ye.height*ie,de=this._haltonSequence[this._frame%this._haltonSequence.length],ve=new Ie.a;ve.array[12]=(de[0]*2-1)/ae,ve.array[13]=(de[1]*2-1)/fe,Ie.a.mul(je.projectionMatrix,ve,je.projectionMatrix),Ie.a.invert(je.invProjectionMatrix,je.projectionMatrix)},resetFrame:function(){this._frame=0},getFrame:function(){return this._frame},getSourceFrameBuffer:function(){return this._sourceFb},getOutputTexture:function(){return this._outputTex},resize:function(Me,je){this._prevFrameTex.width=Me,this._prevFrameTex.height=je,this._outputTex.width=Me,this._outputTex.height=je,this._sourceTex.width=Me,this._sourceTex.height=je,this._prevFrameTex.dirty(),this._outputTex.dirty(),this._sourceTex.dirty()},isFinished:function(){return this._frame>=this._haltonSequence.length},render:function(Me,je,ye){var ie=this._blendPass;this._frame===0?(ie.setUniform("weight1",0),ie.setUniform("weight2",1)):(ie.setUniform("weight1",.9),ie.setUniform("weight2",.1)),ie.setUniform("texture1",this._prevFrameTex),ie.setUniform("texture2",je||this._sourceTex),this._blendFb.attach(this._outputTex),this._blendFb.bind(Me),ie.render(Me),this._blendFb.unbind(Me),ye||(this._outputPass.setUniform("texture",this._outputTex),this._outputPass.render(Me));var ae=this._prevFrameTex;this._prevFrameTex=this._outputTex,this._outputTex=ae,this._frame++},dispose:function(Me){this._sourceFb.dispose(Me),this._blendFb.dispose(Me),this._prevFrameTex.dispose(Me),this._outputTex.dispose(Me),this._sourceTex.dispose(Me),this._outputPass.dispose(Me),this._blendPass.dispose(Me)}},Ue.a=Ce},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(184),Te=Ne(185),ke=Ne(82);Be.a.registerAction({type:"geo3DChangeCamera",event:"geo3dcamerachanged",update:"series:updateCamera"},function(Ie,Ce){Ce.eachComponent({mainType:"geo3D",query:Ie},function(Me){Me.setView(Ie)})})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(38),Te=Ne(31),ke=Ne(32),Ie=Ne(26),Ce=Ne(80),Me=Be.a.extendComponentModel({type:"geo3D",layoutMode:"box",coordinateSystem:null,optionUpdated:function(){var ye=this.option;ye.regions=this.getFilledRegions(ye.regions,ye.map);var ie=Be.a.helper.completeDimensions(["value"],ye.data,{encodeDef:this.get("encode"),dimsDef:this.get("dimensions")}),ae=new Be.a.List(ie,this);ae.initData(ye.regions);var fe={};ae.each(function(de){var ve=ae.getName(de),xe=ae.getItemModel(de);fe[ve]=xe}),this._regionModelMap=fe,this._data=ae},getData:function(){return this._data},getRegionModel:function(ye){var ie=this.getData().getName(ye);return this._regionModelMap[ie]||new Be.a.Model(null,this)},getRegionPolygonCoords:function(ye){var ie=this.getData().getName(ye),ae=this.coordinateSystem.getRegion(ie);return ae?ae.geometries:[]},getFormattedLabel:function(ye,ie){var ae=this._data.getName(ye),fe=this.getRegionModel(ae),de=fe.get(ie==="normal"?["label","formatter"]:["emphasis","label","formatter"]);de==null&&(de=fe.get(["label","formatter"]));var ve={name:ae};if(typeof de=="function")return ve.status=ie,de(ve);if(typeof de=="string"){var xe=ve.seriesName;return de.replace("{a}",xe!=null?xe:"")}else return ae},defaultOption:{regions:[]}});Be.a.util.merge(Me.prototype,Ce.a),Be.a.util.merge(Me.prototype,we.a),Be.a.util.merge(Me.prototype,Te.a),Be.a.util.merge(Me.prototype,ke.a),Be.a.util.merge(Me.prototype,Ie.a);var je=Me},function(tt,Ue,Ne){"use strict";var Ke=Ne(59),Be=Ne(0),we=Ne.n(Be),Te=Ne(2),ke=Ne(39),Ie=Ne(34),Ce=we.a.extendComponentView({type:"geo3D",__ecgl__:!0,init:function(Me,je){this._geo3DBuilder=new Ke.a(je),this.groupGL=new Te.a.Node,this._lightRoot=new Te.a.Node,this._sceneHelper=new Ie.a(this._lightRoot),this._sceneHelper.initLight(this._lightRoot),this._control=new ke.a({zr:je.getZr()}),this._control.init()},render:function(Me,je,ye){this.groupGL.add(this._geo3DBuilder.rootNode);var ie=Me.coordinateSystem;if(!(!ie||!ie.viewGL)){ie.viewGL.add(this._lightRoot),Me.get("show")?ie.viewGL.add(this.groupGL):ie.viewGL.remove(this.groupGL);var ae=this._control;ae.setViewGL(ie.viewGL);var fe=Me.getModel("viewControl");ae.setFromViewControlModel(fe,0),this._sceneHelper.setScene(ie.viewGL.scene),this._sceneHelper.updateLight(Me),ie.viewGL.setPostEffect(Me.getModel("postEffect"),ye),ie.viewGL.setTemporalSuperSampling(Me.getModel("temporalSuperSampling")),this._geo3DBuilder.update(Me,je,ye,0,Me.getData().count());var de=ie.viewGL.isLinearSpace()?"define":"undefine";this._geo3DBuilder.rootNode.traverse(function(ve){ve.material&&ve.material[de]("fragment","SRGB_DECODE")}),ae.off("update"),ae.on("update",function(){ye.dispatchAction({type:"geo3DChangeCamera",alpha:ae.getAlpha(),beta:ae.getBeta(),distance:ae.getDistance(),center:ae.getCenter(),from:this.uid,geo3DId:Me.id})})}},afterRender:function(Me,je,ye,ie){var ae=ie.renderer;this._sceneHelper.updateAmbientCubemap(ae,Me,ye),this._sceneHelper.updateSkybox(ae,Me,ye)},dispose:function(){this._control.dispose()}})},function(tt,Ue,Ne){"use strict";Ue.a=Ke;function Ke(vt,Lt,St){St=St||2;var xt=Lt&&Lt.length,ct=xt?Lt[0]*St:vt.length,Dt=Be(vt,0,ct,St,!0),Xt=[];if(!Dt)return Xt;var kt,Rt,Gt,ln,Rn,jn,er;if(xt&&(Dt=je(vt,Lt,Dt,St)),vt.length>80*St){kt=Gt=vt[0],Rt=ln=vt[1];for(var an=St;an<ct;an+=St)Rn=vt[an],jn=vt[an+1],Rn<kt&&(kt=Rn),jn<Rt&&(Rt=jn),Rn>Gt&&(Gt=Rn),jn>ln&&(ln=jn);er=Math.max(Gt-kt,ln-Rt)}return Te(Dt,Xt,St,kt,Rt,er),Xt}function Be(vt,Lt,St,xt,ct){var Dt,Xt;if(ct===Et(vt,Lt,St,xt)>0)for(Dt=Lt;Dt<St;Dt+=xt)Xt=gt(Dt,vt[Dt],vt[Dt+1],Xt);else for(Dt=St-xt;Dt>=Lt;Dt-=xt)Xt=gt(Dt,vt[Dt],vt[Dt+1],Xt);return Xt&&Le(Xt,Xt.next)&&(lt(Xt),Xt=Xt.next),Xt}function we(vt,Lt){if(!vt)return vt;Lt||(Lt=vt);var St=vt,xt;do if(xt=!1,!St.steiner&&(Le(St,St.next)||Se(St.prev,St,St.next)===0)){if(lt(St),St=Lt=St.prev,St===St.next)return null;xt=!0}else St=St.next;while(xt||St!==Lt);return Lt}function Te(vt,Lt,St,xt,ct,Dt,Xt){if(vt){!Xt&&Dt&&fe(vt,xt,ct,Dt);for(var kt=vt,Rt,Gt;vt.prev!==vt.next;){if(Rt=vt.prev,Gt=vt.next,Dt?Ie(vt,xt,ct,Dt):ke(vt)){Lt.push(Rt.i/St),Lt.push(vt.i/St),Lt.push(Gt.i/St),lt(vt),vt=Gt.next,kt=Gt.next;continue}if(vt=Gt,vt===kt){Xt?Xt===1?(vt=Ce(vt,Lt,St),Te(vt,Lt,St,xt,ct,Dt,2)):Xt===2&&Me(vt,Lt,St,xt,ct,Dt):Te(we(vt),Lt,St,xt,ct,Dt,1);break}}}}function ke(vt){var Lt=vt.prev,St=vt,xt=vt.next;if(Se(Lt,St,xt)>=0)return!1;for(var ct=vt.next.next;ct!==vt.prev;){if(ce(Lt.x,Lt.y,St.x,St.y,xt.x,xt.y,ct.x,ct.y)&&Se(ct.prev,ct,ct.next)>=0)return!1;ct=ct.next}return!0}function Ie(vt,Lt,St,xt){var ct=vt.prev,Dt=vt,Xt=vt.next;if(Se(ct,Dt,Xt)>=0)return!1;for(var kt=ct.x<Dt.x?ct.x<Xt.x?ct.x:Xt.x:Dt.x<Xt.x?Dt.x:Xt.x,Rt=ct.y<Dt.y?ct.y<Xt.y?ct.y:Xt.y:Dt.y<Xt.y?Dt.y:Xt.y,Gt=ct.x>Dt.x?ct.x>Xt.x?ct.x:Xt.x:Dt.x>Xt.x?Dt.x:Xt.x,ln=ct.y>Dt.y?ct.y>Xt.y?ct.y:Xt.y:Dt.y>Xt.y?Dt.y:Xt.y,Rn=ve(kt,Rt,Lt,St,xt),jn=ve(Gt,ln,Lt,St,xt),er=vt.nextZ;er&&er.z<=jn;){if(er!==vt.prev&&er!==vt.next&&ce(ct.x,ct.y,Dt.x,Dt.y,Xt.x,Xt.y,er.x,er.y)&&Se(er.prev,er,er.next)>=0)return!1;er=er.nextZ}for(er=vt.prevZ;er&&er.z>=Rn;){if(er!==vt.prev&&er!==vt.next&&ce(ct.x,ct.y,Dt.x,Dt.y,Xt.x,Xt.y,er.x,er.y)&&Se(er.prev,er,er.next)>=0)return!1;er=er.prevZ}return!0}function Ce(vt,Lt,St){var xt=vt;do{var ct=xt.prev,Dt=xt.next.next;!Le(ct,Dt)&&ze(ct,xt,xt.next,Dt)&&Ve(ct,Dt)&&Ve(Dt,ct)&&(Lt.push(ct.i/St),Lt.push(xt.i/St),Lt.push(Dt.i/St),lt(xt),lt(xt.next),xt=vt=Dt),xt=xt.next}while(xt!==vt);return xt}function Me(vt,Lt,St,xt,ct,Dt){var Xt=vt;do{for(var kt=Xt.next.next;kt!==Xt.prev;){if(Xt.i!==kt.i&&pe(Xt,kt)){var Rt=$e(Xt,kt);Xt=we(Xt,Xt.next),Rt=we(Rt,Rt.next),Te(Xt,Lt,St,xt,ct,Dt),Te(Rt,Lt,St,xt,ct,Dt);return}kt=kt.next}Xt=Xt.next}while(Xt!==vt)}function je(vt,Lt,St,xt){var ct=[],Dt,Xt,kt,Rt,Gt;for(Dt=0,Xt=Lt.length;Dt<Xt;Dt++)kt=Lt[Dt]*xt,Rt=Dt<Xt-1?Lt[Dt+1]*xt:vt.length,Gt=Be(vt,kt,Rt,xt,!1),Gt===Gt.next&&(Gt.steiner=!0),ct.push(xe(Gt));for(ct.sort(ye),Dt=0;Dt<ct.length;Dt++)ie(ct[Dt],St),St=we(St,St.next);return St}function ye(vt,Lt){return vt.x-Lt.x}function ie(vt,Lt){if(Lt=ae(vt,Lt),Lt){var St=$e(Lt,vt);we(St,St.next)}}function ae(vt,Lt){var St=Lt,xt=vt.x,ct=vt.y,Dt=-1/0,Xt;do{if(ct<=St.y&&ct>=St.next.y&&St.next.y!==St.y){var kt=St.x+(ct-St.y)*(St.next.x-St.x)/(St.next.y-St.y);if(kt<=xt&&kt>Dt){if(Dt=kt,kt===xt){if(ct===St.y)return St;if(ct===St.next.y)return St.next}Xt=St.x<St.next.x?St:St.next}}St=St.next}while(St!==Lt);if(!Xt)return null;if(xt===Dt)return Xt.prev;var Rt=Xt,Gt=Xt.x,ln=Xt.y,Rn=1/0,jn;for(St=Xt.next;St!==Rt;)xt>=St.x&&St.x>=Gt&&xt!==St.x&&ce(ct<ln?xt:Dt,ct,Gt,ln,ct<ln?Dt:xt,ct,St.x,St.y)&&(jn=Math.abs(ct-St.y)/(xt-St.x),(jn<Rn||jn===Rn&&St.x>Xt.x)&&Ve(St,vt)&&(Xt=St,Rn=jn)),St=St.next;return Xt}function fe(vt,Lt,St,xt){var ct=vt;do ct.z===null&&(ct.z=ve(ct.x,ct.y,Lt,St,xt)),ct.prevZ=ct.prev,ct.nextZ=ct.next,ct=ct.next;while(ct!==vt);ct.prevZ.nextZ=null,ct.prevZ=null,de(ct)}function de(vt){var Lt,St,xt,ct,Dt,Xt,kt,Rt,Gt=1;do{for(St=vt,vt=null,Dt=null,Xt=0;St;){for(Xt++,xt=St,kt=0,Lt=0;Lt<Gt&&(kt++,xt=xt.nextZ,!!xt);Lt++);for(Rt=Gt;kt>0||Rt>0&&xt;)kt!==0&&(Rt===0||!xt||St.z<=xt.z)?(ct=St,St=St.nextZ,kt--):(ct=xt,xt=xt.nextZ,Rt--),Dt?Dt.nextZ=ct:vt=ct,ct.prevZ=Dt,Dt=ct;St=xt}Dt.nextZ=null,Gt*=2}while(Xt>1);return vt}function ve(vt,Lt,St,xt,ct){return vt=32767*(vt-St)/ct,Lt=32767*(Lt-xt)/ct,vt=(vt|vt<<8)&16711935,vt=(vt|vt<<4)&252645135,vt=(vt|vt<<2)&858993459,vt=(vt|vt<<1)&1431655765,Lt=(Lt|Lt<<8)&16711935,Lt=(Lt|Lt<<4)&252645135,Lt=(Lt|Lt<<2)&858993459,Lt=(Lt|Lt<<1)&1431655765,vt|Lt<<1}function xe(vt){var Lt=vt,St=vt;do Lt.x<St.x&&(St=Lt),Lt=Lt.next;while(Lt!==vt);return St}function ce(vt,Lt,St,xt,ct,Dt,Xt,kt){return(ct-Xt)*(Lt-kt)-(vt-Xt)*(Dt-kt)>=0&&(vt-Xt)*(xt-kt)-(St-Xt)*(Lt-kt)>=0&&(St-Xt)*(Dt-kt)-(ct-Xt)*(xt-kt)>=0}function pe(vt,Lt){return vt.next.i!==Lt.i&&vt.prev.i!==Lt.i&&!Ze(vt,Lt)&&Ve(vt,Lt)&&Ve(Lt,vt)&&Qe(vt,Lt)}function Se(vt,Lt,St){return(Lt.y-vt.y)*(St.x-Lt.x)-(Lt.x-vt.x)*(St.y-Lt.y)}function Le(vt,Lt){return vt.x===Lt.x&&vt.y===Lt.y}function ze(vt,Lt,St,xt){return Le(vt,Lt)&&Le(St,xt)||Le(vt,xt)&&Le(St,Lt)?!0:Se(vt,Lt,St)>0!=Se(vt,Lt,xt)>0&&Se(St,xt,vt)>0!=Se(St,xt,Lt)>0}function Ze(vt,Lt){var St=vt;do{if(St.i!==vt.i&&St.next.i!==vt.i&&St.i!==Lt.i&&St.next.i!==Lt.i&&ze(St,St.next,vt,Lt))return!0;St=St.next}while(St!==vt);return!1}function Ve(vt,Lt){return Se(vt.prev,vt,vt.next)<0?Se(vt,Lt,vt.next)>=0&&Se(vt,vt.prev,Lt)>=0:Se(vt,Lt,vt.prev)<0||Se(vt,vt.next,Lt)<0}function Qe(vt,Lt){var St=vt,xt=!1,ct=(vt.x+Lt.x)/2,Dt=(vt.y+Lt.y)/2;do St.y>Dt!=St.next.y>Dt&&St.next.y!==St.y&&ct<(St.next.x-St.x)*(Dt-St.y)/(St.next.y-St.y)+St.x&&(xt=!xt),St=St.next;while(St!==vt);return xt}function $e(vt,Lt){var St=new At(vt.i,vt.x,vt.y),xt=new At(Lt.i,Lt.x,Lt.y),ct=vt.next,Dt=Lt.prev;return vt.next=Lt,Lt.prev=vt,St.next=ct,ct.prev=St,xt.next=St,St.prev=xt,Dt.next=xt,xt.prev=Dt,xt}function gt(vt,Lt,St,xt){var ct=new At(vt,Lt,St);return xt?(ct.next=xt.next,ct.prev=xt,xt.next.prev=ct,xt.next=ct):(ct.prev=ct,ct.next=ct),ct}function lt(vt){vt.next.prev=vt.prev,vt.prev.next=vt.next,vt.prevZ&&(vt.prevZ.nextZ=vt.nextZ),vt.nextZ&&(vt.nextZ.prevZ=vt.prevZ)}function At(vt,Lt,St){this.i=vt,this.x=Lt,this.y=St,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}Ke.deviation=function(vt,Lt,St,xt){var ct=Lt&&Lt.length,Dt=ct?Lt[0]*St:vt.length,Xt=Math.abs(Et(vt,0,Dt,St));if(ct)for(var kt=0,Rt=Lt.length;kt<Rt;kt++){var Gt=Lt[kt]*St,ln=kt<Rt-1?Lt[kt+1]*St:vt.length;Xt-=Math.abs(Et(vt,Gt,ln,St))}var Rn=0;for(kt=0;kt<xt.length;kt+=3){var jn=xt[kt]*St,er=xt[kt+1]*St,an=xt[kt+2]*St;Rn+=Math.abs((vt[jn]-vt[an])*(vt[er+1]-vt[jn+1])-(vt[jn]-vt[er])*(vt[an+1]-vt[jn+1]))}return Xt===0&&Rn===0?0:Math.abs((Rn-Xt)/Xt)};function Et(vt,Lt,St,xt){for(var ct=0,Dt=Lt,Xt=St-xt;Dt<St;Dt+=xt)ct+=(vt[Xt]-vt[Dt])*(vt[Dt+1]+vt[Xt+1]),Xt=Dt;return ct}},function(tt,Ue,Ne){var Ke=Ne(12),Be={\u5357\u6D77\u8BF8\u5C9B:[32,80],\u5E7F\u4E1C:[0,-10],\u9999\u6E2F:[10,5],\u6FB3\u95E8:[-10,10],\u5929\u6D25:[5,5]};function we(Te){Ke.each(Te.regions,function(ke){var Ie=Be[ke.name];if(Ie){var Ce=ke.center;Ce[0]+=Ie[0]/10.5,Ce[1]+=-Ie[1]/(10.5/.75)}})}tt.exports=we},function(tt,Ue,Ne){var Ke=Ne(12),Be={Russia:[100,60],"United States":[-99,38],"United States of America":[-99,38]};function we(Te){Ke.each(Te.regions,function(ke){var Ie=Be[ke.name];if(Ie){var Ce=ke.center;Ce[0]=Ie[0],Ce[1]=Ie[1]}})}tt.exports=we},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(190),Te=Ne(191),ke=Ne(193);Be.a.registerAction({type:"globeChangeCamera",event:"globecamerachanged",update:"series:updateCamera"},function(Ie,Ce){Ce.eachComponent({mainType:"globe",query:Ie},function(Me){Me.setView(Ie)})}),Be.a.registerAction({type:"globeUpdateDisplacment",event:"globedisplacementupdated",update:"update"},function(Ie,Ce){})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(38),Te=Ne(31),ke=Ne(32),Ie=Ne(26);function Ce(ye,ie){ye.id=ye.id||ye.name||ie+""}var Me=Be.a.extendComponentModel({type:"globe",layoutMode:"box",coordinateSystem:null,init:function(){Me.superApply(this,"init",arguments),Be.a.util.each(this.option.layers,function(ye,ie){Be.a.util.merge(ye,this.defaultLayerOption),Ce(ye,ie)},this)},mergeOption:function(ye){var ie=this.option.layers;this.option.layers=null,Me.superApply(this,"mergeOption",arguments);function ae(xe){return Be.a.util.reduce(xe,function(ce,pe,Se){return Ce(pe,Se),ce[pe.id]=pe,ce},{})}if(ie&&ie.length){var fe=ae(ye.layers),de=ae(ie);for(var ve in fe)de[ve]?Be.a.util.merge(de[ve],fe[ve],!0):ie.push(ye.layers[ve]);this.option.layers=ie}Be.a.util.each(this.option.layers,function(xe){Be.a.util.merge(xe,this.defaultLayerOption)},this)},optionUpdated:function(){this.updateDisplacementHash()},defaultLayerOption:{show:!0,type:"overlay"},defaultOption:{show:!0,zlevel:-10,left:0,top:0,width:"100%",height:"100%",environment:"auto",baseColor:"#fff",baseTexture:"",heightTexture:"",displacementTexture:"",displacementScale:0,displacementQuality:"medium",globeRadius:100,globeOuterRadius:150,shading:"lambert",light:{main:{time:""}},viewControl:{autoRotate:!0,panSensitivity:0,targetCoord:null},layers:[]},setDisplacementData:function(ye,ie,ae){this.displacementData=ye,this.displacementWidth=ie,this.displacementHeight=ae},getDisplacementTexture:function(){return this.get("displacementTexture")||this.get("heightTexture")},getDisplacemenScale:function(){var ye=this.getDisplacementTexture(),ie=this.get("displacementScale");return(!ye||ye==="none")&&(ie=0),ie},hasDisplacement:function(){return this.getDisplacemenScale()>0},_displacementChanged:!0,_displacementScale:0,updateDisplacementHash:function(){var ye=this.getDisplacementTexture(),ie=this.getDisplacemenScale();this._displacementChanged=this._displacementTexture!==ye||this._displacementScale!==ie,this._displacementTexture=ye,this._displacementScale=ie},isDisplacementChanged:function(){return this._displacementChanged}});Be.a.util.merge(Me.prototype,we.a),Be.a.util.merge(Me.prototype,Te.a),Be.a.util.merge(Me.prototype,ke.a),Be.a.util.merge(Me.prototype,Ie.a);var je=Me},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(2),Te=Ne(39),ke=Ne(34),Ie=Ne(192),Ce=Ne(3),Me=Be.a.extendComponentView({type:"globe",__ecgl__:!0,_displacementScale:0,init:function(je,ye){this.groupGL=new we.a.Node,this._sphereGeometry=new we.a.SphereGeometry({widthSegments:200,heightSegments:100,dynamic:!0}),this._overlayGeometry=new we.a.SphereGeometry({widthSegments:80,heightSegments:40}),this._planeGeometry=new we.a.PlaneGeometry,this._earthMesh=new we.a.Mesh({renderNormal:!0}),this._lightRoot=new we.a.Node,this._sceneHelper=new ke.a,this._sceneHelper.initLight(this._lightRoot),this.groupGL.add(this._earthMesh),this._control=new Te.a({zr:ye.getZr()}),this._control.init(),this._layerMeshes={}},render:function(je,ye,ie){var ae=je.coordinateSystem,fe=je.get("shading");ae.viewGL.add(this._lightRoot),je.get("show")?ae.viewGL.add(this.groupGL):ae.viewGL.remove(this.groupGL),this._sceneHelper.setScene(ae.viewGL.scene),ae.viewGL.setPostEffect(je.getModel("postEffect"),ie),ae.viewGL.setTemporalSuperSampling(je.getModel("temporalSuperSampling"));var de=this._earthMesh;de.geometry=this._sphereGeometry;var ve="ecgl."+fe;(!de.material||de.material.shader.name!==ve)&&(de.material=we.a.createMaterial(ve)),we.a.setMaterialFromModel(fe,de.material,je,ie),["roughnessMap","metalnessMap","detailMap","normalMap"].forEach(function(Se){var Le=de.material.get(Se);Le&&(Le.flipY=!1)}),de.material.set("color",we.a.parseColor(je.get("baseColor")));var xe=ae.radius*.99;de.scale.set(xe,xe,xe);var ce=de.material.setTextureImage("diffuseMap",je.get("baseTexture"),ie,{flipY:!1,anisotropic:8});ce&&ce.surface&&ce.surface.attachToMesh(de);var pe=de.material.setTextureImage("bumpMap",je.get("heightTexture"),ie,{flipY:!1,anisotropic:8});pe&&pe.surface&&pe.surface.attachToMesh(de),de.material[je.get("postEffect.enable")?"define":"undefine"]("fragment","SRGB_DECODE"),this._updateLight(je,ie),this._displaceVertices(je,ie),this._updateViewControl(je,ie),this._updateLayers(je,ie)},afterRender:function(je,ye,ie,ae){var fe=ae.renderer;this._sceneHelper.updateAmbientCubemap(fe,je,ie),this._sceneHelper.updateSkybox(fe,je,ie)},_updateLayers:function(je,ye){var ie=je.coordinateSystem,ae=je.get("layers"),fe=ie.radius,de=[],ve=[],xe=[],ce=[];Be.a.util.each(ae,function(Ze){var Ve=new Be.a.Model(Ze),Qe=Ve.get("type"),$e=we.a.loadTexture(Ve.get("texture"),ye,{flipY:!1,anisotropic:8});if($e.surface&&$e.surface.attachToMesh(this._earthMesh),Qe==="blend"){var gt=Ve.get("blendTo"),lt=Ce.a.firstNotNull(Ve.get("intensity"),1);gt==="emission"?(xe.push($e),ce.push(lt)):(de.push($e),ve.push(lt))}else{var At=Ve.get("id"),Et=this._layerMeshes[At];Et||(Et=this._layerMeshes[At]=new we.a.Mesh({geometry:this._overlayGeometry,castShadow:!1,ignorePicking:!0}));var vt=Ve.get("shading");vt==="lambert"?(Et.material=Et.__lambertMaterial||new we.a.Material({autoUpdateTextureStatus:!1,shader:we.a.createShader("ecgl.lambert"),transparent:!0,depthMask:!1}),Et.__lambertMaterial=Et.material):(Et.material=Et.__colorMaterial||new we.a.Material({autoUpdateTextureStatus:!1,shader:we.a.createShader("ecgl.color"),transparent:!0,depthMask:!1}),Et.__colorMaterial=Et.material),Et.material.enableTexture("diffuseMap");var Lt=Ve.get("distance"),St=fe+(Lt==null?ie.radius/100:Lt);Et.scale.set(St,St,St),fe=St;var xt=this._blankTexture||(this._blankTexture=we.a.createBlankTexture("rgba(255, 255, 255, 0)"));Et.material.set("diffuseMap",xt),we.a.loadTexture(Ve.get("texture"),ye,{flipY:!1,anisotropic:8},function(ct){ct.surface&&ct.surface.attachToMesh(Et),Et.material.set("diffuseMap",ct),ye.getZr().refresh()}),Ve.get("show")?this.groupGL.add(Et):this.groupGL.remove(Et)}},this);var pe=this._earthMesh.material;pe.define("fragment","LAYER_DIFFUSEMAP_COUNT",de.length),pe.define("fragment","LAYER_EMISSIVEMAP_COUNT",xe.length),pe.set("layerDiffuseMap",de),pe.set("layerDiffuseIntensity",ve),pe.set("layerEmissiveMap",xe),pe.set("layerEmissionIntensity",ce);var Se=je.getModel("debug.wireframe");if(Se.get("show")){pe.define("both","WIREFRAME_TRIANGLE");var Le=we.a.parseColor(Se.get("lineStyle.color")||"rgba(0,0,0,0.5)"),ze=Ce.a.firstNotNull(Se.get("lineStyle.width"),1);pe.set("wireframeLineWidth",ze),pe.set("wireframeLineColor",Le)}else pe.undefine("both","WIREFRAME_TRIANGLE")},_updateViewControl:function(je,ye){var ie=je.coordinateSystem,ae=je.getModel("viewControl"),fe=ie.viewGL.camera,de=this;function ve(){return{type:"globeChangeCamera",alpha:xe.getAlpha(),beta:xe.getBeta(),distance:xe.getDistance()-ie.radius,center:xe.getCenter(),from:de.uid,globeId:je.id}}var xe=this._control;xe.setViewGL(ie.viewGL);var ce=ae.get("targetCoord"),pe,Se;ce!=null&&(Se=ce[0]+90,pe=ce[1]),xe.setFromViewControlModel(ae,{baseDistance:ie.radius,alpha:pe,beta:Se}),xe.off("update"),xe.on("update",function(){ye.dispatchAction(ve())})},_displaceVertices:function(je,ye){var ie=je.get("displacementQuality"),ae=je.get("debug.wireframe.show"),fe=je.coordinateSystem;if(!(!je.isDisplacementChanged()&&ie===this._displacementQuality&&ae===this._showDebugWireframe)){this._displacementQuality=ie,this._showDebugWireframe=ae;var de=this._sphereGeometry,ve={low:100,medium:200,high:400,ultra:800}[ie]||200,xe=ve/2;(de.widthSegments!==ve||ae)&&(de.widthSegments=ve,de.heightSegments=xe,de.build()),this._doDisplaceVertices(de,fe),ae&&de.generateBarycentric()}},_doDisplaceVertices:function(je,ye){var ie=je.attributes.position.value,ae=je.attributes.texcoord0.value,fe=je.__originalPosition;(!fe||fe.length!==ie.length)&&(fe=new Float32Array(ie.length),fe.set(ie),je.__originalPosition=fe);for(var de=ye.displacementWidth,ve=ye.displacementHeight,xe=ye.displacementData,ce=0;ce<je.vertexCount;ce++){var pe=ce*3,Se=ce*2,Le=fe[pe+1],ze=fe[pe+2],Ze=fe[pe+3],Ve=ae[Se++],Qe=ae[Se++],$e=Math.round(Ve*(de-1)),gt=Math.round(Qe*(ve-1)),lt=gt*de+$e,At=xe?xe[lt]:0;ie[pe+1]=Le+Le*At,ie[pe+2]=ze+ze*At,ie[pe+3]=Ze+Ze*At}je.generateVertexNormals(),je.dirty(),je.updateBoundingBox()},_updateLight:function(je,ye){var ie=this._earthMesh;this._sceneHelper.updateLight(je);var ae=this._sceneHelper.mainLight,fe=je.get("light.main.time")||new Date,de=Ie.a.getPosition(Be.a.number.parseDate(fe),0,0),ve=Math.cos(de.altitude);ae.position.y=-ve*Math.cos(de.azimuth),ae.position.x=Math.sin(de.altitude),ae.position.z=ve*Math.sin(de.azimuth),ae.lookAt(ie.getWorldPosition())},dispose:function(je,ye){this.groupGL.removeAll(),this._control.dispose()}})},function(tt,Ue,Ne){"use strict";var Ke=Math.PI,Be=Math.sin,we=Math.cos,Te=Math.tan,ke=Math.asin,Ie=Math.atan2,Ce=Ke/180,Me=1e3*60*60*24,je=2440588,ye=2451545;function ie(Ve){return Ve.valueOf()/Me-.5+je}function ae(Ve){return ie(Ve)-ye}var fe=Ce*23.4397;function de(Ve,Qe){return Ie(Be(Ve)*we(fe)-Te(Qe)*Be(fe),we(Ve))}function ve(Ve,Qe){return ke(Be(Qe)*we(fe)+we(Qe)*Be(fe)*Be(Ve))}function xe(Ve,Qe,$e){return Ie(Be(Ve),we(Ve)*Be(Qe)-Te($e)*we(Qe))}function ce(Ve,Qe,$e){return ke(Be(Qe)*Be($e)+we(Qe)*we($e)*we(Ve))}function pe(Ve,Qe){return Ce*(280.16+360.9856235*Ve)-Qe}function Se(Ve){return Ce*(357.5291+.98560028*Ve)}function Le(Ve){var Qe=Ce*(1.9148*Be(Ve)+.02*Be(2*Ve)+3e-4*Be(3*Ve)),$e=Ce*102.9372;return Ve+Qe+$e+Ke}function ze(Ve){var Qe=Se(Ve),$e=Le(Qe);return{dec:ve($e,0),ra:de($e,0)}}var Ze={};Ze.getPosition=function(Ve,Qe,$e){var gt=Ce*-$e,lt=Ce*Qe,At=ae(Ve),Et=ze(At),vt=pe(At,gt)-Et.ra;return{azimuth:xe(vt,lt,Et.dec),altitude:ce(vt,lt,Et.dec)}},Ue.a=Ze},function(tt,Ue,Ne){"use strict";var Ke=Ne(194),Be=Ne(0),we=Ne.n(Be),Te=Ne(41),ke=Ne.n(Te),Ie=Ne(20),Ce=Ne(3),Me=Ne(2);function je(de,ve){var xe=document.createElement("canvas"),ce=xe.getContext("2d"),pe=de.width,Se=de.height;xe.width=pe,xe.height=Se,ce.drawImage(de,0,0,pe,Se);for(var Le=ce.getImageData(0,0,pe,Se).data,ze=new Float32Array(Le.length/4),Ze=0;Ze<Le.length/4;Ze++){var Ve=Le[Ze*4];ze[Ze]=Ve/255*ve}return{data:ze,width:pe,height:Se}}function ye(de,ve){var xe=de.getBoxLayoutParams(),ce=ke.a.getLayoutRect(xe,{width:ve.getWidth(),height:ve.getHeight()});ce.y=ve.getHeight()-ce.y-ce.height,this.viewGL.setViewport(ce.x,ce.y,ce.width,ce.height,ve.getDevicePixelRatio()),this.radius=de.get("globeRadius");var pe=de.get("globeOuterRadius");this.altitudeAxis&&this.altitudeAxis.setExtent(0,pe-this.radius)}function ie(de,ve){var xe=[1/0,-1/0];if(de.eachSeries(function(pe){if(pe.coordinateSystem===this){var Se=pe.getData(),Le=pe.coordDimToDataDim("alt")[0];if(Le){var ze=Se.getDataExtent(Le,!0);xe[0]=Math.min(xe[0],ze[0]),xe[1]=Math.max(xe[1],ze[1])}}},this),xe&&isFinite(xe[1]-xe[0])){var ce=we.a.helper.createScale(xe,{type:"value",min:"dataMin",max:"dataMax"});this.altitudeAxis=new we.a.Axis("altitude",ce),this.resize(this.model,ve)}}var ae={dimensions:Ke.a.prototype.dimensions,create:function(de,ve){var xe=[];return de.eachComponent("globe",function(ce){ce.__viewGL=ce.__viewGL||new Ie.a;var pe=new Ke.a;pe.viewGL=ce.__viewGL,ce.coordinateSystem=pe,pe.model=ce,xe.push(pe),pe.resize=ye,pe.resize(ce,ve),pe.update=ie}),de.eachSeries(function(ce){if(ce.get("coordinateSystem")==="globe"){var pe=ce.getReferringComponents("globe")[0];if(pe||(pe=de.getComponent("globe")),!pe)throw new Error('globe "'+Ce.a.firstNotNull(ce.get("globe3DIndex"),ce.get("globe3DId"),0)+'" not found');var Se=pe.coordinateSystem;ce.coordinateSystem=Se}}),de.eachComponent("globe",function(ce,pe){var Se=ce.coordinateSystem,Le=ce.getDisplacementTexture(),ze=ce.getDisplacemenScale();if(ce.isDisplacementChanged()){if(ce.hasDisplacement()){var Ze=!0;Me.a.loadTexture(Le,ve,function(Ve){var Qe=Ve.image,$e=je(Qe,ze);ce.setDisplacementData($e.data,$e.width,$e.height),Ze||ve.dispatchAction({type:"globeUpdateDisplacment"})}),Ze=!1}else Se.setDisplacementData(null,0,0);Se.setDisplacementData(ce.displacementData,ce.displacementWidth,ce.displacementHeight)}}),xe}};we.a.registerCoordinateSystem("globe",ae);var fe=ae},function(tt,Ue,Ne){"use strict";var Ke=Ne(1),Be=Ne.n(Ke),we=Be.a.vec3;function Te(ke){this.radius=ke,this.viewGL=null,this.altitudeAxis,this.displacementData=null,this.displacementWidth,this.displacementHeight}Te.prototype={constructor:Te,dimensions:["lng","lat","alt"],type:"globe",containPoint:function(){},setDisplacementData:function(ke,Ie,Ce){this.displacementData=ke,this.displacementWidth=Ie,this.displacementHeight=Ce},_getDisplacementScale:function(ke,Ie){var Ce=(ke+180)/360*(this.displacementWidth-1),Me=(90-Ie)/180*(this.displacementHeight-1),je=Math.round(Ce)+Math.round(Me)*this.displacementWidth;return this.displacementData[je]},dataToPoint:function(ke,Ie){var Ce=ke[0],Me=ke[1],je=ke[2]||0,ye=this.radius;this.displacementData&&(ye*=1+this._getDisplacementScale(Ce,Me)),this.altitudeAxis&&(ye+=this.altitudeAxis.dataToCoord(je)),Ce=Ce*Math.PI/180,Me=Me*Math.PI/180;var ie=Math.cos(Me)*ye;return Ie=Ie||[],Ie[0]=-ie*Math.cos(Ce+Math.PI),Ie[1]=Math.sin(Me)*ye,Ie[2]=ie*Math.sin(Ce+Math.PI),Ie},pointToData:function(ke,Ie){var Ce=ke[0],Me=ke[1],je=ke[2],ye=we.len(ke);Ce/=ye,Me/=ye,je/=ye;var ie=Math.asin(Me),ae=Math.atan2(je,-Ce);ae<0&&(ae=Math.PI*2+ae);var fe=ie*180/Math.PI,de=ae*180/Math.PI-180;return Ie=Ie||[],Ie[0]=de,Ie[1]=fe,Ie[2]=ye-this.radius,this.altitudeAxis&&(Ie[2]=this.altitudeAxis.coordToData(Ie[2])),Ie}},Ue.a=Te},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(196),Te=Ne(198),ke=Ne(199);Be.a.registerAction({type:"mapbox3DChangeCamera",event:"mapbox3dcamerachanged",update:"mapbox3D:updateCamera"},function(Ie,Ce){Ce.eachComponent({mainType:"mapbox3D",query:Ie},function(Me){Me.setMapboxCameraOption(Ie)})})},function(tt,Ue,Ne){"use strict";var Ke=Ne(197),Be=Ne(0),we=Ne.n(Be),Te=Ne(3),ke=Ne(2),Ie=Ne(20);function Ce(ie,ae){var fe=ae.getWidth(),de=ae.getHeight(),ve=ae.getDevicePixelRatio();this.viewGL.setViewport(0,0,fe,de,ve),this.width=fe,this.height=de,this.altitudeScale=ie.get("altitudeScale"),this.boxHeight=ie.get("boxHeight")}function Me(ie,ae){if(this.model.get("boxHeight")!=="auto"){var fe=[1/0,-1/0];ie.eachSeries(function(de){if(de.coordinateSystem===this){var ve=de.getData(),xe=de.coordDimToDataDim("alt")[0];if(xe){var ce=ve.getDataExtent(xe,!0);fe[0]=Math.min(fe[0],ce[0]),fe[1]=Math.max(fe[1],ce[1])}}},this),fe&&isFinite(fe[1]-fe[0])&&(this.altitudeExtent=fe)}}var je={dimensions:Ke.a.prototype.dimensions,create:function(ie,ae){var fe=[];return ie.eachComponent("mapbox3D",function(de){var ve=de.__viewGL;ve||(ve=de.__viewGL=new Ie.a,ve.setRootNode(new ke.a.Node));var xe=new Ke.a;xe.viewGL=de.__viewGL,xe.resize=Ce,xe.resize(de,ae),fe.push(xe),de.coordinateSystem=xe,xe.model=de,xe.setCameraOption(de.getMapboxCameraOption()),xe.update=Me}),ie.eachSeries(function(de){if(de.get("coordinateSystem")==="mapbox3D"){var ve=de.getReferringComponents("mapbox3D")[0];if(ve||(ve=ie.getComponent("mapbox3D")),!ve)throw new Error('mapbox3D "'+Te.a.firstNotNull(de.get("mapbox3DIndex"),de.get("mapbox3DId"),0)+'" not found');de.coordinateSystem=ve.coordinateSystem}}),fe}};we.a.registerCoordinateSystem("mapbox3D",je);var ye=je},function(tt,Ue,Ne){"use strict";var Ke=Ne(1),Be=Ne.n(Ke),we=Be.a.mat4,Te=512,ke=.6435011087932844,Ie=Math.PI,Ce=1/10;function Me(){this.width=0,this.height=0,this.altitudeScale=1,this.boxHeight="auto",this.altitudeExtent,this.bearing=0,this.pitch=0,this.center=[0,0],this._origin,this.zoom=0,this._initialZoom}Me.prototype={constructor:Me,type:"mapbox3D",dimensions:["lng","lat","alt"],containPoint:function(){},setCameraOption:function(je){this.bearing=je.bearing,this.pitch=je.pitch,this.center=je.center,this.zoom=je.zoom,this._origin||(this._origin=this.projectOnTileWithScale(this.center,Te)),this._initialZoom==null&&(this._initialZoom=this.zoom),this.updateTransform()},updateTransform:function(){if(this.height){var je=.5/Math.tan(ke/2)*this.height*Ce,ye=Math.max(Math.min(this.pitch,60),0)/180*Math.PI,ie=ke/2,ae=Math.PI/2+ye,fe=Math.sin(ie)*je/Math.sin(Math.PI-ae-ie),de=Math.cos(Math.PI/2-ye)*fe+je,ve=de*1.1,xe=new Float64Array(16);we.perspective(xe,ke,this.width/this.height,1,ve),this.viewGL.camera.projectionMatrix.setArray(xe),this.viewGL.camera.decomposeProjectionMatrix();var xe=we.identity(new Float64Array(16)),ce=this.dataToPoint(this.center);we.scale(xe,xe,[1,-1,1]),we.translate(xe,xe,[0,0,-je]),we.rotateX(xe,xe,ye),we.rotateZ(xe,xe,-this.bearing/180*Math.PI),we.translate(xe,xe,[-ce[0]*this.getScale()*Ce,-ce[1]*this.getScale()*Ce,0]),this.viewGL.camera.viewMatrix.array=xe;var pe=new Float64Array(16);we.invert(pe,xe),this.viewGL.camera.worldTransform.array=pe,this.viewGL.camera.decomposeWorldTransform();var Se=Te*this.getScale(),Le;if(this.altitudeExtent&&!isNaN(this.boxHeight)){var ze=this.altitudeExtent[1]-this.altitudeExtent[0];Le=this.boxHeight/ze*this.getScale()/Math.pow(2,this._initialZoom)}else Le=Se/(2*Math.PI*6378e3*Math.abs(Math.cos(this.center[1]*(Math.PI/180))))*this.altitudeScale*Ce;this.viewGL.rootNode.scale.set(this.getScale()*Ce,this.getScale()*Ce,Le)}},getScale:function(){return Math.pow(2,this.zoom)},projectOnTile:function(je,ye){return this.projectOnTileWithScale(je,this.getScale()*Te,ye)},projectOnTileWithScale:function(je,ye,ie){var ae=je[0],fe=je[1],de=ae*Ie/180,ve=fe*Ie/180,xe=ye*(de+Ie)/(2*Ie),ce=ye*(Ie-Math.log(Math.tan(Ie/4+ve*.5)))/(2*Ie);return ie=ie||[],ie[0]=xe,ie[1]=ce,ie},unprojectFromTile:function(je,ye){return this.unprojectOnTileWithScale(je,this.getScale()*Te,ye)},unprojectOnTileWithScale:function(je,ye,ie){var ae=je[0],fe=je[1],de=ae/ye*(2*Ie)-Ie,ve=2*(Math.atan(Math.exp(Ie-fe/ye*(2*Ie)))-Ie/4);return ie=ie||[],ie[0]=de*180/Ie,ie[1]=ve*180/Ie,ie},dataToPoint:function(je,ye){return ye=this.projectOnTileWithScale(je,Te,ye),ye[0]-=this._origin[0],ye[1]-=this._origin[1],ye[2]=isNaN(je[2])?0:je[2],isNaN(je[2])||(ye[2]=je[2],this.altitudeExtent&&(ye[2]-=this.altitudeExtent[0])),ye}},Ue.a=Me},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(31),Te=Ne(32),ke=["zoom","center","pitch","bearing"],Ie=Be.a.extendComponentModel({type:"mapbox3D",layoutMode:"box",coordinateSystem:null,defaultOption:{zlevel:-10,style:"mapbox://styles/mapbox/light-v9",center:[0,0],zoom:0,pitch:0,bearing:0,light:{main:{alpha:20,beta:30}},altitudeScale:1,boxHeight:"auto"},getMapboxCameraOption:function(){var Me=this;return ke.reduce(function(je,ye){return je[ye]=Me.get(ye),je},{})},setMapboxCameraOption:function(Me){Me!=null&&ke.forEach(function(je){Me[je]!=null&&(this.option[je]=Me[je])},this)},getMapbox:function(){return this._mapbox},setMapbox:function(Me){this._mapbox=Me}});Be.a.util.merge(Ie.prototype,we.a),Be.a.util.merge(Ie.prototype,Te.a);var Ce=Ie},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(200),Te=Ne(34),ke=Ne(2),Ie=Ne(201);ke.a.Shader.import(Ie.a);var Ce=512,Me=Be.a.extendComponentView({type:"mapbox3D",__ecgl__:!0,init:function(je,ye){var ie=ye.getZr();this._zrLayer=new we.a("mapbox3D",ie),ie.painter.insertLayer(-1e3,this._zrLayer),this._lightRoot=new ke.a.Node,this._sceneHelper=new Te.a(this._lightRoot),this._sceneHelper.initLight(this._lightRoot);var ae=this._zrLayer.getMapbox(),fe=this._dispatchInteractAction.bind(this,ye,ae);["zoom","rotate","drag","pitch","rotate","move"].forEach(function(de){ae.on(de,fe)}),this._groundMesh=new ke.a.Mesh({geometry:new ke.a.PlaneGeometry,material:new ke.a.Material({shader:new ke.a.Shader({vertex:ke.a.Shader.source("ecgl.displayShadow.vertex"),fragment:ke.a.Shader.source("ecgl.displayShadow.fragment")}),depthMask:!1}),renderOrder:-100,culling:!1,castShadow:!1,$ignorePicking:!0,renderNormal:!0})},render:function(je,ye,ie){var ae=this._zrLayer.getMapbox(),fe=je.get("style"),de=JSON.stringify(fe);de!==this._oldStyleStr&&fe&&ae.setStyle(fe),this._oldStyleStr=de,ae.setCenter(je.get("center")),ae.setZoom(je.get("zoom")),ae.setPitch(je.get("pitch")),ae.setBearing(je.get("bearing")),je.setMapbox(ae);var ve=je.coordinateSystem;ve.viewGL.scene.add(this._lightRoot),ve.viewGL.add(this._groundMesh),this._updateGroundMesh(),this._sceneHelper.setScene(ve.viewGL.scene),this._sceneHelper.updateLight(je),ve.viewGL.setPostEffect(je.getModel("postEffect"),ie),ve.viewGL.setTemporalSuperSampling(je.getModel("temporalSuperSampling")),this._mapbox3DModel=je},afterRender:function(je,ye,ie,ae){var fe=ae.renderer;this._sceneHelper.updateAmbientCubemap(fe,je,ie),this._sceneHelper.updateSkybox(fe,je,ie),je.coordinateSystem.viewGL.scene.traverse(function(de){de.material&&(de.material.define("fragment","NORMAL_UP_AXIS",2),de.material.define("fragment","NORMAL_FRONT_AXIS",1))})},updateCamera:function(je,ye,ie,ae){je.coordinateSystem.setCameraOption(ae),this._updateGroundMesh(),ie.getZr().refresh()},_dispatchInteractAction:function(je,ye,ie){je.dispatchAction({type:"mapbox3DChangeCamera",pitch:ye.getPitch(),zoom:ye.getZoom(),center:ye.getCenter().toArray(),bearing:ye.getBearing(),mapbox3DId:this._mapbox3DModel&&this._mapbox3DModel.id})},_updateGroundMesh:function(){if(this._mapbox3DModel){var je=this._mapbox3DModel.coordinateSystem,ye=je.dataToPoint(je.center);this._groundMesh.position.set(ye[0],ye[1],-.001);var ie=new ke.a.Plane(new ke.a.Vector3(0,0,1),0),ae=je.viewGL.camera.castRay(new ke.a.Vector2(-1,-1)),fe=je.viewGL.camera.castRay(new ke.a.Vector2(1,1)),de=ae.intersectPlane(ie),ve=fe.intersectPlane(ie),xe=de.dist(ve)/je.viewGL.rootNode.scale.x;this._groundMesh.scale.set(xe,xe,1)}},dispose:function(je,ye){ye.getZr().delLayer(-1e3)}})},function(tt,Ue,Ne){"use strict";function Ke(we,Te){if(this.id=we,this.zr=Te,this.dom=document.createElement("div"),this.dom.style.cssText="position:absolute;left:0;right:0;top:0;bottom:0;",!mapboxgl)throw new Error("Mapbox GL library must be included. See https://www.mapbox.com/mapbox-gl-js/api/");this._mapbox=new mapboxgl.Map({container:this.dom}),this._initEvents()}Ke.prototype.resize=function(){this._mapbox.resize()},Ke.prototype.getMapbox=function(){return this._mapbox},Ke.prototype.clear=function(){},Ke.prototype.refresh=function(){this._mapbox.resize()};var Be=["mousedown","mouseup","click","dblclick","mousemove","mousewheel","wheel","touchstart","touchend","touchmove","touchcancel"];Ke.prototype._initEvents=function(){var we=this._mapbox.getCanvasContainer();this._handlers=this._handlers||{contextmenu:function(Te){return Te.preventDefault(),!1}},Be.forEach(function(Te){this._handlers[Te]=function(ke){var Ie={};for(var Ce in ke)Ie[Ce]=ke[Ce];Ie.bubbles=!1;var Me=new ke.constructor(ke.type,Ie);we.dispatchEvent(Me)},this.zr.dom.addEventListener(Te,this._handlers[Te])},this),this.zr.dom.addEventListener("contextmenu",this._handlers.contextmenu)},Ke.prototype.dispose=function(){Be.forEach(function(we){this.zr.dom.removeEventListener(we,this._handlers[we])},this)},Ue.a=Ke},function(tt,Ue,Ne){"use strict";Ue.a=`
@export ecgl.displayShadow.vertex
@import ecgl.common.transformUniforms
@import ecgl.common.uv.header
@import ecgl.common.attributes
varying vec3 v_WorldPosition;
varying vec3 v_Normal;
void main()
{
@import ecgl.common.uv.main
v_Normal = normalize((worldInverseTranspose * vec4(normal, 0.0)).xyz);
v_WorldPosition = (world * vec4(position, 1.0)).xyz;
gl_Position = worldViewProjection * vec4(position, 1.0);
}
@end
@export ecgl.displayShadow.fragment
@import ecgl.common.uv.fragmentHeader
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
uniform float roughness: 0.2;
#ifdef DIRECTIONAL_LIGHT_COUNT
@import clay.header.directional_light
#endif
@import ecgl.common.ssaoMap.header
@import clay.plugin.compute_shadow_map
void main()
{
float shadow = 1.0;
@import ecgl.common.ssaoMap.main
#if defined(DIRECTIONAL_LIGHT_COUNT) && defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
if(shadowEnabled)
{
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
}
for (int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++) {
shadow = min(shadow, shadowContribsDir[i] * 0.5 + 0.5);
}
#endif
shadow *= 0.5 + ao * 0.5;
shadow = clamp(shadow, 0.0, 1.0);
gl_FragColor = vec4(vec3(0.0), 1.0 - shadow);
}
@end`},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(203),Te=Ne(206),ke=Ne(208),Ie=Ne(16);Be.a.registerVisual(Object(Ie.a)("bar3D")),Be.a.registerProcessor(function(Ce,Me){Ce.eachSeriesByType("bar3d",function(je){var ye=je.getData();ye.filterSelf(function(ie){return ye.hasValue(ie)})})})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(4),Te=Ne(1),ke=Ne.n(Te),Ie=Ne(204),Ce=Ne(205),Me=ke.a.vec3;function je(ae,fe){var de=ae.getData(),ve=ae.get("minHeight")||0,xe=ae.get("barSize"),ce=["lng","lat","alt"].map(function(Le){return ae.coordDimToDataDim(Le)[0]});if(xe==null){var pe=fe.radius*Math.PI,Se=Object(Ce.a)(de,ce[0],ce[1]);xe=[pe/Math.sqrt(de.count()/Se),pe/Math.sqrt(de.count()/Se)]}else Be.a.util.isArray(xe)||(xe=[xe,xe]);de.each(ce,function(Le,ze,Ze,Ve){var Qe=de.get(ce[2],Ve,!0),$e=de.stackedOn?Qe-Ze:fe.altitudeAxis.scale.getExtent()[0],gt=Math.max(fe.altitudeAxis.dataToCoord(Ze),ve),lt=fe.dataToPoint([Le,ze,$e]),At=fe.dataToPoint([Le,ze,Qe]),Et=Me.sub([],At,lt);Me.normalize(Et,Et);var vt=[xe[0],gt,xe[1]];de.setItemLayout(Ve,[lt,Et,vt])}),de.setLayout("orient",we.a.UP.array)}function ye(ae,fe){var de=ae.getData(),ve=ae.get("barSize"),xe=ae.get("minHeight")||0,ce=["lng","lat","alt"].map(function(ze){return ae.coordDimToDataDim(ze)[0]});if(ve==null){var pe=Math.min(fe.size[0],fe.size[2]),Se=Object(Ce.a)(de,ce[0],ce[1]);ve=[pe/Math.sqrt(de.count()/Se),pe/Math.sqrt(de.count()/Se)]}else Be.a.util.isArray(ve)||(ve=[ve,ve]);var Le=[0,1,0];de.each(ce,function(ze,Ze,Ve,Qe){var $e=de.get(ce[2],Qe,!0),gt=de.stackedOn?$e-Ve:fe.altitudeAxis.scale.getExtent()[0],lt=Math.max(fe.altitudeAxis.dataToCoord(Ve),xe),At=fe.dataToPoint([ze,Ze,gt]),Et=[ve[0],lt,ve[1]];de.setItemLayout(Qe,[At,Le,Et])}),de.setLayout("orient",[1,0,0])}function ie(ae,fe){var de=ae.getData(),ve=ae.coordDimToDataDim("lng")[0],xe=ae.coordDimToDataDim("lat")[0],ce=ae.coordDimToDataDim("alt")[0],pe=ae.get("barSize"),Se=ae.get("minHeight")||0;if(pe==null){var Le=de.getDataExtent(ve),ze=de.getDataExtent(xe),Ze=fe.dataToPoint([Le[0],ze[0]]),Ve=fe.dataToPoint([Le[1],ze[1]]),Qe=Math.min(Math.abs(Ze[0]-Ve[0]),Math.abs(Ze[1]-Ve[1]))||1,$e=Object(Ce.a)(de,ve,xe);pe=[Qe/Math.sqrt(de.count()/$e),Qe/Math.sqrt(de.count()/$e)]}else Be.a.util.isArray(pe)||(pe=[pe,pe]),pe[0]/=fe.getScale()/16,pe[1]/=fe.getScale()/16;var gt=[0,0,1];de.each([ve,xe,ce],function(lt,At,Et,vt){var Lt=de.get(ce,vt,!0),St=de.stackedOn?Lt-Et:0,xt=fe.dataToPoint([lt,At,St]),ct=fe.dataToPoint([lt,At,Lt]),Dt=Math.max(ct[2]-xt[2],Se),Xt=[pe[0],Dt,pe[1]];de.setItemLayout(vt,[xt,gt,Xt])}),de.setLayout("orient",[1,0,0])}Be.a.registerLayout(function(ae,fe){ae.eachSeriesByType("bar3D",function(de){var ve=de.coordinateSystem,xe=ve&&ve.type;if(xe==="globe")je(de,ve);else if(xe==="cartesian3D")Object(Ie.a)(de,ve);else if(xe==="geo3D")ye(de,ve);else if(xe==="mapbox3D")ie(de,ve);else throw ve?new Error("bar3D doesn't support coordinate system "+ve.type):new Error("bar3D doesn't have coordinate system.")})})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(1),Te=Ne.n(we),ke=Te.a.vec3;function Ie(Me){var je=Me[0],ye=Me[1];return!(je>0&&ye>0||je<0&&ye<0)}function Ce(Me,je){var ye=Me.getData(),ie=Me.get("barSize");if(ie==null){var ae=je.size,fe,de,ve=je.getAxis("x"),xe=je.getAxis("y");ve.type==="category"?fe=ve.getBandWidth()*.7:fe=Math.round(ae[0]/Math.sqrt(ye.count()))*.6,xe.type==="category"?de=xe.getBandWidth()*.7:de=Math.round(ae[1]/Math.sqrt(ye.count()))*.6,ie=[fe,de]}else Be.a.util.isArray(ie)||(ie=[ie,ie]);var ce=je.getAxis("z").scale.getExtent(),pe=Ie(ce),Se=["x","y","z"].map(function(Le){return Me.coordDimToDataDim(Le)[0]});ye.each(Se,function(Le,ze,Ze,Ve){var Qe=ye.get(Se[2],Ve,!0),$e=ye.stackedOn?Qe-Ze:pe?0:ce[0],gt=je.dataToPoint([Le,ze,$e]),lt=je.dataToPoint([Le,ze,Qe]),At=ke.dist(gt,lt),Et=[0,lt[1]<gt[1]?-1:1,0];Math.abs(At)===0&&(At=.1);var vt=[ie[0],At,ie[1]];ye.setItemLayout(Ve,[gt,Et,vt])}),ye.setLayout("orient",[1,0,0])}Ue.a=Ce},function(tt,Ue,Ne){"use strict";Ue.a=function(Ke,Be,we){for(var Te=Ke.getDataExtent(Be),ke=Ke.getDataExtent(we),Ie=Te[1]-Te[0]||Te[0],Ce=ke[1]-ke[0]||ke[0],Me=50,je=new Uint8Array(Me*Me),ye=0;ye<Ke.count();ye++){var ie=Ke.get(Be,ye),ae=Ke.get(we,ye),fe=Math.floor((ie-Te[0])/Ie*(Me-1)),de=Math.floor((ae-ke[0])/Ce*(Me-1)),ve=de*Me+fe;je[ve]=je[ve]||1}for(var xe=0,ye=0;ye<je.length;ye++)je[ye]&&xe++;return xe/je.length}},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(2),Te=Ne(3),ke=Ne(27),Ie=Ne(207),Ce=Ne(61),Me=Ne(1),je=Ne.n(Me),ye=je.a.vec3,ie=Be.a.extendChartView({type:"bar3D",__ecgl__:!0,init:function(ae,fe){this.groupGL=new we.a.Node,this._api=fe,this._labelsBuilder=new Ce.a(256,256,fe);var de=this;this._labelsBuilder.getLabelPosition=function(ve,xe,ce){if(de._data){var pe=de._data.getItemLayout(ve),Se=pe[0],Le=pe[1],ze=pe[2][1];return ye.scaleAndAdd([],Se,Le,ce+ze)}else return[0,0]},this._labelsBuilder.getMesh().renderOrder=100},render:function(ae,fe,de){var ve=this._prevBarMesh;this._prevBarMesh=this._barMesh,this._barMesh=ve,this._barMesh||(this._barMesh=new we.a.Mesh({geometry:new Ie.a,shadowDepthMaterial:new we.a.Material({shader:new we.a.Shader(we.a.Shader.source("ecgl.sm.depth.vertex"),we.a.Shader.source("ecgl.sm.depth.fragment"))}),culling:ae.coordinateSystem.type==="cartesian3D",renderOrder:10,renderNormal:!0})),this.groupGL.remove(this._prevBarMesh),this.groupGL.add(this._barMesh),this.groupGL.add(this._labelsBuilder.getMesh());var xe=ae.coordinateSystem;if(this._doRender(ae,de),xe&&xe.viewGL){xe.viewGL.add(this.groupGL);var ce=xe.viewGL.isLinearSpace()?"define":"undefine";this._barMesh.material[ce]("fragment","SRGB_DECODE")}this._data=ae.getData(),this._labelsBuilder.updateData(this._data),this._labelsBuilder.updateLabels(),this._updateAnimation(ae)},_updateAnimation:function(ae){we.a.updateVertexAnimation([["prevPosition","position"],["prevNormal","normal"]],this._prevBarMesh,this._barMesh,ae)},_doRender:function(ae,fe){var de=ae.getData(),ve=ae.get("shading"),xe=ve!=="color",ce=this,pe=this._barMesh,Se="ecgl."+ve;(!pe.material||pe.material.shader.name!==Se)&&(pe.material=we.a.createMaterial(Se,["VERTEX_COLOR"])),we.a.setMaterialFromModel(ve,pe.material,ae,fe),pe.geometry.enableNormal=xe,pe.geometry.resetOffset();var Le=ae.get("bevelSize"),ze=ae.get("bevelSmoothness");pe.geometry.bevelSegments=ze,pe.geometry.bevelSize=Le;var Ze=[],Ve=new Float32Array(de.count()*4),Qe=0,At=0,$e=!1;de.each(function(vt){if(de.hasValue(vt)){var Lt=de.getItemVisual(vt,"color"),St=de.getItemVisual(vt,"opacity");St==null&&(St=1),we.a.parseColor(Lt,Ze),Ze[3]*=St,Ve[Qe++]=Ze[0],Ve[Qe++]=Ze[1],Ve[Qe++]=Ze[2],Ve[Qe++]=Ze[3],Ze[3]>0&&(At++,Ze[3]<.99&&($e=!0))}}),pe.geometry.setBarCount(At);var gt=de.getLayout("orient"),lt=this._barIndexOfData=new Int32Array(de.count()),At=0;de.each(function(vt){if(!de.hasValue(vt)){lt[vt]=-1;return}var Lt=de.getItemLayout(vt),St=Lt[0],xt=Lt[1],ct=Lt[2],Dt=vt*4;Ze[0]=Ve[Dt++],Ze[1]=Ve[Dt++],Ze[2]=Ve[Dt++],Ze[3]=Ve[Dt++],Ze[3]>0&&(ce._barMesh.geometry.addBar(St,xt,gt,ct,Ze,vt),lt[vt]=At++)}),pe.geometry.dirty(),pe.geometry.updateBoundingBox();var Et=pe.material;Et.transparent=$e,Et.depthMask=!$e,pe.geometry.sortTriangles=$e,this._initHandler(ae,fe)},_initHandler:function(ae,fe){var de=ae.getData(),ve=this._barMesh,xe=ae.coordinateSystem.type==="cartesian3D";ve.seriesIndex=ae.seriesIndex;var ce=-1;ve.off("mousemove"),ve.off("mouseout"),ve.on("mousemove",function(pe){var Se=ve.geometry.getDataIndexOfVertex(pe.triangle[0]);Se!==ce&&(this._downplay(ce),this._highlight(Se),this._labelsBuilder.updateLabels([Se]),xe&&fe.dispatchAction({type:"grid3DShowAxisPointer",value:[de.get("x",Se),de.get("y",Se),de.get("z",Se,!0)]})),ce=Se,ve.dataIndex=Se},this),ve.on("mouseout",function(pe){this._downplay(ce),this._labelsBuilder.updateLabels(),ce=-1,ve.dataIndex=-1,xe&&fe.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_highlight:function(ae){var fe=this._data;if(fe){var de=this._barIndexOfData[ae];if(!(de<0)){var ve=fe.getItemModel(ae),xe=ve.getModel("emphasis.itemStyle"),ce=xe.get("color"),pe=xe.get("opacity");if(ce==null){var Se=fe.getItemVisual(ae,"color");ce=Be.a.color.lift(Se,-.4)}pe==null&&(pe=fe.getItemVisual(ae,"opacity"));var Le=we.a.parseColor(ce);Le[3]*=pe,this._barMesh.geometry.setColor(de,Le),this._api.getZr().refresh()}}},_downplay:function(ae){var fe=this._data;if(fe){var de=this._barIndexOfData[ae];if(!(de<0)){var ve=fe.getItemVisual(ae,"color"),xe=fe.getItemVisual(ae,"opacity"),ce=we.a.parseColor(ve);ce[3]*=xe,this._barMesh.geometry.setColor(de,ce),this._api.getZr().refresh()}}},highlight:function(ae,fe,de,ve){this._toggleStatus("highlight",ae,fe,de,ve)},downplay:function(ae,fe,de,ve){this._toggleStatus("downplay",ae,fe,de,ve)},_toggleStatus:function(ae,fe,de,ve,xe){var ce=fe.getData(),pe=Te.a.queryDataIndex(ce,xe),Se=this;pe!=null?Be.a.util.each(ke.a.normalizeToArray(pe),function(Le){ae==="highlight"?this._highlight(Le):this._downplay(Le)},this):ce.each(function(Le){ae==="highlight"?Se._highlight(Le):Se._downplay(Le)})},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(33),Te=Ne(60),ke=Ne(13),Ie=Ne(1),Ce=Ne.n(Ie),Me=Ce.a.vec3,je=Ce.a.mat3,ye=ke.a.extend(function(){return{attributes:{position:new ke.a.Attribute("position","float",3,"POSITION"),normal:new ke.a.Attribute("normal","float",3,"NORMAL"),color:new ke.a.Attribute("color","float",4,"COLOR"),prevPosition:new ke.a.Attribute("prevPosition","float",3),prevNormal:new ke.a.Attribute("prevNormal","float",3)},dynamic:!0,enableNormal:!1,bevelSize:1,bevelSegments:0,_dataIndices:null,_vertexOffset:0,_triangleOffset:0}},{resetOffset:function(){this._vertexOffset=0,this._triangleOffset=0},setBarCount:function(ie){var ae=this.enableNormal,fe=this.getBarVertexCount()*ie,de=this.getBarTriangleCount()*ie;this.vertexCount!==fe&&(this.attributes.position.init(fe),ae?this.attributes.normal.init(fe):this.attributes.normal.value=null,this.attributes.color.init(fe)),this.triangleCount!==de&&(this.indices=fe>65535?new Uint32Array(de*3):new Uint16Array(de*3),this._dataIndices=new Uint32Array(fe))},getBarVertexCount:function(){var ie=this.bevelSize>0?this.bevelSegments:0;return ie>0?this._getBevelBarVertexCount(ie):this.enableNormal?24:8},getBarTriangleCount:function(){var ie=this.bevelSize>0?this.bevelSegments:0;return ie>0?this._getBevelBarTriangleCount(ie):12},_getBevelBarVertexCount:function(ie){return(ie+1)*4*(ie+1)*2},_getBevelBarTriangleCount:function(ie){var ae=ie*4+3,fe=ie*2+1;return(ae+1)*fe*2+4},setColor:function(ie,ae){for(var fe=this.getBarVertexCount(),de=fe*ie,ve=fe*(ie+1),xe=de;xe<ve;xe++)this.attributes.color.set(xe,ae);this.dirtyAttribute("color")},getDataIndexOfVertex:function(ie){return this._dataIndices?this._dataIndices[ie]:null},addBar:function(){for(var ie=Me.create,ae=Me.scaleAndAdd,fe=ie(),de=ie(),ve=ie(),xe=ie(),ce=ie(),pe=ie(),Se=ie(),Le=[],ze=[],Ze=0;Ze<8;Ze++)Le[Ze]=ie();for(var Ve=[[0,1,5,4],[2,3,7,6],[4,5,6,7],[3,2,1,0],[0,4,7,3],[1,2,6,5]],Qe=[0,1,2,0,2,3],$e=[],Ze=0;Ze<Ve.length;Ze++)for(var gt=Ve[Ze],lt=0;lt<2;lt++){for(var At=[],Et=0;Et<3;Et++)At.push(gt[Qe[lt*3+Et]]);$e.push(At)}return function(vt,Lt,St,xt,ct,Dt){var Xt=this._vertexOffset;if(this.bevelSize>0&&this.bevelSegments>0)this._addBevelBar(vt,Lt,St,xt,this.bevelSize,this.bevelSegments,ct);else{Me.copy(ve,Lt),Me.normalize(ve,ve),Me.cross(xe,St,ve),Me.normalize(xe,xe),Me.cross(de,ve,xe),Me.normalize(xe,xe),Me.negate(ce,de),Me.negate(pe,ve),Me.negate(Se,xe),ae(Le[0],vt,de,xt[0]/2),ae(Le[0],Le[0],xe,xt[2]/2),ae(Le[1],vt,de,xt[0]/2),ae(Le[1],Le[1],Se,xt[2]/2),ae(Le[2],vt,ce,xt[0]/2),ae(Le[2],Le[2],Se,xt[2]/2),ae(Le[3],vt,ce,xt[0]/2),ae(Le[3],Le[3],xe,xt[2]/2),ae(fe,vt,ve,xt[1]),ae(Le[4],fe,de,xt[0]/2),ae(Le[4],Le[4],xe,xt[2]/2),ae(Le[5],fe,de,xt[0]/2),ae(Le[5],Le[5],Se,xt[2]/2),ae(Le[6],fe,ce,xt[0]/2),ae(Le[6],Le[6],Se,xt[2]/2),ae(Le[7],fe,ce,xt[0]/2),ae(Le[7],Le[7],xe,xt[2]/2);var kt=this.attributes;if(this.enableNormal){ze[0]=de,ze[1]=ce,ze[2]=ve,ze[3]=pe,ze[4]=xe,ze[5]=Se;for(var Rt=this._vertexOffset,Gt=0;Gt<Ve.length;Gt++){for(var ln=this._triangleOffset*3,Rn=0;Rn<6;Rn++)this.indices[ln++]=Rt+Qe[Rn];Rt+=4,this._triangleOffset+=2}for(var Gt=0;Gt<Ve.length;Gt++)for(var jn=ze[Gt],Rn=0;Rn<4;Rn++){var er=Ve[Gt][Rn];kt.position.set(this._vertexOffset,Le[er]),kt.normal.set(this._vertexOffset,jn),kt.color.set(this._vertexOffset++,ct)}}else{for(var Gt=0;Gt<$e.length;Gt++){for(var ln=this._triangleOffset*3,Rn=0;Rn<3;Rn++)this.indices[ln+Rn]=$e[Gt][Rn]+this._vertexOffset;this._triangleOffset++}for(var Gt=0;Gt<Le.length;Gt++)kt.position.set(this._vertexOffset,Le[Gt]),kt.color.set(this._vertexOffset++,ct)}}for(var an=this._vertexOffset,Gt=Xt;Gt<an;Gt++)this._dataIndices[Gt]=Dt}}(),_addBevelBar:function(){var ie=Me.create(),ae=Me.create(),fe=Me.create(),de=je.create(),ve=[],xe=[1,-1,-1,1],ce=[1,1,-1,-1],pe=[2,0];return function(Se,Le,ze,Ze,Ve,Qe,$e){Me.copy(ae,Le),Me.normalize(ae,ae),Me.cross(fe,ze,ae),Me.normalize(fe,fe),Me.cross(ie,ae,fe),Me.normalize(fe,fe),de[0]=ie[0],de[1]=ie[1],de[2]=ie[2],de[3]=ae[0],de[4]=ae[1],de[5]=ae[2],de[6]=fe[0],de[7]=fe[1],de[8]=fe[2],Ve=Math.min(Ze[0],Ze[2])/2*Ve;for(var gt=0;gt<3;gt++)ve[gt]=Math.max(Ze[gt]-Ve*2,0);for(var lt=(Ze[0]-ve[0])/2,At=(Ze[1]-ve[1])/2,Et=(Ze[2]-ve[2])/2,vt=[],Lt=[],St=this._vertexOffset,xt=[],gt=0;gt<2;gt++){xt[gt]=xt[gt]=[];for(var ct=0;ct<=Qe;ct++)for(var Dt=0;Dt<4;Dt++){(ct===0&&gt===0||gt===1&&ct===Qe)&&xt[gt].push(St);for(var Xt=0;Xt<=Qe;Xt++){var kt=Xt/Qe*Math.PI/2+Math.PI/2*Dt,Rt=ct/Qe*Math.PI/2+Math.PI/2*gt;Lt[0]=lt*Math.cos(kt)*Math.sin(Rt),Lt[1]=At*Math.cos(Rt),Lt[2]=Et*Math.sin(kt)*Math.sin(Rt),vt[0]=Lt[0]+xe[Dt]*ve[0]/2,vt[1]=Lt[1]+At+pe[gt]*ve[1]/2,vt[2]=Lt[2]+ce[Dt]*ve[2]/2,Math.abs(lt-At)<1e-6&&Math.abs(At-Et)<1e-6||(Lt[0]/=lt*lt,Lt[1]/=At*At,Lt[2]/=Et*Et),Me.normalize(Lt,Lt),Me.transformMat3(vt,vt,de),Me.transformMat3(Lt,Lt,de),Me.add(vt,vt,Se),this.attributes.position.set(St,vt),this.enableNormal&&this.attributes.normal.set(St,Lt),this.attributes.color.set(St,$e),St++}}}for(var Gt=Qe*4+3,ln=Qe*2+1,Rn=Gt+1,Dt=0;Dt<ln;Dt++)for(var gt=0;gt<=Gt;gt++){var jn=Dt*Rn+gt+this._vertexOffset,er=Dt*Rn+(gt+1)%Rn+this._vertexOffset,an=(Dt+1)*Rn+(gt+1)%Rn+this._vertexOffset,Un=(Dt+1)*Rn+gt+this._vertexOffset;this.setTriangleIndices(this._triangleOffset++,[an,jn,er]),this.setTriangleIndices(this._triangleOffset++,[an,Un,jn])}this.setTriangleIndices(this._triangleOffset++,[xt[0][0],xt[0][2],xt[0][1]]),this.setTriangleIndices(this._triangleOffset++,[xt[0][0],xt[0][3],xt[0][2]]),this.setTriangleIndices(this._triangleOffset++,[xt[1][0],xt[1][1],xt[1][2]]),this.setTriangleIndices(this._triangleOffset++,[xt[1][0],xt[1][2],xt[1][3]]),this._vertexOffset=St}}()});Be.a.util.defaults(ye.prototype,we.a),Be.a.util.defaults(ye.prototype,Te.a),Ue.a=ye},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(26),Te=Ne(27),ke=Ne(35),Ie=Ne(44),Ce=Be.a.extendSeriesModel({type:"series.bar3D",dependencies:["globe"],visualColorAccessPath:"itemStyle.color",getInitialData:function(je,ye){return Object(Ie.a)(this)},getFormattedLabel:function(je,ye,ie,ae){var fe=Te.a.getFormattedLabel(this,je,ye,ie,ae);return fe==null&&(fe=this.getData().get("z",je)),fe},formatTooltip:function(je){return Object(ke.a)(this,je)},defaultOption:{coordinateSystem:"cartesian3D",globeIndex:0,grid3DIndex:0,zlevel:-10,bevelSize:0,bevelSmoothness:2,onGridPlane:"xy",shading:"color",minHeight:0,itemStyle:{opacity:1},label:{show:!1,distance:2,textStyle:{fontSize:14,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:3}},emphasis:{label:{show:!0}},animationDurationUpdate:500}});Be.a.util.merge(Ce.prototype,we.a);var Me=Ce},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(210),Te=Ne(211),ke=Ne(45),Ie=Ne.n(ke),Ce=Ne(16);Be.a.registerVisual(Ie()("line3D","circle",null)),Be.a.registerVisual(Object(Ce.a)("line3D")),Be.a.registerLayout(function(Me,je){Me.eachSeriesByType("line3D",function(ye){var ie=ye.getData(),ae=ye.coordinateSystem;if(ae){if(ae.type!=="cartesian3D"){console.error("line3D needs cartesian3D coordinateSystem");return}var fe=new Float32Array(ie.count()*3),de=[],ve=[],xe=ae.dimensions,ce=xe.map(function(pe){return ye.coordDimToDataDim(pe)[0]});ae&&ie.each(ce,function(pe,Se,Le,ze){de[0]=pe,de[1]=Se,de[2]=Le,ae.dataToPoint(de,ve),fe[ze*3]=ve[0],fe[ze*3+1]=ve[1],fe[ze*3+2]=ve[2]}),ie.setLayout("points",fe)}})})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(35),Te=Ne(44),ke=Be.a.extendSeriesModel({type:"series.line3D",dependencies:["grid3D"],visualColorAccessPath:"lineStyle.color",getInitialData:function(Ce,Me){return Object(Te.a)(this)},formatTooltip:function(Ce){return Object(we.a)(this,Ce)},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,grid3DIndex:0,lineStyle:{width:2},animationDurationUpdate:500}}),Ie=ke},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(2),Te=Ne(3),ke=Ne(22),Ie=Ne(9),Ce=Ne(4),Me=Ne(212),je=Ne.n(Me),ye=Ne(1),ie=Ne.n(ye),ae=Ne(40),fe=ie.a.vec3;we.a.Shader.import(ae.a);var de=Be.a.extendChartView({type:"line3D",__ecgl__:!0,init:function(ve,xe){this.groupGL=new we.a.Node,this._api=xe},render:function(ve,xe,ce){var pe=this._prevLine3DMesh;this._prevLine3DMesh=this._line3DMesh,this._line3DMesh=pe,this._line3DMesh||(this._line3DMesh=new we.a.Mesh({geometry:new ke.a({useNativeLine:!1,sortTriangles:!0}),material:new we.a.Material({shader:we.a.createShader("ecgl.meshLines3D")}),renderOrder:10}),this._line3DMesh.geometry.pick=this._pick.bind(this)),this.groupGL.remove(this._prevLine3DMesh),this.groupGL.add(this._line3DMesh);var Se=ve.coordinateSystem;if(Se&&Se.viewGL){Se.viewGL.add(this.groupGL);var Le=Se.viewGL.isLinearSpace()?"define":"undefine";this._line3DMesh.material[Le]("fragment","SRGB_DECODE")}this._doRender(ve,ce),this._data=ve.getData(),this._camera=Se.viewGL.camera,this.updateCamera(),this._updateAnimation(ve)},updateCamera:function(){this._updateNDCPosition()},_doRender:function(ve,xe){var ce=ve.getData(),pe=this._line3DMesh;pe.geometry.resetOffset();var Se=ce.getLayout("points"),Le=[],ze=new Float32Array(Se.length/3*4),Ze=0,Ve=!1;ce.each(function(gt){var lt=ce.getItemVisual(gt,"color"),At=ce.getItemVisual(gt,"opacity");At==null&&(At=1),we.a.parseColor(lt,Le),Le[3]*=At,ze[Ze++]=Le[0],ze[Ze++]=Le[1],ze[Ze++]=Le[2],ze[Ze++]=Le[3],Le[3]<.99&&(Ve=!0)}),pe.geometry.setVertexCount(pe.geometry.getPolylineVertexCount(Se)),pe.geometry.setTriangleCount(pe.geometry.getPolylineTriangleCount(Se)),pe.geometry.addPolyline(Se,ze,Te.a.firstNotNull(ve.get("lineStyle.width"),1)),pe.geometry.dirty(),pe.geometry.updateBoundingBox();var Qe=pe.material;Qe.transparent=Ve,Qe.depthMask=!Ve;var $e=ve.getModel("debug.wireframe");$e.get("show")?(pe.geometry.createAttribute("barycentric","float",3),pe.geometry.generateBarycentric(),pe.material.set("both","WIREFRAME_TRIANGLE"),pe.material.set("wireframeLineColor",we.a.parseColor($e.get("lineStyle.color")||"rgba(0,0,0,0.5)")),pe.material.set("wireframeLineWidth",Te.a.firstNotNull($e.get("lineStyle.width"),1))):pe.material.set("both","WIREFRAME_TRIANGLE"),this._points=Se,this._initHandler(ve,xe)},_updateAnimation:function(ve){we.a.updateVertexAnimation([["prevPosition","position"],["prevPositionPrev","positionPrev"],["prevPositionNext","positionNext"]],this._prevLine3DMesh,this._line3DMesh,ve)},_initHandler:function(ve,xe){var ce=ve.getData(),pe=ve.coordinateSystem,Se=this._line3DMesh,Le=-1;Se.seriesIndex=ve.seriesIndex,Se.off("mousemove"),Se.off("mouseout"),Se.on("mousemove",function(ze){var Ze=pe.pointToData(ze.point.array),Ve=ce.indicesOfNearest("x",Ze[0])[0];Ve!==Le&&(xe.dispatchAction({type:"grid3DShowAxisPointer",value:[ce.get("x",Ve),ce.get("y",Ve),ce.get("z",Ve)]}),Se.dataIndex=Ve),Le=Ve},this),Se.on("mouseout",function(ze){Le=-1,Se.dataIndex=-1,xe.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_updateNDCPosition:function(){var ve=new Ie.a,xe=this._camera;Ie.a.multiply(ve,xe.projectionMatrix,xe.viewMatrix);var ce=this._positionNDC,pe=this._points,Se=pe.length/3;(!ce||ce.length/2!==Se)&&(ce=this._positionNDC=new Float32Array(Se*2));for(var Le=[],ze=0;ze<Se;ze++){var Ze=ze*3,Ve=ze*2;Le[0]=pe[Ze],Le[1]=pe[Ze+1],Le[2]=pe[Ze+2],Le[3]=1,fe.transformMat4(Le,Le,ve.array),ce[Ve]=Le[0]/Le[3],ce[Ve+1]=Le[1]/Le[3]}},_pick:function(ve,xe,ce,pe,Se,Le){var ze=this._positionNDC,Ze=this._data.hostModel,Ve=Ze.get("lineStyle.width"),Qe=-1,$e=ce.viewport.width,gt=ce.viewport.height,lt=$e*.5,At=gt*.5;ve=(ve+1)*lt,xe=(xe+1)*At;for(var Et=1;Et<ze.length/2;Et++){var vt=(ze[(Et-1)*2]+1)*lt,Lt=(ze[(Et-1)*2+1]+1)*At,St=(ze[Et*2]+1)*lt,xt=(ze[Et*2+1]+1)*At;if(je.a.containStroke(vt,Lt,St,xt,Ve,ve,xe)){var ct=(vt-ve)*(vt-ve)+(Lt-xe)*(Lt-xe),Dt=(St-ve)*(St-ve)+(xt-xe)*(xt-xe);Qe=ct<Dt?Et-1:Et}}if(Qe>=0){var Xt=Qe*3,kt=new Ce.a(this._points[Xt],this._points[Xt+1],this._points[Xt+2]);Le.push({dataIndex:Qe,point:kt,pointWorld:kt.clone(),target:this._line3DMesh,distance:this._camera.getWorldPosition().dist(kt)})}},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(tt,Ue){function Ne(Ke,Be,we,Te,ke,Ie,Ce){if(ke===0)return!1;var Me=ke,je=0,ye=Ke;if(Ce>Be+Me&&Ce>Te+Me||Ce<Be-Me&&Ce<Te-Me||Ie>Ke+Me&&Ie>we+Me||Ie<Ke-Me&&Ie<we-Me)return!1;if(Ke!==we)je=(Be-Te)/(Ke-we),ye=(Ke*Te-we*Be)/(Ke-we);else return Math.abs(Ie-Ke)<=Me/2;var ie=je*Ie-Ce+ye,ae=ie*ie/(je*je+1);return ae<=Me/2*Me/2}Ue.containStroke=Ne},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(214),Te=Ne(215),ke=Ne(45),Ie=Ne.n(ke),Ce=Ne(16);Be.a.registerVisual(Ie()("scatter3D","circle",null)),Be.a.registerVisual(Object(Ce.a)("scatter3D")),Be.a.registerLayout({seriesType:"scatter3D",reset:function(Me){var je=Me.coordinateSystem;if(je){var ye=je.dimensions;if(ye.length<3){console.error("scatter3D needs 3D coordinateSystem");return}var ie=ye.map(function(de){return Me.coordDimToDataDim(de)[0]}),ae=[],fe=[];return{progress:function(de,ve){for(var xe=new Float32Array((de.end-de.start)*3),ce=de.start;ce<de.end;ce++){var pe=(ce-de.start)*3;ae[0]=ve.get(ie[0],ce),ae[1]=ve.get(ie[1],ce),ae[2]=ve.get(ie[2],ce),je.dataToPoint(ae,fe),xe[pe]=fe[0],xe[pe+1]=fe[1],xe[pe+2]=fe[2]}ve.setLayout("points",xe)}}}}})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(27),Te=Ne(35),ke=Ne(44);Be.a.extendSeriesModel({type:"series.scatter3D",dependencies:["globe","grid3D","geo3D"],visualColorAccessPath:"itemStyle.color",getInitialData:function(Ie,Ce){return Object(ke.a)(this)},getFormattedLabel:function(Ie,Ce,Me,je){var ye=we.a.getFormattedLabel(this,Ie,Ce,Me,je);if(ye==null){var ie=this.getData(),ae=ie.dimensions[ie.dimensions.length-1];ye=ie.get(ae,Ie)}return ye},formatTooltip:function(Ie){return Object(Te.a)(this,Ie)},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,progressive:1e5,progressiveThreshold:1e5,grid3DIndex:0,globeIndex:0,symbol:"circle",symbolSize:10,blendMode:"source-over",label:{show:!1,position:"right",distance:5,textStyle:{fontSize:14,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:3}},itemStyle:{opacity:.8},emphasis:{label:{show:!0}},animationDurationUpdate:500}})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(2),Te=Ne(3),ke=Ne(27),Ie=Ne(62);Be.a.extendChartView({type:"scatter3D",__ecgl__:!0,init:function(Ce,Me){this.groupGL=new we.a.Node,this._pointsBuilderList=[],this._currentStep=0},render:function(Ce,Me,je){if(this.groupGL.removeAll(),!!Ce.getData().count()){var ye=Ce.coordinateSystem;if(ye&&ye.viewGL){ye.viewGL.add(this.groupGL),this._camera=ye.viewGL.camera;var ie=this._pointsBuilderList[0];ie||(ie=this._pointsBuilderList[0]=new Ie.a(!1,je)),this._pointsBuilderList.length=1,this.groupGL.add(ie.rootNode),ie.update(Ce,Me,je),ie.updateView(ye.viewGL.camera)}else throw new Error("Invalid coordinate system")}},incrementalPrepareRender:function(Ce,Me,je){var ye=Ce.coordinateSystem;if(ye&&ye.viewGL)ye.viewGL.add(this.groupGL),this._camera=ye.viewGL.camera;else throw new Error("Invalid coordinate system");this.groupGL.removeAll(),this._currentStep=0},incrementalRender:function(Ce,Me,je,ye){if(!(Ce.end<=Ce.start)){var ie=this._pointsBuilderList[this._currentStep];ie||(ie=new Ie.a(!1,ye),this._pointsBuilderList[this._currentStep]=ie),this.groupGL.add(ie.rootNode),ie.update(Me,je,ye,Ce.start,Ce.end),ie.updateView(Me.coordinateSystem.viewGL.camera),this._currentStep++}},updateCamera:function(){this._pointsBuilderList.forEach(function(Ce){Ce.updateView(this._camera)},this)},highlight:function(Ce,Me,je,ye){this._toggleStatus("highlight",Ce,Me,je,ye)},downplay:function(Ce,Me,je,ye){this._toggleStatus("downplay",Ce,Me,je,ye)},_toggleStatus:function(Ce,Me,je,ye,ie){var ae=Me.getData(),fe=Te.a.queryDataIndex(ae,ie),de=Ce==="highlight";fe!=null?Be.a.util.each(ke.a.normalizeToArray(fe),function(ve){for(var xe=0;xe<this._pointsBuilderList.length;xe++){var ce=this._pointsBuilderList[xe];de?ce.highlight(ae,ve):ce.downplay(ae,ve)}},this):ae.each(function(ve){for(var xe=0;xe<this._pointsBuilderList.length;xe++){var ce=this._pointsBuilderList[xe];de?ce.highlight(ae,ve):ce.downplay(ae,ve)}})},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke);function we(Ce,ye,je){var ye=ye||document.createElement("canvas");ye.width=Ce,ye.height=Ce;var ie=ye.getContext("2d");return je&&je(ie),ye}function Te(Ce,Me,je,ye){Be.a.util.isArray(Me)||(Me=[Me,Me]);var ie=Ie.getMarginByStyle(je,ye),ae=Me[0]+ie.left+ie.right,fe=Me[1]+ie.top+ie.bottom,de=Be.a.helper.createSymbol(Ce,0,0,Me[0],Me[1]),ve=Math.max(ae,fe);de.position=[ie.left,ie.top],ae>fe?de.position[1]+=(ve-fe)/2:de.position[0]+=(ve-ae)/2;var xe=de.getBoundingRect();return de.position[0]-=xe.x,de.position[1]-=xe.y,de.setStyle(je),de.update(),de.__size=ve,de}function ke(Ce,Me,je){var ye=Me.width,ie=Me.height,ae=Ce.canvas.width,fe=Ce.canvas.height,de=ye/ae,ve=ie/fe;function xe(Qe){return Qe<128?1:-1}function ce(Qe,$e){var gt=1/0;Qe=Math.floor(Qe*de),$e=Math.floor($e*ve);for(var lt=$e*ye+Qe,At=Me.data[lt*4],Et=xe(At),vt=Math.max($e-je,0);vt<Math.min($e+je,ie);vt++)for(var Lt=Math.max(Qe-je,0);Lt<Math.min(Qe+je,ye);Lt++){var lt=vt*ye+Lt,St=Me.data[lt*4],xt=xe(St),ct=Lt-Qe,Dt=vt-$e;if(Et!==xt){var Xt=ct*ct+Dt*Dt;Xt<gt&&(gt=Xt)}}return Et*Math.sqrt(gt)}for(var pe=Ce.createImageData(ae,fe),Se=0;Se<fe;Se++)for(var Le=0;Le<ae;Le++){var ze=ce(Le,Se),Ze=ze/je*.5+.5,Ve=(Se*ae+Le)*4;pe.data[Ve++]=(1-Ze)*255,pe.data[Ve++]=(1-Ze)*255,pe.data[Ve++]=(1-Ze)*255,pe.data[Ve++]=255}return pe}var Ie={getMarginByStyle:function(Ce){var Me=Ce.minMargin||0,je=0;Ce.stroke&&Ce.stroke!=="none"&&(je=Ce.lineWidth==null?1:Ce.lineWidth);var ye=Ce.shadowBlur||0,ie=Ce.shadowOffsetX||0,ae=Ce.shadowOffsetY||0,fe={};return fe.left=Math.max(je/2,-ie+ye,Me),fe.right=Math.max(je/2,ie+ye,Me),fe.top=Math.max(je/2,-ae+ye,Me),fe.bottom=Math.max(je/2,ae+ye,Me),fe},createSymbolSprite:function(Ce,Me,je,ye){var ie=Te(Ce,Me,je),ae=Ie.getMarginByStyle(je);return{image:we(ie.__size,ye,function(fe){ie.brush(fe)}),margin:ae}},createSDFFromCanvas:function(Ce,Me,je,ye){return we(Me,ye,function(ie){var ae=Ce.getContext("2d"),fe=ae.getImageData(0,0,Ce.width,Ce.height);ie.putImageData(ke(ie,fe,je),0,0)})},createSimpleSprite:function(Ce,Me){return we(Ce,Me,function(je){var ye=Ce/2;je.beginPath(),je.arc(ye,ye,60,0,Math.PI*2,!1),je.closePath();var ie=je.createRadialGradient(ye,ye,0,ye,ye,ye);ie.addColorStop(0,"rgba(255, 255, 255, 1)"),ie.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),ie.addColorStop(1,"rgba(255, 255, 255, 0)"),je.fillStyle=ie,je.fill()})}};Ue.a=Ie},function(tt,Ue,Ne){"use strict";var Ke=Ne(2),Be=Ne(218),we=Ne(0),Te=Ne.n(we),ke=Ne(1),Ie=Ne.n(ke),Ce=Ne(219),Me=Ie.a.vec4;Ke.a.Shader.import(Ce.a);var je=Ke.a.Mesh.extend(function(){var ye=new Ke.a.Geometry({dynamic:!0,attributes:{color:new Ke.a.Geometry.Attribute("color","float",4,"COLOR"),position:new Ke.a.Geometry.Attribute("position","float",3,"POSITION"),size:new Ke.a.Geometry.Attribute("size","float",1),prevPosition:new Ke.a.Geometry.Attribute("prevPosition","float",3),prevSize:new Ke.a.Geometry.Attribute("prevSize","float",1)}});Te.a.util.extend(ye,Be.a);var ie=new Ke.a.Material({shader:Ke.a.createShader("ecgl.sdfSprite"),transparent:!0,depthMask:!1});ie.enableTexture("sprite"),ie.define("both","VERTEX_COLOR"),ie.define("both","VERTEX_SIZE");var ae=new Ke.a.Texture2D({image:document.createElement("canvas"),flipY:!1});return ie.set("sprite",ae),ye.pick=this._pick.bind(this),{geometry:ye,material:ie,mode:Ke.a.Mesh.POINTS,sizeScale:1}},{_pick:function(ye,ie,ae,fe,de,ve){var xe=this._positionNDC;if(xe)for(var ce=ae.viewport,pe=2/ce.width,Se=2/ce.height,Le=this.geometry.vertexCount-1;Le>=0;Le--){var ze;this.geometry.indices?ze=this.geometry.indices[Le]:ze=Le;var Ze=xe[ze*2],Ve=xe[ze*2+1],Qe=this.geometry.attributes.size.get(ze)/this.sizeScale,$e=Qe/2;if(ye>Ze-$e*pe&&ye<Ze+$e*pe&&ie>Ve-$e*Se&&ie<Ve+$e*Se){var gt=new Ke.a.Vector3,lt=new Ke.a.Vector3;this.geometry.attributes.position.get(ze,gt.array),Ke.a.Vector3.transformMat4(lt,gt,this.worldTransform),ve.push({vertexIndex:ze,point:gt,pointWorld:lt,target:this,distance:lt.distance(fe.getWorldPosition())})}}},updateNDCPosition:function(ye,ie,ae){var fe=this._positionNDC,de=this.geometry;(!fe||fe.length/2!==de.vertexCount)&&(fe=this._positionNDC=new Float32Array(de.vertexCount*2));for(var ve=Me.create(),xe=0;xe<de.vertexCount;xe++)de.attributes.position.get(xe,ve),ve[3]=1,Me.transformMat4(ve,ve,ye.array),Me.scale(ve,ve,1/ve[3]),fe[xe*2]=ve[0],fe[xe*2+1]=ve[1]}});Ue.a=je},function(tt,Ue,Ne){"use strict";var Ke=Ne(81),Be=Ne(1),we=Ne.n(Be),Te=we.a.vec3;Ue.a={needsSortVertices:function(){return this.sortVertices},needsSortVerticesProgressively:function(){return this.needsSortVertices()&&this.vertexCount>=2e4},doSortVertices:function(ke,Ie){var Ce=this.indices,Me=Te.create();if(!Ce){Ce=this.indices=this.vertexCount>65535?new Uint32Array(this.vertexCount):new Uint16Array(this.vertexCount);for(var je=0;je<Ce.length;je++)Ce[je]=je}if(Ie===0){var ye=this.attributes.position,ke=ke.array,ie=0;(!this._zList||this._zList.length!==this.vertexCount)&&(this._zList=new Float32Array(this.vertexCount));for(var ae,je=0;je<this.vertexCount;je++){ye.get(je,Me);var fe=Te.sqrDist(Me,ke);isNaN(fe)&&(fe=1e7,ie++),je===0?(ae=fe,fe=0):fe=fe-ae,this._zList[je]=fe}this._noneCount=ie}if(this.vertexCount<2e4)Ie===0&&this._simpleSort(this._noneCount/this.vertexCount>.05);else for(var je=0;je<3;je++)this._progressiveQuickSort(Ie*3+je);this.dirtyIndices()},_simpleSort:function(ke){var Ie=this._zList,Ce=this.indices;function Me(je,ye){return Ie[ye]-Ie[je]}ke?Array.prototype.sort.call(Ce,Me):Ke.a.sort(Ce,Me,0,Ce.length-1)},_progressiveQuickSort:function(ke){var Ie=this._zList,Ce=this.indices;this._quickSort=this._quickSort||new Ke.a,this._quickSort.step(Ce,function(Me,je){return Ie[je]-Ie[Me]},ke)}}},function(tt,Ue,Ne){"use strict";Ue.a=`@export ecgl.sdfSprite.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform float elapsedTime : 0;
attribute vec3 position : POSITION;
#ifdef VERTEX_SIZE
attribute float size;
#else
uniform float u_Size;
#endif
#ifdef VERTEX_COLOR
attribute vec4 a_FillColor: COLOR;
varying vec4 v_Color;
#endif
#ifdef VERTEX_ANIMATION
attribute vec3 prevPosition;
attribute float prevSize;
uniform float percent : 1.0;
#endif
#ifdef POSITIONTEXTURE_ENABLED
uniform sampler2D positionTexture;
#endif
varying float v_Size;
void main()
{
#ifdef POSITIONTEXTURE_ENABLED
gl_Position = worldViewProjection * vec4(texture2D(positionTexture, position.xy).xy, -10.0, 1.0);
#else
#ifdef VERTEX_ANIMATION
vec3 pos = mix(prevPosition, position, percent);
#else
vec3 pos = position;
#endif
gl_Position = worldViewProjection * vec4(pos, 1.0);
#endif
#ifdef VERTEX_SIZE
#ifdef VERTEX_ANIMATION
v_Size = mix(prevSize, size, percent);
#else
v_Size = size;
#endif
#else
v_Size = u_Size;
#endif
#ifdef VERTEX_COLOR
v_Color = a_FillColor;
#endif
gl_PointSize = v_Size;
}
@end
@export ecgl.sdfSprite.fragment
uniform vec4 color: [1, 1, 1, 1];
uniform vec4 strokeColor: [1, 1, 1, 1];
uniform float smoothing: 0.07;
uniform float lineWidth: 0.0;
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
varying float v_Size;
uniform sampler2D sprite;
@import clay.util.srgb
void main()
{
gl_FragColor = color;
vec4 _strokeColor = strokeColor;
#ifdef VERTEX_COLOR
gl_FragColor *= v_Color;
#endif
#ifdef SPRITE_ENABLED
float d = texture2D(sprite, gl_PointCoord).r;
gl_FragColor.a *= smoothstep(0.5 - smoothing, 0.5 + smoothing, d);
if (lineWidth > 0.0) {
float sLineWidth = lineWidth / 2.0;
float outlineMaxValue0 = 0.5 + sLineWidth;
float outlineMaxValue1 = 0.5 + sLineWidth + smoothing;
float outlineMinValue0 = 0.5 - sLineWidth - smoothing;
float outlineMinValue1 = 0.5 - sLineWidth;
if (d <= outlineMaxValue1 && d >= outlineMinValue0) {
float a = _strokeColor.a;
if (d <= outlineMinValue1) {
a = a * smoothstep(outlineMinValue0, outlineMinValue1, d);
}
else {
a = a * smoothstep(outlineMaxValue1, outlineMaxValue0, d);
}
gl_FragColor.rgb = mix(gl_FragColor.rgb * gl_FragColor.a, _strokeColor.rgb, a);
gl_FragColor.a = gl_FragColor.a * (1.0 - a) + a;
}
}
#endif
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(gl_FragColor);
#endif
}
@end`},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(221),Te=Ne(222),ke=Ne(225),Ie=Ne(16);Be.a.registerVisual(Object(Ie.a)("lines3D")),Be.a.registerAction({type:"lines3DPauseEffect",event:"lines3deffectpaused",update:"series.lines3D:pauseEffect"},function(){}),Be.a.registerAction({type:"lines3DResumeEffect",event:"lines3deffectresumed",update:"series.lines3D:resumeEffect"},function(){}),Be.a.registerAction({type:"lines3DToggleEffect",event:"lines3deffectchanged",update:"series.lines3D:toggleEffect"},function(){})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(1),Te=Ne.n(we),ke=Te.a.vec3,Ie=Te.a.vec2,Ce=ke.normalize,Me=ke.cross,je=ke.sub,ye=ke.add,ie=ke.create,ae=ie(),fe=ie(),de=ie(),ve=ie(),xe=[],ce=[];function pe(Qe,$e){Ie.copy(xe,Qe[0]),Ie.copy(ce,Qe[1]);var gt=[],lt=gt[0]=ie(),At=gt[1]=ie(),Et=gt[2]=ie(),vt=gt[3]=ie();$e.dataToPoint(xe,lt),$e.dataToPoint(ce,vt),Ce(ae,lt),je(fe,vt,lt),Ce(fe,fe),Me(de,fe,ae),Ce(de,de),Me(fe,ae,de),ye(At,ae,fe),Ce(At,At),Ce(ae,vt),je(fe,lt,vt),Ce(fe,fe),Me(de,fe,ae),Ce(de,de),Me(fe,ae,de),ye(Et,ae,fe),Ce(Et,Et),ye(ve,lt,vt),Ce(ve,ve);var Lt=ke.dot(lt,ve),St=ke.dot(ve,At),xt=(Math.max(ke.len(lt),ke.len(vt))-Lt)/St*2;return ke.scaleAndAdd(At,lt,At,xt),ke.scaleAndAdd(Et,vt,Et,xt),gt}function Se(Qe,$e,gt){var lt=[],At=lt[0]=ke.create(),Et=lt[1]=ke.create(),vt=lt[2]=ke.create(),Lt=lt[3]=ke.create();$e.dataToPoint(Qe[0],At),$e.dataToPoint(Qe[1],Lt);var St=ke.dist(At,Lt);return ke.lerp(Et,At,Lt,.3),ke.lerp(vt,At,Lt,.3),ke.scaleAndAdd(Et,Et,gt,Math.min(St*.1,10)),ke.scaleAndAdd(vt,vt,gt,Math.min(St*.1,10)),lt}function Le(Qe,$e){for(var gt=new Float32Array(Qe.length*3),lt=0,At=[],Et=0;Et<Qe.length;Et++)$e.dataToPoint(Qe[Et],At),gt[lt++]=At[0],gt[lt++]=At[1],gt[lt++]=At[2];return gt}function ze(Qe){var $e=[];return Qe.each(function(gt){var lt=Qe.getItemModel(gt),At=lt.option instanceof Array?lt.option:lt.getShallow("coords",!0);if(!(At instanceof Array&&At.length>0&&At[0]instanceof Array))throw new Error("Invalid coords "+JSON.stringify(At)+". Lines must have 2d coords array in data item.");$e.push(At)}),{coordsList:$e}}function Ze(Qe,$e){var gt=Qe.getData(),lt=Qe.get("polyline");gt.setLayout("lineType",lt?"polyline":"cubicBezier");var At=ze(gt);gt.each(function(Et){var vt=At.coordsList[Et],Lt=lt?Le:pe;gt.setItemLayout(Et,Lt(vt,$e))})}function Ve(Qe,$e,gt){var lt=Qe.getData(),At=Qe.get("polyline"),Et=ze(lt);lt.setLayout("lineType",At?"polyline":"cubicBezier"),lt.each(function(vt){var Lt=Et.coordsList[vt],St=At?Le(Lt,$e):Se(Lt,$e,gt);lt.setItemLayout(vt,St)})}Be.a.registerLayout(function(Qe,$e){Qe.eachSeriesByType("lines3D",function(gt){var lt=gt.coordinateSystem;lt.type==="globe"?Ze(gt,lt):lt.type==="geo3D"?Ve(gt,lt,[0,1,0]):lt.type==="mapbox3D"&&Ve(gt,lt,[0,0,1])})})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(2),Te=Ne(22),ke=Ne(223),Ie=Ne(40);we.a.Shader.import(Ie.a);function Ce(je){return je.radius!=null?je.radius:je.size!=null?Math.max(je.size[0],je.size[1],je.size[2]):100}var Me=Be.a.extendChartView({type:"lines3D",__ecgl__:!0,init:function(je,ye){this.groupGL=new we.a.Node,this._meshLinesMaterial=new we.a.Material({shader:we.a.createShader("ecgl.meshLines3D"),transparent:!0,depthMask:!1}),this._linesMesh=new we.a.Mesh({geometry:new Te.a,material:this._meshLinesMaterial,$ignorePicking:!0}),this._trailMesh=new ke.a},render:function(je,ye,ie){this.groupGL.add(this._linesMesh);var ae=je.coordinateSystem,fe=je.getData();if(ae&&ae.viewGL){var de=ae.viewGL;de.add(this.groupGL),this._updateLines(je,ye,ie);var ve=ae.viewGL.isLinearSpace()?"define":"undefine";this._linesMesh.material[ve]("fragment","SRGB_DECODE"),this._trailMesh.material[ve]("fragment","SRGB_DECODE")}var xe=this._trailMesh;if(xe.stopAnimation(),je.get("effect.show")){this.groupGL.add(xe),xe.updateData(fe,ie,this._linesMesh.geometry),xe.__time=xe.__time||0;var ce=3600*1e3;this._curveEffectsAnimator=xe.animate("",{loop:!0}).when(ce,{__time:ce}).during(function(){xe.setAnimationTime(xe.__time)}).start()}else this.groupGL.remove(xe),this._curveEffectsAnimator=null;this._linesMesh.material.blend=this._trailMesh.material.blend=je.get("blendMode")==="lighter"?we.a.additiveBlend:null},pauseEffect:function(){this._curveEffectsAnimator&&this._curveEffectsAnimator.pause()},resumeEffect:function(){this._curveEffectsAnimator&&this._curveEffectsAnimator.resume()},toggleEffect:function(){var je=this._curveEffectsAnimator;je&&(je.isPaused()?je.resume():je.pause())},_updateLines:function(je,ye,ie){var ae=je.getData(),fe=je.coordinateSystem,de=this._linesMesh.geometry,ve=je.get("polyline");de.expandLine=!0;var xe=Ce(fe);de.segmentScale=xe/20;var ce="lineStyle.width".split("."),pe=ie.getDevicePixelRatio(),Se=0;ae.each(function(Ve){var Qe=ae.getItemModel(Ve),$e=Qe.get(ce);$e==null&&($e=1),ae.setItemVisual(Ve,"lineWidth",$e),Se=Math.max($e,Se)}),de.useNativeLine=!1;var Le=0,ze=0;ae.each(function(Ve){var Qe=ae.getItemLayout(Ve);ve?(Le+=de.getPolylineVertexCount(Qe),ze+=de.getPolylineTriangleCount(Qe)):(Le+=de.getCubicCurveVertexCount(Qe[0],Qe[1],Qe[2],Qe[3]),ze+=de.getCubicCurveTriangleCount(Qe[0],Qe[1],Qe[2],Qe[3]))}),de.setVertexCount(Le),de.setTriangleCount(ze),de.resetOffset();var Ze=[];ae.each(function(Ve){var Qe=ae.getItemLayout(Ve),$e=ae.getItemVisual(Ve,"color"),gt=ae.getItemVisual(Ve,"opacity"),lt=ae.getItemVisual(Ve,"lineWidth")*pe;gt==null&&(gt=1),Ze=we.a.parseColor($e,Ze),Ze[3]*=gt,ve?de.addPolyline(Qe,Ze,lt):de.addCubicCurve(Qe[0],Qe[1],Qe[2],Qe[3],Ze,lt)}),de.dirty()},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(2),Te=Ne(1),ke=Ne.n(Te),Ie=Ne(22),Ce=Ne(224),Me=ke.a.vec3;function je(ye){return ye>0?1:-1}we.a.Shader.import(Ce.a),Ue.a=we.a.Mesh.extend(function(){var ye=new we.a.Material({shader:new we.a.Shader(we.a.Shader.source("ecgl.trail2.vertex"),we.a.Shader.source("ecgl.trail2.fragment")),transparent:!0,depthMask:!1}),ie=new Ie.a({dynamic:!0});return ie.createAttribute("dist","float",1),ie.createAttribute("distAll","float",1),ie.createAttribute("start","float",1),{geometry:ie,material:ye,culling:!1,$ignorePicking:!0}},{updateData:function(ye,ie,ae){var fe=ye.hostModel,de=this.geometry,ve=fe.getModel("effect"),xe=ve.get("trailWidth")*ie.getDevicePixelRatio(),ce=ve.get("trailLength"),pe=fe.get("effect.constantSpeed"),Se=fe.get("effect.period")*1e3,Le=pe!=null;this.getScene()||console.error("TrailMesh must been add to scene before updateData"),Le?this.material.set("speed",pe/1e3):this.material.set("period",Se),this.material[Le?"define":"undefine"]("vertex","CONSTANT_SPEED");var ze=fe.get("polyline");de.trailLength=ce,this.material.set("trailLength",ce),de.resetOffset(),["position","positionPrev","positionNext"].forEach(function(xt){de.attributes[xt].value=ae.attributes[xt].value});var Ze=["dist","distAll","start","offset","color"];Ze.forEach(function(xt){de.attributes[xt].init(de.vertexCount)}),de.indices=ae.indices;var Ve=[],Qe=ve.get("trailColor"),$e=ve.get("trailOpacity"),gt=Qe!=null,lt=$e!=null;this.updateWorldTransform();var At=this.worldTransform.x.len(),Et=this.worldTransform.y.len(),vt=this.worldTransform.z.len(),Lt=0,St=0;ye.each(function(xt){var ct=ye.getItemLayout(xt),Dt=lt?$e:ye.getItemVisual(xt,"opacity"),Xt=ye.getItemVisual(xt,"color");Dt==null&&(Dt=1),Ve=we.a.parseColor(gt?Qe:Xt,Ve),Ve[3]*=Dt;for(var kt=ze?ae.getPolylineVertexCount(ct):ae.getCubicCurveVertexCount(ct[0],ct[1],ct[2],ct[3]),Rt=0,Gt=[],ln=[],Rn=Lt;Rn<Lt+kt;Rn++)de.attributes.position.get(Rn,Gt),Gt[0]*=At,Gt[1]*=Et,Gt[2]*=vt,Rn>Lt&&(Rt+=Me.dist(Gt,ln)),de.attributes.dist.set(Rn,Rt),Me.copy(ln,Gt);St=Math.max(St,Rt);for(var jn=Math.random()*(Le?Rt:Se),Rn=Lt;Rn<Lt+kt;Rn++)de.attributes.distAll.set(Rn,Rt),de.attributes.start.set(Rn,jn),de.attributes.offset.set(Rn,je(ae.attributes.offset.get(Rn))*xe/2),de.attributes.color.set(Rn,Ve);Lt+=kt}),this.material.set("spotSize",St*.1*ce),this.material.set("spotIntensity",ve.get("spotIntensity")),de.dirty()},setAnimationTime:function(ye){this.material.set("time",ye)}})},function(tt,Ue,Ne){"use strict";Ue.a=`@export ecgl.trail2.vertex
attribute vec3 position: POSITION;
attribute vec3 positionPrev;
attribute vec3 positionNext;
attribute float offset;
attribute float dist;
attribute float distAll;
attribute float start;
attribute vec4 a_Color : COLOR;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec4 viewport : VIEWPORT;
uniform float near : NEAR;
uniform float speed : 0;
uniform float trailLength: 0.3;
uniform float time;
uniform float period: 1000;
uniform float spotSize: 1;
varying vec4 v_Color;
varying float v_Percent;
varying float v_SpotPercent;
@import ecgl.common.wireframe.vertexHeader
@import ecgl.lines3D.clipNear
void main()
{
@import ecgl.lines3D.expandLine
gl_Position = currProj;
v_Color = a_Color;
@import ecgl.common.wireframe.vertexMain
#ifdef CONSTANT_SPEED
float t = mod((speed * time + start) / distAll, 1. + trailLength) - trailLength;
#else
float t = mod((time + start) / period, 1. + trailLength) - trailLength;
#endif
float trailLen = distAll * trailLength;
v_Percent = (dist - t * distAll) / trailLen;
v_SpotPercent = spotSize / distAll;
}
@end
@export ecgl.trail2.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
uniform float spotIntensity: 5;
varying vec4 v_Color;
varying float v_Percent;
varying float v_SpotPercent;
@import ecgl.common.wireframe.fragmentHeader
@import clay.util.srgb
void main()
{
if (v_Percent > 1.0 || v_Percent < 0.0) {
discard;
}
float fade = v_Percent;
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(color * v_Color);
#else
gl_FragColor = color * v_Color;
#endif
@import ecgl.common.wireframe.fragmentMain
if (v_Percent > (1.0 - v_SpotPercent)) {
gl_FragColor.rgb *= spotIntensity;
}
gl_FragColor.a *= fade;
}
@end`},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke);Be.a.extendSeriesModel({type:"series.lines3D",dependencies:["globe"],visualColorAccessPath:"lineStyle.color",getInitialData:function(we,Te){var ke=new Be.a.List(["value"],this);return ke.hasItemOption=!1,ke.initData(we.data,[],function(Ie,Ce,Me,je){if(Ie instanceof Array)return NaN;ke.hasItemOption=!0;var ye=Ie.value;if(ye!=null)return ye instanceof Array?ye[je]:ye}),ke},defaultOption:{coordinateSystem:"globe",globeIndex:0,geo3DIndex:0,zlevel:-10,polyline:!1,effect:{show:!1,period:4,trailWidth:4,trailLength:.2,spotIntensity:6},silent:!0,blendMode:"source-over",lineStyle:{width:1,opacity:.5}}})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(227),Te=Ne(228),ke=Ne(16);Be.a.registerVisual(Object(ke.a)("polygons3D"))},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(26);function Te(Ce,Me){for(var je=[],ye=0;ye<Me.length;ye++)je.push(Ce.dataToPoint(Me[ye]));return je}var ke=Be.a.extendSeriesModel({type:"series.polygons3D",getRegionModel:function(Ce){return this.getData().getItemModel(Ce)},getRegionPolygonCoords:function(Ce){var Me=this.coordinateSystem,je=this.getData().getItemModel(Ce),ye=je.option instanceof Array?je.option:je.getShallow("coords");je.get("multiPolygon")||(ye=[ye]);for(var ie=[],ae=0;ae<ye.length;ae++){for(var fe=[],de=1;de<ye[ae].length;de++)fe.push(Te(Me,ye[ae][de]));ie.push({exterior:Te(Me,ye[ae][0]),interiors:fe})}return ie},getInitialData:function(Ce){var Me=new Be.a.List(["value"],this);return Me.hasItemOption=!1,Me.initData(Ce.data,[],function(je,ye,ie,ae){if(je instanceof Array)return NaN;Me.hasItemOption=!0;var fe=je.value;if(fe!=null)return fe instanceof Array?fe[ae]:fe}),Me},defaultOption:{show:!0,data:null,multiPolygon:!1,progressiveThreshold:1e3,progressive:1e3,zlevel:-10,label:{show:!1,distance:2,textStyle:{fontSize:20,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:4}},itemStyle:{color:"#fff",borderWidth:0,borderColor:"#333"},emphasis:{itemStyle:{color:"#639fc0"},label:{show:!0}}}});Be.a.util.merge(ke.prototype,we.a);var Ie=ke},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(59),Te=Ne(2);Be.a.extendChartView({type:"polygons3D",__ecgl__:!0,init:function(ke,Ie){this.groupGL=new Te.a.Node,this._geo3DBuilderList=[],this._currentStep=0},render:function(ke,Ie,Ce){this.groupGL.removeAll();var Me=ke.coordinateSystem;Me&&Me.viewGL&&Me.viewGL.add(this.groupGL);var je=this._geo3DBuilderList[0];je||(je=new we.a(Ce),je.extrudeY=Me.type!=="mapbox3D",this._geo3DBuilderList[0]=je),this._updateShaderDefines(Me,je),je.update(ke,Ie,Ce),this._geo3DBuilderList.length=1,this.groupGL.add(je.rootNode)},incrementalPrepareRender:function(ke,Ie,Ce){this.groupGL.removeAll();var Me=ke.coordinateSystem;Me&&Me.viewGL&&Me.viewGL.add(this.groupGL),this._currentStep=0},incrementalRender:function(ke,Ie,Ce,Me){var je=this._geo3DBuilderList[this._currentStep],ye=Ie.coordinateSystem;je||(je=new we.a(Me),je.extrudeY=ye.type!=="mapbox3D",this._geo3DBuilderList[this._currentStep]=je),je.update(Ie,Ce,Me,ke.start,ke.end),this.groupGL.add(je.rootNode),this._updateShaderDefines(ye,je),this._currentStep++},_updateShaderDefines:function(ke,Ie){var Ce=ke.viewGL.isLinearSpace()?"define":"undefine";Ie.rootNode.traverse(function(Me){Me.material&&(Me.material[Ce]("fragment","SRGB_DECODE"),ke.type==="mapbox3D"&&(Me.material.define("fragment","NORMAL_UP_AXIS",2),Me.material.define("fragment","NORMAL_FRONT_AXIS",1)))})},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(230),Te=Ne(231),ke=Ne(232),Ie=Ne(16);Be.a.registerVisual(Object(Ie.a)("surface"))},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(26),Te=Ne(35),ke=Ne(44),Ie=Be.a.extendSeriesModel({type:"series.surface",dependencies:["globe","grid3D","geo3D"],visualColorAccessPath:"itemStyle.color",formatTooltip:function(Me){return Object(Te.a)(this,Me)},getInitialData:function(Me,je){var ye=Me.data;function ie(ct){return!(isNaN(ct.min)||isNaN(ct.max)||isNaN(ct.step))}function ae(ct){var Dt=Be.a.number.getPrecisionSafe;return Math.max(Dt(ct.min),Dt(ct.max),Dt(ct.step))+1}if(!ye)if(ye=[],Me.parametric){var Ve=Me.parametricEquation||{},Qe=Ve.u||{},$e=Ve.v||{};["u","v"].forEach(function(ct){if(!ie(Ve[ct])){console.error("Invalid parametricEquation.%s",ct);return}}),["x","y","z"].forEach(function(ct){if(typeof Ve[ct]!="function"){console.error("parametricEquation.%s needs to be function",ct);return}});for(var gt=ae(Qe),lt=ae($e),At=$e.min;At<$e.max+$e.step*.999;At+=$e.step)for(var Et=Qe.min;Et<Qe.max+Qe.step*.999;Et+=Qe.step){var vt=Be.a.number.round(Math.min(Et,Qe.max),gt),Lt=Be.a.number.round(Math.min(At,$e.max),lt),Se=Ve.x(vt,Lt),pe=Ve.y(vt,Lt),Ze=Ve.z(vt,Lt);ye.push([Se,pe,Ze,vt,Lt])}}else{var fe=Me.equation||{},de=fe.x||{},ve=fe.y||{};if(["x","y"].forEach(function(ct){if(!ie(fe[ct])){console.error("Invalid equation.%s",ct);return}}),typeof fe.z!="function"){console.error("equation.z needs to be function");return}for(var xe=ae(de),ce=ae(ve),pe=ve.min;pe<ve.max+ve.step*.999;pe+=ve.step)for(var Se=de.min;Se<de.max+de.step*.999;Se+=de.step){var Le=Be.a.number.round(Math.min(Se,de.max),xe),ze=Be.a.number.round(Math.min(pe,ve.max),ce),Ze=fe.z(Le,ze);ye.push([Le,ze,Ze])}}var St=["x","y","z"];Me.parametric&&St.push("u","v");var xt=Object(ke.a)(this,St,Me.data||ye);return xt},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,grid3DIndex:0,shading:"lambert",parametric:!1,wireframe:{show:!0,lineStyle:{color:"rgba(0,0,0,0.5)",width:1}},equation:{x:{min:-1,max:1,step:.1},y:{min:-1,max:1,step:.1},z:null},parametricEquation:{u:{min:-1,max:1,step:.1},v:{min:-1,max:1,step:.1},x:null,y:null,z:null},itemStyle:{},animationDurationUpdate:500}});Be.a.util.merge(Ie.prototype,we.a);var Ce=Ie},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(2),Te=Ne(3),ke=Ne(1),Ie=Ne.n(ke),Ce=Ne(60),Me=Ie.a.vec3;function je(ye){return isNaN(ye[0])||isNaN(ye[1])||isNaN(ye[2])}Be.a.extendChartView({type:"surface",__ecgl__:!0,init:function(ye,ie){this.groupGL=new we.a.Node},render:function(ye,ie,ae){var fe=this._prevSurfaceMesh;this._prevSurfaceMesh=this._surfaceMesh,this._surfaceMesh=fe,this._surfaceMesh||(this._surfaceMesh=this._createSurfaceMesh()),this.groupGL.remove(this._prevSurfaceMesh),this.groupGL.add(this._surfaceMesh);var de=ye.coordinateSystem,ve=ye.get("shading"),xe=ye.getData(),ce="ecgl."+ve;if((!this._surfaceMesh.material||this._surfaceMesh.material.shader.name!==ce)&&(this._surfaceMesh.material=we.a.createMaterial(ce,["VERTEX_COLOR","DOUBLE_SIDED"])),we.a.setMaterialFromModel(ve,this._surfaceMesh.material,ye,ae),de&&de.viewGL){de.viewGL.add(this.groupGL);var pe=de.viewGL.isLinearSpace()?"define":"undefine";this._surfaceMesh.material[pe]("fragment","SRGB_DECODE")}var Se=ye.get("parametric"),Le=this._getDataShape(xe,Se),ze=ye.getModel("wireframe"),Ze=ze.get("lineStyle.width"),Ve=ze.get("show")&&Ze>0;this._updateSurfaceMesh(this._surfaceMesh,ye,Le,Ve);var Qe=this._surfaceMesh.material;Ve?(Qe.define("WIREFRAME_QUAD"),Qe.set("wireframeLineWidth",Ze),Qe.set("wireframeLineColor",we.a.parseColor(ze.get("lineStyle.color")))):Qe.undefine("WIREFRAME_QUAD"),this._initHandler(ye,ae),this._updateAnimation(ye)},_updateAnimation:function(ye){we.a.updateVertexAnimation([["prevPosition","position"],["prevNormal","normal"]],this._prevSurfaceMesh,this._surfaceMesh,ye)},_createSurfaceMesh:function(){var ye=new we.a.Mesh({geometry:new we.a.Geometry({dynamic:!0,sortTriangles:!0}),shadowDepthMaterial:new we.a.Material({shader:new we.a.Shader(we.a.Shader.source("ecgl.sm.depth.vertex"),we.a.Shader.source("ecgl.sm.depth.fragment"))}),culling:!1,renderOrder:10,renderNormal:!0});return ye.geometry.createAttribute("barycentric","float",4),ye.geometry.createAttribute("prevPosition","float",3),ye.geometry.createAttribute("prevNormal","float",3),Be.a.util.extend(ye.geometry,Ce.a),ye},_initHandler:function(ye,ie){var ae=ye.getData(),fe=this._surfaceMesh,de=ye.coordinateSystem;function ve(ce,pe){for(var Se=1/0,Le=-1,ze=[],Ze=0;Ze<ce.length;Ze++){fe.geometry.attributes.position.get(ce[Ze],ze);var Ve=Me.dist(pe.array,ze);Ve<Se&&(Se=Ve,Le=ce[Ze])}return Le}fe.seriesIndex=ye.seriesIndex;var xe=-1;fe.off("mousemove"),fe.off("mouseout"),fe.on("mousemove",function(ce){var pe=ve(ce.triangle,ce.point);if(pe>=0){var Se=[];fe.geometry.attributes.position.get(pe,Se);for(var Le=de.pointToData(Se),ze=1/0,Ze=-1,Ve=[],Qe=0;Qe<ae.count();Qe++){Ve[0]=ae.get("x",Qe),Ve[1]=ae.get("y",Qe),Ve[2]=ae.get("z",Qe);var $e=Me.squaredDistance(Ve,Le);$e<ze&&(Ze=Qe,ze=$e)}Ze!==xe&&ie.dispatchAction({type:"grid3DShowAxisPointer",value:Le}),xe=Ze,fe.dataIndex=Ze}else fe.dataIndex=-1},this),fe.on("mouseout",function(ce){xe=-1,fe.dataIndex=-1,ie.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_updateSurfaceMesh:function(ye,ie,ae,fe){var de=ye.geometry,ve=ie.getData(),xe=ve.getLayout("points"),ce=0;ve.each(function(ot){ve.hasValue(ot)||ce++});var pe=ce||fe,Se=de.attributes.position,Le=de.attributes.normal,ze=de.attributes.texcoord0,Ze=de.attributes.barycentric,Ve=de.attributes.color,Qe=ae.row,$e=ae.column,gt=ie.get("shading"),lt=gt!=="color";if(pe){var At=(Qe-1)*($e-1)*4;Se.init(At),fe&&Ze.init(At)}else Se.value=new Float32Array(xe);Ve.init(de.vertexCount),ze.init(de.vertexCount);var Et=[0,3,1,1,3,2],vt=[[1,1,0,0],[0,1,0,1],[1,0,0,1],[1,0,1,0]],Lt=de.indices=new(de.vertexCount>65535?Uint32Array:Uint16Array)((Qe-1)*($e-1)*6),St=function(ot,Pt,Ht){Ht[1]=ot*$e+Pt,Ht[0]=ot*$e+Pt+1,Ht[3]=(ot+1)*$e+Pt+1,Ht[2]=(ot+1)*$e+Pt},xt=!1;if(pe){var ct=[],Dt=[],Xt=0;lt?Le.init(de.vertexCount):Le.value=null;for(var kt=[[],[],[]],Rt=[],Gt=[],ln=Me.create(),Rn=function(ot,Pt,Ht){var Mt=Pt*3;return Ht[0]=ot[Mt],Ht[1]=ot[Mt+1],Ht[2]=ot[Mt+2],Ht},jn=new Float32Array(xe.length),er=new Float32Array(xe.length/3*4),an=0;an<ve.count();an++)if(ve.hasValue(an)){var Jt=we.a.parseColor(ve.getItemVisual(an,"color")),Un=ve.getItemVisual(an,"opacity");Jt[3]*=Un,Jt[3]<.99&&(xt=!0);for(var Kn=0;Kn<4;Kn++)er[an*4+Kn]=Jt[Kn]}for(var ur=[1e7,1e7,1e7],an=0;an<Qe-1;an++)for(var Xn=0;Xn<$e-1;Xn++){var Nn=an*($e-1)+Xn,_n=Nn*4;St(an,Xn,ct);for(var un=!1,Kn=0;Kn<4;Kn++)Rn(xe,ct[Kn],Dt),je(Dt)&&(un=!0);for(var Kn=0;Kn<4;Kn++)un?Se.set(_n+Kn,ur):(Rn(xe,ct[Kn],Dt),Se.set(_n+Kn,Dt)),fe&&Ze.set(_n+Kn,vt[Kn]);for(var Kn=0;Kn<6;Kn++)Lt[Xt++]=Et[Kn]+_n;if(lt&&!un)for(var Kn=0;Kn<2;Kn++){for(var qt=Kn*3,Yt=0;Yt<3;Yt++){var gn=ct[Et[qt]+Yt];Rn(xe,gn,kt[Yt])}Me.sub(Rt,kt[0],kt[1]),Me.sub(Gt,kt[1],kt[2]),Me.cross(ln,Rt,Gt);for(var Yt=0;Yt<3;Yt++){var _t=ct[Et[qt]+Yt]*3;jn[_t]=jn[_t]+ln[0],jn[_t+1]=jn[_t+1]+ln[1],jn[_t+2]=jn[_t+2]+ln[2]}}}if(lt)for(var an=0;an<jn.length/3;an++)Rn(jn,an,ln),Me.normalize(ln,ln),jn[an*3]=ln[0],jn[an*3+1]=ln[1],jn[an*3+2]=ln[2];for(var Jt=[],wt=[],an=0;an<Qe-1;an++)for(var Xn=0;Xn<$e-1;Xn++){var Nn=an*($e-1)+Xn,_n=Nn*4;St(an,Xn,ct);for(var Kn=0;Kn<4;Kn++){for(var Yt=0;Yt<4;Yt++)Jt[Yt]=er[ct[Kn]*4+Yt];Ve.set(_n+Kn,Jt),lt&&(Rn(jn,ct[Kn],ln),Le.set(_n+Kn,ln));var gn=ct[Kn];wt[0]=gn%$e/($e-1),wt[1]=Math.floor(gn/$e)/(Qe-1),ze.set(_n+Kn,wt)}Nn++}}else{for(var wt=[],an=0;an<ve.count();an++){wt[0]=an%$e/($e-1),wt[1]=Math.floor(an/$e)/(Qe-1);var Jt=we.a.parseColor(ve.getItemVisual(an,"color")),Un=ve.getItemVisual(an,"opacity");Jt[3]*=Un,Jt[3]<.99&&(xt=!0),Ve.set(an,Jt),ze.set(an,wt)}for(var ct=[],ut=0,an=0;an<Qe-1;an++)for(var Xn=0;Xn<$e-1;Xn++){St(an,Xn,ct);for(var Kn=0;Kn<6;Kn++)Lt[ut++]=ct[Et[Kn]]}lt?de.generateVertexNormals():Le.value=null}ye.material.get("normalMap")&&de.generateTangents(),de.updateBoundingBox(),de.dirty(),ye.material.transparent=xt,ye.material.depthMask=!xt},_getDataShape:function(ye,ie){for(var ae=-1/0,fe=0,de=0,ve=0,xe=ie?"u":"x",ce=0;ce<ye.count();ce++){var pe=ye.get(xe,ce);if(pe<ae){if(ve&&ve!==de)throw new Error("Invalid data. data should be a row major 2d array.");ve=de,de=0,fe++}ae=pe,de++}return{row:fe+1,column:de}},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke);Be.a.registerLayout(function(we,Te){we.eachSeriesByType("surface",function(ke){var Ie=ke.coordinateSystem;(!Ie||Ie.type!=="cartesian3D")&&console.error("Surface chart only support cartesian3D coordinateSystem");var Ce=ke.getData(),Me=new Float32Array(3*Ce.count()),je=[NaN,NaN,NaN];if(Ie&&Ie.type==="cartesian3D"){var ye=Ie.dimensions,ie=ye.map(function(ae){return ke.coordDimToDataDim(ae)[0]});Ce.each(ie,function(ae,fe,de,ve){var xe;Ce.hasValue(ve)?xe=Ie.dataToPoint([ae,fe,de]):xe=je,Me[ve*3]=xe[0],Me[ve*3+1]=xe[1],Me[ve*3+2]=xe[2]})}Ce.setLayout("points",Me)})})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(83),Te=Ne(234),ke=Ne(235),Ie=Ne(16);Be.a.registerVisual(Object(Ie.a)("map3D")),Be.a.registerAction({type:"map3DChangeCamera",event:"map3dcamerachanged",update:"series:updateCamera"},function(Ce,Me){Me.eachComponent({mainType:"series",subType:"map3D",query:Ce},function(je){je.setView(Ce)})})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(38),Te=Ne(31),ke=Ne(32),Ie=Ne(26),Ce=Ne(80),Me=Ne(27),je=Ne(35),ye=Ne(82);function ie(de,ve){for(var xe=[],ce=0;ce<ve.length;ce++)xe.push(de.dataToPoint(ve[ce]));return xe}var ae=Be.a.extendSeriesModel({type:"series.map3D",layoutMode:"box",coordinateSystem:null,visualColorAccessPath:"itemStyle.color",optionUpdated:function(de){de=de||{};var ve=this.get("coordinateSystem");if(!(ve==null||ve==="geo3D")){var xe=["left","top","width","height","boxWidth","boxDepth","boxHeight","light","viewControl","postEffect","temporalSuperSampling","environment","groundPlane"],ce=[];xe.forEach(function(pe){de[pe]!=null&&ce.push(pe)}),ce.length&&console.warn("Property %s in map3D series will be ignored if coordinate system is %s",ce.join(", "),ve),this.get("groundPlane.show")&&(this.option.groundPlane.show=!1),this._geo=null}},getInitialData:function(de){de.data=this.getFilledRegions(de.data,de.map);var ve=Be.a.helper.completeDimensions(["value"],de.data),xe=new Be.a.List(ve,this);xe.initData(de.data);var ce={};return xe.each(function(pe){var Se=xe.getName(pe),Le=xe.getItemModel(pe);ce[Se]=Le}),this._regionModelMap=ce,xe},formatTooltip:function(de){return Object(je.a)(this,de)},getRegionModel:function(de){var ve=this.getData().getName(de);return this._regionModelMap[ve]||new Be.a.Model(null,this)},getRegionPolygonCoords:function(de){var ve=this.coordinateSystem,xe=this.getData().getName(de);if(ve.transform){var ce=ve.getRegion(xe);return ce?ce.geometries:[]}else{this._geo||(this._geo=ye.a.createGeo3D(this));for(var ce=this._geo.getRegion(xe),pe=[],Se=0;Se<ce.geometries.length;Se++){var Le=ce.geometries[Se],ze=[],Ze=ie(ve,Le.exterior);if(ze&&ze.length)for(var Ve=0;Ve<Le.interiors.length;Ve++)ze.push(ie(ve,ze[Ve]));pe.push({interiors:ze,exterior:Ze})}return pe}},getFormattedLabel:function(de,ve){var xe=Me.a.getFormattedLabel(this,de,ve);return xe==null&&(xe=this.getData().getName(de)),xe},defaultOption:{coordinateSystem:"geo3D",data:null}});Be.a.util.merge(ae.prototype,Ce.a),Be.a.util.merge(ae.prototype,we.a),Be.a.util.merge(ae.prototype,Te.a),Be.a.util.merge(ae.prototype,ke.a),Be.a.util.merge(ae.prototype,Ie.a);var fe=ae},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(2),Te=Ne(39),ke=Ne(34),Ie=Ne(59),Ce=Be.a.extendChartView({type:"map3D",__ecgl__:!0,init:function(Me,je){this._geo3DBuilder=new Ie.a(je),this.groupGL=new we.a.Node},render:function(Me,je,ye){var ie=Me.coordinateSystem;if(!(!ie||!ie.viewGL)){this.groupGL.add(this._geo3DBuilder.rootNode),ie.viewGL.add(this.groupGL);var ae;if(ie.type==="geo3D"){ae=ie,this._sceneHelper||(this._sceneHelper=new ke.a,this._sceneHelper.initLight(this.groupGL)),this._sceneHelper.setScene(ie.viewGL.scene),this._sceneHelper.updateLight(Me),ie.viewGL.setPostEffect(Me.getModel("postEffect"),ye),ie.viewGL.setTemporalSuperSampling(Me.getModel("temporalSuperSampling"));var fe=this._control;fe||(fe=this._control=new Te.a({zr:ye.getZr()}),this._control.init());var de=Me.getModel("viewControl");fe.setViewGL(ie.viewGL),fe.setFromViewControlModel(de,0),fe.off("update"),fe.on("update",function(){ye.dispatchAction({type:"map3DChangeCamera",alpha:fe.getAlpha(),beta:fe.getBeta(),distance:fe.getDistance(),from:this.uid,map3DId:Me.id})}),this._geo3DBuilder.extrudeY=!0}else this._control&&(this._control.dispose(),this._control=null),this._sceneHelper&&(this._sceneHelper.dispose(),this._sceneHelper=null),ae=Me.getData().getLayout("geo3D"),this._geo3DBuilder.extrudeY=!1;this._geo3DBuilder.update(Me,je,ye,0,Me.getData().count());var ve=ie.viewGL.isLinearSpace()?"define":"undefine";this._geo3DBuilder.rootNode.traverse(function(xe){xe.material&&xe.material[ve]("fragment","SRGB_DECODE")})}},afterRender:function(Me,je,ye,ie){var ae=ie.renderer,fe=Me.coordinateSystem;fe&&fe.type==="geo3D"&&(this._sceneHelper.updateAmbientCubemap(ae,Me,ye),this._sceneHelper.updateSkybox(ae,Me,ye))},dispose:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(237),Te=Ne(238),ke=Ne(45),Ie=Ne.n(ke),Ce=Ne(16);Be.a.registerVisual(Ie()("scatterGL","circle",null)),Be.a.registerVisual(Object(Ce.a)("scatterGL")),Be.a.registerLayout({seriesType:"scatterGL",reset:function(Me){var je=Me.coordinateSystem,ye;if(je){var ie=je.dimensions,ae=[];ie.length===1?ye=function(fe,de){for(var ve=new Float32Array((fe.end-fe.start)*2),xe=fe.start;xe<fe.end;xe++){var ce=(xe-fe.start)*2,pe=de.get(ie[0],xe),Se=je.dataToPoint(pe);ve[ce]=Se[0],ve[ce+1]=Se[1]}de.setLayout("points",ve)}:ie.length===2&&(ye=function(fe,de){for(var ve=new Float32Array((fe.end-fe.start)*2),xe=fe.start;xe<fe.end;xe++){var ce=(xe-fe.start)*2,pe=de.get(ie[0],xe),Se=de.get(ie[1],xe);ae[0]=pe,ae[1]=Se,ae=je.dataToPoint(ae),ve[ce]=ae[0],ve[ce+1]=ae[1]}de.setLayout("points",ve)})}return{progress:ye}}})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke);Be.a.extendSeriesModel({type:"series.scatterGL",dependencies:["grid","polar","geo","singleAxis"],visualColorAccessPath:"itemStyle.color",getInitialData:function(){return Be.a.helper.createList(this)},defaultOption:{coordinateSystem:"cartesian2d",zlevel:10,progressive:1e5,progressiveThreshold:1e5,large:!1,symbol:"circle",symbolSize:10,zoomScale:0,blendMode:"source-over",itemStyle:{opacity:.8},postEffect:{enable:!1,colorCorrection:{exposure:0,brightness:0,contrast:1,saturation:1,enable:!0}}}})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(2),Te=Ne(20),ke=Ne(62),Ie=Ne(84),Ce=Ne(3);Be.a.extendChartView({type:"scatterGL",__ecgl__:!0,init:function(Me,je){this.groupGL=new we.a.Node,this.viewGL=new Te.a("orthographic"),this.viewGL.add(this.groupGL),this._pointsBuilderList=[],this._currentStep=0,this._sizeScale=1,this._glViewHelper=new Ie.a(this.viewGL)},render:function(Me,je,ye){if(this.groupGL.removeAll(),this._glViewHelper.reset(Me,ye),!!Me.getData().count()){var ie=this._pointsBuilderList[0];ie||(ie=this._pointsBuilderList[0]=new ke.a(!0,ye)),this._pointsBuilderList.length=1,this.groupGL.add(ie.rootNode),this._removeTransformInPoints(Me.getData().getLayout("points")),ie.update(Me,je,ye),this.viewGL.setPostEffect(Me.getModel("postEffect"),ye)}},incrementalPrepareRender:function(Me,je,ye){this.groupGL.removeAll(),this._glViewHelper.reset(Me,ye),this._currentStep=0,this.viewGL.setPostEffect(Me.getModel("postEffect"),ye)},incrementalRender:function(Me,je,ye,ie){if(!(Me.end<=Me.start)){var ae=this._pointsBuilderList[this._currentStep];ae||(ae=new ke.a(!0,ie),this._pointsBuilderList[this._currentStep]=ae),this.groupGL.add(ae.rootNode),this._removeTransformInPoints(je.getData().getLayout("points")),ae.setSizeScale(this._sizeScale),ae.update(je,ye,ie,Me.start,Me.end),ie.getZr().refresh(),this._currentStep++}},updateTransform:function(Me,je,ye){if(Me.coordinateSystem.getRoamTransform){this._glViewHelper.updateTransform(Me,ye);var ie=this._glViewHelper.getZoom(),ae=Math.max((Me.get("zoomScale")||0)*(ie-1)+1,0);this._sizeScale=ae,this._pointsBuilderList.forEach(function(fe){fe.setSizeScale(ae)})}},_removeTransformInPoints:function(Me){if(Me)for(var je=[],ye=0;ye<Me.length;ye+=2)je[0]=Me[ye],je[1]=Me[ye+1],this._glViewHelper.removeTransformInPoint(je),Me[ye]=je[0],Me[ye+1]=je[1]},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(240),Te=Ne(246),ke=Ne(45),Ie=Ne.n(ke),Ce=Ne(16);Be.a.registerVisual(Ie()("graphGL","circle",null)),Be.a.registerVisual(Object(Ce.a)("graphGL")),Be.a.registerVisual(function(je){var ye={};je.eachSeriesByType("graphGL",function(ie){var ae=ie.getCategoriesData(),fe=ie.getData(),de={};ae.each(function(ve){var xe=ae.getName(ve);de[xe]=ve;var ce=ae.getItemModel(ve),pe=ce.get("itemStyle.color")||ie.getColorFromPalette(xe,ye);ae.setItemVisual(ve,"color",pe)}),ae.count()&&fe.each(function(ve){var xe=fe.getItemModel(ve),ce=xe.getShallow("category");ce!=null&&(typeof ce=="string"&&(ce=de[ce]),fe.getItemVisual(ve,"color",!0)||fe.setItemVisual(ve,"color",ae.getItemVisual(ce,"color")))})})}),Be.a.registerVisual(function(je){je.eachSeriesByType("graphGL",function(ye){var ie=ye.getGraph(),ae=ye.getEdgeData(),fe="lineStyle.color".split("."),de="lineStyle.opacity".split(".");ae.setVisual("color",ye.get(fe)),ae.setVisual("opacity",ye.get(de)),ae.each(function(ve){var xe=ae.getItemModel(ve),ce=ie.getEdgeByIndex(ve),pe=xe.get(fe),Se=xe.get(de);switch(pe){case"source":pe=ce.node1.getVisual("color");break;case"target":pe=ce.node2.getVisual("color");break}ce.setVisual("color",pe),ce.setVisual("opacity",Se)})})}),Be.a.registerAction({type:"graphGLRoam",event:"graphglroam",update:"series.graphGL:roam"},function(je,ye){ye.eachComponent({mainType:"series",query:je},function(ie){ie.setView(je)})});function Me(){}Be.a.registerAction({type:"graphGLStartLayout",event:"graphgllayoutstarted",update:"series.graphGL:startLayout"},Me),Be.a.registerAction({type:"graphGLStopLayout",event:"graphgllayoutstopped",update:"series.graphGL:stopLayout"},Me),Be.a.registerAction({type:"graphGLFocusNodeAdjacency",event:"graphGLFocusNodeAdjacency",update:"series.graphGL:focusNodeAdjacency"},Me),Be.a.registerAction({type:"graphGLUnfocusNodeAdjacency",event:"graphGLUnfocusNodeAdjacency",update:"series.graphGL:unfocusNodeAdjacency"},Me)},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(241),Te=Ne(27),ke=Be.a.extendSeriesModel({type:"series.graphGL",visualColorAccessPath:"itemStyle.color",init:function(Ce){ke.superApply(this,"init",arguments),this.legendDataProvider=function(){return this._categoriesData},this._updateCategoriesData()},mergeOption:function(Ce){ke.superApply(this,"mergeOption",arguments),this._updateCategoriesData()},getFormattedLabel:function(Ce,Me,je,ye){var ie=Te.a.getFormattedLabel(this,Ce,Me,je,ye);if(ie==null){var ae=this.getData(),fe=ae.dimensions[ae.dimensions.length-1];ie=ae.get(fe,Ce)}return ie},getInitialData:function(Ce,Me){var je=Ce.edges||Ce.links||[],ye=Ce.data||Ce.nodes||[],ie=this;if(ye&&je)return Object(we.a)(ye,je,this,!0,ae).data;function ae(fe,de){fe.wrapMethod("getItemModel",function(pe){var Se=ie._categoriesModels,Le=pe.getShallow("category"),ze=Se[Le];return ze&&(ze.parentModel=pe.parentModel,pe.parentModel=ze),pe});var ve=ie.getModel("edgeLabel"),xe=new Be.a.Model({label:ve.option},ve.parentModel,Me);de.wrapMethod("getItemModel",function(pe){return pe.customizeGetParent(ce),pe});function ce(pe){return pe=this.parsePath(pe),pe&&pe[0]==="label"?xe:this.parentModel}}},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(Ce,Me,je){if(je==="edge"){var ye=this.getData(),ie=this.getDataParams(Ce,je),ae=ye.graph.getEdgeByIndex(Ce),fe=ye.getName(ae.node1.dataIndex),de=ye.getName(ae.node2.dataIndex),ve=[];return fe!=null&&ve.push(fe),de!=null&&ve.push(de),ve=Be.a.format.encodeHTML(ve.join(" > ")),ie.value&&(ve+=" : "+Be.a.format.encodeHTML(ie.value)),ve}else return ke.superApply(this,"formatTooltip",arguments)},_updateCategoriesData:function(){var Ce=(this.option.categories||[]).map(function(je){return je.value!=null?je:Be.a.util.extend({value:0},je)}),Me=new Be.a.List(["value"],this);Me.initData(Ce),this._categoriesData=Me,this._categoriesModels=Me.mapArray(function(je){return Me.getItemModel(je,!0)})},setView:function(Ce){Ce.zoom!=null&&(this.option.zoom=Ce.zoom),Ce.offset!=null&&(this.option.offset=Ce.offset)},setNodePosition:function(Ce){for(var Me=0;Me<Ce.length/2;Me++){var je=Ce[Me*2],ye=Ce[Me*2+1],ie=this.getData().getRawDataItem(Me);ie.x=je,ie.y=ye}},isAnimationEnabled:function(){return ke.superCall(this,"isAnimationEnabled")&&!(this.get("layout")==="force"&&this.get("force.layoutAnimation"))},defaultOption:{zlevel:10,z:2,legendHoverLink:!0,layout:"forceAtlas2",forceAtlas2:{initLayout:null,GPU:!0,steps:1,maxSteps:1e3,repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,edgeWeightInfluence:1,edgeWeight:[1,4],nodeWeight:[1,4],preventOverlap:!1,gravityCenter:null},focusNodeAdjacency:!0,focusNodeAdjacencyOn:"mouseover",left:"center",top:"center",symbol:"circle",symbolSize:5,roam:!1,center:null,zoom:1,label:{show:!1,formatter:"{b}",position:"right",distance:5,textStyle:{fontSize:14}},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{label:{show:!0}},animation:!1}}),Ie=ke},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(242),Te=Ne.n(we),ke=Ne(245),Ie=Ne.n(ke),Ce=Ne(3);Ue.a=function(Me,je,ye,ie,ae){for(var fe=new Te.a(ie),de=0;de<Me.length;de++)fe.addNode(Ce.a.firstNotNull(Me[de].id,Me[de].name,de),de);for(var ve=[],xe=[],ce=0,de=0;de<je.length;de++){var pe=je[de],Se=pe.source,Le=pe.target;fe.addEdge(Se,Le,ce)&&(xe.push(pe),ve.push(Ce.a.firstNotNull(pe.id,Se+" > "+Le)),ce++)}var ze,Ze=Be.a.helper.completeDimensions(["value"],Me);ze=new Be.a.List(Ze,ye),ze.initData(Me);var Ve=new Be.a.List(["value"],ye);return Ve.initData(xe,ve),ae&&ae(ze,Ve),Ie()({mainData:ze,struct:fe,structAttr:"graph",datas:{node:ze,edge:Ve},datasAttr:{node:"data",edge:"edgeData"}}),fe.update(),fe}},function(tt,Ue,Ne){var Ke=Ne(85),Be=Ke.__DEV__,we=Ne(12),Te=Ne(244),ke=Te.enableClassCheck;function Ie(fe){return"_EC_"+fe}var Ce=function(fe){this._directed=fe||!1,this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this.data,this.edgeData},Me=Ce.prototype;Me.type="graph",Me.isDirected=function(){return this._directed},Me.addNode=function(fe,de){fe=fe||""+de;var ve=this._nodesMap;if(!ve[Ie(fe)]){var xe=new je(fe,de);return xe.hostGraph=this,this.nodes.push(xe),ve[Ie(fe)]=xe,xe}},Me.getNodeByIndex=function(fe){var de=this.data.getRawIndex(fe);return this.nodes[de]},Me.getNodeById=function(fe){return this._nodesMap[Ie(fe)]},Me.addEdge=function(fe,de,ve){var xe=this._nodesMap,ce=this._edgesMap;if(typeof fe=="number"&&(fe=this.nodes[fe]),typeof de=="number"&&(de=this.nodes[de]),je.isInstance(fe)||(fe=xe[Ie(fe)]),je.isInstance(de)||(de=xe[Ie(de)]),!(!fe||!de)){var pe=fe.id+"-"+de.id;if(!ce[pe]){var Se=new ye(fe,de,ve);return Se.hostGraph=this,this._directed&&(fe.outEdges.push(Se),de.inEdges.push(Se)),fe.edges.push(Se),fe!==de&&de.edges.push(Se),this.edges.push(Se),ce[pe]=Se,Se}}},Me.getEdgeByIndex=function(fe){var de=this.edgeData.getRawIndex(fe);return this.edges[de]},Me.getEdge=function(fe,de){je.isInstance(fe)&&(fe=fe.id),je.isInstance(de)&&(de=de.id);var ve=this._edgesMap;return this._directed?ve[fe+"-"+de]:ve[fe+"-"+de]||ve[de+"-"+fe]},Me.eachNode=function(fe,de){for(var ve=this.nodes,xe=ve.length,ce=0;ce<xe;ce++)ve[ce].dataIndex>=0&&fe.call(de,ve[ce],ce)},Me.eachEdge=function(fe,de){for(var ve=this.edges,xe=ve.length,ce=0;ce<xe;ce++)ve[ce].dataIndex>=0&&ve[ce].node1.dataIndex>=0&&ve[ce].node2.dataIndex>=0&&fe.call(de,ve[ce],ce)},Me.breadthFirstTraverse=function(fe,de,ve,xe){if(je.isInstance(de)||(de=this._nodesMap[Ie(de)]),!!de){for(var ce=ve==="out"?"outEdges":ve==="in"?"inEdges":"edges",pe=0;pe<this.nodes.length;pe++)this.nodes[pe].__visited=!1;if(!fe.call(xe,de,null))for(var Se=[de];Se.length;)for(var Le=Se.shift(),ze=Le[ce],pe=0;pe<ze.length;pe++){var Ze=ze[pe],Ve=Ze.node1===Le?Ze.node2:Ze.node1;if(!Ve.__visited){if(fe.call(xe,Ve,Le))return;Se.push(Ve),Ve.__visited=!0}}}},Me.update=function(){for(var fe=this.data,de=this.edgeData,ve=this.nodes,xe=this.edges,ce=0,pe=ve.length;ce<pe;ce++)ve[ce].dataIndex=-1;for(var ce=0,pe=fe.count();ce<pe;ce++)ve[fe.getRawIndex(ce)].dataIndex=ce;de.filterSelf(function(Se){var Le=xe[de.getRawIndex(Se)];return Le.node1.dataIndex>=0&&Le.node2.dataIndex>=0});for(var ce=0,pe=xe.length;ce<pe;ce++)xe[ce].dataIndex=-1;for(var ce=0,pe=de.count();ce<pe;ce++)xe[de.getRawIndex(ce)].dataIndex=ce},Me.clone=function(){for(var fe=new Ce(this._directed),de=this.nodes,ve=this.edges,xe=0;xe<de.length;xe++)fe.addNode(de[xe].id,de[xe].dataIndex);for(var xe=0;xe<ve.length;xe++){var ce=ve[xe];fe.addEdge(ce.node1.id,ce.node2.id,ce.dataIndex)}return fe};function je(fe,de){this.id=fe==null?"":fe,this.inEdges=[],this.outEdges=[],this.edges=[],this.hostGraph,this.dataIndex=de==null?-1:de}je.prototype={constructor:je,degree:function(){return this.edges.length},inDegree:function(){return this.inEdges.length},outDegree:function(){return this.outEdges.length},getModel:function(fe){if(!(this.dataIndex<0)){var de=this.hostGraph,ve=de.data.getItemModel(this.dataIndex);return ve.getModel(fe)}}};function ye(fe,de,ve){this.node1=fe,this.node2=de,this.dataIndex=ve==null?-1:ve}ye.prototype.getModel=function(fe){if(!(this.dataIndex<0)){var de=this.hostGraph,ve=de.edgeData.getItemModel(this.dataIndex);return ve.getModel(fe)}};var ie=function(fe,de){return{getValue:function(ve){var xe=this[fe][de];return xe.get(xe.getDimension(ve||"value"),this.dataIndex)},setVisual:function(ve,xe){this.dataIndex>=0&&this[fe][de].setItemVisual(this.dataIndex,ve,xe)},getVisual:function(ve,xe){return this[fe][de].getItemVisual(this.dataIndex,ve,xe)},setLayout:function(ve,xe){this.dataIndex>=0&&this[fe][de].setItemLayout(this.dataIndex,ve,xe)},getLayout:function(){return this[fe][de].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[fe][de].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[fe][de].getRawIndex(this.dataIndex)}}};we.mixin(je,ie("hostGraph","data")),we.mixin(ye,ie("hostGraph","edgeData")),Ce.Node=je,Ce.Edge=ye,ke(je),ke(ye);var ae=Ce;tt.exports=ae},function(tt,Ue){var Ne;Ne=function(){return this}();try{Ne=Ne||Function("return this")()||(0,eval)("this")}catch(Ke){typeof window=="object"&&(Ne=window)}tt.exports=Ne},function(tt,Ue,Ne){var Ke=Ne(85),Be=Ke.__DEV__,we=Ne(12),Te=".",ke="___EC__COMPONENT__CONTAINER___";function Ie(ve){var xe={main:"",sub:""};return ve&&(ve=ve.split(Te),xe.main=ve[0]||"",xe.sub=ve[1]||""),xe}function Ce(ve){we.assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(ve),'componentType "'+ve+'" illegal')}function Me(ve,xe){ve.$constructor=ve,ve.extend=function(ce){var pe=this,Se=function(){ce.$constructor?ce.$constructor.apply(this,arguments):pe.apply(this,arguments)};return we.extend(Se.prototype,ce),Se.extend=this.extend,Se.superCall=ie,Se.superApply=ae,we.inherits(Se,this),Se.superClass=pe,Se}}var je=0;function ye(ve){var xe=["__\0is_clz",je++,Math.random().toFixed(3)].join("_");ve.prototype[xe]=!0,ve.isInstance=function(ce){return!!(ce&&ce[xe])}}function ie(ve,xe){var ce=we.slice(arguments,2);return this.superClass.prototype[xe].apply(ve,ce)}function ae(ve,xe,ce){return this.superClass.prototype[xe].apply(ve,ce)}function fe(ve,xe){xe=xe||{};var ce={};ve.registerClass=function(Le,ze){if(ze){if(Ce(ze),ze=Ie(ze),!ze.sub)ce[ze.main]=Le;else if(ze.sub!==ke){var Ze=pe(ze);Ze[ze.sub]=Le}}return Le},ve.getClass=function(Le,ze,Ze){var Ve=ce[Le];if(Ve&&Ve[ke]&&(Ve=ze?Ve[ze]:null),Ze&&!Ve)throw new Error(ze?"Component "+Le+"."+(ze||"")+" not exists. Load it first.":Le+".type should be specified.");return Ve},ve.getClassesByMainType=function(Le){Le=Ie(Le);var ze=[],Ze=ce[Le.main];return Ze&&Ze[ke]?we.each(Ze,function(Ve,Qe){Qe!==ke&&ze.push(Ve)}):ze.push(Ze),ze},ve.hasClass=function(Le){return Le=Ie(Le),!!ce[Le.main]},ve.getAllClassMainTypes=function(){var Le=[];return we.each(ce,function(ze,Ze){Le.push(Ze)}),Le},ve.hasSubTypes=function(Le){Le=Ie(Le);var ze=ce[Le.main];return ze&&ze[ke]},ve.parseClassType=Ie;function pe(Le){var ze=ce[Le.main];return(!ze||!ze[ke])&&(ze=ce[Le.main]={},ze[ke]=!0),ze}if(xe.registerWhenExtend){var Se=ve.extend;Se&&(ve.extend=function(Le){var ze=Se.call(this,Le);return ve.registerClass(ze,Le.type)})}return ve}function de(ve,xe){}Ue.parseClassType=Ie,Ue.enableClassExtend=Me,Ue.enableClassCheck=ye,Ue.enableClassManagement=fe,Ue.setReadOnly=de},function(tt,Ue,Ne){var Ke=Ne(12),Be=Ke.each,we="\0__link_datas",Te="\0__link_mainData";function ke(de){var ve=de.mainData,xe=de.datas;xe||(xe={main:ve},de.datasAttr={main:"data"}),de.datas=de.mainData=null,ie(ve,xe,de),Be(xe,function(ce){Be(ve.TRANSFERABLE_METHODS,function(pe){ce.wrapMethod(pe,Ke.curry(Ie,de))})}),ve.wrapMethod("cloneShallow",Ke.curry(Me,de)),Be(ve.CHANGABLE_METHODS,function(ce){ve.wrapMethod(ce,Ke.curry(Ce,de))}),Ke.assert(xe[ve.dataType]===ve)}function Ie(de,ve){if(ye(this)){var xe=Ke.extend({},this[we]);xe[this.dataType]=ve,ie(ve,xe,de)}else ae(ve,this.dataType,this[Te],de);return ve}function Ce(de,ve){return de.struct&&de.struct.update(this),ve}function Me(de,ve){return Be(ve[we],function(xe,ce){xe!==ve&&ae(xe.cloneShallow(),ce,ve,de)}),ve}function je(de){var ve=this[Te];return de==null||ve==null?ve:ve[we][de]}function ye(de){return de[Te]===de}function ie(de,ve,xe){de[we]={},Be(ve,function(ce,pe){ae(ce,pe,de,xe)})}function ae(de,ve,xe,ce){xe[we][ve]=de,de[Te]=xe,de.dataType=ve,ce.struct&&(de[ce.structAttr]=ce.struct,ce.struct[ce.datasAttr[ve]]=de),de.getLinkedData=je}var fe=ke;tt.exports=fe},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(41),Te=Ne.n(we),ke=Ne(2),Ie=Ne(20),Ce=Ne(86),Me=Ne(3),je=Ne(247),ye=Ne(249),ie=Ne(65),ae=Ne.n(ie),fe=Ne(1),de=Ne.n(fe),ve=Ne(251),xe=Ne(62),ce=Ne(252),pe=de.a.vec2;ke.a.Shader.import(ce.a);var Se=1;Be.a.extendChartView({type:"graphGL",__ecgl__:!0,init:function(Le,ze){this.groupGL=new ke.a.Node,this.viewGL=new Ie.a("orthographic"),this.viewGL.camera.left=this.viewGL.camera.right=0,this.viewGL.add(this.groupGL),this._pointsBuilder=new xe.a(!0,ze),this._forceEdgesMesh=new ke.a.Mesh({material:new ke.a.Material({shader:ke.a.createShader("ecgl.forceAtlas2.edges"),transparent:!0,depthMask:!1,depthTest:!1}),$ignorePicking:!0,geometry:new ke.a.Geometry({attributes:{node:new ke.a.Geometry.Attribute("node","float",2),color:new ke.a.Geometry.Attribute("color","float",4,"COLOR")},dynamic:!0,mainAttribute:"node"}),renderOrder:-1,mode:ke.a.Mesh.LINES}),this._edgesMesh=new ke.a.Mesh({material:new ke.a.Material({shader:ke.a.createShader("ecgl.meshLines2D"),transparent:!0,depthMask:!1,depthTest:!1}),$ignorePicking:!0,geometry:new Ce.a({useNativeLine:!1,dynamic:!0}),renderOrder:-1,culling:!1}),this._layoutId=0,this._control=new ve.a({zr:ze.getZr(),viewGL:this.viewGL}),this._control.setTarget(this.groupGL),this._control.init(),this._clickHandler=this._clickHandler.bind(this)},render:function(Le,ze,Ze){this.groupGL.add(this._pointsBuilder.rootNode),this._model=Le,this._api=Ze,this._initLayout(Le,ze,Ze),this._pointsBuilder.update(Le,ze,Ze),this._forceLayoutInstance instanceof je.a||this.groupGL.remove(this._forceEdgesMesh),this._updateCamera(Le,Ze),this._control.off("update"),this._control.on("update",function(){Ze.dispatchAction({type:"graphGLRoam",seriesId:Le.id,zoom:this._control.getZoom(),offset:this._control.getOffset()}),this._pointsBuilder.updateView(this.viewGL.camera)},this),this._control.setZoom(Me.a.firstNotNull(Le.get("zoom"),1)),this._control.setOffset(Le.get("offset")||[0,0]);var Ve=this._pointsBuilder.getPointsMesh();if(Ve.off("mousemove",this._mousemoveHandler),Ve.off("mouseout",this._mouseOutHandler,this),Ze.getZr().off("click",this._clickHandler),this._pointsBuilder.highlightOnMouseover=!0,Le.get("focusNodeAdjacency")){var Qe=Le.get("focusNodeAdjacencyOn");Qe==="click"?Ze.getZr().on("click",this._clickHandler):Qe==="mouseover"?(Ve.on("mousemove",this._mousemoveHandler,this),Ve.on("mouseout",this._mouseOutHandler,this),this._pointsBuilder.highlightOnMouseover=!1):console.warn("Unkown focusNodeAdjacencyOn value s"+Qe)}this._lastMouseOverDataIndex=-1},_clickHandler:function(Le){if(!this._layouting){var ze=this._pointsBuilder.getPointsMesh().dataIndex;ze>=0?this._api.dispatchAction({type:"graphGLFocusNodeAdjacency",seriesId:this._model.id,dataIndex:ze}):this._api.dispatchAction({type:"graphGLUnfocusNodeAdjacency",seriesId:this._model.id})}},_mousemoveHandler:function(Le){if(!this._layouting){var ze=this._pointsBuilder.getPointsMesh().dataIndex;ze>=0?ze!==this._lastMouseOverDataIndex&&this._api.dispatchAction({type:"graphGLFocusNodeAdjacency",seriesId:this._model.id,dataIndex:ze}):this._mouseOutHandler(Le),this._lastMouseOverDataIndex=ze}},_mouseOutHandler:function(Le){this._layouting||(this._api.dispatchAction({type:"graphGLUnfocusNodeAdjacency",seriesId:this._model.id}),this._lastMouseOverDataIndex=-1)},_updateForceEdgesGeometry:function(Le,ze){var Ze=this._forceEdgesMesh.geometry,Ve=ze.getEdgeData(),Qe=0,$e=this._forceLayoutInstance,gt=Ve.count()*2;Ze.attributes.node.init(gt),Ze.attributes.color.init(gt),Ve.each(function(lt){var At=Le[lt];Ze.attributes.node.set(Qe,$e.getNodeUV(At.node1)),Ze.attributes.node.set(Qe+1,$e.getNodeUV(At.node2));var Et=Ve.getItemVisual(At.dataIndex,"color"),vt=ke.a.parseColor(Et);vt[3]*=Me.a.firstNotNull(Ve.getItemVisual(At.dataIndex,"opacity"),1),Ze.attributes.color.set(Qe,vt),Ze.attributes.color.set(Qe+1,vt),Qe+=2}),Ze.dirty()},_updateMeshLinesGeometry:function(){var ze=this._model.getEdgeData(),Le=this._edgesMesh.geometry,ze=this._model.getEdgeData(),Ze=this._model.getData().getLayout("points");Le.resetOffset(),Le.setVertexCount(ze.count()*Le.getLineVertexCount()),Le.setTriangleCount(ze.count()*Le.getLineTriangleCount());var Ve=[],Qe=[],$e=["lineStyle","width"];this._originalEdgeColors=new Float32Array(ze.count()*4),this._edgeIndicesMap=new Float32Array(ze.count()),ze.each(function(gt){var lt=ze.graph.getEdgeByIndex(gt),At=lt.node1.dataIndex*2,Et=lt.node2.dataIndex*2;Ve[0]=Ze[At],Ve[1]=Ze[At+1],Qe[0]=Ze[Et],Qe[1]=Ze[Et+1];var vt=ze.getItemVisual(lt.dataIndex,"color"),Lt=ke.a.parseColor(vt);Lt[3]*=Me.a.firstNotNull(ze.getItemVisual(lt.dataIndex,"opacity"),1);var St=ze.getItemModel(lt.dataIndex),xt=Me.a.firstNotNull(St.get($e),1)*this._api.getDevicePixelRatio();Le.addLine(Ve,Qe,Lt,xt);for(var ct=0;ct<4;ct++)this._originalEdgeColors[lt.dataIndex*4+ct]=Lt[ct];this._edgeIndicesMap[lt.dataIndex]=gt},!1,this),Le.dirty()},_updateForceNodesGeometry:function(Le){for(var ze=this._pointsBuilder.getPointsMesh(),Ze=[],Ve=0;Ve<Le.count();Ve++)this._forceLayoutInstance.getNodeUV(Ve,Ze),ze.geometry.attributes.position.set(Ve,Ze);ze.geometry.dirty("position")},_initLayout:function(Le,ze,Ze){var Ve=Le.get("layout"),Qe=Le.getGraph(),$e=Le.getBoxLayoutParams(),gt=Te.a.getLayoutRect($e,{width:Ze.getWidth(),height:Ze.getHeight()});Ve==="force"&&(console.warn("Currently only forceAtlas2 layout supported."),Ve="forceAtlas2"),this.stopLayout(Le,ze,Ze,{beforeLayout:!0});var lt=Le.getData(),At=Le.getData();if(Ve==="forceAtlas2"){var Et=Le.getModel("forceAtlas2"),vt=this._forceLayoutInstance,Lt=[],St=[],xt=lt.getDataExtent("value"),ct=At.getDataExtent("value"),Dt=Me.a.firstNotNull(Et.get("edgeWeight"),1),Xt=Me.a.firstNotNull(Et.get("nodeWeight"),1);typeof Dt=="number"&&(Dt=[Dt,Dt]),typeof Xt=="number"&&(Xt=[Xt,Xt]);var kt=0,Rt={},Gt=new Float32Array(lt.count()*2);if(Qe.eachNode(function(Rn){var jn=Rn.dataIndex,er=lt.get("value",jn),an,Un;if(lt.hasItemOption){var Kn=lt.getItemModel(jn);an=Kn.get("x"),Un=Kn.get("y")}an==null&&(an=gt.x+Math.random()*gt.width,Un=gt.y+Math.random()*gt.height),Gt[kt*2]=an,Gt[kt*2+1]=Un,Rt[Rn.id]=kt++;var ur=Be.a.number.linearMap(er,xt,Xt);isNaN(ur)&&(isNaN(Xt[0])?ur=1:ur=Xt[0]),Lt.push({x:an,y:Un,mass:ur,size:lt.getItemVisual(jn,"symbolSize")})}),lt.setLayout("points",Gt),Qe.eachEdge(function(Rn){var jn=Rn.dataIndex,er=lt.get("value",jn),an=Be.a.number.linearMap(er,ct,Dt);isNaN(an)&&(isNaN(Dt[0])?an=1:an=Dt[0]),St.push({node1:Rt[Rn.node1.id],node2:Rt[Rn.node2.id],weight:an,dataIndex:jn})}),!vt){var ln=Et.get("GPU");this._forceLayoutInstance&&(ln&&!(this._forceLayoutInstance instanceof je.a)||!ln&&!(this._forceLayoutInstance instanceof ye.a))&&(this._forceLayoutInstanceToDispose=this._forceLayoutInstance),vt=this._forceLayoutInstance=ln?new je.a:new ye.a}vt.initData(Lt,St),vt.updateOption(Et.option),this._updateForceEdgesGeometry(vt.getEdges(),Le),this._updatePositionTexture(),Ze.dispatchAction({type:"graphGLStartLayout",from:this.uid})}else{var Gt=new Float32Array(lt.count()*2),kt=0;Qe.eachNode(function(er){var an=er.dataIndex,Un,Kn;if(lt.hasItemOption){var ur=lt.getItemModel(an);Un=ur.get("x"),Kn=ur.get("y")}Gt[kt++]=Un,Gt[kt++]=Kn}),lt.setLayout("points",Gt),this._updateAfterLayout(Le,ze,Ze)}},_updatePositionTexture:function(){var Le=this._forceLayoutInstance.getNodePositionTexture();this._pointsBuilder.setPositionTexture(Le),this._forceEdgesMesh.material.set("positionTex",Le)},startLayout:function(Le,ze,$e,Ve){if(!(Ve&&Ve.from!=null&&Ve.from!==this.uid)){var Qe=this.viewGL,$e=this._api,gt=this._forceLayoutInstance,lt=this._model.getData(),At=this._model.getModel("forceAtlas2");if(!gt){console.error("None layout don't have startLayout action");return}if(this.groupGL.remove(this._edgesMesh),this.groupGL.add(this._forceEdgesMesh),!!this._forceLayoutInstance){this._updateForceNodesGeometry(Le.getData()),this._pointsBuilder.hideLabels();var Et=this,vt=this._layoutId=Se++,Lt=At.getShallow("maxSteps"),St=At.getShallow("steps"),xt=0,ct=Math.max(St*2,20),Dt=function(Xt){if(Xt===Et._layoutId){if(gt.isFinished(Lt)){$e.dispatchAction({type:"graphGLStopLayout",from:Et.uid}),$e.dispatchAction({type:"graphGLFinishLayout",points:lt.getLayout("points"),from:Et.uid});return}gt.update(Qe.layer.renderer,St,function(){Et._updatePositionTexture(),xt+=St,xt>=ct&&(Et._syncNodePosition(Le),xt=0),$e.getZr().refresh(),ae()(function(){Dt(Xt)})})}};ae()(function(){Et._forceLayoutInstanceToDispose&&(Et._forceLayoutInstanceToDispose.dispose(Qe.layer.renderer),Et._forceLayoutInstanceToDispose=null),Dt(vt)}),this._layouting=!0}}},stopLayout:function(Le,ze,Ze,Ve){Ve&&Ve.from!=null&&Ve.from!==this.uid||(this._layoutId=0,this.groupGL.remove(this._forceEdgesMesh),this.groupGL.add(this._edgesMesh),this._forceLayoutInstance&&this.viewGL.layer&&(Ve&&Ve.beforeLayout||(this._syncNodePosition(Le),this._updateAfterLayout(Le,ze,Ze)),this._api.getZr().refresh(),this._layouting=!1))},_syncNodePosition:function(Le){var ze=this._forceLayoutInstance.getNodePosition(this.viewGL.layer.renderer);Le.getData().setLayout("points",ze),Le.setNodePosition(ze)},_updateAfterLayout:function(Le,ze,Ze){this._updateMeshLinesGeometry(),this._pointsBuilder.removePositionTexture(),this._pointsBuilder.updateLayout(Le,ze,Ze),this._pointsBuilder.updateView(this.viewGL.camera),this._pointsBuilder.updateLabels(),this._pointsBuilder.showLabels()},focusNodeAdjacency:function(Le,ze,Ze,Ve){var Qe=this._model.getData();this._downplayAll();var $e=Ve.dataIndex,gt=Qe.graph,lt=[],At=gt.getNodeByIndex($e);lt.push(At),At.edges.forEach(function(vt){vt.dataIndex<0||(vt.node1!==At&&lt.push(vt.node1),vt.node2!==At&&lt.push(vt.node2))},this),this._pointsBuilder.fadeOutAll(.05),this._fadeOutEdgesAll(.05),lt.forEach(function(vt){this._pointsBuilder.highlight(Qe,vt.dataIndex)},this),this._pointsBuilder.updateLabels(lt.map(function(vt){return vt.dataIndex}));var Et=[];At.edges.forEach(function(vt){vt.dataIndex>=0&&(this._highlightEdge(vt.dataIndex),Et.push(vt))},this),this._focusNodes=lt,this._focusEdges=Et},unfocusNodeAdjacency:function(Le,ze,Ze,Ve){this._downplayAll(),this._pointsBuilder.fadeInAll(),this._fadeInEdgesAll(),this._pointsBuilder.updateLabels()},_highlightEdge:function(Le){var ze=this._model.getEdgeData().getItemModel(Le),Ze=ke.a.parseColor(ze.get("emphasis.lineStyle.color")||ze.get("lineStyle.color")),Ve=Me.a.firstNotNull(ze.get("emphasis.lineStyle.opacity"),ze.get("lineStyle.opacity"),1);Ze[3]*=Ve,this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[Le],Ze)},_downplayAll:function(){this._focusNodes&&this._focusNodes.forEach(function(Le){this._pointsBuilder.downplay(this._model.getData(),Le.dataIndex)},this),this._focusEdges&&this._focusEdges.forEach(function(Le){this._downplayEdge(Le.dataIndex)},this)},_downplayEdge:function(Le){var ze=this._getColor(Le,[]);this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[Le],ze)},_setEdgeFade:function(){var Le=[];return function(ze,Ze){this._getColor(ze,Le),Le[3]*=Ze,this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[ze],Le)}}(),_getColor:function(Le,ze){for(var Ze=0;Ze<4;Ze++)ze[Ze]=this._originalEdgeColors[Le*4+Ze];return ze},_fadeOutEdgesAll:function(Le){var ze=this._model.getData().graph;ze.eachEdge(function(Ze){this._setEdgeFade(Ze.dataIndex,Le)},this)},_fadeInEdgesAll:function(){this._fadeOutEdgesAll(1)},_updateCamera:function(Le,ze){this.viewGL.setViewport(0,0,ze.getWidth(),ze.getHeight(),ze.getDevicePixelRatio());for(var Ze=this.viewGL.camera,Ve=Le.getData(),Qe=Ve.getLayout("points"),$e=pe.create(1/0,1/0),gt=pe.create(-1/0,-1/0),lt=[],At=0;At<Qe.length;)lt[0]=Qe[At++],lt[1]=Qe[At++],pe.min($e,$e,lt),pe.max(gt,gt,lt);var Et=(gt[1]+$e[1])/2,vt=(gt[0]+$e[0])/2;if(!(vt>Ze.left&&vt<Ze.right&&Et<Ze.bottom&&Et>Ze.top)){var Lt=Math.max(gt[0]-$e[0],10),St=Lt/ze.getWidth()*ze.getHeight();Lt*=1.4,St*=1.4,$e[0]-=Lt*.2,Ze.left=$e[0],Ze.top=Et-St/2,Ze.bottom=Et+St/2,Ze.right=Lt+$e[0],Ze.near=0,Ze.far=100}},dispose:function(){var Le=this.viewGL.layer.renderer;this._forceLayoutInstance&&this._forceLayoutInstance.dispose(Le),this.groupGL.removeAll(),this._layoutId=-1},remove:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(2),Te=Ne(14),ke=Ne(10),Ie=Ne(248);we.a.Shader.import(Ie.a);var Ce={repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,scaling:1,edgeWeightInfluence:1,jitterTolerence:.1,preventOverlap:!1,dissuadeHubs:!1,gravityCenter:null};function Me(je){var ye={type:we.a.Texture.FLOAT,minFilter:we.a.Texture.NEAREST,magFilter:we.a.Texture.NEAREST};this._positionSourceTex=new we.a.Texture2D(ye),this._positionSourceTex.flipY=!1,this._positionTex=new we.a.Texture2D(ye),this._positionPrevTex=new we.a.Texture2D(ye),this._forceTex=new we.a.Texture2D(ye),this._forcePrevTex=new we.a.Texture2D(ye),this._weightedSumTex=new we.a.Texture2D(ye),this._weightedSumTex.width=this._weightedSumTex.height=1,this._globalSpeedTex=new we.a.Texture2D(ye),this._globalSpeedPrevTex=new we.a.Texture2D(ye),this._globalSpeedTex.width=this._globalSpeedTex.height=1,this._globalSpeedPrevTex.width=this._globalSpeedPrevTex.height=1,this._nodeRepulsionPass=new Te.a({fragment:we.a.Shader.source("ecgl.forceAtlas2.updateNodeRepulsion")}),this._positionPass=new Te.a({fragment:we.a.Shader.source("ecgl.forceAtlas2.updatePosition")}),this._globalSpeedPass=new Te.a({fragment:we.a.Shader.source("ecgl.forceAtlas2.calcGlobalSpeed")}),this._copyPass=new Te.a({fragment:we.a.Shader.source("clay.compositor.output")});var ie=function(ae){ae.blendEquation(ae.FUNC_ADD),ae.blendFunc(ae.ONE,ae.ONE)};this._edgeForceMesh=new we.a.Mesh({geometry:new we.a.Geometry({attributes:{node1:new we.a.Geometry.Attribute("node1","float",2),node2:new we.a.Geometry.Attribute("node2","float",2),weight:new we.a.Geometry.Attribute("weight","float",1)},dynamic:!0,mainAttribute:"node1"}),material:new we.a.Material({transparent:!0,shader:we.a.createShader("ecgl.forceAtlas2.updateEdgeAttraction"),blend:ie,depthMask:!1,depthText:!1}),mode:we.a.Mesh.POINTS}),this._weightedSumMesh=new we.a.Mesh({geometry:new we.a.Geometry({attributes:{node:new we.a.Geometry.Attribute("node","float",2)},dynamic:!0,mainAttribute:"node"}),material:new we.a.Material({transparent:!0,shader:we.a.createShader("ecgl.forceAtlas2.calcWeightedSum"),blend:ie,depthMask:!1,depthText:!1}),mode:we.a.Mesh.POINTS}),this._framebuffer=new ke.a({depthBuffer:!1}),this._dummyCamera=new we.a.OrthographicCamera({left:-1,right:1,top:1,bottom:-1,near:0,far:100}),this._globalSpeed=0}Me.prototype.updateOption=function(je){for(var ye in Ce)this[ye]=Ce[ye];var ie=this._nodes.length;if(ie>5e4?this.jitterTolerence=10:ie>5e3?this.jitterTolerence=1:this.jitterTolerence=.1,ie>100?this.scaling=2:this.scaling=10,je)for(var ye in Ce)je[ye]!=null&&(this[ye]=je[ye]);if(this.repulsionByDegree)for(var ae=this._positionSourceTex.pixels,fe=0;fe<this._nodes.length;fe++)ae[fe*4+2]=(this._nodes[fe].degree||0)+1},Me.prototype._updateGravityCenter=function(je){var ye=this._nodes,ie=this._edges;if(this.gravityCenter)this._gravityCenter=this.gravityCenter;else{for(var ae=[1/0,1/0],fe=[-1/0,-1/0],de=0;de<ye.length;de++)ae[0]=Math.min(ye[de].x,ae[0]),ae[1]=Math.min(ye[de].y,ae[1]),fe[0]=Math.max(ye[de].x,fe[0]),fe[1]=Math.max(ye[de].y,fe[1]);this._gravityCenter=[(ae[0]+fe[0])*.5,(ae[1]+fe[1])*.5]}for(var de=0;de<ie.length;de++){var ve=ie[de].node1,xe=ie[de].node2;ye[ve].degree=(ye[ve].degree||0)+1,ye[xe].degree=(ye[xe].degree||0)+1}},Me.prototype.initData=function(je,ye){this._nodes=je,this._edges=ye,this._updateGravityCenter();var ie=Math.ceil(Math.sqrt(je.length)),ae=ie,fe=new Float32Array(ie*ae*4);this._resize(ie,ae);for(var de=0,ve=0;ve<je.length;ve++){var xe=je[ve];fe[de++]=xe.x||0,fe[de++]=xe.y||0,fe[de++]=xe.mass||1,fe[de++]=xe.size||1}this._positionSourceTex.pixels=fe;var ce=this._edgeForceMesh.geometry,pe=ye.length;ce.attributes.node1.init(pe*2),ce.attributes.node2.init(pe*2),ce.attributes.weight.init(pe*2);for(var Se=[],ve=0;ve<ye.length;ve++){var Le=ce.attributes,ze=ye[ve].weight;ze==null&&(ze=1),Le.node1.set(ve,this.getNodeUV(ye[ve].node1,Se)),Le.node2.set(ve,this.getNodeUV(ye[ve].node2,Se)),Le.weight.set(ve,ze),Le.node1.set(ve+pe,this.getNodeUV(ye[ve].node2,Se)),Le.node2.set(ve+pe,this.getNodeUV(ye[ve].node1,Se)),Le.weight.set(ve+pe,ze)}var Ze=this._weightedSumMesh.geometry;Ze.attributes.node.init(je.length);for(var ve=0;ve<je.length;ve++)Ze.attributes.node.set(ve,this.getNodeUV(ve,Se));ce.dirty(),Ze.dirty(),this._nodeRepulsionPass.material.define("fragment","NODE_COUNT",je.length),this._nodeRepulsionPass.material.setUniform("textureSize",[ie,ae]),this._inited=!1,this._frame=0},Me.prototype.getNodes=function(){return this._nodes},Me.prototype.getEdges=function(){return this._edges},Me.prototype.step=function(je){this._inited||(this._initFromSource(je),this._inited=!0),this._frame++,this._framebuffer.attach(this._forceTex),this._framebuffer.bind(je);var ye=this._nodeRepulsionPass;ye.setUniform("strongGravityMode",this.strongGravityMode),ye.setUniform("gravity",this.gravity),ye.setUniform("gravityCenter",this._gravityCenter),ye.setUniform("scaling",this.scaling),ye.setUniform("preventOverlap",this.preventOverlap),ye.setUniform("positionTex",this._positionPrevTex),ye.render(je);var ie=this._edgeForceMesh;ie.material.set("linLogMode",this.linLogMode),ie.material.set("edgeWeightInfluence",this.edgeWeightInfluence),ie.material.set("preventOverlap",this.preventOverlap),ie.material.set("positionTex",this._positionPrevTex),je.gl.enable(je.gl.BLEND),je.renderPass([ie],this._dummyCamera),this._framebuffer.attach(this._weightedSumTex),je.gl.clearColor(0,0,0,0),je.gl.clear(je.gl.COLOR_BUFFER_BIT),je.gl.enable(je.gl.BLEND);var ae=this._weightedSumMesh;ae.material.set("positionTex",this._positionPrevTex),ae.material.set("forceTex",this._forceTex),ae.material.set("forcePrevTex",this._forcePrevTex),je.renderPass([ae],this._dummyCamera),this._framebuffer.attach(this._globalSpeedTex);var fe=this._globalSpeedPass;fe.setUniform("globalSpeedPrevTex",this._globalSpeedPrevTex),fe.setUniform("weightedSumTex",this._weightedSumTex),fe.setUniform("jitterTolerence",this.jitterTolerence),je.gl.disable(je.gl.BLEND),fe.render(je);var de=this._positionPass;this._framebuffer.attach(this._positionTex),de.setUniform("globalSpeedTex",this._globalSpeedTex),de.setUniform("positionTex",this._positionPrevTex),de.setUniform("forceTex",this._forceTex),de.setUniform("forcePrevTex",this._forcePrevTex),de.render(je),this._framebuffer.unbind(je),this._swapTexture()},Me.prototype.update=function(je,ye,ie){ye==null&&(ye=1),ye=Math.max(ye,1);for(var ae=0;ae<ye;ae++)this.step(je);ie&&ie()},Me.prototype.getNodePositionTexture=function(){return this._inited?this._positionPrevTex:this._positionSourceTex},Me.prototype.getNodeUV=function(je,ye){ye=ye||[];var ie=this._positionTex.width,ae=this._positionTex.height;return ye[0]=je%ie/(ie-1),ye[1]=Math.floor(je/ie)/(ae-1)||0,ye},Me.prototype.getNodePosition=function(je,ye){var ie=this._positionArr,ae=this._positionTex.width,fe=this._positionTex.height,de=ae*fe;(!ie||ie.length!==de*4)&&(ie=this._positionArr=new Float32Array(de*4)),this._framebuffer.bind(je),this._framebuffer.attach(this._positionPrevTex),je.gl.readPixels(0,0,ae,fe,je.gl.RGBA,je.gl.FLOAT,ie),this._framebuffer.unbind(je),ye||(ye=new Float32Array(this._nodes.length*2));for(var ve=0;ve<this._nodes.length;ve++)ye[ve*2]=ie[ve*4],ye[ve*2+1]=ie[ve*4+1];return ye},Me.prototype.getTextureData=function(je,ye){var ie=this["_"+ye+"Tex"],ae=ie.width,fe=ie.height;this._framebuffer.bind(je),this._framebuffer.attach(ie);var de=new Float32Array(ae*fe*4);return je.gl.readPixels(0,0,ae,fe,je.gl.RGBA,je.gl.FLOAT,de),this._framebuffer.unbind(je),de},Me.prototype.getTextureSize=function(){return{width:this._positionTex.width,height:this._positionTex.height}},Me.prototype.isFinished=function(je){return this._frame>je},Me.prototype._swapTexture=function(){var je=this._positionPrevTex;this._positionPrevTex=this._positionTex,this._positionTex=je;var je=this._forcePrevTex;this._forcePrevTex=this._forceTex,this._forceTex=je;var je=this._globalSpeedPrevTex;this._globalSpeedPrevTex=this._globalSpeedTex,this._globalSpeedTex=je},Me.prototype._initFromSource=function(je){this._framebuffer.attach(this._positionPrevTex),this._framebuffer.bind(je),this._copyPass.setUniform("texture",this._positionSourceTex),this._copyPass.render(je),je.gl.clearColor(0,0,0,0),this._framebuffer.attach(this._forcePrevTex),je.gl.clear(je.gl.COLOR_BUFFER_BIT),this._framebuffer.attach(this._globalSpeedPrevTex),je.gl.clear(je.gl.COLOR_BUFFER_BIT),this._framebuffer.unbind(je)},Me.prototype._resize=function(je,ye){["_positionSourceTex","_positionTex","_positionPrevTex","_forceTex","_forcePrevTex"].forEach(function(ie){this[ie].width=je,this[ie].height=ye,this[ie].dirty()},this)},Me.prototype.dispose=function(je){this._framebuffer.dispose(je),this._copyPass.dispose(je),this._nodeRepulsionPass.dispose(je),this._positionPass.dispose(je),this._globalSpeedPass.dispose(je),this._edgeForceMesh.geometry.dispose(je),this._weightedSumMesh.geometry.dispose(je),this._positionSourceTex.dispose(je),this._positionTex.dispose(je),this._positionPrevTex.dispose(je),this._forceTex.dispose(je),this._forcePrevTex.dispose(je),this._weightedSumTex.dispose(je),this._globalSpeedTex.dispose(je),this._globalSpeedPrevTex.dispose(je)},Be.a.ForceAtlas2GPU=Me,Ue.a=Me},function(tt,Ue,Ne){"use strict";Ue.a=`@export ecgl.forceAtlas2.updateNodeRepulsion
#define NODE_COUNT 0
uniform sampler2D positionTex;
uniform vec2 textureSize;
uniform float gravity;
uniform float scaling;
uniform vec2 gravityCenter;
uniform bool strongGravityMode;
uniform bool preventOverlap;
varying vec2 v_Texcoord;
void main() {
vec4 n0 = texture2D(positionTex, v_Texcoord);
vec2 force = vec2(0.0);
for (int i = 0; i < NODE_COUNT; i++) {
vec2 uv = vec2(
mod(float(i), textureSize.x) / (textureSize.x - 1.0),
floor(float(i) / textureSize.x) / (textureSize.y - 1.0)
);
vec4 n1 = texture2D(positionTex, uv);
vec2 dir = n0.xy - n1.xy;
float d2 = dot(dir, dir);
if (d2 > 0.0) {
float factor = 0.0;
if (preventOverlap) {
float d = sqrt(d2);
d = d - n0.w - n1.w;
if (d > 0.0) {
factor = scaling * n0.z * n1.z / (d * d);
}
else if (d < 0.0) {
factor = scaling * 100.0 * n0.z * n1.z;
}
}
else {
factor = scaling * n0.z * n1.z / d2;
}
force += dir * factor;
}
}
vec2 dir = gravityCenter - n0.xy;
float d = 1.0;
if (!strongGravityMode) {
d = length(dir);
}
force += dir * n0.z * gravity / (d + 1.0);
gl_FragColor = vec4(force, 0.0, 1.0);
}
@end
@export ecgl.forceAtlas2.updateEdgeAttraction.vertex
attribute vec2 node1;
attribute vec2 node2;
attribute float weight;
uniform sampler2D positionTex;
uniform float edgeWeightInfluence;
uniform bool preventOverlap;
uniform bool linLogMode;
uniform vec2 windowSize: WINDOW_SIZE;
varying vec2 v_Force;
void main() {
vec4 n0 = texture2D(positionTex, node1);
vec4 n1 = texture2D(positionTex, node2);
vec2 dir = n1.xy - n0.xy;
float d = length(dir);
float w;
if (edgeWeightInfluence == 0.0) {
w = 1.0;
}
else if (edgeWeightInfluence == 1.0) {
w = weight;
}
else {
w = pow(weight, edgeWeightInfluence);
}
vec2 offset = vec2(1.0 / windowSize.x, 1.0 / windowSize.y);
vec2 scale = vec2((windowSize.x - 1.0) / windowSize.x, (windowSize.y - 1.0) / windowSize.y);
vec2 pos = node1 * scale * 2.0 - 1.0;
gl_Position = vec4(pos + offset, 0.0, 1.0);
gl_PointSize = 1.0;
float factor;
if (preventOverlap) {
d = d - n1.w - n0.w;
}
if (d <= 0.0) {
v_Force = vec2(0.0);
return;
}
if (linLogMode) {
factor = w * log(d) / d;
}
else {
factor = w;
}
v_Force = dir * factor;
}
@end
@export ecgl.forceAtlas2.updateEdgeAttraction.fragment
varying vec2 v_Force;
void main() {
gl_FragColor = vec4(v_Force, 0.0, 0.0);
}
@end
@export ecgl.forceAtlas2.calcWeightedSum.vertex
attribute vec2 node;
varying vec2 v_NodeUv;
void main() {
v_NodeUv = node;
gl_Position = vec4(0.0, 0.0, 0.0, 1.0);
gl_PointSize = 1.0;
}
@end
@export ecgl.forceAtlas2.calcWeightedSum.fragment
varying vec2 v_NodeUv;
uniform sampler2D positionTex;
uniform sampler2D forceTex;
uniform sampler2D forcePrevTex;
void main() {
vec2 force = texture2D(forceTex, v_NodeUv).rg;
vec2 forcePrev = texture2D(forcePrevTex, v_NodeUv).rg;
float mass = texture2D(positionTex, v_NodeUv).z;
float swing = length(force - forcePrev) * mass;
float traction = length(force + forcePrev) * 0.5 * mass;
gl_FragColor = vec4(swing, traction, 0.0, 0.0);
}
@end
@export ecgl.forceAtlas2.calcGlobalSpeed
uniform sampler2D globalSpeedPrevTex;
uniform sampler2D weightedSumTex;
uniform float jitterTolerence;
void main() {
vec2 weightedSum = texture2D(weightedSumTex, vec2(0.5)).xy;
float prevGlobalSpeed = texture2D(globalSpeedPrevTex, vec2(0.5)).x;
float globalSpeed = jitterTolerence * jitterTolerence
* weightedSum.y / weightedSum.x;
if (prevGlobalSpeed > 0.0) {
globalSpeed = min(globalSpeed / prevGlobalSpeed, 1.5) * prevGlobalSpeed;
}
gl_FragColor = vec4(globalSpeed, 0.0, 0.0, 1.0);
}
@end
@export ecgl.forceAtlas2.updatePosition
uniform sampler2D forceTex;
uniform sampler2D forcePrevTex;
uniform sampler2D positionTex;
uniform sampler2D globalSpeedTex;
varying vec2 v_Texcoord;
void main() {
vec2 force = texture2D(forceTex, v_Texcoord).xy;
vec2 forcePrev = texture2D(forcePrevTex, v_Texcoord).xy;
vec4 node = texture2D(positionTex, v_Texcoord);
float globalSpeed = texture2D(globalSpeedTex, vec2(0.5)).r;
float swing = length(force - forcePrev);
float speed = 0.1 * globalSpeed / (0.1 + globalSpeed * sqrt(swing));
float df = length(force);
if (df > 0.0) {
speed = min(df * speed, 10.0) / df;
gl_FragColor = vec4(node.xy + speed * force, node.zw);
}
else {
gl_FragColor = node;
}
}
@end
@export ecgl.forceAtlas2.edges.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec2 node;
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
uniform sampler2D positionTex;
void main()
{
gl_Position = worldViewProjection * vec4(
texture2D(positionTex, node).xy, -10.0, 1.0
);
v_Color = a_Color;
}
@end
@export ecgl.forceAtlas2.edges.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
varying vec4 v_Color;
void main() {
gl_FragColor = color * v_Color;
}
@end`},function(tt,Ue,Ne){"use strict";var Ke=Ne(5),Be=Ne(6),we=Ne(250),Te=we.a.toString();Te=Te.slice(Te.indexOf("{")+1,Te.lastIndexOf("}"));var ke={barnesHutOptimize:!0,barnesHutTheta:1.5,repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,scaling:1,edgeWeightInfluence:1,jitterTolerence:.1,preventOverlap:!1,dissuadeHubs:!1,gravityCenter:null},Ie=function(Ce){for(var Me in ke)this[Me]=ke[Me];if(Ce)for(var Me in Ce)this[Me]=Ce[Me];this._nodes=[],this._edges=[],this._disposed=!1,this._positionTex=new Ke.a({type:Be.a.FLOAT,flipY:!1,minFilter:Be.a.NEAREST,magFilter:Be.a.NEAREST})};Ie.prototype.initData=function(Ce,Me){var je=new Blob([Te]),ye=window.URL.createObjectURL(je);this._worker=new Worker(ye),this._worker.onmessage=this._$onupdate.bind(this),this._nodes=Ce,this._edges=Me,this._frame=0;for(var ie=Ce.length,ae=Me.length,fe=new Float32Array(ie*2),de=new Float32Array(ie),ve=new Float32Array(ie),xe=new Float32Array(ae*2),ce=new Float32Array(ae),pe=0;pe<Ce.length;pe++){var Se=Ce[pe];fe[pe*2]=Se.x,fe[pe*2+1]=Se.y,de[pe]=Se.mass==null?1:Se.mass,ve[pe]=Se.size==null?1:Se.size}for(var pe=0;pe<Me.length;pe++){var Le=Me[pe],ze=Le.node1,Ze=Le.node2;xe[pe*2]=ze,xe[pe*2+1]=Ze,ce[pe]=Le.weight==null?1:Le.weight}var Ve=Math.ceil(Math.sqrt(Ce.length)),Qe=Ve,$e=new Float32Array(Ve*Qe*4),gt=this._positionTex;gt.width=Ve,gt.height=Qe,gt.pixels=$e,this._worker.postMessage({cmd:"init",nodesPosition:fe,nodesMass:de,nodesSize:ve,edges:xe,edgesWeight:ce}),this._globalSpeed=1/0},Ie.prototype.updateOption=function(Ce){var Me={};for(var je in ke)Me[je]=ke[je];var ye=this._nodes,ie=this._edges,ae=ye.length;if(ae>5e4?Me.jitterTolerence=10:ae>5e3?Me.jitterTolerence=1:Me.jitterTolerence=.1,ae>100?Me.scaling=2:Me.scaling=10,ae>1e3?Me.barnesHutOptimize=!0:Me.barnesHutOptimize=!1,Ce)for(var je in ke)Ce[je]!=null&&(Me[je]=Ce[je]);if(!Me.gravityCenter){for(var fe=[1/0,1/0],de=[-1/0,-1/0],ve=0;ve<ye.length;ve++)fe[0]=Math.min(ye[ve].x,fe[0]),fe[1]=Math.min(ye[ve].y,fe[1]),de[0]=Math.max(ye[ve].x,de[0]),de[1]=Math.max(ye[ve].y,de[1]);Me.gravityCenter=[(fe[0]+de[0])*.5,(fe[1]+de[1])*.5]}for(var ve=0;ve<ie.length;ve++){var xe=ie[ve].node1,ce=ie[ve].node2;ye[xe].degree=(ye[xe].degree||0)+1,ye[ce].degree=(ye[ce].degree||0)+1}this._worker&&this._worker.postMessage({cmd:"updateConfig",config:Me})},Ie.prototype.update=function(Ce,Me,je){Me==null&&(Me=1),Me=Math.max(Me,1),this._frame+=Me,this._onupdate=je,this._worker&&this._worker.postMessage({cmd:"update",steps:Math.round(Me)})},Ie.prototype._$onupdate=function(Ce){if(!this._disposed){var Me=new Float32Array(Ce.data.buffer);this._globalSpeed=Ce.data.globalSpeed,this._positionArr=Me,this._updateTexture(Me),this._onupdate&&this._onupdate()}},Ie.prototype.getNodePositionTexture=function(){return this._positionTex},Ie.prototype.getNodeUV=function(Ce,Me){Me=Me||[];var je=this._positionTex.width,ye=this._positionTex.height;return Me[0]=Ce%je/(je-1),Me[1]=Math.floor(Ce/je)/(ye-1),Me},Ie.prototype.getNodes=function(){return this._nodes},Ie.prototype.getEdges=function(){return this._edges},Ie.prototype.isFinished=function(Ce){return this._frame>Ce},Ie.prototype.getNodePosition=function(Ce,Me){if(Me||(Me=new Float32Array(this._nodes.length*2)),this._positionArr)for(var je=0;je<this._positionArr.length;je++)Me[je]=this._positionArr[je];return Me},Ie.prototype._updateTexture=function(Ce){for(var Me=this._positionTex.pixels,je=0,ye=0;ye<Ce.length;)Me[je++]=Ce[ye++],Me[je++]=Ce[ye++],Me[je++]=1,Me[je++]=1;this._positionTex.dirty()},Ie.prototype.dispose=function(Ce){this._disposed=!0,this._worker=null},Ue.a=Ie},function(tt,Ue,Ne){"use strict";function Ke(){var Be={create:function(){return new Float32Array(2)},dist:function(ye,ie){var ae=ie[0]-ye[0],fe=ie[1]-ye[1];return Math.sqrt(ae*ae+fe*fe)},len:function(ye){var ie=ye[0],ae=ye[1];return Math.sqrt(ie*ie+ae*ae)},scaleAndAdd:function(ye,ie,ae,fe){return ye[0]=ie[0]+ae[0]*fe,ye[1]=ie[1]+ae[1]*fe,ye},scale:function(ye,ie,ae){return ye[0]=ie[0]*ae,ye[1]=ie[1]*ae,ye},add:function(ye,ie,ae){return ye[0]=ie[0]+ae[0],ye[1]=ie[1]+ae[1],ye},sub:function(ye,ie,ae){return ye[0]=ie[0]-ae[0],ye[1]=ie[1]-ae[1],ye},normalize:function(ye,ie){var ae=ie[0],fe=ie[1],de=ae*ae+fe*fe;return de>0&&(de=1/Math.sqrt(de),ye[0]=ie[0]*de,ye[1]=ie[1]*de),ye},negate:function(ye,ie){return ye[0]=-ie[0],ye[1]=-ie[1],ye},copy:function(ye,ie){return ye[0]=ie[0],ye[1]=ie[1],ye},set:function(ye,ie,ae){return ye[0]=ie,ye[1]=ae,ye}};function we(){this.subRegions=[],this.nSubRegions=0,this.node=null,this.mass=0,this.centerOfMass=null,this.bbox=new Float32Array(4),this.size=0}var Te=we.prototype;Te.beforeUpdate=function(){for(var ye=0;ye<this.nSubRegions;ye++)this.subRegions[ye].beforeUpdate();this.mass=0,this.centerOfMass&&(this.centerOfMass[0]=0,this.centerOfMass[1]=0),this.nSubRegions=0,this.node=null},Te.afterUpdate=function(){this.subRegions.length=this.nSubRegions;for(var ye=0;ye<this.nSubRegions;ye++)this.subRegions[ye].afterUpdate()},Te.addNode=function(ye){if(this.nSubRegions===0)if(this.node==null){this.node=ye;return}else this._addNodeToSubRegion(this.node),this.node=null;this._addNodeToSubRegion(ye),this._updateCenterOfMass(ye)},Te.findSubRegion=function(ye,ie){for(var ae=0;ae<this.nSubRegions;ae++){var fe=this.subRegions[ae];if(fe.contain(ye,ie))return fe}},Te.contain=function(ye,ie){return this.bbox[0]<=ye&&this.bbox[2]>=ye&&this.bbox[1]<=ie&&this.bbox[3]>=ie},Te.setBBox=function(ye,ie,ae,fe){this.bbox[0]=ye,this.bbox[1]=ie,this.bbox[2]=ae,this.bbox[3]=fe,this.size=(ae-ye+fe-ie)/2},Te._newSubRegion=function(){var ye=this.subRegions[this.nSubRegions];return ye||(ye=new we,this.subRegions[this.nSubRegions]=ye),this.nSubRegions++,ye},Te._addNodeToSubRegion=function(ye){var ie=this.findSubRegion(ye.position[0],ye.position[1]),ae=this.bbox;if(!ie){var fe=(ae[0]+ae[2])/2,de=(ae[1]+ae[3])/2,ve=(ae[2]-ae[0])/2,xe=(ae[3]-ae[1])/2,ce=ye.position[0]>=fe?1:0,pe=ye.position[1]>=de?1:0,ie=this._newSubRegion();ie.setBBox(ce*ve+ae[0],pe*xe+ae[1],(ce+1)*ve+ae[0],(pe+1)*xe+ae[1])}ie.addNode(ye)},Te._updateCenterOfMass=function(ye){this.centerOfMass==null&&(this.centerOfMass=new Float32Array(2));var ie=this.centerOfMass[0]*this.mass,ae=this.centerOfMass[1]*this.mass;ie+=ye.position[0]*ye.mass,ae+=ye.position[1]*ye.mass,this.mass+=ye.mass,this.centerOfMass[0]=ie/this.mass,this.centerOfMass[1]=ae/this.mass};function ke(){this.position=new Float32Array(2),this.force=Be.create(),this.forcePrev=Be.create(),this.mass=1,this.inDegree=0,this.outDegree=0}function Ie(ye,ie){this.source=ye,this.target=ie,this.weight=1}function Ce(){this.autoSettings=!0,this.barnesHutOptimize=!0,this.barnesHutTheta=1.5,this.repulsionByDegree=!0,this.linLogMode=!1,this.strongGravityMode=!1,this.gravity=1,this.scaling=1,this.edgeWeightInfluence=1,this.jitterTolerence=.1,this.preventOverlap=!1,this.dissuadeHubs=!1,this.rootRegion=new we,this.rootRegion.centerOfMass=Be.create(),this.nodes=[],this.edges=[],this.bbox=new Float32Array(4),this.gravityCenter=null,this._massArr=null,this._swingingArr=null,this._sizeArr=null,this._globalSpeed=0}var Me=Ce.prototype;Me.initNodes=function(ye,ie,ae){var fe=ie.length;this.nodes.length=0;for(var de=typeof ae!="undefined",ve=0;ve<fe;ve++){var xe=new ke;xe.position[0]=ye[ve*2],xe.position[1]=ye[ve*2+1],xe.mass=ie[ve],de&&(xe.size=ae[ve]),this.nodes.push(xe)}this._massArr=ie,this._swingingArr=new Float32Array(fe),de&&(this._sizeArr=ae)},Me.initEdges=function(ye,ie){var ae=ye.length/2;this.edges.length=0;for(var fe=0;fe<ae;fe++){var de=ye[fe*2],ve=ye[fe*2+1],xe=this.nodes[de],ce=this.nodes[ve];if(!xe||!ce){console.error("Node not exists, try initNodes before initEdges");return}xe.outDegree++,ce.inDegree++;var pe=new Ie(xe,ce);ie&&(pe.weight=ie[fe]),this.edges.push(pe)}},Me.updateSettings=function(){if(this.repulsionByDegree)for(var ye=0;ye<this.nodes.length;ye++){var ie=this.nodes[ye];ie.mass=ie.inDegree+ie.outDegree+1}else for(var ye=0;ye<this.nodes.length;ye++){var ie=this.nodes[ye];ie.mass=this._massArr[ye]}},Me.update=function(){var ye=this.nodes.length;if(this.updateSettings(),this.updateBBox(),this.barnesHutOptimize){this.rootRegion.setBBox(this.bbox[0],this.bbox[1],this.bbox[2],this.bbox[3]),this.rootRegion.beforeUpdate();for(var ie=0;ie<ye;ie++)this.rootRegion.addNode(this.nodes[ie]);this.rootRegion.afterUpdate()}for(var ie=0;ie<ye;ie++){var ae=this.nodes[ie];Be.copy(ae.forcePrev,ae.force),Be.set(ae.force,0,0)}for(var ie=0;ie<ye;ie++){var fe=this.nodes[ie];if(this.barnesHutOptimize)this.applyRegionToNodeRepulsion(this.rootRegion,fe);else for(var de=ie+1;de<ye;de++){var ve=this.nodes[de];this.applyNodeToNodeRepulsion(fe,ve,!1)}this.gravity>0&&(this.strongGravityMode?this.applyNodeStrongGravity(fe):this.applyNodeGravity(fe))}for(var ie=0;ie<this.edges.length;ie++)this.applyEdgeAttraction(this.edges[ie]);for(var xe=0,ce=0,pe=Be.create(),ie=0;ie<ye;ie++){var ae=this.nodes[ie],Se=Be.dist(ae.force,ae.forcePrev);xe+=Se*ae.mass,Be.add(pe,ae.force,ae.forcePrev);var Le=Be.len(pe)*.5;ce+=Le*ae.mass,this._swingingArr[ie]=Se}var ze=this.jitterTolerence*this.jitterTolerence*ce/xe;this._globalSpeed>0&&(ze=Math.min(ze/this._globalSpeed,1.5)*this._globalSpeed),this._globalSpeed=ze;for(var ie=0;ie<ye;ie++){var ae=this.nodes[ie],Se=this._swingingArr[ie],Ze=.1*ze/(1+ze*Math.sqrt(Se)),Ve=Be.len(ae.force);Ve>0&&(Ze=Math.min(Ve*Ze,10)/Ve,Be.scaleAndAdd(ae.position,ae.position,ae.force,Ze))}},Me.applyRegionToNodeRepulsion=function(){var ye=Be.create();return function(ae,fe){if(ae.node)this.applyNodeToNodeRepulsion(ae.node,fe,!0);else{Be.sub(ye,fe.position,ae.centerOfMass);var de=ye[0]*ye[0]+ye[1]*ye[1];if(de>this.barnesHutTheta*ae.size*ae.size){var ve=this.scaling*fe.mass*ae.mass/de;Be.scaleAndAdd(fe.force,fe.force,ye,ve)}else for(var xe=0;xe<ae.nSubRegions;xe++)this.applyRegionToNodeRepulsion(ae.subRegions[xe],fe)}}}(),Me.applyNodeToNodeRepulsion=function(){var ye=Be.create();return function(ae,fe,de){if(ae!=fe){Be.sub(ye,ae.position,fe.position);var ve=ye[0]*ye[0]+ye[1]*ye[1];if(ve!==0){var xe;if(this.preventOverlap){var ce=Math.sqrt(ve);if(ce=ce-ae.size-fe.size,ce>0)xe=this.scaling*ae.mass*fe.mass/(ce*ce);else if(ce<0)xe=this.scaling*100*ae.mass*fe.mass;else return}else xe=this.scaling*ae.mass*fe.mass/ve;Be.scaleAndAdd(ae.force,ae.force,ye,xe),Be.scaleAndAdd(fe.force,fe.force,ye,-xe)}}}}(),Me.applyEdgeAttraction=function(){var ye=Be.create();return function(ae){var fe=ae.source,de=ae.target;Be.sub(ye,fe.position,de.position);var ve=Be.len(ye),xe;this.edgeWeightInfluence===0?xe=1:this.edgeWeightInfluence===1?xe=ae.weight:xe=Math.pow(ae.weight,this.edgeWeightInfluence);var ce;this.preventOverlap&&(ve=ve-fe.size-de.size,ve<=0)||(this.linLogMode?ce=-xe*Math.log(ve+1)/(ve+1):ce=-xe,Be.scaleAndAdd(fe.force,fe.force,ye,ce),Be.scaleAndAdd(de.force,de.force,ye,-ce))}}(),Me.applyNodeGravity=function(){var ye=Be.create();return function(ie){Be.sub(ye,this.gravityCenter,ie.position);var ae=Be.len(ye);Be.scaleAndAdd(ie.force,ie.force,ye,this.gravity*ie.mass/(ae+1))}}(),Me.applyNodeStrongGravity=function(){var ye=Be.create();return function(ie){Be.sub(ye,this.gravityCenter,ie.position),Be.scaleAndAdd(ie.force,ie.force,ye,this.gravity*ie.mass)}}(),Me.updateBBox=function(){for(var ye=1/0,ie=1/0,ae=-1/0,fe=-1/0,de=0;de<this.nodes.length;de++){var ve=this.nodes[de].position;ye=Math.min(ye,ve[0]),ie=Math.min(ie,ve[1]),ae=Math.max(ae,ve[0]),fe=Math.max(fe,ve[1])}this.bbox[0]=ye,this.bbox[1]=ie,this.bbox[2]=ae,this.bbox[3]=fe},Me.getGlobalSpeed=function(){return this._globalSpeed};var je=null;self.onmessage=function(ye){switch(ye.data.cmd){case"init":je=new Ce,je.initNodes(ye.data.nodesPosition,ye.data.nodesMass,ye.data.nodesSize),je.initEdges(ye.data.edges,ye.data.edgesWeight);break;case"updateConfig":if(je)for(var ie in ye.data.config)je[ie]=ye.data.config[ie];break;case"update":var ae=ye.data.steps;if(je){for(var fe=0;fe<ae;fe++)je.update();for(var de=je.nodes.length,ve=new Float32Array(de*2),fe=0;fe<de;fe++){var xe=je.nodes[fe];ve[fe*2]=xe.position[0],ve[fe*2+1]=xe.position[1]}self.postMessage({buffer:ve.buffer,globalSpeed:je.getGlobalSpeed()},[ve.buffer])}else{var ce=new Float32Array;self.postMessage({buffer:ce.buffer,globalSpeed:je.getGlobalSpeed()},[ce.buffer])}break}}}Ue.a=Ke},function(tt,Ue,Ne){"use strict";var Ke=Ne(8),Be=Ne(3),we=Ke.a.extend(function(){return{zr:null,viewGL:null,minZoom:.2,maxZoom:5,_needsUpdate:!1,_dx:0,_dy:0,_zoom:1}},function(){this._mouseDownHandler=this._mouseDownHandler.bind(this),this._mouseWheelHandler=this._mouseWheelHandler.bind(this),this._mouseMoveHandler=this._mouseMoveHandler.bind(this),this._mouseUpHandler=this._mouseUpHandler.bind(this),this._update=this._update.bind(this)},{init:function(){var Te=this.zr;Te.on("mousedown",this._mouseDownHandler),Te.on("mousewheel",this._mouseWheelHandler),Te.on("globalout",this._mouseUpHandler),Te.animation.on("frame",this._update)},setTarget:function(Te){this._target=Te},setZoom:function(Te){this._zoom=Math.max(Math.min(Te,this.maxZoom),this.minZoom),this._needsUpdate=!0},setOffset:function(Te){this._dx=Te[0],this._dy=Te[1],this._needsUpdate=!0},getZoom:function(){return this._zoom},getOffset:function(){return[this._dx,this._dy]},_update:function(){if(this._target&&this._needsUpdate){var Te=this._target,ke=this._zoom;Te.position.x=this._dx,Te.position.y=this._dy,Te.scale.set(ke,ke,ke),this.zr.refresh(),this._needsUpdate=!1,this.trigger("update")}},_mouseDownHandler:function(Te){if(!Te.target){var ke=Te.offsetX,Ie=Te.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(ke,Ie))){this.zr.on("mousemove",this._mouseMoveHandler),this.zr.on("mouseup",this._mouseUpHandler);var Ce=this._convertPos(ke,Ie);this._x=Ce.x,this._y=Ce.y}}},_convertPos:function(Te,ke){var Ie=this.viewGL.camera,Ce=this.viewGL.viewport;return{x:(Te-Ce.x)/Ce.width*(Ie.right-Ie.left)+Ie.left,y:(ke-Ce.y)/Ce.height*(Ie.bottom-Ie.top)+Ie.top}},_mouseMoveHandler:function(Te){var ke=this._convertPos(Te.offsetX,Te.offsetY);this._dx+=ke.x-this._x,this._dy+=ke.y-this._y,this._x=ke.x,this._y=ke.y,this._needsUpdate=!0},_mouseUpHandler:function(Te){this.zr.off("mousemove",this._mouseMoveHandler),this.zr.off("mouseup",this._mouseUpHandler)},_mouseWheelHandler:function(Te){Te=Te.event;var ke=Te.wheelDelta||-Te.detail;if(ke!==0){var Ie=Te.offsetX,Ce=Te.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(Ie,Ce))){var Me=ke>0?1.1:.9,je=Math.max(Math.min(this._zoom*Me,this.maxZoom),this.minZoom);Me=je/this._zoom;var ye=this._convertPos(Ie,Ce),ie=(ye.x-this._dx)*(Me-1),ae=(ye.y-this._dy)*(Me-1);this._dx-=ie,this._dy-=ae,this._zoom=je,this._needsUpdate=!0}}},dispose:function(){var Te=this.zr;Te.off("mousedown",this._mouseDownHandler),Te.off("mousemove",this._mouseMoveHandler),Te.off("mouseup",this._mouseUpHandler),Te.off("mousewheel",this._mouseWheelHandler),Te.off("globalout",this._mouseUpHandler),Te.animation.off("frame",this._update)}});Ue.a=we},function(tt,Ue,Ne){"use strict";Ue.a=`@export ecgl.lines2D.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec2 position: POSITION;
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#ifdef POSITIONTEXTURE_ENABLED
uniform sampler2D positionTexture;
#endif
void main()
{
gl_Position = worldViewProjection * vec4(position, -10.0, 1.0);
v_Color = a_Color;
}
@end
@export ecgl.lines2D.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
varying vec4 v_Color;
void main()
{
gl_FragColor = color * v_Color;
}
@end
@export ecgl.meshLines2D.vertex
attribute vec2 position: POSITION;
attribute vec2 normal;
attribute float offset;
attribute vec4 a_Color : COLOR;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec4 viewport : VIEWPORT;
varying vec4 v_Color;
varying float v_Miter;
void main()
{
vec4 p2 = worldViewProjection * vec4(position + normal, -10.0, 1.0);
gl_Position = worldViewProjection * vec4(position, -10.0, 1.0);
p2.xy /= p2.w;
gl_Position.xy /= gl_Position.w;
vec2 N = normalize(p2.xy - gl_Position.xy);
gl_Position.xy += N * offset / viewport.zw * 2.0;
gl_Position.xy *= gl_Position.w;
v_Color = a_Color;
}
@end
@export ecgl.meshLines2D.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
varying vec4 v_Color;
varying float v_Miter;
void main()
{
gl_FragColor = color * v_Color;
}
@end`},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(254),Te=Ne(258)},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(2),Te=Ne(3),ke=Ne(20),Ie=Ne(255);Be.a.extendChartView({type:"flowGL",__ecgl__:!0,init:function(Ce,Me){this.viewGL=new ke.a("orthographic"),this.groupGL=new we.a.Node,this.viewGL.add(this.groupGL),this._particleSurface=new Ie.a;var je=new we.a.Mesh({geometry:new we.a.PlaneGeometry,material:new we.a.Material({shader:new we.a.Shader({vertex:we.a.Shader.source("ecgl.color.vertex"),fragment:we.a.Shader.source("ecgl.color.fragment")}),transparent:!0})});je.material.enableTexture("diffuseMap"),this.groupGL.add(je),this._planeMesh=je},render:function(Ce,Me,je){var ye=this._particleSurface;ye.setParticleType(Ce.get("particleType")),ye.setSupersampling(Ce.get("supersampling")),this._updateData(Ce,je),this._updateCamera(je.getWidth(),je.getHeight(),je.getDevicePixelRatio());var ie=Te.a.firstNotNull(Ce.get("particleDensity"),128);ye.setParticleDensity(ie,ie);var ae=this._planeMesh,fe=+new Date,de=this,ve=!0;ae.__percent=0,ae.stopAnimation(),ae.animate("",{loop:!0}).when(1e5,{__percent:1}).during(function(){var pe=+new Date,Se=Math.min(pe-fe,20);fe=fe+Se,de._renderer&&(ye.update(de._renderer,je,Se/1e3,ve),ae.material.set("diffuseMap",ye.getSurfaceTexture())),ve=!1}).start();var xe=Ce.getModel("itemStyle"),ce=we.a.parseColor(xe.get("color"));ce[3]*=Te.a.firstNotNull(xe.get("opacity"),1),ae.material.set("color",ce),ye.setColorTextureImage(Ce.get("colorTexture"),je),ye.setParticleSize(Ce.get("particleSize")),ye.particleSpeedScaling=Ce.get("particleSpeed"),ye.motionBlurFactor=1-Math.pow(.1,Ce.get("particleTrail"))},updateTransform:function(Ce,Me,je){this._updateData(Ce,je)},afterRender:function(Ce,Me,je,ye){var ie=ye.renderer;this._renderer=ie},_updateData:function(Ce,Me){var je=Ce.coordinateSystem,ye=je.dimensions.map(function($e){return Ce.coordDimToDataDim($e)[0]}),ie=Ce.getData(),ae=ie.getDataExtent(ye[0]),fe=ie.getDataExtent(ye[1]),de=Ce.get("gridWidth"),ve=Ce.get("gridHeight");if(de==null||de==="auto"){var xe=(ae[1]-ae[0])/(fe[1]-fe[0]);de=Math.round(Math.sqrt(xe*ie.count()))}(ve==null||ve==="auto")&&(ve=Math.ceil(ie.count()/de));var ce=this._particleSurface.vectorFieldTexture,pe=ce.pixels;if(!pe||pe.length!==ve*de*4)pe=ce.pixels=new Float32Array(de*ve*4);else for(var Se=0;Se<pe.length;Se++)pe[Se]=0;var Le=0,ze=1/0,Ze=new Float32Array(ie.count()*2),Ve=0,Qe=[[1/0,1/0],[-1/0,-1/0]];ie.each([ye[0],ye[1],"vx","vy"],function($e,gt,lt,At){var Et=je.dataToPoint([$e,gt]);Ze[Ve++]=Et[0],Ze[Ve++]=Et[1],Qe[0][0]=Math.min(Et[0],Qe[0][0]),Qe[0][1]=Math.min(Et[1],Qe[0][1]),Qe[1][0]=Math.max(Et[0],Qe[1][0]),Qe[1][1]=Math.max(Et[1],Qe[1][1]);var vt=Math.sqrt(lt*lt+At*At);Le=Math.max(Le,vt),ze=Math.min(ze,vt)}),ie.each(["vx","vy"],function($e,gt,lt){var At=Math.round((Ze[lt*2]-Qe[0][0])/(Qe[1][0]-Qe[0][0])*(de-1)),Et=ve-1-Math.round((Ze[lt*2+1]-Qe[0][1])/(Qe[1][1]-Qe[0][1])*(ve-1)),vt=(Et*de+At)*4;pe[vt]=$e/Le*.5+.5,pe[vt+1]=gt/Le*.5+.5,pe[vt+3]=1}),ce.width=de,ce.height=ve,Ce.get("coordinateSystem")==="bmap"&&this._fillEmptyPixels(ce),ce.dirty(),this._updatePlanePosition(Qe[0],Qe[1],Ce,Me),this._updateGradientTexture(ie.getVisual("visualMeta"),[ze,Le])},_fillEmptyPixels:function(Ce){var Me=Ce.pixels,je=Ce.width,ye=Ce.height;function ie(Ze,Ve,Qe){Ze=Math.max(Math.min(Ze,je-1),0),Ve=Math.max(Math.min(Ve,ye-1),0);var $e=(Ve*(je-1)+Ze)*4;return Me[$e+3]===0?!1:(Qe[0]=Me[$e],Qe[1]=Me[$e+1],!0)}function ae(Ze,Ve,Qe){Qe[0]=Ze[0]+Ve[0],Qe[1]=Ze[1]+Ve[1]}for(var fe=[],de=[],ve=[],xe=[],ce=[],pe=0,Se=0;Se<ye;Se++)for(var Le=0;Le<je;Le++){var ze=(Se*(je-1)+Le)*4;Me[ze+3]===0&&(pe=fe[0]=fe[1]=0,ie(Le-1,Se,de)&&(pe++,ae(de,fe,fe)),ie(Le+1,Se,ve)&&(pe++,ae(ve,fe,fe)),ie(Le,Se-1,xe)&&(pe++,ae(xe,fe,fe)),ie(Le,Se+1,ce)&&(pe++,ae(ce,fe,fe)),fe[0]/=pe,fe[1]/=pe,Me[ze]=fe[0],Me[ze+1]=fe[1]),Me[ze+3]=1}},_updateGradientTexture:function(Ce,Me){if(!Ce||!Ce.length){this._particleSurface.setGradientTexture(null);return}this._gradientTexture=this._gradientTexture||new we.a.Texture2D({image:document.createElement("canvas")});var je=this._gradientTexture,ye=je.image;ye.width=200,ye.height=1;var ie=ye.getContext("2d"),ae=ie.createLinearGradient(0,.5,ye.width,.5);Ce[0].stops.forEach(function(fe){var de;Me[1]===Me[0]?de=0:(de=fe.value/Me[1],de=Math.min(Math.max(de,0),1)),ae.addColorStop(de,fe.color)}),ie.fillStyle=ae,ie.fillRect(0,0,ye.width,ye.height),je.dirty(),this._particleSurface.setGradientTexture(this._gradientTexture)},_updatePlanePosition:function(Ce,Me,je,ye){var ie=this._limitInViewportAndFullFill(Ce,Me,je,ye);Ce=ie.leftTop,Me=ie.rightBottom,this._particleSurface.setRegion(ie.region),this._planeMesh.position.set((Ce[0]+Me[0])/2,ye.getHeight()-(Ce[1]+Me[1])/2,0);var ae=Me[0]-Ce[0],fe=Me[1]-Ce[1];this._planeMesh.scale.set(ae/2,fe/2,1),this._particleSurface.resize(Math.max(Math.min(ae,2048),1),Math.max(Math.min(fe,2048),1)),this._renderer&&this._particleSurface.clearFrame(this._renderer)},_limitInViewportAndFullFill:function(Ce,Me,je,ye){var ie=[Math.max(Ce[0],0),Math.max(Ce[1],0)],ae=[Math.min(Me[0],ye.getWidth()),Math.min(Me[1],ye.getHeight())];if(je.get("coordinateSystem")==="bmap"){var fe=je.getData().getDataExtent(je.coordDimToDataDim("lng")[0]),de=Math.floor(fe[1]-fe[0])>=359;de&&(ie[0]>0&&(ie[0]=0),ae[0]<ye.getWidth()&&(ae[0]=ye.getWidth()))}var ve=Me[0]-Ce[0],xe=Me[1]-Ce[1],ce=ae[0]-ie[0],pe=ae[1]-ie[1],Se=[(ie[0]-Ce[0])/ve,1-pe/xe-(ie[1]-Ce[1])/xe,ce/ve,pe/xe];return{leftTop:ie,rightBottom:ae,region:Se}},_updateCamera:function(Ce,Me,je){this.viewGL.setViewport(0,0,Ce,Me,je);var ye=this.viewGL.camera;ye.left=ye.bottom=0,ye.top=Me,ye.right=Ce,ye.near=0,ye.far=100,ye.position.z=10},remove:function(){this._planeMesh.stopAnimation(),this.groupGL.removeAll()},dispose:function(){this._renderer&&this._particleSurface.dispose(this._renderer),this.groupGL.removeAll()}})},function(tt,Ue,Ne){"use strict";var Ke=Ne(14),Be=Ne(13),we=Ne(24),Te=Ne(17),ke=Ne(7),Ie=Ne(5),Ce=Ne(6),Me=Ne(30),je=Ne(37),ye=Ne(10),ie=Ne(256),ae=Ne(257);ke.a.import(ae.a);function fe(ve){var xe=document.createElement("canvas");xe.width=xe.height=ve;var ce=xe.getContext("2d");return ce.fillStyle="#fff",ce.arc(ve/2,ve/2,ve/2,0,Math.PI*2),ce.fill(),xe}var de=function(){this.motionBlurFactor=.99,this.vectorFieldTexture=new Ie.a({type:Ce.a.FLOAT,flipY:!1}),this.particleLife=[5,20],this._particleType="point",this._particleSize=1,this.particleColor=[1,1,1,1],this.particleSpeedScaling=1,this._thisFrameTexture=null,this._particlePass=null,this._spawnTexture=null,this._particleTexture0=null,this._particleTexture1=null,this._particlePointsMesh=null,this._surfaceFrameBuffer=null,this._elapsedTime=0,this._scene=null,this._camera=null,this._lastFrameTexture=null,this._supersampling=1,this._downsampleTextures=[],this._width=512,this._height=512,this.init()};de.prototype={constructor:de,init:function(){var ve={type:Ce.a.FLOAT,minFilter:Ce.a.NEAREST,magFilter:Ce.a.NEAREST,useMipmap:!1};this._spawnTexture=new Ie.a(ve),this._particleTexture0=new Ie.a(ve),this._particleTexture1=new Ie.a(ve),this._frameBuffer=new ye.a({depthBuffer:!1}),this._particlePass=new Ke.a({fragment:ke.a.source("ecgl.vfParticle.particle.fragment")}),this._particlePass.setUniform("velocityTexture",this.vectorFieldTexture),this._particlePass.setUniform("spawnTexture",this._spawnTexture),this._downsamplePass=new Ke.a({fragment:ke.a.source("clay.compositor.downsample")});var xe=new we.a({renderOrder:10,material:new Te.a({shader:new ke.a(ke.a.source("ecgl.vfParticle.renderPoints.vertex"),ke.a.source("ecgl.vfParticle.renderPoints.fragment"))}),mode:we.a.POINTS,geometry:new Be.a({dynamic:!0,mainAttribute:"texcoord0"})}),ce=new we.a({renderOrder:10,material:new Te.a({shader:new ke.a(ke.a.source("ecgl.vfParticle.renderLines.vertex"),ke.a.source("ecgl.vfParticle.renderLines.fragment"))}),geometry:new ie.a,culling:!1}),pe=new we.a({material:new Te.a({shader:new ke.a(ke.a.source("ecgl.color.vertex"),ke.a.source("ecgl.color.fragment"))}),geometry:new je.a});pe.material.enableTexture("diffuseMap"),this._particlePointsMesh=xe,this._particleLinesMesh=ce,this._lastFrameFullQuadMesh=pe,this._camera=new Me.a,this._thisFrameTexture=new Ie.a,this._lastFrameTexture=new Ie.a},setParticleDensity:function(ve,xe){for(var ce=ve*xe,pe=new Float32Array(ce*4),Se=0,Le=this.particleLife,ze=0;ze<ve;ze++)for(var Ze=0;Ze<xe;Ze++,Se++){pe[Se*4]=Math.random(),pe[Se*4+1]=Math.random(),pe[Se*4+2]=Math.random();var Ve=(Le[1]-Le[0])*Math.random()+Le[0];pe[Se*4+3]=Ve}this._particleType==="line"?this._setLineGeometry(ve,xe):this._setPointsGeometry(ve,xe),this._spawnTexture.width=ve,this._spawnTexture.height=xe,this._spawnTexture.pixels=pe,this._particleTexture0.width=this._particleTexture1.width=ve,this._particleTexture0.height=this._particleTexture1.height=xe,this._particlePass.setUniform("textureSize",[ve,xe])},_setPointsGeometry:function(ve,xe){var ce=ve*xe,pe=this._particlePointsMesh.geometry,Se=pe.attributes;Se.texcoord0.init(ce);for(var Le=0,ze=0;ze<ve;ze++)for(var Ze=0;Ze<xe;Ze++,Le++)Se.texcoord0.value[Le*2]=ze/ve,Se.texcoord0.value[Le*2+1]=Ze/xe;pe.dirty()},_setLineGeometry:function(ve,xe){var ce=ve*xe,pe=this._getParticleMesh().geometry;pe.setLineCount(ce),pe.resetOffset();for(var Se=0;Se<ve;Se++)for(var Le=0;Le<xe;Le++)pe.addLine([Se/ve,Le/xe]);pe.dirty()},_getParticleMesh:function(){return this._particleType==="line"?this._particleLinesMesh:this._particlePointsMesh},update:function(ve,xe,ce,pe){var Se=this._getParticleMesh(),Le=this._frameBuffer,ze=this._particlePass;pe&&this._updateDownsampleTextures(ve,xe),Se.material.set("size",this._particleSize*this._supersampling),Se.material.set("color",this.particleColor),ze.setUniform("speedScaling",this.particleSpeedScaling),Le.attach(this._particleTexture1),ze.setUniform("firstFrameTime",pe?(this.particleLife[1]+this.particleLife[0])/2:0),ze.setUniform("particleTexture",this._particleTexture0),ze.setUniform("deltaTime",ce),ze.setUniform("elapsedTime",this._elapsedTime),ze.render(ve,Le),Se.material.set("particleTexture",this._particleTexture1),Se.material.set("prevParticleTexture",this._particleTexture0),Le.attach(this._thisFrameTexture),Le.bind(ve),ve.gl.clear(ve.gl.DEPTH_BUFFER_BIT|ve.gl.COLOR_BUFFER_BIT);var Ze=this._lastFrameFullQuadMesh;Ze.material.set("diffuseMap",this._lastFrameTexture),Ze.material.set("color",[1,1,1,this.motionBlurFactor]),this._camera.update(!0),ve.renderPass([Ze,Se],this._camera),Le.unbind(ve),this._downsample(ve),this._swapTexture(),this._elapsedTime+=ce},_downsample:function(ve){var xe=this._downsampleTextures;if(xe.length!==0)for(var ce=0,pe=this._thisFrameTexture,Se=xe[ce];Se;)this._frameBuffer.attach(Se),this._downsamplePass.setUniform("texture",pe),this._downsamplePass.setUniform("textureSize",[pe.width,pe.height]),this._downsamplePass.render(ve,this._frameBuffer),pe=Se,Se=xe[++ce]},getSurfaceTexture:function(){var ve=this._downsampleTextures;return ve.length>0?ve[ve.length-1]:this._lastFrameTexture},setRegion:function(ve){this._particlePass.setUniform("region",ve)},resize:function(ve,xe){this._lastFrameTexture.width=ve*this._supersampling,this._lastFrameTexture.height=xe*this._supersampling,this._thisFrameTexture.width=ve*this._supersampling,this._thisFrameTexture.height=xe*this._supersampling,this._width=ve,this._height=xe},setParticleSize:function(ve){var xe=this._getParticleMesh();if(ve<=2){xe.material.disableTexture("spriteTexture"),xe.material.transparent=!1;return}this._spriteTexture||(this._spriteTexture=new Ie.a),(!this._spriteTexture.image||this._spriteTexture.image.width!==ve)&&(this._spriteTexture.image=fe(ve),this._spriteTexture.dirty()),xe.material.transparent=!0,xe.material.enableTexture("spriteTexture"),xe.material.set("spriteTexture",this._spriteTexture),this._particleSize=ve},setGradientTexture:function(ve){var xe=this._getParticleMesh().material;xe[ve?"enableTexture":"disableTexture"]("gradientTexture"),xe.setUniform("gradientTexture",ve)},setColorTextureImage:function(ve,xe){var ce=this._getParticleMesh().material;ce.setTextureImage("colorTexture",ve,xe,{flipY:!0})},setParticleType:function(ve){this._particleType=ve},clearFrame:function(ve){var xe=this._frameBuffer;xe.attach(this._lastFrameTexture),xe.bind(ve),ve.gl.clear(ve.gl.DEPTH_BUFFER_BIT|ve.gl.COLOR_BUFFER_BIT),xe.unbind(ve)},setSupersampling:function(ve){this._supersampling=ve,this.resize(this._width,this._height)},_updateDownsampleTextures:function(ve,xe){for(var ce=this._downsampleTextures,pe=Math.max(Math.floor(Math.log(this._supersampling/xe.getDevicePixelRatio())/Math.log(2)),0),Se=2,Le=this._width*this._supersampling,ze=this._height*this._supersampling,Ze=0;Ze<pe;Ze++)ce[Ze]=ce[Ze]||new Ie.a,ce[Ze].width=Le/Se,ce[Ze].height=ze/Se,Se*=2;for(;Ze<ce.length;Ze++)ce[Ze].dispose(ve);ce.length=pe},_swapTexture:function(){var ve=this._particleTexture0;this._particleTexture0=this._particleTexture1,this._particleTexture1=ve;var ve=this._thisFrameTexture;this._thisFrameTexture=this._lastFrameTexture,this._lastFrameTexture=ve},dispose:function(ve){ve.disposeFrameBuffer(this._frameBuffer),ve.disposeTexture(this.vectorFieldTexture),ve.disposeTexture(this._spawnTexture),ve.disposeTexture(this._particleTexture0),ve.disposeTexture(this._particleTexture1),ve.disposeTexture(this._thisFrameTexture),ve.disposeTexture(this._lastFrameTexture),ve.disposeGeometry(this._particleLinesMesh.geometry),ve.disposeGeometry(this._particlePointsMesh.geometry),ve.disposeGeometry(this._lastFrameFullQuadMesh.geometry),this._spriteTexture&&ve.disposeTexture(this._spriteTexture),this._particlePass.dispose(ve),this._downsamplePass.dispose(ve),this._downsampleTextures.forEach(function(xe){xe.dispose(ve)})}},Ue.a=de},function(tt,Ue,Ne){"use strict";var Ke=Ne(13),Be=Ne(0),we=Ne.n(Be),Te=Ke.a.extend(function(){return{dynamic:!0,attributes:{position:new Ke.a.Attribute("position","float",3,"POSITION")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setLineCount:function(ke){var Ie=this.attributes,Ce=4*ke,Me=2*ke;this.vertexCount!==Ce&&Ie.position.init(Ce),this.triangleCount!==Me&&(Me===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(Me*3):new Uint16Array(Me*3))},addLine:function(ke){var Ie=this._vertexOffset;this.attributes.position.set(Ie,[ke[0],ke[1],1]),this.attributes.position.set(Ie+1,[ke[0],ke[1],-1]),this.attributes.position.set(Ie+2,[ke[0],ke[1],2]),this.attributes.position.set(Ie+3,[ke[0],ke[1],-2]),this.setTriangleIndices(this._faceOffset++,[Ie,Ie+1,Ie+2]),this.setTriangleIndices(this._faceOffset++,[Ie+1,Ie+2,Ie+3]),this._vertexOffset+=4}});Ue.a=Te},function(tt,Ue,Ne){"use strict";Ue.a=`@export ecgl.vfParticle.particle.fragment
uniform sampler2D particleTexture;
uniform sampler2D spawnTexture;
uniform sampler2D velocityTexture;
uniform float deltaTime;
uniform float elapsedTime;
uniform float speedScaling : 1.0;
uniform vec2 textureSize;
uniform vec4 region : [0, 0, 1, 1];
uniform float firstFrameTime;
varying vec2 v_Texcoord;
void main()
{
vec4 p = texture2D(particleTexture, v_Texcoord);
bool spawn = false;
if (p.w <= 0.0) {
p = texture2D(spawnTexture, fract(v_Texcoord + elapsedTime / 10.0));
p.w -= firstFrameTime;
spawn = true;
}
vec2 v = texture2D(velocityTexture, fract(p.xy * region.zw + region.xy)).xy;
v = (v - 0.5) * 2.0;
p.z = length(v);
p.xy += v * deltaTime / 10.0 * speedScaling;
p.w -= deltaTime;
if (spawn || p.xy != fract(p.xy)) {
p.z = 0.0;
}
p.xy = fract(p.xy);
gl_FragColor = p;
}
@end
@export ecgl.vfParticle.renderPoints.vertex
#define PI 3.1415926
attribute vec2 texcoord : TEXCOORD_0;
uniform sampler2D particleTexture;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform float size : 1.0;
varying float v_Mag;
varying vec2 v_Uv;
void main()
{
vec4 p = texture2D(particleTexture, texcoord);
if (p.w > 0.0 && p.z > 1e-5) {
gl_Position = worldViewProjection * vec4(p.xy * 2.0 - 1.0, 0.0, 1.0);
}
else {
gl_Position = vec4(100000.0, 100000.0, 100000.0, 1.0);
}
v_Mag = p.z;
v_Uv = p.xy;
gl_PointSize = size;
}
@end
@export ecgl.vfParticle.renderPoints.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
uniform sampler2D gradientTexture;
uniform sampler2D colorTexture;
uniform sampler2D spriteTexture;
varying float v_Mag;
varying vec2 v_Uv;
void main()
{
gl_FragColor = color;
#ifdef SPRITETEXTURE_ENABLED
gl_FragColor *= texture2D(spriteTexture, gl_PointCoord);
if (color.a == 0.0) {
discard;
}
#endif
#ifdef GRADIENTTEXTURE_ENABLED
gl_FragColor *= texture2D(gradientTexture, vec2(v_Mag, 0.5));
#endif
#ifdef COLORTEXTURE_ENABLED
gl_FragColor *= texture2D(colorTexture, v_Uv);
#endif
}
@end
@export ecgl.vfParticle.renderLines.vertex
#define PI 3.1415926
attribute vec3 position : POSITION;
uniform sampler2D particleTexture;
uniform sampler2D prevParticleTexture;
uniform float size : 1.0;
uniform vec4 vp: VIEWPORT;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
varying float v_Mag;
varying vec2 v_Uv;
@import clay.util.rand
void main()
{
vec4 p = texture2D(particleTexture, position.xy);
vec4 p2 = texture2D(prevParticleTexture, position.xy);
p.xy = p.xy * 2.0 - 1.0;
p2.xy = p2.xy * 2.0 - 1.0;
if (p.w > 0.0 && p.z > 1e-5) {
vec2 dir = normalize(p.xy - p2.xy);
vec2 norm = vec2(dir.y / vp.z, -dir.x / vp.w) * sign(position.z) * size;
if (abs(position.z) == 2.0) {
gl_Position = vec4(p.xy + norm, 0.0, 1.0);
v_Uv = p.xy;
v_Mag = p.z;
}
else {
gl_Position = vec4(p2.xy + norm, 0.0, 1.0);
v_Mag = p2.z;
v_Uv = p2.xy;
}
gl_Position = worldViewProjection * gl_Position;
}
else {
gl_Position = vec4(100000.0, 100000.0, 100000.0, 1.0);
}
}
@end
@export ecgl.vfParticle.renderLines.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
uniform sampler2D gradientTexture;
uniform sampler2D colorTexture;
varying float v_Mag;
varying vec2 v_Uv;
void main()
{
gl_FragColor = color;
#ifdef GRADIENTTEXTURE_ENABLED
gl_FragColor *= texture2D(gradientTexture, vec2(v_Mag, 0.5));
#endif
#ifdef COLORTEXTURE_ENABLED
gl_FragColor *= texture2D(colorTexture, v_Uv);
#endif
}
@end
`},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke);Be.a.extendSeriesModel({type:"series.flowGL",dependencies:["geo","grid","bmap"],visualColorAccessPath:"itemStyle.color",getInitialData:function(we,Te){var ke=Be.a.getCoordinateSystemDimensions(this.get("coordinateSystem"))||["x","y"];if(ke.length>2)throw new Error("flowGL can only be used on 2d coordinate systems.");ke.push("vx","vy");var Ie=Be.a.helper.completeDimensions(ke,this.getSource(),{encodeDef:this.get("encode"),dimsDef:this.get("dimensions")}),Ce=new Be.a.List(Ie,this);return Ce.initData(this.getSource()),Ce},defaultOption:{coordinateSystem:"cartesian2d",zlevel:10,supersampling:1,particleType:"point",particleDensity:128,particleSize:1,particleSpeed:1,particleTrail:2,colorTexture:null,gridWidth:"auto",gridHeight:"auto",itemStyle:{color:"#fff",opacity:.8}}})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(260),Te=Ne(261),ke=Ne(16);Be.a.registerVisual(Object(ke.a)("linesGL"))},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(12),Te=Ne.n(we),ke=Be.a.extendSeriesModel({type:"series.linesGL",dependencies:["grid","geo"],visualColorAccessPath:"lineStyle.color",streamEnabled:!0,init:function(Ie){var Ce=this._processFlatCoordsArray(Ie.data);this._flatCoords=Ce.flatCoords,this._flatCoordsOffset=Ce.flatCoordsOffset,Ce.flatCoords&&(Ie.data=new Float32Array(Ce.count)),ke.superApply(this,"init",arguments)},mergeOption:function(Ie){var Ce=this._processFlatCoordsArray(Ie.data);this._flatCoords=Ce.flatCoords,this._flatCoordsOffset=Ce.flatCoordsOffset,Ce.flatCoords&&(Ie.data=new Float32Array(Ce.count)),ke.superApply(this,"mergeOption",arguments)},appendData:function(Ie){var Ce=this._processFlatCoordsArray(Ie.data);Ce.flatCoords&&(this._flatCoords?(this._flatCoords=Object(we.concatArray)(this._flatCoords,Ce.flatCoords),this._flatCoordsOffset=Object(we.concatArray)(this._flatCoordsOffset,Ce.flatCoordsOffset)):(this._flatCoords=Ce.flatCoords,this._flatCoordsOffset=Ce.flatCoordsOffset),Ie.data=new Float32Array(Ce.count)),this.getRawData().appendData(Ie.data)},_getCoordsFromItemModel:function(Ie){var Ce=this.getData().getItemModel(Ie),Me=Ce.option instanceof Array?Ce.option:Ce.getShallow("coords");if(!(Me instanceof Array&&Me.length>0&&Me[0]instanceof Array))throw new Error("Invalid coords "+JSON.stringify(Me)+". Lines must have 2d coords array in data item.");return Me},getLineCoordsCount:function(Ie){return this._flatCoordsOffset?this._flatCoordsOffset[Ie*2+1]:this._getCoordsFromItemModel(Ie).length},getLineCoords:function(Ie,Ce){if(this._flatCoordsOffset){for(var Me=this._flatCoordsOffset[Ie*2],je=this._flatCoordsOffset[Ie*2+1],ye=0;ye<je;ye++)Ce[ye]=Ce[ye]||[],Ce[ye][0]=this._flatCoords[Me+ye*2],Ce[ye][1]=this._flatCoords[Me+ye*2+1];return je}else{for(var ie=this._getCoordsFromItemModel(Ie),ye=0;ye<ie.length;ye++)Ce[ye]=Ce[ye]||[],Ce[ye][0]=ie[ye][0],Ce[ye][1]=ie[ye][1];return ie.length}},_processFlatCoordsArray:function(Ie){var Ce=0;if(this._flatCoords&&(Ce=this._flatCoords.length),typeof Ie[0]=="number"){for(var Me=Ie.length,je=new Uint32Array(Me),ye=new Float64Array(Me),ie=0,ae=0,fe=0,de=0;de<Me;){fe++;var ve=Ie[de++];je[ae++]=ie+Ce,je[ae++]=ve;for(var xe=0;xe<ve;xe++){var ce=Ie[de++],pe=Ie[de++];if(ye[ie++]=ce,ye[ie++]=pe,de>Me)throw new Error("Invalid data format.")}}return{flatCoordsOffset:new Uint32Array(je.buffer,0,ae),flatCoords:ye,count:fe}}return{flatCoordsOffset:null,flatCoords:null,count:Ie.length}},getInitialData:function(Ie,Ce){var Me=new Be.a.List(["value"],this);return Me.hasItemOption=!1,Me.initData(Ie.data,[],function(je,ye,ie,ae){if(je instanceof Array)return NaN;Me.hasItemOption=!0;var fe=je.value;if(fe!=null)return fe instanceof Array?fe[ae]:fe}),Me},defaultOption:{coordinateSystem:"geo",zlevel:10,progressive:1e4,progressiveThreshold:5e4,blendMode:"source-over",lineStyle:{opacity:.8},postEffect:{enable:!1,colorCorrection:{exposure:0,brightness:0,contrast:1,saturation:1,enable:!0}}}})},function(tt,Ue,Ne){"use strict";var Ke=Ne(0),Be=Ne.n(Ke),we=Ne(2),Te=Ne(20),ke=Ne(86),Ie=Ne(84),Ce=Ne(3);Be.a.extendChartView({type:"linesGL",__ecgl__:!0,init:function(Me,je){this.groupGL=new we.a.Node,this.viewGL=new Te.a("orthographic"),this.viewGL.add(this.groupGL),this._glViewHelper=new Ie.a(this.viewGL),this._nativeLinesShader=we.a.createShader("ecgl.lines3D"),this._meshLinesShader=we.a.createShader("ecgl.meshLines3D"),this._linesMeshes=[],this._currentStep=0},render:function(Me,je,ye){this.groupGL.removeAll(),this._glViewHelper.reset(Me,ye);var ie=this._linesMeshes[0];ie||(ie=this._linesMeshes[0]=this._createLinesMesh(Me)),this._linesMeshes.length=1,this.groupGL.add(ie),this._updateLinesMesh(Me,ie,0,Me.getData().count()),this.viewGL.setPostEffect(Me.getModel("postEffect"),ye)},incrementalPrepareRender:function(Me,je,ye){this.groupGL.removeAll(),this._glViewHelper.reset(Me,ye),this._currentStep=0,this.viewGL.setPostEffect(Me.getModel("postEffect"),ye)},incrementalRender:function(Me,je,ye,ie){var ae=this._linesMeshes[this._currentStep];ae||(ae=this._createLinesMesh(je),this._linesMeshes[this._currentStep]=ae),this._updateLinesMesh(je,ae,Me.start,Me.end),this.groupGL.add(ae),ie.getZr().refresh(),this._currentStep++},updateTransform:function(Me,je,ye){Me.coordinateSystem.getRoamTransform&&this._glViewHelper.updateTransform(Me,ye)},_createLinesMesh:function(Me){var je=new we.a.Mesh({$ignorePicking:!0,material:new we.a.Material({shader:we.a.createShader("ecgl.lines3D"),transparent:!0,depthMask:!1,depthTest:!1}),geometry:new ke.a({segmentScale:10,useNativeLine:!0,dynamic:!1}),mode:we.a.Mesh.LINES,culling:!1});return je},_updateLinesMesh:function(Me,je,ye,ie){var ae=Me.getData();je.material.blend=Me.get("blendMode")==="lighter"?we.a.additiveBlend:null;var fe=Me.get("lineStyle.curveness")||0,de=Me.get("polyline"),ve=je.geometry,xe=Me.coordinateSystem,ce=Ce.a.firstNotNull(Me.get("lineStyle.width"),1);ce>1?(je.material.shader!==this._meshLinesShader&&je.material.attachShader(this._meshLinesShader),je.mode=we.a.Mesh.TRIANGLES):(je.material.shader!==this._nativeLinesShader&&je.material.attachShader(this._nativeLinesShader),je.mode=we.a.Mesh.LINES),ye=ye||0,ie=ie||ae.count(),ve.resetOffset();var pe=0,Se=0,Le=[],ze=[],Ze=[],Ve=[],Qe=[],$e=.3,gt=.7;function lt(){ze[0]=Le[0]*gt+Ve[0]*$e-(Le[1]-Ve[1])*fe,ze[1]=Le[1]*gt+Ve[1]*$e-(Ve[0]-Le[0])*fe,Ze[0]=Le[0]*$e+Ve[0]*gt-(Le[1]-Ve[1])*fe,Ze[1]=Le[1]*$e+Ve[1]*gt-(Ve[0]-Le[0])*fe}if(de||fe!==0)for(var At=ye;At<ie;At++)if(de){var Et=Me.getLineCoordsCount(At);pe+=ve.getPolylineVertexCount(Et),Se+=ve.getPolylineTriangleCount(Et)}else Me.getLineCoords(At,Qe),this._glViewHelper.dataToPoint(xe,Qe[0],Le),this._glViewHelper.dataToPoint(xe,Qe[1],Ve),lt(),pe+=ve.getCubicCurveVertexCount(Le,ze,Ze,Ve),Se+=ve.getCubicCurveTriangleCount(Le,ze,Ze,Ve);else{var vt=ie-ye;pe+=vt*ve.getLineVertexCount(),Se+=vt*ve.getLineVertexCount()}ve.setVertexCount(pe),ve.setTriangleCount(Se);for(var Lt=ye,St=[],At=ye;At<ie;At++){we.a.parseColor(ae.getItemVisual(Lt,"color"),St);var xt=Ce.a.firstNotNull(ae.getItemVisual(Lt,"opacity"),1);St[3]*=xt;for(var Et=Me.getLineCoords(At,Qe),ct=0;ct<Et;ct++)this._glViewHelper.dataToPoint(xe,Qe[ct],Qe[ct]);de?ve.addPolyline(Qe,St,ce,0,Et):fe!==0?(Le=Qe[0],Ve=Qe[1],lt(),ve.addCubicCurve(Le,ze,Ze,Ve,St,ce)):ve.addPolyline(Qe,St,ce,0,2),Lt++}},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})}])})},3867:function(en,tn,Oe){var Ge=Oe(97671);(function(tt,Ue){en.exports=Ue()})(this,function(){"use strict";function tt(_t){var Jt=typeof _t;return _t!==null&&(Jt==="object"||Jt==="function")}function Ue(_t){return typeof _t=="function"}var Ne=void 0;Array.isArray?Ne=Array.isArray:Ne=function(_t){return Object.prototype.toString.call(_t)==="[object Array]"};var Ke=Ne,Be=0,we=void 0,Te=void 0,ke=function(Jt,wt){pe[Be]=Jt,pe[Be+1]=wt,Be+=2,Be===2&&(Te?Te(Se):ze())};function Ie(_t){Te=_t}function Ce(_t){ke=_t}var Me=typeof window!="undefined"?window:void 0,je=Me||{},ye=je.MutationObserver||je.WebKitMutationObserver,ie=typeof self=="undefined"&&typeof Ge!="undefined"&&{}.toString.call(Ge)==="[object process]",ae=typeof Uint8ClampedArray!="undefined"&&typeof importScripts!="undefined"&&typeof MessageChannel!="undefined";function fe(){return function(){return Ge.nextTick(Se)}}function de(){return typeof we!="undefined"?function(){we(Se)}:ce()}function ve(){var _t=0,Jt=new ye(Se),wt=document.createTextNode("");return Jt.observe(wt,{characterData:!0}),function(){wt.data=_t=++_t%2}}function xe(){var _t=new MessageChannel;return _t.port1.onmessage=Se,function(){return _t.port2.postMessage(0)}}function ce(){var _t=setTimeout;return function(){return _t(Se,1)}}var pe=new Array(1e3);function Se(){for(var _t=0;_t<Be;_t+=2){var Jt=pe[_t],wt=pe[_t+1];Jt(wt),pe[_t]=void 0,pe[_t+1]=void 0}Be=0}function Le(){try{var _t=Function("return this")().require("vertx");return we=_t.runOnLoop||_t.runOnContext,de()}catch(Jt){return ce()}}var ze=void 0;ie?ze=fe():ye?ze=ve():ae?ze=xe():Me===void 0?ze=Le():ze=ce();function Ze(_t,Jt){var wt=this,ut=new this.constructor($e);ut[Qe]===void 0&&Un(ut);var ot=wt._state;if(ot){var Pt=arguments[ot-1];ke(function(){return Rn(ot,ut,Pt,wt._result)})}else Gt(wt,ut,_t,Jt);return ut}function Ve(_t){var Jt=this;if(_t&&typeof _t=="object"&&_t.constructor===Jt)return _t;var wt=new Jt($e);return Dt(wt,_t),wt}var Qe=Math.random().toString(36).substring(2);function $e(){}var gt=void 0,lt=1,At=2;function Et(){return new TypeError("You cannot resolve a promise with itself")}function vt(){return new TypeError("A promises callback cannot return that same promise.")}function Lt(_t,Jt,wt,ut){try{_t.call(Jt,wt,ut)}catch(ot){return ot}}function St(_t,Jt,wt){ke(function(ut){var ot=!1,Pt=Lt(wt,Jt,function(Ht){ot||(ot=!0,Jt!==Ht?Dt(ut,Ht):kt(ut,Ht))},function(Ht){ot||(ot=!0,Rt(ut,Ht))},"Settle: "+(ut._label||" unknown promise"));!ot&&Pt&&(ot=!0,Rt(ut,Pt))},_t)}function xt(_t,Jt){Jt._state===lt?kt(_t,Jt._result):Jt._state===At?Rt(_t,Jt._result):Gt(Jt,void 0,function(wt){return Dt(_t,wt)},function(wt){return Rt(_t,wt)})}function ct(_t,Jt,wt){Jt.constructor===_t.constructor&&wt===Ze&&Jt.constructor.resolve===Ve?xt(_t,Jt):wt===void 0?kt(_t,Jt):Ue(wt)?St(_t,Jt,wt):kt(_t,Jt)}function Dt(_t,Jt){if(_t===Jt)Rt(_t,Et());else if(tt(Jt)){var wt=void 0;try{wt=Jt.then}catch(ut){Rt(_t,ut);return}ct(_t,Jt,wt)}else kt(_t,Jt)}function Xt(_t){_t._onerror&&_t._onerror(_t._result),ln(_t)}function kt(_t,Jt){_t._state===gt&&(_t._result=Jt,_t._state=lt,_t._subscribers.length!==0&&ke(ln,_t))}function Rt(_t,Jt){_t._state===gt&&(_t._state=At,_t._result=Jt,ke(Xt,_t))}function Gt(_t,Jt,wt,ut){var ot=_t._subscribers,Pt=ot.length;_t._onerror=null,ot[Pt]=Jt,ot[Pt+lt]=wt,ot[Pt+At]=ut,Pt===0&&_t._state&&ke(ln,_t)}function ln(_t){var Jt=_t._subscribers,wt=_t._state;if(Jt.length!==0){for(var ut=void 0,ot=void 0,Pt=_t._result,Ht=0;Ht<Jt.length;Ht+=3)ut=Jt[Ht],ot=Jt[Ht+wt],ut?Rn(wt,ut,ot,Pt):ot(Pt);_t._subscribers.length=0}}function Rn(_t,Jt,wt,ut){var ot=Ue(wt),Pt=void 0,Ht=void 0,Mt=!0;if(ot){try{Pt=wt(ut)}catch(hn){Mt=!1,Ht=hn}if(Jt===Pt){Rt(Jt,vt());return}}else Pt=ut;Jt._state!==gt||(ot&&Mt?Dt(Jt,Pt):Mt===!1?Rt(Jt,Ht):_t===lt?kt(Jt,Pt):_t===At&&Rt(Jt,Pt))}function jn(_t,Jt){try{Jt(function(ut){Dt(_t,ut)},function(ut){Rt(_t,ut)})}catch(wt){Rt(_t,wt)}}var er=0;function an(){return er++}function Un(_t){_t[Qe]=er++,_t._state=void 0,_t._result=void 0,_t._subscribers=[]}function Kn(){return new Error("Array Methods must be provided an Array")}var ur=function(){function _t(Jt,wt){this._instanceConstructor=Jt,this.promise=new Jt($e),this.promise[Qe]||Un(this.promise),Ke(wt)?(this.length=wt.length,this._remaining=wt.length,this._result=new Array(this.length),this.length===0?kt(this.promise,this._result):(this.length=this.length||0,this._enumerate(wt),this._remaining===0&&kt(this.promise,this._result))):Rt(this.promise,Kn())}return _t.prototype._enumerate=function(wt){for(var ut=0;this._state===gt&&ut<wt.length;ut++)this._eachEntry(wt[ut],ut)},_t.prototype._eachEntry=function(wt,ut){var ot=this._instanceConstructor,Pt=ot.resolve;if(Pt===Ve){var Ht=void 0,Mt=void 0,hn=!1;try{Ht=wt.then}catch(Jn){hn=!0,Mt=Jn}if(Ht===Ze&&wt._state!==gt)this._settledAt(wt._state,ut,wt._result);else if(typeof Ht!="function")this._remaining--,this._result[ut]=wt;else if(ot===Yt){var rr=new ot($e);hn?Rt(rr,Mt):ct(rr,wt,Ht),this._willSettleAt(rr,ut)}else this._willSettleAt(new ot(function(Jn){return Jn(wt)}),ut)}else this._willSettleAt(Pt(wt),ut)},_t.prototype._settledAt=function(wt,ut,ot){var Pt=this.promise;Pt._state===gt&&(this._remaining--,wt===At?Rt(Pt,ot):this._result[ut]=ot),this._remaining===0&&kt(Pt,this._result)},_t.prototype._willSettleAt=function(wt,ut){var ot=this;Gt(wt,void 0,function(Pt){return ot._settledAt(lt,ut,Pt)},function(Pt){return ot._settledAt(At,ut,Pt)})},_t}();function Xn(_t){return new ur(this,_t).promise}function Nn(_t){var Jt=this;return Ke(_t)?new Jt(function(wt,ut){for(var ot=_t.length,Pt=0;Pt<ot;Pt++)Jt.resolve(_t[Pt]).then(wt,ut)}):new Jt(function(wt,ut){return ut(new TypeError("You must pass an array to race."))})}function _n(_t){var Jt=this,wt=new Jt($e);return Rt(wt,_t),wt}function un(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function qt(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}var Yt=function(){function _t(Jt){this[Qe]=an(),this._result=this._state=void 0,this._subscribers=[],$e!==Jt&&(typeof Jt!="function"&&un(),this instanceof _t?jn(this,Jt):qt())}return _t.prototype.catch=function(wt){return this.then(null,wt)},_t.prototype.finally=function(wt){var ut=this,ot=ut.constructor;return Ue(wt)?ut.then(function(Pt){return ot.resolve(wt()).then(function(){return Pt})},function(Pt){return ot.resolve(wt()).then(function(){throw Pt})}):ut.then(wt,wt)},_t}();Yt.prototype.then=Ze,Yt.all=Xn,Yt.race=Nn,Yt.resolve=Ve,Yt.reject=_n,Yt._setScheduler=Ie,Yt._setAsap=Ce,Yt._asap=ke;function gn(){var _t=void 0;if(typeof Oe.g!="undefined")_t=Oe.g;else if(typeof self!="undefined")_t=self;else try{_t=Function("return this")()}catch(ut){throw new Error("polyfill failed because global object is unavailable in this environment")}var Jt=_t.Promise;if(Jt){var wt=null;try{wt=Object.prototype.toString.call(Jt.resolve())}catch(ut){}if(wt==="[object Promise]"&&!Jt.cast)return}_t.Promise=Yt}return Yt.polyfill=gn,Yt.Promise=Yt,Yt})},37271:function(en){"use strict";var tn=Object.prototype.hasOwnProperty,Oe="~";function Ge(){}Object.create&&(Ge.prototype=Object.create(null),new Ge().__proto__||(Oe=!1));function tt(Be,we,Te){this.fn=Be,this.context=we,this.once=Te||!1}function Ue(Be,we,Te,ke,Ie){if(typeof Te!="function")throw new TypeError("The listener must be a function");var Ce=new tt(Te,ke||Be,Ie),Me=Oe?Oe+we:we;return Be._events[Me]?Be._events[Me].fn?Be._events[Me]=[Be._events[Me],Ce]:Be._events[Me].push(Ce):(Be._events[Me]=Ce,Be._eventsCount++),Be}function Ne(Be,we){--Be._eventsCount===0?Be._events=new Ge:delete Be._events[we]}function Ke(){this._events=new Ge,this._eventsCount=0}Ke.prototype.eventNames=function(){var we=[],Te,ke;if(this._eventsCount===0)return we;for(ke in Te=this._events)tn.call(Te,ke)&&we.push(Oe?ke.slice(1):ke);return Object.getOwnPropertySymbols?we.concat(Object.getOwnPropertySymbols(Te)):we},Ke.prototype.listeners=function(we){var Te=Oe?Oe+we:we,ke=this._events[Te];if(!ke)return[];if(ke.fn)return[ke.fn];for(var Ie=0,Ce=ke.length,Me=new Array(Ce);Ie<Ce;Ie++)Me[Ie]=ke[Ie].fn;return Me},Ke.prototype.listenerCount=function(we){var Te=Oe?Oe+we:we,ke=this._events[Te];return ke?ke.fn?1:ke.length:0},Ke.prototype.emit=function(we,Te,ke,Ie,Ce,Me){var je=Oe?Oe+we:we;if(!this._events[je])return!1;var ye=this._events[je],ie=arguments.length,ae,fe;if(ye.fn){switch(ye.once&&this.removeListener(we,ye.fn,void 0,!0),ie){case 1:return ye.fn.call(ye.context),!0;case 2:return ye.fn.call(ye.context,Te),!0;case 3:return ye.fn.call(ye.context,Te,ke),!0;case 4:return ye.fn.call(ye.context,Te,ke,Ie),!0;case 5:return ye.fn.call(ye.context,Te,ke,Ie,Ce),!0;case 6:return ye.fn.call(ye.context,Te,ke,Ie,Ce,Me),!0}for(fe=1,ae=new Array(ie-1);fe<ie;fe++)ae[fe-1]=arguments[fe];ye.fn.apply(ye.context,ae)}else{var de=ye.length,ve;for(fe=0;fe<de;fe++)switch(ye[fe].once&&this.removeListener(we,ye[fe].fn,void 0,!0),ie){case 1:ye[fe].fn.call(ye[fe].context);break;case 2:ye[fe].fn.call(ye[fe].context,Te);break;case 3:ye[fe].fn.call(ye[fe].context,Te,ke);break;case 4:ye[fe].fn.call(ye[fe].context,Te,ke,Ie);break;default:if(!ae)for(ve=1,ae=new Array(ie-1);ve<ie;ve++)ae[ve-1]=arguments[ve];ye[fe].fn.apply(ye[fe].context,ae)}}return!0},Ke.prototype.on=function(we,Te,ke){return Ue(this,we,Te,ke,!1)},Ke.prototype.once=function(we,Te,ke){return Ue(this,we,Te,ke,!0)},Ke.prototype.removeListener=function(we,Te,ke,Ie){var Ce=Oe?Oe+we:we;if(!this._events[Ce])return this;if(!Te)return Ne(this,Ce),this;var Me=this._events[Ce];if(Me.fn)Me.fn===Te&&(!Ie||Me.once)&&(!ke||Me.context===ke)&&Ne(this,Ce);else{for(var je=0,ye=[],ie=Me.length;je<ie;je++)(Me[je].fn!==Te||Ie&&!Me[je].once||ke&&Me[je].context!==ke)&&ye.push(Me[je]);ye.length?this._events[Ce]=ye.length===1?ye[0]:ye:Ne(this,Ce)}return this},Ke.prototype.removeAllListeners=function(we){var Te;return we?(Te=Oe?Oe+we:we,this._events[Te]&&Ne(this,Te)):(this._events=new Ge,this._eventsCount=0),this},Ke.prototype.off=Ke.prototype.removeListener,Ke.prototype.addListener=Ke.prototype.on,Ke.prefixed=Oe,Ke.EventEmitter=Ke,en.exports=Ke},86204:function(en){"use strict";var tn=typeof Reflect=="object"?Reflect:null,Oe=tn&&typeof tn.apply=="function"?tn.apply:function(xe,ce,pe){return Function.prototype.apply.call(xe,ce,pe)},Ge;tn&&typeof tn.ownKeys=="function"?Ge=tn.ownKeys:Object.getOwnPropertySymbols?Ge=function(xe){return Object.getOwnPropertyNames(xe).concat(Object.getOwnPropertySymbols(xe))}:Ge=function(xe){return Object.getOwnPropertyNames(xe)};function tt(ve){console&&console.warn&&console.warn(ve)}var Ue=Number.isNaN||function(xe){return xe!==xe};function Ne(){Ne.init.call(this)}en.exports=Ne,en.exports.once=ae,Ne.EventEmitter=Ne,Ne.prototype._events=void 0,Ne.prototype._eventsCount=0,Ne.prototype._maxListeners=void 0;var Ke=10;function Be(ve){if(typeof ve!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof ve)}Object.defineProperty(Ne,"defaultMaxListeners",{enumerable:!0,get:function(){return Ke},set:function(ve){if(typeof ve!="number"||ve<0||Ue(ve))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+ve+".");Ke=ve}}),Ne.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},Ne.prototype.setMaxListeners=function(xe){if(typeof xe!="number"||xe<0||Ue(xe))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+xe+".");return this._maxListeners=xe,this};function we(ve){return ve._maxListeners===void 0?Ne.defaultMaxListeners:ve._maxListeners}Ne.prototype.getMaxListeners=function(){return we(this)},Ne.prototype.emit=function(xe){for(var ce=[],pe=1;pe<arguments.length;pe++)ce.push(arguments[pe]);var Se=xe==="error",Le=this._events;if(Le!==void 0)Se=Se&&Le.error===void 0;else if(!Se)return!1;if(Se){var ze;if(ce.length>0&&(ze=ce[0]),ze instanceof Error)throw ze;var Ze=new Error("Unhandled error."+(ze?" ("+ze.message+")":""));throw Ze.context=ze,Ze}var Ve=Le[xe];if(Ve===void 0)return!1;if(typeof Ve=="function")Oe(Ve,this,ce);else for(var Qe=Ve.length,$e=je(Ve,Qe),pe=0;pe<Qe;++pe)Oe($e[pe],this,ce);return!0};function Te(ve,xe,ce,pe){var Se,Le,ze;if(Be(ce),Le=ve._events,Le===void 0?(Le=ve._events=Object.create(null),ve._eventsCount=0):(Le.newListener!==void 0&&(ve.emit("newListener",xe,ce.listener?ce.listener:ce),Le=ve._events),ze=Le[xe]),ze===void 0)ze=Le[xe]=ce,++ve._eventsCount;else if(typeof ze=="function"?ze=Le[xe]=pe?[ce,ze]:[ze,ce]:pe?ze.unshift(ce):ze.push(ce),Se=we(ve),Se>0&&ze.length>Se&&!ze.warned){ze.warned=!0;var Ze=new Error("Possible EventEmitter memory leak detected. "+ze.length+" "+String(xe)+" listeners added. Use emitter.setMaxListeners() to increase limit");Ze.name="MaxListenersExceededWarning",Ze.emitter=ve,Ze.type=xe,Ze.count=ze.length,tt(Ze)}return ve}Ne.prototype.addListener=function(xe,ce){return Te(this,xe,ce,!1)},Ne.prototype.on=Ne.prototype.addListener,Ne.prototype.prependListener=function(xe,ce){return Te(this,xe,ce,!0)};function ke(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Ie(ve,xe,ce){var pe={fired:!1,wrapFn:void 0,target:ve,type:xe,listener:ce},Se=ke.bind(pe);return Se.listener=ce,pe.wrapFn=Se,Se}Ne.prototype.once=function(xe,ce){return Be(ce),this.on(xe,Ie(this,xe,ce)),this},Ne.prototype.prependOnceListener=function(xe,ce){return Be(ce),this.prependListener(xe,Ie(this,xe,ce)),this},Ne.prototype.removeListener=function(xe,ce){var pe,Se,Le,ze,Ze;if(Be(ce),Se=this._events,Se===void 0)return this;if(pe=Se[xe],pe===void 0)return this;if(pe===ce||pe.listener===ce)--this._eventsCount===0?this._events=Object.create(null):(delete Se[xe],Se.removeListener&&this.emit("removeListener",xe,pe.listener||ce));else if(typeof pe!="function"){for(Le=-1,ze=pe.length-1;ze>=0;ze--)if(pe[ze]===ce||pe[ze].listener===ce){Ze=pe[ze].listener,Le=ze;break}if(Le<0)return this;Le===0?pe.shift():ye(pe,Le),pe.length===1&&(Se[xe]=pe[0]),Se.removeListener!==void 0&&this.emit("removeListener",xe,Ze||ce)}return this},Ne.prototype.off=Ne.prototype.removeListener,Ne.prototype.removeAllListeners=function(xe){var ce,pe,Se;if(pe=this._events,pe===void 0)return this;if(pe.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):pe[xe]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete pe[xe]),this;if(arguments.length===0){var Le=Object.keys(pe),ze;for(Se=0;Se<Le.length;++Se)ze=Le[Se],ze!=="removeListener"&&this.removeAllListeners(ze);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(ce=pe[xe],typeof ce=="function")this.removeListener(xe,ce);else if(ce!==void 0)for(Se=ce.length-1;Se>=0;Se--)this.removeListener(xe,ce[Se]);return this};function Ce(ve,xe,ce){var pe=ve._events;if(pe===void 0)return[];var Se=pe[xe];return Se===void 0?[]:typeof Se=="function"?ce?[Se.listener||Se]:[Se]:ce?ie(Se):je(Se,Se.length)}Ne.prototype.listeners=function(xe){return Ce(this,xe,!0)},Ne.prototype.rawListeners=function(xe){return Ce(this,xe,!1)},Ne.listenerCount=function(ve,xe){return typeof ve.listenerCount=="function"?ve.listenerCount(xe):Me.call(ve,xe)},Ne.prototype.listenerCount=Me;function Me(ve){var xe=this._events;if(xe!==void 0){var ce=xe[ve];if(typeof ce=="function")return 1;if(ce!==void 0)return ce.length}return 0}Ne.prototype.eventNames=function(){return this._eventsCount>0?Ge(this._events):[]};function je(ve,xe){for(var ce=new Array(xe),pe=0;pe<xe;++pe)ce[pe]=ve[pe];return ce}function ye(ve,xe){for(;xe+1<ve.length;xe++)ve[xe]=ve[xe+1];ve.pop()}function ie(ve){for(var xe=new Array(ve.length),ce=0;ce<xe.length;++ce)xe[ce]=ve[ce].listener||ve[ce];return xe}function ae(ve,xe){return new Promise(function(ce,pe){function Se(ze){ve.removeListener(xe,Le),pe(ze)}function Le(){typeof ve.removeListener=="function"&&ve.removeListener("error",Se),ce([].slice.call(arguments))}de(ve,xe,Le,{once:!0}),xe!=="error"&&fe(ve,Se,{once:!0})})}function fe(ve,xe,ce){typeof ve.on=="function"&&de(ve,"error",xe,ce)}function de(ve,xe,ce,pe){if(typeof ve.on=="function")pe.once?ve.once(xe,ce):ve.on(xe,ce);else if(typeof ve.addEventListener=="function")ve.addEventListener(xe,function Se(Le){pe.once&&ve.removeEventListener(xe,Se),ce(Le)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof ve)}},53291:function(en){"use strict";var tn=Array.isArray,Oe=Object.keys,Ge=Object.prototype.hasOwnProperty;en.exports=function tt(Ue,Ne){if(Ue===Ne)return!0;if(Ue&&Ne&&typeof Ue=="object"&&typeof Ne=="object"){var Ke=tn(Ue),Be=tn(Ne),we,Te,ke;if(Ke&&Be){if(Te=Ue.length,Te!=Ne.length)return!1;for(we=Te;we--!==0;)if(!tt(Ue[we],Ne[we]))return!1;return!0}if(Ke!=Be)return!1;var Ie=Ue instanceof Date,Ce=Ne instanceof Date;if(Ie!=Ce)return!1;if(Ie&&Ce)return Ue.getTime()==Ne.getTime();var Me=Ue instanceof RegExp,je=Ne instanceof RegExp;if(Me!=je)return!1;if(Me&&je)return Ue.toString()==Ne.toString();var ye=Oe(Ue);if(Te=ye.length,Te!==Oe(Ne).length)return!1;for(we=Te;we--!==0;)if(!Ge.call(Ne,ye[we]))return!1;for(we=Te;we--!==0;)if(ke=ye[we],!tt(Ue[ke],Ne[ke]))return!1;return!0}return Ue!==Ue&&Ne!==Ne}},12378:function(en,tn,Oe){"use strict";Oe.d(tn,{$u:function(){return ke},BD:function(){return ur},E9:function(){return Te},FF:function(){return Pi},FJ:function(){return xe},Hn:function(){return ve},KX:function(){return pe},NB:function(){return wt},S0:function(){return an},UL:function(){return Ie},Vk:function(){return de},Vm:function(){return ot},YI:function(){return Un},ZA:function(){return Ue},Zt:function(){return Ce},al:function(){return qt},bn:function(){return un},bx:function(){return Xn},g2:function(){return Kn},h1:function(){return Ve},hD:function(){return Qr},l4:function(){return Be},rU:function(){return ut},s_:function(){return Nn},uz:function(){return Jt},z6:function(){return Me}}),en=Oe.hmd(en),function(){var It;function Yo(a){var y=0;return function(){return y<a.length?{done:!1,value:a[y++]}:{done:!0}}}function ko(a){var y=typeof Symbol!="undefined"&&Symbol.iterator&&a[Symbol.iterator];return y?y.call(a):{next:Yo(a)}}function Fr(a){for(var y,ee=[];!(y=a.next()).done;)ee.push(y.value);return ee}var Bi=typeof Object.create=="function"?Object.create:function(a){function y(){}return y.prototype=a,new y},Fi;if(typeof Object.setPrototypeOf=="function")Fi=Object.setPrototypeOf;else{var Qi;e:{var ii={a:!0},Nt={};try{Nt.__proto__=ii,Qi=Nt.a;break e}catch(a){}Qi=!1}Fi=Qi?function(a,y){if(a.__proto__=y,a.__proto__!==y)throw new TypeError(a+" is not extensible");return a}:null}var De=Fi;function He(a,y){if(a.prototype=Bi(y.prototype),a.prototype.constructor=a,De)De(a,y);else for(var ee in y)if(ee!="prototype")if(Object.defineProperties){var ne=Object.getOwnPropertyDescriptor(y,ee);ne&&Object.defineProperty(a,ee,ne)}else a[ee]=y[ee];a.QA=y.prototype}var Re=typeof Oe.g!="undefined"&&Oe.g!=null?Oe.g:self,et=typeof Object.assign=="function"?Object.assign:function(a,y){for(var ee=1;ee<arguments.length;ee++){var ne=arguments[ee];if(ne)for(var se in ne)Object.prototype.hasOwnProperty.call(ne,se)&&(a[se]=ne[se])}return a},ft=typeof Object.defineProperties=="function"?Object.defineProperty:function(a,y,ee){a!=Array.prototype&&a!=Object.prototype&&(a[y]=ee.value)};function Bt(a,y){if(y){var ee=Re;a=a.split(".");for(var ne=0;ne<a.length-1;ne++){var se=a[ne];se in ee||(ee[se]={}),ee=ee[se]}a=a[a.length-1],ne=ee[a],y=y(ne),y!=ne&&y!=null&&ft(ee,a,{writable:!0,value:y})}}Bt("Object.assign",function(a){return a||et}),Bt("Array.prototype.fill",function(a){return a||function(y,ee,ne){var se=this.length||0;for(0>ee&&(ee=Math.max(0,se+ee)),(ne==null||ne>se)&&(ne=se),ne=Number(ne),0>ne&&(ne=Math.max(0,se+ne)),ee=Number(ee||0);ee<ne;ee++)this[ee]=y;return this}});var Ct=typeof globalThis=="object"&&globalThis||typeof Oe.g=="object"&&Oe.g.global===Oe.g&&Oe.g||typeof self=="object"&&self.self===self&&self||{};Ct.requestAnimationFrame===void 0&&(Ct.setImmediate===void 0?Ct.requestAnimationFrame=function(a){Ct.setTimeout(a,0)}:Ct.requestAnimationFrame=Ct.setImmediate);function rn(){}function nn(a,y){var ee=-1;return function(){var ne=this,se=arguments;ee!==-1&&Ct.clearTimeout(ee),ee=Gn(function(){ee=-1,a.apply(ne,se)},y)}}function Gn(a,y){return Ct.setTimeout(a,y)}function Sn(a){return Ct.document.createElement(a)}function cn(a){throw Error(a)}function Yn(a,y){a="The object is frozen, so its properties cannot be set: "+a.toString(),y!==void 0&&(a+=" to value: "+y),cn(a)}function ir(a,y,ee,ne){ee=ee===null?"*":typeof ee=="string"?ee:typeof ee=="function"&&typeof ee.className=="string"?ee.className:"",ne!==void 0&&(ee+="."+ne),cn(ee+" is not in the range "+y+": "+a)}function fr(a){Ct.console&&Ct.console.log(a)}function On(a){return typeof a=="object"&&a!==null}function dn(a){return Array.isArray(a)||Ct.NodeList&&a instanceof Ct.NodeList||Ct.HTMLCollection&&a instanceof Ct.HTMLCollection}function Bn(a){return Array.prototype.slice.call(a)}function tr(a,y,ee){Array.isArray(a)?y>=a.length?a.push(ee):a.splice(y,0,ee):cn("Cannot insert an object into an HTMLCollection or NodeList: "+ee+" at "+y)}function hr(a,y){Array.isArray(a)?y>=a.length?a.pop():a.splice(y,1):cn("Cannot remove an object from an HTMLCollection or NodeList at "+y)}function pr(){var a=Zi.pop();return a===void 0?[]:a}function Mr(a){a.length=0,Zi.push(a)}function gr(a){if(typeof a=="function"){if(a.className)return a.className;if(a.name)return a.name;var y=a.toString();if(y=y.substring(9,y.indexOf("(")).trim(),y!=="")return a._className=y}else if(On(a)&&a.constructor)return gr(a.constructor);return typeof a}function Nr(a){var y=a;return On(a)&&(a.text?y=a.text:a.name?y=a.name:a.key!==void 0?y=a.key:a.id!==void 0?y=a.id:a.constructor===Object&&(a.Text?y=a.Text:a.Name?y=a.Name:a.Key!==void 0?y=a.Key:a.Id!==void 0?y=a.Id:a.ID!==void 0&&(y=a.ID))),y===void 0?"undefined":y===null?"null":y.toString()}function Kr(a,y){if(a.hasOwnProperty(y))return!0;for(a=Object.getPrototypeOf(a);a&&a!==Function;){if(a.hasOwnProperty(y))return!0;var ee=a.CA;if(ee&&ee[y])return!0;a=Object.getPrototypeOf(a)}return!1}function Hn(a,y,ee){Object.defineProperty(Ei.prototype,a,{get:y,set:ee})}function br(a){for(var y=[],ee=0;256>ee;ee++)y["0123456789abcdef".charAt(ee>>4)+"0123456789abcdef".charAt(ee&15)]=String.fromCharCode(ee);a.length%2&&(a="0"+a),ee=[];for(var ne=0,se=0;se<a.length;se+=2)ee[ne++]=y[a.substr(se,2)];for(a=ee.join(""),a=a===""?"0":a,y=[],ee=0;256>ee;ee++)y[ee]=ee;for(ee=ne=0;256>ee;ee++)ne=(ne+y[ee]+119)%256,se=y[ee],y[ee]=y[ne],y[ne]=se;ne=ee=0;for(var ue="",me=0;me<a.length;me++)ee=(ee+1)%256,ne=(ne+y[ee])%256,se=y[ee],y[ee]=y[ne],y[ne]=se,ue+=String.fromCharCode(a.charCodeAt(me)^y[(y[ee]+y[ne])%256]);return ue.indexOf("GoJS 2.1 evaluation")>-1||ue.indexOf("\xA9 1998-2021 Northwoods Software")>-1||ue.indexOf("Not for distribution or production use")>-1||ue.indexOf("gojs.net")>-1?"":ue}var ui=Ct.navigator!==void 0&&0<Ct.navigator.userAgent.indexOf("Trident/7"),gi=Ct.navigator!==void 0&&Ct.navigator.platform!==void 0&&Ct.navigator.platform.match(/(iPhone|iPod|iPad|Mac)/i)!==null,Zi=[];Object.freeze([]),rn.className="Util",rn.Dx="32ab5ff3b26f42dc0ed90f21472913b5",rn.adym="gojs.net",rn.vfo="28e645fdb266",rn.className="Util";function nr(a,y,ee){Ca(this),this.j=a,this.xa=y,this.o=ee}nr.prototype.toString=function(){return"EnumValue."+this.xa};function xi(a,y){return y==null||y===""?null:a[y]}Re.Object.defineProperties(nr.prototype,{classType:{get:function(){return this.j}},name:{get:function(){return this.xa}},value:{get:function(){return this.o}}}),nr.className="EnumValue";function Vi(){this.ew=[]}Vi.prototype.toString=function(){return this.ew.join("")},Vi.prototype.add=function(a){a!==""&&this.ew.push(a)},Vi.className="StringBuilder";function Gi(){}Gi.className="PropertyCollection";var Ao={EA:!1,JA:!1,GA:!1,IA:!1,NA:!1,LA:!1,nx:!1,FA:null,trace:function(a){Ct.console&&Ct.console.log(a)},HA:function(a,y,ee,ne){a.strokeStyle="red",a.fillStyle="red",a.font="8px sans-serif",a.beginPath(),a.moveTo(-10,0),a.lineTo(10,0),a.moveTo(0,-10),a.lineTo(0,10),a.stroke(),a.setTransform(1,0,0,1,0,0),a.scale(ee,ee),a.transform(y.m11,y.m12,y.m21,y.m22,y.dx,y.dy),a.lineWidth=2,a.beginPath(),a.moveTo(ne.left,ne.top+20),a.lineTo(ne.left,ne.top),a.lineTo(ne.left+20,ne.top),a.moveTo(ne.right,ne.bottom-20),a.lineTo(ne.right,ne.bottom),a.lineTo(ne.right-20,ne.bottom),a.stroke(),a.fillText("DB: "+Math.round(ne.x)+", "+Math.round(ne.y)+", "+Math.round(ne.width)+", "+Math.round(ne.height),ne.left,ne.top-5)},DA:function(a){var y={},ee;for(ee in a){if(y.x=ee,y.x!=="licenseKey"){var ne=a[y.x];if(ne.prototype!==void 0){y.Zl=Object.getOwnPropertyNames(ne.prototype);for(var se={Tj:0};se.Tj<y.Zl.length;se={Tj:se.Tj},se.Tj++){var ue=Object.getOwnPropertyDescriptor(ne.prototype,y.Zl[se.Tj]);ue.get!==void 0&&ue.set===void 0&&Object.defineProperty(ne.prototype,y.Zl[se.Tj],{set:function(me,be){return function(){throw Error("Property "+me.Zl[be.Tj]+" of "+me.x+" is read-only.")}}(y,se)})}}}y={Zl:y.Zl,x:y.x}}}};function io(){}io.prototype.reset=function(){},io.prototype.next=function(){return!1},io.prototype.Ad=function(){return!1},io.prototype.first=function(){return null},io.prototype.any=function(){return!1},io.prototype.all=function(){return!0},io.prototype.each=function(){return this},io.prototype.map=function(){return this},io.prototype.filter=function(){return this},io.prototype.de=function(){},io.prototype.toString=function(){return"EmptyIterator"},Re.Object.defineProperties(io.prototype,{iterator:{get:function(){return this}},count:{get:function(){return 0}}}),io.prototype.first=io.prototype.first,io.prototype.hasNext=io.prototype.Ad,io.prototype.next=io.prototype.next,io.prototype.reset=io.prototype.reset;var Do=null;io.className="EmptyIterator",Do=new io;function Bo(a){this.key=-1,this.value=a}Bo.prototype.reset=function(){this.key=-1},Bo.prototype.next=function(){return this.key===-1?(this.key=0,!0):!1},Bo.prototype.Ad=function(){return this.next()},Bo.prototype.first=function(){return this.key=0,this.value},Bo.prototype.any=function(a){return this.key=-1,a(this.value)},Bo.prototype.all=function(a){return this.key=-1,a(this.value)},Bo.prototype.each=function(a){return this.key=-1,a(this.value),this},Bo.prototype.map=function(a){return new Bo(a(this.value))},Bo.prototype.filter=function(a){return a(this.value)?new Bo(this.value):Do},Bo.prototype.de=function(){this.value=null},Bo.prototype.toString=function(){return"SingletonIterator("+this.value+")"},Re.Object.defineProperties(Bo.prototype,{iterator:{get:function(){return this}},count:{get:function(){return 1}}}),Bo.prototype.first=Bo.prototype.first,Bo.prototype.hasNext=Bo.prototype.Ad,Bo.prototype.next=Bo.prototype.next,Bo.prototype.reset=Bo.prototype.reset,Bo.className="SingletonIterator";function Ui(a){this.Bb=a,this.qf=null,a.Sa=null,this.qa=a.Ja,this.Za=-1}Ui.prototype.reset=function(){var a=this.Bb;a.Sa=null,this.qa=a.Ja,this.Za=-1},Ui.prototype.next=function(){var a=this.Bb;if(a.Ja!==this.qa&&0>this.key)return!1;a=a.s;var y=a.length,ee=++this.Za,ne=this.qf;if(ne!==null)for(;ee<y;){var se=a[ee];if(ne(se))return this.key=this.Za=ee,this.value=se,!0;ee++}else{if(ee<y)return this.key=ee,this.value=a[ee],!0;this.de()}return!1},Ui.prototype.Ad=function(){return this.next()},Ui.prototype.first=function(){var a=this.Bb;this.qa=a.Ja,this.Za=0,a=a.s;var y=a.length,ee=this.qf;if(ee!==null){for(var ne=0;ne<y;){var se=a[ne];if(ee(se))return this.key=this.Za=ne,this.value=se;ne++}return null}return 0<y?(a=a[0],this.key=0,this.value=a):null},Ui.prototype.any=function(a){var y=this.Bb;y.Sa=null,this.Za=-1,y=y.s;for(var ee=y.length,ne=this.qf,se=0;se<ee;se++){var ue=y[se];if((ne===null||ne(ue))&&a(ue))return!0}return!1},Ui.prototype.all=function(a){var y=this.Bb;y.Sa=null,this.Za=-1,y=y.s;for(var ee=y.length,ne=this.qf,se=0;se<ee;se++){var ue=y[se];if((ne===null||ne(ue))&&!a(ue))return!1}return!0},Ui.prototype.each=function(a){var y=this.Bb;y.Sa=null,this.Za=-1,y=y.s;for(var ee=y.length,ne=this.qf,se=0;se<ee;se++){var ue=y[se];(ne===null||ne(ue))&&a(ue)}return this},Ui.prototype.map=function(a){var y=this.Bb;y.Sa=null,this.Za=-1;var ee=[];y=y.s;for(var ne=y.length,se=this.qf,ue=0;ue<ne;ue++){var me=y[ue];(se===null||se(me))&&ee.push(a(me))}return a=new Hr,a.s=ee,a.xb(),a.iterator},Ui.prototype.filter=function(a){var y=this.Bb;y.Sa=null,this.Za=-1;var ee=[];y=y.s;for(var ne=y.length,se=this.qf,ue=0;ue<ne;ue++){var me=y[ue];(se===null||se(me))&&a(me)&&ee.push(me)}return a=new Hr,a.s=ee,a.xb(),a.iterator},Ui.prototype.de=function(){this.key=-1,this.value=null,this.qa=-1,this.qf=null,this.Bb.Sa=this},Ui.prototype.toString=function(){return"ListIterator@"+this.Za+"/"+this.Bb.count},Re.Object.defineProperties(Ui.prototype,{iterator:{get:function(){return this}},predicate:{get:function(){return this.qf},set:function(a){this.qf=a}},count:{get:function(){var a=this.qf;if(a!==null){for(var y=0,ee=this.Bb.s,ne=ee.length,se=0;se<ne;se++)a(ee[se])&&y++;return y}return this.Bb.s.length}}}),Ui.prototype.first=Ui.prototype.first,Ui.prototype.hasNext=Ui.prototype.Ad,Ui.prototype.next=Ui.prototype.next,Ui.prototype.reset=Ui.prototype.reset,Ui.className="ListIterator";function Xo(a){this.Bb=a,a.Hg=null,this.qa=a.Ja,this.Za=a.s.length}Xo.prototype.reset=function(){var a=this.Bb;a.Hg=null,this.qa=a.Ja,this.Za=a.s.length},Xo.prototype.next=function(){var a=this.Bb;if(a.Ja!==this.qa&&0>this.key)return!1;var y=--this.Za;return 0<=y?(this.key=y,this.value=a.s[y],!0):(this.de(),!1)},Xo.prototype.Ad=function(){return this.next()},Xo.prototype.first=function(){var a=this.Bb;this.qa=a.Ja;var y=a.s;return this.Za=a=y.length-1,0<=a?(y=y[a],this.key=a,this.value=y):null},Xo.prototype.any=function(a){var y=this.Bb;y.Hg=null,y=y.s;var ee=y.length;for(this.Za=ee,--ee;0<=ee;ee--)if(a(y[ee]))return!0;return!1},Xo.prototype.all=function(a){var y=this.Bb;y.Hg=null,y=y.s;var ee=y.length;for(this.Za=ee,--ee;0<=ee;ee--)if(!a(y[ee]))return!1;return!0},Xo.prototype.each=function(a){var y=this.Bb;y.Hg=null,y=y.s;var ee=y.length;for(this.Za=ee,--ee;0<=ee;ee--)a(y[ee]);return this},Xo.prototype.map=function(a){var y=this.Bb;y.Hg=null;var ee=[];y=y.s;var ne=y.length;for(this.Za=ne,--ne;0<=ne;ne--)ee.push(a(y[ne]));return a=new Hr,a.s=ee,a.xb(),a.iterator},Xo.prototype.filter=function(a){var y=this.Bb;y.Hg=null;var ee=[];y=y.s;var ne=y.length;for(this.Za=ne,--ne;0<=ne;ne--){var se=y[ne];a(se)&&ee.push(se)}return a=new Hr,a.s=ee,a.xb(),a.iterator},Xo.prototype.de=function(){this.key=-1,this.value=null,this.qa=-1,this.Bb.Hg=this},Xo.prototype.toString=function(){return"ListIteratorBackwards("+this.Za+"/"+this.Bb.count+")"},Re.Object.defineProperties(Xo.prototype,{iterator:{get:function(){return this}},count:{get:function(){return this.Bb.s.length}}}),Xo.prototype.first=Xo.prototype.first,Xo.prototype.hasNext=Xo.prototype.Ad,Xo.prototype.next=Xo.prototype.next,Xo.prototype.reset=Xo.prototype.reset,Xo.className="ListIteratorBackwards";function Hr(a){Ca(this),this._isFrozen=!1,this.s=[],this.Ja=0,this.Hg=this.Sa=null,typeof a=="string"&&cn("Error: Since 2.0 List/Map/Set constructors no longer take an argument that enforces type."),a!==void 0&&this.addAll(a)}It=Hr.prototype,It.xb=function(){var a=this.Ja;a++,999999999<a&&(a=0),this.Ja=a},It.freeze=function(){return this._isFrozen=!0,this},It.ka=function(){return this._isFrozen=!1,this},It.toString=function(){return"List()#"+oa(this)},It.add=function(a){return a===null?this:(this._isFrozen&&Yn(this,a),this.s.push(a),this.xb(),this)},It.push=function(a){this.add(a)},It.addAll=function(a){if(a===null)return this;this._isFrozen&&Yn(this);var y=this.s;if(dn(a))for(var ee=a.length,ne=0;ne<ee;ne++)y.push(a[ne]);else for(a=a.iterator;a.next();)y.push(a.value);return this.xb(),this},It.clear=function(){this._isFrozen&&Yn(this),this.s.length=0,this.xb()},It.contains=function(a){return a===null?!1:this.s.indexOf(a)!==-1},It.has=function(a){return this.contains(a)},It.indexOf=function(a){return a===null?-1:this.s.indexOf(a)},It.M=function(a){var y=this.s;return(0>a||a>=y.length)&&ir(a,"0 <= i < length",Hr,"elt:i"),y[a]},It.get=function(a){return this.M(a)},It.cd=function(a,y){var ee=this.s;(0>a||a>=ee.length)&&ir(a,"0 <= i < length",Hr,"setElt:i"),this._isFrozen&&Yn(this,a),ee[a]=y},It.set=function(a,y){this.cd(a,y)},It.first=function(){var a=this.s;return a.length===0?null:a[0]},It.jc=function(){var a=this.s,y=a.length;return 0<y?a[y-1]:null},It.pop=function(){this._isFrozen&&Yn(this);var a=this.s;return 0<a.length?a.pop():null},Hr.prototype.any=function(a){for(var y=this.s,ee=y.length,ne=0;ne<ee;ne++)if(a(y[ne]))return!0;return!1},Hr.prototype.all=function(a){for(var y=this.s,ee=y.length,ne=0;ne<ee;ne++)if(!a(y[ne]))return!1;return!0},Hr.prototype.each=function(a){for(var y=this.s,ee=y.length,ne=0;ne<ee;ne++)a(y[ne]);return this},Hr.prototype.map=function(a){for(var y=new Hr,ee=[],ne=this.s,se=ne.length,ue=0;ue<se;ue++)ee.push(a(ne[ue]));return y.s=ee,y.xb(),y},Hr.prototype.filter=function(a){for(var y=new Hr,ee=[],ne=this.s,se=ne.length,ue=0;ue<se;ue++){var me=ne[ue];a(me)&&ee.push(me)}return y.s=ee,y.xb(),y},It=Hr.prototype,It.Gb=function(a,y){0>a&&ir(a,">= 0",Hr,"insertAt:i"),this._isFrozen&&Yn(this,a);var ee=this.s;a>=ee.length?ee.push(y):ee.splice(a,0,y),this.xb()},It.remove=function(a){if(a===null)return!1;this._isFrozen&&Yn(this,a);var y=this.s;return a=y.indexOf(a),a===-1?!1:(a===y.length-1?y.pop():y.splice(a,1),this.xb(),!0)},It.delete=function(a){return this.remove(a)},It.mb=function(a){var y=this.s;(0>a||a>=y.length)&&ir(a,"0 <= i < length",Hr,"removeAt:i"),this._isFrozen&&Yn(this,a),a===y.length-1?y.pop():y.splice(a,1),this.xb()},It.removeRange=function(a,y){var ee=this.s,ne=ee.length;if(0>a)a=0;else if(a>=ne)return this;if(0>y)return this;if(y>=ne&&(y=ne-1),a>y)return this;this._isFrozen&&Yn(this);for(var se=a,ue=y+1;ue<ne;)ee[se++]=ee[ue++];return ee.length=ne-(y-a+1),this.xb(),this},Hr.prototype.copy=function(){var a=new Hr,y=this.s;return 0<y.length&&(a.s=Array.prototype.slice.call(y)),a},It=Hr.prototype,It.Fa=function(){for(var a=this.s,y=this.count,ee=Array(y),ne=0;ne<y;ne++)ee[ne]=a[ne];return ee},It.Iv=function(){for(var a=new Zr,y=this.s,ee=this.count,ne=0;ne<ee;ne++)a.add(y[ne]);return a},It.sort=function(a){return this._isFrozen&&Yn(this),this.s.sort(a),this.xb(),this},It.zi=function(a,y,ee){var ne=this.s,se=ne.length;y===void 0&&(y=0),ee===void 0&&(ee=se),this._isFrozen&&Yn(this);var ue=ee-y;if(1>=ue)return this;if((0>y||y>=se-1)&&ir(y,"0 <= from < length",Hr,"sortRange:from"),ue===2)return ee=ne[y],se=ne[y+1],0<a(ee,se)&&(ne[y]=se,ne[y+1]=ee,this.xb()),this;if(y===0)if(ee>=se)ne.sort(a);else for(y=ne.slice(0,ee),y.sort(a),a=0;a<ee;a++)ne[a]=y[a];else if(ee>=se)for(ee=ne.slice(y),ee.sort(a),a=y;a<se;a++)ne[a]=ee[a-y];else for(se=ne.slice(y,ee),se.sort(a),a=y;a<ee;a++)ne[a]=se[a-y];return this.xb(),this},It.reverse=function(){return this._isFrozen&&Yn(this),this.s.reverse(),this.xb(),this},Re.Object.defineProperties(Hr.prototype,{_dataArray:{get:function(){return this.s}},count:{get:function(){return this.s.length}},size:{get:function(){return this.s.length}},length:{get:function(){return this.s.length}},iterator:{get:function(){if(0>=this.s.length)return Do;var a=this.Sa;return a!==null?(a.reset(),a):new Ui(this)}},iteratorBackwards:{get:function(){if(0>=this.s.length)return Do;var a=this.Hg;return a!==null?(a.reset(),a):new Xo(this)}}}),Hr.prototype.reverse=Hr.prototype.reverse,Hr.prototype.sortRange=Hr.prototype.zi,Hr.prototype.sort=Hr.prototype.sort,Hr.prototype.toSet=Hr.prototype.Iv,Hr.prototype.toArray=Hr.prototype.Fa,Hr.prototype.removeRange=Hr.prototype.removeRange,Hr.prototype.removeAt=Hr.prototype.mb,Hr.prototype.delete=Hr.prototype.delete,Hr.prototype.remove=Hr.prototype.remove,Hr.prototype.insertAt=Hr.prototype.Gb,Hr.prototype.pop=Hr.prototype.pop,Hr.prototype.last=Hr.prototype.jc,Hr.prototype.first=Hr.prototype.first,Hr.prototype.set=Hr.prototype.set,Hr.prototype.setElt=Hr.prototype.cd,Hr.prototype.get=Hr.prototype.get,Hr.prototype.elt=Hr.prototype.M,Hr.prototype.indexOf=Hr.prototype.indexOf,Hr.prototype.has=Hr.prototype.has,Hr.prototype.contains=Hr.prototype.contains,Hr.prototype.clear=Hr.prototype.clear,Hr.prototype.addAll=Hr.prototype.addAll,Hr.prototype.push=Hr.prototype.push,Hr.prototype.add=Hr.prototype.add,Hr.prototype.thaw=Hr.prototype.ka,Hr.prototype.freeze=Hr.prototype.freeze,Hr.className="List";function wa(a){this.eg=a,a.Sa=null,this.qa=a.Ja,this.sa=null}wa.prototype.reset=function(){var a=this.eg;a.Sa=null,this.qa=a.Ja,this.sa=null},wa.prototype.next=function(){var a=this.eg;if(a.Ja!==this.qa&&this.key===null)return!1;var y=this.sa;return y=y===null?a.ea:y.va,y!==null?(this.sa=y,this.value=y.value,this.key=y.key,!0):(this.de(),!1)},wa.prototype.Ad=function(){return this.next()},wa.prototype.first=function(){var a=this.eg;if(this.qa=a.Ja,a=a.ea,a!==null){this.sa=a;var y=a.value;return this.key=a.key,this.value=y}return null},wa.prototype.any=function(a){var y=this.eg;for(this.sa=y.Sa=null,y=y.ea;y!==null;){if(a(y.value))return!0;y=y.va}return!1},wa.prototype.all=function(a){var y=this.eg;for(this.sa=y.Sa=null,y=y.ea;y!==null;){if(!a(y.value))return!1;y=y.va}return!0},wa.prototype.each=function(a){var y=this.eg;for(this.sa=y.Sa=null,y=y.ea;y!==null;)a(y.value),y=y.va;return this},wa.prototype.map=function(a){var y=this.eg;y.Sa=null;var ee=new Hr;for(y=y.ea;y!==null;)ee.add(a(y.value)),y=y.va;return ee.iterator},wa.prototype.filter=function(a){var y=this.eg;y.Sa=null;var ee=new Hr;for(y=y.ea;y!==null;){var ne=y.value;a(ne)&&ee.add(ne),y=y.va}return ee.iterator},wa.prototype.de=function(){this.value=this.key=null,this.qa=-1,this.eg.Sa=this},wa.prototype.toString=function(){return this.sa!==null?"SetIterator@"+this.sa.value:"SetIterator"},Re.Object.defineProperties(wa.prototype,{iterator:{get:function(){return this}},count:{get:function(){return this.eg.Sb}}}),wa.prototype.first=wa.prototype.first,wa.prototype.hasNext=wa.prototype.Ad,wa.prototype.next=wa.prototype.next,wa.prototype.reset=wa.prototype.reset,wa.className="SetIterator";function Zr(a){Ca(this),this._isFrozen=!1,this.Tb={},this.Sb=0,this.Sa=null,this.Ja=0,this.kf=this.ea=null,typeof a=="string"&&cn("Error: Since 2.0 List/Map/Set constructors no longer take an argument that enforces type."),a!==void 0&&this.addAll(a)}It=Zr.prototype,It.xb=function(){var a=this.Ja;a++,999999999<a&&(a=0),this.Ja=a},It.freeze=function(){return this._isFrozen=!0,this},It.ka=function(){return this._isFrozen=!1,this},It.toString=function(){return"Set()#"+oa(this)},It.add=function(a){if(a===null)return this;this._isFrozen&&Yn(this,a);var y=a;return On(a)&&(y=ss(a)),this.Tb[y]===void 0&&(this.Sb++,a=new za(a,a),this.Tb[y]=a,y=this.kf,y===null?this.ea=a:(a.ll=y,y.va=a),this.kf=a,this.xb()),this},It.addAll=function(a){if(a===null)return this;if(this._isFrozen&&Yn(this),dn(a))for(var y=a.length,ee=0;ee<y;ee++)this.add(a[ee]);else for(a=a.iterator;a.next();)this.add(a.value);return this},It.contains=function(a){if(a===null)return!1;var y=a;return On(a)&&(y=oa(a),y===void 0)?!1:this.Tb[y]!==void 0},It.has=function(a){return this.contains(a)},It.Sy=function(a){if(a===null)return!0;for(a=a.iterator;a.next();)if(!this.contains(a.value))return!1;return!0},It.Ty=function(a){if(a===null)return!0;for(a=a.iterator;a.next();)if(this.contains(a.value))return!0;return!1},It.first=function(){var a=this.ea;return a===null?null:a.value},Zr.prototype.any=function(a){for(var y=this.ea;y!==null;){if(a(y.value))return!0;y=y.va}return!1},Zr.prototype.all=function(a){for(var y=this.ea;y!==null;){if(!a(y.value))return!1;y=y.va}return!0},Zr.prototype.each=function(a){for(var y=this.ea;y!==null;)a(y.value),y=y.va;return this},Zr.prototype.map=function(a){for(var y=new Zr,ee=this.ea;ee!==null;)y.add(a(ee.value)),ee=ee.va;return y},Zr.prototype.filter=function(a){for(var y=new Zr,ee=this.ea;ee!==null;){var ne=ee.value;a(ne)&&y.add(ne),ee=ee.va}return y},It=Zr.prototype,It.remove=function(a){if(a===null)return!1;this._isFrozen&&Yn(this,a);var y=a;if(On(a)&&(y=oa(a),y===void 0)||(a=this.Tb[y],a===void 0))return!1;var ee=a.va,ne=a.ll;return ee!==null&&(ee.ll=ne),ne!==null&&(ne.va=ee),this.ea===a&&(this.ea=ee),this.kf===a&&(this.kf=ne),delete this.Tb[y],this.Sb--,this.xb(),!0},It.delete=function(a){return this.remove(a)},It.hp=function(a){if(a===null)return this;if(this._isFrozen&&Yn(this),dn(a))for(var y=a.length,ee=0;ee<y;ee++)this.remove(a[ee]);else for(a=a.iterator;a.next();)this.remove(a.value);return this},It.pA=function(a){if(a===null||this.count===0)return this;this._isFrozen&&Yn(this);var y=new Zr;y.addAll(a),a=[];for(var ee=this.iterator;ee.next();){var ne=ee.value;y.contains(ne)||a.push(ne)}return this.hp(a),this},It.clear=function(){this._isFrozen&&Yn(this),this.Tb={},this.Sb=0,this.Sa!==null&&this.Sa.reset(),this.kf=this.ea=null,this.xb()},Zr.prototype.copy=function(){var a=new Zr,y=this.Tb,ee;for(ee in y)a.add(y[ee].value);return a},Zr.prototype.Fa=function(){var a=Array(this.Sb),y=this.Tb,ee=0,ne;for(ne in y)a[ee]=y[ne].value,ee++;return a},Zr.prototype.Hv=function(){var a=new Hr,y=this.Tb,ee;for(ee in y)a.add(y[ee].value);return a};function Ca(a){a.__gohashid=Os++}function ss(a){var y=a.__gohashid;return y===void 0&&(y=Os++,a.__gohashid=y),y}function oa(a){return a.__gohashid}Re.Object.defineProperties(Zr.prototype,{count:{get:function(){return this.Sb}},size:{get:function(){return this.Sb}},iterator:{get:function(){if(0>=this.Sb)return Do;var a=this.Sa;return a!==null?(a.reset(),a):new wa(this)}}}),Zr.prototype.toList=Zr.prototype.Hv,Zr.prototype.toArray=Zr.prototype.Fa,Zr.prototype.clear=Zr.prototype.clear,Zr.prototype.retainAll=Zr.prototype.pA,Zr.prototype.removeAll=Zr.prototype.hp,Zr.prototype.delete=Zr.prototype.delete,Zr.prototype.remove=Zr.prototype.remove,Zr.prototype.first=Zr.prototype.first,Zr.prototype.containsAny=Zr.prototype.Ty,Zr.prototype.containsAll=Zr.prototype.Sy,Zr.prototype.has=Zr.prototype.has,Zr.prototype.contains=Zr.prototype.contains,Zr.prototype.addAll=Zr.prototype.addAll,Zr.prototype.add=Zr.prototype.add,Zr.prototype.thaw=Zr.prototype.ka,Zr.prototype.freeze=Zr.prototype.freeze;var Os=1;Zr.className="Set",Zr.uniqueHash=Ca,Zr.hashIdUnique=ss,Zr.hashId=oa;function rs(a){this.ma=a,this.qa=a.Ja,this.sa=null}rs.prototype.reset=function(){this.qa=this.ma.Ja,this.sa=null},rs.prototype.next=function(){var a=this.ma;if(a.Ja!==this.qa&&this.key===null)return!1;var y=this.sa;return y=y===null?a.ea:y.va,y!==null?(this.sa=y,this.value=this.key=a=y.key,!0):(this.de(),!1)},rs.prototype.Ad=function(){return this.next()},rs.prototype.first=function(){var a=this.ma;return this.qa=a.Ja,a=a.ea,a!==null?(this.sa=a,this.value=this.key=a=a.key):null},rs.prototype.any=function(a){var y=this.ma;for(this.sa=null,y=y.ea;y!==null;){if(a(y.key))return!0;y=y.va}return!1},rs.prototype.all=function(a){var y=this.ma;for(this.sa=null,y=y.ea;y!==null;){if(!a(y.key))return!1;y=y.va}return!0},rs.prototype.each=function(a){var y=this.ma;for(this.sa=null,y=y.ea;y!==null;)a(y.key),y=y.va;return this},rs.prototype.map=function(a){var y=this.ma;this.sa=null;var ee=new Hr;for(y=y.ea;y!==null;)ee.add(a(y.key)),y=y.va;return ee.iterator},rs.prototype.filter=function(a){var y=this.ma;this.sa=null;var ee=new Hr;for(y=y.ea;y!==null;){var ne=y.key;a(ne)&&ee.add(ne),y=y.va}return ee.iterator},rs.prototype.de=function(){this.value=this.key=null,this.qa=-1},rs.prototype.toString=function(){return this.sa!==null?"MapKeySetIterator@"+this.sa.value:"MapKeySetIterator"},Re.Object.defineProperties(rs.prototype,{iterator:{get:function(){return this}},count:{get:function(){return this.ma.Sb}}}),rs.prototype.first=rs.prototype.first,rs.prototype.hasNext=rs.prototype.Ad,rs.prototype.next=rs.prototype.next,rs.prototype.reset=rs.prototype.reset,rs.className="MapKeySetIterator";function po(a){Zr.call(this),Ca(this),this._isFrozen=!0,this.ma=a}He(po,Zr),It=po.prototype,It.freeze=function(){return this},It.ka=function(){return this},It.toString=function(){return"MapKeySet("+this.ma.toString()+")"},It.add=function(){cn("This Set is read-only: "+this.toString())},It.contains=function(a){return this.ma.contains(a)},It.has=function(a){return this.contains(a)},It.remove=function(){cn("This Set is read-only: "+this.toString())},It.delete=function(a){return this.remove(a)},It.clear=function(){cn("This Set is read-only: "+this.toString())},It.first=function(){var a=this.ma.ea;return a!==null?a.key:null},po.prototype.any=function(a){for(var y=this.ma.ea;y!==null;){if(a(y.key))return!0;y=y.va}return!1},po.prototype.all=function(a){for(var y=this.ma.ea;y!==null;){if(!a(y.key))return!1;y=y.va}return!0},po.prototype.each=function(a){for(var y=this.ma.ea;y!==null;)a(y.key),y=y.va;return this},po.prototype.map=function(a){for(var y=new Zr,ee=this.ma.ea;ee!==null;)y.add(a(ee.key)),ee=ee.va;return y},po.prototype.filter=function(a){for(var y=new Zr,ee=this.ma.ea;ee!==null;){var ne=ee.key;a(ne)&&y.add(ne),ee=ee.va}return y},po.prototype.copy=function(){return new po(this.ma)},po.prototype.Iv=function(){var a=new Zr,y=this.ma.Tb,ee;for(ee in y)a.add(y[ee].key);return a},po.prototype.Fa=function(){var a=this.ma.Tb,y=Array(this.ma.Sb),ee=0,ne;for(ne in a)y[ee]=a[ne].key,ee++;return y},po.prototype.Hv=function(){var a=new Hr,y=this.ma.Tb,ee;for(ee in y)a.add(y[ee].key);return a},Re.Object.defineProperties(po.prototype,{count:{get:function(){return this.ma.Sb}},size:{get:function(){return this.ma.Sb}},iterator:{get:function(){return 0>=this.ma.Sb?Do:new rs(this.ma)}}}),po.prototype.toList=po.prototype.Hv,po.prototype.toArray=po.prototype.Fa,po.prototype.toSet=po.prototype.Iv,po.prototype.first=po.prototype.first,po.prototype.clear=po.prototype.clear,po.prototype.delete=po.prototype.delete,po.prototype.remove=po.prototype.remove,po.prototype.has=po.prototype.has,po.prototype.contains=po.prototype.contains,po.prototype.add=po.prototype.add,po.prototype.thaw=po.prototype.ka,po.prototype.freeze=po.prototype.freeze,po.className="MapKeySet";function zo(a){this.ma=a,a.jf=null,this.qa=a.Ja,this.sa=null}zo.prototype.reset=function(){var a=this.ma;a.jf=null,this.qa=a.Ja,this.sa=null},zo.prototype.next=function(){var a=this.ma;if(a.Ja!==this.qa&&this.key===null)return!1;var y=this.sa;return y=y===null?a.ea:y.va,y!==null?(this.sa=y,this.value=y.value,this.key=y.key,!0):(this.de(),!1)},zo.prototype.Ad=function(){return this.next()},zo.prototype.first=function(){var a=this.ma;if(this.qa=a.Ja,a=a.ea,a!==null){this.sa=a;var y=a.value;return this.key=a.key,this.value=y}return null},zo.prototype.any=function(a){var y=this.ma;for(this.sa=y.jf=null,y=y.ea;y!==null;){if(a(y.value))return!0;y=y.va}return!1},zo.prototype.all=function(a){var y=this.ma;for(this.sa=y.jf=null,y=y.ea;y!==null;){if(!a(y.value))return!1;y=y.va}return!0},zo.prototype.each=function(a){var y=this.ma;for(this.sa=y.jf=null,y=y.ea;y!==null;)a(y.value),y=y.va;return this},zo.prototype.map=function(a){var y=this.ma;this.sa=y.jf=null;var ee=new Hr;for(y=y.ea;y!==null;)ee.add(a(y.value)),y=y.va;return ee.iterator},zo.prototype.filter=function(a){var y=this.ma;this.sa=y.jf=null;var ee=new Hr;for(y=y.ea;y!==null;){var ne=y.value;a(ne)&&ee.add(ne),y=y.va}return ee.iterator},zo.prototype.de=function(){this.value=this.key=null,this.qa=-1,this.ma.jf=this},zo.prototype.toString=function(){return this.sa!==null?"MapValueSetIterator@"+this.sa.value:"MapValueSetIterator"},Re.Object.defineProperties(zo.prototype,{iterator:{get:function(){return this}},count:{get:function(){return this.ma.Sb}}}),zo.prototype.first=zo.prototype.first,zo.prototype.hasNext=zo.prototype.Ad,zo.prototype.next=zo.prototype.next,zo.prototype.reset=zo.prototype.reset,zo.className="MapValueSetIterator";function za(a,y){this.key=a,this.value=y,this.ll=this.va=null}za.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"},za.className="KeyValuePair";function Ka(a){this.ma=a,a.Sa=null,this.qa=a.Ja,this.sa=null}Ka.prototype.reset=function(){var a=this.ma;a.Sa=null,this.qa=a.Ja,this.sa=null},Ka.prototype.next=function(){var a=this.ma;if(a.Ja!==this.qa&&this.key===null)return!1;var y=this.sa;return y=y===null?a.ea:y.va,y!==null?(this.sa=y,this.key=y.key,this.value=y.value,!0):(this.de(),!1)},Ka.prototype.Ad=function(){return this.next()},Ka.prototype.first=function(){var a=this.ma;return this.qa=a.Ja,a=a.ea,a!==null?(this.sa=a,this.key=a.key,this.value=a.value,a):null},Ka.prototype.any=function(a){var y=this.ma;for(this.sa=y.Sa=null,y=y.ea;y!==null;){if(a(y))return!0;y=y.va}return!1},Ka.prototype.all=function(a){var y=this.ma;for(this.sa=y.Sa=null,y=y.ea;y!==null;){if(!a(y))return!1;y=y.va}return!0},Ka.prototype.each=function(a){var y=this.ma;for(this.sa=y.Sa=null,y=y.ea;y!==null;)a(y),y=y.va;return this},Ka.prototype.map=function(a){var y=this.ma;this.sa=y.Sa=null;var ee=new Hr;for(y=y.ea;y!==null;)ee.add(a(y)),y=y.va;return ee.iterator},Ka.prototype.filter=function(a){var y=this.ma;this.sa=y.Sa=null;var ee=new Hr;for(y=y.ea;y!==null;)a(y)&&ee.add(y),y=y.va;return ee.iterator},Ka.prototype.de=function(){this.value=this.key=null,this.qa=-1,this.ma.Sa=this},Ka.prototype.toString=function(){return this.sa!==null?"MapIterator@"+this.sa:"MapIterator"},Re.Object.defineProperties(Ka.prototype,{iterator:{get:function(){return this}},count:{get:function(){return this.ma.Sb}}}),Ka.prototype.first=Ka.prototype.first,Ka.prototype.hasNext=Ka.prototype.Ad,Ka.prototype.next=Ka.prototype.next,Ka.prototype.reset=Ka.prototype.reset,Ka.className="MapIterator";function Ji(a){Ca(this),this._isFrozen=!1,this.Tb={},this.Sb=0,this.jf=this.Sa=null,this.Ja=0,this.kf=this.ea=null,typeof a=="string"&&cn("Error: Since 2.0 List/Map/Set constructors no longer take an argument that enforces type."),a!==void 0&&this.addAll(a)}It=Ji.prototype,It.xb=function(){var a=this.Ja;a++,999999999<a&&(a=0),this.Ja=a},It.freeze=function(){return this._isFrozen=!0,this},It.ka=function(){return this._isFrozen=!1,this},It.toString=function(){return"Map()#"+oa(this)},It.add=function(a,y){this._isFrozen&&Yn(this,a);var ee=a;On(a)&&(ee=ss(a));var ne=this.Tb[ee];return ne===void 0?(this.Sb++,a=new za(a,y),this.Tb[ee]=a,ee=this.kf,ee===null?this.ea=a:(a.ll=ee,ee.va=a),this.kf=a,this.xb()):ne.value=y,this},It.set=function(a,y){return this.add(a,y)},It.addAll=function(a){if(a===null)return this;if(dn(a))for(var y=a.length,ee=0;ee<y;ee++){var ne=a[ee];this.add(ne.key,ne.value)}else if(a instanceof Ji)for(a=a.iterator;a.next();)this.add(a.key,a.value);else for(a=a.iterator;a.next();)y=a.value,this.add(y.key,y.value);return this},It.first=function(){return this.ea},Ji.prototype.any=function(a){for(var y=this.ea;y!==null;){if(a(y))return!0;y=y.va}return!1},Ji.prototype.all=function(a){for(var y=this.ea;y!==null;){if(!a(y))return!1;y=y.va}return!0},Ji.prototype.each=function(a){for(var y=this.ea;y!==null;)a(y),y=y.va;return this},Ji.prototype.map=function(a){for(var y=new Ji,ee=this.ea;ee!==null;)y.add(ee.key,a(ee)),ee=ee.va;return y},Ji.prototype.filter=function(a){for(var y=new Ji,ee=this.ea;ee!==null;)a(ee)&&y.add(ee.key,ee.value),ee=ee.va;return y},It=Ji.prototype,It.contains=function(a){var y=a;return On(a)&&(y=oa(a),y===void 0)?!1:this.Tb[y]!==void 0},It.has=function(a){return this.contains(a)},It.I=function(a){var y=a;return On(a)&&(y=oa(a),y===void 0)?null:(a=this.Tb[y],a===void 0?null:a.value)},It.get=function(a){return this.I(a)},It.remove=function(a){if(a===null)return!1;this._isFrozen&&Yn(this,a);var y=a;if(On(a)&&(y=oa(a),y===void 0)||(a=this.Tb[y],a===void 0))return!1;var ee=a.va,ne=a.ll;return ee!==null&&(ee.ll=ne),ne!==null&&(ne.va=ee),this.ea===a&&(this.ea=ee),this.kf===a&&(this.kf=ne),delete this.Tb[y],this.Sb--,this.xb(),!0},It.delete=function(a){return this.remove(a)},It.clear=function(){this._isFrozen&&Yn(this),this.Tb={},this.Sb=0,this.Sa!==null&&this.Sa.reset(),this.jf!==null&&this.jf.reset(),this.kf=this.ea=null,this.xb()},Ji.prototype.copy=function(){var a=new Ji,y=this.Tb,ee;for(ee in y){var ne=y[ee];a.add(ne.key,ne.value)}return a},Ji.prototype.Fa=function(){var a=this.Tb,y=Array(this.Sb),ee=0,ne;for(ne in a){var se=a[ne];y[ee]=new za(se.key,se.value),ee++}return y},Ji.prototype.Lf=function(){return new po(this)},Re.Object.defineProperties(Ji.prototype,{count:{get:function(){return this.Sb}},size:{get:function(){return this.Sb}},iterator:{get:function(){if(0>=this.count)return Do;var a=this.Sa;return a!==null?(a.reset(),a):new Ka(this)}},iteratorKeys:{get:function(){return 0>=this.count?Do:new rs(this)}},iteratorValues:{get:function(){if(0>=this.count)return Do;var a=this.jf;return a!==null?(a.reset(),a):new zo(this)}}}),Ji.prototype.toKeySet=Ji.prototype.Lf,Ji.prototype.toArray=Ji.prototype.Fa,Ji.prototype.clear=Ji.prototype.clear,Ji.prototype.delete=Ji.prototype.delete,Ji.prototype.remove=Ji.prototype.remove,Ji.prototype.get=Ji.prototype.get,Ji.prototype.getValue=Ji.prototype.I,Ji.prototype.has=Ji.prototype.has,Ji.prototype.contains=Ji.prototype.contains,Ji.prototype.first=Ji.prototype.first,Ji.prototype.addAll=Ji.prototype.addAll,Ji.prototype.set=Ji.prototype.set,Ji.prototype.add=Ji.prototype.add,Ji.prototype.thaw=Ji.prototype.ka,Ji.prototype.freeze=Ji.prototype.freeze,Ji.className="Map";function yn(a,y){a===void 0?this.y=this.x=0:typeof a=="number"&&typeof y=="number"?(this.x=a,this.y=y):cn("Invalid arguments to Point constructor: "+a+", "+y),this._isFrozen=!1}var ja,is,_a,Us,ma;yn.prototype.assign=function(a){return this.x=a.x,this.y=a.y,this},yn.prototype.h=function(a,y){return this.x=a,this.y=y,this},yn.prototype.sg=function(a,y){return this.x=a,this.y=y,this},yn.prototype.set=function(a){return this.x=a.x,this.y=a.y,this},yn.prototype.copy=function(){var a=new yn;return a.x=this.x,a.y=this.y,a},It=yn.prototype,It.ja=function(){return this._isFrozen=!0,Object.freeze(this),this},It.J=function(){return this._isFrozen||Object.isFrozen(this)?this:this.copy().freeze()},It.freeze=function(){return this._isFrozen=!0,this},It.ka=function(){return Object.isFrozen(this)&&cn("cannot thaw constant: "+this),this._isFrozen=!1,this};function aa(a){if(typeof a=="string"){a=a.split(" ");for(var y=0,ee=0;a[y]==="";)y++;var ne=a[y++];ne&&(ee=parseFloat(ne));for(var se=0;a[y]==="";)y++;return(ne=a[y++])&&(se=parseFloat(ne)),new yn(ee,se)}return new yn}function ys(a){return a.x.toString()+" "+a.y.toString()}It.toString=function(){return"Point("+this.x+","+this.y+")"},It.D=function(a){return a instanceof yn?this.x===a.x&&this.y===a.y:!1},It.hi=function(a,y){return this.x===a&&this.y===y},It.Xa=function(a){return dr.B(this.x,a.x)&&dr.B(this.y,a.y)},It.add=function(a){return this.x+=a.x,this.y+=a.y,this},It.re=function(a){return this.x-=a.x,this.y-=a.y,this},It.offset=function(a,y){return this.x+=a,this.y+=y,this},yn.prototype.rotate=function(a){if(a===0)return this;var y=this.x,ee=this.y;if(y===0&&ee===0)return this;if(360<=a?a-=360:0>a&&(a+=360),a===90){a=0;var ne=1}else a===180?(a=-1,ne=0):a===270?(a=0,ne=-1):(ne=a*Math.PI/180,a=Math.cos(ne),ne=Math.sin(ne));return this.x=a*y-ne*ee,this.y=ne*y+a*ee,this},It=yn.prototype,It.scale=function(a,y){return this.x*=a,this.y*=y,this},It.Bf=function(a){var y=a.x-this.x;return a=a.y-this.y,y*y+a*a},It.zd=function(a,y){return a-=this.x,y-=this.y,a*a+y*y},It.normalize=function(){var a=this.x,y=this.y,ee=Math.sqrt(a*a+y*y);return 0<ee&&(this.x=a/ee,this.y=y/ee),this},It.ab=function(a){return Fs(a.x-this.x,a.y-this.y)},It.direction=function(a,y){return Fs(a-this.x,y-this.y)};function Fs(a,y){if(a===0)return 0<y?90:0>y?270:0;if(y===0)return 0<a?0:180;if(isNaN(a)||isNaN(y))return 0;var ee=180*Math.atan(Math.abs(y/a))/Math.PI;return 0>a?ee=0>y?ee+180:180-ee:0>y&&(ee=360-ee),ee}It.Ry=function(a,y){return dr.Fl(a.x,a.y,y.x,y.y,this.x,this.y)},It.fA=function(a,y,ee,ne){return dr.qh(a,y,ee,ne,this.x,this.y,this),this},It.gA=function(a,y){return dr.qh(a.x,a.y,y.x,y.y,this.x,this.y,this),this},It.uA=function(a,y,ee,ne){return dr.No(this.x,this.y,a,y,ee,ne,this),this},It.vA=function(a,y){return dr.No(this.x,this.y,a.x,a.y,y.width,y.height,this),this},It.xi=function(a,y){return this.x=a.x+y.x*a.width+y.offsetX,this.y=a.y+y.y*a.height+y.offsetY,this},It.yi=function(a,y,ee,ne,se){return this.x=a+se.x*ee+se.offsetX,this.y=y+se.y*ne+se.offsetY,this},It.transform=function(a){return a.Ga(this),this};function es(a,y){return y.Cd(a),a}function ml(a,y,ee,ne,se,ue){var me=se-ee,be=ue-ne,Fe=me*me+be*be;ee-=a,ne-=y;var Ye=-ee*me-ne*be;return 0>=Ye||Ye>=Fe?(me=se-a,be=ue-y,Math.min(ee*ee+ne*ne,me*me+be*be)):(a=me*ne-be*ee,a*a/Fe)}function ta(a,y,ee,ne){return a=ee-a,y=ne-y,a*a+y*y}function Qo(a,y,ee,ne){return a=ee-a,y=ne-y,a===0?0<y?90:0>y?270:0:y===0?0<a?0:180:isNaN(a)||isNaN(y)?0:(ne=180*Math.atan(Math.abs(y/a))/Math.PI,0>a?ne=0>y?ne+180:180-ne:0>y&&(ne=360-ne),ne)}It.w=function(){return isFinite(this.x)&&isFinite(this.y)},yn.alloc=function(){var a=Ba.pop();return a===void 0?new yn:a},yn.allocAt=function(a,y){var ee=Ba.pop();return ee===void 0?new yn(a,y):(ee.x=a,ee.y=y,ee)},yn.free=function(a){Ba.push(a)},yn.prototype.isReal=yn.prototype.w,yn.prototype.setSpot=yn.prototype.yi,yn.prototype.setRectSpot=yn.prototype.xi,yn.prototype.snapToGridPoint=yn.prototype.vA,yn.prototype.snapToGrid=yn.prototype.uA,yn.prototype.projectOntoLineSegmentPoint=yn.prototype.gA,yn.prototype.projectOntoLineSegment=yn.prototype.fA,yn.intersectingLineSegments=function(a,y,ee,ne,se,ue,me,be){return dr.Rl(a,y,ee,ne,se,ue,me,be)},yn.prototype.compareWithLineSegmentPoint=yn.prototype.Ry,yn.compareWithLineSegment=function(a,y,ee,ne,se,ue){return dr.Fl(a,y,ee,ne,se,ue)},yn.prototype.direction=yn.prototype.direction,yn.prototype.directionPoint=yn.prototype.ab,yn.prototype.normalize=yn.prototype.normalize,yn.prototype.distanceSquared=yn.prototype.zd,yn.prototype.distanceSquaredPoint=yn.prototype.Bf,yn.prototype.scale=yn.prototype.scale,yn.prototype.rotate=yn.prototype.rotate,yn.prototype.offset=yn.prototype.offset,yn.prototype.subtract=yn.prototype.re,yn.prototype.add=yn.prototype.add,yn.prototype.equalsApprox=yn.prototype.Xa,yn.prototype.equalTo=yn.prototype.hi,yn.prototype.equals=yn.prototype.D,yn.prototype.set=yn.prototype.set,yn.prototype.setTo=yn.prototype.sg;var Ba=[];yn.className="Point",yn.parse=aa,yn.stringify=ys,yn.distanceLineSegmentSquared=ml,yn.distanceSquared=ta,yn.direction=Qo,yn.Origin=ja=new yn(0,0).ja(),yn.InfiniteTopLeft=is=new yn(-1/0,-1/0).ja(),yn.InfiniteBottomRight=_a=new yn(1/0,1/0).ja(),yn.SixPoint=Us=new yn(6,6).ja(),yn.NoPoint=ma=new yn(NaN,NaN).ja(),yn.parse=aa,yn.stringify=ys,yn.distanceLineSegmentSquared=ml,yn.distanceSquared=ta,yn.direction=Qo;function Ii(a,y){a===void 0?this.height=this.width=0:typeof a=="number"&&(0<=a||isNaN(a))&&typeof y=="number"&&(0<=y||isNaN(y))?(this.width=a,this.height=y):cn("Invalid arguments to Size constructor: "+a+", "+y),this._isFrozen=!1}var Gs,sl,ql,Ki,xs,zs,yl;Ii.prototype.assign=function(a){return this.width=a.width,this.height=a.height,this},Ii.prototype.h=function(a,y){return this.width=a,this.height=y,this},Ii.prototype.sg=function(a,y){return this.width=a,this.height=y,this},Ii.prototype.set=function(a){return this.width=a.width,this.height=a.height,this},Ii.prototype.copy=function(){var a=new Ii;return a.width=this.width,a.height=this.height,a},It=Ii.prototype,It.ja=function(){return this._isFrozen=!0,Object.freeze(this),this},It.J=function(){return this._isFrozen||Object.isFrozen(this)?this:this.copy().freeze()},It.freeze=function(){return this._isFrozen=!0,this},It.ka=function(){return Object.isFrozen(this)&&cn("cannot thaw constant: "+this),this._isFrozen=!1,this};function tl(a){if(typeof a=="string"){a=a.split(" ");for(var y=0,ee=0;a[y]==="";)y++;var ne=a[y++];ne&&(ee=parseFloat(ne));for(var se=0;a[y]==="";)y++;return(ne=a[y++])&&(se=parseFloat(ne)),new Ii(ee,se)}return new Ii}function Ms(a){return a.width.toString()+" "+a.height.toString()}It.toString=function(){return"Size("+this.width+","+this.height+")"},It.D=function(a){return a instanceof Ii?this.width===a.width&&this.height===a.height:!1},It.hi=function(a,y){return this.width===a&&this.height===y},It.Xa=function(a){return dr.B(this.width,a.width)&&dr.B(this.height,a.height)},It.Bc=function(a,y){return a=this.width+a,this.width=0<=a?a:0,y=this.height+y,this.height=0<=y?y:0,this},It.w=function(){return isFinite(this.width)&&isFinite(this.height)},Ii.alloc=function(){var a=Au.pop();return a===void 0?new Ii:a},Ii.free=function(a){Au.push(a)},Ii.prototype.isReal=Ii.prototype.w,Ii.prototype.inflate=Ii.prototype.Bc,Ii.prototype.equalsApprox=Ii.prototype.Xa,Ii.prototype.equalTo=Ii.prototype.hi,Ii.prototype.equals=Ii.prototype.D,Ii.prototype.set=Ii.prototype.set,Ii.prototype.setTo=Ii.prototype.sg;var Au=[];Ii.className="Size",Ii.parse=tl,Ii.stringify=Ms,Ii.ZeroSize=Gs=new Ii(0,0).ja(),Ii.OneSize=sl=new Ii(1,1).ja(),Ii.SixSize=ql=new Ii(6,6).ja(),Ii.EightSize=Ki=new Ii(8,8).ja(),Ii.TenSize=xs=new Ii(10,10).ja(),Ii.InfiniteSize=zs=new Ii(1/0,1/0).ja(),Ii.NoSize=yl=new Ii(NaN,NaN).ja(),Ii.parse=tl,Ii.stringify=Ms;function Ur(a,y,ee,ne){a===void 0?this.height=this.width=this.y=this.x=0:typeof a=="number"&&typeof y=="number"&&typeof ee=="number"&&(0<=ee||isNaN(ee))&&typeof ne=="number"&&(0<=ne||isNaN(ne))?(this.x=a,this.y=y,this.width=ee,this.height=ne):a instanceof yn?(ee=a.x,a=a.y,y instanceof yn?(ne=y.x,y=y.y,this.x=Math.min(ee,ne),this.y=Math.min(a,y),this.width=Math.abs(ee-ne),this.height=Math.abs(a-y)):y instanceof Ii?(this.x=ee,this.y=a,this.width=y.width,this.height=y.height):cn("Incorrect second argument supplied to Rect constructor "+y)):cn("Invalid arguments to Rect constructor: "+a+", "+y+", "+ee+", "+ne),this._isFrozen=!1}It=Ur.prototype,It.assign=function(a){return this.x=a.x,this.y=a.y,this.width=a.width,this.height=a.height,this},It.h=function(a,y,ee,ne){return this.x=a,this.y=y,this.width=ee,this.height=ne,this};function Su(a,y,ee){a.width=y,a.height=ee}It.sg=function(a,y,ee,ne){return this.x=a,this.y=y,this.width=ee,this.height=ne,this},It.set=function(a){return this.x=a.x,this.y=a.y,this.width=a.width,this.height=a.height,this},It.dd=function(a){return this.x=a.x,this.y=a.y,this},It.tA=function(a){return this.width=a.width,this.height=a.height,this},Ur.prototype.copy=function(){var a=new Ur;return a.x=this.x,a.y=this.y,a.width=this.width,a.height=this.height,a},It=Ur.prototype,It.ja=function(){return this._isFrozen=!0,Object.freeze(this),this},It.J=function(){return this._isFrozen||Object.isFrozen(this)?this:this.copy().freeze()},It.freeze=function(){return this._isFrozen=!0,this},It.ka=function(){return Object.isFrozen(this)&&cn("cannot thaw constant: "+this),this._isFrozen=!1,this};function gh(a){if(typeof a=="string"){a=a.split(" ");for(var y=0,ee=0;a[y]==="";)y++;var ne=a[y++];ne&&(ee=parseFloat(ne));for(var se=0;a[y]==="";)y++;(ne=a[y++])&&(se=parseFloat(ne));for(var ue=0;a[y]==="";)y++;(ne=a[y++])&&(ue=parseFloat(ne));for(var me=0;a[y]==="";)y++;return(ne=a[y++])&&(me=parseFloat(ne)),new Ur(ee,se,ue,me)}return new Ur}function Wc(a){return a.x.toString()+" "+a.y.toString()+" "+a.width.toString()+" "+a.height.toString()}It.toString=function(){return"Rect("+this.x+","+this.y+","+this.width+","+this.height+")"},It.D=function(a){return a instanceof Ur?this.x===a.x&&this.y===a.y&&this.width===a.width&&this.height===a.height:!1},It.hi=function(a,y,ee,ne){return this.x===a&&this.y===y&&this.width===ee&&this.height===ne},It.Xa=function(a){return dr.B(this.x,a.x)&&dr.B(this.y,a.y)&&dr.B(this.width,a.width)&&dr.B(this.height,a.height)};function Ns(a,y){return dr.$(a.x,y.x)&&dr.$(a.y,y.y)&&dr.$(a.width,y.width)&&dr.$(a.height,y.height)}It.ca=function(a){return this.x<=a.x&&this.x+this.width>=a.x&&this.y<=a.y&&this.y+this.height>=a.y},It.Re=function(a){return this.x<=a.x&&a.x+a.width<=this.x+this.width&&this.y<=a.y&&a.y+a.height<=this.y+this.height},It.contains=function(a,y,ee,ne){return ee===void 0&&(ee=0),ne===void 0&&(ne=0),this.x<=a&&a+ee<=this.x+this.width&&this.y<=y&&y+ne<=this.y+this.height},It.offset=function(a,y){return this.x+=a,this.y+=y,this},It.Bc=function(a,y){return Sl(this,y,a,y,a)},It.Co=function(a){return Sl(this,a.top,a.right,a.bottom,a.left)},It.Fv=function(a){return Sl(this,-a.top,-a.right,-a.bottom,-a.left)},It.Hz=function(a,y,ee,ne){return Sl(this,a,y,ee,ne)};function Sl(a,y,ee,ne,se){var ue=a.width;return ee+se<=-ue?(a.x+=ue/2,a.width=0):(a.x-=se,a.width+=ee+se),ee=a.height,y+ne<=-ee?(a.y+=ee/2,a.height=0):(a.y-=y,a.height+=y+ne),a}It.Ex=function(a){return lu(this,a.x,a.y,a.width,a.height)},It.Uu=function(a,y,ee,ne){return lu(this,a,y,ee,ne)};function lu(a,y,ee,ne,se){var ue=Math.max(a.x,y),me=Math.max(a.y,ee);return y=Math.min(a.x+a.width,y+ne),ee=Math.min(a.y+a.height,ee+se),a.x=ue,a.y=me,a.width=Math.max(0,y-ue),a.height=Math.max(0,ee-me),a}It.Yc=function(a){return this.Vu(a.x,a.y,a.width,a.height)},It.Vu=function(a,y,ee,ne){var se=this.width,ue=this.x;return se!==1/0&&ee!==1/0&&(se+=ue,ee+=a,isNaN(ee)||isNaN(se)||ue>ee||a>se)?!1:(a=this.height,ee=this.y,!(a!==1/0&&ne!==1/0&&(a+=ee,ne+=y,isNaN(ne)||isNaN(a)||ee>ne||y>a)))};function gl(a,y){var ee=a.width,ne=a.x,se=y.x-10;return ne>y.width+10+10+se||se>ee+ne?!1:(ee=a.height,a=a.y,ne=y.y-10,!(a>y.height+10+10+ne||ne>ee+a))}It.Ye=function(a){return Hs(this,a.x,a.y,0,0)},It.ed=function(a){return Hs(this,a.x,a.y,a.width,a.height)},It.Kv=function(a,y,ee,ne){return ee===void 0&&(ee=0),ne===void 0&&(ne=0),Hs(this,a,y,ee,ne)};function Hs(a,y,ee,ne,se){var ue=Math.min(a.x,y),me=Math.min(a.y,ee);return y=Math.max(a.x+a.width,y+ne),ee=Math.max(a.y+a.height,ee+se),a.x=ue,a.y=me,a.width=y-ue,a.height=ee-me,a}It.yi=function(a,y,ee){return this.x=a-ee.offsetX-ee.x*this.width,this.y=y-ee.offsetY-ee.y*this.height,this};function Al(a,y,ee,ne,se,ue,me,be){return me===void 0&&(me=0),be===void 0&&(be=0),a<=se&&se+me<=a+ee&&y<=ue&&ue+be<=y+ne}function Wu(a,y,ee,ne,se,ue,me,be){return a>me+se||se>ee+a?!1:!(y>be+ue||ue>ne+y)}It.w=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},It.Mz=function(){return this.width===0&&this.height===0},Ur.alloc=function(){var a=Vs.pop();return a===void 0?new Ur:a},Ur.allocAt=function(a,y,ee,ne){var se=Vs.pop();return se===void 0?new Ur(a,y,ee,ne):se.h(a,y,ee,ne)},Ur.free=function(a){Vs.push(a)},Re.Object.defineProperties(Ur.prototype,{left:{get:function(){return this.x},set:function(a){this.x=a}},top:{get:function(){return this.y},set:function(a){this.y=a}},right:{get:function(){return this.x+this.width},set:function(a){this.x+=a-(this.x+this.width)}},bottom:{get:function(){return this.y+this.height},set:function(a){this.y+=a-(this.y+this.height)}},position:{get:function(){return new yn(this.x,this.y)},set:function(a){this.x=a.x,this.y=a.y}},size:{get:function(){return new Ii(this.width,this.height)},set:function(a){this.width=a.width,this.height=a.height}},center:{get:function(){return new yn(this.x+this.width/2,this.y+this.height/2)},set:function(a){this.x=a.x-this.width/2,this.y=a.y-this.height/2}},centerX:{get:function(){return this.x+this.width/2},set:function(a){this.x=a-this.width/2}},centerY:{get:function(){return this.y+this.height/2},set:function(a){this.y=a-this.height/2}}}),Ur.prototype.isEmpty=Ur.prototype.Mz,Ur.prototype.isReal=Ur.prototype.w,Ur.intersectsLineSegment=function(a,y,ee,ne,se,ue,me,be){return dr.Fx(a,y,ee,ne,se,ue,me,be)},Ur.prototype.setSpot=Ur.prototype.yi,Ur.prototype.union=Ur.prototype.Kv,Ur.prototype.unionRect=Ur.prototype.ed,Ur.prototype.unionPoint=Ur.prototype.Ye,Ur.prototype.intersects=Ur.prototype.Vu,Ur.prototype.intersectsRect=Ur.prototype.Yc,Ur.prototype.intersect=Ur.prototype.Uu,Ur.prototype.intersectRect=Ur.prototype.Ex,Ur.prototype.grow=Ur.prototype.Hz,Ur.prototype.subtractMargin=Ur.prototype.Fv,Ur.prototype.addMargin=Ur.prototype.Co,Ur.prototype.inflate=Ur.prototype.Bc,Ur.prototype.offset=Ur.prototype.offset,Ur.prototype.contains=Ur.prototype.contains,Ur.prototype.containsRect=Ur.prototype.Re,Ur.prototype.containsPoint=Ur.prototype.ca,Ur.prototype.equalsApprox=Ur.prototype.Xa,Ur.prototype.equalTo=Ur.prototype.hi,Ur.prototype.equals=Ur.prototype.D,Ur.prototype.setSize=Ur.prototype.tA,Ur.prototype.setPoint=Ur.prototype.dd,Ur.prototype.set=Ur.prototype.set,Ur.prototype.setTo=Ur.prototype.sg;var ls=null,ns=null,Vs=[];Ur.className="Rect",Ur.parse=gh,Ur.stringify=Wc,Ur.contains=Al,Ur.intersects=Wu,Ur.ZeroRect=ls=new Ur(0,0,0,0).ja(),Ur.NoRect=ns=new Ur(NaN,NaN,NaN,NaN).ja(),Ur.parse=gh,Ur.stringify=Wc,Ur.contains=Al,Ur.intersects=Wu;function jo(a,y,ee,ne){a===void 0?this.left=this.bottom=this.right=this.top=0:y===void 0?this.left=this.bottom=this.right=this.top=a:ee===void 0?(this.top=a,this.right=y,this.bottom=a,this.left=y):ne!==void 0?(this.top=a,this.right=y,this.bottom=ee,this.left=ne):cn("Invalid arguments to Margin constructor: "+a+", "+y+", "+ee+", "+ne),this._isFrozen=!1}jo.prototype.assign=function(a){return this.top=a.top,this.right=a.right,this.bottom=a.bottom,this.left=a.left,this},jo.prototype.sg=function(a,y,ee,ne){return this.top=a,this.right=y,this.bottom=ee,this.left=ne,this},jo.prototype.set=function(a){return this.top=a.top,this.right=a.right,this.bottom=a.bottom,this.left=a.left,this},jo.prototype.copy=function(){var a=new jo;return a.top=this.top,a.right=this.right,a.bottom=this.bottom,a.left=this.left,a},It=jo.prototype,It.ja=function(){return this._isFrozen=!0,Object.freeze(this),this},It.J=function(){return this._isFrozen||Object.isFrozen(this)?this:this.copy().freeze()},It.freeze=function(){return this._isFrozen=!0,this},It.ka=function(){return Object.isFrozen(this)&&cn("cannot thaw constant: "+this),this._isFrozen=!1,this};function Ru(a){if(typeof a=="string"){a=a.split(" ");for(var y=0,ee=NaN;a[y]==="";)y++;var ne=a[y++];if(ne&&(ee=parseFloat(ne)),isNaN(ee))return new jo;for(var se=NaN;a[y]==="";)y++;if((ne=a[y++])&&(se=parseFloat(ne)),isNaN(se))return new jo(ee);for(var ue=NaN;a[y]==="";)y++;if((ne=a[y++])&&(ue=parseFloat(ne)),isNaN(ue))return new jo(ee,se);for(var me=NaN;a[y]==="";)y++;return(ne=a[y++])&&(me=parseFloat(ne)),isNaN(me)?new jo(ee,se):new jo(ee,se,ue,me)}return new jo}function Uu(a){return a.top.toString()+" "+a.right.toString()+" "+a.bottom.toString()+" "+a.left.toString()}It.toString=function(){return"Margin("+this.top+","+this.right+","+this.bottom+","+this.left+")"},It.D=function(a){return a instanceof jo?this.top===a.top&&this.right===a.right&&this.bottom===a.bottom&&this.left===a.left:!1},It.hi=function(a,y,ee,ne){return this.top===a&&this.right===y&&this.bottom===ee&&this.left===ne},It.Xa=function(a){return dr.B(this.top,a.top)&&dr.B(this.right,a.right)&&dr.B(this.bottom,a.bottom)&&dr.B(this.left,a.left)},It.w=function(){return isFinite(this.top)&&isFinite(this.right)&&isFinite(this.bottom)&&isFinite(this.left)},jo.alloc=function(){var a=Kh.pop();return a===void 0?new jo:a},jo.free=function(a){Kh.push(a)},jo.prototype.isReal=jo.prototype.w,jo.prototype.equalsApprox=jo.prototype.Xa,jo.prototype.equalTo=jo.prototype.hi,jo.prototype.equals=jo.prototype.D,jo.prototype.set=jo.prototype.set,jo.prototype.setTo=jo.prototype.sg;var Oc=null,ph=null,Kh=[];jo.className="Margin",jo.parse=Ru,jo.stringify=Uu,jo.ZeroMargin=Oc=new jo(0,0,0,0).ja(),jo.TwoMargin=ph=new jo(2,2,2,2).ja(),jo.parse=Ru,jo.stringify=Uu;function So(a,y,ee,ne){a===void 0?this.offsetY=this.offsetX=this.y=this.x=0:(y===void 0&&(y=0),ee===void 0&&(ee=0),ne===void 0&&(ne=0),this.x=a,this.y=y,this.offsetX=ee,this.offsetY=ne),this._isFrozen=!1}var uu,Ya,Rh,Zh,Ac,us,th,nh,rh,Pc,od,Uc,Gc,Hc,yf,ef,uc,Gg,xf,Yh,ih,vh,Nc,Mc,Bc,Zs,Ll,Rc,Tu,ku,cu,wu,Du,Fu,tf,Qu;So.prototype.assign=function(a){return this.x=a.x,this.y=a.y,this.offsetX=a.offsetX,this.offsetY=a.offsetY,this},So.prototype.sg=function(a,y,ee,ne){return this.x=a,this.y=y,this.offsetX=ee,this.offsetY=ne,this},So.prototype.set=function(a){return this.x=a.x,this.y=a.y,this.offsetX=a.offsetX,this.offsetY=a.offsetY,this},So.prototype.copy=function(){var a=new So;return a.x=this.x,a.y=this.y,a.offsetX=this.offsetX,a.offsetY=this.offsetY,a},It=So.prototype,It.ja=function(){return this._isFrozen=!0,Object.freeze(this),this},It.J=function(){return this._isFrozen||Object.isFrozen(this)?this:this.copy().freeze()},It.freeze=function(){return this._isFrozen=!0,this},It.ka=function(){return Object.isFrozen(this)&&cn("cannot thaw constant: "+this),this._isFrozen=!1,this};function Iu(a,y){return a.x=NaN,a.y=NaN,a.offsetX=y,a}function oh(a){if(typeof a=="string"){if(a=a.trim(),a==="None")return uu;if(a==="TopLeft")return Ya;if(a==="Top"||a==="TopCenter"||a==="MiddleTop")return Rh;if(a==="TopRight")return Zh;if(a==="Left"||a==="LeftCenter"||a==="MiddleLeft")return Ac;if(a==="Center")return us;if(a==="Right"||a==="RightCenter"||a==="MiddleRight")return th;if(a==="BottomLeft")return nh;if(a==="Bottom"||a==="BottomCenter"||a==="MiddleBottom")return rh;if(a==="BottomRight")return Pc;if(a==="TopSide")return od;if(a==="LeftSide")return Uc;if(a==="RightSide")return Gc;if(a==="BottomSide")return Hc;if(a==="TopBottomSides")return yf;if(a==="LeftRightSides")return ef;if(a==="TopLeftSides")return uc;if(a==="TopRightSides")return Gg;if(a==="BottomLeftSides")return xf;if(a==="BottomRightSides")return Yh;if(a==="NotTopSide")return ih;if(a==="NotLeftSide")return vh;if(a==="NotRightSide")return Nc;if(a==="NotBottomSide")return Mc;if(a==="AllSides")return Bc;if(a==="Default")return Zs;a=a.split(" ");for(var y=0,ee=0;a[y]==="";)y++;var ne=a[y++];ne!==void 0&&0<ne.length&&(ee=parseFloat(ne));for(var se=0;a[y]==="";)y++;ne=a[y++],ne!==void 0&&0<ne.length&&(se=parseFloat(ne));for(var ue=0;a[y]==="";)y++;ne=a[y++],ne!==void 0&&0<ne.length&&(ue=parseFloat(ne));for(var me=0;a[y]==="";)y++;return ne=a[y++],ne!==void 0&&0<ne.length&&(me=parseFloat(ne)),new So(ee,se,ue,me)}return new So}function kh(a){return a.sb()?a.x.toString()+" "+a.y.toString()+" "+a.offsetX.toString()+" "+a.offsetY.toString():a.toString()}It.toString=function(){return this.sb()?this.offsetX===0&&this.offsetY===0?"Spot("+this.x+","+this.y+")":"Spot("+this.x+","+this.y+","+this.offsetX+","+this.offsetY+")":this.D(uu)?"None":this.D(Ya)?"TopLeft":this.D(Rh)?"Top":this.D(Zh)?"TopRight":this.D(Ac)?"Left":this.D(us)?"Center":this.D(th)?"Right":this.D(nh)?"BottomLeft":this.D(rh)?"Bottom":this.D(Pc)?"BottomRight":this.D(od)?"TopSide":this.D(Uc)?"LeftSide":this.D(Gc)?"RightSide":this.D(Hc)?"BottomSide":this.D(yf)?"TopBottomSides":this.D(ef)?"LeftRightSides":this.D(uc)?"TopLeftSides":this.D(Gg)?"TopRightSides":this.D(xf)?"BottomLeftSides":this.D(Yh)?"BottomRightSides":this.D(ih)?"NotTopSide":this.D(vh)?"NotLeftSide":this.D(Nc)?"NotRightSide":this.D(Mc)?"NotBottomSide":this.D(Bc)?"AllSides":this.D(Zs)?"Default":"None"},It.D=function(a){return a instanceof So?(this.x===a.x||isNaN(this.x)&&isNaN(a.x))&&(this.y===a.y||isNaN(this.y)&&isNaN(a.y))&&this.offsetX===a.offsetX&&this.offsetY===a.offsetY:!1},It.gv=function(){return new So(.5-(this.x-.5),.5-(this.y-.5),-this.offsetX,-this.offsetY)},It.Hf=function(a){if(!this.$c())return!1;if(!a.$c())if(a.D(Ll))a=Uc;else if(a.D(Rc))a=Gc;else if(a.D(Tu))a=od;else if(a.D(ku))a=Hc;else return!1;return a=a.offsetY,(this.offsetY&a)===a},It.sb=function(){return!isNaN(this.x)&&!isNaN(this.y)},It.Mc=function(){return isNaN(this.x)||isNaN(this.y)},It.$c=function(){return isNaN(this.x)&&isNaN(this.y)&&this.offsetX===1&&this.offsetY!==0},It.ys=function(){return isNaN(this.x)&&isNaN(this.y)&&this.offsetX===0&&this.offsetY===0},It.Xb=function(){return isNaN(this.x)&&isNaN(this.y)&&this.offsetX===-1&&this.offsetY===0},So.alloc=function(){var a=Kf.pop();return a===void 0?new So:a},So.free=function(a){Kf.push(a)},So.prototype.isDefault=So.prototype.Xb,So.prototype.isNone=So.prototype.ys,So.prototype.isSide=So.prototype.$c,So.prototype.isNoSpot=So.prototype.Mc,So.prototype.isSpot=So.prototype.sb,So.prototype.includesSide=So.prototype.Hf,So.prototype.opposite=So.prototype.gv,So.prototype.equals=So.prototype.D,So.prototype.set=So.prototype.set,So.prototype.setTo=So.prototype.sg;var Kf=[];So.className="Spot",So.parse=oh,So.stringify=kh,So.None=uu=Iu(new So(0,0,0,0),0).ja(),So.Default=Zs=Iu(new So(0,0,-1,0),-1).ja(),So.TopLeft=Ya=new So(0,0,0,0).ja(),So.TopCenter=Rh=new So(.5,0,0,0).ja(),So.TopRight=Zh=new So(1,0,0,0).ja(),So.LeftCenter=Ac=new So(0,.5,0,0).ja(),So.Center=us=new So(.5,.5,0,0).ja(),So.RightCenter=th=new So(1,.5,0,0).ja(),So.BottomLeft=nh=new So(0,1,0,0).ja(),So.BottomCenter=rh=new So(.5,1,0,0).ja(),So.BottomRight=Pc=new So(1,1,0,0).ja(),So.MiddleTop=cu=Rh,So.MiddleLeft=wu=Ac,So.MiddleRight=Du=th,So.MiddleBottom=Fu=rh,So.Top=Tu=Rh,So.Left=Ll=Ac,So.Right=Rc=th,So.Bottom=ku=rh,So.TopSide=od=Iu(new So(0,0,1,1),1).ja(),So.LeftSide=Uc=Iu(new So(0,0,1,2),1).ja(),So.RightSide=Gc=Iu(new So(0,0,1,4),1).ja(),So.BottomSide=Hc=Iu(new So(0,0,1,8),1).ja(),So.TopBottomSides=yf=Iu(new So(0,0,1,9),1).ja(),So.LeftRightSides=ef=Iu(new So(0,0,1,6),1).ja(),So.TopLeftSides=uc=Iu(new So(0,0,1,3),1).ja(),So.TopRightSides=Gg=Iu(new So(0,0,1,5),1).ja(),So.BottomLeftSides=xf=Iu(new So(0,0,1,10),1).ja(),So.BottomRightSides=Yh=Iu(new So(0,0,1,12),1).ja(),So.NotTopSide=ih=Iu(new So(0,0,1,14),1).ja(),So.NotLeftSide=vh=Iu(new So(0,0,1,13),1).ja(),So.NotRightSide=Nc=Iu(new So(0,0,1,11),1).ja(),So.NotBottomSide=Mc=Iu(new So(0,0,1,7),1).ja(),So.AllSides=Bc=Iu(new So(0,0,1,15),1).ja(),tf=new So(.156,.156).ja(),Qu=new So(.844,.844).ja(),So.parse=oh,So.stringify=kh;function Da(){this.m11=1,this.m21=this.m12=0,this.m22=1,this.dy=this.dx=0}Da.prototype.set=function(a){return this.m11=a.m11,this.m12=a.m12,this.m21=a.m21,this.m22=a.m22,this.dx=a.dx,this.dy=a.dy,this},Da.prototype.setTransform=function(a,y,ee,ne,se,ue){return this.m11=a,this.m12=y,this.m21=ee,this.m22=ne,this.dx=se,this.dy=ue,this},Da.prototype.copy=function(){var a=new Da;return a.m11=this.m11,a.m12=this.m12,a.m21=this.m21,a.m22=this.m22,a.dx=this.dx,a.dy=this.dy,a},Da.prototype.toString=function(){return"Transform("+this.m11+","+this.m12+","+this.m21+","+this.m22+","+this.dx+","+this.dy+")"},Da.prototype.D=function(a){return this.m11===a.m11&&this.m12===a.m12&&this.m21===a.m21&&this.m22===a.m22&&this.dx===a.dx&&this.dy===a.dy},Da.prototype.ws=function(){return this.dx===0&&this.dy===0&&this.m11===1&&this.m12===0&&this.m21===0&&this.m22===1},Da.prototype.reset=function(){return this.m11=1,this.m21=this.m12=0,this.m22=1,this.dy=this.dx=0,this},Da.prototype.multiply=function(a){var y=this.m11*a.m11+this.m21*a.m12,ee=this.m12*a.m11+this.m22*a.m12,ne=this.m11*a.m21+this.m21*a.m22,se=this.m12*a.m21+this.m22*a.m22;return this.dx=this.m11*a.dx+this.m21*a.dy+this.dx,this.dy=this.m12*a.dx+this.m22*a.dy+this.dy,this.m11=y,this.m12=ee,this.m21=ne,this.m22=se,this},Da.prototype.bv=function(a){var y=1/(a.m11*a.m22-a.m12*a.m21),ee=a.m22*y,ne=-a.m12*y,se=-a.m21*y,ue=a.m11*y,me=y*(a.m21*a.dy-a.m22*a.dx);return a=y*(a.m12*a.dx-a.m11*a.dy),y=this.m11*ee+this.m21*ne,ee=this.m12*ee+this.m22*ne,ne=this.m11*se+this.m21*ue,se=this.m12*se+this.m22*ue,this.dx=this.m11*me+this.m21*a+this.dx,this.dy=this.m12*me+this.m22*a+this.dy,this.m11=y,this.m12=ee,this.m21=ne,this.m22=se,this},Da.prototype.Vj=function(){var a=1/(this.m11*this.m22-this.m12*this.m21),y=-this.m12*a,ee=-this.m21*a,ne=this.m11*a,se=a*(this.m21*this.dy-this.m22*this.dx),ue=a*(this.m12*this.dx-this.m11*this.dy);return this.m11=this.m22*a,this.m12=y,this.m21=ee,this.m22=ne,this.dx=se,this.dy=ue,this},Da.prototype.rotate=function(a,y,ee){if(360<=a?a-=360:0>a&&(a+=360),a===0)return this;if(this.translate(y,ee),a===90){a=0;var ne=1}else a===180?(a=-1,ne=0):a===270?(a=0,ne=-1):(ne=a*Math.PI/180,a=Math.cos(ne),ne=Math.sin(ne));var se=this.m12*a+this.m22*ne,ue=this.m11*-ne+this.m21*a,me=this.m12*-ne+this.m22*a;return this.m11=this.m11*a+this.m21*ne,this.m12=se,this.m21=ue,this.m22=me,this.translate(-y,-ee),this},It=Da.prototype,It.translate=function(a,y){return this.dx+=this.m11*a+this.m21*y,this.dy+=this.m12*a+this.m22*y,this},It.scale=function(a,y){return y===void 0&&(y=a),this.m11*=a,this.m12*=a,this.m21*=y,this.m22*=y,this},It.Ga=function(a){var y=a.x,ee=a.y;return a.h(y*this.m11+ee*this.m21+this.dx,y*this.m12+ee*this.m22+this.dy)},It.Cd=function(a){var y=1/(this.m11*this.m22-this.m12*this.m21),ee=a.x,ne=a.y;return a.h(ee*this.m22*y+ne*-this.m21*y+y*(this.m21*this.dy-this.m22*this.dx),ee*-this.m12*y+ne*this.m11*y+y*(this.m12*this.dx-this.m11*this.dy))},It.Eu=function(a){var y=1/(this.m11*this.m22-this.m12*this.m21),ee=1.25*a.x,ne=1.2*a.y;return a.h(ee*this.m22*y+ne*-this.m21*y+y*(this.m21*this.dy-this.m22*this.dx),ee*-this.m12*y+ne*this.m11*y+y*(this.m12*this.dx-this.m11*this.dy))},It.pp=function(a){var y=a.x,ee=a.y,ne=y+a.width,se=ee+a.height,ue=this.m11,me=this.m12,be=this.m21,Fe=this.m22,Ye=this.dx,Je=this.dy,st=y*ue+ee*be+Ye,yt=y*me+ee*Fe+Je,Tt=ne*ue+ee*be+Ye,Ft=ne*me+ee*Fe+Je;return ee=y*ue+se*be+Ye,y=y*me+se*Fe+Je,ue=ne*ue+se*be+Ye,ne=ne*me+se*Fe+Je,se=Math.min(st,Tt),st=Math.max(st,Tt),Tt=Math.min(yt,Ft),yt=Math.max(yt,Ft),se=Math.min(se,ee),st=Math.max(st,ee),Tt=Math.min(Tt,y),yt=Math.max(yt,y),se=Math.min(se,ue),st=Math.max(st,ue),Tt=Math.min(Tt,ne),yt=Math.max(yt,ne),a.h(se,Tt,st-se,yt-Tt),a},Da.alloc=function(){var a=Cl.pop();return a===void 0?new Da:a},Da.free=function(a){Cl.push(a)},Da.prototype.transformRect=Da.prototype.pp,Da.prototype.transformPoint=Da.prototype.Ga,Da.prototype.scale=Da.prototype.scale,Da.prototype.translate=Da.prototype.translate,Da.prototype.rotate=Da.prototype.rotate,Da.prototype.invert=Da.prototype.Vj,Da.prototype.multiplyInverted=Da.prototype.bv,Da.prototype.multiply=Da.prototype.multiply,Da.prototype.reset=Da.prototype.reset,Da.prototype.isIdentity=Da.prototype.ws,Da.prototype.equals=Da.prototype.D,Da.prototype.setTransform=Da.prototype.setTransform,Da.prototype.set=Da.prototype.set;var Cl=[];Da.className="Transform",Da.xF="54a702f3e53909c447824c6706603faf4c";var dr={AA:"7da71ca0ad381e90",wg:(Math.sqrt(2)-1)/3*4,Uv:null,sqrt:function(a){if(0>=a)return 0;var y=dr.Uv;if(y===null){y=[];for(var ee=0;2e3>=ee;ee++)y[ee]=Math.sqrt(ee);dr.Uv=y}return 1>a?(ee=1/a,2e3>=ee?1/y[ee|0]:Math.sqrt(a)):2e3>=a?y[a|0]:Math.sqrt(a)},B:function(a,y){return a-=y,.5>a&&-.5<a},$:function(a,y){return a-=y,5e-8>a&&-5e-8<a},Yb:function(a,y,ee,ne,se,ue,me){if(0>=se&&(se=1e-6),a<ee)var be=a,Fe=ee;else be=ee,Fe=a;if(y<ne)var Ye=y,Je=ne;else Ye=ne,Je=y;if(a===ee)return Ye<=me&&me<=Je&&a-se<=ue&&ue<=a+se;if(y===ne)return be<=ue&&ue<=Fe&&y-se<=me&&me<=y+se;if(Fe+=se,be-=se,be<=ue&&ue<=Fe&&(Je+=se,Ye-=se,Ye<=me&&me<=Je))if(Fe-be>Je-Ye)if(a-ee>se||ee-a>se){if(ue=(ne-y)/(ee-a)*(ue-a)+y,ue-se<=me&&me<=ue+se)return!0}else return!0;else if(y-ne>se||ne-y>se){if(me=(ee-a)/(ne-y)*(me-y)+a,me-se<=ue&&ue<=me+se)return!0}else return!0;return!1},cs:function(a,y,ee,ne,se,ue,me,be,Fe,Ye,Je,st){if(dr.Yb(a,y,me,be,st,ee,ne)&&dr.Yb(a,y,me,be,st,se,ue))return dr.Yb(a,y,me,be,st,Ye,Je);var yt=(a+ee)/2,Tt=(y+ne)/2,Ft=(ee+se)/2,Zt=(ne+ue)/2;se=(se+me)/2,ue=(ue+be)/2,ne=(yt+Ft)/2,ee=(Tt+Zt)/2,Ft=(Ft+se)/2,Zt=(Zt+ue)/2;var bn=(ne+Ft)/2,fn=(ee+Zt)/2;return dr.cs(a,y,yt,Tt,ne,ee,bn,fn,Fe,Ye,Je,st)||dr.cs(bn,fn,Ft,Zt,se,ue,me,be,Fe,Ye,Je,st)},ax:function(a,y,ee,ne,se,ue,me,be,Fe){var Ye=(ee+se)/2,Je=(ne+ue)/2;return Fe.h((((a+ee)/2+Ye)/2+(Ye+(se+me)/2)/2)/2,(((y+ne)/2+Je)/2+(Je+(ue+be)/2)/2)/2),Fe},My:function(a,y,ee,ne,se,ue,me,be){var Fe=(ee+se)/2,Ye=(ne+ue)/2;return Qo(((a+ee)/2+Fe)/2,((y+ne)/2+Ye)/2,(Fe+(se+me)/2)/2,(Ye+(ue+be)/2)/2)},Dl:function(a,y,ee,ne,se,ue,me,be,Fe,Ye){if(dr.Yb(a,y,me,be,Fe,ee,ne)&&dr.Yb(a,y,me,be,Fe,se,ue))Hs(Ye,a,y,0,0),Hs(Ye,me,be,0,0);else{var Je=(a+ee)/2,st=(y+ne)/2,yt=(ee+se)/2,Tt=(ne+ue)/2;se=(se+me)/2,ue=(ue+be)/2,ne=(Je+yt)/2,ee=(st+Tt)/2,yt=(yt+se)/2,Tt=(Tt+ue)/2;var Ft=(ne+yt)/2,Zt=(ee+Tt)/2;dr.Dl(a,y,Je,st,ne,ee,Ft,Zt,Fe,Ye),dr.Dl(Ft,Zt,yt,Tt,se,ue,me,be,Fe,Ye)}return Ye},Qe:function(a,y,ee,ne,se,ue,me,be,Fe,Ye){if(dr.Yb(a,y,me,be,Fe,ee,ne)&&dr.Yb(a,y,me,be,Fe,se,ue))Ye.length===0&&(Ye.push(a),Ye.push(y)),Ye.push(me),Ye.push(be);else{var Je=(a+ee)/2,st=(y+ne)/2,yt=(ee+se)/2,Tt=(ne+ue)/2;se=(se+me)/2,ue=(ue+be)/2,ne=(Je+yt)/2,ee=(st+Tt)/2,yt=(yt+se)/2,Tt=(Tt+ue)/2;var Ft=(ne+yt)/2,Zt=(ee+Tt)/2;dr.Qe(a,y,Je,st,ne,ee,Ft,Zt,Fe,Ye),dr.Qe(Ft,Zt,yt,Tt,se,ue,me,be,Fe,Ye)}return Ye},jv:function(a,y,ee,ne,se,ue,me,be,Fe,Ye){if(dr.Yb(a,y,se,ue,Ye,ee,ne))return dr.Yb(a,y,se,ue,Ye,be,Fe);var Je=(a+ee)/2,st=(y+ne)/2;ee=(ee+se)/2,ne=(ne+ue)/2;var yt=(Je+ee)/2,Tt=(st+ne)/2;return dr.jv(a,y,Je,st,yt,Tt,me,be,Fe,Ye)||dr.jv(yt,Tt,ee,ne,se,ue,me,be,Fe,Ye)},OA:function(a,y,ee,ne,se,ue,me){return me.h(((a+ee)/2+(ee+se)/2)/2,((y+ne)/2+(ne+ue)/2)/2),me},iv:function(a,y,ee,ne,se,ue,me,be){if(dr.Yb(a,y,se,ue,me,ee,ne))Hs(be,a,y,0,0),Hs(be,se,ue,0,0);else{var Fe=(a+ee)/2,Ye=(y+ne)/2;ee=(ee+se)/2,ne=(ne+ue)/2;var Je=(Fe+ee)/2,st=(Ye+ne)/2;dr.iv(a,y,Fe,Ye,Je,st,me,be),dr.iv(Je,st,ee,ne,se,ue,me,be)}return be},ep:function(a,y,ee,ne,se,ue,me,be){if(dr.Yb(a,y,se,ue,me,ee,ne))be.length===0&&(be.push(a),be.push(y)),be.push(se),be.push(ue);else{var Fe=(a+ee)/2,Ye=(y+ne)/2;ee=(ee+se)/2,ne=(ne+ue)/2;var Je=(Fe+ee)/2,st=(Ye+ne)/2;dr.ep(a,y,Fe,Ye,Je,st,me,be),dr.ep(Je,st,ee,ne,se,ue,me,be)}return be},Eo:function(a,y,ee,ne,se,ue,me,be,Fe,Ye,Je,st,yt,Tt){if(dr.Yb(a,y,me,be,yt,ee,ne)&&dr.Yb(a,y,me,be,yt,se,ue))return!dr.Rl(a,y,me,be,Fe,Ye,Je,st)||(yt=(a-me)*(Ye-st)-(y-be)*(Fe-Je),yt===0)?!1:(Tt.h(((a*be-y*me)*(Fe-Je)-(a-me)*(Fe*st-Ye*Je))/yt,((a*be-y*me)*(Ye-st)-(y-be)*(Fe*st-Ye*Je))/yt),!0);var Ft=(a+ee)/2,Zt=(y+ne)/2,bn=(ee+se)/2,fn=(ne+ue)/2;se=(se+me)/2,ue=(ue+be)/2,ne=(Ft+bn)/2,ee=(Zt+fn)/2,bn=(bn+se)/2,fn=(fn+ue)/2;var Fn=(ne+bn)/2,zn=(ee+fn)/2,Zn=1/0,sr=!1,Br=0,Hi=0;return dr.Eo(a,y,Ft,Zt,ne,ee,Fn,zn,Fe,Ye,Je,st,yt,Tt)&&(a=(Tt.x-Fe)*(Tt.x-Fe)+(Tt.y-Ye)*(Tt.y-Ye),a<Zn&&(Zn=a,sr=!0,Br=Tt.x,Hi=Tt.y)),dr.Eo(Fn,zn,bn,fn,se,ue,me,be,Fe,Ye,Je,st,yt,Tt)&&(Tt.x-Fe)*(Tt.x-Fe)+(Tt.y-Ye)*(Tt.y-Ye)<Zn&&(sr=!0,Br=Tt.x,Hi=Tt.y),sr&&(Tt.x=Br,Tt.y=Hi),sr},Fo:function(a,y,ee,ne,se,ue,me,be,Fe,Ye,Je,st,yt){var Tt=0;if(dr.Yb(a,y,me,be,yt,ee,ne)&&dr.Yb(a,y,me,be,yt,se,ue)){if(yt=(a-me)*(Ye-st)-(y-be)*(Fe-Je),yt===0)return Tt;var Ft=((a*be-y*me)*(Fe-Je)-(a-me)*(Fe*st-Ye*Je))/yt,Zt=((a*be-y*me)*(Ye-st)-(y-be)*(Fe*st-Ye*Je))/yt;if(Ft>=Je)return Tt;if((Fe>Je?Fe-Je:Je-Fe)<(Ye>st?Ye-st:st-Ye)){if(y<be?(Fe=y,a=be):(Fe=be,a=y),Zt<Fe||Zt>a)return Tt}else if(a<me?(Fe=a,a=me):Fe=me,Ft<Fe||Ft>a)return Tt;0<yt?Tt++:0>yt&&Tt--}else{Ft=(a+ee)/2,Zt=(y+ne)/2;var bn=(ee+se)/2,fn=(ne+ue)/2;se=(se+me)/2,ue=(ue+be)/2,ne=(Ft+bn)/2,ee=(Zt+fn)/2,bn=(bn+se)/2,fn=(fn+ue)/2;var Fn=(ne+bn)/2,zn=(ee+fn)/2;Tt+=dr.Fo(a,y,Ft,Zt,ne,ee,Fn,zn,Fe,Ye,Je,st,yt),Tt+=dr.Fo(Fn,zn,bn,fn,se,ue,me,be,Fe,Ye,Je,st,yt)}return Tt},qh:function(a,y,ee,ne,se,ue,me){return dr.$(a,ee)?(y<ne?(ee=y,y=ne):ee=ne,ue<ee?(me.h(a,ee),!1):ue>y?(me.h(a,y),!1):(me.h(a,ue),!0)):dr.$(y,ne)?(a<ee?(ne=a,a=ee):ne=ee,se<ne?(me.h(ne,y),!1):se>a?(me.h(a,y),!1):(me.h(se,y),!0)):(se=((a-se)*(a-ee)+(y-ue)*(y-ne))/((ee-a)*(ee-a)+(ne-y)*(ne-y)),-5e-6>se?(me.h(a,y),!1):1.000005<se?(me.h(ee,ne),!1):(me.h(a+se*(ee-a),y+se*(ne-y)),!0))},Ve:function(a,y,ee,ne,se,ue,me,be,Fe){return dr.B(a,ee)&&dr.B(y,ne)?(Fe.h(a,y),!1):dr.$(se,me)?dr.$(a,ee)?(dr.qh(a,y,ee,ne,se,ue,Fe),!1):dr.qh(a,y,ee,ne,se,(ne-y)/(ee-a)*(se-a)+y,Fe):(be=(be-ue)/(me-se),dr.$(a,ee)?(ee=be*(a-se)+ue,y<ne?(se=y,y=ne):se=ne,ee<se?(Fe.h(a,se),!1):ee>y?(Fe.h(a,y),!1):(Fe.h(a,ee),!0)):(me=(ne-y)/(ee-a),dr.$(be,me)?(dr.qh(a,y,ee,ne,se,ue,Fe),!1):(se=(me*a-be*se+ue-y)/(me-be),dr.$(me,0)?(a<ee?(ne=a,a=ee):ne=ee,se<ne?(Fe.h(ne,y),!1):se>a?(Fe.h(a,y),!1):(Fe.h(se,y),!0)):dr.qh(a,y,ee,ne,se,me*(se-a)+y,Fe))))},MA:function(a,y,ee,ne,se){return dr.Ve(ee.x,ee.y,ne.x,ne.y,a.x,a.y,y.x,y.y,se)},KA:function(a,y,ee,ne,se,ue,me,be,Fe,Ye){function Je(bn,fn){var Fn=(bn-a)*(bn-a)+(fn-y)*(fn-y);Fn<st&&(st=Fn,Fe.h(bn,fn))}var st=1/0;Je(Fe.x,Fe.y);var yt=0,Tt=0,Ft=0,Zt=0;if(se<me?(yt=se,Tt=me):(yt=me,Tt=se),ue<be?(Ft=se,Zt=me):(Ft=me,Zt=se),yt=(Tt-yt)/2+Ye,Ye=(Zt-Ft)/2+Ye,se=(se+me)/2,ue=(ue+be)/2,yt===0||Ye===0)return Fe;if(.5>(ee>a?ee-a:a-ee)){if(yt=1-(ee-se)*(ee-se)/(yt*yt),0>yt)return Fe;yt=Math.sqrt(yt),ne=-Ye*yt+ue,Je(ee,Ye*yt+ue),Je(ee,ne)}else{if(ee=(ne-y)/(ee-a),ne=1/(yt*yt)+ee*ee/(Ye*Ye),be=2*ee*(y-ee*a)/(Ye*Ye)-2*ee*ue/(Ye*Ye)-2*se/(yt*yt),yt=be*be-4*ne*(2*ee*a*ue/(Ye*Ye)-2*y*ue/(Ye*Ye)+ue*ue/(Ye*Ye)+se*se/(yt*yt)-1+(y-ee*a)*(y-ee*a)/(Ye*Ye)),0>yt)return Fe;yt=Math.sqrt(yt),Ye=(-be+yt)/(2*ne),Je(Ye,ee*Ye-ee*a+y),yt=(-be-yt)/(2*ne),Je(yt,ee*yt-ee*a+y)}return Fe},Ff:function(a,y,ee,ne,se,ue,me,be,Fe){var Ye=1e21,Je=a,st=y;if(dr.Ve(a,y,a,ne,se,ue,me,be,Fe)){var yt=(Fe.x-se)*(Fe.x-se)+(Fe.y-ue)*(Fe.y-ue);yt<Ye&&(Ye=yt,Je=Fe.x,st=Fe.y)}return dr.Ve(ee,y,ee,ne,se,ue,me,be,Fe)&&(yt=(Fe.x-se)*(Fe.x-se)+(Fe.y-ue)*(Fe.y-ue),yt<Ye&&(Ye=yt,Je=Fe.x,st=Fe.y)),dr.Ve(a,y,ee,y,se,ue,me,be,Fe)&&(y=(Fe.x-se)*(Fe.x-se)+(Fe.y-ue)*(Fe.y-ue),y<Ye&&(Ye=y,Je=Fe.x,st=Fe.y)),dr.Ve(a,ne,ee,ne,se,ue,me,be,Fe)&&(a=(Fe.x-se)*(Fe.x-se)+(Fe.y-ue)*(Fe.y-ue),a<Ye&&(Ye=a,Je=Fe.x,st=Fe.y)),Fe.h(Je,st),1e21>Ye},us:function(a,y,ee){return dr.Fx(a.x,a.y,a.width,a.height,y.x,y.y,ee.x,ee.y)},Fx:function(a,y,ee,ne,se,ue,me,be){var Fe=a+ee,Ye=y+ne;return se===me?(ue<be?(me=ue,ue=be):me=be,a<=se&&se<=Fe&&me<=Ye&&ue>=y):ue===be?(se<me?(be=se,se=me):be=me,y<=ue&&ue<=Ye&&be<=Fe&&se>=a):!!(Al(a,y,ee,ne,se,ue)||Al(a,y,ee,ne,me,be)||dr.Rl(a,y,Fe,y,se,ue,me,be)||dr.Rl(Fe,y,Fe,Ye,se,ue,me,be)||dr.Rl(Fe,Ye,a,Ye,se,ue,me,be)||dr.Rl(a,Ye,a,y,se,ue,me,be))},Rl:function(a,y,ee,ne,se,ue,me,be){return a===ee&&y===ne&&se===me&&ue===be?a===se&&y===ue:0>=dr.Fl(a,y,ee,ne,se,ue)*dr.Fl(a,y,ee,ne,me,be)&&0>=dr.Fl(se,ue,me,be,a,y)*dr.Fl(se,ue,me,be,ee,ne)},Fl:function(a,y,ee,ne,se,ue){return ee-=a,ne-=y,a=se-a,y=ue-y,ue=a*ne-y*ee,ue===0&&(ue=a*ee+y*ne,0<ue&&(ue=(a-ee)*ee+(y-ne)*ne,0>ue&&(ue=0))),ue},bp:function(a){return 0>a&&(a+=360),360<=a&&(a-=360),a},jx:function(a,y,ee,ne,se,ue){var me=Math.PI;ue||(ne*=me/180,se*=me/180);var be=ne>se?-1:1;ue=[];var Fe=me/2,Ye=ne;if(ne=Math.min(2*me,Math.abs(se-ne)),1e-5>ne)return Fe=Ye+be*Math.min(ne,Fe),be=a+ee*Math.cos(Ye),Ye=y+ee*Math.sin(Ye),a+=ee*Math.cos(Fe),y+=ee*Math.sin(Fe),ee=(be+a)/2,Fe=(Ye+y)/2,ue.push([be,Ye,ee,Fe,ee,Fe,a,y]),ue;for(;1e-5<ne;)se=Ye+be*Math.min(ne,Fe),ue.push(dr.Vy(ee,Ye,se,a,y)),ne-=Math.abs(se-Ye),Ye=se;return ue},Vy:function(a,y,ee,ne,se){var ue=(ee-y)/2,me=a*Math.cos(ue),be=a*Math.sin(ue),Fe=-be,Ye=me*me+Fe*Fe,Je=Ye+me*me+Fe*be;return Ye=4/3*(Math.sqrt(2*Ye*Je)-Je)/(me*be-Fe*me),be=me-Ye*Fe,me=Fe+Ye*me,Fe=-me,Ye=ue+y,ue=Math.cos(Ye),Ye=Math.sin(Ye),[ne+a*Math.cos(y),se+a*Math.sin(y),ne+be*ue-me*Ye,se+be*Ye+me*ue,ne+be*ue-Fe*Ye,se+be*Ye+Fe*ue,ne+a*Math.cos(ee),se+a*Math.sin(ee)]},No:function(a,y,ee,ne,se,ue,me){ee=Math.floor((a-ee)/se)*se+ee,ne=Math.floor((y-ne)/ue)*ue+ne;var be=ee;return ee+se-a<se/2&&(be=ee+se),a=ne,ne+ue-y<ue/2&&(a=ne+ue),me.h(be,a),me},vx:function(a,y){var ee=Math.max(a,y);a=Math.min(a,y);var ne;do y=ee%a,ee=ne=a,a=y;while(0<y);return ne},$y:function(a,y,ee,ne){var se=0>ee,ue=0>ne;if(a<y)var me=1,be=0;else me=0,be=1;var Fe=me===0?a:y,Ye=me===0?ee:ne;return(me===0?se:ue)&&(Ye=-Ye),me=be,ee=me===0?ee:ne,(me===0?se:ue)&&(ee=-ee),dr.az(Fe,me===0?a:y,Ye,ee,0,0)},az:function(a,y,ee,ne,se,ue){if(0<ne)if(0<ee){se=a*a,ue=y*y,a*=ee;var me=y*ne,be=-ue+me,Fe=-ue+Math.sqrt(a*a+me*me);y=be;for(var Ye=0;9999999999>Ye&&(y=.5*(be+Fe),!(y===be||y===Fe));++Ye){var Je=a/(y+se),st=me/(y+ue);if(Je=Je*Je+st*st-1,0<Je)be=y;else if(0>Je)Fe=y;else break}ee=se*ee/(y+se)-ee,ne=ue*ne/(y+ue)-ne,ee=Math.sqrt(ee*ee+ne*ne)}else ee=Math.abs(ne-y);else ne=a*a-y*y,ue=a*ee,ue<ne?(ne=ue/ne,ue=y*Math.sqrt(Math.abs(1-ne*ne)),ee=a*ne-ee,ee=Math.sqrt(ee*ee+ue*ue)):ee=Math.abs(ee-a);return ee},Ze:new Gi,um:new Gi,Mf:new Gi,Nf:0,vm:100};dr.za=dr.AA;function wi(a){Ca(this),this.l=2,a===void 0&&(a=wi.o),this.na=a,this.Ec=this.Dc=this.pd=this.od=0,a===wi.o?this.ee=new Hr:(wi.V===null&&(wi.V=new Hr().freeze()),this.ee=wi.V),this.aq=this.ee.Ja,this.Ip=new Ur().freeze(),this.ym=this.tk=null,this.zm=NaN,this.fg=Ya,this.gg=Pc,this.Rk=this.Sk=NaN,this.Uf=Si}wi.prototype.copy=function(){var a=new wi;if(a.l=this.l&-2,a.na=this.na,a.od=this.od,a.pd=this.pd,a.Dc=this.Dc,a.Ec=this.Ec,this.na===wi.o){for(var y=this.ee.s,ee=a.ee,ne=0;ne<y.length;ne++)ee.add(y[ne].copy());a.ee=ee}else a.ee=this.ee;return a.aq=this.aq,a.Ip.assign(this.Ip),a.tk=this.tk,a.ym=this.ym,a.zm=this.zm,a.fg=this.fg.J(),a.gg=this.gg.J(),a.Sk=this.Sk,a.Rk=this.Rk,a.Uf=this.Uf,a},wi.prototype.ja=function(){return this.freeze(),Object.freeze(this),this},wi.prototype.freeze=function(){if(this._isFrozen=!0,this.type!==wi.o)return this;var a=this.figures;a.freeze(),a=a.s;for(var y=a.length,ee=0;ee<y;ee++)a[ee].freeze();return this},wi.prototype.ka=function(){if(Object.isFrozen(this)&&cn("cannot thaw constant: "+this),this._isFrozen=!1,this.type!==wi.o)return this;var a=this.figures;a.ka(),a=a.s;for(var y=a.length,ee=0;ee<y;ee++)a[ee].ka();return this},wi.prototype.Xa=function(a){if(!(a instanceof wi))return!1;if(this.type!==a.type)return this.type===wi.j&&a.type===wi.o?Zf(this,a):a.type===wi.j&&this.type===wi.o?Zf(a,this):!1;if(this.type===wi.o){var y=this.figures.s;a=a.figures.s;var ee=y.length;if(ee!==a.length)return!1;for(var ne=0;ne<ee;ne++)if(!y[ne].Xa(a[ne]))return!1;return!0}return dr.B(this.startX,a.startX)&&dr.B(this.startY,a.startY)&&dr.B(this.endX,a.endX)&&dr.B(this.endY,a.endY)};function Zf(a,y){return a.type!==wi.j||y.type!==wi.o?!1:!!(y.figures.count===1&&(y=y.figures.M(0),y.segments.count===1&&dr.B(a.startX,y.startX)&&dr.B(a.startY,y.startY)&&(y=y.segments.M(0),y.type===xl&&dr.B(a.endX,y.endX)&&dr.B(a.endY,y.endY))))}wi.ia=function(a){return a.toString()},wi.prototype.qb=function(a){a.classType===wi&&(this.type=a)},wi.prototype.toString=function(a){switch(a===void 0&&(a=-1),this.type){case wi.j:return 0>a?"M"+this.startX.toString()+" "+this.startY.toString()+"L"+this.endX.toString()+" "+this.endY.toString():"M"+this.startX.toFixed(a)+" "+this.startY.toFixed(a)+"L"+this.endX.toFixed(a)+" "+this.endY.toFixed(a);case wi.u:var y=new Ur(this.startX,this.startY,0,0);return y.Kv(this.endX,this.endY,0,0),0>a?"M"+y.x.toString()+" "+y.y.toString()+"H"+y.right.toString()+"V"+y.bottom.toString()+"H"+y.left.toString()+"z":"M"+y.x.toFixed(a)+" "+y.y.toFixed(a)+"H"+y.right.toFixed(a)+"V"+y.bottom.toFixed(a)+"H"+y.left.toFixed(a)+"z";case wi.F:if(y=new Ur(this.startX,this.startY,0,0),y.Kv(this.endX,this.endY,0,0),0>a)return a=y.left.toString()+" "+(y.y+y.height/2).toString(),"M"+a+"A"+(y.width/2).toString()+" "+(y.height/2).toString()+" 0 0 1 "+(y.right.toString()+" "+(y.y+y.height/2).toString())+"A"+(y.width/2).toString()+" "+(y.height/2).toString()+" 0 0 1 "+a;var ee=y.left.toFixed(a)+" "+(y.y+y.height/2).toFixed(a);return"M"+ee+"A"+(y.width/2).toFixed(a)+" "+(y.height/2).toFixed(a)+" 0 0 1 "+(y.right.toFixed(a)+" "+(y.y+y.height/2).toFixed(a))+"A"+(y.width/2).toFixed(a)+" "+(y.height/2).toFixed(a)+" 0 0 1 "+ee;case wi.o:y="",ee=this.figures.s;for(var ne=ee.length,se=0;se<ne;se++){var ue=ee[se];0<se&&(y+=" x "),ue.isFilled&&(y+="F "),y+=ue.toString(a)}return y;default:return this.type.toString()}},wi.nb=function(a){a=a.split(/[Xx]/);for(var y=a.length,ee="",ne=0;ne<y;ne++){var se=a[ne];ee=se.match(/[Ff]/)!==null?ne===0?ee+se:ee+("X"+(se[0]===" "?"":" ")+se):ee+((ne===0?"":"X ")+"F"+(se[0]===" "?"":" ")+se)}return ee},wi.parse=function(a,y){function ee(){return Zt>=Zn-1?!0:Ye[Zt+1].match(sr)!==null}function ne(){return Zt++,Ye[Zt]}function se(La){var Ea=parseFloat(ne()),ks=parseFloat(ne());bn===bn.toLowerCase()&&(Ea=zn.x+Ea,ks=zn.y+ks),La.h(Ea,ks)}function ue(){return se(zn),zn}function me(){return se(Fn),Fn}function be(){var La=fn.toLowerCase();return La!=="c"&&La!=="s"&&La!=="q"&&La!=="t"?zn:new yn(2*zn.x-Fn.x,2*zn.y-Fn.y)}y===void 0&&(y=!1);var Fe=/([UuBbMmZzLlHhVvCcSsQqTtAaFfXx])([UuBbMmZzLlHhVvCcSsQqTtAaFfXx])/gm;a=a.replace(/,/gm," "),a=a.replace(Fe,"$1 $2"),a=a.replace(Fe,"$1 $2"),a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFfXx])([^s])/gm,"$1 $2"),a=a.replace(/([^s])([UuBbMmZzLlHhVvCcSsQqTtAaFfXx])/gm,"$1 $2"),a=a.replace(/([0-9])([+\-])/gm,"$1 $2"),a=a.replace(/[\s\r\t\n]+/gm," "),a=a.replace(/^\s+|\s+$/g,"");var Ye=a.split(" ");for(a=0;a<Ye.length;a++){var Je=Ye[a];if(Je.match(/(\.[0-9]*)(\.)/gm)!==null){Fe=pr();for(var st="",yt=!1,Tt=0;Tt<Je.length;Tt++){var Ft=Je[Tt];Ft!=="."||yt?Ft==="."?(Fe.push(st),st="."):st+=Ft:(yt=!0,st+=Ft)}for(Fe.push(st),Ye.splice(a,1),Je=0;Je<Fe.length;Je++)Ye.splice(a+Je,0,Fe[Je]);a+=Fe.length-1,Mr(Fe)}}var Zt=-1,bn="",fn="";Fe=new yn(0,0);var Fn=new yn(0,0),zn=new yn(0,0),Zn=Ye.length;a=yA(null),yt=st=Je=!1,Tt=!0,Ft=null;for(var sr=/[UuBbMmZzLlHhVvCcSsQqTtAaFfXx]/;!(Zt>=Zn-1);)if(fn=bn,bn=ne(),bn!=="")switch(bn.toUpperCase()){case"X":Tt=!0,st=Je=!1;break;case"M":for(Ft=ue(),a.mc===null||Tt===!0?(L1(a,Ft.x,Ft.y,Je,!st,yt),Tt=!1):a.moveTo(Ft.x,Ft.y),Fe.assign(zn);!ee();)Ft=ue(),a.lineTo(Ft.x,Ft.y);break;case"L":for(;!ee();)Ft=ue(),a.lineTo(Ft.x,Ft.y);break;case"H":for(;!ee();)zn=new yn((bn===bn.toLowerCase()?zn.x:0)+parseFloat(ne()),zn.y),a.lineTo(zn.x,zn.y);break;case"V":for(;!ee();)zn=new yn(zn.x,(bn===bn.toLowerCase()?zn.y:0)+parseFloat(ne())),a.lineTo(zn.x,zn.y);break;case"C":for(;!ee();){Ft=new yn,se(Ft);var Br=me(),Hi=ue();Z0(a,Ft.x,Ft.y,Br.x,Br.y,Hi.x,Hi.y)}break;case"S":for(;!ee();)Ft=be(),Br=me(),Hi=ue(),Z0(a,Ft.x,Ft.y,Br.x,Br.y,Hi.x,Hi.y);break;case"Q":for(;!ee();)Ft=me(),Br=ue(),T1(a,Ft.x,Ft.y,Br.x,Br.y);break;case"T":for(;!ee();)Fn=Ft=be(),Br=ue(),T1(a,Ft.x,Ft.y,Br.x,Br.y);break;case"B":for(;!ee();){Ft=parseFloat(ne()),Br=parseFloat(ne()),Hi=parseFloat(ne());var uo=parseFloat(ne()),no=parseFloat(ne()),Li=no,ci=!1;ee()||(Li=parseFloat(ne()),ee()||(ci=parseFloat(ne())!==0)),bn===bn.toLowerCase()&&(Hi+=zn.x,uo+=zn.y),a.arcTo(Ft,Br,Hi,uo,no,Li,ci)}break;case"A":for(;!ee();)Ft=Math.abs(parseFloat(ne())),Br=Math.abs(parseFloat(ne())),Hi=parseFloat(ne()),no=uo=!1,ci=Li=0,Li=ne(),Li.length===1?(uo=!!parseFloat(Li),no=!!parseFloat(ne()),Li=parseFloat(ne())):Li.length===2?(uo=!!parseFloat(Li[0]),no=!!parseFloat(Li[1]),Li=parseFloat(ne())):(uo=!!parseFloat(Li[0]),no=!!parseFloat(Li[1]),Li=parseFloat(Li.slice(2))),ci=parseFloat(ne()),bn===bn.toLowerCase()&&(Li=zn.x+Li,ci=zn.y+ci),zn.h(Li,ci),Z2(a,Ft,Br,Hi,uo,no,Li,ci);break;case"Z":Rs(a),zn.assign(Fe);break;case"F":for(Ft="",Br=1;Ye[Zt+Br];)if(Ye[Zt+Br]==="0")yt=!0,Br++;else if(Ye[Zt+Br].match(/[Uu]/)!==null)Br++;else if(Ye[Zt+Br].match(sr)===null)Br++;else{Ft=Ye[Zt+Br];break}Ft.match(/[Mm]/)?Je=!0:0<a.mc.segments.length&&(a.mc.isFilled=!0);break;case"U":for(Ft="",Br=1;Ye[Zt+Br];)if(Ye[Zt+Br].match(/[Ff]/)!==null)Br++;else if(Ye[Zt+Br].match(sr)===null)Br++;else{Ft=Ye[Zt+Br];break}Ft.match(/[Mm]/)?st=!0:a.mc.isShadowed=!1}if(Fe=a.os,Yx=a,y)for(y=Fe.figures.iterator;y.next();)y.value.isFilled=!0;return Fe},wi.Ha=function(a,y){for(var ee=a.length,ne=yn.alloc(),se=0;se<ee;se++){var ue=a[se];ne.x=ue[0],ne.y=ue[1],y.Ga(ne),ue[0]=ne.x,ue[1]=ne.y,ne.x=ue[2],ne.y=ue[3],y.Ga(ne),ue[2]=ne.x,ue[3]=ne.y,ne.x=ue[4],ne.y=ue[5],y.Ga(ne),ue[4]=ne.x,ue[5]=ne.y,ne.x=ue[6],ne.y=ue[7],y.Ga(ne),ue[6]=ne.x,ue[7]=ne.y}yn.free(ne)},wi.prototype.Zu=function(){if(this._isInvalidBounds)return!0;if(this.type===wi.o){if(this.aq!==this.figures.Ja)return!0;for(var a=this.figures.s,y=a.length,ee=0;ee<y;ee++)if(a[ee].Zu())return!0}return!1},wi.prototype.computeBounds=function(){if(this._isInvalidBounds=!1,this.ym=this.tk=null,this.zm=NaN,this.type===wi.o){this.aq=this.figures.Ja;for(var a=this.figures.s,y=a.length,ee=0;ee<y;ee++){var ne=a[ee];ne._isInvalidBounds=!1;var se=ne.segments;ne.sr=se.Ja,ne=se.s,se=ne.length;for(var ue=0;ue<se;ue++){var me=ne[ue];me._isInvalidBounds=!1,me.ae=null}}}a=this.Ip,a.ka(),isNaN(this.Sk)||isNaN(this.Rk)?a.h(0,0,0,0):a.h(0,0,this.Sk,this.Rk),Yf(this,a,!1),Hs(a,0,0,0,0),a.freeze()},wi.prototype.ix=function(){var a=new Ur;return Yf(this,a,!0),a};function Yf(a,y,ee){switch(a.type){case wi.j:case wi.u:case wi.F:ee?y.h(a.od,a.pd,0,0):Hs(y,a.od,a.pd,0,0),Hs(y,a.Dc,a.Ec,0,0);break;case wi.o:var ne=a.figures;a=ne.s,ne=ne.length;for(var se=0;se<ne;se++){var ue=a[se];ee&&se===0?y.h(ue.startX,ue.startY,0,0):Hs(y,ue.startX,ue.startY,0,0);for(var me=ue.segments.s,be=me.length,Fe=ue.startX,Ye=ue.startY,Je=0;Je<be;Je++){var st=me[Je];switch(st.type){case xl:case $l:Fe=st.endX,Ye=st.endY,Hs(y,Fe,Ye,0,0);break;case cc:dr.Dl(Fe,Ye,st.point1X,st.point1Y,st.point2X,st.point2Y,st.endX,st.endY,.5,y),Fe=st.endX,Ye=st.endY;break;case on:dr.iv(Fe,Ye,st.point1X,st.point1Y,st.endX,st.endY,.5,y),Fe=st.endX,Ye=st.endY;break;case En:case Dn:var yt=st.type===En?cl(st,ue):Vc(st,ue,Fe,Ye),Tt=yt.length;if(Tt===0){Fe=st.type===En?st.centerX:st.endX,Ye=st.type===En?st.centerY:st.endY,Hs(y,Fe,Ye,0,0);break}st=null;for(var Ft=0;Ft<Tt;Ft++)st=yt[Ft],dr.Dl(st[0],st[1],st[2],st[3],st[4],st[5],st[6],st[7],.5,y);st!==null&&(Fe=st[6],Ye=st[7]);break;default:cn("Unknown Segment type: "+st.type)}}}break;default:cn("Unknown Geometry type: "+a.type)}}wi.prototype.normalize=function(){this._isFrozen&&Yn(this);var a=this.ix();return this.offset(-a.x,-a.y),new yn(-a.x,-a.y)},wi.prototype.offset=function(a,y){return this._isFrozen&&Yn(this),this.transform(1,0,0,1,a,y),this},wi.prototype.scale=function(a,y){return this._isFrozen&&Yn(this),this.transform(a,0,0,y,0,0),this},wi.prototype.rotate=function(a,y,ee){this._isFrozen&&Yn(this),y===void 0&&(y=0),ee===void 0&&(ee=0);var ne=Da.alloc();return ne.reset(),ne.rotate(a,y,ee),this.transform(ne.m11,ne.m12,ne.m21,ne.m22,ne.dx,ne.dy),Da.free(ne),this},It=wi.prototype,It.transform=function(a,y,ee,ne,se,ue){switch(this.type){case wi.j:case wi.u:case wi.F:var me=this.od,be=this.pd;this.od=me*a+be*ee+se,this.pd=me*y+be*ne+ue,me=this.Dc,be=this.Ec,this.Dc=me*a+be*ee+se,this.Ec=me*y+be*ne+ue;break;case wi.o:for(var Fe=this.figures.s,Ye=Fe.length,Je=0;Je<Ye;Je++){var st=Fe[Je];me=st.startX,be=st.startY,st.startX=me*a+be*ee+se,st.startY=me*y+be*ne+ue,st=st.segments.s;for(var yt=st.length,Tt=0;Tt<yt;Tt++){var Ft=st[Tt];switch(Ft.type){case xl:case $l:me=Ft.endX,be=Ft.endY,Ft.endX=me*a+be*ee+se,Ft.endY=me*y+be*ne+ue;break;case cc:me=Ft.point1X,be=Ft.point1Y,Ft.point1X=me*a+be*ee+se,Ft.point1Y=me*y+be*ne+ue,me=Ft.point2X,be=Ft.point2Y,Ft.point2X=me*a+be*ee+se,Ft.point2Y=me*y+be*ne+ue,me=Ft.endX,be=Ft.endY,Ft.endX=me*a+be*ee+se,Ft.endY=me*y+be*ne+ue;break;case on:me=Ft.point1X,be=Ft.point1Y,Ft.point1X=me*a+be*ee+se,Ft.point1Y=me*y+be*ne+ue,me=Ft.endX,be=Ft.endY,Ft.endX=me*a+be*ee+se,Ft.endY=me*y+be*ne+ue;break;case En:me=Ft.centerX,be=Ft.centerY,Ft.centerX=me*a+be*ee+se,Ft.centerY=me*y+be*ne+ue,y!==0&&(me=180*Math.atan2(y,a)/Math.PI,0>me&&(me+=360),Ft.startAngle+=me),0>a&&(Ft.startAngle=180-Ft.startAngle,Ft.sweepAngle=-Ft.sweepAngle),0>ne&&(Ft.startAngle=-Ft.startAngle,Ft.sweepAngle=-Ft.sweepAngle),Ft.radiusX*=Math.sqrt(a*a+ee*ee),Ft.radiusY!==void 0&&(Ft.radiusY*=Math.sqrt(y*y+ne*ne));break;case Dn:if(me=Ft.endX,be=Ft.endY,Ft.endX=me*a+be*ee+se,Ft.endY=me*y+be*ne+ue,Ft.radiusX===0||Ft.radiusY===0)break;y!==0&&(me=180*Math.atan2(y,a)/Math.PI,0>me&&(me+=360),Ft.xAxisRotation+=me),0>a&&(Ft.xAxisRotation=180-Ft.xAxisRotation,Ft.isClockwiseArc=!Ft.isClockwiseArc),0>ne&&(Ft.xAxisRotation=-Ft.xAxisRotation,Ft.isClockwiseArc=!Ft.isClockwiseArc),Ft.radiusX*=Math.sqrt(a*a+ee*ee),Ft.radiusY*=Math.sqrt(y*y+ne*ne);break;default:cn("Unknown Segment type: "+Ft.type)}}}}return this._isInvalidBounds=!0,this},It.ca=function(a,y){y===void 0&&(y=0);var ee=this.od,ne=this.pd,se=this.Dc,ue=this.Ec;switch(this.type){case wi.j:return dr.Yb(ee,ne,se,ue,y,a.x,a.y);case wi.u:var me=Ur.allocAt(Math.min(ee,se)-y,Math.min(ne,ue)-y,Math.abs(se-ee)+2*y,Math.abs(ue-ne)+2*y);return a=me.ca(a),Ur.free(me),a;case wi.F:me=Math.min(ee,se)-y;var be=Math.min(ne,ue)-y;return ee=(Math.abs(se-ee)+2*y)/2,y=(Math.abs(ue-ne)+2*y)/2,0>=ee||0>=y?!1:(me=a.x-(me+ee),be=a.y-(be+y),1>=me*me/(ee*ee)+be*be/(y*y));case wi.o:return Xh(this,a,y,!0,!1);default:return!1}};function Xh(a,y,ee,ne,se){var ue=y.x;y=y.y;for(var me=a.bounds.x-20,be=0,Fe,Ye,Je,st,yt=a.figures.s,Tt=yt.length,Ft=0;Ft<Tt;Ft++){var Zt=yt[Ft],bn=!Zt.isEvenOdd;if(Zt.isFilled){if(ne&&Zt.ca(ue,y,ee))return!0;var fn=Zt.segments;Fe=Zt.startX,Ye=Zt.startY;for(var Fn=Fe,zn=Ye,Zn=fn.s,sr=0;sr<=fn.length;sr++){var Br=void 0;if(sr!==fn.length){Br=Zn[sr];var Hi=Br.type;a=Br.endX,st=Br.endY}else Hi=xl,a=Fn,st=zn;switch(Hi){case $l:if(Fn=Fd(ue,y,me,y,Fe,Ye,Fn,zn),isNaN(Fn))return!0;be+=Fn,Fn=a,zn=st;break;case xl:if(Fe=Fd(ue,y,me,y,Fe,Ye,a,st),isNaN(Fe))return!0;be+=Fe;break;case cc:Je=dr.Fo(Fe,Ye,Br.point1X,Br.point1Y,Br.point2X,Br.point2Y,a,st,me,y,ue,y,.5),be+=Je;break;case on:Je=dr.Fo(Fe,Ye,(Fe+2*Br.point1X)/3,(Ye+2*Br.point1Y)/3,(2*Br.point1X+a)/3,(2*Br.point1Y+st)/3,a,st,me,y,ue,y,.5),be+=Je;break;case En:case Dn:Hi=Br.type===En?cl(Br,Zt):Vc(Br,Zt,Fe,Ye);var uo=Hi.length;if(uo===0){if(Fe=Fd(ue,y,me,y,Fe,Ye,Br.type===En?Br.centerX:Br.endX,Br.type===En?Br.centerY:Br.endY),isNaN(Fe))return!0;be+=Fe;break}Br=null;for(var no=0;no<uo;no++){if(Br=Hi[no],no===0){if(Je=Fd(ue,y,me,y,Fe,Ye,Br[0],Br[1]),isNaN(Je))return!0;be+=Je}Je=dr.Fo(Br[0],Br[1],Br[2],Br[3],Br[4],Br[5],Br[6],Br[7],me,y,ue,y,.5),be+=Je}Br!==null&&(a=Br[6],st=Br[7]);break;default:cn("Unknown Segment type: "+Br.type)}Fe=a,Ye=st}if(bn){if(be!==0)return!0}else if(be%2!==0)return!0;be=0}else if(Zt.ca(ue,y,se?ee:ee+2))return!0}return!1}function Fd(a,y,ee,ne,se,ue,me,be){if(dr.Yb(se,ue,me,be,.05,a,y))return NaN;var Fe=(a-ee)*(ue-be);if(Fe===0)return 0;var Ye=((a*ne-y*ee)*(se-me)-(a-ee)*(se*be-ue*me))/Fe;if(y=(a*ne-y*ee)*(ue-be)/Fe,Ye>=a)return 0;if((se>me?se-me:me-se)<(ue>be?ue-be:be-ue)){if(ue<be){if(y<ue||y>be)return 0}else if(y<be||y>ue)return 0}else if(se<me){if(Ye<se||Ye>me)return 0}else if(Ye<me||Ye>se)return 0;return 0<Fe?1:-1}function nf(a,y,ee,ne){a=a.figures.s;for(var se=a.length,ue=0;ue<se;ue++)if(a[ue].ca(y,ee,ne))return!0;return!1}It.Pu=function(a,y){if(0>a?a=0:1<a&&(a=1),y===void 0&&(y=new yn),this.type===wi.j)return y.h(this.startX+a*(this.endX-this.startX),this.startY+a*(this.endY-this.startY)),y;for(var ee=this.flattenedSegments,ne=this.flattenedLengths,se=ee.length,ue=this.flattenedTotalLength*a,me=0,be=0;be<se;be++){var Fe=ne[be],Ye=Fe.length;for(a=0;a<Ye;a++){var Je=Fe[a];if(me+Je>=ue)return ne=ue-me,ne=Je===0?0:ne/Je,ee=ee[be],be=ee[2*a],se=ee[2*a+1],y.h(be+(ee[2*a+2]-be)*ne,se+(ee[2*a+3]-se)*ne),y;me+=Je}}return y},It.wx=function(a){if(0>a?a=0:1<a&&(a=1),this.type===wi.j)return 180*Math.atan2(this.endY-this.startY,this.endX-this.startX)/Math.PI;for(var y=this.flattenedSegments,ee=this.flattenedLengths,ne=y.length,se=this.flattenedTotalLength*a,ue=0,me=0;me<ne;me++){var be=ee[me],Fe=be.length;for(a=0;a<Fe;a++){var Ye=be[a];if(ue+Ye>=se)return se=y[me],y=se[2*a],ee=se[2*a+1],ne=se[2*a+2],a=se[2*a+3],1>Math.abs(ne-y)&&1>Math.abs(a-ee)?0:1>Math.abs(ne-y)?0<=a-ee?90:270:1>Math.abs(a-ee)?0<=ne-y?0:180:180*Math.atan2(a-ee,ne-y)/Math.PI;ue+=Ye}}return NaN},It.Qu=function(a,y){if(0>a?a=0:1<a&&(a=1),y===void 0&&(y=[]),y.length=3,this.type===wi.j)return y[0]=this.startX+a*(this.endX-this.startX),y[1]=this.startY+a*(this.endY-this.startY),y[2]=180*Math.atan2(this.endY-this.startY,this.endX-this.startX)/Math.PI,y;for(var ee=this.flattenedSegments,ne=this.flattenedLengths,se=ee.length,ue=this.flattenedTotalLength*a,me=0,be=0;be<se;be++){var Fe=ne[be],Ye=Fe.length;for(a=0;a<Ye;a++){var Je=Fe[a];if(me+Je>=ue)return ne=ue-me,ne=Je===0?0:ne/Je,Je=ee[be],ee=Je[2*a],be=Je[2*a+1],se=Je[2*a+2],a=Je[2*a+3],y[0]=ee+(se-ee)*ne,y[1]=be+(a-be)*ne,y[2]=1>Math.abs(se-ee)&&1>Math.abs(a-be)?0:1>Math.abs(se-ee)?0<=a-be?90:270:1>Math.abs(a-be)?0<=se-ee?0:180:180*Math.atan2(a-be,se-ee)/Math.PI,y;me+=Je}}return y},It.xx=function(a){if(this.type===wi.j){var y=this.startX,ee=this.startY,ne=this.endX,se=this.endY;if(y!==ne||ee!==se){var ue=a.x;if(a=a.y,y===ne){if(ee<se){var me=ee;ne=se}else me=se,ne=ee;return a<=me?me===ee?0:1:a>=ne?ne===ee?0:1:Math.abs(a-ee)/(ne-me)}if(ee===se)return y<ne?me=y:(me=ne,ne=y),ue<=me?me===y?0:1:ue>=ne?ne===y?0:1:Math.abs(ue-y)/(ne-me);me=(ne-y)*(ne-y)+(se-ee)*(se-ee);var be=yn.alloc();return dr.qh(y,ee,ne,se,ue,a,be),a=be.x,ue=be.y,yn.free(be),Math.sqrt(((a-y)*(a-y)+(ue-ee)*(ue-ee))/me)}}else if(this.type===wi.u){me=this.startX,be=this.startY;var Fe=this.endX;if(se=this.endY,me!==Fe||be!==se){y=Fe-me,ee=se-be,ue=2*y+2*ee,ne=a.x,a=a.y,ne=Math.min(Math.max(ne,me),Fe),a=Math.min(Math.max(a,be),se),me=Math.abs(ne-me),Fe=Math.abs(ne-Fe),be=Math.abs(a-be),se=Math.abs(a-se);var Ye=Math.min(me,Fe,be,se);if(Ye===be)return ne/ue;if(Ye===Fe)return(y+a)/ue;if(Ye===se)return(2*y+ee-ne)/ue;if(Ye===me)return(2*y+2*ee-a)/ue}}else{y=this.flattenedSegments,ee=this.flattenedLengths,ue=this.flattenedTotalLength,ne=yn.alloc(),se=1/0,be=me=0,Fe=y.length;for(var Je=Ye=0,st=0;st<Fe;st++)for(var yt=y[st],Tt=ee[st],Ft=yt.length,Zt=0;Zt<Ft;Zt+=2){var bn=yt[Zt],fn=yt[Zt+1];if(Zt!==0){dr.qh(Ye,Je,bn,fn,a.x,a.y,ne);var Fn=(ne.x-a.x)*(ne.x-a.x)+(ne.y-a.y)*(ne.y-a.y);Fn<se&&(se=Fn,me=be,me+=Math.sqrt((ne.x-Ye)*(ne.x-Ye)+(ne.y-Je)*(ne.y-Je))),be+=Tt[(Zt-2)/2]}Ye=bn,Je=fn}return yn.free(ne),a=me/ue,0>a?0:1<a?1:a}return 0};function Pp(a){if(a.tk===null){var y=a.tk=[],ee=a.ym=[],ne=[],se=[];if(a.type===wi.j)ne.push(a.startX),ne.push(a.startY),ne.push(a.endX),ne.push(a.endY),y.push(ne),se.push(Math.sqrt((a.startX-a.endX)*(a.startX-a.endX)+(a.startY-a.endY)*(a.startY-a.endY))),ee.push(se);else if(a.type===wi.u)ne.push(a.startX),ne.push(a.startY),ne.push(a.endX),ne.push(a.startY),ne.push(a.endX),ne.push(a.endY),ne.push(a.startX),ne.push(a.endY),ne.push(a.startX),ne.push(a.startY),y.push(ne),se.push(Math.abs(a.startX-a.endX)),se.push(Math.abs(a.startY-a.endY)),se.push(Math.abs(a.startX-a.endX)),se.push(Math.abs(a.startY-a.endY)),ee.push(se);else if(a.type===wi.F){var ue=new Gu;ue.startX=a.endX,ue.startY=(a.startY+a.endY)/2;var me=new Ps(En);if(me.startAngle=0,me.sweepAngle=360,me.centerX=(a.startX+a.endX)/2,me.centerY=(a.startY+a.endY)/2,me.radiusX=Math.abs(a.startX-a.endX)/2,me.radiusY=Math.abs(a.startY-a.endY)/2,ue.add(me),a=cl(me,ue),se=a.length,se===0)ne.push(me.centerX),ne.push(me.centerY);else{me=ue.startX,ue=ue.startY;for(var be=0;be<se;be++){var Fe=a[be];dr.Qe(me,ue,Fe[2],Fe[3],Fe[4],Fe[5],Fe[6],Fe[7],.5,ne),me=Fe[6],ue=Fe[7]}}y.push(ne),ee.push(sp(ne))}else for(a=a.figures.iterator;a.next();){se=a.value,ne=[],ne.push(se.startX),ne.push(se.startY),me=se.startX,ue=se.startY,be=me,Fe=ue;for(var Ye=se.segments.s,Je=Ye.length,st=0;st<Je;st++){var yt=Ye[st];switch(yt.type){case $l:4<=ne.length&&(y.push(ne),ee.push(sp(ne))),ne=[],ne.push(yt.endX),ne.push(yt.endY),me=yt.endX,ue=yt.endY,be=me,Fe=ue;break;case xl:ne.push(yt.endX),ne.push(yt.endY),me=yt.endX,ue=yt.endY;break;case cc:dr.Qe(me,ue,yt.point1X,yt.point1Y,yt.point2X,yt.point2Y,yt.endX,yt.endY,.5,ne),me=yt.endX,ue=yt.endY;break;case on:dr.ep(me,ue,yt.point1X,yt.point1Y,yt.endX,yt.endY,.5,ne),me=yt.endX,ue=yt.endY;break;case En:var Tt=cl(yt,se),Ft=Tt.length;if(Ft===0){ne.push(yt.centerX),ne.push(yt.centerY),me=yt.centerX,ue=yt.centerY;break}for(var Zt=0;Zt<Ft;Zt++){var bn=Tt[Zt];dr.Qe(me,ue,bn[2],bn[3],bn[4],bn[5],bn[6],bn[7],.5,ne),me=bn[6],ue=bn[7]}break;case Dn:if(Tt=Vc(yt,se,me,ue),Ft=Tt.length,Zt=yt.endX,bn=yt.endY,Ft===0){ne.push(Zt),ne.push(bn),me=Zt,ue=bn;break}for(Zt=0;Zt<Ft;Zt++)bn=Tt[Zt],dr.Qe(me,ue,bn[2],bn[3],bn[4],bn[5],bn[6],bn[7],.5,ne),me=bn[6],ue=bn[7];break;default:cn("Segment not of valid type: "+yt.type)}yt.isClosed&&(ne.push(be),ne.push(Fe))}4<=ne.length&&(y.push(ne),ee.push(sp(ne)))}}}function sp(a){for(var y=[],ee=0,ne=0,se=a.length,ue=0;ue<se;ue+=2){var me=a[ue],be=a[ue+1];ue!==0&&y.push(Math.sqrt(ta(ee,ne,me,be))),ee=me,ne=be}return y}It.add=function(a){return this.ee.add(a),this},It.pm=function(a,y,ee,ne,se,ue,me,be){return this._isFrozen&&Yn(this),this.fg=new So(a,y,se,ue).freeze(),this.gg=new So(ee,ne,me,be).freeze(),this},Re.Object.defineProperties(wi.prototype,{_isFrozen:{get:function(){return(this.l&1)!==0},set:function(a){this.l=a?this.l|1:this.l&-2}},_isInvalidBounds:{get:function(){return(this.l&2)!==0},set:function(a){this.l=a?this.l|2:this.l&-3}},flattenedSegments:{get:function(){return Pp(this),this.tk}},flattenedLengths:{get:function(){return Pp(this),this.ym}},flattenedTotalLength:{get:function(){var a=this.zm;if(isNaN(a)){if(this.type===wi.j){a=Math.abs(this.endX-this.startX);var y=Math.abs(this.endY-this.startY);a=Math.sqrt(a*a+y*y)}else if(this.type===wi.u)a=2*Math.abs(this.endX-this.startX)+2*Math.abs(this.endY-this.startY);else{y=this.flattenedLengths;for(var ee=y.length,ne=a=0;ne<ee;ne++)for(var se=y[ne],ue=se.length,me=0;me<ue;me++)a+=se[me]}this.zm=a}return a}},type:{get:function(){return this.na},set:function(a){this.na!==a&&(this._isFrozen&&Yn(this,a),this.na=a,a===wi.o?this.ee=new Hr:(wi.V===null&&(wi.V=new Hr().freeze()),this.ee=wi.V),this._isInvalidBounds=!0)}},startX:{get:function(){return this.od},set:function(a){this.od!==a&&(this._isFrozen&&Yn(this,a),this.od=a,this._isInvalidBounds=!0)}},startY:{get:function(){return this.pd},set:function(a){this.pd!==a&&(this._isFrozen&&Yn(this,a),this.pd=a,this._isInvalidBounds=!0)}},endX:{get:function(){return this.Dc},set:function(a){this.Dc!==a&&(this._isFrozen&&Yn(this,a),this.Dc=a,this._isInvalidBounds=!0)}},endY:{get:function(){return this.Ec},set:function(a){this.Ec!==a&&(this._isFrozen&&Yn(this,a),this.Ec=a,this._isInvalidBounds=!0)}},figures:{get:function(){return this.ee},set:function(a){this.ee!==a&&(this._isFrozen&&Yn(this,a),this.ee=a,this._isInvalidBounds=!0)}},spot1:{get:function(){return this.fg},set:function(a){this._isFrozen&&Yn(this,a),this.fg=a.J()}},spot2:{get:function(){return this.gg},set:function(a){this._isFrozen&&Yn(this,a),this.gg=a.J()}},defaultStretch:{get:function(){return this.Uf},set:function(a){this._isFrozen&&Yn(this,a),this.Uf=a}},bounds:{get:function(){return this.Zu()&&this.computeBounds(),this.Ip}}}),wi.prototype.setSpots=wi.prototype.pm,wi.prototype.add=wi.prototype.add,wi.prototype.getFractionForPoint=wi.prototype.xx,wi.prototype.getPointAndAngleAlongPath=wi.prototype.Qu,wi.prototype.getAngleAlongPath=wi.prototype.wx,wi.prototype.getPointAlongPath=wi.prototype.Pu,wi.prototype.containsPoint=wi.prototype.ca,wi.prototype.transform=wi.prototype.transform,wi.prototype.rotate=wi.prototype.rotate,wi.prototype.scale=wi.prototype.scale,wi.prototype.offset=wi.prototype.offset,wi.prototype.normalize=wi.prototype.normalize,wi.prototype.computeBoundsWithoutOrigin=wi.prototype.ix,wi.prototype.equalsApprox=wi.prototype.Xa,wi.className="Geometry",wi.j=new nr(wi,"Line",0),wi.u=new nr(wi,"Rectangle",1),wi.F=new nr(wi,"Ellipse",2),wi.o=new nr(wi,"Path",3),wi.V=null,wi.hb="UuBbMmZzLlHhVvCcSsQqTtAaFfXx",wi.className="Geometry",wi.stringify=wi.ia,wi.fillPath=wi.nb,wi.parse=wi.parse,wi.Line=wi.j,wi.Rectangle=wi.u,wi.Ellipse=wi.F,wi.Path=wi.o;function Gu(a,y,ee,ne,se){Ca(this),ee===void 0&&(ee=!0),ne===void 0&&(ne=!0),se===void 0&&(se=!1),this.l=2|(ee?4:0)|(ne?8:0)|(se?16:0),a!==void 0?this.od=a:this.od=0,y!==void 0?this.pd=y:this.pd=0,this.pl=new Hr,this.sr=this.pl.Ja,this.fw=null}Gu.prototype.copy=function(){var a=new Gu;a.l=this.l&-2,a.od=this.od,a.pd=this.pd;for(var y=this.pl.s,ee=y.length,ne=a.pl,se=0;se<ee;se++){var ue=y[se].copy();ne.add(ue)}return a.sr=this.sr,a.fw=this.fw,a},It=Gu.prototype,It.Xa=function(a){if(!(a instanceof Gu&&dr.B(this.startX,a.startX)&&dr.B(this.startY,a.startY)))return!1;var y=this.segments.s;a=a.segments.s;var ee=y.length;if(ee!==a.length)return!1;for(var ne=0;ne<ee;ne++)if(!y[ne].Xa(a[ne]))return!1;return!0},It.toString=function(a){a===void 0&&(a=-1);for(var y=0>a?"M"+this.startX.toString()+" "+this.startY.toString():"M"+this.startX.toFixed(a)+" "+this.startY.toFixed(a),ee=this.segments.s,ne=ee.length,se=0;se<ne;se++)y+=" "+ee[se].toString(a);return y},It.freeze=function(){this._isFrozen=!0;var a=this.segments;a.freeze();var y=a.s;a=a.length;for(var ee=0;ee<a;ee++)y[ee].freeze();return this},It.ka=function(){this._isFrozen=!1;var a=this.segments;a.ka(),a=a.s;for(var y=a.length,ee=0;ee<y;ee++)a[ee].ka();return this},It.Zu=function(){if(this._isInvalidBounds)return!0;var a=this.segments;if(this.sr!==a.Ja)return!0;a=a.s;for(var y=a.length,ee=0;ee<y;ee++)if(a[ee]._isInvalidBounds)return!0;return!1},It.add=function(a){return this.pl.add(a),this},It.ca=function(a,y,ee){for(var ne=this.startX,se=this.startY,ue=ne,me=se,be=this.segments.s,Fe=be.length,Ye=0;Ye<Fe;Ye++){var Je=be[Ye];switch(Je.type){case $l:ue=Je.endX,me=Je.endY,ne=Je.endX,se=Je.endY;break;case xl:if(dr.Yb(ne,se,Je.endX,Je.endY,ee,a,y))return!0;ne=Je.endX,se=Je.endY;break;case cc:if(dr.cs(ne,se,Je.point1X,Je.point1Y,Je.point2X,Je.point2Y,Je.endX,Je.endY,.5,a,y,ee))return!0;ne=Je.endX,se=Je.endY;break;case on:if(dr.jv(ne,se,Je.point1X,Je.point1Y,Je.endX,Je.endY,.5,a,y,ee))return!0;ne=Je.endX,se=Je.endY;break;case En:case Dn:var st=Je.type===En?cl(Je,this):Vc(Je,this,ne,se),yt=st.length,Tt=Je.type===En?Je.centerX:Je.endX,Ft=Je.type===En?Je.centerY:Je.endY;if(yt===0){if(dr.Yb(ne,se,Tt,Ft,ee,a,y))return!0;ne=Tt,se=Ft;break}for(Tt=null,Ft=0;Ft<yt;Ft++)if(Tt=st[Ft],Ft===0&&dr.Yb(ne,se,Tt[0],Tt[1],ee,a,y)||dr.cs(Tt[0],Tt[1],Tt[2],Tt[3],Tt[4],Tt[5],Tt[6],Tt[7],.5,a,y,ee))return!0;Tt!==null&&(ne=Tt[6],se=Tt[7]);break;default:cn("Unknown Segment type: "+Je.type)}if(Je.isClosed&&(ne!==ue||se!==me)&&dr.Yb(ne,se,ue,me,ee,a,y))return!0}return!1},Re.Object.defineProperties(Gu.prototype,{_isFrozen:{get:function(){return(this.l&1)!==0},set:function(a){this.l=a?this.l|1:this.l&-2}},_isInvalidBounds:{get:function(){return(this.l&2)!==0},set:function(a){this.l=a?this.l|2:this.l&-3}},isFilled:{get:function(){return(this.l&4)!==0},set:function(a){this._isFrozen&&Yn(this,a),this.l=a?this.l|4:this.l&-5}},isShadowed:{get:function(){return(this.l&8)!==0},set:function(a){this._isFrozen&&Yn(this,a),this.l=a?this.l|8:this.l&-9}},isEvenOdd:{get:function(){return(this.l&16)!==0},set:function(a){this._isFrozen&&Yn(this,a),this.l=a?this.l|16:this.l&-17}},startX:{get:function(){return this.od},set:function(a){this._isFrozen&&Yn(this,a),this.od=a,this._isInvalidBounds=!0}},startY:{get:function(){return this.pd},set:function(a){this._isFrozen&&Yn(this,a),this.pd=a,this._isInvalidBounds=!0}},segments:{get:function(){return this.pl},set:function(a){this._isFrozen&&Yn(this,a),this.pl=a,this._isInvalidBounds=!0}}}),Gu.prototype.add=Gu.prototype.add,Gu.prototype.equalsApprox=Gu.prototype.Xa,Gu.className="PathFigure";function Ps(a,y,ee,ne,se,ue,me,be){Ca(this),a===void 0&&(a=xl),this.na=a,this.l=2,y!==void 0?this.Dc=y:this.Dc=0,ee!==void 0?this.Ec=ee:this.Ec=0,ne===void 0&&(ne=0),se===void 0&&(se=0),ue===void 0&&(ue=0),me===void 0&&(me=0),a===Dn?(a=ue%360,0>a&&(a+=360),this.Ne=a,this.Vh=0,this.Wh=Math.max(ne,0),this.Pg=Math.max(se,0),typeof me=="boolean"?me&&(this.isLargeArc=!0):typeof me=="number"&&me&&(this.isLargeArc=!0),be&&(this.isClockwiseArc=!0)):(this.Ne=ne,this.Vh=se,a===En&&(ue=Math.max(ue,0)),this.Wh=ue,typeof me=="number"?(a===En&&(me=Math.max(me,0)),this.Pg=me):this.Pg=0),this.ae=null}Ps.prototype.copy=function(){var a=new Ps;return a.na=this.na,a.l=this.l&-2,a.Dc=this.Dc,a.Ec=this.Ec,a.Ne=this.Ne,a.Vh=this.Vh,a.Wh=this.Wh,a.Pg=this.Pg,a},It=Ps.prototype,It.Xa=function(a){if(!(a instanceof Ps)||this.type!==a.type||this.isClosed!==a.isClosed)return!1;switch(this.type){case $l:case xl:return dr.B(this.endX,a.endX)&&dr.B(this.endY,a.endY);case cc:return dr.B(this.endX,a.endX)&&dr.B(this.endY,a.endY)&&dr.B(this.point1X,a.point1X)&&dr.B(this.point1Y,a.point1Y)&&dr.B(this.point2X,a.point2X)&&dr.B(this.point2Y,a.point2Y);case on:return dr.B(this.endX,a.endX)&&dr.B(this.endY,a.endY)&&dr.B(this.point1X,a.point1X)&&dr.B(this.point1Y,a.point1Y);case En:return dr.B(this.startAngle,a.startAngle)&&dr.B(this.sweepAngle,a.sweepAngle)&&dr.B(this.centerX,a.centerX)&&dr.B(this.centerY,a.centerY)&&dr.B(this.radiusX,a.radiusX)&&dr.B(this.radiusY,a.radiusY);case Dn:return this.isClockwiseArc===a.isClockwiseArc&&this.isLargeArc===a.isLargeArc&&dr.B(this.xAxisRotation,a.xAxisRotation)&&dr.B(this.endX,a.endX)&&dr.B(this.endY,a.endY)&&dr.B(this.radiusX,a.radiusX)&&dr.B(this.radiusY,a.radiusY);default:return!1}},It.qb=function(a){a.classType===Ps&&(this.type=a)},It.toString=function(a){switch(a===void 0&&(a=-1),this.type){case $l:a=0>a?"M"+this.endX.toString()+" "+this.endY.toString():"M"+this.endX.toFixed(a)+" "+this.endY.toFixed(a);break;case xl:a=0>a?"L"+this.endX.toString()+" "+this.endY.toString():"L"+this.endX.toFixed(a)+" "+this.endY.toFixed(a);break;case cc:a=0>a?"C"+this.point1X.toString()+" "+this.point1Y.toString()+" "+this.point2X.toString()+" "+this.point2Y.toString()+" "+this.endX.toString()+" "+this.endY.toString():"C"+this.point1X.toFixed(a)+" "+this.point1Y.toFixed(a)+" "+this.point2X.toFixed(a)+" "+this.point2Y.toFixed(a)+" "+this.endX.toFixed(a)+" "+this.endY.toFixed(a);break;case on:a=0>a?"Q"+this.point1X.toString()+" "+this.point1Y.toString()+" "+this.endX.toString()+" "+this.endY.toString():"Q"+this.point1X.toFixed(a)+" "+this.point1Y.toFixed(a)+" "+this.endX.toFixed(a)+" "+this.endY.toFixed(a);break;case En:a=0>a?"B"+this.startAngle.toString()+" "+this.sweepAngle.toString()+" "+this.centerX.toString()+" "+this.centerY.toString()+" "+this.radiusX.toString()+" "+this.radiusY.toString():"B"+this.startAngle.toFixed(a)+" "+this.sweepAngle.toFixed(a)+" "+this.centerX.toFixed(a)+" "+this.centerY.toFixed(a)+" "+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a);break;case Dn:a=0>a?"A"+this.radiusX.toString()+" "+this.radiusY.toString()+" "+this.xAxisRotation.toString()+" "+(this.isLargeArc?1:0)+" "+(this.isClockwiseArc?1:0)+" "+this.endX.toString()+" "+this.endY.toString():"A"+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a)+" "+this.xAxisRotation.toFixed(a)+" "+(this.isLargeArc?1:0)+" "+(this.isClockwiseArc?1:0)+" "+this.endX.toFixed(a)+" "+this.endY.toFixed(a);break;default:a=this.type.toString()}return a+(this.isClosed?"z":"")},It.freeze=function(){return this._isFrozen=!0,this},It.ka=function(){return this._isFrozen=!1,this},It.close=function(){return this.isClosed=!0,this};function cl(a,y){if(a.ae!==null&&y._isInvalidBounds===!1)return a.ae;var ee=a.radiusX,ne=a.radiusY;if(ne===void 0&&(ne=ee),ee===0||ne===0)return a.ae=[],a.ae;y=a.Ne;var se=a.Vh,ue=dr.jx(0,0,ee<ne?ee:ne,a.startAngle,a.startAngle+a.sweepAngle,!1);if(ee!==ne){var me=Da.alloc();me.reset(),ee<ne?me.scale(1,ne/ee):me.scale(ee/ne,1),wi.Ha(ue,me),Da.free(me)}for(ee=ue.length,ne=0;ne<ee;ne++)me=ue[ne],me[0]+=y,me[1]+=se,me[2]+=y,me[3]+=se,me[4]+=y,me[5]+=se,me[6]+=y,me[7]+=se;return a.ae=ue,a.ae}function Vc(a,y,ee,ne){function se(Zt,bn,fn,Fn){return(Zt*Fn<bn*fn?-1:1)*Math.acos((Zt*fn+bn*Fn)/(Math.sqrt(Zt*Zt+bn*bn)*Math.sqrt(fn*fn+Fn*Fn)))}if(a.ae!==null&&y._isInvalidBounds===!1)return a.ae;if(a.radiusX===0||a.radiusY===0)return a.ae=[],a.ae;y=a.Wh;var ue=a.Pg;y===0&&(y=1e-4),ue===0&&(ue=1e-4);var me=Math.PI/180*a.Ne,be=a.isLargeArc,Fe=a.isClockwiseArc,Ye=a.Dc,Je=a.Ec,st=Math.cos(me),yt=Math.sin(me),Tt=st*(ee-Ye)/2+yt*(ne-Je)/2;me=-yt*(ee-Ye)/2+st*(ne-Je)/2;var Ft=Tt*Tt/(y*y)+me*me/(ue*ue);return 1<Ft&&(y*=Math.sqrt(Ft),ue*=Math.sqrt(Ft)),Ft=(be===Fe?-1:1)*Math.sqrt((y*y*ue*ue-y*y*me*me-ue*ue*Tt*Tt)/(y*y*me*me+ue*ue*Tt*Tt)),isNaN(Ft)&&(Ft=0),be=Ft*y*me/ue,Ft=Ft*-ue*Tt/y,isNaN(be)&&(be=0),isNaN(Ft)&&(Ft=0),ee=(ee+Ye)/2+st*be-yt*Ft,ne=(ne+Je)/2+yt*be+st*Ft,Je=se(1,0,(Tt-be)/y,(me-Ft)/ue),st=(Tt-be)/y,Ye=(me-Ft)/ue,Tt=(-Tt-be)/y,be=(-me-Ft)/ue,me=se(st,Ye,Tt,be),Tt=(st*Tt+Ye*be)/(Math.sqrt(st*st+Ye*Ye)*Math.sqrt(Tt*Tt+be*be)),-1>=Tt?me=Math.PI:1<=Tt&&(me=0),!Fe&&0<me&&(me-=2*Math.PI),Fe&&0>me&&(me+=2*Math.PI),Fe=y>ue?1:y/ue,Tt=y>ue?ue/y:1,y=dr.jx(0,0,y>ue?y:ue,Je,Je+me,!0),ue=Da.alloc(),ue.reset(),ue.translate(ee,ne),ue.rotate(a.Ne,0,0),ue.scale(Fe,Tt),wi.Ha(y,ue),Da.free(ue),a.ae=y,a.ae}Re.Object.defineProperties(Ps.prototype,{_isFrozen:{get:function(){return(this.l&1)!==0},set:function(a){this.l=a?this.l|1:this.l&-2}},_isInvalidBounds:{get:function(){return(this.l&2)!==0},set:function(a){this.l=a?this.l|2:this.l&-3}},isClosed:{get:function(){return(this.l&8)!==0},set:function(a){this.isClosed!==a&&(this.l=a?this.l|8:this.l&-9,this._isInvalidBounds=!0)}},type:{get:function(){return this.na},set:function(a){this._isFrozen&&Yn(this,a),this.na=a,this._isInvalidBounds=!0}},endX:{get:function(){return this.Dc},set:function(a){this._isFrozen&&Yn(this,a),this.Dc=a,this._isInvalidBounds=!0}},endY:{get:function(){return this.Ec},set:function(a){this._isFrozen&&Yn(this,a),this.Ec=a,this._isInvalidBounds=!0}},point1X:{get:function(){return this.Ne},set:function(a){this._isFrozen&&Yn(this,a),this.Ne=a,this._isInvalidBounds=!0}},point1Y:{get:function(){return this.Vh},set:function(a){this._isFrozen&&Yn(this,a),this.Vh=a,this._isInvalidBounds=!0}},point2X:{get:function(){return this.Wh},set:function(a){this._isFrozen&&Yn(this,a),this.Wh=a,this._isInvalidBounds=!0}},point2Y:{get:function(){return this.Pg},set:function(a){this._isFrozen&&Yn(this,a),this.Pg=a,this._isInvalidBounds=!0}},centerX:{get:function(){return this.Ne},set:function(a){this._isFrozen&&Yn(this,a),this.Ne=a,this._isInvalidBounds=!0}},centerY:{get:function(){return this.Vh},set:function(a){this._isFrozen&&Yn(this,a),this.Vh=a,this._isInvalidBounds=!0}},radiusX:{get:function(){return this.Wh},set:function(a){0>a&&ir(a,">= zero",Ps,"radiusX"),this._isFrozen&&Yn(this,a),this.Wh=a,this._isInvalidBounds=!0}},radiusY:{get:function(){return this.Pg},set:function(a){0>a&&ir(a,">= zero",Ps,"radiusY"),this._isFrozen&&Yn(this,a),this.Pg=a,this._isInvalidBounds=!0}},startAngle:{get:function(){return this.Dc},set:function(a){this._isFrozen&&Yn(this,a),a%=360,0>a&&(a+=360),this.Dc=a,this._isInvalidBounds=!0}},sweepAngle:{get:function(){return this.Ec},set:function(a){this._isFrozen&&Yn(this,a),360<a&&(a=360),-360>a&&(a=-360),this.Ec=a,this._isInvalidBounds=!0}},isClockwiseArc:{get:function(){return(this.l&4)!==0},set:function(a){this._isFrozen&&Yn(this,a),this.l=a?this.l|4:this.l&-5,this._isInvalidBounds=!0}},isLargeArc:{get:function(){return(this.l&16)!==0},set:function(a){this._isFrozen&&Yn(this,a),this.l=a?this.l|16:this.l&-17,this._isInvalidBounds=!0}},xAxisRotation:{get:function(){return this.Ne},set:function(a){this._isFrozen&&Yn(this,a),a%=360,0>a&&(a+=360),this.Ne=a,this._isInvalidBounds=!0}}}),Ps.prototype.equalsApprox=Ps.prototype.Xa;var $l=new nr(Ps,"Move",0),xl=new nr(Ps,"Line",1),cc=new nr(Ps,"Bezier",2),on=new nr(Ps,"QuadraticBezier",3),En=new nr(Ps,"Arc",4),Dn=new nr(Ps,"SvgArc",4);Ps.className="PathSegment",Ps.Move=$l,Ps.Line=xl,Ps.Bezier=cc,Ps.QuadraticBezier=on,Ps.Arc=En,Ps.SvgArc=Dn;function Ar(){this.H=null,this.xu=new yn(0,0).freeze(),this.mt=new yn(0,0).freeze(),this.Bp=this.Rq=0,this.Cp=1,this.xq="",this.Wr=this.Tp=!1,this.Rp=this.Ep=0,this.xg=this.nq=this.tq=!1,this.Zp=null,this.Rr=0,this.xd=this.Nr=null}Ar.prototype.copy=function(){var a=new Ar;return this.clone(a)},Ar.prototype.clone=function(a){return a.H=this.H,a.xu.assign(this.viewPoint),a.mt.assign(this.documentPoint),a.Rq=this.Rq,a.Bp=this.Bp,a.Cp=this.Cp,a.xq=this.xq,a.Tp=this.Tp,a.Wr=this.Wr,a.Ep=this.Ep,a.Rp=this.Rp,a.tq=this.tq,a.nq=this.nq,a.xg=this.xg,a.Zp=this.Zp,a.Rr=this.Rr,a.Nr=this.Nr,a.xd=this.xd,a},Ar.prototype.toString=function(){var a="^";return this.modifiers!==0&&(a+="M:"+this.modifiers),this.button!==0&&(a+="B:"+this.button),this.key!==""&&(a+="K:"+this.key),this.clickCount!==0&&(a+="C:"+this.clickCount),this.delta!==0&&(a+="D:"+this.delta),this.handled&&(a+="h"),this.bubbles&&(a+="b"),this.documentPoint!==null&&(a+="@"+this.documentPoint.toString()),a},Ar.prototype.So=function(a,y){var ee=this.diagram;return ee===null||F0(ee,a,y),y},Ar.prototype.Bz=function(a,y){var ee=this.diagram;return ee===null||(F0(ee,a,y),y.assign(ee.Ps(y))),y},Re.Object.defineProperties(Ar.prototype,{diagram:{get:function(){return this.H},set:function(a){this.H=a}},viewPoint:{get:function(){return this.xu},set:function(a){this.xu.assign(a)}},documentPoint:{get:function(){return this.mt},set:function(a){this.mt.assign(a)}},modifiers:{get:function(){return this.Rq},set:function(a){this.Rq=a}},button:{get:function(){return this.Bp},set:function(a){if(this.Bp=a,this.event===null)switch(a){case 0:this.buttons=1;break;case 1:this.buttons=4;break;case 2:this.buttons=2}}},buttons:{get:function(){return this.Cp},set:function(a){this.Cp=a}},key:{get:function(){return this.xq},set:function(a){this.xq=a}},down:{get:function(){return this.Tp},set:function(a){this.Tp=a}},up:{get:function(){return this.Wr},set:function(a){this.Wr=a}},clickCount:{get:function(){return this.Ep},set:function(a){this.Ep=a}},delta:{get:function(){return this.Rp},set:function(a){this.Rp=a}},isMultiTouch:{get:function(){return this.tq},set:function(a){this.tq=a}},handled:{get:function(){return this.nq},set:function(a){this.nq=a}},bubbles:{get:function(){return this.xg},set:function(a){this.xg=a}},event:{get:function(){return this.Zp},set:function(a){this.Zp=a}},isTouchEvent:{get:function(){var a=this.event;return a===null?!1:a.pointerType==="touch"||a.pointerType==="pen"}},timestamp:{get:function(){return this.Rr},set:function(a){this.Rr=a}},targetDiagram:{get:function(){return this.Nr},set:function(a){this.Nr=a}},targetObject:{get:function(){return this.xd},set:function(a){this.xd=a}},control:{get:function(){return(this.modifiers&1)!==0},set:function(a){this.modifiers=a?this.modifiers|1:this.modifiers&-2}},shift:{get:function(){return(this.modifiers&4)!==0},set:function(a){this.modifiers=a?this.modifiers|4:this.modifiers&-5}},alt:{get:function(){return(this.modifiers&2)!==0},set:function(a){this.modifiers=a?this.modifiers|2:this.modifiers&-3}},meta:{get:function(){return(this.modifiers&8)!==0},set:function(a){this.modifiers=a?this.modifiers|8:this.modifiers&-9}},left:{get:function(){var a=this.event;return a===null||a.type!=="mousedown"&&a.type!=="mouseup"&&a.type!=="pointerdown"&&a.type!=="pointerup"?(this.buttons&1)!==0:this.button===0},set:function(a){this.buttons=a?this.buttons|1:this.buttons&-2}},right:{get:function(){var a=this.event;return a===null||a.type!=="mousedown"&&a.type!=="mouseup"&&a.type!=="pointerdown"&&a.type!=="pointerup"?(this.buttons&2)!==0:this.button===2},set:function(a){this.buttons=a?this.buttons|2:this.buttons&-3}},middle:{get:function(){var a=this.event;return a===null||a.type!=="mousedown"&&a.type!=="mouseup"&&a.type!=="pointerdown"&&a.type!=="pointerup"?(this.buttons&4)!==0:this.button===1},set:function(a){this.buttons=a?this.buttons|4:this.buttons&-5}}}),Ar.prototype.getMultiTouchDocumentPoint=Ar.prototype.Bz,Ar.prototype.getMultiTouchViewPoint=Ar.prototype.So,Ar.className="InputEvent";function Pr(){this.H=null,this.xa="",this.ar=this.Lr=null}Pr.prototype.copy=function(){var a=new Pr;return a.H=this.H,a.xa=this.xa,a.Lr=this.Lr,a.ar=this.ar,a},Pr.prototype.toString=function(){var a="*"+this.name;return this.subject!==null&&(a+=":"+this.subject.toString()),this.parameter!==null&&(a+="("+this.parameter.toString()+")"),a},Re.Object.defineProperties(Pr.prototype,{diagram:{get:function(){return this.H},set:function(a){this.H=a}},name:{get:function(){return this.xa},set:function(a){this.xa=a}},subject:{get:function(){return this.Lr},set:function(a){this.Lr=a}},parameter:{get:function(){return this.ar},set:function(a){this.ar=a}}}),Pr.className="DiagramEvent";function Xr(){this.Fm=mi,this.rf=this.Qq="",this.Ln=this.Mn=this.Rn=this.Sn=this.Qn=this.H=this.cc=null}Xr.prototype.clear=function(){this.Ln=this.Mn=this.Rn=this.Sn=this.Qn=this.H=this.cc=null},Xr.prototype.copy=function(){var a=new Xr;a.Fm=this.Fm,a.Qq=this.Qq,a.rf=this.rf,a.cc=this.cc,a.H=this.H,a.Qn=this.Qn;var y=this.Sn;return a.Sn=On(y)&&typeof y.J=="function"?y.J():y,y=this.Rn,a.Rn=On(y)&&typeof y.J=="function"?y.J():y,y=this.Mn,a.Mn=On(y)&&typeof y.J=="function"?y.J():y,y=this.Ln,a.Ln=On(y)&&typeof y.J=="function"?y.J():y,a},Xr.prototype.qb=function(a){a.classType===Xr&&(this.change=a)},Xr.prototype.toString=function(){var a="";return a=this.change===ei?a+"* ":this.change===mi?a+(this.model!==null?"!m":"!d"):a+((this.model!==null?"!m":"!d")+this.change),this.propertyName&&typeof this.propertyName=="string"&&(a+=" "+this.propertyName),this.modelChange&&this.modelChange!==this.propertyName&&(a+=" "+this.modelChange),a+=": ",this.change===ei?this.oldValue!==null&&(a+=" "+this.oldValue):(this.object!==null&&(a+=Nr(this.object)),this.oldValue!==null&&(a+=" old: "+Nr(this.oldValue)),this.oldParam!==null&&(a+=" "+this.oldParam),this.newValue!==null&&(a+=" new: "+Nr(this.newValue)),this.newParam!==null&&(a+=" "+this.newParam)),a},Xr.prototype.I=function(a){return a?this.oldValue:this.newValue},Xr.prototype.Dz=function(a){return a?this.oldParam:this.newParam},Xr.prototype.canUndo=function(){return this.model!==null||this.diagram!==null},Xr.prototype.undo=function(){this.canUndo()&&(this.model!==null?this.model.changeState(this,!0):this.diagram!==null&&this.diagram.changeState(this,!0))},Xr.prototype.canRedo=function(){return this.model!==null||this.diagram!==null},Xr.prototype.redo=function(){this.canRedo()&&(this.model!==null?this.model.changeState(this,!1):this.diagram!==null&&this.diagram.changeState(this,!1))},Re.Object.defineProperties(Xr.prototype,{model:{get:function(){return this.cc},set:function(a){this.cc=a}},diagram:{get:function(){return this.H},set:function(a){this.H=a}},change:{get:function(){return this.Fm},set:function(a){this.Fm=a}},modelChange:{get:function(){return this.Qq},set:function(a){this.Qq=a}},propertyName:{get:function(){return this.rf},set:function(a){this.rf=a}},isTransactionFinished:{get:function(){return this.Fm===ei&&(this.rf==="CommittedTransaction"||this.rf==="FinishedUndo"||this.rf==="FinishedRedo")}},object:{get:function(){return this.Qn},set:function(a){this.Qn=a}},oldValue:{get:function(){return this.Sn},set:function(a){this.Sn=a}},oldParam:{get:function(){return this.Rn},set:function(a){this.Rn=a}},newValue:{get:function(){return this.Mn},set:function(a){this.Mn=a}},newParam:{get:function(){return this.Ln},set:function(a){this.Ln=a}}}),Xr.prototype.redo=Xr.prototype.redo,Xr.prototype.canRedo=Xr.prototype.canRedo,Xr.prototype.undo=Xr.prototype.undo,Xr.prototype.canUndo=Xr.prototype.canUndo,Xr.prototype.getParam=Xr.prototype.Dz,Xr.prototype.getValue=Xr.prototype.I,Xr.prototype.clear=Xr.prototype.clear;var ei=new nr(Xr,"Transaction",-1),mi=new nr(Xr,"Property",0),Ci=new nr(Xr,"Insert",1),Wi=new nr(Xr,"Remove",2);Xr.className="ChangedEvent",Xr.Transaction=ei,Xr.Property=mi,Xr.Insert=Ci,Xr.Remove=Wi;function Gr(){this.o=new Hr().freeze(),this.xa="",this.j=!1}Gr.prototype.toString=function(a){var y="Transaction: "+this.name+" "+this.changes.count.toString()+(this.isComplete?"":", incomplete");if(a!==void 0&&0<a){a=this.changes.count;for(var ee=0;ee<a;ee++){var ne=this.changes.M(ee);ne!==null&&(y+=`
`+ne.toString())}}return y},Gr.prototype.clear=function(){var a=this.changes;a.ka();for(var y=a.count-1;0<=y;y--){var ee=a.M(y);ee!==null&&ee.clear()}a.clear(),a.freeze()},Gr.prototype.canUndo=function(){return this.isComplete},Gr.prototype.undo=function(){if(this.canUndo())for(var a=this.changes.count-1;0<=a;a--){var y=this.changes.M(a);y!==null&&y.undo()}},Gr.prototype.canRedo=function(){return this.isComplete},Gr.prototype.redo=function(){if(this.canRedo())for(var a=this.changes.count,y=0;y<a;y++){var ee=this.changes.M(y);ee!==null&&ee.redo()}},Gr.prototype.ak=function(){if(this.isComplete){var a=this.changes;a.ka();for(var y=new Ji,ee=0;ee<a.count;ee++){var ne=a.M(ee);if(ne!==null&&ne.change===mi&&ne.object){var se=y.get(ne.object);se||(se=new Ji,y.set(ne.object,se));var ue=se.get(ne.propertyName);ue===null?se.set(ne.propertyName,-1):(0<ue&&a.cd(ue,null),se.set(ne.propertyName,ee))}}for(ee=y=0;ee<a.count;ee++)ne=a.M(ee),ne!==null&&(ee>y&&a.cd(y,ne),y++);for(;a.length>y;)a.pop();a.freeze()}},Re.Object.defineProperties(Gr.prototype,{changes:{get:function(){return this.o}},name:{get:function(){return this.xa},set:function(a){this.xa=a}},isComplete:{get:function(){return this.j},set:function(a){this.j=a}}}),Gr.prototype.optimize=Gr.prototype.ak,Gr.prototype.redo=Gr.prototype.redo,Gr.prototype.canRedo=Gr.prototype.canRedo,Gr.prototype.undo=Gr.prototype.undo,Gr.prototype.canUndo=Gr.prototype.canUndo,Gr.prototype.clear=Gr.prototype.clear,Gr.className="Transaction";function _i(){this.Pt=new Zr,this.Jd=!1,this.u=new Hr().freeze(),this.Ce=-1,this.o=999,this.Fe=!1,this.Np=null,this.bi=0,this.j=!1,this.Ie=new Hr().freeze(),this.hl=new Hr,this.tt=!0,this.Dt=this.rq=this.Gt=this.Ft=!1}_i.prototype.toString=function(a){var y="UndoManager "+this.historyIndex+"<"+this.history.count+"<="+this.maxHistoryLength;y+="[";for(var ee=this.nestedTransactionNames.count,ne=0;ne<ee;ne++)0<ne&&(y+=" "),y+=this.nestedTransactionNames.M(ne);if(y+="]",a!==void 0&&0<a)for(ee=this.history.count,ne=0;ne<ee;ne++)y+=`
`+this.history.M(ne).toString(a-1);return y},_i.prototype.clear=function(){var a=this.history;a.ka();for(var y=a.count-1;0<=y;y--){var ee=a.M(y);ee!==null&&ee.clear()}a.clear(),this.Ce=-1,a.freeze(),this.Fe=!1,this.Np=null,this.bi=0,this.Ie.ka(),this.Ie.clear(),this.Ie.freeze(),this.hl.clear(),this.Dt=this.rq=this.Gt=this.Ft=!1},_i.prototype.copyProperties=function(a){this.isEnabled=a.isEnabled,this.maxHistoryLength=a.maxHistoryLength,this.checksTransactionLevel=a.checksTransactionLevel},It=_i.prototype,It.Xw=function(a){this.Pt.add(a)},It.Rx=function(a){this.Pt.remove(a)},It.Ea=function(a){if(a===void 0&&(a=""),a===null&&(a=""),this.isUndoingRedoing)return!1;this.tt===!0&&(this.tt=!1,this.bi++,this.isInternalTransaction||this.Ob("StartingFirstTransaction",a,this.currentTransaction),0<this.bi&&this.bi--),this.isEnabled&&(this.Ie.ka(),this.Ie.add(a),this.Ie.freeze(),this.currentTransaction===null?this.hl.add(0):this.hl.add(this.currentTransaction.changes.count)),this.bi++;var y=this.transactionLevel===1;return y&&(this.isInternalTransaction||this.Ob("StartedTransaction",a,this.currentTransaction)),y},It.eb=function(a){return a===void 0&&(a=""),xo(this,!0,a)},It.Kf=function(){return xo(this,!1,"")};function xo(a,y,ee){if(a.isUndoingRedoing)return!1;a.checksTransactionLevel&&1>a.transactionLevel&&fr("Ending transaction without having started a transaction: "+ee);var ne=a.transactionLevel===1,se=a.currentTransaction;ne&&y&&(a.isInternalTransaction||a.Ob("CommittingTransaction",ee,se));var ue=0;if(0<a.transactionLevel&&(a.bi--,a.isEnabled)){var me=a.Ie.count;0<me&&(ee===""&&(ee=a.Ie.M(0)),a.Ie.ka(),a.Ie.mb(me-1),a.Ie.freeze()),me=a.hl.count,0<me&&(ue=a.hl.M(me-1),a.hl.mb(me-1))}if(ne){if(y)a.rq=!1,se===null&&ee!==""&&(se=a.currentTransaction),a.isEnabled&&se!==null&&(se.isComplete||(se.isComplete=!0,se.name=ee),a.lx(),y=a.history,y.ka(),ne=a.maxHistoryLength,0<=ne&&(ne===0?y.clear():y.count>=ne&&(ue=y.M(0),ue!==null&&ue.clear(),y.mb(0),a.Ce--)),ne===0||y.count!==0&&y.get(y.count-1)===se||(y.add(se),a.Ce++),y.freeze()),a.isInternalTransaction||a.Ob("CommittedTransaction",ee,se);else{a.Fe=!0;try{a.isEnabled&&se!==null&&(se.isComplete=!0,se.undo())}finally{a.isInternalTransaction||a.Ob("RolledBackTransaction",ee,se),a.Fe=!1}se!==null&&se.clear()}return a.Np=null,a.isPendingClear&&a.clear(),a.isPendingClear=!1,a.isPendingUnmodified=!1,!0}if(a.isEnabled&&!y&&se!==null){for(a=ue,ee=se.changes,se=ee.count-1;se>=a;se--)y=ee.M(se),y!==null&&y.undo(),ee.ka(),ee.mb(se);ee.freeze()}return!1}It.lx=function(){if(!this.isUndoingRedoing&&this.canRedo()){var a=this.history;a.ka();for(var y=a.count-1;y>this.historyIndex;y--){var ee=a.M(y);ee!==null&&ee.clear(),a.mb(y),this.rq=!0}a.freeze()}},_i.prototype.canUndo=function(){if(!this.isEnabled||0<this.transactionLevel)return!1;var a=this.transactionToUndo;return!!(a!==null&&a.canUndo())},_i.prototype.undo=function(){if(this.canUndo()){var a=this.transactionToUndo;try{this.Fe=!0,this.Ob("StartingUndo","Undo",a),this.Ce--,a.undo()}catch(y){fr("undo error: "+y.toString())}finally{this.Ob("FinishedUndo","Undo",a),this.Fe=!1}}},_i.prototype.canRedo=function(){if(!this.isEnabled||0<this.transactionLevel)return!1;var a=this.transactionToRedo;return!!(a!==null&&a.canRedo())},_i.prototype.redo=function(){if(this.canRedo()){var a=this.transactionToRedo;try{this.Fe=!0,this.Ob("StartingRedo","Redo",a),this.Ce++,a.redo()}catch(y){fr("redo error: "+y.toString())}finally{this.Ob("FinishedRedo","Redo",a),this.Fe=!1}}},_i.prototype.Ob=function(a,y,ee){ee===void 0&&(ee=null);var ne=new Xr;for(ne.change=ei,ne.propertyName=a,ne.object=ee,ne.oldValue=y,a=this.models;a.next();)y=a.value,ne.model=y,y.ds(ne)},_i.prototype.Tu=function(a){if(this.isEnabled&&!this.isUndoingRedoing&&!this.skipsEvent(a)){var y=this.currentTransaction;y===null&&(this.Np=y=new Gr);var ee=a.copy();y=y.changes,y.ka(),y.add(ee),y.freeze(),this.checksTransactionLevel&&0>=this.transactionLevel&&!this.tt&&(a=a.diagram,a!==null&&a.pi===!1||fr("Change not within a transaction: "+ee.toString()))}},_i.prototype.skipsEvent=function(a){if(a===null||0>a.change.value)return!0;if(a=a.object,a===null)return!1;if(a.layer!==void 0){if(a=a.layer,a!==null&&a.isTemporary)return!0}else if(a.isTemporary)return!0;return!1},Re.Object.defineProperties(_i.prototype,{models:{get:function(){return this.Pt.iterator}},isEnabled:{get:function(){return this.Jd},set:function(a){this.Jd=a}},transactionToUndo:{get:function(){return 0<=this.historyIndex&&this.historyIndex<=this.history.count-1?this.history.M(this.historyIndex):null}},transactionToRedo:{get:function(){return this.historyIndex<this.history.count-1?this.history.M(this.historyIndex+1):null}},isUndoingRedoing:{get:function(){return this.Fe}},history:{get:function(){return this.u}},maxHistoryLength:{get:function(){return this.o},set:function(a){this.o=a}},historyIndex:{get:function(){return this.Ce}},currentTransaction:{get:function(){return this.Np}},transactionLevel:{get:function(){return this.bi}},isInTransaction:{get:function(){return 0<this.bi}},checksTransactionLevel:{get:function(){return this.j},set:function(a){this.j=a}},nestedTransactionNames:{get:function(){return this.Ie}},isPendingClear:{get:function(){return this.Ft},set:function(a){this.Ft=a}},isPendingUnmodified:{get:function(){return this.Gt},set:function(a){this.Gt=a}},isInternalTransaction:{get:function(){return this.Dt},set:function(a){this.Dt=a}},isJustDiscarded:{get:function(){return this.rq}}}),_i.prototype.handleChanged=_i.prototype.Tu,_i.prototype.redo=_i.prototype.redo,_i.prototype.undo=_i.prototype.undo,_i.prototype.canUndo=_i.prototype.canUndo,_i.prototype.discardHistoryAfterIndex=_i.prototype.lx,_i.prototype.rollbackTransaction=_i.prototype.Kf,_i.prototype.commitTransaction=_i.prototype.eb,_i.prototype.startTransaction=_i.prototype.Ea,_i.prototype.removeModel=_i.prototype.Rx,_i.prototype.addModel=_i.prototype.Xw,_i.prototype.clear=_i.prototype.clear,_i.className="UndoManager";function ki(){Ca(this),this.H=Qf,this.xa="",this.Jd=!0,this.nb=!1,this.wm=null,this.yy=new Ar,this.Zr=-1}ki.prototype.toString=function(){return this.name!==""?this.name+" Tool":gr(this.constructor)},ki.prototype.updateAdornments=function(){},ki.prototype.canStart=function(){return this.isEnabled},ki.prototype.doStart=function(){},ki.prototype.doActivate=function(){this.isActive=!0},ki.prototype.doDeactivate=function(){this.isActive=!1},ki.prototype.doStop=function(){},ki.prototype.doCancel=function(){this.transactionResult=null,this.stopTool()},ki.prototype.stopTool=function(){var a=this.diagram;a.currentTool===this&&(a.currentTool=null,a.currentCursor="")},ki.prototype.doMouseDown=function(){!this.isActive&&this.canStart()&&this.doActivate()},ki.prototype.doMouseMove=function(){},ki.prototype.doMouseUp=function(){this.stopTool()},ki.prototype.doMouseWheel=function(){},ki.prototype.canStartMultiTouch=function(){return!0},ki.prototype.standardPinchZoomStart=function(){var a=this.diagram,y=a.lastInput,ee=y.So(0,yn.allocAt(NaN,NaN)),ne=y.So(1,yn.allocAt(NaN,NaN));if(ee.w()&&ne.w()&&(this.doCancel(),a.Ql("hasGestureZoom"))){a.Bw=a.scale;var se=ne.x-ee.x,ue=ne.y-ee.y;a.Jw=Math.sqrt(se*se+ue*ue),y.bubbles=!1}yn.free(ee),yn.free(ne)},ki.prototype.standardPinchZoomMove=function(){var a=this.diagram,y=a.lastInput,ee=y.So(0,yn.allocAt(NaN,NaN)),ne=y.So(1,yn.allocAt(NaN,NaN));if(ee.w()&&ne.w()&&(this.doCancel(),a.Ql("hasGestureZoom"))){var se=ne.x-ee.x,ue=ne.y-ee.y;ue=Math.sqrt(se*se+ue*ue)/a.Jw,se=new yn((Math.min(ne.x,ee.x)+Math.max(ne.x,ee.x))/2,(Math.min(ne.y,ee.y)+Math.max(ne.y,ee.y))/2),ue*=a.Bw;var me=a.commandHandler;if(ue!==a.scale&&me.canResetZoom(ue)){var be=a.zoomPoint;a.zoomPoint=se,me.resetZoom(ue),a.zoomPoint=be}y.bubbles=!1}yn.free(ee),yn.free(ne)},ki.prototype.doKeyDown=function(){this.diagram.lastInput.key==="Esc"&&this.doCancel()},ki.prototype.doKeyUp=function(){},ki.prototype.Ea=function(a){return a===void 0&&(a=this.name),this.transactionResult=null,this.diagram.Ea(a)},ki.prototype.stopTransaction=function(){var a=this.diagram;return this.transactionResult===null?a.Kf():a.eb(this.transactionResult)},ki.prototype.standardMouseSelect=function(){var a=this.diagram;if(a.allowSelect){var y=a.lastInput,ee=a.Ol(y.documentPoint,!1);if(ee!==null){if(gi?y.meta:y.control){for(a.R("ChangingSelection",a.selection),y=ee;y!==null&&!y.canSelect();)y=y.containingGroup;y!==null&&(y.isSelected=!y.isSelected),a.R("ChangedSelection",a.selection)}else if(y.shift){if(!ee.isSelected){for(a.R("ChangingSelection",a.selection),y=ee;y!==null&&!y.canSelect();)y=y.containingGroup;y!==null&&(y.isSelected=!0),a.R("ChangedSelection",a.selection)}}else if(!ee.isSelected){for(y=ee;y!==null&&!y.canSelect();)y=y.containingGroup;y!==null&&a.select(y)}}else!y.left||(gi?y.meta:y.control)||y.shift||a.clearSelection()}},ki.prototype.standardMouseClick=function(a,y){a===void 0&&(a=null),y===void 0&&(y=function(se){return!se.layer.isTemporary});var ee=this.diagram,ne=ee.lastInput;return a=ee.ic(ne.documentPoint,a,y),ne.targetObject=a,Ko(a,ne,ee),ne.handled};function Ko(a,y,ee){if(y.handled=!1,a===null||a.If()){var ne=0;y.left?ne=y.clickCount===1?1:y.clickCount===2?2:1:y.right&&y.clickCount===1&&(ne=3);var se="ObjectSingleClicked";if(a!==null){switch(ne){case 1:se="ObjectSingleClicked";break;case 2:se="ObjectDoubleClicked";break;case 3:se="ObjectContextClicked"}ne!==0&&ee.R(se,a)}else{switch(ne){case 1:se="BackgroundSingleClicked";break;case 2:se="BackgroundDoubleClicked";break;case 3:se="BackgroundContextClicked"}ne!==0&&ee.R(se)}if(a!==null)for(;a!==null;){switch(ee=null,ne){case 1:ee=a.click;break;case 2:ee=a.doubleClick?a.doubleClick:a.click;break;case 3:ee=a.contextClick}if(ee!==null&&(ee(y,a),y.handled))break;a=a.panel}else{switch(a=null,ne){case 1:a=ee.click;break;case 2:a=ee.doubleClick?ee.doubleClick:ee.click;break;case 3:a=ee.contextClick}a!==null&&a(y)}}}ki.prototype.standardMouseOver=function(){var a=this.diagram,y=a.lastInput;if(a.animationManager.zb!==!0){var ee=a.skipsUndoManager;a.skipsUndoManager=!0;var ne=a.viewportBounds.ca(y.documentPoint)?a.ic(y.documentPoint,null,null):null;!y.event||y.event.type!=="pointercancel"&&y.event.type!=="pointerout"||(ne=null),y.targetObject=ne;var se=!1;if(ne!==a.Ck){var ue=a.Ck,me=ue;for(a.Ck=ne,this.doCurrentObjectChanged(ue,ne),y.handled=!1;ue!==null;){var be=ue.mouseLeave;if(be!==null&&(ne===ue||ne!==null&&ne.rg(ue)||(be(y,ue,ne),se=!0,y.handled)))break;ue=ue.panel}for(ue=me,y.handled=!1;ne!==null&&(me=ne.mouseEnter,!(me!==null&&(ue===ne||ue!==null&&ue.rg(ne)||(me(y,ne,ue),se=!0,y.handled))));)ne=ne.panel;ne=a.Ck}if(ne!==null){for(ue=ne,me="";ue!==null&&(me=ue.cursor,me==="");)ue=ue.panel;for(a.currentCursor=me,y.handled=!1,ue=ne;ue!==null&&(ne=ue.mouseOver,!(ne!==null&&(ne(y,ue),se=!0,y.handled)));)ue=ue.panel}else this.doUpdateCursor(null),ne=a.mouseOver,ne!==null&&(ne(y),se=!0);se&&a.$b(),a.skipsUndoManager=ee}},ki.prototype.doUpdateCursor=function(){var a=this.diagram;a&&(a.currentCursor="")},ki.prototype.doCurrentObjectChanged=function(){},ki.prototype.standardMouseWheel=function(){var a=this.diagram,y=a.lastInput,ee=y.delta;if(ee!==0&&a.documentBounds.w()){var ne=a.commandHandler,se=a.toolManager.mouseWheelBehavior;if(ne!==null&&(se===ba&&!y.shift||se===Vo&&y.control))(0<ee?ne.canIncreaseZoom():ne.canDecreaseZoom())&&(se=a.zoomPoint,a.zoomPoint=y.viewPoint,0<ee?ne.increaseZoom():ne.decreaseZoom(),a.zoomPoint=se),y.bubbles=!1;else if(se===ba&&y.shift||se===Vo&&!y.control){ne=a.position.copy();var ue=y.event;se=ue.deltaMode;var me=ue.deltaX;ue=ue.deltaY;var be="pixel";if(me===0&&ue===0||y.shift)!y.shift&&a.allowVerticalScroll?(ee=3*ee*a.scrollVerticalLineChange,a.scroll(be,0<ee?"up":"down",Math.abs(ee))):y.shift&&a.allowHorizontalScroll&&(ee=3*ee*a.scrollHorizontalLineChange,a.scroll(be,0<ee?"left":"right",Math.abs(ee)));else{switch(se){case 0:be="pixel";break;case 1:be="line";break;case 2:be="page"}me!==0&&a.allowHorizontalScroll&&(me*=a.scrollHorizontalLineChange/16,a.scroll(be,0<me?"right":"left",Math.abs(me))),ue!==0&&a.allowVerticalScroll&&(ue*=a.scrollVerticalLineChange/16,a.scroll(be,0<ue?"down":"up",Math.abs(ue)))}this.doWheelChange(a,ne,y)}}},ki.prototype.doWheelChange=function(a,y,ee){a.position.D(y)&&ee.event.wheelDeltaX===0||(ee.bubbles=!1)},ki.prototype.standardWaitAfter=function(a,y){y===void 0&&(y=this.diagram.lastInput),this.cancelWaitAfter();var ee=this,ne=y.clone(this.yy);this.Zr=Gn(function(){ee.doWaitAfter(ne)},a)},ki.prototype.cancelWaitAfter=function(){this.Zr!==-1&&Ct.clearTimeout(this.Zr),this.Zr=-1},ki.prototype.doWaitAfter=function(){},ki.prototype.findToolHandleAt=function(a,y){return a=this.diagram.ic(a,function(ee){for(;ee!==null&&!(ee.panel instanceof Cs);)ee=ee.panel;return ee}),a===null?null:a.part.category===y?a:null},ki.prototype.isBeyondDragSize=function(a,y){var ee=this.diagram;a===void 0&&(a=ee.firstInput.viewPoint),y===void 0&&(y=ee.lastInput.viewPoint);var ne=ee.toolManager.dragSize,se=ne.width;return ne=ne.height,ee.firstInput.isTouchEvent&&(se+=6,ne+=6),Math.abs(y.x-a.x)>se||Math.abs(y.y-a.y)>ne},Re.Object.defineProperties(ki.prototype,{diagram:{get:function(){return this.H},set:function(a){a instanceof Lr&&(this.H=a)}},name:{get:function(){return this.xa},set:function(a){this.xa=a}},isEnabled:{get:function(){return this.Jd},set:function(a){this.Jd=a}},isActive:{get:function(){return this.nb},set:function(a){this.nb=a}},transactionResult:{get:function(){return this.wm},set:function(a){this.wm=a}}}),ki.prototype.startTransaction=ki.prototype.Ea,ki.className="Tool";function Ei(){ki.call(this),this.name="ToolManager",this.hb=new Hr,this.ob=new Hr,this.Hb=new Hr,this.F=this.V=850,this.o=new Ii(2,2).ja(),this.Ha=5e3,this.ia=Vo,this.u=Pa,this.Mp=this.j=null,this.zj=-1}He(Ei,ki),Ei.prototype.initializeStandardTools=function(){},Ei.prototype.updateAdornments=function(a){var y=this.currentToolTip;if(y instanceof Cs&&this.Mp===a){var ee=y.adornedObject;(a!==null?ee.part===a:ee===null)?this.showToolTip(y,ee):this.hideToolTip()}},Ei.prototype.doMouseDown=function(){var a=this.diagram,y=a.lastInput;if(y.isTouchEvent&&this.gestureBehavior===Za&&(y.bubbles=!1),y.isMultiTouch){if(this.cancelWaitAfter(),this.gestureBehavior===Ga){y.bubbles=!0;return}if(this.gestureBehavior===Za)return;if(a.currentTool.canStartMultiTouch()){a.currentTool.standardPinchZoomStart();return}}for(var ee=this.mouseDownTools.length,ne=0;ne<ee;ne++){var se=this.mouseDownTools.M(ne);if(se.diagram=this.diagram,se.canStart()){a.doFocus(),a.currentTool=se,a.currentTool===se&&(se.isActive||se.doActivate(),se.doMouseDown());return}}a.lastInput.button===1&&(this.mouseWheelBehavior===Vo?this.mouseWheelBehavior=ba:this.mouseWheelBehavior===ba&&(this.mouseWheelBehavior=Vo)),this.doActivate(),this.standardWaitAfter(this.holdDelay,y)},Ei.prototype.doMouseMove=function(){var a=this.diagram,y=a.lastInput;if(y.isMultiTouch){if(this.gestureBehavior===Ga){y.bubbles=!0;return}if(this.gestureBehavior===Za)return;if(a.currentTool.canStartMultiTouch()){a.currentTool.standardPinchZoomMove();return}}if(this.isActive)for(var ee=this.mouseMoveTools.length,ne=0;ne<ee;ne++){var se=this.mouseMoveTools.M(ne);if(se.diagram=this.diagram,se.canStart()){a.doFocus(),a.currentTool=se,a.currentTool===se&&(se.isActive||se.doActivate(),se.doMouseMove());return}}so(this,a),a=y.event,a===null||a.type!=="pointermove"&&a.cancelable||(y.bubbles=!0)};function so(a,y){a.standardMouseOver(),a.isBeyondDragSize()&&a.standardWaitAfter(a.isActive?a.holdDelay:a.hoverDelay,y.lastInput)}Ei.prototype.doCurrentObjectChanged=function(a,y){a=this.currentToolTip,a===null||y!==null&&a instanceof Cs&&(y===a||y.rg(a))||this.hideToolTip()},Ei.prototype.doWaitAfter=function(a){var y=this.diagram;y.ta!==null&&(this.doMouseHover(),this.isActive||this.doToolTip(),a.isTouchEvent&&!y.lastInput.handled&&(a=a.copy(),a.button=2,a.buttons=2,y.lastInput=a,y.qu=!0,y.doMouseUp()))},Ei.prototype.doMouseHover=function(){var a=this.diagram,y=a.lastInput;y.targetObject===null&&(y.targetObject=a.ic(y.documentPoint,null,null));var ee=y.targetObject;if(ee!==null)for(y.handled=!1;ee!==null&&(a=this.isActive?ee.mouseHold:ee.mouseHover,!(a!==null&&(a(y,ee),y.handled)));)ee=ee.panel;else ee=this.isActive?a.mouseHold:a.mouseHover,ee!==null&&ee(y)},Ei.prototype.doToolTip=function(){var a=this.diagram,y=a.lastInput;if(y.targetObject===null&&(y.targetObject=a.ic(y.documentPoint,null,null)),y=y.targetObject,y!==null){if(a=this.currentToolTip,!(a instanceof Cs)||y!==a&&!y.rg(a)){for(;y!==null;){if(a=y.toolTip,a!==null){this.showToolTip(a,y);return}y=y.panel}this.hideToolTip()}}else y=a.toolTip,y!==null?this.showToolTip(y,null):this.hideToolTip()},Ei.prototype.showToolTip=function(a,y){var ee=this.diagram;if(a!==this.currentToolTip&&this.hideToolTip(),a instanceof Cs){a.layerName="Tool",a.selectable=!1,a.scale=1/ee.scale,a.category="ToolTip",a.placeholder!==null&&(a.placeholder.scale=ee.scale);var ne=a.diagram;ne!==null&&ne!==ee&&ne.remove(a),ee.add(a),y!==null?a.adornedObject=y:a.data=ee.model,a.Va(),this.positionToolTip(a,y)}else a instanceof la&&a!==this.currentToolTip&&a.show(y,ee,this);if(this.currentToolTip=a,this.zj!==-1&&(Ct.clearTimeout(this.zj),this.zj=-1),a=this.toolTipDuration,0<a&&a!==1/0){var se=this;this.zj=Gn(function(){se.hideToolTip()},a)}},Ei.prototype.positionToolTip=function(a){if(a.placeholder===null){var y=this.diagram,ee=y.lastInput.documentPoint.copy(),ne=a.measuredBounds,se=y.viewportBounds;y.lastInput.isTouchEvent&&(ee.x-=ne.width),ee.x+ne.width>se.right&&(ee.x-=ne.width+5/y.scale),ee.x<se.x&&(ee.x=se.x),ee.y=ee.y+20/y.scale+ne.height>se.bottom?ee.y-(ne.height+5/y.scale):ee.y+20/y.scale,ee.y<se.y&&(ee.y=se.y),a.position=ee}},Ei.prototype.hideToolTip=function(){this.zj!==-1&&(Ct.clearTimeout(this.zj),this.zj=-1);var a=this.diagram,y=this.currentToolTip;y!==null&&(y instanceof Cs?(a.remove(y),this.Mp!==null&&this.Mp.Jf(y.category),y.data=null,y.adornedObject=null):y instanceof la&&y.hide!==null&&y.hide(a,this),this.currentToolTip=null)},Ei.prototype.doMouseUp=function(){this.cancelWaitAfter();var a=this.diagram;if(this.isActive)for(var y=this.mouseUpTools.length,ee=0;ee<y;ee++){var ne=this.mouseUpTools.M(ee);if(ne.diagram=this.diagram,ne.canStart()){a.doFocus(),a.currentTool=ne,a.currentTool===ne&&(ne.isActive||ne.doActivate(),ne.doMouseUp());return}}a.doFocus(),this.doDeactivate()},Ei.prototype.doMouseWheel=function(){this.standardMouseWheel()},Ei.prototype.doKeyDown=function(){var a=this.diagram;a.commandHandler!==null&&a.commandHandler.doKeyDown()},Ei.prototype.doKeyUp=function(){var a=this.diagram;a.commandHandler!==null&&a.commandHandler.doKeyUp()},Ei.prototype.findTool=function(a){for(var y=this.mouseDownTools.length,ee=0;ee<y;ee++){var ne=this.mouseDownTools.M(ee);if(ne.name===a)return ne}for(y=this.mouseMoveTools.length,ee=0;ee<y;ee++)if(ne=this.mouseMoveTools.M(ee),ne.name===a)return ne;for(y=this.mouseUpTools.length,ee=0;ee<y;ee++)if(ne=this.mouseUpTools.M(ee),ne.name===a)return ne;return null},Ei.prototype.replaceTool=function(a,y){y!==null&&(y.diagram=this.diagram);for(var ee=this.mouseDownTools.length,ne=0;ne<ee;ne++){var se=this.mouseDownTools.M(ne);if(se.name===a)return y!==null?this.mouseDownTools.cd(ne,y):this.mouseDownTools.mb(ne),se}for(ee=this.mouseMoveTools.length,ne=0;ne<ee;ne++)if(se=this.mouseMoveTools.M(ne),se.name===a)return y!==null?this.mouseMoveTools.cd(ne,y):this.mouseMoveTools.mb(ne),se;for(ee=this.mouseUpTools.length,ne=0;ne<ee;ne++)if(se=this.mouseUpTools.M(ne),se.name===a)return y!==null?this.mouseUpTools.cd(ne,y):this.mouseUpTools.mb(ne),se;return null},Ei.prototype.gb=function(a,y,ee){y!==null&&(y.name=a,y.diagram=this.diagram),this.findTool(a)?this.replaceTool(a,y):y!==null&&ee.add(y)},Re.Object.defineProperties(Ei.prototype,{mouseWheelBehavior:{get:function(){return this.ia},set:function(a){this.ia=a}},gestureBehavior:{get:function(){return this.u},set:function(a){this.u=a}},currentToolTip:{get:function(){return this.j},set:function(a){this.j=a,this.Mp=a!==null&&a instanceof Cs?a.adornedPart:null}},mouseDownTools:{get:function(){return this.hb}},mouseMoveTools:{get:function(){return this.ob}},mouseUpTools:{get:function(){return this.Hb}},hoverDelay:{get:function(){return this.V},set:function(a){this.V=a}},holdDelay:{get:function(){return this.F},set:function(a){this.F=a}},dragSize:{get:function(){return this.o},set:function(a){this.o=a.J()}},toolTipDuration:{get:function(){return this.Ha},set:function(a){this.Ha=a}}}),Ei.prototype.replaceStandardTool=Ei.prototype.gb;var Vo=new nr(Ei,"WheelScroll",0),ba=new nr(Ei,"WheelZoom",1),ka=new nr(Ei,"WheelNone",2),Pa=new nr(Ei,"GestureZoom",3),Za=new nr(Ei,"GestureCancel",4),Ga=new nr(Ei,"GestureNone",5);Ei.className="ToolManager",Ei.WheelScroll=Vo,Ei.WheelZoom=ba,Ei.WheelNone=ka,Ei.GestureZoom=Pa,Ei.GestureCancel=Za,Ei.GestureNone=Ga;function Fo(){ki.call(this),this.name="Dragging",this.u=this.Sw=this.ob=!0,this.o=this.Ha=this.V=this.Oe=null,this.Ym=this.Hb=!1,this.tl=new yn(NaN,NaN),this.Fr=new yn,this.hb=!0,this.Ik=100,this.Cg=[],this.te=new Zr().freeze(),this.ia=new _e,this.Bn=null,this.F="copy",this.Oc="",this.Pc="no-drop"}var rl;He(Fo,ki),Fo.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;if(a.isReadOnly&&!a.allowDragOut||!a.allowMove&&!a.allowCopy&&!a.allowDragOut||!a.allowSelect)return!1;var y=a.lastInput;return!y.left||a.currentTool!==this&&(!this.isBeyondDragSize()||y.isTouchEvent&&y.timestamp-a.firstInput.timestamp<this.Ik)?!1:this.findDraggablePart()!==null},Fo.prototype.findDraggablePart=function(){var a=this.diagram;if(a=a.Ol(a.firstInput.documentPoint,!1),a===null)return null;for(;a!==null&&!a.canSelect();)a=a.containingGroup;return a!==null&&(a.canMove()||a.canCopy())?a:null},Fo.prototype.standardMouseSelect=function(){var a=this.diagram;if(a.allowSelect){var y=a.Ol(a.firstInput.documentPoint,!1);if(y!==null){for(;y!==null&&!y.canSelect();)y=y.containingGroup;this.currentPart=y,this.currentPart===null||this.currentPart.isSelected||(a.R("ChangingSelection",a.selection),y=a.lastInput,(gi?y.meta:y.control)||y.shift||a.clearSelection(!0),this.currentPart.isSelected=!0,a.R("ChangedSelection",a.selection))}}},Fo.prototype.doActivate=function(){var a=this.diagram;this.Bn=null,this.currentPart===null&&this.standardMouseSelect();var y=this.currentPart;y!==null&&(y.canMove()||y.canCopy())&&(a.Fu(!0),yr=null,this.isActive=!0,this.tl.set(a.position),Qs(this,a.selection),this.Cg.length=0,a.animationManager.Cc(),this.draggedParts=this.computeEffectiveCollection(a.selection,this.dragOptions),this.Sw=this.diagram.layout.isRealtime,this.diagram.layout.isRealtime=!1,a.Ns=!0,a.Gf("temporaryPixelRatio")===!0&&30<a.$w&&yh(a),j0(a,this.draggedParts),this.Ea("Drag"),this.startPoint=a.firstInput.documentPoint,a.isMouseCaptured=!0,a.allowDragOut&&(this.isDragOutStarted=!0,this.Ym=!1,yr=this,Rr=this.diagram,this.doSimulatedDragOut()))};function Qs(a,y){if(a.dragsLink){var ee=a.diagram;ee.allowRelink&&(ee.model.Wj()&&y.count===1&&y.first()instanceof Oi?(a.draggedLink=y.first(),a.draggedLink.canRelinkFrom()&&a.draggedLink.canRelinkTo()&&a.draggedLink.Ej(),a.Oe=ee.toolManager.findTool("Relinking"),a.Oe===null&&(a.Oe=new hi,a.Oe.diagram=ee),a.Oe.originalLink=a.draggedLink):(a.draggedLink=null,a.Oe=null))}}Fo.prototype.computeEffectiveCollection=function(a,y){return this.diagram.commandHandler.computeEffectiveCollection(a,y)},Fo.prototype.Pd=function(a){return a===void 0?new bf(ja):this.isGridSnapEnabled?new bf(new yn(Math.round(1e3*a.x)/1e3,Math.round(1e3*a.y)/1e3)):new bf(a.copy())},Fo.prototype.doDeactivate=function(){this.isActive=!1;var a=this.diagram;if(this.diagram.layout.isRealtime=this.Sw,a.Fu(!1),a.ug(),fs(this),rf(a,this.draggedParts),this.draggedParts=this.currentPart=this.Bn=null,this.Ym=this.isDragOutStarted=!1,0<rl.count){for(var y=rl,ee=y.length,ne=0;ne<ee;ne++){var se=y.M(ne);mu(se),Rl(se),fs(se),se.diagram.ug()}y.clear()}mu(this),this.tl.h(NaN,NaN),Rr!==null&&(Rr.currentCursor=""),yr=Rr=null,Rl(this),a.isMouseCaptured=!1,a.currentCursor="",a.Ns=!1,this.stopTransaction(),Jf(a,!0)},Fo.prototype.stopTransaction=function(){var a=this.diagram,y=ki.prototype.stopTransaction.call(this);return y&&a.undoManager.transactionToUndo!==null&&a.undoManager.transactionToUndo.ak(),y};function fs(a){var y=a.diagram,ee=y.skipsUndoManager;y.skipsUndoManager=!0,Vl(a,y.lastInput,null),y.skipsUndoManager=ee,a.Cg.length=0}function _l(){var a=yr;Rl(a),ll(a);var y=a.diagram;a.tl.w()&&(y.position=a.tl),y.ug()}Fo.prototype.doCancel=function(){Rl(this),ll(this);var a=this.diagram;this.tl.w()&&(a.position=this.tl),this.stopTool()},Fo.prototype.doKeyDown=function(){var a=this.diagram,y=a.lastInput;this.isActive&&(y.key==="Esc"?this.doCancel():y.key!==a.previousInput.key&&this.doMouseMove())},Fo.prototype.doKeyUp=function(){this.isActive&&this.doMouseMove()};function zl(a,y){if(a.copiedParts===null){var ee=a.diagram;if((!y||!ee.isReadOnly&&!ee.isModelReadOnly)&&a.draggedParts!==null){var ne=ee.undoManager;for(ne.isEnabled&&ne.isInTransaction?ne.currentTransaction!==null&&0<ne.currentTransaction.changes.count&&(ee.undoManager.Kf(),ee.Ea("Drag")):ll(a),ee.skipsUndoManager=!y,ee.partManager.addsToTemporaryLayer=!y,a.startPoint=ee.firstInput.documentPoint,y=a.copiesEffectiveCollection?a.draggedParts.Lf():ee.selection,y=ee.Kj(y,ee,!0),ee=new Ji,ne=a.draggedParts.iterator;ne.next();){var se=ne.key;if(se.Zc()&&se.canCopy()){var ue=y.I(se);ue!==null&&(ue.location=se.location,ue.Va(),ee.add(ue,a.Pd(ue.location)))}}for(y=y.iterator;y.next();)ne=y.value,ne instanceof Oi&&ne.canCopy()&&ee.add(ne,a.Pd());a.copiedParts=ee,Qs(a,ee.Lf()),a.draggedLink!==null&&(ee=a.draggedLink,y=ee.routeBounds,Ud(ee,a.startPoint.x-(y.x+y.width/2),a.startPoint.y-(y.y+y.height/2))),a.doUpdateCursor(null)}}}function Rl(a){var y=a.diagram;if(a.copiedParts!==null){if(y.Is(a.copiedParts.Lf(),!1),a.copiedParts=null,a.draggedParts!==null)for(var ee=a.draggedParts.iterator;ee.next();)ee.key instanceof Oi&&(ee.value.point=new yn(0,0));a.doUpdateCursor(null)}y.skipsUndoManager=!1,y.partManager.addsToTemporaryLayer=!1,a.startPoint=y.firstInput.documentPoint}function mu(a){if(a.draggedLink!==null){if(a.dragsLink&&a.Oe!==null){var y=a.Oe;y.diagram.remove(y.temporaryFromNode),y.diagram.remove(y.temporaryToNode),a.Oe.originalLink=null}a.draggedLink=null,a.Oe=null}}function Tl(a,y,ee){var ne=a.diagram,se=a.startPoint,ue=yn.alloc();ue.assign(ne.lastInput.documentPoint),a.moveParts(y,ue.re(se),ee),yn.free(ue),ne.Gf("temporaryPixelRatio")===!0&&ne.Yh===null&&30<ne.$w&&(yh(ne),ne.hk())}Fo.prototype.moveParts=function(a,y,ee){ee===void 0&&(ee=!1);var ne=this.diagram;ne!==null&&Sf(ne,a,y,this.dragOptions,ee)};function ll(a){if(a.draggedParts!==null){for(var y=a.diagram,ee=a.draggedParts.iterator;ee.next();){var ne=ee.key;ne.Zc()&&(ne.location=ee.value.point)}for(ee=a.draggedParts.iterator;ee.next();)if(ne=ee.key,ne instanceof Oi&&ne.suspendsRouting){var se=ee.value.point;a.draggedParts.add(ne,a.Pd()),Ud(ne,-se.x,-se.y)}y.bd()}}function jl(a,y){var ee=a.diagram;a.dragsLink&&(a.draggedLink!==null&&(a.draggedLink.fromNode=null,a.draggedLink.toNode=null),bl(a,!1));var ne=a.findDragOverObject(y),se=ee.lastInput;se.targetObject=ne,a.doUpdateCursor(ne);var ue=ee.skipsUndoManager,me=!1;try{if(ee.skipsUndoManager=!0,me=Vl(a,se,ne),!a.isActive&&yr===null)return;var be=ne!==null?ne.part:null;if(be===null||ee.handlesDragDropForTopLevelParts&&be.isTopLevel&&!(be instanceof Ma)){var Fe=ee.mouseDragOver;Fe!==null&&(Fe(se),me=!0)}if(!a.isActive&&yr===null||(a.doDragOver(y,ne),!a.isActive&&yr===null))return}finally{ee.skipsUndoManager=ue,me&&ee.bd()}a.Bn=ne,ee.isReadOnly||!ee.allowMove&&!ee.allowCopy||!ee.allowHorizontalScroll&&!ee.allowVerticalScroll||ee.gs(se.viewPoint)}Fo.prototype.findDragOverObject=function(a){var y=this;return _d(this.diagram,a,null,function(ee){return ee===null?ee=!0:(ee=ee.part,ee=!!(ee===null||ee instanceof Cs||ee.layer.isTemporary||y.draggedParts&&y.draggedParts.contains(ee)||y.copiedParts&&y.copiedParts.contains(ee))),!ee})},Fo.prototype.doUpdateCursor=function(a){var y=this.diagram;(a===null||this.Bn!==a)&&(!this.diagram.currentTool.isActive||this.mayCopy()?y.currentCursor=this.copyCursor:this.mayMove()?y.currentCursor=this.moveCursor:this.mayDragOut()&&(y.currentCursor=this.nodropCursor))};function Vl(a,y,ee){var ne=!1,se=a.Cg.length,ue=0<se?a.Cg[0]:null;if(ee===ue)return!1;y.handled=!1;for(var me=0;me<se;me++){var be=a.Cg[me],Fe=be.mouseDragLeave;if(Fe!==null&&(Fe(y,be,ee),ne=!0,y.handled))break}if(a.Cg.length=0,!a.isActive&&yr===null||ee===null)return ne;for(y.handled=!1,se=ee;se!==null;)a.Cg.push(se),se=yu(se);for(se=a.Cg.length,ee=0;ee<se&&(me=a.Cg[ee],be=me.mouseDragEnter,be===null||(be(y,me,ue),ne=!0,!y.handled));ee++);return ne}function yu(a){var y=a.panel;return y!==null?y:a instanceof _o&&!(a instanceof Ma)&&(a=a.containingGroup,a!==null&&a.handlesDragDropForMembers)?a:null}function Yl(a,y,ee){var ne=a.Oe;if(ne===null)return null;var se=a.diagram.og(y,ne.portGravity,function(Ye){return ne.findValidLinkablePort(Ye,ee)});a=yn.alloc();var ue=1/0,me=null;for(se=se.iterator;se.next();){var be=se.value;if(be.part!==null){var Fe=be.ga(us,a);Fe=y.Bf(Fe),Fe<ue&&(me=be,ue=Fe)}}return yn.free(a),me}function bl(a,y){var ee=a.draggedLink;if(ee!==null&&!(2>ee.pointsCount)){var ne=a.diagram;if(!ne.isReadOnly){var se=a.Oe;if(se!==null){var ue=null,me=null;ee.fromNode===null&&(ue=Yl(a,ee.i(0),!1),ue!==null&&(me=ue.part));var be=null,Fe=null;ee.toNode===null&&(be=Yl(a,ee.i(ee.pointsCount-1),!0),be!==null&&(Fe=be.part)),se.isValidLink(me,ue,Fe,be)?y?(ee.defaultFromPoint=ee.i(0),ee.defaultToPoint=ee.i(ee.pointsCount-1),ee.suspendsRouting=!1,ee.fromNode=me,ue!==null&&(ee.fromPortId=ue.portId),ee.toNode=Fe,be!==null&&(ee.toPortId=be.portId),ee.fromPort!==ne.Mx&&ne.R("LinkRelinked",ee,ne.Mx),ee.toPort!==ne.Nx&&ne.R("LinkRelinked",ee,ne.Nx)):Go(se,me,ue,Fe,be):Go(se,null,null,null,null)}}}}Fo.prototype.doDragOver=function(){};function _u(a,y){var ee=a.diagram;a.dragsLink&&bl(a,!0),fs(a);var ne=a.findDragOverObject(y),se=ee.lastInput;if(se.targetObject=ne,ne!==null){se.handled=!1;for(var ue=ne;ue!==null;){var me=ue.mouseDrop;if(me!==null&&(me(se,ue),se.handled))break;Hu(a,se,ue),ue=yu(ue)}}else ue=ee.mouseDrop,ue!==null&&ue(se);if(a.isActive||yr!==null){for(se=(a.copiedParts||a.draggedParts).iterator;se.next();)ue=se.key,ue instanceof Yi&&ue.linksConnected.each(function(be){be.suspendsRouting=!1});if(a.doDropOnto(y,ne),a.isActive||yr!==null){for(a=Ur.alloc(),y=ee.selection.iterator;y.next();)ne=y.value,ne instanceof Yi&&Pn(ee,ne,a);Ur.free(a)}}}function Hu(a,y,ee){a=a.diagram,ee=ee.part,!a.handlesDragDropForTopLevelParts||!ee.isTopLevel||ee instanceof Ma||(ee=a.mouseDrop,ee!==null&&ee(y))}function Pn(a,y,ee){var ne=!1;if(ee=y.getAvoidableRect(ee),a.viewportBounds.Re(ee)&&(ne=!0),a=a.Nu(ee,function(se){return se.part},function(se){return se instanceof Oi},!0,function(se){return se instanceof Oi},ne),a.count!==0)for(a=a.iterator;a.next();)ee=a.value,!ee.Td(y)&&ee.isAvoiding&&ee.bb()}Fo.prototype.doDropOnto=function(){},Fo.prototype.doMouseMove=function(){if(this.isActive){var a=this.diagram,y=a.lastInput;this.simulatedMouseMove(y.event,y.documentPoint,y.targetDiagram)||this.currentPart===null||this.draggedParts===null||(this.mayCopy()?(zl(this,!1),j0(a,this.copiedParts),Tl(this,this.copiedParts,!1),rf(a,this.copiedParts)):this.mayMove()?(Rl(this),Tl(this,this.draggedParts,!0)):this.mayDragOut()?(zl(this,!1),Tl(this,this.copiedParts,!1)):Rl(this),jl(this,a.lastInput.documentPoint))}},Fo.prototype.doMouseUp=function(){if(this.isActive){var a=this.diagram,y=a.lastInput;if(!this.simulatedMouseUp(y.event,y.documentPoint,y.targetDiagram)){y=!1;var ee=this.mayCopy();if(ee&&this.copiedParts!==null?(Rl(this),zl(this,!0),j0(a,this.copiedParts),Tl(this,this.copiedParts,!1),rf(a,this.copiedParts),this.copiedParts!==null&&(a.R("ChangingSelection",a.selection),a.clearSelection(!0),this.copiedParts.iteratorKeys.each(function(se){se.isSelected=!0}))):(y=!0,Rl(this),this.mayMove()&&(Tl(this,this.draggedParts,!0),jl(this,a.lastInput.documentPoint))),this.Ym=!0,_u(this,a.lastInput.documentPoint),this.isActive){var ne=ee?this.copiedParts.Lf():this.draggedParts.Lf();this.copiedParts=null,y&&Tn(this),a.Ya(),rf(a,this.draggedParts),this.transactionResult=ee?"Copy":"Move",a.R(ee?"SelectionCopied":"SelectionMoved",ne)}this.stopTool(),ee&&a.R("ChangedSelection",a.selection)}}},Fo.prototype.simulatedMouseMove=function(a,y,ee){if(yr===null)return!1;var ne=yr.diagram;ee instanceof Lr||(ee=null);var se=Rr;return ee!==se&&(se!==null&&se!==ne&&(se.ug(),yr.isDragOutStarted=!1,se=se.toolManager.findTool("Dragging"),se!==null&&se.doSimulatedDragLeave()),Rr=ee,ee!==null&&ee!==ne&&(_l(),se=ee.toolManager.findTool("Dragging"),se!==null&&(rl.contains(se)||rl.add(se),se.doSimulatedDragEnter())),this.doUpdateCursor(null)),ee===null||ee===ne||!ee.allowDrop||ee.isReadOnly||!ee.allowInsert?!1:(ne=ee.toolManager.findTool("Dragging"),ne!==null&&(a!==null&&(a.targetTouches!==void 0&&(0<a.targetTouches.length?a=a.targetTouches[0]:0<a.changedTouches.length&&(a=a.changedTouches[0])),y=ee.getMouse(a)),ee.lastInput.documentPoint=y,ee.lastInput.viewPoint=ee.op(y),ee.lastInput.down=!1,ee.lastInput.up=!1,ne.doSimulatedDragOver()),!0)},Fo.prototype.simulatedMouseUp=function(a,y,ee){if(yr===null)return!1;var ne=Rr,se=yr.diagram;if(ee===null)return yr.doCancel(),!0;if(ee!==ne){var ue=ne.toolManager.findTool("Dragging");if(ne!==null&&ne!==se&&ue!==null)return ne.ug(),yr.isDragOutStarted=!1,ue.doSimulatedDragLeave(),!1;Rr=ee,ne=ee.toolManager.findTool("Dragging"),ne!==null&&(_l(),rl.contains(ne)||rl.add(ne),ne.doSimulatedDragEnter())}return ee!==this.diagram?(a!==null?(a.targetTouches!==void 0&&(0<a.targetTouches.length?a=a.targetTouches[0]:0<a.changedTouches.length&&(a=a.changedTouches[0])),y=ee.getMouse(a)):y===null&&(y=new yn),ee.lastInput.documentPoint=y,ee.lastInput.viewPoint=ee.op(y),ee.lastInput.down=!1,ee.lastInput.up=!0,a=ee.toolManager.findTool("Dragging"),a!==null&&a.doSimulatedDrop(),a=yr,a!==null&&(ee=a.mayCopy(),a.transactionResult=ee?"Copy":"Move",a.stopTool()),!0):!1};function Tn(a){if(a.draggedParts!==null)for(var y=a.draggedParts.iterator;y.next();){var ee=y.key;ee instanceof Yi&&(ee=ee.containingGroup,ee===null||ee.placeholder===null||a.draggedParts.contains(ee)||ee.placeholder.v())}}Fo.prototype.mayCopy=function(){if(!this.isCopyEnabled)return!1;var a=this.diagram;if(a.isReadOnly||a.isModelReadOnly||!a.allowInsert||!a.allowCopy||(gi?!a.lastInput.alt:!a.lastInput.control))return!1;for(a=a.selection.iterator;a.next();)if(a.value.canCopy())return!0;return!!(this.draggedLink!==null&&this.dragsLink&&this.draggedLink.canCopy())},Fo.prototype.mayDragOut=function(){if(!this.isCopyEnabled)return!1;var a=this.diagram;if(!a.allowDragOut||!a.allowCopy||a.allowMove)return!1;for(a=a.selection.iterator;a.next();)if(a.value.canCopy())return!0;return!!(this.draggedLink!==null&&this.dragsLink&&this.draggedLink.canCopy())},Fo.prototype.mayMove=function(){var a=this.diagram;if(a.isReadOnly||!a.allowMove)return!1;for(a=a.selection.iterator;a.next();)if(a.value.canMove())return!0;return!!(this.draggedLink!==null&&this.dragsLink&&this.draggedLink.canMove())},Fo.prototype.computeBorder=function(a,y,ee){return this.Ym||this.draggedParts===null||this.draggedParts.contains(a)?null:ee.assign(y)},Fo.prototype.Az=function(){return yr},Fo.prototype.mayDragIn=function(){var a=this.diagram;if(!a.allowDrop||a.isReadOnly||a.isModelReadOnly||!a.allowInsert)return!1;var y=yr;return!(y===null||y.diagram.model.dataFormat!==a.model.dataFormat)},Fo.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.diagram;a.animationManager.Cc(),Fh(a),a.animationManager.Cc(),a=yr,a!==null&&(a.diagram.Ns=!1),this.doUpdateCursor(null)}},Fo.prototype.doSimulatedDragLeave=function(){var a=yr;a!==null&&a.doSimulatedDragOut(),this.doCancel()},Fo.prototype.doSimulatedDragOver=function(){var a=this.diagram;a.animationManager.Dm=!0;var y=yr;if(y!==null&&y.draggedParts!==null){if(!this.mayDragIn())return;cr(this,y.draggedParts.Lf(),!1,a.firstInput),Tl(this,this.copiedParts,!1),jl(this,a.lastInput.documentPoint)}a.animationManager.Dm=!1},Fo.prototype.doSimulatedDrop=function(){var a=this.diagram,y=yr;if(y!==null){var ee=y.diagram;if(y.Ym=!0,Rl(this),!this.mayDragIn())return;a.animationManager.Dm=!0,a.R("ChangingSelection",a.selection),this.Ea("Drop"),cr(this,y.draggedParts.Lf(),!0,a.lastInput),Tl(this,this.copiedParts,!1);var ne=new Zr;this.copiedParts!==null&&(a.clearSelection(!0),this.copiedParts.iteratorKeys.each(function(se){se.isSelected=!0,ne.add(se)})),_u(this,a.lastInput.documentPoint),a.Ya(),this.copiedParts!==null&&(this.transactionResult="ExternalCopy"),this.copiedParts=null,a.doFocus(),a.R("ExternalObjectsDropped",ne,ee),this.stopTransaction(),a.R("ChangedSelection",a.selection)}a.animationManager.Dm=!1};function cr(a,y,ee,ne){if(a.copiedParts===null){var se=a.diagram;if(!se.isReadOnly&&!se.isModelReadOnly){se.skipsUndoManager=!ee,se.partManager.addsToTemporaryLayer=!ee,a.startPoint=ne.documentPoint,ee=se.Kj(y,se,!0);var ue=Ur.alloc();se=ne=1/0;for(var me=-1/0,be=-1/0,Fe=y.iterator;Fe.next();){var Ye=Fe.value;if(Ye.isVisible()){var Je=Ye.location;Ye=Je.x,Je=Je.y,isNaN(Ye)||isNaN(Je)||(Ye<ne&&(ne=Ye),Je<se&&(se=Je),Ye>me&&(me=Ye),Je>be&&(be=Je))}}for(ne===1/0?ue.h(0,0,0,0):ue.h(ne,se,me-ne,be-se),ne=ue.x+ue.width/2,se=ue.y+ue.height/2,Ur.free(ue),ue=a.Fr,me=new Ji,be=yn.alloc(),Fe=y.iterator;Fe.next();)Ye=Fe.value,Ye instanceof Oi&&Ye.canCopy()&&(Je=ee.I(Ye),Je!==null&&(Je.points=Ye.points,Ud(Je,ue.x-ne,ue.y-se),Je.suspendsRouting=!0,me.add(Je,a.Pd())));for(y=y.iterator;y.next();)Ye=y.value,Ye.Zc()&&Ye.canCopy()&&(Fe=ee.I(Ye),Fe!==null&&(Ye=Ye.location,be.h(ue.x-(ne-Ye.x),ue.y-(se-Ye.y)),Fe.location=be,Fe.Va(),me.add(Fe,a.Pd(be))));yn.free(be),a.copiedParts=me,Qs(a,me.Lf()),a.draggedLink!==null&&(ee=a.draggedLink,y=ee.routeBounds,Ud(ee,a.startPoint.x-(y.x+y.width/2),a.startPoint.y-(y.y+y.height/2))),a.doUpdateCursor(null)}}}Fo.prototype.doSimulatedDragOut=function(){var a=this.diagram;a.Ns=!1,this.mayCopy()||this.mayMove()?a.currentCursor="":a.currentCursor=this.nodropCursor,this.Bn=null},Fo.prototype.computeMove=function(a,y,ee,ne){return ee=this.diagram,ee!==null?ee.computeMove(a,y,this.dragOptions,ne):new yn},Re.Object.defineProperties(Fo.prototype,{isCopyEnabled:{get:function(){return this.ob},set:function(a){this.ob=a}},copiesEffectiveCollection:{get:function(){return this.u},set:function(a){this.u=a}},dragOptions:{get:function(){return this.ia},set:function(a){this.ia=a}},isGridSnapEnabled:{get:function(){return this.dragOptions.isGridSnapEnabled},set:function(a){this.dragOptions.isGridSnapEnabled=a}},isComplexRoutingRealtime:{get:function(){return this.hb},set:function(a){this.hb=a}},isGridSnapRealtime:{get:function(){return this.dragOptions.isGridSnapRealtime},set:function(a){this.dragOptions.isGridSnapRealtime=a}},gridSnapCellSize:{get:function(){return this.dragOptions.gridSnapCellSize},set:function(a){this.dragOptions.gridSnapCellSize.D(a)||(a=a.J(),this.dragOptions.gridSnapCellSize=a)}},gridSnapCellSpot:{get:function(){return this.dragOptions.gridSnapCellSpot},set:function(a){this.dragOptions.gridSnapCellSpot.D(a)||(a=a.J(),this.dragOptions.gridSnapCellSpot=a)}},gridSnapOrigin:{get:function(){return this.dragOptions.gridSnapOrigin},set:function(a){this.dragOptions.gridSnapOrigin.D(a)||(a=a.J(),this.dragOptions.gridSnapOrigin=a)}},dragsLink:{get:function(){return this.dragOptions.dragsLink},set:function(a){this.dragOptions.dragsLink=a}},dragsTree:{get:function(){return this.dragOptions.dragsTree},set:function(a){this.dragOptions.dragsTree=a}},copyCursor:{get:function(){return this.F},set:function(a){this.F=a}},moveCursor:{get:function(){return this.Oc},set:function(a){this.Oc=a}},nodropCursor:{get:function(){return this.Pc},set:function(a){this.Pc=a}},currentPart:{get:function(){return this.V},set:function(a){this.V=a}},copiedParts:{get:function(){return this.o},set:function(a){this.o=a}},draggedParts:{get:function(){return this.Ha},set:function(a){this.Ha=a}},draggingParts:{get:function(){return this.copiedParts!==null?this.copiedParts.Lf():this.draggedParts!==null?this.draggedParts.Lf():this.te}},draggedLink:{get:function(){return this.diagram.draggedLink},set:function(a){this.diagram.draggedLink=a}},isDragOutStarted:{get:function(){return this.Hb},set:function(a){this.Hb=a}},startPoint:{get:function(){return this.Fr},set:function(a){this.Fr.D(a)||this.Fr.assign(a)}},delay:{get:function(){return this.Ik},set:function(a){this.Ik=a}}}),Fo.prototype.getDraggingSource=Fo.prototype.Az;var yr=null,Rr=null;Fo.className="DraggingTool",rl=new Hr,Hn("draggingTool",function(){return this.findTool("Dragging")},function(a){this.gb("Dragging",a,this.mouseMoveTools)}),Ei.prototype.doCancel=function(){yr!==null&&yr.doCancel(),ki.prototype.doCancel.call(this)};function Dr(){ki.call(this),this.te=100,this.Ha=!1,this.u="pointer";var a=new Oi,y=new Ua;y.isPanelMain=!0,y.stroke="blue",a.add(y),y=new Ua,y.toArrow="Standard",y.fill="blue",y.stroke="blue",a.add(y),a.layerName="Tool",this.Ci=a,a=new Yi,y=new Ua,y.portId="",y.figure="Rectangle",y.fill=null,y.stroke="magenta",y.strokeWidth=2,y.desiredSize=sl,a.add(y),a.selectable=!1,a.layerName="Tool",this.Bi=a,this.j=y,a=new Yi,y=new Ua,y.portId="",y.figure="Rectangle",y.fill=null,y.stroke="magenta",y.strokeWidth=2,y.desiredSize=sl,a.add(y),a.selectable=!1,a.layerName="Tool",this.Di=a,this.o=y,this.Pc=this.Oc=this.ob=this.hb=this.Hb=null,this.ia=!0,this.hy=new Ji,this.Of=this.gj=this.Pf=null}He(Dr,ki),Dr.prototype.doStop=function(){this.diagram.ug(),this.originalToPort=this.originalToNode=this.originalFromPort=this.originalFromNode=this.originalLink=null,this.validPortsCache.clear(),this.targetPort=null},Dr.prototype.copyPortProperties=function(a,y,ee,ne,se){if(a!==null&&y!==null&&ee!==null&&ne!==null){var ue=y.Df(),me=Ii.alloc();me.width=y.naturalBounds.width*ue,me.height=y.naturalBounds.height*ue,ne.desiredSize=me,Ii.free(me),se?(ne.toSpot=y.toSpot,ne.toEndSegmentLength=y.toEndSegmentLength):(ne.fromSpot=y.fromSpot,ne.fromEndSegmentLength=y.fromEndSegmentLength),ee.locationSpot=us,ue=yn.alloc(),ee.location=y.ga(us,ue),yn.free(ue),ne.angle=y.li(),this.portTargeted!==null&&this.portTargeted(a,y,ee,ne,se)}},Dr.prototype.setNoTargetPortProperties=function(a,y,ee){y!==null&&(y.desiredSize=sl,y.fromSpot=uu,y.toSpot=uu),a!==null&&(a.location=this.diagram.lastInput.documentPoint),this.portTargeted!==null&&this.portTargeted(null,null,a,y,ee)},Dr.prototype.doMouseDown=function(){this.isActive&&this.doMouseMove()},Dr.prototype.doMouseMove=function(){if(this.isActive){var a=this.diagram;if(this.targetPort=this.findTargetPort(this.isForwards),this.targetPort!==null&&this.targetPort.part instanceof Yi){var y=this.targetPort.part;this.isForwards?this.copyPortProperties(y,this.targetPort,this.temporaryToNode,this.temporaryToPort,!0):this.copyPortProperties(y,this.targetPort,this.temporaryFromNode,this.temporaryFromPort,!1)}else this.isForwards?this.setNoTargetPortProperties(this.temporaryToNode,this.temporaryToPort,!0):this.setNoTargetPortProperties(this.temporaryFromNode,this.temporaryFromPort,!1);(a.allowHorizontalScroll||a.allowVerticalScroll)&&a.gs(a.lastInput.viewPoint)}},Dr.prototype.findValidLinkablePort=function(a,y){if(a===null)return null;var ee=a.part;if(!(ee instanceof Yi))return null;for(;a!==null;){var ne=y?a.toLinkable:a.fromLinkable;if(ne===!0&&(a.portId!==null||a instanceof Yi)&&(y?this.isValidTo(ee,a):this.isValidFrom(ee,a)))return a;if(ne===!1)break;a=a.panel}return null},Dr.prototype.findTargetPort=function(a){var y=this.diagram,ee=y.lastInput.documentPoint,ne=this.portGravity;0>=ne&&(ne=.1);var se=this,ue=y.og(ee,ne,function(st){return se.findValidLinkablePort(st,a)},null,!0);for(ne=1/0,y=null,ue=ue.iterator;ue.next();){var me=ue.value,be=me.part;if(be instanceof Yi){var Fe=me.ga(us,yn.alloc()),Ye=ee.x-Fe.x,Je=ee.y-Fe.y;yn.free(Fe),Fe=Ye*Ye+Je*Je,Fe<ne&&(Ye=this.validPortsCache.I(me),Ye!==null?Ye&&(y=me,ne=Fe):a&&this.isValidLink(this.originalFromNode,this.originalFromPort,be,me)||!a&&this.isValidLink(be,me,this.originalToNode,this.originalToPort)?(this.validPortsCache.add(me,!0),y=me,ne=Fe):this.validPortsCache.add(me,!1))}}return y!==null&&(ee=y.part,ee instanceof Yi&&(ee.layer===null||ee.layer.allowLink))?y:null},Dr.prototype.isValidFrom=function(a,y){if(a===null||y===null)return this.isUnconnectedLinkValid;if(this.diagram.currentTool===this&&(a.layer!==null&&!a.layer.allowLink||y.fromLinkable!==!0))return!1;var ee=y.fromMaxLinks;if(1/0>ee){if(this.originalLink!==null&&a===this.originalFromNode&&y===this.originalFromPort)return!0;if(y=y.portId,y===null&&(y=""),a.Mo(y).count>=ee)return!1}return!0},Dr.prototype.isValidTo=function(a,y){if(a===null||y===null)return this.isUnconnectedLinkValid;if(this.diagram.currentTool===this&&(a.layer!==null&&!a.layer.allowLink||y.toLinkable!==!0))return!1;var ee=y.toMaxLinks;if(1/0>ee){if(this.originalLink!==null&&a===this.originalToNode&&y===this.originalToPort)return!0;if(y=y.portId,y===null&&(y=""),a.Sd(y).count>=ee)return!1}return!0},Dr.prototype.isInSameNode=function(a,y){return a===null||y===null?!1:a===y?!0:(a=a.part,y=y.part,a!==null&&a===y)},Dr.prototype.isLinked=function(a,y){if(a===null||y===null)return!1;var ee=a.part;if(!(ee instanceof Yi))return!1;a=a.portId,a===null&&(a="");var ne=y.part;if(!(ne instanceof Yi))return!1;for(y=y.portId,y===null&&(y=""),y=ne.Sd(y);y.next();)if(ne=y.value,ne.fromNode===ee&&ne.fromPortId===a)return!0;return!1},Dr.prototype.isValidLink=function(a,y,ee,ne){if(!this.isValidFrom(a,y)||!this.isValidTo(ee,ne)||!(y===null||ne===null||(y.fromLinkableSelfNode&&ne.toLinkableSelfNode||!this.isInSameNode(y,ne))&&(y.fromLinkableDuplicates&&ne.toLinkableDuplicates||!this.isLinked(y,ne)))||this.originalLink!==null&&(a!==null&&this.isLabelDependentOnLink(a,this.originalLink)||ee!==null&&this.isLabelDependentOnLink(ee,this.originalLink))||a!==null&&ee!==null&&(a.data===null&&ee.data!==null||a.data!==null&&ee.data===null)||!this.isValidCycle(a,ee,this.originalLink))return!1;if(a!==null){var se=a.linkValidation;if(se!==null&&!se(a,y,ee,ne,this.originalLink))return!1}return ee!==null&&(se=ee.linkValidation,se!==null&&!se(a,y,ee,ne,this.originalLink))?!1:(se=this.linkValidation,se!==null?se(a,y,ee,ne,this.originalLink):!0)},Dr.prototype.isLabelDependentOnLink=function(a,y){if(a===null)return!1;var ee=a.labeledLink;if(ee===null)return!1;if(ee===y)return!0;var ne=new Zr;return ne.add(a),si(this,ee,y,ne)};function si(a,y,ee,ne){if(y===ee)return!0;var se=y.fromNode;return se!==null&&se.isLinkLabel&&(ne.add(se),si(a,se.labeledLink,ee,ne))?!0:(y=y.toNode,!!(y!==null&&y.isLinkLabel&&(ne.add(y),si(a,y.labeledLink,ee,ne))))}Dr.prototype.isValidCycle=function(a,y,ee){if(ee===void 0&&(ee=null),a===null||y===null)return this.isUnconnectedLinkValid;var ne=this.diagram.validCycle;if(ne!==f1){if(ne===p1){if(ne=ee||this.temporaryLink,ne!==null&&!ne.isTreeLink)return!0;for(ne=y.linksConnected;ne.next();){var se=ne.value;if(se!==ee&&se.isTreeLink&&se.toNode===y)return!1}return!oi(this,a,y,ee,!0)}if(ne===ay){if(ne=ee||this.temporaryLink,ne!==null&&!ne.isTreeLink)return!0;for(ne=a.linksConnected;ne.next();)if(se=ne.value,se!==ee&&se.isTreeLink&&se.fromNode===a)return!1;return!oi(this,a,y,ee,!0)}if(ne===vc)return a===y?a=!0:(ne=new Zr,ne.add(y),a=ti(this,ne,a,y,ee)),!a;if(ne===g1)return!oi(this,a,y,ee,!1);if(ne===U0)return a===y?a=!0:(ne=new Zr,ne.add(y),a=Ni(this,ne,a,y,ee)),!a}return!0};function oi(a,y,ee,ne,se){if(y===ee)return!0;if(y===null||ee===null)return!1;for(var ue=y.linksConnected;ue.next();){var me=ue.value;if(me!==ne&&(!se||me.isTreeLink)&&me.toNode===y&&(me=me.fromNode,me!==y&&oi(a,me,ee,ne,se)))return!0}return!1}function ti(a,y,ee,ne,se){if(ee===ne)return!0;if(ee===null||ne===null||y.contains(ee))return!1;y.add(ee);for(var ue=ee.linksConnected;ue.next();){var me=ue.value;if(me!==se&&me.toNode===ee&&(me=me.fromNode,me!==ee&&ti(a,y,me,ne,se)))return!0}return!1}function Ni(a,y,ee,ne,se){if(ee===ne)return!0;if(ee===null||ne===null||y.contains(ee))return!1;y.add(ee);for(var ue=ee.linksConnected;ue.next();){var me=ue.value;if(me!==se){var be=me.fromNode;if(me=me.toNode,be=be===ee?me:be,be!==ee&&Ni(a,y,be,ne,se))return!0}}return!1}Re.Object.defineProperties(Dr.prototype,{portGravity:{get:function(){return this.te},set:function(a){0<=a&&(this.te=a)}},isUnconnectedLinkValid:{get:function(){return this.Ha},set:function(a){this.Ha=a}},linkingCursor:{get:function(){return this.u},set:function(a){this.u=a}},temporaryLink:{get:function(){return this.Ci},set:function(a){this.Ci=a}},temporaryFromNode:{get:function(){return this.Bi},set:function(a){(this.Bi=a)&&(this.j=a.port)}},temporaryFromPort:{get:function(){return this.j},set:function(a){if(this.j!==null){var y=this.j.panel;if(y!==null){var ee=y.O.indexOf(this.j);y.mb(ee),y.Gb(ee,a)}}this.j=a}},temporaryToNode:{get:function(){return this.Di},set:function(a){(this.Di=a)&&(this.o=a.port)}},temporaryToPort:{get:function(){return this.o},set:function(a){if(this.o!==null){var y=this.o.panel;if(y!==null){var ee=y.O.indexOf(this.o);y.mb(ee),y.Gb(ee,a)}}this.o=a}},originalLink:{get:function(){return this.Hb},set:function(a){this.Hb=a}},originalFromNode:{get:function(){return this.hb},set:function(a){this.hb=a}},originalFromPort:{get:function(){return this.ob},set:function(a){this.ob=a}},originalToNode:{get:function(){return this.Oc},set:function(a){this.Oc=a}},originalToPort:{get:function(){return this.Pc},set:function(a){this.Pc=a}},isForwards:{get:function(){return this.ia},set:function(a){this.ia=a}},validPortsCache:{get:function(){return this.hy}},targetPort:{get:function(){return this.Pf},set:function(a){this.Pf=a}},linkValidation:{get:function(){return this.gj},set:function(a){this.gj=a}},portTargeted:{get:function(){return this.Of},set:function(a){this.Of=a}}}),Dr.className="LinkingBaseTool";function pi(){Dr.call(this),this.name="Linking",this.V={},this.F=null,this.K=Di,this.Xd=null}He(pi,Dr),pi.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;return a.isReadOnly||a.isModelReadOnly||!a.allowLink||!a.model.xs()||!a.lastInput.left||a.currentTool!==this&&!this.isBeyondDragSize()?!1:this.findLinkablePort()!==null},pi.prototype.findLinkablePort=function(){var a=this.diagram,y=this.startObject;if(y===null&&(y=a.ic(a.firstInput.documentPoint,null,null)),y===null||(a=y.part,!(a instanceof Yi)))return null;var ee=this.direction;if(ee===Di||ee===vo){var ne=this.findValidLinkablePort(y,!1);if(ne!==null||this.startObject===a&&(ne=a.port,this.findValidLinkablePort(ne,!1)))return this.isForwards=!0,ne}return(ee===Di||ee===ho)&&(y=this.findValidLinkablePort(y,!0),y!==null||this.startObject===a&&(y=a.port,this.findValidLinkablePort(y,!0)))?(this.isForwards=!1,y):null},pi.prototype.doActivate=function(){var a=this.diagram,y=this.findLinkablePort();y===null?this.stopTool():(this.Ea(this.name),a.isMouseCaptured=!0,a.currentCursor=this.linkingCursor,this.isForwards?(this.temporaryToNode!==null&&(this.temporaryToNode.location=a.lastInput.documentPoint),this.originalFromPort=y,y=this.originalFromPort.part,y instanceof Yi&&(this.originalFromNode=y),this.copyPortProperties(this.originalFromNode,this.originalFromPort,this.temporaryFromNode,this.temporaryFromPort,!1)):(this.temporaryFromNode!==null&&(this.temporaryFromNode.location=a.lastInput.documentPoint),this.originalToPort=y,y=this.originalToPort.part,y instanceof Yi&&(this.originalToNode=y),this.copyPortProperties(this.originalToNode,this.originalToPort,this.temporaryToNode,this.temporaryToPort,!0)),a.add(this.temporaryFromNode),this.temporaryFromNode&&this.temporaryFromNode.Va(),a.add(this.temporaryToNode),this.temporaryToNode&&this.temporaryToNode.Va(),this.temporaryLink!==null&&(this.temporaryFromNode!==null&&(this.temporaryLink.fromNode=this.temporaryFromNode),this.temporaryToNode!==null&&(this.temporaryLink.toNode=this.temporaryToNode),this.temporaryLink.isTreeLink=this.isNewTreeLink(),this.temporaryLink.bb(),a.add(this.temporaryLink)),this.isActive=!0)},pi.prototype.doDeactivate=function(){this.isActive=!1;var a=this.diagram;a.remove(this.temporaryLink),a.remove(this.temporaryFromNode),a.remove(this.temporaryToNode),a.isMouseCaptured=!1,a.currentCursor="",this.stopTransaction()},pi.prototype.doStop=function(){Dr.prototype.doStop.call(this),this.startObject=null},pi.prototype.doMouseUp=function(){if(this.isActive){var a=this.diagram,y=this.transactionResult=null,ee=null,ne=null,se=null,ue=null;try{var me=this.targetPort=this.findTargetPort(this.isForwards);if(me!==null){var be=me.part;be instanceof Yi&&(this.isForwards?(this.originalFromNode!==null&&(y=this.originalFromNode,ee=this.originalFromPort),ne=be,se=me):(y=be,ee=me,this.originalToNode!==null&&(ne=this.originalToNode,se=this.originalToPort)))}else this.isForwards?this.originalFromNode!==null&&this.isUnconnectedLinkValid&&(y=this.originalFromNode,ee=this.originalFromPort):this.originalToNode!==null&&this.isUnconnectedLinkValid&&(ne=this.originalToNode,se=this.originalToPort);y!==null||ne!==null?(ue=this.insertLink(y,ee,ne,se),ue!==null?(me===null&&(this.isForwards?ue.defaultToPoint=a.lastInput.documentPoint:ue.defaultFromPoint=a.lastInput.documentPoint),a.allowSelect&&(a.R("ChangingSelection",a.selection),a.clearSelection(!0),ue.isSelected=!0),this.transactionResult=this.name,a.R("LinkDrawn",ue)):this.doNoLink(y,ee,ne,se)):this.isForwards?this.doNoLink(this.originalFromNode,this.originalFromPort,null,null):this.doNoLink(null,null,this.originalToNode,this.originalToPort)}finally{this.stopTool(),ue&&a.allowSelect&&a.R("ChangedSelection",a.selection)}}},pi.prototype.isNewTreeLink=function(){var a=this.archetypeLinkData;if(a===null)return!0;if(a instanceof Oi)return a.isTreeLink;var y=this.diagram;return y===null?!0:(a=y.partManager.getLinkCategoryForData(a),y=y.partManager.findLinkTemplateForCategory(a),y!==null?y.isTreeLink:!0)},pi.prototype.insertLink=function(a,y,ee,ne){return this.diagram.partManager.insertLink(a,y,ee,ne)},pi.prototype.doNoLink=function(){},Re.Object.defineProperties(pi.prototype,{archetypeLinkData:{get:function(){return this.V},set:function(a){this.V=a}},archetypeLabelNodeData:{get:function(){return this.F},set:function(a){this.F=a}},direction:{get:function(){return this.K},set:function(a){this.K=a}},startObject:{get:function(){return this.Xd},set:function(a){this.Xd=a}}});var Di=new nr(pi,"Either",0),vo=new nr(pi,"ForwardsOnly",0),ho=new nr(pi,"BackwardsOnly",0);pi.className="LinkingTool",pi.Either=Di,pi.ForwardsOnly=vo,pi.BackwardsOnly=ho;function hi(){Dr.call(this),this.name="Relinking";var a=new Ua;a.figure="Diamond",a.desiredSize=Ki,a.fill="lightblue",a.stroke="dodgerblue",a.cursor=this.linkingCursor,a.segmentIndex=0,this.V=a,a=new Ua,a.figure="Diamond",a.desiredSize=Ki,a.fill="lightblue",a.stroke="dodgerblue",a.cursor=this.linkingCursor,a.segmentIndex=-1,this.Xd=a,this.F=null,this.Ew=new Ur}He(hi,Dr),hi.prototype.updateAdornments=function(a){if(a!==null&&a instanceof Oi){var y="RelinkFrom",ee=null;if(a.isSelected&&!this.diagram.isReadOnly){var ne=a.selectionObject;ne!==null&&a.canRelinkFrom()&&a.actualBounds.w()&&a.isVisible()&&ne.actualBounds.w()&&ne.Ed()&&(ee=a.Pj(y),ee===null&&(ee=this.makeAdornment(ne,!1),a.bh(y,ee)))}ee===null&&a.Jf(y),y="RelinkTo",ee=null,a.isSelected&&!this.diagram.isReadOnly&&(ne=a.selectionObject,ne!==null&&a.canRelinkTo()&&a.actualBounds.w()&&a.isVisible()&&ne.actualBounds.w()&&ne.Ed()&&(ee=a.Pj(y),ee===null?(ee=this.makeAdornment(ne,!0),a.bh(y,ee)):ee.v())),ee===null&&a.Jf(y)}},hi.prototype.makeAdornment=function(a,y){var ee=new Cs;return ee.type=bi.Link,y=y?this.toHandleArchetype:this.fromHandleArchetype,y!==null&&ee.add(y.copy()),ee.adornedObject=a,ee},hi.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;if(a.isReadOnly||a.isModelReadOnly||!a.allowRelink||!a.model.xs()||!a.lastInput.left)return!1;var y=this.findToolHandleAt(a.firstInput.documentPoint,"RelinkFrom");return y===null&&(y=this.findToolHandleAt(a.firstInput.documentPoint,"RelinkTo")),y!==null},hi.prototype.doActivate=function(){var a=this.diagram;if(this.originalLink===null){var y=this.handle;if(y===null&&(y=this.findToolHandleAt(a.firstInput.documentPoint,"RelinkFrom"),y===null&&(y=this.findToolHandleAt(a.firstInput.documentPoint,"RelinkTo"))),y===null)return;var ee=y.part;if(!(ee instanceof Cs&&ee.adornedPart instanceof Oi))return;this.handle=y,this.isForwards=ee===null||ee.category==="RelinkTo",this.originalLink=ee.adornedPart}this.Ea(this.name),a.isMouseCaptured=!0,a.currentCursor=this.linkingCursor,this.originalFromPort=this.originalLink.fromPort,this.originalFromNode=this.originalLink.fromNode,this.originalToPort=this.originalLink.toPort,this.originalToNode=this.originalLink.toNode,this.Ew.set(this.originalLink.actualBounds),this.originalLink!==null&&0<this.originalLink.pointsCount&&(this.originalLink.fromNode===null&&(this.temporaryFromPort!==null&&(this.temporaryFromPort.desiredSize=Gs),this.temporaryFromNode!==null&&(this.temporaryFromNode.location=this.originalLink.i(0))),this.originalLink.toNode===null&&(this.temporaryToPort!==null&&(this.temporaryToPort.desiredSize=Gs),this.temporaryToNode!==null&&(this.temporaryToNode.location=this.originalLink.i(this.originalLink.pointsCount-1)))),this.copyPortProperties(this.originalFromNode,this.originalFromPort,this.temporaryFromNode,this.temporaryFromPort,!1),this.copyPortProperties(this.originalToNode,this.originalToPort,this.temporaryToNode,this.temporaryToPort,!0),a.add(this.temporaryFromNode),a.add(this.temporaryToNode),this.temporaryLink!==null&&(this.temporaryFromNode!==null&&(this.temporaryLink.fromNode=this.temporaryFromNode),this.temporaryToNode!==null&&(this.temporaryLink.toNode=this.temporaryToNode),this.copyLinkProperties(this.originalLink,this.temporaryLink),this.temporaryLink.bb(),a.add(this.temporaryLink)),this.isActive=!0},hi.prototype.copyLinkProperties=function(a,y){if(a!==null&&y!==null){y.adjusting=a.adjusting,y.corner=a.corner;var ee=a.curve;(ee===$x||ee===Nv)&&(ee=wh),y.curve=ee,y.curviness=a.curviness,y.isTreeLink=a.isTreeLink,y.points=a.points,y.routing=a.routing,y.smoothness=a.smoothness,y.fromSpot=a.fromSpot,y.fromEndSegmentLength=a.fromEndSegmentLength,y.fromShortLength=a.fromShortLength,y.toSpot=a.toSpot,y.toEndSegmentLength=a.toEndSegmentLength,y.toShortLength=a.toShortLength}},hi.prototype.doDeactivate=function(){this.isActive=!1;var a=this.diagram;a.remove(this.temporaryLink),a.remove(this.temporaryFromNode),a.remove(this.temporaryToNode),a.isMouseCaptured=!1,a.currentCursor="",this.stopTransaction()},hi.prototype.doStop=function(){Dr.prototype.doStop.call(this),this.handle=null},hi.prototype.doMouseUp=function(){if(this.isActive){var a=this.diagram;this.transactionResult=null;var y=this.originalFromNode,ee=this.originalFromPort,ne=this.originalToNode,se=this.originalToPort,ue=this.originalLink;try{if(this.targetPort=this.findTargetPort(this.isForwards),this.targetPort!==null){var me=this.targetPort.part;me instanceof Yi&&(this.isForwards?(ne=me,se=this.targetPort):(y=me,ee=this.targetPort))}else this.isUnconnectedLinkValid?this.isForwards?se=ne=null:ee=y=null:ue=null;ue!==null?(this.reconnectLink(ue,this.isForwards?ne:y,this.isForwards?se:ee,this.isForwards),this.targetPort===null&&(this.isForwards?ue.defaultToPoint=a.lastInput.documentPoint:ue.defaultFromPoint=a.lastInput.documentPoint,ue.bb()),this.transactionResult=this.name,a.R("LinkRelinked",ue,this.isForwards?this.originalToPort:this.originalFromPort)):this.doNoRelink(this.originalLink,this.isForwards),this.originalLink.Xo(this.Ew)}finally{this.stopTool()}}},hi.prototype.reconnectLink=function(a,y,ee,ne){return ee=ee!==null&&ee.portId!==null?ee.portId:"",ne?(a.toNode=y,a.toPortId=ee):(a.fromNode=y,a.fromPortId=ee),!0},hi.prototype.doNoRelink=function(){};function Go(a,y,ee,ne,se){y!==null?(a.copyPortProperties(y,ee,a.temporaryFromNode,a.temporaryFromPort,!1),a.diagram.add(a.temporaryFromNode)):a.diagram.remove(a.temporaryFromNode),ne!==null?(a.copyPortProperties(ne,se,a.temporaryToNode,a.temporaryToPort,!0),a.diagram.add(a.temporaryToNode)):a.diagram.remove(a.temporaryToNode)}Re.Object.defineProperties(hi.prototype,{fromHandleArchetype:{get:function(){return this.V},set:function(a){this.V=a}},toHandleArchetype:{get:function(){return this.Xd},set:function(a){this.Xd=a}},handle:{get:function(){return this.F},set:function(a){if(a!==null&&!(a.part instanceof Cs))throw Error("new handle is not in an Adornment: "+a);this.F=a}}}),hi.className="RelinkingTool",Hn("linkingTool",function(){return this.findTool("Linking")},function(a){this.gb("Linking",a,this.mouseMoveTools)}),Hn("relinkingTool",function(){return this.findTool("Relinking")},function(a){this.gb("Relinking",a,this.mouseDownTools)});function ro(){ki.call(this),this.name="LinkReshaping";var a=new Ua;a.figure="Rectangle",a.desiredSize=ql,a.fill="lightblue",a.stroke="dodgerblue",this.o=a,a=new Ua,a.figure="Diamond",a.desiredSize=Ki,a.fill="lightblue",a.stroke="dodgerblue",a.cursor="move",this.u=a,this.F=3,this.Ts=this.j=null,this.Fw=new yn,this.Yq=new Hr}He(ro,ki),ro.prototype.Ru=function(a){return a&&a.reshapingBehavior.value!==0?a.reshapingBehavior:qo},ro.prototype.om=function(a,y){a.reshapingBehavior=y},ro.prototype.updateAdornments=function(a){if(a!==null&&a instanceof Oi){var y=null;if(a.isSelected&&!this.diagram.isReadOnly){var ee=a.path;ee!==null&&a.canReshape()&&a.actualBounds.w()&&a.isVisible()&&ee.actualBounds.w()&&ee.Ed()&&(y=a.Pj(this.name),y===null||y.Aw!==a.pointsCount||y.Uw!==a.resegmentable)&&(y=this.makeAdornment(ee),y!==null&&(y.Aw=a.pointsCount,y.Uw=a.resegmentable,a.bh(this.name,y)))}y===null&&a.Jf(this.name)}},ro.prototype.makeAdornment=function(a){var y=a.part,ee=y.pointsCount,ne=y.isOrthogonal,se=null;if(y.points!==null&&1<ee){se=new Cs,se.type=bi.Link,ee=y.firstPickIndex;var ue=y.lastPickIndex,me=ne?1:0;if(y.resegmentable&&y.computeCurve()!==If)for(var be=ee+me;be<ue-me;be++){var Fe=this.makeResegmentHandle(a,be);Fe!==null&&(Fe.segmentIndex=be,Fe.segmentFraction=.5,Fe.fromMaxLinks=999,se.add(Fe))}for(me=ee+1;me<ue;me++)if(be=this.makeHandle(a,me),be!==null){if(be.segmentIndex=me,me!==ee)if(me===ee+1&&ne){Fe=y.i(ee);var Ye=y.i(ee+1);dr.B(Fe.x,Ye.x)&&dr.B(Fe.y,Ye.y)&&(Ye=y.i(ee-1)),dr.B(Fe.x,Ye.x)?(this.om(be,$a),be.cursor="n-resize"):dr.B(Fe.y,Ye.y)&&(this.om(be,na),be.cursor="w-resize")}else me===ue-1&&ne?(Fe=y.i(ue-1),Ye=y.i(ue),dr.B(Fe.x,Ye.x)&&dr.B(Fe.y,Ye.y)&&(Fe=y.i(ue+1)),dr.B(Fe.x,Ye.x)?(this.om(be,$a),be.cursor="n-resize"):dr.B(Fe.y,Ye.y)&&(this.om(be,na),be.cursor="w-resize")):me!==ue&&(this.om(be,cs),be.cursor="move");se.add(be)}se.adornedObject=a}return se},ro.prototype.makeHandle=function(){var a=this.handleArchetype;return a===null?null:a.copy()},ro.prototype.makeResegmentHandle=function(){var a=this.midHandleArchetype;return a===null?null:a.copy()},ro.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;return!a.isReadOnly&&a.allowReshape&&a.lastInput.left?this.findToolHandleAt(a.firstInput.documentPoint,this.name)!==null:!1},ro.prototype.doActivate=function(){var a=this.diagram;if(this.handle===null&&(this.handle=this.findToolHandleAt(a.firstInput.documentPoint,this.name)),this.handle!==null){var y=this.handle.part.adornedPart;if(y instanceof Oi){if(this.Ts=y,a.isMouseCaptured=!0,this.Ea(this.name),y.resegmentable&&this.handle.fromMaxLinks===999){var ee=y.points.copy(),ne=this.getResegmentingPoint();if(ee.Gb(this.handle.segmentIndex+1,ne),y.isOrthogonal&&ee.Gb(this.handle.segmentIndex+1,ne),y.points=ee,y.Wb(),y.updateAdornments(),this.handle=this.findToolHandleAt(a.firstInput.documentPoint,this.name),this.handle===null){this.doDeactivate();return}}this.Fw=y.i(this.handle.segmentIndex),this.Yq=y.points.copy(),this.isActive=!0}}},ro.prototype.doDeactivate=function(){this.stopTransaction(),this.Ts=this.handle=null,this.isActive=this.diagram.isMouseCaptured=!1},ro.prototype.stopTransaction=function(){var a=this.diagram,y=ki.prototype.stopTransaction.call(this);return y&&a.undoManager.transactionToUndo!==null&&a.undoManager.transactionToUndo.ak(),y},ro.prototype.doCancel=function(){var a=this.adornedLink;a!==null&&(a.points=this.Yq),this.stopTool()},ro.prototype.getResegmentingPoint=function(){return this.handle.ga(us)},ro.prototype.doMouseMove=function(){var a=this.diagram;this.isActive&&(a=this.computeReshape(a.lastInput.documentPoint),this.reshape(a))},ro.prototype.doMouseUp=function(){var a=this.diagram;if(this.isActive){var y=this.computeReshape(a.lastInput.documentPoint);if(this.reshape(y),y=this.adornedLink,y!==null&&y.resegmentable){var ee=this.handle.segmentIndex,ne=y.i(ee-1),se=y.i(ee),ue=y.i(ee+1);if(y.isOrthogonal){if(ee>y.firstPickIndex+1&&ee<y.lastPickIndex-1){var me=y.i(ee-2);if(Math.abs(ne.x-se.x)<this.resegmentingDistance&&Math.abs(ne.y-se.y)<this.resegmentingDistance&&(sa(this,me,ne,se,ue,!0)||sa(this,me,ne,se,ue,!1))){var be=y.points.copy();sa(this,me,ne,se,ue,!0)?(be.cd(ee-2,new yn(me.x,(ue.y+me.y)/2)),be.cd(ee+1,new yn(ue.x,(ue.y+me.y)/2))):(be.cd(ee-2,new yn((ue.x+me.x)/2,me.y)),be.cd(ee+1,new yn((ue.x+me.x)/2,ue.y))),be.mb(ee),be.mb(ee-1),y.points=be,y.Wb()}else me=y.i(ee+2),Math.abs(se.x-ue.x)<this.resegmentingDistance&&Math.abs(se.y-ue.y)<this.resegmentingDistance&&(sa(this,ne,se,ue,me,!0)||sa(this,ne,se,ue,me,!1))&&(be=y.points.copy(),sa(this,ne,se,ue,me,!0)?(be.cd(ee-1,new yn(ne.x,(ne.y+me.y)/2)),be.cd(ee+2,new yn(me.x,(ne.y+me.y)/2))):(be.cd(ee-1,new yn((ne.x+me.x)/2,ne.y)),be.cd(ee+2,new yn((ne.x+me.x)/2,me.y))),be.mb(ee+1),be.mb(ee),y.points=be,y.Wb())}}else me=yn.alloc(),dr.qh(ne.x,ne.y,ue.x,ue.y,se.x,se.y,me)&&me.Bf(se)<this.resegmentingDistance*this.resegmentingDistance&&(ne=y.points.copy(),ne.mb(ee),y.points=ne,y.Wb()),yn.free(me)}a.Ya(),this.transactionResult=this.name,a.R("LinkReshaped",this.adornedLink,this.Yq)}this.stopTool()};function sa(a,y,ee,ne,se,ue){return ue?Math.abs(y.y-ee.y)<a.resegmentingDistance&&Math.abs(ee.y-ne.y)<a.resegmentingDistance&&Math.abs(ne.y-se.y)<a.resegmentingDistance:Math.abs(y.x-ee.x)<a.resegmentingDistance&&Math.abs(ee.x-ne.x)<a.resegmentingDistance&&Math.abs(ne.x-se.x)<a.resegmentingDistance}ro.prototype.reshape=function(a){var y=this.adornedLink;y.uh();var ee=this.handle.segmentIndex,ne=this.Ru(this.handle);if(y.isOrthogonal)if(ee===y.firstPickIndex+1)ee=y.firstPickIndex+1,ne===$a?(y.L(ee,y.i(ee-1).x,a.y),y.L(ee+1,y.i(ee+2).x,a.y)):ne===na&&(y.L(ee,a.x,y.i(ee-1).y),y.L(ee+1,a.x,y.i(ee+2).y));else if(ee===y.lastPickIndex-1)ee=y.lastPickIndex-1,ne===$a?(y.L(ee-1,y.i(ee-2).x,a.y),y.L(ee,y.i(ee+1).x,a.y)):ne===na&&(y.L(ee-1,a.x,y.i(ee-2).y),y.L(ee,a.x,y.i(ee+1).y));else{ne=ee;var se=y.i(ne),ue=y.i(ne-1),me=y.i(ne+1);dr.B(ue.x,se.x)&&dr.B(se.y,me.y)?(dr.B(ue.x,y.i(ne-2).x)&&!dr.B(ue.y,y.i(ne-2).y)?(y.m(ne,a.x,ue.y),ee++,ne++):y.L(ne-1,a.x,ue.y),dr.B(me.y,y.i(ne+2).y)&&!dr.B(me.x,y.i(ne+2).x)?y.m(ne+1,me.x,a.y):y.L(ne+1,me.x,a.y)):dr.B(ue.y,se.y)&&dr.B(se.x,me.x)?(dr.B(ue.y,y.i(ne-2).y)&&!dr.B(ue.x,y.i(ne-2).x)?(y.m(ne,ue.x,a.y),ee++,ne++):y.L(ne-1,ue.x,a.y),dr.B(me.x,y.i(ne+2).x)&&!dr.B(me.y,y.i(ne+2).y)?y.m(ne+1,a.x,me.y):y.L(ne+1,a.x,me.y)):dr.B(ue.x,se.x)&&dr.B(se.x,me.x)?(dr.B(ue.x,y.i(ne-2).x)&&!dr.B(ue.y,y.i(ne-2).y)?(y.m(ne,a.x,ue.y),ee++,ne++):y.L(ne-1,a.x,ue.y),dr.B(me.x,y.i(ne+2).x)&&!dr.B(me.y,y.i(ne+2).y)?y.m(ne+1,a.x,me.y):y.L(ne+1,a.x,me.y)):dr.B(ue.y,se.y)&&dr.B(se.y,me.y)&&(dr.B(ue.y,y.i(ne-2).y)&&!dr.B(ue.x,y.i(ne-2).x)?(y.m(ne,ue.x,a.y),ee++,ne++):y.L(ne-1,ue.x,a.y),dr.B(me.y,y.i(ne+2).y)&&!dr.B(me.x,y.i(ne+2).x)?y.m(ne+1,me.x,a.y):y.L(ne+1,me.x,a.y)),y.L(ee,a.x,a.y)}else y.L(ee,a.x,a.y),ne=y.fromNode,se=y.fromPort,ne!==null&&(ue=ne.findVisibleNode(),ue!==null&&ue!==ne&&(ne=ue,se=ne.port)),ee===1&&y.computeSpot(!0,se).Mc()&&(ue=se.ga(us,yn.alloc()),ne=y.getLinkPointFromPoint(ne,se,ue,a,!0,yn.alloc()),y.L(0,ne.x,ne.y),yn.free(ue),yn.free(ne)),ne=y.toNode,se=y.toPort,ne!==null&&(ue=ne.findVisibleNode(),ue!==null&&ue!==ne&&(ne=ue,se=ne.port)),ee===y.pointsCount-2&&y.computeSpot(!1,se).Mc()&&(ee=se.ga(us,yn.alloc()),a=y.getLinkPointFromPoint(ne,se,ee,a,!1,yn.alloc()),y.L(y.pointsCount-1,a.x,a.y),yn.free(ee),yn.free(a));y.zf()},ro.prototype.computeReshape=function(a){var y=this.adornedLink,ee=this.handle.segmentIndex;switch(this.Ru(this.handle)){case cs:return a;case $a:return new yn(y.i(ee).x,a.y);case na:return new yn(a.x,y.i(ee).y);default:case qo:return y.i(ee)}},Re.Object.defineProperties(ro.prototype,{handleArchetype:{get:function(){return this.o},set:function(a){this.o=a}},midHandleArchetype:{get:function(){return this.u},set:function(a){this.u=a}},handle:{get:function(){return this.j},set:function(a){if(a!==null&&!(a.part instanceof Cs))throw Error("new handle is not in an Adornment: "+a);this.j=a}},adornedLink:{get:function(){return this.Ts}},resegmentingDistance:{get:function(){return this.F},set:function(a){this.F=a}},originalPoint:{get:function(){return this.Fw}},originalPoints:{get:function(){return this.Yq}}}),ro.prototype.setReshapingBehavior=ro.prototype.om,ro.prototype.getReshapingBehavior=ro.prototype.Ru;var qo=new nr(ro,"None",0),na=new nr(ro,"Horizontal",1),$a=new nr(ro,"Vertical",2),cs=new nr(ro,"All",3);ro.className="LinkReshapingTool",ro.None=qo,ro.Horizontal=na,ro.Vertical=$a,ro.All=cs,Hn("linkReshapingTool",function(){return this.findTool("LinkReshaping")},function(a){this.gb("LinkReshaping",a,this.mouseDownTools)});function ya(){ki.call(this),this.name="Resizing",this.o=new Ii(1,1).freeze(),this.j=new Ii(9999,9999).freeze(),this.yg=new Ii(NaN,NaN).freeze(),this.V=!1,this.ia=!0,this.ue=null;var a=new Ua;a.alignmentFocus=us,a.figure="Rectangle",a.desiredSize=ql,a.fill="lightblue",a.stroke="dodgerblue",a.strokeWidth=1,a.cursor="pointer",this.F=a,this.u=null,this.Xq=new yn,this.Dw=new Ii,this.Tn=new yn,this.rt=new Ii(0,0),this.qt=new Ii(1/0,1/0),this.pt=new Ii(1,1)}He(ya,ki),ya.prototype.updateAdornments=function(a){if(!(a===null||a instanceof Oi)){if(a.isSelected&&!this.diagram.isReadOnly){var y=a.resizeObject,ee=a.Pj(this.name);if(y!==null&&a.canResize()&&a.actualBounds.w()&&a.isVisible()&&y.actualBounds.w()&&y.Ed()&&((ee===null||ee.adornedObject!==y)&&(ee=this.makeAdornment(y)),ee!==null)){y=y.li(),Rp(a)&&this.updateResizeHandles(ee,y),a.bh(this.name,ee);return}}a.Jf(this.name)}},ya.prototype.makeAdornment=function(a){var y=a.part.resizeAdornmentTemplate;if(y===null){y=new Cs,y.type=bi.Spot,y.locationSpot=us;var ee=new zh;ee.isPanelMain=!0,y.add(ee),y.add(this.makeHandle(a,Ya)),y.add(this.makeHandle(a,Zh)),y.add(this.makeHandle(a,Pc)),y.add(this.makeHandle(a,nh)),y.add(this.makeHandle(a,cu)),y.add(this.makeHandle(a,Du)),y.add(this.makeHandle(a,Fu)),y.add(this.makeHandle(a,wu))}else if(Cg(y),y=y.copy(),y===null)return null;return y.adornedObject=a,y},ya.prototype.makeHandle=function(a,y){return a=this.handleArchetype,a===null?null:(a=a.copy(),a.alignment=y,a)},ya.prototype.updateResizeHandles=function(a,y){if(a!==null){if(!a.alignment.Xb()&&(a.cursor==="pointer"||0<a.cursor.indexOf("resize")))e:{var ee=a.alignment;if(ee.Mc()&&(ee=us),0>=ee.x)y=0>=ee.y?y+225:1<=ee.y?y+135:y+180;else if(1<=ee.x)0>=ee.y?y+=315:1<=ee.y&&(y+=45);else if(0>=ee.y)y+=270;else if(1<=ee.y)y+=90;else break e;0>y?y+=360:360<=y&&(y-=360),a.cursor=22.5>y?"e-resize":67.5>y?"se-resize":112.5>y?"s-resize":157.5>y?"sw-resize":202.5>y?"w-resize":247.5>y?"nw-resize":292.5>y?"n-resize":337.5>y?"ne-resize":"e-resize"}else if(a instanceof bi)for(a=a.elements;a.next();)this.updateResizeHandles(a.value,y)}},ya.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;return!a.isReadOnly&&a.allowResize&&a.lastInput.left?this.findToolHandleAt(a.firstInput.documentPoint,this.name)!==null:!1},ya.prototype.doActivate=function(){var a=this.diagram;this.handle===null&&(this.handle=this.findToolHandleAt(a.firstInput.documentPoint,this.name)),this.handle!==null&&(this.adornedObject=this.handle.part.adornedObject,this.adornedObject!==null&&(a.isMouseCaptured=!0,a.animationManager.Cc(),this.Ea(this.name),this.Xq.set(this.adornedObject.ga(this.handle.alignment.gv())),this.Tn.set(this.adornedObject.part.location),this.Dw.set(this.adornedObject.desiredSize),this.pt=this.computeCellSize(),this.rt=this.computeMinSize(),this.qt=this.computeMaxSize(),this.isActive=!0))},ya.prototype.doDeactivate=function(){var a=this.diagram;this.stopTransaction(),this.ue=this.handle=null,this.isActive=a.isMouseCaptured=!1},ya.prototype.stopTransaction=function(){var a=this.diagram,y=ki.prototype.stopTransaction.call(this);return y&&a.undoManager.transactionToUndo!==null&&a.undoManager.transactionToUndo.ak(),y},ya.prototype.doCancel=function(){this.adornedObject!==null&&(this.adornedObject.desiredSize=this.originalDesiredSize,this.adornedObject.part.location=this.originalLocation),this.stopTool()},ya.prototype.doMouseMove=function(){var a=this.diagram;if(this.isActive){var y=this.rt,ee=this.qt,ne=this.pt,se=this.adornedObject.qs(a.lastInput.documentPoint,yn.alloc()),ue=this.computeReshape();y=this.computeResize(se,this.handle.alignment,y,ee,ne,ue),this.resize(y),a.bd(),yn.free(se)}},ya.prototype.doMouseUp=function(){var a=this.diagram;if(this.isActive){var y=this.rt,ee=this.qt,ne=this.pt,se=this.adornedObject.qs(a.lastInput.documentPoint,yn.alloc()),ue=this.computeReshape();y=this.computeResize(se,this.handle.alignment,y,ee,ne,ue),this.resize(y),yn.free(se),a.Ya(),this.transactionResult=this.name,a.R("PartResized",this.adornedObject,this.originalDesiredSize)}this.stopTool()},ya.prototype.resize=function(a){var y=this.diagram,ee=this.adornedObject;if(ee!==null){if(ee.desiredSize=a.size,a=ee.part,a.Va(),ee=ee.ga(this.handle.alignment.gv()),a instanceof Ma){var ne=new Hr;if(ne.add(a),!this.dragsMembers&&a.placeholder===null){var se=new _e;se.dragsMembers=!1}y.moveParts(ne,this.oppositePoint.copy().re(ee),!0,se)}else a.location=a.location.copy().re(ee).add(this.oppositePoint);y.bd()}},ya.prototype.computeResize=function(a,y,ee,ne,se,ue){y.Mc()&&(y=us);var me=this.adornedObject.naturalBounds,be=me.x,Fe=me.y,Ye=me.x+me.width,Je=me.y+me.height,st=1;if(!ue){st=me.width;var yt=me.height;0>=st&&(st=1),0>=yt&&(yt=1),st=yt/st}return yt=yn.alloc(),dr.No(a.x,a.y,be,Fe,se.width,se.height,yt),a=me.copy(),0>=y.x?0>=y.y?(a.x=Math.max(yt.x,Ye-ne.width),a.x=Math.min(a.x,Ye-ee.width),a.width=Math.max(Ye-a.x,ee.width),a.y=Math.max(yt.y,Je-ne.height),a.y=Math.min(a.y,Je-ee.height),a.height=Math.max(Je-a.y,ee.height),ue||(1<=a.height/a.width?(a.height=Math.max(Math.min(st*a.width,ne.height),ee.height),a.width=a.height/st):(a.width=Math.max(Math.min(a.height/st,ne.width),ee.width),a.height=st*a.width),a.x=Ye-a.width,a.y=Je-a.height)):1<=y.y?(a.x=Math.max(yt.x,Ye-ne.width),a.x=Math.min(a.x,Ye-ee.width),a.width=Math.max(Ye-a.x,ee.width),a.height=Math.max(Math.min(yt.y-Fe,ne.height),ee.height),ue||(1<=a.height/a.width?(a.height=Math.max(Math.min(st*a.width,ne.height),ee.height),a.width=a.height/st):(a.width=Math.max(Math.min(a.height/st,ne.width),ee.width),a.height=st*a.width),a.x=Ye-a.width)):(a.x=Math.max(yt.x,Ye-ne.width),a.x=Math.min(a.x,Ye-ee.width),a.width=Ye-a.x,ue||(a.height=Math.max(Math.min(st*a.width,ne.height),ee.height),a.width=a.height/st,a.y=Fe+.5*(Je-Fe-a.height))):1<=y.x?0>=y.y?(a.width=Math.max(Math.min(yt.x-be,ne.width),ee.width),a.y=Math.max(yt.y,Je-ne.height),a.y=Math.min(a.y,Je-ee.height),a.height=Math.max(Je-a.y,ee.height),ue||(1<=a.height/a.width?(a.height=Math.max(Math.min(st*a.width,ne.height),ee.height),a.width=a.height/st):(a.width=Math.max(Math.min(a.height/st,ne.width),ee.width),a.height=st*a.width),a.y=Je-a.height)):1<=y.y?(a.width=Math.max(Math.min(yt.x-be,ne.width),ee.width),a.height=Math.max(Math.min(yt.y-Fe,ne.height),ee.height),ue||(1<=a.height/a.width?(a.height=Math.max(Math.min(st*a.width,ne.height),ee.height),a.width=a.height/st):(a.width=Math.max(Math.min(a.height/st,ne.width),ee.width),a.height=st*a.width))):(a.width=Math.max(Math.min(yt.x-be,ne.width),ee.width),ue||(a.height=Math.max(Math.min(st*a.width,ne.height),ee.height),a.width=a.height/st,a.y=Fe+.5*(Je-Fe-a.height))):0>=y.y?(a.y=Math.max(yt.y,Je-ne.height),a.y=Math.min(a.y,Je-ee.height),a.height=Je-a.y,ue||(a.width=Math.max(Math.min(a.height/st,ne.width),ee.width),a.height=st*a.width,a.x=be+.5*(Ye-be-a.width))):1<=y.y&&(a.height=Math.max(Math.min(yt.y-Fe,ne.height),ee.height),ue||(a.width=Math.max(Math.min(a.height/st,ne.width),ee.width),a.height=st*a.width,a.x=be+.5*(Ye-be-a.width))),yn.free(yt),a},ya.prototype.computeReshape=function(){var a=fi;return this.adornedObject instanceof Ua&&(a=xw(this.adornedObject)),!(a===Mo||this.diagram.lastInput.shift)},ya.prototype.computeMinSize=function(){var a=this.adornedObject.minSize.copy(),y=this.minSize;return!isNaN(y.width)&&y.width>a.width&&(a.width=y.width),!isNaN(y.height)&&y.height>a.height&&(a.height=y.height),a},ya.prototype.computeMaxSize=function(){var a=this.adornedObject.maxSize.copy(),y=this.maxSize;return!isNaN(y.width)&&y.width<a.width&&(a.width=y.width),!isNaN(y.height)&&y.height<a.height&&(a.height=y.height),a},ya.prototype.computeCellSize=function(){var a=new Ii(NaN,NaN),y=this.adornedObject.part;return y!==null&&(y=y.resizeCellSize,!isNaN(y.width)&&0<y.width&&(a.width=y.width),!isNaN(y.height)&&0<y.height&&(a.height=y.height)),y=this.cellSize,isNaN(a.width)&&!isNaN(y.width)&&0<y.width&&(a.width=y.width),isNaN(a.height)&&!isNaN(y.height)&&0<y.height&&(a.height=y.height),y=this.diagram,(isNaN(a.width)||isNaN(a.height))&&y&&(y=y.grid,y!==null&&y.visible&&this.isGridSnapEnabled&&(y=y.gridCellSize,isNaN(a.width)&&!isNaN(y.width)&&0<y.width&&(a.width=y.width),isNaN(a.height)&&!isNaN(y.height)&&0<y.height&&(a.height=y.height))),(isNaN(a.width)||a.width===0||a.width===1/0)&&(a.width=1),(isNaN(a.height)||a.height===0||a.height===1/0)&&(a.height=1),a},Re.Object.defineProperties(ya.prototype,{handleArchetype:{get:function(){return this.F},set:function(a){this.F=a}},handle:{get:function(){return this.u},set:function(a){if(a!==null&&!(a.part instanceof Cs))throw Error("new handle is not in an Adornment: "+a);this.u=a}},adornedObject:{get:function(){return this.ue},set:function(a){if(a!==null&&a.part instanceof Cs)throw Error("new handle must not be in an Adornment: "+a);this.ue=a}},minSize:{get:function(){return this.o},set:function(a){if(!this.o.D(a)){var y=a.width;isNaN(y)&&(y=0),a=a.height,isNaN(a)&&(a=0),this.o.h(y,a)}}},maxSize:{get:function(){return this.j},set:function(a){if(!this.j.D(a)){var y=a.width;isNaN(y)&&(y=1/0),a=a.height,isNaN(a)&&(a=1/0),this.j.h(y,a)}}},cellSize:{get:function(){return this.yg},set:function(a){this.yg.D(a)||this.yg.assign(a)}},isGridSnapEnabled:{get:function(){return this.V},set:function(a){this.V=a}},dragsMembers:{get:function(){return this.ia},set:function(a){this.ia=a}},oppositePoint:{get:function(){return this.Xq},set:function(a){this.Xq.D(a)||this.Xq.assign(a)}},originalDesiredSize:{get:function(){return this.Dw}},originalLocation:{get:function(){return this.Tn}}}),ya.className="ResizingTool",Hn("resizingTool",function(){return this.findTool("Resizing")},function(a){this.gb("Resizing",a,this.mouseDownTools)});function Ia(){ki.call(this),this.name="Rotating",this.ia=45,this.V=2,this.Tn=new yn,this.ue=null;var a=new Ua;a.figure="Ellipse",a.desiredSize=Ki,a.fill="lightblue",a.stroke="dodgerblue",a.strokeWidth=1,a.cursor="pointer",this.o=a,this.j=null,this.Cw=0,this.kr=new yn(NaN,NaN),this.u=0,this.F=50}He(Ia,ki),Ia.prototype.updateAdornments=function(a){if(a!==null){if(a.ph()){var y=a.rotateObject;if(y===a||y===a.path||y.isPanelMain)return}if(a.isSelected&&!this.diagram.isReadOnly&&(y=a.rotateObject,y!==null&&a.canRotate()&&a.actualBounds.w()&&a.isVisible()&&y.actualBounds.w()&&y.Ed())){var ee=a.Pj(this.name);if((ee===null||ee.adornedObject!==y)&&(ee=this.makeAdornment(y)),ee!==null){ee.angle=y.li(),ee.placeholder===null&&(ee.location=this.computeAdornmentLocation(y)),a.bh(this.name,ee);return}}a.Jf(this.name)}},Ia.prototype.makeAdornment=function(a){var y=a.part.rotateAdornmentTemplate;if(y===null){y=new Cs,y.type=bi.Position,y.locationSpot=us;var ee=this.handleArchetype;ee!==null&&y.add(ee.copy())}else if(Cg(y),y=y.copy(),y===null)return null;return y.adornedObject=a,y},Ia.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;return!a.isReadOnly&&a.allowRotate&&a.lastInput.left?this.findToolHandleAt(a.firstInput.documentPoint,this.name)!==null:!1},Ia.prototype.doActivate=function(){var a=this.diagram;if(this.adornedObject===null){if(this.handle===null&&(this.handle=this.findToolHandleAt(a.firstInput.documentPoint,this.name)),this.handle===null)return;this.adornedObject=this.handle.part.adornedObject}this.adornedObject!==null&&(a.isMouseCaptured=!0,a.delaysLayout=!0,this.Ea(this.name),this.Cw=this.adornedObject.angle,this.kr=this.computeRotationPoint(this.adornedObject),this.Tn=this.adornedObject.part.location.copy(),this.isActive=!0)},Ia.prototype.computeRotationPoint=function(a){var y=a.part,ee=y.locationObject;return y.rotationSpot.sb()?a.ga(y.rotationSpot):a===y||a===ee?ee.ga(y.locationSpot):a.ga(us)},Ia.prototype.computeAdornmentLocation=function(a){var y=this.rotationPoint;y.w()||(y=this.computeRotationPoint(a)),y=a.qs(y);var ee=this.handleAngle;0>ee?ee+=360:360<=ee&&(ee-=360),ee=Math.round(45*Math.round(ee/45));var ne=this.handleDistance;return ee===0?y.x=a.naturalBounds.width+ne:ee===45?(y.x=a.naturalBounds.width+ne,y.y=a.naturalBounds.height+ne):ee===90?y.y=a.naturalBounds.height+ne:ee===135?(y.x=-ne,y.y=a.naturalBounds.height+ne):ee===180?y.x=-ne:ee===225?(y.x=-ne,y.y=-ne):ee===270?y.y=-ne:ee===315&&(y.x=a.naturalBounds.width+ne,y.y=-ne),a.ga(y)},Ia.prototype.doDeactivate=function(){var a=this.diagram;this.stopTransaction(),this.ue=this.handle=null,this.kr=new yn(NaN,NaN),this.isActive=a.isMouseCaptured=!1},Ia.prototype.stopTransaction=function(){var a=this.diagram,y=ki.prototype.stopTransaction.call(this);return y&&a.undoManager.transactionToUndo!==null&&a.undoManager.transactionToUndo.ak(),y},Ia.prototype.doCancel=function(){this.diagram.delaysLayout=!1,this.rotate(this.originalAngle),this.stopTool()},Ia.prototype.doMouseMove=function(){var a=this.diagram;this.isActive&&(a=this.computeRotate(a.lastInput.documentPoint),this.rotate(a))},Ia.prototype.doMouseUp=function(){var a=this.diagram;if(this.isActive){a.delaysLayout=!1;var y=this.computeRotate(a.lastInput.documentPoint);this.rotate(y),a.Ya(),this.transactionResult=this.name,a.R("PartRotated",this.adornedObject,this.originalAngle)}this.stopTool()},Ia.prototype.rotate=function(a){var y=this.adornedObject;if(y!==null){y.angle=a,y=y.part,y.Va();var ee=y.locationObject,ne=y.rotateObject;(ee===ne||ee.rg(ne))&&(ee=this.Tn.copy(),y.location=ee.re(this.rotationPoint).rotate(a-this.originalAngle).add(this.rotationPoint)),this.diagram.bd()}},Ia.prototype.computeRotate=function(a){a=this.rotationPoint.ab(a)-this.handleAngle;var y=this.adornedObject.panel;y!==null&&(a-=y.li()),360<=a?a-=360:0>a&&(a+=360),y=Math.min(Math.abs(this.snapAngleMultiple),180);var ee=Math.min(Math.abs(this.snapAngleEpsilon),y/2);return!this.diagram.lastInput.shift&&0<y&&0<ee&&(a%y<ee?a=Math.floor(a/y)*y:a%y>y-ee&&(a=(Math.floor(a/y)+1)*y)),360<=a?a-=360:0>a&&(a+=360),a},Re.Object.defineProperties(Ia.prototype,{handleArchetype:{get:function(){return this.o},set:function(a){this.o=a}},handle:{get:function(){return this.j},set:function(a){if(a!==null&&!(a.part instanceof Cs))throw Error("new handle is not in an Adornment: "+a);this.j=a}},adornedObject:{get:function(){return this.ue},set:function(a){if(a!==null&&a.part instanceof Cs)throw Error("new handle must not be in an Adornment: "+a);this.ue=a}},snapAngleMultiple:{get:function(){return this.ia},set:function(a){this.ia=a}},snapAngleEpsilon:{get:function(){return this.V},set:function(a){this.V=a}},originalAngle:{get:function(){return this.Cw}},rotationPoint:{get:function(){return this.kr},set:function(a){this.kr=a.copy()}},handleAngle:{get:function(){return this.u},set:function(a){this.u=a}},handleDistance:{get:function(){return this.F},set:function(a){this.F=a}}}),Ia.className="RotatingTool",Hn("rotatingTool",function(){return this.findTool("Rotating")},function(a){this.gb("Rotating",a,this.mouseDownTools)});function gs(){ki.call(this),this.name="ClickSelecting"}He(gs,ki),gs.prototype.canStart=function(){return!(!this.isEnabled||this.isBeyondDragSize())},gs.prototype.doMouseUp=function(){this.isActive&&(this.standardMouseSelect(),!this.standardMouseClick()&&this.diagram.lastInput.isTouchEvent&&this.diagram.toolManager.doToolTip()),this.stopTool()},gs.className="ClickSelectingTool";function ga(){ki.call(this),this.name="Action",this.pk=null}He(ga,ki),ga.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram,y=a.lastInput,ee=a.ic(y.documentPoint,function(ne){for(;ne.panel!==null&&!ne.isActionable;)ne=ne.panel;return ne});return ee!==null&&ee.isActionable?(this.pk=ee,a.Ck=a.ic(y.documentPoint,null,null),!0):!1},ga.prototype.doMouseDown=function(){if(this.isActive){var a=this.diagram.lastInput,y=this.pk;y!==null&&(a.targetObject=y,y.actionDown!==null&&y.actionDown(a,y))}else this.canStart()&&this.doActivate()},ga.prototype.doMouseMove=function(){if(this.isActive){var a=this.diagram.lastInput,y=this.pk;y!==null&&(a.targetObject=y,y.actionMove!==null&&y.actionMove(a,y))}},ga.prototype.doMouseUp=function(){if(this.isActive){var a=this.diagram.lastInput,y=this.pk;if(y===null)return;a.targetObject=y,y.actionUp!==null&&y.actionUp(a,y),this.standardMouseClick(function(ee){for(;ee.panel!==null&&(!ee.isActionable||ee!==y);)ee=ee.panel;return ee},function(ee){return ee===y})}this.stopTool()},ga.prototype.doCancel=function(){var a=this.diagram.lastInput,y=this.pk;y!==null&&(a.targetObject=y,y.actionCancel!==null&&y.actionCancel(a,y),this.stopTool())},ga.prototype.doStop=function(){this.pk=null},ga.className="ActionTool";function Wa(){ki.call(this),this.name="ClickCreating",this.Ri=null,this.o=!0,this.j=!1,this.mw=new yn(0,0)}He(Wa,ki),Wa.prototype.canStart=function(){if(!this.isEnabled||this.archetypeNodeData===null)return!1;var a=this.diagram;if(a.isReadOnly||a.isModelReadOnly||!a.allowInsert||!a.lastInput.left||this.isBeyondDragSize())return!1;if(this.isDoubleClick){if(a.lastInput.clickCount===1&&(this.mw=a.lastInput.viewPoint.copy()),a.lastInput.clickCount!==2||this.isBeyondDragSize(this.mw))return!1}else if(a.lastInput.clickCount!==1)return!1;return!(a.currentTool!==this&&a.Ol(a.lastInput.documentPoint,!0)!==null)},Wa.prototype.doMouseUp=function(){var a=this.diagram;this.isActive&&this.insertPart(a.lastInput.documentPoint),this.stopTool()},Wa.prototype.insertPart=function(a){var y=this.diagram,ee=this.archetypeNodeData;if(ee===null)return null;var ne=null;try{if(y.R("ChangingSelection",y.selection),this.Ea(this.name),ee instanceof _o)ee.Zc()&&(Cg(ee),ne=ee.copy(),ne!==null&&y.add(ne));else if(ee!==null){var se=y.model.copyNodeData(ee);On(se)&&(y.model.xf(se),ne=y.Lc(se))}if(ne!==null){var ue=yn.allocAt(a.x,a.y);this.isGridSnapEnabled&&fm(this.diagram,ne,a,ue),ne.location=ue,y.allowSelect&&(y.clearSelection(!0),ne.isSelected=!0),yn.free(ue)}y.Ya(),this.transactionResult=this.name,y.R("PartCreated",ne)}finally{this.stopTransaction(),y.R("ChangedSelection",y.selection)}return ne},Re.Object.defineProperties(Wa.prototype,{archetypeNodeData:{get:function(){return this.Ri},set:function(a){this.Ri=a}},isDoubleClick:{get:function(){return this.o},set:function(a){this.o=a}},isGridSnapEnabled:{get:function(){return this.j},set:function(a){this.j=a}}}),Wa.className="ClickCreatingTool";function fa(){ki.call(this),this.name="DragSelecting",this.Ik=175,this.o=!1;var a=new _o;a.layerName="Tool",a.selectable=!1;var y=new Ua;y.name="SHAPE",y.figure="Rectangle",y.fill=null,y.stroke="magenta",a.add(y),this.j=a}He(fa,ki),fa.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;if(!a.allowSelect)return!1;var y=a.lastInput;return!(!y.left||a.currentTool!==this&&(!this.isBeyondDragSize()||y.timestamp-a.firstInput.timestamp<this.delay||a.Ol(y.documentPoint,!0)!==null))},fa.prototype.doActivate=function(){var a=this.diagram;this.isActive=!0,a.isMouseCaptured=!0,a.skipsUndoManager=!0,a.add(this.box),this.doMouseMove()},fa.prototype.doDeactivate=function(){var a=this.diagram;a.ug(),a.remove(this.box),a.skipsUndoManager=!1,this.isActive=a.isMouseCaptured=!1},fa.prototype.doMouseMove=function(){var a=this.diagram;if(this.isActive&&this.box!==null){var y=this.computeBoxBounds(),ee=this.box.fb("SHAPE");ee===null&&(ee=this.box.Pb());var ne=Ii.alloc().h(y.width,y.height);ee.desiredSize=ne,this.box.mm(y.x,y.y,!1),Ii.free(ne),(a.allowHorizontalScroll||a.allowVerticalScroll)&&a.gs(a.lastInput.viewPoint)}},fa.prototype.doMouseUp=function(){if(this.isActive){var a=this.diagram;a.remove(this.box);try{a.currentCursor="wait",a.R("ChangingSelection",a.selection),this.selectInRect(this.computeBoxBounds()),a.R("ChangedSelection",a.selection)}finally{a.currentCursor=""}}this.stopTool()},fa.prototype.computeBoxBounds=function(){var a=this.diagram;return new Ur(a.firstInput.documentPoint,a.lastInput.documentPoint)},fa.prototype.selectInRect=function(a){var y=this.diagram,ee=y.lastInput;if(a=y.ux(a,this.isPartialInclusion),gi?ee.meta:ee.control)if(ee.shift)for(a=a.iterator;a.next();)y=a.value,y.isSelected&&(y.isSelected=!1);else for(a=a.iterator;a.next();)y=a.value,y.isSelected=!y.isSelected;else if(ee.shift)for(a=a.iterator;a.next();)y=a.value,y.isSelected||(y.isSelected=!0);else{for(ee=new Hr,y=y.selection.iterator;y.next();){var ne=y.value;a.contains(ne)||ee.add(ne)}for(y=ee.iterator;y.next();)y.value.isSelected=!1;for(a=a.iterator;a.next();)y=a.value,y.isSelected||(y.isSelected=!0)}},Re.Object.defineProperties(fa.prototype,{delay:{get:function(){return this.Ik},set:function(a){this.Ik=a}},isPartialInclusion:{get:function(){return this.o},set:function(a){this.o=a}},box:{get:function(){return this.j},set:function(a){this.j=a}}}),fa.className="DragSelectingTool";function Wo(){ki.call(this),this.name="Panning",this.Xt=new yn,this.xy=new yn,this.xg=!1;var a=this;this.Kw=function(){var y=a.diagram;y!==null&&y.removeEventListener(Ct.document,"scroll",a.Kw,!1),a.stopTool()}}He(Wo,ki),Wo.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;return!(!a.allowHorizontalScroll&&!a.allowVerticalScroll||!a.lastInput.left||a.currentTool!==this&&!this.isBeyondDragSize())},Wo.prototype.doActivate=function(){var a=this.diagram;this.xg?(a.lastInput.bubbles=!0,a.addEventListener(Ct.document,"scroll",this.Kw,!1)):(a.currentCursor="move",a.isMouseCaptured=!0,this.Xt.assign(a.position)),this.isActive=!0},Wo.prototype.doDeactivate=function(){var a=this.diagram;a.currentCursor="",this.isActive=a.isMouseCaptured=!1},Wo.prototype.doCancel=function(){var a=this.diagram;a.position=this.Xt,a.isMouseCaptured=!1,this.stopTool()},Wo.prototype.doMouseMove=function(){this.move()},Wo.prototype.doMouseUp=function(){this.move(),this.stopTool()},Wo.prototype.move=function(){var a=this.diagram;if(this.isActive&&a)if(this.xg)a.lastInput.bubbles=!0;else{var y=a.position,ee=a.firstInput.documentPoint,ne=a.lastInput.documentPoint,se=y.x+ee.x-ne.x;ee=y.y+ee.y-ne.y,a.allowHorizontalScroll||(se=y.x),a.allowVerticalScroll||(ee=y.y),a.position=this.xy.h(se,ee)}},Re.Object.defineProperties(Wo.prototype,{bubbles:{get:function(){return this.xg},set:function(a){this.xg=a}},originalPosition:{get:function(){return this.Xt}}}),Wo.className="PanningTool",Hn("clickCreatingTool",function(){return this.findTool("ClickCreating")},function(a){this.gb("ClickCreating",a,this.mouseUpTools)}),Hn("clickSelectingTool",function(){return this.findTool("ClickSelecting")},function(a){this.gb("ClickSelecting",a,this.mouseUpTools)}),Hn("panningTool",function(){return this.findTool("Panning")},function(a){this.gb("Panning",a,this.mouseMoveTools)}),Hn("dragSelectingTool",function(){return this.findTool("DragSelecting")},function(a){this.gb("DragSelecting",a,this.mouseMoveTools)}),Hn("actionTool",function(){return this.findTool("Action")},function(a){this.gb("Action",a,this.mouseDownTools)});function la(){this.F=this.u=this.j=this.o=null}Re.Object.defineProperties(la.prototype,{mainElement:{get:function(){return this.u},set:function(a){this.u=a}},show:{get:function(){return this.o},set:function(a){this.o!==a&&(this.o=a)}},hide:{get:function(){return this.j},set:function(a){this.j!==a&&(this.j=a)}},valueFunction:{get:function(){return this.F},set:function(a){this.F=a}}}),la.className="HTMLInfo";function Ha(a,y,ee){this.text=a,this.hx=y,this.visible=ee}Ha.className="ContextMenuButtonInfo";function Po(){ki.call(this),this.name="ContextMenu",this.o=this.ht=this.j=null,this.yw=new yn,this.jt=null,this.Et=!1;var a=this;this.tu=function(){a.stopTool()}}He(Po,ki);function Es(a){var y=new la;y.show=function(se,ue,me){me.showDefaultContextMenu()},y.hide=function(se,ue){ue.hideDefaultContextMenu()},$t=y,a.tu=function(){a.stopTool()},y=Sn("div");var ee=Sn("div");y.style.cssText="top: 0px;z-index:10002;position: fixed;display: none;text-align: center;left: 25%;width: 50%;background-color: #F5F5F5;padding: 16px;border: 16px solid #444;border-radius: 10px;margin-top: 10px",ee.style.cssText="z-index:10001;position: fixed;display: none;top: 0;left: 0;width: 100%;height: 100%;background-color: black;opacity: 0.8;";var ne=Sn("style");Ct.document.getElementsByTagName("head")[0].appendChild(ne),ne.sheet.insertRule(".goCXul { list-style: none; }",0),ne.sheet.insertRule(".goCXli {font:700 1.5em Helvetica, Arial, sans-serif;position: relative;min-width: 60px; }",0),ne.sheet.insertRule(".goCXa {color: #444;display: inline-block;padding: 4px;text-decoration: none;margin: 2px;border: 1px solid gray;border-radius: 10px; }",0),ne=a.diagram,ne!==null&&(ne.addEventListener(y,"contextmenu",ca,!1),ne.addEventListener(y,"selectstart",ca,!1),ne.addEventListener(ee,"contextmenu",ca,!1)),y.className="goCXforeground",ee.className="goCXbackground",Ct.document.body&&(Ct.document.body.appendChild(y),Ct.document.body.appendChild(ee)),In=y,mn=ee,pn=!0}function ca(a){return a.preventDefault(),!1}Po.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;return this.isBeyondDragSize()||!a.lastInput.right||1<a.lastInput.clickCount?!1:!!(a.lastInput.isTouchEvent&&this.defaultTouchContextMenu!==null||this.findObjectWithContextMenu()!==null)},Po.prototype.doStart=function(){this.yw.set(this.diagram.firstInput.documentPoint)},Po.prototype.doStop=function(){this.hideContextMenu(),this.currentObject=null},Po.prototype.findObjectWithContextMenu=function(a){a===void 0&&(a=null);var y=this.diagram,ee=y.lastInput,ne=null;if(a instanceof Lr||(a instanceof lr?ne=a:ne=y.ic(ee.documentPoint,null,function(se){return!se.layer.isTemporary})),ne!==null){for(a=ne;a!==null;){if(a.contextMenu!==null)return a;a=a.panel}if(y.lastInput.isTouchEvent&&this.defaultTouchContextMenu)return ne.part}else if(y.contextMenu!==null)return y;return null},Po.prototype.doActivate=function(){},Po.prototype.doMouseDown=function(){if(ki.prototype.doMouseDown.call(this),this.isActive&&this.currentContextMenu instanceof Cs){var a=this.diagram.toolManager.findTool("Action");a!==null&&a.canStart()&&(a.doActivate(),a.doMouseDown(),a.doDeactivate())}this.diagram.toolManager.mouseDownTools.contains(this)&&dt(this)},Po.prototype.doMouseUp=function(){if(this.isActive&&this.currentContextMenu instanceof Cs){var a=this.diagram.toolManager.findTool("Action");a!==null&&a.canStart()&&(a.doActivate(),a.doCancel(),a.doDeactivate())}dt(this)};function dt(a){var y=a.diagram;if(a.isActive){var ee=a.currentContextMenu;if(ee!==null){var ne=null;ee instanceof la||(ne=y.ic(y.lastInput.documentPoint,null,null),ne!==null&&ne.rg(ee)&&a.standardMouseClick(null,null)),a.maybeStopTool(ne)}}else a.canStart()&&(Ot(a,!0),a.isActive||a.stopTool())}Po.prototype.maybeStopTool=function(){this.stopTool(),this.canStart()&&(this.diagram.currentTool=this,this.doMouseUp())};function Ot(a,y,ee){if(ee===void 0&&(ee=null),!a.Et&&(a.Et=!0,y&&a.standardMouseSelect(),y=a.standardMouseClick(),a.Et=!1,!y)){if(a.isActive=!0,y=$t,ee===null&&(ee=a.findObjectWithContextMenu()),ee!==null){var ne=ee.contextMenu;ne!==null?(a.currentObject=ee instanceof lr?ee:null,a.showContextMenu(ne,a.currentObject)):y!==null&&a.showContextMenu(y,a.currentObject)}else y!==null&&a.showContextMenu(y,null);a.currentContextMenu instanceof Cs&&!a.currentContextMenu.visible&&a.stopTool()}}Po.prototype.doMouseMove=function(){var a=this.diagram.toolManager.findTool("Action");a!==null&&a.doMouseMove(),this.isActive&&this.diagram.toolManager.doMouseMove()},Po.prototype.showContextMenu=function(a,y){var ee=this.diagram;if(a!==this.currentContextMenu&&this.hideContextMenu(),a instanceof Cs){a.layerName="Tool",a.selectable=!1,a.scale=1/ee.scale,a.category=this.name,a.placeholder!==null&&(a.placeholder.scale=ee.scale);var ne=a.diagram;ne!==null&&ne!==ee&&ne.remove(a),ee.add(a),y!==null?a.adornedObject=y:a.data=ee.model,a.Va(),this.positionContextMenu(a,y)}else a instanceof la&&a.show(y,ee,this);this.currentContextMenu=a},Po.prototype.positionContextMenu=function(a){if(a.placeholder===null){var y=this.diagram,ee=y.lastInput.documentPoint.copy(),ne=a.measuredBounds,se=y.viewportBounds;y.lastInput.isTouchEvent&&(ee.x-=ne.width),ee.x+ne.width>se.right&&(ee.x-=ne.width+5/y.scale),ee.x<se.x&&(ee.x=se.x),ee.y+ne.height>se.bottom&&(ee.y-=ne.height+5/y.scale),ee.y<se.y&&(ee.y=se.y),a.position=ee}},Po.prototype.hideContextMenu=function(){var a=this.diagram,y=this.currentContextMenu;y!==null&&(y instanceof Cs?(a.remove(y),this.ht!==null&&this.ht.Jf(y.category),y.data=null,y.adornedObject=null):y instanceof la&&(y.hide!==null?y.hide(a,this):y.mainElement!==null&&(y.mainElement.style.display="none")),this.currentContextMenu=null,this.standardMouseOver())};function zt(a){var y=new Hr;return y.add(new Ha("Copy",function(ee){ee.commandHandler.copySelection()},function(ee){return ee.commandHandler.canCopySelection()})),y.add(new Ha("Cut",function(ee){ee.commandHandler.cutSelection()},function(ee){return ee.commandHandler.canCutSelection()})),y.add(new Ha("Delete",function(ee){ee.commandHandler.deleteSelection()},function(ee){return ee.commandHandler.canDeleteSelection()})),y.add(new Ha("Paste",function(ee){ee.commandHandler.pasteSelection(a.mouseDownPoint)},function(ee){return ee.commandHandler.canPasteSelection(a.mouseDownPoint)})),y.add(new Ha("Select All",function(ee){ee.commandHandler.selectAll()},function(ee){return ee.commandHandler.canSelectAll()})),y.add(new Ha("Undo",function(ee){ee.commandHandler.undo()},function(ee){return ee.commandHandler.canUndo()})),y.add(new Ha("Redo",function(ee){ee.commandHandler.redo()},function(ee){return ee.commandHandler.canRedo()})),y.add(new Ha("Scroll To Part",function(ee){ee.commandHandler.scrollToPart()},function(ee){return ee.commandHandler.canScrollToPart()})),y.add(new Ha("Zoom To Fit",function(ee){ee.commandHandler.zoomToFit()},function(ee){return ee.commandHandler.canZoomToFit()})),y.add(new Ha("Reset Zoom",function(ee){ee.commandHandler.resetZoom()},function(ee){return ee.commandHandler.canResetZoom()})),y.add(new Ha("Group Selection",function(ee){ee.commandHandler.groupSelection()},function(ee){return ee.commandHandler.canGroupSelection()})),y.add(new Ha("Ungroup Selection",function(ee){ee.commandHandler.ungroupSelection()},function(ee){return ee.commandHandler.canUngroupSelection()})),y.add(new Ha("Edit Text",function(ee){ee.commandHandler.editTextBlock()},function(ee){return ee.commandHandler.canEditTextBlock()})),y}Po.prototype.showDefaultContextMenu=function(){var a=this.diagram;this.jt===null&&(this.jt=zt(this)),In.innerHTML="",mn.addEventListener("pointerdown",this.tu,!1);var y=this,ee=Sn("ul");ee.className="goCXul",In.appendChild(ee),ee.innerHTML="";for(var ne=this.jt.iterator;ne.next();){var se=ne.value,ue=se.visible;if(typeof se.hx=="function"&&(typeof ue!="function"||ue(a))){ue=Sn("li"),ue.className="goCXli";var me=Sn("a");me.className="goCXa",me.href="#",me.ky=se.hx,me.addEventListener("pointerdown",function(be){return this.ky(a),y.stopTool(),be.preventDefault(),!1},!1),me.textContent=se.text,ue.appendChild(me),ee.appendChild(ue)}}In.style.display="block",mn.style.display="block"},Po.prototype.hideDefaultContextMenu=function(){if(this.currentContextMenu!==null&&this.currentContextMenu===$t){In.style.display="none",mn.style.display="none";var a=this.diagram;a!==null&&a.removeEventListener(mn,"pointerdown",this.tu,!1),this.currentContextMenu=null}},Re.Object.defineProperties(Po.prototype,{currentContextMenu:{get:function(){return this.j},set:function(a){this.j=a,this.ht=a instanceof Cs?a.adornedPart:null}},defaultTouchContextMenu:{get:function(){return pn===!1&&$t===null&&bu&&Es(this),$t},set:function(a){a===null&&(pn=!0),$t=a}},currentObject:{get:function(){return this.o},set:function(a){this.o=a}},mouseDownPoint:{get:function(){return this.yw}}});var $t=null,pn=!1,mn=null,In=null;Po.className="ContextMenuTool",Hn("contextMenuTool",function(){return this.findTool("ContextMenu")},function(a){this.gb("ContextMenu",a,this.mouseUpTools)});function xn(){ki.call(this),this.name="TextEditing",this.Zh=new Dl,this.ia=null,this.V=kr,this.vj=null,this.qa=_r,this.u=1,this.F=!0,this.o=null,this.j=new la,this.kt=null,qn(this,this.j)}He(xn,ki);function qn(a,y){if(bu){var ee=Sn("textarea");a.kt=ee,ee.addEventListener("input",function(){if(a.textBlock!==null){var ne=a.Lx(this.value);this.style.width=20+ne.measuredBounds.width*this.wA+"px",this.rows=ne.lineCount}},!1),ee.addEventListener("keydown",function(ne){if(!ne.isComposing&&a.textBlock!==null){var se=ne.key;se==="Enter"?(a.textBlock.isMultiline===!1&&ne.preventDefault(),a.acceptText(Yr)):se==="Tab"?(a.acceptText(Er),ne.preventDefault()):se==="Escape"&&(a.doCancel(),a.diagram!==null&&a.diagram.doFocus())}},!1),ee.addEventListener("focus",function(){if(a.currentTextEditor!==null&&a.state!==_r){var ne=a.kt;a.qa===Vr&&(a.qa=Ti),typeof ne.select=="function"&&a.selectsTextOnActivate&&(ne.select(),ne.setSelectionRange(0,9999))}},!1),ee.addEventListener("blur",function(){if(a.currentTextEditor!==null&&a.state!==_r){var ne=a.kt;typeof ne.focus=="function"&&ne.focus(),typeof ne.select=="function"&&a.selectsTextOnActivate&&(ne.select(),ne.setSelectionRange(0,9999))}},!1),y.valueFunction=function(){return ee.value},y.mainElement=ee,y.show=function(ne,se,ue){if(ne instanceof Dl&&ue instanceof xn)if(ue.state===pa)ee.style.border="3px solid red",ee.focus();else{var me=ne.ga(us),be=se.position,Fe=se.scale,Ye=ne.Df()*Fe;Ye<ue.minimumEditorScale&&(Ye=ue.minimumEditorScale);var Je=ne.naturalBounds.width*Ye+6,st=ne.naturalBounds.height*Ye+2,yt=(me.x-be.x)*Fe;me=(me.y-be.y)*Fe,be=ne.verticalAlignment,Fe=(ne.lineHeight+ne.spacingAbove+ne.spacingBelow)*ne.lineCount*Ye,st=be.y*st-be.y*Fe+be.offsetY-(.5*st-.5*Fe)-Fe/2,ee.value=ne.text,se.div.style.font=ne.font,ee.style.position="absolute",ee.style.zIndex="100",ee.style.font="inherit",ee.style.fontSize=100*Ye+"%",ee.style.lineHeight="normal",ee.style.width=Je+"px",ee.style.left=(yt-Je/2|0)-1+"px",ee.style.top=(me+st|0)-1+"px",ee.style.textAlign=ne.textAlign,ee.style.margin="0",ee.style.padding="1px",ee.style.border="0",ee.style.outline="none",ee.style.whiteSpace="pre-wrap",ee.style.overflow="hidden",ee.rows=ne.lineCount,ee.wA=Ye,ee.className="goTXarea",se.div.appendChild(ee),ee.focus(),ue.selectsTextOnActivate&&(ee.select(),ee.setSelectionRange(0,9999))}},y.hide=function(ne){ne.div.removeChild(ee)}}}xn.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;if(a===null||a.isReadOnly||ha&&ha!==this&&(ha.acceptText(Ir),ha&&ha!==this)||!a.lastInput.left||this.isBeyondDragSize())return!1;var y=a.ic(a.lastInput.documentPoint);return y!==null&&y instanceof Dl&&y.editable&&y.part.canEdit()?(y=y.part,!(y===null||this.starting===kr&&!y.isSelected||this.starting===zr&&2>a.lastInput.clickCount)):!1},xn.prototype.doStart=function(){ha=this,this.textBlock!==null&&this.doActivate()},xn.prototype.doActivate=function(){if(!this.isActive){var a=this.diagram;if(a!==null){var y=this.textBlock;if(y===null&&(y=a.ic(a.lastInput.documentPoint)),y!==null&&y instanceof Dl&&(this.textBlock=y,y.part!==null)){a.animationManager.Cc(),this.isActive=!0,this.qa=Vr;var ee=this.defaultTextEditor;y.textEditor!==null&&(ee=y.textEditor),this.Zh=this.textBlock.copy();var ne=new Ur(this.textBlock.ga(Ya),this.textBlock.ga(Pc));a.tv(ne),ee.show(y,a,this),this.currentTextEditor=ee}}}},xn.prototype.doCancel=function(){this.stopTool()},xn.prototype.doMouseUp=function(){this.canStart()&&this.doActivate()},xn.prototype.doMouseDown=function(){this.isActive&&this.acceptText(Ir)},xn.prototype.acceptText=function(a){switch(a){case Ir:this.qa===lo?this.currentTextEditor instanceof HTMLElement&&this.currentTextEditor.focus():(this.qa===Vr||this.qa===pa||this.qa===Ti)&&(this.qa=to,Wn(this));break;case ar:case Yr:case Er:(Yr!==a||this.textBlock.isMultiline!==!0)&&(this.qa===Vr||this.qa===pa||this.qa===Ti)&&(this.qa=to,Wn(this))}};function Wn(a){var y=a.textBlock,ee=a.diagram,ne=a.currentTextEditor;if(y!==null&&ne!==null){var se=y.text,ue="";ne.valueFunction!==null&&(ue=ne.valueFunction()),a.isValidText(y,se,ue)?(a.Ea(a.name),a.qa=lo,a.transactionResult=a.name,y.text=ue,a.doSuccess(se,ue),ee!==null&&ee.R("TextEdited",y,se),a.stopTransaction(),a.stopTool(),ee!==null&&ee.doFocus()):(a.qa=pa,a.doError(se,ue))}}xn.prototype.doError=function(a,y){var ee=this.textBlock;ee.errorFunction!==null&&ee.errorFunction(this,a,y),(a=this.currentTextEditor)&&a.show(ee,this.diagram,this)},xn.prototype.doSuccess=function(a,y){var ee=this.textBlock;ee.textEdited!==null&&ee.textEdited(ee,a,y)},xn.prototype.doDeactivate=function(){var a=this.diagram;a!==null&&(this.qa=_r,this.currentTextEditor!==null&&this.currentTextEditor.hide(a,this),this.textBlock=null,this.isActive=!1)},xn.prototype.doStop=function(){ha=null},xn.prototype.isValidText=function(a,y,ee){var ne=this.textValidation;return ne!==null&&!ne(a,y,ee)?!1:(ne=a.textValidation,!!(ne===null||ne(a,y,ee)))},xn.prototype.Lx=function(a){var y=this.Zh;return y.text=a,y.measure(this.textBlock.Ih,1/0),y},Re.Object.defineProperties(xn.prototype,{textBlock:{get:function(){return this.ia},set:function(a){this.ia=a}},currentTextEditor:{get:function(){return this.o},set:function(a){this.o=a}},defaultTextEditor:{get:function(){return this.j},set:function(a){this.j=a}},starting:{get:function(){return this.V},set:function(a){this.V=a}},textValidation:{get:function(){return this.vj},set:function(a){this.vj=a}},minimumEditorScale:{get:function(){return this.u},set:function(a){this.u=a}},selectsTextOnActivate:{get:function(){return this.F},set:function(a){this.F=a}},state:{get:function(){return this.qa},set:function(a){this.qa!==a&&(this.qa=a)}}}),xn.prototype.measureTemporaryTextBlock=xn.prototype.Lx;var ar=new nr(xn,"LostFocus",0),Ir=new nr(xn,"MouseDown",1),Er=new nr(xn,"Tab",2),Yr=new nr(xn,"Enter",3),jr=new nr(xn,"SingleClick",0),kr=new nr(xn,"SingleClickSelected",1),zr=new nr(xn,"DoubleClick",2),_r=new nr(xn,"StateNone",0),Vr=new nr(xn,"StateActive",1),Ti=new nr(xn,"StateEditing",2),to=new nr(xn,"StateValidating",3),pa=new nr(xn,"StateInvalid",4),lo=new nr(xn,"StateValidated",5),ha=null;xn.className="TextEditingTool",xn.LostFocus=ar,xn.MouseDown=Ir,xn.Tab=Er,xn.Enter=Yr,xn.SingleClick=jr,xn.SingleClickSelected=kr,xn.DoubleClick=zr,xn.StateNone=_r,xn.StateActive=Vr,xn.StateEditing=Ti,xn.StateValidating=to,xn.StateInvalid=pa,xn.StateValidated=lo,Hn("textEditingTool",function(){return this.findTool("TextEditing")},function(a){this.gb("TextEditing",a,this.mouseUpTools)});function Zo(a){qi||(Ho(),qi=!0),this.H=Qf,this.Ok=this.zb=this.vq=this.bc=!1,this.Qw=!0,this.Pk=qa,this.Dm=!1,this.Gh=this.Jd=!0,this.Dg=600,this.cw=this.Ow=!1,this.Zd=new Zr,this.ce=new ul,this.ce.Yd=this,this.Ei=new Zr,this.pu=new Zr,this.Sr=new Zr,this.pr=new Zr,a&&Object.assign(this,a)}Zo.prototype.Xe=function(a){this.H=a},Zo.prototype.canStart=function(){return!0};function Oo(a,y){a.Jd&&a.canStart(y)&&(a.Zd.add(y),a.defaultAnimation.isAnimating&&a.Cc(),rc(a.H),a.zb=!0)}function Ri(a){if(a.Jd&&a.zb){var y=a.ce,ee=a.H,ne=a.Zd.contains("Model");ne&&(a.Ok=!0,a.Pk===qa?(y.isViewportUnconstrained=!0,y.vc.clear(),y.add(ee,"position",ee.position.copy().offset(0,-200),ee.position),y.add(ee,"opacity",0,1)):a.Pk===nu&&y.vc.clear(),a.Qw=!!(a.Pk===Xl&&ee.du.D(ee.pa)),ee.R("InitialAnimationStarting",a)),ne&&!a.Gh||y.vc.count===0?(a.Zd.clear(),a.zb=!1,y.vc.clear(),Ls(y,ee),a.Ok=!1,ee.N()):(a.Zd.clear(),ee.kg=!1,ne=y.vc.get(ee),ee.autoScale!==Qh&&ne!==null&&(delete ne.start.scale,delete ne.end.scale),Ct.requestAnimationFrame(function(){a.zb===!1||y.bc||(ee.Gf("temporaryPixelRatio")&&yh(ee),O0(ee),a.zb=!1,y.start(),y.bc&&(mo(a),ee.Ya(),Ef(y,0),Fh(ee,!0),yo(a),ee.R("AnimationStarting",a)))}))}}function co(a){return a.Zd.contains("Trigger")&&a.Zd.count===1}function Oa(a,y,ee,ne){a.isTicking||co(a)||y instanceof Oi&&(y.fromNode!==null||y.toNode!==null)||a.ce.add(y,"position",ee,ne,!1)}It=Zo.prototype,It.fv=function(a){return this.ce.fv(a)},It.Xu=function(a){return this.ce.Xu(a)};function ni(a,y){function ee(){if(0<se.Sr.count&&(ne.addAll(se.Sr),se.Sr.clear(),se.bc=!0),se.bc!==!1&&ne.count!==0){se.pu.addAll(ne);for(var ue=se.pu.iterator;ue.next();){var me=ue.value;if(me.bc!==!1){e:if(0<me.yl.count)var be=!0;else{for(be=me.vc.iterator;be.next();){var Fe=be.key;if(Fe instanceof lr&&Fe.diagram!==null||Fe instanceof Lr){be=!0;break e}}be=!1}be?md(me,!1):me.Xk=!0}}se.pu.clear(),se.bc!==!1&&(mo(se),Fh(se.H),yo(se)),Ct.requestAnimationFrame(ee)}}var ne=a.Ei,se=a;a.bc?a.Sr.add(y):(a.bc=!0,ne.add(y),Ct.requestAnimationFrame(function(){ee()}))}function ji(a){for(a=a.Ei.iterator;a.next();)a.value.Xk=!1}function mo(a){if(!a.vq){var y=a.H;a.Ow=y.skipsUndoManager,a.cw=y.skipsModelSourceBindings,y.skipsUndoManager=!0,y.skipsModelSourceBindings=!0,a.vq=!0}}function yo(a){var y=a.H;y.skipsUndoManager=a.Ow,y.skipsModelSourceBindings=a.cw,a.vq=!1}It.Cc=function(a){var y=this.ce;if(this.zb===!0&&(this.Ok=this.zb=!1,this.Zd.clear(),0<y.vc.count&&this.H.$b()),this.bc){if(y.Ml(!0),y.vc.clear(),Ls(y,null),a===!0)for(a=this.Ei.Fa(),y=0;y<a.length;y++)a[y].Ml(!0)}else y.vc.clear(),Ls(y,this.H)},It.Ml=function(a){a===this.defaultAnimation&&this.defaultAnimation.vc.clear(),this.Ei.remove(a),this.Ei.count===0&&(this.bc=!1,this.H.$b()),a===this.defaultAnimation&&(this.defaultAnimation.vc.clear(),this.H.R("AnimationFinished",this))},It.Cj=function(a,y){this.zb&&(this.Zd.contains("Expand Tree")||this.Zd.contains("Expand SubGraph"))&&(this.ce.Cj(a,y),Uo(this,a))},It.Aj=function(a,y){this.zb&&(this.Zd.contains("Collapse Tree")||this.Zd.contains("Collapse SubGraph"))&&(this.ce.Aj(a,y),ps(this.ce,y,"position",y.position,y.position),Uo(this,a))};function ra(a,y,ee){!a.zb||y.D(ee)||co(a)||(a.H.pi||(y=ee.copy()),ps(a.ce,a.H,"position",y,ee))}function Eo(a,y,ee){y.fd&&(y.Tg=ee,a.pr.add(y))}function Uo(a,y){for(y=y.findLinksConnected();y.next();){var ee=y.value;ee.fd&&(ee.Tg=ee.points.copy(),a.pr.add(ee))}}function Va(a,y,ee,ne,se){a===null&&(a=[0,0,0,0]),y===null&&(y=[0,0,0,0]);var ue=a[0],me=a[1],be=a[2];a=a[3];var Fe=y[0],Ye=y[1],Je=y[2];return y=y[3],be===0||be===100?(ue=Fe,me=Ye):(Je===0||Je===100)&&(Fe=ue,Ye=me),180<Math.abs(Fe-ue)&&(Fe>ue?ue+=360:Fe+=360),ue=se(ee,ue,Fe-ue,ne)%360,me=se(ee,me,Ye-me,ne),be=se(ee,be,Je-be,ne),ee=se(ee,a,y-a,ne),"hsla("+ue+", "+me+"%, "+be+"%, "+ee+")"}function Ho(){function a(ee,ne,se,ue,me,be){ee.position=new yn(ue(me,ne.x,se.x-ne.x,be),ue(me,ne.y,se.y-ne.y,be))}var y=new Ji;y.add("position:diagram",a),y.add("position",a),y.add("position:part",function(ee,ne,se,ue,me,be){me<be?ee.mm(ue(me,ne.x,se.x-ne.x,be),ue(me,ne.y,se.y-ne.y,be),!1):ee.position=new yn(ue(me,ne.x,se.x-ne.x,be),ue(me,ne.y,se.y-ne.y,be))}),y.add("location",function(ee,ne,se,ue,me,be){me<be?ee.mm(ue(me,ne.x,se.x-ne.x,be),ue(me,ne.y,se.y-ne.y,be),!0):ee.location=new yn(ue(me,ne.x,se.x-ne.x,be),ue(me,ne.y,se.y-ne.y,be))}),y.add("position:placeholder",function(ee,ne,se,ue,me,be){me<be?ee.mm(ue(me,ne.x,se.x-ne.x,be),ue(me,ne.y,se.y-ne.y,be),!1):ee.position=new yn(ue(me,ne.x,se.x-ne.x,be),ue(me,ne.y,se.y-ne.y,be))}),y.add("position:nodeCollapse",function(ee,ne,se,ue,me,be){var Fe=ee.actualBounds,Ye=se.actualBounds;se=Ye.x+Ye.width/2-Fe.width/2,Fe=Ye.y+Ye.height/2-Fe.height/2,me<be?ee.mm(ue(me,ne.x,se-ne.x,be),ue(me,ne.y,Fe-ne.y,be),!1):ee.position=new yn(ue(me,ne.x,se-ne.x,be),ue(me,ne.y,Fe-ne.y,be))}),y.add("desiredSize",function(ee,ne,se,ue,me,be){ee.desiredSize=new Ur(ue(me,ne.width,se.width-ne.width,be),ue(me,ne.height,se.height-ne.height,be))}),y.add("width",function(ee,ne,se,ue,me,be){ee.width=ue(me,ne,se-ne,be)}),y.add("height",function(ee,ne,se,ue,me,be){ee.height=ue(me,ne,se-ne,be)}),y.add("fill",function(ee,ne,se,ue,me,be){ee.fill=Va(ne,se,me,be,ue)}),y.add("stroke",function(ee,ne,se,ue,me,be){ee.stroke=Va(ne,se,me,be,ue)}),y.add("strokeWidth",function(ee,ne,se,ue,me,be){ee.strokeWidth=ue(me,ne,se-ne,be)}),y.add("strokeDashOffset",function(ee,ne,se,ue,me,be){ee.strokeDashOffset=ue(me,ne,se-ne,be)}),y.add("background",function(ee,ne,se,ue,me,be){ee.background=Va(ne,se,me,be,ue)}),y.add("areaBackground",function(ee,ne,se,ue,me,be){ee.areaBackground=Va(ne,se,me,be,ue)}),y.add("opacity",function(ee,ne,se,ue,me,be){ee.opacity=ue(me,ne,se-ne,be)}),y.add("scale",function(ee,ne,se,ue,me,be){ee.scale=ue(me,ne,se-ne,be)}),y.add("angle",function(ee,ne,se,ue,me,be){ee.angle=ue(me,ne,se-ne,be)}),$r=y}Re.Object.defineProperties(Zo.prototype,{animationReasons:{get:function(){return this.Zd}},isEnabled:{get:function(){return this.Jd},set:function(a){(this.Jd=a)&&this.Ei.each(function(y){y.isAnimating||y.runCount!==1/0||y.start()})}},duration:{get:function(){return this.Dg},set:function(a){1>a&&ir(a,">= 1",Zo,"duration"),this.Dg=a}},isAnimating:{get:function(){return this.bc}},isTicking:{get:function(){return this.vq}},isInitial:{get:function(){return this.Gh},set:function(a){this.Gh=a}},defaultAnimation:{get:function(){return this.ce}},activeAnimations:{get:function(){return this.Ei}},initialAnimationStyle:{get:function(){return this.Pk},set:function(a){this.Pk=a}}}),Zo.prototype.stopAnimation=Zo.prototype.Cc;var $r=null,qi=!1,qa=new nr(Zo,"Default",1),Xl=new nr(Zo,"AnimateLocations",2),nu=new nr(Zo,"None",3);Zo.className="AnimationManager",Zo.defineAnimationEffect=function(a,y){qi||(Ho(),qi=!0),$r.add(a,y)},Zo.Default=qa,Zo.AnimateLocations=Xl,Zo.None=nu;function ul(a){this.vu=this.Nw=this.Yd=this.H=null,this.Xk=this.bc=this.j=!1,this.cn=this.Qd=0,this.Lp=this.ot=Wl,this.Wk=this.ho=!1,this.cu=1,this.au=0,this.Gd=this.Dg=NaN,this.gw=0,this.dn=null,this.o=ja,this.vc=new Ji,this.Tt=new Ji,this.yl=new Zr,this.Ut=new Zr,this.dw=Cf,a&&Object.assign(this,a)}ul.prototype.suspend=function(){this.Xk=!0},ul.prototype.advanceTo=function(a,y){y&&(this.Xk=!1),this.ho&&a>=this.Gd&&(this.Wk=!0,a-=this.Gd),this.gw=a,md(this,!0),mo(this.Yd),Fh(this.H),yo(this.Yd),this.H.redraw()};function Ls(a,y){if(a.Tt.clear(),a.Wk=!1,a.au=0,a.Gd=NaN,0<a.yl.count&&a.yl.clear(),0<a.Ut.count&&a.Ut.clear(),y!==null)for(a=y.links;a.next();)a.value.Tg=null}It=ul.prototype,It.start=function(){if(this.vc.count===0||this.bc)return this;for(var a=this.H,y=this.vc.iterator;y.next();){var ee=y.key;a===null&&(ee instanceof Lr?a=ee:ee instanceof lr&&(a=ee.diagram))}if(a!==null)this.H=a,this.Yd=a.animationManager;else return this;return y=this.Yd,y.isEnabled===!1?this:(this.Gd=isNaN(this.Dg)?y.duration:this.Dg,this.Lp=this.ot,y.Ok&&y.Pk===qa&&this===y.defaultAnimation&&(this.Lp=zu,this.Gd=isNaN(this.Dg)?y.duration===600?900:y.duration:this.Dg),this.dw=a.scrollMode,this.isViewportUnconstrained&&(a.sj=ym),mo(y),this.yl.each(function(ne){ne.data=null,a.add(ne)}),yo(y),this.bc=!0,this.Qd=+new Date,this.cn=this.Qd+this.Gd,ni(y,this),this)},It.Iy=function(a,y){return a.Zc()?(this.yl.add(a),this.H=y,this):this},It.add=function(a,y,ee,ne,se){if(y==="position"&&ee.Xa(ne))return this;if(this.H===null&&(a instanceof Lr?this.H=a:a instanceof lr&&a.diagram!==null&&(this.H=a.diagram)),a instanceof _o){if(!a.isAnimated)return this;y==="position"&&(y="position:part")}return ps(this,a,y,ee,ne,se),this};function ps(a,y,ee,ne,se,ue){var me=a.vc;if(y instanceof Lr&&ee==="position"&&(ee="position:diagram"),(ee==="fill"||ee==="stroke"||ee==="background"||ee==="areaBackground")&&(Yg(ne),aA(),ne=[Lf.j,Lf.u,Lf.o,Lf.F],Yg(se),aA(),se=[Lf.j,Lf.u,Lf.o,Lf.F]),me.contains(y)){var be=me.I(y),Fe=be.start,Ye=be.end;Fe[ee]===void 0&&(Fe[ee]=hs(ne)),Ye[ee]=hs(se)}else Fe={},Ye={},Fe[ee]=hs(ne),Ye[ee]=hs(se),be=Fe.position,y instanceof lr&&be instanceof yn&&!be.w()&&y.diagram.animationManager.Zd.contains("Expand SubGraph")&&be.assign(Ye.position),be=new Xf(Fe,Ye,ue),me.add(y,be);me=Fe[ee],me instanceof yn&&!me.w()&&me.assign(a.o),ue&&ee.indexOf("position:")===0&&y instanceof _o?be.Ku.location=hs(y.location):ue&&(be.Ku[ee]=hs(ne))}function hs(a){return a instanceof yn||a instanceof Ii?a.copy():a}It.fv=function(a){return this.bc?(a=this.vc.I(a),a!==null&&a.nv):!1},It.Xu=function(a){return this.bc?(a=this.vc.I(a),a!==null&&(a.start.position||a.start.location)):!1};function md(a,y){if(!a.Xk||y){var ee=a.Yd;if(a.bc!==!1){var ne=+new Date,se=ne>a.cn?a.Gd:ne-a.Qd;y&&(se=a.gw,se<a.Gd?(a.Qd=+new Date-se,a.cn=a.Qd+a.Gd):se=a.Gd),mo(ee),Ef(a,se),Fh(a.H,!0),yo(ee),ne>a.cn&&(a.ho&&!a.Wk?(a.Qd=+new Date,a.cn=a.Qd+a.Gd,a.Wk=!0):a.Ml(!1))}}}function Ef(a,y){for(var ee=a.Gd,ne=a.vc.iterator,se=a.Wk;ne.next();){var ue=ne.key;if(!(ue instanceof lr&&ue.diagram===null)){var me=ne.value,be=se?me.end:me.start;me=se?me.start:me.end;var Fe=$r,Ye;for(Ye in me)Ye==="position"&&(me["position:placeholder"]||me["position:nodeCollapse"])||Fe.get(Ye)===null||Fe.get(Ye)(ue,be[Ye],me[Ye],a.Lp,y,ee,a)}}}It.stop=function(){return this.bc?(this.Ml(!0),this):this},It.Ml=function(a){if(this.vu!==null&&this.vu.jo.remove(this.Nw),this.bc){var y=this.H,ee=this.Yd;this.Xk=this.bc=ee.Ok=!1,mo(ee);for(var ne=this.vc,se=this.yl.iterator;se.next();)y.remove(se.value);for(se=this.Ut.iterator;se.next();)se.value.v();se=this.ho,ne=ne.iterator;for(var ue=$r;ne.next();){var me=ne.key,be=ne.value,Fe=se?be.end:be.start,Ye=se?be.start:be.end,Je=be.Ku,st;for(st in Ye)if(ue.get(st)!==null){var yt=st;!be.Hu||yt!=="position:nodeCollapse"&&yt!=="position:placeholder"||(yt="position"),ue.get(yt)(me,Fe[st],Je[st]!==void 0?Je[st]:be.Hu?Fe[st]:Ye[st],this.Lp,this.Gd,this.Gd,this)}be.Hu&&Je.location!==void 0&&me instanceof _o&&(me.location=Je.location),be.nv&&me instanceof _o&&me.Zb(!1)}if(y.As.clear(),Jf(y,!1),y.Ya(),y.N(),Fh(y,!0),ee.defaultAnimation===this){for(st=ee.pr.iterator;st.next();)se=st.value,se.Tg!==null&&(se.points=se.Tg,se.Tg=null);ee.pr.clear()}Fh(y,!0),this.isViewportUnconstrained&&(y.scrollMode=this.dw),yo(ee),this.au++,!a&&this.cu>this.au?(this.Wk=!1,this.start()):(this.dn&&this.dn(this),Ls(this,null),ee.Ml(this),y.$b())}},It.Cj=function(a,y){var ee=y.actualBounds,ne=null;if(y instanceof Ma&&(ne=y.placeholder),ne!==null?(ee=ne.ga(Ya),ne=ne.padding,ee.x+=ne.left,ee.y+=ne.top,this.add(a,"position",ee,a.position,!1)):this.add(a,"position",new yn(ee.x+ee.width/2,ee.y+ee.height/2),a.position,!1),this.add(a,"scale",.01,a.scale,!1),a instanceof Ma)for(a=a.memberParts;a.next();)ne=a.value,ne instanceof Yi&&this.Cj(ne,y)},It.Aj=function(a,y){if(a.isVisible()){var ee=null;if(y instanceof Ma&&(ee=y.placeholder),ee!==null){var ne=ee.ga(Ya);ee=ee.padding,ne.x+=ee.left,ne.y+=ee.top,this.add(a,"position:placeholder",a.position,ne,!0)}else this.add(a,"position:nodeCollapse",a.position,y,!0);if(this.add(a,"scale",a.scale,.01,!0),ne=this.vc,ne.contains(a)&&(ne.I(a).nv=!0),a instanceof Ma)for(a=a.memberParts;a.next();)ne=a.value,ne instanceof Yi&&this.Aj(ne,y)}},It.Ez=function(a){var y=this.Tt.get(a);return y===null&&(y={},this.Tt.add(a,y)),y},Re.Object.defineProperties(ul.prototype,{duration:{get:function(){return this.Dg},set:function(a){1>a&&ir(a,">= 1",ul,"duration"),this.Dg=a}},reversible:{get:function(){return this.ho},set:function(a){this.ho=a}},runCount:{get:function(){return this.cu},set:function(a){0<a?this.cu=a:cn("Animation.runCount value must be a positive integer.")}},finished:{get:function(){return this.dn},set:function(a){this.dn!==a&&(this.dn=a)}},easing:{get:function(){return this.ot},set:function(a){this.ot=a}},isViewportUnconstrained:{get:function(){return this.j},set:function(a){this.j=a}},isAnimating:{get:function(){return this.bc}}}),ul.prototype.getTemporaryState=ul.prototype.Ez,ul.prototype.stop=ul.prototype.stop,ul.prototype.add=ul.prototype.add,ul.prototype.addTemporaryPart=ul.prototype.Iy;function Wl(a,y,ee,ne){return a/=ne/2,1>a?ee/2*a*a+y:-ee/2*(--a*(a-2)-1)+y}function zu(a,y,ee,ne){return a===ne?y+ee:ee*(-Math.pow(2,-10*a/ne)+1)+y}ul.className="Animation",ul.EaseLinear=function(a,y,ee,ne){return ee*a/ne+y},ul.EaseInOutQuad=Wl,ul.EaseInQuad=function(a,y,ee,ne){return ee*(a/=ne)*a+y},ul.EaseOutQuad=function(a,y,ee,ne){return-ee*(a/=ne)*(a-2)+y},ul.EaseInExpo=function(a,y,ee,ne){return a===0?y:ee*Math.pow(2,10*(a/ne-1))+y},ul.EaseOutExpo=zu;function Xf(a,y,ee){this.start=a,this.end=y,this.Ku={},this.Hu=ee,this.nv=!1}Xf.className="AnimationState";function yd(a,y,ee){this.xd=null,this.rf=a,this.so=ee||Cu,this.uk=null,y!==void 0&&(this.uk=y,ee===void 0&&(this.so=Sc))}yd.prototype.copy=function(){var a=new yd(this.rf);a.so=this.so;var y=this.uk;if(y!==null){var ee={};y.duration!==void 0&&(ee.duration=y.duration),y.finished!==void 0&&(ee.finished=y.finished),y.easing!==void 0&&(ee.easing=y.easing),a.uk=ee}return a};function Zl(a,y){a=a.uk,a!==null&&(a.duration&&(y.duration=a.duration),a.finished&&(y.finished=a.finished),a.easing&&(y.easing=a.easing))}Re.Object.defineProperties(yd.prototype,{propertyName:{get:function(){return this.rf},set:function(a){this.rf=a}},animationSettings:{get:function(){return this.uk},set:function(a){this.uk=a}},startCondition:{get:function(){return this.so},set:function(a){this.so=a}}});var Cu=new nr(yd,"Default",1),Sc=new nr(yd,"Immediate",2),Ts=new nr(yd,"Bundled",3);yd.className="AnimationTrigger",yd.Default=Cu,yd.Immediate=Sc,yd.Bundled=Ts;function wl(a){Ca(this),this.H=null,this.Pa=new Hr,this.xa="",this.pb=1,this.o=!1,this.j=this.Uh=this.u=this.Oi=this.Ni=this.Mi=this.Li=this.Ji=this.Ki=this.Ii=this.Qi=this.Hi=this.Pi=this.Gi=this.Fi=!0,this.Zq=[],a&&Object.assign(this,a)}It=wl.prototype,It.clear=function(){for(var a=this.Pa,y=0;y<a.length;y++){var ee=a.s[y];ee.Ig=null,Lh(ee)}a.clear(),this.Zq.length=0},It.Xe=function(a){this.H=a},It.toString=function(a){a===void 0&&(a=0);var y='Layer "'+this.name+'"';if(0>=a)return y;for(var ee=0,ne=0,se=0,ue=0,me=0,be=this.Pa.iterator;be.next();){var Fe=be.value;Fe instanceof Ma?se++:Fe instanceof Yi?ne++:Fe instanceof Oi?ue++:Fe instanceof Cs?me++:ee++}if(be="",0<ee&&(be+=ee+" Parts "),0<ne&&(be+=ne+" Nodes "),0<se&&(be+=se+" Groups "),0<ue&&(be+=ue+" Links "),0<me&&(be+=me+" Adornments "),1<a)for(a=this.Pa.iterator;a.next();)ee=a.value,be+=`
`+ee.toString(),ne=ee.data,ne!==null&&oa(ne)&&(be+=" #"+oa(ne)),ee instanceof Yi?be+=" "+Nr(ne):ee instanceof Oi&&(be+=" "+Nr(ee.fromNode)+" "+Nr(ee.toNode));return y+" "+this.Pa.count+": "+be},It.ic=function(a,y,ee){if(y===void 0&&(y=null),ee===void 0&&(ee=null),this.Uh===!1)return null;var ne=!1;this.diagram!==null&&this.diagram.viewportBounds.ca(a)&&(ne=!0);for(var se=yn.alloc(),ue=this.Pa.s,me=ue.length;me--;){var be=ue[me];if((ne!==!0||Rp(be)!==!1)&&be.isVisible()&&(se.assign(a),es(se,be.oe),be=be.ic(se,y,ee),be!==null&&(y!==null&&(be=y(be)),be!==null&&(ee===null||ee(be)))))return yn.free(se),be}return yn.free(se),null},It.ji=function(a,y,ee,ne){if(y===void 0&&(y=null),ee===void 0&&(ee=null),ne instanceof Hr||ne instanceof Zr||(ne=new Zr),this.Uh===!1)return ne;var se=!1;this.diagram!==null&&this.diagram.viewportBounds.ca(a)&&(se=!0);for(var ue=yn.alloc(),me=this.Pa.s,be=me.length;be--;){var Fe=me[be];if((se!==!0||Rp(Fe)!==!1)&&Fe.isVisible()){ue.assign(a),es(ue,Fe.oe);var Ye=Fe;Fe.ji(ue,y,ee,ne)&&(y!==null&&(Ye=y(Ye)),Ye===null||ee!==null&&!ee(Ye)||ne.add(Ye))}}return yn.free(ue),ne},It.Cf=function(a,y,ee,ne,se){if(y===void 0&&(y=null),ee===void 0&&(ee=null),ne===void 0&&(ne=!1),se instanceof Hr||se instanceof Zr||(se=new Zr),this.Uh===!1)return se;var ue=!1;this.diagram!==null&&this.diagram.viewportBounds.Re(a)&&(ue=!0);for(var me=this.Pa.s,be=me.length;be--;){var Fe=me[be];if((ue!==!0||Rp(Fe)!==!1)&&Fe.isVisible()){var Ye=Fe;Fe.Cf(a,y,ee,ne,se)&&(y!==null&&(Ye=y(Ye)),Ye===null||ee!==null&&!ee(Ye)||se.add(Ye))}}return se},It.Nu=function(a,y,ee,ne,se,ue,me){if(this.Uh===!1)return se;for(var be=this.Pa.s,Fe=be.length;Fe--;){var Ye=be[Fe];if((me!==!0||Rp(Ye)!==!1)&&ue(Ye)&&Ye.isVisible()){var Je=Ye;Ye.Cf(a,y,ee,ne,se)&&(y!==null&&(Je=y(Je)),Je===null||ee!==null&&!ee(Je)||se.add(Je))}}return se},It.og=function(a,y,ee,ne,se,ue){if(ee===void 0&&(ee=null),ne===void 0&&(ne=null),se===void 0&&(se=!0),se!==!1&&se!==!0&&((se instanceof Hr||se instanceof Zr)&&(ue=se),se=!0),ue instanceof Hr||ue instanceof Zr||(ue=new Zr),this.Uh===!1)return ue;var me=!1;this.diagram!==null&&this.diagram.viewportBounds.ca(a)&&(me=!0);for(var be=yn.alloc(),Fe=yn.alloc(),Ye=this.Pa.s,Je=Ye.length;Je--;){var st=Ye[Je];if((me!==!0||Rp(st)!==!1)&&st.isVisible()){be.assign(a),es(be,st.oe),Fe.h(a.x+y,a.y),es(Fe,st.oe);var yt=st;st.og(be,Fe,ee,ne,se,ue)&&(ee!==null&&(yt=ee(yt)),yt===null||ne!==null&&!ne(yt)||ue.add(yt))}}return yn.free(be),yn.free(Fe),ue},It.Fd=function(a,y){if(this.visible){var ee=this.Pa.s,ne=ee.length;if(ne!==0){a=pr();for(var se=pr(),ue=0;ue<ne;ue++){var me=ee[ue];if(me.vw=ue,me instanceof Oi){if(me.fd===!1)continue}else if(me instanceof Cs&&me.adornedPart!==null)continue;var be=me.actualBounds;me.isVisible()&&gl(be,y)?(me.Fd(!0),a.push(me)):(me.Fd(!1),me.adornments!==null&&0<me.adornments.count&&se.push(me))}for(y=0;y<a.length;y++)for(ee=a[y],vy(ee),ee=ee.adornments;ee.next();)ne=ee.value,ne.measure(1/0,1/0),ne.arrange(),ne.Fd(!0);for(y=0;y<se.length;y++)vy(se[y]);Mr(a),Mr(se)}}};function Ou(a,y){var ee=1;return a.pb!==1&&(ee=y.globalAlpha,y.globalAlpha=ee*a.pb),ee}It.gc=function(a,y,ee){if(this.visible&&this.pb!==0&&(ee===void 0&&(ee=!0),ee||!this.isTemporary)){ee=this.Pa.s;var ne=ee.length;if(ne!==0){if(a.isTemporary)for(var se=0;se<ne;se++)ee[se].Gj();se=Ou(this,a);var ue=this.Zq;ue.length=0;for(var me=y.scale,be=Ur.alloc(),Fe=0;Fe<ne;Fe++)this.Oj(a,ee[Fe],y,ue,me,be,!0);if(Ur.free(be),a.isTemporary)for(y=0;y<ne;y++)ee[y].Gj();a.globalAlpha=se}}};function Kl(a,y,ee,ne,se){if(a.visible&&a.pb!==0&&(se||!a.isTemporary)){se=a.Pa.s;var ue=se.length;if(ue!==0){var me=Ou(a,y),be=a.Zq;be.length=0;for(var Fe=ee.scale,Ye=Ur.alloc(),Je=0;Je<ue;Je++){var st=se[Je];ne.contains(st)&&a.Oj(y,st,ee,be,Fe,Ye,!1)}Ur.free(Ye),y.globalAlpha=me}}}It.Oj=function(a,y,ee,ne,se,ue,me){if(me&&!Rp(y))a.Hs(y);else{if(ne!==null&&y instanceof Oi&&(y.isOrthogonal&&ne.push(y),y.fd===!1)){a.Hs(y);return}for(me=!1,ne=y.containingGroup;ne!==null;)me?ne.tb!==null&&ue.Ex(ne.tb):ne.tb!==null&&(me=!0,ue.assign(ne.tb)),ne=ne.containingGroup;var be=y.actualBounds;if(ne=!1,me&&y.isVisible()){if(!ue.Yc(be)){a.Hs(y);return}ne=!ue.Re(be)}ne&&(a.save(),a instanceof of?a.bk=ue.copy():(a.beginPath(),a.rect(ue.x,ue.y,ue.width,ue.height),a.clip())),be.width*se>ee.Oq||be.height*se>ee.Oq?y.gc(a,ee):(se=y.actualBounds,ue=y.naturalBounds,se.width===0||se.height===0||isNaN(se.x)||isNaN(se.y)||!y.isVisible()||(ee=y.transform,y.areaBackground!==null&&(Nu(y,a,y.areaBackground,!0,!0,ue,se),a.fillRect(se.x,se.y,se.width,se.height)),y.areaBackground===null&&y.background===null&&(Nu(y,a,"rgba(0,0,0,0.3)",!0,!1,ue,se),a.fillRect(se.x,se.y,se.width,se.height)),y.background!==null&&(a.transform(ee.m11,ee.m12,ee.m21,ee.m22,ee.dx,ee.dy),Nu(y,a,y.background,!0,!1,ue,se),a.fillRect(0,0,ue.width/2,ue.height/2),ee.ws()||(y=1/(ee.m11*ee.m22-ee.m12*ee.m21),a.transform(ee.m22*y,-ee.m12*y,-ee.m21*y,ee.m11*y,y*(ee.m21*ee.dy-ee.m22*ee.dx),y*(ee.m12*ee.dx-ee.m11*ee.dy)))))),ne&&(a.restore(),a.Vc(!0))}},It.g=function(a,y,ee,ne,se){var ue=this.diagram;ue!==null&&ue.cb(mi,a,this,y,ee,ne,se)},It.oi=function(a,y,ee){var ne=this.Pa;if(y.Ig=this,this===null&&Lh(y),a>=ne.count)a=ne.count;else if(ne.M(a)===y)return-1;return ne.Gb(a,y),y.Vo(ee),ne=this.diagram,ne!==null&&(ee?ne.N():ne.oi(y)),kc(this,a,y),a},It.pc=function(a,y,ee){if(!ee&&y.layer!==this&&y.layer!==null)return y.layer.pc(a,y,ee);var ne=this.Pa;if(0>a||a>=ne.length){if(a=ne.indexOf(y),0>a)return-1}else if(ne.M(a)!==y&&(a=ne.indexOf(y),0>a))return-1;return y.Wo(ee),ne.mb(a),ne=this.diagram,ne!==null&&(ee?ne.N():ne.pc(y)),y.Ig=null,Lh(y),a};function kc(a,y,ee){if(y=mh(a,y,ee),ee instanceof Ma&&ee!==null&&isNaN(ee.zOrder)){if(ee.memberParts.count!==0){for(var ne=-1,se=a.Pa.s,ue=se.length,me=0;me<ue;me++){var be=se[me];if(be===ee&&(y=me,0<=ne)||0>ne&&be.containingGroup===ee&&(ne=me,0<=y))break}!(0>ne)&&ne<y&&(se=a.Pa,se.mb(y),se.Gb(ne,ee))}y=ee.containingGroup,y!==null&&kc(a,-1,y)}ee.svg!==null&&ee.svg.remove()}function mh(a,y,ee){var ne=ee.zOrder;if(isNaN(ne))return y;a=a.Pa;var se=a.count;if(1>=se)return y;if(0>y&&(y=a.indexOf(ee)),0>y)return-1;for(var ue=y-1,me=NaN;0<=ue&&(me=a.M(ue).zOrder,!!isNaN(me));)ue--;for(var be=y+1,Fe=NaN;be<se&&(Fe=a.M(be).zOrder,!!isNaN(Fe));)be++;if(!isNaN(me)&&me>ne)for(;;){if(ue===-1||me<=ne){if(ue++,ue===y)break;return a.mb(y),a.Gb(ue,ee),ue}for(me=NaN;0<=--ue&&(me=a.M(ue).zOrder,isNaN(me)););}else if(!isNaN(Fe)&&Fe<ne)for(;;){if(be===se||Fe>=ne){if(be--,be===y)break;return a.mb(y),a.Gb(be,ee),be}for(Fe=NaN;++be<se&&(Fe=a.M(be).zOrder,isNaN(Fe)););}return y}Re.Object.defineProperties(wl.prototype,{parts:{get:function(){return this.Pa.iterator}},partsBackwards:{get:function(){return this.Pa.iteratorBackwards}},diagram:{get:function(){return this.H}},name:{get:function(){return this.xa},set:function(a){var y=this.xa;if(y!==a){var ee=this.diagram;if(ee!==null)for(y===""&&cn("Cannot rename default Layer to: "+a),ee=ee.layers;ee.next();)ee.value.name===a&&cn("Layer.name is already present in this diagram: "+a);for(this.xa=a,this.g("name",y,a),a=this.Pa.iterator;a.next();)a.value.layerName=this.xa}}},opacity:{get:function(){return this.pb},set:function(a){var y=this.pb;y!==a&&((0>a||1<a)&&ir(a,"0 <= value <= 1",wl,"opacity"),this.pb=a,this.g("opacity",y,a),a=this.diagram,a!==null&&a.N())}},isTemporary:{get:function(){return this.o},set:function(a){var y=this.o;y!==a&&((this.o=a)&&(this.isInDocumentBounds=!1),this.g("isTemporary",y,a))}},visible:{get:function(){return this.u},set:function(a){var y=this.u;if(y!==a){for(this.u=a,this.g("visible",y,a),y=this.Pa.iterator;y.next();)y.value.Zb(a);a=this.diagram,a!==null&&a.N()}}},pickable:{get:function(){return this.Uh},set:function(a){var y=this.Uh;y!==a&&(this.Uh=a,this.g("pickable",y,a))}},isInDocumentBounds:{get:function(){return this.j},set:function(a){this.j!==a&&(this.j=a,this.diagram!==null&&this.diagram.Ya())}},allowCopy:{get:function(){return this.Fi},set:function(a){var y=this.Fi;y!==a&&(this.Fi=a,this.g("allowCopy",y,a))}},allowDelete:{get:function(){return this.Gi},set:function(a){var y=this.Gi;y!==a&&(this.Gi=a,this.g("allowDelete",y,a))}},allowTextEdit:{get:function(){return this.Pi},set:function(a){var y=this.Pi;y!==a&&(this.Pi=a,this.g("allowTextEdit",y,a))}},allowGroup:{get:function(){return this.Hi},set:function(a){var y=this.Hi;y!==a&&(this.Hi=a,this.g("allowGroup",y,a))}},allowUngroup:{get:function(){return this.Qi},set:function(a){var y=this.Qi;y!==a&&(this.Qi=a,this.g("allowUngroup",y,a))}},allowLink:{get:function(){return this.Ii},set:function(a){var y=this.Ii;y!==a&&(this.Ii=a,this.g("allowLink",y,a))}},allowRelink:{get:function(){return this.Ki},set:function(a){var y=this.Ki;y!==a&&(this.Ki=a,this.g("allowRelink",y,a))}},allowMove:{get:function(){return this.Ji},set:function(a){var y=this.Ji;y!==a&&(this.Ji=a,this.g("allowMove",y,a))}},allowReshape:{get:function(){return this.Li},set:function(a){var y=this.Li;y!==a&&(this.Li=a,this.g("allowReshape",y,a))}},allowResize:{get:function(){return this.Mi},set:function(a){var y=this.Mi;y!==a&&(this.Mi=a,this.g("allowResize",y,a))}},allowRotate:{get:function(){return this.Ni},set:function(a){var y=this.Ni;y!==a&&(this.Ni=a,this.g("allowRotate",y,a))}},allowSelect:{get:function(){return this.Oi},set:function(a){var y=this.Oi;y!==a&&(this.Oi=a,this.g("allowSelect",y,a))}}}),wl.prototype.findObjectsNear=wl.prototype.og,wl.prototype.findObjectsIn=wl.prototype.Cf,wl.prototype.findObjectsAt=wl.prototype.ji,wl.prototype.findObjectAt=wl.prototype.ic,wl.className="Layer";function Lr(a,y){if(Ox||(Eh(),Ox=!0),Ca(this),Qf=this,this.vb=!0,this.Ka=null,this.ya=this.Aa=0,this.ta=null,bu){var ee=this,ne=function(){ee.removeEventListener(Ct.document,"DOMContentLoaded",ne,!1),ee.setRTL()};Ct.document.body!==null?this.setRTL():ee.addEventListener(Ct.document,"DOMContentLoaded",ne,!1)}this.ol=null,Kg.add("Model",Ks);var se=this;return this.Hb=function(ue){var me=se.partManager;if(ue.model===me.diagram.model&&me.diagram.aa){me.diagram.aa=!1;try{var be=ue.change;ue.modelChange===""&&be===mi&&me.updateDataBindings(ue.object,ue.propertyName)}finally{me.diagram.aa=!0}}},this.Oc=function(ue){se.partManager.doModelChanged(ue)},this.hu=this.ku=null,hm(this),this.model=Jw(),this.Wg=!0,t0(this),this.layout=new Ol,this.Wg=!1,this.ck=this.ek=this.fk=this.dk=this.ui=this.aA=this.$j=this.Ov=null,this.hk=function(){},this.preventDefault=null,this.rn=!1,this.Yf=new nA,a!==void 0&&(typeof a=="string"||Ct.Element&&a instanceof Element?mg(this,a):y=a),this.vb=!1,y&&this.nm(y),this}var Af,Qf;function hm(a){a.Yd=new Zo,a.Yd.Xe(a),a.Db=17,a.Gw=!1,a.tn=!1,a.bu="default",a.Wa=new Hr,a.pj=new Ji,a.nl="default",a.Tx(),a.Sx(),a.pb=1,a.pa=new yn(NaN,NaN).freeze(),a.du=new yn(NaN,NaN),a.Ca=1,a.Pp=1,a.zt=new yn(NaN,NaN).freeze(),a.At=NaN,a.Ot=1e-4,a.Mt=100,a.Ab=new Da,a.zu=new yn(NaN,NaN).freeze(),a.ut=new Ur(NaN,NaN,NaN,NaN).freeze(),a.rj=new jo(0,0,0,0).freeze(),a.sj=Cf,a.nu=!1,a.Zt=null,a.fu=null,a.yh=Qh,a.zk=Zs,a.Fg=Qh,a.pq=Zs,a.yt=Ya,a.Bt=Ya,a.Fc=!0,a.pn=!1,a.De=new Zr,a.Eh=new Ji,a.Xm=!0,a.vp=250,a.vk=-1,a.xp=new jo(16,16,16,16).freeze(),a.kg=!1,a.Jk=!1,a.fn=!0,a.bq=new Ar,a.bq.diagram=a,a.Qg=new Ar,a.Qg.diagram=a,a.cj=new Ar,a.cj.diagram=a,a.zg=null,a.pf=null,a.qu=!1,tA(a),a.ai=new Zr,a.Ht=!0,a.uu=jd,a.pw=!1,a.wu=f1,a.it="auto",a.Op="auto",a.zh=null,a.Fh=null,a.Bh=null,a.Qh=null,a.Oh=null,a.Nh=null,a.Qt=null,a.Lh=null,a.xt=!1,a.Mh=null,a.Ph=null,a.$h=null,a.Ch=null,a.Rt=!1,a.Yt={},a.oj=[null,null],a.Wg=!1,a.Iw=!1,a.ou=!1,a.lt=!1,a.rw=!0,a.ld=!1,a.$i=!1,a.Tw=!0,a.Ce=-2,a.Og=new Ji,a.Xn=new Hr,a.Gg=!1,a.Jd=!0,a.Us=!0,a.Fi=!0,a.Gi=!0,a.Vs=!1,a.Ws=!0,a.Pi=!0,a.Hi=!0,a.Qi=!0,a.Ys=!0,a.Ii=!0,a.Ki=!0,a.Ji=!0,a.Li=!0,a.Mi=!0,a.Ni=!0,a.Oi=!0,a.Zs=!0,a.at=!0,a.qw=!1,a.Vk=!1,a.mn=!0,a.nn=!0,a.Xs=!0,a.$s=!0,a.iu=16,a.mu=16,a.qr=!1,a.gu=!1,a.lu=0,a.ju=0,a.yb=new jo(5).freeze(),a.Hw=new Zr().freeze(),a.Nt=999999999,a.nw=new Zr().freeze(),a.Zi=!0,a.Ee=!0,a.vd=!0,a.Be=!1,a.gf=!1,a.xh=!0,a.hf=!1,a.sy=new Zr,a.ow=new Zr,a.Xh=null,a.aw=new Ii(8,8),a.bw=999,a.Bw=1,a.Jw=0,a.fc={scale:1,position:new yn,bounds:new Ur,Py:new Ii,bA:new Ii,Oz:!1},a.fc.canvasSize=a.fc.Py,a.fc.newCanvasSize=a.fc.bA,a.fc.isScroll=!1,a.Rw=new Ur(NaN,NaN,NaN,NaN).freeze(),a.wo=new Ii(NaN,NaN).freeze(),a.Sp=new Ur(NaN,NaN,NaN,NaN).freeze(),a.It=!1,a.Lg=new Ji;var y=new Yi,ee=new Dl;ee.bind(new $u("text","",Nr)),y.add(ee),a.ny=y,a.Lg.add("",y),y=new Yi,ee=new Dl,ee.stroke="brown",ee.bind(new $u("text","",Nr)),y.add(ee),a.Lg.add("Comment",y),y=new Yi,y.selectable=!1,y.avoidable=!1,ee=new Ua,ee.figure="Ellipse",ee.fill="black",ee.stroke=null,ee.desiredSize=new Ii(3,3).ja(),y.add(ee),a.Lg.add("LinkLabel",y),a.Yi=new Ji,y=new Ma,y.selectionObjectName="GROUPPANEL",y.type=bi.Vertical,ee=new Dl,ee.font="bold 12pt sans-serif",ee.bind(new $u("text","",Nr)),y.add(ee),ee=new bi(bi.Auto),ee.name="GROUPPANEL";var ne=new Ua;ne.figure="Rectangle",ne.fill="rgba(128,128,128,0.2)",ne.stroke="black",ee.add(ne),ne=new zh,ne.padding=new jo(5,5,5,5).ja(),ee.add(ne),y.add(ee),a.ly=y,a.Yi.add("",y),a.Kh=new Ji,y=new Oi,ee=new Ua,ee.isPanelMain=!0,y.add(ee),ee=new Ua,ee.toArrow="Standard",ee.fill="black",ee.stroke=null,ee.strokeWidth=0,y.add(ee),a.my=y,a.Kh.add("",y),y=new Oi,ee=new Ua,ee.isPanelMain=!0,ee.stroke="brown",y.add(ee),a.Kh.add("Comment",y),y=new Cs,y.type=bi.Auto,ee=new Ua,ee.fill=null,ee.stroke="dodgerblue",ee.strokeWidth=3,y.add(ee),ee=new zh,ee.margin=new jo(1.5,1.5,1.5,1.5).ja(),y.add(ee),a.St=y,a.wt=y,y=new Cs,y.type=bi.Link,ee=new Ua,ee.isPanelMain=!0,ee.fill=null,ee.stroke="dodgerblue",ee.strokeWidth=3,y.add(ee),a.Kt=y,a.fe=null,a.mq=!1,a.Ck=null,a.partManager=new Ks,a.toolManager=new Ei,a.toolManager.initializeStandardTools(),a.defaultTool=a.toolManager,a.currentTool=a.defaultTool,a.nt=null,a.Wm=new _e,a.Vt=null,a.Wt=null,a.Mr=!1,a.commandHandler=lp(),a.eq=null,a.fq=ma,a.Pw=!1,a.Mb=1,a.Yh=null,a.Oq=1,a.Sq=0,a.zw=[0,0,0,0,0],a.Tq=0,a.yq=1,a.tw=0,a.uw=new yn,a.zy=500,a.wp=new yn,a.wq=!1}Lr.prototype.clear=function(){this.animationManager.Cc(),this.model.clear(),oy=null,vm="",e0(this,!1),this.Xn.clear(),Fl(),this.Og.clear(),this.Xh=null,this.Ya(),this.Va(),this.N()};function e0(a,y){a.animationManager.Cc(!0),a.Hw=new Zr().freeze(),a.nw=new Zr().freeze();var ee=a.skipsUndoManager,ne=a.cc!==null&&a.cc!==void 0;ne&&(a.skipsUndoManager=!0);var se=null;a.fe!==null&&(se=a.fe.part,se!==null&&a.remove(se));var ue=[],me=a.Wa.length;if(y){for(y=0;y<me;y++)for(var be=a.Wa.s[y].parts;be.next();){var Fe=be.value;Fe!==se&&Fe.data===null&&ue.push(Fe)}for(y=0;y<ue.length;y++)a.remove(ue[y])}for(y=0;y<me;y++)a.Wa.s[y].clear();return a.partManager.clear(),a.De.clear(),a.Eh.clear(),a.ai.clear(),a.Ck=null,a.Xn.clear(),Fl(),a.Og.clear(),Zi=[],se!==null&&(a.add(se),a.partManager.parts.remove(se)),ne&&(a.skipsUndoManager=ee),ue}function lp(){return null}Lr.prototype.reset=function(){this.clear(),this.vb=!0,hm(this),Vg(this),this.Wg=!0,t0(this),this.layout=new Ol,this.Wg=!1,this.model=Jw(),this.model.undoManager=new _i,this.vb=this.rn=!1,this.N()},Lr.prototype.setRTL=function(a){a=a===void 0?this.div:a,a===null&&(a=Ct.document.body);var y=Sn("div");y.dir="rtl",y.style.cssText="font-size: 14px; width: 1px; height: 1px; position: absolute; top: -1000px; overflow: scroll;",y.textContent="A",a.appendChild(y);var ee="reverse";0<y.scrollLeft?ee="default":(y.scrollLeft=1,y.scrollLeft===0&&(ee="negative")),a.removeChild(y),this.bu=ee},Lr.prototype.setScrollWidth=function(a){a=a===void 0?this.div:a,a===null&&(a=Ct.document.body);var y=0;if(bu){var ee=Eg;y=Af,ee===null&&(ee=Eg=Sn("p"),ee.style.width="100%",ee.style.height="200px",ee.style.boxSizing="content-box",y=Af=Sn("div"),y.style.position="absolute",y.style.visibility="hidden",y.style.width="200px",y.style.height="150px",y.style.boxSizing="content-box",y.appendChild(ee)),y.style.overflow="hidden",a.appendChild(y);var ne=ee.offsetWidth;y.style.overflow="scroll",ee=ee.offsetWidth,ne===ee&&(ee=y.clientWidth),a.removeChild(y),y=ne-ee,y!==0||gi||(y=11)}this.Db=y,this.Gw=!0},Lr.prototype.qb=function(a){a.classType===Lr&&(this.autoScale=a)},Lr.prototype.toString=function(a){a===void 0&&(a=0);var y="";if(this.div&&this.div.id&&(y=this.div.id),y='Diagram "'+y+'"',0>=a)return y;for(var ee=this.Wa.iterator;ee.next();)y+=`
`+ee.value.toString(a-1);return y};function mg(a,y){if(bu){if(y!=null||cn("Diagram setup requires an argument DIV."),a.Ka!==null&&cn("Diagram has already completed setup."),typeof y=="string"?a.Ka=Ct.document.getElementById(y):y instanceof HTMLDivElement?a.Ka=y:cn("No DIV or DIV id supplied: "+y),a.Ka===null&&cn("Invalid DIV id; could not get element with id: "+y),a.Ka.H!==void 0&&cn("Invalid div id; div already has a Diagram associated with it."),!a.ol&&Ct.ResizeObserver){var ee=nn(function(){a.$b()},250);a.ol=new Ct.ResizeObserver(function(){ee()}),a.ol.observe(a.Ka)}Ct.getComputedStyle(a.Ka,null).position==="static"&&(a.Ka.style.position="relative"),y=5;var ne="rgba(2"+y+"5, 255, 255, 0)";y--,a.Ka.style["-webkit-tap-highlight-color"]=ne,a.Ka.innerHTML="",a.Ka.H=a,a.Ka.goDiagram=a,a.Ka.go=Ct.go;var se=new wg(a);if(se.style!==void 0&&(se.style.position="absolute",se.style.top="0px",se.style.left="0px",Ct.getComputedStyle(a.Ka,null).getPropertyValue("direction")==="rtl"&&(a.tn=!0),se.style.zIndex="2",se.style.userSelect="none",se.style.MozUserSelect="none",se.style.touchAction="none",se.style.letterSpacing="normal !important",se.style.wordSpacing="normal !important"),a.ta=se,a.ib=se.context,ne=a.ib,a.Mb=a.computePixelRatio(),a.viewSize.w()||(a.Aa=a.Ka.clientWidth||1,a.ya=a.Ka.clientHeight||1),i0(a,a.Aa,a.ya),a.Ka.insertBefore(se.Oa,a.Ka.firstChild),se=new wg(null),se.width=1,se.height=1,a.jw=se,a.oy=se.context,bu){se=Sn("div");var ue=Sn("div");se.style.position="absolute",se.style.overflow="auto",se.style.width=a.Aa+"px",se.style.height=a.ya+"px",se.style.zIndex="1",ue.style.position="absolute",ue.style.width="1px",ue.style.height="1px",a.Ka.appendChild(se),se.appendChild(ue),se.onscroll=ty,se.addEventListener("pointerdown",B0),se.H=a,se.uy=!0,se.vy=!0,a.ku=se,a.hu=ue}a.hk=nn(function(){a.Yh=null,a.N()},300),a.Ov=nn(function(){O0(a)},250),a.preventDefault=function(me){return me.preventDefault(),!1},a.$j=function(me){if(a.isEnabled){var be=Vu(a,me,!0);be.bubbles=!0;var Fe=0,Ye=0;be.delta=0,me.deltaX!==void 0?(me.deltaX!==0&&(Fe=0<me.deltaX?1:-1),me.deltaY!==0&&(Ye=0<me.deltaY?1:-1),be.delta=Math.abs(me.deltaX)>Math.abs(me.deltaY)?-Fe:-Ye):me.wheelDeltaX!==void 0?(me.wheelDeltaX!==0&&(Fe=0<me.wheelDeltaX?-1:1),me.wheelDeltaY!==0&&(Ye=0<me.wheelDeltaY?-1:1),be.delta=Math.abs(me.wheelDeltaX)>Math.abs(me.wheelDeltaY)?-Fe:-Ye):me.wheelDelta!==void 0&&me.wheelDelta!==0&&(be.delta=0<me.wheelDelta?1:-1),a.doMouseWheel(),xd(be,me)}},a.aA=function(me){a.isEnabled&&(a.Vk=!1,Vu(a,me,!0),me=a.currentTool,me.cancelWaitAfter(),me.standardMouseOver())},a.ui=function(me){if(a.isEnabled){a.Vk=!0;var be=a.Yt;be[me.pointerId]===void 0&&(be[me.pointerId]=me),be=a.oj;var Fe=!1;if(be[0]===null||be[0].pointerId!==me.pointerId&&be[0].pointerType===me.pointerType)if(be[1]!==null&&be[1].pointerId===me.pointerId)be[1]=me,Fe=!0;else if(be[0]===null)be[0]=me;else if(be[1]===null)be[1]=me,Fe=!0;else{me.preventDefault();return}else be[0]=me;(be=me.pointerType==="touch"||me.pointerType==="pen")&&(a.qu=!1,a.wq=!0);var Ye=Fe;Fe=n0(a,me,!0,!1,!0,Ye),r0(a,me,Fe),Fe.targetDiagram=k0(me,me.target),Fe.targetObject=null,Ye||Fe.clone(a.bq),Ye=a.uw,be=be?25:10,me.timeStamp-a.tw<a.zy&&!(Math.abs(Ye.x-me.screenX)>be||Math.abs(Ye.y-me.screenY)>be)?a.yq++:a.yq=1,Fe.clickCount=a.yq,a.tw=me.timeStamp,a.uw.sg(me.screenX,me.screenY),a.doMouseDown(),me.button===1?me.preventDefault():xd(Fe,me)}},a.dk=function(me){if(a.isEnabled){a.Vk=!0;var be=a.oj;if(be[0]===null||be[0].pointerId!==me.pointerId&&be[0].pointerType===me.pointerType){if(be[1]!==null&&be[1].pointerId===me.pointerId){be[1]=me;return}if(be[0]===null)be[0]=me;else return}else be[0]=me;if(be[0].pointerId===me.pointerId){be=n0(a,me,!1,!1,!1,be[1]!==null);var Fe=Ct.document.elementFromPoint(me.clientX,me.clientY)||null;Fe!==null&&Fe.shadowRoot!==void 0&&Fe.shadowRoot!==null&&(Fe=Fe.shadowRoot.elementFromPoint(me.clientX,me.clientY));var Ye=a,Je=me;Fe&&Fe.H&&(Je=me,Ye=Fe.H),be.targetDiagram=Ye,r0(a,Je,be),be.targetObject=null,a.doMouseMove(),xd(be,me)}}},a.fk=function(me){if(a.isEnabled){a.Vk=!0;var be=me.pointerType==="touch"||me.pointerType==="pen",Fe=a.Yt;if(be&&a.qu)delete Fe[me.pointerId],me.preventDefault();else if(Fe=a.oj,Fe[0]===null||Fe[0].pointerId!==me.pointerId&&Fe[0].pointerType===me.pointerType)Fe[1]!==null&&Fe[1].pointerId===me.pointerId&&(Fe[1]=null);else{Fe[0]=null,Fe=n0(a,me,!1,!0,!0,!1);var Ye=Ct.document.elementFromPoint(me.clientX,me.clientY)||null;Ye!==null&&Ye.shadowRoot!==void 0&&Ye.shadowRoot!==null&&(Ye=Ye.shadowRoot.elementFromPoint(me.clientX,me.clientY)),Ye!==null&&Ye.H instanceof Lr&&Ye.H!==a&&r0(Ye.H,me,Fe),Ye===null&&(Ye=me.target),r0(a,me,Fe),Fe.clickCount=a.yq,Fe.targetDiagram=k0(me,Ye),Fe.targetObject=null,a.doMouseUp(),xd(Fe,me),be&&(a.wq=!1)}}},a.ek=function(me){if(a.isEnabled){a.Vk=!1;var be=a.Yt;be[me.pointerId]&&delete be[me.pointerId],be=a.oj,be[0]!==null&&be[0].pointerId===me.pointerId&&(be[0]=null),be[1]!==null&&be[1].pointerId===me.pointerId&&(be[1]=null),me.pointerType!=="touch"&&me.pointerType!=="pen"&&(me=a.currentTool,me.cancelWaitAfter(),me.standardMouseOver())}},a.ck=function(me){var be=a.oj;be[0]!==null&&be[0].pointerId===me.pointerId?(be[0]=null,a.wq=!1):be[1]!==null&&be[1].pointerId===me.pointerId&&(be[1]=null)},a.Vp=ne.Z["d"+xm[1]+xm[2]+"wI"+Mv.slice(1,5)]["b"+qw.slice(1,y)](ne.Z,ly,y,y),ne.Vc(!0),dm(a),a.nl==="svg"&&(y=a.pj.get("svg"),a.Ka.appendChild(y.Oa),a.ib=y.context)}}Lr.prototype.addEventListener=function(a,y,ee,ne){a.addEventListener(y,ee,{capture:ne,passive:!1})},Lr.prototype.removeEventListener=function(a,y,ee,ne){a.removeEventListener(y,ee,{capture:ne})};function dm(a){var y=a.ta.Oa;y instanceof HTMLCanvasElement||(y=a.div),a.addEventListener(y,"pointerdown",a.ui,!1),a.addEventListener(y,"pointermove",a.dk,!1),a.addEventListener(y,"pointerup",a.fk,!1),a.addEventListener(y,"pointerout",a.ek,!1),a.addEventListener(y,"pointercancel",a.ck,!1),a.addEventListener(y,"pointerenter",a.bz,!1),a.addEventListener(y,"pointerleave",a.cz,!1),a.addEventListener(y,"wheel",a.$j,!1),a.addEventListener(y,"keydown",a.Qz,!1),a.addEventListener(y,"keyup",a.Rz,!1),a.addEventListener(y,"blur",a.Ny,!1),a.addEventListener(y,"focus",a.Oy,!1),a.addEventListener(y,"selectstart",function(ee){return ee.preventDefault(),!1},!1),a.addEventListener(y,"contextmenu",function(ee){return ee.preventDefault(),!1},!1),a.addEventListener(Ct,"resize",a.Ov,!1)}function yh(a){30<a.Sq&&(a.Yh=1)}function Jf(a,y){a.Yh!==null&&(a.Yh=null,y&&a.hk(),Ao&&Ao.nx||(a.Sq=0,a.zw=[0,0,0,0,0],a.Tq=0))}Lr.prototype.computePixelRatio=function(){return this.Yh!==null?this.Yh:Ct.devicePixelRatio||1},Lr.prototype.doMouseMove=function(){this.currentTool.doMouseMove()},Lr.prototype.doMouseDown=function(){this.currentTool.doMouseDown()},Lr.prototype.doMouseUp=function(){this.currentTool.doMouseUp()},Lr.prototype.doMouseWheel=function(){this.currentTool.doMouseWheel()},Lr.prototype.doKeyDown=function(){this.currentTool.doKeyDown()},Lr.prototype.doKeyUp=function(){this.currentTool.doKeyUp()},Lr.prototype.doFocus=function(){this.focus()},Lr.prototype.focus=function(){if(this.ta)if(this.scrollsPageOnFocus)this.ta.focus();else{var a=Ct.scrollX||Ct.pageXOffset,y=Ct.scrollY||Ct.pageYOffset;this.ta.focus(),Ct.scrollTo(a,y)}},Lr.prototype.Oy=function(){this.H.R("GainedFocus")},Lr.prototype.Ny=function(){this.H.R("LostFocus")};function O0(a){if(a.ta!==null){var y=a.Ka;if(y!==null&&y.clientWidth!==0&&y.clientHeight!==0){a.Gw||a.setScrollWidth();var ee=a.gf?a.Db:0,ne=a.Be?a.Db:0,se=a.Mb;a.Mb=a.computePixelRatio(),a.Mb!==se&&(a.pn=!0,a.$b()),(y.clientWidth!==a.Aa+ee||y.clientHeight!==a.ya+ne)&&(a.Ee=!0,a.Fc=!0,y=a.layout,y!==null&&y.isViewportSized&&a.autoScale===Qh&&(a.Jk=!0,y.C()),a.ld||a.$b())}}}function t0(a){var y=new wl;y.name="Background",a.Al(y),y=new wl,y.name="",a.Al(y),y=new wl,y.name="Foreground",a.Al(y),y=new wl,y.name="Adornment",y.isTemporary=!0,y.isInDocumentBounds=!1,a.Al(y),y=new wl,y.name="Tool",y.isTemporary=!0,y.isInDocumentBounds=!0,a.Al(y),y=new wl,y.name="Grid",y.allowSelect=!1,y.pickable=!1,y.isTemporary=!0,y.isInDocumentBounds=!1,a.Ww(y,a.Qj("Background"))}function N0(a){var y=new bi(bi.Grid);y.name="GRID";var ee=new Ua;return ee.figure="LineH",ee.stroke="lightgray",ee.strokeWidth=.5,ee.interval=1,y.add(ee),ee=new Ua,ee.figure="LineH",ee.stroke="gray",ee.strokeWidth=.5,ee.interval=5,y.add(ee),ee=new Ua,ee.figure="LineH",ee.stroke="gray",ee.strokeWidth=1,ee.interval=10,y.add(ee),ee=new Ua,ee.figure="LineV",ee.stroke="lightgray",ee.strokeWidth=.5,ee.interval=1,y.add(ee),ee=new Ua,ee.figure="LineV",ee.stroke="gray",ee.strokeWidth=.5,ee.interval=5,y.add(ee),ee=new Ua,ee.figure="LineV",ee.stroke="gray",ee.strokeWidth=1,ee.interval=10,y.add(ee),ee=new _o,ee.add(y),ee.layerName="Grid",ee.zOrder=0,ee.isInDocumentBounds=!1,ee.isAnimated=!1,ee.pickable=!1,ee.locationObjectName="GRID",a.add(ee),a.partManager.parts.remove(ee),y.visible=!1,y}function ty(){this.H.gu?this.H.gu=!1:this.H.isEnabled?this.H.kx(this):cp(this.H)}function B0(a){this.H.isEnabled?(this.H.lu=a.target.scrollTop,this.H.ju=a.target.scrollLeft):cp(this.H)}Lr.prototype.kx=function(a){if(this.ta!==null){var y=this.ku,ee=this.hu;this.qr=!0;var ne=this.documentBounds,se=this.viewportBounds,ue=this.rj,me=ne.x-ue.left,be=ne.y-ue.top,Fe=ne.width+ue.left+ue.right,Ye=ne.height+ue.top+ue.bottom,Je=ne.right+ue.right;ue=ne.bottom+ue.bottom;var st=se.x;ne=se.y;var yt=se.width,Tt=se.height,Ft=se.right,Zt=se.bottom;se=this.scale;var bn=a.scrollLeft;if(this.tn)switch(this.bu){case"negative":bn=bn+a.scrollWidth-a.clientWidth;break;case"reverse":bn=a.scrollWidth-bn-a.clientWidth}var fn=bn;yt<Fe||Tt<Ye?(bn=yn.allocAt(this.position.x,this.position.y),this.allowHorizontalScroll&&this.ju!==fn&&(bn.x=fn/se+me,this.ju=fn),this.allowVerticalScroll&&this.lu!==a.scrollTop&&(bn.y=a.scrollTop/se+be,this.lu=a.scrollTop),this.position=bn,yn.free(bn),this.Ee=this.qr=!1):(bn=yn.alloc(),a.uy&&this.allowHorizontalScroll&&(me<st&&(this.position=bn.h(fn+me,this.position.y)),Je>Ft&&(this.position=bn.h(-(y.scrollWidth-this.Aa)+fn-this.Aa/se+Je,this.position.y))),a.vy&&this.allowVerticalScroll&&(be<ne&&(this.position=bn.h(this.position.x,a.scrollTop+be)),ue>Zt&&(this.position=bn.h(this.position.x,-(y.scrollHeight-this.ya)+a.scrollTop-this.ya/se+ue))),yn.free(bn),this.vd=!0,this.Ee=this.qr=!1,ne=this.documentBounds,se=this.viewportBounds,Je=ne.right,Ft=se.right,ue=ne.bottom,Zt=se.bottom,me=ne.x,st=se.x,be=ne.y,ne=se.y,yt>=Fe&&me>=st&&Je<=Ft&&(ee.style.width="1px"),Tt>=Ye&&be>=ne&&ue<=Zt&&(ee.style.height="1px"))}},Lr.prototype.computeBounds=function(a){return a===void 0&&(a=new Ur),rc(this),R0(this,a)};function R0(a,y){if(a.fixedBounds.w())return y.assign(a.fixedBounds),y.Co(a.yb),y;for(var ee=!0,ne=a.Wa.s,se=ne.length,ue=0;ue<se;ue++){var me=ne[ue];if(me.visible&&me.isInDocumentBounds){me=me.Pa.s;for(var be=me.length,Fe=0;Fe<be;Fe++){var Ye=me[Fe];Ye.isInDocumentBounds&&Ye.isVisible()&&(Ye=Ye.actualBounds,Ye.w()&&(ee?(ee=!1,y.assign(Ye)):y.ed(Ye)))}}}return ee&&y.h(0,0,0,0),y.Co(a.yb),y}Lr.prototype.computePartsBounds=function(a,y){y===void 0&&(y=!1);var ee=null;if(dn(a))for(var ne=0;ne<a.length;ne++){var se=a[ne];!y&&se instanceof Oi||(se.Va(),ee===null?ee=se.actualBounds.copy():ee.ed(se.actualBounds))}else for(a=a.iterator;a.next();)ne=a.value,!y&&ne instanceof Oi||(ne.Va(),ee===null?ee=ne.actualBounds.copy():ee.ed(ne.actualBounds));return ee===null?new Ur(NaN,NaN,0,0):ee};function ah(a,y){if((y||a.hf)&&!a.vb&&a.ta!==null&&a.documentBounds.w()){if(a.vb=!0,y){var ee=a.initialPosition;if(ee.w()){a.vb=!1,a.position=ee;return}ee=yn.alloc(),ee.xi(a.documentBounds,a.initialDocumentSpot);var ne=a.viewportBounds;ne=Ur.allocAt(0,0,ne.width,ne.height);var se=yn.alloc();se.xi(ne,a.initialViewportSpot),se.h(ee.x-se.x,ee.y-se.y),a.position=se,Ur.free(ne),yn.free(se),yn.free(ee)}ee=a.yh,y&&a.Fg!==Qh&&(ee=a.Fg);var ue=ee!==Qh?Mh(a,ee):a.scale;ee=a.pa.x,ne=a.pa.y,se=a.Aa/ue;var me=a.ya/ue,be=a.zk,Fe=a.pq;y&&!be.sb()&&(Fe.sb()||Fe.Xb())&&(be=Fe.Xb()?us:Fe),Mp(a,a.documentBounds,se,me,be,y),y=a.scale,a.scale=ue,a.vb=!1,ue=a.viewportBounds,dr.B(ue.x,ee)&&dr.B(ue.y,ne)&&dr.B(ue.width,se)&&dr.B(ue.height,me)||a.onViewportBoundsChanged(new Ur(ee,ne,se,me),ue,y,!1)}}function Mh(a,y){var ee=a.Pp;if(a.ta===null)return ee;a.Va();var ne=a.documentBounds;if(!ne.w())return ee;var se=ne.width;ne=ne.height;var ue=a.Aa+(a.gf?a.Db:0),me=a.ya+(a.Be?a.Db:0),be=ue/se,Fe=me/ne;return y===wf?(y=Math.min(Fe,be),y>ee&&(y=ee),y<a.minScale&&(y=a.minScale),y>a.maxScale&&(y=a.maxScale),y):y===mm?(y=Fe>be?(me-a.Db)/ne:(ue-a.Db)/se,y>ee&&(y=ee),y<a.minScale&&(y=a.minScale),y>a.maxScale&&(y=a.maxScale),y):a.scale}Lr.prototype.zoomToFit=function(){var a=this.sj;this.sj=Cf,this.scale=Mh(this,wf),a!==Cf&&(ah(this,!1),Mp(this,this.documentBounds,this.Aa/this.Ca,this.ya/this.Ca,this.zk,!1)),this.sj=a},It=Lr.prototype,It.BA=function(a,y){y===void 0&&(y=wf);var ee=a.width,ne=a.height;if(!(ee===0||ne===0||isNaN(ee)&&isNaN(ne))){var se=1;if(y===wf||y===mm)if(isNaN(ee))se=this.viewportBounds.height*this.scale/ne;else if(isNaN(ne))se=this.viewportBounds.width*this.scale/ee;else{se=this.Aa;var ue=this.ya;se=y===mm?ue/ne>se/ee?(ue-(this.Be?this.Db:0))/ne:(se-(this.gf?this.Db:0))/ee:Math.min(ue/ne,se/ee)}this.scale=se,this.position=new yn(a.x,a.y)}},It.Jy=function(a,y){this.Va();var ee=this.documentBounds,ne=this.viewportBounds;this.position=new yn(ee.x+(a.x*ee.width+a.offsetX)-(y.x*ne.width-y.offsetX),ee.y+(a.y*ee.height+a.offsetY)-(y.y*ne.height-y.offsetY))},It.zz=function(a){if(a instanceof lr){this.eq=a;var y=yn.alloc();this.fq=this.op(a.ga(Ya,y)),yn.free(y)}else this.eq=null,this.fq=ma};function Mp(a,y,ee,ne,se,ue){var me=yn.allocAt(a.pa.x,a.pa.y),be=me.x,Fe=me.y;if(a.eq!==null){var Ye=yn.alloc();Ye=a.eq.ga(Ya,Ye),be=Ye.x-a.fq.x/a.scale,Fe=Ye.y-a.fq.y/a.scale,se=uu,yn.free(Ye)}(ue||a.scrollMode===Cf)&&(se.sb()&&(ee>y.width&&(be=y.x+(se.x*y.width+se.offsetX)-(se.x*ee-se.offsetX)),ne>y.height&&(Fe=y.y+(se.y*y.height+se.offsetY)-(se.y*ne-se.offsetY))),se=a.rj,ue=ee-y.width,ee<y.width+se.left+se.right?(be=Math.min(be+ee/2,y.right+Math.max(ue,se.right)-ee/2),be=Math.max(be,y.left-Math.max(ue,se.left)+ee/2),be-=ee/2):be>y.left?be=y.left:be<y.right-ee&&(be=y.right-ee),ee=ne-y.height,ne<y.height+se.top+se.bottom?(Fe=Math.min(Fe+ne/2,y.bottom+Math.max(ee,se.bottom)-ne/2),Fe=Math.max(Fe,y.top-Math.max(ee,se.top)+ne/2),Fe-=ne/2):Fe>y.top?Fe=y.top:Fe<y.bottom-ne&&(Fe=y.bottom-ne)),me.x=isFinite(be)?be:-a.yb.left,me.y=isFinite(Fe)?Fe:-a.yb.top,a.positionComputation!==null&&(y=a.positionComputation(a,me),me.x=y.x,me.y=y.y),ra(a.Yd,a.pa,me),a.pa.h(me.x,me.y),Vg(a),yn.free(me)}It.Ol=function(a,y){if(y===void 0&&(y=!0),y){if(a=_d(this,a,function(ee){return ee.part},function(ee){return ee.canSelect()}),a instanceof _o)return a}else if(a=_d(this,a,function(ee){return ee.part}),a instanceof _o)return a;return null},It.ic=function(a,y,ee){y===void 0&&(y=null),ee===void 0&&(ee=null),rc(this);for(var ne=this.Wa.iteratorBackwards;ne.next();){var se=ne.value;if(se.visible&&(se=se.ic(a,y,ee),se!==null))return se}return null};function _d(a,y,ee,ne){for(ee===void 0&&(ee=null),ne===void 0&&(ne=null),rc(a),a=a.Wa.iteratorBackwards;a.next();){var se=a.value;if(se.visible&&!se.isTemporary&&(se=se.ic(y,ee,ne),se!==null))return se}return null}It.lz=function(a,y,ee){return y===void 0&&(y=!0),up(this,a,function(ne){return ne.part},y?function(ne){return ne instanceof _o&&ne.canSelect()}:null,ee)};function up(a,y,ee,ne,se){for(ee===void 0&&(ee=null),ne===void 0&&(ne=null),se instanceof Hr||se instanceof Zr||(se=new Zr),rc(a),a=a.Wa.iteratorBackwards;a.next();){var ue=a.value;ue.visible&&!ue.isTemporary&&ue.ji(y,ee,ne,se)}return se}It.ji=function(a,y,ee,ne){y===void 0&&(y=null),ee===void 0&&(ee=null),ne instanceof Hr||ne instanceof Zr||(ne=new Zr),rc(this);for(var se=this.Wa.iteratorBackwards;se.next();){var ue=se.value;ue.visible&&ue.ji(a,y,ee,ne)}return ne},It.ux=function(a,y,ee,ne){return y===void 0&&(y=!1),ee===void 0&&(ee=!0),Lp(this,a,function(se){return se instanceof _o&&(!ee||se.canSelect())},y,ne)},It.Cf=function(a,y,ee,ne,se){y===void 0&&(y=null),ee===void 0&&(ee=null),ne===void 0&&(ne=!1),se instanceof Hr||se instanceof Zr||(se=new Zr),rc(this);for(var ue=this.Wa.iteratorBackwards;ue.next();){var me=ue.value;me.visible&&me.Cf(a,y,ee,ne,se)}return se},It.Nu=function(a,y,ee,ne,se,ue){var me=new Zr;rc(this);for(var be=this.Wa.iteratorBackwards;be.next();){var Fe=be.value;Fe.visible&&Fe.Nu(a,y,ee,ne,me,se,ue)}return me};function Lp(a,y,ee,ne,se){var ue=null;for(ue===void 0&&(ue=null),ee===void 0&&(ee=null),ne===void 0&&(ne=!1),se instanceof Hr||se instanceof Zr||(se=new Zr),rc(a),a=a.Wa.iteratorBackwards;a.next();){var me=a.value;me.visible&&!me.isTemporary&&me.Cf(y,ue,ee,ne,se)}return se}It.mz=function(a,y,ee,ne,se){return ee===void 0&&(ee=!0),ne===void 0&&(ne=!0),Tp(this,a,y,function(ue){return ue instanceof _o&&(!ne||ue.canSelect())},ee,se)},It.og=function(a,y,ee,ne,se,ue){ee===void 0&&(ee=null),ne===void 0&&(ne=null),se===void 0&&(se=!0),se!==!1&&se!==!0&&((se instanceof Hr||se instanceof Zr)&&(ue=se),se=!0),ue instanceof Hr||ue instanceof Zr||(ue=new Zr),rc(this);for(var me=this.Wa.iteratorBackwards;me.next();){var be=me.value;be.visible&&be.og(a,y,ee,ne,se,ue)}return ue};function Tp(a,y,ee,ne,se,ue){var me=null;for(me===void 0&&(me=null),ne===void 0&&(ne=null),se===void 0&&(se=!0),se!==!1&&se!==!0&&((se instanceof Hr||se instanceof Zr)&&(ue=se),se=!0),ue instanceof Hr||ue instanceof Zr||(ue=new Zr),rc(a),a=a.Wa.iteratorBackwards;a.next();){var be=a.value;be.visible&&!be.isTemporary&&be.og(y,ee,me,ne,se,ue)}return ue}Lr.prototype.acceptEvent=function(a){return Vu(this,a,a instanceof MouseEvent)};function Vu(a,y,ee){var ne=a.Qg;return a.Qg=a.cj,a.cj=ne,ne.diagram=a,ne.event=y,ee?r0(a,y,ne):(ne.viewPoint=a.Qg.viewPoint,ne.documentPoint=a.Qg.documentPoint),a=0,y.ctrlKey&&(a+=1),y.altKey&&(a+=2),y.shiftKey&&(a+=4),y.metaKey&&(a+=8),ne.modifiers=a,ne.button=y.button,y.buttons!==void 0&&(ne.buttons=y.buttons),gi&&y.button===0&&y.ctrlKey&&(ne.button=2),ne.down=!1,ne.up=!1,ne.clickCount=1,ne.delta=0,ne.handled=!1,ne.bubbles=!1,ne.timestamp=y.timeStamp,ne.isMultiTouch=!1,ne.targetDiagram=k0(y,y.target),ne.targetObject=null,ne}function k0(a,y){return y===null?null:(y=y.H)?y:((y=a.path)||typeof a.composedPath!="function"||(y=a.composedPath()),y&&y[0]&&y[0].H?y[0].H:null)}function n0(a,y,ee,ne,se,ue){var me=a.Qg;return a.Qg=a.cj,a.cj=me,me.diagram=a,me.clickCount=1,a=me.delta=0,y.ctrlKey&&(a+=1),y.altKey&&(a+=2),y.shiftKey&&(a+=4),y.metaKey&&(a+=8),me.modifiers=a,me.event=y,me.timestamp=y.timeStamp,me.button=y.button,me.buttons=y.buttons,gi&&y.button===0&&y.ctrlKey&&(me.button=2),me.down=ee,me.up=ne,me.handled=!1,me.bubbles=se,me.isMultiTouch=ue,me}function xd(a,y){return a.bubbles?!0:(y.stopPropagation!==void 0&&y.stopPropagation(),y.cancelable!==!1&&y.preventDefault(),y.cancelBubble=!0,!1)}Lr.prototype.Qz=function(a){var y=this.H;if(!this.H.isEnabled)return!1;var ee=Vu(y,a,!1);switch(ee.key=String.fromCharCode(a.which),ee.down=!0,a.which){case 8:ee.key="Backspace";break;case 33:ee.key="PageUp";break;case 34:ee.key="PageDown";break;case 35:ee.key="End";break;case 36:ee.key="Home";break;case 37:ee.key="Left";break;case 38:ee.key="Up";break;case 39:ee.key="Right";break;case 40:ee.key="Down";break;case 45:ee.key="Insert";break;case 46:ee.key="Del";break;case 48:ee.key="0";break;case 187:case 61:case 107:ee.key="Add";break;case 189:case 173:case 109:ee.key="Subtract";break;case 27:ee.key="Esc"}return y.doKeyDown(),xd(ee,a)},Lr.prototype.Rz=function(a){var y=this.H;if(!y.isEnabled)return!1;var ee=Vu(y,a,!1);switch(ee.key=String.fromCharCode(a.which),ee.up=!0,a.which){case 8:ee.key="Backspace";break;case 33:ee.key="PageUp";break;case 34:ee.key="PageDown";break;case 35:ee.key="End";break;case 36:ee.key="Home";break;case 37:ee.key="Left";break;case 38:ee.key="Up";break;case 39:ee.key="Right";break;case 40:ee.key="Down";break;case 45:ee.key="Insert";break;case 46:ee.key="Del"}return y.doKeyUp(),xd(ee,a)},Lr.prototype.bz=function(a){var y=this.H;if(!y.isEnabled)return!1;var ee=Vu(y,a,!0);return y.mouseEnter!==null&&y.mouseEnter(ee),y.currentTool.standardMouseOver(),xd(ee,a)},Lr.prototype.cz=function(a){var y=this.H;if(!y.isEnabled)return!1;var ee=Vu(y,a,!0);return y.mouseLeave!==null&&y.mouseLeave(ee),xd(ee,a)},Lr.prototype.getMouse=function(a){var y=this.ta;if(y===null)return new yn(0,0);var ee=y.getBoundingClientRect();return y=a.clientX-this.Aa/ee.width*ee.left,a=a.clientY-this.ya/ee.height*ee.top,this.Ab!==null?es(new yn(y,a),this.Ab):new yn(y,a)};function r0(a,y,ee){var ne=a.ta,se=a.Aa,ue=a.ya,me=0,be=0;ne!==null&&(ne=ne.getBoundingClientRect(),me=y.clientX-se/ne.width*ne.left,be=y.clientY-ue/ne.height*ne.top),ee.viewPoint.h(me,be),a.Ab!==null?(y=yn.allocAt(me,be),a.Ab.Cd(y),ee.documentPoint.assign(y),yn.free(y)):ee.documentPoint.h(me,be)}function F0(a,y,ee){if(a.oj[0]!==null){y=a.oj[y];var ne=a.ta;ne!==null&&(ne=ne.getBoundingClientRect(),ee.h(y.clientX-a.Aa/ne.width*ne.left,y.clientY-a.ya/ne.height*ne.top))}}Lr.prototype.Ya=function(){this.Zi||(this.Zi=!0,this.$b(!1))};function Cv(a){a.ld||rc(a),a.Va()}Lr.prototype.redraw=function(){this.vb||this.ld||(this.N(),this.bd())},It=Lr.prototype,It.Pz=function(){return this.kg},It.Xy=function(a){a===void 0&&(a=null);var y=this.animationManager,ee=y.isEnabled;y.Cc(),y.isEnabled=!1,Fh(this),this.hf=!1,this.du=new yn(NaN,NaN),y.isEnabled=ee,this.ld=!0;var ne=this;a!==null&&Gn(function(){ne.ld=!1,Oo(y,"Model"),a(ne)},1)},It.$b=function(a){if(a===void 0&&(a=!1),this.kg!==!0&&!(this.vb||a===!1&&this.ld)){this.kg=!0;var y=this;Ct.requestAnimationFrame(function(){y.kg&&y.bd()})}},It.bd=function(){(!this.fn||this.kg)&&(this.fn&&(this.fn=!1),Fh(this))};function Hg(a,y,ee){!a.Ee||a.vb||a.animationManager.defaultAnimation.isAnimating||cp(a)||(y&&rc(a),ee&&ah(a,!1))}function Fh(a,y){if(!a.ld&&(a.kg=!1,a.Ka!==null||a.wo.w())){a.ld=!0;var ee=a.animationManager,ne=a.Xn;if(!ee.isAnimating&&ne.length!==0){for(var se=ne.s,ue=se.length,me=0;me<ue;me++){var be=se[me];hc(be,!1),be.v()}ne.clear()}ne=a.ow,0<ne.count&&(ne.each(function(Fe){Fe.Nv()}),ne.clear()),se=ne=!1,ee.defaultAnimation.isAnimating&&(se=!0,ne=a.skipsUndoManager,a.skipsUndoManager=!0),ee.zb||O0(a),Hg(a,!1,!0),a.fe!==null&&(a.fe.visible&&!a.mq&&(yg(a),a.mq=!0),!a.fe.visible&&a.mq&&(a.mq=!1)),rc(a),ue=!1,(!a.hf||a.xh)&&(a.hf?Pv(a,!a.Jk):(a.Ea("Initial Layout"),ee.isEnabled===!1&&ee.Cc(),Pv(a,!1)),ue=!0),a.Jk=!1,rc(a),a.ou||Cv(a),Hg(a,!0,!1),me=!1,ue?(ee=Ur.alloc(),ee.assign(a.viewportBounds),a.hf||(me=a.hf=!0,a.skipsUndoManager||(a.undoManager.isPendingClear=!0),a.undoManager.isPendingUnmodified=!0,_0(a)),a.R("LayoutCompleted"),Hg(a,!0,!1),Ur.free(ee)):ee.Ok&&ee.Qw&&(a.Fg!==Qh?a.scale=Mh(a,a.Fg):a.yh!==Qh?a.scale=Mh(a,a.yh):(ee=a.initialScale,isFinite(ee)&&0<ee&&(a.scale=ee)),ah(a,!0)),ue&&me&&a.eb("Initial Layout"),rc(a),y||a.gc(a.ib),se&&(a.skipsUndoManager=ne),a.ld=!1}}function _0(a){if(a.Fg!==Qh)a.scale=Mh(a,a.Fg);else if(a.yh!==Qh)a.scale=Mh(a,a.yh);else{var y=a.initialScale;isFinite(y)&&0<y&&(a.scale=y)}ah(a,!0),y=a.Wa.s,a.Fd(y,y.length,a,a.viewportBounds),a.R("InitialLayoutCompleted"),a.du.assign(a.pa),yg(a)}function rc(a){if(a.De.count!==0&&(a.ld||!a.animationManager.isTicking)){for(var y=0;23>y;y++){var ee=a.De.iterator;if(ee===null||a.De.count===0)break;a.De=new Zr,a.Nv(ee,a.De)}a.nodes.each(function(ne){ne instanceof Ma&&ne.U&65536&&(ne.U=ne.U^65536)})}}It.Nv=function(a,y){for(a.reset();a.next();){var ee=a.value;!ee.Zc()||ee instanceof Ma||(ee.si()?(ee.measure(1/0,1/0),ee.arrange()):y.add(ee))}for(a.reset();a.next();)ee=a.value,ee instanceof Ma&&ee.isVisible()&&eu(this,ee);for(a.reset();a.next();)ee=a.value,ee instanceof Oi&&ee.isVisible()&&(ee.si()?(ee.measure(1/0,1/0),ee.arrange()):y.add(ee));for(a.reset();a.next();)ee=a.value,ee instanceof Cs&&ee.isVisible()&&(ee.si()?(ee.measure(1/0,1/0),ee.arrange()):y.add(ee))};function eu(a,y){for(var ee=pr(),ne=pr(),se=y.memberParts;se.next();){var ue=se.value;ue.isVisible()&&(ue instanceof Ma?(Mf(ue)||ud(ue)||Q0(ue))&&eu(a,ue):ue instanceof Oi?ue.fromNode===y||ue.toNode===y?ne.push(ue):ee.push(ue):(ue.measure(1/0,1/0),ue.arrange()))}for(a=ee.length,se=0;se<a;se++)ue=ee[se],ue.measure(1/0,1/0),ue.arrange();for(Mr(ee),y.measure(1/0,1/0),y.arrange(),a=ne.length,y=0;y<a;y++)ee=ne[y],ee.measure(1/0,1/0),ee.arrange();Mr(ne)}It.Fd=function(a,y,ee,ne){if(this.vd||this.animationManager.isAnimating)for(var se=0;se<y;se++)a[se].Fd(ee,ne)},It.gc=function(a){if(this.Ka!==null){if(this.ta===null&&cn("No canvas specified"),this.nl==="svg"){if(this.Ka!==null){var y=this.animationManager;if(!y.zb&&(!y.isAnimating||y.isTicking)){zd(this);var ee=this.Aa,ne=this.ya;if(a.Gv.resize(ee,ne,ee,ne),ee=this.Wa.s,ne=ee.length,this.Fd(ee,ne,this,this.viewportBounds),this.Fc||y.isAnimating){y=this.pa;var se=this.Ca,ue=Math.round(y.x*se)/se,me=Math.round(y.y*se)/se,be=this.Ab;for(be.reset(),se!==1&&be.scale(se),y.x===0&&y.y===0||be.translate(-ue,-me),a.ti=null,yT(a,be.m11,be.m12,be.m21,be.m22,be.dx,be.dy),this.pb!==1&&(a.globalAlpha=this.pb),xh(this,a),y=this.Mb,this.ta.context.setTransform(y,0,0,y,0,0),this.ta.context.clearRect(0,0,this.Aa,this.ya),y=0;y<ne;y++)ee[y].gc(a,this);a=!1,this.Yf?Ag(this.Yf,this)&&(a=this.Vp()):a=!0,a&&(Da.prototype.Cd=Da.prototype.Eu),this.Fc=this.vd=!1}}}}else e:if(ue=this.animationManager,!ue.zb&&(!ue.isAnimating||ue.isTicking)&&(ee=new Date,zd(this),this.Ka.style.opacity!=="0")){if(ne=a!==this.ib,y=this.Wa.s,se=y.length,this.Fd(y,se,this,this.viewportBounds),ne)a.Vc(!0),this.vd=!0;else if(!this.Fc&&!ue.isAnimating)break e;ue=this.Ab,ue.reset(),me=this.Mb,be=this.pa;var Fe=this.Ca,Ye=Math.round(be.x*Fe)/Fe,Je=Math.round(be.y*Fe)/Fe;for(Fe!==1&&ue.scale(Fe),be.x===0&&be.y===0||ue.translate(-Ye,-Je),a.setTransform(me,0,0,me,0,0),a.clearRect(0,0,this.Aa,this.ya),this.pb!==1&&(a.globalAlpha=this.pb),xh(this,a),be=0;be<se;be++)a.setTransform(me,0,0,me,0,0),a.transform(ue.m11,ue.m12,ue.m21,ue.m22,ue.dx,ue.dy),a.yc(),y[be].gc(a,this);if(y=!1,this.Yf?Ag(this.Yf,this)&&(y=this.Vp()):y=!0,y&&(Da.prototype.Cd=Da.prototype.Eu),ne?(this.ib.Vc(!0),this.vd=!0):this.Fc=this.vd=!1,y=+new Date-+ee,ne=Ao&&Ao.nx,ee=this.zw,ne||this.Yh===null){for(ee[this.Tq]=y,this.Tq=(this.Tq+1)%ee.length,se=y=0;se<ee.length;se++)y+=ee[se];this.Sq=y/ee.length}if(this.pb!==1&&(a.globalAlpha=1),ne)for(a.setTransform(1,0,0,1,0,0),ne=0;ne<ee.length;ne++)a.fillText(ee[ne].toString(),20,150+ +(20*ne))}}};function Ju(a,y,ee,ne,se,ue,me,be,Fe,Ye){if(a.Ka!==null){a.ta===null&&cn("No canvas specified"),me===void 0&&(me=null),be===void 0&&(be=null),Fe===void 0&&(Fe=!1),Ye===void 0&&(Ye=!1),zd(a),a.ib.Vc(!0),a.vd=!0,a.$i=!0;var Je=a.Ca;a.Ca=se;var st=a.Wa.s,yt=st.length;try{var Tt=new Ur(ue.x,ue.y,ne.width/se,ne.height/se),Ft=Tt.copy();Ft.Co(ee),yg(a,Ft),rc(a),a.Fd(st,yt,a,Tt),y.setTransform(1,0,0,1,0,0),y.clearRect(0,0,ne.width,ne.height),be!==null&&be!==""&&(y.fillStyle=be,y.ox(0,0,ne.width,ne.height));var Zt=a.Mb;y.scale(Zt,Zt);var bn=Da.alloc();bn.reset(),bn.translate(ee.left,ee.top),bn.scale(se),ue.x===0&&ue.y===0||bn.translate(-ue.x,-ue.y),y.setTransform(bn.m11,bn.m12,bn.m21,bn.m22,bn.dx,bn.dy),y.yc(),y instanceof of&&yT(y,bn.m11,bn.m12,bn.m21,bn.m22,bn.dx,bn.dy),Da.free(bn),xh(a,y),y.globalAlpha=a.pb;var fn=a.Qj("Grid");if(me){var Fn=new Zr,zn=me.iterator;for(zn.reset();zn.next();){var Zn=zn.value;Zn instanceof _o&&(Ye||Zn.layer!==fn)&&(Zn.Gj(),Fn.add(Zn))}for(Ye=0;Ye<yt;Ye++)Kl(st[Ye],y,a,Fn,Fe);Fn.each(function(Br){return Br.Gj()})}else for(Fn=0;Fn<yt;Fn++){var sr=st[Fn];sr===fn?Ye&&sr.gc(y,a,!0):sr.gc(y,a,Fe)}a.$i=!1,a.Yf&&Ag(a.Yf,a)&&a.Vp()}finally{a.Ca=Je,a.ib.Vc(!0),a.vd=!0,a.Fd(st,yt,a,a.viewportBounds),yg(a),a.ib instanceof of&&(a.ib.Nj.PA(),a.redraw())}}}It.Gf=function(a){return this.Rg[a]},It.Xx=function(a,y){a==="minDrawingLength"&&(this.Oq=y),this.Rg[a]=y,this.redraw()},It.Tx=function(){this.Rg=new Gi,this.Rg.drawShadows=!0,this.Rg.textGreeking=!0,this.Rg.viewportOptimizations=!(gi||ui),this.Rg.temporaryPixelRatio=!0,this.Rg.pictureRatioOptimization=!0,this.Oq=this.Rg.minDrawingLength=1};function xh(a,y){a=a.Rg,a!==null&&(a.imageSmoothingEnabled!==void 0&&y.Wx(!!a.imageSmoothingEnabled),a=a.defaultFont,a!=null&&(y.font=a))}It.Ql=function(a){return this.on[a]},It.sA=function(a,y){this.on[a]=y},It.Sx=function(){this.on=new Gi,this.on.extraTouchArea=10,this.on.extraTouchThreshold=10,this.on.hasGestureZoom=!0},It.set=function(a){return Object.assign(this,a),this},It.Du=function(a){return this.nm(a)},It.nm=function(a){return ad(this,a),this};function ad(a,y){var ee=a instanceof bi,ne=a instanceof Lr,se;for(se in y){se===""&&cn("Setting properties requires non-empty property names");var ue=a,me=se;if(ee||ne){var be=se.indexOf(".");if(0<be){var Fe=se.substring(0,be);ee?ue=a.fb(Fe):(ue=a[Fe],ue==null&&(ue=a.toolManager[Fe])),On(ue)?me=se.substr(be+1):cn("Unable to find object named: "+Fe+" in "+a.toString()+" when trying to set property: "+se)}}if(me[0]!=="_"&&!Kr(ue,me))if(ne&&me==="ModelChanged"){a.Yw(y[me]);continue}else if(ne&&me==="Changed"){a.Pe(y[me]);continue}else if(ne&&Kr(a.toolManager,me))ue=a.toolManager;else if(ne&&xu(a,me)){a.Bj(me,y[me]);continue}else if(a instanceof To&&me==="Changed"){a.Pe(y[me]);continue}else cn('Trying to set undefined property "'+me+'" on object: '+ue.toString());ue[me]=y[se],me[0]==="_"&&ue instanceof lr&&ue.Vw(me)}}It.bx=function(){if(this.Eh.count!==0&&!(1<this.undoManager.transactionLevel)){for(;0<this.Eh.count;){var a=this.Eh;for(this.Eh=new Ji,a=a.iterator;a.next();){var y=a.key;y.Xo(a.value),y.qc()}}this.N()}},It.N=function(a){if(a===void 0)this.Fc=!0,this.$b();else{var y=this.viewportBounds;a.w()&&y.Yc(a)&&(this.Fc=!0,this.$b())}this.R("InvalidateDraw")},Lr.prototype.invalidateViewport=function(a,y){if(this.Fc!==!0)if(this.Fc=!0,this.nl==="svg")this.bd();else{var ee=this.Gf("temporaryPixelRatio")===!0;if(this.Gf("viewportOptimizations")===!0&&this.scrollMode!==ym&&this.rj.hi(0,0,0,0)&&y.width===a.width&&y.height===a.height){var ne=this.scale,se=Math.max(a.y,y.y),ue=Math.min(a.y+a.height,y.y+y.height);if(0<Math.max(0,Math.min(a.x+a.width,y.x+y.width)-Math.max(a.x,y.x))*ne&&0<Math.max(0,ue-se)*ne){if(!(this.ld||(this.kg=!1,this.Ka===null||(this.ld=!0,this.documentBounds.w()||(ne=Ur.alloc(),h1(this,this.computeBounds(ne)),Ur.free(ne)),ne=this.ta,ne===null||ne instanceof Ip)))){var me=this.Mb;se=this.Aa*me;var be=this.ya*me,Fe=this.scale*me;ue=Math.round(Math.round(y.x*Fe)-Math.round(a.x*Fe)),y=Math.round(Math.round(y.y*Fe)-Math.round(a.y*Fe)),Fe=this.jw,a=this.oy,Fe.width!==se&&(Fe.width=se),Fe.height!==be&&(Fe.height=be),a.clearRect(0,0,se,be),Fe=190*me;var Ye=70*me,Je=Math.max(ue,0),st=Math.max(y,0),yt=Math.floor(se-Je),Tt=Math.floor(be-st);a.drawImage(ne.Oa,Je,st,yt,Tt,0,0,yt,Tt),Ag(this.Yf,this)&&a.clearRect(0,0,Fe,Ye),ne=pr(),a=pr(),Tt=Math.abs(ue),yt=Math.abs(y);var Ft=Je===0?0:se-Tt;Je=yn.allocAt(Ft,0),Tt=yn.allocAt(Tt+Ft,be),a.push(new Ur(Math.min(Je.x,Tt.x),Math.min(Je.y,Tt.y),Math.abs(Je.x-Tt.x),Math.abs(Je.y-Tt.y)));var Zt=this.Ab;if(Zt.reset(),Zt.scale(me,me),this.Ca!==1&&Zt.scale(this.Ca),me=this.pa,(me.x!==0||me.y!==0)&&isFinite(me.x)&&isFinite(me.y)&&Zt.translate(-me.x,-me.y),es(Je,Zt),es(Tt,Zt),ne.push(new Ur(Math.min(Je.x,Tt.x),Math.min(Je.y,Tt.y),Math.abs(Je.x-Tt.x),Math.abs(Je.y-Tt.y))),Ft=st===0?0:be-yt,Je.h(0,Ft),Tt.h(se,yt+Ft),a.push(new Ur(Math.min(Je.x,Tt.x),Math.min(Je.y,Tt.y),Math.abs(Je.x-Tt.x),Math.abs(Je.y-Tt.y))),es(Je,Zt),es(Tt,Zt),ne.push(new Ur(Math.min(Je.x,Tt.x),Math.min(Je.y,Tt.y),Math.abs(Je.x-Tt.x),Math.abs(Je.y-Tt.y))),Ag(this.Yf,this)&&(se=0<ue?0:-ue,be=0<y?0:-y,Je.h(se,be),Tt.h(Fe+se,Ye+be),a.push(new Ur(Math.min(Je.x,Tt.x),Math.min(Je.y,Tt.y),Math.abs(Je.x-Tt.x),Math.abs(Je.y-Tt.y))),es(Je,Zt),es(Tt,Zt),ne.push(new Ur(Math.min(Je.x,Tt.x),Math.min(Je.y,Tt.y),Math.abs(Je.x-Tt.x),Math.abs(Je.y-Tt.y)))),yn.free(Je),yn.free(Tt),Hg(this,!1,!0),this.Ka===null&&cn("No div specified"),this.ta===null&&cn("No canvas specified"),!this.animationManager.zb&&(se=this.ib,this.Fc)){for(zd(this),be=this.Mb,se.setTransform(1,0,0,1,0,0),se.clearRect(0,0,this.Aa*be,this.ya*be),se.drawImage(this.jw.Oa,0<ue?0:Math.round(-ue),0<y?0:Math.round(-y)),ue=this.pa,me=this.Ca,Fe=Math.round(ue.x*me)/me,Ye=Math.round(ue.y*me)/me,y=this.Ab,y.reset(),me!==1&&y.scale(me),ue.x===0&&ue.y===0||y.translate(-Fe,-Ye),se.save(),se.beginPath(),ue=a.length,me=0;me<ue;me++)Fe=a[me],Fe.width!==0&&Fe.height!==0&&se.rect(Math.floor(Fe.x),Math.floor(Fe.y),Math.ceil(Fe.width),Math.ceil(Fe.height));for(se.clip(),se.setTransform(be,0,0,be,0,0),se.transform(y.m11,y.m12,y.m21,y.m22,y.dx,y.dy),se.yc(),y=this.Wa.s,ue=y.length,this.Fd(y,ue,this,this.viewportBounds),xh(this,se),se.globalAlpha=this.pb,be=0;be<ue;be++)if(me=y[be],Fe=ne,me.visible&&me.pb!==0){Ye=Ou(me,se),st=me.Zq,st.length=0,Je=this.scale,yt=Ur.alloc(),Tt=me.Pa.s,Zt=Tt.length,Ft=Fe.length;for(var bn=0;bn<Zt;bn++){var fn=Tt[bn],Fn=Cm(fn,fn.actualBounds);e:{for(var zn=2/Je,Zn=4/Je,sr=0;sr<Ft;sr++){var Br=Fe[sr];if(Br.width!==0&&Br.height!==0&&Fn.Vu(Br.x-zn,Br.y-zn,Br.width+Zn,Br.height+Zn)){Fn=!0;break e}}Fn=!1}Fn&&me.Oj(se,fn,this,st,Je,yt,!0)}Ur.free(yt),se.globalAlpha=Ye}se.restore(),se.Vc(!0),this.Yf&&Ag(this.Yf,this)&&this.Vp(),this.Fc=this.vd=!1,this.hk()}Mr(ne),Mr(a),this.ld=!1}}else this.bd();ee&&(yh(this),this.bd(),Jf(this,!0))}else ee?(yh(this),this.bd(),Jf(this,!0)):this.bd()}};function zd(a){a.pn!==!1&&(a.pn=!1,i0(a,a.Aa,a.ya))}function i0(a,y,ee){Vg(a);var ne=a.Mb;a.ta.resize(y*ne,ee*ne,y,ee)&&(a.Fc=!0,a.ib.Vc(!0))}function cp(a){var y=a.ta;if(y===null||a.wo.w())return!0;var ee=a.Aa,ne=a.ya,se=a.Ka,ue=!1,me=a.gf?a.Db:0,be=a.Be?a.Db:0,Fe=se.clientWidth||ee+me,Ye=se.clientHeight||ne+be,Je=a.viewportBounds;se=Je.x;var st=Je.y,yt=Je.width,Tt=Je.height;if((Fe!==ee+me||Ye!==ne+be)&&(a.gf=!1,a.Be=!1,be=me=0,a.Aa=Fe,a.ya=Ye,ue=a.pn=!0,Vg(a)),!a.hf||!a.viewportBounds.w())return!0;var Ft=a.ku,Zt=a.hu;if(a.Ee=!1,!(ue||a.gf||a.Be||a.mn||a.nn))return!0;var bn=a.documentBounds,fn=0,Fn=0,zn=0,Zn=0,sr=Je.width,Br=Je.height,Hi=a.rj;a.contentAlignment.sb()?(bn.width>sr&&(fn=Hi.left,Fn=Hi.right),bn.height>Br&&(zn=Hi.top,Zn=Hi.bottom)):(fn=Hi.left,Fn=Hi.right,zn=Hi.top,Zn=Hi.bottom);var uo=bn.width+fn+Fn,no=bn.height+zn+Zn;Hi=a.scale;var Li=uo>Fe/Hi,ci=no>Ye/Hi;if(!(ue||a.gf||a.Be||Li||ci))return!0;fn=bn.x-fn,Fe=Je.x,Fn=bn.right+Fn,Ye=Je.right+me,zn=bn.y-zn;var La=Je.y;bn=bn.bottom+Zn,Je=Je.bottom+be;var Ea="1px";if(Zn="1px",a.scrollMode===Cf&&(Li||ci)&&(Li&&a.hasHorizontalScrollbar&&a.allowHorizontalScroll&&(Li=1,fn+1<Fe&&(Li=Math.max((Fe-fn)*Hi+a.Aa,Li)),Fn>Ye+1&&(Li=Math.max((Fn-Ye)*Hi+a.Aa,Li)),sr+me+1<uo&&(Li=Math.max((uo-sr)*Hi+a.Aa,Li)),Ea=Li.toString()+"px"),ci&&a.hasVerticalScrollbar&&a.allowVerticalScroll&&(Li=1,zn+1<La&&(Li=Math.max((La-zn)*Hi+a.ya,Li)),bn>Je+1&&(Li=Math.max((bn-Je)*Hi+a.ya,Li)),Br+be+1<no&&(Li=Math.max((no-Br)*Hi+a.ya,Li)),Zn=Li.toString()+"px")),Li=Ea!=="1px",ci=Zn!=="1px",Li&&ci||!Li&&!ci||(ci&&(Ye-=a.Db),Li&&(Je-=a.Db),uo<sr+me||!a.hasHorizontalScrollbar||!a.allowHorizontalScroll||(me=1,fn+1<Fe&&(me=Math.max((Fe-fn)*Hi+a.Aa,me)),Fn>Ye+1&&(me=Math.max((Fn-Ye)*Hi+a.Aa,me)),sr+1<uo&&(me=Math.max((uo-sr)*Hi+a.Aa,me)),Ea=me.toString()+"px"),Li=Ea!=="1px",me=a.ya,Li!==a.Be&&(me=Li?a.ya-a.Db:a.ya+a.Db),no<Br+be||!a.hasVerticalScrollbar||!a.allowVerticalScroll||(be=1,zn+1<La&&(be=Math.max((La-zn)*Hi+me,be)),bn>Je+1&&(be=Math.max((bn-Je)*Hi+me,be)),Br+1<no&&(be=Math.max((no-Br)*Hi+me,be)),Zn=be.toString()+"px"),ci=Zn!=="1px"),a.qr&&Li===a.Be&&ci===a.gf)return ee===a.Aa&&ne===a.ya||a.bd(),!1;if(Li!==a.Be&&(Ea==="1px"?a.ya=a.ya+a.Db:a.ya=Math.max(a.ya-a.Db,1),ue=!0),a.Be=Li,Zt.style.width=Ea,ci!==a.gf&&(Zn==="1px"?a.Aa=a.Aa+a.Db:a.Aa=Math.max(a.Aa-a.Db,1),ue=!0,a.tn&&(be=yn.alloc(),ci?(y.style.left=a.Db+"px",a.position=be.h(a.pa.x+a.Db/a.scale,a.pa.y)):(y.style.left="0px",a.position=be.h(a.pa.x-a.Db/a.scale,a.pa.y)),yn.free(be))),ue&&Vg(a),a.gf=ci,Zt.style.height=Zn,a.gu=!0,ue&&(a.pn=!0),y=Ft.scrollLeft,a.hasHorizontalScrollbar&&a.allowHorizontalScroll&&(sr+1<uo?y=(a.position.x-fn)*Hi:fn+1<Fe?y=Ft.scrollWidth-Ft.clientWidth:Fn>Ye+1&&(y=a.position.x*Hi)),a.tn)switch(a.bu){case"negative":y=-(Ft.scrollWidth-y-Ft.clientWidth);break;case"reverse":y=Ft.scrollWidth-y-Ft.clientWidth}return Ft.scrollLeft=y,a.hasVerticalScrollbar&&a.allowVerticalScroll&&(Br+1<no?Ft.scrollTop=(a.position.y-zn)*Hi:zn+1<La?Ft.scrollTop=Ft.scrollHeight-Ft.clientHeight:bn>Je+1&&(Ft.scrollTop=a.position.y*Hi)),Fe=a.Aa,Ye=a.ya,Ft.style.width=Fe+(a.gf?a.Db:0)+"px",Ft.style.height=Ye+(a.Be?a.Db:0)+"px",ee!==Fe||ne!==Ye||a.animationManager.zb?(ee=Ur.allocAt(se,st,yt,Tt),a.onViewportBoundsChanged(ee,a.viewportBounds,Hi,ue),Ur.free(ee),!1):!0}It=Lr.prototype,It.add=function(a){var y=a.diagram;if(y!==this&&(y!==null&&cn("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+y.toString()),y=this.Qj(a.layerName),y===null&&(y=this.Qj("")),y===null&&cn('Cannot add a Part when unable find a Layer named "'+a.layerName+'" and there is no default Layer'),a.layer!==y)){var ee=y.oi(99999999,a,a.diagram===this);0<=ee&&this.cb(Ci,"parts",y,null,a,null,ee),y.isTemporary||this.Ya(),a.C(1),ee=a.layerChanged,ee!==null&&ee(a,null,y)}},It.oi=function(a){this.partManager.oi(a);var y=this;dy(a,function(ee){bv(y,ee)}),(a instanceof Cs||a instanceof Ma&&a.placeholder!==null)&&a.v(),a.data!==null&&dy(a,function(ee){Vw(y.partManager,ee)}),ud(a)!==!0&&Q0(a)!==!0||this.De.add(a),q2(a,!0,this),$2(a)?(a.actualBounds.w()&&this.N(Cm(a,a.actualBounds)),this.Ya()):a.isVisible()&&a.actualBounds.w()&&this.N(Cm(a,a.actualBounds)),this.$b()},It.pc=function(a){a.Ej(),this.partManager.pc(a);var y=this;a.data!==null&&dy(a,function(ee){Kw(y.partManager,ee,y)}),this.De.remove(a),$2(a)?(a.actualBounds.w()&&this.N(Cm(a,a.actualBounds)),this.Ya()):a.isVisible()&&a.actualBounds.w()&&this.N(Cm(a,a.actualBounds)),this.$b()},It.remove=function(a){z0(this,a,!0)};function z0(a,y,ee){var ne=y.layer;ne!==null&&ne.diagram===a&&(y.isSelected=!1,y.isHighlighted=!1,y.C(2),ee&&y.Lj(),ee=ne.pc(-1,y,!1),0<=ee&&a.cb(Wi,"parts",ne,y,null,ee,null),a=y.layerChanged,a!==null&&a(y,ne,null))}It.Is=function(a,y){if(y===void 0&&(y=!1),dn(a))for(var ee=a.length,ne=0;ne<ee;ne++){var se=a[ne];y&&!se.canDelete()||this.remove(se)}else for(ee=new Zr,ee.addAll(a),a=ee.iterator;a.next();)ee=a.value,y&&!ee.canDelete()||this.remove(ee)},It.Kj=function(a,y,ee){return ee===void 0&&(ee=!1),this.partManager.Kj(a,y,ee)},Lr.prototype.moveParts=function(a,y,ee,ne){if(ee===void 0&&(ee=!1),ne===void 0&&(ne=Dp(this)),this.toolManager!==null){var se=new Ji;if(a!==null)if(dn(a))for(var ue=0;ue<a.length;ue++)Kc(this,se,a[ue],ee,ne);else for(a=a.iterator;a.next();)Kc(this,se,a.value,ee,ne);else{for(a=this.parts;a.next();)Kc(this,se,a.value,ee,ne);for(a=this.nodes;a.next();)Kc(this,se,a.value,ee,ne);for(a=this.links;a.next();)Kc(this,se,a.value,ee,ne)}Sf(this,se,y,ne,ee)}};function Kc(a,y,ee,ne,se,ue){if(!y.contains(ee)&&(ue===void 0&&(ue=!1),!ne||ue||ee.canMove()||ee.canCopy()))if(se===void 0&&(se=Dp(a)),ee instanceof Yi){if(y.add(ee,a.Pd(se,ee,ee.location)),ee instanceof Ma&&(ee.placeholder!==null||se.dragsMembers))for(ue=ee.memberParts;ue.next();)Kc(a,y,ue.value,ne,se,se.groupsAlwaysMove);for(ue=ee.linksConnected;ue.next();){var me=ue.value;if(!y.contains(me)){var be=me.fromNode,Fe=me.toNode;be!==null&&y.contains(be)&&Fe!==null&&y.contains(Fe)&&Kc(a,y,me,ne,se)}}if(se.dragsTree)for(ee=ee.Ou();ee.next();)Kc(a,y,ee.value,ne,se)}else if(ee instanceof Oi)for(y.add(ee,a.Pd(se,ee)),ee=ee.labelNodes;ee.next();)Kc(a,y,ee.value,ne,se);else ee instanceof Cs||y.add(ee,a.Pd(se,ee,ee.location))}function Sf(a,y,ee,ne,se){if(y!==null&&y.count!==0){var ue=yn.alloc(),me=yn.alloc();me.assign(ee),isNaN(me.x)&&(me.x=0),isNaN(me.y)&&(me.y=0),(ee=a.Mr)||j0(a,y);for(var be=pr(),Fe=pr(),Ye=y.iterator,Je=yn.alloc();Ye.next();){var st=Ye.key,yt=Ye.value;if(st.Zc()){var Tt=ny(a,st,y);Tt!==null?be.push(new Ee(st,yt,Tt)):(!se||st.canMove())&&(Tt=yt.point,ue.assign(Tt),a.computeMove(st,ue.add(me),ne,Je),st.location=Je,yt.shifted===void 0&&(yt.shifted=new yn),yt.shifted.assign(Je.re(Tt)))}else Ye.key instanceof Oi&&Fe.push(Ye.sa)}for(yn.free(Je),se=be.length,Ye=0;Ye<se;Ye++)st=be[Ye],ue.assign(st.info.point),st.Su.shifted===void 0&&(st.Su.shifted=new yn),st.node.location=ue.add(st.Su.shifted);for(se=yn.alloc(),Ye=yn.alloc(),st=Fe.length,yt=0;yt<st;yt++){var Ft=Fe[yt];if(Tt=Ft.key,Tt instanceof Oi)if(Tt.suspendsRouting){Tt.Tg=null,Je=Tt.fromNode;var Zt=Tt.toNode;if(a.draggedLink!==null&&ne.dragsLink)if(Zt=Ft.value.point,Tt.dragComputation===null)y.add(Tt,a.Pd(ne,Tt,me)),Ud(Tt,me.x-Zt.x,me.y-Zt.y);else{Ft=yn.allocAt(0,0),(Je=Tt.i(0))&&Je.w()&&Ft.assign(Je);var bn=Je=yn.alloc().assign(Ft).add(me);ne.isGridSnapEnabled&&(ne.isGridSnapRealtime||a.lastInput.up)&&(bn=yn.alloc(),fm(a,Tt,Je,bn,ne)),Je.assign(Tt.dragComputation(Tt,Je,bn)).re(Ft),y.add(Tt,a.Pd(ne,Tt,Je)),Ud(Tt,Je.x-Zt.x,Je.y-Zt.y),yn.free(Ft),yn.free(Je),bn!==Je&&yn.free(bn)}else Je!==null&&(se.assign(Je.location),bn=y.I(Je),bn!==null&&se.re(bn.point)),Zt!==null&&(Ye.assign(Zt.location),bn=y.I(Zt),bn!==null&&Ye.re(bn.point)),Je!==null&&Zt!==null?se.Xa(Ye)?(Je=Ft.value.point,Zt=ue,Zt.assign(se),Zt.re(Je),y.add(Tt,a.Pd(ne,Tt,se)),Ud(Tt,Zt.x,Zt.y)):(Tt.suspendsRouting=!1,Tt.bb()):(Ft=Ft.value.point,Je=Je!==null?se:Zt!==null?Ye:me,y.add(Tt,a.Pd(ne,Tt,Je)),Ud(Tt,Je.x-Ft.x,Je.y-Ft.y))}else(Tt.fromNode===null||Tt.toNode===null)&&(Je=Ft.value.point,y.add(Tt,a.Pd(ne,Tt,me)),Ud(Tt,me.x-Je.x,me.y-Je.y))}yn.free(ue),yn.free(me),yn.free(se),yn.free(Ye),Mr(be),Mr(Fe),ee||(rc(a),rf(a,y))}}Lr.prototype.computeMove=function(a,y,ee,ne){if(ne===void 0&&(ne=new yn),ne.assign(y),a===null)return ne;var se=y,ue=ee.isGridSnapEnabled;ue&&(ee.isGridSnapRealtime||this.lastInput.up)&&(se=yn.alloc(),fm(this,a,y,se,ee)),ee=a.dragComputation!==null?a.dragComputation(a,y,se):se;var me=a.minLocation,be=me.x;isNaN(be)&&(be=ue?Math.round(1e3*a.location.x)/1e3:a.location.x),me=me.y,isNaN(me)&&(me=ue?Math.round(1e3*a.location.y)/1e3:a.location.y);var Fe=a.maxLocation,Ye=Fe.x;return isNaN(Ye)&&(Ye=ue?Math.round(1e3*a.location.x)/1e3:a.location.x),Fe=Fe.y,isNaN(Fe)&&(Fe=ue?Math.round(1e3*a.location.y)/1e3:a.location.y),ne.h(Math.max(be,Math.min(ee.x,Ye)),Math.max(me,Math.min(ee.y,Fe))),se!==y&&yn.free(se),ne};function Dp(a){var y=a.toolManager.findTool("Dragging");return y!==null?y.dragOptions:a.Wm}function fm(a,y,ee,ne,se){if(se===void 0&&(se=Dp(a)),ne.assign(ee),y!==null){var ue=a.grid;y=se.gridSnapCellSize,a=y.width,y=y.height;var me=se.gridSnapOrigin,be=me.x;if(me=me.y,se=se.gridSnapCellSpot,ue!==null){var Fe=ue.gridCellSize;isNaN(a)&&(a=Fe.width),isNaN(y)&&(y=Fe.height),ue=ue.gridOrigin,isNaN(be)&&(be=ue.x),isNaN(me)&&(me=ue.y)}ue=yn.allocAt(0,0),ue.yi(0,0,a,y,se),dr.No(ee.x,ee.y,be+ue.x,me+ue.y,a,y,ne),yn.free(ue)}}function j0(a,y){if(y!==null)for(a.Mr=!0,a=y.iterator;a.next();)y=a.key,y instanceof Oi&&(y.suspendsRouting=!0)}function rf(a,y){if(y!==null){for(y=y.iterator;y.next();){var ee=y.key;ee instanceof Oi&&(ee.suspendsRouting=!1,LA(ee)&&ee.bb())}a.Mr=!1}}function ny(a,y,ee){return y=y.containingGroup,y!==null&&(a=ny(a,y,ee),a!==null||(a=ee.I(y),a!==null))?a:null}It=Lr.prototype,It.Pd=function(a,y,ee){if(ee===void 0)return new bf(ja);var ne=a.isGridSnapEnabled;return a.groupsSnapMembers||y.containingGroup===null||(ne=!1),ne?new bf(new yn(Math.round(1e3*ee.x)/1e3,Math.round(1e3*ee.y)/1e3)):new bf(ee.copy())};function u1(a,y,ee){if(y.diagram!==null&&y.diagram!==a&&cn("Cannot share a Layer with another Diagram: "+y+" of "+y.diagram),ee===null?y.diagram!==null&&cn("Cannot add an existing Layer to this Diagram again: "+y):(ee.diagram!==a&&cn("Existing Layer must be in this Diagram: "+ee+" not in "+ee.diagram),y===ee&&cn("Cannot move a Layer before or after itself: "+y)),y.diagram!==a){y=y.name,a=a.Wa,ee=a.count;for(var ne=0;ne<ee;ne++)a.M(ne).name===y&&cn("Cannot add Layer with the name '"+y+"'; a Layer with the same name is already present in this Diagram.")}}It.Al=function(a){u1(this,a,null),a.Xe(this);var y=this.Wa,ee=y.count-1;if(!a.isTemporary)for(;0<=ee&&y.M(ee).isTemporary;)ee--;return y.Gb(ee+1,a),this.cc!==null&&this.cb(Ci,"layers",this,null,a,null,ee+1),this.N(),this.Ya(),this},It.Ww=function(a,y){u1(this,a,y),a.Xe(this);var ee=this.Wa,ne=ee.indexOf(a);0<=ne&&(ee.remove(a),this.cc!==null&&this.cb(Wi,"layers",this,a,null,ne,null));var se=ee.count,ue;for(ue=0;ue<se;ue++)if(ee.M(ue)===y){ee.Gb(ue,a);break}return this.cc!==null&&this.cb(Ci,"layers",this,null,a,null,ue),this.N(),0>ne&&this.Ya(),this},It.Cy=function(a,y){u1(this,a,y),a.Xe(this);var ee=this.Wa,ne=ee.indexOf(a);0<=ne&&(ee.remove(a),this.cc!==null&&this.cb(Wi,"layers",this,a,null,ne,null));var se=ee.count,ue;for(ue=0;ue<se;ue++)if(ee.M(ue)===y){ee.Gb(ue+1,a);break}return this.cc!==null&&this.cb(Ci,"layers",this,null,a,null,ue+1),this.N(),0>ne&&this.Ya(),this},It.kA=function(a){if(a.diagram!==this&&cn("Cannot remove a Layer from another Diagram: "+a+" of "+a.diagram),a.name!==""){var y=this.Wa,ee=y.indexOf(a);if(y.remove(a)){for(y=a.Pa.copy().iterator;y.next();){var ne=y.value,se=ne.layerName;se!==a.name?ne.layerName=se:ne.layerName=""}this.cc!==null&&this.cb(Wi,"layers",this,a,null,ee,null),this.N(),this.Ya()}}},It.Qj=function(a){for(var y=this.layers;y.next();){var ee=y.value;if(ee.name===a)return ee}return null},It.Yw=function(a){return this.pf===null&&(this.pf=new Hr),this.pf.add(a),this.model.Pe(a),this},It.mA=function(a){this.pf!==null&&(this.pf.remove(a),this.pf.count===0&&(this.pf=null)),this.model.ik(a)},It.Pe=function(a){return this.zg===null&&(this.zg=new Hr),this.zg.add(a),this},It.ik=function(a){this.zg!==null&&(this.zg.remove(a),this.zg.count===0&&(this.zg=null))},It.ds=function(a){if(this.skipsUndoManager||this.model.skipsUndoManager||this.model.undoManager.Tu(a),a.change!==ei&&(this.isModified=!0),this.zg!==null)for(var y=this.zg,ee=y.length,ne=0;ne<ee;ne++)y.M(ne)(a)},It.cb=function(a,y,ee,ne,se,ue,me){ue===void 0&&(ue=null),me===void 0&&(me=null);var be=new Xr;be.diagram=this,be.change=a,be.propertyName=y,be.object=ee,be.oldValue=ne,be.oldParam=ue,be.newValue=se,be.newParam=me,this.ds(be)},It.g=function(a,y,ee,ne,se){this.cb(mi,a,this,y,ee,ne,se)},Lr.prototype.changeState=function(a,y){if(a!==null&&a.diagram===this){var ee=this.skipsModelSourceBindings;try{this.skipsModelSourceBindings=!0;var ne=a.change;if(ne===mi){var se=a.object;if(Pl(se,a.propertyName,a.I(y)),se instanceof lr){var ue=se.part;ue!==null&&ue.Wb()}this.isModified=!0}else if(ne===Ci){var me=a.object,be=a.newParam,Fe=a.newValue;if(me instanceof bi)if(typeof be=="number"&&Fe instanceof lr){y?me.pc(be):me.Gb(be,Fe);var Ye=me.part;Ye!==null&&Ye.Wb()}else typeof be=="number"&&Fe instanceof oc&&(Fe.isRow?TT(me,be,y?void 0:Fe):DT(me,be,y?void 0:Fe));else if(me instanceof wl){var Je=a.oldParam===!0;typeof be=="number"&&Fe instanceof _o&&(y?(Fe.isSelected=!1,Fe.isHighlighted=!1,Fe.Wb(),me.pc(Je?be:-1,Fe,Je)):me.oi(be,Fe,Je))}else me instanceof Lr?typeof be=="number"&&Fe instanceof wl&&(y?this.Wa.mb(be):(Fe.Xe(this),this.Wa.Gb(be,Fe))):cn("unknown ChangedEvent.Insert object: "+a.toString());this.isModified=!0}else if(ne===Wi){var st=a.object,yt=a.oldParam,Tt=a.oldValue;if(st instanceof bi)typeof yt=="number"&&Tt instanceof lr?y?st.Gb(yt,Tt):st.pc(yt):typeof yt=="number"&&Tt instanceof oc&&(Tt.isRow?TT(st,yt,y?Tt:void 0):DT(st,yt,y?Tt:void 0));else if(st instanceof wl){var Ft=a.newParam===!0;typeof yt=="number"&&Tt instanceof _o&&(y?0>st.Pa.indexOf(Tt)&&st.oi(yt,Tt,Ft):(Tt.isSelected=!1,Tt.isHighlighted=!1,Tt.Wb(),st.pc(Ft?yt:-1,Tt,Ft)))}else st instanceof Lr?typeof yt=="number"&&Tt instanceof wl&&(y?(Tt.Xe(this),this.Wa.Gb(yt,Tt)):this.Wa.mb(yt)):cn("unknown ChangedEvent.Remove object: "+a.toString());this.isModified=!0}else ne!==ei&&cn("unknown ChangedEvent: "+a.toString())}finally{this.skipsModelSourceBindings=ee}}},Lr.prototype.Ea=function(a){return this.undoManager.Ea(a)},Lr.prototype.eb=function(a){return this.undoManager.eb(a)},Lr.prototype.Kf=function(){return this.undoManager.Kf()},Lr.prototype.commit=function(a,y){y===void 0&&(y="");var ee=this.skipsUndoManager;y===null&&(this.skipsUndoManager=!0,y=""),this.undoManager.Ea(y);var ne=!1;try{a(this),ne=!0}finally{ne?this.undoManager.eb(y):this.undoManager.Kf(),this.skipsUndoManager=ee}},Lr.prototype.updateAllTargetBindings=function(a){this.partManager.updateAllTargetBindings(a)},Lr.prototype.rp=function(){this.partManager.rp()};function ry(a,y,ee){var ne=a.animationManager;if(a.vb||a.ld)a.Ca=ee,Vg(a),a.N(),a.Ee=!0,ne.zb&&(co(ne)||ne.ce.add(ne.H,"scale",y,a.Ca));else if(a.ta===null)a.Ca=ee,Vg(a);else{a.vb=!0;var se=a.viewportBounds.copy(),ue=a.Aa,me=a.ya,be=a.zoomPoint.x,Fe=a.zoomPoint.y,Ye=a.contentAlignment;isNaN(be)&&(Ye.$c()?Ye.Hf(Uc)?be=0:Ye.Hf(Gc)&&(be=ue-1):be=Ye.sb()?Ye.x*(ue-1):ue/2),isNaN(Fe)&&(Ye.$c()?Ye.Hf(od)?Fe=0:Ye.Hf(Hc)&&(Fe=me-1):Fe=Ye.sb()?Ye.y*(me-1):me/2),a.scaleComputation===null||a.animationManager.defaultAnimation.isAnimating||(ee=a.scaleComputation(a,ee)),ee<a.minScale&&(ee=a.minScale),ee>a.maxScale&&(ee=a.maxScale),ue=yn.allocAt(a.pa.x+be/y-be/ee,a.pa.y+Fe/y-Fe/ee),a.position=ue,yn.free(ue),a.Ca=ee,Vg(a),a.vb=!1,a.onViewportBoundsChanged(se,a.viewportBounds,y,!1),ah(a,!1),ne.zb&&(co(ne)||ne.ce.add(ne.H,"scale",y,a.Ca))}}Lr.prototype.onViewportBoundsChanged=function(a,y,ee,ne){if(!a.D(y)){ne===void 0&&(ne=!1),ne||(this.Ee=!0),this.vd=!0;var se=this.layout;se===null||!se.isViewportSized||this.autoScale!==Qh||a.width===y.width&&a.height===y.height||se.C(),se=this.currentTool,this.Vk===!0&&se instanceof Ei&&(this.lastInput.documentPoint=this.Ps(this.lastInput.viewPoint),so(se,this)),this.vb||this.invalidateViewport(a,y),yg(this),this.fc.scale=ee,this.fc.position.x=a.x,this.fc.position.y=a.y,this.fc.bounds.assign(a),this.fc.canvasSize.width=Math.round(a.width*ee),this.fc.canvasSize.height=Math.round(a.height*ee),this.fc.newCanvasSize.width=this.Aa,this.fc.newCanvasSize.height=this.ya,this.fc.isScroll=ne,this.R("ViewportBoundsChanged",this.fc,a),this.isVirtualized&&this.links.each(function(ue){ue.isAvoiding&&ue.actualBounds.Yc(y)&&ue.bb()})}};function yg(a,y){var ee=a.fe;if(ee!==null&&ee.visible){for(var ne=Ii.alloc(),se=1,ue=1,me=ee.O.s,be=me.length,Fe=0;Fe<be;Fe++){var Ye=me[Fe],Je=Math.abs(Ye.interval);2>Je||(k2(Ye.figure)?ue=ue*Je/dr.vx(ue,Je):se=se*Je/dr.vx(se,Je))}if(me=ee.gridCellSize,ne.h(ue*me.width,se*me.height),y!==void 0)se=y.width,ue=y.height,a=y.x,me=y.y;else{if(y=Ur.alloc(),a=a.viewportBounds,y.h(a.x,a.y,a.width,a.height),!y.w()){Ur.free(y);return}se=y.width,ue=y.height,a=y.x,me=y.y,Ur.free(y)}ee.width=se+2*ne.width,ee.height=ue+2*ne.height,y=yn.alloc(),dr.No(a,me,0,0,ne.width,ne.height,y),y.offset(-ne.width,-ne.height),Ii.free(ne),ee.part.location=y,yn.free(y)}}Lr.prototype.clearSelection=function(a){a===void 0&&(a=!1);var y=this.selection;if(y.count!==0){a||this.R("ChangingSelection",y);for(var ee=y.Fa(),ne=ee.length,se=0;se<ne;se++)ee[se].isSelected=!1;y.ka(),y.clear(),y.freeze(),a||this.R("ChangedSelection",y)}},Lr.prototype.select=function(a){a!==null&&a.diagram===this&&(!a.isSelected||1<this.selection.count)&&(this.R("ChangingSelection",this.selection),this.clearSelection(!0),a.isSelected=!0,this.R("ChangedSelection",this.selection))},Lr.prototype.rA=function(a){if(this.R("ChangingSelection",this.selection),this.clearSelection(!0),dn(a))for(var y=a.length,ee=0;ee<y;ee++){var ne=a[ee];ne instanceof _o||cn("Diagram.selectCollection given something that is not a Part: "+ne),ne.isSelected=!0}else for(a=a.iterator;a.next();)y=a.value,y instanceof _o||cn("Diagram.selectCollection given something that is not a Part: "+y),y.isSelected=!0;this.R("ChangedSelection",this.selection)},Lr.prototype.clearHighlighteds=function(){var a=this.highlighteds;if(0<a.count){for(var y=a.Fa(),ee=y.length,ne=0;ne<ee;ne++)y[ne].isHighlighted=!1;a.ka(),a.clear(),a.freeze()}},It=Lr.prototype,It.Iz=function(a){a!==null&&a.diagram===this&&(!a.isHighlighted||1<this.highlighteds.count)&&(this.clearHighlighteds(),a.isHighlighted=!0)},It.Jz=function(a){a=new Zr().addAll(a);for(var y=this.highlighteds.copy().hp(a).iterator;y.next();)y.value.isHighlighted=!1;for(a=a.iterator;a.next();)y=a.value,y instanceof _o||cn("Diagram.highlightCollection given something that is not a Part: "+y),y.isHighlighted=!0},It.scroll=function(a,y,ee){ee===void 0&&(ee=1);var ne=y==="up"||y==="down",se=0,ue=yn.alloc();if(a==="pixel")se=ee;else if(a==="line")se=ee*(ne?this.scrollVerticalLineChange:this.scrollHorizontalLineChange);else if(a==="page")a=ne?this.viewportBounds.height:this.viewportBounds.width,a*=this.scale,a!==0&&(se=ee*Math.max(a-(ne?this.scrollVerticalLineChange:this.scrollHorizontalLineChange),0));else{if(a==="document"){se=this.documentBounds,ee=this.viewportBounds,y==="up"?this.position=ue.h(ee.x,se.y):y==="left"?this.position=ue.h(se.x,ee.y):y==="down"?this.position=ue.h(ee.x,se.bottom-ee.height):y==="right"&&(this.position=ue.h(se.right-ee.width,ee.y)),yn.free(ue);return}cn("scrolling unit must be 'pixel', 'line', 'page', or 'document', not: "+a)}se/=this.scale,ee=this.position,y==="up"?this.position=ue.h(ee.x,ee.y-se):y==="down"?this.position=ue.h(ee.x,ee.y+se):y==="left"?this.position=ue.h(ee.x-se,ee.y):y==="right"?this.position=ue.h(ee.x+se,ee.y):cn("scrolling direction must be 'up', 'down', 'left', or 'right', not: "+y),yn.free(ue)},It.tv=function(a){var y=this.viewportBounds;y.Re(a)||(a=a.center,a.x-=y.width/2,a.y-=y.height/2,this.position=a)},It.es=function(a){var y=this.viewportBounds;a=a.center,a.x-=y.width/2,a.y-=y.height/2,this.position=a},It.op=function(a){var y=this.Ab;y.reset(),this.Ca!==1&&y.scale(this.Ca);var ee=this.pa;return(ee.x!==0||ee.y!==0)&&isFinite(ee.x)&&isFinite(ee.y)&&y.translate(-ee.x,-ee.y),a.copy().transform(this.Ab)},It.zA=function(a){var y=this.Ab,ee=a.x,ne=a.y,se=ee+a.width,ue=ne+a.height,me=y.m11,be=y.m12,Fe=y.m21,Ye=y.m22,Je=y.dx,st=y.dy,yt=ee*me+ne*Fe+Je;y=ee*be+ne*Ye+st;var Tt=se*me+ne*Fe+Je;return a=se*be+ne*Ye+st,ne=ee*me+ue*Fe+Je,ee=ee*be+ue*Ye+st,me=se*me+ue*Fe+Je,se=se*be+ue*Ye+st,ue=Math.min(yt,Tt),yt=Math.max(yt,Tt),Tt=Math.min(y,a),y=Math.max(y,a),ue=Math.min(ue,ne),yt=Math.max(yt,ne),Tt=Math.min(Tt,ee),y=Math.max(y,ee),ue=Math.min(ue,me),yt=Math.max(yt,me),Tt=Math.min(Tt,se),y=Math.max(y,se),new Ur(ue,Tt,yt-ue,y-Tt)},It.Ps=function(a){var y=this.Ab;y.reset(),this.Ca!==1&&y.scale(this.Ca);var ee=this.pa;return(ee.x!==0||ee.y!==0)&&isFinite(ee.x)&&isFinite(ee.y)&&y.translate(-ee.x,-ee.y),es(a.copy(),this.Ab)};function Ix(a){var y=a.isModified;a.Tw!==y&&(a.Tw=y,a.R("Modified"))}function c1(a){return a=Kg.get(a),a!==null?new a:new Ks}Lr.prototype.doModelChanged=function(a){var y=this;if(a.model===this.model){var ee=a.change,ne=a.propertyName;if(ee===ei&&ne[0]==="S")if(ne==="StartingFirstTransaction"){var se=this;a=this.toolManager,a.mouseDownTools.each(function(Fe){return Fe.diagram=se}),a.mouseMoveTools.each(function(Fe){return Fe.diagram=se}),a.mouseUpTools.each(function(Fe){return Fe.diagram=se}),this.ld||this.hf||(this.Jk=!0,this.fn&&(this.kg=!0))}else ne==="StartingUndo"||ne==="StartingRedo"?(a=this.animationManager,a.defaultAnimation.isAnimating&&!this.skipsUndoManager&&a.Cc(),this.R("ChangingSelection",this.selection)):ne==="StartedTransaction"&&(a=this.animationManager,a.defaultAnimation.isAnimating&&!this.skipsUndoManager&&a.Cc());else if(this.aa){this.aa=!1;try{if(a.modelChange===""&&ee===ei){(ne==="FinishedUndo"||ne==="FinishedRedo")&&(this.R("ChangedSelection",this.selection),rc(this));var ue=this.animationManager;ne==="RolledBackTransaction"&&ue.Cc(),this.bx(),this.Jk=!0,this.bd(),this.undoManager.transactionLevel!==0&&this.undoManager.transactionLevel!==1||Ri(ue),ne==="CommittedTransaction"&&this.undoManager.isJustDiscarded&&(this.Ce=Math.min(this.Ce,this.undoManager.historyIndex-1)),ne!=="CommittedTransaction"&&ne!=="RolledBackTransaction"||!this.undoManager.isPendingUnmodified||setTimeout(function(){y.isModified=!1},1);var me=a.isTransactionFinished;if(me&&(Ix(this),this.As.clear(),ji(this.animationManager)),!this.Rt&&me&&this.lastInput.targetDiagram){this.Rt=!0;var be=this;Gn(function(){be.currentTool.standardMouseOver(),be.Rt=!1},10)}}}finally{this.aa=!0}}}};function bv(a,y){y=y.O.s;for(var ee=y.length,ne=0;ne<ee;ne++)o0(a,y[ne])}function o0(a,y){if(y instanceof hd){var ee=y.element;if(ee!==null&&ee instanceof HTMLImageElement){ee.Bg instanceof Zr&&ee.Bg.add(a);var ne=y.Eg;if(ne!==null&&ne.sq===!0&&y.diagram!==null&&y.diagram.Xn.add(y),ee.hn)if(ee=ee.getAttribute("src")||"",ne=a.Og.I(ee),ne===null)ne=[],ne.push(y),a.Og.add(ee,ne);else{for(a=0;a<ne.length;a++)if(ne[a]===y)return;ne.push(y)}}}}function iy(a,y){if(y instanceof hd){var ee=y.element;if(ee!==null&&ee instanceof HTMLImageElement&&ee.hn){var ne=ee.getAttribute("src")||"",se=a.Og.I(ne);if(se!==null){for(var ue=0;ue<se.length;ue++)if(se[ue]===y){se.splice(ue,1),se.length===0&&(a.Og.remove(ne),ee.Fq&&ee.removeEventListener("load",ee.Fq),ee.Yp&&ee.removeEventListener("error",ee.Yp),delete ee.Fq,delete ee.Yp,ee.Bg instanceof Zr&&ee.Bg.remove(a),Fl(ne));break}}}}}Lr.prototype.Wd=function(){this.partManager.Wd()},Lr.prototype.Aj=function(a,y){this.Yd.Aj(a,y)},Lr.prototype.Cj=function(a,y){this.Yd.Cj(a,y)},Lr.prototype.findPartForKey=function(a){return this.partManager.findPartForKey(a)},Lr.prototype.Vb=function(a){return this.partManager.Vb(a)},Lr.prototype.findLinkForKey=function(a){return this.partManager.findLinkForKey(a)},It=Lr.prototype,It.Lc=function(a){return this.partManager.Lc(a)},It.ii=function(a){return this.partManager.ii(a)},It.Kc=function(a){return this.partManager.Kc(a)},It.ms=function(a){for(var y=[],ee=0;ee<arguments.length;++ee)y[ee]=arguments[ee];return this.partManager.ms.apply(this.partManager,y instanceof Array?y:Fr(ko(y)))},It.ls=function(a){for(var y=[],ee=0;ee<arguments.length;++ee)y[ee]=arguments[ee];return this.partManager.ls.apply(this.partManager,y instanceof Array?y:Fr(ko(y)))};function Vg(a){var y=a.pa,ee=a.Ca;a.Rw.h(y.x,y.y,Math.max(a.Aa,0)/ee,Math.max(a.ya,0)/ee),a.vd=!0}function h1(a,y){a.Zi=!1;var ee=a.Sp;ee.D(y)||(ee=ee.copy(),a.Sp.assign(y),ah(a,!1),a.R("DocumentBoundsChanged",void 0,ee),a.Ee=!0,a.N())}It.Va=function(){if(this.Zi){var a=Ur.alloc();h1(this,this.computeBounds(a)),Ur.free(a)}},It.rz=function(){for(var a=new Zr,y=this.nodes;y.next();){var ee=y.value;ee.isTopLevel&&a.add(ee)}for(y=this.links;y.next();)ee=y.value,ee.isTopLevel&&a.add(ee);return a.iterator},It.qz=function(){return this.ai.iterator},It.Uz=function(a){rc(this),a&&gm(this,!0),this.ld?Pv(this,!1):(this.Jk=!0,Fh(this))};function gm(a,y){for(var ee=a.ai.iterator;ee.next();)pm(a,ee.value,y);a.layout&&(y?a.layout.isValidLayout=!1:a.layout.C())}function pm(a,y,ee){if(y!==null){for(var ne=y.gl.iterator;ne.next();)pm(a,ne.value,ee);y.layout!==null&&(ee?y.layout.isValidLayout=!1:y.layout.C())}}function Pv(a,y){if(a.xh&&!a.lt){var ee=a.aa;a.aa=!0;var ne=a.undoManager.transactionLevel,se=a.layout,ue=a.animationManager;try{ne===0&&(a.undoManager.isInternalTransaction=!0,a.Ea("Layout")),1>=ne&&!ue.defaultAnimation.isAnimating&&!ue.zb&&(y||Oo(ue,"Layout")),a.xh=!1;for(var me=a.ai.iterator;me.next();)d1(a,me.value,y,ne);se.isValidLayout||(!y||se.isRealtime||se.isRealtime===null||ne===0?(se.doLayout(a),rc(a),se.isValidLayout=!0):a.xh=!0)}finally{y=a.undoManager.isInternalTransaction,ne===0&&(a.eb("Layout"),a.undoManager.isInternalTransaction=!1),!y||ne!==0&&ne!==1||Ri(ue),a.aa=ee}}}function d1(a,y,ee,ne){if(y!==null){for(var se=y.gl.iterator;se.next();)d1(a,se.value,ee,ne);se=y.layout,se===null||se.isValidLayout||(!ee||se.isRealtime||ne===0?(y.rh=!y.location.w(),se.doLayout(y),y.C(32),eu(a,y),se.isValidLayout=!0):a.xh=!0)}}It.yz=function(){for(var a=new Hr,y=this.nodes;y.next();){var ee=y.value;ee.isTopLevel&&ee.kh()===null&&a.add(ee)}return a.iterator};function tA(a){function y(se){var ue=se.toLowerCase(),me=new Hr;ee.add(se,me),ee.add(ue,me),ne.add(se,se),ne.add(ue,se)}var ee=new Ji,ne=new Ji;y("InitialAnimationStarting"),y("AnimationStarting"),y("AnimationFinished"),y("BackgroundSingleClicked"),y("BackgroundDoubleClicked"),y("BackgroundContextClicked"),y("ClipboardChanged"),y("ClipboardPasted"),y("DocumentBoundsChanged"),y("ExternalObjectsDropped"),y("GainedFocus"),y("InitialLayoutCompleted"),y("LayoutCompleted"),y("LinkDrawn"),y("LinkRelinked"),y("LinkReshaped"),y("LostFocus"),y("Modified"),y("ObjectSingleClicked"),y("ObjectDoubleClicked"),y("ObjectContextClicked"),y("PartCreated"),y("PartResized"),y("PartRotated"),y("SelectionMoved"),y("SelectionCopied"),y("SelectionDeleting"),y("SelectionDeleted"),y("SelectionGrouped"),y("SelectionUngrouped"),y("ChangingSelection"),y("ChangedSelection"),y("SubGraphCollapsed"),y("SubGraphExpanded"),y("TextEdited"),y("TreeCollapsed"),y("TreeExpanded"),y("ViewportBoundsChanged"),y("InvalidateDraw"),a.iw=ee,a.hw=ne}function xu(a,y){var ee=a.hw.I(y);return ee!==null?ee:a.hw.I(y.toLowerCase())}function _s(a,y){var ee=a.iw.I(y);if(ee!==null||(ee=a.iw.I(y.toLowerCase()),ee!==null))return ee;cn("Unknown DiagramEvent name: "+y)}It.Bj=function(a,y){return a=_s(this,a),a!==null&&a.add(y),this},It.am=function(a,y){a=_s(this,a),a!==null&&a.remove(y)},It.R=function(a,y,ee){var ne=_s(this,a),se=new Pr;if(se.diagram=this,a=xu(this,a),a!==null&&(se.name=a),y!==void 0&&(se.subject=y),ee!==void 0&&(se.parameter=ee),y=ne.length,y===1)ne.M(0)(se);else if(y!==0)for(ne=ne.Fa(),ee=0;ee<y;ee++)(0,ne[ee])(se)};function pl(a){if(a.animationManager.isTicking)return!1;var y=a.currentTool;return y===a.toolManager.findTool("Dragging")?!a.Mr||y.isComplexRoutingRealtime:!0}It.Yj=function(a,y){return fu(this,!1,null,y||null).Yj(a.x,a.y,a.width,a.height)},Lr.prototype.computeOccupiedArea=function(a){return this.isVirtualized?this.viewportBounds.copy():this.Zi?R0(this,a):a.assign(this.documentBounds)};function fu(a,y,ee,ne){var se=a.Xh;if(se===null&&(a.Xh=se=new rE(a.avoidanceCellSize)),se.vs||se.group!==ee||se.Yx!==ne){if(se.Hx=Math.max(se.Os+1,Math.floor(a.avoidanceLimit/a.avoidanceCellSize.width)),se.Ix=Math.max(se.Os+1,Math.floor(a.avoidanceLimit/a.avoidanceCellSize.height)),ee!==null&&(ee=Lc(a,ee)),ee===null){y=Ur.alloc(),a.computeOccupiedArea(y),y.Bc(100,100),se.initialize(y);for(var ue=a.nodes;ue.next();){var me=ue.value,be=me.layer;be!==null&&be.visible&&!be.isTemporary&&sd(a,me,ne,y)}Ur.free(y)}else{for(0<ee.memberParts.count&&(y=a.computePartsBounds(ee.memberParts,!1),y.Bc(20,20),se.initialize(y)),y=Ur.alloc(),ue=ee.memberParts;ue.next();)me=ue.value,me instanceof Yi&&sd(a,me,ne,y);Ur.free(y)}se.group=ee,se.Yx=ne,se.vs=!1}else y&&No(se);return se}function Lc(a,y){return y.avoidable&&!y.isLinkLabel?y:y.containingGroup!==null?Lc(a,y.containingGroup):null}function sd(a,y,ee,ne){if(y!==ee&&y.isVisible()){if(y.avoidable&&!y.isLinkLabel){y=y.getAvoidableRect(ne),a=a.Xh;var se=y.x,ue=y.y;if(wy(a,se,ue))for(ee=(ue-a.Od)/a.sc|0,ne=Math.min((se+y.width-a.Nd)/a.rc|0,a.di),y=Math.min((ue+y.height-a.Od)/a.sc|0,a.ei),se=(se-a.Nd)/a.rc|0;se<=ne;se++)if(ue=a.ac[se],ue.fill)ue.fill($0,ee,y+1);else for(var me=ee;me<=y;me++)ue[me]=$0}else if(y instanceof Ma)for(y=y.memberParts;y.next();)se=y.value,se instanceof Yi&&sd(a,se,ee,ne)}}function ld(a,y){a.Xh===null||a.Xh.vs||y!==void 0&&(!y.avoidable||y.isLinkLabel)||(a.Xh.vs=!0)}Lr.prototype.gs=function(a){this.wp.assign(a),this.computeAutoScrollPosition(this.wp).Xa(this.position)?this.ug():hp(this)};function hp(a){a.vk===-1&&(a.vk=Gn(function(){if(a.vk!==-1&&(a.ug(),a.lastInput.event!==null)){var y=a.computeAutoScrollPosition(a.wp);y.Xa(a.position)||(a.position=y,a.lastInput.documentPoint=a.Ps(a.wp),a.doMouseMove(),a.Zi=!0,y=Ur.alloc(),a.computeBounds(y),y.ed(a.documentBounds),h1(a,y),Ur.free(y),a.Fc=!0,a.bd(),hp(a))}},a.vp))}Lr.prototype.ug=function(){this.vk!==-1&&(Ct.clearTimeout(this.vk),this.vk=-1)},Lr.prototype.computeAutoScrollPosition=function(a){var y=this.position,ee=this.xp;if(0>=ee.top&&0>=ee.left&&0>=ee.right&&0>=ee.bottom)return y;var ne=this.viewportBounds,se=this.scale;ne=Ur.allocAt(0,0,ne.width*se,ne.height*se);var ue=yn.allocAt(0,0);if(a.x>=ne.x&&a.x<ne.x+ee.left&&this.allowHorizontalScroll){var me=Math.max(this.scrollHorizontalLineChange,1);me|=0,ue.x-=me,a.x<ne.x+ee.left/2&&(ue.x-=me),a.x<ne.x+ee.left/4&&(ue.x-=4*me)}else a.x<=ne.x+ne.width&&a.x>ne.x+ne.width-ee.right&&this.allowHorizontalScroll&&(me=Math.max(this.scrollHorizontalLineChange,1),me|=0,ue.x+=me,a.x>ne.x+ne.width-ee.right/2&&(ue.x+=me),a.x>ne.x+ne.width-ee.right/4&&(ue.x+=4*me));return a.y>=ne.y&&a.y<ne.y+ee.top&&this.allowVerticalScroll?(me=Math.max(this.scrollVerticalLineChange,1),me|=0,ue.y-=me,a.y<ne.y+ee.top/2&&(ue.y-=me),a.y<ne.y+ee.top/4&&(ue.y-=4*me)):a.y<=ne.y+ne.height&&a.y>ne.y+ne.height-ee.bottom&&this.allowVerticalScroll&&(me=Math.max(this.scrollVerticalLineChange,1),me|=0,ue.y+=me,a.y>ne.y+ne.height-ee.bottom/2&&(ue.y+=me),a.y>ne.y+ne.height-ee.bottom/4&&(ue.y+=4*me)),ue.Xa(ja)||(y=new yn(y.x+ue.x/se,y.y+ue.y/se)),Ur.free(ne),yn.free(ue),y},It=Lr.prototype,It.Cs=function(){return null},It.av=function(){return null},It.bs=function(a,y){this.pj.add(a,y)},It.Fu=function(a){(this.Pw=a)||this.nodes.each(function(y){y instanceof Ma&&(y.$p=null)})};function xg(a,y,ee){function ne(){var Je=+new Date;for(ue=!0,me.reset();me.next();)if(!me.value[0].al){ue=!1;break}ue||Je-Ye>Fe?y(ee,se,be):Ct.requestAnimationFrame(ne)}for(var se=ee.callback,ue=!0,me=a.Og.iterator;me.next();)if(!me.value[0].al){ue=!1;break}if(typeof se!="function"||ue)return y(ee,se,a);var be=a,Fe=ee.callbackTimeout||300,Ye=+new Date;return Ct.requestAnimationFrame(function(){ne()}),null}It.Wz=function(a){return bu?(a===void 0&&(a={}),a.returnType="Image",this.Jx(a)):null},It.Jx=function(a){return a===void 0&&(a={}),xg(this,this.Xz,a)},It.Xz=function(a,y,ee){var ne=W0(ee,a,"canvas",null);if(ne===null)return null;ee=ne.Z.canvas;var se=null;if(ee!==null)switch(se=a.returnType,se===void 0?se="string":se=se.toLowerCase(),se){case Mv+"data":se=ne.getImageData(0,0,ee.width,ee.height);break;case Mv:ne=(a.document||document).createElement("img"),ne.src=ee.toDataURL(a.type,a.details),se=ne;break;case"blob":return typeof y!="function"&&cn('Error: Diagram.makeImageData called with "returnType: toBlob", but no required "callback" function property defined.'),typeof ee.toBlob=="function"?(ee.toBlob(y,a.type,a.details),"toBlob"):(y(null),null);default:se=ee.toDataURL(a.type,a.details)}return typeof y=="function"?(y(se),null):se};function W0(a,y,ee,ne){if(a.animationManager.Cc(),a.bd(),a.ta===null)return null;typeof y!="object"&&cn("properties argument must be an Object.");var se=y.size||null,ue=y.scale||null;y.scale!==void 0&&isNaN(y.scale)&&(ue="NaN");var me=y.maxSize;y.maxSize===void 0&&(me=ee==="SVG"?new Ii(1/0,1/0):new Ii(2e3,2e3));var be=y.position||null,Fe=y.parts||null,Ye=y.padding===void 0?1:y.padding,Je=y.background||null,st=y.omitTemporary;st===void 0&&(st=!0);var yt=y.document||document,Tt=y.elementFinished||null,Ft=y.showTemporary;Ft===void 0&&(Ft=!st),y=y.showGrid,y===void 0&&(y=Ft),se!==null&&isNaN(se.width)&&isNaN(se.height)&&(se=null),typeof Ye=="number"?Ye=new jo(Ye):Ye instanceof jo||cn("MakeImage padding must be a Margin or a number."),Ye.left=Math.max(Ye.left,0),Ye.right=Math.max(Ye.right,0),Ye.top=Math.max(Ye.top,0),Ye.bottom=Math.max(Ye.bottom,0),a.ib.Vc(!0),st=new wg(null,yt,void 0,!0);var Zt=st.context;if(!(se||ue||Fe||be))return st.width=a.Aa+Math.ceil(Ye.left+Ye.right),st.height=a.ya+Math.ceil(Ye.top+Ye.bottom),ee==="SVG"?ne===null?null:(ne.resize(st.width,st.height,st.width,st.height),ne.ownerDocument=yt,ne.hs=Tt,Ju(a,ne.context,Ye,new Ii(st.width,st.height),a.Ca,a.pa,Fe,Je,Ft,y),ne.context):(a.Xm=!1,Ju(a,Zt,Ye,new Ii(st.width,st.height),a.Ca,a.pa,Fe,Je,Ft,y),a.Xm=!0,st.context);var bn=a.Pp,fn=a.documentBounds.copy();if(fn.Fv(a.yb),Ft)for(var Fn=a.Wa.s,zn=Fn.length,Zn=0;Zn<zn;Zn++){var sr=Fn[Zn];if(sr.visible&&sr.isTemporary){sr=sr.Pa.s;for(var Br=sr.length,Hi=0;Hi<Br;Hi++){var uo=sr[Hi];uo.isInDocumentBounds&&uo.isVisible()&&(uo=uo.actualBounds,uo.w()&&fn.ed(uo))}}}if(Fn=new yn(fn.x,fn.y),Fe!==null){for(zn=new Ur(0,0,0,0),Zn=!0,sr=Fe.iterator,sr.reset();sr.next();)Br=sr.value,Br instanceof _o&&(Hi=Br.layer,Hi!==null&&!Hi.visible||Hi!==null&&!Ft&&Hi.isTemporary||!Br.isVisible()||(Br=Br.actualBounds,Br.w()&&(Zn?(Zn=!1,zn.assign(Br)):zn.ed(Br))));fn.width=zn.width,fn.height=zn.height,Fn.x=zn.x,Fn.y=zn.y}return be!==null&&be.w()&&(Fn=be,ue||(ue=bn)),zn=be=0,Ye!==null&&(be=Ye.left+Ye.right,zn=Ye.top+Ye.bottom),Zn=sr=0,se!==null&&(sr=se.width,Zn=se.height,isFinite(sr)&&(sr=Math.max(0,sr-be)),isFinite(Zn)&&(Zn=Math.max(0,Zn-zn))),se!==null&&ue!==null?(ue==="NaN"&&(ue=bn),se.w()?(se=sr,fn=Zn):isNaN(Zn)?(se=sr,fn=fn.height*ue):(se=fn.width*ue,fn=Zn)):se!==null?se.w()?(ue=Math.min(sr/fn.width,Zn/fn.height),se=sr,fn=Zn):isNaN(Zn)?(ue=sr/fn.width,se=sr,fn=fn.height*ue):(ue=Zn/fn.height,se=fn.width*ue,fn=Zn):ue!==null?ue==="NaN"&&me.w()?(ue=Math.min((me.width-be)/fn.width,(me.height-zn)/fn.height),ue>bn?(ue=bn,se=fn.width,fn=fn.height):(se=me.width,fn=me.height)):(se=fn.width*ue,fn=fn.height*ue):(ue=bn,se=fn.width,fn=fn.height),Ye!==null?(se+=be,fn+=zn):Ye=new jo(0),me!==null&&(bn=me.width,me=me.height,isNaN(bn)&&(bn=2e3),isNaN(me)&&(me=2e3),isFinite(bn)&&(se=Math.min(se,bn)),isFinite(me)&&(fn=Math.min(fn,me))),st.width=Math.ceil(se),st.height=Math.ceil(fn),ee==="SVG"?ne===null?null:(ne.resize(st.width,st.height,st.width,st.height),ne.ownerDocument=yt,ne.hs=Tt,Ju(a,ne.context,Ye,new Ii(Math.ceil(se),Math.ceil(fn)),ue,Fn,Fe,Je,Ft,y),ne.context):(a.Xm=!1,Ju(a,Zt,Ye,new Ii(Math.ceil(se),Math.ceil(fn)),ue,Fn,Fe,Je,Ft,y),a.Xm=!0,st.context)}Re.Object.defineProperties(Lr.prototype,{renderer:{get:function(){return this.nl},set:function(a){this instanceof ht||(a===""&&(a="default"),a=a.toLowerCase(),a!==this.nl&&(this.nl=a,a==="default"||a==="canvas"?(a=this.pj.get("svg"),a!==null&&a.Oa.remove(),this.ta&&(this.ib=this.ta.context)):a==="svg"?(this.pj.contains("svg")?a=this.pj.get("svg"):(a=new Ip(this,Ct.document),this.bs("svg",a)),this.div!==null&&this.div.appendChild(a.Oa),this.ib=a.context,this.ta&&(this.ta.context.setTransform(this.Mb,0,0,this.Mb,0,0),this.ta.context.clearRect(0,0,this.Aa,this.ya))):a!=="debug"||this.pj.contains("SVG")||(a=new Ip(this,Ct.document),this.bs("SVG",a),a.Oa.style.backgroundColor="whitesmoke",this.div!==null&&this.div.after(a.Oa)),this.hk()))}},div:{get:function(){return this.Ka},set:function(a){if(this.Ka!==a){var y=this.Ka;y!==null?(y.H=void 0,y.goDiagram=void 0,y.go=void 0,y.innerHTML="",this.ta!==null&&(y=this.ta.Oa,this.removeEventListener(y,"pointermove",this.dk,!1),this.removeEventListener(y,"pointerdown",this.ui,!1),this.removeEventListener(y,"pointerup",this.fk,!1),this.removeEventListener(y,"pointerout",this.ek,!1),this.removeEventListener(y,"pointercancel",this.ck,!1),this.ta.mx()),this.ol&&(this.ol.disconnect(),this.ol=null),y=this.toolManager,y!==null&&(y.mouseDownTools.each(function(ee){ee.cancelWaitAfter()}),y.mouseMoveTools.each(function(ee){ee.cancelWaitAfter()}),y.mouseUpTools.each(function(ee){ee.cancelWaitAfter()})),y.cancelWaitAfter(),this.currentTool.doCancel(),this.ta=null,this.removeEventListener(Ct,"resize",this.Ov,!1),this.removeEventListener(Ct,"wheel",this.$j,!0),Qf===this&&(Qf=null)):this.ui===null&&(this.hf=!1),this.Ka=null,a!==null&&((y=a.H)&&(y.div=null),mg(this,a),this.hk())}}},$w:{get:function(){return this.Sq}},pi:{get:function(){return this.hf}},draggedLink:{get:function(){return this.nt},set:function(a){this.nt!==a&&(this.nt=a,a!==null&&(this.Vt=a.fromPort,this.Wt=a.toPort))}},Mx:{get:function(){return this.Vt},set:function(a){this.Vt=a}},Nx:{get:function(){return this.Wt},set:function(a){this.Wt=a}},animationManager:{get:function(){return this.Yd}},undoManager:{get:function(){return this.cc.undoManager}},skipsUndoManager:{get:function(){return this.Wg},set:function(a){this.Wg=a,this.cc.skipsUndoManager=a}},delaysLayout:{get:function(){return this.lt},set:function(a){this.lt=a}},opacity:{get:function(){return this.pb},set:function(a){var y=this.pb;y!==a&&((0>a||1<a)&&ir(a,"0 <= value <= 1",Lr,"opacity"),this.pb=a,this.g("opacity",y,a),this.N())}},validCycle:{get:function(){return this.wu},set:function(a){var y=this.wu;y!==a&&(this.wu=a,this.g("validCycle",y,a))}},layers:{get:function(){return this.Wa.iterator}},isModelReadOnly:{get:function(){var a=this.cc;return a===null?!1:a.isReadOnly},set:function(a){var y=this.cc;y!==null&&(y.isReadOnly=a)}},isReadOnly:{get:function(){return this.Gg},set:function(a){var y=this.Gg;y!==a&&(this.Gg=a,this.g("isReadOnly",y,a))}},isEnabled:{get:function(){return this.Jd},set:function(a){var y=this.Jd;y!==a&&(this.Jd=a,this.g("isEnabled",y,a))}},allowClipboard:{get:function(){return this.Us},set:function(a){var y=this.Us;y!==a&&(this.Us=a,this.g("allowClipboard",y,a))}},allowCopy:{get:function(){return this.Fi},set:function(a){var y=this.Fi;y!==a&&(this.Fi=a,this.g("allowCopy",y,a))}},allowDelete:{get:function(){return this.Gi},set:function(a){var y=this.Gi;y!==a&&(this.Gi=a,this.g("allowDelete",y,a))}},allowDragOut:{get:function(){return this.Vs},set:function(a){var y=this.Vs;y!==a&&(this.Vs=a,this.g("allowDragOut",y,a))}},allowDrop:{get:function(){return this.Ws},set:function(a){var y=this.Ws;y!==a&&(this.Ws=a,this.g("allowDrop",y,a))}},allowTextEdit:{get:function(){return this.Pi},set:function(a){var y=this.Pi;y!==a&&(this.Pi=a,this.g("allowTextEdit",y,a))}},allowGroup:{get:function(){return this.Hi},set:function(a){var y=this.Hi;y!==a&&(this.Hi=a,this.g("allowGroup",y,a))}},allowUngroup:{get:function(){return this.Qi},set:function(a){var y=this.Qi;y!==a&&(this.Qi=a,this.g("allowUngroup",y,a))}},allowInsert:{get:function(){return this.Ys},set:function(a){var y=this.Ys;y!==a&&(this.Ys=a,this.g("allowInsert",y,a))}},allowLink:{get:function(){return this.Ii},set:function(a){var y=this.Ii;y!==a&&(this.Ii=a,this.g("allowLink",y,a))}},allowRelink:{get:function(){return this.Ki},set:function(a){var y=this.Ki;y!==a&&(this.Ki=a,this.g("allowRelink",y,a))}},allowMove:{get:function(){return this.Ji},set:function(a){var y=this.Ji;y!==a&&(this.Ji=a,this.g("allowMove",y,a))}},allowReshape:{get:function(){return this.Li},set:function(a){var y=this.Li;y!==a&&(this.Li=a,this.g("allowReshape",y,a))}},allowResize:{get:function(){return this.Mi},set:function(a){var y=this.Mi;y!==a&&(this.Mi=a,this.g("allowResize",y,a))}},allowRotate:{get:function(){return this.Ni},set:function(a){var y=this.Ni;y!==a&&(this.Ni=a,this.g("allowRotate",y,a))}},allowSelect:{get:function(){return this.Oi},set:function(a){var y=this.Oi;y!==a&&(this.Oi=a,this.g("allowSelect",y,a))}},allowUndo:{get:function(){return this.Zs},set:function(a){var y=this.Zs;y!==a&&(this.Zs=a,this.g("allowUndo",y,a))}},allowZoom:{get:function(){return this.at},set:function(a){var y=this.at;y!==a&&(this.at=a,this.g("allowZoom",y,a))}},hasVerticalScrollbar:{get:function(){return this.nn},set:function(a){var y=this.nn;y!==a&&(this.nn=a,this.Ee=!0,this.N(),this.g("hasVerticalScrollbar",y,a),ah(this,!1))}},hasHorizontalScrollbar:{get:function(){return this.mn},set:function(a){var y=this.mn;y!==a&&(this.mn=a,this.Ee=!0,this.N(),this.g("hasHorizontalScrollbar",y,a),ah(this,!1))}},allowHorizontalScroll:{get:function(){return this.Xs},set:function(a){var y=this.Xs;y!==a&&(this.Xs=a,this.g("allowHorizontalScroll",y,a),ah(this,!1))}},allowVerticalScroll:{get:function(){return this.$s},set:function(a){var y=this.$s;y!==a&&(this.$s=a,this.g("allowVerticalScroll",y,a),ah(this,!1))}},scrollHorizontalLineChange:{get:function(){return this.iu},set:function(a){var y=this.iu;y!==a&&(0>a&&ir(a,">= 0",Lr,"scrollHorizontalLineChange"),this.iu=a,this.g("scrollHorizontalLineChange",y,a))}},scrollVerticalLineChange:{get:function(){return this.mu},set:function(a){var y=this.mu;y!==a&&(0>a&&ir(a,">= 0",Lr,"scrollVerticalLineChange"),this.mu=a,this.g("scrollVerticalLineChange",y,a))}},lastInput:{get:function(){return this.cj},set:function(a){this.cj=a}},previousInput:{get:function(){return this.Qg},set:function(a){this.Qg=a}},firstInput:{get:function(){return this.bq},set:function(a){this.bq=a}},currentCursor:{get:function(){return this.it},set:function(a){if(a===""&&(a=this.Op),this.it!==a){var y=this.ta,ee=this.Ka;if(y!==null&&ee!==null){this.it=a;var ne=y.style.cursor;y.style.cursor=a,ee.style.cursor=a,y.style.cursor===ne&&(y.style.cursor="-webkit-"+a,ee.style.cursor="-webkit-"+a,y.style.cursor===ne&&(y.style.cursor="-moz-"+a,ee.style.cursor="-moz-"+a,y.style.cursor===ne&&(y.style.cursor=a,ee.style.cursor=a)))}}}},defaultCursor:{get:function(){return this.Op},set:function(a){a===""&&(a="auto");var y=this.Op;y!==a&&(this.Op=a,this.g("defaultCursor",y,a))}},click:{get:function(){return this.zh},set:function(a){var y=this.zh;y!==a&&(this.zh=a,this.g("click",y,a))}},doubleClick:{get:function(){return this.Fh},set:function(a){var y=this.Fh;y!==a&&(this.Fh=a,this.g("doubleClick",y,a))}},contextClick:{get:function(){return this.Bh},set:function(a){var y=this.Bh;y!==a&&(this.Bh=a,this.g("contextClick",y,a))}},mouseOver:{get:function(){return this.Qh},set:function(a){var y=this.Qh;y!==a&&(this.Qh=a,this.g("mouseOver",y,a))}},mouseHover:{get:function(){return this.Oh},set:function(a){var y=this.Oh;y!==a&&(this.Oh=a,this.g("mouseHover",y,a))}},mouseHold:{get:function(){return this.Nh},set:function(a){var y=this.Nh;y!==a&&(this.Nh=a,this.g("mouseHold",y,a))}},mouseDragOver:{get:function(){return this.Qt},set:function(a){var y=this.Qt;y!==a&&(this.Qt=a,this.g("mouseDragOver",y,a))}},mouseDrop:{get:function(){return this.Lh},set:function(a){var y=this.Lh;y!==a&&(this.Lh=a,this.g("mouseDrop",y,a))}},handlesDragDropForTopLevelParts:{get:function(){return this.xt},set:function(a){var y=this.xt;y!==a&&(this.xt=a,this.g("handlesDragDropForTopLevelParts",y,a))}},mouseEnter:{get:function(){return this.Mh},set:function(a){var y=this.Mh;y!==a&&(this.Mh=a,this.g("mouseEnter",y,a))}},mouseLeave:{get:function(){return this.Ph},set:function(a){var y=this.Ph;y!==a&&(this.Ph=a,this.g("mouseLeave",y,a))}},toolTip:{get:function(){return this.$h},set:function(a){var y=this.$h;y!==a&&(this.$h=a,this.g("toolTip",y,a))}},contextMenu:{get:function(){return this.Ch},set:function(a){var y=this.Ch;y!==a&&(this.Ch=a,this.g("contextMenu",y,a))}},commandHandler:{get:function(){return this.nb},set:function(a){this.nb!==a&&(this.nb=a,a.Xe(this))}},toolManager:{get:function(){return this.te},set:function(a){this.te!==a&&(this.te=a,a.diagram=this)}},defaultTool:{get:function(){return this.ob},set:function(a){var y=this.ob;y!==a&&(this.ob=a,a.diagram=this,this.currentTool===y&&(this.currentTool=a))}},currentTool:{get:function(){return this.hb},set:function(a){var y=this.hb;y&&(y.isActive&&y.doDeactivate(),y.cancelWaitAfter(),y.doStop()),a===null&&(a=this.defaultTool),a!==null&&(this.hb=a,a.diagram=this,a.doStart())}},selection:{get:function(){return this.Hw}},maxSelectionCount:{get:function(){return this.Nt},set:function(a){var y=this.Nt;if(y!==a)if(0<=a&&!isNaN(a)){if(this.Nt=a,this.g("maxSelectionCount",y,a),!this.undoManager.isUndoingRedoing&&(a=this.selection.count-a,0<a)){this.R("ChangingSelection",this.selection),y=this.selection.Fa();for(var ee=0;ee<a;ee++)y[ee].isSelected=!1;this.R("ChangedSelection",this.selection)}}else ir(a,">= 0",Lr,"maxSelectionCount")}},nodeSelectionAdornmentTemplate:{get:function(){return this.St},set:function(a){var y=this.St;y!==a&&(this.St=a,this.g("nodeSelectionAdornmentTemplate",y,a))}},groupSelectionAdornmentTemplate:{get:function(){return this.wt},set:function(a){var y=this.wt;y!==a&&(this.wt=a,this.g("groupSelectionAdornmentTemplate",y,a))}},linkSelectionAdornmentTemplate:{get:function(){return this.Kt},set:function(a){var y=this.Kt;y!==a&&(this.Kt=a,this.g("linkSelectionAdornmentTemplate",y,a))}},highlighteds:{get:function(){return this.nw}},isModified:{get:function(){var a=this.undoManager;return a.isEnabled?a.currentTransaction!==null?!0:this.rn&&this.Ce!==a.historyIndex:this.rn},set:function(a){if(this.rn!==a){this.rn=a;var y=this.undoManager;!a&&y.isEnabled&&(this.Ce=y.historyIndex),a||Ix(this)}}},model:{get:function(){return this.cc},set:function(a){var y=this.cc;if(y!==a){this.currentTool.doCancel(),y&&y.undoManager!==a.undoManager&&y.undoManager.isInTransaction&&cn("Do not replace a Diagram.model while a transaction is in progress."),this.animationManager.Cc(!0);var ee=e0(this,!0);this.hf=!1,this.fn=!0,this.Ce=-2,this.kg=!1;var ne=this.vb;this.vb=!0,Oo(this.animationManager,"Model"),y&&(this.pf!==null&&this.pf.each(function(ue){return y.ik(ue)}),y.ik(this.Oc)),this.cc=a,this.partManager=c1(this.cc.type);for(var se=0;se<ee.length;se++)this.add(ee[se]);a.Pe(this.Hb),this.partManager.addAllModeledParts(),a.ik(this.Hb),a.Pe(this.Oc),this.pf!==null&&this.pf.each(function(ue){return a.Pe(ue)}),this.vb=ne,this.Ya(),this.vb||this.N(),y&&a.undoManager.copyProperties(y.undoManager)}}},aa:{get:function(){return this.rw},set:function(a){this.rw=a}},As:{get:function(){return this.sy}},skipsModelSourceBindings:{get:function(){return this.Iw},set:function(a){this.Iw=a}},Ns:{get:function(){return this.ou},set:function(a){this.ou=a}},nodeTemplate:{get:function(){return this.Lg.I("")},set:function(a){var y=this.Lg.I("");y!==a&&(this.Lg.add("",a),this.g("nodeTemplate",y,a),this.undoManager.isUndoingRedoing||this.Wd())}},nodeTemplateMap:{get:function(){return this.Lg},set:function(a){var y=this.Lg;y!==a&&(this.Lg=a,this.g("nodeTemplateMap",y,a),this.undoManager.isUndoingRedoing||this.Wd())}},groupTemplate:{get:function(){return this.Yi.I("")},set:function(a){var y=this.Yi.I("");y!==a&&(this.Yi.add("",a),this.g("groupTemplate",y,a),this.undoManager.isUndoingRedoing||this.Wd())}},groupTemplateMap:{get:function(){return this.Yi},set:function(a){var y=this.Yi;y!==a&&(this.Yi=a,this.g("groupTemplateMap",y,a),this.undoManager.isUndoingRedoing||this.Wd())}},linkTemplate:{get:function(){return this.Kh.I("")},set:function(a){var y=this.Kh.I("");y!==a&&(this.Kh.add("",a),this.g("linkTemplate",y,a),this.undoManager.isUndoingRedoing||this.Wd())}},linkTemplateMap:{get:function(){return this.Kh},set:function(a){var y=this.Kh;y!==a&&(this.Kh=a,this.g("linkTemplateMap",y,a),this.undoManager.isUndoingRedoing||this.Wd())}},isMouseCaptured:{get:function(){return this.qw},set:function(a){var y=this.ta;y!==null&&(y=y.Oa,y instanceof SVGElement||(a?(this.lastInput.bubbles=!1,this.removeEventListener(y,"pointermove",this.dk,!1),this.removeEventListener(y,"pointerdown",this.ui,!1),this.removeEventListener(y,"pointerup",this.fk,!1),this.removeEventListener(y,"pointerout",this.ek,!1),this.removeEventListener(y,"pointercancel",this.ck,!1),this.addEventListener(Ct,"pointermove",this.dk,!0),this.addEventListener(Ct,"pointerdown",this.ui,!0),this.addEventListener(Ct,"pointerup",this.fk,!0),this.addEventListener(Ct,"pointerout",this.ek,!0),this.addEventListener(Ct,"pointercancel",this.ck,!0),this.removeEventListener(y,"wheel",this.$j,!1),this.addEventListener(Ct,"wheel",this.$j,!0),this.addEventListener(Ct,"selectstart",this.preventDefault,!1)):(this.removeEventListener(Ct,"pointermove",this.dk,!0),this.removeEventListener(Ct,"pointerdown",this.ui,!0),this.removeEventListener(Ct,"pointerup",this.fk,!0),this.removeEventListener(Ct,"pointerout",this.ek,!0),this.removeEventListener(Ct,"pointercancel",this.ck,!0),this.addEventListener(y,"pointermove",this.dk,!1),this.addEventListener(y,"pointerdown",this.ui,!1),this.addEventListener(y,"pointerup",this.fk,!1),this.addEventListener(y,"pointerout",this.ek,!1),this.addEventListener(y,"pointercancel",this.ck,!1),this.removeEventListener(Ct,"wheel",this.$j,!0),this.removeEventListener(Ct,"selectstart",this.preventDefault,!1),this.addEventListener(y,"wheel",this.$j,!1)),this.qw=a))}},position:{get:function(){return this.pa},set:function(a){var y=yn.alloc().assign(this.pa);if(!y.D(a)){var ee=this.viewportBounds.copy();this.pa.assign(a),ra(this.animationManager,y,this.pa),this.vb||this.ta===null&&!this.wo.w()?Vg(this):(this.vb=!0,a=this.scale,Mp(this,this.Sp,this.Aa/a,this.ya/a,this.zk,!1),this.vb=!1),this.vb||this.onViewportBoundsChanged(ee,this.viewportBounds,this.Ca,!1)}yn.free(y)}},initialPosition:{get:function(){return this.zt},set:function(a){this.zt.D(a)||(this.zt=a.J())}},initialScale:{get:function(){return this.At},set:function(a){this.At!==a&&(this.At=a)}},grid:{get:function(){return this.fe===null&&(this.fe=N0(this)),this.fe},set:function(a){var y=this.fe;if(y!==a){y===null&&(y=this.fe=N0(this)),a.type!==bi.Grid&&cn("Diagram.grid must be a Panel of type Panel.Grid");var ee=y.panel;ee!==null&&ee.remove(y),this.fe=a,a.name="GRID",ee!==null&&ee.add(a),yg(this),this.N(),this.g("grid",y,a)}}},viewportBounds:{get:function(){return this.Rw}},viewSize:{get:function(){return this.wo},set:function(a){var y=this.viewSize;y.D(a)||(this.wo=a=a.J(),this.ya=this.Aa=0,a.w()?(this.Aa=a.width,this.ya=a.height):this.Ka!==null&&(this.Aa=this.Ka.clientWidth||1,this.ya=this.Ka.clientHeight||1),Vg(this),this.Ya(),this.g("viewSize",y,a),this.redraw())}},fixedBounds:{get:function(){return this.ut},set:function(a){var y=this.ut;y.D(a)||(a.width!==-1/0&&a.height!==1/0&&a.height!==-1/0||cn("fixedBounds width/height must not be Infinity"),this.ut=a=a.J(),this.Ya(),this.g("fixedBounds",y,a))}},scrollMargin:{get:function(){return this.rj},set:function(a){typeof a=="number"&&(a=new jo(a));var y=this.rj;y.D(a)||(this.rj=a=a.J(),this.g("scrollMargin",y,a),this.hk())}},scrollMode:{get:function(){return this.sj},set:function(a){var y=this.sj;y!==a&&(this.sj=a,a===Cf&&ah(this,!1),this.g("scrollMode",y,a),this.Ee=!0,this.N())}},scrollsPageOnFocus:{get:function(){return this.nu},set:function(a){var y=this.nu;y!==a&&(this.nu=a,this.g("scrollsPageOnFocus",y,a))}},positionComputation:{get:function(){return this.Zt},set:function(a){var y=this.Zt;y!==a&&(this.Zt=a,ah(this,!1),this.g("positionComputation",y,a))}},scaleComputation:{get:function(){return this.fu},set:function(a){var y=this.fu;y!==a&&(this.fu=a,ry(this,this.scale,this.scale),this.g("scaleComputation",y,a))}},documentBounds:{get:function(){return this.Sp}},isVirtualized:{get:function(){return this.It},set:function(a){var y=this.It;y!==a&&(this.It=a,this.g("isVirtualized",y,a))}},scale:{get:function(){return this.Ca},set:function(a){var y=this.Ca;y!==a&&ry(this,y,a)}},defaultScale:{get:function(){return this.Pp},set:function(a){this.Pp=a}},autoScale:{get:function(){return this.yh},set:function(a){var y=this.yh;y!==a&&(this.yh=a,this.g("autoScale",y,a),a!==Qh&&ah(this,!1))}},initialAutoScale:{get:function(){return this.Fg},set:function(a){var y=this.Fg;y!==a&&(this.Fg=a,this.g("initialAutoScale",y,a))}},initialViewportSpot:{get:function(){return this.Bt},set:function(a){var y=this.Bt;y!==a&&(a.sb()||cn("initialViewportSpot must be a specific Spot: "+a),this.Bt=a,this.g("initialViewportSpot",y,a))}},initialDocumentSpot:{get:function(){return this.yt},set:function(a){var y=this.yt;y!==a&&(a.sb()||cn("initialViewportSpot must be a specific Spot: "+a),this.yt=a,this.g("initialDocumentSpot",y,a))}},minScale:{get:function(){return this.Ot},set:function(a){var y=this.Ot;y!==a&&(0<a?(this.Ot=a,this.g("minScale",y,a),a>this.scale&&(this.scale=a)):ir(a,"> 0",Lr,"minScale"))}},maxScale:{get:function(){return this.Mt},set:function(a){var y=this.Mt;y!==a&&(0<a?(this.Mt=a,this.g("maxScale",y,a),a<this.scale&&(this.scale=a)):ir(a,"> 0",Lr,"maxScale"))}},zoomPoint:{get:function(){return this.zu},set:function(a){this.zu.D(a)||(this.zu=a=a.J())}},contentAlignment:{get:function(){return this.zk},set:function(a){var y=this.zk;y.D(a)||(this.zk=a=a.J(),this.g("contentAlignment",y,a),ah(this,!1))}},initialContentAlignment:{get:function(){return this.pq},set:function(a){var y=this.pq;y.D(a)||(this.pq=a=a.J(),this.g("initialContentAlignment",y,a))}},padding:{get:function(){return this.yb},set:function(a){typeof a=="number"&&(a=new jo(a));var y=this.yb;y.D(a)||(this.yb=a=a.J(),this.Ya(),this.g("padding",y,a))}},partManager:{get:function(){return this.Pc},set:function(a){var y=this.Pc;y!==a&&(a.diagram!==null&&cn("Cannot share PartManagers between Diagrams: "+a.toString()),y&&y.Xe(null),this.Pc=a,a.Xe(this))}},nodes:{get:function(){return this.partManager.nodes.iterator}},links:{get:function(){return this.partManager.links.iterator}},parts:{get:function(){return this.partManager.parts.iterator}},layout:{get:function(){return this.Sc},set:function(a){var y=this.Sc;y!==a&&(this.Sc=a,a.diagram=this,a.group=null,this.xh=!0,this.g("layout",y,a),this.$b())}},isTreePathToChildren:{get:function(){return this.Ht},set:function(a){var y=this.Ht;if(y!==a&&(this.Ht=a,this.g("isTreePathToChildren",y,a),!this.undoManager.isUndoingRedoing))for(a=this.nodes;a.next();)I1(a.value)}},treeCollapsePolicy:{get:function(){return this.uu},set:function(a){var y=this.uu;y!==a&&(a!==jd&&a!==ic&&a!==sy&&cn("Unknown Diagram.treeCollapsePolicy: "+a),this.uu=a,this.g("treeCollapsePolicy",y,a))}},Ue:{get:function(){return this.pw},set:function(a){this.pw=a}},avoidanceCellSize:{get:function(){return this.aw},set:function(a){this.Xh=null,this.aw=new Ii(Math.max(1,a.width),Math.max(1,a.height))}},avoidanceLimit:{get:function(){return this.bw},set:function(a){this.bw=Math.max(1,a)}},autoScrollInterval:{get:function(){return this.vp},set:function(a){var y=this.vp;y!==a&&(this.vp=a,this.g("autoScrollInterval",y,a))}},autoScrollRegion:{get:function(){return this.xp},set:function(a){typeof a=="number"&&(a=new jo(a));var y=this.xp;y.D(a)||(this.xp=a=a.J(),this.Ya(),this.g("autoScrollRegion",y,a))}}}),Re.Object.defineProperties(Lr,{licenseKey:{get:function(){return Ed.jc()},set:function(a){Ed.add(a.replace(/\s/g,""))}},version:{get:function(){return dp}}}),Lr.prototype.makeImageData=Lr.prototype.Jx,Lr.prototype.makeImage=Lr.prototype.Wz,Lr.prototype.cacheGroupExternalLinks=Lr.prototype.Fu,Lr.prototype.addRenderer=Lr.prototype.bs,Lr.prototype.makeSVG=Lr.prototype.av,Lr.prototype.makeSvg=Lr.prototype.Cs,Lr.prototype.stopAutoScroll=Lr.prototype.ug,Lr.prototype.doAutoScroll=Lr.prototype.gs,Lr.prototype.isUnoccupied=Lr.prototype.Yj,Lr.prototype.raiseDiagramEvent=Lr.prototype.R,Lr.prototype.removeDiagramListener=Lr.prototype.am,Lr.prototype.addDiagramListener=Lr.prototype.Bj,Lr.prototype.findTreeRoots=Lr.prototype.yz,Lr.prototype.layoutDiagram=Lr.prototype.Uz,Lr.prototype.findTopLevelGroups=Lr.prototype.qz,Lr.prototype.findTopLevelNodesAndLinks=Lr.prototype.rz,Lr.prototype.ensureBounds=Lr.prototype.Va,Lr.prototype.findLinksByExample=Lr.prototype.ls,Lr.prototype.findNodesByExample=Lr.prototype.ms,Lr.prototype.findLinkForData=Lr.prototype.Kc,Lr.prototype.findNodeForData=Lr.prototype.ii,Lr.prototype.findPartForData=Lr.prototype.Lc,Lr.prototype.findLinkForKey=Lr.prototype.findLinkForKey,Lr.prototype.findNodeForKey=Lr.prototype.Vb,Lr.prototype.findPartForKey=Lr.prototype.findPartForKey,Lr.prototype.rebuildParts=Lr.prototype.Wd,Lr.prototype.transformViewToDoc=Lr.prototype.Ps,Lr.prototype.transformRectDocToView=Lr.prototype.zA,Lr.prototype.transformDocToView=Lr.prototype.op,Lr.prototype.centerRect=Lr.prototype.es,Lr.prototype.scrollToRect=Lr.prototype.tv,Lr.prototype.scroll=Lr.prototype.scroll,Lr.prototype.highlightCollection=Lr.prototype.Jz,Lr.prototype.highlight=Lr.prototype.Iz,Lr.prototype.selectCollection=Lr.prototype.rA,Lr.prototype.select=Lr.prototype.select,Lr.prototype.updateAllRelationshipsFromData=Lr.prototype.rp,Lr.prototype.updateAllTargetBindings=Lr.prototype.updateAllTargetBindings,Lr.prototype.commit=Lr.prototype.commit,Lr.prototype.rollbackTransaction=Lr.prototype.Kf,Lr.prototype.commitTransaction=Lr.prototype.eb,Lr.prototype.startTransaction=Lr.prototype.Ea,Lr.prototype.raiseChanged=Lr.prototype.g,Lr.prototype.raiseChangedEvent=Lr.prototype.cb,Lr.prototype.removeChangedListener=Lr.prototype.ik,Lr.prototype.addChangedListener=Lr.prototype.Pe,Lr.prototype.removeModelChangedListener=Lr.prototype.mA,Lr.prototype.addModelChangedListener=Lr.prototype.Yw,Lr.prototype.findLayer=Lr.prototype.Qj,Lr.prototype.removeLayer=Lr.prototype.kA,Lr.prototype.addLayerAfter=Lr.prototype.Cy,Lr.prototype.addLayerBefore=Lr.prototype.Ww,Lr.prototype.addLayer=Lr.prototype.Al,Lr.prototype.moveParts=Lr.prototype.moveParts,Lr.prototype.copyParts=Lr.prototype.Kj,Lr.prototype.removeParts=Lr.prototype.Is,Lr.prototype.remove=Lr.prototype.remove,Lr.prototype.add=Lr.prototype.add,Lr.prototype.clearDelayedGeometries=Lr.prototype.bx,Lr.prototype.setProperties=Lr.prototype.nm,Lr.prototype.attach=Lr.prototype.Du,Lr.prototype.set=Lr.prototype.set,Lr.prototype.resetInputOptions=Lr.prototype.Sx,Lr.prototype.setInputOption=Lr.prototype.sA,Lr.prototype.getInputOption=Lr.prototype.Ql,Lr.prototype.resetRenderingHints=Lr.prototype.Tx,Lr.prototype.setRenderingHint=Lr.prototype.Xx,Lr.prototype.getRenderingHint=Lr.prototype.Gf,Lr.prototype.maybeUpdate=Lr.prototype.bd,Lr.prototype.requestUpdate=Lr.prototype.$b,Lr.prototype.delayInitialization=Lr.prototype.Xy,Lr.prototype.isUpdateRequested=Lr.prototype.Pz,Lr.prototype.invalidateDocumentBounds=Lr.prototype.Ya,Lr.prototype.findObjectsNear=Lr.prototype.og,Lr.prototype.findPartsNear=Lr.prototype.mz,Lr.prototype.findObjectsIn=Lr.prototype.Cf,Lr.prototype.findPartsIn=Lr.prototype.ux,Lr.prototype.findObjectsAt=Lr.prototype.ji,Lr.prototype.findPartsAt=Lr.prototype.lz,Lr.prototype.findObjectAt=Lr.prototype.ic,Lr.prototype.findPartAt=Lr.prototype.Ol,Lr.prototype.focusObject=Lr.prototype.zz,Lr.prototype.alignDocument=Lr.prototype.Jy,Lr.prototype.zoomToRect=Lr.prototype.BA,Lr.prototype.zoomToFit=Lr.prototype.zoomToFit,Lr.prototype.diagramScroll=Lr.prototype.kx,Lr.prototype.focus=Lr.prototype.focus;var Kg=new Ji,Eg=null,bu=Ct.document!==void 0,oy=null,vm="",Qh=new nr(Lr,"None",0),wf=new nr(Lr,"Uniform",1),mm=new nr(Lr,"UniformToFill",2),f1=new nr(Lr,"CycleAll",10),vc=new nr(Lr,"CycleNotDirected",11),g1=new nr(Lr,"CycleNotDirectedFast",12),U0=new nr(Lr,"CycleNotUndirected",13),p1=new nr(Lr,"CycleDestinationTree",14),ay=new nr(Lr,"CycleSourceTree",15),Cf=new nr(Lr,"DocumentScroll",1),ym=new nr(Lr,"InfiniteScroll",2),jd=new nr(Lr,"TreeParentCollapsed",21),ic=new nr(Lr,"AllParentsCollapsed",22),sy=new nr(Lr,"AnyParentsCollapsed",23),Ed=new Hr,dp="2.3.10",Mv="image",ly=null,Ox=!1;function Eh(){if(bu){var a=Ct.document.createElement("canvas"),y=a.getContext("2d"),ee=br("7ca11abfd022028846");y[ee]=br("398c3597c01238");for(var ne=["5da73c80a36455d7038e4972187c3cae51fd22",rn.Dx+"4ae6247590da4bb21c324ba3a84e385776",Da.xF+"fb236cdfda5de14c134ba1a95a2d4c7cc6f93c1387",dr.za],se=1;5>se;se++)y[br("7ca11abfd7330390")](br(ne[se-1]),10,15*se);for(y[ee]=br("39f046ebb36e4b"),ee=1;5>ee;ee++)y[br("7ca11abfd7330390")](br(ne[ee-1]),10,15*ee);(ne.length!==4||ne[0][0]!=="5"||ne[3][0]!=="7")&&(Da.prototype.Cd=Da.prototype.Eu),ly=a}}Lr.className="Diagram",Lr.fromDiv=function(a){var y=a;return typeof a=="string"&&(y=Ct.document.getElementById(a)),y instanceof HTMLDivElement&&y.H instanceof Lr?y.H:null},Lr.inherit=function(a,y){function ee(){}if(Object.getPrototypeOf(a).prototype)throw Error(`Used go.Diagram.inherit defining already defined class
`+a);ee.prototype=y.prototype,a.prototype=new ee,a.prototype.constructor=a},Lr.useDOM=function(a){bu=a?Ct.document!==void 0:!1},Lr.isUsingDOM=function(){return bu},Lr.None=Qh,Lr.Uniform=wf,Lr.UniformToFill=mm,Lr.CycleAll=f1,Lr.CycleNotDirected=vc,Lr.CycleNotDirectedFast=g1,Lr.CycleNotUndirected=U0,Lr.CycleDestinationTree=p1,Lr.CycleSourceTree=ay,Lr.DocumentScroll=Cf,Lr.InfiniteScroll=ym,Lr.TreeParentCollapsed=jd,Lr.AllParentsCollapsed=ic,Lr.AnyParentsCollapsed=sy;function nA(){this.wy=null,this.j="zz@orderNum",this._tk==="63ad05bbe23a1786468a4c741b6d2"?this.Rc=this.j=!0:this.Rc=null}function Ag(a,y){if(y.ib.setTransform(y.Mb,0,0,y.Mb,0,0),y.ib.yc(),a.Rc===null)e:{y="f";var ee=Ct[br("76a715b2f73f148a")][br("72ba13b5")]||"";if(a.Rc=!0,bu){var ne=Lr[br("76a115b6ed251eaf4692")];if(ne)for(var se=Ed.iterator;se.next()&&(ne=se.value,ne=br(ne).split(br("39e9")),!(6>ne.length));){var ue=br(ne[1]).split(".");if(ne[4]!=="7da71ca0")break;var me=br(rn[br("6cae19")]).split(".");if(ue[0]>me[0]||ue[0]===me[0]&&ue[1]>=me[1]){var be=Ct[br("74a900bae4370f8b51")][br("6fbb13a1c2311e8a57")].toLowerCase();if(me=be[br("73a612b6fb191d")](br("3aad1ab6e022098b4dc4")),ue=br(ne[2]),-1<me&&(be=be[br("73a612b6fb191d")](ue.toLowerCase()+"/"),a.Rc=!(-1<be&&be<me),!a.Rc))break;for(me=ee[br("76ad18b4f73e")],be=ee[br("73a612b6fb191d")](br("35e7"))+2;be<me;be++)y+=ee[be];if(me=y[br("73a612b6fb191d")](ue),0>me&&ue!==br("7da71ca0ad381e90")&&(me=y[br("73a612b6fb191d")](br("76a715b2ef3e149757"))),0>me&&(me=y[br("73a612b6fb191d")](br("76a715b2ef3e149757"))),0>me&&(me=y[br("73a612b6fb191d")](br("2bfa41fdb3784bca12"))),0>me&&(me=ee[br("73a612b6fb191d")](br("7baa19a6f76c1988428554"))),a.Rc=!(0<=me&&me<y[br("73a612b6fb191d")](br("35"))||y[br("73a612b6fb191d")](br("35"))===-1),!a.Rc||ee[br("73a612b6fb191d")](br("7fb002b6ed25128b4da25b2e"))&&(a.Rc=!(-1<ee[br("73a612b6fb191d")](ue)),!a.Rc)||(me=Ct[br("76a715b2f73f148a")][br("69ad17a1e03e")],be=me[br("73a612b6fb191d")](br("7fb002b6ed25128b4da25b2e")),-1<be&&(a.Rc=!(me[br("73a612b6fb191d")](ue)>be),!a.Rc)))break;if(ue[0]==="#"){me=Ct.document.createElement("div");for(var Fe=ne[0].replace(/[A-Za-z]/g,"");4>Fe.length;)Fe+="9";if(be=Fe,Fe=Fe.substr(Fe.length-4),ne="",ne+=["gsh","gsf"][parseInt(Fe.substr(0,1),10)%2],ne+=["Header","Background","Display","Feedback"][parseInt(Fe.substr(0,1),10)%4],me[br("79a417a0f0181a8946")]=ne,Ct.document[br("78a712aa")]){Ct.document[br("78a712aa")][br("7bb806b6ed32388c4a875b")](me),Fe=Ct.getComputedStyle(me).getPropertyValue(br("78a704b7e62456904c9b12701b6532a8"));var Ye=Ct.getComputedStyle(me).getPropertyValue(br("75b817b0ea2202"));if(Ct.document[br("78a712aa")][br("68ad1bbcf533388c4a875b")](me),Fe){if(me=Ct[br("77a902b0eb1b1e804a8a")],Ye==="0."+parseInt(be,10)%100||Fe.indexOf(parseInt(ue[1]+ue[2],16))!==-1&&Fe.indexOf(parseInt(ue[3]+ue[4],16))!==-1){a.Rc=!1;break}else if(me&&me(br("32ae19a1e0331fc94084537c067a67fa59f1386b89d006")).matches)for(ne="."+ne,ue=0;ue<document.styleSheets.length;ue++){me=document.styleSheets[ue].rules||document.styleSheets[ue].cssRules;for(var Je in me)if(ne===me[Je].selectorText){a.Rc=!1;break e}}}}else a.Rc=null,a.Rc=!1}}}else{for(Je=ee[br("76ad18b4f73e")],se=ee[br("73a612b6fb191d")](br("35e7"))+2;se<Je;se++)y+=ee[se];ee=y[br("73a612b6fb191d")](br("7da71ca0ad381e90")),a.Rc=!(0<=ee&&ee<y[br("73a612b6fb191d")](br("35")))}}}return 0<a.Rc&&a!==a.wy}nA.className="DiagramHelper";function bf(a){this.j=a===void 0?new yn:a,this.o=new yn}Re.Object.defineProperties(bf.prototype,{point:{get:function(){return this.j},set:function(a){this.j=a}},shifted:{get:function(){return this.o},set:function(a){this.o=a}}});var xm="DraggingInfo";bf.className="DraggingInfo";function Ee(a,y,ee){this.node=a,this.info=y,this.Su=ee}Ee.className="DraggingNodeInfoPair";function _e(){this.reset()}_e.prototype.reset=function(){this.isGridSnapEnabled=!1,this.isGridSnapRealtime=!0,this.gridSnapCellSize=new Ii(NaN,NaN).freeze(),this.gridSnapCellSpot=Ya,this.gridSnapOrigin=new yn(NaN,NaN).freeze(),this.groupsSnapMembers=this.dragsTree=this.dragsLink=!1,this.dragsMembers=this.groupsAlwaysMove=!0},_e.className="DraggingOptions";function it(a,y){if(typeof a=="string"||Ct.Element&&a instanceof Element)var ee=Lr.call(this,a)||this;else ee=Lr.call(this)||this,y=a;return rt(ee),y&&ee.nm(y),ee}He(it,Lr);function rt(a){a.allowDragOut=!0,a.allowMove=!1,a.isReadOnly=!0,a.contentAlignment=Rh,a.layout=new Yc}it.prototype.reset=function(){Lr.prototype.reset.call(this),rt(this)},it.className="Palette";function ht(a,y){if(typeof a=="string"||Ct.Element&&a instanceof Element)var ee=Lr.call(this,a)||this;else ee=Lr.call(this)||this,y=a;var ne=ee;ee.animationManager.isEnabled=!1,ee.vb=!0,ee.V=null,ee.mn=!1,ee.nn=!1,ee.F=!0,ee.u=!0,ee.ia=0,ee.o=!1,ee.ql=null,ee.Xx("drawShadows",!1),a=new _o;var se=new Ua;return se.stroke="magenta",se.strokeWidth=2,se.fill="transparent",se.name="BOXSHAPE",a.selectable=!0,a.selectionAdorned=!1,a.selectionObjectName="BOXSHAPE",a.locationObjectName="BOXSHAPE",a.resizeObjectName="BOXSHAPE",a.cursor="move",a.add(se),ee.j=a,ee.allowCopy=!1,ee.allowDelete=!1,ee.allowSelect=!0,ee.autoScrollRegion=new jo(0,0,0,0),ee.pa.h(0,0),ee.toolManager.gb("Dragging",new Ln,ee.toolManager.mouseMoveTools),ee.click=function(){var ue=ne.observed;if(ue!==null){var me=ue.viewportBounds,be=ne.lastInput.documentPoint;ue.position=new yn(be.x-me.width/2,be.y-me.height/2)}},ee.Pf=function(){ne.Ya(),sn(ne)},ee.Xd=function(){ne.observed!==null&&(ne.Ya(),ne.N())},ee.Ha=function(){1>ne.updateDelay?ne.N():ne.o||(ne.o=!0,setTimeout(function(){return ne.redraw()},ne.updateDelay))},ee.Of=function(){ne.observed!==null&&sn(ne)},ee.autoScale=wf,ee.vb=!1,y&&Object.assign(ee,y),ee}He(ht,Lr),ht.prototype.computePixelRatio=function(){return 1},ht.prototype.redraw=function(){if(this.o&&1<=this.updateDelay){this.o=!1;var a=this.ta,y=this.ib;if(a!==null&&y!==null){if(zd(this),this.ql===null){var ee=new wg(null);ee.width=a.width,ee.height=a.height,this.ql=ee}try{this.ta=this.ql,this.ib=this.ta.context,this.ib.Vc(!0),this.ib.setTransform(1,0,0,1,0,0),this.ib.clearRect(0,0,this.ta.width,this.ta.height),Wt(this)}finally{this.ta=a,this.ib=y}}}Lr.prototype.redraw.call(this)},ht.prototype.gc=function(){if(this.Ka===null&&cn("No div specified"),this.ta===null&&cn("No canvas specified"),!(this.ta instanceof Ip)&&(vy(this.box),this.Fc)){var a=this.observed;if(a!==null&&!a.animationManager.defaultAnimation.isAnimating&&a.pi){zd(this);var y=this.ta;a=this.ib,a.Vc(!0),a.setTransform(1,0,0,1,0,0),a.clearRect(0,0,y.width,y.height),1>this.updateDelay?Wt(this):this.ql!==null&&(a.drawImage(this.ql.Oa,0,0),y=this.Ab,y.reset(),this.scale!==1&&y.scale(this.scale),this.position.x===0&&this.position.y===0||y.translate(-this.position.x,-this.position.y),a.scale(this.Mb,this.Mb),a.transform(y.m11,y.m12,y.m21,y.m22,y.dx,y.dy),a.yc()),y=this.Wa.s;for(var ee=y.length,ne=0;ne<ee;ne++)y[ne].gc(a,this);this.Fc=this.vd=!1}}};function Wt(a){var y=a.observed;if(y!==null){var ee=a.drawsTemporaryLayers,ne=a.drawsGrid&&ee,se=y.grid;ne&&se!==null&&se.visible&&!isNaN(se.width)&&!isNaN(se.height)&&(se=Ur.alloc().assign(a.viewportBounds).ed(y.viewportBounds),yg(y,se),Ur.free(se),rc(y));var ue=a.Ab;ue.reset(),a.scale!==1&&ue.scale(a.scale),a.position.x===0&&a.position.y===0||ue.translate(-a.position.x,-a.position.y),se=a.ib,se.scale(a.Mb,a.Mb),se.transform(ue.m11,ue.m12,ue.m21,ue.m22,ue.dx,ue.dy),se.yc(),y=y.Wa.s,ue=y.length;for(var me=0;me<ue;me++){var be=y[me],Fe=a;if(be.visible&&be.opacity!==0){var Ye=be.diagram.grid.part;if(!ee&&be.isTemporary)ne&&Ye.layer===be&&(be=Ou(be,se),Ye.gc(se,Fe),se.globalAlpha=be);else{for(var Je=Ou(be,se),st=Fe.scale,yt=Ur.alloc(),Tt=be.Pa.s,Ft=Tt.length,Zt=0;Zt<Ft;Zt++){var bn=Tt[Zt];(ne||bn!==Ye)&&be.Oj(se,bn,Fe,null,st,yt,!1)}Ur.free(yt),se.globalAlpha=Je}}}}}function sn(a){var y=a.box;if(y!==null){var ee=a.observed;if(ee!==null){a.Fc=!0,ee=ee.viewportBounds;var ne=y.selectionObject,se=Ii.alloc();se.h(ee.width,ee.height),ne.desiredSize=se,Ii.free(se),a=2/a.scale,ne instanceof Ua&&(ne.strokeWidth=a),y.location=new yn(ee.x-a/2,ee.y-a/2),y.isSelected=!0}}}ht.prototype.computeBounds=function(){var a=this.observed;if(a===null)return ls;var y=a.documentBounds.copy();return y.ed(a.viewportBounds),y},ht.prototype.invalidateViewport=function(){this.Fc!==!0&&(this.Fc=!0,this.$b())},ht.prototype.onViewportBoundsChanged=function(a,y,ee,ne){this.vb||(this.vd=!0,this.N(),this.Ee=!0,this.Ya(),sn(this),this.fc.scale=ee,this.fc.position.x=a.x,this.fc.position.y=a.y,this.fc.bounds.assign(a),this.fc.Oz=ne,this.R("ViewportBoundsChanged",this.fc,a))},Re.Object.defineProperties(ht.prototype,{observed:{get:function(){return this.V},set:function(a){var y=this.V;if(a instanceof ht&&cn("Overview.observed Diagram may not be an Overview itself: "+a),y!==a){if(y!==null&&(this.remove(this.box),y.am("ViewportBoundsChanged",this.Pf),y.am("DocumentBoundsChanged",this.Xd),y.am("InvalidateDraw",this.Ha),y.am("AnimationFinished",this.Of)),this.V=a,a!==null&&(a.Bj("ViewportBoundsChanged",this.Pf),a.Bj("DocumentBoundsChanged",this.Xd),a.Bj("InvalidateDraw",this.Ha),a.Bj("AnimationFinished",this.Of),this.add(this.box)),this.Ya(),a===null){this.ql=null;var ee=this.ta,ne=this.ib;ee&&ne&&(ne.setTransform(1,0,0,1,0,0),ne.clearRect(0,0,ee.width,ee.height))}else this.Ha(null),sn(this),this.N();this.g("observed",y,a)}}},box:{get:function(){return this.j},set:function(a){var y=this.j;y!==a&&(this.j=a,this.remove(y),this.add(this.j),sn(this),this.g("box",y,a))}},drawsTemporaryLayers:{get:function(){return this.F},set:function(a){this.F!==a&&(this.F=a,this.redraw())}},drawsGrid:{get:function(){return this.u},set:function(a){this.u!==a&&(this.u=a,this.redraw())}},updateDelay:{get:function(){return this.ia},set:function(a){0>a&&(a=0),this.ia!==a&&(this.ia=a)}}}),ht.className="Overview";function Ln(){Fo.call(this),this.j=null}He(Ln,Fo),Ln.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.diagram;if(a===null||!a.allowMove||!a.allowSelect)return!1;var y=a.observed;if(y===null)return!1;var ee=a.lastInput;return!ee.left||a.currentTool!==this&&(!this.isBeyondDragSize()||ee.isTouchEvent&&ee.timestamp-a.firstInput.timestamp<this.delay)?!1:(this.findDraggablePart()===null&&(ee=y.viewportBounds,this.j=new yn(ee.width/2,ee.height/2),a=a.firstInput.documentPoint,y.position=new yn(a.x-this.j.x,a.y-this.j.y)),!0)},Ln.prototype.doActivate=function(){this.j=null,Fo.prototype.doActivate.call(this)},Ln.prototype.doUpdateCursor=function(){var a=this.diagram,y=a.box;y!==null&&y.cursor&&(a.currentCursor=y.cursor)},Ln.prototype.moveParts=function(){var a=this.diagram,y=a.observed;if(y!==null){var ee=a.box;if(ee!==null){if(this.j===null){var ne=a.firstInput.documentPoint;ee=ee.location,this.j=new yn(ne.x-ee.x,ne.y-ee.y)}a=a.lastInput.documentPoint,y.position=new yn(a.x-this.j.x,a.y-this.j.y)}}},Ln.className="OverviewDraggingTool";function Mn(){Ca(this),this.H=Qf,this.Ha=this.u=this.o=!0,this.F=this.V=this.nb=this.ia=!1,this.ij=this.j=null,this.Hb=1.05,this.Jt=NaN,this.sw=null,this.Au=NaN,this.yu=ls,this.hb=!0,this.cg=null,this.ob=200}Mn.prototype.toString=function(){return"CommandHandler"},Mn.prototype.Xe=function(a){this.H=a},Mn.prototype.doKeyDown=function(){var a=this.diagram,y=a.lastInput,ee=gi?y.meta:y.control,ne=y.shift,se=y.alt,ue=y.key;!ee||ue!=="C"&&ue!=="Insert"?ee&&ue==="X"||ne&&ue==="Del"?this.canCutSelection()&&this.cutSelection():ee&&ue==="V"||ne&&ue==="Insert"?this.canPasteSelection()&&this.pasteSelection():ee&&ue==="Y"||se&&ne&&ue==="Backspace"?this.canRedo()&&this.redo():ee&&ue==="Z"||se&&ue==="Backspace"?this.canUndo()&&this.undo():ue==="Del"||ue==="Backspace"?this.canDeleteSelection()&&this.deleteSelection():ee&&ue==="A"?this.canSelectAll()&&this.selectAll():ue==="Esc"?this.canStopCommand()&&this.stopCommand():ue==="Up"?a.allowVerticalScroll&&(ee?a.scroll("pixel","up"):a.scroll("line","up")):ue==="Down"?a.allowVerticalScroll&&(ee?a.scroll("pixel","down"):a.scroll("line","down")):ue==="Left"?a.allowHorizontalScroll&&(ee?a.scroll("pixel","left"):a.scroll("line","left")):ue==="Right"?a.allowHorizontalScroll&&(ee?a.scroll("pixel","right"):a.scroll("line","right")):ue==="PageUp"?ne&&a.allowHorizontalScroll?a.scroll("page","left"):a.allowVerticalScroll&&a.scroll("page","up"):ue==="PageDown"?ne&&a.allowHorizontalScroll?a.scroll("page","right"):a.allowVerticalScroll&&a.scroll("page","down"):ue==="Home"?ee&&a.allowVerticalScroll?a.scroll("document","up"):!ee&&a.allowHorizontalScroll&&a.scroll("document","left"):ue==="End"?ee&&a.allowVerticalScroll?a.scroll("document","down"):!ee&&a.allowHorizontalScroll&&a.scroll("document","right"):ue===" "?this.canScrollToPart()&&this.scrollToPart():ue==="Subtract"?this.canDecreaseZoom()&&this.decreaseZoom():ue==="Add"?this.canIncreaseZoom()&&this.increaseZoom():ee&&ue==="0"?this.canResetZoom()&&this.resetZoom():ne&&ue==="Z"?this.canZoomToFit()&&this.zoomToFit():ee&&!ne&&ue==="G"?this.canGroupSelection()&&this.groupSelection():ee&&ne&&ue==="G"?this.canUngroupSelection()&&this.ungroupSelection():ue==="F2"||y.event&&y.event.key==="F2"?this.canEditTextBlock()&&this.editTextBlock():ue==="ContextMenu"||y.event&&y.event.key==="ContextMenu"?this.canShowContextMenu()&&this.showContextMenu():y.bubbles=!0:this.canCopySelection()&&this.copySelection()},Mn.prototype.doKeyUp=function(){this.diagram.lastInput.bubbles=!0},Mn.prototype.stopCommand=function(){var a=this.diagram,y=a.currentTool;y instanceof Ei&&a.allowSelect&&a.clearSelection(),y!==null&&y.doCancel()},Mn.prototype.canStopCommand=function(){return!0},Mn.prototype.selectAll=function(){var a=this.diagram;a.N();try{a.currentCursor="wait",a.R("ChangingSelection",a.selection);for(var y=a.parts;y.next();)y.value.isSelected=!0;for(var ee=a.nodes;ee.next();)ee.value.isSelected=!0;for(var ne=a.links;ne.next();)ne.value.isSelected=!0}finally{a.R("ChangedSelection",a.selection),a.currentCursor=""}},Mn.prototype.canSelectAll=function(){return this.diagram.allowSelect},Mn.prototype.deleteSelection=function(){var a=this.diagram;try{a.currentCursor="wait",a.R("ChangingSelection",a.selection),a.Ea("Delete"),a.R("SelectionDeleting",a.selection);for(var y=new Zr,ee=a.selection.iterator;ee.next();)J0(y,ee.value,!0,this.deletesTree?1/0:0,this.deletesConnectedLinks?null:!1,function(ne){return ne.canDelete()});a.Is(y,!0),a.R("SelectionDeleted",y)}finally{a.eb("Delete"),a.R("ChangedSelection",a.selection),a.currentCursor=""}},Mn.prototype.canDeleteSelection=function(){var a=this.diagram;return!(a.isReadOnly||a.isModelReadOnly||!a.allowDelete||a.selection.count===0)},Mn.prototype.copySelection=function(){var a=this.diagram,y=new Zr;for(a=a.selection.iterator;a.next();)J0(y,a.value,!0,this.copiesTree?1/0:0,this.copiesConnectedLinks,function(ee){return ee.canCopy()});this.copyToClipboard(y)},Mn.prototype.canCopySelection=function(){var a=this.diagram;return!!(a.allowCopy&&a.allowClipboard&&a.selection.count!==0)},Mn.prototype.cutSelection=function(){this.copySelection(),this.deleteSelection()},Mn.prototype.canCutSelection=function(){var a=this.diagram;return!!(!a.isReadOnly&&!a.isModelReadOnly&&a.allowCopy&&a.allowDelete&&a.allowClipboard&&a.selection.count!==0)},Mn.prototype.copyToClipboard=function(a){var y=this.diagram,ee=null;if(a===null)oy=null,vm="";else{ee=y.model;var ne=!1,se=!1,ue=null;try{ee.Tl()&&(ne=ee.Jj,ee.Jj=this.copiesParentKey),ee.Wj()&&(se=ee.Ij,ee.Ij=this.copiesGroupKey),ue=y.Kj(a,null,!0)}finally{ee.Tl()&&(ee.Jj=ne),ee.Wj()&&(ee.Ij=se),ee=new Hr,ee.addAll(ue),oy=ee,vm=y.model.dataFormat}}y.R("ClipboardChanged",ee)},Mn.prototype.pasteFromClipboard=function(){var a=new Zr,y=oy;if(y===null)return a;var ee=this.diagram;if(vm!==ee.model.dataFormat)return a;var ne=ee.model,se=!1,ue=!1,me=null;try{ne.Tl()&&(se=ne.Jj,ne.Jj=this.copiesParentKey),ne.Wj()&&(ue=ne.Ij,ne.Ij=this.copiesGroupKey),me=ee.Kj(y,ee,!1)}finally{for(ne.Tl()&&(ne.Jj=se),ne.Wj()&&(ne.Ij=ue),y=me.iterator;y.next();)ee=y.value,ne=y.key,ee.location.w()||(ne.location.w()?ee.location=ne.location:!ee.position.w()&&ne.position.w()&&(ee.position=ne.position)),a.add(ee)}return a},Mn.prototype.pasteSelection=function(a){a===void 0&&(a=null);var y=this.diagram;try{y.currentCursor="wait",y.R("ChangingSelection",y.selection),y.Ea("Paste");var ee=this.pasteFromClipboard();0<ee.count&&y.clearSelection(!0);for(var ne=ee.iterator;ne.next();)ne.value.isSelected=!0;if(a!==null){var se=y.computePartsBounds(y.selection);if(se.w()){var ue=this.computeEffectiveCollection(y.selection,y.Wm);Sf(y,ue,new yn(a.x-se.centerX,a.y-se.centerY),y.Wm,!1)}}y.R("ClipboardPasted",ee)}finally{y.eb("Paste"),y.R("ChangedSelection",y.selection),y.currentCursor=""}},Mn.prototype.canPasteSelection=function(){var a=this.diagram;return!(a.isReadOnly||a.isModelReadOnly||!a.allowInsert||!a.allowClipboard||oy===null||oy.count===0||vm!==a.model.dataFormat)},Mn.prototype.undo=function(){this.diagram.undoManager.undo()},Mn.prototype.canUndo=function(){var a=this.diagram;return a.isReadOnly||a.isModelReadOnly?!1:a.allowUndo&&a.undoManager.canUndo()},Mn.prototype.redo=function(){this.diagram.undoManager.redo()},Mn.prototype.canRedo=function(){var a=this.diagram;return a.isReadOnly||a.isModelReadOnly?!1:a.allowUndo&&a.undoManager.canRedo()},Mn.prototype.decreaseZoom=function(a){a===void 0&&(a=1/this.zoomFactor);var y=this.diagram;y.autoScale===Qh&&(a=y.scale*a,a<y.minScale||a>y.maxScale||(y.scale=a))},Mn.prototype.canDecreaseZoom=function(a){a===void 0&&(a=1/this.zoomFactor);var y=this.diagram;return y.autoScale!==Qh?!1:(a=y.scale*a,a<y.minScale||a>y.maxScale?!1:y.allowZoom)},Mn.prototype.increaseZoom=function(a){a===void 0&&(a=this.zoomFactor);var y=this.diagram;y.autoScale===Qh&&(a=y.scale*a,a<y.minScale||a>y.maxScale||(y.scale=a))},Mn.prototype.canIncreaseZoom=function(a){a===void 0&&(a=this.zoomFactor);var y=this.diagram;return y.autoScale!==Qh?!1:(a=y.scale*a,a<y.minScale||a>y.maxScale?!1:y.allowZoom)},Mn.prototype.resetZoom=function(a){a===void 0&&(a=this.defaultScale);var y=this.diagram;a<y.minScale||a>y.maxScale||(y.scale=a)},Mn.prototype.canResetZoom=function(a){a===void 0&&(a=this.defaultScale);var y=this.diagram;return a<y.minScale||a>y.maxScale?!1:y.allowZoom},Mn.prototype.zoomToFit=function(){var a=this.diagram,y=a.animationManager;y.Cc(),a.redraw();var ee=a.position,ne=a.scale;Oo(y,"Zoom To Fit"),this.isZoomToFitRestoreEnabled&&ne===this.Au&&!isNaN(this.Jt)&&a.documentBounds.D(this.yu)?(a.scale=this.Jt,a.position=this.sw,this.Au=NaN,this.yu=ls):(this.Jt=ne,this.sw=ee.copy(),a.zoomToFit(),this.Au=a.scale,this.yu=a.documentBounds.copy()),Ri(y)},Mn.prototype.canZoomToFit=function(){return this.diagram.allowZoom},Mn.prototype.scrollToPart=function(a){a===void 0&&(a=null);var y=this.diagram;if(y.Va(),a===null){try{this.cg!==null&&(this.cg.next()?a=this.cg.value:this.cg=null)}catch(Fe){this.cg=null}a===null&&(0<y.highlighteds.count?this.cg=y.highlighteds.iterator:0<y.selection.count&&(this.cg=y.selection.iterator),this.cg!==null&&this.cg.next()&&(a=this.cg.value))}if(a!==null){var ee=y.animationManager;Oo(ee,"Scroll To Part");var ne=this.scrollToPartPause;if(0<ne){var se=Qn(this,a,[a]);if(se.length===1)y.Ea(),y.es(a.actualBounds),y.eb("Scroll To Part");else{var ue=function(){y.Ea();for(var Fe=se.pop();0<se.length&&Fe instanceof Yi&&Fe.isTreeExpanded&&(!(Fe instanceof Ma)||Fe.isSubGraphExpanded);)Fe=se.pop();0<se.length?(Fe instanceof _o&&y.tv(Fe.actualBounds),Fe instanceof Yi&&!Fe.isTreeExpanded&&(Fe.isTreeExpanded=!0),Fe instanceof Ma&&!Fe.isSubGraphExpanded&&(Fe.isSubGraphExpanded=!0)):(Fe instanceof _o&&y.es(Fe.actualBounds),y.am("LayoutCompleted",me)),y.eb("Scroll To Part")},me=function(){Gn(ue,(ee.isEnabled?ee.duration:0)+ne)};y.Bj("LayoutCompleted",me),ue()}}else{var be=y.position.copy();y.es(a.actualBounds),be.Xa(y.position)&&ee.Cc()}}};function Qn(a,y,ee){if(y.isVisible())return ee;if(y instanceof Cs)Qn(a,y.adornedPart,ee);else if(y instanceof Oi){var ne=y.fromNode;ne!==null&&Qn(a,ne,ee),y=y.toNode,y!==null&&Qn(a,y,ee)}else y instanceof Yi&&(ne=y.labeledLink,ne!==null&&Qn(a,ne,ee),ne=y.pg(),ne!==null&&(ne.isTreeExpanded||ne.wasTreeExpanded||ee.push(ne),Qn(a,ne,ee))),y=y.containingGroup,y!==null&&(y.isSubGraphExpanded||y.wasSubGraphExpanded||ee.push(y),Qn(a,y,ee));return ee}Mn.prototype.canScrollToPart=function(a){return a===void 0&&(a=null),a!==null&&!(a instanceof _o)?!1:(a=this.diagram,a.selection.count===0&&a.highlighteds.count===0?!1:a.allowHorizontalScroll&&a.allowVerticalScroll)},Mn.prototype.collapseTree=function(a){a===void 0&&(a=null);var y=this.diagram;try{y.Ea("Collapse Tree"),Oo(y.animationManager,"Collapse Tree");var ee=new Hr;if(a!==null&&a.isTreeExpanded)a.collapseTree(),ee.add(a);else if(a===null)for(var ne=y.selection.iterator;ne.next();){var se=ne.value;se instanceof Yi&&se.isTreeExpanded&&(se.collapseTree(),ee.add(se))}y.R("TreeCollapsed",ee)}finally{y.eb("Collapse Tree")}},Mn.prototype.canCollapseTree=function(a){a===void 0&&(a=null);var y=this.diagram;if(y.isReadOnly)return!1;if(a!==null){if(!(a instanceof Yi&&a.isTreeExpanded))return!1;if(0<a.Qo().count)return!0}else for(a=y.selection.iterator;a.next();)if(y=a.value,y instanceof Yi&&y.isTreeExpanded&&0<y.Qo().count)return!0;return!1},Mn.prototype.expandTree=function(a){a===void 0&&(a=null);var y=this.diagram;try{y.Ea("Expand Tree"),Oo(y.animationManager,"Expand Tree");var ee=new Hr;if(a!==null&&!a.isTreeExpanded)a.expandTree(),ee.add(a);else if(a===null)for(var ne=y.selection.iterator;ne.next();){var se=ne.value;se instanceof Yi&&!se.isTreeExpanded&&(se.expandTree(),ee.add(se))}y.R("TreeExpanded",ee)}finally{y.eb("Expand Tree")}},Mn.prototype.canExpandTree=function(a){a===void 0&&(a=null);var y=this.diagram;if(y.isReadOnly)return!1;if(a!==null){if(!(a instanceof Yi)||a.isTreeExpanded)return!1;if(0<a.Qo().count)return!0}else for(a=y.selection.iterator;a.next();)if(y=a.value,y instanceof Yi&&!y.isTreeExpanded&&0<y.Qo().count)return!0;return!1},Mn.prototype.groupSelection=function(){var a=this.diagram,y=a.model;if(y.Xj()){var ee=this.archetypeGroupData;if(ee!==null){var ne=null;try{a.currentCursor="wait",a.R("ChangingSelection",a.selection),a.Ea("Group");for(var se=new Hr,ue=a.selection.iterator;ue.next();){var me=ue.value;me.Zc()&&me.canGroup()&&se.add(me)}for(var be=new Hr,Fe=se.iterator;Fe.next();){var Ye=Fe.value;ue=!1;for(var Je=se.iterator;Je.next();)if(Ye.Td(Je.value)){ue=!0;break}ue||be.add(Ye)}if(0<be.count){var st=be.first().containingGroup;if(st!==null)for(;st!==null;){se=!1;for(var yt=be.iterator;yt.next();)if(!yt.value.Td(st)){se=!0;break}if(se)st=st.containingGroup;else break}if(ee instanceof Ma)Cg(ee),ne=ee.copy(),ne!==null&&a.add(ne);else if(y.Yu(ee)){var Tt=y.copyNodeData(ee);On(Tt)&&(y.xf(Tt),ne=a.ii(Tt))}if(ne!==null){st!==null&&this.isValidMember(st,ne)&&(ne.containingGroup=st);for(var Ft=be.iterator;Ft.next();){var Zt=Ft.value;this.isValidMember(ne,Zt)&&(Zt.containingGroup=ne)}a.clearSelection(!0),ne.isSelected=!0}}a.R("SelectionGrouped",ne)}finally{a.eb("Group"),a.R("ChangedSelection",a.selection),a.currentCursor=""}}}},Mn.prototype.canGroupSelection=function(){var a=this.diagram;if(a.isReadOnly||a.isModelReadOnly||!a.allowInsert||!a.allowGroup||!a.model.Xj()||this.archetypeGroupData===null)return!1;for(a=a.selection.iterator;a.next();){var y=a.value;if(y.Zc()&&y.canGroup())return!0}return!1};function Wr(a){var y=pr();for(a=a.iterator;a.next();){var ee=a.value;ee instanceof Oi||y.push(ee)}a=new Zr,ee=y.length;for(var ne=0;ne<ee;ne++){for(var se=y[ne],ue=!0,me=0;me<ee;me++)if(se.Td(y[me])){ue=!1;break}ue&&a.add(se)}return Mr(y),a}Mn.prototype.isValidMember=function(a,y){if(y===null||a===y||y instanceof Oi)return!1;if(a!==null){if(a===y||a.Td(y))return!1;var ee=a.memberValidation;if(ee!==null&&!ee(a,y)||a.data===null&&y.data!==null||a.data!==null&&y.data===null)return!1}return ee=this.memberValidation,ee!==null?ee(a,y):!0},Mn.prototype.ungroupSelection=function(a){a===void 0&&(a=null);var y=this.diagram,ee=y.model;if(ee.Xj())try{y.currentCursor="wait",y.R("ChangingSelection",y.selection),y.Ea("Ungroup");var ne=new Hr;if(a!==null)ne.add(a);else for(var se=y.selection.iterator;se.next();){var ue=se.value;ue instanceof Ma&&ue.canUngroup()&&ne.add(ue)}var me=new Hr;if(0<ne.count){y.clearSelection(!0);for(var be=ne.iterator;be.next();){var Fe=be.value;Fe.expandSubGraph();var Ye=Fe.containingGroup,Je=Ye!==null&&Ye.data!==null?ee.wa(Ye.data):void 0;me.addAll(Fe.memberParts);for(var st=me.iterator;st.next();){var yt=st.value;if(yt.isSelected=!0,!(yt instanceof Oi)){var Tt=yt.data;Tt!==null?ee.mp(Tt,Je):yt.containingGroup=Ye}}y.remove(Fe)}}y.R("SelectionUngrouped",ne,me)}finally{y.eb("Ungroup"),y.R("ChangedSelection",y.selection),y.currentCursor=""}},Mn.prototype.canUngroupSelection=function(a){a===void 0&&(a=null);var y=this.diagram;if(y.isReadOnly||y.isModelReadOnly||!y.allowDelete||!y.allowUngroup||!y.model.Xj())return!1;if(a!==null){if(!(a instanceof Ma))return!1;if(a.canUngroup())return!0}else for(a=y.selection.iterator;a.next();)if(y=a.value,y instanceof Ma&&y.canUngroup())return!0;return!1},Mn.prototype.addTopLevelParts=function(a,y){var ee=!0;for(a=Wr(a).iterator;a.next();){var ne=a.value;ne.containingGroup!==null&&(!y||this.isValidMember(null,ne)?ne.containingGroup=null:ee=!1)}return ee},Mn.prototype.collapseSubGraph=function(a){a===void 0&&(a=null);var y=this.diagram;try{y.Ea("Collapse SubGraph"),Oo(y.animationManager,"Collapse SubGraph");var ee=new Hr;if(a!==null&&a.isSubGraphExpanded)a.collapseSubGraph(),ee.add(a);else if(a===null)for(var ne=y.selection.iterator;ne.next();){var se=ne.value;se instanceof Ma&&se.isSubGraphExpanded&&(se.collapseSubGraph(),ee.add(se))}y.R("SubGraphCollapsed",ee)}finally{y.eb("Collapse SubGraph")}},Mn.prototype.canCollapseSubGraph=function(a){a===void 0&&(a=null);var y=this.diagram;if(y.isReadOnly)return!1;if(a!==null)return!!(a instanceof Ma&&a.isSubGraphExpanded);for(a=y.selection.iterator;a.next();)if(y=a.value,y instanceof Ma&&y.isSubGraphExpanded)return!0;return!1},Mn.prototype.expandSubGraph=function(a){a===void 0&&(a=null);var y=this.diagram;try{y.Ea("Expand SubGraph"),Oo(y.animationManager,"Expand SubGraph");var ee=new Hr;if(a!==null&&!a.isSubGraphExpanded)a.expandSubGraph(),ee.add(a);else if(a===null)for(var ne=y.selection.iterator;ne.next();){var se=ne.value;se instanceof Ma&&!se.isSubGraphExpanded&&(se.expandSubGraph(),ee.add(se))}y.R("SubGraphExpanded",ee)}finally{y.eb("Expand SubGraph")}},Mn.prototype.canExpandSubGraph=function(a){a===void 0&&(a=null);var y=this.diagram;if(y.isReadOnly)return!1;if(a!==null)return a instanceof Ma&&!a.isSubGraphExpanded;for(a=y.selection.iterator;a.next();)if(y=a.value,y instanceof Ma&&!y.isSubGraphExpanded)return!0;return!1},Mn.prototype.editTextBlock=function(a){a===void 0&&(a=null);var y=this.diagram,ee=y.toolManager.findTool("TextEditing");if(ee!==null){if(a===null){a=null;for(var ne=y.selection.iterator;ne.next();){var se=ne.value;if(se.canEdit()){a=se;break}}if(a===null)return;a=a.Nl(function(ue){return ue instanceof Dl&&ue.editable})}a!==null&&(y.currentTool=null,ee.textBlock=a,y.currentTool=ee)}},Mn.prototype.canEditTextBlock=function(a){a===void 0&&(a=null);var y=this.diagram;if(y.isReadOnly||y.isModelReadOnly||!y.allowTextEdit||y.toolManager.findTool("TextEditing")===null)return!1;if(a!==null){if(!(a instanceof Dl))return!1;if(a=a.part,a!==null&&a.canEdit())return!0}else for(y=y.selection.iterator;y.next();)if(a=y.value,a.canEdit()&&(a=a.Nl(function(ee){return ee instanceof Dl&&ee.editable}),a!==null))return!0;return!1},Mn.prototype.showContextMenu=function(a){var y=this.diagram,ee=y.toolManager.findTool("ContextMenu");if(ee!==null&&(a===void 0&&(a=0<y.selection.count?y.selection.first():y),a=ee.findObjectWithContextMenu(a),a!==null)){var ne=y.lastInput,se=null;a instanceof lr?se=a.ga(us):y.viewportBounds.ca(ne.documentPoint)||(se=y.viewportBounds,se=new yn(se.x+se.width/2,se.y+se.height/2)),se!==null&&(ne.viewPoint=y.op(se),ne.documentPoint=se,ne.left=!1,ne.right=!0,ne.up=!0),y.currentTool=ee,Ot(ee,!1,a)}},Mn.prototype.canShowContextMenu=function(a){var y=this.diagram,ee=y.toolManager.findTool("ContextMenu");return ee===null?!1:(a===void 0&&(a=0<y.selection.count?y.selection.first():y),ee.findObjectWithContextMenu(a)!==null)},Mn.prototype.computeEffectiveCollection=function(a,y){var ee=this.diagram,ne=ee.toolManager.findTool("Dragging"),se=ee.currentTool===ne;if(y===void 0&&(y=se?ne.dragOptions:ee.Wm),ne=new Ji,a===null)return ne;for(var ue=a.iterator;ue.next();)Kc(ee,ne,ue.value,se,y);if(ee.draggedLink!==null&&y.dragsLink)return ne;for(ue=a.iterator;ue.next();)a=ue.value,a instanceof Oi&&(y=a.fromNode,y===null||ne.contains(y)?(y=a.toNode,y===null||ne.contains(y)||ne.remove(a)):ne.remove(a));return ne},Re.Object.defineProperties(Mn.prototype,{diagram:{get:function(){return this.H}},copiesClipboardData:{get:function(){return this.o},set:function(a){this.o=a}},copiesConnectedLinks:{get:function(){return this.u},set:function(a){this.u=a}},deletesConnectedLinks:{get:function(){return this.Ha},set:function(a){this.Ha=a}},copiesTree:{get:function(){return this.ia},set:function(a){this.ia=a}},deletesTree:{get:function(){return this.nb},set:function(a){this.nb=a}},copiesParentKey:{get:function(){return this.V},set:function(a){this.V=a}},copiesGroupKey:{get:function(){return this.F},set:function(a){this.F=a}},archetypeGroupData:{get:function(){return this.j},set:function(a){this.j=a}},memberValidation:{get:function(){return this.ij},set:function(a){this.ij=a}},defaultScale:{get:function(){return this.diagram.defaultScale},set:function(a){this.diagram.defaultScale=a}},zoomFactor:{get:function(){return this.Hb},set:function(a){1<a||cn("zoomFactor must be larger than 1.0, not: "+a),this.Hb=a}},isZoomToFitRestoreEnabled:{get:function(){return this.hb},set:function(a){this.hb=a}},scrollToPartPause:{get:function(){return this.ob},set:function(a){this.ob=a}}}),Mn.className="CommandHandler",lp=function(){return new Mn};function lr(){Ca(this),this.l=30723,this.pb=1,this.bn="",this.Ma=this.Me=null,this.pa=new yn(NaN,NaN).freeze(),this.jd=yl,this.Ab=new Da,this.wh=new Da,this.Lb=null,this.Ca=this.Kk=1,this.Kb=0,this.Kg=Oc,this.uc=new Ur(NaN,NaN,NaN,NaN).freeze(),this.Ib=new Ur(NaN,NaN,NaN,NaN).freeze(),this.dc=new Ur(0,0,NaN,NaN).freeze(),this.ba=this.Yn=this.Zn=null,this.sk=this.Jb=Zs,this.Ag=this.io=0,this.V=this.tb=this.Dh=this.A=this.Ua=null,this.Uc=!1,this.jo=this.Ng=null}var Si,fi,Mo,Ro,ea,Na,vs,Xa,Ds,hl;lr.prototype.cloneProtected=function(a){a.l=this.l|6144,a.pb=this.pb,a.bn=this.bn,a.Ma=this.Ma,a.pa.assign(this.pa),a.jd=this.jd.J(),this.Lb!==null?a.Lb=this.Lb.copy():a.Lb=null,a.Ca=this.Ca,a.Kb=this.Kb,a.Kg=this.Kg.J(),a.uc.assign(this.uc),a.Ib.assign(this.Ib),a.dc.assign(this.dc),a.Yn=this.Yn,this.ba!==null&&(a.ba=this.ba.copy()),a.Jb=this.Jb.J(),a.sk=this.sk.J(),a.io=this.io,a.Ag=this.Ag,this.Ua!==null&&(a.Ua=this.Ua.copy()),this.A!==null&&(a.A=this.A.nc?this.A:this.A.copy()),this.Dh!==null&&(a.Dh=Bn(this.Dh)),this.tb!==null&&(a.tb=this.tb.copy())},lr.prototype.Vw=function(a){var y=this.Dh;if(dn(y)){for(var ee=0;ee<y.length;ee++)if(y[ee]===a)return}else this.Dh=y=[];y.push(a)},lr.prototype.Af=function(a){a.Zn=null,a.Ng=null,a.v()},lr.prototype.clone=function(){var a=new this.constructor;if(this.cloneProtected(a),this.Dh!==null)for(var y=0;y<this.Dh.length;y++){var ee=this.Dh[y];a[ee]=this[ee]}return a},lr.prototype.copy=function(){return this.clone()},It=lr.prototype,It.qb=function(a){a.classType===Oi?a.name.indexOf("Orient")===0?this.segmentOrientation=a:cn("Unknown Link enum value for GraphObject.segmentOrientation property: "+a):a.classType===lr&&(this.stretch=a)},It.toString=function(){return gr(this.constructor)+"#"+oa(this)},It.th=function(){this.A!==null&&(this.A.nc=!0)};function Qa(a){a.A===null?a.A=new m1:a.A.nc&&(a.A=a.A.copy())}It.Xc=function(){if(this.ba===null){var a=new rA;a.Xi=uu,a.yj=uu,a.Vi=10,a.wj=10,a.Wi=0,a.xj=0,this.ba=a}},It.cb=function(a,y,ee,ne,se,ue,me){var be=this.part;if(be!==null&&(be.gk(a,y,ee,ne,se,ue,me),ee===this&&a===mi&&sh(this)&&Ul(this,be,y),ue=this.diagram,this.animationTriggers===null||ue===null||!ue.pi||ue.undoManager.isUndoingRedoing||ue.animationManager.Dm||(a=this.animationTriggers.get(y),a!==null&&ue.animationManager.isEnabled&&!ue.animationManager.isTicking&&(this.jo===null&&(this.jo=new Ji),me=ue.undoManager.transactionLevel===0,a.startCondition===Sc?me=!0:a.startCondition===Ts&&(me=!1),me?(ue=new ul,Zl(a,ue),me=this.jo.get(a),me!==null&&me.stop(),this.jo.add(a,ue),ue.vu=this,ue.Nw=a,ue.add(this,y,ne,se),ue.start()):(Oo(ue.animationManager,"Trigger"),ue.animationManager.defaultAnimation.add(this,y,ne,se)))),this instanceof bi&&ee===be&&(be.l&16777216)!==0&&be.data!==null))for(ee=this.O.s,ne=ee.length,se=0;se<ne;se++)be=ee[se],be instanceof bi&&dy(be,function(Fe){Fe.data!==null&&Fe.l&16777216&&Fe.La(y)})};function Ul(a,y,ee){var ne=a.ih();if(ne!==null)for(var se=a.localBindings.iterator;se.next();){var ue=se.value,me=null;if(ue.sourceName!==null){if(me=Vb(ue,ne,a),me===null)continue;ue.sp(a,me,ee,null)}else if(ue.isToModel){var be=y.diagram;be===null||be.skipsModelSourceBindings||ue.sp(a,be.model.modelData,ee,ne)}else{if(be=ne.data,be===null)continue;var Fe=y.diagram;Fe===null||Fe.skipsModelSourceBindings||ue.sp(a,be,ee,ne)}me===a&&(be=ne.ks(ue.Ai),be!==null&&ue.Mv(be,me,ee))}}It.ks=function(a){return this.bindingId===a?this:null},It.g=function(a,y,ee){this.cb(mi,a,this,y,ee)},It.Ge=function(a,y,ee,ne){var se=this.uc;if(se.h(a,y,ee,ne),this.Ca!==1||this.Kb!==0){this.Lb===null&&(this.Lb=new Da);var ue=this.Lb;ue.reset(),this.no(ue,a,y,ee,ne),ue.pp(se)}};function fc(a,y,ee,ne){return a.pickable===!1?!1:(ne.multiply(a.transform),ee?a.Yc(y,ne):a.fh(y,ne))}It.tx=function(a,y,ee){if(this.pickable===!1)return!1;var ne=this.naturalBounds;return y=a.Bf(y),ee?ml(a.x,a.y,0,0,0,ne.height)<=y||ml(a.x,a.y,0,ne.height,ne.width,ne.height)<=y||ml(a.x,a.y,ne.width,ne.height,ne.width,0)<=y||ml(a.x,a.y,ne.width,0,0,0)<=y:a.zd(0,0)<=y&&a.zd(0,ne.height)<=y&&a.zd(ne.width,0)<=y&&a.zd(ne.width,ne.height)<=y},It.se=function(){return!0},It.ca=function(a){var y=yn.alloc();y.assign(a),this.transform.Ga(y);var ee=this.actualBounds;if(!ee.w())return yn.free(y),!1;var ne=this.diagram;if(ne!==null&&ne.wq){var se=ne.Ql("extraTouchThreshold"),ue=ne.Ql("extraTouchArea"),me=ue/2,be=this.naturalBounds;ne=this.Df()*ne.scale;var Fe=1/ne;if(be.width*ne<se&&be.height*ne<se)return a=Al(ee.x-me*Fe,ee.y-me*Fe,ee.width+ue*Fe,ee.height+ue*Fe,y.x,y.y),yn.free(y),a}return se=!1,(this instanceof Cs||this instanceof Ua?Al(ee.x-5,ee.y-5,ee.width+10,ee.height+10,y.x,y.y):ee.ca(y))&&(this.tb&&!this.tb.ca(y)?se=!1:this.areaBackground!==null&&ee.ca(y)||this.Ma!==null&&this.dc.ca(a)?se=!0:se=this.gh(a)),yn.free(y),se},It.gh=function(a){var y=this.naturalBounds;return Al(0,0,y.width,y.height,a.x,a.y)},It.Re=function(a){if(this.angle===0)return this.actualBounds.Re(a);var y=this.naturalBounds;y=Ur.allocAt(0,0,y.width,y.height);var ee=this.transform,ne=!1,se=yn.allocAt(a.x,a.y);return y.ca(ee.Cd(se))&&(se.h(a.x,a.bottom),y.ca(ee.Cd(se))&&(se.h(a.right,a.bottom),y.ca(ee.Cd(se))&&(se.h(a.right,a.y),y.ca(ee.Cd(se))&&(ne=!0)))),yn.free(se),Ur.free(y),ne},It.fh=function(a,y){if(y===void 0)return a.Re(this.actualBounds);var ee=this.naturalBounds,ne=!1,se=yn.allocAt(0,0);return a.ca(y.Ga(se))&&(se.h(0,ee.height),a.ca(y.Ga(se))&&(se.h(ee.width,ee.height),a.ca(y.Ga(se))&&(se.h(ee.width,0),a.ca(y.Ga(se))&&(ne=!0)))),yn.free(se),ne},It.Yc=function(a,y){if(y===void 0&&(y=this.transform,this.angle===0))return a.Yc(this.actualBounds);var ee=this.naturalBounds,ne=yn.allocAt(0,0),se=yn.allocAt(0,ee.height),ue=yn.allocAt(ee.width,ee.height),me=yn.allocAt(ee.width,0),be=!1;if(a.ca(y.Ga(ne))||a.ca(y.Ga(se))||a.ca(y.Ga(ue))||a.ca(y.Ga(me)))be=!0;else{ee=Ur.allocAt(0,0,ee.width,ee.height);var Fe=yn.allocAt(a.x,a.y);ee.ca(y.Cd(Fe))?be=!0:(Fe.h(a.x,a.bottom),ee.ca(y.Cd(Fe))?be=!0:(Fe.h(a.right,a.bottom),ee.ca(y.Cd(Fe))?be=!0:(Fe.h(a.right,a.y),ee.ca(y.Cd(Fe))&&(be=!0)))),yn.free(Fe),Ur.free(ee),!be&&(dr.us(a,ne,se)||dr.us(a,se,ue)||dr.us(a,ue,me)||dr.us(a,me,ne))&&(be=!0)}return yn.free(ne),yn.free(se),yn.free(ue),yn.free(me),be},It.ga=function(a,y){if(y===void 0&&(y=new yn),a instanceof So){var ee=this.naturalBounds;y.h(a.x*ee.width+a.offsetX,a.y*ee.height+a.offsetY)}else y.set(a);return this.oe.Ga(y),y},It.mi=function(a){a===void 0&&(a=new Ur);var y=this.naturalBounds,ee=this.oe,ne=yn.allocAt(0,0).transform(ee);return a.h(ne.x,ne.y,0,0),ne.h(y.width,0).transform(ee),Hs(a,ne.x,ne.y,0,0),ne.h(y.width,y.height).transform(ee),Hs(a,ne.x,ne.y,0,0),ne.h(0,y.height).transform(ee),Hs(a,ne.x,ne.y,0,0),yn.free(ne),a},It.li=function(){var a=this.oe;return a.m11===1&&a.m12===0?a=0:(a=180*Math.atan2(a.m12,a.m11)/Math.PI,0>a&&(a+=360)),a},It.Df=function(){if(!(this.l&4096))return this.Kk;var a=this.Ca;return this.panel!==null?a*this.panel.Df():a},It.qs=function(a,y){return y===void 0&&(y=new yn),y.assign(a),this.oe.Cd(y),y},It.rs=function(a,y,ee){return this.Sj(a.x,a.y,y.x,y.y,ee)},It.Sj=function(a,y,ee,ne,se){var ue=this.transform,me=1/(ue.m11*ue.m22-ue.m12*ue.m21),be=ue.m22*me,Fe=-ue.m12*me,Ye=-ue.m21*me,Je=ue.m11*me,st=me*(ue.m21*ue.dy-ue.m22*ue.dx),yt=me*(ue.m12*ue.dx-ue.m11*ue.dy);return this.areaBackground!==null?(ue=this.actualBounds,dr.Ff(ue.left,ue.top,ue.right,ue.bottom,a,y,ee,ne,se)):(me=a*be+y*Ye+st,a=a*Fe+y*Je+yt,y=ee*be+ne*Ye+st,ee=ee*Fe+ne*Je+yt,se.h(0,0),ne=this.naturalBounds,ee=dr.Ff(0,0,ne.width,ne.height,me,a,y,ee,se),se.transform(ue),ee)},lr.prototype.measure=function(a,y,ee,ne){if(Mf(this)!==!1){var se=this.Kg,ue=se.right+se.left;se=se.top+se.bottom,a=Math.max(a-ue,0),y=Math.max(y-se,0),ee=Math.max((ee||0)-ue,0),ne=Math.max((ne||0)-se,0),ue=this.angle,se=this.desiredSize;var me=this.kq();ue===90||ue===270?(a=isFinite(se.height)?se.height+me:a,y=isFinite(se.width)?se.width+me:y):(a=isFinite(se.width)?se.width+me:a,y=isFinite(se.height)?se.height+me:y),se=ee||0,me=ne||0;var be=this instanceof bi;switch(wd(this,!0)){case fi:me=se=0,be&&(y=a=1/0);break;case Si:isFinite(a)&&a>ee&&(se=a),isFinite(y)&&y>ne&&(me=y);break;case Ro:isFinite(a)&&a>ee&&(se=a),me=0,be&&(y=1/0);break;case ea:isFinite(y)&&y>ne&&(me=y),se=0,be&&(a=1/0)}be=this.maxSize;var Fe=this.minSize;se>be.width&&Fe.width<be.width&&(se=be.width),me>be.height&&Fe.height<be.height&&(me=be.height),ee=Math.max(se,Fe.width),ne=Math.max(me,Fe.height),be.width<ee&&(ee=Math.min(Fe.width,ee)),be.height<ne&&(ne=Math.min(Fe.height,ne)),a=Math.min(be.width,a),y=Math.min(be.height,y),a=Math.max(ee,a),y=Math.max(ne,y),(ue===90||ue===270)&&(ue=a,a=y,y=ue,ue=ee,ee=ne,ne=ue),this.uc.ka(),this.Wl(a,y,ee,ne),this.uc.freeze(),this.uc.w()||cn("Non-real measuredBounds has been set. Object "+this+", measuredBounds: "+this.uc.toString()),hc(this,!1)}},lr.prototype.Wl=function(){},lr.prototype.Dd=function(){return!1},lr.prototype.arrange=function(a,y,ee,ne,se){this.Uk();var ue=Ur.alloc();ue.assign(this.Ib),this.Ib.ka(),ud(this)===!1?this.Ib.h(a,y,ee,ne):this.eh(a,y,ee,ne),this.Ib.freeze(),se===void 0?this.tb=null:this.tb=se,ee=!1,se!==void 0?ee=!0:(se=this.panel,se!==null&&K0(se)&&(se=se.panel),se!==null&&(se=se.dc,ne=this.measuredBounds,this.areaBackground!==null&&(ne=this.Ib),ee=y+ne.height,ne=a+ne.width,ee=!(0<=a+.05&&ne<=se.width+.05&&0<=y+.05&&ee<=se.height+.05),this instanceof Dl&&(a=this.naturalBounds,this.Lq>a.height||this.Cb>a.width))&&(ee=!0)),this.l=ee?this.l|256:this.l&-257,this.Ib.w()||cn("Non-real actualBounds has been set. Object "+this+", actualBounds: "+this.Ib.toString()),this.Xl(ue,this.Ib),a0(this,!1),Ur.free(ue)},It=lr.prototype,It.eh=function(){};function _h(a,y,ee,ne,se){if(a.Ib.h(y,ee,ne,se),!a.desiredSize.w()){var ue=a.uc;ee=a.Kg,y=ee.right+ee.left;var me=ee.top+ee.bottom;switch(ee=ue.width+y,ue=ue.height+me,ne+=y,se+=me,y=wd(a,!0),ee===ne&&ue===se&&(y=fi),y){case fi:(ee>ne||ue>se)&&(hc(a,!0),a.measure(ee>ne?ne:ee,ue>se?se:ue,0,0));break;case Si:hc(a,!0),a.measure(ne,se,0,0);break;case Ro:hc(a,!0),a.measure(ne,ue,0,0);break;case ea:hc(a,!0),a.measure(ee,se,0,0)}}}It.Xl=function(a,y){var ee=this.part;ee!==null&&ee.diagram!==null&&(ee.selectionObject!==this&&ee.resizeObject!==this&&ee.rotateObject!==this||EA(ee,!0),this.N(),Ns(a,y)||(ee.oh(),this.Pn(ee)))},It.Pn=function(a){this.portId!==null&&(EA(a,!0),a instanceof Yi&&Ow(a,this))},It.gc=function(a,y){if(!Pf(this,a,y)&&this.visible){var ee=this.opacity;if(ee!==0){var ne=1;ee!==1&&(ne=a.globalAlpha,a.globalAlpha=ne*ee);var se="";this.filter!==""&&(se=a.filter,a.filter=this.filter);var ue=this instanceof bi&&K0(this),me=this.Ib;if(ue){var be=this.Ib,Fe=this.dc,Ye=this.areaBackground,Je=this.Ma;Ye===null&&Je===null||a.yc(),Ye!==null&&(Nu(this,a,Ye,!0,!0,Fe,be),Ye instanceof il&&Ye.type===eg?(a.beginPath(),a.rect(be.x,be.y,be.width,be.height),a.ng(Ye)):a.fillRect(be.x,be.y,be.width,be.height)),Je!==null&&(Nu(this,a,Je,!0,!1,Fe,be),Je instanceof il&&Je.type===eg?(a.beginPath(),a.rect(be.x,be.y,be.width,be.height),a.ng(Je)):a.fillRect(be.x,be.y,be.width,be.height)),this.hh(a,y)}if(!ue&&(ue||me.width!==0&&me.height!==0&&!isNaN(me.x)&&!isNaN(me.y))){ue=this.transform,be=this.panel,this.l&4096&&Zc(this),Ye=this.part,Fe=!1;var st=0;Ye&&y.Gf("drawShadows")&&(Fe=Ye.isShadowed)&&(Je=Ye.shadowOffset,st=Math.max(Je.y,Je.x)*y.scale*y.Mb),Je=this.Dd();var yt;if(!(yt=y.$i||!Je)){var Tt=this.naturalBounds;yt=this.wh;var Ft=yt.m11,Zt=yt.m21,bn=yt.dx,fn=yt.m12,Fn=yt.m22,zn=yt.dy,Zn,sr=Zn=0;yt=Zn*Ft+sr*Zt+bn;var Br=Zn*fn+sr*Fn+zn;Zn=Tt.width+st,sr=0;var Hi=Zn*Ft+sr*Zt+bn;Zn=Zn*fn+sr*Fn+zn,sr=Math.min(yt,Hi);var uo=Math.min(Br,Zn),no=Math.max(yt+0,Hi)-sr,Li=Math.max(Br+0,Zn)-uo;yt=sr,Br=uo,Zn=Tt.width+st,sr=Tt.height+st,Hi=Zn*Ft+sr*Zt+bn,Zn=Zn*fn+sr*Fn+zn,sr=Math.min(yt,Hi),uo=Math.min(Br,Zn),no=Math.max(yt+no,Hi)-sr,Li=Math.max(Br+Li,Zn)-uo,yt=sr,Br=uo,Zn=0,sr=Tt.height+st,Hi=Zn*Ft+sr*Zt+bn,Zn=Zn*fn+sr*Fn+zn,sr=Math.min(yt,Hi),uo=Math.min(Br,Zn),no=Math.max(yt+no,Hi)-sr,Li=Math.max(Br+Li,Zn)-uo,yt=sr,Br=uo,st=y.viewportBounds,Tt=st.x,Ft=st.y,yt=!(yt>st.width+Tt||Tt>no+yt||Br>st.height+Ft||Ft>Li+Br)}if(yt){if(yt=(this.l&256)!==0,a.clipInsteadOfFill&&(yt=!1),this instanceof Dl&&(a.font=this.font),yt){if(Br=be.se()?be.naturalBounds:be.actualBounds,no=Math.max(me.x,Br.x),Li=Math.max(me.y,Br.y),st=Math.min(me.right,Br.right)-no,Tt=Math.min(me.bottom,Br.bottom)-Li,Ft=this.tb,Ft!==null&&(no=Ft.x,Li=Ft.y,st=Ft.width,Tt=Ft.height),no>me.width+me.x||me.x>Br.width+Br.x){ee!==1&&(a.globalAlpha=ne),this.filter!==""&&(a.filter=se);return}a.save(),a.beginPath(),a.rect(no,Li,st,Tt),a.clip()}if(Je){if(!Ye.isVisible()){ee!==1&&(a.globalAlpha=ne),this.filter!==""&&(a.filter=se);return}Fe&&(Br=Ye.shadowOffset,a.Ev(Br.x*y.scale*this.scale*y.Mb,Br.y*y.scale*this.scale*y.Mb,Ye.shadowBlur),l0(a),a.shadowColor=Ye.shadowColor)}Fe&&this.shadowVisible===!0?l0(a):Fe&&this.shadowVisible===!1&&s0(a),Ye=this.naturalBounds,this.areaBackground!==null&&(a.yc(),Ad(this,a,Ye,me)),a.transform(ue.m11,ue.m12,ue.m21,ue.m22,ue.dx,ue.dy),Fe&&Tc(this,be)&&this.shadowVisible===null&&s0(a),this.Ma!==null&&(a.yc(),Sd(this,a,Ye,me)),Fe&&(this.Ma!==null||this.areaBackground!==null||Tc(this,be))?(Zg(this,!0),this.shadowVisible===null&&s0(a)):Zg(this,!1),this.hh(a,y),Fe&&this.l&512&&l0(a),Je&&Fe&&s0(a),yt&&(a.restore(),a.Vc(this instanceof bi)),ue.ws()||(y=1/(ue.m11*ue.m22-ue.m12*ue.m21),a.transform(ue.m22*y,-ue.m12*y,-ue.m21*y,ue.m11*y,y*(ue.m21*ue.dy-ue.m22*ue.dx),y*(ue.m12*ue.dx-ue.m11*ue.dy)))}}ee!==1&&(a.globalAlpha=ne),this.filter!==""&&(a.filter=se)}}};function Tc(a,y){return y===null?!1:(K0(y)&&(y=y.panel),(y.l&512)!==0||(y.type===bi.Auto||y.type===bi.Spot)&&y.Pb()!==a)}It.Dv=function(){};function Ad(a,y,ee,ne){Nu(a,y,a.areaBackground,!0,!0,ee,ne),a.areaBackground instanceof il&&a.areaBackground.type===eg?(y.beginPath(),y.rect(ne.x,ne.y,ne.width,ne.height),y.ng(a.areaBackground)):y.fillRect(ne.x,ne.y,ne.width,ne.height)}function Sd(a,y,ee,ne){var se=a.kq(),ue=ee.x,me=ee.y,be=ee.width+se,Fe=ee.height+se;Nu(a,y,a.Ma,!0,!1,ee,ne),a.Ma instanceof il&&a.Ma.type===eg?(y.beginPath(),y.rect(ue-se/2,me-se/2,be,Fe),y.ng(a.Ma)):y.fillRect(ue-se/2,me-se/2,be,Fe)}function Ah(a,y,ee){for(var ne=y.O.s,se=ne.length,ue=-1,me=0;me<se;me++)if(ne[me]===a){ue=me;break}if(a=ue,a!==-1)if(a===0)y.svg.gd?y.svg.gd.after(ee):y.svg.Ma?y.svg.Ma.after(ee):y.type===bi.Table?(y=y.svg.getElementsByClassName("gojs-ts"),y=y.length!==0?y[0]:null,y!==null&&y.after(ee)):y.svg.prepend(ee);else{for(;a!==0&&!y.M(a-1).Ed();)a--;a===0?y.svg.prepend(ee):(a=y.M(a-1).svg,a!==null?a.after(ee):y.svg.appendChild(ee))}}function Pf(a,y,ee){if(!(y instanceof of))return!1;if(!a.visible||a.opacity===0||a.Dd()&&!a.isVisible())return a.svg!==null&&a.svg.parentNode!==null&&a.svg.remove(),!0;var ne=a.panel,se=a.nk(y);if(a.kk(y,ee,se))return a.svg.parentElement!==null?(a.Dd()&&(y.ti=a.svg),!0):(a.Dd()?(y.ti!==null?y.ti.after(a.svg):y.Nj.prepend(a.svg),y.ti=a.svg):ne&&Ah(a,ne,a.svg),!0);if(a.Dd()&&a.isShadowed){var ue=a.shadowOffset;y.Ev(ue.x*ee.scale*a.scale*ee.Mb,ue.y*ee.scale*a.scale*ee.Mb,a.shadowBlur),l0(y),y.shadowColor=a.shadowColor}a instanceof Dl&&(y.font=a.font),y.yd=null;var me=a.transform;ue=a instanceof bi;var be=a instanceof bi?K0(a):!1;a.l&4096&&Zc(a);var Fe=a.Ib;if(y.rb.ha=[1,0,0,1,0,0],y.o=!1,se&&(y.o=!0,ue&&be?(iA(y,1,0,0,1,0,0),a.svg=y.ad):ue?(iA(y,me.m11,me.m12,me.m21,me.m22,me.dx,me.dy),a.svg=y.ad):iA(y,1,0,0,1,0,0)),se=a.naturalBounds,a.areaBackground!==null){var Ye=me.copy().Vj();y.rb.ha=[Ye.m11,Ye.m12,Ye.m21,Ye.m22,Ye.dx,Ye.dy],Ad(a,y,se,Fe),y.rb.ha=[1,0,0,1,0,0],y.yd.gd=y.ad,y.yd.prepend(y.ad)}return ue||(y.rb.ha=[me.m11,me.m12,me.m21,me.m22,me.dx,me.dy]),a.background!==null&&(ue?(be&&(y.rb.ha=[me.m11,me.m12,me.m21,me.m22,me.dx,me.dy]),Sd(a,y,se,Fe),be&&(y.rb.ha=[1,0,0,1,0,0])):(y.rb.ha=[me.m11,me.m12,me.m21,me.m22,me.dx,me.dy],Sd(a,y,se,Fe)),y.yd.Ma=y.ad,y.yd.prepend(y.ad)),me=y.yd,se=a.part,be=!1,se&&ee.Gf("drawShadows")&&(be=se.isShadowed),y.clipInsteadOfFill&&(be=!1),a.Dd()&&be&&l0(y),be&&a.shadowVisible===!0?l0(y):be&&a.shadowVisible===!1&&s0(y),se=a.panel,be&&Tc(a,se)&&a.shadowVisible===null&&s0(y),y.Il&&(Ye=ee.computePixelRatio(),Ye="drop-shadow("+y.shadowOffsetX/Ye+"px "+y.shadowOffsetY/Ye+"px "+y.shadowBlur/Ye/2+"px "+y.shadowColor+")",a.background!==null&&me.Ma.setAttributeNS(null,"filter",Ye),a.areaBackground!==null&&me.gd.setAttributeNS(null,"filter",Ye)),be&&(a.Ma!==null||a.areaBackground!==null||Tc(a,se))?(Zg(a,!0),a.shadowVisible===null&&s0(y)):Zg(a,!1),se=be,a.hh(y,ee),ue&&y.nh.pop(),y.o&&y.nh.pop(),me=y.Gv.hs,be=ue?a.svg:y.yd,Ye=a.svg,!ue&&Ye!==null&&be!==Ye&&Ye.parentNode===a.panel.svg?(a.svg.replaceWith(be),a.svg=be,be!==null&&a.$o(y,ne,Fe,be),Jh(y,Ye),!0):(a.svg=be,me!==null&&be===null&&($S(y),y.nh.pop()),be===null||(a.$o(y,ne,Fe,be),y.Il&&(ee=ee.computePixelRatio(),a.Dv(be,"drop-shadow("+y.shadowOffsetX/ee+"px "+y.shadowOffsetY/ee+"px "+y.shadowBlur/ee/2+"px "+y.shadowColor+")")),se&&a.l&512&&l0(y),a.Dd()&&s0(y),ee=a.Dd()?a.opacity*y.globalAlpha:a.opacity,ee!==1&&be.setAttributeNS(null,"opacity",ee.toString()),a.filter!==""&&be.setAttributeNS(null,"filter",a.filter),a.Dd()?(y.ti?y.ti.after(be):y.Nj.prepend(be),y.ti=be):ne!==null&&Ah(a,ne,be),me!==null&&me(a,be)),!0)}It.$o=function(a,y,ee,ne){var se=(this.l&256)!==0;if(a.clipInsteadOfFill&&(se=!1),se){var ue=y.se()?y.naturalBounds:y.actualBounds;y=Math.max(ee.x,ue.x),se=Math.max(ee.y,ue.y);var me=Math.min(ee.right,ue.right)-y;ee=Math.min(ee.bottom,ue.bottom)-se,ue=this.tb,ue!==null&&(y=ue.x,se=ue.y,me=ue.width,ee=ue.height),ue=ne.getAttribute("clip-path");var be=null;ue!==null&&(be=a.svg.getElementById(ue.split("#")[1].slice(0,-1))),be===null?(ue="CLIP"+Os++,be=a.Ud("clipPath",{id:ue}),y=a.Ud("rect",{x:y,y:se,width:me,height:ee}),this instanceof bi&&(se=this.transform.copy().Vj(),y.setAttribute("transform","matrix("+se.m11+", "+se.m12+", "+se.m21+", "+se.m22+", "+se.dx+", "+se.dy+")")),be.appendChild(y),a.svg.appendChild(be),ne.setAttributeNS(null,"clip-path","url(#"+ue+")")):(a=be.firstElementChild,a.setAttribute("x",y.toString()),a.setAttribute("y",se.toString()),a.setAttribute("width",me.toString()),a.setAttribute("height",ee.toString()))}else ne.removeAttributeNS(null,"clip-path"),Jh(a,ne)};function Jh(a,y){y=y.getAttribute("clip-path"),y!==null&&(a=a.svg.getElementById(y.split("#")[1].slice(0,-1)),a!==null&&a.remove())}function Lh(a){if(a.svg!==null){var y=a.svg.innerHTML.match(/url\(#((CLIP|GRAD).+?)\)/g),ee=a.svg.ownerDocument;if(y!==null){y=ko(y);for(var ne=y.next();!ne.done;ne=y.next())ne=ee.getElementById(ne.value.split("#")[1].slice(0,-1)),ne!==null&&ne.remove()}a.svg.remove()}}It.hh=function(){},It.lv=function(){this.Uc=!0},It.kk=function(a,y,ee){if(this.Uc)return this.lv(),this.Uc=!1;if(y=this.svg,y===null)return!1;if(!this.visible)return y.remove(),!1;if(y.nodeName!=="g"&&ee||y.nodeName==="g"&&!ee)return!1;var ne=this.transform,se=this instanceof bi?K0(this):!1;if(!(this instanceof bi&&se))if(this instanceof hd){var ue=this.bt;a.rb.ha=[ne.m11,ne.m12,ne.m21,ne.m22,ne.dx,ne.dy],ue!==null&&Cd(a,ue[0],ue[1],ue[2],ue[3],ue[4],ue[5],ue[6],ue[7]),ee?y.lastElementChild.setAttributeNS(null,"transform",xT(a)):y.setAttributeNS(null,"transform",xT(a))}else if(!ee||this instanceof bi)y.setAttributeNS(null,"transform","matrix("+ne.m11+", "+ne.m12+", "+ne.m21+", "+ne.m22+", "+ne.dx+", "+ne.dy+")");else if(this instanceof Ua){ue=y.getElementsByTagName("path");for(var me=0;me<ue.length;me++)ue[me].setAttributeNS(null,"transform","matrix("+ne.m11+", "+ne.m12+", "+ne.m21+", "+ne.m22+", "+ne.dx+", "+ne.dy+")")}else y.lastElementChild.setAttributeNS(null,"transform","matrix("+ne.m11+", "+ne.m12+", "+ne.m21+", "+ne.m22+", "+ne.dx+", "+ne.dy+")");return ue=this.Dd()?this.opacity*a.globalAlpha:this.opacity,ue===1?y.removeAttribute("opacity"):y.setAttributeNS(null,"opacity",ue.toString()),a.rb.ha=[1,0,0,1,0,0],(this.areaBackground!==null||y.gd!==void 0)&&(ue=y.gd,this.areaBackground===null?(y.gd.remove(),y.gd=void 0):(me=ne.copy().Vj(),a.rb.ha=[me.m11,me.m12,me.m21,me.m22,me.dx,me.dy],Ad(this,a,this.naturalBounds,this.actualBounds),a.rb.ha=[1,0,0,1,0,0],y.gd?(me=y.gd.getAttribute("filter"),me!==null&&a.ad.setAttribute("filter",me),y.gd.replaceWith(a.ad)):y.prepend(a.ad),y.gd=a.ad),ue&&oA(a,ue)),(this.background!==null||y.Ma!==void 0)&&(ue=y.Ma,this.background===null?(oA(a,y.Ma),y.Ma.remove(),y.Ma=void 0):((se||ee&&!(this instanceof bi))&&(a.rb.ha=[ne.m11,ne.m12,ne.m21,ne.m22,ne.dx,ne.dy]),Sd(this,a,this.naturalBounds,this.actualBounds),y.Ma?(oA(a,y.Ma),ee=y.Ma.getAttribute("filter"),ee!==null&&a.ad.setAttribute("filter",ee),y.Ma.replaceWith(a.ad)):y.prepend(a.ad),y.Ma=a.ad),ue&&oA(a,ue)),this.$o(a,this.panel,this.actualBounds,y),!0},It.nk=function(a){if(this.background!==null||this.areaBackground!==null)return!0;var y=(this.l&256)!==0;return a.clipInsteadOfFill&&(y=!1),!!y};function Nu(a,y,ee,ne,se,ue,me){if(ee!==null){var be=1,Fe=1;if(typeof ee=="string")ne?y.fillStyle=ee:y.strokeStyle=ee;else if(ee.type===Op)ne?y.fillStyle=ee.color:y.strokeStyle=ee.color;else{var Ye=a.kq();if(be=ue.width,Fe=ue.height,se?(be=me.width,Fe=me.height):ne||(be+=Ye,Fe+=Ye),(ue=y instanceof G0)&&ee.xe&&(ee.type===S1||ee.yk===be&&ee.ft===Fe))var Je=ee.xe;else{var st=0,yt=0,Tt=0,Ft=0,Zt=0,bn=0;if(bn=Zt=0,se?(Zt=me.x,bn=me.y):ne||(Zt-=Ye/2,bn-=Ye/2),st=ee.start.x*be+ee.start.offsetX,yt=ee.start.y*Fe+ee.start.offsetY,Tt=ee.end.x*be+ee.end.offsetX,Ft=ee.end.y*Fe+ee.end.offsetY,st+=Zt,Tt+=Zt,yt+=bn,Ft+=bn,ee.type===H0)Je=y.createLinearGradient(st,yt,Tt,Ft);else if(ee.type===eg)bn=isNaN(ee.endRadius)?Math.max(be,Fe)/2:ee.endRadius,isNaN(ee.startRadius)?(Zt=0,bn=Math.max(be,Fe)/2):Zt=ee.startRadius,Je=y.createRadialGradient(st,yt,Zt,Tt,Ft,bn);else if(ee.type===S1)try{Je=y.createPattern(ee.pattern,"repeat")}catch(Fn){Je=null}if(ee.type!==S1&&(se=ee.colorStops,se!==null))for(se=se.iterator;se.next();)Je.addColorStop(se.key,se.value);if(ue&&(ee.xe=Je,Je!==null&&(ee.yk=be,ee.ft=Fe),Je===null&&ee.type===S1&&ee.yk!==-1)){ee.yk=-1;var fn=a.diagram;fn!==null&&ee.yk===-1&&Gn(function(){fn.redraw()},600)}}ne?y.fillStyle=Je:y.strokeStyle=Je}}}It.rg=function(a){if(a instanceof bi)e:{if(this!==a&&a!==null)for(var y=this.panel;y!==null;){if(y===a){a=!0;break e}y=y.panel}a=!1}else a=!1;return a},It.Ed=function(){if(!this.visible)return!1;var a=this.panel;return a!==null?a.Ed():!0},It.If=function(){for(var a=this instanceof bi?this:this.panel;a!==null&&a.isEnabled;)a=a.panel;return a===null};function Zc(a){if(a.l&2048){var y=a.Ab;if(y.reset(),!a.Ib.w()||!a.uc.w()){Sg(a,!1);return}if(y.translate(a.Ib.x-a.uc.x,a.Ib.y-a.uc.y),a.scale!==1||a.angle!==0){var ee=a.naturalBounds;a.no(y,ee.x,ee.y,ee.width,ee.height)}Sg(a,!1),qf(a,!0)}a.l&4096&&(y=a.panel,y===null?(a.wh.set(a.Ab),a.Kk=a.scale,qf(a,!1)):y.oe!==null&&(ee=a.wh,ee.reset(),y.se()?ee.multiply(y.wh):y.panel!==null&&ee.multiply(y.panel.wh),ee.multiply(a.Ab),a.Kk=a.scale*y.Kk,qf(a,!1)))}It.no=function(a,y,ee,ne,se){if(this.Ca!==1&&a.scale(this.Ca),this.Kb!==0){var ue=yn.alloc();ue.yi(y,ee,ne,se,us),a.rotate(this.Kb,ue.x,ue.y),yn.free(ue)}},It.v=function(a){if(!Mf(this)){a===void 0&&(a=!1),hc(this,!0),a0(this,!0);var y=this.panel;y===null||a||y.v()}},It.Uj=function(){Mf(this)||(hc(this,!0),a0(this,!0))};function qh(a){if(!ud(a)){var y=a.panel;y!==null?y.v():a.Dd()&&(y=a.diagram,y!==null&&(y.De.add(a),a instanceof Yi&&a.Bd(),y.$b())),a0(a,!0)}}It.Uk=function(){!(this.l&2048)&&(Sg(this,!0),qf(this,!0))},It.Wu=function(){qf(this,!0)},It.N=function(){var a=this.part;a!==null&&a.N()};function wd(a,y){var ee=a.stretch,ne=a.panel;return ne!==null&&ne.type===bi.Table?fp(a,ne.Fb(a.row),ne.Eb(a.column),y):ne!==null&&ne.type===bi.Auto&&ne.Pb()===a?Fc(a,Si,y):ee===Na?ne!==null?ne.type===bi.Spot&&ne.Pb()===a?Fc(a,Si,y):(ee=ne.defaultStretch,ee===Na?Fc(a,fi,y):Fc(a,ee,y)):Fc(a,fi,y):Fc(a,ee,y)}function fp(a,y,ee,ne){var se=a.stretch;if(se!==Na)return Fc(a,se,ne);var ue=se=null;switch(y.stretch){case ea:ue=!0;break;case Si:ue=!0}switch(ee.stretch){case Ro:se=!0;break;case Si:se=!0}return y=a.panel.defaultStretch,se===null&&(se=y===Ro||y===Si),ue===null&&(ue=y===ea||y===Si),se===!0&&ue===!0?Fc(a,Si,ne):se===!0?Fc(a,Ro,ne):ue===!0?Fc(a,ea,ne):Fc(a,fi,ne)}function Fc(a,y,ee){if(ee)return y;if(y===fi||(ee=a.desiredSize,ee.w()))return fi;if(a=a.angle,!isNaN(ee.width))if(a!==90&&a!==270){if(y===Ro)return fi;if(y===Si)return ea}else{if(y===ea)return fi;if(y===Si)return Ro}if(!isNaN(ee.height))if(a!==90&&a!==270){if(y===ea)return fi;if(y===Si)return Ro}else{if(y===Ro)return fi;if(y===Si)return ea}return y}function Zg(a,y){a.l=y?a.l|512:a.l&-513}function sh(a){return(a.l&1024)!==0}function v1(a,y){a.l=y?a.l|1024:a.l&-1025}function Sg(a,y){a.l=y?a.l|2048:a.l&-2049}function qf(a,y){a.l=y?a.l|4096:a.l&-4097}function Mf(a){return(a.l&8192)!==0}function hc(a,y){a.l=y?a.l|8192:a.l&-8193}function ud(a){return(a.l&16384)!==0}function a0(a,y){a.l=y?a.l|16384:a.l&-16385}It.Gj=function(){this.svg=null},It.wi=function(a){this.Me=a,this.svg!==null&&this.svg.remove()},It.Av=function(){},It.zv=function(a){return this.pa=a,qh(this),!0},It.mm=function(a,y){(this.pa.x!==a||this.pa.y!==y)&&(this.pa.h(a,y),this.Uk())},It.kq=function(){return 0};function uy(a){var y=a.part;if(y instanceof Yi&&(a.portId!==null||a===y.port)){var ee=y.diagram;ee===null||ee.undoManager.isUndoingRedoing||Ow(y,a)}}function mT(a){var y=a.diagram;y===null||y.undoManager.isUndoingRedoing||(a instanceof bi?a instanceof Yi?a.Bd():a.qm(a,function(ee){uy(ee)}):uy(a))}It.bind=function(a,y,ee,ne){var se=null;return typeof a=="string"?se=new $u(a,y,ee,ne):se=a,se.xd=this,a=this.ih(),a!==null&&IT(a)&&cn("Cannot add a Binding to a template that has already been copied: "+se),this.localBindings===null&&(this.localBindings=new Hr),this.localBindings.add(se),this},It.set=function(a){return Object.assign(this,a),this},It.Du=function(a){return P2(this,a),this},It.apply=function(a){return a(this),this},It.nm=function(a){return ad(this,a),this},It.pz=function(){return this.ih()},It.ih=function(){for(var a=this instanceof bi?this:this.panel;a!==null;){if(a.allBindings!==null)return a;a=a.panel}return null},It.Jv=function(a){return a.xd=this,this.animationTriggers===null&&(this.animationTriggers=new Ji),this.animationTriggers.add(a.propertyName,a),this};function $f(a,y){for(var ee=1;ee<arguments.length;++ee);ee=arguments;var ne=null,se=null;if(typeof a=="function")se=a;else if(typeof a=="string"){var ue=Nx.I(a);typeof ue=="function"?(ee=Bn(arguments),ne=ue(ee),On(ne)||cn('GraphObject.make invoked object builder "'+a+'", but it did not return an Object')):se=Ct.go[a]}if(ne===null&&(se!=null&&se.constructor||cn("GraphObject.make requires a class function or GoJS class name or name of an object builder, not: "+a),ne=new se),se=1,ne instanceof Lr&&1<ee.length){ue=ne;var me=ee[1];(typeof me=="string"||me instanceof HTMLDivElement)&&(mg(ue,me),se++)}for(;se<ee.length;se++)ue=ee[se],ue===void 0?cn("Undefined value at argument "+se+" for object being constructed by GraphObject.make: "+ne):P2(ne,ue);return ne}function P2(a,y){if(typeof y=="string")if(a instanceof Dl)a.text=y;else if(a instanceof Ua)a.figure=y;else if(a instanceof hd)a.source=y;else if(a instanceof bi)y=tg.I(y),y!==null&&(a.type=y);else if(a instanceof il){var ee=xi(il,y);ee!==null?a.type=ee:cn("Unknown Brush type as an argument to GraphObject.make: "+y)}else a instanceof wi?(y=xi(wi,y),y!==null&&(a.type=y)):a instanceof Ps&&(y=xi(Ps,y),y!==null&&(a.type=y));else if(y instanceof lr)a instanceof bi||cn("A GraphObject can only be added to a Panel, not to: "+a),a.add(y);else if(y instanceof oc){var ne;y.isRow&&typeof a.getRowDefinition=="function"?ne=a.getRowDefinition(y.index):y.isRow||typeof a.getColumnDefinition!="function"||(ne=a.getColumnDefinition(y.index)),ne instanceof oc?cA(ne,y):cn("A RowColumnDefinition can only be added to an object that implements getRowDefinition/getColumnDefinition, not to: "+a)}else if(y instanceof nr)typeof a.qb=="function"&&a.qb(y);else if(y instanceof gc)a.type=y;else if(y instanceof $u)a instanceof lr||a instanceof oc?a.bind(y):cn("A Binding can only be applied to a GraphObject or RowColumnDefinition, not to: "+a);else if(y instanceof yd)a instanceof lr?a.Jv(y):cn("An AnimationTrigger can only be applied to a GraphObject, not to: "+a);else if(y instanceof Gu)a instanceof wi&&a.type===wi.o?a.figures.add(y):cn("A PathFigure can only be added to a Path Geometry, not to: "+a);else if(y instanceof Ps)a instanceof Gu?a.segments.add(y):cn("A PathSegment can only be added to a PathFigure, not to: "+a);else if(y instanceof Ol)a instanceof Lr||a instanceof Ma?a.layout=y:cn("A Layout can only be assigned to a Diagram or a Group, not to: "+a);else if(Array.isArray(y))for(ee=0;ee<y.length;ee++)P2(a,y[ee]);else if(typeof y=="object"&&y!==null)if(a instanceof il){ee=new Gi;for(var se in y)ne=parseFloat(se),isNaN(ne)?ee[se]=y[se]:a.addColorStop(ne,y[se]);ad(a,ee)}else if(a instanceof oc){y.row!==void 0?(se=y.row,(se==null||se===1/0||isNaN(se)||0>se)&&cn("Must specify non-negative integer row for RowColumnDefinition "+y+", not: "+se),a.isRow=!0,a.index=se):y.column!==void 0&&(se=y.column,(se==null||se===1/0||isNaN(se)||0>se)&&cn("Must specify non-negative integer column for RowColumnDefinition "+y+", not: "+se),a.isRow=!1,a.index=se),se=new Gi;for(ee in y)ee!=="row"&&ee!=="column"&&(se[ee]=y[ee]);ad(a,se)}else ad(a,y);else cn('Unknown initializer "'+y+'" for object being constructed by GraphObject.make: '+a)}function Lv(a,y){Nx.add(a,y)}function qS(a,y,ee){ee===void 0&&(ee=null);var ne=a[1];if(typeof ee=="function"?ee(ne):typeof ne=="string")return a.splice(1,1),ne;if(y===void 0)throw Error("no "+(typeof ee=="function"?"satisfactory":"string")+" argument for GraphObject builder "+a[0]);return y}Re.Object.defineProperties(lr.prototype,{bindingId:{get:function(){return this.A!==null?this.A.zp:-1},set:function(a){this.bindingId!==a&&(this.A===null&&(this.A=new m1),this.A.zp=a)}},localBindings:{get:function(){return this.A!==null?this.A.te:null},set:function(a){this.localBindings!==a&&(this.A===null&&(this.A=new m1),this.A.te=a)}},srcBindings:{get:function(){return this.A!==null?this.A.wm:null},set:function(a){this.srcBindings!==a&&(this.A===null&&(this.A=new m1),this.A.wm=a)}},shadowVisible:{get:function(){return this.A!==null?this.A.Ci:null},set:function(a){var y=this.shadowVisible;y!==a&&(Qa(this),this.A.Ci=a,this.Uc=!0,this.N(),this.g("shadowVisible",y,a))}},enabledChanged:{get:function(){return this.A!==null?this.A.Hb:null},set:function(a){var y=this.enabledChanged;y!==a&&(Qa(this),this.A.Hb=a,this.g("enabledChanged",y,a))}},segmentOrientation:{get:function(){return this.Ua!==null?this.Ua.rr:wh},set:function(a){var y=this.segmentOrientation;y!==a&&(this.Ua===null&&(this.Ua=new Em),this.Ua.rr=a,this.v(),this.g("segmentOrientation",y,a),a===wh&&(this.angle=0))}},segmentIndex:{get:function(){return this.Ua!==null?this.Ua.u:-1/0},set:function(a){a=Math.round(a);var y=this.segmentIndex;y!==a&&(this.Ua===null&&(this.Ua=new Em),this.Ua.u=a,this.v(),this.g("segmentIndex",y,a))}},segmentFraction:{get:function(){return this.Ua!==null?this.Ua.o:0},set:function(a){isNaN(a)||0>a?a=0:1<a&&(a=1);var y=this.segmentFraction;y!==a&&(this.Ua===null&&(this.Ua=new Em),this.Ua.o=a,this.v(),this.g("segmentFraction",y,a))}},segmentOffset:{get:function(){return this.Ua!==null?this.Ua.F:ja},set:function(a){var y=this.segmentOffset;y.D(a)||(a=a.J(),this.Ua===null&&(this.Ua=new Em),this.Ua.F=a,this.v(),this.g("segmentOffset",y,a))}},stretch:{get:function(){return this.A!==null?this.A.hg:Na},set:function(a){var y=this.stretch;y!==a&&(Qa(this),this.A.hg=a,this.v(),this.g("stretch",y,a))}},name:{get:function(){return this.A!==null?this.A.xa:""},set:function(a){var y=this.name;y!==a&&(Qa(this),this.A.xa=a,this.part!==null&&(this.part.Rh=null),this.g("name",y,a))}},opacity:{get:function(){return this.pb},set:function(a){var y=this.pb;y!==a&&((0>a||1<a)&&ir(a,"0 <= value <= 1",lr,"opacity"),this.pb=a,this.g("opacity",y,a),a=this.diagram,y=this.part,a!==null&&y!==null&&a.N(Cm(y,y.actualBounds)))}},filter:{get:function(){return this.bn},set:function(a){var y=this.bn;y!==a&&(this.bn=a,this.Uc=!0,this.g("filter",y,a),a=this.diagram,y=this.part,a!==null&&y!==null&&a.N(Cm(y,y.actualBounds)))}},visible:{get:function(){return(this.l&1)!==0},set:function(a){var y=(this.l&1)!==0;y!==a&&(this.l^=1,this.g("visible",y,a),y=this.panel,y!==null?y.v():this.Dd()&&this.Zb(a),this.N(),mT(this))}},pickable:{get:function(){return(this.l&2)!==0},set:function(a){var y=(this.l&2)!==0;y!==a&&(this.l^=2,this.g("pickable",y,a))}},fromLinkableDuplicates:{get:function(){return(this.l&4)!==0},set:function(a){var y=(this.l&4)!==0;y!==a&&(this.l^=4,this.g("fromLinkableDuplicates",y,a))}},fromLinkableSelfNode:{get:function(){return(this.l&8)!==0},set:function(a){var y=(this.l&8)!==0;y!==a&&(this.l^=8,this.g("fromLinkableSelfNode",y,a))}},toLinkableDuplicates:{get:function(){return(this.l&16)!==0},set:function(a){var y=(this.l&16)!==0;y!==a&&(this.l^=16,this.g("toLinkableDuplicates",y,a))}},toLinkableSelfNode:{get:function(){return(this.l&32)!==0},set:function(a){var y=(this.l&32)!==0;y!==a&&(this.l^=32,this.g("toLinkableSelfNode",y,a))}},isPanelMain:{get:function(){return(this.l&64)!==0},set:function(a){var y=(this.l&64)!==0;y!==a&&(this.l^=64,this.v(),this.g("isPanelMain",y,a))}},isActionable:{get:function(){return(this.l&128)!==0},set:function(a){var y=(this.l&128)!==0;y!==a&&(this.l^=128,this.g("isActionable",y,a))}},areaBackground:{get:function(){return this.A!==null?this.A.gd:null},set:function(a){var y=this.areaBackground;y!==a&&(a!==null&&E1(a,"GraphObject.areaBackground"),a instanceof il&&a.freeze(),Qa(this),this.A.gd=a,this.N(),this.g("areaBackground",y,a))}},background:{get:function(){return this.Ma},set:function(a){var y=this.Ma;y!==a&&(a!==null&&E1(a,"GraphObject.background"),a instanceof il&&a.freeze(),this.Ma=a,this.N(),this.g("background",y,a))}},part:{get:function(){if(this.Dd())return this;if(this.Ng!==null)return this.Ng;var a;for(a=this.panel;a;){if(a instanceof _o)return this.Ng=a;a=a.panel}return null}},svg:{get:function(){return this.V},set:function(a){this.V=a}},panel:{get:function(){return this.Me}},layer:{get:function(){var a=this.part;return a!==null?a.layer:null}},diagram:{get:function(){var a=this.part;return a!==null?a.diagram:null}},position:{get:function(){return this.pa},set:function(a){var y=a.x,ee=a.y,ne=this.pa,se=ne.x;ne=ne.y,(se===y||isNaN(se)&&isNaN(y))&&(ne===ee||isNaN(ne)&&isNaN(ee))?this.Av():(a=a.copy(),this.zv(a,se,ne)&&this.g("position",new yn(se,ne),a))}},actualBounds:{get:function(){return this.Ib}},scale:{get:function(){return this.Ca},set:function(a){var y=this.Ca;y!==a&&(0>=a&&cn("GraphObject.scale for "+this+" must be greater than zero, not: "+a),this.Ca=a,this.v(),this.g("scale",y,a))}},angle:{get:function(){return this.Kb},set:function(a){var y=this.Kb;y!==a&&(a%=360,0>a&&(a+=360),y!==a&&(this.Kb=a,mT(this),this.v(),this.g("angle",y,a)))}},desiredSize:{get:function(){return this.jd},set:function(a){var y=a.width,ee=a.height,ne=this.jd,se=ne.width,ue=ne.height;(se===y||isNaN(se)&&isNaN(y))&&(ue===ee||isNaN(ue)&&isNaN(ee))||(this.jd=a=a.J(),this.v(),this instanceof Ua&&this.qc(),this.g("desiredSize",ne,a),sh(this)&&(a=this.part,a!==null&&(Ul(this,a,"width"),Ul(this,a,"height"))))}},width:{get:function(){return this.jd.width},set:function(a){var y=this.jd.width;y===a||isNaN(y)&&isNaN(a)||(y=this.jd,this.jd=a=new Ii(a,this.jd.height).freeze(),this.v(),this instanceof Ua&&this.qc(),this.g("desiredSize",y,a),sh(this)&&(a=this.part,a!==null&&Ul(this,a,"width")))}},height:{get:function(){return this.jd.height},set:function(a){var y=this.jd.height;y===a||isNaN(y)&&isNaN(a)||(y=this.jd,this.jd=a=new Ii(this.jd.width,a).freeze(),this.v(),this instanceof Ua&&this.qc(),this.g("desiredSize",y,a),sh(this)&&(a=this.part,a!==null&&Ul(this,a,"height")))}},minSize:{get:function(){return this.A!==null?this.A.u:Gs},set:function(a){var y=this.minSize;y.D(a)||(a=a.copy(),isNaN(a.width)&&(a.width=0),isNaN(a.height)&&(a.height=0),a.freeze(),Qa(this),this.A.u=a,this.v(),this.g("minSize",y,a))}},maxSize:{get:function(){return this.A!==null?this.A.o:zs},set:function(a){var y=this.maxSize;y.D(a)||(a=a.copy(),isNaN(a.width)&&(a.width=1/0),isNaN(a.height)&&(a.height=1/0),a.freeze(),Qa(this),this.A.o=a,this.v(),this.g("maxSize",y,a))}},measuredBounds:{get:function(){return this.uc}},naturalBounds:{get:function(){return this.dc}},margin:{get:function(){return this.Kg},set:function(a){typeof a=="number"&&(a=new jo(a));var y=this.Kg;y.D(a)||(this.Kg=a=a.J(),this.v(),this.g("margin",y,a))}},transform:{get:function(){return this.l&2048&&Zc(this),this.Ab}},oe:{get:function(){return this.l&4096&&Zc(this),this.wh}},animationTriggers:{get:function(){return this.A!==null?this.A.hb:null},set:function(a){this.animationTriggers!==a&&(Qa(this),this.A.hb=a)}},reshapingBehavior:{get:function(){return this.A!==null?this.A.Pf:fi},set:function(a){this.reshapingBehavior!==a&&(Qa(this),this.A.Pf=a)}},alignment:{get:function(){return this.Jb},set:function(a){var y=this.Jb;y.D(a)||(a.Mc()&&!a.Xb()&&cn("GraphObject.alignment for "+this+" must be a real Spot or Spot.Default, not: "+a),this.Jb=a=a.J(),qh(this),this.g("alignment",y,a))}},column:{get:function(){return this.Ag},set:function(a){a=Math.round(a);var y=this.Ag;y!==a&&(0>a&&ir(a,">= 0",lr,"column"),this.Ag=a,this.v(),this.g("column",y,a),this.svg!==null&&this.svg.remove())}},columnSpan:{get:function(){return this.A!==null?this.A.ob:1},set:function(a){a=Math.round(a);var y=this.columnSpan;y!==a&&(1>a&&ir(a,">= 1",lr,"columnSpan"),Qa(this),this.A.ob=a,this.v(),this.g("columnSpan",y,a))}},row:{get:function(){return this.io},set:function(a){a=Math.round(a);var y=this.io;y!==a&&(0>a&&ir(a,">= 0",lr,"row"),this.io=a,this.v(),this.g("row",y,a),this.svg!==null&&this.svg.remove())}},rowSpan:{get:function(){return this.A!==null?this.A.Bi:1},set:function(a){a=Math.round(a);var y=this.rowSpan;y!==a&&(1>a&&ir(a,">= 1",lr,"rowSpan"),Qa(this),this.A.Bi=a,this.v(),this.g("rowSpan",y,a))}},spanAllocation:{get:function(){return this.A!==null?this.A.Di:null},set:function(a){var y=this.spanAllocation;y!==a&&(Qa(this),this.A.Di=a,this.v(),this.g("spanAllocation",y,a))}},alignmentFocus:{get:function(){return this.sk},set:function(a){var y=this.sk;y.D(a)||(this.sk=a=a.J(),this.v(),this.g("alignmentFocus",y,a))}},portId:{get:function(){return this.Yn},set:function(a){var y=this.Yn;if(y!==a){var ee=this.part;ee===null||ee instanceof Yi||cn("Cannot set portID on a Link: "+a),y!==null&&ee!==null&&Bw(ee,this),this.Yn=a,a!==null&&ee!==null&&(ee.Te=!0,Pb(ee,this)),this.g("portId",y,a)}}},toSpot:{get:function(){return this.ba!==null?this.ba.yj:uu},set:function(a){var y=this.toSpot;y.D(a)||(a=a.J(),this.Xc(),this.ba.yj=a,this.g("toSpot",y,a),uy(this))}},toEndSegmentLength:{get:function(){return this.ba!==null?this.ba.wj:10},set:function(a){var y=this.toEndSegmentLength;y!==a&&(0>a&&ir(a,">= 0",lr,"toEndSegmentLength"),this.Xc(),this.ba.wj=a,this.g("toEndSegmentLength",y,a),uy(this))}},toShortLength:{get:function(){return this.ba!==null?this.ba.xj:0},set:function(a){var y=this.toShortLength;y!==a&&(this.Xc(),this.ba.xj=a,this.g("toShortLength",y,a),uy(this))}},toLinkable:{get:function(){return this.ba!==null?this.ba.Tr:null},set:function(a){var y=this.toLinkable;y!==a&&(this.Xc(),this.ba.Tr=a,this.g("toLinkable",y,a))}},toMaxLinks:{get:function(){return this.ba!==null?this.ba.Ur:1/0},set:function(a){var y=this.toMaxLinks;y!==a&&(0>a&&ir(a,">= 0",lr,"toMaxLinks"),this.Xc(),this.ba.Ur=a,this.g("toMaxLinks",y,a))}},fromSpot:{get:function(){return this.ba!==null?this.ba.Xi:uu},set:function(a){var y=this.fromSpot;y.D(a)||(a=a.J(),this.Xc(),this.ba.Xi=a,this.g("fromSpot",y,a),uy(this))}},fromEndSegmentLength:{get:function(){return this.ba!==null?this.ba.Vi:10},set:function(a){var y=this.fromEndSegmentLength;y!==a&&(0>a&&ir(a,">= 0",lr,"fromEndSegmentLength"),this.Xc(),this.ba.Vi=a,this.g("fromEndSegmentLength",y,a),uy(this))}},fromShortLength:{get:function(){return this.ba!==null?this.ba.Wi:0},set:function(a){var y=this.fromShortLength;y!==a&&(this.Xc(),this.ba.Wi=a,this.g("fromShortLength",y,a),uy(this))}},fromLinkable:{get:function(){return this.ba!==null?this.ba.hq:null},set:function(a){var y=this.fromLinkable;y!==a&&(this.Xc(),this.ba.hq=a,this.g("fromLinkable",y,a))}},fromMaxLinks:{get:function(){return this.ba!==null?this.ba.iq:1/0},set:function(a){var y=this.fromMaxLinks;y!==a&&(0>a&&ir(a,">= 0",lr,"fromMaxLinks"),this.Xc(),this.ba.iq=a,this.g("fromMaxLinks",y,a))}},cursor:{get:function(){return this.A!==null?this.A.j:""},set:function(a){var y=this.cursor;y!==a&&(Qa(this),this.A.j=a,this.g("cursor",y,a))}},click:{get:function(){return this.A!==null?this.A.zh:null},set:function(a){var y=this.click;y!==a&&(Qa(this),this.A.zh=a,this.g("click",y,a))}},doubleClick:{get:function(){return this.A!==null?this.A.Fh:null},set:function(a){var y=this.doubleClick;y!==a&&(Qa(this),this.A.Fh=a,this.g("doubleClick",y,a))}},contextClick:{get:function(){return this.A!==null?this.A.Bh:null},set:function(a){var y=this.contextClick;y!==a&&(Qa(this),this.A.Bh=a,this.g("contextClick",y,a))}},mouseEnter:{get:function(){return this.A!==null?this.A.Mh:null},set:function(a){var y=this.mouseEnter;y!==a&&(Qa(this),this.A.Mh=a,this.g("mouseEnter",y,a))}},mouseLeave:{get:function(){return this.A!==null?this.A.Ph:null},set:function(a){var y=this.mouseLeave;y!==a&&(Qa(this),this.A.Ph=a,this.g("mouseLeave",y,a))}},mouseOver:{get:function(){return this.A!==null?this.A.Qh:null},set:function(a){var y=this.mouseOver;y!==a&&(Qa(this),this.A.Qh=a,this.g("mouseOver",y,a))}},mouseHover:{get:function(){return this.A!==null?this.A.Oh:null},set:function(a){var y=this.mouseHover;y!==a&&(Qa(this),this.A.Oh=a,this.g("mouseHover",y,a))}},mouseHold:{get:function(){return this.A!==null?this.A.Nh:null},set:function(a){var y=this.mouseHold;y!==a&&(Qa(this),this.A.Nh=a,this.g("mouseHold",y,a))}},mouseDragEnter:{get:function(){return this.A!==null?this.A.Of:null},set:function(a){var y=this.mouseDragEnter;y!==a&&(Qa(this),this.A.Of=a,this.g("mouseDragEnter",y,a))}},mouseDragLeave:{get:function(){return this.A!==null?this.A.Xd:null},set:function(a){var y=this.mouseDragLeave;y!==a&&(Qa(this),this.A.Xd=a,this.g("mouseDragLeave",y,a))}},mouseDrop:{get:function(){return this.A!==null?this.A.Lh:null},set:function(a){var y=this.mouseDrop;y!==a&&(Qa(this),this.A.Lh=a,this.g("mouseDrop",y,a))}},actionDown:{get:function(){return this.A!==null?this.A.V:null},set:function(a){var y=this.actionDown;y!==a&&(Qa(this),this.A.V=a,this.g("actionDown",y,a))}},actionMove:{get:function(){return this.A!==null?this.A.ia:null},set:function(a){var y=this.actionMove;y!==a&&(Qa(this),this.A.ia=a,this.g("actionMove",y,a))}},actionUp:{get:function(){return this.A!==null?this.A.Ha:null},set:function(a){var y=this.actionUp;y!==a&&(Qa(this),this.A.Ha=a,this.g("actionUp",y,a))}},actionCancel:{get:function(){return this.A!==null?this.A.F:null},set:function(a){var y=this.actionCancel;y!==a&&(Qa(this),this.A.F=a,this.g("actionCancel",y,a))}},toolTip:{get:function(){return this.A!==null?this.A.$h:null},set:function(a){var y=this.toolTip;y!==a&&(Qa(this),this.A.$h=a,this.g("toolTip",y,a))}},contextMenu:{get:function(){return this.A!==null?this.A.Ch:null},set:function(a){var y=this.contextMenu;y!==a&&(Qa(this),this.A.Ch=a,this.g("contextMenu",y,a))}}}),lr.prototype.trigger=lr.prototype.Jv,lr.prototype.findBindingPanel=lr.prototype.ih,lr.prototype.findTemplateBinder=lr.prototype.pz,lr.prototype.setProperties=lr.prototype.nm,lr.prototype.apply=lr.prototype.apply,lr.prototype.attach=lr.prototype.Du,lr.prototype.set=lr.prototype.set,lr.prototype.isEnabledObject=lr.prototype.If,lr.prototype.isVisibleObject=lr.prototype.Ed,lr.prototype.isContainedBy=lr.prototype.rg,lr.prototype.getNearestIntersectionPoint=lr.prototype.rs,lr.prototype.getLocalPoint=lr.prototype.qs,lr.prototype.getDocumentScale=lr.prototype.Df,lr.prototype.getDocumentAngle=lr.prototype.li,lr.prototype.getDocumentBounds=lr.prototype.mi,lr.prototype.getDocumentPoint=lr.prototype.ga,lr.prototype.intersectsRect=lr.prototype.Yc,lr.prototype.containedInRect=lr.prototype.fh,lr.prototype.containsRect=lr.prototype.Re,lr.prototype.containsPoint=lr.prototype.ca,lr.prototype.raiseChanged=lr.prototype.g,lr.prototype.raiseChangedEvent=lr.prototype.cb,lr.prototype.addCopyProperty=lr.prototype.Vw;var Nx=null;lr.className="GraphObject",Nx=new Ji,Lv("Button",function(){function a(ee,ne){return ee.diagram.ic(ee.documentPoint,function(se){for(;se.panel!==null&&!se.isActionable;)se=se.panel;return se},function(se){return se===ne})!==null}var y=$f(bi,bi.Auto,{isActionable:!0,enabledChanged:function(ee,ne){if(ee instanceof bi){var se=ee.fb("ButtonBorder");se!==null&&(se.fill=ne?ee._buttonFillNormal:ee._buttonFillDisabled)}},cursor:"pointer",_buttonFillNormal:"#F5F5F5",_buttonStrokeNormal:"#BDBDBD",_buttonFillOver:"#E0E0E0",_buttonStrokeOver:"#9E9E9E",_buttonFillPressed:"#BDBDBD",_buttonStrokePressed:"#9E9E9E",_buttonFillDisabled:"#E5E5E5"},$f(Ua,{name:"ButtonBorder",figure:"RoundedRectangle",spot1:new So(0,0,2.76142374915397,2.761423749153969),spot2:new So(1,1,-2.76142374915397,-2.761423749153969),parameter1:2,parameter2:2,fill:"#F5F5F5",stroke:"#BDBDBD"}));return y.mouseEnter=function(ee,ne){if(ne.If()&&ne instanceof bi&&(ee=ne.fb("ButtonBorder"),ee instanceof Ua)){var se=ne._buttonFillOver;ne._buttonFillNormal=ee.fill,ee.fill=se,se=ne._buttonStrokeOver,ne._buttonStrokeNormal=ee.stroke,ee.stroke=se}},y.mouseLeave=function(ee,ne){ne.If()&&ne instanceof bi&&(ee=ne.fb("ButtonBorder"),ee instanceof Ua&&(ee.fill=ne._buttonFillNormal,ee.stroke=ne._buttonStrokeNormal))},y.actionDown=function(ee,ne){if(ne.If()&&ne instanceof bi&&ne._buttonFillPressed!==null&&ee.button===0){var se=ne.fb("ButtonBorder");if(se instanceof Ua){ee=ee.diagram;var ue=ee.skipsUndoManager;ee.skipsUndoManager=!0;var me=ne._buttonFillPressed;ne._buttonFillOver=se.fill,se.fill=me,me=ne._buttonStrokePressed,ne._buttonStrokeOver=se.stroke,se.stroke=me,ee.skipsUndoManager=ue}}},y.actionUp=function(ee,ne){if(ne.If()&&ne instanceof bi&&ne._buttonFillPressed!==null&&ee.button===0){var se=ne.fb("ButtonBorder");if(se instanceof Ua){var ue=ee.diagram,me=ue.skipsUndoManager;ue.skipsUndoManager=!0,a(ee,ne)?(se.fill=ne._buttonFillOver,se.stroke=ne._buttonStrokeOver):(se.fill=ne._buttonFillNormal,se.stroke=ne._buttonStrokeNormal),ue.skipsUndoManager=me}}},y.actionCancel=function(ee,ne){if(ne.If()&&ne instanceof bi&&ne._buttonFillPressed!==null){var se=ne.fb("ButtonBorder");if(se instanceof Ua){var ue=ee.diagram,me=ue.skipsUndoManager;ue.skipsUndoManager=!0,a(ee,ne)?(se.fill=ne._buttonFillOver,se.stroke=ne._buttonStrokeOver):(se.fill=ne._buttonFillNormal,se.stroke=ne._buttonStrokeNormal),ue.skipsUndoManager=me}}},y.actionMove=function(ee,ne){if(ne.If()&&ne instanceof bi&&ne._buttonFillPressed!==null){var se=ee.diagram;if(se.firstInput.button===0&&(se.currentTool.standardMouseOver(),a(ee,ne)&&(ee=ne.fb("ButtonBorder"),ee instanceof Ua))){var ue=se.skipsUndoManager;se.skipsUndoManager=!0;var me=ne._buttonFillPressed;ee.fill!==me&&(ee.fill=me),me=ne._buttonStrokePressed,ee.stroke!==me&&(ee.stroke=me),se.skipsUndoManager=ue}}},y}),Lv("TreeExpanderButton",function(){var a=$f("Button",{_treeExpandedFigure:"MinusLine",_treeCollapsedFigure:"PlusLine"},$f(Ua,{name:"ButtonIcon",figure:"MinusLine",stroke:"#424242",strokeWidth:2,desiredSize:Ki},new $u("figure","isTreeExpanded",function(y,ee){return ee=ee.panel,y?ee._treeExpandedFigure:ee._treeCollapsedFigure}).cp()),{visible:!1},new $u("visible","isTreeLeaf",function(y){return!y}).cp());return a.click=function(y,ee){if(ee=ee.part,ee instanceof Cs&&(ee=ee.adornedPart),ee instanceof Yi){var ne=ee.diagram;if(ne!==null){if(ne=ne.commandHandler,ee.isTreeExpanded){if(!ne.canCollapseTree(ee))return}else if(!ne.canExpandTree(ee))return;y.handled=!0,ee.isTreeExpanded?ne.collapseTree(ee):ne.expandTree(ee)}}},a}),Lv("SubGraphExpanderButton",function(){var a=$f("Button",{_subGraphExpandedFigure:"MinusLine",_subGraphCollapsedFigure:"PlusLine"},$f(Ua,{name:"ButtonIcon",figure:"MinusLine",stroke:"#424242",strokeWidth:2,desiredSize:Ki},new $u("figure","isSubGraphExpanded",function(y,ee){return ee=ee.panel,y?ee._subGraphExpandedFigure:ee._subGraphCollapsedFigure}).cp()));return a.click=function(y,ee){if(ee=ee.part,ee instanceof Cs&&(ee=ee.adornedPart),ee instanceof Ma){var ne=ee.diagram;if(ne!==null){if(ne=ne.commandHandler,ee.isSubGraphExpanded){if(!ne.canCollapseSubGraph(ee))return}else if(!ne.canExpandSubGraph(ee))return;y.handled=!0,ee.isSubGraphExpanded?ne.collapseSubGraph(ee):ne.expandSubGraph(ee)}}},a}),Lv("ToolTip",function(){return $f(Cs,bi.Auto,{isShadowed:!0,shadowColor:"rgba(0, 0, 0, .4)",shadowOffset:new yn(0,3),shadowBlur:5},$f(Ua,{name:"Border",figure:"RoundedRectangle",parameter1:1,parameter2:1,fill:"#F5F5F5",stroke:"#F0F0F0",spot1:new So(0,0,4,6),spot2:new So(1,1,-4,-4)}))}),Lv("ContextMenu",function(){return $f(Cs,bi.Vertical,{background:"#F5F5F5",isShadowed:!0,shadowColor:"rgba(0, 0, 0, .4)",shadowOffset:new yn(0,3),shadowBlur:5},new $u("background","",function(a){return a.adornedPart!==null&&a.placeholder!==null?null:"#F5F5F5"}))}),Lv("ContextMenuButton",function(){var a=$f("Button");a.stretch=Ro;var y=a.fb("ButtonBorder");return y instanceof Ua&&(y.figure="Rectangle",y.strokeWidth=0,y.spot1=new So(0,0,2,3),y.spot2=new So(1,1,-2,-2)),a}),Lv("PanelExpanderButton",function(a){var y=qS(a,"COLLAPSIBLE"),ee=$f("Button",{_buttonExpandedFigure:"M0 0 M0 6 L4 2 8 6 M8 8",_buttonCollapsedFigure:"M0 0 M0 2 L4 6 8 2 M8 8",_buttonFillNormal:"rgba(0, 0, 0, 0)",_buttonStrokeNormal:null,_buttonFillOver:"rgba(0, 0, 0, .2)",_buttonStrokeOver:null,_buttonFillPressed:"rgba(0, 0, 0, .4)",_buttonStrokePressed:null},$f(Ua,{name:"ButtonIcon",strokeWidth:2},new $u("geometryString","visible",function(ne){return ne?ee._buttonExpandedFigure:ee._buttonCollapsedFigure}).cp(y)));return a=ee.fb("ButtonBorder"),a instanceof Ua&&(a.stroke=null,a.fill="rgba(0, 0, 0, 0)"),ee.click=function(ne,se){var ue=se.diagram;if(ue!==null&&!ue.isReadOnly){var me=se.ih();me===null&&(me=se.part),me!==null&&(se=me.fb(y),se!==null&&(ne.handled=!0,ue.Ea("Collapse/Expand Panel"),se.visible=!se.visible,ue.eb("Collapse/Expand Panel")))}},ee}),Lv("CheckBoxButton",function(a){var y=qS(a);return a=$f("Button",{desiredSize:new Ii(14,14)},$f(Ua,{name:"ButtonIcon",geometryString:"M0 0 M0 8.85 L4.9 13.75 16.2 2.45 M16.2 16.2",strokeWidth:2,stretch:Si,geometryStretch:Mo,visible:!1},y!==""?new $u("visible",y).Kx():[])),a.click=function(ee,ne){if(ne instanceof bi){var se=ee.diagram;if(!(se===null||se.isReadOnly||y!==""&&se.model.isReadOnly)){ee.handled=!0;var ue=ne.fb("ButtonIcon");se.Ea("checkbox"),ue.visible=!ue.visible,typeof ne._doClick=="function"&&ne._doClick(ee,ne),se.eb("checkbox")}}},a}),Lv("CheckBox",function(a){a=qS(a),a=$f("CheckBoxButton",a,{name:"Button",isActionable:!1,margin:new jo(0,1,0,0)});var y=$f(bi,"Horizontal",a,{isActionable:!0,cursor:a.cursor,margin:new jo(1),_buttonFillNormal:a._buttonFillNormal,_buttonStrokeNormal:a._buttonStrokeNormal,_buttonFillOver:a._buttonFillOver,_buttonStrokeOver:a._buttonStrokeOver,_buttonFillPressed:a._buttonFillPressed,_buttonStrokePressed:a._buttonStrokePressed,_buttonFillDisabled:a._buttonFillDisabled,mouseEnter:a.mouseEnter,mouseLeave:a.mouseLeave,actionDown:a.actionDown,actionUp:a.actionUp,actionCancel:a.actionCancel,actionMove:a.actionMove,click:a.click,_buttonClick:a.click});return a.mouseEnter=null,a.mouseLeave=null,a.actionDown=null,a.actionUp=null,a.actionCancel=null,a.actionMove=null,a.click=null,y}),lr.None=fi=new nr(lr,"None",0),lr.Default=Na=new nr(lr,"Default",0),lr.Vertical=ea=new nr(lr,"Vertical",4),lr.Horizontal=Ro=new nr(lr,"Horizontal",5),lr.Fill=Si=new nr(lr,"Fill",3),lr.Uniform=Mo=new nr(lr,"Uniform",1),lr.UniformToFill=vs=new nr(lr,"UniformToFill",2),lr.FlipVertical=Xa=new nr(lr,"FlipVertical",1),lr.FlipHorizontal=Ds=new nr(lr,"FlipHorizontal",2),lr.FlipBoth=hl=new nr(lr,"FlipBoth",3),lr.make=$f,lr.getBuilders=function(){var a=new Ji,y;for(y in Nx)if(y!==y.toLowerCase()){var ee=Nx.I(y);typeof ee=="function"&&a.add(y,ee)}return a.freeze(),a},lr.defineBuilder=Lv,lr.build=function(a,y,ee){for(var ne=[],se=2;se<arguments.length;++se)ne[se-2]=arguments[se];if(se=Nx.I(a),typeof se=="function"&&(ne=se([a].concat(ne)),ne instanceof lr))return y&&ne.set(y),ne;cn('GraphObject.build invoked object builder "'+a+'", but it did not return an Object')},lr.takeBuilderArgument=qS;function m1(){this.nc=!1,this.xa="",this.zp=-1,this.nb=this.wm=this.te=null,this.j="",this.hb=this.Di=this.Hb=this.Ch=this.$h=this.F=this.Ha=this.ia=this.V=this.Lh=this.Xd=this.Of=this.Nh=this.Oh=this.Qh=this.Ph=this.Mh=this.Bh=this.Fh=this.zh=null,this.u=Gs,this.o=zs,this.hg=Na,this.ob=this.Bi=1,this.Pf=fi,this.Pc=this.Ci=this.gd=null,this.Oc="category"}m1.prototype.copy=function(){var a=new m1;return a.xa=this.xa,a.zp=this.zp,a.te=this.te,a.nb=this.nb,a.j=this.j,a.zh=this.zh,a.Fh=this.Fh,a.Bh=this.Bh,a.Mh=this.Mh,a.Ph=this.Ph,a.Qh=this.Qh,a.Oh=this.Oh,a.Nh=this.Nh,a.Of=this.Of,a.Xd=this.Xd,a.Lh=this.Lh,a.V=this.V,a.ia=this.ia,a.Ha=this.Ha,a.F=this.F,a.$h=this.$h,a.Ch=this.Ch,a.Hb=this.Hb,a.Di=this.Di,a.hb=this.hb,a.u=this.u.J(),a.o=this.o.J(),a.hg=this.hg,a.Bi=this.Bi,a.ob=this.ob,a.Pf=this.Pf,a.gd=this.gd,a.Ci=this.Ci,a.Pc=this.Pc,a.Oc=this.Oc,a};function Em(){this.u=-1/0,this.o=0,this.F=ja,this.rr=wh,this.j=this.V="None"}Em.prototype.copy=function(){var a=new Em;return a.u=this.u,a.o=this.o,a.F=this.F.J(),a.rr=this.rr,a.V=this.V,a.j=this.j,a},Em.className="LinkElementSettings";function rA(){this.yj=this.Xi=Zs,this.xj=this.Wi=this.wj=this.Vi=NaN,this.Tr=this.hq=null,this.Ur=this.iq=1/0}rA.prototype.copy=function(){var a=new rA;return a.Xi=this.Xi.J(),a.yj=this.yj.J(),a.Vi=this.Vi,a.wj=this.wj,a.Wi=this.Wi,a.xj=this.xj,a.hq=this.hq,a.Tr=this.Tr,a.iq=this.iq,a.Ur=this.Ur,a},rA.className="LinkSettings";function cy(){this.ha=[1,0,0,1,0,0]}cy.prototype.copy=function(){var a=new cy;return a.ha[0]=this.ha[0],a.ha[1]=this.ha[1],a.ha[2]=this.ha[2],a.ha[3]=this.ha[3],a.ha[4]=this.ha[4],a.ha[5]=this.ha[5],a},cy.prototype.translate=function(a,y){this.ha[4]+=this.ha[0]*a+this.ha[2]*y,this.ha[5]+=this.ha[1]*a+this.ha[3]*y},cy.prototype.scale=function(a,y){this.ha[0]*=a,this.ha[1]*=a,this.ha[2]*=y,this.ha[3]*=y},cy.prototype.rotate=function(a,y,ee){if(360<=a?a-=360:0>a&&(a+=360),a!==0){if(this.translate(y,ee),a===90){a=0;var ne=1}else a===180?(a=-1,ne=0):a===270?(a=0,ne=-1):(ne=a*Math.PI/180,a=Math.cos(ne),ne=Math.sin(ne));var se=this.ha[1]*a+this.ha[3]*ne,ue=this.ha[0]*-ne+this.ha[2]*a,me=this.ha[1]*-ne+this.ha[3]*a;this.ha[0]=this.ha[0]*a+this.ha[2]*ne,this.ha[1]=se,this.ha[2]=ue,this.ha[3]=me,this.translate(-y,-ee)}},cy.className="STransform";function y1(a){this.type=a,this.r2=this.y2=this.x2=this.r1=this.y1=this.x1=0,this.gx=[],this.pattern=null}y1.prototype.addColorStop=function(a,y){this.gx.push({offset:a,color:y})},y1.className="SGradient";function Ip(a,y,ee){this.ownerDocument=a=y===void 0?Ct.document:y,this.cA="http://www.w3.org/2000/svg",a!==void 0&&(this.Oa=this.Ud("svg",{width:"1px",height:"1px",viewBox:"0 0 1 1"}),this.style.display="block",this.style.letterSpacing="normal",this.style.wordSpacing="normal",this.Oa.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns","http://www.w3.org/2000/svg"),this.Oa.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink")),this.hs=null,this.context=new of(this,ee)}Ip.prototype.resize=function(a,y,ee,ne){return this.width!==a||this.height!==y?(this.width=a,this.height=y,this.style.width=ee+"px",this.style.height=ne+"px",this.Oa.setAttributeNS(null,"width",ee+"px"),this.Oa.setAttributeNS(null,"height",ne+"px"),this.Oa.setAttributeNS(null,"viewBox","0 0 "+ee+" "+ne),this.context.ww.firstElementChild.setAttributeNS(null,"width",ee+"px"),this.context.ww.firstElementChild.setAttributeNS(null,"height",ne+"px"),!0):!1},Ip.prototype.Ud=function(a,y,ee){if(a=this.ownerDocument.createElementNS(this.cA,a),On(y))for(var ne in y)a.setAttributeNS(ne==="href"?"http://www.w3.org/1999/xlink":"",ne,y[ne]);return ee!==void 0&&(a.textContent=ee),a},Ip.prototype.getBoundingClientRect=function(){return this.Oa.getBoundingClientRect()},Ip.prototype.focus=function(){this.Oa.focus()},Ip.prototype.mx=function(){this.ownerDocument=null},Re.Object.defineProperties(Ip.prototype,{width:{get:function(){return this.Oa.width.baseVal.value},set:function(a){this.Oa.setAttribute("width",a+"px")}},height:{get:function(){return this.Oa.height.baseVal.value},set:function(a){this.Oa.setAttribute("height",a+"px")}},style:{get:function(){return this.Oa.style}}}),Ip.className="SVGSurface";function of(a,y){this.Gv=a,this.svg=a.Oa,this.stack=[],this.nh=[],this.fillStyle="#000000",this.font="10px sans-serif",this.globalAlpha=1,this.lineCap="butt",this.lineDashOffset=0,this.lineJoin="miter",this.lineWidth=1,this.miterLimit=10,this.shadowBlur=0,this.shadowColor="rgba(0, 0, 0, 0)",this.shadowOffsetY=this.shadowOffsetX=0,this.Il=!1,this.strokeStyle="#000000",this.textAlign="start",this.clipInsteadOfFill=!1,this.Vg=this.Br=this.Ar=0,this.yd=this.ad=null,this.path=[],this.Yl={},this.Ct=!1,this.Yg=null,this.uj=0,this.rb=new cy,this.j=$S(this),this.Nj=$S(this,"gojs-diagram"),this.Hl=this.ti=null;var ee=Os++,ne=this.Ud("clipPath",{id:"mainClip"+ee});ne.appendChild(this.Ud("rect",{x:0,y:0,width:a.width,height:a.height})),this.ww=ne,this.svg.appendChild(this.j),this.j.appendChild(this.Nj),this.svg.appendChild(ne),this.j.setAttributeNS(null,"clip-path","url(#mainClip"+ee+")"),this.eA={},this.isTemporary=!!y,this.filter="",this.bk=null}function yT(a,y,ee,ne,se,ue,me){a.Nj===void 0?iA(a,y,ee,ne,se,ue,me):a.Nj.setAttribute("transform","matrix("+y+", "+ee+", "+ne+", "+se+", "+ue+", "+me+")")}It=of.prototype,It.arc=function(a,y,ee,ne,se,ue,me,be){var Fe=2*Math.PI,Ye=Fe-1e-6,Je=ee*Math.cos(ne),st=ee*Math.sin(ne),yt=a+Je,Tt=y+st,Ft=ue?0:1;ne=ue?ne-se:se-ne,(1e-6<Math.abs(me-yt)||1e-6<Math.abs(be-Tt))&&this.path.push(["L",yt,+Tt]),0>ne&&(ne=ne%Fe+Fe),ne>Ye?(this.path.push(["A",ee,ee,0,1,Ft,a-Je,y-st]),this.path.push(["A",ee,ee,0,1,Ft,yt,Tt])):1e-6<ne&&this.path.push(["A",ee,ee,0,+(ne>=Math.PI),Ft,a+ee*Math.cos(se),y+ee*Math.sin(se)])},It.beginPath=function(){this.path=[],this.Yl={stroke:"none",fill:"none"}},It.Se=function(a){this.addPath(this.path,this.rb,a||0)},It.bezierCurveTo=function(a,y,ee,ne,se,ue){this.path.push(["C",a,y,ee,ne,se,ue])},It.clearRect=function(){},It.clip=function(){this.Yl.clipPath=!0},It.closePath=function(){this.path.push(["z"])},It.createLinearGradient=function(a,y,ee,ne){var se=new y1("linear");return se.x1=a,se.y1=y,se.x2=ee,se.y2=ne,se},It.createPattern=function(a){var y="";a instanceof HTMLCanvasElement&&(y=a.toDataURL()),a instanceof HTMLImageElement&&(y=a.getAttribute("src"));var ee=this.eA;if(ee[y])return"url(#"+ee[y]+")";var ne="PATTERN"+Os++,se={x:0,y:0,width:a.width,height:a.height,href:y};return a=this.Ud("pattern",{width:a.width,height:a.height,id:ne,patternUnits:"userSpaceOnUse"}),a.appendChild(this.Ud(Mv,se)),this.svg.appendChild(a),ee[y]=ne,"url(#"+ne+")"},It.createRadialGradient=function(a,y,ee,ne,se,ue){var me=new y1("radial");return me.x1=a,me.y1=y,me.r1=ee,me.x2=ne,me.y2=se,me.r2=ue,me};function Cd(a,y,ee,ne,se,ue,me,be,Fe){ne=be/ne,se=Fe/se,ue===0&&me===0||a.rb.translate(ue,me),ne===1&&se===1||a.rb.scale(ne,se),y===0&&ee===0||a.rb.translate(-y,-ee)}It.drawImage=function(a,y,ee,ne,se,ue,me,be,Fe){var Ye="";a instanceof HTMLCanvasElement&&(Ye=a.toDataURL()),a instanceof HTMLImageElement&&(Ye=a.getAttribute("src"));var Je=a instanceof HTMLImageElement?a.naturalWidth:a.width;a=a instanceof HTMLImageElement?a.naturalHeight:a.height,ne===void 0&&(ue=y,me=ee,be=ne=Je,Fe=se=a),ne=ne||0,se=se||0,be=be||0,Fe=Fe||0,Cd(this,y,ee,ne,se,ue||0,me||0,be,Fe),ue={x:0,y:0,width:Je||ne,height:a||se,href:Ye},dr.$(ne,be)&&dr.$(se,Fe)?Ye.toLowerCase().indexOf(".svg")===-1&&Ye.toLowerCase().indexOf("data:image/svg")===-1&&(ue.preserveAspectRatio="xMidYMid slice"):ue.preserveAspectRatio="none",(y!==0||ee!==0||ne!==Je||se!==a)&&(ne+=y,se+=ee,ue["clip-path"]="path('M "+y+","+ee+" L "+ne+" "+ee+" L "+ne+" "+se+" L "+y+" "+se+" z')"),gp(this,Mv,ue,this.rb),this.addElement(Mv,ue)},It.fill=function(a){a&&(this.Yl["fill-rule"]="evenodd"),M2(this,this.Yl)},It.ng=function(a,y){this.clipInsteadOfFill?this.clip():this.fill(y)},It.fillRect=function(a,y,ee,ne){a=[a,y,ee,ne],a={x:a[0],y:a[1],width:a[2],height:a[3]},gp(this,"fill",a,this.rb),this.addElement("rect",a)},It.ox=function(a,y,ee,ne){a={x:a,y,width:ee,height:ne},gp(this,"fill",a,this.rb),M2(this,a),this.svg.prepend(this.Ud("rect",a))},It.fillText=function(a,y,ee){a=[a,y,ee],y=this.textAlign,y==="left"?y="start":y==="right"?y="end":y==="center"&&(y="middle"),y={x:a[1],y:a[2],style:"font: "+this.font,"text-anchor":y},gp(this,"fill",y,this.rb),this.addElement("text",y,a[0])},It.lineTo=function(a,y){this.path.push(["L",a,y])},It.moveTo=function(a,y){this.path.push(["M",a,y])},It.quadraticCurveTo=function(a,y,ee,ne){this.path.push(["Q",a,y,ee,ne])},It.rect=function(a,y,ee,ne){this.path.push(["M",a,y],["L",a+ee,y],["L",a+ee,y+ne],["L",a,y+ne],["z"])},It.restore=function(){this.rb=this.stack.pop(),this.path=this.stack.pop();var a=this.stack.pop();this.fillStyle=a.fillStyle,this.font=a.font,this.globalAlpha=a.globalAlpha,this.lineCap=a.lineCap,this.lineDashOffset=a.lineDashOffset,this.lineJoin=a.lineJoin,this.lineWidth=a.lineWidth,this.miterLimit=a.miterLimit,this.shadowBlur=a.shadowBlur,this.shadowColor=a.shadowColor,this.shadowOffsetX=a.shadowOffsetX,this.shadowOffsetY=a.shadowOffsetY,this.strokeStyle=a.strokeStyle,this.textAlign=a.textAlign,this.bk=a.bk},It.save=function(){this.stack.push({fillStyle:this.fillStyle,font:this.font,globalAlpha:this.globalAlpha,lineCap:this.lineCap,lineDashOffset:this.lineDashOffset,lineJoin:this.lineJoin,lineWidth:this.lineWidth,miterLimit:this.miterLimit,shadowBlur:this.shadowBlur,shadowColor:this.shadowColor,shadowOffsetX:this.shadowOffsetX,shadowOffsetY:this.shadowOffsetY,strokeStyle:this.strokeStyle,textAlign:this.textAlign,bk:this.bk});for(var a=[],y=0;y<this.path.length;y++)a.push(this.path[y]);this.stack.push(a),this.stack.push(this.rb.copy())},It.setTransform=function(a,y,ee,ne,se,ue){a===1&&y===0&&ee===0&&ne===1&&se===0&&ue===0||iA(this,a,y,ee,ne,se,ue)};function xT(a){return a=a.rb.ha,"matrix("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+")"}It.scale=function(a,y){this.rb.scale(a,y)},It.translate=function(a,y){this.rb.translate(a,y)},It.transform=function(){},It.yc=function(){},It.stroke=function(){Tv(this,this.Yl)},It.jk=function(){this.clipInsteadOfFill||this.stroke()},It.Ud=function(a,y,ee){return this.Gv.Ud(a,y,ee)},It.addElement=function(a,y,ee){return a=this.Ud(a,y,ee),this.yd!==null?this.yd.appendChild(a):this.yd=a,this.ad=a};function gp(a,y,ee,ne){y==="fill"?M2(a,ee):y==="stroke"&&Tv(a,ee),ne!==null&&(a=ne.ha,ee.transform="matrix("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+")")}function M2(a,y){a.fillStyle instanceof y1?y.fill=L2(a,a.fillStyle,!0):/^rgba\(/.test(a.fillStyle)?(a=/^\s*rgba\s*\(([^,\s]+)\s*,\s*([^,\s]+)\s*,\s*([^,\s]+)\s*,\s*([^,\s]+)\)\s*$/i.exec(a.fillStyle),y.fill="rgb("+a[1]+","+a[2]+","+a[3]+")",y["fill-opacity"]=a[4]):y.fill=a.fillStyle}function ET(a,y,ee){ee=ee?"fill":"stroke",a.fillStyle instanceof y1?y.setAttributeNS(null,"fill",L2(a,a.fillStyle,!0)):/^rgba\(/.test(a.fillStyle)?(a=/^\s*rgba\s*\(([^,\s]+)\s*,\s*([^,\s]+)\s*,\s*([^,\s]+)\s*,\s*([^,\s]+)\)\s*$/i.exec(a.fillStyle),y.setAttributeNS(null,ee,"rgb("+a[1]+","+a[2]+","+a[3]+")"),y.setAttributeNS(null,ee+"-opacity",a[4])):y.setAttributeNS(null,ee,a.fillStyle)}function Tv(a,y){if(a.strokeStyle instanceof y1)y.stroke=L2(a,a.strokeStyle,!1);else if(/^rgba\(/.test(a.strokeStyle)){var ee=/^\s*rgba\s*\(([^,\s]+)\s*,\s*([^,\s]+)\s*,\s*([^,\s]+)\s*,\s*([^,\s]+)\)\s*$/i.exec(a.strokeStyle);y.stroke="rgb("+ee[1]+","+ee[2]+","+ee[3]+")",y["stroke-opacity"]=ee[4]}else y.stroke=a.strokeStyle;y["stroke-width"]=a.lineWidth,y["stroke-linecap"]=a.lineCap,y["stroke-linejoin"]=a.lineJoin,y["stroke-miterlimit"]=a.miterLimit,a.Ct&&(y["stroke-dasharray"]=a.Yg.toString(),y["stroke-dashoffset"]=a.uj)}function L2(a,y,ee){var ne="";if(ne=a.Hl!==null?a.Hl.getAttribute(ee?"fill":"stroke"):null,ne!==null&&ne.indexOf("GRAD")!==-1?(ne=ne.split("#")[1].slice(0,-1),ee=a.svg.getElementById(ne),ee!==null&&ee.remove()):ne="GRAD"+Os++,y.type==="linear")ee=a.Ud("linearGradient",{x1:y.x1,x2:y.x2,y1:y.y1,y2:y.y2,id:ne,gradientUnits:"userSpaceOnUse"});else if(y.type==="radial")ee=a.Ud("radialGradient",{x1:y.x1,x2:y.x2,y1:y.y1,y2:y.y2,r1:y.r1,r2:y.r2,id:ne});else throw Error("invalid gradient");var se=y.gx;y=se.length;for(var ue=[],me=0;me<y;me++){var be=se[me],Fe=be.color;be={offset:be.offset,"stop-color":Fe},/^rgba\(/.test(Fe)&&(Fe=/^\s*rgba\s*\(([^,\s]+)\s*,\s*([^,\s]+)\s*,\s*([^,\s]+)\s*,\s*([^,\s]+)\)\s*$/i.exec(Fe),be["stop-color"]="rgb("+Fe[1]+","+Fe[2]+","+Fe[3]+")",be["stop-opacity"]=Fe[4]),ue.push(be)}for(ue.sort(function(Ye,Je){return Ye.offset>Je.offset?1:-1}),se=0;se<y;se++)ee.appendChild(a.Ud("stop",ue[se]));return a.svg.appendChild(ee),"url(#"+ne+")"}It.addPath=function(a,y,ee){for(var ne=[],se=0;se<a.length;se++){var ue=Bn(a[se]),me=[ue.shift()];if(me[0]==="A")me.push(ue.shift()+","+ue.shift(),ue.shift(),ue.shift()+","+ue.shift(),ue.shift()+","+ue.shift());else for(;ue.length;)me.push(ue.shift()+","+ue.shift());ne.push(me.join(" "))}if(ne=ne.join(" "),a=this.Yl,a.clipPath)0<this.nh.length&&this.nh[this.nh.length-1].setAttributeNS(null,"clip-path",'path("'+ne+'")');else if(a.d=ne,gp(this,"",a,y),this.Hl!==null)if(y=this.Hl,y.nodeName!=="g")for(var be in a)be!=="transform"&&y.setAttributeNS(null,be,a[be]);else{be=y.getElementsByTagName("path");for(var Fe in a)Fe!=="transform"&&be[ee].setAttributeNS(null,Fe,a[Fe])}else this.addElement("path",a)};function iA(a,y,ee,ne,se,ue,me){var be=new cy;be.ha=[y,ee,ne,se,ue,me],y={},gp(a,"g",y,be),be=a.addElement("g",y),a.nh.push(be)}function $S(a,y){var ee={};return y&&(ee.class=y),y=a.addElement("g",ee),a.nh.push(y),y}It.Ev=function(a,y,ee){this.Ar=a,this.Br=y,this.Vg=ee};function s0(a){a.Il=!1,a.shadowOffsetX=0,a.shadowOffsetY=0,a.shadowBlur=0}function l0(a){a.Il=!0,a.shadowOffsetX=a.Ar,a.shadowOffsetY=a.Br,a.shadowBlur=a.Vg}It.js=function(a,y){this.Ct=!0,this.Yg=a,this.uj=y},It.fs=function(){this.Ct=!1},It.Vc=function(){},It.Wx=function(){},of.prototype.rotate=function(a){this.rb.rotate(57.2958*a,0,0)},of.prototype.getImageData=function(){return null},of.prototype.measureText=function(){return null};function oA(a,y){y=y.getAttribute("fill"),y!==null&&(y=y.split("#"),y.length!==1&&(y=a.svg.getElementById(y[1].slice(0,-1)),y!==null&&a.svg.innerHTML.match(new RegExp(y.id,"g")).length===1&&y.remove()))}of.prototype.Hs=function(a){a.svg!==null&&a.svg.parentNode===this.Nj&&a.svg.remove()},of.className="SVGContext",Lr.prototype.Cs=function(a){this.pj.contains("SVG")||this.bs("SVG",new Ip(this,Ct.document));var y=new Ip(this,Ct.document,!0);a===void 0&&(a=new Gi);var ee=this;return xg(this,function(ne,se){return ne=W0(ee,ne,"SVG",y),ne=ne!==null?ne.svg:null,typeof se=="function"?(se(ne),null):ne},a)},Lr.prototype.makeSvg=Lr.prototype.Cs,Lr.prototype.av=function(a){return this.Cs(a)},Lr.prototype.makeSVG=Lr.prototype.av;function wg(a,y,ee,ne){this.ownerDocument=y=y===void 0?Ct.document:y,this.hs=null,y=y.createElement("canvas"),y.tabIndex=0,this.Oa=y,this.context=new G0(y,ee,ne),y.H=a}wg.prototype.resize=function(a,y,ee,ne){return this.width!==a||this.height!==y?(this.width=a,this.height=y,this.style.width=ee+"px",this.style.height=ne+"px",!0):!1},wg.prototype.toDataURL=function(a,y){return this.Oa.toDataURL(a,y)},wg.prototype.getBoundingClientRect=function(){return this.Oa.getBoundingClientRect()},wg.prototype.focus=function(){this.Oa.focus()},wg.prototype.mx=function(){this.ownerDocument=this.Oa.H=null},Re.Object.defineProperties(wg.prototype,{width:{get:function(){return this.Oa.width},set:function(a){this.Oa.width=a}},height:{get:function(){return this.Oa.height},set:function(a){this.Oa.height=a}},style:{get:function(){return this.Oa.style}}}),wg.className="CanvasSurface";function G0(a,y,ee){this.Z=a.getContext?a.getContext("2d",y):null,this.Z===null&&cn("Browser does not support HTML Canvas Element"),this.ct=this.et=this.dt="",this.Hm=!1,this.Vg=this.Br=this.Ar=0,this.Il=!1,this.El=new Da,this.isTemporary=!!ee}It=G0.prototype,It.Wx=function(a){this.Z.imageSmoothingEnabled=a},It.arc=function(a,y,ee,ne,se,ue){this.Z.arc(a,y,ee,ne,se,ue)},It.beginPath=function(){this.Z.beginPath()},It.Se=function(){},It.bezierCurveTo=function(a,y,ee,ne,se,ue){this.Z.bezierCurveTo(a,y,ee,ne,se,ue)},It.clearRect=function(a,y,ee,ne){this.yc(),this.Z.clearRect(a,y,ee,ne)},It.clip=function(){this.Z.clip()},It.closePath=function(){this.Z.closePath()},It.createLinearGradient=function(a,y,ee,ne){return this.Z.createLinearGradient(a,y,ee,ne)},It.createPattern=function(a,y){return this.Z.createPattern(a,y)},It.createRadialGradient=function(a,y,ee,ne,se,ue){return this.Z.createRadialGradient(a,y,ee,ne,se,ue)},It.drawImage=function(a,y,ee,ne,se,ue,me,be,Fe){ne===void 0?this.Z.drawImage(a,y,ee):this.Z.drawImage(a,y,ee,ne,se,ue,me,be,Fe)},It.fill=function(a){this.Z.fill(a?"evenodd":"nonzero")},It.fillRect=function(a,y,ee,ne){this.Z.fillRect(a,y,ee,ne)},It.ox=function(a,y,ee,ne){this.Z.fillRect(a,y,ee,ne)},It.fillText=function(a,y,ee){this.Z.fillText(a,y,ee)},It.getImageData=function(a,y,ee,ne){return this.Z.getImageData(a,y,ee,ne)},It.lineTo=function(a,y){this.Z.lineTo(a,y)},It.measureText=function(a){return this.Z.measureText(a)},It.moveTo=function(a,y){this.Z.moveTo(a,y)},It.quadraticCurveTo=function(a,y,ee,ne){this.Z.quadraticCurveTo(a,y,ee,ne)},It.rect=function(a,y,ee,ne){this.Z.rect(a,y,ee,ne)},It.restore=function(){this.Z.restore()},It.save=function(){this.yc(),this.Z.save()},G0.prototype.rotate=function(a){this.El.rotate(57.2958*a,0,0)},It=G0.prototype,It.setTransform=function(a,y,ee,ne,se,ue){this.El.setTransform(a,y,ee,ne,se,ue)},It.scale=function(a,y){this.El.scale(a,y)},It.translate=function(a,y){this.El.translate(a,y)},It.stroke=function(){this.Z.stroke()},It.transform=function(a,y,ee,ne,se,ue){if(a!==1||y!==0||ee!==0||ne!==1||se!==0||ue!==0){var me=this.El,be=me.m11*a+me.m21*y;a=me.m12*a+me.m22*y,y=me.m11*ee+me.m21*ne,ee=me.m12*ee+me.m22*ne,me.dx=me.m11*se+me.m21*ue+me.dx,me.dy=me.m12*se+me.m22*ue+me.dy,me.m11=be,me.m12=a,me.m21=y,me.m22=ee}},It.yc=function(){var a=this.El;this.Z.setTransform(a.m11,a.m12,a.m21,a.m22,a.dx,a.dy)},It.ng=function(a,y){if(a instanceof il&&a.type===eg){var ee=a.yk;a=a.ft,a>ee?(this.scale(ee/a,1),this.translate((a-ee)/2,0)):ee>a&&(this.scale(1,a/ee),this.translate(0,(ee-a)/2)),this.Hm?this.clip():this.fill(y),a>ee?(this.translate(-(a-ee)/2,0),this.scale(1/(ee/a),1)):ee>a&&(this.translate(0,-(ee-a)/2),this.scale(1,1/(a/ee)))}else this.Hm?this.clip():this.fill(y)},It.jk=function(){this.Hm||this.stroke()},It.Ev=function(a,y,ee){this.Ar=a,this.Br=y,this.Vg=ee},It.js=function(a,y){var ee=this.Z;ee.setLineDash!==void 0&&(ee.setLineDash(a),ee.lineDashOffset=y)},It.fs=function(){var a=this.Z;a.setLineDash!==void 0&&(a.setLineDash(LI),a.lineDashOffset=0)},It.Vc=function(a){a&&(this.dt=""),this.ct=this.et=""},It.Hs=function(){},Re.Object.defineProperties(G0.prototype,{fillStyle:{get:function(){return this.Z.fillStyle},set:function(a){this.ct!==a&&(this.ct=this.Z.fillStyle=a)}},font:{get:function(){return this.Z.font},set:function(a){this.dt!==a&&(this.dt=this.Z.font=a)}},globalAlpha:{get:function(){return this.Z.globalAlpha},set:function(a){this.Z.globalAlpha=a}},lineCap:{get:function(){return this.Z.lineCap},set:function(a){this.Z.lineCap=a}},lineDashOffset:{get:function(){return this.Z.lineDashOffset},set:function(a){this.Z.lineDashOffset=a}},lineJoin:{get:function(){return this.Z.lineJoin},set:function(a){this.Z.lineJoin=a}},lineWidth:{get:function(){return this.Z.lineWidth},set:function(a){this.Z.lineWidth=a}},miterLimit:{get:function(){return this.Z.miterLimit},set:function(a){this.Z.miterLimit=a}},shadowBlur:{get:function(){return this.Z.shadowBlur},set:function(a){this.Z.shadowBlur=a}},shadowColor:{get:function(){return this.Z.shadowColor},set:function(a){this.Z.shadowColor=a}},shadowOffsetX:{get:function(){return this.Z.shadowOffsetX},set:function(a){this.Z.shadowOffsetX=a}},shadowOffsetY:{get:function(){return this.Z.shadowOffsetY},set:function(a){this.Z.shadowOffsetY=a}},strokeStyle:{get:function(){return this.Z.strokeStyle},set:function(a){this.et!==a&&(this.et=this.Z.strokeStyle=a)}},textAlign:{get:function(){return this.Z.textAlign},set:function(a){this.Z.textAlign=a}},imageSmoothingEnabled:{get:function(){return this.Z.imageSmoothingEnabled},set:function(a){this.Z.imageSmoothingEnabled=a}},filter:{get:function(){return this.Z.filter},set:function(a){this.Z.filter=a===""?"none":a}},clipInsteadOfFill:{get:function(){return this.Hm},set:function(a){this.Hm=a}}});var LI=Object.freeze([]);G0.className="CanvasSurfaceContext";function hy(){this.F=this.o=this.u=this.j=0}hy.className="ColorNumbers";function il(a,y){Fx||(N2(),Fx=!0),Ca(this),this._isFrozen=!1,a===void 0?(this.na=Op,this.xk="black"):typeof a=="string"?(this.na=Op,this.xk=a):(this.na=a,this.xk="black"),a=this.na,a===H0?(this.Qd=Rh,this.Lk=rh):this.Lk=a===eg?this.Qd=us:this.Qd=uu,this.Gr=0,this.Xp=NaN,this.xe=this.cr=this.we=null,this.ft=this.yk=0,y&&Object.assign(this,y)}il.prototype.copy=function(){var a=new il;return a.na=this.na,a.xk=this.xk,a.Qd=this.Qd.J(),a.Lk=this.Lk.J(),a.Gr=this.Gr,a.Xp=this.Xp,this.we!==null&&(a.we=this.we.copy()),a.cr=this.cr,a},It=il.prototype,It.freeze=function(){return this._isFrozen=!0,this.we!==null&&this.we.freeze(),this},It.ka=function(){return Object.isFrozen(this)&&cn("cannot thaw constant: "+this),this._isFrozen=!1,this.we!==null&&this.we.ka(),this},It.qb=function(a){a.classType===il&&(this.type=a)},It.toString=function(){var a="Brush(";if(this.type===Op)a+=this.color;else if(a=this.type===H0?a+"Linear ":this.type===eg?a+"Radial ":this.type===S1?a+"Pattern ":a+"(unknown) ",a+=this.start+" "+this.end,this.colorStops!==null)for(var y=this.colorStops.iterator;y.next();)a+=" "+y.key+":"+y.value;return a+")"},It.addColorStop=function(a,y){return this._isFrozen&&Yn(this),(typeof a!="number"||!isFinite(a)||1<a||0>a)&&ir(a,"0 <= loc <= 1",il,"addColorStop:loc"),this.we===null&&(this.we=new Ji),this.we.add(a,y),this.na===Op&&(this.type=H0),this.xe=null,this},It.Vz=function(a,y){if(this._isFrozen&&Yn(this),a=a===void 0||typeof a!="number"?.2:a,y=y===void 0?w1:y,this.type===Op)Yg(this.color),this.color=x1(a,y);else if((this.type===H0||this.type===eg)&&this.colorStops!==null)for(var ee=this.colorStops.iterator;ee.next();)Yg(ee.value),this.addColorStop(ee.key,x1(a,y));return this};function T2(a,y,ee){return y=y===void 0||typeof y!="number"?.2:y,ee=ee===void 0?w1:ee,Yg(a),x1(y,ee)}It.Wy=function(a,y){if(this._isFrozen&&Yn(this),a=a===void 0||typeof a!="number"?.2:a,y=y===void 0?w1:y,this.type===Op)Yg(this.color),this.color=x1(-a,y);else if((this.type===H0||this.type===eg)&&this.colorStops!==null)for(var ee=this.colorStops.iterator;ee.next();)Yg(ee.value),this.addColorStop(ee.key,x1(-a,y));return this};function Bx(a,y,ee){return y=y===void 0||typeof y!="number"?.2:y,ee=ee===void 0?w1:ee,Yg(a),x1(-y,ee)}function D2(a,y,ee){Yg(a),a=kl.j;var ne=kl.u,se=kl.o,ue=kl.F;return Yg(y),ee===void 0&&(ee=.5),"rgba("+Math.round((kl.j-a)*ee+a)+", "+Math.round((kl.u-ne)*ee+ne)+", "+Math.round((kl.o-se)*ee+se)+", "+Math.round((kl.F-ue)*ee+ue)+")"}It.Gx=function(){if(this.type===Op)return Rx(this.color);if((this.type===H0||this.type===eg)&&this.colorStops!==null){var a=this.colorStops;if(this.type===eg)return Rx(a.first().value);if(a.get(.5)!==null)return Rx(a.get(.5));if(a.count===2)return a=a.Fa(),Rx(D2(a[0].value,a[1].value));for(var y=a.iterator,ee=-1,ne=-1,se=1,ue=1;y.next();){var me=y.key,be=Math.abs(.5-y.key);se>ue&&be<se?(ee=me,se=be):ue>=se&&be<ue&&(ne=me,ue=be)}return ee>ne&&(ue=ee,ee=ne,ne=ue,ue=se),se=ne-ee,Rx(D2(a.get(ee),a.get(ne),1-ue/se))}return!1};function Rx(a){return a?a instanceof il?a.Gx():(Yg(a),128>(299*kl.j+587*kl.u+114*kl.o)/1e3):!1}function x1(a,y){switch(y){case w1:y=100*I2(kl.j);var ee=100*I2(kl.u),ne=100*I2(kl.o);return cd.j=.4124564*y+.3575761*ee+.1804375*ne,cd.u=.2126729*y+.7151522*ee+.072175*ne,cd.o=.0193339*y+.119192*ee+.9503041*ne,cd.F=kl.F,y=ew(cd.j/kx[0]),ee=ew(cd.u/kx[1]),ne=ew(cd.o/kx[2]),u0.j=116*ee-16,u0.u=500*(y-ee),u0.o=200*(ee-ne),u0.F=cd.F,u0.j=Math.min(100,Math.max(0,u0.j+100*a)),a=(u0.j+16)/116,y=a-u0.o/200,cd.j=kx[0]*O2(u0.u/500+a),cd.u=kx[1]*(u0.j>tw*B2?Math.pow(a,3):u0.j/tw),cd.o=kx[2]*O2(y),cd.F=u0.F,a=-.969266*cd.j+1.8760108*cd.u+.041556*cd.o,y=.0556434*cd.j+-.2040259*cd.u+1.0572252*cd.o,kl.j=255*sA((3.2404542*cd.j+-1.5371385*cd.u+-.4985314*cd.o)/100),kl.u=255*sA(a/100),kl.o=255*sA(y/100),kl.F=cd.F,kl.j=Math.round(kl.j),255<kl.j?kl.j=255:0>kl.j&&(kl.j=0),kl.u=Math.round(kl.u),255<kl.u?kl.u=255:0>kl.u&&(kl.u=0),kl.o=Math.round(kl.o),255<kl.o?kl.o=255:0>kl.o&&(kl.o=0),"rgba("+kl.j+", "+kl.u+", "+kl.o+", "+kl.F+")";case AT:return aA(),Lf.o=Math.min(100,Math.max(0,Lf.o+100*a)),"hsla("+Lf.j+", "+Lf.u+"%, "+Lf.o+"%, "+Lf.F+")";default:cn("Unknown color space: "+y)}}function Yg(a){Fx||(N2(),Fx=!0);var y=A1;if(y!==null){y.clearRect(0,0,1,1),y.fillStyle="#000000";var ee=y.fillStyle;y.fillStyle=a,y.fillStyle!==ee?(y.fillRect(0,0,1,1),a=y.getImageData(0,0,1,1).data,kl.j=a[0],kl.u=a[1],kl.o=a[2],kl.F=a[3]/255):(y.fillStyle="#FFFFFF",y.fillStyle=a,kl.j=0,kl.u=0,kl.o=0,kl.F=1)}}function aA(){var a=kl.j/255,y=kl.u/255,ee=kl.o/255,ne=Math.max(a,y,ee),se=Math.min(a,y,ee),ue=ne-se;if(se=(ne+se)/2,ue===0)var me=a=0;else{switch(ne){case a:me=(y-ee)/ue%6;break;case y:me=(ee-a)/ue+2;break;case ee:me=(a-y)/ue+4}me*=60,0>me&&(me+=360),a=ue/(1-Math.abs(2*se-1))}Lf.j=Math.round(me),Lf.u=Math.round(100*a),Lf.o=Math.round(100*se),Lf.F=kl.F}function I2(a){return a/=255,.04045>=a?a/12.92:Math.pow((a+.055)/1.055,2.4)}function sA(a){return .0031308>=a?12.92*a:1.055*Math.pow(a,1/2.4)-.055}function ew(a){return a>B2?Math.pow(a,1/3):(tw*a+16)/116}function O2(a){var y=a*a*a;return y>B2?y:(116*a-16)/tw}function E1(a,y){typeof a!="string"&&(a instanceof il||cn("Value for "+y+" must be a color string or a Brush, not "+a))}function N2(){A1=bu?new wg(null,void 0,{willReadFrequently:!0}).context:null}Re.Object.defineProperties(il.prototype,{type:{get:function(){return this.na},set:function(a){this._isFrozen&&Yn(this,a),this.na=a,this.start.Mc()&&(a===H0?this.start=Rh:a===eg&&(this.start=us)),this.end.Mc()&&(a===H0?this.end=rh:a===eg&&(this.end=us)),this.xe=null}},color:{get:function(){return this.xk},set:function(a){this._isFrozen&&Yn(this,a),this.xk=a,this.xe=null}},start:{get:function(){return this.Qd},set:function(a){this._isFrozen&&Yn(this,a),this.Qd=a.J(),this.xe=null}},end:{get:function(){return this.Lk},set:function(a){this._isFrozen&&Yn(this,a),this.Lk=a.J(),this.xe=null}},startRadius:{get:function(){return this.Gr},set:function(a){this._isFrozen&&Yn(this,a),0>a&&ir(a,">= zero",il,"startRadius"),this.Gr=a,this.xe=null}},endRadius:{get:function(){return this.Xp},set:function(a){this._isFrozen&&Yn(this,a),0>a&&ir(a,">= zero",il,"endRadius"),this.Xp=a,this.xe=null}},colorStops:{get:function(){return this.we},set:function(a){this._isFrozen&&Yn(this,a),this.we=a,this.xe=null}},pattern:{get:function(){return this.cr},set:function(a){this._isFrozen&&Yn(this,a),this.cr=a,this.xe=null}}}),il.prototype.isDark=il.prototype.Gx,il.prototype.darkenBy=il.prototype.Wy,il.prototype.lightenBy=il.prototype.Vz,il.prototype.addColorStop=il.prototype.addColorStop;var B2=216/24389,tw=24389/27,kx=[95.047,100,108.883],A1=null,kl=new hy,Lf=new hy,cd=new hy,u0=new hy,Fx=!1;il.className="Brush";var Op;il.Solid=Op=new nr(il,"Solid",0);var H0;il.Linear=H0=new nr(il,"Linear",1);var eg;il.Radial=eg=new nr(il,"Radial",2);var S1;il.Pattern=S1=new nr(il,"Pattern",4);var w1;il.Lab=w1=new nr(il,"Lab",5);var AT;il.HSL=AT=new nr(il,"HSL",6),il.randomColor=function(a,y){a===void 0&&(a=128),y===void 0&&(y=Math.max(a,255));var ee=Math.abs(y-a);y=Math.floor(a+Math.random()*ee).toString(16);var ne=Math.floor(a+Math.random()*ee).toString(16);return a=Math.floor(a+Math.random()*ee).toString(16),2>y.length&&(y="0"+y),2>ne.length&&(ne="0"+ne),2>a.length&&(a="0"+a),"#"+y+ne+a},il.isValidColor=function(a){if(a==="black")return!0;if(a==="")return!1;Fx||(N2(),Fx=!0);var y=A1;if(y===null)return!0;y.fillStyle="#000000";var ee=y.fillStyle;return y.fillStyle=a,y.fillStyle!==ee?!0:(y.fillStyle="#FFFFFF",ee=y.fillStyle,y.fillStyle=a,y.fillStyle!==ee)},il.lighten=function(a){return T2(a)},il.lightenBy=T2,il.darken=function(a){return Bx(a)},il.darkenBy=Bx,il.mix=D2,il.isDark=Rx;function gc(){this.xa="Base"}gc.prototype.measure=function(){},gc.prototype.Yz=function(a,y,ee,ne,se){a.measure(y,ee,ne,se)},gc.prototype.arrange=function(){},gc.prototype.Ly=function(a,y,ee,ne,se,ue){a.arrange(y,ee,ne,se,ue)},gc.prototype.iA=function(a){a.Uj()},gc.prototype.gc=function(){},Re.Object.defineProperties(gc.prototype,{name:{get:function(){return this.xa},set:function(a){this.xa=a}},classType:{get:function(){return bi}}}),gc.prototype.remeasureObject=gc.prototype.iA,gc.prototype.arrangeElement=gc.prototype.Ly,gc.prototype.measureElement=gc.prototype.Yz,gc.className="PanelLayout";function nw(){this.xa="Base"}He(nw,gc),nw.prototype.measure=function(a,y,ee,ne,se,ue,me){var be=ne.length;a=V0(a);for(var Fe=0;Fe<be;Fe++){var Ye=ne[Fe];if(Ye.visible||Ye===a){var Je=Ye.margin,st=Je.right+Je.left;Je=Je.top+Je.bottom,Ye.measure(y,ee,ue,me);var yt=Ye.measuredBounds;st=Math.max(yt.width+st,0),Je=Math.max(yt.height+Je,0),yt=Ye.position.x;var Tt=Ye.position.y;isFinite(yt)||(yt=0),isFinite(Tt)||(Tt=0),Ye instanceof Ua&&Ye.isGeometryPositioned&&(Ye=Ye.strokeWidth/2,yt-=Ye,Tt-=Ye),Hs(se,yt,Tt,st,Je)}}},nw.prototype.arrange=function(a,y,ee){var ne=y.length,se=a.padding;for(a=ee.x-se.left,ee=ee.y-se.top,se=0;se<ne;se++){var ue=y[se],me=ue.measuredBounds,be=ue.margin,Fe=ue.position.x,Ye=ue.position.y;if(Fe=isNaN(Fe)?-a:Fe-a,Ye=isNaN(Ye)?-ee:Ye-ee,ue instanceof Ua&&ue.isGeometryPositioned){var Je=ue.strokeWidth/2;Fe-=Je,Ye-=Je}ue.visible&&ue.arrange(Fe+be.left,Ye+be.top,me.width,me.height)}};function rw(){this.xa="Base"}He(rw,gc),rw.prototype.measure=function(a,y,ee,ne,se,ue,me){var be=ne.length;y=pr(),ue=V0(a);for(var Fe=0;Fe<be;Fe++){var Ye=ne[Fe];if(Ye.visible||Ye===ue){var Je=wd(Ye,!1);if(Je!==fi&&Je!==Ro)y.push(Ye);else{Ye.measure(1/0,ee,0,me),Je=Ye.margin,Ye=Ye.measuredBounds;var st=Math.max(Ye.height+Je.top+Je.bottom,0);se.width+=Math.max(Ye.width+Je.right+Je.left,0),se.height=Math.max(se.height,st)}}}for(ne=y.length,a.desiredSize.height?ee=Math.min(a.desiredSize.height,a.maxSize.height):se.height!==0&&(ee=Math.min(se.height,a.maxSize.height)),a=0;a<ne;a++)Fe=y[a],(Fe.visible||Fe===ue)&&(Je=Fe.margin,be=Je.right+Je.left,Je=Je.top+Je.bottom,Fe.measure(1/0,ee,0,me),Fe=Fe.measuredBounds,Je=Math.max(Fe.height+Je,0),se.width+=Math.max(Fe.width+be,0),se.height=Math.max(se.height,Je));Mr(y)},rw.prototype.arrange=function(a,y,ee){for(var ne=y.length,se=a.padding,ue=se.top,me=a.isOpposite,be=me?ee.width:se.left,Fe=0;Fe<ne;Fe++){var Ye=ue,Je=y[Fe];if(Je.visible){var st=Je.measuredBounds,yt=Je.margin,Tt=yt.top+yt.bottom,Ft=ue+se.bottom,Zt=st.height,bn=wd(Je,!1);(isNaN(Je.desiredSize.height)&&bn===Si||bn===ea)&&(Zt=Math.max(ee.height-Tt-Ft,0)),Tt=Zt+Tt+Ft,Ft=Je.alignment,Ft.Xb()&&(Ft=a.defaultAlignment),Ft.sb()||(Ft=us),me&&(be-=st.width+yt.left+yt.right),Je.arrange(be+Ft.offsetX+yt.left,Ye+Ft.offsetY+yt.top+(ee.height*Ft.y-Tt*Ft.y),st.width,Zt),me||(be+=st.width+yt.left+yt.right)}}};function iw(){this.xa="Base"}He(iw,gc),iw.prototype.measure=function(a,y,ee,ne,se,ue){var me=ne.length;ee=pr();for(var be=V0(a),Fe=0;Fe<me;Fe++){var Ye=ne[Fe];if(Ye.visible||Ye===be){var Je=wd(Ye,!1);if(Je!==fi&&Je!==ea)ee.push(Ye);else{var st=Ye.margin;Je=st.right+st.left,st=st.top+st.bottom,Ye.measure(y,1/0,ue,0),Ye=Ye.measuredBounds,Su(se,Math.max(se.width,Math.max(Ye.width+Je,0)),se.height+Math.max(Ye.height+st,0))}}}if(ne=ee.length,ne!==0){for(a.desiredSize.width?y=Math.min(a.desiredSize.width,a.maxSize.width):se.width!==0&&(y=Math.min(se.width,a.maxSize.width)),a=0;a<ne;a++)Fe=ee[a],(Fe.visible||Fe===be)&&(Ye=Fe.margin,me=Ye.right+Ye.left,Ye=Ye.top+Ye.bottom,Fe.measure(y,1/0,ue,0),Fe=Fe.measuredBounds,Ye=Math.max(Fe.height+Ye,0),se.width=Math.max(se.width,Math.max(Fe.width+me,0)),se.height+=Ye);Mr(ee)}},iw.prototype.arrange=function(a,y,ee){for(var ne=y.length,se=a.padding,ue=se.left,me=a.isOpposite,be=me?ee.height:se.top,Fe=0;Fe<ne;Fe++){var Ye=ue,Je=y[Fe];if(Je.visible){var st=Je.measuredBounds,yt=Je.margin,Tt=yt.left+yt.right,Ft=ue+se.right,Zt=st.width,bn=wd(Je,!1);(isNaN(Je.desiredSize.width)&&bn===Si||bn===Ro)&&(Zt=Math.max(ee.width-Tt-Ft,0)),Tt=Zt+Tt+Ft,Ft=Je.alignment,Ft.Xb()&&(Ft=a.defaultAlignment),Ft.sb()||(Ft=us),me&&(be-=st.height+yt.bottom+yt.top),Je.arrange(Ye+Ft.offsetX+yt.left+(ee.width*Ft.x-Tt*Ft.x),be+Ft.offsetY+yt.top,Zt,st.height),me||(be+=st.height+yt.bottom+yt.top)}}};function ow(){this.xa="Base"}He(ow,gc),ow.prototype.measure=function(a,y,ee,ne,se,ue,me){var be=ne.length,Fe=a.Pb(),Ye=Fe.margin,Je=Ye.right+Ye.left,st=Ye.top+Ye.bottom;Fe.measure(y,ee,ue,me);var yt=Fe.measuredBounds;ue=yt.width,me=yt.height;var Tt=Math.max(ue+Je,0),Ft=Math.max(me+st,0),Zt=a.isClipping,bn=Ur.allocAt(-Ye.left,-Ye.top,Tt,Ft),fn=Ur.allocAt(0,0,ue,me);R2(Fe,fn,!0),ue=fn.width,me=fn.height;for(var Fn=!0,zn=V0(a),Zn=0;Zn<be;Zn++){var sr=ne[Zn];yt=y;var Br=ee;if(sr!==Fe&&(sr.visible||sr===zn)){Ye=sr.margin;var Hi=Ye.left,uo=Ye.top;switch(Tt=Ye.right+Ye.left,Ft=Ye.top+Ye.bottom,Ye=wd(sr,!1),Ye){case Si:yt=ue,Br=me,uo=Hi=Ft=Tt=0;break;case Ro:yt=ue,Hi=Tt=0;break;case ea:Br=me,uo=Ft=0}sr.measure(yt,Br,0,0),yt=sr.measuredBounds,Tt=Math.max(yt.width+Tt,0),Ft=Math.max(yt.height+Ft,0),Ye=sr.alignment,Ye.Xb()&&(Ye=a.defaultAlignment),Ye.sb()||(Ye=us);var no=sr.alignmentFocus;if(no.Xb()&&(no=us),Br=null,sr instanceof bi&&sr.$e!==""&&(Br=sr.fb(sr.$e),Br===sr&&(Br=null)),Hi=fn.x-Hi,uo=fn.y-uo,Br!==null){for(sr.arrange(0,0,yt.width,yt.height),yt=Br.actualBounds,yt=yn.allocAt(yt.x+(no.x*yt.width-no.offsetX),yt.y+(no.y*yt.height-no.offsetY)),Br=Br.panel;Br!==sr;)Br.transform.Ga(yt),Br=Br.panel;Hi+=Ye.x*ue+Ye.offsetX-yt.x,uo+=Ye.y*me+Ye.offsetY-yt.y,yn.free(yt)}else Hi+=Ye.x*ue+Ye.offsetX-(no.x*yt.width+no.offsetX),uo+=Ye.y*me+Ye.offsetY-(no.y*yt.height+no.offsetY);Fn?(Fn=!1,se.h(Hi,uo,Tt,Ft)):Hs(se,Hi,uo,Tt,Ft)}}switch(Fn?se.assign(bn):Zt?se.Uu(fn.x,fn.y,fn.width,fn.height):Hs(se,bn.x,bn.y,bn.width,bn.height),Ur.free(bn),Ur.free(fn),Ye=Fe.stretch,Ye===Na&&(Ye=wd(Fe,!1)),Ye){case fi:return;case Si:if(!isFinite(y)&&!isFinite(ee))return;break;case Ro:if(!isFinite(y))return;break;case ea:if(!isFinite(ee))return}for(yt=Fe.measuredBounds,ue=yt.width,me=yt.height,Tt=Math.max(ue+Je,0),Ft=Math.max(me+st,0),Ye=Fe.margin,fn=Ur.allocAt(-Ye.left,-Ye.top,Tt,Ft),R2(Fe,fn,!0),ue=fn.width,me=fn.height,y=0;y<be;y++)ee=ne[y],ee===Fe||!ee.visible&&ee!==zn||(Ye=ee.margin,Tt=Ye.right+Ye.left,Ft=Ye.top+Ye.bottom,yt=ee.measuredBounds,Tt=Math.max(yt.width+Tt,0),Ft=Math.max(yt.height+Ft,0),Je=ee.alignment,Je.Xb()&&(Je=a.defaultAlignment),Je.sb()||(Je=us),ee=ee.alignmentFocus,ee.Xb()&&(ee=us),Fn?(Fn=!1,se.h(Je.x*ue+Je.offsetX-(ee.x*yt.width+ee.offsetX)-Ye.left,Je.y*me+Je.offsetY-(ee.y*yt.height+ee.offsetY)-Ye.top,Tt,Ft)):Hs(se,Je.x*ue+Je.offsetX-(ee.x*yt.width+ee.offsetX)-Ye.left,Je.y*me+Je.offsetY-(ee.y*yt.height+ee.offsetY)-Ye.top,Tt,Ft));Fn?se.assign(bn):Zt?se.Uu(fn.x,fn.y,fn.width,fn.height):Hs(se,bn.x,bn.y,bn.width,bn.height),Ur.free(fn)},ow.prototype.arrange=function(a,y,ee){var ne=y.length,se=a.Pb(),ue=se.measuredBounds,me=ue.width,be=ue.height,Fe=a.padding;ue=Fe.left,Fe=Fe.top;var Ye=ue-ee.x,Je=Fe-ee.y;for(se.arrange(Ye,Je,me,be),me=Ur.allocAt(0,0,me,be),R2(se,me,!1),be=0;be<ne;be++){var st=y[be];if(st!==se){Ye=st.measuredBounds;var yt=Ye.width,Tt=Ye.height;Je=st.alignment,Je.Xb()&&(Je=a.defaultAlignment),Je.sb()||(Je=us);var Ft=st.alignmentFocus;if(Ft.Xb()&&(Ft=us),Ye=null,st instanceof bi&&st.$e!==""&&(Ye=st.fb(st.$e),Ye===st&&(Ye=null)),Ye!==null){var Zt=Ye.actualBounds;for(Ft=yn.allocAt(Zt.x+(Ft.x*Zt.width-Ft.offsetX),Zt.y+(Ft.y*Zt.height-Ft.offsetY)),Ye=Ye.panel;Ye!==st;)Ye.transform.Ga(Ft),Ye=Ye.panel;Ye=Je.x*me.width+Je.offsetX-Ft.x,Je=Je.y*me.height+Je.offsetY-Ft.y,yn.free(Ft)}else Ye=Je.x*me.width+Je.offsetX-(Ft.x*yt+Ft.offsetX),Je=Je.y*me.height+Je.offsetY-(Ft.y*Tt+Ft.offsetY);Ye+=me.x-ee.x,Je+=me.y-ee.y,st.visible&&st.arrange(ue+Ye,Fe+Je,yt,Tt)}}Ur.free(me)};function R2(a,y,ee){var ne=null;if(a instanceof bi&&a.$e!==""&&(ne=a.fb(a.$e),ne===a&&(ne=null)),ne!==null)for(ee&&a.arrange(0,0,y.width,y.height),y.assign(ne.actualBounds),ne=ne.panel;ne!==a;)ne.transform.pp(y),ne=ne.panel}function aw(){this.xa="Base"}He(aw,gc),aw.prototype.measure=function(a,y,ee,ne,se,ue,me){var be=ne.length,Fe=a.Pb(),Ye=Fe.margin,Je=y,st=ee,yt=Ye.right+Ye.left,Tt=Ye.top+Ye.bottom;Fe.measure(y,ee,ue,me),Ye=Fe.measuredBounds;var Ft=0,Zt=null;Fe instanceof Ua&&(Zt=Fe,Ft=Zt.strokeWidth*Zt.scale);var bn=Math.max(Ye.width+yt,0);Ye=Math.max(Ye.height+Tt,0);var fn=_2(Fe),Fn=fn.x*bn+fn.offsetX;fn=fn.y*Ye+fn.offsetY;var zn=z2(Fe),Zn=zn.x*bn+zn.offsetX;for(zn=zn.y*Ye+zn.offsetY,isFinite(y)&&(Je=Math.max(Math.abs(Fn-Zn)-Ft,0)),isFinite(ee)&&(st=Math.max(Math.abs(fn-zn)-Ft,0)),Ft=Ii.alloc(),Ft.h(0,0),a=V0(a),zn=0;zn<be;zn++)fn=ne[zn],fn===Fe||!fn.visible&&fn!==a||(Ye=fn.margin,bn=Ye.right+Ye.left,Fn=Ye.top+Ye.bottom,fn.measure(Je,st,0,0),Ye=fn.measuredBounds,bn=Math.max(Ye.width+bn,0),Ye=Math.max(Ye.height+Fn,0),Ft.h(Math.max(bn,Ft.width),Math.max(Ye,Ft.height)));if(be===1)se.width=bn,se.height=Ye,Ii.free(Ft);else{switch(fn=_2(Fe),zn=z2(Fe),be=ne=0,zn.x!==fn.x&&zn.y!==fn.y&&(ne=Ft.width/Math.abs(zn.x-fn.x),be=Ft.height/Math.abs(zn.y-fn.y)),Ii.free(Ft),Ft=0,Zt!==null&&(Ft=Zt.strokeWidth*Zt.scale,xw(Zt)===Mo&&(ne=be=Math.max(ne,be))),ne+=Math.abs(fn.offsetX)+Math.abs(zn.offsetX)+Ft,be+=Math.abs(fn.offsetY)+Math.abs(zn.offsetY)+Ft,Zt=Fe.stretch,Zt===Na&&(Zt=wd(Fe,!1)),Zt){case fi:me=ue=0;break;case Si:isFinite(y)&&(ne=y),isFinite(ee)&&(be=ee);break;case Ro:isFinite(y)&&(ne=y),me=0;break;case ea:ue=0,isFinite(ee)&&(be=ee)}Fe.Uj(),Fe.measure(ne,be,ue,me),se.width=Fe.measuredBounds.width+yt,se.height=Fe.measuredBounds.height+Tt}},aw.prototype.arrange=function(a,y){var ee=y.length,ne=a.Pb(),se=ne.measuredBounds,ue=Ur.alloc();ue.h(0,0,1,1);var me=ne.margin,be=me.left;me=me.top;var Fe=a.padding,Ye=Fe.left;Fe=Fe.top,ne.arrange(Ye+be,Fe+me,se.width,se.height);var Je=_2(ne),st=z2(ne),yt=Je.y*se.height+Je.offsetY,Tt=st.x*se.width+st.offsetX;for(st=st.y*se.height+st.offsetY,ue.x=Je.x*se.width+Je.offsetX,ue.y=yt,Hs(ue,Tt,st,0,0),ue.x+=be+Ye,ue.y+=me+Fe,se=0;se<ee;se++)be=y[se],be!==ne&&(Ye=be.measuredBounds,me=be.margin,Fe=Math.max(Ye.width+me.right+me.left,0),Je=Math.max(Ye.height+me.top+me.bottom,0),yt=be.alignment,yt.Xb()&&(yt=a.defaultAlignment),yt.sb()||(yt=us),Fe=ue.width*yt.x+yt.offsetX-Fe*yt.x+me.left+ue.x,me=ue.height*yt.y+yt.offsetY-Je*yt.y+me.top+ue.y,be.visible&&(Al(ue.x,ue.y,ue.width,ue.height,Fe,me,Ye.width,Ye.height)?be.arrange(Fe,me,Ye.width,Ye.height):be.arrange(Fe,me,Ye.width,Ye.height,new Ur(ue.x,ue.y,ue.width,ue.height))));Ur.free(ue)};function sw(){this.xa="Base",this.name="Table"}He(sw,gc),sw.prototype.measure=function(a,y,ee,ne,se){for(var ue=ne.length,me=pr(),be=pr(),Fe=0;Fe<ue;Fe++){var Ye=ne[Fe],Je=Ye instanceof bi?Ye:null;if(Je!==null&&K0(Je)&&Ye.visible){be.push(Je);for(var st=Je.O.s,yt=st.length,Tt=0;Tt<yt;Tt++){var Ft=st[Tt];Je.type===bi.TableRow?Ft.row=Ye.row:Je.type===bi.TableColumn&&(Ft.column=Ye.column),me.push(Ft)}}else me.push(Ye)}ue=me.length,ue===0&&(a.Fb(0),a.Eb(0));for(var Zt=[],bn=0;bn<ue;bn++){var fn=me[bn];fn.visible&&(hc(fn,!0),a0(fn,!0),Zt[fn.row]||(Zt[fn.row]=[]),Zt[fn.row][fn.column]||(Zt[fn.row][fn.column]=[]),Zt[fn.row][fn.column].push(fn))}Mr(me);var Fn=pr(),zn=pr(),Zn=pr(),sr={count:0},Br={count:0},Hi=y,uo=ee,no=a.rowDefs,Li=a.colDefs,ci=null;ue=no.length;for(var La=0;La<ue;La++)ci=no[La],ci!==void 0&&(ci.actual=0);ue=Li.length;for(var Ea=0;Ea<ue;Ea++)ci=Li[Ea],ci!==void 0&&(ci.actual=0);for(var ks=Zt.length,dl=0,sc=0;sc<ks;sc++)Zt[sc]&&(dl=Math.max(dl,Zt[sc].length));var xc=Math.min(a.topIndex,ks-1),Dh=Math.min(a.leftIndex,dl-1),lc=0;ks=Zt.length;for(var Hp=V0(a),ec=0;ec<ks;ec++)if(Zt[ec]){dl=Zt[ec].length;var Pd=a.Fb(ec);Pd.actual=0;for(var Ih=Pd.oc=0;Ih<dl;Ih++)if(Zt[ec][Ih]){var av=a.Eb(Ih);Fn[Ih]===void 0&&(av.actual=0,av.oc=0,Fn[Ih]=!0);for(var lf=Zt[ec][Ih],lg=lf.length,Yd=0;Yd<lg;Yd++){var Md=lf[Yd];if(Md.visible||Md===Hp){var Uv=1<Md.rowSpan||1<Md.columnSpan;Uv&&(ec<xc||Ih<Dh||zn.push(Md));var $g=Md.margin,Q1=$g.right+$g.left,Xd=$g.top+$g.bottom,Wh=fp(Md,Pd,av,!1),bE=Md.desiredSize,xa=!isNaN(bE.height),mp=!isNaN(bE.width)&&xa;if(Uv||Wh===fi||mp||ec<xc||Ih<Dh||(sr[Ih]!==void 0||Wh!==Si&&Wh!==Ro||(sr[Ih]=-1,sr.count++),Br[ec]!==void 0||Wh!==Si&&Wh!==ea||(Br[ec]=-1,Br.count++),Zn.push(Md)),Md.measure(1/0,1/0,0,0),!(ec<xc||Ih<Dh)){var Ld=Md.measuredBounds,jm=Math.max(Ld.width+Q1,0),Td=Math.max(Ld.height+Xd,0);if(Md.rowSpan===1&&(Wh===fi||Wh===Ro)){ci=a.Fb(ec);var Wm=ci.Wc();lc=Math.max(Td-ci.actual,0),lc+Wm>uo&&(lc=Math.max(uo-Wm,0));var J1=ci.oa===0;ci.oc=ci.oc+lc,ci.actual=ci.oa+lc,uo=Math.max(uo-(lc+(J1?Wm:0)),0)}if(Md.columnSpan===1&&(Wh===fi||Wh===ea)){ci=a.Eb(Ih);var jy=ci.Wc();lc=Math.max(jm-ci.actual,0),lc+jy>Hi&&(lc=Math.max(Hi-jy,0));var gS=ci.oa===0;ci.oc=ci.oc+lc,ci.actual=ci.oa+lc,Hi=Math.max(Hi-(lc+(gS?jy:0)),0)}Uv&&Md.Uj()}}}}}Mr(Fn);var Vp=0,au=0;ue=a.columnCount;for(var Wy=0;Wy<ue;Wy++){var uf=Li[Wy];uf!==void 0&&(Vp+=isNaN(uf.Hc)?uf.oc:uf.Hc,uf.oc!==0&&(Vp+=uf.Wc()))}ue=a.rowCount;for(var sv=0;sv<ue;sv++){var Gv=no[sv];Gv!==void 0&&(au+=isNaN(Gv.Hc)?Gv.oc:Gv.Hc,Gv.oc!==0&&(au+=Gv.Wc()))}Hi=Math.max(y-Vp,0);var Zu=uo=Math.max(ee-au,0),cf=Hi;ue=Zn.length;for(var Dd=0;Dd<ue;Dd++){var Ng=Zn[Dd],Um=a.Fb(Ng.row),p0=a.Eb(Ng.column),Oh=Ng.measuredBounds,ep=Ng.margin,Kp=ep.right+ep.left,Ff=ep.top+ep.bottom;sr[Ng.column]=p0.oc===0&&sr[Ng.column]!==void 0?Math.max(Oh.width+Kp,sr[Ng.column]):null,Br[Ng.row]=Um.oc===0&&Br[Ng.row]!==void 0?Math.max(Oh.height+Ff,Br[Ng.row]):null}var Uy=0,Zp=0,Bg;for(Bg in Br)Bg!=="count"&&(Uy+=Br[Bg]);for(Bg in sr)Bg!=="count"&&(Zp+=sr[Bg]);for(var Pu=Ii.alloc(),PE=0;PE<ue;PE++){var zc=Zn[PE];if(zc.visible||zc===Hp){var tc=a.Fb(zc.row),Ch=a.Eb(zc.column),Qc=0;isFinite(Ch.width)?Qc=Ch.width:(isFinite(Hi)&&sr[zc.column]!==null?Zp===0?Qc=Ch.actual+Hi:Qc=sr[zc.column]/Zp*cf:sr[zc.column]!==null?Qc=Hi:Qc=Ch.actual||Hi,Qc=Math.max(0,Qc-Ch.Wc()));var lv=0;switch(isFinite(tc.height)?lv=tc.height:(isFinite(uo)&&Br[zc.row]!==null?Uy===0?lv=tc.actual+uo:lv=Br[zc.row]/Uy*Zu:Br[zc.row]!==null?lv=uo:lv=tc.actual||uo,lv=Math.max(0,lv-tc.Wc())),Pu.h(Math.max(Ch.minimum,Math.min(Qc,Ch.maximum)),Math.max(tc.minimum,Math.min(lv,tc.maximum))),Wh=fp(zc,tc,Ch,!1),Wh){case Ro:Pu.height=Math.max(Pu.height,tc.actual+uo);break;case ea:Pu.width=Math.max(Pu.width,Ch.actual+Hi)}var tp=zc.margin,TC=tp.right+tp.left,DC=tp.top+tp.bottom;zc.Uj(),zc.measure(Pu.width,Pu.height,Ch.minimum,tc.minimum);var Gy=zc.measuredBounds,Hv=Math.max(Gy.width+TC,0),Gm=Math.max(Gy.height+DC,0);isFinite(Hi)&&(Hv=Math.min(Hv,Pu.width)),isFinite(uo)&&(Gm=Math.min(Gm,Pu.height));var Id=0;Id=tc.actual,tc.actual=Math.max(tc.actual,Gm),tc.oc=Math.max(tc.oc,Gm),lc=tc.actual-Id,uo=Math.max(uo-lc,0),Br[zc.row]===null&&(Zu=Math.max(Zu-lc,0)),Id=Ch.actual,Ch.actual=Math.max(Ch.actual,Hv),Ch.oc=Math.max(Ch.oc,Hv),lc=Ch.actual-Id,Hi=Math.max(Hi-lc,0),sr[zc.column]===null&&(cf=Math.max(cf-lc,0))}}Mr(Zn);var v0=Ii.alloc(),Rg=pr(),ug=pr();if(ue=zn.length,ue!==0){for(var gd=0;gd<ks;gd++)if(Zt[gd]){dl=Zt[gd].length;var Hy=a.Fb(gd);Rg[gd]=Hy.actual;for(var Vv=0;Vv<dl;Vv++)if(Zt[gd][Vv]){var pS=a.Eb(Vv);ug[Vv]=pS.actual}}}for(var Kv=0;Kv<ue;Kv++){var pu=zn[Kv];if(pu.visible||pu===Hp){var _f=a.Fb(pu.row),zf=a.Eb(pu.column);switch(Pu.h(Math.max(zf.minimum,Math.min(y,zf.maximum)),Math.max(_f.minimum,Math.min(ee,_f.maximum))),Wh=fp(pu,_f,zf,!1),Wh){case Si:ug[zf.index]!==0&&(Pu.width=Math.min(Pu.width,ug[zf.index])),Rg[_f.index]!==0&&(Pu.height=Math.min(Pu.height,Rg[_f.index]));break;case Ro:ug[zf.index]!==0&&(Pu.width=Math.min(Pu.width,ug[zf.index]));break;case ea:Rg[_f.index]!==0&&(Pu.height=Math.min(Pu.height,Rg[_f.index]))}isFinite(zf.width)&&(Pu.width=zf.width),isFinite(_f.height)&&(Pu.height=_f.height),v0.h(0,0);for(var q1=zf.minimum,pd=_f.minimum,uv=1;uv<pu.rowSpan&&!(pu.row+uv>=a.rowCount);uv++)ci=a.Fb(pu.row+uv),lc=0,lc=Wh===Si||Wh===ea?Math.max(ci.minimum,Rg[pu.row+uv]===0?ci.maximum:Math.min(Rg[pu.row+uv],ci.maximum)):Math.max(ci.minimum,isNaN(ci.Hc)?ci.maximum:Math.min(ci.Hc,ci.maximum)),v0.height+=lc,pd+=ci.minimum;for(var jf=1;jf<pu.columnSpan&&!(pu.column+jf>=a.columnCount);jf++)ci=a.Eb(pu.column+jf),lc=0,lc=Wh===Si||Wh===Ro?Math.max(ci.minimum,ug[pu.column+jf]===0?ci.maximum:Math.min(ug[pu.column+jf],ci.maximum)):Math.max(ci.minimum,isNaN(ci.Hc)?ci.maximum:Math.min(ci.Hc,ci.maximum)),v0.width+=lc,q1+=ci.minimum;Pu.width+=v0.width,Pu.height+=v0.height;var ME=pu.margin,cv=ME.right+ME.left,vS=ME.top+ME.bottom;pu.measure(Pu.width,Pu.height,q1,pd);for(var LE=pu.measuredBounds,cg=Math.max(LE.width+cv,0),hg=Math.max(LE.height+vS,0),Hm=0,TE=0;TE<pu.rowSpan&&!(pu.row+TE>=a.rowCount);TE++)ci=a.Fb(pu.row+TE),Hm+=ci.total||0;if(Hm<hg){var Zv=hg-Hm,Yp=hg-Hm;if(pu.spanAllocation!==null)for(var Yv=pu.spanAllocation,m0=0;m0<pu.rowSpan&&!(0>=Zv)&&!(pu.row+m0>=a.rowCount);m0++){ci=a.Fb(pu.row+m0);var Xv=ci.oa||0,hv=Yv(pu,ci,Yp);ci.actual=Math.min(ci.maximum,Xv+hv),ci.oa!==Xv&&(Zv-=ci.oa-Xv)}for(;0<Zv;){var dg=ci.oa||0;if(isNaN(ci.height)&&ci.maximum>dg&&(ci.actual=Math.min(ci.maximum,dg+Zv),ci.oa!==dg&&(Zv-=ci.oa-dg)),ci.index===0)break;ci=a.Fb(ci.index-1)}}for(var $1=0,Xp=0;Xp<pu.columnSpan&&!(pu.column+Xp>=a.columnCount);Xp++)ci=a.Eb(pu.column+Xp),$1+=ci.total||0;if($1<cg){var Qv=cg-$1,IC=cg-$1;if(pu.spanAllocation!==null)for(var y0=pu.spanAllocation,Vm=0;Vm<pu.columnSpan&&!(0>=Qv)&&!(pu.column+Vm>=a.columnCount);Vm++){ci=a.Eb(pu.column+Vm);var DE=ci.oa||0,OC=y0(pu,ci,IC);ci.actual=Math.min(ci.maximum,DE+OC),ci.oa!==DE&&(Qv-=ci.oa-DE)}for(;0<Qv;){var mS=ci.oa||0;if(isNaN(ci.width)&&ci.maximum>mS&&(ci.actual=Math.min(ci.maximum,mS+Qv),ci.oa!==mS&&(Qv-=ci.oa-mS)),ci.index===0)break;ci=a.Eb(ci.index-1)}}}}Mr(zn),Ii.free(v0),Ii.free(Pu),Rg!==void 0&&Mr(Rg),ug!==void 0&&Mr(ug);var x0=0,dv=0,yS=a.desiredSize,NC=a.maxSize;Wh=wd(a,!0);var ex=au=Vp=0,tx=0;ue=a.columnCount;for(var Vy=0;Vy<ue;Vy++)Li[Vy]!==void 0&&(ci=a.Eb(Vy),isFinite(ci.width)?(ex+=ci.width,ex+=ci.Wc()):Dv(ci)===_x?(ex+=ci.oa,ex+=ci.Wc()):ci.oa!==0&&(Vp+=ci.oa,Vp+=ci.Wc()));isFinite(yS.width)?x0=Math.min(yS.width,NC.width):x0=Wh!==fi&&isFinite(y)?y:Vp,x0=Math.max(x0,a.minSize.width),x0=Math.max(x0-ex,0);for(var EP=Vp===0?1:Math.max(x0/Vp,1),xS=0;xS<ue;xS++)Li[xS]!==void 0&&(ci=a.Eb(xS),isFinite(ci.width)||Dv(ci)===_x||(ci.actual=ci.oa*EP),ci.position=se.width,ci.oa!==0&&(se.width+=ci.oa,se.width+=ci.Wc()));ue=a.rowCount;for(var ES=0;ES<ue;ES++)no[ES]!==void 0&&(ci=a.Fb(ES),isFinite(ci.height)?(tx+=ci.height,tx+=ci.Wc()):Dv(ci)===_x?(tx+=ci.oa,tx+=ci.Wc()):ci.oa!==0&&(au+=ci.oa,au+=ci.Wc()));isFinite(yS.height)?dv=Math.min(yS.height,NC.height):dv=Wh!==fi&&isFinite(ee)?ee:au,dv=Math.max(dv,a.minSize.height),dv=Math.max(dv-tx,0);for(var BC=au===0?1:Math.max(dv/au,1),AS=0;AS<ue;AS++)no[AS]!==void 0&&(ci=a.Fb(AS),isFinite(ci.height)||Dv(ci)===_x||(ci.actual=ci.oa*BC),ci.position=se.height,ci.oa!==0&&(se.height+=ci.oa,se.height+=ci.Wc()));ue=be.length;for(var nx=0;nx<ue;nx++){var Km=be[nx],rx=0,ix=0;Km.type===bi.TableRow?(rx=se.width,ci=a.Fb(Km.row),ix=ci.actual):(ci=a.Eb(Km.column),rx=ci.actual,ix=se.height),Km.measuredBounds.h(0,0,rx,ix),hc(Km,!1)}Mr(be),a.inRowsCols=Zt},sw.prototype.arrange=function(a,y,ee){var ne=y.length,se=a.padding,ue=se.left;se=se.top;var me=a.inRowsCols;if(me!==null){for(var be,Fe,Ye=me.length,Je=0,st=0;st<Ye;st++)me[st]&&(Je=Math.max(Je,me[st].length));Fe=a.rowDefs,be=a.colDefs;var yt=st=0,Tt=Math.min(a.topIndex,Ye-1);if(0<Fe.length){for(;Tt!==Ye&&(Fe[Tt]===void 0||Fe[Tt].oa===0);)Tt++;Tt=Math.max(Math.min(Tt,Ye-1),0),st=-Fe[Tt].position}var Ft=Math.min(a.leftIndex,Je-1);if(0<be.length){for(;Ft!==Je&&(be[Ft]===void 0||be[Ft].oa===0);)Ft++;Ft=Math.max(Math.min(Ft,Je-1),0),yt=-be[Ft].position}for(var Zt=0,bn=0;Zt!==Ye&&Fe[Zt]===void 0;)Zt++;for(;bn!==Ye&&be[bn]===void 0;)bn++;Je=a.part,a.Fb(Zt),a.Eb(bn);for(var fn=0;fn<y.length;fn++){var Fn=y[fn];if(Fn instanceof bi&&Fn.visible&&K0(Fn)){if(Fn.type===bi.TableRow){be=a.Fb(Fn.row);var zn=a.Eb(bn)}else be=a.Fb(Zt),zn=a.Eb(Fn.column);Fe=be.position+st+se,be.oa!==0&&(Fe+=be.Io(Math.max(Zt,Tt))),be=zn.position+yt+ue,zn.oa!==0&&(be+=zn.Io(Math.max(bn,Ft))),zn=Fn.measuredBounds,Fn.Uk(),Fn.actualBounds.ka();var Zn=Fn.actualBounds,sr=Ur.allocAt(Zn.x,Zn.y,Zn.width,Zn.height);Zn.x=Fn.type===bi.TableRow?ue:be,Zn.y=Fn.type===bi.TableColumn?se:Fe,Zn.width=zn.width,Zn.height=zn.height,Fn.actualBounds.freeze(),a0(Fn,!1),Ns(sr,Zn)||Je===null||(Je.oh(),Fn.Pn(Je)),Ur.free(sr)}}for(fn=Ii.alloc(),Fn=0;Fn<Ye;Fn++)if(me[Fn]){for(Je=me[Fn].length,zn=a.Fb(Fn),Fe=zn.position+st+se,zn.oa!==0&&(Fe+=zn.Io(Math.max(Zt,Tt))),Zn=0;Zn<Je;Zn++)if(me[Fn][Zn]){sr=a.Eb(Zn),be=sr.position+yt+ue,sr.oa!==0&&(be+=sr.Io(Math.max(bn,Ft)));for(var Br=me[Fn][Zn],Hi=Br.length,uo=0;uo<Hi;uo++){var no=Br[uo],Li=no.measuredBounds;fn.h(0,0);for(var ci=1;ci<no.rowSpan&&!(Fn+ci>=a.rowCount);ci++){var La=a.Fb(Fn+ci);La.oa!==0&&(fn.height+=La.total)}for(ci=1;ci<no.columnSpan&&!(Zn+ci>=a.columnCount);ci++)La=a.Eb(Zn+ci),La.oa!==0&&(fn.width+=La.total);var Ea=sr.oa+fn.width,ks=zn.oa+fn.height;ci=be,La=Fe;var dl=Ea,sc=ks,xc=be,Dh=Fe,lc=Ea,Hp=ks;be+Ea>ee.width&&(lc=Math.max(ee.width-be,0)),Fe+ks>ee.height&&(Hp=Math.max(ee.height-Fe,0));var ec=no.alignment;if(ec.Xb()){ec=a.defaultAlignment,ec.sb()||(ec=us);var Pd=ec.x,Ih=ec.y,av=ec.offsetX;ec=ec.offsetY;var lf=sr.alignment,lg=zn.alignment;lf.sb()&&(Pd=lf.x,av=lf.offsetX),lg.sb()&&(Ih=lg.y,ec=lg.offsetY)}else Pd=ec.x,Ih=ec.y,av=ec.offsetX,ec=ec.offsetY;(isNaN(Pd)||isNaN(Ih))&&(Ih=Pd=.5,ec=av=0),lf=Li.width,lg=Li.height;var Yd=no.margin,Md=Yd.left+Yd.right,Uv=Yd.top+Yd.bottom,$g=fp(no,zn,sr,!1);!isNaN(no.desiredSize.width)||$g!==Si&&$g!==Ro||(lf=Math.max(Ea-Md,0)),!isNaN(no.desiredSize.height)||$g!==Si&&$g!==ea||(lg=Math.max(ks-Uv,0)),Ea=no.maxSize,ks=no.minSize,lf=Math.min(Ea.width,lf),lg=Math.min(Ea.height,lg),lf=Math.max(ks.width,lf),lg=Math.max(ks.height,lg),Ea=lg+Uv,ci+=dl*Pd-(lf+Md)*Pd+av+Yd.left,La+=sc*Ih-Ea*Ih+ec+Yd.top,no.visible&&(Al(xc,Dh,lc,Hp,ci,La,Li.width,Li.height)?no.arrange(ci,La,lf,lg):no.arrange(ci,La,lf,lg,new Ur(xc,Dh,lc,Hp)))}}}for(Ii.free(fn),a=0;a<ne;a++)ee=y[a],ue=ee instanceof bi?ee:null,ue!==null&&K0(ue)&&(ue=ee.actualBounds,ee.naturalBounds.ka(),ee.naturalBounds.h(0,0,ue.width,ue.height),ee.naturalBounds.freeze())}};function lw(){this.xa="Base"}He(lw,gc),lw.prototype.measure=function(){},lw.prototype.arrange=function(){};function uw(){this.xa="Base"}He(uw,gc),uw.prototype.measure=function(){},uw.prototype.arrange=function(){};function cw(){this.xa="Base"}He(cw,gc),cw.prototype.measure=function(a,y,ee,ne,se,ue,me){1<ne.length&&cn("Viewbox Panel cannot contain more than one GraphObject."),ne=ne[0],ne.Ca=1,ne.Uj(),ne.measure(1/0,1/0,ue,me);var be=ne.measuredBounds,Fe=ne.margin,Ye=Fe.right+Fe.left;if(Fe=Fe.top+Fe.bottom,isFinite(y)||isFinite(ee)){var Je=ne.scale,st=be.width;be=be.height;var yt=Math.max(y-Ye,0),Tt=Math.max(ee-Fe,0),Ft=1;a.viewboxStretch===Mo?st!==0&&be!==0&&(Ft=Math.min(yt/st,Tt/be)):st!==0&&be!==0&&(Ft=Math.max(yt/st,Tt/be)),Ft===0&&(Ft=1e-4),ne.Ca*=Ft,Je!==ne.scale&&(hc(ne,!0),ne.measure(1/0,1/0,ue,me))}be=ne.measuredBounds,se.width=isFinite(y)?y:Math.max(be.width+Ye,0),se.height=isFinite(ee)?ee:Math.max(be.height+Fe,0)},cw.prototype.arrange=function(a,y,ee){y=y[0];var ne=y.measuredBounds,se=y.margin,ue=Math.max(ne.width+(se.right+se.left),0);se=Math.max(ne.height+(se.top+se.bottom),0);var me=y.alignment;me.Xb()&&(me=a.defaultAlignment),me.sb()||(me=us),y.arrange(ee.width*me.x-ue*me.x+me.offsetX,ee.height*me.y-se*me.y+me.offsetY,ne.width,ne.height)};function lA(){this.xa="Base"}He(lA,gc),lA.prototype.measure=function(){},lA.prototype.arrange=function(){},lA.prototype.gc=function(a,y,ee){ee=a.Df()*ee.scale,0>=ee&&(ee=1);var ne=a.gridCellSize,se=ne.width;ne=ne.height;var ue=a.naturalBounds,me=a.actualBounds,be=ue.width,Fe=ue.height,Ye=Math.ceil(be/se),Je=Math.ceil(Fe/ne),st=a.gridOrigin,yt=st.x;st=st.y,y.save(),y.beginPath(),y.rect(0,0,be,Fe),y.clip(),y.Se();for(var Tt=[],Ft=a.O.s,Zt=Ft.length,bn=0;bn<Zt;bn++){var fn=Ft[bn],Fn=[];if(Tt.push(Fn),fn.visible){var zn=fn.interval;if(!(0>zn)){fn=k2(fn.figure);for(var Zn=0;Zn<Zt;Zn++)if(Zn!==bn){var sr=Ft[Zn];sr.visible&&k2(sr.figure)===fn&&(sr=sr.interval,sr>zn&&Fn.push(sr))}}}}for(Ft=a.O.s,Zt=Ft.length,bn=0;bn<Zt;bn++){var Br=Ft[bn];if(Br.visible&&(Fn=Br.interval||1,fn=Math.abs(Fn),!(2>se*fn*ee))){if(zn=Br.segmentIndex,(!isFinite(zn)||isNaN(zn))&&(zn=0),0>zn&&(zn=fn-Math.min(-zn,fn)),zn=Math.round(zn%fn),fn=Br.opacity,Zn=1,fn!==1){if(fn===0)continue;Zn=y.globalAlpha,y.globalAlpha=Zn*fn}sr=Tt[bn];var Hi=!1,uo=Br.strokeDashArray;if(uo!==null&&(Hi=!0,y.js(uo,Br.strokeDashOffset)),Br.figure==="LineV"&&Br.stroke!==null&&0<Br.strokeWidth){for(y.lineWidth=Br.strokeWidth,Nu(a,y,Br.stroke,!1,!1,ue,me),y.beginPath(),uo=Br=Math.floor((yt-se)/se);uo<=Br+Ye;uo++){var no=uo*se+yt;0<=no&&no<=be&&hw(uo,Fn,zn,sr)&&(y.moveTo(no,0),y.lineTo(no,Fe))}y.stroke(),y.Se()}else if(Br.figure==="LineH"&&Br.stroke!==null&&0<Br.strokeWidth){for(y.lineWidth=Br.strokeWidth,Nu(a,y,Br.stroke,!1,!1,ue,me),y.beginPath(),uo=Br=Math.floor((st-ne)/ne);uo<=Br+Je;uo++)no=uo*ne+st,0<=no&&no<=Fe&&hw(uo,Fn,zn,sr)&&(y.moveTo(0,no),y.lineTo(be,no));y.stroke(),y.Se()}else if(Br.figure==="BarV"&&Br.fill!==null)for(Nu(a,y,Br.fill,!0,!1,ue,me),Br=Br.width,isNaN(Br)&&(Br=se),no=uo=Math.floor((yt-se)/se);no<=uo+Ye;no++){var Li=no*se+yt;0<=Li+Br&&Li<=be&&hw(no,Fn,zn,sr)&&y.fillRect(Li,0,Br,Fe)}else if(Br.figure==="BarH"&&Br.fill!==null)for(Nu(a,y,Br.fill,!0,!1,ue,me),Br=Br.height,isNaN(Br)&&(Br=ne),no=uo=Math.floor((st-ne)/ne);no<=uo+Je;no++)Li=no*ne+st,0<=Li+Br&&Li<=Fe&&hw(no,Fn,zn,sr)&&y.fillRect(0,Li,be,Br);Hi&&y.fs(),fn!==1&&(y.globalAlpha=Zn)}}y.restore(),y.Vc(!1)};function hw(a,y,ee,ne){if(0>y)return a%y===ee;if(a%y!==ee)return!1;y=ne.length;for(var se=0;se<y;se++)if(a%ne[se]===ee)return!1;return!0}function dw(){this.xa="Base"}He(dw,gc),dw.prototype.measure=function(a,y,ee,ne,se){var ue=ne.length;if(a instanceof Cs||a instanceof Oi){var me=null,be=null;if(a instanceof Oi&&(me=a),a instanceof Cs&&(be=a,me=be.adornedPart,a.j===null&&(a.j=[])),me instanceof Oi){var Fe=me;if(ue===0)Su(a.naturalBounds,0,0),a.measuredBounds.h(0,0,0,0);else{var Ye=a instanceof Cs?null:me.path;y=me.routeBounds,ee=a.jg,ee.h(0,0,y.width,y.height);var Je=Fe.points,st=me.pointsCount;be!==null?be.Ul(!1):me!==null&&me.Ul(!1),be=y.width;var yt=y.height,Tt=a.j;if(Tt.length=0,Ye!==null){ST(a,be,yt,Ye);var Ft=Ye.measuredBounds;ee.ed(Ft),Tt.push(Ft)}Ft=Da.alloc();for(var Zt=yn.alloc(),bn=yn.alloc(),fn=0;fn<ue;fn++){var Fn=ne[fn];if(Fn!==Ye)if(Fn.isPanelMain&&Fn instanceof Ua){ST(a,be,yt,Fn);var zn=Fn.measuredBounds;ee.ed(zn),Tt.push(zn)}else if(2>st)Fn.measure(1/0,1/0,0,0),zn=Fn.measuredBounds,ee.ed(zn),Tt.push(zn);else{var Zn=Fn.segmentIndex,sr=Fn.segmentFraction,Br=Fn.alignmentFocus;Br.Mc()&&(Br=us);var Hi=Fn.segmentOrientation,uo=Fn.segmentOffset;if(isNaN(Zn)){var no=Fe.ua;zn=pr(),no.Qu(sr,zn);var Li=yn.allocAt(zn[0],zn[1]);if(Li.add(Fe.i(0)),no.type===wi.j?Li.offset(-no.startX,-no.startY):(no=no.figures.first(),no!==null&&Li.offset(-no.startX,-no.startY)),no=zn[2],Hi!==wh){var ci=Fe.computeAngle(Fn,Hi,no);Fn.Kb=ci}ci=Li.x-y.x;var La=Li.y-y.y;yn.free(Li),Mr(zn)}else if(Zn<-st||Zn>=st)zn=yn.alloc(),Fe.vg(),Fe.computeMidPoint(zn),no=Fe.midAngle,Hi!==wh&&(ci=Fe.computeAngle(Fn,Hi,no),Fn.Kb=ci),ci=zn.x-y.x,La=zn.y-y.y,yn.free(zn);else{if(ci=0,0<=Zn?(La=Je.M(Zn),zn=Zn<st-1?Je.M(Zn+1):La):(ci=st+Zn,La=Je.M(ci),zn=0<ci?Je.M(ci-1):La),La.Xa(zn)){0<=Zn?(no=0<Zn?Je.M(Zn-1):La,ci=Zn<st-2?Je.M(Zn+2):zn):(no=ci<st-1?Je.M(ci+1):La,ci=1<ci?Je.M(ci-2):zn),Li=no.Bf(La);var Ea=zn.Bf(ci);no=Li>Ea+10?0<=Zn?no.ab(La):La.ab(no):Ea>Li+10?0<=Zn?zn.ab(ci):ci.ab(zn):0<=Zn?no.ab(ci):ci.ab(no)}else no=0<=Zn?La.ab(zn):zn.ab(La);Hi!==wh&&(ci=Fe.computeAngle(Fn,Hi,no),Fn.Kb=ci),ci=La.x+(zn.x-La.x)*sr-y.x,La=La.y+(zn.y-La.y)*sr-y.y}Fn.measure(1/0,1/0,0,0),zn=Fn.measuredBounds,Li=Fn.naturalBounds;var ks=0;Fn instanceof Ua&&(ks=Fn.strokeWidth),Ea=Li.width+ks;var dl=Li.height+ks;Ft.reset(),Ft.translate(-zn.x,-zn.y),Ft.scale(Fn.scale,Fn.scale),Ft.rotate(Hi===wh?Fn.angle:no,Ea/2,dl/2),Hi!==eE&&Hi!==tE||Ft.rotate(90,Ea/2,dl/2),Hi!==Sy&&Hi!==nE||Ft.rotate(-90,Ea/2,dl/2),Hi===Gd&&(45<no&&135>no||225<no&&315>no)&&Ft.rotate(-no,Ea/2,dl/2),Li=new Ur(0,0,Ea,dl),Zt.xi(Li,Br),Ft.Ga(Zt),Br=-Zt.x+ks/2*Fn.scale,Fn=-Zt.y+ks/2*Fn.scale,bn.assign(uo),ks=isNaN(uo.x);var sc=isNaN(uo.y);if(ks||sc){Ea=Ea/2+3,dl=dl/2+3;var xc=45<=no&&135>=no,Dh=225<=no&&315>=no;Hi===wh&&(xc||Dh)?(bn.x=sc?Ea:uo.y,bn.y=ks?dl:uo.x,xc?0<=Zn||isNaN(Zn)&&.5>sr||!ks||(bn.y=-dl):Dh&&((0<=Zn||isNaN(Zn)&&.5>sr)&&ks&&(bn.y=-dl),sc&&(bn.x=-Ea))):(ks&&(bn.x=0<=Zn||isNaN(Zn)&&.5>sr?Ea:-Ea),sc&&(bn.y=-dl),bn.rotate(no))}else bn.rotate(no);ci+=bn.x,La+=bn.y,Li.set(zn),Li.h(ci+Br,La+Fn,zn.width,zn.height),Tt.push(Li),ee.ed(Li)}}if(me!==null)for(ne=me.labelNodes;ne.next();)ne.value.measure(1/0,1/0);a.jg=ee,a.position.h(y.x+ee.x,y.y+ee.y),Su(se,ee.width||0,ee.height||0),Da.free(Ft),yn.free(Zt),yn.free(bn)}}}},dw.prototype.arrange=function(a,y){var ee=y.length;if(a instanceof Cs||a instanceof Oi){var ne=a,se=null;a instanceof Cs&&(se=a,ne=se.adornedPart);var ue=a instanceof Cs?null:ne.path,me=a.j;if(me.length!==0){var be=0;if(ue!==null&&be<me.length){var Fe=me[be];be++,ue.arrange(Fe.x-a.jg.x,Fe.y-a.jg.y,Fe.width,Fe.height)}for(Fe=0;Fe<ee;Fe++){var Ye=y[Fe];if(Ye!==ue&&be<me.length){var Je=me[be];be++,Ye.arrange(Je.x-a.jg.x,Je.y-a.jg.y,Je.width,Je.height)}}}if(y=ne.points,ee=y.count,2<=ee&&a instanceof Oi)for(ue=a.labelNodes;ue.next();){var st=a;me=ue.value,be=me.segmentIndex,Fe=me.segmentFraction;var yt=me.alignmentFocus;if(Ye=me.segmentOrientation,Je=me.segmentOffset,isNaN(be)){var Tt=st.ua,Ft=pr();Tt.Qu(Fe,Ft);var Zt=yn.allocAt(Ft[0],Ft[1]);Zt.add(st.i(0)),Tt.type===wi.j||(Tt=Tt.figures.first()),Zt.offset(-Tt.startX,-Tt.startY),Tt=Ft[2],Ye!==wh&&(st=st.computeAngle(me,Ye,Tt),me.angle=st),st=Zt.x;var bn=Zt.y;yn.free(Zt),Mr(Ft)}else if(be<-ee||be>=ee)Ft=yn.alloc(),Tt=st,bn=Ft,Tt.vg(),Tt.computeMidPoint(bn),Tt=st.midAngle,Ye!==wh&&(st=st.computeAngle(me,Ye,Tt),me.angle=st),st=Ft.x,bn=Ft.y,yn.free(Ft);else{if(Zt=0,0<=be?(Ft=y.s[be],bn=be<ee-1?y.s[be+1]:Ft):(Zt=ee+be,Ft=y.s[Zt],bn=0<Zt?y.s[Zt-1]:Ft),Ft.Xa(bn)){0<=be?(Tt=0<be?y.s[be-1]:Ft,Zt=be<ee-2?y.s[be+2]:bn):(Tt=Zt<ee-1?y.s[Zt+1]:Ft,Zt=1<Zt?y.s[Zt-2]:bn);var fn=Tt.Bf(Ft),Fn=bn.Bf(Zt);Tt=fn>Fn+10?0<=be?Tt.ab(Ft):Ft.ab(Tt):Fn>fn+10?0<=be?bn.ab(Zt):Zt.ab(bn):0<=be?Tt.ab(Zt):Zt.ab(Tt)}else Tt=0<=be?Ft.ab(bn):bn.ab(Ft);Ye!==wh&&(st=st.computeAngle(me,Ye,Tt),me.angle=st),st=Ft.x+(bn.x-Ft.x)*Fe,bn=Ft.y+(bn.y-Ft.y)*Fe}if(yt.ys())me.location=new yn(st,bn);else{yt.Mc()&&(yt=us),Ft=Da.alloc(),Ft.reset(),Ft.scale(me.scale,me.scale),Ft.rotate(me.angle,0,0);var zn=me.naturalBounds;Zt=Ur.allocAt(0,0,zn.width,zn.height),fn=yn.alloc(),fn.xi(Zt,yt),Ft.Ga(fn),yt=-fn.x,Fn=-fn.y;var Zn=zn.width,sr=zn.height;zn=yn.alloc(),zn.assign(Je);var Br=isNaN(Je.x),Hi=isNaN(Je.y);if(Br||Hi){Zn=Zn/2+3,sr=sr/2+3;var uo=45<=Tt&&135>=Tt,no=225<=Tt&&315>=Tt;Ye===wh&&(uo||no)?(zn.x=Hi?Zn:Je.y,zn.y=Br?sr:Je.x,uo?0<=be||isNaN(be)&&.5>Fe||!Br||(zn.y=-sr):no&&((0<=be||isNaN(be)&&.5>Fe)&&Br&&(zn.y=-sr),Hi&&(zn.x=-Zn))):(Br&&(zn.x=0<=be||isNaN(be)&&.5>Fe?Zn:-Zn),Hi&&(zn.y=-sr),zn.rotate(Tt))}else zn.rotate(Tt);st+=zn.x,bn+=zn.y,Ft.pp(Zt),yt+=Zt.x,Fn+=Zt.y,be=yn.allocAt(st+yt,bn+Fn),me.move(be),yn.free(be),yn.free(zn),yn.free(fn),Ur.free(Zt),Da.free(Ft)}}se!==null?se.Ul(!1):ne.Ul(!1),ne=X2(a),a.location.h(a.position.x+ne.x,a.position.y+ne.y),yn.free(ne)}};function ST(a,y,ee,ne){if(Mf(ne)!==!1){var se=ne.strokeWidth;se===0&&a instanceof Cs&&a.type===bi.Link&&a.adornedObject instanceof Ua&&(se=a.adornedObject.strokeWidth),se*=ne.Ca,a instanceof Oi&&a.ua!==null?(a=a.geometry.bounds,ne.Ge(a.x-se/2,a.y-se/2,a.width+se,a.height+se)):a instanceof Cs&&a.adornedPart.ua!==null?(a=a.adornedPart.ua.bounds,ne.Ge(a.x-se/2,a.y-se/2,a.width+se,a.height+se)):ne.Ge(-(se/2),-(se/2),y+se,ee+se),se=ne.desiredSize,se.w()||ne.ua===null?ne.dc.h(0,0,se.width,se.height):ne.dc.assign(ne.ua.bounds),hc(ne,!1)}}function uA(){this.xa="Base"}He(uA,gc),uA.prototype.measure=function(a,y,ee,ne,se,ue,me){var be=a.Pb();a.graduatedBounds=[];var Fe=be.margin,Ye=Fe.right+Fe.left,Je=Fe.top+Fe.bottom;be.measure(y,ee,ue,me);var st=be.measuredBounds,yt=new Ur(-Fe.left,-Fe.top,Math.max(st.width+Ye,0),Math.max(st.height+Je,0));a.graduatedBounds.push(yt),se.assign(yt);for(var Tt=be.geometry,Ft=be.strokeWidth,Zt=Tt.flattenedSegments,bn=Tt.flattenedLengths,fn=Tt.flattenedTotalLength,Fn=Zt.length,zn=0,Zn=0,sr=pr(),Br=0;Br<Fn;Br++){var Hi=Zt[Br],uo=[];Zn=zn=0;for(var no=Hi.length,Li=0;Li<no;Li+=2){var ci=Hi[Li],La=Hi[Li+1];if(Li!==0){var Ea=180*Math.atan2(La-Zn,ci-zn)/Math.PI;0>Ea&&(Ea+=360),uo.push(Ea)}zn=ci,Zn=La}sr.push(uo)}if(a.graduatedIntervals===null){for(var ks=[],dl=a.O.s,sc=dl.length,xc=0;xc<sc;xc++){var Dh=dl[xc],lc=[];if(ks.push(lc),Dh.visible){var Hp=Dh.interval;if(!(0>Hp)){for(var ec=0;ec<sc;ec++)if(ec!==xc){var Pd=dl[ec];if(Pd.visible&&Dh.constructor===Pd.constructor){var Ih=Pd.interval;Ih>Hp&&lc.push(Ih)}}}}}a.graduatedIntervals=ks}var av=a.graduatedIntervals,lf=a.O.s,lg=lf.length,Yd=0,Md=0,Uv=fn;a.graduatedMarks=[];for(var $g,Q1=0;Q1<lg;Q1++){var Xd=lf[Q1];if($g=[],Xd.visible&&Xd!==be){var Wh=Math.abs(Xd.interval),bE=a.graduatedTickUnit;if(!(2>bE*Wh*fn/a.graduatedRange&&Xd.graduatedSkip===null)){var xa=bn[0][0],mp=0,Ld=0;Md=fn*Xd.graduatedStart-1e-4,Uv=fn*Xd.graduatedEnd+1e-4;var jm=bE*Wh,Td=a.graduatedTickBase;if(Td<a.graduatedMin){var Wm=(a.graduatedMin-Td)/jm;Wm=Wm%1===0?Wm:Math.floor(Wm+1),Td+=Wm*jm}else Td>a.graduatedMin+jm&&(Td-=Math.floor((Td-a.graduatedMin)/jm)*jm);for(var J1=av[Q1],jy=Td,gS=1e-6*a.graduatedMax,Vp=1;Td<=a.graduatedMax+gS;Vp++){e:{for(var au=J1.length,Wy=0;Wy<au;Wy++){var uf=(Td-a.graduatedTickBase)%(J1[Wy]*a.graduatedTickUnit),sv=1e-6*a.graduatedTickUnit;if(uf<sv&&uf>-sv){var Gv=!1;break e}}Gv=!0}if(Gv&&(Td>a.graduatedMax&&(Td=a.graduatedMax),Xd.graduatedSkip===null||Xd instanceof Dl&&!Xd.graduatedSkip(Td,Xd)||Xd instanceof Ua&&!Xd.graduatedSkip(Td,Xd))&&(Yd=(Td-a.graduatedMin)*fn/a.graduatedRange,Yd>fn&&(Yd=fn),Md<=Yd&&Yd<=Uv)){for(var Zu=sr[mp][Ld],cf=bn[mp][Ld];mp<bn.length;){for(;Yd>xa&&Ld<bn[mp].length-1;)Ld++,Zu=sr[mp][Ld],cf=bn[mp][Ld],xa+=cf;if(Yd<=xa)break;mp++,Ld=0,Zu=sr[mp][Ld],cf=bn[mp][Ld],xa+=cf}var Dd=Zt[mp],Ng=Dd[2*Ld],Um=Dd[2*Ld+1],p0=(Yd-(xa-cf))/cf,Oh=new yn(Ng+(Dd[2*Ld+2]-Ng)*p0+Ft/2-Tt.bounds.x,Um+(Dd[2*Ld+3]-Um)*p0+Ft/2-Tt.bounds.y);Oh.scale(be.scale,be.scale);e:{var ep=Zu,Kp=sr[mp];if(!(.5005>p0&&.4995<p0)){var Ff=ep;if(.5>p0?0<Ld?Ff=Kp[Ld-1]:dr.$(Dd[0],Dd[Dd.length-2])&&dr.$(Dd[1],Dd[Dd.length-1])&&(Ff=Kp[Kp.length-1]):.5<p0&&(Ld+1<Kp.length?Ff=Kp[Ld+1]:dr.$(Dd[0],Dd[Dd.length-2])&&dr.$(Dd[1],Dd[Dd.length-1])&&(Ff=Kp[0])),ep!==Ff){var Uy=Math.abs(ep-Ff);if(180<Uy&&(ep<Ff?ep+=360:Ff+=360,Uy=Math.abs(ep-Ff)),5e-4>p0||.9995<p0){Zu=(ep+Ff)/2%360;break e}if(10>Uy){var Zp=1-Math.abs(.5-p0);Zu=(ep*Zp+Ff*(1-Zp))%360;break e}}}Zu=ep}if(Xd instanceof Dl){var Bg="";Xd.graduatedFunction!==null?(Bg=Xd.graduatedFunction(Td,Xd),Bg=Bg!=null?Bg.toString():""):Bg=(+Td.toFixed(2)).toString(),Bg!==""&&$g.push({$l:Oh,angle:Zu,text:Bg})}else $g.push({$l:Oh,angle:Zu})}Td=jy+Vp*jm}}}a.graduatedMarks.push($g)}Mr(sr);var Pu=a.graduatedMarks;if(Pu!==null)for(var PE=ne.length,zc=0;zc<PE;zc++){var tc=ne[zc],Ch=Pu[zc];if(tc.visible&&tc!==be&&Ch.length!==0){if(tc instanceof Ua){var Qc=a,lv=se,tp=tc.alignmentFocus;tp.Mc()&&(tp=Rh);var TC=tc.angle;tc.Kb=0,tc.measure(1/0,1/0,0,0),tc.Kb=TC;var DC=tc.measuredBounds,Gy=DC.width,Hv=DC.height,Gm=Ur.allocAt(0,0,Gy,Hv),Id=yn.alloc();Id.xi(Gm,tp),Ur.free(Gm);for(var v0=-Id.x,Rg=-Id.y,ug=new Ur,gd=Ch.length,Hy=0;Hy<gd;Hy++)for(var Vv=Ch[Hy],pS=Vv.$l.x,Kv=Vv.$l.y,pu=Vv.angle,_f=0;4>_f;_f++){switch(_f){case 0:Id.h(v0,Rg);break;case 1:Id.h(v0+Gy,Rg);break;case 2:Id.h(v0,Rg+Hv);break;case 3:Id.h(v0+Gy,Rg+Hv)}Id.rotate(pu+tc.angle),Id.offset(pS,Kv),Hy===0&&_f===0?ug.h(Id.x,Id.y,0,0):ug.Ye(Id),Id.offset(-pS,-Kv),Id.rotate(-pu-tc.angle)}yn.free(Id),Qc.graduatedBounds!==null&&Qc.graduatedBounds.push(ug),Hs(lv,ug.x,ug.y,ug.width,ug.height)}else if(tc instanceof Dl){var zf=a,q1=se;zf.temporaryTextBlock===null&&(zf.temporaryTextBlock=new Dl);var pd=zf.temporaryTextBlock;Aw(pd,tc);var uv=tc.alignmentFocus;uv.Mc()&&(uv=Rh);for(var jf=tc.segmentOrientation,ME=tc.segmentOffset,cv=new Ur,vS=0,LE=0,cg=0,hg=0,Hm=0,TE=Ch.length,Zv=0;Zv<TE;Zv++){var Yp=Ch[Zv];vS=Yp.$l.x,LE=Yp.$l.y,cg=Yp.angle,Hm=hg=tc.angle,jf!==wh&&(Hm=jf===R1||jf===Gw?cg+tc.angle:cg,hg=Oi.computeAngle(jf,Hm)),pd.Kb=hg,pd.text=Yp.text||"",pd.measure(1/0,1/0,0,0);var Yv=pd.measuredBounds,m0=pd.naturalBounds,Xv=m0.width,hv=m0.height,dg=Da.alloc();dg.reset(),dg.translate(-Yv.x,-Yv.y),dg.scale(pd.scale,pd.scale),dg.rotate(Hm,Xv/2,hv/2),jf!==eE&&jf!==tE||dg.rotate(90,Xv/2,hv/2),jf!==Sy&&jf!==nE||dg.rotate(-90,Xv/2,hv/2),jf===Gd&&(45<cg&&135>cg||225<cg&&315>cg)&&dg.rotate(-cg,Xv/2,hv/2);var $1=Ur.allocAt(0,0,Xv,hv),Xp=yn.alloc();Xp.xi($1,uv),dg.Ga(Xp);var Qv=-Xp.x,IC=-Xp.y,y0=yn.alloc();y0.assign(ME),isNaN(y0.x)&&(y0.x=Xv/2+3),isNaN(y0.y)&&(y0.y=-(hv/2+3)),y0.rotate(cg),vS+=y0.x+Qv,LE+=y0.y+IC;var Vm=new Ur(vS,LE,Yv.width,Yv.height),DE=new Ur(Yv.x,Yv.y,Yv.width,Yv.height),OC=new Ur(m0.x,m0.y,m0.width,m0.height);Yp.Sz=hg,Yp.lineCount=pd.lineCount,Yp.lines=[pd.Cb,pd.Ih,pd.df,pd.Le,pd.Qc,pd.Qb,pd.ze],Yp.actualBounds=Vm,Yp.measuredBounds=DE,Yp.naturalBounds=OC,Zv===0?cv.assign(Vm):cv.ed(Vm),yn.free(y0),yn.free(Xp),Ur.free($1),Da.free(dg)}zf.graduatedBounds!==null&&zf.graduatedBounds.push(cv),Hs(q1,cv.x,cv.y,cv.width,cv.height)}hc(tc,!1)}}},uA.prototype.arrange=function(a,y,ee){if(a.graduatedBounds!==null){var ne=a.Pb(),se=a.graduatedMarks;if(se!==null){var ue=a.graduatedBounds,me=0,be=ue[me];me++,ne!==null&&ne.arrange(be.x-ee.x,be.y-ee.y,be.width,be.height);for(var Fe=y.length,Ye=0;Ye<Fe;Ye++){var Je=y[Ye];be=se[Ye],Je.visible&&Je!==ne&&be.length!==0&&(be=ue[me],me++,Je.arrange(be.x-ee.x,be.y-ee.y,be.width,be.height))}a.graduatedBounds=null}}},uA.prototype.gc=function(a,y,ee){var ne=ee.$i;ee.$i=!0;var se=a.naturalBounds,ue=se.width,me=se.height;se=y instanceof of,y.save(),y.beginPath(),y.rect(-1,-1,ue+1,me+1),y.clip(),y.Se(),ue=a.Pb(),ue.gc(y,ee),me=a.Df()*ee.scale,0>=me&&(me=1);for(var be=ue.actualBounds,Fe=a.O.s,Ye=a.graduatedMarks,Je=Fe.length,st=0;st<Je;st++){var yt=Fe[st],Tt=Ye[st],Ft=Tt.length;if(yt.visible&&yt!==ue&&Tt.length!==0){if(yt instanceof Ua){if(!(2>a.graduatedTickUnit*yt.interval*ue.geometry.flattenedTotalLength/a.graduatedRange*me&&yt.graduatedSkip===null)){var Zt=yt.measuredBounds,bn=yt.strokeWidth*yt.scale,fn=yt.alignmentFocus;fn.Mc()&&(fn=Rh);for(var Fn=0;Fn<Ft;Fn++){var zn=Tt[Fn].$l,Zn=Tt[Fn].angle,sr=fn,Br=yt.Ab;Br.reset(),Br.translate(zn.x+be.x,zn.y+be.y),Br.rotate(Zn+yt.angle,0,0),Br.translate(-Zt.width*sr.x+sr.offsetX+bn/2,-Zt.height*sr.y+sr.offsetY+bn/2),Br.scale(yt.scale,yt.scale),Sg(yt,!1),yt.wh.set(yt.Ab),yt.Kk=yt.scale,qf(yt,!1),yt.gc(y,ee),se&&(a.svg.appendChild(yt.svg),yt.svg=null),yt.Ab.reset()}}}else if(yt instanceof Dl)for(a.temporaryTextBlock===null&&(a.temporaryTextBlock=new Dl),Zt=a.temporaryTextBlock,Aw(Zt,yt),bn=0;bn<Ft;bn++)fn=Tt[bn],fn.actualBounds&&fn.measuredBounds&&fn.naturalBounds&&(Zt.ec=fn.text||"",Zt.Kb=fn.Sz||0,Zt.Gc=fn.lineCount||0,Fn=fn.lines,Fn!==void 0&&(Zt.Cb=Fn[0],Zt.Ih=Fn[1],Zt.df=Fn[2],Zt.Le=Fn[3],Zt.Qc=Fn[4],Zt.Qb=Fn[5],Zt.ze=Fn[6]),fn.naturalBounds&&(Zt.dc=fn.naturalBounds),fn.actualBounds&&(Fn=fn.actualBounds,Zt.arrange(Fn.x,Fn.y,Fn.width,Fn.height)),Fn=fn.actualBounds,Zt.arrange(Fn.x,Fn.y,Fn.width,Fn.height),zn=fn.measuredBounds,fn=fn.naturalBounds,Zn=Zt.Ab,Zn.reset(),Zn.translate(Fn.x+be.x,Fn.y+be.y),Zn.translate(-zn.x,-zn.y),Zt.no(Zn,fn.x,fn.y,fn.width,fn.height),Sg(Zt,!1),Zt.wh.set(Zt.Ab),Zt.Kk=Zt.scale,qf(Zt,!1),Zt.Ng=yt.part,Zt.Me=yt.panel,Zt.gc(y,ee),Zt.Me=null,Zt.Ng=null,se&&(a.svg.appendChild(Zt.svg),Zt.svg=null))}}ee.$i=ne,y.restore(),y.Vc(!0)};function bi(a,y){if(lr.call(this),this.na=null,a===void 0)this.na=bi.Position;else if(typeof a=="string"){var ee=tg.I(a);ee!==null&&(this.na=ee)}else a instanceof gc?this.na=a:a&&(this.na=bi.Position,y=a);this.na===null&&cn("Panel type not specified or PanelLayout not loaded: "+a),this.l=this.l|4194304|(this.na===bi.Grid?1048576:0),this.O=new Hr,this.yb=Oc,this.Tm=Zs,this.Uf=Na,this.$g=null,this.$e="",this.jg=new Ur(NaN,NaN,NaN,NaN),this.T=this.F=null,this.xo=Mo,this.jn=xs,this.kn=ja,this.ub=this.ra=null,this.zn=NaN,this.ge=this.Hh=null,y&&Object.assign(this,y)}He(bi,lr),bi.prototype.cloneProtected=function(a){lr.prototype.cloneProtected.call(this,a),a.na=this.na,a.yb=this.yb.J(),a.Tm=this.Tm.J(),a.Uf=this.Uf,a.$e=this.$e,a.jg.assign(this.jg),this.T!==null&&(a.T=this.T.copy(a)),a.xo=this.xo,a.jn=this.jn.J(),a.kn=this.kn.J(),this.ra!==null&&(a.ra=this.ra.copy()),a.ub=this.ub,a.zn=this.zn,a.Hh=this.Hh},bi.prototype.Af=function(a){lr.prototype.Af.call(this,a),a.O=this.O;for(var y=a.O.s,ee=y.length,ne=0;ne<ee;ne++)y[ne].Me=a;a.$g=null},bi.prototype.copy=function(){var a=lr.prototype.copy.call(this);if(a!==null){for(var y=this.O.s,ee=y.length,ne=0;ne<ee;ne++){var se=y[ne].copy();se.wi(a),se.Ng=null;var ue=a.O,me=ue.count;if(ue.Gb(me,se),ue=a.part,ue!==null){ue.Rh=null,se.portId!==null&&ue instanceof Yi&&(ue.Te=!0);var be=a.diagram;be!==null&&be.undoManager.isUndoingRedoing||ue.cb(Ci,"elements",a,null,se,null,me)}}return a}return null},It=bi.prototype,It.toString=function(){return"Panel("+this.type.name+")#"+oa(this)},It.Pn=function(a){lr.prototype.Pn.call(this,a);for(var y=this.O.s,ee=y.length,ne=0;ne<ee;ne++)y[ne].Pn(a)},It.hh=function(a,y){if(this.na===bi.Grid)a.yc(),this.na.gc(this,a,y);else if(this.na===bi.Graduated)a.yc(),this.na.gc(this,a,y);else{if(this.na===bi.Table)if(a.yc(),a instanceof of){var ee=a.yd;a.yd=$S(a,"gojs-ts"),fw(this,a),a.nh.pop(),a.yd=ee}else fw(this,a);(ee=this.isClipping&&this.na===bi.Spot)&&a.save();for(var ne=this.Pb(),se=this.O.s,ue=se.length,me=0;me<ue;me++){var be=se[me];ee&&be===ne&&(a.clipInsteadOfFill=!0),be.gc(a,y),ee&&be===ne&&(a.clipInsteadOfFill=!1)}ee&&(a.restore(),a.Vc(!0))}};function fw(a,y){y.lineCap="butt";var ee=0<a.rowCount?a.rowDefs:null,ne=0<a.columnCount?a.colDefs:null;ee!==null&&gw(a,y,!0,ee,!0),ne!==null&&gw(a,y,!1,ne,!0),ee!==null&&wT(a,y,!0,ee),ne!==null&&wT(a,y,!1,ne),ee!==null&&gw(a,y,!0,ee,!1),ne!==null&&gw(a,y,!1,ne,!1)}function wT(a,y,ee,ne){for(var se=ne.length,ue=a.actualBounds,me=a.naturalBounds,be=!0,Fe=0;Fe<se;Fe++){var Ye=ne[Fe];if(Ye!==void 0&&Ye.actual!==0)if(be)be=!1;else{if(ee){if(Ye.position>me.height)continue}else if(Ye.position>me.width)continue;var Je=Ye.separatorStrokeWidth;isNaN(Je)&&(Je=ee?a.defaultRowSeparatorStrokeWidth:a.defaultColumnSeparatorStrokeWidth);var st=Ye.separatorStroke;if(st===null&&(st=ee?a.defaultRowSeparatorStroke:a.defaultColumnSeparatorStroke),Je!==0&&st!==null){Nu(a,y,st,!1,!1,me,ue),st=!1;var yt=Ye.separatorDashArray;yt===null&&(yt=ee?a.defaultRowSeparatorDashArray:a.defaultColumnSeparatorDashArray),yt!==null&&(st=!0,y.js(yt,0)),y.beginPath(),yt=Ye.position+Je,ee?yt>me.height&&(Je-=yt-me.height):yt>me.width&&(Je-=yt-me.width),Ye=Ye.position+Je/2,y.lineWidth=Je,Je=a.yb,ee?(Ye+=Je.top,yt=me.width-Je.right,y.moveTo(Je.left,Ye),y.lineTo(yt,Ye)):(Ye+=Je.left,yt=me.height-Je.bottom,y.moveTo(Ye,Je.top),y.lineTo(Ye,yt)),y.stroke(),y.Se(),st&&y.fs()}}}}function gw(a,y,ee,ne,se){for(var ue=ne.length,me=a.actualBounds,be=a.naturalBounds,Fe=CT(a,!0),Ye=CT(a,!1),Je=0;Je<ue;Je++){var st=ne[Je];if(st!==void 0&&st.background!==null&&st.coversSeparators!==se&&st.actual!==0){var yt=ee?me.height:me.width;if(!(st.position>yt)){var Tt=st.Wc(),Ft=st.separatorStrokeWidth;isNaN(Ft)&&(Ft=ee?a.defaultRowSeparatorStrokeWidth:a.defaultColumnSeparatorStrokeWidth);var Zt=st.separatorStroke;Zt===null&&(Zt=ee?a.defaultRowSeparatorStroke:a.defaultColumnSeparatorStroke),(Zt===null||st.index===(ee?Fe:Ye))&&(Ft=0),Tt-=Ft,Ft=st.position+Ft,Tt+=st.actual,Ft+Tt>yt&&(Tt=yt-Ft),0>=Tt||(yt=a.yb,Nu(a,y,st.background,!0,!1,be,me),ee?y.fillRect(yt.left,Ft+yt.top,me.width-(yt.left+yt.right),Tt):y.fillRect(Ft+yt.left,yt.top,Tt,me.height-(yt.top+yt.bottom)))}}}}function CT(a,y){for(var ee=y?a.rowCount:a.columnCount,ne=0;ne<ee;ne++){var se=y?a.rowDefs[ne]:a.colDefs[ne];if(se!==void 0)return se.index}return 0}function k2(a){return a==="LineV"||a==="BarV"}It.lv=function(){for(var a=this.O.s,y=a.length,ee=0;ee<y;ee++)a[ee].lv();this.Uc=!0},It.kk=function(a,y,ee){if(!lr.prototype.kk.call(this,a,y,ee))return!1;if(this.type===bi.Table)ee=this.svg.getElementsByClassName("gojs-ts"),ee=ee.length!==0?ee[0]:null,ee!==null&&(ee.innerHTML=""),a.yd=ee,fw(this,a),a.yd=null;else if(this.na===bi.Grid||this.na===bi.Graduated)return this.svg.innerHTML="",this.svg.remove(),!1;ee=this.O.s;for(var ne=ee.length,se=0;se<ne;se++)ee[se].gc(a,y);return!0},It.nk=function(){return!0},It.$o=function(a,y,ee,ne){if(!this.isClipping)if(this.Dd()&&a.bk!==null){a=a.bk,y=this.O.s;for(var se=0,ue=0,me=0;me<y.length;me++)if(y[me].Ed()){var be=y[me].actualBounds;se=me===0?be.x:Math.min(be.x,se),ue=me===0?be.y:Math.min(be.y,ue)}ne.setAttributeNS(null,"clip-path","path('M "+(a.x-ee.x-se)+","+(a.y-ee.y-ue)+" l "+a.width+" 0 l 0 "+a.height+" l -"+a.width+" 0 z')")}else lr.prototype.$o.call(this,a,y,ee,ne)},It.Sj=function(a,y,ee,ne,se){var ue=this.se(),me=this.transform,be=1/(me.m11*me.m22-me.m12*me.m21),Fe=me.m22*be,Ye=-me.m12*be,Je=-me.m21*be,st=me.m11*be,yt=be*(me.m21*me.dy-me.m22*me.dx),Tt=be*(me.m12*me.dx-me.m11*me.dy);if(this.areaBackground!==null)return me=this.actualBounds,dr.Ff(me.left,me.top,me.right,me.bottom,a,y,ee,ne,se);if(this.background!==null)return ue=a*Fe+y*Je+yt,be=a*Ye+y*st+Tt,a=ee*Fe+ne*Je+yt,Fe=ee*Ye+ne*st+Tt,se.h(0,0),ee=this.naturalBounds,ue=dr.Ff(0,0,ee.width,ee.height,ue,be,a,Fe,se),se.transform(me),ue;ue||(Fe=1,Je=Ye=0,st=1,Tt=yt=0),be=a*Fe+y*Je+yt,a=a*Ye+y*st+Tt,Fe=ee*Fe+ne*Je+yt,ee=ee*Ye+ne*st+Tt,se.h(Fe,ee),ne=(Fe-be)*(Fe-be)+(ee-a)*(ee-a),Ye=!1,st=this.O.s,Tt=st.length,Je=yn.alloc(),yt=null,y=1/0;var Ft=null,Zt=this.isClipping&&this.na===bi.Spot;Zt&&(Ft=yn.alloc(),yt=this.Pb(),(Ye=yt.Sj(be,a,Fe,ee,Ft))&&(y=(be-Ft.x)*(be-Ft.x)+(a-Ft.y)*(a-Ft.y)));for(var bn=0;bn<Tt;bn++){var fn=st[bn];fn.visible&&fn!==yt&&fn.Sj(be,a,Fe,ee,Je)&&(Ye=!0,fn=(be-Je.x)*(be-Je.x)+(a-Je.y)*(a-Je.y),fn<ne&&(ne=fn,se.set(Je)))}return Zt&&(y>ne&&se.set(Ft),yn.free(Ft)),yn.free(Je),ue&&se.transform(me),Ye},It.Gj=function(){for(var a=this.O.s,y=a.length,ee=0;ee<y;ee++)a[ee].Gj();lr.prototype.Gj.call(this)},It.v=function(a){if(!Mf(this)){lr.prototype.v.call(this,a),a=null,(this.na===bi.Auto||this.na===bi.Link)&&(a=this.Pb());for(var y=this.O.s,ee=y.length,ne=0;ne<ee;ne++){var se=y[ne];if((se===a||se.isPanelMain)&&se.v(!0),!se.desiredSize.w()){var ue=wd(se,!1);(se instanceof zh||se instanceof bi||se instanceof Dl||ue!==fi)&&se.v(!0)}}}},It.Uj=function(){if(!Mf(this)){hc(this,!0),a0(this,!0);for(var a=this.O.s,y=a.length,ee=0;ee<y;ee++)a[ee].Uj()}},It.Uk=function(){if(!(this.l&2048)){Sg(this,!0),qf(this,!0);for(var a=this.O.s,y=a.length,ee=0;ee<y;ee++)a[ee].Wu()}},It.Wu=function(){qf(this,!0);for(var a=this.O.s,y=a.length,ee=0;ee<y;ee++)a[ee].Wu()},It.Wl=function(a,y,ee,ne){var se=this.jg;se.h(0,0,0,0);var ue=this.desiredSize,me=this.minSize;ee===void 0&&(ee=me.width,ne=me.height),ee=Math.max(ee,me.width),ne=Math.max(ne,me.height);var be=this.maxSize;isNaN(ue.width)||(a=Math.min(ue.width,be.width)),isNaN(ue.height)||(y=Math.min(ue.height,be.height)),a=Math.max(ee,a),y=Math.max(ne,y);var Fe=this.yb;a=Math.max(a-Fe.left-Fe.right,0),y=Math.max(y-Fe.top-Fe.bottom,0);var Ye=this.O.s;Ye.length!==0&&this.na.measure(this,a,y,Ye,se,ee,ne),a=se.width+Fe.left+Fe.right,Fe=se.height+Fe.top+Fe.bottom,isFinite(ue.width)&&(a=ue.width),isFinite(ue.height)&&(Fe=ue.height),a=Math.min(be.width,a),Fe=Math.min(be.height,Fe),a=Math.max(me.width,a),Fe=Math.max(me.height,Fe),a=Math.max(ee,a),Fe=Math.max(ne,Fe),Su(se,a,Fe),Su(this.naturalBounds,a,Fe),this.Ge(0,0,a,Fe)},It.Pb=function(){if(this.$g===null){var a=this.O.s,y=a.length;if(y===0)return null;for(var ee=0;ee<y;ee++){var ne=a[ee];if(ne.isPanelMain===!0)return this.$g=ne}this.$g=a[0]}return this.$g};function V0(a){return a.part!==null?a.part.locationObject:null}It.eh=function(a,y,ee,ne){var se=this.O.s;if(this.actualBounds.h(a,y,ee,ne),se.length!==0){if(!this.desiredSize.w()){a=wd(this,!0);var ue=this.measuredBounds;y=ue.width,ue=ue.height;var me=this.Kg,be=me.left+me.right;switch(me=me.top+me.bottom,y===ee&&ue===ne&&(a=fi),a){case fi:(y>ee||ue>ne)&&(this.v(),this.measure(y>ee?ee:y,ue>ne?ne:ue,0,0));break;case Si:this.v(!0),this.measure(ee+be,ne+me,0,0);break;case Ro:this.v(!0),this.measure(ee+be,ue+me,0,0);break;case ea:this.v(!0),this.measure(y+be,ne+me,0,0)}}this.na.arrange(this,se,this.jg)}},It.gh=function(a){var y=this.naturalBounds,ee=V0(this);if(Al(0,0,y.width,y.height,a.x,a.y)){y=this.O.s;for(var ne=y.length,se=yn.allocAt(0,0);ne--;){var ue=y[ne];if((ue.visible||ue===ee)&&(es(se.set(a),ue.transform),ue.ca(se)))return yn.free(se),!0}return yn.free(se),!(this.Ma===null&&this.areaBackground===null)}return!1},It.ks=function(a){if(this.bindingId===a)return this;for(var y=this.O.s,ee=y.length,ne=0;ne<ee;ne++){var se=y[ne].ks(a);if(se!==null)return se}return null},It.qm=function(a,y){if(y(this,a),a instanceof bi){a=a.O.s;for(var ee=a.length,ne=0;ne<ee;ne++)this.qm(a[ne],y)}};function dy(a,y){bT(a,a,y)}function bT(a,y,ee){ee(y),y=y.O.s;for(var ne=y.length,se=0;se<ne;se++){var ue=y[se];ue instanceof bi&&bT(a,ue,ee)}}function TI(a,y){PT(a,a,y)}function PT(a,y,ee){if(ee(y),y instanceof bi){y=y.O.s;for(var ne=y.length,se=0;se<ne;se++)PT(a,y[se],ee)}}It.Nl=function(a){return MT(this,this,a)};function MT(a,y,ee){if(ee(y))return y;if(y instanceof bi){y=y.O.s;for(var ne=y.length,se=0;se<ne;se++){var ue=MT(a,y[se],ee);if(ue!==null)return ue}}return null}It.fb=function(a){if(this.name===a)return this;var y=this.O.s,ee=y.length;this.Hh===null&&this.itemTemplateMap===null||(ee=As(this));for(var ne=0;ne<ee;ne++){var se=y[ne];if(se instanceof bi){var ue=se.fb(a);if(ue!==null)return ue}if(se.name===a)return se}return null};function LT(a){a=a.O.s;for(var y=a.length,ee=0,ne=0;ne<y;ne++){var se=a[ne];se instanceof bi?ee=Math.max(ee,LT(se)):se instanceof Ua&&(ee=Math.max(ee,se.ig/2*se.strokeMiterLimit*se.Df()))}return ee}It.se=function(){return!(this.type===bi.TableRow||this.type===bi.TableColumn)};function K0(a){return a.type===bi.TableRow||a.type===bi.TableColumn}It.ic=function(a,y,ee){if(this.pickable===!1||(y===void 0&&(y=null),ee===void 0&&(ee=null),ud(this)))return null;var ne=this.naturalBounds,se=1/this.Df(),ue=this.se(),me=ue?a:es(yn.allocAt(a.x,a.y),this.transform),be=this.diagram,Fe=10,Ye=5;if(be!==null&&(Fe=be.Ql("extraTouchArea"),Ye=Fe/2),Al(-(Ye*se),-(Ye*se),ne.width+Fe*se,ne.height+Fe*se,me.x,me.y)){if(!this.isAtomic){se=this.O.s;var Je=se.length;if(be=yn.alloc(),Ye=(Fe=this.isClipping&&this.na===bi.Spot)?this.Pb():null,Fe&&(Ye.se()?es(be.set(a),Ye.transform):be.set(a),!Ye.ca(be)))return yn.free(be),ue||yn.free(me),null;for(var st=V0(this);Je--;){var yt=se[Je];if((yt.visible||yt===st)&&(yt.se()?es(be.set(a),yt.transform):be.set(a),!Fe||yt!==Ye)){var Tt=null;if(yt instanceof bi?Tt=yt.ic(be,y,ee):yt.pickable===!0&&yt.ca(be)&&(Tt=yt),Tt!==null&&(y!==null&&(Tt=y(Tt)),Tt!==null&&(ee===null||ee(Tt))))return yn.free(be),ue||yn.free(me),Tt}}yn.free(be)}return this.background===null&&this.areaBackground===null?(ue||yn.free(me),null):(a=Al(0,0,ne.width,ne.height,me.x,me.y)?this:null,ue||yn.free(me),a)}return ue||yn.free(me),null},It.ji=function(a,y,ee,ne){if(this.pickable===!1)return!1;y===void 0&&(y=null),ee===void 0&&(ee=null);var se=this.naturalBounds,ue=this.se(),me=ue?a:es(yn.allocAt(a.x,a.y),this.transform);if(se=Al(0,0,se.width,se.height,me.x,me.y),K0(this)||se){if(!this.isAtomic){for(var be=this.O.s,Fe=be.length,Ye=yn.alloc(),Je=V0(this);Fe--;){var st=be[Fe];if(st.visible||st===Je){st.se()?es(Ye.set(a),st.transform):Ye.set(a);var yt=st;st=st instanceof bi?st:null,(st!==null?st.ji(Ye,y,ee,ne):yt.ca(Ye))&&yt.pickable!==!1&&(y!==null&&(yt=y(yt)),yt===null||ee!==null&&!ee(yt)||ne.add(yt))}}yn.free(Ye)}return ue||yn.free(me),se&&(this.background!==null||this.areaBackground!==null)}return ue||yn.free(me),!1},It.Cf=function(a,y,ee,ne,se,ue){if(this.pickable===!1)return!1;y===void 0&&(y=null),ee===void 0&&(ee=null);var me=ue;if(ue===void 0&&(me=Da.alloc(),me.reset()),me.multiply(this.transform),this.fh(a,me))return F2(this,y,ee,se),ue===void 0&&Da.free(me),!0;if(this.Yc(a,me)){if(!this.isAtomic)for(var be=V0(this),Fe=this.O.s,Ye=Fe.length;Ye--;){var Je=Fe[Ye];if(Je.visible||Je===be){var st=Je.actualBounds,yt=this.naturalBounds;st.x>yt.width||st.y>yt.height||0>st.x+st.width||0>st.y+st.height||(st=Je,Je=Je instanceof bi?Je:null,yt=Da.alloc(),yt.set(me),(Je!==null?Je.Cf(a,y,ee,ne,se,yt):fc(st,a,ne,yt))&&(y!==null&&(st=y(st)),st===null||ee!==null&&!ee(st)||se.add(st)),Da.free(yt))}}return ue===void 0&&Da.free(me),ne}return ue===void 0&&Da.free(me),!1};function F2(a,y,ee,ne){for(var se=a.O.s,ue=se.length;ue--;){var me=se[ue];if(me.visible){var be=me.actualBounds,Fe=a.naturalBounds;be.x>Fe.width||be.y>Fe.height||0>be.x+be.width||0>be.y+be.height||(me instanceof bi&&F2(me,y,ee,ne),y!==null&&(me=y(me)),me===null||ee!==null&&!ee(me)||ne.add(me))}}}It.og=function(a,y,ee,ne,se,ue){if(this.pickable===!1)return!1;ee===void 0&&(ee=null),ne===void 0&&(ne=null);var me=this.naturalBounds,be=this.se(),Fe=be?a:es(yn.allocAt(a.x,a.y),this.transform),Ye=be?y:es(yn.allocAt(y.x,y.y),this.transform),Je=Fe.Bf(Ye),st=0<Fe.x&&Fe.x<me.width&&0<Fe.y&&Fe.y<me.height||ml(Fe.x,Fe.y,0,0,0,me.height)<=Je||ml(Fe.x,Fe.y,0,me.height,me.width,me.height)<=Je||ml(Fe.x,Fe.y,me.width,me.height,me.width,0)<=Je||ml(Fe.x,Fe.y,me.width,0,0,0)<=Je;if(me=Fe.zd(0,0)<=Je&&Fe.zd(0,me.height)<=Je&&Fe.zd(me.width,0)<=Je&&Fe.zd(me.width,me.height)<=Je,be||(yn.free(Fe),yn.free(Ye)),st){if(!this.isAtomic){Fe=yn.alloc(),Ye=yn.alloc(),Je=V0(this);for(var yt=this.O.s,Tt=yt.length;Tt--;){var Ft=yt[Tt];if(Ft.visible||Ft===Je){var Zt=Ft.actualBounds,bn=this.naturalBounds;(!be||!(Zt.x>bn.width||Zt.y>bn.height||0>Zt.x+Zt.width||0>Zt.y+Zt.height))&&(Ft.se()?(Zt=Ft.transform,es(Fe.set(a),Zt),es(Ye.set(y),Zt)):(Fe.set(a),Ye.set(y)),Zt=Ft,Ft=Ft instanceof bi?Ft:null,(Ft!==null?Ft.og(Fe,Ye,ee,ne,se,ue):Zt.tx(Fe,Ye,se))&&(ee!==null&&(Zt=ee(Zt)),Zt===null||ne!==null&&!ne(Zt)||ue.add(Zt)))}}yn.free(Fe),yn.free(Ye)}return se?st:me}return!1};function _2(a){var y=null;return a instanceof Ua&&(y=a.spot1,y===Zs&&(y=null),a=a.geometry,a!==null&&y===null&&(y=a.spot1)),y===null&&(y=Ya),y}function z2(a){var y=null;return a instanceof Ua&&(y=a.spot2,y===Zs&&(y=null),a=a.geometry,a!==null&&y===null&&(y=a.spot2)),y===null&&(y=Pc),y}It.add=function(a){for(var y=[],ee=0;ee<arguments.length;++ee)y[ee]=arguments[ee];for(ee=0;ee<y.length;ee++)this.Gb(this.O.count,y[ee]);return this},It.M=function(a){return this.O.M(a)},It.Gb=function(a,y){y instanceof _o&&cn("Cannot add a Part to a Panel: "+y+"; use a Panel instead"),(this===y||this.rg(y))&&(this===y&&cn("Cannot make a Panel contain itself: "+this.toString()),cn("Cannot make a Panel indirectly contain itself: "+this.toString()+" already contains "+y.toString()));var ee=y.panel;if(ee!==null&&ee!==this&&cn("Cannot add a GraphObject that already belongs to another Panel to this Panel: "+y.toString()+", already contained by "+ee.toString()+", cannot be shared by this Panel: "+this.toString()),this.na!==bi.Grid||y instanceof Ua||cn("Can only add Shapes to a Grid Panel, not: "+y),this.na!==bi.Graduated||y instanceof Ua||y instanceof Dl||cn("Can only add Shapes or TextBlocks to a Graduated Panel, not: "+y),y.wi(this),y.Ng=null,this.itemArray!==null){var ne=y.data;ne!==null&&typeof ne=="object"&&(this.ge===null&&(this.ge=new Ji),this.ge.add(ne,y))}var se=this.O;if(ne=-1,ee===this){for(var ue=-1,me=this.O.s,be=me.length,Fe=0;Fe<be;Fe++)if(me[Fe]===y){ue=Fe;break}if(ue!==-1){if(ue===a||ue+1>=se.count&&a>=se.count)return;se.mb(ue),ne=ue}else cn("element "+y.toString()+" has panel "+ee.toString()+" but is not contained by it.")}(0>a||a>se.count)&&(a=se.count),se.Gb(a,y),(a===0||y.isPanelMain)&&(this.$g=null),Mf(this)||this.v(),y.v(!1),y.portId!==null?this.Te=!0:y instanceof bi&&y.Te===!0&&(this.Te=!0),this.graduatedIntervals=null,this.If()||Cn(this,y,!1),ee=this.part,ee!==null&&(ee.Rh=null,ee.ag=NaN,this.Te&&ee instanceof Yi&&(ee.Te=!0),ee.Te&&ee instanceof Yi&&(ee.wc=null),se=this.diagram,se!==null&&se.undoManager.isUndoingRedoing||(ne!==-1&&ee.cb(Wi,"elements",this,y,null,ne,null),ee.cb(Ci,"elements",this,null,y,null,a)))};function j2(a,y){a.l=y?a.l|16777216:a.l&-16777217}It.remove=function(a){for(var y=this.O.s,ee=y.length,ne=-1,se=0;se<ee;se++)if(y[se]===a){ne=se;break}ne!==-1&&this.pc(ne,!0)},It.mb=function(a){0<=a&&this.pc(a,!0)},It.pc=function(a,y){var ee=this.O,ne=ee.M(a);if(ne.Ng=null,ne.wi(null),this.ge!==null){var se=ne.data;typeof se=="object"&&this.ge.remove(se)}ee.mb(a),hc(this,!1),this.v(),this.$g===ne&&(this.$g=null),this.graduatedIntervals=null;var ue=this.part;ue!==null&&(ue.Rh=null,ue.ag=NaN,ue.Wb(),ue instanceof Yi&&(ne instanceof bi?ne.qm(ne,function(me,be){Bw(ue,be,y)}):Bw(ue,ne,y)),ee=this.diagram,ee!==null&&ee.undoManager.isUndoingRedoing||ue.cb(Wi,"elements",this,ne,null,a,null))},It.Fb=function(a){0>a&&ir(a,">= 0",bi,"getRowDefinition:idx"),a=Math.round(a);var y=this.rowDefs;if(y[a]===void 0){var ee=new oc;ee.wi(this),ee.isRow=!0,ee.index=a,y[a]=ee,this.cb(Ci,"rowdefs",this,null,ee,null,a)}return y[a]},It.oA=function(a){if(0>a&&ir(a,">= 0",bi,"removeRowDefinition:idx"),this.rowCount!==0){a=Math.round(a);var y=this.rowDefs,ee=y[a];if(ee){y[a]=void 0;for(var ne=y.length-1;0<=ne&&y[ne--]===void 0;)y.length--;this.cb(Wi,"rowdefs",this,ee,null,a,null),this.v()}}};function TT(a,y,ee){var ne=a.rowDefs;if(!(0>y)){if(ne[y]=ee instanceof oc?ee:void 0,!ee)for(y=ne.length-1;0<=y&&ne[y--]===void 0;)ne.length--;a.v()}}It.Eb=function(a){0>a&&ir(a,">= 0",bi,"getColumnDefinition:idx"),a=Math.round(a);var y=this.colDefs;if(y[a]===void 0){var ee=new oc;ee.wi(this),ee.isRow=!1,ee.index=a,y[a]=ee,this.cb(Ci,"coldefs",this,null,ee,null,a)}return y[a]},It.jA=function(a){if(0>a&&ir(a,">= 0",bi,"removeColumnDefinition:idx"),this.columnCount!==0){a=Math.round(a);var y=this.colDefs,ee=y[a];if(ee){y[a]=void 0;for(var ne=y.length-1;0<=ne&&y[ne--]===void 0;)y.length--;this.cb(Wi,"coldefs",this,ee,null,a,null),this.v()}}};function DT(a,y,ee){var ne=a.colDefs;if(!(0>y)){if(ne[y]=ee instanceof oc?ee:void 0,!ee)for(y=ne.length-1;0<=y&&ne[y--]===void 0;)ne.length--;a.v()}}It.Gy=function(a){var y=null;return a.isRow?y=this.Fb(a.index):a.isRow||(y=this.Eb(a.index)),y&&cA(y,a),this},It.Hy=function(a,y){return(a=this.Fb(a))&&cA(a,new oc(y)),this},It.By=function(a,y){return(a=this.Eb(a))&&cA(a,new oc(y)),this},It.nz=function(a){if(0>a||this.type!==bi.Table||this.rowCount===0)return-1;for(var y=0,ee=this.rowDefs,ne=ee.length,se=this.topIndex;se<ne;se++){var ue=ee[se];if(ue!==void 0&&(y+=ue.total,a<y))break}return se},It.fz=function(a){if(0>a||this.type!==bi.Table||this.columnCount===0)return-1;for(var y=0,ee=this.colDefs,ne=ee.length,se=this.leftIndex;se<ne;se++){var ue=ee[se];if(ue!==void 0&&(y+=ue.total,a<y))break}return se},It.Fz=function(a,y){if(y===void 0&&(y=new yn(NaN,NaN)),this.type!==bi.Graduated)return y.h(NaN,NaN),y;a=Math.min(Math.max(a,this.graduatedMin),this.graduatedMax);var ee=this.Pb();return ee.geometry.Pu((a-this.graduatedMin)/this.graduatedRange,y),ee.transform.Ga(y)},It.Gz=function(a){if(this.type!==bi.Graduated)return NaN;var y=this.Pb();return y.transform.Cd(a),y.geometry.xx(a)*this.graduatedRange+this.graduatedMin};function IT(a){return a=a.allBindings,a!==null&&a._isFrozen}function Cg(a){var y=a.allBindings;if(y===null)a.data!==null&&cn("Template cannot have .data be non-null: "+a),a.allBindings=y=new Hr;else if(y._isFrozen)return;var ee=new Hr;j2(a,!1),a.qm(a,function(Ye,Je){Je.th();var st=Je.localBindings;if(st!==null)for(v1(Je,!1),st=st.iterator;st.next();){var yt=st.value;yt.mode===_1&&v1(Je,!0);var Tt=yt.sourceName;Tt!==null&&(Tt==="/"&&j2(Ye,!0),Tt=Vb(yt,Ye,Je),Tt!==null&&(ee.add(Tt),Tt.srcBindings===null&&(Tt.srcBindings=new Hr),Tt.srcBindings.add(yt))),y.add(yt)}if(Je instanceof bi&&Je.type===bi.Table){if(0<Je.rowCount){for(Ye=Je.rowDefs,st=Ye.length,yt=0;yt<st;yt++)if(Tt=Ye[yt],Tt!==void 0&&Tt.be!==null)for(var Ft=Tt.be.iterator;Ft.next();){var Zt=Ft.value;Zt.xd=Tt,Zt.to=2,Zt.wl=Tt.index,y.add(Zt)}}if(0<Je.columnCount){for(Je=Je.colDefs,Ye=Je.length,st=0;st<Ye;st++)if(yt=Je[st],yt!==void 0&&yt.be!==null)for(Tt=yt.be.iterator;Tt.next();)Ft=Tt.value,Ft.xd=yt,Ft.to=1,Ft.wl=yt.index,y.add(Ft)}}});for(var ne=ee.iterator;ne.next();){var se=ne.value;if(se.srcBindings!==null){v1(se,!0);for(var ue=se.srcBindings.iterator;ue.next();){var me=ue.value;se.localBindings===null&&(se.localBindings=new Hr),se.localBindings.add(me)}}se.srcBindings=null}for(ne=y.iterator;ne.next();)if(se=ne.value,ue=se.xd,ue!==null){se.xd=null;var be=se.targetProperty,Fe=be.indexOf(".");0<Fe&&ue instanceof bi&&(me=be.substring(0,Fe),be=be.substr(Fe+1),Fe=ue.fb(me),Fe!==null?(ue=Fe,se.targetProperty=be):fr('Warning: unable to find GraphObject named "'+me+'" for Binding: '+se.toString())),ue instanceof oc?(me=oa(ue.panel),se.Ai=me===void 0?-1:me,ue.panel.bindingId=se.Ai):ue instanceof lr?(me=oa(ue),se.Ai=me===void 0?-1:me,ue.bindingId=se.Ai):cn("Unknown type of binding target: "+ue)}y.freeze(),a instanceof _o&&a.Zc()&&a.Va()}It.Uy=function(a){a===void 0&&(a=!1);var y=this.copy();return TI(y,function(ee){ee instanceof bi&&(ee.allBindings=null,ee.ub=null);var ne=ee.localBindings;ne!==null&&(ee.localBindings=null,ne.each(function(se){ee.bind(se.copy())})),ne=ee.animationTriggers,ne!==null&&(ee.animationTriggers=null,ne.each(function(se){ee.Jv(se.value.copy())}))}),a&&Cg(y),y},It.La=function(a){var y=this.allBindings;if(y!==null)for(a===void 0&&(a=""),y=y.iterator;y.next();){var ee=y.value,ne=ee.sourceProperty;if((a===""||ne===""||ne===a)&&(ne=ee.targetProperty,ee.converter!==null||ne!=="")){ne=this.data;var se=ee.sourceName;if(se!==null){if(se==="")ne=this;else if(se==="/")ne=this;else if(se===".")ne=this;else if(se==="..")ne=this;else if(ne=this.fb(se),ne===null)continue}else if(ee.isToModel)if(ne=this.diagram,ne!==null)ne=ne.model.modelData;else continue;var ue=this,me=ee.Ai;if(me!==-1){if(ue=this.ks(me),ue===null)continue}else ee.xd!==null&&(ue=ee.xd);if(se==="/"?ne=ue.part:se==="."?ne=ue:se===".."&&(ne=ue.panel),se=ee.to,se!==0){if(!(ue instanceof bi))continue;se===1?ue=ue.Eb(ee.wl):se===2&&(ue=ue.Fb(ee.wl))}ue!==void 0&&ee.Mv(ue,ne)}}},It.sx=function(a){return a==null||this.ge===null?null:this.ge.I(a)};function DI(a,y){a=a.O.s;for(var ee=a.length,ne=y.length,se=0,ue=null;se<ee&&(ue=a[se],!(ue instanceof bi&&ue.data!==null));)se++,ue=a[se];if(ee-se!==ne)return!0;if(ue===null)return 0<ne;for(var me=0;se<ee&&me<ne;){if(ue=a[se],!(ue instanceof bi)||ue.data!==y[me])return!0;se++,me++}return!1}function As(a){if(a.type===bi.Spot||a.type===bi.Auto)return Math.min(a.O.length,1);if(a.type===bi.Link){a=a.O;for(var y=a.length,ee=0;ee<y;ee++){var ne=a.M(ee);if(!(ne instanceof Ua&&ne.isPanelMain))break}return ee}return a.type===bi.Table&&0<a.O.length&&(a=a.O.M(0),a.isPanelMain&&a instanceof bi&&K0(a))?1:0}It.mv=function(){for(var a=As(this);this.O.length>a;)this.pc(this.O.length-1,!1);bg(this,this.itemArray)};function bg(a,y){var ee=As(a);if(y===null||y.length===0)for(;a.O.length>ee;)a.pc(a.O.length-1,!1);else if(a.O.length<=ee){ee=y.length;for(var ne=0;ne<ee;ne++)El(a,y[ne],ne,!0)}else{ne=ee;for(var se=0;se<y.length;se++,ne++){var ue=y[se],me=ne<a.O.length?a.O.M(ne):null;if(me instanceof bi){if(me.data!==ue){var be=pw(a,me.data),Fe=pw(a,ue),Ye=Fe!==be;Ye||(be=Sh(a,be),Ye=Sh(a,Fe)!==be),Ye?(a.pc(ne,!1),El(a,ue,se,!1)):me.data=ue}}else El(a,ue,se,!1)}for(;ne<a.O.length;)a.pc(ne,!1);a.$g=null,qu(a,ee,0),Mf(a)||a.v(),a.graduatedIntervals=null,a.If()||Cn(a,a,!1),y=a.part,y!==null&&(y.Rh=null,y.ag=NaN,a.Te&&y instanceof Yi&&(y.Te=!0),y.Te&&y instanceof Yi&&(y.wc=null))}}function El(a,y,ee,ne){if(!(y==null||0>ee)){var se=pw(a,y);if(se=Sh(a,se),se!==null){if(Cg(se),se=se.copy(),se.l&16777216){var ue=a.ih();ue!==null&&j2(ue,!0)}typeof y=="object"&&(a.ge===null&&(a.ge=new Ji),a.ge.add(y,se)),ue=ee+As(a),a.Gb(ue,se),ne&&(se.ub=y,qu(a,ue,ee),se.ub=null),se.data=y}}}function qu(a,y,ee){for(a=a.O;y<a.length;){var ne=a.M(y);if(ne instanceof bi){var se=y,ue=ee;ne.type===bi.TableRow?ne.row=se:ne.type===bi.TableColumn&&(ne.column=se),ne.itemIndex=ue}y++,ee++}}function pw(a,y){if(y===null)return"";if(a=a.itemCategoryProperty,typeof a=="function")a=a(y);else if(typeof a=="string"&&typeof y=="object"){if(a==="")return"";a=Jl(y,a)}else return"";if(a===void 0)return"";if(typeof a=="string")return a;cn("Panel.getCategoryForItemData found a non-string category for "+y+": "+a)}function Sh(a,y){var ee=a.itemTemplateMap,ne=null;return ee!==null&&(ne=ee.I(y)),ne===null&&(ee!==null&&(ne=ee.I("")),ne===null&&(vw||(vw=!0,fr('No item template Panel found for category "'+y+'" on '+a),fr(" Using default item template."),a=new bi,y=new Dl,y.bind(new $u("text","",Nr)),a.add(y),mw=a),ne=mw)),ne}function Cn(a,y,ee){var ne=y.enabledChanged;if(ne!==null&&ne(y,ee),y instanceof bi){y=y.O.s,ne=y.length;for(var se=0;se<ne;se++){var ue=y[se];ee&&ue instanceof bi&&!ue.isEnabled||Cn(a,ue,ee)}}}function Tf(a,y){y.name=a,tg.add(a,y)}Re.Object.defineProperties(bi.prototype,{type:{get:function(){return this.na},set:function(a){var y=this.na;y!==a&&(this.na=a,this.isAtomic=this.na===bi.Grid,this.v(),this.g("type",y,a))}},elements:{get:function(){return this.O.iterator}},naturalBounds:{get:function(){return this.dc}},padding:{get:function(){return this.yb},set:function(a){typeof a=="number"?(0>a&&ir(a,">= 0",bi,"padding"),a=new jo(a)):(0>a.left&&ir(a.left,">= 0",bi,"padding:value.left"),0>a.right&&ir(a.right,">= 0",bi,"padding:value.right"),0>a.top&&ir(a.top,">= 0",bi,"padding:value.top"),0>a.bottom&&ir(a.bottom,">= 0",bi,"padding:value.bottom"));var y=this.yb;y.D(a)||(this.yb=a=a.J(),this.v(),this.g("padding",y,a))}},defaultAlignment:{get:function(){return this.Tm},set:function(a){var y=this.Tm;y.D(a)||(this.Tm=a=a.J(),this.v(),this.g("defaultAlignment",y,a))}},defaultStretch:{get:function(){return this.Uf},set:function(a){var y=this.Uf;y!==a&&(this.Uf=a,this.v(),this.g("defaultStretch",y,a))}},defaultSeparatorPadding:{get:function(){return this.T!==null?this.T.Qp:Oc},set:function(a){typeof a=="number"&&(a=new jo(a));var y=this.defaultSeparatorPadding;y.D(a)||(a=a.J(),this.T===null&&(this.T=new af),this.T.Qp=a,this.v(),this.g("defaultSeparatorPadding",y,a))}},defaultRowSeparatorStroke:{get:function(){return this.T!==null?this.T.ia:null},set:function(a){var y=this.defaultRowSeparatorStroke;y!==a&&(a===null||typeof a=="string"||a instanceof il)&&(a instanceof il&&a.freeze(),this.T===null&&(this.T=new af),this.T.ia=a,this.N(),this.g("defaultRowSeparatorStroke",y,a))}},defaultRowSeparatorStrokeWidth:{get:function(){return this.T!==null?this.T.Ha:1},set:function(a){var y=this.defaultRowSeparatorStrokeWidth;y!==a&&isFinite(a)&&0<=a&&(this.T===null&&(this.T=new af),this.T.Ha=a,this.v(),this.g("defaultRowSeparatorStrokeWidth",y,a))}},defaultRowSeparatorDashArray:{get:function(){return this.T!==null?this.T.V:null},set:function(a){var y=this.defaultRowSeparatorDashArray;if(y!==a){if(a!==null){for(var ee=a.length,ne=0,se=0;se<ee;se++){var ue=a[se];typeof ue=="number"&&0<=ue&&isFinite(ue)||cn("defaultRowSeparatorDashArray value "+ue+" at index "+se+" must be a positive number or zero."),ne+=ue}if(ne===0){if(y===null)return;a=null}}this.T===null&&(this.T=new af),this.T.V=a,this.N(),this.g("defaultRowSeparatorDashArray",y,a)}}},defaultColumnSeparatorStroke:{get:function(){return this.T!==null?this.T.u:null},set:function(a){var y=this.defaultColumnSeparatorStroke;y!==a&&(a===null||typeof a=="string"||a instanceof il)&&(a instanceof il&&a.freeze(),this.T===null&&(this.T=new af),this.T.u=a,this.N(),this.g("defaultColumnSeparatorStroke",y,a))}},defaultColumnSeparatorStrokeWidth:{get:function(){return this.T!==null?this.T.F:1},set:function(a){var y=this.defaultColumnSeparatorStrokeWidth;y!==a&&isFinite(a)&&0<=a&&(this.T===null&&(this.T=new af),this.T.F=a,this.v(),this.g("defaultColumnSeparatorStrokeWidth",y,a))}},defaultColumnSeparatorDashArray:{get:function(){return this.T!==null?this.T.o:null},set:function(a){var y=this.defaultColumnSeparatorDashArray;if(y!==a){if(a!==null){for(var ee=a.length,ne=0,se=0;se<ee;se++){var ue=a[se];typeof ue=="number"&&0<=ue&&isFinite(ue)||cn("defaultColumnSeparatorDashArray value "+ue+" at index "+se+" must be a positive number or zero."),ne+=ue}if(ne===0){if(y===null)return;a=null}}this.T===null&&(this.T=new af),this.T.o=a,this.N(),this.g("defaultColumnSeparatorDashArray",y,a)}}},inRowsCols:{get:function(){return this.T!==null?this.T.nb:null},set:function(a){this.T===null&&(this.T=new af),this.T.nb=a}},viewboxStretch:{get:function(){return this.xo},set:function(a){var y=this.xo;y!==a&&(this.xo=a,this.v(),this.g("viewboxStretch",y,a))}},gridCellSize:{get:function(){return this.jn},set:function(a){var y=this.jn;if(!y.D(a)){a.w()&&a.width!==0&&a.height!==0||cn("Invalid Panel.gridCellSize: "+a),this.jn=a.J();var ee=this.diagram;ee!==null&&this===ee.grid&&yg(ee),this.N(),this.g("gridCellSize",y,a)}}},gridOrigin:{get:function(){return this.kn},set:function(a){var y=this.kn;if(!y.D(a)){a.w()||cn("Invalid Panel.gridOrigin: "+a),this.kn=a.J();var ee=this.diagram;ee!==null&&this===ee.grid&&yg(ee),this.N(),this.g("gridOrigin",y,a)}}},graduatedMin:{get:function(){return this.ra!==null?this.ra.lq:0},set:function(a){var y=this.graduatedMin;y!==a&&(this.ra===null&&(this.ra=new Np),this.ra.lq=a,this.v(),this.g("graduatedMin",y,a),sh(this)&&(a=this.part,a!==null&&Ul(this,a,"graduatedRange")))}},graduatedMax:{get:function(){return this.ra!==null?this.ra.F:100},set:function(a){var y=this.graduatedMax;y!==a&&(this.ra===null&&(this.ra=new Np),this.ra.F=a,this.v(),this.g("graduatedMax",y,a),sh(this)&&(a=this.part,a!==null&&Ul(this,a,"graduatedRange")))}},graduatedRange:{get:function(){return this.graduatedMax-this.graduatedMin}},graduatedTickUnit:{get:function(){return this.ra!==null?this.ra.ia:10},set:function(a){var y=this.graduatedTickUnit;y!==a&&0<a&&(this.ra===null&&(this.ra=new Np),this.ra.ia=a,this.v(),this.g("graduatedTickUnit",y,a))}},graduatedTickBase:{get:function(){return this.ra!==null?this.ra.V:0},set:function(a){var y=this.graduatedTickBase;y!==a&&(this.ra===null&&(this.ra=new Np),this.ra.V=a,this.v(),this.g("graduatedTickBase",y,a))}},graduatedMarks:{get:function(){return this.ra!==null?this.ra.u:null},set:function(a){this.ra!==null?this.ra.u=a:a!==null&&(this.ra=new Np,this.ra.u=a)}},graduatedBounds:{get:function(){return this.ra!==null?this.ra.j:null},set:function(a){this.ra!==null?this.ra.j=a:a!==null&&(this.ra=new Np,this.ra.j=a)}},graduatedIntervals:{get:function(){return this.ra!==null?this.ra.o:null},set:function(a){this.ra!==null?this.ra.o=a:a!==null&&(this.ra=new Np,this.ra.o=a)}},temporaryTextBlock:{get:function(){return this.ra!==null?this.ra.Zh:null},set:function(a){this.ra!==null?this.ra.Zh=a:a!==null&&(this.ra=new Np,this.ra.Zh=a)}},panelLayoutState:{get:function(){return this.F},set:function(a){this.F=a}},Te:{get:function(){return(this.l&8388608)!==0},set:function(a){(this.l&8388608)!==0!==a&&(this.l^=8388608)}},rowDefs:{get:function(){return this.T===null&&(this.T=new af),this.T.Pc}},rowCount:{get:function(){return this.T===null?0:this.rowDefs.length}},colDefs:{get:function(){return this.T===null&&(this.T=new af),this.T.Oc}},columnCount:{get:function(){return this.T===null?0:this.colDefs.length}},rowSizing:{get:function(){return this.T!==null?this.T.ob:fy},set:function(a){var y=this.rowSizing;y!==a&&(this.T===null&&(this.T=new af),this.T.ob=a,this.v(),this.g("rowSizing",y,a))}},columnSizing:{get:function(){return this.T!==null?this.T.j:fy},set:function(a){var y=this.columnSizing;y!==a&&(this.T===null&&(this.T=new af),this.T.j=a,this.v(),this.g("columnSizing",y,a))}},topIndex:{get:function(){return this.T!==null?this.T.Hb:0},set:function(a){var y=this.topIndex;y!==a&&((!isFinite(a)||0>a)&&cn("Panel.topIndex must be greater than zero and a real number, not: "+a),this.T===null&&(this.T=new af),this.T.Hb=a,this.v(),this.g("topIndex",y,a))}},leftIndex:{get:function(){return this.T!==null?this.T.hb:0},set:function(a){var y=this.leftIndex;y!==a&&((!isFinite(a)||0>a)&&cn("Panel.leftIndex must be greater than zero and a real number, not: "+a),this.T===null&&(this.T=new af),this.T.hb=a,this.v(),this.g("leftIndex",y,a))}},data:{get:function(){return this.ub},set:function(a){var y=this.ub;if(y!==a){var ee=this instanceof _o&&!(this instanceof Cs);Cg(this),this.ub=a;var ne=this.diagram;ne!==null&&(ee?(ee=ne.partManager,this instanceof Oi?(y!==null&&ee.bf.remove(y),a!==null&&ee.bf.add(a,this)):this instanceof _o&&(y!==null&&ee.cf.remove(y),a!==null&&ee.cf.add(a,this))):(ee=this.panel,ee!==null&&ee.ge!==null&&(y!==null&&ee.ge.remove(y),a!==null&&ee.ge.add(a,this)))),this.g("data",y,a),ne!==null&&ne.undoManager.isUndoingRedoing||a!==null&&this.La()}}},itemIndex:{get:function(){return this.zn},set:function(a){var y=this.zn;y!==a&&(this.zn=a,this.g("itemIndex",y,a))}},allBindings:{get:function(){return this.A!==null?this.A.nb:null},set:function(a){this.localBindings!==a&&(this.A===null&&(this.A=new m1),this.A.nb=a)}},itemArray:{get:function(){return this.Hh},set:function(a){var y=this.Hh;if(y!==a||a!==null&&DI(this,a)){var ee=this.diagram;y!==a&&(ee!==null&&y!==null&&Kw(ee.partManager,this,ee),this.Hh=a,ee!==null&&a!==null&&Vw(ee.partManager,this)),this.g("itemArray",y,a),ee!==null&&ee.undoManager.isUndoingRedoing||bg(this,a)}}},itemTemplate:{get:function(){return this.itemTemplateMap===null?null:this.itemTemplateMap.I("")},set:function(a){if(this.itemTemplateMap===null){if(a===null)return;this.itemTemplateMap=new Ji}var y=this.itemTemplateMap.I("");y!==a&&((a instanceof _o||a.isPanelMain)&&cn("Panel.itemTemplate must not be a Part or be Panel.isPanelMain: "+a),this.itemTemplateMap.add("",a),this.g("itemTemplate",y,a),a=this.diagram,a!==null&&a.undoManager.isUndoingRedoing||this.mv())}},itemTemplateMap:{get:function(){return this.A!==null?this.A.Pc:null},set:function(a){var y=this.itemTemplateMap;if(y!==a){for(var ee=a.iterator;ee.next(););Qa(this),this.A.Pc=a,this.g("itemTemplateMap",y,a),a=this.diagram,a!==null&&a.undoManager.isUndoingRedoing||this.mv()}}},itemCategoryProperty:{get:function(){return this.A!==null?this.A.Oc:"category"},set:function(a){var y=this.itemCategoryProperty;y!==a&&(Qa(this),this.A.Oc=a,this.g("itemCategoryProperty",y,a))}},isAtomic:{get:function(){return(this.l&1048576)!==0},set:function(a){var y=(this.l&1048576)!==0;y!==a&&(this.l^=1048576,this.g("isAtomic",y,a))}},isClipping:{get:function(){return(this.l&2097152)!==0},set:function(a){var y=(this.l&2097152)!==0;y!==a&&(this.l^=2097152,this instanceof Ma&&(this.tb=null),this.v(),this.g("isClipping",y,a))}},isOpposite:{get:function(){return(this.l&33554432)!==0},set:function(a){var y=(this.l&33554432)!==0;y!==a&&(this.l^=33554432,this.v(),this.g("isOpposite",y,a))}},isEnabled:{get:function(){return(this.l&4194304)!==0},set:function(a){var y=(this.l&4194304)!==0;if(y!==a){var ee=this.panel===null||this.panel.If();this.l^=4194304,this.g("isEnabled",y,a),y=this.diagram,y!==null&&y.undoManager.isUndoingRedoing||ee&&Cn(this,this,a)}}},alignmentFocusName:{get:function(){return this.$e},set:function(a){var y=this.$e;y!==a&&(this.$e=a,this.v(),this.g("alignmentFocusName",y,a))}}}),Re.Object.defineProperties(bi,{Position:{get:function(){return tg.I("Position")}},Horizontal:{get:function(){return tg.I("Horizontal")}},Vertical:{get:function(){return tg.I("Vertical")}},Spot:{get:function(){return tg.I("Spot")}},Auto:{get:function(){return tg.I("Auto")}},Table:{get:function(){return tg.I("Table")}},Viewbox:{get:function(){return tg.I("Viewbox")}},TableRow:{get:function(){return tg.I("TableRow")}},TableColumn:{get:function(){return tg.I("TableColumn")}},Link:{get:function(){return tg.I("Link")}},Grid:{get:function(){return tg.I("Grid")}},Graduated:{get:function(){return tg.I("Graduated")}}}),bi.prototype.rebuildItemElements=bi.prototype.mv,bi.prototype.findItemPanelForData=bi.prototype.sx,bi.prototype.updateTargetBindings=bi.prototype.La,bi.prototype.copyTemplate=bi.prototype.Uy,bi.prototype.graduatedValueForPoint=bi.prototype.Gz,bi.prototype.graduatedPointForValue=bi.prototype.Fz,bi.prototype.findColumnForLocalX=bi.prototype.fz,bi.prototype.findRowForLocalY=bi.prototype.nz,bi.prototype.addColumnDefinition=bi.prototype.By,bi.prototype.addRowDefinition=bi.prototype.Hy,bi.prototype.addRowColumnDefinition=bi.prototype.Gy,bi.prototype.removeColumnDefinition=bi.prototype.jA,bi.prototype.getColumnDefinition=bi.prototype.Eb,bi.prototype.removeRowDefinition=bi.prototype.oA,bi.prototype.getRowDefinition=bi.prototype.Fb,bi.prototype.removeAt=bi.prototype.mb,bi.prototype.remove=bi.prototype.remove,bi.prototype.insertAt=bi.prototype.Gb,bi.prototype.elt=bi.prototype.M,bi.prototype.add=bi.prototype.add,bi.prototype.findObject=bi.prototype.fb,bi.prototype.findInVisualTree=bi.prototype.Nl,bi.prototype.walkVisualTreeFrom=bi.prototype.qm,bi.prototype.findMainElement=bi.prototype.Pb;var vw=!1,mw=null,tg=new Ji;bi.className="Panel",bi.definePanelLayout=Tf,Tf("Position",new nw),Tf("Vertical",new iw),Tf("Auto",new aw),Tf("Link",new dw);function Np(){this.lq=0,this.F=100,this.ia=10,this.V=0,this.Zh=this.o=this.j=this.u=null}Np.prototype.copy=function(){var a=new Np;return a.lq=this.lq,a.F=this.F,a.ia=this.ia,a.V=this.V,a.u=this.u,a.j=this.j,a.o=this.o,a.Zh=this.Zh,a},Np.className="GradPanelSettings";function af(){this.Pc=[],this.Oc=[],this.j=this.ob=fy,this.hb=this.Hb=0,this.Qp=Oc,this.Ha=1,this.V=this.ia=null,this.F=1,this.nb=this.o=this.u=null}af.prototype.copy=function(a){for(var y=new af,ee=this.Pc,ne=ee.length,se=y.Pc,ue=0;ue<ne;ue++)if(ee[ue]!==void 0){var me=ee[ue].copy();me.wi(a),se[ue]=me}for(ee=this.Oc,ne=ee.length,se=y.Oc,ue=0;ue<ne;ue++)ee[ue]!==void 0&&(me=ee[ue].copy(),me.wi(a),se[ue]=me);return y.ob=this.ob,y.j=this.j,y.Hb=this.Hb,y.hb=this.hb,y.Qp=this.Qp.J(),y.Ha=this.Ha,y.ia=this.ia,y.V=this.V,y.F=this.F,y.u=this.u,y.o=this.o,y.nb=this.nb,y},af.className="TablePanelSettings";function oc(a){Ca(this),this.Me=null,this.uq=!0,this.Za=0,this.Hc=NaN,this.jj=0,this.hj=1/0,this.Jb=Zs,this.pa=this.oc=this.oa=0,this.be=null,this.oo=yw,this.hg=Na,this.lo=this.dg=null,this.mo=NaN,this.Ma=this.tj=null,this.Pm=!1,a&&(Object.assign(this,a),a.column!==void 0?(this.isRow=!1,this.index=a.column):a.row!==void 0&&(this.isRow=!0,this.index=a.row))}oc.prototype.copy=function(){var a=new oc;return a.uq=this.uq,a.Za=this.Za,a.Hc=this.Hc,a.jj=this.jj,a.hj=this.hj,a.Jb=this.Jb,a.oa=this.oa,a.oc=this.oc,a.pa=this.pa,a.hg=this.hg,a.oo=this.oo,this.dg===null?a.dg=null:a.dg=this.dg.J(),a.lo=this.lo,a.mo=this.mo,a.tj=null,this.tj!==null&&(a.separatorDashArray=Bn(this.separatorDashArray)),a.Ma=this.Ma,a.Pm=this.Pm,a.be=this.be,a};function cA(a,y){y.isRow?a.height=y.height:a.width=y.width,a.minimum=y.minimum,a.maximum=y.maximum,a.alignment=y.alignment,a.stretch=y.stretch,a.sizing=y.sizing,a.dg=y.separatorPadding===null?null:y.separatorPadding.J(),a.separatorStroke=y.separatorStroke,a.separatorStrokeWidth=y.separatorStrokeWidth,a.tj=null,y.separatorDashArray&&(a.tj=Bn(y.separatorDashArray)),a.background=y.background,a.coversSeparators=y.coversSeparators,a.be=y.be}It=oc.prototype,It.qb=function(a){a.classType===oc&&(this.sizing=a)},It.toString=function(){return"RowColumnDefinition "+(this.isRow?"(Row ":"(Column ")+this.index+") #"+oa(this)},It.wi=function(a){this.Me=a},It.Io=function(a){var y=0,ee=this.Me;if(this.index!==a&&(a=this.separatorStroke,a===null&&ee!==null&&(a=this.isRow?ee.defaultRowSeparatorStroke:ee.defaultColumnSeparatorStroke),a!==null&&(y=this.separatorStrokeWidth,isNaN(y)&&(ee!==null?y=this.isRow?ee.defaultRowSeparatorStrokeWidth:ee.defaultColumnSeparatorStrokeWidth:y=0))),a=this.dg,a===null)if(ee!==null)a=ee.defaultSeparatorPadding;else return y;return y+(this.isRow?a.top:a.left)},It.Wc=function(){var a=0,y=this.Me,ee=0,ne=this.isRow;if(y!==null&&y.type===bi.Table)for(var se=ne?y.rowDefs.length:y.colDefs.length,ue=0;ue<se;ue++){var me=ne?y.rowDefs[ue]:y.colDefs[ue];if(me!==void 0&&me.oa!==0){ee=me.index;break}}if(this.index!==ee&&(ee=this.separatorStroke,ee===null&&y!==null&&(ee=ne?y.defaultRowSeparatorStroke:y.defaultColumnSeparatorStroke),ee!==null&&(a=this.separatorStrokeWidth,isNaN(a)&&(y!==null?a=ne?y.defaultRowSeparatorStrokeWidth:y.defaultColumnSeparatorStrokeWidth:a=0))),ne=this.dg,ne===null)if(y!==null)ne=y.defaultSeparatorPadding;else return a;return a+(this.isRow?ne.top+ne.bottom:ne.left+ne.right)},It.Ob=function(a,y,ee){var ne=this.Me;if(ne!==null&&(ne.cb(mi,a,this,y,ee,void 0,void 0),this.be!==null&&(y=ne.diagram,y!==null&&!y.skipsModelSourceBindings&&(ne=ne.ih(),ne!==null&&(y=ne.data,y!==null)))))for(ee=this.be.iterator;ee.next();)ee.value.sp(this,y,a,ne)};function Dv(a){if(a.sizing===yw){var y=a.Me;return a.isRow?y.rowSizing:y.columnSizing}return a.sizing}It.bind=function(a,y,ee,ne){var se=null;return typeof a=="string"?se=new $u(a,y,ee,ne):se=a,se.xd=this,a=this.panel,a!==null&&(y=a.ih(),y!==null&&IT(y)&&cn("Cannot add a Binding to a RowColumnDefinition that is already frozen: "+se+" on "+a)),this.be===null&&(this.be=new Hr),this.be.add(se),this},Re.Object.defineProperties(oc.prototype,{panel:{get:function(){return this.Me}},isRow:{get:function(){return this.uq},set:function(a){this.uq=a}},index:{get:function(){return this.Za},set:function(a){this.Za=a}},height:{get:function(){return this.Hc},set:function(a){var y=this.Hc;y!==a&&(0>a&&ir(a,">= 0",oc,"height"),this.Hc=a,this.actual=this.oa,this.panel!==null&&this.panel.v(),this.Ob("height",y,a))}},width:{get:function(){return this.Hc},set:function(a){var y=this.Hc;y!==a&&(0>a&&ir(a,">= 0",oc,"width"),this.Hc=a,this.actual=this.oa,this.panel!==null&&this.panel.v(),this.Ob("width",y,a))}},minimum:{get:function(){return this.jj},set:function(a){var y=this.jj;y!==a&&((0>a||!isFinite(a))&&ir(a,">= 0",oc,"minimum"),this.jj=a,this.actual=this.oa,this.panel!==null&&this.panel.v(),this.Ob("minimum",y,a))}},maximum:{get:function(){return this.hj},set:function(a){var y=this.hj;y!==a&&(0>a&&ir(a,">= 0",oc,"maximum"),this.hj=a,this.actual=this.oa,this.panel!==null&&this.panel.v(),this.Ob("maximum",y,a))}},alignment:{get:function(){return this.Jb},set:function(a){var y=this.Jb;y.D(a)||(this.Jb=a.J(),this.panel!==null&&this.panel.v(),this.Ob("alignment",y,a))}},stretch:{get:function(){return this.hg},set:function(a){var y=this.hg;y!==a&&(this.hg=a,this.panel!==null&&this.panel.v(),this.Ob("stretch",y,a))}},separatorPadding:{get:function(){return this.dg},set:function(a){typeof a=="number"&&(a=new jo(a));var y=this.dg;a!==null&&y!==null&&y.D(a)||(a!==null&&(a=a.J()),this.dg=a,this.panel!==null&&this.panel.v(),this.Ob("separatorPadding",y,a))}},separatorStroke:{get:function(){return this.lo},set:function(a){var y=this.lo;y!==a&&(a!==null&&E1(a,"RowColumnDefinition.separatorStroke"),a instanceof il&&a.freeze(),this.lo=a,this.panel!==null&&this.panel.v(),this.Ob("separatorStroke",y,a))}},separatorStrokeWidth:{get:function(){return this.mo},set:function(a){var y=this.mo;y!==a&&(this.mo=a,this.panel!==null&&this.panel.v(),this.Ob("separatorStrokeWidth",y,a))}},separatorDashArray:{get:function(){return this.tj},set:function(a){var y=this.tj;if(y!==a){if(a!==null){for(var ee=a.length,ne=0,se=0;se<ee;se++){var ue=a[se];typeof ue=="number"&&0<=ue&&isFinite(ue)||cn("separatorDashArray value "+ue+" at index "+se+" must be a positive number or zero."),ne+=ue}if(ne===0){if(y===null)return;a=null}}this.tj=a,this.panel!==null&&this.panel.N(),this.Ob("separatorDashArray",y,a)}}},background:{get:function(){return this.Ma},set:function(a){var y=this.Ma;y!==a&&(a!==null&&E1(a,"RowColumnDefinition.background"),a instanceof il&&a.freeze(),this.Ma=a,this.panel!==null&&this.panel.N(),this.Ob("background",y,a))}},coversSeparators:{get:function(){return this.Pm},set:function(a){var y=this.Pm;y!==a&&(this.Pm=a,this.panel!==null&&this.panel.N(),this.Ob("coversSeparators",y,a))}},sizing:{get:function(){return this.oo},set:function(a){var y=this.oo;y!==a&&(this.oo=a,this.panel!==null&&this.panel.v(),this.Ob("sizing",y,a))}},actual:{get:function(){return this.oa},set:function(a){this.oa=isNaN(this.Hc)?Math.max(Math.min(this.hj,a),this.jj):Math.max(Math.min(this.hj,this.Hc),this.jj)}},measured:{get:function(){return this.oc},set:function(a){this.oc=a}},total:{get:function(){return this.oa+this.Wc()}},position:{get:function(){return this.pa},set:function(a){this.pa=a}}}),oc.prototype.computeEffectiveSpacing=oc.prototype.Wc,oc.prototype.computeEffectiveSpacingTop=oc.prototype.Io;var yw=new nr(oc,"Default",0),_x=new nr(oc,"None",1),fy=new nr(oc,"ProportionalExtra",2);oc.className="RowColumnDefinition",oc.Default=yw,oc.None=_x,oc.ProportionalExtra=fy;function Ua(a,y){lr.call(this),this.Rd=this.ua=null,this.an="None",this.xc=this.Ui="black",this.ig=1,this.Na=this.Yg=null,this.Vn=this.Un=NaN,this.fa=null,typeof a=="string"?this.figure=a:a&&Object.assign(this,a),y&&Object.assign(this,y)}He(Ua,lr),Ua.prototype.cloneProtected=function(a){lr.prototype.cloneProtected.call(this,a),a.ua=this.ua,a.Rd=this.Rd,a.an=this.an,a.Ui=this.Ui,a.xc=this.xc,a.ig=this.ig,this.Yg!==null&&(a.Yg=Bn(this.Yg)),this.Na!==null&&(a.Na=this.Na.nc?this.Na:this.Na.copy()),a.Un=this.Un,a.Vn=this.Vn,this.fa!==null&&(a.fa=this.fa.copy())};function Am(a){a.Na===null?a.Na=new Ew:a.Na.nc&&(a.Na=a.Na.copy())}It=Ua.prototype,It.th=function(){lr.prototype.th.call(this),this.Na!==null&&(this.Na.nc=!0)},It.qb=function(a){a===fi||a===Mo||a===vs||a===Na?this.geometryStretch=a:lr.prototype.qb.call(this,a)},It.toString=function(){return"Shape("+(this.figure!=="None"?this.figure:this.toArrow!=="None"?this.toArrow:this.fromArrow)+")#"+oa(this)};function C1(a,y,ee,ne){var se=ee.length;if(!(4>se)){var ue=ne.measuredBounds,me=Math.max(1,ue.width);ue=ue.height;for(var be=ee[0],Fe=ee[1],Ye,Je,st,yt,Tt,Ft,Zt=0,bn=pr(),fn=2;fn<se;fn+=2)Ye=ee[fn],Je=ee[fn+1],st=Ye-be,be=Je-Fe,st===0&&(st=.001),yt=be/st,Tt=Math.atan2(be,st),Ft=Math.sqrt(st*st+be*be),bn.push([st,Tt,yt,Ft]),Zt+=Ft,be=Ye,Fe=Je;be=ee[0],Fe=ee[1],st=ne.measuredBounds.width,ne instanceof Ua&&(st-=ne.strokeWidth),1>st&&(st=1),se=ee=st,Ye=me/2,Je=Ye!==0,fn=0,Ft=bn[fn],st=Ft[0],Tt=Ft[1],yt=Ft[2],Ft=Ft[3];for(var Fn=0;.1<=Zt;){if(Fn===0&&(Je?(se=ee,se-=Ye,Zt-=Ye,Je=!1):se=ee,se===0&&(se=1)),se>Zt){Mr(bn);return}se>Ft?(Fn=se-Ft,se=Ft):Fn=0;var zn=Math.sqrt(se*se/(1+yt*yt));if(0>st&&(zn=-zn),be+=zn,Fe+=yt*zn,a.translate(be,Fe),a.rotate(Tt),a.translate(-(me/2),-(ue/2)),Fn===0&&ne.hh(a,y),a.translate(me/2,ue/2),a.rotate(-Tt),a.translate(-be,-Fe),Zt-=se,Ft-=se,Fn!==0){if(fn++,fn===bn.length){Mr(bn);return}Ft=bn[fn],st=Ft[0],Tt=Ft[1],yt=Ft[2],Ft=Ft[3],se=Fn}}Mr(bn)}}It.hh=function(a,y){var ee=this.xc,ne=this.Ui;if(ee!==null||ne!==null){var se=this.ua;if(se!==null){a.yc();var ue=this.actualBounds,me=this.naturalBounds;ne!==null&&Nu(this,a,ne,!0,!1,me,ue);var be=this.part,Fe=this.ig;if(ee===null||Fe!==0||be===null||!this.isPanelMain&&be.Pb()!==this||(Fe=be.type===bi.Link&&be instanceof Cs&&be.category==="Selection"&&be.adornedObject instanceof Ua&&be.adornedPart.Pb()===be.adornedObject?be.adornedObject.strokeWidth:0),Fe===0&&(ee=null),ee!==null&&Fe!==0&&(Nu(this,a,ee,!1,!1,me,ue),a.lineWidth=Fe,a.lineJoin=this.strokeJoin,a.lineCap=this.strokeCap,a.miterLimit=this.strokeMiterLimit),ue=!1,be&&y.Gf("drawShadows")&&(ue=be.isShadowed),a.Il===!1&&(ue=!1),be=!0,ee===null||ne!==null&&ne!=="transparent"||(be=!1),me=!1,Fe=this.strokeDashArray,Fe!==null&&(me=!0,a.js(Fe,this.strokeDashOffset)),se.type===wi.j)a.beginPath(),a.moveTo(se.startX,se.startY),a.lineTo(se.endX,se.endY),ee!==null&&a.jk(),a.Se();else if(se.type===wi.u){var Ye=se.startX;Fe=se.startY;var Je=se.endX,st=se.endY;se=Math.min(Ye,Je);var yt=Math.min(Fe,st);Ye=Math.abs(Je-Ye),Fe=Math.abs(st-Fe),a.beginPath(),a.rect(se,yt,Ye,Fe),ne!==null&&a.ng(ne),ee!==null&&(be&&ue&&s0(a),a.jk(),be&&ue&&l0(a)),a.Se()}else if(se.type===wi.F)Ye=se.startX,Fe=se.startY,Je=se.endX,st=se.endY,se=Math.abs(Je-Ye)/2,yt=Math.abs(st-Fe)/2,Ye=Math.min(Ye,Je)+se,Fe=Math.min(Fe,st)+yt,a.beginPath(),a.moveTo(Ye,Fe-yt),a.bezierCurveTo(Ye+dr.wg*se,Fe-yt,Ye+se,Fe-dr.wg*yt,Ye+se,Fe),a.bezierCurveTo(Ye+se,Fe+dr.wg*yt,Ye+dr.wg*se,Fe+yt,Ye,Fe+yt),a.bezierCurveTo(Ye-dr.wg*se,Fe+yt,Ye-se,Fe+dr.wg*yt,Ye-se,Fe),a.bezierCurveTo(Ye-se,Fe-dr.wg*yt,Ye-dr.wg*se,Fe-yt,Ye,Fe-yt),a.closePath(),ne!==null&&a.ng(ne),ee!==null&&(be&&ue&&s0(a),a.jk(),be&&ue&&l0(a)),a.Se();else if(se.type===wi.o)for(se=se.figures,Fe=se.length,yt=0;yt<Fe;yt++){Ye=se.s[yt],a.beginPath(),a.moveTo(Ye.startX,Ye.startY),Je=Ye.segments.s,st=Je.length;for(var Tt=null,Ft=0;Ft<st;Ft++){var Zt=Je[Ft];switch(Zt.type){case $l:a.moveTo(Zt.endX,Zt.endY);break;case xl:a.lineTo(Zt.endX,Zt.endY);break;case cc:a.bezierCurveTo(Zt.point1X,Zt.point1Y,Zt.point2X,Zt.point2Y,Zt.endX,Zt.endY);break;case on:a.quadraticCurveTo(Zt.point1X,Zt.point1Y,Zt.endX,Zt.endY);break;case En:if(Zt.radiusX===Zt.radiusY){var bn=Math.PI/180;a.arc(Zt.point1X,Zt.point1Y,Zt.radiusX,Zt.startAngle*bn,(Zt.startAngle+Zt.sweepAngle)*bn,0>Zt.sweepAngle,Tt!==null?Tt.endX:Ye.startX,Tt!==null?Tt.endY:Ye.startY)}else if(Tt=cl(Zt,Ye),bn=Tt.length,bn===0)a.lineTo(Zt.centerX,Zt.centerY);else for(var fn=0;fn<bn;fn++){var Fn=Tt[fn];fn===0&&a.lineTo(Fn[0],Fn[1]),a.bezierCurveTo(Fn[2],Fn[3],Fn[4],Fn[5],Fn[6],Fn[7])}break;case Dn:if(fn=bn=0,Tt!==null&&Tt.type===En){if(Tt=cl(Tt,Ye),Fn=Tt.length,Fn===0){a.lineTo(Zt.endX,Zt.endY);break}Tt=Tt[Fn-1]||null,Tt!==null&&(bn=Tt[6],fn=Tt[7])}else bn=Tt!==null?Tt.endX:Ye.startX,fn=Tt!==null?Tt.endY:Ye.startY;if(Tt=Vc(Zt,Ye,bn,fn),bn=Tt.length,bn===0){a.lineTo(Zt.endX,Zt.endY);break}for(fn=0;fn<bn;fn++)Fn=Tt[fn],a.bezierCurveTo(Fn[2],Fn[3],Fn[4],Fn[5],Fn[6],Fn[7]);break;default:cn("Segment not of valid type: "+Zt.type)}Zt.isClosed&&a.closePath(),Tt=Zt}Je=Ye.isFilled,ue?Ye.isShadowed?(Je===!0&&ne!=="transparent"&&ne!==null&&a.ng(ne,Ye.isEvenOdd),ee!==null&&(Je&&be&&s0(a),a.jk(),Je&&be&&l0(a))):(s0(a),Je&&ne!=="transparent"&&ne!==null&&a.ng(ne,Ye.isEvenOdd),ee!==null&&a.jk(),l0(a)):(Je&&ne!==null&&a.ng(ne,Ye.isEvenOdd),ee!==null&&a.jk()),a.Se(yt)}if(me&&a.fs(),this.pathPattern!==null){if(ee=this.pathPattern,ee.measure(1/0,1/0),ne=ee.measuredBounds,ee.arrange(0,0,ne.width,ne.height),ue=this.geometry,a.save(),a.beginPath(),ne=pr(),ue.type===wi.j)ne.push(ue.startX),ne.push(ue.startY),ne.push(ue.endX),ne.push(ue.endY),C1(a,y,ne,ee);else if(ue.type===wi.o)for(ue=ue.figures.iterator;ue.next();){for(be=ue.value,ne.length=0,ne.push(be.startX),ne.push(be.startY),me=be.startX,se=be.startY,Fe=me,yt=se,Ye=be.segments.s,Je=Ye.length,st=0;st<Je;st++){switch(Ft=Ye[st],Ft.type){case $l:C1(a,y,ne,ee),ne.length=0,ne.push(Ft.endX),ne.push(Ft.endY),me=Ft.endX,se=Ft.endY,Fe=me,yt=se;break;case xl:ne.push(Ft.endX),ne.push(Ft.endY),me=Ft.endX,se=Ft.endY;break;case cc:dr.Qe(me,se,Ft.point1X,Ft.point1Y,Ft.point2X,Ft.point2Y,Ft.endX,Ft.endY,.5,ne),me=Ft.endX,se=Ft.endY;break;case on:dr.ep(me,se,Ft.point1X,Ft.point1Y,Ft.endX,Ft.endY,.5,ne),me=Ft.endX,se=Ft.endY;break;case En:if(Zt=cl(Ft,be),Tt=Zt.length,Tt===0){ne.push(Ft.centerX),ne.push(Ft.centerY),me=Ft.centerX,se=Ft.centerY;break}for(bn=0;bn<Tt;bn++)fn=Zt[bn],dr.Qe(me,se,fn[2],fn[3],fn[4],fn[5],fn[6],fn[7],.5,ne),me=fn[6],se=fn[7];break;case Dn:if(Zt=Vc(Ft,be,me,se),Tt=Zt.length,Tt===0){ne.push(Ft.endX),ne.push(Ft.endY),me=Ft.endX,se=Ft.endY;break}for(bn=0;bn<Tt;bn++)fn=Zt[bn],dr.Qe(me,se,fn[2],fn[3],fn[4],fn[5],fn[6],fn[7],.5,ne),me=fn[6],se=fn[7];break;default:cn("Segment not of valid type: "+Ft.type)}Ft.isClosed&&(ne.push(Fe),ne.push(yt),C1(a,y,ne,ee))}C1(a,y,ne,ee)}else if(ue.type===wi.u)ne.push(ue.startX),ne.push(ue.startY),ne.push(ue.endX),ne.push(ue.startY),ne.push(ue.endX),ne.push(ue.endY),ne.push(ue.startX),ne.push(ue.endY),ne.push(ue.startX),ne.push(ue.startY),C1(a,y,ne,ee);else if(ue.type===wi.F){if(se=new Gu,se.startX=ue.endX,se.startY=(ue.startY+ue.endY)/2,me=new Ps(En),me.startAngle=0,me.sweepAngle=360,me.centerX=(ue.startX+ue.endX)/2,me.centerY=(ue.startY+ue.endY)/2,me.radiusX=Math.abs(ue.startX-ue.endX)/2,me.radiusY=Math.abs(ue.startY-ue.endY)/2,se.add(me),ue=cl(me,se),be=ue.length,be===0)ne.push(me.centerX),ne.push(me.centerY);else for(me=se.startX,se=se.startY,Fe=0;Fe<be;Fe++)yt=ue[Fe],dr.Qe(me,se,yt[2],yt[3],yt[4],yt[5],yt[6],yt[7],.5,ne),me=yt[6],se=yt[7];C1(a,y,ne,ee)}Mr(ne),a.restore(),a.Vc(!1)}}}},It.kk=function(a,y,ee){return!lr.prototype.kk.call(this,a,y,ee)||this.xc===null&&this.Ui===null||this.ua===null||this.pathPattern!==null||this.geometry.figures.length!==this.svg.getElementsByTagName("path").length?!1:(a.Hl=this.svg,this.hh(a,y),a.Hl=null,!0)},It.nk=function(a){return this.geometry!==null&&1<this.geometry.figures.length||this.pathPattern!==null?!0:lr.prototype.nk.call(this,a)},It.Dv=function(a,y){if(a.nodeName!=="g")a.setAttributeNS(null,"filter",y);else{a=a.getElementsByTagName("path");for(var ee=0;ee<a.length;ee++)a[ee].setAttributeNS(null,"filter",y)}},It.ga=function(a,y){if(y===void 0&&(y=new yn),a instanceof So){a.Mc()&&cn("getDocumentPoint Spot must be a real, specific Spot, not: "+a.toString());var ee=this.naturalBounds,ne=this.strokeWidth;y.h(a.x*(ee.width+ne)-ne/2+ee.x+a.offsetX,a.y*(ee.height+ne)-ne/2+ee.y+a.offsetY)}else y.set(a);return this.oe.Ga(y),y},It.mi=function(a){a===void 0&&(a=new Ur);var y=this.naturalBounds,ee=this.oe;y=Ur.allocAt(y.x,y.y,y.width,y.height);var ne=this.strokeWidth;return y.Bc(ne/2,ne/2),ne=yn.allocAt(y.x,y.y).transform(ee),a.h(ne.x,ne.y,0,0),ne.h(y.right,y.y).transform(ee),Hs(a,ne.x,ne.y,0,0),ne.h(y.right,y.bottom).transform(ee),Hs(a,ne.x,ne.y,0,0),ne.h(y.x,y.bottom).transform(ee),Hs(a,ne.x,ne.y,0,0),Ur.free(y),yn.free(ne),a},It.gh=function(a,y){var ee=this.geometry;if(ee===null||this.fill===null&&this.stroke===null)return!1;var ne=ee.bounds,se=this.strokeWidth/2;ee.type!==wi.j||y||(se+=2);var ue=Ur.alloc();if(ue.assign(ne),ue.Bc(se+2,se+2),!ue.ca(a))return Ur.free(ue),!1;if(ne=se+1e-4,ee.type===wi.j)return this.stroke===null||(ne=(ee.endX-ee.startX)*(a.x-ee.startX)+(ee.endY-ee.startY)*(a.y-ee.startY),0>(ee.startX-ee.endX)*(a.x-ee.endX)+(ee.startY-ee.endY)*(a.y-ee.endY)||0>ne)?!1:(Ur.free(ue),dr.Yb(ee.startX,ee.startY,ee.endX,ee.endY,se,a.x,a.y));if(ee.type===wi.u){y=ee.startX;var me=ee.startY,be=ee.endX;if(ee=ee.endY,ue.x=Math.min(y,be),ue.y=Math.min(me,ee),ue.width=Math.abs(be-y),ue.height=Math.abs(ee-me),this.fill===null){if(ue.Bc(-ne,-ne),ue.ca(a))return Ur.free(ue),!1;ue.Bc(ne,ne)}return this.stroke!==null&&ue.Bc(se,se),a=ue.ca(a),Ur.free(ue),a}if(ee.type===wi.F){me=ee.startX,se=ee.startY,be=ee.endX;var Fe=ee.endY;if(ee=Math.min(me,be),y=Math.min(se,Fe),me=Math.abs(be-me)/2,se=Math.abs(Fe-se)/2,ee=a.x-(ee+me),y=a.y-(y+se),this.fill===null){if(me-=ne,se-=ne,0>=me||0>=se||1>=ee*ee/(me*me)+y*y/(se*se))return Ur.free(ue),!1;me+=ne,se+=ne}return this.stroke!==null&&(me+=ne,se+=ne),Ur.free(ue),0>=me||0>=se?!1:1>=ee*ee/(me*me)+y*y/(se*se)}if(ee.type===wi.o)return Ur.free(ue),this.fill===null?nf(ee,a.x,a.y,se):Xh(ee,a,se,1<this.strokeWidth,y);cn("Unknown Geometry type: "+ee.type)},It.Wl=function(a,y,ee,ne){var se=this.desiredSize,ue=this.ig;if(a=Math.max(a,0),y=Math.max(y,0),this.Rd!==null)var me=this.geometry.bounds;else{var be=this.figure,Fe=fA[be];if(Fe===void 0){var Ye=dr.Ze[be];typeof Ye=="string"&&(Ye=dr.Ze[Ye]),typeof Ye=="function"?(Fe=Ye(null,100,100),fA[be]=Fe):cn("Unsupported Figure: "+be)}me=Fe.bounds}be=me.width,Fe=me.height,Ye=me.width;var Je=me.height;switch(wd(this,!0)){case fi:ne=ee=0;break;case Si:Ye=Math.max(a-ue,0),Je=Math.max(y-ue,0);break;case Ro:Ye=Math.max(a-ue,0),ne=0;break;case ea:ee=0,Je=Math.max(y-ue,0)}isFinite(se.width)&&(Ye=se.width),isFinite(se.height)&&(Je=se.height);var st=this.maxSize,yt=this.minSize;switch(ee=Math.max(ee-ue,yt.width),ne=Math.max(ne-ue,yt.height),Ye=Math.min(st.width,Ye),Je=Math.min(st.height,Je),Ye=isFinite(Ye)?Math.max(ee,Ye):Math.max(be,ee),Je=isFinite(Je)?Math.max(ne,Je):Math.max(Fe,ne),ee=xw(this),ee){case fi:break;case Si:be=Ye,Fe=Je;break;case Mo:ee=Math.min(Ye/be,Je/Fe),isFinite(ee)||(ee=1),be*=ee,Fe*=ee;break;default:cn(ee+" is not a valid geometryStretch.")}this.Rd!==null?(be===0&&(be=.001),Fe===0&&(Fe=.001),ee=this.Rd!==null?this.Rd:this.ua,me=ee.bounds,ne=be/me.width,me=Fe/me.height,isFinite(ne)||(ne=1),isFinite(me)||(me=1),this.ua=ne===1&&me===1?ee:ee.copy().scale(ne,me)):this.ua!==null&&dr.$(this.ua.Sk,a-ue)&&dr.$(this.ua.Rk,y-ue)||(this.ua=Ua.makeGeometry(this,be,Fe)),me=this.ua.bounds,a===1/0||y===1/0?this.Ge(me.x-ue/2,me.y-ue/2,a===0&&be===0?0:me.width+ue,y===0&&Fe===0?0:me.height+ue):this.Ge(-(ue/2),-(ue/2),Ye+ue,Je+ue),se.w()?(Ye=se.width,Je=se.height,Ye=Math.min(st.width,Ye),Je=Math.min(st.height,Je),Ye=Math.max(yt.width,Ye),Je=Math.max(yt.height,Je),this.dc.h(0,0,Ye,Je)):this.dc.assign(me)};function xw(a){var y=a.geometryStretch;return a.Rd!==null?y===Na?Si:y:y===Na?fA[a.figure].defaultStretch:y}It.eh=function(a,y,ee,ne){_h(this,a,y,ee,ne)},It.rs=function(a,y,ee){return this.Sj(a.x,a.y,y.x,y.y,ee)},It.Sj=function(a,y,ee,ne,se){var ue=this.transform,me=1/(ue.m11*ue.m22-ue.m12*ue.m21),be=ue.m22*me,Fe=-ue.m12*me,Ye=-ue.m21*me,Je=ue.m11*me,st=me*(ue.m21*ue.dy-ue.m22*ue.dx),yt=me*(ue.m12*ue.dx-ue.m11*ue.dy);ue=a*be+y*Ye+st,me=a*Fe+y*Je+yt,be=ee*be+ne*Ye+st,Fe=ee*Fe+ne*Je+yt,st=this.ig/2,Ye=this.ua,Ye===null&&(this.measure(1/0,1/0),Ye=this.ua);var Tt=Ye.bounds;if(Je=!1,Ye.type===wi.j)if(1.5>=this.strokeWidth)Je=dr.Ve(Ye.startX,Ye.startY,Ye.endX,Ye.endY,ue,me,be,Fe,se);else{if(Ye.startX===Ye.endX?(ne=st,Je=0):(y=(Ye.endY-Ye.startY)/(Ye.endX-Ye.startX),Je=st/Math.sqrt(1+y*y),ne=Je*y),y=pr(),a=new yn,dr.Ve(Ye.startX+ne,Ye.startY+Je,Ye.endX+ne,Ye.endY+Je,ue,me,be,Fe,a)&&y.push(a),a=new yn,dr.Ve(Ye.startX-ne,Ye.startY-Je,Ye.endX-ne,Ye.endY-Je,ue,me,be,Fe,a)&&y.push(a),a=new yn,dr.Ve(Ye.startX+ne,Ye.startY+Je,Ye.startX-ne,Ye.startY-Je,ue,me,be,Fe,a)&&y.push(a),a=new yn,dr.Ve(Ye.endX+ne,Ye.endY+Je,Ye.endX-ne,Ye.endY-Je,ue,me,be,Fe,a)&&y.push(a),be=y.length,be===0)return Mr(y),!1;for(Je=!0,Fe=1/0,ne=0;ne<be;ne++)a=y[ne],ee=(a.x-ue)*(a.x-ue)+(a.y-me)*(a.y-me),ee<Fe&&(Fe=ee,se.x=a.x,se.y=a.y);Mr(y)}else if(Ye.type===wi.u)Je=dr.Ff(Tt.x-st,Tt.y-st,Tt.x+Tt.width+st,Tt.y+Tt.height+st,ue,me,be,Fe,se);else if(Ye.type===wi.F){y=Ur.allocAt(Tt.x,Tt.y,Tt.width,Tt.height).Bc(st,st);e:if(y.width===0)Je=dr.Ve(y.x,y.y,y.x,y.y+y.height,ue,me,be,Fe,se);else if(y.height===0)Je=dr.Ve(y.x,y.y,y.x+y.width,y.y,ue,me,be,Fe,se);else{if(a=y.width/2,Ye=y.height/2,ne=y.x+a,Je=y.y+Ye,ee=9999,ue!==be&&(ee=(me-Fe)/(ue-be)),9999>Math.abs(ee)){if(Fe=me-Je-ee*(ue-ne),0>a*a*ee*ee+Ye*Ye-Fe*Fe){se.x=NaN,se.y=NaN,Je=!1;break e}st=Math.sqrt(a*a*ee*ee+Ye*Ye-Fe*Fe),be=(-(a*a*ee*Fe)+a*Ye*st)/(Ye*Ye+a*a*ee*ee)+ne,a=(-(a*a*ee*Fe)-a*Ye*st)/(Ye*Ye+a*a*ee*ee)+ne,Ye=ee*(be-ne)+Fe+Je,Fe=ee*(a-ne)+Fe+Je,Math.abs((ue-be)*(ue-be))+Math.abs((me-Ye)*(me-Ye))<Math.abs((ue-a)*(ue-a))+Math.abs((me-Fe)*(me-Fe))?(se.x=be,se.y=Ye):(se.x=a,se.y=Fe)}else{if(be=Ye*Ye,Fe=ue-ne,be-=be/(a*a)*Fe*Fe,0>be){se.x=NaN,se.y=NaN,Je=!1;break e}Fe=Math.sqrt(be),be=Je+Fe,Fe=Je-Fe,Math.abs(be-me)<Math.abs(Fe-me)?(se.x=ue,se.y=be):(se.x=ue,se.y=Fe)}Je=!0}Ur.free(y)}else if(Ye.type===wi.o){yt=yn.alloc();var Ft=be-ue,Zt=Fe-me,bn=Ft*Ft+Zt*Zt,fn=ue,Fn=me;if(0<bn&&Tt.contains(fn,Fn)&&(yt.x=fn,yt.y=Fn,this.ca(yt)))for(Ft!==0&&.5>Math.abs(Ft)?(Zt*=.5/Ft,Ft=.5):Zt!==0&&.5>Math.abs(Zt)&&(Ft*=.5/Zt,Zt=.5),fn-=Ft,Fn-=Zt;Tt.contains(fn,Fn);)fn-=Ft,Fn-=Zt;for(se.x=be,se.y=Fe,Zt=0;Zt<Ye.figures.count;Zt++){var zn=Ye.figures.s[Zt],Zn=zn.isFilled?fn:ue,sr=zn.isFilled?Fn:me,Br=zn.segments;Tt=zn.startX,Ft=zn.startY;for(var Hi=Tt,uo=Ft,no=0;no<Br.count;no++){var Li=Br.s[no],ci=Li.type,La=Li.endX,Ea=Li.endY,ks=!1;switch(ci){case $l:Hi=La,uo=Ea;break;case xl:ks=dA(Tt,Ft,La,Ea,Zn,sr,be,Fe,yt);break;case cc:ks=dr.Eo(Tt,Ft,Li.point1X,Li.point1Y,Li.point2X,Li.point2Y,La,Ea,Zn,sr,be,Fe,.6,yt);break;case on:ks=dr.Eo(Tt,Ft,Tt+2/3*(Li.point1X-Tt),Ft+2/3*(Li.point1Y-Ft),La+2/3*(Li.point1X-La),Ea+2/3*(Li.point1Y-Ea),La,Ea,Zn,sr,be,Fe,.6,yt);break;case En:case Dn:ci=Li.type===En?cl(Li,zn):Vc(Li,zn,Tt,Ft);var dl=ci.length;if(dl===0){ks=dA(Tt,Ft,Li.type===En?Li.centerX:Li.endX,Li.type===En?Li.centerY:Li.endY,Zn,sr,be,Fe,yt);break}for(Ea=null,La=0;La<dl;La++){if(Ea=ci[La],La===0&&dA(Tt,Ft,Ea[0],Ea[1],Zn,sr,be,Fe,yt)){var sc=hA(Zn,sr,yt,bn,se);sc<bn&&(bn=sc,Je=!0)}dr.Eo(Ea[0],Ea[1],Ea[2],Ea[3],Ea[4],Ea[5],Ea[6],Ea[7],Zn,sr,be,Fe,.6,yt)&&(sc=hA(Zn,sr,yt,bn,se),sc<bn&&(bn=sc,Je=!0))}La=Ea[6],Ea=Ea[7];break;default:cn("Unknown Segment type: "+ci)}Tt=La,Ft=Ea,ks&&(ks=hA(Zn,sr,yt,bn,se),ks<bn&&(bn=ks,Je=!0)),Li.isClosed&&(La=Hi,Ea=uo,dA(Tt,Ft,La,Ea,Zn,sr,be,Fe,yt)&&(Li=hA(Zn,sr,yt,bn,se),Li<bn&&(bn=Li,Je=!0)))}}ue=ee-a,me=ne-y,be=Math.sqrt(ue*ue+me*me),be!==0&&(ue/=be,me/=be),se.x-=ue*st,se.y-=me*st,yn.free(yt)}else cn("Unknown Geometry type: "+Ye.type);return Je?(this.transform.Ga(se),!0):!1};function hA(a,y,ee,ne,se){return a=ee.x-a,y=ee.y-y,y=a*a+y*y,y<ne?(se.x=ee.x,se.y=ee.y,y):ne}function dA(a,y,ee,ne,se,ue,me,be,Fe){if(dr.$(a,ee)&&dr.$(y,ne)||dr.$(se,me)&&dr.$(ue,be))return!1;var Ye=!1,Je=(se-me)*(y-ne)-(ue-be)*(a-ee);return Je===0?!1:(Fe.x=((se*be-ue*me)*(a-ee)-(se-me)*(a*ne-y*ee))/Je,Fe.y=((se*be-ue*me)*(y-ne)-(ue-be)*(a*ne-y*ee))/Je,(a>ee?a-ee:ee-a)<(y>ne?y-ne:ne-y)?(a=y<ne?y:ne,y=y<ne?ne:y,(Fe.y>a||dr.$(Fe.y,a))&&(Fe.y<y||dr.$(Fe.y,y))&&(Ye=!0)):(y=a<ee?a:ee,a=a<ee?ee:a,(Fe.x>y||dr.$(Fe.x,y))&&(Fe.x<a||dr.$(Fe.x,a))&&(Ye=!0)),Ye)}It.fh=function(a,y){if(y===void 0)return a.Re(this.actualBounds);var ee=this.ua;ee===null&&(this.measure(1/0,1/0),ee=this.ua),ee=ee.bounds;var ne=this.strokeWidth/2,se=!1,ue=yn.alloc();return ue.h(ee.x-ne,ee.y-ne),a.ca(y.Ga(ue))&&(ue.h(ee.x-ne,ee.bottom+ne),a.ca(y.Ga(ue))&&(ue.h(ee.right+ne,ee.bottom+ne),a.ca(y.Ga(ue))&&(ue.h(ee.right+ne,ee.y-ne),a.ca(y.Ga(ue))&&(se=!0)))),yn.free(ue),se},It.Yc=function(a,y){if(this.fh(a,y)||y===void 0&&(y=this.transform,a.Re(this.actualBounds)))return!0;var ee=Da.alloc();ee.set(y),ee.Vj();var ne=a.left,se=a.right,ue=a.top;a=a.bottom;var me=yn.alloc();if(me.h(ne,ue),ee.Ga(me),this.gh(me,!0)||(me.h(se,ue),ee.Ga(me),this.gh(me,!0))||(me.h(ne,a),ee.Ga(me),this.gh(me,!0))||(me.h(se,a),ee.Ga(me),this.gh(me,!0)))return yn.free(me),!0;var be=yn.alloc(),Fe=yn.alloc();return ee.set(y),ee.bv(this.transform),ee.Vj(),be.x=se,be.y=ue,be.transform(ee),me.x=ne,me.y=ue,me.transform(ee),y=!1,Sm(this,me,be,Fe)?y=!0:(me.x=se,me.y=a,me.transform(ee),Sm(this,me,be,Fe)?y=!0:(be.x=ne,be.y=a,be.transform(ee),Sm(this,me,be,Fe)?y=!0:(me.x=ne,me.y=ue,me.transform(ee),Sm(this,me,be,Fe)&&(y=!0)))),yn.free(me),Da.free(ee),yn.free(be),yn.free(Fe),y};function Sm(a,y,ee,ne){if(!a.rs(y,ee,ne))return!1;a=y.x,y=y.y;var se=ee.x,ue=ee.y;return ee=ne.x,ne=ne.y,a===se?(y<ue?(a=y,y=ue):a=ue,ne>=a&&ne<=y):(a<se?(ne=a,a=se):ne=se,ee>=ne&&ee<=a)}It.tx=function(a,y,ee){function ne(bn,fn){for(var Fn=bn.length,zn=0;zn<Fn;zn+=2)if(fn.zd(bn[zn],bn[zn+1])>se)return!0;return!1}if(ee&&this.fill!==null&&this.gh(a,!0))return!0;var se=a.Bf(y),ue=se;if(1.5<this.strokeWidth&&(se=this.strokeWidth/2+Math.sqrt(se),se*=se),y=this.ua,y===null&&(this.measure(1/0,1/0),y=this.ua,y===null))return!1;if(!ee){var me=y.bounds,be=me.x,Fe=me.y,Ye=me.x+me.width;if(me=me.y+me.height,ta(a.x,a.y,be,Fe)<=se&&ta(a.x,a.y,Ye,Fe)<=se&&ta(a.x,a.y,be,me)<=se&&ta(a.x,a.y,Ye,me)<=se)return!0}if(be=y.startX,Fe=y.startY,Ye=y.endX,me=y.endY,y.type===wi.j){if(ee=(be-Ye)*(a.x-Ye)+(Fe-me)*(a.y-me),ml(a.x,a.y,be,Fe,Ye,me)<=(0<=(Ye-be)*(a.x-be)+(me-Fe)*(a.y-Fe)&&0<=ee?se:ue))return!0}else{if(y.type===wi.u)return y=!1,ee&&(y=ml(a.x,a.y,be,Fe,be,me)<=se||ml(a.x,a.y,be,Fe,Ye,Fe)<=se||ml(a.x,a.y,Ye,Fe,Ye,me)<=se||ml(a.x,a.y,be,me,Ye,me)<=se),y;if(y.type===wi.F){y=a.x-(be+Ye)/2,ue=a.y-(Fe+me)/2;var Je=Math.abs(Ye-be)/2,st=Math.abs(me-Fe)/2;if(Je===0||st===0)return ml(a.x,a.y,be,Fe,Ye,me)<=se;if(ee){if(a=dr.$y(Je,st,y,ue),a*a<=se)return!0}else return!(ta(y,ue,-Je,0)>=se||ta(y,ue,0,-st)>=se||ta(y,ue,0,st)>=se||ta(y,ue,Je,0)>=se)}else if(y.type===wi.o){if(Ye=y.bounds,ue=Ye.x,be=Ye.y,Fe=Ye.x+Ye.width,Ye=Ye.y+Ye.height,a.x>Fe&&a.x<ue&&a.y>Ye&&a.y<be&&ml(a.x,a.y,ue,be,ue,Ye)>se&&ml(a.x,a.y,ue,be,Fe,be)>se&&ml(a.x,a.y,Fe,Ye,ue,Ye)>se&&ml(a.x,a.y,Fe,Ye,Fe,be)>se)return!1;if(ue=Math.sqrt(se),ee){if(this.fill===null?nf(y,a.x,a.y,ue):Xh(y,a,ue,!0,!1))return!0}else{for(ee=y.figures,y=0;y<ee.count;y++){if(ue=ee.s[y],me=ue.startX,Je=ue.startY,a.zd(me,Je)>se)return!1;for(be=ue.segments.s,Fe=be.length,Ye=0;Ye<Fe;Ye++)switch(st=be[Ye],st.type){case $l:case xl:if(me=st.endX,Je=st.endY,a.zd(me,Je)>se)return!1;break;case cc:var yt=pr();if(dr.Qe(me,Je,st.point1X,st.point1Y,st.point2X,st.point2Y,st.endX,st.endY,.8,yt),me=ne(yt,a),Mr(yt),me||(me=st.endX,Je=st.endY,a.zd(me,Je)>se))return!1;break;case on:if(yt=pr(),dr.ep(me,Je,st.point1X,st.point1Y,st.endX,st.endY,.8,yt),me=ne(yt,a),Mr(yt),me||(me=st.endX,Je=st.endY,a.zd(me,Je)>se))return!1;break;case En:case Dn:yt=st.type===En?cl(st,ue):Vc(st,ue,me,Je);var Tt=yt.length;if(Tt===0){if(me=st.type===En?st.centerX:st.endX,Je=st.type===En?st.centerY:st.endY,a.zd(me,Je)>se)return!1;break}st=null;for(var Ft=pr(),Zt=0;Zt<Tt;Zt++)if(st=yt[Zt],Ft.length=0,dr.Qe(st[0],st[1],st[2],st[3],st[4],st[5],st[6],st[7],.8,Ft),ne(Ft,a))return Mr(Ft),!1;Mr(Ft),st!==null&&(me=st[6],Je=st[7]);break;default:cn("Unknown Segment type: "+st.type)}}return!0}}}return!1},It.qc=function(){this.ua=null},It.kq=function(){return this.ig};function zx(a){var y=a.diagram;y!==null&&y.undoManager.isUndoingRedoing||(a.segmentOrientation=R1,a.toArrow!=="None"?(a.segmentIndex=-1,a.alignmentFocus=Du):a.fromArrow!=="None"&&(a.segmentIndex=0,a.alignmentFocus=new So(1-Du.x,Du.y)))}Ua.makeGeometry=function(a,y,ee){if(a.toArrow!=="None")var ne=Xg[a.toArrow];else a.fromArrow!=="None"?ne=Xg[a.fromArrow]:(ne=dr.Ze[a.figure],typeof ne=="string"&&(ne=dr.Ze[ne]),ne===void 0&&cn("Unknown Shape.figure: "+a.figure),ne=ne(a,y,ee),ne.Sk=y,ne.Rk=ee);if(ne===null){var se=dr.Ze.Rectangle;typeof se=="function"&&(ne=se(a,y,ee))}return ne};function Iv(a){var y=Xg[a];if(y===void 0){var ee=a.toLowerCase();if(ee==="none")return"None";if(y=Xg[ee],y===void 0){var ne=null,se;for(se in dr.um)if(se.toLowerCase()===ee){ne=se;break}if(ne!==null)return a=wi.parse(dr.um[ne],!1),Xg[ne]=a,ee!==ne&&(Xg[ee]=ne),ne}}return typeof y=="string"?y:y instanceof wi?a:null}Re.Object.defineProperties(Ua.prototype,{geometry:{get:function(){return this.ua!==null?this.ua:this.Rd},set:function(a){var y=this.ua,ee=this.Rd;if(y!==a){a!==null?this.Rd=this.ua=a.freeze():this.Rd=this.ua=null;var ne=this.part;ne!==null&&(ne.ag=NaN),this.v(),this.g("geometry",y||ee,a),sh(this)&&(a=this.part,a!==null&&Ul(this,a,"geometryString"))}}},geometryString:{get:function(){return this.geometry===null?"":this.geometry.toString()},set:function(a){a=wi.parse(a);var y=a.normalize();this.geometry=a,this.position=a=yn.allocAt(-y.x,-y.y),yn.free(a)}},isGeometryPositioned:{get:function(){return(this.l&1048576)!==0},set:function(a){var y=(this.l&1048576)!==0;y!==a&&(this.l^=1048576,this.v(),this.g("isGeometryPositioned",y,a))}},fill:{get:function(){return this.Ui},set:function(a){var y=this.Ui;y!==a&&(a!==null&&E1(a,"Shape.fill"),a instanceof il&&a.freeze(),this.Ui=a,this.N(),this.g("fill",y,a))}},stroke:{get:function(){return this.xc},set:function(a){var y=this.xc;y!==a&&(a!==null&&E1(a,"Shape.stroke"),a instanceof il&&a.freeze(),this.xc=a,this.N(),this.g("stroke",y,a))}},strokeWidth:{get:function(){return this.ig},set:function(a){var y=this.ig;if(y!==a)if(0<=a){this.ig=a,this.v();var ee=this.part;ee!==null&&(ee.ag=NaN),this.g("strokeWidth",y,a)}else ir(a,"value >= 0",Ua,"strokeWidth:value")}},strokeCap:{get:function(){return this.Na!==null?this.Na.Hr:"butt"},set:function(a){var y=this.strokeCap;y!==a&&(typeof a!="string"||a!=="butt"&&a!=="round"&&a!=="square"?ir(a,'"butt", "round", or "square"',Ua,"strokeCap"):(Am(this),this.Na.Hr=a,this.N(),this.g("strokeCap",y,a)))}},strokeJoin:{get:function(){return this.Na!==null?this.Na.Ir:"miter"},set:function(a){var y=this.strokeJoin;y!==a&&(typeof a!="string"||a!=="miter"&&a!=="bevel"&&a!=="round"?ir(a,'"miter", "bevel", or "round"',Ua,"strokeJoin"):(Am(this),this.Na.Ir=a,this.N(),this.g("strokeJoin",y,a)))}},strokeMiterLimit:{get:function(){return this.Na!==null?this.Na.Jr:10},set:function(a){var y=this.strokeMiterLimit;if(y!==a&&1<=a){Am(this),this.Na.Jr=a,this.N();var ee=this.part;ee!==null&&(ee.ag=NaN),this.g("strokeMiterLimit",y,a)}}},strokeDashArray:{get:function(){return this.Yg},set:function(a){var y=this.Yg;if(y!==a){if(a!==null){for(var ee=a.length,ne=0,se=0;se<ee;se++){var ue=a[se];0<=ue&&isFinite(ue)||cn("strokeDashArray:value "+ue+" at index "+se+" must be a positive number or zero."),ne+=ue}if(ne===0){if(y===null)return;a=null}}this.Yg=a,this.N(),this.g("strokeDashArray",y,a)}}},strokeDashOffset:{get:function(){return this.Na!==null?this.Na.uj:0},set:function(a){var y=this.strokeDashOffset;y!==a&&0<=a&&(Am(this),this.Na.uj=a,this.N(),this.g("strokeDashOffset",y,a))}},figure:{get:function(){return this.an},set:function(a){var y=this.an;if(y!==a){var ee=dr.Ze[a];typeof ee=="function"?ee=a:(ee=dr.Ze[a.toLowerCase()])||cn("Unknown Shape.figure: "+a),y!==ee&&(a=this.part,a!==null&&(a.ag=NaN),this.an=ee,this.Rd=null,this.qc(),this.v(),this.g("figure",y,ee))}}},toArrow:{get:function(){return this.Ua!==null?this.Ua.V:"None"},set:function(a){var y=this.toArrow;if(a===!0?a="Standard":a===!1&&(a=""),y!==a){var ee=Iv(a);ee===null?cn("Unknown Shape.toArrow: "+a):y!==ee&&(this.Ua===null&&(this.Ua=new Em),this.Ua.V=ee,this.Rd=null,this.qc(),this.v(),zx(this),this.g("toArrow",y,ee))}}},fromArrow:{get:function(){return this.Ua!==null?this.Ua.j:"None"},set:function(a){var y=this.fromArrow;if(a===!0?a="Standard":a===!1&&(a=""),y!==a){var ee=Iv(a);ee===null?cn("Unknown Shape.fromArrow: "+a):y!==ee&&(this.Ua===null&&(this.Ua=new Em),this.Ua.j=ee,this.Rd=null,this.qc(),this.v(),zx(this),this.g("fromArrow",y,ee))}}},spot1:{get:function(){return this.Na!==null?this.Na.fg:Zs},set:function(a){var y=this.spot1;y.D(a)||(a=a.J(),Am(this),this.Na.fg=a,this.v(),this.g("spot1",y,a))}},spot2:{get:function(){return this.Na!==null?this.Na.gg:Zs},set:function(a){var y=this.spot2;y.D(a)||(a=a.J(),Am(this),this.Na.gg=a,this.v(),this.g("spot2",y,a))}},parameter1:{get:function(){return this.Un},set:function(a){var y=this.Un;y!==a&&(this.Un=a,this.qc(),this.v(),this.g("parameter1",y,a))}},parameter2:{get:function(){return this.Vn},set:function(a){var y=this.Vn;y!==a&&(this.Vn=a,this.qc(),this.v(),this.g("parameter2",y,a))}},naturalBounds:{get:function(){return this.dc}},pathPattern:{get:function(){return this.Na!==null?this.Na.br:null},set:function(a){var y=this.pathPattern;y!==a&&(Am(this),this.Na.br=a,this.N(),this.g("pathPattern",y,a))}},geometryStretch:{get:function(){return this.Na!==null?this.Na.jq:Na},set:function(a){var y=this.geometryStretch;y!==a&&(Am(this),this.Na.jq=a,this.v(),this.g("geometryStretch",y,a))}},interval:{get:function(){return this.fa!==null?this.fa.Tk:1},set:function(a){var y=this.interval;if(a=Math.round(a),y!==a&&a!==0&&isFinite(a)){this.fa===null&&(this.fa=new Bp),this.fa.Tk=a;var ee=this.diagram;ee!==null&&this.panel===ee.grid&&yg(ee),this.v(),ee=this.panel,ee!==null&&(ee.graduatedIntervals=null),this.g("interval",y,a)}}},graduatedStart:{get:function(){return this.fa!==null?this.fa.u:0},set:function(a){var y=this.graduatedStart;y!==a&&(0>a?a=0:1<a&&(a=1),this.fa===null&&(this.fa=new Bp),this.fa.u=a,this.v(),this.g("graduatedStart",y,a))}},graduatedEnd:{get:function(){return this.fa!==null?this.fa.j:1},set:function(a){var y=this.graduatedEnd;y!==a&&(0>a?a=0:1<a&&(a=1),this.fa===null&&(this.fa=new Bp),this.fa.j=a,this.v(),this.g("graduatedEnd",y,a))}},graduatedSkip:{get:function(){return this.fa!==null?this.fa.o:null},set:function(a){var y=this.graduatedSkip;y!==a&&(this.fa===null&&(this.fa=new Bp),this.fa.o=a,this.v(),this.g("graduatedSkip",y,a))}}}),Ua.prototype.intersectsRect=Ua.prototype.Yc,Ua.prototype.containedInRect=Ua.prototype.fh,Ua.prototype.getNearestIntersectionPoint=Ua.prototype.rs,Ua.prototype.getDocumentBounds=Ua.prototype.mi,Ua.prototype.getDocumentPoint=Ua.prototype.ga;var Xg=new Gi,fA=new Gi;Ua.className="Shape",Ua.getFigureGenerators=function(){var a=new Ji,y;for(y in dr.Ze)y!==y.toLowerCase()&&a.add(y,dr.Ze[y]);return a.freeze(),a},Ua.defineFigureGenerator=function(a,y){var ee=a.toLowerCase(),ne=dr.Ze;ne[a]=y,ne[ee]=a},Ua.getArrowheadGeometries=function(){var a=new Ji;for(ne in dr.um)if(Xg[ne]===void 0){var y=wi.parse(dr.um[ne],!1);Xg[ne]=y,y=ne.toLowerCase(),y!==ne&&(Xg[y]=ne)}for(var ee in Xg)if(ee!==ee.toLowerCase()){var ne=Xg[ee];ne instanceof wi&&a.add(ee,ne)}return a.freeze(),a},Ua.defineArrowheadGeometry=function(a,y){var ee=null;typeof y=="string"?ee=wi.parse(y,!1):ee=y,y=a.toLowerCase(),y!=="none"&&a!==y||cn("Shape.defineArrowheadGeometry name must not be empty or None or all-lower-case: "+a);var ne=Xg;ne[a]=ee,ne[y]=a};function Ew(){this.nc=!1,this.Hr="butt",this.Ir="miter",this.Jr=10,this.uj=0,this.br=null,this.jq=Na,this.gg=this.fg=Zs}Ew.prototype.copy=function(){var a=new Ew;return a.Hr=this.Hr,a.Ir=this.Ir,a.Jr=this.Jr,a.uj=this.uj,a.br=this.br,a.jq=this.jq,a.fg=this.fg.J(),a.gg=this.gg.J(),a};function Dl(a,y){return lr.call(this),vA||($h=bu?new wg(null).context:null,vA=!0),this.l|=2097152,this.ec="",this.xc="black",this.Ae="13px sans-serif",this.Lq=this.Cb=this.Gc=0,this.da=this.fa=this.Gm=null,this.Ih=0,this.df=null,this.Le=0,this.ze=this.Qb=this.Qc=null,typeof a=="string"?this.text=a:a&&Object.assign(this,a),y&&Object.assign(this,y),this}He(Dl,lr),Dl.prototype.cloneProtected=function(a){lr.prototype.cloneProtected.call(this,a),a.ec=this.ec,a.xc=this.xc,a.Ae=this.Ae,a.Gc=this.Gc,a.Cb=this.Cb,a.Lq=this.Lq,a.Gm=this.Gm,this.fa!==null&&(a.fa=this.fa.copy()),this.da!==null&&(a.da=this.da.nc?this.da:this.da.copy()),a.Ih=this.Ih,a.df=this.df,a.Le=this.Le,a.Qc=this.Qc,a.Qb=this.Qb,a.ze=this.ze};function pp(a){a.da===null?a.da=new Mw:a.da.nc&&(a.da=a.da.copy())}It=Dl.prototype,It.th=function(){lr.prototype.th.call(this),this.da!==null&&(this.da.nc=!0)};function Aw(a,y){a.l=y.l|6144,a.pb=y.opacity,a.Ma=y.background,a.areaBackground=y.areaBackground,a.jd=y.desiredSize.J(),a.minSize=y.minSize.J(),a.maxSize=y.maxSize.J(),y.Lb!==null?a.Lb=y.Lb.copy():a.Lb=null,a.Ca=y.scale,a.Kb=y.angle,a.stretch=y.stretch,a.Kg=y.margin.J(),a.Jb=y.alignment.J(),a.sk=y.alignmentFocus.J(),a.segmentFraction=y.segmentFraction,a.segmentOffset=y.segmentOffset.J(),a.segmentOrientation=y.segmentOrientation,y.tb!==null&&(a.tb=y.tb.copy()),a.shadowVisible=y.shadowVisible,a.ec=y.ec,a.xc=y.xc,a.Ae=y.Ae,a.fa!==null&&(a.fa=y.fa.copy()),y.da!==null&&(a.da=y.da.nc?y.da:y.da.copy()),a.Ih=y.Ih}It.qb=function(a){a.classType===Dl?this.wrap=a:lr.prototype.qb.call(this,a)},It.toString=function(){return 22<this.ec.length?'TextBlock("'+this.ec.substring(0,20)+'"...)':'TextBlock("'+this.ec+'")'},It.v=function(){lr.prototype.v.call(this)},It.hh=function(a,y){if(this.xc!==null&&this.ec.length!==0&&this.Ae!==null){var ee=this.naturalBounds,ne=this.actualBounds,se=ee.width,ue=ee.height,me=Df(this),be=a.textAlign=this.textAlign,Fe=y.tn;be==="start"?be=Fe?"right":"left":be==="end"&&(be=Fe?"left":"right"),Fe=this.isUnderline;var Ye=this.isStrikethrough;Nu(this,a,this.xc,!0,!1,ee,ne),(Fe||Ye)&&Nu(this,a,this.xc,!1,!1,ee,ne),ne=0,ee=!1;var Je=this.oe,st=Je.dx-(me*Je.m21+Je.dx);Je=Je.dy-(me*Je.m22+Je.dy);var yt=y.scale;switch(8>(st*st+Je*Je)*yt*yt&&(ee=!0),y.ib!==a&&(ee=!1),y.ib instanceof of&&(ee=!1),y.Gf("textGreeking")===!1&&(ee=!1),y=this.spacingAbove,st=this.spacingBelow,this.flip){case Ds:a.translate(se,0),a.scale(-1,1);break;case Xa:a.translate(0,ue),a.scale(1,-1);break;case hl:a.translate(se,ue),a.scale(-1,-1)}if(a.yc(),Je=this.Gc,yt=(y+me+st)*Je,ue>yt&&(ne=this.verticalAlignment,ne=ne.y*ue-ne.y*yt+ne.offsetY),Je===1&&this.ze!==null)st=this.Cb,st>se&&(st=se),this.Oj(this.ze,a,0,ne+y,se,me,st,ee,be,Fe,Ye);else if(this.Qc!==null&&this.Qb!==null)for(yt=0;yt<Je;yt++){var Tt=this.Qc[yt];Tt>se&&(Tt=se),ne+=y,this.Oj(this.Qb[yt],a,0,ne,se,me,Tt,ee,be,Fe,Ye),ne+=me+st}switch(this.flip){case Ds:a.scale(-1,1),a.translate(-se,0);break;case Xa:a.scale(1,-1),a.translate(0,-ue);break;case hl:a.scale(-1,-1),a.translate(-se,-ue)}}},It.Oj=function(a,y,ee,ne,se,ue,me,be,Fe,Ye,Je){var st=0;if(be)Fe==="left"?st=0:Fe==="right"?st=se-me:Fe==="center"&&(st=(se-me)/2),y.fillRect(ee+st,ne+.25*ue,me,1);else{if(Fe==="left"?st=0:Fe==="right"?st=se:Fe==="center"&&(st=se/2),se=gA!==null?gA(this,ue):.75*ue,y.fillText(a,ee+st,ne+se),a=ue/20|0,a===0&&(a=1),Fe==="right"?st-=me:Fe==="center"&&(st-=me/2),Ye){be=wm!==null?wm(this,ue):.8*ue,Fe=ee+st,Ye=ne+be,se=ee+st+me,be=ne+be;var yt=a;y.beginPath(),y.lineWidth=yt,y.moveTo(Fe,Ye),y.lineTo(se,be),y.stroke(),y.Se(),y instanceof of&&y.ad.classList.add("gojs-td")}Je&&(Je=ne+ue-ue/2.2|0,a%2!==0&&(Je+=.5),ne=ee+st,ue=Je,ee=ee+st+me,me=Je,st=a,y.beginPath(),y.lineWidth=st,y.moveTo(ne,ue),y.lineTo(ee,me),y.stroke(),y.Se(),y instanceof of&&y.ad.classList.add("gojs-td"))}},It.kk=function(a,y,ee){if(!lr.prototype.kk.call(this,a,y,ee))return!1;if(Nu(this,a,this.xc,!0,!1,this.naturalBounds,this.actualBounds),ee){if(this.svg.getElementsByTagName("text").length===0)return!0;for(y=this.svg.getElementsByClassName("gojs-td"),ee=0;ee<y.length;ee++)ET(a,y[ee],!1)}else y=this.svg,y.innerHTML=this.text,ET(a,y,!0);return!0},It.nk=function(a){return 1<this.lineCount||this.isUnderline||this.isStrikethrough?!0:lr.prototype.nk.call(this,a)},It.Dv=function(a,y){if(a.nodeName!=="g")a.setAttributeNS(null,"filter",y);else{a=a.getElementsByTagName("text");for(var ee=0;ee<a.length;ee++)a[ee].setAttributeNS(null,"filter",y)}},It.Wl=function(a,y,ee,ne){var se=this.Gc;this.Ih=a,this.l&=-16777217;var ue=this.Ae;$h!==null&&G2!==ue&&(G2=$h.font=ue),this.Cb=this.Le=0,this.ze=this.Qb=this.Qc=this.df=null;var me;if(isNaN(this.desiredSize.width)){if(ue=this.ec.replace(/\r\n/g,`
`).replace(/\r/g,`
`),ue.length===0)ue=8;else if(this.isMultiline){for(var be=me=0,Fe=!1;!Fe;){var Ye=ue.indexOf(`
`,be);Ye===-1&&(Ye=ue.length,Fe=!0),be=ue.substr(be,Ye-be),this.formatting===Gx&&(be=be.trim()),me=Math.max(me,Pg(be)),be=Ye+1}ue=me}else me=ue.indexOf(`
`,0),0<=me&&(ue=ue.substr(0,me)),ue=Pg(ue);ue=Math.min(ue,a/this.scale)}else ue=this.desiredSize.width;if(this.panel!==null&&(ue=Math.min(ue,this.panel.maxSize.width)),me=Ux(this,ue),isNaN(this.desiredSize.height)?me=Math.min(me,y/this.scale):me=this.desiredSize.height,Fe=me,this.Cb!==0&&this.Qc!==null&&this.Qb!==null&&this.overflow===P1&&(y=this.Ae,y=this.overflow===P1?Wx(y):0,Ye=this.spacingAbove+this.spacingBelow,Ye=Math.max(0,Df(this)+Ye),Fe=Math.min(this.maxLines-1,Math.max(Math.floor(Fe/Ye+.01)-1,0)),!(Fe+1>=this.Qb.length))){for(this.l|=16777216,Ye=this.Qb[Fe],y=Math.max(1,a-y);Pg(Ye)>y&&1<Ye.length;)Ye=Ye.substr(0,Ye.length-1);Ye+=Kx,y=Pg(Ye),this.Qb[Fe]=Ye,this.Qb=this.Qb.slice(0,Fe+1),this.Qc[Fe]=y,this.Qc=this.Qc.slice(0,Fe+1),this.Le=this.Qb.length,this.Cb=Math.max(this.Cb,y),this.Gc=this.Le,this.Gc===1&&(this.ze=this.Qb[0])}(this.wrap===Cw||isNaN(this.desiredSize.width))&&(ue=isNaN(a)?this.Cb:Math.min(a,this.Cb)),ue=Math.max(ee,ue),me=Math.max(ne,me),Su(this.dc,ue,me),this.Ge(0,0,ue,me),this.svg!==null&&se!==this.Gc&&(this.Uc=!0)},It.eh=function(a,y,ee,ne){_h(this,a,y,ee,ne)};function jx(a,y,ee){a.ze===null?(a.ze=y,a.Cb=ee):((a.Qb===null||a.Qc===null)&&(a.Qb=[],a.Qc=[],a.Qb.push(a.ze),a.Qc.push(a.Cb)),a.Qb.push(y),a.Qc.push(ee),a.Qb.length>a.maxLines&&(a.l|=16777216))}function Sw(a,y,ee,ne){var se=a.formatting===Gx;se&&(y=y.trim());var ue=0,me=a.Ae,be=a.spacingAbove+a.spacingBelow;be=Math.max(0,Df(a)+be);var Fe=a.overflow===P1?Wx(me):0;if(a.Gc>=a.maxLines)ne!==null&&ne.h(0,be);else if(me=y,a.wrap===ww){a.Le=1;var Ye=Pg(y);if(Fe===0||Ye<=ee)a.Cb=Math.max(a.Cb,Ye),jx(a,y,a.Cb),ne!==null&&ne.h(Ye,be);else{for(ue=gy(a,me),me=me.substr(ue.length),y=gy(a,me),Ye=Pg(ue+y);0<y.length&&Ye<=ee;)ue+=y,me=me.substr(y.length),y=gy(a,me),Ye=ue+y,se&&(Ye=Ye.trim()),Ye=Pg(Ye);for(se&&(y=y.trim()),ue+=y,ee=Math.max(1,ee-Fe);Pg(ue)>ee&&1<ue.length;)ue=ue.substr(0,ue.length-1);a.l|=16777216,ue+=Kx;var Je=Pg(ue);a.Cb=Je,jx(a,ue,Je),ne!==null&&ne.h(Je,be)}}else{for(Fe=0,me.length===0&&(Fe=1,jx(a,me,0));0<me.length;){for(y=gy(a,me),me=me.substr(y.length);Pg(y)>ee;){var st=1;for(Ye=Pg(y.substr(0,st)),Je=0;Ye<=ee;)st++,Je=Ye,Ye=Pg(y.substr(0,st));if(st===1){var yt=Ye;ue=Math.max(ue,Ye)}else yt=Je,ue=Math.max(ue,Je);if(st--,1>st&&(st=1),jx(a,y.substr(0,st),yt),Fe++,y=y.substr(st),a.Gc+Fe>a.maxLines)break}for(Je=gy(a,me),Ye=Pg(y+Je);0<Je.length&&Ye<=ee;)y+=Je,me=me.substr(Je.length),Je=gy(a,me),Ye=y+Je,se&&(Ye=Ye.trim()),Ye=Pg(Ye);if(se&&(y=y.trim()),y!==""&&(y[y.length-1]==="\xAD"&&(y=y.substring(0,y.length-1)+"\u2010"),Je.length===0?(st=Ye,ue=Math.max(ue,Ye)):(st=Je=Pg(y),ue=Math.max(ue,Je)),jx(a,y,st),Fe++,a.Gc+Fe>a.maxLines))break}a.Le=Math.min(a.maxLines,Fe),a.Cb=Math.max(a.Cb,ue),ne!==null&&ne.h(a.Cb,be*a.Le)}}function gy(a,y){if(a.wrap===W2)return y.substr(0,1);for(var ee=y.length,ne=0,se=OT;ne<ee&&!se.test(y.charAt(ne));)ne++;for(a.formatting===Pw&&(ee=Math.min(ee,ne+1));ne<ee&&se.test(y.charAt(ne));)ne++;return ne>=y.length?y:y.substr(0,ne)}function Pg(a){return $h===null?8*a.length:$h.measureText(a).width}function Df(a){if(a.df!==null)return a.df;var y=a.Ae;if($h===null){var ee=16;return a.df=ee}return Hx[y]!==void 0&&5e3>U2?ee=Hx[y]:(ee=1.3*$h.measureText("M").width,Hx[y]=ee,U2++),a.df=ee}function Wx(a){if($h===null)return 6;if(Vx[a]!==void 0&&5e3>pA)var y=Vx[a];else y=$h.measureText(Kx).width,Vx[a]=y,pA++;return y}function Ux(a,y){var ee=a.ec.replace(/\r\n/g,`
`).replace(/\r/g,`
`),ne=a.spacingAbove+a.spacingBelow;if(ne=Math.max(0,Df(a)+ne),ee.length===0)return a.Cb=0,a.Gc=1,ne;if(!a.isMultiline){var se=ee.indexOf(`
`,0);0<=se&&(ee=ee.substr(0,se))}se=0;for(var ue=a.Gc=0,me,be=!1;!be;){if(me=ee.indexOf(`
`,ue),me===-1&&(me=ee.length,be=!0),ue<=me){if(ue=ee.substr(ue,me-ue),a.wrap!==ww){a.Le=0;var Fe=Ii.alloc();Sw(a,ue,y,Fe),se+=Fe.height,Ii.free(Fe),a.Gc+=a.Le}else Sw(a,ue,y,null),se+=ne,a.Gc++;a.Gc===a.maxLines&&(be=!0)}ue=me+1}return a.Lq=se}Re.Object.defineProperties(Dl.prototype,{font:{get:function(){return this.Ae},set:function(a){var y=this.Ae;y!==a&&(this.Ae=a,this.df=null,this.v(),this.g("font",y,a))}},text:{get:function(){return this.ec},set:function(a){var y=this.ec;a!=null?a=a.toString():a="",y!==a&&(this.ec=a,this.v(),this.g("text",y,a),this.Uc=!0)}},textAlign:{get:function(){return this.da!==null?this.da.Or:"start"},set:function(a){var y=this.textAlign;y===a||a!=="start"&&a!=="end"&&a!=="left"&&a!=="right"&&a!=="center"||(pp(this),this.da.Or=a,this.N(),this.g("textAlign",y,a))}},flip:{get:function(){return this.da!==null?this.da.Xf:fi},set:function(a){var y=this.flip;y!==a&&(pp(this),this.da.Xf=a,this.N(),this.g("flip",y,a))}},verticalAlignment:{get:function(){return this.da!==null?this.da.Yr:Tu},set:function(a){var y=this.verticalAlignment;y.D(a)||(a=a.J(),pp(this),this.da.Yr=a,qh(this),this.g("verticalAlignment",y,a))}},naturalBounds:{get:function(){if(!this.dc.w()){var a=Ii.alloc();Sw(this,this.ec,999999,a);var y=a.width;Ii.free(a),a=Ux(this,y);var ee=this.desiredSize;isNaN(ee.width)||(y=ee.width),isNaN(ee.height)||(a=ee.height),Su(this.dc,y,a)}return this.dc}},isMultiline:{get:function(){return(this.l&2097152)!==0},set:function(a){var y=(this.l&2097152)!==0;y!==a&&(this.l^=2097152,this.v(),this.g("isMultiline",y,a))}},isUnderline:{get:function(){return(this.l&4194304)!==0},set:function(a){var y=(this.l&4194304)!==0;y!==a&&(this.l^=4194304,this.Uc=!0,this.N(),this.g("isUnderline",y,a))}},isStrikethrough:{get:function(){return(this.l&8388608)!==0},set:function(a){var y=(this.l&8388608)!==0;y!==a&&(this.l^=8388608,this.Uc=!0,this.N(),this.g("isStrikethrough",y,a))}},wrap:{get:function(){return this.da!==null?this.da.$r:bw},set:function(a){var y=this.wrap;y!==a&&(pp(this),this.da.$r=a,this.v(),this.g("wrap",y,a))}},overflow:{get:function(){return this.da!==null?this.da.$q:b1},set:function(a){var y=this.overflow;y!==a&&(pp(this),this.da.$q=a,this.v(),this.g("overflow",y,a))}},isOverflowed:{get:function(){return(this.l&16777216)!==0}},stroke:{get:function(){return this.xc},set:function(a){var y=this.xc;y!==a&&(a!==null&&E1(a,"TextBlock.stroke"),a instanceof il&&a.freeze(),this.xc=a,this.N(),this.g("stroke",y,a))}},lineCount:{get:function(){return this.Gc}},lineHeight:{get:function(){return Df(this)}},editable:{get:function(){return(this.l&1048576)!==0},set:function(a){var y=(this.l&1048576)!==0;y!==a&&(this.l^=1048576,this.g("editable",y,a))}},textEditor:{get:function(){return this.da!==null?this.da.Qr:null},set:function(a){var y=this.textEditor;y!==a&&(pp(this),this.da.Qr=a,this.g("textEditor",y,a))}},errorFunction:{get:function(){return this.da!==null?this.da.Hd:null},set:function(a){var y=this.errorFunction;y!==a&&(pp(this),this.da.Hd=a,this.g("errorFunction",y,a))}},interval:{get:function(){return this.fa!==null?this.fa.Tk:1},set:function(a){var y=this.interval;if(a=Math.round(a),y!==a&&a!==0&&isFinite(a)){this.fa===null&&(this.fa=new Bp),this.fa.Tk=a,this.v();var ee=this.panel;ee!==null&&(ee.graduatedIntervals=null),this.g("interval",y,a)}}},graduatedStart:{get:function(){return this.fa!==null?this.fa.u:0},set:function(a){var y=this.graduatedStart;y!==a&&(0>a?a=0:1<a&&(a=1),this.fa===null&&(this.fa=new Bp),this.fa.u=a,this.v(),this.g("graduatedStart",y,a))}},graduatedEnd:{get:function(){return this.fa!==null?this.fa.j:1},set:function(a){var y=this.graduatedEnd;y!==a&&(0>a?a=0:1<a&&(a=1),this.fa===null&&(this.fa=new Bp),this.fa.j=a,this.v(),this.g("graduatedEnd",y,a))}},graduatedFunction:{get:function(){return this.fa!==null?this.fa.F:null},set:function(a){var y=this.graduatedFunction;y!==a&&(this.fa===null&&(this.fa=new Bp),this.fa.F=a,this.v(),this.g("graduatedFunction",y,a))}},graduatedSkip:{get:function(){return this.fa!==null?this.fa.o:null},set:function(a){var y=this.graduatedSkip;y!==a&&(this.fa===null&&(this.fa=new Bp),this.fa.o=a,this.v(),this.g("graduatedSkip",y,a))}},textValidation:{get:function(){return this.da!==null?this.da.vj:null},set:function(a){var y=this.textValidation;y!==a&&(pp(this),this.da.vj=a,this.g("textValidation",y,a))}},textEdited:{get:function(){return this.da!==null?this.da.Pr:null},set:function(a){var y=this.textEdited;y!==a&&(pp(this),this.da.Pr=a,this.g("textEdited",y,a))}},spacingAbove:{get:function(){return this.da!==null?this.da.Dr:0},set:function(a){var y=this.spacingAbove;y!==a&&(pp(this),this.da.Dr=a,this.v(),this.g("spacingAbove",y,a))}},spacingBelow:{get:function(){return this.da!==null?this.da.Er:0},set:function(a){var y=this.spacingBelow;y!==a&&(pp(this),this.da.Er=a,this.v(),this.g("spacingBelow",y,a))}},formatting:{get:function(){return this.da!==null?this.da.gq:Gx},set:function(a){var y=this.formatting;y!==a&&(pp(this),this.da.gq=a,this.v(),this.g("formatting",y,a))}},maxLines:{get:function(){return this.da!==null?this.da.Jq:1/0},set:function(a){var y=this.maxLines;y!==a&&(a=Math.floor(a),0>=a&&ir(a,"> 0",Dl,"maxLines"),pp(this),this.da.Jq=a,this.v(),this.g("maxLines",y,a))}},metrics:{get:function(){return{arrSize:this.Qc!==null?this.Qc:[this.Cb],arrText:this.Qb!==null?this.Qb:[this.ze],maxLineWidth:this.Cb,fontHeight:this.df}}},choices:{get:function(){return this.Gm},set:function(a){var y=this.Gm;y!==a&&(this.Gm=a,this.g("choices",y,a))}}});var gA=null,wm=null,ww=new nr(Dl,"None",0),Cw=new nr(Dl,"WrapFit",1),bw=new nr(Dl,"WrapDesiredSize",2),W2=new nr(Dl,"WrapBreakAll",3),b1=new nr(Dl,"OverflowClip",0),P1=new nr(Dl,"OverflowEllipsis",1),Gx=new nr(Dl,"FormatTrim",0),Pw=new nr(Dl,"FormatNone",0),OT=/[ \u200b\u00ad]/,Hx=new Gi,U2=0,Vx=new Gi,pA=0,Kx="...",G2="",$h=null,vA=!1;Dl.className="TextBlock";function Mw(){this.nc=!1,this.Hd=null,this.Xf=fi,this.gq=Gx,this.Jq=1/0,this.$q=b1,this.Er=this.Dr=0,this.Or="start",this.vj=this.Qr=this.Pr=null,this.Yr=Tu,this.$r=bw}Mw.prototype.copy=function(){var a=new Mw;return a.Hd=this.Hd,a.Xf=this.Xf,a.gq=this.gq,a.Jq=this.Jq,a.$q=this.$q,a.Dr=this.Dr,a.Er=this.Er,a.Or=this.Or,a.Pr=this.Pr,a.Qr=this.Qr,a.vj=this.vj,a.Yr=this.Yr,a.$r=this.$r,a},Dl.getEllipsis=function(){return Kx},Dl.setEllipsis=function(a){Kx=a,Vx=new Gi,pA=0},Dl.getBaseline=function(){return gA},Dl.setBaseline=function(a){gA=a},Dl.getUnderline=function(){return wm},Dl.setUnderline=function(a){wm=a},Dl.isValidFont=function(a){if(vA||($h=bu?new wg(null).context:null,vA=!0),$h===null)return!0;var y=$h.font;if(a===y||a==="10px sans-serif")return!0;$h.font="10px sans-serif",$h.font=a;var ee=$h.font;if(ee!=="10px sans-serif")return $h.font=y,!0;$h.font="19px serif";var ne=$h.font;return $h.font=a,ee=$h.font,$h.font=y,ee!==ne},Dl.FormatNone=Pw,Dl.FormatTrim=Gx,Dl.None=ww,Dl.OverflowClip=b1,Dl.OverflowEllipsis=P1,Dl.WrapBreakAll=W2,Dl.WrapDesiredSize=bw,Dl.WrapFit=Cw;function Bp(){this.Tk=1,this.u=0,this.j=1,this.o=this.F=null}Bp.prototype.copy=function(){var a=new Bp;return a.Tk=this.Tk,a.u=this.u,a.j=this.j,a.F=this.F,a.o=this.o,a},Bp.className="GradElementSettings";function hd(a,y){lr.call(this),this.Eg=null,this.qo="",this.Xg=ns,this.Nk=Si,this.Zg=this.Hd=null,this.Mk=us,this.Xf=fi,this.vl=null,this.qn=!1,this.en=!0,this.al=!1,this.bt=this.rl=null,typeof a=="string"?this.source=a:a&&Object.assign(this,a),y&&Object.assign(this,y)}var M1;He(hd,lr),hd.prototype.cloneProtected=function(a){lr.prototype.cloneProtected.call(this,a),a.qo=this.qo,a.element=this.Eg,a.Xg=this.Xg.J(),a.Nk=this.Nk,a.Xf=this.Xf,a.Hd=this.Hd,a.Zg=this.Zg,a.Mk=this.Mk.J(),a.en=this.en,a.rl=this.rl},hd.prototype.qb=function(a){a===fi||a===Mo||a===vs?this.imageStretch=a:lr.prototype.qb.call(this,a)},hd.prototype.toString=function(){return"Picture("+this.source+")#"+oa(this)};function Fl(a){a===void 0&&(a=""),a!==""?M1[a]&&(delete M1[a],mA--):(M1=new Gi,mA=0)}function H2(a,y){y.qy||(y.Fq=function(ee){y.sq=!0,y.ln=!1;var ne=y.Bg.copy();if(ne!=null){for(ne=ne.iterator;ne.next();){var se=ne.value;se.N();var ue=y.getAttribute("src")||"",me=se.Og.I(ue);if(me!==null)for(var be=me.length,Fe=0;Fe<be;Fe++)ue=me[Fe],se.Xn.add(ue),ue.Uc=!0,se.$b(),y.hn&&(y.eu===void 0&&(y.eu=ee),ue.Zg!==null&&ue.Zg(ue,ee))}y.Bg.clear()}a.desiredSize.w()||(hc(a,!1),a.v())},y.Yp=function(ee){y.ln=ee;var ne=y.Bg.copy();if(ne!=null){for(ne=ne.iterator;ne.next();){var se=ne.value,ue=y.getAttribute("src")||"",me=se.Og.I(ue);if(me!==null){se=me.length,ue=pr();for(var be=0;be<se;be++)ue.push(me[be]);if(y.hn)for(be=0;be<se;be++)me=ue[be],me.Hd!==null&&me.Hd(me,ee);Mr(ue)}}y.Bg.clear()}},y.addEventListener("load",y.Fq),y.addEventListener("error",y.Yp),y.qy=!0)}hd.prototype.hA=function(){if(this.source!==""){Fl(this.source);var a=this.source;this.source="",this.source=a}},hd.prototype.redraw=function(){this.N(),this.Uc=!0},hd.prototype.hh=function(a,y){var ee=this.Eg;if(ee!==null){var ne=ee.getAttribute("src");if(!(ee instanceof HTMLImageElement&&(ne===null||ne==="")||ee.ln instanceof Event&&a instanceof G0)){var se=a instanceof of;ne=this.naturalBounds;var ue=0,me=0,be=this.qn,Fe=be?+ee.width:ee.naturalWidth;if(be=be?+ee.height:ee.naturalHeight,Fe===void 0&&ee.videoWidth&&(Fe=ee.videoWidth),be===void 0&&ee.videoHeight&&(be=ee.videoHeight),Fe=Fe||ne.width,be=be||ne.height,Fe!==0&&be!==0){var Ye=Fe,Je=be;this.sourceRect.w()&&(ue=this.Xg.x,me=this.Xg.y,Fe=this.Xg.width,be=this.Xg.height);var st=Fe,yt=be,Tt=this.Nk,Ft=this.Mk;switch(Tt){case fi:if(this.sourceRect.w())break;st>=ne.width&&(ue=ue+Ft.offsetX+(st*Ft.x-ne.width*Ft.x)),yt>=ne.height&&(me=me+Ft.offsetY+(yt*Ft.y-ne.height*Ft.y)),Fe=Math.min(ne.width,st),be=Math.min(ne.height,yt);break;case Si:st=ne.width,yt=ne.height;break;case Mo:case vs:Tt===Mo?(Tt=Math.min(ne.height/yt,ne.width/st),st*=Tt,yt*=Tt):Tt===vs&&(Tt=Math.max(ne.height/yt,ne.width/st),st*=Tt,yt*=Tt,st>=ne.width&&(ue=(ue+Ft.offsetX+(st*Ft.x-ne.width*Ft.x)/st)*Fe),yt>=ne.height&&(me=(me+Ft.offsetY+(yt*Ft.y-ne.height*Ft.y)/yt)*be),Fe*=1/(st/ne.width),be*=1/(yt/ne.height),st=ne.width,yt=ne.height)}Tt=this.Df()*y.scale;var Zt=st*Tt*yt*Tt,bn=Fe*be/Zt,fn=ee.__goCache;Tt=null;var Fn=V2;if(!se){if(ee.sq&&fn!==void 0&&4<Zt&&bn>Fn*Fn)for(fn.gi===null&&(Zx(fn,4,Ye,Je,ee),Zx(fn,16,Ye,Je,ee)),se=fn.gi,Ye=se.length,Je=0;Je<Ye&&se[Je].ratio*se[Je].ratio<bn;Je++)Tt=se[Je];if(!y.Xm){if(this.vl===null)if(this.Eg===null)this.vl=!1;else{se=new wg(null).context;try{se.drawImage(this.Eg,0,0)}catch(zn){this.en=!1}try{se.getImageData(0,0,1,1).data[3]&&(this.vl=!1),this.vl=!1}catch(zn){this.vl=!0}}if(this.vl)return}}switch(se=st<ne.width?Ft.offsetX+(ne.width*Ft.x-st*Ft.x):0,Ft=yt<ne.height?Ft.offsetY+(ne.height*Ft.y-yt*Ft.y):0,this.flip){case Ds:a.translate(Math.min(ne.width,st),0),a.scale(-1,1);break;case Xa:a.translate(0,Math.min(ne.height,yt)),a.scale(1,-1);break;case hl:a.translate(Math.min(ne.width,st),Math.min(ne.height,yt)),a.scale(-1,-1)}if(a.yc(),y.Gf("pictureRatioOptimization")&&!y.$i&&fn!==void 0&&Tt!==null&&Tt.ratio!==1){a.save(),y=Tt.ratio;try{a.drawImage(Tt.source,ue/y,me/y,Math.min(Tt.source.width,Fe/y),Math.min(Tt.source.height,be/y),se,Ft,Math.min(ne.width,st),Math.min(ne.height,yt)),a instanceof of&&(this.bt=[ue/y,me/y,Math.min(Tt.source.width,Fe/y),Math.min(Tt.source.height,be/y),se,Ft,Math.min(ne.width,st),Math.min(ne.height,yt)])}catch(zn){this.en=!1}a.restore()}else try{a.drawImage(ee,ue,me,Fe,be,se,Ft,Math.min(ne.width,st),Math.min(ne.height,yt)),a instanceof of&&(this.bt=[ue,me,Fe,be,se,Ft,Math.min(ne.width,st),Math.min(ne.height,yt)])}catch(zn){this.en=!1}switch(this.flip){case Ds:a.scale(-1,1),a.translate(-Math.min(ne.width,st),0);break;case Xa:a.scale(1,-1),a.translate(0,-Math.min(ne.height,yt));break;case hl:a.scale(-1,-1),a.translate(-Math.min(ne.width,st),-Math.min(ne.height,yt))}}}}},hd.prototype.Wl=function(a,y,ee,ne){var se=this.desiredSize,ue=wd(this,!0),me=this.Eg,be=this.qn,Fe=0,Ye=0;(be||!this.al&&me&&me.complete)&&(this.al=!0),me===null?(isFinite(se.width)||(a=0),isFinite(se.height)||(y=0)):(Fe=be?+me.width:me.naturalWidth,Ye=be?+me.height:me.naturalHeight),isFinite(se.width)||ue===Si||ue===Ro?(isFinite(a)||(this.sourceRect.w()?a=this.sourceRect.width:me!==null&&(a=Fe)),ee=0):me!==null&&this.al!==!1&&(a=this.sourceRect.w()?this.sourceRect.width:Fe),isFinite(se.height)||ue===Si||ue===ea?(isFinite(y)||(this.sourceRect.w()?y=this.sourceRect.height:me!==null&&(y=Ye)),ne=0):me!==null&&this.al!==!1&&(y=this.sourceRect.w()?this.sourceRect.height:Ye),isFinite(se.width)&&(a=se.width),isFinite(se.height)&&(y=se.height),se=this.maxSize,ue=this.minSize,ee=Math.max(ee||0,ue.width),ne=Math.max(ne||0,ue.height),a=Math.min(se.width,a),y=Math.min(se.height,y),a=Math.max(ee,a),y=Math.max(ne,y),me===null||me.complete||(isFinite(a)||(a=0),isFinite(y)||(y=0)),Su(this.dc,a,y),this.Ge(0,0,a,y)},hd.prototype.eh=function(a,y,ee,ne){_h(this,a,y,ee,ne)},Re.Object.defineProperties(hd.prototype,{element:{get:function(){return this.Eg},set:function(a){var y=this.Eg;if(this.Uc=!0,y!==a){this.qn=a instanceof HTMLCanvasElement;var ee=a instanceof HTMLImageElement;a===null||ee||a instanceof HTMLVideoElement||this.qn||cn("Picture.element must be an instance of Image, Canvas, or Video, not: "+a);var ne=this.diagram;ne!==null&&iy(ne,this),this.Eg=a,a!==null&&ee&&a.Bg===void 0&&(a.Bg=new Zr),ne!==null&&ee&&o0(ne,this),a!==null&&(this.qn||a.complete===!0?(a.hn&&(a.ln instanceof Event&&this.Hd!==null?this.Hd(this,a.ln):a.sq===!0&&!a.ln&&this.Zg!==null&&a.eu&&this.Zg(this,a.eu)),a.sq=!0,this.desiredSize.w()||(hc(this,!1),this.v())):ee&&H2(this,a)),this.g("element",y,a),this.N()}}},source:{get:function(){return this.qo},set:function(a){var y=this.qo;if(y!==a){this.Uc=!0,this.qo=a;var ee=M1;if(bu){var ne=null;if(ee[a]!==void 0)ne=ee[a];else if(a!==""){30<mA&&(Fl(),ee=M1),ne=Sn("img"),ne.hn=!0,H2(this,ne);var se=this.rl;se!==null&&(ne.crossOrigin=se(this)),ne.src=a,ee[a]=ne,mA++}this.element=ne,ne!==null&&ne.__goCache===void 0&&(ne.__goCache=new K2),this.v(),this.N()}this.g("source",y,a)}}},sourceCrossOrigin:{get:function(){return this.rl},set:function(a){if(this.rl!==a&&(this.rl=a,this.element!==null)){var y=this.element.getAttribute("src");a===null&&typeof y=="string"?this.element.crossOrigin=null:a!==null&&(this.element.crossOrigin=a(this)),this.element.src=y}}},sourceRect:{get:function(){return this.Xg},set:function(a){var y=this.Xg;y.D(a)||(this.Xg=a=a.J(),this.N(),this.g("sourceRect",y,a))}},imageStretch:{get:function(){return this.Nk},set:function(a){var y=this.Nk;y!==a&&(this.Nk=a,this.N(),this.g("imageStretch",y,a))}},flip:{get:function(){return this.Xf},set:function(a){var y=this.Xf;y!==a&&(this.Xf=a,this.N(),this.g("flip",y,a))}},imageAlignment:{get:function(){return this.Mk},set:function(a){var y=this.Mk;y.D(a)||(this.Mk=a=a.J(),this.N(),this.g("imageAlignment",y,a))}},errorFunction:{get:function(){return this.Hd},set:function(a){var y=this.Hd;y!==a&&(this.Hd=a,this.g("errorFunction",y,a))}},successFunction:{get:function(){return this.Zg},set:function(a){var y=this.Zg;y!==a&&(this.Zg=a,this.g("successFunction",y,a))}},naturalBounds:{get:function(){return this.dc}}}),hd.prototype.redraw=hd.prototype.redraw,hd.prototype.reloadSource=hd.prototype.hA;var mA=0,V2=4;hd.className="Picture",M1=new Gi,hd.clearCache=Fl;function K2(){this.gi=null}function Zx(a,y,ee,ne,se){a.gi===null&&(a.gi=[]);var ue=new wg(null),me=ue.context,be=1/y;ue.width=ee/y,ue.height=ne/y,ue.width!==0&&ue.height!==0&&(y=new Ys(ue.Oa,y),ee=1,0<a.gi.length&&(ee=a.gi[a.gi.length-1],se=ee.source,ee=ee.ratio),me.setTransform(be*ee,0,0,be*ee,0,0),me.yc(),me.drawImage(se,0,0),a.gi.push(y))}K2.className="PictureCacheArray";function Ys(a,y){this.source=a,this.ratio=y}Ys.className="PictureCacheInstance";function lh(){this.os=new wi,this.mc=null}lh.prototype.reset=function(a){a!==null?(a.ka(),this.os=a,a.figures.clear()):this.os=new wi,this.mc=null};function L1(a,y,ee,ne,se,ue){a.mc=new Gu,a.mc.startX=y,a.mc.startY=ee,a.mc.isFilled=ne,a.mc.isEvenOdd=ue||!1,a.os.figures.add(a.mc),se!==void 0&&(a.mc.isShadowed=se)}function Rs(a){var y=a.mc.segments.length;0<y&&a.mc.segments.M(y-1).close()}lh.prototype.moveTo=function(a,y,ee){ee===void 0&&(ee=!1);var ne=new Ps($l);ne.endX=a,ne.endY=y,ee&&ne.close(),this.mc.segments.add(ne)},lh.prototype.lineTo=function(a,y,ee){ee===void 0&&(ee=!1);var ne=new Ps(xl);ne.endX=a,ne.endY=y,ee&&ne.close(),this.mc.segments.add(ne)};function Z0(a,y,ee,ne,se,ue,me){var be;be===void 0&&(be=!1);var Fe=new Ps(cc);Fe.point1X=y,Fe.point1Y=ee,Fe.point2X=ne,Fe.point2Y=se,Fe.endX=ue,Fe.endY=me,be&&Fe.close(),a.mc.segments.add(Fe)}function T1(a,y,ee,ne,se){var ue;ue===void 0&&(ue=!1);var me=new Ps(on);me.point1X=y,me.point1Y=ee,me.endX=ne,me.endY=se,ue&&me.close(),a.mc.segments.add(me)}lh.prototype.arcTo=function(a,y,ee,ne,se,ue,me){ue===void 0&&(ue=0),me===void 0&&(me=!1);var be=new Ps(En);be.startAngle=a,be.sweepAngle=y,be.centerX=ee,be.centerY=ne,be.radiusX=se,be.radiusY=ue!==0?ue:se,me&&be.close(),this.mc.segments.add(be)};function Z2(a,y,ee,ne,se,ue,me,be){var Fe;Fe===void 0&&(Fe=!1),y=new Ps(Dn,me,be,y,ee,ne,se,ue),Fe&&y.close(),a.mc.segments.add(y)}function yA(a){var y=Yx;return y!==null?(Yx=null,y.reset(a),y):(y=new lh,y.reset(a),y)}var Yx=null;lh.className="StreamGeometryContext";function _c(a,y){var ee=a.toLowerCase(),ne=dr.Ze;ne[a]=y,ne[ee]=a}_c("Rectangle",function(a,y,ee){a="r"+y+","+ee;var ne=dr.Mf[a];return ne!==void 0||(ne=new wi(wi.u),ne.endX=y,ne.endY=ee,dr.Nf<dr.vm&&(dr.Mf[a]=ne,dr.Nf++)),ne}),_c("Square",function(a,y,ee){a="s"+y+","+ee;var ne=dr.Mf[a];return ne!==void 0||(ne=new wi(wi.u),ne.endX=y,ne.endY=ee,ne.defaultStretch=Mo,dr.Nf<dr.vm&&(dr.Mf[a]=ne,dr.Nf++)),ne}),_c("RoundedRectangle",function(a,y,ee){a=a?a.parameter1:NaN,(isNaN(a)||0>a)&&(a=5),a=Math.min(a,y/3),a=Math.min(a,ee/3);var ne="rr"+y+","+ee+","+a,se=dr.Mf[ne];if(se!==void 0)return se;var ue=a*dr.wg;return se=new wi().add(new Gu(a,0,!0).add(new Ps(xl,y-a,0)).add(new Ps(cc,y,a,y-ue,0,y,ue)).add(new Ps(xl,y,ee-a)).add(new Ps(cc,y-a,ee,y,ee-ue,y-ue,ee)).add(new Ps(xl,a,ee)).add(new Ps(cc,0,ee-a,ue,ee,0,ee-ue)).add(new Ps(xl,0,a)).add(new Ps(cc,a,0,0,ue,ue,0).close())),1<ue&&(se.spot1=new So(0,0,ue,ue),se.spot2=new So(1,1,-ue,-ue)),dr.Nf<dr.vm&&(dr.Mf[ne]=se,dr.Nf++),se}),_c("Border","RoundedRectangle"),_c("Ellipse",function(a,y,ee){a="e"+y+","+ee;var ne=dr.Mf[a];return ne!==void 0||(ne=new wi(wi.F),ne.endX=y,ne.endY=ee,ne.spot1=tf,ne.spot2=Qu,dr.Nf<dr.vm&&(dr.Mf[a]=ne,dr.Nf++)),ne}),_c("Circle",function(a,y,ee){a="c"+y+","+ee;var ne=dr.Mf[a];return ne!==void 0||(ne=new wi(wi.F),ne.endX=y,ne.endY=ee,ne.spot1=tf,ne.spot2=Qu,ne.defaultStretch=Mo,dr.Nf<dr.vm&&(dr.Mf[a]=ne,dr.Nf++)),ne}),_c("TriangleRight",function(a,y,ee){return new wi().add(new Gu(0,0).add(new Ps(xl,y,.5*ee)).add(new Ps(xl,0,ee).close())).pm(0,.25,.5,.75)}),_c("TriangleDown",function(a,y,ee){return new wi().add(new Gu(0,0).add(new Ps(xl,y,0)).add(new Ps(xl,.5*y,ee).close())).pm(.25,0,.75,.5)}),_c("TriangleLeft",function(a,y,ee){return new wi().add(new Gu(y,ee).add(new Ps(xl,0,.5*ee)).add(new Ps(xl,y,0).close())).pm(.5,.25,1,.75)}),_c("TriangleUp",function(a,y,ee){return new wi().add(new Gu(y,ee).add(new Ps(xl,0,ee)).add(new Ps(xl,.5*y,0).close())).pm(.25,.5,.75,1)}),_c("Triangle","TriangleUp"),_c("Diamond",function(a,y,ee){return new wi().add(new Gu(.5*y,0).add(new Ps(xl,0,.5*ee)).add(new Ps(xl,.5*y,ee)).add(new Ps(xl,y,.5*ee).close())).pm(.25,.25,.75,.75)}),_c("LineH",function(a,y,ee){return a=new wi(wi.j),a.startX=0,a.startY=ee/2,a.endX=y,a.endY=ee/2,a}),_c("LineV",function(a,y,ee){return a=new wi(wi.j),a.startX=y/2,a.startY=0,a.endX=y/2,a.endY=ee,a}),_c("None","Rectangle"),_c("BarH","Rectangle"),_c("BarV","Rectangle"),_c("MinusLine","LineH"),_c("PlusLine",function(a,y,ee){return new wi().add(new Gu(0,ee/2,!1).add(new Ps(xl,y,ee/2)).add(new Ps($l,y/2,0)).add(new Ps(xl,y/2,ee)))}),_c("XLine",function(a,y,ee){return new wi().add(new Gu(0,ee,!1).add(new Ps(xl,y,0)).add(new Ps($l,0,0)).add(new Ps(xl,y,ee)))}),_c("LineRight",function(a,y,ee){return new wi().add(new Gu(.25*y,0,!1).add(new Ps(xl,.75*y,.5*ee)).add(new Ps(xl,.25*y,ee)))}),_c("LineDown",function(a,y,ee){return new wi().add(new Gu(0,.25*ee,!1).add(new Ps(xl,.5*y,.75*ee)).add(new Ps(xl,y,.25*ee)))}),_c("LineLeft",function(a,y,ee){return new wi().add(new Gu(.75*y,0,!1).add(new Ps(xl,.25*y,.5*ee)).add(new Ps(xl,.75*y,ee)))}),_c("LineUp",function(a,y,ee){return new wi().add(new Gu(0,.75*ee,!1).add(new Ps(xl,.5*y,.25*ee)).add(new Ps(xl,y,.75*ee)))}),dr.um={"":"",Standard:"F1 m 0,0 l 8,4 -8,4 2,-4 z",Backward:"F1 m 8,0 l -2,4 2,4 -8,-4 z",Triangle:"F1 m 0,0 l 8,4.62 -8,4.62 z",BackwardTriangle:"F1 m 8,4 l 0,4 -8,-4 8,-4 0,4 z",Boomerang:"F1 m 0,0 l 8,4 -8,4 4,-4 -4,-4 z",BackwardBoomerang:"F1 m 8,0 l -8,4 8,4 -4,-4 4,-4 z",SidewaysV:"m 0,0 l 8,4 -8,4 0,-1 6,-3 -6,-3 0,-1 z",BackwardV:"m 8,0 l -8,4 8,4 0,-1 -6,-3 6,-3 0,-1 z",OpenTriangle:"m 0,0 l 8,4 -8,4",BackwardOpenTriangle:"m 8,0 l -8,4 8,4",OpenTriangleLine:"m 0,0 l 8,4 -8,4 m 8.5,0 l 0,-8",BackwardOpenTriangleLine:"m 8,0 l -8,4 8,4 m -8.5,0 l 0,-8",OpenTriangleTop:"m 0,0 l 8,4 m 0,4",BackwardOpenTriangleTop:"m 8,0 l -8,4 m 0,4",OpenTriangleBottom:"m 0,8 l 8,-4",BackwardOpenTriangleBottom:"m 0,4 l 8,4",HalfTriangleTop:"F1 m 0,0 l 0,4 8,0 z m 0,8",BackwardHalfTriangleTop:"F1 m 8,0 l 0,4 -8,0 z m 0,8",HalfTriangleBottom:"F1 m 0,4 l 0,4 8,-4 z",BackwardHalfTriangleBottom:"F1 m 8,4 l 0,4 -8,-4 z",ForwardSemiCircle:"m 4,0 b 270 180 0 4 4",BackwardSemiCircle:"m 4,8 b 90 180 0 -4 4",Feather:"m 0,0 l 3,4 -3,4",BackwardFeather:"m 3,0 l -3,4 3,4",DoubleFeathers:"m 0,0 l 3,4 -3,4 m 3,-8 l 3,4 -3,4",BackwardDoubleFeathers:"m 3,0 l -3,4 3,4 m 3,-8 l -3,4 3,4",TripleFeathers:"m 0,0 l 3,4 -3,4 m 3,-8 l 3,4 -3,4 m 3,-8 l 3,4 -3,4",BackwardTripleFeathers:"m 3,0 l -3,4 3,4 m 3,-8 l -3,4 3,4 m 3,-8 l -3,4 3,4",ForwardSlash:"m 0,8 l 5,-8",BackSlash:"m 0,0 l 5,8",DoubleForwardSlash:"m 0,8 l 4,-8 m -2,8 l 4,-8",DoubleBackSlash:"m 0,0 l 4,8 m -2,-8 l 4,8",TripleForwardSlash:"m 0,8 l 4,-8 m -2,8 l 4,-8 m -2,8 l 4,-8",TripleBackSlash:"m 0,0 l 4,8 m -2,-8 l 4,8 m -2,-8 l 4,8",Fork:"m 0,4 l 8,0 m -8,0 l 8,-4 m -8,4 l 8,4",BackwardFork:"m 8,4 l -8,0 m 8,0 l -8,-4 m 8,4 l -8,4",LineFork:"m 0,0 l 0,8 m 0,-4 l 8,0 m -8,0 l 8,-4 m -8,4 l 8,4",BackwardLineFork:"m 8,4 l -8,0 m 8,0 l -8,-4 m 8,4 l -8,4 m 8,-8 l 0,8",CircleFork:"F1 m 6,4 b 0 360 -3 0 3 z m 0,0 l 6,0 m -6,0 l 6,-4 m -6,4 l 6,4",BackwardCircleFork:"F1 m 0,4 l 6,0 m -6,-4 l 6,4 m -6,4 l 6,-4 m 6,0 b 0 360 -3 0 3",CircleLineFork:"F1 m 6,4 b 0 360 -3 0 3 z m 1,-4 l 0,8 m 0,-4 l 6,0 m -6,0 l 6,-4 m -6,4 l 6,4",BackwardCircleLineFork:"F1 m 0,4 l 6,0 m -6,-4 l 6,4 m -6,4 l 6,-4 m 0,-4 l 0,8 m 7,-4 b 0 360 -3 0 3",Circle:"F1 m 8,4 b 0 360 -4 0 4 z",Block:"F1 m 0,0 l 0,8 8,0 0,-8 z",StretchedDiamond:"F1 m 0,3 l 5,-3 5,3 -5,3 -5,-3 z",Diamond:"F1 m 0,4 l 4,-4 4,4 -4,4 -4,-4 z",Chevron:"F1 m 0,0 l 5,0 3,4 -3,4 -5,0 3,-4 -3,-4 z",StretchedChevron:"F1 m 0,0 l 8,0 3,4 -3,4 -8,0 3,-4 -3,-4 z",NormalArrow:"F1 m 0,2 l 4,0 0,-2 4,4 -4,4 0,-2 -4,0 z",X:"m 0,0 l 8,8 m 0,-8 l -8,8",TailedNormalArrow:"F1 m 0,0 l 2,0 1,2 3,0 0,-2 2,4 -2,4 0,-2 -3,0 -1,2 -2,0 1,-4 -1,-4 z",DoubleTriangle:"F1 m 0,0 l 4,4 -4,4 0,-8 z m 4,0 l 4,4 -4,4 0,-8 z",BigEndArrow:"F1 m 0,0 l 5,2 0,-2 3,4 -3,4 0,-2 -5,2 0,-8 z",ConcaveTailArrow:"F1 m 0,2 h 4 v -2 l 4,4 -4,4 v -2 h -4 l 2,-2 -2,-2 z",RoundedTriangle:"F1 m 0,1 a 1,1 0 0 1 1,-1 l 7,3 a 0.5,1 0 0 1 0,2 l -7,3 a 1,1 0 0 1 -1,-1 l 0,-6 z",SimpleArrow:"F1 m 1,2 l -1,-2 2,0 1,2 -1,2 -2,0 1,-2 5,0 0,-2 2,2 -2,2 0,-2 z",AccelerationArrow:"F1 m 0,0 l 0,8 0.2,0 0,-8 -0.2,0 z m 2,0 l 0,8 1,0 0,-8 -1,0 z m 3,0 l 2,0 2,4 -2,4 -2,0 0,-8 z",BoxArrow:"F1 m 0,0 l 4,0 0,2 2,0 0,-2 2,4 -2,4 0,-2 -2,0 0,2 -4,0 0,-8 z",TriangleLine:"F1 m 8,4 l -8,-4 0,8 8,-4 z m 0.5,4 l 0,-8",CircleEndedArrow:"F1 m 10,4 l -2,-3 0,2 -2,0 0,2 2,0 0,2 2,-3 z m -4,0 b 0 360 -3 0 3 z",DynamicWidthArrow:"F1 m 0,3 l 2,0 2,-1 2,-2 2,4 -2,4 -2,-2 -2,-1 -2,0 0,-2 z",EquilibriumArrow:"m 0,3 l 8,0 -3,-3 m 3,5 l -8,0 3,3",FastForward:"F1 m 0,0 l 3.5,4 0,-4 3.5,4 0,-4 1,0 0,8 -1,0 0,-4 -3.5,4 0,-4 -3.5,4 0,-8 z",Kite:"F1 m 0,4 l 2,-4 6,4 -6,4 -2,-4 z",HalfArrowTop:"F1 m 0,0 l 4,4 4,0 -8,-4 z m 0,8",HalfArrowBottom:"F1 m 0,8 l 4,-4 4,0 -8,4 z",OpposingDirectionDoubleArrow:"F1 m 0,4 l 2,-4 0,2 4,0 0,-2 2,4 -2,4 0,-2 -4,0 0,2 -2,-4 z",PartialDoubleTriangle:"F1 m 0,0 4,3 0,-3 4,4 -4,4 0,-3 -4,3 0,-8 z",LineCircle:"F1 m 0,0 l 0,8 m 7 -4 b 0 360 -3 0 3 z",DoubleLineCircle:"F1 m 0,0 l 0,8 m 2,-8 l 0,8 m 7 -4 b 0 360 -3 0 3 z",TripleLineCircle:"F1 m 0,0 l 0,8 m 2,-8 l 0,8 m 2,-8 l 0,8 m 7 -4 b 0 360 -3 0 3 z",CircleLine:"F1 m 6 4 b 0 360 -3 0 3 z m 1,-4 l 0,8",DiamondCircle:"F1 m 8,4 l -4,4 -4,-4 4,-4 4,4 m 8,0 b 0 360 -4 0 4 z",PlusCircle:"F1 m 8,4 b 0 360 -4 0 4 l -8 0 z m -4 -4 l 0 8",OpenRightTriangleTop:"m 8,0 l 0,4 -8,0 m 0,4",OpenRightTriangleBottom:"m 8,8 l 0,-4 -8,0",Line:"m 0,0 l 0,8",DoubleLine:"m 0,0 l 0,8 m 2,0 l 0,-8",TripleLine:"m 0,0 l 0,8 m 2,0 l 0,-8 m 2,0 l 0,8",PentagonArrow:"F1 m 8,4 l -4,-4 -4,0 0,8 4,0 4,-4 z"};function py(){this.nc=!1,this.tr=this.Kp=this.zq=null,this.vr="",this.fr=this.oq=this.ur=null,this.hr="",this.gr=yl,this.ir=null,this.jr="",this.lr=Zs,this.Gq="",this.Hq=Ya,this.Pq=is,this.Kq=_a,this.Up=null,this.Cq=127,this.zr=Us,this.yr="gray",this.Vg=4}py.prototype.copy=function(){var a=new py;return a.zq=this.zq,a.Kp=this.Kp,a.tr=this.tr,a.vr=this.vr,a.ur=this.ur,a.oq=this.oq,a.fr=this.fr,a.hr=this.hr,a.gr=this.gr.J(),a.ir=this.ir,a.jr=this.jr,a.lr=this.lr.J(),a.Gq=this.Gq,a.Hq=this.Hq.J(),a.Pq=this.Pq.J(),a.Kq=this.Kq.J(),a.Up=this.Up,a.Cq=this.Cq,a.zr=this.zr.J(),a.yr=this.yr,a.Vg=this.Vg,a};function _o(a,y){a===void 0||a instanceof gc||typeof a=="string"?bi.call(this,a):(bi.call(this),a&&(y=a)),this.G=2408959,this.Tf="",this.P=null,this.Jg="",this.Qf=this.Ug=null,this.ec="",this.Ah=this.Ig=null,this.ke=new yn(NaN,NaN).freeze(),this.nf=null,this.Ao=NaN,this.vw=-1,this.py=new Ur,this.Rh=null,this.ag=NaN,y&&Object.assign(this,y)}He(_o,bi),_o.prototype.cloneProtected=function(a){bi.prototype.cloneProtected.call(this,a),a.G=this.G&-4097|49152,a.Tf=this.Tf,this.P!==null&&(a.P=this.P.nc?this.P:this.P.copy()),a.Jg=this.Jg,a.Qf=null,a.ec=this.ec,a.ke.assign(this.ke),a.Ao=this.Ao},It=_o.prototype,It.Af=function(a){bi.prototype.Af.call(this,a),a.oh(),a.Ug=null,a.nf=null,a.Rh=null},It.toString=function(){var a=gr(this.constructor)+"#"+oa(this);return this.data!==null&&(a+="("+Nr(this.data)+")"),a};function uh(a){a.P===null?a.P=new py:a.P.nc&&(a.P=a.P.copy())}It.th=function(){bi.prototype.th.call(this),this.P!==null&&(this.P.nc=!0)},It.gk=function(a,y,ee,ne,se,ue,me){var be=this.diagram;be!==null&&(a===Ci&&y==="elements"?se instanceof bi?dy(se,function(Fe){Vw(be.partManager,Fe),bv(be,Fe)}):o0(be,se):a===Wi&&y==="elements"&&(se instanceof bi?dy(se,function(Fe){Kw(be.partManager,Fe,be)}):iy(be,se)),be.cb(a,y,ee,ne,se,ue,me))},It.La=function(a){if(bi.prototype.La.call(this,a),this.data!==null){for(var y=this.O.s,ee=y.length,ne=0;ne<ee;ne++){var se=y[ne];se instanceof bi&&dy(se,function(ue){ue.data!==null&&ue.La()})}for(y=this.adornments;y.next();)y.value.La(a)}},_o.prototype.updateRelationshipsFromData=function(){var a;this.data!==null&&((a=this.diagram)===null||a===void 0||a.partManager.updateRelationshipsFromData(this))},_o.prototype.Pj=function(a){var y=this.Qf;return y===null?null:y.I(a)},_o.prototype.bh=function(a,y){if(y!==null){var ee=null,ne=this.Qf;if(ne!==null&&(ee=ne.I(a)),ee!==y){if(ee!==null){var se=ee.diagram;se!==null&&se.remove(ee)}ne===null&&(this.Qf=ne=new Ji),y.Tf!==a&&(y.category=a),ne.add(a,y),a=this.diagram,a!==null&&(a.add(y),a=y.adornedObject,a!==null&&(a=a.ih(),a!==null&&(y.data=a.data)))}}},_o.prototype.Jf=function(a){var y=this.Qf;if(y!==null){var ee=y.I(a);if(ee!==null){var ne=ee.diagram;ne!==null&&ne.remove(ee)}y.remove(a),y.count===0&&(this.Qf=null)}},_o.prototype.Ej=function(){var a=this.Qf;if(a!==null){var y=pr();for(a=a.iterator;a.next();)y.push(a.key);a=y.length;for(var ee=0;ee<a;ee++)this.Jf(y[ee]);Mr(y)}},_o.prototype.updateAdornments=function(){var a=this.diagram;if(a!==null){for(var y=this.adornments;y.next();){var ee=y.value;ee.v(),ee.placeholder&&ee.placeholder.v()}e:{if(this.isSelected&&this.selectionAdorned&&(y=this.selectionObject,y!==null&&this.actualBounds.w()&&this.isVisible()&&y.Ed()&&y.actualBounds.w())){if(ee=this.Pj("Selection"),ee===null){if(ee=this.selectionAdornmentTemplate,ee===null&&(ee=this.ph()?a.linkSelectionAdornmentTemplate:this instanceof Ma?a.groupSelectionAdornmentTemplate:a.nodeSelectionAdornmentTemplate),!(ee instanceof Cs))break e;Cg(ee),ee=ee.copy(),ee!==null&&(this.ph()&&this.selectionObject===this.path&&(ee.type=bi.Link),ee.adornedObject=y)}if(ee!==null){ee.type===bi.Link&&ee.v(),this.bh("Selection",ee);break e}}this.Jf("Selection")}for(Y0(this,a),y=this.adornments;y.next();)y.value.La()}},_o.prototype.Wb=function(){var a=this.diagram;a!==null&&(a.vd=!0,!(this.G&16384)&&(this.G|=16384))};function vy(a){a.G&16384&&(a.updateAdornments(),a.G&=-16385)}function Y0(a,y){y.toolManager.mouseDownTools.each(function(ee){ee.isEnabled&&ee.updateAdornments(a)}),y.toolManager.updateAdornments(a)}function xA(a){if(Q0(a)===!1){D1(a,!0),a.Uk();var y=a.diagram;y!==null&&(y.De.add(a),y.$b())}}function Y2(a){if(a.G|=2097152,Q0(a)!==!1){var y=a.position,ee=a.location;ee.w()&&y.w()||J2(a,y,ee),ee=a.Ib;var ne=Ur.alloc().assign(ee);ee.ka(),ee.x=y.x,ee.y=y.y,ee.freeze(),a.Xl(ne,ee),Ur.free(ne),D1(a,!1)}}_o.prototype.Ge=function(a,y,ee,ne){var se=this.uc;se.h(a,y,ee,ne),this.Lb===null&&(this.Lb=new Da);var ue=this.Lb;ue.reset(),this.no(ue,a,y,ee,ne),this.Lb=ue,ue.ws()||ue.pp(se)},_o.prototype.no=function(a,y,ee,ne,se){if(this.Ca!==1&&a.scale(this.Ca),this.Kb!==0){var ue=us;this.locationSpot.sb()&&(ue=this.locationSpot);var me=yn.alloc();if(this.locationObject!==this)for(y=this.locationObject,ee=y.naturalBounds,me.yi(ee.x,ee.y,ee.width,ee.height,ue),y.Lb!==null&&y.Lb.Ga(me),me.offset(-y.measuredBounds.x,-y.measuredBounds.y),ue=y.panel;ue!==null&&ue!==this;)ue.Lb!==null&&ue.Lb.Ga(me),me.offset(-ue.measuredBounds.x,-ue.measuredBounds.y),ue=ue.panel;else me.yi(y,ee,ne,se,ue);a.rotate(this.Kb,me.x,me.y),yn.free(me)}},_o.prototype.move=function(a,y){y===!0?this.location=a:this.position=a},_o.prototype.moveTo=function(a,y,ee){a=yn.allocAt(a,y),this.move(a,ee),yn.free(a)},_o.prototype.isVisible=function(){if(!this.visible)return!1;var a=this.layer;if(a!==null){if(!a.visible)return!1;if(a=a.diagram,a!==null&&a.animationManager.fv(this))return!0}return a=this.containingGroup,!!(a===null||a.isSubGraphExpanded&&a.isVisible())},_o.prototype.Zb=function(a){var y=this.diagram;a?(this.C(4),this.Wb(),y!==null&&y.De.add(this)):(this.C(8),this.Ej()),this.oh(),y!==null&&(y.Ya(),y.N())},_o.prototype.fb=function(a){if(this.name===a)return this;var y=this.Rh;if(y===null&&(this.Rh=y=new Ji),y.I(a)!==null)return y.I(a);var ee=bi.prototype.fb.call(this,a);return ee!==null?(y.set(a,ee),ee):(y.set(a,null),null)};function X0(a,y,ee,ne){ne===void 0&&(ne=new yn),ee=ee.Mc()?us:ee;var se=y.naturalBounds;if(ne.h(se.width*ee.x+ee.offsetX,se.height*ee.y+ee.offsetY),y===null||y===a)return ne;for(y.transform.Ga(ne),y=y.panel;y!==null&&y!==a;)y.transform.Ga(ne),y=y.panel;return a.Lb!==null&&a.Lb.Ga(ne),ne.offset(-a.uc.x,-a.uc.y),ne}_o.prototype.mi=function(a){return a===void 0&&(a=new Ur),a.assign(this.actualBounds)},_o.prototype.Va=function(){this.measure(1/0,1/0),this.arrange()};function X2(a){var y=yn.alloc(),ee=a.locationObject,ne=ee.naturalBounds,se=ee instanceof Ua?ee.strokeWidth:0;if(y.yi(0,0,ne.width+se,ne.height+se,a.locationSpot),ee!==a)for(y.offset(-se/2,-se/2),ee.transform.Ga(y),ee=ee.panel;ee!==null&&ee!==a;)ee.transform.Ga(y),ee=ee.panel;return a.Lb!==null&&a.Lb.Ga(y),y.offset(-a.uc.x,-a.uc.y),y}function Cm(a,y){var ee=a.py;isNaN(a.ag)&&(a.ag=LT(a));var ne=a.ag,se=2*ne;if(!a.isShadowed)return ee.h(y.x-1-ne,y.y-1-ne,y.width+2+se,y.height+2+se),ee;ne=y.x,se=y.y;var ue=y.width;y=y.height;var me=a.shadowBlur;return a=a.shadowOffset,ue+=me,y+=me,ne-=me/2,se-=me/2,0<a.x?ue+=a.x:(ne+=a.x,ue-=a.x),0<a.y?y+=a.y:(se+=a.y,y-=a.y),ee.h(ne-1,se-1,ue+2,y+2),ee}_o.prototype.arrange=function(){if(ud(this)===!1)Y2(this);else{a0(this,!1);var a=this.Ib,y=Ur.alloc();y.assign(a);var ee=Rp(this);this.eh(0,0,this.uc.width,this.uc.height);var ne=this.position;J2(this,ne,this.location),a.ka(),a.x=ne.x,a.y=ne.y,a.freeze(),this.Xl(y,a),y.D(a)?this.Fd(ee):!this.Zc()||dr.B(y.width,a.width)&&dr.B(y.height,a.height)||0<=this.vw&&this.C(16),Ur.free(y),D1(this,!1)}},It=_o.prototype,It.Xl=function(a,y){var ee=this.diagram;if(ee!==null){var ne=!1;if(ee.Zi===!1&&a.w()){var se=Ur.alloc();se.assign(ee.documentBounds),se.Fv(ee.padding),a.x>se.x&&a.y>se.y&&a.right<se.right&&a.bottom<se.bottom&&y.x>se.x&&y.y>se.y&&y.right<se.right&&y.bottom<se.bottom&&(ne=!0),Ur.free(se)}!(this.G&65536)&&a.D(y)||q2(this,ne,ee),ee.N(),!a.w()&&!y.w()||Ns(a,y)||(this instanceof Yi&&!ee.undoManager.isUndoingRedoing&&this.Bd(),this.oh())}},It.zv=function(a,y,ee){if(this.ph()||!a.w())return!1;var ne=this.diagram;return ne!==null&&Q2(this,ne,a,y,ee),this.pa=a,this.G&=-2097153,!this.ke.w()||ne!==null&&!ne.animationManager.isTicking&&ne.undoManager.isUndoingRedoing||(ne=this.ke,this.ke=new yn(ne.x+(a.x-y),ne.y+(a.y-ee)),this.g("location",ne,this.ke.copy())),Q0(this)===!1&&ud(this)===!1&&(xA(this),Y2(this)),!0};function Q2(a,y,ee,ne,se){y===null||a instanceof Cs||(y=y.animationManager,y.zb&&Oa(y,a,new yn(ne,se),ee))}It.mm=function(a,y,ee){var ne=this.ke,se=this.pa;if(ee){if(ne.x===a&&ne.y===y)return;Q0(this)||ud(this)?se.h(NaN,NaN):se.h(se.x+a-ne.x,se.y+y-ne.y),ne.h(a,y)}else{if(se.x===a&&se.y===y)return;ne.h(ne.x+a-se.x,ne.y+y-se.y),se.h(a,y)}xA(this)},It.Av=function(){this.G&=-2097153,xA(this)};function J2(a,y,ee){var ne=X2(a),se=a.diagram,ue=ee.w(),me=y.w();ue&&me?a.G&2097152?Lw(a,y,ee,se,ne):Tw(a,y,ee,se,ne):ue?Lw(a,y,ee,se,ne):me&&Tw(a,y,ee,se,ne),a.G|=2097152,yn.free(ne),a.Uk()}function Lw(a,y,ee,ne,se){var ue=y.x,me=y.y;y.h(ee.x-se.x,ee.y-se.y),ne!==null&&(ee=ne.animationManager,(ne=ee.defaultAnimation.isAnimating)||!ee.zb||a instanceof Cs||Oa(ee,a,new yn(ue,me),y),ne||y.x===ue&&y.y===me||a.g("position",new yn(ue,me),y.copy()))}function Tw(a,y,ee,ne,se){var ue=ee.copy();ee.h(y.x+se.x,y.y+se.y),ee.D(ue)||ne===null||a.g("location",ue,ee.copy())}function q2(a,y,ee){EA(a,!1),a instanceof Yi&&ld(ee,a),a.layer.isTemporary||y||ee.Ya(),y=a.Ib;var ne=ee.viewportBounds;ne.w()?Rp(a)?(gl(y,ne)||a.Fd(!1),a.updateAdornments()):a.isVisible()&&y.Yc(ne)?(a.Fd(!0),a.updateAdornments()):a.Wb():ee.vd=!0}It.si=function(){return!0},It.Zc=function(){return!0},It.ph=function(){return!1},It.Dd=function(){return!0};function Dw(a,y,ee,ne){y.constructor===a.constructor||Xx||(Xx=!0,fr('Should not change the class of the Part when changing category from "'+ee+'" to "'+ne+'"'),fr(" Old class: "+gr(a.constructor)+", new class: "+gr(y.constructor)+", part: "+a.toString())),a.Ej();var se=a.data;ee=a.layerName;var ue=a.isSelected,me=a.isHighlighted,be=!0,Fe=!0,Ye=!1;a instanceof Yi&&(be=a.isTreeLeaf,Fe=a.isTreeExpanded,Ye=a.wasTreeExpanded),y.Af(a),y.cloneProtected(a),a.Tf=ne,a.svg!==null&&(a.svg.remove(),a.svg=null,a.Uc=!0),a.v(),a.N(),y=a.diagram,ne=!0,y!==null&&(ne=y.skipsUndoManager,y.skipsUndoManager=!0),a.ub=se,a.G=ue?a.G|4096:a.G&-4097,a.G=me?a.G|524288:a.G&-524289,a instanceof Yi&&(a.U=be?a.U|4:a.U&-5,a.U=Fe?a.U|1:a.U&-2,a.U=Ye?a.U|2:a.U&-3),se!==null&&a.La(),se=a.layerName,se!==ee&&(a.Jg=ee,a.layerName=se),y!==null&&(y.skipsUndoManager=ne),a.Zc()&&a.C(64)}_o.prototype.canCopy=function(){if(!this.copyable)return!1;var a=this.layer;return a===null?!0:a.allowCopy?(a=a.diagram,a===null?!0:!!a.allowCopy):!1},_o.prototype.canDelete=function(){if(!this.deletable)return!1;var a=this.layer;return a===null?!0:a.allowDelete?(a=a.diagram,a===null?!0:!!a.allowDelete):!1},_o.prototype.canEdit=function(){if(!this.textEditable)return!1;var a=this.layer;return a===null?!0:a.allowTextEdit?(a=a.diagram,a===null?!0:!!a.allowTextEdit):!1},_o.prototype.canGroup=function(){if(!this.groupable)return!1;var a=this.layer;return a===null?!0:a.allowGroup?(a=a.diagram,a===null?!0:!!a.allowGroup):!1},_o.prototype.canMove=function(){if(!this.movable)return!1;var a=this.layer;return a===null?!0:a.allowMove?(a=a.diagram,a===null?!0:!!a.allowMove):!1},_o.prototype.canReshape=function(){if(!this.reshapable)return!1;var a=this.layer;return a===null?!0:a.allowReshape?(a=a.diagram,a===null?!0:!!a.allowReshape):!1},_o.prototype.canResize=function(){if(!this.resizable)return!1;var a=this.layer;return a===null?!0:a.allowResize?(a=a.diagram,a===null?!0:!!a.allowResize):!1},_o.prototype.canRotate=function(){if(!this.rotatable)return!1;var a=this.layer;return a===null?!0:a.allowRotate?(a=a.diagram,a===null?!0:!!a.allowRotate):!1},_o.prototype.canSelect=function(){if(!this.selectable)return!1;var a=this.layer;return a===null?!0:a.allowSelect?(a=a.diagram,a===null?!0:!!a.allowSelect):!1};function Q0(a){return(a.G&32768)!==0}function D1(a,y){a.G=y?a.G|32768:a.G&-32769}function EA(a,y){a.G=y?a.G|65536:a.G&-65537}function Rp(a){return(a.G&131072)!==0}It=_o.prototype,It.Fd=function(a){this.G=a?this.G|131072:this.G&-131073};function AA(a,y){a.G=y?a.G|1048576:a.G&-1048577}It.oh=function(){var a=this.containingGroup;a!==null&&(a.v(),a.placeholder!==null&&a.placeholder.v(),a.Bd())},It.N=function(){var a=this.diagram;a!==null&&!ud(this)&&!Q0(this)&&this.isVisible()&&this.Ib.w()&&a.N(Cm(this,this.Ib))},It.v=function(){bi.prototype.v.call(this);var a=this.diagram;a!==null&&(a.De.add(this),this instanceof Yi&&this.labeledLink!==null&&qh(this.labeledLink),a.$b(!0))},It.Vo=function(a){a||(a=this.Ah,a!==null&&Rw(a,this))},It.Wo=function(a){a||(a=this.Ah,a!==null&&Ob(a,this))},It.Lj=function(){var a=this.data;if(a!==null){var y=this.diagram;y!==null&&(y=y.model,y!==null&&y.cm(a))}},It.oz=function(){return Iw(this,this)};function Iw(a,y){var ee=y.containingGroup;return ee!==null?1+Iw(a,ee):y instanceof Yi&&(y=y.labeledLink,y!==null)?Iw(a,y):0}It.sz=function(){return Mg(this,this)};function Mg(a,y){var ee=y.containingGroup;return ee!==null||y instanceof Yi&&(ee=y.labeledLink,ee!==null)?Mg(a,ee):y}It.Td=function(a){return a instanceof Ma?SA(this,this,a):!1};function SA(a,y,ee){if(y===ee||ee===null)return!1;var ne=y.containingGroup;return ne===null||ne!==ee&&!SA(a,ne,ee)?y instanceof Yi&&(y=y.labeledLink,y!==null)?SA(a,y,ee):!1:!0}It.px=function(a){if(a===null)return null;if(this===a)return this.containingGroup;for(var y=this;y!==null;){if(y instanceof Ma&&AA(y,!0),y instanceof Yi){var ee=y.labeledLink;ee!==null&&(y=ee)}y=y.containingGroup}for(ee=null,y=a;y!==null;){if(y.G&1048576){ee=y;break}y instanceof Yi&&(a=y.labeledLink,a!==null&&(y=a)),y=y.containingGroup}for(y=this;y!==null;)y instanceof Ma&&AA(y,!1),y instanceof Yi&&(a=y.labeledLink,a!==null&&(y=a)),y=y.containingGroup;return ee},_o.prototype.canLayout=function(){if(!this.isLayoutPositioned||!this.isVisible())return!1;var a=this.layer;return!(a!==null&&a.isTemporary||this instanceof Yi&&this.isLinkLabel)},_o.prototype.C=function(a){if(a===void 0&&(a=16777215),this.isLayoutPositioned&&a&this.layoutConditions){var y=this.layer;y!==null&&y.isTemporary||this instanceof Yi&&this.isLinkLabel?y=!1:(y=this.diagram,y=!(y!==null&&y.undoManager.isUndoingRedoing))}else y=!1;if(y)if(y=this.Ah,y!==null){var ee=y.layout;ee!==null?ee.C():y.C(a)}else a=this.diagram,a!==null&&(a=a.layout,a!==null&&a.C())};function $2(a){return a.isVisible()?(a=a.layer,!(a!==null&&a.isTemporary)):!1}function J0(a,y,ee,ne,se,ue){if(ue===void 0&&(ue=null),!(a.contains(y)||ue!==null&&!ue(y)||y instanceof Cs)){if(a.add(y),y instanceof Yi){if(ee&&y instanceof Ma)for(var me=y.memberParts;me.next();)J0(a,me.value,ee,ne,se,ue);if(se!==!1)for(me=y.linksConnected;me.next();){var be=me.value;if(!a.contains(be)){var Fe=be.fromNode,Ye=be.toNode;Fe=Fe===null||a.contains(Fe),Ye=Ye===null||a.contains(Ye),(se?Fe&&Ye:Fe||Ye)&&J0(a,be,ee,ne,se,ue)}}if(1<ne)for(y=y.Ou();y.next();)J0(a,y.value,ee,ne-1,se,ue)}else if(y instanceof Oi)for(y=y.labelNodes;y.next();)J0(a,y.value,ee,ne,se,ue)}}Re.Object.defineProperties(_o.prototype,{key:{get:function(){var a=this.diagram;if(a!==null)return a.model.wa(this.data)}},adornments:{get:function(){return this.Qf===null?Do:this.Qf.iteratorValues}},layer:{get:function(){return this.Ig}},diagram:{get:function(){var a=this.Ig;return a==null?null:a.diagram}},layerName:{get:function(){return this.Jg},set:function(a){var y=this.Jg;if(y!==a){var ee=this.diagram;if((ee===null||ee.Qj(a)!==null&&!ee.partManager.addsToTemporaryLayer)&&(this.Jg=a,ee!==null&&ee.Ya(),this.g("layerName",y,a),y=this.layer,y!==null&&y.name!==a&&(ee=y.diagram,ee!==null&&(a=ee.Qj(a),a!==null&&a!==y)))){var ne=y.pc(-1,this,!0);if(0<=ne&&ee.cb(Wi,"parts",y,this,null,ne,!0),ne=a.oi(99999999,this,!0),y.visible!==a.visible&&this.Zb(a.visible),0<=ne&&ee.cb(Ci,"parts",a,null,this,!0,ne),ne=this.layerChanged,ne!==null){var se=ee.aa;ee.aa=!0,ne(this,y,a),ee.aa=se}}}}},layerChanged:{get:function(){return this.P!==null?this.P.zq:null},set:function(a){var y=this.layerChanged;y!==a&&(uh(this),this.P.zq=a,this.g("layerChanged",y,a))}},zOrder:{get:function(){return this.Ao},set:function(a){var y=this.Ao;if(y!==a){this.Ao=a;var ee=this.layer;ee!==null&&kc(ee,-1,this),this.g("zOrder",y,a),a=this.diagram,a!==null&&a.N()}}},locationObject:{get:function(){if(this.nf===null){var a=this.locationObjectName;a!==""?(a=this.fb(a),a!==null?this.nf=a:this.nf=this):this instanceof Cs?this.type!==bi.Link&&this.placeholder!==null?this.nf=this.placeholder:this.nf=this:this.nf=this}return this.nf.visible?this.nf:this}},minLocation:{get:function(){return this.P!==null?this.P.Pq:is},set:function(a){var y=this.minLocation;y.D(a)||(a=a.J(),uh(this),this.P.Pq=a,this.g("minLocation",y,a))}},maxLocation:{get:function(){return this.P!==null?this.P.Kq:_a},set:function(a){var y=this.maxLocation;y.D(a)||(a=a.J(),uh(this),this.P.Kq=a,this.g("maxLocation",y,a))}},locationObjectName:{get:function(){return this.P!==null?this.P.Gq:""},set:function(a){var y=this.locationObjectName;y!==a&&(uh(this),this.P.Gq=a,this.nf=null,this.v(),this.g("locationObjectName",y,a))}},locationSpot:{get:function(){return this.P!==null?this.P.Hq:Ya},set:function(a){var y=this.locationSpot;y.D(a)||(a=a.J(),uh(this),this.P.Hq=a,this.v(),this.g("locationSpot",y,a))}},location:{get:function(){return this.ke},set:function(a){var y=a.x,ee=a.y,ne=this.ke;if(!(ne.x===y||isNaN(ne.x)&&isNaN(y))||!(ne.y===ee||isNaN(ne.y)&&isNaN(ee))){if(a=a.copy(),y=a,this.ph())y=!1;else{if(this.ke=y,this.G|=2097152,ud(this)===!1&&(xA(this),ee=this.pa,ee.w())){var se=this.diagram;if(se===null||se.animationManager.isTicking||!se.undoManager.isUndoingRedoing){var ue=ee.copy();ee.h(ee.x+(y.x-ne.x),ee.y+(y.y-ne.y)),Q2(this,se,ee,ue.x,ue.y),this.g("position",ue,ee.copy())}}y=!0}y&&this.g("location",ne,a.copy())}}},category:{get:function(){return this.Tf},set:function(a){var y=this.Tf;if(y!==a){this.svg!==null&&(this.svg.remove(),this.Uc=!0);var ee=this.diagram,ne=this.data,se=null;if(ee!==null&&ne!==null&&!(this instanceof Cs)){var ue=ee.model.undoManager;ue.isEnabled&&!ue.isUndoingRedoing&&(se=this.clone(),se.O.addAll(this.O))}this.Tf=a,this.g("category",y,a),ee===null||ne===null||this instanceof Cs?this instanceof Cs&&(se=this.adornedPart,se!==null&&(a=se.Qf,a!==null&&a.remove(y),se.bh(this.category,this))):(ue=ee.model,ue.undoManager.isUndoingRedoing||(this.ph()?(ee.partManager.setLinkCategoryForData(ne,a),ee=ee.partManager.findLinkTemplateForCategory(a),ee!==null&&(Cg(ee),ee=ee.copy(),ee!==null&&Dw(this,ee,y,a))):(ue!==null&&ue.jm(ne,a),ee=F1(ee.partManager,ne,a),ee!==null&&(Cg(ee),ee=ee.copy(),ee===null||ee instanceof Oi||(ne=this.location.copy(),Dw(this,ee,y,a),this.location.w()||(this.location=ne)))),se!==null&&(y=this.clone(),y.O.addAll(this.O),this.g("self",se,y))))}}},self:{get:function(){return this},set:function(a){Dw(this,a,this.category,a.category)}},copyable:{get:function(){return(this.G&1)!==0},set:function(a){var y=(this.G&1)!==0;y!==a&&(this.G^=1,this.g("copyable",y,a))}},deletable:{get:function(){return(this.G&2)!==0},set:function(a){var y=(this.G&2)!==0;y!==a&&(this.G^=2,this.g("deletable",y,a))}},textEditable:{get:function(){return(this.G&4)!==0},set:function(a){var y=(this.G&4)!==0;y!==a&&(this.G^=4,this.g("textEditable",y,a),this.Wb())}},groupable:{get:function(){return(this.G&8)!==0},set:function(a){var y=(this.G&8)!==0;y!==a&&(this.G^=8,this.g("groupable",y,a))}},movable:{get:function(){return(this.G&16)!==0},set:function(a){var y=(this.G&16)!==0;y!==a&&(this.G^=16,this.g("movable",y,a))}},selectionAdorned:{get:function(){return(this.G&32)!==0},set:function(a){var y=(this.G&32)!==0;y!==a&&(this.G^=32,this.g("selectionAdorned",y,a),this.Wb())}},isInDocumentBounds:{get:function(){return(this.G&64)!==0},set:function(a){var y=(this.G&64)!==0;if(y!==a){this.G^=64;var ee=this.diagram;ee!==null&&ee.Ya(),this.g("isInDocumentBounds",y,a)}}},isLayoutPositioned:{get:function(){return(this.G&128)!==0},set:function(a){var y=(this.G&128)!==0;y!==a&&(this.G^=128,this.g("isLayoutPositioned",y,a),this.C(a?4:8))}},selectable:{get:function(){return(this.G&256)!==0},set:function(a){var y=(this.G&256)!==0;y!==a&&(this.G^=256,this.g("selectable",y,a),this.Wb())}},reshapable:{get:function(){return(this.G&512)!==0},set:function(a){var y=(this.G&512)!==0;y!==a&&(this.G^=512,this.g("reshapable",y,a),this.Wb())}},resizable:{get:function(){return(this.G&1024)!==0},set:function(a){var y=(this.G&1024)!==0;y!==a&&(this.G^=1024,this.g("resizable",y,a),this.Wb())}},rotatable:{get:function(){return(this.G&2048)!==0},set:function(a){var y=(this.G&2048)!==0;y!==a&&(this.G^=2048,this.g("rotatable",y,a),this.Wb())}},isSelected:{get:function(){return(this.G&4096)!==0},set:function(a){var y=(this.G&4096)!==0;if(y!==a){var ee=this.diagram;if(!a||this.canSelect()&&!(ee!==null&&ee.selection.count>=ee.maxSelectionCount)){this.G^=4096;var ne=!1;if(ee!==null){ne=ee.skipsUndoManager,ee.skipsUndoManager=!0;var se=ee.selection;se.ka(),a?se.add(this):se.remove(this),se.freeze()}this.g("isSelected",y,a),this.Wb(),a=this.selectionChanged,a!==null&&a(this),ee!==null&&(ee.$b(),ee.skipsUndoManager=ne)}}}},isHighlighted:{get:function(){return(this.G&524288)!==0},set:function(a){var y=(this.G&524288)!==0;if(y!==a){this.G^=524288;var ee=this.diagram;ee!==null&&(ee=ee.highlighteds,ee.ka(),a?ee.add(this):ee.remove(this),ee.freeze()),this.g("isHighlighted",y,a),this.N(),a=this.highlightedChanged,a!==null&&a(this)}}},isShadowed:{get:function(){return(this.G&8192)!==0},set:function(a){var y=(this.G&8192)!==0;y!==a&&(this.G^=8192,this.Uc=!0,this.g("isShadowed",y,a),this.N())}},isAnimated:{get:function(){return(this.G&262144)!==0},set:function(a){var y=(this.G&262144)!==0;y!==a&&(this.G^=262144,this.g("isAnimated",y,a))}},highlightedChanged:{get:function(){return this.P!==null?this.P.oq:null},set:function(a){var y=this.highlightedChanged;y!==a&&(uh(this),this.P.oq=a,this.g("highlightedChanged",y,a))}},selectionObjectName:{get:function(){return this.P!==null?this.P.vr:""},set:function(a){var y=this.selectionObjectName;y!==a&&(uh(this),this.P.vr=a,this.Ug=null,this.g("selectionObjectName",y,a))}},selectionAdornmentTemplate:{get:function(){return this.P!==null?this.P.tr:null},set:function(a){var y=this.selectionAdornmentTemplate;y!==a&&(uh(this),this.P.tr=a,this.g("selectionAdornmentTemplate",y,a))}},selectionObject:{get:function(){if(this.Ug===null){var a=this.selectionObjectName;a!==null&&a!==""?(a=this.fb(a),a!==null?this.Ug=a:this.Ug=this):this instanceof Oi?(a=this.path,a!==null?this.Ug=a:this.Ug=this):this.Ug=this}return this.Ug}},selectionChanged:{get:function(){return this.P!==null?this.P.ur:null},set:function(a){var y=this.selectionChanged;y!==a&&(uh(this),this.P.ur=a,this.g("selectionChanged",y,a))}},resizeAdornmentTemplate:{get:function(){return this.P!==null?this.P.fr:null},set:function(a){var y=this.resizeAdornmentTemplate;y!==a&&(uh(this),this.P.fr=a,this.g("resizeAdornmentTemplate",y,a))}},resizeObjectName:{get:function(){return this.P!==null?this.P.hr:""},set:function(a){var y=this.resizeObjectName;y!==a&&(uh(this),this.P.hr=a,this.g("resizeObjectName",y,a))}},resizeObject:{get:function(){var a=this.resizeObjectName;return a!==""&&(a=this.fb(a),a!==null)?a:this}},resizeCellSize:{get:function(){return this.P!==null?this.P.gr:yl},set:function(a){var y=this.resizeCellSize;y.D(a)||(a=a.J(),uh(this),this.P.gr=a,this.g("resizeCellSize",y,a))}},rotateAdornmentTemplate:{get:function(){return this.P!==null?this.P.ir:null},set:function(a){var y=this.rotateAdornmentTemplate;y!==a&&(uh(this),this.P.ir=a,this.g("rotateAdornmentTemplate",y,a))}},rotateObjectName:{get:function(){return this.P!==null?this.P.jr:""},set:function(a){var y=this.rotateObjectName;y!==a&&(uh(this),this.P.jr=a,this.g("rotateObjectName",y,a))}},rotateObject:{get:function(){var a=this.rotateObjectName;return a!==""&&(a=this.fb(a),a!==null)?a:this}},rotationSpot:{get:function(){return this.P!==null?this.P.lr:Zs},set:function(a){var y=this.rotationSpot;y.D(a)||(a=a.J(),uh(this),this.P.lr=a,this.g("rotationSpot",y,a))}},text:{get:function(){return this.ec},set:function(a){var y=this.ec;y!==a&&(this.ec=a,this.g("text",y,a))}},containingGroup:{get:function(){return this.Ah},set:function(a){if(this.Zc()){var y=this.Ah;if(y!==a){a===null||this!==a&&!a.Td(this)||(this===a&&cn("Cannot make a Group a member of itself: "+this.toString()),cn("Cannot make a Group indirectly contain itself: "+this.toString()+" already contains "+a.toString())),this.C(2);var ee=this.diagram;if(y!==null?Ob(y,this):this instanceof Ma&&ee!==null&&ee.ai.remove(this),this.Ah=a,a!==null?Rw(a,this):this instanceof Ma&&ee!==null&&ee.ai.add(this),this.C(1),ee!==null&&ee.aa){var ne=this.data,se=ee.model;if(ne!==null&&se.Xj()){var ue=se.wa(a!==null?a.data:null);se.mp(ne,ue)}}if(ne=this.containingGroupChanged,ne!==null&&(se=!0,ee!==null&&(se=ee.aa,ee.aa=!0),ne(this,y,a),ee!==null&&(ee.aa=se)),this instanceof Ma){for(ee=new Zr,J0(ee,this,!0,0,!0),ee=ee.iterator;ee.next();)if(ne=ee.value,ne instanceof Yi)for(ne=ne.linksConnected;ne.next();)Qx(ne.value)}if(this instanceof Yi){for(ee=this.linksConnected;ee.next();)Qx(ee.value);ee=this.labeledLink,ee!==null&&Qx(ee)}this.g("containingGroup",y,a),a!==null&&(y=a.layer,y!==null&&kc(y,-1,a))}}else cn("cannot set the Part.containingGroup of a Link or Adornment")}},containingGroupChanged:{get:function(){return this.P!==null?this.P.Kp:null},set:function(a){var y=this.containingGroupChanged;y!==a&&(uh(this),this.P.Kp=a,this.g("containingGroupChanged",y,a))}},isTopLevel:{get:function(){return!(this.containingGroup!==null||this instanceof Yi&&this.labeledLink!==null)}},layoutConditions:{get:function(){return this.P!==null?this.P.Cq:127},set:function(a){var y=this.layoutConditions;y!==a&&(uh(this),this.P.Cq=a,this.g("layoutConditions",y,a))}},dragComputation:{get:function(){return this.P!==null?this.P.Up:null},set:function(a){var y=this.dragComputation;y!==a&&(uh(this),this.P.Up=a,this.g("dragComputation",y,a))}},shadowOffset:{get:function(){return this.P!==null?this.P.zr:Us},set:function(a){var y=this.shadowOffset;y.D(a)||(a=a.J(),uh(this),this.P.zr=a,this.N(),this.g("shadowOffset",y,a))}},shadowColor:{get:function(){return this.P!==null?this.P.yr:"gray"},set:function(a){var y=this.shadowColor;y!==a&&(uh(this),this.P.yr=a,this.N(),this.g("shadowColor",y,a))}},shadowBlur:{get:function(){return this.P!==null?this.P.Vg:4},set:function(a){var y=this.shadowBlur;y!==a&&(uh(this),this.P.Vg=a,this.N(),this.g("shadowBlur",y,a))}}}),_o.prototype.invalidateLayout=_o.prototype.C,_o.prototype.findCommonContainingGroup=_o.prototype.px,_o.prototype.isMemberOf=_o.prototype.Td,_o.prototype.findTopLevelPart=_o.prototype.sz,_o.prototype.findSubGraphLevel=_o.prototype.oz,_o.prototype.ensureBounds=_o.prototype.Va,_o.prototype.getDocumentBounds=_o.prototype.mi,_o.prototype.findObject=_o.prototype.fb,_o.prototype.moveTo=_o.prototype.moveTo,_o.prototype.invalidateAdornments=_o.prototype.Wb,_o.prototype.clearAdornments=_o.prototype.Ej,_o.prototype.removeAdornment=_o.prototype.Jf,_o.prototype.addAdornment=_o.prototype.bh,_o.prototype.findAdornment=_o.prototype.Pj,_o.prototype.updateTargetBindings=_o.prototype.La;var Xx=!1;_o.className="Part",_o.LayoutNone=0,_o.LayoutAdded=1,_o.LayoutRemoved=2,_o.LayoutShown=4,_o.LayoutHidden=8,_o.LayoutNodeSized=16,_o.LayoutGroupLayout=32,_o.LayoutNodeReplaced=64,_o.LayoutStandard=127,_o.LayoutAll=16777215;function Cs(a,y){a===void 0||a instanceof gc||typeof a=="string"?_o.call(this,a):(_o.call(this),a&&(y=a)),this.G&=-257,this.Jg="Adornment",this.ue=null,this.Aw=0,this.Uw=!1,this.j=this.$a=null,y&&Object.assign(this,y)}He(Cs,_o),Cs.prototype.toString=function(){var a=this.adornedPart;return"Adornment("+this.category+")"+(a!==null?a.toString():"")},Cs.prototype.updateRelationshipsFromData=function(){},Cs.prototype.Ul=function(a){var y=this.adornedObject,ee=y==null?void 0:y.part;if(ee instanceof Oi&&y instanceof Ua){y=ee.path,ee.Ul(a),a=y.geometry,ee=this.O.s,y=ee.length;for(var ne=0;ne<y;ne++){var se=ee[ne];se.isPanelMain&&se instanceof Ua&&(se.ua=a)}}},Cs.prototype.si=function(){var a=this.ue;return a===null?!0:(a=a.part,a===null||!ud(a))},Cs.prototype.Zc=function(){return!1},Cs.prototype.gk=function(a,y,ee,ne,se,ue,me){if(a===Ci&&y==="elements"){if(se instanceof zh)this.$a===null&&(this.$a=se);else if(se instanceof bi){var be=se.Nl(function(Fe){return Fe instanceof zh});be instanceof zh&&this.$a===null&&(this.$a=be)}}else a===Wi&&y==="elements"&&this.$a!==null&&(ne===this.$a?this.$a=null:ne instanceof bi&&this.$a.rg(ne)&&(this.$a=null));_o.prototype.gk.call(this,a,y,ee,ne,se,ue,me)},Cs.prototype.updateAdornments=function(){},Cs.prototype.Lj=function(){},Re.Object.defineProperties(Cs.prototype,{placeholder:{get:function(){return this.$a}},adornedObject:{get:function(){return this.ue},set:function(a){var y=this.adornedPart,ee=null;a!==null&&(ee=a.part),y===null||a!==null&&y===ee||y.Jf(this.category),this.ue=a,ee!==null&&ee.bh(this.category,this)}},adornedPart:{get:function(){var a=this.ue;return a!==null?a.part:null}},containingGroup:{get:function(){return null}}}),Cs.className="Adornment";function Ov(){this.nc=!1,this.Vr=this.gj=this.Eq=this.Dq=null,this.yp=ph,this.er=CA,this.Kr=this.ij=this.Nq=this.Mq=null}Ov.prototype.copy=function(){var a=new Ov;return a.Dq=this.Dq,a.Eq=this.Eq,a.gj=this.gj,a.Vr=this.Vr,a.yp=this.yp.J(),a.er=this.er,a.Mq=this.Mq,a.Nq=this.Nq,a.ij=this.ij,a.Kr=this.Kr,a};function Yi(a,y){a===void 0||a instanceof gc||typeof a=="string"?_o.call(this,a):(_o.call(this),a&&(y=a)),this.U=13,this.Ba=null,this.jb=new Hr,this.wc=this.af=this.Yk=null,this.ci=!1,y&&Object.assign(this,y)}He(Yi,_o),Yi.prototype.cloneProtected=function(a){_o.prototype.cloneProtected.call(this,a),a.U=this.U,this.Ba!==null&&(a.Ba=this.Ba.nc?this.Ba:this.Ba.copy())},It=Yi.prototype,It.Af=function(a){_o.prototype.Af.call(this,a),a.Bd(),a.af=this.af,a.wc=null};function c0(a){a.Ba===null?a.Ba=new Ov:a.Ba.nc&&(a.Ba=a.Ba.copy())}It.th=function(){_o.prototype.th.call(this),this.Ba!==null&&(this.Ba.nc=!0)};function Sb(a,y){y!==null&&(a.af===null&&(a.af=new Zr),a.af.add(y))}function kp(a,y,ee,ne){if(y===null||a.af===null)return null;for(var se=a.af.iterator;se.next();){var ue=se.value;if(ue.Ds===a&&ue.cv===y&&ue.Ox===ee&&ue.Px===ne||ue.Ds===y&&ue.cv===a&&ue.Ox===ne&&ue.Px===ee)return ue}return null}It.Lz=function(a,y,ee){y==null&&(y=""),ee==null&&(ee=""),a=kp(this,a,y,ee),a!==null&&a.Sl()},It.gk=function(a,y,ee,ne,se,ue,me){a===Ci&&y==="elements"?this.wc=null:a===Wi&&y==="elements"&&(this.wc=null),_o.prototype.gk.call(this,a,y,ee,ne,se,ue,me)},It.Bd=function(a){for(var y=this.linksConnected;y.next();){var ee=y.value;a!==void 0&&a.contains(ee)||(ed(ee.fromPort),ed(ee.toPort),ee.bb())}};function Ow(a,y){for(a=a.linksConnected;a.next();){var ee=a.value;(ee.fromPort===y||ee.toPort===y)&&(ed(ee.fromPort),ed(ee.toPort),ee.bb())}}function ed(a){if(a!==null){var y=a.Zn;y!==null&&y.Sl(),a=a.part,y=a.containingGroup,y===null||a.isVisible()||ed(y.port)}}It.si=function(){return!0},Yi.prototype.getAvoidableRect=function(a){return a.set(this.actualBounds),a.Co(this.avoidableMargin),a},Yi.prototype.findVisibleNode=function(){for(var a=this;a!==null&&!a.isVisible();)a=a.containingGroup;return a},Yi.prototype.isVisible=function(){if(!_o.prototype.isVisible.call(this))return!1;var a=!0,y=jd,ee=this.diagram;if(ee!==null&&(a=ee.isTreePathToChildren,y=ee.treeCollapsePolicy),y===jd){if(a=this.pg(),a!==null&&!a.isTreeExpanded)return!1}else if(y===ic){if(a=a?this.Oo():this.Po(),0<a.count&&a.all(function(ne){return!ne.isTreeExpanded}))return!1}else if(y===sy&&(a=a?this.Oo():this.Po(),0<a.count&&a.any(function(ne){return!ne.isTreeExpanded})))return!1;return a=this.labeledLink,a!==null?a.isVisible():!0},Yi.prototype.Zb=function(a){_o.prototype.Zb.call(this,a);for(var y=this.linksConnected;y.next();){var ee=y.value;if(a&&this.containingGroup!==null){var ne=ee.To(this);ne===null||ne.Td(this.containingGroup)||ee.bb()}ee.Zb(a)}},Yi.prototype.qx=function(){var a=new Zr,y=new Zr;return wA(this,this,a,y),y.iterator};function wA(a,y,ee,ne){if(y!==null&&!ee.has(y)){ee.add(y);var se=!0,ue=a.diagram;ue!==null&&(se=ue.isTreePathToChildren),y.linksConnected.each(function(me){me.isTreeLink?(se?me.fromNode===y:me.toNode===y)&&wA(a,se?me.toNode:me.fromNode,ee,ne):ne.add(me)})}}Yi.prototype.findLinksConnected=function(a){if(a===void 0&&(a=null),a===null)return this.jb.iterator;var y=new Ui(this.jb),ee=this;return y.predicate=function(ne){return ne.fromNode===ee&&ne.fromPortId===a||ne.toNode===ee&&ne.toPortId===a},y},It=Yi.prototype,It.Mo=function(a){a===void 0&&(a=null);var y=new Ui(this.jb),ee=this;return y.predicate=function(ne){return ne.fromNode!==ee?!1:a===null?!0:ne.fromPortId===a},y},It.Sd=function(a){a===void 0&&(a=null);var y=new Ui(this.jb),ee=this;return y.predicate=function(ne){return ne.toNode!==ee?!1:a===null?!0:ne.toPortId===a},y},It.Mu=function(a){a===void 0&&(a=null);for(var y=null,ee=null,ne=this.jb.iterator;ne.next();){var se=ne.value;se.fromNode===this?(a===null||se.fromPortId===a)&&(se=se.toNode,y!==null?y.add(se):ee!==null&&ee!==se?(y=new Zr,y.add(ee),y.add(se)):ee=se):se.toNode!==this||a!==null&&se.toPortId!==a||(se=se.fromNode,y!==null?y.add(se):ee!==null&&ee!==se?(y=new Zr,y.add(ee),y.add(se)):ee=se)}return y!==null?y.iterator:ee!==null?new Bo(ee):Do},It.Po=function(a){a===void 0&&(a=null);for(var y=null,ee=null,ne=this.jb.iterator;ne.next();){var se=ne.value;se.fromNode!==this||a!==null&&se.fromPortId!==a||(se=se.toNode,y!==null?y.add(se):ee!==null&&ee!==se?(y=new Zr,y.add(ee),y.add(se)):ee=se)}return y!==null?y.iterator:ee!==null?new Bo(ee):Do},It.Oo=function(a){a===void 0&&(a=null);for(var y=null,ee=null,ne=this.jb.iterator;ne.next();){var se=ne.value;se.toNode!==this||a!==null&&se.toPortId!==a||(se=se.fromNode,y!==null?y.add(se):ee!==null&&ee!==se?(y=new Zr,y.add(ee),y.add(se)):ee=se)}return y!==null?y.iterator:ee!==null?new Bo(ee):Do},It.jz=function(a,y,ee){y===void 0&&(y=null),ee===void 0&&(ee=null);var ne=new Ui(this.jb),se=this;return ne.predicate=function(ue){return!((ue.fromNode!==se||ue.toNode!==a||y!==null&&ue.fromPortId!==y||ee!==null&&ue.toPortId!==ee)&&(ue.fromNode!==a||ue.toNode!==se||ee!==null&&ue.fromPortId!==ee||y!==null&&ue.toPortId!==y))},ne},It.kz=function(a,y,ee){y===void 0&&(y=null),ee===void 0&&(ee=null);var ne=new Ui(this.jb),se=this;return ne.predicate=function(ue){return!(ue.fromNode!==se||ue.toNode!==a||y!==null&&ue.fromPortId!==y||ee!==null&&ue.toPortId!==ee)},ne};function Wd(a,y,ee){ed(ee);var ne=a.jb.contains(y);if(ne||a.jb.add(y),!ne||y.fromNode===y.toNode){var se=a.linkConnected;if(se!==null){var ue=!0,me=a.diagram;me!==null&&(ue=me.aa,me.aa=!0),se(a,y,ee),me!==null&&(me.aa=ue)}}!ne&&y.isTreeLink&&(ee=y.fromNode,y=y.toNode,ee!==null&&y!==null&&ee!==y&&(ne=!0,a=a.diagram,a!==null&&(ne=a.isTreePathToChildren),se=ne?y:ee,ue=ne?ee:y,se.ci||(se.ci=ue),!ue.isTreeLeaf||a!==null&&a.undoManager.isUndoingRedoing||(ne?ee===ue&&(ue.isTreeLeaf=!1):y===ue&&(ue.isTreeLeaf=!1))))}function my(a,y,ee){ed(ee);var ne=a.jb.remove(y),se=null;if(ne||y.toNode===y.fromNode){var ue=a.linkDisconnected;if(se=a.diagram,ue!==null){var me=!0;se!==null&&(me=se.aa,se.aa=!0),ue(a,y,ee),se!==null&&(se.aa=me)}}ne&&y.isTreeLink&&(ee=!0,se!==null&&(ee=se.isTreePathToChildren),a=ee?y.toNode:y.fromNode,y=ee?y.fromNode:y.toNode,a!==null&&(a.ci=!1),y===null||y.isTreeLeaf||(y.jb.count===0?(y.ci=null,se!==null&&se.undoManager.isUndoingRedoing||(y.isTreeLeaf=!0)):I1(y)))}function I1(a){if(a.ci=!1,a.jb.count!==0){var y=!0,ee=a.diagram;if(ee===null||!ee.undoManager.isUndoingRedoing){for(ee!==null&&(y=ee.isTreePathToChildren),ee=a.jb.iterator;ee.next();){var ne=ee.value;if(ne.isTreeLink){if(y){if(ne.fromNode===a){a.isTreeLeaf=!1;return}}else if(ne.toNode===a){a.isTreeLeaf=!1;return}}}a.isTreeLeaf=!0}}}Yi.prototype.updateRelationshipsFromData=function(){var a=this.diagram;a!==null&&a.partManager.updateRelationshipsFromData(this)},It=Yi.prototype,It.Vo=function(a){_o.prototype.Vo.call(this,a),a||(I1(this),a=this.Yk,a!==null&&kw(a,this))},It.Wo=function(a){_o.prototype.Wo.call(this,a),a||(a=this.Yk,a!==null&&a.wd!==null&&(a.wd.remove(this),a.v()))},It.Lj=function(){if(0<this.jb.count){var a=this.diagram;if(a!==null)for(var y=a.commandHandler!==null?a.commandHandler.deletesConnectedLinks:!0,ee=this.jb.copy().iterator;ee.next();){var ne=ee.value;y?a.remove(ne):(ne.fromNode===this&&(ne.fromNode=null),ne.toNode===this&&(ne.toNode=null))}}this.labeledLink=null,_o.prototype.Lj.call(this)},It.ns=function(a){if(this.wc===null){if(a===""&&this.Te===!1)return this;Nw(this)}var y=this.wc.I(a);return y!==null||a!==""&&(y=this.wc.I(""),y!==null)?y:this};function Nw(a){a.wc===null?a.wc=new Ji:a.wc.clear(),a.qm(a,function(y,ee){Pb(y,ee)}),a.wc.count===0&&a.wc.add("",a)}function Pb(a,y){var ee=y.portId;ee!==null&&a.wc!==null&&a.wc.add(ee,y)}function Bw(a,y,ee){var ne=y.portId;if(ne!==null&&(a.wc!==null&&a.wc.remove(ne),y=a.diagram,y!==null&&ee)){for(ee=null,a=a.findLinksConnected(ne);a.next();)ne=a.value,ee===null&&(ee=pr()),ee.push(ne);if(ee!==null){for(a=0;a<ee.length;a++)y.remove(ee[a]);Mr(ee)}}}It.Nz=function(a){if(a===null||a===this)return!1;var y=!0,ee=this.diagram;if(ee!==null&&(y=ee.isTreePathToChildren),ee=this,y)for(;ee!==a;){y=null;for(var ne=ee.jb.iterator;ne.next();){var se=ne.value;if(se.isTreeLink&&(y=se.fromNode,y!==ee&&y!==this))break}if(y===this||y===null||y===ee)return!1;ee=y}else for(;ee!==a;){for(y=null,ne=ee.jb.iterator;ne.next()&&(se=ne.value,!se.isTreeLink||(y=se.toNode,y===ee||y===this)););if(y===this||y===null||y===ee)return!1;ee=y}return!0},It.xz=function(){var a=!0,y=this.diagram;if(y!==null&&(a=y.isTreePathToChildren),y=this,a)for(;;){a=null;for(var ee=y.jb.iterator;ee.next();){var ne=ee.value;if(ne.isTreeLink&&(a=ne.fromNode,a!==y&&a!==this))break}if(a===this)return this;if(a===null||a===y)return y;y=a}else for(;;){for(a=null,ee=y.jb.iterator;ee.next()&&(ne=ee.value,!ne.isTreeLink||(a=ne.toNode,a===y||a===this)););if(a===this)return this;if(a===null||a===y)return y;y=a}},It.gz=function(a){if(a===null)return null;if(this===a)return this;for(var y=this;y!==null;)AA(y,!0),y=y.pg();var ee=null;for(y=a;y!==null;){if(y.G&1048576){ee=y;break}y=y.pg()}for(y=this;y!==null;)AA(y,!1),y=y.pg();return ee},It.kh=function(){var a=!0,y=this.diagram;if(y!==null&&(a=y.isTreePathToChildren),y=this.jb.iterator,a){for(;y.next();)if(a=y.value,a.isTreeLink&&a.fromNode!==this)return a}else for(;y.next();)if(a=y.value,a.isTreeLink&&a.toNode!==this)return a;return null},It.pg=function(){var a=this.ci;if(a===null)return null;if(a instanceof Yi)return a;a=this.diagram,a=a!==null?a.isTreePathToChildren:!0;for(var y=this.jb.iterator;y.next();){var ee=y.value;if(ee.isTreeLink&&(ee=a?ee.fromNode:ee.toNode,ee!==this))return this.ci=ee}return this.ci=null},It.vz=function(){function a(ee,ne){ne.add(ee);var se=ee.kh();se!==null&&(ne.add(se),ee=ee.pg(),ee!==null&&a(ee,ne))}var y=new Zr;return a(this,y),y},It.uz=function(){return Mb(this,this)};function Mb(a,y){return y=y.pg(),y===null?0:1+Mb(a,y)}It.Qo=function(){var a=!0,y=this.diagram;y!==null&&(a=y.isTreePathToChildren),y=new Ui(this.jb);var ee=this;return y.predicate=a?function(ne){return!!(ne.isTreeLink&&ne.fromNode===ee)}:function(ne){return!!(ne.isTreeLink&&ne.toNode===ee)},y},It.Ou=function(){var a=!0,y=this.diagram;y!==null&&(a=y.isTreePathToChildren);var ee=y=null,ne=this.jb.iterator;if(a)for(;ne.next();)a=ne.value,a.isTreeLink&&a.fromNode===this&&(a=a.toNode,y!==null?y.add(a):ee!==null&&ee!==a?(y=new Hr,y.add(ee),y.add(a)):ee=a);else for(;ne.next();)a=ne.value,a.isTreeLink&&a.toNode===this&&(a=a.fromNode,y!==null?y.add(a):ee!==null&&ee!==a?(y=new Hr,y.add(ee),y.add(a)):ee=a);return y!==null?y.iterator:ee!==null?new Bo(ee):Do},It.wz=function(a){a===void 0&&(a=1/0);var y=new Zr;return J0(y,this,!1,a,!0),y},Yi.prototype.collapseTree=function(a){a===void 0&&(a=1),1>a&&(a=1);var y=this.diagram;if(y!==null&&!y.Ue){y.Ue=!0;var ee=new Zr;ee.add(this),Lb(this,ee,y.isTreePathToChildren,a,y,this,y.treeCollapsePolicy===jd),y.Ue=!1}};function Lb(a,y,ee,ne,se,ue,me){if(1<ne)for(var be=ee?a.Mo():a.Sd();be.next();){var Fe=be.value;Fe.isTreeLink&&(Fe=Fe.To(a),Fe===null||Fe===a||y.contains(Fe)||(y.add(Fe),Lb(Fe,y,ee,ne-1,se,ue,me)))}else Tb(a,y,ee,se,ue,me)}function Tb(a,y,ee,ne,se,ue){for(var me=se===a?!0:a.isTreeExpanded,be=ee?a.Mo():a.Sd(),Fe={};be.next();){var Ye=be.value;if(Ye.isTreeLink&&(Ye=Ye.To(a),Ye!==null&&Ye!==a)){var Je=y.contains(Ye);if(Je||y.add(Ye),me){var st=ee?Ye.Oo():Ye.Po();Fe.uv=a,st.all(function(yt){return function(Tt){return Tt===yt.uv||!Tt.isTreeExpanded}}(Fe))&&ne.Aj(Ye,se),Ye.oh(),Ye.Zb(!1)}Ye.isTreeExpanded&&(Ye.wasTreeExpanded=Ye.isTreeExpanded,Je||Tb(Ye,y,ee,ne,se,ue))}Fe={uv:Fe.uv}}a.isTreeExpanded=!1}Yi.prototype.expandTree=function(a){a===void 0&&(a=2),2>a&&(a=2);var y=this.diagram;if(y!==null&&!y.Ue){y.Ue=!0;var ee=new Zr;ee.add(this),Ib(this,ee,y.isTreePathToChildren,a,y,this,y.treeCollapsePolicy===jd),y.Ue=!1}};function Ib(a,y,ee,ne,se,ue,me){for(var be=ue===a?!1:a.isTreeExpanded,Fe=ee?a.Mo():a.Sd(),Ye={};Fe.next();){var Je=Fe.value;if(Je.isTreeLink&&(be||Je.fd||Je.bb(),Je=Je.To(a),Je!==null&&Je!==a&&!y.contains(Je))){if(y.add(Je),!be){Je.Zb(!0),Je.oh();var st=ee?Je.Oo():Je.Po();Ye.vv=a,st.all(function(yt){return function(Tt){return Tt===yt.vv||!Tt.isTreeExpanded}}(Ye))&&se.Cj(Je,ue)}(2<ne||Je.wasTreeExpanded)&&(Je.wasTreeExpanded=!1,Ib(Je,y,ee,ne-1,se,ue,me))}Ye={vv:Ye.vv}}a.isTreeExpanded=!0}Re.Object.defineProperties(Yi.prototype,{portSpreading:{get:function(){return this.Ba!==null?this.Ba.er:CA},set:function(a){var y=this.portSpreading;y!==a&&(c0(this),this.Ba.er=a,this.g("portSpreading",y,a),a=this.diagram,a!==null&&a.undoManager.isUndoingRedoing||this.Bd())}},avoidable:{get:function(){return(this.U&8)!==0},set:function(a){var y=(this.U&8)!==0;if(y!==a){this.U^=8;var ee=this.diagram;ee!==null&&ld(ee,this),this.g("avoidable",y,a)}}},avoidableMargin:{get:function(){return this.Ba!==null?this.Ba.yp:ph},set:function(a){typeof a=="number"&&(a=new jo(a));var y=this.avoidableMargin;if(!y.D(a)){a=a.J(),c0(this),this.Ba.yp=a;var ee=this.diagram;ee!==null&&ld(ee,this),this.g("avoidableMargin",y,a)}}},linksConnected:{get:function(){return this.jb.iterator}},linkConnected:{get:function(){return this.Ba!==null?this.Ba.Dq:null},set:function(a){var y=this.linkConnected;y!==a&&(c0(this),this.Ba.Dq=a,this.g("linkConnected",y,a))}},linkDisconnected:{get:function(){return this.Ba!==null?this.Ba.Eq:null},set:function(a){var y=this.linkDisconnected;y!==a&&(c0(this),this.Ba.Eq=a,this.g("linkDisconnected",y,a))}},linkValidation:{get:function(){return this.Ba!==null?this.Ba.gj:null},set:function(a){var y=this.linkValidation;y!==a&&(c0(this),this.Ba.gj=a,this.g("linkValidation",y,a))}},isLinkLabel:{get:function(){return this.Yk!==null}},labeledLink:{get:function(){return this.Yk},set:function(a){var y=this.Yk;if(y!==a){var ee=this.diagram,ne=this.data;if(y!==null){if(y.wd!==null&&(y.wd.remove(this),y.v()),ee!==null&&ne!==null&&!ee.undoManager.isUndoingRedoing){var se=y.data,ue=ee.model;if(se!==null&&ue.ri()){var me=ue.wa(ne);me!==void 0&&ue.Qx(se,me)}}this.containingGroup=null}this.Yk=a,a!==null&&(kw(a,this),ee===null||ne===null||ee.undoManager.isUndoingRedoing||(se=a.data,ee=ee.model,se!==null&&ee.ri()&&(ne=ee.wa(ne),ne!==void 0&&ee.Bu(se,ne))),this.containingGroup=a.containingGroup),qh(this),this.g("labeledLink",y,a)}}},port:{get:function(){return this.ns("")}},ports:{get:function(){return this.wc===null&&Nw(this),this.wc.iteratorValues}},isTreeExpanded:{get:function(){return(this.U&1)!==0},set:function(a){var y=(this.U&1)!==0;if(y!==a){this.U^=1;var ee=this.diagram;if(this.g("isTreeExpanded",y,a),y=this.treeExpandedChanged,y!==null){var ne=!0;ee!==null&&(ne=ee.aa,ee.aa=!0),y(this),ee!==null&&(ee.aa=ne)}ee!==null&&ee.undoManager.isUndoingRedoing?this.Zb(a):a?this.expandTree():this.collapseTree()}}},wasTreeExpanded:{get:function(){return(this.U&2)!==0},set:function(a){var y=(this.U&2)!==0;y!==a&&(this.U^=2,this.g("wasTreeExpanded",y,a))}},treeExpandedChanged:{get:function(){return this.Ba!==null?this.Ba.Vr:null},set:function(a){var y=this.treeExpandedChanged;y!==a&&(c0(this),this.Ba.Vr=a,this.g("treeExpandedChanged",y,a))}},isTreeLeaf:{get:function(){return(this.U&4)!==0},set:function(a){var y=(this.U&4)!==0;y!==a&&(this.U^=4,this.g("isTreeLeaf",y,a))}}}),Yi.prototype.expandTree=Yi.prototype.expandTree,Yi.prototype.collapseTree=Yi.prototype.collapseTree,Yi.prototype.findTreeParts=Yi.prototype.wz,Yi.prototype.findTreeChildrenNodes=Yi.prototype.Ou,Yi.prototype.findTreeChildrenLinks=Yi.prototype.Qo,Yi.prototype.findTreeLevel=Yi.prototype.uz,Yi.prototype.findTreeParentChain=Yi.prototype.vz,Yi.prototype.findTreeParentNode=Yi.prototype.pg,Yi.prototype.findTreeParentLink=Yi.prototype.kh,Yi.prototype.findCommonTreeParent=Yi.prototype.gz,Yi.prototype.findTreeRoot=Yi.prototype.xz,Yi.prototype.isInTreeOf=Yi.prototype.Nz,Yi.prototype.findPort=Yi.prototype.ns,Yi.prototype.findLinksTo=Yi.prototype.kz,Yi.prototype.findLinksBetween=Yi.prototype.jz,Yi.prototype.findNodesInto=Yi.prototype.Oo,Yi.prototype.findNodesOutOf=Yi.prototype.Po,Yi.prototype.findNodesConnected=Yi.prototype.Mu,Yi.prototype.findLinksInto=Yi.prototype.Sd,Yi.prototype.findLinksOutOf=Yi.prototype.Mo,Yi.prototype.findExternalTreeLinksConnected=Yi.prototype.qx,Yi.prototype.invalidateConnectedLinks=Yi.prototype.Bd,Yi.prototype.invalidateLinkBundle=Yi.prototype.Lz;var NT=new nr(Yi,"SpreadingNone",10),CA=new nr(Yi,"SpreadingEvenly",11),bA=new nr(Yi,"SpreadingPacked",12);Yi.className="Node",Yi.SpreadingNone=NT,Yi.SpreadingEvenly=CA,Yi.SpreadingPacked=bA;function Ma(a,y){a===void 0||a instanceof gc||typeof a=="string"?Yi.call(this,a):(Yi.call(this),a&&(y=a)),this.U|=4608,this.Gn=new Zr,this.$a=null,this.Sc=new Ol,this.Sc.group=this,this.gl=new Zr,this.tb=this.$p=null,y&&Object.assign(this,y)}He(Ma,Yi),Ma.prototype.cloneProtected=function(a){Yi.prototype.cloneProtected.call(this,a),this.U=this.U&-32769;var y=a.Nl(function(ee){return ee instanceof zh});y instanceof zh?a.$a=y:a.$a=null,this.Sc!==null?(a.Sc=this.Sc.copy(),a.Sc.group=a):(a.Sc!==null&&(a.Sc.group=null),a.Sc=null),this.tb!==null&&(a.tb=this.tb.copy())},It=Ma.prototype,It.Af=function(a){Yi.prototype.Af.call(this,a);var y=a.Rj();for(a=a.memberParts;a.next();){var ee=a.value;if(ee.v(),ee.C(8),ee.Ej(),ee instanceof Yi)ee.Bd(y);else if(ee instanceof Oi)for(ee=ee.labelNodes;ee.next();)ee.value.Bd(y)}},It.gk=function(a,y,ee,ne,se,ue,me){if(a===Ci&&y==="elements"){if(se instanceof zh)this.$a===null?this.$a=se:this.$a!==se&&cn("Cannot insert a second Placeholder into the visual tree of a Group.");else if(se instanceof bi){var be=se.Nl(function(Fe){return Fe instanceof zh});be instanceof zh&&(this.$a===null?this.$a=be:this.$a!==be&&cn("Cannot insert a second Placeholder into the visual tree of a Group."))}}else a===Wi&&y==="elements"&&this.$a!==null&&(ne===this.$a?this.$a=null:ne instanceof bi&&this.$a.rg(ne)&&(this.$a=null));Yi.prototype.gk.call(this,a,y,ee,ne,se,ue,me)},It.Xl=function(a,y){Yi.prototype.Xl.call(this,a,y),this.isClipping&&this.type!==bi.Spot&&this.isSubGraphExpanded&&(a=this.resizeObject,a instanceof bi&&(a=a.Pb()),this.tb===null&&(this.tb=new Ur),a.mi(this.tb),a instanceof Ua&&this.tb.Bc(-a.strokeWidth,-a.strokeWidth))},It.eh=function(a,y,ee,ne){this.nf=this.$a,Yi.prototype.eh.call(this,a,y,ee,ne)},It.Va=function(){var a=this;a.isSubGraphExpanded&&this.memberParts.each(function(y){!a.computesBoundsIncludingLinks&&y instanceof Oi||y.Va()}),Yi.prototype.Va.call(this)},It.si=function(){if(!Yi.prototype.si.call(this))return!1;for(var a=this.memberParts;a.next();){var y=a.value;if(y instanceof Yi){if(y.isVisible()&&ud(y))return!1}else if(y instanceof Oi&&y.isVisible()&&ud(y)&&y.fromNode!==this&&y.toNode!==this)return!1}return!0};function Rw(a,y){if(a.Gn.add(y)){y instanceof Ma&&a.gl.add(y);var ee=a.memberAdded;if(ee!==null){var ne=!0,se=a.diagram;se!==null&&(ne=se.aa,se.aa=!0),ee(a,y),se!==null&&(se.aa=ne)}a.isVisible()&&a.isSubGraphExpanded||y.Zb(!1)}y instanceof Oi&&!a.computesBoundsIncludingLinks||(y=a.$a,y===null&&(y=a),y.v())}function Ob(a,y){if(a.Gn.remove(y)){y instanceof Ma&&a.gl.remove(y);var ee=a.memberRemoved;if(ee!==null){var ne=!0,se=a.diagram;se!==null&&(ne=se.aa,se.aa=!0),ee(a,y),se!==null&&(se.aa=ne)}a.isVisible()&&a.isSubGraphExpanded||y.Zb(!0)}y instanceof Oi&&!a.computesBoundsIncludingLinks||(y=a.$a,y===null&&(y=a),y.v())}It.Lj=function(){if(0<this.Gn.count){var a=this.diagram;if(a!==null)for(var y=this.Gn.copy().iterator;y.next();)a.remove(y.value)}Yi.prototype.Lj.call(this)},Ma.prototype.canAddMembers=function(a){var y=this.diagram;if(y===null)return!1;for(y=y.commandHandler,a=Wr(a).iterator;a.next();)if(!y.isValidMember(this,a.value))return!1;return!0},Ma.prototype.addMembers=function(a,y){var ee=this.diagram;if(ee===null)return!1;ee=ee.commandHandler;var ne=!0;for(a=Wr(a).iterator;a.next();){var se=a.value;!y||ee.isValidMember(this,se)?se.containingGroup=this:ne=!1}return ne},Ma.prototype.canUngroup=function(){if(!this.ungroupable)return!1;var a=this.layer;return a===null||!a.allowUngroup?!1:(a=a.diagram,!!(a===null||a.allowUngroup))},It=Ma.prototype,It.Bd=function(a){var y=(this.U&65536)!==0;if(Yi.prototype.Bd.call(this,a),!y)for(!(this.U&65536)&&(this.U=this.U^65536),y=this.Lu();y.next();){var ee=y.value;if(a===void 0||!a.contains(ee)){var ne=ee.fromNode;ne!==null&&ne!==this&&ne.Td(this)&&!ne.isVisible()?(ed(ee.fromPort),ed(ee.toPort),ee.bb()):(ne=ee.toNode,ne!==null&&ne!==this&&ne.Td(this)&&!ne.isVisible()&&(ed(ee.fromPort),ed(ee.toPort),ee.bb()))}}},It.Lu=function(){var a=this.diagram!==null&&this.diagram.Pw;if(a&&this.$p!==null)return this.$p.iterator;var y=this.Rj();y.add(this);for(var ee=new Zr,ne=y.iterator;ne.next();){var se=ne.value;if(se instanceof Yi)for(se=se.linksConnected;se.next();){var ue=se.value;y.contains(ue)||ee.add(ue)}}return a&&(this.$p=ee),ee.iterator},It.iz=function(){var a=this.Rj();a.add(this);for(var y=new Zr,ee=a.iterator;ee.next();){var ne=ee.value;if(ne instanceof Yi)for(ne=ne.linksConnected;ne.next();){var se=ne.value,ue=se.fromNode;ue===null||a.contains(ue)&&ue!==this||y.add(ue),se=se.toNode,se===null||a.contains(se)&&se!==this||y.add(se)}}return y.iterator},It.hz=function(){function a(ee,ne){ee!==null&&(ne.add(ee),a(ee.containingGroup,ne))}var y=new Zr;return a(this,y),y},It.Rj=function(){var a=new Zr;return J0(a,this,!0,0,!0),a.remove(this),a},It.Zb=function(a){Yi.prototype.Zb.call(this,a);for(var y=this.memberParts;y.next();)y.value.Zb(a)},Ma.prototype.collapseSubGraph=function(){var a=this.diagram;if(a!==null&&!a.Ue){a.Ue=!0;var y=this.Rj();BT(this,y,a,this),a.Ue=!1}};function BT(a,y,ee,ne){for(var se=a.memberParts;se.next();){var ue=se.value;if(ue.Zb(!1),ue instanceof Ma&&ue.isSubGraphExpanded&&(ue.wasSubGraphExpanded=ue.isSubGraphExpanded,BT(ue,y,ee,ne)),ue instanceof Yi)ue.Bd(y),ee.Aj(ue,ne);else if(ue instanceof Oi)for(ue=ue.labelNodes;ue.next();)ue.value.Bd(y)}a.isSubGraphExpanded=!1}Ma.prototype.expandSubGraph=function(){var a=this.diagram;if(a!==null&&!a.Ue){a.Ue=!0;var y=this.Rj();Nb(this,y,a,this),a.Ue=!1}};function Nb(a,y,ee,ne){for(var se=a.memberParts;se.next();){var ue=se.value;if(ue.Zb(!0),ue instanceof Ma&&ue.wasSubGraphExpanded&&(ue.wasSubGraphExpanded=!1,Nb(ue,y,ee,ne)),ue instanceof Yi)ue.Bd(y),ee.Cj(ue,ne);else if(ue instanceof Oi)for(ue=ue.labelNodes;ue.next();)ue.value.Bd(y)}a.isSubGraphExpanded=!0}Ma.prototype.move=function(a,y){y===void 0&&(y=!1);var ee=y?this.location:this.position,ne=ee.x;ee=ee.y;var se=a.x,ue=a.y;if(!(ne===se||isNaN(ne)&&isNaN(se))||!(ee===ue||isNaN(ee)&&isNaN(ue))){for(ne=se-(isNaN(ne)?0:ne),ee=ue-(isNaN(ee)?0:ee),ue=yn.alloc(),Yi.prototype.move.call(this,a,y),a=new Zr,y=this.Rj().iterator;y.next();)se=y.value,se instanceof Oi&&(se.suspendsRouting&&a.add(se),se.fd||se.fromNode!==this&&se.toNode!==this)&&(se.suspendsRouting=!0);for(y.reset();y.next();)if(se=y.value,!(se.ph()||se instanceof Yi&&se.isLinkLabel)){var me=se.position,be=se.location;me.w()?(ue.x=me.x+ne,ue.y=me.y+ee,se.position=ue):be.w()&&(ue.x=be.x+ne,ue.y=be.y+ee,se.location=ue)}for(y.reset();y.next();)se=y.value,se instanceof Oi&&(se.suspendsRouting=a.contains(se),se.fd||se.fromNode!==this&&se.toNode!==this)&&(me=se.position,ue.x=me.x+ne,ue.y=me.y+ee,ue.w()?se.move(ue):se.bb(),LA(se)&&se.bb());yn.free(ue)}},Re.Object.defineProperties(Ma.prototype,{placeholder:{get:function(){return this.$a}},computesBoundsAfterDrag:{get:function(){return(this.U&2048)!==0},set:function(a){var y=(this.U&2048)!==0;y!==a&&(this.U^=2048,this.g("computesBoundsAfterDrag",y,a))}},computesBoundsIncludingLinks:{get:function(){return(this.U&4096)!==0},set:function(a){var y=(this.U&4096)!==0;y!==a&&(this.U^=4096,this.g("computesBoundsIncludingLinks",y,a))}},computesBoundsIncludingLocation:{get:function(){return(this.U&8192)!==0},set:function(a){var y=(this.U&8192)!==0;y!==a&&(this.U^=8192,this.g("computesBoundsIncludingLocation",y,a))}},handlesDragDropForMembers:{get:function(){return(this.U&16384)!==0},set:function(a){var y=(this.U&16384)!==0;y!==a&&(this.U^=16384,this.g("handlesDragDropForMembers",y,a))}},memberParts:{get:function(){return this.Gn.iterator}},layout:{get:function(){return this.Sc},set:function(a){var y=this.Sc;if(y!==a){a!==null&&a.diagram!==null&&a.diagram.layout===a&&cn("A layout cannot be both the Diagram.layout and a Group.layout: "+a),y!==null&&(y.diagram=null,y.group=null),this.Sc=a;var ee=this.diagram;a!==null&&(a.diagram=ee,a.group=this),ee!==null&&(ee.xh=!0),this.g("layout",y,a),ee!==null&&ee.$b()}}},memberAdded:{get:function(){return this.Ba!==null?this.Ba.Mq:null},set:function(a){var y=this.memberAdded;y!==a&&(c0(this),this.Ba.Mq=a,this.g("memberAdded",y,a))}},memberRemoved:{get:function(){return this.Ba!==null?this.Ba.Nq:null},set:function(a){var y=this.memberRemoved;y!==a&&(c0(this),this.Ba.Nq=a,this.g("memberRemoved",y,a))}},memberValidation:{get:function(){return this.Ba!==null?this.Ba.ij:null},set:function(a){var y=this.memberValidation;y!==a&&(c0(this),this.Ba.ij=a,this.g("memberValidation",y,a))}},ungroupable:{get:function(){return(this.U&256)!==0},set:function(a){var y=(this.U&256)!==0;y!==a&&(this.U^=256,this.g("ungroupable",y,a))}},isSubGraphExpanded:{get:function(){return(this.U&512)!==0},set:function(a){var y=(this.U&512)!==0;if(y!==a){this.U^=512;var ee=this.diagram;if(this.g("isSubGraphExpanded",y,a),y=this.subGraphExpandedChanged,y!==null){var ne=!0;ee!==null&&(ne=ee.aa,ee.aa=!0),y(this),ee!==null&&(ee.aa=ne)}ee!==null&&ee.undoManager.isUndoingRedoing?(this.$a!==null&&this.$a.v(),this.memberParts.each(function(se){se.updateAdornments()})):a?this.expandSubGraph():this.collapseSubGraph()}}},wasSubGraphExpanded:{get:function(){return(this.U&1024)!==0},set:function(a){var y=(this.U&1024)!==0;y!==a&&(this.U^=1024,this.g("wasSubGraphExpanded",y,a))}},subGraphExpandedChanged:{get:function(){return this.Ba!==null?this.Ba.Kr:null},set:function(a){var y=this.subGraphExpandedChanged;y!==a&&(c0(this),this.Ba.Kr=a,this.g("subGraphExpandedChanged",y,a))}},rh:{get:function(){return(this.U&32768)!==0},set:function(a){(this.U&32768)!==0!==a&&(this.U^=32768)}}}),Ma.prototype.expandSubGraph=Ma.prototype.expandSubGraph,Ma.prototype.collapseSubGraph=Ma.prototype.collapseSubGraph,Ma.prototype.findSubGraphParts=Ma.prototype.Rj,Ma.prototype.findContainingGroupChain=Ma.prototype.hz,Ma.prototype.findExternalNodesConnected=Ma.prototype.iz,Ma.prototype.findExternalLinksConnected=Ma.prototype.Lu,Ma.prototype.ensureBounds=Ma.prototype.Va,Ma.className="Group";function zh(a){lr.call(this),this.yb=Oc,this.ko=new Ur(NaN,NaN,NaN,NaN),a&&Object.assign(this,a)}He(zh,lr),zh.prototype.cloneProtected=function(a){lr.prototype.cloneProtected.call(this,a),a.yb=this.yb.J(),a.ko=this.ko.copy()},zh.prototype.gh=function(a){if(this.background===null&&this.areaBackground===null)return!1;var y=this.naturalBounds;return Al(0,0,y.width,y.height,a.x,a.y)},zh.prototype.Wl=function(){var a=this.part;if(a!==null&&(a instanceof Ma||a instanceof Cs)||cn("Placeholder is not inside a Group or Adornment."),a instanceof Ma){var y=this.computeBorder(this.ko),ee=this.minSize,ne=this.dc;for(Su(ne,(isFinite(ee.width)?Math.max(ee.width,y.width):y.width)||0,(isFinite(ee.height)?Math.max(ee.height,y.height):y.height)||0),this.Ge(0,0,ne.width,ne.height),ne=a.memberParts,ee=!1;ne.next();)if(ne.value.isVisible()){ee=!0;break}ne=a.diagram,!ee||ne===null||ne.animationManager.Xu(a)||isNaN(y.x)||isNaN(y.y)||(ee=yn.alloc(),ee.xi(y,a.locationSpot),ee.D(a.location)||(a.location=ee),yn.free(ee))}else{y=this.dc,ee=this.yb,ne=ee.left+ee.right;var se=ee.top+ee.bottom,ue=a.adornedObject;a.angle=ue.li();var me=0;ue instanceof Ua&&(me=ue.strokeWidth);var be=ue.Df(),Fe=ue.naturalBounds,Ye=(Fe.width+me)*be;me=(Fe.height+me)*be,a.type!==bi.Link&&(be=ue.ga(a.category==="Selection"?Ya:a.locationSpot,yn.alloc()),a.location=be,yn.free(be)),isNaN(Ye)||isNaN(me)?(a=ue.ga(Ya,yn.alloc()),Ye=Ur.allocAt(a.x,a.y,0,0),Ye.Ye(ue.ga(Pc,a)),Ye.Ye(ue.ga(Zh,a)),Ye.Ye(ue.ga(nh,a)),Su(y,Ye.width+ne||0,Ye.height+se||0),this.Ge(-ee.left,-ee.top,y.width,y.height),yn.free(a),Ur.free(Ye)):(Su(y,Ye+ne||0,me+se||0),this.Ge(-ee.left,-ee.top,y.width,y.height))}},zh.prototype.eh=function(a,y,ee,ne){this.actualBounds.h(a,y,ee,ne)},zh.prototype.computeBorder=function(a){var y=this.part,ee=y.diagram,ne=ee===null||!ee.animationManager.isAnimating;if(ee!==null&&y instanceof Ma&&!y.layer.isTemporary&&y.computesBoundsAfterDrag&&this.ko.w()){var se=ee.toolManager.findTool("Dragging");if(se===ee.currentTool&&(ee=se.computeBorder(y,this.ko,a),ee!==null))return ee}ee=Ur.alloc(),se=this.computeMemberBounds(ee);var ue=this.yb;return y instanceof Ma&&!y.isSubGraphExpanded?a.h(se.x-ue.left,se.y-ue.top,0,0):a.h(se.x-ue.left,se.y-ue.top,Math.max(se.width+ue.left+ue.right,0),Math.max(se.height+ue.top+ue.bottom,0)),Ur.free(ee),ne&&y instanceof Ma&&y.computesBoundsIncludingLocation&&y.location.w()&&a.Ye(y.location),a},zh.prototype.computeMemberBounds=function(a){if(!(this.part instanceof Ma))return a.h(0,0,0,0),a;for(var y=this.part,ee=1/0,ne=1/0,se=-1/0,ue=-1/0,me=y.memberParts;me.next();){var be=me.value;if(be.isVisible()){if(be instanceof Oi&&(!y.computesBoundsIncludingLinks||Mf(be)||be.fromNode===y||be.toNode===y))continue;be=be.actualBounds,be.left<ee&&(ee=be.left),be.top<ne&&(ne=be.top),be.right>se&&(se=be.right),be.bottom>ue&&(ue=be.bottom)}}return isFinite(ee)&&isFinite(ne)?a.h(ee,ne,se-ee,ue-ne):(y=y.location,a.h(y.x,y.y,0,0)),a},Re.Object.defineProperties(zh.prototype,{padding:{get:function(){return this.yb},set:function(a){typeof a=="number"&&(a=new jo(a));var y=this.yb;y.D(a)||(this.yb=a=a.J(),this.g("padding",y,a),this.v())}}}),zh.className="Placeholder";function Oi(a){_o.call(this,bi.Link),this.Qa=8,this.ef=null,this.ff="",this.uf=this.gn=null,this.vf="",this.uo=null,this.qk=wh,this.Om=0,this.Qm=wh,this.Rm=NaN,this.qj=jw,this.po=.5,this.wd=null,this.Nb=new Hr().freeze(),this.Tg=this.Mg=null,this.ml=new Ur,this.ua=new wi,this.u=this.o=this.Sf=this.Wf=null,this.su=new yn,this.cq=this.Mw=this.Lw=null,this.vt=NaN,this.ba=null,this.j=[],a&&Object.assign(this,a)}He(Oi,_o),Oi.prototype.cloneProtected=function(a){_o.prototype.cloneProtected.call(this,a),a.Qa=this.Qa&-113,a.ff=this.ff,a.gn=this.gn,a.vf=this.vf,a.uo=this.uo,a.qk=this.qk,a.Om=this.Om,a.Qm=this.Qm,a.Rm=this.Rm,a.qj=this.qj,a.po=this.po,this.ba!==null&&(a.ba=this.ba.copy())},It=Oi.prototype,It.Af=function(a){_o.prototype.Af.call(this,a),this.ff=a.ff,this.vf=a.vf,a.Mg=null,a.bb(),a.Sf=this.Sf;var y=a.fromPort;y!==null&&ed(y),a=a.toPort,a!==null&&ed(a)},It.qb=function(a){a.classType===Oi?(a.value&2)===2?this.routing=a:a===If||a===Nv||a===$x?this.curve=a:a===TA||a===Ww||a===Pm?this.adjusting=a:a!==jw&&a!==wh&&cn("Unknown Link enum value for a Link property: "+a):_o.prototype.qb.call(this,a)},It.Xc=function(){this.ba===null&&(this.ba=new rA)},It.si=function(){var a=this.fromNode;if(a!==null){var y=a.findVisibleNode();if(y!==null&&(a=y),ud(a)||Q0(a))return!1}return a=this.toNode,!(a!==null&&(y=a.findVisibleNode(),y!==null&&(a=y),ud(a)||Q0(a)))},It.zv=function(){return!1},It.Av=function(){},It.Zc=function(){return!1},Oi.prototype.computeAngle=function(a,y,ee){return Oi.computeAngle(y,ee)},Oi.computeAngle=function(a,y){switch(a){default:case wh:a=0;break;case R1:a=y;break;case eE:a=y+90;break;case Sy:a=y-90;break;case Uw:a=y+180;break;case Gw:a=dr.bp(y),90<a&&270>a&&(a-=180);break;case tE:a=dr.bp(y+90),90<a&&270>a&&(a-=180);break;case nE:a=dr.bp(y-90),90<a&&270>a&&(a-=180);break;case Gd:if(a=dr.bp(y),45<a&&135>a||225<a&&315>a)return 0;90<a&&270>a&&(a-=180)}return dr.bp(a)};function Qx(a){var y=a.fromNode,ee=a.toNode,ne=null;if(y!==null?ne=ee!==null?y.px(ee):y.containingGroup:ee!==null?ne=ee.containingGroup:ne=null,y=ne,ee=a.Ah,ee!==y){ee!==null&&Ob(ee,a),a.Ah=y,y!==null&&Rw(y,a);var se=a.containingGroupChanged;if(se!==null){var ue=!0,me=a.diagram;me!==null&&(ue=me.aa,me.aa=!0),se(a,ee,y),me!==null&&(me.aa=ue)}!a.fd||a.Lw!==ee&&a.Mw!==ee||a.bb()}if(a.isLabeledLink)for(a=a.labelNodes;a.next();)a.value.containingGroup=ne}It=Oi.prototype,It.oh=function(){var a=this.containingGroup;a!==null&&this.fromNode!==a&&this.toNode!==a&&a.computesBoundsIncludingLinks&&_o.prototype.oh.call(this)},It.To=function(a){var y=this.fromNode;return a===y?this.toNode:y},It.Cz=function(a){var y=this.fromPort;return a===y?this.toPort:y};function kw(a,y){a.wd===null&&(a.wd=new Zr),a.wd.add(y),a.v()}It.Vo=function(a){if(_o.prototype.Vo.call(this,a),Ey(this)&&this.Xo(this.actualBounds),!a){a=this.ef;var y=null;a!==null&&(y=this.fromPort,Wd(a,this,y));var ee=this.uf;if(ee!==null){var ne=this.toPort;ee===a&&ne===y||Wd(ee,this,ne)}N1(this)}},It.Wo=function(a){if(_o.prototype.Wo.call(this,a),Ey(this)&&this.Xo(this.actualBounds),!a){a=this.ef;var y=null;a!==null&&(y=this.fromPort,my(a,this,y));var ee=this.uf;if(ee!==null){var ne=this.toPort;ee===a&&ne===y||my(ee,this,ne)}B1(this)}},It.Lj=function(){if(this.fd=!0,this.wd!==null){var a=this.diagram;if(a!==null)for(var y=this.wd.copy().iterator;y.next();)a.remove(y.value)}this.data!==null&&(a=this.diagram,a!==null&&a.partManager.removeDataForLink(this))},Oi.prototype.updateRelationshipsFromData=function(){if(this.data!==null){var a=this.diagram;a!==null&&a.partManager.updateRelationshipsFromData(this)}},Oi.prototype.move=function(a,y){var ee=y?this.location:this.position,ne=ee.x;isNaN(ne)&&(ne=0);var se=ee.y;for(isNaN(se)&&(se=0),ne=a.x-ne,se=a.y-se,y===!0?_o.prototype.move.call(this,a,!1):(a=yn.allocAt(ee.x+ne,ee.y+se),_o.prototype.move.call(this,a,!1),yn.free(a)),Ud(this,ne,se),a=this.labelNodes;a.next();)y=a.value,ee=y.position,y.moveTo(ee.x+ne,ee.y+se)},Oi.prototype.canRelinkFrom=function(){if(!this.relinkableFrom)return!1;var a=this.layer;return a===null?!0:a.allowRelink?(a=a.diagram,!!(a===null||a.allowRelink)):!1},Oi.prototype.canRelinkTo=function(){if(!this.relinkableTo)return!1;var a=this.layer;return a===null?!0:a.allowRelink?(a=a.diagram,!!(a===null||a.allowRelink)):!1},Oi.prototype.computeMidPoint=function(a){var y=this.pointsCount;if(y===0)return a.assign(ma),a;if(y===1)return a.assign(this.i(0)),a;if(y===2){var ee=this.i(0),ne=this.i(1);return a.h((ee.x+ne.x)/2,(ee.y+ne.y)/2),a}if(this.isOrthogonal&&(15<=this.computeCorner()||this.computeCurve()===If))return this.ua.Pu(.5,a),a.add(this.i(0)),ee=this.ua.figures.first(),a.offset(-ee.startX,-ee.startY),a;if(this.computeCurve()===If){if(y===3){ee=this.i(0),ne=this.i(1);var se=this.i(2);return dr.ax(ee.x,ee.y,ne.x,ne.y,ne.x,ne.y,se.x,se.y,a),a}if(ne=(y-1)/3|0,ee=3*(ne/2|0),ne%2===1){ne=this.i(ee),se=this.i(ee+1);var ue=this.i(ee+2);ee=this.i(ee+3),dr.ax(ne.x,ne.y,se.x,se.y,ue.x,ue.y,ee.x,ee.y,a)}else a.assign(this.i(ee));return a}var me=this.flattenedLengths;for(ee=this.flattenedTotalLength,se=ue=ne=0;ne<ee/2&&ue<y&&(se=me[ue],!(ne+se>ee/2));)ne+=se,ue++;return y=this.i(ue),ue=this.i(ue+1),1>Math.abs(y.x-ue.x)?y.y>ue.y?a.h(y.x,y.y-(ee/2-ne)):a.h(y.x,y.y+(ee/2-ne)):1>Math.abs(y.y-ue.y)?y.x>ue.x?a.h(y.x-(ee/2-ne),y.y):a.h(y.x+(ee/2-ne),y.y):(ee=(ee/2-ne)/se,a.h(y.x+ee*(ue.x-y.x),y.y+ee*(ue.y-y.y))),a},Oi.prototype.computeMidAngle=function(){var a=this.pointsCount;if(2>a)return NaN;if(a===2)return this.i(0).ab(this.i(1));if(this.isOrthogonal&&(15<=this.computeCorner()||this.computeCurve()===If))return this.ua.wx(.5);if(this.computeCurve()===If&&4<=a){var y=(a-1)/3|0,ee=3*(y/2|0);if(y%2===1){ee=Math.floor(ee),a=this.i(ee),y=this.i(ee+1);var ne=this.i(ee+2);return ee=this.i(ee+3),dr.My(a.x,a.y,y.x,y.y,ne.x,ne.y,ee.x,ee.y)}if(0<ee&&ee+1<a)return this.i(ee-1).ab(this.i(ee+1))}y=this.flattenedLengths,ne=this.flattenedTotalLength;var se=0;ee=0;for(var ue;se<ne/2&&ee<a&&(ue=y[ee],!(se+ue>ne/2));)se+=ue,ee++;if(y=this.i(ee),ne=this.i(ee+1),1>Math.abs(y.x-ne.x)&&1>Math.abs(y.y-ne.y)){if(0<ee&&ee+2<a)return this.i(ee-1).ab(this.i(ee+2))}else{if(1>Math.abs(y.x-ne.x))return y.y>ne.y?270:90;if(1>Math.abs(y.y-ne.y))return y.x>ne.x?180:0}return y.ab(ne)},It=Oi.prototype,It.i=function(a){return this.Nb.s[a]},It.dd=function(a,y){this.Nb.cd(a,y)},It.L=function(a,y,ee){this.Nb.cd(a,new yn(y,ee))},It.Kz=function(a,y){this.Nb.Gb(a,y)},It.m=function(a,y,ee){this.Nb.Gb(a,new yn(y,ee))},It.ne=function(a){this.Nb.add(a)},It.yf=function(a,y){this.Nb.add(new yn(a,y))},It.pv=function(a){this.Nb.mb(a)},It.Fj=function(){this.Nb.clear()};function Ud(a,y,ee){if(y!==0||ee!==0)if(a.pointsCount===0)a.defaultFromPoint&&a.defaultFromPoint.offset(y,ee),a.defaultToPoint&&a.defaultToPoint.offset(y,ee);else{for(var ne=a.fd,se=new Hr,ue=a.Nb.iterator;ue.next();){var me=ue.value;se.add(new yn(me.x+y,me.y+ee).freeze())}se.freeze(),ue=a.Nb,a.Nb=se,me=a.diagram,isNaN(y)||isNaN(ee)||me!==null&&me.animationManager.zb?a.v():(a.ke.h(a.ke.x+y,a.ke.y+ee),a.pa.h(a.pa.x+y,a.pa.y+ee),qh(a)),ne?PA(a):(a.defaultFromPoint&&(a.defaultFromPoint=a.i(0)),a.defaultToPoint&&(a.defaultToPoint=a.i(a.pointsCount-1))),me!==null&&me.animationManager.zb&&Eo(me.animationManager,a,se),a.g("points",ue,se)}}It.uh=function(){this.Mg===null&&(this.Mg=this.Nb,this.Nb=this.Nb.copy())},It.zf=function(){if(this.Mg!==null){for(var a=this.Mg,y=this.Nb,ee=1/0,ne=1/0,se=a.s,ue=se.length,me=0;me<ue;me++){var be=se[me];ee=Math.min(be.x,ee),ne=Math.min(be.y,ne)}be=me=1/0;for(var Fe=y.s,Ye=Fe.length,Je=0;Je<Ye;Je++){var st=Fe[Je];me=Math.min(st.x,me),be=Math.min(st.y,be),st.freeze()}if(y.freeze(),Ye===ue){for(ue=0;ue<Ye;ue++)if(Je=se[ue],st=Fe[ue],Je.x-ee!==st.x-me||Je.y-ne!==st.y-be){this.qc();break}}else this.qc();this.Mg=null,ee=this.diagram,ee!==null&&ee.animationManager.zb&&Eo(ee.animationManager,this,y),PA(this),this.g("points",a,y)}},It.rv=function(){this.Mg!==null&&(this.Nb=this.Mg,this.Mg=null)};function PA(a){a.Nb.count===0?a.fd=!1:(a.fd=!0,a.cq=null,a.vt=NaN,a.defaultFromPoint=a.i(0),a.defaultToPoint=a.i(a.pointsCount-1),qx(a,!1))}It.bb=function(){if(!this.suspendsRouting){var a=this.diagram;if(a){if(a.As.contains(this)||a.undoManager.isUndoingRedoing||(a=a.animationManager,a.isTicking&&!a.isAnimating))return;this.Tg===null||a.isTicking||(this.Tg=null)}a=this.path,a!==null&&(this.fd=!1,this.v(),a.v())}},It.vg=function(){if(!this.fd&&!this.computingPoints){var a=!0;try{this.computingPoints=!0,this.uh(),a=this.computePoints()}catch(y){this.computingPoints=!1,this.rv()}finally{this.computingPoints=!1,a?this.zf():this.rv()}}},Oi.prototype.computePoints=function(){if(this.diagram===null)return!1;var a=this.fromNode,y=null;if(a===null?(bm||(bm=new Yi,bm.desiredSize=Gs,bm.Va()),this.defaultFromPoint&&(bm.location=this.defaultFromPoint,bm.Va(),y=a=bm)):y=this.fromPort,y!==null&&!a.isVisible()){var ee=a.findVisibleNode();ee!==null&&ee!==a?(a=ee,y=ee.port):a=ee}if(this.Lw=a,a===null||!a.location.w())return!1;for(;!(y===null||y.actualBounds.w()&&y.Ed());)y=y.panel;if(y===null)return!1;var ne=this.toNode,se=null;if(ne===null?(Ay||(Ay=new Yi,Ay.desiredSize=Gs,Ay.Va()),this.defaultToPoint&&(Ay.location=this.defaultToPoint,Ay.Va(),se=ne=Ay)):se=this.toPort,se===null||ne.isVisible()||(ee=ne.findVisibleNode(),ee!==null&&ee!==ne?(ne=ee,se=ee.port):ne=ee),this.Mw=ne,ne===null||!ne.location.w())return!1;for(;!(se===null||se.actualBounds.w()&&se.Ed());)se=se.panel;if(se===null)return!1;var ue=this.pointsCount,me=this.computeSpot(!0,y);ee=this.computeSpot(!1,se);var be=Fp(me),Fe=Fp(ee),Ye=y===se&&y!==null,Je=this.isOrthogonal,st=this.curve===If;this.Wf=Ye&&!Je?st=!0:!1;var yt=this.computeAdjusting()===wh||Ye;if(!Je&&!Ye&&be&&Fe){if(be=!1,!yt&&3<=ue&&(yt=this.getLinkPoint(a,y,me,!0,!1,ne,se),Fe=this.getLinkPoint(ne,se,ee,!1,!1,a,y),be=this.adjustPoints(0,yt,ue-1,Fe))&&(yt=this.getLinkPoint(a,y,me,!0,!1,ne,se),Fe=this.getLinkPoint(ne,se,ee,!1,!1,a,y),this.adjustPoints(0,yt,ue-1,Fe)),!be)if(this.Fj(),st){ue=this.getLinkPoint(a,y,me,!0,!1,ne,se),yt=this.getLinkPoint(ne,se,ee,!1,!1,a,y),be=yt.x-ue.x,Fe=yt.y-ue.y,Ye=this.computeCurviness(),st=Je=0;var Tt=ue.x+be/3,Ft=ue.y+Fe/3,Zt=Tt,bn=Ft;dr.B(Fe,0)?bn=0<be?bn-Ye:bn+Ye:(Je=-be/Fe,st=Math.sqrt(Ye*Ye/(Je*Je+1)),0>Ye&&(st=-st),Zt=(0>Fe?-1:1)*st+Tt,bn=Je*(Zt-Tt)+Ft),Tt=ue.x+2*be/3,Ft=ue.y+2*Fe/3;var fn=Tt,Fn=Ft;dr.B(Fe,0)?Fn=0<be?Fn-Ye:Fn+Ye:(fn=(0>Fe?-1:1)*st+Tt,Fn=Je*(fn-Tt)+Ft),this.Fj(),this.ne(ue),this.yf(Zt,bn),this.yf(fn,Fn),this.ne(yt),this.dd(0,this.getLinkPoint(a,y,me,!0,!1,ne,se)),this.dd(3,this.getLinkPoint(ne,se,ee,!1,!1,a,y))}else ue=ne,yt=se,ne=this.getLinkPoint(a,y,me,!0,!1,ue,yt),se=this.getLinkPoint(ue,yt,ee,!1,!1,a,y),this.hasCurviness()?(yt=se.x-ne.x,ee=se.y-ne.y,me=this.computeCurviness(),a=ne.x+yt/2,y=ne.y+ee/2,ue=a,be=y,dr.B(ee,0)?be=0<yt?be-me:be+me:(yt=-yt/ee,ue=Math.sqrt(me*me/(yt*yt+1)),0>me&&(ue=-ue),ue=(0>ee?-1:1)*ue+a,be=yt*(ue-a)+y),this.ne(ne),this.yf(ue,be),this.ne(se)):(this.ne(ne),this.ne(se),be=Ur.alloc(),y.mi(be),Fe=be.ca(se),yt.mi(be),Ye=be.ca(ne),(Fe||Ye)&&(me=y.ga(Jx(me),new yn),this.dd(0,this.getLinkPointFromPoint(a,y,me,se,!0,me)),ee=yt.ga(Jx(ee),new yn),this.dd(1,this.getLinkPointFromPoint(ue,yt,ee,ne,!1,ee))),Ur.free(be))}else{st=this.isAvoiding,yt&&(Je&&st||Ye)&&this.Fj();var zn=Ye?this.computeCurviness():0;st=this.getLinkPoint(a,y,me,!0,Je,ne,se),Tt=Zt=Ft=0,(Je||!be||Ye)&&(bn=this.computeEndSegmentLength(a,y,me,!0),Tt=this.getLinkDirection(a,y,st,me,!0,Je,ne,se),Ye&&(be||me.D(ee)||!Je&&me.x+ee.x===1&&me.y+ee.y===1)&&(Tt-=Je?90:30,0>zn&&(Tt-=180)),0>Tt?Tt+=360:360<=Tt&&(Tt-=360),Ye&&(bn+=Math.abs(zn)*(Je?1:2)),Tt===0?Ft=bn:Tt===90?Zt=bn:Tt===180?Ft=-bn:Tt===270?Zt=-bn:(Ft=bn*Math.cos(Tt*Math.PI/180),Zt=bn*Math.sin(Tt*Math.PI/180)),me.Mc()&&Ye&&(bn=y.ga(us,yn.alloc()),fn=yn.allocAt(bn.x+1e3*Ft,bn.y+1e3*Zt),this.getLinkPointFromPoint(a,y,bn,fn,!0,st),yn.free(bn),yn.free(fn))),bn=this.getLinkPoint(ne,se,ee,!1,Je,a,y);var Zn=Fn=fn=0;if(Je||!Fe||Ye){var sr=this.computeEndSegmentLength(ne,se,ee,!1);Zn=this.getLinkDirection(ne,se,bn,ee,!1,Je,a,y),Ye&&(Fe||me.D(ee)||!Je&&me.x+ee.x===1&&me.y+ee.y===1)&&(Zn+=Je?0:30,0>zn&&(Zn+=180)),0>Zn?Zn+=360:360<=Zn&&(Zn-=360),Ye&&(sr+=Math.abs(zn)*(Je?1:2)),Zn===0?fn=sr:Zn===90?Fn=sr:Zn===180?fn=-sr:Zn===270?Fn=-sr:(fn=sr*Math.cos(Zn*Math.PI/180),Fn=sr*Math.sin(Zn*Math.PI/180)),ee.Mc()&&Ye&&(ee=se.ga(us,yn.alloc()),me=yn.allocAt(ee.x+1e3*fn,ee.y+1e3*Fn),this.getLinkPointFromPoint(ne,se,ee,me,!1,bn),yn.free(ee),yn.free(me))}ee=st,(Je||!be||Ye)&&(ee=new yn(st.x+Ft,st.y+Zt)),me=bn,(Je||!Fe||Ye)&&(me=new yn(bn.x+fn,bn.y+Fn)),!yt&&!Je&&be&&3<ue&&this.adjustPoints(0,st,ue-2,me)?this.dd(ue-1,bn):!yt&&!Je&&Fe&&3<ue&&this.adjustPoints(1,ee,ue-1,bn)?this.dd(0,st):!yt&&(Je?6<=ue:4<ue)&&this.adjustPoints(1,ee,ue-2,me)?(this.dd(0,st),this.dd(ue-1,bn)):(this.Fj(),this.ne(st),(Je||!be||Ye)&&this.ne(ee),Je&&this.addOrthoPoints(ee,Tt,me,Zn,a,ne),(Je||!Fe||Ye)&&this.ne(me),this.ne(bn))}return!0};function MA(a,y){return Math.abs(y.x-a.x)>Math.abs(y.y-a.y)?(y.x>=a.x?y.x=a.x+9e9:y.x=a.x-9e9,y.y=a.y):(y.y>=a.y?y.y=a.y+9e9:y.y=a.y-9e9,y.x=a.x),y}Oi.prototype.getLinkPointFromPoint=function(a,y,ee,ne,se,ue){if(ue===void 0&&(ue=new yn),a===null||y===null)return ue.assign(ee),ue;if(a.isVisible()||(se=a.findVisibleNode(),se!==null&&se!==a&&(y=se.port)),a=null,se=y.panel,se===null||se.se()||(se=se.panel),se===null){se=ne.x,ne=ne.y;var me=ee.x;ee=ee.y}else{a=se.oe,se=1/(a.m11*a.m22-a.m12*a.m21),me=a.m22*se;var be=-a.m12*se,Fe=-a.m21*se,Ye=a.m11*se,Je=se*(a.m21*a.dy-a.m22*a.dx),st=se*(a.m12*a.dx-a.m11*a.dy);se=ne.x*me+ne.y*Fe+Je,ne=ne.x*be+ne.y*Ye+st,me=ee.x*me+ee.y*Fe+Je,ee=ee.x*be+ee.y*Ye+st}return y.Sj(se,ne,me,ee,ue),a!==null&&ue.transform(a),ue};function Fw(a,y){var ee=y.Zn;return ee===null&&(ee=new Py,ee.port=y,ee.node=y.part,y.Zn=ee),Ub(ee,a)}Oi.prototype.getLinkPoint=function(a,y,ee,ne,se,ue,me,be){if(be===void 0&&(be=new yn),ee.sb()&&!Fp(ee))return y.ga(ee,be),be;if(ee.$c()){var Fe=Fw(this,y);if(Fe!==null){if(be.assign(Fe.Zo),se&&this.routing===RT){var Ye=Fw(this,me);if(Ye!==null&&Fe.Gl<Ye.Gl){Fe=yn.alloc(),Ye=yn.alloc();var Je=new Ur(y.ga(Ya,Fe),y.ga(Pc,Ye)),st=this.computeSpot(!ne,me);a=this.getLinkPoint(ue,me,st,!ne,se,a,y,Ye),(ee.Hf(Uc)||ee.Hf(Gc))&&a.y>=Je.y&&a.y<=Je.y+Je.height?be.y=a.y:(ee.Hf(od)||ee.Hf(Hc))&&a.x>=Je.x&&a.x<=Je.x+Je.width&&(be.x=a.x),yn.free(Fe),yn.free(Ye)}}return be}}return ee=y.ga(Jx(ee),yn.alloc()),this.pointsCount>(se?6:2)?(me=ne?this.i(1):this.i(this.pointsCount-2),se&&(me=MA(ee,me.copy()))):(Fe=this.computeSpot(!ne,me),ue=yn.alloc(),me=me.ga(Jx(Fe),ue),se&&(me=MA(ee,me)),yn.free(ue)),this.getLinkPointFromPoint(a,y,ee,me,ne,be),yn.free(ee),be},Oi.prototype.getLinkDirection=function(a,y,ee,ne,se,ue,me,be){e:if(ne.sb())var Fe=ne.x>ne.y?ne.x>1-ne.y?0:ne.x<1-ne.y?270:315:ne.x<ne.y?ne.x>1-ne.y?90:ne.x<1-ne.y?180:135:.5>ne.x?225:.5<ne.x?45:0;else{if(ne.$c()&&(Fe=Fw(this,y),Fe!==null))switch(Fe.Nc){case 1:Fe=270;break e;case 2:Fe=180;break e;default:case 4:Fe=0;break e;case 8:Fe=90;break e}Fe=y.ga(us,yn.alloc()),this.pointsCount>(ue?6:2)?(be=se?this.i(1):this.i(this.pointsCount-2),be=ue?MA(Fe,be.copy()):ee):(ee=yn.alloc(),be=be.ga(us,ee),yn.free(ee)),ee=Math.abs(be.x-Fe.x)>Math.abs(be.y-Fe.y)?be.x>=Fe.x?0:180:be.y>=Fe.y?90:270,yn.free(Fe),Fe=ee}return ne.Mc()&&me.Td(a)&&(Fe+=180,360<=Fe&&(Fe-=360)),Fp(ne)||(a=y.li(),a===0)||(45<=a&&135>a?Fe+=90:135<=a&&225>a?Fe+=180:225<=a&&315>a&&(Fe+=270),360<=Fe&&(Fe-=360)),Fe},Oi.prototype.computeEndSegmentLength=function(a,y,ee,ne){return y!==null&&ee.$c()&&(a=Fw(this,y),a!==null)?a.Ju:(a=ne?this.fromEndSegmentLength:this.toEndSegmentLength,y!==null&&isNaN(a)&&(a=ne?y.fromEndSegmentLength:y.toEndSegmentLength),isNaN(a)&&(a=10),a)},Oi.prototype.computeSpot=function(a,y){return y===void 0&&(y=null),a?(a=y||this.fromPort,a===null?a=us:(y=this.fromSpot,y.Xb()&&(y=a.fromSpot),a=y===Zs?uu:y)):(a=y||this.toPort,a===null?a=us:(y=this.toSpot,y.Xb()&&(y=a.toSpot),a=y===Zs?uu:y)),a};function Fp(a){return a===uu||a.x===.5&&a.y===.5}function Jx(a){return a.x===.5&&a.y===.5?a:us}Oi.prototype.computeOtherPoint=function(a,y){return this.computeAdjusting()!==wh&&4<this.pointsCount?this.computeMidPoint(new yn):(a=y.Zn,a=a!==null?Ub(a,this):null,a!==null?a.Zo:y.ga(us))},Oi.prototype.computeShortLength=function(a){if(a){if(a=this.fromShortLength,isNaN(a)){var y=this.fromPort;y!==null&&(a=y.fromShortLength)}return isNaN(a)?0:a}return a=this.toShortLength,isNaN(a)&&(y=this.toPort,y!==null&&(a=y.toShortLength)),isNaN(a)?0:a},Oi.prototype.Cf=function(a,y,ee,ne,se,ue){if(this.pickable===!1)return!1;y===void 0&&(y=null),ee===void 0&&(ee=null);var me=ue;if(ue===void 0&&(me=Da.alloc(),me.reset()),me.multiply(this.transform),this.fh(a,me))return F2(this,y,ee,se),ue===void 0&&Da.free(me),!0;if(this.Yc(a,me)){var be=!1;if(!this.isAtomic)for(var Fe=this.O.s,Ye=Fe.length;Ye--;){var Je=Fe[Ye];if(Je.visible||Je===this.locationObject){var st=Je.actualBounds,yt=this.naturalBounds;if(!(st.x>yt.width||st.y>yt.height||0>st.x+st.width||0>st.y+st.height)){if(st=Da.alloc(),st.set(me),Je instanceof bi)be=Je.Cf(a,y,ee,ne,se,st);else if(this.path===Je){if(Je instanceof Ua)if(be=a,yt=ne,Je.pickable===!1)be=!1;else if(st.multiply(Je.transform),yt)e:{var Tt=be,Ft=st;if(Je.fh(Tt,Ft))be=!0;else{if(Ft===void 0&&(Ft=Je.transform,Tt.Re(Je.actualBounds))){be=!0;break e}be=Tt.left,yt=Tt.right;var Zt=Tt.top;Tt=Tt.bottom;var bn=yn.alloc(),fn=yn.alloc(),Fn=yn.alloc(),zn=Da.alloc();zn.set(Ft),zn.bv(Je.transform),zn.Vj(),fn.x=yt,fn.y=Zt,fn.transform(zn),bn.x=be,bn.y=Zt,bn.transform(zn),Ft=!1,Sm(Je,bn,fn,Fn)?Ft=!0:(bn.x=yt,bn.y=Tt,bn.transform(zn),Sm(Je,bn,fn,Fn)?Ft=!0:(fn.x=be,fn.y=Tt,fn.transform(zn),Sm(Je,bn,fn,Fn)?Ft=!0:(bn.x=be,bn.y=Zt,bn.transform(zn),Sm(Je,bn,fn,Fn)&&(Ft=!0)))),Da.free(zn),yn.free(bn),yn.free(fn),yn.free(Fn),be=Ft}}else be=Je.fh(be,st)}else be=fc(Je,a,ne,st);be&&(yt=Je,y!==null&&(yt=y(Je)),yt&&(ee===null||ee(yt))&&se.add(yt)),Da.free(st)}}}return ue===void 0&&Da.free(me),be||this.background!==null||this.areaBackground!==null}return ue===void 0&&Da.free(me),!1},Oi.prototype.computeCurve=function(){if(this.Wf===null){var a=this.fromPort,y=this.isOrthogonal;this.Wf=a!==null&&a===this.toPort&&!y}return this.Wf?If:this.curve},Oi.prototype.computeCorner=function(){if(this.curve===If)return 0;var a=this.corner;return(isNaN(a)||0>a)&&(a=10),a},Oi.prototype.findMidLabel=function(){for(var a=this.path,y=this.O.s,ee=y.length,ne=0;ne<ee;ne++){var se=y[ne];if(se!==a&&!se.isPanelMain&&(se.segmentIndex===-1/0||isNaN(se.segmentIndex)))return se}for(a=this.labelNodes;a.next();)if(y=a.value,y.segmentIndex===-1/0||isNaN(y.segmentIndex))return y;return null},Oi.prototype.computeSpacing=function(){if(!this.isVisible())return 0;var a=Wb;a=Math.max(a,this.computeThickness());var y=this.fromPort,ee=this.toPort;if(y!==null&&ee!==null){var ne=this.findMidLabel();if(ne!==null){var se=ne.naturalBounds,ue=ne.margin,me=isNaN(se.width)?30:se.width*ne.scale+ue.left+ue.right;se=isNaN(se.height)?14:se.height*ne.scale+ue.top+ue.bottom,ne=ne.segmentOrientation,ne===R1||ne===Gw||ne===Uw?a=Math.max(a,se):ne===Sy||ne===nE||ne===eE||ne===tE?a=Math.max(a,me):(y=y.ga(us).ab(ee.ga(us))/180*Math.PI,a=Math.max(a,Math.abs(Math.sin(y)*me)+Math.abs(Math.cos(y)*se)+1)),this.curve===If&&(a*=1.333)}}return a},Oi.prototype.arrangeBundledLinks=function(a,y){if(y)for(y=0;y<a.length;y++){var ee=a[y];ee.computeAdjusting()===wh&&ee.bb()}},Oi.prototype.computeCurviness=function(){var a=this.curviness;if(isNaN(a)){a=Bv;var y=this.Sf;if(y!==null){for(var ee=pr(),ne=0,se=y.links,ue=0;ue<se.length;ue++){var me=se[ue].computeSpacing();ee.push(me),ne+=me}for(ne=-ne/2,ue=0;ue<se.length;ue++){if(se[ue]===this){a=ne+ee[ue]/2;break}ne+=ee[ue]}y.Ds===this.fromNode&&(a=-a),Mr(ee)}}return a},Oi.prototype.computeThickness=function(){if(!this.isVisible())return 0;var a=this.path;return a!==null?Math.max(a.strokeWidth,1):1},Oi.prototype.hasCurviness=function(){return!isNaN(this.curviness)||this.Sf!==null},Oi.prototype.adjustPoints=function(a,y,ee,ne){var se=this.computeAdjusting();if(this.isOrthogonal){if(se===Ww)return!1;se===Pm&&(se=TA)}switch(se){case Ww:var ue=this.i(a),me=this.i(ee);if(!ue.Xa(y)||!me.Xa(ne)){se=ue.x,ue=ue.y;var be=me.x-se,Fe=me.y-ue,Ye=Math.sqrt(be*be+Fe*Fe);if(!dr.$(Ye,0)){if(dr.$(be,0))var Je=0>Fe?-Math.PI/2:Math.PI/2;else Je=Math.atan(Fe/Math.abs(be)),0>be&&(Je=Math.PI-Je);me=y.x;var st=y.y;be=ne.x-me;var yt=ne.y-st;for(Fe=Math.sqrt(be*be+yt*yt),dr.$(be,0)?yt=0>yt?-Math.PI/2:Math.PI/2:(yt=Math.atan(yt/Math.abs(be)),0>be&&(yt=Math.PI-yt)),Ye=Fe/Ye,Je=yt-Je,this.dd(a,y),a+=1;a<ee;a++)y=this.i(a),be=y.x-se,Fe=y.y-ue,y=Math.sqrt(be*be+Fe*Fe),dr.$(y,0)||(dr.$(be,0)?Fe=0>Fe?-Math.PI/2:Math.PI/2:(Fe=Math.atan(Fe/Math.abs(be)),0>be&&(Fe=Math.PI-Fe)),be=Fe+Je,y*=Ye,this.L(a,me+y*Math.cos(be),st+y*Math.sin(be)));this.dd(ee,ne)}}return!0;case Pm:if(ue=this.i(a),st=this.i(ee),!ue.Xa(y)||!st.Xa(ne)){se=ue.x,ue=ue.y,me=st.x,st=st.y,Ye=(me-se)*(me-se)+(st-ue)*(st-ue),be=y.x,Je=y.y,Fe=ne.x,yt=ne.y;var Tt=1;if(Fe-be!==0){var Ft=(yt-Je)/(Fe-be);Tt=Math.sqrt(1+1/(Ft*Ft))}else Ft=9e9;for(this.dd(a,y),a+=1;a<ee;a++){y=this.i(a);var Zt=y.x,bn=y.y,fn=.5;Ye!==0&&(fn=((se-Zt)*(se-me)+(ue-bn)*(ue-st))/Ye);var Fn=se+fn*(me-se),zn=ue+fn*(st-ue);y=Math.sqrt((Zt-Fn)*(Zt-Fn)+(bn-zn)*(bn-zn)),bn<Ft*(Zt-Fn)+zn&&(y=-y),0<Ft&&(y=-y),Zt=be+fn*(Fe-be),fn=Je+fn*(yt-Je),Ft!==0?(y=Zt+y/Tt,this.L(a,y,fn-(y-Zt)/Ft)):this.L(a,Zt,fn+y)}this.dd(ee,ne)}return!0;case TA:e:{if(this.isOrthogonal&&(se=this.i(a),ue=this.i(a+1),me=this.i(a+2),be=ue.x,Je=ue.y,st=be,Ye=Je,dr.B(se.y,ue.y)?dr.B(ue.x,me.x)?Je=y.y:dr.B(ue.y,me.y)&&(be=y.x):dr.B(se.x,ue.x)&&(dr.B(ue.y,me.y)?be=y.x:dr.B(ue.x,me.x)&&(Je=y.y)),this.L(a+1,be,Je),se=this.i(ee),ue=this.i(ee-1),me=this.i(ee-2),be=ue.x,Je=ue.y,Fe=be,yt=Je,dr.B(se.y,ue.y)?dr.B(ue.x,me.x)?Je=ne.y:dr.B(ue.y,me.y)&&(be=ne.x):dr.B(se.x,ue.x)&&(dr.B(ue.y,me.y)?be=ne.x:dr.B(ue.x,me.x)&&(Je=ne.y)),this.L(ee-1,be,Je),LA(this))){this.L(a+1,st,Ye),this.L(ee-1,Fe,yt),ee=!1;break e}this.dd(a,y),this.dd(ee,ne),ee=!0}return ee;default:return!1}},Oi.prototype.addOrthoPoints=function(a,y,ee,ne,se,ue){0>y?y+=360:360<=y&&(y-=360),0>ne?ne+=360:360<=ne&&(ne-=360);var me=ne;y=315<=y||45>y?0:45<=y&&135>y?90:135<=y&&225>y?180:270,ne=315<=ne||45>ne?0:45<=ne&&135>ne?90:135<=ne&&225>ne?180:270;var be=se.actualBounds.copy(),Fe=ue.actualBounds.copy();if(be.w()&&Fe.w()){be.Bc(h0,h0),Fe.Bc(h0,h0),be.Ye(a),Fe.Ye(ee);var Ye=yn.alloc(),Je=yn.alloc();y===0?ee.x>a.x||ne===270&&ee.y<a.y&&Fe.right>a.x||ne===90&&ee.y>a.y&&Fe.right>a.x?(Ye.h(ee.x,a.y),Je.h(ee.x,(a.y+ee.y)/2),ne===180?(Ye.x=this.computeMidOrthoPosition(a.x,a.y,ee.x,ee.y,!1),Je.x=Ye.x,Je.y=ee.y):ne===270&&ee.y<a.y||ne===90&&ee.y>a.y?(Ye.x=a.x<Fe.left?this.computeMidOrthoPosition(a.x,a.y,Fe.left,ee.y,!1):a.x<Fe.right&&(ne===270&&a.y<Fe.top||ne===90&&a.y>Fe.bottom)?this.computeMidOrthoPosition(a.x,a.y,ee.x,ee.y,!1):Fe.right,Je.x=Ye.x,Je.y=ee.y):ne===0&&a.x<Fe.left&&a.y>Fe.top&&a.y<Fe.bottom&&(Ye.x=a.x,Ye.y=a.y<ee.y?Math.min(ee.y,Fe.top):Math.max(ee.y,Fe.bottom),Je.y=Ye.y)):(Ye.h(a.x,ee.y),Je.h((a.x+ee.x)/2,ee.y),(ne===180||ne===90&&ee.y<be.top||ne===270&&ee.y>be.bottom)&&(ne===180&&(Fe.ca(a)||be.ca(ee))?Ye.y=this.computeMidOrthoPosition(a.x,a.y,ee.x,ee.y,!0):ee.y<a.y&&(ne===180||ne===90)?Ye.y=this.computeMidOrthoPosition(a.x,be.top,ee.x,Math.max(ee.y,Fe.bottom),!0):ee.y>a.y&&(ne===180||ne===270)&&(Ye.y=this.computeMidOrthoPosition(a.x,be.bottom,ee.x,Math.min(ee.y,Fe.top),!0)),Je.x=ee.x,Je.y=Ye.y),Ye.y>be.top&&Ye.y<be.bottom&&(ee.x>=be.left&&ee.x<=a.x||a.x<=Fe.right&&a.x>=ee.x?(ne===90||ne===270)&&(Ye.h(Math.max((a.x+ee.x)/2,a.x),a.y),Je.h(Ye.x,ee.y)):(Ye.y=ne===270||(ne===0||ne===180)&&ee.y<a.y?Math.min(ee.y,ne===0?be.top:Math.min(be.top,Fe.top)):Math.max(ee.y,ne===0?be.bottom:Math.max(be.bottom,Fe.bottom)),Je.x=ee.x,Je.y=Ye.y))):y===180?ee.x<a.x||ne===270&&ee.y<a.y&&Fe.left<a.x||ne===90&&ee.y>a.y&&Fe.left<a.x?(Ye.h(ee.x,a.y),Je.h(ee.x,(a.y+ee.y)/2),ne===0?(Ye.x=this.computeMidOrthoPosition(a.x,a.y,ee.x,ee.y,!1),Je.x=Ye.x,Je.y=ee.y):ne===270&&ee.y<a.y||ne===90&&ee.y>a.y?(Ye.x=a.x>Fe.right?this.computeMidOrthoPosition(a.x,a.y,Fe.right,ee.y,!1):a.x>Fe.left&&(ne===270&&a.y<Fe.top||ne===90&&a.y>Fe.bottom)?this.computeMidOrthoPosition(a.x,a.y,ee.x,ee.y,!1):Fe.left,Je.x=Ye.x,Je.y=ee.y):ne===180&&a.x>Fe.right&&a.y>Fe.top&&a.y<Fe.bottom&&(Ye.x=a.x,Ye.y=a.y<ee.y?Math.min(ee.y,Fe.top):Math.max(ee.y,Fe.bottom),Je.y=Ye.y)):(Ye.h(a.x,ee.y),Je.h((a.x+ee.x)/2,ee.y),(ne===0||ne===90&&ee.y<be.top||ne===270&&ee.y>be.bottom)&&(ne===0&&(Fe.ca(a)||be.ca(ee))?Ye.y=this.computeMidOrthoPosition(a.x,a.y,ee.x,ee.y,!0):ee.y<a.y&&(ne===0||ne===90)?Ye.y=this.computeMidOrthoPosition(a.x,be.top,ee.x,Math.max(ee.y,Fe.bottom),!0):ee.y>a.y&&(ne===0||ne===270)&&(Ye.y=this.computeMidOrthoPosition(a.x,be.bottom,ee.x,Math.min(ee.y,Fe.top),!0)),Je.x=ee.x,Je.y=Ye.y),Ye.y>be.top&&Ye.y<be.bottom&&(ee.x<=be.right&&ee.x>=a.x||a.x>=Fe.left&&a.x<=ee.x?(ne===90||ne===270)&&(Ye.h(Math.min((a.x+ee.x)/2,a.x),a.y),Je.h(Ye.x,ee.y)):(Ye.y=ne===270||(ne===0||ne===180)&&ee.y<a.y?Math.min(ee.y,ne===180?be.top:Math.min(be.top,Fe.top)):Math.max(ee.y,ne===180?be.bottom:Math.max(be.bottom,Fe.bottom)),Je.x=ee.x,Je.y=Ye.y))):y===90?ee.y>a.y||ne===180&&ee.x<a.x&&Fe.bottom>a.y||ne===0&&ee.x>a.x&&Fe.bottom>a.y?(Ye.h(a.x,ee.y),Je.h((a.x+ee.x)/2,ee.y),ne===270?(Ye.y=this.computeMidOrthoPosition(a.x,a.y,ee.x,ee.y,!0),Je.x=ee.x,Je.y=Ye.y):ne===180&&ee.x<a.x||ne===0&&ee.x>a.x?(Ye.y=a.y<Fe.top?this.computeMidOrthoPosition(a.x,a.y,ee.x,Fe.top,!0):a.y<Fe.bottom&&(ne===180&&a.x<Fe.left||ne===0&&a.x>Fe.right)?this.computeMidOrthoPosition(a.x,a.y,ee.x,ee.y,!0):Fe.bottom,Je.x=ee.x,Je.y=Ye.y):ne===90&&a.y<Fe.top&&a.x>Fe.left&&a.x<Fe.right&&(Ye.x=a.x<ee.x?Math.min(ee.x,Fe.left):Math.max(ee.x,Fe.right),Ye.y=a.y,Je.x=Ye.x)):(Ye.h(ee.x,a.y),Je.h(ee.x,(a.y+ee.y)/2),(ne===270||ne===0&&ee.x<be.left||ne===180&&ee.x>be.right)&&(ne===270&&(Fe.ca(a)||be.ca(ee))?Ye.x=this.computeMidOrthoPosition(a.x,a.y,ee.x,ee.y,!1):ee.x<a.x&&(ne===270||ne===0)?Ye.x=this.computeMidOrthoPosition(be.left,a.y,Math.max(ee.x,Fe.right),ee.y,!1):ee.x>a.x&&(ne===270||ne===180)&&(Ye.x=this.computeMidOrthoPosition(be.right,a.y,Math.min(ee.x,Fe.left),ee.y,!1)),Je.x=Ye.x,Je.y=ee.y),Ye.x>be.left&&Ye.x<be.right&&(ee.y>=be.top&&ee.y<=a.y||a.y<=Fe.bottom&&a.y>=ee.y?(ne===0||ne===180)&&(Ye.h(a.x,Math.max((a.y+ee.y)/2,a.y)),Je.h(ee.x,Ye.y)):(Ye.x=ne===180||(ne===90||ne===270)&&ee.x<a.x?Math.min(ee.x,ne===90?be.left:Math.min(be.left,Fe.left)):Math.max(ee.x,ne===90?be.right:Math.max(be.right,Fe.right)),Je.x=Ye.x,Je.y=ee.y))):ee.y<a.y||ne===180&&ee.x<a.x&&Fe.top<a.y||ne===0&&ee.x>a.x&&Fe.top<a.y?(Ye.h(a.x,ee.y),Je.h((a.x+ee.x)/2,ee.y),ne===90?(Ye.y=this.computeMidOrthoPosition(a.x,a.y,ee.x,ee.y,!0),Je.x=ee.x,Je.y=Ye.y):ne===180&&ee.x<a.x||ne===0&&ee.x>=a.x?(Ye.y=a.y>Fe.bottom?this.computeMidOrthoPosition(a.x,a.y,ee.x,Fe.bottom,!0):a.y>Fe.top&&(ne===180&&a.x<Fe.left||ne===0&&a.x>Fe.right)?this.computeMidOrthoPosition(a.x,a.y,ee.x,ee.y,!0):Fe.top,Je.x=ee.x,Je.y=Ye.y):ne===270&&a.y>Fe.bottom&&a.x>Fe.left&&a.x<Fe.right&&(Ye.x=a.x<ee.x?Math.min(ee.x,Fe.left):Math.max(ee.x,Fe.right),Ye.y=a.y,Je.x=Ye.x)):(Ye.h(ee.x,a.y),Je.h(ee.x,(a.y+ee.y)/2),(ne===90||ne===0&&ee.x<be.left||ne===180&&ee.x>be.right)&&(ne===90&&(Fe.ca(a)||be.ca(ee))?Ye.x=this.computeMidOrthoPosition(a.x,a.y,ee.x,ee.y,!1):ee.x<a.x&&(ne===90||ne===0)?Ye.x=this.computeMidOrthoPosition(be.left,a.y,Math.max(ee.x,Fe.right),ee.y,!1):ee.x>a.x&&(ne===90||ne===180)&&(Ye.x=this.computeMidOrthoPosition(be.right,a.y,Math.min(ee.x,Fe.left),ee.y,!1)),Je.x=Ye.x,Je.y=ee.y),Ye.x>be.left&&Ye.x<be.right&&(ee.y<=be.bottom&&ee.y>=a.y||a.y>=Fe.top&&a.y<=ee.y?(ne===0||ne===180)&&(Ye.h(a.x,Math.min((a.y+ee.y)/2,a.y)),Je.h(ee.x,Ye.y)):(Ye.x=ne===180||(ne===90||ne===270)&&ee.x<a.x?Math.min(ee.x,ne===270?be.left:Math.min(be.left,Fe.left)):Math.max(ee.x,ne===270?be.right:Math.max(be.right,Fe.right)),Je.x=Ye.x,Je.y=ee.y)));var st=ee;if(this.isAvoiding){var yt=this.diagram;if(yt===null||se===ue||this.layer.isTemporary||!pl(yt)||be.ca(st)&&!ue.Td(se)||Fe.ca(a)&&!se.Td(ue))y=!1;else{var Tt=fu(yt,!0,this.containingGroup,null);if(this.segmentIndex!==17&&Tt.Yj(Math.min(a.x,Ye.x),Math.min(a.y,Ye.y),Math.abs(a.x-Ye.x),Math.abs(a.y-Ye.y))&&Tt.Yj(Math.min(Ye.x,Je.x),Math.min(Ye.y,Je.y),Math.abs(Ye.x-Je.x),Math.abs(Ye.y-Je.y))&&Tt.Yj(Math.min(Je.x,st.x),Math.min(Je.y,st.y),Math.abs(Je.x-st.x),Math.abs(Je.y-st.y)))y=!1;else{se=a,ue=st;var Ft=ee=null;if(yt.isVirtualized){yt=Tt.bounds.copy(),yt.Bc(-Tt.Ho,-Tt.Go);var Zt=yn.alloc();wy(Tt,a.x,a.y)||(dr.Ff(yt.x,yt.y,yt.x+yt.width,yt.y+yt.height,a.x,a.y,Ye.x,Ye.y,Zt)?(ee=a=Zt.copy(),y=Zt.ab(Ye)):dr.Ff(yt.x,yt.y,yt.x+yt.width,yt.y+yt.height,Ye.x,Ye.y,Je.x,Je.y,Zt)?(ee=a=Zt.copy(),y=Zt.ab(Je)):dr.Ff(yt.x,yt.y,yt.x+yt.width,yt.y+yt.height,Je.x,Je.y,st.x,st.y,Zt)&&(ee=a=Zt.copy(),y=Zt.ab(st))),wy(Tt,st.x,st.y)||(dr.Ff(yt.x,yt.y,yt.x+yt.width,yt.y+yt.height,st.x,st.y,Je.x,Je.y,Zt)?(Ft=st=Zt.copy(),ne=Je.ab(Zt)):dr.Ff(yt.x,yt.y,yt.x+yt.width,yt.y+yt.height,Je.x,Je.y,Ye.x,Ye.y,Zt)?(Ft=st=Zt.copy(),ne=Ye.ab(Zt)):dr.Ff(yt.x,yt.y,yt.x+yt.width,yt.y+yt.height,Ye.x,Ye.y,a.x,a.y,Zt)&&(Ft=st=Zt.copy(),ne=a.ab(Zt))),yn.free(Zt)}be=be.copy().ed(Fe),be.Bc(Tt.Ho*Tt.Os,Tt.Go*Tt.Os),IA(Tt,a,y,st,ne,be,!0),Fe=_p(Tt,st.x,st.y),!Tt.abort&&Fe>=by&&(No(Tt),be.Bc(Tt.Ho*Tt.Hx,Tt.Go*Tt.Ix),IA(Tt,a,y,st,ne,be,!1),Fe=_p(Tt,st.x,st.y)),!Tt.abort&&Fe<by&&_p(Tt,st.x,st.y)!==$0?(_w(this,Tt,st.x,st.y,ne,!0,me),be=this.i(2),4>this.pointsCount?(y===0||y===180?(be.x=a.x,be.y=st.y):(be.x=st.x,be.y=a.y),this.L(2,be.x,be.y),this.m(3,be.x,be.y)):(me=this.i(3),y===0||y===180?dr.B(be.x,me.x)?(be=y===0?Math.max(be.x,a.x):Math.min(be.x,a.x),this.L(2,be,a.y),this.L(3,be,me.y)):dr.B(be.y,me.y)?(Math.abs(a.y-be.y)<=Tt.Go/2&&(this.L(2,be.x,a.y),this.L(3,me.x,a.y)),this.m(2,be.x,a.y)):this.L(2,a.x,be.y):(y===90||y===270)&&(dr.B(be.y,me.y)?(be=y===90?Math.max(be.y,a.y):Math.min(be.y,a.y),this.L(2,a.x,be),this.L(3,me.x,be)):dr.B(be.x,me.x)?(Math.abs(a.x-be.x)<=Tt.Ho/2&&(this.L(2,a.x,be.y),this.L(3,a.x,me.y)),this.m(2,a.x,be.y)):this.L(2,be.x,a.y))),ee!==null&&(a=this.i(1),me=this.i(2),a.x!==me.x&&a.y!==me.y?y===0||y===180?this.m(2,a.x,me.y):this.m(2,me.x,a.y):y===0||y===180?this.m(2,se.x,ee.y):this.m(2,ee.x,se.y)),Ft!==null&&(ne===0||ne===180?this.yf(ue.x,Ft.y):this.yf(Ft.x,ue.y)),y=!0):y=!1}}}else y=!1;y||(this.ne(Ye.copy()),this.ne(Je.copy())),yn.free(Ye),yn.free(Je)}},Oi.prototype.computeMidOrthoPosition=function(a,y,ee,ne,se){var ue=0;return!this.hasCurviness()||this.computeSpot(!0,this.fromPort).$c()||this.computeSpot(!1,this.toPort).$c()||(ue=this.computeCurviness()),se?(y+ne)/2+ue:(a+ee)/2+ue};function LA(a){if(a.diagram===null||!a.isAvoiding||!pl(a.diagram))return!1;var y=a.points.s,ee=y.length;if(4>ee)return!1;a=fu(a.diagram,!0,a.containingGroup,null);for(var ne=1;ne<ee-2;ne++){var se=y[ne],ue=y[ne+1];if(!a.Yj(Math.min(se.x,ue.x),Math.min(se.y,ue.y),Math.abs(se.x-ue.x),Math.abs(se.y-ue.y)))return!0}return!1}function _w(a,y,ee,ne,se,ue,me){var be=y.Ho,Fe=y.Go,Ye=_p(y,ee,ne),Je=ee,st=ne;for(se===0?Je+=be:se===90?st+=Fe:se===180?Je-=be:st-=Fe,se!==me&&Ye>Mm&&_p(y,Je,st)!==Ye-1&&(_p(y,ee-be,ne)===Ye-1?(se=180,Je=ee-be,st=ne):_p(y,ee+be,ne)===Ye-1?(se=0,Je=ee+be,st=ne):_p(y,ee,ne-Fe)===Ye-1?(se=270,Je=ee,st=ne-Fe):_p(y,ee,ne+Fe)===Ye-1&&(se=90,Je=ee,st=ne+Fe));Ye>Mm&&_p(y,Je,st)===Ye-1;)ee=Je,ne=st,se===0?Je+=be:se===90?st+=Fe:se===180?Je-=be:st-=Fe,--Ye;ue?Ye>Mm&&(se===180||se===0?ee=Math.floor(ee/be)*be+be/2:(se===90||se===270)&&(ne=Math.floor(ne/Fe)*Fe+Fe/2)):(ee=Math.floor(ee/be)*be+be/2,ne=Math.floor(ne/Fe)*Fe+Fe/2),Ye>Mm&&(ue=se,me=ee,Je=ne,se===0?(ue=90,Je+=Fe):se===90?(ue=180,me-=be):se===180?(ue=270,Je-=Fe):se===270&&(ue=0,me+=be),_p(y,me,Je)===Ye-1?_w(a,y,me,Je,ue,!1,ue):(me=ee,Je=ne,se===0?(ue=270,Je-=Fe):se===90?(ue=0,me+=be):se===180?(ue=90,Je+=Fe):se===270&&(ue=180,me-=be),_p(y,me,Je)===Ye-1&&_w(a,y,me,Je,ue,!1,ue))),a.yf(ee,ne)}Oi.prototype.ez=function(a){var y=a.x;a=a.y;for(var ee=this.i(0),ne=this.i(1),se=ml(y,a,ee.x,ee.y,ne.x,ne.y),ue=0,me=1;me<this.pointsCount-1;me++){ee=this.i(me+1);var be=ml(y,a,ne.x,ne.y,ee.x,ee.y);ne=ee,be<se&&(ue=me,se=be)}return ue},Oi.prototype.qc=function(){this.lk=!1,this.v()},Oi.prototype.Ul=function(a){if(!(!a&&(this.fd===!1||(a=this.Pb(),this.lk&&(a===null||a.geometry!==null))))&&(2>this.pointsCount?this.lk=!0:this.ua=this.makeGeometry(),a=this.path,a!==null)){a.ua=this.ua;for(var y=this.O.s,ee=y.length,ne=0;ne<ee;ne++){var se=y[ne];se!==a&&se.isPanelMain&&se instanceof Ua&&(se.ua=this.ua)}}},Oi.prototype.makeGeometry=function(){var a=this.ua,y=this.pointsCount,ee=!1,ne=this.diagram;ne!==null&&Ey(this)&&ne.Eh.contains(this)&&(this.ml.width!==0||this.ml.height!==0)&&(ne.animationManager.isAnimating||ne.currentTool!==ne.toolManager)&&(ee=!0);var se=this.i(0).copy(),ue=se.copy();ne=this.Nb.s;var me=this.computeCurve();if(me===If&&3<=y&&!dr.$(this.smoothness,0))if(y===3){var be=this.i(1);ne=Math.min(se.x,be.x);var Fe=Math.min(se.y,be.y);be=this.i(2),ne=Math.min(ne,be.x),Fe=Math.min(Fe,be.y)}else{if(this.isOrthogonal)for(Fe=0;Fe<y;Fe++)be=ne[Fe],ue.x=Math.min(be.x,ue.x),ue.y=Math.min(be.y,ue.y);else for(ne=3;ne<y;ne+=3)ne+3>=y&&(ne=y-1),Fe=this.i(ne),ue.x=Math.min(Fe.x,ue.x),ue.y=Math.min(Fe.y,ue.y);ne=ue.x,Fe=ue.y}else{for(Fe=0;Fe<y;Fe++)be=ne[Fe],ue.x=Math.min(be.x,ue.x),ue.y=Math.min(be.y,ue.y);ne=ue.x,Fe=ue.y}if(ne-=this.su.x,Fe-=this.su.y,se.x-=ne,se.y-=Fe,y!==2||Ey(this)){if(a.type=wi.o,be=yA(a),this.computeShortLength(!0)!==0&&(se=yy(this,se,!0,ue)),L1(be,se.x,se.y,!1),me===If&&3<=y&&!dr.$(this.smoothness,0))if(y===3)ee=this.i(1),y=ee.x-ne,ee=ee.y-Fe,se=this.i(2).copy(),se.x-=ne,se.y-=Fe,this.computeShortLength(!1)!==0&&(se=yy(this,se,!1,ue)),Z0(be,y,ee,y,ee,se.x,se.y);else if(this.isOrthogonal){y=yn.allocAt(ne,Fe),ee=yn.alloc(),ee.assign(this.i(1)),ue=yn.allocAt(ne,Fe),se=yn.allocAt(ne,Fe),me=this.i(0);for(var Ye,Je=this.smoothness/3,st=1;st<this.pointsCount-1;st++){Ye=this.i(st);var yt=me,Tt=Ye,Ft=this.i(Rb(this,Ye,st,!1));if((!dr.$(yt.x,Tt.x)||!dr.$(Tt.x,Ft.x))&&(!dr.$(yt.y,Tt.y)||!dr.$(Tt.y,Ft.y))){var Zt=Je;isNaN(Zt)&&(Zt=this.smoothness/3);var bn=yt.x;yt=yt.y;var fn=Tt.x;Tt=Tt.y;var Fn=Ft.x;Ft=Ft.y;var zn=Zt*O1(bn,yt,fn,Tt);Zt*=O1(fn,Tt,Fn,Ft),dr.$(yt,Tt)&&dr.$(fn,Fn)&&(fn>bn?Ft>Tt?(ue.x=fn-zn,ue.y=Tt-zn,se.x=fn+Zt,se.y=Tt+Zt):(ue.x=fn-zn,ue.y=Tt+zn,se.x=fn+Zt,se.y=Tt-Zt):Ft>Tt?(ue.x=fn+zn,ue.y=Tt-zn,se.x=fn-Zt,se.y=Tt+Zt):(ue.x=fn+zn,ue.y=Tt+zn,se.x=fn-Zt,se.y=Tt-Zt)),dr.$(bn,fn)&&dr.$(Tt,Ft)&&(Tt>yt?(Fn>fn?(ue.x=fn-zn,ue.y=Tt-zn,se.x=fn+Zt):(ue.x=fn+zn,ue.y=Tt-zn,se.x=fn-Zt),se.y=Tt+Zt):(Fn>fn?(ue.x=fn-zn,ue.y=Tt+zn,se.x=fn+Zt):(ue.x=fn+zn,ue.y=Tt+zn,se.x=fn-Zt),se.y=Tt-Zt)),(dr.$(bn,fn)&&dr.$(fn,Fn)||dr.$(yt,Tt)&&dr.$(Tt,Ft))&&(bn=.5*(bn+Fn),yt=.5*(yt+Ft),ue.x=bn,ue.y=yt,se.x=bn,se.y=yt),(st===1||st===2&&dr.$(me.x,this.i(0).x)&&dr.$(me.y,this.i(0).y))&&(ee.x=.5*(me.x+Ye.x),ee.y=.5*(me.y+Ye.y)),Z0(be,ee.x-ne,ee.y-Fe,ue.x-ne,ue.y-Fe,Ye.x-ne,Ye.y-Fe),y.set(ue),ee.set(se),me=Ye}}Ye=me.x,me=me.y,Je=this.i(this.pointsCount-1),this.computeShortLength(!1)!==0&&(Je=yy(this,Je.copy(),!1,ja)),Ye=.5*(Ye+Je.x),me=.5*(me+Je.y),Z0(be,se.x-ne,se.y-Fe,Ye-ne,me-Fe,Je.x-ne,Je.y-Fe),yn.free(y),yn.free(ee),yn.free(ue),yn.free(se)}else for(ee=3;ee<y;ee+=3)ue=this.i(ee-2),ee+3>=y&&(ee=y-1),se=this.i(ee-1),me=this.i(ee),ee===y-1&&this.computeShortLength(!1)!==0&&(me=yy(this,me.copy(),!1,ja)),Z0(be,ue.x-ne,ue.y-Fe,se.x-ne,se.y-Fe,me.x-ne,me.y-Fe);else{for(ue=yn.alloc(),ue.assign(this.i(0)),se=yn.alloc(),se.assign(ue),me=this.computeCorner(),st=1,Ye=0;st<y;){if(st=Rb(this,ue,st,1<st),Je=this.i(st),st>=y-1){if(!ue.D(Je))this.computeShortLength(!1)!==0&&(Je=yy(this,Je.copy(),!1,ja)),xy(this,be,-ne,-Fe,ue,Je,ee);else if(Ye===0)for(st=1;st<y;)se.assign(ue),Je=this.i(st++),xy(this,be,-ne,-Fe,ue,Je,ee),ue.assign(Je);break}if(Ye=Rb(this,Je,st+1,st<y-3),st=-ne,bn=-Fe,yt=Je,fn=this.i(Ye),Zt=ee,dr.B(ue.y,yt.y)&&dr.B(yt.x,fn.x))if(Ft=Math.min(me,Math.abs(yt.x-se.x)/2),Ft=zn=Math.min(Ft,Math.abs(fn.y-yt.y)/2),dr.B(Ft,0))xy(this,be,st,bn,ue,yt,Zt),ue.assign(yt);else{var Zn=yt.x,sr=yt.y;Tt=Zn,Fn=sr,yt.x>ue.x?Zn=yt.x-Ft:Zn=yt.x+Ft,fn.y>yt.y?Fn=yt.y+zn:Fn=yt.y-zn,fn=yn.allocAt(Zn,sr),xy(this,be,st,bn,ue,fn,Zt),yn.free(fn),T1(be,yt.x+st,yt.y+bn,Tt+st,Fn+bn),ue.h(Tt,Fn)}else dr.B(ue.x,yt.x)&&dr.B(yt.y,fn.y)?(Ft=Math.min(me,Math.abs(yt.y-se.y)/2),Ft=zn=Math.min(Ft,Math.abs(fn.x-yt.x)/2),dr.B(zn,0)?(xy(this,be,st,bn,ue,yt,Zt),ue.assign(yt)):(Zn=yt.x,sr=yt.y,Tt=Zn,Fn=sr,yt.y>ue.y?sr=yt.y-Ft:sr=yt.y+Ft,fn.x>yt.x?Tt=yt.x+zn:Tt=yt.x-zn,fn=yn.allocAt(Zn,sr),xy(this,be,st,bn,ue,fn,Zt),yn.free(fn),T1(be,yt.x+st,yt.y+bn,Tt+st,Fn+bn),ue.h(Tt,Fn))):(xy(this,be,st,bn,ue,yt,Zt),ue.assign(yt));se.assign(Je),st=Ye}yn.free(ue)}Yx=be}else be=this.i(1).copy(),be.x-=ne,be.y-=Fe,this.computeShortLength(!0)!==0&&(se=yy(this,se,!0,ue)),this.computeShortLength(!1)!==0&&(be=yy(this,be,!1,ue)),a.type=wi.j,a.startX=se.x,a.startY=se.y,a.endX=be.x,a.endY=be.y;return this.lk=!0,a};function O1(a,y,ee,ne){return a=ee-a,isNaN(a)||a===1/0||a===-1/0?NaN:(0>a&&(a=-a),y=ne-y,isNaN(y)||y===1/0||y===-1/0?NaN:(0>y&&(y=-y),dr.$(a,0)?y:dr.$(y,0)?a:Math.sqrt(a*a+y*y)))}function yy(a,y,ee,ne){var se=a.pointsCount;if(2>se)return y;if(ee){var ue=a.i(1);if(ee=ue.x-ne.x,ue=ue.y-ne.y,ne=O1(y.x,y.y,ee,ue),ne===0)return y;se=se===2?.5*ne:ne,a=a.computeShortLength(!0),a>se&&(a=se),se=a*(ue-y.y)/ne,y.x+=a*(ee-y.x)/ne,y.y+=se}else{if(ue=a.i(se-2),ee=ue.x-ne.x,ue=ue.y-ne.y,ne=O1(y.x,y.y,ee,ue),ne===0)return y;se=se===2?.5*ne:ne,a=a.computeShortLength(!1),a>se&&(a=se),se=a*(y.y-ue)/ne,y.x-=a*(y.x-ee)/ne,y.y-=se}return y}function Rb(a,y,ee,ne){for(var se=a.pointsCount,ue=y;dr.$(y.x,ue.x)&&dr.$(y.y,ue.y);){if(ee>=se)return se-1;ue=a.i(ee++)}if(!dr.$(y.x,ue.x)&&!dr.$(y.y,ue.y))return ee-1;for(var me=ue;dr.$(y.x,ue.x)&&dr.$(ue.x,me.x)&&(!ne||(y.y>=ue.y?ue.y>=me.y:ue.y<=me.y))||dr.$(y.y,ue.y)&&dr.$(ue.y,me.y)&&(!ne||(y.x>=ue.x?ue.x>=me.x:ue.x<=me.x));){if(ee>=se)return se-1;me=a.i(ee++)}return ee-2}Oi.prototype.computeJumpLength=function(){return 10};function xy(a,y,ee,ne,se,ue,me){if(!me&&Ey(a)){me=a.computeJumpLength();var be=me/2,Fe=[],Ye=0;if(a.isVisible()&&(Ye=_b(a,se,ue,Fe)),0<Ye){if(dr.B(se.y,ue.y))if(se.x<ue.x)for(var Je=0;Je<Ye;){var st=Math.max(se.x,Math.min(Fe[Je++]-be,ue.x-me));y.lineTo(st+ee,ue.y+ne);for(var yt=st+ee,Tt=Math.min(st+me,ue.x);Je<Ye&&(st=Fe[Je],st<Tt+me);)Je++,Tt=Math.min(st+be,ue.x);st=ue.y-me+ne,Tt+=ee;var Ft=ue.y+ne;a.curve===Nv?L1(y,Tt,Ft,!1):Z0(y,yt,st,Tt,st,Tt,Ft)}else for(--Ye;0<=Ye;){for(Je=Math.min(se.x,Math.max(Fe[Ye--]+be,ue.x+me)),y.lineTo(Je+ee,ue.y+ne),yt=Je+ee,st=Math.max(Je-me,ue.x);0<=Ye&&(Je=Fe[Ye],Je>st-me);)Ye--,st=Math.max(Je-be,ue.x);Je=ue.y-me+ne,st+=ee,Tt=ue.y+ne,a.curve===Nv?L1(y,st,Tt,!1):Z0(y,yt,Je,st,Je,st,Tt)}else if(dr.B(se.x,ue.x))if(se.y<ue.y)for(Je=0;Je<Ye;){for(st=Math.max(se.y,Math.min(Fe[Je++]-be,ue.y-me)),y.lineTo(ue.x+ee,st+ne),yt=st+ne,st=Math.min(st+me,ue.y);Je<Ye&&(Tt=Fe[Je],Tt<st+me);)Je++,st=Math.min(Tt+be,ue.y);Tt=ue.x-me+ee,Ft=ue.x+ee,st+=ne,a.curve===Nv?L1(y,Ft,st,!1):Z0(y,Tt,yt,Tt,st,Ft,st)}else for(--Ye;0<=Ye;){for(Je=Math.min(se.y,Math.max(Fe[Ye--]+be,ue.y+me)),y.lineTo(ue.x+ee,Je+ne),yt=Je+ne,Je=Math.max(Je-me,ue.y);0<=Ye&&(st=Fe[Ye],st>Je-me);)Ye--,Je=Math.max(st-be,ue.y);st=ue.x-me+ee,Tt=ue.x+ee,Je+=ne,a.curve===Nv?L1(y,Tt,Je,!1):Z0(y,st,yt,st,Je,Tt,Je)}}}y.lineTo(ue.x+ee,ue.y+ne)}function _b(a,y,ee,ne){var se=a.diagram;if(se===null||y.D(ee))return 0;for(se=se.layers;se.next();){var ue=se.value;if(ue!==null&&ue.visible){ue=ue.Pa.s;for(var me=ue.length,be=0;be<me;be++){var Fe=ue[be];if(Fe instanceof Oi){if(Fe===a)return 0<ne.length&&ne.sort(function(Je,st){return Je-st}),ne.length;if(Fe.isVisible()&&Ey(Fe)){var Ye=Fe.routeBounds;Ye.w()&&a.routeBounds.Yc(Ye)&&!a.usesSamePort(Fe)&&(Ye=Fe.path,Ye!==null&&Ye.Ed()&&II(y,ee,ne,Fe))}}}}}return 0<ne.length&&ne.sort(function(Je,st){return Je-st}),ne.length}function II(a,y,ee,ne){for(var se=dr.B(a.y,y.y),ue=ne.pointsCount,me=ne.i(0),be=yn.alloc(),Fe=1;Fe<ue;Fe++){var Ye=ne.i(Fe);if(Fe<ue-1){var Je=ne.i(Fe+1);if(me.y===Ye.y&&Ye.y===Je.y){if(Ye.x>me.x&&Je.x>=Ye.x||Ye.x<me.x&&Je.x<=Ye.x)continue}else if(me.x===Ye.x&&Ye.x===Je.x&&(Ye.y>me.y&&Je.y>=Ye.y||Ye.y<me.y&&Je.y<=Ye.y))continue}e:{Je=a.x;var st=a.y,yt=y.x,Tt=y.y,Ft=me.x;me=me.y;var Zt=Ye.x,bn=Ye.y;if(dr.B(Je,yt)){if(!dr.B(st,Tt)&&dr.B(me,bn)&&Math.min(st,Tt)<me&&Math.max(st,Tt)>me&&Math.min(Ft,Zt)<Je&&Math.max(Ft,Zt)>Je&&!dr.B(Ft,Zt)){be.x=Je,be.y=me,Je=!0;break e}}else if(dr.B(st,Tt)&&dr.B(Ft,Zt)&&Math.min(Je,yt)<Ft&&Math.max(Je,yt)>Ft&&Math.min(me,bn)<st&&Math.max(me,bn)>st&&!dr.B(me,bn)){be.x=Ft,be.y=st,Je=!0;break e}be.x=0,be.y=0,Je=!1}Je&&(se?ee.push(be.x):ee.push(be.y)),me=Ye}yn.free(be)}function Ey(a){return a=a.curve,a===$x||a===Nv}function qx(a,y){(y||Ey(a))&&(y=a.diagram,y===null||y.animationManager.isTicking||y.Eh.contains(a)||a.ml.width===0&&a.ml.height===0||y.Eh.add(a,a.ml.copy()))}Oi.prototype.Xo=function(a){var y=this.layer;if(y!==null&&y.visible&&!y.isTemporary){var ee=y.diagram;if(ee!==null&&!ee.animationManager.isTicking){var ne=!1;for(ee=ee.layers;ee.next();){var se=ee.value;if(se.visible){if(se===y){ne=!0;var ue=!1;se=se.Pa.s;for(var me=se.length,be=0;be<me;be++){var Fe=se[be];Fe instanceof Oi&&(Fe===this?ue=!0:ue&&zw(this,Fe,a))}}else if(ne)for(ue=se.Pa.s,se=ue.length,me=0;me<se;me++)be=ue[me],be instanceof Oi&&zw(this,be,a)}}}}};function zw(a,y,ee){if(y!==null&&y.lk&&y.fd&&Ey(y)){var ne=y.routeBounds;ne.w()&&(a.routeBounds.Yc(ne)||ee.Yc(ne))&&(a.usesSamePort(y)||y.qc())}}Oi.prototype.usesSamePort=function(a){var y=this.pointsCount,ee=a.pointsCount;if(0<y&&0<ee){var ne=this.i(0),se=a.i(0);if(ne.Xa(se)||(y=this.i(y-1),a=a.i(ee-1),y.Xa(a)||ne.Xa(a)||y.Xa(se)))return!0}else if(this.fromNode===a.fromNode||this.toNode===a.toNode||this.fromNode===a.toNode||this.toNode===a.fromNode)return!0;return!1},Oi.prototype.isVisible=function(){if(!_o.prototype.isVisible.call(this))return!1;var a=this.containingGroup,y=!0,ee=this.diagram;if(ee!==null&&(y=ee.isTreePathToChildren),ee=this.fromNode,ee!==null){if(this.isTreeLink&&y&&!ee.isTreeExpanded)return!1;if(ee===a)return!0;for(var ne=ee;ne!==null;){if(ne.labeledLink===this)return!0;ne=ne.containingGroup}if(ee=ee.findVisibleNode(),ee===null||ee===a)return!1}if(ee=this.toNode,ee!==null){if(this.isTreeLink&&!y&&!ee.isTreeExpanded)return!1;if(ee===a)return!0;for(y=ee;y!==null;){if(y.labeledLink===this)return!0;y=y.containingGroup}if(y=ee.findVisibleNode(),y===null||y===a)return!1}return!0},Oi.prototype.Zb=function(a){if(_o.prototype.Zb.call(this,a),a&&qx(this,!1),this.Sf!==null&&this.Sf.Sl(),this.wd!==null)for(var y=this.wd.iterator;y.next();)y.value.Zb(a)},Oi.prototype.computeAdjusting=function(){return this.isAvoiding&&this.diagram!==null&&this.diagram.animationManager.defaultAnimation.isAnimating?TA:this.qk};function N1(a){var y=a.ef;if(y!==null){var ee=a.uf;if(ee!==null&&isNaN(a.curviness)){for(var ne=a.ff,se=a.vf,ue=a=null,me=y.jb.s,be=me.length,Fe=0;Fe<be;Fe++){var Ye=me[Fe];(Ye.ef===y&&Ye.ff===ne&&Ye.uf===ee&&Ye.vf===se||Ye.ef===ee&&Ye.ff===se&&Ye.uf===y&&Ye.vf===ne)&&(ue===null?ue=Ye:(a===null&&(a=[],a.push(ue)),a.push(Ye)))}if(a!==null){for(ue=kp(y,ee,ne,se),ue===null&&(ue=new q0(y,ne,ee,se),Sb(y,ue),Sb(ee,ue)),ue.links=a,y=0;y<a.length;y++)a[y].Sf=ue;ue.Sl()}}}}function B1(a){var y=a.Sf;y!==null&&isNaN(a.curviness)&&(a.Sf=null,a=y.links.indexOf(a),0<=a&&(hr(y.links,a),y.Sl()))}Oi.prototype.ph=function(){return!0},Re.Object.defineProperties(Oi.prototype,{fromNode:{get:function(){return this.ef},set:function(a){var y=this.ef;if(y!==a){var ee=this.fromPort;y!==null&&(this.uf!==y&&my(y,this,ee),B1(this),this.C(2)),this.ef=a,a!==null&&this.Zb(a.isVisible()),this.Wf=null,this.bb();var ne=this.diagram;ne!==null&&ne.aa&&ne.partManager.setFromNodeForLink(this,a,y);var se=this.fromPort,ue=this.fromPortChanged;if(ue!==null){var me=!0;ne!==null&&(me=ne.aa,ne.aa=!0),ue(this,ee,se),ne!==null&&(ne.aa=me)}a!==null&&(this.uf!==a&&Wd(a,this,se),N1(this),this.C(1)),this.g("fromNode",y,a),Qx(this)}}},fromPortId:{get:function(){return this.ff},set:function(a){var y=this.ff;if(y!==a){var ee=this.fromPort;ee!==null&&ed(ee),B1(this),this.ff=a;var ne=this.fromPort;ne!==null&&ed(ne);var se=this.diagram;if(se!==null){var ue=this.data,me=se.model;ue!==null&&me.ri()&&me.xv(ue,a)}ee!==ne&&(this.Wf=null,this.bb(),ue=this.fromPortChanged,ue!==null&&(me=!0,se!==null&&(me=se.aa,se.aa=!0),ue(this,ee,ne),se!==null&&(se.aa=me))),N1(this),this.g("fromPortId",y,a)}}},fromPort:{get:function(){var a=this.ef;return a===null?null:a.ns(this.ff)}},fromPortChanged:{get:function(){return this.gn},set:function(a){var y=this.gn;y!==a&&(this.gn=a,this.g("fromPortChanged",y,a))}},toNode:{get:function(){return this.uf},set:function(a){var y=this.uf;if(y!==a){var ee=this.toPort;y!==null&&(this.ef!==y&&my(y,this,ee),B1(this),this.C(2)),this.uf=a,a!==null&&this.Zb(a.isVisible()),this.Wf=null,this.bb();var ne=this.diagram;ne!==null&&ne.aa&&ne.partManager.setToNodeForLink(this,a,y);var se=this.toPort,ue=this.toPortChanged;if(ue!==null){var me=!0;ne!==null&&(me=ne.aa,ne.aa=!0),ue(this,ee,se),ne!==null&&(ne.aa=me)}a!==null&&(this.ef!==a&&Wd(a,this,se),N1(this),this.C(1)),this.g("toNode",y,a),Qx(this)}}},toPortId:{get:function(){return this.vf},set:function(a){var y=this.vf;if(y!==a){var ee=this.toPort;ee!==null&&ed(ee),B1(this),this.vf=a;var ne=this.toPort;ne!==null&&ed(ne);var se=this.diagram;if(se!==null){var ue=this.data,me=se.model;ue!==null&&me.ri()&&me.Cv(ue,a)}ee!==ne&&(this.Wf=null,this.bb(),ue=this.toPortChanged,ue!==null&&(me=!0,se!==null&&(me=se.aa,se.aa=!0),ue(this,ee,ne),se!==null&&(se.aa=me))),N1(this),this.g("toPortId",y,a)}}},toPort:{get:function(){var a=this.uf;return a===null?null:a.ns(this.vf)}},toPortChanged:{get:function(){return this.uo},set:function(a){var y=this.uo;y!==a&&(this.uo=a,this.g("toPortChanged",y,a))}},fromSpot:{get:function(){return this.ba!==null?this.ba.Xi:Zs},set:function(a){var y=this.fromSpot;y.D(a)||(a=a.J(),this.Xc(),this.ba.Xi=a,this.g("fromSpot",y,a),(y.$c()||a.$c())&&this.fromNode!==null&&ed(this.fromPort),this.bb())}},fromEndSegmentLength:{get:function(){return this.ba!==null?this.ba.Vi:NaN},set:function(a){var y=this.fromEndSegmentLength;y!==a&&(0>a&&ir(a,">= 0",Oi,"fromEndSegmentLength"),this.Xc(),this.ba.Vi=a,this.g("fromEndSegmentLength",y,a),this.bb())}},fromShortLength:{get:function(){return this.ba!==null?this.ba.Wi:NaN},set:function(a){var y=this.fromShortLength;y!==a&&(this.Xc(),this.ba.Wi=a,this.qc(),this.g("fromShortLength",y,a))}},toSpot:{get:function(){return this.ba!==null?this.ba.yj:Zs},set:function(a){var y=this.toSpot;y.D(a)||(a=a.J(),this.Xc(),this.ba.yj=a,this.g("toSpot",y,a),(y.$c()||a.$c())&&this.toNode!==null&&ed(this.toPort),this.bb())}},toEndSegmentLength:{get:function(){return this.ba!==null?this.ba.wj:NaN},set:function(a){var y=this.toEndSegmentLength;y!==a&&(0>a&&ir(a,">= 0",Oi,"toEndSegmentLength"),this.Xc(),this.ba.wj=a,this.g("toEndSegmentLength",y,a),this.bb())}},toShortLength:{get:function(){return this.ba!==null?this.ba.xj:NaN},set:function(a){var y=this.toShortLength;y!==a&&(this.Xc(),this.ba.xj=a,this.qc(),this.g("toShortLength",y,a))}},isLabeledLink:{get:function(){return this.wd===null?!1:0<this.wd.count}},labelNodes:{get:function(){return this.wd===null?Do:this.wd.iterator}},relinkableFrom:{get:function(){return(this.Qa&1)!==0},set:function(a){var y=(this.Qa&1)!==0;y!==a&&(this.Qa^=1,this.g("relinkableFrom",y,a),this.Wb())}},relinkableTo:{get:function(){return(this.Qa&2)!==0},set:function(a){var y=(this.Qa&2)!==0;y!==a&&(this.Qa^=2,this.g("relinkableTo",y,a),this.Wb())}},resegmentable:{get:function(){return(this.Qa&4)!==0},set:function(a){var y=(this.Qa&4)!==0;y!==a&&(this.Qa^=4,this.g("resegmentable",y,a),this.Wb())}},isTreeLink:{get:function(){return(this.Qa&8)!==0},set:function(a){var y=(this.Qa&8)!==0;y!==a&&(this.Qa^=8,this.g("isTreeLink",y,a),this.fromNode!==null&&I1(this.fromNode),this.toNode!==null&&I1(this.toNode))}},path:{get:function(){var a=this.Pb();return a instanceof Ua?a:null}},routeBounds:{get:function(){this.vg();var a=this.ml,y=1/0,ee=1/0,ne=this.pointsCount;if(ne===0)a.h(NaN,NaN,0,0);else{if(ne===1)ne=this.i(0),y=Math.min(ne.x,y),ee=Math.min(ne.y,ee),a.h(ne.x,ne.y,0,0);else if(ne===2){ne=this.i(0);var se=this.i(1);y=Math.min(ne.x,se.x),ee=Math.min(ne.y,se.y),a.h(ne.x,ne.y,0,0),a.Ye(se)}else if(this.computeCurve()===If&&3<=ne&&!this.isOrthogonal)if(se=this.i(0),y=se.x,ee=se.y,a.h(y,ee,0,0),ne===3){ne=this.i(1),y=Math.min(ne.x,y),ee=Math.min(ne.y,ee);var ue=this.i(2);y=Math.min(ue.x,y),ee=Math.min(ue.y,ee),dr.Dl(se.x,se.y,ne.x,ne.y,ne.x,ne.y,ue.x,ue.y,.5,a)}else for(ue=3;ue<ne;ue+=3){var me=this.i(ue-2);ue+3>=ne&&(ue=ne-1);var be=this.i(ue-1),Fe=this.i(ue);dr.Dl(se.x,se.y,me.x,me.y,be.x,be.y,Fe.x,Fe.y,.5,a),y=Math.min(Fe.x,y),ee=Math.min(Fe.y,ee),se=Fe}else for(se=this.i(0),ue=this.i(1),y=Math.min(se.x,ue.x),ee=Math.min(se.y,ue.y),a.h(se.x,se.y,0,0),a.Ye(ue),se=2;se<ne;se++)ue=this.i(se),y=Math.min(ue.x,y),ee=Math.min(ue.y,ee),a.Ye(ue);this.su.h(y-a.x,ee-a.y)}return a}},midPoint:{get:function(){return this.vg(),this.computeMidPoint(new yn)}},midAngle:{get:function(){return this.vg(),this.computeMidAngle()}},flattenedLengths:{get:function(){if(this.cq===null){this.fd||PA(this);for(var a=this.cq=[],y=this.pointsCount,ee=0;ee<y-1;ee++){var ne=this.i(ee),se=this.i(ee+1);dr.$(ne.x,se.x)?(ne=se.y-ne.y,0>ne&&(ne=-ne)):dr.$(ne.y,se.y)?(ne=se.x-ne.x,0>ne&&(ne=-ne)):ne=Math.sqrt(ne.Bf(se)),a.push(ne)}}return this.cq}},flattenedTotalLength:{get:function(){var a=this.vt;if(isNaN(a)){for(var y=this.flattenedLengths,ee=y.length,ne=a=0;ne<ee;ne++)a+=y[ne];this.vt=a}return a}},points:{get:function(){return this.Nb},set:function(a){var y=this.Nb;if(y!==a){var ee=null;if(Array.isArray(a)){var ne=a.length%2===0;if(ne){for(var se=0;se<a.length;se++)if(typeof a[se]!="number"||isNaN(a[se])){ne=!1;break}}if(ne)for(ee=new Hr,ne=0;ne<a.length/2;ne++)se=new yn(a[2*ne],a[2*ne+1]).freeze(),ee.add(se);else{for(ne=!0,se=0;se<a.length;se++){var ue=a[se];if(!On(ue)||typeof ue.x!="number"||isNaN(ue.x)||typeof ue.y!="number"||isNaN(ue.y)){ne=!1;break}}if(ne)for(ee=new Hr,ne=0;ne<a.length;ne++)se=a[ne],ee.add(new yn(se.x,se.y).freeze())}}else if(a instanceof Hr)for(ee=a.copy(),a=ee.iterator;a.next();)a.value.freeze();else cn("Link.points value is not an instance of List or Array: "+a);ee.freeze(),this.Nb=ee,this.qc(),PA(this),a=this.diagram,a!==null&&(a.pi||a.undoManager.isUndoingRedoing||a.As.add(this),a.animationManager.zb&&Eo(a.animationManager,this,ee)),this.g("points",y,ee)}}},pointsCount:{get:function(){return this.Nb.count}},fd:{get:function(){return(this.Qa&16)!==0},set:function(a){(this.Qa&16)!==0!==a&&(this.Qa^=16)}},suspendsRouting:{get:function(){return(this.Qa&32)!==0},set:function(a){(this.Qa&32)!==0!==a&&(this.Qa^=32)}},computingPoints:{get:function(){return(this.Qa&64)!==0},set:function(a){(this.Qa&64)!==0!==a&&(this.Qa^=64)}},defaultFromPoint:{get:function(){return this.o},set:function(a){this.o=a.copy()}},defaultToPoint:{get:function(){return this.u},set:function(a){this.u=a.copy()}},isOrthogonal:{get:function(){return(this.qj.value&2)===2}},isAvoiding:{get:function(){return(this.qj.value&4)===4}},lk:{get:function(){return(this.Qa&128)!==0},set:function(a){(this.Qa&128)!==0!==a&&(this.Qa^=128)}},geometry:{get:function(){if(!this.lk){if(this.vg(),2>this.pointsCount)return this.lk=!0,this.ua;this.ua=this.makeGeometry()}return this.ua}},firstPickIndex:{get:function(){return 2>=this.pointsCount?0:this.isOrthogonal||!Fp(this.computeSpot(!0))?1:0}},lastPickIndex:{get:function(){var a=this.pointsCount;return a===0?0:2>=a?a-1:this.isOrthogonal||!Fp(this.computeSpot(!1))?a-2:a-1}},adjusting:{get:function(){return this.qk},set:function(a){var y=this.qk;y!==a&&(this.qk=a,this.g("adjusting",y,a))}},corner:{get:function(){return this.Om},set:function(a){var y=this.Om;y!==a&&(this.Om=a,this.qc(),this.g("corner",y,a))}},curve:{get:function(){return this.Qm},set:function(a){var y=this.Qm;y!==a&&(this.Qm=a,this.bb(),this.qc(),qx(this,y===Nv||y===$x||a===Nv||a===$x),this.g("curve",y,a))}},curviness:{get:function(){return this.Rm},set:function(a){var y=this.Rm;y!==a&&(this.Rm=a,this.bb(),this.qc(),this.g("curviness",y,a))}},routing:{get:function(){return this.qj},set:function(a){var y=this.qj;y!==a&&(this.qj=a,this.Wf=null,this.bb(),qx(this,(y.value&2)===2||(a.value&2)===2),this.g("routing",y,a))}},smoothness:{get:function(){return this.po},set:function(a){var y=this.po;y!==a&&(this.po=a,this.qc(),this.g("smoothness",y,a))}},key:{get:function(){var a=this.diagram;if(a!==null&&a.model.ri())return a.model.Ac(this.data)}}}),Oi.prototype.invalidateOtherJumpOvers=Oi.prototype.Xo,Oi.prototype.findClosestSegment=Oi.prototype.ez,Oi.prototype.updateRoute=Oi.prototype.vg,Oi.prototype.invalidateRoute=Oi.prototype.bb,Oi.prototype.rollbackRoute=Oi.prototype.rv,Oi.prototype.commitRoute=Oi.prototype.zf,Oi.prototype.startRoute=Oi.prototype.uh,Oi.prototype.clearPoints=Oi.prototype.Fj,Oi.prototype.removePoint=Oi.prototype.pv,Oi.prototype.addPointAt=Oi.prototype.yf,Oi.prototype.addPoint=Oi.prototype.ne,Oi.prototype.insertPointAt=Oi.prototype.m,Oi.prototype.insertPoint=Oi.prototype.Kz,Oi.prototype.setPointAt=Oi.prototype.L,Oi.prototype.setPoint=Oi.prototype.dd,Oi.prototype.getPoint=Oi.prototype.i,Oi.prototype.getOtherPort=Oi.prototype.Cz,Oi.prototype.getOtherNode=Oi.prototype.To;var bm=null,Ay=null,jw=new nr(Oi,"Normal",1),OI=new nr(Oi,"Orthogonal",2),NI=new nr(Oi,"AvoidsNodes",6),RT=new nr(Oi,"AvoidsNodesStraight",7),wh=new nr(Oi,"None",0),If=new nr(Oi,"Bezier",9),Nv=new nr(Oi,"JumpGap",10),$x=new nr(Oi,"JumpOver",11),TA=new nr(Oi,"End",17),Ww=new nr(Oi,"Scale",18),Pm=new nr(Oi,"Stretch",19),R1=new nr(Oi,"OrientAlong",21),eE=new nr(Oi,"OrientPlus90",22),Sy=new nr(Oi,"OrientMinus90",23),Uw=new nr(Oi,"OrientOpposite",24),Gw=new nr(Oi,"OrientUpright",25),tE=new nr(Oi,"OrientPlus90Upright",26),nE=new nr(Oi,"OrientMinus90Upright",27),Gd=new nr(Oi,"OrientUpright45",28),Bv=16,Wb=14,h0=8;Oi.className="Link",Oi.Normal=jw,Oi.Orthogonal=OI,Oi.AvoidsNodes=NI,Oi.AvoidsNodesStraight=RT,Oi.None=wh,Oi.Bezier=If,Oi.JumpGap=Nv,Oi.JumpOver=$x,Oi.End=TA,Oi.Scale=Ww,Oi.Stretch=Pm,Oi.OrientAlong=R1,Oi.OrientPlus90=eE,Oi.OrientMinus90=Sy,Oi.OrientOpposite=Uw,Oi.OrientUpright=Gw,Oi.OrientPlus90Upright=tE,Oi.OrientMinus90Upright=nE,Oi.OrientUpright45=Gd,Oi.EndSegmentStep=8,Oi.CurvinessStart=Bv,Oi.SpacingMin=Wb,Oi.OrthoShortCut=h0;function q0(a,y,ee,ne){Ca(this),this.Fe=this.qq=!1,this.Ds=a,this.Ox=y,this.cv=ee,this.Px=ne,this.links=[]}q0.prototype.Sl=function(){if(!this.qq){var a=this.links;0<a.length&&(a=a[0].diagram,a!==null&&(a.ow.add(this),this.Fe=a.undoManager.isUndoingRedoing))}this.qq=!0},q0.prototype.Nv=function(){if(this.qq){this.qq=!1;var a=this.links;if(0<a.length){var y=a[0],ee=y.diagram;ee=ee===null||ee.pi&&!this.Fe,this.Fe=!1,y.arrangeBundledLinks(a,ee),a.length===1&&(y.Sf=null,a.length=0)}a.length===0&&(a=this.Ds,this!==null&&a.af!==null&&a.af.remove(this),a=this.cv,this!==null&&a.af!==null&&a.af.remove(this))}},q0.className="LinkBundle";function rE(a){Ca(this),this.Yx=this.group=null,this.vs=!0,this.abort=!1,this.Od=this.Nd=1,this.Fn=this.En=-1,this.rc=a.width,this.sc=a.height,this.ac=null,this.ei=this.di=0,this.Os=11,this.Ix=this.Hx=22}rE.prototype.initialize=function(a){if(!(0>=a.width||0>=a.height)){var y=a.y,ee=a.x+a.width,ne=a.y+a.height;if(this.Nd=Math.floor((a.x-this.rc)/this.rc)*this.rc,this.Od=Math.floor((y-this.sc)/this.sc)*this.sc,this.En=Math.ceil((ee+2*this.rc)/this.rc)*this.rc,this.Fn=Math.ceil((ne+2*this.sc)/this.sc)*this.sc,a=1+(Math.ceil((this.En-this.Nd)/this.rc)|0),y=1+(Math.ceil((this.Fn-this.Od)/this.sc)|0),this.ac===null||this.di<a-1||this.ei<y-1){for(ee=[],ne=0;ne<=a;ne++)ee[ne]=new Uint32Array(y);this.ac=ee,this.di=a-1,this.ei=y-1}if(a=iE,this.ac!==null)for(y=0;y<=this.di;y++)if(ee=this.ac[y],ee.fill)ee.fill(a);else for(ne=0;ne<=this.ei;ne++)ee[ne]=a}};function wy(a,y,ee){return a.Nd<=y&&y<=a.En&&a.Od<=ee&&ee<=a.Fn}function _p(a,y,ee){return wy(a,y,ee)?(y-=a.Nd,y/=a.rc,ee-=a.Od,ee/=a.sc,a.ac[y|0][ee|0]):iE}function No(a){if(a.ac!==null)for(var y=0;y<=a.di;y++)for(var ee=a.ac[y],ne=0;ne<=a.ei;ne++)ee[ne]>=Mm&&(ee[ne]=iE)}rE.prototype.Yj=function(a,y,ee,ne){if(a>this.En||a+ee<this.Nd||y>this.Fn||y+ne<this.Od)return!0;a=(a-this.Nd)/this.rc|0,y=(y-this.Od)/this.sc|0,ee=Math.max(0,ee)/this.rc+1|0;var se=Math.max(0,ne)/this.sc+1|0;if(0>a&&(ee+=a,a=0),0>y&&(se+=y,y=0),0>ee||0>se)return!0;for(ne=Math.min(a+ee-1,this.di)|0,ee=Math.min(y+se-1,this.ei)|0;a<=ne;a++){se=this.ac[a];for(var ue=y;ue<=ee;ue++)if(se[ue]===$0)return!1}return!0};function Lg(a,y,ee,ne,se,ue,me,be,Fe){if(!(y<ue||y>me||ee<be||ee>Fe)){var Ye=y|0,Je=ee|0,st=a.ac[Ye][Je];if(st>=Mm&&st<by)for(se?Je+=ne:Ye+=ne,st+=1;ue<=Ye&&Ye<=me&&be<=Je&&Je<=Fe&&!(st>=a.ac[Ye][Je]);)a.ac[Ye][Je]=st,st+=1,se?Je+=ne:Ye+=ne;if(Ye=se?Je:Ye,se)if(0<ne)for(ee+=ne;ee<Ye;ee+=ne)Lg(a,y,ee,1,!se,ue,me,be,Fe),Lg(a,y,ee,-1,!se,ue,me,be,Fe);else for(ee+=ne;ee>Ye;ee+=ne)Lg(a,y,ee,1,!se,ue,me,be,Fe),Lg(a,y,ee,-1,!se,ue,me,be,Fe);else if(0<ne)for(y+=ne;y<Ye;y+=ne)Lg(a,y,ee,1,!se,ue,me,be,Fe),Lg(a,y,ee,-1,!se,ue,me,be,Fe);else for(y+=ne;y>Ye;y+=ne)Lg(a,y,ee,1,!se,ue,me,be,Fe),Lg(a,y,ee,-1,!se,ue,me,be,Fe)}}function d0(a,y,ee,ne,se,ue,me,be,Fe){y|=0,ee|=0;var Ye=$0,Je=Mm;for(a.ac[y][ee]=Je;Ye===$0&&y>ue&&y<me&&ee>be&&ee<Fe;)Je+=1,a.ac[y][ee]=Je,se?ee+=ne:y+=ne,Ye=a.ac[y][ee]}function DA(a,y,ee,ne,se,ue,me,be,Fe){y|=0,ee|=0;var Ye=$0,Je=by;for(a.ac[y][ee]=Je;Ye===$0&&y>ue&&y<me&&ee>be&&ee<Fe;)a.ac[y][ee]=Je,se?ee+=ne:y+=ne,Ye=a.ac[y][ee]}function IA(a,y,ee,ne,se,ue,me){if(a.ac!==null){a.abort=!1;var be=y.x,Fe=y.y;if(wy(a,be,Fe)){be-=a.Nd,be/=a.rc,Fe-=a.Od,Fe/=a.sc;var Ye=ne.x,Je=ne.y;if(wy(a,Ye,Je))if(Ye-=a.Nd,Ye/=a.rc,Je-=a.Od,Je/=a.sc,1>=Math.abs(be-Ye)&&1>=Math.abs(Fe-Je))a.abort=!0;else{var st=ue.x;ne=ue.y,y=ue.x+ue.width;var yt=ue.y+ue.height;st-=a.Nd,st/=a.rc,ne-=a.Od,ne/=a.sc,y-=a.Nd,y/=a.rc,yt-=a.Od,yt/=a.sc,ue=Math.max(0,Math.min(a.di,st|0)),y=Math.min(a.di,Math.max(0,y|0)),st=Math.max(0,Math.min(a.ei,ne|0)),yt=Math.min(a.ei,Math.max(0,yt|0)),ne=a.ac,be|=0,Fe|=0,Ye|=0,Je|=0;var Tt=ee===0||ee===90?1:-1;if(ee=ee===90||ee===270,ne[be][Fe]===$0?(d0(a,be,Fe,Tt,ee,ue,y,st,yt),d0(a,be,Fe,1,!ee,ue,y,st,yt),d0(a,be,Fe,-1,!ee,ue,y,st,yt)):d0(a,be,Fe,Tt,ee,be,Fe,be,Fe),ne[Ye][Je]===$0?(DA(a,Ye,Je,se===0||se===90?1:-1,se===90||se===270,ue,y,st,yt),DA(a,Ye,Je,1,!(se===90||se===270),ue,y,st,yt),DA(a,Ye,Je,-1,!(se===90||se===270),ue,y,st,yt)):DA(a,Ye,Je,Tt,ee,Ye,Je,Ye,Je),ee=pr(),me&&Cy(a,Ye,Je,se,be,Fe,ee))for((ee[0]!==Ye||ee[1]!==Je)&&(ee.unshift(Je),ee.unshift(Ye)),(ee[ee.length-2]!==be||ee[ee.length-1]!==Fe)&&(ee.push(be),ee.push(Fe)),a=Mm,se=ee[ee.length-2],me=ee[ee.length-1],ne[se][me]=a++,ue=ee.length-4;0<=ue;ue-=2)for(se=ee[ue+2],me=ee[ue+3],y=ee[ue],Ye=ee[ue+1];y>se?se++:y<se?se--:Ye>me?me++:Ye<me&&me--,ne[se][me]=a++,se!==y||me!==Ye;);else Lg(a,be,Fe,1,!1,ue,y,st,yt),Lg(a,be,Fe,-1,!1,ue,y,st,yt),Lg(a,be,Fe,1,!0,ue,y,st,yt),Lg(a,be,Fe,-1,!0,ue,y,st,yt);Mr(ee)}}}}function Cy(a,y,ee,ne,se,ue,me){for(var be=a.ac,Fe=y,Ye=ee;;){if(Fe===se&&Ye===ue)return!0;var Je=Fe,st=Ye;if(ne===0)if(Je<se)Je++;else break;else if(ne===90)if(st<ue)st++;else break;else if(ne===180)if(Je>se)Je--;else break;else if(st>ue)st--;else break;var yt=be[Je][st];if(yt===0||yt===Dc)break;Fe=Je,Ye=st}for(;;){if(Je=ne,st=Fe,yt=Ye,ne===0?yt<ue?(Je=90,yt++):yt>ue&&(Je=270,yt--):ne===90?st<se?(Je=0,st++):st>se&&(Je=180,st--):ne===180?yt<ue?(Je=90,yt++):yt>ue&&(Je=270,yt--):st<se?(Je=0,st++):st>se&&(Je=180,st--),st=be[st][yt],Je!==ne&&st!==0&&st!==Dc){if(me.push(Fe),me.push(Ye),Cy(a,Fe,Ye,Je,se,ue,me))return!0;me.pop(),me.pop()}if(be[Fe][Ye]=Dc,ne===0){if(Fe===y)return!1;Fe--}else if(ne===90){if(Ye===ee)return!1;Ye--}else if(ne===180){if(Fe===y)return!1;Fe++}else{if(Ye===ee)return!1;Ye++}}}Re.Object.defineProperties(rE.prototype,{bounds:{get:function(){return new Ur(this.Nd,this.Od,this.En-this.Nd,this.Fn-this.Od)}},Ho:{get:function(){return this.rc},set:function(a){0<a&&a!==this.rc&&(this.rc=a,this.initialize(this.bounds))}},Go:{get:function(){return this.sc},set:function(a){0<a&&a!==this.sc&&(this.sc=a,this.initialize(this.bounds))}}});var $0=0,Mm=1,by=999999,iE=by+1,Dc=by+2;rE.className="PositionArray";function Py(){Ca(this),this.port=this.node=null,this.pe=[],this.ap=!1}Py.prototype.toString=function(){for(var a=this.pe,y=this.node.toString()+" "+a.length.toString()+":",ee=0;ee<a.length;ee++){var ne=a[ee];ne!==null&&(y+=`
`+ne.toString())}return y};function k1(a,y,ee,ne){switch(y=y.offsetY,y){case 8:return 90;case 2:return 180;case 1:return 270;case 4:return 0}switch(y){case 9:return 180<ee?270:90;case 6:return 90<ee&&270>=ee?180:0}switch(a=180*Math.atan2(a.height,a.width)/Math.PI,y){case 3:return ee>a&&ee<=180+a?180:270;case 5:return ee>180-a&&ee<=360-a?270:0;case 12:return ee>a&&ee<=180+a?90:0;case 10:return ee>180-a&&ee<=360-a?180:90;case 7:return 90<ee&&ee<=180+a?180:ee>180+a&&ee<=360-a?270:0;case 13:return 180<ee&&ee<=360-a?270:ee>a&&180>=ee?90:0;case 14:return ee>a&&ee<=180-a?90:ee>180-a&&270>=ee?180:0;case 11:return ee>180-a&&ee<=180+a?180:ee>180+a?270:90}return ne&&y!==15&&(ee-=15,0>ee&&(ee+=360)),ee>a&&ee<180-a?90:ee>=180-a&&ee<=180+a?180:ee>180+a&&ee<360-a?270:0}Py.prototype.Sl=function(){this.pe.length=0};function Ub(a,y){var ee=a.pe;if(ee.length===0){e:if(!a.ap){ee=a.ap,a.ap=!0;var ne=null,se=a.node,ue=se instanceof Ma?se:null;if(ue===null||ue.isSubGraphExpanded)var me=se.isTreeExpanded?se.findLinksConnected(a.port.portId):se.qx();else{if(!ue.actualBounds.w()){a.ap=ee;break e}ne=ue,me=ne.Lu()}ue=a.pe.length=0;var be=a.port.ga(Ya,yn.alloc()),Fe=a.port.ga(Pc,yn.alloc());for(se=Ur.allocAt(be.x,be.y,0,0),se.Ye(Fe),yn.free(be),yn.free(Fe),be=yn.allocAt(se.x+se.width/2,se.y+se.height/2),Fe=a.port.li(),me=me.iterator;me.next();){var Ye=me.value;if(Ye.isVisible()&&Ye.fromPort!==Ye.toPort){var Je=Ye.fromPort===a.port||Ye.fromNode!==null&&Ye.fromNode.Td(ne),st=Ye.computeSpot(Je,a.port);if(st.$c()&&(Je=Je?Ye.toPort:Ye.fromPort,Je!==null)){var yt=Je.part;if(yt!==null){var Tt=yt.findVisibleNode();Tt!==null&&Tt!==yt&&(yt=Tt,Je=yt.port),Je=Ye.computeOtherPoint(yt,Je),yt=be.ab(Je),yt-=Fe,0>yt?yt+=360:360<=yt&&(yt-=360),st=k1(se,st,yt,Ye.isOrthogonal),st===0?(st=4,180<yt&&(yt-=360)):st===90?(st=8,270<yt&&(yt-=360)):st===180?st=2:(st=1,90>yt&&(yt+=360)),Tt=a.pe[ue],Tt===void 0?(Tt=new Hd(Ye,yt,st),a.pe[ue]=Tt):(Tt.link=Ye,Tt.angle=yt,Tt.Nc=st),Tt.hv.set(Je),ue++}}}}for(yn.free(be),a.pe.sort(Py.prototype.j),Fe=a.pe.length,ne=-1,ue=be=0;ue<Fe;ue++)me=a.pe[ue],me!==void 0&&(me.Nc!==ne&&(ne=me.Nc,be=0),me.Uo=be,be++);for(ne=-1,be=0,ue=Fe-1;0<=ue;ue--)Fe=a.pe[ue],Fe!==void 0&&(Fe.Nc!==ne&&(ne=Fe.Nc,be=Fe.Uo+1),Fe.Gl=be);if(ue=a.pe,st=a.port,ne=a.node.portSpreading,be=yn.alloc(),Fe=yn.alloc(),me=yn.alloc(),Ye=yn.alloc(),st.ga(Ya,be),st.ga(Zh,Fe),st.ga(Pc,me),st.ga(nh,Ye),Tt=yt=Je=st=0,ne===bA)for(var Ft=0;Ft<ue.length;Ft++){var Zt=ue[Ft];if(Zt!==null){var bn=Zt.link.computeThickness();switch(Zt.Nc){case 8:yt+=bn;break;case 2:Tt+=bn;break;case 1:st+=bn;break;default:case 4:Je+=bn}}}var fn=Ft=0,Fn=1,zn=Zt=0;for(bn=0;bn<ue.length;bn++){var Zn=ue[bn];if(Zn!==null){if(Ft!==Zn.Nc){switch(Ft=Zn.Nc,Ft){case 8:var sr=me;fn=Ye;break;case 2:sr=Ye,fn=be;break;case 1:sr=be,fn=Fe;break;default:case 4:sr=Fe,fn=me}switch(Zt=fn.x-sr.x,zn=fn.y-sr.y,Ft){case 8:yt>Math.abs(Zt)?(Fn=Math.abs(Zt)/yt,yt=Math.abs(Zt)):Fn=1;break;case 2:Tt>Math.abs(zn)?(Fn=Math.abs(zn)/Tt,Tt=Math.abs(zn)):Fn=1;break;case 1:st>Math.abs(Zt)?(Fn=Math.abs(Zt)/st,st=Math.abs(Zt)):Fn=1;break;default:case 4:Je>Math.abs(zn)?(Fn=Math.abs(zn)/Je,Je=Math.abs(zn)):Fn=1}fn=0}var Br=Zn.Zo;if(ne===bA){switch(Zn=Zn.link.computeThickness(),Zn*=Fn,Br.set(sr),Ft){case 8:Br.x=sr.x+Zt/2+yt/2-fn-Zn/2;break;case 2:Br.y=sr.y+zn/2+Tt/2-fn-Zn/2;break;case 1:Br.x=sr.x+Zt/2-st/2+fn+Zn/2;break;default:case 4:Br.y=sr.y+zn/2-Je/2+fn+Zn/2}fn+=Zn}else{var Hi=.5;ne===CA&&(Hi=(Zn.Uo+1)/(Zn.Gl+1)),Br.x=sr.x+Zt*Hi,Br.y=sr.y+zn*Hi}}}for(yn.free(be),yn.free(Fe),yn.free(me),yn.free(Ye),sr=a.pe,ue=0;ue<sr.length;ue++)ne=sr[ue],ne!==null&&(ne.Ju=a.computeEndSegmentLength(ne));a.ap=ee,Ur.free(se)}ee=a.pe}for(a=0;a<ee.length;a++)if(se=ee[a],se!==null&&se.link===y)return se;return null}Py.prototype.j=function(a,y){return a===y?0:a===null?-1:y===null?1:a.Nc<y.Nc?-1:a.Nc>y.Nc?1:a.angle<y.angle?-1:a.angle>y.angle?1:0},Py.prototype.computeEndSegmentLength=function(a){var y=a.link,ee=y.computeEndSegmentLength(this.node,this.port,uu,y.fromPort===this.port),ne=a.Uo;if(0>ne)return ee;var se=a.Gl;if(1>=se||!y.isOrthogonal)return ee;y=a.hv;var ue=a.Zo;return(a.Nc===2||a.Nc===8)&&(ne=se-1-ne),((a=a.Nc===2||a.Nc===4)?y.y<ue.y:y.x<ue.x)?ee+8*ne:(a?y.y===ue.y:y.x===ue.x)?ee:ee+8*(se-1-ne)},Py.className="Knot";function Hd(a,y,ee){this.link=a,this.angle=y,this.Nc=ee,this.hv=new yn,this.Gl=this.Uo=0,this.Zo=new yn,this.Ju=0}Hd.prototype.toString=function(){return this.link.toString()+" "+this.angle.toString()+" "+this.Nc.toString()+":"+this.Uo.toString()+"/"+this.Gl.toString()+" "+this.Zo.toString()+" "+this.Ju.toString()+" "+this.hv.toString()},Hd.className="LinkInfo";function Ol(a){Ca(this),this.o=this.H=null,this.Gh=this.sn=!0,this.yn=!1,this.Am=new yn(0,0).freeze(),this.vn=!0,this.Em=this.un=null,this.xn=!1,this.j=null,a&&Object.assign(this,a)}Ol.prototype.cloneProtected=function(a){a.sn=this.sn,a.Gh=this.Gh,a.yn=this.yn,a.Am.assign(this.Am),a.vn=this.vn,a.un=this.un,a.Em=this.Em,a.xn=!0},Ol.prototype.copy=function(){var a=new this.constructor;return this.cloneProtected(a),a},Ol.prototype.qb=function(){},Ol.prototype.toString=function(){var a=gr(this.constructor);return a+="(",this.group!==null&&(a+=" in "+this.group),this.diagram!==null&&(a+=" for "+this.diagram),a+")"},Ol.prototype.C=function(){if(this.isValidLayout){var a=this.diagram;if(a!==null&&!a.undoManager.isUndoingRedoing){var y=a.animationManager;!y.isTicking&&(y.defaultAnimation.isAnimating&&y.Cc(),this.isOngoing&&a.pi||this.isInitial&&!a.pi)&&(this.isValidLayout=!1,a.$b())}}},Ol.prototype.createNetwork=function(){return new Il(this)},Ol.prototype.makeNetwork=function(a){var y=this.createNetwork();return a instanceof Lr?(y.lg(a.nodes,!0),y.lg(a.links,!0)):a instanceof Ma?y.lg(a.memberParts):y.lg(a.iterator),y},Ol.prototype.updateParts=function(){this.isValidLayout=!0;var a=this.diagram;if(a===null&&this.network!==null)for(var y=this.network.vertexes.iterator;y.next();){var ee=y.value.node;if(ee!==null&&(a=ee.diagram,a!==null))break}try{a!==null&&a.Ea("Layout"),this.commitLayout()}finally{a!==null&&a.eb("Layout")}},Ol.prototype.commitLayout=function(){if(this.network!==null){for(var a=this.network.vertexes.iterator;a.next();)a.value.commit();if(this.isRouting)for(a=this.network.edges.iterator;a.next();)a.value.commit()}},Ol.prototype.doLayout=function(a){var y=new Zr;a instanceof Lr?(Ku(this,y,a.nodes,!0,this.rh,!0,!1,!0),Ku(this,y,a.parts,!0,this.rh,!0,!1,!0)):a instanceof Ma?Ku(this,y,a.memberParts,!1,this.rh,!0,!1,!0):y.addAll(a.iterator),0<y.count&&(a=this.diagram,a!==null&&a.Ea("Layout"),this.doMinimalNoNetworkLayout(y),a!==null&&a.eb("Layout")),this.isValidLayout=!0},Ol.prototype.doMinimalNoNetworkLayout=function(a){var y=Math.ceil(Math.sqrt(a.count));this.arrangementOrigin=this.initialOrigin(this.arrangementOrigin);var ee=this.arrangementOrigin.x,ne=ee,se=this.arrangementOrigin.y,ue=0,me=0;for(a=a.iterator;a.next();){var be=a.value;ev(be);var Fe=be.measuredBounds,Ye=Fe.width;Fe=Fe.height,be.moveTo(ne,se),be instanceof Ma&&(be.rh=!1),ne+=Math.max(Ye,50)+20,me=Math.max(me,Math.max(Fe,50)),ue>=y-1?(ue=0,ne=ee,se+=me+20,me=0):ue++}},Ol.prototype.doMinimalNetworkLayout=function(){var a=Math.ceil(Math.sqrt(this.network.vertexes.count));this.arrangementOrigin=this.initialOrigin(this.arrangementOrigin);for(var y=this.arrangementOrigin.x,ee=y,ne=this.arrangementOrigin.y,se=0,ue=0,me=this.network.vertexes.iterator;me.next();){var be=me.value.node;if(!(be===null||be instanceof Oi)&&(ev(be),this.rh(be))){var Fe=be.measuredBounds,Ye=Fe.width;Fe=Fe.height,be.moveTo(ee,ne),be instanceof Ma&&(be.rh=!1),ee+=Math.max(Ye,50)+20,ue=Math.max(ue,Math.max(Fe,50)),se>=a-1?(se=0,ee=y,ne+=ue+20,ue=0):se++}}},Ol.prototype.rh=function(a){return!!(!a.location.w()||a instanceof Ma&&a.rh)};function Ku(a,y,ee,ne,se,ue,me,be){for(ee=ee.iterator;ee.next();){var Fe=ee.value;ne&&!Fe.isTopLevel||se!==null&&!se(Fe)||!Fe.canLayout()||(ue&&Fe instanceof Yi?Fe.isLinkLabel||(Fe instanceof Ma&&Fe.layout===null?Ku(a,y,Fe.memberParts,!1,se,ue,me,be):(ev(Fe),y.add(Fe))):me&&Fe instanceof Oi?y.add(Fe):!be||!Fe.Zc()||Fe instanceof Yi||(ev(Fe),y.add(Fe)))}}function ev(a){var y=a.actualBounds;(y.width===0||y.height===0||isNaN(y.width)||isNaN(y.height))&&a.Va()}Ol.prototype.ni=function(a,y){var ee=this.boundsComputation;return ee!==null?(y||(y=new Ur),ee(a,this,y)):y?(y.set(a.actualBounds),y):a.actualBounds},Ol.prototype.ex=function(a){var y=new Zr;return a instanceof Lr?(Ku(this,y,a.nodes,!0,null,!0,!0,!0),Ku(this,y,a.links,!0,null,!0,!0,!0),Ku(this,y,a.parts,!0,null,!0,!0,!0)):a instanceof Ma?Ku(this,y,a.memberParts,!1,null,!0,!0,!0):Ku(this,y,a.iterator,!1,null,!0,!0,!0),y},Ol.prototype.initialOrigin=function(a){var y=this.group;if(y!==null){var ee=y.position.copy();return(isNaN(ee.x)||isNaN(ee.y))&&ee.set(a),y=y.placeholder,y!==null&&(ee=y.ga(Ya),(isNaN(ee.x)||isNaN(ee.y))&&ee.set(a),a=y.padding,ee.x+=a.left,ee.y+=a.top),ee}return a},Re.Object.defineProperties(Ol.prototype,{diagram:{get:function(){return this.H},set:function(a){this.H=a}},group:{get:function(){return this.o},set:function(a){this.o!==a&&(this.o=a,a!==null&&(this.H=a.diagram))}},isOngoing:{get:function(){return this.sn},set:function(a){this.sn!==a&&(this.sn=a)}},isInitial:{get:function(){return this.Gh},set:function(a){this.Gh=a,a||(this.xn=!0)}},isViewportSized:{get:function(){return this.yn},set:function(a){this.yn!==a&&(this.yn=a)&&this.C()}},isRouting:{get:function(){return this.vn},set:function(a){this.vn!==a&&(this.vn=a)}},isRealtime:{get:function(){return this.un},set:function(a){this.un!==a&&(this.un=a)}},isValidLayout:{get:function(){return this.xn},set:function(a){this.xn!==a&&(this.xn=a,a||(a=this.diagram,a!==null&&(a.xh=!0)))}},network:{get:function(){return this.j},set:function(a){this.j!==a&&(this.j=a,a!==null&&(a.layout=this))}},boundsComputation:{get:function(){return this.Em},set:function(a){this.Em!==a&&(this.Em=a,this.C())}},arrangementOrigin:{get:function(){return this.Am},set:function(a){this.Am.D(a)||(this.Am.assign(a),this.C())}}}),Ol.prototype.collectParts=Ol.prototype.ex,Ol.prototype.getLayoutBounds=Ol.prototype.ni,Ol.prototype.invalidateLayout=Ol.prototype.C,Ol.className="Layout";function Il(a){Ca(this),this.Sc=a,this.wf=new Zr,this.ye=new Zr,this.Es=new Ji,this.zs=new Ji}Il.prototype.clear=function(){if(this.wf)for(var a=this.wf.iterator;a.next();)a.value.clear();if(this.ye)for(a=this.ye.iterator;a.next();)a.value.clear();this.wf=new Zr,this.ye=new Zr,this.Es=new Ji,this.zs=new Ji},Il.prototype.toString=function(a){a===void 0&&(a=0);var y="LayoutNetwork"+(this.layout!==null?"("+this.layout.toString()+")":"");if(0>=a)return y;if(y+=" vertexes: "+this.wf.count+" edges: "+this.ye.count,1<a){for(var ee=this.wf.iterator;ee.next();)y+=`
`+ee.value.toString(a-1);for(ee=this.ye.iterator;ee.next();)y+=`
`+ee.value.toString(a-1)}return y},Il.prototype.createVertex=function(){return new dc(this)},Il.prototype.createEdge=function(){return new Vd(this)},Il.prototype.lg=function(a,y,ee){if(a!==null){for(y===void 0&&(y=!1),ee===void 0&&(ee=null),ee===null&&(ee=function(me){if(me instanceof Yi)return!me.isLinkLabel;if(me instanceof Oi){var be=me.fromNode;return be===null||be.isLinkLabel?!1:(me=me.toNode,!(me===null||me.isLinkLabel))}return!1}),a=a.iterator;a.next();){var ne=a.value;if(ne instanceof Yi&&(!y||ne.isTopLevel)&&ne.canLayout()&&ee(ne)){if(ne instanceof Ma&&ne.layout===null)this.lg(ne.memberParts,!1);else if(this.ki(ne)===null){var se=this.createVertex();se.node=ne,this.dh(se)}}}for(a.reset();a.next();)if(ne=a.value,ne instanceof Oi&&(!y||ne.isTopLevel)&&ne.canLayout()&&ee(ne)&&this.Lo(ne)===null){var ue=ne.fromNode;se=ne.toNode,ue!==null&&se!==null&&ue!==se&&(ue=this.findGroupVertex(ue),se=this.findGroupVertex(se),ue!==null&&se!==null&&this.Zj(ue,se,ne))}}},Il.prototype.findGroupVertex=function(a){if(a===null)return null;var y=a.findVisibleNode();if(y===null)return null;if(a=this.ki(y),a!==null)return a;for(y=y.containingGroup;y!==null;){if(a=this.ki(y),a!==null)return a;y=y.containingGroup}return null},It=Il.prototype,It.dh=function(a){if(a!==null){this.wf.add(a);var y=a.node;y!==null&&this.Es.add(y,a),a.network=this}},It.Bl=function(a){if(a===null)return null;var y=this.ki(a);return y===null&&(y=this.createVertex(),y.node=a,this.dh(y)),y},It.Iu=function(a){if(a!==null&&My(this,a)){for(var y=a.tg,ee=y.count-1;0<=ee;ee--){var ne=y.M(ee);this.Mj(ne)}for(y=a.mg,a=y.count-1;0<=a;a--)ee=y.M(a),this.Mj(ee)}};function My(a,y){if(y===null)return!1;var ee=a.wf.remove(y);return ee&&(y=y.node,y!==null&&a.Es.remove(y)),ee}It.Zy=function(a){a!==null&&(a=this.ki(a),a!==null&&this.Iu(a))},It.ki=function(a){return a===null?null:this.Es.I(a)},It.Bo=function(a){if(a!==null){oE(this,a);var y=a.toVertex;y!==null&&y.Cl(a),y=a.fromVertex,y!==null&&y.zl(a)}};function oE(a,y){if(y!==null){a.ye.add(y);var ee=y.link;ee!==null&&a.Lo(ee)===null&&a.zs.add(ee,y),y.network=a}}It.Dy=function(a){if(a===null)return null;var y=a.fromNode,ee=a.toNode,ne=this.Lo(a);return ne===null?(ne=this.createEdge(),ne.link=a,y!==null&&(ne.fromVertex=this.Bl(y)),ee!==null&&(ne.toVertex=this.Bl(ee)),this.Bo(ne)):(y!==null?ne.fromVertex=this.Bl(y):ne.fromVertex=null,ee!==null?ne.toVertex=this.Bl(ee):ne.toVertex=null),ne},It.Mj=function(a){if(a!==null){var y=a.toVertex;y!==null&&y.Kl(a),y=a.fromVertex,y!==null&&y.Jl(a),Of(this,a)}};function Of(a,y){y!==null&&a.ye.remove(y)&&(y=y.link,y!==null&&a.zs.remove(y))}It.Yy=function(a){a!==null&&(a=this.Lo(a),a!==null&&this.Mj(a))},It.Lo=function(a){return a===null?null:this.zs.I(a)},It.Zj=function(a,y,ee){if(a===null||y===null)return null;if(a.network===this&&y.network===this){var ne=this.createEdge();return ne.link=ee,ne.fromVertex=a,ne.toVertex=y,this.Bo(ne),ne}return null},It.gm=function(a){if(a!==null){var y=a.fromVertex,ee=a.toVertex;y!==null&&ee!==null&&(y.Jl(a),ee.Kl(a),a.gm(),y.Cl(a),ee.zl(a))}},It.Ko=function(){for(var a=pr(),y=this.ye.iterator;y.next();){var ee=y.value;ee.fromVertex===ee.toVertex&&a.push(ee)}for(y=a.length,ee=0;ee<y;ee++)this.Mj(a[ee]);Mr(a)},Il.prototype.deleteArtificialVertexes=function(){for(var a=pr(),y=this.wf.iterator;y.next();){var ee=y.value;ee.node===null&&ee.data===null&&a.push(ee)}for(ee=a.length,y=0;y<ee;y++)this.Iu(a[y]);for(y=pr(),ee=this.ye.iterator;ee.next();){var ne=ee.value;ne.link===null&&ne.data===null&&y.push(ne)}for(ee=y.length,ne=0;ne<ee;ne++)this.Mj(y[ne]);Mr(a),Mr(y)};function kT(a){for(var y=pr(),ee=a.ye.iterator;ee.next();){var ne=ee.value;ne.fromVertex!==null&&ne.toVertex!==null||y.push(ne)}for(ee=y.length,ne=0;ne<ee;ne++)a.Mj(y[ne]);Mr(y)}Il.prototype.Zx=function(a){a===void 0&&(a=!0),a&&(this.deleteArtificialVertexes(),kT(this),this.Ko()),a=new Hr;for(var y=!0;y;){y=!1;for(var ee=this.wf.iterator;ee.next();){var ne=ee.value;if(0<ne.tg.count||0<ne.mg.count){y=this.layout.createNetwork(),a.add(y),mc(this,y,ne),y=!0;break}}}return a.sort(function(se,ue){return se===null||ue===null||se===ue?0:ue.vertexes.count-se.vertexes.count}),a};function mc(a,y,ee){if(ee!==null&&ee.network!==y){My(a,ee),y.dh(ee);for(var ne=ee.sourceEdges;ne.next();){var se=ne.value;se.network!==y&&(Of(a,se),oE(y,se),mc(a,y,se.fromVertex))}for(ne=ee.destinationEdges;ne.next();)ee=ne.value,ee.network!==y&&(Of(a,ee),oE(y,ee),mc(a,y,ee.toVertex))}}Il.prototype.dz=function(){for(var a=new Zr,y=this.wf.iterator;y.next();)a.add(y.value.node);for(y=this.ye.iterator;y.next();)a.add(y.value.link);return a},Re.Object.defineProperties(Il.prototype,{layout:{get:function(){return this.Sc},set:function(a){a!==null&&(this.Sc=a)}},vertexes:{get:function(){return this.wf}},edges:{get:function(){return this.ye}}}),Il.prototype.findAllParts=Il.prototype.dz,Il.prototype.splitIntoSubNetworks=Il.prototype.Zx,Il.prototype.deleteSelfEdges=Il.prototype.Ko,Il.prototype.reverseEdge=Il.prototype.gm,Il.prototype.linkVertexes=Il.prototype.Zj,Il.prototype.findEdge=Il.prototype.Lo,Il.prototype.deleteLink=Il.prototype.Yy,Il.prototype.deleteEdge=Il.prototype.Mj,Il.prototype.addLink=Il.prototype.Dy,Il.prototype.addEdge=Il.prototype.Bo,Il.prototype.findVertex=Il.prototype.ki,Il.prototype.deleteNode=Il.prototype.Zy,Il.prototype.deleteVertex=Il.prototype.Iu,Il.prototype.addNode=Il.prototype.Bl,Il.prototype.addVertex=Il.prototype.dh,Il.prototype.addParts=Il.prototype.lg,Il.className="LayoutNetwork";function dc(a){Ca(this),this.ob=a,this.j=new Ur(0,0,10,10).freeze(),this.o=new yn(5,5).freeze(),this.Sh=this.ub=null,this.tg=new Hr,this.mg=new Hr}dc.prototype.clear=function(){this.Sh=this.ub=null,this.tg=new Hr,this.mg=new Hr},dc.prototype.toString=function(a){a===void 0&&(a=0);var y="LayoutVertex#"+oa(this);if(0<a&&(y+=this.node!==null?"("+this.node.toString()+")":"",1<a)){a="";for(var ee=!0,ne=this.tg.iterator;ne.next();){var se=ne.value;ee?ee=!1:a+=",",a+=se.toString(0)}for(se="",ee=!0,ne=this.mg.iterator;ne.next();){var ue=ne.value;ee?ee=!1:se+=",",se+=ue.toString(0)}y+=" sources: "+a+" destinations: "+se}return y},dc.prototype.commit=function(){var a=this.ub;if(a!==null){var y=this.bounds,ee=a.bounds;On(ee)?(ee.x=y.x,ee.y=y.y,ee.width=y.width,ee.height=y.height):a.bounds=y.copy()}else if(a=this.node,a!==null){if(y=this.bounds,!(a instanceof Ma)){ee=Ur.alloc(),a.Va();var ne=this.network.layout.ni(a,ee),se=a.locationObject.ga(us);if(ne.w()&&se.w()){a.moveTo(y.x+this.focusX-(se.x-ne.x),y.y+this.focusY-(se.y-ne.y)),Ur.free(ee);return}Ur.free(ee)}a.moveTo(y.x,y.y)}},dc.prototype.Cl=function(a){a!==null&&(this.tg.contains(a)||this.tg.add(a))},dc.prototype.Kl=function(a){a!==null&&this.tg.remove(a)},dc.prototype.zl=function(a){a!==null&&(this.mg.contains(a)||this.mg.add(a))},dc.prototype.Jl=function(a){a!==null&&this.mg.remove(a)};function ng(a,y){return a=a.Sh,y=y.Sh,a?y?(a=a.text,y=y.text,a<y?-1:a>y?1:0):1:y!==null?-1:0}Re.Object.defineProperties(dc.prototype,{sourceEdgesArrayAccess:{get:function(){return this.tg._dataArray}},destinationEdgesArrayAccess:{get:function(){return this.mg._dataArray}},data:{get:function(){return this.ub},set:function(a){if(this.ub=a,a!==null&&a.bounds){var y=a.bounds;a=y.x;var ee=y.y,ne=y.width;y=y.height,this.o.h(ne/2,y/2),this.j.h(a,ee,ne,y)}}},node:{get:function(){return this.Sh},set:function(a){if(this.Sh!==a){this.Sh=a,a.Va();var y=this.network.layout,ee=Ur.alloc(),ne=y.ni(a,ee);y=ne.x;var se=ne.y,ue=ne.width;if(ne=ne.height,isNaN(y)&&(y=0),isNaN(se)&&(se=0),this.j.h(y,se,ue,ne),Ur.free(ee),!(a instanceof Ma)&&(a=a.locationObject.ga(us),a.w())){this.o.h(a.x-y,a.y-se);return}this.o.h(ue/2,ne/2)}}},bounds:{get:function(){return this.j},set:function(a){this.j.D(a)||this.j.assign(a)}},focus:{get:function(){return this.o},set:function(a){this.o.D(a)||this.o.assign(a)}},centerX:{get:function(){return this.j.x+this.o.x},set:function(a){var y=this.j;y.x+this.o.x!==a&&(y.ka(),y.x=a-this.o.x,y.freeze())}},centerY:{get:function(){return this.j.y+this.o.y},set:function(a){var y=this.j;y.y+this.o.y!==a&&(y.ka(),y.y=a-this.o.y,y.freeze())}},focusX:{get:function(){return this.o.x},set:function(a){var y=this.o;y.x!==a&&(y.ka(),y.x=a,y.freeze())}},focusY:{get:function(){return this.o.y},set:function(a){var y=this.o;y.y!==a&&(y.ka(),y.y=a,y.freeze())}},x:{get:function(){return this.j.x},set:function(a){var y=this.j;y.x!==a&&(y.ka(),y.x=a,y.freeze())}},y:{get:function(){return this.j.y},set:function(a){var y=this.j;y.y!==a&&(y.ka(),y.y=a,y.freeze())}},width:{get:function(){return this.j.width},set:function(a){var y=this.j;y.width!==a&&(y.ka(),y.width=a,y.freeze())}},height:{get:function(){return this.j.height},set:function(a){var y=this.j;y.height!==a&&(y.ka(),y.height=a,y.freeze())}},network:{get:function(){return this.ob},set:function(a){this.ob=a}},sourceVertexes:{get:function(){for(var a=new Zr,y=this.sourceEdges;y.next();)a.add(y.value.fromVertex);return a.iterator}},destinationVertexes:{get:function(){for(var a=new Zr,y=this.destinationEdges;y.next();)a.add(y.value.toVertex);return a.iterator}},vertexes:{get:function(){for(var a=new Zr,y=this.sourceEdges;y.next();)a.add(y.value.fromVertex);for(y=this.destinationEdges;y.next();)a.add(y.value.toVertex);return a.iterator}},sourceEdges:{get:function(){return this.tg.iterator}},destinationEdges:{get:function(){return this.mg.iterator}},edges:{get:function(){for(var a=new Hr,y=this.sourceEdges;y.next();)a.add(y.value);for(y=this.destinationEdges;y.next();)a.add(y.value);return a.iterator}},edgesCount:{get:function(){return this.tg.count+this.mg.count}}}),dc.prototype.deleteDestinationEdge=dc.prototype.Jl,dc.prototype.addDestinationEdge=dc.prototype.zl,dc.prototype.deleteSourceEdge=dc.prototype.Kl,dc.prototype.addSourceEdge=dc.prototype.Cl,dc.className="LayoutVertex",dc.standardComparer=ng,dc.smartComparer=function(a,y){if(a!==null){if(y!==null){a=a.Sh;var ee=y.Sh;if(a!==null){if(ee!==null){for(y=a.text.toLocaleLowerCase().split(/([+-]?[.]?\d+(?:\.\d*)?(?:e[+-]?\d+)?)/),a=ee.text.toLocaleLowerCase().split(/([+-]?[.]?\d+(?:\.\d*)?(?:e[+-]?\d+)?)/),ee=0;ee<y.length;ee++)if(a[ee]!==""&&a[ee]!==void 0){var ne=parseFloat(y[ee]),se=parseFloat(a[ee]);if(isNaN(ne))if(isNaN(se)){if(y[ee].localeCompare(a[ee])!==0)return y[ee].localeCompare(a[ee])}else return 1;else{if(isNaN(se))return-1;if(ne-se!==0)return ne-se}}else if(y[ee]!=="")return 1;return a[ee]!==""&&a[ee]!==void 0?-1:0}return 1}return ee!==null?-1:0}return 1}return y!==null?-1:0};function Vd(a){Ca(this),this.nb=a,this.qd=this.kd=this.$k=this.ub=null}Vd.prototype.clear=function(){this.qd=this.kd=this.$k=this.ub=null},Vd.prototype.toString=function(a){a===void 0&&(a=0);var y="LayoutEdge#"+oa(this);return 0<a&&(y+=this.$k!==null?"("+this.$k.toString()+")":"",1<a&&(y+=" "+(this.kd?this.kd.toString():"null")+" --> "+(this.qd?this.qd.toString():"null"))),y},Vd.prototype.gm=function(){var a=this.kd;this.kd=this.qd,this.qd=a},Vd.prototype.commit=function(){},Vd.prototype.Ax=function(a){return this.qd===a?this.kd:this.kd===a?this.qd:null},Re.Object.defineProperties(Vd.prototype,{network:{get:function(){return this.nb},set:function(a){this.nb=a}},data:{get:function(){return this.ub},set:function(a){this.ub!==a&&(this.ub=a)}},link:{get:function(){return this.$k},set:function(a){this.$k!==a&&(this.$k=a)}},fromVertex:{get:function(){return this.kd},set:function(a){this.kd!==a&&(this.kd=a)}},toVertex:{get:function(){return this.qd},set:function(a){this.qd!==a&&(this.qd=a)}}}),Vd.prototype.getOtherVertex=Vd.prototype.Ax,Vd.className="LayoutEdge";function Yc(a){Ol.call(this),this.isViewportSized=!0,this.yo=this.zo=NaN,this.yg=new Ii(NaN,NaN).freeze(),this.tf=new Ii(10,10).freeze(),this.Jb=Lm,this.Rb=NA,this.nd=sE,this.hd=FT,a&&Object.assign(this,a)}He(Yc,Ol),Yc.prototype.cloneProtected=function(a){Ol.prototype.cloneProtected.call(this,a),a.zo=this.zo,a.yo=this.yo,a.yg.assign(this.yg),a.tf.assign(this.tf),a.Jb=this.Jb,a.Rb=this.Rb,a.nd=this.nd,a.hd=this.hd},Yc.prototype.qb=function(a){a.classType===Yc?a===sE||a===lE||a===aE||a===BA?this.sorting=a:a===NA||a===Qg?this.arrangement=a:a===Lm||a===OA?this.alignment=a:cn("Unknown enum value: "+a):Ol.prototype.qb.call(this,a)},Yc.prototype.doLayout=function(a){this.arrangementOrigin=this.initialOrigin(this.arrangementOrigin);var y=this.ex(a);a=this.diagram;for(var ee=y.copy().iterator;ee.next();){var ne=ee.value;if(!ne.ph()||ne.fromNode===null&&ne.toNode===null){if(ne.Va(),ne instanceof Ma)for(ne=ne.memberParts;ne.next();)y.remove(ne.value)}else y.remove(ne)}var se=y.Fa();if(se.length!==0){switch(this.sorting){case BA:se.reverse();break;case sE:se.sort(this.comparer);break;case lE:se.sort(this.comparer),se.reverse()}var ue=this.wrappingColumn;isNaN(ue)&&(ue=0);var me=this.wrappingWidth;switch(isNaN(me)&&a!==null?(y=a.padding,me=Math.max(a.viewportBounds.width-y.left-y.right,0)):me=Math.max(this.wrappingWidth,0),0>=ue&&0>=me&&(ue=1),y=this.spacing.width,isFinite(y)||(y=0),ee=this.spacing.height,isFinite(ee)||(ee=0),a!==null&&a.Ea("Layout"),ne=[],this.alignment){case OA:var be=y,Fe=ee,Ye=Ur.alloc(),Je=Math.max(this.cellSize.width,1);if(!isFinite(Je))for(var st=Je=0;st<se.length;st++){var yt=this.ni(se[st],Ye);Je=Math.max(Je,yt.width)}if(Je=Math.max(Je+be,1),st=Math.max(this.cellSize.height,1),!isFinite(st))for(yt=st=0;yt<se.length;yt++){var Tt=this.ni(se[yt],Ye);st=Math.max(st,Tt.height)}st=Math.max(st+Fe,1),yt=this.arrangement;for(var Ft=Tt=this.arrangementOrigin.x,Zt=this.arrangementOrigin.y,bn=0,fn=0,Fn=0;Fn<se.length;Fn++){var zn=se[Fn],Zn=this.ni(zn,Ye),sr=Math.ceil((Zn.width+be)/Je)*Je,Br=Math.ceil((Zn.height+Fe)/st)*st;switch(yt){case Qg:var Hi=Math.abs(Ft-Zn.width);break;default:Hi=Ft+Zn.width}switch((0<ue&&bn>ue-1||0<me&&0<bn&&Hi-Tt>me)&&(ne.push(new Ur(0,Zt,me+be,fn)),bn=0,Ft=Tt,Zt+=fn,fn=0),fn=Math.max(fn,Br),yt){case Qg:Zn=-Zn.width;break;default:Zn=0}switch(zn.moveTo(Ft+Zn,Zt),yt){case Qg:Ft-=sr;break;default:Ft+=sr}bn++}ne.push(new Ur(0,Zt,me+be,fn)),Ur.free(Ye);break;case Lm:for(Fe=me,Je=ue,st=y,yt=ee,me=Ur.alloc(),Tt=Math.max(this.cellSize.width,1),ue=Zt=Ye=0,be=yn.alloc(),Ft=0;Ft<se.length;Ft++)fn=se[Ft],bn=this.ni(fn,me),fn=X0(fn,fn.locationObject,fn.locationSpot,be),Ye=Math.max(Ye,fn.x),Zt=Math.max(Zt,bn.width-fn.x),ue=Math.max(ue,fn.y);switch(Ft=this.arrangement,Ft){case Qg:Ye+=st;break;default:Zt+=st}Tt=isFinite(Tt)?Math.max(Tt+st,1):Math.max(Ye+Zt,1);var uo=fn=this.arrangementOrigin.x;for(Fn=this.arrangementOrigin.y,Zt=0,Fe>=Ye&&(Fe-=Ye),Ye=zn=0,sr=Math.max(this.cellSize.height,1),Zn=ue=0,Br=!0,bn=yn.alloc(),Hi=0;Hi<se.length;Hi++){var no=se[Hi],Li=this.ni(no,me),ci=X0(no,no.locationObject,no.locationSpot,be);if(0<Zt)switch(Ft){case Qg:uo=(uo-fn-(Li.width-ci.x))/Tt,uo=dr.$(Math.round(uo),uo)?Math.round(uo):Math.floor(uo),uo=uo*Tt+fn;break;default:uo=(uo-fn+ci.x)/Tt,uo=dr.$(Math.round(uo),uo)?Math.round(uo):Math.ceil(uo),uo=uo*Tt+fn}else switch(Ft){case Qg:zn=uo+ci.x+Li.width;break;default:zn=uo-ci.x}switch(Ft){case Qg:var La=-(uo+ci.x)+zn;break;default:La=uo+Li.width-ci.x-zn}if(0<Je&&Zt>Je-1||0<Fe&&0<Zt&&La>Fe){for(ne.push(new Ur(0,Br?Fn-ue:Fn,Fe+st,Zn+ue+yt)),uo=0;uo<Zt&&Hi!==Zt;uo++){La=se[Hi-Zt+uo];var Ea=X0(La,La.locationObject,La.locationSpot,bn);La.moveTo(La.position.x,La.position.y+ue-Ea.y)}Zn+=yt,Fn=Br?Fn+Zn:Fn+(Zn+ue),Zt=Zn=ue=0,uo=fn,Br=!1}switch(uo===fn&&(Ye=Ft===Qg?Math.max(Ye,Li.width-ci.x):Math.min(Ye,-ci.x)),ue=Math.max(ue,ci.y),Zn=Math.max(Zn,Li.height-ci.y),isFinite(sr)&&(Zn=Math.max(Zn,Math.max(Li.height,sr)-ci.y)),Br?no.moveTo(uo-ci.x,Fn-ci.y):no.moveTo(uo-ci.x,Fn),Ft){case Qg:uo-=ci.x+st;break;default:uo+=Li.width-ci.x+st}Zt++}if(ne.push(new Ur(0,Fn,Fe+st,(Br?Zn:Zn+ue)+yt)),se.length!==Zt)for(Fe=0;Fe<Zt;Fe++)Je=se[se.length-Zt+Fe],st=X0(Je,Je.locationObject,Je.locationSpot,be),Je.moveTo(Je.position.x,Je.position.y+ue-st.y);if(yn.free(be),yn.free(bn),Ft===Qg)for(se=0;se<ne.length;se++)ue=ne[se],ue.width+=Ye,ue.x-=Ye;else for(se=0;se<ne.length;se++)ue=ne[se],ue.x>Ye&&(ue.width+=ue.x-Ye,ue.x=Ye);Ur.free(me)}for(be=ue=me=se=0;be<ne.length;be++)Fe=ne[be],se=Math.min(se,Fe.x),me=Math.min(me,Fe.y),ue=Math.max(ue,Fe.x+Fe.width);this.arrangement===Qg?this.commitLayers(ne,new yn(se+y/2-(ue+se),me-ee/2)):this.commitLayers(ne,new yn(se-y/2,me-ee/2)),a!==null&&a.eb("Layout"),this.isValidLayout=!0}},Yc.prototype.commitLayers=function(){};function FT(a,y){return a=a.text,y=y.text,a<y?-1:a>y?1:0}Re.Object.defineProperties(Yc.prototype,{wrappingWidth:{get:function(){return this.zo},set:function(a){this.zo!==a&&(0<a||isNaN(a))&&(this.zo=a,this.isViewportSized=isNaN(a),this.C())}},wrappingColumn:{get:function(){return this.yo},set:function(a){this.yo!==a&&(0<a||isNaN(a))&&(this.yo=a,this.C())}},cellSize:{get:function(){return this.yg},set:function(a){this.yg.D(a)||(this.yg.assign(a),this.C())}},spacing:{get:function(){return this.tf},set:function(a){this.tf.D(a)||(this.tf.assign(a),this.C())}},alignment:{get:function(){return this.Jb},set:function(a){this.Jb===a||a!==Lm&&a!==OA||(this.Jb=a,this.C())}},arrangement:{get:function(){return this.Rb},set:function(a){this.Rb===a||a!==NA&&a!==Qg||(this.Rb=a,this.C())}},sorting:{get:function(){return this.nd},set:function(a){this.nd===a||a!==aE&&a!==BA&&a!==sE&&a!==lE||(this.nd=a,this.C())}},comparer:{get:function(){return this.hd},set:function(a){this.hd!==a&&(this.hd=a,this.C())}}});var OA=new nr(Yc,"Position",0),Lm=new nr(Yc,"Location",1),NA=new nr(Yc,"LeftToRight",2),Qg=new nr(Yc,"RightToLeft",3),aE=new nr(Yc,"Forward",4),BA=new nr(Yc,"Reverse",5),sE=new nr(Yc,"Ascending",6),lE=new nr(Yc,"Descending",7);Yc.className="GridLayout",Yc.standardComparer=FT,Yc.smartComparer=function(a,y){if(a!==null){if(y!==null){a=a.text.toLocaleLowerCase().split(/([+-]?[.]?\d+(?:\.\d*)?(?:e[+-]?\d+)?)/),y=y.text.toLocaleLowerCase().split(/([+-]?[.]?\d+(?:\.\d*)?(?:e[+-]?\d+)?)/);for(var ee=0;ee<a.length;ee++)if(y[ee]!==""&&y[ee]!==void 0){var ne=parseFloat(a[ee]),se=parseFloat(y[ee]);if(isNaN(ne))if(isNaN(se)){if(a[ee].localeCompare(y[ee])!==0)return a[ee].localeCompare(y[ee])}else return 1;else{if(isNaN(se))return-1;if(ne-se!==0)return ne-se}}else if(a[ee]!=="")return 1;return y[ee]!==""&&y[ee]!==void 0?-1:0}return 1}return y!==null?-1:0},Yc.Position=OA,Yc.Location=Lm,Yc.LeftToRight=NA,Yc.RightToLeft=Qg,Yc.Forward=aE,Yc.Reverse=BA,Yc.Ascending=sE,Yc.Descending=lE;function Ks(){this.On=new Zr,this.Dn=new Zr,this.Pa=new Zr,this.cf=new Ji,this.bf=new Ji,this.aj=new Ji,this.H=null,this.tp=!1}It=Ks.prototype,It.clear=function(){this.On.clear(),this.Dn.clear(),this.Pa.clear(),this.cf.clear(),this.bf.clear(),this.aj.clear()},It.Xe=function(a){this.H=a},It.oi=function(a){if(a instanceof Yi){if(this.On.add(a),a instanceof Ma){var y=a.containingGroup;y===null?this.H.ai.add(a):y.gl.add(a),y=a.layout,y!==null&&(y.diagram=this.H)}}else a instanceof Oi?this.Dn.add(a):a instanceof Cs||this.Pa.add(a);y=a.data,y===null||a instanceof Cs||(a instanceof Oi?this.bf.add(y,a):this.cf.add(y,a))},It.pc=function(a){if(a.Ej(),a instanceof Yi){if(this.On.remove(a),a instanceof Ma){var y=a.containingGroup;y===null?this.H.ai.remove(a):y.gl.remove(a),y=a.layout,y!==null&&(y.diagram=null)}}else a instanceof Oi?this.Dn.remove(a):a instanceof Cs||this.Pa.remove(a);y=a.data,y===null||a instanceof Cs||(a instanceof Oi?this.bf.remove(y):this.cf.remove(y))},It.Wd=function(){var a=this.H;if(a!==null){for(var y=a.nodeTemplateMap.iterator;y.next();){var ee=y.value,ne=y.key;(!ee.Zc()||ee instanceof Ma)&&cn('Invalid node template in Diagram.nodeTemplateMap: template for "'+ne+'" must be a Node or a simple Part, not a Group or Link: '+ee)}for(y=a.groupTemplateMap.iterator;y.next();)ee=y.value,ne=y.key,ee instanceof Ma||cn('Invalid group template in Diagram.groupTemplateMap: template for "'+ne+'" must be a Group, not a normal Node or Link: '+ee);for(y=a.linkTemplateMap.iterator;y.next();)ee=y.value,ne=y.key,ee instanceof Oi||cn('Invalid link template in Diagram.linkTemplateMap: template for "'+ne+'" must be a Link, not a normal Node or simple Part: '+ee);for(y=pr(),ee=a.selection.iterator;ee.next();)(ne=ee.value.data)&&y.push(ne);for(ee=pr(),a=a.highlighteds.iterator;a.next();)(ne=a.value.data)&&ee.push(ne);for(a=pr(),ne=this.nodes.iterator;ne.next();){var se=ne.value;se.data!==null&&(a.push(se.data),a.push(se.location))}for(ne=this.links.iterator;ne.next();)se=ne.value,se.data!==null&&(a.push(se.data),a.push(se.location));for(ne=this.parts.iterator;ne.next();)se=ne.value,se.data!==null&&(a.push(se.data),a.push(se.location));for(this.removeAllModeledParts(),this.addAllModeledParts(),ne=0;ne<y.length;ne++)se=this.Lc(y[ne]),se!==null&&(se.isSelected=!0);for(ne=0;ne<ee.length;ne++)se=this.Lc(ee[ne]),se!==null&&(se.isHighlighted=!0);for(ne=0;ne<a.length;ne+=2)se=this.Lc(a[ne]),se!==null&&(se.location=a[ne+1]);Mr(y),Mr(ee),Mr(a)}},Ks.prototype.addAllModeledParts=function(){this.addModeledParts(this.diagram.model.nodeDataArray)},Ks.prototype.addModeledParts=function(a,y){var ee=this,ne=this.diagram.model;a.forEach(function(se){ne.lb(se)&&zp(ee,se,!1)}),a.forEach(function(se){ne.lb(se)&&ee.resolveReferencesForData(se)}),y!==!1&&gm(this.diagram,!1)};function zp(a,y,ee){if(y!=null&&!a.diagram.undoManager.isUndoingRedoing&&!a.cf.contains(y)){ee===void 0&&(ee=!0);e:{if(y!=null&&!a.H.undoManager.isUndoingRedoing&&!a.cf.contains(y)){var ne=a.Ro(y),se=F1(a,y,ne);if(se!==null&&(Cg(se),se=se.copy(),se!==null)){var ue=a.diagram.skipsModelSourceBindings;a.diagram.skipsModelSourceBindings=!0,se.Tf=ne,se.ub=y,a.tp&&(se.Jg="Tool"),a.diagram.add(se),se.ub=null,se.data=y,a.diagram.skipsModelSourceBindings=ue,ne=se;break e}}ne=null}ne!==null&&ee&&a.resolveReferencesForData(y)}}Ks.prototype.insertLink=function(){return null},Ks.prototype.resolveReferencesForData=function(){},Ks.prototype.Ro=function(a){return this.H.model.Ro(a)};function F1(a,y,ee){a=a.H;var ne=a.model;return ne.Xj()&&ne.Yu(y)?(y=a.groupTemplateMap.I(ee),y===null&&(y=a.groupTemplateMap.I(""),y===null&&(wc||(wc=!0,fr('No Group template found for category "'+ee+'"'),fr(" Using default group template")),y=a.ly))):(y=a.nodeTemplateMap.I(ee),y===null&&(y=a.nodeTemplateMap.I(""),y===null&&(kA||(kA=!0,fr('No Node template found for category "'+ee+'"'),fr(" Using default node template")),y=a.ny))),y}Ks.prototype.getLinkCategoryForData=function(){return""},Ks.prototype.setLinkCategoryForData=function(){},Ks.prototype.setFromNodeForLink=function(){},Ks.prototype.setToNodeForLink=function(){},Ks.prototype.findLinkTemplateForCategory=function(a){var y=this.H,ee=y.linkTemplateMap.I(a);return ee===null&&(ee=y.linkTemplateMap.I(""),ee===null&&(FA||(FA=!0,fr('No Link template found for category "'+a+'"'),fr(" Using default link template")),ee=y.my)),ee},Ks.prototype.removeAllModeledParts=function(){this.Gs(this.diagram.model.nodeDataArray)},Ks.prototype.Gs=function(a){var y=this;a.forEach(function(ee){y.ip(ee)})},Ks.prototype.ip=function(a){a=this.Lc(a),a!==null&&(z0(this.diagram,a,!1),this.unresolveReferencesForPart(a))},Ks.prototype.unresolveReferencesForPart=function(){},Ks.prototype.removeDataForLink=function(){},Ks.prototype.findPartForKey=function(a){return a==null?null:(a=this.H.model.hc(a),a!==null?this.cf.I(a):null)},Ks.prototype.Vb=function(a){return a==null||(a=this.H.model.hc(a),a===null)?null:(a=this.cf.I(a),a instanceof Yi?a:null)},Ks.prototype.findLinkForKey=function(){return null},It=Ks.prototype,It.Lc=function(a){if(a===null)return null;var y=this.cf.I(a);return y!==null?y:y=this.bf.I(a)},It.ii=function(a){return a===null?null:(a=this.cf.I(a),a instanceof Yi?a:null)},It.Kc=function(a){return a===null?null:this.bf.I(a)},It.ms=function(a){for(var y=0;y<arguments.length;++y);y=new Zr;for(var ee=this.On.iterator;ee.next();){var ne=ee.value,se=ne.data;if(se!==null)for(var ue=0;ue<arguments.length;ue++){var me=arguments[ue];if(On(me)&&Gl(this,se,me)){y.add(ne);break}}}return y.iterator},It.ls=function(a){for(var y=0;y<arguments.length;++y);y=new Zr;for(var ee=this.Dn.iterator;ee.next();){var ne=ee.value,se=ne.data;if(se!==null)for(var ue=0;ue<arguments.length;ue++){var me=arguments[ue];if(On(me)&&Gl(this,se,me)){y.add(ne);break}}}return y.iterator};function Gl(a,y,ee){for(var ne in ee){var se=y[ne],ue=ee[ne];if(dn(ue)){if(!dn(se)||se.length<ue.length)return!1;for(var me=0;me<se.length;me++){var be=ue[me];if(be!==void 0&&!Hw(a,se[me],be))return!1}}else if(!Hw(a,se,ue))return!1}return!0}function Hw(a,y,ee){if(typeof ee=="function"){if(!ee(y))return!1}else if(ee instanceof RegExp){if(!y||!ee.test(y.toString()))return!1}else if(On(y)&&On(ee)){if(!Gl(a,y,ee))return!1}else if(y!==ee)return!1;return!0}Ks.prototype.doModelChanged=function(a){if(this.H){var y=this.H;if(a.model===y.model){var ee=a.change;if(y.doModelChanged(a),y.aa){y.aa=!1;try{var ne=a.modelChange;if(ne!=="")if(ee===mi){if(ne==="nodeCategory"){var se=this.Lc(a.object),ue=a.newValue;se!==null&&typeof ue=="string"&&(se.category=ue)}else ne==="nodeDataArray"&&(this.Gs(a.oldValue),this.addModeledParts(a.newValue));y.isModified=!0}else if(ee===Ci){var me=a.newValue;ne==="nodeDataArray"&&On(me)&&zp(this,me),y.isModified=!0}else if(ee===Wi){var be=a.oldValue;ne==="nodeDataArray"&&On(be)&&this.ip(be),y.isModified=!0}else ee===ei&&(ne==="SourceChanged"?a.object!==null?this.updateDataBindings(a.object,a.propertyName):(this.rp(),this.updateAllTargetBindings()):ne==="ModelDisplaced"&&this.Wd());else if(ee===mi){var Fe=a.propertyName,Ye=a.object;Ye===y.model?(Fe==="nodeKeyProperty"||Fe==="nodeCategoryProperty")&&(y.undoManager.isUndoingRedoing||this.Wd()):this.updateDataBindings(Ye,Fe),y.isModified=!0}else if(ee===Ci||ee===Wi){var Je=a.change===Ci,st=Je?a.newParam:a.oldParam,yt=Je?a.newValue:a.oldValue,Tt=this.aj.I(a.object);if(Array.isArray(Tt))for(a=0;a<Tt.length;a++){var Ft=Tt[a];if(Je)El(Ft,yt,st,!0);else if(!(0>st)){var Zt=st+As(Ft);Ft.pc(Zt,!0),qu(Ft,Zt,st)}}y.isModified=!0}}finally{y.aa=!0}}}}},Ks.prototype.updateAllTargetBindings=function(a){a===void 0&&(a="");for(var y=this.parts.iterator;y.next();)y.value.La(a);for(y=this.nodes.iterator;y.next();)y.value.La(a);for(y=this.links.iterator;y.next();)y.value.La(a)},Ks.prototype.rp=function(){for(var a=this.H.model,y=new Zr,ee=a.nodeDataArray,ne=0;ne<ee.length;ne++)y.add(ee[ne]);var se=[];for(this.nodes.each(function(me){me.data===null||y.contains(me.data)||se.push(me.data)}),this.parts.each(function(me){me.data===null||y.contains(me.data)||se.push(me.data)}),se.forEach(function(me){uE(a,me,!1)}),ne=0;ne<ee.length;ne++){var ue=ee[ne];this.Lc(ue)===null&&zA(a,ue,!1)}for(this.refreshDataBoundLinks(),ee=this.parts.iterator;ee.next();)ee.value.updateRelationshipsFromData();for(ee=this.nodes.iterator;ee.next();)ee.value.updateRelationshipsFromData();for(ee=this.links.iterator;ee.next();)ee.value.updateRelationshipsFromData()},Ks.prototype.refreshDataBoundLinks=function(){},Ks.prototype.updateRelationshipsFromData=function(){},Ks.prototype.updateDataBindings=function(a,y){if(typeof y=="string"){var ee=this.Lc(a);if(ee!==null)ee.La(y);else{ee=null;for(var ne=this.aj.iterator;ne.next();){for(var se=ne.value,ue=0;ue<se.length;ue++){var me=se[ue].sx(a);me!==null&&(ee===null&&(ee=pr()),ee.push(me))}if(ee!==null)break}if(ee!==null){for(ne=0;ne<ee.length;ne++)ee[ne].La(y);Mr(ee)}}a===this.diagram.model.modelData&&this.updateAllTargetBindings(y)}};function Vw(a,y){var ee=y.Hh;if(dn(ee)){var ne=a.aj.I(ee);if(ne===null)ne=[],ne.push(y),a.aj.add(ee,ne);else{for(a=0;a<ne.length;a++)if(ne[a]===y)return;ne.push(y)}}}function Kw(a,y,ee){dy(y,function(me){me=me.O.s;for(var be=me.length,Fe=0;Fe<be;Fe++)iy(ee,me[Fe])});var ne=y.Hh;if(dn(ne)){var se=a.aj.I(ne);if(se!==null){for(var ue=0;ue<se.length;ue++)if(se[ue]===y){se.splice(ue,1),se.length===0&&a.aj.remove(ne);break}}}}Ks.prototype.Kj=function(a,y,ee){ee===void 0&&(ee=!1);var ne=new Ji;if(dn(a))for(var se=0;se<a.length;se++)RA(this,a[se],y,ne,ee);else for(a=a.iterator;a.next();)RA(this,a.value,y,ne,ee);if(y!==null){ee=y.model,a=y.toolManager.findTool("Dragging"),a=a!==null?a.dragOptions.dragsLink:y.Wm.dragsLink,se=new Zr;for(var ue=new Ji,me=ne.iterator;me.next();){var be=me.value;if(be instanceof Oi)a||be.fromNode!==null&&be.toNode!==null||se.add(be);else if(be instanceof Yi&&be.data!==null&&ee.Tl()){var Fe=be;be=me.key;var Ye=be.pg();Ye!==null&&(Ye=ne.I(Ye),Ye!==null?(ee.qe(Fe.data,ee.wa(Ye.data)),Fe=y.Kc(Fe.data),be=be.kh(),be!==null&&Fe!==null&&ue.add(be,Fe)):ee.qe(Fe.data,void 0))}}if(0<se.count&&y.Is(se,!1),0<ue.count)for(ee=ue.iterator;ee.next();)ne.add(ee.key,ee.value)}if(y!==null&&this.H!==null&&(y=y.model,ee=y.afterCopyFunction,ee!==null)){var Je=new Ji;ne.each(function(st){st.key.data!==null&&Je.add(st.key.data,st.value.data)}),ee(Je,y,this.H.model)}for(y=ne.iterator;y.next();)y.value.La();return ne};function RA(a,y,ee,ne,se){if(y===null||se&&!y.canCopy())return null;if(ne.contains(y))return ne.I(y);var ue=a.copyPartData(y,ee);if(!(ue instanceof _o))return null;if(ue.isSelected=!1,ue.isHighlighted=!1,ne.add(y,ue),y instanceof Yi){for(var me=y.linksConnected;me.next();){var be=me.value;if(be.fromNode===y){var Fe=ne.I(be);Fe!==null&&(Fe.fromNode=ue)}be.toNode===y&&(be=ne.I(be),be!==null&&(be.toNode=ue))}if(y instanceof Ma&&ue instanceof Ma)for(y=y.memberParts;y.next();)me=RA(a,y.value,ee,ne,se),me instanceof Oi||me===null||(me.containingGroup=ue)}else if(y instanceof Oi&&ue instanceof Oi)for(me=y.fromNode,me!==null&&(me=ne.I(me),me!==null&&(ue.fromNode=me)),me=y.toNode,me!==null&&(me=ne.I(me),me!==null&&(ue.toNode=me)),y=y.labelNodes;y.next();)me=RA(a,y.value,ee,ne,se),me!==null&&me instanceof Yi&&(me.labeledLink=ue);return ue}Ks.prototype.copyPartData=function(a,y){var ee=null,ne=a.data;if(ne!==null&&y!==null){var se=y.model;a instanceof Oi||(ne=se.copyNodeData(ne),On(ne)&&(se.xf(ne),ee=y.Lc(ne)))}else Cg(a),ee=a.copy(),ee!==null&&(se=this.H,y!==null?y.add(ee):ne!==null&&se!==null&&se.commandHandler!==null&&se.commandHandler.copiesClipboardData&&(y=se.model,se=null,ee instanceof Oi||(se=y.copyNodeData(ne)),On(se)&&(ee.data=se)));return ee},Re.Object.defineProperties(Ks.prototype,{nodes:{get:function(){return this.On}},links:{get:function(){return this.Dn}},parts:{get:function(){return this.Pa}},diagram:{get:function(){return this.H}},addsToTemporaryLayer:{get:function(){return this.tp},set:function(a){this.tp=a}}}),Ks.prototype.updateAllRelationshipsFromData=Ks.prototype.rp,Ks.prototype.findLinksByExample=Ks.prototype.ls,Ks.prototype.findNodesByExample=Ks.prototype.ms,Ks.prototype.findLinkForData=Ks.prototype.Kc,Ks.prototype.findNodeForData=Ks.prototype.ii,Ks.prototype.findPartForData=Ks.prototype.Lc,Ks.prototype.findNodeForKey=Ks.prototype.Vb,Ks.prototype.removeModeledPart=Ks.prototype.ip,Ks.prototype.removeModeledParts=Ks.prototype.Gs,Ks.prototype.rebuildParts=Ks.prototype.Wd;var kA=!1,wc=!1,FA=!1;Ks.className="PartManager";function Eu(a){Ks.apply(this,arguments)}He(Eu,Ks),Eu.prototype.addAllModeledParts=function(){var a=this.diagram.model;this.addModeledParts(a.nodeDataArray),Zw(this,a.linkDataArray)},Eu.prototype.addModeledParts=function(a){for(Ks.prototype.addModeledParts.call(this,a,!1),a=this.links.iterator;a.next();)Qx(a.value);gm(this.diagram,!1)};function Zw(a,y){y.forEach(function(ee){Yw(a,ee)}),gm(a.diagram,!1)}function Yw(a,y){if(y!=null&&!a.diagram.undoManager.isUndoingRedoing&&!a.bf.contains(y)){var ee=a.getLinkCategoryForData(y),ne=a.findLinkTemplateForCategory(ee);if(ne!==null){Cg(ne);var se=ne.copy();if(se!==null){ne=a.diagram.skipsModelSourceBindings,a.diagram.skipsModelSourceBindings=!0,se.Tf=ee,se.ub=y,ee=a.diagram.model;var ue=WA(ee,y,!0);ue!==""&&(se.fromPortId=ue),ue=gu(ee,y,!0),ue!==void 0&&(ue=a.Vb(ue),ue instanceof Yi&&(se.fromNode=ue)),ue=WA(ee,y,!1),ue!==""&&(se.toPortId=ue),ue=gu(ee,y,!1),ue!==void 0&&(ue=a.Vb(ue),ue instanceof Yi&&(se.toNode=ue)),ee=ee.Ef(y),Array.isArray(ee)&&ee.forEach(function(me){me=a.Vb(me),me!==null&&(me.labeledLink=se)}),a.tp&&(se.Jg="Tool"),a.diagram.add(se),se.ub=null,se.data=y,a.diagram.skipsModelSourceBindings=ne}}}}Eu.prototype.removeAllModeledParts=function(){var a=this.diagram.model;Xw(this,a.linkDataArray),this.Gs(a.nodeDataArray)};function Xw(a,y){y.forEach(function(ee){a.ip(ee)})}Eu.prototype.getLinkCategoryForData=function(a){return this.diagram.model.ps(a)},Eu.prototype.setLinkCategoryForData=function(a,y){return this.diagram.model.lp(a,y)},Eu.prototype.setFromNodeForLink=function(a,y){var ee=this.diagram.model;ee.wv(a.data,ee.wa(y!==null?y.data:null))},Eu.prototype.setToNodeForLink=function(a,y){var ee=this.diagram.model;ee.Bv(a.data,ee.wa(y!==null?y.data:null))},Eu.prototype.removeDataForLink=function(a){this.diagram.model.bm(a.data)},Eu.prototype.findPartForKey=function(a){var y=Ks.prototype.findPartForKey.call(this,a);return y===null&&(a=this.diagram.model.jh(a),a!==null)?this.bf.I(a):y},Eu.prototype.findLinkForKey=function(a){return a==null?null:(a=this.diagram.model.jh(a),a!==null?this.bf.I(a):null)},Eu.prototype.doModelChanged=function(a){var y=this;if(Ks.prototype.doModelChanged.call(this,a),this.diagram){var ee=this.diagram;if(a.model===ee.model){var ne=a.change;if(ee.aa){ee.aa=!1;try{var se=a.modelChange;if(se!==""){if(ne===mi){if(se==="linkFromKey"){var ue=this.Kc(a.object);if(ue!==null){var me=this.Vb(a.newValue);ue.fromNode=me}}else if(se==="linkToKey"){var be=this.Kc(a.object);if(be!==null){var Fe=this.Vb(a.newValue);be.toNode=Fe}}else if(se==="linkFromPortId"){var Ye=this.Kc(a.object);if(Ye!==null){var Je=a.newValue;typeof Je=="string"&&(Ye.fromPortId=Je)}}else if(se==="linkToPortId"){var st=this.Kc(a.object);if(st!==null){var yt=a.newValue;typeof yt=="string"&&(st.toPortId=yt)}}else if(se==="nodeGroupKey"){var Tt=this.Lc(a.object);if(Tt!==null){var Ft=a.newValue;if(Ft!==void 0){var Zt=this.Vb(Ft);Zt instanceof Ma?Tt.containingGroup=Zt:Tt.containingGroup=null}else Tt.containingGroup=null}}else if(se==="linkLabelKeys"){var bn=this.Kc(a.object);if(bn!==null){var fn=a.oldValue,Fn=a.newValue;Array.isArray(fn)&&fn.forEach(function(ci){0<=Fn.indexOf(ci)||(ci=y.Vb(ci),ci!==null&&(ci.labeledLink=null))}),Array.isArray(Fn)&&Fn.forEach(function(ci){ci=y.Vb(ci),ci!==null&&(ci.labeledLink=bn)})}}else if(se==="linkCategory"){var zn=this.Kc(a.object),Zn=a.newValue;zn!==null&&typeof Zn=="string"&&(zn.category=Zn)}else se==="linkDataArray"&&(Xw(this,a.oldValue),Zw(this,a.newValue));ee.isModified=!0}else if(ne===Ci){var sr=a.newValue;if(se==="linkDataArray"&&typeof sr=="object"&&sr!==null)Yw(this,sr);else if(se==="linkLabelKeys"&&tv(sr)){var Br=this.Kc(a.object),Hi=this.Vb(sr);Br!==null&&Hi!==null&&(Hi.labeledLink=Br)}ee.isModified=!0}else if(ne===Wi){var uo=a.oldValue;if(se==="linkDataArray"&&typeof uo=="object"&&uo!==null)this.ip(uo);else if(se==="linkLabelKeys"&&tv(uo)){var no=this.Vb(uo);no!==null&&(no.labeledLink=null)}ee.isModified=!0}}else if(ne===mi){var Li=a.propertyName;a.object!==ee.model||Li!=="linkFromKeyProperty"&&Li!=="linkToKeyProperty"&&Li!=="linkFromPortIdProperty"&&Li!=="linkToPortIdProperty"&&Li!=="linkLabelKeysProperty"&&Li!=="nodeIsGroupProperty"&&Li!=="nodeGroupKeyProperty"&&Li!=="linkCategoryProperty"||ee.undoManager.isUndoingRedoing||this.Wd(),ee.isModified=!0}}finally{ee.aa=!0}}}}},Eu.prototype.refreshDataBoundLinks=function(){var a=this,y=this.diagram.model,ee=new Zr,ne=y.linkDataArray;ne.forEach(function(ue){ee.add(ue)});var se=[];this.links.each(function(ue){ue.data===null||ee.contains(ue.data)||se.push(ue.data)}),se.forEach(function(ue){Xb(y,ue,!1)}),ne.forEach(function(ue){a.Kc(ue)===null&&Yb(y,ue,!1)})},Eu.prototype.updateRelationshipsFromData=function(a){var y=a.data;if(y!==null){var ee=a.diagram;if(ee!==null){var ne=ee.model;if(a instanceof Oi){var se=gu(ne,y,!0);if(se=ee.Vb(se),a.fromNode=se,se=gu(ne,y,!1),se=ee.Vb(se),a.toNode=se,y=ne.Ef(y),0<y.length||0<a.labelNodes.count){if(y.length===1&&a.labelNodes.count===1){se=y[0];var ue=a.labelNodes.first();if(ne.wa(ue.data)===se)return}se=new Zr().addAll(y);var me=new Zr;a.labelNodes.each(function(be){be.data!==null&&(be=ne.wa(be.data),be!==void 0&&me.add(be))}),y=me.copy(),y.hp(se),se=se.copy(),se.hp(me),(0<y.count||0<se.count)&&(y.each(function(be){be=ee.Vb(be),be!==null&&be.labeledLink===a&&(be.labeledLink=null)}),se.each(function(be){be=ee.Vb(be),be!==null&&be.labeledLink!==a&&(be.labeledLink=a)}))}}else!(a instanceof Cs)&&(y=ne.lh(y),y=ee.findPartForKey(y),y===null||y instanceof Ma)&&(a.containingGroup=y)}}},Eu.prototype.resolveReferencesForData=function(a){var y=this.diagram.model,ee=y.wa(a);if(ee!==void 0){var ne=Tm(y,ee),se=this.Lc(a);if(ne!==null&&se!==null){ne=ne.iterator;for(var ue={};ne.next();){var me=ne.value;y.lb(me)?se instanceof Ma&&y.lh(me)===ee&&(me=this.Lc(me),me!==null&&(me.containingGroup=se)):(ue.link=this.Kc(me),ue.link!==null&&se instanceof Yi&&(gu(y,me,!0)===ee&&(ue.link.fromNode=se),gu(y,me,!1)===ee&&(ue.link.toNode=se),me=y.Ef(me),Array.isArray(me)&&me.some(function(be){return function(Fe){return Fe===ee?(se.labeledLink=be.link,!0):!1}}(ue)))),ue={link:ue.link}}dd(y,ee)}a=y.lh(a),a!==void 0&&(a=this.Vb(a),a instanceof Ma&&(se.containingGroup=a))}},Eu.prototype.unresolveReferencesForPart=function(a){var y=this.diagram.model;if(a instanceof Yi){var ee=y.wa(a.data);if(ee!==void 0){for(var ne=a.linksConnected;ne.next();)Jg(y,ee,ne.value.data);if(a.isLinkLabel&&(ne=a.labeledLink,ne!==null&&Jg(y,ee,ne.data)),a instanceof Ma)for(a=a.memberParts;a.next();)ne=a.value.data,y.lb(ne)&&Jg(y,ee,ne)}}},Eu.prototype.copyPartData=function(a,y){var ee=Ks.prototype.copyPartData.call(this,a,y);if(a instanceof Oi)if(a=a.data,a!==null&&y!==null){var ne=y.model;a=ne.Jo(a),typeof a=="object"&&a!==null&&(ne.fi(a),ee=y.Kc(a))}else ee!==null&&(y=this.diagram,a!==null&&y!==null&&y.commandHandler!==null&&y.commandHandler.copiesClipboardData&&(y=y.model.Jo(a),typeof y=="object"&&y!==null&&(ee.data=y)));return ee},Eu.prototype.insertLink=function(a,y,ee,ne){var se=this.diagram,ue=se.model,me=se.toolManager.findTool("Linking"),be="";if(a!==null&&(y===null&&(y=a),be=y.portId,be===null&&(be="")),y="",ee!==null&&(ne===null&&(ne=ee),y=ne.portId,y===null&&(y="")),ne=me.archetypeLinkData,ne instanceof Oi){if(Cg(ne),ue=ne.copy(),ue!==null)return ue.fromNode=a,ue.fromPortId=be,ue.toNode=ee,ue.toPortId=y,se.add(ue),a=me.archetypeLabelNodeData,a instanceof Yi&&(Cg(a),a=a.copy(),a!==null&&(a.labeledLink=ue,se.add(a))),ue}else if(ne!==null&&(ne=ue.Jo(ne),typeof ne=="object"&&ne!==null))return a!==null&&z1(ue,ne,ue.wa(a.data),!0),j1(ue,ne,be,!0),ee!==null&&z1(ue,ne,ue.wa(ee.data),!1),j1(ue,ne,y,!1),ue.fi(ne),a=me.archetypeLabelNodeData,a===null||a instanceof Yi||(a=ue.copyNodeData(a),typeof a=="object"&&a!==null&&(ue.xf(a),a=ue.wa(a),a!==void 0&&ue.Bu(ne,a))),se.Kc(ne);return null},Eu.prototype.findLinkForKey=Eu.prototype.findLinkForKey,Eu.prototype.findPartForKey=Eu.prototype.findPartForKey,Eu.prototype.removeAllModeledParts=Eu.prototype.removeAllModeledParts,Eu.prototype.addModeledParts=Eu.prototype.addModeledParts,Eu.prototype.addAllModeledParts=Eu.prototype.addAllModeledParts,Eu.className="GraphLinksPartManager";function Nf(){Ks.apply(this,arguments),this.Sg=null}He(Nf,Ks);function Ly(a,y,ee){if(y!==null&&ee!==null&&ee.kh()===null){var ne=a.diagram.toolManager.findTool("Linking"),se=y,ue=ee;if(a.diagram.isTreePathToChildren||(se=ee,ue=y),(ne===null||!oi(ne,se,ue,null,!0))&&(y=a.getLinkCategoryForData(ee.data),ne=a.findLinkTemplateForCategory(y),ne!==null&&(Cg(ne),ne=ne.copy(),ne!==null))){var me=a.diagram.skipsModelSourceBindings;a.diagram.skipsModelSourceBindings=!0,ne.Tf=y,ne.ub=ee.data,ne.fromNode=se,ne.toNode=ue,a.diagram.add(ne),ne.ub=null,ne.data=ee.data,a.diagram.skipsModelSourceBindings=me}}}Nf.prototype.getLinkCategoryForData=function(a){return this.diagram.model.ss(a)},Nf.prototype.setLinkCategoryForData=function(a,y){this.diagram.model.Ms(a,y)},Nf.prototype.setFromNodeForLink=function(a,y,ee){var ne=this.diagram.model;if(ee===void 0&&(ee=null),y=y!==null?y.data:null,this.diagram.isTreePathToChildren)ne.qe(a.data,ne.wa(y));else{var se=this.Sg;this.Sg=a,ee!==null&&ne.qe(ee.data,void 0),ne.qe(y,ne.wa(a.toNode!==null?a.toNode.data:null)),this.Sg=se}},Nf.prototype.setToNodeForLink=function(a,y,ee){var ne=this.diagram.model;if(ee===void 0&&(ee=null),y=y!==null?y.data:null,this.diagram.isTreePathToChildren){var se=this.Sg;this.Sg=a,ee!==null&&ne.qe(ee.data,void 0),ne.qe(y,ne.wa(a.fromNode!==null?a.fromNode.data:null)),this.Sg=se}else ne.qe(a.data,ne.wa(y))},Nf.prototype.removeDataForLink=function(a){this.diagram.model.qe(a.data,void 0)},Nf.prototype.findLinkForKey=function(a){return a==null?null:(a=this.diagram.model.hc(a),a!==null?this.bf.I(a):null)},Nf.prototype.doModelChanged=function(a){if(Ks.prototype.doModelChanged.call(this,a),this.diagram){var y=this.diagram;if(a.model===y.model){var ee=a.change;if(y.aa){y.aa=!1;try{var ne=a.modelChange;if(ne!==""){if(ee===mi){if(ne==="nodeParentKey"){var se=a.object,ue=this.Vb(a.newValue),me=this.ii(se);if(this.Sg!==null)ue!==null&&(this.Sg.data=se,this.Sg.category=this.getLinkCategoryForData(se));else if(me!==null){var be=me.kh();be!==null?ue===null?y.remove(be):y.isTreePathToChildren?be.fromNode=ue:be.toNode=ue:Ly(this,ue,me)}}else if(ne==="parentLinkCategory"){var Fe=this.ii(a.object),Ye=a.newValue;if(Fe!==null&&typeof Ye=="string"){var Je=Fe.kh();Je!==null&&(Je.category=Ye)}}y.isModified=!0}}else if(ee===mi){var st=a.propertyName;a.object===y.model&&st==="nodeParentKeyProperty"&&(y.undoManager.isUndoingRedoing||this.Wd()),y.isModified=!0}}finally{y.aa=!0}}}}},Nf.prototype.updateRelationshipsFromData=function(a){var y=a.data;if(y!==null){var ee=a.diagram;if(ee!==null){var ne=ee.model;a instanceof Yi&&(y=ne.mh(y),y=ee.Vb(y),ne=a.pg(),y!==ne&&(ne=a.kh(),y!==null?ne!==null?ee.isTreePathToChildren?ne.fromNode=y:ne.toNode=y:Ly(this,y,a):ne!==null&&z0(ee,ne,!1)))}}},Nf.prototype.updateDataBindings=function(a,y){Ks.prototype.updateDataBindings.call(this,a,y),typeof y=="string"&&this.Lc(a)!==null&&(a=this.Kc(a),a!==null&&a.La(y))},Nf.prototype.resolveReferencesForData=function(a){var y=this.diagram.model,ee=y.wa(a);if(ee!==void 0){var ne=Tm(y,ee),se=this.Lc(a);if(ne!==null&&se!==null){for(ne=ne.iterator;ne.next();){var ue=ne.value;y.lb(ue)&&se instanceof Yi&&y.mh(ue)===ee&&Ly(this,se,this.ii(ue))}dd(y,ee)}a=y.mh(a),a!==void 0&&se instanceof Yi&&(a=this.Vb(a),Ly(this,a,se))}},Nf.prototype.unresolveReferencesForPart=function(a){var y=this.diagram.model;if(a instanceof Yi){var ee=y.wa(a.data),ne=this.Kc(a.data);if(ne!==null){ne.isSelected=!1,ne.isHighlighted=!1;var se=ne.layer;if(se!==null){var ue=se.pc(-1,ne,!1);0<=ue&&this.diagram.cb(Wi,"parts",se,ne,null,ue,null),ue=ne.layerChanged,ue!==null&&ue(ne,se,null)}}for(ne=this.diagram.isTreePathToChildren,a=a.linksConnected;a.next();)se=a.value,se=(ne?se.toNode:se.fromNode).data,y.lb(se)&&Jg(y,ee,se)}},Nf.prototype.insertLink=function(a,y,ee){y=this.diagram.model;var ne=a,se=ee;return this.diagram.isTreePathToChildren||(ne=ee,se=a),ne!==null&&se!==null?(y.qe(se.data,y.wa(ne.data)),se.kh()):null},Nf.prototype.findLinkForKey=Nf.prototype.findLinkForKey,Nf.className="TreePartManager";function To(a,y){this.kl=new Zr,this.il=new Zr,this.Wv=`,
"insertedNodeKeys": `,this.jy=`,
"modifiedNodeData": `,this.Yv=`,
"removedNodeKeys": `,this.vh=null,Ca(this),this.Sm=this.xa="",this.Gg=!1,this.j={},this.Tc=[],this.kb=new Ji,this.Th="key",this.Bk=this.bl=null,this.Jm=this.Km=!1,this.Mm=!0,this.xm=null,this.lj="category",this.Vf=new Ji,this.Lt=new Hr,this.Wg=!1,this.o=null,this.undoManager=new _i,a!==void 0&&(dn(a)?this.nodeDataArray=a:y=a),y&&(Object.assign(this,y),a=y.Changed)&&(delete this.Changed,this.Pe(a))}To.prototype.cloneProtected=function(a){a.xa=this.xa,a.Sm=this.Sm,a.Gg=this.Gg,a.Th=this.Th,a.bl=this.bl,a.Bk=this.Bk,a.Km=this.Km,a.Jm=this.Jm,a.Mm=this.Mm,a.xm=this.xm,a.lj=this.lj},To.prototype.copy=function(){var a=new this.constructor;return this.cloneProtected(a),a},To.prototype.clear=function(){this.Tc=[],this.kb.clear(),this.Vf.clear(),this.undoManager.clear()},To.prototype.toString=function(a){if(a===void 0&&(a=0),1<a)return this.np();var y=(this.name!==""?this.name:"")+" Model";if(0<a){y+=`
node data:`,a=this.nodeDataArray;for(var ee=a.length,ne=0;ne<ee;ne++){var se=a[ne];y+=" "+this.wa(se)+":"+Nr(se)}}return y},To.prototype.xA=function(a){a.change!==ei&&cn("Model.toIncrementalData argument is not a Transaction ChangedEvent:"+a.toString());var y=a.object;return a.isTransactionFinished&&y instanceof Gr?(os(this,y),a=this.Qv(y,a.propertyName==="FinishedUndo"),this.vh=null,a):null},To.prototype.Qv=function(a,y){var ee=this,ne=!1,se=new Zr,ue=new Zr,me=new Zr,be=this.vh;a.changes.each(function(st){st.model===ee&&(st.modelChange==="nodeDataArray"?st.change===Ci?se.add(st.newValue):st.change===Wi&&me.add(st.oldValue):ee.lb(st.object)?ue.add(st.object):st.change!==mi||ee.modelData!==st.object&&st.propertyName!=="modelData"?st.object!==null&&(be&&be.contains(st.object)?be.get(st.object).each(function(yt){ee.lb(yt)&&ue.add(yt)}):st.object instanceof To||ee.ri()&&ee.Jc(st.object)||jp(ee,st.object).each(function(yt){ue.add(yt)})):ne=!0)});var Fe=this.il;Fe.clear(),se.each(function(st){Fe.add(ee.wa(st)),y||ue.add(st)});var Ye=this.kl;Ye.clear(),me.each(function(st){Ye.add(ee.wa(st)),y&&ue.add(st)}),a=ee.cloneDeep(ue.Fa());var Je=null;return ne&&(Je===null&&(Je={}),Je.modelData=this.cloneDeep(this.modelData)),0<Fe.count&&(Je===null&&(Je={}),y?Je.removedNodeKeys=Fe.Fa():Je.insertedNodeKeys=Fe.Fa()),0<a.length&&(Je===null&&(Je={}),Je.modifiedNodeData=a),0<Ye.count&&(Je===null&&(Je={}),y?Je.insertedNodeKeys=Ye.Fa():Je.removedNodeKeys=Ye.Fa()),Ye.clear(),Fe.clear(),Je},To.prototype.cloneDeep=function(a){return Ja(this,a,!0)};function Ja(a,y,ee,ne,se,ue){function me(st,yt){be?(st.__gohashid===void 0&&ue.push(st),ne.set(st,yt)):(st=Os++,ne.set(st,yt),se.set(st,y))}if(!On(y))return y;ue||(ue=[]);var be=Object.isExtensible(y);if(ne||(ne=new Ji),be){var Fe=ne.get(y);if(Fe)return Fe}else for(se||(se=new Ji),Fe=se.iterator;Fe.next();){var Ye=Fe.key;if(Fe.value===y&&(Ye=ne.get(Ye)))return Ye}if(Array.isArray(y)){Fe=[],me(y,Fe);for(var Je=0;Je<y.length;Je++)Fe.push(Ja(a,y[Je],!1,ne,se,ue))}else if(y instanceof yn||y instanceof Ii||y instanceof Ur||y instanceof jo||y instanceof So)Fe=y.copy(),me(y,Fe);else{if(y instanceof il||y instanceof wi||y instanceof nr)return y;if(y instanceof Hr)Fe=new Hr().addAll(Ja(a,y.Fa(),!1,ne,se,ue)),me(y,Fe);else if(y instanceof Zr)Fe=new Zr().addAll(Ja(a,y.Fa(),!1,ne,se,ue)),me(y,Fe);else if(y instanceof Ji)Fe=new Ji().addAll(Ja(a,y.Fa(),!1,ne,se,ue)),me(y,Fe);else if(y instanceof Date)Fe=new Date(y.getTime()),me(y,Fe);else if(y instanceof RegExp)Fe=new RegExp(y),me(y,Fe),Fe.lastIndex=y.lastIndex;else if(typeof y.copy=="function")Fe=y.copy(),me(y,Fe);else for(Je in Fe={},me(y,Fe),y)Je!=="__gohashid"&&(Fe[Je]=Ja(a,y[Je],!1,ne,se,ue))}return ee&&ue.forEach(function(st){delete st.__gohashid}),Fe}It=To.prototype,It.quote=function(a){return JSON.stringify(a).replace(/[\u007F-\uFFFF]/g,function(y){return"\\u"+("0000"+y.charCodeAt(0).toString(16)).substr(-4)})},It.rm=function(){var a="";return this.name!==""&&(a+=`,
"name": `+this.quote(this.name)),this.dataFormat!==""&&(a+=`,
"dataFormat": `+this.quote(this.dataFormat)),this.isReadOnly&&(a+=`,
"isReadOnly": `+this.isReadOnly),this.nodeKeyProperty!=="key"&&typeof this.nodeKeyProperty=="string"&&(a+=`,
"nodeKeyProperty": `+this.quote(this.nodeKeyProperty)),this.copiesArrays&&(a+=`,
"copiesArrays": true`),this.copiesArrayObjects&&(a+=`,
"copiesArrayObjects": true`),this.copiesKey||(a+=`,
"copiesKey": false`),this.nodeCategoryProperty!=="category"&&typeof this.nodeCategoryProperty=="string"&&(a+=`,
"nodeCategoryProperty": `+this.quote(this.nodeCategoryProperty)),a},It.gp=function(a){a.name&&(this.name=a.name),a.dataFormat&&(this.dataFormat=a.dataFormat),a.isReadOnly&&(this.isReadOnly=!0),a.nodeKeyProperty&&(this.nodeKeyProperty=a.nodeKeyProperty),a.copiesArrays&&(this.copiesArrays=!0),a.copiesArrayObjects&&(this.copiesArrayObjects=!0),a.copiesKey===!1&&(this.copiesKey=!1),a.nodeCategoryProperty&&(this.nodeCategoryProperty=a.nodeCategoryProperty)};function rg(a,y){y=y.modelData,On(y)&&(a.dm(y),a.modelData=y)}It.Rv=function(){var a=this.modelData,y=!1,ee;for(ee in a)if(!Hb(ee,a[ee])){y=!0;break}return a="",y&&(a=`,
"modelData": `+Qw(this,this.modelData)),a+`,
"nodeDataArray": `+Rv(this,this.nodeDataArray,!0)},It.kv=function(a){rg(this,a),a=a.nodeDataArray,dn(a)&&(this.dm(a),this.nodeDataArray=a)};function os(a,y){function ee(se,ue){if((ue=ue.part)&&(ue=ue.data,se!==ue)){var me=ne.get(se);me===null?(me=new Zr,me.add(ue),ne.add(se,me)):me.add(ue)}}var ne=a.vh;ne===null&&(ne=new Ji,y.changes.each(function(se){if(se.diagram!==null){var ue=se.change;ue===mi?(se=se.object.panel)&&(ue=se.data)&&ee(ue,se):(ue===Ci||ue===Wi)&&(se=se.object,(ue=se.itemArray)&&ee(ue,se))}}),a.vh=ne)}function jp(a,y){for(var ee=new Zr,ne=0;ne<a.nodeDataArray.length;ne++){var se=a.nodeDataArray[ne];_A(a,y,se,se,ee)}return ee}function _A(a,y,ee,ne,se){if(Array.isArray(ee))for(var ue=0;ue<ee.length;ue++){var me=ee[ue];if(me===y)return se.add(ne),!0;if(_A(a,y,me,ne,se))return!0}else if(On(ee)&&Object.getPrototypeOf(ee)===Object.prototype)for(ue in ee){if(me=ee[ue],me===y)return se.add(ne),!0;if(_A(a,y,me,ne,se))return!0}return!1}It.Pv=function(a,y){var ee=this,ne=!1,se=new Zr,ue=new Zr,me=new Zr,be=this.vh;a.changes.each(function(Je){Je.model===ee&&(Je.modelChange==="nodeDataArray"?Je.change===Ci?se.add(Je.newValue):Je.change===Wi&&me.add(Je.oldValue):ee.lb(Je.object)?ue.add(Je.object):Je.change!==mi||ee.modelData!==Je.object&&Je.propertyName!=="modelData"?Je.object!==null&&(be&&be.contains(Je.object)?be.get(Je.object).each(function(st){ee.lb(st)&&ue.add(st)}):Je.object instanceof To||ee.ri()&&ee.Jc(Je.object)||jp(ee,Je.object).each(function(st){ue.add(st)})):ne=!0)});var Fe=this.il;Fe.clear(),se.each(function(Je){Fe.add(ee.wa(Je)),y||ue.add(Je)});var Ye=this.kl;return Ye.clear(),me.each(function(Je){Ye.add(ee.wa(Je)),y&&ue.add(Je)}),a="",ne&&(a+=`,
"modelData": `+Qw(this,this.modelData)),0<Fe.count&&(a+=(y?this.Yv:this.Wv)+Rv(this,Fe.Fa(),!0)),0<ue.count&&(a+=this.jy+Rv(this,ue.Fa(),!0)),0<Ye.count&&(a+=(y?this.Wv:this.Yv)+Rv(this,Ye.Fa(),!0)),Ye.clear(),Fe.clear(),a},It.fp=function(a){(a.name!==void 0&&a.name!==this.name||a.dataFormat!==void 0&&a.dataFormat!==this.dataFormat||a.isReadOnly!==void 0&&a.isReadOnly!==this.isReadOnly||a.nodeKeyProperty!==void 0&&a.nodeKeyProperty!==this.nodeKeyProperty||a.copiesArrays!==void 0&&a.copiesArrays!==this.copiesArrays||a.copiesArrayObjects!==void 0&&a.copiesArrayObjects!==this.copiesArrayObjects||a.copiesKey!==void 0&&a.copiesKey!==this.copiesKey||a.nodeCategoryProperty!==void 0&&a.nodeCategoryProperty!==this.nodeCategoryProperty)&&cn("applyIncrementalJson cannot change Model properties"),rg(this,a);var y=a.insertedNodeKeys,ee=a.modifiedNodeData,ne=new Ji;if(Array.isArray(ee))for(var se=0;se<ee.length;se++){var ue=ee[se],me=this.wa(ue);me!=null&&ne.set(me,ue)}if(Array.isArray(y))for(se=y.length,ue=0;ue<se;ue++){me=y[ue];var be=this.hc(me);be===null&&(be=(be=ne.get(me))?be:this.copyNodeData({}),this.km(be,me),this.xf(be))}if(Array.isArray(ee)){for(y=ee.length,ne=0;ne<y;ne++)if(se=ee[ne],ue=this.wa(se),ue=this.hc(ue),ue!==null){for(var Fe in se)Fe==="__gohashid"||Fe===this.nodeKeyProperty||this.Wj()&&Fe===this.nodeIsGroupProperty||this.setDataProperty(ue,Fe,se[Fe]);this.lm(se,ue)}}if(a=a.removedNodeKeys,Array.isArray(a))for(ee=a.length,Fe=0;Fe<ee;Fe++)y=this.hc(a[Fe]),y!==null&&this.cm(y)},It.$x=function(a,y){a.change!==ei&&cn("Model.toIncrementalJson argument is not a Transaction ChangedEvent:"+a.toString());var ee=a.object;return a.isTransactionFinished&&ee instanceof Gr?(y===void 0&&(y=Ty(this,this)),os(this,ee),a=this.Pv(ee,a.propertyName==="FinishedUndo"),this.vh=null,y==="2"?'{ "incremental": 2'+a+"}":'{ "class": '+this.quote(y)+', "incremental": 1'+this.rm()+a+"}"):'{ "incremental": 0 }'},It.yA=function(a,y){return this.$x(a,y)},It.np=function(a){return a===void 0&&(a=Ty(this,this)),'{ "class": '+this.quote(a)+this.rm()+this.Rv()+"}"},It.toJSON=function(a){return this.np(a)},It.Zw=function(a){var y=null;if(typeof a=="string")try{y=Ct.JSON.parse(a)}catch(ne){}else typeof a=="object"?y=a:cn("Unable to modify a Model from: "+a);var ee=y.incremental;typeof ee!="number"&&cn("Unable to apply non-incremental changes to Model: "+a),ee!==0&&(this.Ea("applyIncrementalJson"),this.fp(y),this.eb("applyIncrementalJson"))},It.Ky=function(a){return this.Zw(a)},To.constructGraphLinksModel=function(){return new To},It=To.prototype,It.dm=function(a){if(dn(a))for(var y=a.length,ee=0;ee<y;ee++){var ne=a[ee];if(On(ne)){var se=ee;ne=this.dm(ne),Array.isArray(a)?a[se]=ne:cn("Cannot replace an object in an HTMLCollection or NodeList at "+se)}}else if(On(a)){for(y in a)if(ee=a[y],On(ee)&&(ee=this.dm(ee),a[y]=ee,y==="points"&&Array.isArray(ee))){for(se=ee.length%2===0,ne=0;ne<ee.length;ne++)if(typeof ee[ne]!="number"){se=!1;break}if(se){for(se=new Hr,ne=0;ne<ee.length/2;ne++)se.add(new yn(ee[2*ne],ee[2*ne+1]));se.freeze(),a[y]=se}}return _T(a)}return a},It.sm=function(a){return a===void 0?"undefined":a===null?"null":a===!0?"true":a===!1?"false":typeof a=="string"?this.quote(a):typeof a=="number"?a===1/0?"9e9999":a===-1/0?"-9e9999":isNaN(a)?'{"class":"NaN"}':a.toString():a instanceof Date?'{"class":"Date", "value":"'+a.toJSON()+'"}':a instanceof Number?this.sm(a.valueOf()):dn(a)?Rv(this,a):On(a)?Qw(this,a):typeof a=="function"?"null":a.toString()};function Rv(a,y,ee){ee===void 0&&(ee=!1);var ne=y.length;if(0>=ne)return"[]";var se=new Vi;se.add("["),ee&&1<ne&&se.add(`
`);for(var ue=0;ue<ne;ue++){var me=y[ue];me!==void 0&&(0<ue&&(se.add(","),ee&&se.add(`
`)),se.add(a.sm(me)))}return ee&&1<ne&&se.add(`
`),se.add("]"),se.toString()}function Hb(a,y){return y===void 0||a==="__gohashid"||a[0]==="_"||typeof y=="function"}function Xc(a){return isNaN(a)?"NaN":a===1/0?"9e9999":a===-1/0?"-9e9999":a}function Qw(a,y){var ee=y;if(ee instanceof yn)y={class:"go.Point",x:Xc(ee.x),y:Xc(ee.y)};else if(ee instanceof Ii)y={class:"go.Size",width:Xc(ee.width),height:Xc(ee.height)};else if(ee instanceof Ur)y={class:"go.Rect",x:Xc(ee.x),y:Xc(ee.y),width:Xc(ee.width),height:Xc(ee.height)};else if(ee instanceof jo)y={class:"go.Margin",top:Xc(ee.top),right:Xc(ee.right),bottom:Xc(ee.bottom),left:Xc(ee.left)};else if(ee instanceof So)ee.sb()?y={class:"go.Spot",x:Xc(ee.x),y:Xc(ee.y),offsetX:Xc(ee.offsetX),offsetY:Xc(ee.offsetY)}:y={class:"go.Spot",enum:ee.toString()};else if(ee instanceof il){if(y={class:"go.Brush",type:ee.type.name},ee.type===Op?y.color=ee.color:(ee.type===H0||ee.type===eg)&&(y.start=ee.start,y.end=ee.end,ee.type===eg&&(ee.startRadius!==0&&(y.startRadius=Xc(ee.startRadius)),isNaN(ee.endRadius)||(y.endRadius=Xc(ee.endRadius)))),ee.colorStops!==null){var ne={};for(ee=ee.colorStops.iterator;ee.next();)ne[ee.key]=ee.value;y.colorStops=ne}}else ee instanceof wi?(y={class:"go.Geometry",type:ee.type.name},ee.startX!==0&&(y.startX=Xc(ee.startX)),ee.startY!==0&&(y.startY=Xc(ee.startY)),ee.endX!==0&&(y.endX=Xc(ee.endX)),ee.endY!==0&&(y.endY=Xc(ee.endY)),ee.spot1.D(Ya)||(y.spot1=ee.spot1),ee.spot2.D(Pc)||(y.spot2=ee.spot2),ee.type===wi.o&&(y.path=wi.ia(ee))):ee instanceof nr&&(y={class:"go.EnumValue",classType:Ty(a,ee.classType),name:ee.name});ne="{",ee=!0;for(var se in y){var ue=Jl(y,se);if(!Hb(se,ue))if(ee?ee=!1:ne+=",",ne+=a.quote(se)+":",se==="points"&&ue instanceof Hr){var me="[";for(ue=ue.iterator;ue.next();){var be=ue.value;1<me.length&&(me+=","),me+=a.sm(be.x),me+=",",me+=a.sm(be.y)}me+="]",ne+=me}else ne+=a.sm(ue)}return ne+"}"}function td(a){return typeof a=="number"?a:a==="NaN"?NaN:a==="9e9999"?1/0:a==="-9e9999"?-1/0:parseFloat(a)}function _T(a){if(typeof a!="object")return a;var y=a.class||"";if(y==="NaN")return NaN;if(y==="Date")return new Date(a.value);if(y.indexOf("go.")!==0)return a;y=y.substr(3);var ee=a;if(y==="Point")ee=new yn(td(a.x),td(a.y));else if(y==="Size")ee=new Ii(td(a.width),td(a.height));else if(y==="Rect")ee=new Ur(td(a.x),td(a.y),td(a.width),td(a.height));else if(y==="Margin")ee=new jo(td(a.top),td(a.right),td(a.bottom),td(a.left));else if(y==="Spot")typeof a.enum=="string"?ee=oh(a.enum):ee=new So(td(a.x),td(a.y),td(a.offsetX),td(a.offsetY));else if(y==="Brush"){if(ee=new il,ee.type=xi(il,a.type),typeof a.color=="string"&&(ee.color=a.color),a.start instanceof So&&(ee.start=a.start),a.end instanceof So&&(ee.end=a.end),typeof a.startRadius=="number"&&(ee.startRadius=td(a.startRadius)),typeof a.endRadius=="number"&&(ee.endRadius=td(a.endRadius)),a=a.colorStops,On(a))for(var ne in a)ee.addColorStop(parseFloat(ne),a[ne])}else y==="Geometry"?(ee=null,typeof a.path=="string"?ee=wi.parse(a.path):ee=new wi,ee.type=xi(wi,a.type),typeof a.startX=="number"&&(ee.startX=td(a.startX)),typeof a.startY=="number"&&(ee.startY=td(a.startY)),typeof a.endX=="number"&&(ee.endX=td(a.endX)),typeof a.endY=="number"&&(ee.endY=td(a.endY)),a.spot1 instanceof So&&(ee.spot1=a.spot1),a.spot2 instanceof So&&(ee.spot2=a.spot2)):y==="EnumValue"&&(ne=a.classType,ne.indexOf("go.")===0&&(ne=ne.substr(3)),ne=yc(ne),typeof ne=="function"&&(ee=xi(ne,a.name)));return ee}It.Pe=function(a){return this.Lt.add(a),this},It.ik=function(a){this.Lt.remove(a)},It.ds=function(a){this.skipsUndoManager||this.undoManager.Tu(a);for(var y=this.Lt,ee=y.length,ne=0;ne<ee;ne++)y.M(ne)(a)},It.cb=function(a,y,ee,ne,se,ue,me){ac(this,"",a,y,ee,ne,se,ue,me)},It.g=function(a,y,ee,ne,se){ac(this,"",mi,a,this,y,ee,ne,se)},It.Fs=function(a,y,ee,ne,se,ue){ac(this,"",mi,y,a,ee,ne,se,ue)};function ac(a,y,ee,ne,se,ue,me,be,Fe){be===void 0&&(be=null),Fe===void 0&&(Fe=null);var Ye=new Xr;Ye.model=a,Ye.change=ee,Ye.modelChange=y,Ye.propertyName=ne,Ye.object=se,Ye.oldValue=ue,Ye.oldParam=be,Ye.newValue=me,Ye.newParam=Fe,a.ds(Ye)}To.prototype.changeState=function(a,y){if(a!==null&&a.model===this)if(a.change===mi){var ee=a.object,ne=a.propertyName,se=a.I(y);ne===this.nodeKeyProperty&&this.lb(ee)&&(y=a.I(!y),y!==void 0&&this.kb.remove(y),se!==void 0&&this.kb.add(se,ee)),Pl(ee,ne,se)}else a.change===Ci?(ee=a.newParam,a.modelChange==="nodeDataArray"?(a=a.newValue,On(a)&&typeof ee=="number"&&(ne=this.wa(a),y?(this.Tc[ee]===a&&hr(this.Tc,ee),ne!==void 0&&this.kb.remove(ne)):(this.Tc[ee]!==a&&tr(this.Tc,ee,a),ne!==void 0&&this.kb.add(ne,a)))):a.modelChange===""?((ne=a.object)&&!dn(ne)&&a.propertyName&&(ne=Jl(a.object,a.propertyName)),dn(ne)&&typeof ee=="number"&&(a=a.newValue,y?hr(ne,ee):tr(ne,ee,a))):cn("unknown ChangedEvent.Insert modelChange: "+a.toString())):a.change===Wi?(ee=a.oldParam,a.modelChange==="nodeDataArray"?(a=a.oldValue,On(a)&&typeof ee=="number"&&(ne=this.wa(a),y?(this.Tc[ee]!==a&&tr(this.Tc,ee,a),ne!==void 0&&this.kb.add(ne,a)):(this.Tc[ee]===a&&hr(this.Tc,ee),ne!==void 0&&this.kb.remove(ne)))):a.modelChange===""?((ne=a.object)&&!dn(ne)&&a.propertyName&&(ne=Jl(a.object,a.propertyName)),dn(ne)&&typeof ee=="number"&&(a=a.oldValue,y?tr(ne,ee,a):hr(ne,ee))):cn("unknown ChangedEvent.Remove modelChange: "+a.toString())):a.change!==ei&&cn("unknown ChangedEvent: "+a.toString())},To.prototype.Ea=function(a){return this.undoManager.Ea(a)},To.prototype.eb=function(a){return this.undoManager.eb(a)},To.prototype.Kf=function(){return this.undoManager.Kf()},To.prototype.commit=function(a,y){y===void 0&&(y="");var ee=this.skipsUndoManager;y===null&&(this.skipsUndoManager=!0,y=""),this.undoManager.Ea(y);var ne=!1;try{a(this),ne=!0}finally{ne?this.undoManager.eb(y):this.undoManager.Kf(),this.skipsUndoManager=ee}},It=To.prototype,It.La=function(a,y){y===void 0&&(y=""),ac(this,"SourceChanged",ei,y,a,null,null)},It.wa=function(a){if(a!==null){var y=this.Th;if(y!==""&&(y=Jl(a,y),y!==void 0)){if(tv(y))return y;cn("Key value for node data "+a+" is not a number or a string: "+y)}}},It.km=function(a,y){if(a!==null){var ee=this.Th;if(ee!=="")if(this.lb(a)){var ne=Jl(a,ee);ne!==y&&this.hc(y)===null&&(Pl(a,ee,y),ne!==void 0&&this.kb.remove(ne),this.kb.add(y,a),ac(this,"nodeKey",mi,ee,a,ne,y),typeof ee=="string"&&this.La(a,ee),this.jp(ne,y))}else Pl(a,ee,y)}};function tv(a){return typeof a=="number"||typeof a=="string"}It.lb=function(a){var y=this.wa(a);return y===void 0?!1:this.kb.I(y)===a},It.hc=function(a){return a===null&&cn("Model.findNodeDataForKey:key must not be null"),a!==void 0&&tv(a)?this.kb.I(a):null},It.$u=function(a){if(a!==null){var y=this.Th;if(y!==""){var ee=this.wa(a);if(ee===void 0||this.kb.contains(ee)){var ne=this.bl;if(ne!==null&&(ee=ne(this,a),ee!=null&&!this.kb.contains(ee))){Pl(a,y,ee);return}if(typeof ee=="string"){for(ne=2;this.kb.contains(ee+ne);)ne++;Pl(a,y,ee+ne)}else if(ee===void 0||typeof ee=="number"){for(ee=-this.kb.count-1;this.kb.contains(ee);)ee--;Pl(a,y,ee)}}}}},It.xf=function(a){a!==null&&(ss(a),this.lb(a)||zA(this,a,!0))};function zA(a,y,ee){var ne=a.wa(y);(ne===void 0||a.kb.I(ne)!==y)&&(a.$u(y),ne=a.wa(y),ne===void 0&&cn("Model.makeNodeDataKeyUnique failed on "+y+". Data not added to Model."),a.kb.add(ne,y),ne=null,ee&&(ne=a.Tc.length,tr(a.Tc,ne,y)),ac(a,"nodeDataArray",Ci,"nodeDataArray",a,null,y,null,ne),a.fm(y),a.em(y))}It.Fy=function(a){if(dn(a))for(var y=a.length,ee=0;ee<y;ee++)this.xf(a[ee]);else for(a=a.iterator;a.next();)this.xf(a.value)},It.cm=function(a){a!==null&&uE(this,a,!0)};function uE(a,y,ee){var ne=a.wa(y);if(ne!==void 0&&a.kb.remove(ne),ne=null,ee){e:if(ee=a.Tc,Array.isArray(ee))ne=ee.indexOf(y);else{ne=ee.length;for(var se=0;se<ne;se++)if(ee[se]===y){ne=se;break e}ne=-1}if(0>ne)return;hr(a.Tc,ne)}ac(a,"nodeDataArray",Wi,"nodeDataArray",a,y,null,ne,null),a.qp(y)}It.nA=function(a){if(dn(a))for(var y=a.length,ee=0;ee<y;ee++)this.cm(a[ee]);else for(a=a.iterator;a.next();)this.cm(a.value)},It.$z=function(a){if(a!==this.nodeDataArray&&dn(a)){var y=this.kl;y.clear(),y.addAll(this.kb.iteratorKeys);var ee=this.il;ee.clear();for(var ne=a.length,se=0;se<ne;se++){var ue=a[se],me=this.wa(ue);if(me!==void 0){ee.add(me);var be=this.hc(me);be!==ue&&(be!==null?(this.Do(be,ue),this.lm(ue,be)):(ue=this.cloneDeep(ue),this.km(ue,me),this.xf(ue)))}else me=this.cloneDeep(ue),this.xf(me),ee.add(this.wa(me))}for(a=y.iterator;a.next();)ne=a.value,ee.contains(ne)||(ne=this.hc(ne))&&this.cm(ne);y.clear(),ee.clear()}},It.jp=function(a,y){y!==void 0&&(a=Tm(this,a),a instanceof Zr&&this.Vf.add(y,a))},It.Lv=function(){},It.fm=function(){},It.em=function(){},It.qp=function(){};function Jg(a,y,ee){if(y!==void 0){var ne=a.Vf.I(y);ne===null&&(ne=new Zr,a.Vf.add(y,ne)),ne.add(ee)}}function dd(a,y,ee){if(y!==void 0){var ne=a.Vf.I(y);ne instanceof Zr&&(ee==null?a.Vf.remove(y):(ne.remove(ee),ne.count===0&&a.Vf.remove(y)))}}function Tm(a,y){return y===void 0?null:(a=a.Vf.I(y),a instanceof Zr?a:null)}It.Qy=function(a){a===void 0?this.Vf.clear():this.Vf.remove(a)},To.prototype.copyNodeData=function(a){if(a===null)return null;var y=this.Bk;return a=y!==null?y(a,this):Tg(this,a,!0),On(a)&&Ca(a),a};function Tg(a,y,ee){if(a.copiesArrays&&Array.isArray(y)){var ne=[];for(ee=0;ee<y.length;ee++){var se=Tg(a,y[ee],a.copiesArrayObjects);ne.push(se)}return Ca(ne),ne}if(ee&&On(y)){ee=(ee=y.constructor)?new ee:{},se=a.copiesKey||typeof a.nodeKeyProperty!="string"?null:a.nodeKeyProperty;for(ne in y)if(ne==="__gohashid")ee.__gohashid=void 0;else if(ne===se)ee[se]=void 0;else{var ue=Jl(y,ne),me=Ty(a,ue);me==="GraphObject"||me==="Diagram"||me==="Layer"||me==="RowColumnDefinition"||me==="AnimationManager"||me==="Tool"||me==="CommandHandler"||me==="Layout"||me==="InputEvent"||me==="DiagramEvent"||ue instanceof To||ue instanceof _i||ue instanceof Gr||ue instanceof Xr||(ue=Tg(a,ue,!1)),Pl(ee,ne,ue)}return Ca(ee),ee}return y instanceof yn||y instanceof Ii||y instanceof Ur||y instanceof So||y instanceof jo?y.copy():y}To.prototype.setDataProperty=function(a,y,ee){if(this.lb(a)){if(y===this.nodeKeyProperty){this.km(a,ee);return}if(y===this.nodeCategoryProperty){this.jm(a,ee);return}}else!jA&&a instanceof lr&&(jA=!0,fr('Model.setDataProperty is modifying a GraphObject, "'+a.toString()+'"'),fr(" Is that really your intent?"));var ne=Jl(a,y);ne!==ee&&(Pl(a,y,ee),this.Fs(a,y,ne,ee))},It=To.prototype,It.set=function(a,y,ee){this.setDataProperty(a,y,ee)},It.Do=function(a,y){if(y){var ee=this.lb(a),ne;for(ne in y)ne==="__gohashid"||ee&&ne===this.nodeKeyProperty||this.setDataProperty(a,ne,y[ne])}},It.Ay=function(a,y){this.ts(a,-1,y)},It.ts=function(a,y,ee){0>y&&(y=a.length),tr(a,y,ee),ac(this,"",Ci,"",a,null,ee,null,y)},It.ov=function(a,y){y===void 0&&(y=-1),a===this.Tc&&cn("Model.removeArrayItem should not be called on the Model.nodeDataArray"),y===-1&&(y=a.length-1);var ee=a[y];hr(a,y),ac(this,"",Wi,"",a,ee,null,y,null)},It.Ro=function(a){if(a===null)return"";var y=this.lj;if(y===""||(y=Jl(a,y),y===void 0))return"";if(typeof y=="string")return y;cn("getCategoryForNodeData found a non-string category for "+a+": "+y)},It.jm=function(a,y){if(a!==null){var ee=this.lj;if(ee!=="")if(this.lb(a)){var ne=Jl(a,ee);ne===void 0&&(ne=""),ne!==y&&(Pl(a,ee,y),ac(this,"nodeCategory",mi,ee,a,ne,y))}else Pl(a,ee,y)}},It.lm=function(a,y){this.jm(y,this.Ro(a))},It.Tl=function(){return!1},It.Wj=function(){return!1},It.ri=function(){return!1},It.xs=function(){return!1},It.Xj=function(){return!1};function Jw(){return new To}function Ty(a,y){if(typeof y=="function"){if(y.className)return y.className;if(y.name)return y.name}else if(typeof y=="object"&&y!==null&&y.constructor)return Ty(a,y.constructor);return typeof y}function yc(a){return ig[a]?ig[a]:Ct.go!==void 0&&Ct.go[a]?Ct.go[a]:null}function Jl(a,y){if(!a||!y)return null;try{if(typeof y=="function")var ee=y(a);else typeof a.getAttribute=="function"?(ee=a.getAttribute(y),ee===null&&(ee=void 0)):ee=a[y]}catch(ne){}return ee}function Pl(a,y,ee){if(a&&y)try{typeof y=="function"?y(a,ee):typeof a.setAttribute=="function"?a.setAttribute(y,ee):a[y]=ee}catch(ne){}}Re.Object.defineProperties(To.prototype,{name:{get:function(){return this.xa},set:function(a){var y=this.xa;y!==a&&(this.xa=a,this.g("name",y,a))}},dataFormat:{get:function(){return this.Sm},set:function(a){var y=this.Sm;y!==a&&(this.Sm=a,this.g("dataFormat",y,a))}},isReadOnly:{get:function(){return this.Gg},set:function(a){var y=this.Gg;y!==a&&(this.Gg=a,this.g("isReadOnly",y,a))}},modelData:{get:function(){return this.j},set:function(a){var y=this.j;y!==a&&(this.j=a,this.g("modelData",y,a),this.La(a))}},undoManager:{get:function(){return this.o},set:function(a){var y=this.o;y!==a&&(y!==null&&y.Rx(this),this.o=a,a!==null&&a.Xw(this))}},skipsUndoManager:{get:function(){return this.Wg},set:function(a){this.Wg=a}},nodeKeyProperty:{get:function(){return this.Th},set:function(a){var y=this.Th;y!==a&&(a===""&&cn("Model.nodeKeyProperty may not be the empty string"),0<this.kb.count&&cn("Cannot set Model.nodeKeyProperty when there is existing node data"),this.Th=a,this.g("nodeKeyProperty",y,a))}},makeUniqueKeyFunction:{get:function(){return this.bl},set:function(a){var y=this.bl;y!==a&&(this.bl=a,this.g("makeUniqueKeyFunction",y,a))}},nodeDataArray:{get:function(){return this.Tc},set:function(a){var y=this.Tc;if(y!==a){this.kb.clear(),this.Lv();for(var ee=a.length,ne=0;ne<ee;ne++){var se=a[ne];On(se)||cn("Model.nodeDataArray must only contain Objects, not: "+se),ss(se)}for(this.Tc=a,ne=new Hr,se=0;se<ee;se++){var ue=a[se],me=this.wa(ue);me===void 0||this.kb.I(me)!==null?ne.add(ue):this.kb.add(me,ue)}for(ne=ne.iterator;ne.next();)se=ne.value,this.$u(se),ue=this.wa(se),ue!==void 0&&this.kb.add(ue,se);for(ac(this,"nodeDataArray",mi,"nodeDataArray",this,y,a),y=0;y<ee;y++)ne=a[y],this.fm(ne),this.em(ne);Array.isArray(a)||(this.isReadOnly=!0)}}},copyNodeDataFunction:{get:function(){return this.Bk},set:function(a){var y=this.Bk;y!==a&&(this.Bk=a,this.g("copyNodeDataFunction",y,a))}},copiesArrays:{get:function(){return this.Km},set:function(a){var y=this.Km;y!==a&&(this.Km=a,this.g("copiesArrays",y,a))}},copiesArrayObjects:{get:function(){return this.Jm},set:function(a){var y=this.Jm;y!==a&&(this.Jm=a,this.g("copiesArrayObjects",y,a))}},copiesKey:{get:function(){return this.Mm},set:function(a){var y=this.Mm;y!==a&&(this.Mm=a,this.g("copiesKey",y,a))}},afterCopyFunction:{get:function(){return this.xm},set:function(a){var y=this.xm;y!==a&&(this.xm=a,this.g("afterCopyFunction",y,a))}},nodeCategoryProperty:{get:function(){return this.lj},set:function(a){var y=this.lj;y!==a&&(this.lj=a,this.g("nodeCategoryProperty",y,a))}},type:{get:function(){return"Model"}}}),To.prototype.setCategoryForNodeData=To.prototype.jm,To.prototype.getCategoryForNodeData=To.prototype.Ro,To.prototype.removeArrayItem=To.prototype.ov,To.prototype.insertArrayItem=To.prototype.ts,To.prototype.addArrayItem=To.prototype.Ay,To.prototype.assignAllDataProperties=To.prototype.Do,To.prototype.set=To.prototype.set,To.prototype.clearUnresolvedReferences=To.prototype.Qy,To.prototype.mergeNodeDataArray=To.prototype.$z,To.prototype.removeNodeDataCollection=To.prototype.nA,To.prototype.removeNodeData=To.prototype.cm,To.prototype.addNodeDataCollection=To.prototype.Fy,To.prototype.addNodeData=To.prototype.xf,To.prototype.makeNodeDataKeyUnique=To.prototype.$u,To.prototype.findNodeDataForKey=To.prototype.hc,To.prototype.containsNodeData=To.prototype.lb,To.prototype.setKeyForNodeData=To.prototype.km,To.prototype.getKeyForNodeData=To.prototype.wa,To.prototype.updateTargetBindings=To.prototype.La,To.prototype.commit=To.prototype.commit,To.prototype.rollbackTransaction=To.prototype.Kf,To.prototype.commitTransaction=To.prototype.eb,To.prototype.startTransaction=To.prototype.Ea,To.prototype.raiseDataChanged=To.prototype.Fs,To.prototype.raiseChanged=To.prototype.g,To.prototype.raiseChangedEvent=To.prototype.cb,To.prototype.removeChangedListener=To.prototype.ik,To.prototype.addChangedListener=To.prototype.Pe,To.prototype.writeJsonValue=To.prototype.sm,To.prototype.replaceJsonObjects=To.prototype.dm,To.prototype.applyIncrementalJSON=To.prototype.Ky,To.prototype.applyIncrementalJson=To.prototype.Zw,To.prototype.toJSON=To.prototype.toJSON,To.prototype.toJson=To.prototype.np,To.prototype.toIncrementalJSON=To.prototype.yA,To.prototype.toIncrementalJson=To.prototype.$x,To.prototype.toIncrementalData=To.prototype.xA,To.prototype.clear=To.prototype.clear;var jA=!1,ig={};To.className="Model",To.fromJSON=To.fromJson=function(a,y){y===void 0&&(y=null);var ee=null;if(typeof a=="string")try{ee=Ct.JSON.parse(a)}catch(ue){}else typeof a=="object"?ee=a:cn("Unable to construct a Model from: "+a);if(y===null){a=null;var ne=ee.class;if(typeof ne=="string")try{var se=null;ne.indexOf("go.")===0?(ne=ne.substr(3),se=yc(ne)):(se=yc(ne),se===null&&(se=Ct[ne])),typeof se=="function"&&(a=new se)}catch(ue){}a===null||a instanceof To?y=a:cn("Unable to construct a Model of declared class: "+ee.class)}return y===null&&(y=To.constructGraphLinksModel()),y.gp(ee),y.kv(ee),y},To.safePropertyValue=Jl,To.safePropertySet=Pl,ig.Brush=il,ig.ChangedEvent=Xr,ig.Geometry=wi,ig.Margin=jo,ig.Panel=bi,ig.Point=yn,ig.Rect=Ur,ig.Size=Ii,ig.Spot=So,ig.Transaction=Gr,ig.UndoManager=_i;function $u(a,y,ee,ne){Ca(this),this._isFrozen=!1,a===void 0&&(a=""),y===void 0&&(y=a),ee===void 0&&(ee=null),this.j=-1,this.xd=null,this.xl=a,this.wl=this.to=0,this.Cr=null,this.wn=!1,this.sl=y,this.Im=ee,ne===void 0?(this.el=Kb,this.wk=null):(this.el=_1,this.wk=ne),this.st=new Zr}$u.prototype.copy=function(){var a=new $u;return a.xl=this.xl,a.to=this.to,a.wl=this.wl,a.Cr=this.Cr,a.wn=this.wn,a.sl=this.sl,a.Im=this.Im,a.el=this.el,a.wk=this.wk,a},It=$u.prototype,It.qb=function(a){a.classType===$u&&(this.mode=a)},It.toString=function(){return"Binding("+this.targetProperty+":"+this.sourceProperty+(this.Ai!==-1?" "+this.Ai:"")+" "+this.mode.name+")"},It.freeze=function(){return this._isFrozen=!0,this},It.ka=function(){return this._isFrozen=!1,this},It.Kx=function(a){return a===void 0&&(a=null),this.mode=_1,this.backConverter=a,this},It.cp=function(a){return a===void 0&&(a=""),this.sourceName=a,this.isToModel=!1,this},It.dA=function(){return this.sourceName=null,this.isToModel=!0,this};function Vb(a,y,ee){return a=a.sourceName,a===null||a===""?y:a==="/"?ee.part:a==="."?ee:a===".."?ee.panel:y.fb(a)}It.Mv=function(a,y,ee){var ne=this.sl;if(ee===void 0||ne===""||ne===ee){ee=this.xl;var se=this.Im;if(se===null&&ee==="")fr("Binding error: target property is the empty string: "+this.toString());else{var ue=y;if(ne!==""&&(ue=Jl(y,ne)),ue!==void 0)if(se===null)ee!==""&&Pl(a,ee,ue);else try{if(ee!==""){var me=se(ue,a);Pl(a,ee,me)}else se(ue,a)}catch(be){}}}},It.sp=function(a,y,ee,ne){if(this.el===_1){var se=this.xl;if(ee===void 0||se===ee){ee=this.sl;var ue=this.wk,me=a;if(se!==""&&(me=Jl(a,se)),me!==void 0&&!this.st.contains(a))try{this.st.add(a);var be=ne!==null?ne.diagram:null,Fe=be!==null?be.model:null;if(ue===null){if(ee!=="")Fe!==null?Fe.setDataProperty(y,ee,me):Pl(y,ee,me);else if(Fe!==null&&ne!==null&&0<=ne.itemIndex&&ne.panel!==null&&Array.isArray(ne.panel.itemArray)){var Ye=ne.itemIndex,Je=ne.panel.itemArray;Fe.ov(Je,Ye),Fe.ts(Je,Ye,me)}}else try{if(ee!==""){var st=ue(me,y,Fe);Fe!==null?Fe.setDataProperty(y,ee,st):Pl(y,ee,st)}else{var yt=ue(me,y,Fe);if(yt!==void 0&&Fe!==null&&ne!==null&&0<=ne.itemIndex&&ne.panel!==null&&Array.isArray(ne.panel.itemArray)){var Tt=ne.itemIndex,Ft=ne.panel.itemArray;Fe.ov(Ft,Tt),Fe.ts(Ft,Tt,yt)}}}catch(Zt){}}finally{this.st.remove(a)}}}},Re.Object.defineProperties($u.prototype,{Ai:{get:function(){return this.j},set:function(a){this._isFrozen&&Yn(this),this.j=a}},targetProperty:{get:function(){return this.xl},set:function(a){this._isFrozen&&Yn(this),this.xl=a}},sourceName:{get:function(){return this.Cr},set:function(a){this._isFrozen&&Yn(this),this.Cr=a,a!==null&&(this.wn=!1)}},isToModel:{get:function(){return this.wn},set:function(a){this._isFrozen&&Yn(this),this.wn=a}},sourceProperty:{get:function(){return this.sl},set:function(a){this._isFrozen&&Yn(this),this.sl=a}},converter:{get:function(){return this.Im},set:function(a){this._isFrozen&&Yn(this),this.Im=a}},backConverter:{get:function(){return this.wk},set:function(a){this._isFrozen&&Yn(this),this.wk=a}},mode:{get:function(){return this.el},set:function(a){this._isFrozen&&Yn(this),this.el=a}}}),$u.prototype.updateSource=$u.prototype.sp,$u.prototype.updateTarget=$u.prototype.Mv,$u.prototype.ofModel=$u.prototype.dA,$u.prototype.ofObject=$u.prototype.cp,$u.prototype.makeTwoWay=$u.prototype.Kx;var qw="Binding",Kb=new nr($u,"OneWay",1),_1=new nr($u,"TwoWay",2);$u.className="Binding",$u.parseEnum=function(a,y){return function(ee){return ee=xi(a,ee),ee===null?y:ee}},$u.toString=Nr,$u.OneWay=Kb,$u.TwoWay=_1;function bs(a,y,ee){To.call(this),this.Vv=`,
"insertedLinkKeys": `,this.iy=`,
"modifiedLinkData": `,this.Xv=`,
"removedLinkKeys": `,this.md=[],this.$f=new Zr,this.wb=new Ji,this.Jh="",this.Ri=this.Ak=this.cl=null,this.lf="from",this.mf="to",this.fj=this.ej="",this.dj="category",this.je="",this.jl="isGroup",this.Je="group",this.Lm=!1,y!==void 0&&(this.linkDataArray=y),a!==void 0&&(dn(a)?this.nodeDataArray=a:ee=a),ee&&(Object.assign(this,ee),a=ee.Changed)&&(delete this.Changed,this.Pe(a))}He(bs,To),bs.constructGraphLinksModel=To.constructGraphLinksModel,bs.prototype.cloneProtected=function(a){To.prototype.cloneProtected.call(this,a),a.Jh=this.Jh,a.cl=this.cl,a.Ak=this.Ak,a.lf=this.lf,a.mf=this.mf,a.ej=this.ej,a.fj=this.fj,a.dj=this.dj,a.je=this.je,a.jl=this.jl,a.Je=this.Je,a.Lm=this.Lm},It=bs.prototype,It.clear=function(){To.prototype.clear.call(this),this.md=[],this.wb.clear(),this.$f.clear()},It.toString=function(a){if(a===void 0&&(a=0),2<=a)return this.np();var y=(this.name!==""?this.name:"")+" GraphLinksModel";if(0<a){y+=`
node data:`,a=this.nodeDataArray;var ee=a.length,ne;for(ne=0;ne<ee;ne++){var se=a[ne];y+=" "+this.wa(se)+":"+Nr(se)}for(y+=`
link data:`,a=this.linkDataArray,ee=a.length,ne=0;ne<ee;ne++)se=a[ne],y+=" "+gu(this,se,!0)+"-->"+gu(this,se,!1)}return y},It.Qv=function(a,y){this.linkKeyProperty===""&&cn("GraphLinksModel.linkKeyProperty must not be an empty string for .toIncrementalData() to succeed.");var ee=To.prototype.Qv.call(this,a,y),ne=this,se=new Zr,ue=new Zr,me=new Zr,be=this.vh;a.changes.each(function(Je){Je.model===ne&&(Je.modelChange==="linkDataArray"?Je.change===Ci?se.add(Je.newValue):Je.change===Wi&&me.add(Je.oldValue):ne.Jc(Je.object)?ue.add(Je.object):Je.object!==null&&(Je.object!==null&&be&&be.contains(Je.object)?be.get(Je.object).each(function(st){ne.Jc(st)&&ue.add(st)}):Je.object instanceof To||ne.lb(Je.object)||Zb(ne,Je.object).each(function(st){ue.add(st)})))});var Fe=this.il;Fe.clear(),se.each(function(Je){Fe.add(ne.Ac(Je)),y||ue.add(Je)});var Ye=this.kl;return Ye.clear(),me.each(function(Je){Ye.add(ne.Ac(Je)),y&&ue.add(Je)}),a=ne.cloneDeep(ue.Fa()),0<Fe.count&&(ee===null&&(ee={}),y?ee.removedLinkKeys=Fe.Fa():ee.insertedLinkKeys=Fe.Fa()),0<a.length&&(ee===null&&(ee={}),ee.modifiedLinkData=a),0<Ye.count&&(ee===null&&(ee={}),y?ee.insertedLinkKeys=Ye.Fa():ee.removedLinkKeys=Ye.Fa()),Ye.clear(),Fe.clear(),ee},It.rm=function(){var a=To.prototype.rm.call(this),y="";return this.linkCategoryProperty!=="category"&&typeof this.linkCategoryProperty=="string"&&(y+=`,
"linkCategoryProperty": `+this.quote(this.linkCategoryProperty)),this.linkKeyProperty!==""&&typeof this.linkKeyProperty=="string"&&(y+=`,
"linkKeyProperty": `+this.quote(this.linkKeyProperty)),this.linkFromKeyProperty!=="from"&&typeof this.linkFromKeyProperty=="string"&&(y+=`,
"linkFromKeyProperty": `+this.quote(this.linkFromKeyProperty)),this.linkToKeyProperty!=="to"&&typeof this.linkToKeyProperty=="string"&&(y+=`,
"linkToKeyProperty": `+this.quote(this.linkToKeyProperty)),this.linkFromPortIdProperty!==""&&typeof this.linkFromPortIdProperty=="string"&&(y+=`,
"linkFromPortIdProperty": `+this.quote(this.linkFromPortIdProperty)),this.linkToPortIdProperty!==""&&typeof this.linkToPortIdProperty=="string"&&(y+=`,
"linkToPortIdProperty": `+this.quote(this.linkToPortIdProperty)),this.linkLabelKeysProperty!==""&&typeof this.linkLabelKeysProperty=="string"&&(y+=`,
"linkLabelKeysProperty": `+this.quote(this.linkLabelKeysProperty)),this.nodeIsGroupProperty!=="isGroup"&&typeof this.nodeIsGroupProperty=="string"&&(y+=`,
"nodeIsGroupProperty": `+this.quote(this.nodeIsGroupProperty)),this.nodeGroupKeyProperty!=="group"&&typeof this.nodeGroupKeyProperty=="string"&&(y+=`,
"nodeGroupKeyProperty": `+this.quote(this.nodeGroupKeyProperty)),a+y},It.gp=function(a){To.prototype.gp.call(this,a),a.linkKeyProperty&&(this.linkKeyProperty=a.linkKeyProperty),a.linkFromKeyProperty&&(this.linkFromKeyProperty=a.linkFromKeyProperty),a.linkToKeyProperty&&(this.linkToKeyProperty=a.linkToKeyProperty),a.linkFromPortIdProperty&&(this.linkFromPortIdProperty=a.linkFromPortIdProperty),a.linkToPortIdProperty&&(this.linkToPortIdProperty=a.linkToPortIdProperty),a.linkCategoryProperty&&(this.linkCategoryProperty=a.linkCategoryProperty),a.linkLabelKeysProperty&&(this.linkLabelKeysProperty=a.linkLabelKeysProperty),a.nodeIsGroupProperty&&(this.nodeIsGroupProperty=a.nodeIsGroupProperty),a.nodeGroupKeyProperty&&(this.nodeGroupKeyProperty=a.nodeGroupKeyProperty)},It.Rv=function(){var a=To.prototype.Rv.call(this),y=`,
"linkDataArray": `+Rv(this,this.linkDataArray,!0);return a+y},It.kv=function(a){To.prototype.kv.call(this,a),a=a.linkDataArray,Array.isArray(a)&&(this.dm(a),this.linkDataArray=a)};function Zb(a,y){for(var ee=new Zr,ne=0;ne<a.linkDataArray.length;ne++){var se=a.linkDataArray[ne];_A(a,y,se,se,ee)}return ee}It.Pv=function(a,y){this.linkKeyProperty===""&&cn("GraphLinksModel.linkKeyProperty must not be an empty string for .toIncrementalJson() to succeed.");var ee=To.prototype.Pv.call(this,a,y),ne=this,se=new Zr,ue=new Zr,me=new Zr,be=this.vh;a.changes.each(function(Je){Je.model===ne&&(Je.modelChange==="linkDataArray"?Je.change===Ci?se.add(Je.newValue):Je.change===Wi&&me.add(Je.oldValue):ne.Jc(Je.object)?ue.add(Je.object):Je.object!==null&&(Je.object!==null&&be&&be.contains(Je.object)?be.get(Je.object).each(function(st){ne.Jc(st)&&ue.add(st)}):Je.object instanceof To||ne.lb(Je.object)||Zb(ne,Je.object).each(function(st){ue.add(st)})))});var Fe=this.il;Fe.clear(),se.each(function(Je){Fe.add(ne.Ac(Je)),y||ue.add(Je)});var Ye=this.kl;return Ye.clear(),me.each(function(Je){Ye.add(ne.Ac(Je)),y&&ue.add(Je)}),a=ee,0<Fe.count&&(a+=(y?this.Xv:this.Vv)+Rv(this,Fe.Fa(),!0)),0<ue.count&&(a+=this.iy+Rv(this,ue.Fa(),!0)),0<Ye.count&&(a+=(y?this.Vv:this.Xv)+Rv(this,Ye.Fa(),!0)),Ye.clear(),Fe.clear(),a},It.fp=function(a){(a.linkCategoryProperty!==void 0&&a.linkCategoryProperty!==this.linkCategoryProperty||a.linkKeyProperty!==void 0&&a.linkKeyProperty!==this.linkKeyProperty||a.linkFromKeyProperty!==void 0&&a.linkFromKeyProperty!==this.linkFromKeyProperty||a.linkToKeyProperty!==void 0&&a.linkToKeyProperty!==this.linkToKeyProperty||a.linkFromPortIdProperty!==void 0&&a.linkFromPortIdProperty!==this.linkFromPortIdProperty||a.linkToPortIdProperty!==void 0&&a.linkToPortIdProperty!==this.linkToPortIdProperty||a.linkLabelKeysProperty!==void 0&&a.linkLabelKeysProperty!==this.linkLabelKeysProperty||a.nodeIsGroupProperty!==void 0&&a.nodeIsGroupProperty!==this.nodeIsGroupProperty||a.nodeGroupKeyProperty!==void 0&&a.nodeGroupKeyProperty!==this.nodeGroupKeyProperty)&&cn("applyIncrementalJson cannot change Model properties"),To.prototype.fp.call(this,a);var y=a.insertedLinkKeys;if(Array.isArray(y))for(var ee=y.length,ne=0;ne<ee;ne++){var se=y[ne],ue=this.jh(se);ue===null&&(ue=this.Jo({}),this.Ks(ue,se),this.fi(ue))}if(y=a.modifiedLinkData,Array.isArray(y)){for(ee=y.length,ne=0;ne<ee;ne++)if(se=y[ne],ue=this.Ac(se),ue=this.jh(ue),ue!==null){for(var me in se)me!=="__gohashid"&&me!==this.linkKeyProperty&&this.setDataProperty(ue,me,se[me]);Qb(this,se,ue)}}if(a=a.removedLinkKeys,Array.isArray(a))for(me=a.length,y=0;y<me;y++)ee=this.jh(a[y]),ee!==null&&this.bm(ee)},bs.prototype.changeState=function(a,y){if(a!==null&&a.model===this){if(a.change===mi){var ee=a.object,ne=a.propertyName;if(ne===this.linkKeyProperty&&this.Jc(ee)){var se=a.I(y);y=a.I(!y),y!==void 0&&this.wb.remove(y),se!==void 0&&this.wb.add(se,ee),Pl(ee,ne,se);return}}else if(a.change===Ci){if(ee=a.newParam,a.modelChange==="linkDataArray"){a=a.newValue,On(a)&&typeof ee=="number"&&(ne=this.Ac(a),y?(this.$f.remove(a),this.md[ee]===a&&this.md.splice(ee,1),ne!==void 0&&this.wb.remove(ne)):(this.$f.add(a),this.md[ee]!==a&&this.md.splice(ee,0,a),ne!==void 0&&this.wb.add(ne,a)));return}if(a.modelChange==="linkLabelKeys"){ne=this.Ef(a.object),Array.isArray(ne)&&typeof ee=="number"&&(y?(ee=ne.indexOf(a.newValue),0<=ee&&ne.splice(ee,1)):0>ne.indexOf(a.newValue)&&ne.splice(ee,0,a.newValue));return}}else if(a.change===Wi){if(ee=a.oldParam,a.modelChange==="linkDataArray"){a=a.oldValue,On(a)&&typeof ee=="number"&&(ne=this.Ac(a),y?(this.$f.add(a),this.md[ee]!==a&&this.md.splice(ee,0,a),ne!==void 0&&this.wb.add(ne,a)):(this.$f.remove(a),this.md[ee]===a&&this.md.splice(ee,1),ne!==void 0&&this.wb.remove(ne)));return}if(a.modelChange==="linkLabelKeys"){ne=this.Ef(a.object),Array.isArray(ne)&&typeof ee=="number"&&(y?0>ne.indexOf(a.newValue)&&ne.splice(ee,0,a.newValue):(ee=ne.indexOf(a.newValue),0<=ee&&ne.splice(ee,1)));return}}To.prototype.changeState.call(this,a,y)}},It=bs.prototype,It.Vl=function(a){if(a!==void 0){var y=this.Ri;if(y!==null){var ee=this.hc(a);ee===null&&(ee=this.copyNodeData(y),Pl(ee,this.nodeKeyProperty,a),this.xf(ee))}return a}},It.yx=function(a){return gu(this,a,!0)},It.wv=function(a,y){z1(this,a,y,!0)},It.Bx=function(a){return gu(this,a,!1)},It.Bv=function(a,y){z1(this,a,y,!1)};function gu(a,y,ee){if(y!==null&&(a=ee?a.lf:a.mf,a!==""&&(a=Jl(y,a),a!==void 0))){if(tv(a))return a;cn((ee?"FromKey":"ToKey")+" value for link data "+y+" is not a number or a string: "+a)}}function z1(a,y,ee,ne){if(ee===null&&(ee=void 0),y!==null){var se=ne?a.lf:a.mf;if(se!=="")if(ee=a.Vl(ee),a.Jc(y)){var ue=Jl(y,se);ue!==ee&&(dd(a,ue,y),Pl(y,se,ee),a.hc(ee)===null&&Jg(a,ee,y),ac(a,ne?"linkFromKey":"linkToKey",mi,se,y,ue,ee),typeof se=="string"&&a.La(y,se))}else Pl(y,se,ee)}}It.zx=function(a){return WA(this,a,!0)},It.xv=function(a,y){j1(this,a,y,!0)},It.Cx=function(a){return WA(this,a,!1)},It.Cv=function(a,y){j1(this,a,y,!1)};function WA(a,y,ee){return y===null||(a=ee?a.ej:a.fj,a==="")?"":(y=Jl(y,a),y===void 0?"":y)}function j1(a,y,ee,ne){if(y!==null){var se=ne?a.ej:a.fj;if(se!=="")if(a.Jc(y)){var ue=Jl(y,se);ue===void 0&&(ue=""),ue!==ee&&(Pl(y,se,ee),ac(a,ne?"linkFromPortId":"linkToPortId",mi,se,y,ue,ee),typeof se=="string"&&a.La(y,se))}else Pl(y,se,ee)}}It.Ef=function(a){if(a===null)return cE;var y=this.je;return y===""?cE:(a=Jl(a,y),a===void 0?cE:a)},It.Ls=function(a,y){if(a!==null){var ee=this.je;if(ee!=="")if(this.Jc(a)){var ne=Jl(a,ee);if(ne===void 0&&(ne=cE),ne!==y){if(Array.isArray(ne))for(var se=ne.length,ue=0;ue<se;ue++)dd(this,ne[ue],a);for(Pl(a,ee,y),se=y.length,ue=0;ue<se;ue++){var me=y[ue];this.hc(me)===null&&Jg(this,me,a)}ac(this,"linkLabelKeys",mi,ee,a,ne,y),typeof ee=="string"&&this.La(a,ee)}}else Pl(a,ee,y)}},It.Bu=function(a,y){if(y!=null&&a!==null){var ee=this.je;if(ee!==""){var ne=Jl(a,ee);if(ne===void 0)ee=[],ee.push(y),this.Ls(a,ee);else if(Array.isArray(ne)){var se=ne.indexOf(y);0<=se||(se=ne.length,ne.push(y),this.Jc(a)&&(this.hc(y)===null&&Jg(this,y,a),ac(this,"linkLabelKeys",Ci,ee,a,null,y,null,se)))}else cn(ee+" property is not an Array; cannot addLabelKeyForLinkData: "+a)}}},It.Qx=function(a,y){if(y!=null&&a!==null){var ee=this.je;if(ee!==""){var ne=Jl(a,ee);if(Array.isArray(ne)){var se=ne.indexOf(y);0>se||(ne.splice(se,1),this.Jc(a)&&(dd(this,y,a),ac(this,"linkLabelKeys",Wi,ee,a,y,null,se,null)))}else ne!==void 0&&cn(ee+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}},It.Ac=function(a){if(a!==null){var y=this.Jh;if(y!==""&&(y=Jl(a,y),y!==void 0)){if(tv(y))return y;cn("Key value for link data "+a+" is not a number or a string: "+y)}}},It.Ks=function(a,y){if(a!==null){var ee=this.Jh;if(ee!=="")if(this.Jc(a)){var ne=Jl(a,ee);ne!==y&&this.jh(y)===null&&(Pl(a,ee,y),ne!==void 0&&this.wb.remove(ne),this.wb.add(y,a),ac(this,"linkKey",mi,ee,a,ne,y),typeof ee=="string"&&this.La(a,ee))}else Pl(a,ee,y)}},It.jh=function(a){return a===null&&cn("GraphLinksModel.findLinkDataForKey:key must not be null"),a!==void 0&&tv(a)?this.wb.I(a):null},It.Bs=function(a){if(a!==null){var y=this.Jh;if(y!==""){var ee=this.Ac(a);if(ee===void 0||this.wb.contains(ee)){var ne=this.cl;if(ne!==null&&(ee=ne(this,a),ee!=null&&!this.wb.contains(ee))){Pl(a,y,ee);return}if(typeof ee=="string"){for(ne=2;this.wb.contains(ee+ne);)ne++;Pl(a,y,ee+ne)}else if(ee===void 0||typeof ee=="number"){for(ee=-this.wb.count-1;this.wb.contains(ee);)ee--;Pl(a,y,ee)}}}}},It.Jc=function(a){return a===null?!1:this.$f.contains(a)},It.fi=function(a){a!==null&&(ss(a),this.Jc(a)||Yb(this,a,!0))};function Yb(a,y,ee){if(a.linkKeyProperty!==""){var ne=a.Ac(y);if(ne!==void 0&&a.wb.I(ne)===y)return;a.Bs(y),ne=a.Ac(y),ne===void 0&&cn("GraphLinksModel.makeLinkDataKeyUnique failed on "+y+". Data not added to model."),a.wb.add(ne,y)}a.$f.add(y),ne=null,ee&&(ne=a.md.length,a.md.splice(ne,0,y)),ac(a,"linkDataArray",Ci,"linkDataArray",a,null,y,null,ne),$w(a,y)}It.Ey=function(a){if(Array.isArray(a))for(var y=a.length,ee=0;ee<y;ee++)this.fi(a[ee]);else for(a=a.iterator;a.next();)this.fi(a.value)},It.bm=function(a){a!==null&&Xb(this,a,!0)};function Xb(a,y,ee){a.$f.remove(y);var ne=a.Ac(y);if(ne!==void 0&&a.wb.remove(ne),ne=null,ee){if(ne=a.md.indexOf(y),0>ne)return;a.md.splice(ne,1)}if(ac(a,"linkDataArray",Wi,"linkDataArray",a,y,null,ne,null),ee=gu(a,y,!0),dd(a,ee,y),ee=gu(a,y,!1),dd(a,ee,y),ne=a.Ef(y),Array.isArray(ne))for(var se=ne.length,ue=0;ue<se;ue++)ee=ne[ue],dd(a,ee,y)}It.lA=function(a){if(Array.isArray(a))for(var y=a.length,ee=0;ee<y;ee++)this.bm(a[ee]);else for(a=a.iterator;a.next();)this.bm(a.value)},It.Zz=function(a){if(this.linkKeyProperty===""&&cn("GraphLinksModel.linkKeyProperty must not be an empty string for .mergeLinkDataArray() to succeed."),a!==this.linkDataArray&&dn(a)){var y=this.kl;y.clear(),y.addAll(this.wb.iteratorKeys);var ee=this.il;ee.clear();for(var ne=a.length,se=0;se<ne;se++){var ue=a[se],me=this.Ac(ue);if(me!==void 0){ee.add(me);var be=this.jh(me);be!==ue&&(be!==null?(this.Do(be,ue),Qb(this,ue,be)):(ue=this.cloneDeep(ue),this.Ks(ue,me),this.fi(ue)))}else me=this.cloneDeep(ue),this.fi(me),ee.add(this.Ac(me))}for(a=y.iterator;a.next();)ne=a.value,ee.contains(ne)||(ne=this.jh(ne))&&this.bm(ne);y.clear(),ee.clear()}};function $w(a,y){var ee=gu(a,y,!0);ee=a.Vl(ee),a.hc(ee)===null&&Jg(a,ee,y),ee=gu(a,y,!1),ee=a.Vl(ee),a.hc(ee)===null&&Jg(a,ee,y);var ne=a.Ef(y);if(Array.isArray(ne))for(var se=ne.length,ue=0;ue<se;ue++)ee=ne[ue],a.hc(ee)===null&&Jg(a,ee,y)}It.Jo=function(a){if(a===null)return null;var y=this.Ak;return a=y!==null?y(a,this):Tg(this,a,!0),On(a)&&(Ca(a),this.lf!==""&&Pl(a,this.lf,void 0),this.mf!==""&&Pl(a,this.mf,void 0),this.je!==""&&Pl(a,this.je,[])),a},It.Yu=function(a){if(a===null)return!1;var y=this.jl;return y===""?!1:!!Jl(a,y)},It.lh=function(a){if(a!==null){var y=this.Je;if(y!==""&&(y=Jl(a,y),y!==void 0)){if(tv(y))return y;cn("GroupKey value for node data "+a+" is not a number or a string: "+y)}}},It.mp=function(a,y){if(y===null&&(y=void 0),a!==null){var ee=this.Je;if(ee!=="")if(this.lb(a)){var ne=Jl(a,ee);ne!==y&&(dd(this,ne,a),Pl(a,ee,y),this.hc(y)===null&&Jg(this,y,a),ac(this,"nodeGroupKey",mi,ee,a,ne,y),typeof ee=="string"&&this.La(a,ee))}else Pl(a,ee,y)}},bs.prototype.copyNodeData=function(a){return a===null?null:(a=To.prototype.copyNodeData.call(this,a),this.Ij||this.Je===""||Jl(a,this.Je)===void 0||Pl(a,this.Je,void 0),a)},bs.prototype.setDataProperty=function(a,y,ee){if(this.lb(a)){if(y===this.nodeKeyProperty){this.km(a,ee);return}if(y===this.nodeCategoryProperty){this.jm(a,ee);return}if(y===this.nodeGroupKeyProperty){this.mp(a,ee);return}}else if(this.Jc(a)){if(y===this.linkFromKeyProperty){z1(this,a,ee,!0);return}if(y===this.linkToKeyProperty){z1(this,a,ee,!1);return}if(y===this.linkFromPortIdProperty){j1(this,a,ee,!0);return}if(y===this.linkToPortIdProperty){j1(this,a,ee,!1);return}if(y===this.linkKeyProperty){this.Ks(a,ee);return}if(y===this.linkCategoryProperty){this.lp(a,ee);return}if(y===this.linkLabelKeysProperty){this.Ls(a,ee);return}}var ne=Jl(a,y);ne!==ee&&(Pl(a,y,ee),this.Fs(a,y,ne,ee))},It=bs.prototype,It.Do=function(a,y){if(y){var ee=this.lb(a),ne=this.Jc(a),se;for(se in y)se==="__gohashid"||ee&&se===this.nodeKeyProperty||ee&&se===this.nodeIsGroupProperty&&Jl(a,se)===y[se]||ne&&se===this.linkKeyProperty||this.setDataProperty(a,se,y[se])}},It.jp=function(a,y){To.prototype.jp.call(this,a,y);for(var ee=this.kb.iterator;ee.next();)this.qv(ee.value,a,y);for(ee=this.$f.iterator;ee.next();){var ne=ee.value,se=a,ue=y;if(gu(this,ne,!0)===se){var me=this.lf;Pl(ne,me,ue),ac(this,"linkFromKey",mi,me,ne,se,ue),typeof me=="string"&&this.La(ne,me)}if(gu(this,ne,!1)===se&&(me=this.mf,Pl(ne,me,ue),ac(this,"linkToKey",mi,me,ne,se,ue),typeof me=="string"&&this.La(ne,me)),me=this.Ef(ne),Array.isArray(me))for(var be=me.length,Fe=this.je,Ye=0;Ye<be;Ye++)me[Ye]===se&&(me[Ye]=ue,ac(this,"linkLabelKeys",Ci,Fe,ne,se,ue,Ye,Ye))}},It.qv=function(a,y,ee){if(this.lh(a)===y){var ne=this.Je;Pl(a,ne,ee),ac(this,"nodeGroupKey",mi,ne,a,y,ee),typeof ne=="string"&&this.La(a,ne)}},It.Lv=function(){To.prototype.Lv.call(this);for(var a=this.linkDataArray,y=a.length,ee=0;ee<y;ee++)$w(this,a[ee])},It.fm=function(a){To.prototype.fm.call(this,a),a=this.wa(a);var y=Tm(this,a);if(y!==null){var ee=pr();for(y=y.iterator;y.next();){var ne=y.value;if(this.lb(ne)){if(this.lh(ne)===a){var se=this.Je;ac(this,"nodeGroupKey",mi,se,ne,a,a),typeof se=="string"&&this.La(ne,se),ee.push(ne)}}else if(gu(this,ne,!0)===a&&(se=this.lf,ac(this,"linkFromKey",mi,se,ne,a,a),typeof se=="string"&&this.La(ne,se),ee.push(ne)),gu(this,ne,!1)===a&&(se=this.mf,ac(this,"linkToKey",mi,se,ne,a,a),typeof se=="string"&&this.La(ne,se),ee.push(ne)),se=this.Ef(ne),Array.isArray(se))for(var ue=se.length,me=this.je,be=0;be<ue;be++)se[be]===a&&(ac(this,"linkLabelKeys",Ci,me,ne,a,a,be,be),ee.push(ne))}for(y=0;y<ee.length;y++)dd(this,a,ee[y]);Mr(ee)}},It.em=function(a){To.prototype.em.call(this,a);var y=this.lh(a);this.hc(y)===null&&Jg(this,y,a)},It.qp=function(a){To.prototype.qp.call(this,a);var y=this.lh(a);dd(this,y,a)},It.ps=function(a){if(a===null)return"";var y=this.dj;if(y===""||(y=Jl(a,y),y===void 0))return"";if(typeof y=="string")return y;cn("getCategoryForLinkData found a non-string category for "+a+": "+y)},bs.prototype.getLinkCategoryForData=function(a){return this.ps(a)},bs.prototype.lp=function(a,y){if(a!==null){var ee=this.dj;if(ee!=="")if(this.Jc(a)){var ne=Jl(a,ee);ne===void 0&&(ne=""),ne!==y&&(Pl(a,ee,y),ac(this,"linkCategory",mi,ee,a,ne,y),typeof ee=="string"&&this.La(a,ee))}else Pl(a,ee,y)}},bs.prototype.setLinkCategoryForData=function(a,y){this.lp(a,y)},It=bs.prototype,It.lm=function(a,y){To.prototype.lm.call(this,a,y),this.mp(y,this.lh(a))};function Qb(a,y,ee){a.lp(ee,a.ps(y)),a.wv(ee,a.yx(y)),a.Bv(ee,a.Bx(y)),a.Ls(ee,a.Ef(y)),a.xv(ee,a.zx(y)),a.Cv(ee,a.Cx(y))}It.Wj=function(){return!0},It.ri=function(){return!0},It.xs=function(){return!0},It.Xj=function(){return!0},Re.Object.defineProperties(bs.prototype,{archetypeNodeData:{get:function(){return this.Ri},set:function(a){var y=this.Ri;y!==a&&(this.Ri=a,this.g("archetypeNodeData",y,a))}},linkFromKeyProperty:{get:function(){return this.lf},set:function(a){var y=this.lf;y!==a&&(this.lf=a,this.g("linkFromKeyProperty",y,a))}},linkToKeyProperty:{get:function(){return this.mf},set:function(a){var y=this.mf;y!==a&&(this.mf=a,this.g("linkToKeyProperty",y,a))}},linkFromPortIdProperty:{get:function(){return this.ej},set:function(a){var y=this.ej;y!==a&&(this.ej=a,this.g("linkFromPortIdProperty",y,a))}},linkToPortIdProperty:{get:function(){return this.fj},set:function(a){var y=this.fj;y!==a&&(this.fj=a,this.g("linkToPortIdProperty",y,a))}},linkLabelKeysProperty:{get:function(){return this.je},set:function(a){var y=this.je;y!==a&&(this.je=a,this.g("linkLabelKeysProperty",y,a))}},linkDataArray:{get:function(){return this.md},set:function(a){var y=this.md;if(y!==a){this.wb.clear();for(var ee=a.length,ne=0;ne<ee;ne++){var se=a[ne];On(se)||cn("GraphLinksModel.linkDataArray must only contain Objects, not: "+se),ss(se)}if(this.md=a,this.linkKeyProperty!==""){for(ne=new Hr,se=0;se<ee;se++){var ue=a[se],me=this.Ac(ue);me===void 0||this.wb.I(me)!==null?ne.add(ue):this.wb.add(me,ue)}for(ne=ne.iterator;ne.next();)se=ne.value,this.Bs(se),ue=this.Ac(se),ue!==void 0&&this.wb.add(ue,se)}for(ne=new Zr,se=0;se<ee;se++)ne.add(a[se]);for(this.$f=ne,ac(this,"linkDataArray",mi,"linkDataArray",this,y,a),y=0;y<ee;y++)$w(this,a[y])}}},linkKeyProperty:{get:function(){return this.Jh},set:function(a){var y=this.Jh;if(y!==a){this.Jh=a,this.wb.clear();for(var ee=this.linkDataArray.length,ne=0;ne<ee;ne++){var se=this.linkDataArray[ne],ue=this.Ac(se);ue===void 0&&(this.Bs(se),ue=this.Ac(se)),ue!==void 0&&this.wb.add(ue,se)}this.g("linkKeyProperty",y,a)}}},makeUniqueLinkKeyFunction:{get:function(){return this.cl},set:function(a){var y=this.cl;y!==a&&(this.cl=a,this.g("makeUniqueLinkKeyFunction",y,a))}},copyLinkDataFunction:{get:function(){return this.Ak},set:function(a){var y=this.Ak;y!==a&&(this.Ak=a,this.g("copyLinkDataFunction",y,a))}},nodeIsGroupProperty:{get:function(){return this.jl},set:function(a){var y=this.jl;y!==a&&(this.jl=a,this.g("nodeIsGroupProperty",y,a))}},nodeGroupKeyProperty:{get:function(){return this.Je},set:function(a){var y=this.Je;y!==a&&(this.Je=a,this.g("nodeGroupKeyProperty",y,a))}},Ij:{get:function(){return this.Lm},set:function(a){this.Lm!==a&&(this.Lm=a)}},linkCategoryProperty:{get:function(){return this.dj},set:function(a){var y=this.dj;y!==a&&(this.dj=a,this.g("linkCategoryProperty",y,a))}},type:{get:function(){return"GraphLinksModel"}}}),bs.prototype.setCategoryForLinkData=bs.prototype.lp,bs.prototype.getCategoryForLinkData=bs.prototype.ps,bs.prototype.assignAllDataProperties=bs.prototype.Do,bs.prototype.setGroupKeyForNodeData=bs.prototype.mp,bs.prototype.getGroupKeyForNodeData=bs.prototype.lh,bs.prototype.isGroupForNodeData=bs.prototype.Yu,bs.prototype.copyLinkData=bs.prototype.Jo,bs.prototype.mergeLinkDataArray=bs.prototype.Zz,bs.prototype.removeLinkDataCollection=bs.prototype.lA,bs.prototype.removeLinkData=bs.prototype.bm,bs.prototype.addLinkDataCollection=bs.prototype.Ey,bs.prototype.addLinkData=bs.prototype.fi,bs.prototype.containsLinkData=bs.prototype.Jc,bs.prototype.makeLinkDataKeyUnique=bs.prototype.Bs,bs.prototype.findLinkDataForKey=bs.prototype.jh,bs.prototype.setKeyForLinkData=bs.prototype.Ks,bs.prototype.getKeyForLinkData=bs.prototype.Ac,bs.prototype.removeLabelKeyForLinkData=bs.prototype.Qx,bs.prototype.addLabelKeyForLinkData=bs.prototype.Bu,bs.prototype.setLabelKeysForLinkData=bs.prototype.Ls,bs.prototype.getLabelKeysForLinkData=bs.prototype.Ef,bs.prototype.setToPortIdForLinkData=bs.prototype.Cv,bs.prototype.getToPortIdForLinkData=bs.prototype.Cx,bs.prototype.setFromPortIdForLinkData=bs.prototype.xv,bs.prototype.getFromPortIdForLinkData=bs.prototype.zx,bs.prototype.setToKeyForLinkData=bs.prototype.Bv,bs.prototype.getToKeyForLinkData=bs.prototype.Bx,bs.prototype.setFromKeyForLinkData=bs.prototype.wv,bs.prototype.getFromKeyForLinkData=bs.prototype.yx,bs.prototype.clear=bs.prototype.clear;var cE=Object.freeze([]);bs.className="GraphLinksModel",ig.GraphLinksModel=bs,To.constructGraphLinksModel=To.constructGraphLinksModel=function(){return new bs},To.initDiagramModel=Jw=function(){return new bs};function nd(a,y){To.call(this),this.Ke="parent",this.Nm=!1,this.nj="parentLinkCategory",a!==void 0&&(dn(a)?this.nodeDataArray=a:y=a),y&&(Object.assign(this,y),a=y.Changed)&&(delete this.Changed,this.Pe(a))}He(nd,To),nd.constructGraphLinksModel=To.constructGraphLinksModel,nd.prototype.cloneProtected=function(a){To.prototype.cloneProtected.call(this,a),a.Ke=this.Ke,a.Nm=this.Nm,a.nj=this.nj},It=nd.prototype,It.toString=function(a){if(a===void 0&&(a=0),2<=a)return this.np();var y=(this.name!==""?this.name:"")+" TreeModel";if(0<a){y+=`
node data:`,a=this.nodeDataArray;for(var ee=a.length,ne=0;ne<ee;ne++){var se=a[ne];y+=" "+this.wa(se)+":"+Nr(se)}}return y},It.rm=function(){var a=To.prototype.rm.call(this),y="";return this.nodeParentKeyProperty!=="parent"&&typeof this.nodeParentKeyProperty=="string"&&(y+=`,
"nodeParentKeyProperty": `+this.quote(this.nodeParentKeyProperty)),a+y},It.gp=function(a){To.prototype.gp.call(this,a),a.nodeParentKeyProperty&&(this.nodeParentKeyProperty=a.nodeParentKeyProperty)},It.fp=function(a){a.nodeParentKeyProperty!==void 0&&a.nodeParentKeyProperty!==this.nodeParentKeyProperty&&cn("applyIncrementalJson cannot change Model properties"),To.prototype.fp.call(this,a)},It.Vl=function(a){return a},It.mh=function(a){if(a!==null){var y=this.Ke;if(y!==""&&(y=Jl(a,y),y!==void 0)){if(tv(y))return y;cn("ParentKey value for node data "+a+" is not a number or a string: "+y)}}},It.qe=function(a,y){if(y===null&&(y=void 0),a!==null){var ee=this.Ke;if(ee!=="")if(y=this.Vl(y),this.lb(a)){var ne=Jl(a,ee);ne!==y&&(dd(this,ne,a),Pl(a,ee,y),this.hc(y)===null&&Jg(this,y,a),ac(this,"nodeParentKey",mi,ee,a,ne,y),typeof ee=="string"&&this.La(a,ee))}else Pl(a,ee,y)}},It.ss=function(a){if(a===null)return"";var y=this.nj;return y===""||(y=Jl(a,y),y===void 0)?"":typeof y=="string"?y:(cn("getParentLinkCategoryForNodeData found a non-string category for "+a+": "+y),"")},nd.prototype.getLinkCategoryForData=function(a){return this.ss(a)},nd.prototype.Ms=function(a,y){if(a!==null){var ee=this.nj;if(ee!=="")if(this.lb(a)){var ne=Jl(a,ee);ne===void 0&&(ne=""),ne!==y&&(Pl(a,ee,y),ac(this,"parentLinkCategory",mi,ee,a,ne,y),typeof ee=="string"&&this.La(a,ee))}else Pl(a,ee,y)}},nd.prototype.setLinkCategoryForData=function(a,y){this.Ms(a,y)},nd.prototype.copyNodeData=function(a){return a===null?null:(a=To.prototype.copyNodeData.call(this,a),this.Jj||this.Ke===""||Jl(a,this.Ke)===void 0||Pl(a,this.Ke,void 0),a)},nd.prototype.setDataProperty=function(a,y,ee){if(this.lb(a)){if(y===this.nodeKeyProperty){this.km(a,ee);return}if(y===this.nodeCategoryProperty){this.jm(a,ee);return}if(y===this.nodeParentKeyProperty){this.qe(a,ee);return}}var ne=Jl(a,y);ne!==ee&&(Pl(a,y,ee),this.Fs(a,y,ne,ee))},It=nd.prototype,It.jp=function(a,y){To.prototype.jp.call(this,a,y);for(var ee=this.kb.iterator;ee.next();)this.qv(ee.value,a,y)},It.qv=function(a,y,ee){if(this.mh(a)===y){var ne=this.Ke;Pl(a,ne,ee),ac(this,"nodeParentKey",mi,ne,a,y,ee),typeof ne=="string"&&this.La(a,ne)}},It.fm=function(a){To.prototype.fm.call(this,a),a=this.wa(a);var y=Tm(this,a);if(y!==null){var ee=pr();for(y=y.iterator;y.next();){var ne=y.value;if(this.lb(ne)&&this.mh(ne)===a){var se=this.Ke;ac(this,"nodeParentKey",mi,se,ne,a,a),typeof se=="string"&&this.La(ne,se),ee.push(ne)}}for(y=0;y<ee.length;y++)dd(this,a,ee[y]);Mr(ee)}},It.em=function(a){To.prototype.em.call(this,a);var y=this.mh(a);y=this.Vl(y),this.hc(y)===null&&Jg(this,y,a)},It.qp=function(a){To.prototype.qp.call(this,a);var y=this.mh(a);dd(this,y,a)},It.lm=function(a,y){To.prototype.lm.call(this,a,y),this.Ms(y,this.ss(a)),this.qe(y,this.mh(a))},It.Tl=function(){return!0},It.xs=function(){return!0},Re.Object.defineProperties(nd.prototype,{nodeParentKeyProperty:{get:function(){return this.Ke},set:function(a){var y=this.Ke;y!==a&&(this.Ke=a,this.g("nodeParentKeyProperty",y,a))}},Jj:{get:function(){return this.Nm},set:function(a){this.Nm!==a&&(this.Nm=a)}},parentLinkCategoryProperty:{get:function(){return this.nj},set:function(a){var y=this.nj;y!==a&&(this.nj=a,this.g("parentLinkCategoryProperty",y,a))}},linkCategoryProperty:{get:function(){return this.parentLinkCategoryProperty},set:function(a){this.parentLinkCategoryProperty=a}},type:{get:function(){return"TreeModel"}}}),nd.prototype.setParentLinkCategoryForNodeData=nd.prototype.Ms,nd.prototype.getParentLinkCategoryForNodeData=nd.prototype.ss,nd.prototype.setParentKeyForNodeData=nd.prototype.qe,nd.prototype.getParentKeyForNodeData=nd.prototype.mh,nd.className="TreeModel",ig.TreeModel=nd;function ou(a){Ol.call(this),this.lw=this.Zm=this.lc=0,this.Wp=360,this.kw=Dg,this.Ti=0,this.Zv=new yn,this.Jp=this.me=0,this.Xr=new Iy,this.gt=this.mj=0,this.ty=600,this.eo=NaN,this.Cm=1,this.ro=0,this.ul=360,this.Rb=Dg,this.K=jh,this.nd=W1,this.hd=ng,this.tf=6,this.Nn=vE,a&&Object.assign(this,a)}He(ou,Ol),ou.prototype.cloneProtected=function(a){Ol.prototype.cloneProtected.call(this,a),a.eo=this.eo,a.Cm=this.Cm,a.ro=this.ro,a.ul=this.ul,a.Rb=this.Rb,a.K=this.K,a.nd=this.nd,a.hd=this.hd,a.tf=this.tf,a.Nn=this.Nn},ou.prototype.qb=function(a){a.classType===ou?a===GA||a===HA||a===pE||a===og||a===W1?this.sorting=a:a===Om||a===Kd||a===jh||a===Fv?this.direction=a:a===f0||a===kv||a===Dg||a===Bf?this.arrangement=a:(a===Nm||a===vE)&&(this.nodeDiameterFormula=a):Ol.prototype.qb.call(this,a)},ou.prototype.createNetwork=function(){return new Bm(this)},ou.prototype.doLayout=function(a){if(this.network===null&&(this.network=this.makeNetwork(a)),this.arrangementOrigin=this.initialOrigin(this.arrangementOrigin),a=this.network.vertexes,1>=a.count)a.count===1&&(a=a.first(),a.centerX=0,a.centerY=0);else{var y=new Hr;y.addAll(a.iterator),a=new Hr;var ee=new Hr,ne=this.sort(y),se,ue,me=this.Jp,be=this.arrangement,Fe=this.nodeDiameterFormula,Ye=this.radius;(!isFinite(Ye)||0>=Ye)&&(Ye=NaN);var Je=this.aspectRatio;(!isFinite(Je)||0>=Je)&&(Je=1);var st=this.startAngle;isFinite(st)||(st=0);var yt=this.sweepAngle;if((!isFinite(yt)||360<yt||1>yt)&&(yt=360),y=this.spacing,isFinite(y)||(y=NaN),be===Bf&&Fe===Nm?be=Dg:be===Bf&&Fe!==Nm&&(be=this.arrangement),(this.direction===Om||this.direction===Kd)&&this.sorting!==W1){for(Fe=0;!(Fe>=ne.length)&&(a.add(ne.M(Fe)),!(Fe+1>=ne.length));Fe+=2)ee.add(ne.M(Fe+1));this.direction===Om?(this.arrangement===Bf&&a.reverse(),ne=new Hr,ne.addAll(a),ne.addAll(ee)):(this.arrangement===Bf&&ee.reverse(),ne=new Hr,ne.addAll(ee),ne.addAll(a))}Fe=ne.length;for(var Tt=ue=se=0;Tt<ne.length;Tt++){var Ft=st+yt*ue*(this.direction===jh?1:-1)/Fe,Zt=ne.M(Tt).diameter;isNaN(Zt)&&(Zt=nv(ne.M(Tt),Ft)),360>yt&&(Tt===0||Tt===ne.length-1)&&(Zt/=2),se+=Zt,ue++}if(isNaN(Ye)||be===Bf){if(isNaN(y)&&(y=6),be!==Dg&&be!==Bf){for(ue=-1/0,me=0;me<Fe;me++)Tt=ne.M(me),se=ne.M(me===Fe-1?0:me+1),isNaN(Tt.diameter)&&nv(Tt,0),isNaN(se.diameter)&&nv(se,0),ue=Math.max(ue,(Tt.diameter+se.diameter)/2);me=ue+y,be===f0?Ye=(ue+y)/(2*Math.PI/Fe):Ye=UA(this,me*(360<=yt?Fe:Fe-1),Je,st*Math.PI/180,yt*Math.PI/180)}else Ye=UA(this,se+(360<=yt?Fe:Fe-1)*(be!==Bf?y:1.6*y),Je,st*Math.PI/180,yt*Math.PI/180);ue=Ye*Je}else if(ue=Ye*Je,Tt=Dy(this,Ye,ue,st*Math.PI/180,yt*Math.PI/180),isNaN(y))(be===Dg||be===Bf)&&(y=(Tt-se)/(360<=yt?Fe:Fe-1));else if(be===Dg||be===Bf)Tt=(Tt-se)/(360<=yt?Fe:Fe-1),Tt<y?(Ye=UA(this,se+y*(360<=yt?Fe:Fe-1),Je,st*Math.PI/180,yt*Math.PI/180),ue=Ye*Je):y=Tt;else{for(me=-1/0,se=0;se<Fe;se++)Ft=ne.M(se),Zt=ne.M(se===Fe-1?0:se+1),isNaN(Ft.diameter)&&nv(Ft,0),isNaN(Zt.diameter)&&nv(Zt,0),me=Math.max(me,(Ft.diameter+Zt.diameter)/2);me+=y,se=UA(this,me*(360<=yt?Fe:Fe-1),Je,st*Math.PI/180,yt*Math.PI/180),se>Ye?(Ye=se,ue=Ye*Je):me=Tt/(360<=yt?Fe:Fe-1)}if(this.kw=be,this.lc=Ye,this.Zm=Je,this.lw=st,this.Wp=yt,this.Ti=y,this.me=ue,this.Jp=me,y=ne,ne=this.kw,be=this.lc,Ye=this.lw,Je=this.Wp,st=this.Ti,yt=this.me,Fe=this.Jp,this.direction!==Om&&this.direction!==Kd||ne!==Bf)if(this.direction===Om||this.direction===Kd){switch(me=0,ne){case kv:me=180*Im(this,be,yt,Ye,Fe)/Math.PI;break;case Dg:Fe=y=0,me=a.first(),me!==null&&(y=nv(me,Math.PI/2)),me=ee.first(),me!==null&&(Fe=nv(me,Math.PI/2)),me=180*Im(this,be,yt,Ye,st+(y+Fe)/2)/Math.PI;break;case f0:me=Je/y.length}if(this.direction===Om){switch(ne){case kv:fE(this,a,Ye,Fv);break;case Dg:dE(this,a,Ye,Fv);break;case f0:hE(this,a,Je/2,Ye,Fv)}switch(ne){case kv:fE(this,ee,Ye+me,jh);break;case Dg:dE(this,ee,Ye+me,jh);break;case f0:hE(this,ee,Je/2,Ye+me,jh)}}else{switch(ne){case kv:fE(this,ee,Ye,Fv);break;case Dg:dE(this,ee,Ye,Fv);break;case f0:hE(this,ee,Je/2,Ye,Fv)}switch(ne){case kv:fE(this,a,Ye+me,jh);break;case Dg:dE(this,a,Ye+me,jh);break;case f0:hE(this,a,Je/2,Ye+me,jh)}}}else switch(ne){case kv:fE(this,y,Ye,this.direction);break;case Dg:dE(this,y,Ye,this.direction);break;case f0:hE(this,y,Je,Ye,this.direction);break;case Bf:Jb(this,y,Je,Ye,this.direction)}else Jb(this,y,Je,Ye-Je/2,jh)}this.updateParts(),this.network=null,this.isValidLayout=!0};function hE(a,y,ee,ne,se){var ue=a.Wp,me=a.lc;a=a.me,ne=ne*Math.PI/180,ee=ee*Math.PI/180;for(var be=y.length,Fe=0;Fe<be;Fe++){var Ye=ne+(se===jh?Fe*ee/(360<=ue?be:be-1):-(Fe*ee)/be),Je=y.M(Fe),st=me*Math.tan(Ye)/a;st=Math.sqrt((me*me+a*a*st*st)/(1+st*st)),Je.centerX=st*Math.cos(Ye),Je.centerY=st*Math.sin(Ye),Je.actualAngle=180*Ye/Math.PI}}function dE(a,y,ee,ne){var se=a.lc,ue=a.me,me=a.Ti;ee=ee*Math.PI/180;for(var be=y.length,Fe=0;Fe<be;Fe++){var Ye=y.M(Fe),Je=y.M(Fe===be-1?0:Fe+1),st=ue*Math.sin(ee);Ye.centerX=se*Math.cos(ee),Ye.centerY=st,Ye.actualAngle=180*ee/Math.PI,isNaN(Ye.diameter)&&nv(Ye,0),isNaN(Je.diameter)&&nv(Je,0),Ye=Im(a,se,ue,ne===jh?ee:-ee,(Ye.diameter+Je.diameter)/2+me),ee+=ne===jh?Ye:-Ye}}function fE(a,y,ee,ne){var se=a.lc,ue=a.me,me=a.Jp;ee=ee*Math.PI/180;for(var be=y.length,Fe=0;Fe<be;Fe++){var Ye=y.M(Fe);Ye.centerX=se*Math.cos(ee),Ye.centerY=ue*Math.sin(ee),Ye.actualAngle=180*ee/Math.PI,Ye=Im(a,se,ue,ne===jh?ee:-ee,me),ee+=ne===jh?Ye:-Ye}}function Jb(a,y,ee,ne,se){var ue=a.Wp;if(a.mj=0,a.Xr=new Iy,360>ee){for(ue=ne+(se===jh?ue:-ue);0>ue;)ue+=360;ue%=360,180<ue&&(ue-=360),ue*=Math.PI/180,a.gt=ue,zT(a,y,ee,ne,se)}else $b(a,y,ee,ne,se);a.Xr.commit(y)}function $b(a,y,ee,ne,se){var ue=a.lc,me=a.Ti,be=a.Zm,Fe=ue*Math.cos(ne*Math.PI/180),Ye=a.me*Math.sin(ne*Math.PI/180),Je=y.Fa();if(Je.length===3)Je[0].centerX=ue,Je[0].centerY=0,Je[1].centerX=Je[0].centerX-Je[0].width/2-Je[1].width/2-me,Je[1].y=Je[0].y,Je[2].centerX=(Je[0].centerX+Je[1].centerX)/2,Je[2].y=Je[0].y-Je[2].height-me;else if(Je.length===4)Je[0].centerX=ue,Je[0].centerY=0,Je[2].centerX=-Je[0].centerX,Je[2].centerY=Je[0].centerY,Je[1].centerX=0,Je[1].y=Math.min(Je[0].y,Je[2].y)-Je[1].height-me,Je[3].centerX=0,Je[3].y=Math.max(Je[0].y+Je[0].height+me,Je[2].y+Je[2].height+me);else{ue=yn.alloc();for(var st=0;st<Je.length&&(Je[st].centerX=Fe,Je[st].centerY=Ye,!(st>=Je.length-1));st++)Dm(a,Fe,Ye,Je,st,se,ue)||gE(a,Fe,Ye,Je,st,se,ue),Fe=ue.x,Ye=ue.y;if(yn.free(ue),a.mj++,!(23<a.mj)){Fe=Je[0].centerX,Ye=Je[0].centerY,ue=Je[Je.length-1].centerX,st=Je[Je.length-1].centerY;var yt=Math.abs(Fe-ue)-((Je[0].width+Je[Je.length-1].width)/2+me),Tt=Math.abs(Ye-st)-((Je[0].height+Je[Je.length-1].height)/2+me);me=0,1>Math.abs(Tt)?Math.abs(Fe-ue)<(Je[0].width+Je[Je.length-1].width)/2&&(me=0):me=0<Tt?Tt:1>Math.abs(yt)?0:yt,Fe=Math.abs(ue)>Math.abs(st)?0<ue!=Ye>st:0<st!=Fe<ue,(Fe=se===jh?Fe:!Fe)&&(me=-Math.abs(me),me=Math.min(me,-Je[Je.length-1].width),me=Math.min(me,-Je[Je.length-1].height)),a.Xr.compare(me,Je),1<Math.abs(me)&&(a.lc=8>a.mj?a.lc-me/(2*Math.PI):5>Je.length&&10<me?a.lc/2:a.lc-(0<me?1.7:-2.3),a.me=a.lc*be,$b(a,y,ee,ne,se))}}}function zT(a,y,ee,ne,se){for(var ue=a.lc,me=a.me,be=a.Zm,Fe=ue*Math.cos(ne*Math.PI/180),Ye=me*Math.sin(ne*Math.PI/180),Je=yn.alloc(),st=y.Fa(),yt=0;yt<st.length&&(st[yt].centerX=Fe,st[yt].centerY=Ye,!(yt>=st.length-1));yt++)Dm(a,Fe,Ye,st,yt,se,Je)||gE(a,Fe,Ye,st,yt,se,Je),Fe=Je.x,Ye=Je.y;if(yn.free(Je),a.mj++,!(23<a.mj)){if(Fe=Math.atan2(Ye,Fe),Fe=se===jh?a.gt-Fe:Fe-a.gt,Fe=Math.abs(Fe)<Math.abs(Fe-2*Math.PI)?Fe:Fe-2*Math.PI,ue=Fe*(ue+me)/2,me=a.Xr,Math.abs(ue)<Math.abs(me.Pl))for(me.Pl=ue,me.mk=[],me.tm=[],Fe=0;Fe<st.length;Fe++)me.mk[Fe]=st[Fe].bounds.x,me.tm[Fe]=st[Fe].bounds.y;1<Math.abs(ue)&&(a.lc=8>a.mj?a.lc-ue/(2*Math.PI):a.lc-(0<ue?1.7:-2.3),a.me=a.lc*be,zT(a,y,ee,ne,se))}}function Dm(a,y,ee,ne,se,ue,me){var be=a.lc,Fe=a.me,Ye=0;a=(ne[se].width+ne[se+1].width)/2+a.Ti;var Je=!1;if(0<=ee!=(ue===jh)){if(ue=y+a,ue>be){if(ue=y-a,ue<-be)return me.x=ue,me.y=Ye,!1;Je=!0}}else if(ue=y-a,ue<-be){if(ue=y+a,ue>be)return me.x=ue,me.y=Ye,!1;Je=!0}return Ye=Math.sqrt(1-Math.min(1,ue*ue/(be*be)))*Fe,0>ee!==Je&&(Ye=-Ye),Math.abs(ee-Ye)>(ne[se].height+ne[se+1].height)/2?(me.x=ue,me.y=Ye,!1):(me.x=ue,me.y=Ye,!0)}function gE(a,y,ee,ne,se,ue,me){var be=a.lc,Fe=a.me,Ye=0;if(a=(ne[se].height+ne[se+1].height)/2+a.Ti,ne=!1,0<=y!=(ue===jh)){if(ue=ee-a,ue<-Fe){if(ue=ee+a,ue>Fe){me.x=Ye,me.y=ue;return}ne=!0}}else if(ue=ee+a,ue>Fe){if(ue=ee-a,ue<-Fe){me.x=Ye,me.y=ue;return}ne=!0}Ye=Math.sqrt(1-Math.min(1,ue*ue/(Fe*Fe)))*be,0>y!==ne&&(Ye=-Ye),me.x=Ye,me.y=ue}ou.prototype.commitLayout=function(){this.commitNodes(),this.isRouting&&this.commitLinks()},ou.prototype.commitNodes=function(){var a=this.group!==null&&this.group.placeholder!==null&&this.group.isSubGraphExpanded,y=a?this.group.location.copy():null,ee=this.actualCenter;a?ee=new yn(0,0):(ee.x=this.arrangementOrigin.x+this.lc,ee.y=this.arrangementOrigin.y+this.me);for(var ne=this.network.vertexes.iterator;ne.next();){var se=ne.value;se.x+=ee.x,se.y+=ee.y,se.commit()}a&&(this.group.Va(),a=this.group.position.copy(),ee=this.group.location.copy(),y=y.re(ee.re(a)),this.group.move(y),this.Zv=y.re(a))},ou.prototype.commitLinks=function(){for(var a=this.network.edges.iterator;a.next();)a.value.commit()};function Dy(a,y,ee,ne,se){var ue=a.ty;if(.001>Math.abs(a.Zm-1))return ne!==void 0&&se!==void 0?se*y:2*Math.PI*y;a=y>ee?Math.sqrt(y*y-ee*ee)/y:Math.sqrt(ee*ee-y*y)/ee;for(var me=0,be=ne!==void 0&&se!==void 0?se/(ue+1):Math.PI/(2*(ue+1)),Fe=0,Ye=0;Ye<=ue;Ye++){ne!==void 0&&se!==void 0?Fe=ne+Ye*se/ue:Fe=Ye*Math.PI/(2*ue);var Je=Math.sin(Fe);me+=Math.sqrt(1-a*a*Je*Je)*be}return ne!==void 0&&se!==void 0?(y>ee?y:ee)*me:4*(y>ee?y:ee)*me}function UA(a,y,ee,ne,se){return y/(ne!==void 0&&se!==void 0?Dy(a,1,ee,ne,se):Dy(a,1,ee))}function Im(a,y,ee,ne,se){if(.001>Math.abs(a.Zm-1))return se/y;var ue=y>ee?Math.sqrt(y*y-ee*ee)/y:Math.sqrt(ee*ee-y*y)/ee,me=0;a=2*Math.PI/(700*a.network.vertexes.count),y>ee&&(ne+=Math.PI/2);for(var be=0;;be++){var Fe=Math.sin(ne+be*a);if(me+=(y>ee?y:ee)*Math.sqrt(1-ue*ue*Fe*Fe)*a,me>=se)return be*a}}ou.prototype.sort=function(a){switch(this.sorting){case pE:break;case og:a.reverse();break;case GA:a.sort(this.comparer);break;case HA:a.sort(this.comparer),a.reverse();break;case W1:return this.ak(eP(a));default:cn("Invalid sorting type.")}return a};function eP(a){for(var y=[],ee=0;ee<a.length;ee++)y.push(0);ee=new Hr;for(var ne=0;ne<a.length;ne++){var se=-1,ue=-1;if(ne===0)for(var me=0;me<a.length;me++){var be=a.M(me).edgesCount;be>se&&(se=be,ue=me)}else for(me=0;me<a.length;me++)be=y[me],be>se&&(se=be,ue=me);for(ee.add(a.M(ue)),y[ue]=-1,ue=a.M(ue),me=ue.sourceEdges;me.next();)se=a.indexOf(me.value.fromVertex),0>se||0<=y[se]&&y[se]++;for(ue=ue.destinationEdges;ue.next();)se=a.indexOf(ue.value.toVertex),0>se||0<=y[se]&&y[se]++}return ee}ou.prototype.ak=function(a){for(var y=[],ee=0;ee<a.length;ee++){var ne=a.M(ee);y[ee]=[];for(var se,ue=ne.destinationEdges;ue.next();)se=a.indexOf(ue.value.toVertex),se!==ee&&0>y[ee].indexOf(se)&&y[ee].push(se);for(ne=ne.sourceEdges;ne.next();)se=a.indexOf(ne.value.fromVertex),se!==ee&&0>y[ee].indexOf(se)&&y[ee].push(se)}for(ue=[],ee=0;ee<y.length;ee++)ue[ee]=0;ee=[];var me=[],be=[];ne=[],se=new Hr;for(var Fe=0,Ye=0;Ye<y.length;Ye++){var Je=y[Ye].length;if(Je===1)ne.push(Ye);else if(Je===0)se.add(a.M(Ye));else{if(Fe===0)ee.push(Ye);else{for(var st=Je=1/0,yt=-1,Tt=[],Ft=0;Ft<ee.length;Ft++)0>y[ee[Ft]].indexOf(ee[Ft===ee.length-1?0:Ft+1])&&Tt.push(Ft===ee.length-1?0:Ft+1);if(Tt.length===0)for(Ft=0;Ft<ee.length;Ft++)Tt.push(Ft);for(Ft=0;Ft<Tt.length;Ft++){for(var Zt=Tt[Ft],bn=y[Ye],fn=0,Fn=0;Fn<me.length;Fn++){var zn=ue[me[Fn]],Zn=ue[be[Fn]];if(zn<Zn){var sr=zn;zn=Zn}else sr=Zn;if(sr<Zt&&Zt<=zn)for(Zn=0;Zn<bn.length;Zn++){var Br=bn[Zn];0>ee.indexOf(Br)||sr<ue[Br]&&ue[Br]<zn||sr===ue[Br]||zn===ue[Br]||fn++}else for(Zn=0;Zn<bn.length;Zn++)Br=bn[Zn],0>ee.indexOf(Br)||sr<ue[Br]&&ue[Br]<zn&&sr!==ue[Br]&&zn!==ue[Br]&&fn++}for(bn=fn,Fn=fn=0;Fn<y[Ye].length;Fn++)sr=ee.indexOf(y[Ye][Fn]),0<=sr&&(sr=Math.abs(Zt-(sr>=Zt?sr+1:sr)),fn+=sr<ee.length+1-sr?sr:ee.length+1-sr);for(Fn=0;Fn<me.length;Fn++)sr=ue[me[Fn]],zn=ue[be[Fn]],sr>=Zt&&sr++,zn>=Zt&&zn++,sr>zn&&(Zn=zn,zn=sr,sr=Zn),zn-sr<(ee.length+2)/2==(sr<Zt&&Zt<=zn)&&fn++;(bn<Je||bn===Je&&fn<st)&&(Je=bn,st=fn,yt=Zt)}for(ee.splice(yt,0,Ye),Je=0;Je<ee.length;Je++)ue[ee[Je]]=Je;for(Je=0;Je<y[Ye].length;Je++)st=y[Ye][Je],0<=ee.indexOf(st)&&(me.push(Ye),be.push(st))}Fe++}}for(me=ee.length;;){for(ue=!0,be=0;be<ne.length;be++)if(Fe=ne[be],Ye=y[Fe][0],Je=ee.indexOf(Ye),0<=Je){for(yt=st=0;yt<y[Ye].length;yt++)Tt=ee.indexOf(y[Ye][yt]),0>Tt||Tt===Je||(Ft=Tt>Je?Tt-Je:Je-Tt,st+=Tt<Je!=Ft>me-Ft?1:-1);ee.splice(0>st?Je:Je+1,0,Fe),ne.splice(be,1),be--}else ue=!1;if(ue)break;ee.push(ne[0]),ne.splice(0,1)}for(y=0;y<ee.length;y++)se.add(a.M(ee[y]));return se},Re.Object.defineProperties(ou.prototype,{radius:{get:function(){return this.eo},set:function(a){this.eo!==a&&(0<a||isNaN(a))&&(this.eo=a,this.C())}},aspectRatio:{get:function(){return this.Cm},set:function(a){this.Cm!==a&&0<a&&(this.Cm=a,this.C())}},startAngle:{get:function(){return this.ro},set:function(a){this.ro!==a&&(this.ro=a,this.C())}},sweepAngle:{get:function(){return this.ul},set:function(a){this.ul!==a&&(0<a&&360>=a?this.ul=a:this.ul=360,this.C())}},arrangement:{get:function(){return this.Rb},set:function(a){this.Rb===a||a!==Bf&&a!==Dg&&a!==kv&&a!==f0||(this.Rb=a,this.C())}},direction:{get:function(){return this.K},set:function(a){this.K===a||a!==jh&&a!==Fv&&a!==Om&&a!==Kd||(this.K=a,this.C())}},sorting:{get:function(){return this.nd},set:function(a){this.nd===a||a!==pE&&a!==og&&a!==GA&&!HA&&a!==W1||(this.nd=a,this.C())}},comparer:{get:function(){return this.hd},set:function(a){this.hd!==a&&(this.hd=a,this.C())}},spacing:{get:function(){return this.tf},set:function(a){this.tf!==a&&(this.tf=a,this.C())}},nodeDiameterFormula:{get:function(){return this.Nn},set:function(a){this.Nn===a||a!==vE&&a!==Nm||(this.Nn=a,this.C())}},actualXRadius:{get:function(){return this.lc}},actualYRadius:{get:function(){return this.me}},actualSpacing:{get:function(){return this.Ti}},actualCenter:{get:function(){return this.Zv}}});var Dg=new nr(ou,"ConstantSpacing",0),kv=new nr(ou,"ConstantDistance",1),f0=new nr(ou,"ConstantAngle",2),Bf=new nr(ou,"Packed",3),jh=new nr(ou,"Clockwise",4),Fv=new nr(ou,"Counterclockwise",5),Om=new nr(ou,"BidirectionalLeft",6),Kd=new nr(ou,"BidirectionalRight",7),pE=new nr(ou,"Forwards",8),og=new nr(ou,"Reverse",9),GA=new nr(ou,"Ascending",10),HA=new nr(ou,"Descending",11),W1=new nr(ou,"Optimized",12),vE=new nr(ou,"Pythagorean",13),Nm=new nr(ou,"Circular",14);ou.className="CircularLayout",ou.ConstantSpacing=Dg,ou.ConstantDistance=kv,ou.ConstantAngle=f0,ou.Packed=Bf,ou.Clockwise=jh,ou.Counterclockwise=Fv,ou.BidirectionalLeft=Om,ou.BidirectionalRight=Kd,ou.Forwards=pE,ou.Reverse=og,ou.Ascending=GA,ou.Descending=HA,ou.Optimized=W1,ou.Pythagorean=vE,ou.Circular=Nm;function Iy(){this.Pl=-1/0,this.tm=this.mk=null}Iy.prototype.compare=function(a,y){if(0<a&&0>this.Pl||Math.abs(a)<Math.abs(this.Pl)&&!(0>a&&0<this.Pl))for(this.Pl=a,this.mk=[],this.tm=[],a=0;a<y.length;a++)this.mk[a]=y[a].bounds.x,this.tm[a]=y[a].bounds.y},Iy.prototype.commit=function(a){if(this.mk!==null&&this.tm!==null)for(var y=0;y<this.mk.length;y++){var ee=a.M(y);ee.x=this.mk[y],ee.y=this.tm[y]}},Iy.className="VertexArrangement";function Bm(a){Il.call(this,a)}He(Bm,Il),Bm.prototype.createVertex=function(){return new Oy(this)},Bm.prototype.createEdge=function(){return new U1(this)},Bm.className="CircularNetwork";function Oy(a){dc.call(this,a),this.u=this.Si=NaN}He(Oy,dc);function nv(a,y){var ee=a.network;if(ee===null)return NaN;if(ee=ee.layout,ee===null)return NaN;if(ee.arrangement===Bf)if(ee.nodeDiameterFormula===Nm)a.Si=Math.max(a.width,a.height);else{if(ee=Math.abs(Math.sin(y)),y=Math.abs(Math.cos(y)),ee===0)return a.width;if(y===0)return a.height;a.Si=Math.min(a.height/ee,a.width/y)}else a.Si=ee.nodeDiameterFormula===Nm?Math.max(a.width,a.height):Math.sqrt(a.width*a.width+a.height*a.height);return a.Si}Re.Object.defineProperties(Oy.prototype,{diameter:{get:function(){return this.Si},set:function(a){this.Si!==a&&(this.Si=a)}},actualAngle:{get:function(){return this.u},set:function(a){this.u!==a&&(this.u=a)}}}),Oy.className="CircularVertex";function U1(a){Vd.call(this,a)}He(U1,Vd),U1.className="CircularEdge";function ch(a){Ol.call(this),this.ah=null,this.An=0,this.$d=new Ii(100,100).freeze(),this.Bm=!1,this.sf=!0,this.td=!1,this.dl=100,this.$m=1,this.Zf=1e3,this.In=10,this.fo=Math,this.Hk=.05,this.Gk=50,this.Ek=150,this.Fk=0,this.Vm=10,this.Um=5,a&&Object.assign(this,a)}He(ch,Ol),ch.prototype.cloneProtected=function(a){Ol.prototype.cloneProtected.call(this,a),a.$d.assign(this.$d),a.Bm=this.Bm,a.sf=this.sf,a.td=this.td,a.dl=this.dl,a.$m=this.$m,a.Zf=this.Zf,a.In=this.In,a.fo=this.fo,a.Hk=this.Hk,a.Gk=this.Gk,a.Ek=this.Ek,a.Fk=this.Fk,a.Vm=this.Vm,a.Um=this.Um},ch.prototype.createNetwork=function(){return new Rm(this)},ch.prototype.doLayout=function(a){if(this.network===null&&(this.network=this.makeNetwork(a)),a=this.maxIterations,0<this.network.vertexes.count){this.network.Ko();for(var y=this.network.vertexes.iterator;y.next();){var ee=y.value;ee.charge=this.electricalCharge(ee),ee.mass=this.gravitationalMass(ee)}for(y=this.network.edges.iterator;y.next();)ee=y.value,ee.stiffness=this.springStiffness(ee),ee.length=this.springLength(ee);if(this.Cu(),this.An=0,this.needsClusterLayout()){y=this.network,ee=y.Zx();for(var ne=ee.iterator;ne.next();){this.network=ne.value;for(var se=this.network.vertexes.iterator;se.next();){var ue=se.value;ue.Vd=ue.vertexes.count,ue.sh=1,ue.Hj=null,ue.We=null}tP(this,0,a)}this.network=y;var me=ne=ee.iterator;ne=this.arrangementSpacing;var be=me.count,Fe=!0;ue=se=0;for(var Ye=pr(),Je=0;Je<be+y.vertexes.count+2;Je++)Ye[Je]=null;be=0,me.reset();for(var st=Ur.alloc();me.next();)if(Je=me.value,this.computeBounds(Je,st),Fe)Fe=!1,se=st.x+st.width/2,ue=st.y+st.height/2,Ye[0]=new yn(st.x+st.width+ne.width,st.y),Ye[1]=new yn(st.x,st.y+st.height+ne.height),be=2;else{var yt=mE(Ye,be,se,ue,st.width,st.height,ne),Tt=Ye[yt],Ft=new yn(Tt.x+st.width+ne.width,Tt.y),Zt=new yn(Tt.x,Tt.y+st.height+ne.height);for(yt+1<be&&Ye.splice(yt+1,0,null),Ye[yt]=Ft,Ye[yt+1]=Zt,be++,yt=Tt.x-st.x,Tt=Tt.y-st.y,Je=Je.vertexes.iterator;Je.next();)Ft=Je.value,Ft.centerX+=yt,Ft.centerY+=Tt}for(Ur.free(st),Je=y.vertexes.iterator;Je.next();)me=Je.value,yt=me.bounds,2>be?(se=yt.x+yt.width/2,ue=yt.y+yt.height/2,Ye[0]=new yn(yt.x+yt.width+ne.width,yt.y),Ye[1]=new yn(yt.x,yt.y+yt.height+ne.height),be=2):(Fe=mE(Ye,be,se,ue,yt.width,yt.height,ne),st=Ye[Fe],Tt=new yn(st.x+yt.width+ne.width,st.y),yt=new yn(st.x,st.y+yt.height+ne.height),Fe+1<be&&Ye.splice(Fe+1,0,null),Ye[Fe]=Tt,Ye[Fe+1]=yt,be++,me.centerX=st.x+me.width/2,me.centerY=st.y+me.height/2);for(Mr(Ye),ne=ee.iterator;ne.next();){for(ee=ne.value,se=ee.vertexes.iterator;se.next();)y.dh(se.value);for(ee=ee.edges.iterator;ee.next();)y.Bo(ee.value)}}tC(this,a),this.updateParts()}this.dl=a,this.network=null,this.isValidLayout=!0},ch.prototype.needsClusterLayout=function(){if(3>this.network.vertexes.count)return!1;for(var a=0,y=0,ee=this.network.vertexes.first().bounds,ne=this.network.vertexes.iterator;ne.next();){if(ne.value.bounds.Yc(ee)&&(a++,2<a))return!0;if(10<y)break;y++}return!1},ch.prototype.computeBounds=function(a,y){var ee=!0;for(a=a.vertexes.iterator;a.next();){var ne=a.value;ee?(ee=!1,y.set(ne.bounds)):y.ed(ne.bounds)}return y};function tP(a,y,ee){if(jT(a,y)){var ne=a.Zf;a.Zf*=1+1/(y+1);var se=WT(a,y),ue=Math.max(0,Math.max(Math.min(a.network.vertexes.count,ee*(y+1)/11),10));for(a.maxIterations+=ue,tP(a,y+1,ee),tC(a,ue),VA(a,se),y=se.vertexes.Fa(),y.sort(function(me,be){return me===null||be===null||me===be?0:be.Vd-me.Vd}),ee=0;ee<y.length;ee++)UT(a,y[ee]);a.Zf=ne}}function jT(a,y){if(10<y||3>a.network.vertexes.count)return!1;for(a.ah=a.network.vertexes.Fa(),a=a.ah,a.sort(function(ee,ne){return ee===null||ne===null||ee===ne?0:ne.Vd-ee.Vd}),y=a.length-1;0<=y&&1>=a[y].Vd;)y--;return 1<a.length-y}function WT(a,y){for(var ee=a.network,ne=new Rm(a),se=0;se<a.ah.length;se++){var ue=a.ah[se];if(1<ue.Vd){ne.dh(ue);var me=new rP;me.Rs=ue.Vd,me.Ss=ue.width,me.Qs=ue.height,me.Sv=ue.focus.x,me.Tv=ue.focus.y,ue.We===null&&(ue.We=new Hr),ue.We.add(me),ue.sv=ue.We.count-1}else break}for(ue=ee.edges.iterator;ue.next();){var be=ue.value;se=be.fromVertex,me=be.toVertex,se.network===ne&&me.network===ne?ne.Bo(be):se.network===ne?(be=se.Hj,be===null&&(be=new Hr,se.Hj=be),be.add(me),se.Vd--,se.sh+=me.sh):me.network===ne&&(be=me.Hj,be===null&&(be=new Hr,me.Hj=be),be.add(se),me.Vd--,me.sh+=se.sh)}for(se=ne.edges.iterator;se.next();)ue=se.value,ue.length*=Math.max(1,dr.sqrt((ue.fromVertex.sh+ue.toVertex.sh)/(4*y+1)));for(y=ne.vertexes.iterator;y.next();){se=y.value;var Fe=se.Hj;if(Fe!==null&&0<Fe.count&&(me=se.We.M(se.We.count-1).Rs-se.Vd,!(0>=me))){for(var Ye=be=0,Je=Fe.count-me;Je<Fe.count;Je++){var st=Fe.M(Je),yt=null;for(ue=st.edges.iterator;ue.next();){var Tt=ue.value;if(Tt.Ax(st)===se){yt=Tt;break}}yt!==null&&(Ye+=yt.length,be+=st.width*st.height)}ue=se.centerX,Fe=se.centerY,Je=se.width,st=se.height,yt=se.focus,Tt=Je*st,1>Tt&&(Tt=1),be=dr.sqrt((be+Tt+Ye*Ye*4/(me*me))/Tt),me=(be-1)*Je/2,be=(be-1)*st/2,se.bounds=new Ur(ue-yt.x-me,Fe-yt.y-be,Je+2*me,st+2*be),se.focus=new yn(yt.x+me,yt.y+be)}}return a.network=ne,ee}function VA(a,y){for(var ee=a.network.vertexes.iterator;ee.next();){var ne=ee.value;if(ne.network=y,ne.We!==null){var se=ne.We.M(ne.sv);ne.Vd=se.Rs;var ue=se.Sv,me=se.Tv;ne.bounds=new Ur(ne.centerX-ue,ne.centerY-me,se.Ss,se.Qs),ne.focus=new yn(ue,me),ne.sv--}}for(ee=a.network.edges.iterator;ee.next();)ee.value.network=y;a.network=y}function UT(a,y){var ee=y.Hj;if(ee!==null&&ee.count!==0){var ne=y.centerX,se=y.centerY,ue=y.width,me=y.height;y.We!==null&&0<y.We.count&&(me=y.We.M(0),ue=me.Ss,me=me.Qs),ue=dr.sqrt(ue*ue+me*me)/2;for(var be=!1,Fe=me=0,Ye=0,Je=y.vertexes.iterator;Je.next();){var st=Je.value;1>=st.Vd?Fe++:(be=!0,Ye++,me+=Math.atan2(y.centerY-st.centerY,y.centerX-st.centerX))}if(Fe!==0){for(0<Ye&&(me/=Ye),Ye=y=0,y=be?2*Math.PI/(Fe+1):2*Math.PI/Fe,Fe%2===0&&(Ye=y/2),1<ee.count&&ee.sort(function(Tt,Ft){return Tt===null||Ft===null||Tt===Ft?0:Ft.width*Ft.height-Tt.width*Tt.height}),be=Fe%2===0?0:1,ee=ee.iterator;ee.next();)if(Fe=ee.value,!(1<Fe.Vd||a.isFixed(Fe))){for(Je=null,st=Fe.edges.iterator;st.next();){Je=st.value;break}st=Fe.width;var yt=Fe.height;st=dr.sqrt(st*st+yt*yt)/2,Je=ue+Je.length+st,st=me+(y*(be/2>>1)+Ye)*(be%2===0?1:-1),Fe.centerX=ne+Je*Math.cos(st),Fe.centerY=se+Je*Math.sin(st),be++}}}}function mE(a,y,ee,ne,se,ue,me){var be=9e19,Fe=-1,Ye=0;e:for(;Ye<y;Ye++){var Je=a[Ye],st=Je.x-ee,yt=Je.y-ne;if(st=st*st+yt*yt,st<be){for(yt=Ye-1;0<=yt;yt--)if(a[yt].y>Je.y&&a[yt].x-Je.x<se+me.width)continue e;for(yt=Ye+1;yt<y;yt++)if(a[yt].x>Je.x&&a[yt].y-Je.y<ue+me.height)continue e;Fe=Ye,be=st}}return Fe}ch.prototype.Cu=function(){if(this.comments)for(var a=this.network.vertexes.iterator;a.next();)this.addComments(a.value)},ch.prototype.addComments=function(a){var y=a.node;if(y!==null)for(y=y.Mu();y.next();){var ee=y.value;if(ee.category==="Comment"&&ee.isVisible()){var ne=this.network.ki(ee);ne===null&&(ne=this.network.Bl(ee)),ne.charge=this.defaultCommentElectricalCharge,ee=null;for(var se=ne.destinationEdges;se.next();){var ue=se.value;if(ue.toVertex===a){ee=ue;break}}if(ee===null){for(se=ne.sourceEdges;se.next();)if(ue=se.value,ue.fromVertex===a){ee=ue;break}}ee===null&&(ee=this.network.Zj(a,ne,null)),ee.length=this.defaultCommentSpringLength}}};function eC(a,y){var ee=a.bounds,ne=ee.x;a=ee.y;var se=ee.width;ee=ee.height;var ue=y.bounds,me=ue.x;y=ue.y;var be=ue.width;return ue=ue.height,ne+se<me?a>y+ue?(ee=ne+se-me,a=a-y-ue,dr.sqrt(ee*ee+a*a)):a+ee<y?(ne=ne+se-me,a=a+ee-y,dr.sqrt(ne*ne+a*a)):me-(ne+se):ne>me+be?a>y+ue?(ee=ne-me-be,a=a-y-ue,dr.sqrt(ee*ee+a*a)):a+ee<y?(ne=ne-me-be,a=a+ee-y,dr.sqrt(ne*ne+a*a)):ne-(me+be):a>y+ue?a-(y+ue):a+ee<y?y-(a+ee):.1}function tC(a,y){for(a.ah=null,y=a.An+y;a.An<y&&(a.An++,nP(a)););a.ah=null}function nP(a){a.ah===null&&(a.ah=a.network.vertexes.Fa());var y=a.ah;if(0>=y.length)return!1;var ee=y[0];ee.forceX=0,ee.forceY=0;for(var ne=ee.centerX,se=ne,ue=ee=ee.centerY,me=1;me<y.length;me++){var be=y[me];be.forceX=0,be.forceY=0;var Fe=be.centerX;be=be.centerY,ne=Math.min(ne,Fe),se=Math.max(se,Fe),ee=Math.min(ee,be),ue=Math.max(ue,be)}(se=se-ne>ue-ee)?y.sort(function(Zt,bn){return Zt===null||bn===null||Zt===bn?0:Zt.centerX-bn.centerX}):y.sort(function(Zt,bn){return Zt===null||bn===null||Zt===bn?0:Zt.centerY-bn.centerY}),ee=a.Zf;var Ye=ne=be=0;for(ue=0;ue<y.length;ue++){me=y[ue],ne=me.bounds,be=me.focus,Fe=ne.x+be.x;var Je=ne.y+be.y;ne=me.charge*a.electricalFieldX(Fe,Je),Ye=me.charge*a.electricalFieldY(Fe,Je),ne+=me.mass*a.gravitationalFieldX(Fe,Je),Ye+=me.mass*a.gravitationalFieldY(Fe,Je),me.forceX+=ne,me.forceY+=Ye;for(var st=ue+1;st<y.length;st++){var yt=y[st];if(yt!==me){ne=yt.bounds,be=yt.focus,Ye=ne.x+be.x;var Tt=ne.y+be.y;if(Fe-Ye>ee||Ye-Fe>ee){if(se)break}else if(Je-Tt>ee||Tt-Je>ee){if(!se)break}else{var Ft=eC(me,yt);1>Ft?(ne=a.randomNumberGenerator,ne===null&&(a.randomNumberGenerator=ne=new yE),Ft=ne.random(),be=ne.random(),Fe>Ye?(ne=Math.abs(yt.bounds.right-me.bounds.x),ne=(1+ne)*Ft):Fe<Ye?(ne=Math.abs(yt.bounds.x-me.bounds.right),ne=-(1+ne)*Ft):(ne=Math.max(yt.width,me.width),ne=(1+ne)*Ft-ne/2),Je>Tt?(Ye=Math.abs(yt.bounds.bottom-me.bounds.y),Ye=(1+Ye)*be):Fe<Ye?(Ye=Math.abs(yt.bounds.y-me.bounds.bottom),Ye=-(1+Ye)*be):(Ye=Math.max(yt.height,me.height),Ye=(1+Ye)*be-Ye/2)):(be=-(me.charge*yt.charge)/(Ft*Ft),ne=(Ye-Fe)/Ft*be,Ye=(Tt-Je)/Ft*be),me.forceX+=ne,me.forceY+=Ye,yt.forceX-=ne,yt.forceY-=Ye}}}}for(se=a.network.edges.iterator;se.next();)be=se.value,ee=be.fromVertex,ue=be.toVertex,me=ee.bounds,Fe=ee.focus,ne=me.x+Fe.x,me=me.y+Fe.y,Je=ue.bounds,st=ue.focus,Fe=Je.x+st.x,Je=Je.y+st.y,st=eC(ee,ue),1>st?(st=a.randomNumberGenerator,st===null&&(a.randomNumberGenerator=st=new yE),be=st.random(),st=st.random(),ne=(ne>Fe?1:-1)*(1+(ue.width>ee.width?ue.width:ee.width))*be,Ye=(me>Je?1:-1)*(1+(ue.height>ee.height?ue.height:ee.height))*st):(be=be.stiffness*(st-be.length),ne=(Fe-ne)/st*be,Ye=(Je-me)/st*be),ee.forceX+=ne,ee.forceY+=Ye,ue.forceX-=ne,ue.forceY-=Ye;for(se=ne=0;se<y.length;se++)ee=y[se],a.isFixed(ee)?a.moveFixedVertex(ee):ne=Math.max(ne,a.moveVertex(ee)||0);return ne>a.epsilonDistance*a.epsilonDistance}ch.prototype.moveVertex=function(a){var y=a.forceX,ee=a.forceY,ne=this.moveLimit;return y<-ne?y=-ne:y>ne&&(y=ne),ee<-ne?ee=-ne:ee>ne&&(ee=ne),a.centerX+=y,a.centerY+=ee,y*y+ee*ee},ch.prototype.moveFixedVertex=function(){},ch.prototype.commitLayout=function(){this.yv(),this.commitNodes(),this.isRouting&&this.commitLinks()},ch.prototype.yv=function(){if(this.setsPortSpots)for(var a=this.network.edges.iterator;a.next();){var y=a.value.link;y!==null&&(y.fromSpot=Zs,y.toSpot=Zs)}},ch.prototype.commitNodes=function(){var a=0,y=0;if(this.arrangesToOrigin){var ee=Ur.alloc();this.computeBounds(this.network,ee),y=this.arrangementOrigin,a=y.x-ee.x,y=y.y-ee.y,Ur.free(ee)}ee=Ur.alloc();for(var ne=this.network.vertexes.iterator;ne.next();){var se=ne.value;(a!==0||y!==0)&&(ee.assign(se.bounds),ee.x+=a,ee.y+=y,se.bounds=ee),se.commit()}Ur.free(ee)},ch.prototype.commitLinks=function(){for(var a=this.network.edges.iterator;a.next();)a.value.commit()},ch.prototype.springStiffness=function(a){return a=a.stiffness,isNaN(a)?this.Hk:a},ch.prototype.springLength=function(a){return a=a.length,isNaN(a)?this.Gk:a},ch.prototype.electricalCharge=function(a){return a=a.charge,isNaN(a)?this.Ek:a},ch.prototype.electricalFieldX=function(){return 0},ch.prototype.electricalFieldY=function(){return 0},ch.prototype.gravitationalMass=function(a){return a=a.mass,isNaN(a)?this.Fk:a},ch.prototype.gravitationalFieldX=function(){return 0},ch.prototype.gravitationalFieldY=function(){return 0},ch.prototype.isFixed=function(a){return a.isFixed},Re.Object.defineProperties(ch.prototype,{currentIteration:{get:function(){return this.An}},arrangementSpacing:{get:function(){return this.$d},set:function(a){this.$d.D(a)||(this.$d.assign(a),this.C())}},arrangesToOrigin:{get:function(){return this.Bm},set:function(a){this.Bm!==a&&(this.Bm=a,this.C())}},setsPortSpots:{get:function(){return this.sf},set:function(a){this.sf!==a&&(this.sf=a,this.C())}},comments:{get:function(){return this.td},set:function(a){this.td!==a&&(this.td=a,this.C())}},maxIterations:{get:function(){return this.dl},set:function(a){this.dl!==a&&0<=a&&(this.dl=a,this.C())}},epsilonDistance:{get:function(){return this.$m},set:function(a){this.$m!==a&&0<a&&(this.$m=a,this.C())}},infinityDistance:{get:function(){return this.Zf},set:function(a){this.Zf!==a&&1<a&&(this.Zf=a,this.C())}},moveLimit:{get:function(){return this.In},set:function(a){this.In!==a&&1<a&&(this.In=a,this.C())}},randomNumberGenerator:{get:function(){return this.fo},set:function(a){this.fo!==a&&(a!==null&&typeof a.random!="function"&&cn('ForceDirectedLayout.randomNumberGenerator must have a "random()" function on it: '+a),this.fo=a)}},defaultSpringStiffness:{get:function(){return this.Hk},set:function(a){this.Hk!==a&&(this.Hk=a,this.C())}},defaultSpringLength:{get:function(){return this.Gk},set:function(a){this.Gk!==a&&(this.Gk=a,this.C())}},defaultElectricalCharge:{get:function(){return this.Ek},set:function(a){this.Ek!==a&&(this.Ek=a,this.C())}},defaultGravitationalMass:{get:function(){return this.Fk},set:function(a){this.Fk!==a&&(this.Fk=a,this.C())}},defaultCommentSpringLength:{get:function(){return this.Vm},set:function(a){this.Vm!==a&&(this.Vm=a,this.C())}},defaultCommentElectricalCharge:{get:function(){return this.Um},set:function(a){this.Um!==a&&(this.Um=a,this.C())}}}),ch.className="ForceDirectedLayout";function rP(){this.Tv=this.Sv=this.Qs=this.Ss=this.Rs=0}rP.className="ForceDirectedSubnet";function Rm(a){Il.call(this,a)}He(Rm,Il),Rm.prototype.createVertex=function(){return new km(this)},Rm.prototype.createEdge=function(){return new Ny(this)},Rm.className="ForceDirectedNetwork";function km(a){dc.call(this,a),this.ia=!1,this.Ha=this.u=NaN,this.sh=this.Vd=this.V=this.F=0,this.We=this.Hj=null,this.sv=0}He(km,dc),Re.Object.defineProperties(km.prototype,{isFixed:{get:function(){return this.ia},set:function(a){this.ia!==a&&(this.ia=a)}},charge:{get:function(){return this.u},set:function(a){this.u!==a&&(this.u=a)}},mass:{get:function(){return this.Ha},set:function(a){this.Ha!==a&&(this.Ha=a)}},forceX:{get:function(){return this.F},set:function(a){this.F!==a&&(this.F=a)}},forceY:{get:function(){return this.V},set:function(a){this.V!==a&&(this.V=a)}}}),km.className="ForceDirectedVertex";function Ny(a){Vd.call(this,a),this.j=this.o=NaN}He(Ny,Vd),Re.Object.defineProperties(Ny.prototype,{stiffness:{get:function(){return this.o},set:function(a){this.o!==a&&(this.o=a)}},length:{get:function(){return this.j},set:function(a){this.j!==a&&(this.j=a)}}}),Ny.className="ForceDirectedEdge";function yE(){var a=0;a===void 0&&(a=42),this.seed=a,this.ay=48271,this.ey=2147483647,this.Q=44488.07041494893,this.gy=3399,this.by=1/2147483647,this.random()}yE.prototype.random=function(){var a=this.seed%this.Q*this.ay-this.seed/this.Q*this.gy;return 0<a?this.seed=a:this.seed=a+this.ey,this.seed*this.by},yE.className="RandomNumberGenerator";function ol(a){Ol.call(this),this.kc=this.ie=25,this.K=0,this.Dk=JA,this.Zk=qA,this.Qk=$A,this.bj=4,this.rk=tS,this.bg=15,this.sf=!0,this.Cn=4,this.Ra=this.Iq=this.Ia=-1,this.Md=this.Hn=0,this.Ta=this.Kd=this.Ld=this.he=this.tc=null,this.Kn=0,this.Jn=this.kj=null,this.le=0,this.fl=null,this.Rf=new yn,this.He=[],this.He.length=100,this.xw=this.ve=0,a&&Object.assign(this,a)}He(ol,Ol),ol.prototype.cloneProtected=function(a){Ol.prototype.cloneProtected.call(this,a),a.ie=this.ie,a.kc=this.kc,a.K=this.K,a.Dk=this.Dk,a.Zk=this.Zk,a.Qk=this.Qk,a.bj=this.bj,a.rk=this.rk,a.bg=this.bg,a.sf=this.sf,a.Cn=this.Cn,a.ve=this.ve},ol.prototype.qb=function(a){a.classType===ol?a.name.indexOf("Aggressive")===0?this.aggressiveOption=a:a.name.indexOf("Cycle")===0?this.cycleRemoveOption=a:a.name.indexOf("Init")===0?this.initializeOption=a:a.name.indexOf("Layer")===0?this.layeringOption=a:cn("Unknown enum value: "+a):Ol.prototype.qb.call(this,a)},ol.prototype.createNetwork=function(){return new Y1(this)},ol.prototype.doLayout=function(a){for(this.network===null&&(this.network=this.makeNetwork(a)),this.arrangementOrigin=this.initialOrigin(this.arrangementOrigin),this.Iq=-1,this.Md=this.Hn=0,this.fl=this.Jn=this.kj=null,a=0;a<this.He.length;a++)this.He[a]=null;if(0<this.network.vertexes.count){for(this.network.Ko(),this.cycleRemoveOption!==Z1&&this.removeCycles(),a=this.network.vertexes.iterator;a.next();)a.value.layer=-1;for(this.Ia=-1,this.assignLayers(),a.reset();a.next();)this.Ia=Math.max(this.Ia,a.value.layer);this.cycleRemoveOption===Z1&&this.removeCycles(),a=this.network;for(var y=[],ee=a.edges.iterator;ee.next();){var ne=ee.value;ne.valid=!1,y.push(ne)}for(ee=0;ee<y.length;ee++){ne=y[ee];var se=ne.fromVertex,ue=ne.toVertex;if(!(ne.valid||(se.node===null&&se.data===null||ue.node===null&&ue.data===null)&&se.layer===ue.layer)){var me=0,be=0,Fe=0,Ye=0;if(ne.link!==null){if(be=ne.link,be===null)continue;var Je=se.node;if(me=ue.node,Je===null||me===null)continue;var st=be.fromNode;Fe=be.toNode;for(var yt=be.fromPort;yt!==null&&!yt.Ed();)yt=yt.panel;for(be=be.toPort;be!==null&&!be.Ed();)be=be.panel;if(ne.rev){Ye=st;var Tt=yt;st=Fe,yt=be,Fe=Ye,be=Tt}var Ft=se.focus;Ye=ue.focus;var Zt=ne.rev?ue.bounds:se.bounds;Tt=yn.alloc(),Je!==st?Zt.w()&&st.isVisible()?st.actualBounds.w()?(X0(st,yt,us,Tt),Tt.x+=st.actualBounds.x-Zt.x,Tt.y+=st.actualBounds.y-Zt.y):(X0(st,yt,us,Tt),Tt.w()||Tt.assign(Ft)):Tt.assign(Ft):Zt.w()?(X0(st,yt,us,Tt),Tt.w()||Tt.assign(Ft)):Tt.assign(Ft),st=ne.rev?se.bounds:ue.bounds,Je=yn.alloc(),me!==Fe?st.w()&&Fe.isVisible()?Fe.actualBounds.w()?(X0(Fe,be,us,Je),Je.x+=Fe.actualBounds.x-st.x,Je.y+=Fe.actualBounds.y-st.y):(X0(Fe,be,us,Je),Je.w()||Je.assign(Ye)):Je.assign(Ye):st.w()?(X0(Fe,be,us,Je),Je.w()||Je.assign(Ye)):Je.assign(Ye),this.K===90||this.K===270?(me=Math.round((Tt.x-Ft.x)/this.kc),Fe=Tt.x,be=Math.round((Je.x-Ye.x)/this.kc),Ye=Je.x):(me=Math.round((Tt.y-Ft.y)/this.kc),Fe=Tt.y,be=Math.round((Je.y-Ye.y)/this.kc),Ye=Je.y),yn.free(Tt),yn.free(Je),ne.portFromColOffset=me,ne.portFromPos=Fe,ne.portToColOffset=be,ne.portToPos=Ye}else ne.portFromColOffset=0,ne.portFromPos=0,ne.portToColOffset=0,ne.portToPos=0;if(Tt=se.layer,Je=ue.layer,st=0,Zt=ne.link,Zt!==null){var bn=Zt.fromPort,fn=Zt.toPort;if(bn!==null&&fn!==null){var Fn=Zt.fromNode;if(yt=Zt.toNode,Fn!==null&&yt!==null){var zn=K1(this,!0),Zn=K1(this,!1),sr=this.setsPortSpots?zn:Zt.computeSpot(!0,bn);Ft=this.setsPortSpots?Zn:Zt.computeSpot(!1,fn);var Br=Zt.isOrthogonal;sr.$c()&&sr.Hf(Zn)&&Ft.$c()&&Ft.Hf(zn)?st=0:(zn=Zt.getLinkPoint(Fn,bn,sr,!0,Br,yt,fn,yn.alloc()),Zn=Zt.getLinkDirection(Fn,bn,zn,sr,!0,Br,yt,fn),yn.free(zn),sr.ys()||Zn!==H1(this,ne,!0)?this.setsPortSpots&&Fn!==null&&Fn.ports.count===1&&ne.rev&&(st+=1):st+=1,sr=Zt.getLinkPoint(yt,fn,Ft,!1,Br,Fn,bn,yn.alloc()),Zt=Zt.getLinkDirection(yt,fn,sr,Ft,!1,Br,Fn,bn),yn.free(sr),Ft.ys()||Zt!==H1(this,ne,!1)?this.setsPortSpots&&yt!==null&&yt.ports.count===1&&ne.rev&&(st+=2):st+=2)}}}if(yt=st,st=yt===1||yt===3,(yt=yt===2||yt===3)&&(Ft=a.createVertex(),Ft.node=null,Ft.Dj=1,Ft.layer=Tt,Ft.near=se,a.dh(Ft),se=a.Zj(se,Ft,ne.link),se.valid=!1,se.rev=ne.rev,se.portFromColOffset=me,se.portToColOffset=0,se.portFromPos=Fe,se.portToPos=0,se=Ft),Zt=1,st&&Zt--,Tt-Je>Zt&&0<Tt){for(ne.valid=!1,Ft=a.createVertex(),Ft.node=null,Ft.Dj=2,Ft.layer=Tt-1,a.dh(Ft),se=a.Zj(se,Ft,ne.link),se.valid=!0,se.rev=ne.rev,se.portFromColOffset=yt?0:me,se.portToColOffset=0,se.portFromPos=yt?0:Fe,se.portToPos=0,se=Ft,Tt--;Tt-Je>Zt&&0<Tt;)Ft=a.createVertex(),Ft.node=null,Ft.Dj=3,Ft.layer=Tt-1,a.dh(Ft),se=a.Zj(se,Ft,ne.link),se.valid=!0,se.rev=ne.rev,se.portFromColOffset=0,se.portToColOffset=0,se.portFromPos=0,se.portToPos=0,se=Ft,Tt--;se=a.Zj(Ft,ue,ne.link),se.valid=!st,st&&(Ft.near=ue),se.rev=ne.rev,se.portFromColOffset=0,se.portToColOffset=be,se.portFromPos=0,se.portToPos=Ye}else ne.valid=!0}}for(a=this.tc=[],y=0;y<=this.Ia;y++)a[y]=0;for(y=this.network.vertexes.iterator;y.next();)y.value.index=-1;for(this.initializeIndices(),this.Iq=-1,ee=this.Md=this.Hn=0;ee<=this.Ia;ee++)a[ee]>a[this.Md]&&(this.Iq=a[ee]-1,this.Md=ee),a[ee]<a[this.Hn]&&(this.Hn=ee);for(this.fl=[],ee=0;ee<a.length;ee++)this.fl[ee]=[];for(y.reset();y.next();)a=y.value,this.fl[a.layer][a.index]=a;for(this.Ra=-1,a=0;a<=this.Ia;a++){for(y=_v(this,a),ee=0,ne=this.tc[a],ue=0;ue<ne;ue++)se=y[ue],ee+=this.nodeMinColumnSpace(se,!0),se.column=ee,ee+=1,ee+=this.nodeMinColumnSpace(se,!1);this.Ra=Math.max(this.Ra,ee-1),rv(this,a,y)}this.reduceCrossings(),this.straightenAndPack(),this.updateParts()}this.network=null,this.isValidLayout=!0},ol.prototype.linkMinLength=function(){return 1};function nC(a){var y=a.fromVertex.node||a.fromVertex.data;return a=a.toVertex.node||a.toVertex.data,y===null&&a===null?8:y===null||a===null?4:1}ol.prototype.nodeMinLayerSpace=function(a,y){return a.node===null&&a.data===null?0:this.K===90||this.K===270?y?a.focus.y+10:a.bounds.height-a.focus.y+10:y?a.focus.x+10:a.bounds.width-a.focus.x+10},ol.prototype.nodeMinColumnSpace=function(a,y){if(a.node===null&&a.data===null)return 0;var ee=y?a.ev:a.dv;return ee!==null?ee:(ee=this.K,ee===90||ee===270?y?a.ev=a.focus.x/this.kc+1|0:a.dv=(a.bounds.width-a.focus.x)/this.kc+1|0:y?a.ev=a.focus.y/this.kc+1|0:a.dv=(a.bounds.height-a.focus.y)/this.kc+1|0)};function fd(a){a.kj===null&&(a.kj=[]);for(var y=0,ee=a.network.vertexes.iterator;ee.next();){var ne=ee.value;a.kj[y]=ne.layer,y++,a.kj[y]=ne.column,y++,a.kj[y]=ne.index,y++}return a.kj}function sf(a,y){var ee=0;for(a=a.network.vertexes.iterator;a.next();){var ne=a.value;ne.layer=y[ee],ee++,ne.column=y[ee],ee++,ne.index=y[ee],ee++}}function iP(a,y,ee){var ne=_v(a,y),se=a.tc[y];(a.Jn===null||a.Jn.length<se*se)&&(a.Jn=[]);for(var ue=a.Jn,me=0;me<se;me++){var be=0,Fe=ne[me],Ye=Fe.near;if(Ye!==null&&Ye.layer===Fe.layer)if(Fe=Ye.index,Fe>me)for(var Je=me+1;Je<Fe;Je++){var st=ne[Je];st.near===Ye&&st.Dj===Ye.Dj||be++}else for(Je=me-1;Je>Fe;Je--)st=ne[Je],st.near===Ye&&st.Dj===Ye.Dj||be++;var yt;if(0<=ee)for(Fe=ne[me].sourceEdgesArrayAccess,Ye=0;Ye<Fe.length;Ye++){var Tt=Fe[Ye];if(Tt.valid&&Tt.fromVertex.layer!==y)for(st=Tt.fromVertex.index,Je=Tt.portToPos,Tt=Tt.portFromPos,yt=Ye+1;yt<Fe.length;yt++){var Ft=Fe[yt];if(Ft.valid&&Ft.fromVertex.layer!==y){var Zt=Ft.fromVertex.index,bn=Ft.portToPos;Ft=Ft.portFromPos,Je<bn&&(st>Zt||st===Zt&&Tt>Ft)&&be++,bn<Je&&(Zt>st||Zt===st&&Ft>Tt)&&be++}}}if(0>=ee){for(Fe=ne[me].destinationEdgesArrayAccess,Ye=0;Ye<Fe.length;Ye++)if(Tt=Fe[Ye],Tt.valid&&Tt.toVertex.layer!==y)for(st=Tt.toVertex.index,Je=Tt.portToPos,Tt=Tt.portFromPos,yt=Ye+1;yt<Fe.length;yt++)Ft=Fe[yt],Ft.valid&&Ft.toVertex.layer!==y&&(Zt=Ft.toVertex.index,bn=Ft.portToPos,Ft=Ft.portFromPos,Tt<Ft&&(st>Zt||st===Zt&&Je>bn)&&be++,Ft<Tt&&(Zt>st||Zt===st&&bn>Je)&&be++)}for(ue[me*se+me]=be,Fe=me+1;Fe<se;Fe++){var fn=0,Fn=0;if(0<=ee){be=ne[me].sourceEdgesArrayAccess;var zn=ne[Fe].sourceEdgesArrayAccess;for(Ye=0;Ye<be.length;Ye++)if(Tt=be[Ye],Tt.valid&&Tt.fromVertex.layer!==y)for(st=Tt.fromVertex.index,Tt=Tt.portFromPos,yt=0;yt<zn.length;yt++)Ft=zn[yt],Ft.valid&&Ft.fromVertex.layer!==y&&(Zt=Ft.fromVertex.index,Ft=Ft.portFromPos,(st<Zt||st===Zt&&Tt<Ft)&&Fn++,(Zt<st||Zt===st&&Ft<Tt)&&fn++)}if(0>=ee){for(be=ne[me].destinationEdgesArrayAccess,zn=ne[Fe].destinationEdgesArrayAccess,Ye=0;Ye<be.length;Ye++)if(Tt=be[Ye],Tt.valid&&Tt.toVertex.layer!==y)for(st=Tt.toVertex.index,Je=Tt.portToPos,yt=0;yt<zn.length;yt++)Ft=zn[yt],Ft.valid&&Ft.toVertex.layer!==y&&(Zt=Ft.toVertex.index,bn=Ft.portToPos,(st<Zt||st===Zt&&Je<bn)&&Fn++,(Zt<st||Zt===st&&bn<Je)&&fn++)}ue[me*se+Fe]=fn,ue[Fe*se+me]=Fn}}return rv(a,y,ne),ue}ol.prototype.countCrossings=function(){for(var a=0,y=0;y<=this.Ia;y++)for(var ee=iP(this,y,1),ne=this.tc[y],se=0;se<ne;se++)for(var ue=se;ue<ne;ue++)a+=ee[se*ne+ue];return a};function KA(a){for(var y=0,ee=0;ee<=a.Ia;ee++){for(var ne=a,se=ee,ue=_v(ne,se),me=ne.tc[se],be=0,Fe=0;Fe<me;Fe++){var Ye=ue[Fe].destinationEdgesArrayAccess;if(Ye!==null)for(var Je=0;Je<Ye.length;Je++){var st=Ye[Je];if(st.valid&&st.toVertex.layer!==se){var yt=st.fromVertex.column+st.portFromColOffset,Tt=st.toVertex.column+st.portToColOffset;be+=(Math.abs(yt-Tt)+1)*nC(st)}}}rv(ne,se,ue),y+=be}return y}ol.prototype.normalize=function(){var a=1/0;this.Ra=-1;for(var y=this.network.vertexes.iterator;y.next();){var ee=y.value;a=Math.min(a,ee.column-this.nodeMinColumnSpace(ee,!0)),this.Ra=Math.max(this.Ra,ee.column+this.nodeMinColumnSpace(ee,!1))}for(y.reset();y.next();)y.value.column-=a;this.Ra-=a};function oP(a,y,ee){for(var ne=_v(a,y),se=a.tc[y],ue=[],me=0;me<se;me++){var be=ne[me],Fe=null;0>=ee&&(Fe=be.sourceEdgesArrayAccess);var Ye=null;0<=ee&&(Ye=be.destinationEdgesArrayAccess);var Je=0,st=0,yt=be.near;if(yt!==null&&yt.layer===be.layer&&(Je+=yt.column-1,st++),Fe!==null)for(yt=0;yt<Fe.length;yt++){be=Fe[yt];var Tt=be.fromVertex;be.valid&&!be.rev&&Tt.layer!==y&&(Je+=Tt.column,st++)}if(Ye!==null)for(Fe=0;Fe<Ye.length;Fe++)be=Ye[Fe],yt=be.toVertex,be.valid&&!be.rev&&yt.layer!==y&&(Je+=yt.column,st++);ue[me]=st===0?-1:Je/st}return rv(a,y,ne),ue}function GT(a,y,ee){for(var ne=_v(a,y),se=a.tc[y],ue=[],me=0;me<se;me++){var be=ne[me],Fe=null;0>=ee&&(Fe=be.sourceEdgesArrayAccess);var Ye=null;0<=ee&&(Ye=be.destinationEdgesArrayAccess);var Je=0,st=[],yt=be.near;if(yt!==null&&yt.layer===be.layer&&(st[Je]=yt.column-1,Je++),be=void 0,Fe!==null)for(yt=0;yt<Fe.length;yt++){be=Fe[yt];var Tt=be.fromVertex;be.valid&&!be.rev&&Tt.layer!==y&&(st[Je]=Tt.column+be.portFromColOffset,Je++)}if(Ye!==null)for(Fe=0;Fe<Ye.length;Fe++)be=Ye[Fe],yt=be.toVertex,be.valid&&!be.rev&&yt.layer!==y&&(st[Je]=yt.column+be.portToColOffset,Je++);Je===0?ue[me]=-1:(st.sort(function(Ft,Zt){return Ft-Zt}),Ye=Je>>1,ue[me]=Je&1?st[Ye]:st[Ye-1]+st[Ye]>>1)}return rv(a,y,ne),ue}function G1(a,y,ee,ne,se,ue){if(y.component===ne){if(y.component=ee,se)for(var me=y.destinationEdges;me.next();){var be=me.value,Fe=be.toVertex,Ye=y.layer-Fe.layer;be=a.linkMinLength(be),Ye===be&&G1(a,Fe,ee,ne,se,ue)}if(ue)for(me=y.sourceEdges;me.next();)be=me.value,Fe=be.fromVertex,Ye=Fe.layer-y.layer,be=a.linkMinLength(be),Ye===be&&G1(a,Fe,ee,ne,se,ue)}}function rC(a,y,ee,ne,se,ue){if(y.component===ne){if(y.component=ee,se)for(var me=y.destinationEdges;me.next();)rC(a,me.value.toVertex,ee,ne,se,ue);if(ue)for(y=y.sourceEdges;y.next();)rC(a,y.value.fromVertex,ee,ne,se,ue)}}ol.prototype.removeCycles=function(){for(var a=this.network.edges.iterator;a.next();)a.value.rev=!1;switch(this.Dk){default:case uC:a=this.network;var y=0,ee=a.vertexes.count-1,ne=[];ne.length=ee+1;for(var se=a.vertexes.iterator;se.next();)se.value.valid=!0;for(;aP(a)!==null;){for(se=sP(a);se!==null;)ne[ee]=se,ee--,se.valid=!1,se=sP(a);for(se=lP(a);se!==null;)ne[y]=se,y++,se.valid=!1,se=lP(a);se=null;for(var ue=0,me=this.network.vertexes.iterator;me.next();){var be=me.value;if(be.valid){for(var Fe=0,Ye=be.destinationEdges;Ye.next();)Ye.value.toVertex.valid&&Fe++;Ye=0;for(var Je=be.sourceEdges;Je.next();)Je.value.fromVertex.valid&&Ye++;(se===null||ue<Fe-Ye)&&(se=be,ue=Fe-Ye)}}se!==null&&(ne[y]=se,y++,se.valid=!1)}for(y=0;y<a.vertexes.count;y++)ne[y].index=y;for(ne=a.edges.iterator;ne.next();)y=ne.value,y.fromVertex.index>y.toVertex.index&&(a.gm(y),y.rev=!0);break;case JA:for(ne=this.network.vertexes.iterator;ne.next();)a=ne.value,a.Ll=-1,a.finish=-1;for(a=this.network.edges.iterator;a.next();)a.value.forest=!1;for(this.Kn=0,ne.reset();ne.next();)y=ne.value,y.sourceEdges.count===0&&iC(this,y);for(ne.reset();ne.next();)y=ne.value,y.Ll===-1&&iC(this,y);for(a.reset();a.next();)ne=a.value,ne.forest||(y=ne.fromVertex,ee=y.finish,se=ne.toVertex,ue=se.finish,se.Ll<y.Ll&&ee<ue&&(this.network.gm(ne),ne.rev=!0));break;case Z1:for(a=this.network,y=a.vertexes.iterator,ne=1/0;y.next();)ne=Math.min(ne,y.value.layer);if(1/0>ne){if(0>ne)for(y.reset();y.next();)y.value.layer-=ne;for(ne=[],y.reset();y.next();)ee=y.value,se=ne[ee.layer],se===void 0?ne[ee.layer]=[ee]:se.push(ee);for(ee=y=0;ee<ne.length;ee++)if(se=ne[ee],!se||se.length===0)y++;else if(0<ee)for(ue=0;ue<se.length;ue++)se[ue].layer-=y;for(ne=a.edges.iterator;ne.next();)y=ne.value,y.fromVertex.layer<y.toVertex.layer&&(a.gm(y),y.rev=!0)}}};function aP(a){for(a=a.vertexes.iterator;a.next();){var y=a.value;if(y.valid)return y}return null}function sP(a){for(a=a.vertexes.iterator;a.next();){var y=a.value;if(y.valid){for(var ee=!0,ne=y.destinationEdges;ne.next();)if(ne.value.toVertex.valid){ee=!1;break}if(ee)return y}}return null}function lP(a){for(a=a.vertexes.iterator;a.next();){var y=a.value;if(y.valid){for(var ee=!0,ne=y.sourceEdges;ne.next();)if(ne.value.fromVertex.valid){ee=!1;break}if(ee)return y}}return null}function iC(a,y){y.Ll=a.Kn,a.Kn++;for(var ee=y.destinationEdges;ee.next();){var ne=ee.value,se=ne.toVertex;se.Ll===-1&&(ne.forest=!0,iC(a,se))}y.finish=a.Kn,a.Kn++}ol.prototype.assignLayers=function(){switch(this.Zk){case cC:Th(this);break;case hC:for(var a,y=this.network.vertexes.iterator;y.next();)a=Ig(this,y.value),this.Ia=Math.max(a,this.Ia);for(y.reset();y.next();)a=y.value,a.layer=this.Ia-a.layer;break;default:case qA:for(Th(this),y=this.network.vertexes.iterator;y.next();)y.value.valid=!1;for(y.reset();y.next();)a=y.value,a.sourceEdges.count===0&&Fm(this,a);for(a=1/0,y.reset();y.next();)a=Math.min(a,y.value.layer);for(this.Ia=-1,y.reset();y.next();){var ee=y.value;ee.layer-=a,this.Ia=Math.max(this.Ia,ee.layer)}}};function Th(a){for(var y=a.network.vertexes.iterator;y.next();){var ee=By(a,y.value);a.Ia=Math.max(ee,a.Ia)}}function By(a,y){var ee=0;if(y.layer===-1){for(var ne=y.destinationEdges;ne.next();){var se=ne.value,ue=se.toVertex;se=a.linkMinLength(se),ee=Math.max(ee,By(a,ue)+se)}y.layer=ee}else ee=y.layer;return ee}function Ig(a,y){var ee=0;if(y.layer===-1){for(var ne=y.sourceEdges;ne.next();){var se=ne.value,ue=se.fromVertex;se=a.linkMinLength(se),ee=Math.max(ee,Ig(a,ue)+se)}y.layer=ee}else ee=y.layer;return ee}function Fm(a,y){if(!y.valid){y.valid=!0;for(var ee=y.destinationEdges;ee.next();)Fm(a,ee.value.toVertex);for(ee=a.network.vertexes.iterator;ee.next();)ee.value.component=-1;for(var ne=y.sourceEdgesArrayAccess,se=ne.length,ue=0;ue<se;ue++){var me=ne[ue],be=me.fromVertex,Fe=me.toVertex;me=a.linkMinLength(me),be.layer-Fe.layer>me&&G1(a,be,0,-1,!0,!1)}for(G1(a,y,1,-1,!0,!0);y.component!==0;){for(ue=0,ne=1/0,be=0,Fe=null,me=a.network.vertexes.iterator;me.next();){var Ye=me.value;if(Ye.component===1){var Je=0,st=!1,yt=Ye.sourceEdgesArrayAccess;se=yt.length;for(var Tt=0;Tt<se;Tt++){var Ft=yt[Tt],Zt=Ft.fromVertex;Je+=1,Zt.component!==1&&(ue+=1,Zt=Zt.layer-Ye.layer,Ft=a.linkMinLength(Ft),ne=Math.min(ne,Zt-Ft))}for(yt=Ye.destinationEdgesArrayAccess,se=yt.length,Tt=0;Tt<se;Tt++)Ft=yt[Tt].toVertex,--Je,Ft.component!==1?--ue:st=!0;(Fe===null||Je<be)&&!st&&(Fe=Ye,be=Je)}}if(0<ue){for(ee.reset();ee.next();)se=ee.value,se.component===1&&(se.layer+=ne);y.component=0}else Fe.component=0}for(ee=a.network.vertexes.iterator;ee.next();)ee.value.component=-1;for(G1(a,y,1,-1,!0,!1);y.component!==0;){for(ne=0,se=1/0,ue=0,be=null,Fe=a.network.vertexes.iterator;Fe.next();)if(me=Fe.value,me.component===1){for(Ye=0,Je=!1,yt=me.sourceEdgesArrayAccess,st=yt.length,Tt=0;Tt<st;Tt++)Ft=yt[Tt].fromVertex,Ye+=1,Ft.component!==1?ne+=1:Je=!0;for(yt=me.destinationEdgesArrayAccess,st=yt.length,Tt=0;Tt<st;Tt++)Ft=yt[Tt],Zt=Ft.toVertex,--Ye,Zt.component!==1&&(--ne,Zt=me.layer-Zt.layer,Ft=a.linkMinLength(Ft),se=Math.min(se,Zt-Ft));(be===null||Ye>ue)&&!Je&&(be=me,ue=Ye)}if(0>ne){for(ee.reset();ee.next();)ne=ee.value,ne.component===1&&(ne.layer-=se);y.component=0}else be.component=0}}}function H1(a,y,ee){return a.K===90?ee&&!y.rev||!ee&&y.rev?270:90:a.K===180?ee&&!y.rev||!ee&&y.rev?0:180:a.K===270?ee&&!y.rev||!ee&&y.rev?90:270:ee&&!y.rev||!ee&&y.rev?180:0}ol.prototype.initializeIndices=function(){switch(this.Qk){default:case xE:for(var a=this.network.vertexes.iterator;a.next();){var y=a.value,ee=y.layer;y.index=this.tc[ee],this.tc[ee]++}break;case $A:for(a=this.network.vertexes.iterator,y=this.Ia;0<=y;y--)for(a.reset();a.next();)ee=a.value,ee.layer===y&&ee.index===-1&&oC(this,ee);break;case eS:for(a=this.network.vertexes.iterator,y=0;y<=this.Ia;y++)for(a.reset();a.next();)ee=a.value,ee.layer===y&&ee.index===-1&&aC(this,ee)}};function oC(a,y){var ee=y.layer;for(y.index=a.tc[ee],a.tc[ee]++,y=y.destinationEdgesArrayAccess,ee=!0;ee;){ee=!1;for(var ne=0;ne<y.length-1;ne++){var se=y[ne],ue=y[ne+1];se.portFromColOffset>ue.portFromColOffset&&(ee=!0,y[ne]=ue,y[ne+1]=se)}}for(ee=0;ee<y.length;ee++)ne=y[ee],ne.valid&&(ne=ne.toVertex,ne.index===-1&&oC(a,ne))}function aC(a,y){var ee=y.layer;y.index=a.tc[ee],a.tc[ee]++,y=y.sourceEdgesArrayAccess;for(var ne=!0;ne;)for(ne=!1,ee=0;ee<y.length-1;ee++){var se=y[ee],ue=y[ee+1];se.portToColOffset>ue.portToColOffset&&(ne=!0,y[ee]=ue,y[ee+1]=se)}for(ee=0;ee<y.length;ee++)ne=y[ee],ne.valid&&(ne=ne.fromVertex,ne.index===-1&&aC(a,ne))}ol.prototype.reduceCrossings=function(){var a=this.countCrossings(),y=fd(this),ee,ne;for(ee=0;ee<this.bj;ee++){for(ne=0;ne<=this.Ia;ne++)ZA(this,ne,1),ag(this,ne,1);var se=this.countCrossings();for(se<a&&(a=se,y=fd(this)),ne=this.Ia;0<=ne;ne--)ZA(this,ne,-1),ag(this,ne,-1);se=this.countCrossings(),se<a&&(a=se,y=fd(this))}for(sf(this,y),ee=0;ee<this.bj;ee++){for(ne=0;ne<=this.Ia;ne++)ZA(this,ne,0),ag(this,ne,0);for(se=this.countCrossings(),se<a&&(a=se,y=fd(this)),ne=this.Ia;0<=ne;ne--)ZA(this,ne,0),ag(this,ne,0);se=this.countCrossings(),se<a&&(a=se,y=fd(this))}sf(this,y);var ue,me,be;switch(this.rk){case dC:break;case fC:for(be=a+1;(ne=this.countCrossings())<be;)for(be=ne,ee=this.Ia;0<=ee;ee--)for(me=0;me<=ee;me++){for(ue=!0;ue;)for(ue=!1,ne=ee;ne>=me;ne--)ue=ag(this,ne,-1)||ue;for(se=this.countCrossings(),se>=a?sf(this,y):(a=se,y=fd(this)),ue=!0;ue;)for(ue=!1,ne=ee;ne>=me;ne--)ue=ag(this,ne,1)||ue;for(se=this.countCrossings(),se>=a?sf(this,y):(a=se,y=fd(this)),ue=!0;ue;)for(ue=!1,ne=me;ne<=ee;ne++)ue=ag(this,ne,1)||ue;for(se>=a?sf(this,y):(a=se,y=fd(this)),ue=!0;ue;)for(ue=!1,ne=me;ne<=ee;ne++)ue=ag(this,ne,-1)||ue;for(se>=a?sf(this,y):(a=se,y=fd(this)),ue=!0;ue;)for(ue=!1,ne=ee;ne>=me;ne--)ue=ag(this,ne,0)||ue;for(se>=a?sf(this,y):(a=se,y=fd(this)),ue=!0;ue;)for(ue=!1,ne=me;ne<=ee;ne++)ue=ag(this,ne,0)||ue;se>=a?sf(this,y):(a=se,y=fd(this))}break;default:case tS:for(ee=this.Ia,me=0,be=a+1;(ne=this.countCrossings())<be;){for(be=ne,ue=!0;ue;)for(ue=!1,ne=ee;ne>=me;ne--)ue=ag(this,ne,-1)||ue;for(se=this.countCrossings(),se>=a?sf(this,y):(a=se,y=fd(this)),ue=!0;ue;)for(ue=!1,ne=ee;ne>=me;ne--)ue=ag(this,ne,1)||ue;for(se=this.countCrossings(),se>=a?sf(this,y):(a=se,y=fd(this)),ue=!0;ue;)for(ue=!1,ne=me;ne<=ee;ne++)ue=ag(this,ne,1)||ue;for(se>=a?sf(this,y):(a=se,y=fd(this)),ue=!0;ue;)for(ue=!1,ne=me;ne<=ee;ne++)ue=ag(this,ne,-1)||ue;for(se>=a?sf(this,y):(a=se,y=fd(this)),ue=!0;ue;)for(ue=!1,ne=ee;ne>=me;ne--)ue=ag(this,ne,0)||ue;for(se>=a?sf(this,y):(a=se,y=fd(this)),ue=!0;ue;)for(ue=!1,ne=me;ne<=ee;ne++)ue=ag(this,ne,0)||ue;se>=a?sf(this,y):(a=se,y=fd(this))}}sf(this,y)};function ZA(a,y,ee){var ne=_v(a,y),se=a.tc[y],ue=GT(a,y,ee),me=oP(a,y,ee);for(ee=0;ee<se;ee++)me[ee]===-1&&(me[ee]=ne[ee].column),ue[ee]===-1&&(ue[ee]=ne[ee].column);for(var be=!0,Fe;be;)for(be=!1,ee=0;ee<se-1;ee++)(ue[ee+1]<ue[ee]||ue[ee+1]===ue[ee]&&me[ee+1]<me[ee])&&(be=!0,Fe=ue[ee],ue[ee]=ue[ee+1],ue[ee+1]=Fe,Fe=me[ee],me[ee]=me[ee+1],me[ee+1]=Fe,Fe=ne[ee],ne[ee]=ne[ee+1],ne[ee+1]=Fe);for(ee=ue=0;ee<se;ee++)Fe=ne[ee],Fe.index=ee,ue+=a.nodeMinColumnSpace(Fe,!0),Fe.column=ue,ue+=1,ue+=a.nodeMinColumnSpace(Fe,!1);rv(a,y,ne)}function ag(a,y,ee){var ne=_v(a,y),se=a.tc[y];ee=iP(a,y,ee);var ue,me=[];for(ue=0;ue<se;ue++)me[ue]=-1;var be=[];for(ue=0;ue<se;ue++)be[ue]=-1;for(var Fe=!1,Ye=!0;Ye;)for(Ye=!1,ue=0;ue<se-1;ue++){var Je=ee[ne[ue].index*se+ne[ue+1].index],st=ee[ne[ue+1].index*se+ne[ue].index],yt=0,Tt=0,Ft=ne[ue].column,Zt=ne[ue+1].column,bn=a.nodeMinColumnSpace(ne[ue],!0),fn=a.nodeMinColumnSpace(ne[ue],!1),Fn=a.nodeMinColumnSpace(ne[ue+1],!0),zn=a.nodeMinColumnSpace(ne[ue+1],!1);bn=Ft-bn+Fn,fn=Zt-fn+zn;var Zn=ne[ue].sourceEdges.iterator;for(Zn.reset();Zn.next();)if(Fn=Zn.value,zn=Fn.fromVertex,Fn.valid&&zn.layer===y){for(Fn=0;ne[Fn]!==zn;)Fn++;Fn<ue&&(yt+=2*(ue-Fn),Tt+=2*(ue+1-Fn)),Fn===ue+1&&(yt+=1),Fn>ue+1&&(yt+=4*(Fn-ue),Tt+=4*(Fn-(ue+1)))}for(Zn=ne[ue].destinationEdges.iterator,Zn.reset();Zn.next();)if(Fn=Zn.value,zn=Fn.toVertex,Fn.valid&&zn.layer===y){for(Fn=0;ne[Fn]!==zn;)Fn++;Fn===ue+1&&(Tt+=1)}for(Zn=ne[ue+1].sourceEdges.iterator,Zn.reset();Zn.next();)if(Fn=Zn.value,zn=Fn.fromVertex,Fn.valid&&zn.layer===y){for(Fn=0;ne[Fn]!==zn;)Fn++;Fn<ue&&(yt+=2*(ue+1-Fn),Tt+=2*(ue-Fn)),Fn===ue&&(Tt+=1),Fn>ue+1&&(yt+=4*(Fn-(ue+1)),Tt+=4*(Fn-ue))}for(Zn=ne[ue+1].destinationEdges.iterator,Zn.reset();Zn.next();)if(Fn=Zn.value,zn=Fn.toVertex,Fn.valid&&zn.layer===y){for(Fn=0;ne[Fn]!==zn;)Fn++;Fn===ue&&(yt+=1)}Fn=zn=0,Zn=me[ne[ue].index];var sr=be[ne[ue].index],Br=me[ne[ue+1].index],Hi=be[ne[ue+1].index];Zn!==-1&&(zn+=Math.abs(Zn-Ft),Fn+=Math.abs(Zn-fn)),sr!==-1&&(zn+=Math.abs(sr-Ft),Fn+=Math.abs(sr-fn)),Br!==-1&&(zn+=Math.abs(Br-Zt),Fn+=Math.abs(Br-bn)),Hi!==-1&&(zn+=Math.abs(Hi-Zt),Fn+=Math.abs(Hi-bn)),(Tt<yt-.5||Tt===yt&&st<Je-.5||Tt===yt&&st===Je&&Fn<zn-.5)&&(Ye=Fe=!0,ne[ue].column=fn,ne[ue+1].column=bn,Je=ne[ue],ne[ue]=ne[ue+1],ne[ue+1]=Je)}for(ue=0;ue<se;ue++)ne[ue].index=ue;return rv(a,y,ne),Fe}ol.prototype.straightenAndPack=function(){if(this.ve===0){var a=(this.bg&1)!==0,y=(this.bg&YT)!==0;if(1e3<this.network.edges.count&&y&&(a=!1),a){var ee=[];for(y=0;y<=this.Ia;y++)ee[y]=0;for(var ne,se=this.network.vertexes.iterator;se.next();){var ue=se.value;y=ue.layer,ne=ue.column,ue=this.nodeMinColumnSpace(ue,!1),ee[y]=Math.max(ee[y],ne+ue)}for(se.reset();se.next();)ue=se.value,y=ue.layer,ne=ue.column,ue.column=(8*(this.Ra-ee[y])>>1)+8*ne;this.Ra*=8}if(this.bg&2)for(ee=!0;ee;){for(ee=!1,y=this.Md+1;y<=this.Ia;y++)ee=V1(this,y,1)||ee;for(y=this.Md-1;0<=y;y--)ee=V1(this,y,-1)||ee;ee=V1(this,this.Md,0)||ee}if(this.bg&4){for(y=this.Md+1;y<=this.Ia;y++)YA(this,y,1);for(y=this.Md-1;0<=y;y--)YA(this,y,-1);YA(this,this.Md,0)}if(a&&(XA(this,-1),XA(this,1)),this.bg&2)for(ee=!0;ee;){for(ee=!1,ee=V1(this,this.Md,0)||ee,y=this.Md+1;y<=this.Ia;y++)ee=V1(this,y,0)||ee;for(y=this.Md-1;0<=y;y--)ee=V1(this,y,0)||ee}}else ZT(this)};function V1(a,y,ee){for(var ne=!1;HT(a,y,ee);)ne=!0;return ne}function HT(a,y,ee){var ne,se=_v(a,y),ue=a.tc[y],me=oP(a,y,-1);if(0<ee)for(ne=0;ne<ue;ne++)me[ne]=-1;var be=oP(a,y,1);if(0>ee)for(ne=0;ne<ue;ne++)be[ne]=-1;for(var Fe=!1,Ye=!0;Ye;)for(Ye=!1,ne=0;ne<ue;ne++){var Je=se[ne].column,st=a.nodeMinColumnSpace(se[ne],!0),yt=a.nodeMinColumnSpace(se[ne],!1),Tt=0;0>ne-1||Je-se[ne-1].column-1>st+a.nodeMinColumnSpace(se[ne-1],!1)?Tt=Je-1:Tt=Je,st=ne+1>=ue||se[ne+1].column-Je-1>yt+a.nodeMinColumnSpace(se[ne+1],!0)?Je+1:Je;var Ft=yt=0,Zt=0;if(0>=ee)for(var bn=se[ne].sourceEdges.iterator;bn.next();){var fn=bn.value,Fn=fn.fromVertex;if(fn.valid&&Fn.layer!==y){var zn=nC(fn),Zn=fn.portFromColOffset;fn=fn.portToColOffset,Fn=Fn.column,yt+=(Math.abs(Je+fn-(Fn+Zn))+1)*zn,Ft+=(Math.abs(Tt+fn-(Fn+Zn))+1)*zn,Zt+=(Math.abs(st+fn-(Fn+Zn))+1)*zn}}if(0<=ee)for(bn=se[ne].destinationEdges.iterator;bn.next();)fn=bn.value,Fn=fn.toVertex,fn.valid&&Fn.layer!==y&&(zn=nC(fn),Zn=fn.portFromColOffset,fn=fn.portToColOffset,Fn=Fn.column,yt+=(Math.abs(Je+Zn-(Fn+fn))+1)*zn,Ft+=(Math.abs(Tt+Zn-(Fn+fn))+1)*zn,Zt+=(Math.abs(st+Zn-(Fn+fn))+1)*zn);fn=Zn=zn=0,bn=me[se[ne].index],Fn=be[se[ne].index],bn!==-1&&(zn+=Math.abs(bn-Je),Zn+=Math.abs(bn-Tt),fn+=Math.abs(bn-st)),Fn!==-1&&(zn+=Math.abs(Fn-Je),Zn+=Math.abs(Fn-Tt),fn+=Math.abs(Fn-st)),Ft<yt||Ft===yt&&Zn<zn?(Ye=Fe=!0,se[ne].column=Tt):(Zt<yt||Zt===yt&&fn<zn)&&(Ye=Fe=!0,se[ne].column=st)}return rv(a,y,se),a.normalize(),Fe}function YA(a,y,ee){var ne=_v(a,y),se=a.tc[y],ue=GT(a,y,ee),me=[];for(ee=0;ee<se;ee++)me[ee]=ue[ee];for(ue=!0;ue;)for(ue=!1,ee=0;ee<se;ee++){var be=ne[ee].column,Fe=a.nodeMinColumnSpace(ne[ee],!0),Ye=a.nodeMinColumnSpace(ne[ee],!1),Je=0;if(me[ee]===-1)if(ee===0&&ee===se-1)Je=be;else if(ee===0){var st=ne[ee+1].column;st-be===Ye+a.nodeMinColumnSpace(ne[ee+1],!0)?Je=be-1:Je=be}else ee===se-1?(st=ne[ee-1].column,Je=be-st===Fe+a.nodeMinColumnSpace(ne[ee-1],!1)?be+1:be):(st=ne[ee-1].column,Fe=st+a.nodeMinColumnSpace(ne[ee-1],!1)+Fe+1,st=ne[ee+1].column,Ye=st-a.nodeMinColumnSpace(ne[ee+1],!0)-Ye-1,Je=(Fe+Ye)/2|0);else ee===0&&ee===se-1?Je=me[ee]:ee===0?(st=ne[ee+1].column,Ye=st-a.nodeMinColumnSpace(ne[ee+1],!0)-Ye-1,Je=Math.min(me[ee],Ye)):ee===se-1?(st=ne[ee-1].column,Fe=st+a.nodeMinColumnSpace(ne[ee-1],!1)+Fe+1,Je=Math.max(me[ee],Fe)):(st=ne[ee-1].column,Fe=st+a.nodeMinColumnSpace(ne[ee-1],!1)+Fe+1,st=ne[ee+1].column,Ye=st-a.nodeMinColumnSpace(ne[ee+1],!0)-Ye-1,Fe<me[ee]&&me[ee]<Ye?Je=me[ee]:Fe>=me[ee]?Je=Fe:Ye<=me[ee]&&(Je=Ye));Je!==be&&(ue=!0,ne[ee].column=Je)}rv(a,y,ne),a.normalize()}function VT(a,y){for(var ee=!0,ne=a.network.vertexes.iterator;ne.next();){var se=ne.value,ue=a.nodeMinColumnSpace(se,!0),me=a.nodeMinColumnSpace(se,!1);if(se.column-ue<=y&&se.column+me>=y){ee=!1;break}}if(a=!1,ee)for(ne.reset();ne.next();)ee=ne.value,ee.column>y&&(--ee.column,a=!0);return a}function KT(a,y){var ee=y+1,ne,se=[],ue=[];for(ne=0;ne<=a.Ia;ne++)se[ne]=!1,ue[ne]=!1;for(var me=a.network.vertexes.iterator;me.next();){ne=me.value;var be=ne.column-a.nodeMinColumnSpace(ne,!0),Fe=ne.column+a.nodeMinColumnSpace(ne,!1);be<=y&&Fe>=y&&(se[ne.layer]=!0),be<=ee&&Fe>=ee&&(ue[ne.layer]=!0)}for(be=!0,ee=!1,ne=0;ne<=a.Ia;ne++)be=be&&!(se[ne]&&ue[ne]);if(be)for(me.reset();me.next();)a=me.value,a.column>y&&(--a.column,ee=!0);return ee}function XA(a,y){for(var ee=0;ee<=a.Ra;ee++)for(;VT(a,ee););for(a.normalize(),ee=0;ee<a.Ra;ee++)for(;KT(a,ee););a.normalize();var ne;if(0<y)for(ee=0;ee<=a.Ra;ee++){var se=fd(a),ue=KA(a);for(ne=ue+1;ue<ne;){ne=ue,uP(a,ee,1);var me=KA(a);me>ue?sf(a,se):me<ue&&(ue=me,se=fd(a))}}if(0>y)for(ee=a.Ra;0<=ee;ee--)for(se=fd(a),ue=KA(a),ne=ue+1;ue<ne;)ne=ue,uP(a,ee,-1),me=KA(a),me>ue?sf(a,se):me<ue&&(ue=me,se=fd(a));a.normalize()}function uP(a,y,ee){a.le=0;for(var ne=a.network.vertexes.iterator;ne.next();)ne.value.component=-1;if(0<ee)for(ne.reset();ne.next();){var se=ne.value;se.column-a.nodeMinColumnSpace(se,!0)<=y&&(se.component=a.le)}if(0>ee)for(ne.reset();ne.next();)se=ne.value,se.column+a.nodeMinColumnSpace(se,!1)>=y&&(se.component=a.le);for(a.le++,ne.reset();ne.next();)y=ne.value,y.component===-1&&(rC(a,y,a.le,-1,!0,!0),a.le++);var ue;for(y=[],ue=0;ue<a.le*a.le;ue++)y[ue]=!1;for(se=[],ue=0;ue<(a.Ia+1)*(a.Ra+1);ue++)se[ue]=-1;for(ne.reset();ne.next();){ue=ne.value;for(var me=ue.layer,be=Math.max(0,ue.column-a.nodeMinColumnSpace(ue,!0)),Fe=Math.min(a.Ra,ue.column+a.nodeMinColumnSpace(ue,!1));be<=Fe;be++)se[me*(a.Ra+1)+be]=ue.component}for(ue=0;ue<=a.Ia;ue++){if(0<ee)for(me=0;me<a.Ra;me++)se[ue*(a.Ra+1)+me]!==-1&&se[ue*(a.Ra+1)+me+1]!==-1&&se[ue*(a.Ra+1)+me]!==se[ue*(a.Ra+1)+me+1]&&(y[se[ue*(a.Ra+1)+me]*a.le+se[ue*(a.Ra+1)+me+1]]=!0);if(0>ee)for(me=a.Ra;0<me;me--)se[ue*(a.Ra+1)+me]!==-1&&se[ue*(a.Ra+1)+me-1]!==-1&&se[ue*(a.Ra+1)+me]!==se[ue*(a.Ra+1)+me-1]&&(y[se[ue*(a.Ra+1)+me]*a.le+se[ue*(a.Ra+1)+me-1]]=!0)}for(se=[],ue=0;ue<a.le;ue++)se[ue]=!0;for(me=[],me.push(0);me.length!==0;)if(Fe=me[me.length-1],me.pop(),se[Fe])for(se[Fe]=!1,ue=0;ue<a.le;ue++)y[Fe*a.le+ue]&&me.splice(0,0,ue);if(0<ee)for(ne.reset();ne.next();)a=ne.value,se[a.component]&&--a.column;if(0>ee)for(ne.reset();ne.next();)ee=ne.value,se[ee.component]&&(ee.column+=1)}function ZT(a){for(var y=pr(),ee=a.fl.length,ne=0;ne<=ee;ne++)y[ne]=[];for(ne=a.network.vertexes.iterator;ne.next();){var se=ne.value;y[ee-se.layer][se.index]=se}ee=new Zr,sC(y,ee);var ue=null,me=null,be=null,Fe=null,Ye=(a.ve&1)!==0,Je=(a.ve&2)!==0,st=(a.ve&4)!==0,yt=(a.ve&8)!==0;for(Ye&&(a.verticalAlignment(y,ee,!0),ue=QA(a,y,!0,!1)),y.reverse(),st&&(a.verticalAlignment(y,ee,!1),be=QA(a,y,!1,!1)),ne=ko(y),se=ne.next();!se.done;se=ne.next())se.value.reverse();yt&&(a.verticalAlignment(y,ee,!1),Fe=QA(a,y,!1,!0)),y.reverse(),Je&&(a.verticalAlignment(y,ee,!0),me=QA(a,y,!0,!0)),Mr(y),a.u(ue,me,be,Fe),a.network.vertexes.each(function(Tt){var Ft=pr();Ye&&Ft.push(ue.get(Tt)),Je&&Ft.push(me.get(Tt)),st&&Ft.push(be.get(Tt)),yt&&Ft.push(Fe.get(Tt)),Ft.sort(function(bn,fn){return bn-fn});var Zt=Ft.length;Zt=(Ft[Math.floor((Zt-1)/2)]+Ft[Math.ceil((Zt-1)/2)])/2,Mr(Ft),Tt.zc=Zt})}function sC(a,y){for(var ee=a.length,ne=1;ne<ee-1;ne++)for(var se=0,ue=0,me=a[ne],be=a[ne+1],Fe=0;ue<be.length;Fe++){var Ye=be[Fe];e:{if(Ye.node===null){var Je=gC(Ye);if(0<Je.length){Je=Je[0].node===null;break e}}Je=!1}var st=Je;if(Fe===be.length-1||st){for(Je=me.length-1,st&&(Je=gC(Ye)[0].index);ue<=Fe;){if(Ye=be[ue],!Ye.bo){st=[];for(var yt=ko(Ye.sourceEdgesArrayAccess),Tt=yt.next();!Tt.done;Tt=yt.next())Tt=Tt.value,Tt.valid&&st.push(Tt);Ye.bo=st}for(Ye=ko(Ye.bo),st=Ye.next();!st.done;st=Ye.next())st=st.value,yt=st.fromVertex.index,(yt<se||yt>Je)&&y.add(st);ue++}se=Je}}}ol.prototype.verticalAlignment=function(a,y,ee){lC(a),a=ko(a);for(var ne=a.next();!ne.done;ne=a.next()){var se=-1;ne=ko(ne.value);for(var ue=ne.next();!ue.done;ue=ne.next()){ue=ue.value;var me=ee?gC(ue):XT(ue),be=me.length;if(0<be){me.sort(function(st,yt){return st.vi-yt.vi});var Fe=(be-1)/2;for(be=Math.floor(Fe),Fe=Math.ceil(Fe);be<=Fe;be++)if(ue.align===ue){var Ye=me[be],Je=void 0;Je=ee?nS(Ye,ue):nS(ue,Ye),!y.contains(Je)&&se<Ye.vi&&(Ye.align=ue,ue.root=Ye.root,ue.align=Ye.root,se=Ye.vi)}}}}};function lC(a){for(var y=0;y<a.length;y++)for(var ee=a[y],ne=0;ne<ee.length;ne++){var se=ee[ne];se.root=se,se.align=se,se.Tz=y,se.vi=ne}}function QA(a,y,ee,ne){for(var se=a.K===90||a.K===270,ue=ko(y),me=ue.next();!me.done;me=ue.next()){var be=ko(me.value);for(me=be.next();!me.done;me=be.next())me=me.value,me.sd=me,me.shift=1/0,me.zc=NaN,me.qg=0}for(me=a.K===90||a.K===270,ue=ko(y),be=ue.next();!be.done;be=ue.next()){be=ko(be.value);for(var Fe=be.next();!Fe.done;Fe=be.next())if(Fe=Fe.value,Fe.root===Fe){for(var Ye=0,Je=Fe;Je.align!==Fe;){var st=Je.align,yt=me?Je.width:Je.height,Tt=me?st.width:st.height;if(ee){var Ft=nS(Je,st),Zt=Ft.portFromPos,bn=Ft.portToPos;Ft.link!==null&&(Je.node&&Je.node!==Ft.link.fromNode&&(Zt=me?Je.focusX:Je.focusY),st.node&&st.node!==Ft.link.toNode&&(bn=me?st.focusX:st.focusY))}else Ft=nS(st,Je),Zt=Ft.portToPos,bn=Ft.portFromPos,Ft.link!==null&&(Je.node&&Je.node!==Ft.link.toNode&&(Zt=me?Je.focusX:Je.focusY),st.node&&st.node!==Ft.link.fromNode&&(bn=me?st.focusX:st.focusY));yt=ne?Je.qg+(yt-Zt)-(Tt-bn):Je.qg+Zt-bn,st.qg=yt,Ye=Math.min(Ye,yt),Je=Je.align}Je=Fe;do Je.qg=Je.qg-Ye,Je=Je.align;while(Je!==Fe)}}for(ee=ko(y),me=ee.next();!me.done;me=ee.next())for(ue=ko(me.value),me=ue.next();!me.done;me=ue.next())me=me.value,me.root===me&&cP(a,me,y);for(ee=0;ee<y.length;ee++)if(!(0>=y[ee].length)&&(me=y[ee][0],me.sd===me)){me.sd.shift===1/0&&(me.sd.shift=0),me=ee,be=0;do{for(ue=y[me][be];ue.align!==ue.root;)ue=ue.align,me++,0<ue.vi&&(be=hP(ue,y),be.sd.shift=Math.min(be.sd.shift,ue.sd.shift+ue.zc+ue.qg-(be.zc+be.qg+(se?be.width:be.height)+a.columnSpacing)));be=ue.vi+1}while(me<y.length&&be<y[me].length&&ue.sd===y[me][be].sd)}for(a=new Ji,y=ko(y),me=y.next();!me.done;me=y.next())for(ee=ko(me.value),me=ee.next();!me.done;me=ee.next())me=me.value,me.zc=me.zc+me.sd.shift+me.qg,ue=se?me.width:me.height,a.add(me,ne?-me.zc-ue:me.zc);return a}function cP(a,y,ee){if(isNaN(y.zc)){y.zc=0;var ne=y;do{if(0<ne.vi){var se=hP(ne,ee),ue=se.root;cP(a,ue,ee),y.sd===y&&(y.sd=ue.sd);var me=a.K===90||a.K===270?se.width:se.height;y.sd===ue.sd&&(y.zc=Math.max(y.zc,ue.zc+se.qg+me-ne.qg+a.columnSpacing))}ne=ne.align}while(ne!==y);for(;ne.align!==y;)ne=ne.align,ne.zc=y.zc,ne.sd=y.sd}}function hP(a,y){var ee=a.Tz;return a=a.vi,1>a&&cn("Could not determine previous vertex in layer"),y[ee][a-1]}ol.prototype.u=function(a){for(var y=[],ee=0;ee<arguments.length;++ee)y[ee]=arguments[ee];ee=-1;for(var ne=pr(),se=pr(),ue=1/0,me=0;4>me;me++)if(y[me]){var be=dP(this,y[me],ne,se,me);be<ue&&(ee=me,ue=be)}for(ue={},me=0;4>me;ue={delta:ue.delta},me++)y[me]&&(ue.delta=me===0||me===2?ne[ee]-ne[me]:se[ee]-se[me],ue.delta!==0&&y[me].each(function(Fe){return function(Ye){Ye.value+=Fe.delta}}(ue)));Mr(ne),Mr(se)};function dP(a,y,ee,ne,se){if(!y||y.count===0)return ee[se]=0,ne[se]=0,1/0;var ue=1/0,me=-1/0;return y.each(function(be){var Fe=be.key;be=be.value,Fe=a.K===90||a.K===270?Fe.width:Fe.height,be<ue&&(ue=be),be+Fe>me&&(me=be+Fe)}),ee[se]=ue,ne[se]=me,me-ue}ol.prototype.commitLayout=function(){if(this.setsPortSpots)for(var a=K1(this,!0),y=K1(this,!1),ee=this.network.edges.iterator;ee.next();){var ne=ee.value.link;ne!==null&&(ne.fromSpot=a,ne.toSpot=y)}this.commitNodes(),this.Gu(),this.isRouting&&this.commitLinks()};function K1(a,y){return a.K===270?y?cu:Fu:a.K===90?y?Fu:cu:a.K===180?y?wu:Du:y?Du:wu}ol.prototype.commitNodes=function(){this.he=[],this.Ld=[],this.Kd=[],this.Ta=[];for(var a=0;a<=this.Ia;a++)this.he[a]=0,this.Ld[a]=0,this.Kd[a]=0,this.Ta[a]=0;for(a=this.network.vertexes.iterator;a.next();){var y=a.value,ee=y.layer;this.he[ee]=Math.max(this.he[ee],this.nodeMinLayerSpace(y,!0)),this.Ld[ee]=Math.max(this.Ld[ee],this.nodeMinLayerSpace(y,!1))}y=0,ee=this.ie;for(var ne=0;ne<=this.Ia;ne++){var se=ee;0>=this.he[ne]+this.Ld[ne]&&(se=0),0<ne&&(y+=se/2),this.K===90||this.K===0?(y+=this.Ld[ne],this.Kd[ne]=y,y+=this.he[ne]):(y+=this.he[ne],this.Kd[ne]=y,y+=this.Ld[ne]),ne<this.Ia&&(y+=se/2),this.Ta[ne]=y}for(ee=y,y=this.arrangementOrigin,ne=0;ne<=this.Ia;ne++)this.K===270?this.Kd[ne]=y.y+this.Kd[ne]:this.K===90?(this.Kd[ne]=y.y+ee-this.Kd[ne],this.Ta[ne]=ee-this.Ta[ne]):this.K===180?this.Kd[ne]=y.x+this.Kd[ne]:(this.Kd[ne]=y.x+ee-this.Kd[ne],this.Ta[ne]=ee-this.Ta[ne]);ee=this.ve!==0,a.reset(),ne=this.K===270||this.K===90;for(var ue=1/0,me=se=1/0,be=-1/0;a.next();){var Fe=a.value,Ye=Fe.layer,Je=Fe.column|0;ne?(me=y.x+this.kc*Je,Ye=this.Kd[Ye]):(me=this.Kd[Ye],Ye=y.y+this.kc*Je),Fe.centerX=me,Fe.centerY=Ye,ee&&isFinite(Fe.zc)&&(ne?Fe.node?Fe.x=y.x+Fe.zc:Fe.centerX=y.x+Fe.zc:Fe.node?Fe.y=y.y+Fe.zc:Fe.centerY=y.y+Fe.zc),ue=Math.min(Fe.x,ue),se=Math.min(Fe.y,se),ne?(me=ue,be=Math.max(be,Fe.bounds.right)):(me=se,be=Math.max(be,Fe.bounds.bottom))}for(this.xw=be-me,ue=y.x-ue,y=y.y-se,this.Rf=new yn(ee&&ne?0:ue,ee&&!ne?0:y),a.reset();a.next();)ee=a.value,ee.x+=ue,ee.y+=y,ee.commit()},ol.prototype.Gu=function(){for(var a=0,y=this.ie,ee=0;ee<=this.Ia;ee++)a+=this.he[ee],a+=this.Ld[ee];a+=this.Ia*y,y=[],ee=this.ve!==0?this.xw:this.kc*this.Ra;for(var ne=this.maxLayer;0<=ne;ne--)this.K===270?ne===0?y.push(new Ur(0,0,ee,Math.abs(this.Ta[0]))):y.push(new Ur(0,this.Ta[ne-1],ee,Math.abs(this.Ta[ne-1]-this.Ta[ne]))):this.K===90?ne===0?y.push(new Ur(0,this.Ta[0],ee,Math.abs(this.Ta[0]-a))):y.push(new Ur(0,this.Ta[ne],ee,Math.abs(this.Ta[ne-1]-this.Ta[ne]))):this.K===180?ne===0?y.push(new Ur(0,0,Math.abs(this.Ta[0]),ee)):y.push(new Ur(this.Ta[ne-1],0,Math.abs(this.Ta[ne-1]-this.Ta[ne]),ee)):ne===0?y.push(new Ur(this.Ta[0],0,Math.abs(this.Ta[0]-a),ee)):y.push(new Ur(this.Ta[ne],0,Math.abs(this.Ta[ne-1]-this.Ta[ne]),ee));this.commitLayers(y,this.Rf)},ol.prototype.commitLayers=function(){},ol.prototype.commitLinks=function(){for(var a=this.network.edges.iterator,y;a.next();)y=a.value.link,y!==null&&(y.uh(),y.Fj(),y.zf());for(a.reset();a.next();)y=a.value.link,y!==null&&y.vg();for(a.reset();a.next();){var ee=a.value;if(y=ee.link,y!==null){y.uh();var ne=y,se=ne.fromNode,ue=ne.toNode,me=ne.fromPort,be=ne.toPort;if(se!==null){var Fe=se.findVisibleNode();Fe!==null&&Fe!==se&&(se=Fe,me=Fe.port)}ue!==null&&(Fe=ue.findVisibleNode(),Fe!==null&&Fe!==ue&&(ue=Fe,be=Fe.port));var Ye=y.computeSpot(!0,me);Fe=y.computeSpot(!1,be);var Je=ee.fromVertex,st=ee.toVertex;if(ee.valid)y.curve===If&&y.pointsCount===4&&(Je.column===st.column&&this.alignOption===0?(ee=y.getLinkPoint(se,me,Ye,!0,!1,ue,be),be=y.getLinkPoint(ue,be,Fe,!1,!1,se,me),ee.w()||ee.set(se.actualBounds.center),be.w()||be.set(ue.actualBounds.center),y.Fj(),y.yf(ee.x,ee.y),y.yf((2*ee.x+be.x)/3,(2*ee.y+be.y)/3),y.yf((ee.x+2*be.x)/3,(ee.y+2*be.y)/3),y.yf(be.x,be.y)):(ee=ne=!1,me!==null&&Ye===uu&&(ne=!0),be!==null&&Fe===uu&&(ee=!0),(ne||ee)&&(Fe=null,ne&&(Fe=y.getLinkPointFromPoint(se,me,me.ga(us),y.i(3),!0),Fe.w()||Fe.set(se.actualBounds.center),y.L(0,Fe.x,Fe.y)),se=null,ee&&(se=y.getLinkPointFromPoint(ue,be,be.ga(us),y.i(0),!1),se.w()||se.set(ue.actualBounds.center),y.L(3,se.x,se.y)),Fe&&(ue=y.i(2),y.L(1,(2*Fe.x+ue.x)/3,(2*Fe.y+ue.y)/3)),se&&(ue=y.i(1),y.L(2,(2*se.x+ue.x)/3,(2*se.y+ue.y)/3))))),y.zf();else if(Je.layer===st.layer)y.zf();else{var yt=!1,Tt=!1,Ft=this.ie,Zt=y.firstPickIndex+1;if(y.isOrthogonal){Tt=!0;var bn=y.pointsCount;4<bn&&y.points.removeRange(2,bn-3)}else if(y.curve===If)yt=!0,bn=y.pointsCount,4<bn&&y.points.removeRange(2,bn-3),bn===4&&(Zt=2);else{bn=y.pointsCount;var fn=Ye===uu,Fn=Fe===uu;2<bn&&fn&&Fn?y.points.removeRange(1,bn-2):3<bn&&fn&&!Fn?y.points.removeRange(1,bn-3):3<bn&&!fn&&Fn?y.points.removeRange(2,bn-2):4<bn&&!fn&&!Fn&&y.points.removeRange(2,bn-3)}if(ee.rev){for(;st!==null&&Je!==st;){var zn=bn=null;for(fn=st.sourceEdges.iterator;fn.next()&&(Fn=fn.value,Fn.link!==ee.link||(bn=Fn.fromVertex,zn=Fn.toVertex,bn.node!==null)););if(bn===null)break;if(bn!==Je){fn=y.i(Zt-1).x,Fn=y.i(Zt-1).y;var Zn=bn.centerX,sr=bn.centerY;if(Tt)this.K===180||this.K===0?Zt===y.firstPickIndex+1?(y.m(Zt++,fn,Fn),y.m(Zt++,fn,sr)):(zn!==null?zn.centerY:Fn)!==sr&&(zn=this.Ta[bn.layer-1]+this.Rf.x,y.m(Zt++,zn,Fn),y.m(Zt++,zn,sr)):Zt===y.firstPickIndex+1?(y.m(Zt++,fn,Fn),y.m(Zt++,Zn,Fn)):(zn!==null?zn.centerX:fn)!==Zn&&(zn=this.Ta[bn.layer-1]+this.Rf.y,y.m(Zt++,fn,zn),y.m(Zt++,Zn,zn));else if(Zt===y.firstPickIndex+1){zn=Math.max(10,this.he[st.layer]);var Br=Math.max(10,this.Ld[st.layer]);if(yt)this.K===180?Zn<=st.bounds.x?(st=st.bounds.x,y.m(Zt++,st-zn,sr),y.m(Zt++,st,sr),y.m(Zt++,st+Br,sr)):(y.m(Zt++,Zn-zn,sr),y.m(Zt++,Zn,sr),y.m(Zt++,Zn+Br,sr)):this.K===90?sr>=st.bounds.bottom?(st=st.bounds.y+st.bounds.height,y.m(Zt++,Zn,st+Br),y.m(Zt++,Zn,st),y.m(Zt++,Zn,st-zn)):(y.m(Zt++,Zn,sr+Br),y.m(Zt++,Zn,sr),y.m(Zt++,Zn,sr-zn)):this.K===270?sr<=st.bounds.y?(st=st.bounds.y,y.m(Zt++,Zn,st-zn),y.m(Zt++,Zn,st),y.m(Zt++,Zn,st+Br)):(y.m(Zt++,Zn,sr-zn),y.m(Zt++,Zn,sr),y.m(Zt++,Zn,sr+Br)):this.K===0&&(Zn>=st.bounds.right?(st=st.bounds.x+st.bounds.width,y.m(Zt++,st+Br,sr),y.m(Zt++,st,sr),y.m(Zt++,st-zn,sr)):(y.m(Zt++,Zn+Br,sr),y.m(Zt++,Zn,sr),y.m(Zt++,Zn-zn,sr)));else{y.m(Zt++,fn,Fn);var Hi=0;this.K===180||this.K===0?((this.K===180?Zn>=st.bounds.right:Zn<=st.bounds.x)&&(Hi=(this.K===0?-zn:Br)/2),y.m(Zt++,fn+Hi,sr)):((this.K===270?sr>=st.bounds.bottom:sr<=st.bounds.y)&&(Hi=(this.K===90?-zn:Br)/2),y.m(Zt++,Zn,Fn+Hi)),y.m(Zt++,Zn,sr)}}else zn=Math.max(10,this.he[bn.layer]),Br=Math.max(10,this.Ld[bn.layer]),yt?this.K===180?(y.m(Zt++,Zn-zn-Ft,sr),y.m(Zt++,Math.min(Zn-zn+Ft/2,Zn),sr),y.m(Zt++,Zn,sr),y.m(Zt++,Zn,sr),y.m(Zt++,Math.max(Zn+Br-Ft/2,Zn),sr),y.m(Zt++,Zn+Br+Ft,sr)):this.K===90?(y.m(Zt++,Zn,sr+Br+Ft),y.m(Zt++,Zn,Math.max(sr+Br-Ft/2,sr)),y.m(Zt++,Zn,sr),y.m(Zt++,Zn,sr),y.m(Zt++,Zn,Math.min(sr-zn+Ft/2,sr)),y.m(Zt++,Zn,sr-zn-Ft)):this.K===270?(y.m(Zt++,Zn,sr-zn-Ft),y.m(Zt++,Zn,Math.min(sr-zn+Ft/2,sr)),y.m(Zt++,Zn,sr),y.m(Zt++,Zn,sr),y.m(Zt++,Zn,Math.max(sr+Br-Ft/2,sr)),y.m(Zt++,Zn,sr+Br+Ft)):(y.m(Zt++,Zn+Br+Ft,sr),y.m(Zt++,Math.max(Zn+Br-Ft/2,Zn),sr),y.m(Zt++,Zn,sr),y.m(Zt++,Zn,sr),y.m(Zt++,Math.min(Zn-zn+Ft/2,Zn),sr),y.m(Zt++,Zn-zn-Ft,sr)):y.m(Zt++,Zn,sr)}st=bn}(be===null||Ye!==uu||Tt)&&(fn=y.i(Zt-1).x,Fn=y.i(Zt-1).y,Zn=y.i(Zt).x,sr=y.i(Zt).y,Tt?(Ft=this.Ld[Je.layer],this.K===180||this.K===0?(Tt=Fn,Tt>=Je.bounds.y&&Tt<=Je.bounds.bottom&&(this.K===180?Zn>=Je.bounds.x:Zn<=Je.bounds.right)&&(st=Je.centerX+(this.K===180?-Ft:Ft),Tt<Je.bounds.y+Je.bounds.height/2?Tt=Je.bounds.y-this.kc/2:Tt=Je.bounds.bottom+this.kc/2,y.m(Zt++,st,Fn),y.m(Zt++,st,Tt)),y.m(Zt++,Zn,Tt)):(Tt=fn,Tt>=Je.bounds.x&&Tt<=Je.bounds.right&&(this.K===270?sr>=Je.bounds.y:sr<=Je.bounds.bottom)&&(st=Je.centerY+(this.K===270?-Ft:Ft),Tt<Je.bounds.x+Je.bounds.width/2?Tt=Je.bounds.x-this.kc/2:Tt=Je.bounds.right+this.kc/2,y.m(Zt++,fn,st),y.m(Zt++,Tt,st)),y.m(Zt++,Tt,sr)),y.m(Zt++,Zn,sr)):yt?(zn=Math.max(10,this.he[Je.layer]),Br=Math.max(10,this.Ld[Je.layer]),this.K===180&&Zn>=Je.bounds.x?(st=Je.bounds.x+Je.bounds.width,y.L(Zt-2,st,Fn),y.L(Zt-1,st+Br,Fn)):this.K===90&&sr<=Je.bounds.bottom?(st=Je.bounds.y,y.L(Zt-2,fn,st),y.L(Zt-1,fn,st-zn)):this.K===270&&sr>=Je.bounds.y?(st=Je.bounds.y+Je.bounds.height,y.L(Zt-2,fn,st),y.L(Zt-1,fn,st+Br)):this.K===0&&Zn<=Je.bounds.right&&(st=Je.bounds.x,y.L(Zt-2,st,Fn),y.L(Zt-1,st-zn,Fn))):(zn=Math.max(10,this.he[Je.layer]),Br=Math.max(10,this.Ld[Je.layer]),Tt=0,this.K===180||this.K===0?((this.K===180?Zn<=Je.bounds.x:Zn>=Je.bounds.right)&&(Tt=(this.K===0?Br:-zn)/2),y.m(Zt++,Zn+Tt,Fn)):((this.K===270?sr<=Je.bounds.y:sr>=Je.bounds.bottom)&&(Tt=(this.K===90?Br:-zn)/2),y.m(Zt++,fn,sr+Tt)),y.m(Zt++,Zn,sr)))}else{for(;Je!==null&&Je!==st;){for(zn=bn=null,Je=Je.destinationEdges.iterator;Je.next()&&(fn=Je.value,fn.link!==ee.link||(bn=fn.toVertex,zn=fn.fromVertex,zn.node!==null&&(zn=null),bn.node!==null)););if(bn===null)break;bn!==st&&(fn=y.i(Zt-1).x,Fn=y.i(Zt-1).y,Zn=bn.centerX,sr=bn.centerY,Tt?this.K===180||this.K===0?(zn!==null?zn.centerY:Fn)!==sr&&(zn=this.Ta[bn.layer]+this.Rf.x,Zt===y.firstPickIndex+1&&(zn=this.K===0?Math.max(zn,fn):Math.min(zn,fn)),y.m(Zt++,zn,Fn),y.m(Zt++,zn,sr)):(zn!==null?zn.centerX:fn)!==Zn&&(zn=this.Ta[bn.layer]+this.Rf.y,Zt===y.firstPickIndex+1&&(zn=this.K===90?Math.max(zn,Fn):Math.min(zn,Fn)),y.m(Zt++,fn,zn),y.m(Zt++,Zn,zn)):(zn=Math.max(10,this.he[bn.layer]),Br=Math.max(10,this.Ld[bn.layer]),yt?this.K===180?(y.m(Zt++,Zn+Br+Ft,sr),y.m(Zt++,Math.max(Zn+Br-Ft/2,Zn),sr),y.m(Zt++,Zn,sr),y.m(Zt++,Zn,sr),y.m(Zt++,Math.min(Zn-zn+Ft/2,Zn),sr),y.m(Zt++,Zn-zn-Ft,sr)):this.K===90?(y.m(Zt++,Zn,sr-zn-Ft),y.m(Zt++,Zn,Math.min(sr-zn+Ft/2,sr)),y.m(Zt++,Zn,sr),y.m(Zt++,Zn,sr),y.m(Zt++,Zn,Math.max(sr+Br-Ft/2,sr)),y.m(Zt++,Zn,sr+Br+Ft)):this.K===270?(y.m(Zt++,Zn,sr+Br+Ft),y.m(Zt++,Zn,Math.max(sr+Br-Ft/2,sr)),y.m(Zt++,Zn,sr),y.m(Zt++,Zn,sr),y.m(Zt++,Zn,Math.min(sr-zn+Ft/2,sr)),y.m(Zt++,Zn,sr-zn-Ft)):(y.m(Zt++,Zn-zn-Ft,sr),y.m(Zt++,Math.min(Zn-zn+Ft/2,Zn),sr),y.m(Zt++,Zn,sr),y.m(Zt++,Zn,sr),y.m(Zt++,Math.max(Zn+Br-Ft/2,Zn),sr),y.m(Zt++,Zn+Br+Ft,sr)):this.K===180?(y.m(Zt++,Zn+Br,sr),y.m(Zt++,Zn-zn,sr)):this.K===90?(y.m(Zt++,Zn,sr-zn),y.m(Zt++,Zn,sr+Br)):this.K===270?(y.m(Zt++,Zn,sr+Br),y.m(Zt++,Zn,sr-zn)):(y.m(Zt++,Zn-zn,sr),y.m(Zt++,Zn+Br,sr)))),Je=bn}Tt&&(fn=y.i(Zt-1).x,Fn=y.i(Zt-1).y,Zn=y.i(Zt).x,sr=y.i(Zt).y,this.K===180||this.K===0?Fn!==sr&&(zn=this.K===0?Math.min(Math.max((Zn+fn)/2,this.Ta[st.layer]+this.Rf.x),Zn):Math.max(Math.min((Zn+fn)/2,this.Ta[st.layer]+this.Rf.x),Zn),y.m(Zt++,zn,Fn),y.m(Zt++,zn,sr)):fn!==Zn&&(zn=this.K===90?Math.min(Math.max((sr+Fn)/2,this.Ta[st.layer]+this.Rf.y),sr):Math.max(Math.min((sr+Fn)/2,this.Ta[st.layer]+this.Rf.y),sr),y.m(Zt++,fn,zn),y.m(Zt++,Zn,zn)))}ne!==null&&yt&&4<=y.pointsCount&&(me!==null&&(me=Ye===uu?y.getLinkPointFromPoint(se,me,me.ga(us),y.i(3),!0):y.i(0),Ye===uu&&(Ye=y.i(2),ne=y.i(3),this.direction===90||this.direction===270?(y.L(1,(me.x+Ye.x)/2,Ye.y),y.L(2,ne.x,(Ye.y+ne.y)/2)):(y.L(1,Ye.x,(me.y+Ye.y)/2),y.L(2,(Ye.x+ne.x)/2,ne.y))),me.w()||me.set(se.actualBounds.center),y.L(0,me.x,me.y)),be!==null&&(se=Fe===uu?y.getLinkPointFromPoint(ue,be,be.ga(us),y.i(y.pointsCount-4),!1):y.i(y.pointsCount-1),Fe===uu&&(be=y.i(y.pointsCount-3),Fe=y.i(y.pointsCount-4),this.direction===90||this.direction===270?(y.L(y.pointsCount-2,(se.x+be.x)/2,be.y),y.L(y.pointsCount-2,Fe.x,(be.y+Fe.y)/2)):(y.L(y.pointsCount-2,be.x,(se.y+be.y)/2),y.L(y.pointsCount-3,(be.x+Fe.x)/2,Fe.y))),se.w()||se.set(ue.actualBounds.center),y.L(y.pointsCount-1,se.x,se.y))),y.zf(),ee.commit()}}}this.avoidOrthogonalOverlaps()},ol.prototype.avoidOrthogonalOverlaps=function(){if(!(0>=this.linkSpacing)){for(var a=new Hr,y=this.network.edges.iterator;y.next();){var ee=y.value.link;ee!==null&&ee.isOrthogonal&&!a.contains(ee)&&a.add(ee)}if(0<a.count)if(this.K===90||this.K===270){for(y=0,ee=[],a=a.iterator;a.next();){var ne=a.value;if(ne!==null&&ne.isOrthogonal)for(var se=2;se<ne.pointsCount-3;se++){var ue=ne.i(se),me=ne.i(se+1);if(this.B(ue.y,me.y)&&!this.B(ue.x,me.x)){var be=new zv;be.layer=Math.floor(ue.y/2);var Fe=ne.i(0),Ye=ne.i(ne.pointsCount-1);if(be.first=Fe.x*Fe.x+Fe.y,be.jc=Ye.x*Ye.x+Ye.y,be.rd=Math.min(ue.x,me.x),be.Ic=Math.max(ue.x,me.x),be.index=se,be.link=ne,se+2<ne.pointsCount){Fe=ne.i(se-1),Ye=ne.i(se+2);var Je=0;Fe.y<ue.y?Je=Ye.y<ue.y?3:ue.x<me.x?2:1:Fe.y>ue.y&&(Je=Ye.y>ue.y?0:me.x<ue.x?2:1),be.j=Je}ee.push(be)}}}if(1<ee.length)for(ee.sort(this.Vx),a=0;a<ee.length;){for(ue=ee[a].layer,ne=a+1;ne<ee.length&&ee[ne].layer===ue;)ne++;if(1<ne-a)for(ue=a;ue<ne;){for(me=ee[ue].Ic,se=a+1;se<ne&&ee[se].rd<me;)me=Math.max(me,ee[se].Ic),se++;if(me=se-ue,1<me){for(this.zi(ee,this.Js,ue,ue+me),Je=1,be=ee[ue].jc,Fe=ue;Fe<se;Fe++)Ye=ee[Fe],Ye.jc!==be&&(Je++,be=Ye.jc);this.zi(ee,this.Ux,ue,ue+me);var st=1;for(be=ee[ue].first,Fe=ue;Fe<se;Fe++)Ye=ee[Fe],Ye.first!==be&&(st++,be=Ye.first);for(Fe=!0,Ye=st,Je<st?(Fe=!1,Ye=Je,be=ee[ue].jc,this.zi(ee,this.Js,ue,ue+me)):be=ee[ue].first,Je=0,st=ue;st<se;st++){var yt=ee[st];(Fe?yt.first:yt.jc)!==be&&(Je++,be=Fe?yt.first:yt.jc);var Tt=yt.link;ue=Tt.i(yt.index),me=Tt.i(yt.index+1);var Ft=this.linkSpacing*(Je-(Ye-1)/2);y++,Tt.uh(),Tt.L(yt.index,ue.x,ue.y+Ft),Tt.L(yt.index+1,me.x,me.y+Ft),Tt.zf()}}ue=se}a=ne}}else{for(y=0,ee=[],a=a.iterator;a.next();)if(ne=a.value,ne!==null&&ne.isOrthogonal)for(se=2;se<ne.pointsCount-3;se++)ue=ne.i(se),me=ne.i(se+1),this.B(ue.x,me.x)&&!this.B(ue.y,me.y)&&(be=new zv,be.layer=Math.floor(ue.x/2),Fe=ne.i(0),Ye=ne.i(ne.pointsCount-1),be.first=Fe.x+Fe.y*Fe.y,be.jc=Ye.x+Ye.y*Ye.y,be.rd=Math.min(ue.y,me.y),be.Ic=Math.max(ue.y,me.y),be.index=se,be.link=ne,se+2<ne.pointsCount&&(Fe=ne.i(se-1),Ye=ne.i(se+2),Je=0,Fe.x<ue.x?Je=Ye.x<ue.x?3:ue.y<me.y?2:1:Fe.x>ue.x&&(Je=Ye.x>ue.x?0:me.y<ue.y?2:1),be.j=Je),ee.push(be));if(1<ee.length)for(ee.sort(this.Vx),a=0;a<ee.length;){for(ue=ee[a].layer,ne=a+1;ne<ee.length&&ee[ne].layer===ue;)ne++;if(1<ne-a)for(ue=a;ue<ne;){for(me=ee[ue].Ic,se=a+1;se<ne&&ee[se].rd<me;)me=Math.max(me,ee[se].Ic),se++;if(me=se-ue,1<me){for(this.zi(ee,this.Js,ue,ue+me),Je=1,be=ee[ue].jc,Fe=ue;Fe<se;Fe++)Ye=ee[Fe],Ye.jc!==be&&(Je++,be=Ye.jc);for(this.zi(ee,this.Ux,ue,ue+me),st=1,be=ee[ue].first,Fe=ue;Fe<se;Fe++)Ye=ee[Fe],Ye.first!==be&&(st++,be=Ye.first);for(Fe=!0,Ye=st,Je<st?(Fe=!1,Ye=Je,be=ee[ue].jc,this.zi(ee,this.Js,ue,ue+me)):be=ee[ue].first,Je=0,st=ue;st<se;st++)yt=ee[st],(Fe?yt.first:yt.jc)!==be&&(Je++,be=Fe?yt.first:yt.jc),Tt=yt.link,ue=Tt.i(yt.index),me=Tt.i(yt.index+1),Ft=this.linkSpacing*(Je-(Ye-1)/2),y++,Tt.uh(),Tt.L(yt.index,ue.x+Ft,ue.y),Tt.L(yt.index+1,me.x+Ft,me.y),Tt.zf()}ue=se}a=ne}}}},It=ol.prototype,It.Vx=function(a,y){return a instanceof zv&&y instanceof zv&&a!==y?a.layer<y.layer?-1:a.layer>y.layer?1:a.rd<y.rd?-1:a.rd>y.rd?1:a.Ic<y.Ic?-1:a.Ic>y.Ic?1:0:0},It.Ux=function(a,y){return a instanceof zv&&y instanceof zv&&a!==y?a.first<y.first?-1:a.first>y.first||a.j<y.j?1:a.j>y.j||a.rd<y.rd?-1:a.rd>y.rd?1:a.Ic<y.Ic?-1:a.Ic>y.Ic?1:0:0},It.Js=function(a,y){return a instanceof zv&&y instanceof zv&&a!==y?a.jc<y.jc?-1:a.jc>y.jc||a.j<y.j?1:a.j>y.j||a.rd<y.rd?-1:a.rd>y.rd?1:a.Ic<y.Ic?-1:a.Ic>y.Ic?1:0:0},It.B=function(a,y){return a-=y,-1<a&&1>a},It.zi=function(a,y,ee,ne){var se=a.length,ue=ne-ee;if(!(1>=ue))if((0>ee||ee>=se-1)&&cn("not in range 0 <= from < length: "+ee),ue===2)ne=a[ee],se=a[ee+1],0<y(ne,se)&&(a[ee]=se,a[ee+1]=ne);else if(ee===0)if(ne>=se)a.sort(y);else for(ee=a.slice(0,ne),ee.sort(y),y=0;y<ne;y++)a[y]=ee[y];else if(ne>=se)for(ne=a.slice(ee),ne.sort(y),y=ee;y<se;y++)a[y]=ne[y-ee];else for(se=a.slice(ee,ne),se.sort(y),y=ee;y<ne;y++)a[y]=se[y-ee]};function _v(a,y){var ee=a.tc[y];if(ee>=a.He.length){for(var ne=[],se=0;se<a.He.length;se++)ne[se]=a.He[se];a.He=ne}for(a.He[ee]===void 0||a.He[ee]===null?ne=[]:(ne=a.He[ee],a.He[ee]=null),a=a.fl[y],y=0;y<a.length;y++)ee=a[y],ne[ee.index]=ee;return ne}function rv(a,y,ee){a.He[a.tc[y]]=ee}Re.Object.defineProperties(ol.prototype,{layerSpacing:{get:function(){return this.ie},set:function(a){this.ie!==a&&0<=a&&(this.ie=a,this.C())}},columnSpacing:{get:function(){return this.kc},set:function(a){this.kc!==a&&0<a&&(this.kc=a,this.C())}},direction:{get:function(){return this.K},set:function(a){this.K!==a&&(a===0||a===90||a===180||a===270?(this.K=a,this.C()):cn("LayeredDigraphLayout.direction must be 0, 90, 180, or 270"))}},cycleRemoveOption:{get:function(){return this.Dk},set:function(a){this.Dk===a||a!==uC&&a!==JA&&a!==Z1||(this.Dk=a,this.C())}},layeringOption:{get:function(){return this.Zk},set:function(a){this.Zk===a||a!==qA&&a!==cC&&a!==hC||(this.Zk=a,this.C())}},initializeOption:{get:function(){return this.Qk},set:function(a){this.Qk===a||a!==$A&&a!==eS&&a!==xE||(this.Qk=a,this.C())}},iterations:{get:function(){return this.bj},set:function(a){this.bj!==a&&0<=a&&(this.bj=a,this.C())}},aggressiveOption:{get:function(){return this.rk},set:function(a){this.rk===a||a!==dC&&a!==tS&&a!==fC||(this.rk=a,this.C())}},packOption:{get:function(){return this.bg},set:function(a){this.bg!==a&&0<=a&&8>a&&(this.bg=a,this.C())}},alignOption:{get:function(){return this.ve},set:function(a){this.ve!==a&&0<=a&&16>a&&(this.ve=a,this.C())}},setsPortSpots:{get:function(){return this.sf},set:function(a){this.sf!==a&&(this.sf=a,this.C())}},linkSpacing:{get:function(){return this.Cn},set:function(a){this.Cn!==a&&0<=a&&(this.Cn=a,this.C())}},maxLayer:{get:function(){return this.Ia}},maxIndex:{get:function(){return this.Iq}},maxColumn:{get:function(){return this.Ra}},minIndexLayer:{get:function(){return this.Hn}},maxIndexLayer:{get:function(){return this.Md}}});var JA=new nr(ol,"CycleDepthFirst",0),uC=new nr(ol,"CycleGreedy",1),Z1=new nr(ol,"CycleFromLayers",2),qA=new nr(ol,"LayerOptimalLinkLength",0),cC=new nr(ol,"LayerLongestPathSink",1),hC=new nr(ol,"LayerLongestPathSource",2),$A=new nr(ol,"InitDepthFirstOut",0),eS=new nr(ol,"InitDepthFirstIn",1),xE=new nr(ol,"InitNaive",2),dC=new nr(ol,"AggressiveNone",0),tS=new nr(ol,"AggressiveLess",1),fC=new nr(ol,"AggressiveMore",2),YT=8;ol.className="LayeredDigraphLayout",ol.CycleDepthFirst=JA,ol.CycleGreedy=uC,ol.CycleFromLayers=Z1,ol.LayerOptimalLinkLength=qA,ol.LayerLongestPathSink=cC,ol.LayerLongestPathSource=hC,ol.InitDepthFirstOut=$A,ol.InitDepthFirstIn=eS,ol.InitNaive=xE,ol.AggressiveNone=dC,ol.AggressiveLess=tS,ol.AggressiveMore=fC,ol.PackNone=0,ol.PackExpand=1,ol.PackStraighten=2,ol.PackMedian=4,ol.PackAll=15,ol.AlignNone=0,ol.AlignUpperLeft=1,ol.AlignUpperRight=2,ol.AlignLowerLeft=4,ol.AlignLowerRight=8,ol.AlignAll=15;function zv(){this.index=this.Ic=this.rd=this.jc=this.first=this.layer=0,this.link=null,this.j=0}zv.className="SegInfo";function Y1(a){Il.call(this,a)}He(Y1,Il),Y1.prototype.createVertex=function(){return new Rf(this)},Y1.prototype.createEdge=function(){return new rS(this)},Y1.className="LayeredDigraphNetwork";function Rf(a){dc.call(this,a),this.$n=this.bo=this.ao=this.co=null,this.Za=this.Ag=this.Ig=-1,this.u=NaN,this.F=null,this.valid=!1,this.finish=this.Ll=NaN,this.Dj=0,this.dv=this.ev=null}He(Rf,dc);function fP(a,y){return a.index-y.index}function nS(a,y){if(!a.$n){for(var ee=[],ne=ko(a.destinationEdgesArrayAccess),se=ne.next();!se.done;se=ne.next())se=se.value,se.valid&&ee.push(se);a.$n=ee}for(a=ko(a.$n),ee=a.next();!ee.done;ee=a.next())if(ee=ee.value,ee.toVertex===y)return ee;cn("Unable to find destination edge to given vertex")}function gC(a){if(!a.co){for(var y=[],ee=ko(a.sourceEdgesArrayAccess),ne=ee.next();!ne.done;ne=ee.next())ne=ne.value,ne.valid&&y.push(ne.fromVertex);y.sort(fP),a.co=y}return a.co}function XT(a){if(!a.ao){for(var y=[],ee=ko(a.destinationEdgesArrayAccess),ne=ee.next();!ne.done;ne=ee.next())ne=ne.value,ne.valid&&y.push(ne.toVertex);y.sort(fP),a.ao=y}return a.ao}Rf.prototype.Cl=function(a){dc.prototype.Cl.call(this,a),this.bo=this.co=null},Rf.prototype.Kl=function(a){dc.prototype.Kl.call(this,a),this.bo=this.co=null},Rf.prototype.zl=function(a){dc.prototype.zl.call(this,a),this.$n=this.ao=null},Rf.prototype.Jl=function(a){dc.prototype.Jl.call(this,a),this.$n=this.ao=null},Re.Object.defineProperties(Rf.prototype,{layer:{get:function(){return this.Ig},set:function(a){this.Ig!==a&&(this.Ig=a)}},column:{get:function(){return this.Ag},set:function(a){this.Ag!==a&&(this.Ag=a)}},index:{get:function(){return this.Za},set:function(a){this.Za!==a&&(this.Za=a)}},component:{get:function(){return this.u},set:function(a){this.u!==a&&(this.u=a)}},near:{get:function(){return this.F},set:function(a){this.F!==a&&(this.F=a)}}}),Rf.prototype.deleteDestinationEdge=Rf.prototype.Jl,Rf.prototype.addDestinationEdge=Rf.prototype.zl,Rf.prototype.deleteSourceEdge=Rf.prototype.Kl,Rf.prototype.addSourceEdge=Rf.prototype.Cl,Rf.className="LayeredDigraphVertex";function rS(a){Vd.call(this,a),this.j=this.ia=this.Ha=!1,this.V=this.u=NaN,this.F=this.o=0}He(rS,Vd),Re.Object.defineProperties(rS.prototype,{fromVertex:{get:function(){return this.kd},set:function(a){this.kd!==a&&(this.kd=a)}},toVertex:{get:function(){return this.qd},set:function(a){this.qd!==a&&(this.qd=a)}},valid:{get:function(){return this.Ha},set:function(a){this.Ha!==a&&(this.Ha=a)}},rev:{get:function(){return this.ia},set:function(a){this.ia!==a&&(this.ia=a)}},forest:{get:function(){return this.j},set:function(a){this.j!==a&&(this.j=a)}},portFromPos:{get:function(){return this.u},set:function(a){this.u!==a&&(this.u=a)}},portToPos:{get:function(){return this.V},set:function(a){this.V!==a&&(this.V=a)}},portFromColOffset:{get:function(){return this.o},set:function(a){this.o!==a&&(this.o=a)}},portToColOffset:{get:function(){return this.F},set:function(a){this.F!==a&&(this.F=a)}}}),rS.className="LayeredDigraphEdge";function as(a){Ol.call(this),this.Ub=new Zr,this.Wn=sS,this.ud=vp,this.vo=CE,this.Bq=MC,this.$v=[],this.td=!0,this.Rb=cS,this.$d=new Ii(10,10).freeze();var y=new zy(this);this.W=new sg(y),this.Y=new sg(y),this.ru=[],a&&Object.assign(this,a)}He(as,Ol),as.prototype.cloneProtected=function(a){Ol.prototype.cloneProtected.call(this,a),a.Wn=this.Wn,a.vo=this.vo,a.Bq=this.Bq,a.td=this.td,a.Rb=this.Rb,a.$d.assign(this.$d),a.W.copyInheritedPropertiesFrom(this.W),a.Y.copyInheritedPropertiesFrom(this.Y)},as.prototype.qb=function(a){a.classType===as?a.name.indexOf("Alignment")===0?this.alignment=a:a.name.indexOf("Arrangement")===0?this.arrangement=a:a.name.indexOf("Compaction")===0?this.compaction=a:a.name.indexOf("Path")===0?this.path=a:a.name.indexOf("Sorting")===0?this.sorting=a:a.name.indexOf("Style")===0?this.treeStyle=a:cn("Unknown enum value: "+a):Ol.prototype.qb.call(this,a)},as.prototype.createNetwork=function(){return new zy(this)},as.prototype.makeNetwork=function(a){function y(ne){if(ne instanceof Yi)return!ne.isLinkLabel&&ne.category!=="Comment";if(ne instanceof Oi){var se=ne.fromNode;return se===null||se.isLinkLabel||se.category==="Comment"?!1:(ne=ne.toNode,!(ne===null||ne.isLinkLabel||ne.category==="Comment"))}return!1}var ee=this.createNetwork();return a instanceof Lr?(ee.lg(a.nodes,!0,y),ee.lg(a.links,!0,y)):a instanceof Ma?ee.lg(a.memberParts,!1,y):ee.lg(a.iterator,!1,y),ee},as.prototype.doLayout=function(a){this.network===null&&(this.network=this.makeNetwork(a)),this.arrangement!==hS&&(this.arrangementOrigin=this.initialOrigin(this.arrangementOrigin));var y=this.diagram;if(y===null&&a instanceof Lr&&(y=a),this.path===sS&&y!==null?this.ud=y.isTreePathToChildren?vp:Wv:this.ud=this.path===sS?vp:this.path,0<this.network.vertexes.count){for(this.network.Ko(),a=this.network.vertexes.iterator;a.next();)y=a.value,y.initialized=!1,y.level=0,y.parent=null,y.children=[];if(0<this.Ub.count){for(a=new Zr,y=this.Ub.iterator;y.next();){var ee=y.value;ee instanceof Yi?(ee=this.network.ki(ee),ee!==null&&a.add(ee)):ee instanceof sg&&a.add(ee)}this.Ub=a}for(this.Ub.count===0&&this.findRoots(),a=this.Ub.copy().iterator;a.next();)y=a.value,y.initialized||(y.initialized=!0,pC(this,y));for(y=this.network.vertexes,a=null;a=QT(y),0<a.count;)y=iS(this,a),y!==null&&this.Ub.add(y),y.initialized=!0,pC(this,y),y=a;for(a=this.Ub.iterator;a.next();)y=a.value,y instanceof sg&&vC(this,y);for(a=this.Ub.iterator;a.next();)y=a.value,y instanceof sg&&mC(this,y);for(a=this.Ub.iterator;a.next();)y=a.value,y instanceof sg&&vP(this,y);if(this.Cu(),this.layerStyle===dS){for(a=[],y=this.network.vertexes.iterator;y.next();){ee=y.value;var ne=ee.parent;ne===null&&(ne=ee),ne=ne.angle===0||ne.angle===180;var se=a[ee.level];se===void 0&&(se=0),a[ee.level]=Math.max(se,ne?ee.width:ee.height)}for(y=0;y<a.length;y++)a[y]===void 0&&(a[y]=0);for(this.$v=a,y=this.network.vertexes.iterator;y.next();)ee=y.value,ne=ee.parent,ne===null&&(ne=ee),ne.angle===0||ne.angle===180?(ne.angle===180&&(ee.focusX+=a[ee.level]-ee.width),ee.width=a[ee.level]):(ne.angle===270&&(ee.focusY+=a[ee.level]-ee.height),ee.height=a[ee.level])}else if(this.layerStyle===LC)for(a=this.network.vertexes.iterator;a.next();){for(y=a.value,ee=y.angle===0||y.angle===180,ne=-1,se=0;se<y.children.length;se++){var ue=y.children[se];ne=Math.max(ne,ee?ue.width:ue.height)}if(0<=ne)for(se=0;se<y.children.length;se++)ue=y.children[se],ee?(y.angle===180&&(ue.focusX+=ne-ue.width),ue.width=ne):(y.angle===270&&(ue.focusY+=ne-ue.height),ue.height=ne)}for(a=this.Ub.iterator;a.next();)y=a.value,y instanceof sg&&this.layoutTree(y);this.arrangeTrees(),this.updateParts()}this.network=null,this.Ub=new Zr,this.isValidLayout=!0};function QT(a){var y=new Zr;for(a=a.iterator;a.next();){var ee=a.value;ee.initialized||y.add(ee)}return y}as.prototype.findRoots=function(){for(var a=this.network.vertexes,y=a.iterator;y.next();){var ee=y.value;switch(this.ud){case vp:ee.sourceEdges.count===0&&this.Ub.add(ee);break;case Wv:ee.destinationEdges.count===0&&this.Ub.add(ee);break;default:cn("Unhandled path value "+this.ud.toString())}}this.Ub.count===0&&(a=iS(this,a),a!==null&&this.Ub.add(a))};function iS(a,y){var ee=999999,ne=null;for(y=y.iterator;y.next();){var se=y.value;switch(a.ud){case vp:se.sourceEdges.count<ee&&(ee=se.sourceEdges.count,ne=se);break;case Wv:se.destinationEdges.count<ee&&(ee=se.destinationEdges.count,ne=se);break;default:cn("Unhandled path value "+a.ud.toString())}}return ne}function pC(a,y){if(y!==null){switch(a.ud){case vp:if(0<y.destinationEdges.count){for(var ee=new Hr,ne=y.destinationVertexes;ne.next();){var se=ne.value;gP(a,y,se)&&ee.add(se)}0<ee.count&&(y.children=ee.Fa())}break;case Wv:if(0<y.sourceEdges.count){for(ee=new Hr,ne=y.sourceVertexes;ne.next();)se=ne.value,gP(a,y,se)&&ee.add(se);0<ee.count&&(y.children=ee.Fa())}break;default:cn("Unhandled path value"+a.ud.toString())}for(ee=y.children,ne=ee.length,se=0;se<ne;se++){var ue=ee[se];ue.initialized=!0,ue.level=y.level+1,ue.parent=y,a.Ub.remove(ue)}for(y=0;y<ne;y++)pC(a,ee[y])}}function gP(a,y,ee){if(ee.initialized){if(y===null)var ne=!1;else{for(ne=y.parent;ne!==null&&ne!==ee;)ne=ne.parent;ne=ne===ee}if(ne||ee.level>y.level)return!1;a.removeChild(ee.parent,ee)}return!0}as.prototype.removeChild=function(a,y){if(a!==null&&y!==null){for(var ee=a.children,ne=0,se=0;se<ee.length;se++)ee[se]===y&&ne++;if(0<ne){ne=Array(ee.length-ne);for(var ue=se=0;ue<ee.length;ue++)ee[ue]!==y&&(ne[se++]=ee[ue]);a.children=ne}}};function vC(a,y){if(y!==null){a.initializeTreeVertexValues(y),y.alignment===pc&&a.sortTreeVertexChildren(y);for(var ee=0,ne=y.childrenCount,se=0,ue=y.children,me=ue.length,be=0;be<me;be++){var Fe=ue[be];vC(a,Fe),ee+=Fe.descendantCount+1,ne=Math.max(ne,Fe.maxChildrenCount),se=Math.max(se,Fe.maxGenerationCount)}y.descendantCount=ee,y.maxChildrenCount=ne,y.maxGenerationCount=0<ne?se+1:0}}function pP(a,y){switch(a.vo){default:case CE:return y.parent!==null?y.parent:a.W;case bC:return y.parent===null?a.W:y.parent.parent===null?a.Y:y.parent;case CC:return y.parent!==null?y.parent.parent!==null?y.parent.parent:a.Y:a.W;case uS:var ee=!0;if(y.childrenCount===0)ee=!1;else for(var ne=y.children,se=ne.length,ue=0;ue<se;ue++)if(0<ne[ue].childrenCount){ee=!1;break}return ee&&y.parent!==null?a.Y:y.parent!==null?y.parent:a.W}}as.prototype.initializeTreeVertexValues=function(a){if(a.copyInheritedPropertiesFrom(pP(this,a)),a.parent!==null&&a.parent.alignment===pc){for(var y=a.angle,ee=a.parent.children,ne=0;ne<ee.length&&a!==ee[ne];)ne++;ne%2===0?ne!==ee.length-1&&(y=y===90?180:y===180?270:y===270?180:270):y=y===90?0:y===180?90:y===270?0:90,a.angle=y}a.initialized=!0};function mC(a,y){if(y!==null){a.assignTreeVertexValues(y),y=y.children;for(var ee=y.length,ne=0;ne<ee;ne++)mC(a,y[ne])}}as.prototype.assignTreeVertexValues=function(){};function vP(a,y){if(y!==null){y.alignment!==pc&&a.sortTreeVertexChildren(y),y=y.children;for(var ee=y.length,ne=0;ne<ee;ne++)vP(a,y[ne])}}as.prototype.sortTreeVertexChildren=function(a){switch(a.sorting){case Fy:break;case AE:a.children.reverse();break;case SE:a.children.sort(a.comparer);break;case Zd:a.children.sort(a.comparer),a.children.reverse();break;default:cn("Unhandled sorting value "+a.sorting.toString())}},as.prototype.Cu=function(){if(this.comments)for(var a=this.network.vertexes.iterator;a.next();)this.addComments(a.value)},as.prototype.addComments=function(a){var y=a.angle,ee=a.parent,ne=0,se=!1;ee!==null&&(ne=ee.angle,se=ee.alignment,se=iv(se)),y=y===90||y===270,ne=ne===90||ne===270,ee=a.childrenCount===0;var ue=0,me=0,be=0,Fe=a.commentSpacing;if(a.node!==null)for(var Ye=a.node.Mu();Ye.next();){var Je=Ye.value;Je.category==="Comment"&&Je.canLayout()&&(a.comments===null&&(a.comments=[]),a.comments.push(Je),Je.Va(),Je=Je.measuredBounds,y&&!ee||!se&&!ne&&ee||se&&ne&&ee?(ue=Math.max(ue,Je.width),me+=Je.height+Math.abs(be)):(ue+=Je.width+Math.abs(be),me=Math.max(me,Je.height)),be=Fe)}a.comments!==null&&(y&&!ee||!se&&!ne&&ee||se&&ne&&ee?(ue+=Math.abs(a.commentMargin),me=Math.max(0,me-a.height)):(me+=Math.abs(a.commentMargin),ue=Math.max(0,ue-a.width)),se=Ur.allocAt(0,0,a.bounds.width+ue,a.bounds.height+me),a.bounds=se,Ur.free(se))};function iv(a){return a===Gp||a===pc||a===ov||a===g0}function EE(a){return a===Gp||a===pc}function yC(a){var y=a.parent;if(y!==null){var ee=y.alignment;if(iv(ee)){if(EE(ee)){for(y=y.children,ee=0;ee<y.length&&a!==y[ee];)ee++;return ee%2===0}if(ee===ov)return!0}}return!1}as.prototype.layoutComments=function(a){if(a.comments!==null){var y=a.node.measuredBounds,ee=a.parent,ne=a.angle,se=0,ue=!1;ee!==null&&(se=ee.angle,ue=ee.alignment,ue=iv(ue)),ne=ne===90||ne===270,ee=se===90||se===270;for(var me=a.childrenCount===0,be=yC(a),Fe=0,Ye=a.comments,Je=Ye.length,st=yn.alloc(),yt=0;yt<Je;yt++){var Tt=Ye[yt],Ft=Tt.measuredBounds;if(ne&&!me||!ue&&!ee&&me||ue&&ee&&me){if(135<se&&!ue||ee&&be)if(0<=a.commentMargin)for(st.h(a.bounds.x-a.commentMargin-Ft.width,a.bounds.y+Fe),Tt.move(st),Tt=Tt.Sd();Tt.next();){var Zt=Tt.value;Zt.fromSpot=wu,Zt.toSpot=Du}else for(st.h(a.bounds.x+2*a.focus.x-a.commentMargin,a.bounds.y+Fe),Tt.move(st),Tt=Tt.Sd();Tt.next();)Zt=Tt.value,Zt.fromSpot=Du,Zt.toSpot=wu;else if(0<=a.commentMargin)for(st.h(a.bounds.x+2*a.focus.x+a.commentMargin,a.bounds.y+Fe),Tt.move(st),Tt=Tt.Sd();Tt.next();)Zt=Tt.value,Zt.fromSpot=Du,Zt.toSpot=wu;else for(st.h(a.bounds.x+a.commentMargin-Ft.width,a.bounds.y+Fe),Tt.move(st),Tt=Tt.Sd();Tt.next();)Zt=Tt.value,Zt.fromSpot=wu,Zt.toSpot=Du;Fe=0<=a.commentSpacing?Fe+(Ft.height+a.commentSpacing):Fe+(a.commentSpacing-Ft.height)}else{if(135<se&&!ue||!ee&&be)if(0<=a.commentMargin)for(st.h(a.bounds.x+Fe,a.bounds.y-a.commentMargin-Ft.height),Tt.move(st),Tt=Tt.Sd();Tt.next();)Zt=Tt.value,Zt.fromSpot=cu,Zt.toSpot=Fu;else for(st.h(a.bounds.x+Fe,a.bounds.y+2*a.focus.y-a.commentMargin),Tt.move(st),Tt=Tt.Sd();Tt.next();)Zt=Tt.value,Zt.fromSpot=Fu,Zt.toSpot=cu;else if(0<=a.commentMargin)for(st.h(a.bounds.x+Fe,a.bounds.y+2*a.focus.y+a.commentMargin),Tt.move(st),Tt=Tt.Sd();Tt.next();)Zt=Tt.value,Zt.fromSpot=Fu,Zt.toSpot=cu;else for(st.h(a.bounds.x+Fe,a.bounds.y+a.commentMargin-Ft.height),Tt.move(st),Tt=Tt.Sd();Tt.next();)Zt=Tt.value,Zt.fromSpot=cu,Zt.toSpot=Fu;Fe=0<=a.commentSpacing?Fe+(Ft.width+a.commentSpacing):Fe+(a.commentSpacing-Ft.width)}}if(yn.free(st),y=Fe-a.commentSpacing-(ne?y.height:y.width),this.ud===vp)for(a=a.destinationEdges;a.next();)se=a.value.link,se===null||se.isAvoiding||(se.fromEndSegmentLength=0<y?y:NaN);else for(a=a.sourceEdges;a.next();)se=a.value.link,se===null||se.isAvoiding||(se.toEndSegmentLength=0<y?y:NaN)}},as.prototype.layoutTree=function(a){if(a!==null){for(var y=a.children,ee=y.length,ne=0;ne<ee;ne++)this.layoutTree(y[ne]);switch(a.compaction){case lS:mP(this,a);break;case wE:if(a.alignment===pc)mP(this,a);else if(a.childrenCount===0)ne=a.parent,ee=!1,y=0,ne!==null&&(y=ne.angle,ee=ne.alignment,ee=iv(ee)),ne=yC(a),a.S.h(0,0),a.Da.h(a.width,a.height),a.parent===null||a.comments===null||(y!==180&&y!==270||ee)&&!ne?a.la.h(0,0):y===180&&!ee||(y===90||y===270)&&ne?a.la.h(a.width-2*a.focus.x,0):a.la.h(0,a.height-2*a.focus.y),a.Yo=null,a.kp=null;else{var se=Og(a);y=se===90||se===270;var ue=0,me=a.children,be=me.length;for(ee=0;ee<be;ee++)ne=me[ee],ue=Math.max(ue,y?ne.Da.width:ne.Da.height);var Fe=a.alignment;ne=Fe===Wp;var Ye=Fe===Up,Je=iv(Fe),st=Math.max(0,a.breadthLimit);ee=this.computeLayerSpacing(a);var yt=a.nodeSpacing,Tt=this.computeNodeIndent(a),Ft=a.rowSpacing,Zt=0;(ne||Ye||a.hm||a.im&&a.maxGenerationCount===1)&&(Zt=Math.max(0,a.rowIndent)),ne=a.width;var bn=a.height,fn=0,Fn=0,zn=0,Zn=null,sr=null,Br=0,Hi=0,uo=0,no=0,Li=0,ci=0,La=0,Ea=0;if(Je&&!EE(Fe)&&135<se&&me.reverse(),EE(Fe))if(1<be)for(var ks=0;ks<be;ks++)ks%2===0&&ks!==be-1&&(Ea=Math.max(Ea,y?me[ks].Da.width:me[ks].Da.height));else be===1&&(Ea=y?me[0].Da.width:me[0].Da.height);if(Je){switch(Fe){case Gp:Fn=135>se?yP(this,a,me,Ea,fn,Fn):oS(this,a,me,Ea,fn,Fn),Ea=Fn.x,fn=Fn.width,Fn=Fn.height;break;case ov:for(Zn=0;Zn<be;Zn++)sr=me[Zn],st=sr.Da,zn=ci===0?0:Ft,y?(sr.S.h(ue-st.width,no+zn),fn=Math.max(fn,st.width),Fn=Math.max(Fn,no+zn+st.height),no+=zn+st.height):(sr.S.h(uo+zn,ue-st.height),fn=Math.max(fn,uo+zn+st.width),Fn=Math.max(Fn,st.height),uo+=zn+st.width),ci++;break;case g0:for(Zn=0;Zn<be;Zn++)sr=me[Zn],ue=sr.Da,st=ci===0?0:Ft,y?(sr.S.h(yt/2+a.focus.x,no+st),fn=Math.max(fn,ue.width),Fn=Math.max(Fn,no+st+ue.height),no+=st+ue.height):(sr.S.h(uo+st,yt/2+a.focus.y),fn=Math.max(fn,uo+st+ue.width),Fn=Math.max(Fn,ue.height),uo+=st+ue.width),ci++}Zn=bd(this,2),sr=bd(this,2),y?(Zn[0].h(0,0),Zn[1].h(0,Fn),sr[0].h(fn,0)):(Zn[0].h(0,0),Zn[1].h(fn,0),sr[0].h(0,Fn)),sr[1].h(fn,Fn)}else for(ks=0;ks<be;ks++){var dl=me[ks],sc=dl.Da;if(y){0<st&&0<ci&&uo+yt+sc.width>st&&(uo<ue&&kf(a,Fe,ue-uo,0,La,ks-1),Li++,ci=0,La=ks,zn=Fn,uo=0,no=135<se?-Fn-Ft:Fn+Ft),aS(this,dl,0,no);var xc=0;if(ci===0)Zn=dl.Yo,sr=dl.kp,Br=sc.width,Hi=sc.height,(Zn===null||sr===null||se!==Og(dl))&&(Zn=bd(this,2),sr=bd(this,2),Zn[0].h(0,0),Zn[1].h(0,Hi),sr[0].h(Br,0),sr[1].h(Br,Hi));else{var Dh=pr();Hi=AC(this,a,dl,Zn,sr,Br,Hi,Dh),xc=Hi.x,Zn=Dh[0],sr=Dh[1],Br=Hi.width,Hi=Hi.height,Mr(Dh),uo<sc.width&&0>xc&&(ky(a,-xc,0,La,ks-1),_m(Zn,-xc,0),_m(sr,-xc,0),xc=0)}dl.S.h(xc,no),fn=Math.max(fn,Br),Fn=Math.max(Fn,zn+(Li===0?0:Ft)+sc.height),uo=Br}else 0<st&&0<ci&&no+yt+sc.height>st&&(no<ue&&kf(a,Fe,0,ue-no,La,ks-1),Li++,ci=0,La=ks,zn=fn,no=0,uo=135<se?-fn-Ft:fn+Ft),aS(this,dl,uo,0),xc=0,ci===0?(Zn=dl.Yo,sr=dl.kp,Br=sc.width,Hi=sc.height,(Zn===null||sr===null||se!==Og(dl))&&(Zn=bd(this,2),sr=bd(this,2),Zn[0].h(0,0),Zn[1].h(Br,0),sr[0].h(0,Hi),sr[1].h(Br,Hi))):(Dh=pr(),Hi=AC(this,a,dl,Zn,sr,Br,Hi,Dh),xc=Hi.x,Zn=Dh[0],sr=Dh[1],Br=Hi.width,Hi=Hi.height,Mr(Dh),no<sc.height&&0>xc&&(ky(a,0,-xc,La,ks-1),_m(Zn,0,-xc),_m(sr,0,-xc),xc=0)),dl.S.h(uo,xc),Fn=Math.max(Fn,Hi),fn=Math.max(fn,zn+(Li===0?0:Ft)+sc.width),no=Hi;ci++}switch(0<Li&&(y?(Fn+=Math.max(0,ee),uo<fn&&kf(a,Fe,fn-uo,0,La,be-1),0<Zt&&(Ye||ky(a,Zt,0,0,be-1),fn+=Zt)):(fn+=Math.max(0,ee),no<Fn&&kf(a,Fe,0,Fn-no,La,be-1),0<Zt&&(Ye||ky(a,0,Zt,0,be-1),Fn+=Zt))),Zt=Ye=0,Fe){case zm:y?Ye+=fn/2-a.focus.x-Tt/2:Zt+=Fn/2-a.focus.y-Tt/2;break;case _y:0<Li?y?Ye+=fn/2-a.focus.x-Tt/2:Zt+=Fn/2-a.focus.y-Tt/2:y?(Ea=me[0].S.x+me[0].la.x,Ye+=Ea+(me[be-1].S.x+me[be-1].la.x+2*me[be-1].focus.x-Ea)/2-a.focus.x-Tt/2):(Ea=me[0].S.y+me[0].la.y,Zt+=Ea+(me[be-1].S.y+me[be-1].la.y+2*me[be-1].focus.y-Ea)/2-a.focus.y-Tt/2);break;case Wp:y?(Ye-=Tt,fn+=Tt):(Zt-=Tt,Fn+=Tt);break;case Up:y?(Ye+=fn-a.width+Tt,fn+=Tt):(Zt+=Fn-a.height+Tt,Fn+=Tt);break;case Gp:y?1<be?Ye+=Ea+yt/2-a.focus.x:Ye+=me[0].focus.x-a.focus.x+me[0].la.x:1<be?Zt+=Ea+yt/2-a.focus.y:Zt+=me[0].focus.y-a.focus.y+me[0].la.y;break;case ov:y?Ye+=fn+yt/2-a.focus.x:Zt+=Fn+yt/2-a.focus.y;break;case g0:break;default:Fn=this.customAlignment(a,Ye,Zt,fn,Fn),Ye=Fn[0],Zt=Fn[1],fn=Fn[2],Fn=Fn[3]}for(Tt=0;Tt<be;Tt++)Ea=me[Tt],y?Ea.S.h(Ea.S.x+Ea.la.x-Ye,Ea.S.y+(135<se?(Je?-Fn:-Ea.Da.height)+Ea.la.y-ee:bn+ee+Ea.la.y)):Ea.S.h(Ea.S.x+(135<se?(Je?-fn:-Ea.Da.width)+Ea.la.x-ee:ne+ee+Ea.la.x),Ea.S.y+Ea.la.y-Zt);if(be=me=0,Je?y?(fn=jv(a,fn,Ye),0>Ye&&(Ye=0),135<se&&(Zt+=Fn+ee),Fn+=bn+ee,Fe===g0&&(me+=yt/2+a.focus.x),be+=bn+ee):(135<se&&(Ye+=fn+ee),fn+=ne+ee,Fn=xC(a,Fn,Zt),0>Zt&&(Zt=0),Fe===g0&&(be+=yt/2+a.focus.y),me+=ne+ee):y?(a.comments===null?ne>fn&&(fn=EC(Fe,ne-fn,0),me=fn.x,be=fn.y,fn=ne,Ye=0):fn=jv(a,fn,Ye),0>Ye&&(me-=Ye,Ye=0),135<se&&(Zt+=Fn+ee),Fn=Math.max(Math.max(Fn,bn),Fn+bn+ee),be+=bn+ee):(135<se&&(Ye+=fn+ee),fn=Math.max(Math.max(fn,ne),fn+ne+ee),a.comments===null?bn>Fn&&(Fn=EC(Fe,0,bn-Fn),me=Fn.x,be=Fn.y,Fn=bn,Zt=0):Fn=xC(a,Fn,Zt),0>Zt&&(be-=Zt,Zt=0),me+=ne+ee),0<Li)se=bd(this,4),Li=bd(this,4),y?(se[2].h(0,bn+ee),se[3].h(se[2].x,Fn),Li[2].h(fn,se[2].y),Li[3].h(Li[2].x,se[3].y)):(se[2].h(ne+ee,0),se[3].h(fn,se[2].y),Li[2].h(se[2].x,Fn),Li[3].h(se[3].x,Li[2].y));else{for(se=bd(this,Zn.length+2),Li=bd(this,sr.length+2),Fe=0;Fe<Zn.length;Fe++)Je=Zn[Fe],se[Fe+2].h(Je.x+me,Je.y+be);for(Fe=0;Fe<sr.length;Fe++)Je=sr[Fe],Li[Fe+2].h(Je.x+me,Je.y+be)}y?(se[0].h(Ye,0),se[1].h(se[0].x,bn),se[2].y<se[1].y&&(se[2].x>se[0].x?se[2].assign(se[1]):se[1].assign(se[2])),se[3].y<se[2].y&&(se[3].x>se[0].x?se[3].assign(se[2]):se[2].assign(se[3])),Li[0].h(Ye+ne,0),Li[1].h(Li[0].x,bn),Li[2].y<Li[1].y&&(Li[2].x<Li[0].x?Li[2].assign(Li[1]):Li[1].assign(Li[2])),Li[3].y<Li[2].y&&(Li[3].x<Li[0].x?Li[3].assign(Li[2]):Li[2].assign(Li[3])),se[2].y-=ee/2,Li[2].y-=ee/2):(se[0].h(0,Zt),se[1].h(ne,se[0].y),se[2].x<se[1].x&&(se[2].y>se[0].y?se[2].assign(se[1]):se[1].assign(se[2])),se[3].x<se[2].x&&(se[3].y>se[0].y?se[3].assign(se[2]):se[2].assign(se[3])),Li[0].h(0,Zt+bn),Li[1].h(ne,Li[0].y),Li[2].x<Li[1].x&&(Li[2].y<Li[0].y?Li[2].assign(Li[1]):Li[1].assign(Li[2])),Li[3].x<Li[2].x&&(Li[3].y<Li[0].y?Li[3].assign(Li[2]):Li[2].assign(Li[3])),se[2].x-=ee/2,Li[2].x-=ee/2),qg(this,Zn),qg(this,sr),a.Yo=se,a.kp=Li,a.la.h(Ye,Zt),a.Da.h(fn,Fn)}break;default:cn("Unhandled compaction value "+a.compaction.toString())}}};function mP(a,y){if(y.childrenCount===0){var ee=!1,ne=0;y.parent!==null&&(ne=y.parent.angle,ee=y.parent.alignment,ee=iv(ee));var se=yC(y);y.S.h(0,0),y.Da.h(y.width,y.height),y.parent===null||y.comments===null||(ne!==180&&ne!==270||ee)&&!se?y.la.h(0,0):ne===180&&!ee||(ne===90||ne===270)&&se?y.la.h(y.width-2*y.focus.x,0):y.la.h(0,y.height-2*y.focus.y)}else{ne=Og(y),ee=ne===90||ne===270;var ue=0;se=y.children;for(var me=se.length,be=0;be<me;be++){var Fe=se[be];ue=Math.max(ue,ee?Fe.Da.width:Fe.Da.height)}var Ye=y.alignment,Je=Ye===Wp,st=Ye===Up;be=iv(Ye);var yt=Math.max(0,y.breadthLimit);Fe=a.computeLayerSpacing(y);var Tt=y.nodeSpacing,Ft=a.computeNodeIndent(y),Zt=Je||st?0:Ft/2,bn=y.rowSpacing,fn=0;(Je||st||y.hm||y.im&&y.maxGenerationCount===1)&&(fn=Math.max(0,y.rowIndent)),Je=y.width;var Fn=y.height,zn=0,Zn=0,sr=0,Br=0,Hi=0,uo=0,no=0,Li=0,ci=0,La=0;if(be&&!EE(Ye)&&135<ne&&se.reverse(),EE(Ye))if(1<me)for(var Ea=0;Ea<me;Ea++){var ks=se[Ea],dl=ks.Da;Ea%2===0&&Ea!==me-1?ci=Math.max(ci,(ee?dl.width:dl.height)+a.computeBusNodeSpacing(ks)-Tt):Ea%2!==0&&(La=Math.max(La,(ee?dl.width:dl.height)+a.computeBusNodeSpacing(ks)-Tt))}else me===1&&(ci=ee?se[0].Da.width:se[0].Da.height);if(be)switch(Ye){case Gp:case pc:Zn=135>ne?yP(a,y,se,ci,zn,Zn):oS(a,y,se,ci,zn,Zn),ci=Zn.x,zn=Zn.width,Zn=Zn.height;break;case ov:for(yt=0;yt<me;yt++)Zt=se[yt],sr=Zt.Da,La=no===0?0:bn,ee?(Zt.S.h(ue-sr.width,Hi+La),zn=Math.max(zn,sr.width),Zn=Math.max(Zn,Hi+La+sr.height),Hi+=La+sr.height):(Zt.S.h(Br+La,ue-sr.height),zn=Math.max(zn,Br+La+sr.width),Zn=Math.max(Zn,sr.height),Br+=La+sr.width),no++;break;case g0:for(ue=0;ue<me;ue++)yt=se[ue],Zt=yt.Da,sr=no===0?0:bn,ee?(yt.S.h(Tt/2+y.focus.x,Hi+sr),zn=Math.max(zn,Zt.width),Zn=Math.max(Zn,Hi+sr+Zt.height),Hi+=sr+Zt.height):(yt.S.h(Br+sr,Tt/2+y.focus.y),zn=Math.max(zn,Br+sr+Zt.width),Zn=Math.max(Zn,Zt.height),Br+=sr+Zt.width),no++}else for(La=0;La<me;La++)Ea=se[La],ks=Ea.Da,ee?(0<yt&&0<no&&Br+Tt+ks.width>yt&&(Br<ue&&kf(y,Ye,ue-Br,0,Li,La-1),uo++,no=0,Li=La,sr=Zn,Br=0,Hi=135<ne?-Zn-bn:Zn+bn),dl=no===0?Zt:Tt,aS(a,Ea,0,Hi),Ea.S.h(Br+dl,Hi),zn=Math.max(zn,Br+dl+ks.width),Zn=Math.max(Zn,sr+(uo===0?0:bn)+ks.height),Br+=dl+ks.width):(0<yt&&0<no&&Hi+Tt+ks.height>yt&&(Hi<ue&&kf(y,Ye,0,ue-Hi,Li,La-1),uo++,no=0,Li=La,sr=zn,Hi=0,Br=135<ne?-zn-bn:zn+bn),dl=no===0?Zt:Tt,aS(a,Ea,Br,0),Ea.S.h(Br,Hi+dl),Zn=Math.max(Zn,Hi+dl+ks.height),zn=Math.max(zn,sr+(uo===0?0:bn)+ks.width),Hi+=dl+ks.height),no++;switch(0<uo&&(ee?(Zn+=Math.max(0,Fe),Br<zn&&kf(y,Ye,zn-Br,0,Li,me-1),0<fn&&(st||ky(y,fn,0,0,me-1),zn+=fn)):(zn+=Math.max(0,Fe),Hi<Zn&&kf(y,Ye,0,Zn-Hi,Li,me-1),0<fn&&(st||ky(y,0,fn,0,me-1),Zn+=fn))),fn=st=0,Ye){case zm:ee?st+=zn/2-y.focus.x-Ft/2:fn+=Zn/2-y.focus.y-Ft/2;break;case _y:0<uo?ee?st+=zn/2-y.focus.x-Ft/2:fn+=Zn/2-y.focus.y-Ft/2:ee?(a=se[0].S.x+se[0].la.x,st+=a+(se[me-1].S.x+se[me-1].la.x+2*se[me-1].focus.x-a)/2-y.focus.x-Ft/2):(a=se[0].S.y+se[0].la.y,fn+=a+(se[me-1].S.y+se[me-1].la.y+2*se[me-1].focus.y-a)/2-y.focus.y-Ft/2);break;case Wp:ee?(st-=Ft,zn+=Ft):(fn-=Ft,Zn+=Ft);break;case Up:ee?(st+=zn-y.width+Ft,zn+=Ft):(fn+=Zn-y.height+Ft,Zn+=Ft);break;case Gp:case pc:ee?1<me?st+=ci+Tt/2-y.focus.x:st+=se[0].focus.x-y.focus.x+se[0].la.x:1<me?fn+=ci+Tt/2-y.focus.y:fn+=se[0].focus.y-y.focus.y+se[0].la.y;break;case ov:ee?st+=zn+Tt/2-y.focus.x:fn+=Zn+Tt/2-y.focus.y;break;case g0:break;default:a=a.customAlignment(y,st,fn,zn,Zn),st=a[0],fn=a[1],zn=a[2],Zn=a[3]}for(a=0;a<me;a++)Ft=se[a],ee?Ft.S.h(Ft.S.x+Ft.la.x-st,Ft.S.y+(135<ne?(be?-Zn:-Ft.Da.height)+Ft.la.y-Fe:Fn+Fe+Ft.la.y)):Ft.S.h(Ft.S.x+(135<ne?(be?-zn:-Ft.Da.width)+Ft.la.x-Fe:Je+Fe+Ft.la.x),Ft.S.y+Ft.la.y-fn);ee?(zn=jv(y,zn,st),0>st&&(st=0),135<ne&&(fn+=Zn+Fe),Zn=Math.max(Math.max(Zn,Fn),Zn+Fn+Fe)):(135<ne&&(st+=zn+Fe),zn=Math.max(Math.max(zn,Je),zn+Je+Fe),Zn=xC(y,Zn,fn),0>fn&&(fn=0)),y.la.h(st,fn),y.Da.h(zn,Zn)}}as.prototype.customAlignment=function(a,y,ee,ne,se){return[y,ee,ne,se]};function yP(a,y,ee,ne,se,ue){var me=ee.length;if(me===0)return new Ur(ne,0,se,ue);if(me===1)return y=ee[0],se=y.Da.width,ue=y.Da.height,new Ur(ne,0,se,ue);for(var be=y.nodeSpacing,Fe=y.rowSpacing,Ye=Og(y)===90,Je=0,st=0,yt=0,Tt=0;Tt<me;Tt++)if(!(Tt%2!==0||1<me&&Tt===me-1)){var Ft=ee[Tt],Zt=Ft.Da,bn=Je===0?0:Fe;if(Ye){var fn=a.computeBusNodeSpacing(Ft)-be;Ft.S.h(ne-(Zt.width+fn),yt+bn),se=Math.max(se,Zt.width+fn),ue=Math.max(ue,yt+bn+Zt.height),yt+=bn+Zt.height}else fn=a.computeBusNodeSpacing(Ft)-be,Ft.S.h(st+bn,ne-(Zt.height+fn)),ue=Math.max(ue,Zt.height+fn),se=Math.max(se,st+bn+Zt.width),st+=bn+Zt.width;Je++}for(Je=0,Ft=st,Tt=yt,Ye?(st=ne+be,yt=0):(st=0,yt=ne+be),Zt=0;Zt<me;Zt++)if(Zt%2!==0){bn=ee[Zt],fn=bn.Da;var Fn=Je===0?0:Fe;if(Ye){var zn=a.computeBusNodeSpacing(bn)-be;bn.S.h(st+zn,yt+Fn),se=Math.max(se,st+fn.width+zn),ue=Math.max(ue,yt+Fn+fn.height),yt+=Fn+fn.height}else zn=a.computeBusNodeSpacing(bn)-be,bn.S.h(st+Fn,yt+zn),se=Math.max(se,st+Fn+fn.width),ue=Math.max(ue,yt+fn.height+zn),st+=Fn+fn.width;Je++}return 1<me&&me%2===1&&(ee=ee[me-1],me=ee.Da,a=a.computeBusLastRowSpacing(ee,Ye?Math.max(Math.abs(Tt),Math.abs(yt)):Math.max(Math.abs(Ft),Math.abs(st))),Ye?(ee.S.h(ne+be/2-ee.focus.x-ee.la.x,ue+a),Ye=ne+be/2-ee.focus.x-ee.la.x,se=Math.max(se,Ye+me.width),0>Ye&&(se-=Ye),ue=Math.max(ue,Math.max(Tt,yt)+a+me.height),0>ee.S.x&&(ne=Ry(y,ee.S.x,!1,ne,be))):(ee.S.h(se+a,ne+be/2-ee.focus.y-ee.la.y),se=Math.max(se,Math.max(Ft,st)+a+me.width),yt=ne+be/2-ee.focus.y-ee.la.y,ue=Math.max(ue,yt+me.height),0>yt&&(ue-=yt),0>ee.S.y&&(ne=Ry(y,ee.S.y,!0,ne,be)))),new Ur(ne,0,se,ue)}function oS(a,y,ee,ne,se,ue){var me=ee.length;if(me===0)return new Ur(ne,0,se,ue);if(me===1)return ee=ee[0],se=ee.Da.width,ue=ee.Da.height,new Ur(ne,0,se,ue);for(var be=y.nodeSpacing,Fe=y.rowSpacing,Ye=Og(y)===270,Je=0,st=0,yt=0,Tt=0;Tt<me;Tt++)if(!(Tt%2!==0||1<me&&Tt===me-1)){var Ft=ee[Tt],Zt=Ft.Da,bn=Je===0?0:Fe;if(Ye){var fn=a.computeBusNodeSpacing(Ft)-be;yt-=bn+Zt.height,Ft.S.h(ne-(Zt.width+fn),yt),se=Math.max(se,Zt.width+fn),ue=Math.max(ue,Math.abs(yt))}else fn=a.computeBusNodeSpacing(Ft)-be,st-=bn+Zt.width,Ft.S.h(st,ne-(Zt.height+fn)),ue=Math.max(ue,Zt.height+fn),se=Math.max(se,Math.abs(st));Je++}for(Je=0,Ft=st,Tt=yt,Ye?(st=ne+be,yt=0):(st=0,yt=ne+be),Zt=0;Zt<me;Zt++)if(Zt%2!==0){bn=ee[Zt],fn=bn.Da;var Fn=Je===0?0:Fe;if(Ye){var zn=a.computeBusNodeSpacing(bn)-be;yt-=Fn+fn.height,bn.S.h(st+zn,yt),se=Math.max(se,st+fn.width+zn),ue=Math.max(ue,Math.abs(yt))}else zn=a.computeBusNodeSpacing(bn)-be,st-=Fn+fn.width,bn.S.h(st,yt+zn),ue=Math.max(ue,yt+fn.height+zn),se=Math.max(se,Math.abs(st));Je++}for(1<me&&me%2===1&&(Fe=ee[me-1],Je=Fe.Da,a=a.computeBusLastRowSpacing(Fe,Ye?Math.max(Math.abs(Tt),Math.abs(yt)):Math.max(Math.abs(Ft),Math.abs(st))),Ye?(Fe.S.h(ne+be/2-Fe.focus.x-Fe.la.x,-ue-Je.height-a),st=ne+be/2-Fe.focus.x-Fe.la.x,se=Math.max(se,st+Je.width),0>st&&(se-=st),ue=Math.max(ue,Math.abs(Math.min(Tt,yt))+a+Je.height),0>Fe.S.x&&(ne=Ry(y,Fe.S.x,!1,ne,be))):(Fe.S.h(-se-Je.width-a,ne+be/2-Fe.focus.y-Fe.la.y),se=Math.max(se,Math.abs(Math.min(Ft,st))+a+Je.width),yt=ne+be/2-Fe.focus.y-Fe.la.y,ue=Math.max(ue,yt+Je.height),0>yt&&(ue-=yt),0>Fe.S.y&&(ne=Ry(y,Fe.S.y,!0,ne,be)))),y=0;y<me;y++)be=ee[y],Ye?be.S.h(be.S.x,be.S.y+ue):be.S.h(be.S.x+se,be.S.y);return new Ur(ne,0,se,ue)}as.prototype.computeBusNodeSpacing=function(a){return a.parent===null?0:a.parent.nodeSpacing},as.prototype.computeBusLastRowSpacing=function(a){return a.parent===null?0:a.parent.rowSpacing};function Ry(a,y,ee,ne,se){a=a.children;for(var ue=a.length,me=0;me<ue;me++)ee?a[me].S.h(a[me].S.x,a[me].S.y-y):a[me].S.h(a[me].S.x-y,a[me].S.y);return y=a[ue-1],Math.max(ne,ee?y.la.y+y.focus.y-se/2:y.la.x+y.focus.x-se/2)}function jv(a,y,ee){switch(a.alignment){case _y:case zm:return ee+a.width>y&&(y=ee+a.width),0>ee&&(y-=ee),y;case Wp:return a.width>y?a.width:y;case Up:return 2*a.focus.x>y?a.width:y+a.width-2*a.focus.x;case Gp:case pc:return Math.max(a.width,Math.max(y,ee+a.width)-Math.min(0,ee));case ov:return a.width-a.focus.x+a.nodeSpacing/2+y;case g0:return Math.max(a.width,a.focus.x+a.nodeSpacing/2+y);default:return y}}function xC(a,y,ee){switch(a.alignment){case _y:case zm:return ee+a.height>y&&(y=ee+a.height),0>ee&&(y-=ee),y;case Wp:return a.height>y?a.height:y;case Up:return 2*a.focus.y>y?a.height:y+a.height-2*a.focus.y;case Gp:case pc:return Math.max(a.height,Math.max(y,ee+a.height)-Math.min(0,ee));case ov:return a.height-a.focus.y+a.nodeSpacing/2+y;case g0:return Math.max(a.height,a.focus.y+a.nodeSpacing/2+y);default:return y}}function EC(a,y,ee){switch(a){case zm:y/=2,ee/=2;break;case _y:y/=2,ee/=2;break;case Wp:ee=y=0;break;case Up:break;default:cn("Unhandled alignment value "+a.toString())}return new yn(y,ee)}function kf(a,y,ee,ne,se,ue){y=EC(y,ee,ne),ky(a,y.x,y.y,se,ue)}function ky(a,y,ee,ne,se){if(y!==0||ee!==0)for(a=a.children;ne<=se;ne++){var ue=a[ne].S;ue.x+=y,ue.y+=ee}}function aS(a,y,ee,ne){var se=y.parent;switch(a.ud){case vp:for(a=y.sourceEdges;a.next();)y=a.value,y.fromVertex===se&&y.relativePoint.h(ee,ne);break;case Wv:for(a=y.destinationEdges;a.next();)y=a.value,y.toVertex===se&&y.relativePoint.h(ee,ne);break;default:cn("Unhandled path value "+a.ud.toString())}}function _m(a,y,ee){for(var ne=0;ne<a.length;ne++){var se=a[ne];se.x+=y,se.y+=ee}}function AC(a,y,ee,ne,se,ue,me,be){var Fe=Og(y),Ye=Fe===90||Fe===270,Je=y.nodeSpacing;y=ne;var st=se;ne=ue;var yt=me,Tt=ee.Yo,Ft=ee.kp;me=ee.Da;var Zt=Ye?Math.max(yt,me.height):Math.max(ne,me.width);if((Tt===null||Fe!==Og(ee))&&(Tt=bd(a,2),Ft=bd(a,2),Ye?(Tt[0].h(0,0),Tt[1].h(0,me.height),Ft[0].h(me.width,0),Ft[1].h(Ft[0].x,Tt[1].y)):(Tt[0].h(0,0),Tt[1].h(me.width,0),Ft[0].h(0,me.height),Ft[1].h(Tt[1].x,Ft[0].y))),Ye){if(yt=9999999,!(st===null||2>st.length||Tt===null||2>Tt.length))for(se=ee=0;ee<st.length&&se<Tt.length;){ue=st[ee];var bn=Tt[se];Fe=bn.x,Ye=bn.y,Fe+=ne;var fn=ue;ee+1<st.length&&(fn=st[ee+1]);var Fn=bn;bn=Fn.x,Fn=Fn.y,se+1<Tt.length&&(Fn=Tt[se+1],bn=Fn.x,Fn=Fn.y,bn+=ne);var zn=yt;ue.y===Ye?zn=Fe-ue.x:ue.y>Ye&&ue.y<Fn?zn=Fe+(ue.y-Ye)/(Fn-Ye)*(bn-Fe)-ue.x:Ye>ue.y&&Ye<fn.y&&(zn=Fe-(ue.x+(Ye-ue.y)/(fn.y-ue.y)*(fn.x-ue.x))),zn<yt&&(yt=zn),fn.y<=ue.y?ee++:Fn<=Ye?se++:(fn.y<=Fn&&ee++,Fn<=fn.y&&se++)}if(yt=ne-yt,yt+=Je,ee=Tt,se=yt,y===null||2>y.length||ee===null||2>ee.length)ne=null;else{for(Je=bd(a,y.length+ee.length),ne=ue=Fe=0;ue<ee.length&&ee[ue].y<y[0].y;)Ye=ee[ue++],Je[ne++].h(Ye.x+se,Ye.y);for(;Fe<y.length;)Ye=y[Fe++],Je[ne++].h(Ye.x,Ye.y);for(Fe=y[y.length-1].y;ue<ee.length&&ee[ue].y<=Fe;)ue++;for(;ue<ee.length&&ee[ue].y>Fe;)Ye=ee[ue++],Je[ne++].h(Ye.x+se,Ye.y);for(ee=bd(a,ne),Fe=0;Fe<ne;Fe++)ee[Fe].assign(Je[Fe]);qg(a,Je),ne=ee}if(ue=Ft,Fe=yt,st===null||2>st.length||ue===null||2>ue.length)se=null;else{for(Je=bd(a,st.length+ue.length),se=Ye=ee=0;ee<st.length&&st[ee].y<ue[0].y;)fn=st[ee++],Je[se++].h(fn.x,fn.y);for(;Ye<ue.length;)fn=ue[Ye++],Je[se++].h(fn.x+Fe,fn.y);for(ue=ue[ue.length-1].y;ee<st.length&&st[ee].y<=ue;)ee++;for(;ee<st.length&&st[ee].y>ue;)Fe=st[ee++],Je[se++].h(Fe.x,Fe.y);for(ue=bd(a,se),ee=0;ee<se;ee++)ue[ee].assign(Je[ee]);qg(a,Je),se=ue}return ue=Math.max(0,yt)+me.width,me=Zt,qg(a,y),qg(a,Tt),qg(a,st),qg(a,Ft),be[0]=ne,be[1]=se,new Ur(yt,0,ue,me)}if(ne=9999999,!(st===null||2>st.length||Tt===null||2>Tt.length))for(se=ee=0;ee<st.length&&se<Tt.length;)ue=st[ee],bn=Tt[se],Fe=bn.x,Ye=bn.y,Ye+=yt,fn=ue,ee+1<st.length&&(fn=st[ee+1]),Fn=bn,bn=Fn.x,Fn=Fn.y,se+1<Tt.length&&(Fn=Tt[se+1],bn=Fn.x,Fn=Fn.y,Fn+=yt),zn=ne,ue.x===Fe?zn=Ye-ue.y:ue.x>Fe&&ue.x<bn?zn=Ye+(ue.x-Fe)/(bn-Fe)*(Fn-Ye)-ue.y:Fe>ue.x&&Fe<fn.x&&(zn=Ye-(ue.y+(Fe-ue.x)/(fn.x-ue.x)*(fn.y-ue.y))),zn<ne&&(ne=zn),fn.x<=ue.x?ee++:bn<=Fe?se++:(fn.x<=bn&&ee++,bn<=fn.x&&se++);if(yt-=ne,yt+=Je,ee=Tt,se=yt,y===null||2>y.length||ee===null||2>ee.length)ne=null;else{for(Je=bd(a,y.length+ee.length),ne=ue=Fe=0;ue<ee.length&&ee[ue].x<y[0].x;)Ye=ee[ue++],Je[ne++].h(Ye.x,Ye.y+se);for(;Fe<y.length;)Ye=y[Fe++],Je[ne++].h(Ye.x,Ye.y);for(Fe=y[y.length-1].x;ue<ee.length&&ee[ue].x<=Fe;)ue++;for(;ue<ee.length&&ee[ue].x>Fe;)Ye=ee[ue++],Je[ne++].h(Ye.x,Ye.y+se);for(ee=bd(a,ne),Fe=0;Fe<ne;Fe++)ee[Fe].assign(Je[Fe]);qg(a,Je),ne=ee}if(ue=Ft,Fe=yt,st===null||2>st.length||ue===null||2>ue.length)se=null;else{for(Je=bd(a,st.length+ue.length),se=Ye=ee=0;ee<st.length&&st[ee].x<ue[0].x;)fn=st[ee++],Je[se++].h(fn.x,fn.y);for(;Ye<ue.length;)fn=ue[Ye++],Je[se++].h(fn.x,fn.y+Fe);for(ue=ue[ue.length-1].x;ee<st.length&&st[ee].x<=ue;)ee++;for(;ee<st.length&&st[ee].x>ue;)Fe=st[ee++],Je[se++].h(Fe.x,Fe.y);for(ue=bd(a,se),ee=0;ee<se;ee++)ue[ee].assign(Je[ee]);qg(a,Je),se=ue}return ue=Zt,me=Math.max(0,yt)+me.height,qg(a,y),qg(a,Tt),qg(a,st),qg(a,Ft),be[0]=ne,be[1]=se,new Ur(yt,0,ue,me)}function bd(a,y){if(a=a.ru[y],a!==void 0&&(a=a.pop(),a!==void 0))return a;a=[];for(var ee=0;ee<y;ee++)a[ee]=new yn;return a}function qg(a,y){var ee=y.length,ne=a.ru[ee];ne===void 0&&(ne=[],a.ru[ee]=ne),ne.push(y)}as.prototype.arrangeTrees=function(){if(this.Rb===hS)for(var a=this.Ub.iterator;a.next();){var y=a.value;if(y instanceof sg){var ee=y.node;if(ee!==null){var ne=ee.position;ee=ne.x,ne=ne.y,isFinite(ee)||(ee=0),isFinite(ne)||(ne=0),SC(this,y,ee,ne)}}}else{for(a=[],y=this.Ub.iterator;y.next();)ee=y.value,ee instanceof sg&&a.push(ee);switch(this.sorting){case Fy:break;case AE:a.reverse();break;case SE:a.sort(this.comparer);break;case Zd:a.sort(this.comparer),a.reverse();break;default:cn("Unhandled sorting value "+this.sorting.toString())}for(ee=this.arrangementOrigin,y=ee.x,ee=ee.y,ne=0;ne<a.length;ne++){var se=a[ne];switch(SC(this,se,y+se.la.x,ee+se.la.y),this.Rb){case cS:ee+=se.Da.height+this.$d.height;break;case PC:y+=se.Da.width+this.$d.width;break;default:cn("Unhandled arrangement value "+this.Rb.toString())}}}};function SC(a,y,ee,ne){if(y!==null){y.x=ee,y.y=ne,y=y.children;for(var se=y.length,ue=0;ue<se;ue++){var me=y[ue];SC(a,me,ee+me.S.x,ne+me.S.y)}}}as.prototype.commitLayout=function(){this.yv(),this.commitNodes(),this.Gu(),this.isRouting&&this.commitLinks()},as.prototype.commitNodes=function(){for(var a=this.network.vertexes.iterator;a.next();)a.value.commit();for(a.reset();a.next();)this.layoutComments(a.value)},as.prototype.Gu=function(){if(this.layerStyle===dS){for(var a=this.$v,y=[],ee=null,ne=this.network.vertexes.iterator;ne.next();){var se=ne.value;ee===null?ee=se.bounds.copy():ee.ed(se.bounds);var ue=y[se.level];ue===void 0?ue=this.computeLayerSpacing(se):ue=Math.max(ue,this.computeLayerSpacing(se)),y[se.level]=ue}for(ne=0;ne<y.length;ne++)y[ne]===void 0&&(y[ne]=0);if(this.angle===90||this.angle===270?(ee.Bc(this.nodeSpacing/2,this.layerSpacing),ne=new yn(-this.nodeSpacing/2,-this.layerSpacing/2)):(ee.Bc(this.layerSpacing,this.nodeSpacing/2),ne=new yn(-this.layerSpacing/2,-this.nodeSpacing/2)),se=[],ee=this.angle===90||this.angle===270?ee.width:ee.height,ue=0,this.angle===180||this.angle===270)for(var me=0;me<a.length;me++)ue+=a[me]+y[me];for(me=0;me<a.length;me++){var be=a[me]+y[me];this.angle===270?(ue-=be,se.push(new Ur(0,ue,ee,be))):this.angle===90?(se.push(new Ur(0,ue,ee,be)),ue+=be):this.angle===180?(ue-=be,se.push(new Ur(ue,0,be,ee))):(se.push(new Ur(ue,0,be,ee)),ue+=be)}this.commitLayers(se,ne)}},as.prototype.commitLayers=function(){},as.prototype.commitLinks=function(){for(var a=this.network.edges.iterator;a.next();)a.value.commit()},as.prototype.yv=function(){for(var a=this.Ub.iterator;a.next();){var y=a.value;y instanceof sg&&wC(this,y)}};function wC(a,y){if(y!==null){a.setPortSpots(y),y=y.children;for(var ee=y.length,ne=0;ne<ee;ne++)wC(a,y[ne])}}as.prototype.setPortSpots=function(a){var y=a.alignment;if(iv(y)){var ee=this.ud===vp,ne=Og(a);switch(ne){case 0:var se=Du;break;case 90:se=Fu;break;case 180:se=wu;break;default:se=cu}var ue=a.children,me=ue.length;switch(y){case Gp:case pc:for(y=0;y<me;y++){var be=ue[y];if(be=(ee?be.sourceEdges:be.destinationEdges).first(),be!==null&&(be=be.link,be!==null)){var Fe=ne===90||ne===270?wu:cu;if(me===1||y===me-1&&me%2===1)switch(ne){case 0:Fe=wu;break;case 90:Fe=cu;break;case 180:Fe=Du;break;default:Fe=Fu}else y%2===0&&(Fe=ne===90||ne===270?Du:Fu);ee?(a.setsPortSpot&&(be.fromSpot=se),a.setsChildPortSpot&&(be.toSpot=Fe)):(a.setsPortSpot&&(be.fromSpot=Fe),a.setsChildPortSpot&&(be.toSpot=se))}}break;case ov:for(ne=ne===90||ne===270?Du:Fu,ue=ee?a.destinationEdges:a.sourceEdges;ue.next();)me=ue.value.link,me!==null&&(ee?(a.setsPortSpot&&(me.fromSpot=se),a.setsChildPortSpot&&(me.toSpot=ne)):(a.setsPortSpot&&(me.fromSpot=ne),a.setsChildPortSpot&&(me.toSpot=se)));break;case g0:for(ne=ne===90||ne===270?wu:cu,ue=ee?a.destinationEdges:a.sourceEdges;ue.next();)me=ue.value.link,me!==null&&(ee?(a.setsPortSpot&&(me.fromSpot=se),a.setsChildPortSpot&&(me.toSpot=ne)):(a.setsPortSpot&&(me.fromSpot=ne),a.setsChildPortSpot&&(me.toSpot=se)))}}else if(ee=Og(a),this.ud===vp){for(se=a.destinationEdges;se.next();)if(ne=se.value.link,ne!==null){if(a.setsPortSpot)if(a.portSpot.Xb())switch(ee){case 0:ne.fromSpot=Du;break;case 90:ne.fromSpot=Fu;break;case 180:ne.fromSpot=wu;break;default:ne.fromSpot=cu}else ne.fromSpot=a.portSpot;if(a.setsChildPortSpot)if(a.childPortSpot.Xb())switch(ee){case 0:ne.toSpot=wu;break;case 90:ne.toSpot=cu;break;case 180:ne.toSpot=Du;break;default:ne.toSpot=Fu}else ne.toSpot=a.childPortSpot}}else for(se=a.sourceEdges;se.next();)if(ne=se.value.link,ne!==null){if(a.setsPortSpot)if(a.portSpot.Xb())switch(ee){case 0:ne.toSpot=Du;break;case 90:ne.toSpot=Fu;break;case 180:ne.toSpot=wu;break;default:ne.toSpot=cu}else ne.toSpot=a.portSpot;if(a.setsChildPortSpot)if(a.childPortSpot.Xb())switch(ee){case 0:ne.fromSpot=wu;break;case 90:ne.fromSpot=cu;break;case 180:ne.fromSpot=Du;break;default:ne.fromSpot=Fu}else ne.fromSpot=a.childPortSpot}};function Og(a){return a=a.angle,45>=a?0:135>=a?90:225>=a?180:315>=a?270:0}as.prototype.computeLayerSpacing=function(a){var y=Og(a);y=y===90||y===270;var ee=a.layerSpacing;if(0<a.layerSpacingParentOverlap){var ne=Math.min(1,a.layerSpacingParentOverlap);ee-=y?a.height*ne:a.width*ne}return ee<(y?-a.height:-a.width)&&(ee=y?-a.height:-a.width),ee},as.prototype.computeNodeIndent=function(a){var y=Og(a),ee=a.nodeIndent;if(0<a.nodeIndentPastParent){var ne=Math.min(1,a.nodeIndentPastParent);ee+=y===90||y===270?a.width*ne:a.height*ne}return ee=Math.max(0,ee)},Re.Object.defineProperties(as.prototype,{roots:{get:function(){return this.Ub},set:function(a){this.Ub!==a&&(this.Ub=a,this.C())}},path:{get:function(){return this.Wn},set:function(a){this.Wn!==a&&(this.Wn=a,this.C())}},treeStyle:{get:function(){return this.vo},set:function(a){this.Rb===a||a!==CE&&a!==CC&&a!==uS&&a!==bC||(this.vo=a,this.C())}},layerStyle:{get:function(){return this.Bq},set:function(a){this.Rb===a||a!==MC&&a!==LC&&a!==dS||(this.Bq=a,this.C())}},comments:{get:function(){return this.td},set:function(a){this.td!==a&&(this.td=a,this.C())}},arrangement:{get:function(){return this.Rb},set:function(a){this.Rb===a||a!==cS&&a!==PC&&a!==hS||(this.Rb=a,this.C())}},arrangementSpacing:{get:function(){return this.$d},set:function(a){this.$d.D(a)||(this.$d.assign(a),this.C())}},rootDefaults:{get:function(){return this.W},set:function(a){this.W!==a&&(this.W=a,this.C())}},alternateDefaults:{get:function(){return this.Y},set:function(a){this.Y!==a&&(this.Y=a,this.C())}},sorting:{get:function(){return this.W.sorting},set:function(a){this.W.sorting===a||a!==Fy&&a!==AE&&a!==SE&&!Zd||(this.W.sorting=a,this.C())}},comparer:{get:function(){return this.W.comparer},set:function(a){this.W.comparer!==a&&(this.W.comparer=a,this.C())}},angle:{get:function(){return this.W.angle},set:function(a){this.W.angle!==a&&(a===0||a===90||a===180||a===270?(this.W.angle=a,this.C()):cn("TreeLayout.angle must be 0, 90, 180, or 270"))}},alignment:{get:function(){return this.W.alignment},set:function(a){this.W.alignment!==a&&(this.W.alignment=a,this.C())}},nodeIndent:{get:function(){return this.W.nodeIndent},set:function(a){this.W.nodeIndent!==a&&0<=a&&(this.W.nodeIndent=a,this.C())}},nodeIndentPastParent:{get:function(){return this.W.nodeIndentPastParent},set:function(a){this.W.nodeIndentPastParent!==a&&0<=a&&1>=a&&(this.W.nodeIndentPastParent=a,this.C())}},nodeSpacing:{get:function(){return this.W.nodeSpacing},set:function(a){this.W.nodeSpacing!==a&&(this.W.nodeSpacing=a,this.C())}},layerSpacing:{get:function(){return this.W.layerSpacing},set:function(a){this.W.layerSpacing!==a&&(this.W.layerSpacing=a,this.C())}},layerSpacingParentOverlap:{get:function(){return this.W.layerSpacingParentOverlap},set:function(a){this.W.layerSpacingParentOverlap!==a&&0<=a&&1>=a&&(this.W.layerSpacingParentOverlap=a,this.C())}},compaction:{get:function(){return this.W.compaction},set:function(a){this.W.compaction===a||a!==lS&&a!==wE||(this.W.compaction=a,this.C())}},breadthLimit:{get:function(){return this.W.breadthLimit},set:function(a){this.W.breadthLimit!==a&&0<=a&&(this.W.breadthLimit=a,this.C())}},rowSpacing:{get:function(){return this.W.rowSpacing},set:function(a){this.W.rowSpacing!==a&&(this.W.rowSpacing=a,this.C())}},rowIndent:{get:function(){return this.W.rowIndent},set:function(a){this.W.rowIndent!==a&&0<=a&&(this.W.rowIndent=a,this.C())}},commentSpacing:{get:function(){return this.W.commentSpacing},set:function(a){this.W.commentSpacing!==a&&(this.W.commentSpacing=a,this.C())}},commentMargin:{get:function(){return this.W.commentMargin},set:function(a){this.W.commentMargin!==a&&(this.W.commentMargin=a,this.C())}},setsPortSpot:{get:function(){return this.W.setsPortSpot},set:function(a){this.W.setsPortSpot!==a&&(this.W.setsPortSpot=a,this.C())}},portSpot:{get:function(){return this.W.portSpot},set:function(a){this.W.portSpot.D(a)||(this.W.portSpot=a,this.C())}},setsChildPortSpot:{get:function(){return this.W.setsChildPortSpot},set:function(a){this.W.setsChildPortSpot!==a&&(this.W.setsChildPortSpot=a,this.C())}},childPortSpot:{get:function(){return this.W.childPortSpot},set:function(a){this.W.childPortSpot.D(a)||(this.W.childPortSpot=a,this.C())}},alternateSorting:{get:function(){return this.Y.sorting},set:function(a){this.Y.sorting===a||a!==Fy&&a!==AE&&a!==SE&&!Zd||(this.Y.sorting=a,this.C())}},alternateComparer:{get:function(){return this.Y.comparer},set:function(a){this.Y.comparer!==a&&(this.Y.comparer=a,this.C())}},alternateAngle:{get:function(){return this.Y.angle},set:function(a){this.Y.angle===a||a!==0&&a!==90&&a!==180&&a!==270||(this.Y.angle=a,this.C())}},alternateAlignment:{get:function(){return this.Y.alignment},set:function(a){this.Y.alignment!==a&&(this.Y.alignment=a,this.C())}},alternateNodeIndent:{get:function(){return this.Y.nodeIndent},set:function(a){this.Y.nodeIndent!==a&&0<=a&&(this.Y.nodeIndent=a,this.C())}},alternateNodeIndentPastParent:{get:function(){return this.Y.nodeIndentPastParent},set:function(a){this.Y.nodeIndentPastParent!==a&&0<=a&&1>=a&&(this.Y.nodeIndentPastParent=a,this.C())}},alternateNodeSpacing:{get:function(){return this.Y.nodeSpacing},set:function(a){this.Y.nodeSpacing!==a&&(this.Y.nodeSpacing=a,this.C())}},alternateLayerSpacing:{get:function(){return this.Y.layerSpacing},set:function(a){this.Y.layerSpacing!==a&&(this.Y.layerSpacing=a,this.C())}},alternateLayerSpacingParentOverlap:{get:function(){return this.Y.layerSpacingParentOverlap},set:function(a){this.Y.layerSpacingParentOverlap!==a&&0<=a&&1>=a&&(this.Y.layerSpacingParentOverlap=a,this.C())}},alternateCompaction:{get:function(){return this.Y.compaction},set:function(a){this.Y.compaction===a||a!==lS&&a!==wE||(this.Y.compaction=a,this.C())}},alternateBreadthLimit:{get:function(){return this.Y.breadthLimit},set:function(a){this.Y.breadthLimit!==a&&0<=a&&(this.Y.breadthLimit=a,this.C())}},alternateRowSpacing:{get:function(){return this.Y.rowSpacing},set:function(a){this.Y.rowSpacing!==a&&(this.Y.rowSpacing=a,this.C())}},alternateRowIndent:{get:function(){return this.Y.rowIndent},set:function(a){this.Y.rowIndent!==a&&0<=a&&(this.Y.rowIndent=a,this.C())}},alternateCommentSpacing:{get:function(){return this.Y.commentSpacing},set:function(a){this.Y.commentSpacing!==a&&(this.Y.commentSpacing=a,this.C())}},alternateCommentMargin:{get:function(){return this.Y.commentMargin},set:function(a){this.Y.commentMargin!==a&&(this.Y.commentMargin=a,this.C())}},alternateSetsPortSpot:{get:function(){return this.Y.setsPortSpot},set:function(a){this.Y.setsPortSpot!==a&&(this.Y.setsPortSpot=a,this.C())}},alternatePortSpot:{get:function(){return this.Y.portSpot},set:function(a){this.Y.portSpot.D(a)||(this.Y.portSpot=a,this.C())}},alternateSetsChildPortSpot:{get:function(){return this.Y.setsChildPortSpot},set:function(a){this.Y.setsChildPortSpot!==a&&(this.Y.setsChildPortSpot=a,this.C())}},alternateChildPortSpot:{get:function(){return this.Y.childPortSpot},set:function(a){this.Y.childPortSpot.D(a)||(this.Y.childPortSpot=a,this.C())}}});var sS=new nr(as,"PathDefault",-1),vp=new nr(as,"PathDestination",0),Wv=new nr(as,"PathSource",1),Fy=new nr(as,"SortingForwards",10),AE=new nr(as,"SortingReverse",11),SE=new nr(as,"SortingAscending",12),Zd=new nr(as,"SortingDescending",13),zm=new nr(as,"AlignmentCenterSubtrees",20),_y=new nr(as,"AlignmentCenterChildren",21),Wp=new nr(as,"AlignmentStart",22),Up=new nr(as,"AlignmentEnd",23),Gp=new nr(as,"AlignmentBus",24),pc=new nr(as,"AlignmentBusBranching",25),ov=new nr(as,"AlignmentTopLeftBus",26),g0=new nr(as,"AlignmentBottomRightBus",27),lS=new nr(as,"CompactionNone",30),wE=new nr(as,"CompactionBlock",31),CE=new nr(as,"StyleLayered",40),uS=new nr(as,"StyleLastParents",41),CC=new nr(as,"StyleAlternating",42),bC=new nr(as,"StyleRootOnly",43),cS=new nr(as,"ArrangementVertical",50),PC=new nr(as,"ArrangementHorizontal",51),hS=new nr(as,"ArrangementFixedRoots",52),MC=new nr(as,"LayerIndividual",60),LC=new nr(as,"LayerSiblings",61),dS=new nr(as,"LayerUniform",62);as.className="TreeLayout",as.PathDefault=sS,as.PathDestination=vp,as.PathSource=Wv,as.SortingForwards=Fy,as.SortingReverse=AE,as.SortingAscending=SE,as.SortingDescending=Zd,as.AlignmentCenterSubtrees=zm,as.AlignmentCenterChildren=_y,as.AlignmentStart=Wp,as.AlignmentEnd=Up,as.AlignmentBus=Gp,as.AlignmentBusBranching=pc,as.AlignmentTopLeftBus=ov,as.AlignmentBottomRightBus=g0,as.CompactionNone=lS,as.CompactionBlock=wE,as.StyleLayered=CE,as.StyleLastParents=uS,as.StyleAlternating=CC,as.StyleRootOnly=bC,as.ArrangementVertical=cS,as.ArrangementHorizontal=PC,as.ArrangementFixedRoots=hS,as.LayerIndividual=MC,as.LayerSiblings=LC,as.LayerUniform=dS;function zy(a){Il.call(this,a)}He(zy,Il),zy.prototype.createVertex=function(){return new sg(this)},zy.prototype.createEdge=function(){return new X1(this)},zy.className="TreeNetwork";function sg(a){dc.call(this,a),this.V=!1,this.hb=null,this.u=[],this.nb=this.Ha=this.F=this.ia=0,this.td=null,this.S=new yn(0,0),this.Da=new Ii(0,0),this.la=new yn(0,0),this.im=this.hm=this.qA=!1,this.kp=this.Yo=null,this.nd=Fy,this.hd=ng,this.Kb=0,this.Jb=_y,this.Vq=this.Uq=0,this.Wq=20,this.ie=50,this.Aq=0,this.Hp=wE,this.Ap=0,this.nr=25,this.Gp=this.mr=10,this.Fp=20,this.xr=!0,this.dr=Zs,this.wr=!0,this.Dp=Zs}He(sg,dc),sg.prototype.copyInheritedPropertiesFrom=function(a){a!==null&&(this.nd=a.sorting,this.hd=a.comparer,this.Kb=a.angle,this.Jb=a.alignment,this.Uq=a.nodeIndent,this.Vq=a.nodeIndentPastParent,this.Wq=a.nodeSpacing,this.ie=a.layerSpacing,this.Aq=a.layerSpacingParentOverlap,this.Hp=a.compaction,this.Ap=a.breadthLimit,this.nr=a.rowSpacing,this.mr=a.rowIndent,this.Gp=a.commentSpacing,this.Fp=a.commentMargin,this.xr=a.setsPortSpot,this.dr=a.portSpot,this.wr=a.setsChildPortSpot,this.Dp=a.childPortSpot)},Re.Object.defineProperties(sg.prototype,{initialized:{get:function(){return this.V},set:function(a){this.V!==a&&(this.V=a)}},parent:{get:function(){return this.hb},set:function(a){this.hb!==a&&(this.hb=a)}},children:{get:function(){return this.u},set:function(a){if(this.u!==a){if(a!==null)for(var y=a.length,ee=0;ee<y;ee++);this.u=a}}},level:{get:function(){return this.ia},set:function(a){this.ia!==a&&(this.ia=a)}},descendantCount:{get:function(){return this.F},set:function(a){this.F!==a&&(this.F=a)}},maxChildrenCount:{get:function(){return this.Ha},set:function(a){this.Ha!==a&&(this.Ha=a)}},maxGenerationCount:{get:function(){return this.nb},set:function(a){this.nb!==a&&(this.nb=a)}},comments:{get:function(){return this.td},set:function(a){if(this.td!==a){if(a!==null)for(var y=a.length,ee=0;ee<y;ee++);this.td=a}}},sorting:{get:function(){return this.nd},set:function(a){this.nd!==a&&(this.nd=a)}},comparer:{get:function(){return this.hd},set:function(a){this.hd!==a&&(this.hd=a)}},angle:{get:function(){return this.Kb},set:function(a){this.Kb!==a&&(this.Kb=a)}},alignment:{get:function(){return this.Jb},set:function(a){this.Jb!==a&&(this.Jb=a)}},nodeIndent:{get:function(){return this.Uq},set:function(a){this.Uq!==a&&(this.Uq=a)}},nodeIndentPastParent:{get:function(){return this.Vq},set:function(a){this.Vq!==a&&(this.Vq=a)}},nodeSpacing:{get:function(){return this.Wq},set:function(a){this.Wq!==a&&(this.Wq=a)}},layerSpacing:{get:function(){return this.ie},set:function(a){this.ie!==a&&(this.ie=a)}},layerSpacingParentOverlap:{get:function(){return this.Aq},set:function(a){this.Aq!==a&&(this.Aq=a)}},compaction:{get:function(){return this.Hp},set:function(a){this.Hp!==a&&(this.Hp=a)}},breadthLimit:{get:function(){return this.Ap},set:function(a){this.Ap!==a&&(this.Ap=a)}},rowSpacing:{get:function(){return this.nr},set:function(a){this.nr!==a&&(this.nr=a)}},rowIndent:{get:function(){return this.mr},set:function(a){this.mr!==a&&(this.mr=a)}},commentSpacing:{get:function(){return this.Gp},set:function(a){this.Gp!==a&&(this.Gp=a)}},commentMargin:{get:function(){return this.Fp},set:function(a){this.Fp!==a&&(this.Fp=a)}},setsPortSpot:{get:function(){return this.xr},set:function(a){this.xr!==a&&(this.xr=a)}},portSpot:{get:function(){return this.dr},set:function(a){this.dr.D(a)||(this.dr=a)}},setsChildPortSpot:{get:function(){return this.wr},set:function(a){this.wr!==a&&(this.wr=a)}},childPortSpot:{get:function(){return this.Dp},set:function(a){this.Dp.D(a)||(this.Dp=a)}},childrenCount:{get:function(){return this.children.length}},relativePosition:{get:function(){return this.S},set:function(a){this.S.set(a)}},subtreeSize:{get:function(){return this.Da},set:function(a){this.Da.set(a)}},subtreeOffset:{get:function(){return this.la},set:function(a){this.la.set(a)}}}),sg.className="TreeVertex";function X1(a){Vd.call(this,a),this.$t=new yn(0,0)}He(X1,Vd),X1.prototype.commit=function(){var a=this.link;if(a!==null&&!a.isAvoiding){var y=this.network.layout,ee=null,ne=null;switch(y.ud){case vp:ee=this.fromVertex,ne=this.toVertex;break;case Wv:ee=this.toVertex,ne=this.fromVertex;break;default:cn("Unhandled path value "+y.ud.toString())}if(ee!==null&&ne!==null){var se=this.$t;if(se.x!==0||se.y!==0||ee.qA){ne=ee.bounds;var ue=Og(ee),me=y.computeLayerSpacing(ee),be=ee.rowSpacing;a.vg();var Fe=a.curve===If,Ye=a.isOrthogonal,Je;if(a.uh(),Ye||Fe){for(Je=2;4<a.pointsCount;)a.pv(2);var st=a.i(1),yt=a.i(2)}else{for(Je=1;3<a.pointsCount;)a.pv(1);st=a.i(0),yt=a.i(a.pointsCount-1)}var Tt=a.i(a.pointsCount-1);ue===0?(ee.alignment===Up?(ue=ne.bottom+se.y,se.y===0&&st.y>Tt.y+ee.rowIndent&&(ue=Math.min(ue,Math.max(st.y,ue-y.computeNodeIndent(ee))))):ee.alignment===Wp?(ue=ne.top+se.y,se.y===0&&st.y<Tt.y-ee.rowIndent&&(ue=Math.max(ue,Math.min(st.y,ue+y.computeNodeIndent(ee))))):ue=ee.hm||ee.im&&ee.maxGenerationCount===1?ne.top-ee.la.y+se.y:ne.y+ne.height/2+se.y,Fe?(a.m(Je,st.x,ue),Je++,a.m(Je,ne.right+me,ue),Je++,a.m(Je,ne.right+me+(se.x-be)/3,ue),Je++,a.m(Je,ne.right+me+2*(se.x-be)/3,ue),Je++,a.m(Je,ne.right+me+(se.x-be),ue),Je++,a.m(Je,yt.x,ue)):(Ye&&(a.m(Je,ne.right+me/2,st.y),Je++),a.m(Je,ne.right+me/2,ue),Je++,a.m(Je,ne.right+me+se.x-(Ye?be/2:be),ue),Je++,Ye&&a.m(Je,a.i(Je-1).x,yt.y))):ue===90?(ee.alignment===Up?(ue=ne.right+se.x,se.x===0&&st.x>Tt.x+ee.rowIndent&&(ue=Math.min(ue,Math.max(st.x,ue-y.computeNodeIndent(ee))))):ee.alignment===Wp?(ue=ne.left+se.x,se.x===0&&st.x<Tt.x-ee.rowIndent&&(ue=Math.max(ue,Math.min(st.x,ue+y.computeNodeIndent(ee))))):ue=ee.hm||ee.im&&ee.maxGenerationCount===1?ne.left-ee.la.x+se.x:ne.x+ne.width/2+se.x,Fe?(a.m(Je,ue,st.y),Je++,a.m(Je,ue,ne.bottom+me),Je++,a.m(Je,ue,ne.bottom+me+(se.y-be)/3),Je++,a.m(Je,ue,ne.bottom+me+2*(se.y-be)/3),Je++,a.m(Je,ue,ne.bottom+me+(se.y-be)),Je++,a.m(Je,ue,yt.y)):(Ye&&(a.m(Je,st.x,ne.bottom+me/2),Je++),a.m(Je,ue,ne.bottom+me/2),Je++,a.m(Je,ue,ne.bottom+me+se.y-(Ye?be/2:be)),Je++,Ye&&a.m(Je,yt.x,a.i(Je-1).y))):ue===180?(ee.alignment===Up?(ue=ne.bottom+se.y,se.y===0&&st.y>Tt.y+ee.rowIndent&&(ue=Math.min(ue,Math.max(st.y,ue-y.computeNodeIndent(ee))))):ee.alignment===Wp?(ue=ne.top+se.y,se.y===0&&st.y<Tt.y-ee.rowIndent&&(ue=Math.max(ue,Math.min(st.y,ue+y.computeNodeIndent(ee))))):ue=ee.hm||ee.im&&ee.maxGenerationCount===1?ne.top-ee.la.y+se.y:ne.y+ne.height/2+se.y,Fe?(a.m(Je,st.x,ue),Je++,a.m(Je,ne.left-me,ue),Je++,a.m(Je,ne.left-me+(se.x+be)/3,ue),Je++,a.m(Je,ne.left-me+2*(se.x+be)/3,ue),Je++,a.m(Je,ne.left-me+(se.x+be),ue),Je++,a.m(Je,yt.x,ue)):(Ye&&(a.m(Je,ne.left-me/2,st.y),Je++),a.m(Je,ne.left-me/2,ue),Je++,a.m(Je,ne.left-me+se.x+(Ye?be/2:be),ue),Je++,Ye&&a.m(Je,a.i(Je-1).x,yt.y))):ue===270?(ee.alignment===Up?(ue=ne.right+se.x,se.x===0&&st.x>Tt.x+ee.rowIndent&&(ue=Math.min(ue,Math.max(st.x,ue-y.computeNodeIndent(ee))))):ee.alignment===Wp?(ue=ne.left+se.x,se.x===0&&st.x<Tt.x-ee.rowIndent&&(ue=Math.max(ue,Math.min(st.x,ue+y.computeNodeIndent(ee))))):ue=ee.hm||ee.im&&ee.maxGenerationCount===1?ne.left-ee.la.x+se.x:ne.x+ne.width/2+se.x,Fe?(a.m(Je,ue,st.y),Je++,a.m(Je,ue,ne.top-me),Je++,a.m(Je,ue,ne.top-me+(se.y+be)/3),Je++,a.m(Je,ue,ne.top-me+2*(se.y+be)/3),Je++,a.m(Je,ue,ne.top-me+(se.y+be)),Je++,a.m(Je,ue,yt.y)):(Ye&&(a.m(Je,st.x,ne.top-me/2),Je++),a.m(Je,ue,ne.top-me/2),Je++,a.m(Je,ue,ne.top-me+se.y+(Ye?be/2:be)),Je++,Ye&&a.m(Je,yt.x,a.i(Je-1).y))):cn("Invalid angle "+ue),a.zf()}else se=ne,a=this.link,ne=this.network.layout,y=Og(ee),y!==Og(se)&&(me=ne.computeLayerSpacing(ee),be=ee.bounds,ee=se.bounds,y===0&&ee.left-be.right<me+1||y===90&&ee.top-be.bottom<me+1||y===180&&be.left-ee.right<me+1||y===270&&be.top-ee.bottom<me+1||(a.vg(),ee=a.curve===If,se=a.isOrthogonal,ne=iv(this.fromVertex.alignment),a.uh(),y===0?(y=be.right+me/2,ee?a.pointsCount===4&&(ee=a.i(3).y,a.L(1,y-20,a.i(1).y),a.m(2,y-20,ee),a.m(3,y,ee),a.m(4,y+20,ee),a.L(5,a.i(5).x,ee)):se?ne?a.L(3,a.i(2).x,a.i(4).y):a.pointsCount===6&&(a.L(2,y,a.i(2).y),a.L(3,y,a.i(3).y)):a.pointsCount===4?a.m(2,y,a.i(2).y):a.pointsCount===3?a.L(1,y,a.i(2).y):a.pointsCount===2&&a.m(1,y,a.i(1).y)):y===90?(y=be.bottom+me/2,ee?a.pointsCount===4&&(ee=a.i(3).x,a.L(1,a.i(1).x,y-20),a.m(2,ee,y-20),a.m(3,ee,y),a.m(4,ee,y+20),a.L(5,ee,a.i(5).y)):se?ne?a.L(3,a.i(2).x,a.i(4).y):a.pointsCount===6&&(a.L(2,a.i(2).x,y),a.L(3,a.i(3).x,y)):a.pointsCount===4?a.m(2,a.i(2).x,y):a.pointsCount===3?a.L(1,a.i(2).x,y):a.pointsCount===2&&a.m(1,a.i(1).x,y)):y===180?(y=be.left-me/2,ee?a.pointsCount===4&&(ee=a.i(3).y,a.L(1,y+20,a.i(1).y),a.m(2,y+20,ee),a.m(3,y,ee),a.m(4,y-20,ee),a.L(5,a.i(5).x,ee)):se?ne?a.L(3,a.i(2).x,a.i(4).y):a.pointsCount===6&&(a.L(2,y,a.i(2).y),a.L(3,y,a.i(3).y)):a.pointsCount===4?a.m(2,y,a.i(2).y):a.pointsCount===3?a.L(1,y,a.i(2).y):a.pointsCount===2&&a.m(1,y,a.i(1).y)):y===270&&(y=be.top-me/2,ee?a.pointsCount===4&&(ee=a.i(3).x,a.L(1,a.i(1).x,y+20),a.m(2,ee,y+20),a.m(3,ee,y),a.m(4,ee,y-20),a.L(5,ee,a.i(5).y)):se?ne?a.L(3,a.i(2).x,a.i(4).y):a.pointsCount===6&&(a.L(2,a.i(2).x,y),a.L(3,a.i(3).x,y)):a.pointsCount===4?a.m(2,a.i(2).x,y):a.pointsCount===3?a.L(1,a.i(2).x,y):a.pointsCount===2&&a.m(1,a.i(1).x,y)),a.zf()))}}},Re.Object.defineProperties(X1.prototype,{fromVertex:{get:function(){return this.kd},set:function(a){this.kd!==a&&(this.kd=a)}},toVertex:{get:function(){return this.qd},set:function(a){this.qd!==a&&(this.qd=a)}},relativePoint:{get:function(){return this.$t},set:function(a){this.$t.set(a)}}}),X1.className="TreeEdge",Ei.prototype.initializeStandardTools=function(){this.gb("Action",new ga,this.mouseDownTools),this.gb("Relinking",new hi,this.mouseDownTools),this.gb("LinkReshaping",new ro,this.mouseDownTools),this.gb("Rotating",new Ia,this.mouseDownTools),this.gb("Resizing",new ya,this.mouseDownTools),this.gb("Linking",new pi,this.mouseMoveTools),this.gb("Dragging",new Fo,this.mouseMoveTools),this.gb("DragSelecting",new fa,this.mouseMoveTools),this.gb("Panning",new Wo,this.mouseMoveTools),this.gb("ContextMenu",new Po,this.mouseUpTools),this.gb("TextEditing",new xn,this.mouseUpTools),this.gb("ClickCreating",new Wa,this.mouseUpTools),this.gb("ClickSelecting",new gs,this.mouseUpTools)},Tf("Horizontal",new rw),Tf("Spot",new ow),Tf("Table",new sw),Tf("Viewbox",new cw),Tf("TableRow",new lw),Tf("TableColumn",new uw),Tf("Graduated",new uA),Tf("Grid",new lA),Kg.add("GraphLinksModel",Eu),Kg.add("TreeModel",Nf);var fS=Ct.go,xP={get licenseKey(){return Lr.licenseKey},set licenseKey(a){Lr.licenseKey=a},get version(){return Lr.version},Group:Ma,EnumValue:nr,List:Hr,Set:Zr,Map:Ji,Point:yn,Size:Ii,Rect:Ur,Margin:jo,Spot:So,Geometry:wi,PathFigure:Gu,PathSegment:Ps,InputEvent:Ar,DiagramEvent:Pr,ChangedEvent:Xr,Model:To,GraphLinksModel:bs,TreeModel:nd,Binding:$u,Transaction:Gr,UndoManager:_i,CommandHandler:Mn,Tool:ki,DraggingTool:Fo,DraggingInfo:bf,DraggingOptions:_e,LinkingBaseTool:Dr,LinkingTool:pi,RelinkingTool:hi,LinkReshapingTool:ro,ResizingTool:ya,RotatingTool:Ia,ClickSelectingTool:gs,ActionTool:ga,ClickCreatingTool:Wa,HTMLInfo:la,ContextMenuTool:Po,DragSelectingTool:fa,PanningTool:Wo,TextEditingTool:xn,ToolManager:Ei,Animation:ul,AnimationManager:Zo,AnimationTrigger:yd,Layer:wl,Diagram:Lr,Palette:it,Overview:ht,Brush:il,GraphObject:lr,Panel:bi,RowColumnDefinition:oc,Shape:Ua,TextBlock:Dl,Picture:hd,Part:_o,Adornment:Cs,Node:Yi,Link:Oi,Placeholder:zh,Layout:Ol,LayoutNetwork:Il,LayoutVertex:dc,LayoutEdge:Vd,GridLayout:Yc,PanelLayout:gc,CircularLayout:ou,CircularNetwork:Bm,CircularVertex:Oy,CircularEdge:U1,ForceDirectedLayout:ch,ForceDirectedNetwork:Rm,ForceDirectedVertex:km,ForceDirectedEdge:Ny,LayeredDigraphLayout:ol,LayeredDigraphNetwork:Y1,LayeredDigraphVertex:Rf,LayeredDigraphEdge:rS,TreeLayout:as,TreeNetwork:zy,TreeVertex:sg,TreeEdge:X1};typeof fS=="object"&&fS.version&&fr("WARNING: a `go` object on the root object is already defined. "+("Debug"in fS?"debug ":"")+"version: "+fS.version+", replaced with version: "+xP.version),Lr.prototype.go=xP,Ct.go=xP,typeof en.exports=="object"&&(en.exports=typeof Oe.g!="undefined"?Oe.g.go:self.go)}();var Ge=typeof Oe.g!="undefined"?Oe.g.go:self.go;const tt=typeof Oe.g!="undefined"?Oe.g.go:self.go,Ue=tt.Group,Ne=tt.EnumValue,Ke=tt.List,Be=tt.Set,we=tt.Map,Te=tt.Point,ke=tt.Size,Ie=tt.Rect,Ce=tt.Margin,Me=tt.Spot,je=tt.Geometry,ye=tt.PathFigure,ie=tt.PathSegment,ae=tt.InputEvent,fe=tt.DiagramEvent,de=tt.ChangedEvent,ve=tt.Model,xe=tt.GraphLinksModel,ce=tt.TreeModel,pe=tt.Binding,Se=tt.Transaction,Le=tt.UndoManager,ze=tt.CommandHandler,Ze=tt.Tool,Ve=tt.DraggingTool,Qe=tt.DraggingInfo,$e=tt.LinkingBaseTool,gt=tt.LinkingTool,lt=tt.RelinkingTool,At=tt.LinkReshapingTool,Et=tt.ResizingTool,vt=tt.RotatingTool,Lt=tt.ClickSelectingTool,St=tt.ActionTool,xt=tt.ClickCreatingTool,ct=tt.HTMLInfo,Dt=tt.ContextMenuTool,Xt=tt.DragSelectingTool,kt=tt.PanningTool,Rt=tt.TextEditingTool,Gt=tt.ToolManager,ln=tt.Animation,Rn=tt.AnimationManager,jn=tt.AnimationTrigger,er=tt.Layer,an=tt.Diagram,Un=tt.Palette,Kn=tt.Overview,ur=tt.Brush,Xn=tt.GraphObject,Nn=tt.Panel,_n=tt.RowColumnDefinition,un=tt.Shape,qt=tt.TextBlock,Yt=tt.TextBlockMetrics,gn=tt.Picture,_t=tt.Part,Jt=tt.Adornment,wt=tt.Node,ut=tt.Link,ot=tt.Placeholder,Pt=tt.Layout,Ht=tt.LayoutNetwork,Mt=tt.LayoutVertex,hn=tt.LayoutEdge,rr=tt.GridLayout,Jn=tt.PanelLayout,An=tt.CircularLayout,$n=tt.CircularNetwork,xr=tt.CircularVertex,mr=tt.CircularEdge,Qr=tt.ForceDirectedLayout,di=tt.ForceDirectedNetwork,li=tt.ForceDirectedVertex,Ai=tt.ForceDirectedEdge,fo=tt.LayeredDigraphLayout,Io=tt.LayeredDigraphNetwork,bo=tt.LayeredDigraphVertex,ai=tt.LayeredDigraphEdge,Pi=tt.TreeLayout,ao=tt.TreeNetwork,Jr=tt.TreeVertex,oo=tt.TreeEdge,zi=tt.version},75172:function(en,tn,Oe){var Ge=Oe(89224);en.exports={Graph:Ge.Graph,json:Oe(17401),alg:Oe(54613),version:Ge.version}},91606:function(en,tn,Oe){var Ge=Oe(95329);en.exports=tt;function tt(Ue){var Ne={},Ke=[],Be;function we(Te){Ge.has(Ne,Te)||(Ne[Te]=!0,Be.push(Te),Ge.each(Ue.successors(Te),we),Ge.each(Ue.predecessors(Te),we))}return Ge.each(Ue.nodes(),function(Te){Be=[],we(Te),Be.length&&Ke.push(Be)}),Ke}},21482:function(en,tn,Oe){var Ge=Oe(95329);en.exports=tt;function tt(Ne,Ke,Be){Ge.isArray(Ke)||(Ke=[Ke]);var we=(Ne.isDirected()?Ne.successors:Ne.neighbors).bind(Ne),Te=[],ke={};return Ge.each(Ke,function(Ie){if(!Ne.hasNode(Ie))throw new Error("Graph does not have node: "+Ie);Ue(Ne,Ie,Be==="post",ke,we,Te)}),Te}function Ue(Ne,Ke,Be,we,Te,ke){Ge.has(we,Ke)||(we[Ke]=!0,Be||ke.push(Ke),Ge.each(Te(Ke),function(Ie){Ue(Ne,Ie,Be,we,Te,ke)}),Be&&ke.push(Ke))}},40845:function(en,tn,Oe){var Ge=Oe(13746),tt=Oe(95329);en.exports=Ue;function Ue(Ne,Ke,Be){return tt.transform(Ne.nodes(),function(we,Te){we[Te]=Ge(Ne,Te,Ke,Be)},{})}},13746:function(en,tn,Oe){var Ge=Oe(95329),tt=Oe(36614);en.exports=Ne;var Ue=Ge.constant(1);function Ne(Be,we,Te,ke){return Ke(Be,String(we),Te||Ue,ke||function(Ie){return Be.outEdges(Ie)})}function Ke(Be,we,Te,ke){var Ie={},Ce=new tt,Me,je,ye=function(ie){var ae=ie.v!==Me?ie.v:ie.w,fe=Ie[ae],de=Te(ie),ve=je.distance+de;if(de<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+ie+" Weight: "+de);ve<fe.distance&&(fe.distance=ve,fe.predecessor=Me,Ce.decrease(ae,ve))};for(Be.nodes().forEach(function(ie){var ae=ie===we?0:Number.POSITIVE_INFINITY;Ie[ie]={distance:ae},Ce.add(ie,ae)});Ce.size()>0&&(Me=Ce.removeMin(),je=Ie[Me],je.distance!==Number.POSITIVE_INFINITY);)ke(Me).forEach(ye);return Ie}},59324:function(en,tn,Oe){var Ge=Oe(95329),tt=Oe(94558);en.exports=Ue;function Ue(Ne){return Ge.filter(tt(Ne),function(Ke){return Ke.length>1||Ke.length===1&&Ne.hasEdge(Ke[0],Ke[0])})}},22893:function(en,tn,Oe){var Ge=Oe(95329);en.exports=Ue;var tt=Ge.constant(1);function Ue(Ke,Be,we){return Ne(Ke,Be||tt,we||function(Te){return Ke.outEdges(Te)})}function Ne(Ke,Be,we){var Te={},ke=Ke.nodes();return ke.forEach(function(Ie){Te[Ie]={},Te[Ie][Ie]={distance:0},ke.forEach(function(Ce){Ie!==Ce&&(Te[Ie][Ce]={distance:Number.POSITIVE_INFINITY})}),we(Ie).forEach(function(Ce){var Me=Ce.v===Ie?Ce.w:Ce.v,je=Be(Ce);Te[Ie][Me]={distance:je,predecessor:Ie}})}),ke.forEach(function(Ie){var Ce=Te[Ie];ke.forEach(function(Me){var je=Te[Me];ke.forEach(function(ye){var ie=je[Ie],ae=Ce[ye],fe=je[ye],de=ie.distance+ae.distance;de<fe.distance&&(fe.distance=de,fe.predecessor=ae.predecessor)})})}),Te}},54613:function(en,tn,Oe){en.exports={components:Oe(91606),dijkstra:Oe(13746),dijkstraAll:Oe(40845),findCycles:Oe(59324),floydWarshall:Oe(22893),isAcyclic:Oe(588),postorder:Oe(98049),preorder:Oe(67158),prim:Oe(66058),tarjan:Oe(94558),topsort:Oe(7793)}},588:function(en,tn,Oe){var Ge=Oe(7793);en.exports=tt;function tt(Ue){try{Ge(Ue)}catch(Ne){if(Ne instanceof Ge.CycleException)return!1;throw Ne}return!0}},98049:function(en,tn,Oe){var Ge=Oe(21482);en.exports=tt;function tt(Ue,Ne){return Ge(Ue,Ne,"post")}},67158:function(en,tn,Oe){var Ge=Oe(21482);en.exports=tt;function tt(Ue,Ne){return Ge(Ue,Ne,"pre")}},66058:function(en,tn,Oe){var Ge=Oe(95329),tt=Oe(6349),Ue=Oe(36614);en.exports=Ne;function Ne(Ke,Be){var we=new tt,Te={},ke=new Ue,Ie;function Ce(je){var ye=je.v===Ie?je.w:je.v,ie=ke.priority(ye);if(ie!==void 0){var ae=Be(je);ae<ie&&(Te[ye]=Ie,ke.decrease(ye,ae))}}if(Ke.nodeCount()===0)return we;Ge.each(Ke.nodes(),function(je){ke.add(je,Number.POSITIVE_INFINITY),we.setNode(je)}),ke.decrease(Ke.nodes()[0],0);for(var Me=!1;ke.size()>0;){if(Ie=ke.removeMin(),Ge.has(Te,Ie))we.setEdge(Ie,Te[Ie]);else{if(Me)throw new Error("Input graph is not connected: "+Ke);Me=!0}Ke.nodeEdges(Ie).forEach(Ce)}return we}},94558:function(en,tn,Oe){var Ge=Oe(95329);en.exports=tt;function tt(Ue){var Ne=0,Ke=[],Be={},we=[];function Te(ke){var Ie=Be[ke]={onStack:!0,lowlink:Ne,index:Ne++};if(Ke.push(ke),Ue.successors(ke).forEach(function(je){Ge.has(Be,je)?Be[je].onStack&&(Ie.lowlink=Math.min(Ie.lowlink,Be[je].index)):(Te(je),Ie.lowlink=Math.min(Ie.lowlink,Be[je].lowlink))}),Ie.lowlink===Ie.index){var Ce=[],Me;do Me=Ke.pop(),Be[Me].onStack=!1,Ce.push(Me);while(ke!==Me);we.push(Ce)}}return Ue.nodes().forEach(function(ke){Ge.has(Be,ke)||Te(ke)}),we}},7793:function(en,tn,Oe){var Ge=Oe(95329);en.exports=tt,tt.CycleException=Ue;function tt(Ne){var Ke={},Be={},we=[];function Te(ke){if(Ge.has(Be,ke))throw new Ue;Ge.has(Ke,ke)||(Be[ke]=!0,Ke[ke]=!0,Ge.each(Ne.predecessors(ke),Te),delete Be[ke],we.push(ke))}if(Ge.each(Ne.sinks(),Te),Ge.size(Ke)!==Ne.nodeCount())throw new Ue;return we}function Ue(){}Ue.prototype=new Error},36614:function(en,tn,Oe){var Ge=Oe(95329);en.exports=tt;function tt(){this._arr=[],this._keyIndices={}}tt.prototype.size=function(){return this._arr.length},tt.prototype.keys=function(){return this._arr.map(function(Ue){return Ue.key})},tt.prototype.has=function(Ue){return Ge.has(this._keyIndices,Ue)},tt.prototype.priority=function(Ue){var Ne=this._keyIndices[Ue];if(Ne!==void 0)return this._arr[Ne].priority},tt.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},tt.prototype.add=function(Ue,Ne){var Ke=this._keyIndices;if(Ue=String(Ue),!Ge.has(Ke,Ue)){var Be=this._arr,we=Be.length;return Ke[Ue]=we,Be.push({key:Ue,priority:Ne}),this._decrease(we),!0}return!1},tt.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var Ue=this._arr.pop();return delete this._keyIndices[Ue.key],this._heapify(0),Ue.key},tt.prototype.decrease=function(Ue,Ne){var Ke=this._keyIndices[Ue];if(Ne>this._arr[Ke].priority)throw new Error("New priority is greater than current priority. Key: "+Ue+" Old: "+this._arr[Ke].priority+" New: "+Ne);this._arr[Ke].priority=Ne,this._decrease(Ke)},tt.prototype._heapify=function(Ue){var Ne=this._arr,Ke=2*Ue,Be=Ke+1,we=Ue;Ke<Ne.length&&(we=Ne[Ke].priority<Ne[we].priority?Ke:we,Be<Ne.length&&(we=Ne[Be].priority<Ne[we].priority?Be:we),we!==Ue&&(this._swap(Ue,we),this._heapify(we)))},tt.prototype._decrease=function(Ue){for(var Ne=this._arr,Ke=Ne[Ue].priority,Be;Ue!==0&&(Be=Ue>>1,!(Ne[Be].priority<Ke));)this._swap(Ue,Be),Ue=Be},tt.prototype._swap=function(Ue,Ne){var Ke=this._arr,Be=this._keyIndices,we=Ke[Ue],Te=Ke[Ne];Ke[Ue]=Te,Ke[Ne]=we,Be[Te.key]=Ue,Be[we.key]=Ne}},6349:function(en,tn,Oe){"use strict";var Ge=Oe(95329);en.exports=Ke;var tt="\0",Ue="\0",Ne="";function Ke(Ce){this._isDirected=Ge.has(Ce,"directed")?Ce.directed:!0,this._isMultigraph=Ge.has(Ce,"multigraph")?Ce.multigraph:!1,this._isCompound=Ge.has(Ce,"compound")?Ce.compound:!1,this._label=void 0,this._defaultNodeLabelFn=Ge.constant(void 0),this._defaultEdgeLabelFn=Ge.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[Ue]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}Ke.prototype._nodeCount=0,Ke.prototype._edgeCount=0,Ke.prototype.isDirected=function(){return this._isDirected},Ke.prototype.isMultigraph=function(){return this._isMultigraph},Ke.prototype.isCompound=function(){return this._isCompound},Ke.prototype.setGraph=function(Ce){return this._label=Ce,this},Ke.prototype.graph=function(){return this._label},Ke.prototype.setDefaultNodeLabel=function(Ce){return Ge.isFunction(Ce)||(Ce=Ge.constant(Ce)),this._defaultNodeLabelFn=Ce,this},Ke.prototype.nodeCount=function(){return this._nodeCount},Ke.prototype.nodes=function(){return Ge.keys(this._nodes)},Ke.prototype.sources=function(){var Ce=this;return Ge.filter(this.nodes(),function(Me){return Ge.isEmpty(Ce._in[Me])})},Ke.prototype.sinks=function(){var Ce=this;return Ge.filter(this.nodes(),function(Me){return Ge.isEmpty(Ce._out[Me])})},Ke.prototype.setNodes=function(Ce,Me){var je=arguments,ye=this;return Ge.each(Ce,function(ie){je.length>1?ye.setNode(ie,Me):ye.setNode(ie)}),this},Ke.prototype.setNode=function(Ce,Me){return Ge.has(this._nodes,Ce)?(arguments.length>1&&(this._nodes[Ce]=Me),this):(this._nodes[Ce]=arguments.length>1?Me:this._defaultNodeLabelFn(Ce),this._isCompound&&(this._parent[Ce]=Ue,this._children[Ce]={},this._children[Ue][Ce]=!0),this._in[Ce]={},this._preds[Ce]={},this._out[Ce]={},this._sucs[Ce]={},++this._nodeCount,this)},Ke.prototype.node=function(Ce){return this._nodes[Ce]},Ke.prototype.hasNode=function(Ce){return Ge.has(this._nodes,Ce)},Ke.prototype.removeNode=function(Ce){var Me=this;if(Ge.has(this._nodes,Ce)){var je=function(ye){Me.removeEdge(Me._edgeObjs[ye])};delete this._nodes[Ce],this._isCompound&&(this._removeFromParentsChildList(Ce),delete this._parent[Ce],Ge.each(this.children(Ce),function(ye){Me.setParent(ye)}),delete this._children[Ce]),Ge.each(Ge.keys(this._in[Ce]),je),delete this._in[Ce],delete this._preds[Ce],Ge.each(Ge.keys(this._out[Ce]),je),delete this._out[Ce],delete this._sucs[Ce],--this._nodeCount}return this},Ke.prototype.setParent=function(Ce,Me){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Ge.isUndefined(Me))Me=Ue;else{Me+="";for(var je=Me;!Ge.isUndefined(je);je=this.parent(je))if(je===Ce)throw new Error("Setting "+Me+" as parent of "+Ce+" would create a cycle");this.setNode(Me)}return this.setNode(Ce),this._removeFromParentsChildList(Ce),this._parent[Ce]=Me,this._children[Me][Ce]=!0,this},Ke.prototype._removeFromParentsChildList=function(Ce){delete this._children[this._parent[Ce]][Ce]},Ke.prototype.parent=function(Ce){if(this._isCompound){var Me=this._parent[Ce];if(Me!==Ue)return Me}},Ke.prototype.children=function(Ce){if(Ge.isUndefined(Ce)&&(Ce=Ue),this._isCompound){var Me=this._children[Ce];if(Me)return Ge.keys(Me)}else{if(Ce===Ue)return this.nodes();if(this.hasNode(Ce))return[]}},Ke.prototype.predecessors=function(Ce){var Me=this._preds[Ce];if(Me)return Ge.keys(Me)},Ke.prototype.successors=function(Ce){var Me=this._sucs[Ce];if(Me)return Ge.keys(Me)},Ke.prototype.neighbors=function(Ce){var Me=this.predecessors(Ce);if(Me)return Ge.union(Me,this.successors(Ce))},Ke.prototype.isLeaf=function(Ce){var Me;return this.isDirected()?Me=this.successors(Ce):Me=this.neighbors(Ce),Me.length===0},Ke.prototype.filterNodes=function(Ce){var Me=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});Me.setGraph(this.graph());var je=this;Ge.each(this._nodes,function(ae,fe){Ce(fe)&&Me.setNode(fe,ae)}),Ge.each(this._edgeObjs,function(ae){Me.hasNode(ae.v)&&Me.hasNode(ae.w)&&Me.setEdge(ae,je.edge(ae))});var ye={};function ie(ae){var fe=je.parent(ae);return fe===void 0||Me.hasNode(fe)?(ye[ae]=fe,fe):fe in ye?ye[fe]:ie(fe)}return this._isCompound&&Ge.each(Me.nodes(),function(ae){Me.setParent(ae,ie(ae))}),Me},Ke.prototype.setDefaultEdgeLabel=function(Ce){return Ge.isFunction(Ce)||(Ce=Ge.constant(Ce)),this._defaultEdgeLabelFn=Ce,this},Ke.prototype.edgeCount=function(){return this._edgeCount},Ke.prototype.edges=function(){return Ge.values(this._edgeObjs)},Ke.prototype.setPath=function(Ce,Me){var je=this,ye=arguments;return Ge.reduce(Ce,function(ie,ae){return ye.length>1?je.setEdge(ie,ae,Me):je.setEdge(ie,ae),ae}),this},Ke.prototype.setEdge=function(){var Ce,Me,je,ye,ie=!1,ae=arguments[0];typeof ae=="object"&&ae!==null&&"v"in ae?(Ce=ae.v,Me=ae.w,je=ae.name,arguments.length===2&&(ye=arguments[1],ie=!0)):(Ce=ae,Me=arguments[1],je=arguments[3],arguments.length>2&&(ye=arguments[2],ie=!0)),Ce=""+Ce,Me=""+Me,Ge.isUndefined(je)||(je=""+je);var fe=Te(this._isDirected,Ce,Me,je);if(Ge.has(this._edgeLabels,fe))return ie&&(this._edgeLabels[fe]=ye),this;if(!Ge.isUndefined(je)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(Ce),this.setNode(Me),this._edgeLabels[fe]=ie?ye:this._defaultEdgeLabelFn(Ce,Me,je);var de=ke(this._isDirected,Ce,Me,je);return Ce=de.v,Me=de.w,Object.freeze(de),this._edgeObjs[fe]=de,Be(this._preds[Me],Ce),Be(this._sucs[Ce],Me),this._in[Me][fe]=de,this._out[Ce][fe]=de,this._edgeCount++,this},Ke.prototype.edge=function(Ce,Me,je){var ye=arguments.length===1?Ie(this._isDirected,arguments[0]):Te(this._isDirected,Ce,Me,je);return this._edgeLabels[ye]},Ke.prototype.hasEdge=function(Ce,Me,je){var ye=arguments.length===1?Ie(this._isDirected,arguments[0]):Te(this._isDirected,Ce,Me,je);return Ge.has(this._edgeLabels,ye)},Ke.prototype.removeEdge=function(Ce,Me,je){var ye=arguments.length===1?Ie(this._isDirected,arguments[0]):Te(this._isDirected,Ce,Me,je),ie=this._edgeObjs[ye];return ie&&(Ce=ie.v,Me=ie.w,delete this._edgeLabels[ye],delete this._edgeObjs[ye],we(this._preds[Me],Ce),we(this._sucs[Ce],Me),delete this._in[Me][ye],delete this._out[Ce][ye],this._edgeCount--),this},Ke.prototype.inEdges=function(Ce,Me){var je=this._in[Ce];if(je){var ye=Ge.values(je);return Me?Ge.filter(ye,function(ie){return ie.v===Me}):ye}},Ke.prototype.outEdges=function(Ce,Me){var je=this._out[Ce];if(je){var ye=Ge.values(je);return Me?Ge.filter(ye,function(ie){return ie.w===Me}):ye}},Ke.prototype.nodeEdges=function(Ce,Me){var je=this.inEdges(Ce,Me);if(je)return je.concat(this.outEdges(Ce,Me))};function Be(Ce,Me){Ce[Me]?Ce[Me]++:Ce[Me]=1}function we(Ce,Me){--Ce[Me]||delete Ce[Me]}function Te(Ce,Me,je,ye){var ie=""+Me,ae=""+je;if(!Ce&&ie>ae){var fe=ie;ie=ae,ae=fe}return ie+Ne+ae+Ne+(Ge.isUndefined(ye)?tt:ye)}function ke(Ce,Me,je,ye){var ie=""+Me,ae=""+je;if(!Ce&&ie>ae){var fe=ie;ie=ae,ae=fe}var de={v:ie,w:ae};return ye&&(de.name=ye),de}function Ie(Ce,Me){return Te(Ce,Me.v,Me.w,Me.name)}},89224:function(en,tn,Oe){en.exports={Graph:Oe(6349),version:Oe(16544)}},17401:function(en,tn,Oe){var Ge=Oe(95329),tt=Oe(6349);en.exports={write:Ue,read:Be};function Ue(we){var Te={options:{directed:we.isDirected(),multigraph:we.isMultigraph(),compound:we.isCompound()},nodes:Ne(we),edges:Ke(we)};return Ge.isUndefined(we.graph())||(Te.value=Ge.clone(we.graph())),Te}function Ne(we){return Ge.map(we.nodes(),function(Te){var ke=we.node(Te),Ie=we.parent(Te),Ce={v:Te};return Ge.isUndefined(ke)||(Ce.value=ke),Ge.isUndefined(Ie)||(Ce.parent=Ie),Ce})}function Ke(we){return Ge.map(we.edges(),function(Te){var ke=we.edge(Te),Ie={v:Te.v,w:Te.w};return Ge.isUndefined(Te.name)||(Ie.name=Te.name),Ge.isUndefined(ke)||(Ie.value=ke),Ie})}function Be(we){var Te=new tt(we.options).setGraph(we.value);return Ge.each(we.nodes,function(ke){Te.setNode(ke.v,ke.value),ke.parent&&Te.setParent(ke.v,ke.parent)}),Ge.each(we.edges,function(ke){Te.setEdge({v:ke.v,w:ke.w,name:ke.name},ke.value)}),Te}},95329:function(en,tn,Oe){var Ge;try{Ge={clone:Oe(76833),constant:Oe(13503),each:Oe(76934),filter:Oe(64725),has:Oe(99946),isArray:Oe(80744),isEmpty:Oe(61627),isFunction:Oe(9363),isUndefined:Oe(16513),keys:Oe(55451),map:Oe(9924),reduce:Oe(16473),size:Oe(40617),transform:Oe(91116),union:Oe(44065),values:Oe(81229)}}catch(tt){}Ge||(Ge=window._),en.exports=Ge},16544:function(en){en.exports="2.1.8"},95328:function(en){function tn(Ue,Ne,Ke){return(Ne[0]-Ue[0])*(Ke[1]-Ue[1])-(Ne[1]-Ue[1])*(Ke[0]-Ue[0])}function Oe(Ue){const Ne=[];for(let Ke=0;Ke<Ue.length;Ke++){for(;Ne.length>=2&&tn(Ne[Ne.length-2],Ne[Ne.length-1],Ue[Ke])<=0;)Ne.pop();Ne.push(Ue[Ke])}return Ne.pop(),Ne}function Ge(Ue){const Ne=Ue.reverse(),Ke=[];for(let Be=0;Be<Ne.length;Be++){for(;Ke.length>=2&&tn(Ke[Ke.length-2],Ke[Ke.length-1],Ne[Be])<=0;)Ke.pop();Ke.push(Ne[Be])}return Ke.pop(),Ke}function tt(Ue){const Ne=Oe(Ue),Be=Ge(Ue).concat(Ne);return Be.push(Ue[0]),Be}en.exports=tt},11950:function(en){en.exports={toXy:function(tn,Oe){return Oe===void 0?tn.slice():tn.map(function(Ge){return new Function("pt","return [pt"+Oe[0]+",pt"+Oe[1]+"];")(Ge)})},fromXy:function(tn,Oe){return Oe===void 0?tn.slice():tn.map(function(Ge){return new Function("pt","const o = {}; o"+Oe[0]+"= pt[0]; o"+Oe[1]+"= pt[1]; return o;")(Ge)})}}},98204:function(en){function tn(Ge,tt){this._cells=[],this._cellSize=tt,this._reverseCellSize=1/tt;for(let Ue=0;Ue<Ge.length;Ue++){const Ne=Ge[Ue],Ke=this.coordToCellNum(Ne[0]),Be=this.coordToCellNum(Ne[1]);if(this._cells[Ke])this._cells[Ke][Be]?this._cells[Ke][Be].push(Ne):this._cells[Ke][Be]=[Ne];else{const we=[];we[Be]=[Ne],this._cells[Ke]=we}}}tn.prototype={cellPoints:function(Ge,tt){return this._cells[Ge]!==void 0&&this._cells[Ge][tt]!==void 0?this._cells[Ge][tt]:[]},rangePoints:function(Ge){const tt=this.coordToCellNum(Ge[0]),Ue=this.coordToCellNum(Ge[1]),Ne=this.coordToCellNum(Ge[2]),Ke=this.coordToCellNum(Ge[3]),Be=[];for(let we=tt;we<=Ne;we++)for(let Te=Ue;Te<=Ke;Te++)for(let ke=0;ke<this.cellPoints(we,Te).length;ke++)Be.push(this.cellPoints(we,Te)[ke]);return Be},removePoint:function(Ge){const tt=this.coordToCellNum(Ge[0]),Ue=this.coordToCellNum(Ge[1]),Ne=this._cells[tt][Ue];let Ke;for(let Be=0;Be<Ne.length;Be++)if(Ne[Be][0]===Ge[0]&&Ne[Be][1]===Ge[1]){Ke=Be;break}return Ne.splice(Ke,1),Ne},trunc:Math.trunc||function(Ge){return Ge-Ge%1},coordToCellNum:function(Ge){return this.trunc(Ge*this._reverseCellSize)},extendBbox:function(Ge,tt){return[Ge[0]-tt*this._cellSize,Ge[1]-tt*this._cellSize,Ge[2]+tt*this._cellSize,Ge[3]+tt*this._cellSize]}};function Oe(Ge,tt){return new tn(Ge,tt)}en.exports=Oe},76117:function(en,tn,Oe){"use strict";const Ge=Oe(86972),tt=Oe(98204),Ue=Oe(11950),Ne=Oe(95328);function Ke(fe){const de=[fe[0]];let ve=fe[0];for(let xe=1;xe<fe.length;xe++){const ce=fe[xe];(ve[0]!==ce[0]||ve[1]!==ce[1])&&de.push(ce),ve=ce}return de}function Be(fe){return fe.sort(function(de,ve){return de[0]-ve[0]||de[1]-ve[1]})}function we(fe,de){return Math.pow(de[0]-fe[0],2)+Math.pow(de[1]-fe[1],2)}function Te(fe,de,ve){const xe=[de[0]-fe[0],de[1]-fe[1]],ce=[ve[0]-fe[0],ve[1]-fe[1]],pe=we(fe,de),Se=we(fe,ve);return(xe[0]*ce[0]+xe[1]*ce[1])/Math.sqrt(pe*Se)}function ke(fe,de){for(let ve=0;ve<de.length-1;ve++){const xe=[de[ve],de[ve+1]];if(!(fe[0][0]===xe[0][0]&&fe[0][1]===xe[0][1]||fe[0][0]===xe[1][0]&&fe[0][1]===xe[1][1])&&Ge(fe,xe))return!0}return!1}function Ie(fe){let de=1/0,ve=1/0,xe=-1/0,ce=-1/0;for(let pe=fe.length-1;pe>=0;pe--)fe[pe][0]<de&&(de=fe[pe][0]),fe[pe][1]<ve&&(ve=fe[pe][1]),fe[pe][0]>xe&&(xe=fe[pe][0]),fe[pe][1]>ce&&(ce=fe[pe][1]);return[xe-de,ce-ve]}function Ce(fe){return[Math.min(fe[0][0],fe[1][0]),Math.min(fe[0][1],fe[1][1]),Math.max(fe[0][0],fe[1][0]),Math.max(fe[0][1],fe[1][1])]}function Me(fe,de,ve){let xe=null,ce=ie,pe=ie,Se,Le;for(let ze=0;ze<de.length;ze++)Se=Te(fe[0],fe[1],de[ze]),Le=Te(fe[1],fe[0],de[ze]),Se>ce&&Le>pe&&!ke([fe[0],de[ze]],ve)&&!ke([fe[1],de[ze]],ve)&&(ce=Se,pe=Le,xe=de[ze]);return xe}function je(fe,de,ve,xe,ce){let pe=!1;for(let Se=0;Se<fe.length-1;Se++){const Le=[fe[Se],fe[Se+1]],ze=Le[0][0]+","+Le[0][1]+","+Le[1][0]+","+Le[1][1];if(we(Le[0],Le[1])<de||ce.has(ze))continue;let Ze=0,Ve=Ce(Le),Qe,$e,gt;do Ve=xe.extendBbox(Ve,Ze),Qe=Ve[2]-Ve[0],$e=Ve[3]-Ve[1],gt=Me(Le,xe.rangePoints(Ve),fe),Ze++;while(gt===null&&(ve[0]>Qe||ve[1]>$e));Qe>=ve[0]&&$e>=ve[1]&&ce.add(ze),gt!==null&&(fe.splice(Se+1,0,gt),xe.removePoint(gt),pe=!0)}return pe?je(fe,de,ve,xe,ce):fe}function ye(fe,de,ve){let xe=de||20;const ce=Ke(Be(Ue.toXy(fe,ve)));if(ce.length<4){const Qe=ce.concat([ce[0]]);return ve?Ue.fromXy(Qe,ve):Qe}const pe=Ie(ce),Se=[pe[0]*ae,pe[1]*ae],Le=Ne(ce),ze=ce.filter(function(Qe){return Le.indexOf(Qe)<0}),Ze=Math.ceil(1/(ce.length/(pe[0]*pe[1]))),Ve=je(Le,Math.pow(xe,2),Se,tt(ze,Ze),new Set);return ve?Ue.fromXy(Ve,ve):Ve}const ie=Math.cos(90/(180/Math.PI)),ae=.6;en.exports=ye},86972:function(en){function tn(Ge,tt,Ue,Ne,Ke,Be){const we=(Be-tt)*(Ue-Ge)-(Ne-tt)*(Ke-Ge);return we>0?!0:!(we<0)}function Oe(Ge,tt){const Ue=Ge[0][0],Ne=Ge[0][1],Ke=Ge[1][0],Be=Ge[1][1],we=tt[0][0],Te=tt[0][1],ke=tt[1][0],Ie=tt[1][1];return tn(Ue,Ne,we,Te,ke,Ie)!==tn(Ke,Be,we,Te,ke,Ie)&&tn(Ue,Ne,Ke,Be,we,Te)!==tn(Ue,Ne,Ke,Be,ke,Ie)}en.exports=Oe},34634:function(en,tn,Oe){"use strict";Oe.r(tn),Oe.d(tn,{isAnyArray:function(){return tt}});const Ge=Object.prototype.toString;function tt(Ue){const Ne=Ge.call(Ue);return Ne.endsWith("Array]")&&!Ne.includes("Big")}},22948:function(en){en.exports=function(Oe){return!Oe||typeof Oe=="string"?!1:Oe instanceof Array||Array.isArray(Oe)||Oe.length>=0&&(Oe.splice instanceof Function||Object.getOwnPropertyDescriptor(Oe,Oe.length-1)&&Oe.constructor.name!=="String")}},15584:function(en,tn,Oe){var Ge=Oe(73893),tt=Oe(33152),Ue=Ge(tt,"DataView");en.exports=Ue},97288:function(en,tn,Oe){var Ge=Oe(73893),tt=Oe(33152),Ue=Ge(tt,"Promise");en.exports=Ue},23599:function(en,tn,Oe){var Ge=Oe(73893),tt=Oe(33152),Ue=Ge(tt,"Set");en.exports=Ue},98924:function(en,tn,Oe){var Ge=Oe(52166),tt=Oe(34776),Ue=Oe(40393);function Ne(Ke){var Be=-1,we=Ke==null?0:Ke.length;for(this.__data__=new Ge;++Be<we;)this.add(Ke[Be])}Ne.prototype.add=Ne.prototype.push=tt,Ne.prototype.has=Ue,en.exports=Ne},26873:function(en,tn,Oe){var Ge=Oe(73893),tt=Oe(33152),Ue=Ge(tt,"WeakMap");en.exports=Ue},60661:function(en){function tn(Oe,Ge){for(var tt=-1,Ue=Oe==null?0:Oe.length;++tt<Ue&&Ge(Oe[tt],tt,Oe)!==!1;);return Oe}en.exports=tn},86952:function(en){function tn(Oe,Ge){for(var tt=-1,Ue=Oe==null?0:Oe.length,Ne=0,Ke=[];++tt<Ue;){var Be=Oe[tt];Ge(Be,tt,Oe)&&(Ke[Ne++]=Be)}return Ke}en.exports=tn},84271:function(en,tn,Oe){var Ge=Oe(17424);function tt(Ue,Ne){var Ke=Ue==null?0:Ue.length;return!!Ke&&Ge(Ue,Ne,0)>-1}en.exports=tt},94874:function(en){function tn(Oe,Ge,tt){for(var Ue=-1,Ne=Oe==null?0:Oe.length;++Ue<Ne;)if(tt(Ge,Oe[Ue]))return!0;return!1}en.exports=tn},75010:function(en){function tn(Oe,Ge){for(var tt=-1,Ue=Oe==null?0:Oe.length,Ne=Array(Ue);++tt<Ue;)Ne[tt]=Ge(Oe[tt],tt,Oe);return Ne}en.exports=tn},57095:function(en){function tn(Oe,Ge){for(var tt=-1,Ue=Ge.length,Ne=Oe.length;++tt<Ue;)Oe[Ne+tt]=Ge[tt];return Oe}en.exports=tn},99861:function(en){function tn(Oe,Ge,tt,Ue){var Ne=-1,Ke=Oe==null?0:Oe.length;for(Ue&&Ke&&(tt=Oe[++Ne]);++Ne<Ke;)tt=Ge(tt,Oe[Ne],Ne,Oe);return tt}en.exports=tn},64045:function(en){function tn(Oe,Ge){for(var tt=-1,Ue=Oe==null?0:Oe.length;++tt<Ue;)if(Ge(Oe[tt],tt,Oe))return!0;return!1}en.exports=tn},26539:function(en,tn,Oe){var Ge=Oe(22310),tt=Ge("length");en.exports=tt},91937:function(en,tn,Oe){var Ge=Oe(95378),tt=Oe(55451);function Ue(Ne,Ke){return Ne&&Ge(Ke,tt(Ke),Ne)}en.exports=Ue},26680:function(en,tn,Oe){var Ge=Oe(95378),tt=Oe(56730);function Ue(Ne,Ke){return Ne&&Ge(Ke,tt(Ke),Ne)}en.exports=Ue},99045:function(en,tn,Oe){var Ge=Oe(91866),tt=Oe(60661),Ue=Oe(60348),Ne=Oe(91937),Ke=Oe(26680),Be=Oe(32315),we=Oe(47760),Te=Oe(15168),ke=Oe(71678),Ie=Oe(12076),Ce=Oe(22675),Me=Oe(66139),je=Oe(79264),ye=Oe(97541),ie=Oe(4084),ae=Oe(80744),fe=Oe(57835),de=Oe(41626),ve=Oe(20816),xe=Oe(65226),ce=Oe(55451),pe=Oe(56730),Se=1,Le=2,ze=4,Ze="[object Arguments]",Ve="[object Array]",Qe="[object Boolean]",$e="[object Date]",gt="[object Error]",lt="[object Function]",At="[object GeneratorFunction]",Et="[object Map]",vt="[object Number]",Lt="[object Object]",St="[object RegExp]",xt="[object Set]",ct="[object String]",Dt="[object Symbol]",Xt="[object WeakMap]",kt="[object ArrayBuffer]",Rt="[object DataView]",Gt="[object Float32Array]",ln="[object Float64Array]",Rn="[object Int8Array]",jn="[object Int16Array]",er="[object Int32Array]",an="[object Uint8Array]",Un="[object Uint8ClampedArray]",Kn="[object Uint16Array]",ur="[object Uint32Array]",Xn={};Xn[Ze]=Xn[Ve]=Xn[kt]=Xn[Rt]=Xn[Qe]=Xn[$e]=Xn[Gt]=Xn[ln]=Xn[Rn]=Xn[jn]=Xn[er]=Xn[Et]=Xn[vt]=Xn[Lt]=Xn[St]=Xn[xt]=Xn[ct]=Xn[Dt]=Xn[an]=Xn[Un]=Xn[Kn]=Xn[ur]=!0,Xn[gt]=Xn[lt]=Xn[Xt]=!1;function Nn(_n,un,qt,Yt,gn,_t){var Jt,wt=un&Se,ut=un&Le,ot=un&ze;if(qt&&(Jt=gn?qt(_n,Yt,gn,_t):qt(_n)),Jt!==void 0)return Jt;if(!ve(_n))return _n;var Pt=ae(_n);if(Pt){if(Jt=je(_n),!wt)return we(_n,Jt)}else{var Ht=Me(_n),Mt=Ht==lt||Ht==At;if(fe(_n))return Be(_n,wt);if(Ht==Lt||Ht==Ze||Mt&&!gn){if(Jt=ut||Mt?{}:ie(_n),!wt)return ut?ke(_n,Ke(Jt,_n)):Te(_n,Ne(Jt,_n))}else{if(!Xn[Ht])return gn?_n:{};Jt=ye(_n,Ht,wt)}}_t||(_t=new Ge);var hn=_t.get(_n);if(hn)return hn;_t.set(_n,Jt),xe(_n)?_n.forEach(function(An){Jt.add(Nn(An,un,qt,An,_n,_t))}):de(_n)&&_n.forEach(function(An,$n){Jt.set($n,Nn(An,un,qt,$n,_n,_t))});var rr=ot?ut?Ce:Ie:ut?pe:ce,Jn=Pt?void 0:rr(_n);return tt(Jn||_n,function(An,$n){Jn&&($n=An,An=_n[$n]),Ue(Jt,$n,Nn(An,un,qt,$n,_n,_t))}),Jt}en.exports=Nn},44107:function(en,tn,Oe){var Ge=Oe(1585),tt=Oe(49164),Ue=tt(Ge);en.exports=Ue},2659:function(en,tn,Oe){var Ge=Oe(45029);function tt(Ue,Ne,Ke){for(var Be=-1,we=Ue.length;++Be<we;){var Te=Ue[Be],ke=Ne(Te);if(ke!=null&&(Ie===void 0?ke===ke&&!Ge(ke):Ke(ke,Ie)))var Ie=ke,Ce=Te}return Ce}en.exports=tt},32872:function(en,tn,Oe){var Ge=Oe(44107);function tt(Ue,Ne){var Ke=[];return Ge(Ue,function(Be,we,Te){Ne(Be,we,Te)&&Ke.push(Be)}),Ke}en.exports=tt},51533:function(en){function tn(Oe,Ge,tt,Ue){for(var Ne=Oe.length,Ke=tt+(Ue?1:-1);Ue?Ke--:++Ke<Ne;)if(Ge(Oe[Ke],Ke,Oe))return Ke;return-1}en.exports=tn},9256:function(en,tn,Oe){var Ge=Oe(57095),tt=Oe(88133);function Ue(Ne,Ke,Be,we,Te){var ke=-1,Ie=Ne.length;for(Be||(Be=tt),Te||(Te=[]);++ke<Ie;){var Ce=Ne[ke];Ke>0&&Be(Ce)?Ke>1?Ue(Ce,Ke-1,Be,we,Te):Ge(Te,Ce):we||(Te[Te.length]=Ce)}return Te}en.exports=Ue},1585:function(en,tn,Oe){var Ge=Oe(14018),tt=Oe(55451);function Ue(Ne,Ke){return Ne&&Ge(Ne,Ke,tt)}en.exports=Ue},89147:function(en,tn,Oe){var Ge=Oe(1186),tt=Oe(9171);function Ue(Ne,Ke){Ke=Ge(Ke,Ne);for(var Be=0,we=Ke.length;Ne!=null&&Be<we;)Ne=Ne[tt(Ke[Be++])];return Be&&Be==we?Ne:void 0}en.exports=Ue},75635:function(en,tn,Oe){var Ge=Oe(57095),tt=Oe(80744);function Ue(Ne,Ke,Be){var we=Ke(Ne);return tt(Ne)?we:Ge(we,Be(Ne))}en.exports=Ue},40302:function(en){function tn(Oe,Ge){return Oe>Ge}en.exports=tn},3251:function(en){var tn=Object.prototype,Oe=tn.hasOwnProperty;function Ge(tt,Ue){return tt!=null&&Oe.call(tt,Ue)}en.exports=Ge},62348:function(en){function tn(Oe,Ge){return Oe!=null&&Ge in Object(Oe)}en.exports=tn},17424:function(en,tn,Oe){var Ge=Oe(51533),tt=Oe(8373),Ue=Oe(49237);function Ne(Ke,Be,we){return Be===Be?Ue(Ke,Be,we):Ge(Ke,tt,we)}en.exports=Ne},77295:function(en,tn,Oe){var Ge=Oe(84412),tt=Oe(93913);function Ue(Ne,Ke,Be,we,Te){return Ne===Ke?!0:Ne==null||Ke==null||!tt(Ne)&&!tt(Ke)?Ne!==Ne&&Ke!==Ke:Ge(Ne,Ke,Be,we,Ue,Te)}en.exports=Ue},84412:function(en,tn,Oe){var Ge=Oe(91866),tt=Oe(50401),Ue=Oe(57710),Ne=Oe(4983),Ke=Oe(66139),Be=Oe(80744),we=Oe(57835),Te=Oe(18397),ke=1,Ie="[object Arguments]",Ce="[object Array]",Me="[object Object]",je=Object.prototype,ye=je.hasOwnProperty;function ie(ae,fe,de,ve,xe,ce){var pe=Be(ae),Se=Be(fe),Le=pe?Ce:Ke(ae),ze=Se?Ce:Ke(fe);Le=Le==Ie?Me:Le,ze=ze==Ie?Me:ze;var Ze=Le==Me,Ve=ze==Me,Qe=Le==ze;if(Qe&&we(ae)){if(!we(fe))return!1;pe=!0,Ze=!1}if(Qe&&!Ze)return ce||(ce=new Ge),pe||Te(ae)?tt(ae,fe,de,ve,xe,ce):Ue(ae,fe,Le,de,ve,xe,ce);if(!(de&ke)){var $e=Ze&&ye.call(ae,"__wrapped__"),gt=Ve&&ye.call(fe,"__wrapped__");if($e||gt){var lt=$e?ae.value():ae,At=gt?fe.value():fe;return ce||(ce=new Ge),xe(lt,At,de,ve,ce)}}return Qe?(ce||(ce=new Ge),Ne(ae,fe,de,ve,xe,ce)):!1}en.exports=ie},55005:function(en,tn,Oe){var Ge=Oe(66139),tt=Oe(93913),Ue="[object Map]";function Ne(Ke){return tt(Ke)&&Ge(Ke)==Ue}en.exports=Ne},51524:function(en,tn,Oe){var Ge=Oe(91866),tt=Oe(77295),Ue=1,Ne=2;function Ke(Be,we,Te,ke){var Ie=Te.length,Ce=Ie,Me=!ke;if(Be==null)return!Ce;for(Be=Object(Be);Ie--;){var je=Te[Ie];if(Me&&je[2]?je[1]!==Be[je[0]]:!(je[0]in Be))return!1}for(;++Ie<Ce;){je=Te[Ie];var ye=je[0],ie=Be[ye],ae=je[1];if(Me&&je[2]){if(ie===void 0&&!(ye in Be))return!1}else{var fe=new Ge;if(ke)var de=ke(ie,ae,ye,Be,we,fe);if(!(de===void 0?tt(ae,ie,Ue|Ne,ke,fe):de))return!1}}return!0}en.exports=Ke},8373:function(en){function tn(Oe){return Oe!==Oe}en.exports=tn},38652:function(en,tn,Oe){var Ge=Oe(66139),tt=Oe(93913),Ue="[object Set]";function Ne(Ke){return tt(Ke)&&Ge(Ke)==Ue}en.exports=Ne},95979:function(en,tn,Oe){var Ge=Oe(17632),tt=Oe(38933),Ue=Oe(46962),Ne=Oe(80744),Ke=Oe(35769);function Be(we){return typeof we=="function"?we:we==null?Ue:typeof we=="object"?Ne(we)?tt(we[0],we[1]):Ge(we):Ke(we)}en.exports=Be},6019:function(en,tn,Oe){var Ge=Oe(7975),tt=Oe(23730),Ue=Object.prototype,Ne=Ue.hasOwnProperty;function Ke(Be){if(!Ge(Be))return tt(Be);var we=[];for(var Te in Object(Be))Ne.call(Be,Te)&&Te!="constructor"&&we.push(Te);return we}en.exports=Ke},93757:function(en){function tn(Oe,Ge){return Oe<Ge}en.exports=tn},65487:function(en,tn,Oe){var Ge=Oe(44107),tt=Oe(24665);function Ue(Ne,Ke){var Be=-1,we=tt(Ne)?Array(Ne.length):[];return Ge(Ne,function(Te,ke,Ie){we[++Be]=Ke(Te,ke,Ie)}),we}en.exports=Ue},17632:function(en,tn,Oe){var Ge=Oe(51524),tt=Oe(10261),Ue=Oe(24122);function Ne(Ke){var Be=tt(Ke);return Be.length==1&&Be[0][2]?Ue(Be[0][0],Be[0][1]):function(we){return we===Ke||Ge(we,Ke,Be)}}en.exports=Ne},38933:function(en,tn,Oe){var Ge=Oe(77295),tt=Oe(44231),Ue=Oe(37879),Ne=Oe(86773),Ke=Oe(88411),Be=Oe(24122),we=Oe(9171),Te=1,ke=2;function Ie(Ce,Me){return Ne(Ce)&&Ke(Me)?Be(we(Ce),Me):function(je){var ye=tt(je,Ce);return ye===void 0&&ye===Me?Ue(je,Ce):Ge(Me,ye,Te|ke)}}en.exports=Ie},58506:function(en,tn,Oe){var Ge=Oe(75010),tt=Oe(89147),Ue=Oe(95979),Ne=Oe(65487),Ke=Oe(33065),Be=Oe(38342),we=Oe(11249),Te=Oe(46962),ke=Oe(80744);function Ie(Ce,Me,je){Me.length?Me=Ge(Me,function(ae){return ke(ae)?function(fe){return tt(fe,ae.length===1?ae[0]:ae)}:ae}):Me=[Te];var ye=-1;Me=Ge(Me,Be(Ue));var ie=Ne(Ce,function(ae,fe,de){var ve=Ge(Me,function(xe){return xe(ae)});return{criteria:ve,index:++ye,value:ae}});return Ke(ie,function(ae,fe){return we(ae,fe,je)})}en.exports=Ie},88832:function(en,tn,Oe){var Ge=Oe(10867),tt=Oe(37879);function Ue(Ne,Ke){return Ge(Ne,Ke,function(Be,we){return tt(Ne,we)})}en.exports=Ue},10867:function(en,tn,Oe){var Ge=Oe(89147),tt=Oe(36897),Ue=Oe(1186);function Ne(Ke,Be,we){for(var Te=-1,ke=Be.length,Ie={};++Te<ke;){var Ce=Be[Te],Me=Ge(Ke,Ce);we(Me,Ce)&&tt(Ie,Ue(Ce,Ke),Me)}return Ie}en.exports=Ne},22310:function(en){function tn(Oe){return function(Ge){return Ge==null?void 0:Ge[Oe]}}en.exports=tn},96916:function(en,tn,Oe){var Ge=Oe(89147);function tt(Ue){return function(Ne){return Ge(Ne,Ue)}}en.exports=tt},36121:function(en){var tn=Math.ceil,Oe=Math.max;function Ge(tt,Ue,Ne,Ke){for(var Be=-1,we=Oe(tn((Ue-tt)/(Ne||1)),0),Te=Array(we);we--;)Te[Ke?we:++Be]=tt,tt+=Ne;return Te}en.exports=Ge},30739:function(en){function tn(Oe,Ge,tt,Ue,Ne){return Ne(Oe,function(Ke,Be,we){tt=Ue?(Ue=!1,Ke):Ge(tt,Ke,Be,we)}),tt}en.exports=tn},36897:function(en,tn,Oe){var Ge=Oe(60348),tt=Oe(1186),Ue=Oe(70213),Ne=Oe(20816),Ke=Oe(9171);function Be(we,Te,ke,Ie){if(!Ne(we))return we;Te=tt(Te,we);for(var Ce=-1,Me=Te.length,je=Me-1,ye=we;ye!=null&&++Ce<Me;){var ie=Ke(Te[Ce]),ae=ke;if(ie==="__proto__"||ie==="constructor"||ie==="prototype")return we;if(Ce!=je){var fe=ye[ie];ae=Ie?Ie(fe,ie,ye):void 0,ae===void 0&&(ae=Ne(fe)?fe:Ue(Te[Ce+1])?[]:{})}Ge(ye,ie,ae),ye=ye[ie]}return we}en.exports=Be},33065:function(en){function tn(Oe,Ge){var tt=Oe.length;for(Oe.sort(Ge);tt--;)Oe[tt]=Oe[tt].value;return Oe}en.exports=tn},50230:function(en,tn,Oe){var Ge=Oe(91869),tt=Oe(75010),Ue=Oe(80744),Ne=Oe(45029),Ke=1/0,Be=Ge?Ge.prototype:void 0,we=Be?Be.toString:void 0;function Te(ke){if(typeof ke=="string")return ke;if(Ue(ke))return tt(ke,Te)+"";if(Ne(ke))return we?we.call(ke):"";var Ie=ke+"";return Ie=="0"&&1/ke==-Ke?"-0":Ie}en.exports=Te},13927:function(en,tn,Oe){var Ge=Oe(15333),tt=/^\s+/;function Ue(Ne){return Ne&&Ne.slice(0,Ge(Ne)+1).replace(tt,"")}en.exports=Ue},29098:function(en,tn,Oe){var Ge=Oe(98924),tt=Oe(84271),Ue=Oe(94874),Ne=Oe(1931),Ke=Oe(47506),Be=Oe(79679),we=200;function Te(ke,Ie,Ce){var Me=-1,je=tt,ye=ke.length,ie=!0,ae=[],fe=ae;if(Ce)ie=!1,je=Ue;else if(ye>=we){var de=Ie?null:Ke(ke);if(de)return Be(de);ie=!1,je=Ne,fe=new Ge}else fe=Ie?[]:ae;e:for(;++Me<ye;){var ve=ke[Me],xe=Ie?Ie(ve):ve;if(ve=Ce||ve!==0?ve:0,ie&&xe===xe){for(var ce=fe.length;ce--;)if(fe[ce]===xe)continue e;Ie&&fe.push(xe),ae.push(ve)}else je(fe,xe,Ce)||(fe!==ae&&fe.push(xe),ae.push(ve))}return ae}en.exports=Te},20720:function(en,tn,Oe){var Ge=Oe(75010);function tt(Ue,Ne){return Ge(Ne,function(Ke){return Ue[Ke]})}en.exports=tt},94484:function(en){function tn(Oe,Ge,tt){for(var Ue=-1,Ne=Oe.length,Ke=Ge.length,Be={};++Ue<Ne;){var we=Ue<Ke?Ge[Ue]:void 0;tt(Be,Oe[Ue],we)}return Be}en.exports=tn},1931:function(en){function tn(Oe,Ge){return Oe.has(Ge)}en.exports=tn},11756:function(en,tn,Oe){var Ge=Oe(46962);function tt(Ue){return typeof Ue=="function"?Ue:Ge}en.exports=tt},1186:function(en,tn,Oe){var Ge=Oe(80744),tt=Oe(86773),Ue=Oe(40493),Ne=Oe(44140);function Ke(Be,we){return Ge(Be)?Be:tt(Be,we)?[Be]:Ue(Ne(Be))}en.exports=Ke},27984:function(en,tn,Oe){var Ge=Oe(20188);function tt(Ue,Ne){var Ke=Ne?Ge(Ue.buffer):Ue.buffer;return new Ue.constructor(Ke,Ue.byteOffset,Ue.byteLength)}en.exports=tt},78583:function(en){var tn=/\w*$/;function Oe(Ge){var tt=new Ge.constructor(Ge.source,tn.exec(Ge));return tt.lastIndex=Ge.lastIndex,tt}en.exports=Oe},28757:function(en,tn,Oe){var Ge=Oe(91869),tt=Ge?Ge.prototype:void 0,Ue=tt?tt.valueOf:void 0;function Ne(Ke){return Ue?Object(Ue.call(Ke)):{}}en.exports=Ne},83018:function(en,tn,Oe){var Ge=Oe(45029);function tt(Ue,Ne){if(Ue!==Ne){var Ke=Ue!==void 0,Be=Ue===null,we=Ue===Ue,Te=Ge(Ue),ke=Ne!==void 0,Ie=Ne===null,Ce=Ne===Ne,Me=Ge(Ne);if(!Ie&&!Me&&!Te&&Ue>Ne||Te&&ke&&Ce&&!Ie&&!Me||Be&&ke&&Ce||!Ke&&Ce||!we)return 1;if(!Be&&!Te&&!Me&&Ue<Ne||Me&&Ke&&we&&!Be&&!Te||Ie&&Ke&&we||!ke&&we||!Ce)return-1}return 0}en.exports=tt},11249:function(en,tn,Oe){var Ge=Oe(83018);function tt(Ue,Ne,Ke){for(var Be=-1,we=Ue.criteria,Te=Ne.criteria,ke=we.length,Ie=Ke.length;++Be<ke;){var Ce=Ge(we[Be],Te[Be]);if(Ce){if(Be>=Ie)return Ce;var Me=Ke[Be];return Ce*(Me=="desc"?-1:1)}}return Ue.index-Ne.index}en.exports=tt},15168:function(en,tn,Oe){var Ge=Oe(95378),tt=Oe(58966);function Ue(Ne,Ke){return Ge(Ne,tt(Ne),Ke)}en.exports=Ue},71678:function(en,tn,Oe){var Ge=Oe(95378),tt=Oe(66817);function Ue(Ne,Ke){return Ge(Ne,tt(Ne),Ke)}en.exports=Ue},49164:function(en,tn,Oe){var Ge=Oe(24665);function tt(Ue,Ne){return function(Ke,Be){if(Ke==null)return Ke;if(!Ge(Ke))return Ue(Ke,Be);for(var we=Ke.length,Te=Ne?we:-1,ke=Object(Ke);(Ne?Te--:++Te<we)&&Be(ke[Te],Te,ke)!==!1;);return Ke}}en.exports=tt},19554:function(en,tn,Oe){var Ge=Oe(95979),tt=Oe(24665),Ue=Oe(55451);function Ne(Ke){return function(Be,we,Te){var ke=Object(Be);if(!tt(Be)){var Ie=Ge(we,3);Be=Ue(Be),we=function(Me){return Ie(ke[Me],Me,ke)}}var Ce=Ke(Be,we,Te);return Ce>-1?ke[Ie?Be[Ce]:Ce]:void 0}}en.exports=Ne},76106:function(en,tn,Oe){var Ge=Oe(36121),tt=Oe(8138),Ue=Oe(97341);function Ne(Ke){return function(Be,we,Te){return Te&&typeof Te!="number"&&tt(Be,we,Te)&&(we=Te=void 0),Be=Ue(Be),we===void 0?(we=Be,Be=0):we=Ue(we),Te=Te===void 0?Be<we?1:-1:Ue(Te),Ge(Be,we,Te,Ke)}}en.exports=Ne},47506:function(en,tn,Oe){var Ge=Oe(23599),tt=Oe(9958),Ue=Oe(79679),Ne=1/0,Ke=Ge&&1/Ue(new Ge([,-0]))[1]==Ne?function(Be){return new Ge(Be)}:tt;en.exports=Ke},50401:function(en,tn,Oe){var Ge=Oe(98924),tt=Oe(64045),Ue=Oe(1931),Ne=1,Ke=2;function Be(we,Te,ke,Ie,Ce,Me){var je=ke&Ne,ye=we.length,ie=Te.length;if(ye!=ie&&!(je&&ie>ye))return!1;var ae=Me.get(we),fe=Me.get(Te);if(ae&&fe)return ae==Te&&fe==we;var de=-1,ve=!0,xe=ke&Ke?new Ge:void 0;for(Me.set(we,Te),Me.set(Te,we);++de<ye;){var ce=we[de],pe=Te[de];if(Ie)var Se=je?Ie(pe,ce,de,Te,we,Me):Ie(ce,pe,de,we,Te,Me);if(Se!==void 0){if(Se)continue;ve=!1;break}if(xe){if(!tt(Te,function(Le,ze){if(!Ue(xe,ze)&&(ce===Le||Ce(ce,Le,ke,Ie,Me)))return xe.push(ze)})){ve=!1;break}}else if(!(ce===pe||Ce(ce,pe,ke,Ie,Me))){ve=!1;break}}return Me.delete(we),Me.delete(Te),ve}en.exports=Be},57710:function(en,tn,Oe){var Ge=Oe(91869),tt=Oe(77945),Ue=Oe(43607),Ne=Oe(50401),Ke=Oe(83383),Be=Oe(79679),we=1,Te=2,ke="[object Boolean]",Ie="[object Date]",Ce="[object Error]",Me="[object Map]",je="[object Number]",ye="[object RegExp]",ie="[object Set]",ae="[object String]",fe="[object Symbol]",de="[object ArrayBuffer]",ve="[object DataView]",xe=Ge?Ge.prototype:void 0,ce=xe?xe.valueOf:void 0;function pe(Se,Le,ze,Ze,Ve,Qe,$e){switch(ze){case ve:if(Se.byteLength!=Le.byteLength||Se.byteOffset!=Le.byteOffset)return!1;Se=Se.buffer,Le=Le.buffer;case de:return!(Se.byteLength!=Le.byteLength||!Qe(new tt(Se),new tt(Le)));case ke:case Ie:case je:return Ue(+Se,+Le);case Ce:return Se.name==Le.name&&Se.message==Le.message;case ye:case ae:return Se==Le+"";case Me:var gt=Ke;case ie:var lt=Ze&we;if(gt||(gt=Be),Se.size!=Le.size&&!lt)return!1;var At=$e.get(Se);if(At)return At==Le;Ze|=Te,$e.set(Se,Le);var Et=Ne(gt(Se),gt(Le),Ze,Ve,Qe,$e);return $e.delete(Se),Et;case fe:if(ce)return ce.call(Se)==ce.call(Le)}return!1}en.exports=pe},4983:function(en,tn,Oe){var Ge=Oe(12076),tt=1,Ue=Object.prototype,Ne=Ue.hasOwnProperty;function Ke(Be,we,Te,ke,Ie,Ce){var Me=Te&tt,je=Ge(Be),ye=je.length,ie=Ge(we),ae=ie.length;if(ye!=ae&&!Me)return!1;for(var fe=ye;fe--;){var de=je[fe];if(!(Me?de in we:Ne.call(we,de)))return!1}var ve=Ce.get(Be),xe=Ce.get(we);if(ve&&xe)return ve==we&&xe==Be;var ce=!0;Ce.set(Be,we),Ce.set(we,Be);for(var pe=Me;++fe<ye;){de=je[fe];var Se=Be[de],Le=we[de];if(ke)var ze=Me?ke(Le,Se,de,we,Be,Ce):ke(Se,Le,de,Be,we,Ce);if(!(ze===void 0?Se===Le||Ie(Se,Le,Te,ke,Ce):ze)){ce=!1;break}pe||(pe=de=="constructor")}if(ce&&!pe){var Ze=Be.constructor,Ve=we.constructor;Ze!=Ve&&"constructor"in Be&&"constructor"in we&&!(typeof Ze=="function"&&Ze instanceof Ze&&typeof Ve=="function"&&Ve instanceof Ve)&&(ce=!1)}return Ce.delete(Be),Ce.delete(we),ce}en.exports=Ke},522:function(en,tn,Oe){var Ge=Oe(40151),tt=Oe(19652),Ue=Oe(71152);function Ne(Ke){return Ue(tt(Ke,void 0,Ge),Ke+"")}en.exports=Ne},12076:function(en,tn,Oe){var Ge=Oe(75635),tt=Oe(58966),Ue=Oe(55451);function Ne(Ke){return Ge(Ke,Ue,tt)}en.exports=Ne},22675:function(en,tn,Oe){var Ge=Oe(75635),tt=Oe(66817),Ue=Oe(56730);function Ne(Ke){return Ge(Ke,Ue,tt)}en.exports=Ne},10261:function(en,tn,Oe){var Ge=Oe(88411),tt=Oe(55451);function Ue(Ne){for(var Ke=tt(Ne),Be=Ke.length;Be--;){var we=Ke[Be],Te=Ne[we];Ke[Be]=[we,Te,Ge(Te)]}return Ke}en.exports=Ue},58966:function(en,tn,Oe){var Ge=Oe(86952),tt=Oe(4134),Ue=Object.prototype,Ne=Ue.propertyIsEnumerable,Ke=Object.getOwnPropertySymbols,Be=Ke?function(we){return we==null?[]:(we=Object(we),Ge(Ke(we),function(Te){return Ne.call(we,Te)}))}:tt;en.exports=Be},66817:function(en,tn,Oe){var Ge=Oe(57095),tt=Oe(49217),Ue=Oe(58966),Ne=Oe(4134),Ke=Object.getOwnPropertySymbols,Be=Ke?function(we){for(var Te=[];we;)Ge(Te,Ue(we)),we=tt(we);return Te}:Ne;en.exports=Be},66139:function(en,tn,Oe){var Ge=Oe(15584),tt=Oe(40164),Ue=Oe(97288),Ne=Oe(23599),Ke=Oe(26873),Be=Oe(86756),we=Oe(63256),Te="[object Map]",ke="[object Object]",Ie="[object Promise]",Ce="[object Set]",Me="[object WeakMap]",je="[object DataView]",ye=we(Ge),ie=we(tt),ae=we(Ue),fe=we(Ne),de=we(Ke),ve=Be;(Ge&&ve(new Ge(new ArrayBuffer(1)))!=je||tt&&ve(new tt)!=Te||Ue&&ve(Ue.resolve())!=Ie||Ne&&ve(new Ne)!=Ce||Ke&&ve(new Ke)!=Me)&&(ve=function(xe){var ce=Be(xe),pe=ce==ke?xe.constructor:void 0,Se=pe?we(pe):"";if(Se)switch(Se){case ye:return je;case ie:return Te;case ae:return Ie;case fe:return Ce;case de:return Me}return ce}),en.exports=ve},63100:function(en,tn,Oe){var Ge=Oe(1186),tt=Oe(13053),Ue=Oe(80744),Ne=Oe(70213),Ke=Oe(11156),Be=Oe(9171);function we(Te,ke,Ie){ke=Ge(ke,Te);for(var Ce=-1,Me=ke.length,je=!1;++Ce<Me;){var ye=Be(ke[Ce]);if(!(je=Te!=null&&Ie(Te,ye)))break;Te=Te[ye]}return je||++Ce!=Me?je:(Me=Te==null?0:Te.length,!!Me&&Ke(Me)&&Ne(ye,Me)&&(Ue(Te)||tt(Te)))}en.exports=we},55015:function(en){var tn="\\ud800-\\udfff",Oe="\\u0300-\\u036f",Ge="\\ufe20-\\ufe2f",tt="\\u20d0-\\u20ff",Ue=Oe+Ge+tt,Ne="\\ufe0e\\ufe0f",Ke="\\u200d",Be=RegExp("["+Ke+tn+Ue+Ne+"]");function we(Te){return Be.test(Te)}en.exports=we},79264:function(en){var tn=Object.prototype,Oe=tn.hasOwnProperty;function Ge(tt){var Ue=tt.length,Ne=new tt.constructor(Ue);return Ue&&typeof tt[0]=="string"&&Oe.call(tt,"index")&&(Ne.index=tt.index,Ne.input=tt.input),Ne}en.exports=Ge},97541:function(en,tn,Oe){var Ge=Oe(20188),tt=Oe(27984),Ue=Oe(78583),Ne=Oe(28757),Ke=Oe(78358),Be="[object Boolean]",we="[object Date]",Te="[object Map]",ke="[object Number]",Ie="[object RegExp]",Ce="[object Set]",Me="[object String]",je="[object Symbol]",ye="[object ArrayBuffer]",ie="[object DataView]",ae="[object Float32Array]",fe="[object Float64Array]",de="[object Int8Array]",ve="[object Int16Array]",xe="[object Int32Array]",ce="[object Uint8Array]",pe="[object Uint8ClampedArray]",Se="[object Uint16Array]",Le="[object Uint32Array]";function ze(Ze,Ve,Qe){var $e=Ze.constructor;switch(Ve){case ye:return Ge(Ze);case Be:case we:return new $e(+Ze);case ie:return tt(Ze,Qe);case ae:case fe:case de:case ve:case xe:case ce:case pe:case Se:case Le:return Ke(Ze,Qe);case Te:return new $e;case ke:case Me:return new $e(Ze);case Ie:return Ue(Ze);case Ce:return new $e;case je:return Ne(Ze)}}en.exports=ze},88133:function(en,tn,Oe){var Ge=Oe(91869),tt=Oe(13053),Ue=Oe(80744),Ne=Ge?Ge.isConcatSpreadable:void 0;function Ke(Be){return Ue(Be)||tt(Be)||!!(Ne&&Be&&Be[Ne])}en.exports=Ke},86773:function(en,tn,Oe){var Ge=Oe(80744),tt=Oe(45029),Ue=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ne=/^\w*$/;function Ke(Be,we){if(Ge(Be))return!1;var Te=typeof Be;return Te=="number"||Te=="symbol"||Te=="boolean"||Be==null||tt(Be)?!0:Ne.test(Be)||!Ue.test(Be)||we!=null&&Be in Object(we)}en.exports=Ke},88411:function(en,tn,Oe){var Ge=Oe(20816);function tt(Ue){return Ue===Ue&&!Ge(Ue)}en.exports=tt},83383:function(en){function tn(Oe){var Ge=-1,tt=Array(Oe.size);return Oe.forEach(function(Ue,Ne){tt[++Ge]=[Ne,Ue]}),tt}en.exports=tn},24122:function(en){function tn(Oe,Ge){return function(tt){return tt==null?!1:tt[Oe]===Ge&&(Ge!==void 0||Oe in Object(tt))}}en.exports=tn},26332:function(en,tn,Oe){var Ge=Oe(52858),tt=500;function Ue(Ne){var Ke=Ge(Ne,function(we){return Be.size===tt&&Be.clear(),we}),Be=Ke.cache;return Ke}en.exports=Ue},23730:function(en,tn,Oe){var Ge=Oe(31030),tt=Ge(Object.keys,Object);en.exports=tt},34776:function(en){var tn="__lodash_hash_undefined__";function Oe(Ge){return this.__data__.set(Ge,tn),this}en.exports=Oe},40393:function(en){function tn(Oe){return this.__data__.has(Oe)}en.exports=tn},79679:function(en){function tn(Oe){var Ge=-1,tt=Array(Oe.size);return Oe.forEach(function(Ue){tt[++Ge]=Ue}),tt}en.exports=tn},49237:function(en){function tn(Oe,Ge,tt){for(var Ue=tt-1,Ne=Oe.length;++Ue<Ne;)if(Oe[Ue]===Ge)return Ue;return-1}en.exports=tn},29405:function(en,tn,Oe){var Ge=Oe(26539),tt=Oe(55015),Ue=Oe(60844);function Ne(Ke){return tt(Ke)?Ue(Ke):Ge(Ke)}en.exports=Ne},40493:function(en,tn,Oe){var Ge=Oe(26332),tt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ue=/\\(\\)?/g,Ne=Ge(function(Ke){var Be=[];return Ke.charCodeAt(0)===46&&Be.push(""),Ke.replace(tt,function(we,Te,ke,Ie){Be.push(ke?Ie.replace(Ue,"$1"):Te||we)}),Be});en.exports=Ne},9171:function(en,tn,Oe){var Ge=Oe(45029),tt=1/0;function Ue(Ne){if(typeof Ne=="string"||Ge(Ne))return Ne;var Ke=Ne+"";return Ke=="0"&&1/Ne==-tt?"-0":Ke}en.exports=Ue},15333:function(en){var tn=/\s/;function Oe(Ge){for(var tt=Ge.length;tt--&&tn.test(Ge.charAt(tt)););return tt}en.exports=Oe},60844:function(en){var tn="\\ud800-\\udfff",Oe="\\u0300-\\u036f",Ge="\\ufe20-\\ufe2f",tt="\\u20d0-\\u20ff",Ue=Oe+Ge+tt,Ne="\\ufe0e\\ufe0f",Ke="["+tn+"]",Be="["+Ue+"]",we="\\ud83c[\\udffb-\\udfff]",Te="(?:"+Be+"|"+we+")",ke="[^"+tn+"]",Ie="(?:\\ud83c[\\udde6-\\uddff]){2}",Ce="[\\ud800-\\udbff][\\udc00-\\udfff]",Me="\\u200d",je=Te+"?",ye="["+Ne+"]?",ie="(?:"+Me+"(?:"+[ke,Ie,Ce].join("|")+")"+ye+je+")*",ae=ye+je+ie,fe="(?:"+[ke+Be+"?",Be,Ie,Ce,Ke].join("|")+")",de=RegExp(we+"(?="+we+")|"+fe+ae,"g");function ve(xe){for(var ce=de.lastIndex=0;de.test(xe);)++ce;return ce}en.exports=ve},76833:function(en,tn,Oe){var Ge=Oe(99045),tt=4;function Ue(Ne){return Ge(Ne,tt)}en.exports=Ue},20250:function(en,tn,Oe){var Ge=Oe(99045),tt=1,Ue=4;function Ne(Ke){return Ge(Ke,tt|Ue)}en.exports=Ne},28548:function(en,tn,Oe){var Ge=Oe(92918),tt=Oe(43607),Ue=Oe(8138),Ne=Oe(56730),Ke=Object.prototype,Be=Ke.hasOwnProperty,we=Ge(function(Te,ke){Te=Object(Te);var Ie=-1,Ce=ke.length,Me=Ce>2?ke[2]:void 0;for(Me&&Ue(ke[0],ke[1],Me)&&(Ce=1);++Ie<Ce;)for(var je=ke[Ie],ye=Ne(je),ie=-1,ae=ye.length;++ie<ae;){var fe=ye[ie],de=Te[fe];(de===void 0||tt(de,Ke[fe])&&!Be.call(Te,fe))&&(Te[fe]=je[fe])}return Te});en.exports=we},76934:function(en,tn,Oe){en.exports=Oe(99204)},64725:function(en,tn,Oe){var Ge=Oe(86952),tt=Oe(32872),Ue=Oe(95979),Ne=Oe(80744);function Ke(Be,we){var Te=Ne(Be)?Ge:tt;return Te(Be,Ue(we,3))}en.exports=Ke},79785:function(en,tn,Oe){var Ge=Oe(19554),tt=Oe(9991),Ue=Ge(tt);en.exports=Ue},9991:function(en,tn,Oe){var Ge=Oe(51533),tt=Oe(95979),Ue=Oe(12824),Ne=Math.max;function Ke(Be,we,Te){var ke=Be==null?0:Be.length;if(!ke)return-1;var Ie=Te==null?0:Ue(Te);return Ie<0&&(Ie=Ne(ke+Ie,0)),Ge(Be,tt(we,3),Ie)}en.exports=Ke},40151:function(en,tn,Oe){var Ge=Oe(9256);function tt(Ue){var Ne=Ue==null?0:Ue.length;return Ne?Ge(Ue,1):[]}en.exports=tt},99204:function(en,tn,Oe){var Ge=Oe(60661),tt=Oe(44107),Ue=Oe(11756),Ne=Oe(80744);function Ke(Be,we){var Te=Ne(Be)?Ge:tt;return Te(Be,Ue(we))}en.exports=Ke},23190:function(en,tn,Oe){var Ge=Oe(14018),tt=Oe(11756),Ue=Oe(56730);function Ne(Ke,Be){return Ke==null?Ke:Ge(Ke,tt(Be),Ue)}en.exports=Ne},44231:function(en,tn,Oe){var Ge=Oe(89147);function tt(Ue,Ne,Ke){var Be=Ue==null?void 0:Ge(Ue,Ne);return Be===void 0?Ke:Be}en.exports=tt},99946:function(en,tn,Oe){var Ge=Oe(3251),tt=Oe(63100);function Ue(Ne,Ke){return Ne!=null&&tt(Ne,Ke,Ge)}en.exports=Ue},37879:function(en,tn,Oe){var Ge=Oe(62348),tt=Oe(63100);function Ue(Ne,Ke){return Ne!=null&&tt(Ne,Ke,Ge)}en.exports=Ue},61627:function(en,tn,Oe){var Ge=Oe(6019),tt=Oe(66139),Ue=Oe(13053),Ne=Oe(80744),Ke=Oe(24665),Be=Oe(57835),we=Oe(7975),Te=Oe(18397),ke="[object Map]",Ie="[object Set]",Ce=Object.prototype,Me=Ce.hasOwnProperty;function je(ye){if(ye==null)return!0;if(Ke(ye)&&(Ne(ye)||typeof ye=="string"||typeof ye.splice=="function"||Be(ye)||Te(ye)||Ue(ye)))return!ye.length;var ie=tt(ye);if(ie==ke||ie==Ie)return!ye.size;if(we(ye))return!Ge(ye).length;for(var ae in ye)if(Me.call(ye,ae))return!1;return!0}en.exports=je},41626:function(en,tn,Oe){var Ge=Oe(55005),tt=Oe(38342),Ue=Oe(52495),Ne=Ue&&Ue.isMap,Ke=Ne?tt(Ne):Ge;en.exports=Ke},65226:function(en,tn,Oe){var Ge=Oe(38652),tt=Oe(38342),Ue=Oe(52495),Ne=Ue&&Ue.isSet,Ke=Ne?tt(Ne):Ge;en.exports=Ke},7941:function(en,tn,Oe){var Ge=Oe(86756),tt=Oe(80744),Ue=Oe(93913),Ne="[object String]";function Ke(Be){return typeof Be=="string"||!tt(Be)&&Ue(Be)&&Ge(Be)==Ne}en.exports=Ke},45029:function(en,tn,Oe){var Ge=Oe(86756),tt=Oe(93913),Ue="[object Symbol]";function Ne(Ke){return typeof Ke=="symbol"||tt(Ke)&&Ge(Ke)==Ue}en.exports=Ne},16513:function(en){function tn(Oe){return Oe===void 0}en.exports=tn},55451:function(en,tn,Oe){var Ge=Oe(63333),tt=Oe(6019),Ue=Oe(24665);function Ne(Ke){return Ue(Ke)?Ge(Ke):tt(Ke)}en.exports=Ne},10611:function(en){function tn(Oe){var Ge=Oe==null?0:Oe.length;return Ge?Oe[Ge-1]:void 0}en.exports=tn},9924:function(en,tn,Oe){var Ge=Oe(75010),tt=Oe(95979),Ue=Oe(65487),Ne=Oe(80744);function Ke(Be,we){var Te=Ne(Be)?Ge:Ue;return Te(Be,tt(we,3))}en.exports=Ke},70642:function(en,tn,Oe){var Ge=Oe(42813),tt=Oe(1585),Ue=Oe(95979);function Ne(Ke,Be){var we={};return Be=Ue(Be,3),tt(Ke,function(Te,ke,Ie){Ge(we,ke,Be(Te,ke,Ie))}),we}en.exports=Ne},95987:function(en,tn,Oe){var Ge=Oe(2659),tt=Oe(40302),Ue=Oe(46962);function Ne(Ke){return Ke&&Ke.length?Ge(Ke,Ue,tt):void 0}en.exports=Ne},52858:function(en,tn,Oe){var Ge=Oe(52166),tt="Expected a function";function Ue(Ne,Ke){if(typeof Ne!="function"||Ke!=null&&typeof Ke!="function")throw new TypeError(tt);var Be=function(){var we=arguments,Te=Ke?Ke.apply(this,we):we[0],ke=Be.cache;if(ke.has(Te))return ke.get(Te);var Ie=Ne.apply(this,we);return Be.cache=ke.set(Te,Ie)||ke,Ie};return Be.cache=new(Ue.Cache||Ge),Be}Ue.Cache=Ge,en.exports=Ue},73376:function(en,tn,Oe){var Ge=Oe(2659),tt=Oe(93757),Ue=Oe(46962);function Ne(Ke){return Ke&&Ke.length?Ge(Ke,Ue,tt):void 0}en.exports=Ne},83296:function(en,tn,Oe){var Ge=Oe(2659),tt=Oe(95979),Ue=Oe(93757);function Ne(Ke,Be){return Ke&&Ke.length?Ge(Ke,tt(Be,2),Ue):void 0}en.exports=Ne},9958:function(en){function tn(){}en.exports=tn},5795:function(en,tn,Oe){var Ge=Oe(33152),tt=function(){return Ge.Date.now()};en.exports=tt},89409:function(en,tn,Oe){var Ge=Oe(88832),tt=Oe(522),Ue=tt(function(Ne,Ke){return Ne==null?{}:Ge(Ne,Ke)});en.exports=Ue},35769:function(en,tn,Oe){var Ge=Oe(22310),tt=Oe(96916),Ue=Oe(86773),Ne=Oe(9171);function Ke(Be){return Ue(Be)?Ge(Ne(Be)):tt(Be)}en.exports=Ke},60859:function(en,tn,Oe){var Ge=Oe(76106),tt=Ge();en.exports=tt},16473:function(en,tn,Oe){var Ge=Oe(99861),tt=Oe(44107),Ue=Oe(95979),Ne=Oe(30739),Ke=Oe(80744);function Be(we,Te,ke){var Ie=Ke(we)?Ge:Ne,Ce=arguments.length<3;return Ie(we,Ue(Te,4),ke,Ce,tt)}en.exports=Be},40617:function(en,tn,Oe){var Ge=Oe(6019),tt=Oe(66139),Ue=Oe(24665),Ne=Oe(7941),Ke=Oe(29405),Be="[object Map]",we="[object Set]";function Te(ke){if(ke==null)return 0;if(Ue(ke))return Ne(ke)?Ke(ke):ke.length;var Ie=tt(ke);return Ie==Be||Ie==we?ke.size:Ge(ke).length}en.exports=Te},351:function(en,tn,Oe){var Ge=Oe(9256),tt=Oe(58506),Ue=Oe(92918),Ne=Oe(8138),Ke=Ue(function(Be,we){if(Be==null)return[];var Te=we.length;return Te>1&&Ne(Be,we[0],we[1])?we=[]:Te>2&&Ne(we[0],we[1],we[2])&&(we=[we[0]]),tt(Be,Ge(we,1),[])});en.exports=Ke},4134:function(en){function tn(){return[]}en.exports=tn},97341:function(en,tn,Oe){var Ge=Oe(59406),tt=1/0,Ue=17976931348623157e292;function Ne(Ke){if(!Ke)return Ke===0?Ke:0;if(Ke=Ge(Ke),Ke===tt||Ke===-tt){var Be=Ke<0?-1:1;return Be*Ue}return Ke===Ke?Ke:0}en.exports=Ne},12824:function(en,tn,Oe){var Ge=Oe(97341);function tt(Ue){var Ne=Ge(Ue),Ke=Ne%1;return Ne===Ne?Ke?Ne-Ke:Ne:0}en.exports=tt},59406:function(en,tn,Oe){var Ge=Oe(13927),tt=Oe(20816),Ue=Oe(45029),Ne=NaN,Ke=/^[-+]0x[0-9a-f]+$/i,Be=/^0b[01]+$/i,we=/^0o[0-7]+$/i,Te=parseInt;function ke(Ie){if(typeof Ie=="number")return Ie;if(Ue(Ie))return Ne;if(tt(Ie)){var Ce=typeof Ie.valueOf=="function"?Ie.valueOf():Ie;Ie=tt(Ce)?Ce+"":Ce}if(typeof Ie!="string")return Ie===0?Ie:+Ie;Ie=Ge(Ie);var Me=Be.test(Ie);return Me||we.test(Ie)?Te(Ie.slice(2),Me?2:8):Ke.test(Ie)?Ne:+Ie}en.exports=ke},44140:function(en,tn,Oe){var Ge=Oe(50230);function tt(Ue){return Ue==null?"":Ge(Ue)}en.exports=tt},91116:function(en,tn,Oe){var Ge=Oe(60661),tt=Oe(35024),Ue=Oe(1585),Ne=Oe(95979),Ke=Oe(49217),Be=Oe(80744),we=Oe(57835),Te=Oe(9363),ke=Oe(20816),Ie=Oe(18397);function Ce(Me,je,ye){var ie=Be(Me),ae=ie||we(Me)||Ie(Me);if(je=Ne(je,4),ye==null){var fe=Me&&Me.constructor;ae?ye=ie?new fe:[]:ke(Me)?ye=Te(fe)?tt(Ke(Me)):{}:ye={}}return(ae?Ge:Ue)(Me,function(de,ve,xe){return je(ye,de,ve,xe)}),ye}en.exports=Ce},44065:function(en,tn,Oe){var Ge=Oe(9256),tt=Oe(92918),Ue=Oe(29098),Ne=Oe(41590),Ke=tt(function(Be){return Ue(Ge(Be,1,Ne,!0))});en.exports=Ke},95708:function(en,tn,Oe){var Ge=Oe(44140),tt=0;function Ue(Ne){var Ke=++tt;return Ge(Ne)+Ke}en.exports=Ue},81229:function(en,tn,Oe){var Ge=Oe(20720),tt=Oe(55451);function Ue(Ne){return Ne==null?[]:Ge(Ne,tt(Ne))}en.exports=Ue},65441:function(en,tn,Oe){var Ge=Oe(60348),tt=Oe(94484);function Ue(Ne,Ke){return tt(Ne||[],Ke||[],Ge)}en.exports=Ue},34402:function(en,tn,Oe){"use strict";Oe.r(tn),Oe.d(tn,{default:function(){return Ne}});var Ge=Oe(34634);function tt(Ke){var Be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,Ge.isAnyArray)(Ke))throw new TypeError("input must be an array");if(Ke.length===0)throw new TypeError("input must not be empty");var we=Be.fromIndex,Te=we===void 0?0:we,ke=Be.toIndex,Ie=ke===void 0?Ke.length:ke;if(Te<0||Te>=Ke.length||!Number.isInteger(Te))throw new Error("fromIndex must be a positive integer smaller than length");if(Ie<=Te||Ie>Ke.length||!Number.isInteger(Ie))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var Ce=Ke[Te],Me=Te+1;Me<Ie;Me++)Ke[Me]>Ce&&(Ce=Ke[Me]);return Ce}function Ue(Ke){var Be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,Ge.isAnyArray)(Ke))throw new TypeError("input must be an array");if(Ke.length===0)throw new TypeError("input must not be empty");var we=Be.fromIndex,Te=we===void 0?0:we,ke=Be.toIndex,Ie=ke===void 0?Ke.length:ke;if(Te<0||Te>=Ke.length||!Number.isInteger(Te))throw new Error("fromIndex must be a positive integer smaller than length");if(Ie<=Te||Ie>Ke.length||!Number.isInteger(Ie))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var Ce=Ke[Te],Me=Te+1;Me<Ie;Me++)Ke[Me]<Ce&&(Ce=Ke[Me]);return Ce}function Ne(Ke){var Be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if((0,Ge.isAnyArray)(Ke)){if(Ke.length===0)throw new TypeError("input must not be empty")}else throw new TypeError("input must be an array");var we;if(Be.output!==void 0){if(!(0,Ge.isAnyArray)(Be.output))throw new TypeError("output option must be an array if specified");we=Be.output}else we=new Array(Ke.length);var Te=Ue(Ke),ke=tt(Ke);if(Te===ke)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var Ie=Be.min,Ce=Ie===void 0?Be.autoMinMax?Te:0:Ie,Me=Be.max,je=Me===void 0?Be.autoMinMax?ke:1:Me;if(Ce>=je)throw new RangeError("min option must be smaller than max option");for(var ye=(je-Ce)/(ke-Te),ie=0;ie<Ke.length;ie++)we[ie]=(Ke[ie]-Te)*ye+Ce;return we}},17115:function(en,tn,Oe){"use strict";Oe.d(tn,{ZP:function(){return we}});var Ge=Oe(29043),tt=Oe(59301),Ue=Oe(87746),Ne=0,Ke=(0,Ue.Z)();function Be(){var Te;return Ke?(Te=Ne,Ne+=1):Te="TEST_OR_SSR",Te}function we(Te){var ke=tt.useState(),Ie=(0,Ge.Z)(ke,2),Ce=Ie[0],Me=Ie[1];return tt.useEffect(function(){Me("rc_select_".concat(Be()))},[]),Te||Ce}},77861:function(en,tn,Oe){"use strict";Oe.d(tn,{Ac:function(){return Pt},Xo:function(){return Ai},Wx:function(){return Io},ZP:function(){return ft},lk:function(){return ce}});var Ge=Oe(5891),tt=Oe(26390),Ue=Oe(80962),Ne=Oe(57259),Ke=Oe(29043),Be=Oe(19149),we=Oe(80665),Te=Oe(35788),ke=Oe(51395),Ie=Oe(59301),Ce=Oe(92310),Me=Oe.n(Ce),je=Oe(28800),ye=Oe(93144),ie=Oe(85108),ae=Oe(20475),fe=function(Ct){var rn=Ct.className,nn=Ct.customizeIcon,Gn=Ct.customizeIconProps,Sn=Ct.onMouseDown,cn=Ct.onClick,Yn=Ct.children,ir;return typeof nn=="function"?ir=nn(Gn):ir=nn,Ie.createElement("span",{className:rn,onMouseDown:function(On){On.preventDefault(),Sn&&Sn(On)},style:{userSelect:"none",WebkitUserSelect:"none"},unselectable:"on",onClick:cn,"aria-hidden":!0},ir!==void 0?ir:Ie.createElement("span",{className:Me()(rn.split(/\s+/).map(function(fr){return"".concat(fr,"-icon")}))},Yn))},de=fe;function ve(Bt,Ct,rn,nn,Gn){var Sn=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1,cn=arguments.length>6?arguments[6]:void 0,Yn=arguments.length>7?arguments[7]:void 0,ir=Ie.useMemo(function(){if((0,we.Z)(nn)==="object")return nn.clearIcon;if(Gn)return Gn},[nn,Gn]),fr=Ie.useMemo(function(){return!!(!Sn&&nn&&(rn.length||cn)&&!(Yn==="combobox"&&cn===""))},[nn,Sn,rn.length,cn,Yn]);return{allowClear:fr,clearIcon:Ie.createElement(de,{className:"".concat(Bt,"-clear"),onMouseDown:Ct,customizeIcon:ir},"\xD7")}}var xe=Ie.createContext(null);function ce(){return Ie.useContext(xe)}function pe(){var Bt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:10,Ct=Ie.useState(!1),rn=(0,Ke.Z)(Ct,2),nn=rn[0],Gn=rn[1],Sn=Ie.useRef(null),cn=function(){window.clearTimeout(Sn.current)};Ie.useEffect(function(){return cn},[]);var Yn=function(fr,On){cn(),Sn.current=window.setTimeout(function(){Gn(fr),On&&On()},Bt)};return[nn,Yn,cn]}function Se(){var Bt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:250,Ct=Ie.useRef(null),rn=Ie.useRef(null);Ie.useEffect(function(){return function(){window.clearTimeout(rn.current)}},[]);function nn(Gn){(Gn||Ct.current===null)&&(Ct.current=Gn),window.clearTimeout(rn.current),rn.current=window.setTimeout(function(){Ct.current=null},Bt)}return[function(){return Ct.current},nn]}function Le(Bt,Ct,rn,nn){var Gn=Ie.useRef(null);Gn.current={open:Ct,triggerOpen:rn,customizedTrigger:nn},Ie.useEffect(function(){function Sn(cn){var Yn;if(!((Yn=Gn.current)!==null&&Yn!==void 0&&Yn.customizedTrigger)){var ir=cn.target;ir.shadowRoot&&cn.composed&&(ir=cn.composedPath()[0]||ir),Gn.current.open&&Bt().filter(function(fr){return fr}).every(function(fr){return!fr.contains(ir)&&fr!==ir})&&Gn.current.triggerOpen(!1)}}return window.addEventListener("mousedown",Sn),function(){return window.removeEventListener("mousedown",Sn)}},[])}var ze=Oe(36994),Ze=Oe(11780),Ve=function(Ct,rn){var nn,Gn,Sn=Ct.prefixCls,cn=Ct.id,Yn=Ct.inputElement,ir=Ct.disabled,fr=Ct.tabIndex,On=Ct.autoFocus,dn=Ct.autoComplete,Bn=Ct.editable,tr=Ct.activeDescendantId,hr=Ct.value,pr=Ct.maxLength,Mr=Ct.onKeyDown,gr=Ct.onMouseDown,Nr=Ct.onChange,Kr=Ct.onPaste,Hn=Ct.onCompositionStart,br=Ct.onCompositionEnd,ui=Ct.open,gi=Ct.attrs,Zi=Yn||Ie.createElement("input",null),nr=Zi,xi=nr.ref,Vi=nr.props,Gi=Vi.onKeyDown,Ao=Vi.onChange,io=Vi.onMouseDown,Do=Vi.onCompositionStart,Bo=Vi.onCompositionEnd,Ui=Vi.style;return(0,ke.Kp)(!("maxLength"in Zi.props),"Passing 'maxLength' to input element directly may not work because input in BaseSelect is controlled."),Zi=Ie.cloneElement(Zi,(0,Ne.Z)((0,Ne.Z)((0,Ne.Z)({type:"search"},Vi),{},{id:cn,ref:(0,ae.sQ)(rn,xi),disabled:ir,tabIndex:fr,autoComplete:dn||"off",autoFocus:On,className:Me()("".concat(Sn,"-selection-search-input"),(nn=Zi)===null||nn===void 0||(Gn=nn.props)===null||Gn===void 0?void 0:Gn.className),role:"combobox","aria-label":"Search","aria-expanded":ui||!1,"aria-haspopup":"listbox","aria-owns":"".concat(cn,"_list"),"aria-autocomplete":"list","aria-controls":"".concat(cn,"_list"),"aria-activedescendant":ui?tr:void 0},gi),{},{value:Bn?hr:"",maxLength:pr,readOnly:!Bn,unselectable:Bn?null:"on",style:(0,Ne.Z)((0,Ne.Z)({},Ui),{},{opacity:Bn?null:0}),onKeyDown:function(Hr){Mr(Hr),Gi&&Gi(Hr)},onMouseDown:function(Hr){gr(Hr),io&&io(Hr)},onChange:function(Hr){Nr(Hr),Ao&&Ao(Hr)},onCompositionStart:function(Hr){Hn(Hr),Do&&Do(Hr)},onCompositionEnd:function(Hr){br(Hr),Bo&&Bo(Hr)},onPaste:Kr})),Zi},Qe=Ie.forwardRef(Ve);Qe.displayName="Input";var $e=Qe;function gt(Bt){return Array.isArray(Bt)?Bt:Bt!==void 0?[Bt]:[]}var lt=typeof window!="undefined"&&window.document&&window.document.documentElement,At=lt;function Et(Bt){return Bt!=null}function vt(Bt){return!Bt&&Bt!==0}function Lt(Bt){return["string","number"].includes((0,we.Z)(Bt))}function St(Bt){var Ct=void 0;return Bt&&(Lt(Bt.title)?Ct=Bt.title.toString():Lt(Bt.label)&&(Ct=Bt.label.toString())),Ct}function xt(Bt,Ct){At?Ie.useLayoutEffect(Bt,Ct):Ie.useEffect(Bt,Ct)}function ct(Bt){var Ct;return(Ct=Bt.key)!==null&&Ct!==void 0?Ct:Bt.value}var Dt=function(Ct){Ct.preventDefault(),Ct.stopPropagation()},Xt=function(Ct){var rn=Ct.id,nn=Ct.prefixCls,Gn=Ct.values,Sn=Ct.open,cn=Ct.searchValue,Yn=Ct.autoClearSearchValue,ir=Ct.inputRef,fr=Ct.placeholder,On=Ct.disabled,dn=Ct.mode,Bn=Ct.showSearch,tr=Ct.autoFocus,hr=Ct.autoComplete,pr=Ct.activeDescendantId,Mr=Ct.tabIndex,gr=Ct.removeIcon,Nr=Ct.maxTagCount,Kr=Ct.maxTagTextLength,Hn=Ct.maxTagPlaceholder,br=Hn===void 0?function(ja){return"+ ".concat(ja.length," ...")}:Hn,ui=Ct.tagRender,gi=Ct.onToggleOpen,Zi=Ct.onRemove,nr=Ct.onInputChange,xi=Ct.onInputPaste,Vi=Ct.onInputKeyDown,Gi=Ct.onInputMouseDown,Ao=Ct.onInputCompositionStart,io=Ct.onInputCompositionEnd,Do=Ie.useRef(null),Bo=(0,Ie.useState)(0),Ui=(0,Ke.Z)(Bo,2),Xo=Ui[0],Hr=Ui[1],wa=(0,Ie.useState)(!1),Zr=(0,Ke.Z)(wa,2),Ca=Zr[0],ss=Zr[1],oa="".concat(nn,"-selection"),Os=Sn||dn==="multiple"&&Yn===!1||dn==="tags"?cn:"",rs=dn==="tags"||dn==="multiple"&&Yn===!1||Bn&&(Sn||Ca);xt(function(){Hr(Do.current.scrollWidth)},[Os]);function po(ja,is,_a,Us,ma){return Ie.createElement("span",{className:Me()("".concat(oa,"-item"),(0,Ue.Z)({},"".concat(oa,"-item-disabled"),_a)),title:St(ja)},Ie.createElement("span",{className:"".concat(oa,"-item-content")},is),Us&&Ie.createElement(de,{className:"".concat(oa,"-item-remove"),onMouseDown:Dt,onClick:ma,customizeIcon:gr},"\xD7"))}function zo(ja,is,_a,Us,ma){var aa=function(Fs){Dt(Fs),gi(!Sn)};return Ie.createElement("span",{onMouseDown:aa},ui({label:is,value:ja,disabled:_a,closable:Us,onClose:ma}))}function za(ja){var is=ja.disabled,_a=ja.label,Us=ja.value,ma=!On&&!is,aa=_a;if(typeof Kr=="number"&&(typeof _a=="string"||typeof _a=="number")){var ys=String(aa);ys.length>Kr&&(aa="".concat(ys.slice(0,Kr),"..."))}var Fs=function(ml){ml&&ml.stopPropagation(),Zi(ja)};return typeof ui=="function"?zo(Us,aa,is,ma,Fs):po(ja,aa,is,ma,Fs)}function Ka(ja){var is=typeof br=="function"?br(ja):br;return po({title:is},is,!1)}var Ji=Ie.createElement("div",{className:"".concat(oa,"-search"),style:{width:Xo},onFocus:function(){ss(!0)},onBlur:function(){ss(!1)}},Ie.createElement($e,{ref:ir,open:Sn,prefixCls:nn,id:rn,inputElement:null,disabled:On,autoFocus:tr,autoComplete:hr,editable:rs,activeDescendantId:pr,value:Os,onKeyDown:Vi,onMouseDown:Gi,onChange:nr,onPaste:xi,onCompositionStart:Ao,onCompositionEnd:io,tabIndex:Mr,attrs:(0,ze.Z)(Ct,!0)}),Ie.createElement("span",{ref:Do,className:"".concat(oa,"-search-mirror"),"aria-hidden":!0},Os,"\xA0")),yn=Ie.createElement(Ze.Z,{prefixCls:"".concat(oa,"-overflow"),data:Gn,renderItem:za,renderRest:Ka,suffix:Ji,itemKey:ct,maxCount:Nr});return Ie.createElement(Ie.Fragment,null,yn,!Gn.length&&!Os&&Ie.createElement("span",{className:"".concat(oa,"-placeholder")},fr))},kt=Xt,Rt=function(Ct){var rn=Ct.inputElement,nn=Ct.prefixCls,Gn=Ct.id,Sn=Ct.inputRef,cn=Ct.disabled,Yn=Ct.autoFocus,ir=Ct.autoComplete,fr=Ct.activeDescendantId,On=Ct.mode,dn=Ct.open,Bn=Ct.values,tr=Ct.placeholder,hr=Ct.tabIndex,pr=Ct.showSearch,Mr=Ct.searchValue,gr=Ct.activeValue,Nr=Ct.maxLength,Kr=Ct.onInputKeyDown,Hn=Ct.onInputMouseDown,br=Ct.onInputChange,ui=Ct.onInputPaste,gi=Ct.onInputCompositionStart,Zi=Ct.onInputCompositionEnd,nr=Ct.title,xi=Ie.useState(!1),Vi=(0,Ke.Z)(xi,2),Gi=Vi[0],Ao=Vi[1],io=On==="combobox",Do=io||pr,Bo=Bn[0],Ui=Mr||"";io&&gr&&!Gi&&(Ui=gr),Ie.useEffect(function(){io&&Ao(!1)},[io,gr]);var Xo=On!=="combobox"&&!dn&&!pr?!1:!!Ui,Hr=nr===void 0?St(Bo):nr,wa=function(){if(Bo)return null;var Ca=Xo?{visibility:"hidden"}:void 0;return Ie.createElement("span",{className:"".concat(nn,"-selection-placeholder"),style:Ca},tr)};return Ie.createElement(Ie.Fragment,null,Ie.createElement("span",{className:"".concat(nn,"-selection-search")},Ie.createElement($e,{ref:Sn,prefixCls:nn,id:Gn,open:dn,inputElement:rn,disabled:cn,autoFocus:Yn,autoComplete:ir,editable:Do,activeDescendantId:fr,value:Ui,onKeyDown:Kr,onMouseDown:Hn,onChange:function(Ca){Ao(!0),br(Ca)},onPaste:ui,onCompositionStart:gi,onCompositionEnd:Zi,tabIndex:hr,attrs:(0,ze.Z)(Ct,!0),maxLength:io?Nr:void 0})),!io&&Bo?Ie.createElement("span",{className:"".concat(nn,"-selection-item"),title:Hr,style:Xo?{visibility:"hidden"}:void 0},Bo.label):null,wa())},Gt=Rt;function ln(Bt){return![ie.Z.ESC,ie.Z.SHIFT,ie.Z.BACKSPACE,ie.Z.TAB,ie.Z.WIN_KEY,ie.Z.ALT,ie.Z.META,ie.Z.WIN_KEY_RIGHT,ie.Z.CTRL,ie.Z.SEMICOLON,ie.Z.EQUALS,ie.Z.CAPS_LOCK,ie.Z.CONTEXT_MENU,ie.Z.F1,ie.Z.F2,ie.Z.F3,ie.Z.F4,ie.Z.F5,ie.Z.F6,ie.Z.F7,ie.Z.F8,ie.Z.F9,ie.Z.F10,ie.Z.F11,ie.Z.F12].includes(Bt)}var Rn=function(Ct,rn){var nn=(0,Ie.useRef)(null),Gn=(0,Ie.useRef)(!1),Sn=Ct.prefixCls,cn=Ct.open,Yn=Ct.mode,ir=Ct.showSearch,fr=Ct.tokenWithEnter,On=Ct.autoClearSearchValue,dn=Ct.onSearch,Bn=Ct.onSearchSubmit,tr=Ct.onToggleOpen,hr=Ct.onInputKeyDown,pr=Ct.domRef;Ie.useImperativeHandle(rn,function(){return{focus:function(){nn.current.focus()},blur:function(){nn.current.blur()}}});var Mr=Se(0),gr=(0,Ke.Z)(Mr,2),Nr=gr[0],Kr=gr[1],Hn=function(Ui){var Xo=Ui.which;(Xo===ie.Z.UP||Xo===ie.Z.DOWN)&&Ui.preventDefault(),hr&&hr(Ui),Xo===ie.Z.ENTER&&Yn==="tags"&&!Gn.current&&!cn&&(Bn==null||Bn(Ui.target.value)),ln(Xo)&&tr(!0)},br=function(){Kr(!0)},ui=(0,Ie.useRef)(null),gi=function(Ui){dn(Ui,!0,Gn.current)!==!1&&tr(!0)},Zi=function(){Gn.current=!0},nr=function(Ui){Gn.current=!1,Yn!=="combobox"&&gi(Ui.target.value)},xi=function(Ui){var Xo=Ui.target.value;if(fr&&ui.current&&/[\r\n]/.test(ui.current)){var Hr=ui.current.replace(/[\r\n]+$/,"").replace(/\r\n/g," ").replace(/[\r\n]/g," ");Xo=Xo.replace(Hr,ui.current)}ui.current=null,gi(Xo)},Vi=function(Ui){var Xo=Ui.clipboardData,Hr=Xo.getData("text");ui.current=Hr},Gi=function(Ui){var Xo=Ui.target;if(Xo!==nn.current){var Hr=document.body.style.msTouchAction!==void 0;Hr?setTimeout(function(){nn.current.focus()}):nn.current.focus()}},Ao=function(Ui){var Xo=Nr();Ui.target!==nn.current&&!Xo&&Yn!=="combobox"&&Ui.preventDefault(),(Yn!=="combobox"&&(!ir||!Xo)||!cn)&&(cn&&On!==!1&&dn("",!0,!1),tr())},io={inputRef:nn,onInputKeyDown:Hn,onInputMouseDown:br,onInputChange:xi,onInputPaste:Vi,onInputCompositionStart:Zi,onInputCompositionEnd:nr},Do=Yn==="multiple"||Yn==="tags"?Ie.createElement(kt,(0,Ge.Z)({},Ct,io)):Ie.createElement(Gt,(0,Ge.Z)({},Ct,io));return Ie.createElement("div",{ref:pr,className:"".concat(Sn,"-selector"),onClick:Gi,onMouseDown:Ao},Do)},jn=Ie.forwardRef(Rn);jn.displayName="Selector";var er=jn,an=Oe(35593),Un=["prefixCls","disabled","visible","children","popupElement","animation","transitionName","dropdownStyle","dropdownClassName","direction","placement","builtinPlacements","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","getPopupContainer","empty","getTriggerDOMNode","onPopupVisibleChange","onPopupMouseEnter"],Kn=function(Ct){var rn=Ct===!0?0:1;return{bottomLeft:{points:["tl","bl"],offset:[0,4],overflow:{adjustX:rn,adjustY:1},htmlRegion:"scroll"},bottomRight:{points:["tr","br"],offset:[0,4],overflow:{adjustX:rn,adjustY:1},htmlRegion:"scroll"},topLeft:{points:["bl","tl"],offset:[0,-4],overflow:{adjustX:rn,adjustY:1},htmlRegion:"scroll"},topRight:{points:["br","tr"],offset:[0,-4],overflow:{adjustX:rn,adjustY:1},htmlRegion:"scroll"}}},ur=function(Ct,rn){var nn=Ct.prefixCls,Gn=Ct.disabled,Sn=Ct.visible,cn=Ct.children,Yn=Ct.popupElement,ir=Ct.animation,fr=Ct.transitionName,On=Ct.dropdownStyle,dn=Ct.dropdownClassName,Bn=Ct.direction,tr=Bn===void 0?"ltr":Bn,hr=Ct.placement,pr=Ct.builtinPlacements,Mr=Ct.dropdownMatchSelectWidth,gr=Ct.dropdownRender,Nr=Ct.dropdownAlign,Kr=Ct.getPopupContainer,Hn=Ct.empty,br=Ct.getTriggerDOMNode,ui=Ct.onPopupVisibleChange,gi=Ct.onPopupMouseEnter,Zi=(0,Be.Z)(Ct,Un),nr="".concat(nn,"-dropdown"),xi=Yn;gr&&(xi=gr(Yn));var Vi=Ie.useMemo(function(){return pr||Kn(Mr)},[pr,Mr]),Gi=ir?"".concat(nr,"-").concat(ir):fr,Ao=typeof Mr=="number",io=Ie.useMemo(function(){return Ao?null:Mr===!1?"minWidth":"width"},[Mr,Ao]),Do=On;Ao&&(Do=(0,Ne.Z)((0,Ne.Z)({},Do),{},{width:Mr}));var Bo=Ie.useRef(null);return Ie.useImperativeHandle(rn,function(){return{getPopupElement:function(){return Bo.current}}}),Ie.createElement(an.Z,(0,Ge.Z)({},Zi,{showAction:ui?["click"]:[],hideAction:ui?["click"]:[],popupPlacement:hr||(tr==="rtl"?"bottomRight":"bottomLeft"),builtinPlacements:Vi,prefixCls:nr,popupTransitionName:Gi,popup:Ie.createElement("div",{ref:Bo,onMouseEnter:gi},xi),stretch:io,popupAlign:Nr,popupVisible:Sn,getPopupContainer:Kr,popupClassName:Me()(dn,(0,Ue.Z)({},"".concat(nr,"-empty"),Hn)),popupStyle:Do,getTriggerDOMNode:br,onPopupVisibleChange:ui}),cn)},Xn=Ie.forwardRef(ur);Xn.displayName="SelectTrigger";var Nn=Xn,_n=Oe(17953);function un(Bt,Ct){var rn=Bt.key,nn;return"value"in Bt&&(nn=Bt.value),rn!=null?rn:nn!==void 0?nn:"rc-index-key-".concat(Ct)}function qt(Bt,Ct){var rn=Bt||{},nn=rn.label,Gn=rn.value,Sn=rn.options,cn=rn.groupLabel,Yn=nn||(Ct?"children":"label");return{label:Yn,value:Gn||"value",options:Sn||"options",groupLabel:cn||Yn}}function Yt(Bt){var Ct=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},rn=Ct.fieldNames,nn=Ct.childrenAsData,Gn=[],Sn=qt(rn,!1),cn=Sn.label,Yn=Sn.value,ir=Sn.options,fr=Sn.groupLabel;function On(dn,Bn){dn.forEach(function(tr){if(Bn||!(ir in tr)){var hr=tr[Yn];Gn.push({key:un(tr,Gn.length),groupOption:Bn,data:tr,label:tr[cn],value:hr})}else{var pr=tr[fr];pr===void 0&&nn&&(pr=tr.label),Gn.push({key:un(tr,Gn.length),group:!0,data:tr,label:pr}),On(tr[ir],!0)}})}return On(Bt,!1),Gn}function gn(Bt){var Ct=(0,Ne.Z)({},Bt);return"props"in Ct||Object.defineProperty(Ct,"props",{get:function(){return(0,ke.ZP)(!1,"Return type is option instead of Option instance. Please read value directly instead of reading from `props`."),Ct}}),Ct}function _t(Bt,Ct){if(!Ct||!Ct.length)return null;var rn=!1;function nn(Sn,cn){var Yn=(0,_n.Z)(cn),ir=Yn[0],fr=Yn.slice(1);if(!ir)return[Sn];var On=Sn.split(ir);return rn=rn||On.length>1,On.reduce(function(dn,Bn){return[].concat((0,tt.Z)(dn),(0,tt.Z)(nn(Bn,fr)))},[]).filter(function(dn){return dn})}var Gn=nn(Bt,Ct);return rn?Gn:null}var Jt=["id","prefixCls","className","showSearch","tagRender","direction","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","notFoundContent","onClear","mode","disabled","loading","getInputElement","getRawInputElement","open","defaultOpen","onDropdownVisibleChange","activeValue","onActiveValueChange","activeDescendantId","searchValue","autoClearSearchValue","onSearch","onSearchSplit","tokenSeparators","allowClear","suffixIcon","clearIcon","OptionList","animation","transitionName","dropdownStyle","dropdownClassName","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","placement","builtinPlacements","getPopupContainer","showAction","onFocus","onBlur","onKeyUp","onKeyDown","onMouseDown"],wt=["value","onChange","removeIcon","placeholder","autoFocus","maxTagCount","maxTagTextLength","maxTagPlaceholder","choiceTransitionName","onInputKeyDown","onPopupScroll","tabIndex"];function ut(Bt){return Bt==="tags"||Bt==="multiple"}var ot=Ie.forwardRef(function(Bt,Ct){var rn,nn,Gn=Bt.id,Sn=Bt.prefixCls,cn=Bt.className,Yn=Bt.showSearch,ir=Bt.tagRender,fr=Bt.direction,On=Bt.omitDomProps,dn=Bt.displayValues,Bn=Bt.onDisplayValuesChange,tr=Bt.emptyOptions,hr=Bt.notFoundContent,pr=hr===void 0?"Not Found":hr,Mr=Bt.onClear,gr=Bt.mode,Nr=Bt.disabled,Kr=Bt.loading,Hn=Bt.getInputElement,br=Bt.getRawInputElement,ui=Bt.open,gi=Bt.defaultOpen,Zi=Bt.onDropdownVisibleChange,nr=Bt.activeValue,xi=Bt.onActiveValueChange,Vi=Bt.activeDescendantId,Gi=Bt.searchValue,Ao=Bt.autoClearSearchValue,io=Bt.onSearch,Do=Bt.onSearchSplit,Bo=Bt.tokenSeparators,Ui=Bt.allowClear,Xo=Bt.suffixIcon,Hr=Bt.clearIcon,wa=Bt.OptionList,Zr=Bt.animation,Ca=Bt.transitionName,ss=Bt.dropdownStyle,oa=Bt.dropdownClassName,Os=Bt.dropdownMatchSelectWidth,rs=Bt.dropdownRender,po=Bt.dropdownAlign,zo=Bt.placement,za=Bt.builtinPlacements,Ka=Bt.getPopupContainer,Ji=Bt.showAction,yn=Ji===void 0?[]:Ji,ja=Bt.onFocus,is=Bt.onBlur,_a=Bt.onKeyUp,Us=Bt.onKeyDown,ma=Bt.onMouseDown,aa=(0,Be.Z)(Bt,Jt),ys=ut(gr),Fs=(Yn!==void 0?Yn:ys)||gr==="combobox",es=(0,Ne.Z)({},aa);wt.forEach(function(Zs){delete es[Zs]}),On==null||On.forEach(function(Zs){delete es[Zs]});var ml=Ie.useState(!1),ta=(0,Ke.Z)(ml,2),Qo=ta[0],Ba=ta[1];Ie.useEffect(function(){Ba((0,ye.Z)())},[]);var Ii=Ie.useRef(null),Gs=Ie.useRef(null),sl=Ie.useRef(null),ql=Ie.useRef(null),Ki=Ie.useRef(null),xs=pe(),zs=(0,Ke.Z)(xs,3),yl=zs[0],tl=zs[1],Ms=zs[2];Ie.useImperativeHandle(Ct,function(){var Zs,Ll;return{focus:(Zs=ql.current)===null||Zs===void 0?void 0:Zs.focus,blur:(Ll=ql.current)===null||Ll===void 0?void 0:Ll.blur,scrollTo:function(Tu){var ku;return(ku=Ki.current)===null||ku===void 0?void 0:ku.scrollTo(Tu)}}});var Au=Ie.useMemo(function(){var Zs;if(gr!=="combobox")return Gi;var Ll=(Zs=dn[0])===null||Zs===void 0?void 0:Zs.value;return typeof Ll=="string"||typeof Ll=="number"?String(Ll):""},[Gi,gr,dn]),Ur=gr==="combobox"&&typeof Hn=="function"&&Hn()||null,Su=typeof br=="function"&&br(),gh=(0,ae.x1)(Gs,Su==null||(rn=Su.props)===null||rn===void 0?void 0:rn.ref),Wc=Ie.useState(!1),Ns=(0,Ke.Z)(Wc,2),Sl=Ns[0],lu=Ns[1];(0,je.Z)(function(){lu(!0)},[]);var gl=(0,Te.Z)(!1,{defaultValue:gi,value:ui}),Hs=(0,Ke.Z)(gl,2),Al=Hs[0],Wu=Hs[1],ls=Sl?Al:!1,ns=!pr&&tr;(Nr||ns&&ls&&gr==="combobox")&&(ls=!1);var Vs=ns?!1:ls,jo=Ie.useCallback(function(Zs){var Ll=Zs!==void 0?Zs:!ls;Nr||(Wu(Ll),ls!==Ll&&(Zi==null||Zi(Ll)))},[Nr,ls,Wu,Zi]),Ru=Ie.useMemo(function(){return(Bo||[]).some(function(Zs){return[`
`,`\r
`].includes(Zs)})},[Bo]),Uu=function(Ll,Rc,Tu){var ku=!0,cu=Ll;xi==null||xi(null);var wu=Tu?null:_t(Ll,Bo);return gr!=="combobox"&&wu&&(cu="",Do==null||Do(wu),jo(!1),ku=!1),io&&Au!==cu&&io(cu,{source:Rc?"typing":"effect"}),ku},Oc=function(Ll){!Ll||!Ll.trim()||io(Ll,{source:"submit"})};Ie.useEffect(function(){!ls&&!ys&&gr!=="combobox"&&Uu("",!1,!1)},[ls]),Ie.useEffect(function(){Al&&Nr&&Wu(!1),Nr&&tl(!1)},[Nr]);var ph=Se(),Kh=(0,Ke.Z)(ph,2),So=Kh[0],uu=Kh[1],Ya=function(Ll){var Rc=So(),Tu=Ll.which;if(Tu===ie.Z.ENTER&&(gr!=="combobox"&&Ll.preventDefault(),ls||jo(!0)),uu(!!Au),Tu===ie.Z.BACKSPACE&&!Rc&&ys&&!Au&&dn.length){for(var ku=(0,tt.Z)(dn),cu=null,wu=ku.length-1;wu>=0;wu-=1){var Du=ku[wu];if(!Du.disabled){ku.splice(wu,1),cu=Du;break}}cu&&Bn(ku,{type:"remove",values:[cu]})}for(var Fu=arguments.length,tf=new Array(Fu>1?Fu-1:0),Qu=1;Qu<Fu;Qu++)tf[Qu-1]=arguments[Qu];if(ls&&Ki.current){var Iu;(Iu=Ki.current).onKeyDown.apply(Iu,[Ll].concat(tf))}Us==null||Us.apply(void 0,[Ll].concat(tf))},Rh=function(Ll){for(var Rc=arguments.length,Tu=new Array(Rc>1?Rc-1:0),ku=1;ku<Rc;ku++)Tu[ku-1]=arguments[ku];if(ls&&Ki.current){var cu;(cu=Ki.current).onKeyUp.apply(cu,[Ll].concat(Tu))}_a==null||_a.apply(void 0,[Ll].concat(Tu))},Zh=function(Ll){var Rc=dn.filter(function(Tu){return Tu!==Ll});Bn(Rc,{type:"remove",values:[Ll]})},Ac=Ie.useRef(!1),us=function(){tl(!0),Nr||(ja&&!Ac.current&&ja.apply(void 0,arguments),yn.includes("focus")&&jo(!0)),Ac.current=!0},th=function(){tl(!1,function(){Ac.current=!1,jo(!1)}),!Nr&&(Au&&(gr==="tags"?io(Au,{source:"submit"}):gr==="multiple"&&io("",{source:"blur"})),is&&is.apply(void 0,arguments))},nh=[];Ie.useEffect(function(){return function(){nh.forEach(function(Zs){return clearTimeout(Zs)}),nh.splice(0,nh.length)}},[]);var rh=function(Ll){var Rc,Tu=Ll.target,ku=(Rc=sl.current)===null||Rc===void 0?void 0:Rc.getPopupElement();if(ku&&ku.contains(Tu)){var cu=setTimeout(function(){var tf=nh.indexOf(cu);if(tf!==-1&&nh.splice(tf,1),Ms(),!Qo&&!ku.contains(document.activeElement)){var Qu;(Qu=ql.current)===null||Qu===void 0||Qu.focus()}});nh.push(cu)}for(var wu=arguments.length,Du=new Array(wu>1?wu-1:0),Fu=1;Fu<wu;Fu++)Du[Fu-1]=arguments[Fu];ma==null||ma.apply(void 0,[Ll].concat(Du))},Pc=Ie.useState({}),od=(0,Ke.Z)(Pc,2),Uc=od[1];function Gc(){Uc({})}var Hc;Su&&(Hc=function(Ll){jo(Ll)}),Le(function(){var Zs;return[Ii.current,(Zs=sl.current)===null||Zs===void 0?void 0:Zs.getPopupElement()]},Vs,jo,!!Su);var yf=Ie.useMemo(function(){return(0,Ne.Z)((0,Ne.Z)({},Bt),{},{notFoundContent:pr,open:ls,triggerOpen:Vs,id:Gn,showSearch:Fs,multiple:ys,toggleOpen:jo})},[Bt,pr,Vs,ls,Gn,Fs,ys,jo]),ef=!!Xo||Kr,uc;ef&&(uc=Ie.createElement(de,{className:Me()("".concat(Sn,"-arrow"),(0,Ue.Z)({},"".concat(Sn,"-arrow-loading"),Kr)),customizeIcon:Xo,customizeIconProps:{loading:Kr,searchValue:Au,open:ls,focused:yl,showSearch:Fs}}));var Gg=function(){var Ll;Mr==null||Mr(),(Ll=ql.current)===null||Ll===void 0||Ll.focus(),Bn([],{type:"clear",values:dn}),Uu("",!1,!1)},xf=ve(Sn,Gg,dn,Ui,Hr,Nr,Au,gr),Yh=xf.allowClear,ih=xf.clearIcon,vh=Ie.createElement(wa,{ref:Ki}),Nc=Me()(Sn,cn,(nn={},(0,Ue.Z)(nn,"".concat(Sn,"-focused"),yl),(0,Ue.Z)(nn,"".concat(Sn,"-multiple"),ys),(0,Ue.Z)(nn,"".concat(Sn,"-single"),!ys),(0,Ue.Z)(nn,"".concat(Sn,"-allow-clear"),Ui),(0,Ue.Z)(nn,"".concat(Sn,"-show-arrow"),ef),(0,Ue.Z)(nn,"".concat(Sn,"-disabled"),Nr),(0,Ue.Z)(nn,"".concat(Sn,"-loading"),Kr),(0,Ue.Z)(nn,"".concat(Sn,"-open"),ls),(0,Ue.Z)(nn,"".concat(Sn,"-customize-input"),Ur),(0,Ue.Z)(nn,"".concat(Sn,"-show-search"),Fs),nn)),Mc=Ie.createElement(Nn,{ref:sl,disabled:Nr,prefixCls:Sn,visible:Vs,popupElement:vh,animation:Zr,transitionName:Ca,dropdownStyle:ss,dropdownClassName:oa,direction:fr,dropdownMatchSelectWidth:Os,dropdownRender:rs,dropdownAlign:po,placement:zo,builtinPlacements:za,getPopupContainer:Ka,empty:tr,getTriggerDOMNode:function(){return Gs.current},onPopupVisibleChange:Hc,onPopupMouseEnter:Gc},Su?Ie.cloneElement(Su,{ref:gh}):Ie.createElement(er,(0,Ge.Z)({},Bt,{domRef:Gs,prefixCls:Sn,inputElement:Ur,ref:ql,id:Gn,showSearch:Fs,autoClearSearchValue:Ao,mode:gr,activeDescendantId:Vi,tagRender:ir,values:dn,open:ls,onToggleOpen:jo,activeValue:nr,searchValue:Au,onSearch:Uu,onSearchSubmit:Oc,onRemove:Zh,tokenWithEnter:Ru}))),Bc;return Su?Bc=Mc:Bc=Ie.createElement("div",(0,Ge.Z)({className:Nc},es,{ref:Ii,onMouseDown:rh,onKeyDown:Ya,onKeyUp:Rh,onFocus:us,onBlur:th}),yl&&!ls&&Ie.createElement("span",{style:{width:0,height:0,position:"absolute",overflow:"hidden",opacity:0},"aria-live":"polite"},"".concat(dn.map(function(Zs){var Ll=Zs.label,Rc=Zs.value;return["number","string"].includes((0,we.Z)(Ll))?Ll:Rc}).join(", "))),Mc,uc,Yh&&ih),Ie.createElement(xe.Provider,{value:yf},Bc)}),Pt=ot,Ht=function(Bt,Ct){var rn=Ie.useRef({values:new Map,options:new Map}),nn=Ie.useMemo(function(){var Sn=rn.current,cn=Sn.values,Yn=Sn.options,ir=Bt.map(function(dn){if(dn.label===void 0){var Bn;return(0,Ne.Z)((0,Ne.Z)({},dn),{},{label:(Bn=cn.get(dn.value))===null||Bn===void 0?void 0:Bn.label})}return dn}),fr=new Map,On=new Map;return ir.forEach(function(dn){fr.set(dn.value,dn),On.set(dn.value,Ct.get(dn.value)||Yn.get(dn.value))}),rn.current.values=fr,rn.current.options=On,ir},[Bt,Ct]),Gn=Ie.useCallback(function(Sn){return Ct.get(Sn)||rn.current.options.get(Sn)},[Ct]);return[nn,Gn]};function Mt(Bt,Ct){return gt(Bt).join("").toUpperCase().includes(Ct)}var hn=function(Bt,Ct,rn,nn,Gn){return Ie.useMemo(function(){if(!rn||nn===!1)return Bt;var Sn=Ct.options,cn=Ct.label,Yn=Ct.value,ir=[],fr=typeof nn=="function",On=rn.toUpperCase(),dn=fr?nn:function(tr,hr){return Gn?Mt(hr[Gn],On):hr[Sn]?Mt(hr[cn!=="children"?cn:"label"],On):Mt(hr[Yn],On)},Bn=fr?function(tr){return gn(tr)}:function(tr){return tr};return Bt.forEach(function(tr){if(tr[Sn]){var hr=dn(rn,Bn(tr));if(hr)ir.push(tr);else{var pr=tr[Sn].filter(function(Mr){return dn(rn,Bn(Mr))});pr.length&&ir.push((0,Ne.Z)((0,Ne.Z)({},tr),{},(0,Ue.Z)({},Sn,pr)))}return}dn(rn,Bn(tr))&&ir.push(tr)}),ir},[Bt,nn,Gn,rn,Ct])},rr=Oe(17115),Jn=Oe(38298),An=["children","value"],$n=["children"];function xr(Bt){var Ct=Bt,rn=Ct.key,nn=Ct.props,Gn=nn.children,Sn=nn.value,cn=(0,Be.Z)(nn,An);return(0,Ne.Z)({key:rn,value:Sn!==void 0?Sn:rn,children:Gn},cn)}function mr(Bt){var Ct=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return(0,Jn.Z)(Bt).map(function(rn,nn){if(!Ie.isValidElement(rn)||!rn.type)return null;var Gn=rn,Sn=Gn.type.isSelectOptGroup,cn=Gn.key,Yn=Gn.props,ir=Yn.children,fr=(0,Be.Z)(Yn,$n);return Ct||!Sn?xr(rn):(0,Ne.Z)((0,Ne.Z)({key:"__RC_SELECT_GRP__".concat(cn===null?nn:cn,"__"),label:cn},fr),{},{options:mr(ir)})}).filter(function(rn){return rn})}function Qr(Bt,Ct,rn,nn,Gn){return Ie.useMemo(function(){var Sn=Bt,cn=!Bt;cn&&(Sn=mr(Ct));var Yn=new Map,ir=new Map,fr=function(Bn,tr,hr){hr&&typeof hr=="string"&&Bn.set(tr[hr],tr)};function On(dn){for(var Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,tr=0;tr<dn.length;tr+=1){var hr=dn[tr];!hr[rn.options]||Bn?(Yn.set(hr[rn.value],hr),fr(ir,hr,rn.label),fr(ir,hr,nn),fr(ir,hr,Gn)):On(hr[rn.options],!0)}}return On(Sn),{options:Sn,valueOptions:Yn,labelOptions:ir}},[Bt,Ct,rn,nn,Gn])}function di(Bt){var Ct=Ie.useRef();Ct.current=Bt;var rn=Ie.useCallback(function(){return Ct.current.apply(Ct,arguments)},[]);return rn}var li=function(){return null};li.isSelectOptGroup=!0;var Ai=li,fo=function(){return null};fo.isSelectOption=!0;var Io=fo,bo=Oe(79722),ai=Oe(64002),Pi=Oe(70318),ao=Ie.createContext(null),Jr=ao;function oo(){return/(mac\sos|macintosh)/i.test(navigator.appVersion)}var zi=["disabled","title","children","style","className"];function It(Bt){return typeof Bt=="string"||typeof Bt=="number"}var Yo=function(Ct,rn){var nn=ce(),Gn=nn.prefixCls,Sn=nn.id,cn=nn.open,Yn=nn.multiple,ir=nn.mode,fr=nn.searchValue,On=nn.toggleOpen,dn=nn.notFoundContent,Bn=nn.onPopupScroll,tr=Ie.useContext(Jr),hr=tr.flattenOptions,pr=tr.onActiveValue,Mr=tr.defaultActiveFirstOption,gr=tr.onSelect,Nr=tr.menuItemSelectedIcon,Kr=tr.rawValues,Hn=tr.fieldNames,br=tr.virtual,ui=tr.direction,gi=tr.listHeight,Zi=tr.listItemHeight,nr="".concat(Gn,"-item"),xi=(0,bo.Z)(function(){return hr},[cn,hr],function(po,zo){return zo[0]&&po[1]!==zo[1]}),Vi=Ie.useRef(null),Gi=function(zo){zo.preventDefault()},Ao=function(zo){Vi.current&&Vi.current.scrollTo(typeof zo=="number"?{index:zo}:zo)},io=function(zo){for(var za=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,Ka=xi.length,Ji=0;Ji<Ka;Ji+=1){var yn=(zo+Ji*za+Ka)%Ka,ja=xi[yn],is=ja.group,_a=ja.data;if(!is&&!_a.disabled)return yn}return-1},Do=Ie.useState(function(){return io(0)}),Bo=(0,Ke.Z)(Do,2),Ui=Bo[0],Xo=Bo[1],Hr=function(zo){var za=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;Xo(zo);var Ka={source:za?"keyboard":"mouse"},Ji=xi[zo];if(!Ji){pr(null,-1,Ka);return}pr(Ji.value,zo,Ka)};(0,Ie.useEffect)(function(){Hr(Mr!==!1?io(0):-1)},[xi.length,fr]);var wa=Ie.useCallback(function(po){return Kr.has(po)&&ir!=="combobox"},[ir,(0,tt.Z)(Kr).toString(),Kr.size]);(0,Ie.useEffect)(function(){var po=setTimeout(function(){if(!Yn&&cn&&Kr.size===1){var za=Array.from(Kr)[0],Ka=xi.findIndex(function(Ji){var yn=Ji.data;return yn.value===za});Ka!==-1&&(Hr(Ka),Ao(Ka))}});if(cn){var zo;(zo=Vi.current)===null||zo===void 0||zo.scrollTo(void 0)}return function(){return clearTimeout(po)}},[cn,fr,hr.length]);var Zr=function(zo){zo!==void 0&&gr(zo,{selected:!Kr.has(zo)}),Yn||On(!1)};if(Ie.useImperativeHandle(rn,function(){return{onKeyDown:function(zo){var za=zo.which,Ka=zo.ctrlKey;switch(za){case ie.Z.N:case ie.Z.P:case ie.Z.UP:case ie.Z.DOWN:{var Ji=0;if(za===ie.Z.UP?Ji=-1:za===ie.Z.DOWN?Ji=1:oo()&&Ka&&(za===ie.Z.N?Ji=1:za===ie.Z.P&&(Ji=-1)),Ji!==0){var yn=io(Ui+Ji,Ji);Ao(yn),Hr(yn,!0)}break}case ie.Z.ENTER:{var ja=xi[Ui];ja&&!ja.data.disabled?Zr(ja.value):Zr(void 0),cn&&zo.preventDefault();break}case ie.Z.ESC:On(!1),cn&&zo.stopPropagation()}},onKeyUp:function(){},scrollTo:function(zo){Ao(zo)}}}),xi.length===0)return Ie.createElement("div",{role:"listbox",id:"".concat(Sn,"_list"),className:"".concat(nr,"-empty"),onMouseDown:Gi},dn);var Ca=Object.keys(Hn).map(function(po){return Hn[po]}),ss=function(zo){return zo.label};function oa(po,zo){var za=po.group;return{role:za?"presentation":"option",id:"".concat(Sn,"_list_").concat(zo)}}var Os=function(zo){var za=xi[zo];if(!za)return null;var Ka=za.data||{},Ji=Ka.value,yn=za.group,ja=(0,ze.Z)(Ka,!0),is=ss(za);return za?Ie.createElement("div",(0,Ge.Z)({"aria-label":typeof is=="string"&&!yn?is:null},ja,{key:zo},oa(za,zo),{"aria-selected":wa(Ji)}),Ji):null},rs={role:"listbox",id:"".concat(Sn,"_list")};return Ie.createElement(Ie.Fragment,null,br&&Ie.createElement("div",(0,Ge.Z)({},rs,{style:{height:0,width:0,overflow:"hidden"}}),Os(Ui-1),Os(Ui),Os(Ui+1)),Ie.createElement(Pi.Z,{itemKey:"key",ref:Vi,data:xi,height:gi,itemHeight:Zi,fullHeight:!1,onMouseDown:Gi,onScroll:Bn,virtual:br,direction:ui,innerProps:br?null:rs},function(po,zo){var za,Ka=po.group,Ji=po.groupOption,yn=po.data,ja=po.label,is=po.value,_a=yn.key;if(Ka){var Us,ma=(Us=yn.title)!==null&&Us!==void 0?Us:It(ja)?ja.toString():void 0;return Ie.createElement("div",{className:Me()(nr,"".concat(nr,"-group")),title:ma},ja!==void 0?ja:_a)}var aa=yn.disabled,ys=yn.title,Fs=yn.children,es=yn.style,ml=yn.className,ta=(0,Be.Z)(yn,zi),Qo=(0,ai.Z)(ta,Ca),Ba=wa(is),Ii="".concat(nr,"-option"),Gs=Me()(nr,Ii,ml,(za={},(0,Ue.Z)(za,"".concat(Ii,"-grouped"),Ji),(0,Ue.Z)(za,"".concat(Ii,"-active"),Ui===zo&&!aa),(0,Ue.Z)(za,"".concat(Ii,"-disabled"),aa),(0,Ue.Z)(za,"".concat(Ii,"-selected"),Ba),za)),sl=ss(po),ql=!Nr||typeof Nr=="function"||Ba,Ki=typeof sl=="number"?sl:sl||is,xs=It(Ki)?Ki.toString():void 0;return ys!==void 0&&(xs=ys),Ie.createElement("div",(0,Ge.Z)({},(0,ze.Z)(Qo),br?{}:oa(po,zo),{"aria-selected":Ba,className:Gs,title:xs,onMouseMove:function(){Ui===zo||aa||Hr(zo)},onClick:function(){aa||Zr(is)},style:es}),Ie.createElement("div",{className:"".concat(Ii,"-content")},Ki),Ie.isValidElement(Nr)||Ba,ql&&Ie.createElement(de,{className:"".concat(nr,"-option-state"),customizeIcon:Nr,customizeIconProps:{isSelected:Ba}},Ba?"\u2713":null))}))},ko=Ie.forwardRef(Yo);ko.displayName="OptionList";var Fr=ko;function Bi(Bt){var Ct=Bt.mode,rn=Bt.options,nn=Bt.children,Gn=Bt.backfill,Sn=Bt.allowClear,cn=Bt.placeholder,Yn=Bt.getInputElement,ir=Bt.showSearch,fr=Bt.onSearch,On=Bt.defaultOpen,dn=Bt.autoFocus,Bn=Bt.labelInValue,tr=Bt.value,hr=Bt.inputValue,pr=Bt.optionLabelProp,Mr=isMultiple(Ct),gr=ir!==void 0?ir:Mr||Ct==="combobox",Nr=rn||convertChildrenToData(nn);if(warning(Ct!=="tags"||Nr.every(function(ui){return!ui.disabled}),"Please avoid setting option to disabled in tags mode since user can always type text as tag."),Ct==="tags"||Ct==="combobox"){var Kr=Nr.some(function(ui){return ui.options?ui.options.some(function(gi){return typeof("value"in gi?gi.value:gi.key)=="number"}):typeof("value"in ui?ui.value:ui.key)=="number"});warning(!Kr,"`value` of Option should not use number type when `mode` is `tags` or `combobox`.")}if(warning(Ct!=="combobox"||!pr,"`combobox` mode not support `optionLabelProp`. Please set `value` on Option directly."),warning(Ct==="combobox"||!Gn,"`backfill` only works with `combobox` mode."),warning(Ct==="combobox"||!Yn,"`getInputElement` only work with `combobox` mode."),noteOnce(Ct!=="combobox"||!Yn||!Sn||!cn,"Customize `getInputElement` should customize clear and placeholder logic instead of configuring `allowClear` and `placeholder`."),fr&&!gr&&Ct!=="combobox"&&Ct!=="tags"&&warning(!1,"`onSearch` should work with `showSearch` instead of use alone."),noteOnce(!On||dn,"`defaultOpen` makes Select open without focus which means it will not close by click outside. You can set `autoFocus` if needed."),tr!=null){var Hn=toArray(tr);warning(!Bn||Hn.every(function(ui){return _typeof(ui)==="object"&&("key"in ui||"value"in ui)}),"`value` should in shape of `{ value: string | number, label?: ReactNode }` when you set `labelInValue` to `true`"),warning(!Mr||Array.isArray(tr),"`value` should be array when `mode` is `multiple` or `tags`")}if(nn){var br=null;toNodeArray(nn).some(function(ui){if(!React.isValidElement(ui)||!ui.type)return!1;var gi=ui,Zi=gi.type;if(Zi.isSelectOption)return!1;if(Zi.isSelectOptGroup){var nr=toNodeArray(ui.props.children).every(function(xi){return!React.isValidElement(xi)||!ui.type||xi.type.isSelectOption?!0:(br=xi.type,!1)});return!nr}return br=Zi,!0}),br&&warning(!1,"`children` should be `Select.Option` or `Select.OptGroup` instead of `".concat(br.displayName||br.name||br,"`.")),warning(hr===void 0,"`inputValue` is deprecated, please use `searchValue` instead.")}}function Fi(Bt,Ct){if(Bt){var rn=function nn(Gn){for(var Sn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,cn=0;cn<Gn.length;cn++){var Yn=Gn[cn];if(Yn[Ct==null?void 0:Ct.value]===null)return warning(!1,"`value` in Select options should not be `null`."),!0;if(!Sn&&Array.isArray(Yn[Ct==null?void 0:Ct.options])&&nn(Yn[Ct==null?void 0:Ct.options],!0))break}};rn(Bt)}}var Qi=null,ii=["id","mode","prefixCls","backfill","fieldNames","inputValue","searchValue","onSearch","autoClearSearchValue","onSelect","onDeselect","dropdownMatchSelectWidth","filterOption","filterSort","optionFilterProp","optionLabelProp","options","children","defaultActiveFirstOption","menuItemSelectedIcon","virtual","direction","listHeight","listItemHeight","value","defaultValue","labelInValue","onChange"],Nt=["inputValue"];function De(Bt){return!Bt||(0,we.Z)(Bt)!=="object"}var He=Ie.forwardRef(function(Bt,Ct){var rn=Bt.id,nn=Bt.mode,Gn=Bt.prefixCls,Sn=Gn===void 0?"rc-select":Gn,cn=Bt.backfill,Yn=Bt.fieldNames,ir=Bt.inputValue,fr=Bt.searchValue,On=Bt.onSearch,dn=Bt.autoClearSearchValue,Bn=dn===void 0?!0:dn,tr=Bt.onSelect,hr=Bt.onDeselect,pr=Bt.dropdownMatchSelectWidth,Mr=pr===void 0?!0:pr,gr=Bt.filterOption,Nr=Bt.filterSort,Kr=Bt.optionFilterProp,Hn=Bt.optionLabelProp,br=Bt.options,ui=Bt.children,gi=Bt.defaultActiveFirstOption,Zi=Bt.menuItemSelectedIcon,nr=Bt.virtual,xi=Bt.direction,Vi=Bt.listHeight,Gi=Vi===void 0?200:Vi,Ao=Bt.listItemHeight,io=Ao===void 0?20:Ao,Do=Bt.value,Bo=Bt.defaultValue,Ui=Bt.labelInValue,Xo=Bt.onChange,Hr=(0,Be.Z)(Bt,ii),wa=(0,rr.ZP)(rn),Zr=ut(nn),Ca=!!(!br&&ui),ss=Ie.useMemo(function(){return gr===void 0&&nn==="combobox"?!1:gr},[gr,nn]),oa=Ie.useMemo(function(){return qt(Yn,Ca)},[JSON.stringify(Yn),Ca]),Os=(0,Te.Z)("",{value:fr!==void 0?fr:ir,postState:function(ns){return ns||""}}),rs=(0,Ke.Z)(Os,2),po=rs[0],zo=rs[1],za=Qr(br,ui,oa,Kr,Hn),Ka=za.valueOptions,Ji=za.labelOptions,yn=za.options,ja=Ie.useCallback(function(ls){var ns=gt(ls);return ns.map(function(Vs){var jo,Ru,Uu,Oc,ph;if(De(Vs))jo=Vs;else{var Kh;Uu=Vs.key,Ru=Vs.label,jo=(Kh=Vs.value)!==null&&Kh!==void 0?Kh:Uu}var So=Ka.get(jo);if(So){var uu;if(Ru===void 0&&(Ru=So==null?void 0:So[Hn||oa.label]),Uu===void 0&&(Uu=(uu=So==null?void 0:So.key)!==null&&uu!==void 0?uu:jo),Oc=So==null?void 0:So.disabled,ph=So==null?void 0:So.title,0)var Ya}return{label:Ru,value:jo,key:Uu,disabled:Oc,title:ph}})},[oa,Hn,Ka]),is=(0,Te.Z)(Bo,{value:Do}),_a=(0,Ke.Z)(is,2),Us=_a[0],ma=_a[1],aa=Ie.useMemo(function(){var ls,ns=ja(Us);return nn==="combobox"&&vt((ls=ns[0])===null||ls===void 0?void 0:ls.value)?[]:ns},[Us,ja,nn]),ys=Ht(aa,Ka),Fs=(0,Ke.Z)(ys,2),es=Fs[0],ml=Fs[1],ta=Ie.useMemo(function(){if(!nn&&es.length===1){var ls=es[0];if(ls.value===null&&(ls.label===null||ls.label===void 0))return[]}return es.map(function(ns){var Vs;return(0,Ne.Z)((0,Ne.Z)({},ns),{},{label:(Vs=ns.label)!==null&&Vs!==void 0?Vs:ns.value})})},[nn,es]),Qo=Ie.useMemo(function(){return new Set(es.map(function(ls){return ls.value}))},[es]);Ie.useEffect(function(){if(nn==="combobox"){var ls,ns=(ls=es[0])===null||ls===void 0?void 0:ls.value;zo(Et(ns)?String(ns):"")}},[es]);var Ba=di(function(ls,ns){var Vs,jo=ns!=null?ns:ls;return Vs={},(0,Ue.Z)(Vs,oa.value,ls),(0,Ue.Z)(Vs,oa.label,jo),Vs}),Ii=Ie.useMemo(function(){if(nn!=="tags")return yn;var ls=(0,tt.Z)(yn),ns=function(jo){return Ka.has(jo)};return(0,tt.Z)(es).sort(function(Vs,jo){return Vs.value<jo.value?-1:1}).forEach(function(Vs){var jo=Vs.value;ns(jo)||ls.push(Ba(jo,Vs.label))}),ls},[Ba,yn,Ka,es,nn]),Gs=hn(Ii,oa,po,ss,Kr),sl=Ie.useMemo(function(){return nn!=="tags"||!po||Gs.some(function(ls){return ls[Kr||"value"]===po})||Gs.some(function(ls){return ls[oa.value]===po})?Gs:[Ba(po)].concat((0,tt.Z)(Gs))},[Ba,Kr,nn,Gs,po,oa]),ql=Ie.useMemo(function(){return Nr?(0,tt.Z)(sl).sort(function(ls,ns){return Nr(ls,ns)}):sl},[sl,Nr]),Ki=Ie.useMemo(function(){return Yt(ql,{fieldNames:oa,childrenAsData:Ca})},[ql,oa,Ca]),xs=function(ns){var Vs=ja(ns);if(ma(Vs),Xo&&(Vs.length!==es.length||Vs.some(function(Uu,Oc){var ph;return((ph=es[Oc])===null||ph===void 0?void 0:ph.value)!==(Uu==null?void 0:Uu.value)}))){var jo=Ui?Vs:Vs.map(function(Uu){return Uu.value}),Ru=Vs.map(function(Uu){return gn(ml(Uu.value))});Xo(Zr?jo:jo[0],Zr?Ru:Ru[0])}},zs=Ie.useState(null),yl=(0,Ke.Z)(zs,2),tl=yl[0],Ms=yl[1],Au=Ie.useState(0),Ur=(0,Ke.Z)(Au,2),Su=Ur[0],gh=Ur[1],Wc=gi!==void 0?gi:nn!=="combobox",Ns=Ie.useCallback(function(ls,ns){var Vs=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},jo=Vs.source,Ru=jo===void 0?"keyboard":jo;gh(ns),cn&&nn==="combobox"&&ls!==null&&Ru==="keyboard"&&Ms(String(ls))},[cn,nn]),Sl=function(ns,Vs,jo){var Ru=function(){var Ac,us=ml(ns);return[Ui?{label:us==null?void 0:us[oa.label],value:ns,key:(Ac=us==null?void 0:us.key)!==null&&Ac!==void 0?Ac:ns}:ns,gn(us)]};if(Vs&&tr){var Uu=Ru(),Oc=(0,Ke.Z)(Uu,2),ph=Oc[0],Kh=Oc[1];tr(ph,Kh)}else if(!Vs&&hr&&jo!=="clear"){var So=Ru(),uu=(0,Ke.Z)(So,2),Ya=uu[0],Rh=uu[1];hr(Ya,Rh)}},lu=di(function(ls,ns){var Vs,jo=Zr?ns.selected:!0;jo?Vs=Zr?[].concat((0,tt.Z)(es),[ls]):[ls]:Vs=es.filter(function(Ru){return Ru.value!==ls}),xs(Vs),Sl(ls,jo),nn==="combobox"?Ms(""):(!ut||Bn)&&(zo(""),Ms(""))}),gl=function(ns,Vs){xs(ns);var jo=Vs.type,Ru=Vs.values;(jo==="remove"||jo==="clear")&&Ru.forEach(function(Uu){Sl(Uu.value,!1,jo)})},Hs=function(ns,Vs){if(zo(ns),Ms(null),Vs.source==="submit"){var jo=(ns||"").trim();if(jo){var Ru=Array.from(new Set([].concat((0,tt.Z)(Qo),[jo])));xs(Ru),Sl(jo,!0),zo("")}return}Vs.source!=="blur"&&(nn==="combobox"&&xs(ns),On==null||On(ns))},Al=function(ns){var Vs=ns;nn!=="tags"&&(Vs=ns.map(function(Ru){var Uu=Ji.get(Ru);return Uu==null?void 0:Uu.value}).filter(function(Ru){return Ru!==void 0}));var jo=Array.from(new Set([].concat((0,tt.Z)(Qo),(0,tt.Z)(Vs))));xs(jo),jo.forEach(function(Ru){Sl(Ru,!0)})},Wu=Ie.useMemo(function(){var ls=nr!==!1&&Mr!==!1;return(0,Ne.Z)((0,Ne.Z)({},za),{},{flattenOptions:Ki,onActiveValue:Ns,defaultActiveFirstOption:Wc,onSelect:lu,menuItemSelectedIcon:Zi,rawValues:Qo,fieldNames:oa,virtual:ls,direction:xi,listHeight:Gi,listItemHeight:io,childrenAsData:Ca})},[za,Ki,Ns,Wc,lu,Zi,Qo,oa,nr,Mr,Gi,io,Ca]);return Ie.createElement(Jr.Provider,{value:Wu},Ie.createElement(Pt,(0,Ge.Z)({},Hr,{id:wa,prefixCls:Sn,ref:Ct,omitDomProps:Nt,mode:nn,displayValues:ta,onDisplayValuesChange:gl,direction:xi,searchValue:po,onSearch:Hs,autoClearSearchValue:Bn,onSearchSplit:Al,dropdownMatchSelectWidth:Mr,OptionList:Fr,emptyOptions:!Ki.length,activeValue:tl,activeDescendantId:"".concat(wa,"_list_").concat(Su)})))}),Re=He;Re.Option=Io,Re.OptGroup=Ai;var et=Re,ft=et},9296:function(en,tn,Oe){"use strict";Oe.r(tn),Oe.d(tn,{ResizableTextArea:function(){return Qe},default:function(){return vt}});var Ge=Oe(5891),tt=Oe(57259),Ue=Oe(80962),Ne=Oe(80665),Ke=Oe(29043),Be=Oe(19149),we=Oe(26390),Te=Oe(92310),ke=Oe.n(Te),Ie=Oe(93681),Ce=Oe(5643),Me=Oe(35788),je=Oe(59301),ye=Oe(29301),ie=Oe(28800),ae=Oe(23073),fe=`
min-height:0 !important;
max-height:none !important;
height:0 !important;
visibility:hidden !important;
overflow:hidden !important;
position:absolute !important;
z-index:-1000 !important;
top:0 !important;
right:0 !important;
pointer-events: none !important;
`,de=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"],ve={},xe;function ce(Lt){var St=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,xt=Lt.getAttribute("id")||Lt.getAttribute("data-reactid")||Lt.getAttribute("name");if(St&&ve[xt])return ve[xt];var ct=window.getComputedStyle(Lt),Dt=ct.getPropertyValue("box-sizing")||ct.getPropertyValue("-moz-box-sizing")||ct.getPropertyValue("-webkit-box-sizing"),Xt=parseFloat(ct.getPropertyValue("padding-bottom"))+parseFloat(ct.getPropertyValue("padding-top")),kt=parseFloat(ct.getPropertyValue("border-bottom-width"))+parseFloat(ct.getPropertyValue("border-top-width")),Rt=de.map(function(ln){return"".concat(ln,":").concat(ct.getPropertyValue(ln))}).join(";"),Gt={sizingStyle:Rt,paddingSize:Xt,borderSize:kt,boxSizing:Dt};return St&&xt&&(ve[xt]=Gt),Gt}function pe(Lt){var St=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,xt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,ct=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;xe||(xe=document.createElement("textarea"),xe.setAttribute("tab-index","-1"),xe.setAttribute("aria-hidden","true"),document.body.appendChild(xe)),Lt.getAttribute("wrap")?xe.setAttribute("wrap",Lt.getAttribute("wrap")):xe.removeAttribute("wrap");var Dt=ce(Lt,St),Xt=Dt.paddingSize,kt=Dt.borderSize,Rt=Dt.boxSizing,Gt=Dt.sizingStyle;xe.setAttribute("style","".concat(Gt,";").concat(fe)),xe.value=Lt.value||Lt.placeholder||"";var ln=void 0,Rn=void 0,jn,er=xe.scrollHeight;if(Rt==="border-box"?er+=kt:Rt==="content-box"&&(er-=Xt),xt!==null||ct!==null){xe.value=" ";var an=xe.scrollHeight-Xt;xt!==null&&(ln=an*xt,Rt==="border-box"&&(ln=ln+Xt+kt),er=Math.max(ln,er)),ct!==null&&(Rn=an*ct,Rt==="border-box"&&(Rn=Rn+Xt+kt),jn=er>Rn?"":"hidden",er=Math.min(Rn,er))}var Un={height:er,overflowY:jn,resize:"none"};return ln&&(Un.minHeight=ln),Rn&&(Un.maxHeight=Rn),Un}var Se=["prefixCls","onPressEnter","defaultValue","value","autoSize","onResize","className","style","disabled","onChange","onInternalAutoSize"],Le=0,ze=1,Ze=2,Ve=je.forwardRef(function(Lt,St){var xt=Lt,ct=xt.prefixCls,Dt=xt.onPressEnter,Xt=xt.defaultValue,kt=xt.value,Rt=xt.autoSize,Gt=xt.onResize,ln=xt.className,Rn=xt.style,jn=xt.disabled,er=xt.onChange,an=xt.onInternalAutoSize,Un=(0,Be.Z)(xt,Se),Kn=(0,Me.Z)(Xt,{value:kt,postState:function(Ai){return Ai!=null?Ai:""}}),ur=(0,Ke.Z)(Kn,2),Xn=ur[0],Nn=ur[1],_n=function(Ai){Nn(Ai.target.value),er==null||er(Ai)},un=je.useRef();je.useImperativeHandle(St,function(){return{textArea:un.current}});var qt=je.useMemo(function(){return Rt&&(0,Ne.Z)(Rt)==="object"?[Rt.minRows,Rt.maxRows]:[]},[Rt]),Yt=(0,Ke.Z)(qt,2),gn=Yt[0],_t=Yt[1],Jt=!!Rt,wt=function(){try{if(document.activeElement===un.current){var Ai=un.current,fo=Ai.selectionStart,Io=Ai.selectionEnd,bo=Ai.scrollTop;un.current.setSelectionRange(fo,Io),un.current.scrollTop=bo}}catch(ai){}},ut=je.useState(Ze),ot=(0,Ke.Z)(ut,2),Pt=ot[0],Ht=ot[1],Mt=je.useState(),hn=(0,Ke.Z)(Mt,2),rr=hn[0],Jn=hn[1],An=function(){Ht(Le)};(0,ie.Z)(function(){Jt&&An()},[kt,gn,_t,Jt]),(0,ie.Z)(function(){if(Pt===Le)Ht(ze);else if(Pt===ze){var li=pe(un.current,!1,gn,_t);Ht(Ze),Jn(li)}else wt()},[Pt]);var $n=je.useRef(),xr=function(){ae.Z.cancel($n.current)},mr=function(Ai){Pt===Ze&&(Gt==null||Gt(Ai),Rt&&(xr(),$n.current=(0,ae.Z)(function(){An()})))};je.useEffect(function(){return xr},[]);var Qr=Jt?rr:null,di=(0,tt.Z)((0,tt.Z)({},Rn),Qr);return(Pt===Le||Pt===ze)&&(di.overflowY="hidden",di.overflowX="hidden"),je.createElement(ye.Z,{onResize:mr,disabled:!(Rt||Gt)},je.createElement("textarea",(0,Ge.Z)({},Un,{ref:un,style:di,className:ke()(ct,ln,(0,Ue.Z)({},"".concat(ct,"-disabled"),jn)),disabled:jn,value:Xn,onChange:_n})))}),Qe=Ve,$e=["defaultValue","value","onFocus","onBlur","onChange","allowClear","maxLength","onCompositionStart","onCompositionEnd","suffix","prefixCls","classes","showCount","className","style","disabled","hidden","classNames","styles","onResize"];function gt(Lt,St){return(0,we.Z)(Lt||"").slice(0,St).join("")}function lt(Lt,St,xt,ct){var Dt=xt;return Lt?Dt=gt(xt,ct):(0,we.Z)(St||"").length<xt.length&&(0,we.Z)(xt||"").length>ct&&(Dt=St),Dt}var At=je.forwardRef(function(Lt,St){var xt,ct=Lt.defaultValue,Dt=Lt.value,Xt=Lt.onFocus,kt=Lt.onBlur,Rt=Lt.onChange,Gt=Lt.allowClear,ln=Lt.maxLength,Rn=Lt.onCompositionStart,jn=Lt.onCompositionEnd,er=Lt.suffix,an=Lt.prefixCls,Un=an===void 0?"rc-textarea":an,Kn=Lt.classes,ur=Lt.showCount,Xn=Lt.className,Nn=Lt.style,_n=Lt.disabled,un=Lt.hidden,qt=Lt.classNames,Yt=Lt.styles,gn=Lt.onResize,_t=(0,Be.Z)(Lt,$e),Jt=(0,Me.Z)(ct,{value:Dt,defaultValue:ct}),wt=(0,Ke.Z)(Jt,2),ut=wt[0],ot=wt[1],Pt=(0,je.useRef)(null),Ht=je.useState(!1),Mt=(0,Ke.Z)(Ht,2),hn=Mt[0],rr=Mt[1],Jn=je.useState(!1),An=(0,Ke.Z)(Jn,2),$n=An[0],xr=An[1],mr=je.useRef(),Qr=je.useRef(0),di=je.useState(null),li=(0,Ke.Z)(di,2),Ai=li[0],fo=li[1],Io=function(){var De;(De=Pt.current)===null||De===void 0||De.textArea.focus()};(0,je.useImperativeHandle)(St,function(){return{resizableTextArea:Pt.current,focus:Io,blur:function(){var De;(De=Pt.current)===null||De===void 0||De.textArea.blur()}}}),(0,je.useEffect)(function(){rr(function(Nt){return!_n&&Nt})},[_n]);var bo=Number(ln)>0,ai=function(De){xr(!0),mr.current=ut,Qr.current=De.currentTarget.selectionStart,Rn==null||Rn(De)},Pi=function(De){xr(!1);var He=De.currentTarget.value;if(bo){var Re,et=Qr.current>=ln+1||Qr.current===((Re=mr.current)===null||Re===void 0?void 0:Re.length);He=lt(et,mr.current,He,ln)}He!==ut&&(ot(He),(0,Ce.rJ)(De.currentTarget,De,Rt,He)),jn==null||jn(De)},ao=function(De){var He=De.target.value;if(!$n&&bo){var Re=De.target.selectionStart>=ln+1||De.target.selectionStart===He.length||!De.target.selectionStart;He=lt(Re,ut,He,ln)}ot(He),(0,Ce.rJ)(De.currentTarget,De,Rt,He)},Jr=function(De){var He=_t.onPressEnter,Re=_t.onKeyDown;De.key==="Enter"&&He&&He(De),Re==null||Re(De)},oo=function(De){rr(!0),Xt==null||Xt(De)},zi=function(De){rr(!1),kt==null||kt(De)},It=function(De){var He;ot(""),Io(),(0,Ce.rJ)((He=Pt.current)===null||He===void 0?void 0:He.textArea,De,Rt)},Yo=(0,Ce.D7)(ut);!$n&&bo&&Dt==null&&(Yo=gt(Yo,ln));var ko=er,Fr;if(ur){var Bi=(0,we.Z)(Yo).length;(0,Ne.Z)(ur)==="object"?Fr=ur.formatter({value:Yo,count:Bi,maxLength:ln}):Fr="".concat(Bi).concat(bo?" / ".concat(ln):""),ko=je.createElement(je.Fragment,null,ko,je.createElement("span",{className:ke()("".concat(Un,"-data-count"),qt==null?void 0:qt.count),style:Yt==null?void 0:Yt.count},Fr))}var Fi=function(De){var He;gn==null||gn(De),(He=Pt.current)!==null&&He!==void 0&&He.textArea.style.height&&fo(!0)},Qi=!_t.autoSize&&!ur&&!Gt,ii=je.createElement(Ie.BaseInput,{value:Yo,allowClear:Gt,handleReset:It,suffix:ko,prefixCls:Un,classes:{affixWrapper:ke()(Kn==null?void 0:Kn.affixWrapper,(xt={},(0,Ue.Z)(xt,"".concat(Un,"-show-count"),ur),(0,Ue.Z)(xt,"".concat(Un,"-textarea-allow-clear"),Gt),xt))},disabled:_n,focused:hn,className:Xn,style:(0,tt.Z)((0,tt.Z)({},Nn),Ai&&!Qi?{height:"auto"}:{}),dataAttrs:{affixWrapper:{"data-count":typeof Fr=="string"?Fr:void 0}},hidden:un,inputElement:je.createElement(Qe,(0,Ge.Z)({},_t,{onKeyDown:Jr,onChange:ao,onFocus:oo,onBlur:zi,onCompositionStart:ai,onCompositionEnd:Pi,className:qt==null?void 0:qt.textarea,style:(0,tt.Z)((0,tt.Z)({},Yt==null?void 0:Yt.textarea),{},{resize:Nn==null?void 0:Nn.resize}),disabled:_n,prefixCls:Un,onResize:Fi,ref:Pt}))});return ii}),Et=At,vt=Et},39417:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return ze}});var Ge=Oe(5891),tt=Oe(80962),Ue=Oe(19149),Ne=Oe(57259),Ke=Oe(79545),Be=Oe(68550),we=Oe(21882),Te=Oe(17928),ke=Oe(7711),Ie=Oe(92310),Ce=Oe.n(Ie),Me=Oe(36994),je=Oe(59301),ye=Oe(39378),ie=function(Ve){for(var Qe=Ve.prefixCls,$e=Ve.level,gt=Ve.isStart,lt=Ve.isEnd,At="".concat(Qe,"-indent-unit"),Et=[],vt=0;vt<$e;vt+=1){var Lt;Et.push(je.createElement("span",{key:vt,className:Ce()(At,(Lt={},(0,tt.Z)(Lt,"".concat(At,"-start"),gt[vt]),(0,tt.Z)(Lt,"".concat(At,"-end"),lt[vt]),Lt))}))}return je.createElement("span",{"aria-hidden":"true",className:"".concat(Qe,"-indent")},Et)},ae=je.memo(ie),fe=Oe(67841),de=Oe(71430),ve=["eventKey","className","style","dragOver","dragOverGapTop","dragOverGapBottom","isLeaf","isStart","isEnd","expanded","selected","checked","halfChecked","loading","domRef","active","data","onMouseMove","selectable"],xe="open",ce="close",pe="---",Se=function(Ze){(0,Te.Z)(Qe,Ze);var Ve=(0,ke.Z)(Qe);function Qe(){var $e;(0,Ke.Z)(this,Qe);for(var gt=arguments.length,lt=new Array(gt),At=0;At<gt;At++)lt[At]=arguments[At];return $e=Ve.call.apply(Ve,[this].concat(lt)),$e.state={dragNodeHighlight:!1},$e.selectHandle=void 0,$e.cacheIndent=void 0,$e.onSelectorClick=function(Et){var vt=$e.props.context.onNodeClick;vt(Et,(0,de.F)($e.props)),$e.isSelectable()?$e.onSelect(Et):$e.onCheck(Et)},$e.onSelectorDoubleClick=function(Et){var vt=$e.props.context.onNodeDoubleClick;vt(Et,(0,de.F)($e.props))},$e.onSelect=function(Et){if(!$e.isDisabled()){var vt=$e.props.context.onNodeSelect;vt(Et,(0,de.F)($e.props))}},$e.onCheck=function(Et){if(!$e.isDisabled()){var vt=$e.props,Lt=vt.disableCheckbox,St=vt.checked,xt=$e.props.context.onNodeCheck;if(!(!$e.isCheckable()||Lt)){var ct=!St;xt(Et,(0,de.F)($e.props),ct)}}},$e.onMouseEnter=function(Et){var vt=$e.props.context.onNodeMouseEnter;vt(Et,(0,de.F)($e.props))},$e.onMouseLeave=function(Et){var vt=$e.props.context.onNodeMouseLeave;vt(Et,(0,de.F)($e.props))},$e.onContextMenu=function(Et){var vt=$e.props.context.onNodeContextMenu;vt(Et,(0,de.F)($e.props))},$e.onDragStart=function(Et){var vt=$e.props.context.onNodeDragStart;Et.stopPropagation(),$e.setState({dragNodeHighlight:!0}),vt(Et,(0,we.Z)($e));try{Et.dataTransfer.setData("text/plain","")}catch(Lt){}},$e.onDragEnter=function(Et){var vt=$e.props.context.onNodeDragEnter;Et.preventDefault(),Et.stopPropagation(),vt(Et,(0,we.Z)($e))},$e.onDragOver=function(Et){var vt=$e.props.context.onNodeDragOver;Et.preventDefault(),Et.stopPropagation(),vt(Et,(0,we.Z)($e))},$e.onDragLeave=function(Et){var vt=$e.props.context.onNodeDragLeave;Et.stopPropagation(),vt(Et,(0,we.Z)($e))},$e.onDragEnd=function(Et){var vt=$e.props.context.onNodeDragEnd;Et.stopPropagation(),$e.setState({dragNodeHighlight:!1}),vt(Et,(0,we.Z)($e))},$e.onDrop=function(Et){var vt=$e.props.context.onNodeDrop;Et.preventDefault(),Et.stopPropagation(),$e.setState({dragNodeHighlight:!1}),vt(Et,(0,we.Z)($e))},$e.onExpand=function(Et){var vt=$e.props,Lt=vt.loading,St=vt.context.onNodeExpand;Lt||St(Et,(0,de.F)($e.props))},$e.setSelectHandle=function(Et){$e.selectHandle=Et},$e.getNodeState=function(){var Et=$e.props.expanded;return $e.isLeaf()?null:Et?xe:ce},$e.hasChildren=function(){var Et=$e.props.eventKey,vt=$e.props.context.keyEntities,Lt=(0,fe.Z)(vt,Et)||{},St=Lt.children;return!!(St||[]).length},$e.isLeaf=function(){var Et=$e.props,vt=Et.isLeaf,Lt=Et.loaded,St=$e.props.context.loadData,xt=$e.hasChildren();return vt===!1?!1:vt||!St&&!xt||St&&Lt&&!xt},$e.isDisabled=function(){var Et=$e.props.disabled,vt=$e.props.context.disabled;return!!(vt||Et)},$e.isCheckable=function(){var Et=$e.props.checkable,vt=$e.props.context.checkable;return!vt||Et===!1?!1:vt},$e.syncLoadData=function(Et){var vt=Et.expanded,Lt=Et.loading,St=Et.loaded,xt=$e.props.context,ct=xt.loadData,Dt=xt.onNodeLoad;Lt||ct&&vt&&!$e.isLeaf()&&!$e.hasChildren()&&!St&&Dt((0,de.F)($e.props))},$e.isDraggable=function(){var Et=$e.props,vt=Et.data,Lt=Et.context.draggable;return!!(Lt&&(!Lt.nodeDraggable||Lt.nodeDraggable(vt)))},$e.renderDragHandler=function(){var Et=$e.props.context,vt=Et.draggable,Lt=Et.prefixCls;return vt!=null&&vt.icon?je.createElement("span",{className:"".concat(Lt,"-draggable-icon")},vt.icon):null},$e.renderSwitcherIconDom=function(Et){var vt=$e.props.switcherIcon,Lt=$e.props.context.switcherIcon,St=vt||Lt;return typeof St=="function"?St((0,Ne.Z)((0,Ne.Z)({},$e.props),{},{isLeaf:Et})):St},$e.renderSwitcher=function(){var Et=$e.props.expanded,vt=$e.props.context.prefixCls;if($e.isLeaf()){var Lt=$e.renderSwitcherIconDom(!0);return Lt!==!1?je.createElement("span",{className:Ce()("".concat(vt,"-switcher"),"".concat(vt,"-switcher-noop"))},Lt):null}var St=Ce()("".concat(vt,"-switcher"),"".concat(vt,"-switcher_").concat(Et?xe:ce)),xt=$e.renderSwitcherIconDom(!1);return xt!==!1?je.createElement("span",{onClick:$e.onExpand,className:St},xt):null},$e.renderCheckbox=function(){var Et=$e.props,vt=Et.checked,Lt=Et.halfChecked,St=Et.disableCheckbox,xt=$e.props.context.prefixCls,ct=$e.isDisabled(),Dt=$e.isCheckable();if(!Dt)return null;var Xt=typeof Dt!="boolean"?Dt:null;return je.createElement("span",{className:Ce()("".concat(xt,"-checkbox"),vt&&"".concat(xt,"-checkbox-checked"),!vt&&Lt&&"".concat(xt,"-checkbox-indeterminate"),(ct||St)&&"".concat(xt,"-checkbox-disabled")),onClick:$e.onCheck},Xt)},$e.renderIcon=function(){var Et=$e.props.loading,vt=$e.props.context.prefixCls;return je.createElement("span",{className:Ce()("".concat(vt,"-iconEle"),"".concat(vt,"-icon__").concat($e.getNodeState()||"docu"),Et&&"".concat(vt,"-icon_loading"))})},$e.renderSelector=function(){var Et=$e.state.dragNodeHighlight,vt=$e.props,Lt=vt.title,St=Lt===void 0?pe:Lt,xt=vt.selected,ct=vt.icon,Dt=vt.loading,Xt=vt.data,kt=$e.props.context,Rt=kt.prefixCls,Gt=kt.showIcon,ln=kt.icon,Rn=kt.loadData,jn=kt.titleRender,er=$e.isDisabled(),an="".concat(Rt,"-node-content-wrapper"),Un;if(Gt){var Kn=ct||ln;Un=Kn?je.createElement("span",{className:Ce()("".concat(Rt,"-iconEle"),"".concat(Rt,"-icon__customize"))},typeof Kn=="function"?Kn($e.props):Kn):$e.renderIcon()}else Rn&&Dt&&(Un=$e.renderIcon());var ur;typeof St=="function"?ur=St(Xt):jn?ur=jn(Xt):ur=St;var Xn=je.createElement("span",{className:"".concat(Rt,"-title")},ur);return je.createElement("span",{ref:$e.setSelectHandle,title:typeof St=="string"?St:"",className:Ce()("".concat(an),"".concat(an,"-").concat($e.getNodeState()||"normal"),!er&&(xt||Et)&&"".concat(Rt,"-node-selected")),onMouseEnter:$e.onMouseEnter,onMouseLeave:$e.onMouseLeave,onContextMenu:$e.onContextMenu,onClick:$e.onSelectorClick,onDoubleClick:$e.onSelectorDoubleClick},Un,Xn,$e.renderDropIndicator())},$e.renderDropIndicator=function(){var Et=$e.props,vt=Et.disabled,Lt=Et.eventKey,St=$e.props.context,xt=St.draggable,ct=St.dropLevelOffset,Dt=St.dropPosition,Xt=St.prefixCls,kt=St.indent,Rt=St.dropIndicatorRender,Gt=St.dragOverNodeKey,ln=St.direction,Rn=!!xt,jn=!vt&&Rn&&Gt===Lt,er=kt!=null?kt:$e.cacheIndent;return $e.cacheIndent=kt,jn?Rt({dropPosition:Dt,dropLevelOffset:ct,indent:er,prefixCls:Xt,direction:ln}):null},$e}return(0,Be.Z)(Qe,[{key:"componentDidMount",value:function(){this.syncLoadData(this.props)}},{key:"componentDidUpdate",value:function(){this.syncLoadData(this.props)}},{key:"isSelectable",value:function(){var gt=this.props.selectable,lt=this.props.context.selectable;return typeof gt=="boolean"?gt:lt}},{key:"render",value:function(){var gt,lt=this.props,At=lt.eventKey,Et=lt.className,vt=lt.style,Lt=lt.dragOver,St=lt.dragOverGapTop,xt=lt.dragOverGapBottom,ct=lt.isLeaf,Dt=lt.isStart,Xt=lt.isEnd,kt=lt.expanded,Rt=lt.selected,Gt=lt.checked,ln=lt.halfChecked,Rn=lt.loading,jn=lt.domRef,er=lt.active,an=lt.data,Un=lt.onMouseMove,Kn=lt.selectable,ur=(0,Ue.Z)(lt,ve),Xn=this.props.context,Nn=Xn.prefixCls,_n=Xn.filterTreeNode,un=Xn.keyEntities,qt=Xn.dropContainerKey,Yt=Xn.dropTargetKey,gn=Xn.draggingNodeKey,_t=this.isDisabled(),Jt=(0,Me.Z)(ur,{aria:!0,data:!0}),wt=(0,fe.Z)(un,At)||{},ut=wt.level,ot=Xt[Xt.length-1],Pt=this.isDraggable(),Ht=!_t&&Pt,Mt=gn===At,hn=Kn!==void 0?{"aria-selected":!!Kn}:void 0;return je.createElement("div",(0,Ge.Z)({ref:jn,className:Ce()(Et,"".concat(Nn,"-treenode"),(gt={},(0,tt.Z)(gt,"".concat(Nn,"-treenode-disabled"),_t),(0,tt.Z)(gt,"".concat(Nn,"-treenode-switcher-").concat(kt?"open":"close"),!ct),(0,tt.Z)(gt,"".concat(Nn,"-treenode-checkbox-checked"),Gt),(0,tt.Z)(gt,"".concat(Nn,"-treenode-checkbox-indeterminate"),ln),(0,tt.Z)(gt,"".concat(Nn,"-treenode-selected"),Rt),(0,tt.Z)(gt,"".concat(Nn,"-treenode-loading"),Rn),(0,tt.Z)(gt,"".concat(Nn,"-treenode-active"),er),(0,tt.Z)(gt,"".concat(Nn,"-treenode-leaf-last"),ot),(0,tt.Z)(gt,"".concat(Nn,"-treenode-draggable"),Pt),(0,tt.Z)(gt,"dragging",Mt),(0,tt.Z)(gt,"drop-target",Yt===At),(0,tt.Z)(gt,"drop-container",qt===At),(0,tt.Z)(gt,"drag-over",!_t&&Lt),(0,tt.Z)(gt,"drag-over-gap-top",!_t&&St),(0,tt.Z)(gt,"drag-over-gap-bottom",!_t&&xt),(0,tt.Z)(gt,"filter-node",_n&&_n((0,de.F)(this.props))),gt)),style:vt,draggable:Ht,"aria-grabbed":Mt,onDragStart:Ht?this.onDragStart:void 0,onDragEnter:Pt?this.onDragEnter:void 0,onDragOver:Pt?this.onDragOver:void 0,onDragLeave:Pt?this.onDragLeave:void 0,onDrop:Pt?this.onDrop:void 0,onDragEnd:Pt?this.onDragEnd:void 0,onMouseMove:Un},hn,Jt),je.createElement(ae,{prefixCls:Nn,level:ut,isStart:Dt,isEnd:Xt}),this.renderDragHandler(),this.renderSwitcher(),this.renderCheckbox(),this.renderSelector())}}]),Qe}(je.Component),Le=function(Ve){return je.createElement(ye.k.Consumer,null,function(Qe){return je.createElement(Se,(0,Ge.Z)({},Ve,{context:Qe}))})};Le.displayName="TreeNode",Le.isTreeNode=1;var ze=Le},39378:function(en,tn,Oe){"use strict";Oe.d(tn,{k:function(){return tt}});var Ge=Oe(59301),tt=Ge.createContext(null)},99581:function(en,tn,Oe){"use strict";Oe.d(tn,{O:function(){return ze.Z},Z:function(){return Xn}});var Ge=Oe(5891),tt=Oe(80962),Ue=Oe(80665),Ne=Oe(57259),Ke=Oe(26390),Be=Oe(79545),we=Oe(68550),Te=Oe(21882),ke=Oe(17928),Ie=Oe(7711),Ce=Oe(92310),Me=Oe.n(Ce),je=Oe(85108),ye=Oe(36994),ie=Oe(51395),ae=Oe(59301),fe=Oe(39378);function de(Nn){var _n=Nn.dropPosition,un=Nn.dropLevelOffset,qt=Nn.indent,Yt={pointerEvents:"none",position:"absolute",right:0,backgroundColor:"red",height:2};switch(_n){case-1:Yt.top=0,Yt.left=-un*qt;break;case 1:Yt.bottom=0,Yt.left=-un*qt;break;case 0:Yt.bottom=0,Yt.left=qt;break}return ae.createElement("div",{style:Yt})}function ve(Nn){if(Nn==null)throw new TypeError("Cannot destructure "+Nn)}var xe=Oe(29043),ce=Oe(19149),pe=Oe(28800),Se=Oe(70318),Le=Oe(43469),ze=Oe(39417);function Ze(Nn,_n){var un=ae.useState(!1),qt=(0,xe.Z)(un,2),Yt=qt[0],gn=qt[1];ae.useLayoutEffect(function(){if(Yt)return Nn(),function(){_n()}},[Yt]),ae.useLayoutEffect(function(){return gn(!0),function(){gn(!1)}},[])}var Ve=Oe(71430),Qe=["className","style","motion","motionNodes","motionType","onMotionStart","onMotionEnd","active","treeNodeRequiredProps"],$e=function(_n,un){var qt=_n.className,Yt=_n.style,gn=_n.motion,_t=_n.motionNodes,Jt=_n.motionType,wt=_n.onMotionStart,ut=_n.onMotionEnd,ot=_n.active,Pt=_n.treeNodeRequiredProps,Ht=(0,ce.Z)(_n,Qe),Mt=ae.useState(!0),hn=(0,xe.Z)(Mt,2),rr=hn[0],Jn=hn[1],An=ae.useContext(fe.k),$n=An.prefixCls,xr=_t&&Jt!=="hide";(0,pe.Z)(function(){_t&&xr!==rr&&Jn(xr)},[_t]);var mr=function(){_t&&wt()},Qr=ae.useRef(!1),di=function(){_t&&!Qr.current&&(Qr.current=!0,ut())};Ze(mr,di);var li=function(fo){xr===fo&&di()};return _t?ae.createElement(Le.default,(0,Ge.Z)({ref:un,visible:rr},gn,{motionAppear:Jt==="show",onVisibleChanged:li}),function(Ai,fo){var Io=Ai.className,bo=Ai.style;return ae.createElement("div",{ref:fo,className:Me()("".concat($n,"-treenode-motion"),Io),style:bo},_t.map(function(ai){var Pi=(0,Ge.Z)({},(ve(ai.data),ai.data)),ao=ai.title,Jr=ai.key,oo=ai.isStart,zi=ai.isEnd;delete Pi.children;var It=(0,Ve.H8)(Jr,Pt);return ae.createElement(ze.Z,(0,Ge.Z)({},Pi,It,{title:ao,active:ot,data:ai.data,key:Jr,isStart:oo,isEnd:zi}))}))}):ae.createElement(ze.Z,(0,Ge.Z)({domRef:un,className:qt,style:Yt},Ht,{active:ot}))};$e.displayName="MotionTreeNode";var gt=ae.forwardRef($e),lt=gt;function At(){var Nn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],_n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],un=Nn.length,qt=_n.length;if(Math.abs(un-qt)!==1)return{add:!1,key:null};function Yt(gn,_t){var Jt=new Map;gn.forEach(function(ut){Jt.set(ut,!0)});var wt=_t.filter(function(ut){return!Jt.has(ut)});return wt.length===1?wt[0]:null}return un<qt?{add:!0,key:Yt(Nn,_n)}:{add:!1,key:Yt(_n,Nn)}}function Et(Nn,_n,un){var qt=Nn.findIndex(function(Jt){return Jt.key===un}),Yt=Nn[qt+1],gn=_n.findIndex(function(Jt){return Jt.key===un});if(Yt){var _t=_n.findIndex(function(Jt){return Jt.key===Yt.key});return _n.slice(gn+1,_t)}return _n.slice(gn+1)}var vt=["prefixCls","data","selectable","checkable","expandedKeys","selectedKeys","checkedKeys","loadedKeys","loadingKeys","halfCheckedKeys","keyEntities","disabled","dragging","dragOverNodeKey","dropPosition","motion","height","itemHeight","virtual","focusable","activeItem","focused","tabIndex","onKeyDown","onFocus","onBlur","onActiveChange","onListChangeStart","onListChangeEnd"],Lt={width:0,height:0,display:"flex",overflow:"hidden",opacity:0,border:0,padding:0,margin:0},St=function(){},xt="RC_TREE_MOTION_".concat(Math.random()),ct={key:xt},Dt={key:xt,level:0,index:0,pos:"0",node:ct,nodes:[ct]},Xt={parent:null,children:[],pos:Dt.pos,data:ct,title:null,key:xt,isStart:[],isEnd:[]};function kt(Nn,_n,un,qt){return _n===!1||!un?Nn:Nn.slice(0,Math.ceil(un/qt)+1)}function Rt(Nn){var _n=Nn.key,un=Nn.pos;return(0,Ve.km)(_n,un)}function Gt(Nn){for(var _n=String(Nn.data.key),un=Nn;un.parent;)un=un.parent,_n="".concat(un.data.key," > ").concat(_n);return _n}var ln=ae.forwardRef(function(Nn,_n){var un=Nn.prefixCls,qt=Nn.data,Yt=Nn.selectable,gn=Nn.checkable,_t=Nn.expandedKeys,Jt=Nn.selectedKeys,wt=Nn.checkedKeys,ut=Nn.loadedKeys,ot=Nn.loadingKeys,Pt=Nn.halfCheckedKeys,Ht=Nn.keyEntities,Mt=Nn.disabled,hn=Nn.dragging,rr=Nn.dragOverNodeKey,Jn=Nn.dropPosition,An=Nn.motion,$n=Nn.height,xr=Nn.itemHeight,mr=Nn.virtual,Qr=Nn.focusable,di=Nn.activeItem,li=Nn.focused,Ai=Nn.tabIndex,fo=Nn.onKeyDown,Io=Nn.onFocus,bo=Nn.onBlur,ai=Nn.onActiveChange,Pi=Nn.onListChangeStart,ao=Nn.onListChangeEnd,Jr=(0,ce.Z)(Nn,vt),oo=ae.useRef(null),zi=ae.useRef(null);ae.useImperativeHandle(_n,function(){return{scrollTo:function(dn){oo.current.scrollTo(dn)},getIndentWidth:function(){return zi.current.offsetWidth}}});var It=ae.useState(_t),Yo=(0,xe.Z)(It,2),ko=Yo[0],Fr=Yo[1],Bi=ae.useState(qt),Fi=(0,xe.Z)(Bi,2),Qi=Fi[0],ii=Fi[1],Nt=ae.useState(qt),De=(0,xe.Z)(Nt,2),He=De[0],Re=De[1],et=ae.useState([]),ft=(0,xe.Z)(et,2),Bt=ft[0],Ct=ft[1],rn=ae.useState(null),nn=(0,xe.Z)(rn,2),Gn=nn[0],Sn=nn[1],cn=ae.useRef(qt);cn.current=qt;function Yn(){var On=cn.current;ii(On),Re(On),Ct([]),Sn(null),ao()}(0,pe.Z)(function(){Fr(_t);var On=At(ko,_t);if(On.key!==null)if(On.add){var dn=Qi.findIndex(function(gr){var Nr=gr.key;return Nr===On.key}),Bn=kt(Et(Qi,qt,On.key),mr,$n,xr),tr=Qi.slice();tr.splice(dn+1,0,Xt),Re(tr),Ct(Bn),Sn("show")}else{var hr=qt.findIndex(function(gr){var Nr=gr.key;return Nr===On.key}),pr=kt(Et(qt,Qi,On.key),mr,$n,xr),Mr=qt.slice();Mr.splice(hr+1,0,Xt),Re(Mr),Ct(pr),Sn("hide")}else Qi!==qt&&(ii(qt),Re(qt))},[_t,qt]),ae.useEffect(function(){hn||Yn()},[hn]);var ir=An?He:qt,fr={expandedKeys:_t,selectedKeys:Jt,loadedKeys:ut,loadingKeys:ot,checkedKeys:wt,halfCheckedKeys:Pt,dragOverNodeKey:rr,dropPosition:Jn,keyEntities:Ht};return ae.createElement(ae.Fragment,null,li&&di&&ae.createElement("span",{style:Lt,"aria-live":"assertive"},Gt(di)),ae.createElement("div",null,ae.createElement("input",{style:Lt,disabled:Qr===!1||Mt,tabIndex:Qr!==!1?Ai:null,onKeyDown:fo,onFocus:Io,onBlur:bo,value:"",onChange:St,"aria-label":"for screen reader"})),ae.createElement("div",{className:"".concat(un,"-treenode"),"aria-hidden":!0,style:{position:"absolute",pointerEvents:"none",visibility:"hidden",height:0,overflow:"hidden",border:0,padding:0}},ae.createElement("div",{className:"".concat(un,"-indent")},ae.createElement("div",{ref:zi,className:"".concat(un,"-indent-unit")}))),ae.createElement(Se.Z,(0,Ge.Z)({},Jr,{data:ir,itemKey:Rt,height:$n,fullHeight:!1,virtual:mr,itemHeight:xr,prefixCls:"".concat(un,"-list"),ref:oo,onVisibleChange:function(dn,Bn){var tr=new Set(dn),hr=Bn.filter(function(pr){return!tr.has(pr)});hr.some(function(pr){return Rt(pr)===xt})&&Yn()}}),function(On){var dn=On.pos,Bn=(0,Ge.Z)({},(ve(On.data),On.data)),tr=On.title,hr=On.key,pr=On.isStart,Mr=On.isEnd,gr=(0,Ve.km)(hr,dn);delete Bn.key,delete Bn.children;var Nr=(0,Ve.H8)(gr,fr);return ae.createElement(lt,(0,Ge.Z)({},Bn,Nr,{title:tr,active:!!di&&hr===di.key,pos:dn,data:On.data,isStart:pr,isEnd:Mr,motion:An,motionNodes:hr===xt?Bt:null,motionType:Gn,onMotionStart:Pi,onMotionEnd:Yn,treeNodeRequiredProps:fr,onMouseMove:function(){ai(null)}}))}))});ln.displayName="NodeList";var Rn=ln,jn=Oe(35654),er=Oe(90782),an=Oe(67841),Un=10,Kn=function(Nn){(0,ke.Z)(un,Nn);var _n=(0,Ie.Z)(un);function un(){var qt;(0,Be.Z)(this,un);for(var Yt=arguments.length,gn=new Array(Yt),_t=0;_t<Yt;_t++)gn[_t]=arguments[_t];return qt=_n.call.apply(_n,[this].concat(gn)),qt.destroyed=!1,qt.delayedDragEnterLogic=void 0,qt.loadingRetryTimes={},qt.state={keyEntities:{},indent:null,selectedKeys:[],checkedKeys:[],halfCheckedKeys:[],loadedKeys:[],loadingKeys:[],expandedKeys:[],draggingNodeKey:null,dragChildrenKeys:[],dropTargetKey:null,dropPosition:null,dropContainerKey:null,dropLevelOffset:null,dropTargetPos:null,dropAllowed:!0,dragOverNodeKey:null,treeData:[],flattenNodes:[],focused:!1,activeKey:null,listChanging:!1,prevProps:null,fieldNames:(0,Ve.w$)()},qt.dragStartMousePosition=null,qt.dragNode=void 0,qt.currentMouseOverDroppableNodeKey=null,qt.listRef=ae.createRef(),qt.onNodeDragStart=function(Jt,wt){var ut=qt.state,ot=ut.expandedKeys,Pt=ut.keyEntities,Ht=qt.props.onDragStart,Mt=wt.props.eventKey;qt.dragNode=wt,qt.dragStartMousePosition={x:Jt.clientX,y:Jt.clientY};var hn=(0,jn._5)(ot,Mt);qt.setState({draggingNodeKey:Mt,dragChildrenKeys:(0,jn.wA)(Mt,Pt),indent:qt.listRef.current.getIndentWidth()}),qt.setExpandedKeys(hn),window.addEventListener("dragend",qt.onWindowDragEnd),Ht==null||Ht({event:Jt,node:(0,Ve.F)(wt.props)})},qt.onNodeDragEnter=function(Jt,wt){var ut=qt.state,ot=ut.expandedKeys,Pt=ut.keyEntities,Ht=ut.dragChildrenKeys,Mt=ut.flattenNodes,hn=ut.indent,rr=qt.props,Jn=rr.onDragEnter,An=rr.onExpand,$n=rr.allowDrop,xr=rr.direction,mr=wt.props,Qr=mr.pos,di=mr.eventKey,li=(0,Te.Z)(qt),Ai=li.dragNode;if(qt.currentMouseOverDroppableNodeKey!==di&&(qt.currentMouseOverDroppableNodeKey=di),!Ai){qt.resetDragState();return}var fo=(0,jn.OM)(Jt,Ai,wt,hn,qt.dragStartMousePosition,$n,Mt,Pt,ot,xr),Io=fo.dropPosition,bo=fo.dropLevelOffset,ai=fo.dropTargetKey,Pi=fo.dropContainerKey,ao=fo.dropTargetPos,Jr=fo.dropAllowed,oo=fo.dragOverNodeKey;if(Ht.indexOf(ai)!==-1||!Jr){qt.resetDragState();return}if(qt.delayedDragEnterLogic||(qt.delayedDragEnterLogic={}),Object.keys(qt.delayedDragEnterLogic).forEach(function(zi){clearTimeout(qt.delayedDragEnterLogic[zi])}),Ai.props.eventKey!==wt.props.eventKey&&(Jt.persist(),qt.delayedDragEnterLogic[Qr]=window.setTimeout(function(){if(qt.state.draggingNodeKey!==null){var zi=(0,Ke.Z)(ot),It=(0,an.Z)(Pt,wt.props.eventKey);It&&(It.children||[]).length&&(zi=(0,jn.L0)(ot,wt.props.eventKey)),"expandedKeys"in qt.props||qt.setExpandedKeys(zi),An==null||An(zi,{node:(0,Ve.F)(wt.props),expanded:!0,nativeEvent:Jt.nativeEvent})}},800)),Ai.props.eventKey===ai&&bo===0){qt.resetDragState();return}qt.setState({dragOverNodeKey:oo,dropPosition:Io,dropLevelOffset:bo,dropTargetKey:ai,dropContainerKey:Pi,dropTargetPos:ao,dropAllowed:Jr}),Jn==null||Jn({event:Jt,node:(0,Ve.F)(wt.props),expandedKeys:ot})},qt.onNodeDragOver=function(Jt,wt){var ut=qt.state,ot=ut.dragChildrenKeys,Pt=ut.flattenNodes,Ht=ut.keyEntities,Mt=ut.expandedKeys,hn=ut.indent,rr=qt.props,Jn=rr.onDragOver,An=rr.allowDrop,$n=rr.direction,xr=(0,Te.Z)(qt),mr=xr.dragNode;if(mr){var Qr=(0,jn.OM)(Jt,mr,wt,hn,qt.dragStartMousePosition,An,Pt,Ht,Mt,$n),di=Qr.dropPosition,li=Qr.dropLevelOffset,Ai=Qr.dropTargetKey,fo=Qr.dropContainerKey,Io=Qr.dropAllowed,bo=Qr.dropTargetPos,ai=Qr.dragOverNodeKey;ot.indexOf(Ai)!==-1||!Io||(mr.props.eventKey===Ai&&li===0?qt.state.dropPosition===null&&qt.state.dropLevelOffset===null&&qt.state.dropTargetKey===null&&qt.state.dropContainerKey===null&&qt.state.dropTargetPos===null&&qt.state.dropAllowed===!1&&qt.state.dragOverNodeKey===null||qt.resetDragState():di===qt.state.dropPosition&&li===qt.state.dropLevelOffset&&Ai===qt.state.dropTargetKey&&fo===qt.state.dropContainerKey&&bo===qt.state.dropTargetPos&&Io===qt.state.dropAllowed&&ai===qt.state.dragOverNodeKey||qt.setState({dropPosition:di,dropLevelOffset:li,dropTargetKey:Ai,dropContainerKey:fo,dropTargetPos:bo,dropAllowed:Io,dragOverNodeKey:ai}),Jn==null||Jn({event:Jt,node:(0,Ve.F)(wt.props)}))}},qt.onNodeDragLeave=function(Jt,wt){qt.currentMouseOverDroppableNodeKey===wt.props.eventKey&&!Jt.currentTarget.contains(Jt.relatedTarget)&&(qt.resetDragState(),qt.currentMouseOverDroppableNodeKey=null);var ut=qt.props.onDragLeave;ut==null||ut({event:Jt,node:(0,Ve.F)(wt.props)})},qt.onWindowDragEnd=function(Jt){qt.onNodeDragEnd(Jt,null,!0),window.removeEventListener("dragend",qt.onWindowDragEnd)},qt.onNodeDragEnd=function(Jt,wt){var ut=qt.props.onDragEnd;qt.setState({dragOverNodeKey:null}),qt.cleanDragState(),ut==null||ut({event:Jt,node:(0,Ve.F)(wt.props)}),qt.dragNode=null,window.removeEventListener("dragend",qt.onWindowDragEnd)},qt.onNodeDrop=function(Jt,wt){var ut,ot=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,Pt=qt.state,Ht=Pt.dragChildrenKeys,Mt=Pt.dropPosition,hn=Pt.dropTargetKey,rr=Pt.dropTargetPos,Jn=Pt.dropAllowed;if(Jn){var An=qt.props.onDrop;if(qt.setState({dragOverNodeKey:null}),qt.cleanDragState(),hn!==null){var $n=(0,Ne.Z)((0,Ne.Z)({},(0,Ve.H8)(hn,qt.getTreeNodeRequiredProps())),{},{active:((ut=qt.getActiveItem())===null||ut===void 0?void 0:ut.key)===hn,data:(0,an.Z)(qt.state.keyEntities,hn).node}),xr=Ht.indexOf(hn)!==-1;(0,ie.ZP)(!xr,"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.");var mr=(0,jn.yx)(rr),Qr={event:Jt,node:(0,Ve.F)($n),dragNode:qt.dragNode?(0,Ve.F)(qt.dragNode.props):null,dragNodesKeys:[qt.dragNode.props.eventKey].concat(Ht),dropToGap:Mt!==0,dropPosition:Mt+Number(mr[mr.length-1])};ot||An==null||An(Qr),qt.dragNode=null}}},qt.cleanDragState=function(){var Jt=qt.state.draggingNodeKey;Jt!==null&&qt.setState({draggingNodeKey:null,dropPosition:null,dropContainerKey:null,dropTargetKey:null,dropLevelOffset:null,dropAllowed:!0,dragOverNodeKey:null}),qt.dragStartMousePosition=null,qt.currentMouseOverDroppableNodeKey=null},qt.triggerExpandActionExpand=function(Jt,wt){var ut=qt.state,ot=ut.expandedKeys,Pt=ut.flattenNodes,Ht=wt.expanded,Mt=wt.key,hn=wt.isLeaf;if(!(hn||Jt.shiftKey||Jt.metaKey||Jt.ctrlKey)){var rr=Pt.filter(function(An){return An.key===Mt})[0],Jn=(0,Ve.F)((0,Ne.Z)((0,Ne.Z)({},(0,Ve.H8)(Mt,qt.getTreeNodeRequiredProps())),{},{data:rr.data}));qt.setExpandedKeys(Ht?(0,jn._5)(ot,Mt):(0,jn.L0)(ot,Mt)),qt.onNodeExpand(Jt,Jn)}},qt.onNodeClick=function(Jt,wt){var ut=qt.props,ot=ut.onClick,Pt=ut.expandAction;Pt==="click"&&qt.triggerExpandActionExpand(Jt,wt),ot==null||ot(Jt,wt)},qt.onNodeDoubleClick=function(Jt,wt){var ut=qt.props,ot=ut.onDoubleClick,Pt=ut.expandAction;Pt==="doubleClick"&&qt.triggerExpandActionExpand(Jt,wt),ot==null||ot(Jt,wt)},qt.onNodeSelect=function(Jt,wt){var ut=qt.state.selectedKeys,ot=qt.state,Pt=ot.keyEntities,Ht=ot.fieldNames,Mt=qt.props,hn=Mt.onSelect,rr=Mt.multiple,Jn=wt.selected,An=wt[Ht.key],$n=!Jn;$n?rr?ut=(0,jn.L0)(ut,An):ut=[An]:ut=(0,jn._5)(ut,An);var xr=ut.map(function(mr){var Qr=(0,an.Z)(Pt,mr);return Qr?Qr.node:null}).filter(function(mr){return mr});qt.setUncontrolledState({selectedKeys:ut}),hn==null||hn(ut,{event:"select",selected:$n,node:wt,selectedNodes:xr,nativeEvent:Jt.nativeEvent})},qt.onNodeCheck=function(Jt,wt,ut){var ot=qt.state,Pt=ot.keyEntities,Ht=ot.checkedKeys,Mt=ot.halfCheckedKeys,hn=qt.props,rr=hn.checkStrictly,Jn=hn.onCheck,An=wt.key,$n,xr={event:"check",node:wt,checked:ut,nativeEvent:Jt.nativeEvent};if(rr){var mr=ut?(0,jn.L0)(Ht,An):(0,jn._5)(Ht,An),Qr=(0,jn._5)(Mt,An);$n={checked:mr,halfChecked:Qr},xr.checkedNodes=mr.map(function(bo){return(0,an.Z)(Pt,bo)}).filter(function(bo){return bo}).map(function(bo){return bo.node}),qt.setUncontrolledState({checkedKeys:mr})}else{var di=(0,er.S)([].concat((0,Ke.Z)(Ht),[An]),!0,Pt),li=di.checkedKeys,Ai=di.halfCheckedKeys;if(!ut){var fo=new Set(li);fo.delete(An);var Io=(0,er.S)(Array.from(fo),{checked:!1,halfCheckedKeys:Ai},Pt);li=Io.checkedKeys,Ai=Io.halfCheckedKeys}$n=li,xr.checkedNodes=[],xr.checkedNodesPositions=[],xr.halfCheckedKeys=Ai,li.forEach(function(bo){var ai=(0,an.Z)(Pt,bo);if(ai){var Pi=ai.node,ao=ai.pos;xr.checkedNodes.push(Pi),xr.checkedNodesPositions.push({node:Pi,pos:ao})}}),qt.setUncontrolledState({checkedKeys:li},!1,{halfCheckedKeys:Ai})}Jn==null||Jn($n,xr)},qt.onNodeLoad=function(Jt){var wt=Jt.key,ut=new Promise(function(ot,Pt){qt.setState(function(Ht){var Mt=Ht.loadedKeys,hn=Mt===void 0?[]:Mt,rr=Ht.loadingKeys,Jn=rr===void 0?[]:rr,An=qt.props,$n=An.loadData,xr=An.onLoad;if(!$n||hn.indexOf(wt)!==-1||Jn.indexOf(wt)!==-1)return null;var mr=$n(Jt);return mr.then(function(){var Qr=qt.state.loadedKeys,di=(0,jn.L0)(Qr,wt);xr==null||xr(di,{event:"load",node:Jt}),qt.setUncontrolledState({loadedKeys:di}),qt.setState(function(li){return{loadingKeys:(0,jn._5)(li.loadingKeys,wt)}}),ot()}).catch(function(Qr){if(qt.setState(function(li){return{loadingKeys:(0,jn._5)(li.loadingKeys,wt)}}),qt.loadingRetryTimes[wt]=(qt.loadingRetryTimes[wt]||0)+1,qt.loadingRetryTimes[wt]>=Un){var di=qt.state.loadedKeys;(0,ie.ZP)(!1,"Retry for `loadData` many times but still failed. No more retry."),qt.setUncontrolledState({loadedKeys:(0,jn.L0)(di,wt)}),ot()}Pt(Qr)}),{loadingKeys:(0,jn.L0)(Jn,wt)}})});return ut.catch(function(){}),ut},qt.onNodeMouseEnter=function(Jt,wt){var ut=qt.props.onMouseEnter;ut==null||ut({event:Jt,node:wt})},qt.onNodeMouseLeave=function(Jt,wt){var ut=qt.props.onMouseLeave;ut==null||ut({event:Jt,node:wt})},qt.onNodeContextMenu=function(Jt,wt){var ut=qt.props.onRightClick;ut&&(Jt.preventDefault(),ut({event:Jt,node:wt}))},qt.onFocus=function(){var Jt=qt.props.onFocus;qt.setState({focused:!0});for(var wt=arguments.length,ut=new Array(wt),ot=0;ot<wt;ot++)ut[ot]=arguments[ot];Jt==null||Jt.apply(void 0,ut)},qt.onBlur=function(){var Jt=qt.props.onBlur;qt.setState({focused:!1}),qt.onActiveChange(null);for(var wt=arguments.length,ut=new Array(wt),ot=0;ot<wt;ot++)ut[ot]=arguments[ot];Jt==null||Jt.apply(void 0,ut)},qt.getTreeNodeRequiredProps=function(){var Jt=qt.state,wt=Jt.expandedKeys,ut=Jt.selectedKeys,ot=Jt.loadedKeys,Pt=Jt.loadingKeys,Ht=Jt.checkedKeys,Mt=Jt.halfCheckedKeys,hn=Jt.dragOverNodeKey,rr=Jt.dropPosition,Jn=Jt.keyEntities;return{expandedKeys:wt||[],selectedKeys:ut||[],loadedKeys:ot||[],loadingKeys:Pt||[],checkedKeys:Ht||[],halfCheckedKeys:Mt||[],dragOverNodeKey:hn,dropPosition:rr,keyEntities:Jn}},qt.setExpandedKeys=function(Jt){var wt=qt.state,ut=wt.treeData,ot=wt.fieldNames,Pt=(0,Ve.oH)(ut,Jt,ot);qt.setUncontrolledState({expandedKeys:Jt,flattenNodes:Pt},!0)},qt.onNodeExpand=function(Jt,wt){var ut=qt.state.expandedKeys,ot=qt.state,Pt=ot.listChanging,Ht=ot.fieldNames,Mt=qt.props,hn=Mt.onExpand,rr=Mt.loadData,Jn=wt.expanded,An=wt[Ht.key];if(!Pt){var $n=ut.indexOf(An),xr=!Jn;if((0,ie.ZP)(Jn&&$n!==-1||!Jn&&$n===-1,"Expand state not sync with index check"),xr?ut=(0,jn.L0)(ut,An):ut=(0,jn._5)(ut,An),qt.setExpandedKeys(ut),hn==null||hn(ut,{node:wt,expanded:xr,nativeEvent:Jt.nativeEvent}),xr&&rr){var mr=qt.onNodeLoad(wt);mr&&mr.then(function(){var Qr=(0,Ve.oH)(qt.state.treeData,ut,Ht);qt.setUncontrolledState({flattenNodes:Qr})}).catch(function(){var Qr=qt.state.expandedKeys,di=(0,jn._5)(Qr,An);qt.setExpandedKeys(di)})}}},qt.onListChangeStart=function(){qt.setUncontrolledState({listChanging:!0})},qt.onListChangeEnd=function(){setTimeout(function(){qt.setUncontrolledState({listChanging:!1})})},qt.onActiveChange=function(Jt){var wt=qt.state.activeKey,ut=qt.props.onActiveChange;wt!==Jt&&(qt.setState({activeKey:Jt}),Jt!==null&&qt.scrollTo({key:Jt}),ut==null||ut(Jt))},qt.getActiveItem=function(){var Jt=qt.state,wt=Jt.activeKey,ut=Jt.flattenNodes;return wt===null?null:ut.find(function(ot){var Pt=ot.key;return Pt===wt})||null},qt.offsetActiveKey=function(Jt){var wt=qt.state,ut=wt.flattenNodes,ot=wt.activeKey,Pt=ut.findIndex(function(hn){var rr=hn.key;return rr===ot});Pt===-1&&Jt<0&&(Pt=ut.length),Pt=(Pt+Jt+ut.length)%ut.length;var Ht=ut[Pt];if(Ht){var Mt=Ht.key;qt.onActiveChange(Mt)}else qt.onActiveChange(null)},qt.onKeyDown=function(Jt){var wt=qt.state,ut=wt.activeKey,ot=wt.expandedKeys,Pt=wt.checkedKeys,Ht=wt.fieldNames,Mt=qt.props,hn=Mt.onKeyDown,rr=Mt.checkable,Jn=Mt.selectable;switch(Jt.which){case je.Z.UP:{qt.offsetActiveKey(-1),Jt.preventDefault();break}case je.Z.DOWN:{qt.offsetActiveKey(1),Jt.preventDefault();break}}var An=qt.getActiveItem();if(An&&An.data){var $n=qt.getTreeNodeRequiredProps(),xr=An.data.isLeaf===!1||!!(An.data[Ht.children]||[]).length,mr=(0,Ve.F)((0,Ne.Z)((0,Ne.Z)({},(0,Ve.H8)(ut,$n)),{},{data:An.data,active:!0}));switch(Jt.which){case je.Z.LEFT:{xr&&ot.includes(ut)?qt.onNodeExpand({},mr):An.parent&&qt.onActiveChange(An.parent.key),Jt.preventDefault();break}case je.Z.RIGHT:{xr&&!ot.includes(ut)?qt.onNodeExpand({},mr):An.children&&An.children.length&&qt.onActiveChange(An.children[0].key),Jt.preventDefault();break}case je.Z.ENTER:case je.Z.SPACE:{rr&&!mr.disabled&&mr.checkable!==!1&&!mr.disableCheckbox?qt.onNodeCheck({},mr,!Pt.includes(ut)):!rr&&Jn&&!mr.disabled&&mr.selectable!==!1&&qt.onNodeSelect({},mr);break}}}hn==null||hn(Jt)},qt.setUncontrolledState=function(Jt){var wt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,ut=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;if(!qt.destroyed){var ot=!1,Pt=!0,Ht={};Object.keys(Jt).forEach(function(Mt){if(Mt in qt.props){Pt=!1;return}ot=!0,Ht[Mt]=Jt[Mt]}),ot&&(!wt||Pt)&&qt.setState((0,Ne.Z)((0,Ne.Z)({},Ht),ut))}},qt.scrollTo=function(Jt){qt.listRef.current.scrollTo(Jt)},qt}return(0,we.Z)(un,[{key:"componentDidMount",value:function(){this.destroyed=!1,this.onUpdated()}},{key:"componentDidUpdate",value:function(){this.onUpdated()}},{key:"onUpdated",value:function(){var Yt=this.props.activeKey;Yt!==void 0&&Yt!==this.state.activeKey&&(this.setState({activeKey:Yt}),Yt!==null&&this.scrollTo({key:Yt}))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("dragend",this.onWindowDragEnd),this.destroyed=!0}},{key:"resetDragState",value:function(){this.setState({dragOverNodeKey:null,dropPosition:null,dropLevelOffset:null,dropTargetKey:null,dropContainerKey:null,dropTargetPos:null,dropAllowed:!1})}},{key:"render",value:function(){var Yt,gn=this.state,_t=gn.focused,Jt=gn.flattenNodes,wt=gn.keyEntities,ut=gn.draggingNodeKey,ot=gn.activeKey,Pt=gn.dropLevelOffset,Ht=gn.dropContainerKey,Mt=gn.dropTargetKey,hn=gn.dropPosition,rr=gn.dragOverNodeKey,Jn=gn.indent,An=this.props,$n=An.prefixCls,xr=An.className,mr=An.style,Qr=An.showLine,di=An.focusable,li=An.tabIndex,Ai=li===void 0?0:li,fo=An.selectable,Io=An.showIcon,bo=An.icon,ai=An.switcherIcon,Pi=An.draggable,ao=An.checkable,Jr=An.checkStrictly,oo=An.disabled,zi=An.motion,It=An.loadData,Yo=An.filterTreeNode,ko=An.height,Fr=An.itemHeight,Bi=An.virtual,Fi=An.titleRender,Qi=An.dropIndicatorRender,ii=An.onContextMenu,Nt=An.onScroll,De=An.direction,He=An.rootClassName,Re=An.rootStyle,et=(0,ye.Z)(this.props,{aria:!0,data:!0}),ft;return Pi&&((0,Ue.Z)(Pi)==="object"?ft=Pi:typeof Pi=="function"?ft={nodeDraggable:Pi}:ft={}),ae.createElement(fe.k.Provider,{value:{prefixCls:$n,selectable:fo,showIcon:Io,icon:bo,switcherIcon:ai,draggable:ft,draggingNodeKey:ut,checkable:ao,checkStrictly:Jr,disabled:oo,keyEntities:wt,dropLevelOffset:Pt,dropContainerKey:Ht,dropTargetKey:Mt,dropPosition:hn,dragOverNodeKey:rr,indent:Jn,direction:De,dropIndicatorRender:Qi,loadData:It,filterTreeNode:Yo,titleRender:Fi,onNodeClick:this.onNodeClick,onNodeDoubleClick:this.onNodeDoubleClick,onNodeExpand:this.onNodeExpand,onNodeSelect:this.onNodeSelect,onNodeCheck:this.onNodeCheck,onNodeLoad:this.onNodeLoad,onNodeMouseEnter:this.onNodeMouseEnter,onNodeMouseLeave:this.onNodeMouseLeave,onNodeContextMenu:this.onNodeContextMenu,onNodeDragStart:this.onNodeDragStart,onNodeDragEnter:this.onNodeDragEnter,onNodeDragOver:this.onNodeDragOver,onNodeDragLeave:this.onNodeDragLeave,onNodeDragEnd:this.onNodeDragEnd,onNodeDrop:this.onNodeDrop}},ae.createElement("div",{role:"tree",className:Me()($n,xr,He,(Yt={},(0,tt.Z)(Yt,"".concat($n,"-show-line"),Qr),(0,tt.Z)(Yt,"".concat($n,"-focused"),_t),(0,tt.Z)(Yt,"".concat($n,"-active-focused"),ot!==null),Yt)),style:Re},ae.createElement(Rn,(0,Ge.Z)({ref:this.listRef,prefixCls:$n,style:mr,data:Jt,disabled:oo,selectable:fo,checkable:!!ao,motion:zi,dragging:ut!==null,height:ko,itemHeight:Fr,virtual:Bi,focusable:di,focused:_t,tabIndex:Ai,activeItem:this.getActiveItem(),onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,onActiveChange:this.onActiveChange,onListChangeStart:this.onListChangeStart,onListChangeEnd:this.onListChangeEnd,onContextMenu:ii,onScroll:Nt},this.getTreeNodeRequiredProps(),et))))}}],[{key:"getDerivedStateFromProps",value:function(Yt,gn){var _t=gn.prevProps,Jt={prevProps:Yt};function wt(di){return!_t&&di in Yt||_t&&_t[di]!==Yt[di]}var ut,ot=gn.fieldNames;if(wt("fieldNames")&&(ot=(0,Ve.w$)(Yt.fieldNames),Jt.fieldNames=ot),wt("treeData")?ut=Yt.treeData:wt("children")&&((0,ie.ZP)(!1,"`children` of Tree is deprecated. Please use `treeData` instead."),ut=(0,Ve.zn)(Yt.children)),ut){Jt.treeData=ut;var Pt=(0,Ve.I8)(ut,{fieldNames:ot});Jt.keyEntities=(0,Ne.Z)((0,tt.Z)({},xt,Dt),Pt.keyEntities)}var Ht=Jt.keyEntities||gn.keyEntities;if(wt("expandedKeys")||_t&&wt("autoExpandParent"))Jt.expandedKeys=Yt.autoExpandParent||!_t&&Yt.defaultExpandParent?(0,jn.r7)(Yt.expandedKeys,Ht):Yt.expandedKeys;else if(!_t&&Yt.defaultExpandAll){var Mt=(0,Ne.Z)({},Ht);delete Mt[xt],Jt.expandedKeys=Object.keys(Mt).map(function(di){return Mt[di].key})}else!_t&&Yt.defaultExpandedKeys&&(Jt.expandedKeys=Yt.autoExpandParent||Yt.defaultExpandParent?(0,jn.r7)(Yt.defaultExpandedKeys,Ht):Yt.defaultExpandedKeys);if(Jt.expandedKeys||delete Jt.expandedKeys,ut||Jt.expandedKeys){var hn=(0,Ve.oH)(ut||gn.treeData,Jt.expandedKeys||gn.expandedKeys,ot);Jt.flattenNodes=hn}if(Yt.selectable&&(wt("selectedKeys")?Jt.selectedKeys=(0,jn.BT)(Yt.selectedKeys,Yt):!_t&&Yt.defaultSelectedKeys&&(Jt.selectedKeys=(0,jn.BT)(Yt.defaultSelectedKeys,Yt))),Yt.checkable){var rr;if(wt("checkedKeys")?rr=(0,jn.E6)(Yt.checkedKeys)||{}:!_t&&Yt.defaultCheckedKeys?rr=(0,jn.E6)(Yt.defaultCheckedKeys)||{}:ut&&(rr=(0,jn.E6)(Yt.checkedKeys)||{checkedKeys:gn.checkedKeys,halfCheckedKeys:gn.halfCheckedKeys}),rr){var Jn=rr,An=Jn.checkedKeys,$n=An===void 0?[]:An,xr=Jn.halfCheckedKeys,mr=xr===void 0?[]:xr;if(!Yt.checkStrictly){var Qr=(0,er.S)($n,!0,Ht);$n=Qr.checkedKeys,mr=Qr.halfCheckedKeys}Jt.checkedKeys=$n,Jt.halfCheckedKeys=mr}}return wt("loadedKeys")&&(Jt.loadedKeys=Yt.loadedKeys),Jt}}]),un}(ae.Component);Kn.defaultProps={prefixCls:"rc-tree",showLine:!1,showIcon:!0,selectable:!0,multiple:!1,checkable:!1,disabled:!1,checkStrictly:!1,draggable:!1,defaultExpandParent:!0,autoExpandParent:!1,defaultExpandAll:!1,defaultExpandedKeys:[],defaultCheckedKeys:[],defaultSelectedKeys:[],dropIndicatorRender:de,allowDrop:function(){return!0},expandAction:!1},Kn.TreeNode=ze.Z;var ur=Kn,Xn=ur},35654:function(en,tn,Oe){"use strict";Oe.d(tn,{BT:function(){return ae},E6:function(){return ve},L0:function(){return Ie},OM:function(){return ie},_5:function(){return ke},r7:function(){return xe},wA:function(){return Me},yx:function(){return Ce}});var Ge=Oe(26390),tt=Oe(80665),Ue=Oe(51395),Ne=Oe(59301),Ke=Oe(39417),Be=Oe(67841),we=Oe(71430),Te=null;function ke(ce,pe){if(!ce)return[];var Se=ce.slice(),Le=Se.indexOf(pe);return Le>=0&&Se.splice(Le,1),Se}function Ie(ce,pe){var Se=(ce||[]).slice();return Se.indexOf(pe)===-1&&Se.push(pe),Se}function Ce(ce){return ce.split("-")}function Me(ce,pe){var Se=[],Le=(0,Be.Z)(pe,ce);function ze(){var Ze=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];Ze.forEach(function(Ve){var Qe=Ve.key,$e=Ve.children;Se.push(Qe),ze($e)})}return ze(Le.children),Se}function je(ce){if(ce.parent){var pe=Ce(ce.pos);return Number(pe[pe.length-1])===ce.parent.children.length-1}return!1}function ye(ce){var pe=Ce(ce.pos);return Number(pe[pe.length-1])===0}function ie(ce,pe,Se,Le,ze,Ze,Ve,Qe,$e,gt){var lt,At=ce.clientX,Et=ce.clientY,vt=ce.target.getBoundingClientRect(),Lt=vt.top,St=vt.height,xt=(gt==="rtl"?-1:1)*(((ze==null?void 0:ze.x)||0)-At),ct=(xt-12)/Le,Dt=(0,Be.Z)(Qe,Se.props.eventKey);if(Et<Lt+St/2){var Xt=Ve.findIndex(function(Xn){return Xn.key===Dt.key}),kt=Xt<=0?0:Xt-1,Rt=Ve[kt].key;Dt=(0,Be.Z)(Qe,Rt)}var Gt=Dt.key,ln=Dt,Rn=Dt.key,jn=0,er=0;if(!$e.includes(Gt))for(var an=0;an<ct&&je(Dt);an+=1)Dt=Dt.parent,er+=1;var Un=pe.props.data,Kn=Dt.node,ur=!0;return ye(Dt)&&Dt.level===0&&Et<Lt+St/2&&Ze({dragNode:Un,dropNode:Kn,dropPosition:-1})&&Dt.key===Se.props.eventKey?jn=-1:(ln.children||[]).length&&$e.includes(Rn)?Ze({dragNode:Un,dropNode:Kn,dropPosition:0})?jn=0:ur=!1:er===0?ct>-1.5?Ze({dragNode:Un,dropNode:Kn,dropPosition:1})?jn=1:ur=!1:Ze({dragNode:Un,dropNode:Kn,dropPosition:0})?jn=0:Ze({dragNode:Un,dropNode:Kn,dropPosition:1})?jn=1:ur=!1:Ze({dragNode:Un,dropNode:Kn,dropPosition:1})?jn=1:ur=!1,{dropPosition:jn,dropLevelOffset:er,dropTargetKey:Dt.key,dropTargetPos:Dt.pos,dragOverNodeKey:Rn,dropContainerKey:jn===0?null:((lt=Dt.parent)===null||lt===void 0?void 0:lt.key)||null,dropAllowed:ur}}function ae(ce,pe){if(ce){var Se=pe.multiple;return Se?ce.slice():ce.length?[ce[0]]:ce}}var fe=function(pe){return pe};function de(ce,pe){if(!ce)return[];var Se=pe||{},Le=Se.processProps,ze=Le===void 0?fe:Le,Ze=Array.isArray(ce)?ce:[ce];return Ze.map(function(Ve){var Qe=Ve.children,$e=_objectWithoutProperties(Ve,Te),gt=de(Qe,pe);return React.createElement(TreeNode,_extends({key:$e.key},ze($e)),gt)})}function ve(ce){if(!ce)return null;var pe;if(Array.isArray(ce))pe={checkedKeys:ce,halfCheckedKeys:void 0};else if((0,tt.Z)(ce)==="object")pe={checkedKeys:ce.checked||void 0,halfCheckedKeys:ce.halfChecked||void 0};else return(0,Ue.ZP)(!1,"`checkedKeys` is not an array or an object"),null;return pe}function xe(ce,pe){var Se=new Set;function Le(ze){if(!Se.has(ze)){var Ze=(0,Be.Z)(pe,ze);if(Ze){Se.add(ze);var Ve=Ze.parent,Qe=Ze.node;Qe.disabled||Ve&&Le(Ve.key)}}}return(ce||[]).forEach(function(ze){Le(ze)}),(0,Ge.Z)(Se)}},90782:function(en,tn,Oe){"use strict";Oe.d(tn,{S:function(){return we}});var Ge=Oe(51395),tt=Oe(67841);function Ue(Te,ke){var Ie=new Set;return Te.forEach(function(Ce){ke.has(Ce)||Ie.add(Ce)}),Ie}function Ne(Te){var ke=Te||{},Ie=ke.disabled,Ce=ke.disableCheckbox,Me=ke.checkable;return!!(Ie||Ce)||Me===!1}function Ke(Te,ke,Ie,Ce){for(var Me=new Set(Te),je=new Set,ye=0;ye<=Ie;ye+=1){var ie=ke.get(ye)||new Set;ie.forEach(function(ve){var xe=ve.key,ce=ve.node,pe=ve.children,Se=pe===void 0?[]:pe;Me.has(xe)&&!Ce(ce)&&Se.filter(function(Le){return!Ce(Le.node)}).forEach(function(Le){Me.add(Le.key)})})}for(var ae=new Set,fe=Ie;fe>=0;fe-=1){var de=ke.get(fe)||new Set;de.forEach(function(ve){var xe=ve.parent,ce=ve.node;if(!(Ce(ce)||!ve.parent||ae.has(ve.parent.key))){if(Ce(ve.parent.node)){ae.add(xe.key);return}var pe=!0,Se=!1;(xe.children||[]).filter(function(Le){return!Ce(Le.node)}).forEach(function(Le){var ze=Le.key,Ze=Me.has(ze);pe&&!Ze&&(pe=!1),!Se&&(Ze||je.has(ze))&&(Se=!0)}),pe&&Me.add(xe.key),Se&&je.add(xe.key),ae.add(xe.key)}})}return{checkedKeys:Array.from(Me),halfCheckedKeys:Array.from(Ue(je,Me))}}function Be(Te,ke,Ie,Ce,Me){for(var je=new Set(Te),ye=new Set(ke),ie=0;ie<=Ce;ie+=1){var ae=Ie.get(ie)||new Set;ae.forEach(function(xe){var ce=xe.key,pe=xe.node,Se=xe.children,Le=Se===void 0?[]:Se;!je.has(ce)&&!ye.has(ce)&&!Me(pe)&&Le.filter(function(ze){return!Me(ze.node)}).forEach(function(ze){je.delete(ze.key)})})}ye=new Set;for(var fe=new Set,de=Ce;de>=0;de-=1){var ve=Ie.get(de)||new Set;ve.forEach(function(xe){var ce=xe.parent,pe=xe.node;if(!(Me(pe)||!xe.parent||fe.has(xe.parent.key))){if(Me(xe.parent.node)){fe.add(ce.key);return}var Se=!0,Le=!1;(ce.children||[]).filter(function(ze){return!Me(ze.node)}).forEach(function(ze){var Ze=ze.key,Ve=je.has(Ze);Se&&!Ve&&(Se=!1),!Le&&(Ve||ye.has(Ze))&&(Le=!0)}),Se||je.delete(ce.key),Le&&ye.add(ce.key),fe.add(ce.key)}})}return{checkedKeys:Array.from(je),halfCheckedKeys:Array.from(Ue(ye,je))}}function we(Te,ke,Ie,Ce){var Me=[],je;Ce?je=Ce:je=Ne;var ye=new Set(Te.filter(function(de){var ve=!!(0,tt.Z)(Ie,de);return ve||Me.push(de),ve})),ie=new Map,ae=0;Object.keys(Ie).forEach(function(de){var ve=Ie[de],xe=ve.level,ce=ie.get(xe);ce||(ce=new Set,ie.set(xe,ce)),ce.add(ve),ae=Math.max(ae,xe)}),(0,Ge.ZP)(!Me.length,"Tree missing follow keys: ".concat(Me.slice(0,100).map(function(de){return"'".concat(de,"'")}).join(", ")));var fe;return ke===!0?fe=Ke(ye,ie,ae,je):fe=Be(ye,ke.halfCheckedKeys,ie,ae,je),fe}},67841:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Ge}});function Ge(tt,Ue){return tt[Ue]}},71430:function(en,tn,Oe){"use strict";Oe.d(tn,{F:function(){return xe},H8:function(){return ve},I8:function(){return de},km:function(){return Me},oH:function(){return ae},w$:function(){return je},zn:function(){return ie}});var Ge=Oe(80665),tt=Oe(26390),Ue=Oe(57259),Ne=Oe(19149),Ke=Oe(38298),Be=Oe(64002),we=Oe(51395),Te=Oe(67841),ke=["children"];function Ie(ce,pe){return"".concat(ce,"-").concat(pe)}function Ce(ce){return ce&&ce.type&&ce.type.isTreeNode}function Me(ce,pe){return ce!=null?ce:pe}function je(ce){var pe=ce||{},Se=pe.title,Le=pe._title,ze=pe.key,Ze=pe.children,Ve=Se||"title";return{title:Ve,_title:Le||[Ve],key:ze||"key",children:Ze||"children"}}function ye(ce,pe){var Se=new Map;function Le(ze){var Ze=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";(ze||[]).forEach(function(Ve){var Qe=Ve[pe.key],$e=Ve[pe.children];warning(Qe!=null,"Tree node must have a certain key: [".concat(Ze).concat(Qe,"]"));var gt=String(Qe);warning(!Se.has(gt)||Qe===null||Qe===void 0,"Same 'key' exist in the Tree: ".concat(gt)),Se.set(gt,!0),Le($e,"".concat(Ze).concat(gt," > "))})}Le(ce)}function ie(ce){function pe(Se){var Le=(0,Ke.Z)(Se);return Le.map(function(ze){if(!Ce(ze))return(0,we.ZP)(!ze,"Tree/TreeNode can only accept TreeNode as children."),null;var Ze=ze.key,Ve=ze.props,Qe=Ve.children,$e=(0,Ne.Z)(Ve,ke),gt=(0,Ue.Z)({key:Ze},$e),lt=pe(Qe);return lt.length&&(gt.children=lt),gt}).filter(function(ze){return ze})}return pe(ce)}function ae(ce,pe,Se){var Le=je(Se),ze=Le._title,Ze=Le.key,Ve=Le.children,Qe=new Set(pe===!0?[]:pe),$e=[];function gt(lt){var At=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return lt.map(function(Et,vt){for(var Lt=Ie(At?At.pos:"0",vt),St=Me(Et[Ze],Lt),xt,ct=0;ct<ze.length;ct+=1){var Dt=ze[ct];if(Et[Dt]!==void 0){xt=Et[Dt];break}}var Xt=(0,Ue.Z)((0,Ue.Z)({},(0,Be.Z)(Et,[].concat((0,tt.Z)(ze),[Ze,Ve]))),{},{title:xt,key:St,parent:At,pos:Lt,children:null,data:Et,isStart:[].concat((0,tt.Z)(At?At.isStart:[]),[vt===0]),isEnd:[].concat((0,tt.Z)(At?At.isEnd:[]),[vt===lt.length-1])});return $e.push(Xt),pe===!0||Qe.has(St)?Xt.children=gt(Et[Ve]||[],Xt):Xt.children=[],Xt})}return gt(ce),$e}function fe(ce,pe,Se){var Le={};(0,Ge.Z)(Se)==="object"?Le=Se:Le={externalGetKey:Se},Le=Le||{};var ze=Le,Ze=ze.childrenPropName,Ve=ze.externalGetKey,Qe=ze.fieldNames,$e=je(Qe),gt=$e.key,lt=$e.children,At=Ze||lt,Et;Ve?typeof Ve=="string"?Et=function(St){return St[Ve]}:typeof Ve=="function"&&(Et=function(St){return Ve(St)}):Et=function(St,xt){return Me(St[gt],xt)};function vt(Lt,St,xt,ct){var Dt=Lt?Lt[At]:ce,Xt=Lt?Ie(xt.pos,St):"0",kt=Lt?[].concat((0,tt.Z)(ct),[Lt]):[];if(Lt){var Rt=Et(Lt,Xt),Gt={node:Lt,index:St,pos:Xt,key:Rt,parentPos:xt.node?xt.pos:null,level:xt.level+1,nodes:kt};pe(Gt)}Dt&&Dt.forEach(function(ln,Rn){vt(ln,Rn,{node:Lt,pos:Xt,level:xt?xt.level+1:-1},kt)})}vt(null)}function de(ce){var pe=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Se=pe.initWrapper,Le=pe.processEntity,ze=pe.onProcessFinished,Ze=pe.externalGetKey,Ve=pe.childrenPropName,Qe=pe.fieldNames,$e=arguments.length>2?arguments[2]:void 0,gt=Ze||$e,lt={},At={},Et={posEntities:lt,keyEntities:At};return Se&&(Et=Se(Et)||Et),fe(ce,function(vt){var Lt=vt.node,St=vt.index,xt=vt.pos,ct=vt.key,Dt=vt.parentPos,Xt=vt.level,kt=vt.nodes,Rt={node:Lt,nodes:kt,index:St,key:ct,pos:xt,level:Xt},Gt=Me(ct,xt);lt[xt]=Rt,At[Gt]=Rt,Rt.parent=lt[Dt],Rt.parent&&(Rt.parent.children=Rt.parent.children||[],Rt.parent.children.push(Rt)),Le&&Le(Rt,Et)},{externalGetKey:gt,childrenPropName:Ve,fieldNames:Qe}),ze&&ze(Et),Et}function ve(ce,pe){var Se=pe.expandedKeys,Le=pe.selectedKeys,ze=pe.loadedKeys,Ze=pe.loadingKeys,Ve=pe.checkedKeys,Qe=pe.halfCheckedKeys,$e=pe.dragOverNodeKey,gt=pe.dropPosition,lt=pe.keyEntities,At=(0,Te.Z)(lt,ce),Et={eventKey:ce,expanded:Se.indexOf(ce)!==-1,selected:Le.indexOf(ce)!==-1,loaded:ze.indexOf(ce)!==-1,loading:Ze.indexOf(ce)!==-1,checked:Ve.indexOf(ce)!==-1,halfChecked:Qe.indexOf(ce)!==-1,pos:String(At?At.pos:""),dragOver:$e===ce&&gt===0,dragOverGapTop:$e===ce&&gt===-1,dragOverGapBottom:$e===ce&&gt===1};return Et}function xe(ce){var pe=ce.data,Se=ce.expanded,Le=ce.selected,ze=ce.checked,Ze=ce.loaded,Ve=ce.loading,Qe=ce.halfChecked,$e=ce.dragOver,gt=ce.dragOverGapTop,lt=ce.dragOverGapBottom,At=ce.pos,Et=ce.active,vt=ce.eventKey,Lt=(0,Ue.Z)((0,Ue.Z)({},pe),{},{expanded:Se,selected:Le,checked:ze,loaded:Ze,loading:Ve,halfChecked:Qe,dragOver:$e,dragOverGapTop:gt,dragOverGapBottom:lt,pos:At,active:Et,key:vt});return"props"in Lt||Object.defineProperty(Lt,"props",{get:function(){return(0,we.ZP)(!1,"Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`."),ce}}),Lt}},8178:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return tt}});var Ge=Oe(4676);function tt(Ue,Ne,Ke,Be){var we=Ge.unstable_batchedUpdates?function(ke){Ge.unstable_batchedUpdates(Ke,ke)}:Ke;return Ue!=null&&Ue.addEventListener&&Ue.addEventListener(Ne,we,Be),{remove:function(){Ue!=null&&Ue.removeEventListener&&Ue.removeEventListener(Ne,we,Be)}}}},21783:function(en,tn,Oe){"use strict";Oe.d(tn,{g1:function(){return Ce},os:function(){return je}});var Ge=/margin|padding|width|height|max|min|offset/,tt={left:!0,top:!0},Ue={cssFloat:1,styleFloat:1,float:1};function Ne(ye){return ye.nodeType===1?ye.ownerDocument.defaultView.getComputedStyle(ye,null):{}}function Ke(ye,ie,ae){if(ie=ie.toLowerCase(),ae==="auto"){if(ie==="height")return ye.offsetHeight;if(ie==="width")return ye.offsetWidth}return ie in tt||(tt[ie]=Ge.test(ie)),tt[ie]?parseFloat(ae)||0:ae}function Be(ye,ie){var ae=arguments.length,fe=Ne(ye);return ie=Ue[ie]?"cssFloat"in ye.style?"cssFloat":"styleFloat":ie,ae===1?fe:Ke(ye,ie,fe[ie]||ye.style[ie])}function we(ye,ie,ae){var fe=arguments.length;if(ie=Ue[ie]?"cssFloat"in ye.style?"cssFloat":"styleFloat":ie,fe===3)return typeof ae=="number"&&Ge.test(ie)&&(ae="".concat(ae,"px")),ye.style[ie]=ae,ae;for(var de in ie)ie.hasOwnProperty(de)&&we(ye,de,ie[de]);return Ne(ye)}function Te(ye){return ye===document.body?document.documentElement.clientWidth:ye.offsetWidth}function ke(ye){return ye===document.body?window.innerHeight||document.documentElement.clientHeight:ye.offsetHeight}function Ie(){var ye=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth),ie=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);return{width:ye,height:ie}}function Ce(){var ye=document.documentElement.clientWidth,ie=window.innerHeight||document.documentElement.clientHeight;return{width:ye,height:ie}}function Me(){return{scrollLeft:Math.max(document.documentElement.scrollLeft,document.body.scrollLeft),scrollTop:Math.max(document.documentElement.scrollTop,document.body.scrollTop)}}function je(ye){var ie=ye.getBoundingClientRect(),ae=document.documentElement;return{left:ie.left+(window.pageXOffset||ae.scrollLeft)-(ae.clientLeft||document.body.clientLeft||0),top:ie.top+(window.pageYOffset||ae.scrollTop)-(ae.clientTop||document.body.clientTop||0)}}},24387:function(en,tn,Oe){"use strict";Oe.d(tn,{G:function(){return Ne}});var Ge=Oe(87746),tt=function(Be){if((0,Ge.Z)()&&window.document.documentElement){var we=Array.isArray(Be)?Be:[Be],Te=window.document.documentElement;return we.some(function(ke){return ke in Te.style})}return!1},Ue=function(Be,we){if(!tt(Be))return!1;var Te=document.createElement("div"),ke=Te.style[Be];return Te.style[Be]=we,Te.style[Be]!==ke};function Ne(Ke,Be){return!Array.isArray(Ke)&&Be!==void 0?Ue(Ke,Be):tt(Ke)}},70318:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return ur}});var Ge=Oe(5891),tt=Oe(80665),Ue=Oe(57259),Ne=Oe(80962),Ke=Oe(29043),Be=Oe(19149),we=Oe(92310),Te=Oe.n(we),ke=Oe(29301),Ie=Oe(80764),Ce=Oe(28800),Me=Oe(59301),je=Oe(4676),ye=Me.forwardRef(function(Xn,Nn){var _n=Xn.height,un=Xn.offsetY,qt=Xn.offsetX,Yt=Xn.children,gn=Xn.prefixCls,_t=Xn.onInnerResize,Jt=Xn.innerProps,wt=Xn.rtl,ut=Xn.extra,ot={},Pt={display:"flex",flexDirection:"column"};return un!==void 0&&(ot={height:_n,position:"relative",overflow:"hidden"},Pt=(0,Ue.Z)((0,Ue.Z)({},Pt),{},(0,Ne.Z)((0,Ne.Z)((0,Ne.Z)((0,Ne.Z)((0,Ne.Z)({transform:"translateY(".concat(un,"px)")},wt?"marginRight":"marginLeft",-qt),"position","absolute"),"left",0),"right",0),"top",0))),Me.createElement("div",{style:ot},Me.createElement(ke.Z,{onResize:function(Mt){var hn=Mt.offsetHeight;hn&&_t&&_t()}},Me.createElement("div",(0,Ge.Z)({style:Pt,className:Te()((0,Ne.Z)({},"".concat(gn,"-holder-inner"),gn)),ref:Nn},Jt),Yt,ut)))});ye.displayName="Filler";var ie=ye;function ae(Xn){var Nn=Xn.children,_n=Xn.setRef,un=Me.useCallback(function(qt){_n(qt)},[]);return Me.cloneElement(Nn,{ref:un})}function fe(Xn,Nn,_n,un,qt,Yt,gn,_t){var Jt=_t.getKey;return Xn.slice(Nn,_n+1).map(function(wt,ut){var ot=Nn+ut,Pt=gn(wt,ot,{style:{width:un},offsetX:qt}),Ht=Jt(wt);return Me.createElement(ae,{key:Ht,setRef:function(hn){return Yt(wt,hn)}},Pt)})}function de(Xn,Nn,_n,un){var qt=_n-Xn,Yt=Nn-_n,gn=Math.min(qt,Yt)*2;if(un<=gn){var _t=Math.floor(un/2);return un%2?_n+_t+1:_n-_t}return qt>Yt?_n-(un-Yt):_n+(un-qt)}function ve(Xn,Nn,_n){var un=Xn.length,qt=Nn.length,Yt,gn;if(un===0&&qt===0)return null;un<qt?(Yt=Xn,gn=Nn):(Yt=Nn,gn=Xn);var _t={__EMPTY_ITEM__:!0};function Jt(Mt){return Mt!==void 0?_n(Mt):_t}for(var wt=null,ut=Math.abs(un-qt)!==1,ot=0;ot<gn.length;ot+=1){var Pt=Jt(Yt[ot]),Ht=Jt(gn[ot]);if(Pt!==Ht){wt=ot,ut=ut||Pt!==Jt(gn[ot+1]);break}}return wt===null?null:{index:wt,multiple:ut}}function xe(Xn,Nn,_n){var un=Me.useState(Xn),qt=(0,Ke.Z)(un,2),Yt=qt[0],gn=qt[1],_t=Me.useState(null),Jt=(0,Ke.Z)(_t,2),wt=Jt[0],ut=Jt[1];return Me.useEffect(function(){var ot=ve(Yt||[],Xn||[],Nn);(ot==null?void 0:ot.index)!==void 0&&(_n==null||_n(ot.index),ut(Xn[ot.index])),gn(Xn)},[Xn]),[wt]}var ce=Oe(23073),pe=(typeof navigator=="undefined"?"undefined":(0,tt.Z)(navigator))==="object"&&/Firefox/i.test(navigator.userAgent),Se=pe,Le=function(Xn,Nn,_n,un){var qt=(0,Me.useRef)(!1),Yt=(0,Me.useRef)(null);function gn(){clearTimeout(Yt.current),qt.current=!0,Yt.current=setTimeout(function(){qt.current=!1},50)}var _t=(0,Me.useRef)({top:Xn,bottom:Nn,left:_n,right:un});return _t.current.top=Xn,_t.current.bottom=Nn,_t.current.left=_n,_t.current.right=un,function(Jt,wt){var ut=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,ot=Jt?wt<0&&_t.current.left||wt>0&&_t.current.right:wt<0&&_t.current.top||wt>0&&_t.current.bottom;return ut&&ot?(clearTimeout(Yt.current),qt.current=!1):(!ot||qt.current)&&gn(),!qt.current&&ot}};function ze(Xn,Nn,_n,un,qt,Yt,gn){var _t=(0,Me.useRef)(0),Jt=(0,Me.useRef)(null),wt=(0,Me.useRef)(null),ut=(0,Me.useRef)(!1),ot=Le(Nn,_n,un,qt);function Pt(An,$n){if(ce.Z.cancel(Jt.current),!ot(!1,$n)){var xr=An;if(!xr._virtualHandled)xr._virtualHandled=!0;else return;_t.current+=$n,wt.current=$n,Se||xr.preventDefault(),Jt.current=(0,ce.Z)(function(){var mr=ut.current?10:1;gn(_t.current*mr,!1),_t.current=0})}}function Ht(An,$n){gn($n,!0),Se||An.preventDefault()}var Mt=(0,Me.useRef)(null),hn=(0,Me.useRef)(null);function rr(An){if(Xn){ce.Z.cancel(hn.current),hn.current=(0,ce.Z)(function(){Mt.current=null},2);var $n=An.deltaX,xr=An.deltaY,mr=An.shiftKey,Qr=$n,di=xr;(Mt.current==="sx"||!Mt.current&&mr&&xr&&!$n)&&(Qr=xr,di=0,Mt.current="sx");var li=Math.abs(Qr),Ai=Math.abs(di);Mt.current===null&&(Mt.current=Yt&&li>Ai?"x":"y"),Mt.current==="y"?Pt(An,di):Ht(An,Qr)}}function Jn(An){Xn&&(ut.current=An.detail===wt.current)}return[rr,Jn]}function Ze(Xn,Nn,_n,un){var qt=Me.useMemo(function(){return[new Map,[]]},[Xn,_n.id,un]),Yt=(0,Ke.Z)(qt,2),gn=Yt[0],_t=Yt[1],Jt=function(ut){var ot=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ut,Pt=gn.get(ut),Ht=gn.get(ot);if(Pt===void 0||Ht===void 0)for(var Mt=Xn.length,hn=_t.length;hn<Mt;hn+=1){var rr,Jn=Xn[hn],An=Nn(Jn);gn.set(An,hn);var $n=(rr=_n.get(An))!==null&&rr!==void 0?rr:un;if(_t[hn]=(_t[hn-1]||0)+$n,An===ut&&(Pt=hn),An===ot&&(Ht=hn),Pt!==void 0&&Ht!==void 0)break}return{top:_t[Pt-1]||0,bottom:_t[Ht]}};return Jt}var Ve=Oe(85899),Qe=Oe(79545),$e=Oe(68550),gt=function(){function Xn(){(0,Qe.Z)(this,Xn),(0,Ne.Z)(this,"maps",void 0),(0,Ne.Z)(this,"id",0),(0,Ne.Z)(this,"diffKeys",new Set),this.maps=Object.create(null)}return(0,$e.Z)(Xn,[{key:"set",value:function(_n,un){this.maps[_n]=un,this.id+=1,this.diffKeys.add(_n)}},{key:"get",value:function(_n){return this.maps[_n]}},{key:"resetRecord",value:function(){this.diffKeys.clear()}},{key:"getRecord",value:function(){return this.diffKeys}}]),Xn}(),lt=gt;function At(Xn){var Nn=parseFloat(Xn);return isNaN(Nn)?0:Nn}function Et(Xn,Nn,_n){var un=Me.useState(0),qt=(0,Ke.Z)(un,2),Yt=qt[0],gn=qt[1],_t=(0,Me.useRef)(new Map),Jt=(0,Me.useRef)(new lt),wt=(0,Me.useRef)(0);function ut(){wt.current+=1}function ot(){var Ht=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;ut();var Mt=function(){_t.current.forEach(function(Jn,An){if(Jn&&Jn.offsetParent){var $n=(0,Ve.ZP)(Jn),xr=$n.offsetHeight,mr=getComputedStyle($n),Qr=mr.marginTop,di=mr.marginBottom,li=At(Qr),Ai=At(di),fo=xr+li+Ai;Jt.current.get(An)!==fo&&Jt.current.set(An,fo)}}),gn(function(Jn){return Jn+1})};if(Ht)Mt();else{wt.current+=1;var hn=wt.current;Promise.resolve().then(function(){hn===wt.current&&Mt()})}}function Pt(Ht,Mt){var hn=Xn(Ht),rr=_t.current.get(hn);Mt?(_t.current.set(hn,Mt),ot()):_t.current.delete(hn),!rr!=!Mt&&(Mt?Nn==null||Nn(Ht):_n==null||_n(Ht))}return(0,Me.useEffect)(function(){return ut},[]),[Pt,ot,Jt.current,Yt]}var vt=14/15;function Lt(Xn,Nn,_n){var un=(0,Me.useRef)(!1),qt=(0,Me.useRef)(0),Yt=(0,Me.useRef)(0),gn=(0,Me.useRef)(null),_t=(0,Me.useRef)(null),Jt,wt=function(Ht){if(un.current){var Mt=Math.ceil(Ht.touches[0].pageX),hn=Math.ceil(Ht.touches[0].pageY),rr=qt.current-Mt,Jn=Yt.current-hn,An=Math.abs(rr)>Math.abs(Jn);An?qt.current=Mt:Yt.current=hn;var $n=_n(An,An?rr:Jn,!1,Ht);$n&&Ht.preventDefault(),clearInterval(_t.current),$n&&(_t.current=setInterval(function(){An?rr*=vt:Jn*=vt;var xr=Math.floor(An?rr:Jn);(!_n(An,xr,!0)||Math.abs(xr)<=.1)&&clearInterval(_t.current)},16))}},ut=function(){un.current=!1,Jt()},ot=function(Ht){Jt(),Ht.touches.length===1&&!un.current&&(un.current=!0,qt.current=Math.ceil(Ht.touches[0].pageX),Yt.current=Math.ceil(Ht.touches[0].pageY),gn.current=Ht.target,gn.current.addEventListener("touchmove",wt,{passive:!1}),gn.current.addEventListener("touchend",ut,{passive:!0}))};Jt=function(){gn.current&&(gn.current.removeEventListener("touchmove",wt),gn.current.removeEventListener("touchend",ut))},(0,Ce.Z)(function(){return Xn&&Nn.current.addEventListener("touchstart",ot,{passive:!0}),function(){var Pt;(Pt=Nn.current)===null||Pt===void 0||Pt.removeEventListener("touchstart",ot),Jt(),clearInterval(_t.current)}},[Xn])}function St(Xn){return Math.floor(Math.pow(Xn,.5))}function xt(Xn,Nn){var _n="touches"in Xn?Xn.touches[0]:Xn;return _n[Nn?"pageX":"pageY"]-window[Nn?"scrollX":"scrollY"]}function ct(Xn,Nn,_n){Me.useEffect(function(){var un=Nn.current;if(Xn&&un){var qt=!1,Yt,gn,_t=function(){ce.Z.cancel(Yt)},Jt=function Pt(){_t(),Yt=(0,ce.Z)(function(){_n(gn),Pt()})},wt=function(Ht){var Mt=Ht;Mt._virtualHandled||(Mt._virtualHandled=!0,qt=!0)},ut=function(){qt=!1,_t()},ot=function(Ht){if(qt){var Mt=xt(Ht,!1),hn=un.getBoundingClientRect(),rr=hn.top,Jn=hn.bottom;if(Mt<=rr){var An=rr-Mt;gn=-St(An),Jt()}else if(Mt>=Jn){var $n=Mt-Jn;gn=St($n),Jt()}else _t()}};return un.addEventListener("mousedown",wt),un.ownerDocument.addEventListener("mouseup",ut),un.ownerDocument.addEventListener("mousemove",ot),function(){un.removeEventListener("mousedown",wt),un.ownerDocument.removeEventListener("mouseup",ut),un.ownerDocument.removeEventListener("mousemove",ot),_t()}}},[Xn])}var Dt=10;function Xt(Xn,Nn,_n,un,qt,Yt,gn,_t){var Jt=Me.useRef(),wt=Me.useState(null),ut=(0,Ke.Z)(wt,2),ot=ut[0],Pt=ut[1];return(0,Ce.Z)(function(){if(ot&&ot.times<Dt){if(!Xn.current){Pt(function(It){return(0,Ue.Z)({},It)});return}Yt();var Ht=ot.targetAlign,Mt=ot.originAlign,hn=ot.index,rr=ot.offset,Jn=Xn.current.clientHeight,An=!1,$n=Ht,xr=null;if(Jn){for(var mr=Ht||Mt,Qr=0,di=0,li=0,Ai=Math.min(Nn.length-1,hn),fo=0;fo<=Ai;fo+=1){var Io=qt(Nn[fo]);di=Qr;var bo=_n.get(Io);li=di+(bo===void 0?un:bo),Qr=li}for(var ai=mr==="top"?rr:Jn-rr,Pi=Ai;Pi>=0;Pi-=1){var ao=qt(Nn[Pi]),Jr=_n.get(ao);if(Jr===void 0){An=!0;break}if(ai-=Jr,ai<=0)break}switch(mr){case"top":xr=di-rr;break;case"bottom":xr=li-Jn+rr;break;default:{var oo=Xn.current.scrollTop,zi=oo+Jn;di<oo?$n="top":li>zi&&($n="bottom")}}xr!==null&&gn(xr),xr!==ot.lastTop&&(An=!0)}An&&Pt((0,Ue.Z)((0,Ue.Z)({},ot),{},{times:ot.times+1,targetAlign:$n,lastTop:xr}))}},[ot,Xn.current]),function(Ht){if(Ht==null){_t();return}if(ce.Z.cancel(Jt.current),typeof Ht=="number")gn(Ht);else if(Ht&&(0,tt.Z)(Ht)==="object"){var Mt,hn=Ht.align;"index"in Ht?Mt=Ht.index:Mt=Nn.findIndex(function(An){return qt(An)===Ht.key});var rr=Ht.offset,Jn=rr===void 0?0:rr;Pt({times:0,index:Mt,offset:Jn,originAlign:hn})}}}var kt=Me.forwardRef(function(Xn,Nn){var _n=Xn.prefixCls,un=Xn.rtl,qt=Xn.scrollOffset,Yt=Xn.scrollRange,gn=Xn.onStartMove,_t=Xn.onStopMove,Jt=Xn.onScroll,wt=Xn.horizontal,ut=Xn.spinSize,ot=Xn.containerSize,Pt=Xn.style,Ht=Xn.thumbStyle,Mt=Me.useState(!1),hn=(0,Ke.Z)(Mt,2),rr=hn[0],Jn=hn[1],An=Me.useState(null),$n=(0,Ke.Z)(An,2),xr=$n[0],mr=$n[1],Qr=Me.useState(null),di=(0,Ke.Z)(Qr,2),li=di[0],Ai=di[1],fo=!un,Io=Me.useRef(),bo=Me.useRef(),ai=Me.useState(!1),Pi=(0,Ke.Z)(ai,2),ao=Pi[0],Jr=Pi[1],oo=Me.useRef(),zi=function(){clearTimeout(oo.current),Jr(!0),oo.current=setTimeout(function(){Jr(!1)},3e3)},It=Yt-ot||0,Yo=ot-ut||0,ko=Me.useMemo(function(){if(qt===0||It===0)return 0;var Re=qt/It;return Re*Yo},[qt,It,Yo]),Fr=function(et){et.stopPropagation(),et.preventDefault()},Bi=Me.useRef({top:ko,dragging:rr,pageY:xr,startTop:li});Bi.current={top:ko,dragging:rr,pageY:xr,startTop:li};var Fi=function(et){Jn(!0),mr(xt(et,wt)),Ai(Bi.current.top),gn(),et.stopPropagation(),et.preventDefault()};Me.useEffect(function(){var Re=function(Ct){Ct.preventDefault()},et=Io.current,ft=bo.current;return et.addEventListener("touchstart",Re,{passive:!1}),ft.addEventListener("touchstart",Fi,{passive:!1}),function(){et.removeEventListener("touchstart",Re),ft.removeEventListener("touchstart",Fi)}},[]);var Qi=Me.useRef();Qi.current=It;var ii=Me.useRef();ii.current=Yo,Me.useEffect(function(){if(rr){var Re,et=function(Ct){var rn=Bi.current,nn=rn.dragging,Gn=rn.pageY,Sn=rn.startTop;ce.Z.cancel(Re);var cn=Io.current.getBoundingClientRect(),Yn=ot/(wt?cn.width:cn.height);if(nn){var ir=(xt(Ct,wt)-Gn)*Yn,fr=Sn;!fo&&wt?fr-=ir:fr+=ir;var On=Qi.current,dn=ii.current,Bn=dn?fr/dn:0,tr=Math.ceil(Bn*On);tr=Math.max(tr,0),tr=Math.min(tr,On),Re=(0,ce.Z)(function(){Jt(tr,wt)})}},ft=function(){Jn(!1),_t()};return window.addEventListener("mousemove",et,{passive:!0}),window.addEventListener("touchmove",et,{passive:!0}),window.addEventListener("mouseup",ft,{passive:!0}),window.addEventListener("touchend",ft,{passive:!0}),function(){window.removeEventListener("mousemove",et),window.removeEventListener("touchmove",et),window.removeEventListener("mouseup",ft),window.removeEventListener("touchend",ft),ce.Z.cancel(Re)}}},[rr]),Me.useEffect(function(){return zi(),function(){clearTimeout(oo.current)}},[qt]),Me.useImperativeHandle(Nn,function(){return{delayHidden:zi}});var Nt="".concat(_n,"-scrollbar"),De={position:"absolute",visibility:ao?null:"hidden"},He={position:"absolute",background:"rgba(0, 0, 0, 0.5)",borderRadius:99,cursor:"pointer",userSelect:"none"};return wt?(De.height=8,De.left=0,De.right=0,De.bottom=0,He.height="100%",He.width=ut,fo?He.left=ko:He.right=ko):(De.width=8,De.top=0,De.bottom=0,fo?De.right=0:De.left=0,He.width="100%",He.height=ut,He.top=ko),Me.createElement("div",{ref:Io,className:Te()(Nt,(0,Ne.Z)((0,Ne.Z)((0,Ne.Z)({},"".concat(Nt,"-horizontal"),wt),"".concat(Nt,"-vertical"),!wt),"".concat(Nt,"-visible"),ao)),style:(0,Ue.Z)((0,Ue.Z)({},De),Pt),onMouseDown:Fr,onMouseMove:zi},Me.createElement("div",{ref:bo,className:Te()("".concat(Nt,"-thumb"),(0,Ne.Z)({},"".concat(Nt,"-thumb-moving"),rr)),style:(0,Ue.Z)((0,Ue.Z)({},He),Ht),onMouseDown:Fi}))}),Rt=kt,Gt=20;function ln(){var Xn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,Nn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,_n=Xn/Nn*Xn;return isNaN(_n)&&(_n=0),_n=Math.max(_n,Gt),Math.floor(_n)}var Rn=["prefixCls","className","height","itemHeight","fullHeight","style","data","children","itemKey","virtual","direction","scrollWidth","component","onScroll","onVirtualScroll","onVisibleChange","innerProps","extraRender","styles"],jn=[],er={overflowY:"auto",overflowAnchor:"none"};function an(Xn,Nn){var _n=Xn.prefixCls,un=_n===void 0?"rc-virtual-list":_n,qt=Xn.className,Yt=Xn.height,gn=Xn.itemHeight,_t=Xn.fullHeight,Jt=_t===void 0?!0:_t,wt=Xn.style,ut=Xn.data,ot=Xn.children,Pt=Xn.itemKey,Ht=Xn.virtual,Mt=Xn.direction,hn=Xn.scrollWidth,rr=Xn.component,Jn=rr===void 0?"div":rr,An=Xn.onScroll,$n=Xn.onVirtualScroll,xr=Xn.onVisibleChange,mr=Xn.innerProps,Qr=Xn.extraRender,di=Xn.styles,li=(0,Be.Z)(Xn,Rn),Ai=Me.useCallback(function(ma){return typeof Pt=="function"?Pt(ma):ma==null?void 0:ma[Pt]},[Pt]),fo=Et(Ai,null,null),Io=(0,Ke.Z)(fo,4),bo=Io[0],ai=Io[1],Pi=Io[2],ao=Io[3],Jr=!!(Ht!==!1&&Yt&&gn),oo=Me.useMemo(function(){return Object.values(Pi.maps).reduce(function(ma,aa){return ma+aa},0)},[Pi.id,Pi.maps]),zi=Jr&&ut&&(Math.max(gn*ut.length,oo)>Yt||!!hn),It=Mt==="rtl",Yo=Te()(un,(0,Ne.Z)({},"".concat(un,"-rtl"),It),qt),ko=ut||jn,Fr=(0,Me.useRef)(),Bi=(0,Me.useRef)(),Fi=(0,Me.useRef)(),Qi=(0,Me.useState)(0),ii=(0,Ke.Z)(Qi,2),Nt=ii[0],De=ii[1],He=(0,Me.useState)(0),Re=(0,Ke.Z)(He,2),et=Re[0],ft=Re[1],Bt=(0,Me.useState)(!1),Ct=(0,Ke.Z)(Bt,2),rn=Ct[0],nn=Ct[1],Gn=function(){nn(!0)},Sn=function(){nn(!1)},cn={getKey:Ai};function Yn(ma){De(function(aa){var ys;typeof ma=="function"?ys=ma(aa):ys=ma;var Fs=Ao(ys);return Fr.current.scrollTop=Fs,Fs})}var ir=(0,Me.useRef)({start:0,end:ko.length}),fr=(0,Me.useRef)(),On=xe(ko,Ai),dn=(0,Ke.Z)(On,1),Bn=dn[0];fr.current=Bn;var tr=Me.useMemo(function(){if(!Jr)return{scrollHeight:void 0,start:0,end:ko.length-1,offset:void 0};if(!zi){var ma;return{scrollHeight:((ma=Bi.current)===null||ma===void 0?void 0:ma.offsetHeight)||0,start:0,end:ko.length-1,offset:void 0}}for(var aa=0,ys,Fs,es,ml=ko.length,ta=0;ta<ml;ta+=1){var Qo=ko[ta],Ba=Ai(Qo),Ii=Pi.get(Ba),Gs=aa+(Ii===void 0?gn:Ii);Gs>=Nt&&ys===void 0&&(ys=ta,Fs=aa),Gs>Nt+Yt&&es===void 0&&(es=ta),aa=Gs}return ys===void 0&&(ys=0,Fs=0,es=Math.ceil(Yt/gn)),es===void 0&&(es=ko.length-1),es=Math.min(es+1,ko.length-1),{scrollHeight:aa,start:ys,end:es,offset:Fs}},[zi,Jr,Nt,ko,ao,Yt]),hr=tr.scrollHeight,pr=tr.start,Mr=tr.end,gr=tr.offset;ir.current.start=pr,ir.current.end=Mr,Me.useLayoutEffect(function(){var ma=Pi.getRecord();if(ma.size===1){var aa=Array.from(ma)[0],ys=Ai(ko[pr]);if(ys===aa){var Fs=Pi.get(aa),es=Fs-gn;Yn(function(ml){return ml+es})}}Pi.resetRecord()},[hr]);var Nr=Me.useState({width:0,height:Yt}),Kr=(0,Ke.Z)(Nr,2),Hn=Kr[0],br=Kr[1],ui=function(aa){br({width:aa.offsetWidth,height:aa.offsetHeight})},gi=(0,Me.useRef)(),Zi=(0,Me.useRef)(),nr=Me.useMemo(function(){return ln(Hn.width,hn)},[Hn.width,hn]),xi=Me.useMemo(function(){return ln(Hn.height,hr)},[Hn.height,hr]),Vi=hr-Yt,Gi=(0,Me.useRef)(Vi);Gi.current=Vi;function Ao(ma){var aa=ma;return Number.isNaN(Gi.current)||(aa=Math.min(aa,Gi.current)),aa=Math.max(aa,0),aa}var io=Nt<=0,Do=Nt>=Vi,Bo=et<=0,Ui=et>=hn,Xo=Le(io,Do,Bo,Ui),Hr=function(){return{x:It?-et:et,y:Nt}},wa=(0,Me.useRef)(Hr()),Zr=(0,Ie.useEvent)(function(ma){if($n){var aa=(0,Ue.Z)((0,Ue.Z)({},Hr()),ma);(wa.current.x!==aa.x||wa.current.y!==aa.y)&&($n(aa),wa.current=aa)}});function Ca(ma,aa){var ys=ma;aa?((0,je.flushSync)(function(){ft(ys)}),Zr()):Yn(ys)}function ss(ma){var aa=ma.currentTarget.scrollTop;aa!==Nt&&Yn(aa),An==null||An(ma),Zr()}var oa=function(aa){var ys=aa,Fs=hn?hn-Hn.width:0;return ys=Math.max(ys,0),ys=Math.min(ys,Fs),ys},Os=(0,Ie.useEvent)(function(ma,aa){aa?((0,je.flushSync)(function(){ft(function(ys){var Fs=ys+(It?-ma:ma);return oa(Fs)})}),Zr()):Yn(function(ys){var Fs=ys+ma;return Fs})}),rs=ze(Jr,io,Do,Bo,Ui,!!hn,Os),po=(0,Ke.Z)(rs,2),zo=po[0],za=po[1];Lt(Jr,Fr,function(ma,aa,ys,Fs){var es=Fs;return Xo(ma,aa,ys)?!1:!es||!es._virtualHandled?(es&&(es._virtualHandled=!0),zo({preventDefault:function(){},deltaX:ma?aa:0,deltaY:ma?0:aa}),!0):!1}),ct(zi,Fr,function(ma){Yn(function(aa){return aa+ma})}),(0,Ce.Z)(function(){function ma(ys){var Fs=io&&ys.detail<0,es=Do&&ys.detail>0;Jr&&!Fs&&!es&&ys.preventDefault()}var aa=Fr.current;return aa.addEventListener("wheel",zo,{passive:!1}),aa.addEventListener("DOMMouseScroll",za,{passive:!0}),aa.addEventListener("MozMousePixelScroll",ma,{passive:!1}),function(){aa.removeEventListener("wheel",zo),aa.removeEventListener("DOMMouseScroll",za),aa.removeEventListener("MozMousePixelScroll",ma)}},[Jr,io,Do]),(0,Ce.Z)(function(){if(hn){var ma=oa(et);ft(ma),Zr({x:ma})}},[Hn.width,hn]);var Ka=function(){var aa,ys;(aa=gi.current)===null||aa===void 0||aa.delayHidden(),(ys=Zi.current)===null||ys===void 0||ys.delayHidden()},Ji=Xt(Fr,ko,Pi,gn,Ai,function(){return ai(!0)},Yn,Ka);Me.useImperativeHandle(Nn,function(){return{nativeElement:Fi.current,getScrollInfo:Hr,scrollTo:function(aa){function ys(Fs){return Fs&&(0,tt.Z)(Fs)==="object"&&("left"in Fs||"top"in Fs)}ys(aa)?(aa.left!==void 0&&ft(oa(aa.left)),Ji(aa.top)):Ji(aa)}}}),(0,Ce.Z)(function(){if(xr){var ma=ko.slice(pr,Mr+1);xr(ma,ko)}},[pr,Mr,ko]);var yn=Ze(ko,Ai,Pi,gn),ja=Qr==null?void 0:Qr({start:pr,end:Mr,virtual:zi,offsetX:et,offsetY:gr,rtl:It,getSize:yn}),is=fe(ko,pr,Mr,hn,et,bo,ot,cn),_a=null;Yt&&(_a=(0,Ue.Z)((0,Ne.Z)({},Jt?"height":"maxHeight",Yt),er),Jr&&(_a.overflowY="hidden",hn&&(_a.overflowX="hidden"),rn&&(_a.pointerEvents="none")));var Us={};return It&&(Us.dir="rtl"),Me.createElement("div",(0,Ge.Z)({ref:Fi,style:(0,Ue.Z)((0,Ue.Z)({},wt),{},{position:"relative"}),className:Yo},Us,li),Me.createElement(ke.Z,{onResize:ui},Me.createElement(Jn,{className:"".concat(un,"-holder"),style:_a,ref:Fr,onScroll:ss,onMouseEnter:Ka},Me.createElement(ie,{prefixCls:un,height:hr,offsetX:et,offsetY:gr,scrollWidth:hn,onInnerResize:ai,ref:Bi,innerProps:mr,rtl:It,extra:ja},is))),zi&&hr>Yt&&Me.createElement(Rt,{ref:gi,prefixCls:un,scrollOffset:Nt,scrollRange:hr,rtl:It,onScroll:Ca,onStartMove:Gn,onStopMove:Sn,spinSize:xi,containerSize:Hn.height,style:di==null?void 0:di.verticalScrollBar,thumbStyle:di==null?void 0:di.verticalScrollBarThumb}),zi&&hn>Hn.width&&Me.createElement(Rt,{ref:Zi,prefixCls:un,scrollOffset:et,scrollRange:hn,rtl:It,onScroll:Ca,onStartMove:Gn,onStopMove:Sn,spinSize:nr,containerSize:Hn.width,horizontal:!0,style:di==null?void 0:di.horizontalScrollBar,thumbStyle:di==null?void 0:di.horizontalScrollBarThumb}))}var Un=Me.forwardRef(an);Un.displayName="List";var Kn=Un,ur=Kn},51581:function(en,tn,Oe){"use strict";Object.defineProperty(tn,"__esModule",{value:!0});var Ge=function(){function Me(je,ye){for(var ie=0;ie<ye.length;ie++){var ae=ye[ie];ae.enumerable=ae.enumerable||!1,ae.configurable=!0,"value"in ae&&(ae.writable=!0),Object.defineProperty(je,ae.key,ae)}}return function(je,ye,ie){return ye&&Me(je.prototype,ye),ie&&Me(je,ie),je}}(),tt=Oe(59301),Ue=Be(tt),Ne=Oe(12708),Ke=Be(Ne);function Be(Me){return Me&&Me.__esModule?Me:{default:Me}}function we(Me,je){var ye={};for(var ie in Me)je.indexOf(ie)>=0||Object.prototype.hasOwnProperty.call(Me,ie)&&(ye[ie]=Me[ie]);return ye}function Te(Me,je){if(!(Me instanceof je))throw new TypeError("Cannot call a class as a function")}function ke(Me,je){if(!Me)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return je&&(typeof je=="object"||typeof je=="function")?je:Me}function Ie(Me,je){if(typeof je!="function"&&je!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof je);Me.prototype=Object.create(je&&je.prototype,{constructor:{value:Me,enumerable:!1,writable:!0,configurable:!0}}),je&&(Object.setPrototypeOf?Object.setPrototypeOf(Me,je):Me.__proto__=je)}var Ce=function(Me){Ie(je,Me);function je(ye){Te(this,je);var ie=ke(this,(je.__proto__||Object.getPrototypeOf(je)).call(this,ye));return ie.scrollListener=ie.scrollListener.bind(ie),ie.eventListenerOptions=ie.eventListenerOptions.bind(ie),ie.mousewheelListener=ie.mousewheelListener.bind(ie),ie}return Ge(je,[{key:"componentDidMount",value:function(){this.pageLoaded=this.props.pageStart,this.options=this.eventListenerOptions(),this.attachScrollListener()}},{key:"componentDidUpdate",value:function(){if(this.props.isReverse&&this.loadMore){var ie=this.getParentElement(this.scrollComponent);ie.scrollTop=ie.scrollHeight-this.beforeScrollHeight+this.beforeScrollTop,this.loadMore=!1}this.attachScrollListener()}},{key:"componentWillUnmount",value:function(){this.detachScrollListener(),this.detachMousewheelListener()}},{key:"isPassiveSupported",value:function(){var ie=!1,ae={get passive(){ie=!0}};try{document.addEventListener("test",null,ae),document.removeEventListener("test",null,ae)}catch(fe){}return ie}},{key:"eventListenerOptions",value:function(){var ie=this.props.useCapture;return this.isPassiveSupported()&&(ie={useCapture:this.props.useCapture,passive:!0}),ie}},{key:"setDefaultLoader",value:function(ie){this.defaultLoader=ie}},{key:"detachMousewheelListener",value:function(){var ie=window;this.props.useWindow===!1&&(ie=this.scrollComponent.parentNode),ie.removeEventListener("mousewheel",this.mousewheelListener,this.options?this.options:this.props.useCapture)}},{key:"detachScrollListener",value:function(){var ie=window;this.props.useWindow===!1&&(ie=this.getParentElement(this.scrollComponent)),ie.removeEventListener("scroll",this.scrollListener,this.options?this.options:this.props.useCapture),ie.removeEventListener("resize",this.scrollListener,this.options?this.options:this.props.useCapture)}},{key:"getParentElement",value:function(ie){var ae=this.props.getScrollParent&&this.props.getScrollParent();return ae!=null?ae:ie&&ie.parentNode}},{key:"filterProps",value:function(ie){return ie}},{key:"attachScrollListener",value:function(){var ie=this.getParentElement(this.scrollComponent);if(!(!this.props.hasMore||!ie)){var ae=window;this.props.useWindow===!1&&(ae=ie),ae.addEventListener("mousewheel",this.mousewheelListener,this.options?this.options:this.props.useCapture),ae.addEventListener("scroll",this.scrollListener,this.options?this.options:this.props.useCapture),ae.addEventListener("resize",this.scrollListener,this.options?this.options:this.props.useCapture),this.props.initialLoad&&this.scrollListener()}}},{key:"mousewheelListener",value:function(ie){ie.deltaY===1&&!this.isPassiveSupported()&&ie.preventDefault()}},{key:"scrollListener",value:function(){var ie=this.scrollComponent,ae=window,fe=this.getParentElement(ie),de=void 0;if(this.props.useWindow){var ve=document.documentElement||document.body.parentNode||document.body,xe=ae.pageYOffset!==void 0?ae.pageYOffset:ve.scrollTop;this.props.isReverse?de=xe:de=this.calculateOffset(ie,xe)}else this.props.isReverse?de=fe.scrollTop:de=ie.scrollHeight-fe.scrollTop-fe.clientHeight;de<Number(this.props.threshold)&&ie&&ie.offsetParent!==null&&(this.detachScrollListener(),this.beforeScrollHeight=fe.scrollHeight,this.beforeScrollTop=fe.scrollTop,typeof this.props.loadMore=="function"&&(this.props.loadMore(this.pageLoaded+=1),this.loadMore=!0))}},{key:"calculateOffset",value:function(ie,ae){return ie?this.calculateTopPosition(ie)+(ie.offsetHeight-ae-window.innerHeight):0}},{key:"calculateTopPosition",value:function(ie){return ie?ie.offsetTop+this.calculateTopPosition(ie.offsetParent):0}},{key:"render",value:function(){var ie=this,ae=this.filterProps(this.props),fe=ae.children,de=ae.element,ve=ae.hasMore,xe=ae.initialLoad,ce=ae.isReverse,pe=ae.loader,Se=ae.loadMore,Le=ae.pageStart,ze=ae.ref,Ze=ae.threshold,Ve=ae.useCapture,Qe=ae.useWindow,$e=ae.getScrollParent,gt=we(ae,["children","element","hasMore","initialLoad","isReverse","loader","loadMore","pageStart","ref","threshold","useCapture","useWindow","getScrollParent"]);gt.ref=function(At){ie.scrollComponent=At,ze&&ze(At)};var lt=[fe];return ve&&(pe?ce?lt.unshift(pe):lt.push(pe):this.defaultLoader&&(ce?lt.unshift(this.defaultLoader):lt.push(this.defaultLoader))),Ue.default.createElement(de,gt,lt)}}]),je}(tt.Component);Ce.propTypes={children:Ke.default.node.isRequired,element:Ke.default.node,hasMore:Ke.default.bool,initialLoad:Ke.default.bool,isReverse:Ke.default.bool,loader:Ke.default.node,loadMore:Ke.default.func.isRequired,pageStart:Ke.default.number,ref:Ke.default.func,getScrollParent:Ke.default.func,threshold:Ke.default.number,useCapture:Ke.default.bool,useWindow:Ke.default.bool},Ce.defaultProps={element:"div",hasMore:!1,initialLoad:!0,pageStart:0,ref:null,threshold:250,useWindow:!0,isReverse:!1,useCapture:!1,loader:null,getScrollParent:null},tn.default=Ce,en.exports=tn.default},26724:function(en,tn,Oe){en.exports=Oe(51581)},75029:function(en,tn,Oe){"use strict";var Ge=Oe(22948),tt=Array.prototype.concat,Ue=Array.prototype.slice,Ne=en.exports=function(Be){for(var we=[],Te=0,ke=Be.length;Te<ke;Te++){var Ie=Be[Te];Ge(Ie)?we=tt.call(we,Ue.call(Ie)):we.push(Ie)}return we};Ne.wrap=function(Ke){return function(){return Ke(Ne(arguments))}}},27774:function(en,tn){"use strict";Object.defineProperty(tn,"__esModule",{value:!0}),tn.SizeSensorId=tn.SensorTabIndex=tn.SensorClassName=void 0;var Oe="size-sensor-id";tn.SizeSensorId=Oe;var Ge="size-sensor-object";tn.SensorClassName=Ge;var tt="-1";tn.SensorTabIndex=tt},79301:function(en,tn){"use strict";Object.defineProperty(tn,"__esModule",{value:!0}),tn.default=void 0;var Oe=function(tt){var Ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:60,Ne=null;return function(){for(var Ke=this,Be=arguments.length,we=new Array(Be),Te=0;Te<Be;Te++)we[Te]=arguments[Te];clearTimeout(Ne),Ne=setTimeout(function(){tt.apply(Ke,we)},Ue)}};tn.default=Oe},79789:function(en,tn){"use strict";Object.defineProperty(tn,"__esModule",{value:!0}),tn.default=void 0;var Oe=1,Ge=function(){return"".concat(Oe++)};tn.default=Ge},47242:function(en,tn,Oe){"use strict";Object.defineProperty(tn,"__esModule",{value:!0}),tn.ver=tn.clear=tn.bind=void 0;var Ge=Oe(95270),tt=function(Be,we){var Te=(0,Ge.getSensor)(Be);return Te.bind(we),function(){Te.unbind(we)}};tn.bind=tt;var Ue=function(Be){var we=(0,Ge.getSensor)(Be);(0,Ge.removeSensor)(we)};tn.clear=Ue;var Ne="1.0.2";tn.ver=Ne},95270:function(en,tn,Oe){"use strict";Object.defineProperty(tn,"__esModule",{value:!0}),tn.removeSensor=tn.getSensor=tn.Sensors=void 0;var Ge=Ne(Oe(79789)),tt=Oe(57829),Ue=Oe(27774);function Ne(ke){return ke&&ke.__esModule?ke:{default:ke}}var Ke={};tn.Sensors=Ke;function Be(ke){ke&&Ke[ke]&&delete Ke[ke]}var we=function(Ie){var Ce=Ie.getAttribute(Ue.SizeSensorId);if(Ce&&Ke[Ce])return Ke[Ce];var Me=(0,Ge.default)();Ie.setAttribute(Ue.SizeSensorId,Me);var je=(0,tt.createSensor)(Ie,function(){return Be(Me)});return Ke[Me]=je,je};tn.getSensor=we;var Te=function(Ie){var Ce=Ie.element.getAttribute(Ue.SizeSensorId);Ie.destroy(),Be(Ce)};tn.removeSensor=Te},57829:function(en,tn,Oe){"use strict";Object.defineProperty(tn,"__esModule",{value:!0}),tn.createSensor=void 0;var Ge=Oe(20953),tt=Oe(55202),Ue=typeof ResizeObserver!="undefined"?tt.createSensor:Ge.createSensor;tn.createSensor=Ue},20953:function(en,tn,Oe){"use strict";Object.defineProperty(tn,"__esModule",{value:!0}),tn.createSensor=void 0;var Ge=Ue(Oe(79301)),tt=Oe(27774);function Ue(Ke){return Ke&&Ke.__esModule?Ke:{default:Ke}}var Ne=function(Be,we){var Te=void 0,ke=[],Ie=function(){getComputedStyle(Be).position==="static"&&(Be.style.position="relative");var ae=document.createElement("object");return ae.onload=function(){ae.contentDocument.defaultView.addEventListener("resize",Ce),Ce()},ae.style.display="block",ae.style.position="absolute",ae.style.top="0",ae.style.left="0",ae.style.height="100%",ae.style.width="100%",ae.style.overflow="hidden",ae.style.pointerEvents="none",ae.style.zIndex="-1",ae.style.opacity="0",ae.setAttribute("class",tt.SensorClassName),ae.setAttribute("tabindex",tt.SensorTabIndex),ae.type="text/html",Be.appendChild(ae),ae.data="about:blank",ae},Ce=(0,Ge.default)(function(){ke.forEach(function(ie){ie(Be)})}),Me=function(ae){Te||(Te=Ie()),ke.indexOf(ae)===-1&&ke.push(ae)},je=function(){Te&&Te.parentNode&&(Te.contentDocument&&Te.contentDocument.defaultView.removeEventListener("resize",Ce),Te.parentNode.removeChild(Te),Be.removeAttribute(tt.SizeSensorId),Te=void 0,ke=[],we&&we())},ye=function(ae){var fe=ke.indexOf(ae);fe!==-1&&ke.splice(fe,1),ke.length===0&&Te&&je()};return{element:Be,bind:Me,destroy:je,unbind:ye}};tn.createSensor=Ne},55202:function(en,tn,Oe){"use strict";Object.defineProperty(tn,"__esModule",{value:!0}),tn.createSensor=void 0;var Ge=Oe(27774),tt=Ue(Oe(79301));function Ue(Ke){return Ke&&Ke.__esModule?Ke:{default:Ke}}var Ne=function(Be,we){var Te=void 0,ke=[],Ie=(0,tt.default)(function(){ke.forEach(function(ie){ie(Be)})}),Ce=function(){var ae=new ResizeObserver(Ie);return ae.observe(Be),Ie(),ae},Me=function(ae){Te||(Te=Ce()),ke.indexOf(ae)===-1&&ke.push(ae)},je=function(){Te.disconnect(),ke=[],Te=void 0,Be.removeAttribute(Ge.SizeSensorId),we&&we()},ye=function(ae){var fe=ke.indexOf(ae);fe!==-1&&ke.splice(fe,1),ke.length===0&&Te&&je()};return{element:Be,bind:Me,destroy:je,unbind:ye}};tn.createSensor=Ne},82059:function(en){var tn=arguments[3],Oe=arguments[4],Ge=arguments[5],tt=JSON.stringify;en.exports=function(Ue,Ne){for(var Ke,Be=Object.keys(Ge),we=0,Te=Be.length;we<Te;we++){var ke=Be[we],Ie=Ge[ke].exports;if(Ie===Ue||Ie&&Ie.default===Ue){Ke=ke;break}}if(!Ke){Ke=Math.floor(Math.pow(16,8)*Math.random()).toString(16);for(var Ce={},we=0,Te=Be.length;we<Te;we++){var ke=Be[we];Ce[ke]=ke}Oe[Ke]=["function(require,module,exports){"+Ue+"(self); }",Ce]}var Me=Math.floor(Math.pow(16,8)*Math.random()).toString(16),je={};je[Ke]=Ke,Oe[Me]=["function(require,module,exports){var f = require("+tt(Ke)+");(f.default ? f.default : f)(self);}",je];var ye={};ie(Me);function ie(ce){ye[ce]=!0;for(var pe in Oe[ce][1]){var Se=Oe[ce][1][pe];ye[Se]||ie(Se)}}var ae="("+tn+")({"+Object.keys(ye).map(function(ce){return tt(ce)+":["+Oe[ce][0]+","+tt(Oe[ce][1])+"]"}).join(",")+"},{},["+tt(Me)+"])",fe=window.URL||window.webkitURL||window.mozURL||window.msURL,de=new Blob([ae],{type:"text/javascript"});if(Ne&&Ne.bare)return de;var ve=fe.createObjectURL(de),xe=new Worker(ve);return xe.objectURL=ve,xe}},25510:function(en){"use strict";en.exports="data:image/png;base64,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KFt6yaXs+quutUsvuMiuue5aW2T8Inbu+efZVltvHbZG33LrLfaRj3zEXnvtVVtnnbXt9F/+0iZMnBjcUQR7H3HEkbbV5pvZT37ykwBifnDiD0KW1n9+3wfsC1/6oq215po2ZpGxfUGsNrtvU01I+DbK5r4+x8aMGGUv/O0Fm3H3Pfbv/7a3PXD/X23XXXe19ddfzzbb5G12wcUX2+k//6W99tosW3+99e1XZ54Z3DCf+PQn7eprrrannn/aPvjB3e0D73+/PfPUU3brLX+y478JPSbaN75xtG280UZhq/deH/mwzXx1pu20y062yz/ubBPfsqjtt+8X7MmHH7X11p5m//Otb9vqq69tN15/rZ140g/sxz/7ic0dO9Le99732YYbTLcVll/epq21tm20ySbzdzD17S9iy7cy7gZXyPw5UABLASztisMCWPIpVwBLASz5XNOBJwpg6QMs7CB59NFHbcsttwxU1Xb4kOhtvmK84vLf2zlnnWXHH3ucTZo4ySZNmmSjx4wOwbFYENiGO2nRybbKaqvaMccdazded4Mdeeih9tijj4Wg2lN/9rOwK2jG7XfY1b//vX3xC1+28YtOsF+feaZtseWWNmvOHLvplpsDYGG30Lrrrms//elPQ06Na66+OgCWww873LbeZhs76Yc/tD/84UY78cQT7cKLLrL37/FB+++v7G9rrLGmjSADLwnm5r7WlzyMlLbs+QnpS14P7bn5pltt749+xJZdehk78sgjbOONN7IllphiL738ou237352+SWX29hRY+17J37fVnjrCvbxT37C/vDHP9riUxcPcSwrLLO8vfDC32zGXXfZx/b+t5Cw8dvHn2Brr72O3XvfvfbZfT9jq6y+in1or73sA8ThjFvEDjn8SDvzF7+2xSZOtgM//2V7/7+83/508y32fz/8vp38s1Ns1PhF7Mprr7ZVlls+ZLcdM2qMjRnLoZEcc9C3zbtvbxCRyH1gZX4aluISKjEsbUvDAljySVcASwEs+VzTgScKYGkGLH0JZV+3q6+6yn7323PtW0cfbWuvsaZt+45t+/JdjCThGnlMRtioMWNssSmL2ft2+4Cdecav7bhvHWcv/O1vtsvOO9uJP/iBjRk5xh595CG76Y832gfe///sLYsvZr88/XTbfMstQv6Tm2+91fbYfY/g/thg/fUDYFl08mS7WoDl8CNtm222thN/eJLdfPNNAbj87ne/tX9833vtawd9LcTUAFiwrMx9ffb8RGucJzSq75yiESPt7rtn2JVXXm2f/cxnbf31N7Djjv2WTZ++QThO4PUR8+yggw6ys848y5576nk79LDDbM01VrPPf+m/QgDt6musbuedf74tOXVJe+WVl+0v9/3F9tjjQ/bIww/bN446Ouyauv322+yrB+5vSy+7tG2+xWb2trdvYiNHj7RzLrzYbrjyGpsy+S22z3982j7x8U/aH2/6g/3gRyfZz375c3vLkovbTTfdbMtNmdJ3oGJIudJ34GII8OGMGfH8/DOaOCuJq1hYioWlXXFYAEs+5QpgKYAln2s68EQBLM2AhWX9vLlz7bprr7XzzzvPjv7GUbb9dtvbFz//haDAcVPMsXk2dvy4cA4QwGPqUkvZ9/7ve/a9737PXnv1VfvAbrvZccceGzLG/u3F5+z2O2+zbbZ5hy2x5FT7xS9+YVtsvkVwdtzyp1tst/d/MOQq2XD6dPvZz061iePH2zVXX2OXX3G5HXHkkbbV1lvZD086yW67/TY75eST7de//rW9Y4ft7agjjrT11l03HHgYzhsaafbySy8FlxWuq3Hjxtn4CRPt5ptvtQsvvMj++7+/attsu7Udc8yxtu5664YTnIl1OeHbJ9hpp/3S7pvxF9t3n31svWlr28GHHWIPPPhX22STje1HJ59iyyy7jL362iy7//4HbM899rQHH3jIDj/kkHAMwJ9uucWOOPLwEEczdcmpNmWJKSGe56Hnnrbnn3zSll1iKfvYHh+x/fbZz669/no76Scn2+lnnWnLrbyiXX81gGZyOOCRYws4KTqYi8h+O9IBlvm8r4iWAlgKYGlXHBbAkk+5AlgKYMnnmg48UQBLAmCZ7xP6/SWX2tlnnGEnfv/79o+77mIHfe1gW2vatL6ji/G3zE8pj6+CBGz/+7//a9854bshv8n7/+V9dsJxx4dYl7+99LzdcdfttuUWW9viS04JW54BLLPnzLVbb7nV9tp9z2AhIYbkpz/BwjLJfn/55XbFFVfat775LVt/w+l2+umn2cOPPmo/P+2Xdvwxx9hKq/6D/fDEH9qmm2xiE8ct0medmDfXbrjuOrv4ggvsvvvusw9/9GO2wYbT7bHHn7Srrr7GPvmf/2nbbvsO+8Y3vm7rrbeuLUKm3dfNjjnmGPvlaafbX+673z7+7x+3rbfYzA446AC79957bNq0dUKcy8RJEwNgeeCBB23vvfe22/98hx33rWNt1ZVXsRtvvMG+ccThNmrsaFt6uWVs6lJL2quzXrOZYyzE0Cw9ZartsOU77D8+/Um76ppr7KQfnWSnn/krW2Oj9e388863pSZNslE0ZNYcGzV6HBnl5h87PTIAn+AW0tlK84NYCmApgKVdcVgASz7lehKw1HWDFNYc9pZz4e9PPbxK9XL6cspBZEF+vf66UX799dc3GDD1IkYh9+A/4gteeuml1FeEcl/+8pfDx1/+LKSqM4ze/e53B1dAKg2yGjS/cC8Alm7wmWir80j4P9tzORTOx6eoXKsYFh0BwVice+659o1vfMPe80/vsSOOPMKmTSMPy7yQxI006ToXhXeRFfeII46wxx57zN7+9reHZ7n/l7/cZ9ddd53tvffHwtkvlCN2hrbeeOON9m//9m8hTfyaa64ZLCzElpx11lkhhuV73/uebb75Fvbzn58a5tP5559v//7v/x6exZWzzTbbhLq4x3zADXXCCSfYs889Z//xH/9hn/jEJ0JEDu/56Ec/YmuttVYAKGSCXXzxxQONPvvZz9pvf/vb0IZjjz02lPnUpz5lHPq51FJL2U033WSkgKf+GTPuCfUQ/3PkkUeGNj/4wIP22c991kiHv+eee9r73ve+EEtz94wZNnnSJJswYUJ4nnl3/fXX2/e///1gZdpg+nS78IILQmyQrpSzvSgbp+b32ZMZH9qn9O/QhrGiTdTPuDLXcrLdtpPptp353EoGLkyZbuuyXUMzDnPs5oUMvPLKKyvPU6tqF7899NBDtsEGG1TK5qqs6jxTDj/s5igOw7qff/75cDYQ3712oUwQcvFVN1H5fbvttgtK6s0KWAYyhp0ELAIhHOD5m9/8xv7nf/4nbEN+73vfa8svv3wABzp0k7/JdEtsC7t+vvSlL9ndd98djoAA6FAeAfy73/0ugBCU9tlnnx3O4AF0sK35wx/+cOBhTp3FSsM5VwTX/uEPfwi5WN7xjneE/0+dOtVuv/32AFQALgALANQee+wR3k9beRfPAIxOOumk0G5ACefNcBo67iISzwFY1lhjjQAgADgciUGbAVOAi3/9138NQp3yhxxyiO200072+OOP2x//+Ec79NBDg7I/+uijgxCnzIc+9KEAPHbb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"},32637:function(en,tn,Oe){"use strict";en.exports=Oe.p+"static/AssistantCode3.a8740efb.jpeg"},93314:function(en){"use strict";en.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMwAAACaCAYAAADl9acYAAAAAXNSR0IArs4c6QAAIABJREFUeF7tXQd4U1Ubfs/NaJtO9kzLahFQEJkiUBBFUFFkCCjiAAVFERT5FREQQQXBBcpysWRP2RtkKRsEOphNodCZdDfjnv85CU2TZt2bhABNDw9PmtzvrO+c957xLQIP0pkz1yrQIEmwwcDzHhTj91klEo7jpcG5zetWUJdmRjmPvTM9GI9JgSGvadOoLE9KJJ5kPp2YXLtZdO1kT8ooz2vigCNelvPYezPEG7z0CDAn4pJqPvJA5A3vdcl/S3LEy3Iee29OeIOX5YDx3nh4VFI5YDxin6DM5YARxKb7g6gcMHd+nMoBc+d57LKGhCQ1ZURBCoVL2nKCO8sBZWW50x1TOWDuLP8FlV4OGEFs8glROWB8wmbPKikHjGf882bucsB4k5t3qKxywNwhxrpRbJkGTOx0ehlA3d9e5VEtzA3ulGe55zmg1QOfrCVo34BgQGvr5rLDRl4RRZG+5NjBESBc4FHw1LlrCAuPsCo0JjKi7J5hYqfTXADBq4byCJLf82Nf3kA3OfD9LgKdgeCzZ4CUTJ1VKQFyKQgpmeMSjiKvQC+oplspN/wOMDcBVFv0Bo+KwYJ4VE50H3Jg7j6CWzkEX74A3MrSgTfeKZpSaBCHcAVn/JunBHlFPDR5BkG9LMjPt7mZLOtbskQADea9wqOW9coqiGHlRPcHBxYcJriQQvB9P+v2cqCwWFxgoOJk6JeTNX4HmJMAHv6xP4/6VXw/+OxNx/bM/pIohdUE9VW/VxwjOHiJYO5A6xolpGSpYW3jIW4w/A8wM+h+UHSY2pvHgzV9NXymeor0wPc7Cf7XzWJ/4Nsm+Ly2LzZx+OwZ3yuVbzhNsPEMwcI3rM8wMikHiURi5gNbbQoKrc84zpjkj2eYzQC6f96DomUd305ctrp8tp5gSk/f1utzlFhUOHYthy9f8D1gdpwnWHiEYOVQ6zNM6QM/AY+CImHnF9YtfwTMCgB9P+5G0SHa9xP3bk2gT9cBU3r6Hjp95nBYNcz3gDlwkRhX843vlfS59PmFHfjFzgC/2pJ1nEEnEIpIAG+834Wia2Ox7PJ8wt0twLz7J8Gsl3zf316zCVYPsz5oe85F1yUcu0YwcQPBjlElZyjL8wsrQeyBn+XxK8DETqefgyACFCPe6kjxfDPfT6C7BpilBLMG+L6/A34h+P1VikCZ60nuTYpzN4AxqznjCqPOMZ1RSp9f2OVLYZH1lbOrNvjVlswIGEAKYOyrj1K82NL3E+huAWbEMnbFSn1+Qzd4AcE3fajPZV6X04D3lnHGM4xOawKFJwLLYiD5H2AoCkHwJQMLA42v090CzJjVBBN7UCh8rN3AgDrqCYq6lX3L6RQ1MGQRhwWvA7UrALbnFzCJjOhG+d2WjFCkUYKZPZpSDIv1PWDGrycY34NCahI0+yxN/Ivg3c4UlUN8VqWxok/XEfRrSdG0tm/rzcoHBv7KYc5AILqqLWDcOb/45RmGEFyhFL8/0Yga33y+Tl9uJhjxOEVIoG9rnrqVKSJSRFb0fb3tG1A81sC39TLRSu85HL57Eaii0Bm3oqEKqZXSJaUURUxTU0Tyuy0ZAc5SYCUbxE+6+x4w3+0kGNiWooqP3/Qz9xB0bUTRsLqI2eEFUlbvA9WBJxv5ltdMit9jFocpLwB1InQIkBEQTmLUHStOBoMBOr24K2+/AwwPHOKArS2iKCY9VzKIg34jyMgTv6f1wpwqL8JLHKgUTLHwjZIxZTKg0V2Bzg2tLzvYBYA75xe/25J1mkEnGAzYyXE40KQmMK23uLeLN8b1j0ME7epTxFTzRmnCy/jzXyCqIny+NVryDzFeKfd+xLcrDOMMO8MMfgx45iFrOZA7AstiTvvVoZ91usM3tClHcLpeZWDmAN8DZtlRgkY1KJr5+BC87hQQLAeebCwcZN6gXH6MgG2P+rfyDmD+WLoV8xZugkIRiNh2TTHghcfRoF4tFBZpkXgpGQ81rmdu9puLOLzwMPBYPR1Cgzw/v7CC/WpLxjrc/jtaT2LApRrhwC+DfA+Y9aeI0dKzbT3vTCChk3r7eaBABzzfTGgO79CtPUmM9b7U2jv9bf3kOyjSlihLcoSg93MdkZ2Th227j2Hoq8/inTeeNzZ+xFIOsTHAsw/pAeL5+cUvAdPuG1pVRnArQgEsGex7wGw7RxAgBTo19M4EEjqtD1wEkrPYm15oDu/QbfkPSM0hHsu8du0/gSnfLkFGVrbThjFLynULJ6FOZHUw2RNbyd/qUJLFHZV+ywr9aksWO4Ou0BK8KueRz/bVq++CUuD+RGbhB3R/0LeAOZEEnFIRvPGYb+vdGw+cvU7w3uOe1dv+mfeRk5svCMUfvz8AA3o9jgkbCJQVgPe7lGTz5MDvj4f+VXs/JH1ip1PmAkHy17u8z42bjl4lxjf9C809m0CCZo4FUVwKsDPOJLz0ZTp6Fdh6jtnWe1bvuCm/4q/tRwQ1/b03e2LIwGfw1RaCkADg425AOvPkYCHZd0cG43dbsk4zaDFgWHiHcG85wjBQoEhnMhAzf5r/Jihkf9/+fjXDtDXqGA108+Eqcy0DYAfwMU95NnEFzVgLovibwK8HCab19qze61s24Pf5K7A5KwB5vHM1CblMij9m/Q87rtc1jsek54CMPIBayGD0BgP0ImUw/gwYFiqjllhHGAcvAkuPcijU8cgv0KGgSGv8LNJqweu1MOh14A3ss+S78W+Dzuo3RsPoTy0YgIjQALFz0C36tBzg570EE3p4NnHFVn5TA0zaSPDzy57Vu2bIS6jF67BDHYBHgnVI0kow+6ZjLyZNm9RD+35jkZINfNO7ZIVhEn+e16NQ6157/OqWjJ1h9n1IXoydTi8AeGD+KzxqinCEsfkswfBJC2HQacXOG7v0B+e9CGXVUK+U5aoQdm5iE3eqh296R/XoDEBu0e3/hcz3FzF+Z292trI91Zgav7N2tKrDrrfFTdgTI4dAl61BipZDDXYINRCMvBrusNvBikAMHT8LTM3/pwElK4xMAuQV6uBuKK4yA5hEVfY8SvmmHCETGyjDtzqbQLHf0KMgaCnWEcaW/whGT1mAHHZP6oW09bueaFy3khdKcl0EO+y+v4xgphs2MWxbs+K46bLCDIoi6+9iVLKY4PbTp8UB5t8h/UB53qimz1aJA9lyLExz7H1vyMCnUa15L/x9EfhtkIk/nh74y9ShPz5JnUGA26qFZIdcTofWqR5xxd5Uip1O9wDoJNYRxs4LBB9PXYxUdaHrGSqAYuWUp9GmSQ0BlN4h8cTq8qVfOGgKStpBeAoJb4DEYPrPsU89b/5e/LvEYPubLCIQX06NEtWpfwa/yA4h0FEgqVCK71OCUeTARdLLfbpg9PAXsfGsBBtOA0uHmKpyV0PZsqFl5lo5QaXWgRqNw4pTHiEYGa2M+KX0yMROpxsA9BDrCGNvAsG4GcuQdMt45eJx+nXsk3iyNbOY9k161wOry8/GqZCr1t4GBA/O3T0Nm7gSDl/89IBRHiU0nRk3CgU3knEmT4pZN51rrjI5TN2oGmCOMP44BKx7B8jINemP8ZRCK2Y5LNXAMrMlS0hSpwKw9TRGME+XHf5ekybEfPCInU7/BDBArCOMw5cIPvt+JRJUGqHj7JRu2rsd0P+JGBuanELTTVpwwO3/cnjFxNcTwMz95hquxud5pd+skIEfR6NJA+F2y6o1S3Fj4xpj/X9lBmK7OsDuChMUKMf+v36AXC4Fc4QxYwew/X0gM8/k5VKvN0BvcF9gfc8CJuGWuh4twgoQnJSBzK+nDP+3eLTsBahJSNL8DdD29kaUAFsDSU4vpVJp3FTETqdzAbwl1hHGySSCCTPX41RimlcmzthBrTCsV1Obss5cJ2hWXQupTIoiHUW+1nRYZkcn5kRbTzlIOQq5hBmimfRu2RwoeU4gl5rAFiI3Odpmb/NRK0zXu+zgKzZtWZWK/VvTxWZzSP/EK5HoEivcxsFQWIBzk8caVxmWmMT+g6thNlfMg/p1xYfv9DXSMEcYEzYAu247wnBXQ9myE/fslixRpf6FUgw2N5bgDChmk6Lw33MMqkqlg8JeVKmn8hRjHI0QIdgbiJynGWhiZ9AZoPhgaEeK50Q4wmDCvwmzt+HwGe8EcH67V1N8MshWV4UBpnlNLQID3Lcn5nkKrZ6iUEex4azEqC08di0BW1XDgsTP+2NHsrH6F+/0m9Xetns1PN9b3IWHPi8XyetXIOPoEeg1WbhYKMGK9CCoiiSoWq0SnuvWzqhLVuyoz+wI411mmi3epZI9Lt2zgElIUht9INtpdDJPMUsSGf59NCFFxc8TknI6AoZ9LqbCmj+V4X33zMAEAOMHtaXoJ0KLVpUJjJuzD3v+vSh+xtnJ0ffxaMwY0dHuCtO8pg6BAcK3LI4axCTai/4hRsBM3kww5DGK6o5vYx32S52pw9QxbEi8k6o2DMeoj2q5VVhqNnB29JsI0TP5M6Dj5Gg7dwmkpVZOsyOMtyg4joDyBhRq3d+Osbru3S2ZSp0LCmf+9ZM5CUY3qBWx3LREUy5RpbkKQOl0FAimvrksPAME08Q6wmD74DGz/8H2A/+5NdClM8U2r4VFE7rZBcwjtXQIkHsOGLbSLP7XBJhvdxD0fJiinhs+pVk5n41IBM/UFryQSHggvpxRooovpsgdFwjoD8MQri3ZIso/XYzm9a2FwDfUAFPxX/AaRYSCeCR/KW7fvQuYJE0RQF3vSQh2UQn3bsOaYXEJSZrPADrJBfP5BceCVx+4LO0r1hGG3gC8//Np/LXrmJjxdUhbv1YE9vzU22eAmbOPBRmieNCNFzvP8/jhaxVSL3vn4M9zBJN/bgSZgJsyplZ0KQ24oSZgq8vmE4V4+9hrkNIS8O5uPhbNOz+CprWpWRhd7Ahj9svMYM871rT38pbM/q2XvelHoeU4bpxBgt+Jjr8MAqfi80NXZEW/H1UEuOMIY/zCRPyxZr9XABMSJMP5pbelahYlsjNMi1p6402Pp8lyhWEhIBpVp2hdV1yp6nwgPAhYvzQF/+zOEpfZCfXgz6LRIMrxKsq0B5YcKsL6UxRFvBygelBdLjhZGMCx/RfTKWMCUGZzbAClvJEmtiGH97oEGLdhzBHGjL4UDyvLOmBUmn9AaamAay7GimAXgdErzG1RlX36k9el+PlgsPFtK9YRxtwtNzBl7havTZoLywYhuJRbSCNgauvBlAg9TQYDjyVHOeOWbOVxoEoo0Mn2JttpNZvOcmhfn0KTXoTr8TlITSnCrRSt8TMvV7gj79KVPDskCo+1tb/rZkLScavzcTlTARBrZUu+MB1coHNHZ8rQXEzvH4T+8yWY9DzQrj6QptFDzzRlPUj37JbM5pZMeCfZK5CNgsPt3PlbEny3LwSlHWEIqWLzcTWGfbFaCKkgml0zeyNaaa3QdqcAs+msSa2k+4OCmmYm2nyWQ98W9idabo4eqSla3EopMn6m3mRgKkJ6KlM6dV5Plz418ES3CjZE7Ar9w2X5UGXbv3bmC1NBAiqBEOf34zFhKlzLq40PuxK0i8qFutBzRdd7FjDx1zSDCKELxA2tmZoyyztqqc9tUdDlDAm+2hUCdxxhHIwrwOAJy5EvIkSCsz78Nq4rnmhpfU/BANOytgEydwQmpSpjQro/b68we+JNArzej4jjKouz0q+luDwGAzWCxnI1Kr0qPfpEZTzXv6pVwUzf6+MVBTiX6vi+hxoKQfUF4AJswWZZGF+UCUN2IsYMaINnbcVd4jp0m/qePcNcvJlTldcaUm5vVN3qnKNM1zUcJm4LhTuOMP65qMWYGWtxJcU76jGT3nwUrz1j7ZnCCBilAbLS96RucIFJtv88ZpLD/HMZSEgFXmkrrqANp2yjEYsroYRar6f44I3zxh9qNwnH8FHWNxBLj2ix6F85SKltmGV9lBrAF6RConCuh8fotCn7MSC2Fob3ELkPddDBexYwrL2JSZqtFPQpdwfHUT7mf+zjTWFwxxHG8St6zPhtCw6cZXcSnqdhLzTF2FethZcMMK2UBki9DBgmbz18mYAJbMUk5shiYBsxORzT5ucZ8PHbcUaC4OpBGDe55AbiShqP9/40gHLOt058UZbxXMPJnQuUKK+DLi8DEs0R/PJBLIIVwjULHPXgnt2SsQbHq7JeIJSYFIi8mNgeeeT6cFRQAItFOsL4L5li0do9WLrLriK06FZ2e7QO5v3PwugcgDcBo9MbsPT2CnMxFcYwdiNFuMhlKjcs/J23AMMEoONHJhj5JA2T44tvS2TTo5cX4kKqY5X9YuYacq9CEhzlMngmr8uGQasFLUpDPcUV/DCiKwrcNBwrrvueBsyKFVTSvG32aQraRPRMdJKBWaa+vSrcqNAo1hEGsyD8Y/1R/LzmjFea1EBZAbtn9rIqywiYSB5Siecey3U6A5YeN23JmCCPORIcK8IWhV0ps1Wpj8hzjyPmsDPN5P+ZNCWInMOXPz9g/PtgohZfbpEZ3SE5TxSGXBUkIa61vPnCDLCzFEuGrOMY1q02Xunq2VS6p7dkrKOJ17N7UAPP1PG9moatCoOBJ9go0hEGe+P+vC4e3yw84JX2VAoLxMmFL9sApnUkD4kXAKPV6bHsuNQIGDb5p28nmCwixmZSJnA5jeCZh1x3NzfpKi7M/xlFGRmo0qoNqnfohPAG1mcH1dUCfDP+sqkwjuCreY2Mf478swiJGa6V3Az518EFVgHhXMu0DYUZ4G8Dhuqy0Sg0EfM+8myHf88DhjEzIUmzAaA9XA+ZcIqR60KRp+XgjiOM3Sdu4s0vtyAkSIrgQCmCg6QIYZ+BMuPf7Dfzs9vP2bPi34ICZTh2szJ6NM41HuyrV7f2G8tWmNZRPCSc5yuMJWCYGcjHawm+7Sv8DPPfdSBfS9C5oWveHhg+GFqNyfRBEhgIeWgY2kz7AZysRDh5KT4fP0y5vZ0lwBdzGoO9FwbOK4S6KMDpCkP1eaD6fCNghCSDNhe8zmTsVznrMD59XIGa7Wx194SUVUxzT2/JihuZmJJThWoNZ0HgNY/EH28MRUY+B7GOMFibcrJzkJuXB3Z1zXHc7U9ivNlh0mX2aXpm/7ekLA57E6R44zHm5slWAs0A0ybKpDDoaWLhHJafMK0wLIm1ujx0iYD56WgrQO3ryuplSN6xzajkqM83+RCr1aUrol95A5zUJIT971QO5n2bZPybXYRNntsYvx4guLJrL1qkbsD2moOQHP6wlUskRkt5PfiCm5AEC/exa9DmgNcVoVL2KQy59RsqhAQg6tPvwAU5U1F0zvH7AjCsC4mqnE6UGpitvsfSJ0IIHb8lmNzIlkCsIwxPJzDLf10NrDtJMNyBjzDvAkaH5SdkbgOGOf5oVAN4sKawnl+YOwspf+81EzPIh9VvgCbvfoDAKlVx9JAai+ZcNz4PVBBE9W+M07uPo9/laeBgknSeC22ObbVeQ06QCRzselivuQhZBNveCX+JGAoyEZEThyE3fkIYNa00yh69UPdF6y2wsJ6ZqO6LLZl5pUlW9wHFMkrh6mTokgdf7QzG5UwpxDrCcFmwAAImPPztIMHorva3RkbA1GEhGoRPDkfVMj/EVoARaabM2vliCxj9QQtJ1GDAtU3rcGPXDmjVWWDfWWJbtHp9BiCwRScU6KQICJRg4VEp4g8ex4tXvrFSpGT0JxXNsKraIEgVFaHLuQ5ZSE1wAeLsEioRFZ5PnAVlTok5hiQwCG1+mAupwr1V5r4CDGNkgkrzEij93Znqi5CB/XafAhduySDWEYaQsl3RFGiB6Tsce4NkgGlbx+WtqatqjM9ZlOAVJ0tWmPeWEvzYX3gYcOY9cuKzsLE1EVK5oagQJ7/4DDlXS67gZTVqI6dlXxwNaIXrJ06j75UZkFhoHbNyK7Zqh2E3usHAlCupDgFhtSAJEmdsxsqJqZSHevmJaHPoC6vm1nvpNdTu7t6R+L4DjAk06t7M+tKuDb+QkQTw00EFTl2XQawjDIHFOyVj6h+frSeY4uC2it1MRVXgIeUIpBLTWcjdxMJArDgpN2/JPlpF8PlzwoPDjl9v0vZ1N2k1apz+ehJyVaZzS3HimUMKIoWUWrusqtDqUTR46308/bUKekghU1QBkbq+PbPXPkNuEog8DAOS5+ABzVEzSWj9GDSf+JVbXbovAcNs+oODFYSjsp8oqCm2gcj06z9BOHJNbjTZ7RDt/oQQWa2ZXEw0ZWY1yYzYGdCYuj5L7AJNwgBlvHRgj3mjnfvtx0YlS/Zcp9dj6wU5nmpiysccdLMYm5UECr3HruHwQ3/P+KPLzcWZ6VOQfdG5xWbVzl0R9fJgEI7DjO0Eu85rQSTuH1lbV45HbmYSzl1OR+2im4g0ZEJpyETdAC26zpnv1tDdt4AptulPNJ1rplMKUY6uFh8PxL5LARDrCMMtLtvJJAYw3qqTlcOCw7JYLUoBwWHZWWvBIYJxz3jeAiZxv7R0AZJ3bIetdT1B7T4voebTPc0VMbe2G08Wur26sII+6JyD5x4JQU6+FkfOp+DA2es4fO4GsvO1qFk5BE3qVEaTupWNn9G1K0AmILT1fQ8YxhhKqfTi9ewBoPQjSiFAxAasOh2AbfGBRr0qMY4wPJ86phLuFmBm7ibo2oSioYAL+uPXgKvpBIMe9VavgctnE5C7fyuyz58Bc2oRVKMWaj7XBxVbWGuELjxMsOxIAYjUtaqMo9Z90CkHz7WwXkoNPMXZy2k4ePYGDvx3HVdSTHIjBqCVn7verJQJwBQzjKnzJyRlPcZJuJ6UxwsAHEoP/joXgA3nAiHWEYa3ps7dAgyTeTwSRdHcuecDYzdXHCN4oBrwaH3v9Fqr55GWmY2ICNe3XWtOEvyy17MVZmRsLnq2dH4bdv5qBt6Ytg3d29TDOAFvhjIFmNLDGp+c1UxCycs8xTu3jcrMJDvi5VhxOghiHWF4Z+rcvRXGGBy2EvCYABB8sZHggycpqoa6f+lgya/MXC20RUUIDXV9gGJueb/d5tkZ5r0OOejd2nldm/+5gkkLDuOzQe3QrY1r2+0yDZjiwbp4PUNJeelKSqlZSX3/ZRkWHVNArCMMbwFm/AaC8c9Qt65rPWkDCw7Lggw9YVLhcprWnCCoH5qKGmHUaC4tl8sgl0kgl7FPqWhdt6upuQiWc1AoXN96MSd849ez62/31YPeeSwHL7Z1DpixvxzA7hNJWP9lL1RmjgtcJL8ADOOBSkWDCqiGaQoYlYn+TZJh/hEF3HGE4YqpQp7/sC0PrzRPhYxPg9yQjmCkoTA/HUV5aZDq0wBZBQQ0my6kKFE028/BGODpOYHBYfPy8qDT6aDT6Y2flolpUxeDhznscAWkfxKzEFNDAbncteIk8xIzYinxSBj1VrtcvPSo4y0Zs0Z96qPVqFpBgcXjnhXEx/saMCZfZNmTQCjTmZCAEC0oUglPU3iOnDEYtCcb16nCrDaN6ZxKU1HK0xOEIOrMDSlmHnDPEYZLzhoKAW0aivLSQXRpCKRp4HTpKMxNAy1KN36XE+cRAHjKIb/pckhk7h967bXz70STao47wWHZ9bZebwJOMYDY38Zrb4vEtKwZeAKMq5IJSDKZFOuPpqFr8yqCNBjYDd3AXwwgnPu+2Qa3zccrjzleNY7G3cR7P+7G8+2jMWaAMH8r9zVg4pKynudA1jmawExnjKf8fwRkAwF+j46MuJSoyupEKdkdnyoh0/e65wjDUX1c3MdA3hUEEO+YL6fU+BwRNUQa07tAM7v5OpNM8LoXg8PqDXrotHrojUDSQafXgXmrKZ3i0uV4vKkwiT2TJ/WcqYWBBLp8PzkieK1NIV5r71iO8/2qE1i2O8542GeHfiHpvgbMRVX2RzzlpwnpKCGEOa76i5dynxCeTriaTvpP2RnqliMMhwC9MBaBBaeFNEcQTU7FvpDWeU0QrVCiCynA7jjHip9Cy3FFxxz/mVYi0//sPD2u5wWgXUOBSmkAXvtVj7R819s3R215ta0Orz/m2FVVnwkbkJyWa7xOZtfKQtJ9DZiEpKzXAfKbkI6W0JAiQrDyZjZ5adyWUM4dRxiO6qOqRVCkLRPXHCfUt2gjhLXw7jmGBYdl18Uf+Tg47K4LBCz0uZh6P1oJnL/p/qH/5dYGvNnBfv5rN7PRb9JGVAoLwoavrC1enQ3gfQ2YC1ey6kil3CV2lhE7S7MKuMIxf4UGuuMIw1FdhszjCLk6XmxTHNLrqRT5TVdAJnNfPaR04cbgsPsIJjzrmbqL2E4evgxsPy+uXubM7+Vfmbss9661X2lDMdhuABRgyc4LmLnmJGKbKfHlW8KNyu5rwLBBS0zSbKBuWGOyWCoj1rrnCMPRZNEX5SLk3ACmVih2PjmkV9WYiso1RHrec1I7i1HJ5Ct3Kjiso6rPXgeY9P6bPsKB2uSRWKSlZbjNy3FjhuOTD5kIzja9891OnEhMxVs9muHVbsL5e98DJu5ydkNOxh934enfhmPsUDl0ZRgCZUS0IwyHWzJmqPPfcATorrk9yKUzZld5DTKlKUCQNxLr98jlJhV/X6ZrmcBXmwnmDBReb2R0CxQWmiOaiG5uj+5dsOyPH23yMd2ybmNWg6nJfDv8cbRpLDzO6H0PGMaN2zYyi8Q6/Ru+Ogw6A8FfIh1hOBs5evE7KLJ3ih5cRxluSR5FWLNxXiuPFeRJ6D53G5KWC3y4gmDhG8IAw7Ssa9Vlpsrup8jaNXHh+A6bAnYcu4bPfjto/H3z1D4IZ5JcgalMAIb1NVGlHkwpmQ1QwRf3H6wPRU6Re44wHPHXcGMTQm7+LJD9rsnU+soIaO2ux1z75Yu163fdStcUuYXA6wsIVg4VBpjMLDUeaOrgAOK6OjNFcvwhVCiluzbh90PYdvQqqlcMxuovSjSkhRRbZgDDOnsxOaczpYaFlEKQp4Sxm0KQlidxyxGGI+Zqs+IRfuUDIbwXTJMWsxghIc79CAsu7C6Ndg0lAAAdVklEQVStMEws88Jsgg3DhQEmSXUdLdt55hLJuIKs/g2x7UvcdrJtWPcxq40q/h2bKfGViAM/K69MAYZ16NKlzHCDlHwBwr0FUKdr7efbQpCs8a4jjMKCfITHDQRH3d97l578qmqTUblWczGYcErLzjDT+/hej63HLA5r32YOCl135dyFeHTuahtsynVOa4qvPv8II4aVyLJOXUzFsG9NW+bXuz+EISK9lJc5wBSz69KNzEheLxlFQVnEIrvmUlN3B+NiuncdYWi1OsjjP0KQznvxIDVVh0Bem1kreCcZg8N2pwhzX4juVkN6zebwx+u8oHr/OXoCPXrZBpsSW/GAvj3wy6yvzdl+WnsKi3aYnKFPHtIBnZu79qBpWWeZBUxxJ69coYE6ae4zlOqfIyBPM59uxc++36/AuZvedYTBJNz6+OkIL3AVn1b40N8K6oawRu8Jz+CCcvImgiEdKKoLF7p7pe4B8zl8148XVO+uPQcwYNAwj+tt0iga/+4t0Z4a8MUms9HY0vE9ECnUHc7tlpR5wFhyfA+l0lqq7L4A/QlAhTmHgnA8We51Rxh5FxejcvZSjwe7uIAk/cOo0nqK18qbsYPghebUGO7Dl+n1Pzh89iwvqN71G7fhzbc/9Lh5LALCzr+PQVMkR2w0Na4u566m49J1tVElRqyDEb8CTDH3LyblPMhTw67fjwZVPXTV+44wspP2oVq6IBU3QRPiprYWwtvOE0QrhGj2PoKO0dSoR+fL9O5SDm/H8oLq/XP5Gowc7R2tic9/XIlNyU2wY5RH1gJGVvklYFjHL6k0Ty85EbhxV6KceNsRRuatS6h1fYTX5mK+IQR5TZcbDb+8kVhw2MY1KFrV8UZpwsv4ZC3BCw8LC0o7/7fF+HRCydnDWS1FOSmQh1S363aX5XtlxGTEBfbCxveAIMFCB/s1+i1gGDsGL9Cvvpgm6eVtRxgZGZmomTQYHNUKn01OKHlIcEG5AfWE+eB2WefKY0DVMCDWO0G5XNZXTMDOTu3qUzxuinDhNH0/cx6+nGYrpS+diflxLkhPgFRRGfIQ+wzq9OxA5DUei5VDgYruObw0V+vXgOn8LR3L85jibUcY6iw1KiV9CLnhpqt5Ieg5DxkOV16PRyKFyTBcFbrxDPNZJj44rKtyXT1nvsYaVqeC4k1OmfoDfpjl2ncYb9CiMOOS0edyUOVoEGM4cuvUuGkrBHdbgIVvALWs4++6arLNc78GTOx0yq6efvS2I4zs7ByEJY1HkNYUactZ4kkg9FwE9JIKMEgijH8bjN/Z36bftCQcudLaeKC6q9KEPd8dB2Tliw8OK6x0x1Q/7SWoGkrRt4XrksZN/Brzfl3skpB59S9IN13hy0KrQxZkK+ANCQ1Do7ePYO5AoIF1DFqX5Zcm8G/AfENfB8Fv3naEkZubi6CkbxCou2yc9CZARJgBwcCRVlgZV3KC0aSmAhwnQYBcYowHI5FIwIN9MjPfkt/shcUQPdq3Mxy5DLDwfQNFBod1t77ifMyxuVxCBdX7wZgJWLzUdXh3Zh7NtmSgPCQBIQgIt+8/qtmw3fj5zep4yDoGregu+TVgOk2nTNl8pbcdYeTnFyA9U2MMDhQYIIFcwoGTSGCgnHHLECTnIJVIMG2H1BjywtcCRBYc9shlgrdEBocVPbtKZVjyDwGLLyqk3mHvjsGa9ZtdV0k4FGZdBa/NM/JbUcX+wSy692z8PDoWAjwpOa3TvwEzjXajHLa0b0DxSXfvnA9cj3AJxfe7TG5bq4aKyeU5bWIqsOkswcguvu3zyuPE6IBDSL2DBr+Hrdv3uOxshVqNkZqwH7q8NCNtYKUG4CS2V2G1OozE7ClvoZOHFx3+DZjptD0F/m4RRTHpOd9OHja4c/cRdHuQGh3r+TKxScuMuXz9kmDRmM/dgKB6+wwYgv0HjrhkS6+Bb2PlbzNQpDbZILEtGdualU4VH3gaX0/92ii89HZSVpY7NQllzvOLfYG7W7d7Nqe3a/NGA1hR7WfQZhKKU0yAN62396wkhTKFyUPa1qVo6KXDvNB62YH/2x0EXzzv/cnjrA07zhPsT4SgepkeGdMnc5V++nE6Phz/PTITmEIlhSykOmQK24M/W3mmzV2Lpxp7f5z9BjCPT6P1DRwuetMRhqsBtnzOnFHEVAMeVvp24hbpmata4lHcFzH9LKZl8TJXn4Cgep98+kWcPmtSknSWVi/7BZNmrsc/G2eC1xVAqqgEeYjtVRjhpPji1wN49qE7x+uYyAi7C4E3XvA+XWFU6Vo1ABsP2MzJwvDlMnjTEYarAbZ8zrYoVUKBR+vduUF01J67YUR2OhmYs49g9suu+9uhy/OIT2DyFedpz/bVWLXtFL77/F3o8zMhCQxHQJh9nZ/RU5diYJc7p95QZgCTnKHLppTaHK3Zm3bwYhkqKIDFg72/VLsabLZFYbYhnRu6nkCuyhL7/G4AJuEWwKT9QsyUWz3WDdeSkl1268zR3ThwLgtDBzyFIo0KnDwYgRH2VfYrP/jCzKTdX3pPZ8ll60wE990Kk5yhi6OU2kSaZx5OBy2UIkDqPUcYAnloJDtwkSC7AHj6Dm4THK4wIoPDiumXI1pVJjBqBcGqYa5fEA+16IxbqaabL2cp+dJJ3MqRoGXL1si7cRKcNAiBFe2vIopqDZemn133kqsyvf38fgTMJkops4WxSUOWSFGoI9joRUcYQhl+SgUkZZK7EtBp3DpgsjhzdqHdckiXlQcMWcReTq4Bw+z5mV2/sxQcrMCVuH+NoQof7DwESf/+aTz4B1WyH8tDHl7zhDpxlwA9A4+7alXAfQcYVYb2V1C8YY8N7y6XQl1AsGoojyD3vZK6zWHm9siDmK9u13u3Mgrtb71GbZCbm+e0mbVq1cDJIyavMK99OAvrfp0IfVEOFJWj7earUKUG9mxZ45WuOzqv2Cv8vgNMcqZuCuXpWHudGb1GipvZxKuOMLwyIn5eSGSDR8AiQDtLDzZ+ALu3rTKSzPrzAMa//xK0OSlQVLHZfd8uhuDQ/p1QKDyPiFCmAaNK17KD3g/2mP/ZXxJcyeAw/xUeNT3UZPXzOe7V7tes2wx6vcFpme3btcaa5SbX2gfP56Dnk62NipiKqo7tB1at+BMPPdjE47a6kr1YVnD/rTAZ+r6U8ivscWnyVgnibnL4sT+P+l6yN/F4NMoLQLXIh2zizpRmy9PduuCP+ab3YE4h8OCjzyMzfrvDMwyjm/rVZPR8vofHHC7TgLmRpetoMFC7Ximm75TgVDJn1G96srHrw6jHnC4vQBAHqipd+zvu/2JP/Dhjsrm8zv0n4sSWHx3KYRjh0DcH44NRnt8sl2nApGTROnqD7oq9kZq1T4IjV0Q7/xc06OVE7nPg6DS2bXL+AqvW4hVEdvnEXEna2bW4uGY4pEGO99ZPPv4YZs3y3DNpmQYM42hyujaBAjbXJxvOcFhxggHGI+UD92dGeU67HDg6/SGAd36GqfHoMNTuULJaFGZexem5T4CTOL7ufCCmAf7dv0EQ11MyrWN6WmYq84C5lqEdyVF8J4hTlkQc+URZUSbMG4PowsVlSEhSO3zlBtm5+alR0UOPD+KaZ5fa0aQryM+3oi/d/ocfaYOCQudxQCeOHYUPRrxpLocZk8U0i8Wt1HSHLQ+Qy3Hj0jFjzE1Xya8Bw4IuJWfoFgJ42RWjip8TQlbVqijtbwz3dw8kfwJM23YdkaXWOOX6tMljMWzIQCuawW9/hJVrNznNt37Fr+jc8VGXI+rXgCnmjipT353w/Es80IIALDAIM56QMFBQSpmkLAUEJzmeX1qrSuBfLrnqQwJ/AkyXJ7sh+bo5ALZdLs+cPgmvDuxj9ezPFesxbETJucZexrfeeAnTv3QdQqTMAyY5TdeZEspcjdjXjfDm5Ka4REDerF1F5tos0Ev1+hNger7QGxfiLzrl3PyfpqJfb+sr4vSMTDR4qCOYy15HSVmrJs4ddx3Dp8wDRpWhvQQKYfGjvTGJCS4rK8nvPDhvt9WfADPwlUE4etx5ROpFv/6A55950mYkn+zxMv45etLpCB/esw5NGjm3Vy77gEnX+lyQIua2xFOM+hNghg8fjp17Djhl2aolc9C1i21A1x9//h3jJn3jNO+EsaPwocWFgT3isg+Y8hXGatzv51uyTz75GGvWb3E66Teu+h0dLYIlFRNfuapCs7bOgzG1a9MCW9ezKI+OU5kHTPkZxnrw72fAfP3VFPy+yK42k7mTOzf+idYt7cfB7PBkH6cmzsz/29ULhxAe5thlT5kHjOV0SUzKfp6CLwkMAnIjJjLcyo3bRZV6Kk8xxpyPIjsmqiQgYkKS5jpAzfauBFzP6Miw9Z5urdzN709bsjmzZ+K7mb84ZdWBnavR9MFGdmm+/XE+Jn7pXOy2cP536NnD8UrkX4BRaSZQSieauUnIphhl+LNWoFJpFlFKSy7yCYmLUYabRyBBpdkISp8pzkMImRitDP/c3QnvaT5/AsyyJQswYcq3Tll29O+NaBht/45HyLZs0Et9MOvbSQ7r8DfArKOUPm/BjSkxkRFWl++JKvUuSvF4CSCwO1oZ0aX4e0KSmmn2fWoBmPXRynAf2ymW9MCfALNt8zqMGD3BKWDOHt2BKKVj36+du/XD8VNnHZZRu2YNnD+xqxwwjAOJKvU1SlHiDYGgT4wywspZb8I19QUQlBhPULokJqqCecVJUKl7g8JkocS0zQiSopURUZ6uFO7m9yfA/HtoL14Z8r5TViWe2Y9qVR2HUftp7kJ84iLGjLNVqsysMKcTk2s3i67t0KXIheTsSlJK0yilJRqVFPVjoiIuW59z1Ew5q8T9EsE3McoI85km4Zq6HgjMvn4IIVRPSJVGtcMy3J30nuTzJ8AkXjiJZ3uXRD+2xzdV/BGEhzsO1JlyMxWNHnncqRDzmymfYuhg+9pS3gKMq/kqZE54pBp85sy1CjRIEmww2BfnKoKC23NEsrzk/IKc/PycRjzTzrudQoLCAi3BwH6mlH6eV5Bjjo3HEUIUitALoDBfpfDU0C+/IM+5gEAIB9ygCVGEXXeUrawpX2bcvIx2jzuPHJ167SQCA5yHZevR9w3s+9uxy9mnn+qMZQtYyFPb5Awwaek3BcUBkEg4jhQY8po2jcpyY8gtprAnuV3kTVCpPwKFOcgkIdgbrYzobJntokrTgKfUKjY4B/RvEBlRAjTT1m4Ppehk0fIxMcoI51KxO9Q3f1phaFEmHmhuNWQ2XNWknHMYpq+YePGytXhnpPkYalNGSEgwkuIOQyq11V721grjjeng0QrjqgGJKs0SSqmF/ynyfUxk+CjLfAlJWR0BYmWFKZVyHevVDPvbmk7zHUBHFv9GCPkzWhkuWOPZVVvFPPcnwFQI5lE1qrlD9jA1/bSkUy7Zl52TiwYPdkBhUZFD2u0blqBta9u6/AcwSZrzFNR8PcxR8mqDqHCm2m9O8Uma/gTUKjY4R0h0A2W4lcbfxWuaQTyhC8yAAbkQHRne2OVI3QECfwIME7pWr9sC+QUFdjkZFhqK5MR/BHH5taEfOtUa+GT0u/hk9Ds2ZfkFYG7coIo8gyabUpiDHUqItGl9ZYjV/WJikmYUBbW66A+RhgfXrEmsLJsuqXIfMlD9mZIVBoZgSXhYaTpBI+chkb8BpknLJ6BKvmGXa1WrVMbFs/sFcXT7rv3o8/Iwh7SO1GT8AjCJydmPUp4/ZMGdwmhleCghRG+11VKpp4HiI4vfNDGRETbG4JRSaaJKk8Ni9ZhBw3HtomuHHRY0Wl4kEgsYL1bt9aJcWVyyCnv1HYBz5+x78K9Zswb27NwqqF16gwGxnZ9Eerr9y01mffnv4QNQKIIElceIfKl0y+q7Y2eY+CTNOwS05NqDkKMxyvDWpTmRqNIsppRanEXIhRgHW60ElYb5I21VXAYFGd4wMtxzTwqCh8dE6G+AGfzW2zhwwPLdV8KwunXqYOtm4VpKX0+bjt//cKxs+cu8n9Gh/WOCR6TMACZRlT2PUr7E0Jtw82KUYUNLcyL+mno3ISi5hiFkV4wy/Al7HEtQZc8F5d8q2ZZx86OVYebvgrnsIaG/Aeaj/43Fhr/smxs3bBiDDWtXCubohbg49OzVzyH9kMGv46MPzXc7LsstO4BJ0hyloC3Nkxt4JzoyYnZpDiRcU8eBwOxTlFK6uGFUhVfscSoxSf02BcwrCgE5Fh0Zbl5xXHLXSwRiAXM/ayuztn88/mv8PM/qrsbMyRbNH8KeLVYSAJdcZnKd/87H26Vr3uxB7NtmrR1d5s8w7LxxUZWdQ0Etzhvk0eja4TaSq4Qko4cFs5iYI9y0Bsqw/9kFTLKmLeWp+cxCQAobKMNszkUuR8xDAn8DzLTv5mDy1B/tcq1d25bYus4+mByxedacBRg7cardxxzH4VrcYSt1/zIPmMuqzKZ6ylnatRpCpPlhNWvWtLr5unmTBmdrNbmWnCOUjIqOCv/eHjdv3LihyNUrspmzjOLnUsI3q6esaL498xALgrL7G2B+W7gcI8fYVw5/PPYxrFvO3DcIT2npGWj4cGfo9Vb3P+YCmMSfSf6LU5kHTPy17FcJ4f8o2Y6R89GR4Taepy+pNNEGShOsAYN+0VERDi2WEpM05yioWf5CKfdaw6gws3xG+LC5T+lvgNmwaQcGDravgNm9a2csX2hfpcUZh/u/+i42b9ttl2T40Ffx1eclm4wyD5jEJM131FoqvyRaGW7tuMqo7pIVSynZa8k1Cr5jw8iKVlJ+y+elb9UIyPfRpbQH3IeCsJz+BphDR46jW0+7x0qj4RczABObNm7ZhZdef89uNmaMxozS/GaFSVSp91KKWAtufBQTGTG9NHcuXtf05w3WUn4CNIiOjHAYhTQhST0agFmHjBDsi1ZGlOiYiR05N+j9DTDxiZfRqoOVzZ+Za/369MD8WfbPI85Yq9Pp0fDhTmDumEondo5hZssRtzWgy/QKw1T5L6o0WZbq+pTiiYZRETYWQolJ2R9Q8DMsGRakDFcoCbGvhwEg/pq6CyEwO7MigKaBMrwCU/l3Y+67lcXfAMNC9tVp1M4ur159uQ9mznBsLemMwWMnTMOsueaduxXp0j9m4ZluJpvCMg2YxCR1fQqY9cDYRA4MC6usDCc2r5KEJDVbKdiKUZzUMZERFZwxWaXSVCwE0i1tbFytSm6hwkkmR4Cxp9rPirnfr5WZM75KymYwGGw99Qr1XmmPnefjEtG2k6UxbgmV5TmmbAMmWd2H8jBLsgjBtWhlhN1wuglJmiWAlTbz+Rg7lwOlmZ2oUl+lFGaLS8Khb3TtCLNFprcBUro8fwMM6z/zYpmaZutc/L23X8eUCZaaTeK437l7Pxw/aWu+3Oyhxvh7h2lIyzZgktRTKGCOY0kI1kUrI+xaICUkqZl715LzB8WumKgIu1J+y2FIVKnXUgqzTT8BvoyOjHBsbCFuDF1SiwWMywLvIoEQXTLWvB49+yAhwcpsydjqYUOHYNT79g/vQrq1bPkqTPj8CxtSdo759/DfCA1lLrcdp/te0p+g0myCRWhx5jGmYVQFu5f4CSpNHCg1S/kJIYuileGDXDE6/lrWBOY5xkxHyOYYZbjZq4yr/J4+90fAvPbGWzh8xFaNf8S772D4OzYaT4JZnJubi/Ydu9gNqTF39kx0irX1qGlZuM8Bc+PGZa86k8jVVzwGwOwRQQLD4CCpxq5LkFxDxXOgCC5mAOEwO5jLdHnlUqAP72KA5FcLxqWHSDPNajiCR8tNwlx9xav2sjo6w9ymTeCobjTR3bpjQlaDvLbddjnrptAV5oPRH2PTZlsPmLVrVv1q7+bf57rJSmO2Zu36TM3LLzArmAVWqo+qD/dD96c6Y1T3CiASx/F1JNpku9t9T9rjLO8d01a+Uw0uL/fucCCoSqPvCYGN9JJS8n5B2nn7ejMCmxpUpUl7TsL9HRHdBVWbD0CYspXRNZA+Lz394IQq91SI4HLACBxUfydTVGs8FpROseUDHZafGufRCtNxOh1nyM+YKFVUMqs86fLSaW7y0U1n5j/teahlLw5eOWC8yMyyXJSiWqMhoLBRGiOUvpaXFueRalLsdPongAGMfwUZl6G4sARtcw4e/XrXNhv7qbvN43sCMGcSUyy1Asw8aRpdw+gcw9FzMcwrLktMnnLaEg4oqjV8DpSzsRSjPAYUpF9Y5gmvOs2gbXke069tm8A9l7enaYNQWXCAhKMNK4ZFdl6yxqHfO0/qdDfvPQEYdxtfns93HIj9xpBm0BVUpgYteH0ReL0W1FAEWXDl/w5+VvEhIS1JSbli98VYnLdGjbr7furWZVGYXDawYlAAgmTSMY8vXn1XXGk56k+ZBYw3ViV7TLvXVipXk1DIRHZGwyYxex47nf4LwJ6xXuK+0cR5CDERjdjzWs8IXsvdvJRTGDDt7HXt9QLtmIJbF34QUcQdJS2zgLmjXPPHwmu2UCj0+SxYr1XiCN8l91a8fT19kXwqBv9Xg975fuHZaw9reZN6YLWqlfYe2rGoRO4motxiwIvI4pS0HDDe4qSflDPrqS5aA6UyAtAR23dz3u52gyffH3vj9HYWrcE0Nyl0lCOjC255dnXtrXaWA8ZbnPSTcna/3PsyBa0LILPLkjWVvN3tyk2emp+fljTEVC5N43j0zU2Ps/KM6u06xZRXDhgx3Cqnxe6Xe12gYKFJSF6XJaudK3qJ5xdRVG3ETNvZJcI5nqPPFt6ME629IL5a4TnKNGAopfLkbIRIDAgBj2BQnUJPiUIqQRD7JNSgAIgCBIGUkkCOIIAHH0gIFwBKAkH5QEogJwRyUCKn4OWEcDJCIQeBnFLIACoFAfOgLQX7TnH7O5UCHAdQCQjhQKkEIKbvAGf8m4DAFAqEEGIcCnLbbMH4m3FDAtDbtj70dtADCmb7w/6B8gB4gBiMfxNiAGW/se8sogLRg0IPYvyvA2D6DqIn7DuFlhJoKeV1BJwWhGophZZQaEG4QhBaSClfxIEr/HbR1mZrli2unp/8X6tcHW92bhJdv/6cLRvW/AIiyweHPIMEubXDkEsI0QqfhibK4KqNXqEA86hxOF9X1B1Zl5mDlHsq3dOASU2lIQYZKuv0usrgSCUJIRUBvgLlSQVKEMGBhPOgEaB8OEDCKBBGYAyJEUKBEAI2ocuTOxw4dfoMzp0/j/j4RJw5+x/i4uJZGBKbotq0boWFf9jGwKSAjgDMwUkuBXIIkA3QbBBOw4GoeVANoVATjmYBXJaB0syWrR79SSaX33rhuef7zpr2P/u+ad3pjBfz3BXAUEq5lCzUNhj0dQmhUQBRArQWBalBCGoAtBqlqAZAuM9QLzKlvCjgzaHDceCgydslc+Eqk8nNoSiYIRn7r9PpUCEiAn/vMxvAepN1BYTgFkBuUYoUApoCEBYcWEUpuSaRSK/UqIBkQghbZX2W7jhgKKWylCx9WwOPdoTQhylIE0IRbemzzGe9La+oTHGA+aWjBIkE9Byl5JSEw6EaFaRHCCFs+3lH0h0FTHK6bjIFhoNtm8pTOQd8wgGiJsBPtSvLrAIPe6vqOw8YguGg5YDx1oCVl+OCA4SoCb1PAcO6Zt6SAe0IpQ9TigcBRANwHhSxfGaUc8A1B1g4s0RC8B8l5JQE9/mWzFF/iw/9hOjrGkCiYKDmQz9AaxKCqpSSagAtP/S7njRllIIUEELZgT+VgqZwIDeMh34JUUlAr1FaRg/9noxm8bUy1esq6+1cK5vORiS8/FrZEy7fmbzOrpUBqgGImhCoCUqulaU8zSBSWbpEh/SqVYmVz+0700rxpd7RM4z45ng3hz3BJSREoadQSDkSZKBQgPIKUAeCS8IHMiElE16aBZeAnICTWQouCYHUJMQ0Ci9vCy6JlIJKOJOAkqNMcGkrwCTMFJdYCCwtBZilBZbsO5NWwiQPoaUFlsQouGQSS8oTkzCzRHAJGIWVtLTgEryOAtpiwSUTWjJhJqi14JKnKCKEFoKgEITLlxDk63laICXIh4Hme0Nw6d3RvzOl/R8AdGoXzom1qQAAAABJRU5ErkJggg=="},58143:function(en){"use strict";en.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADUCAYAAADZTGx+AAAgAElEQVR4Xu2dC3BU13nHv7MrIQkQQoCEtAIEAmxig4GACxhogpM6NY7jOKZO4nimwcFot23SNNNO02napJN0JjN9TNMm5eG3x4+YSeI3ftUGjCDGQMBgG4wxb+0u4mEeQhJI2tP539WR7i77uPfuvXfvar8zs7Mr7bnn8Z3vt9/5zlMQB5aAQQmsW7fO397eHujp6Rkfi8XGExFeDX2vABHVSSlrhBDDiKhdSnlOCBGWUu4mol1lZWWv3nfffccNZueJaMITpeBCeEICjz/++LCOjo5GIpogpWwUQjT2vU/A/wCClNJvtbBCCCml3CaEeGzChAmPLF269LLVtNx6jgFxS9IeyOehhx6q7OnpmSilnEhE2gsA4L0PhjHZillRUUHl5WUUf6+giopyKi+Pv8rKyrSX3++nnp4e7XXpUgedP3+ezp37lE6ebKPe3l4tCyFEhIj+UwjxaHNz8+ls+ebrewYkX5J3IN9169YNv3DhwsRYLIbXJAWBDoZRmbKFYkPRhw4dqgEwdCgAwOfyPiDKyefzWS454Dh58iQdPPiJBk0fKN1E9KyU8gehUKjVcuIOPciAOCRYJ5J95JFHyq9cuaJZACHEJCklIOgHQUqZ0QIAACg/FB+//niPwxD/H3793QqwJkePHqW2tjaSUsKinCOibwWDwfVulcFIPgyIESm5FGfDhg0lBw8ehOM7qbe3dxIggCXAe58VgBOcts0AgP6XfwCACho2bBgNGTLEpZoYz6arq4vee2+PBooQosvv999y//33bzaegrMxGRBn5ZuQOpR77dq1dVB4BQCsQB8AgGB8JicY3RsAgNewYQO//EOHDnPdAtgttr1736cjR44g2VPl5eXXLF++HBYl74EBsbkJHnnkkZFQ/p6eHk3xdd2gpj6nuDxTlvAB8GufDAH+h+8Ga0A365133qHTp8/AkvwiGAx+3wt1ZUBMtsL69evLTpw4gZEfKH+THoC+z9WZkkQ3RwEQ7wLFf/2VY5yLE2yyKp6LfuHCBdq06W0A0j1kyJCG++6771S+C8mAJLUAukEPP/xw/ZUrVyb5/f4m+AAAgYia+iwCJsTSDuUMOMJD+7tB8e5Q3A/A9xzSS2DHjh0UiUQxWvY3zc3N/5VvWRUlIE888cSI9vZ2TfH7+v8AAD5A1m6QEKLPEcbIT/yl/AG8e9ERzreSmck/Go3S9u078MjOUCg018yzTsQdlIBgNOjw4cMTYAWSfv2VFcg4HBrvBsWdYLzHQYh3hWAJAAkHZyQQi8Xo1Vdfw4RirLKysvree++94ExOxlIt2JZes2bNmL5hUK37owehb6lE2r6M6gYpRxjKz90gYwpjNhac766uy9TRcYk6O7u09+7uborFpDYBWVVVRaNHj06YgNyyZSudPXsWP0S3BIPBN8zmaWd8zwICZzgSiUzs7e3VlL8PANUNwt+VRkaDBrpAcR8Af7s5IWZnY3k1LcxldHZ2UkdHh/bCZywxUf8DJNkGLhobJ9DUqVM1H+2DDz6kQ4cO4ZEfhUKhf81nvT0DyNq1a2+MxWJfIaIFRDSNiAKZJsVKS0v7h0KVBdDPChfzaJDdCnX5MixAJ3V2dmiK39UVB0DBgG5RuqB8tsrKSs1a4F11UzFq1draSqdPx5di4f9z5syhixcvaJOHRPRgKBS63+76mEkv74A8+OCDs7u7u39JRDfpC64mxdTSiEQIKtgZNtPKWeJeuXKlX/HjVgDW4FIfFJ39CwzTJQPFhuKPGDFCe1efhw8frv0v248VZtFbWlq02XRYkGuvvYY+/HAfulhvBIPBW2ysqumk8grImjVrvheLxf6DiEpgEcaPH081NWMIgmVn2HRbpn0AAMS7O3ErgPdLl+ATxLtFaoVtugQwQakUX1kCtJH6nA0AIzVBN2zTpk20f/9+gi7ATxFC7A8Gg58x8rxTcfIGyOrVq38gpQQcNG7cOLrhhhk8R2CxlaFMeuUf8AXiXaJsAMAnS7YA+r9LSkoslsz8Y6+++qpacoKHw6FQCBuy8hbyAsgDDzywuLe3dwPWHV133XU0eTIGojikkwD2Vaj+frIVwP/xfaaAYet0FgBdIPxieyXA4X/yySeVBTkfDAZH5rNsrgMCx3vNmjXvSSlnTJzYSDNmzMhn/T2RN37hVd9fdYGUD4D/w0IYAUD1+fUwAIBCm7zcunUr7dmjOek9oVAor/S6DsiaNWtui8ViL6HRliz5fME1nhWiAIDq7ytfYGA49BLBR8gU8Auv+vypukKDbREjRrZefPFF+CAyGAxa36FlpbGSnnEdkFWrVj1ARCumTZtGU6dOsaEK+U8Cw5z6ro8aDlXWAMOkmQL6+AoA/UiQsgQYsCimgB+Mhx9+uDgBWb169T4p5bTPfe6PtSHAQggAAL/8A5Nh8dEf9Tf6zZkChi4zWQAMZXNIlMDq1auLE5BVq1ZhM/KIW2/9U3JzdCSTAmKIMXkYVO8DGAEAs/T6OQC9H4DvOJiTAABBCIVCrvdy9CV1PfNVq1Zp6w5uv/3L5iSWQ+z4eiCsAxr41U+cGe7S9kWnCxjnzwQArAMHeyXAgNgMCIY6sXRBr/jKB4B1yAQAlkPoAUh2hAEAr+C1F4BsqTEgNgCC0aFjx47RsWPHNTjSBSg3+vnpukAAwI7Z4GyNzt8blwADkiMgODZm7969mu+AAEcYy6bVKFDyaBADYFw5vRCTAckBkMOHD9P773+gtWNtbS199rOfpQkTJrAV8IJm21QGBsQiIJhE+sMfdmnNcP3119PChQsZDJuU0kvJMCAWAMFI1IYNG7W1RwsWLKCZM2d6qU25LDZKgAGxAMiePXu14yrHjh1Ld955p43NwUl5TQIMiElA1GZ+vC9btkxzyDkMXgkwICYBuXjxIm3cuImtx+BlIqFmDIhJQM6cOUNbt/5e8zvgf3AY3BJgQEwCgnsl3n13Ozvng5uL/toxICYBiUZP0vbt22nRokU0ffr0IlGT4q0mA8KAFK/2G6g5A8KAGFCT4o3CgDAgxav9BmrOgDAgBtSkeKMwIAxI8Wq/gZozIAyIATUp3igMCANSvNpvoOYMCANiQE2KNwoDwoAUr/YbqDkDwoAYUJPijcKAMCDFq/0Gas6AMCAG1KR4ozAgDEjxar+BmjMgDIgBNSneKAwIA1K82m+g5gwIA2JATYo3CgPCgBSv9huoOQPCgBhQk+KNwoAwIMWr/QZqzoAwIAbUpHijMCAMSPFqv4GaMyAMiAE1Kd4oDAgDUrzab6DmDAgDYkBNijcKA8KAFK/2G6g5A8KAGFCT4o3CgDAgxav9BmrOgDAgBtTEu1FwrXZ3d7f2unLlivaO/6nbhHMtOQPCgOSqQ44/j8uKlPInw4Br8NKF6upqqqmpyal8DAgDkpMC2fUwFF0pv94a4DPuobcScC99U1OTdjW31cCAMCBWdcf0c+kAwP9hJZwIjY2NVFZWZjlpBoQBsaw8yQ+m8geUNYCFwPduBlgOWBBYEquBAWFATOmOVX/AVCY2RPb5fFRfX0/Dhg3LKTUGhAG5SoGc8Ady0tIMD8M6lJSUUGlpKQ0ZMqT/HaNYuVgOlSUDUqSA5MMfsAoJrAEgUAAABj0QVtM18hwDMkgB8Zo/kE0Z4S8oxU8GAHDkKzAgBQxIofgDSrlVV0j/669gyGUo1kl4GBCPA1Lo/oDeGtjhEzgJQ6q0GRCPAdLR0UHnz5/vnzl2an7AqqLl0x+wWuZcnmNAPATIxYsXKRqNuj5fkKxAgCCdQ5xPfyAXRbf6LAPiIUCOHDmiWQ43QiH6A27IJTkPBsRDgHzyySeW1x0lN2yq+YFC9wcYEBclsGrVKm3dw+0eAiQSiRC6WUYDIEg1IqS6R0bT4XjpJcAWxEOAYNVqa2srdXV19bcY+wP5xZcB8RAgShXgh2CiD36CV+cH8qu27uXOgHgQEPean3PKJgEGhAHJpiNF/T0DwoAUNQDZKs+AMCDZdKSov2dAGJCiBiBb5RkQBiSbjhT19wwIA1LUAGSrPAPCgGTTkaL+ngFhQIoagGyVZ0AYkGw6UlDfY/8MViHYtQKBAWFACgoAVVh13haW5ehf6hRGHBaHY3+wcDOXwIAwILnoj6PPqj336lxePQhGDqHDSudJkyblVEYGhAHJSYHseBj77pMtAf7OdDC10Xz56FGjkkqK58X9IBarUhCP4Rc/FQROnssLwcCCwJJYDWxB2IJY1Z2UzyVbA/1J7bZmZCCx4cOHUyAQMBAzfRQGhAExrUDKGqRylPN9Cgt2WcIxBxyjRo3K+fhRBoQBSQsIRoTS+QZGnGTT5Jl4AMO4ACH5lUt3KlX2DAgDchUEyjJYvbjGhJ5njKrfc68HARDYNc+RrawMSJEAAmVP1SVSd/plUxQnv9dbA3UIhQLCyXyNpM2ADDJAsk2gGVEKJ+KoY4hSdYvcsgZW6sWAFCAg+gk0vY/gBWugTmFJ5Rvw2bxWEI0/Y/2OLIt5FsI8iH6IVA+CHRNoFsUWb6y+S2sUBPpu0WA7mpQtiMcsCA6uVodX53vIFNYg2SdQUBSiNbDyo8CAeAiQc+fOUVtbm5V2zOkZdXtTcrdosFkDK0JiQDwEyOHDh7WRJieCmkBL1S2CpeCQWgIMiIcAsePwarcm0IoFKAbEQ4Cge4VuVraQbgIN1oGtQTbpmfueAfEQIFi+gQt02tvb+3fFubGcwpzKFFdsBsRDgCjVAyh4sTXIP4wMiAcByb9acAmUBBgQBoRpyCABBoQBYUAYkKslUAhLTVhz8y8BtiBsQfKvhR4uAQPCgHhYPZ0tGhaAYlj91KlT2vo3vDo6OrTVDGpFg9o0JoTYRkQHhRAfE9GOIUOGbFm+fHn2SSubqsCreW0SJCeTWQKAACsWDh06RGfOnNGG0y2GGBG9J4T4HRE9EwwGAY5jgQFxTLScMCSA24N37NhBuGrbiSCEaCGinwSDwTcdSd+JRDOlyU662xLPT37hcJi2b9/uGBgparXZ5/P9uLm5eYOdNWYLYqc0OS2t+7R161bNcmQKlZWVNGHCBKqpqaERI0YQ/sa5vmqpPzanXb58mS5evEgXLlzQtiMcP35c+ztTEEJsLCkp+cGKFSt22dEcDIgdUuQ0NAns27ePWlpaKN2pLA0NDRoUeFVXV1uS2qeffkrHjh3TXhkgvOzz+b7X3Ny81lImuocYkFwlWIDPY8ckfp3xwoiSesdqZfyajxkzxlSt8Gu/efNm+uijj1I+h2NI586dS6NHjzaVbrbIsFbwb7CfJ1UQQjwuhAg1Nzd3ZEsr3fcMiFXJFcBz6iTGZBiy7a3HyYhGIcHo1GuvvUZnz569SiITJ06kG2+80XYwkjMCKPB3jhw5kqpV3vf7/XetXLnygJUmY0CsSM2Dz2D+IBkEq6etwA9oamrKWkv4A88++6w2h6EP2CqwZMmSnK9AyFqApAiwJBs2bNCsYlKIEtGCUCiUkqBM+TAgZlshz/HVIdXJ3SM7D5owAgjyf+655wg+gT7A8txyyy1aVy0fAQ7966+/TqdPn07IXgixv6SkZOGKFSuuNnUZCsqA5KMVDeSp/AS9jwCldONY0mxdLJThpZdeumoId9q0abR48WLXjidNJ0aUDz7R/v37kyHZUlZW9sXly5d3GWgCLQoDYlRSDsXT39+h7yI5dYhEpmpgX31VVVVW/wO/0JgR14drrrmGbr75ZoekZC3Zt956iw4cSHQ9MAPf3Nz8Z0IIzMhnDQxIVhHZF0H5CcoqAAirfkIupVJ76zHvgBd8BrwbOaF97969tGXLloTsx48fT7feeqvndmLCCr/yyiva/Ik+CCG+HwwGf2FEhgyIESmZjAMTr/cR1Gc7/QSjRVIH0OlBABBWDqCDU75u3bqEI5Iw0XfHHXf0T/AZLZdb8eCzPf/889rCSBWEEJf8fv+M+++/P/X4sK5wDEgOLaXO6k2GwQ0/IbnY6tihZKtg5/56DOfq5xwA3ze+8Q0aNmxYDlJ0/tFLly7Rr3/96wSwhRDPB4PBr2bLnQHJJqG+7/XdIvU5H36C/pBqPQxOn8aIpR6/+x0W0A6E+fPn06xZswxKML/Rdu/eTe+8805CIfx+/x+tXLlye6aSMSBJ0lEHV+sdZgCRw/JsS5qh9xOUj2DUT7CUYZaH0Jc/evRofyw481//+tc953ekqwas/TPPPKPtPdF1tdYHg8HbGBADGoNxcwgvH90j/Pond42s+gkGqmo6CnyPp556KuFHYunSpdqaqkIKWL+1fv16fZExkjU50wQiWxAibVIp1VIJuxtf7yforYKdfoLdZUZ6WMaxc+fO/qQxGbhs2TInsnI8zd/85jfJk4g/DYVC/5wuYwaESBvTz7Y+yUzLqesLkq2C036CmTKaiYuuiX7GfN68eTR79mwzSXgm7q5du2jbNuzijQfMsAeDwc8wIBmayCog+rN69TDAOgyWgONYn3jiiYTq3HPPPXlbSpKrXLEUBd1FffD5fI3Nzc3HUqXNFoRI2+SDV6ag7vJItgpW5hNybWQ3n8cSdiwAVAHzHnfddZebRbA9r9/+9rcJ8yJ+v/87K1eufJgBySBqAAInHaNV6uBqPQxevvDSdg3SJYjdgXv27On/D5avz5kzx8ksHU8b/hT8Kl036xfBYPD7DIjjoh98Gbz88ssJSzW+9KUvub6M3W6pYrITk546QN4IBoO3MCB2S7oI0nv66acT5g4wcz5y5MiCrjnugsHMug6QT4LB4BQGpKCbNT+Ff+yxx6izs7M/829/+9tUXl6en8LYlGtXVxc9+uijekBOB4PBGgbEJgEXUzIPPPBAwuTpypUrC2b2PF07YVZ97dqB8xyEEFeCwWAZA1JMmm1TXRkQmwRpNBk+OM6opLwRj7tYLrcDA+KywHPMjp30HAVo5HEpZXk0Gv5mLEbffeGFF7Q1Crfz6e5GRJf3ODzM62ATnDlzZtzly50hIrFSSqmdRvbCCy9qOTIgDgrexqR5otBGYaqkotHopFis5ydE4h4pZYk+CwbEAYE7mCQvNbFRuKdOnQp0d3f/iCi2QkoqTZU0A2KjwF1Iihcr2iDkcDg8Rkr590TyL4moIlOSDIgNAnc5CV7ublHgUkpfJBL5KyL5MyllpZFkGBAjUvJWHN4wZaE9otHo9Fis50EpaZ6ZxxkQM9LyRlzecmuiHaSUQ8Lh8D8KIf8hnZ/BXSwTAi2QqHxog4GGiluN3nVSyrRbFLMlwxYkm4S8+f1gPPaHiOaFQqF3M0nc8I7CcDj8NSL5mJRyeC5NyIDkIr38PssHx6WQv5RSRCKRfyGSP8LnXJuIAclVgvl7frAcPVpSUiLnz5//y+nTp/+1ECLjfdQZFb6trW14d3f3k0TyK3Y1CwNilyTzk85gOLx6+vTr+y4IEi+UlpZ+q7a2tj2dNNMCgvVTkUjrK1LS5+1sCgbETmnmJ61Cvv6gvr6ebrxxbr/ghKCN9fUNtwohUt4ZkhIQLA8Jh8PPEskv290EDIjdEnU/vUK9QAcXAy1YMD/FBT/ipUAgcKcQoidZmlcBEp/8Cz8hpfymE6JnQJyQqvtp4uxi3E+I/d364NUr2IYPH0aLFi3STqxJFYQQT9fXB+5NvljnKkBaW1v/jUj+rVMiZ0Cckqz76RbKJZ44vmnx4kU0dOjQLEIS/97Q0PB3+kgJgLS2ti4SgjbBijglbgbEKcnmJ12vXwNdWVmpXUUNC5ItwHpISZ9raGhoUXH7AZFSVoTD4d1E8ppsCeXyPQOSi/S8+SzONX777bevug9QlXbSpEk0d+5c2+9Lx2F/O3bsSLjURy8hXA13ww0zTF4qKg4EAoFZQgjtKJd+QJzuWqmCMyDeVHI7SrVv3z5qaWlJe4VEQ0ODdmUCXtXV1ZayxCHauMYAr9bW1pRp4PDwGTOmU2Njo6U8iAa6WhogbW1tU3p6uvdLKf0WUzT8GANiWFQFGRG/6rjkMxwOZyw//AFYFpz1izvV0RWCr6BOwIdVwkAA/BwcOI07BgEF/s4URo8eTdOnT6eqKuv3tAshektKSqfV1tYe1AAJh8OrpIwF3WgRBsQNKec/DwCCZfKRSMSVwmAId9q0a7NeYW20MEL4VgcCgZCA7xGJhE9JKbN7MUZTzxCPAbFBiAWUBLpB8BOcAgVgXHvttVRTox15YFvATbj19YEaEQ6H75Qylng7o23ZXJ0QA+KgcD2aNEa6sCvRrmuw0X2qrw9QIFBPw4fntHY2o8SE8H1NtLa2/rJvq6wr4mVAXBGzpzJJXpqCa6MnT55M0WhUu5dFfy+kuo4O103AH8E5wIiP18iRVQSLgeun3QniVwBkK5Fc4E6GfOyPW3L2Qj6wGAcOHKCNGzdmLA4gaGpqokmTJpocknW6luL3IhxujUgp65zOSqXPFsQtSbubD0adcBkqLAJGnNTFqKm6Vcoa4CppLE3x6nUKQoioaG09gQkR186zZ0DcVVwncsO98QBA/8L8hJG75OfPn0+1tSlvGnCiqLmm2cWA5CrCQf487tJQICjLAKc7OcB3qKwcTrAKVVUjtbkN3Cjb0dHRHzV5qXkBiK6Lu1gF0EpuFRHKnAxDqok5ONAAAKNJAAJdJEz06e97P3jwE/rwww/7i47vliz5vOZsF0ro62Kxk14oDWZnOXFiorIIgAKf9b/2Ki+MJMVhiIMAKABDptt9r1zppjfffJO6u7v7iwwnHDv5CiuIrTzMW1gtZqm06BLpLQNgwDKO5IDh0zgI6CbFu0pGVsEmp7N37/sJCwiR7he+cHPavRiWKuXKQ+JXPFHoiqDdyQROMjYwKYugoIBTnRyw7ikOwQAQ2fdLZK8HLNPGjZsSJgWvv/56mjy5KfvDHoshhO9OXmrisUYxWhwMn2LkSHWT8I4hVgy3JoeKioo+fwFdJEAxgvA/J8L27YnLSgDdzTcvKbh7DfuXmkBIbi5WfPnl9drM6dKlt5qaFIpGT2qL37BtEqs1iylAXlB+vWU4e/ZsymXlUEjlK8Tfq1zr2qBMLS1bEppmzpw51NAQKLjm6l+siJK7udz9zTffokuXLmm/KmZGNIoFEDi2+sk2WAZ0m1JNuGEdkt55xmf3lmFcrfObN7doVk0F7PnAVtdCC1ctd0cF3Now9e677xKUfebMG7SNM0bDYAQEjnKqOYbkCTeMGGHkaMB5jvsOGG71SsCq3Z07/5BQHFj7UaOsbYzKb72SNkyhMG5tuT127Djt3r1b2355003Gl4DhbNht294lzMTOmjUrv/KzkHtnZ2dCFwmWIdUcA+YL1LAqfAV0k/C3fo7BQvaOPgLr9tZbGxKGiQOBAM2dO8fRfJ1JPM2W2z4r4vihDehCoJuFkRUc4FVXZ2wZGLodW7f+nmbMmEELFy50RjY2pYoupN55hpXA/5IDLEB8sm3AeQYMmeYYbCqirckMhklBCCTjoQ1KYm50tQ4fPkI4whJnFC1ceJOhNf1QMPxKYXHbsmXLbG3gXBLDdtDkYVVYi+Sg5hj0s89O7mXIpU5mnh08k4IaIpmP/enrajl6cJwSvhoOxHj87NmztL3JmQL65a+99ro2O3v33Xdr+wLcDnCWk4dVU024AfyBOYb47LOZAQm365VLfoNlUtDwwXF9kDh29KhqDAxdAhL4FghTpkymadOmZexefPDBh3To0CHCcS633XZbLu2a8Vk1x6B3oNHF0y+dUAlgL4PyFdTsc0WFa4ujHZOBkYQHz6SgiaNHlWCcOrw6WfAHDx6kffv2a0ulq6tH0nXXXZfWOij/Be84DAxj7LkG/RyDAiJ5l5vKA3MMybPPsIDFGgbDpKClw6tVgztx/UEqZTp79lPauXMnqb47xs+bmiYRlkcnO6zo4mA0C0DNnDmT5s2bZ3iER23q0VsGjNtn3tQz4ECnO9e1GAEZHJOCOVx/oLMktl6gk06ZYBUOHTqsLXJTa4fQfRk7dqw2lg6fQ60VOnGild577z1NsfGLPnv2bJo4caK2f1kF/aYe5TfAh0g1xzBkSCmNHFmtnYyhhlXV+UzFqPxG6vz225sTDq4upEnB+KU54mf19fU/zukCHb2g7LqCLZvw0eXBpBOGDtHH1Yd4f79KO2AM8WAJlJMMSwOA8B0sUaqRJKSFoVXEw2gYTsUAEF6acMsmHy98X8iTgkKIdiLx54FAwNBJPqauVLPjEk8zDYzuD7pf8Alg0lOtSs2UHqABVJhbqKsbq3XZuJtkpgWujgurjXks/Q9QoUwKCiH2+Xz+u+vq6t43KgVTgCBRXAMdiUR+RBT7oZVroI0WLFW89vZL1N5+kTD2DljQLevuxnuPZgUw2xyfbxhB1dWjqFhGk3KRqdlnjx8/Trt27e5/rBB2CgpB3US+n9fX1/9MCHH12v8MQjANiEorbk16HpSS5pkVMscvXAmoSV5VA6/vFBSCtvl8JSvMWA1961gGpM+a+CKRyHeJ5E+llJWF2+xccqMSgNXetm2b1vXFwMn8+fP6D5w2moYb8YQQF4nEP9XX1/9P8q1RZvLPCRCVUTgcHiOl/CGR/AsicmYnjplacVzHJYAhc4+O9HUSif8VQvw8EAiczlUQtgCiCnHq1KlAd3f3PxHFvuO2f5KrIPj5wpZAn5/xUGlp6U9ramoy371goqq2AqLyPXnyZFNvb/ePicQ9uDHXRHk4KkvAlATiN9PKp3y+kp/U1dUdNvWwgciOAKLyPXPmzLjLlztDRGKllNLe8+kNVI6jDF4JCCFOE8m1ZWUVq0aPHn3CqZo6CogqNNZ1RaPhb8Zi9D0iWXi7nZySPqdrQQJit89H/11XF3haCNFlIQFTj7gCiL5E4XB4MZEMEdEdUsps9/KaqgxHHpwSEELg/NLnicSqQCCw2c1aug6IqhwWQvb09HyVSH6LiL7Ivoqbze79vOK+Bf0fkXiypKTkudra2sR1Ry5VIW+A6OsXjUZre3t778DBmPAAAAI6SURBVO6DZb5LdedsvCmBdwCF3+9fV1dXF98slMfgCUCSumCNQsgvSymXSklLeF4lj9rhTtadQtAGIcR6KbWNS0fdydZYLp4DRF9snLQSjUZvjsViS4Wg26SUVi++NiYNjuWKBIQQR6Wkl30+3/q6urq3hBBXb+J3pSTZM/E0IMnFj0Qi10kp/4QotphILJJSjs1eRY6RbwkIIU4SyRYi32YhxBv19fUD9yLku3BZ8i8oQJLrcurUiWt6e8Wi3l7CyBiO8JvicXkXS/EOEokWv582+/2ypaZm3IFCrXhBA5Is9La2trqenp6biGi2lJhv0eZcxhVq4xRIuU8Qid1CCKyB31VSUrK1trY2WiBlz1rMQQVIqtpeuHBidEcHzZIy/iLSXtfyWrGsupEQIb7WiT4iot1CxF9Dh9LuESPGnTGXUmHFHvSApGoOzLm0tbU19vb2TpVSThGCphLJKVLSVCFoYrHCAwikpCNC0MdE4qCU9LEQ4qDf7/+4trb2aN/cRGFpeI6lLUpAMslMSulva2ub2NPT0+TzyUAsJup9PgpIKQNSinohtM/1RFRo5/1cFkJEpKSwEDIihAjHYhT2+WQkFhPhkpKSQ7W1tUdwsnmOOjWoHmdALDbn+fPnR3V2dgKW0ULEqmIxUSWlHCmErJJSVAlBVVIS3kcS4X9ULoQolVKWZnpHcaSU3UKI7szv1EUkzuNSKSEI7+eFkOelFOeFEOd8Pnz24fOZioqKcFVV1VmLVS3qx/4fQLyzKIIkCJoAAAAASUVORK5CYII="},96908:function(en){"use strict";en.exports="data:image/png;base64,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"},57177:function(en){"use strict";en.exports="data:image/png;base64,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"},81378:function(en){"use strict";en.exports="data:image/png;base64,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"},16722:function(en,tn,Oe){"use strict";Oe.d(tn,{Z:function(){return Te}});const Ge=ke=>typeof ke=="object"&&ke!=null&&ke.nodeType===1,tt=(ke,Ie)=>(!Ie||ke!=="hidden")&&ke!=="visible"&&ke!=="clip",Ue=(ke,Ie)=>{if(ke.clientHeight<ke.scrollHeight||ke.clientWidth<ke.scrollWidth){const Ce=getComputedStyle(ke,null);return tt(Ce.overflowY,Ie)||tt(Ce.overflowX,Ie)||(Me=>{const je=(ye=>{if(!ye.ownerDocument||!ye.ownerDocument.defaultView)return null;try{return ye.ownerDocument.defaultView.frameElement}catch(ie){return null}})(Me);return!!je&&(je.clientHeight<Me.scrollHeight||je.clientWidth<Me.scrollWidth)})(ke)}return!1},Ne=(ke,Ie,Ce,Me,je,ye,ie,ae)=>ye<ke&&ie>Ie||ye>ke&&ie<Ie?0:ye<=ke&&ae<=Ce||ie>=Ie&&ae>=Ce?ye-ke-Me:ie>Ie&&ae<Ce||ye<ke&&ae>Ce?ie-Ie+je:0,Ke=ke=>{const Ie=ke.parentElement;return Ie==null?ke.getRootNode().host||null:Ie},Be=(ke,Ie)=>{var Ce,Me,je,ye;if(typeof document=="undefined")return[];const{scrollMode:ie,block:ae,inline:fe,boundary:de,skipOverflowHiddenElements:ve}=Ie,xe=typeof de=="function"?de:kt=>kt!==de;if(!Ge(ke))throw new TypeError("Invalid target");const ce=document.scrollingElement||document.documentElement,pe=[];let Se=ke;for(;Ge(Se)&&xe(Se);){if(Se=Ke(Se),Se===ce){pe.push(Se);break}Se!=null&&Se===document.body&&Ue(Se)&&!Ue(document.documentElement)||Se!=null&&Ue(Se,ve)&&pe.push(Se)}const Le=(Me=(Ce=window.visualViewport)==null?void 0:Ce.width)!=null?Me:innerWidth,ze=(ye=(je=window.visualViewport)==null?void 0:je.height)!=null?ye:innerHeight,{scrollX:Ze,scrollY:Ve}=window,{height:Qe,width:$e,top:gt,right:lt,bottom:At,left:Et}=ke.getBoundingClientRect(),{top:vt,right:Lt,bottom:St,left:xt}=(kt=>{const Rt=window.getComputedStyle(kt);return{top:parseFloat(Rt.scrollMarginTop)||0,right:parseFloat(Rt.scrollMarginRight)||0,bottom:parseFloat(Rt.scrollMarginBottom)||0,left:parseFloat(Rt.scrollMarginLeft)||0}})(ke);let ct=ae==="start"||ae==="nearest"?gt-vt:ae==="end"?At+St:gt+Qe/2-vt+St,Dt=fe==="center"?Et+$e/2-xt+Lt:fe==="end"?lt+Lt:Et-xt;const Xt=[];for(let kt=0;kt<pe.length;kt++){const Rt=pe[kt],{height:Gt,width:ln,top:Rn,right:jn,bottom:er,left:an}=Rt.getBoundingClientRect();if(ie==="if-needed"&&gt>=0&&Et>=0&&At<=ze&&lt<=Le&&(Rt===ce&&!Ue(Rt)||gt>=Rn&&At<=er&&Et>=an&&lt<=jn))return Xt;const Un=getComputedStyle(Rt),Kn=parseInt(Un.borderLeftWidth,10),ur=parseInt(Un.borderTopWidth,10),Xn=parseInt(Un.borderRightWidth,10),Nn=parseInt(Un.borderBottomWidth,10);let _n=0,un=0;const qt="offsetWidth"in Rt?Rt.offsetWidth-Rt.clientWidth-Kn-Xn:0,Yt="offsetHeight"in Rt?Rt.offsetHeight-Rt.clientHeight-ur-Nn:0,gn="offsetWidth"in Rt?Rt.offsetWidth===0?0:ln/Rt.offsetWidth:0,_t="offsetHeight"in Rt?Rt.offsetHeight===0?0:Gt/Rt.offsetHeight:0;if(ce===Rt)_n=ae==="start"?ct:ae==="end"?ct-ze:ae==="nearest"?Ne(Ve,Ve+ze,ze,ur,Nn,Ve+ct,Ve+ct+Qe,Qe):ct-ze/2,un=fe==="start"?Dt:fe==="center"?Dt-Le/2:fe==="end"?Dt-Le:Ne(Ze,Ze+Le,Le,Kn,Xn,Ze+Dt,Ze+Dt+$e,$e),_n=Math.max(0,_n+Ve),un=Math.max(0,un+Ze);else{_n=ae==="start"?ct-Rn-ur:ae==="end"?ct-er+Nn+Yt:ae==="nearest"?Ne(Rn,er,Gt,ur,Nn+Yt,ct,ct+Qe,Qe):ct-(Rn+Gt/2)+Yt/2,un=fe==="start"?Dt-an-Kn:fe==="center"?Dt-(an+ln/2)+qt/2:fe==="end"?Dt-jn+Xn+qt:Ne(an,jn,ln,Kn,Xn+qt,Dt,Dt+$e,$e);const{scrollLeft:Jt,scrollTop:wt}=Rt;_n=_t===0?0:Math.max(0,Math.min(wt+_n/_t,Rt.scrollHeight-Gt/_t+Yt)),un=gn===0?0:Math.max(0,Math.min(Jt+un/gn,Rt.scrollWidth-ln/gn+qt)),ct+=wt-_n,Dt+=Jt-un}Xt.push({el:Rt,top:_n,left:un})}return Xt},we=ke=>ke===!1?{block:"end",inline:"nearest"}:(Ie=>Ie===Object(Ie)&&Object.keys(Ie).length!==0)(ke)?ke:{block:"start",inline:"nearest"};function Te(ke,Ie){if(!ke.isConnected||!(je=>{let ye=je;for(;ye&&ye.parentNode;){if(ye.parentNode===document)return!0;ye=ye.parentNode instanceof ShadowRoot?ye.parentNode.host:ye.parentNode}return!1})(ke))return;const Ce=(je=>{const ye=window.getComputedStyle(je);return{top:parseFloat(ye.scrollMarginTop)||0,right:parseFloat(ye.scrollMarginRight)||0,bottom:parseFloat(ye.scrollMarginBottom)||0,left:parseFloat(ye.scrollMarginLeft)||0}})(ke);if((je=>typeof je=="object"&&typeof je.behavior=="function")(Ie))return Ie.behavior(Be(ke,Ie));const Me=typeof Ie=="boolean"||Ie==null?void 0:Ie.behavior;for(const{el:je,top:ye,left:ie}of Be(ke,we(Ie))){const ae=ye-Ce.top+Ce.bottom,fe=ie-Ce.left+Ce.right;je.scroll({top:ae,left:fe,behavior:Me})}}},80813:function(en,tn,Oe){"use strict";Oe.d(tn,{CR:function(){return fe},Jh:function(){return je},Q_:function(){return gt},XA:function(){return ae},ZT:function(){return tt},_T:function(){return Ne},ev:function(){return xe},mG:function(){return Me},pi:function(){return Ue},pr:function(){return ve}});var Ge=function(ct,Dt){return Ge=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Xt,kt){Xt.__proto__=kt}||function(Xt,kt){for(var Rt in kt)Object.prototype.hasOwnProperty.call(kt,Rt)&&(Xt[Rt]=kt[Rt])},Ge(ct,Dt)};function tt(ct,Dt){if(typeof Dt!="function"&&Dt!==null)throw new TypeError("Class extends value "+String(Dt)+" is not a constructor or null");Ge(ct,Dt);function Xt(){this.constructor=ct}ct.prototype=Dt===null?Object.create(Dt):(Xt.prototype=Dt.prototype,new Xt)}var Ue=function(){return Ue=Object.assign||function(Dt){for(var Xt,kt=1,Rt=arguments.length;kt<Rt;kt++){Xt=arguments[kt];for(var Gt in Xt)Object.prototype.hasOwnProperty.call(Xt,Gt)&&(Dt[Gt]=Xt[Gt])}return Dt},Ue.apply(this,arguments)};function Ne(ct,Dt){var Xt={};for(var kt in ct)Object.prototype.hasOwnProperty.call(ct,kt)&&Dt.indexOf(kt)<0&&(Xt[kt]=ct[kt]);if(ct!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Rt=0,kt=Object.getOwnPropertySymbols(ct);Rt<kt.length;Rt++)Dt.indexOf(kt[Rt])<0&&Object.prototype.propertyIsEnumerable.call(ct,kt[Rt])&&(Xt[kt[Rt]]=ct[kt[Rt]]);return Xt}function Ke(ct,Dt,Xt,kt){var Rt=arguments.length,Gt=Rt<3?Dt:kt===null?kt=Object.getOwnPropertyDescriptor(Dt,Xt):kt,ln;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Gt=Reflect.decorate(ct,Dt,Xt,kt);else for(var Rn=ct.length-1;Rn>=0;Rn--)(ln=ct[Rn])&&(Gt=(Rt<3?ln(Gt):Rt>3?ln(Dt,Xt,Gt):ln(Dt,Xt))||Gt);return Rt>3&&Gt&&Object.defineProperty(Dt,Xt,Gt),Gt}function Be(ct,Dt){return function(Xt,kt){Dt(Xt,kt,ct)}}function we(ct,Dt,Xt,kt,Rt,Gt){function ln(un){if(un!==void 0&&typeof un!="function")throw new TypeError("Function expected");return un}for(var Rn=kt.kind,jn=Rn==="getter"?"get":Rn==="setter"?"set":"value",er=!Dt&&ct?kt.static?ct:ct.prototype:null,an=Dt||(er?Object.getOwnPropertyDescriptor(er,kt.name):{}),Un,Kn=!1,ur=Xt.length-1;ur>=0;ur--){var Xn={};for(var Nn in kt)Xn[Nn]=Nn==="access"?{}:kt[Nn];for(var Nn in kt.access)Xn.access[Nn]=kt.access[Nn];Xn.addInitializer=function(un){if(Kn)throw new TypeError("Cannot add initializers after decoration has completed");Gt.push(ln(un||null))};var _n=(0,Xt[ur])(Rn==="accessor"?{get:an.get,set:an.set}:an[jn],Xn);if(Rn==="accessor"){if(_n===void 0)continue;if(_n===null||typeof _n!="object")throw new TypeError("Object expected");(Un=ln(_n.get))&&(an.get=Un),(Un=ln(_n.set))&&(an.set=Un),(Un=ln(_n.init))&&Rt.unshift(Un)}else(Un=ln(_n))&&(Rn==="field"?Rt.unshift(Un):an[jn]=Un)}er&&Object.defineProperty(er,kt.name,an),Kn=!0}function Te(ct,Dt,Xt){for(var kt=arguments.length>2,Rt=0;Rt<Dt.length;Rt++)Xt=kt?Dt[Rt].call(ct,Xt):Dt[Rt].call(ct);return kt?Xt:void 0}function ke(ct){return typeof ct=="symbol"?ct:"".concat(ct)}function Ie(ct,Dt,Xt){return typeof Dt=="symbol"&&(Dt=Dt.description?"[".concat(Dt.description,"]"):""),Object.defineProperty(ct,"name",{configurable:!0,value:Xt?"".concat(Xt," ",Dt):Dt})}function Ce(ct,Dt){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(ct,Dt)}function Me(ct,Dt,Xt,kt){function Rt(Gt){return Gt instanceof Xt?Gt:new Xt(function(ln){ln(Gt)})}return new(Xt||(Xt=Promise))(function(Gt,ln){function Rn(an){try{er(kt.next(an))}catch(Un){ln(Un)}}function jn(an){try{er(kt.throw(an))}catch(Un){ln(Un)}}function er(an){an.done?Gt(an.value):Rt(an.value).then(Rn,jn)}er((kt=kt.apply(ct,Dt||[])).next())})}function je(ct,Dt){var Xt={label:0,sent:function(){if(Gt[0]&1)throw Gt[1];return Gt[1]},trys:[],ops:[]},kt,Rt,Gt,ln=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return ln.next=Rn(0),ln.throw=Rn(1),ln.return=Rn(2),typeof Symbol=="function"&&(ln[Symbol.iterator]=function(){return this}),ln;function Rn(er){return function(an){return jn([er,an])}}function jn(er){if(kt)throw new TypeError("Generator is already executing.");for(;ln&&(ln=0,er[0]&&(Xt=0)),Xt;)try{if(kt=1,Rt&&(Gt=er[0]&2?Rt.return:er[0]?Rt.throw||((Gt=Rt.return)&&Gt.call(Rt),0):Rt.next)&&!(Gt=Gt.call(Rt,er[1])).done)return Gt;switch(Rt=0,Gt&&(er=[er[0]&2,Gt.value]),er[0]){case 0:case 1:Gt=er;break;case 4:return Xt.label++,{value:er[1],done:!1};case 5:Xt.label++,Rt=er[1],er=[0];continue;case 7:er=Xt.ops.pop(),Xt.trys.pop();continue;default:if(Gt=Xt.trys,!(Gt=Gt.length>0&&Gt[Gt.length-1])&&(er[0]===6||er[0]===2)){Xt=0;continue}if(er[0]===3&&(!Gt||er[1]>Gt[0]&&er[1]<Gt[3])){Xt.label=er[1];break}if(er[0]===6&&Xt.label<Gt[1]){Xt.label=Gt[1],Gt=er;break}if(Gt&&Xt.label<Gt[2]){Xt.label=Gt[2],Xt.ops.push(er);break}Gt[2]&&Xt.ops.pop(),Xt.trys.pop();continue}er=Dt.call(ct,Xt)}catch(an){er=[6,an],Rt=0}finally{kt=Gt=0}if(er[0]&5)throw er[1];return{value:er[0]?er[1]:void 0,done:!0}}}var ye=Object.create?function(ct,Dt,Xt,kt){kt===void 0&&(kt=Xt);var Rt=Object.getOwnPropertyDescriptor(Dt,Xt);(!Rt||("get"in Rt?!Dt.__esModule:Rt.writable||Rt.configurable))&&(Rt={enumerable:!0,get:function(){return Dt[Xt]}}),Object.defineProperty(ct,kt,Rt)}:function(ct,Dt,Xt,kt){kt===void 0&&(kt=Xt),ct[kt]=Dt[Xt]};function ie(ct,Dt){for(var Xt in ct)Xt!=="default"&&!Object.prototype.hasOwnProperty.call(Dt,Xt)&&ye(Dt,ct,Xt)}function ae(ct){var Dt=typeof Symbol=="function"&&Symbol.iterator,Xt=Dt&&ct[Dt],kt=0;if(Xt)return Xt.call(ct);if(ct&&typeof ct.length=="number")return{next:function(){return ct&&kt>=ct.length&&(ct=void 0),{value:ct&&ct[kt++],done:!ct}}};throw new TypeError(Dt?"Object is not iterable.":"Symbol.iterator is not defined.")}function fe(ct,Dt){var Xt=typeof Symbol=="function"&&ct[Symbol.iterator];if(!Xt)return ct;var kt=Xt.call(ct),Rt,Gt=[],ln;try{for(;(Dt===void 0||Dt-- >0)&&!(Rt=kt.next()).done;)Gt.push(Rt.value)}catch(Rn){ln={error:Rn}}finally{try{Rt&&!Rt.done&&(Xt=kt.return)&&Xt.call(kt)}finally{if(ln)throw ln.error}}return Gt}function de(){for(var ct=[],Dt=0;Dt<arguments.length;Dt++)ct=ct.concat(fe(arguments[Dt]));return ct}function ve(){for(var ct=0,Dt=0,Xt=arguments.length;Dt<Xt;Dt++)ct+=arguments[Dt].length;for(var kt=Array(ct),Rt=0,Dt=0;Dt<Xt;Dt++)for(var Gt=arguments[Dt],ln=0,Rn=Gt.length;ln<Rn;ln++,Rt++)kt[Rt]=Gt[ln];return kt}function xe(ct,Dt,Xt){if(Xt||arguments.length===2)for(var kt=0,Rt=Dt.length,Gt;kt<Rt;kt++)(Gt||!(kt in Dt))&&(Gt||(Gt=Array.prototype.slice.call(Dt,0,kt)),Gt[kt]=Dt[kt]);return ct.concat(Gt||Array.prototype.slice.call(Dt))}function ce(ct){return this instanceof ce?(this.v=ct,this):new ce(ct)}function pe(ct,Dt,Xt){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var kt=Xt.apply(ct,Dt||[]),Rt,Gt=[];return Rt=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),Rn("next"),Rn("throw"),Rn("return",ln),Rt[Symbol.asyncIterator]=function(){return this},Rt;function ln(ur){return function(Xn){return Promise.resolve(Xn).then(ur,Un)}}function Rn(ur,Xn){kt[ur]&&(Rt[ur]=function(Nn){return new Promise(function(_n,un){Gt.push([ur,Nn,_n,un])>1||jn(ur,Nn)})},Xn&&(Rt[ur]=Xn(Rt[ur])))}function jn(ur,Xn){try{er(kt[ur](Xn))}catch(Nn){Kn(Gt[0][3],Nn)}}function er(ur){ur.value instanceof ce?Promise.resolve(ur.value.v).then(an,Un):Kn(Gt[0][2],ur)}function an(ur){jn("next",ur)}function Un(ur){jn("throw",ur)}function Kn(ur,Xn){ur(Xn),Gt.shift(),Gt.length&&jn(Gt[0][0],Gt[0][1])}}function Se(ct){var Dt,Xt;return Dt={},kt("next"),kt("throw",function(Rt){throw Rt}),kt("return"),Dt[Symbol.iterator]=function(){return this},Dt;function kt(Rt,Gt){Dt[Rt]=ct[Rt]?function(ln){return(Xt=!Xt)?{value:ce(ct[Rt](ln)),done:!1}:Gt?Gt(ln):ln}:Gt}}function Le(ct){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var Dt=ct[Symbol.asyncIterator],Xt;return Dt?Dt.call(ct):(ct=typeof ae=="function"?ae(ct):ct[Symbol.iterator](),Xt={},kt("next"),kt("throw"),kt("return"),Xt[Symbol.asyncIterator]=function(){return this},Xt);function kt(Gt){Xt[Gt]=ct[Gt]&&function(ln){return new Promise(function(Rn,jn){ln=ct[Gt](ln),Rt(Rn,jn,ln.done,ln.value)})}}function Rt(Gt,ln,Rn,jn){Promise.resolve(jn).then(function(er){Gt({value:er,done:Rn})},ln)}}function ze(ct,Dt){return Object.defineProperty?Object.defineProperty(ct,"raw",{value:Dt}):ct.raw=Dt,ct}var Ze=Object.create?function(ct,Dt){Object.defineProperty(ct,"default",{enumerable:!0,value:Dt})}:function(ct,Dt){ct.default=Dt},Ve=function(ct){return Ve=Object.getOwnPropertyNames||function(Dt){var Xt=[];for(var kt in Dt)Object.prototype.hasOwnProperty.call(Dt,kt)&&(Xt[Xt.length]=kt);return Xt},Ve(ct)};function Qe(ct){if(ct&&ct.__esModule)return ct;var Dt={};if(ct!=null)for(var Xt=Ve(ct),kt=0;kt<Xt.length;kt++)Xt[kt]!=="default"&&ye(Dt,ct,Xt[kt]);return Ze(Dt,ct),Dt}function $e(ct){return ct&&ct.__esModule?ct:{default:ct}}function gt(ct,Dt,Xt,kt){if(Xt==="a"&&!kt)throw new TypeError("Private accessor was defined without a getter");if(typeof Dt=="function"?ct!==Dt||!kt:!Dt.has(ct))throw new TypeError("Cannot read private member from an object whose class did not declare it");return Xt==="m"?kt:Xt==="a"?kt.call(ct):kt?kt.value:Dt.get(ct)}function lt(ct,Dt,Xt,kt,Rt){if(kt==="m")throw new TypeError("Private method is not writable");if(kt==="a"&&!Rt)throw new TypeError("Private accessor was defined without a setter");if(typeof Dt=="function"?ct!==Dt||!Rt:!Dt.has(ct))throw new TypeError("Cannot write private member to an object whose class did not declare it");return kt==="a"?Rt.call(ct,Xt):Rt?Rt.value=Xt:Dt.set(ct,Xt),Xt}function At(ct,Dt){if(Dt===null||typeof Dt!="object"&&typeof Dt!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof ct=="function"?Dt===ct:ct.has(Dt)}function Et(ct,Dt,Xt){if(Dt!=null){if(typeof Dt!="object"&&typeof Dt!="function")throw new TypeError("Object expected.");var kt,Rt;if(Xt){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");kt=Dt[Symbol.asyncDispose]}if(kt===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");kt=Dt[Symbol.dispose],Xt&&(Rt=kt)}if(typeof kt!="function")throw new TypeError("Object not disposable.");Rt&&(kt=function(){try{Rt.call(this)}catch(Gt){return Promise.reject(Gt)}}),ct.stack.push({value:Dt,dispose:kt,async:Xt})}else Xt&&ct.stack.push({async:!0});return Dt}var vt=typeof SuppressedError=="function"?SuppressedError:function(ct,Dt,Xt){var kt=new Error(Xt);return kt.name="SuppressedError",kt.error=ct,kt.suppressed=Dt,kt};function Lt(ct){function Dt(Gt){ct.error=ct.hasError?new vt(Gt,ct.error,"An error was suppressed during disposal."):Gt,ct.hasError=!0}var Xt,kt=0;function Rt(){for(;Xt=ct.stack.pop();)try{if(!Xt.async&&kt===1)return kt=0,ct.stack.push(Xt),Promise.resolve().then(Rt);if(Xt.dispose){var Gt=Xt.dispose.call(Xt.value);if(Xt.async)return kt|=2,Promise.resolve(Gt).then(Rt,function(ln){return Dt(ln),Rt()})}else kt|=1}catch(ln){Dt(ln)}if(kt===1)return ct.hasError?Promise.reject(ct.error):Promise.resolve();if(ct.hasError)throw ct.error}return Rt()}function St(ct,Dt){return typeof ct=="string"&&/^\.\.?\//.test(ct)?ct.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(Xt,kt,Rt,Gt,ln){return kt?Dt?".jsx":".js":Rt&&(!Gt||!ln)?Xt:Rt+Gt+"."+ln.toLowerCase()+"js"}):ct}var xt={__extends:tt,__assign:Ue,__rest:Ne,__decorate:Ke,__param:Be,__esDecorate:we,__runInitializers:Te,__propKey:ke,__setFunctionName:Ie,__metadata:Ce,__awaiter:Me,__generator:je,__createBinding:ye,__exportStar:ie,__values:ae,__read:fe,__spread:de,__spreadArrays:ve,__spreadArray:xe,__await:ce,__asyncGenerator:pe,__asyncDelegator:Se,__asyncValues:Le,__makeTemplateObject:ze,__importStar:Qe,__importDefault:$e,__classPrivateFieldGet:gt,__classPrivateFieldSet:lt,__classPrivateFieldIn:At,__addDisposableResource:Et,__disposeResources:Lt,__rewriteRelativeImportExtension:St}}}]);
}());