From 5061e7579d90bda616ea9a67d4ef539d9f15b172 Mon Sep 17 00:00:00 2001 From: theapache64 Date: Sun, 10 Sep 2023 19:03:39 +0530 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=A6=20update=20gh-pages?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- benchart.js | 2 +- benchart.js.map | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/benchart.js b/benchart.js index 2e5334f..eaf0a89 100644 --- a/benchart.js +++ b/benchart.js @@ -1,3 +1,3 @@ /*! For license information please see benchart.js.LICENSE.txt */ -!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.benchart=n():t.benchart=n()}(this,(()=>(()=>{var t={868:function(t,n,e){var r,i,o;i=[n,e(744)],void 0===(o="function"==typeof(r=function(t,n){"use strict";var e,r=n.$_$.ca,i=n.$_$.y8,o=n.$_$.gd;function s(){e=this,u.call(this)}function a(){return null==e&&new s,e}function u(){}function c(t){this.jo_1=t}function l(t){this.no_1=t}function h(t){this.ko_1=t}return s.prototype=Object.create(u.prototype),s.prototype.constructor=s,s.$metadata$=r("None",void 0,void 0,void 0,void 0,u.prototype),u.prototype.atomicfu$Trace$append$1=function(t){},u.prototype.atomicfu$Trace$append$2=function(t,n){},u.prototype.atomicfu$Trace$append$3=function(t,n,e){},u.prototype.atomicfu$Trace$append$4=function(t,n,e,r){},u.$metadata$=i("TraceBase"),c.prototype.lo=function(t){this.jo_1=t},c.prototype.mo=function(){return this.jo_1},c.prototype.atomicfu$compareAndSet=function(t,n){return this.jo_1===t&&(this.jo_1=n,!0)},c.prototype.atomicfu$getAndSet=function(t){var n=this.jo_1;return this.jo_1=t,n},c.prototype.toString=function(){return o(this.jo_1)},c.$metadata$=i("AtomicRef"),Object.defineProperty(c.prototype,"kotlinx$atomicfu$value",{configurable:!0,get:c.prototype.mo,set:c.prototype.lo}),l.prototype.oo=function(t){this.no_1=t},l.prototype.mo=function(){return this.no_1},l.prototype.atomicfu$compareAndSet=function(t,n){return this.no_1===t&&(this.no_1=n,!0)},l.prototype.atomicfu$getAndSet=function(t){var n=this.no_1;return this.no_1=t,n},l.prototype.toString=function(){return this.no_1.toString()},l.$metadata$=i("AtomicBoolean"),Object.defineProperty(l.prototype,"kotlinx$atomicfu$value",{configurable:!0,get:l.prototype.mo,set:l.prototype.oo}),h.prototype.po=function(t){this.ko_1=t},h.prototype.mo=function(){return this.ko_1},h.prototype.atomicfu$compareAndSet=function(t,n){return this.ko_1===t&&(this.ko_1=n,!0)},h.prototype.atomicfu$getAndSet=function(t){var n=this.ko_1;return this.ko_1=t,n},h.prototype.atomicfu$getAndIncrement=function(){var t=this.ko_1;return this.ko_1=t+1|0,t},h.prototype.atomicfu$getAndDecrement=function(){var t=this.ko_1;return this.ko_1=t-1|0,t},h.prototype.atomicfu$getAndAdd=function(t){var n=this.ko_1;return this.ko_1=this.ko_1+t|0,n},h.prototype.atomicfu$addAndGet=function(t){return this.ko_1=this.ko_1+t|0,this.ko_1},h.prototype.atomicfu$incrementAndGet=function(){var t=this;return t.ko_1=t.ko_1+1|0,t.ko_1},h.prototype.atomicfu$decrementAndGet=function(){var t=this;return t.ko_1=t.ko_1-1|0,t.ko_1},h.prototype.toString=function(){return this.ko_1.toString()},h.$metadata$=i("AtomicInt"),Object.defineProperty(h.prototype,"kotlinx$atomicfu$value",{configurable:!0,get:h.prototype.mo,set:h.prototype.po}),i("ReentrantLock"),t.$_$=t.$_$||{},t.$_$.a=function(t){return function(t,n){return new l(t)}(t,a())},t.$_$.b=function(t){return function(t,n){return new c(t)}(t,a())},t.$_$.c=function(t){return function(t,n){return new h(t)}(t,a())},t})?r.apply(n,i):r)||(t.exports=o)},769:function(t,n,e){var r,i;r=[n,e(744),e(646)],void 0===(i=function(t,n,e){"use strict";var r,i,o,s,a,u,c,l,h,p,f,_,d,v,y,m,g,$,b,w,x,k,j,z,C,S,q,O,P,M,A,E,I,D,T,B,L,N,R,F,H,U,V,W,J,K,Y,G,X,Z,Q,tt,nt,et,rt,it,ot,st,at,ut,ct,lt,ht,pt,ft,_t,dt,vt,yt,mt,gt,$t=Math.imul,bt=n.$_$.j9,wt=n.$_$.p4,xt=n.$_$.ga,kt=n.$_$.y8,jt=n.$_$.s,zt=n.$_$.cc,Ct=n.$_$.u9,St=n.$_$.u1,qt=n.$_$.dd,Ot=n.$_$.ed,Pt=n.$_$.k4,Mt=n.$_$.i2,At=n.$_$.tc,Et=n.$_$.fd,It=n.$_$.y7,Dt=e.$_$.n,Tt=e.$_$.i,Bt=n.$_$.g8,Lt=n.$_$.f8,Nt=n.$_$.h8,Rt=n.$_$.k8,Ft=n.$_$.s9,Ht=n.$_$.a9,Ut=n.$_$.c1,Vt=n.$_$.j,Wt=n.$_$.v,Jt=n.$_$.h9,Kt=n.$_$.ub,Yt=n.$_$.g6,Gt=n.$_$.r7,Xt=n.$_$.j7,Zt=n.$_$.rb,Qt=n.$_$.r,tn=n.$_$.hd,nn=n.$_$.u7,en=n.$_$.ca,rn=n.$_$.r1,on=n.$_$.zc,sn=n.$_$.l6,an=n.$_$.z8,un=n.$_$.pa,cn=n.$_$.f9,ln=n.$_$.k9,hn=n.$_$.m5,pn=n.$_$.uc,fn=n.$_$.y,_n=n.$_$.c7,dn=e.$_$.k,vn=e.$_$.e,yn=e.$_$.f,mn=n.$_$.gd,gn=n.$_$.j8,$n=n.$_$.i8,bn=n.$_$.g9,wn=n.$_$.w4,xn=n.$_$.o5,kn=n.$_$.l8,jn=e.$_$.l,zn=n.$_$.w7,Cn=e.$_$.c,Sn=n.$_$.u,qn=n.$_$.o7,On=n.$_$.o6,Pn=e.$_$.h,Mn=n.$_$.g1,An=n.$_$.v7,En=n.$_$.pc,In=e.$_$.o,Dn=e.$_$.b,Tn=n.$_$.i,Bn=n.$_$.yb,Ln=e.$_$.g,Nn=e.$_$.m,Rn=n.$_$.a1,Fn=n.$_$.f7,Hn=(n.$_$.m8,n.$_$.n8,n.$_$.p5),Un=n.$_$.j6,Vn=n.$_$.c9,Wn=n.$_$.c4,Jn=n.$_$.a5,Kn=n.$_$.z4,Yn=n.$_$.m6,Gn=n.$_$.x6,Xn=n.$_$.m1,Zn=n.$_$.e6,Qn=n.$_$.d6,te=n.$_$.h5,ne=n.$_$.j5,ee=n.$_$.e5,re=n.$_$.g5,ie=n.$_$.x1,oe=n.$_$.d5,se=n.$_$.r4,ae=n.$_$.ia,ue=n.$_$.r8,ce=n.$_$.t4,le=n.$_$.t1,he=n.$_$.i5,pe=n.$_$.q6,fe=n.$_$.v6,_e=n.$_$.s4,de=n.$_$.f5,ve=n.$_$.u4,ye=n.$_$.q4,me=n.$_$.la,ge=n.$_$.ka,$e=n.$_$.rc,be=n.$_$.n1,we=n.$_$.w1,xe=n.$_$.l1,ke=n.$_$.x,je=n.$_$.qb,ze=n.$_$.o9,Ce=n.$_$.t5,Se=n.$_$.e,qe=n.$_$.i7,Oe=n.$_$.ra,Pe=n.$_$.i9,Me=n.$_$.j4,Ae=n.$_$.n7,Ee=n.$_$.ta,Ie=n.$_$.q8,De=n.$_$.s5,Te=n.$_$.a2,Be=n.$_$.g,Le=n.$_$.ob,Ne=n.$_$.d2,Re=n.$_$.h1;function Fe(){}function He(){}function Ue(){return Po()}function Ve(){}function We(t,n){this.i11_1=t,this.j11_1=n,this.k11_1=0}function Je(t){this.l11_1=t;var n;n=jt(),this.m11_1=n,this.n11_1=this.l11_1,this.o11_1=8}function Ke(t,n){this.r11_1=t,this.s11_1=n}function Ye(t){this.v11_1=t,this.w11_1=Va(),this.x11_1=null;var n;n=jt(),this.y11_1=n;var e;e=jt(),this.z11_1=e,this.a12_1=8}function Ge(){return Ji(),r}function Xe(){return Ji(),s}function Ze(){return Ji(),c}function Qe(){return Ji(),l}function tr(){}function nr(t,n){Ji();for(var e=t.h13();e.d();){var r=e.e(),i=r;if(null!=i&&Ft(i,xs))n.l12(r);else if(i instanceof To){var o=r.j13_1;null!=o&&(o.c14_1=!0,r.ot())}}t.k14()}function er(t){var n;t.r15_1=t.n14_1.t16(),ir(t,100),t.m14_1.v16(),t.f15_1=t.m14_1.w16(),t.i15_1.z16((n=t.h15_1,Ji(),n?1:0)),t.h15_1=t.j12(t.f15_1),t.v15_1=null,t.a15_1||(t.a15_1=t.m14_1.a17());var e=function(t,n,e){return function(t,n){return Ji(),t.u2(n instanceof vo?n:zt())}(e,n)?function(t,n){Ji();var e=t.a3(n instanceof vo?n:zt()),r=null==e?null:e.m2();return null==r||Ct(r)?r:zt()}(e,n):n.w17_1.m2()}(0,(Ah(),_t),t.f15_1);null==e||(e.a(t.n14_1),t.m14_1.b17(e),wt()),ir(t,t.m14_1.c17())}function rr(t){sr(t),t.m14_1.d17(),sr(t),function(t){t.d16_1&&(Mr(t,!1,Xe(),2),t.d16_1=!1)}(t),function(t){Ar(t),t.s14_1.h()||Oi(xt("Start/end imbalance")),t.f16_1.h()||Oi(xt("Missed recording an endGroup()")),Hr(t)}(t),t.r15_1.p17(),t.b15_1=!1}function ir(t,n){return lr(t,n,null,!1,null)}function or(t,n,e){return lr(t,n,e,!1,null)}function sr(t){return pr(t,!1)}function ar(t,n){if(null==n){var e=t.v15_1;if(null!=e)return e}if(t.y15_1&&t.u15_1)for(var r=t.t15_1.e13_1;r>0;){if(202===t.t15_1.u17(r)&&Ht(t.t15_1.t17(r),Qe())){var i=t.t15_1.s17(r),o=null!=i&&Ft(i,_u)?i:zt();return t.v15_1=o,o}r=t.t15_1.v17(r)}if(t.r15_1.f()>0)for(var s=n,a=null==s?t.r15_1.l17_1:s;a>0;){if(202===t.r15_1.u17(a)&&Ht(t.r15_1.t17(a),Qe())){var u,c=t.g15_1.a3(a);if(null==c){var l=t.r15_1.s17(a);u=null!=l&&Ft(l,_u)?l:zt()}else u=c;var h=u;return t.v15_1=h,h}a=t.r15_1.v17(a)}return t.v15_1=t.f15_1,t.f15_1}function ur(t){mi(t.t15_1.f13_1),t.s15_1=new ra;var n,e=t,r=t.s15_1.y17();r.p17(),n=r,e.t15_1=n}function cr(t,n,e){var r;n?t.r15_1.c18():(null!=e&&t.r15_1.a18()!==e&&Mr(t,!1,(r=e,function(t,n,e){return n.r1b(r),wt()}),2),t.r15_1.b18())}function lr(t,n,e,r,i){if(Cr(t),Jr(t,n,e,i),t.y15_1){t.r15_1.d18();var o=t.t15_1.d13_1;if(r)t.t15_1.g18(fi().h12_1);else if(null!=i){var s=e;t.t15_1.f18(n,null==s?fi().h12_1:s,i)}else{var a=e;t.t15_1.e18(n,null==a?fi().h12_1:a)}var u=t.t14_1;if(null==u);else{var c=new Ma(n,-1,_r(0,o),-1,0);u.n18(c,t.u14_1-u.i18_1|0),u.o18(c)}return hr(t,r,null),wt()}null==t.t14_1&&(t.r15_1.p18()===n&&Ht(e,t.r15_1.r18())?cr(t,r,i):t.t14_1=new ki(t.r15_1.q18(),t.u14_1));var l,h=t.t14_1,p=null;if(null!=h){var f=h.s18(n,e);if(null!=f){h.o18(f);var _=f.x18_1;t.u14_1=h.a19(f)+h.i18_1|0;var d=h.b19(f),v=d-h.j18_1|0;h.c19(d,h.j18_1),Rr(t,_),t.r15_1.d19(_),v>0&&Or(t,(l=v,function(t,n,e){return n.s1b(l),wt()})),cr(t,r,i)}else{t.r15_1.d18(),t.y15_1=!0,t.v15_1=null,function(t){t.t15_1.f13_1&&(t.t15_1=t.s15_1.y17(),t.t15_1.z17(),t.u15_1=!1,t.v15_1=null)}(t),t.t15_1.t18();var y=t.t15_1.d13_1;if(r)t.t15_1.g18(fi().h12_1);else if(null!=i){var m=e;t.t15_1.f18(n,null==m?fi().h12_1:m,i)}else{var g=e;t.t15_1.e18(n,null==g?fi().h12_1:g)}t.w15_1=t.t15_1.u18(y);var $=new Ma(n,-1,_r(0,y),-1,0);h.n18($,t.u14_1-h.i18_1|0),h.o18($),p=new ki(jt(),r?0:t.u14_1)}}hr(t,r,p)}function hr(t,n,e){t.s14_1.e19(t.t14_1),t.t14_1=e,t.v14_1.z16(t.u14_1),n&&(t.u14_1=0),t.x14_1.z16(t.w14_1),t.w14_1=0}function pr(t,n){if(t.y15_1){var e=t.t15_1.e13_1;Yr(t,t.t15_1.u17(e),t.t15_1.t17(e),t.t15_1.s17(e))}else{var r=t.r15_1.l17_1;Yr(t,t.r15_1.u17(r),t.r15_1.t17(r),t.r15_1.s17(r))}var i=t.w14_1,o=t.t14_1;if(null!=o&&o.h18_1.f()>0){for(var s=o.h18_1,a=o.g19(),u=function(t){var n=ke(t.f()),e=0,r=t.f()-1|0;if(e<=r)do{var i=e;e=e+1|0;var o=t.g(i);n.a(o)}while(e<=r);return n}(a),c=Ut(),l=0,h=a.f(),p=0,f=s.f(),_=0;p0&&(Rr(t,t.r15_1.l19()),t.r15_1.z17())}for(var g=t.u14_1;!t.r15_1.m19();){var $=t.r15_1.j17_1;Nr(t);var b=t.r15_1.r17();Ur(t,g,b),zi(t.d15_1,$,t.r15_1.j17_1)}var w=t.y15_1;if(w){n&&(function(t){t.x15_1.a(t.g16_1.f19())}(t),i=1),t.r15_1.o19();var x=t.t15_1.e13_1;if(t.t15_1.p19(),!t.r15_1.r19()){var k=_r(0,x);t.t15_1.q19(),t.t15_1.p17(),function(t,n){if(t.x15_1.h())Or(t,(r=t.s15_1,i=n,function(t,n,e){return n.t18(),n.m1c(r,i.l1c(r)),n.q19(),wt()}));else{var e=Gt(t.x15_1);t.x15_1.s7(),Ar(t),Ir(t),Or(t,function(t,n,e){return function(r,i,o){var s=t.y17();try{var a=0,u=n.f()-1|0;if(a<=u){do{var c=a;a=a+1|0,n.g(c)(r,s,o)}while(a<=u);wt()}}finally{s.p17()}return i.t18(),i.m1c(t,e.l1c(t)),i.q19(),wt()}}(t.s15_1,e,n))}var r,i}(t,t.w15_1),t.y15_1=!1,t.n14_1.du()||(mr(t,k,0),dr(t,k,i))}}else{n&&Tr(t),function(t){var n=t.r15_1.l17_1;t.f16_1.q1a(-1)<=n||Oi(xt("Missed recording an endGroup")),t.f16_1.q1a(-1)===n&&(t.f16_1.f19(),Mr(t,!1,Xe(),2))}(t);var j=t.r15_1.l17_1;i!==yr(t,j)&&dr(t,j,i),n&&(i=1),t.r15_1.n19(),Wr(t)}!function(t,n,e){var r=t.s14_1.f19();if(null!=r&&!e){var i=r,o=i.j18_1;i.j18_1=o+1|0}t.t14_1=r,t.u14_1=t.v14_1.f19()+n|0,t.w14_1=t.x14_1.f19()+n|0}(t,i,w)}function fr(t){var n=t.p15_1;t.p15_1=!0;for(var e=!1,r=t.r15_1.l17_1,i=r+t.r15_1.i19(r)|0,o=t.u14_1,s=t.z15_1,a=t.w14_1,u=r,c=Ci(t.d15_1,t.r15_1.j17_1,i);null!=c;){var l=c.t19_1;if(Si(t.d15_1,l),c.y19()){e=!0,t.r15_1.d19(l);var h=t.r15_1.j17_1;gr(t,u,h,r),u=h,t.u14_1=vr(t,l,h,r,o),t.z15_1=br(t,t.r15_1.v17(h),r,s),t.v15_1=null,c.s19_1.w19(t),t.v15_1=null,t.r15_1.x19(r)}else t.o15_1.e19(c.s19_1),c.s19_1.v19(),t.o15_1.f19();c=Ci(t.d15_1,t.r15_1.j17_1,i)}if(e){gr(t,u,r,r),t.r15_1.z17();var p=yr(t,r);t.u14_1=o+p|0,t.w14_1=a+p|0}else wr(t);t.z15_1=s,t.p15_1=n}function _r(t,n){return-2-n|0}function dr(t,n,e){var r=yr(t,n);if(r!==e){var i=e-r|0,o=n,s=t.s14_1.f()-1|0;t:for(;-1!==o;){var a=yr(t,o)+i|0;mr(t,o,a);var u=s;if(0<=u)n:do{var c=u;u=u+-1|0;var l=t.s14_1.z19(c);if(null!=l&&l.h19(o,a)){s=c-1|0;break n}}while(0<=u);if(o<0)o=t.r15_1.l17_1;else{if(t.r15_1.a1a(o))break t;o=t.r15_1.v17(o)}}}}function vr(t,n,e,r,i){for(var o=t.r15_1.v17(e);o!==r&&!t.r15_1.a1a(o);)o=t.r15_1.v17(o);var s=t.r15_1.a1a(o)?0:i;if(o===e)return s;var a=o,u=s+(yr(t,o)-t.r15_1.b1a(e)|0)|0;t:for(;s=0)return o}return t.r15_1.b1a(n)}function mr(t,n,e){if(yr(t,n)!==e)if(n<0){var r,i=t.z14_1;if(null==i){var o=Wt();t.z14_1=o,r=o}else r=i;r.v3(n,e)}else{var s,a=t.y14_1;if(null==a){var u=new Int32Array(t.r15_1.f());Vt(u,-1,0,0,6,null),t.y14_1=u,s=u}else s=a;s[n]=e}}function gr(t,n,e,r){for(var i=t.r15_1,o=function(t,n,e,r){if(Ji(),n===e)return n;if(n===r||e===r)return r;if(t.v17(n)===e)return e;if(t.v17(e)===n)return n;if(t.v17(n)===t.v17(e))return t.v17(n);var i=n,o=e,s=Di(t,n,r),a=Di(t,e,r),u=s-a|0,c=0;if(c0&&s!==o;)i.a1a(s)&&Tr(t),s=i.v17(s);$r(t,e,o)}function $r(t,n,e){var r,i;n>0&&n!==e&&($r(t,t.r15_1.v17(n),e),t.r15_1.a1a(n)&&Dr(t,(r=t.r15_1,i=n,r.n1a(i))))}function br(t,n,e,r){var i;if(n===e)i=r;else{var o,s=function(t,n,e){var r;if(t.c1a(e)){var i,o=t.t17(e);if(null==o)i=null;else{var s=o;i=s instanceof Kt?o.s1_1:s instanceof wi?Ao():Jt(o)}r=null==i?0:i}else{var a,u=t.u17(e);if(207===u){var c,l=t.s17(e);a=null==(c=null==l?null:Ht(l,fi().h12_1)?u:Jt(l))?u:c}else a=u;r=a}return r}(t.r15_1,0,n);if(s===Ao())o=s;else{var a=br(t,t.r15_1.v17(n),e,r);o=qt(a,3)^s}i=o}return i}function wr(t){t.w14_1=t.r15_1.d1a(),t.r15_1.z17()}function xr(t,n,e,r,i){t.h1a(Ao(),n),t.j12(r);var o=t.z15_1;t.z15_1=Ao(),t.y15_1&&t.t15_1.i1a(0,1,null);var s,a,u,c=!t.y15_1&&!Ht(t.r15_1.a18(),e);if(c){var l=t.g15_1,h=t.r15_1.j17_1;l.v3(h,e)}if(lr(t,202,Qe(),!1,e),t.y15_1&&!i){t.u15_1=!0,t.v15_1=null;var p=t.t15_1.u18(t.t15_1.v17(t.t15_1.e13_1)),f=t.s15_1,_=Yt(),d=new yi(n,r,t.r14_1,f,p,_,function(t,n,e,r){return 0!=(2&e)&&(n=null),ar(t,n)}(t,null,2));t.m14_1.j1a(d)}else{var v=t.h15_1;t.h15_1=c,Hh(t,(s=cl(1378964644,!0,(a=n,u=r,function(t,n){var e=t;return $i(e,"C2821@107760L18:Composer.kt#9igjgp"),2==(11&n)&&e.v1b()?(e.z17(),wt()):a.u1b_1(u,e,0),wt()})),function(t,n){return s.t1b(t,n)})),t.h15_1=v}sr(t),t.z15_1=o,t.k1a()}function kr(t,n,e,r,i,o){var s=t.e16_1,a=t.p15_1,u=t.u14_1;try{t.e16_1=!1,t.p15_1=!0,t.u14_1=0;var c,l=0,h=i.f()-1|0;if(l<=h)do{var p=l;l=l+1|0;var f=i.g(p),_=f.l4(),d=f.m4();if(null!=d)for(var v=d.c();v.d();){var y=v.e();t.l1a(_,y)}else t.l1a(_,null)}while(l<=h);if(null==n)c=null;else{var m=r;c=n.m1a(e,null==m?-1:m,o)}var g=c;return null==g?o():g}finally{t.e16_1=s,t.p15_1=a,t.u14_1=u}}function jr(t,n,e,r,i,o,s,a){return 0!=(2&s)&&(n=null),0!=(4&s)&&(e=null),0!=(8&s)&&(r=null),0!=(16&s)&&(i=Yt()),kr(t,n,e,r,i,o)}function zr(t){t.c15_1||Oi(xt("A call to createNode(), emitNode() or useNode() expected was not expected")),t.c15_1=!1}function Cr(t){!t.c15_1||Oi(xt("A call to createNode(), emitNode() or useNode() expected"))}function Sr(t,n){t.p14_1.a(n)}function qr(t,n){Ar(t),Ir(t),Sr(t,n)}function Or(t,n){(function(t,n,e,r){0!=(2&e)&&(n=!1),Br(t,n)})(t,!1,2),Fr(t),Sr(t,n)}function Pr(t,n,e){Br(t,n),Sr(t,e)}function Mr(t,n,e,r,i){return 0!=(2&r)&&(n=!1),Pr(t,n,e)}function Ar(t){var n,e=t.a16_1;e>0&&(t.a16_1=0,Sr(t,(n=e,function(t,e,r){var i=0;if(i=0||Oi(xt("Tried to seek backward")),i>0&&(Sr(t,(e=i,function(t,n,r){return n.k1c(e),wt()})),t.c16_1=r)}function Lr(t,n){t.x15_1.a(n)}function Nr(t){(function(t,n){ti(t,n,!1,0),Wr(t)})(t,t.r15_1.j17_1),Or(t,(Ji(),i));var n=t;n.c16_1=n.c16_1+t.r15_1.p1a()|0}function Rr(t,n){var e=t.r15_1.j17_1-t.c16_1|0;t.c16_1=n-e|0}function Fr(t){if(t.r15_1.f()>0){var n=t.r15_1,e=n.l17_1;if(t.f16_1.q1a(-1)!==e){!t.d16_1&&t.e16_1&&(Mr(t,!1,(Ji(),a),2),t.d16_1=!0);var r=n.u18(e);t.f16_1.z16(e),Mr(t,!1,(i=r,function(t,n,e){return n.n1c(i),wt()}),2)}}var i}function Hr(t){t.t14_1=null,t.u14_1=0,t.w14_1=0,t.c16_1=0,t.z15_1=0,t.c15_1=!1,t.d16_1=!1,t.f16_1.s7(),t.o15_1.s7(),function(t){t.y14_1=null,t.z14_1=null}(t)}function Ur(t,n,e){if(e>0)if(n>=0||Oi(xt("Invalid remove index "+n)),t.h16_1===n){var r=t;r.k16_1=r.k16_1+e|0}else Wr(t),t.h16_1=n,t.k16_1=e}function Vr(t,n,e,r){if(r>0)if(t.k16_1>0&&t.i16_1===(n-t.k16_1|0)&&t.j16_1===(e-t.k16_1|0)){var i=t;i.k16_1=i.k16_1+r|0}else Wr(t),t.i16_1=n,t.j16_1=e,t.k16_1=r}function Wr(t){var n,e,r=t.k16_1;if(t.k16_1=0,r>0)if(t.h16_1>=0){var i=t.h16_1;t.h16_1=-1,qr(t,(n=i,e=r,function(t,r,i){return t.g11(n,e),wt()}))}else{var o=t.i16_1;t.i16_1=-1;var s=t.j16_1;t.j16_1=-1,qr(t,function(t,n,e){return function(r,i,o){return r.h11(t,n,e),wt()}}(o,s,r))}}function Jr(t,n,e,r){null==e?null==r||207!==n||Ht(r,fi().h12_1)?Kr(t,n):Kr(t,Jt(r)):Kr(t,e instanceof Kt?e.s1_1:Jt(e))}function Kr(t,n){var e,r=t,i=t.z15_1;e=qt(i,3),r.z15_1=e^n}function Yr(t,n,e,r){null==e?null==r||207!==n||Ht(r,fi().h12_1)?Gr(t,n):Gr(t,Jt(r)):Gr(t,e instanceof Kt?e.s1_1:Jt(e))}function Gr(t,n){var e,r=t,i=t.z15_1^n;e=Ot(i,3),r.z15_1=e}function Xr(t,n,e){!t.p15_1||Oi(xt("Reentrant composition is not supported"));t:{var r=Fh().r1a("Compose:recompose");try{t.m15_1=Hl(),t.n15_1=t.m15_1.x1a(),t.g15_1.s7();var i=0,o=n.a1b_1;if(i1&&(_=new Zr(ci),Xt(d,_)),t.u14_1=0;var v=!1;t.p15_1=!0;try{er(t);var y=t.c1b();y!==e&&null!=e&&t.e1a(null==e||Ct(e)?e:zt()),function(t,n,e){bo();var r=go().ku();try{var i=go(),o=go().ku();i.q1h((null==o?gu():o).a(tn(t,n))),e()}finally{go().q1h(r)}}((m=t,function(t){var n=m,e=n.l15_1;return n.l15_1=e+1|0,wt()}),function(t){return function(n){var e=t,r=e.l15_1;return e.l15_1=r-1|0,wt()}}(t),function(t,n,e){return function(){return null!=t?(or(n,200,Ze()),Hh(n,t),sr(n),wt()):n.b15_1&&null!=e&&!Ht(e,fi().h12_1)?(or(n,200,Ze()),Hh(n,null!=e&&"function"==typeof e?e:zt()),sr(n),wt()):(n.o1c(),wt()),wt()}}(e,t,y)),rr(t),v=!0,wt()}finally{t.p15_1=!1,t.d15_1.s7(),v||function(t){Hr(t),t.s14_1.s7(),t.v14_1.s7(),t.x14_1.s7(),t.e15_1.s7(),t.i15_1.s7(),t.g15_1.s7(),t.r15_1.p17(),t.z15_1=0,t.l15_1=0,t.c15_1=!1,t.p15_1=!1,t.b15_1=!1}(t)}break t}finally{Fh().d1b(r)}}var m}function Zr(t){this.e1b_1=t}function Qr(t,n,e){for(;!t.f1b(e);)t.z17(),t.a1a(t.e13_1)&&n.d11(),t.p19()}function ti(t,n,e,r){var i;if(t.r15_1.n1b(n)){var o=t.r15_1.t17(n),s=o instanceof wi?o:zt(),a=t.r15_1.l1b(n,0),u=t.r15_1.u18(n),c=n+t.r15_1.i19(n)|0,l=function(t,n,e){Ji();var r=jt(),i=Ei(t,n);t:for(;i0&&Ur(t,r,$),y=0}else y=t.r15_1.b1a(n);i=y}else if(t.r15_1.k1b(n)){for(var b=n+t.r15_1.i19(n)|0,w=n+1|0,x=0;w=0&&!t.a1a(e);)e=t.v17(e);var r=0;for(e=e+1|0;e0?new We(e,t._v):e,s=0,a=n.f()-1|0;if(s<=a){do{var u=s;s=s+1|0,n.g(u)(o,r,i)}while(s<=a);wt()}return wt()}}function ii(t,n){return function(e,r,i){var o=t._v,s=0,a=n.f()-1|0;if(s<=a){do{var u=s;s=s+1|0;var c=n.g(u);Ft(e,Ve)||zt(),e.f11(o+u|0,c),e.e11(o+u|0,c)}while(s<=a);wt()}return wt()}}function oi(t,n,e){return function(r,i,o){var s,a=t.m14_1.e1c(n);null==a?Oi("Could not resolve state for movable content"):s=a;var u=s,c=i.h1c(1,u.f1c_1,1);if(!c.h()){var l=e.y1b_1,h=l instanceof so?l:zt(),p=0,f=c.f()-1|0;if(p<=f){do{var _=p;p=p+1|0;var d=c.g(_),v=i.i1c(d,0),y=v instanceof To?v:null;null==y||y.j1c(h)}while(p<=f);wt()}}return wt()}}function si(t,n){return function(){return xr(t,n.w1b_1,n.c1c_1,n.x1b_1,!0),wt()}}function ai(t,n){return function(e,r,i){var o=t._v>0?new We(e,t._v):e,s=0,a=n.f()-1|0;if(s<=a){do{var u=s;s=s+1|0,n.g(u)(o,r,i)}while(s<=a);wt()}return wt()}}function ui(t,n,e){return Ft(t,Ve)||zt(),Qr(n,t,0),n.p19(),wt()}function ci(t,n){var e,r=t.t19_1;return e=n.t19_1,nn(r,e)}function li(t,n,e,r,i,o,s){this.l14_1=t,this.m14_1=n,this.n14_1=e,this.o14_1=r,this.p14_1=i,this.q14_1=o,this.r14_1=s,this.s14_1=new Ha,this.t14_1=null,this.u14_1=0,this.v14_1=new Fa,this.w14_1=0,this.x14_1=new Fa,this.y14_1=null,this.z14_1=null,this.a15_1=!1,this.b15_1=!1,this.c15_1=!1;var a;a=jt(),this.d15_1=a,this.e15_1=new Fa,this.f15_1=mu(),this.g15_1=Wt(),this.h15_1=!1,this.i15_1=new Fa,this.j15_1=!1,this.k15_1=-1,this.l15_1=0,this.m15_1=Hl(),this.n15_1=0,this.o15_1=new Ha,this.p15_1=!1,this.q15_1=!1;var u,c=this.n14_1.t16();c.p17(),u=c,this.r15_1=u,this.s15_1=new ra;var l,h=this.s15_1.y17();h.p17(),l=h,this.t15_1=l,this.u15_1=!1,this.v15_1=null;var p,f,_=this.s15_1.t16();try{f=_.u18(0)}finally{_.p17()}p=f,this.w15_1=p;var d;d=jt(),this.x15_1=d,this.y15_1=!1,this.z15_1=0,this.a16_1=0,this.b16_1=new Ha,this.c16_1=0,this.d16_1=!1,this.e16_1=!0,this.f16_1=new Fa,this.g16_1=new Ha,this.h16_1=-1,this.i16_1=-1,this.j16_1=-1,this.k16_1=0}function hi(){}function pi(){h=this,this.h12_1=new hi}function fi(){return null==h&&new pi,h}function _i(){}function di(){if(v)return wt();v=!0,p=new vi("IGNORED",0),f=new vi("SCHEDULED",1),_=new vi("DEFERRED",2),d=new vi("IMMINENT",3)}function vi(t,n){Kt.call(this,t,n)}function yi(t,n,e,r,i,o,s){this.w1b_1=t,this.x1b_1=n,this.y1b_1=e,this.z1b_1=r,this.a1c_1=i,this.b1c_1=o,this.c1c_1=s,this.d1c_1=8}function mi(t){return Ji(),void(t||Oi(xt("Check failed")))}function gi(t){this.f1c_1=t,this.g1c_1=8}function $i(t,n){Ji(),t.t1d(n)}function bi(){}function wi(){}function xi(t){return function(){var n,e=(Ji(),Wt()),r=0,i=t.h18_1.f();if(r=0))throw rn(xt("Invalid start index"));var e;e=jt(),this.k18_1=e;var r,i=0,o=Wt(),s=0,a=this.h18_1.f();if(s=0?t.n4(e):null}function qi(t,n){Ji();var e=jt(),r=t.t16();try{Li(r,e,t.h1b(n)),wt()}finally{r.p17()}return e}function Oi(t){throw Ji(),St(xt("Compose Runtime internal error. Unexpected or incorrect use of the Compose internal runtime API ("+t+"). Please report to Google or use https://goo.gle/compose-feedback"))}function Pi(t,n,e){this.n1e_1=t,this.o1e_1=n,this.p1e_1=e}function Mi(t,n,e){Ji();var r,i=t.a3(n);if(null==i){var o=Ut();t.v3(n,o),r=o}else r=i;return r.a(e)}function Ai(t,n){Ji();var e,r=t.a3(n),i=null==r?null:sn(r);return null==i?e=null:(function(t,n,e){Ji();var r,i=t.a3(n);null==i?r=null:(i.jf(e),i.h()&&(t.og(n),wt()),r=wt())}(t,n,i),e=i),e}function Ei(t,n){Ji();var e=Ii(t,n);return e<0?0|-(e+1|0):e}function Ii(t,n){Ji();for(var e=0,r=t.f()-1|0;e<=r;){var i=(e+r|0)>>>1|0,o=t.g(i),s=an(o.t19_1,n);if(s<0)e=i+1|0;else{if(!(s>0))return i;r=i-1|0}}return 0|-(e+1|0)}function Di(t,n,e){Ji();for(var r=0,i=n;i>0&&i!==e;)i=t.v17(i),r=r+1|0;return r}function Ti(t){this.e1f_1=t}function Bi(t){this.f1f_1=t}function Li(t,n,e){if(t.a1a(e))n.a(t.n1a(e));else for(var r=e+1|0,i=e+t.i19(e)|0;r=0)for(var u=iu(s,a).c();u.d();)oo(t,e,r,u.e())}}if(e&&!t.w13_1.h()){var c=t.v13_1,l=0,h=0,p=c.p1f_1;if(h0){if(l!==f){var C=c.m1f_1[l];c.m1f_1[l]=_,c.m1f_1[f]=C}l=l+1|0}}while(h0){if(A!==D){var K=M.m1f_1[A];M.m1f_1[A]=T,M.m1f_1[D]=K}A=A+1|0}}while(E0){if(e!==o){var y=n.m1f_1[e];n.m1f_1[e]=s,n.m1f_1[o]=y}e=e+1|0}}while(r=0)for(var i=iu(e,r).c();i.d();){var o=i.e();o.l1f(n).equals(Wi())&&t.a14_1.s1f(n,o)}}function no(t,n){var e=new io(t.t13_1);try{if(n.h())return wt();t:{var r=Fh().r1a("Compose:applyChanges");try{t.q13_1.a11();var i=t.u13_1.y17();try{var o=t.q13_1,s=0,a=n.f()-1|0;if(s<=a)do{var u=s;s=s+1|0,n.g(u)(o,i,e)}while(s<=a);n.s7(),wt()}finally{i.p17()}t.q13_1.b11(),wt();break t}finally{Fh().d1b(r)}}if(e.x1f(),e.y1f(),t.c14_1)t:{var c=Fh().r1a("Compose:unobserve");try{t.c14_1=!1;var l=t.v13_1,h=0,p=0,f=l.p1f_1;if(p0){if(h!==_){var z=l.m1f_1[h];l.m1f_1[h]=d,l.m1f_1[_]=z}h=h+1|0}}while(p=0)for(var s=iu(i,o).c();s.d();){var a=s.e();if(!t.a14_1.i1g(r,a)&&!a.l1f(r).equals(Vi()))if(a.r1f()&&!n)t.w13_1.a(a);else{var u,c=e._v;if(null==c){var l=fn();e._v=l,u=l}else u=c;u.a(a)}}}function so(t,n,e){this.p13_1=t,this.q13_1=n,this.r13_1=new Eh(null),this.s13_1=Va(),this.t13_1=fn(),this.u13_1=new ra,this.v13_1=new au,this.w13_1=fn(),this.x13_1=new au;var r;r=jt(),this.y13_1=r;var i;i=jt(),this.z13_1=i,this.a14_1=new au,this.b14_1=Ga(0,1,null),this.c14_1=!1,this.d14_1=null,this.e14_1=0;var o,s=new li(this.q13_1,this.p13_1,this.u13_1,this.t13_1,this.y13_1,this.z13_1,this);this.p13_1.j1g(s),o=s,this.f14_1=o,this.g14_1=e;var a=this.p13_1;this.h14_1=a instanceof gs,this.i14_1=!1,this.j14_1=(null==g&&new lo,g).k1g_1}function ao(){}function uo(t,n){var e=t;return $i(e,"C:Composition.kt#9igjgp"),2==(11&n)&&e.v1b()&&e.z17(),wt()}function co(t,n){var e=t;return $i(e,"C:Composition.kt#9igjgp"),2==(11&n)&&e.v1b()&&e.z17(),wt()}function lo(){var t;g=this,this.k1g_1=(t=cl(954879418,!1,uo),function(n,e){return t.t1b(n,e)}),this.l1g_1=function(t){return function(n,e){return t.t1b(n,e)}}(cl(1918065384,!1,co))}function ho(){}function po(){$||($=!0,m=new Object)}function fo(){return w||(w=!0,b=mu()),b}function _o(){this.u16_1=0}function vo(t){this.w17_1=new Ja(t)}function yo(t){vo.call(this,t)}function mo(t){yo.call(this,t)}function go(){return bo(),x}function $o(){}function bo(){k||(k=!0,x=new Ih,new Ih)}function wo(t){this.r1h_1=t}function xo(){this.s1h_1=0}function ko(){}function jo(t,n){this.u1h_1=n,this.v1h_1=dn(t),this.w1h_1=null}function zo(t){this.x1h_1=t,this.y1h_1=null}function Co(){z||(z=!0,j=new xo)}function So(t,n){var e;if(n instanceof Kt)e=n.s1_1;else{var r=null==n?null:Jt(n);e=null==r?0:r}return e}function qo(t,n){this.z1h_1=t,this.a1i_1=n}function Oo(){C=this}function Po(){return null==C&&new Oo,C}function Mo(){}function Ao(){return S}function Eo(t){this.b1i_1=t}function Io(t,n){t.i13_1=n?32|t.i13_1:-33&t.i13_1}function Do(t,n){t.i13_1=n?16|t.i13_1:-17&t.i13_1}function To(t){this.i13_1=0,this.j13_1=t,this.k13_1=null,this.l13_1=null,this.m13_1=0,this.n13_1=null,this.o13_1=null}function Bo(){}function Lo(){if(I)return wt();I=!0,q=new Jo("ShutDown",0),O=new Jo("ShuttingDown",1),P=new Jo("Inactive",2),M=new Jo("InactivePendingWork",3),A=new Jo("Idle",4),E=new Jo("PendingWork",5)}function No(t,n){t:for(;;){var e=t.h1i_1.m2(),r=e.a(n);if(e===r||t.h1i_1.ky(e,r))break t}}function Ro(t,n){t:for(;;){var e=t.h1i_1.m2(),r=e.jf(n);if(e===r||t.h1i_1.ky(e,r))break t}}function Fo(t,n){t.s7(),n.n1i_1;var e=n.u1i_1,r=0,i=e.f()-1|0;if(r<=i)do{var o=r;r=r+1|0;var s=e.g(o);t.a(s)}while(r<=i);n.u1i_1.s7(),wt()}function Ho(t,n,e,r,i,o){return function(s){var a;if(t.k1i_1.b12())t:{var u=Fh().r1a("Recomposer:animation");try{t.k1i_1.c12(s),Ml().d1j(),wt();break t}finally{Fh().d1b(u)}}t:{var c=Fh().r1a("Recomposer:recompose");try{t.n1i_1,Xo(t);var l=t.s1i_1,h=0,p=l.f()-1|0;if(h<=p)do{var f=h;h=h+1|0;var _=l.g(f);n.a(_)}while(h<=p);t.s1i_1.s7(),wt();var d=new ru,v=new ru;n:for(;!n.h()||!e.h();){try{var y=0,m=n.f()-1|0;if(y<=m)do{var g=y;y=y+1|0;var $=n.g(g);v.w1e($);var b=ns(t,$,d);null==b||(r.a(b),wt())}while(y<=m)}finally{n.s7()}if(d.o1a()){t.n1i_1;var w=t.q1i_1,x=0,k=w.f()-1|0;if(x<=k){do{var j=x;x=x+1|0;var z=w.g(j);!v.l3(z)&&z.p1g(d)&&n.a(z)}while(x<=k);wt()}}if(n.h())for(Fo(e,t);!e.h();){var C=es(t,e,d);xn(i,C),Fo(e,t)}}if(!r.h()){var S=t,q=S.j1i_1;S.j1i_1=q.cn();try{xn(o,r);var O=0,P=r.f()-1|0;if(O<=P)do{var M=O;O=O+1|0,r.g(M).y1g()}while(O<=P)}finally{r.s7()}}if(!i.h())try{xn(o,i);for(var A=i.c();A.d();)A.e().z1g()}finally{i.s7()}if(!o.h())try{for(var E=o.c();E.d();)E.e().b1d()}finally{o.s7()}(function(t){var n;if(t.n1i_1,t.v1i_1.h())n=Yt();else{var e=On(t.v1i_1.c3());t.v1i_1.s7();var r=Qt(e.f()),i=0,o=e.f()-1|0;if(i<=o)do{var s=i;i=i+1|0;var a=e.g(s),u=tn(a,t.w1i_1.a3(a));r.a(u)}while(i<=o);var c=r;t.w1i_1.s7(),n=c}var l=n,h=0,p=l.f()-1|0;if(h<=p)do{var f=h;h=h+1|0;var _=l.g(f),d=_.l4(),v=_.m4();null!=v&&d.y1b_1.x1g(v)}while(h<=p)})(t),t.n1i_1,a=Ko(t);break t}finally{Fh().d1b(c)}}return a}}function Uo(t){return function(n,e){var r;t.n1i_1,t.a1j_1.m2().w1(vs())>=0?(t.r1i_1.a(n),r=Ko(t)):r=null;var i,o=r;return null==o||(Pt(),i=Mt(wt()),o.z4(i),wt()),wt()}}function Vo(t,n,e){this.m1j_1=t,this.n1j_1=n,kn.call(this,e)}function Wo(t,n,e){var r=new Vo(t,n,e),i=function(t,n){return r.p1j(t,n)};return i.$arity=1,i}function Jo(t,n){Kt.call(this,t,n)}function Ko(t){if(t.a1j_1.m2().w1(_s())<=0){t.q1i_1.s7(),t.r1i_1.s7(),t.s1i_1.s7(),t.t1i_1.s7(),t.u1i_1.s7();var n=t.x1i_1;return null==n||n.jr(null,1,null),t.x1i_1=null,null}var e;null==t.o1i_1?(t.r1i_1.s7(),t.s1i_1.s7(),e=t.k1i_1.b12()?(Lo(),M):ds()):e=!!(!!(!t.s1i_1.h()||!t.r1i_1.h())||!t.t1i_1.h())||!t.u1i_1.h()||t.y1i_1>0||t.k1i_1.b12()?ys():vs();var r,i=e;if(t.a1j_1.jy(i),i.equals(ys())){var o=t.x1i_1;t.x1i_1=null,r=o}else r=null;return r}function Yo(t){var n;if(t.n1i_1,t.z1i_1){var e;t:{for(var r=t.l1i_1.it().c();r.d();)if(r.e().xo()){e=!0;break t}e=!1}n=e}else n=!0;return n}function Go(t){this.r1j_1=t}function Xo(t){if(!t.r1i_1.h()){var n=t.r1i_1,e=0,r=n.f()-1|0;if(e<=r)do{var i=e;e=e+1|0;var o=n.g(i),s=t.q1i_1,a=0,u=s.f()-1|0;if(a<=u)do{var c=a;a=a+1|0,s.g(c).n1g(o)}while(a<=u)}while(e<=r);if(t.r1i_1.s7(),null!=Ko(t))throw St("called outside of runRecomposeAndApplyChanges")}}function Zo(t,n){t.n1i_1;var e=t.p1i_1;if(null!=e)throw e;if(t.a1j_1.m2().w1(_s())<=0)throw St("Recomposer shut down");if(null!=t.o1i_1)throw St("Recomposer already running");t.o1i_1=n,Ko(t)}function Qo(t){return t.n1i_1,!(t.r1i_1.h()&&t.s1i_1.h())||t.k1i_1.b12()}function ts(t,n,e){var r,i,o=function(t){var n=t.y7(Po());if(null==n)throw St(xt("A MonotonicFrameClock is not available in this CoroutineContext. Callers should supply an appropriate MonotonicFrameClock using withContext."));return n}(e.b5());return Cn(t.k1i_1,(r=new ps(t,n,o,null),i=function(t,n){return r.p1j(t,n)},i.$arity=1,i),e)}function ns(t,n,e){if(n.c1g()||n.m1g())return null;var r,i,o;t:{var s=Ml().e1k(rs(0,n),is(0,n,e));try{var a;n:{var u=s.f1k();try{!0===(null==e?null:e.o1a())&&n.v1d((i=e,o=n,function(){for(var t=i.c();t.d();){var n=t.e();o.u1g(n)}return wt()})),a=n.v1g();break n}finally{s.g1k(u)}}r=a;break t}finally{os(0,s)}}return r?n:null}function es(t,n,e){var r=Sn(n.f()),i=0,o=n.f()-1|0;if(i<=o)do{var s=i;i=i+1|0;var a,u=n.g(s),c=u.y1b_1,l=r.a3(c);if(null==l){var h=jt();r.v3(c,h),a=h}else a=l;a.a(u)}while(i<=o);for(var p=r,f=p.u().c();f.d();){var _=f.e(),d=_.k2(),v=_.m2();mi(!d.c1g());t:{var y=Ml().e1k(rs(0,d),is(0,d,e));try{n:{var m=y.f1k();try{t.n1i_1;var g=Qt(v.f()),$=0,b=v.f()-1|0;if($<=b)do{var w=$;$=$+1|0;var x=v.g(w),k=tn(x,bs(t.v1i_1,x.w1b_1));g.a(k)}while($<=b);var j=g;d.w1g(j),wt();break n}finally{y.g1k(m)}}break t}finally{os(0,y)}}}return qn(p.b3())}function rs(t,n){return e=n,function(t){return e.q1g(t),wt()};var e}function is(t,n,e){return r=n,i=e,function(t){return r.u1g(t),null==i||i.w1e(t),wt()};var r,i}function os(t,n){try{if(n.u1k()instanceof Bl)throw St(xt("Unsupported concurrent change during composition. A state object was modified by composition as well as being modified outside composition."))}finally{n.js()}}function ss(t){return!t.s1i_1.h()||t.k1i_1.b12()}function as(){D=this,this.h1i_1=Pn(Zc().y1o())}function us(){return null==D&&new as,D}function cs(t,n,e){t.s7(),n.n1i_1;for(var r=n.u1i_1.c();r.d();){var i=r.e();Ht(i.y1b_1,e)&&(t.a(i),r.o4())}wt()}function ls(t){return function(n){var e=Mn("Recomposer effect job completed",n),r=null,i=(t.n1i_1,t.o1i_1);null!=i?(t.a1j_1.jy(_s()),t.z1i_1?null!=t.x1i_1&&(r=t.x1i_1):i.cq(e),t.x1i_1=null,i.xp(function(t,n){return function(e){t.n1i_1;var r,i,o=t,s=n;return null==s?r=null:(null==(i=null==e||e instanceof An?null:e)||(En(s,i),wt()),r=s),o.p1i_1=r,t.a1j_1.jy(fs()),wt(),wt()}}(t,n))):(t.p1i_1=e,t.a1j_1.jy(fs()),wt());var o,s=r;return null==s||(Pt(),o=Mt(wt()),s.z4(o),wt()),wt()}}function hs(t,n){this.d1l_1=t,kn.call(this,n)}function ps(t,n,e,r){this.w1l_1=t,this.x1l_1=n,this.y1l_1=e,kn.call(this,r)}function fs(){return Lo(),q}function _s(){return Lo(),O}function ds(){return Lo(),P}function vs(){return Lo(),A}function ys(){return Lo(),E}function ms(t,n){kn.call(this,n),this.a1k_1=t}function gs(t){var n;us(),_o.call(this),this.j1i_1=new Bn(0,0),this.k1i_1=new Ye((n=this,function(){n.n1i_1;var t=Ko(n);if(n.a1j_1.m2().w1(_s())<=0)throw Mn("Recomposer shutdown; frame clock awaiter will never resume",n.p1i_1);var e,r=t;return null==r||(Pt(),e=Mt(wt()),r.z4(e),wt()),wt()}));var e,r=Nn(t.y7(Ln()));r.xp(ls(this)),e=r,this.l1i_1=e,this.m1i_1=t.f8(this.k1i_1).f8(this.l1i_1),this.n1i_1=Va(),this.o1i_1=null,this.p1i_1=null;var i;i=jt(),this.q1i_1=i;var o;o=jt(),this.r1i_1=o;var s;s=jt(),this.s1i_1=s;var a;a=jt(),this.t1i_1=a;var u;u=jt(),this.u1i_1=u;var c;c=Rn(),this.v1i_1=c;var l;l=Rn(),this.w1i_1=l,this.x1i_1=null,this.y1i_1=0,this.z1i_1=!1,this.a1j_1=Pn(ds()),this.b1j_1=new Go(this),this.c1j_1=8}function $s(){}function bs(t,n){ws();var e,r=t.a3(n);if(null==r)e=null;else{var i=Fn(r);r.h()&&t.og(n),e=i}return e}function ws(){T||(T=!0,new Object,new Object)}function xs(){}function ks(t,n,e,r,i,o){var s=n.i19(e),a=e+s|0,u=Vs(n,e),c=Vs(n,a),l=c-u|0,h=function(t,n){return n>=0&&wa(t.n12_1,Fs(t,n))}(n,e);Ds(r,s),Ts(r,l,r.d13_1),n.q12_1=0;U&&(n.b18(),n.k1c(H-n.d13_1|0),n.b18()),n.k1c(e-n.d13_1|0);var V=n.k14();U&&(n.z17(),n.p19(),n.z17(),n.p19()),R=V}else{var W=Bs(n,e,s);Ls(n,u,l,e-1|0),R=W}!R||Oi(xt("Unexpectedly removed anchors"));var J=r;return J.z12_1=J.z12_1+(oa(p,f)?1:sa(p,f))|0,o&&(r.d13_1=f+s|0,r.t12_1=g+l|0),h&&qs(r,b),F}function js(t,n,e,r,i){var o=t.y12_1>0;t.c13_1.z16(t.z12_1);var s,a=t;if(o){Ds(t,1);var u=t.d13_1,c=Fs(t,u),l=!(e===fi().h12_1),h=!(r||i===fi().h12_1);(function(t,n,e,r,i,o,s,a){var u=r?1073741824:0,c=i?536870912:0,l=o?268435456:0,h=$t(n,5);t[h+0|0]=e,t[h+1|0]=u|c|l,t[h+2|0]=s,t[h+3|0]=0,t[h+4|0]=a})(t.n12_1,c,n,r,l,h,t.e13_1,t.t12_1),t.u12_1=t.t12_1;var p=((r?1:0)+(l?1:0)|0)+(h?1:0)|0;if(p>0){Ts(t,p,u);var f=t.o12_1,_=t.t12_1;if(r){var d=_;_=d+1|0,f[d]=i}if(l){var v=_;_=v+1|0,f[v]=e}if(h){var y=_;_=y+1|0,f[y]=i}t.t12_1=_}t.z12_1=0;var m=u+1|0;t.e13_1=u,t.d13_1=m,s=m}else{var g=t.e13_1;t.a13_1.z16(g),Ps(t);var $=t.d13_1,b=Fs(t,$);Ht(i,fi().h12_1)||(r?t.j1m(i):t.r1b(i)),t.t12_1=Js(t.n12_1,t,b),t.u12_1=Ws(t.n12_1,t,Fs(t,t.d13_1+1|0)),t.z12_1=sa(t.n12_1,b),t.e13_1=$,t.d13_1=$+1|0,s=$+la(t.n12_1,b)|0}a.s12_1=s}function zs(){B=this}function Cs(){return null==B&&new zs,B}function Ss(t){var n=t.g13_1;if(null==n);else{for(;n.o1a();)Os(t,n.l1m(),n);wt()}}function qs(t,n){if(n>=0){var e,r=t.g13_1;if(null==r){var i=function(t,n,e,r){var i;return 0!=(1&n)&&(i=jt(),wt(),t=i),_a.call(r,t),r}(null,1,0,Object.create(_a.prototype));t.g13_1=i,e=i}else e=r;e.m1m(n)}}function Os(t,n,e){var r,i,o,s=Fs(t,n),a=function(t,n){for(var e=n+1|0,r=n+t.i19(n)|0;e=0&&e.m1m(u)}}function Ps(t){t.b13_1.z16((Rs(t)-t.r12_1|0)-t.s12_1|0)}function Ms(t){var n=(Rs(t)-t.r12_1|0)-t.b13_1.f19()|0;return t.s12_1=n,n}function As(t,n,e,r){for(var i=Qs(t,n,t.q12_1),o=r;o=0))break t;c.b1b_1=0|-(i-l|0),u=u+1|0}}}(t,r,n),e>0){var i=t.n12_1,o=$t(n,5),s=$t(e,5),a=$t(r,5);n=0||Oi(xt("Unexpected anchor value, expected a positive anchor")),ya(t.n12_1,h,0|-(1+(l-_|0)|0)),(h=h+1|0)===f&&(h=h+t.r12_1|0)}else for(var d=Fs(t,o),v=Fs(t,c);d0){var e=t.d13_1;Es(t,e);var r=t.q12_1,i=t.r12_1,o=t.n12_1.length/5|0,s=o-i|0;if(i=r&&(t.s12_1=$+n|0),t.q12_1=r+n|0,t.r12_1=i-n|0;var b=Xs(0,s>0?Vs(t,e+n|0):0,t.x12_1=r&&(t.x12_1=j+n|0)}}function Ts(t,n,e){if(n>0){Is(t,t.t12_1,e);var r=t.v12_1,i=t.w12_1;if(i=r&&(t.u12_1=g+n|0),t.v12_1=r+n|0,t.w12_1=i-n|0}}function Bs(t,n,e){var r;if(e>0){var i=!1,o=t.p12_1;Es(t,n),!o.h()&&(i=function(t,n,e){var r=t.r12_1,i=n+e|0,o=Rs(t)-r|0,s=ma(t.p12_1,n+e|0,o),a=s>=t.p12_1.f()?s-1|0:s,u=0,c=a+1|0;t:for(;a>=0;){var l=t.p12_1.g(a),h=t.h1b(l);if(!(h>=n))break t;hn){var u,c=t,l=a-e|0;u=Math.max(n,l),c.x12_1=u}if(t.s12_1>=t.q12_1){var h=t;h.s12_1=h.s12_1-e|0}(function(t,n){return n>=0&&ba(t.n12_1,Fs(t,n))})(t,t.e13_1)&&qs(t,t.e13_1),r=i}else r=!1;return r}function Ls(t,n,e,r){if(e>0){var i=t.w12_1;Is(t,n+e|0,r),t.v12_1=n,t.w12_1=i+e|0,Un(t.o12_1,null,n,n+e|0);var o=t.u12_1;o>=n&&(t.u12_1=o-e|0)}}function Ns(t,n,e){var r=Fs(t,n);r=Rs(n)?n.o12_1.length-n.w12_1|0:Zs(0,ga(t,e),n.w12_1,n.o12_1.length)}function Js(t,n,e){return e>=Rs(n)?n.o12_1.length-n.w12_1|0:Zs(0,xa(t,e),n.w12_1,n.o12_1.length)}function Ks(t,n,e,r){ya(t,e,Xs(0,r,n.v12_1,n.w12_1,n.o12_1.length))}function Ys(t,n,e){return Ws(t,n,e)}function Gs(t,n,e){return Ws(t,n,e)+ka(function(t,n){return t[$t(n,5)+1|0]}(t,e)>>29)|0}function Xs(t,n,e,r,i){return n>e?0|-(1+((i-r|0)-n|0)|0):n}function Zs(t,n,e,r){return n<0?1+((r-e|0)+n|0)|0:n}function Qs(t,n,e){return n-2?n:(t.f()+n|0)- -2|0}function na(t,n,e){this.o1m_1=n,this.p1m_1=e,this.n1m_1=t}function ea(t){Cs(),this.m12_1=t,this.n12_1=this.m12_1.l16_1,this.o12_1=this.m12_1.n16_1,this.p12_1=this.m12_1.s16_1,this.q12_1=this.m12_1.m16_1,this.r12_1=(this.n12_1.length/5|0)-this.m12_1.m16_1|0,this.s12_1=this.m12_1.m16_1,this.t12_1=0,this.u12_1=0,this.v12_1=this.m12_1.o16_1,this.w12_1=this.o12_1.length-this.m12_1.o16_1|0,this.x12_1=this.m12_1.m16_1,this.y12_1=0,this.z12_1=0,this.a13_1=new Fa,this.b13_1=new Fa,this.c13_1=new Fa,this.d13_1=0,this.e13_1=-1,this.f13_1=!1,this.g13_1=null}function ra(){this.l16_1=new Int32Array(0),this.m16_1=0;for(var t=0,n=Vn(Array(0),null);t<0;){null,n[t]=null,t=t+1|0}this.n16_1=n,this.o16_1=0,this.p16_1=0,this.q16_1=!1,this.r16_1=0;var e;e=jt(),this.s16_1=e}function ia(t){this.b1b_1=t}function oa(t,n){return!(0==(1073741824&t[$t(n,5)+1|0]))}function sa(t,n){return 67108863&t[$t(n,5)+1|0]}function aa(t,n){return t[$t(n,5)]}function ua(t,n){return!(0==(536870912&t[$t(n,5)+1|0]))}function ca(t,n){var e=$t(n,5);return t[e+4|0]+ka(t[e+1|0]>>30)|0}function la(t,n){return t[$t(n,5)+3|0]}function ha(t,n){return!(0==(268435456&t[$t(n,5)+1|0]))}function pa(t,n,e){if(!(e>=0))throw rn(xt("Failed requirement."));t[$t(n,5)+3|0]=e}function fa(t,n,e){if(!(e>=0&&e<67108863))throw rn(xt("Failed requirement."));t[$t(n,5)+1|0]=-67108864&t[$t(n,5)+1|0]|e}function _a(t){this.k1m_1=t}function da(t,n,e){t[$t(n,5)+2|0]=e}function va(t,n){return t[$t(n,5)+2|0]}function ya(t,n,e){t[$t(n,5)+4|0]=e}function ma(t,n,e){var r=Aa(t,n,e);return r>=0?r:0|-(r+1|0)}function ga(t,n){return t[$t(n,5)+4|0]}function $a(t,n){return!(0==(134217728&t[$t(n,5)+1|0]))}function ba(t,n){return!(0==(67108864&t[$t(n,5)+1|0]))}function wa(t,n){return!(0==(201326592&t[$t(n,5)+1|0]))}function xa(t,n){var e=$t(n,5);return t[e+4|0]+ka(t[e+1|0]>>28)|0}function ka(t){switch(t){case 0:return 0;case 1:case 2:case 4:return 1;case 3:case 5:case 6:return 2;default:return 3}}function ja(t,n,e){return oa(t,e)?n.h17_1[function(t,n){return t[$t(n,5)+4|0]}(t,e)]:fi().h12_1}function za(t,n,e){return ha(t,e)?n.h17_1[function(t,n){var e=$t(n,5);return e>=t.length?t.length:t[e+4|0]+ka(t[e+1|0]>>29)|0}(t,e)]:fi().h12_1}function Ca(t,n,e){return ua(t,e)?n.h17_1[ca(t,e)]:null}function Sa(t){this.e17_1=t,this.f17_1=this.e17_1.l16_1,this.g17_1=this.e17_1.m16_1,this.h17_1=this.e17_1.n16_1,this.i17_1=this.e17_1.o16_1,this.j17_1=0,this.k17_1=this.g17_1,this.l17_1=-1,this.m17_1=0,this.n17_1=0,this.o17_1=0}function qa(t){if(t.f1n_1.r16_1!==t.i1n_1)throw Xn()}function Oa(t,n){this.j1n_1=t,this.k1n_1=n}function Pa(t,n,e){if(this.f1n_1=t,this.g1n_1=e,this.h1n_1=n,this.i1n_1=this.f1n_1.r16_1,this.f1n_1.q16_1)throw Xn()}function Ma(t,n,e,r,i){this.v18_1=t,this.w18_1=n,this.x18_1=e,this.y18_1=r,this.z18_1=i}function Aa(t,n,e){return function(t,n,e){for(var r=0,i=t.f()-1|0;r<=i;){var o=(r+i|0)>>>1|0,s=t.g(o).b1b_1,a=an(s<0?e+s|0:s,n);if(a<0)r=o+1|0;else{if(!(a>0))return o;i=o-1|0}}return 0|-(r+1|0)}(t,n,e)}function Ea(){}function Ia(){var t=(null==L&&new Da,L);return Ft(t,Ea)?t:zt()}function Da(){L=this}function Ta(){}function Ba(){}function La(t,n){return function(t,n){return Nh(),new Ra(t,n)}(t,n)}function Na(t){Rl.call(this),this.s1n_1=t}function Ra(t,n){this.a1o_1=n,this.b1o_1=new Na(t)}function Fa(){this.x16_1=new Int32Array(10),this.y16_1=0}function Ha(){this.q17_1=jt()}function Ua(){}function Va(){return new Ua}function Wa(t){return cn("current",1,un,(function(t){return Wa(t)}),null),t.x17_1.m2()}function Ja(t){this.x17_1=on(t)}function Ka(t,n,e,r){var i=n-1|0;if(0<=i)t:do{var o=i;i=i+-1|0;var s=t.d1i_1[o];if(s===e)return o;if(Dh(s)!==r)break t}while(0<=i);var a=n+1|0,u=t.c1i_1;if(a>>1|0,s=t.y1a_1[o],a=Dh(s);if(ae))return n===s?o:Za(t,o,n,e);i=o-1|0}}return 0|-(r+1|0)}function Za(t,n,e,r){var i=n-1|0;if(0<=i)t:do{var o=i;i=i+-1|0;var s=t.y1a_1[o];if(s===e)return o;if(Dh(s)!==r)break t}while(0<=i);var a=n+1|0,u=t.a1b_1;if(a>>1|0,s=t.g(o),a=Dh(s);if(ai))return s===n?o:nu(t,o,n,i);r=o-1|0}}return 0|-(e+1|0)}function nu(t,n,e,r){var i=n-1|0;if(0<=i)t:do{var o=i;i=i+-1|0;var s=t.v1e_1[o];if(s===e)return o;if(Dh(s)!==r)break t}while(0<=i);var a=n+1|0,u=t.u1e_1;if(a>>1|0,s=pn(t.n1f_1[t.m1f_1[o]]),a=Dh(s);if(ae))return n===s?o:su(t,o,n,e);i=o-1|0}}return 0|-(r+1|0)}function su(t,n,e,r){var i=n-1|0;if(0<=i)t:do{var o,s=i;if(i=i+-1|0,(o=pn(t.n1f_1[t.m1f_1[s]]))===e)return s;if(Dh(o)!==r)break t}while(0<=i);var a=n+1|0,u=t.p1f_1;if(a>hc()>1<ac()))throw i="Trie-based persistent vector should have at least "+(ac()+1|0)+" elements, got "+this.j1p_1,rn(xt(i));this.j1p_1,lc(this.j1p_1),ae(this.i1p_1.length,ac())}function Au(t){return t.u1p_1<=ac()?0:lc(t.u1p_1)}function Eu(t){return n=t.u1p_1,n<=ac()?n:n-lc(n)|0;var n}function Iu(t,n){if(null==n)return Tu(t);if(function(t,n){return n.length===_c()&&n[_c()-1|0]===t.r1p_1}(t,n))return n;var e=Tu(t),r=ae(n.length,ac());return Hn(n,e,0,0,r),e}function Du(t,n){var e=_c(),r=Vn(Array(e),null);return r[0]=n,r[_c()-1|0]=t.r1p_1,r}function Tu(t){var n=_c(),e=Vn(Array(n),null);return e[_c()-1|0]=t.r1p_1,e}function Bu(t,n,e,r){var i;if(t.u1p_1>>hc()>1<=0))throw St(xt("Check failed."));if(0===r)return i.e();var o=Iu(t,n),s=pc(e,r),a=s,u=o[s];for(o[a]=Ru(t,null==u||ln(u)?u:zt(),e,r-hc()|0,i);(s=s+1|0)0){var r=(t.c1q_1-1|0)-(e/hc()|0)|0;ec(t,t.z1o_1,r+1|0)}}function ic(t){var n=t.z1o_1&cc(),e=t.d1q_1[t.c1q_1-1|0];return(null!=e&&ln(e)?e:zt())[n]}function oc(t,n,e,r){$u.call(this,n,e),this.c1q_1=r;var i,o=this.c1q_1;i=Vn(Array(o),null),this.d1q_1=i,this.e1q_1=n===e,this.d1q_1[0]=t,ec(this,n-(this.e1q_1?1:0)|0,1)}function sc(){return tc().m1q_1}function ac(){return R}function uc(t){var n=Vn(Array(32),null);return n[0]=t,n}function cc(){return F}function lc(t){return-32&(t-1|0)}function hc(){return H}function pc(t,n){return t>>n&31}function fc(t){this.l1p_1=t}function _c(){return U}function dc(){V=this,this.v1o_1=new yc(Vc().o1q_1,0)}function vc(){return null==V&&new dc,V}function yc(t,n){vc(),_e.call(this),this.r1q_1=t,this.s1q_1=n}function mc(t){for(var n=0,e=Vn(Array(8),null);n<8;){var r,i=n;r=new wc,e[i]=r,n=n+1|0}zc.call(this,t,e)}function gc(t){for(var n=0,e=Vn(Array(8),null);n<8;){var r,i=n;r=new xc,e[i]=r,n=n+1|0}zc.call(this,t,e)}function $c(t){for(var n=0,e=Vn(Array(8),null);n<8;){var r,i=n;r=new Sc,e[i]=r,n=n+1|0}zc.call(this,t,e)}function bc(){this.g1r_1=Vc().o1q_1.w1q_1,this.h1r_1=0,this.i1r_1=0}function wc(){bc.call(this)}function xc(){bc.call(this)}function kc(t,n){if(t.d1r_1[n].l1r())return n;if(t.d1r_1[n].m1r()){var e=t.d1r_1[n].n1r();return 6===n?t.d1r_1[n+1|0].k1r(e.w1q_1,e.w1q_1.length):t.d1r_1[n+1|0].k1r(e.w1q_1,$t(Jc(),e.v1r())),kc(t,n+1|0)}return-1}function jc(t){if(t.d1r_1[t.e1r_1].l1r())return wt();var n=t.e1r_1;if(0<=n)do{var e=n;n=n+-1|0;var r=kc(t,e);if(-1===r&&t.d1r_1[e].m1r()&&(t.d1r_1[e].o1r(),r=kc(t,e)),-1!==r)return t.e1r_1=r,wt();e>0&&t.d1r_1[e-1|0].o1r(),t.d1r_1[e].k1r(Vc().o1q_1.w1q_1,0)}while(0<=n);t.f1r_1=!1}function zc(t,n){this.d1r_1=n,this.e1r_1=0,this.f1r_1=!0,this.d1r_1[0].k1r(t.w1q_1,$t(Jc(),t.v1r())),this.e1r_1=0,jc(this)}function Cc(t,n){this.w1r_1=t,this.x1r_1=n}function Sc(){bc.call(this)}function qc(t){ve.call(this),this.b1s_1=t}function Oc(t){ye.call(this),this.c1s_1=t}function Pc(t){ve.call(this),this.d1s_1=t}function Mc(t,n,e){return function(t,n,e,r){return Wc.call(r,t,n,e,null),r}(t,n,e,Object.create(Wc.prototype))}function Ac(t,n){this.a1r_1=t,this.b1r_1=n}function Ec(t){return new Ac(t,1)}function Ic(t){return new Ac(t,0)}function Dc(t,n){return!(0==(t.u1q_1&n))}function Tc(t,n){var e=t.w1q_1[n];return null==e||Ct(e)?e:zt()}function Bc(t,n){var e=t.w1q_1[n+1|0];return null==e||Ct(e)?e:zt()}function Lc(t,n,e,r){var i=r.w1q_1;if(2===i.length&&0===r.u1q_1){if(1===t.w1q_1.length)return r.t1q_1=t.u1q_1,r;var o=t.i1s(e),s=function(t,n,e,r,i){var o=Qn(t,t.length+1|0),s=n+2|0,a=n+1|0,u=t.length;return Hn(o,o,s,a,u),Hn(o,o,e+2|0,e,n),o[e]=r,o[e+1|0]=i,o}(t.w1q_1,n,o,i[0],i[1]);return Mc(t.t1q_1^e,t.u1q_1^e,s)}var a=Qn(t.w1q_1,t.w1q_1.length);return a[n]=r,Mc(t.t1q_1,t.u1q_1,a)}function Nc(t,n,e){if(1===t.w1q_1.length)return null;var r=function(t,n){var e=t.length-1|0,r=Vn(Array(e),null);Hn(t,r,0,0,n);var i=n+1|0,o=t.length;return Hn(t,r,n,i,o),r}(t.w1q_1,n);return Mc(t.t1q_1,t.u1q_1^e,r)}function Rc(t,n,e,r,i,o,s,a){var u=Tc(t,n),c=null==u?null:Jt(u),l=Fc(t,null==c?0:c,u,Bc(t,n),r,i,o,s+5|0,a),h=t.j1s(e)+1|0;return function(t,n,e,r){var i=e-2|0,o=1+(t.length-2|0)|0,s=Vn(Array(o),null);Hn(t,s,0,0,n),Hn(t,s,n,n+2|0,e),s[i]=r;var a=i+1|0,u=t.length;return Hn(t,s,a,e,u),s}(t.w1q_1,n,h,l)}function Fc(t,n,e,r,i,o,s,a,u){if(a>30)return new Wc(0,0,[e,r,o,s],u);var c=Yc(n,a),l=Yc(i,a);return c!==l?new Wc(1<>n&31}function Gc(t,n){var e=t.length-2|0,r=Vn(Array(e),null);Hn(t,r,0,0,n);var i=n+2|0,o=t.length;return Hn(t,r,n,i,o),r}function Xc(){K=this,this.x1o_1=new Qc(ol(),ol(),vc().w1o())}function Zc(){return null==K&&new Xc,K}function Qc(t,n,e){Zc(),ve.call(this),this.m1s_1=t,this.n1s_1=n,this.o1s_1=e}function tl(){return t=Object.create(el.prototype),el.call(t,ol(),ol()),t;var t}function nl(t){return function(t,n){return el.call(n,t,ol()),n}(t,Object.create(el.prototype))}function el(t,n){this.p1s_1=t,this.q1s_1=n}function rl(t,n){this.v1s_1=t,this.w1s_1=n,this.x1s_1=0}function il(){Y=this}function ol(){return null==Y&&new il,Y}function sl(){G=this}function al(){return null==G&&new sl,G}function ul(){}function cl(t,n,e){var r=new Wh(t,n);return r.d1t(e),r}function ll(t,n){return null==t||!!(t instanceof To&&n instanceof To)&&(!(t.z1f()&&!Ht(t,n))||Ht(t.k13_1,n.k13_1))}function hl(t){return fl(2,t)}function pl(t){return fl(1,t)}function fl(t,n){return t<<($t(n%10|0,3)+1|0)}function _l(t,n,e,r,i,o,s){return function(t,n,e,r,i,o,s,a){n.b(r);var u=0,c=0,l=t.f()-1|0;if(c<=l)t:do{var h=c;c=c+1|0;var p=t.g(h);if((u=u+1|0)>1&&n.b(e),!(o<0||u<=o))break t;dl(n,p,a)}while(c<=l);return o>=0&&u>o&&n.b(s),n.b(i),n}(t,xe(),n,e,r,i,o,s).toString()}function dl(t,n,e){null!=e?t.b(e(n)):null==n||ze(n)?t.b(n):n instanceof je?t.q9(n.k1_1):t.b(mn(n))}function vl(){return hh(),X}function yl(){return hh(),Z}function ml(){return hh(),Q}function gl(t){hh(),tt=t}function $l(){return hh(),tt}function bl(t){hh(),nt=t}function wl(){return hh(),nt}function xl(){return hh(),et}function kl(){return hh(),rt}function jl(){return hh(),it}function zl(){return hh(),ot}function Cl(){return hh(),st}function Sl(){}function ql(t){this.e1t_1=t}function Ol(t){this.f1t_1=t}function Pl(){at=this}function Ml(){return null==at&&new Pl,at}function Al(t,n){Ml(),this.s1a_1=n,this.t1a_1=t,this.u1a_1=!1,this.v1a_1=0!==t?function(t,n){hh();var e=n.r1v(t);return ml(),xl().x1v(e)}(t,this.j1t()):-1,this.w1a_1=8}function El(){}function Il(t,n,e,r){Al.call(this,t,n),this.m1k_1=e,this.n1k_1=r,this.o1k_1=null,this.p1k_1=vh().g1u_1,this.q1k_1=new Int32Array(0),this.r1k_1=1,this.s1k_1=!1,this.t1k_1=8}function Dl(){ut=this,Ll.call(this),this.x1u_1=0}function Tl(){return null==ut&&new Dl,ut}function Bl(t){Ll.call(this),this.z1u_1=t,this.a1v_1=8}function Ll(){this.b1v_1=0}function Nl(t,n){ml();var e,r,i,o=jl().h()?null:Gt(jl());if(null==o)r=null;else{var s=qe(o);r=null==s?(i=o,function(t){var n=0,e=i.f()-1|0;if(n<=e){do{var r=n;n=n+1|0,i.g(r)(t)}while(n<=e);wt()}return wt()}):s}e=r,Il.call(this,t,n,null,e)}function Rl(){this.v1n_1=Hl().x1a(),this.w1n_1=null,this.x1n_1=8}function Fl(t){hh(),xl().y1v(t)}function Hl(){hh();var t=yl().ku();return null==t?zl().ku():t}function Ul(t){hh();var n=zl().ku(),e=(ml(),Ql(n,t)),r=n.i1t();if(null!=r){ml();var i=Gt(kl()),o=0,s=i.f()-1|0;if(o<=s)do{var a=o;o=o+1|0,i.g(a)(r,n)}while(o<=s)}return e}function Vl(){return hh(),Ul(lh)}function Wl(t){t.n1w_1||(t.n1w_1=!0,t.m1w_1.l1u(t))}function Jl(t,n,e,r,i){Il.call(this,t,n,e,r),this.m1w_1=i,this.n1w_1=!1,this.m1w_1.m1u(this)}function Kl(t,n,e){hh();var r=t,i=n;if(i0;){var o=((i+1|0)>>1)-1|0;if(!(e[o]>r))break t;fh(t,o,i),i=o}}function fh(t,n,e){var r=t.t1v_1,i=t.u1v_1,o=t.v1v_1,s=r[n];r[n]=r[e],r[e]=s,s=i[n],i[n]=i[e],i[e]=s,o[i[n]]=n,o[i[e]]=e}function _h(){this.s1v_1=0,this.t1v_1=new Int32Array(16),this.u1v_1=new Int32Array(16);for(var t=0,n=new Int32Array(16);t<16;){var e;e=t+1|0,n[t]=e,t=t+1|0}this.v1v_1=n,this.w1v_1=0}function dh(){lt=this,this.g1u_1=new mh(new Bn(0,0),new Bn(0,0),0,null)}function vh(){return null==lt&&new dh,lt}function yh(t,n){this.y1w_1=t,kn.call(this,n)}function mh(t,n,e,r){vh(),this.x1t_1=t,this.y1t_1=n,this.z1t_1=e,this.a1u_1=r}function gh(t,n){for(var e=0,r=t.length-1|0;e<=r;){var i=(e+r|0)>>>1|0,o=t[i];if(n>o)e=i+1|0;else{if(!(n0||Oi(xt("OffsetApplier up called with no corresponding down"));var t=this.k11_1;this.k11_1=t-1|0,this.i11_1.d11()},We.prototype.e11=function(t,n){this.i11_1.e11(t+(0===this.k11_1?this.j11_1:0)|0,n)},We.prototype.f11=function(t,n){this.i11_1.f11(t+(0===this.k11_1?this.j11_1:0)|0,n)},We.prototype.g11=function(t,n){this.i11_1.g11(t+(0===this.k11_1?this.j11_1:0)|0,n)},We.prototype.h11=function(t,n,e){var r=0===this.k11_1?this.j11_1:0;this.i11_1.h11(t+r|0,n+r|0,e)},We.$metadata$=kt("OffsetApplier",[Ve]),Je.prototype.p11=function(t){this.n11_1=t},Je.prototype.z10=function(){return this.n11_1},Je.prototype.q11=function(t){this.m11_1.a(this.z10()),this.p11(t)},Je.prototype.c11=function(t){return this.q11(null==t||Ct(t)?t:zt())},Je.prototype.d11=function(){if(this.m11_1.h())throw St(xt("Check failed."));this.p11(this.m11_1.n4(this.m11_1.f()-1|0))},Je.$metadata$=kt("AbstractApplier",[Ve]),Ke.prototype.t11=function(){return this.r11_1},Ke.prototype.xy=function(){return this.s11_1},Ke.prototype.u11=function(t){var n,e;try{var r;Pt(),r=this.r11_1(t),e=Mt(r)}catch(t){if(!(t instanceof Error))throw t;Pt(),e=Mt(At(t))}n=e,this.s11_1.z4(n)},Ke.$metadata$=kt("FrameAwaiter"),Ye.prototype.b12=function(){return this.w11_1,!this.y11_1.h()},Ye.prototype.c12=function(t){this.w11_1;var n=this.y11_1;this.y11_1=this.z11_1,this.z11_1=n;var e=0,r=n.f();if(e0},li.prototype.t1c=function(){return this.s15_1},li.prototype.u1c=function(){return this.m14_1.v1c()},li.prototype.e12=function(t){return lr(this,t,null,!1,null)},li.prototype.i12=function(){return sr(this)},li.prototype.w1c=function(){return lr(this,-127,null,!1,null)},li.prototype.x1c=function(){sr(this);var t=this.y1c();null!=t&&t.g19()&&t.z1c(!0)},li.prototype.a1d=function(){var t;if(this.h15_1)t=!0;else{var n=this.y1c();t=!0===(null==n?null:n.a1d())}return t},li.prototype.h1a=function(t,n){return lr(this,t,n,!1,null)},li.prototype.k1a=function(){return sr(this)},li.prototype.b1d=function(){this.g15_1.s7()},li.prototype.c1d=function(){return this.y15_1},li.prototype.v1b=function(){var t;if(this.y15_1||this.j15_1||this.h15_1)t=!1;else{var n=this.y1c();t=!1===(null==n?null:n.d1d())}return!!t&&!this.b15_1},li.prototype.c18=function(){lr(this,this.y15_1?125:this.j15_1?125===this.r15_1.p18()?126:125:126===this.r15_1.p18()?126:125,null,!0,null),this.c15_1=!0},li.prototype.e1d=function(t){zr(this),this.y15_1||Oi(xt("createNode() can only be called when inserting"));var n,e,r,i,o,s=this.v14_1.f1d(),a=this.t15_1.u18(this.t15_1.e13_1),u=this.w14_1;this.w14_1=u+1|0,Lr(this,(r=t,i=a,o=s,function(t,n,e){var s=r();return n.o1b(i,s),(Ft(t,Ve)?t:zt()).e11(o,s),t.c11(s),wt()})),n=this,e=function(t,n){return function(e,r,i){var o=r.p1b(t);return e.d11(),(Ft(e,Ve)?e:zt()).f11(n,o),wt()}}(a,s),n.g16_1.e19(e)},li.prototype.g1d=function(){var t;zr(this),!this.y15_1||Oi(xt("useNode() called while inserting")),Dr(this,(t=this.r15_1).n1a(t.l17_1))},li.prototype.h1d=function(){return pr(this,!0)},li.prototype.i1d=function(t,n){var e,r,i=(e=n,r=t,function(t,n,i){var o=t.z10();return e(null==o||Ct(o)?o:zt(),r),wt()});this.y15_1?Lr(this,i):qr(this,i)},li.prototype.c1b=function(){var t;if(this.y15_1)Cr(this),t=fi().h12_1;else{var n=this.r15_1.e();t=this.j15_1?fi().h12_1:n}return t},li.prototype.j12=function(t){var n;return Ht(this.c1b(),t)?n=!1:(this.e1a(t),n=!0),n},li.prototype.j1d=function(t){var n=this.c1b();return(null==n||"boolean"!=typeof n||t!==n)&&(this.e1a(t),!0)},li.prototype.e1a=function(t){if(this.y15_1)this.t15_1.l1d(t),null!=t&&Ft(t,xs)&&(Sr(this,(e=t,function(t,n,r){return r.k12(e),wt()})),this.o14_1.a(t));else{var n=this.r15_1.k1d()-1|0;null!=t&&Ft(t,xs)&&this.o14_1.a(t),Pr(this,!0,function(t,n){return function(e,r,i){null!=t&&Ft(t,xs)&&(i.k12(t),wt());var o=r.q1b(n,t);if(null!=o&&Ft(o,xs))i.l12(o),wt();else if(o instanceof To){var s=o.j13_1;null!=s&&(o.ot(),s.c14_1=!0,wt())}return wt()}}(t,n))}var e},li.prototype.y1c=function(){var t=this.o15_1;return 0===this.l15_1&&t.o1a()?t.f1d():null},li.prototype.l1a=function(t,n){var e=t.k13_1;if(null==e)return!1;var r=e.l1c(this.n14_1);return!!(this.p15_1&&r>=this.r15_1.j17_1)&&(function(t,n,e,r){Ji();var i=Ii(t,n);if(i<0){var o,s=0|-(i+1|0),a=r;if(null==a)o=null;else{var u=new ru;u.w1e(a),o=u}t.yf(s,new ji(e,n,o))}else if(null==r)t.g(i).u19_1=null;else{var c=t.g(i).u19_1;null==c||c.w1e(r)}}(this.d15_1,r,t,n),!0)},li.prototype.o1c=function(){if(this.d15_1.h())(o=i=this).w14_1=o.w14_1+i.r15_1.r17()|0;else{var t=this.r15_1,n=t.p18(),e=t.r18(),r=t.a18();Jr(this,n,e,r),cr(this,t.i1b(),null),fr(this),t.n19(),Yr(this,n,e,r)}var i,o},li.prototype.z17=function(){0===this.w14_1||Oi(xt("No nodes can be emitted before calling skipAndEndGroup"));var t=this.y1c();null==t||t.m1d(),this.d15_1.h()?wr(this):fr(this)},li.prototype.n1d=function(t){return lr(this,t,null,!1,null),function(t){if(t.y15_1){var n=t.r14_1,e=new To(n instanceof so?n:zt());t.o15_1.e19(e),t.e1a(e),e.g1a(t.n15_1)}else{var r,i=Si(t.d15_1,t.r15_1.l17_1),o=t.r15_1.e();if(Ht(o,fi().h12_1)){var s=t.r14_1,a=new To(s instanceof so?s:zt());t.e1a(a),r=a}else r=o instanceof To?o:zt();var u=r;u.f1a(!(null==i)),t.o15_1.e19(u),u.g1a(t.n15_1)}}(this),this},li.prototype.o1d=function(){var t=this.o15_1.o1a()?this.o15_1.f19():null;null==t||t.f1a(!1);var n,e,r,i=null==t?null:t.p1d(this.n15_1);if(null==i||(Sr(this,(e=i,r=this,function(t,n,i){return e(r.r14_1),wt()})),wt()),null==t||t.r1d()||!t.g19()&&!this.a15_1)n=null;else{if(null==t.k13_1){var o,s=t;o=this.y15_1?this.t15_1.u18(this.t15_1.e13_1):this.r15_1.u18(this.r15_1.l17_1),s.k13_1=o}t.q1d(!1),n=t}var a=n;return pr(this,!1),a},li.prototype.s1d=function(t){t:{var n=this.q14_1,e=this.p14_1;try{this.p14_1=n,Sr(this,(Ji(),u));var r=0,i=t.f()-1|0;if(r<=i)do{var s=r;r=r+1|0;var a=t.g(s),c=a.l4(),l=a.m4(),h=c.a1c_1,p=c.z1b_1.h1b(h),f={_v:0};if(Ar(this),Sr(this,ni(f,h)),null==l){var _=c.z1b_1;Ht(_,this.s15_1)&&ur(this);var d=c.z1b_1.t16();try{d.d19(p),this.c16_1=p;var v=jt();jr(this,null,null,null,null,ei(this,v,d,c),30),!v.h()&&(Sr(this,ri(f,v)),wt())}finally{d.p17()}}else{var y=qi(l.z1b_1,l.a1c_1);if(!y.h()){Sr(this,ii(f,y));var m=this.n14_1.h1b(h);mr(this,m,yr(this,m)+y.f()|0)}Sr(this,oi(this,l,c));var g=l.z1b_1,$=g.t16();try{n:{var b=this.r15_1,w=this.y14_1;this.y14_1=null;try{this.r15_1=$;var x=g.h1b(l.a1c_1);$.d19(x),this.c16_1=x;var k,j=jt();e:{var z=this.p14_1;try{this.p14_1=j;var C=$.j17_1;kr(this,l.y1b_1,c.y1b_1,C,l.b1c_1,si(this,c));break e}finally{this.p14_1=z}}!j.h()&&(Sr(this,ai(f,j)),k=wt()),k;break n}finally{this.r15_1=b,this.y14_1=w}}}finally{$.p17()}}Sr(this,(Ji(),o))}while(r<=i);Sr(this,ui),this.c16_1=0,wt();break t}finally{this.p14_1=e}}Hr(this)},li.prototype.t1d=function(t){this.y15_1&&this.t15_1.u1d(t)},li.prototype.v1d=function(t){!this.p15_1||Oi(xt("Preparing a composition while composing is not supported")),this.p15_1=!0;try{t()}finally{this.p15_1=!1}},li.prototype.w1d=function(t){return this.p14_1.h()||Oi(xt("Expected applyChanges() to have been called")),!(!t.o1a()&&this.d15_1.h()&&!this.b15_1||(Xr(this,t,null),this.p14_1.h()))},li.prototype.x1d=function(){return this.y1c()},li.prototype.f12=function(){return this.c1b()},li.prototype.g12=function(t){return this.e1a(t)},li.prototype.y1d=function(t){var n=t instanceof To?t:null;null==n||n.z1d(!0)},li.prototype.a1e=function(t,n){this.p14_1.h()||Oi(xt("Expected applyChanges() to have been called")),Xr(this,t,n)},li.$metadata$=kt("ComposerImpl",[_i]),hi.prototype.toString=function(){return"Empty"},hi.$metadata$=kt(),pi.prototype.b1e=function(){return this.h12_1},pi.$metadata$=en("Companion"),_i.$metadata$=bt("Composer"),vi.$metadata$=kt("InvalidationResult",void 0,void 0,void 0,void 0,Kt.prototype),yi.prototype.c1e=function(){return this.w1b_1},yi.prototype.d1e=function(){return this.x1b_1},yi.prototype.e1e=function(){return this.y1b_1},yi.prototype.f1e=function(){return this.z1b_1},yi.prototype.g1e=function(){return this.a1c_1},yi.prototype.h1e=function(){return this.b1c_1},yi.prototype.i1e=function(){return this.c1c_1},yi.$metadata$=kt("MovableContentStateReference"),gi.prototype.f1e=function(){return this.f1c_1},gi.$metadata$=kt("MovableContentState"),bi.$metadata$=bt("ScopeUpdateScope"),wi.$metadata$=kt("MovableContent"),ki.prototype.k1e=function(){return this.h18_1},ki.prototype.l1e=function(){return this.i18_1},ki.prototype.m1e=function(){return cn("keyMap",1,un,(function(t){return t.m1e()}),null),this.m18_1.m2()},ki.prototype.s18=function(t,n){var e=null!=n?new qo(t,n):t;return Ai(this.m1e(),e)},ki.prototype.o18=function(t){return this.k18_1.a(t)},ki.prototype.g19=function(){return this.k18_1},ki.prototype.c19=function(t,n){if(t>n)for(var e=this.l18_1.c3().c();e.d();){var r=e.e(),i=r.n1e_1;i===t?r.n1e_1=n:n<=i&&it)for(var o=this.l18_1.c3().c();o.d();){var s=o.e(),a=s.n1e_1;a===t?s.n1e_1=n:(t+1|0)<=a&&an)for(var r=this.l18_1.c3().c();r.d();){var i=r.e(),o=i.o1e_1;t<=o&&o<(t+e|0)?i.o1e_1=n+(o-t|0)|0:n<=o&&ot)for(var s=this.l18_1.c3().c();s.d();){var a=s.e(),u=a.o1e_1;t<=u&&u<(t+e|0)?a.o1e_1=n+(u-t|0)|0:(t+1|0)<=u&&u=r&&!Ht(s,e)){var a=s.o1e_1+i|0;a>=0&&(s.o1e_1=a)}}return!0}return!1},ki.prototype.b19=function(t){var n=this.l18_1.a3(t.x18_1),e=null==n?null:n.n1e_1;return null==e?-1:e},ki.prototype.a19=function(t){var n=this.l18_1.a3(t.x18_1),e=null==n?null:n.o1e_1;return null==e?-1:e},ki.prototype.j19=function(t){var n=this.l18_1.a3(t.x18_1),e=null==n?null:n.p1e_1;return null==e?t.y18_1:e},ki.$metadata$=kt("Pending"),ji.prototype.q1e=function(){return this.s19_1},ji.prototype.r1e=function(){return this.t19_1},ji.prototype.s1e=function(){return this.u19_1},ji.prototype.y19=function(){return this.s19_1.t1e(this.u19_1)},ji.$metadata$=kt("Invalidation"),Pi.prototype.x1e=function(t){this.n1e_1=t},Pi.prototype.y1e=function(){return this.n1e_1},Pi.prototype.z1e=function(t){this.o1e_1=t},Pi.prototype.a1f=function(){return this.o1e_1},Pi.$metadata$=kt("GroupInfo"),Ti.prototype.toString=function(){return"Updater(composer="+this.e1f_1+")"},Ti.prototype.hashCode=function(){return t=this.e1f_1,Jt(t);var t},Ti.prototype.equals=function(t){return function(t,n){if(!(n instanceof Ti))return!1;var e=n instanceof Ti?n.e1f_1:zt();return!!Ht(t,e)}(this.e1f_1,t)},Ti.$metadata$=kt("Updater"),Bi.prototype.toString=function(){return"SkippableUpdater(composer="+this.f1f_1+")"},Bi.prototype.hashCode=function(){return t=this.f1f_1,Jt(t);var t},Bi.prototype.equals=function(t){return function(t,n){if(!(n instanceof Bi))return!1;var e=n instanceof Bi?n.f1f_1:zt();return!!Ht(t,e)}(this.f1f_1,t)},Bi.$metadata$=kt("SkippableUpdater"),io.prototype.k12=function(t){var n=this.v1f_1.i2(t);n>=0?(this.v1f_1.n4(n),this.t1f_1.jf(t)):this.u1f_1.a(t)},io.prototype.l12=function(t){var n=this.u1f_1.i2(t);n>=0?(this.u1f_1.n4(n),this.t1f_1.jf(t)):this.v1f_1.a(t)},io.prototype.x1f=function(){if(!this.v1f_1.h())t:{var t=Fh().r1a("Compose:onForgotten");try{var n=this.v1f_1.f()-1|0;if(0<=n){do{var e=n;n=n+-1|0;var r=this.v1f_1.g(e);this.t1f_1.i(r)||r.f1g()}while(0<=n);wt()}break t}finally{Fh().d1b(t)}}if(!this.u1f_1.h())t:{var i=Fh().r1a("Compose:onRemembered");try{var o=this.u1f_1,s=0,a=o.f()-1|0;if(s<=a){do{var u=s;s=s+1|0;var c=o.g(u);this.t1f_1.jf(c),c.g1g()}while(s<=a);wt()}break t}finally{Fh().d1b(i)}}},io.prototype.y1f=function(){if(!this.w1f_1.h())t:{var t=Fh().r1a("Compose:sideeffects");try{var n=this.w1f_1,e=0,r=n.f()-1|0;if(e<=r)do{var i=e;e=e+1|0,n.g(i)()}while(e<=r);this.w1f_1.s7(),wt();break t}finally{Fh().d1b(t)}}},io.prototype.a1g=function(){if(!this.t1f_1.h())t:{var t=Fh().r1a("Compose:abandons");try{for(var n=this.t1f_1.c();n.d();){var e=n.e();n.o4(),e.h1g()}wt();break t}finally{Fh().d1b(t)}}},io.$metadata$=kt("RememberEventDispatcher",[tr]),so.prototype.f1e=function(){return this.u13_1},so.prototype.c1g=function(){return this.f14_1.p15_1},so.prototype.m1g=function(){return this.i14_1},so.prototype.n1g=function(t){t:for(;;){var n,e=this.r13_1.ku(),r=e;if(null==r||Ht(r,Ki()))n=t;else if(null!=r&&Ft(r,hn))n=[e,t];else{if(null==r||!ln(r)){var i="corrupt pendingModifications: "+this.r13_1;throw St(xt(i))}n=_n(null!=e&&ln(e)?e:zt(),t)}var o=n;if(this.r13_1.o1g(e,o)){null==e&&(this.s13_1,Xi(this),wt());break t}}},so.prototype.p1g=function(t){for(var n=t.c();n.d();){var e=n.e();if(this.v13_1.q1f(e)||this.x13_1.q1f(e))return!0}return!1},so.prototype.v1d=function(t){return this.f14_1.v1d(t)},so.prototype.q1g=function(t){if(!this.f14_1.s1c()){var n=this.f14_1.y1c();if(null==n);else{if(n.z1d(!0),this.v13_1.s1f(t,n),Ft(t,$o)){this.x13_1.r1g(t);for(var e=t.s1g().c();e.d();){var r=e.e();this.x13_1.s1f(r,t)}}n.t1g(t),wt()}}},so.prototype.u1g=function(t){this.s13_1,to(this,t);var n,e=this.x13_1,r=ou(e,t);if(r>=0){for(var i=iu(e,r).c();i.d();)to(this,i.e());n=wt()}return n},so.prototype.v1g=function(){this.s13_1,Gi(this);var t,n=!1;try{var e=this.f14_1.w1d(ro(this));e||Xi(this),n=!0,t=e}finally{!n&&!this.t13_1.h()&&new io(this.t13_1).a1g()}return t},so.prototype.w1g=function(t){var n;t:{var e=0,r=t.f()-1|0;if(e<=r)do{var i=e;e=e+1|0;var o=t.g(i);if(!Ht(o.j4_1.y1b_1,this)){n=!1;break t}}while(e<=r);n=!0}mi(n);var s=!1;try{this.f14_1.s1d(t);wt();s=!0}finally{!s&&!this.t13_1.h()&&new io(this.t13_1).a1g()}},so.prototype.x1g=function(t){var n=new io(this.t13_1),e=t.f1c_1.y17();try{nr(e,n),wt()}finally{e.p17()}n.x1f()},so.prototype.y1g=function(){this.s13_1,no(this,this.y13_1),Xi(this),wt()},so.prototype.z1g=function(){this.s13_1,!this.z13_1.h()&&(no(this,this.z13_1),wt())},so.prototype.b1d=function(){this.s13_1,this.f14_1.b1d(),!this.t13_1.h()&&(new io(this.t13_1).a1g(),wt())},so.prototype.a1h=function(){this.s13_1;for(var t=this.u13_1.n16_1,n=0,e=t.length;n=0){var i;this.d14_1=t instanceof so?t:zt(),this.e14_1=n;try{i=e()}finally{this.d14_1=null,this.e14_1=0}r=i}else r=e();return r},so.prototype.c1h=function(t,n){t.d1h()&&t.q1d(!0);var e=t.k13_1;return null!=e&&this.u13_1.e1h(e)&&e.z1f()&&e.z1f()&&t.f1h()?eo(this,t,e,n):Vi()},so.prototype.g1h=function(t,n){this.v13_1.i1g(t,n)},so.prototype.h1h=function(t){this.v13_1.q1f(t)||this.x13_1.r1g(t)},so.prototype.i1h=function(t){this.j14_1=t},so.prototype.j1h=function(t){if(this.i14_1)throw St(xt("The composition is disposed"));this.i1h(t),this.p13_1.k1h(this,this.j14_1)},so.prototype.l1h=function(t){var n=!1;try{this.s13_1,Gi(this),this.f14_1.a1e(ro(this),t),wt(),n=!0}finally{!n&&!this.t13_1.h()&&new io(this.t13_1).a1g()}},so.$metadata$=kt("CompositionImpl",[ao]),ao.$metadata$=bt("ControlledComposition",[ho]),lo.$metadata$=en("ComposableSingletons$CompositionKt"),ho.$metadata$=bt("Composition"),_o.prototype.b17=function(t){},_o.prototype.j1g=function(t){},_o.prototype.w16=function(){return fo()},_o.prototype.v16=function(){},_o.prototype.d17=function(){},_o.prototype.e1c=function(t){return null},_o.$metadata$=kt("CompositionContext"),vo.$metadata$=kt("CompositionLocal"),yo.$metadata$=kt("ProvidableCompositionLocal",void 0,void 0,void 0,void 0,vo.prototype),mo.$metadata$=kt("StaticProvidableCompositionLocal",void 0,void 0,void 0,void 0,yo.prototype),$o.$metadata$=bt("DerivedState",[Ta]),wo.prototype.js=function(){this.r1h_1()},wo.$metadata$=kt(void 0,[ko]),xo.prototype.t1h=function(t){return new wo(t)},xo.$metadata$=kt("DisposableEffectScope"),ko.$metadata$=bt("DisposableEffectResult"),jo.prototype.g1g=function(){var t=this.w1h_1;null==t||vn(t,"Old job was still running!",null,2,null),this.w1h_1=yn(this.v1h_1,null,null,this.u1h_1,3,null)},jo.prototype.f1g=function(){var t=this.w1h_1;null==t||t.dq(null,1,null),this.w1h_1=null},jo.prototype.h1g=function(){var t=this.w1h_1;null==t||t.dq(null,1,null),this.w1h_1=null},jo.$metadata$=kt("LaunchedEffectImpl",[xs]),zo.prototype.g1g=function(){this.y1h_1=this.x1h_1((Co(),j))},zo.prototype.f1g=function(){var t=this.y1h_1;null==t||t.js(),this.y1h_1=null},zo.prototype.h1g=function(){},zo.$metadata$=kt("DisposableEffectImpl",[xs]),qo.prototype.hashCode=function(){return $t(So(0,this.z1h_1),31)+So(0,this.a1i_1)|0},qo.prototype.toString=function(){return"JoinedKey(left="+mn(this.z1h_1)+", right="+mn(this.a1i_1)+")"},qo.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof qo))return!1;var n=t instanceof qo?t:zt();return!!Ht(this.z1h_1,n.z1h_1)&&!!Ht(this.a1i_1,n.a1i_1)},qo.$metadata$=kt("JoinedKey"),Oo.$metadata$=en("Key",[gn]),Mo.$metadata$=bt("MonotonicFrameClock",[$n]),Eo.prototype.toString=function(){return"OpaqueKey(key="+this.b1i_1+")"},Eo.prototype.hashCode=function(){return bn(this.b1i_1)},Eo.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Eo))return!1;var n=t instanceof Eo?t:zt();return this.b1i_1===n.b1i_1},Eo.$metadata$=kt("OpaqueKey"),To.prototype.g1e=function(){return this.k13_1},To.prototype.z1f=function(){var t;if(null!=this.j13_1){var n=this.k13_1,e=null==n?null:n.z1f();t=null!=e&&e}else t=!1;return t},To.prototype.f1h=function(){return!(null==this.l13_1)},To.prototype.z1d=function(t){this.i13_1=t?1|this.i13_1:-2&this.i13_1},To.prototype.g19=function(){return!(0==(1&this.i13_1))},To.prototype.z1c=function(t){this.i13_1=t?2|this.i13_1:-3&this.i13_1},To.prototype.d1h=function(){return!(0==(2&this.i13_1))},To.prototype.q1d=function(t){this.i13_1=t?4|this.i13_1:-5&this.i13_1},To.prototype.a1d=function(){return!(0==(4&this.i13_1))},To.prototype.f1a=function(t){this.i13_1=t?8|this.i13_1:-9&this.i13_1},To.prototype.d1d=function(){return!(0==(8&this.i13_1))},To.prototype.w19=function(t){var n=this.l13_1;if(null==(null==n?null:n(t,1)))throw St("Invalid restart scope")},To.prototype.l1f=function(t){var n=this.j13_1,e=null==n?null:n.c1h(this,t);return null==e?Vi():e},To.prototype.ot=function(){this.j13_1=null,this.n13_1=null,this.o13_1=null},To.prototype.j1c=function(t){this.j13_1=t},To.prototype.b1h=function(){var t=this.j13_1;null==t||t.c1h(this,null)},To.prototype.j1e=function(t){this.l13_1=t},To.prototype.r1d=function(){return!(0==(16&this.i13_1))},To.prototype.g1a=function(t){this.m13_1=t,Do(this,!1)},To.prototype.m1d=function(){Do(this,!0)},To.prototype.t1g=function(t){if(0!=(32&this.i13_1))return wt();var n,e=this.n13_1;if(null==e){var r=new Ya;this.n13_1=r,n=r}else n=e;if(n.g1i(t,this.m13_1),Ft(t,$o)){var i,o=this.o13_1;if(null==o){var s=Ga(0,1);this.o13_1=s,i=s}else i=o;i.d1g(t,t.o1h())}},To.prototype.r1f=function(){return!(null==this.o13_1)},To.prototype.t1e=function(t){if(null==t)return!0;var n=this.o13_1;if(null==n)return!0;var e,r=n;if(t.o1a()){var i;t:if(null!=t&&Ft(t,wn)&&t.h())i=!0;else{for(var o=t.c();o.d();){var s=o.e();if(!Ft(s,$o)||!Ht(r.m1h(s),s.o1h())){i=!1;break t}}i=!0}e=i}else e=!1;return!e},To.prototype.v19=function(){var t=this.j13_1;if(null==t);else{var n=this.n13_1;if(null==n);else{Io(this,!0);try{var e=0,r=n.c1i_1;if(e0&&(this.q1i_1.i(t)||(this.q1i_1.a(t),wt())),function(t,n){var e;t.n1i_1;t:{var r=t.u1i_1,i=0,o=r.f()-1|0;if(i<=o)do{var s=i;i=i+1|0;var a=r.g(s);if(Ht(a.y1b_1,n)){e=!0;break t}}while(i<=o);e=!1}if(!e)return wt();var u=jt();for(cs(u,t,n);!u.h();)es(t,u,null),cs(u,t,n)}(this,t),t.y1g(),t.z1g(),e||Ml().i1m()},gs.$metadata$=kt("Recomposer",void 0,void 0,void 0,void 0,_o.prototype),$s.$metadata$=bt("RecomposerInfo"),xs.$metadata$=bt("RememberObserver"),zs.$metadata$=en("Companion"),na.prototype.d=function(){return this.n1m_1this.e13_1&&tthis.a13_1.q1a(0))e=n+this.i19(n)|0;else{var r=this.a13_1.r1m(n);e=r<0?n+this.i19(n)|0:(Rs(this)-this.r12_1|0)-this.b13_1.z19(r)|0}return t>n&&t=0||Oi(xt("Cannot insert auxiliary data when not inserting"));var n=this.e13_1,e=Fs(this,n);!ha(this.n12_1,e)||Oi(xt("Group already has auxiliary data")),Ts(this,1,n);var r,i,o=Gs(this.n12_1,this,e),s=Hs(this,o);if(this.t12_1>o){var a=this.t12_1-o|0;if(!(a<3))throw St(xt("Moving more than two slot not supported"));a>1&&(this.o12_1[s+2|0]=this.o12_1[s+1|0]),this.o12_1[s+1|0]=this.o12_1[s]}r=this.n12_1,i=$t(e,5)+1|0,r[i]=268435456|r[i],this.o12_1[s]=t;var u=this.t12_1;this.t12_1=u+1|0},ea.prototype.j1m=function(t){return Ns(this,this.d13_1,t)},ea.prototype.o1b=function(t,n){return Ns(this,t.s1m(this),n)},ea.prototype.w1m=function(t){this.t12_1<=this.u12_1||Oi(xt("Writing to an invalid slot")),this.o12_1[Hs(this,this.t12_1-1|0)]=t},ea.prototype.q1b=function(t,n){var e,r=Fs(this,this.d13_1),i=Js(this.n12_1,this,r),o=Ws(this.n12_1,this,Fs(this,this.d13_1+1|0)),s=i+t|0;s>=i&&s0&&Ts(this,1,this.e13_1);var t=this.o12_1,n=this.t12_1;return this.t12_1=n+1|0,t[Hs(this,n)]},ea.prototype.i1c=function(t,n){return this.x1m(this.h1b(t),n)},ea.prototype.x1m=function(t,n){var e=Fs(this,t),r=Js(this.n12_1,this,e),i=Ws(this.n12_1,this,Fs(this,t+1|0)),o=r+n|0;if(!(r<=o&&o=0))throw rn(xt("Cannot seek backwards"));if(!(this.y12_1<=0))throw St(xt("Cannot call seek() while inserting"));if(0===t)return wt();var n,e=this.d13_1+t|0;e>=this.e13_1&&e<=this.s12_1||(n="Cannot seek outside the current group ("+this.e13_1+"-"+this.s12_1+")",Oi(xt(n))),this.d13_1=e;var r=Ws(this.n12_1,this,Fs(this,e));this.t12_1=r,this.u12_1=r},ea.prototype.z17=function(){var t=this.s12_1;this.d13_1=t,this.t12_1=Ws(this.n12_1,this,Fs(this,t))},ea.prototype.t18=function(){var t=this.y12_1;this.y12_1=t+1|0,0===t&&Ps(this)},ea.prototype.q19=function(){if(!(this.y12_1>0))throw St(xt("Unbalanced begin/end insert"));var t=this;t.y12_1=t.y12_1-1|0,0===t.y12_1&&(this.c13_1.f()!==this.a13_1.f()&&Oi(xt("startGroup/endGroup mismatch while inserting")),Ms(this))},ea.prototype.b18=function(){if(0!==this.y12_1)throw rn(xt("Key must be supplied when inserting"));js(this,0,fi().h12_1,!1,fi().h12_1)},ea.prototype.e18=function(t,n){return js(this,t,n,!1,fi().h12_1)},ea.prototype.g18=function(t){return js(this,125,t,!0,fi().h12_1)},ea.prototype.f18=function(t,n,e){return js(this,t,n,!1,e)},ea.prototype.p19=function(){var t=this.y12_1>0,n=this.d13_1,e=this.s12_1,r=this.e13_1,i=Fs(this,r),o=this.z12_1,s=n-r|0,a=oa(this.n12_1,i);if(t)pa(this.n12_1,i,s),fa(this.n12_1,i,o),this.z12_1=this.c13_1.f19()+(a?1:o)|0,this.e13_1=Us(this.n12_1,this,r);else{if(n!==e)throw rn(xt("Expected to be at the end of a group"));var u=la(this.n12_1,i),c=sa(this.n12_1,i);pa(this.n12_1,i,s),fa(this.n12_1,i,o);var l=this.a13_1.f19();Ms(this),this.e13_1=l;var h=Us(this.n12_1,this,r);if(this.z12_1=this.c13_1.f19(),h===l){this.z12_1=this.z12_1+(a?0:o-c|0)|0}else{var p=s-u|0,f=a?0:o-c|0;if(0!==p||0!==f)for(var _=h;0!==_&&_!==l&&(0!==f||0!==p);){var d=Fs(this,_);if(0!==p){var v=la(this.n12_1,d)+p|0;pa(this.n12_1,d,v)}0!==f&&fa(this.n12_1,d,sa(this.n12_1,d)+f|0),oa(this.n12_1,d)&&(f=0),_=Us(this.n12_1,this,_)}this.z12_1=this.z12_1+f|0}}return o},ea.prototype.g1f=function(t){if(!(this.y12_1<=0))throw rn(xt("Cannot call ensureStarted() while inserting"));var n=this.e13_1;if(n!==t){if(!(t>=n&&t=t;)r.l1m();wt()}var i=Bs(this,t,this.d13_1-t|0);Ls(this,n,this.t12_1-n|0,t-1|0),this.d13_1=t,this.t12_1=n;return this.z12_1=this.z12_1-e|0,i},ea.prototype.h13=function(){return new na(Ws(this.n12_1,this,Fs(this,this.d13_1)),Ws(this.n12_1,this,Fs(this,this.d13_1+this.i19(this.d13_1)|0)),this)},ea.prototype.s1b=function(t){if(0!==this.y12_1)throw rn(xt("Cannot move a group while inserting"));if(!(t>=0))throw rn(xt("Parameter offset is out of bounds"));if(0===t)return wt();for(var n=this.d13_1,e=this.e13_1,r=this.s12_1,i=t,o=n;i>0;){if(!((o=o+la(this.n12_1,Fs(this,o))|0)<=r))throw rn(xt("Parameter offset is out of bounds"));i=i-1|0}var s=la(this.n12_1,Fs(this,o)),a=this.t12_1,u=Ws(this.n12_1,this,Fs(this,o)),c=Ws(this.n12_1,this,Fs(this,o+s|0)),l=c-u|0,h=this.d13_1-1|0;Ts(this,l,Math.max(h,0)),Ds(this,s);var p=this.n12_1,f=Fs(this,o+s|0),_=$t(f,5),d=Fs(this,n),v=$t(d,5),y=_+$t(s,5)|0;if(Hn(p,p,v,_,y),l>0){var m=this.o12_1,g=Hs(this,u+l|0),$=Hs(this,c+l|0);Hn(m,m,a,g,$)}var b=(u+l|0)-a|0,w=this.v12_1,x=this.w12_1,k=this.o12_1.length,j=this.x12_1,z=n,C=n+s|0;if(z=0)t:for(;s=n&&c=t.q12_1?_.b1b_1=0|-(o-d|0):_.b1b_1=d;var v=ma(t.p12_1,d,o);t.p12_1.yf(v,_)}while(h<=p)})(this,o+s|0,n,s),!Bs(this,o+s|0,s)||Oi(xt("Unexpectedly removed anchors")),As(this,e,this.s12_1,n),l>0&&Ls(this,u+l|0,l,(o+s|0)-1|0)},ea.prototype.p1c=function(t,n,e){if(!(e.y12_1>0))throw rn(xt("Failed requirement."));if(0!==this.y12_1)throw rn(xt("Failed requirement."));if(!t.z1f())throw rn(xt("Failed requirement."));var r=this.h1b(t)+n|0,i=this.d13_1;if(!(i<=r&&r0;c>=i;){var h=Fs(this,c);pa(this.n12_1,h,la(this.n12_1,h)-s|0),l&&(oa(this.n12_1,h)?l=!1:fa(this.n12_1,h,sa(this.n12_1,h)-a|0)),c=this.v17(c)}if(l){mi(this.z12_1>=a);this.z12_1=this.z12_1-a|0}return u},ea.prototype.m1c=function(t,n){if(!(this.y12_1>0))throw rn(xt("Failed requirement."));if(0===n&&0===this.d13_1&&0===this.m12_1.m16_1){var e=this.n12_1,r=this.o12_1,i=this.p12_1,o=t.l16_1,s=t.m16_1,a=t.n16_1,u=t.o16_1;return this.n12_1=o,this.o12_1=a,this.p12_1=t.s16_1,this.q12_1=s,this.r12_1=(o.length/5|0)-s|0,this.v12_1=u,this.w12_1=a.length-u|0,this.x12_1=s,t.y1m(e,0,r,0,i),this.p12_1}var c,l=t.y17();try{c=ks(Cs(),l,n,this,!0,!0)}finally{l.p17()}return c},ea.prototype.h1c=function(t,n,e){mi(this.y12_1<=0&&1===this.i19(this.d13_1+t|0));var r=this.d13_1,i=this.t12_1,o=this.u12_1;this.k1c(t),this.b18(),this.t18();var s,a=n.y17();try{s=ks(Cs(),a,e,this,!1,!0)}finally{a.p17()}var u=s;return this.q19(),this.p19(),this.d13_1=r,this.t12_1=i,this.u12_1=o,u},ea.prototype.u18=function(t){var n,e=this.p12_1,r=Aa(e,t,this.f());if(r<0){var i=new ia(t<=this.q12_1?t:0|-(this.f()-t|0));e.yf(0|-(r+1|0),i),n=i}else n=e.g(r);return n},ea.prototype.z1m=function(t){var n,e,r,i=Fs(this,t);$a(this.n12_1,i)||(n=this.n12_1,e=!0,r=$t(i,5)+1|0,n[r]=e?134217728|n[r]:-134217729&n[r],ba(this.n12_1,i)||qs(this,this.v17(t)))},ea.prototype.i1a=function(t,n,e){return 0!=(1&n)&&(t=this.e13_1),this.z1m(t)},ea.prototype.h1b=function(t){var n=t.b1b_1;return n<0?this.f()+n|0:n},ea.prototype.toString=function(){return"SlotWriter(current = "+this.d13_1+" end="+this.s12_1+" size = "+this.f()+" gap="+this.q12_1+"-"+(this.q12_1+this.r12_1|0)+")"},ea.prototype.f=function(){return Rs(this)-this.r12_1|0},ea.$metadata$=kt("SlotWriter"),ra.prototype.a1n=function(){return this.s16_1},ra.prototype.du=function(){return 0===this.m16_1},ra.prototype.b1n=function(t){var n,e=this.t16();try{n=t(e)}finally{e.p17()}return n},ra.prototype.c1n=function(t){var n,e=this.y17();try{n=t(e)}finally{e.p17()}return n},ra.prototype.t16=function(){if(this.q16_1)throw St("Cannot read while a writer is pending");var t=this.p16_1;return this.p16_1=t+1|0,new Sa(this)},ra.prototype.y17=function(){!this.q16_1||Oi(xt("Cannot start a writer when another writer is pending")),this.p16_1<=0||Oi(xt("Cannot start a writer when a reader is pending")),this.q16_1=!0;var t=this.r16_1;return this.r16_1=t+1|0,new ea(this)},ra.prototype.h1b=function(t){if(!this.q16_1||Oi(xt("Use active SlotWriter to determine anchor location instead")),!t.z1f())throw rn(xt("Anchor refers to a group that was removed"));return t.b1b_1},ra.prototype.e1h=function(t){var n;if(t.z1f()){var e=Aa(this.s16_1,t.b1b_1,this.m16_1);n=e>=0&&Ht(this.s16_1.g(e),t)}else n=!1;return n},ra.prototype.b1g=function(t,n){var e;if(!this.q16_1||Oi(xt("Writer is active")),0<=t&&t0))throw rn(xt("Unexpected reader close()"));var n=this.p16_1;this.p16_1=n-1|0},ra.prototype.u1m=function(t,n,e,r,i,o){if(t.m12_1!==this||!this.q16_1)throw rn(xt("Unexpected writer close()"));this.q16_1=!1,this.y1m(n,e,r,i,o)},ra.prototype.y1m=function(t,n,e,r,i){this.l16_1=t,this.m16_1=n,this.n16_1=e,this.o16_1=r,this.s16_1=i},ra.prototype.c=function(){return new Pa(this,0,this.m16_1)},ra.$metadata$=kt("SlotTable",[Oh,Kn]),ia.prototype.e1n=function(t){this.b1b_1=t},ia.prototype.r1e=function(){return this.b1b_1},ia.prototype.z1f=function(){return!(this.b1b_1===Wn().w_1)},ia.prototype.l1c=function(t){return t.h1b(this)},ia.prototype.s1m=function(t){return t.h1b(this)},ia.$metadata$=kt("Anchor"),_a.prototype.m1m=function(t){if(!this.k1m_1.h()&&(this.k1m_1.g(0)===t||this.k1m_1.g(this.k1m_1.f()-1|0)===t))return wt();var n=this.k1m_1.f();this.k1m_1.a(t);t:for(;n>0;){var e=((n+1|0)>>>1|0)-1|0,r=this.k1m_1.g(e);if(!(t>r))break t;this.k1m_1.p4(n,r),n=e}this.k1m_1.p4(n,t)},_a.prototype.o1a=function(){return!this.k1m_1.h()},_a.prototype.f1d=function(){return Yn(this.k1m_1)},_a.prototype.l1m=function(){this.k1m_1.f()>0||Oi(xt("Set is empty"));for(var t=this.k1m_1.g(0);!this.k1m_1.h()&&this.k1m_1.g(0)===t;){this.k1m_1.p4(0,Gn(this.k1m_1)),this.k1m_1.n4(this.k1m_1.f()-1|0);var n=0,e=this.k1m_1.f(),r=this.k1m_1.f()>>>1|0;t:for(;ns){if(u>i){this.k1m_1.p4(n,u),this.k1m_1.p4(a,i),n=a;continue t}break t}}if(!(s>i))break t;this.k1m_1.p4(n,s),this.k1m_1.p4(o,i),n=o}}return t},_a.$metadata$=kt("PrioritySet"),Sa.prototype.q1m=function(){return this.j17_1},Sa.prototype.f=function(){return this.g17_1},Sa.prototype.v17=function(t){return va(this.f17_1,t)},Sa.prototype.i1b=function(){return oa(this.f17_1,this.j17_1)},Sa.prototype.a1a=function(t){return oa(this.f17_1,t)},Sa.prototype.b1a=function(t){return sa(this.f17_1,t)},Sa.prototype.n1a=function(t){return oa(this.f17_1,t)?ja(this.f17_1,this,t):null},Sa.prototype.m19=function(){return!!this.r19()||this.j17_1===this.k17_1},Sa.prototype.r19=function(){return this.m17_1>0},Sa.prototype.p1a=function(){return la(this.f17_1,this.j17_1)},Sa.prototype.i19=function(t){return la(this.f17_1,t)},Sa.prototype.l19=function(){return this.k17_1},Sa.prototype.p18=function(){return this.j17_1=0?sa(this.f17_1,this.l17_1):0},Sa.prototype.l1b=function(t,n){var e=t+1|0,r=xa(this.f17_1,t)+n|0;return r<(e0||this.n17_1>=this.o17_1)return fi().h12_1;var t=this.n17_1;return this.n17_1=t+1|0,this.h17_1[t]},Sa.prototype.d18=function(){var t=this.m17_1;this.m17_1=t+1|0},Sa.prototype.o19=function(){if(!(this.m17_1>0))throw rn(xt("Unbalanced begin/end empty"));var t=this.m17_1;this.m17_1=t-1|0},Sa.prototype.p17=function(){return this.e17_1.d1n(this)},Sa.prototype.b18=function(){if(this.m17_1<=0){if(va(this.f17_1,this.j17_1)!==this.l17_1)throw rn(xt("Invalid slot table detected"));this.l17_1=this.j17_1,this.k17_1=this.j17_1+la(this.f17_1,this.j17_1)|0;var t=this.j17_1;this.j17_1=t+1|0;var n=t;this.n17_1=xa(this.f17_1,n),this.o17_1=n>=(this.g17_1-1|0)?this.i17_1:ga(this.f17_1,n+1|0)}},Sa.prototype.c18=function(){if(this.m17_1<=0){if(!oa(this.f17_1,this.j17_1))throw rn(xt("Expected a node group"));this.b18()}},Sa.prototype.r17=function(){if(0!==this.m17_1)throw rn(xt("Cannot skip while in an empty region"));var t=oa(this.f17_1,this.j17_1)?1:sa(this.f17_1,this.j17_1);return this.j17_1=this.j17_1+la(this.f17_1,this.j17_1)|0,t},Sa.prototype.z17=function(){if(0!==this.m17_1)throw rn(xt("Cannot skip the enclosing group while in an empty region"));this.j17_1=this.k17_1},Sa.prototype.d19=function(t){if(0!==this.m17_1)throw rn(xt("Cannot reposition while in an empty region"));this.j17_1=t;var n=t=t&&e<=n))throw rn(xt("Index "+t+" is not a parent of "+e));this.l17_1=t,this.k17_1=n,this.n17_1=0,this.o17_1=0},Sa.prototype.n19=function(){if(0===this.m17_1){if(this.j17_1!==this.k17_1)throw rn(xt("endGroup() not called at the end of a group"));var t=va(this.f17_1,this.l17_1);this.l17_1=t,this.k17_1=t<0?this.g17_1:t+la(this.f17_1,t)|0}},Sa.prototype.q18=function(){var t=jt();if(this.m17_1>0)return t;for(var n=0,e=this.j17_1;e=this.x16_1.length&&(this.x16_1=Zn(this.x16_1,$t(this.x16_1.length,2)));var n=this.x16_1,e=this.y16_1;this.y16_1=e+1|0,n[e]=t},Fa.prototype.f19=function(){var t=this.x16_1,n=this;return n.y16_1=n.y16_1-1|0,t[n.y16_1]},Fa.prototype.q1a=function(t){return this.y16_1>0?this.f1d():t},Fa.prototype.f1d=function(){return this.x16_1[this.y16_1-1|0]},Fa.prototype.z19=function(t){return this.x16_1[t]},Fa.prototype.h=function(){return 0===this.y16_1},Fa.prototype.s7=function(){this.y16_1=0},Fa.prototype.r1m=function(t){var n=0,e=this.y16_1;if(n0){if((e=function(t,n){for(var e=0,r=t.c1i_1-1|0,i=Dh(n);e<=r;){var o=(e+r|0)>>>1|0,s=t.d1i_1[o],a=Dh(s);if(ai))return s===n?o:Ka(t,o,n,i);r=o-1|0}}return 0|-(e+1|0)}(this,t))>=0)return this.e1i_1[e]=n,wt()}else e=-1;var r=0|-(e+1|0);if(this.c1i_1===this.d1i_1.length){var i=$t(this.d1i_1.length,2),o=Vn(Array(i),null),s=new Int32Array($t(this.d1i_1.length,2)),a=this.d1i_1,u=r+1|0,c=this.c1i_1;Hn(a,o,u,r,c);var l=this.e1i_1,h=r+1|0,p=this.c1i_1;Hn(l,s,h,r,p);var f,_=this.d1i_1;Hn(_,o,0,0,r),f=this.e1i_1,Hn(f,s,0,0,r),this.d1i_1=o,this.e1i_1=s}else{var d=this.d1i_1,v=this.d1i_1,y=r+1|0,m=this.c1i_1;Hn(d,v,y,r,m);var g=this.e1i_1,$=this.e1i_1,b=r+1|0,w=this.c1i_1;Hn(g,$,b,r,w)}this.d1i_1[r]=t,this.e1i_1[r]=n;var x=this.c1i_1;this.c1i_1=x+1|0},Ya.prototype.h1o=function(t){var n=0,e=0,r=this.c1i_1;if(e0},Qa.prototype.n1h=function(t){return Xa(this,t)>=0},Qa.prototype.m1h=function(t){var n,e=Xa(this,t);if(e>=0){var r=this.z1a_1[e];n=null==r||Ct(r)?r:zt()}else n=null;return n},Qa.prototype.d1g=function(t,n){var e=Xa(this,t);if(e>=0)this.z1a_1[e]=n;else{var r,i=0|-(e+1|0),o=this.a1b_1===this.y1a_1.length;if(o){var s=$t(this.a1b_1,2);r=Vn(Array(s),null)}else r=this.y1a_1;var a,u=r,c=this.y1a_1,l=i+1|0,h=this.a1b_1;if(Hn(c,u,l,i,h),o){var p=this.y1a_1;Hn(p,u,0,0,i)}if(u[i]=t,this.y1a_1=u,o){var f=$t(this.a1b_1,2);a=Vn(Array(f),null)}else a=this.z1a_1;var _=a,d=this.z1a_1,v=i+1|0,y=this.a1b_1;if(Hn(d,_,v,i,y),o){var m=this.z1a_1;Hn(m,_,0,0,i)}_[i]=n,this.z1a_1=_;var g=this.a1b_1;this.a1b_1=g+1|0}},Qa.prototype.f1i=function(t){var n=Xa(this,t);if(n>=0){var e=this.a1b_1,r=this.y1a_1,i=this.z1a_1;Hn(r,r,n,n+1|0,e),Hn(i,i,n,n+1|0,e);var o=e-1|0;return r[o]=null,i[o]=null,this.a1b_1=o,!0}return!1},Qa.prototype.k1o=function(t){var n=0,e=this.a1b_1;if(n=0},ru.prototype.i=function(t){return!!Ct(t)&&this.l3(Ct(t)?t:zt())},ru.prototype.g=function(t){var n=this.v1e_1[t];return Ct(n)?n:zt()},ru.prototype.w1e=function(t){var n;if(this.u1e_1>0){if((n=tu(this,t))>=0)return!1}else n=-1;var e=0|-(n+1|0);if(this.u1e_1===this.v1e_1.length){var r=$t(this.v1e_1.length,2),i=Vn(Array(r),null),o=this.v1e_1,s=e+1|0,a=this.u1e_1;Hn(o,i,s,e,a);var u=this.v1e_1;Hn(u,i,0,0,e),this.v1e_1=i}else{var c=this.v1e_1,l=this.v1e_1,h=e+1|0,p=this.u1e_1;Hn(c,l,h,e,p)}this.v1e_1[e]=t;var f=this.u1e_1;return this.u1e_1=f+1|0,!0},ru.prototype.h=function(){return 0===this.u1e_1},ru.prototype.o1a=function(){return this.u1e_1>0},ru.prototype.n1o=function(t){var n=tu(this,t);if(n>=0){if(n<(this.u1e_1-1|0)){var e=this.v1e_1,r=this.v1e_1,i=n+1|0,o=this.u1e_1;Hn(e,r,n,i,o)}var s=this.u1e_1;return this.u1e_1=s-1|0,this.v1e_1[this.u1e_1]=null,!0}return!1},ru.prototype.o1o=function(t){var n=0,e=0,r=this.u1e_1;if(e0){if((e=ou(t,n))>=0)return iu(t,e)}else e=-1;var r=0|-(e+1|0);if(t.p1f_10&&(m=t.m1f_1,Hn(m,g,0,0,r)),t.m1f_1=g;var j=t,z=j.p1f_1;return j.p1f_1=z+1|0,y}(this,t).w1e(n)},au.prototype.q1f=function(t){return ou(this,t)>=0},au.prototype.r1o=function(t,n){var e=ou(this,t);if(e>=0)for(var r=iu(this,e).c();r.d();)n(r.e())},au.prototype.i1g=function(t,n){var e=ou(this,t);if(e>=0){var r=this.m1f_1[e],i=this.o1f_1[r];if(null==i)return!1;var o=i,s=o.n1o(n);if(0===o.u1e_1){var a=e+1|0,u=this.p1f_1;if(a0){if(n!==i){var v=this.m1f_1[n];this.m1f_1[n]=o,this.m1f_1[i]=v}n=n+1|0}}while(e0){if(n!==i){var a=this.m1f_1[n];this.m1f_1[n]=o,this.m1f_1[i]=a}n=n+1|0}}while(e0},$u.prototype.p=function(){return this.z1o_1},$u.prototype.b1p=function(){if(!this.d())throw ie()},$u.prototype.c1p=function(){if(!this.o())throw ie()},$u.$metadata$=kt("AbstractListIterator",[oe]),bu.prototype.j1=function(t){var n=this.u1o();return n.j1(t),n.s1o()},bu.prototype.jf=function(t){var n=this.j(t);return-1!==n?this.n4(n):this},bu.prototype.i=function(t){return!(-1===this.j(t))},bu.prototype.n1=function(t){var n;t:if(Ft(t,wn)&&t.h())n=!0;else{for(var e=t.c();e.d();){var r=e.e();if(!this.i(r)){n=!1;break t}}n=!0}return n},bu.prototype.c=function(){return this.d1p()},bu.prototype.d1p=function(){return this.n(0)},bu.$metadata$=kt("AbstractPersistentList",[pu],void 0,void 0,void 0,se.prototype),wu.prototype.e=function(){if(!this.d())throw ie();var t=this.z1o_1;return this.z1o_1=t+1|0,this.g1p_1[t]},wu.prototype.q=function(){if(!this.o())throw ie();var t=this;return t.z1o_1=t.z1o_1-1|0,this.g1p_1[t.z1o_1]},wu.$metadata$=kt("BufferIterator",void 0,void 0,void 0,void 0,$u.prototype),Mu.prototype.f=function(){return this.j1p_1},Mu.prototype.a=function(t){var n=this.j1p_1-xu(this)|0;if(n=e)return zu(this,this.h1p_1,t-e|0,n);var r=new fc(null);return zu(this,Cu(this,this.h1p_1,this.k1p_1,t,n,r),0,r.l1p_1)},Mu.prototype.n4=function(t){al().d2(t,this.j1p_1);var n=xu(this);return t>=n?Su(this,this.h1p_1,n,this.k1p_1,t-n|0):Su(this,Ou(this,this.h1p_1,this.k1p_1,t,new fc(this.i1p_1[0])),n,this.k1p_1,0)},Mu.prototype.u1o=function(){return new Ku(this,this.h1p_1,this.i1p_1,this.k1p_1)},Mu.prototype.n=function(t){al().c2(t,this.j1p_1);var n=this.i1p_1;return new Yu(this.h1p_1,ln(n)?n:zt(),t,this.j1p_1,1+(this.k1p_1/hc()|0)|0)},Mu.prototype.g=function(t){al().d2(t,this.j1p_1);var n=function(t,n){if(xu(t)<=n)return t.i1p_1;for(var e=t.h1p_1,r=t.k1p_1;r>0;){var i=e[pc(n,r)];e=null!=i&&ln(i)?i:zt(),r=r-hc()|0}return e}(this,t)[t&cc()];return null==n||Ct(n)?n:zt()},Mu.prototype.p4=function(t,n){if(al().d2(t,this.j1p_1),xu(this)<=t){var e=Qn(this.i1p_1,ac());return e[t&cc()]=n,new Mu(this.h1p_1,e,this.j1p_1,this.k1p_1)}return new Mu(Pu(this,this.h1p_1,this.k1p_1,t,n),this.i1p_1,this.j1p_1,this.k1p_1)},Mu.$metadata$=kt("PersistentVector",[pu],void 0,void 0,void 0,bu.prototype),Ku.prototype.f=function(){return this.u1p_1},Ku.prototype.v1p=function(){return this.pf_1},Ku.prototype.s1o=function(){var t;return this.s1p_1===this.o1p_1&&this.t1p_1===this.p1p_1?t=this.n1p_1:(this.r1p_1=new ul,this.o1p_1=this.s1p_1,this.p1p_1=this.t1p_1,t=null==this.s1p_1?0===this.t1p_1.length?sc():new nc(Qn(this.t1p_1,this.u1p_1)):new Mu(pn(this.s1p_1),this.t1p_1,this.u1p_1,this.q1p_1)),this.n1p_1=t,this.n1p_1},Ku.prototype.a=function(t){this.pf_1=this.pf_1+1|0;var n=Eu(this);if(n=t.f()){this.t1p_1=Nu(0,Iu(this,this.t1p_1),e,r);this.u1p_1=this.u1p_1+t.f()|0}else{var i=((t.f()+e|0)-1|0)/ac()|0,o=Vn(Array(i),null);o[0]=Nu(0,Iu(this,this.t1p_1),e,r);var s=1;if(s>hc()<1<=e)return Fu(this,this.s1p_1,t-e|0,n),wt();var r=new fc(null),i=Hu(this,pn(this.s1p_1),this.q1p_1,t,n,r),o=r.l1p_1;Fu(this,i,0,null==o||Ct(o)?o:zt())},Ku.prototype.g=function(t){al().d2(t,this.u1p_1);var n=function(t,n){if(Au(t)<=n)return t.t1p_1;for(var e=pn(t.s1p_1),r=t.q1p_1;r>0;){var i=e[pc(n,r)];e=null!=i&&ln(i)?i:zt(),r=r-hc()|0}return e}(this,t)[t&cc()];return null==n||Ct(n)?n:zt()},Ku.prototype.n4=function(t){al().d2(t,this.u1p_1);this.pf_1=this.pf_1+1|0;var n=Au(this);if(t>=n){var e=Uu(this,this.s1p_1,n,this.q1p_1,t-n|0);return null==e||Ct(e)?e:zt()}var r=new fc(this.t1p_1[0]);Uu(this,Vu(this,pn(this.s1p_1),this.q1p_1,t,r),n,this.q1p_1,0);var i=r.l1p_1;return null==i||Ct(i)?i:zt()},Ku.prototype.p4=function(t,n){if(al().d2(t,this.u1p_1),Au(this)<=t){var e=Iu(this,this.t1p_1);if(e!==this.t1p_1){var r=this.pf_1;this.pf_1=r+1|0}var i=t&cc(),o=e[i];return e[i]=n,this.t1p_1=e,null==o||Ct(o)?o:zt()}var s=new fc(null);this.s1p_1=Ju(this,pn(this.s1p_1),this.q1p_1,t,n,s);var a=s.l1p_1;return null==a||Ct(a)?a:zt()},Ku.prototype.c=function(){return this.d1p()},Ku.prototype.d1p=function(){return this.n(0)},Ku.prototype.n=function(t){return al().c2(t,this.u1p_1),new Zu(this,t)},Ku.$metadata$=kt("PersistentVectorBuilder",[hu],void 0,void 0,void 0,ce.prototype),Yu.prototype.e=function(){if(this.b1p(),this.z1p_1.d()){var t=this.z1o_1;return this.z1o_1=t+1|0,this.z1p_1.e()}var n=this.z1o_1;return this.z1o_1=n+1|0,this.y1p_1[n-this.z1p_1.a1p_1|0]},Yu.prototype.q=function(){if(this.c1p(),this.z1o_1>this.z1p_1.a1p_1){var t=this;return t.z1o_1=t.z1o_1-1|0,this.y1p_1[t.z1o_1-this.z1p_1.a1p_1|0]}var n=this.z1o_1;return this.z1o_1=n-1|0,this.z1p_1.q()},Yu.$metadata$=kt("PersistentVectorIterator",void 0,void 0,void 0,void 0,$u.prototype),Zu.prototype.q=function(){Xu(this),this.c1p(),this.k1q_1=this.z1o_1-1|0;var t=this.j1q_1;if(null==t){var n=this.h1q_1.t1p_1,e=this;e.z1o_1=e.z1o_1-1|0;var r=n[e.z1o_1];return null==r||Ct(r)?r:zt()}var i=t;if(this.z1o_1>i.a1p_1){var o=this.h1q_1.t1p_1,s=this;s.z1o_1=s.z1o_1-1|0;var a=o[s.z1o_1-i.a1p_1|0];return null==a||Ct(a)?a:zt()}var u=this.z1o_1;return this.z1o_1=u-1|0,i.q()},Zu.prototype.e=function(){Xu(this),this.b1p(),this.k1q_1=this.z1o_1;var t=this.j1q_1;if(null==t){var n=this.h1q_1.t1p_1,e=this.z1o_1;this.z1o_1=e+1|0;var r=n[e];return null==r||Ct(r)?r:zt()}var i=t;if(i.d()){var o=this.z1o_1;return this.z1o_1=o+1|0,i.e()}var s=this.h1q_1.t1p_1,a=this.z1o_1;this.z1o_1=a+1|0;var u=s[a-i.a1p_1|0];return null==u||Ct(u)?u:zt()},Zu.prototype.o4=function(){var t;Xu(this),function(t){if(-1===t.k1q_1)throw le()}(this),this.h1q_1.n4(this.k1q_1),this.k1q_10&&r<=i||o<0&&i<=r)do{var s=r;if(r=r+o|0,Ht(n,t.w1q_1[s]))return!0}while(s!==i);return!1}(i,n):i.x1q(t,n,e+5|0)}return!1},Wc.prototype.y1q=function(t,n,e){var r=1<0&&r<=i||o<0&&i<=r)do{var s=r;if(r=r+o|0,Ht(n,Tc(t,s)))return Bc(t,s)}while(s!==i);return null}(o,n):o.y1q(t,n,e+5|0)}return null},Wc.prototype.z1q=function(t,n,e,r){var i=1<0&&i<=o||s<0&&o<=i)do{var a=i;if(i=i+s|0,Ht(n,Tc(t,a))){if(e===Bc(t,a))return null;var u=t.w1q_1.slice();return u[a+1|0]=e,Ic(Mc(0,0,u))}}while(a!==o);return Ec(Mc(0,0,Kc(t.w1q_1,0,n,e)))}(u,n,e);if(null==c)return null;s=c}else{var l=u.z1q(t,n,e,r+5|0);if(null==l)return null;s=l}var h,p=s,f=p;return h=Lc(this,a,i,p.a1r_1),f.a1r_1=h,p}return Ec(function(t,n,e,r){var i=t.i1s(n),o=Kc(t.w1q_1,i,e,r);return Mc(t.t1q_1|n,t.u1q_1,o)}(this,i,n,e))},Wc.prototype.c1r=function(t,n,e){var r=1<0&&r<=i||o<0&&i<=r)do{var s=r;if(r=r+o|0,Ht(n,Tc(t,s)))return Hc(t,s)}while(s!==i);return t}(a,n):a.c1r(t,n,e+5|0),function(t,n,e,r,i){return null==e?Nc(t,r,i):n!==e?Lc(t,r,i,e):t}(this,a,o,s,r)}return this},Wc.$metadata$=kt("TrieNode"),Xc.prototype.y1o=function(){return this.x1o_1},Xc.$metadata$=en("Companion"),Qc.prototype.f=function(){return this.o1s_1.s1q_1},Qc.prototype.i=function(t){return this.o1s_1.u2(t)},Qc.prototype.a=function(t){if(this.o1s_1.u2(t))return this;if(this.h())return new Qc(t,t,this.o1s_1.v3(t,tl()));var n=this.n1s_1,e=null==n||Ct(n)?n:zt(),r=pn(this.o1s_1.a3(e)),i=this.o1s_1.v3(e,r.r1s(t)).v3(t,nl(e));return new Qc(this.m1s_1,t,i)},Qc.prototype.jf=function(t){var n=this.o1s_1.a3(t);if(null==n)return this;var e=n,r=this.o1s_1.og(t);if(e.s1s()){var i,o=r,s=e.p1s_1;i=(Ft(o,re)?o:zt()).a3(s);var a=pn(i),u=r,c=e.p1s_1;r=u.v3(null==c||Ct(c)?c:zt(),a.r1s(e.q1s_1))}if(e.u1s()){var l,h=r,p=e.q1s_1;l=(Ft(h,re)?h:zt()).a3(p);var f=pn(l),_=r,d=e.q1s_1;r=_.v3(null==d||Ct(d)?d:zt(),f.t1s(e.p1s_1))}return new Qc(e.s1s()?this.m1s_1:e.q1s_1,e.u1s()?this.n1s_1:e.p1s_1,r)},Qc.prototype.c=function(){return new rl(this.m1s_1,this.o1s_1)},Qc.$metadata$=kt("PersistentOrderedSet",[vu],void 0,void 0,void 0,ve.prototype),el.prototype.r1s=function(t){return new el(this.p1s_1,t)},el.prototype.t1s=function(t){return new el(t,this.q1s_1)},el.prototype.u1s=function(){return!(this.q1s_1===ol())},el.prototype.s1s=function(){return!(this.p1s_1===ol())},el.$metadata$=kt("Links"),rl.prototype.d=function(){return this.x1s_1=n)throw we("index: "+t+", size: "+n)},sl.prototype.c2=function(t,n){if(t<0||t>n)throw we("index: "+t+", size: "+n)},sl.$metadata$=en("ListImplementation"),ul.$metadata$=kt("MutabilityOwnership"),Sl.$metadata$=bt("StateObject"),ql.prototype.js=function(){return this.e1t_1()},ql.$metadata$=kt("sam$androidx_compose_runtime_snapshots_ObserverHandle$0",[El]),Ol.prototype.js=function(){return this.f1t_1()},Ol.$metadata$=kt("sam$androidx_compose_runtime_snapshots_ObserverHandle$0",[El]),Pl.prototype.z10=function(){return Hl()},Pl.prototype.e1k=function(t,n){var e=Hl(),r=e instanceof Il?e:null,i=null==r?null:r.g1t(t,n);if(null==i)throw St("Cannot create a mutable snapshot of an read-only snapshot");return i},Pl.prototype.f1m=function(t){return Ul(vl()),ml(),kl().a(t),new ql((n=t,function(){return ml(),kl().jf(n),wt(),wt()}));var n},Pl.prototype.h1t=function(t){return ml(),jl().a(t),Vl(),new Ol((n=t,function(){return ml(),jl().jf(n),Vl(),wt()}));var n},Pl.prototype.i1m=function(){return Hl().i1m()},Pl.prototype.d1j=function(){ml();var t=zl().ku().i1t();!0===(null==t?null:!t.h())&&Vl()},Pl.$metadata$=en("Companion"),Al.prototype.k1t=function(t){this.s1a_1=t},Al.prototype.j1t=function(){return this.s1a_1},Al.prototype.l1t=function(t){this.t1a_1=t},Al.prototype.x1a=function(){return this.t1a_1},Al.prototype.js=function(){this.u1a_1=!0,ml(),this.n1t(),wt()},Al.prototype.o1t=function(t){var n=this.f1k();try{return t()}finally{this.g1k(n)}},Al.prototype.f1k=function(){var t=yl().ku();return yl().q1h(this),t},Al.prototype.g1k=function(t){yl().q1h(t)},Al.prototype.p1t=function(){return this.u1a_1},Al.prototype.q1t=function(){return this.v1a_1>=0},Al.prototype.u1t=function(){ml(),this.v1t(),this.w1t(),wt()},Al.prototype.v1t=function(){gl($l().b1u(this.x1a()))},Al.prototype.w1t=function(){this.n1t()},Al.prototype.c1u=function(){if(this.u1a_1)throw rn(xt("Cannot use a disposed snapshot"))},Al.prototype.n1t=function(){this.v1a_1>=0&&(Fl(this.v1a_1),this.v1a_1=-1)},Al.prototype.d1u=function(){var t=this.v1a_1;return this.v1a_1=-1,t},Al.$metadata$=kt("Snapshot"),El.$metadata$=bt("ObserverHandle"),Il.prototype.r1t=function(){return this.m1k_1},Il.prototype.s1t=function(){return this.n1k_1},Il.prototype.g1t=function(t,n){this.c1u(),this.h1u(),this.i1u(this.x1a()),ml();var e=wl();bl(e+1|0);var r=e;gl($l().j1u(r));var i=this.j1t();this.k1t(i.j1u(r));var o=new Jl(r,Kl(i,this.x1a()+1|0,r),function(t,n,e,r,i){return 0!=(4&r)&&(e=!0),Yl(t,n,e)}(t,this.r1t(),!1,4),Gl(n,this.s1t()),this);if(!this.s1k_1&&!this.u1a_1){var s=this.x1a(),a=(ml(),wl());bl(a+1|0),this.l1t(a),gl($l().j1u(this.x1a())),wt(),this.k1t(Kl(this.j1t(),s+1|0,this.x1a()))}return o},Il.prototype.u1k=function(){var t,n=this.i1t(),e=null!=n?Xl(zl().ku(),this,$l().b1u(zl().ku().x1a())):null;if(ml(),Zl(this),null==n||0===n.f()){this.v1t();var r=zl().ku();Ql(r,vl());var i=r.i1t();t=null!=i&&!i.h()?tn(Gt(kl()),i):tn(Yt(),null)}else{var o=zl().ku(),s=this.k1u(wl(),e,$l().b1u(o.x1a()));if(!Ht(s,Tl()))return s;this.v1t(),Ql(o,vl());var a=o.i1t();this.f1u(null),o.f1u(null),t=tn(Gt(kl()),a)}var u=t,c=u.l4(),l=u.m4();if(this.s1k_1=!0,null!=l&&!l.h()){var h=0,p=c.f()-1|0;if(h<=p)do{var f=h;h=h+1|0,c.g(f)(l,this)}while(h<=p)}if(null!=n&&!n.h()){var _=0,d=c.f()-1|0;if(_<=d)do{var v=_;_=_+1|0,c.g(v)(n,this)}while(_<=d)}return ml(),this.w1t(),wt(),Tl()},Il.prototype.m1t=function(){return!1},Il.prototype.js=function(){this.u1a_1||(Al.prototype.js.call(this),this.l1u(this))},Il.prototype.m1u=function(t){var n=this.r1k_1;this.r1k_1=n+1|0},Il.prototype.l1u=function(t){if(!(this.r1k_1>0))throw rn(xt("Failed requirement."));var n=this;n.r1k_1=n.r1k_1-1|0,0===n.r1k_1&&(this.s1k_1||function(t){var n=t.i1t();if(null!=n){t.e1u(),t.f1u(null);for(var e=t.x1a(),r=n.c();r.d();)for(var i=r.e().d1o();null!=i;)(i.v1n_1===e||Ce(t.p1k_1,i.v1n_1))&&(i.v1n_1=0),i=i.w1n_1}t.u1t()}(this))},Il.prototype.i1m=function(){if(this.s1k_1||this.u1a_1)return wt();this.n1u()},Il.prototype.v1t=function(){gl($l().b1u(this.x1a()).o1u(this.p1k_1))},Il.prototype.w1t=function(){this.p1u(),Al.prototype.w1t.call(this)},Il.prototype.e1u=function(){if(this.s1k_1)throw St(xt("Unsupported operation on a snapshot that has been applied"))},Il.prototype.h1u=function(){if(this.s1k_1&&!(this.v1a_1>=0))throw St(xt("Unsupported operation on a disposed or applied snapshot"))},Il.prototype.k1u=function(t,n,e){for(var r=null,i=this.j1t().j1u(this.x1a()).q1u(this.p1k_1),o=pn(this.i1t()),s=null,a=o.c();a.d();){var u=a.e(),c=u.d1o(),l=th(c,t,e);if(null!=l){var h=l,p=th(c,this.x1a(),i);if(null!=p){var f=p;if(!Ht(h,f)){var _,d=th(c,this.x1a(),this.j1t());null==d?nh():_=d;var v=_,y=null==n?null:n.a3(h),m=null==y?u.f1o(f,h,v):y,g=m;if(null==g)return new Bl(this);if(Ht(g,v));else if(Ht(g,h)){var $,b,w=r;null==w?(r=b=jt(),$=b):$=w,$.a(tn(u,h.u1n()));var x,k,j=s;null==j?(s=k=jt(),x=k):x=j,x.a(u)}else{var z,C,S=r;null==S?(r=C=jt(),z=C):z=S,z.a(Ht(m,f)?tn(u,f.u1n()):tn(u,m))}}}}}var q=r;if(null==q);else{this.n1u();var O=0,P=q.f()-1|0;if(O<=P){do{var M=O;O=O+1|0;var A=q.g(M),E=A.l4(),I=A.m4();I.v1n_1=this.x1a(),ml(),I.w1n_1=E.d1o(),E.e1o(I),wt()}while(O<=P);wt()}}var D=s;return null==D||o.lf(D),Tl()},Il.prototype.r1u=function(t){this.i1u(this.x1a());var n=t();if(!this.s1k_1&&!this.u1a_1){var e=this.x1a(),r=(ml(),wl());bl(r+1|0),this.l1t(r),gl($l().j1u(this.x1a())),wt(),this.k1t(Kl(this.j1t(),e+1|0,this.x1a()))}return n},Il.prototype.n1u=function(){this.i1u(this.x1a());var t=wt();if(!this.s1k_1&&!this.u1a_1){var n=this.x1a(),e=(ml(),wl());bl(e+1|0),this.l1t(e),gl($l().j1u(this.x1a())),wt(),this.k1t(Kl(this.j1t(),n+1|0,this.x1a()))}return t},Il.prototype.i1u=function(t){ml(),this.p1k_1=this.p1k_1.j1u(t),wt()},Il.prototype.s1u=function(t){if(t>=0){var n,e,r=this.q1k_1;e=new Int32Array([t]),n=Se([r,e]),this.q1k_1=n}},Il.prototype.t1u=function(t){if(0===t.length)return wt();var n=this.q1k_1;if(0===n.length)this.q1k_1=t;else{var e;e=Se([n,t]),this.q1k_1=e}},Il.prototype.p1u=function(){var t=0,n=this.q1k_1.length-1|0;if(t<=n)do{var e=t;t=t+1|0,Fl(this.q1k_1[e])}while(t<=n)},Il.prototype.u1u=function(t){ml(),this.p1k_1=this.p1k_1.q1u(t),wt()},Il.prototype.t1t=function(t){var n,e=this.i1t();if(null==e){var r=fn();this.f1u(r),n=r}else n=e;n.a(t)},Il.prototype.f1u=function(t){this.o1k_1=t},Il.prototype.i1t=function(){return this.o1k_1},Il.prototype.v1u=function(){return this.s1k_1},Il.$metadata$=kt("MutableSnapshot",void 0,void 0,void 0,void 0,Al.prototype),Dl.$metadata$=en("Success",void 0,void 0,void 0,void 0,Ll.prototype),Bl.$metadata$=kt("Failure",void 0,void 0,void 0,void 0,Ll.prototype),Ll.$metadata$=kt("SnapshotApplyResult"),Nl.prototype.g1t=function(t,n){return eh((e=t,r=n,function(t){ml();var n=wl();return bl(n+1|0),new Il(n,t,e,r)}));var e,r},Nl.prototype.i1m=function(){Vl()},Nl.prototype.p1v=function(t){qh()},Nl.prototype.l1u=function(t){return this.p1v(t)},Nl.prototype.q1v=function(t){qh()},Nl.prototype.m1u=function(t){return this.q1v(t)},Nl.prototype.u1k=function(){throw St("Cannot apply the global snapshot directly. Call Snapshot.advanceGlobalSnapshot")},Nl.prototype.js=function(){ml(),this.n1t(),wt()},Nl.$metadata$=kt("GlobalSnapshot",void 0,void 0,void 0,void 0,Il.prototype),Rl.prototype.y1n=function(t){this.v1n_1=t},Rl.prototype.z1n=function(t){this.w1n_1=t},Rl.$metadata$=kt("StateRecord"),Jl.prototype.t1m=function(){return this.m1w_1},Jl.prototype.js=function(){this.u1a_1||(Il.prototype.js.call(this),Wl(this))},Jl.prototype.u1k=function(){if(this.m1w_1.s1k_1||this.m1w_1.u1a_1)return new Bl(this);var t=this.i1t(),n=this.x1a(),e=null!=t?Xl(this.m1w_1,this,this.m1w_1.j1t()):null;if(ml(),Zl(this),null==t||0===t.f())this.u1t();else{var r=this.k1u(this.m1w_1.x1a(),e,this.m1w_1.j1t());if(!Ht(r,Tl()))return r;var i,o=this.m1w_1.i1t();if(null==o){var s=fn();this.m1w_1.f1u(s),i=s}else i=o;i.j1(t)}return this.m1w_1.x1a()0?this.t1v_1[0]:t},_h.prototype.x1v=function(t){!function(t,n){var e=t.t1v_1.length;if(n<=e)return wt();var r=$t(e,2),i=new Int32Array(r),o=new Int32Array(r),s=t.t1v_1,a=s.length;Hn(s,i,0,0,a);var u=t.u1v_1,c=u.length;Hn(u,o,0,0,c),t.t1v_1=i,t.u1v_1=o}(this,this.s1v_1+1|0);var n=this.s1v_1;this.s1v_1=n+1|0;var e=n,r=function(t){var n=t.v1v_1.length;if(t.w1v_1>=n){for(var e=0,r=$t(n,2),i=new Int32Array(r);e>1,i=n;i=0?(Me(),n=r<64):n=!1,n)return!new Bn(1,0).jb(r).wc(this.y1t_1).equals(new Bn(0,0));if(Me(),r>=64?(Me(),e=r<$t(64,2)):e=!1,e){var i=new Bn(1,0);return Me(),!i.jb(r-64|0).wc(this.x1t_1).equals(new Bn(0,0))}if(r>0)return!1;var o,s=this.a1u_1;return null!=(o=null==s?null:gh(s,t)>=0)&&o},mh.prototype.j1u=function(t){var n,e=t-this.z1t_1|0;if(e>=0?(Me(),n=e<64):n=!1,n){var r=new Bn(1,0).jb(e);if(this.y1t_1.wc(r).equals(new Bn(0,0)))return new mh(this.x1t_1,this.y1t_1.en(r),this.z1t_1,this.a1u_1)}else{var i;if(Me(),e>=64?(Me(),i=e<$t(64,2)):i=!1,i){var o=new Bn(1,0);Me();var s=o.jb(e-64|0);if(this.x1t_1.wc(s).equals(new Bn(0,0)))return new mh(this.x1t_1.en(s),this.y1t_1,this.z1t_1,this.a1u_1)}else if(Me(),e>=$t(64,2)){if(!this.g(t)){var a=this.x1t_1,u=this.y1t_1,c=this.z1t_1,l=null,h=t+1|0;Me();var p=h/64|0;Me();var f=$t(p,64);t:for(;c=0?(Me(),n=e<64):n=!1,n){var r=new Bn(1,0).jb(e);if(!this.y1t_1.wc(r).equals(new Bn(0,0)))return new mh(this.x1t_1,this.y1t_1.wc(r.dn()),this.z1t_1,this.a1u_1)}else{var i;if(Me(),e>=64?(Me(),i=e<$t(64,2)):i=!1,i){var o=new Bn(1,0);Me();var s=o.jb(e-64|0);if(!this.x1t_1.wc(s).equals(new Bn(0,0)))return new mh(this.x1t_1.wc(s.dn()),this.y1t_1,this.z1t_1,this.a1u_1)}else if(e<0){var a=this.a1u_1;if(null!=a){var u=gh(a,t);if(u>=0){var c=a.length-1|0;if(0===c)return new mh(this.x1t_1,this.y1t_1,this.z1t_1,null);var l=new Int32Array(c);return u>0&&Hn(a,l,0,0,u),u=0},jh.prototype.p=function(){return this.z1x_1+1|0},jh.prototype.q=function(){kh(this),zh(this.z1x_1,this.y1x_1.f());var t=this.y1x_1.g(this.z1x_1),n=this.z1x_1;return this.z1x_1=n-1|0,t},jh.prototype.d=function(){return this.z1x_1<(this.y1x_1.f()-1|0)},jh.prototype.e=function(){kh(this);var t=this.z1x_1+1|0;zh(t,this.y1x_1.f());var n=this.y1x_1.g(t);return this.z1x_1=t,n},jh.prototype.o4=function(){kh(this),this.y1x_1.n4(this.z1x_1);var t=this.z1x_1;this.z1x_1=t-1|0,this.a1y_1=this.y1x_1.q1x()},jh.$metadata$=kt("StateListIterator",[he]),Oh.$metadata$=bt("CompositionData"),Ph.$metadata$=bt("CompositionGroup",[Oh]),Eh.prototype.ku=function(){return this.i1f_1},Eh.prototype.o1w=function(t){this.i1f_1=t},Eh.prototype.k1f=function(t){var n=this.i1f_1;return this.i1f_1=t,n},Eh.prototype.o1g=function(t,n){var e;return Ht(t,this.i1f_1)?(this.i1f_1=n,e=!0):e=!1,e},Eh.$metadata$=kt("AtomicReference"),Ih.prototype.ku=function(){return this.p1h_1},Ih.prototype.q1h=function(t){this.p1h_1=t},Ih.$metadata$=kt("SnapshotThreadLocal"),Bh.prototype.q7=function(){var t=this.l7_1;t:for(;;)try{switch(this.j7_1){case 0:if(this.k7_1=2,this.j7_1=1,this.l1y_1=this,this.m1y_1=Re(It(this.l1y_1)),window.requestAnimationFrame(Th(this.k1y_1,this.m1y_1)),(t=Tn(this.m1y_1.ni(),this))===zn())return t;continue t;case 1:return t;case 2:throw this.m7_1}}catch(t){if(2===this.k7_1)throw t;this.j7_1=this.k7_1,this.m7_1=t}},Bh.$metadata$=kt("$withFrameNanosCOROUTINE$4",void 0,void 0,void 0,void 0,kn.prototype),Lh.prototype.d12=function(t,n){var e=new Bh(this,t,n);return e.l7_1=wt(),e.m7_1=null,e.q7()},Lh.$metadata$=kt("MonotonicClockImpl",[Mo]),Rh.prototype.r1a=function(t){return null},Rh.prototype.d1b=function(t){},Rh.$metadata$=en("Trace"),Uh.$metadata$=bt("ComposableLambda"),Wh.prototype.d1t=function(t){if(!Ht(this.a1t_1,t)){var n=null==this.a1t_1;this.a1t_1=t,n||function(t){if(t.z1s_1){var n=t.b1t_1;null!=n&&(n.b1h(),t.b1t_1=null);var e=t.c1t_1;if(null!=e){var r=0,i=e.f();if(r=2)for(var e=Bt(Tt(n).g35_1.b3()),r=n.c(),i=0;r.d();){var o=i;i=i+1|0;var s=r.e();if(0!==o){var a=Bt(s.g35_1.b3());if(!kt(e,a))throw Lt(It("Invalid order. Expected '"+e+"', but found '"+a+"'"))}}}(0,r);var b=function(t,n){return St(n," vs ",null,null,0,null,dr,30,null)}(0,r);return e.a(new mr(b,"",r)),e}(t,n))}function ur(t,n){return t.v35_1.da(n)}function cr(t,n){var e=t.u35_1.ca(n," "),r=Nt("\\s{2,}").ca(e," ");return It(Et(At(r)?r:xt()))}function lr(t,n){var e=cr(t,n);return Rt("genericTitleParsing : '"+n+"' -> '"+e+"'"),e}function hr(t,n){return!function(t,n){return t.t35_1.da(n)}(t,n)}function pr(t,n,e){var r;if(!Ft(e,n,!1,2,null))throw Lt(It("Invalid "+n+".Expected to start with '"+n+"' but found '"+e+"'"));var i=Ht(e,n,"",!1,4,null);r=Nt("\\s+").ca(i," ");for(var o=Ot(r,[", "],!1,0,6,null),s=Mt(Pt(o,10)),a=o.c();a.d();){var u,c,l=a.e(),h=Ht(l,",","",!1,4,null);c=It(Et(At(h)?h:xt())),u=Ot(c,[" "],!1,0,6,null),s.a(u)}for(var p=s,f=Dt(),_=p.c();_.d();){var d=_.e(),v=d.g(0),y=d.g(1),m=Ut(y);f.v3(v,m)}return f}function fr(t,n){var e;t:{for(var r=n.s35_1.c();r.d();){var i=r.e();if(Ft(t,i,!1,2,null)){e=i;break t}}e=null}return e}function _r(t){return It(Et(At(t)?t:xt()))}function dr(t){return t.f35_1}function vr(){m=this;for(var t,n=er(),e=Mt(n.length),r=n,i=0,o=r.length;i "+_);for(var y=Dt(),m=on(["rgba(255, 99, 132, 1)","rgba(54, 162, 235, 1)","rgba(255, 206, 86, 1)","rgba(75, 192, 192, 1)","rgba(153, 102, 255, 1)","rgba(255, 159, 64, 1)"]),g=f.c();g.d();){var $,b=g.e(),w=Ot(b,[" "],!1,0,6,null).g(0),x=y.a3(w);if(null==x){m.h()&&m.a("rgba("+qr()+", "+qr()+", "+qr()+", 1)");var k=Tt(m);m.jf(k);var j=k;y.v3(w,j),$=j}else $=x;var z=$;r.v3(b,z)}var C=new Cr(r,y);return Rt("groupMap: "+C),C}function qr(){var t=sn(0,255);return un(t,an())}function Or(t,n){this.l36_1=t,this.m36_1=n,this.n36_1=8}function Pr(t,n,e,r,i,o){return function(t,n,e,r,i,o,s){return 0!=(8&i)&&(r="col-lg-6"),Mr.call(s,t,n,e,r),s}(t,n,e,r,i,0,Object.create(Mr.prototype))}function Mr(t,n,e,r){this.q36_1=t,this.r36_1=n,this.s36_1=e,this.t36_1=r,this.u36_1=8}function Ar(t,n,e){this.x35_1=t,this.y35_1=n,this.z35_1=e,this.a36_1=0}function Er(){b=this}function Ir(t,n,e){var r=n;return ln()&&cn(2098833845,e,-1,"components.ComposableSingletons$AutoFormUiKt.lambda-1. (AutoFormUi.kt:30)"),hn("⌨️ Input",r,6),ln()&&pn(),jt()}function Dr(t,n,e){var r=n;return ln()&&cn(-1047390949,e,-1,"components.ComposableSingletons$AutoFormUiKt.lambda-2. (AutoFormUi.kt:58)"),hn("Benchmark :",r,6),ln()&&pn(),jt()}function Tr(t,n,e){var r=n;return ln()&&cn(-1553178399,e,-1,"components.ComposableSingletons$AutoFormUiKt.lambda-3. (AutoFormUi.kt:89)"),hn("💾 SAVE",r,6),ln()&&pn(),jt()}function Br(){var t;w=this,this.e37_1=(t=fn(2098833845,!1,Ir),function(n,e,r){return t.n1y(n,e,r)}),this.f37_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(-1047390949,!1,Dr)),this.g37_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(-1553178399,!1,Tr))}function Lr(){return null==w&&new Br,w}function Nr(t,n,e,r,i,o,s,a,u,c){var l=u;l=l.n1d(1546286992),_n(l,"C(FormUi$composable)P(!1,7,6,2,4,5,3)");var h,p,f=c;ln()&&cn(1546286992,f,-1,"components.FormUi$composable (AutoFormUi.kt:14)"),dn(jt(),(h=new Rr(r,t,null),(p=function(t,n){return h.p1j(t,n)}).$arity=1,p),l,64),vn(null,Lr().e37_1,l,48,1);var _=yn(l,950905109,!0,function(t,n,e,r,i,o,s,a,u){return function(c,l,h){var p=l;ln()&&cn(950905109,h,-1,"components.FormUi$composable. (AutoFormUi.kt:34)");var f=yn(p,-1972588882,!0,function(t,n,e,r,i,o,s,a,u){return function(c,l,h){var p=l;ln()&&cn(-1972588882,h,-1,"components.FormUi$composable.. (AutoFormUi.kt:35)"),p.h1a(-1629932720,"inputForm"),Hi(t,n,e,r,i,p,64|14&o>>3|896&o>>9|7168&o>>9|57344&o>>9);var f=p;f.e12(547886695),_n(f,"C(remember$composable):Composables.kt#9igjgp");var _,d=f,v=d.f12();if(v===mn().h12_1){var y=Fr;d.g12(y),_=y}else _=v;var m=_,g=null==m||gn(m)?m:xt();f.i12();var $=g,b=yn(p,-1534844198,!0,function(t,n){return function(e,r,i){var o=r;ln()&&cn(-1534844198,i,-1,"components.FormUi$composable.... (AutoFormUi.kt:51)");var s=o;s.e12(547886695),_n(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,c=u.f12();if(c===mn().h12_1){var l=Hr;u.g12(l),a=l}else a=c;var h=a,p=null==h||gn(h)?h:xt();return s.i12(),zn("benchmark",p,Lr().f37_1,o,390,0),Cn(t.x35_1,function(t,n){return function(e){return e.x20("benchmark"),e.w20(["form-control"]),kn(e,"Benchmark data"),jn(e,20),e.k28(function(t,n){return function(e){return t(n.c37(e.f2b_1,!1,!1,6,null)),jt()}}(t,n)),jt()}}(n,t),o,0,0),ln()&&(pn(),jt()),jt()}}(s,a)),w=p;w.e12(-838505973),_n(w,"C(remember$composable)P(1):Composables.kt#9igjgp");var x,k,j=w,z=w.j12(b),C=j.f12();if(z||C===mn().h12_1){var S=(k=b,function(t,n,e){return k.n1y(t,n,e)});j.g12(S),x=S}else x=C;var q=x,O=null==q||gn(q)?q:xt();return w.i12(),$n($,O,p,48,0),Mn(function(t,n){return function(e){return e.w20(["btn","btn-dark","float-end"]),e.u20(Ur),Jt(t.x35_1)&&(e.e20("disabled","true"),jt()),e.a21(function(t,n){return function(e){return t(n),jt()}}(n,t)),Pn(e,On()),jt()}}(s,u),Lr().g37_1,p,48,0),p.k1a(),ln()&&(pn(),jt()),jt()}}(t,n,e,r,i,o,s,a,u)),_=p;_.e12(-838505973),_n(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.j12(f),g=y.f12();if(m||g===mn().h12_1){var $=(v=f,function(t,n,e){return v.n1y(t,n,e)});y.g12($),d=$}else d=g;var b=d,w=null==b||gn(b)?b:xt();return _.i12(),An(null,null,w,p,384,3),ln()&&(pn(),jt()),jt()}}(n,e,o,s,a,f,t,r,i)),d=l;d.e12(-838505973),_n(d,"C(remember$composable)P(1):Composables.kt#9igjgp");var v,y,m=d,g=d.j12(_),$=m.f12();if(g||$===mn().h12_1){var b=(y=_,function(t,n,e){return y.n1y(t,n,e)});m.g12(b),v=b}else v=$;var w=v,x=null==w||gn(w)?w:xt();d.i12(),$n(null,x,l,48,1),ln()&&pn();var k=l.o1d();null===k||k.j1e(function(t,n,e,r,i,o,s,a,u){return function(c,l){return function(t,n,e,r,i,o,s,a,u,c,l){Nr(t,n,e,r,i,o,s,a,c,1|u)}(t,n,e,r,i,o,s,a,u,c),jt()}}(t,n,e,r,i,o,s,a,c))}function Rr(t,n,e){this.r37_1=t,this.s37_1=n,bn.call(this,e)}function Fr(t){return t.w20(["form-group"]),jt()}function Hr(t){return t.w20(["form-label"]),jt()}function Ur(t){return qn(t,Sn(10)),jt()}function Vr(t,n,e){var r=n;return ln()&&cn(1529185564,e,-1,"components.ComposableSingletons$AutoGroupToggleKt.lambda-1. (AutoGroupToggle.kt:29)"),hn("Auto Group:",r,6),ln()&&pn(),jt()}function Wr(){var t;x=this,this.u37_1=(t=fn(1529185564,!1,Vr),function(n,e,r){return t.n1y(n,e,r)})}function Jr(t,n,e,r){var i=e;i=i.n1d(442093563),_n(i,"C(AutoGroup$composable)");var o,s,a,u=r;if(0==(14&r)&&(u|=i.j1d(t)?4:2),0==(112&r)&&(u|=i.j12(n)?32:16),18==(91&u)&&i.v1b())i.z17();else{ln()&&cn(442093563,u,-1,"components.AutoGroup$composable (AutoGroupToggle.kt:10)");var c=i;c.e12(547886695),_n(c,"C(remember$composable):Composables.kt#9igjgp");var l,h=c,p=h.f12();if(p===mn().h12_1){var f=Kr;h.g12(f),l=f}else l=p;var _=l,d=null==_||gn(_)?_:xt();c.i12();var v=d,y=yn(i,1468648411,!0,(s=t,a=n,function(t,n,e){var r=n;ln()&&cn(1468648411,e,-1,"components.AutoGroup$composable. (AutoGroupToggle.kt:21)");var i=r;i.e12(547886695),_n(i,"C(remember$composable):Composables.kt#9igjgp");var o,u=i,c=u.f12();if(c===mn().h12_1){var l=Gr;u.g12(l),o=l}else o=c;var h=o,p=null==h||gn(h)?h:xt();i.i12(),zn("colorMap",p,(null==x&&new Wr,x).u37_1,r,390,0),In(null,r,0,1);var f=r;f.e12(-1124426577),_n(f,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var _,d=f,v=!!(f.j12(s)|f.j12(a)),y=d.f12();if(v||y===mn().h12_1){var m=function(t,n){return function(e){return e.x20("colorMap"),e.w20(["btn",t?"btn-success":"btn-secondary"]),e.a21(function(t){return function(n){return t(),jt()}}(n)),Pn(e,On()),jt()}}(s,a);d.g12(m),_=m}else _=y;var g=_,$=null==g||gn(g)?g:xt();f.i12();var b=$,w=yn(r,-431302815,!0,function(t){return function(n,e,r){var i=e;return ln()&&cn(-431302815,r,-1,"components.AutoGroup$composable.. (AutoGroupToggle.kt:42)"),hn(t?"ON":"OFF",i,0),ln()&&(pn(),jt()),jt()}}(s)),k=r;k.e12(-838505973),_n(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,z,C=k,S=k.j12(w),q=C.f12();if(S||q===mn().h12_1){var O=(z=w,function(t,n,e){return z.n1y(t,n,e)});C.g12(O),j=O}else j=q;var P=j,M=null==P||gn(P)?P:xt();return k.i12(),Mn(b,M,r,48,0),ln()&&(pn(),jt()),jt()})),m=i;m.e12(-838505973),_n(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,$=m,b=m.j12(y),w=$.f12();if(b||w===mn().h12_1){var k=(o=y,function(t,n,e){return o.n1y(t,n,e)});$.g12(k),g=k}else g=w;var j=g,z=null==j||gn(j)?j:xt();m.i12(),$n(v,z,i,48,0),ln()&&pn()}var C=i.o1d();null===C||C.j1e(function(t,n,e){return function(r,i){return function(t,n,e,r,i){Jr(t,n,r,1|e)}(t,n,e,r),jt()}}(t,n,r))}function Kr(t){return t.w20(["form-group"]),t.u20(Yr),jt()}function Yr(t){return En(t,Sn(10)),jt()}function Gr(t){return t.w20(["form-label"]),jt()}function Xr(t,n,e,r,i){var o=r;o=o.n1d(-1178138425),_n(o,"C(ChartUi$composable)P(2,1)");var s=i;ln()&&cn(-1178138425,s,-1,"components.ChartUi$composable (ChartUi.kt:14)");var a,u=yn(o,-1469495048,!0,(a=e,function(t,n,e){var r=n;return ln()&&cn(-1469495048,e,-1,"components.ChartUi$composable. (ChartUi.kt:19)"),hn(a.q36_1+" "+a.r36_1,r,0),ln()&&(pn(),jt()),jt()})),c=o;c.e12(-838505973),_n(c,"C(remember$composable)P(1):Composables.kt#9igjgp");var l,h,p=c,f=c.j12(u),_=p.f12();if(f||_===mn().h12_1){var d=(h=u,function(t,n,e){return h.n1y(t,n,e)});p.g12(d),l=d}else l=_;var v=l,y=null==v||gn(v)?v:xt();c.i12(),vn(null,y,o,48,1);var m=o;m.e12(547886695),_n(m,"C(remember$composable):Composables.kt#9igjgp");var g,$=m,w=$.f12();if(w===mn().h12_1){var x=Zr;$.g12(x),g=x}else g=w;var k=g,j=null==k||gn(k)?k:xt();m.i12();var z=j,C=yn(o,1870993739,!0,function(t,n,e,r){return function(i,o,s){var a=o;return ln()&&cn(1870993739,s,-1,"components.ChartUi$composable. (ChartUi.kt:32)"),Wn(t,n,function(t,n,e,r){return function(i){for(var o=qt(),s=t.s36_1.u().c();s.d();){var a,u,c=s.e(),l=c.k2(),h=c.m2(),p={};p.label=l;var f,_=h.c3();if(u=Hn(_),p.data=u,n){var d=e.h36_1,v=p.label;f=(xn(d,Un)?d:xt()).a3(v)}else f=["rgba(255, 99, 132, 1)","rgba(54, 162, 235, 1)","rgba(255, 206, 86, 1)","rgba(75, 192, 192, 1)","rgba(153, 102, 255, 1)","rgba(255, 159, 64, 1)"];p.borderColor=f,p.borderWidth=3,a=p,o.a(a)}var y,m,g=r.u27(i),$={};null==b&&new Er,y="line",$.type=y;for(var w,x={},k=t.s36_1.c3(),j=qt(),z=k.c();z.d();){var C;C=z.e().b3(),rn(j,C)}var S,q,O=tn(j),P=Hn(O);Rt("labels: "+Vn(P)),w=P,x.labels=w,S=Hn(o),x.datasets=S,m=x,$.data=m;var M,A,E={},I={};return A={display:!0},E.title=A,M=I,E.plugins=M,q=E,$.options=q,new ti(new J(g,$))}}(t,n,r,i),a,8|112&e<<3),ln()&&(pn(),jt()),jt()}}(e,t,s,n)),S=o;S.e12(-838505973),_n(S,"C(remember$composable)P(1):Composables.kt#9igjgp");var q,O=S,P=S.j12(C),M=O.f12();if(P||M===mn().h12_1){var A=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(C);O.g12(A),q=A}else q=M;var E=q,I=null==E||gn(E)?E:xt();S.i12(),Dn(z,I,o,48,0),ln()&&pn();var D=o.o1d();null===D||D.j1e(function(t,n,e,r){return function(i,o){return function(t,n,e,r,i,o){Xr(t,n,e,i,1|r)}(t,n,e,r,i),jt()}}(t,n,e,i))}function Zr(t){return t.u20(Qr),jt()}function Qr(t){return Bn(t,Tn(100)),Ln(t,Tn(100)),Nn(t,Sn(700)),Rn(t,Sn(700)),jt()}function ti(t){this.w37_1=t}function ni(t,n,e){var r=n;return ln()&&cn(-646215327,e,-1,"components.ComposableSingletons$EditableTitleKt.lambda-1. (EditableTitle.kt:29)"),hn("Title :",r,6),ln()&&pn(),jt()}function ei(t,n,e){var r=n;ln()&&cn(1730974274,e,-1,"components.ComposableSingletons$EditableTitleKt.lambda-2. (EditableTitle.kt:23)");var i=r;i.e12(547886695),_n(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===mn().h12_1){var u=ri;s.g12(u),o=u}else o=a;var c=o,l=null==c||gn(c)?c:xt();i.i12(),zn("customTitle",l,ci().x37_1,r,390,0);var h=Jn(),p=r;p.e12(547886695),_n(p,"C(remember$composable):Composables.kt#9igjgp");var f,_=p,d=_.f12();if(d===mn().h12_1){var v=ii;_.g12(v),f=v}else f=d;var y=f,m=null==y||gn(y)?y:xt();return p.i12(),Kn(h,m,r,8),ln()&&pn(),jt()}function ri(t){return t.w20(["form-label"]),jt()}function ii(t){return t.x20("customTitle"),t.w20(["form-control"]),Yn(t,"Custom title goes here"),t.u20(oi),jt()}function oi(t){return Gn(t,Sn(24)),jt()}function si(t,n,e){var r=n;ln()&&cn(1174811809,e,-1,"components.ComposableSingletons$EditableTitleKt.lambda-3. (EditableTitle.kt:18)");var i=r;i.e12(547886695),_n(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===mn().h12_1){var u=ai;s.g12(u),o=u}else o=a;var c=o,l=null==c||gn(c)?c:xt();return i.i12(),$n(l,ci().y37_1,r,48,0),ln()&&pn(),jt()}function ai(t){return t.w20(["form-group"]),jt()}function ui(){var t;k=this,this.x37_1=(t=fn(-646215327,!1,ni),function(n,e,r){return t.n1y(n,e,r)}),this.y37_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(1730974274,!1,ei)),this.z37_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(1174811809,!1,si))}function ci(){return null==k&&new ui,k}function li(t,n){var e=t;if(e=e.n1d(1068528252),_n(e,"C(EditableTitle$composable)"),0===n&&e.v1b())e.z17();else{ln()&&cn(1068528252,n,-1,"components.EditableTitle$composable (EditableTitle.kt:13)");var r=e;r.e12(547886695),_n(r,"C(remember$composable):Composables.kt#9igjgp");var i,o=r,s=o.f12();if(s===mn().h12_1){var a=hi;o.g12(a),i=a}else i=s;var u=i,c=null==u||gn(u)?u:xt();r.i12(),$n(c,ci().z37_1,e,48,0),ln()&&pn()}var l,h=e.o1d();null===h||h.j1e((l=n,function(t,n){return function(t,n,e){li(n,1|t)}(l,t),jt()}))}function hi(t){return t.w20(["row"]),jt()}function pi(t,n,e){var r=n;r=r.n1d(-1873638994),_n(r,"C(ErrorUi$composable)");var i,o,s=e;if(0==(14&e)&&(s|=r.j12(t)?4:2),2==(11&s)&&r.v1b())r.z17();else{ln()&&cn(-1873638994,e,-1,"components.ErrorUi$composable (Error.kt:8)");var a=r;a.e12(547886695),_n(a,"C(remember$composable):Composables.kt#9igjgp");var u,c=a,l=c.f12();if(l===mn().h12_1){var h=fi;c.g12(h),u=h}else u=l;var p=u,f=null==p||gn(p)?p:xt();a.i12();var _=f,d=yn(r,1938269174,!0,(o=t,function(t,n,e){var r=n;ln()&&cn(1938269174,e,-1,"components.ErrorUi$composable. (Error.kt:11)");var i=r;i.e12(547886695),_n(i,"C(remember$composable):Composables.kt#9igjgp");var s,a=i,u=a.f12();if(u===mn().h12_1){var c=_i;a.g12(c),s=c}else s=u;var l=s,h=null==l||gn(l)?l:xt();i.i12();var p=h,f=yn(r,-1978518889,!0,function(t){return function(n,e,r){var i=e;ln()&&cn(-1978518889,r,-1,"components.ErrorUi$composable.. (Error.kt:14)");var o=i;o.e12(547886695),_n(o,"C(remember$composable):Composables.kt#9igjgp");var s,a=o,u=a.f12();if(u===mn().h12_1){var c=di;a.g12(c),s=c}else s=u;var l=s,h=null==l||gn(l)?l:xt();o.i12();var p=h,f=yn(i,153044343,!0,function(t){return function(n,e,r){var i=e;return ln()&&cn(153044343,r,-1,"components.ErrorUi$composable... (Error.kt:17)"),hn("❌ "+t,i,0),ln()&&(pn(),jt()),jt()}}(t)),_=i;_.e12(-838505973),_n(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.j12(f),g=y.f12();if(m||g===mn().h12_1){var $=(v=f,function(t,n,e){return v.n1y(t,n,e)});y.g12($),d=$}else d=g;var b=d,w=null==b||gn(b)?b:xt();return _.i12(),Xn(p,w,i,48,0),ln()&&(pn(),jt()),jt()}}(o)),_=r;_.e12(-838505973),_n(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.j12(f),g=y.f12();if(m||g===mn().h12_1){var $=(v=f,function(t,n,e){return v.n1y(t,n,e)});y.g12($),d=$}else d=g;var b=d,w=null==b||gn(b)?b:xt();return _.i12(),$n(p,w,r,48,0),ln()&&(pn(),jt()),jt()})),v=r;v.e12(-838505973),_n(v,"C(remember$composable)P(1):Composables.kt#9igjgp");var y,m=v,g=v.j12(d),$=m.f12();if(g||$===mn().h12_1){var b=(i=d,function(t,n,e){return i.n1y(t,n,e)});m.g12(b),y=b}else y=$;var w=y,x=null==w||gn(w)?w:xt();v.i12(),$n(_,x,r,48,0),ln()&&pn()}var k=r.o1d();null===k||k.j1e(function(t,n){return function(e,r){return function(t,n,e,r){pi(t,e,1|n)}(t,n,e),jt()}}(t,e))}function fi(t){return t.w20(["row"]),jt()}function _i(t){return t.w20(["col-lg-12"]),jt()}function di(t){return t.w20(["text-center"]),jt()}function vi(t,n,e){var r=n;return ln()&&cn(-1817257175,e,-1,"components.ComposableSingletons$HeadingKt.lambda-1. (Heading.kt:21)"),hn("📊 benchart",r,6),ln()&&pn(),jt()}function yi(t,n,e){var r=n;ln()&&cn(-1445218266,e,-1,"components.ComposableSingletons$HeadingKt.lambda-2. (Heading.kt:18)");var i=r;i.e12(547886695),_n(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===mn().h12_1){var u=mi;s.g12(u),o=u}else o=a;var c=o,l=null==c||gn(c)?c:xt();return i.i12(),Zn(l,xi().a38_1,r,48,0),ln()&&pn(),jt()}function mi(t){return t.w20(["text-center"]),jt()}function gi(t,n,e){var r=n;ln()&&cn(-1522093819,e,-1,"components.ComposableSingletons$HeadingKt.lambda-3. (Heading.kt:11)");var i=r;i.e12(547886695),_n(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===mn().h12_1){var u=$i;s.g12(u),o=u}else o=a;var c=o,l=null==c||gn(c)?c:xt();return i.i12(),$n(l,xi().b38_1,r,48,0),ln()&&pn(),jt()}function $i(t){return t.w20(["col-lg-12"]),t.u20(bi),jt()}function bi(t){return Qn(t,Sn(30)),qn(t,Sn(30)),jt()}function wi(){var t;j=this,this.a38_1=(t=fn(-1817257175,!1,vi),function(n,e,r){return t.n1y(n,e,r)}),this.b38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(-1445218266,!1,yi)),this.c38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(-1522093819,!1,gi))}function xi(){return null==j&&new wi,j}function ki(t,n){var e=t;if(e=e.n1d(1340484778),_n(e,"C(Heading$composable)"),0===n&&e.v1b())e.z17();else{ln()&&cn(1340484778,n,-1,"components.Heading$composable (Heading.kt:8)");var r=e;r.e12(547886695),_n(r,"C(remember$composable):Composables.kt#9igjgp");var i,o=r,s=o.f12();if(s===mn().h12_1){var a=ji;o.g12(a),i=a}else i=s;var u=i,c=null==u||gn(u)?u:xt();r.i12(),$n(c,xi().c38_1,e,48,0),ln()&&pn()}var l,h=e.o1d();null===h||h.j1e((l=n,function(t,n){return function(t,n,e){ki(n,1|t)}(l,t),jt()}))}function ji(t){return t.w20(["row"]),jt()}function zi(){z=this}function Ci(){C=this;var t=new te("components.SavedBenchmarkNode",this,2);t.l2m("key",!1),t.l2m("value",!1),this.d38_1=t,this.e38_1=8}function Si(){return null==C&&new Ci,C}function qi(t,n,e,r){return function(t,n,e,r,i){return 3!=(3&t)&&oe(t,3,Si().d38_1),i.g38_1=n,i.h38_1=e,i}(t,n,e,0,Object.create(Oi.prototype))}function Oi(t,n){null==z&&new zi,this.g38_1=t,this.h38_1=n,this.i38_1=0}function Pi(){S=this}function Mi(){q=this;var t=new te("components.SavedBenchmarks",this,1);t.l2m("items",!1),this.j38_1=t,this.k38_1=8}function Ai(){return null==q&&new Mi,q}function Ei(t,n,e){return function(t,n,e,r){return 1!=(1&t)&&oe(t,1,Ai().j38_1),r.m38_1=n,r}(t,n,0,Object.create(Ii.prototype))}function Ii(t){null==S&&new Pi,this.m38_1=t,this.n38_1=8}function Di(){return to(),O}function Ti(t,n,e){var r=n;return ln()&&cn(37561396,e,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-1. (SavedBenchmarksDropDown.kt:35)"),hn("Load Benchmark :",r,6),ln()&&pn(),jt()}function Bi(t,n,e){var r=n;return ln()&&cn(-32633967,e,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-2. (SavedBenchmarksDropDown.kt:88)"),hn("Unsaved benchmark",r,6),ln()&&pn(),jt()}function Li(t,n,e){var r=n;return ln()&&cn(-652929765,e,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-3. (SavedBenchmarksDropDown.kt:114)"),hn("LOAD",r,6),ln()&&pn(),jt()}function Ni(t,n,e){var r=n;return ln()&&cn(-1219865148,e,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-4. (SavedBenchmarksDropDown.kt:130)"),hn("DELETE",r,6),ln()&&pn(),jt()}function Ri(){var t;P=this,this.o38_1=(t=fn(37561396,!1,Ti),function(n,e,r){return t.n1y(n,e,r)}),this.p38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(-32633967,!1,Bi)),this.q38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(-652929765,!1,Li)),this.r38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(-1219865148,!1,Ni))}function Fi(){return null==P&&new Ri,P}function Hi(t,n,e,r,i,o,s){to();var a=o;a=a.n1d(-441302567),_n(a,"C(SavedBenchmarksDropDown$composable)P(4,3,2,1)");var u,c,l,h,p,f,_=s;if(ln()&&cn(-441302567,_,-1,"components.SavedBenchmarksDropDown$composable (SavedBenchmarksDropDown.kt:15)"),n.h()){ln()&&pn();var d=a.o1d();return null===d||d.j1e((u=t,c=n,l=e,h=r,p=i,f=s,function(t,n){return function(t,n,e,r,i,o,s,a){Hi(t,n,e,r,i,s,1|o)}(u,c,l,h,p,f,t),jt()})),jt()}var v=a;v.e12(-838505973),_n(v,"C(remember$composable)P(1):Composables.kt#9igjgp");var y,m=v,g=v.j12(n),$=m.f12();if(g||$===mn().h12_1){var b=Tt(n),w=ae(b,null,2,null);m.g12(w),y=w}else y=$;var x=y,k=null==x||gn(x)?x:xt();v.i12();var j=k,z=a;z.e12(547886695),_n(z,"C(remember$composable):Composables.kt#9igjgp");var C,S=z,q=S.f12();if(q===mn().h12_1){var O=Vi;S.g12(O),C=O}else C=q;var P=C,M=null==P||gn(P)?P:xt();z.i12(),zn("savedBenchmarks",M,Fi().o38_1,a,390,0);var A=a;A.e12(547886695),_n(A,"C(remember$composable):Composables.kt#9igjgp");var E,I=A,D=I.f12();if(D===mn().h12_1){var T=Wi;I.g12(T),E=T}else E=D;var B=E,L=null==B||gn(B)?B:xt();A.i12();var N=L,R=yn(a,549151222,!0,function(t,n,e,r,i,o,s){return function(r,a,u){var c=a;ln()&&cn(549151222,u,-1,"components.SavedBenchmarksDropDown$composable. (SavedBenchmarksDropDown.kt:43)");var l=c;l.e12(547886695),_n(l,"C(remember$composable):Composables.kt#9igjgp");var h,p=l,f=p.f12();if(f===mn().h12_1){var _=Ji;p.g12(_),h=_}else h=f;var d=h,v=null==d||gn(d)?d:xt();l.i12();var y=v,m=yn(c,1940859863,!0,function(t,n,e,r,i,o,s){return function(r,a,u){var c=a;ln()&&cn(1940859863,u,-1,"components.SavedBenchmarksDropDown$composable.. (SavedBenchmarksDropDown.kt:48)");var l=c;l.e12(547886695),_n(l,"C(remember$composable):Composables.kt#9igjgp");var h,p=l,f=p.f12();if(f===mn().h12_1){var _=Ki;p.g12(_),h=_}else h=f;var d=h,v=null==d||gn(d)?d:xt();l.i12();var y=v,m=yn(c,461626232,!0,function(t,n,e,r,i){return function(r,o,s){var a=o;ln()&&cn(461626232,s,-1,"components.SavedBenchmarksDropDown$composable... (SavedBenchmarksDropDown.kt:54)");var u=function(t,n,e){return function(r){return r.w20(["form-select"]),r.x20("savedBenchmarks"),r.y27(function(t,n,e){return function(r){var i=r.f2a_1;if(null==i);else{var o;t(i);t:{for(var s=n.c();s.d();){var a=s.e();if(a.g38_1===i){o=a;break t}}o=null}(function(t,n){to(),le("selectedBenchmark",ue,!0,(function(){return ce()})),t.jy(n)})(e,he(o)),jt()}return jt()}}(t,n,e)),jt()}}(t,n,e),c=yn(a,1692700999,!0,function(t,n,e,r){return function(n,i,o){var s=i;ln()&&cn(1692700999,o,-1,"components.SavedBenchmarksDropDown$composable.... (SavedBenchmarksDropDown.kt:67)");for(var a=t.c();a.d();){var u=a.e(),c=s;c.e12(-1058148781),_n(c,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var l,h=c,p=!!(!!(c.j12(u)|c.j12(e))|c.j12(r)),f=h.f12();if(p||f===mn().h12_1){var _=Yi(u,r,e);h.g12(_),l=_}else l=f;var d=l,v=null==d||gn(d)?d:xt();c.i12();var y,m=v,g=yn(s,1052804723,!0,Gi(u)),$=s;$.e12(-838505973),_n($,"C(remember$composable)P(1):Composables.kt#9igjgp");var b,w=$,x=$.j12(g),k=w.f12();if(x||k===mn().h12_1){var j=Xi(g);w.g12(j),b=j}else b=k;var z=b,C=null==z||gn(z)?z:xt();$.i12(),y=C,fe(u.g38_1,m,y,s,384,0)}var S=Di(),q=s;q.e12(-838505973),_n(q,"C(remember$composable)P(1):Composables.kt#9igjgp");var O,P=q,M=q.j12(r),A=P.f12();if(M||A===mn().h12_1){var E=function(t){return function(n){return t&&(pe(n),jt()),jt()}}(r);P.g12(E),O=E}else O=A;var I=O,D=null==I||gn(I)?I:xt();return q.i12(),fe(S,D,Fi().p38_1,s,390,0),ln()&&(pn(),jt()),jt()}}(n,0,e,i)),l=a;l.e12(-838505973),_n(l,"C(remember$composable)P(1):Composables.kt#9igjgp");var h,p,f=l,_=l.j12(c),d=f.f12();if(_||d===mn().h12_1){var v=(p=c,function(t,n,e){return p.n1y(t,n,e)});f.g12(v),h=v}else h=d;var y=h,m=null==y||gn(y)?y:xt();return l.i12(),_e(u,!1,m,a,384,2),ln()&&(pn(),jt()),jt()}}(t,n,e,0,i)),g=c;g.e12(-838505973),_n(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var $,b,w=g,x=g.j12(m),k=w.f12();if(x||k===mn().h12_1){var j=(b=m,function(t,n,e){return b.n1y(t,n,e)});w.g12(j),$=j}else $=k;var z=$,C=null==z||gn(z)?z:xt();g.i12(),$n(y,C,c,48,0);var S=c;S.e12(547886695),_n(S,"C(remember$composable):Composables.kt#9igjgp");var q,O=S,P=O.f12();if(P===mn().h12_1){var M=Zi;O.g12(M),q=M}else q=P;var A=q,E=null==A||gn(A)?A:xt();S.i12();var I=E,D=yn(c,-282119967,!0,function(t,n,e,r,i){return function(t,o,s){var a=o;ln()&&cn(-282119967,s,-1,"components.SavedBenchmarksDropDown$composable... (SavedBenchmarksDropDown.kt:98)");var u=a;u.e12(-1058148781),_n(u,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var c,l=u,h=!!(!!(u.j12(n)|u.j12(e))|u.j12(r)),p=l.f12();if(h||p===mn().h12_1){var f=function(t,n,e){return function(r){return r.w20(["btn","btn-primary"]),r.u20(Qi),r.a21(function(t,n){return function(e){return t(Ui(n)),jt()}}(n,e)),Pn(r,On()),t&&(ve(r),jt()),jt()}}(r,n,e);l.g12(f),c=f}else c=p;var _=c,d=null==_||gn(_)?_:xt();u.i12(),Mn(d,Fi().q38_1,a,48,0);var v=a;v.e12(-1058148781),_n(v,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var y,m=v,g=!!(!!(v.j12(i)|v.j12(e))|v.j12(r)),$=m.f12();if(g||$===mn().h12_1){var b=function(t,n,e){return function(r){return r.w20(["btn","btn-danger"]),r.a21(function(t,n){return function(e){return t(Ui(n)),jt()}}(n,e)),Pn(r,On()),t&&(ve(r),jt()),jt()}}(r,i,e);m.g12(b),y=b}else y=$;var w=y,x=null==w||gn(w)?w:xt();return v.i12(),Mn(x,Fi().r38_1,a,48,0),ln()&&(pn(),jt()),jt()}}(0,o,e,i,s)),T=c;T.e12(-838505973),_n(T,"C(remember$composable)P(1):Composables.kt#9igjgp");var B,L=T,N=T.j12(D),R=L.f12();if(N||R===mn().h12_1){var F=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(D);L.g12(F),B=F}else B=R;var H=B,U=null==H||gn(H)?H:xt();return T.i12(),$n(I,U,c,48,0),ln()&&(pn(),jt()),jt()}}(t,n,e,0,i,o,s)),g=c;g.e12(-838505973),_n(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var $,b,w=g,x=g.j12(m),k=w.f12();if(x||k===mn().h12_1){var j=(b=m,function(t,n,e){return b.n1y(t,n,e)});w.g12(j),$=j}else $=k;var z=$,C=null==z||gn(z)?z:xt();return g.i12(),$n(y,C,c,48,0),ln()&&(pn(),jt()),jt()}}(e,n,j,0,t,r,i)),F=a;F.e12(-838505973),_n(F,"C(remember$composable)P(1):Composables.kt#9igjgp");var H,U,V=F,W=F.j12(R),J=V.f12();if(W||J===mn().h12_1){var K=(U=R,function(t,n,e){return U.n1y(t,n,e)});V.g12(K),H=K}else H=J;var Y=H,G=null==Y||gn(Y)?Y:xt();F.i12(),$n(N,G,a,48,0),ln()&&pn();var X=a.o1d();null===X||X.j1e(function(t,n,e,r,i,o){return function(s,a){return function(t,n,e,r,i,o,s,a){Hi(t,n,e,r,i,s,1|o)}(t,n,e,r,i,o,s),jt()}}(t,n,e,r,i,s))}function Ui(t){return to(),le("selectedBenchmark",ue,!0,(function(){return ce()})),t.m2()}function Vi(t){return to(),t.w20(["form-label"]),jt()}function Wi(t){return to(),t.w20(["form-group"]),jt()}function Ji(t){return to(),t.w20(["row"]),jt()}function Ki(t){return to(),t.w20(["col"]),jt()}function Yi(t,n,e){return function(r){return t.g38_1!==Ui(e).g38_1||n||(pe(r),jt()),jt()}}function Gi(t){return function(n,e,r){var i=e;return ln()&&cn(1052804723,r,-1,"components.SavedBenchmarksDropDown$composable..... (SavedBenchmarksDropDown.kt:76)"),hn(t.g38_1,i,0),ln()&&(pn(),jt()),jt()}}function Xi(t){return function(n,e,r){return t.n1y(n,e,r)}}function Zi(t){return to(),t.w20(["col"]),jt()}function Qi(t){return to(),de(t,Sn(10)),jt()}function to(){M||(M=!0,O="unsavedBenchmark_"+(new Date).getMilliseconds())}function no(t,n,e,r,i,o,s,a,u,c){this.t38_1=t,this.u38_1=n,this.v38_1=e,this.w38_1=r,this.x38_1=i,this.y38_1=o,this.z38_1=s,this.a39_1=a,this.b39_1=u,this.c39_1=c,this.d39_1=0}function eo(t,n){this.m39_1=t,this.n39_1=n,this.o39_1=8}function ro(t){return ze("el",1,je,(function(t){return ro(t)}),null),t.q39_1.m2()}function io(t){var n;this.p39_1=t,this.q39_1=ye((n=this,function(){return document.createElement(n.p39_1)}))}function oo(t,n,e){var r=n;return ln()&&cn(323270151,e,-1,"components.ComposableSingletons$SummaryKt.lambda-1. (Summary.kt:162)"),hn("vs",r,6),ln()&&pn(),jt()}function so(t,n,e){var r=n;return ln()&&cn(-1108287470,e,-1,"components.ComposableSingletons$SummaryKt.lambda-2. (Summary.kt:161)"),po(null,co().r39_1,r,48,1),ln()&&pn(),jt()}function ao(t,n,e){var r=n;return ln()&&cn(2132966384,e,-1,"components.ComposableSingletons$SummaryKt.lambda-3. (Summary.kt:160)"),ge(null,co().s39_1,r,48,1),ln()&&pn(),jt()}function uo(){var t;E=this,this.r39_1=(t=fn(323270151,!1,oo),function(n,e,r){return t.n1y(n,e,r)}),this.s39_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(-1108287470,!1,so)),this.t39_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(2132966384,!1,ao))}function co(){return null==E&&new uo,E}function lo(t,n,e,r){Ao();var i=e;i=i.n1d(1753254121),_n(i,"C(SummaryContainer$composable)");var o=r;ln()&&cn(1753254121,o,-1,"components.SummaryContainer$composable (Summary.kt:35)"),t(i,14&o),In(null,i,0,1);for(var s=n.c();s.d();){var a=s.e();i.h1a(-380220126,a.m39_1),fo(a.m39_1,a.n39_1,i,64),In(null,i,0,1),i.k1a()}ln()&&pn();var u,c,l,h=i.o1d();null===h||h.j1e((u=t,c=n,l=r,function(t,n){return function(t,n,e,r,i){lo(t,n,r,1|e)}(u,c,l,t),jt()}))}function ho(t,n,e,r,i,o,s,a,u,c,l){Ao();var h=c;h=h.n1d(1501225216),_n(h,"C(SummarySelector$composable)P(!1,8,2,5!1,6,7)");var p=l;ln()&&cn(1501225216,p,-1,"components.SummarySelector$composable (Summary.kt:52)");var f=h;f.e12(547886695),_n(f,"C(remember$composable):Composables.kt#9igjgp");var _,d=f,v=d.f12();if(v===mn().h12_1){var y=vo;d.g12(y),_=y}else _=v;var m=_,g=null==m||gn(m)?m:xt();f.i12();var $,b,w,x,k,j=g,z=yn(h,2020978206,!0,($=p,b=e,w=t,x=r,k=n,function(t,n,e){var r=n;ln()&&cn(2020978206,e,-1,"components.SummarySelector$composable. (Summary.kt:68)");var i=r;i.e12(547886695),_n(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===mn().h12_1){var u=yo;s.g12(u),o=u}else o=a;var c=o,l=null==c||gn(c)?c:xt();i.i12();var h=l,p=yn(r,-871838913,!0,function(t,n,e){return function(r,i,o){var s=i;ln()&&cn(-871838913,o,-1,"components.SummarySelector$composable.. (Summary.kt:74)");var a=s;a.e12(-838505973),_n(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,c=a,l=a.j12(n),h=c.f12();if(l||h===mn().h12_1){var p=function(t){return function(n){return n.w20(["btn","btn-outline-dark","btn-sm"]),n.a21(function(t){return function(n){return t(),jt()}}(t)),Pn(n,On()),jt()}}(n);c.g12(p),u=p}else u=h;var f=u,_=null==f||gn(f)?f:xt();a.i12();var d=_,v=yn(s,-1132288775,!0,function(t,n){return function(e,r,i){var o=r;return ln()&&cn(-1132288775,i,-1,"components.SummarySelector$composable... (Summary.kt:84)"),hn(t,o,14&n),ln()&&(pn(),jt()),jt()}}(e,t)),y=s;y.e12(-838505973),_n(y,"C(remember$composable)P(1):Composables.kt#9igjgp");var m,g,$=y,b=y.j12(v),w=$.f12();if(b||w===mn().h12_1){var x=(g=v,function(t,n,e){return g.n1y(t,n,e)});$.g12(x),m=x}else m=w;var k=m,j=null==k||gn(k)?k:xt();return y.i12(),Mn(d,j,s,48,0),ln()&&(pn(),jt()),jt()}}($,b,w)),f=r;f.e12(-838505973),_n(f,"C(remember$composable)P(1):Composables.kt#9igjgp");var _,d,v=f,y=f.j12(p),m=v.f12();if(y||m===mn().h12_1){var g=(d=p,function(t,n,e){return d.n1y(t,n,e)});v.g12(g),_=g}else _=m;var j=_,z=null==j||gn(j)?j:xt();f.i12(),$n(h,z,r,48,0);var C=r;C.e12(547886695),_n(C,"C(remember$composable):Composables.kt#9igjgp");var S,q=C,O=q.f12();if(O===mn().h12_1){var P=mo;q.g12(P),S=P}else S=O;var M=S,A=null==M||gn(M)?M:xt();C.i12();var E=A,I=yn(r,782244392,!0,function(t,n,e){return function(r,i,o){var s=i;ln()&&cn(782244392,o,-1,"components.SummarySelector$composable.. (Summary.kt:93)");var a=s;a.e12(-838505973),_n(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,c=a,l=a.j12(n),h=c.f12();if(l||h===mn().h12_1){var p=function(t){return function(n){return n.w20(["btn","btn-outline-dark","btn-sm"]),n.a21(function(t){return function(n){return t(),jt()}}(t)),Pn(n,On()),jt()}}(n);c.g12(p),u=p}else u=h;var f=u,_=null==f||gn(f)?f:xt();a.i12();var d=_,v=yn(s,-401969822,!0,function(t,n){return function(e,r,i){var o=r;return ln()&&cn(-401969822,i,-1,"components.SummarySelector$composable... (Summary.kt:103)"),hn(t,o,14&n>>3),ln()&&(pn(),jt()),jt()}}(e,t)),y=s;y.e12(-838505973),_n(y,"C(remember$composable)P(1):Composables.kt#9igjgp");var m,g=y,$=y.j12(v),b=g.f12();if($||b===mn().h12_1){var w=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(v);g.g12(w),m=w}else m=b;var x=m,k=null==x||gn(x)?x:xt();return y.i12(),Mn(d,k,s,48,0),ln()&&(pn(),jt()),jt()}}($,x,k)),D=r;D.e12(-838505973),_n(D,"C(remember$composable)P(1):Composables.kt#9igjgp");var T,B=D,L=D.j12(I),N=B.f12();if(L||N===mn().h12_1){var R=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(I);B.g12(R),T=R}else T=N;var F=T,H=null==F||gn(F)?F:xt();return D.i12(),$n(E,H,r,48,0),ln()&&(pn(),jt()),jt()})),C=h;C.e12(-838505973),_n(C,"C(remember$composable)P(1):Composables.kt#9igjgp");var S,q,O=C,P=C.j12(z),M=O.f12();if(P||M===mn().h12_1){var A=(q=z,function(t,n,e){return q.n1y(t,n,e)});O.g12(A),S=A}else S=M;var E=S,I=null==E||gn(E)?E:xt();C.i12(),$n(j,I,h,48,0);var D=h;D.e12(547886695),_n(D,"C(remember$composable):Composables.kt#9igjgp");var T,B=D,L=B.f12();if(L===mn().h12_1){var N=go;B.g12(N),T=N}else T=L;var R=T,F=null==R||gn(R)?R:xt();D.i12();var H,U,V,W,J,K=F,Y=yn(h,-569509561,!0,(H=a,U=u,V=i,W=o,J=s,function(t,n,e){var r=n;ln()&&cn(-569509561,e,-1,"components.SummarySelector$composable. (Summary.kt:114)");var i=0;if(i<2)do{var o=i;i=i+1|0,r.h1a(1520191051,"block-selector-"+o);var s=r;s.e12(547886695),_n(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,c=u.f12();if(c===mn().h12_1){var l=$o;u.g12(l),a=l}else a=c;var h=a,p=null==h||gn(h)?h:xt();s.i12();var f=p,_=yn(r,-850201877,!0,jo(0,o,H,U,V,W,J)),d=r;d.e12(-838505973),_n(d,"C(remember$composable)P(1):Composables.kt#9igjgp");var v,y=d,m=d.j12(_),g=y.f12();if(m||g===mn().h12_1){var $=zo(_);y.g12($),v=$}else v=g;var b=v,w=null==b||gn(b)?b:xt();if(d.i12(),$n(f,w,r,48,0),0===o){var x=r;x.e12(547886695),_n(x,"C(remember$composable):Composables.kt#9igjgp");var k,j=x,z=j.f12();if(z===mn().h12_1){var C=Co;j.g12(C),k=C}else k=z;var S=k,q=null==S||gn(S)?S:xt();x.i12(),$n(q,co().t39_1,r,48,0)}r.k1a()}while(i<2);return ln()&&(pn(),jt()),jt()})),G=h;G.e12(-838505973),_n(G,"C(remember$composable)P(1):Composables.kt#9igjgp");var X,Z=G,Q=G.j12(Y),tt=Z.f12();if(Q||tt===mn().h12_1){var nt=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(Y);Z.g12(nt),X=nt}else X=tt;var et=X,rt=null==et||gn(et)?et:xt();G.i12(),$n(K,rt,h,48,0),ln()&&pn();var it=h.o1d();null===it||it.j1e(function(t,n,e,r,i,o,s,a,u,c){return function(l,h){return function(t,n,e,r,i,o,s,a,u,c,l,h){ho(t,n,e,r,i,o,s,a,u,l,1|c)}(t,n,e,r,i,o,s,a,u,c,l),jt()}}(t,n,e,r,i,o,s,a,u,l))}function po(t,n,e,r,i){Ao();var o={_v:t},s={_v:n},a=e;a=a.n1d(-1706683414),_n(a,"C(Strong$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),ln()&&cn(-1706683414,u,-1,"components.Strong$composable (Summary.kt:188)"),$e((Ao(),A),o._v,s._v,a,8|112&u<<3|896&u<<3),ln()&&pn());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){po(t._v,n._v,i,1|e,r)}(c,l,h,p,t),jt()}))}function fo(t,n,e,r){Ao();var i=e;i=i.n1d(1271998269),_n(i,"C(SummaryUi$composable)P(1)");var o=r;ln()&&cn(1271998269,o,-1,"components.SummaryUi$composable (Summary.kt:194)");var s=i;s.e12(547886695),_n(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,c=u.f12();if(c===mn().h12_1){var l=So;u.g12(l),a=l}else a=c;var h=a,p=null==h||gn(h)?h:xt();s.i12();var f,_,d,v=p,y=yn(i,1135450184,!0,(f=t,_=o,d=n,function(t,n,e){var r=n;ln()&&cn(1135450184,e,-1,"components.SummaryUi$composable. (Summary.kt:199)");var i=yn(r,-1777780889,!0,function(t,n){return function(e,r,i){var o=r;return ln()&&cn(-1777780889,i,-1,"components.SummaryUi$composable.. (Summary.kt:200)"),hn(t,o,14&n),ln()&&(pn(),jt()),jt()}}(f,_)),o=r;o.e12(-838505973),_n(o,"C(remember$composable)P(1):Composables.kt#9igjgp");var s,a,u=o,c=o.j12(i),l=u.f12();if(c||l===mn().h12_1){var h=(a=i,function(t,n,e){return a.n1y(t,n,e)});u.g12(h),s=h}else s=l;var p=s,v=null==p||gn(p)?p:xt();o.i12(),vn(null,v,r,48,1);var y=yn(r,328569139,!0,function(t){return function(n,e,r){var i=e;ln()&&cn(328569139,r,-1,"components.SummaryUi$composable.. (Summary.kt:201)");for(var o=t.c();o.d();){var s=o.e(),a=yn(i,-1319792079,!0,Oo(s)),u=i;u.e12(-838505973),_n(u,"C(remember$composable)P(1):Composables.kt#9igjgp");var c,l=u,h=u.j12(a),p=l.f12();if(h||p===mn().h12_1){var f=Po(a);l.g12(f),c=f}else c=p;var _=c,d=null==_||gn(_)?_:xt();u.i12(),we(null,d,i,48,1)}return ln()&&(pn(),jt()),jt()}}(d)),m=r;m.e12(-838505973),_n(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,$=m,b=m.j12(y),w=$.f12();if(b||w===mn().h12_1){var x=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(y);$.g12(x),g=x}else g=w;var k=g,j=null==k||gn(k)?k:xt();return m.i12(),xe(null,j,r,48,1),ln()&&(pn(),jt()),jt()})),m=i;m.e12(-838505973),_n(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,$,b=m,w=m.j12(y),x=b.f12();if(w||x===mn().h12_1){var k=($=y,function(t,n,e){return $.n1y(t,n,e)});b.g12(k),g=k}else g=x;var j=g,z=null==j||gn(j)?j:xt();m.i12(),$n(v,z,i,48,0),ln()&&pn();var C=i.o1d();null===C||C.j1e(function(t,n,e){return function(r,i){return function(t,n,e,r,i){fo(t,n,r,1|e)}(t,n,e,r),jt()}}(t,n,r))}function _o(t,n,e,r,i){Ao();var o={_v:n},s=e;s=s.n1d(-1073265847);var a,u,c,l,h=r;if(0!=(1&i)?h|=6:0==(14&r)&&(h|=s.j12(t)?4:2),0!=(2&i)?h|=48:0==(112&r)&&(h|=s.j12(o._v)?32:16),18==(91&h)&&s.v1b())s.z17();else{0!=(2&i)&&(o._v=null),ln()&&cn(-1073265847,h,-1,"components.BoldText$composable (Summary.kt:242)");var p=o._v,f=s;f.e12(-838505973),_n(f,"C(remember$composable)P(1):Composables.kt#9igjgp");var _,d=f,v=f.j12(p),y=d.f12();if(v||y===mn().h12_1){var m=(l=o,function(t){var n=l._v;return null==n||n(t),t.u20(Mo),jt()});d.g12(m),_=m}else _=y;var g=_,$=null==g||gn(g)?g:xt();f.i12();var b=$,w=yn(s,-374759312,!0,(u=t,c=h,function(t,n,e){var r=n;return ln()&&cn(-374759312,e,-1,"components.BoldText$composable. (Summary.kt:253)"),hn(u,r,14&c),ln()&&(pn(),jt()),jt()})),x=s;x.e12(-838505973),_n(x,"C(remember$composable)P(1):Composables.kt#9igjgp");var k,j=x,z=x.j12(w),C=j.f12();if(z||C===mn().h12_1){var S=(a=w,function(t,n,e){return a.n1y(t,n,e)});j.g12(S),k=S}else k=C;var q=k,O=null==q||gn(q)?q:xt();x.i12(),be(b,O,s,48,0),ln()&&pn()}var P=s.o1d();null===P||P.j1e(function(t,n,e,r){return function(i,o){return function(t,n,e,r,i,o){_o(t,n._v,i,1|e,r)}(t,n,e,r,i),jt()}}(t,o,r,i))}function vo(t){return Ao(),t.w20(["row","mb-3"]),jt()}function yo(t){return Ao(),t.w20(["col-auto"]),jt()}function mo(t){return Ao(),t.w20(["col-auto"]),jt()}function go(t){return Ao(),t.w20(["row"]),jt()}function $o(t){return Ao(),t.w20(["col"]),jt()}function bo(t,n,e){return function(r){return r.w20(["form-select"]),r.x27(function(t,n,e){return function(r){var i=r.f2b_1;return null==i||(0===t?n(i):e(i)),jt()}}(t,n,e)),jt()}}function wo(t,n,e,r){return function(i){return r===(0===t?n:e)&&(pe(i),jt()),jt()}}function xo(t){return function(n,e,r){var i=e;return ln()&&cn(1538427302,r,-1,"components.SummarySelector$composable...... (Summary.kt:148)"),hn(t,i,0),ln()&&(pn(),jt()),jt()}}function ko(t){return function(n,e,r){return t.n1y(n,e,r)}}function jo(t,n,e,r,i,o,s){return function(t,a,u){var c=a;ln()&&cn(-850201877,u,-1,"components.SummarySelector$composable.... (Summary.kt:121)");var l=c;l.e12(-1058148781),_n(l,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var h,p=l,f=!!(!!(l.j12(n)|l.j12(e))|l.j12(r)),_=p.f12();if(f||_===mn().h12_1){var d=bo(n,e,r);p.g12(d),h=d}else h=_;var v=h,y=null==v||gn(v)?v:xt();l.i12();var m=y,g=yn(c,1162597754,!0,function(t,n,e,r){return function(i,o,s){var a=o;ln()&&cn(1162597754,s,-1,"components.SummarySelector$composable..... (Summary.kt:137)");for(var u=t.c();u.d();){var c=u.e(),l=a;l.e12(-1603429786),_n(l,"C(remember$composable)P(1):Composables.kt#9igjgp");for(var h=!1,p=[n,e,r,c],f=0,_=p.length;f<_;){var d=p[f];f=f+1|0,h=!!(h|l.j12(d))}var v,y=l,m=h,g=y.f12();if(m||g===mn().h12_1){var $=wo(n,e,r,c);y.g12($),v=$}else v=g;var b=v,w=null==b||gn(b)?b:xt();l.i12();var x=w,k=yn(a,1538427302,!0,xo(c)),j=a;j.e12(-838505973),_n(j,"C(remember$composable)P(1):Composables.kt#9igjgp");var z,C=j,S=j.j12(k),q=C.f12();if(S||q===mn().h12_1){var O=ko(k);C.g12(O),z=O}else z=q;var P=z,M=null==P||gn(P)?P:xt();j.i12(),fe(c,x,M,a,384,0)}return ln()&&(pn(),jt()),jt()}}(i,n,o,s)),$=c;$.e12(-838505973),_n($,"C(remember$composable)P(1):Composables.kt#9igjgp");var b,w,x=$,k=$.j12(g),j=x.f12();if(k||j===mn().h12_1){var z=(w=g,function(t,n,e){return w.n1y(t,n,e)});x.g12(z),b=z}else b=j;var C=b,S=null==C||gn(C)?C:xt();return $.i12(),_e(m,!1,S,c,384,2),ln()&&(pn(),jt()),jt()}}function zo(t){return function(n,e,r){return t.n1y(n,e,r)}}function Co(t){return Ao(),t.w20(["col-auto"]),jt()}function So(t){return Ao(),t.w20(["row"]),jt()}function qo(t){return Ao(),t.w20(["text-capitalize"]),jt()}function Oo(t){return function(n,e,r){var i,o=e;ln()&&cn(-1319792079,r,-1,"components.SummaryUi$composable.... (Summary.kt:203)"),hn(t.u38_1+" ",o,0);var s=o;s.e12(547886695),_n(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,c=u.f12();if(c===mn().h12_1){var l=qo;u.g12(l),a=l}else a=c;var h=a,p=null==h||gn(h)?h:xt();s.i12(),i=p,_o(t.v38_1,i,o,0,0),hn(" : ",o,6),_o(t.w38_1,null,o,0,2),hn(t.t38_1?" looks ":" performed ",o,0),_o(t.x38_1+"% ",null,o,0,2);var f=t.t38_1?"":"ms",_=o;_.e12(-1124426577),_n(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.j12(t)|_.j12(f)),m=v.f12();if(y||m===mn().h12_1){var g=function(t,n){return function(e){var r=0===t.z38_1?"secondary":t.z38_1>0?"danger":"success";return e.w20(["badge","bg-"+r]),e.e20("data-bs-toggle","tooltip"),e.e20("data-bs-placement","top"),e.e20("title",""+t.c39_1+n+" to "+t.b39_1+n),jt()}}(t,f);v.g12(g),d=g}else d=m;var $=d,b=null==$||gn($)?$:xt();_.i12();var w=b,x=yn(o,-2128018801,!0,function(t){return function(n,e,r){var i=e;return ln()&&cn(-2128018801,r,-1,"components.SummaryUi$composable..... (Summary.kt:231)"),hn(t.y38_1,i,0),ln()&&(pn(),jt()),jt()}}(t)),k=o;k.e12(-838505973),_n(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,z,C=k,S=k.j12(x),q=C.f12();if(S||q===mn().h12_1){var O=(z=x,function(t,n,e){return z.n1y(t,n,e)});C.g12(O),j=O}else j=q;var P=j,M=null==P||gn(P)?P:xt();return k.i12(),be(w,M,o,48,0),hn(" ("+t.a39_1+t.z38_1+f+")",o,0),ln()&&(pn(),jt()),jt()}}function Po(t){return function(n,e,r){return t.n1y(n,e,r)}}function Mo(t){return Ao(),ke(t,"bold"),jt()}function Ao(){I||(I=!0,A=new io("strong"))}function Eo(t,n,e){var r=n;return ln()&&cn(1817043984,e,-1,"components.ComposableSingletons$TestNameDetectionToggleKt.lambda-1. (TestNameDetectionToggle.kt:29)"),hn("Test Name Detection:",r,6),ln()&&pn(),jt()}function Io(){var t;D=this,this.u39_1=(t=fn(1817043984,!1,Eo),function(n,e,r){return t.n1y(n,e,r)})}function Do(t,n,e,r){var i=e;i=i.n1d(-1801806257),_n(i,"C(TestNameDetectionToggle$composable)");var o,s,a,u=r;if(0==(14&r)&&(u|=i.j1d(t)?4:2),0==(112&r)&&(u|=i.j12(n)?32:16),18==(91&u)&&i.v1b())i.z17();else{ln()&&cn(-1801806257,u,-1,"components.TestNameDetectionToggle$composable (TestNameDetectionToggle.kt:10)");var c=i;c.e12(547886695),_n(c,"C(remember$composable):Composables.kt#9igjgp");var l,h=c,p=h.f12();if(p===mn().h12_1){var f=To;h.g12(f),l=f}else l=p;var _=l,d=null==_||gn(_)?_:xt();c.i12();var v=d,y=yn(i,815464847,!0,(s=t,a=n,function(t,n,e){var r=n;ln()&&cn(815464847,e,-1,"components.TestNameDetectionToggle$composable. (TestNameDetectionToggle.kt:21)");var i=r;i.e12(547886695),_n(i,"C(remember$composable):Composables.kt#9igjgp");var o,u=i,c=u.f12();if(c===mn().h12_1){var l=Lo;u.g12(l),o=l}else o=c;var h=o,p=null==h||gn(h)?h:xt();i.i12(),zn("testNameDetection",p,(null==D&&new Io,D).u39_1,r,390,0),In(null,r,0,1);var f=r;f.e12(-1124426577),_n(f,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var _,d=f,v=!!(f.j12(s)|f.j12(a)),y=d.f12();if(v||y===mn().h12_1){var m=function(t,n){return function(e){return e.x20("testNameDetection"),e.w20(["btn",t?"btn-success":"btn-secondary"]),e.a21(function(t){return function(n){return t(),jt()}}(n)),Pn(e,On()),jt()}}(s,a);d.g12(m),_=m}else _=y;var g=_,$=null==g||gn(g)?g:xt();f.i12();var b=$,w=yn(r,-1071119211,!0,function(t){return function(n,e,r){var i=e;return ln()&&cn(-1071119211,r,-1,"components.TestNameDetectionToggle$composable.. (TestNameDetectionToggle.kt:42)"),hn(t?"ON":"OFF",i,0),ln()&&(pn(),jt()),jt()}}(s)),x=r;x.e12(-838505973),_n(x,"C(remember$composable)P(1):Composables.kt#9igjgp");var k,j,z=x,C=x.j12(w),S=z.f12();if(C||S===mn().h12_1){var q=(j=w,function(t,n,e){return j.n1y(t,n,e)});z.g12(q),k=q}else k=S;var O=k,P=null==O||gn(O)?O:xt();return x.i12(),Mn(b,P,r,48,0),ln()&&(pn(),jt()),jt()})),m=i;m.e12(-838505973),_n(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,$=m,b=m.j12(y),w=$.f12();if(b||w===mn().h12_1){var x=(o=y,function(t,n,e){return o.n1y(t,n,e)});$.g12(x),g=x}else g=w;var k=g,j=null==k||gn(k)?k:xt();m.i12(),$n(v,j,i,48,0),ln()&&pn()}var z=i.o1d();null===z||z.j1e(function(t,n,e){return function(r,i){return function(t,n,e,r,i){Do(t,n,r,1|e)}(t,n,e,r),jt()}}(t,n,r))}function To(t){return t.w20(["form-group"]),t.u20(Bo),jt()}function Bo(t){return En(t,Sn(10)),jt()}function Lo(t){return t.w20(["form-label"]),jt()}function No(t,n,e){var r=n;return ln()&&cn(-130845949,e,-1,"components.ComposableSingletons$TestNamesKt.lambda-1. (TestNames.kt:24)"),hn("Test Name :",r,6),ln()&&pn(),jt()}function Ro(){var t;T=this,this.v39_1=(t=fn(-130845949,!1,No),function(n,e,r){return t.n1y(n,e,r)})}function Fo(t,n,e,r,i,o){var s={_v:n},a=r;a=a.n1d(246637604),_n(a,"C(TestNames$composable)P(2)");var u,c,l,h,p=i;if(0!=(2&o)&&(s._v=null),ln()&&cn(246637604,p,-1,"components.TestNames$composable (TestNames.kt:8)"),!t.h()){var f=a;f.e12(547886695),_n(f,"C(remember$composable):Composables.kt#9igjgp");var _,d=f,v=d.f12();if(v===mn().h12_1){var y=Ho;d.g12(y),_=y}else _=v;var m=_,g=null==m||gn(m)?m:xt();f.i12();var $=g,b=yn(a,-1509913918,!0,(c=e,l=t,h=s,function(t,n,e){var r=n;ln()&&cn(-1509913918,e,-1,"components.TestNames$composable. (TestNames.kt:18)");var i=r;i.e12(547886695),_n(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===mn().h12_1){var u=Uo;s.g12(u),o=u}else o=a;var p=o,f=null==p||gn(p)?p:xt();i.i12(),zn("testNames",f,(null==T&&new Ro,T).v39_1,r,390,0);var _=r;_.e12(-838505973),_n(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v=_,y=_.j12(c),m=v.f12();if(y||m===mn().h12_1){var g=function(t){return function(n){return n.w20(["form-select"]),n.x20("testNames"),n.x27(function(t){return function(n){var e=n.f2b_1;return null==e||t(e),jt()}}(t)),jt()}}(c);v.g12(g),d=g}else d=m;var $=d,b=null==$||gn($)?$:xt();_.i12();var w=b,x=yn(r,-1857982381,!0,function(t,n,e){return function(e,r,i){var o=r;ln()&&cn(-1857982381,i,-1,"components.TestNames$composable.. (TestNames.kt:37)");for(var s=t.c();s.d();){var a=s.e(),u=n._v,c=o;c.e12(-1124426577),_n(c,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var l,h=c,p=!!(c.j12(a)|c.j12(u)),f=h.f12();if(p||f===mn().h12_1){var _=Vo(a,n);h.g12(_),l=_}else l=f;var d=l,v=null==d||gn(d)?d:xt();c.i12();var y=v,m=yn(o,1208237735,!0,Wo(a)),g=o;g.e12(-838505973),_n(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var $,b=g,w=g.j12(m),x=b.f12();if(w||x===mn().h12_1){var k=Jo(m);b.g12(k),$=k}else $=x;var j=$,z=null==j||gn(j)?j:xt();g.i12(),fe(a,y,z,o,384,0)}return ln()&&(pn(),jt()),jt()}}(l,h)),k=r;k.e12(-838505973),_n(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,z,C=k,S=k.j12(x),q=C.f12();if(S||q===mn().h12_1){var O=(z=x,function(t,n,e){return z.n1y(t,n,e)});C.g12(O),j=O}else j=q;var P=j,M=null==P||gn(P)?P:xt();return k.i12(),_e(w,!1,M,r,384,2),ln()&&(pn(),jt()),jt()})),w=a;w.e12(-838505973),_n(w,"C(remember$composable)P(1):Composables.kt#9igjgp");var x,k=w,j=w.j12(b),z=k.f12();if(j||z===mn().h12_1){var C=(u=b,function(t,n,e){return u.n1y(t,n,e)});k.g12(C),x=C}else x=z;var S=x,q=null==S||gn(S)?S:xt();w.i12(),$n($,q,a,48,0)}ln()&&pn();var O=a.o1d();null===O||O.j1e(function(t,n,e,r,i){return function(o,s){return function(t,n,e,r,i,o,s){Fo(t,n._v,e,o,1|r,i)}(t,n,e,r,i,o),jt()}}(t,s,e,i,o))}function Ho(t){return t.w20(["form-group"]),jt()}function Uo(t){return t.w20(["form-label"]),jt()}function Vo(t,n){return function(e){return t===n._v&&(pe(e),jt()),jt()}}function Wo(t){return function(n,e,r){var i=e;return ln()&&cn(1208237735,r,-1,"components.TestNames$composable... (TestNames.kt:46)"),hn(t,i,0),ln()&&(pn(),jt()),jt()}}function Jo(t){return function(n,e,r){return t.n1y(n,e,r)}}function Ko(t,n,e){var r=n;return ln()&&cn(1108811911,e,-1,"ComposableSingletons$MainKt.lambda-1. (main.kt:8)"),Zo(null,r,0,1),ln()&&pn(),jt()}function Yo(){var t;B=this,this.w39_1=(t=fn(1108811911,!1,Ko),function(n,e,r){return t.n1y(n,e,r)})}function Go(t,n,e){var r=n;return ln()&&cn(-374992274,e,-1,"page.home.ComposableSingletons$HomePageKt.lambda-1. (HomePage.kt:110)"),hn("🖥 Output",r,6),ln()&&pn(),jt()}function Xo(){var t;L=this,this.x39_1=(t=fn(-374992274,!1,Go),function(n,e,r){return t.n1y(n,e,r)})}function Zo(t,n,e,r){var i={_v:t},o=n;o=o.n1d(-109696367),_n(o,"C(HomePageUi$composable)");var s,a,u=e;if(0==(14&e)&&(u|=0==(1&r)&&o.j12(i._v)?4:2),2==(11&u)&&o.v1b())o.z17();else{if(o.w1c(),0==(1&e)||o.a1d()){if(0!=(1&r)){var c,l=o;l.e12(547886695),_n(l,"C(remember$composable):Composables.kt#9igjgp");var h,p=l,f=p.f12();if(f===mn().h12_1){var _=new As(new Bs,new Fs);p.g12(_),h=_}else h=f;var d=h,v=null==d||gn(d)?d:xt();l.i12(),c=v,i._v=c,u&=-15}}else o.z17(),0!=(1&r)&&(u&=-15);o.x1c(),ln()&&cn(-109696367,u,-1,"page.home.HomePageUi$composable (HomePage.kt:28)");var y=o;y.e12(547886695),_n(y,"C(remember$composable):Composables.kt#9igjgp");var m,g=y,$=g.f12();if($===mn().h12_1){var b=Qo;g.g12(b),m=b}else m=$;var w=m,x=null==w||gn(w)?w:xt();y.i12();var k=x,j=yn(o,1790973562,!0,(a=i,function(t,n,e){var r=n;ln()&&cn(1790973562,e,-1,"page.home.HomePageUi$composable. (HomePage.kt:35)"),ki(r,0);var i=a._v.u3b();!Jt(i)&&pi(a._v.u3b(),r,0);var o=r;o.e12(547886695),_n(o,"C(remember$composable):Composables.kt#9igjgp");var s,u=o,c=u.f12();if(c===mn().h12_1){var l=ts;u.g12(l),s=l}else s=c;var h=s,p=null==h||gn(h)?h:xt();o.i12();var f=p,_=yn(r,-1337148517,!0,function(t,n){return function(n,e,r){var i=e;ln()&&cn(-1337148517,r,-1,"page.home.HomePageUi$composable.. (HomePage.kt:54)");var o=i;o.e12(547886695),_n(o,"C(remember$composable):Composables.kt#9igjgp");var s,a=o,u=a.f12();if(u===mn().h12_1){var c=es;a.g12(c),s=c}else s=u;var l=s,h=null==l||gn(l)?l:xt();o.i12();var p=h,f=yn(i,1509226108,!0,function(t,n){return function(n,e,r){var i=e;ln()&&cn(1509226108,r,-1,"page.home.HomePageUi$composable... (HomePage.kt:57)");var o,s=t._v.k3b(),a=t._v.l3b(),u=(o=t._v,function(t){return function(t,n){t.s3a(n,!1,2,null)}(o,t),jt()}),c=function(t){var n=function(n){return t.t3a(n),jt()};return n.callableName="onSaveClicked",n}(t._v);Nr(s,a,t._v.m3b(),u,c,function(t){var n=function(n){return t.u3a(n),jt()};return n.callableName="onSavedBenchmarkChanged",n}(t._v),function(t){var n=function(n){return t.v3a(n),jt()};return n.callableName="onLoadBenchmarkClicked",n}(t._v),function(t){var n=function(n){return t.w3a(n),jt()};return n.callableName="onDeleteBenchmarkClicked",n}(t._v),i,520),In(null,i,0,1),In(null,i,0,1);var l=yn(i,-1521832332,!0,function(t,n){return function(n,e){var r=n;if(2==(11&e)&&r.v1b())r.z17(),jt();else{if(ln()&&cn(-1521832332,e,-1,"page.home.HomePageUi$composable.... (HomePage.kt:73)"),Rt("block size "+t._v.j3a_1.f()),t._v.j3a_1.f()>2){var i=t._v.b3b(),o="BEST (-"+(null==i?null:i.e3b_1)+t._v.q28()+")",s=t._v.h3b(),a="WORST (+"+(null==s?null:s.f3b_1)+t._v.q28()+")",u=t._v,c=r;c.e12(-838505973),_n(c,"C(remember$composable)P(1):Composables.kt#9igjgp");var l,h=c,p=c.j12(u),f=h.f12();if(p||f===mn().h12_1){var _=function(t){var n=function(){return t.x3a(),jt()};return n.callableName="onBestClicked",n}(u);h.g12(_),l=_}else l=f;var d=l,v=null==d||gn(d)?d:xt();c.i12();var y=v,m=t._v,g=r;g.e12(-838505973),_n(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var $,b=g,w=g.j12(m),x=b.f12();if(w||x===mn().h12_1){var k=function(t){var n=function(){return t.y3a(),jt()};return n.callableName="onWorstClicked",n}(m);b.g12(k),$=k}else $=x;var j=$,z=null==j||gn(j)?j:xt();g.i12(),ho(o,a,y,z,t._v.j3a_1,t._v.i3b(),t._v.j3b(),function(t){var n=function(n){return t.z3a(n),jt()};return n.callableName="onBlockNameOneChanged",n}(t._v),function(t){var n=function(n){return t.a3b(n),jt()};return n.callableName="onBlockNameTwoChanged",n}(t._v),r,0)}ln()&&(pn(),jt())}return jt()}}(t)),h=i;h.e12(-838505973),_n(h,"C(remember$composable)P(1):Composables.kt#9igjgp");var p,f=h,_=h.j12(l),d=f.f12();if(_||d===mn().h12_1){var v=function(t){return function(n,e){return t.t1b(n,e)}}(l);f.g12(v),p=v}else p=d;var y=p,m=null==y||gn(y)?y:xt();return h.i12(),lo(m,t._v.k3a_1,i,6),ln()&&(pn(),jt()),jt()}}(t)),_=i;_.e12(-838505973),_n(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.j12(f),g=y.f12();if(m||g===mn().h12_1){var $=(v=f,function(t,n,e){return v.n1y(t,n,e)});y.g12($),d=$}else d=g;var b=d,w=null==b||gn(b)?b:xt();_.i12(),$n(p,w,i,48,0);var x=t._v.t3b(),k=null==x?null:x.m36_1,j=null==k||k.h()?null:k;if(null==j);else{var z=t._v.t3b();if(null==z)throw Lt("TSH");var C=z,S=i;S.e12(547886695),_n(S,"C(remember$composable):Composables.kt#9igjgp");var q,O=S,P=O.f12();if(P===mn().h12_1){var M=rs;O.g12(M),q=M}else q=P;var A=q,E=null==A||gn(A)?A:xt();S.i12();var I=E,D=yn(i,2092888171,!0,function(t,n,e,r){return function(n,i,o){var s=i;if(ln()&&cn(2092888171,o,-1,"page.home.HomePageUi$composable.... (HomePage.kt:99)"),t._v.s3b())s.e12(-1006755438),li(s,0),s.i12();else{s.e12(-1006755369);var a=t._v,u=s;u.e12(-838505973),_n(u,"C(remember$composable)P(1):Composables.kt#9igjgp");var c,l=u,h=u.j12(a),p=l.f12();if(h||p===mn().h12_1){var f=function(t){return function(n){return n.b21(function(t){return function(n){return t._v.n3b(),jt()}}(t)),jt()}}(t);l.g12(f),c=f}else c=p;var _=c,d=null==_||gn(_)?_:xt();u.i12(),vn(d,(null==L&&new Xo,L).x39_1,s,48,0),s.i12()}var v=s;v.e12(547886695),_n(v,"C(remember$composable):Composables.kt#9igjgp");var y,m=v,g=m.f12();if(g===mn().h12_1){var $=is;m.g12($),y=$}else y=g;var b=y,w=null==b||gn(b)?b:xt();v.i12();var x=w,k=yn(s,-350149078,!0,function(t,n){return function(n,e,r){var i=e;ln()&&cn(-350149078,r,-1,"page.home.HomePageUi$composable..... (HomePage.kt:120)");var o=yn(i,1688816067,!0,function(t,n){return function(n,e,r){var i=e;ln()&&cn(1688816067,r,-1,"page.home.HomePageUi$composable...... (HomePage.kt:121)");var o=i;o.e12(547886695),_n(o,"C(remember$composable):Composables.kt#9igjgp");var s,a=o,u=a.f12();if(u===mn().h12_1){var c=os;a.g12(c),s=c}else s=u;var l=s,h=null==l||gn(l)?l:xt();o.i12();var p=h,f=yn(i,-1218869404,!0,function(t,n){return function(n,e,r){var i=e;ln()&&cn(-1218869404,r,-1,"page.home.HomePageUi$composable....... (HomePage.kt:126)");var o=i;o.e12(547886695),_n(o,"C(remember$composable):Composables.kt#9igjgp");var s,a=o,u=a.f12();if(u===mn().h12_1){var c=ss;a.g12(c),s=c}else s=u;var l=s,h=null==l||gn(l)?l:xt();o.i12();var p=h,f=yn(i,-1633797435,!0,function(t,n){return function(n,e,r){var i=e;ln()&&cn(-1633797435,r,-1,"page.home.HomePageUi$composable........ (HomePage.kt:132)");var o=t._v.k3b().z35_1,s=t._v,a=i;a.e12(-838505973),_n(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,c=a,l=a.j12(s),h=c.f12();if(l||h===mn().h12_1){var p=function(t){var n=function(){return t.o3b(),jt()};return n.callableName="onToggleAutoGroupClicked",n}(s);c.g12(p),u=p}else u=h;var f=u,_=null==f||gn(f)?f:xt();return a.i12(),Jr(o,_,i,0),ln()&&(pn(),jt()),jt()}}(t)),_=i;_.e12(-838505973),_n(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v=_,y=_.j12(f),m=v.f12();if(y||m===mn().h12_1){var g=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(f);v.g12(g),d=g}else d=m;var $=d,b=null==$||gn($)?$:xt();if(_.i12(),$n(p,b,i,48,0),kt(t._v.r3b(),kr())){var w=i;w.e12(547886695),_n(w,"C(remember$composable):Composables.kt#9igjgp");var x,k=w,j=k.f12();if(j===mn().h12_1){var z=as;k.g12(z),x=z}else x=j;var C=x,S=null==C||gn(C)?C:xt();w.i12();var q=S,O=yn(i,-1089967542,!0,function(t,n){return function(n,e,r){var i=e;ln()&&cn(-1089967542,r,-1,"page.home.HomePageUi$composable........ (HomePage.kt:144)");var o=t._v.k3b().y35_1,s=t._v,a=i;a.e12(-838505973),_n(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,c=a,l=a.j12(s),h=c.f12();if(l||h===mn().h12_1){var p=function(t){var n=function(){return t.p3b(),jt()};return n.callableName="onToggleTestNameDetectionClicked",n}(s);c.g12(p),u=p}else u=h;var f=u,_=null==f||gn(f)?f:xt();return a.i12(),Do(o,_,i,0),ln()&&(pn(),jt()),jt()}}(t)),P=i;P.e12(-838505973),_n(P,"C(remember$composable)P(1):Composables.kt#9igjgp");var M,A=P,E=P.j12(O),I=A.f12();if(E||I===mn().h12_1){var D=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(O);A.g12(D),M=D}else M=I;var T=M,B=null==T||gn(T)?T:xt();P.i12(),$n(q,B,i,48,0)}if(!t._v.c3a_1.h()){var L=i;L.e12(547886695),_n(L,"C(remember$composable):Composables.kt#9igjgp");var N,R=L,F=R.f12();if(F===mn().h12_1){var H=us;R.g12(H),N=H}else N=F;var U=N,V=null==U||gn(U)?U:xt();L.i12();var W=V,J=yn(i,1874650163,!0,function(t,n){return function(n,e,r){var i=e;ln()&&cn(1874650163,r,-1,"page.home.HomePageUi$composable........ (HomePage.kt:157)");var o=t._v.c3a_1,s=t._v,a=i;a.e12(-838505973),_n(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,c=a,l=a.j12(s),h=c.f12();if(l||h===mn().h12_1){var p=function(t){return function(n){return t._v.q3b(n),jt()}}(t);c.g12(p),u=p}else u=h;var f=u,_=null==f||gn(f)?f:xt();return a.i12(),Fo(o,null,_,i,0,2),ln()&&(pn(),jt()),jt()}}(t)),K=i;K.e12(-838505973),_n(K,"C(remember$composable)P(1):Composables.kt#9igjgp");var Y,G=K,X=K.j12(J),Z=G.f12();if(X||Z===mn().h12_1){var Q=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(J);G.g12(Q),Y=Q}else Y=Z;var tt=Y,nt=null==tt||gn(tt)?tt:xt();K.i12(),$n(W,nt,i,48,0)}return ln()&&(pn(),jt()),jt()}}(t)),_=i;_.e12(-838505973),_n(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v=_,y=_.j12(f),m=v.f12();if(y||m===mn().h12_1){var g=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(f);v.g12(g),d=g}else d=m;var $=d,b=null==$||gn($)?$:xt();return _.i12(),$n(p,b,i,48,0),ln()&&(pn(),jt()),jt()}}(t)),s=i;s.e12(-838505973),_n(s,"C(remember$composable)P(1):Composables.kt#9igjgp");var a,u=s,c=s.j12(o),l=u.f12();if(c||l===mn().h12_1){var h=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(o);u.g12(h),a=h}else a=l;var p=a,f=null==p||gn(p)?p:xt();return s.i12(),An(null,null,f,i,384,3),ln()&&(pn(),jt()),jt()}}(t)),j=s;j.e12(-838505973),_n(j,"C(remember$composable)P(1):Composables.kt#9igjgp");var z,C=j,S=j.j12(k),q=C.f12();if(S||q===mn().h12_1){var O=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(k);C.g12(O),z=O}else z=q;var P=z,M=null==P||gn(P)?P:xt();j.i12(),$n(x,M,s,48,0),In(null,s,0,1);var A=s;A.e12(-838505973),_n(A,"C(remember$composable)P(1):Composables.kt#9igjgp");var E,I=A,D=A.j12(e),T=I.f12();if(D||T===mn().h12_1){var B=Pe(e,2);I.g12(B),E=B}else E=T;var N=E,R=null==N||gn(N)?N:xt();A.i12();for(var F=R.c();F.d();){var H=F.e(),U=s;U.e12(547886695),_n(U,"C(remember$composable):Composables.kt#9igjgp");var V,W=U,J=W.f12();if(J===mn().h12_1){var K=cs;W.g12(K),V=K}else V=J;var Y=V,G=null==Y||gn(Y)?Y:xt();U.i12();var X=G,Z=yn(s,-2034949684,!0,fs(H,t,r)),Q=s;Q.e12(-838505973),_n(Q,"C(remember$composable)P(1):Composables.kt#9igjgp");var tt,nt=Q,et=Q.j12(Z),rt=nt.f12();if(et||rt===mn().h12_1){var it=_s(Z);nt.g12(it),tt=it}else tt=rt;var ot=tt,st=null==ot||gn(ot)?ot:xt();Q.i12(),$n(X,st,s,48,0)}return ln()&&(pn(),jt()),jt()}}(t,0,j,C)),T=i;T.e12(-838505973),_n(T,"C(remember$composable)P(1):Composables.kt#9igjgp");var B,N=T,R=T.j12(D),F=N.f12();if(R||F===mn().h12_1){var H=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(D);N.g12(H),B=H}else B=F;var U=B,V=null==U||gn(U)?U:xt();T.i12(),$n(I,V,i,48,0),jt(),jt()}return ln()&&(pn(),jt()),jt()}}(a)),d=r;d.e12(-838505973),_n(d,"C(remember$composable)P(1):Composables.kt#9igjgp");var v,y,m=d,g=d.j12(_),$=m.f12();if(g||$===mn().h12_1){var b=(y=_,function(t,n,e){return y.n1y(t,n,e)});m.g12(b),v=b}else v=$;var w=v,x=null==w||gn(w)?w:xt();return d.i12(),$n(f,x,r,48,0),ln()&&(pn(),jt()),jt()})),z=o;z.e12(-838505973),_n(z,"C(remember$composable)P(1):Composables.kt#9igjgp");var C,S=z,q=z.j12(j),O=S.f12();if(q||O===mn().h12_1){var P=(s=j,function(t,n,e){return s.n1y(t,n,e)});S.g12(P),C=P}else C=O;var M=C,A=null==M||gn(M)?M:xt();z.i12(),$n(k,A,o,48,0),ln()&&pn()}var E=o.o1d();null===E||E.j1e(function(t,n,e){return function(r,i){return function(t,n,e,r,i){Zo(t._v,r,1|n,e)}(t,n,e,r),jt()}}(i,e,r))}function Qo(t){return t.w20(["container-fluid"]),jt()}function ts(t){return t.w20(["row"]),t.u20(ns),jt()}function ns(t){return Se(t,Sn(40)),qe(t,Sn(40)),Oe(t,Sn(40)),jt()}function es(t){return t.w20(["col-lg-4"]),jt()}function rs(t){return t.w20(["col-lg-8"]),jt()}function is(t){return t.w20(["row"]),jt()}function os(t){return t.w20(["row"]),jt()}function ss(t){return t.w20(["col-md-2"]),jt()}function as(t){return t.w20(["col-md-2"]),jt()}function us(t){return t.w20(["col-md-4"]),jt()}function cs(t){return t.w20(["row"]),jt()}function ls(t){return function(n){return n.w20([t.t36_1]),jt()}}function hs(t,n,e){return function(r,i,o){var s=i;return ln()&&cn(1979032493,o,-1,"page.home.HomePageUi$composable...... (HomePage.kt:187)"),Xr(t._v.k3b().z35_1,n.l36_1,e,s,576),ln()&&(pn(),jt()),jt()}}function ps(t){return function(n,e,r){return t.n1y(n,e,r)}}function fs(t,n,e){return function(r,i,o){var s=i;ln()&&cn(-2034949684,o,-1,"page.home.HomePageUi$composable..... (HomePage.kt:182)");for(var a=t.c();a.d();){var u=a.e(),c=ls(u),l=yn(s,1979032493,!0,hs(n,e,u)),h=s;h.e12(-838505973),_n(h,"C(remember$composable)P(1):Composables.kt#9igjgp");var p,f=h,_=h.j12(l),d=f.f12();if(_||d===mn().h12_1){var v=ps(l);f.g12(v),p=v}else p=d;var y=p,m=null==y||gn(y)?y:xt();h.i12(),$n(c,m,s,48,0)}return ln()&&(pn(),jt()),jt()}}function _s(t){return function(n,e,r){return t.n1y(n,e,r)}}function ds(){N=this,this.v3b_1="Something went wrong!"}function vs(){return null==N&&new ds,N}function ys(t,n){return ze("savedBenchmarks",1,Be,(function(t){return t.m3b()}),(function(t,n){return ys(t,n)})),t.a3a_1.jy(n)}function ms(t,n){return ze("chartsBundle",1,Be,(function(t){return t.t3b()}),(function(t,n){return ms(t,n)})),t.d3a_1.jy(n)}function gs(t,n){return ze("errorMsg",1,Be,(function(t){return t.u3b()}),(function(t,n){return gs(t,n)})),t.e3a_1.jy(n)}function $s(t,n){return ze("isEditableTitleEnabled",1,Be,(function(t){return t.s3b()}),(function(t,n){return $s(t,n)})),t.f3a_1.jy(n)}function bs(t,n){return ze("shouldSelectUnsaved",1,Be,(function(t){return t.l3b()}),(function(t,n){return bs(t,n)})),t.g3a_1.jy(n)}function ws(t,n){return ze("selectedBlockNameOne",1,Be,(function(t){return t.i3b()}),(function(t,n){return ws(t,n)})),t.h3a_1.jy(n)}function xs(t,n){return ze("selectedBlockNameTwo",1,Be,(function(t){return t.j3b()}),(function(t,n){return xs(t,n)})),t.i3a_1.jy(n)}function ks(t,n){return ze("inputType",1,Be,(function(t){return t.r3b()}),(function(t,n){return ks(t,n)})),t.l3a_1.jy(n)}function js(t,n){return ze("unit",1,Be,(function(t){return t.q28()}),(function(t,n){return js(t,n)})),t.m3a_1.jy(n)}function zs(t,n){return ze("bestAggSummary",1,Be,(function(t){return t.b3b()}),(function(t,n){return zs(t,n)})),t.n3a_1.jy(n)}function Cs(t,n){return ze("worstAggSummary",1,Be,(function(t){return t.h3b()}),(function(t,n){return Cs(t,n)})),t.o3a_1.jy(n)}function Ss(t,n){return ze("form",1,Be,(function(t){return t.k3b()}),(function(t,n){return Ss(t,n)})),t.p3a_1.jy(n)}function qs(t){ys(t,t.y39_1.w3b())}function Os(t,n){t.j3a_1.s7();var e=Bt(n.l36_1.i36_1.b3());t.j3a_1.w1x(e),e.f()>=2&&(ws(t,e.g(0)),xs(t,e.g(1))),Ps(t)}function Ps(t){t.k3a_1.s7();var n,e=kt(t.r3b(),xr()),r=t.t3b(),i=null==r?null:r.m36_1;if(null==i)n=null;else{for(var o=qt(),s=i.c();s.d();){var a=s.e(),u=Ks().y3b(e,a,t.i3b(),t.j3b());null==u||(o.a(u),jt())}n=o}var c=n;t.k3a_1.w1x(null==c?Ee():c)}function Ms(t,n,e){return function(){bs(t,n);try{t.q3a_1.s7(),t.c3a_1.s7();var r=yr().w35(e);if(null==r)return ws(t,null),xs(t,null),t.j3a_1.s7(),ms(t,null),Ps(t),t.k3a_1.s7(),zs(t,null),Cs(t,null),jt();var i=r,o=i.l4(),s=i.m4();ks(t,o),t.q3a_1.j1(s);var a=o.s1_1;if(0===a){var u=function(t){for(var n,e=Tt(t),r=Dt(),i=e.d36_1.c();i.d();){var o=i.e();r.v3(o.f35_1,o.g35_1)}var s=r;Rt("chartSet -> "+s),n=s;var a=new Mr("📊",e.b36_1,n,"col-lg-12");return new Or(Sr(t,!0),en(a))}(t.q3a_1);ms(t,u),Os(t,u),js(t,"")}else if(1===a){for(var c,l=t.c3a_1,h=t.q3a_1,p=qt(),f=h.c();f.d();){var _=f.e().c36_1;null==_||(p.a(_),jt())}c=p,l.w1x(tn(c));var d,v=t.c3a_1;t:{for(var y=v.c();y.d();){var m=y.e();if(m===t.b3a_1){d=m;break t}}d=null}var g,$=d,b=null==$?Gt(t.c3a_1):$;if(null!=b){for(var w=t.q3a_1,x=qt(),k=w.c();k.d();){var j=k.e();j.c36_1==b&&x.a(j)}g=x}else g=t.q3a_1;var z=zr(g);ms(t,z),Os(t,z),js(t,"ms")}(function(t){for(var n,e=kt(t.r3b(),xr()),r=qt(),i=t.j3a_1.c();i.d();)for(var o=i.e(),s=t.j3a_1.c();s.d();){var a=s.e();if(o!==a){var u,c=t.t3b(),l=null==c?null:c.m36_1;if(null==l)u=null;else{for(var h=qt(),p=l.c();p.d();){var f=p.e(),_=Ks().y3b(e,f,o,a);null==_||(h.a(_),jt())}u=h}if(null==u);else{for(var d=0,v=0,y=u.c();y.d();)for(var m=y.e().n39_1.c();m.d();){var g=m.e();g.z38_1>0?v=v+Me(g.z38_1)|0:g.z38_1<0&&(d=d-Me(g.z38_1)|0)}r.a(new Es(o,a,d,v))}}}var $,b=r.c();if(b.d()){var w=b.e();if(b.d()){var x=w.e3b_1;do{var k=b.e(),j=k.e3b_1;Ae(x,j)<0&&(w=k,x=j)}while(b.d());n=w}else n=w}else n=null;zs(t,n);var z=r.c();if(z.d()){var C=z.e();if(z.d()){var S=C.f3b_1;do{var q=z.e(),O=q.f3b_1;Ae(S,O)<0&&(C=q,S=O)}while(z.d());$=C}else $=C}else $=null;Cs(t,$)})(t),gs(t,""),jt()}catch(n){if(!(n instanceof Error))throw n;t.k3a_1.s7(),Ie(n);var C,S=n.message;null==S?(vs(),C="Something went wrong!"):C=S,gs(t,C),jt()}return jt()}}function As(t,n){vs(),this.y39_1=t,this.z39_1=n;var e=Ee();this.a3a_1=ae(e,null,2,null),this.b3a_1=null,this.c3a_1=De(),this.d3a_1=ae(null,null,2,null),this.e3a_1=ae("",null,2,null),this.f3a_1=ae(!1,null,2,null),this.g3a_1=ae(!1,null,2,null),this.h3a_1=ae(null,null,2,null),this.i3a_1=ae(null,null,2,null),this.j3a_1=De(),this.k3a_1=De(),this.l3a_1=ae(null,null,2,null),this.m3a_1=ae("",null,2,null),this.n3a_1=ae(null,null,2,null),this.o3a_1=ae(null,null,2,null);var r=this.z39_1.z3b(),i=null==r?new Ar((null==H&&new Hs,H).a3c_1,!1,!1):r;this.p3a_1=ae(i,null,2,null),qs(this);var o;o=qt(),this.q3a_1=o,this.r3a_1=null}function Es(t,n,e,r){this.c3b_1=t,this.d3b_1=n,this.e3b_1=e,this.f3b_1=r,this.g3b_1=0}function Is(){}function Ds(){R=this,this.m3c_1="savedBenchmarks"}function Ts(){return null==R&&new Ds,R}function Bs(){Ts(),this.n3c_1=0}function Ls(){}function Ns(){F=this,this.q3c_1="auto_form_input",this.r3c_1="is_test_name_detection_enabled",this.s3c_1="is_auto_group_enabled"}function Rs(){return null==F&&new Ns,F}function Fs(){Rs(),this.t3c_1=0}function Hs(){H=this,this.a3c_1="- Before 1\n# first line will be treated as title of the block\n special chars will be stripped from the title\nHomeScrollBenchmark_scrollTest\nframeDurationCpuMs P50 40.5, P90 45.8, P95 60.4, P99 80.4\nframeOverrunMs P50 -5.9, P90 7.0, P95 20.1, P99 64.4\nTraces: Iteration 0 1 2 3 4\n\n## Before 2\n# line breaks are used to separate the block\nHomeScrollBenchmark_scrollTest\nframeDurationCpuMs P50 45.5, P90 43.8, P95 58.4, P99 78.4\nframeOverrunMs P50 -6.5, P90 5.4, P95 15.0, P99 60.3\nTraces: Iteration 0 1 2 3 4\n\nAfter 1\nyou can include whatever text you want anywhere you want\nHomeScrollBenchmark_scrollTest\nframeDurationCpuMs P50 13.6, P90 21.8, P95 27.5, P99 49.4\nthe order doesn't matter\nframeOverrunMs P50 -6.2, P90 7.3, P95 19.5, P99 61.7\nTraces: Iteration 0 1 2 3 4\n\n> After 2\nHomeScrollBenchmark_scrollTest\nframeDurationCpuMs P50 13.8, P90 21.9, P95 27.3, P99 53.4\nsee.. am some random text\nframeOverrunMs P50 -5.7, P90 7.4, P95 22.4, P99 63.2\nTraces: Iteration 0 1 2 3 4",this.b3c_1=0}function Us(t){return t.a2w_1=!0,jt()}function Vs(){U=this,this.o3c_1=Ke(null,Us,1,null),this.p3c_1=8}function Ws(){return null==U&&new Vs,U}function Js(){V=this,this.x3b_1=0}function Ks(){return null==V&&new Js,V}return Qe.prototype=Object.create(Error.prototype),Qe.prototype.constructor=Qe,tr.prototype=Object.create(Qe.prototype),tr.prototype.constructor=tr,ir.prototype=Object.create(zt.prototype),ir.prototype.constructor=ir,sr.prototype=Object.create(zt.prototype),sr.prototype.constructor=sr,Rr.prototype=Object.create(bn.prototype),Rr.prototype.constructor=Rr,Qe.$metadata$=$t("InvalidDataException",void 0,void 0,void 0,void 0,Error.prototype),tr.$metadata$=$t("InvalidBenchmarkDataException",void 0,void 0,void 0,void 0,Qe.prototype),nr.prototype.i35=function(){return this.f35_1},nr.prototype.j35=function(){return this.g35_1},nr.prototype.toString=function(){return"BlockRow(title="+this.f35_1+", data="+this.g35_1+")"},nr.prototype.hashCode=function(){var t=bt(this.f35_1);return W(t,31)+wt(this.g35_1)|0},nr.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof nr))return!1;var n=t instanceof nr?t:xt();return this.f35_1===n.f35_1&&!!kt(this.g35_1,n.g35_1)},nr.$metadata$=$t("BlockRow"),ir.prototype.k2=function(){return this.m35_1},ir.$metadata$=$t("SupportedMetrics",void 0,void 0,void 0,void 0,zt.prototype),sr.$metadata$=$t("InputType",void 0,void 0,void 0,void 0,zt.prototype),vr.prototype.w35=function(t){for(var n=Ot(t.x35_1,["\n"],!1,0,6,null),e=St(n,"\n",null,null,0,null,_r,30,null),r=Vt(),i=Wt("^\\s+",r).ba(e,0),o=Mt(Pt(i,10)),s=i.c();s.d();){var a,u=s.e();a=It(Et(At(u)?u:xt())),o.a(a)}for(var c=o,l=qt(),h=c.c();h.d();){var p=h.e();!Jt(p)&&l.a(p)}var f=l;if(Rt("parsing input..."),f.h())return null;if(function(t){jr();var n=t.x35_1,e=er(),r=Zt(e,"|","(",")",0,null,wr,24,null);return!Nt(r).ea(n)}(t))return ar(this,f);Rt("parsing machine generated benchmark input...");for(var _=qt(),d=f.c(),v=0;d.d();){var y=v;v=v+1|0;var m=d.e();Rt("block: '"+m+"'");for(var g=Ot(m,["\n"],!1,0,6,null),$=Mt(Pt(g,10)),b=g.c();b.d();){var w,x=b.e();w=It(Et(At(x)?x:xt())),$.a(w)}for(var k=$,j=null,z=null,C=qt(),S=k.c();S.d();){var q=S.e();null==j&&hr(this,q)&&(j=q),t.y35_1&&ur(this,q)&&(null!=z&&!C.h()&&(null==j&&(j="benchmark "+y+" "+z),_.a(new mr(j,z,C)),C.s7()),z=q);var O=fr(q,this);if(null!=O){var P;t:{for(var M=C.c();M.d();){var A=M.e();if(A.f35_1===O){P=A;break t}}P=null}if(null!=P)throw new tr("Two "+O+" found in block "+(y+1|0)+". Expected only one");C.a(new nr(O,pr(0,O,q)))}}null==j&&(j="benchmark "+y),j=cr(this,j),!C.h()&&_.a(new mr(j,z,C))}return new Ct(kr(),_)},vr.$metadata$=Kt("Companion"),mr.prototype.i35=function(){return this.b36_1},mr.prototype.f36=function(){return this.c36_1},mr.prototype.g36=function(){return this.d36_1},mr.prototype.toString=function(){return"BenchmarkResult(title="+this.b36_1+", testName="+this.c36_1+", blockRows="+this.d36_1+")"},mr.prototype.hashCode=function(){var t=bt(this.b36_1);return t=W(t,31)+(null==this.c36_1?0:bt(this.c36_1))|0,W(t,31)+wt(this.d36_1)|0},mr.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof mr))return!1;var n=t instanceof mr?t:xt();return this.b36_1===n.b36_1&&this.c36_1==n.c36_1&&!!kt(this.d36_1,n.d36_1)},mr.$metadata$=$t("BenchmarkResult"),gr.prototype.p35=function(t){var n,e=Ze(),r=Yt(e.fl(t,0,2,null)),i=null==r?null:r.sa();Rt("group: "+i);var o=null==(n=i)?null:Gt(n);if(null==o){var s=t+" doesn't match the regex '"+Ze().w9_1+"'";throw Lt(It(s))}var a=o;return new br(Nt(a+"$").ca(t,""),Ut(a))},gr.$metadata$=Kt("Companion"),br.prototype.toString=function(){return"TextNumberLine(text="+this.q35_1+", number="+this.r35_1+")"},br.prototype.hashCode=function(){var t=bt(this.q35_1);return W(t,31)+Xt(this.r35_1)|0},br.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof br))return!1;var n=t instanceof br?t:xt();return this.q35_1===n.q35_1&&!!kt(this.r35_1,n.r35_1)},br.$metadata$=$t("TextNumberLine"),Cr.prototype.k36=function(){return this.h36_1},Cr.prototype.toString=function(){return"GroupMap(autoGroupMap="+this.h36_1+", wordColorMap="+this.i36_1+")"},Cr.prototype.hashCode=function(){var t=wt(this.h36_1);return W(t,31)+wt(this.i36_1)|0},Cr.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Cr))return!1;var n=t instanceof Cr?t:xt();return!!kt(this.h36_1,n.h36_1)&&!!kt(this.i36_1,n.i36_1)},Cr.$metadata$=$t("GroupMap"),Or.prototype.o36=function(){return this.l36_1},Or.prototype.p36=function(){return this.m36_1},Or.prototype.toString=function(){return"ChartsBundle(groupMap="+this.l36_1+", charts="+this.m36_1+")"},Or.prototype.hashCode=function(){var t=this.l36_1.hashCode();return W(t,31)+wt(this.m36_1)|0},Or.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Or))return!1;var n=t instanceof Or?t:xt();return!!this.l36_1.equals(n.l36_1)&&!!kt(this.m36_1,n.m36_1)},Or.$metadata$=$t("ChartsBundle"),Mr.prototype.v36=function(){return this.q36_1},Mr.prototype.w36=function(){return this.r36_1},Mr.prototype.x36=function(){return this.s36_1},Mr.prototype.y36=function(){return this.t36_1},Mr.prototype.toString=function(){return"Chart(emoji="+this.q36_1+", label="+this.r36_1+", dataSets="+this.s36_1+", bsClass="+this.t36_1+")"},Mr.prototype.hashCode=function(){var t=bt(this.q36_1);return t=W(t,31)+bt(this.r36_1)|0,t=W(t,31)+wt(this.s36_1)|0,W(t,31)+bt(this.t36_1)|0},Mr.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Mr))return!1;var n=t instanceof Mr?t:xt();return this.q36_1===n.q36_1&&this.r36_1===n.r36_1&&!!kt(this.s36_1,n.s36_1)&&this.t36_1===n.t36_1},Mr.$metadata$=$t("Chart"),Ar.prototype.j35=function(){return this.x35_1},Ar.prototype.z36=function(){return this.y35_1},Ar.prototype.a37=function(){return this.z35_1},Ar.prototype.b37=function(t,n,e){return new Ar(t,n,e)},Ar.prototype.c37=function(t,n,e,r,i){return 0!=(1&r)&&(t=this.x35_1),0!=(2&r)&&(n=this.y35_1),0!=(4&r)&&(e=this.z35_1),this.b37(t,n,e)},Ar.prototype.toString=function(){return"FormData(data="+this.x35_1+", isTestNameDetectionEnabled="+this.y35_1+", isAutoGroupEnabled="+this.z35_1+")"},Ar.prototype.hashCode=function(){var t=bt(this.x35_1);return t=W(t,31)+(0|this.y35_1)|0,W(t,31)+(0|this.z35_1)|0},Ar.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Ar))return!1;var n=t instanceof Ar?t:xt();return this.x35_1===n.x35_1&&this.y35_1===n.y35_1&&this.z35_1===n.z35_1},Ar.$metadata$=$t("FormData"),Er.prototype.d37=function(){return"line"},Er.$metadata$=Kt("Companion"),Br.prototype.h37=function(){return this.f37_1},Br.prototype.i37=function(){return this.g37_1},Br.$metadata$=Kt("ComposableSingletons$AutoFormUiKt"),Rr.prototype.p1j=function(t,n){var e=this.q1j(t,n);return e.l7_1=jt(),e.m7_1=null,e.q7()},Rr.prototype.r7=function(t,n){return this.p1j(null!=t&&xn(t,wn)?t:xt(),n)},Rr.prototype.q7=function(){for(this.l7_1;;)try{var t=this.j7_1;if(0===t)return this.k7_1=1,this.r37_1(this.s37_1),jt();if(1===t)throw this.m7_1}catch(t){throw t}},Rr.prototype.q1j=function(t,n){var e=new Rr(this.r37_1,this.s37_1,n);return e.t37_1=t,e},Rr.$metadata$=$t("FormUi$composable$slambda",void 0,void 0,void 0,[1],bn.prototype),Wr.prototype.v37=function(){return this.u37_1},Wr.$metadata$=Kt("ComposableSingletons$AutoGroupToggleKt"),ti.prototype.js=function(){this.w37_1.destroy()},ti.$metadata$=$t(void 0,[Fn]),ui.$metadata$=Kt("ComposableSingletons$EditableTitleKt"),wi.$metadata$=Kt("ComposableSingletons$HeadingKt"),zi.$metadata$=Kt("Companion"),Ci.prototype.t2c=function(){return this.d38_1},Ci.prototype.n2m=function(){return[ne(),ne()]},Ci.prototype.v2c=function(t){var n=this.d38_1,e=!0,r=0,i=0,o=null,s=null,a=t.s2f(n);if(a.g2g())o=a.c2g(n,0),i|=1,s=a.c2g(n,1),i|=2;else for(;e;)switch(r=a.h2g(n)){case-1:e=!1;break;case 0:o=a.c2g(n,0),i|=1;break;case 1:s=a.c2g(n,1),i|=2;break;default:throw ee(r)}return a.t2f(n),qi(i,o,s)},Ci.prototype.f38=function(t,n){var e=this.d38_1,r=t.s2f(e);r.e2h(e,0,n.g38_1),r.e2h(e,1,n.h38_1),r.t2f(e)},Ci.prototype.u2c=function(t,n){return this.f38(t,n instanceof Oi?n:xt())},Ci.$metadata$=Kt("$serializer",[ie]),Oi.prototype.k2=function(){return this.g38_1},Oi.prototype.toString=function(){return"SavedBenchmarkNode(key="+this.g38_1+", value="+this.h38_1+")"},Oi.prototype.hashCode=function(){var t=bt(this.g38_1);return W(t,31)+bt(this.h38_1)|0},Oi.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Oi))return!1;var n=t instanceof Oi?t:xt();return this.g38_1===n.g38_1&&this.h38_1===n.h38_1},Oi.$metadata$=$t("SavedBenchmarkNode",void 0,void 0,{0:Si}),Pi.$metadata$=Kt("Companion"),Mi.prototype.t2c=function(){return this.j38_1},Mi.prototype.n2m=function(){return[new se(Si())]},Mi.prototype.v2c=function(t){var n=this.j38_1,e=!0,r=0,i=0,o=null,s=t.s2f(n);if(s.g2g())o=s.e2g(n,0,new se(Si()),o),i|=1;else for(;e;)switch(r=s.h2g(n)){case-1:e=!1;break;case 0:o=s.e2g(n,0,new se(Si()),o),i|=1;break;default:throw ee(r)}return s.t2f(n),Ei(i,o)},Mi.prototype.l38=function(t,n){var e=this.j38_1,r=t.s2f(e);r.g2h(e,0,new se(Si()),n.m38_1),r.t2f(e)},Mi.prototype.u2c=function(t,n){return this.l38(t,n instanceof Ii?n:xt())},Mi.$metadata$=Kt("$serializer",[ie]),Ii.prototype.toString=function(){return"SavedBenchmarks(items="+this.m38_1+")"},Ii.prototype.hashCode=function(){return wt(this.m38_1)},Ii.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Ii))return!1;var n=t instanceof Ii?t:xt();return!!kt(this.m38_1,n.m38_1)},Ii.$metadata$=$t("SavedBenchmarks",void 0,void 0,{0:Ai}),Ri.prototype.h37=function(){return this.p38_1},Ri.prototype.i37=function(){return this.q38_1},Ri.prototype.s38=function(){return this.r38_1},Ri.$metadata$=Kt("ComposableSingletons$SavedBenchmarksDropDownKt"),no.prototype.e39=function(){return this.t38_1},no.prototype.v36=function(){return this.u38_1},no.prototype.f39=function(){return this.v38_1},no.prototype.w36=function(){return this.w38_1},no.prototype.g39=function(){return this.x38_1},no.prototype.h39=function(){return this.y38_1},no.prototype.i39=function(){return this.z38_1},no.prototype.j39=function(){return this.a39_1},no.prototype.k39=function(){return this.b39_1},no.prototype.l39=function(){return this.c39_1},no.$metadata$=$t("SummaryNode"),eo.prototype.l1n=function(){return this.n39_1},eo.prototype.toString=function(){return"Summary(title="+this.m39_1+", nodes="+this.n39_1+")"},eo.prototype.hashCode=function(){var t=bt(this.m39_1);return W(t,31)+wt(this.n39_1)|0},eo.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof eo))return!1;var n=t instanceof eo?t:xt();return this.m39_1===n.m39_1&&!!kt(this.n39_1,n.n39_1)},eo.$metadata$=$t("Summary"),io.prototype.u1n=function(){var t=ro(this).cloneNode();return t instanceof Element?t:xt()},io.$metadata$=$t("ElementBuilderImplementation",[me]),uo.prototype.i37=function(){return this.t39_1},uo.$metadata$=Kt("ComposableSingletons$SummaryKt"),Io.prototype.v37=function(){return this.u39_1},Io.$metadata$=Kt("ComposableSingletons$TestNameDetectionToggleKt"),Ro.prototype.v37=function(){return this.v39_1},Ro.$metadata$=Kt("ComposableSingletons$TestNamesKt"),Yo.$metadata$=Kt("ComposableSingletons$MainKt"),Xo.prototype.v37=function(){return this.x39_1},Xo.$metadata$=Kt("ComposableSingletons$HomePageKt"),ds.$metadata$=Kt("Companion"),As.prototype.m3b=function(){return ze("savedBenchmarks",1,Be,(function(t){return t.m3b()}),(function(t,n){return ys(t,n)})),this.a3a_1.m2()},As.prototype.c3c=function(){return this.c3a_1},As.prototype.t3b=function(){return ze("chartsBundle",1,Be,(function(t){return t.t3b()}),(function(t,n){return ms(t,n)})),this.d3a_1.m2()},As.prototype.u3b=function(){return ze("errorMsg",1,Be,(function(t){return t.u3b()}),(function(t,n){return gs(t,n)})),this.e3a_1.m2()},As.prototype.s3b=function(){return ze("isEditableTitleEnabled",1,Be,(function(t){return t.s3b()}),(function(t,n){return $s(t,n)})),this.f3a_1.m2()},As.prototype.l3b=function(){return ze("shouldSelectUnsaved",1,Be,(function(t){return t.l3b()}),(function(t,n){return bs(t,n)})),this.g3a_1.m2()},As.prototype.i3b=function(){return ze("selectedBlockNameOne",1,Be,(function(t){return t.i3b()}),(function(t,n){return ws(t,n)})),this.h3a_1.m2()},As.prototype.j3b=function(){return ze("selectedBlockNameTwo",1,Be,(function(t){return t.j3b()}),(function(t,n){return xs(t,n)})),this.i3a_1.m2()},As.prototype.d3c=function(){return this.j3a_1},As.prototype.e3c=function(){return this.k3a_1},As.prototype.r3b=function(){return ze("inputType",1,Be,(function(t){return t.r3b()}),(function(t,n){return ks(t,n)})),this.l3a_1.m2()},As.prototype.q28=function(){return ze("unit",1,Be,(function(t){return t.q28()}),(function(t,n){return js(t,n)})),this.m3a_1.m2()},As.prototype.b3b=function(){return ze("bestAggSummary",1,Be,(function(t){return t.b3b()}),(function(t,n){return zs(t,n)})),this.n3a_1.m2()},As.prototype.h3b=function(){return ze("worstAggSummary",1,Be,(function(t){return t.h3b()}),(function(t,n){return Cs(t,n)})),this.o3a_1.m2()},As.prototype.k3b=function(){return ze("form",1,Be,(function(t){return t.k3b()}),(function(t,n){return Ss(t,n)})),this.p3a_1.m2()},As.prototype.f3c=function(t,n){var e,r=this.r3a_1;null==r||(clearTimeout(r),jt()),this.r3a_1=setTimeout((e=t,function(){return e(),jt()}),n)},As.prototype.g3c=function(t,n){Ss(this,t),this.z39_1.h3c(t),this.f3c(Ms(this,n,t),300)},As.prototype.s3a=function(t,n,e,r){return 0!=(2&e)&&(n=!0),this.g3c(t,n)},As.prototype.q3b=function(t){try{var n;if(this.b3a_1=t,null!=this.b3a_1){for(var e=this.q3a_1,r=qt(),i=e.c();i.d();){var o=i.e();o.c36_1==this.b3a_1&&r.a(o)}n=r}else n=this.q3a_1;ms(this,zr(n)),Ps(this),gs(this,"")}catch(t){if(!(t instanceof Error))throw t;this.k3a_1.s7(),Ie(t);var s,a=t.message;null==a?(vs(),s="Something went wrong!"):s=a,gs(this,s)}},As.prototype.n3b=function(){$s(this,!0)},As.prototype.o3b=function(){var t=this.k3b().c37(null,!1,!this.k3b().z35_1,3,null);this.s3a(t,!1,2,null)},As.prototype.p3b=function(){var t=this.k3b(),n=!this.k3b().y35_1,e=t.c37(null,n,!1,5,null);this.s3a(e,!1,2,null)},As.prototype.t3a=function(t){var n,e=window.prompt("Name: ");if(null==e||Jt(e))return jt();t:{for(var r=this.m3b().c();r.d();){var i=r.e();if(i.g38_1===e){n=i;break t}}n=null}if(null!=n)return window.alert("Bruhh.. "+e+" exists! Try something else"),jt();var o=Te(this.m3b());o.yf(0,new Oi(e,t.x35_1));var s=o;this.y39_1.i3c(s),bs(this,!1),qs(this)},As.prototype.v3a=function(t){var n=this.k3b().c37(t.h38_1,!1,!1,6,null);this.g3c(n,!1)},As.prototype.w3a=function(t){window.confirm("Do you want to delete `"+t.g38_1+"` ?")&&(this.y39_1.j3c(t),bs(this,!0),qs(this))},As.prototype.u3a=function(t){if(bs(this,t===Di()),this.l3b()){var n=this.z39_1.z3b(),e=null==n?this.k3b():n;this.g3c(e,!1)}},As.prototype.z3a=function(t){ws(this,t),Ps(this)},As.prototype.a3b=function(t){xs(this,t),Ps(this)},As.prototype.x3a=function(){var t=this.b3b();ws(this,null==t?null:t.c3b_1);var n=this.b3b();xs(this,null==n?null:n.d3b_1),Ps(this)},As.prototype.y3a=function(){var t=this.h3b();ws(this,null==t?null:t.c3b_1);var n=this.h3b();xs(this,null==n?null:n.d3b_1),Ps(this)},As.$metadata$=$t("HomeViewModel"),Es.prototype.k3c=function(){return this.e3b_1},Es.prototype.l3c=function(){return this.f3b_1},Es.prototype.toString=function(){return"AggSummary(blockOneName="+this.c3b_1+", blockTwoName="+this.d3b_1+", sumOfGreen="+this.e3b_1+", sumOfRed="+this.f3b_1+")"},Es.prototype.hashCode=function(){var t=bt(this.c3b_1);return t=W(t,31)+bt(this.d3b_1)|0,t=W(t,31)+this.e3b_1|0,W(t,31)+this.f3b_1|0},Es.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Es))return!1;var n=t instanceof Es?t:xt();return this.c3b_1===n.c3b_1&&this.d3b_1===n.d3b_1&&this.e3b_1===n.e3b_1&&this.f3b_1===n.f3b_1},Es.$metadata$=$t("AggSummary"),Is.$metadata$=Le("BenchmarkRepo"),Ds.$metadata$=Kt("Companion"),Bs.prototype.w3b=function(){var t=window.localStorage;Ts();var n,e=t.getItem("savedBenchmarks");if(null==e)n=new Ii(Ee());else{var r;Rt("JSON is '"+e+"'");try{var i,o=Ws().o3c_1,s=o.n2d(),a=He(s,Fe(Ne(Ii),Re([]),!1));i=xn(a,Ue)?a:xt(),r=o.m2d(i,e)}catch(t){var u;if(!(t instanceof Ve))throw t;Ie(t),u=Ee(),this.i3c(u),r=new Ii(Ee())}n=r}return Bt(n.m38_1)},Bs.prototype.i3c=function(t){var n,e=Ws().o3c_1,r=new Ii(t),i=e.n2d(),o=He(i,Fe(Ne(Ii),Re([]),!1));n=xn(o,Ue)?o:xt();var s=e.l2d(n,r),a=window.localStorage;Ts(),a.setItem("savedBenchmarks",s)},Bs.prototype.j3c=function(t){var n,e=Te(this.w3b());We(e,(n=t,function(t){return t.g38_1===n.g38_1}));var r=e;this.i3c(r)},Bs.$metadata$=$t("BenchmarkRepoImpl",[Is]),Ls.$metadata$=Le("FormRepo"),Ns.$metadata$=Kt("Companion"),Fs.prototype.h3c=function(t){var n=window.localStorage;Rs(),n.setItem("auto_form_input",t.x35_1),Rs(),n.setItem("is_test_name_detection_enabled",t.y35_1.toString()),Rs(),n.setItem("is_auto_group_enabled",t.z35_1.toString())},Fs.prototype.z3b=function(){var t=window.localStorage;Rs();var n=t.getItem("auto_form_input");if(null==n)return null;var e=n;Rs();var r=Je(t.getItem("is_test_name_detection_enabled"));return Rs(),new Ar(e,r,Je(t.getItem("is_auto_group_enabled")))},Fs.$metadata$=$t("FormRepoImpl",[Ls]),Hs.$metadata$=Kt("DefaultValues"),Vs.$metadata$=Kt("JsonUtils"),Js.prototype.y3b=function(t,n,e,r){if(null==e||null==r)return Rt("blank block name detected. skipping summary"),null;var i=Dt(),o=Ye([e,r]);Rt("words : "+o);for(var s=o.c();s.d();){for(var a=s.e(),u=n.s36_1,c=Dt(),l=u.u().c();l.d();){var h=l.e(),p=h.k2();Ft(p,a,!1,2,null)&&c.v3(h.k2(),h.m2())}for(var f=c.c3(),_=Mt(Pt(f,10)),d=f.c();d.d();){var v,y=d.e();v=Ge(y.c3()),_.a(v)}var m=_,g=qt(),$=Xe(n.s36_1.c3()).f(),b=0;if(b<$)do{b=b+1|0,g.a(0)}while(b<$);for(var w=g,x=m.c();x.d();){var k=x.e(),j=0,z=w.f()-1|0;if(j<=z)do{var C=j;j=j+1|0,w.p4(C,w.g(C)+k[C])}while(j<=z)}var S=0,q=w.f()-1|0;if(S<=q)do{var O=S;S=S+1|0,w.p4(O,w.g(O)/m.f())}while(S<=q);var P=w;i.v3(a,P)}for(var M=Mt(i.f()),A=i.u().c();A.d();){var E,I=A.e();E=Bt(I.m2()),M.a(E)}Rt("combinedMap : "+M);var D=qt(),T=Bt(Xe(n.s36_1.c3()).b3());Rt("segments: "+T);var B,L=T.f(),N=0;if(N after: '"+V+"'");var Y,G=""+(V-K).toFixed(2),X=Ut(G),Z=""+((K-V)/K*100).toFixed(2),Q=Ut(Z),tt=Math.abs(Q),nt=X>0?"worse":"better",et=X>0?"+":"",rt=X>0?"❌":"✅",it=o.g(1),ot=""+V.toFixed(2),st=Ut(ot),at=""+K.toFixed(2);Y=Ut(at),D.a(new no(t,rt,F,it,tt,nt,X,et,st,Y))}while(N>>0,r=arguments[1],i=r>>0,o=i<0?Math.max(e+i,0):Math.min(i,e),s=arguments[2],a=void 0===s?e:s>>0,u=a<0?Math.max(e+a,0):Math.min(a,e);o>>0;return 0===n?32:31-(i(n)/o|0)|0})),void 0===String.prototype.startsWith&&Object.defineProperty(String.prototype,"startsWith",{value:function(t,n){return n=n||0,this.lastIndexOf(t,n)===n}}),void 0===Math.imul&&(Math.imul=function(t,n){return(4294901760&t)*(65535&n)+(65535&t)*(0|n)|0}),void 0===(r="function"==typeof(e=function(t){"use strict";var n,e,r,i,o,s,a,u,c,l,h,p,f,_,d,v,y,m,g,$,b,w,x,k,j,z,C,S,q,O,P,M,A,E,I,D,T,B,L,N,R,F,H,U,V,W,J,K,Y,G,X,Z,Q,tt,nt,et,rt,it,ot,st,at,ut,ct,lt,ht,pt,ft,_t,dt,vt,yt,mt,gt,$t,bt,wt,xt,kt,jt,zt,Ct,St,qt,Ot,Pt,Mt,At,Et=Math.imul,It=Math.clz32,Dt=ArrayBuffer.isView;function Tt(t){return t===Ke()?this:t.e8(this,Ve)}function Bt(t){return Cl(this.k2(),t)?kh(this,Ue)?this:El():null}function Lt(t,n){return n(t,this)}function Nt(t){return Cl(this.k2(),t)?Ke():this}function Rt(t,n){if(null==n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;if(e=e+1|0,null==t[i])return i}while(e<=r)}else{var o=0,s=t.length-1|0;if(o<=s)do{var a=o;if(o=o+1|0,Cl(n,t[a]))return a}while(o<=s)}return-1}function Ft(t,n){if(null==n){var e=t.length-1|0;if(0<=e)do{var r=e;if(e=e+-1|0,null==t[r])return r}while(0<=e)}else{var i=t.length-1|0;if(0<=i)do{var o=i;if(i=i+-1|0,Cl(n,t[o]))return o}while(0<=i)}return-1}function Ht(t,n,e,r,i,o,s){return function(t,n,e,r,i,o,s,a){n.b(r);var u=0,c=t,l=0,h=c.length;t:for(;l1&&n.b(e),!(o<0||u<=o))break t;Pr(n,p,a)}return o>=0&&u>o&&n.b(s),n.b(i),n}(t,Vu(),n,e,r,i,o,s).toString()}function Ut(t,n,e,r,i,o,s,a,u){return 0!=(1&a)&&(n=", "),0!=(2&a)&&(e=""),0!=(4&a)&&(r=""),0!=(8&a)&&(i=-1),0!=(16&a)&&(o="..."),0!=(32&a)&&(s=null),Ht(t,n,e,r,i,o,s)}function Vt(t){return t.length-1|0}function Wt(t,n){return function(t,n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;if(e=e+1|0,n.equals(t[i]))return i}while(e<=r);return-1}(t,n)>=0}function Jt(t,n){return function(t,n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;if(e=e+1|0,n===t[i])return i}while(e<=r);return-1}(t,n)>=0}function Kt(t,n){return function(t,n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;if(e=e+1|0,n===t[i])return i}while(e<=r);return-1}(t,n)>=0}function Yt(t,n){return function(t,n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;if(e=e+1|0,n===t[i])return i}while(e<=r);return-1}(t,n)>=0}function Gt(t,n){for(var e=t,r=0,i=e.length;r=0}function tn(t,n,e,r,i,o,s,a,u){return 0!=(1&a)&&(n=", "),0!=(2&a)&&(e=""),0!=(4&a)&&(r=""),0!=(8&a)&&(i=-1),0!=(16&a)&&(o="..."),0!=(32&a)&&(s=null),function(t,n,e,r,i,o,s){return en(t,Vu(),n,e,r,i,o,s).toString()}(t,n,e,r,i,o,s)}function nn(t){if(kh(t,Zc)){var n;switch(t.f()){case 0:n=Pe();break;case 1:n=Ls(kh(t,Hc)?t.g(0):t.c().e());break;default:n=rn(t,La(t.f()))}return n}return function(t){switch(t.f()){case 0:return Pe();case 1:return Ls(t.c().e());default:return t}}(rn(t,Ta()))}function en(t,n,e,r,i,o,s,a){n.b(r);var u=0,c=t.c();t:for(;c.d();){var l=c.e();if((u=u+1|0)>1&&n.b(e),!(o<0||u<=o))break t;Pr(n,l,a)}return o>=0&&u>o&&n.b(s),n.b(i),n}function rn(t,n){for(var e=t.c();e.d();){var r=e.e();n.a(r)}return n}function on(t){if(kh(t,Hc))return function(t){var n;switch(t.f()){case 0:throw Sp("List is empty.");case 1:n=t.g(0);break;default:throw mp("List has more than one element.")}return n}(t);var n=t.c();if(!n.d())throw Sp("Collection is empty.");var e=n.e();if(n.d())throw mp("Collection has more than one element.");return e}function sn(t){this.r_1=t}function an(t){this.t_1=t}function un(t){var n=Bc(t).toUpperCase();if(n.length>1){var e;if(Cl(new Rc(t),new Rc(329)))e=n;else{var r=yl(n,0),i=n.substring(1).toLowerCase();e=Bc(r)+i}return e}return Bc(function(t){return function(t){var n=Tc(t);return 452<=n&&n<=460||497<=n&&n<=499?_h(Et(3,(n+1|0)/3|0)):4304<=n&&n<=4346||4349<=n&&n<=4351?t:Ju(t)}(t)}(t))}function cn(t,n){return n<=Ps().w_1?vr().v_1:vh(t,n-1|0)}function ln(t,n,e){if(n.c1(e)>0)throw mp("Cannot coerce value to an empty range: maximum "+zl(e)+" is less than minimum "+zl(n)+".");return t.c1(n)<0?n:t.c1(e)>0?e:t}function hn(t,n){return xr().d1(t,n,-1)}function pn(t,n){return t>n?n:t}function fn(t,n){return t=0))throw mp(zl("Requested element count "+n+" is less than zero."));return 0===n?qe():kh(t,je)?t.h1(n):new Ce(t,n)}function vn(t){return Jn(function(t){return function(t,n){for(var e=t.c();e.d();){var r=e.e();n.a(r)}return n}(t,ra())}(t))}function yn(t){this.i1_1=t}function mn(t,n){if(!(n>=0))throw mp(zl("Requested character count "+n+" is less than zero."));return function(t,n){if(!(n>=0))throw mp(zl("Requested character count "+n+" is less than zero."));var e=pn(n,t.length);return t.substring(0,e)}(t,fn(t.length-n|0,0))}function gn(t,n){if(!(n>=0))throw mp(zl("Requested character count "+n+" is less than zero."));var e=pn(n,t.length);return t.substring(e)}function $n(){Ol(this,$n)}function bn(){}function wn(){this.o1_1=zn(),this.p1_1=null}function xn(){if(o)return Cs();o=!0,n=new kn("Ready",0),e=new kn("NotReady",1),r=new kn("Done",2),i=new kn("Failed",3)}function kn(t,n){nl.call(this,t,n)}function jn(){return xn(),n}function zn(){return xn(),e}function Cn(){return xn(),i}function Sn(t){this.y1_1=t,this.x1_1=0}function qn(t,n){this.b2_1=t,Sn.call(this,t),Pn().c2(n,this.b2_1.f()),this.x1_1=n}function On(){s=this}function Pn(){return null==s&&new On,s}function Mn(){Pn(),bn.call(this)}function An(t){this.j2_1=t}function En(t){this.l2_1=t}function In(t,n){return n===t?"(this Map)":el(n)}function Dn(t,n){var e;t:{for(var r=t.u().c();r.d();){var i=r.e();if(Cl(i.k2(),n)){e=i;break t}}e=null}return e}function Tn(){a=this}function Bn(){return null==a&&new Tn,a}function Ln(t){this.q2_1=t,Un.call(this)}function Nn(t){this.w2_1=t,bn.call(this)}function Rn(){Bn(),this.s2_1=null,this.t2_1=null}function Fn(){u=this}function Hn(){return null==u&&new Fn,u}function Un(){Hn(),bn.call(this)}function Vn(){return Gn()}function Wn(t){return 0===t.length?ra():oa(new Xn(t,!0))}function Jn(t){switch(t.f()){case 0:return Vn();case 1:return Ns(t.g(0));default:return t}}function Kn(t){return t.f()-1|0}function Yn(){c=this,this.f3_1=new Ll(-1478467534,-1720727600)}function Gn(){return null==c&&new Yn,c}function Xn(t,n){this.j3_1=t,this.k3_1=n}function Zn(){l=this}function Qn(){return null==l&&new Zn,l}function te(t,n){this.n3_1=t,this.o3_1=n}function ne(t,n){return kh(t,Zc)?t.f():n}function ee(t){this.q3_1=t}function re(t){this.r3_1=t}function ie(t){this.s3_1=t,this.t3_1=0}function oe(){}function se(){var t=(null==h&&new ae,h);return kh(t,Gc)?t:El()}function ae(){h=this,this.g4_1=new Ll(-888910638,1920087921)}function ue(t,n){return function(t,n){for(var e=n.c();e.d();){var r=e.e(),i=r.l4(),o=r.m4();t.v3(i,o)}}(n,t),n}function ce(t,n){for(var e=n,r=0,i=e.length;r=0))throw mp(zl("count must be non-negative, but was "+this.p5_1+"."))}function Se(){p=this}function qe(){return null==p&&new Se,p}function Oe(t){this.q5_1=t}function Pe(){return Ae()}function Me(){f=this,this.r5_1=new Ll(1993859828,793161749)}function Ae(){return null==f&&new Me,f}function Ee(t){return function(t,n){var e;return e=il(Array(t),null),De.call(n,e,0),n}(t,Object.create(De.prototype))}function Ie(t){this.w5_1=t,wn.call(this),this.u5_1=t.a6_1,this.v5_1=t.z5_1}function De(t,n){if(Mn.call(this),this.x5_1=t,!(n>=0))throw mp(zl("ring buffer filled size should not be negative but it is "+n));if(!(n<=this.x5_1.length))throw mp(zl("ring buffer filled size: "+n+" cannot be larger than the buffer size: "+this.x5_1.length));this.y5_1=this.x5_1.length,this.z5_1=0,this.a6_1=n}function Te(t,n,e,r,i,o){this.p6_1=t,this.q6_1=n,this.r6_1=e,this.s6_1=r,this.t6_1=i,op.call(this,o)}function Be(t){this.v7_1=t}function Le(){}function Ne(){_=this}function Re(){return null==_&&new Ne,_}function Fe(){}function He(){}function Ue(){}function Ve(t,n){var e,r=t.d8(n.k2());if(r===Ke())e=n;else{var i,o=r.y7(Re());if(null==o)i=new Ze(r,n);else{var s=r.d8(Re());i=s===Ke()?new Ze(n,o):new Ze(new Ze(s,n),o)}e=i}return e}function We(){}function Je(){d=this,this.g8_1=new Ll(0,0)}function Ke(){return null==d&&new Je,d}function Ye(t){for(var n=t,e=2;;){var r=n.h8_1,i=r instanceof Ze?r:null;if(null==i)return e;n=i,e=e+1|0}}function Ge(t,n){return Cl(t.y7(n.k2()),n)}function Xe(t,n){return 0===gl(t)?zl(n):t+", "+n}function Ze(t,n){this.h8_1=t,this.i8_1=n}function Qe(t,n){this.z7_1=n;var e;e=t instanceof Qe?t.a8_1:t,this.a8_1=e}function tr(t){this.j8_1=t}function nr(){return er(),v}function er(){if(g)return Cs();g=!0,v=new rr("COROUTINE_SUSPENDED",0),y=new rr("UNDECIDED",1),m=new rr("RESUMED",2)}function rr(t,n){nl.call(this,t,n)}function ir(){return er(),y}function or(){return er(),m}function sr(t,n,e){var r;if(e>0)r=t>=n?n:n-ar(n,t,e)|0;else{if(!(e<0))throw mp("Step is zero.");r=t<=n?n:n+ar(t,n,0|-e)|0}return r}function ar(t,n,e){return ur(ur(t,e)-ur(n,e)|0,e)}function ur(t,n){var e=t%n|0;return e>=0?e:e+n|0}function cr(){var t;$=this,hr.call(this),this.k8_1=(Y||(Y=!0,Math.pow(2,-26),Math.pow(2,-53)),t=Math.random()*Math.pow(2,32)|0,function(t,n,e){return _r.call(e,t,n,0,0,~t,t<<10^(n>>>4|0)),e}(t,t>>31,Object.create(_r.prototype)))}function lr(){return null==$&&new cr,$}function hr(){lr()}function pr(t,n){if(!(n>t))throw mp(zl(function(t,n){return"Random range is empty: ["+zl(t)+", "+zl(n)+")."}(t,n)))}function fr(){b=this,this.q8_1=new Ll(0,0)}function _r(t,n,e,r,i,o){if(null==b&&new fr,hr.call(this),this.r8_1=t,this.s8_1=n,this.t8_1=e,this.u8_1=r,this.v8_1=i,this.w8_1=o,0==(this.r8_1|this.s8_1|this.t8_1|this.u8_1|this.v8_1))throw mp(zl("Initial state must have at least one non-zero element."));var s=0;if(s<64)do{s=s+1|0,this.q4()}while(s<64)}function dr(){w=this,this.v_1=new yr(1,0)}function vr(){return null==w&&new dr,w}function yr(t,n){vr(),kr.call(this,t,n,1)}function mr(){x=this,this.a9_1=new gr(1,0)}function gr(t,n){null==x&&new mr,zr.call(this,t,n,1)}function $r(t,n,e){pe.call(this),this.i9_1=e,this.j9_1=n,this.k9_1=this.i9_1>0?t<=n:t>=n,this.l9_1=this.k9_1?t:this.j9_1}function br(t,n,e){fe.call(this),this.m9_1=e;var r;r=Tc(n),this.n9_1=r,this.o9_1=this.m9_1>0?Ic(t,n)<=0:Ic(t,n)>=0;var i;i=this.o9_1?Tc(t):this.n9_1,this.p9_1=i}function wr(){k=this}function xr(){return null==k&&new wr,k}function kr(t,n,e){if(xr(),0===e)throw mp("Step must be non-zero.");if(e===Ps().w_1)throw mp("Step must be greater than Int.MIN_VALUE to avoid overflow on negation.");this.e1_1=t,this.f1_1=sr(t,n,e),this.g1_1=e}function jr(){j=this}function zr(t,n,e){if(null==j&&new jr,0===e)throw mp("Step must be non-zero.");if(e===Ps().w_1)throw mp("Step must be greater than Int.MIN_VALUE to avoid overflow on negation.");this.f9_1=t;var r,i=Tc(t);r=Tc(n),this.g9_1=_h(sr(i,r,e)),this.h9_1=e}function Cr(){}function Sr(){}function qr(){}function Or(){}function Pr(t,n,e){null!=e?t.b(e(n)):null==n||Eh(n)?t.b(n):n instanceof Rc?t.q9(n.k1_1):t.b(el(n))}function Mr(t,n,e){if(Cl(new Rc(t),new Rc(n)))return!0;if(!e)return!1;var r=Ju(t),i=Ju(n);return!!Cl(new Rc(r),new Rc(i))||Cl(new Rc(yl(Bc(r).toLowerCase(),0)),new Rc(yl(Bc(i).toLowerCase(),0)))}function Ar(t){var n;t:{var e=0,r=gl(t)-1|0;if(e<=r)do{var i=e;if(e=e+1|0,!Ku(yl(t,i))){n=i;break t}}while(e<=r);n=-1}var o=n;return-1===o?t.length:o}function Er(t){return t}function Ir(t){return function(t,n){Yu(n);var e,r,i,o=t.length;if(0===o)return null;var s=yl(t,0);if(Ic(s,48)<0){if(1===o)return null;if(e=1,Cl(new Rc(s),new Rc(45)))r=!0,Bl(),i=new Ll(0,-2147483648);else{if(!Cl(new Rc(s),new Rc(43)))return null;r=!1,Bl(),i=new Ll(-1,2147483647).r9()}}else e=0,r=!1,Bl(),i=new Ll(-1,2147483647).r9();Bl();var a=new Ll(-1,2147483647).r9().s9(new Ll(36,0)),u=a,c=new Ll(0,0),l=e;if(l0,u=ia(a?pn(r,10):10);t:do{var c;if(c=zl($l(t,i,o)),u.a(c),i=o+n.length|0,a&&u.f()===(r-1|0))break t;o=Nr(t,n,i,e)}while(-1!==o);return s=zl($l(t,i,gl(t))),u.a(s),u}(t,i,e,r)}for(var o=function(t){return new yn(t)}(Xr(t,n,0,e,r,2)),s=ia(ne(o,10)),a=o.c();a.d();){var u;u=Yr(t,a.e()),s.a(u)}return s}function Nr(t,n,e,r){return r||"string"!=typeof t?function(t,n,e,r,i,o,s,a){return 0!=(16&s)&&(o=!1),Zr(t,n,e,r,i,o)}(t,n,e,gl(t),r,!1,16):t.indexOf(n,e)}function Rr(t,n,e,r,i,o){return 0!=(2&i)&&(e=0),0!=(4&i)&&(r=!1),Nr(t,n,e,r)}function Fr(t){return function(t,n,e,r,i,o){return 0!=(2&i)&&(e=!1),0!=(4&i)&&(r=0),function(t,n,e,r){return _n(Xr(t,n,0,e,r,2),(i=t,function(t){return Yr(i,t)}));var i}(t,n,e,r)}(t,["\r\n","\n","\r"],!1,0,6)}function Hr(t){return gl(t)-1|0}function Ur(t,n,e){return zl(function(t,n,e){if(n<0)throw mp("Desired length "+n+" is less than zero.");if(n<=gl(t))return $l(t,0,gl(t));var r=Hu(n),i=1,o=n-gl(t)|0;if(i<=o)do{var s=i;i=i+1|0,r.q9(e)}while(s!==o);return r.b(t),r}(Eh(t)?t:El(),n,e))}function Vr(t,n,e,r,i){return 0!=(2&r)&&(e=!1),function(t,n,e){return gl(t)>0&&Mr(yl(t,0),n,e)}(t,n,e)}function Wr(t,n,e,r,i){return 0!=(2&r)&&(e=!1),function(t,n,e){return Kr(t,n,0,e,2)>=0}(t,n,e)}function Jr(t,n,e,r){var i,o;if(r||"string"!=typeof t)i=function(t,n,e,r){if(!r&&1===n.length&&"string"==typeof t){var i=t,o=Bc(function(t){var n;switch(t.length){case 0:throw Sp("Array is empty.");case 1:n=t[0];break;default:throw mp("Array has more than one element.")}return n}(n));return i.indexOf(o,e)}var s=fn(e,0),a=Hr(t);if(s<=a)do{var u=s;s=s+1|0;var c,l=yl(t,u);t:{for(var h=n,p=0,f=h.length;p0&&u<=c||l<0&&c<=u)do{var h,p=u;u=u+l|0;t:{for(var f=n.c();f.d();){var _=f.e();if(gc(_,0,t,p,_.length,r)){h=_;break t}}h=null}if(null!=h)return uo(p,h)}while(p!==c)}else{var d=a.e1_1,v=a.f1_1,y=a.g1_1;if(y>0&&d<=v||y<0&&v<=d)do{var m,g=d;d=d+y|0;t:{for(var $=n.c();$.d();){var b=$.e();if(ri(b,0,t,g,b.length,r)){m=b;break t}}m=null}if(null!=m)return uo(g,m)}while(g!==v)}return null}(t,o,n,s,!1);return null==e?null:uo(e.j4_1,e.k4_1.length)}));var o,s}function Xr(t,n,e,r,i,o,s){return 0!=(2&o)&&(e=0),0!=(4&o)&&(r=!1),0!=(8&o)&&(i=0),Gr(t,n,e,r,i)}function Zr(t,n,e,r,i,o){var s=o?hn(pn(e,Hr(t)),fn(r,0)):vh(fn(e,0),pn(r,gl(t)));if("string"==typeof t&&"string"==typeof n){var a=s.e1_1,u=s.f1_1,c=s.g1_1;if(c>0&&a<=u||c<0&&u<=a)do{var l=a;if(a=a+c|0,gc(n,0,t,l,gl(n),i))return l}while(l!==u)}else{var h=s.e1_1,p=s.f1_1,f=s.g1_1;if(f>0&&h<=p||f<0&&p<=h)do{var _=h;if(h=h+f|0,ri(n,0,t,_,gl(n),i))return _}while(_!==p)}return-1}function Qr(t){if(!(t>=0))throw mp(zl("Limit must be non-negative, but was "+t))}function ti(t){if(t.ia_1<0)t.ga_1=0,t.ja_1=null;else{var n;if(t.la_1.oa_1>0){var e=t;e.ka_1=e.ka_1+1|0,n=e.ka_1>=t.la_1.oa_1}else n=!1;if(n||t.ia_1>gl(t.la_1.ma_1))t.ja_1=vh(t.ha_1,Hr(t.la_1.ma_1)),t.ia_1=-1;else{var r=t.la_1.pa_1(t.la_1.ma_1,t.ia_1);if(null==r)t.ja_1=vh(t.ha_1,Hr(t.la_1.ma_1)),t.ia_1=-1;else{var i=r,o=i.l4(),s=i.m4();t.ja_1=cn(t.ha_1,o),t.ha_1=o+s|0,t.ia_1=t.ha_1+(0===s?1:0)|0}}t.ga_1=1}}function ni(t){this.la_1=t,this.ga_1=-1,this.ha_1=function(t,n,e){if(n>e)throw mp("Cannot coerce value to an empty range: maximum "+e+" is less than minimum "+n+".");return te?e:t}(t.na_1,0,gl(t.ma_1)),this.ia_1=this.ha_1,this.ja_1=null,this.ka_1=0}function ei(t,n,e,r){this.ma_1=t,this.na_1=n,this.oa_1=e,this.pa_1=r}function ri(t,n,e,r,i,o){if(r<0||n<0||n>(gl(t)-i|0)||r>(gl(e)-i|0))return!1;var s=0;if(s=0)return t;throw mp("Summing infinite durations of different signs yields an undefined result.")}if(mi(n))return n;var e,r,i;if((1&t.va())==(1&n.va())){var o=ci(t).u9(ci(n));e=li(t)?(r=o,i=new Ll(387905,-1073741824),r.c1(new Ll(-387905,1073741823))<=0&&i.c1(r)<=0?Di(r):Oi(Ei(r))):Ai(o)}else e=hi(t)?vi(0,ci(t),ci(n)):vi(0,ci(n),ci(t));return e}function vi(t,n,e){var r,i=Ei(e),o=n.u9(i),s=new Ll(1108857478,-1074);if(o.c1(new Ll(-1108857478,1073))<=0&&s.c1(o)<=0){var a=e.v9(Ii(i));r=Di(Ii(o).u9(a))}else r=Oi(ln(o,new Ll(1,-1073741824),new Ll(-1,1073741823)));return r}function yi(t){return t.c1(new Ll(0,0))<0}function mi(t){return!!t.equals(fi().xa_1)||t.equals(fi().ya_1)}function gi(t){return yi(t)?_i(t):t}function $i(t,n){var e=t.ab(n);if(e.c1(new Ll(0,0))<0||0==(1&e.va()))return t.c1(n);var r=(1&t.va())-(1&n.va())|0;return yi(t)?0|-r:r}function bi(t){return mi(t)?0:function(t){return ki(t,Pc())}(t).cb(new Ll(60,0)).va()}function wi(t){return mi(t)?0:function(t){return ki(t,Oc())}(t).cb(new Ll(60,0)).va()}function xi(t){return mi(t)?0:hi(t)?Ii(ci(t).cb(new Ll(1e3,0))).va():ci(t).cb(new Ll(1e9,0)).va()}function ki(t,n){var e,r=t;return r.equals(fi().xa_1)?(Bl(),e=new Ll(-1,2147483647)):r.equals(fi().ya_1)?(Bl(),e=new Ll(0,-2147483648)):e=zc(ci(t),function(t){return li(t)?Sc():qc()}(t),n),e}function ji(t){return ki(t,Mc())}function zi(t){var n,e=t;if(e.equals(new Ll(0,0)))n="0s";else if(e.equals(fi().xa_1))n="Infinity";else if(e.equals(fi().ya_1))n="-Infinity";else{var r=yi(t),i=Vu();r&&i.q9(45);var o=gi(t),s=function(t){return ki(t,Ac())}(o),a=function(t){return mi(t)?0:ji(t).cb(new Ll(24,0)).va()}(o),u=bi(o),c=wi(o),l=xi(o),h=!s.equals(new Ll(0,0)),p=!(0===a),f=!(0===u),_=0!==c||!(0===l),d=0;if(h&&(i.db(s).q9(100),d=d+1|0),p||h&&(f||_)){var v=d;d=v+1|0,v>0&&i.q9(32),i.db(a).q9(104)}if(f||_&&(p||h)){var y=d;d=y+1|0,y>0&&i.q9(32),i.db(u).q9(109)}if(_){var m=d;d=m+1|0,m>0&&i.q9(32),0!==c||h||p||f?Ci(i,0,c,l,9,"s",!1):l>=1e6?Ci(i,0,l/1e6|0,l%1e6|0,6,"ms",!1):l>=1e3?Ci(i,0,l/1e3|0,l%1e3|0,3,"us",!1):i.db(l).eb("ns")}r&&d>1&&(i.fb(1,40).q9(41),Cs()),n=i.toString()}return n}function Ci(t,n,e,r,i,o,s){if(t.db(e),0!==r){t.q9(46);var a,u=Ur(r.toString(),i,48);t:{var c=gl(u)-1|0;if(0<=c)do{var l=c;if(c=c+-1|0,!Cl(new Rc(yl(u,l)),new Rc(48))){a=l;break t}}while(0<=c);a=-1}var h=a+1|0;!s&&h<3?t.gb(u,0,h):t.gb(u,0,Et((h+2|0)/3|0,3))}t.eb(o)}function Si(t){fi(),this.bb_1=t}function qi(t,n){var e=jc(t,n,Sc());if(Za(e))throw mp(zl("Duration value cannot be NaN."));var r=Xa(e),i=new Ll(387905,-1073741824);return r.c1(new Ll(-387905,1073741823))<=0&&i.c1(r)<=0?Di(r):Ai(Xa(jc(t,n,qc())))}function Oi(t){return ui(t.jb(1).u9(new Ll(1,0)))}function Pi(t,n){var e=Cc(new Ll(-387905,1073741823),Sc(),n);return e.r9().c1(t)<=0&&t.c1(e)<=0?Di(Cc(t,n,Sc())):Oi(ln(zc(t,n,qc()),new Ll(1,-1073741824),new Ll(-1,1073741823)))}function Mi(t,n){var e=t.length;if(0===e)throw mp("The string is empty");var r=0,i=fi().wa_1,o="Infinity",s=yl(t,r);(Cl(new Rc(s),new Rc(43))||Cl(new Rc(s),new Rc(45)))&&(r=r+1|0);var a=r>0,u=!!a&&Vr(t,45,!1,2);if(e<=r)throw mp("No components");if(Cl(new Rc(yl(t,r)),new Rc(80))){if((r=r+1|0)===e)throw vp();for(var c=!1,l=null;r=0&&y<=Hr(t)))throw mp("Missing unit for value "+v);r=r+1|0;var m=Bi(yl(t,y),c);if(null!=l&&l.w1(m)<=0)throw mp("Unexpected order of duration components");l=m;var g=Kr(v,46,0,!1,6);m.equals(Oc())&&g>0?(i=di(i,Pi(Ti(v.substring(0,g)),m)),i=di(i,qi(Xu(v.substring(g)),m))):i=di(i,Pi(Ti(v),m))}}else{if(n)throw vp();var $=e-r|0,b=o.length;if(gc(t,r,o,0,Math.max($,b),!0))i=fi().xa_1;else{var w=null,x=!1,k=!a;if(a&&Cl(new Rc(yl(t,r)),new Rc(40))&&Cl(new Rc(function(t){if(0===gl(t))throw Sp("Char sequence is empty.");return yl(t,Hr(t))}(t)),new Rc(41))&&(k=!0,(r=r+1|0)==(e=e-1|0)))throw mp("No components");for(;r0){if(i=di(i,Pi(Zu(P.substring(0,L)),B)),i=di(i,qi(Xu(P.substring(L)),B)),r0&&Wr("+-",yl(t,0),!1,2)&&(i=i+1|0),(r-i|0)>16){var o;t:{var s=vh(i,Hr(t));if(kh(s,Zc)&&s.h())o=!0;else{var a=s.e1_1,u=s.f1_1;if(a<=u)do{var c=a;a=a+1|0;var l=yl(t,c);if(!(48<=l&&l<=57)){o=!1;break t}}while(c!==u);o=!0}}n=o}else n=!1;return n?(Cl(new Rc(yl(t,0)),new Rc(45))?(Bl(),e=new Ll(0,-2147483648)):(Bl(),e=new Ll(-1,2147483647)),e):yc(t,"+",!1,2)?Zu(gn(t,1)):Zu(t)}function Bi(t,n){var e;if(n){var r,i=t;if(Cl(new Rc(i),new Rc(72)))r=Mc();else if(Cl(new Rc(i),new Rc(77)))r=Pc();else{if(!Cl(new Rc(i),new Rc(83)))throw mp("Invalid duration ISO time unit: "+new Rc(t));r=Oc()}e=r}else{if(!Cl(new Rc(t),new Rc(68)))throw mp("Invalid or unsupported duration ISO non-time unit: "+new Rc(t));e=Ac()}return e}function Li(t){var n;switch(t){case"ns":n=Sc();break;case"us":xc(),n=it;break;case"ms":n=qc();break;case"s":n=Oc();break;case"m":n=Pc();break;case"h":n=Mc();break;case"d":n=Ac();break;default:throw mp("Unknown duration unit short name: "+t)}return n}function Ni(){return Ui(),C}function Ri(){}function Fi(t){this.lb_1=t}function Hi(t,n){Ri.call(this),this.mb_1=function(t,n){if("function"==typeof t)return t.$arity===n;if("object"==typeof t&&tf("$metadata$",t.constructor)){var e,r=t.constructor.$metadata$,i=null==r?null:r.suspendArity;if(null!=i){var o=!1,s=ol(i);t:for(;s.d();)if(n===s.e()){o=!0;break t}return o}return null!=(e=null)&&e}return!1}(t,2)?t:El(),this.nb_1=n,this.ob_1=kh(this,Le)?this:El(),this.pb_1=Ni()}function Ui(){var t;S||(S=!0,no(),t=nr(),C=t)}function Vi(){}function Wi(t,n){nl.call(this,t,n)}function Ji(t){this.tb_1=t,this.ub_1=Yi()}function Ki(){P=this}function Yi(){return null==P&&new Ki,P}function Gi(t){return t}function Xi(t){return t}function Zi(t){return t instanceof eo}function Qi(t){return t instanceof eo?t.wb_1:null}function to(){M=this}function no(){return null==M&&new to,M}function eo(t){this.wb_1=t}function ro(t){no(),this.zb_1=t}function io(t){return new eo(t)}function oo(t){if(t instanceof eo)throw t.wb_1}function so(t){_p(t,this),Ol(this,so)}function ao(t,n){this.j4_1=t,this.k4_1=n}function uo(t,n){return new ao(t,n)}function co(t,n,e){this.cc_1=t,this.dc_1=n,this.ec_1=e}function lo(t){return t}function ho(t){return t}function po(){A=this,this.fc_1=0,this.gc_1=-1,this.hc_1=1,this.ic_1=8}function fo(){return null==A&&new po,A}function _o(t,n){return wl(255&t,255&n)}function vo(t){return(255&t).toString()}function yo(t){fo(),this.jc_1=t}function mo(t){return t}function go(t){return t}function $o(t){return t.length}function bo(t){this.lc_1=t,this.mc_1=0}function wo(t,n){return(Mh(new yo(n))?new yo(n):El())instanceof yo&&Yt(t,n)}function xo(t,n){var e;t:{var r=kh(n,Zc)?n:El();if(kh(r,Zc)&&r.h())e=!0;else{for(var i=r.c();i.d();){var o=i.e();if(!(o instanceof yo&&Yt(t,o.jc_1))){e=!1;break t}}e=!0}}return e}function ko(t){this.oc_1=t}function jo(t){return t}function zo(t){return t}function Co(){E=this,this.rc_1=0,this.sc_1=-1,this.tc_1=4,this.uc_1=32}function So(){return null==E&&new Co,E}function qo(t,n){return ds(t,n)}function Oo(t){return dh(t).wc(new Ll(-1,0)).toString()}function Po(t){So(),this.vc_1=t}function Mo(t){return t}function Ao(t){return t}function Eo(t){return t.length}function Io(t){this.yc_1=t,this.zc_1=0}function Do(t,n){return(Mh(new Po(n))?new Po(n):El())instanceof Po&&Jt(t,n)}function To(t,n){var e;t:{var r=kh(n,Zc)?n:El();if(kh(r,Zc)&&r.h())e=!0;else{for(var i=r.c();i.d();){var o=i.e();if(!(o instanceof Po&&Jt(t,o.vc_1))){e=!1;break t}}e=!0}}return e}function Bo(t){this.bd_1=t}function Lo(t){return t}function No(t){return t}function Ro(){I=this,this.ed_1=new Ll(0,0),this.fd_1=new Ll(-1,-1),this.gd_1=8,this.hd_1=64}function Fo(){return null==I&&new Ro,I}function Ho(t,n){return vs(t,n)}function Uo(t){return function(t,n){if(t.c1(new Ll(0,0))>=0)return of(t,n);var e,r=t.ce(1).s9(dh(n)).jb(1);e=r.t9(dh(n));var i=t.v9(e);return i.c1(dh(n))>=0&&(i=i.v9(dh(n)),r=r.u9(new Ll(1,0))),of(r,n)+of(i,n)}(t,10)}function Vo(t){Fo(),this.id_1=t}function Wo(t){return t}function Jo(t){return t}function Ko(t){return t.length}function Yo(t){this.kd_1=t,this.ld_1=0}function Go(t,n){return(Mh(new Vo(n))?new Vo(n):El())instanceof Vo&&Wt(t,n)}function Xo(t,n){var e;t:{var r=kh(n,Zc)?n:El();if(kh(r,Zc)&&r.h())e=!0;else{for(var i=r.c();i.d();){var o=i.e();if(!(o instanceof Vo&&Wt(t,o.id_1))){e=!1;break t}}e=!0}}return e}function Zo(t){this.nd_1=t}function Qo(t){return t}function ts(t){return t}function ns(){D=this,this.qd_1=0,this.rd_1=-1,this.sd_1=2,this.td_1=16}function es(){return null==D&&new ns,D}function rs(t,n){return wl(65535&t,65535&n)}function is(t){return(65535&t).toString()}function os(t){es(),this.ud_1=t}function ss(t){return t}function as(t){return t}function us(t){return t.length}function cs(t){this.wd_1=t,this.xd_1=0}function ls(t,n){return(Mh(new os(n))?new os(n):El())instanceof os&&Kt(t,n)}function hs(t,n){var e;t:{var r=kh(n,Zc)?n:El();if(kh(r,Zc)&&r.h())e=!0;else{for(var i=r.c();i.d();){var o=i.e();if(!(o instanceof os&&Kt(t,o.ud_1))){e=!1;break t}}e=!0}}return e}function ps(t){this.zd_1=t}function fs(t){return function(t,n){Yu(n);var e=t.length;if(0===e)return null;Fo();var r,i=new Ll(-1,-1),o=yl(t,0);if(Ic(o,48)<0){if(1===e||!Cl(new Rc(o),new Rc(43)))return null;r=1}else r=0;var s=new Ll(477218588,119304647),a=s,u=dh(n),c=new Ll(0,0),l=r;if(l0){if(!Cl(a,s))return null;if(vs(c,a=ys(i,u))>0)return null}var f=c=c.t9(u),_=c,d=dh(p).wc(new Ll(-1,0));if(vs(c=_.u9(d),f)<0)return null}while(l0){if(c!==u)return null;if(ds(h,(o=l,s=void 0,a=void 0,a=dh(-1).wc(new Ll(-1,0)),s=dh(o).wc(new Ll(-1,0)),c=a.s9(s).va()))>0)return null}var d=h=Et(h,l);if(ds(h=h+_|0,d)<0)return null}while(p=0)return e.s9(r);var i=e.ce(1).s9(r).jb(1),o=vs(e.v9(i.t9(r)),r)>=0?1:0;return i.u9(dh(o))}function ms(){}function gs(){}function $s(){}function bs(){}function ws(){}function xs(){}function ks(){}function js(){}function zs(){T=this}function Cs(){return null==T&&new zs,T}function Ss(){B=this,this.ge_1=-128,this.he_1=127,this.ie_1=1,this.je_1=8}function qs(){L=this,this.oe_1=-32768,this.pe_1=32767,this.qe_1=2,this.re_1=16}function Os(){N=this,this.w_1=-2147483648,this.x_1=2147483647,this.y_1=4,this.z_1=32}function Ps(){return null==N&&new Os,N}function Ms(){R=this,this.se_1=14e-46,this.te_1=34028235e31,this.ue_1=1/0,this.ve_1=-1/0,this.we_1=NaN,this.xe_1=4,this.ye_1=32}function As(){return null==R&&new Ms,R}function Es(){F=this,this.cf_1=5e-324,this.df_1=17976931348623157e292,this.ef_1=1/0,this.ff_1=-1/0,this.gf_1=NaN,this.hf_1=8,this.if_1=64}function Is(){return null==F&&new Es,F}function Ds(){H=this}function Ts(){U=this}function Bs(){}function Ls(t){return Gt(n=[t],$a(n.length));var n}function Ns(t){return 0===(n=[t]).length?ra():oa(new Xn(n,!0));var n}function Rs(t){return t<0&&function(){throw Fp("Index overflow has happened.")}(),t}function Fs(t){return void 0!==t.toArray?t.toArray():Hs(t)}function Hs(t){for(var n=[],e=t.c();e.d();)n.push(e.e());return n}function Us(){bn.call(this)}function Vs(t){this.of_1=t,this.mf_1=0,this.nf_1=-1}function Ws(t,n){this.tf_1=t,Vs.call(this,t),Pn().c2(n,this.tf_1.f()),this.mf_1=n}function Js(t,n,e){Ks.call(this),this.vf_1=t,this.wf_1=n,this.xf_1=0,Pn().e2(this.wf_1,e,this.vf_1.f()),this.xf_1=e-this.wf_1|0}function Ks(){Us.call(this),this.pf_1=0}function Ys(t){this.bg_1=t}function Gs(t){this.cg_1=t}function Xs(t,n){this.dg_1=t,this.eg_1=n}function Zs(){ea.call(this)}function Qs(t){this.ig_1=t,ea.call(this)}function ta(t){this.pg_1=t,Us.call(this)}function na(){Rn.call(this),this.mg_1=null,this.ng_1=null}function ea(){Us.call(this)}function ra(){return t=Object.create(ua.prototype),n=[],ua.call(t,n),t;var t,n}function ia(t){return n=Object.create(ua.prototype),e=[],ua.call(n,e),n;var n,e}function oa(t){return function(t,n){var e;return e=Fs(t),ua.call(n,e),n}(t,Object.create(ua.prototype))}function sa(t,n){return Pn().d2(n,t.f()),n}function aa(t,n){return Pn().c2(n,t.f()),n}function ua(t){Ks.call(this),this.l_1=t,this.m_1=!1}function ca(t,n,e,r,i){if(e===r)return t;var o=(e+r|0)/2|0,s=ca(t,n,e,o,i),a=ca(t,n,o+1|0,r,i),u=s===n?t:n,c=e,l=o+1|0,h=e;if(h<=r)do{var p=h;if(h=h+1|0,c<=o&&l<=r){var f=s[c],_=a[l];i.compare(f,_)<=0?(u[p]=f,c=c+1|0):(u[p]=_,l=l+1|0)}else c<=o?(u[p]=s[c],c=c+1|0):(u[p]=a[l],l=l+1|0)}while(p!==r);return u}function la(t,n){return(3&t)-(3&n)|0}function ha(){W=this}function pa(){}function fa(t){this.wg_1=t,Zs.call(this)}function _a(t){return function(t,n){na.call(n),ma.call(n),n.ch_1=t,n.dh_1=t.fh()}(new Ca((null==W&&new ha,W)),t),t}function da(){return _a(Object.create(ma.prototype))}function va(t,n,e){if(_a(e),!(t>=0))throw mp(zl("Negative initial capacity: "+t));if(!(n>=0))throw mp(zl("Non-positive load factor: "+n));return e}function ya(t){return function(t,n){return va(t,0,n),n}(t,Object.create(ma.prototype))}function ma(){this.eh_1=null}function ga(t,n,e){return ea.call(e),wa.call(e),e.hh_1=function(t,n){return va(t,n,Object.create(ma.prototype))}(t,n),e}function $a(t){return function(t,n){return ga(t,0,n),n}(t,Object.create(wa.prototype))}function ba(t,n){return ea.call(n),wa.call(n),n.hh_1=t,n}function wa(){}function xa(t,n){var e=ja(t,t.qh_1.vg(n));if(null==e)return null;var r=e;if(null!=r&&Ph(r))return ka(r,t,n);var i=r;return t.qh_1.ug(i.k2(),n)?i:null}function ka(t,n,e){var r;t:{for(var i=t,o=0,s=i.length;onew Ll(-1,2147483647).oi()?(Bl(),n=new Ll(-1,2147483647)):(Bl(),t1?t:yl(n,0)}function Ku(t){return function(t){var n;return 9<=(n=Tc(t))&&n<=13||28<=n&&n<=32||160===n||n>4096&&(5760===n||8192<=n&&n<=8202||8232===n||8233===n||8239===n||8287===n||12288===n)}(t)}function Yu(t){if(!(2<=t&&t<=36))throw mp("radix "+t+" was not in valid range 2..36");return t}function Gu(t,n){var e,r,i,o=Ic(t,48)>=0&&Ic(t,57)<=0?Dc(t,48):Ic(t,65)>=0&&Ic(t,90)<=0?Dc(t,65)+10|0:Ic(t,97)>=0&&Ic(t,122)<=0?Dc(t,97)+10|0:Ic(t,128)<0?-1:Ic(t,65313)>=0&&Ic(t,65338)<=0?Dc(t,65313)+10|0:Ic(t,65345)>=0&&Ic(t,65370)<=0?Dc(t,65345)+10|0:(e=Tc(t),r=Xh(Qh().hn_1,e),(i=e-Qh().hn_1[r]|0)<10?i:-1);return o>=n?-1:o}function Xu(t){var n=+t;return(Za(n)&&!tc(t)||0===n&&mc(t))&&Tr(t),n}function Zu(t){var n,e=Ir(t);return null==e?Tr(t):n=e,n}function Qu(t){var n,e=Dr(t);return null==e?Tr(t):n=e,n}function tc(t){switch(t.toLowerCase()){case"nan":case"+nan":case"-nan":return!0;default:return!1}}function nc(){tt=this,this.xk_1=new RegExp("[\\\\^$*+?.()|[\\]{}]","g"),this.yk_1=new RegExp("[\\\\$]","g"),this.zk_1=new RegExp("\\$","g")}function ec(){return null==tt&&new nc,tt}function rc(t){return t.e()}function ic(t){return function(n){return function(t,n){for(var e=0,r=Vu();e=f.f())throw Bp("Group with index "+v+" does not exist");var y=f.g(v),m=null==y?null:y.kl_1;r.eb(null==m?"":m),e=_}}else r.q9(o)}return r.toString()}(n,t)}}function oc(t,n){ec(),this.w9_1=t,this.x9_1=nn(n),this.y9_1=new RegExp(t,tn(n,"","gu",null,0,null,pc,28)),this.z9_1=null,this.aa_1=null}function sc(t,n,e){nl.call(this,t,n),this.jl_1=e}function ac(t,n,e,r){t.lastIndex=e;var i=t.exec(n);return null==i?null:new dc(vh(i.index,t.lastIndex-1|0),i,r,n)}function uc(t){this.kl_1=t}function cc(t,n){for(var e=n;e0&&Cl(new Rc(yl(n,Hr(n)-(o-1|0)|0)),new Rc(32));)o=o-1|0;return mn(n,o)+"... and "+(r-1|0)+" more common stack frames skipped"}(n,s,u),gl(e)>0){var c;if(0===u)c=0;else{for(var l=0,h=i,p=0,f=h.length;p=d&&n.wl_1.eb(e),n.wl_1.eb(m).eb("\n")}}else n.wl_1.eb(s).eb("\n")}else n.wl_1.eb(i).eb("\n");var $=function(t){var n=t._suppressed,e=null==n?null:n;return null==e?Vn():e}(t);if(!$.h())for(var b=e+" ",w=$.c();w.d();)$c(w.e(),n,b,"Suppressed: ");return!0}function wc(){var t;this.wl_1=Vu(),t=[],this.xl_1=t,this.yl_1="",this.zl_1=0}function xc(){if(lt)return Cs();lt=!0,rt=new kc("NANOSECONDS",0,1),it=new kc("MICROSECONDS",1,1e3),ot=new kc("MILLISECONDS",2,1e6),st=new kc("SECONDS",3,1e9),at=new kc("MINUTES",4,6e10),ut=new kc("HOURS",5,36e11),ct=new kc("DAYS",6,864e11)}function kc(t,n,e){nl.call(this,t,n),this.dm_1=e}function jc(t,n,e){var r=wl(n.dm_1,e.dm_1);return r>0?t*(n.dm_1/e.dm_1):r<0?t/(e.dm_1/n.dm_1):t}function zc(t,n,e){var r,i=wl(n.dm_1,e.dm_1);if(i>0){var o,s=fh(n.dm_1/e.dm_1),a=t.t9(s);a.s9(s).equals(t)?o=a:t.c1(new Ll(0,0))>0?(Bl(),o=new Ll(-1,2147483647)):(Bl(),o=new Ll(0,-2147483648)),r=o}else r=i<0?t.s9(fh(e.dm_1/n.dm_1)):t;return r}function Cc(t,n,e){var r=wl(n.dm_1,e.dm_1);return r>0?t.t9(fh(n.dm_1/e.dm_1)):r<0?t.s9(fh(e.dm_1/n.dm_1)):t}function Sc(){return xc(),rt}function qc(){return xc(),ot}function Oc(){return xc(),st}function Pc(){return xc(),at}function Mc(){return xc(),ut}function Ac(){return xc(),ct}function Ec(t){return t}function Ic(t,n){return t-n|0}function Dc(t,n){return t-n|0}function Tc(t){return t}function Bc(t){return String.fromCharCode(t)}function Lc(){ht=this,this.em_1=0,this.fm_1=65535,this.gm_1=55296,this.hm_1=56319,this.im_1=56320,this.jm_1=57343,this.km_1=55296,this.lm_1=57343,this.mm_1=2,this.nm_1=16}function Nc(){return null==ht&&new Lc,ht}function Rc(t){Nc(),this.k1_1=t}function Fc(){}function Hc(){}function Uc(){}function Vc(){}function Wc(){}function Jc(){}function Kc(){}function Yc(){}function Gc(){}function Xc(){}function Zc(){}function Qc(){}function tl(){pt=this}function nl(t,n){null==pt&&new tl,this.r1_1=t,this.s1_1=n}function el(t){var n=null==t?null:zl(t);return null==n?"null":n}function rl(t,n){var e=null==t?null:zl(t),r=null==e?"null":e,i=null==n?null:zl(n);return r+(null==i?"null":i)}function il(t,n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;e=e+1|0,t[i]=n}while(i!==r);return t}function ol(t){return new cl(t)}function sl(t){var n=il(Array(t),!1);return n.$type$="BooleanArray",n}function al(t){var n=new Uint16Array(t);return n.$type$="CharArray",n}function ul(t){var n=il(Array(t),new Ll(0,0));return n.$type$="LongArray",n}function cl(t){this.qm_1=t,this.pm_1=0}function ll(t){this.sm_1=t,pe.call(this),this.rm_1=0}function hl(){return vl(),ft}function pl(){return vl(),_t}function fl(){return vl(),dt}function _l(){return vl(),vt}function dl(t){return vl(),nf(t,0)===t?hh(t):(pl()[0]=t,Et(fl()[(vl(),yt)],31)+fl()[_l()]|0)}function vl(){if(mt);else{mt=!0,ft=new ArrayBuffer(8);var t=new Float64Array(hl());_t=t,new Float32Array(hl());var n,e=new Int32Array(hl());dt=e,pl()[0]=-1,n=0!==fl()[0]?1:0,vt=n,yt=1-_l()|0}}function yl(t,n){var e;if(ml(t)){var r,i=t.charCodeAt(n);if(Nc(),i<0?r=!0:(Nc(),r=i>65535),r)throw mp("Invalid Char code: "+i);e=_h(i)}else e=t.ee(n);return e}function ml(t){return"string"==typeof t}function gl(t){return ml(t)?t.length:t.de()}function $l(t,n,e){return ml(t)?t.substring(n,e):t.fe(n,e)}function bl(t){return zl(t)}function wl(t,n){var e;switch(typeof t){case"number":e="number"==typeof n?xl(t,n):n instanceof Ll?xl(t,n.oi()):kl(t,n);break;case"string":case"boolean":e=kl(t,n);break;default:e=function(t,n){return t.ib(n)}(t,n)}return e}function xl(t,n){var e;if(tn)e=1;else if(t===n){var r;if(0!==t)r=0;else{var i=1/t;r=i===1/n?0:i<0?-1:1}e=r}else e=t!=t?n!=n?0:1:-1;return e}function kl(t,n){return tn?1:0}function jl(t){if(!tf("kotlinHashCodeValue$",t)){var n=nf(4294967296*Math.random(),0),e=new Object;e.value=n,e.enumerable=!1,Object.defineProperty(t,"kotlinHashCodeValue$",e)}return t.kotlinHashCodeValue$}function zl(t){return null==t?"null":wh(t)?"[...]":t.toString()}function Cl(t,n){return null==t?null==n:null!=n&&("object"==typeof t&&"function"==typeof t.equals?t.equals(n):t!=t?n!=n:"number"==typeof t&&"number"==typeof n?t===n&&(0!==t||1/t==1/n):t===n)}function Sl(t){if(null==t)return 0;var n;switch(typeof t){case"object":n="function"==typeof t.hashCode?t.hashCode():jl(t);break;case"function":n=jl(t);break;case"number":n=dl(t);break;case"boolean":n=t?1:0;break;default:n=ql(String(t))}return n}function ql(t){var n=0,e=0,r=t.length-1|0;if(e<=r)do{var i=e;e=e+1|0;var o=t.charCodeAt(i);n=Et(n,31)+o|0}while(i!==r);return n}function Ol(t,n){null!=Error.captureStackTrace?Error.captureStackTrace(t,n):t.stack=(new Error).stack}function Pl(t,n,e){Error.call(t),function(t,n,e){if(!Ml(t,"message")){var r;if(null==n){var i;if(null!==n){var o=null==e?null:e.toString();i=null==o?void 0:o}else i=void 0;r=i}else r=n;t.message=r}Ml(t,"cause")||(t.cause=e),t.name=Object.getPrototypeOf(t).constructor.name}(t,n,e)}function Ml(t,n){return Object.getPrototypeOf(t).hasOwnProperty(n)}function Al(t){var n;return null==t?function(){throw Wp()}():n=t,n}function El(){throw Gp()}function Il(t,n){for(var e=t.length,r=n.length,i=0,o=n;ii)for(r.length=n;i>>16|0,r=65535&t.b1_1,i=t.a1_1>>>16|0,o=65535&t.a1_1,s=n.b1_1>>>16|0,a=65535&n.b1_1,u=n.a1_1>>>16|0,c=0,l=0,h=0,p=0;return c=(c=c+((l=(l=l+((h=(h=h+((p=p+(o+(65535&n.a1_1)|0)|0)>>>16|0)|0)+(i+u|0)|0)>>>16|0)|0)+(r+a|0)|0)>>>16|0)|0)+(e+s|0)|0,new Ll((h&=65535)<<16|(p&=65535),(c&=65535)<<16|(l&=65535))}function Jl(t,n){return ch(),Wl(t,n.r9())}function Kl(t,n){if(ch(),eh(t))return Nl();if(eh(n))return Nl();if(Zl(t,Hl()))return rh(n)?Hl():Nl();if(Zl(n,Hl()))return rh(t)?Hl():Nl();if(nh(t))return nh(n)?Kl(ih(t),ih(n)):ih(Kl(ih(t),n));if(nh(n))return ih(Kl(t,ih(n)));if(oh(t,Ul())&&oh(n,Ul()))return sh(Xl(t)*Xl(n));var e=t.b1_1>>>16|0,r=65535&t.b1_1,i=t.a1_1>>>16|0,o=65535&t.a1_1,s=n.b1_1>>>16|0,a=65535&n.b1_1,u=n.a1_1>>>16|0,c=65535&n.a1_1,l=0,h=0,p=0,f=0;return p=p+((f=f+Et(o,c)|0)>>>16|0)|0,f&=65535,h=(h=h+((p=p+Et(i,c)|0)>>>16|0)|0)+((p=(p&=65535)+Et(o,u)|0)>>>16|0)|0,p&=65535,l=(l=(l=l+((h=h+Et(r,c)|0)>>>16|0)|0)+((h=(h&=65535)+Et(i,u)|0)>>>16|0)|0)+((h=(h&=65535)+Et(o,a)|0)>>>16|0)|0,h&=65535,l=l+(((Et(e,c)+Et(r,u)|0)+Et(i,a)|0)+Et(o,s)|0)|0,new Ll(p<<16|f,(l&=65535)<<16|h)}function Yl(t,n){ch();var e=63&n;return 0===e?t:e<32?new Ll(t.a1_1<>>(32-e|0)|0):new Ll(0,t.a1_1<<(e-32|0))}function Gl(t,n){ch();var e=63&n;return 0===e?t:e<32?new Ll(t.a1_1>>>e|0|t.b1_1<<(32-e|0),t.b1_1>>e):new Ll(t.b1_1>>(e-32|0),t.b1_1>=0?0:-1)}function Xl(t){return ch(),4294967296*t.b1_1+function(t){return ch(),t.a1_1>=0?t.a1_1:4294967296+t.a1_1}(t)}function Zl(t,n){return ch(),t.b1_1===n.b1_1&&t.a1_1===n.a1_1}function Ql(t,n){if(ch(),n<2||36=0x8000000000000000)return ch(),xt;if(t<0)return ih(sh(-t));var n=4294967296;return new Ll(nf(t%n,0),nf(t/n,0))}function ah(t,n){return ch(),Vl(t,n)>0}function uh(t,n){return ch(),Vl(t,n)>=0}function ch(){zt||(zt=!0,$t=th(0),bt=th(1),wt=th(-1),xt=new Ll(-1,2147483647),kt=new Ll(0,-2147483648),jt=th(16777216))}function lh(t){return t<<24>>24}function hh(t){return t instanceof Ll?t.va():function(t){return t>2147483647?2147483647:t<-2147483648?-2147483648:nf(t,0)}(t)}function ph(t){return t<<16>>16}function fh(t){return t instanceof Ll?t:sh(t)}function _h(t){return 65535&ph(hh(t))}function dh(t){return th(t)}function vh(t,n){return new yr(t,n)}function yh(){gh();var t=void 0;return $h(t,t,t,t,t,t)}function mh(t,n,e,r,i){return gh(),r.get=r,r.set=i,r.callableName=t,o=r,s=function(t,n,e){gh();var r=(gh(),Ct)[t][null==n?0:1];return 0===r.interfaces.length&&(r.interfaces.push(e),null==r.interfacesCache?r.interfacesCache={isComplete:!1,implementInterfaceMemo:{}}:Al(r.interfacesCache).isComplete=!1,Sh(Al(r.interfacesCache),e)),r}(n,i,e),gh(),o.$metadata$=s,o.constructor=o,o;var o,s}function gh(){if(St);else{St=!0;var t,n=[yh(),yh()],e=[yh(),yh()];t=[yh(),yh()],Ct=[n,e,t]}}function $h(t,n,e,r,i,o){return bh("class",t,n,e,r,i,o)}function bh(t,n,e,r,i,o,s){return{kind:t,simpleName:n,interfaceId:"interface"===t?-1:void 0,interfaces:e||[],associatedObjectKey:r,associatedObjects:i,suspendArity:o,fastPrototype:s,$kClass$:void 0,interfacesCache:{isComplete:void 0===s&&(void 0===e||0===e.length),implementInterfaceMemo:{}}}}function wh(t){return!!xh(t)||Dt(t)}function xh(t){return Array.isArray(t)}function kh(t,n){var e=t.constructor;return null!=e&&jh(e,n)}function jh(t,n){if(t===n)return!0;var e=t.$metadata$;null!=e&&null==e.interfacesCache&&(e.interfacesCache={isComplete:!1,implementInterfaceMemo:{}});var r,i=null==e?null:e.interfacesCache;if(null!=i){i.isComplete||zh(t);var o=n.$metadata$,s=null==o?null:o.interfaceId;if(null==s)return!1;var a=s;r=!!i.implementInterfaceMemo[a]}else{var u=Ch(t),c=null==u?null:u.constructor;if(null==c)return!1;r=jh(c,n)}return r}function zh(t){var n=t.$metadata$;null!=n&&null==n.interfacesCache&&(n.interfacesCache={isComplete:!1,implementInterfaceMemo:{}});var e=null==n?null:n.interfacesCache;if(null!=e){if(!0===e.isComplete)return e;for(var r=n.interfaces,i=0,o=r.length;i=0))throw mp(zl("Invalid new array size: "+n+"."));return Dl(t,n,null)}function Kh(t,n,e){return Pn().e2(n,e,t.length),t.slice(n,e)}function Yh(t){return new ua(t)}function Gh(t,n,e){for(var r=new Int32Array(e),i=0,o=0,s=0,a=t,u=0,c=a.length;u(o=t[i=(e+r|0)/2|0]))e=i+1|0;else{if(n===o)return i;r=i-1|0}return i-(n0},qn.prototype.p=function(){return this.x1_1},qn.prototype.q=function(){if(!this.o())throw Cp();var t=this;return t.x1_1=t.x1_1-1|0,this.b2_1.g(t.x1_1)},qn.$metadata$=$h("ListIteratorImpl",[xs],void 0,void 0,void 0,Sn.prototype),On.prototype.d2=function(t,n){if(t<0||t>=n)throw Bp("index: "+t+", size: "+n)},On.prototype.c2=function(t,n){if(t<0||t>n)throw Bp("index: "+t+", size: "+n)},On.prototype.e2=function(t,n,e){if(t<0||n>e)throw Bp("fromIndex: "+t+", toIndex: "+n+", size: "+e);if(t>n)throw mp("fromIndex: "+t+" > toIndex: "+n)},On.prototype.f2=function(t,n,e){if(t<0||n>e)throw Bp("startIndex: "+t+", endIndex: "+n+", size: "+e);if(t>n)throw mp("startIndex: "+t+" > endIndex: "+n)},On.prototype.g2=function(t){for(var n=1,e=t.c();e.d();){var r=e.e(),i=Et(31,n),o=null==r?null:Sl(r);n=i+(null==o?0:o)|0}return n},On.prototype.h2=function(t,n){if(t.f()!==n.f())return!1;for(var e=n.c(),r=t.c();r.d();)if(!Cl(r.e(),e.e()))return!1;return!0},On.$metadata$=Uh("Companion"),Mn.prototype.c=function(){return new Sn(this)},Mn.prototype.j=function(t){var n;t:{for(var e=0,r=this.c();r.d();){if(Cl(r.e(),t)){n=e;break t}e=e+1|0}n=-1}return n},Mn.prototype.i2=function(t){var n;t:{for(var e=this.n(this.f());e.o();)if(Cl(e.q(),t)){n=e.p();break t}n=-1}return n},Mn.prototype.n=function(t){return new qn(this,t)},Mn.prototype.equals=function(t){return t===this||!(null==t||!kh(t,Hc))&&Pn().h2(this,t)},Mn.prototype.hashCode=function(){return Pn().g2(this)},Mn.$metadata$=$h("AbstractList",[Hc],void 0,void 0,void 0,bn.prototype),An.prototype.d=function(){return this.j2_1.d()},An.prototype.e=function(){return this.j2_1.e().k2()},An.$metadata$=$h(void 0,[bs]),En.prototype.d=function(){return this.l2_1.d()},En.prototype.e=function(){return this.l2_1.e().m2()},En.$metadata$=$h(void 0,[bs]),Tn.prototype.n2=function(t){var n=t.k2(),e=null==n?null:Sl(n),r=null==e?0:e,i=t.m2(),o=null==i?null:Sl(i);return r^(null==o?0:o)},Tn.prototype.o2=function(t){return el(t.k2())+"="+el(t.m2())},Tn.prototype.p2=function(t,n){return!(null==n||!kh(n,Yc))&&!!Cl(t.k2(),n.k2())&&Cl(t.m2(),n.m2())},Tn.$metadata$=Uh("Companion"),Ln.prototype.r2=function(t){return this.q2_1.u2(t)},Ln.prototype.i=function(t){return!(null!=t&&!Mh(t))&&this.r2(null==t||Mh(t)?t:El())},Ln.prototype.c=function(){return new An(this.q2_1.u().c())},Ln.prototype.f=function(){return this.q2_1.f()},Ln.$metadata$=$h(void 0,void 0,void 0,void 0,void 0,Un.prototype),Nn.prototype.x2=function(t){return this.w2_1.y2(t)},Nn.prototype.i=function(t){return!(null!=t&&!Mh(t))&&this.x2(null==t||Mh(t)?t:El())},Nn.prototype.c=function(){return new En(this.w2_1.u().c())},Nn.prototype.f=function(){return this.w2_1.f()},Nn.$metadata$=$h(void 0,void 0,void 0,void 0,void 0,bn.prototype),Rn.prototype.u2=function(t){return!(null==Dn(this,t))},Rn.prototype.y2=function(t){var n;t:{var e=this.u();if(kh(e,Zc)&&e.h())n=!1;else{for(var r=e.c();r.d();)if(Cl(r.e().m2(),t)){n=!0;break t}n=!1}}return n},Rn.prototype.z2=function(t){if(null==t||!kh(t,Yc))return!1;var n=t.k2(),e=t.m2(),r=(kh(this,Gc)?this:El()).a3(n);return!(!Cl(e,r)||null==r&&!(kh(this,Gc)?this:El()).u2(n))},Rn.prototype.equals=function(t){if(t===this)return!0;if(null==t||!kh(t,Gc))return!1;if(this.f()!==t.f())return!1;var n;t:{var e=t.u();if(kh(e,Zc)&&e.h())n=!0;else{for(var r=e.c();r.d();){var i=r.e();if(!this.z2(i)){n=!1;break t}}n=!0}}return n},Rn.prototype.a3=function(t){var n=Dn(this,t);return null==n?null:n.m2()},Rn.prototype.hashCode=function(){return Sl(this.u())},Rn.prototype.h=function(){return 0===this.f()},Rn.prototype.f=function(){return this.u().f()},Rn.prototype.b3=function(){return null==this.s2_1&&(this.s2_1=new Ln(this)),Al(this.s2_1)},Rn.prototype.toString=function(){return tn(this.u(),", ","{","}",0,null,(t=this,function(n){return t.v2(n)}),24);var t},Rn.prototype.v2=function(t){return In(this,t.k2())+"="+In(this,t.m2())},Rn.prototype.c3=function(){return null==this.t2_1&&(this.t2_1=new Nn(this)),Al(this.t2_1)},Rn.$metadata$=$h("AbstractMap",[Gc]),Fn.prototype.d3=function(t){for(var n=0,e=t.c();e.d();){var r=e.e(),i=n,o=null==r?null:Sl(r);n=i+(null==o?0:o)|0}return n},Fn.prototype.e3=function(t,n){return t.f()===n.f()&&t.n1(n)},Fn.$metadata$=Uh("Companion"),Un.prototype.equals=function(t){return t===this||!(null==t||!kh(t,Wc))&&Hn().e3(this,t)},Un.prototype.hashCode=function(){return Hn().d3(this)},Un.$metadata$=$h("AbstractSet",[Wc],void 0,void 0,void 0,bn.prototype),Yn.prototype.equals=function(t){return!(null==t||!kh(t,Hc))&&t.h()},Yn.prototype.hashCode=function(){return 1},Yn.prototype.toString=function(){return"[]"},Yn.prototype.f=function(){return 0},Yn.prototype.h=function(){return!0},Yn.prototype.g3=function(t){return!1},Yn.prototype.i=function(t){return!1},Yn.prototype.h3=function(t){return t.h()},Yn.prototype.n1=function(t){return this.h3(t)},Yn.prototype.g=function(t){throw Bp("Empty list doesn't contain element at index "+t+".")},Yn.prototype.i3=function(t){return-1},Yn.prototype.j=function(t){return-1},Yn.prototype.c=function(){return Qn()},Yn.prototype.n=function(t){if(0!==t)throw Bp("Index: "+t);return Qn()},Yn.$metadata$=Uh("EmptyList",[Hc,Ga,Ra]),Xn.prototype.f=function(){return this.j3_1.length},Xn.prototype.h=function(){return 0===this.j3_1.length},Xn.prototype.l3=function(t){return function(t,n){return Rt(t,n)>=0}(this.j3_1,t)},Xn.prototype.i=function(t){return!(null!=t&&!Mh(t))&&this.l3(null==t||Mh(t)?t:El())},Xn.prototype.m3=function(t){var n;t:if(kh(t,Zc)&&t.h())n=!0;else{for(var e=t.c();e.d();){var r=e.e();if(!this.l3(r)){n=!1;break t}}n=!0}return n},Xn.prototype.n1=function(t){return this.m3(t)},Xn.prototype.c=function(){return ol(this.j3_1)},Xn.$metadata$=$h("ArrayAsCollection",[Zc]),Zn.prototype.d=function(){return!1},Zn.prototype.o=function(){return!1},Zn.prototype.p=function(){return 0},Zn.prototype.e=function(){throw Cp()},Zn.prototype.q=function(){throw Cp()},Zn.$metadata$=Uh("EmptyIterator",[xs]),te.prototype.p3=function(){return this.n3_1},te.prototype.m2=function(){return this.o3_1},te.prototype.toString=function(){return"IndexedValue(index="+this.n3_1+", value="+this.o3_1+")"},te.prototype.hashCode=function(){var t=this.n3_1;return Et(t,31)+(null==this.o3_1?0:Sl(this.o3_1))|0},te.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof te))return!1;var n=t instanceof te?t:El();return this.n3_1===n.n3_1&&!!Cl(this.o3_1,n.o3_1)},te.$metadata$=$h("IndexedValue"),ee.prototype.c=function(){return new ie(this.q3_1())},ee.$metadata$=$h("IndexingIterable",[Fc]),re.prototype.c=function(){return this.r3_1()},re.$metadata$=$h(void 0,[Fc]),ie.prototype.d=function(){return this.s3_1.d()},ie.prototype.e=function(){var t=this.t3_1;return this.t3_1=t+1|0,new te(Rs(t),this.s3_1.e())},ie.$metadata$=$h("IndexingIterator",[bs]),oe.$metadata$=Hh("MapWithDefault",[Gc]),ae.prototype.equals=function(t){return!(null==t||!kh(t,Gc))&&t.h()},ae.prototype.hashCode=function(){return 0},ae.prototype.toString=function(){return"{}"},ae.prototype.f=function(){return 0},ae.prototype.h=function(){return!0},ae.prototype.h4=function(t){return!1},ae.prototype.u2=function(t){return!(null!=t&&!Mh(t))&&this.h4(null==t||Mh(t)?t:El())},ae.prototype.i4=function(t){return null},ae.prototype.a3=function(t){return null==t||Mh(t)?this.i4(null==t||Mh(t)?t:El()):null},ae.prototype.u=function(){return Ae()},ae.prototype.b3=function(){return Ae()},ae.prototype.c3=function(){return Gn()},ae.$metadata$=Uh("EmptyMap",[Gc,Ga]),pe.prototype.e=function(){return this.q4()},pe.$metadata$=$h("IntIterator",[bs]),fe.prototype.r4=function(){return this.s4()},fe.prototype.e=function(){return new Rc(this.r4())},fe.$metadata$=$h("CharIterator",[bs]),_e.$metadata$=Hh("Sequence"),de.$metadata$=$h("SequenceScope"),me.prototype.y4=function(t){this.x4_1=t},me.prototype.d=function(){for(;;){switch(this.u4_1){case 0:break;case 1:if(Al(this.w4_1).d())return this.u4_1=2,!0;this.w4_1=null;break;case 4:return!1;case 3:case 2:return!0;default:throw ye(this)}this.u4_1=5;var t,n=Al(this.x4_1);this.x4_1=null,no(),t=Cs(),n.z4(t),Cs()}},me.prototype.e=function(){switch(this.u4_1){case 0:case 1:return function(t){if(t.d())return t.e();throw Cp()}(this);case 2:return this.u4_1=1,Al(this.w4_1).e();case 3:this.u4_1=0;var t=this.v4_1,n=null==t||Mh(t)?t:El();return this.v4_1=null,n;default:throw ye(this)}},me.prototype.t4=function(t,n){this.v4_1=t,this.u4_1=3;var e=n;return this.x4_1=e,nr()},me.prototype.a5=function(t){oo(t);null==t||Mh(t)||El(),this.u4_1=4},me.prototype.z4=function(t){return this.a5(t)},me.prototype.b5=function(){return Ke()},me.$metadata$=$h("SequenceBuilderIterator",[bs,Le],void 0,void 0,void 0,de.prototype),ge.prototype.c=function(){return ve(this.c5_1)},ge.$metadata$=$h(void 0,[_e]),be.prototype.e=function(){if(this.e5_1<0&&$e(this),0===this.e5_1)throw Cp();var t=this.d5_1,n=Mh(t)?t:El();return this.e5_1=-1,n},be.prototype.d=function(){return this.e5_1<0&&$e(this),1===this.e5_1},be.$metadata$=$h(void 0,[bs]),we.prototype.c=function(){return new be(this)},we.$metadata$=$h("GeneratorSequence",[_e]),xe.prototype.e=function(){return this.j5_1.l5_1(this.i5_1.e())},xe.prototype.d=function(){return this.i5_1.d()},xe.$metadata$=$h(void 0,[bs]),ke.prototype.c=function(){return new xe(this)},ke.$metadata$=$h("TransformingSequence",[_e]),je.$metadata$=Hh("DropTakeSequence",[_e]),ze.prototype.e=function(){if(0===this.m5_1)throw Cp();var t=this.m5_1;return this.m5_1=t-1|0,this.n5_1.e()},ze.prototype.d=function(){return this.m5_1>0&&this.n5_1.d()},ze.$metadata$=$h(void 0,[bs]),Ce.prototype.h1=function(t){return t>=this.p5_1?this:new Ce(this.o5_1,t)},Ce.prototype.c=function(){return new ze(this)},Ce.$metadata$=$h("TakeSequence",[_e,je]),Se.prototype.c=function(){return Qn()},Se.prototype.h1=function(t){return qe()},Se.$metadata$=Uh("EmptySequence",[_e,je]),Oe.prototype.c=function(){return this.q5_1()},Oe.$metadata$=$h(void 0,[_e]),Me.prototype.equals=function(t){return!(null==t||!kh(t,Wc))&&t.h()},Me.prototype.hashCode=function(){return 0},Me.prototype.toString=function(){return"[]"},Me.prototype.f=function(){return 0},Me.prototype.h=function(){return!0},Me.prototype.g3=function(t){return!1},Me.prototype.i=function(t){return!1},Me.prototype.h3=function(t){return t.h()},Me.prototype.n1=function(t){return this.h3(t)},Me.prototype.c=function(){return Qn()},Me.$metadata$=Uh("EmptySet",[Wc,Ga]),Ie.prototype.q1=function(){if(0===this.u5_1)this.u1();else{var t=this.w5_1.x5_1[this.v5_1];this.t1(null==t||Mh(t)?t:El());var n;n=(this.v5_1+1|0)%this.w5_1.y5_1|0,this.v5_1=n;var e=this.u5_1;this.u5_1=e-1|0}},Ie.$metadata$=$h(void 0,void 0,void 0,void 0,void 0,wn.prototype),De.prototype.f=function(){return this.a6_1},De.prototype.g=function(t){var n;Pn().d2(t,this.a6_1),n=(this.z5_1+t|0)%this.y5_1|0;var e=this.x5_1[n];return null==e||Mh(e)?e:El()},De.prototype.b6=function(){return this.a6_1===this.y5_1},De.prototype.c=function(){return new Ie(this)},De.prototype.c6=function(t){for(var n=t.lengththis.a6_1&&(n[this.a6_1]=null),Ph(n)?n:El()},De.prototype.d6=function(){var t,n=this.a6_1;return t=il(Array(n),null),this.c6(t)},De.prototype.toArray=function(){return this.d6()},De.prototype.e6=function(t){var n,e,r=pn(1+(this.y5_1+(this.y5_1>>1)|0)|0,t);return 0===this.z5_1?n=Jh(this.x5_1,r):(e=il(Array(r),null),n=this.c6(e)),new De(n,this.a6_1)},De.prototype.f6=function(t){if(this.b6())throw kp("ring buffer is full");var n;n=(this.z5_1+this.a6_1|0)%this.y5_1|0,this.x5_1[n]=t;var e=this.a6_1;this.a6_1=e+1|0},De.prototype.g6=function(t){if(!(t>=0))throw mp(zl("n shouldn't be negative but it is "+t));if(!(t<=this.a6_1))throw mp(zl("n shouldn't be greater than the buffer size: n = "+t+", size = "+this.a6_1));if(t>0){var n=this.z5_1,e=(n+t|0)%this.y5_1|0;n>e?(Wh(this.x5_1,null,n,this.y5_1),Wh(this.x5_1,null,0,e)):Wh(this.x5_1,null,n,e),this.z5_1=e;this.a6_1=this.a6_1-t|0}},De.$metadata$=$h("RingBuffer",[Ra],void 0,void 0,void 0,Mn.prototype),Te.prototype.g7=function(t,n){var e=this.h7(t,n);return e.l7_1=Cs(),e.m7_1=null,e.q7()},Te.prototype.r7=function(t,n){return this.g7(t instanceof de?t:El(),n)},Te.prototype.q7=function(){var t=this.l7_1;t:for(;;)try{switch(this.j7_1){case 0:if(this.k7_1=21,this.v6_1=pn(this.p6_1,1024),this.w6_1=this.q6_1-this.p6_1|0,this.w6_1>=0){this.x6_1=ia(this.v6_1),this.y6_1=0,this.z6_1=this.r6_1,this.j7_1=12;continue t}this.a7_1=Ee(this.v6_1),this.b7_1=this.r6_1,this.j7_1=1;continue t;case 1:if(!this.b7_1.d()){this.j7_1=5;continue t}if(this.c7_1=this.b7_1.e(),this.a7_1.f6(this.c7_1),this.a7_1.b6()){if(this.a7_1.a6_1this.q6_1)){this.j7_1=8;continue t}if(this.j7_1=7,(t=this.u6_1.t4(this.s6_1?this.a7_1:oa(this.a7_1),this))===nr())return t;continue t;case 7:this.a7_1.g6(this.q6_1),this.j7_1=6;continue t;case 8:if(this.d7_1=this.a7_1,this.d7_1.h()){this.j7_1=10;continue t}if(this.j7_1=9,(t=this.u6_1.t4(this.a7_1,this))===nr())return t;continue t;case 9:this.j7_1=10;continue t;case 10:this.j7_1=11;continue t;case 11:case 19:this.j7_1=20;continue t;case 12:if(!this.z6_1.d()){this.j7_1=16;continue t}if(this.e7_1=this.z6_1.e(),this.y6_1>0){this.y6_1=this.y6_1-1|0,this.j7_1=12;continue t}this.j7_1=13;continue t;case 13:if(this.x6_1.a(this.e7_1),this.x6_1.f()===this.p6_1){if(this.j7_1=14,(t=this.u6_1.t4(this.x6_1,this))===nr())return t;continue t}this.j7_1=15;continue t;case 14:this.s6_1?this.x6_1.s7():this.x6_1=ia(this.p6_1),this.y6_1=this.w6_1,this.j7_1=15;continue t;case 15:this.j7_1=12;continue t;case 16:if(this.f7_1=this.x6_1,this.f7_1.h()){this.j7_1=19;continue t}if(this.t6_1||this.x6_1.f()===this.p6_1){if(this.j7_1=17,(t=this.u6_1.t4(this.x6_1,this))===nr())return t;continue t}this.j7_1=18;continue t;case 17:this.j7_1=18;continue t;case 18:this.j7_1=19;continue t;case 20:return Cs();case 21:throw this.m7_1}}catch(t){if(21===this.k7_1)throw t;this.j7_1=this.k7_1,this.m7_1=t}},Te.prototype.h7=function(t,n){var e=new Te(this.p6_1,this.q6_1,this.r6_1,this.s6_1,this.t6_1,n);return e.u6_1=t,e},Te.$metadata$=$h("windowedIterator$slambda",void 0,void 0,void 0,[1],op.prototype),Be.prototype.s=function(t,n){return this.v7_1(t,n)},Be.prototype.compare=function(t,n){return this.s(t,n)},Be.$metadata$=$h("sam$kotlin_Comparator$0",[Bs]),Le.$metadata$=Hh("Continuation"),Ne.$metadata$=Uh("Key",[He]),Fe.$metadata$=Hh("ContinuationInterceptor",[Ue]),He.$metadata$=Hh("Key"),Ue.$metadata$=Hh("Element",[We]),We.$metadata$=Hh("CoroutineContext"),Je.prototype.y7=function(t){return null},Je.prototype.e8=function(t,n){return t},Je.prototype.f8=function(t){return t},Je.prototype.d8=function(t){return this},Je.prototype.hashCode=function(){return 0},Je.prototype.toString=function(){return"EmptyCoroutineContext"},Je.$metadata$=Uh("EmptyCoroutineContext",[We,Ga]),Ze.prototype.y7=function(t){for(var n=this;;){var e=n.i8_1.y7(t);if(null!=e)return e;var r=n.h8_1;if(!(r instanceof Ze))return r.y7(t);n=r}},Ze.prototype.e8=function(t,n){return n(this.h8_1.e8(t,n),this.i8_1)},Ze.prototype.d8=function(t){if(null!=this.i8_1.y7(t))return this.h8_1;var n=this.h8_1.d8(t);return n===this.h8_1?this:n===Ke()?this.i8_1:new Ze(n,this.i8_1)},Ze.prototype.equals=function(t){return this===t||!!(t instanceof Ze&&Ye(t)===Ye(this))&&function(t,n){for(var e=n;;){if(!Ge(t,e.i8_1))return!1;var r=e.h8_1;if(!(r instanceof Ze))return Ge(t,kh(r,Ue)?r:El());e=r}}(t,this)},Ze.prototype.hashCode=function(){return Sl(this.h8_1)+Sl(this.i8_1)|0},Ze.prototype.toString=function(){return"["+this.e8("",Xe)+"]"},Ze.$metadata$=$h("CombinedContext",[We,Ga]),Qe.prototype.b8=function(t){return this.z7_1(t)},Qe.prototype.c8=function(t){return t===this||this.a8_1===t},Qe.$metadata$=$h("AbstractCoroutineContextKey",[He]),tr.prototype.k2=function(){return this.j8_1},tr.$metadata$=$h("AbstractCoroutineContextElement",[Ue]),rr.$metadata$=$h("CoroutineSingletons",void 0,void 0,void 0,void 0,nl.prototype),cr.prototype.l8=function(t){return this.k8_1.l8(t)},cr.prototype.q4=function(){return this.k8_1.q4()},cr.prototype.m8=function(t,n){return this.k8_1.m8(t,n)},cr.$metadata$=Uh("Default",[Ga],void 0,void 0,void 0,hr.prototype),hr.prototype.q4=function(){return this.l8(32)},hr.prototype.m8=function(t,n){pr(t,n);var e=n-t|0;if(e>0||e===Ps().w_1){var r;if((e&(0|-e))===e){var i=31-It(e)|0;r=this.l8(i)}else{var o;do{var s=this.q4()>>>1|0;o=s%e|0}while(((s-o|0)+(e-1|0)|0)<0);r=o}return t+r|0}for(;;){var a=this.q4();if(t<=a&&a>>2|0,this.r8_1=this.s8_1,this.s8_1=this.t8_1,this.t8_1=this.u8_1;var n=this.v8_1;this.u8_1=n,t=t^t<<1^n^n<<4,this.v8_1=t;return this.w8_1=this.w8_1+362437|0,t+this.w8_1|0},_r.prototype.l8=function(t){return function(t,n){return(t>>>(32-n|0)|0)&(0|-n)>>31}(this.q4(),t)},_r.$metadata$=$h("XorWowRandom",[Ga],void 0,void 0,void 0,hr.prototype),dr.$metadata$=Uh("Companion"),yr.prototype.x8=function(){return this.e1_1},yr.prototype.y8=function(){return this.f1_1},yr.prototype.z8=function(t){return this.e1_1<=t&&t<=this.f1_1},yr.prototype.h=function(){return this.e1_1>this.f1_1},yr.prototype.equals=function(t){return t instanceof yr&&(!(!this.h()||!t.h())||this.e1_1===t.e1_1&&this.f1_1===t.f1_1)},yr.prototype.hashCode=function(){return this.h()?-1:Et(31,this.e1_1)+this.f1_1|0},yr.prototype.toString=function(){return this.e1_1+".."+this.f1_1},yr.$metadata$=$h("IntRange",[Cr,Sr],void 0,void 0,void 0,kr.prototype),mr.$metadata$=Uh("Companion"),gr.prototype.e9=function(t){return Ic(this.f9_1,t)<=0&&Ic(t,this.g9_1)<=0},gr.prototype.h=function(){return Ic(this.f9_1,this.g9_1)>0},gr.prototype.equals=function(t){return t instanceof gr&&(!(!this.h()||!t.h())||!!Cl(new Rc(this.f9_1),new Rc(t.f9_1))&&Cl(new Rc(this.g9_1),new Rc(t.g9_1)))},gr.prototype.hashCode=function(){var t,n;return this.h()?t=-1:(n=this.f9_1,t=Et(31,n)+this.g9_1|0),t},gr.prototype.toString=function(){return new Rc(this.f9_1)+".."+new Rc(this.g9_1)},gr.$metadata$=$h("CharRange",[Cr,Sr],void 0,void 0,void 0,zr.prototype),$r.prototype.d=function(){return this.k9_1},$r.prototype.q4=function(){var t=this.l9_1;if(t===this.j9_1){if(!this.k9_1)throw Cp();this.k9_1=!1}else{this.l9_1=this.l9_1+this.i9_1|0}return t},$r.$metadata$=$h("IntProgressionIterator",void 0,void 0,void 0,void 0,pe.prototype),br.prototype.d=function(){return this.o9_1},br.prototype.s4=function(){var t=this.p9_1;if(t===this.n9_1){if(!this.o9_1)throw Cp();this.o9_1=!1}else{this.p9_1=this.p9_1+this.m9_1|0}return _h(t)},br.$metadata$=$h("CharProgressionIterator",void 0,void 0,void 0,void 0,fe.prototype),wr.prototype.d1=function(t,n,e){return new kr(t,n,e)},wr.$metadata$=Uh("Companion"),kr.prototype.c=function(){return new $r(this.e1_1,this.f1_1,this.g1_1)},kr.prototype.h=function(){return this.g1_1>0?this.e1_1>this.f1_1:this.e1_10?this.e1_1+".."+this.f1_1+" step "+this.g1_1:this.e1_1+" downTo "+this.f1_1+" step "+(0|-this.g1_1)},kr.$metadata$=$h("IntProgression",[Fc]),jr.$metadata$=Uh("Companion"),zr.prototype.c=function(){return new br(this.f9_1,this.g9_1,this.h9_1)},zr.prototype.h=function(){return this.h9_1>0?Ic(this.f9_1,this.g9_1)>0:Ic(this.f9_1,this.g9_1)<0},zr.prototype.equals=function(t){return t instanceof zr&&(!(!this.h()||!t.h())||!(!Cl(new Rc(this.f9_1),new Rc(t.f9_1))||!Cl(new Rc(this.g9_1),new Rc(t.g9_1)))&&this.h9_1===t.h9_1)},zr.prototype.hashCode=function(){var t;if(this.h())t=-1;else{var n;n=this.f9_1;var e,r=Et(31,n);e=this.g9_1,t=Et(31,r+e|0)+this.h9_1|0}return t},zr.prototype.toString=function(){return this.h9_1>0?new Rc(this.f9_1)+".."+new Rc(this.g9_1)+" step "+this.h9_1:new Rc(this.f9_1)+" downTo "+new Rc(this.g9_1)+" step "+(0|-this.h9_1)},zr.$metadata$=$h("CharProgression",[Fc]),Cr.$metadata$=Hh("ClosedRange"),Sr.$metadata$=Hh("OpenEndRange"),qr.$metadata$=Hh("KClassifier"),Or.$metadata$=Hh("KTypeParameter",[qr]),ni.prototype.e=function(){if(-1===this.ga_1&&ti(this),0===this.ga_1)throw Cp();var t=this.ja_1,n=t instanceof yr?t:El();return this.ja_1=null,this.ga_1=-1,n},ni.prototype.d=function(){return-1===this.ga_1&&ti(this),1===this.ga_1},ni.$metadata$=$h(void 0,[bs]),ei.prototype.c=function(){return new ni(this)},ei.$metadata$=$h("DelimitedRangesSequence",[_e]),oi.$metadata$=Hh("MatchResult"),si.$metadata$=Hh("MatchGroupCollection",[Zc]),ai.$metadata$=Hh("MatchNamedGroupCollection",[si]),pi.prototype.za=function(t){var n;try{n=Mi(t,!0)}catch(n){throw n instanceof bp?$p("Invalid ISO duration string format: '"+t+"'.",n):n}return n},pi.$metadata$=Uh("Companion"),Si.prototype.hb=function(t){return $i(this.bb_1,t)},Si.prototype.ib=function(t){return function(t,n){return $i(t.bb_1,n instanceof Si?n.bb_1:El())}(this,t)},Si.prototype.toString=function(){return zi(this.bb_1)},Si.prototype.hashCode=function(){return this.bb_1.hashCode()},Si.prototype.equals=function(t){return function(t,n){if(!(n instanceof Si))return!1;var e=n instanceof Si?n.bb_1:El();return!!t.equals(e)}(this.bb_1,t)},Si.$metadata$=$h("Duration",[$s]),Ri.$metadata$=$h("DeepRecursiveScope"),Fi.$metadata$=$h("DeepRecursiveFunction"),Hi.prototype.b5=function(){return Ke()},Hi.prototype.rb=function(t){this.ob_1=null,this.pb_1=t},Hi.prototype.z4=function(t){return this.rb(t)},Hi.prototype.kb=function(t,n){var e=n;return this.ob_1=kh(e,Le)?e:El(),this.nb_1=t,nr()},Hi.prototype.qb=function(){t:for(;;){var t=this.pb_1,n=this.ob_1;if(null==n){var e=new ro(t)instanceof ro?t:El();oo(e);var r=e;return null==r||Mh(r)?r:El()}var i=n;if(Cl(Ni(),t)){var o;try{var s,a=this.mb_1,u=this.nb_1;o="function"==typeof(s=a)?s(this,u,i):a.sb(this,u,i)}catch(t){if(t instanceof Error){var c;no(),c=io(t),i.z4(c),Cs();continue t}throw t}var l=o;if(l!==nr()){var h,p=null==l||Mh(l)?l:El();no(),h=p,i.z4(h),Cs()}}else this.pb_1=Ni(),i.z4(t)}},Hi.$metadata$=$h("DeepRecursiveScopeImpl",[Le],void 0,void 0,void 0,Ri.prototype),Vi.$metadata$=Hh("Lazy"),Wi.$metadata$=$h("LazyThreadSafetyMode",void 0,void 0,void 0,void 0,nl.prototype),Ji.prototype.m2=function(){this.ub_1===Yi()&&(this.ub_1=Al(this.tb_1)(),this.tb_1=null);var t=this.ub_1;return null==t||Mh(t)?t:El()},Ji.prototype.vb=function(){return!(this.ub_1===Yi())},Ji.prototype.toString=function(){return this.vb()?el(this.m2()):"Lazy value not initialized yet."},Ji.$metadata$=$h("UnsafeLazyImpl",[Vi,Ga]),Ki.$metadata$=Uh("UNINITIALIZED_VALUE"),to.prototype.xb=function(t){return t},to.prototype.yb=function(t){return io(t)},to.$metadata$=Uh("Companion"),eo.prototype.equals=function(t){return t instanceof eo&&Cl(this.wb_1,t.wb_1)},eo.prototype.hashCode=function(){return Sl(this.wb_1)},eo.prototype.toString=function(){return"Failure("+this.wb_1+")"},eo.$metadata$=$h("Failure",[Ga]),ro.prototype.toString=function(){return(t=this.zb_1)instanceof eo?zl(t):"Success("+el(t)+")";var t},ro.prototype.hashCode=function(){return null==(t=this.zb_1)?0:Sl(t);var t},ro.prototype.equals=function(t){return function(t,n){return n instanceof ro&&!!Cl(t,n instanceof ro?n.zb_1:El())}(this.zb_1,t)},ro.$metadata$=$h("Result",[Ga]),so.$metadata$=$h("NotImplementedError",void 0,void 0,void 0,void 0,dp.prototype),ao.prototype.ac=function(){return this.j4_1},ao.prototype.bc=function(){return this.k4_1},ao.prototype.toString=function(){return"("+this.j4_1+", "+this.k4_1+")"},ao.prototype.l4=function(){return this.j4_1},ao.prototype.m4=function(){return this.k4_1},ao.prototype.hashCode=function(){var t=null==this.j4_1?0:Sl(this.j4_1);return Et(t,31)+(null==this.k4_1?0:Sl(this.k4_1))|0},ao.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof ao))return!1;var n=t instanceof ao?t:El();return!!Cl(this.j4_1,n.j4_1)&&!!Cl(this.k4_1,n.k4_1)},ao.$metadata$=$h("Pair",[Ga]),co.prototype.toString=function(){return"("+this.cc_1+", "+this.dc_1+", "+this.ec_1+")"},co.prototype.hashCode=function(){var t=null==this.cc_1?0:Sl(this.cc_1);return t=Et(t,31)+(null==this.dc_1?0:Sl(this.dc_1))|0,Et(t,31)+(null==this.ec_1?0:Sl(this.ec_1))|0},co.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof co))return!1;var n=t instanceof co?t:El();return!!Cl(this.cc_1,n.cc_1)&&!!Cl(this.dc_1,n.dc_1)&&!!Cl(this.ec_1,n.ec_1)},co.$metadata$=$h("Triple",[Ga]),po.$metadata$=Uh("Companion"),yo.prototype.kc=function(t){return _o(this.jc_1,t)},yo.prototype.ib=function(t){return function(t,n){return _o(t.jc_1,n instanceof yo?n.jc_1:El())}(this,t)},yo.prototype.toString=function(){return vo(this.jc_1)},yo.prototype.hashCode=function(){return this.jc_1},yo.prototype.equals=function(t){return function(t,n){return n instanceof yo&&t===(n instanceof yo?n.jc_1:El())}(this.jc_1,t)},yo.$metadata$=$h("UByte",[$s]),bo.prototype.d=function(){return this.mc_10},Ws.prototype.p=function(){return this.mf_1},Ws.prototype.q=function(){if(!this.o())throw Cp();var t=this;return t.mf_1=t.mf_1-1|0,this.nf_1=t.mf_1,this.tf_1.g(this.nf_1)},Ws.$metadata$=$h("ListIteratorImpl",[ks],void 0,void 0,void 0,Vs.prototype),Js.prototype.yf=function(t,n){Pn().c2(t,this.xf_1),this.vf_1.yf(this.wf_1+t|0,n);var e=this.xf_1;this.xf_1=e+1|0},Js.prototype.g=function(t){return Pn().d2(t,this.xf_1),this.vf_1.g(this.wf_1+t|0)},Js.prototype.n4=function(t){Pn().d2(t,this.xf_1);var n=this.vf_1.n4(this.wf_1+t|0),e=this.xf_1;return this.xf_1=e-1|0,n},Js.prototype.p4=function(t,n){return Pn().d2(t,this.xf_1),this.vf_1.p4(this.wf_1+t|0,n)},Js.prototype.f=function(){return this.xf_1},Js.prototype.kf=function(){return this.vf_1.kf()},Js.$metadata$=$h("SubList",[Ra],void 0,void 0,void 0,Ks.prototype),Ks.prototype.a=function(t){return this.kf(),this.yf(this.f(),t),!0},Ks.prototype.s7=function(){this.kf(),this.zf(0,this.f())},Ks.prototype.c=function(){return new Vs(this)},Ks.prototype.i=function(t){return this.j(t)>=0},Ks.prototype.j=function(t){var n=0,e=Kn(this);if(n<=e)do{var r=n;if(n=n+1|0,Cl(this.g(r),t))return r}while(r!==e);return-1},Ks.prototype.i2=function(t){var n=Kn(this);if(0<=n)do{var e=n;if(n=n+-1|0,Cl(this.g(e),t))return e}while(0<=n);return-1},Ks.prototype.n=function(t){return new Ws(this,t)},Ks.prototype.ag=function(t,n){return new Js(this,t,n)},Ks.prototype.zf=function(t,n){var e=this.n(t),r=n-t|0,i=0;if(i=0){var r,i=this,o=this.ji_1;r=n.substring(0,e),i.ji_1=o+r,this.ki();var s=e+1|0;n=n.substring(s)}this.ji_1=this.ji_1+n},Ua.prototype.ki=function(){console.log(this.ji_1),this.ji_1=""},Ua.$metadata$=$h("BufferedOutputToConsoleLog",void 0,void 0,void 0,void 0,Va.prototype),Va.prototype.fi=function(t){var n,e=this,r=this.ji_1;n=String(t),e.ji_1=r+n},Va.$metadata$=$h("BufferedOutput",void 0,void 0,void 0,void 0,Fa.prototype),Ja.prototype.b5=function(){return this.li_1.b5()},Ja.prototype.z4=function(t){var n=this.mi_1;if(n===ir())this.mi_1=t;else{if(n!==nr())throw kp("Already resumed");this.mi_1=or(),this.li_1.z4(t)}},Ja.prototype.ni=function(){if(this.mi_1===ir())return this.mi_1=nr(),nr();var t,n=this.mi_1;if(n===or())t=nr();else{if(n instanceof eo)throw n.wb_1;t=n}return t},Ja.$metadata$=$h("SafeContinuation",[Le]),Ya.$metadata$=$h("CancellationException",void 0,void 0,void 0,void 0,zp.prototype),Ga.$metadata$=Hh("Serializable"),nu.$metadata$=Hh("KCallable"),eu.$metadata$=Hh("KClass",[qr]),ru.prototype.qi=function(){return this.pi_1},ru.prototype.equals=function(t){return t instanceof ru&&Cl(this.qi(),t.qi())},ru.prototype.hashCode=function(){var t=this.ri(),n=null==t?null:ql(t);return null==n?0:n},ru.prototype.toString=function(){return"class "+this.ri()},ru.$metadata$=$h("KClassImpl",[eu]),iu.prototype.equals=function(t){return t instanceof iu&&!!ru.prototype.equals.call(this,t)&&this.ui_1===t.ui_1},iu.prototype.ri=function(){return this.ui_1},iu.prototype.si=function(t){return this.vi_1(t)},iu.$metadata$=$h("PrimitiveKClassImpl",void 0,void 0,void 0,void 0,ru.prototype),ou.prototype.ri=function(){return this.xi_1},ou.prototype.si=function(t){return!1},ou.prototype.qi=function(){throw Ip("There's no native JS class for Nothing type")},ou.prototype.equals=function(t){return t===this},ou.prototype.hashCode=function(){return 0},ou.$metadata$=Uh("NothingKClassImpl",void 0,void 0,void 0,void 0,ru.prototype),au.prototype.ri=function(){throw kp("Unknown simpleName for ErrorKClass")},au.prototype.si=function(t){throw kp("Can's check isInstance on ErrorKClass")},au.prototype.equals=function(t){return t===this},au.prototype.hashCode=function(){return 0},au.$metadata$=$h("ErrorKClass",[eu]),uu.prototype.ri=function(){return this.zi_1},uu.prototype.si=function(t){return Vh(t,this.qi())},uu.$metadata$=$h("SimpleKClassImpl",void 0,void 0,void 0,void 0,ru.prototype),cu.$metadata$=Hh("KProperty1",[hu]),lu.$metadata$=Hh("KMutableProperty1",[cu,fu]),hu.$metadata$=Hh("KProperty",[nu]),pu.$metadata$=Hh("KMutableProperty0",[_u,fu]),fu.$metadata$=Hh("KMutableProperty",[hu]),_u.$metadata$=Hh("KProperty0",[hu]),du.$metadata$=Hh("KType"),vu.prototype.aj=function(){return this.dj_1},vu.prototype.bj=function(){return this.ej_1},vu.prototype.cj=function(){return this.fj_1},vu.prototype.equals=function(t){return!!(t instanceof vu&&Cl(this.dj_1,t.dj_1)&&Cl(this.ej_1,t.ej_1))&&this.fj_1===t.fj_1},vu.prototype.hashCode=function(){return Et(Et(Sl(this.dj_1),31)+Sl(this.ej_1)|0,31)+(0|this.fj_1)|0},vu.prototype.toString=function(){var t=this.dj_1,n=kh(t,eu)?t:null,e=null==n?zl(this.dj_1):null!=n.ri()?n.ri():"(non-denotable type)",r=this.ej_1.h()?"":tn(this.ej_1,", ","<",">",0,null,null,56),i=this.fj_1?"?":"";return rl(e,r)+i},vu.$metadata$=$h("KTypeImpl",[du]),Tu.prototype.ak=function(){return this.gj_1},Tu.prototype.bk=function(){return this.hj_1},Tu.prototype.ck=function(){return this.ij_1},Tu.prototype.dk=function(){return this.jj_1},Tu.prototype.ek=function(){return this.kj_1},Tu.prototype.fk=function(){return this.lj_1},Tu.prototype.gk=function(){return this.mj_1},Tu.prototype.hk=function(){return this.nj_1},Tu.prototype.ik=function(){return this.oj_1},Tu.prototype.jk=function(){return this.pj_1},Tu.prototype.kk=function(){return this.qj_1},Tu.prototype.lk=function(){return this.rj_1},Tu.prototype.mk=function(){return this.sj_1},Tu.prototype.nk=function(){return this.tj_1},Tu.prototype.ok=function(){return this.uj_1},Tu.prototype.pk=function(){return this.vj_1},Tu.prototype.qk=function(){return this.wj_1},Tu.prototype.rk=function(){return this.xj_1},Tu.prototype.sk=function(){return this.yj_1},Tu.prototype.tk=function(){return this.zj_1},Tu.prototype.functionClass=function(t){var n,e,r=yu()[t];if(null==r){var i=new iu(Function,"Function"+t,(e=t,function(t){return"function"==typeof t&&t.length===e}));yu()[t]=i,n=i}else n=r;return n},Tu.$metadata$=Uh("PrimitiveClasses"),Object.defineProperty(Tu.prototype,"anyClass",{configurable:!0,get:Tu.prototype.ak}),Object.defineProperty(Tu.prototype,"numberClass",{configurable:!0,get:Tu.prototype.bk}),Object.defineProperty(Tu.prototype,"nothingClass",{configurable:!0,get:Tu.prototype.ck}),Object.defineProperty(Tu.prototype,"booleanClass",{configurable:!0,get:Tu.prototype.dk}),Object.defineProperty(Tu.prototype,"byteClass",{configurable:!0,get:Tu.prototype.ek}),Object.defineProperty(Tu.prototype,"shortClass",{configurable:!0,get:Tu.prototype.fk}),Object.defineProperty(Tu.prototype,"intClass",{configurable:!0,get:Tu.prototype.gk}),Object.defineProperty(Tu.prototype,"floatClass",{configurable:!0,get:Tu.prototype.hk}),Object.defineProperty(Tu.prototype,"doubleClass",{configurable:!0,get:Tu.prototype.ik}),Object.defineProperty(Tu.prototype,"arrayClass",{configurable:!0,get:Tu.prototype.jk}),Object.defineProperty(Tu.prototype,"stringClass",{configurable:!0,get:Tu.prototype.kk}),Object.defineProperty(Tu.prototype,"throwableClass",{configurable:!0,get:Tu.prototype.lk}),Object.defineProperty(Tu.prototype,"booleanArrayClass",{configurable:!0,get:Tu.prototype.mk}),Object.defineProperty(Tu.prototype,"charArrayClass",{configurable:!0,get:Tu.prototype.nk}),Object.defineProperty(Tu.prototype,"byteArrayClass",{configurable:!0,get:Tu.prototype.ok}),Object.defineProperty(Tu.prototype,"shortArrayClass",{configurable:!0,get:Tu.prototype.pk}),Object.defineProperty(Tu.prototype,"intArrayClass",{configurable:!0,get:Tu.prototype.qk}),Object.defineProperty(Tu.prototype,"longArrayClass",{configurable:!0,get:Tu.prototype.rk}),Object.defineProperty(Tu.prototype,"floatArrayClass",{configurable:!0,get:Tu.prototype.sk}),Object.defineProperty(Tu.prototype,"doubleArrayClass",{configurable:!0,get:Tu.prototype.tk}),Fu.$metadata$=Hh("Appendable"),Wu.prototype.de=function(){return this.fa_1.length},Wu.prototype.ee=function(t){var n=this.fa_1;if(!(t>=0&&t<=Hr(n)))throw Bp("index: "+t+", length: "+this.de()+"}");return yl(n,t)},Wu.prototype.fe=function(t,n){return this.fa_1.substring(t,n)},Wu.prototype.q9=function(t){return this.fa_1=this.fa_1+new Rc(t),this},Wu.prototype.b=function(t){return this.fa_1=this.fa_1+el(t),this},Wu.prototype.uk=function(t,n,e){var r=t;return this.gb(null==r?"null":r,n,e)},Wu.prototype.db=function(t){return this.fa_1=this.fa_1+el(t),this},Wu.prototype.eb=function(t){var n=this,e=this.fa_1,r=t;return n.fa_1=e+(null==r?"null":r),this},Wu.prototype.fb=function(t,n){Pn().c2(t,this.de());var e,r=this.fa_1.substring(0,t)+new Rc(n);return e=this.fa_1.substring(t),this.fa_1=r+e,this},Wu.prototype.vk=function(t){if(t<0)throw mp("Negative new length: "+t+".");if(t<=this.de()){var n;n=this.fa_1.substring(0,t),this.fa_1=n}else{var e=this.de();if(egl(t))throw Bp("Start index out of bounds: "+n+", input length: "+gl(t));return ac(this.y9_1,zl(t),n,this.y9_1)},oc.prototype.dl=function(t,n,e,r){return 0!=(2&e)&&(n=0),this.cl(t,n)},oc.prototype.el=function(t,n){if(n<0||n>gl(t))throw Bp("Start index out of bounds: "+n+", input length: "+gl(t));return e=this,r=t,i=n,new we((function(){return e.cl(r,i)}),rc);var e,r,i},oc.prototype.fl=function(t,n,e,r){return 0!=(2&e)&&(n=0),this.el(t,n)},oc.prototype.ca=function(t,n){if(!Wr(n,92,!1,2)&&!Wr(n,36,!1,2)){var e=zl(t),r=this.y9_1;return e.replace(r,n)}return this.gl(t,ic(n))},oc.prototype.gl=function(t,n){var e=this.dl(t,0,2,null);if(null==e)return zl(t);var r=0,i=gl(t),o=Hu();do{var s=Al(e);o.uk(t,r,s.qa().x8()),o.b(n(s)),r=s.qa().y8()+1|0,e=s.e()}while(r>>e|0|t.b1_1<<(32-e|0),t.b1_1>>>e|0):new Ll(32===e?t.b1_1:t.b1_1>>>(e-32|0)|0,0)}(this,t)},Ll.prototype.wc=function(t){return new Ll(this.a1_1&t.a1_1,this.b1_1&t.b1_1)},Ll.prototype.en=function(t){return new Ll(this.a1_1|t.a1_1,this.b1_1|t.b1_1)},Ll.prototype.ab=function(t){return new Ll(this.a1_1^t.a1_1,this.b1_1^t.b1_1)},Ll.prototype.dn=function(){return new Ll(~this.a1_1,~this.b1_1)},Ll.prototype.fn=function(){return lh(this.a1_1)},Ll.prototype.gn=function(){return ph(this.a1_1)},Ll.prototype.va=function(){return this.a1_1},Ll.prototype.oi=function(){return Xl(this)},Ll.prototype.valueOf=function(){return this.oi()},Ll.prototype.equals=function(t){return t instanceof Ll&&Zl(this,t)},Ll.prototype.hashCode=function(){return t=this,ch(),t.a1_1^t.b1_1;var t},Ll.prototype.toString=function(){return Ql(this,10)},Ll.$metadata$=$h("Long",[$s],void 0,void 0,void 0,js.prototype),Zh.$metadata$=Uh("Digit"),tp.$metadata$=Uh("Letter"),ep.$metadata$=Uh("OtherLowercase"),op.prototype.b5=function(){return Al(this.o7_1)},op.prototype.t7=function(){var t,n=this.p7_1;if(null==n){var e=this.b5().y7(Re()),r=null==e?null:e.w7(this),i=null==r?this:r;this.p7_1=i,t=i}else t=n;return t},op.prototype.u7=function(t){var n,e=this;if(Zi(t))n=null;else{var r=t;n=null==r||Mh(r)?r:El()}for(var i=n,o=Qi(t);;){var s=e;null==o?s.l7_1=i:(s.j7_1=s.k7_1,s.m7_1=o);try{var a=s.q7();if(a===nr())return Cs();i=a,o=null}catch(t){i=null,o=t}ip(s);var u=Al(s.i7_1);if(!(u instanceof op)){if(null!=o){var c,l=Al(o);no(),c=io(l),u.z4(c),Cs()}else{var h,p=i;no(),h=p,u.z4(h),Cs()}return Cs()}e=u,Cs()}},op.prototype.z4=function(t){return this.u7(t)},op.$metadata$=$h("CoroutineImpl",[Le]),sp.prototype.b5=function(){throw kp("This continuation is already complete")},sp.prototype.u7=function(t){throw kp("This continuation is already complete")},sp.prototype.z4=function(t){return this.u7(t)},sp.prototype.toString=function(){return"This continuation is already complete"},sp.$metadata$=Uh("CompletedContinuation",[Le]),cp.prototype.q7=function(){if(null!=this.m7_1)throw this.m7_1;var t;return"function"==typeof(t=this.wn_1)?t(this.xn_1,this.vn_1):this.wn_1.r7(this.xn_1,this.vn_1)},cp.$metadata$=$h(void 0,void 0,void 0,void 0,void 0,op.prototype),lp.prototype.q7=function(){if(null!=this.m7_1)throw this.m7_1;return this.go_1()},lp.$metadata$=$h(void 0,void 0,void 0,void 0,void 0,op.prototype),fp.$metadata$=$h("Exception",void 0,void 0,void 0,void 0,Error.prototype),dp.$metadata$=$h("Error",void 0,void 0,void 0,void 0,Error.prototype),bp.$metadata$=$h("IllegalArgumentException",void 0,void 0,void 0,void 0,Ap.prototype),zp.$metadata$=$h("IllegalStateException",void 0,void 0,void 0,void 0,Ap.prototype),qp.$metadata$=$h("NoSuchElementException",void 0,void 0,void 0,void 0,Ap.prototype),Ap.$metadata$=$h("RuntimeException",void 0,void 0,void 0,void 0,fp.prototype),Dp.$metadata$=$h("UnsupportedOperationException",void 0,void 0,void 0,void 0,Ap.prototype),Tp.$metadata$=$h("ConcurrentModificationException",void 0,void 0,void 0,void 0,Ap.prototype),Lp.$metadata$=$h("IndexOutOfBoundsException",void 0,void 0,void 0,void 0,Ap.prototype),Rp.$metadata$=$h("AssertionError",void 0,void 0,void 0,void 0,dp.prototype),Hp.$metadata$=$h("ArithmeticException",void 0,void 0,void 0,void 0,Ap.prototype),Vp.$metadata$=$h("NumberFormatException",void 0,void 0,void 0,void 0,bp.prototype),Jp.$metadata$=$h("NullPointerException",void 0,void 0,void 0,void 0,Ap.prototype),Yp.$metadata$=$h("NoWhenBranchMatchedException",void 0,void 0,void 0,void 0,Ap.prototype),Xp.$metadata$=$h("ClassCastException",void 0,void 0,void 0,void 0,Ap.prototype),Qp.$metadata$=$h("UninitializedPropertyAccessException",void 0,void 0,void 0,void 0,Ap.prototype),Hh("Function1"),Hh("Function0"),sf.$metadata$=Hh("SuspendFunction1"),af.$metadata$=Hh("SuspendFunction2"),Ze.prototype.f8=Tt,tr.prototype.y7=Bt,tr.prototype.e8=Lt,tr.prototype.d8=Nt,tr.prototype.f8=Tt,Ca.prototype.th=function(){var t=Object.create(null);return t.foo=1,ef(t,"foo"),t},V=null,qt=0,t.$_$=t.$_$||{},t.$_$.a=function(t,n,e){return new vu(t,Yh(n),e)},t.$_$.b=function(t,n){if(t instanceof ru&&n instanceof ru){var e,r=n.qi().$metadata$,i=null==r?null:r.associatedObjectKey;if(null==(e=null==i?null:i))return null;var o=e,s=t.qi().$metadata$,a=null==s?null:s.associatedObjects;if(null==a)return null;var u=a[o];return null==u?null:u()}return null},t.$_$.c=function(t){var n;switch(typeof t){case"string":n=Bu().qj_1;break;case"number":n=nf(t,0)===t?Bu().mj_1:Bu().oj_1;break;case"boolean":n=Bu().jj_1;break;case"function":var e;e=t,n=Bu().functionClass(e.length);break;default:var r;if(Ih(t))r=Bu().sj_1;else if(Bh(t))r=Bu().tj_1;else if(Dh(t))r=Bu().uj_1;else if(Th(t))r=Bu().vj_1;else if(Lh(t))r=Bu().wj_1;else if(Rh(t))r=Bu().xj_1;else if(Nh(t))r=Bu().yj_1;else if(Fh(t))r=Bu().zj_1;else if(kh(t,eu))r=Lu(eu);else if(Ph(t))r=Bu().pj_1;else{var i=Object.getPrototypeOf(t).constructor;r=i===Object?Bu().gj_1:i===Error?Bu().rj_1:Nu(i)}n=r}return n},t.$_$.d=Lu,t.$_$.e=function(t){var n=0,e=0,r=t.length-1|0;if(e<=r)do{var i=e;e=e+1|0,n=n+t[i].length|0}while(i!==r);var o=t[0],s=new o.constructor(n);if(null!=o.$type$){var a=o.$type$;s.$type$=a}n=0;var u=0,c=t.length-1|0;if(u<=c)do{var l=u;u=u+1|0;var h=t[l],p=0,f=h.length-1|0;if(p<=f)do{var _=p;p=p+1|0;var d=n;n=d+1|0,s[d]=h[_]}while(_!==f)}while(l!==c);return s},t.$_$.f=function(){return function(){if(et)return Cs();et=!0,new sc("IGNORE_CASE",0,"i"),nt=new sc("MULTILINE",1,"m")}(),nt},t.$_$.g=qc,t.$_$.h=function(){return function(){if(O)return Cs();O=!0,new Wi("SYNCHRONIZED",0),q=new Wi("PUBLICATION",1),new Wi("NONE",2)}(),q},t.$_$.i=function(t,n){return null==t||Mh(t)?t:El()},t.$_$.j=function(t,n,e,r,i,o){return 0!=(2&i)&&(e=0),0!=(4&i)&&(r=t.length),function(t,n,e,r){Pn().e2(e,r,t.length),t.fill(n,e,r)}(t,n,e,r)},t.$_$.k=tn,t.$_$.l=Ut,t.$_$.m=Kr,t.$_$.n=ii,t.$_$.o=function(t,n,e,r,i,o){return 0!=(4&i)&&(r=!1),function(t,n,e,r){var i=new RegExp(ec().al(n),r?"gui":"gu"),o=ec().bl(e);return t.replace(i,o)}(t,n,e,r)},t.$_$.p=function(t,n,e,r,i,o){return 0!=(2&i)&&(e=!1),0!=(4&i)&&(r=0),Lr(t,n,e,r)},t.$_$.q=yc,t.$_$.r=ia,t.$_$.s=ra,t.$_$.t=oa,t.$_$.u=ya,t.$_$.v=da,t.$_$.w=function(t){return function(t,n){return _a(n),n.rg(t),n}(t,Object.create(ma.prototype))},t.$_$.x=$a,t.$_$.y=function(){return t=Object.create(wa.prototype),ea.call(t),wa.call(t),t.hh_1=da(),t;var t},t.$_$.z=function(t){return function(t,n){return ea.call(n),wa.call(n),n.hh_1=ya(t.f()),n.j1(t),n}(t,Object.create(wa.prototype))},t.$_$.a1=Aa,t.$_$.b1=function(t){return function(t,n){return _a(n),Da.call(n),n.e4_1=da(),n.rg(t),n}(t,Object.create(Da.prototype))},t.$_$.c1=Ta,t.$_$.d1=function(t){return function(t,n){return ba(Aa(),n),Na.call(n),n.j1(t),n}(t,Object.create(Na.prototype))},t.$_$.e1=function t(n){var e=function(t,n){return xp(t,n),Ya.call(n),n}(n,Object.create(Ya.prototype));return Ol(e,t),e},t.$_$.f1=Ka,t.$_$.g1=function t(n,e){var r=Ka(n,e,Object.create(Ya.prototype));return Ol(r,t),r},t.$_$.h1=function(t){return function(t,n){return Ja.call(n,t,ir()),n}(t,Object.create(Ja.prototype))},t.$_$.i1=function(t){return function(t,n){return oc.call(n,t,Pe()),n}(t,Object.create(oc.prototype))},t.$_$.j1=function(t,n){return function(t,n,e){return oc.call(e,t,Ls(n)),e}(t,n,Object.create(oc.prototype))},t.$_$.k1=Hu,t.$_$.l1=Vu,t.$_$.m1=function t(){var n,e=(Op(n=Object.create(Tp.prototype)),Tp.call(n),n);return Ol(e,t),e},t.$_$.n1=function t(n){var e=function(t,n){return Pp(t,n),Tp.call(n),n}(n,Object.create(Tp.prototype));return Ol(e,t),e},t.$_$.o1=function(t,n,e){return Pl(e,t,n),dp.call(e),e},t.$_$.p1=vp,t.$_$.q1=yp,t.$_$.r1=mp,t.$_$.s1=gp,t.$_$.t1=wp,t.$_$.u1=kp,t.$_$.v1=function t(n,e){var r=jp(n,e,Object.create(zp.prototype));return Ol(r,t),r},t.$_$.w1=Bp,t.$_$.x1=Cp,t.$_$.y1=Mp,t.$_$.z1=function t(n,e){var r=Mp(n,e,Object.create(Ap.prototype));return Ol(r,t),r},t.$_$.a2=Ep,t.$_$.b2=Ip,t.$_$.c2=function(t){var n=Vu();yi(t)&&n.q9(45),n.eb("PT");var e=gi(t),r=ji(e),i=bi(e),o=wi(e),s=xi(e),a=r;mi(t)&&(a=new Ll(1316134911,2328));var u=!a.equals(new Ll(0,0)),c=0!==o||!(0===s),l=0!==i||!!c&&u;return u&&n.db(a).q9(72),l&&n.db(i).q9(77),(c||!u&&!l)&&(Ci(n,0,o,s,9,"S",!0),Cs()),n.toString()},t.$_$.d2=function(t){return function(t){var n,e=ci(t);if(li(t))n=e;else{var r,i;if(Bl(),r=new Ll(-1,2147483647).s9(dh(1e6)),e.c1(r)>0)Bl(),n=new Ll(-1,2147483647);else Bl(),i=new Ll(0,-2147483648).s9(dh(1e6)),e.c1(i)<0?(Bl(),n=new Ll(0,-2147483648)):n=Ii(e)}return n}(t)},t.$_$.e2=Ec,t.$_$.f2=Dc,t.$_$.g2=Tc,t.$_$.h2=Bc,t.$_$.i2=Gi,t.$_$.j2=Qi,t.$_$.k2=Zi,t.$_$.l2=Xi,t.$_$.m2=lo,t.$_$.n2=ho,t.$_$.o2=vo,t.$_$.p2=mo,t.$_$.q2=function(t){return new Int8Array(t)},t.$_$.r2=function(t,n){return t[n]},t.$_$.s2=function(t,n,e){var r;r=e,t[n]=r},t.$_$.t2=$o,t.$_$.u2=go,t.$_$.v2=jo,t.$_$.w2=zo,t.$_$.x2=Oo,t.$_$.y2=function(t){return new Int32Array(t)},t.$_$.z2=Mo,t.$_$.a3=function(t,n){return t[n]},t.$_$.b3=function(t,n,e){var r;r=e,t[n]=r},t.$_$.c3=Eo,t.$_$.d3=Ao,t.$_$.e3=Lo,t.$_$.f3=No,t.$_$.g3=Uo,t.$_$.h3=function(t){return ul(t)},t.$_$.i3=Wo,t.$_$.j3=function(t,n){return t[n]},t.$_$.k3=function(t,n,e){var r;r=e,t[n]=r},t.$_$.l3=Ko,t.$_$.m3=Jo,t.$_$.n3=Qo,t.$_$.o3=ts,t.$_$.p3=is,t.$_$.q3=function(t){return new Int16Array(t)},t.$_$.r3=ss,t.$_$.s3=function(t,n){return t[n]},t.$_$.t3=function(t,n,e){var r;r=e,t[n]=r},t.$_$.u3=us,t.$_$.v3=as,t.$_$.w3=Re,t.$_$.x3=Ke,t.$_$.y3=function(){return null==U&&new Ts,U},t.$_$.z3=function(){return null==B&&new Ss,B},t.$_$.a4=Is,t.$_$.b4=As,t.$_$.c4=Ps,t.$_$.d4=function(){return null==L&&new qs,L},t.$_$.e4=function(){return null==H&&new Ds,H},t.$_$.f4=lr,t.$_$.g4=Bu,t.$_$.h4=fi,t.$_$.i4=Nc,t.$_$.j4=Bl,t.$_$.k4=no,t.$_$.l4=fo,t.$_$.m4=So,t.$_$.n4=Fo,t.$_$.o4=es,t.$_$.p4=Cs,t.$_$.q4=bn,t.$_$.r4=Mn,t.$_$.s4=Rn,t.$_$.t4=Ks,t.$_$.u4=Un,t.$_$.v4=ua,t.$_$.w4=Zc,t.$_$.x4=ma,t.$_$.y4=wa,t.$_$.z4=Fc,t.$_$.a5=bs,t.$_$.b5=Da,t.$_$.c5=Na,t.$_$.d5=xs,t.$_$.e5=Hc,t.$_$.f5=Yc,t.$_$.g5=Gc,t.$_$.h5=Xc,t.$_$.i5=ks,t.$_$.j5=Vc,t.$_$.k5=Kc,t.$_$.l5=Uc,t.$_$.m5=Wc,t.$_$.n5=function(t,n){return t.j1(Yh(n))},t.$_$.o5=le,t.$_$.p5=function(t,n,e,r,i){Pn().e2(r,i,t.length);var o=i-r|0;if(Pn().e2(e,e+o|0,n.length),Dt(n)&&Dt(t)){var s=t.subarray(r,i);n.set(s,e)}else if(t!==n||e<=r){var a=0;if(a0&&n>0))throw mp(zl(t!==n?"Both size "+t+" and step "+n+" must be greater than zero.":"size "+t+" must be greater than zero."))}(n,e),kh(t,Ra)&&kh(t,Hc)){var i=t.f(),o=ia((i/e|0)+(0==(i%e|0)?0:1)|0),s=0;t:for(;0<=s&&s=0))throw mp(zl("Invalid new array size: "+n+"."));return Il(t,new Int16Array(n))},t.$_$.x5=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));var e=Dl(t,n,new Ll(0,0));return e.$type$="LongArray",e},t.$_$.y5=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));var e=Dl(t,n,!1);return e.$type$="BooleanArray",e},t.$_$.z5=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));var e=Il(t,al(n));return e.$type$="CharArray",e},t.$_$.a6=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));return Il(t,new Int8Array(n))},t.$_$.b6=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));return Il(t,new Float64Array(n))},t.$_$.c6=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));return Il(t,new Float32Array(n))},t.$_$.d6=Jh,t.$_$.e6=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));return Il(t,new Int32Array(n))},t.$_$.f6=Fs,t.$_$.g6=Vn,t.$_$.h6=se,t.$_$.i6=Pe,t.$_$.j6=Wh,t.$_$.k6=function(t){return t.h()?null:t.g(0)},t.$_$.l6=function(t){if(kh(t,Hc))return t.h()?null:t.g(0);var n=t.c();return n.d()?n.e():null},t.$_$.m6=Zt,t.$_$.n6=function(t){if(kh(t,Hc))return Zt(t);var n=t.c();if(!n.d())throw Sp("Collection is empty.");return n.e()},t.$_$.o6=function(t){for(var n=ra(),e=t.c();e.d();)le(n,e.e());return n},t.$_$.p6=function(t,n){return function(t,n){if(kh(t,oe))return t.u3(n);var e=t.a3(n);if(null==e&&!t.u2(n))throw Sp("Key "+n+" is missing in the map.");return null==e||Mh(e)?e:El()}(t,n)},t.$_$.q6=Rt,t.$_$.r6=function(t){return new yr(0,function(t){return t.length-1|0}(t))},t.$_$.s6=function(t){return new yr(0,Vt(t))},t.$_$.t6=function(t){return t.length-1|0},t.$_$.u6=Kn,t.$_$.v6=Ft,t.$_$.w6=function(t){return t.h()?null:t.g(t.f()-1|0)},t.$_$.x6=function(t){if(t.h())throw Sp("List is empty.");return t.g(Kn(t))},t.$_$.y6=Ns,t.$_$.z6=function(t){return t.length>0?Yh(t):Vn()},t.$_$.a7=function(t){return t.length>0?(n=t,ce(e=Ia(t.length),n),e):se();var n,e},t.$_$.b7=Wn,t.$_$.c7=function(t,n){return function(t,n){var e=t.slice();e.length=e.length+n.f()|0,void 0!==t.$type$&&(e.$type$=t.$type$);for(var r=t.length,i=n.c();i.d();){var o=i.e(),s=r;r=s+1|0,e[s]=o}return e}(t,n)},t.$_$.d7=function(t,n){var e=function(t){return kh(t,Zc)?t.f():null}(n),r=null==e?null:t.f()+e|0,i=La(null==r?Et(t.f(),2):r);return i.j1(t),le(i,n),i},t.$_$.e7=function(t,n){return function(t,n,e){if(!kh(t,Ra))return he(kh(t,Qc)?t:El(),n,e);var r=0,i=0,o=Kn(t);if(i<=o)do{var s=i;i=i+1|0;var a=t.g(s);n(a)!==e&&(r!==s&&t.p4(r,a),r=r+1|0)}while(s!==o);if(r0?function(t){switch(t.length){case 0:return Pe();case 1:return Ls(t[0]);default:return Gt(t,La(t.length))}}(t):Pe()},t.$_$.i7=function(t){return 1===t.f()?t.g(0):null},t.$_$.j7=function(t,n){!function(t,n){if(t.f()<=1)return Cs();var e=Fs(t);!function(t,n){if(function(){if(null!=V)return V;V=!1;var t=[],n=0;if(n<600)do{var e=n;n=n+1|0,t.push(e)}while(n<600);var r=la;t.sort(r);var i=1,o=t.length;if(i=u)return!1}while(iPs().w_1?t.m8(n.e1_1-1|0,n.f1_1)+1|0:t.q4()}(n,t)}catch(t){throw t instanceof bp?Sp(t.message):t}},t.$_$.ka=function(t,n){return function(t,n){if(!t)throw mp("Step must be positive, was: "+zl(n)+".")}(n>0,n),xr().d1(t.e1_1,t.f1_1,t.g1_1>0?n:0|-n)},t.$_$.la=cn,t.$_$.ma=eu,t.$_$.na=pu,t.$_$.oa=lu,t.$_$.pa=cu,t.$_$.qa=Or,t.$_$.ra=de,t.$_$.sa=function(t){var n=t.c();if(!n.d())return null;for(var e=n.e();n.d();)e=n.e();return e},t.$_$.ta=function(t){return new ge(t)},t.$_$.ua=function(t,n,e){if(null==t)return null==n;if(null==n)return!1;if(!e)return t==n;if(t.length!==n.length)return!1;var r=0,i=t.length;if(ri)return 0;var s=3&o;if(0===s){var a=2,u=r,c=0;if(c<=1)do{if(c=c+1|0,(u=u+(o>>a&127)|0)>n)return 3;if((u=u+(o>>(a=a+7|0)&127)|0)>n)return 0;a=a+7|0}while(c<=1);return 3}if(o<=7)return s;var l=n-r|0;return o>>Et(2,o<=31?l%2|0:l)&3}(t)||function(t){var n=Xh(rp().ln_1,t);return n>=0&&t<(rp().ln_1[n]+rp().mn_1[n]|0)}(Tc(t))}(t)},t.$_$.xa=function(t){var n;switch(gl(t)){case 0:throw Sp("Char sequence is empty.");case 1:n=yl(t,0);break;default:throw mp("Char sequence has more than one element.")}return n},t.$_$.ya=function(t){return un(t)},t.$_$.za=function(t){return null!=t&&"true"===t.toLowerCase()},t.$_$.ab=function(t){var n=+t;return Za(n)&&!tc(t)||0===n&&mc(t)?null:n},t.$_$.bb=Xu,t.$_$.cb=Dr,t.$_$.db=Qu,t.$_$.eb=Ir,t.$_$.fb=Zu,t.$_$.gb=function(t){var n,e=function(t){return function(t,n){var e=_s(t,n);if(null==(null==e?null:new Po(e)))return null;var r=e;fo();var i=255;return ds(r,i)>0?null:lh(r)}(t,10)}(t);return null==(null==e?null:new yo(e))?Tr(t):n=e,n},t.$_$.hb=function(t){var n,e=function(t){return _s(t,10)}(t);return null==(null==e?null:new Po(e))?Tr(t):n=e,n},t.$_$.ib=fs,t.$_$.jb=function(t){var n,e=fs(t);return null==(null==e?null:new Vo(e))?Tr(t):n=e,n},t.$_$.kb=function(t){var n,e=function(t){return function(t,n){var e=_s(t,n);if(null==(null==e?null:new Po(e)))return null;var r=e;es();var i=65535;return ds(r,i)>0?null:ph(r)}(t,10)}(t);return null==(null==e?null:new os(e))?Tr(t):n=e,n},t.$_$.lb=function(t){return function(t,n){for(var e=function(t){return vn(Fr(t))}(t),r=ra(),i=e.c();i.d();){var o=i.e();Br(o)&&r.a(o)}for(var s=r,a=ia(ne(s,10)),u=s.c();u.d();){var c=u.e();a.a(Ar(c))}for(var l=function(t){var n=t.c();if(!n.d())return null;for(var e=n.e();n.d();){var r=n.e();wl(e,r)>0&&(e=r)}return e}(a),h=null==l?0:l,p=t.length+Et(n.length,e.f())|0,f=function(t){return 0===gl(t)?Er:(n=t,function(t){return n+t});var n}(n),_=Kn(e),d=ra(),v=0,y=e.c();y.d();){var m=y.e(),g=v;v=g+1|0;var $,b,w,x=Rs(g);0!==x&&x!==_||!mc(m)?$=null==(w=null==(b=gn(m,h))?null:f(b))?m:w:$=null;var k=$;null==k||(d.a(k),Cs())}return function(t,n,e,r,i,o,s,a,u,c){return 0!=(2&u)&&(e=", "),0!=(4&u)&&(r=""),0!=(8&u)&&(i=""),0!=(16&u)&&(o=-1),0!=(32&u)&&(s="..."),0!=(64&u)&&(a=null),en(t,n,e,r,i,o,s,a)}(d,Hu(p),"\n",null,null,0,null,null,124).toString()}(t,"")},t.$_$.mb=function(t){var n=0,e=gl(t)-1|0,r=!1;t:for(;n<=e;){var i=Ku(yl(t,r?e:n));if(r){if(!i)break t;e=e-1|0}else i?n=n+1|0:r=!0}return $l(t,n,e+1|0)},t.$_$.nb=Si,t.$_$.ob=qi,t.$_$.pb=ms,t.$_$.qb=Rc,t.$_$.rb=Bs,t.$_$.sb=Fi,t.$_$.tb=Ri,t.$_$.ub=nl,t.$_$.vb=dp,t.$_$.wb=fp,t.$_$.xb=bp,t.$_$.yb=Ll,t.$_$.zb=ao,t.$_$.ac=ro,t.$_$.bc=Ap,t.$_$.cc=El,t.$_$.dc=function(){throw wp()},t.$_$.ec=co,t.$_$.fc=ko,t.$_$.gc=yo,t.$_$.hc=Bo,t.$_$.ic=Po,t.$_$.jc=Zo,t.$_$.kc=Vo,t.$_$.lc=ps,t.$_$.mc=os,t.$_$.nc=zs,t.$_$.oc=Dp,t.$_$.pc=function(t,n){if(t!==n){var e=t._suppressed;null==e?t._suppressed=Wn([n]):e.a(n)}},t.$_$.qc=function(t){return t},t.$_$.rc=function(t){var n=t;return(65535&(n=(16711935&(n=(252645135&(n=(858993459&(n=(1431655765&n)+(1431655765&(n>>>1|0))|0))+(858993459&(n>>>2|0))|0))+(252645135&(n>>>4|0))|0))+(16711935&(n>>>8|0))|0))+(n>>>16|0)|0},t.$_$.sc=function(t){var n,e=t.a1_1;return 0===e?(Ps(),n=32+Qa(t.b1_1)|0):n=Qa(e),n},t.$_$.tc=io,t.$_$.uc=Al,t.$_$.vc=function(t,n){return Ui(),new Hi(t.lb_1,n).qb()},t.$_$.wc=function(t){return!function(t){var n;return Is(),t===1/0?n=!0:(Is(),n=t===-1/0),n}(t)&&!Za(t)},t.$_$.xc=function(t){return!function(t){var n;return As(),t===1/0?n=!0:(As(),n=t===-1/0),n}(t)&&!function(t){return!(t==t)}(t)},t.$_$.yc=function(t,n){return new Ji(n)},t.$_$.zc=function(t){return new Ji(t)},t.$_$.ad=function(){throw Kp()},t.$_$.bd=rl,t.$_$.cd=function(t){console.error(function(t){return(new wc).am(t)}(t))},t.$_$.dd=function(t,n){var e=t<>>(32-n|0)|0},t.$_$.ed=function(t,n){return Ps(),t<<(32-n|0)|t>>>n|0},t.$_$.fd=function(t){throw Zp("lateinit property "+t+" has not been initialized")},t.$_$.gd=el,t.$_$.hd=uo,t})?e.apply(n,[n]):e)||(t.exports=r)},645:function(t,n,e){var r,i;r=[n,e(744)],void 0===(i=function(t,n){"use strict";var e,r,i,o,s,a,u,c,l,h,p,f,_,d,v,y,m,g,$,b,w,x,k,j,z,C,S,q,O,P,M,A,E,I,D,T,B,L,N,R,F,H,U,V,W,J,K,Y,G,X,Z,Q,tt,nt,et,rt,it,ot,st,at,ut,ct,lt=Math.imul,ht=n.$_$.j9,pt=n.$_$.e4,ft=n.$_$.p4,_t=n.$_$.g6,dt=n.$_$.h,vt=n.$_$.yc,yt=n.$_$.y8,mt=n.$_$.c,gt=n.$_$.pa,$t=n.$_$.f9,bt=n.$_$.q1,wt=n.$_$.t8,xt=n.$_$.s1,kt=n.$_$.xb,jt=n.$_$.s5,zt=n.$_$.r,Ct=n.$_$.cc,St=n.$_$.ma,qt=n.$_$.s9,Ot=n.$_$.ec,Pt=n.$_$.d,Mt=n.$_$.zb,At=n.$_$.f5,Et=n.$_$.b5,It=n.$_$.k5,Dt=n.$_$.g5,Tt=n.$_$.x4,Bt=n.$_$.c5,Lt=n.$_$.l5,Nt=n.$_$.m5,Rt=n.$_$.y4,Ft=n.$_$.v4,Ht=n.$_$.j5,Ut=n.$_$.e5,Vt=n.$_$.w4,Wt=n.$_$.f6,Jt=n.$_$.ga,Kt=n.$_$.r1,Yt=n.$_$.j2,Gt=n.$_$.l2,Xt=n.$_$.u9,Zt=n.$_$.k2,Qt=n.$_$.ac,tn=n.$_$.uc,nn=n.$_$.a9,en=n.$_$.g9,rn=n.$_$.a5,on=n.$_$.z4,sn=n.$_$.va,an=n.$_$.p7,un=n.$_$.s,cn=n.$_$.y,ln=n.$_$.m7,hn=n.$_$.k7,pn=n.$_$.t7,fn=n.$_$.hd,_n=n.$_$.q7,dn=n.$_$.zc,vn=n.$_$.u5,yn=n.$_$.la,mn=n.$_$.k,gn=n.$_$.ca,$n=n.$_$.yb,bn=n.$_$.qb,wn=n.$_$.c2,xn=n.$_$.nb,kn=n.$_$.h4,jn=n.$_$.cb,zn=n.$_$.h9,Cn=n.$_$.u1,Sn=n.$_$.t,qn=n.$_$.z,On=n.$_$.c1,Pn=n.$_$.d1,Mn=n.$_$.v,An=n.$_$.w,En=n.$_$.a1,In=n.$_$.b1,Dn=n.$_$.k9,Tn=n.$_$.r8,Bn=n.$_$.q5,Ln=n.$_$.ka,Nn=n.$_$.p6,Rn=n.$_$.x9,Fn=n.$_$.j4,Hn=n.$_$.t6,Un=n.$_$.sc,Vn=n.$_$.x,Wn=n.$_$.qa,Jn=n.$_$.c9,Kn=n.$_$.s8,Yn=n.$_$.h6,Gn=n.$_$.v5,Xn=n.$_$.i4,Zn=n.$_$.n9,Qn=n.$_$.u8,te=n.$_$.a4,ne=n.$_$.p9,ee=n.$_$.b4,re=n.$_$.q9,ie=n.$_$.t9,oe=n.$_$.n4,se=n.$_$.l3,ae=n.$_$.jc,ue=n.$_$.h3,ce=n.$_$.e3,le=n.$_$.j3,he=n.$_$.f3,pe=n.$_$.c4,fe=n.$_$.r9,_e=n.$_$.m4,de=n.$_$.c3,ve=n.$_$.hc,ye=n.$_$.y2,me=n.$_$.v2,ge=n.$_$.a3,$e=n.$_$.w2,be=n.$_$.d4,we=n.$_$.v9,xe=n.$_$.o4,ke=n.$_$.u3,je=n.$_$.lc,ze=n.$_$.q3,Ce=n.$_$.n3,Se=n.$_$.s3,qe=n.$_$.o3,Oe=n.$_$.z3,Pe=n.$_$.m9,Me=n.$_$.l4,Ae=n.$_$.t2,Ee=n.$_$.fc,Ie=n.$_$.q2,De=n.$_$.m2,Te=n.$_$.r2,Be=n.$_$.n2,Le=n.$_$.y3,Ne=n.$_$.l9,Re=n.$_$.ha,Fe=n.$_$.z5,He=n.$_$.b6,Ue=n.$_$.c6,Ve=n.$_$.x5,We=n.$_$.m3,Je=n.$_$.i3,Ke=n.$_$.k3,Ye=n.$_$.e6,Ge=n.$_$.d3,Xe=n.$_$.z2,Ze=n.$_$.b3,Qe=n.$_$.w5,tr=n.$_$.v3,nr=n.$_$.r3,er=n.$_$.t3,rr=n.$_$.a6,ir=n.$_$.u2,or=n.$_$.p2,sr=n.$_$.s2,ar=n.$_$.y5,ur=n.$_$.nc,cr=n.$_$.lb,lr=n.$_$.ua,hr=n.$_$.w8,pr=n.$_$.v8,fr=n.$_$.h2,_r=n.$_$.ya,dr=n.$_$.wa,vr=n.$_$.g4,yr=n.$_$.kc,mr=n.$_$.ic,gr=n.$_$.mc,$r=n.$_$.gc,br=n.$_$.a7,wr=n.$_$.w6,xr=n.$_$.u6,kr=n.$_$.pb,jr=n.$_$.w9,zr=n.$_$.b,Cr=n.$_$.s6,Sr=n.$_$.w1,qr=n.$_$.r6,Or=n.$_$.k4,Pr=n.$_$.i2,Mr=n.$_$.tc;function Ar(){return!1}function Er(){return!1}function Ir(){return _t()}function Dr(t){return t.v2c(this)}function Tr(){return!1}function Br(t){return-1}function Lr(t,n,e,r,i,o){return 0!=(8&i)&&(r=null),null==o?this.e2g(t,n,e,r):o(t,n,e,r)}function Nr(){}function Rr(t,n){return this.s2f(t)}function Fr(t,n){t.u2c(this,n)}function Hr(){return Os()}function Ur(){}function Vr(){}function Wr(){}function Jr(t){return function(){return n=Gi("kotlinx.serialization.Polymorphic",(null==l&&new uo,l),[],function(t){return function(n){var e=mi(pt()).t2c();n.e2d("type",e,null,!1,12,null);var r=Gi("kotlinx.serialization.Polymorphic<"+t.f2d_1.ri()+">",oo(),[],null,12);return n.e2d("value",r,null,!1,12,null),n.y2c_1=t.g2d_1,ft()}}(t),4),e=t.f2d_1,new Vi(n,e);var n,e}}function Kr(t){Bo.call(this),this.f2d_1=t,this.g2d_1=_t();var n=dt();this.h2d_1=vt(n,Jr(this))}function Yr(t,n,e){var r,i=t.k2d(n,e);return null==i?function(t,n){var e=t.ri();Lo(null==e?""+t:e,n)}(mt(e),t.i2d()):r=i,r}function Gr(t,n,e){var r,i=t.j2d(n,e);return null==i?Lo(e,t.i2d()):r=i,r}function Xr(){}function Zr(){}function Qr(){}function ti(t,n){return bt(t,n),ei.call(n),n}function ni(t){var n=ti(t,Object.create(ei.prototype));return wt(n,ni),n}function ei(){wt(this,ei)}function ri(t){ti(t,this),wt(this,ri)}function ii(t,n){var e=function(t,n,e){return oi.call(e,t,1===t.f()?"Field '"+t.g(0)+"' is required for type with serial name '"+n+"', but it was missing":"Fields "+t+" are required for type with serial name '"+n+"', but they were missing",null),e}(t,n,Object.create(oi.prototype));return wt(e,ii),e}function oi(t,n,e){(function(t,n,e){xt(t,n,e),ei.call(e)})(n,e,this),this.o2d_1=t,wt(this,oi)}function si(t){var n=function(t){var n,e=Fa(t,[]);if(null==e){var r=jr(t).Companion,i=null==r?null:r.serializer();n=null!=i&&qt(i,Ur)?i:null}else n=e;return n}(t);return null==n?function(t){ma();var n=ra().a3(t);return null==n||qt(n,Ur)?n:Ct()}(t):n}function ai(t,n,e){var r;if(e){for(var i=zt(jt(n,10)),o=n.c();o.d();){var s;s=ci(t,o.e()),i.a(s)}r=i}else{for(var a=zt(jt(n,10)),u=n.c();u.d();){var c,l=li(t,u.e());if(null==l)return null;c=l,a.a(c)}r=a}return r}function ui(t,n,e){var r=function(t,n,e){var r,i=t;if(i.equals(Pt(Vt))||i.equals(Pt(Ut))||i.equals(Pt(Ht))||i.equals(Pt(Ft)))r=new Xo(e.g(0));else if(i.equals(Pt(Rt)))r=new Zo(e.g(0));else if(i.equals(Pt(Nt))||i.equals(Pt(Lt))||i.equals(Pt(Bt)))r=new Qo(e.g(0));else if(i.equals(Pt(Tt)))r=new ts(e.g(0),e.g(1));else if(i.equals(Pt(Dt))||i.equals(Pt(It))||i.equals(Pt(Et)))r=new ns(e.g(0),e.g(1));else if(i.equals(Pt(At)))p=e.g(0),f=e.g(1),r=new xa(p,f);else if(i.equals(Pt(Mt)))r=function(t,n){return new ka(t,n)}(e.g(0),e.g(1));else if(i.equals(Pt(Ot)))c=e.g(0),l=e.g(1),h=e.g(2),r=new ja(c,l,h);else{var o;if(t.equals(vr().jk())){var s=n.g(0).aj();a=null!=s&&qt(s,St)?s:Ct(),u=e.g(0),o=new es(a,u)}else o=null;r=o}var a,u;var c,l,h;var p,f;return r}(t,n,e);return null==r?function(t,n){return Fa(t,Wt(n).slice())}(t,e):r}function ci(t,n){var e,r=hi(t,n,!0);return null==r?function(t){throw ni("Serializer for class '"+t.ri()+"' is not found.\nMark the class as @Serializable or provide the serializer explicitly.\nOn Kotlin/JS explicitly declared serializer should be used for interfaces and enums without @Serializable annotation")}(xs(n)):e=r,e}function li(t,n){return hi(t,n,!1)}function hi(t,n,s){for(var a=xs(n),u=n.cj(),c=n.bj(),l=zt(jt(c,10)),h=c.c();h.d();){var p,f=h.e().q2d_1;if(null==f)throw Kt(Jt("Star projections in type arguments are not allowed, but had "+n));p=f,l.a(p)}var _,d,v=l;if(v.h())_=function(t,n){var i;if(vi(),n)i=(vi(),r).t2d(t);else{var o=(vi(),e).t2d(t);i=null==o?null:null!=o&&qt(o,Ur)?o:Ct()}return i}(a,u);else{var y,m=function(t,n,e){var r;if(vi(),e)r=(vi(),o).u2d(t,n);else{var s=(vi(),i).u2d(t,n);r=new Qt(s)instanceof Qt?s:Ct()}return r}(a,v,u);if(s){var g;if(Zt(m))g=null;else{var $=Gt(m);g=null==$||Xt($)?$:Ct()}y=g}else{if(null!=Yt(m))return null;var b=Gt(m);y=null==b||Xt(b)?b:Ct()}_=y}if(null!=_)return _;if(v.h())d=t.s2d(a,null,2,null);else{var w=ai(t,v,s);if(null==w)return null;var x=w,k=ui(a,v,x);d=null==k?t.r2d(a,x):k}var j,z=d;return null==(j=null==z?null:null!=z&&qt(z,Ur)?z:Ct())?null:function(t,n){return n?yi(t):qt(t,Ur)?t:Ct()}(j,u)}function pi(t){return vi(),si(t)}function fi(t){vi();var n=si(t),e=null==n?null:yi(n);return null==e?null:null!=e&&qt(e,Ur)?e:Ct()}function _i(t,n){return vi(),ui(t,n,tn(ai(Ta(),n,!0)))}function di(t,n){vi();var e=ui(t,n,tn(ai(Ta(),n,!0))),r=null==e?null:yi(e);return null==r?null:null!=r&&qt(r,Ur)?r:Ct()}function vi(){s||(s=!0,e=Na(pi),r=Na(fi),i=Ra(_i),o=Ra(di))}function yi(t){return t.t2c().v2d()?qt(t,Ur)?t:Ct():new vs(t)}function mi(t){return oa()}function gi(t){return null==W&&new sa,W}function $i(){return null==M&&new As,M}function bi(t){return null==J&&new aa,J}function wi(){return null==A&&new Es,A}function xi(t){return null==K&&new ua,K}function ki(){return null==E&&new Is,E}function ji(t){return null==Y&&new ca,Y}function zi(){return null==I&&new Ds,I}function Ci(t){return null==it&&new Ca,it}function Si(){return null==D&&new Ts,D}function qi(t){return null==G&&new la,G}function Oi(){return null==T&&new Bs,T}function Pi(t){return null==ot&&new Sa,ot}function Mi(){return null==B&&new Ls,B}function Ai(t){return null==X&&new ha,X}function Ei(){return null==L&&new Ns,L}function Ii(t){return null==st&&new qa,st}function Di(){return null==N&&new Rs,N}function Ti(t){return null==Z&&new pa,Z}function Bi(){return null==R&&new Fs,R}function Li(t){return null==at&&new Oa,at}function Ni(){return null==F&&new Hs,F}function Ri(t){return null==Q&&new fa,Q}function Fi(){return null==H&&new Us,H}function Hi(t){return null==tt&&new _a,tt}function Ui(t){return null==j&&new No,j}function Vi(t,n){this.w2d_1=t,this.x2d_1=n,this.y2d_1=this.w2d_1.z2d()+"<"+this.x2d_1.ri()+">"}function Wi(t){var n=t;return n instanceof Vi?t.x2d_1:n instanceof ys?Wi(t.j2e_1):null}function Ji(){}function Ki(t){this.n2e_1=t,this.m2e_1=t.b2e()}function Yi(t){this.o2e_1=t}function Gi(t,n,e,r,i,o){return 0!=(8&i)&&(r=no),function(t,n,e,r){if(sn(t))throw Kt(Jt("Blank serial names are prohibited"));if(nn(n,xo()))throw Kt(Jt("For StructureKind.CLASS please use 'buildClassSerialDescriptor' instead"));var i=new Xi(t);return r(i),new to(t,n,i.z2c_1.f(),an(e),i)}(t,n,e,r)}function Xi(t){this.w2c_1=t,this.x2c_1=!1,this.y2c_1=_t(),this.z2c_1=un(),this.a2d_1=cn(),this.b2d_1=un(),this.c2d_1=un(),this.d2d_1=un()}function Zi(t,n,e,r,i){return 0!=(4&r)&&(e=eo),function(t,n,e){if(sn(t))throw Kt(Jt("Blank serial names are prohibited"));var r=new Xi(t);return e(r),new to(t,xo(),r.z2c_1.f(),an(n),r)}(t,n,e)}function Qi(t){return $t("_hashCode",1,gt,(function(t){return Qi(t)}),null),t.b2f_1.m2()}function to(t,n,e,r,i){this.q2e_1=t,this.r2e_1=n,this.s2e_1=e,this.t2e_1=i.y2c_1,this.u2e_1=ln(i.z2c_1);var o,s=i.z2c_1;o=Wt(s),this.v2e_1=o,this.w2e_1=ks(i.b2d_1);var a,u,c=i.c2d_1;a=Wt(c),this.x2e_1=a,this.y2e_1=hn(i.d2d_1);for(var l,h=pn(this.v2e_1),p=zt(jt(h,10)),f=h.c();f.d();){var _,d=f.e();_=fn(d.o3_1,d.n3_1),p.a(_)}l=p,this.z2e_1=_n(l),this.a2f_1=ks(r),this.b2f_1=dn((u=this,function(){return qs(u,u.a2f_1)}))}function no(t){return ft()}function eo(t){return ft()}function ro(){a=this,so.call(this)}function io(){u=this,so.call(this)}function oo(){return null==u&&new io,u}function so(){}function ao(){c=this,co.call(this)}function uo(){l=this,co.call(this)}function co(){so.call(this)}function lo(){h=this,bo.call(this)}function ho(){p=this,bo.call(this)}function po(){f=this,bo.call(this)}function fo(){_=this,bo.call(this)}function _o(){d=this,bo.call(this)}function vo(){v=this,bo.call(this)}function yo(){y=this,bo.call(this)}function mo(){m=this,bo.call(this)}function go(){g=this,bo.call(this)}function $o(){return null==g&&new go,g}function bo(){so.call(this)}function wo(){$=this,qo.call(this)}function xo(){return null==$&&new wo,$}function ko(){b=this,qo.call(this)}function jo(){return null==b&&new ko,b}function zo(){w=this,qo.call(this)}function Co(){return null==w&&new zo,w}function So(){x=this,qo.call(this)}function qo(){so.call(this)}function Oo(){}function Po(){}function Mo(){}function Ao(){k=this,this.k2h_1=-1,this.l2h_1=-3}function Eo(){return null==k&&new Ao,k}function Io(){}function Do(){}function To(){}function Bo(){}function Lo(t,n){var e="in the scope of '"+n.ri()+"'";throw ni(null==t?"Class discriminator was missing and no default polymorphic serializers were registered "+e:"Class '"+t+"' is not registered for polymorphic serialization "+e+".\nMark the base class as 'sealed' or register the serializer explicitly.")}function No(){j=this,this.p2h_1=new va("kotlin.time.Duration",$o())}function Ro(){}function Fo(t){Yo.call(this,t)}function Ho(t){Yo.call(this,t)}function Uo(t){Yo.call(this,t)}function Vo(t,n){Go.call(this,"kotlin.collections.HashMap",t,n)}function Wo(t,n){Go.call(this,"kotlin.collections.LinkedHashMap",t,n)}function Jo(t){Yo.call(this,t)}function Ko(t){Yo.call(this,t),this.i2i_1=t.z2d()+"Array"}function Yo(t){this.u2h_1=t,this.v2h_1=1}function Go(t,n,e){this.a2i_1=t,this.b2i_1=n,this.c2i_1=e,this.d2i_1=2}function Xo(t){rs.call(this,t),this.k2i_1=new Fo(t.t2c())}function Zo(t){rs.call(this,t),this.f2j_1=new Ho(t.t2c())}function Qo(t){rs.call(this,t),this.m2j_1=new Uo(t.t2c())}function ts(t,n){is.call(this,t,n),this.t2j_1=new Vo(t.t2c(),n.t2c())}function ns(t,n){is.call(this,t,n),this.i2k_1=new Wo(t.t2c(),n.t2c())}function es(t,n){os.call(this,n),this.n2k_1=t,this.o2k_1=new Jo(n.t2c())}function rs(t){os.call(this,t)}function is(t,n){ss.call(this),this.c2k_1=t,this.d2k_1=n}function os(t){ss.call(this),this.y2i_1=t}function ss(){}function as(t){os.call(this,t),this.x2k_1=new Ko(t.t2c())}function us(){}function cs(){z=this,this.e2l_1=Rn(0)}function ls(){return null==z&&new cs,z}function hs(t,n){ls(),this.f2l_1=t,this.g2l_1=n;var e=this.f2l_1.b2e();if(Fn(),e<=64){var r;Fn(),r=64===e?new $n(0,0):new $n(-1,-1).jb(e),this.h2l_1=r,this.i2l_1=ls().e2l_1}else this.h2l_1=new $n(0,0),this.i2l_1=function(t,n){var e=(n-1|0)>>>6|0;Fn();var r=63&n,i=Rn(e);return 0!==r&&(i[Hn(i)]=new $n(-1,-1).jb(n)),i}(0,e)}function ps(t,n){return new fs(t,new _s(n))}function fs(t,n){Ss.call(this,t,n,1),this.x2l_1=!0}function _s(t){this.m2m_1=t}function ds(){C=this,Po.call(this),this.p2m_1=Ta()}function vs(t){this.q2m_1=t,this.r2m_1=new ys(this.q2m_1.t2c())}function ys(t){this.j2e_1=t,this.k2e_1=this.j2e_1.z2d()+"?",this.l2e_1=ws(this.j2e_1)}function ms(t,n){return function(){var e=(null==x&&new So,x);return Gi(t,e,[],function(t){return function(n){return n.y2c_1=t.u2m_1,ft()}}(n),4)}}function gs(t,n){this.t2m_1=n,this.u2m_1=_t();var e=dt();this.v2m_1=vt(e,ms(t,this))}function $s(){}function bs(){}function ws(t){if(js(),qt(t,Ro))return t.c2f();var n=Vn(t.b2e()),e=0,r=t.b2e();if(e0){var e,r=pr(t,0);e=dr(r)?_r(r):fr(r),n=Jt(e)+t.substring(1)}else n=t;return n}function ma(){nt||(nt=!0,U=br([fn(vr().kk(),mi(pt())),fn(Pt(bn),gi(Xn())),fn(vr().nk(),$i()),fn(vr().ik(),bi(te())),fn(vr().tk(),wi()),fn(vr().hk(),xi(ee())),fn(vr().sk(),ki()),fn(Pt($n),ji(Fn())),fn(vr().rk(),zi()),fn(Pt(yr),Ci(oe())),fn(Pt(ae),Si()),fn(vr().gk(),qi(pe())),fn(vr().qk(),Oi()),fn(Pt(mr),Pi(_e())),fn(Pt(ve),Mi()),fn(vr().fk(),Ai(be())),fn(vr().pk(),Ei()),fn(Pt(gr),Ii(xe())),fn(Pt(je),Di()),fn(vr().ek(),Ti(Oe())),fn(vr().ok(),Bi()),fn(Pt($r),Li(Me())),fn(Pt(Ee),Ni()),fn(vr().dk(),Ri(Le())),fn(vr().mk(),Fi()),fn(Pt(ur),Hi(ft())),fn(Pt(xn),Ui(kn()))]))}function ga(){$a.call(this)}function $a(){var t;t=un(),this.m2s_1=t,this.n2s_1=!1}function ba(){return rt||(rt=!0,et=new Object),et}function wa(t,n){this.e2t_1=t,this.f2t_1=n}function xa(t,n){za.call(this,t,n);var e,r,i=Co();this.i2t_1=Gi("kotlin.collections.Map.Entry",i,[],(e=t,r=n,function(t){var n=e.t2c();t.e2d("key",n,null,!1,12,null);var i=r.t2c();return t.e2d("value",i,null,!1,12,null),ft()}),4)}function ka(t,n){var e,r;za.call(this,t,n),this.t2t_1=Zi("kotlin.Pair",[],(e=t,r=n,function(t){var n=e.t2c();t.e2d("first",n,null,!1,12,null);var i=r.t2c();return t.e2d("second",i,null,!1,12,null),ft()}),2)}function ja(t,n,e){var r;this.w2t_1=t,this.x2t_1=n,this.y2t_1=e,this.z2t_1=Zi("kotlin.Triple",[],(r=this,function(t){var n=r.w2t_1.t2c();t.e2d("first",n,null,!1,12,null);var e=r.x2t_1.t2c();t.e2d("second",e,null,!1,12,null);var i=r.y2t_1.t2c();return t.e2d("third",i,null,!1,12,null),ft()}),2)}function za(t,n){this.o2t_1=t,this.p2t_1=n}function Ca(){it=this,this.b2u_1=ps("kotlin.ULong",ji(Fn()))}function Sa(){ot=this,this.e2u_1=ps("kotlin.UInt",qi(pe()))}function qa(){st=this,this.h2u_1=ps("kotlin.UShort",Ai(be()))}function Oa(){at=this,this.k2u_1=ps("kotlin.UByte",Ti(Oe()))}function Pa(){return ct||(ct=!0,ut=new Aa(Yn(),Yn(),Yn(),Yn(),Yn())),ut}function Ma(){}function Aa(t,n,e,r,i){Ma.call(this),this.o2u_1=t,this.p2u_1=n,this.q2u_1=e,this.r2u_1=r,this.s2u_1=i}function Ea(){}function Ia(){}function Da(){}function Ta(){return Pa()}function Ba(){}function La(t){this.d2v_1=t}function Na(t){return new Va(t)}function Ra(t){return new Wa(t)}function Fa(t,n){var e;try{var r,i=zr(t,Pt(La));if(null!=i&&qt(i,Ur))r=null!=i&&qt(i,Ur)?i:Ct();else if(null!=i&&qt(i,Ps)){var o=i.w2m(n.slice());r=qt(o,Ur)?o:Ct()}else r=function(t){var n=jr(t).$metadata$;return"interface"==(null==n?null:n.kind)}(t)?new Kr(t):null;e=r}catch(t){e=null}return e}function Ha(t,n){if(!(0<=n&&n<=(t.length-1|0)))throw Sr("Index "+n+" out of bounds "+Cr(t));return t[n]}function Ua(t,n){if(!(0<=n&&n<=(t.length-1|0)))throw Sr("Index "+n+" out of bounds "+qr(t));return t[n]}function Va(t){this.e2v_1=t}function Wa(t){this.f2v_1=t}return Kr.prototype=Object.create(Bo.prototype),Kr.prototype.constructor=Kr,Xr.prototype=Object.create(Bo.prototype),Xr.prototype.constructor=Xr,ei.prototype=Object.create(kt.prototype),ei.prototype.constructor=ei,ri.prototype=Object.create(ei.prototype),ri.prototype.constructor=ri,oi.prototype=Object.create(ei.prototype),oi.prototype.constructor=oi,ro.prototype=Object.create(so.prototype),ro.prototype.constructor=ro,io.prototype=Object.create(so.prototype),io.prototype.constructor=io,co.prototype=Object.create(so.prototype),co.prototype.constructor=co,ao.prototype=Object.create(co.prototype),ao.prototype.constructor=ao,uo.prototype=Object.create(co.prototype),uo.prototype.constructor=uo,bo.prototype=Object.create(so.prototype),bo.prototype.constructor=bo,lo.prototype=Object.create(bo.prototype),lo.prototype.constructor=lo,ho.prototype=Object.create(bo.prototype),ho.prototype.constructor=ho,po.prototype=Object.create(bo.prototype),po.prototype.constructor=po,fo.prototype=Object.create(bo.prototype),fo.prototype.constructor=fo,_o.prototype=Object.create(bo.prototype),_o.prototype.constructor=_o,vo.prototype=Object.create(bo.prototype),vo.prototype.constructor=vo,yo.prototype=Object.create(bo.prototype),yo.prototype.constructor=yo,mo.prototype=Object.create(bo.prototype),mo.prototype.constructor=mo,go.prototype=Object.create(bo.prototype),go.prototype.constructor=go,qo.prototype=Object.create(so.prototype),qo.prototype.constructor=qo,wo.prototype=Object.create(qo.prototype),wo.prototype.constructor=wo,ko.prototype=Object.create(qo.prototype),ko.prototype.constructor=ko,zo.prototype=Object.create(qo.prototype),zo.prototype.constructor=zo,So.prototype=Object.create(qo.prototype),So.prototype.constructor=So,Fo.prototype=Object.create(Yo.prototype),Fo.prototype.constructor=Fo,Ho.prototype=Object.create(Yo.prototype),Ho.prototype.constructor=Ho,Uo.prototype=Object.create(Yo.prototype),Uo.prototype.constructor=Uo,Vo.prototype=Object.create(Go.prototype),Vo.prototype.constructor=Vo,Wo.prototype=Object.create(Go.prototype),Wo.prototype.constructor=Wo,Jo.prototype=Object.create(Yo.prototype),Jo.prototype.constructor=Jo,Ko.prototype=Object.create(Yo.prototype),Ko.prototype.constructor=Ko,os.prototype=Object.create(ss.prototype),os.prototype.constructor=os,rs.prototype=Object.create(os.prototype),rs.prototype.constructor=rs,Xo.prototype=Object.create(rs.prototype),Xo.prototype.constructor=Xo,Zo.prototype=Object.create(rs.prototype),Zo.prototype.constructor=Zo,Qo.prototype=Object.create(rs.prototype),Qo.prototype.constructor=Qo,is.prototype=Object.create(ss.prototype),is.prototype.constructor=is,ts.prototype=Object.create(is.prototype),ts.prototype.constructor=ts,ns.prototype=Object.create(is.prototype),ns.prototype.constructor=ns,es.prototype=Object.create(os.prototype),es.prototype.constructor=es,as.prototype=Object.create(os.prototype),as.prototype.constructor=as,fs.prototype=Object.create(Ss.prototype),fs.prototype.constructor=fs,ds.prototype=Object.create(Po.prototype),ds.prototype.constructor=ds,As.prototype=Object.create(as.prototype),As.prototype.constructor=As,Es.prototype=Object.create(as.prototype),Es.prototype.constructor=Es,Is.prototype=Object.create(as.prototype),Is.prototype.constructor=Is,Ds.prototype=Object.create(as.prototype),Ds.prototype.constructor=Ds,Ts.prototype=Object.create(as.prototype),Ts.prototype.constructor=Ts,Bs.prototype=Object.create(as.prototype),Bs.prototype.constructor=Bs,Ls.prototype=Object.create(as.prototype),Ls.prototype.constructor=Ls,Ns.prototype=Object.create(as.prototype),Ns.prototype.constructor=Ns,Rs.prototype=Object.create(as.prototype),Rs.prototype.constructor=Rs,Fs.prototype=Object.create(as.prototype),Fs.prototype.constructor=Fs,Hs.prototype=Object.create(as.prototype),Hs.prototype.constructor=Hs,Us.prototype=Object.create(as.prototype),Us.prototype.constructor=Us,Vs.prototype=Object.create(us.prototype),Vs.prototype.constructor=Vs,Ws.prototype=Object.create(us.prototype),Ws.prototype.constructor=Ws,Js.prototype=Object.create(us.prototype),Js.prototype.constructor=Js,Ks.prototype=Object.create(us.prototype),Ks.prototype.constructor=Ks,Ys.prototype=Object.create(us.prototype),Ys.prototype.constructor=Ys,Gs.prototype=Object.create(us.prototype),Gs.prototype.constructor=Gs,Xs.prototype=Object.create(us.prototype),Xs.prototype.constructor=Xs,Zs.prototype=Object.create(us.prototype),Zs.prototype.constructor=Zs,Qs.prototype=Object.create(us.prototype),Qs.prototype.constructor=Qs,ta.prototype=Object.create(us.prototype),ta.prototype.constructor=ta,na.prototype=Object.create(us.prototype),na.prototype.constructor=na,ea.prototype=Object.create(us.prototype),ea.prototype.constructor=ea,ga.prototype=Object.create($a.prototype),ga.prototype.constructor=ga,xa.prototype=Object.create(za.prototype),xa.prototype.constructor=xa,ka.prototype=Object.create(za.prototype),ka.prototype.constructor=ka,Aa.prototype=Object.create(Ma.prototype),Aa.prototype.constructor=Aa,Ea.prototype=Object.create(Da.prototype),Ea.prototype.constructor=Ea,Ia.prototype=Object.create(Da.prototype),Ia.prototype.constructor=Ia,Ur.$metadata$=ht("KSerializer",[Vr,Wr]),Vr.$metadata$=ht("SerializationStrategy"),Wr.$metadata$=ht("DeserializationStrategy"),Kr.prototype.i2d=function(){return this.f2d_1},Kr.prototype.t2c=function(){return $t("descriptor",1,gt,(function(t){return t.t2c()}),null),this.h2d_1.m2()},Kr.prototype.toString=function(){return"kotlinx.serialization.PolymorphicSerializer(baseClass: "+this.f2d_1+")"},Kr.$metadata$=yt("PolymorphicSerializer",void 0,void 0,void 0,void 0,Bo.prototype),Xr.$metadata$=yt("SealedClassSerializer",void 0,void 0,void 0,void 0,Bo.prototype),Zr.$metadata$=ht("StringFormat",[Qr]),Qr.$metadata$=ht("SerialFormat"),ei.$metadata$=yt("SerializationException",void 0,void 0,void 0,void 0,kt.prototype),ri.$metadata$=yt("UnknownFieldException",void 0,void 0,void 0,void 0,ei.prototype),oi.$metadata$=yt("MissingFieldException",void 0,void 0,void 0,void 0,ei.prototype),Vi.prototype.a2e=function(){return this.w2d_1.a2e()},Vi.prototype.b2e=function(){return this.w2d_1.b2e()},Vi.prototype.c2e=function(){return this.w2d_1.c2e()},Vi.prototype.v2d=function(){return this.w2d_1.v2d()},Vi.prototype.d2e=function(){return this.w2d_1.d2e()},Vi.prototype.e2e=function(t){return this.w2d_1.e2e(t)},Vi.prototype.f2e=function(t){return this.w2d_1.f2e(t)},Vi.prototype.g2e=function(t){return this.w2d_1.g2e(t)},Vi.prototype.h2e=function(t){return this.w2d_1.h2e(t)},Vi.prototype.i2e=function(t){return this.w2d_1.i2e(t)},Vi.prototype.z2d=function(){return this.y2d_1},Vi.prototype.equals=function(t){var n=t instanceof Vi?t:null;if(null==n)return!1;var e=n;return!!nn(this.w2d_1,e.w2d_1)&&e.x2d_1.equals(this.x2d_1)},Vi.prototype.hashCode=function(){var t=this.x2d_1.hashCode();return lt(31,t)+en(this.y2d_1)|0},Vi.prototype.toString=function(){return"ContextDescriptor(kClass: "+this.x2d_1+", original: "+this.w2d_1+")"},Vi.$metadata$=yt("ContextDescriptor",[Ji]),Ji.$metadata$=ht("SerialDescriptor"),Ki.prototype.d=function(){return this.m2e_1>0},Ki.prototype.e=function(){var t=this.n2e_1.b2e(),n=this.m2e_1;return this.m2e_1=n-1|0,this.n2e_1.f2e(t-n|0)},Ki.$metadata$=yt(void 0,[rn]),Yi.prototype.c=function(){return new Ki(this.o2e_1)},Yi.$metadata$=yt(void 0,[on]),Xi.prototype.p2e=function(t,n,e,r){if(!this.a2d_1.a(t))throw Kt(Jt("Element with name '"+t+"' is already registered"));this.z2c_1.a(t),this.b2d_1.a(n),this.c2d_1.a(e),this.d2d_1.a(r)},Xi.prototype.e2d=function(t,n,e,r,i,o){return 0!=(4&i)&&(e=_t()),0!=(8&i)&&(r=!1),this.p2e(t,n,e,r)},Xi.$metadata$=yt("ClassSerialDescriptorBuilder"),to.prototype.z2d=function(){return this.q2e_1},to.prototype.d2e=function(){return this.r2e_1},to.prototype.b2e=function(){return this.s2e_1},to.prototype.a2e=function(){return this.t2e_1},to.prototype.c2f=function(){return this.u2e_1},to.prototype.h2e=function(t){return Ha(this.v2e_1,t)},to.prototype.g2e=function(t){var n,e=this.z2e_1.a3(t);return null==e?(Eo(),n=-3):n=e,n},to.prototype.e2e=function(t){return Ha(this.x2e_1,t)},to.prototype.f2e=function(t){return Ha(this.w2e_1,t)},to.prototype.i2e=function(t){return Ua(this.y2e_1,t)},to.prototype.equals=function(t){var n;t:if(this!==t)if(t instanceof to)if(this.z2d()===t.z2d()){var e=t;if(vn(this.a2f_1,e.a2f_1))if(this.b2e()===t.b2e()){var r=0,i=this.b2e();if(r=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));return!1},Yo.prototype.e2e=function(t){var n;if(!(t>=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));return _t()},Yo.prototype.f2e=function(t){var n;if(!(t>=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));return this.u2h_1},Yo.prototype.equals=function(t){return this===t||t instanceof Yo&&!(!nn(this.u2h_1,t.u2h_1)||this.z2d()!==t.z2d())},Yo.prototype.hashCode=function(){return lt(zn(this.u2h_1),31)+en(this.z2d())|0},Yo.prototype.toString=function(){return this.z2d()+"("+this.u2h_1+")"},Yo.$metadata$=yt("ListLikeDescriptor",[Ji]),Go.prototype.z2d=function(){return this.a2i_1},Go.prototype.d2e=function(){return Co()},Go.prototype.b2e=function(){return this.d2i_1},Go.prototype.h2e=function(t){return t.toString()},Go.prototype.g2e=function(t){var n=jn(t);if(null==n)throw Kt(t+" is not a valid map index");return n},Go.prototype.i2e=function(t){var n;if(!(t>=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));return!1},Go.prototype.e2e=function(t){var n;if(!(t>=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));return _t()},Go.prototype.f2e=function(t){var n,e;if(!(t>=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));switch(t%2|0){case 0:e=this.b2i_1;break;case 1:e=this.c2i_1;break;default:throw Cn("Unreached")}return e},Go.prototype.equals=function(t){return this===t||t instanceof Go&&this.z2d()===t.z2d()&&!!nn(this.b2i_1,t.b2i_1)&&!!nn(this.c2i_1,t.c2i_1)},Go.prototype.hashCode=function(){var t=en(this.z2d());return t=lt(31,t)+zn(this.b2i_1)|0,lt(31,t)+zn(this.c2i_1)|0},Go.prototype.toString=function(){return this.z2d()+"("+this.b2i_1+", "+this.c2i_1+")"},Go.$metadata$=yt("MapLikeDescriptor",[Ji]),Xo.prototype.t2c=function(){return this.k2i_1},Xo.prototype.u1o=function(){return un()},Xo.prototype.l2i=function(t){return t.f()},Xo.prototype.m2i=function(t){return this.l2i(t instanceof Ft?t:Ct())},Xo.prototype.n2i=function(t){return t},Xo.prototype.o2i=function(t){return this.n2i(t instanceof Ft?t:Ct())},Xo.prototype.p2i=function(t){var n=t instanceof Ft?t:null;return null==n?Sn(t):n},Xo.prototype.q2i=function(t){return this.p2i(null!=t&&qt(t,Ut)?t:Ct())},Xo.prototype.r2i=function(t,n){return t.sg(n)},Xo.prototype.s2i=function(t,n){return this.r2i(t instanceof Ft?t:Ct(),n)},Xo.prototype.t2i=function(t,n,e){t.yf(n,e)},Xo.prototype.u2i=function(t,n,e){var r=t instanceof Ft?t:Ct();return this.t2i(r,n,null==e||Xt(e)?e:Ct())},Xo.$metadata$=yt("ArrayListSerializer",void 0,void 0,void 0,void 0,rs.prototype),Zo.prototype.t2c=function(){return this.f2j_1},Zo.prototype.u1o=function(){return cn()},Zo.prototype.g2j=function(t){return t.f()},Zo.prototype.m2i=function(t){return this.g2j(t instanceof Rt?t:Ct())},Zo.prototype.h2j=function(t){return t},Zo.prototype.o2i=function(t){return this.h2j(t instanceof Rt?t:Ct())},Zo.prototype.i2j=function(t){var n=t instanceof Rt?t:null;return null==n?qn(t):n},Zo.prototype.q2i=function(t){return this.i2j(null!=t&&qt(t,Nt)?t:Ct())},Zo.prototype.j2j=function(t,n){},Zo.prototype.s2i=function(t,n){return this.j2j(t instanceof Rt?t:Ct(),n)},Zo.prototype.k2j=function(t,n,e){t.a(e)},Zo.prototype.u2i=function(t,n,e){var r=t instanceof Rt?t:Ct();return this.k2j(r,n,null==e||Xt(e)?e:Ct())},Zo.$metadata$=yt("HashSetSerializer",void 0,void 0,void 0,void 0,rs.prototype),Qo.prototype.t2c=function(){return this.m2j_1},Qo.prototype.u1o=function(){return On()},Qo.prototype.n2j=function(t){return t.f()},Qo.prototype.m2i=function(t){return this.n2j(t instanceof Bt?t:Ct())},Qo.prototype.o2j=function(t){return t},Qo.prototype.o2i=function(t){return this.o2j(t instanceof Bt?t:Ct())},Qo.prototype.i2j=function(t){var n=t instanceof Bt?t:null;return null==n?Pn(t):n},Qo.prototype.q2i=function(t){return this.i2j(null!=t&&qt(t,Nt)?t:Ct())},Qo.prototype.p2j=function(t,n){},Qo.prototype.s2i=function(t,n){return this.p2j(t instanceof Bt?t:Ct(),n)},Qo.prototype.q2j=function(t,n,e){t.a(e)},Qo.prototype.u2i=function(t,n,e){var r=t instanceof Bt?t:Ct();return this.q2j(r,n,null==e||Xt(e)?e:Ct())},Qo.$metadata$=yt("LinkedHashSetSerializer",void 0,void 0,void 0,void 0,rs.prototype),ts.prototype.t2c=function(){return this.t2j_1},ts.prototype.u2j=function(t){return t.f()},ts.prototype.v2j=function(t){return this.u2j(null!=t&&qt(t,Dt)?t:Ct())},ts.prototype.w2j=function(t){return t.u().c()},ts.prototype.x2j=function(t){return this.w2j(null!=t&&qt(t,Dt)?t:Ct())},ts.prototype.u1o=function(){return Mn()},ts.prototype.y2j=function(t){return lt(t.f(),2)},ts.prototype.m2i=function(t){return this.y2j(t instanceof Tt?t:Ct())},ts.prototype.z2j=function(t){return t},ts.prototype.o2i=function(t){return this.z2j(t instanceof Tt?t:Ct())},ts.prototype.a2k=function(t){var n=t instanceof Tt?t:null;return null==n?An(t):n},ts.prototype.q2i=function(t){return this.a2k(null!=t&&qt(t,Dt)?t:Ct())},ts.prototype.b2k=function(t,n){},ts.prototype.s2i=function(t,n){return this.b2k(t instanceof Tt?t:Ct(),n)},ts.$metadata$=yt("HashMapSerializer",void 0,void 0,void 0,void 0,is.prototype),ns.prototype.t2c=function(){return this.i2k_1},ns.prototype.u2j=function(t){return t.f()},ns.prototype.v2j=function(t){return this.u2j(null!=t&&qt(t,Dt)?t:Ct())},ns.prototype.w2j=function(t){return t.u().c()},ns.prototype.x2j=function(t){return this.w2j(null!=t&&qt(t,Dt)?t:Ct())},ns.prototype.u1o=function(){return En()},ns.prototype.j2k=function(t){return lt(t.f(),2)},ns.prototype.m2i=function(t){return this.j2k(t instanceof Et?t:Ct())},ns.prototype.k2k=function(t){return t},ns.prototype.o2i=function(t){return this.k2k(t instanceof Et?t:Ct())},ns.prototype.a2k=function(t){var n=t instanceof Et?t:null;return null==n?In(t):n},ns.prototype.q2i=function(t){return this.a2k(null!=t&&qt(t,Dt)?t:Ct())},ns.prototype.l2k=function(t,n){},ns.prototype.s2i=function(t,n){return this.l2k(t instanceof Et?t:Ct(),n)},ns.$metadata$=yt("LinkedHashMapSerializer",void 0,void 0,void 0,void 0,is.prototype),es.prototype.t2c=function(){return this.o2k_1},es.prototype.p2k=function(t){return t.length},es.prototype.v2j=function(t){return this.p2k(null!=t&&Dn(t)?t:Ct())},es.prototype.q2k=function(t){return Tn(t)},es.prototype.x2j=function(t){return this.q2k(null!=t&&Dn(t)?t:Ct())},es.prototype.u1o=function(){return un()},es.prototype.r2k=function(t){return t.f()},es.prototype.m2i=function(t){return this.r2k(t instanceof Ft?t:Ct())},es.prototype.s2k=function(t){return function(t,n){return Wt(t)}(t,this.n2k_1)},es.prototype.o2i=function(t){return this.s2k(t instanceof Ft?t:Ct())},es.prototype.t2k=function(t){return Sn(Bn(t))},es.prototype.q2i=function(t){return this.t2k(null!=t&&Dn(t)?t:Ct())},es.prototype.u2k=function(t,n){return t.sg(n)},es.prototype.s2i=function(t,n){return this.u2k(t instanceof Ft?t:Ct(),n)},es.prototype.v2k=function(t,n,e){t.yf(n,e)},es.prototype.u2i=function(t,n,e){var r=t instanceof Ft?t:Ct();return this.v2k(r,n,null==e||Xt(e)?e:Ct())},es.$metadata$=yt("ReferenceArraySerializer",void 0,void 0,void 0,void 0,os.prototype),rs.prototype.w2i=function(t){return t.f()},rs.prototype.v2j=function(t){return this.w2i(null!=t&&qt(t,Vt)?t:Ct())},rs.prototype.x2i=function(t){return t.c()},rs.prototype.x2j=function(t){return this.x2i(null!=t&&qt(t,Vt)?t:Ct())},rs.$metadata$=yt("CollectionSerializer",void 0,void 0,void 0,void 0,os.prototype),is.prototype.e2k=function(){return this.c2k_1},is.prototype.f2k=function(){return this.d2k_1},is.prototype.a2j=function(t,n,e,r){if(!(r>=0))throw Kt(Jt("Size must be known in advance when using READ_ALL"));var i=Ln(yn(0,lt(r,2)),2),o=i.e1_1,s=i.f1_1,a=i.g1_1;if(a>0&&o<=s||a<0&&s<=o)do{var u=o;o=o+a|0,this.b2j(t,e+u|0,n,!1)}while(u!==s)},is.prototype.b2j=function(t,n,e,r){var i,o=this.t2c(),s=t.f2g(o,n,this.c2k_1,null,8,null);if(r){var a=t.h2g(this.t2c());if(a!==(n+1|0))throw Kt(Jt("Value must follow key in a map, index for key: "+n+", returned index for value: "+a));i=a}else i=n+1|0;var u,c=i;if(!e.u2(s)||this.d2k_1.t2c().d2e()instanceof bo){var l=this.t2c();u=t.f2g(l,c,this.d2k_1,null,8,null)}else u=t.e2g(this.t2c(),c,this.d2k_1,Nn(e,s));var h=u;e.v3(s,h)},is.prototype.z2i=function(t,n){for(var e=this.v2j(n),r=this.t2c(),i=t.j2h(r,e),o=0,s=this.x2j(n);s.d();){var a=s.e(),u=a.k2(),c=a.m2(),l=this.t2c(),h=o;o=h+1|0,i.g2h(l,h,this.c2k_1,u);var p=this.t2c(),f=o;o=f+1|0,i.g2h(p,f,this.d2k_1,c)}i.t2f(r)},is.prototype.u2c=function(t,n){return this.z2i(t,null==n||Xt(n)?n:Ct())},is.$metadata$=yt("MapLikeSerializer",void 0,void 0,void 0,void 0,ss.prototype),os.prototype.z2i=function(t,n){var e=this.v2j(n),r=this.t2c(),i=t.j2h(r,e),o=this.x2j(n),s=0;if(s=0))throw Kt(Jt("Size must be known in advance when using READ_ALL"));var i=0;if(i>>6|0)-1|0;Fn();var r=63&n;t.i2l_1[e]=t.i2l_1[e].en(new $n(1,0).jb(r))}(this,t)},hs.prototype.k2l=function(){for(var t=this.f2l_1.b2e();!this.h2l_1.equals(new $n(-1,-1));){var n=Un(this.h2l_1.dn());if(this.h2l_1=this.h2l_1.en(new $n(1,0).jb(n)),this.g2l_1(this.f2l_1,n))return n}return Fn(),t>64?function(t){var n=0,e=t.i2l_1.length-1|0;if(n<=e)do{var r=n;n=n+1|0;var i=r+1|0;Fn();for(var o=lt(i,64),s=t.i2l_1[r];!s.equals(new $n(-1,-1));){var a=Un(s.dn());s=s.en(new $n(1,0).jb(a));var u=o+a|0;if(t.g2l_1(t.f2l_1,u))return t.i2l_1[r]=s,u}t.i2l_1[r]=s}while(n<=e);return Eo(),-1}(this):(Eo(),-1)},hs.$metadata$=yt("ElementMarker"),fs.prototype.c2e=function(){return this.x2l_1},fs.prototype.hashCode=function(){return lt(Ss.prototype.hashCode.call(this),31)},fs.prototype.equals=function(t){var n;t:if(this!==t)if(t instanceof fs)if(this.z2d()===t.z2d()){var e=t;if(e.x2l_1&&vn(this.k2m(),e.k2m()))if(this.b2e()===t.b2e()){var r=0,i=this.b2e();if(r>>1|0}while(o<32);throw ii(r,e.z2d())},t.$_$.x1=Ta,t.$_$.y1=function(t,n){return this.v2u(t,(e=n,function(t){return e}));var e},t.$_$.z1=Ba,t.$_$.a2=Wr,t.$_$.b2=Ur,t.$_$.c2=oi,t.$_$.d2=Xr,t.$_$.e2=ei,t.$_$.f2=Zr,t.$_$.g2=Yr,t.$_$.h2=ci,t}.apply(n,r))||(t.exports=i)},730:function(t,n,e){var r,i,o;i=[n,e(645),e(744)],void 0===(o="function"==typeof(r=function(t,n,e){"use strict";var r,i,o,s,a,u,c,l,h,p,f,_,d,v,y,m,g,$,b,w,x,k,j,z,C,S,q,O,P,M,A,E,I,D,T,B,L,N,R,F,H,U,V,W,J,K,Y,G,X,Z,Q,tt=Math.imul,nt=n.$_$.x1,et=e.$_$.ca,rt=n.$_$.f2,it=e.$_$.y8,ot=e.$_$.p4,st=e.$_$.ga,at=e.$_$.r1,ut=e.$_$.v8,ct=e.$_$.qb,lt=e.$_$.e2,ht=e.$_$.a9,pt=e.$_$.pb,ft=n.$_$.j1,_t=n.$_$.g1,dt=e.$_$.j9,vt=e.$_$.cc,yt=e.$_$.h9,mt=e.$_$.k,gt=e.$_$.e5,$t=e.$_$.l1,bt=e.$_$.g5,wt=e.$_$.c,xt=e.$_$.g9,kt=e.$_$.h,jt=e.$_$.yc,zt=n.$_$.u1,Ct=e.$_$.db,St=e.$_$.fb,qt=e.$_$.bb,Ot=e.$_$.eb,Pt=e.$_$.ab,Mt=n.$_$.e,At=n.$_$.a,Et=n.$_$.b2,It=n.$_$.m,Dt=n.$_$.z,Tt=e.$_$.e4,Bt=n.$_$.o,Lt=n.$_$.n,Nt=n.$_$.f,Rt=n.$_$.h,Ft=n.$_$.v,Ht=e.$_$.ib,Ut=e.$_$.n4,Vt=n.$_$.s,Wt=e.$_$.f3,Jt=e.$_$.kc,Kt=e.$_$.s9,Yt=e.$_$.u1,Gt=e.$_$.zc,Xt=n.$_$.y,Zt=n.$_$.x,Qt=n.$_$.w,tn=e.$_$.pa,nn=e.$_$.f9,en=n.$_$.m1,rn=n.$_$.h1,on=e.$_$.ea,sn=e.$_$.v2,an=e.$_$.x2,un=e.$_$.e3,cn=e.$_$.g3,ln=e.$_$.m2,hn=e.$_$.o2,pn=e.$_$.n3,fn=e.$_$.p3,_n=n.$_$.p1,dn=e.$_$.t8,vn=n.$_$.e2,yn=n.$_$.c,mn=e.$_$.w8,gn=e.$_$.x8,$n=e.$_$.ha,bn=e.$_$.ia,wn=n.$_$.k,xn=e.$_$.s,kn=e.$_$.i7,jn=e.$_$.r8,zn=e.$_$.uc,Cn=e.$_$.h6,Sn=e.$_$.p6,qn=e.$_$.d6,On=e.$_$.e6,Pn=e.$_$.c9,Mn=n.$_$.i,An=e.$_$.a1,En=e.$_$.sb,In=e.$_$.vc,Dn=e.$_$.l8,Tn=e.$_$.tb,Bn=e.$_$.nc,Ln=e.$_$.w7,Nn=(e.$_$.n8,n.$_$.n1),Rn=e.$_$.d,Fn=n.$_$.a2,Hn=e.$_$.u9,Un=n.$_$.g2,Vn=n.$_$.d2,Wn=n.$_$.v1,Jn=n.$_$.a1,Kn=n.$_$.u,Yn=n.$_$.t,Gn=n.$_$.g,Xn=n.$_$.j,Zn=n.$_$.y1,Qn=n.$_$.z1,te=n.$_$.c1,ne=e.$_$.bd,ee=n.$_$.c2,re=n.$_$.b,ie=e.$_$.xb,oe=e.$_$.xc,se=e.$_$.wc,ae=n.$_$.f1,ue=n.$_$.e1,ce=e.$_$.hb,le=e.$_$.w2,he=e.$_$.jb,pe=e.$_$.gb,fe=e.$_$.n2,_e=e.$_$.kb,de=e.$_$.o3,ve=n.$_$.i1,ye=n.$_$.d1,me=e.$_$.h2,ge=n.$_$.l1,$e=n.$_$.k1,be=e.$_$.m4,we=n.$_$.q,xe=e.$_$.l4,ke=n.$_$.r,je=e.$_$.o4,ze=n.$_$.p,Ce=e.$_$.h7,Se=e.$_$.z9,qe=e.$_$.g2,Oe=e.$_$.ua,Pe=e.$_$.da,Me=n.$_$.s1,Ae=e.$_$.p1,Ee=e.$_$.z3,Ie=e.$_$.d4,De=e.$_$.fa,Te=e.$_$.xa,Be=e.$_$.i6,Le=e.$_$.d7,Ne=e.$_$.o7,Re=e.$_$.ub,Fe=n.$_$.b1,He=e.$_$.x6,Ue=e.$_$.g7,Ve=e.$_$.n,We=e.$_$.yb,Je=e.$_$.f2,Ke=e.$_$.j4,Ye=e.$_$.u8,Ge=e.$_$.m,Xe=e.$_$.k1,Ze=e.$_$.u;function Qe(){r=this,nr.call(this,function(t,n,e,r,i,o,s,a,u,c,l,h,p,f){return function(t,n,e,r,i,o,s,a,u,c,l,h,p,f,_){return 0!=(1&p)&&(t=!1),0!=(2&p)&&(n=!1),0!=(4&p)&&(e=!1),0!=(8&p)&&(r=!1),0!=(16&p)&&(i=!1),0!=(32&p)&&(o=!0),0!=(64&p)&&(s=" "),0!=(128&p)&&(a=!1),0!=(256&p)&&(u=!1),0!=(512&p)&&(c="type"),0!=(1024&p)&&(l=!1),0!=(2048&p)&&(h=!0),sr.call(_,t,n,e,r,i,o,s,a,u,c,l,h),_}(t,n,e,r,i,o,s,a,u,c,l,h,p,0,Object.create(sr.prototype))}(!1,!1,!1,!1,!1,!1,null,!1,!1,null,!1,!1,4095),nt())}function tr(){return null==r&&new Qe,r}function nr(t,n){tr(),this.g2v_1=t,this.h2v_1=n,this.i2v_1=new Ii}function er(t){this.y2v_1=t.g2v_1.l2w_1,this.z2v_1=t.g2v_1.q2w_1,this.a2w_1=t.g2v_1.m2w_1,this.b2w_1=t.g2v_1.n2w_1,this.c2w_1=t.g2v_1.o2w_1,this.d2w_1=t.g2v_1.p2w_1,this.e2w_1=t.g2v_1.r2w_1,this.f2w_1=t.g2v_1.s2w_1,this.g2w_1=t.g2v_1.t2w_1,this.h2w_1=t.g2v_1.u2w_1,this.i2w_1=t.g2v_1.v2w_1,this.j2w_1=t.g2v_1.w2w_1,this.k2w_1=t.n2d()}function rr(t,n){nr.call(this,t,n),function(t){if(ht(t.n2d(),nt()))return ot();var n=new Ai(t.g2v_1.t2w_1,t.g2v_1.u2w_1);t.n2d().n2u(n)}(this)}function ir(){}function or(){}function sr(t,n,e,r,i,o,s,a,u,c,l,h){this.l2w_1=t,this.m2w_1=n,this.n2w_1=e,this.o2w_1=r,this.p2w_1=i,this.q2w_1=o,this.r2w_1=s,this.s2w_1=a,this.t2w_1=u,this.u2w_1=c,this.v2w_1=l,this.w2w_1=h}function ar(){}function ur(){i=this}function cr(){null==i&&new ur}function lr(){o=this}function hr(t){null==o&&new lr,cr.call(this),this.b2x_1=t}function pr(){s=this}function fr(t){var n=t.k2(),e=t.m2(),r=$t();return Ji(r,n),r.q9(lt(58)),r.db(e),r.toString()}function _r(t){null==s&&new pr,cr.call(this),this.f2x_1=t}function dr(){a=this}function vr(){null==a&&new dr,cr.call(this)}function yr(t,n){vr.call(this),this.h2x_1=n,this.i2x_1=st(t)}function mr(){return Rr()}function gr(){u=this,vr.call(this),this.j2x_1="null";var t=kt();this.k2x_1=jt(t,mr)}function $r(){return null==u&&new gr,u}function br(t){return function(t){return Ki(),!!Oe(t,"true",!0)||!Oe(t,"false",!0)&&null}(t.c1e())}function wr(t){return Ct(t.c1e())}function xr(t){var n,e=t instanceof vr?t:null;return null==e?function(t,n){throw at("Element "+wt(t)+" is not a "+n)}(t,"JsonPrimitive"):n=e,n}function kr(t){var n=Fr(jr);t.e2d("JsonPrimitive",n,null,!1,12,null);var e=Fr(zr);t.e2d("JsonNull",e,null,!1,12,null);var r=Fr(Cr);t.e2d("JsonLiteral",r,null,!1,12,null);var i=Fr(Sr);t.e2d("JsonObject",i,null,!1,12,null);var o=Fr(qr);return t.e2d("JsonArray",o,null,!1,12,null),ot()}function jr(){return Lr().m2x_1}function zr(){return Rr().n2x_1}function Cr(){return Ur().o2x_1}function Sr(){return Tr().p2x_1}function qr(){return Er().q2x_1}function Or(){c=this;var t=Mt();this.r2x_1=At("kotlinx.serialization.json.JsonElement",t,[],kr,4,null)}function Pr(){return null==c&&new Or,c}function Mr(){l=this,this.t2x_1=It(Pr()).t2c(),this.u2x_1="kotlinx.serialization.json.JsonArray"}function Ar(){h=this,this.q2x_1=(null==l&&new Mr,l)}function Er(){return null==h&&new Ar,h}function Ir(){p=this,this.w2x_1=Lt(Bt(Tt()),Pr()).t2c(),this.x2x_1="kotlinx.serialization.json.JsonObject"}function Dr(){f=this,this.p2x_1=(null==p&&new Ir,p)}function Tr(){return null==f&&new Dr,f}function Br(){_=this;var t=Nt();this.m2x_1=At("kotlinx.serialization.json.JsonPrimitive",t,[],null,12,null)}function Lr(){return null==_&&new Br,_}function Nr(){d=this;var t=Rt();this.n2x_1=At("kotlinx.serialization.json.JsonNull",t,[],null,12,null)}function Rr(){return null==d&&new Nr,d}function Fr(t){return new Yr(t)}function Hr(){v=this,this.o2x_1=Ft("kotlinx.serialization.json.JsonLiteral",Nt())}function Ur(){return null==v&&new Hr,v}function Vr(t){!function(t){var n=Kt(t,Gr)?t:null;if(null==n)throw Yt("This serializer can be used only with Json format.Expected Encoder to be JsonEncoder, got "+wt(t))}(t)}function Wr(t){var n=Kt(t,ar)?t:null;if(null==n)throw Yt("This serializer can be used only with Json format.Expected Decoder to be JsonDecoder, got "+wt(t));return n}function Jr(t){Wr(t)}function Kr(t){return nn("original",1,tn,(function(t){return Kr(t)}),null),t.c2y_1.m2()}function Yr(t){this.c2y_1=Gt(t)}function Gr(){}function Xr(t){this.d2y_1=t,this.e2y_1=!0}function Zr(t,n){Xr.call(this,t),this.z2y_1=n}function Qr(t,n){Xr.call(this,t),this.c2z_1=n,this.d2z_1=0}function ti(t){var n,e;this.e2z_1=new _n(t,(n=this,e=function(t,e){return i=t,o=e,(r=n).f2z_1=!i.i2e(o)&&i.f2e(o).v2d(),r.f2z_1;var r,i,o},e.callableName="readIfAbsent",e)),this.f2z_1=!1}function ni(t,n){var e="Unexpected special floating-point value "+st(n)+". By default, non-finite floating point values are prohibited because they do not conform JSON specification";t.g2z(e,0,Jo(),2,null)}function ei(t){li.call(this,t),dn(this,ei)}function ri(t){return new ei("Value of type '"+t.z2d()+"' can't be used in JSON as a key in the map. It should have either primitive or enum kind, but its kind is '"+t.d2e()+"'.\n"+Q)}function ii(t){li.call(this,t),dn(this,ii)}function oi(t,n,e){return ai(t,n+"\nJSON input: "+hi(e,t))}function si(t,n,e){return ai(-1,function(t,n,e){return"Unexpected special floating-point value "+st(t)+" with key "+n+". By default, non-finite floating point values are prohibited because they do not conform JSON specification. "+Jo()+"\nCurrent output: "+pi(e,0,1)}(t,n,e))}function ai(t,n){return new ii(t>=0?"Unexpected JSON token at offset "+t+": "+n:n)}function ui(t,n){return ai(-1,"Encountered unknown key '"+t+"'.\n"+G+"\nCurrent input: "+pi(n,0,1))}function ci(t,n){return new ei("Unexpected special floating-point value "+st(t)+". By default, non-finite floating point values are prohibited because they do not conform JSON specification. "+Jo()+"\nCurrent output: "+pi(n,0,1))}function li(t){yn(t,this),dn(this,li)}function hi(t,n){if(mn(t)<200)return t;if(-1===n){var e=mn(t)-60|0;if(e<=0)return t;var r=mn(t);return"....."+st(gn(t,e,r))}var i=n-30|0,o=n+30|0,s=i<=0?"":".....",a=o>=mn(t)?"":".....",u=$n(i,0),c=bn(o,mn(t));return s+st(gn(t,u,c))+a}function pi(t,n,e,r){return 0!=(1&e)&&(n=-1),hi(t,n)}function fi(){return yi(),y}function _i(t,n,e){yi();var r=t.g2e(e);if(wn(),-3!==r)return r;if(!n.g2v_1.w2w_1)return r;var i,o,s,a=Yo(n),u=fi(),c=a.i2z(t,u,(o=t,s=function(){return di(o)},s.callableName="buildAlternativeNamesMap",s)).a3(e);return null==c?(wn(),i=-3):i=c,i}function di(t){yi();var n=null,e=0,r=t.b2e();if(e>12),i=Wi(e>>8),o=Wi(e>>4),s=Wi(e);t[e]="\\u"+new ct(r)+new ct(i)+new ct(o)+new ct(s)}while(n<=31);t[34]='\\"',t[92]="\\\\",t[9]="\\t",t[8]="\\b",t[10]="\\n",t[13]="\\r",t[12]="\\f",w=t;var a=new Int8Array(93),u=0;if(u<=31)do{var c=u;u=u+1|0,a[c]=1}while(u<=31);34,a[34]=Pe(34),92,a[92]=Pe(92),116,a[9]=Pe(116),98,a[8]=Pe(98),110,a[10]=Pe(110),114,a[13]=Pe(114),102,a[12]=Pe(102)}}function Yi(t){var n=t.o2s(),e=null==n?null:t.r32(n);return null==e?t.m2():e}function Gi(t,n){throw oi(-1,"Failed to parse '"+n+"'",st(Yi(t)))}function Xi(t,n,e){var r=t instanceof yr?t:null;if(null==r)throw ai(-1,"Unexpected 'null' when "+e+" was expected");return r}function Zi(t,n){Me.call(this),this.o32_1=t,this.p32_1=n,this.q32_1=this.z2w().g2v_1}function Qi(t,n,e,r,i,o,s){return 0!=(4&i)&&(e=null),0!=(8&i)&&(r=null),eo.call(s,t,n,e,r),s}function to(t,n,e,r){var i,o;t:{var s=t.z2w(),a=n.f2e(e);if(!a.v2d()&&t.r32(r)instanceof gr)i=!0;else{if(ht(a.d2e(),Rt())){var u=t.r32(r),c=u instanceof vr?u:null,l=null==c?null:(o=c)instanceof gr?null:o.c1e();if(null==l){i=!1;break t}var h=_i(a,s,l);if(wn(),-3===h){ot(),i=!0;break t}}i=!1}}return i}function no(t,n,e){return t.n33_1=!t.z2w().g2v_1.q2w_1&&!n.i2e(e)&&n.f2e(e).v2d(),t.n33_1}function eo(t,n,e,r){Zi.call(this,t,n),this.j33_1=n,this.k33_1=e,this.l33_1=r,this.m33_1=0,this.n33_1=!1}function ro(t,n){Zi.call(this,t,n),this.t33_1=n,this.u33_1=this.t33_1.f(),this.v33_1=-1}function io(t,n){Qi(t,n,null,null,12,0,this),this.g34_1=n,this.h34_1=Ne(this.g34_1.b3()),this.i34_1=tt(this.h34_1.f(),2),this.j34_1=-1}function oo(){if(S)return ot();S=!0,k=new so("OBJ",0,qo(),Oo()),j=new so("LIST",1,Po(),Mo()),z=new so("MAP",2,qo(),Oo()),C=new so("POLY_OBJ",3,Po(),Mo())}function so(t,n,e,r){Re.call(this,t,n),this.f32_1=e,this.g32_1=r}function ao(t,n){var e,r=n.d2e();if(r instanceof Yn)e=po();else if(ht(r,Mn()))e=lo();else if(ht(r,Xn())){var i,o=uo(n.f2e(0),t.n2d()),s=o.d2e();if(s instanceof Kn||ht(s,Rt()))i=ho();else{if(!t.g2v_1.o2w_1)throw ri(o);i=lo()}e=i}else e=co();return e}function uo(t,n){var e;if(ht(t.d2e(),Gn())){var r=Fe(n,t),i=null==r?null:uo(r,n);e=null==i?t:i}else e=t.c2e()?uo(t.f2e(0),n):t;return e}function co(){return oo(),k}function lo(){return oo(),j}function ho(){return oo(),z}function po(){return oo(),C}function fo(t,n,e){return t.k34(n,e),function(t,n){var e=n;-1===(e=t.m34(e))&&t.g2z("Expected escape sequence to continue, got EOF",0,null,6,null);var r=t.l34(),i=e;e=i+1|0;var o=ut(r,i);if(ht(new ct(o),new ct(lt(117))))return yo(t,t.l34(),e);var s=function(t){return t<117?Wo().v34_1[t]:lt(0)}(qe(o));if(ht(new ct(s),new ct(lt(0)))){var a="Invalid escaped char '"+new ct(o)+"'";t.g2z(a,0,null,6,null)}return t.w2v_1.q9(s),e}(t,e+1|0)}function _o(t,n,e){t.k34(n,e);var r=t.w2v_1.toString();return t.w2v_1.vk(0),r}function vo(t){var n=zn(t.v2v_1);return t.v2v_1=null,n}function yo(t,n,e){return(e+4|0)>=mn(n)?(t.t2v_1=e,t.n34(),(t.t2v_1+4|0)>=mn(n)&&t.g2z("Unexpected EOF during unicode escape",0,null,6,null),yo(t,n,t.t2v_1)):(t.w2v_1.q9(Se((((mo(t,n,e)<<12)+(mo(t,n,e+1|0)<<8)|0)+(mo(t,n,e+2|0)<<4)|0)+mo(t,n,e+3|0)|0)),e+4|0)}function mo(t,n,e){var r,i=ut(n,e);if(lt(48)<=i&&i<=lt(57))r=qe(i)-48|0;else if(lt(97)<=i&&i<=lt(102))r=10+(qe(i)-97|0)|0;else if(lt(65)<=i&&i<=lt(70))r=10+(qe(i)-65|0)|0;else{var o="Invalid toHexChar char '"+new ct(i)+"' in unicode escape";t.g2z(o,0,null,6,null)}return r}function go(t,n){var e=t.m34(n);(e>=mn(t.l34())||-1===e)&&t.g2z("EOF",0,null,6,null);var r=t.l34(),i=e;e=i+1|0;var o,s=ut(r,i),a=32|qe(s);if(116===a)$o(t,"rue",e),o=!0;else if(102===a)$o(t,"alse",e),o=!1;else{var u="Expected valid boolean literal prefix, but had '"+t.i30()+"'";t.g2z(u,0,null,6,null)}return o}function $o(t,n,e){(mn(t.l34())-e|0)=0&&(t.eb("."),t.eb(i.h2e(o)))}else i!==gi()&&(t.eb("["),t.eb("'"),t.db(i),t.eb("'"),t.eb("]"))}while(e=0&&ht(new ct(t),new ct(lt(34)))&&"null"===this.i30()&&this.r34("Expected string literal but 'null' literal was found",this.t2v_1-4|0,"Use 'coerceInputValues = true' in 'Json {}` builder to coerce nulls to default values."),this.p34(wo(t))},bo.prototype.p34=function(t){var n="Expected "+(1===t?"quotation mark '\"'":4===t?"comma ','":5===t?"colon ':'":6===t?"start of the object '{'":7===t?"end of the object '}'":8===t?"start of the array '['":9===t?"end of the array ']'":"valid token")+", but had '"+(this.t2v_1===mn(this.l34())||this.t2v_1<=0?"EOF":me(ut(this.l34(),this.t2v_1-1|0)))+"' instead",e=this.t2v_1-1|0;this.g2z(n,e,null,4,null)},bo.prototype.f30=function(){for(var t=this.l34(),n=this.t2v_1;-1!==(n=this.m34(n));){var e=ut(t,n);if(!(ht(new ct(e),new ct(lt(32)))||ht(new ct(e),new ct(lt(10)))||ht(new ct(e),new ct(lt(13)))||ht(new ct(e),new ct(lt(9)))))return this.t2v_1=n,wo(e);n=n+1|0}return this.t2v_1=n,10},bo.prototype.v31=function(){var t=this.s34();t=this.m34(t);var n=mn(this.l34())-t|0;if(n<4||-1===t)return!0;var e=0;if(e<=3)do{var r=e;if(e=e+1|0,!ht(new ct(ut("null",r)),new ct(ut(this.l34(),t+r|0))))return!0}while(e<=3);return n>4&&0===wo(ut(this.l34(),t+4|0))||(this.t2v_1=t+4|0,!1)},bo.prototype.s34=function(){var t=this.t2v_1;t:for(;-1!==(t=this.m34(t));){var n=ut(this.l34(),t);if(!(ht(new ct(n),new ct(lt(32)))||ht(new ct(n),new ct(lt(10)))||ht(new ct(n),new ct(lt(13)))||ht(new ct(n),new ct(lt(9)))))break t;t=t+1|0}return this.t2v_1=t,t},bo.prototype.w31=function(t){var n,e=this.f30();if(t){if(1!==e&&0!==e)return null;n=this.i30()}else{if(1!==e)return null;n=this.h30()}var r=n;return this.v2v_1=r,r},bo.prototype.t34=function(t,n){var e=this.l34();return st(gn(e,t,n))},bo.prototype.h30=function(){return null!=this.v2v_1?vo(this):this.z31()},bo.prototype.consumeString2=function(t,n,e){for(var r=e,i=n,o=ut(t,r),s=!1;!ht(new ct(o),new ct(lt(34)));){if(ht(new ct(o),new ct(lt(92)))){if(s=!0,-1===(r=this.m34(fo(this,i,r)))){var a=r;this.g2z("EOF",a,null,4,null)}i=r}else if((r=r+1|0)>=mn(t)){if(s=!0,this.k34(i,r),-1===(r=this.m34(r))){var u=r;this.g2z("EOF",u,null,4,null)}i=r}o=ut(t,r)}var c=s?_o(this,i,r):this.t34(i,r);return this.t2v_1=r+1|0,c},bo.prototype.a32=function(){var t,n=this.i30();return"null"===n&&!ht(new ct(ut((t=this).l34(),t.t2v_1-1|0)),new ct(lt(34)))&&this.g2z("Unexpected 'null' value instead of string literal",0,null,6,null),n},bo.prototype.i30=function(){if(null!=this.v2v_1)return vo(this);var t=this.s34();if(t>=mn(this.l34())||-1===t){var n=t;this.g2z("EOF",n,null,4,null)}var e=wo(ut(this.l34(),t));if(1===e)return this.h30();if(0!==e){var r="Expected beginning of the string, but got "+new ct(ut(this.l34(),t));this.g2z(r,0,null,6,null)}for(var i=!1;0===wo(ut(this.l34(),t));)if((t=t+1|0)>=mn(this.l34())){i=!0,this.k34(this.t2v_1,t);var o=this.m34(t);if(-1===o)return this.t2v_1=t,_o(this,0,0);t=o}var s=i?_o(this,this.t2v_1,t):this.t34(this.t2v_1,t);return this.t2v_1=t,s},bo.prototype.k34=function(t,n){this.w2v_1.uk(this.l34(),t,n)},bo.prototype.u34=function(t,n,e){if(!t){var r=e();this.g2z(r,n,null,4,null)}},bo.prototype.y31=function(t){var n=xn(),e=this.f30();if(8!==e&&6!==e)return this.i30(),ot();for(;;)if(1!==(e=this.f30())){var r=e;if(8===r||6===r)n.a(e);else if(9===r){if(8!==He(n))throw oi(this.t2v_1,"found ] instead of } at path: "+this.u2v_1,this.l34());Ue(n)}else if(7===r){if(6!==He(n))throw oi(this.t2v_1,"found } instead of ] at path: "+this.u2v_1,this.l34());Ue(n)}else 10===r&&this.g2z("Unexpected end of input due to malformed JSON during ignoring unknown keys",0,null,6,null);if(this.k30(),0===n.f())return ot()}else t?this.i30():this.z31()},bo.prototype.toString=function(){return"JsonReader(source='"+this.l34()+"', currentPosition="+this.t2v_1+")"},bo.prototype.x31=function(t){var n=this.t34(0,this.t2v_1),e=Ve(n,t,0,!1,6,null);this.r34("Encountered an unknown key '"+t+"'",e,"Use 'ignoreUnknownKeys = true' in 'Json {}' builder to ignore unknown keys.")},bo.prototype.r34=function(t,n,e){var r=0===mn(e)?"":"\n"+e;throw oi(n,t+" at path: "+this.u2v_1.s2z()+r,this.l34())},bo.prototype.g2z=function(t,n,e,r,i){return 0!=(2&r)&&(n=this.t2v_1),0!=(4&r)&&(e=""),this.r34(t,n,e)},bo.prototype.j32=function(){var t,n=this.s34();((n=this.m34(n))>=mn(this.l34())||-1===n)&&this.g2z("EOF",0,null,6,null),ht(new ct(ut(this.l34(),n)),new ct(lt(34)))?((n=n+1|0)===mn(this.l34())&&this.g2z("EOF",0,null,6,null),t=!0):t=!1;var e,r=t,i=new We(0,0),o=!1,s=n,a=!0;t:for(;a;){var u=ut(this.l34(),n);if(ht(new ct(u),new ct(lt(45))))n!==s&&this.g2z("Unexpected symbol '-' in numeric literal",0,null,6,null),o=!0,n=n+1|0;else{if(0!==wo(u))break t;a=!((n=n+1|0)===mn(this.l34()));var c=Je(u,lt(48));if(!(0<=c&&c<=9)){var l="Unexpected symbol '"+new ct(u)+"' in numeric literal";this.g2z(l,0,null,6,null)}(i=i.t9(new We(10,0)).v9(on(c))).c1(new We(0,0))>0&&this.g2z("Numeric value overflow",0,null,6,null)}}if((s===n||o&&s===(n-1|0))&&this.g2z("Expected numeric literal",0,null,6,null),r&&(a||this.g2z("EOF",0,null,6,null),ht(new ct(ut(this.l34(),n)),new ct(lt(34)))||this.g2z("Expected closing quotation mark",0,null,6,null),n=n+1|0),this.t2v_1=n,o)e=i;else{var h=i;Ke(),h.equals(new We(0,-2147483648))?this.g2z("Numeric value overflow",0,null,6,null):e=i.r9()}return e},bo.prototype.h32=function(){return go(this,this.s34())},bo.prototype.i32=function(){var t,n=this.s34();n===mn(this.l34())&&this.g2z("EOF",0,null,6,null),ht(new ct(ut(this.l34(),n)),new ct(lt(34)))?(n=n+1|0,t=!0):t=!1;var e=t,r=go(this,n);if(e){this.t2v_1===mn(this.l34())&&this.g2z("EOF",0,null,6,null),ht(new ct(ut(this.l34(),this.t2v_1)),new ct(lt(34)))||this.g2z("Expected closing quotation mark",0,null,6,null);this.t2v_1=this.t2v_1+1|0}return r},bo.$metadata$=it("AbstractJsonLexer"),Vo.$metadata$=et("CharMappings"),Ko.prototype.l34=function(){return this.b35_1},Ko.prototype.m34=function(t){return t=0},Wn.prototype.cu=function(){var t=this.tt_1,n=null==t?null:t.du();return null==n||n},Wn.prototype.eu=function(t){this.rt_1=this.rt_1.u9(Vn(0,t)),t||(this.st_1=!0)},Wn.prototype.fu=function(t){if(this.rt_1=this.rt_1.v9(Vn(0,t)),this.rt_1.c1(new jt(0,0))>0)return N();this.st_1&&this.gu()},Wn.prototype.gu=function(){},Wn.$metadata$=W("EventLoop",void 0,void 0,void 0,void 0,Tn.prototype),Jn.prototype.iu=function(){var t,n=this.hu_1.ku();if(null==n){var e=new Wr;Kn().hu_1.lu(e),t=e}else t=n;return t},Jn.$metadata$=st("ThreadLocalEventLoop"),Yn.$metadata$=W("CompletionHandlerException",void 0,void 0,void 0,void 0,zt.prototype),Gn.$metadata$=W("CoroutinesInternalError",void 0,void 0,void 0,void 0,qt.prototype),Xn.$metadata$=nt("DisposableHandle"),Zn.$metadata$=st("Key",[$t]),te.$metadata$=nt("Job",[Pt]),ne.$metadata$=nt("ChildJob",[te]),ee.$metadata$=nt("ParentJob",[te]),re.$metadata$=nt("ChildHandle",[Xn]),ie.prototype.js=function(){},ie.prototype.gq=function(t){return!1},ie.prototype.toString=function(){return"NonDisposableHandle"},ie.$metadata$=st("NonDisposableHandle",[Xn,re]),fe.prototype.xo=function(){return this.mu_1},fe.prototype.nu=function(){return null},fe.prototype.toString=function(){return"Empty{"+(this.mu_1?"Active":"New")+"}"},fe.$metadata$=W("Empty",[_e]),_e.$metadata$=nt("Incomplete"),de.prototype.xo=function(){return!0},de.prototype.nu=function(){return this},de.prototype.ru=function(t){var n=At();n.eb("List{"),n.eb(t),n.eb("}[");for(var e=!0,r=this.su_1;!Y(r,this);){if(r instanceof ve){var i=r;e?e=!1:n.eb(", "),n.db(i)}r=r.su_1}return n.eb("]"),n.toString()},de.prototype.toString=function(){return Nr()?this.ru("Active"):ii.prototype.toString.call(this)},de.$metadata$=W("NodeList",[_e],void 0,void 0,void 0,ii.prototype),ve.prototype.gv=function(){var t=this.fv_1;if(null!=t)return t;Et("job")},ve.prototype.xo=function(){return!0},ve.prototype.nu=function(){return null},ve.prototype.js=function(){return this.gv().aq(this)},ve.prototype.toString=function(){return Rr(this)+"@"+Fr(this)+"[job@"+Fr(this.gv())+"]"},ve.$metadata$=W("JobNode",[Xn,_e],void 0,void 0,void 0,Ar.prototype),Ie.prototype.nu=function(){return this.jv_1},Ie.prototype.uv=function(t){this.kv_1.no_1=t},Ie.prototype.qv=function(){return this.kv_1.no_1},Ie.prototype.aw=function(t){this.lv_1.jo_1=t},Ie.prototype.tv=function(){return this.lv_1.jo_1},Ie.prototype.rv=function(){return me(this)===he()},Ie.prototype.nv=function(){return!(null==this.tv())},Ie.prototype.xo=function(){return null==this.tv()},Ie.prototype.ov=function(t){var n,e=me(this);if(null==e)n=ge();else if(e instanceof Error){var r=ge();r.a(e),n=r}else{if(!(e instanceof Tt)){var i="State is "+rt(e);throw X(it(i))}n=e instanceof Tt?e:B()}var o=n,s=this.tv(),a=s;return null==a||(o.yf(0,a),N()),null==t||Y(t,s)||o.a(t),ye(this,he()),o},Ie.prototype.sv=function(t){var n=this.tv();if(null==n)return this.aw(t),N();if(t===n)return N();var e=me(this);if(null==e)ye(this,t);else if(e instanceof Error){if(t===e)return N();var r=ge();r.a(e),r.a(t),ye(this,r)}else{if(!(e instanceof Tt)){var i="State is "+rt(e);throw X(it(i))}(e instanceof Tt?e:B()).a(t)}},Ie.prototype.toString=function(){return"Finishing[cancelling="+this.nv()+", completing="+this.qv()+", rootCause="+this.tv()+", exceptions="+rt(me(this))+", list="+this.jv_1+"]"},Ie.$metadata$=W("Finishing",[_e]),De.prototype.ht=function(t){!function(t,n,e,r){var i=Ae(e);if(null!=i&&Me(t,n,i,r))return N();var o=$e(t,n,r);t.hp(o)}(this.fw_1,this.gw_1,this.hw_1,this.iw_1)},De.prototype.invoke=function(t){return this.ht(t)},De.$metadata$=W("ChildCompletion",void 0,void 0,void 0,void 0,ve.prototype),Te.prototype.yw=function(t,n){var e=this.zw(t,n);return e.l7_1=N(),e.m7_1=null,e.q7()},Te.prototype.r7=function(t,n){return this.yw(t instanceof Lt?t:B(),n)},Te.prototype.q7=function(){var t=this.l7_1;t:for(;;)try{switch(this.j7_1){case 0:if(this.k7_1=8,this.tw_1=this.rw_1.qp(),this.tw_1 instanceof Fe){if(this.j7_1=6,(t=this.sw_1.t4(this.tw_1.zv_1,this))===tt())return t;continue t}var n=this.tw_1;if(null!=n&&et(n,_e)){if(this.uw_1=this.tw_1.nu(),null==this.uw_1){this.vw_1=null,this.j7_1=5;continue t}this.ww_1=this.uw_1.su_1,this.j7_1=1;continue t}this.j7_1=7;continue t;case 1:if(Y(this.ww_1,this.uw_1)){this.j7_1=4;continue t}if(this.ww_1 instanceof Fe){if(this.xw_1=this.ww_1,this.j7_1=2,(t=this.sw_1.t4(this.xw_1.zv_1,this))===tt())return t;continue t}this.j7_1=3;continue t;case 2:this.j7_1=3;continue t;case 3:this.ww_1=this.ww_1.su_1,this.j7_1=1;continue t;case 4:this.vw_1=N(),this.j7_1=5;continue t;case 5:case 6:this.j7_1=7;continue t;case 7:return N();case 8:throw this.m7_1}}catch(t){if(8===this.k7_1)throw t;this.j7_1=this.k7_1,this.m7_1=t}},Te.prototype.zw=function(t,n){var e=new Te(this.rw_1,n);return e.sw_1=t,e},Te.$metadata$=W("JobSupport$$slambda",void 0,void 0,void 0,[1],Bt.prototype),Be.prototype.k2=function(){return Qn()},Be.prototype.op=function(t){this.ro_1.jo_1=t},Be.prototype.pp=function(){return this.ro_1.jo_1},Be.prototype.so=function(t){if(null==t)return this.op(oe()),N();t.sp();var n=t.kq(this);this.op(n),this.rp()&&(n.js(),this.op(oe()))},Be.prototype.qp=function(){for(var t=this.qo_1;;){var n=t.jo_1;if(!(n instanceof _r))return n;n.ax(this)}},Be.prototype.xo=function(){var t=this.qp();return!(null==t||!et(t,_e))&&t.xo()},Be.prototype.rp=function(){var t=this.qp();return!(null!=t&&et(t,_e))},Be.prototype.sp=function(){for(;;){var t=ke(this,this.qp());if(0===t)return!1;if(1===t)return!0}},Be.prototype.tp=function(){},Be.prototype.up=function(){var t,n=this.qp();if(n instanceof Ie){var e=n.tv(),r=null==e?null:this.vp(e,Rr(this)+" is cancelling");if(null==r)throw X(it("Job is still new or active: "+this));t=r}else{if(null!=n&&et(n,_e))throw X(it("Job is still new or active: "+this));t=n instanceof qn?this.wp(n.cp_1,null,1,null):new Jr(Rr(this)+" has completed normally",null,this)}return t},Be.prototype.vp=function(t,n){var e,r=t instanceof Dt?t:null;if(null==r){var i=n;e=new Jr(null==i?this.ap():i,t,this)}else e=r;return e},Be.prototype.wp=function(t,n,e,r){return 0!=(1&e)&&(n=null),this.vp(t,n)},Be.prototype.xp=function(t){return this.yp(!1,!0,t)},Be.prototype.yp=function(t,n,e){for(var r=function(t,n,e){var r;if(e){var i=n instanceof Ne?n:null;r=null==i?new He(n):i}else{var o=n instanceof ve?n:null,s=null==o?null:o;r=null==s?new Ue(n):s}var a=r;return a.fv_1=t,a}(this,e,t);;)t:{var i=this.qp(),o=i;if(o instanceof fe)if(i.mu_1){if(this.qo_1.atomicfu$compareAndSet(i,r))return r}else ze(this,i);else{if(null==o||!et(o,_e)){if(n){var s=i instanceof qn?i:null;Er(e,null==s?null:s.cp_1)}return oe()}var a=i.nu();if(null==a)Ce(this,i instanceof ve?i:B());else{var u=null,c=oe();if(t&&i instanceof Ie&&(null==(u=i.tv())||e instanceof Fe&&!i.qv())){if(!je(this,i,a,r)){N();break t}if(null==u)return r;c=r,N()}if(null!=u)return n&&Er(e,u),c;if(je(this,i,a,r))return r}}}},Be.prototype.aq=function(t){for(;;){var n=this.qp();if(!(n instanceof ve))return null!=n&&et(n,_e)?(null!=n.nu()&&t.hv(),N()):N();if(n!==t)return N();if(this.qo_1.atomicfu$compareAndSet(n,pe()))return N()}},Be.prototype.bq=function(){return!1},Be.prototype.cq=function(t){var n,e=t;if(null==e){n=new Jr(this.ap(),null,this)}else n=e;this.eq(n)},Be.prototype.ap=function(){return"Job was cancelled"},Be.prototype.eq=function(t){this.hq(t)},Be.prototype.fq=function(t){this.hq(t)},Be.prototype.gq=function(t){return t instanceof Dt||!!this.hq(t)&&this.nq()},Be.prototype.hq=function(t){var n,e=ae();return!(!this.bq()||(e=function(t,n){for(;;){var e=t.qp();if(null==e||!et(e,_e)||e instanceof Ie&&e.qv())return ae();var r=Pe(t,e,Sn(Se(t,n),!1,2));if(r!==ce())return r}}(this,t))!==ue())||(e===ae()&&(e=function(t,n){for(var e=null;;)t:{var r=t.qp(),i=r;if(i instanceof Ie){if(r.rv())return le();var o=r.nv();if(null!=n||!o){var s,a=e;if(null==a){var u=Se(t,n);e=u,s=u}else s=a;var c=s;r.sv(c)}var l=r.tv(),h=o?null:l;return null==h||(we(t,r.jv_1,h),N()),ae()}if(null==i||!et(i,_e))return le();var p,f=e;if(null==f){var _=Se(t,n);e=_,p=_}else p=f;var d=p;if(!r.xo()){var v=Pe(t,r,Sn(d,!1,2));if(v===ae()){var y="Cannot happen in "+rt(r);throw X(it(y))}if(v===ce()){N();break t}return v}if(Oe(t,r,d))return ae()}}(this,t)),e===ae()||e===ue()?n=!0:e===le()?n=!1:(this.hp(e),n=!0),n)},Be.prototype.iq=function(t,n){var e=t;return new Jr(null==e?this.ap():e,n,this)},Be.prototype.jq=function(){var t,n=this.qp(),e=n;if(e instanceof Ie)t=n.tv();else if(e instanceof qn)t=n.cp_1;else{if(null!=e&&et(e,_e)){var r="Cannot be cancelling child in this state: "+rt(n);throw X(it(r))}t=null}var i=t,o=i instanceof Dt?i:null;return null==o?new Jr("Parent job is "+Ee(0,n),i,this):o},Be.prototype.fp=function(t){for(;;){var n=Pe(this,this.qp(),t);if(n===ae())throw Nt("Job "+this+" is already complete or completing, but is being completed with "+rt(t),(r=void 0,null==(r=(e=t)instanceof qn?e:null)?null:r.cp_1));if(n!==ce())return n;N()}var e,r},Be.prototype.it=function(){return Rt((t=new Te(this,null),(n=function(n,e){return t.yw(n,e)}).$arity=1,n));var t,n},Be.prototype.kq=function(t){var n;n=new Fe(t);var e=this.zp(!0,!1,n,2,null);return et(e,re)?e:B()},Be.prototype.ip=function(t){throw t},Be.prototype.lq=function(t){},Be.prototype.mq=function(){return!1},Be.prototype.nq=function(){return!0},Be.prototype.oq=function(t){return!1},Be.prototype.bp=function(t){},Be.prototype.hp=function(t){},Be.prototype.toString=function(){return this.pq()+"@"+Fr(this)},Be.prototype.pq=function(){return this.jp()+"{"+Ee(0,this.qp())+"}"},Be.prototype.jp=function(){return Rr(this)},Be.$metadata$=W("JobSupport",[te,ne,ee,Mr]),Ne.$metadata$=W("JobCancellingNode",void 0,void 0,void 0,void 0,ve.prototype),Re.prototype.nu=function(){return this.pv_1},Re.prototype.xo=function(){return!1},Re.prototype.toString=function(){return Nr()?this.pv_1.ru("New"):Ft(this)},Re.$metadata$=W("InactiveNodeList",[_e]),Fe.prototype.ht=function(t){return this.zv_1.fq(this.gv())},Fe.prototype.invoke=function(t){return this.ht(t)},Fe.prototype.gq=function(t){return this.gv().gq(t)},Fe.$metadata$=W("ChildHandleNode",[re],void 0,void 0,void 0,Ne.prototype),He.prototype.ht=function(t){this.gx_1.atomicfu$compareAndSet(0,1)&&this.fx_1(t)},He.prototype.invoke=function(t){return this.ht(t)},He.$metadata$=W("InvokeOnCancelling",void 0,void 0,void 0,void 0,Ne.prototype),Ue.prototype.ht=function(t){return this.lx_1(t)},Ue.prototype.invoke=function(t){return this.ht(t)},Ue.$metadata$=W("InvokeOnCompletion",void 0,void 0,void 0,void 0,ve.prototype),We.$metadata$=W("IncompleteStateBox"),Je.prototype.ht=function(t){this.rx_1.vs(this.rx_1.ws(this.gv()))},Je.prototype.invoke=function(t){return this.ht(t)},Je.$metadata$=W("ChildContinuation",void 0,void 0,void 0,void 0,Ne.prototype),Ke.prototype.bq=function(){return!0},Ke.prototype.nq=function(){return this.ux_1},Ke.$metadata$=W("JobImpl",[Cn],void 0,void 0,void 0,Be.prototype),Ge.prototype.toString=function(){var t=this.xx();return null==t?Rr(this)+"@"+Fr(this):t},Ge.prototype.xx=function(){var t,n=Ur().cy();if(this===n)return"Dispatchers.Main";try{t=n.wx()}catch(n){if(!(n instanceof Ht))throw n;t=null}return this===t?"Dispatchers.Main.immediate":null},Ge.$metadata$=W("MainCoroutineDispatcher",void 0,void 0,void 0,void 0,Tn.prototype),Xe.prototype.gq=function(t){return!1},Xe.$metadata$=W("SupervisorJobImpl",void 0,void 0,void 0,void 0,Ke.prototype),Ze.$metadata$=W("TimeoutCancellationException",[Hn],void 0,void 0,void 0,Dt.prototype),Qe.prototype.mt=function(t){return!1},Qe.prototype.nt=function(t,n){var e=t.y7((null==w&&new tr,w));if(null!=e)return e.iy_1=!0,N();throw Ut("Dispatchers.Unconfined.dispatch function can only be used by the yield function. If you wrap Unconfined dispatcher in your code, make sure you properly delegate isDispatchNeeded and dispatch calls.")},Qe.prototype.toString=function(){return"Dispatchers.Unconfined"},Qe.$metadata$=st("Unconfined",void 0,void 0,void 0,void 0,Tn.prototype),tr.$metadata$=st("Key",[$t]),nr.$metadata$=nt("Flow"),er.$metadata$=nt("FlowCollector"),rr.$metadata$=nt("MutableSharedFlow",[ir,er]),ir.$metadata$=nt("SharedFlow",[nr]),or.$metadata$=nt("MutableStateFlow",[sr,rr]),sr.$metadata$=nt("StateFlow",[ir]),ur.prototype.jy=function(t){var n=t;ar(this,null,null==n?hr():n)},ur.prototype.m2=function(){var t=hr(),n=this.ty_1.jo_1;return n===t?null:L(n)?n:B()},ur.prototype.ky=function(t,n){var e=t,r=n;return ar(this,null==e?hr():e,null==r?hr():r)},ur.$metadata$=W("StateFlowImpl",[or,pr,lr],void 0,void 0,void 0,cr.prototype),cr.$metadata$=W("AbstractSharedFlow"),lr.$metadata$=nt("FusibleFlow",[nr]),pr.$metadata$=nt("CancellableFlow",[nr]),fr.prototype.du=function(){return this.wt_1===this.xt_1},fr.prototype.au=function(t){this.vt_1[this.xt_1]=t,this.xt_1=(this.xt_1+1|0)&(this.vt_1.length-1|0),this.xt_1===this.wt_1&&function(t){var n=t.vt_1.length,e=Wt(Array(n<<1),null),r=t.vt_1,i=t.wt_1,o=r.length;Jt(r,e,0,i,o);var s=t.vt_1,a=t.vt_1.length-t.wt_1|0,u=t.wt_1;Jt(s,e,a,0,u),t.vt_1=e,t.wt_1=0,t.xt_1=n}(this)},fr.prototype.yt=function(){if(this.wt_1===this.xt_1)return null;var t=this.vt_1[this.wt_1];return this.vt_1[this.wt_1]=null,this.wt_1=(this.wt_1+1|0)&(this.vt_1.length-1|0),L(t)?t:B()},fr.$metadata$=W("ArrayQueue"),_r.$metadata$=W("OpDescriptor"),gr.prototype.xy=function(){return this.tr_1},gr.prototype.b5=function(){return this.tr_1.b5()},gr.prototype.yy=function(){return this.vr_1},gr.prototype.xr=function(){return!(null==this.wr_1.jo_1)},gr.prototype.zy=function(){for(var t=this.wr_1;;)if(t.jo_1!==vr())return N()},gr.prototype.ot=function(){this.zy();var t,n=(t=this.wr_1.jo_1)instanceof gn?t:null;null==n||n.bs()},gr.prototype.as=function(t){for(var n=this.wr_1;;){var e=n.jo_1;if(e!==vr()){if(e instanceof Error){if(!this.wr_1.atomicfu$compareAndSet(e,null))throw Kt(it("Failed requirement."));return e}var r="Inconsistent state "+rt(e);throw X(it(r))}if(this.wr_1.atomicfu$compareAndSet(vr(),t))return null}},gr.prototype.zr=function(t){for(var n=this.wr_1;;){var e=n.jo_1,r=e;if(Y(r,vr())){if(this.wr_1.atomicfu$compareAndSet(vr(),t))return!0}else{if(r instanceof Error)return!0;if(this.wr_1.atomicfu$compareAndSet(e,null))return!1}}},gr.prototype.ks=function(){var t=this.ur_1;return this.ur_1=dr(),t},gr.prototype.hs=function(){return this},gr.prototype.z4=function(t){var n=this.tr_1.b5(),e=Mn(t,null,1);if(this.sr_1.mt(n))this.ur_1=e,this.yr_1=kr(),this.sr_1.nt(n,this);else{var r=kr(),i=Kn().iu();if(i.bu())this.ur_1=e,this.yr_1=r,i.zt(this);else{i.eu(!0);try{for(this.b5(),this.vr_1,this.tr_1.z4(t),N();i.ut(););}catch(t){if(!(t instanceof Error))throw t;this.ct(t,null)}finally{i.fu(!0)}}}},gr.prototype.ls=function(t,n){t instanceof An&&t.kt_1(n)},gr.prototype.az=function(t){var n=this.b5().y7(Qn());if(null!=n&&!n.xo()){var e,r=n.up();return this.ls(t,r),pt(),e=ft(_t(r)),this.z4(e),N(),!0}return!1},gr.prototype.bz=function(t){this.tr_1,this.vr_1,this.tr_1.z4(t),N()},gr.prototype.toString=function(){return"DispatchedContinuation["+this.sr_1+", "+Dr(this.tr_1)+"]"},gr.$metadata$=W("DispatchedContinuation",[si,V],void 0,void 0,void 0,wr.prototype),wr.prototype.at=function(){return this.yr_1},wr.prototype.ls=function(t,n){},wr.prototype.xs=function(t){return null==t||L(t)?t:B()},wr.prototype.zs=function(t){var n=t instanceof qn?t:null;return null==n?null:n.cp_1},wr.prototype.bt=function(){N(),N();var t=null;try{var n=this.hs(),e=n instanceof gr?n:B(),r=e.tr_1,i=(e.vr_1,r.b5()),o=this.ks(),s=this.zs(o),a=null==s&&xr(this.yr_1)?i.y7(Qn()):null;if(null==a||a.xo()){if(null!=s){var u;pt(),u=ft(_t(s)),r.z4(u),N()}else{var c,l=this.xs(o);pt(),c=ft(l),r.z4(c),N()}}else{var h,p=a.up();this.ls(o,p),pt();var f=ai(p);h=ft(_t(f)),r.z4(h),N()}}catch(n){if(!(n instanceof Error))throw n;t=n}finally{var _;try{pt(),N(),_=ft(N())}catch(t){if(!(t instanceof Error))throw t;pt(),_=ft(_t(t))}var d=_;this.ct(t,lt(d))}},wr.prototype.ct=function(t,n){if(null===t&&null===n)return N();var e=new Gn("Fatal exception in coroutines machinery for "+this+". Please read KDoc to 'handleFatalException' method and report this incident to maintainers",Yt(null==t?n:t));Bn(this.hs().b5(),e)},wr.$metadata$=W("DispatchedTask",void 0,void 0,void 0,void 0,ri.prototype),zr.prototype.wo=function(){return this.cz_1},zr.prototype.toString=function(){return"CoroutineScope(coroutineContext="+this.cz_1+")"},zr.$metadata$=W("ContextScope",[Nn]),Cr.prototype.mq=function(){return!0},Cr.prototype.hp=function(t){mr(Q(this.hr_1),En(t,this.hr_1),null,2)},Cr.prototype.gp=function(t){this.hr_1.z4(En(t,this.hr_1))},Cr.$metadata$=W("ScopeCoroutine",[si],void 0,void 0,void 0,en.prototype),Sr.prototype.toString=function(){return"<"+this.dz_1+">"},Sr.prototype.ez=function(t){return t===this?null:null==t||L(t)?t:B()},Sr.$metadata$=W("Symbol"),Mr.$metadata$=nt("SelectClause0"),Ar.$metadata$=W("CompletionHandlerBase",void 0,void 0,void 0,void 0,oi.prototype),Ir.$metadata$=W("CancelHandlerBase"),Br.prototype.gp=function(t){return this.hr_1.z4(En(t,this.hr_1))},Br.$metadata$=W("UndispatchedCoroutine",void 0,void 0,void 0,void 0,Cr.prototype),Hr.prototype.cy=function(){var t=this.by_1;return null==t?this.ay_1:t},Hr.$metadata$=st("Dispatchers"),Vr.prototype.wx=function(){return this.mz_1},Vr.prototype.mt=function(t){return!this.lz_1},Vr.prototype.nt=function(t,n){return this.kz_1.nt(t,n)},Vr.prototype.toString=function(){var t=this.xx();return null==t?this.kz_1.toString():t},Vr.$metadata$=W("JsMainDispatcher",void 0,void 0,void 0,void 0,Ge.prototype),Wr.prototype.nt=function(t,n){!function(){throw Ut("runBlocking event loop is not supported")}()},Wr.$metadata$=W("UnconfinedEventLoop",void 0,void 0,void 0,void 0,Wn.prototype),Jr.prototype.toString=function(){return Dt.prototype.toString.call(this)+"; job="+this.rz_1},Jr.prototype.equals=function(t){return t===this||!!(t instanceof Jr&&t.message==this.message&&Y(t.rz_1,this.rz_1))&&Y(t.cause,this.cause)},Jr.prototype.hashCode=function(){var t=T(T(Zt(Yt(this.message)),31)+at(this.rz_1)|0,31),n=this.cause,e=null==n?null:at(n);return t+(null==e?0:e)|0},Jr.$metadata$=W("JobCancellationException",void 0,void 0,void 0,void 0,Dt.prototype),Kr.prototype.uz=function(){process.nextTick(this.d10_1.a10_1)},Kr.$metadata$=st("NodeDispatcher",void 0,void 0,void 0,void 0,Zr.prototype),Gr.prototype.uz=function(){setTimeout(this.d10_1.a10_1,0)},Gr.$metadata$=st("SetTimeoutDispatcher",void 0,void 0,void 0,void 0,Zr.prototype),Xr.prototype.m10=function(){this.b10_1.uz()},Xr.prototype.n10=function(){setTimeout(this.a10_1,0)},Xr.$metadata$=W("ScheduledMessageQueue",void 0,void 0,void 0,void 0,Qr.prototype),Zr.prototype.nt=function(t,n){this.d10_1.o10(n)},Zr.$metadata$=W("SetTimeoutBasedDispatcher",[Un],void 0,void 0,void 0,Tn.prototype),Qr.prototype.o10=function(t){this.au(t),this.k10_1||(this.k10_1=!0,this.m10())},Qr.prototype.l10=function(){try{var t=this.j10_1,n=0;if(nn?t+i|0:t,c=t>n?n+i|0:(n+e|0)-2|0,l=this.g1s();o=this.g1s().childNodes[u];var h,p=l.removeChild(a(o)),f=this.g1s();h=this.g1s().childNodes[c],f.insertBefore(p,a(h))}while(r (renderComposable.kt:59)"),v(y,e,0),E()&&(I(),s())),s()})),function(t,n){return d.t1b(t,n)})),p;var d;var v,y}(t,n,e)}(a(document.getElementById(t)),null,n,2)},t}.apply(n,r))||(t.exports=i)},261:function(t,n,e){var r,i,o;i=[n,e(744),e(506),e(769)],void 0===(o="function"==typeof(r=function(t,n,e,r){"use strict";var i,o,s,a,u,c,l,h,p,f,_,d,v,y,m,g,$,b,w,x,k,j,z,C,S,q,O,P,M,A,E,I,D,T,B,L,N,R,F,H,U,V,W,J,K,Y,G,X,Z,Q=Math.imul,tt=n.$_$.p4,nt=n.$_$.ca,et=(n.$_$.q5,n.$_$.j9),rt=n.$_$.a1,it=n.$_$.s,ot=n.$_$.n5,st=n.$_$.hd,at=n.$_$.cc,ut=n.$_$.zb,ct=n.$_$.y8,lt=n.$_$.ub,ht=n.$_$.ga,pt=n.$_$.u1,ft=e.$_$.d,_t=n.$_$.w8,dt=n.$_$.c1,vt=n.$_$.uc,yt=n.$_$.gd,mt=r.$_$.s,gt=r.$_$.o,$t=r.$_$.i,bt=r.$_$.r,wt=n.$_$.za,xt=n.$_$.a9,kt=r.$_$.j,jt=n.$_$.aa,zt=n.$_$.e9,Ct=n.$_$.h9,St=n.$_$.s9,qt=n.$_$.g9,Ot=n.$_$.w4,Pt=r.$_$.q,Mt=r.$_$.z,At=n.$_$.u9,Et=r.$_$.u,It=r.$_$.v,Dt=r.$_$.w,Tt=r.$_$.x,Bt=(r.$_$.m,e.$_$.c),Lt=n.$_$.g6,Nt=n.$_$.f6,Rt=e.$_$.a,Ft=n.$_$.fd,Ht=n.$_$.zc,Ut=r.$_$.n,Vt=e.$_$.b,Wt=r.$_$.t,Jt=r.$_$.b,Kt=n.$_$.pa,Yt=n.$_$.f9;function Gt(t,n){return Xt(),n!==t.value&&(t.value=n),function(t,n){Jn(),Hn().set(t,n),t instanceof HTMLInputElement&&function(t){var n;if(Jn(),"radio"===t.type){var e=t.name;n=_t(e)>0}else n=!1;if(n){if(!Un().u2(t.name)){var r=Un(),i=t.name,o=dt();r.v3(i,o)}vt(Un().a3(t.name)).a(t)}}(t)}(t,n),tt()}function Xt(){o||(o=!0,i=Gt)}function Zt(){s=this,this.k20_1="class",this.l20_1="id",this.m20_1="hidden",this.n20_1="title",this.o20_1="dir",this.p20_1="draggable",this.q20_1="contenteditable",this.r20_1="lang",this.s20_1="tabindex",this.t20_1="spellcheck"}function Qt(){}function tn(t,n,e){return function(t,n,e,r){return 0!=(1&n)&&(t=new sn),nn.call(r,t),r}(t,n,0,Object.create(nn.prototype))}function nn(t){this.c21_1=t;var n;n=rt(),this.d21_1=n,this.e21_1=new ee;var e;e=it(),this.f21_1=e,this.g21_1=null;var r;r=it(),this.h21_1=r,this.i21_1=8}function en(){a=this,this.r21_1="copy",this.s21_1="cut",this.t21_1="paste",this.u21_1="contextmenu",this.v21_1="click",this.w21_1="dblclick",this.x21_1="focus",this.y21_1="blur",this.z21_1="focusin",this.a22_1="focusout",this.b22_1="keydown",this.c22_1="keyup",this.d22_1="mousedown",this.e22_1="mouseup",this.f22_1="mouseenter",this.g22_1="mouseleave",this.h22_1="mousemove",this.i22_1="mouseout",this.j22_1="mouseover",this.k22_1="wheel",this.l22_1="scroll",this.m22_1="select",this.n22_1="touchcancel",this.o22_1="touchend",this.p22_1="touchmove",this.q22_1="touchstart",this.r22_1="animationcancel",this.s22_1="animationend",this.t22_1="animationiteration",this.u22_1="animationstart",this.v22_1="beforeinput",this.w22_1="input",this.x22_1="change",this.y22_1="invalid",this.z22_1="drag",this.a23_1="drop",this.b23_1="dragstart",this.c23_1="dragend",this.d23_1="dragover",this.e23_1="dragenter",this.f23_1="dragleave",this.g23_1="submit",this.h23_1="reset"}function rn(){return null==a&&new en,a}function on(){}function sn(){var t;t=it(),this.k21_1=t,this.l21_1=8}function an(t,n,e){lt.call(this,t,n),this.h20_1=e}function un(){l=this,An.call(this,"button"),this.m23_1=0}function cn(){h=this,En.call(this,"checkbox"),this.u23_1=0}function ln(){return null==h&&new cn,h}function hn(){p=this,Mn.call(this,"color"),this.c24_1=0}function pn(){f=this,Mn.call(this,"date"),this.j24_1=0}function fn(){_=this,Mn.call(this,"datetime-local"),this.n24_1=0}function _n(){d=this,Mn.call(this,"email"),this.r24_1=0}function dn(){v=this,Mn.call(this,"file"),this.v24_1=0}function vn(){y=this,Mn.call(this,"hidden"),this.z24_1=0}function yn(){m=this,Mn.call(this,"month"),this.d25_1=0}function mn(){g=this,In.call(this,"number"),this.h25_1=0}function gn(){$=this,Mn.call(this,"password"),this.o25_1=0}function $n(){b=this,En.call(this,"radio"),this.s25_1=0}function bn(){return null==b&&new $n,b}function wn(){w=this,In.call(this,"range"),this.w25_1=0}function xn(){x=this,Mn.call(this,"search"),this.a26_1=0}function kn(){k=this,An.call(this,"submit"),this.e26_1=0}function jn(){j=this,Mn.call(this,"tel"),this.i26_1=0}function zn(){z=this,Mn.call(this,"text"),this.m26_1=0}function Cn(){return null==z&&new zn,z}function Sn(){C=this,Mn.call(this,"time"),this.q26_1=0}function qn(){S=this,Mn.call(this,"url"),this.u26_1=0}function On(){q=this,Mn.call(this,"week"),this.y26_1=0}function Pn(){return null==q&&new On,q}function Mn(t){Bn.call(this,t),this.f24_1=0}function An(t){Bn.call(this,t),this.p23_1=0}function En(t){Bn.call(this,t),this.x23_1=0}function In(t){Bn.call(this,t),this.k25_1=0}function Dn(){O=this}function Tn(){return null==O&&new Dn,O}function Bn(t){Tn(),this.i20_1=t,this.j20_1=0}function Ln(t,n){this.b27_1=t,this.c27_1=n,this.d27_1=this.b27_1,this.e27_1=0}function Nn(t,n,e){Ln.call(this,t,e),this.k27_1=n}function Rn(t,n){Ln.call(this,t,n)}function Fn(t,n){this.p27_1=t,this.q27_1=n,this.r27_1=8}function Hn(){return Jn(),P}function Un(){return Jn(),M}function Vn(t,n,e){Jn();var r,i=n;i.e12(-1867048565),gt()&&mt(-1867048565,e,-1,"org.jetbrains.compose.web.attributes.builders.DisposeRadioGroupEffect$composable (InternalControlledInputUtils.kt:67)"),$t(null,(r=t,function(t){return new Wn(r.u27(t))}),i,6),gt()&&bt(),i.i12()}function Wn(t){this.t27_1=t}function Jn(){if(A);else{A=!0;var t,n=new WeakMap;P=n,t=rt(),M=t}}function Kn(t){this.v27_1=t,this.w27_1=8}function Yn(t,n){Ln.call(this,t,n)}function Gn(t){rn(),Ln.call(this,"change",t)}function Xn(t){this.h28_1=t,this.i28_1=8}function Zn(){E=this}function Qn(){return null==E&&new Zn,E}function te(t,n){this.n28_1=t,this.o28_1=n,this.p28_1=0}function ne(){}function ee(){var t;t=it(),this.t28_1=t;var n;n=it(),this.u28_1=n,this.v28_1=8}function re(){}function ie(t,n){this.y28_1=t,this.z28_1=n,this.a29_1=8}function oe(t,n){if(t.f()!==n.f())return!1;var e,r=0;t:if(St(t,Ot)&&t.h())e=!0;else{for(var i=t.c();i.d();){var o=i.e(),s=r;r=s+1|0;var a=n.g(s);if(o.y28_1!==a.y28_1||ht(o.z28_1)!==ht(a.z28_1)){e=!1;break t}}e=!0}return e}function se(t,n,e,r,i){var o=r;o=o.n1d(-1594897193),Pt(o,"C(TagElement$composable)P(2)");var s,a,u,c=i;if(0==(14&i)&&(c|=o.j12(t)?4:2),0==(112&i)&&(c|=o.j12(n)?32:16),0==(896&i)&&(c|=o.j12(e)?256:128),146==(731&c)&&o.v1b())o.z17();else{gt()&&mt(-1594897193,c,-1,"org.jetbrains.compose.web.dom.TagElement$composable (Base.kt:106)");var l=o;l.e12(547886695),Pt(l,"C(remember$composable):Composables.kt#9igjgp");var h,p=l,f=p.f12();if(f===Mt().h12_1){var _=new ce;p.g12(_),h=_}else h=f;var d=h,v=null==d||At(d)?d:at();l.i12();var y,m=v,g=o;g.c18(),g.c1d()?g.e1d((a=t,u=m,function(){var t=a.u1n();return u.n29(t),new ae(t)})):g.g1d();var $=Et(g),b=tn(null,1);null==n||n(b),y=b.g21_1,It($).e12(509942095);var w=Dt(It($));Tt(w,b.h21_1,((s=function(t,n){return t.j29(n),tt()}).callableName="updateClasses",s)),Tt(w,b.e21_1,function(){var t=function(t,n){return t.h29(n),tt()};return t.callableName="updateStyleDeclarations",t}());var x=b.q21();Tt(w,x,function(){var t=function(t,n){return t.i29(n),tt()};return t.callableName="updateAttrs",t}());var k=b.c21_1.i23();Tt(w,k,function(){var t=function(t,n){return t.f29(n),tt()};return t.callableName="updateEventListeners",t}()),Tt(w,b.f21_1,function(){var t=function(t,n){return t.g29(n),tt()};return t.callableName="updateProperties",t}()),It($).i12(),g.e12(2058660585);var j=g,z=8;if(18==(91&z)&&j.v1b())j.z17();else{var C=e;o.e12(-1128047990),null==C||C(m,j,14&z|112&c>>3),o.i12()}g.i12(),g.h1d(),null==y||($t(null,function(t,n){return function(e){return t(e,n.o29())}}(y,m),o,6),tt(),tt()),gt()&&bt()}var S=o.o1d();null===S||S.j1e(function(t,n,e,r){return function(i,o){return function(t,n,e,r,i,o){se(t,n,e,i,1|r)}(t,n,e,r,i),tt()}}(t,n,e,i))}function ae(t){Bt.call(this,t),this.d29_1=t,this.e29_1=Lt()}function ue(){}function ce(){le.call(this)}function le(){this.p29_1=0,this.q29_1=8}function he(){}function pe(t){return Yt("el",1,Kt,(function(t){return pe(t)}),null),t.s29_1.m2()}function fe(t){var n;this.r29_1=t,this.s29_1=Ht((n=this,function(){return document.createElement(n.r29_1)}))}function _e(t,n,e){Ne();var r=n;r=r.n1d(-363526853),Pt(r,"C(Text$composable)");var i,o=e;if(0==(14&e)&&(o|=r.j12(t)?4:2),2==(11&o)&&r.v1b())r.z17();else{gt()&&mt(-363526853,e,-1,"org.jetbrains.compose.web.dom.Text$composable (Elements.kt:479)");var s=r;s.e12(547886695),Pt(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,c=u.f12();if(c===Mt().h12_1){var l=Me;u.g12(l),a=l}else a=c;var h=a,p=null==h||At(h)?h:at();s.i12();var f=p,_=r;_.e12(-1846754774),Pt(_,"C(ComposeNode$composable):Composables.kt#9igjgp"),_.r1c()instanceof Vt||Ut(),_.c18(),_.c1d()?_.e1d((i=f,function(){return i()})):_.g1d();var d=Dt(_);Tt(d,t,Ae),_.h1d(),_.i12(),gt()&&bt()}var v,y,m=r.o1d();null===m||m.j1e((v=t,y=e,function(t,n){return function(t,n,e,r){_e(t,e,1|n)}(v,y,t),tt()}))}function de(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-915831286),Pt(a,"C(H3$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-915831286,u,-1,"org.jetbrains.compose.web.dom.H3$composable (Elements.kt:539)"),se((Ne(),N),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){de(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function ve(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(1021009996),Pt(a,"C(Div$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(1021009996,u,-1,"org.jetbrains.compose.web.dom.Div$composable (Elements.kt:489)"),se((Ne(),D),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){ve(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function ye(t,n,e,r,i,o){Ne();var s={_v:t},a={_v:n},u={_v:e},c=r;c=c.n1d(-319539737),Pt(c,"C(Form$composable)");var l=i;if(0!=(1&o)?l|=6:0==(14&i)&&(l|=c.j12(s._v)?4:2),0!=(2&o)?l|=48:0==(112&i)&&(l|=c.j12(a._v)?32:16),0!=(4&o)?l|=384:0==(896&i)&&(l|=c.j12(u._v)?256:128),146==(731&l)&&c.v1b())c.z17();else{0!=(1&o)&&(s._v=null),0!=(2&o)&&(a._v=null),0!=(4&o)&&(u._v=null),gt()&&mt(-319539737,l,-1,"org.jetbrains.compose.web.dom.Form$composable (Elements.kt:637)");var h=(Ne(),J),p=s._v,f=a._v,_=c;_.e12(-1124426577),Pt(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.j12(p)|_.j12(f)),m=v.f12();if(y||m===Mt().h12_1){var g=Ee(s,a);v.g12(g),d=g}else d=m;var $=d,b=null==$||At($)?$:at();_.i12(),se(h,b,u._v,c,896&l),gt()&&bt()}var w,x,k,j,z,C=c.o1d();null===C||C.j1e((w=s,x=a,k=u,j=i,z=o,function(t,n){return function(t,n,e,r,i,o,s){ye(t._v,n._v,e._v,o,1|r,i)}(w,x,k,j,z,t),tt()}))}function me(t,n,e,r,i,o){Ne();var s={_v:t},a={_v:n},u={_v:e},c=r;c=c.n1d(-493483649),Pt(c,"C(Label$composable)P(2)");var l=i;if(0!=(1&o)?l|=6:0==(14&i)&&(l|=c.j12(s._v)?4:2),0!=(2&o)?l|=48:0==(112&i)&&(l|=c.j12(a._v)?32:16),0!=(4&o)?l|=384:0==(896&i)&&(l|=c.j12(u._v)?256:128),146==(731&l)&&c.v1b())c.z17();else{0!=(1&o)&&(s._v=null),0!=(2&o)&&(a._v=null),0!=(4&o)&&(u._v=null),gt()&&mt(-493483649,l,-1,"org.jetbrains.compose.web.dom.Label$composable (Elements.kt:833)");var h=(Ne(),X),p=s._v,f=a._v,_=c;_.e12(-1124426577),Pt(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.j12(p)|_.j12(f)),m=v.f12();if(y||m===Mt().h12_1){var g=Ie(s,a);v.g12(g),d=g}else d=m;var $=d,b=null==$||At($)?$:at();_.i12(),se(h,b,u._v,c,896&l),gt()&&bt()}var w,x,k,j,z,C=c.o1d();null===C||C.j1e((w=s,x=a,k=u,j=i,z=o,function(t,n){return function(t,n,e,r,i,o,s){me(t._v,n._v,e._v,o,1|r,i)}(w,x,k,j,z,t),tt()}))}function ge(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-577256683),Pt(a,"C(TextArea$composable)P(1)");var u,c,l,h,p,f=r;if(0!=(1&i)?f|=6:0==(14&r)&&(f|=a.j12(o._v)?4:2),0!=(2&i)?f|=48:0==(112&r)&&(f|=a.j12(s._v)?32:16),18==(91&f)&&a.v1b())a.z17();else{0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-577256683,r,-1,"org.jetbrains.compose.web.dom.TextArea$composable (Elements.kt:729)");var _=a;_.e12(547886695),Pt(_,"C(remember$composable):Composables.kt#9igjgp");var d,v=_,y=v.f12();if(y===Mt().h12_1){var m=!(null==o._v);v.g12(m),d=m}else d=y;var g=d,$=null==g||At(g)?g:at();_.i12();var b=$,w=a;w.e12(547886695),Pt(w,"C(remember$composable):Composables.kt#9igjgp");var x,k=w,j=k.f12();if(j===Mt().h12_1){var z=Wt(0,null,2,null);k.g12(z),x=z}else x=j;var C=x,S=null==C||At(C)?C:at();w.i12();var q=S,O=(Ne(),G),P=[q,s._v,b,o._v],M=a;M.e12(-1603429786),Pt(M,"C(remember$composable)P(1):Composables.kt#9igjgp");for(var A=!1,E=P,I=0,D=E.length;I (Elements.kt:754)");var a=t.m2();$t(a,(i=n,function(t){return n=i.u27(t),Jn(),Hn().has(n)&&(n.value=yt(Hn().get(n))),new De;var n}),o,0),gt()&&(bt(),tt())}return tt()}}(q)),J=a;J.e12(-838505973),Pt(J,"C(remember$composable)P(1):Composables.kt#9igjgp");var K,Y=J,X=J.j12(W),Z=Y.f12();if(X||Z===Mt().h12_1){var Q=(u=W,function(t,n,e){return u.n1y(t,n,e)});Y.g12(Q),K=Q}else K=Z;var nt=K,et=null==nt||At(nt)?nt:at();J.i12(),se(O,V,et,a,384),gt()&&bt()}var rt=a.o1d();null===rt||rt.j1e(function(t,n,e,r){return function(i,o){return function(t,n,e,r,i,o){ge(t._v,n._v,i,1|e,r)}(t,n,e,r,i),tt()}}(o,s,r,i))}function $e(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-767970749),Pt(a,"C(Button$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-767970749,u,-1,"org.jetbrains.compose.web.dom.Button$composable (Elements.kt:521)"),se((Ne(),B),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){$e(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function be(t,n,e,r){Ne();var i={_v:t},o=n;o=o.n1d(1126514281),Pt(o,"C(Br$composable)");var s=e;0!=(1&r)?s|=6:0==(14&e)&&(s|=o.j12(i._v)?4:2),2==(11&s)&&o.v1b()?o.z17():(0!=(1&r)&&(i._v=null),gt()&&mt(1126514281,s,-1,"org.jetbrains.compose.web.dom.Br$composable (Elements.kt:599)"),se((Ne(),U),i._v,null,o,384|112&s<<3),gt()&&bt());var a,u,c,l=o.o1d();null===l||l.j1e((a=i,u=e,c=r,function(t,n){return function(t,n,e,r,i){be(t._v,r,1|n,e)}(a,u,c,t),tt()}))}function we(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-2140946851),Pt(a,"C(Canvas$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-2140946851,u,-1,"org.jetbrains.compose.web.dom.Canvas$composable (Elements.kt:430)"),se((Ne(),I),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){we(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function xe(t,n,e,r){Ne();var i=e;i=i.n1d(-1013116589),Pt(i,"C(Input$composable)P(1)");var o,s,a,u,c=r;if(0==(14&r)&&(c|=i.j12(t)?4:2),0==(112&r)&&(c|=i.j12(n)?32:16),18==(91&c)&&i.v1b())i.z17();else{gt()&&mt(-1013116589,c,-1,"org.jetbrains.compose.web.dom.Input$composable (Elements.kt:1054)");var l=i;l.e12(547886695),Pt(l,"C(remember$composable):Composables.kt#9igjgp");var h,p=l,f=p.f12();if(f===Mt().h12_1){var _=Wt(0,null,2,null);p.g12(_),h=_}else h=f;var d=h,v=null==d||At(d)?d:at();l.i12();var y=v,m=(Ne(),T),g=i;g.e12(-1058148781),Pt(g,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var $,b=g,w=!!(!!(g.j12(t)|g.j12(y))|g.j12(n)),x=b.f12();if(w||x===Mt().h12_1){var k=(s=t,a=n,u=y,function(t){var n=new Fn(s,t);return function(t,n){Xt(),t.e20("type",n.i20_1)}(n,s),n.s27(function(t){return function(n){return t.jy(t.m2()+1|0),tt()}}(u)),a(n),tt()});b.g12(k),$=k}else $=x;var j=$,z=null==j||At(j)?j:at();g.i12();var C=z,S=Jt(i,558133459,!0,function(t,n){return function(e,r,i){var o,s=r,a=i;if(0==(14&i)&&(a|=s.j12(e)?4:2,tt()),18==(91&a)&&s.v1b())s.z17(),tt();else{gt()&&mt(558133459,a,-1,"org.jetbrains.compose.web.dom.Input$composable. (Elements.kt:1073)"),s.e12(-1270925487),xt(t,bn())&&Vn(e,s,14&a),s.i12();var u=n.m2();$t(u,(o=e,function(t){return function(t){Jn();var n=Tn().a27(t.type);if(Hn().has(t)){if(xt(n,bn())){var e=Un().a3(t.name);if(null==e);else for(var r=e.c();r.d();){var i=r.e();i.checked=wt(yt(Hn().get(i)))}return t.checked=wt(yt(Hn().get(t))),tt()}xt(n,ln())?t.checked=wt(yt(Hn().get(t))):t.value=yt(Hn().get(t))}}(o.u27(t)),new Te}),s,0),gt()&&(bt(),tt())}return tt()}}(t,y)),q=i;q.e12(-838505973),Pt(q,"C(remember$composable)P(1):Composables.kt#9igjgp");var O,P=q,M=q.j12(S),A=P.f12();if(M||A===Mt().h12_1){var E=(o=S,function(t,n,e){return o.n1y(t,n,e)});P.g12(E),O=E}else O=A;var I=O,D=null==I||At(I)?I:at();q.i12(),se(m,C,D,i,384),gt()&&bt()}var B=i.o1d();null===B||B.j1e(function(t,n,e){return function(r,i){return function(t,n,e,r,i){xe(t,n,r,1|e)}(t,n,e,r),tt()}}(t,n,r))}function ke(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(1065330793),Pt(a,"C(H4$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(1065330793,u,-1,"org.jetbrains.compose.web.dom.H4$composable (Elements.kt:545)"),se((Ne(),R),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){ke(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function je(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-583188148),Pt(a,"C(H1$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-583188148,u,-1,"org.jetbrains.compose.web.dom.H1$composable (Elements.kt:527)"),se((Ne(),L),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){je(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function ze(t,n,e,r,i,o){Ne();var s={_v:t},a={_v:n},u={_v:e},c=r;c=c.n1d(-140298183),Pt(c,"C(Select$composable)P(!1,2)");var l=i;if(0!=(1&o)?l|=6:0==(14&i)&&(l|=c.j12(s._v)?4:2),0!=(2&o)?l|=48:0==(112&i)&&(l|=c.j1d(a._v)?32:16),0!=(4&o)?l|=384:0==(896&i)&&(l|=c.j12(u._v)?256:128),146==(731&l)&&c.v1b())c.z17();else{0!=(1&o)&&(s._v=null),0!=(2&o)&&(a._v=!1),0!=(4&o)&&(u._v=null),gt()&&mt(-140298183,l,-1,"org.jetbrains.compose.web.dom.Select$composable (Elements.kt:653)");var h=(Ne(),K),p=a._v,f=s._v,_=c;_.e12(-1124426577),Pt(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.j12(p)|_.j12(f)),m=v.f12();if(y||m===Mt().h12_1){var g=Be(a,s);v.g12(g),d=g}else d=m;var $=d,b=null==$||At($)?$:at();_.i12(),se(h,b,u._v,c,896&l),gt()&&bt()}var w,x,k,j,z,C=c.o1d();null===C||C.j1e((w=s,x=a,k=u,j=i,z=o,function(t,n){return function(t,n,e,r,i,o,s){ze(t._v,n._v,e._v,o,1|r,i)}(w,x,k,j,z,t),tt()}))}function Ce(t,n,e,r,i,o){Ne();var s={_v:n},a={_v:e},u=r;u=u.n1d(1780967894),Pt(u,"C(Option$composable)P(2)");var c=i;if(0!=(1&o)?c|=6:0==(14&i)&&(c|=u.j12(t)?4:2),0!=(2&o)?c|=48:0==(112&i)&&(c|=u.j12(s._v)?32:16),0!=(4&o)?c|=384:0==(896&i)&&(c|=u.j12(a._v)?256:128),146==(731&c)&&u.v1b())u.z17();else{0!=(2&o)&&(s._v=null),0!=(4&o)&&(a._v=null),gt()&&mt(1780967894,c,-1,"org.jetbrains.compose.web.dom.Option$composable (Elements.kt:669)");var l=(Ne(),Y),h=s._v,p=u;p.e12(-1124426577),Pt(p,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var f,_=p,d=!!(p.j12(t)|p.j12(h)),v=_.f12();if(d||v===Mt().h12_1){var y=Le(t,s);_.g12(y),f=y}else f=v;var m=f,g=null==m||At(m)?m:at();p.i12(),se(l,g,a._v,u,896&c),gt()&&bt()}var $,b,w,x,k,j=u.o1d();null===j||j.j1e(($=t,b=s,w=a,x=i,k=o,function(t,n){return function(t,n,e,r,i,o,s){Ce(t,n._v,e._v,o,1|r,i)}($,b,w,x,k,t),tt()}))}function Se(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-100692211),Pt(a,"C(P$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-100692211,u,-1,"org.jetbrains.compose.web.dom.P$composable (Elements.kt:563)"),se((Ne(),F),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){Se(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function qe(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-114341698),Pt(a,"C(Ul$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-114341698,u,-1,"org.jetbrains.compose.web.dom.Ul$composable (Elements.kt:603)"),se((Ne(),V),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){qe(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function Oe(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-456299496),Pt(a,"C(Li$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-456299496,u,-1,"org.jetbrains.compose.web.dom.Li$composable (Elements.kt:615)"),se((Ne(),W),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){Oe(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function Pe(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-155327957),Pt(a,"C(Span$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-155327957,u,-1,"org.jetbrains.compose.web.dom.Span$composable (Elements.kt:593)"),se((Ne(),H),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){Pe(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function Me(){return Ne(),new Bt(document.createTextNode(""))}function Ae(t,n){Ne();var e=t.g1s();return(e instanceof Text?e:at()).data=n,tt()}function Ee(t,n){return function(e){var r=t._v;return null==r||0===_t(r)||(function(t,n){Xt(),t.e20("action",n)}(e,t._v),tt()),null!=n._v&&n._v(e),tt()}}function Ie(t,n){return function(e){return null!=t._v&&(function(t,n){Xt(),t.e20("for",n)}(e,t._v),tt()),null!=n._v&&n._v(e),tt()}}function De(){}function Te(){}function Be(t,n){return function(e){return t._v&&(r=e,Xt(),r.e20("multiple",""),tt()),null!=n._v&&n._v(new Kn(e)),tt();var r}}function Le(t,n){return function(e){return function(t,n){Xt(),t.e20("value",n)}(e,t),null!=n._v&&n._v(e),tt()}}function Ne(){Z||(Z=!0,new fe("address"),new fe("article"),new fe("aside"),new fe("header"),new fe("area"),new fe("audio"),new fe("map"),new fe("track"),new fe("video"),new fe("datalist"),new fe("fieldset"),new fe("legend"),new fe("meter"),new fe("output"),new fe("progress"),new fe("embed"),new fe("iframe"),new fe("object"),new fe("param"),new fe("picture"),new fe("source"),I=new fe("canvas"),new fe("dl"),new fe("dt"),new fe("dd"),D=new fe("div"),new fe("a"),T=new fe("input"),B=new fe("button"),L=new fe("h1"),new fe("h2"),N=new fe("h3"),R=new fe("h4"),new fe("h5"),new fe("h6"),F=new fe("p"),new fe("em"),new fe("i"),new fe("b"),new fe("small"),H=new fe("span"),U=new fe("br"),V=new fe("ul"),new fe("ol"),W=new fe("li"),new fe("img"),J=new fe("form"),K=new fe("select"),Y=new fe("option"),new fe("optgroup"),new fe("section"),G=new fe("textarea"),new fe("nav"),new fe("pre"),new fe("code"),new fe("main"),new fe("footer"),new fe("hr"),X=new fe("label"),new fe("table"),new fe("caption"),new fe("col"),new fe("colgroup"),new fe("tr"),new fe("thead"),new fe("th"),new fe("td"),new fe("tbody"),new fe("tfoot"),new fe("style"))}function Re(t,n){Fe.call(this,n),this.f2a_1=t,this.g2a_1=0}function Fe(t){this.h2a_1=t;var n;n=this.h2a_1.target,this.i2a_1=n,this.j2a_1=this.h2a_1.bubbles,this.k2a_1=this.h2a_1.cancelable,this.l2a_1=this.h2a_1.composed,this.m2a_1=this.h2a_1.currentTarget,this.n2a_1=this.h2a_1.eventPhase,this.o2a_1=this.h2a_1.defaultPrevented,this.p2a_1=this.h2a_1.timeStamp,this.q2a_1=this.h2a_1.type,this.r2a_1=this.h2a_1.isTrusted,this.s2a_1=8}function He(t,n){Fe.call(this,n),this.f2b_1=t;var e,r=n.data;e=null==r?null:r,this.g2b_1=e;var i,o=n.dataTransfer;i=null==o?null:o,this.h2b_1=i;var s,a=n.inputType;s=null==a?null:a,this.i2b_1=s;var u=n.isComposing,c=null==u?null:u;this.j2b_1=null!=c&&c,this.k2b_1=8}function Ue(t){Fe.call(this,t),this.x2b_1=t,this.y2b_1=t.altKey,this.z2b_1=t.button,this.a2c_1=t.buttons,this.b2c_1=t.clientX,this.c2c_1=t.clientY,this.d2c_1=t.ctrlKey,this.e2c_1=t.metaKey;var n=t.movementX,e=null!=n&&"number"==typeof n?n:null;this.f2c_1=null==e?0:e;var r=t.movementY,i=null!=r&&"number"==typeof r?r:null;this.g2c_1=null==i?0:i,this.h2c_1=t.offsetX,this.i2c_1=t.offsetY,this.j2c_1=t.pageX,this.k2c_1=t.pageY,this.l2c_1=t.region,this.m2c_1=t.relatedTarget,this.n2c_1=t.screenX,this.o2c_1=t.screenY,this.p2c_1=t.shiftKey,this.q2c_1=t.x,this.r2c_1=t.y,this.s2c_1=8}return an.prototype=Object.create(lt.prototype),an.prototype.constructor=an,An.prototype=Object.create(Bn.prototype),An.prototype.constructor=An,un.prototype=Object.create(An.prototype),un.prototype.constructor=un,En.prototype=Object.create(Bn.prototype),En.prototype.constructor=En,cn.prototype=Object.create(En.prototype),cn.prototype.constructor=cn,Mn.prototype=Object.create(Bn.prototype),Mn.prototype.constructor=Mn,hn.prototype=Object.create(Mn.prototype),hn.prototype.constructor=hn,pn.prototype=Object.create(Mn.prototype),pn.prototype.constructor=pn,fn.prototype=Object.create(Mn.prototype),fn.prototype.constructor=fn,_n.prototype=Object.create(Mn.prototype),_n.prototype.constructor=_n,dn.prototype=Object.create(Mn.prototype),dn.prototype.constructor=dn,vn.prototype=Object.create(Mn.prototype),vn.prototype.constructor=vn,yn.prototype=Object.create(Mn.prototype),yn.prototype.constructor=yn,In.prototype=Object.create(Bn.prototype),In.prototype.constructor=In,mn.prototype=Object.create(In.prototype),mn.prototype.constructor=mn,gn.prototype=Object.create(Mn.prototype),gn.prototype.constructor=gn,$n.prototype=Object.create(En.prototype),$n.prototype.constructor=$n,wn.prototype=Object.create(In.prototype),wn.prototype.constructor=wn,xn.prototype=Object.create(Mn.prototype),xn.prototype.constructor=xn,kn.prototype=Object.create(An.prototype),kn.prototype.constructor=kn,jn.prototype=Object.create(Mn.prototype),jn.prototype.constructor=jn,zn.prototype=Object.create(Mn.prototype),zn.prototype.constructor=zn,Sn.prototype=Object.create(Mn.prototype),Sn.prototype.constructor=Sn,qn.prototype=Object.create(Mn.prototype),qn.prototype.constructor=qn,On.prototype=Object.create(Mn.prototype),On.prototype.constructor=On,Nn.prototype=Object.create(Ln.prototype),Nn.prototype.constructor=Nn,Rn.prototype=Object.create(Ln.prototype),Rn.prototype.constructor=Rn,Yn.prototype=Object.create(Ln.prototype),Yn.prototype.constructor=Yn,Gn.prototype=Object.create(Ln.prototype),Gn.prototype.constructor=Gn,ae.prototype=Object.create(Bt.prototype),ae.prototype.constructor=ae,ce.prototype=Object.create(le.prototype),ce.prototype.constructor=ce,Re.prototype=Object.create(Fe.prototype),Re.prototype.constructor=Re,He.prototype=Object.create(Fe.prototype),He.prototype.constructor=He,Ue.prototype=Object.create(Fe.prototype),Ue.prototype.constructor=Ue,Zt.$metadata$=nt("Companion"),Qt.$metadata$=et("AttrsScope",[on]),nn.prototype.j21=function(){return this.c21_1},nn.prototype.a21=function(t){this.c21_1.a21(t)},nn.prototype.b21=function(t){this.c21_1.b21(t)},nn.prototype.z20=function(t){this.c21_1.z20(t)},nn.prototype.m21=function(){return this.e21_1},nn.prototype.n21=function(){return this.f21_1},nn.prototype.o21=function(){return this.g21_1},nn.prototype.p21=function(){return this.h21_1},nn.prototype.v20=function(t){this.h21_1.j1(t)},nn.prototype.w20=function(t){ot(this.h21_1,t)},nn.prototype.u20=function(t){t(this.e21_1)},nn.prototype.e20=function(t,n){return this.d21_1.v3(t,n),this},nn.prototype.y20=function(t,n){var e=st(t,n);this.f21_1.a(e instanceof ut?e:at())},nn.prototype.q21=function(){return this.d21_1},nn.$metadata$=ct("AttrsScopeBuilder",[Qt,on]),en.$metadata$=nt("Companion"),on.$metadata$=et("EventsListenerScope"),sn.prototype.z20=function(t){this.k21_1.a(t)},sn.prototype.i23=function(){return this.k21_1},sn.$metadata$=ct("EventsListenerScopeBuilder",[on]),an.$metadata$=ct("ButtonType",void 0,void 0,void 0,void 0,lt.prototype),un.$metadata$=nt("Button",void 0,void 0,void 0,void 0,An.prototype),cn.$metadata$=nt("Checkbox",void 0,void 0,void 0,void 0,En.prototype),hn.$metadata$=nt("Color",void 0,void 0,void 0,void 0,Mn.prototype),pn.$metadata$=nt("Date",void 0,void 0,void 0,void 0,Mn.prototype),fn.$metadata$=nt("DateTimeLocal",void 0,void 0,void 0,void 0,Mn.prototype),_n.$metadata$=nt("Email",void 0,void 0,void 0,void 0,Mn.prototype),dn.$metadata$=nt("File",void 0,void 0,void 0,void 0,Mn.prototype),vn.$metadata$=nt("Hidden",void 0,void 0,void 0,void 0,Mn.prototype),yn.$metadata$=nt("Month",void 0,void 0,void 0,void 0,Mn.prototype),mn.$metadata$=nt("Number",void 0,void 0,void 0,void 0,In.prototype),gn.$metadata$=nt("Password",void 0,void 0,void 0,void 0,Mn.prototype),$n.$metadata$=nt("Radio",void 0,void 0,void 0,void 0,En.prototype),wn.$metadata$=nt("Range",void 0,void 0,void 0,void 0,In.prototype),xn.$metadata$=nt("Search",void 0,void 0,void 0,void 0,Mn.prototype),kn.$metadata$=nt("Submit",void 0,void 0,void 0,void 0,An.prototype),jn.$metadata$=nt("Tel",void 0,void 0,void 0,void 0,Mn.prototype),zn.$metadata$=nt("Text",void 0,void 0,void 0,void 0,Mn.prototype),Sn.$metadata$=nt("Time",void 0,void 0,void 0,void 0,Mn.prototype),qn.$metadata$=nt("Url",void 0,void 0,void 0,void 0,Mn.prototype),On.$metadata$=nt("Week",void 0,void 0,void 0,void 0,Mn.prototype),Mn.prototype.y23=function(t){return Pn().z26(t)},Mn.$metadata$=ct("InputTypeWithStringValue",void 0,void 0,void 0,void 0,Bn.prototype),An.prototype.q23=function(t){return tt()},An.prototype.y23=function(t){return this.q23(t),tt()},An.$metadata$=ct("InputTypeWithUnitValue",void 0,void 0,void 0,void 0,Bn.prototype),En.prototype.y23=function(t){var n,e,r=t.target,i=null==(n=null==r?null:r)?null:n.checked;return null!=(e=null==i?null:i)&&e},En.$metadata$=ct("InputTypeCheckedValue",void 0,void 0,void 0,void 0,Bn.prototype),In.prototype.y23=function(t){var n,e=t.target,r=null==(n=null==e?null:e)?null:n.valueAsNumber;return null==r?null:r},In.$metadata$=ct("InputTypeNumberValue",void 0,void 0,void 0,void 0,Bn.prototype),Dn.prototype.a27=function(t){var n;switch(t){case"button":null==l&&new un,n=l;break;case"checkbox":n=ln();break;case"color":null==p&&new hn,n=p;break;case"date":null==f&&new pn,n=f;break;case"datetime-local":null==_&&new fn,n=_;break;case"email":null==d&&new _n,n=d;break;case"file":null==v&&new dn,n=v;break;case"hidden":null==y&&new vn,n=y;break;case"month":null==m&&new yn,n=m;break;case"number":null==g&&new mn,n=g;break;case"password":null==$&&new gn,n=$;break;case"radio":n=bn();break;case"range":null==w&&new wn,n=w;break;case"search":null==x&&new xn,n=x;break;case"submit":null==k&&new kn,n=k;break;case"tel":null==j&&new jn,n=j;break;case"text":n=Cn();break;case"time":null==C&&new Sn,n=C;break;case"url":null==S&&new qn,n=S;break;case"week":n=Pn();break;default:throw pt(ht("fromString got unknown type - "+t))}return n},Dn.$metadata$=nt("Companion"),Bn.prototype.z26=function(t){var n,e,r=t.target,i=null==(n=null==r?null:r)?null:n.value;return null==(e=null==i?null:i)?"":e},Bn.$metadata$=ct("InputType"),Ln.prototype.y1y=function(){return this.d27_1},Ln.prototype.f27=function(t){var n;n=new Fe(t),this.c27_1(n)},Ln.prototype.handleEvent=function(t){return this.f27(t)},Ln.$metadata$=ct("SyntheticEventListener",[ft]),Nn.prototype.f27=function(t){var n=this.k27_1.y23(t);this.c27_1(new He(n,t))},Nn.prototype.handleEvent=function(t){return this.f27(t)},Nn.$metadata$=ct("InputEventListener",void 0,void 0,void 0,void 0,Ln.prototype),Rn.prototype.f27=function(t){var n;n=t,this.c27_1(new Ue(n))},Rn.prototype.handleEvent=function(t){return this.f27(t)},Rn.$metadata$=ct("MouseEventListener",void 0,void 0,void 0,void 0,Ln.prototype),Fn.prototype.e20=function(t,n){return this.q27_1.e20(t,n)},Fn.prototype.w20=function(t){this.q27_1.w20(t)},Fn.prototype.v20=function(t){this.q27_1.v20(t)},Fn.prototype.x20=function(t){return this.q27_1.x20(t)},Fn.prototype.a21=function(t){this.q27_1.a21(t)},Fn.prototype.b21=function(t){this.q27_1.b21(t)},Fn.prototype.y20=function(t,n){this.q27_1.y20(t,n)},Fn.prototype.z20=function(t){this.q27_1.z20(t)},Fn.prototype.u20=function(t){this.q27_1.u20(t)},Fn.prototype.s27=function(t){rn(),this.z20(new Nn("input",this.p27_1,t))},Fn.$metadata$=ct("InputAttrsScope",[Qt]),Wn.prototype.js=function(){var t=Un().a3(this.t27_1.name);null==t||t.jf(this.t27_1);var n=Un().a3(this.t27_1.name);!0===(null==n?null:n.h())&&Un().og(this.t27_1.name)},Wn.$metadata$=ct(void 0,[kt]),Kn.prototype.e20=function(t,n){return this.v27_1.e20(t,n)},Kn.prototype.w20=function(t){this.v27_1.w20(t)},Kn.prototype.v20=function(t){this.v27_1.v20(t)},Kn.prototype.x20=function(t){return this.v27_1.x20(t)},Kn.prototype.a21=function(t){this.v27_1.a21(t)},Kn.prototype.b21=function(t){this.v27_1.b21(t)},Kn.prototype.y20=function(t,n){this.v27_1.y20(t,n)},Kn.prototype.z20=function(t){this.v27_1.z20(t)},Kn.prototype.u20=function(t){this.v27_1.u20(t)},Kn.prototype.x27=function(t){rn(),this.z20(new Yn("input",t))},Kn.prototype.y27=function(t){this.z20(new Gn(t))},Kn.$metadata$=ct("SelectAttrsScope",[Qt]),Yn.prototype.f27=function(t){var n=t.target,e=(null==n?null:n).value,r=null==e?null:ht(e);this.c27_1(new He(r,t))},Yn.prototype.handleEvent=function(t){return this.f27(t)},Yn.$metadata$=ct("SelectInputEventListener",void 0,void 0,void 0,void 0,Ln.prototype),Gn.prototype.f27=function(t){var n=t.target,e=(null==n?null:n).value,r=null==e?null:ht(e);this.c27_1(new Re(r,t))},Gn.prototype.handleEvent=function(t){return this.f27(t)},Gn.$metadata$=ct("SelectChangeEventListener",void 0,void 0,void 0,void 0,Ln.prototype),Xn.prototype.e20=function(t,n){return this.h28_1.e20(t,n)},Xn.prototype.w20=function(t){this.h28_1.w20(t)},Xn.prototype.v20=function(t){this.h28_1.v20(t)},Xn.prototype.x20=function(t){return this.h28_1.x20(t)},Xn.prototype.a21=function(t){this.h28_1.a21(t)},Xn.prototype.b21=function(t){this.h28_1.b21(t)},Xn.prototype.y20=function(t,n){this.h28_1.y20(t,n)},Xn.prototype.z20=function(t){this.h28_1.z20(t)},Xn.prototype.u20=function(t){this.h28_1.u20(t)},Xn.prototype.j28=function(t){return this.y20((Xt(),i),t),this},Xn.prototype.k28=function(t){rn(),this.z20(new Nn("input",Cn(),t))},Xn.$metadata$=ct("TextAreaAttrsScope",[Qt]),Zn.prototype.l28=function(){return"%"},Zn.prototype.m28=function(){return"px"},Zn.$metadata$=nt("Companion"),te.prototype.m2=function(){return this.n28_1},te.prototype.q28=function(){return this.o28_1},te.prototype.toString=function(){return""+this.n28_1+this.o28_1},te.prototype.hashCode=function(){var t=zt(this.n28_1);return Q(t,31)+Ct(this.o28_1)|0},te.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof te))return!1;var n=t instanceof te?t:at();return!!xt(this.n28_1,n.n28_1)&&!!xt(this.o28_1,n.o28_1)},te.$metadata$=ct("CSSUnitValueTyped"),Object.defineProperty(te.prototype,"value",{configurable:!0,get:function(){return this.m2()}}),Object.defineProperty(te.prototype,"unit",{configurable:!0,get:function(){return this.q28()}}),ne.$metadata$=et("StyleScope"),ee.prototype.w28=function(){return this.t28_1},ee.prototype.x28=function(){return this.u28_1},ee.prototype.r28=function(t,n){this.w28().a(new ie(t,n))},ee.prototype.equals=function(t){return!(null==t||!St(t,re))&&!!oe(this.w28(),t.w28())&&oe(this.x28(),t.x28())},ee.$metadata$=ct("StyleScopeBuilder",[ne,re]),re.$metadata$=et("StyleHolder"),ie.prototype.y1y=function(){return this.y28_1},ie.prototype.m2=function(){return this.z28_1},ie.prototype.l4=function(){return this.y28_1},ie.prototype.m4=function(){return this.z28_1},ie.prototype.toString=function(){return"StylePropertyDeclaration(name="+this.y28_1+", value="+this.z28_1+")"},ie.prototype.hashCode=function(){var t=qt(this.y28_1);return Q(t,31)+Ct(this.z28_1)|0},ie.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof ie))return!1;var n=t instanceof ie?t:at();return this.y28_1===n.y28_1&&!!xt(this.z28_1,n.z28_1)},ie.$metadata$=ct("StylePropertyDeclaration"),ae.prototype.g1s=function(){return this.d29_1},ae.prototype.f29=function(t){for(var n=this.e29_1.c();n.d();){var e=n.e();this.d29_1.removeEventListener(e.y1y(),e)}this.e29_1=t;for(var r=this.e29_1.c();r.d();){var i=r.e();this.d29_1.addEventListener(i.y1y(),i)}},ae.prototype.g29=function(t){for(var n=t.c();n.d();){var e=n.e(),r=e.l4(),i=e.m4();r(this.d29_1,i)}},ae.prototype.h29=function(t){var n=this.d29_1;if(n instanceof HTMLElement||n instanceof SVGElement){this.d29_1.removeAttribute("style");for(var e=this.d29_1.style,r=t.w28().c();r.d();){var i=r.e(),o=i.l4(),s=i.m4();e.setProperty(o,ht(s))}for(var a=t.x28().c();a.d();){var u=a.e(),c=u.l4(),l=u.m4();e.setProperty(c,ht(l))}}},ae.prototype.i29=function(t){for(var n=this.d29_1.getAttributeNames(),e=0,r=n.length;e{"use strict";function r(){}e.r(n),e.d(n,{Animation:()=>ye,Animations:()=>ge,ArcElement:()=>bi,BarController:()=>Ne,BarElement:()=>Ti,BasePlatform:()=>qr,BasicPlatform:()=>Or,BubbleController:()=>Re,CategoryScale:()=>zo,Chart:()=>di,DatasetController:()=>Pe,Decimation:()=>Ri,DomPlatform:()=>Ur,DoughnutController:()=>Fe,Element:()=>Je,Filler:()=>ro,Interaction:()=>vr,Legend:()=>so,LineController:()=>He,LineElement:()=>qi,LinearScale:()=>qo,LogarithmicScale:()=>Po,PieController:()=>Ve,PointElement:()=>Pi,PolarAreaController:()=>Ue,RadarController:()=>We,RadialLinearScale:()=>Bo,Scale:()=>rr,ScatterController:()=>sr,SubTitle:()=>lo,Ticks:()=>Ye,TimeScale:()=>Wo,TimeSeriesScale:()=>Ko,Title:()=>uo,Tooltip:()=>ko,_adapters:()=>lr,_detectPlatform:()=>Vr,animator:()=>_e,controllers:()=>ar,defaults:()=>Xt,elements:()=>Bi,layouts:()=>Sr,plugins:()=>jo,registerables:()=>Go,registry:()=>or,scales:()=>Yo});const i=function(){let t=0;return function(){return t++}}();function o(t){return null==t}function s(t){if(Array.isArray&&Array.isArray(t))return!0;const n=Object.prototype.toString.call(t);return"[object"===n.slice(0,7)&&"Array]"===n.slice(-6)}function a(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}const u=t=>("number"==typeof t||t instanceof Number)&&isFinite(+t);function c(t,n){return u(t)?t:n}function l(t,n){return void 0===t?n:t}const h=(t,n)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*n:+t;function p(t,n,e){if(t&&"function"==typeof t.call)return t.apply(e,n)}function f(t,n,e,r){let i,o,u;if(s(t))if(o=t.length,r)for(i=o-1;i>=0;i--)n.call(e,t[i],i);else for(i=0;it,x:t=>t.x,y:t=>t.y};function w(t,n){const e=b[n]||(b[n]=function(t){const n=function(t){const n=t.split("."),e=[];let r="";for(const t of n)r+=t,r.endsWith("\\")?r=r.slice(0,-1)+".":(e.push(r),r="");return e}(t);return t=>{for(const e of n){if(""===e)break;t=t&&t[e]}return t}}(n));return e(t)}function x(t){return t.charAt(0).toUpperCase()+t.slice(1)}const k=t=>void 0!==t,j=t=>"function"==typeof t,z=(t,n)=>{if(t.size!==n.size)return!1;for(const e of t)if(!n.has(e))return!1;return!0},C=Math.PI,S=2*C,q=S+C,O=Number.POSITIVE_INFINITY,P=C/180,M=C/2,A=C/4,E=2*C/3,I=Math.log10,D=Math.sign;function T(t){const n=Math.round(t);t=L(t,n,t/1e3)?n:t;const e=Math.pow(10,Math.floor(I(t))),r=t/e;return(r<=1?1:r<=2?2:r<=5?5:10)*e}function B(t){return!isNaN(parseFloat(t))&&isFinite(t)}function L(t,n,e){return Math.abs(t-n)u&&c=Math.min(n,e)-r&&t<=Math.max(n,e)+r}function X(t,n,e){e=e||(e=>t[e]1;)r=o+i>>1,e(r)?o=r:i=r;return{lo:o,hi:i}}const Z=(t,n,e,r)=>X(t,e,r?r=>t[r][n]<=e:r=>t[r][n]X(t,e,(r=>t[r][n]>=e)),tt=["push","pop","shift","splice","unshift"];function nt(t,n){const e=t._chartjs;if(!e)return;const r=e.listeners,i=r.indexOf(n);-1!==i&&r.splice(i,1),r.length>0||(tt.forEach((n=>{delete t[n]})),delete t._chartjs)}function et(t){const n=new Set;let e,r;for(e=0,r=t.length;eArray.prototype.slice.call(t));let i=!1,o=[];return function(...e){o=r(e),i||(i=!0,rt.call(window,(()=>{i=!1,t.apply(n,o)})))}}const ot=t=>"start"===t?"left":"end"===t?"right":"center",st=(t,n,e)=>"start"===t?n:"end"===t?e:(n+e)/2;function at(t,n,e){const r=n.length;let i=0,o=r;if(t._sorted){const{iScale:s,_parsed:a}=t,u=s.axis,{min:c,max:l,minDefined:h,maxDefined:p}=s.getUserBounds();h&&(i=Y(Math.min(Z(a,s.axis,c).lo,e?r:Z(n,u,s.getPixelForValue(c)).lo),0,r-1)),o=p?Y(Math.max(Z(a,s.axis,l,!0).hi+1,e?0:Z(n,u,s.getPixelForValue(l),!0).hi+1),i,r)-i:r-i}return{start:i,count:o}}function ut(t){const{xScale:n,yScale:e,_scaleRanges:r}=t,i={xmin:n.min,xmax:n.max,ymin:e.min,ymax:e.max};if(!r)return t._scaleRanges=i,!0;const o=r.xmin!==n.min||r.xmax!==n.max||r.ymin!==e.min||r.ymax!==e.max;return Object.assign(r,i),o}const ct=t=>0===t||1===t,lt=(t,n,e)=>-Math.pow(2,10*(t-=1))*Math.sin((t-n)*S/e),ht=(t,n,e)=>Math.pow(2,-10*t)*Math.sin((t-n)*S/e)+1,pt={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*M),easeOutSine:t=>Math.sin(t*M),easeInOutSine:t=>-.5*(Math.cos(C*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>ct(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>ct(t)?t:lt(t,.075,.3),easeOutElastic:t=>ct(t)?t:ht(t,.075,.3),easeInOutElastic(t){const n=.1125;return ct(t)?t:t<.5?.5*lt(2*t,n,.45):.5+.5*ht(2*t-1,n,.45)},easeInBack(t){const n=1.70158;return t*t*((n+1)*t-n)},easeOutBack(t){const n=1.70158;return(t-=1)*t*((n+1)*t+n)+1},easeInOutBack(t){let n=1.70158;return(t/=.5)<1?t*t*((1+(n*=1.525))*t-n)*.5:.5*((t-=2)*t*((1+(n*=1.525))*t+n)+2)},easeInBounce:t=>1-pt.easeOutBounce(1-t),easeOutBounce(t){const n=7.5625,e=2.75;return t<1/e?n*t*t:t<2/e?n*(t-=1.5/e)*t+.75:t<2.5/e?n*(t-=2.25/e)*t+.9375:n*(t-=2.625/e)*t+.984375},easeInOutBounce:t=>t<.5?.5*pt.easeInBounce(2*t):.5*pt.easeOutBounce(2*t-1)+.5};function ft(t){return t+.5|0}const _t=(t,n,e)=>Math.max(Math.min(t,e),n);function dt(t){return _t(ft(2.55*t),0,255)}function vt(t){return _t(ft(255*t),0,255)}function yt(t){return _t(ft(t/2.55)/100,0,1)}function mt(t){return _t(ft(100*t),0,100)}const gt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},$t=[..."0123456789ABCDEF"],bt=t=>$t[15&t],wt=t=>$t[(240&t)>>4]+$t[15&t],xt=t=>(240&t)>>4==(15&t);const kt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function jt(t,n,e){const r=n*Math.min(e,1-e),i=(n,i=(n+t/30)%12)=>e-r*Math.max(Math.min(i-3,9-i,1),-1);return[i(0),i(8),i(4)]}function zt(t,n,e){const r=(r,i=(r+t/60)%6)=>e-e*n*Math.max(Math.min(i,4-i,1),0);return[r(5),r(3),r(1)]}function Ct(t,n,e){const r=jt(t,1,.5);let i;for(n+e>1&&(i=1/(n+e),n*=i,e*=i),i=0;i<3;i++)r[i]*=1-n-e,r[i]+=n;return r}function St(t){const n=t.r/255,e=t.g/255,r=t.b/255,i=Math.max(n,e,r),o=Math.min(n,e,r),s=(i+o)/2;let a,u,c;return i!==o&&(c=i-o,u=s>.5?c/(2-i-o):c/(i+o),a=function(t,n,e,r,i){return t===i?(n-e)/r+(nt<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,Tt=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Bt(t,n,e){if(t){let r=St(t);r[n]=Math.max(0,Math.min(r[n]+r[n]*e,0===n?360:1)),r=Ot(r),t.r=r[0],t.g=r[1],t.b=r[2]}}function Lt(t,n){return t?Object.assign(n||{},t):t}function Nt(t){var n={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(n={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(n.a=vt(t[3]))):(n=Lt(t,{r:0,g:0,b:0,a:1})).a=vt(n.a),n}function Rt(t){return"r"===t.charAt(0)?function(t){const n=It.exec(t);let e,r,i,o=255;if(n){if(n[7]!==e){const t=+n[7];o=n[8]?dt(t):_t(255*t,0,255)}return e=+n[1],r=+n[3],i=+n[5],e=255&(n[2]?dt(e):_t(e,0,255)),r=255&(n[4]?dt(r):_t(r,0,255)),i=255&(n[6]?dt(i):_t(i,0,255)),{r:e,g:r,b:i,a:o}}}(t):function(t){const n=kt.exec(t);let e,r=255;if(!n)return;n[5]!==e&&(r=n[6]?dt(+n[5]):vt(+n[5]));const i=Pt(+n[2]),o=+n[3]/100,s=+n[4]/100;return e="hwb"===n[1]?function(t,n,e){return qt(Ct,t,n,e)}(i,o,s):"hsv"===n[1]?function(t,n,e){return qt(zt,t,n,e)}(i,o,s):Ot(i,o,s),{r:e[0],g:e[1],b:e[2],a:r}}(t)}class Ft{constructor(t){if(t instanceof Ft)return t;const n=typeof t;let e;var r,i,o;"object"===n?e=Nt(t):"string"===n&&(o=(r=t).length,"#"===r[0]&&(4===o||5===o?i={r:255&17*gt[r[1]],g:255&17*gt[r[2]],b:255&17*gt[r[3]],a:5===o?17*gt[r[4]]:255}:7!==o&&9!==o||(i={r:gt[r[1]]<<4|gt[r[2]],g:gt[r[3]]<<4|gt[r[4]],b:gt[r[5]]<<4|gt[r[6]],a:9===o?gt[r[7]]<<4|gt[r[8]]:255})),e=i||function(t){Et||(Et=function(){const t={},n=Object.keys(At),e=Object.keys(Mt);let r,i,o,s,a;for(r=0;r>16&255,o>>8&255,255&o]}return t}(),Et.transparent=[0,0,0,0]);const n=Et[t.toLowerCase()];return n&&{r:n[0],g:n[1],b:n[2],a:4===n.length?n[3]:255}}(t)||Rt(t)),this._rgb=e,this._valid=!!e}get valid(){return this._valid}get rgb(){var t=Lt(this._rgb);return t&&(t.a=yt(t.a)),t}set rgb(t){this._rgb=Nt(t)}rgbString(){return this._valid?(t=this._rgb)&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${yt(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`):void 0;var t}hexString(){return this._valid?(t=this._rgb,n=(t=>xt(t.r)&&xt(t.g)&&xt(t.b)&&xt(t.a))(t)?bt:wt,t?"#"+n(t.r)+n(t.g)+n(t.b)+((t,n)=>t<255?n(t):"")(t.a,n):void 0):void 0;var t,n}hslString(){return this._valid?function(t){if(!t)return;const n=St(t),e=n[0],r=mt(n[1]),i=mt(n[2]);return t.a<255?`hsla(${e}, ${r}%, ${i}%, ${yt(t.a)})`:`hsl(${e}, ${r}%, ${i}%)`}(this._rgb):void 0}mix(t,n){if(t){const e=this.rgb,r=t.rgb;let i;const o=n===i?.5:n,s=2*o-1,a=e.a-r.a,u=((s*a==-1?s:(s+a)/(1+s*a))+1)/2;i=1-u,e.r=255&u*e.r+i*r.r+.5,e.g=255&u*e.g+i*r.g+.5,e.b=255&u*e.b+i*r.b+.5,e.a=o*e.a+(1-o)*r.a,this.rgb=e}return this}interpolate(t,n){return t&&(this._rgb=function(t,n,e){const r=Tt(yt(t.r)),i=Tt(yt(t.g)),o=Tt(yt(t.b));return{r:vt(Dt(r+e*(Tt(yt(n.r))-r))),g:vt(Dt(i+e*(Tt(yt(n.g))-i))),b:vt(Dt(o+e*(Tt(yt(n.b))-o))),a:t.a+e*(n.a-t.a)}}(this._rgb,t._rgb,n)),this}clone(){return new Ft(this.rgb)}alpha(t){return this._rgb.a=vt(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,n=ft(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=n,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Bt(this._rgb,2,t),this}darken(t){return Bt(this._rgb,2,-t),this}saturate(t){return Bt(this._rgb,1,t),this}desaturate(t){return Bt(this._rgb,1,-t),this}rotate(t){return function(t,n){var e=St(t);e[0]=Pt(e[0]+n),e=Ot(e),t.r=e[0],t.g=e[1],t.b=e[2]}(this._rgb,t),this}}function Ht(t){return new Ft(t)}function Ut(t){if(t&&"object"==typeof t){const n=t.toString();return"[object CanvasPattern]"===n||"[object CanvasGradient]"===n}return!1}function Vt(t){return Ut(t)?t:Ht(t)}function Wt(t){return Ut(t)?t:Ht(t).saturate(.5).darken(.1).hexString()}const Jt=Object.create(null),Kt=Object.create(null);function Yt(t,n){if(!n)return t;const e=n.split(".");for(let n=0,r=e.length;nt.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,n)=>Wt(n.backgroundColor),this.hoverBorderColor=(t,n)=>Wt(n.borderColor),this.hoverColor=(t,n)=>Wt(n.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t)}set(t,n){return Gt(this,t,n)}get(t){return Yt(this,t)}describe(t,n){return Gt(Kt,t,n)}override(t,n){return Gt(Jt,t,n)}route(t,n,e,r){const i=Yt(this,t),o=Yt(this,e),s="_"+n;Object.defineProperties(i,{[s]:{value:i[n],writable:!0},[n]:{enumerable:!0,get(){const t=this[s],n=o[r];return a(t)?Object.assign({},n,t):l(t,n)},set(t){this[s]=t}}})}}({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});function Zt(t,n,e,r,i){let o=n[i];return o||(o=n[i]=t.measureText(i).width,e.push(i)),o>r&&(r=o),r}function Qt(t,n,e,r){let i=(r=r||{}).data=r.data||{},o=r.garbageCollect=r.garbageCollect||[];r.font!==n&&(i=r.data={},o=r.garbageCollect=[],r.font=n),t.save(),t.font=n;let a=0;const u=e.length;let c,l,h,p,f;for(c=0;ce.length){for(c=0;c<_;c++)delete i[o[c]];o.splice(0,_)}return a}function tn(t,n,e){const r=t.currentDevicePixelRatio,i=0!==e?Math.max(e/2,.5):0;return Math.round((n-i)*r)/r+i}function nn(t,n){(n=n||t.getContext("2d")).save(),n.resetTransform(),n.clearRect(0,0,t.width,t.height),n.restore()}function en(t,n,e,r){rn(t,n,e,r,null)}function rn(t,n,e,r,i){let o,s,a,u,c,l;const h=n.pointStyle,p=n.rotation,f=n.radius;let _=(p||0)*P;if(h&&"object"==typeof h&&(o=h.toString(),"[object HTMLImageElement]"===o||"[object HTMLCanvasElement]"===o))return t.save(),t.translate(e,r),t.rotate(_),t.drawImage(h,-h.width/2,-h.height/2,h.width,h.height),void t.restore();if(!(isNaN(f)||f<=0)){switch(t.beginPath(),h){default:i?t.ellipse(e,r,i/2,f,0,0,S):t.arc(e,r,f,0,S),t.closePath();break;case"triangle":t.moveTo(e+Math.sin(_)*f,r-Math.cos(_)*f),_+=E,t.lineTo(e+Math.sin(_)*f,r-Math.cos(_)*f),_+=E,t.lineTo(e+Math.sin(_)*f,r-Math.cos(_)*f),t.closePath();break;case"rectRounded":c=.516*f,u=f-c,s=Math.cos(_+A)*u,a=Math.sin(_+A)*u,t.arc(e-s,r-a,c,_-C,_-M),t.arc(e+a,r-s,c,_-M,_),t.arc(e+s,r+a,c,_,_+M),t.arc(e-a,r+s,c,_+M,_+C),t.closePath();break;case"rect":if(!p){u=Math.SQRT1_2*f,l=i?i/2:u,t.rect(e-l,r-u,2*l,2*u);break}_+=A;case"rectRot":s=Math.cos(_)*f,a=Math.sin(_)*f,t.moveTo(e-s,r-a),t.lineTo(e+a,r-s),t.lineTo(e+s,r+a),t.lineTo(e-a,r+s),t.closePath();break;case"crossRot":_+=A;case"cross":s=Math.cos(_)*f,a=Math.sin(_)*f,t.moveTo(e-s,r-a),t.lineTo(e+s,r+a),t.moveTo(e+a,r-s),t.lineTo(e-a,r+s);break;case"star":s=Math.cos(_)*f,a=Math.sin(_)*f,t.moveTo(e-s,r-a),t.lineTo(e+s,r+a),t.moveTo(e+a,r-s),t.lineTo(e-a,r+s),_+=A,s=Math.cos(_)*f,a=Math.sin(_)*f,t.moveTo(e-s,r-a),t.lineTo(e+s,r+a),t.moveTo(e+a,r-s),t.lineTo(e-a,r+s);break;case"line":s=i?i/2:Math.cos(_)*f,a=Math.sin(_)*f,t.moveTo(e-s,r-a),t.lineTo(e+s,r+a);break;case"dash":t.moveTo(e,r),t.lineTo(e+Math.cos(_)*f,r+Math.sin(_)*f)}t.fill(),n.borderWidth>0&&t.stroke()}}function on(t,n,e){return e=e||.5,!n||t&&t.x>n.left-e&&t.xn.top-e&&t.y0&&""!==a.strokeColor;let l,h;for(t.save(),t.font=i.string,function(t,n){n.translation&&t.translate(n.translation[0],n.translation[1]),o(n.rotation)||t.rotate(n.rotation),n.color&&(t.fillStyle=n.color),n.textAlign&&(t.textAlign=n.textAlign),n.textBaseline&&(t.textBaseline=n.textBaseline)}(t,a),l=0;ll(t[e],t[n[e]]):n=>t[n]:()=>t;for(const t of i)e[t]=+o(t)||0;return e}function yn(t){return vn(t,{top:"y",right:"x",bottom:"y",left:"x"})}function mn(t){return vn(t,["topLeft","topRight","bottomLeft","bottomRight"])}function gn(t){const n=yn(t);return n.width=n.left+n.right,n.height=n.top+n.bottom,n}function $n(t,n){t=t||{},n=n||Xt.font;let e=l(t.size,n.size);"string"==typeof e&&(e=parseInt(e,10));let r=l(t.style,n.style);r&&!(""+r).match(_n)&&(console.warn('Invalid font style specified: "'+r+'"'),r="");const i={family:l(t.family,n.family),lineHeight:dn(l(t.lineHeight,n.lineHeight),e),size:e,style:r,weight:l(t.weight,n.weight),string:""};return i.string=function(t){return!t||o(t.size)||o(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}(i),i}function bn(t,n,e,r){let i,o,a,u=!0;for(i=0,o=t.length;it[0])){k(r)||(r=En("_fallback",t));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:e,_fallback:r,_getTarget:i,override:i=>xn([i,...t],n,e,r)};return new Proxy(o,{deleteProperty:(n,e)=>(delete n[e],delete n._keys,delete t[0][e],!0),get:(e,r)=>Sn(e,r,(()=>function(t,n,e,r){let i;for(const o of n)if(i=En(zn(o,t),e),k(i))return Cn(t,i)?Mn(e,r,t,i):i}(r,n,t,e))),getOwnPropertyDescriptor:(t,n)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],n),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,n)=>In(t).includes(n),ownKeys:t=>In(t),set(t,n,e){const r=t._storage||(t._storage=i());return t[n]=r[n]=e,delete t._keys,!0}})}function kn(t,n,e,r){const i={_cacheable:!1,_proxy:t,_context:n,_subProxy:e,_stack:new Set,_descriptors:jn(t,r),setContext:n=>kn(t,n,e,r),override:i=>kn(t.override(i),n,e,r)};return new Proxy(i,{deleteProperty:(n,e)=>(delete n[e],delete t[e],!0),get:(t,n,e)=>Sn(t,n,(()=>function(t,n,e){const{_proxy:r,_context:i,_subProxy:o,_descriptors:u}=t;let c=r[n];return j(c)&&u.isScriptable(n)&&(c=function(t,n,e,r){const{_proxy:i,_context:o,_subProxy:s,_stack:a}=e;if(a.has(t))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+t);return a.add(t),n=n(o,s||r),a.delete(t),Cn(t,n)&&(n=Mn(i._scopes,i,t,n)),n}(n,c,t,e)),s(c)&&c.length&&(c=function(t,n,e,r){const{_proxy:i,_context:o,_subProxy:s,_descriptors:u}=e;if(k(o.index)&&r(t))n=n[o.index%n.length];else if(a(n[0])){const e=n,r=i._scopes.filter((t=>t!==e));n=[];for(const a of e){const e=Mn(r,i,t,a);n.push(kn(e,o,s&&s[t],u))}}return n}(n,c,t,u.isIndexable)),Cn(n,c)&&(c=kn(c,i,o&&o[n],u)),c}(t,n,e))),getOwnPropertyDescriptor:(n,e)=>n._descriptors.allKeys?Reflect.has(t,e)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,e),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(n,e)=>Reflect.has(t,e),ownKeys:()=>Reflect.ownKeys(t),set:(n,e,r)=>(t[e]=r,delete n[e],!0)})}function jn(t,n={scriptable:!0,indexable:!0}){const{_scriptable:e=n.scriptable,_indexable:r=n.indexable,_allKeys:i=n.allKeys}=t;return{allKeys:i,scriptable:e,indexable:r,isScriptable:j(e)?e:()=>e,isIndexable:j(r)?r:()=>r}}const zn=(t,n)=>t?t+x(n):n,Cn=(t,n)=>a(n)&&"adapters"!==t&&(null===Object.getPrototypeOf(n)||n.constructor===Object);function Sn(t,n,e){if(Object.prototype.hasOwnProperty.call(t,n))return t[n];const r=e();return t[n]=r,r}function qn(t,n,e){return j(t)?t(n,e):t}const On=(t,n)=>!0===t?n:"string"==typeof t?w(n,t):void 0;function Pn(t,n,e,r,i){for(const o of n){const n=On(e,o);if(n){t.add(n);const o=qn(n._fallback,e,i);if(k(o)&&o!==e&&o!==r)return o}else if(!1===n&&k(r)&&e!==r)return null}return!1}function Mn(t,n,e,r){const i=n._rootScopes,o=qn(n._fallback,e,r),u=[...t,...i],c=new Set;c.add(r);let l=An(c,u,e,o||e,r);return null!==l&&(!k(o)||o===e||(l=An(c,u,o,l,r),null!==l))&&xn(Array.from(c),[""],i,o,(()=>function(t,n,e){const r=t._getTarget();n in r||(r[n]={});const i=r[n];return s(i)&&a(e)?e:i}(n,e,r)))}function An(t,n,e,r,i){for(;e;)e=Pn(t,n,e,r,i);return e}function En(t,n){for(const e of n){if(!e)continue;const n=e[t];if(k(n))return n}}function In(t){let n=t._keys;return n||(n=t._keys=function(t){const n=new Set;for(const e of t)for(const t of Object.keys(e).filter((t=>!t.startsWith("_"))))n.add(t);return Array.from(n)}(t._scopes)),n}function Dn(t,n,e,r){const{iScale:i}=t,{key:o="r"}=this._parsing,s=new Array(r);let a,u,c,l;for(a=0,u=r;an"x"===t?"y":"x";function Nn(t,n,e,r){const i=t.skip?n:t,o=n,s=e.skip?n:e,a=V(o,i),u=V(s,o);let c=a/(a+u),l=u/(a+u);c=isNaN(c)?0:c,l=isNaN(l)?0:l;const h=r*c,p=r*l;return{previous:{x:o.x-h*(s.x-i.x),y:o.y-h*(s.y-i.y)},next:{x:o.x+p*(s.x-i.x),y:o.y+p*(s.y-i.y)}}}function Rn(t,n,e){return Math.max(Math.min(t,e),n)}function Fn(t,n,e,r,i){let o,s,a,u;if(n.spanGaps&&(t=t.filter((t=>!t.skip))),"monotone"===n.cubicInterpolationMode)!function(t,n="x"){const e=Ln(n),r=t.length,i=Array(r).fill(0),o=Array(r);let s,a,u,c=Bn(t,0);for(s=0;swindow.getComputedStyle(t,null),Jn=["top","right","bottom","left"];function Kn(t,n,e){const r={};e=e?"-"+e:"";for(let i=0;i<4;i++){const o=Jn[i];r[o]=parseFloat(t[n+"-"+o+e])||0}return r.width=r.left+r.right,r.height=r.top+r.bottom,r}function Yn(t,n){if("native"in t)return t;const{canvas:e,currentDevicePixelRatio:r}=n,i=Wn(e),o="border-box"===i.boxSizing,s=Kn(i,"padding"),a=Kn(i,"border","width"),{x:u,y:c,box:l}=function(t,n){const e=t.touches,r=e&&e.length?e[0]:t,{offsetX:i,offsetY:o}=r;let s,a,u=!1;if(((t,n,e)=>(t>0||n>0)&&(!e||!e.shadowRoot))(i,o,t.target))s=i,a=o;else{const t=n.getBoundingClientRect();s=r.clientX-t.left,a=r.clientY-t.top,u=!0}return{x:s,y:a,box:u}}(t,e),h=s.left+(l&&a.left),p=s.top+(l&&a.top);let{width:f,height:_}=n;return o&&(f-=s.width+a.width,_-=s.height+a.height),{x:Math.round((u-h)/f*e.width/r),y:Math.round((c-p)/_*e.height/r)}}const Gn=t=>Math.round(10*t)/10;function Xn(t,n,e){const r=n||1,i=Math.floor(t.height*r),o=Math.floor(t.width*r);t.height=i/r,t.width=o/r;const s=t.canvas;return s.style&&(e||!s.style.height&&!s.style.width)&&(s.style.height=`${t.height}px`,s.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==r||s.height!==i||s.width!==o)&&(t.currentDevicePixelRatio=r,s.height=i,s.width=o,t.ctx.setTransform(r,0,0,r,0,0),!0)}const Zn=function(){let t=!1;try{const n={get passive(){return t=!0,!1}};window.addEventListener("test",null,n),window.removeEventListener("test",null,n)}catch(t){}return t}();function Qn(t,n){const e=function(t,n){return Wn(t).getPropertyValue(n)}(t,n),r=e&&e.match(/^(\d+)(\.\d+)?px$/);return r?+r[1]:void 0}function te(t,n,e,r){return{x:t.x+e*(n.x-t.x),y:t.y+e*(n.y-t.y)}}function ne(t,n,e,r){return{x:t.x+e*(n.x-t.x),y:"middle"===r?e<.5?t.y:n.y:"after"===r?e<1?t.y:n.y:e>0?n.y:t.y}}function ee(t,n,e,r){const i={x:t.cp2x,y:t.cp2y},o={x:n.cp1x,y:n.cp1y},s=te(t,i,e),a=te(i,o,e),u=te(o,n,e),c=te(s,a,e),l=te(a,u,e);return te(c,l,e)}const re=new Map;function ie(t,n,e){return function(t,n){n=n||{};const e=t+JSON.stringify(n);let r=re.get(e);return r||(r=new Intl.NumberFormat(t,n),re.set(e,r)),r}(n,e).format(t)}function oe(t,n,e){return t?function(t,n){return{x:e=>t+t+n-e,setWidth(t){n=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,n)=>t-n,leftForLtr:(t,n)=>t-n}}(n,e):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,n)=>t+n,leftForLtr:(t,n)=>t}}function se(t,n){let e,r;"ltr"!==n&&"rtl"!==n||(e=t.canvas.style,r=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",n,"important"),t.prevTextDirection=r)}function ae(t,n){void 0!==n&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",n[0],n[1]))}function ue(t){return"angle"===t?{between:K,compare:W,normalize:J}:{between:G,compare:(t,n)=>t-n,normalize:t=>t}}function ce({start:t,end:n,count:e,loop:r,style:i}){return{start:t%e,end:n%e,loop:r&&(n-t+1)%e==0,style:i}}function le(t,n,e){if(!e)return[t];const{property:r,start:i,end:o}=e,s=n.length,{compare:a,between:u,normalize:c}=ue(r),{start:l,end:h,loop:p,style:f}=function(t,n,e){const{property:r,start:i,end:o}=e,{between:s,normalize:a}=ue(r),u=n.length;let c,l,{start:h,end:p,loop:f}=t;if(f){for(h+=u,p+=u,c=0,l=u;cr({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(e-n.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=rt.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let n=0;this._charts.forEach(((e,r)=>{if(!e.running||!e.items.length)return;const i=e.items;let o,s=i.length-1,a=!1;for(;s>=0;--s)o=i[s],o._active?(o._total>e.duration&&(e.duration=o._total),o.tick(t),a=!0):(i[s]=i[i.length-1],i.pop());a&&(r.draw(),this._notify(r,e,t,"progress")),i.length||(e.running=!1,this._notify(r,e,t,"complete"),e.initial=!1),n+=i.length})),this._lastDate=t,0===n&&(this._running=!1)}_getAnims(t){const n=this._charts;let e=n.get(t);return e||(e={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,e)),e}listen(t,n,e){this._getAnims(t).listeners[n].push(e)}add(t,n){n&&n.length&&this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce(((t,n)=>Math.max(t,n._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!!(n&&n.running&&n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const e=n.items;let r=e.length-1;for(;r>=0;--r)e[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}};const de="transparent",ve={boolean:(t,n,e)=>e>.5?n:t,color(t,n,e){const r=Vt(t||de),i=r.valid&&Vt(n||de);return i&&i.valid?i.mix(r,e).hexString():n},number:(t,n,e)=>t+(n-t)*e};class ye{constructor(t,n,e,r){const i=n[e];r=bn([t.to,r,i,t.from]);const o=bn([t.from,i,r]);this._active=!0,this._fn=t.fn||ve[t.type||typeof o],this._easing=pt[t.easing]||pt.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=e,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,e){if(this._active){this._notify(!1);const r=this._target[this._prop],i=e-this._start,o=this._duration-i;this._start=e,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=i,this._loop=!!t.loop,this._to=bn([t.to,n,r,t.from]),this._from=bn([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,e=this._duration,r=this._prop,i=this._from,o=this._loop,s=this._to;let a;if(this._active=i!==s&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(i,s,a))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((n,e)=>{t.push({res:n,rej:e})}))}_notify(t){const n=t?"res":"rej",e=this._promises||[];for(let t=0;t"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),Xt.set("animations",{colors:{type:"color",properties:["color","borderColor","backgroundColor"]},numbers:{type:"number",properties:["x","y","borderWidth","radius","tension"]}}),Xt.describe("animations",{_fallback:"animation"}),Xt.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}});class ge{constructor(t,n){this._chart=t,this._properties=new Map,this.configure(n)}configure(t){if(!a(t))return;const n=this._properties;Object.getOwnPropertyNames(t).forEach((e=>{const r=t[e];if(!a(r))return;const i={};for(const t of me)i[t]=r[t];(s(r.properties)&&r.properties||[e]).forEach((t=>{t!==e&&n.has(t)||n.set(t,i)}))}))}_animateOptions(t,n){const e=n.options,r=function(t,n){if(!n)return;let e=t.options;if(e)return e.$shared&&(t.options=e=Object.assign({},e,{$shared:!1,$animations:{}})),e;t.options=n}(t,e);if(!r)return[];const i=this._createAnimations(r,e);return e.$shared&&function(t,n){const e=[],r=Object.keys(n);for(let n=0;n{t.options=e}),(()=>{})),i}_createAnimations(t,n){const e=this._properties,r=[],i=t.$animations||(t.$animations={}),o=Object.keys(n),s=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if("$"===u.charAt(0))continue;if("options"===u){r.push(...this._animateOptions(t,n));continue}const c=n[u];let l=i[u];const h=e.get(u);if(l){if(h&&l.active()){l.update(h,c,s);continue}l.cancel()}h&&h.duration?(i[u]=l=new ye(h,t,u,c),r.push(l)):t[u]=c}return r}update(t,n){if(0===this._properties.size)return void Object.assign(t,n);const e=this._createAnimations(t,n);return e.length?(_e.add(this._chart,e),!0):void 0}}function $e(t,n){const e=t&&t.options||{},r=e.reverse,i=void 0===e.min?n:0,o=void 0===e.max?n:0;return{start:r?o:i,end:r?i:o}}function be(t,n){const e=[],r=t._getSortedDatasetMetas(n);let i,o;for(i=0,o=r.length;i0||!e&&n<0)return i.index}return null}function ze(t,n){const{chart:e,_cachedMeta:r}=t,i=e._stacks||(e._stacks={}),{iScale:o,vScale:s,index:a}=r,u=o.axis,c=s.axis,l=function(t,n,e){return`${t.id}.${n.id}.${e.stack||e.type}`}(o,s,r),h=n.length;let p;for(let t=0;te[t].axis===n)).shift()}function Se(t,n){const e=t.controller.index,r=t.vScale&&t.vScale.axis;if(r){n=n||t._parsed;for(const t of n){const n=t._stacks;if(!n||void 0===n[r]||void 0===n[r][e])return;delete n[r][e]}}}const qe=t=>"reset"===t||"none"===t,Oe=(t,n)=>n?t:Object.assign({},t);class Pe{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=xe(t.vScale,t),this.addElements()}updateIndex(t){this.index!==t&&Se(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,e=this.getDataset(),r=(t,n,e,r)=>"x"===t?n:"r"===t?r:e,i=n.xAxisID=l(e.xAxisID,Ce(t,"x")),o=n.yAxisID=l(e.yAxisID,Ce(t,"y")),s=n.rAxisID=l(e.rAxisID,Ce(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,i,o,s),c=n.vAxisID=r(a,o,i,s);n.xScale=this.getScaleForId(i),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(s),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&nt(this._data,this),t._stacked&&Se(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),e=this._data;if(a(n))this._data=function(t){const n=Object.keys(t),e=new Array(n.length);let r,i,o;for(r=0,i=n.length;r{const n="_onData"+x(t),e=r[t];Object.defineProperty(r,t,{configurable:!0,enumerable:!1,value(...t){const i=e.apply(this,t);return r._chartjs.listeners.forEach((e=>{"function"==typeof e[n]&&e[n](...t)})),i}})})))),this._syncList=[],this._data=n}var r}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,e=this.getDataset();let r=!1;this._dataCheck();const i=n._stacked;n._stacked=xe(n.vScale,n),n.stack!==e.stack&&(r=!0,Se(n),n.stack=e.stack),this._resyncElements(t),(r||i!==n._stacked)&&ze(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),e=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(e,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:e,_data:r}=this,{iScale:i,_stacked:o}=e,u=i.axis;let c,l,h,p=0===t&&n===r.length||e._sorted,f=t>0&&e._parsed[t-1];if(!1===this._parsing)e._parsed=r,e._sorted=!0,h=r;else{h=s(r[t])?this.parseArrayData(e,r,t,n):a(r[t])?this.parseObjectData(e,r,t,n):this.parsePrimitiveData(e,r,t,n);const i=()=>null===l[u]||f&&l[u]t&&!n.hidden&&n._stacked&&{keys:be(e,!0),values:null})(n,e,this.chart),c={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:l,max:h}=function(t){const{min:n,max:e,minDefined:r,maxDefined:i}=t.getUserBounds();return{min:r?n:Number.NEGATIVE_INFINITY,max:i?e:Number.POSITIVE_INFINITY}}(s);let p,f;function _(){f=r[p];const n=f[s.axis];return!u(f[t.axis])||l>n||h=0;--p)if(!_()){this.updateRangeFromParsed(c,t,f,a);break}return c}getAllParsedValues(t){const n=this._cachedMeta._parsed,e=[];let r,i,o;for(r=0,i=n.length;r=0&&tthis.getContext(e,r)),l);return f.$shared&&(f.$shared=a,i[o]=Object.freeze(Oe(f,a))),f}_resolveAnimations(t,n,e){const r=this.chart,i=this._cachedDataOpts,o=`animation-${n}`,s=i[o];if(s)return s;let a;if(!1!==r.options.animation){const r=this.chart.config,i=r.datasetAnimationScopeKeys(this._type,n),o=r.getOptionScopes(this.getDataset(),i);a=r.createResolver(o,this.getContext(t,e,n))}const u=new ge(r,a&&a.animations);return a&&a._cacheable&&(i[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||qe(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const e=this.resolveDataElementOptions(t,n),r=this._sharedOptions,i=this.getSharedOptions(e),o=this.includeOptions(n,i)||i!==r;return this.updateSharedOptions(i,n,e),{sharedOptions:i,includeOptions:o}}updateElement(t,n,e,r){qe(r)?Object.assign(t,e):this._resolveAnimations(n,r).update(t,e)}updateSharedOptions(t,n,e){t&&!qe(n)&&this._resolveAnimations(void 0,n).update(t,e)}_setStyle(t,n,e,r){t.active=r;const i=this.getStyle(n,r);this._resolveAnimations(n,e,r).update(t,{options:!r&&this.getSharedOptions(i)||i})}removeHoverStyle(t,n,e){this._setStyle(t,e,"active",!1)}setHoverStyle(t,n,e){this._setStyle(t,e,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,e=this._cachedMeta.data;for(const[t,n,e]of this._syncList)this[t](n,e);this._syncList=[];const r=e.length,i=n.length,o=Math.min(i,r);o&&this.parse(0,o),i>r?this._insertElements(r,i-r,t):i{for(t.length+=n,s=t.length-1;s>=o;s--)t[s]=t[s-n]};for(a(i),s=t;st-n)))}return t._cache.$bar}(n,t.type);let r,i,o,s,a=n._length;const u=()=>{32767!==o&&-32768!==o&&(k(s)&&(a=Math.min(a,Math.abs(o-s)||a)),s=o)};for(r=0,i=e.length;rMath.abs(a)&&(u=a,c=s),n[e.axis]=c,n._custom={barStart:u,barEnd:c,start:i,end:o,min:s,max:a}}(t,n,e,r):n[e.axis]=e.parse(t,r),n}function Ee(t,n,e,r){const i=t.iScale,o=t.vScale,s=i.getLabels(),a=i===o,u=[];let c,l,h,p;for(c=e,l=e+r;ct.x,e="left",r="right"):(n=t.baset.controller.options.grouped)),i=e.options.stacked,s=[],a=t=>{const e=t.controller.getParsed(n),r=e&&e[t.vScale.axis];if(o(r)||isNaN(r))return!0};for(const e of r)if((void 0===n||!a(e))&&((!1===i||-1===s.indexOf(e.stack)||void 0===i&&void 0===e.stack)&&s.push(e.stack),e.index===t))break;return s.length||s.push(void 0),s}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,e){const r=this._getStacks(t,e),i=void 0!==n?r.indexOf(n):-1;return-1===i?r.length-1:i}_getRuler(){const t=this.options,n=this._cachedMeta,e=n.iScale,r=[];let i,o;for(i=0,o=n.data.length;i=e?1:-1)}(h,n,s)*i,p===s&&(v-=h/2);const t=n.getPixelForDecimal(0),e=n.getPixelForDecimal(1),r=Math.min(t,e),o=Math.max(t,e);v=Math.max(Math.min(v,o),r),l=v+h}if(v===n.getPixelForValue(s)){const t=D(h)*n.getLineWidthForValue(s)/2;v+=t,h-=t}return{size:h,base:v,head:l,center:l+h/2}}_calculateBarIndexPixels(t,n){const e=n.scale,r=this.options,i=r.skipNull,s=l(r.maxBarThickness,1/0);let a,u;if(n.grouped){const e=i?this._getStackCount(t):n.stackCount,c="flex"===r.barThickness?function(t,n,e,r){const i=n.pixels,o=i[t];let s=t>0?i[t-1]:null,a=t=0;--e)n=Math.max(n,t[e].size(this.resolveDataElementOptions(e))/2);return n>0&&n}getLabelAndValue(t){const n=this._cachedMeta,{xScale:e,yScale:r}=n,i=this.getParsed(t),o=e.getLabelForValue(i.x),s=r.getLabelForValue(i.y),a=i._custom;return{label:n.label,value:"("+o+", "+s+(a?", "+a:"")+")"}}update(t){const n=this._cachedMeta.data;this.updateElements(n,0,n.length,t)}updateElements(t,n,e,r){const i="reset"===r,{iScale:o,vScale:s}=this._cachedMeta,{sharedOptions:a,includeOptions:u}=this._getSharedOptions(n,r),c=o.axis,l=s.axis;for(let h=n;h""}}}};class Fe extends Pe{constructor(t,n){super(t,n),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,n){const e=this.getDataset().data,r=this._cachedMeta;if(!1===this._parsing)r._parsed=e;else{let i,o,s=t=>+e[t];if(a(e[t])){const{key:t="value"}=this._parsing;s=n=>+w(e[n],t)}for(i=t,o=t+n;iK(t,a,u,!0)?1:Math.max(n,n*e,r,r*e),_=(t,n,r)=>K(t,a,u,!0)?-1:Math.min(n,n*e,r,r*e),d=f(0,c,h),v=f(M,l,p),y=_(C,c,h),m=_(C+M,l,p);r=(d-y)/2,i=(v-m)/2,o=-(d+y)/2,s=-(v+m)/2}return{ratioX:r,ratioY:i,offsetX:o,offsetY:s}}(f,p,a),m=(e.width-o)/_,g=(e.height-o)/d,$=Math.max(Math.min(m,g)/2,0),b=h(this.options.radius,$),w=(b-Math.max(b*a,0))/this._getVisibleDatasetWeightTotal();this.offsetX=v*b,this.offsetY=y*b,r.total=this.calculateTotal(),this.outerRadius=b-w*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-w*l,0),this.updateElements(i,0,i.length,t)}_circumference(t,n){const e=this.options,r=this._cachedMeta,i=this._getCircumference();return n&&e.animation.animateRotate||!this.chart.getDataVisibility(t)||null===r._parsed[t]||r.data[t].hidden?0:this.calculateCircumference(r._parsed[t]*i/S)}updateElements(t,n,e,r){const i="reset"===r,o=this.chart,s=o.chartArea,a=o.options.animation,u=(s.left+s.right)/2,c=(s.top+s.bottom)/2,l=i&&a.animateScale,h=l?0:this.innerRadius,p=l?0:this.outerRadius,{sharedOptions:f,includeOptions:_}=this._getSharedOptions(n,r);let d,v=this._getRotation();for(d=0;d0&&!isNaN(t)?S*(Math.abs(t)/n):0}getLabelAndValue(t){const n=this._cachedMeta,e=this.chart,r=e.data.labels||[],i=ie(n._parsed[t],e.options.locale);return{label:r[t]||"",value:i}}getMaxBorderWidth(t){let n=0;const e=this.chart;let r,i,o,s,a;if(!t)for(r=0,i=e.data.datasets.length;r"spacing"!==t,_indexable:t=>"spacing"!==t},Fe.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:e}}=t.legend.options;return n.labels.map(((n,r)=>{const i=t.getDatasetMeta(0).controller.getStyle(r);return{text:n,fillStyle:i.backgroundColor,strokeStyle:i.borderColor,lineWidth:i.borderWidth,pointStyle:e,hidden:!t.getDataVisibility(r),index:r}}))}return[]}},onClick(t,n,e){e.chart.toggleDataVisibility(n.index),e.chart.update()}},tooltip:{callbacks:{title:()=>"",label(t){let n=t.label;const e=": "+t.formattedValue;return s(n)?(n=n.slice(),n[0]+=e):n+=e,n}}}}};class He extends Pe{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const n=this._cachedMeta,{dataset:e,data:r=[],_dataset:i}=n,o=this.chart._animationsDisabled;let{start:s,count:a}=at(n,r,o);this._drawStart=s,this._drawCount=a,ut(n)&&(s=0,a=r.length),e._chart=this.chart,e._datasetIndex=this.index,e._decimated=!!i._decimated,e.points=r;const u=this.resolveDatasetElementOptions(t);this.options.showLine||(u.borderWidth=0),u.segment=this.options.segment,this.updateElement(e,void 0,{animated:!o,options:u},t),this.updateElements(r,s,a,t)}updateElements(t,n,e,r){const i="reset"===r,{iScale:s,vScale:a,_stacked:u,_dataset:c}=this._cachedMeta,{sharedOptions:l,includeOptions:h}=this._getSharedOptions(n,r),p=s.axis,f=a.axis,{spanGaps:_,segment:d}=this.options,v=B(_)?_:Number.POSITIVE_INFINITY,y=this.chart._animationsDisabled||i||"none"===r;let m=n>0&&this.getParsed(n-1);for(let _=n;_0&&Math.abs(e[p]-m[p])>v,d&&(g.parsed=e,g.raw=c.data[_]),h&&(g.options=l||this.resolveDataElementOptions(_,n.active?"active":r)),y||this.updateElement(n,_,g,r),m=e}}getMaxOverflow(){const t=this._cachedMeta,n=t.dataset,e=n.options&&n.options.borderWidth||0,r=t.data||[];if(!r.length)return e;const i=r[0].size(this.resolveDataElementOptions(0)),o=r[r.length-1].size(this.resolveDataElementOptions(r.length-1));return Math.max(e,i,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}He.id="line",He.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1},He.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};class Ue extends Pe{constructor(t,n){super(t,n),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const n=this._cachedMeta,e=this.chart,r=e.data.labels||[],i=ie(n._parsed[t].r,e.options.locale);return{label:r[t]||"",value:i}}parseObjectData(t,n,e,r){return Dn.bind(this)(t,n,e,r)}update(t){const n=this._cachedMeta.data;this._updateRadius(),this.updateElements(n,0,n.length,t)}getMinMax(){const t=this._cachedMeta,n={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach(((t,e)=>{const r=this.getParsed(e).r;!isNaN(r)&&this.chart.getDataVisibility(e)&&(rn.max&&(n.max=r))})),n}_updateRadius(){const t=this.chart,n=t.chartArea,e=t.options,r=Math.min(n.right-n.left,n.bottom-n.top),i=Math.max(r/2,0),o=(i-Math.max(e.cutoutPercentage?i/100*e.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=i-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,n,e,r){const i="reset"===r,o=this.chart,s=o.options.animation,a=this._cachedMeta.rScale,u=a.xCenter,c=a.yCenter,l=a.getIndexAngle(0)-.5*C;let h,p=l;const f=360/this.countVisibleElements();for(h=0;h{!isNaN(this.getParsed(e).r)&&this.chart.getDataVisibility(e)&&n++})),n}_computeAngle(t,n,e){return this.chart.getDataVisibility(t)?R(this.resolveDataElementOptions(t,n).angle||e):0}}Ue.id="polarArea",Ue.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0},Ue.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:e}}=t.legend.options;return n.labels.map(((n,r)=>{const i=t.getDatasetMeta(0).controller.getStyle(r);return{text:n,fillStyle:i.backgroundColor,strokeStyle:i.borderColor,lineWidth:i.borderWidth,pointStyle:e,hidden:!t.getDataVisibility(r),index:r}}))}return[]}},onClick(t,n,e){e.chart.toggleDataVisibility(n.index),e.chart.update()}},tooltip:{callbacks:{title:()=>"",label:t=>t.chart.data.labels[t.dataIndex]+": "+t.formattedValue}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};class Ve extends Fe{}Ve.id="pie",Ve.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"};class We extends Pe{getLabelAndValue(t){const n=this._cachedMeta.vScale,e=this.getParsed(t);return{label:n.getLabels()[t],value:""+n.getLabelForValue(e[n.axis])}}parseObjectData(t,n,e,r){return Dn.bind(this)(t,n,e,r)}update(t){const n=this._cachedMeta,e=n.dataset,r=n.data||[],i=n.iScale.getLabels();if(e.points=r,"resize"!==t){const n=this.resolveDatasetElementOptions(t);this.options.showLine||(n.borderWidth=0);const o={_loop:!0,_fullLoop:i.length===r.length,options:n};this.updateElement(e,void 0,o,t)}this.updateElements(r,0,r.length,t)}updateElements(t,n,e,r){const i=this._cachedMeta.rScale,o="reset"===r;for(let s=n;s{r[t]=e[t]&&e[t].active()?e[t]._to:this[t]})),r}}Je.defaults={},Je.defaultRoutes=void 0;const Ke={values:t=>s(t)?t:""+t,numeric(t,n,e){if(0===t)return"0";const r=this.chart.options.locale;let i,o=t;if(e.length>1){const n=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(n<1e-4||n>1e15)&&(i="scientific"),o=function(t,n){let e=n.length>3?n[2].value-n[1].value:n[1].value-n[0].value;return Math.abs(e)>=1&&t!==Math.floor(t)&&(e=t-Math.floor(t)),e}(t,e)}const s=I(Math.abs(o)),a=Math.max(Math.min(-1*Math.floor(s),20),0),u={notation:i,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(u,this.options.ticks.format),ie(t,r,u)},logarithmic(t,n,e){if(0===t)return"0";const r=t/Math.pow(10,Math.floor(I(t)));return 1===r||2===r||5===r?Ke.numeric.call(this,t,n,e):""}};var Ye={formatters:Ke};function Ge(t,n,e,r,i){const o=l(r,0),s=Math.min(l(i,t.length),t.length);let a,u,c,h=0;for(e=Math.ceil(e),i&&(a=i-r,e=a/Math.floor(a/e)),c=o;c<0;)h++,c=Math.round(o+h*e);for(u=Math.max(o,0);un.lineWidth,tickColor:(t,n)=>n.color,offset:!1,borderDash:[],borderDashOffset:0,borderWidth:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ye.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),Xt.route("scale.ticks","color","","color"),Xt.route("scale.grid","color","","borderColor"),Xt.route("scale.grid","borderColor","","borderColor"),Xt.route("scale.title","color","","color"),Xt.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t}),Xt.describe("scales",{_fallback:"scale"}),Xt.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t});const Xe=(t,n,e)=>"top"===n||"left"===n?t[n]+e:t[n]-e;function Ze(t,n){const e=[],r=t.length/n,i=t.length;let o=0;for(;os+a)))return c}function tr(t){return t.drawTicks?t.tickLength:0}function nr(t,n){if(!t.display)return 0;const e=$n(t.font,n),r=gn(t.padding);return(s(t.text)?t.text.length:1)*e.lineHeight+r.height}function er(t,n,e){let r=ot(t);return(e&&"right"!==n||!e&&"right"===n)&&(r=(t=>"left"===t?"right":"right"===t?"left":t)(r)),r}class rr extends Je{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,n){return t}getUserBounds(){let{_userMin:t,_userMax:n,_suggestedMin:e,_suggestedMax:r}=this;return t=c(t,Number.POSITIVE_INFINITY),n=c(n,Number.NEGATIVE_INFINITY),e=c(e,Number.POSITIVE_INFINITY),r=c(r,Number.NEGATIVE_INFINITY),{min:c(t,e),max:c(n,r),minDefined:u(t),maxDefined:u(n)}}getMinMax(t){let n,{min:e,max:r,minDefined:i,maxDefined:o}=this.getUserBounds();if(i&&o)return{min:e,max:r};const s=this.getMatchingVisibleMetas();for(let a=0,u=s.length;ar?r:e,r=i&&e>r?e:r,{min:c(e,c(r,e)),max:c(r,c(e,r))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){p(this.options.beforeUpdate,[this])}update(t,n,e){const{beginAtZero:r,grace:i,ticks:s}=this.options,a=s.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=e=Object.assign({left:0,right:0,top:0,bottom:0},e),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+e.left+e.right:this.height+e.top+e.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=function(t,n,e){const{min:r,max:i}=t,o=h(n,(i-r)/2),s=(t,n)=>e&&0===t?0:t+n;return{min:s(r,-Math.abs(o)),max:s(i,o)}}(this,i,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const u=ar)return function(t,n,e,r){let i,o=0,s=e[0];for(r=Math.ceil(r),i=0;it-n)).pop(),n}(r);for(let t=0,n=o.length-1;ti)return n}return Math.max(i,1)}(i,n,r);if(s>0){let t,e;const r=s>1?Math.round((u-a)/(s-1)):null;for(Ge(n,c,l,o(r)?0:a-r,a),t=0,e=s-1;t=i||e<=1||!this.isHorizontal())return void(this.labelRotation=r);const c=this._getLabelSizes(),l=c.widest.width,h=c.highest.height,p=Y(this.chart.width-l,0,this.maxWidth);o=t.offset?this.maxWidth/e:p/(e-1),l+6>o&&(o=p/(e-(t.offset?.5:1)),s=this.maxHeight-tr(t.grid)-n.padding-nr(t.title,this.chart.options.font),a=Math.sqrt(l*l+h*h),u=F(Math.min(Math.asin(Y((c.highest.height+6)/o,-1,1)),Math.asin(Y(s/a,-1,1))-Math.asin(Y(h/a,-1,1)))),u=Math.max(r,Math.min(i,u))),this.labelRotation=u}afterCalculateLabelRotation(){p(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){p(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:e,title:r,grid:i}}=this,o=this._isVisible(),s=this.isHorizontal();if(o){const o=nr(r,n.options.font);if(s?(t.width=this.maxWidth,t.height=tr(i)+o):(t.height=this.maxHeight,t.width=tr(i)+o),e.display&&this.ticks.length){const{first:n,last:r,widest:i,highest:o}=this._getLabelSizes(),a=2*e.padding,u=R(this.labelRotation),c=Math.cos(u),l=Math.sin(u);if(s){const n=e.mirror?0:l*i.width+c*o.height;t.height=Math.min(this.maxHeight,t.height+n+a)}else{const n=e.mirror?0:c*i.width+l*o.height;t.width=Math.min(this.maxWidth,t.width+n+a)}this._calculatePadding(n,r,l,c)}}this._handleMargins(),s?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,e,r){const{ticks:{align:i,padding:o},position:s}=this.options,a=0!==this.labelRotation,u="top"!==s&&"x"===this.axis;if(this.isHorizontal()){const s=this.getPixelForTick(0)-this.left,c=this.right-this.getPixelForTick(this.ticks.length-1);let l=0,h=0;a?u?(l=r*t.width,h=e*n.height):(l=e*t.height,h=r*n.width):"start"===i?h=n.width:"end"===i?l=t.width:"inner"!==i&&(l=t.width/2,h=n.width/2),this.paddingLeft=Math.max((l-s+o)*this.width/(this.width-s),0),this.paddingRight=Math.max((h-c+o)*this.width/(this.width-c),0)}else{let e=n.height/2,r=t.height/2;"start"===i?(e=0,r=t.height):"end"===i&&(e=n.height,r=0),this.paddingTop=e+o,this.paddingBottom=r+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){p(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return"top"===n||"bottom"===n||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let n,e;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),n=0,e=t.length;n{const e=t.gc,r=e.length/2;let i;if(r>n){for(i=0;i({width:i[t]||0,height:a[t]||0});return{first:k(0),last:k(n-1),widest:k(w),highest:k(x),widths:i,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return Y(this._alignToPixels?tn(this.chart,n,0):n,-32768,32767)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&ts*r?s/e:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,e=this.chart,r=this.options,{grid:i,position:o}=r,s=i.offset,u=this.isHorizontal(),c=this.ticks.length+(s?1:0),h=tr(i),p=[],f=i.setContext(this.getContext()),_=f.drawBorder?f.borderWidth:0,d=_/2,v=function(t){return tn(e,t,_)};let y,m,g,$,b,w,x,k,j,z,C,S;if("top"===o)y=v(this.bottom),w=this.bottom-h,k=y-d,z=v(t.top)+d,S=t.bottom;else if("bottom"===o)y=v(this.top),z=t.top,S=v(t.bottom)-d,w=y+d,k=this.top+h;else if("left"===o)y=v(this.right),b=this.right-h,x=y-d,j=v(t.left)+d,C=t.right;else if("right"===o)y=v(this.left),j=t.left,C=v(t.right)-d,b=y+d,x=this.left+h;else if("x"===n){if("center"===o)y=v((t.top+t.bottom)/2+.5);else if(a(o)){const t=Object.keys(o)[0],n=o[t];y=v(this.chart.scales[t].getPixelForValue(n))}z=t.top,S=t.bottom,w=y+d,k=w+h}else if("y"===n){if("center"===o)y=v((t.left+t.right)/2);else if(a(o)){const t=Object.keys(o)[0],n=o[t];y=v(this.chart.scales[t].getPixelForValue(n))}b=y-d,x=b-h,j=t.left,C=t.right}const q=l(r.ticks.maxTicksLimit,c),O=Math.max(1,Math.ceil(c/q));for(m=0;mn.value===t));return e>=0?n.setContext(this.getContext(e)).lineWidth:0}drawGrid(t){const n=this.options.grid,e=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let i,o;const s=(t,n,r)=>{r.width&&r.color&&(e.save(),e.lineWidth=r.width,e.strokeStyle=r.color,e.setLineDash(r.borderDash||[]),e.lineDashOffset=r.borderDashOffset,e.beginPath(),e.moveTo(t.x,t.y),e.lineTo(n.x,n.y),e.stroke(),e.restore())};if(n.display)for(i=0,o=r.length;i{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:e+1,draw:()=>{this.drawBorder()}},{z:n,draw:t=>{this.drawLabels(t)}}]:[{z:n,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),e=this.axis+"AxisID",r=[];let i,o;for(i=0,o=n.length;i{const r=e.split("."),i=r.pop(),o=[t].concat(r).join("."),s=n[e].split("."),a=s.pop(),u=s.join(".");Xt.route(o,i,u,a)}))}(n,t.defaultRoutes),t.descriptors&&Xt.describe(n,t.descriptors)}(t,o,e),this.override&&Xt.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const n=this.items,e=t.id,r=this.scope;e in n&&delete n[e],r&&e in Xt[r]&&(delete Xt[r][e],this.override&&delete Jt[e])}}var or=new class{constructor(){this.controllers=new ir(Pe,"datasets",!0),this.elements=new ir(Je,"elements"),this.plugins=new ir(Object,"plugins"),this.scales=new ir(rr,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,e){[...n].forEach((n=>{const r=e||this._getRegistryForType(n);e||r.isForType(n)||r===this.plugins&&n.id?this._exec(t,r,n):f(n,(n=>{const r=e||this._getRegistryForType(n);this._exec(t,r,n)}))}))}_exec(t,n,e){const r=x(t);p(e["before"+r],[],e),n[t](e),p(e["after"+r],[],e)}_getRegistryForType(t){for(let n=0;n0&&this.getParsed(n-1);for(let l=n;l0&&Math.abs(e[f]-g[f])>y,v&&(d.parsed=e,d.raw=c.data[l]),p&&(d.options=h||this.resolveDataElementOptions(l,n.active?"active":r)),m||this.updateElement(n,l,d,r),g=e}this.updateSharedOptions(h,r,l)}getMaxOverflow(){const t=this._cachedMeta,n=t.data||[];if(!this.options.showLine){let t=0;for(let e=n.length-1;e>=0;--e)t=Math.max(t,n[e].size(this.resolveDataElementOptions(e))/2);return t>0&&t}const e=t.dataset,r=e.options&&e.options.borderWidth||0;if(!n.length)return r;const i=n[0].size(this.resolveDataElementOptions(0)),o=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(r,i,o)/2}}sr.id="scatter",sr.defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1},sr.overrides={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{title:()=>"",label:t=>"("+t.label+", "+t.formattedValue+")"}}},scales:{x:{type:"linear"},y:{type:"linear"}}};var ar=Object.freeze({__proto__:null,BarController:Ne,BubbleController:Re,DoughnutController:Fe,LineController:He,PolarAreaController:Ue,PieController:Ve,RadarController:We,ScatterController:sr});function ur(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class cr{constructor(t){this.options=t||{}}init(t){}formats(){return ur()}parse(t,n){return ur()}format(t,n){return ur()}add(t,n,e){return ur()}diff(t,n,e){return ur()}startOf(t,n,e){return ur()}endOf(t,n){return ur()}}cr.override=function(t){Object.assign(cr.prototype,t)};var lr={_date:cr};function hr(t,n,e,r){const{controller:i,data:o,_sorted:s}=t,a=i._cachedMeta.iScale;if(a&&n===a.axis&&"r"!==n&&s&&o.length){const t=a._reversePixels?Q:Z;if(!r)return t(o,n,e);if(i._sharedOptions){const r=o[0],i="function"==typeof r.getRange&&r.getRange(n);if(i){const r=t(o,n,e-i),s=t(o,n,e+i);return{lo:r.lo,hi:s.hi}}}}return{lo:0,hi:o.length-1}}function pr(t,n,e,r,i){const o=t.getSortedVisibleDatasetMetas(),s=e[n];for(let t=0,e=o.length;t{t[s](n[e],i)&&(o.push({element:t,datasetIndex:r,index:u}),a=a||t.inRange(n.x,n.y,i))})),r&&!a?[]:o}var vr={evaluateInteractionItems:pr,modes:{index(t,n,e,r){const i=Yn(n,t),o=e.axis||"x",s=e.includeInvisible||!1,a=e.intersect?fr(t,i,o,r,s):_r(t,i,o,!1,r,s),u=[];return a.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const n=a[0].index,e=t.data[n];e&&!e.skip&&u.push({element:e,datasetIndex:t.index,index:n})})),u):[]},dataset(t,n,e,r){const i=Yn(n,t),o=e.axis||"xy",s=e.includeInvisible||!1;let a=e.intersect?fr(t,i,o,r,s):_r(t,i,o,!1,r,s);if(a.length>0){const n=a[0].datasetIndex,e=t.getDatasetMeta(n).data;a=[];for(let t=0;tfr(t,Yn(n,t),e.axis||"xy",r,e.includeInvisible||!1),nearest(t,n,e,r){const i=Yn(n,t),o=e.axis||"xy",s=e.includeInvisible||!1;return _r(t,i,o,e.intersect,r,s)},x:(t,n,e,r)=>dr(t,Yn(n,t),"x",e.intersect,r),y:(t,n,e,r)=>dr(t,Yn(n,t),"y",e.intersect,r)}};const yr=["left","top","right","bottom"];function mr(t,n){return t.filter((t=>t.pos===n))}function gr(t,n){return t.filter((t=>-1===yr.indexOf(t.pos)&&t.box.axis===n))}function $r(t,n){return t.sort(((t,e)=>{const r=n?e:t,i=n?t:e;return r.weight===i.weight?r.index-i.index:r.weight-i.weight}))}function br(t,n,e,r){return Math.max(t[e],n[e])+Math.max(t[r],n[r])}function wr(t,n){t.top=Math.max(t.top,n.top),t.left=Math.max(t.left,n.left),t.bottom=Math.max(t.bottom,n.bottom),t.right=Math.max(t.right,n.right)}function xr(t,n,e,r){const{pos:i,box:o}=e,s=t.maxPadding;if(!a(i)){e.size&&(t[i]-=e.size);const n=r[e.stack]||{size:0,count:1};n.size=Math.max(n.size,e.horizontal?o.height:o.width),e.size=n.size/n.count,t[i]+=e.size}o.getPadding&&wr(s,o.getPadding());const u=Math.max(0,n.outerWidth-br(s,t,"left","right")),c=Math.max(0,n.outerHeight-br(s,t,"top","bottom")),l=u!==t.w,h=c!==t.h;return t.w=u,t.h=c,e.horizontal?{same:l,other:h}:{same:h,other:l}}function kr(t,n){const e=n.maxPadding;return function(t){const r={left:0,top:0,right:0,bottom:0};return t.forEach((t=>{r[t]=Math.max(n[t],e[t])})),r}(t?["left","right"]:["top","bottom"])}function jr(t,n,e,r){const i=[];let o,s,a,u,c,l;for(o=0,s=t.length,c=0;ot.box.fullSize)),!0),r=$r(mr(n,"left"),!0),i=$r(mr(n,"right")),o=$r(mr(n,"top"),!0),s=$r(mr(n,"bottom")),a=gr(n,"x"),u=gr(n,"y");return{fullSize:e,leftAndTop:r.concat(o),rightAndBottom:i.concat(u).concat(s).concat(a),chartArea:mr(n,"chartArea"),vertical:r.concat(i).concat(u),horizontal:o.concat(s).concat(a)}}(t.boxes),u=a.vertical,c=a.horizontal;f(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const l=u.reduce(((t,n)=>n.box.options&&!1===n.box.options.display?t:t+1),0)||1,h=Object.freeze({outerWidth:n,outerHeight:e,padding:i,availableWidth:o,availableHeight:s,vBoxMaxWidth:o/2/l,hBoxMaxHeight:s/2}),p=Object.assign({},i);wr(p,gn(r));const _=Object.assign({maxPadding:p,w:o,h:s,x:i.left,y:i.top},i),d=function(t,n){const e=function(t){const n={};for(const e of t){const{stack:t,pos:r,stackWeight:i}=e;if(!t||!yr.includes(r))continue;const o=n[t]||(n[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=i}return n}(t),{vBoxMaxWidth:r,hBoxMaxHeight:i}=n;let o,s,a;for(o=0,s=t.length;o{const e=n.box;Object.assign(e,t.chartArea),e.update(_.w,_.h,{left:0,top:0,right:0,bottom:0})}))}};class qr{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,e){}removeEventListener(t,n,e){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,e,r){return n=Math.max(0,n||t.width),e=e||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):e)}}isAttached(t){return!0}updateConfig(t){}}class Or extends qr{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const Pr={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Mr=t=>null===t||""===t,Ar=!!Zn&&{passive:!0};function Er(t,n,e){t.canvas.removeEventListener(n,e,Ar)}function Ir(t,n){for(const e of t)if(e===n||e.contains(n))return!0}function Dr(t,n,e){const r=t.canvas,i=new MutationObserver((t=>{let n=!1;for(const e of t)n=n||Ir(e.addedNodes,r),n=n&&!Ir(e.removedNodes,r);n&&e()}));return i.observe(document,{childList:!0,subtree:!0}),i}function Tr(t,n,e){const r=t.canvas,i=new MutationObserver((t=>{let n=!1;for(const e of t)n=n||Ir(e.removedNodes,r),n=n&&!Ir(e.addedNodes,r);n&&e()}));return i.observe(document,{childList:!0,subtree:!0}),i}const Br=new Map;let Lr=0;function Nr(){const t=window.devicePixelRatio;t!==Lr&&(Lr=t,Br.forEach(((n,e)=>{e.currentDevicePixelRatio!==t&&n()})))}function Rr(t,n,e){const r=t.canvas,i=r&&Un(r);if(!i)return;const o=it(((t,n)=>{const r=i.clientWidth;e(t,n),r{const n=t[0],e=n.contentRect.width,r=n.contentRect.height;0===e&&0===r||o(e,r)}));return s.observe(i),function(t,n){Br.size||window.addEventListener("resize",Nr),Br.set(t,n)}(t,o),s}function Fr(t,n,e){e&&e.disconnect(),"resize"===n&&function(t){Br.delete(t),Br.size||window.removeEventListener("resize",Nr)}(t)}function Hr(t,n,e){const r=t.canvas,i=it((n=>{null!==t.ctx&&e(function(t,n){const e=Pr[t.type]||t.type,{x:r,y:i}=Yn(t,n);return{type:e,chart:n,native:t,x:void 0!==r?r:null,y:void 0!==i?i:null}}(n,t))}),t,(t=>{const n=t[0];return[n,n.offsetX,n.offsetY]}));return function(t,n,e){t.addEventListener(n,e,Ar)}(r,n,i),i}class Ur extends qr{acquireContext(t,n){const e=t&&t.getContext&&t.getContext("2d");return e&&e.canvas===t?(function(t,n){const e=t.style,r=t.getAttribute("height"),i=t.getAttribute("width");if(t.$chartjs={initial:{height:r,width:i,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",Mr(i)){const n=Qn(t,"width");void 0!==n&&(t.width=n)}if(Mr(r))if(""===t.style.height)t.height=t.width/(n||2);else{const n=Qn(t,"height");void 0!==n&&(t.height=n)}}(t,n),e):null}releaseContext(t){const n=t.canvas;if(!n.$chartjs)return!1;const e=n.$chartjs.initial;["height","width"].forEach((t=>{const r=e[t];o(r)?n.removeAttribute(t):n.setAttribute(t,r)}));const r=e.style||{};return Object.keys(r).forEach((t=>{n.style[t]=r[t]})),n.width=n.width,delete n.$chartjs,!0}addEventListener(t,n,e){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),i={attach:Dr,detach:Tr,resize:Rr}[n]||Hr;r[n]=i(t,n,e)}removeEventListener(t,n){const e=t.$proxies||(t.$proxies={}),r=e[n];r&&(({attach:Fr,detach:Fr,resize:Fr}[n]||Er)(t,n,r),e[n]=void 0)}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,e,r){return function(t,n,e,r){const i=Wn(t),o=Kn(i,"margin"),s=Vn(i.maxWidth,t,"clientWidth")||O,a=Vn(i.maxHeight,t,"clientHeight")||O,u=function(t,n,e){let r,i;if(void 0===n||void 0===e){const o=Un(t);if(o){const t=o.getBoundingClientRect(),s=Wn(o),a=Kn(s,"border","width"),u=Kn(s,"padding");n=t.width-u.width-a.width,e=t.height-u.height-a.height,r=Vn(s.maxWidth,o,"clientWidth"),i=Vn(s.maxHeight,o,"clientHeight")}else n=t.clientWidth,e=t.clientHeight}return{width:n,height:e,maxWidth:r||O,maxHeight:i||O}}(t,n,e);let{width:c,height:l}=u;if("content-box"===i.boxSizing){const t=Kn(i,"border","width"),n=Kn(i,"padding");c-=n.width+t.width,l-=n.height+t.height}return c=Math.max(0,c-o.width),l=Math.max(0,r?Math.floor(c/r):l-o.height),c=Gn(Math.min(c,s,u.maxWidth)),l=Gn(Math.min(l,a,u.maxHeight)),c&&!l&&(l=Gn(c/2)),{width:c,height:l}}(t,n,e,r)}isAttached(t){const n=Un(t);return!(!n||!n.isConnected)}}function Vr(t){return!Hn()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?Or:Ur}class Wr{constructor(){this._init=[]}notify(t,n,e,r){"beforeInit"===n&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const i=r?this._descriptors(t).filter(r):this._descriptors(t),o=this._notify(i,t,n,e);return"afterDestroy"===n&&(this._notify(i,t,"stop"),this._notify(this._init,t,"uninstall")),o}_notify(t,n,e,r){r=r||{};for(const i of t){const t=i.plugin;if(!1===p(t[e],[n,r,i.options],t)&&r.cancelable)return!1}return!0}invalidate(){o(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const n=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),n}_createDescriptors(t,n){const e=t&&t.config,r=l(e.options&&e.options.plugins,{}),i=function(t){const n={},e=[],r=Object.keys(or.plugins.items);for(let t=0;tt.filter((t=>!n.some((n=>t.plugin.id===n.plugin.id))));this._notify(r(n,e),t,"stop"),this._notify(r(e,n),t,"start")}}function Jr(t,n){return n||!1!==t?!0===t?{}:t:null}function Kr(t,{plugin:n,local:e},r,i){const o=t.pluginScopeKeys(n),s=t.getOptionScopes(r,o);return e&&n.defaults&&s.push(n.defaults),t.createResolver(s,i,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function Yr(t,n){const e=Xt.datasets[t]||{};return((n.datasets||{})[t]||{}).indexAxis||n.indexAxis||e.indexAxis||"x"}function Gr(t,n){return"x"===t||"y"===t?t:n.axis||("top"===(e=n.position)||"bottom"===e?"x":"left"===e||"right"===e?"y":void 0)||t.charAt(0).toLowerCase();var e}function Xr(t){const n=t.options||(t.options={});n.plugins=l(n.plugins,{}),n.scales=function(t,n){const e=Jt[t.type]||{scales:{}},r=n.scales||{},i=Yr(t.type,n),o=Object.create(null),s=Object.create(null);return Object.keys(r).forEach((t=>{const n=r[t];if(!a(n))return console.error(`Invalid scale configuration for scale: ${t}`);if(n._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);const u=Gr(t,n),c=function(t,n){return t===n?"_index_":"_value_"}(u,i),l=e.scales||{};o[u]=o[u]||t,s[t]=g(Object.create(null),[{axis:u},n,l[u],l[c]])})),t.data.datasets.forEach((e=>{const i=e.type||t.type,a=e.indexAxis||Yr(i,n),u=(Jt[i]||{}).scales||{};Object.keys(u).forEach((t=>{const n=function(t,n){let e=t;return"_index_"===t?e=n:"_value_"===t&&(e="x"===n?"y":"x"),e}(t,a),i=e[n+"AxisID"]||o[n]||n;s[i]=s[i]||Object.create(null),g(s[i],[{axis:n},r[i],u[t]])}))})),Object.keys(s).forEach((t=>{const n=s[t];g(n,[Xt.scales[n.type],Xt.scale])})),s}(t,n)}function Zr(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const Qr=new Map,ti=new Set;function ni(t,n){let e=Qr.get(t);return e||(e=n(),Qr.set(t,e),ti.add(e)),e}const ei=(t,n,e)=>{const r=w(n,e);void 0!==r&&t.add(r)};class ri{constructor(t){this._config=function(t){return(t=t||{}).data=Zr(t.data),Xr(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Zr(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Xr(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return ni(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,n){return ni(`${t}.transition.${n}`,(()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,n){return ni(`${t}-${n}`,(()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]]))}pluginScopeKeys(t){const n=t.id;return ni(`${this.type}-plugin-${n}`,(()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,n){const e=this._scopeCache;let r=e.get(t);return r&&!n||(r=new Map,e.set(t,r)),r}getOptionScopes(t,n,e){const{options:r,type:i}=this,o=this._cachedScopes(t,e),s=o.get(n);if(s)return s;const a=new Set;n.forEach((n=>{t&&(a.add(t),n.forEach((n=>ei(a,t,n)))),n.forEach((t=>ei(a,r,t))),n.forEach((t=>ei(a,Jt[i]||{},t))),n.forEach((t=>ei(a,Xt,t))),n.forEach((t=>ei(a,Kt,t)))}));const u=Array.from(a);return 0===u.length&&u.push(Object.create(null)),ti.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Jt[n]||{},Xt.datasets[n]||{},{type:n},Xt,Kt]}resolveNamedOptions(t,n,e,r=[""]){const i={$shared:!0},{resolver:o,subPrefixes:a}=ii(this._resolverCache,t,r);let u=o;(function(t,n){const{isScriptable:e,isIndexable:r}=jn(t);for(const i of n){const n=e(i),o=r(i),a=(o||n)&&t[i];if(n&&(j(a)||oi(a))||o&&s(a))return!0}return!1})(o,n)&&(i.$shared=!1,u=kn(o,e=j(e)?e():e,this.createResolver(t,e,a)));for(const t of n)i[t]=u[t];return i}createResolver(t,n,e=[""],r){const{resolver:i}=ii(this._resolverCache,t,e);return a(n)?kn(i,n,void 0,r):i}}function ii(t,n,e){let r=t.get(n);r||(r=new Map,t.set(n,r));const i=e.join();let o=r.get(i);return o||(o={resolver:xn(n,e),subPrefixes:e.filter((t=>!t.toLowerCase().includes("hover")))},r.set(i,o)),o}const oi=t=>a(t)&&Object.getOwnPropertyNames(t).reduce(((n,e)=>n||j(t[e])),!1),si=["top","bottom","left","right","chartArea"];function ai(t,n){return"top"===t||"bottom"===t||-1===si.indexOf(t)&&"x"===n}function ui(t,n){return function(e,r){return e[t]===r[t]?e[n]-r[n]:e[t]-r[t]}}function ci(t){const n=t.chart,e=n.options.animation;n.notifyPlugins("afterRender"),p(e&&e.onComplete,[t],n)}function li(t){const n=t.chart,e=n.options.animation;p(e&&e.onProgress,[t],n)}function hi(t){return Hn()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const pi={},fi=t=>{const n=hi(t);return Object.values(pi).filter((t=>t.canvas===n)).pop()};function _i(t,n,e){const r=Object.keys(t);for(const i of r){const r=+i;if(r>=n){const o=t[i];delete t[i],(e>0||r>n)&&(t[r+e]=o)}}}class di{constructor(t,n){const e=this.config=new ri(n),r=hi(t),o=fi(r);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const s=e.createResolver(e.chartOptionScopes(),this.getContext());this.platform=new(e.platform||Vr(r)),this.platform.updateConfig(e);const a=this.platform.acquireContext(r,s.aspectRatio),u=a&&a.canvas,c=u&&u.height,l=u&&u.width;this.id=i(),this.ctx=a,this.canvas=u,this.width=l,this.height=c,this._options=s,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Wr,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=function(t,n){let e;return function(...r){return n?(clearTimeout(e),e=setTimeout(t,n,r)):t.apply(this,r),n}}((t=>this.update(t)),s.resizeDelay||0),this._dataChanges=[],pi[this.id]=this,a&&u?(_e.listen(this,"complete",ci),_e.listen(this,"progress",li),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:e,height:r,_aspectRatio:i}=this;return o(t)?n&&i?i:r?e/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Xn(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return nn(this.canvas,this.ctx),this}stop(){return _e.stop(this),this}resize(t,n){_e.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const e=this.options,r=this.canvas,i=e.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,i),s=e.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Xn(this,s,!0)&&(this.notifyPlugins("resize",{size:o}),p(e.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){f(this.options.scales||{},((t,n)=>{t.id=n}))}buildOrUpdateScales(){const t=this.options,n=t.scales,e=this.scales,r=Object.keys(e).reduce(((t,n)=>(t[n]=!1,t)),{});let i=[];n&&(i=i.concat(Object.keys(n).map((t=>{const e=n[t],r=Gr(t,e),i="r"===r,o="x"===r;return{options:e,dposition:i?"chartArea":o?"bottom":"left",dtype:i?"radialLinear":o?"category":"linear"}})))),f(i,(n=>{const i=n.options,o=i.id,s=Gr(o,i),a=l(i.type,n.dtype);void 0!==i.position&&ai(i.position,s)===ai(n.dposition)||(i.position=n.dposition),r[o]=!0;let u=null;o in e&&e[o].type===a?u=e[o]:(u=new(or.getScale(a))({id:o,type:a,ctx:this.ctx,chart:this}),e[u.id]=u),u.init(i,t)})),f(r,((t,n)=>{t||delete e[n]})),f(e,(t=>{Sr.configure(this,t,t.options),Sr.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,e=t.length;if(t.sort(((t,n)=>t.index-n.index)),e>n){for(let t=n;tn.length&&delete this._stacks,t.forEach(((t,e)=>{0===n.filter((n=>n===t._dataset)).length&&this._destroyDatasetMeta(e)}))}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let e,r;for(this._removeUnreferencedMetasets(),e=0,r=n.length;e{this.getDatasetMeta(n).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const e=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!e.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const i=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let t=0,n=this.data.datasets.length;t{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(ui("z","_idx"));const{_active:s,_lastEvent:a}=this;a?this._eventHandler(a,!0):s.length&&this._updateHoverStyles(s,s,!0),this.render()}_updateScales(){f(this.scales,(t=>{Sr.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),e=new Set(t.events);z(n,e)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:e,start:r,count:i}of n)_i(t,r,"_removeElements"===e?-i:i)}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,e=n=>new Set(t.filter((t=>t[0]===n)).map(((t,n)=>n+","+t.splice(1).join(",")))),r=e(0);for(let t=1;tt.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;Sr.update(this,this.width,this.height,t);const n=this.chartArea,e=n.width<=0||n.height<=0;this._layers=[],f(this.boxes,(t=>{e&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,n)=>{t._idx=n})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,n=this.data.datasets.length;t=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,e=t._clip,r=!e.disabled,i=this.chartArea,o={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",o)&&(r&&sn(n,{left:!1===e.left?0:i.left-e.left,right:!1===e.right?this.width:i.right+e.right,top:!1===e.top?0:i.top-e.top,bottom:!1===e.bottom?this.height:i.bottom+e.bottom}),t.controller.draw(),r&&an(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return on(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,e,r){const i=vr.modes[n];return"function"==typeof i?i(this,t,e,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],e=this._metasets;let r=e.filter((t=>t&&t._dataset===n)).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},e.push(r)),r}getContext(){return this.$context||(this.$context=wn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const e=this.getDatasetMeta(t);return"boolean"==typeof e.hidden?!e.hidden:!n.hidden}setDatasetVisibility(t,n){this.getDatasetMeta(t).hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,e){const r=e?"show":"hide",i=this.getDatasetMeta(t),o=i.controller._resolveAnimations(void 0,r);k(n)?(i.data[n].hidden=!e,this.update()):(this.setDatasetVisibility(t,e),o.update(i,{visible:e}),this.update((n=>n.datasetIndex===t?r:void 0)))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),_e.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,e,r),t[e]=r},r=(t,n,e)=>{t.offsetX=n,t.offsetY=e,this._eventHandler(t)};f(this.options.events,(t=>e(t,r)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,e=(e,r)=>{n.addEventListener(this,e,r),t[e]=r},r=(e,r)=>{t[e]&&(n.removeEventListener(this,e,r),delete t[e])},i=(t,n)=>{this.canvas&&this.resize(t,n)};let o;const s=()=>{r("attach",s),this.attached=!0,this.resize(),e("resize",i),e("detach",o)};o=()=>{this.attached=!1,r("resize",i),this._stop(),this._resize(0,0),e("attach",s)},n.isAttached(this.canvas)?s():o()}unbindEvents(){f(this._listeners,((t,n)=>{this.platform.removeEventListener(this,n,t)})),this._listeners={},f(this._responsiveListeners,((t,n)=>{this.platform.removeEventListener(this,n,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,n,e){const r=e?"set":"remove";let i,o,s,a;for("dataset"===n&&(i=this.getDatasetMeta(t[0].datasetIndex),i.controller["_"+r+"DatasetHoverStyle"]()),s=0,a=t.length;s{const e=this.getDatasetMeta(t);if(!e)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:e.data[n],index:n}}));!_(e,n)&&(this._active=e,this._lastEvent=null,this._updateHoverStyles(e,n))}notifyPlugins(t,n,e){return this._plugins.notify(this,t,n,e)}_updateHoverStyles(t,n,e){const r=this.options.hover,i=(t,n)=>t.filter((t=>!n.some((n=>t.datasetIndex===n.datasetIndex&&t.index===n.index)))),o=i(n,t),s=e?t:i(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),s.length&&r.mode&&this.updateHoverStyle(s,r.mode,!0)}_eventHandler(t,n){const e={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=n=>(n.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",e,r))return;const i=this._handleEvent(t,n,e.inChartArea);return e.cancelable=!1,this.notifyPlugins("afterEvent",e,r),(i||e.changed)&&this.render(),this}_handleEvent(t,n,e){const{_active:r=[],options:i}=this,o=n,s=this._getActiveElements(t,r,e,o),a=function(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}(t),u=function(t,n,e,r){return e&&"mouseout"!==t.type?r?n:t:null}(t,this._lastEvent,e,a);e&&(this._lastEvent=null,p(i.onHover,[t,s,this],this),a&&p(i.onClick,[t,s,this],this));const c=!_(s,r);return(c||n)&&(this._active=s,this._updateHoverStyles(s,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,e,r){if("mouseout"===t.type)return[];if(!e)return n;const i=this.options.hover;return this.getElementsAtEventForMode(t,i.mode,i,r)}}const vi=()=>f(di.instances,(t=>t._plugins.invalidate())),yi=!0;function mi(t,n,e){const{startAngle:r,pixelMargin:i,x:o,y:s,outerRadius:a,innerRadius:u}=n;let c=i/a;t.beginPath(),t.arc(o,s,a,r-c,e+c),u>i?(c=i/u,t.arc(o,s,u,e+c,r-c,!0)):t.arc(o,s,i,e+M,r-M),t.closePath(),t.clip()}function gi(t,n,e,r){return{x:e+t*Math.cos(n),y:r+t*Math.sin(n)}}function $i(t,n,e,r,i,o){const{x:s,y:a,startAngle:u,pixelMargin:c,innerRadius:l}=n,h=Math.max(n.outerRadius+r+e-c,0),p=l>0?l+r+e+c:0;let f=0;const _=i-u;if(r){const t=((l>0?l-r:0)+(h>0?h-r:0))/2;f=(_-(0!==t?_*t/(t+r):_))/2}const d=(_-Math.max(.001,_*h-e/C)/h)/2,v=u+d+f,y=i-d-f,{outerStart:m,outerEnd:g,innerStart:$,innerEnd:b}=function(t,n,e,r){const i=vn(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]),o=(e-n)/2,s=Math.min(o,r*n/2),a=t=>{const n=(e-Math.min(o,t))*r/2;return Y(t,0,Math.min(o,n))};return{outerStart:a(i.outerStart),outerEnd:a(i.outerEnd),innerStart:Y(i.innerStart,0,s),innerEnd:Y(i.innerEnd,0,s)}}(n,p,h,y-v),w=h-m,x=h-g,k=v+m/w,j=y-g/x,z=p+$,S=p+b,q=v+$/z,O=y-b/S;if(t.beginPath(),o){if(t.arc(s,a,h,k,j),g>0){const n=gi(x,j,s,a);t.arc(n.x,n.y,g,j,y+M)}const n=gi(S,y,s,a);if(t.lineTo(n.x,n.y),b>0){const n=gi(S,O,s,a);t.arc(n.x,n.y,b,y+M,O+Math.PI)}if(t.arc(s,a,p,y-b/p,v+$/p,!0),$>0){const n=gi(z,q,s,a);t.arc(n.x,n.y,$,q+Math.PI,v-M)}const e=gi(w,v,s,a);if(t.lineTo(e.x,e.y),m>0){const n=gi(w,k,s,a);t.arc(n.x,n.y,m,v-M,k)}}else{t.moveTo(s,a);const n=Math.cos(k)*h+s,e=Math.sin(k)*h+a;t.lineTo(n,e);const r=Math.cos(j)*h+s,i=Math.sin(j)*h+a;t.lineTo(r,i)}t.closePath()}Object.defineProperties(di,{defaults:{enumerable:yi,value:Xt},instances:{enumerable:yi,value:pi},overrides:{enumerable:yi,value:Jt},registry:{enumerable:yi,value:or},version:{enumerable:yi,value:"3.9.1"},getChart:{enumerable:yi,value:fi},register:{enumerable:yi,value:(...t)=>{or.add(...t),vi()}},unregister:{enumerable:yi,value:(...t)=>{or.remove(...t),vi()}}});class bi extends Je{constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,n,e){const r=this.getProps(["x","y"],e),{angle:i,distance:o}=U(r,{x:t,y:n}),{startAngle:s,endAngle:a,innerRadius:u,outerRadius:c,circumference:h}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],e),p=this.options.spacing/2,f=l(h,a-s)>=S||K(i,s,a),_=G(o,u+p,c+p);return f&&_}getCenterPoint(t){const{x:n,y:e,startAngle:r,endAngle:i,innerRadius:o,outerRadius:s}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],t),{offset:a,spacing:u}=this.options,c=(r+i)/2,l=(o+s+u+a)/2;return{x:n+Math.cos(c)*l,y:e+Math.sin(c)*l}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:n,circumference:e}=this,r=(n.offset||0)/2,i=(n.spacing||0)/2,o=n.circular;if(this.pixelMargin="inner"===n.borderAlign?.33:0,this.fullCircles=e>S?Math.floor(e/S):0,0===e||this.innerRadius<0||this.outerRadius<0)return;t.save();let s=0;if(r){s=r/2;const n=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(n)*s,Math.sin(n)*s),this.circumference>=C&&(s=r)}t.fillStyle=n.backgroundColor,t.strokeStyle=n.borderColor;const a=function(t,n,e,r,i){const{fullCircles:o,startAngle:s,circumference:a}=n;let u=n.endAngle;if(o){$i(t,n,e,r,s+S,i);for(let n=0;na&&o>a;return{count:r,start:u,loop:n.loop,ilen:c(s+(c?a-t:t))%o,g=()=>{f!==_&&(t.lineTo(v,_),t.lineTo(v,f),t.lineTo(v,d))};for(u&&(h=i[m(0)],t.moveTo(h.x,h.y)),l=0;l<=a;++l){if(h=i[m(l)],h.skip)continue;const n=h.x,e=h.y,r=0|n;r===p?(e_&&(_=e),v=(y*v+n)/++y):(g(),t.lineTo(n,e),p=r,y=0,f=_=e),d=e}g()}function Ci(t){const n=t.options,e=n.borderDash&&n.borderDash.length;return t._decimated||t._loop||n.tension||"monotone"===n.cubicInterpolationMode||n.stepped||e?ji:zi}bi.id="arc",bi.defaults={borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0},bi.defaultRoutes={backgroundColor:"backgroundColor"};const Si="function"==typeof Path2D;class qi extends Je{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,n){const e=this.options;if((e.tension||"monotone"===e.cubicInterpolationMode)&&!e.stepped&&!this._pointsUpdated){const r=e.spanGaps?this._loop:this._fullLoop;Fn(this._points,e,t,r,n),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=function(t,n){const e=t.points,r=t.options.spanGaps,i=e.length;if(!i)return[];const o=!!t._loop,{start:s,end:a}=function(t,n,e,r){let i=0,o=n-1;if(e&&!r)for(;ii&&t[o%n].skip;)o--;return o%=n,{start:i,end:o}}(e,i,o,r);return function(t,n,e,r){return r&&r.setContext&&e?function(t,n,e,r){const i=t._chart.getContext(),o=pe(t.options),{_datasetIndex:s,options:{spanGaps:a}}=t,u=e.length,c=[];let l=o,h=n[0].start,p=h;function f(t,n,r,i){const o=a?-1:1;if(t!==n){for(t+=u;e[t%u].skip;)t-=o;for(;e[n%u].skip;)n+=o;t%u!=n%u&&(c.push({start:t%u,end:n%u,loop:r,style:i}),l=i,h=n%u)}}for(const t of n){h=a?h:t.start;let n,o=e[h%u];for(p=h+1;p<=t.end;p++){const a=e[p%u];n=pe(r.setContext(wn(i,{type:"segment",p0:o,p1:a,p0DataIndex:(p-1)%u,p1DataIndex:p%u,datasetIndex:s}))),fe(n,l)&&f(h,p-1,t.loop,l),o=a,l=n}h"borderDash"!==t&&"fill"!==t};class Pi extends Je{constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,n,e){const r=this.options,{x:i,y:o}=this.getProps(["x","y"],e);return Math.pow(t-i,2)+Math.pow(n-o,2){Li(t)}))}var Ri={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,n,e)=>{if(!e.enabled)return void Ni(t);const r=t.width;t.data.datasets.forEach(((n,i)=>{const{_data:s,indexAxis:a}=n,u=t.getDatasetMeta(i),c=s||n.data;if("y"===bn([a,t.options.indexAxis]))return;if(!u.controller.supportsDecimation)return;const l=t.scales[u.xAxisID];if("linear"!==l.type&&"time"!==l.type)return;if(t.options.parsing)return;let h,{start:p,count:f}=function(t,n){const e=n.length;let r,i=0;const{iScale:o}=t,{min:s,max:a,minDefined:u,maxDefined:c}=o.getUserBounds();return u&&(i=Y(Z(n,o.axis,s).lo,0,e-1)),r=c?Y(Z(n,o.axis,a).hi+1,i,e)-i:e-i,{start:i,count:r}}(u,c);if(f<=(e.threshold||4*r))Li(n);else{switch(o(s)&&(n._data=c,delete n.data,Object.defineProperty(n,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),e.algorithm){case"lttb":h=function(t,n,e,r,i){const o=i.samples||r;if(o>=e)return t.slice(n,n+e);const s=[],a=(e-2)/(o-2);let u=0;const c=n+e-1;let l,h,p,f,_,d=n;for(s[u++]=t[d],l=0;lp&&(p=f,h=t[r],_=r);s[u++]=h,d=_}return s[u++]=t[c],s}(c,p,f,r,e);break;case"min-max":h=function(t,n,e,r){let i,s,a,u,c,l,h,p,f,_,d=0,v=0;const y=[],m=n+e-1,g=t[n].x,$=t[m].x-g;for(i=n;i_&&(_=u,h=i),d=(v*d+s.x)/++v;else{const e=i-1;if(!o(l)&&!o(h)){const n=Math.min(l,h),r=Math.max(l,h);n!==p&&n!==e&&y.push({...t[n],x:d}),r!==p&&r!==e&&y.push({...t[r],x:d})}i>0&&e!==p&&y.push(t[e]),y.push(s),c=n,v=0,f=_=u,l=h=p=i}}return y}(c,p,f,r);break;default:throw new Error(`Unsupported decimation algorithm '${e.algorithm}'`)}n._decimated=h}}))},destroy(t){Ni(t)}};function Fi(t,n,e,r){if(r)return;let i=n[t],o=e[t];return"angle"===t&&(i=J(i),o=J(o)),{property:t,start:i,end:o}}function Hi(t,n,e){for(;n>t;n--){const t=e[n];if(!isNaN(t.x)&&!isNaN(t.y))break}return n}function Ui(t,n,e,r){return t&&n?r(t[e],n[e]):t?t[e]:n?n[e]:0}function Vi(t,n){let e=[],r=!1;return s(t)?(r=!0,e=t):e=function(t,n){const{x:e=null,y:r=null}=t||{},i=n.points,o=[];return n.segments.forEach((({start:t,end:n})=>{n=Hi(t,n,i);const s=i[t],a=i[n];null!==r?(o.push({x:s.x,y:r}),o.push({x:a.x,y:r})):null!==e&&(o.push({x:e,y:s.y}),o.push({x:e,y:a.y}))})),o}(t,n),e.length?new qi({points:e,options:{tension:0},_loop:r,_fullLoop:r}):null}function Wi(t){return t&&!1!==t.fill}function Ji(t,n,e){let r=t[n].fill;const i=[n];let o;if(!e)return r;for(;!1!==r&&-1===i.indexOf(r);){if(!u(r))return r;if(o=t[r],!o)return!1;if(o.visible)return r;i.push(r),r=o.fill}return!1}function Ki(t,n,e){const r=function(t){const n=t.options,e=n.fill;let r=l(e&&e.target,e);return void 0===r&&(r=!!n.backgroundColor),!1!==r&&null!==r&&(!0===r?"origin":r)}(t);if(a(r))return!isNaN(r.value)&&r;let i=parseFloat(r);return u(i)&&Math.floor(i)===i?function(t,n,e,r){return"-"!==t&&"+"!==t||(e=n+e),!(e===n||e<0||e>=r)&&e}(r[0],n,i,e):["origin","start","end","stack","shape"].indexOf(r)>=0&&r}function Yi(t,n,e){const r=[];for(let i=0;i=0;--n){const e=i[n].$filler;e&&(e.line.updateControlPoints(o,e.axis),r&&e.fill&&Zi(t.ctx,e,o))}},beforeDatasetsDraw(t,n,e){if("beforeDatasetsDraw"!==e.drawTime)return;const r=t.getSortedVisibleDatasetMetas();for(let n=r.length-1;n>=0;--n){const e=r[n].$filler;Wi(e)&&Zi(t.ctx,e,t.chartArea)}},beforeDatasetDraw(t,n,e){const r=n.meta.$filler;Wi(r)&&"beforeDatasetDraw"===e.drawTime&&Zi(t.ctx,r,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const io=(t,n)=>{let{boxHeight:e=n,boxWidth:r=n}=t;return t.usePointStyle&&(e=Math.min(e,n),r=t.pointStyleWidth||Math.min(r,n)),{boxWidth:r,boxHeight:e,itemHeight:Math.max(n,e)}};class oo extends Je{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,e){this.maxWidth=t,this.maxHeight=n,this._margins=e,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=p(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter((n=>t.filter(n,this.chart.data)))),t.sort&&(n=n.sort(((n,e)=>t.sort(n,e,this.chart.data)))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display)return void(this.width=this.height=0);const e=t.labels,r=$n(e.font),i=r.size,o=this._computeTitleHeight(),{boxWidth:s,itemHeight:a}=io(e,i);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,i,s,a)+10):(c=this.maxHeight,u=this._fitCols(o,i,s,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,e,r){const{ctx:i,maxWidth:o,options:{labels:{padding:s}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+s;let l=t;i.textAlign="left",i.textBaseline="middle";let h=-1,p=-c;return this.legendItems.forEach(((t,f)=>{const _=e+n/2+i.measureText(t.text).width;(0===f||u[u.length-1]+_+2*s>o)&&(l+=c,u[u.length-(f>0?0:1)]=0,p+=c,h++),a[f]={left:0,top:p,row:h,width:_,height:r},u[u.length-1]+=_+s})),l}_fitCols(t,n,e,r){const{ctx:i,maxHeight:o,options:{labels:{padding:s}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let l=s,h=0,p=0,f=0,_=0;return this.legendItems.forEach(((t,o)=>{const d=e+n/2+i.measureText(t.text).width;o>0&&p+r+2*s>c&&(l+=h+s,u.push({width:h,height:p}),f+=h+s,_++,h=p=0),a[o]={left:f,top:p,col:_,width:d,height:r},h=Math.max(h,d),p+=r+s})),l+=h,u.push({width:h,height:p}),l}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:e,labels:{padding:r},rtl:i}}=this,o=oe(i,this.left,this.width);if(this.isHorizontal()){let i=0,s=st(e,this.left+r,this.right-this.lineWidths[i]);for(const a of n)i!==a.row&&(i=a.row,s=st(e,this.left+r,this.right-this.lineWidths[i])),a.top+=this.top+t+r,a.left=o.leftForLtr(o.x(s),a.width),s+=a.width+r}else{let i=0,s=st(e,this.top+t+r,this.bottom-this.columnSizes[i].height);for(const a of n)a.col!==i&&(i=a.col,s=st(e,this.top+t+r,this.bottom-this.columnSizes[i].height)),a.top=s,a.left+=this.left+r,a.left=o.leftForLtr(o.x(a.left),a.width),s+=a.height+r}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;sn(t,this),this._draw(),an(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:e,ctx:r}=this,{align:i,labels:o}=t,s=Xt.color,a=oe(t.rtl,this.left,this.width),u=$n(o.font),{color:c,padding:h}=o,p=u.size,f=p/2;let _;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:d,boxHeight:v,itemHeight:y}=io(o,p),m=this.isHorizontal(),g=this._computeTitleHeight();_=m?{x:st(i,this.left+h,this.right-e[0]),y:this.top+h+g,line:0}:{x:this.left+h,y:st(i,this.top+g+h,this.bottom-n[0].height),line:0},se(this.ctx,t.textDirection);const $=y+h;this.legendItems.forEach(((b,w)=>{r.strokeStyle=b.fontColor||c,r.fillStyle=b.fontColor||c;const x=r.measureText(b.text).width,k=a.textAlign(b.textAlign||(b.textAlign=o.textAlign)),j=d+f+x;let z=_.x,C=_.y;a.setWidth(this.width),m?w>0&&z+j+h>this.right&&(C=_.y+=$,_.line++,z=_.x=st(i,this.left+h,this.right-e[_.line])):w>0&&C+$>this.bottom&&(z=_.x=z+n[_.line].width+h,_.line++,C=_.y=st(i,this.top+g+h,this.bottom-n[_.line].height)),function(t,n,e){if(isNaN(d)||d<=0||isNaN(v)||v<0)return;r.save();const i=l(e.lineWidth,1);if(r.fillStyle=l(e.fillStyle,s),r.lineCap=l(e.lineCap,"butt"),r.lineDashOffset=l(e.lineDashOffset,0),r.lineJoin=l(e.lineJoin,"miter"),r.lineWidth=i,r.strokeStyle=l(e.strokeStyle,s),r.setLineDash(l(e.lineDash,[])),o.usePointStyle){const s={radius:v*Math.SQRT2/2,pointStyle:e.pointStyle,rotation:e.rotation,borderWidth:i},u=a.xPlus(t,d/2);rn(r,s,u,n+f,o.pointStyleWidth&&d)}else{const o=n+Math.max((p-v)/2,0),s=a.leftForLtr(t,d),u=mn(e.borderRadius);r.beginPath(),Object.values(u).some((t=>0!==t))?pn(r,{x:s,y:o,w:d,h:v,radius:u}):r.rect(s,o,d,v),r.fill(),0!==i&&r.stroke()}r.restore()}(a.x(z),C,b),z=((t,n,e,r)=>t===(r?"left":"right")?e:"center"===t?(n+e)/2:n)(k,z+d+f,m?z+j:this.right,t.rtl),function(t,n,e){ln(r,e.text,t,n+y/2,u,{strikethrough:e.hidden,textAlign:a.textAlign(e.textAlign)})}(a.x(z),C,b),m?_.x+=j+h:_.y+=$})),ae(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,e=$n(n.font),r=gn(n.padding);if(!n.display)return;const i=oe(t.rtl,this.left,this.width),o=this.ctx,s=n.position,a=e.size/2,u=r.top+a;let c,l=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,l=st(t.align,l,this.right-h);else{const n=this.columnSizes.reduce(((t,n)=>Math.max(t,n.height)),0);c=u+st(t.align,this.top,this.bottom-n-t.labels.padding-this._computeTitleHeight())}const p=st(s,l,l+h);o.textAlign=i.textAlign(ot(s)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=e.string,ln(o,n.text,p,c,e)}_computeTitleHeight(){const t=this.options.title,n=$n(t.font),e=gn(t.padding);return t.display?n.lineHeight+e.height:0}_getLegendItemAt(t,n){let e,r,i;if(G(t,this.left,this.right)&&G(n,this.top,this.bottom))for(i=this.legendHitBoxes,e=0;et.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const n=t.data.datasets,{labels:{usePointStyle:e,pointStyle:r,textAlign:i,color:o}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const s=t.controller.getStyle(e?0:void 0),a=gn(s.borderWidth);return{text:n[t.index].label,fillStyle:s.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:s.borderCapStyle,lineDash:s.borderDash,lineDashOffset:s.borderDashOffset,lineJoin:s.borderJoinStyle,lineWidth:(a.width+a.height)/4,strokeStyle:s.borderColor,pointStyle:r||s.pointStyle,rotation:s.rotation,textAlign:i||s.textAlign,borderRadius:0,datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class ao extends Je{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const e=this.options;if(this.left=0,this.top=0,!e.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=n;const r=s(e.text)?e.text.length:1;this._padding=gn(e.padding);const i=r*$n(e.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=i:this.width=i}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:n,left:e,bottom:r,right:i,options:o}=this,s=o.align;let a,u,c,l=0;return this.isHorizontal()?(u=st(s,e,i),c=n+t,a=i-e):("left"===o.position?(u=e+t,c=st(s,r,n),l=-.5*C):(u=i-t,c=st(s,n,r),l=.5*C),a=r-n),{titleX:u,titleY:c,maxWidth:a,rotation:l}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const e=$n(n.font),r=e.lineHeight/2+this._padding.top,{titleX:i,titleY:o,maxWidth:s,rotation:a}=this._drawArgs(r);ln(t,n.text,0,0,e,{color:n.color,maxWidth:s,rotation:a,textAlign:ot(n.align),textBaseline:"middle",translation:[i,o]})}}var uo={id:"title",_element:ao,start(t,n,e){!function(t,n){const e=new ao({ctx:t.ctx,options:n,chart:t});Sr.configure(t,e,n),Sr.addBox(t,e),t.titleBlock=e}(t,e)},stop(t){const n=t.titleBlock;Sr.removeBox(t,n),delete t.titleBlock},beforeUpdate(t,n,e){const r=t.titleBlock;Sr.configure(t,r,e),r.options=e},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const co=new WeakMap;var lo={id:"subtitle",start(t,n,e){const r=new ao({ctx:t.ctx,options:e,chart:t});Sr.configure(t,r,e),Sr.addBox(t,r),co.set(t,r)},stop(t){Sr.removeBox(t,co.get(t)),co.delete(t)},beforeUpdate(t,n,e){const r=co.get(t);Sr.configure(t,r,e),r.options=e},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const ho={average(t){if(!t.length)return!1;let n,e,r=0,i=0,o=0;for(n=0,e=t.length;n-1?t.split("\n"):t}function _o(t,n){const{element:e,datasetIndex:r,index:i}=n,o=t.getDatasetMeta(r).controller,{label:s,value:a}=o.getLabelAndValue(i);return{chart:t,label:s,parsed:o.getParsed(i),raw:t.data.datasets[r].data[i],formattedValue:a,dataset:o.getDataset(),dataIndex:i,datasetIndex:r,element:e}}function vo(t,n){const e=t.chart.ctx,{body:r,footer:i,title:o}=t,{boxWidth:s,boxHeight:a}=n,u=$n(n.bodyFont),c=$n(n.titleFont),l=$n(n.footerFont),h=o.length,p=i.length,_=r.length,d=gn(n.padding);let v=d.height,y=0,m=r.reduce(((t,n)=>t+n.before.length+n.lines.length+n.after.length),0);m+=t.beforeBody.length+t.afterBody.length,h&&(v+=h*c.lineHeight+(h-1)*n.titleSpacing+n.titleMarginBottom),m&&(v+=_*(n.displayColors?Math.max(a,u.lineHeight):u.lineHeight)+(m-_)*u.lineHeight+(m-1)*n.bodySpacing),p&&(v+=n.footerMarginTop+p*l.lineHeight+(p-1)*n.footerSpacing);let g=0;const $=function(t){y=Math.max(y,e.measureText(t).width+g)};return e.save(),e.font=c.string,f(t.title,$),e.font=u.string,f(t.beforeBody.concat(t.afterBody),$),g=n.displayColors?s+2+n.boxPadding:0,f(r,(t=>{f(t.before,$),f(t.lines,$),f(t.after,$)})),g=0,e.font=l.string,f(t.footer,$),e.restore(),y+=d.width,{width:y,height:v}}function yo(t,n,e,r){const{x:i,width:o}=e,{width:s,chartArea:{left:a,right:u}}=t;let c="center";return"center"===r?c=i<=(a+u)/2?"left":"right":i<=o/2?c="left":i>=s-o/2&&(c="right"),function(t,n,e,r){const{x:i,width:o}=r,s=e.caretSize+e.caretPadding;return"left"===t&&i+o+s>n.width||"right"===t&&i-o-s<0||void 0}(c,t,n,e)&&(c="center"),c}function mo(t,n,e){const r=e.yAlign||n.yAlign||function(t,n){const{y:e,height:r}=n;return et.height-r/2?"bottom":"center"}(t,e);return{xAlign:e.xAlign||n.xAlign||yo(t,n,e,r),yAlign:r}}function go(t,n,e,r){const{caretSize:i,caretPadding:o,cornerRadius:s}=t,{xAlign:a,yAlign:u}=e,c=i+o,{topLeft:l,topRight:h,bottomLeft:p,bottomRight:f}=mn(s);let _=function(t,n){let{x:e,width:r}=t;return"right"===n?e-=r:"center"===n&&(e-=r/2),e}(n,a);const d=function(t,n,e){let{y:r,height:i}=t;return"top"===n?r+=e:r-="bottom"===n?i+e:i/2,r}(n,u,c);return"center"===u?"left"===a?_+=c:"right"===a&&(_-=c):"left"===a?_-=Math.max(l,p)+i:"right"===a&&(_+=Math.max(h,f)+i),{x:Y(_,0,r.width-n.width),y:Y(d,0,r.height-n.height)}}function $o(t,n,e){const r=gn(e.padding);return"center"===n?t.x+t.width/2:"right"===n?t.x+t.width-r.right:t.x+r.left}function bo(t){return po([],fo(t))}function wo(t,n){const e=n&&n.dataset&&n.dataset.tooltip&&n.dataset.tooltip.callbacks;return e?t.override(e):t}class xo extends Je{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart||t._chart,this._chart=this.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,e=this.options.setContext(this.getContext()),r=e.enabled&&n.options.animation&&e.animations,i=new ge(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(i)),i}getContext(){return this.$context||(this.$context=(this,wn(this.chart.getContext(),{tooltip:this,tooltipItems:this._tooltipItems,type:"tooltip"})))}getTitle(t,n){const{callbacks:e}=n,r=e.beforeTitle.apply(this,[t]),i=e.title.apply(this,[t]),o=e.afterTitle.apply(this,[t]);let s=[];return s=po(s,fo(r)),s=po(s,fo(i)),s=po(s,fo(o)),s}getBeforeBody(t,n){return bo(n.callbacks.beforeBody.apply(this,[t]))}getBody(t,n){const{callbacks:e}=n,r=[];return f(t,(t=>{const n={before:[],lines:[],after:[]},i=wo(e,t);po(n.before,fo(i.beforeLabel.call(this,t))),po(n.lines,i.label.call(this,t)),po(n.after,fo(i.afterLabel.call(this,t))),r.push(n)})),r}getAfterBody(t,n){return bo(n.callbacks.afterBody.apply(this,[t]))}getFooter(t,n){const{callbacks:e}=n,r=e.beforeFooter.apply(this,[t]),i=e.footer.apply(this,[t]),o=e.afterFooter.apply(this,[t]);let s=[];return s=po(s,fo(r)),s=po(s,fo(i)),s=po(s,fo(o)),s}_createItems(t){const n=this._active,e=this.chart.data,r=[],i=[],o=[];let s,a,u=[];for(s=0,a=n.length;st.filter(n,r,i,e)))),t.itemSort&&(u=u.sort(((n,r)=>t.itemSort(n,r,e)))),f(u,(n=>{const e=wo(t.callbacks,n);r.push(e.labelColor.call(this,n)),i.push(e.labelPointStyle.call(this,n)),o.push(e.labelTextColor.call(this,n))})),this.labelColors=r,this.labelPointStyles=i,this.labelTextColors=o,this.dataPoints=u,u}update(t,n){const e=this.options.setContext(this.getContext()),r=this._active;let i,o=[];if(r.length){const t=ho[e.position].call(this,r,this._eventPosition);o=this._createItems(e),this.title=this.getTitle(o,e),this.beforeBody=this.getBeforeBody(o,e),this.body=this.getBody(o,e),this.afterBody=this.getAfterBody(o,e),this.footer=this.getFooter(o,e);const n=this._size=vo(this,e),s=Object.assign({},t,n),a=mo(this.chart,e,s),u=go(e,s,a,this.chart);this.xAlign=a.xAlign,this.yAlign=a.yAlign,i={opacity:1,x:u.x,y:u.y,width:n.width,height:n.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(i={opacity:0});this._tooltipItems=o,this.$context=void 0,i&&this._resolveAnimations().update(this,i),t&&e.external&&e.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,e,r){const i=this.getCaretPosition(t,e,r);n.lineTo(i.x1,i.y1),n.lineTo(i.x2,i.y2),n.lineTo(i.x3,i.y3)}getCaretPosition(t,n,e){const{xAlign:r,yAlign:i}=this,{caretSize:o,cornerRadius:s}=e,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:l}=mn(s),{x:h,y:p}=t,{width:f,height:_}=n;let d,v,y,m,g,$;return"center"===i?(g=p+_/2,"left"===r?(d=h,v=d-o,m=g+o,$=g-o):(d=h+f,v=d+o,m=g-o,$=g+o),y=d):(v="left"===r?h+Math.max(a,c)+o:"right"===r?h+f-Math.max(u,l)-o:this.caretX,"top"===i?(m=p,g=m-o,d=v-o,y=v+o):(m=p+_,g=m+o,d=v+o,y=v-o),$=m),{x1:d,x2:v,x3:y,y1:m,y2:g,y3:$}}drawTitle(t,n,e){const r=this.title,i=r.length;let o,s,a;if(i){const u=oe(e.rtl,this.x,this.width);for(t.x=$o(this,e.titleAlign,e),n.textAlign=u.textAlign(e.titleAlign),n.textBaseline="middle",o=$n(e.titleFont),s=e.titleSpacing,n.fillStyle=e.titleColor,n.font=o.string,a=0;a0!==t))?(t.beginPath(),t.fillStyle=i.multiKeyBackground,pn(t,{x:n,y:d,w:c,h:u,radius:s}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),pn(t,{x:e,y:d+1,w:c-2,h:u-2,radius:s}),t.fill()):(t.fillStyle=i.multiKeyBackground,t.fillRect(n,d,c,u),t.strokeRect(n,d,c,u),t.fillStyle=o.backgroundColor,t.fillRect(e,d+1,c-2,u-2))}t.fillStyle=this.labelTextColors[e]}drawBody(t,n,e){const{body:r}=this,{bodySpacing:i,bodyAlign:o,displayColors:s,boxHeight:a,boxWidth:u,boxPadding:c}=e,l=$n(e.bodyFont);let h=l.lineHeight,p=0;const _=oe(e.rtl,this.x,this.width),d=function(e){n.fillText(e,_.x(t.x+p),t.y+h/2),t.y+=h+i},v=_.textAlign(o);let y,m,g,$,b,w,x;for(n.textAlign=o,n.textBaseline="middle",n.font=l.string,t.x=$o(this,v,e),n.fillStyle=e.bodyColor,f(this.beforeBody,d),p=s&&"right"!==v?"center"===o?u/2+c:u+2+c:0,$=0,w=r.length;$0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,e=this.$animations,r=e&&e.x,i=e&&e.y;if(r||i){const e=ho[t.position].call(this,this._active,this._eventPosition);if(!e)return;const o=this._size=vo(this,t),s=Object.assign({},e,this._size),a=mo(n,t,s),u=go(t,s,a,n);r._to===u.x&&i._to===u.y||(this.xAlign=a.xAlign,this.yAlign=a.yAlign,this.width=o.width,this.height=o.height,this.caretX=e.x,this.caretY=e.y,this._resolveAnimations().update(this,u))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let e=this.opacity;if(!e)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},i={x:this.x,y:this.y};e=Math.abs(e)<.001?0:e;const o=gn(n.padding),s=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&s&&(t.save(),t.globalAlpha=e,this.drawBackground(i,t,r,n),se(t,n.textDirection),i.y+=o.top,this.drawTitle(i,t,n),this.drawBody(i,t,n),this.drawFooter(i,t,n),ae(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const e=this._active,r=t.map((({datasetIndex:t,index:n})=>{const e=this.chart.getDatasetMeta(t);if(!e)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:e.data[n],index:n}})),i=!_(e,r),o=this._positionChanged(r,n);(i||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,e=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,i=this._active||[],o=this._getActiveElements(t,i,n,e),s=this._positionChanged(o,t),a=n||!_(o,i)||s;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,e,r){const i=this.options;if("mouseout"===t.type)return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,i.mode,i,e);return i.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:e,caretY:r,options:i}=this,o=ho[i.position].call(this,t,n);return!1!==o&&(e!==o.x||r!==o.y)}}xo.positioners=ho;var ko={id:"tooltip",_element:xo,positioners:ho,afterInit(t,n,e){e&&(t.tooltip=new xo({chart:t,options:e}))},beforeUpdate(t,n,e){t.tooltip&&t.tooltip.initialize(e)},reset(t,n,e){t.tooltip&&t.tooltip.initialize(e)},afterDraw(t){const n=t.tooltip;if(n&&n._willRender()){const e={tooltip:n};if(!1===t.notifyPlugins("beforeTooltipDraw",e))return;n.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",e)}},afterEvent(t,n){if(t.tooltip){const e=n.replay;t.tooltip.handleEvent(n.event,e,n.inChartArea)&&(n.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,n)=>n.bodyFont.size,boxWidth:(t,n)=>n.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:{beforeTitle:r,title(t){if(t.length>0){const n=t[0],e=n.chart.data.labels,r=e?e.length:0;if(this&&this.options&&"dataset"===this.options.mode)return n.dataset.label||"";if(n.label)return n.label;if(r>0&&n.dataIndex"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},jo=Object.freeze({__proto__:null,Decimation:Ri,Filler:ro,Legend:so,SubTitle:lo,Title:uo,Tooltip:ko});class zo extends rr{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const n=this._addedLabels;if(n.length){const t=this.getLabels();for(const{index:e,label:r}of n)t[e]===r&&t.splice(e,1);this._addedLabels=[]}super.init(t)}parse(t,n){if(o(t))return null;const e=this.getLabels();return((t,n)=>null===t?null:Y(Math.round(t),0,n))(n=isFinite(n)&&e[n]===t?n:function(t,n,e,r){const i=t.indexOf(n);return-1===i?((t,n,e,r)=>("string"==typeof n?(e=t.push(n)-1,r.unshift({index:e,label:n})):isNaN(n)&&(e=null),e))(t,n,e,r):i!==t.lastIndexOf(n)?e:i}(e,t,l(n,t),this._addedLabels),e.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let{min:e,max:r}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(e=0),n||(r=this.getLabels().length-1)),this.min=e,this.max=r}buildTicks(){const t=this.min,n=this.max,e=this.options.offset,r=[];let i=this.getLabels();i=0===t&&n===i.length-1?i:i.slice(t,n+1),this._valueRange=Math.max(i.length-(e?0:1),1),this._startValue=this.min-(e?.5:0);for(let e=t;e<=n;e++)r.push({value:e});return r}getLabelForValue(t){const n=this.getLabels();return t>=0&&tn.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function Co(t,n,{horizontal:e,minRotation:r}){const i=R(r),o=(e?Math.sin(i):Math.cos(i))||.001,s=.75*n*(""+t).length;return Math.min(n/o,s)}zo.id="category",zo.defaults={ticks:{callback:zo.prototype.getLabelForValue}};class So extends rr{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return o(t)||("number"==typeof t||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:e}=this.getUserBounds();let{min:r,max:i}=this;const o=t=>r=n?r:t,s=t=>i=e?i:t;if(t){const t=D(r),n=D(i);t<0&&n<0?s(0):t>0&&n>0&&o(0)}if(r===i){let n=1;(i>=Number.MAX_SAFE_INTEGER||r<=Number.MIN_SAFE_INTEGER)&&(n=Math.abs(.05*i)),s(i+n),t||o(r-n)}this.min=r,this.max=i}getTickLimit(){const t=this.options.ticks;let n,{maxTicksLimit:e,stepSize:r}=t;return r?(n=Math.ceil(this.max/r)-Math.floor(this.min/r)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${r} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e=e||11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let e=this.getTickLimit();e=Math.max(2,e);const r=function(t,n){const e=[],{bounds:r,step:i,min:s,max:a,precision:u,count:c,maxTicks:l,maxDigits:h,includeBounds:p}=t,f=i||1,_=l-1,{min:d,max:v}=n,y=!o(s),m=!o(a),g=!o(c),$=(v-d)/(h+1);let b,w,x,k,j=T((v-d)/_/f)*f;if(j<1e-14&&!y&&!m)return[{value:d},{value:v}];k=Math.ceil(v/j)-Math.floor(d/j),k>_&&(j=T(k*j/_/f)*f),o(u)||(b=Math.pow(10,u),j=Math.ceil(j*b)/b),"ticks"===r?(w=Math.floor(d/j)*j,x=Math.ceil(v/j)*j):(w=d,x=v),y&&m&&i&&function(t,n){const e=Math.round(t);return e-n<=t&&e+n>=t}((a-s)/i,j/1e3)?(k=Math.round(Math.min((a-s)/j,l)),j=(a-s)/k,w=s,x=a):g?(w=y?s:w,x=m?a:x,k=c-1,j=(x-w)/k):(k=(x-w)/j,k=L(k,Math.round(k),j/1e3)?Math.round(k):Math.ceil(k));const z=Math.max(H(j),H(w));b=Math.pow(10,o(u)?z:u),w=Math.round(w*b)/b,x=Math.round(x*b)/b;let C=0;for(y&&(p&&w!==s?(e.push({value:s}),w0?e:null;this._zero=!0}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=u(t)?Math.max(0,t):null,this.max=u(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let e=this.min,r=this.max;const i=n=>e=t?e:n,o=t=>r=n?r:t,s=(t,n)=>Math.pow(10,Math.floor(I(t))+n);e===r&&(e<=0?(i(1),o(10)):(i(s(e,-1)),o(s(r,1)))),e<=0&&i(s(r,-1)),r<=0&&o(s(e,1)),this._zero&&this.min!==this._suggestedMin&&e===s(this.min,0)&&i(s(e,-1)),this.min=e,this.max=r}buildTicks(){const t=this.options,n=function(t,n){const e=Math.floor(I(n.max)),r=Math.ceil(n.max/Math.pow(10,e)),i=[];let o=c(t.min,Math.pow(10,Math.floor(I(n.min)))),s=Math.floor(I(o)),a=Math.floor(o/Math.pow(10,s)),u=s<0?Math.pow(10,Math.abs(s)):1;do{i.push({value:o,major:Oo(o)}),++a,10===a&&(a=1,++s,u=s>=0?1:u),o=Math.round(a*Math.pow(10,s)*u)/u}while(si?{start:n-e,end:n}:{start:n,end:n+e}}function Eo(t,n,e,r,i){const o=Math.abs(Math.sin(e)),s=Math.abs(Math.cos(e));let a=0,u=0;r.startn.r&&(a=(r.end-n.r)/o,t.r=Math.max(t.r,n.r+a)),i.startn.b&&(u=(i.end-n.b)/s,t.b=Math.max(t.b,n.b+u))}function Io(t){return 0===t||180===t?"center":t<180?"left":"right"}function Do(t,n,e){return 90===e||270===e?t-=n/2:(e>270||e<90)&&(t-=n),t}function To(t,n,e,r){const{ctx:i}=t;if(e)i.arc(t.xCenter,t.yCenter,n,0,S);else{let e=t.getPointPosition(0,n);i.moveTo(e.x,e.y);for(let o=1;o{const e=p(this.options.pointLabels.callback,[t,n],this);return e||0===e?e:""})).filter(((t,n)=>this.chart.getDataVisibility(n)))}fit(){const t=this.options;t.display&&t.pointLabels.display?function(t){const n={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},e=Object.assign({},n),r=[],i=[],o=t._pointLabels.length,a=t.options.pointLabels,u=a.centerPointLabels?C/o:0;for(let p=0;p=0&&t=0;i--){const n=r.setContext(t.getPointLabelContext(i)),s=$n(n.font),{x:a,y:u,textAlign:c,left:l,top:h,right:p,bottom:f}=t._pointLabelItems[i],{backdropColor:_}=n;if(!o(_)){const t=mn(n.borderRadius),r=gn(n.backdropPadding);e.fillStyle=_;const i=l-r.left,o=h-r.top,s=p-l+r.width,a=f-h+r.height;Object.values(t).some((t=>0!==t))?(e.beginPath(),pn(e,{x:i,y:o,w:s,h:a,radius:t}),e.fill()):e.fillRect(i,o,s,a)}ln(e,t._pointLabels[i],a,u+s.lineHeight/2,s,{color:n.color,textAlign:c,textBaseline:"middle"})}}(this,i),r.display&&this.ticks.forEach(((t,n)=>{0!==n&&(a=this.getDistanceFromCenterForValue(t.value),function(t,n,e,r){const i=t.ctx,o=n.circular,{color:s,lineWidth:a}=n;!o&&!r||!s||!a||e<0||(i.save(),i.strokeStyle=s,i.lineWidth=a,i.setLineDash(n.borderDash),i.lineDashOffset=n.borderDashOffset,i.beginPath(),To(t,e,o,r),i.closePath(),i.stroke(),i.restore())}(this,r.setContext(this.getContext(n-1)),a,i))})),e.display){for(t.save(),s=i-1;s>=0;s--){const r=e.setContext(this.getPointLabelContext(s)),{color:i,lineWidth:o}=r;o&&i&&(t.lineWidth=o,t.strokeStyle=i,t.setLineDash(r.borderDash),t.lineDashOffset=r.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(s,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,e=n.ticks;if(!e.display)return;const r=this.getIndexAngle(0);let i,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((r,s)=>{if(0===s&&!n.reverse)return;const a=e.setContext(this.getContext(s)),u=$n(a.font);if(i=this.getDistanceFromCenterForValue(this.ticks[s].value),a.showLabelBackdrop){t.font=u.string,o=t.measureText(r.label).width,t.fillStyle=a.backdropColor;const n=gn(a.backdropPadding);t.fillRect(-o/2-n.left,-i-u.size/2-n.top,o+n.width,u.size+n.height)}ln(t,r.label,0,-i,u,{color:a.color})})),t.restore()}drawTitle(){}}Bo.id="radialLinear",Bo.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Ye.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:t=>t,padding:5,centerPointLabels:!1}},Bo.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"},Bo.descriptors={angleLines:{_fallback:"grid"}};const Lo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},No=Object.keys(Lo);function Ro(t,n){return t-n}function Fo(t,n){if(o(n))return null;const e=t._adapter,{parser:r,round:i,isoWeekday:s}=t._parseOpts;let a=n;return"function"==typeof r&&(a=r(a)),u(a)||(a="string"==typeof r?e.parse(a,r):e.parse(a)),null===a?null:(i&&(a="week"!==i||!B(s)&&!0!==s?e.startOf(a,i):e.startOf(a,"isoWeek",s)),+a)}function Ho(t,n,e,r){const i=No.length;for(let o=No.indexOf(t);o=n?e[r]:e[i]]=!0}}else t[n]=!0}function Vo(t,n,e){const r=[],i={},o=n.length;let s,a;for(s=0;s=0&&(n[u].major=!0);return n}(t,r,i,e):r}class Wo extends rr{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,n){const e=t.time||(t.time={}),r=this._adapter=new lr._date(t.adapters.date);r.init(n),g(e.displayFormats,r.formats()),this._parseOpts={parser:e.parser,round:e.round,isoWeekday:e.isoWeekday},super.init(t),this._normalized=n.normalized}parse(t,n){return void 0===t?null:Fo(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,n=this._adapter,e=t.time.unit||"day";let{min:r,max:i,minDefined:o,maxDefined:s}=this.getUserBounds();function a(t){o||isNaN(t.min)||(r=Math.min(r,t.min)),s||isNaN(t.max)||(i=Math.max(i,t.max))}o&&s||(a(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||a(this.getMinMax(!1))),r=u(r)&&!isNaN(r)?r:+n.startOf(Date.now(),e),i=u(i)&&!isNaN(i)?i:+n.endOf(Date.now(),e)+1,this.min=Math.min(r,i-1),this.max=Math.max(r+1,i)}_getLabelBounds(){const t=this.getLabelTimestamps();let n=Number.POSITIVE_INFINITY,e=Number.NEGATIVE_INFINITY;return t.length&&(n=t[0],e=t[t.length-1]),{min:n,max:e}}buildTicks(){const t=this.options,n=t.time,e=t.ticks,r="labels"===e.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&r.length&&(this.min=this._userMin||r[0],this.max=this._userMax||r[r.length-1]);const i=this.min,o=function(t,n,e){let r=0,i=t.length;for(;rr&&t[i-1]>e;)i--;return r>0||i=No.indexOf(e);o--){const e=No[o];if(Lo[e].common&&t._adapter.diff(i,r,e)>=n-1)return e}return No[e?No.indexOf(e):0]}(this,o.length,n.minUnit,this.min,this.max)),this._majorUnit=e.major.enabled&&"year"!==this._unit?function(t){for(let n=No.indexOf(t)+1,e=No.length;n+t.value)))}initOffsets(t){let n,e,r=0,i=0;this.options.offset&&t.length&&(n=this.getDecimalForValue(t[0]),r=1===t.length?1-n:(this.getDecimalForValue(t[1])-n)/2,e=this.getDecimalForValue(t[t.length-1]),i=1===t.length?e:(e-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;r=Y(r,0,o),i=Y(i,0,o),this._offsets={start:r,end:i,factor:1/(r+1+i)}}_generate(){const t=this._adapter,n=this.min,e=this.max,r=this.options,i=r.time,o=i.unit||Ho(i.minUnit,n,e,this._getLabelCapacity(n)),s=l(i.stepSize,1),a="week"===o&&i.isoWeekday,u=B(a)||!0===a,c={};let h,p,f=n;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(e,n,o)>1e5*s)throw new Error(n+" and "+e+" are too far apart with stepSize of "+s+" "+o);const _="data"===r.ticks.source&&this.getDataTimestamps();for(h=f,p=0;ht-n)).map((t=>+t))}getLabelForValue(t){const n=this._adapter,e=this.options.time;return e.tooltipFormat?n.format(t,e.tooltipFormat):n.format(t,e.displayFormats.datetime)}_tickFormatFunction(t,n,e,r){const i=this.options,o=i.time.displayFormats,s=this._unit,a=this._majorUnit,u=s&&o[s],c=a&&o[a],l=e[n],h=a&&c&&l&&l.major,f=this._adapter.format(t,r||(h?c:u)),_=i.ticks.callback;return _?p(_,[f,n,e],this):f}generateTickLabels(t){let n,e,r;for(n=0,e=t.length;n0?s:1}getDataTimestamps(){let t,n,e=this._cache.data||[];if(e.length)return e;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(t=0,n=r.length;t=t[a].pos&&n<=t[u].pos&&({lo:a,hi:u}=Z(t,"pos",n)),({pos:r,time:o}=t[a]),({pos:i,time:s}=t[u])):(n>=t[a].time&&n<=t[u].time&&({lo:a,hi:u}=Z(t,"time",n)),({time:r,pos:o}=t[a]),({time:i,pos:s}=t[u]));const c=i-r;return c?o+(s-o)*(n-r)/c:o}Wo.id="time",Wo.defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",major:{enabled:!1}}};class Ko extends Wo{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=Jo(n,this.min),this._tableRange=Jo(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:e}=this,r=[],i=[];let o,s,a,u,c;for(o=0,s=t.length;o=n&&u<=e&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:e,pos:1}];for(o=0,s=r.length;o{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},e.o=(t,n)=>Object.prototype.hasOwnProperty.call(t,n),e.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e(608)})())); +!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.benchart=n():t.benchart=n()}(this,(()=>(()=>{var t={868:function(t,n,e){var r,i,o;i=[n,e(744)],void 0===(o="function"==typeof(r=function(t,n){"use strict";var e,r=n.$_$.ca,i=n.$_$.y8,o=n.$_$.gd;function s(){e=this,u.call(this)}function a(){return null==e&&new s,e}function u(){}function c(t){this.jo_1=t}function l(t){this.no_1=t}function h(t){this.ko_1=t}return s.prototype=Object.create(u.prototype),s.prototype.constructor=s,s.$metadata$=r("None",void 0,void 0,void 0,void 0,u.prototype),u.prototype.atomicfu$Trace$append$1=function(t){},u.prototype.atomicfu$Trace$append$2=function(t,n){},u.prototype.atomicfu$Trace$append$3=function(t,n,e){},u.prototype.atomicfu$Trace$append$4=function(t,n,e,r){},u.$metadata$=i("TraceBase"),c.prototype.lo=function(t){this.jo_1=t},c.prototype.mo=function(){return this.jo_1},c.prototype.atomicfu$compareAndSet=function(t,n){return this.jo_1===t&&(this.jo_1=n,!0)},c.prototype.atomicfu$getAndSet=function(t){var n=this.jo_1;return this.jo_1=t,n},c.prototype.toString=function(){return o(this.jo_1)},c.$metadata$=i("AtomicRef"),Object.defineProperty(c.prototype,"kotlinx$atomicfu$value",{configurable:!0,get:c.prototype.mo,set:c.prototype.lo}),l.prototype.oo=function(t){this.no_1=t},l.prototype.mo=function(){return this.no_1},l.prototype.atomicfu$compareAndSet=function(t,n){return this.no_1===t&&(this.no_1=n,!0)},l.prototype.atomicfu$getAndSet=function(t){var n=this.no_1;return this.no_1=t,n},l.prototype.toString=function(){return this.no_1.toString()},l.$metadata$=i("AtomicBoolean"),Object.defineProperty(l.prototype,"kotlinx$atomicfu$value",{configurable:!0,get:l.prototype.mo,set:l.prototype.oo}),h.prototype.po=function(t){this.ko_1=t},h.prototype.mo=function(){return this.ko_1},h.prototype.atomicfu$compareAndSet=function(t,n){return this.ko_1===t&&(this.ko_1=n,!0)},h.prototype.atomicfu$getAndSet=function(t){var n=this.ko_1;return this.ko_1=t,n},h.prototype.atomicfu$getAndIncrement=function(){var t=this.ko_1;return this.ko_1=t+1|0,t},h.prototype.atomicfu$getAndDecrement=function(){var t=this.ko_1;return this.ko_1=t-1|0,t},h.prototype.atomicfu$getAndAdd=function(t){var n=this.ko_1;return this.ko_1=this.ko_1+t|0,n},h.prototype.atomicfu$addAndGet=function(t){return this.ko_1=this.ko_1+t|0,this.ko_1},h.prototype.atomicfu$incrementAndGet=function(){var t=this;return t.ko_1=t.ko_1+1|0,t.ko_1},h.prototype.atomicfu$decrementAndGet=function(){var t=this;return t.ko_1=t.ko_1-1|0,t.ko_1},h.prototype.toString=function(){return this.ko_1.toString()},h.$metadata$=i("AtomicInt"),Object.defineProperty(h.prototype,"kotlinx$atomicfu$value",{configurable:!0,get:h.prototype.mo,set:h.prototype.po}),i("ReentrantLock"),t.$_$=t.$_$||{},t.$_$.a=function(t){return function(t,n){return new l(t)}(t,a())},t.$_$.b=function(t){return function(t,n){return new c(t)}(t,a())},t.$_$.c=function(t){return function(t,n){return new h(t)}(t,a())},t})?r.apply(n,i):r)||(t.exports=o)},769:function(t,n,e){var r,i;r=[n,e(744),e(646)],void 0===(i=function(t,n,e){"use strict";var r,i,o,s,a,u,c,l,h,p,f,_,d,v,y,m,g,$,b,w,x,k,j,z,C,S,q,O,P,M,A,E,I,D,T,B,L,N,R,F,H,U,V,W,J,K,Y,G,X,Z,Q,tt,nt,et,rt,it,ot,st,at,ut,ct,lt,ht,pt,ft,_t,dt,vt,yt,mt,gt,$t=Math.imul,bt=n.$_$.j9,wt=n.$_$.p4,xt=n.$_$.ga,kt=n.$_$.y8,jt=n.$_$.s,zt=n.$_$.cc,Ct=n.$_$.u9,St=n.$_$.u1,qt=n.$_$.dd,Ot=n.$_$.ed,Pt=n.$_$.k4,Mt=n.$_$.i2,At=n.$_$.tc,Et=n.$_$.fd,It=n.$_$.y7,Dt=e.$_$.n,Tt=e.$_$.i,Bt=n.$_$.g8,Lt=n.$_$.f8,Nt=n.$_$.h8,Rt=n.$_$.k8,Ft=n.$_$.s9,Ht=n.$_$.a9,Ut=n.$_$.c1,Vt=n.$_$.j,Wt=n.$_$.v,Jt=n.$_$.h9,Kt=n.$_$.ub,Yt=n.$_$.g6,Gt=n.$_$.r7,Xt=n.$_$.j7,Zt=n.$_$.rb,Qt=n.$_$.r,tn=n.$_$.hd,nn=n.$_$.u7,en=n.$_$.ca,rn=n.$_$.r1,on=n.$_$.zc,sn=n.$_$.l6,an=n.$_$.z8,un=n.$_$.pa,cn=n.$_$.f9,ln=n.$_$.k9,hn=n.$_$.m5,pn=n.$_$.uc,fn=n.$_$.y,_n=n.$_$.c7,dn=e.$_$.k,vn=e.$_$.e,yn=e.$_$.f,mn=n.$_$.gd,gn=n.$_$.j8,$n=n.$_$.i8,bn=n.$_$.g9,wn=n.$_$.w4,xn=n.$_$.o5,kn=n.$_$.l8,jn=e.$_$.l,zn=n.$_$.w7,Cn=e.$_$.c,Sn=n.$_$.u,qn=n.$_$.o7,On=n.$_$.o6,Pn=e.$_$.h,Mn=n.$_$.g1,An=n.$_$.v7,En=n.$_$.pc,In=e.$_$.o,Dn=e.$_$.b,Tn=n.$_$.i,Bn=n.$_$.yb,Ln=e.$_$.g,Nn=e.$_$.m,Rn=n.$_$.a1,Fn=n.$_$.f7,Hn=(n.$_$.m8,n.$_$.n8,n.$_$.p5),Un=n.$_$.j6,Vn=n.$_$.c9,Wn=n.$_$.c4,Jn=n.$_$.a5,Kn=n.$_$.z4,Yn=n.$_$.m6,Gn=n.$_$.x6,Xn=n.$_$.m1,Zn=n.$_$.e6,Qn=n.$_$.d6,te=n.$_$.h5,ne=n.$_$.j5,ee=n.$_$.e5,re=n.$_$.g5,ie=n.$_$.x1,oe=n.$_$.d5,se=n.$_$.r4,ae=n.$_$.ia,ue=n.$_$.r8,ce=n.$_$.t4,le=n.$_$.t1,he=n.$_$.i5,pe=n.$_$.q6,fe=n.$_$.v6,_e=n.$_$.s4,de=n.$_$.f5,ve=n.$_$.u4,ye=n.$_$.q4,me=n.$_$.la,ge=n.$_$.ka,$e=n.$_$.rc,be=n.$_$.n1,we=n.$_$.w1,xe=n.$_$.l1,ke=n.$_$.x,je=n.$_$.qb,ze=n.$_$.o9,Ce=n.$_$.t5,Se=n.$_$.e,qe=n.$_$.i7,Oe=n.$_$.ra,Pe=n.$_$.i9,Me=n.$_$.j4,Ae=n.$_$.n7,Ee=n.$_$.ta,Ie=n.$_$.q8,De=n.$_$.s5,Te=n.$_$.a2,Be=n.$_$.g,Le=n.$_$.ob,Ne=n.$_$.d2,Re=n.$_$.h1;function Fe(){}function He(){}function Ue(){return Po()}function Ve(){}function We(t,n){this.i11_1=t,this.j11_1=n,this.k11_1=0}function Je(t){this.l11_1=t;var n;n=jt(),this.m11_1=n,this.n11_1=this.l11_1,this.o11_1=8}function Ke(t,n){this.r11_1=t,this.s11_1=n}function Ye(t){this.v11_1=t,this.w11_1=Va(),this.x11_1=null;var n;n=jt(),this.y11_1=n;var e;e=jt(),this.z11_1=e,this.a12_1=8}function Ge(){return Ji(),r}function Xe(){return Ji(),s}function Ze(){return Ji(),c}function Qe(){return Ji(),l}function tr(){}function nr(t,n){Ji();for(var e=t.h13();e.d();){var r=e.e(),i=r;if(null!=i&&Ft(i,xs))n.l12(r);else if(i instanceof To){var o=r.j13_1;null!=o&&(o.c14_1=!0,r.ot())}}t.k14()}function er(t){var n;t.r15_1=t.n14_1.t16(),ir(t,100),t.m14_1.v16(),t.f15_1=t.m14_1.w16(),t.i15_1.z16((n=t.h15_1,Ji(),n?1:0)),t.h15_1=t.j12(t.f15_1),t.v15_1=null,t.a15_1||(t.a15_1=t.m14_1.a17());var e=function(t,n,e){return function(t,n){return Ji(),t.u2(n instanceof vo?n:zt())}(e,n)?function(t,n){Ji();var e=t.a3(n instanceof vo?n:zt()),r=null==e?null:e.m2();return null==r||Ct(r)?r:zt()}(e,n):n.w17_1.m2()}(0,(Ah(),_t),t.f15_1);null==e||(e.a(t.n14_1),t.m14_1.b17(e),wt()),ir(t,t.m14_1.c17())}function rr(t){sr(t),t.m14_1.d17(),sr(t),function(t){t.d16_1&&(Mr(t,!1,Xe(),2),t.d16_1=!1)}(t),function(t){Ar(t),t.s14_1.h()||Oi(xt("Start/end imbalance")),t.f16_1.h()||Oi(xt("Missed recording an endGroup()")),Hr(t)}(t),t.r15_1.p17(),t.b15_1=!1}function ir(t,n){return lr(t,n,null,!1,null)}function or(t,n,e){return lr(t,n,e,!1,null)}function sr(t){return pr(t,!1)}function ar(t,n){if(null==n){var e=t.v15_1;if(null!=e)return e}if(t.y15_1&&t.u15_1)for(var r=t.t15_1.e13_1;r>0;){if(202===t.t15_1.u17(r)&&Ht(t.t15_1.t17(r),Qe())){var i=t.t15_1.s17(r),o=null!=i&&Ft(i,_u)?i:zt();return t.v15_1=o,o}r=t.t15_1.v17(r)}if(t.r15_1.f()>0)for(var s=n,a=null==s?t.r15_1.l17_1:s;a>0;){if(202===t.r15_1.u17(a)&&Ht(t.r15_1.t17(a),Qe())){var u,c=t.g15_1.a3(a);if(null==c){var l=t.r15_1.s17(a);u=null!=l&&Ft(l,_u)?l:zt()}else u=c;var h=u;return t.v15_1=h,h}a=t.r15_1.v17(a)}return t.v15_1=t.f15_1,t.f15_1}function ur(t){mi(t.t15_1.f13_1),t.s15_1=new ra;var n,e=t,r=t.s15_1.y17();r.p17(),n=r,e.t15_1=n}function cr(t,n,e){var r;n?t.r15_1.c18():(null!=e&&t.r15_1.a18()!==e&&Mr(t,!1,(r=e,function(t,n,e){return n.r1b(r),wt()}),2),t.r15_1.b18())}function lr(t,n,e,r,i){if(Cr(t),Jr(t,n,e,i),t.y15_1){t.r15_1.d18();var o=t.t15_1.d13_1;if(r)t.t15_1.g18(fi().h12_1);else if(null!=i){var s=e;t.t15_1.f18(n,null==s?fi().h12_1:s,i)}else{var a=e;t.t15_1.e18(n,null==a?fi().h12_1:a)}var u=t.t14_1;if(null==u);else{var c=new Ma(n,-1,_r(0,o),-1,0);u.n18(c,t.u14_1-u.i18_1|0),u.o18(c)}return hr(t,r,null),wt()}null==t.t14_1&&(t.r15_1.p18()===n&&Ht(e,t.r15_1.r18())?cr(t,r,i):t.t14_1=new ki(t.r15_1.q18(),t.u14_1));var l,h=t.t14_1,p=null;if(null!=h){var f=h.s18(n,e);if(null!=f){h.o18(f);var _=f.x18_1;t.u14_1=h.a19(f)+h.i18_1|0;var d=h.b19(f),v=d-h.j18_1|0;h.c19(d,h.j18_1),Rr(t,_),t.r15_1.d19(_),v>0&&Or(t,(l=v,function(t,n,e){return n.s1b(l),wt()})),cr(t,r,i)}else{t.r15_1.d18(),t.y15_1=!0,t.v15_1=null,function(t){t.t15_1.f13_1&&(t.t15_1=t.s15_1.y17(),t.t15_1.z17(),t.u15_1=!1,t.v15_1=null)}(t),t.t15_1.t18();var y=t.t15_1.d13_1;if(r)t.t15_1.g18(fi().h12_1);else if(null!=i){var m=e;t.t15_1.f18(n,null==m?fi().h12_1:m,i)}else{var g=e;t.t15_1.e18(n,null==g?fi().h12_1:g)}t.w15_1=t.t15_1.u18(y);var $=new Ma(n,-1,_r(0,y),-1,0);h.n18($,t.u14_1-h.i18_1|0),h.o18($),p=new ki(jt(),r?0:t.u14_1)}}hr(t,r,p)}function hr(t,n,e){t.s14_1.e19(t.t14_1),t.t14_1=e,t.v14_1.z16(t.u14_1),n&&(t.u14_1=0),t.x14_1.z16(t.w14_1),t.w14_1=0}function pr(t,n){if(t.y15_1){var e=t.t15_1.e13_1;Yr(t,t.t15_1.u17(e),t.t15_1.t17(e),t.t15_1.s17(e))}else{var r=t.r15_1.l17_1;Yr(t,t.r15_1.u17(r),t.r15_1.t17(r),t.r15_1.s17(r))}var i=t.w14_1,o=t.t14_1;if(null!=o&&o.h18_1.f()>0){for(var s=o.h18_1,a=o.g19(),u=function(t){var n=ke(t.f()),e=0,r=t.f()-1|0;if(e<=r)do{var i=e;e=e+1|0;var o=t.g(i);n.a(o)}while(e<=r);return n}(a),c=Ut(),l=0,h=a.f(),p=0,f=s.f(),_=0;p0&&(Rr(t,t.r15_1.l19()),t.r15_1.z17())}for(var g=t.u14_1;!t.r15_1.m19();){var $=t.r15_1.j17_1;Nr(t);var b=t.r15_1.r17();Ur(t,g,b),zi(t.d15_1,$,t.r15_1.j17_1)}var w=t.y15_1;if(w){n&&(function(t){t.x15_1.a(t.g16_1.f19())}(t),i=1),t.r15_1.o19();var x=t.t15_1.e13_1;if(t.t15_1.p19(),!t.r15_1.r19()){var k=_r(0,x);t.t15_1.q19(),t.t15_1.p17(),function(t,n){if(t.x15_1.h())Or(t,(r=t.s15_1,i=n,function(t,n,e){return n.t18(),n.m1c(r,i.l1c(r)),n.q19(),wt()}));else{var e=Gt(t.x15_1);t.x15_1.s7(),Ar(t),Ir(t),Or(t,function(t,n,e){return function(r,i,o){var s=t.y17();try{var a=0,u=n.f()-1|0;if(a<=u){do{var c=a;a=a+1|0,n.g(c)(r,s,o)}while(a<=u);wt()}}finally{s.p17()}return i.t18(),i.m1c(t,e.l1c(t)),i.q19(),wt()}}(t.s15_1,e,n))}var r,i}(t,t.w15_1),t.y15_1=!1,t.n14_1.du()||(mr(t,k,0),dr(t,k,i))}}else{n&&Tr(t),function(t){var n=t.r15_1.l17_1;t.f16_1.q1a(-1)<=n||Oi(xt("Missed recording an endGroup")),t.f16_1.q1a(-1)===n&&(t.f16_1.f19(),Mr(t,!1,Xe(),2))}(t);var j=t.r15_1.l17_1;i!==yr(t,j)&&dr(t,j,i),n&&(i=1),t.r15_1.n19(),Wr(t)}!function(t,n,e){var r=t.s14_1.f19();if(null!=r&&!e){var i=r,o=i.j18_1;i.j18_1=o+1|0}t.t14_1=r,t.u14_1=t.v14_1.f19()+n|0,t.w14_1=t.x14_1.f19()+n|0}(t,i,w)}function fr(t){var n=t.p15_1;t.p15_1=!0;for(var e=!1,r=t.r15_1.l17_1,i=r+t.r15_1.i19(r)|0,o=t.u14_1,s=t.z15_1,a=t.w14_1,u=r,c=Ci(t.d15_1,t.r15_1.j17_1,i);null!=c;){var l=c.t19_1;if(Si(t.d15_1,l),c.y19()){e=!0,t.r15_1.d19(l);var h=t.r15_1.j17_1;gr(t,u,h,r),u=h,t.u14_1=vr(t,l,h,r,o),t.z15_1=br(t,t.r15_1.v17(h),r,s),t.v15_1=null,c.s19_1.w19(t),t.v15_1=null,t.r15_1.x19(r)}else t.o15_1.e19(c.s19_1),c.s19_1.v19(),t.o15_1.f19();c=Ci(t.d15_1,t.r15_1.j17_1,i)}if(e){gr(t,u,r,r),t.r15_1.z17();var p=yr(t,r);t.u14_1=o+p|0,t.w14_1=a+p|0}else wr(t);t.z15_1=s,t.p15_1=n}function _r(t,n){return-2-n|0}function dr(t,n,e){var r=yr(t,n);if(r!==e){var i=e-r|0,o=n,s=t.s14_1.f()-1|0;t:for(;-1!==o;){var a=yr(t,o)+i|0;mr(t,o,a);var u=s;if(0<=u)n:do{var c=u;u=u+-1|0;var l=t.s14_1.z19(c);if(null!=l&&l.h19(o,a)){s=c-1|0;break n}}while(0<=u);if(o<0)o=t.r15_1.l17_1;else{if(t.r15_1.a1a(o))break t;o=t.r15_1.v17(o)}}}}function vr(t,n,e,r,i){for(var o=t.r15_1.v17(e);o!==r&&!t.r15_1.a1a(o);)o=t.r15_1.v17(o);var s=t.r15_1.a1a(o)?0:i;if(o===e)return s;var a=o,u=s+(yr(t,o)-t.r15_1.b1a(e)|0)|0;t:for(;s=0)return o}return t.r15_1.b1a(n)}function mr(t,n,e){if(yr(t,n)!==e)if(n<0){var r,i=t.z14_1;if(null==i){var o=Wt();t.z14_1=o,r=o}else r=i;r.v3(n,e)}else{var s,a=t.y14_1;if(null==a){var u=new Int32Array(t.r15_1.f());Vt(u,-1,0,0,6,null),t.y14_1=u,s=u}else s=a;s[n]=e}}function gr(t,n,e,r){for(var i=t.r15_1,o=function(t,n,e,r){if(Ji(),n===e)return n;if(n===r||e===r)return r;if(t.v17(n)===e)return e;if(t.v17(e)===n)return n;if(t.v17(n)===t.v17(e))return t.v17(n);var i=n,o=e,s=Di(t,n,r),a=Di(t,e,r),u=s-a|0,c=0;if(c0&&s!==o;)i.a1a(s)&&Tr(t),s=i.v17(s);$r(t,e,o)}function $r(t,n,e){var r,i;n>0&&n!==e&&($r(t,t.r15_1.v17(n),e),t.r15_1.a1a(n)&&Dr(t,(r=t.r15_1,i=n,r.n1a(i))))}function br(t,n,e,r){var i;if(n===e)i=r;else{var o,s=function(t,n,e){var r;if(t.c1a(e)){var i,o=t.t17(e);if(null==o)i=null;else{var s=o;i=s instanceof Kt?o.s1_1:s instanceof wi?Ao():Jt(o)}r=null==i?0:i}else{var a,u=t.u17(e);if(207===u){var c,l=t.s17(e);a=null==(c=null==l?null:Ht(l,fi().h12_1)?u:Jt(l))?u:c}else a=u;r=a}return r}(t.r15_1,0,n);if(s===Ao())o=s;else{var a=br(t,t.r15_1.v17(n),e,r);o=qt(a,3)^s}i=o}return i}function wr(t){t.w14_1=t.r15_1.d1a(),t.r15_1.z17()}function xr(t,n,e,r,i){t.h1a(Ao(),n),t.j12(r);var o=t.z15_1;t.z15_1=Ao(),t.y15_1&&t.t15_1.i1a(0,1,null);var s,a,u,c=!t.y15_1&&!Ht(t.r15_1.a18(),e);if(c){var l=t.g15_1,h=t.r15_1.j17_1;l.v3(h,e)}if(lr(t,202,Qe(),!1,e),t.y15_1&&!i){t.u15_1=!0,t.v15_1=null;var p=t.t15_1.u18(t.t15_1.v17(t.t15_1.e13_1)),f=t.s15_1,_=Yt(),d=new yi(n,r,t.r14_1,f,p,_,function(t,n,e,r){return 0!=(2&e)&&(n=null),ar(t,n)}(t,null,2));t.m14_1.j1a(d)}else{var v=t.h15_1;t.h15_1=c,Hh(t,(s=cl(1378964644,!0,(a=n,u=r,function(t,n){var e=t;return $i(e,"C2821@107760L18:Composer.kt#9igjgp"),2==(11&n)&&e.v1b()?(e.z17(),wt()):a.u1b_1(u,e,0),wt()})),function(t,n){return s.t1b(t,n)})),t.h15_1=v}sr(t),t.z15_1=o,t.k1a()}function kr(t,n,e,r,i,o){var s=t.e16_1,a=t.p15_1,u=t.u14_1;try{t.e16_1=!1,t.p15_1=!0,t.u14_1=0;var c,l=0,h=i.f()-1|0;if(l<=h)do{var p=l;l=l+1|0;var f=i.g(p),_=f.l4(),d=f.m4();if(null!=d)for(var v=d.c();v.d();){var y=v.e();t.l1a(_,y)}else t.l1a(_,null)}while(l<=h);if(null==n)c=null;else{var m=r;c=n.m1a(e,null==m?-1:m,o)}var g=c;return null==g?o():g}finally{t.e16_1=s,t.p15_1=a,t.u14_1=u}}function jr(t,n,e,r,i,o,s,a){return 0!=(2&s)&&(n=null),0!=(4&s)&&(e=null),0!=(8&s)&&(r=null),0!=(16&s)&&(i=Yt()),kr(t,n,e,r,i,o)}function zr(t){t.c15_1||Oi(xt("A call to createNode(), emitNode() or useNode() expected was not expected")),t.c15_1=!1}function Cr(t){!t.c15_1||Oi(xt("A call to createNode(), emitNode() or useNode() expected"))}function Sr(t,n){t.p14_1.a(n)}function qr(t,n){Ar(t),Ir(t),Sr(t,n)}function Or(t,n){(function(t,n,e,r){0!=(2&e)&&(n=!1),Br(t,n)})(t,!1,2),Fr(t),Sr(t,n)}function Pr(t,n,e){Br(t,n),Sr(t,e)}function Mr(t,n,e,r,i){return 0!=(2&r)&&(n=!1),Pr(t,n,e)}function Ar(t){var n,e=t.a16_1;e>0&&(t.a16_1=0,Sr(t,(n=e,function(t,e,r){var i=0;if(i=0||Oi(xt("Tried to seek backward")),i>0&&(Sr(t,(e=i,function(t,n,r){return n.k1c(e),wt()})),t.c16_1=r)}function Lr(t,n){t.x15_1.a(n)}function Nr(t){(function(t,n){ti(t,n,!1,0),Wr(t)})(t,t.r15_1.j17_1),Or(t,(Ji(),i));var n=t;n.c16_1=n.c16_1+t.r15_1.p1a()|0}function Rr(t,n){var e=t.r15_1.j17_1-t.c16_1|0;t.c16_1=n-e|0}function Fr(t){if(t.r15_1.f()>0){var n=t.r15_1,e=n.l17_1;if(t.f16_1.q1a(-1)!==e){!t.d16_1&&t.e16_1&&(Mr(t,!1,(Ji(),a),2),t.d16_1=!0);var r=n.u18(e);t.f16_1.z16(e),Mr(t,!1,(i=r,function(t,n,e){return n.n1c(i),wt()}),2)}}var i}function Hr(t){t.t14_1=null,t.u14_1=0,t.w14_1=0,t.c16_1=0,t.z15_1=0,t.c15_1=!1,t.d16_1=!1,t.f16_1.s7(),t.o15_1.s7(),function(t){t.y14_1=null,t.z14_1=null}(t)}function Ur(t,n,e){if(e>0)if(n>=0||Oi(xt("Invalid remove index "+n)),t.h16_1===n){var r=t;r.k16_1=r.k16_1+e|0}else Wr(t),t.h16_1=n,t.k16_1=e}function Vr(t,n,e,r){if(r>0)if(t.k16_1>0&&t.i16_1===(n-t.k16_1|0)&&t.j16_1===(e-t.k16_1|0)){var i=t;i.k16_1=i.k16_1+r|0}else Wr(t),t.i16_1=n,t.j16_1=e,t.k16_1=r}function Wr(t){var n,e,r=t.k16_1;if(t.k16_1=0,r>0)if(t.h16_1>=0){var i=t.h16_1;t.h16_1=-1,qr(t,(n=i,e=r,function(t,r,i){return t.g11(n,e),wt()}))}else{var o=t.i16_1;t.i16_1=-1;var s=t.j16_1;t.j16_1=-1,qr(t,function(t,n,e){return function(r,i,o){return r.h11(t,n,e),wt()}}(o,s,r))}}function Jr(t,n,e,r){null==e?null==r||207!==n||Ht(r,fi().h12_1)?Kr(t,n):Kr(t,Jt(r)):Kr(t,e instanceof Kt?e.s1_1:Jt(e))}function Kr(t,n){var e,r=t,i=t.z15_1;e=qt(i,3),r.z15_1=e^n}function Yr(t,n,e,r){null==e?null==r||207!==n||Ht(r,fi().h12_1)?Gr(t,n):Gr(t,Jt(r)):Gr(t,e instanceof Kt?e.s1_1:Jt(e))}function Gr(t,n){var e,r=t,i=t.z15_1^n;e=Ot(i,3),r.z15_1=e}function Xr(t,n,e){!t.p15_1||Oi(xt("Reentrant composition is not supported"));t:{var r=Fh().r1a("Compose:recompose");try{t.m15_1=Hl(),t.n15_1=t.m15_1.x1a(),t.g15_1.s7();var i=0,o=n.a1b_1;if(i1&&(_=new Zr(ci),Xt(d,_)),t.u14_1=0;var v=!1;t.p15_1=!0;try{er(t);var y=t.c1b();y!==e&&null!=e&&t.e1a(null==e||Ct(e)?e:zt()),function(t,n,e){bo();var r=go().ku();try{var i=go(),o=go().ku();i.q1h((null==o?gu():o).a(tn(t,n))),e()}finally{go().q1h(r)}}((m=t,function(t){var n=m,e=n.l15_1;return n.l15_1=e+1|0,wt()}),function(t){return function(n){var e=t,r=e.l15_1;return e.l15_1=r-1|0,wt()}}(t),function(t,n,e){return function(){return null!=t?(or(n,200,Ze()),Hh(n,t),sr(n),wt()):n.b15_1&&null!=e&&!Ht(e,fi().h12_1)?(or(n,200,Ze()),Hh(n,null!=e&&"function"==typeof e?e:zt()),sr(n),wt()):(n.o1c(),wt()),wt()}}(e,t,y)),rr(t),v=!0,wt()}finally{t.p15_1=!1,t.d15_1.s7(),v||function(t){Hr(t),t.s14_1.s7(),t.v14_1.s7(),t.x14_1.s7(),t.e15_1.s7(),t.i15_1.s7(),t.g15_1.s7(),t.r15_1.p17(),t.z15_1=0,t.l15_1=0,t.c15_1=!1,t.p15_1=!1,t.b15_1=!1}(t)}break t}finally{Fh().d1b(r)}}var m}function Zr(t){this.e1b_1=t}function Qr(t,n,e){for(;!t.f1b(e);)t.z17(),t.a1a(t.e13_1)&&n.d11(),t.p19()}function ti(t,n,e,r){var i;if(t.r15_1.n1b(n)){var o=t.r15_1.t17(n),s=o instanceof wi?o:zt(),a=t.r15_1.l1b(n,0),u=t.r15_1.u18(n),c=n+t.r15_1.i19(n)|0,l=function(t,n,e){Ji();var r=jt(),i=Ei(t,n);t:for(;i0&&Ur(t,r,$),y=0}else y=t.r15_1.b1a(n);i=y}else if(t.r15_1.k1b(n)){for(var b=n+t.r15_1.i19(n)|0,w=n+1|0,x=0;w=0&&!t.a1a(e);)e=t.v17(e);var r=0;for(e=e+1|0;e0?new We(e,t._v):e,s=0,a=n.f()-1|0;if(s<=a){do{var u=s;s=s+1|0,n.g(u)(o,r,i)}while(s<=a);wt()}return wt()}}function ii(t,n){return function(e,r,i){var o=t._v,s=0,a=n.f()-1|0;if(s<=a){do{var u=s;s=s+1|0;var c=n.g(u);Ft(e,Ve)||zt(),e.f11(o+u|0,c),e.e11(o+u|0,c)}while(s<=a);wt()}return wt()}}function oi(t,n,e){return function(r,i,o){var s,a=t.m14_1.e1c(n);null==a?Oi("Could not resolve state for movable content"):s=a;var u=s,c=i.h1c(1,u.f1c_1,1);if(!c.h()){var l=e.y1b_1,h=l instanceof so?l:zt(),p=0,f=c.f()-1|0;if(p<=f){do{var _=p;p=p+1|0;var d=c.g(_),v=i.i1c(d,0),y=v instanceof To?v:null;null==y||y.j1c(h)}while(p<=f);wt()}}return wt()}}function si(t,n){return function(){return xr(t,n.w1b_1,n.c1c_1,n.x1b_1,!0),wt()}}function ai(t,n){return function(e,r,i){var o=t._v>0?new We(e,t._v):e,s=0,a=n.f()-1|0;if(s<=a){do{var u=s;s=s+1|0,n.g(u)(o,r,i)}while(s<=a);wt()}return wt()}}function ui(t,n,e){return Ft(t,Ve)||zt(),Qr(n,t,0),n.p19(),wt()}function ci(t,n){var e,r=t.t19_1;return e=n.t19_1,nn(r,e)}function li(t,n,e,r,i,o,s){this.l14_1=t,this.m14_1=n,this.n14_1=e,this.o14_1=r,this.p14_1=i,this.q14_1=o,this.r14_1=s,this.s14_1=new Ha,this.t14_1=null,this.u14_1=0,this.v14_1=new Fa,this.w14_1=0,this.x14_1=new Fa,this.y14_1=null,this.z14_1=null,this.a15_1=!1,this.b15_1=!1,this.c15_1=!1;var a;a=jt(),this.d15_1=a,this.e15_1=new Fa,this.f15_1=mu(),this.g15_1=Wt(),this.h15_1=!1,this.i15_1=new Fa,this.j15_1=!1,this.k15_1=-1,this.l15_1=0,this.m15_1=Hl(),this.n15_1=0,this.o15_1=new Ha,this.p15_1=!1,this.q15_1=!1;var u,c=this.n14_1.t16();c.p17(),u=c,this.r15_1=u,this.s15_1=new ra;var l,h=this.s15_1.y17();h.p17(),l=h,this.t15_1=l,this.u15_1=!1,this.v15_1=null;var p,f,_=this.s15_1.t16();try{f=_.u18(0)}finally{_.p17()}p=f,this.w15_1=p;var d;d=jt(),this.x15_1=d,this.y15_1=!1,this.z15_1=0,this.a16_1=0,this.b16_1=new Ha,this.c16_1=0,this.d16_1=!1,this.e16_1=!0,this.f16_1=new Fa,this.g16_1=new Ha,this.h16_1=-1,this.i16_1=-1,this.j16_1=-1,this.k16_1=0}function hi(){}function pi(){h=this,this.h12_1=new hi}function fi(){return null==h&&new pi,h}function _i(){}function di(){if(v)return wt();v=!0,p=new vi("IGNORED",0),f=new vi("SCHEDULED",1),_=new vi("DEFERRED",2),d=new vi("IMMINENT",3)}function vi(t,n){Kt.call(this,t,n)}function yi(t,n,e,r,i,o,s){this.w1b_1=t,this.x1b_1=n,this.y1b_1=e,this.z1b_1=r,this.a1c_1=i,this.b1c_1=o,this.c1c_1=s,this.d1c_1=8}function mi(t){return Ji(),void(t||Oi(xt("Check failed")))}function gi(t){this.f1c_1=t,this.g1c_1=8}function $i(t,n){Ji(),t.t1d(n)}function bi(){}function wi(){}function xi(t){return function(){var n,e=(Ji(),Wt()),r=0,i=t.h18_1.f();if(r=0))throw rn(xt("Invalid start index"));var e;e=jt(),this.k18_1=e;var r,i=0,o=Wt(),s=0,a=this.h18_1.f();if(s=0?t.n4(e):null}function qi(t,n){Ji();var e=jt(),r=t.t16();try{Li(r,e,t.h1b(n)),wt()}finally{r.p17()}return e}function Oi(t){throw Ji(),St(xt("Compose Runtime internal error. Unexpected or incorrect use of the Compose internal runtime API ("+t+"). Please report to Google or use https://goo.gle/compose-feedback"))}function Pi(t,n,e){this.n1e_1=t,this.o1e_1=n,this.p1e_1=e}function Mi(t,n,e){Ji();var r,i=t.a3(n);if(null==i){var o=Ut();t.v3(n,o),r=o}else r=i;return r.a(e)}function Ai(t,n){Ji();var e,r=t.a3(n),i=null==r?null:sn(r);return null==i?e=null:(function(t,n,e){Ji();var r,i=t.a3(n);null==i?r=null:(i.jf(e),i.h()&&(t.og(n),wt()),r=wt())}(t,n,i),e=i),e}function Ei(t,n){Ji();var e=Ii(t,n);return e<0?0|-(e+1|0):e}function Ii(t,n){Ji();for(var e=0,r=t.f()-1|0;e<=r;){var i=(e+r|0)>>>1|0,o=t.g(i),s=an(o.t19_1,n);if(s<0)e=i+1|0;else{if(!(s>0))return i;r=i-1|0}}return 0|-(e+1|0)}function Di(t,n,e){Ji();for(var r=0,i=n;i>0&&i!==e;)i=t.v17(i),r=r+1|0;return r}function Ti(t){this.e1f_1=t}function Bi(t){this.f1f_1=t}function Li(t,n,e){if(t.a1a(e))n.a(t.n1a(e));else for(var r=e+1|0,i=e+t.i19(e)|0;r=0)for(var u=iu(s,a).c();u.d();)oo(t,e,r,u.e())}}if(e&&!t.w13_1.h()){var c=t.v13_1,l=0,h=0,p=c.p1f_1;if(h0){if(l!==f){var C=c.m1f_1[l];c.m1f_1[l]=_,c.m1f_1[f]=C}l=l+1|0}}while(h0){if(A!==D){var K=M.m1f_1[A];M.m1f_1[A]=T,M.m1f_1[D]=K}A=A+1|0}}while(E0){if(e!==o){var y=n.m1f_1[e];n.m1f_1[e]=s,n.m1f_1[o]=y}e=e+1|0}}while(r=0)for(var i=iu(e,r).c();i.d();){var o=i.e();o.l1f(n).equals(Wi())&&t.a14_1.s1f(n,o)}}function no(t,n){var e=new io(t.t13_1);try{if(n.h())return wt();t:{var r=Fh().r1a("Compose:applyChanges");try{t.q13_1.a11();var i=t.u13_1.y17();try{var o=t.q13_1,s=0,a=n.f()-1|0;if(s<=a)do{var u=s;s=s+1|0,n.g(u)(o,i,e)}while(s<=a);n.s7(),wt()}finally{i.p17()}t.q13_1.b11(),wt();break t}finally{Fh().d1b(r)}}if(e.x1f(),e.y1f(),t.c14_1)t:{var c=Fh().r1a("Compose:unobserve");try{t.c14_1=!1;var l=t.v13_1,h=0,p=0,f=l.p1f_1;if(p0){if(h!==_){var z=l.m1f_1[h];l.m1f_1[h]=d,l.m1f_1[_]=z}h=h+1|0}}while(p=0)for(var s=iu(i,o).c();s.d();){var a=s.e();if(!t.a14_1.i1g(r,a)&&!a.l1f(r).equals(Vi()))if(a.r1f()&&!n)t.w13_1.a(a);else{var u,c=e._v;if(null==c){var l=fn();e._v=l,u=l}else u=c;u.a(a)}}}function so(t,n,e){this.p13_1=t,this.q13_1=n,this.r13_1=new Eh(null),this.s13_1=Va(),this.t13_1=fn(),this.u13_1=new ra,this.v13_1=new au,this.w13_1=fn(),this.x13_1=new au;var r;r=jt(),this.y13_1=r;var i;i=jt(),this.z13_1=i,this.a14_1=new au,this.b14_1=Ga(0,1,null),this.c14_1=!1,this.d14_1=null,this.e14_1=0;var o,s=new li(this.q13_1,this.p13_1,this.u13_1,this.t13_1,this.y13_1,this.z13_1,this);this.p13_1.j1g(s),o=s,this.f14_1=o,this.g14_1=e;var a=this.p13_1;this.h14_1=a instanceof gs,this.i14_1=!1,this.j14_1=(null==g&&new lo,g).k1g_1}function ao(){}function uo(t,n){var e=t;return $i(e,"C:Composition.kt#9igjgp"),2==(11&n)&&e.v1b()&&e.z17(),wt()}function co(t,n){var e=t;return $i(e,"C:Composition.kt#9igjgp"),2==(11&n)&&e.v1b()&&e.z17(),wt()}function lo(){var t;g=this,this.k1g_1=(t=cl(954879418,!1,uo),function(n,e){return t.t1b(n,e)}),this.l1g_1=function(t){return function(n,e){return t.t1b(n,e)}}(cl(1918065384,!1,co))}function ho(){}function po(){$||($=!0,m=new Object)}function fo(){return w||(w=!0,b=mu()),b}function _o(){this.u16_1=0}function vo(t){this.w17_1=new Ja(t)}function yo(t){vo.call(this,t)}function mo(t){yo.call(this,t)}function go(){return bo(),x}function $o(){}function bo(){k||(k=!0,x=new Ih,new Ih)}function wo(t){this.r1h_1=t}function xo(){this.s1h_1=0}function ko(){}function jo(t,n){this.u1h_1=n,this.v1h_1=dn(t),this.w1h_1=null}function zo(t){this.x1h_1=t,this.y1h_1=null}function Co(){z||(z=!0,j=new xo)}function So(t,n){var e;if(n instanceof Kt)e=n.s1_1;else{var r=null==n?null:Jt(n);e=null==r?0:r}return e}function qo(t,n){this.z1h_1=t,this.a1i_1=n}function Oo(){C=this}function Po(){return null==C&&new Oo,C}function Mo(){}function Ao(){return S}function Eo(t){this.b1i_1=t}function Io(t,n){t.i13_1=n?32|t.i13_1:-33&t.i13_1}function Do(t,n){t.i13_1=n?16|t.i13_1:-17&t.i13_1}function To(t){this.i13_1=0,this.j13_1=t,this.k13_1=null,this.l13_1=null,this.m13_1=0,this.n13_1=null,this.o13_1=null}function Bo(){}function Lo(){if(I)return wt();I=!0,q=new Jo("ShutDown",0),O=new Jo("ShuttingDown",1),P=new Jo("Inactive",2),M=new Jo("InactivePendingWork",3),A=new Jo("Idle",4),E=new Jo("PendingWork",5)}function No(t,n){t:for(;;){var e=t.h1i_1.m2(),r=e.a(n);if(e===r||t.h1i_1.ky(e,r))break t}}function Ro(t,n){t:for(;;){var e=t.h1i_1.m2(),r=e.jf(n);if(e===r||t.h1i_1.ky(e,r))break t}}function Fo(t,n){t.s7(),n.n1i_1;var e=n.u1i_1,r=0,i=e.f()-1|0;if(r<=i)do{var o=r;r=r+1|0;var s=e.g(o);t.a(s)}while(r<=i);n.u1i_1.s7(),wt()}function Ho(t,n,e,r,i,o){return function(s){var a;if(t.k1i_1.b12())t:{var u=Fh().r1a("Recomposer:animation");try{t.k1i_1.c12(s),Ml().d1j(),wt();break t}finally{Fh().d1b(u)}}t:{var c=Fh().r1a("Recomposer:recompose");try{t.n1i_1,Xo(t);var l=t.s1i_1,h=0,p=l.f()-1|0;if(h<=p)do{var f=h;h=h+1|0;var _=l.g(f);n.a(_)}while(h<=p);t.s1i_1.s7(),wt();var d=new ru,v=new ru;n:for(;!n.h()||!e.h();){try{var y=0,m=n.f()-1|0;if(y<=m)do{var g=y;y=y+1|0;var $=n.g(g);v.w1e($);var b=ns(t,$,d);null==b||(r.a(b),wt())}while(y<=m)}finally{n.s7()}if(d.o1a()){t.n1i_1;var w=t.q1i_1,x=0,k=w.f()-1|0;if(x<=k){do{var j=x;x=x+1|0;var z=w.g(j);!v.l3(z)&&z.p1g(d)&&n.a(z)}while(x<=k);wt()}}if(n.h())for(Fo(e,t);!e.h();){var C=es(t,e,d);xn(i,C),Fo(e,t)}}if(!r.h()){var S=t,q=S.j1i_1;S.j1i_1=q.cn();try{xn(o,r);var O=0,P=r.f()-1|0;if(O<=P)do{var M=O;O=O+1|0,r.g(M).y1g()}while(O<=P)}finally{r.s7()}}if(!i.h())try{xn(o,i);for(var A=i.c();A.d();)A.e().z1g()}finally{i.s7()}if(!o.h())try{for(var E=o.c();E.d();)E.e().b1d()}finally{o.s7()}(function(t){var n;if(t.n1i_1,t.v1i_1.h())n=Yt();else{var e=On(t.v1i_1.c3());t.v1i_1.s7();var r=Qt(e.f()),i=0,o=e.f()-1|0;if(i<=o)do{var s=i;i=i+1|0;var a=e.g(s),u=tn(a,t.w1i_1.a3(a));r.a(u)}while(i<=o);var c=r;t.w1i_1.s7(),n=c}var l=n,h=0,p=l.f()-1|0;if(h<=p)do{var f=h;h=h+1|0;var _=l.g(f),d=_.l4(),v=_.m4();null!=v&&d.y1b_1.x1g(v)}while(h<=p)})(t),t.n1i_1,a=Ko(t);break t}finally{Fh().d1b(c)}}return a}}function Uo(t){return function(n,e){var r;t.n1i_1,t.a1j_1.m2().w1(vs())>=0?(t.r1i_1.a(n),r=Ko(t)):r=null;var i,o=r;return null==o||(Pt(),i=Mt(wt()),o.z4(i),wt()),wt()}}function Vo(t,n,e){this.m1j_1=t,this.n1j_1=n,kn.call(this,e)}function Wo(t,n,e){var r=new Vo(t,n,e),i=function(t,n){return r.p1j(t,n)};return i.$arity=1,i}function Jo(t,n){Kt.call(this,t,n)}function Ko(t){if(t.a1j_1.m2().w1(_s())<=0){t.q1i_1.s7(),t.r1i_1.s7(),t.s1i_1.s7(),t.t1i_1.s7(),t.u1i_1.s7();var n=t.x1i_1;return null==n||n.jr(null,1,null),t.x1i_1=null,null}var e;null==t.o1i_1?(t.r1i_1.s7(),t.s1i_1.s7(),e=t.k1i_1.b12()?(Lo(),M):ds()):e=!!(!!(!t.s1i_1.h()||!t.r1i_1.h())||!t.t1i_1.h())||!t.u1i_1.h()||t.y1i_1>0||t.k1i_1.b12()?ys():vs();var r,i=e;if(t.a1j_1.jy(i),i.equals(ys())){var o=t.x1i_1;t.x1i_1=null,r=o}else r=null;return r}function Yo(t){var n;if(t.n1i_1,t.z1i_1){var e;t:{for(var r=t.l1i_1.it().c();r.d();)if(r.e().xo()){e=!0;break t}e=!1}n=e}else n=!0;return n}function Go(t){this.r1j_1=t}function Xo(t){if(!t.r1i_1.h()){var n=t.r1i_1,e=0,r=n.f()-1|0;if(e<=r)do{var i=e;e=e+1|0;var o=n.g(i),s=t.q1i_1,a=0,u=s.f()-1|0;if(a<=u)do{var c=a;a=a+1|0,s.g(c).n1g(o)}while(a<=u)}while(e<=r);if(t.r1i_1.s7(),null!=Ko(t))throw St("called outside of runRecomposeAndApplyChanges")}}function Zo(t,n){t.n1i_1;var e=t.p1i_1;if(null!=e)throw e;if(t.a1j_1.m2().w1(_s())<=0)throw St("Recomposer shut down");if(null!=t.o1i_1)throw St("Recomposer already running");t.o1i_1=n,Ko(t)}function Qo(t){return t.n1i_1,!(t.r1i_1.h()&&t.s1i_1.h())||t.k1i_1.b12()}function ts(t,n,e){var r,i,o=function(t){var n=t.y7(Po());if(null==n)throw St(xt("A MonotonicFrameClock is not available in this CoroutineContext. Callers should supply an appropriate MonotonicFrameClock using withContext."));return n}(e.b5());return Cn(t.k1i_1,(r=new ps(t,n,o,null),i=function(t,n){return r.p1j(t,n)},i.$arity=1,i),e)}function ns(t,n,e){if(n.c1g()||n.m1g())return null;var r,i,o;t:{var s=Ml().e1k(rs(0,n),is(0,n,e));try{var a;n:{var u=s.f1k();try{!0===(null==e?null:e.o1a())&&n.v1d((i=e,o=n,function(){for(var t=i.c();t.d();){var n=t.e();o.u1g(n)}return wt()})),a=n.v1g();break n}finally{s.g1k(u)}}r=a;break t}finally{os(0,s)}}return r?n:null}function es(t,n,e){var r=Sn(n.f()),i=0,o=n.f()-1|0;if(i<=o)do{var s=i;i=i+1|0;var a,u=n.g(s),c=u.y1b_1,l=r.a3(c);if(null==l){var h=jt();r.v3(c,h),a=h}else a=l;a.a(u)}while(i<=o);for(var p=r,f=p.u().c();f.d();){var _=f.e(),d=_.k2(),v=_.m2();mi(!d.c1g());t:{var y=Ml().e1k(rs(0,d),is(0,d,e));try{n:{var m=y.f1k();try{t.n1i_1;var g=Qt(v.f()),$=0,b=v.f()-1|0;if($<=b)do{var w=$;$=$+1|0;var x=v.g(w),k=tn(x,bs(t.v1i_1,x.w1b_1));g.a(k)}while($<=b);var j=g;d.w1g(j),wt();break n}finally{y.g1k(m)}}break t}finally{os(0,y)}}}return qn(p.b3())}function rs(t,n){return e=n,function(t){return e.q1g(t),wt()};var e}function is(t,n,e){return r=n,i=e,function(t){return r.u1g(t),null==i||i.w1e(t),wt()};var r,i}function os(t,n){try{if(n.u1k()instanceof Bl)throw St(xt("Unsupported concurrent change during composition. A state object was modified by composition as well as being modified outside composition."))}finally{n.js()}}function ss(t){return!t.s1i_1.h()||t.k1i_1.b12()}function as(){D=this,this.h1i_1=Pn(Zc().y1o())}function us(){return null==D&&new as,D}function cs(t,n,e){t.s7(),n.n1i_1;for(var r=n.u1i_1.c();r.d();){var i=r.e();Ht(i.y1b_1,e)&&(t.a(i),r.o4())}wt()}function ls(t){return function(n){var e=Mn("Recomposer effect job completed",n),r=null,i=(t.n1i_1,t.o1i_1);null!=i?(t.a1j_1.jy(_s()),t.z1i_1?null!=t.x1i_1&&(r=t.x1i_1):i.cq(e),t.x1i_1=null,i.xp(function(t,n){return function(e){t.n1i_1;var r,i,o=t,s=n;return null==s?r=null:(null==(i=null==e||e instanceof An?null:e)||(En(s,i),wt()),r=s),o.p1i_1=r,t.a1j_1.jy(fs()),wt(),wt()}}(t,n))):(t.p1i_1=e,t.a1j_1.jy(fs()),wt());var o,s=r;return null==s||(Pt(),o=Mt(wt()),s.z4(o),wt()),wt()}}function hs(t,n){this.d1l_1=t,kn.call(this,n)}function ps(t,n,e,r){this.w1l_1=t,this.x1l_1=n,this.y1l_1=e,kn.call(this,r)}function fs(){return Lo(),q}function _s(){return Lo(),O}function ds(){return Lo(),P}function vs(){return Lo(),A}function ys(){return Lo(),E}function ms(t,n){kn.call(this,n),this.a1k_1=t}function gs(t){var n;us(),_o.call(this),this.j1i_1=new Bn(0,0),this.k1i_1=new Ye((n=this,function(){n.n1i_1;var t=Ko(n);if(n.a1j_1.m2().w1(_s())<=0)throw Mn("Recomposer shutdown; frame clock awaiter will never resume",n.p1i_1);var e,r=t;return null==r||(Pt(),e=Mt(wt()),r.z4(e),wt()),wt()}));var e,r=Nn(t.y7(Ln()));r.xp(ls(this)),e=r,this.l1i_1=e,this.m1i_1=t.f8(this.k1i_1).f8(this.l1i_1),this.n1i_1=Va(),this.o1i_1=null,this.p1i_1=null;var i;i=jt(),this.q1i_1=i;var o;o=jt(),this.r1i_1=o;var s;s=jt(),this.s1i_1=s;var a;a=jt(),this.t1i_1=a;var u;u=jt(),this.u1i_1=u;var c;c=Rn(),this.v1i_1=c;var l;l=Rn(),this.w1i_1=l,this.x1i_1=null,this.y1i_1=0,this.z1i_1=!1,this.a1j_1=Pn(ds()),this.b1j_1=new Go(this),this.c1j_1=8}function $s(){}function bs(t,n){ws();var e,r=t.a3(n);if(null==r)e=null;else{var i=Fn(r);r.h()&&t.og(n),e=i}return e}function ws(){T||(T=!0,new Object,new Object)}function xs(){}function ks(t,n,e,r,i,o){var s=n.i19(e),a=e+s|0,u=Vs(n,e),c=Vs(n,a),l=c-u|0,h=function(t,n){return n>=0&&wa(t.n12_1,Fs(t,n))}(n,e);Ds(r,s),Ts(r,l,r.d13_1),n.q12_1=0;U&&(n.b18(),n.k1c(H-n.d13_1|0),n.b18()),n.k1c(e-n.d13_1|0);var V=n.k14();U&&(n.z17(),n.p19(),n.z17(),n.p19()),R=V}else{var W=Bs(n,e,s);Ls(n,u,l,e-1|0),R=W}!R||Oi(xt("Unexpectedly removed anchors"));var J=r;return J.z12_1=J.z12_1+(oa(p,f)?1:sa(p,f))|0,o&&(r.d13_1=f+s|0,r.t12_1=g+l|0),h&&qs(r,b),F}function js(t,n,e,r,i){var o=t.y12_1>0;t.c13_1.z16(t.z12_1);var s,a=t;if(o){Ds(t,1);var u=t.d13_1,c=Fs(t,u),l=!(e===fi().h12_1),h=!(r||i===fi().h12_1);(function(t,n,e,r,i,o,s,a){var u=r?1073741824:0,c=i?536870912:0,l=o?268435456:0,h=$t(n,5);t[h+0|0]=e,t[h+1|0]=u|c|l,t[h+2|0]=s,t[h+3|0]=0,t[h+4|0]=a})(t.n12_1,c,n,r,l,h,t.e13_1,t.t12_1),t.u12_1=t.t12_1;var p=((r?1:0)+(l?1:0)|0)+(h?1:0)|0;if(p>0){Ts(t,p,u);var f=t.o12_1,_=t.t12_1;if(r){var d=_;_=d+1|0,f[d]=i}if(l){var v=_;_=v+1|0,f[v]=e}if(h){var y=_;_=y+1|0,f[y]=i}t.t12_1=_}t.z12_1=0;var m=u+1|0;t.e13_1=u,t.d13_1=m,s=m}else{var g=t.e13_1;t.a13_1.z16(g),Ps(t);var $=t.d13_1,b=Fs(t,$);Ht(i,fi().h12_1)||(r?t.j1m(i):t.r1b(i)),t.t12_1=Js(t.n12_1,t,b),t.u12_1=Ws(t.n12_1,t,Fs(t,t.d13_1+1|0)),t.z12_1=sa(t.n12_1,b),t.e13_1=$,t.d13_1=$+1|0,s=$+la(t.n12_1,b)|0}a.s12_1=s}function zs(){B=this}function Cs(){return null==B&&new zs,B}function Ss(t){var n=t.g13_1;if(null==n);else{for(;n.o1a();)Os(t,n.l1m(),n);wt()}}function qs(t,n){if(n>=0){var e,r=t.g13_1;if(null==r){var i=function(t,n,e,r){var i;return 0!=(1&n)&&(i=jt(),wt(),t=i),_a.call(r,t),r}(null,1,0,Object.create(_a.prototype));t.g13_1=i,e=i}else e=r;e.m1m(n)}}function Os(t,n,e){var r,i,o,s=Fs(t,n),a=function(t,n){for(var e=n+1|0,r=n+t.i19(n)|0;e=0&&e.m1m(u)}}function Ps(t){t.b13_1.z16((Rs(t)-t.r12_1|0)-t.s12_1|0)}function Ms(t){var n=(Rs(t)-t.r12_1|0)-t.b13_1.f19()|0;return t.s12_1=n,n}function As(t,n,e,r){for(var i=Qs(t,n,t.q12_1),o=r;o=0))break t;c.b1b_1=0|-(i-l|0),u=u+1|0}}}(t,r,n),e>0){var i=t.n12_1,o=$t(n,5),s=$t(e,5),a=$t(r,5);n=0||Oi(xt("Unexpected anchor value, expected a positive anchor")),ya(t.n12_1,h,0|-(1+(l-_|0)|0)),(h=h+1|0)===f&&(h=h+t.r12_1|0)}else for(var d=Fs(t,o),v=Fs(t,c);d0){var e=t.d13_1;Es(t,e);var r=t.q12_1,i=t.r12_1,o=t.n12_1.length/5|0,s=o-i|0;if(i=r&&(t.s12_1=$+n|0),t.q12_1=r+n|0,t.r12_1=i-n|0;var b=Xs(0,s>0?Vs(t,e+n|0):0,t.x12_1=r&&(t.x12_1=j+n|0)}}function Ts(t,n,e){if(n>0){Is(t,t.t12_1,e);var r=t.v12_1,i=t.w12_1;if(i=r&&(t.u12_1=g+n|0),t.v12_1=r+n|0,t.w12_1=i-n|0}}function Bs(t,n,e){var r;if(e>0){var i=!1,o=t.p12_1;Es(t,n),!o.h()&&(i=function(t,n,e){var r=t.r12_1,i=n+e|0,o=Rs(t)-r|0,s=ma(t.p12_1,n+e|0,o),a=s>=t.p12_1.f()?s-1|0:s,u=0,c=a+1|0;t:for(;a>=0;){var l=t.p12_1.g(a),h=t.h1b(l);if(!(h>=n))break t;hn){var u,c=t,l=a-e|0;u=Math.max(n,l),c.x12_1=u}if(t.s12_1>=t.q12_1){var h=t;h.s12_1=h.s12_1-e|0}(function(t,n){return n>=0&&ba(t.n12_1,Fs(t,n))})(t,t.e13_1)&&qs(t,t.e13_1),r=i}else r=!1;return r}function Ls(t,n,e,r){if(e>0){var i=t.w12_1;Is(t,n+e|0,r),t.v12_1=n,t.w12_1=i+e|0,Un(t.o12_1,null,n,n+e|0);var o=t.u12_1;o>=n&&(t.u12_1=o-e|0)}}function Ns(t,n,e){var r=Fs(t,n);r=Rs(n)?n.o12_1.length-n.w12_1|0:Zs(0,ga(t,e),n.w12_1,n.o12_1.length)}function Js(t,n,e){return e>=Rs(n)?n.o12_1.length-n.w12_1|0:Zs(0,xa(t,e),n.w12_1,n.o12_1.length)}function Ks(t,n,e,r){ya(t,e,Xs(0,r,n.v12_1,n.w12_1,n.o12_1.length))}function Ys(t,n,e){return Ws(t,n,e)}function Gs(t,n,e){return Ws(t,n,e)+ka(function(t,n){return t[$t(n,5)+1|0]}(t,e)>>29)|0}function Xs(t,n,e,r,i){return n>e?0|-(1+((i-r|0)-n|0)|0):n}function Zs(t,n,e,r){return n<0?1+((r-e|0)+n|0)|0:n}function Qs(t,n,e){return n-2?n:(t.f()+n|0)- -2|0}function na(t,n,e){this.o1m_1=n,this.p1m_1=e,this.n1m_1=t}function ea(t){Cs(),this.m12_1=t,this.n12_1=this.m12_1.l16_1,this.o12_1=this.m12_1.n16_1,this.p12_1=this.m12_1.s16_1,this.q12_1=this.m12_1.m16_1,this.r12_1=(this.n12_1.length/5|0)-this.m12_1.m16_1|0,this.s12_1=this.m12_1.m16_1,this.t12_1=0,this.u12_1=0,this.v12_1=this.m12_1.o16_1,this.w12_1=this.o12_1.length-this.m12_1.o16_1|0,this.x12_1=this.m12_1.m16_1,this.y12_1=0,this.z12_1=0,this.a13_1=new Fa,this.b13_1=new Fa,this.c13_1=new Fa,this.d13_1=0,this.e13_1=-1,this.f13_1=!1,this.g13_1=null}function ra(){this.l16_1=new Int32Array(0),this.m16_1=0;for(var t=0,n=Vn(Array(0),null);t<0;){null,n[t]=null,t=t+1|0}this.n16_1=n,this.o16_1=0,this.p16_1=0,this.q16_1=!1,this.r16_1=0;var e;e=jt(),this.s16_1=e}function ia(t){this.b1b_1=t}function oa(t,n){return!(0==(1073741824&t[$t(n,5)+1|0]))}function sa(t,n){return 67108863&t[$t(n,5)+1|0]}function aa(t,n){return t[$t(n,5)]}function ua(t,n){return!(0==(536870912&t[$t(n,5)+1|0]))}function ca(t,n){var e=$t(n,5);return t[e+4|0]+ka(t[e+1|0]>>30)|0}function la(t,n){return t[$t(n,5)+3|0]}function ha(t,n){return!(0==(268435456&t[$t(n,5)+1|0]))}function pa(t,n,e){if(!(e>=0))throw rn(xt("Failed requirement."));t[$t(n,5)+3|0]=e}function fa(t,n,e){if(!(e>=0&&e<67108863))throw rn(xt("Failed requirement."));t[$t(n,5)+1|0]=-67108864&t[$t(n,5)+1|0]|e}function _a(t){this.k1m_1=t}function da(t,n,e){t[$t(n,5)+2|0]=e}function va(t,n){return t[$t(n,5)+2|0]}function ya(t,n,e){t[$t(n,5)+4|0]=e}function ma(t,n,e){var r=Aa(t,n,e);return r>=0?r:0|-(r+1|0)}function ga(t,n){return t[$t(n,5)+4|0]}function $a(t,n){return!(0==(134217728&t[$t(n,5)+1|0]))}function ba(t,n){return!(0==(67108864&t[$t(n,5)+1|0]))}function wa(t,n){return!(0==(201326592&t[$t(n,5)+1|0]))}function xa(t,n){var e=$t(n,5);return t[e+4|0]+ka(t[e+1|0]>>28)|0}function ka(t){switch(t){case 0:return 0;case 1:case 2:case 4:return 1;case 3:case 5:case 6:return 2;default:return 3}}function ja(t,n,e){return oa(t,e)?n.h17_1[function(t,n){return t[$t(n,5)+4|0]}(t,e)]:fi().h12_1}function za(t,n,e){return ha(t,e)?n.h17_1[function(t,n){var e=$t(n,5);return e>=t.length?t.length:t[e+4|0]+ka(t[e+1|0]>>29)|0}(t,e)]:fi().h12_1}function Ca(t,n,e){return ua(t,e)?n.h17_1[ca(t,e)]:null}function Sa(t){this.e17_1=t,this.f17_1=this.e17_1.l16_1,this.g17_1=this.e17_1.m16_1,this.h17_1=this.e17_1.n16_1,this.i17_1=this.e17_1.o16_1,this.j17_1=0,this.k17_1=this.g17_1,this.l17_1=-1,this.m17_1=0,this.n17_1=0,this.o17_1=0}function qa(t){if(t.f1n_1.r16_1!==t.i1n_1)throw Xn()}function Oa(t,n){this.j1n_1=t,this.k1n_1=n}function Pa(t,n,e){if(this.f1n_1=t,this.g1n_1=e,this.h1n_1=n,this.i1n_1=this.f1n_1.r16_1,this.f1n_1.q16_1)throw Xn()}function Ma(t,n,e,r,i){this.v18_1=t,this.w18_1=n,this.x18_1=e,this.y18_1=r,this.z18_1=i}function Aa(t,n,e){return function(t,n,e){for(var r=0,i=t.f()-1|0;r<=i;){var o=(r+i|0)>>>1|0,s=t.g(o).b1b_1,a=an(s<0?e+s|0:s,n);if(a<0)r=o+1|0;else{if(!(a>0))return o;i=o-1|0}}return 0|-(r+1|0)}(t,n,e)}function Ea(){}function Ia(){var t=(null==L&&new Da,L);return Ft(t,Ea)?t:zt()}function Da(){L=this}function Ta(){}function Ba(){}function La(t,n){return function(t,n){return Nh(),new Ra(t,n)}(t,n)}function Na(t){Rl.call(this),this.s1n_1=t}function Ra(t,n){this.a1o_1=n,this.b1o_1=new Na(t)}function Fa(){this.x16_1=new Int32Array(10),this.y16_1=0}function Ha(){this.q17_1=jt()}function Ua(){}function Va(){return new Ua}function Wa(t){return cn("current",1,un,(function(t){return Wa(t)}),null),t.x17_1.m2()}function Ja(t){this.x17_1=on(t)}function Ka(t,n,e,r){var i=n-1|0;if(0<=i)t:do{var o=i;i=i+-1|0;var s=t.d1i_1[o];if(s===e)return o;if(Dh(s)!==r)break t}while(0<=i);var a=n+1|0,u=t.c1i_1;if(a>>1|0,s=t.y1a_1[o],a=Dh(s);if(ae))return n===s?o:Za(t,o,n,e);i=o-1|0}}return 0|-(r+1|0)}function Za(t,n,e,r){var i=n-1|0;if(0<=i)t:do{var o=i;i=i+-1|0;var s=t.y1a_1[o];if(s===e)return o;if(Dh(s)!==r)break t}while(0<=i);var a=n+1|0,u=t.a1b_1;if(a>>1|0,s=t.g(o),a=Dh(s);if(ai))return s===n?o:nu(t,o,n,i);r=o-1|0}}return 0|-(e+1|0)}function nu(t,n,e,r){var i=n-1|0;if(0<=i)t:do{var o=i;i=i+-1|0;var s=t.v1e_1[o];if(s===e)return o;if(Dh(s)!==r)break t}while(0<=i);var a=n+1|0,u=t.u1e_1;if(a>>1|0,s=pn(t.n1f_1[t.m1f_1[o]]),a=Dh(s);if(ae))return n===s?o:su(t,o,n,e);i=o-1|0}}return 0|-(r+1|0)}function su(t,n,e,r){var i=n-1|0;if(0<=i)t:do{var o,s=i;if(i=i+-1|0,(o=pn(t.n1f_1[t.m1f_1[s]]))===e)return s;if(Dh(o)!==r)break t}while(0<=i);var a=n+1|0,u=t.p1f_1;if(a>hc()>1<ac()))throw i="Trie-based persistent vector should have at least "+(ac()+1|0)+" elements, got "+this.j1p_1,rn(xt(i));this.j1p_1,lc(this.j1p_1),ae(this.i1p_1.length,ac())}function Au(t){return t.u1p_1<=ac()?0:lc(t.u1p_1)}function Eu(t){return n=t.u1p_1,n<=ac()?n:n-lc(n)|0;var n}function Iu(t,n){if(null==n)return Tu(t);if(function(t,n){return n.length===_c()&&n[_c()-1|0]===t.r1p_1}(t,n))return n;var e=Tu(t),r=ae(n.length,ac());return Hn(n,e,0,0,r),e}function Du(t,n){var e=_c(),r=Vn(Array(e),null);return r[0]=n,r[_c()-1|0]=t.r1p_1,r}function Tu(t){var n=_c(),e=Vn(Array(n),null);return e[_c()-1|0]=t.r1p_1,e}function Bu(t,n,e,r){var i;if(t.u1p_1>>hc()>1<=0))throw St(xt("Check failed."));if(0===r)return i.e();var o=Iu(t,n),s=pc(e,r),a=s,u=o[s];for(o[a]=Ru(t,null==u||ln(u)?u:zt(),e,r-hc()|0,i);(s=s+1|0)0){var r=(t.c1q_1-1|0)-(e/hc()|0)|0;ec(t,t.z1o_1,r+1|0)}}function ic(t){var n=t.z1o_1&cc(),e=t.d1q_1[t.c1q_1-1|0];return(null!=e&&ln(e)?e:zt())[n]}function oc(t,n,e,r){$u.call(this,n,e),this.c1q_1=r;var i,o=this.c1q_1;i=Vn(Array(o),null),this.d1q_1=i,this.e1q_1=n===e,this.d1q_1[0]=t,ec(this,n-(this.e1q_1?1:0)|0,1)}function sc(){return tc().m1q_1}function ac(){return R}function uc(t){var n=Vn(Array(32),null);return n[0]=t,n}function cc(){return F}function lc(t){return-32&(t-1|0)}function hc(){return H}function pc(t,n){return t>>n&31}function fc(t){this.l1p_1=t}function _c(){return U}function dc(){V=this,this.v1o_1=new yc(Vc().o1q_1,0)}function vc(){return null==V&&new dc,V}function yc(t,n){vc(),_e.call(this),this.r1q_1=t,this.s1q_1=n}function mc(t){for(var n=0,e=Vn(Array(8),null);n<8;){var r,i=n;r=new wc,e[i]=r,n=n+1|0}zc.call(this,t,e)}function gc(t){for(var n=0,e=Vn(Array(8),null);n<8;){var r,i=n;r=new xc,e[i]=r,n=n+1|0}zc.call(this,t,e)}function $c(t){for(var n=0,e=Vn(Array(8),null);n<8;){var r,i=n;r=new Sc,e[i]=r,n=n+1|0}zc.call(this,t,e)}function bc(){this.g1r_1=Vc().o1q_1.w1q_1,this.h1r_1=0,this.i1r_1=0}function wc(){bc.call(this)}function xc(){bc.call(this)}function kc(t,n){if(t.d1r_1[n].l1r())return n;if(t.d1r_1[n].m1r()){var e=t.d1r_1[n].n1r();return 6===n?t.d1r_1[n+1|0].k1r(e.w1q_1,e.w1q_1.length):t.d1r_1[n+1|0].k1r(e.w1q_1,$t(Jc(),e.v1r())),kc(t,n+1|0)}return-1}function jc(t){if(t.d1r_1[t.e1r_1].l1r())return wt();var n=t.e1r_1;if(0<=n)do{var e=n;n=n+-1|0;var r=kc(t,e);if(-1===r&&t.d1r_1[e].m1r()&&(t.d1r_1[e].o1r(),r=kc(t,e)),-1!==r)return t.e1r_1=r,wt();e>0&&t.d1r_1[e-1|0].o1r(),t.d1r_1[e].k1r(Vc().o1q_1.w1q_1,0)}while(0<=n);t.f1r_1=!1}function zc(t,n){this.d1r_1=n,this.e1r_1=0,this.f1r_1=!0,this.d1r_1[0].k1r(t.w1q_1,$t(Jc(),t.v1r())),this.e1r_1=0,jc(this)}function Cc(t,n){this.w1r_1=t,this.x1r_1=n}function Sc(){bc.call(this)}function qc(t){ve.call(this),this.b1s_1=t}function Oc(t){ye.call(this),this.c1s_1=t}function Pc(t){ve.call(this),this.d1s_1=t}function Mc(t,n,e){return function(t,n,e,r){return Wc.call(r,t,n,e,null),r}(t,n,e,Object.create(Wc.prototype))}function Ac(t,n){this.a1r_1=t,this.b1r_1=n}function Ec(t){return new Ac(t,1)}function Ic(t){return new Ac(t,0)}function Dc(t,n){return!(0==(t.u1q_1&n))}function Tc(t,n){var e=t.w1q_1[n];return null==e||Ct(e)?e:zt()}function Bc(t,n){var e=t.w1q_1[n+1|0];return null==e||Ct(e)?e:zt()}function Lc(t,n,e,r){var i=r.w1q_1;if(2===i.length&&0===r.u1q_1){if(1===t.w1q_1.length)return r.t1q_1=t.u1q_1,r;var o=t.i1s(e),s=function(t,n,e,r,i){var o=Qn(t,t.length+1|0),s=n+2|0,a=n+1|0,u=t.length;return Hn(o,o,s,a,u),Hn(o,o,e+2|0,e,n),o[e]=r,o[e+1|0]=i,o}(t.w1q_1,n,o,i[0],i[1]);return Mc(t.t1q_1^e,t.u1q_1^e,s)}var a=Qn(t.w1q_1,t.w1q_1.length);return a[n]=r,Mc(t.t1q_1,t.u1q_1,a)}function Nc(t,n,e){if(1===t.w1q_1.length)return null;var r=function(t,n){var e=t.length-1|0,r=Vn(Array(e),null);Hn(t,r,0,0,n);var i=n+1|0,o=t.length;return Hn(t,r,n,i,o),r}(t.w1q_1,n);return Mc(t.t1q_1,t.u1q_1^e,r)}function Rc(t,n,e,r,i,o,s,a){var u=Tc(t,n),c=null==u?null:Jt(u),l=Fc(t,null==c?0:c,u,Bc(t,n),r,i,o,s+5|0,a),h=t.j1s(e)+1|0;return function(t,n,e,r){var i=e-2|0,o=1+(t.length-2|0)|0,s=Vn(Array(o),null);Hn(t,s,0,0,n),Hn(t,s,n,n+2|0,e),s[i]=r;var a=i+1|0,u=t.length;return Hn(t,s,a,e,u),s}(t.w1q_1,n,h,l)}function Fc(t,n,e,r,i,o,s,a,u){if(a>30)return new Wc(0,0,[e,r,o,s],u);var c=Yc(n,a),l=Yc(i,a);return c!==l?new Wc(1<>n&31}function Gc(t,n){var e=t.length-2|0,r=Vn(Array(e),null);Hn(t,r,0,0,n);var i=n+2|0,o=t.length;return Hn(t,r,n,i,o),r}function Xc(){K=this,this.x1o_1=new Qc(ol(),ol(),vc().w1o())}function Zc(){return null==K&&new Xc,K}function Qc(t,n,e){Zc(),ve.call(this),this.m1s_1=t,this.n1s_1=n,this.o1s_1=e}function tl(){return t=Object.create(el.prototype),el.call(t,ol(),ol()),t;var t}function nl(t){return function(t,n){return el.call(n,t,ol()),n}(t,Object.create(el.prototype))}function el(t,n){this.p1s_1=t,this.q1s_1=n}function rl(t,n){this.v1s_1=t,this.w1s_1=n,this.x1s_1=0}function il(){Y=this}function ol(){return null==Y&&new il,Y}function sl(){G=this}function al(){return null==G&&new sl,G}function ul(){}function cl(t,n,e){var r=new Wh(t,n);return r.d1t(e),r}function ll(t,n){return null==t||!!(t instanceof To&&n instanceof To)&&(!(t.z1f()&&!Ht(t,n))||Ht(t.k13_1,n.k13_1))}function hl(t){return fl(2,t)}function pl(t){return fl(1,t)}function fl(t,n){return t<<($t(n%10|0,3)+1|0)}function _l(t,n,e,r,i,o,s){return function(t,n,e,r,i,o,s,a){n.b(r);var u=0,c=0,l=t.f()-1|0;if(c<=l)t:do{var h=c;c=c+1|0;var p=t.g(h);if((u=u+1|0)>1&&n.b(e),!(o<0||u<=o))break t;dl(n,p,a)}while(c<=l);return o>=0&&u>o&&n.b(s),n.b(i),n}(t,xe(),n,e,r,i,o,s).toString()}function dl(t,n,e){null!=e?t.b(e(n)):null==n||ze(n)?t.b(n):n instanceof je?t.q9(n.k1_1):t.b(mn(n))}function vl(){return hh(),X}function yl(){return hh(),Z}function ml(){return hh(),Q}function gl(t){hh(),tt=t}function $l(){return hh(),tt}function bl(t){hh(),nt=t}function wl(){return hh(),nt}function xl(){return hh(),et}function kl(){return hh(),rt}function jl(){return hh(),it}function zl(){return hh(),ot}function Cl(){return hh(),st}function Sl(){}function ql(t){this.e1t_1=t}function Ol(t){this.f1t_1=t}function Pl(){at=this}function Ml(){return null==at&&new Pl,at}function Al(t,n){Ml(),this.s1a_1=n,this.t1a_1=t,this.u1a_1=!1,this.v1a_1=0!==t?function(t,n){hh();var e=n.r1v(t);return ml(),xl().x1v(e)}(t,this.j1t()):-1,this.w1a_1=8}function El(){}function Il(t,n,e,r){Al.call(this,t,n),this.m1k_1=e,this.n1k_1=r,this.o1k_1=null,this.p1k_1=vh().g1u_1,this.q1k_1=new Int32Array(0),this.r1k_1=1,this.s1k_1=!1,this.t1k_1=8}function Dl(){ut=this,Ll.call(this),this.x1u_1=0}function Tl(){return null==ut&&new Dl,ut}function Bl(t){Ll.call(this),this.z1u_1=t,this.a1v_1=8}function Ll(){this.b1v_1=0}function Nl(t,n){ml();var e,r,i,o=jl().h()?null:Gt(jl());if(null==o)r=null;else{var s=qe(o);r=null==s?(i=o,function(t){var n=0,e=i.f()-1|0;if(n<=e){do{var r=n;n=n+1|0,i.g(r)(t)}while(n<=e);wt()}return wt()}):s}e=r,Il.call(this,t,n,null,e)}function Rl(){this.v1n_1=Hl().x1a(),this.w1n_1=null,this.x1n_1=8}function Fl(t){hh(),xl().y1v(t)}function Hl(){hh();var t=yl().ku();return null==t?zl().ku():t}function Ul(t){hh();var n=zl().ku(),e=(ml(),Ql(n,t)),r=n.i1t();if(null!=r){ml();var i=Gt(kl()),o=0,s=i.f()-1|0;if(o<=s)do{var a=o;o=o+1|0,i.g(a)(r,n)}while(o<=s)}return e}function Vl(){return hh(),Ul(lh)}function Wl(t){t.n1w_1||(t.n1w_1=!0,t.m1w_1.l1u(t))}function Jl(t,n,e,r,i){Il.call(this,t,n,e,r),this.m1w_1=i,this.n1w_1=!1,this.m1w_1.m1u(this)}function Kl(t,n,e){hh();var r=t,i=n;if(i0;){var o=((i+1|0)>>1)-1|0;if(!(e[o]>r))break t;fh(t,o,i),i=o}}function fh(t,n,e){var r=t.t1v_1,i=t.u1v_1,o=t.v1v_1,s=r[n];r[n]=r[e],r[e]=s,s=i[n],i[n]=i[e],i[e]=s,o[i[n]]=n,o[i[e]]=e}function _h(){this.s1v_1=0,this.t1v_1=new Int32Array(16),this.u1v_1=new Int32Array(16);for(var t=0,n=new Int32Array(16);t<16;){var e;e=t+1|0,n[t]=e,t=t+1|0}this.v1v_1=n,this.w1v_1=0}function dh(){lt=this,this.g1u_1=new mh(new Bn(0,0),new Bn(0,0),0,null)}function vh(){return null==lt&&new dh,lt}function yh(t,n){this.y1w_1=t,kn.call(this,n)}function mh(t,n,e,r){vh(),this.x1t_1=t,this.y1t_1=n,this.z1t_1=e,this.a1u_1=r}function gh(t,n){for(var e=0,r=t.length-1|0;e<=r;){var i=(e+r|0)>>>1|0,o=t[i];if(n>o)e=i+1|0;else{if(!(n0||Oi(xt("OffsetApplier up called with no corresponding down"));var t=this.k11_1;this.k11_1=t-1|0,this.i11_1.d11()},We.prototype.e11=function(t,n){this.i11_1.e11(t+(0===this.k11_1?this.j11_1:0)|0,n)},We.prototype.f11=function(t,n){this.i11_1.f11(t+(0===this.k11_1?this.j11_1:0)|0,n)},We.prototype.g11=function(t,n){this.i11_1.g11(t+(0===this.k11_1?this.j11_1:0)|0,n)},We.prototype.h11=function(t,n,e){var r=0===this.k11_1?this.j11_1:0;this.i11_1.h11(t+r|0,n+r|0,e)},We.$metadata$=kt("OffsetApplier",[Ve]),Je.prototype.p11=function(t){this.n11_1=t},Je.prototype.z10=function(){return this.n11_1},Je.prototype.q11=function(t){this.m11_1.a(this.z10()),this.p11(t)},Je.prototype.c11=function(t){return this.q11(null==t||Ct(t)?t:zt())},Je.prototype.d11=function(){if(this.m11_1.h())throw St(xt("Check failed."));this.p11(this.m11_1.n4(this.m11_1.f()-1|0))},Je.$metadata$=kt("AbstractApplier",[Ve]),Ke.prototype.t11=function(){return this.r11_1},Ke.prototype.xy=function(){return this.s11_1},Ke.prototype.u11=function(t){var n,e;try{var r;Pt(),r=this.r11_1(t),e=Mt(r)}catch(t){if(!(t instanceof Error))throw t;Pt(),e=Mt(At(t))}n=e,this.s11_1.z4(n)},Ke.$metadata$=kt("FrameAwaiter"),Ye.prototype.b12=function(){return this.w11_1,!this.y11_1.h()},Ye.prototype.c12=function(t){this.w11_1;var n=this.y11_1;this.y11_1=this.z11_1,this.z11_1=n;var e=0,r=n.f();if(e0},li.prototype.t1c=function(){return this.s15_1},li.prototype.u1c=function(){return this.m14_1.v1c()},li.prototype.e12=function(t){return lr(this,t,null,!1,null)},li.prototype.i12=function(){return sr(this)},li.prototype.w1c=function(){return lr(this,-127,null,!1,null)},li.prototype.x1c=function(){sr(this);var t=this.y1c();null!=t&&t.g19()&&t.z1c(!0)},li.prototype.a1d=function(){var t;if(this.h15_1)t=!0;else{var n=this.y1c();t=!0===(null==n?null:n.a1d())}return t},li.prototype.h1a=function(t,n){return lr(this,t,n,!1,null)},li.prototype.k1a=function(){return sr(this)},li.prototype.b1d=function(){this.g15_1.s7()},li.prototype.c1d=function(){return this.y15_1},li.prototype.v1b=function(){var t;if(this.y15_1||this.j15_1||this.h15_1)t=!1;else{var n=this.y1c();t=!1===(null==n?null:n.d1d())}return!!t&&!this.b15_1},li.prototype.c18=function(){lr(this,this.y15_1?125:this.j15_1?125===this.r15_1.p18()?126:125:126===this.r15_1.p18()?126:125,null,!0,null),this.c15_1=!0},li.prototype.e1d=function(t){zr(this),this.y15_1||Oi(xt("createNode() can only be called when inserting"));var n,e,r,i,o,s=this.v14_1.f1d(),a=this.t15_1.u18(this.t15_1.e13_1),u=this.w14_1;this.w14_1=u+1|0,Lr(this,(r=t,i=a,o=s,function(t,n,e){var s=r();return n.o1b(i,s),(Ft(t,Ve)?t:zt()).e11(o,s),t.c11(s),wt()})),n=this,e=function(t,n){return function(e,r,i){var o=r.p1b(t);return e.d11(),(Ft(e,Ve)?e:zt()).f11(n,o),wt()}}(a,s),n.g16_1.e19(e)},li.prototype.g1d=function(){var t;zr(this),!this.y15_1||Oi(xt("useNode() called while inserting")),Dr(this,(t=this.r15_1).n1a(t.l17_1))},li.prototype.h1d=function(){return pr(this,!0)},li.prototype.i1d=function(t,n){var e,r,i=(e=n,r=t,function(t,n,i){var o=t.z10();return e(null==o||Ct(o)?o:zt(),r),wt()});this.y15_1?Lr(this,i):qr(this,i)},li.prototype.c1b=function(){var t;if(this.y15_1)Cr(this),t=fi().h12_1;else{var n=this.r15_1.e();t=this.j15_1?fi().h12_1:n}return t},li.prototype.j12=function(t){var n;return Ht(this.c1b(),t)?n=!1:(this.e1a(t),n=!0),n},li.prototype.j1d=function(t){var n=this.c1b();return(null==n||"boolean"!=typeof n||t!==n)&&(this.e1a(t),!0)},li.prototype.e1a=function(t){if(this.y15_1)this.t15_1.l1d(t),null!=t&&Ft(t,xs)&&(Sr(this,(e=t,function(t,n,r){return r.k12(e),wt()})),this.o14_1.a(t));else{var n=this.r15_1.k1d()-1|0;null!=t&&Ft(t,xs)&&this.o14_1.a(t),Pr(this,!0,function(t,n){return function(e,r,i){null!=t&&Ft(t,xs)&&(i.k12(t),wt());var o=r.q1b(n,t);if(null!=o&&Ft(o,xs))i.l12(o),wt();else if(o instanceof To){var s=o.j13_1;null!=s&&(o.ot(),s.c14_1=!0,wt())}return wt()}}(t,n))}var e},li.prototype.y1c=function(){var t=this.o15_1;return 0===this.l15_1&&t.o1a()?t.f1d():null},li.prototype.l1a=function(t,n){var e=t.k13_1;if(null==e)return!1;var r=e.l1c(this.n14_1);return!!(this.p15_1&&r>=this.r15_1.j17_1)&&(function(t,n,e,r){Ji();var i=Ii(t,n);if(i<0){var o,s=0|-(i+1|0),a=r;if(null==a)o=null;else{var u=new ru;u.w1e(a),o=u}t.yf(s,new ji(e,n,o))}else if(null==r)t.g(i).u19_1=null;else{var c=t.g(i).u19_1;null==c||c.w1e(r)}}(this.d15_1,r,t,n),!0)},li.prototype.o1c=function(){if(this.d15_1.h())(o=i=this).w14_1=o.w14_1+i.r15_1.r17()|0;else{var t=this.r15_1,n=t.p18(),e=t.r18(),r=t.a18();Jr(this,n,e,r),cr(this,t.i1b(),null),fr(this),t.n19(),Yr(this,n,e,r)}var i,o},li.prototype.z17=function(){0===this.w14_1||Oi(xt("No nodes can be emitted before calling skipAndEndGroup"));var t=this.y1c();null==t||t.m1d(),this.d15_1.h()?wr(this):fr(this)},li.prototype.n1d=function(t){return lr(this,t,null,!1,null),function(t){if(t.y15_1){var n=t.r14_1,e=new To(n instanceof so?n:zt());t.o15_1.e19(e),t.e1a(e),e.g1a(t.n15_1)}else{var r,i=Si(t.d15_1,t.r15_1.l17_1),o=t.r15_1.e();if(Ht(o,fi().h12_1)){var s=t.r14_1,a=new To(s instanceof so?s:zt());t.e1a(a),r=a}else r=o instanceof To?o:zt();var u=r;u.f1a(!(null==i)),t.o15_1.e19(u),u.g1a(t.n15_1)}}(this),this},li.prototype.o1d=function(){var t=this.o15_1.o1a()?this.o15_1.f19():null;null==t||t.f1a(!1);var n,e,r,i=null==t?null:t.p1d(this.n15_1);if(null==i||(Sr(this,(e=i,r=this,function(t,n,i){return e(r.r14_1),wt()})),wt()),null==t||t.r1d()||!t.g19()&&!this.a15_1)n=null;else{if(null==t.k13_1){var o,s=t;o=this.y15_1?this.t15_1.u18(this.t15_1.e13_1):this.r15_1.u18(this.r15_1.l17_1),s.k13_1=o}t.q1d(!1),n=t}var a=n;return pr(this,!1),a},li.prototype.s1d=function(t){t:{var n=this.q14_1,e=this.p14_1;try{this.p14_1=n,Sr(this,(Ji(),u));var r=0,i=t.f()-1|0;if(r<=i)do{var s=r;r=r+1|0;var a=t.g(s),c=a.l4(),l=a.m4(),h=c.a1c_1,p=c.z1b_1.h1b(h),f={_v:0};if(Ar(this),Sr(this,ni(f,h)),null==l){var _=c.z1b_1;Ht(_,this.s15_1)&&ur(this);var d=c.z1b_1.t16();try{d.d19(p),this.c16_1=p;var v=jt();jr(this,null,null,null,null,ei(this,v,d,c),30),!v.h()&&(Sr(this,ri(f,v)),wt())}finally{d.p17()}}else{var y=qi(l.z1b_1,l.a1c_1);if(!y.h()){Sr(this,ii(f,y));var m=this.n14_1.h1b(h);mr(this,m,yr(this,m)+y.f()|0)}Sr(this,oi(this,l,c));var g=l.z1b_1,$=g.t16();try{n:{var b=this.r15_1,w=this.y14_1;this.y14_1=null;try{this.r15_1=$;var x=g.h1b(l.a1c_1);$.d19(x),this.c16_1=x;var k,j=jt();e:{var z=this.p14_1;try{this.p14_1=j;var C=$.j17_1;kr(this,l.y1b_1,c.y1b_1,C,l.b1c_1,si(this,c));break e}finally{this.p14_1=z}}!j.h()&&(Sr(this,ai(f,j)),k=wt()),k;break n}finally{this.r15_1=b,this.y14_1=w}}}finally{$.p17()}}Sr(this,(Ji(),o))}while(r<=i);Sr(this,ui),this.c16_1=0,wt();break t}finally{this.p14_1=e}}Hr(this)},li.prototype.t1d=function(t){this.y15_1&&this.t15_1.u1d(t)},li.prototype.v1d=function(t){!this.p15_1||Oi(xt("Preparing a composition while composing is not supported")),this.p15_1=!0;try{t()}finally{this.p15_1=!1}},li.prototype.w1d=function(t){return this.p14_1.h()||Oi(xt("Expected applyChanges() to have been called")),!(!t.o1a()&&this.d15_1.h()&&!this.b15_1||(Xr(this,t,null),this.p14_1.h()))},li.prototype.x1d=function(){return this.y1c()},li.prototype.f12=function(){return this.c1b()},li.prototype.g12=function(t){return this.e1a(t)},li.prototype.y1d=function(t){var n=t instanceof To?t:null;null==n||n.z1d(!0)},li.prototype.a1e=function(t,n){this.p14_1.h()||Oi(xt("Expected applyChanges() to have been called")),Xr(this,t,n)},li.$metadata$=kt("ComposerImpl",[_i]),hi.prototype.toString=function(){return"Empty"},hi.$metadata$=kt(),pi.prototype.b1e=function(){return this.h12_1},pi.$metadata$=en("Companion"),_i.$metadata$=bt("Composer"),vi.$metadata$=kt("InvalidationResult",void 0,void 0,void 0,void 0,Kt.prototype),yi.prototype.c1e=function(){return this.w1b_1},yi.prototype.d1e=function(){return this.x1b_1},yi.prototype.e1e=function(){return this.y1b_1},yi.prototype.f1e=function(){return this.z1b_1},yi.prototype.g1e=function(){return this.a1c_1},yi.prototype.h1e=function(){return this.b1c_1},yi.prototype.i1e=function(){return this.c1c_1},yi.$metadata$=kt("MovableContentStateReference"),gi.prototype.f1e=function(){return this.f1c_1},gi.$metadata$=kt("MovableContentState"),bi.$metadata$=bt("ScopeUpdateScope"),wi.$metadata$=kt("MovableContent"),ki.prototype.k1e=function(){return this.h18_1},ki.prototype.l1e=function(){return this.i18_1},ki.prototype.m1e=function(){return cn("keyMap",1,un,(function(t){return t.m1e()}),null),this.m18_1.m2()},ki.prototype.s18=function(t,n){var e=null!=n?new qo(t,n):t;return Ai(this.m1e(),e)},ki.prototype.o18=function(t){return this.k18_1.a(t)},ki.prototype.g19=function(){return this.k18_1},ki.prototype.c19=function(t,n){if(t>n)for(var e=this.l18_1.c3().c();e.d();){var r=e.e(),i=r.n1e_1;i===t?r.n1e_1=n:n<=i&&it)for(var o=this.l18_1.c3().c();o.d();){var s=o.e(),a=s.n1e_1;a===t?s.n1e_1=n:(t+1|0)<=a&&an)for(var r=this.l18_1.c3().c();r.d();){var i=r.e(),o=i.o1e_1;t<=o&&o<(t+e|0)?i.o1e_1=n+(o-t|0)|0:n<=o&&ot)for(var s=this.l18_1.c3().c();s.d();){var a=s.e(),u=a.o1e_1;t<=u&&u<(t+e|0)?a.o1e_1=n+(u-t|0)|0:(t+1|0)<=u&&u=r&&!Ht(s,e)){var a=s.o1e_1+i|0;a>=0&&(s.o1e_1=a)}}return!0}return!1},ki.prototype.b19=function(t){var n=this.l18_1.a3(t.x18_1),e=null==n?null:n.n1e_1;return null==e?-1:e},ki.prototype.a19=function(t){var n=this.l18_1.a3(t.x18_1),e=null==n?null:n.o1e_1;return null==e?-1:e},ki.prototype.j19=function(t){var n=this.l18_1.a3(t.x18_1),e=null==n?null:n.p1e_1;return null==e?t.y18_1:e},ki.$metadata$=kt("Pending"),ji.prototype.q1e=function(){return this.s19_1},ji.prototype.r1e=function(){return this.t19_1},ji.prototype.s1e=function(){return this.u19_1},ji.prototype.y19=function(){return this.s19_1.t1e(this.u19_1)},ji.$metadata$=kt("Invalidation"),Pi.prototype.x1e=function(t){this.n1e_1=t},Pi.prototype.y1e=function(){return this.n1e_1},Pi.prototype.z1e=function(t){this.o1e_1=t},Pi.prototype.a1f=function(){return this.o1e_1},Pi.$metadata$=kt("GroupInfo"),Ti.prototype.toString=function(){return"Updater(composer="+this.e1f_1+")"},Ti.prototype.hashCode=function(){return t=this.e1f_1,Jt(t);var t},Ti.prototype.equals=function(t){return function(t,n){if(!(n instanceof Ti))return!1;var e=n instanceof Ti?n.e1f_1:zt();return!!Ht(t,e)}(this.e1f_1,t)},Ti.$metadata$=kt("Updater"),Bi.prototype.toString=function(){return"SkippableUpdater(composer="+this.f1f_1+")"},Bi.prototype.hashCode=function(){return t=this.f1f_1,Jt(t);var t},Bi.prototype.equals=function(t){return function(t,n){if(!(n instanceof Bi))return!1;var e=n instanceof Bi?n.f1f_1:zt();return!!Ht(t,e)}(this.f1f_1,t)},Bi.$metadata$=kt("SkippableUpdater"),io.prototype.k12=function(t){var n=this.v1f_1.i2(t);n>=0?(this.v1f_1.n4(n),this.t1f_1.jf(t)):this.u1f_1.a(t)},io.prototype.l12=function(t){var n=this.u1f_1.i2(t);n>=0?(this.u1f_1.n4(n),this.t1f_1.jf(t)):this.v1f_1.a(t)},io.prototype.x1f=function(){if(!this.v1f_1.h())t:{var t=Fh().r1a("Compose:onForgotten");try{var n=this.v1f_1.f()-1|0;if(0<=n){do{var e=n;n=n+-1|0;var r=this.v1f_1.g(e);this.t1f_1.i(r)||r.f1g()}while(0<=n);wt()}break t}finally{Fh().d1b(t)}}if(!this.u1f_1.h())t:{var i=Fh().r1a("Compose:onRemembered");try{var o=this.u1f_1,s=0,a=o.f()-1|0;if(s<=a){do{var u=s;s=s+1|0;var c=o.g(u);this.t1f_1.jf(c),c.g1g()}while(s<=a);wt()}break t}finally{Fh().d1b(i)}}},io.prototype.y1f=function(){if(!this.w1f_1.h())t:{var t=Fh().r1a("Compose:sideeffects");try{var n=this.w1f_1,e=0,r=n.f()-1|0;if(e<=r)do{var i=e;e=e+1|0,n.g(i)()}while(e<=r);this.w1f_1.s7(),wt();break t}finally{Fh().d1b(t)}}},io.prototype.a1g=function(){if(!this.t1f_1.h())t:{var t=Fh().r1a("Compose:abandons");try{for(var n=this.t1f_1.c();n.d();){var e=n.e();n.o4(),e.h1g()}wt();break t}finally{Fh().d1b(t)}}},io.$metadata$=kt("RememberEventDispatcher",[tr]),so.prototype.f1e=function(){return this.u13_1},so.prototype.c1g=function(){return this.f14_1.p15_1},so.prototype.m1g=function(){return this.i14_1},so.prototype.n1g=function(t){t:for(;;){var n,e=this.r13_1.ku(),r=e;if(null==r||Ht(r,Ki()))n=t;else if(null!=r&&Ft(r,hn))n=[e,t];else{if(null==r||!ln(r)){var i="corrupt pendingModifications: "+this.r13_1;throw St(xt(i))}n=_n(null!=e&&ln(e)?e:zt(),t)}var o=n;if(this.r13_1.o1g(e,o)){null==e&&(this.s13_1,Xi(this),wt());break t}}},so.prototype.p1g=function(t){for(var n=t.c();n.d();){var e=n.e();if(this.v13_1.q1f(e)||this.x13_1.q1f(e))return!0}return!1},so.prototype.v1d=function(t){return this.f14_1.v1d(t)},so.prototype.q1g=function(t){if(!this.f14_1.s1c()){var n=this.f14_1.y1c();if(null==n);else{if(n.z1d(!0),this.v13_1.s1f(t,n),Ft(t,$o)){this.x13_1.r1g(t);for(var e=t.s1g().c();e.d();){var r=e.e();this.x13_1.s1f(r,t)}}n.t1g(t),wt()}}},so.prototype.u1g=function(t){this.s13_1,to(this,t);var n,e=this.x13_1,r=ou(e,t);if(r>=0){for(var i=iu(e,r).c();i.d();)to(this,i.e());n=wt()}return n},so.prototype.v1g=function(){this.s13_1,Gi(this);var t,n=!1;try{var e=this.f14_1.w1d(ro(this));e||Xi(this),n=!0,t=e}finally{!n&&!this.t13_1.h()&&new io(this.t13_1).a1g()}return t},so.prototype.w1g=function(t){var n;t:{var e=0,r=t.f()-1|0;if(e<=r)do{var i=e;e=e+1|0;var o=t.g(i);if(!Ht(o.j4_1.y1b_1,this)){n=!1;break t}}while(e<=r);n=!0}mi(n);var s=!1;try{this.f14_1.s1d(t);wt();s=!0}finally{!s&&!this.t13_1.h()&&new io(this.t13_1).a1g()}},so.prototype.x1g=function(t){var n=new io(this.t13_1),e=t.f1c_1.y17();try{nr(e,n),wt()}finally{e.p17()}n.x1f()},so.prototype.y1g=function(){this.s13_1,no(this,this.y13_1),Xi(this),wt()},so.prototype.z1g=function(){this.s13_1,!this.z13_1.h()&&(no(this,this.z13_1),wt())},so.prototype.b1d=function(){this.s13_1,this.f14_1.b1d(),!this.t13_1.h()&&(new io(this.t13_1).a1g(),wt())},so.prototype.a1h=function(){this.s13_1;for(var t=this.u13_1.n16_1,n=0,e=t.length;n=0){var i;this.d14_1=t instanceof so?t:zt(),this.e14_1=n;try{i=e()}finally{this.d14_1=null,this.e14_1=0}r=i}else r=e();return r},so.prototype.c1h=function(t,n){t.d1h()&&t.q1d(!0);var e=t.k13_1;return null!=e&&this.u13_1.e1h(e)&&e.z1f()&&e.z1f()&&t.f1h()?eo(this,t,e,n):Vi()},so.prototype.g1h=function(t,n){this.v13_1.i1g(t,n)},so.prototype.h1h=function(t){this.v13_1.q1f(t)||this.x13_1.r1g(t)},so.prototype.i1h=function(t){this.j14_1=t},so.prototype.j1h=function(t){if(this.i14_1)throw St(xt("The composition is disposed"));this.i1h(t),this.p13_1.k1h(this,this.j14_1)},so.prototype.l1h=function(t){var n=!1;try{this.s13_1,Gi(this),this.f14_1.a1e(ro(this),t),wt(),n=!0}finally{!n&&!this.t13_1.h()&&new io(this.t13_1).a1g()}},so.$metadata$=kt("CompositionImpl",[ao]),ao.$metadata$=bt("ControlledComposition",[ho]),lo.$metadata$=en("ComposableSingletons$CompositionKt"),ho.$metadata$=bt("Composition"),_o.prototype.b17=function(t){},_o.prototype.j1g=function(t){},_o.prototype.w16=function(){return fo()},_o.prototype.v16=function(){},_o.prototype.d17=function(){},_o.prototype.e1c=function(t){return null},_o.$metadata$=kt("CompositionContext"),vo.$metadata$=kt("CompositionLocal"),yo.$metadata$=kt("ProvidableCompositionLocal",void 0,void 0,void 0,void 0,vo.prototype),mo.$metadata$=kt("StaticProvidableCompositionLocal",void 0,void 0,void 0,void 0,yo.prototype),$o.$metadata$=bt("DerivedState",[Ta]),wo.prototype.js=function(){this.r1h_1()},wo.$metadata$=kt(void 0,[ko]),xo.prototype.t1h=function(t){return new wo(t)},xo.$metadata$=kt("DisposableEffectScope"),ko.$metadata$=bt("DisposableEffectResult"),jo.prototype.g1g=function(){var t=this.w1h_1;null==t||vn(t,"Old job was still running!",null,2,null),this.w1h_1=yn(this.v1h_1,null,null,this.u1h_1,3,null)},jo.prototype.f1g=function(){var t=this.w1h_1;null==t||t.dq(null,1,null),this.w1h_1=null},jo.prototype.h1g=function(){var t=this.w1h_1;null==t||t.dq(null,1,null),this.w1h_1=null},jo.$metadata$=kt("LaunchedEffectImpl",[xs]),zo.prototype.g1g=function(){this.y1h_1=this.x1h_1((Co(),j))},zo.prototype.f1g=function(){var t=this.y1h_1;null==t||t.js(),this.y1h_1=null},zo.prototype.h1g=function(){},zo.$metadata$=kt("DisposableEffectImpl",[xs]),qo.prototype.hashCode=function(){return $t(So(0,this.z1h_1),31)+So(0,this.a1i_1)|0},qo.prototype.toString=function(){return"JoinedKey(left="+mn(this.z1h_1)+", right="+mn(this.a1i_1)+")"},qo.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof qo))return!1;var n=t instanceof qo?t:zt();return!!Ht(this.z1h_1,n.z1h_1)&&!!Ht(this.a1i_1,n.a1i_1)},qo.$metadata$=kt("JoinedKey"),Oo.$metadata$=en("Key",[gn]),Mo.$metadata$=bt("MonotonicFrameClock",[$n]),Eo.prototype.toString=function(){return"OpaqueKey(key="+this.b1i_1+")"},Eo.prototype.hashCode=function(){return bn(this.b1i_1)},Eo.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Eo))return!1;var n=t instanceof Eo?t:zt();return this.b1i_1===n.b1i_1},Eo.$metadata$=kt("OpaqueKey"),To.prototype.g1e=function(){return this.k13_1},To.prototype.z1f=function(){var t;if(null!=this.j13_1){var n=this.k13_1,e=null==n?null:n.z1f();t=null!=e&&e}else t=!1;return t},To.prototype.f1h=function(){return!(null==this.l13_1)},To.prototype.z1d=function(t){this.i13_1=t?1|this.i13_1:-2&this.i13_1},To.prototype.g19=function(){return!(0==(1&this.i13_1))},To.prototype.z1c=function(t){this.i13_1=t?2|this.i13_1:-3&this.i13_1},To.prototype.d1h=function(){return!(0==(2&this.i13_1))},To.prototype.q1d=function(t){this.i13_1=t?4|this.i13_1:-5&this.i13_1},To.prototype.a1d=function(){return!(0==(4&this.i13_1))},To.prototype.f1a=function(t){this.i13_1=t?8|this.i13_1:-9&this.i13_1},To.prototype.d1d=function(){return!(0==(8&this.i13_1))},To.prototype.w19=function(t){var n=this.l13_1;if(null==(null==n?null:n(t,1)))throw St("Invalid restart scope")},To.prototype.l1f=function(t){var n=this.j13_1,e=null==n?null:n.c1h(this,t);return null==e?Vi():e},To.prototype.ot=function(){this.j13_1=null,this.n13_1=null,this.o13_1=null},To.prototype.j1c=function(t){this.j13_1=t},To.prototype.b1h=function(){var t=this.j13_1;null==t||t.c1h(this,null)},To.prototype.j1e=function(t){this.l13_1=t},To.prototype.r1d=function(){return!(0==(16&this.i13_1))},To.prototype.g1a=function(t){this.m13_1=t,Do(this,!1)},To.prototype.m1d=function(){Do(this,!0)},To.prototype.t1g=function(t){if(0!=(32&this.i13_1))return wt();var n,e=this.n13_1;if(null==e){var r=new Ya;this.n13_1=r,n=r}else n=e;if(n.g1i(t,this.m13_1),Ft(t,$o)){var i,o=this.o13_1;if(null==o){var s=Ga(0,1);this.o13_1=s,i=s}else i=o;i.d1g(t,t.o1h())}},To.prototype.r1f=function(){return!(null==this.o13_1)},To.prototype.t1e=function(t){if(null==t)return!0;var n=this.o13_1;if(null==n)return!0;var e,r=n;if(t.o1a()){var i;t:if(null!=t&&Ft(t,wn)&&t.h())i=!0;else{for(var o=t.c();o.d();){var s=o.e();if(!Ft(s,$o)||!Ht(r.m1h(s),s.o1h())){i=!1;break t}}i=!0}e=i}else e=!1;return!e},To.prototype.v19=function(){var t=this.j13_1;if(null==t);else{var n=this.n13_1;if(null==n);else{Io(this,!0);try{var e=0,r=n.c1i_1;if(e0&&(this.q1i_1.i(t)||(this.q1i_1.a(t),wt())),function(t,n){var e;t.n1i_1;t:{var r=t.u1i_1,i=0,o=r.f()-1|0;if(i<=o)do{var s=i;i=i+1|0;var a=r.g(s);if(Ht(a.y1b_1,n)){e=!0;break t}}while(i<=o);e=!1}if(!e)return wt();var u=jt();for(cs(u,t,n);!u.h();)es(t,u,null),cs(u,t,n)}(this,t),t.y1g(),t.z1g(),e||Ml().i1m()},gs.$metadata$=kt("Recomposer",void 0,void 0,void 0,void 0,_o.prototype),$s.$metadata$=bt("RecomposerInfo"),xs.$metadata$=bt("RememberObserver"),zs.$metadata$=en("Companion"),na.prototype.d=function(){return this.n1m_1this.e13_1&&tthis.a13_1.q1a(0))e=n+this.i19(n)|0;else{var r=this.a13_1.r1m(n);e=r<0?n+this.i19(n)|0:(Rs(this)-this.r12_1|0)-this.b13_1.z19(r)|0}return t>n&&t=0||Oi(xt("Cannot insert auxiliary data when not inserting"));var n=this.e13_1,e=Fs(this,n);!ha(this.n12_1,e)||Oi(xt("Group already has auxiliary data")),Ts(this,1,n);var r,i,o=Gs(this.n12_1,this,e),s=Hs(this,o);if(this.t12_1>o){var a=this.t12_1-o|0;if(!(a<3))throw St(xt("Moving more than two slot not supported"));a>1&&(this.o12_1[s+2|0]=this.o12_1[s+1|0]),this.o12_1[s+1|0]=this.o12_1[s]}r=this.n12_1,i=$t(e,5)+1|0,r[i]=268435456|r[i],this.o12_1[s]=t;var u=this.t12_1;this.t12_1=u+1|0},ea.prototype.j1m=function(t){return Ns(this,this.d13_1,t)},ea.prototype.o1b=function(t,n){return Ns(this,t.s1m(this),n)},ea.prototype.w1m=function(t){this.t12_1<=this.u12_1||Oi(xt("Writing to an invalid slot")),this.o12_1[Hs(this,this.t12_1-1|0)]=t},ea.prototype.q1b=function(t,n){var e,r=Fs(this,this.d13_1),i=Js(this.n12_1,this,r),o=Ws(this.n12_1,this,Fs(this,this.d13_1+1|0)),s=i+t|0;s>=i&&s0&&Ts(this,1,this.e13_1);var t=this.o12_1,n=this.t12_1;return this.t12_1=n+1|0,t[Hs(this,n)]},ea.prototype.i1c=function(t,n){return this.x1m(this.h1b(t),n)},ea.prototype.x1m=function(t,n){var e=Fs(this,t),r=Js(this.n12_1,this,e),i=Ws(this.n12_1,this,Fs(this,t+1|0)),o=r+n|0;if(!(r<=o&&o=0))throw rn(xt("Cannot seek backwards"));if(!(this.y12_1<=0))throw St(xt("Cannot call seek() while inserting"));if(0===t)return wt();var n,e=this.d13_1+t|0;e>=this.e13_1&&e<=this.s12_1||(n="Cannot seek outside the current group ("+this.e13_1+"-"+this.s12_1+")",Oi(xt(n))),this.d13_1=e;var r=Ws(this.n12_1,this,Fs(this,e));this.t12_1=r,this.u12_1=r},ea.prototype.z17=function(){var t=this.s12_1;this.d13_1=t,this.t12_1=Ws(this.n12_1,this,Fs(this,t))},ea.prototype.t18=function(){var t=this.y12_1;this.y12_1=t+1|0,0===t&&Ps(this)},ea.prototype.q19=function(){if(!(this.y12_1>0))throw St(xt("Unbalanced begin/end insert"));var t=this;t.y12_1=t.y12_1-1|0,0===t.y12_1&&(this.c13_1.f()!==this.a13_1.f()&&Oi(xt("startGroup/endGroup mismatch while inserting")),Ms(this))},ea.prototype.b18=function(){if(0!==this.y12_1)throw rn(xt("Key must be supplied when inserting"));js(this,0,fi().h12_1,!1,fi().h12_1)},ea.prototype.e18=function(t,n){return js(this,t,n,!1,fi().h12_1)},ea.prototype.g18=function(t){return js(this,125,t,!0,fi().h12_1)},ea.prototype.f18=function(t,n,e){return js(this,t,n,!1,e)},ea.prototype.p19=function(){var t=this.y12_1>0,n=this.d13_1,e=this.s12_1,r=this.e13_1,i=Fs(this,r),o=this.z12_1,s=n-r|0,a=oa(this.n12_1,i);if(t)pa(this.n12_1,i,s),fa(this.n12_1,i,o),this.z12_1=this.c13_1.f19()+(a?1:o)|0,this.e13_1=Us(this.n12_1,this,r);else{if(n!==e)throw rn(xt("Expected to be at the end of a group"));var u=la(this.n12_1,i),c=sa(this.n12_1,i);pa(this.n12_1,i,s),fa(this.n12_1,i,o);var l=this.a13_1.f19();Ms(this),this.e13_1=l;var h=Us(this.n12_1,this,r);if(this.z12_1=this.c13_1.f19(),h===l){this.z12_1=this.z12_1+(a?0:o-c|0)|0}else{var p=s-u|0,f=a?0:o-c|0;if(0!==p||0!==f)for(var _=h;0!==_&&_!==l&&(0!==f||0!==p);){var d=Fs(this,_);if(0!==p){var v=la(this.n12_1,d)+p|0;pa(this.n12_1,d,v)}0!==f&&fa(this.n12_1,d,sa(this.n12_1,d)+f|0),oa(this.n12_1,d)&&(f=0),_=Us(this.n12_1,this,_)}this.z12_1=this.z12_1+f|0}}return o},ea.prototype.g1f=function(t){if(!(this.y12_1<=0))throw rn(xt("Cannot call ensureStarted() while inserting"));var n=this.e13_1;if(n!==t){if(!(t>=n&&t=t;)r.l1m();wt()}var i=Bs(this,t,this.d13_1-t|0);Ls(this,n,this.t12_1-n|0,t-1|0),this.d13_1=t,this.t12_1=n;return this.z12_1=this.z12_1-e|0,i},ea.prototype.h13=function(){return new na(Ws(this.n12_1,this,Fs(this,this.d13_1)),Ws(this.n12_1,this,Fs(this,this.d13_1+this.i19(this.d13_1)|0)),this)},ea.prototype.s1b=function(t){if(0!==this.y12_1)throw rn(xt("Cannot move a group while inserting"));if(!(t>=0))throw rn(xt("Parameter offset is out of bounds"));if(0===t)return wt();for(var n=this.d13_1,e=this.e13_1,r=this.s12_1,i=t,o=n;i>0;){if(!((o=o+la(this.n12_1,Fs(this,o))|0)<=r))throw rn(xt("Parameter offset is out of bounds"));i=i-1|0}var s=la(this.n12_1,Fs(this,o)),a=this.t12_1,u=Ws(this.n12_1,this,Fs(this,o)),c=Ws(this.n12_1,this,Fs(this,o+s|0)),l=c-u|0,h=this.d13_1-1|0;Ts(this,l,Math.max(h,0)),Ds(this,s);var p=this.n12_1,f=Fs(this,o+s|0),_=$t(f,5),d=Fs(this,n),v=$t(d,5),y=_+$t(s,5)|0;if(Hn(p,p,v,_,y),l>0){var m=this.o12_1,g=Hs(this,u+l|0),$=Hs(this,c+l|0);Hn(m,m,a,g,$)}var b=(u+l|0)-a|0,w=this.v12_1,x=this.w12_1,k=this.o12_1.length,j=this.x12_1,z=n,C=n+s|0;if(z=0)t:for(;s=n&&c=t.q12_1?_.b1b_1=0|-(o-d|0):_.b1b_1=d;var v=ma(t.p12_1,d,o);t.p12_1.yf(v,_)}while(h<=p)})(this,o+s|0,n,s),!Bs(this,o+s|0,s)||Oi(xt("Unexpectedly removed anchors")),As(this,e,this.s12_1,n),l>0&&Ls(this,u+l|0,l,(o+s|0)-1|0)},ea.prototype.p1c=function(t,n,e){if(!(e.y12_1>0))throw rn(xt("Failed requirement."));if(0!==this.y12_1)throw rn(xt("Failed requirement."));if(!t.z1f())throw rn(xt("Failed requirement."));var r=this.h1b(t)+n|0,i=this.d13_1;if(!(i<=r&&r0;c>=i;){var h=Fs(this,c);pa(this.n12_1,h,la(this.n12_1,h)-s|0),l&&(oa(this.n12_1,h)?l=!1:fa(this.n12_1,h,sa(this.n12_1,h)-a|0)),c=this.v17(c)}if(l){mi(this.z12_1>=a);this.z12_1=this.z12_1-a|0}return u},ea.prototype.m1c=function(t,n){if(!(this.y12_1>0))throw rn(xt("Failed requirement."));if(0===n&&0===this.d13_1&&0===this.m12_1.m16_1){var e=this.n12_1,r=this.o12_1,i=this.p12_1,o=t.l16_1,s=t.m16_1,a=t.n16_1,u=t.o16_1;return this.n12_1=o,this.o12_1=a,this.p12_1=t.s16_1,this.q12_1=s,this.r12_1=(o.length/5|0)-s|0,this.v12_1=u,this.w12_1=a.length-u|0,this.x12_1=s,t.y1m(e,0,r,0,i),this.p12_1}var c,l=t.y17();try{c=ks(Cs(),l,n,this,!0,!0)}finally{l.p17()}return c},ea.prototype.h1c=function(t,n,e){mi(this.y12_1<=0&&1===this.i19(this.d13_1+t|0));var r=this.d13_1,i=this.t12_1,o=this.u12_1;this.k1c(t),this.b18(),this.t18();var s,a=n.y17();try{s=ks(Cs(),a,e,this,!1,!0)}finally{a.p17()}var u=s;return this.q19(),this.p19(),this.d13_1=r,this.t12_1=i,this.u12_1=o,u},ea.prototype.u18=function(t){var n,e=this.p12_1,r=Aa(e,t,this.f());if(r<0){var i=new ia(t<=this.q12_1?t:0|-(this.f()-t|0));e.yf(0|-(r+1|0),i),n=i}else n=e.g(r);return n},ea.prototype.z1m=function(t){var n,e,r,i=Fs(this,t);$a(this.n12_1,i)||(n=this.n12_1,e=!0,r=$t(i,5)+1|0,n[r]=e?134217728|n[r]:-134217729&n[r],ba(this.n12_1,i)||qs(this,this.v17(t)))},ea.prototype.i1a=function(t,n,e){return 0!=(1&n)&&(t=this.e13_1),this.z1m(t)},ea.prototype.h1b=function(t){var n=t.b1b_1;return n<0?this.f()+n|0:n},ea.prototype.toString=function(){return"SlotWriter(current = "+this.d13_1+" end="+this.s12_1+" size = "+this.f()+" gap="+this.q12_1+"-"+(this.q12_1+this.r12_1|0)+")"},ea.prototype.f=function(){return Rs(this)-this.r12_1|0},ea.$metadata$=kt("SlotWriter"),ra.prototype.a1n=function(){return this.s16_1},ra.prototype.du=function(){return 0===this.m16_1},ra.prototype.b1n=function(t){var n,e=this.t16();try{n=t(e)}finally{e.p17()}return n},ra.prototype.c1n=function(t){var n,e=this.y17();try{n=t(e)}finally{e.p17()}return n},ra.prototype.t16=function(){if(this.q16_1)throw St("Cannot read while a writer is pending");var t=this.p16_1;return this.p16_1=t+1|0,new Sa(this)},ra.prototype.y17=function(){!this.q16_1||Oi(xt("Cannot start a writer when another writer is pending")),this.p16_1<=0||Oi(xt("Cannot start a writer when a reader is pending")),this.q16_1=!0;var t=this.r16_1;return this.r16_1=t+1|0,new ea(this)},ra.prototype.h1b=function(t){if(!this.q16_1||Oi(xt("Use active SlotWriter to determine anchor location instead")),!t.z1f())throw rn(xt("Anchor refers to a group that was removed"));return t.b1b_1},ra.prototype.e1h=function(t){var n;if(t.z1f()){var e=Aa(this.s16_1,t.b1b_1,this.m16_1);n=e>=0&&Ht(this.s16_1.g(e),t)}else n=!1;return n},ra.prototype.b1g=function(t,n){var e;if(!this.q16_1||Oi(xt("Writer is active")),0<=t&&t0))throw rn(xt("Unexpected reader close()"));var n=this.p16_1;this.p16_1=n-1|0},ra.prototype.u1m=function(t,n,e,r,i,o){if(t.m12_1!==this||!this.q16_1)throw rn(xt("Unexpected writer close()"));this.q16_1=!1,this.y1m(n,e,r,i,o)},ra.prototype.y1m=function(t,n,e,r,i){this.l16_1=t,this.m16_1=n,this.n16_1=e,this.o16_1=r,this.s16_1=i},ra.prototype.c=function(){return new Pa(this,0,this.m16_1)},ra.$metadata$=kt("SlotTable",[Oh,Kn]),ia.prototype.e1n=function(t){this.b1b_1=t},ia.prototype.r1e=function(){return this.b1b_1},ia.prototype.z1f=function(){return!(this.b1b_1===Wn().w_1)},ia.prototype.l1c=function(t){return t.h1b(this)},ia.prototype.s1m=function(t){return t.h1b(this)},ia.$metadata$=kt("Anchor"),_a.prototype.m1m=function(t){if(!this.k1m_1.h()&&(this.k1m_1.g(0)===t||this.k1m_1.g(this.k1m_1.f()-1|0)===t))return wt();var n=this.k1m_1.f();this.k1m_1.a(t);t:for(;n>0;){var e=((n+1|0)>>>1|0)-1|0,r=this.k1m_1.g(e);if(!(t>r))break t;this.k1m_1.p4(n,r),n=e}this.k1m_1.p4(n,t)},_a.prototype.o1a=function(){return!this.k1m_1.h()},_a.prototype.f1d=function(){return Yn(this.k1m_1)},_a.prototype.l1m=function(){this.k1m_1.f()>0||Oi(xt("Set is empty"));for(var t=this.k1m_1.g(0);!this.k1m_1.h()&&this.k1m_1.g(0)===t;){this.k1m_1.p4(0,Gn(this.k1m_1)),this.k1m_1.n4(this.k1m_1.f()-1|0);var n=0,e=this.k1m_1.f(),r=this.k1m_1.f()>>>1|0;t:for(;ns){if(u>i){this.k1m_1.p4(n,u),this.k1m_1.p4(a,i),n=a;continue t}break t}}if(!(s>i))break t;this.k1m_1.p4(n,s),this.k1m_1.p4(o,i),n=o}}return t},_a.$metadata$=kt("PrioritySet"),Sa.prototype.q1m=function(){return this.j17_1},Sa.prototype.f=function(){return this.g17_1},Sa.prototype.v17=function(t){return va(this.f17_1,t)},Sa.prototype.i1b=function(){return oa(this.f17_1,this.j17_1)},Sa.prototype.a1a=function(t){return oa(this.f17_1,t)},Sa.prototype.b1a=function(t){return sa(this.f17_1,t)},Sa.prototype.n1a=function(t){return oa(this.f17_1,t)?ja(this.f17_1,this,t):null},Sa.prototype.m19=function(){return!!this.r19()||this.j17_1===this.k17_1},Sa.prototype.r19=function(){return this.m17_1>0},Sa.prototype.p1a=function(){return la(this.f17_1,this.j17_1)},Sa.prototype.i19=function(t){return la(this.f17_1,t)},Sa.prototype.l19=function(){return this.k17_1},Sa.prototype.p18=function(){return this.j17_1=0?sa(this.f17_1,this.l17_1):0},Sa.prototype.l1b=function(t,n){var e=t+1|0,r=xa(this.f17_1,t)+n|0;return r<(e0||this.n17_1>=this.o17_1)return fi().h12_1;var t=this.n17_1;return this.n17_1=t+1|0,this.h17_1[t]},Sa.prototype.d18=function(){var t=this.m17_1;this.m17_1=t+1|0},Sa.prototype.o19=function(){if(!(this.m17_1>0))throw rn(xt("Unbalanced begin/end empty"));var t=this.m17_1;this.m17_1=t-1|0},Sa.prototype.p17=function(){return this.e17_1.d1n(this)},Sa.prototype.b18=function(){if(this.m17_1<=0){if(va(this.f17_1,this.j17_1)!==this.l17_1)throw rn(xt("Invalid slot table detected"));this.l17_1=this.j17_1,this.k17_1=this.j17_1+la(this.f17_1,this.j17_1)|0;var t=this.j17_1;this.j17_1=t+1|0;var n=t;this.n17_1=xa(this.f17_1,n),this.o17_1=n>=(this.g17_1-1|0)?this.i17_1:ga(this.f17_1,n+1|0)}},Sa.prototype.c18=function(){if(this.m17_1<=0){if(!oa(this.f17_1,this.j17_1))throw rn(xt("Expected a node group"));this.b18()}},Sa.prototype.r17=function(){if(0!==this.m17_1)throw rn(xt("Cannot skip while in an empty region"));var t=oa(this.f17_1,this.j17_1)?1:sa(this.f17_1,this.j17_1);return this.j17_1=this.j17_1+la(this.f17_1,this.j17_1)|0,t},Sa.prototype.z17=function(){if(0!==this.m17_1)throw rn(xt("Cannot skip the enclosing group while in an empty region"));this.j17_1=this.k17_1},Sa.prototype.d19=function(t){if(0!==this.m17_1)throw rn(xt("Cannot reposition while in an empty region"));this.j17_1=t;var n=t=t&&e<=n))throw rn(xt("Index "+t+" is not a parent of "+e));this.l17_1=t,this.k17_1=n,this.n17_1=0,this.o17_1=0},Sa.prototype.n19=function(){if(0===this.m17_1){if(this.j17_1!==this.k17_1)throw rn(xt("endGroup() not called at the end of a group"));var t=va(this.f17_1,this.l17_1);this.l17_1=t,this.k17_1=t<0?this.g17_1:t+la(this.f17_1,t)|0}},Sa.prototype.q18=function(){var t=jt();if(this.m17_1>0)return t;for(var n=0,e=this.j17_1;e=this.x16_1.length&&(this.x16_1=Zn(this.x16_1,$t(this.x16_1.length,2)));var n=this.x16_1,e=this.y16_1;this.y16_1=e+1|0,n[e]=t},Fa.prototype.f19=function(){var t=this.x16_1,n=this;return n.y16_1=n.y16_1-1|0,t[n.y16_1]},Fa.prototype.q1a=function(t){return this.y16_1>0?this.f1d():t},Fa.prototype.f1d=function(){return this.x16_1[this.y16_1-1|0]},Fa.prototype.z19=function(t){return this.x16_1[t]},Fa.prototype.h=function(){return 0===this.y16_1},Fa.prototype.s7=function(){this.y16_1=0},Fa.prototype.r1m=function(t){var n=0,e=this.y16_1;if(n0){if((e=function(t,n){for(var e=0,r=t.c1i_1-1|0,i=Dh(n);e<=r;){var o=(e+r|0)>>>1|0,s=t.d1i_1[o],a=Dh(s);if(ai))return s===n?o:Ka(t,o,n,i);r=o-1|0}}return 0|-(e+1|0)}(this,t))>=0)return this.e1i_1[e]=n,wt()}else e=-1;var r=0|-(e+1|0);if(this.c1i_1===this.d1i_1.length){var i=$t(this.d1i_1.length,2),o=Vn(Array(i),null),s=new Int32Array($t(this.d1i_1.length,2)),a=this.d1i_1,u=r+1|0,c=this.c1i_1;Hn(a,o,u,r,c);var l=this.e1i_1,h=r+1|0,p=this.c1i_1;Hn(l,s,h,r,p);var f,_=this.d1i_1;Hn(_,o,0,0,r),f=this.e1i_1,Hn(f,s,0,0,r),this.d1i_1=o,this.e1i_1=s}else{var d=this.d1i_1,v=this.d1i_1,y=r+1|0,m=this.c1i_1;Hn(d,v,y,r,m);var g=this.e1i_1,$=this.e1i_1,b=r+1|0,w=this.c1i_1;Hn(g,$,b,r,w)}this.d1i_1[r]=t,this.e1i_1[r]=n;var x=this.c1i_1;this.c1i_1=x+1|0},Ya.prototype.h1o=function(t){var n=0,e=0,r=this.c1i_1;if(e0},Qa.prototype.n1h=function(t){return Xa(this,t)>=0},Qa.prototype.m1h=function(t){var n,e=Xa(this,t);if(e>=0){var r=this.z1a_1[e];n=null==r||Ct(r)?r:zt()}else n=null;return n},Qa.prototype.d1g=function(t,n){var e=Xa(this,t);if(e>=0)this.z1a_1[e]=n;else{var r,i=0|-(e+1|0),o=this.a1b_1===this.y1a_1.length;if(o){var s=$t(this.a1b_1,2);r=Vn(Array(s),null)}else r=this.y1a_1;var a,u=r,c=this.y1a_1,l=i+1|0,h=this.a1b_1;if(Hn(c,u,l,i,h),o){var p=this.y1a_1;Hn(p,u,0,0,i)}if(u[i]=t,this.y1a_1=u,o){var f=$t(this.a1b_1,2);a=Vn(Array(f),null)}else a=this.z1a_1;var _=a,d=this.z1a_1,v=i+1|0,y=this.a1b_1;if(Hn(d,_,v,i,y),o){var m=this.z1a_1;Hn(m,_,0,0,i)}_[i]=n,this.z1a_1=_;var g=this.a1b_1;this.a1b_1=g+1|0}},Qa.prototype.f1i=function(t){var n=Xa(this,t);if(n>=0){var e=this.a1b_1,r=this.y1a_1,i=this.z1a_1;Hn(r,r,n,n+1|0,e),Hn(i,i,n,n+1|0,e);var o=e-1|0;return r[o]=null,i[o]=null,this.a1b_1=o,!0}return!1},Qa.prototype.k1o=function(t){var n=0,e=this.a1b_1;if(n=0},ru.prototype.i=function(t){return!!Ct(t)&&this.l3(Ct(t)?t:zt())},ru.prototype.g=function(t){var n=this.v1e_1[t];return Ct(n)?n:zt()},ru.prototype.w1e=function(t){var n;if(this.u1e_1>0){if((n=tu(this,t))>=0)return!1}else n=-1;var e=0|-(n+1|0);if(this.u1e_1===this.v1e_1.length){var r=$t(this.v1e_1.length,2),i=Vn(Array(r),null),o=this.v1e_1,s=e+1|0,a=this.u1e_1;Hn(o,i,s,e,a);var u=this.v1e_1;Hn(u,i,0,0,e),this.v1e_1=i}else{var c=this.v1e_1,l=this.v1e_1,h=e+1|0,p=this.u1e_1;Hn(c,l,h,e,p)}this.v1e_1[e]=t;var f=this.u1e_1;return this.u1e_1=f+1|0,!0},ru.prototype.h=function(){return 0===this.u1e_1},ru.prototype.o1a=function(){return this.u1e_1>0},ru.prototype.n1o=function(t){var n=tu(this,t);if(n>=0){if(n<(this.u1e_1-1|0)){var e=this.v1e_1,r=this.v1e_1,i=n+1|0,o=this.u1e_1;Hn(e,r,n,i,o)}var s=this.u1e_1;return this.u1e_1=s-1|0,this.v1e_1[this.u1e_1]=null,!0}return!1},ru.prototype.o1o=function(t){var n=0,e=0,r=this.u1e_1;if(e0){if((e=ou(t,n))>=0)return iu(t,e)}else e=-1;var r=0|-(e+1|0);if(t.p1f_10&&(m=t.m1f_1,Hn(m,g,0,0,r)),t.m1f_1=g;var j=t,z=j.p1f_1;return j.p1f_1=z+1|0,y}(this,t).w1e(n)},au.prototype.q1f=function(t){return ou(this,t)>=0},au.prototype.r1o=function(t,n){var e=ou(this,t);if(e>=0)for(var r=iu(this,e).c();r.d();)n(r.e())},au.prototype.i1g=function(t,n){var e=ou(this,t);if(e>=0){var r=this.m1f_1[e],i=this.o1f_1[r];if(null==i)return!1;var o=i,s=o.n1o(n);if(0===o.u1e_1){var a=e+1|0,u=this.p1f_1;if(a0){if(n!==i){var v=this.m1f_1[n];this.m1f_1[n]=o,this.m1f_1[i]=v}n=n+1|0}}while(e0){if(n!==i){var a=this.m1f_1[n];this.m1f_1[n]=o,this.m1f_1[i]=a}n=n+1|0}}while(e0},$u.prototype.p=function(){return this.z1o_1},$u.prototype.b1p=function(){if(!this.d())throw ie()},$u.prototype.c1p=function(){if(!this.o())throw ie()},$u.$metadata$=kt("AbstractListIterator",[oe]),bu.prototype.j1=function(t){var n=this.u1o();return n.j1(t),n.s1o()},bu.prototype.jf=function(t){var n=this.j(t);return-1!==n?this.n4(n):this},bu.prototype.i=function(t){return!(-1===this.j(t))},bu.prototype.n1=function(t){var n;t:if(Ft(t,wn)&&t.h())n=!0;else{for(var e=t.c();e.d();){var r=e.e();if(!this.i(r)){n=!1;break t}}n=!0}return n},bu.prototype.c=function(){return this.d1p()},bu.prototype.d1p=function(){return this.n(0)},bu.$metadata$=kt("AbstractPersistentList",[pu],void 0,void 0,void 0,se.prototype),wu.prototype.e=function(){if(!this.d())throw ie();var t=this.z1o_1;return this.z1o_1=t+1|0,this.g1p_1[t]},wu.prototype.q=function(){if(!this.o())throw ie();var t=this;return t.z1o_1=t.z1o_1-1|0,this.g1p_1[t.z1o_1]},wu.$metadata$=kt("BufferIterator",void 0,void 0,void 0,void 0,$u.prototype),Mu.prototype.f=function(){return this.j1p_1},Mu.prototype.a=function(t){var n=this.j1p_1-xu(this)|0;if(n=e)return zu(this,this.h1p_1,t-e|0,n);var r=new fc(null);return zu(this,Cu(this,this.h1p_1,this.k1p_1,t,n,r),0,r.l1p_1)},Mu.prototype.n4=function(t){al().d2(t,this.j1p_1);var n=xu(this);return t>=n?Su(this,this.h1p_1,n,this.k1p_1,t-n|0):Su(this,Ou(this,this.h1p_1,this.k1p_1,t,new fc(this.i1p_1[0])),n,this.k1p_1,0)},Mu.prototype.u1o=function(){return new Ku(this,this.h1p_1,this.i1p_1,this.k1p_1)},Mu.prototype.n=function(t){al().c2(t,this.j1p_1);var n=this.i1p_1;return new Yu(this.h1p_1,ln(n)?n:zt(),t,this.j1p_1,1+(this.k1p_1/hc()|0)|0)},Mu.prototype.g=function(t){al().d2(t,this.j1p_1);var n=function(t,n){if(xu(t)<=n)return t.i1p_1;for(var e=t.h1p_1,r=t.k1p_1;r>0;){var i=e[pc(n,r)];e=null!=i&&ln(i)?i:zt(),r=r-hc()|0}return e}(this,t)[t&cc()];return null==n||Ct(n)?n:zt()},Mu.prototype.p4=function(t,n){if(al().d2(t,this.j1p_1),xu(this)<=t){var e=Qn(this.i1p_1,ac());return e[t&cc()]=n,new Mu(this.h1p_1,e,this.j1p_1,this.k1p_1)}return new Mu(Pu(this,this.h1p_1,this.k1p_1,t,n),this.i1p_1,this.j1p_1,this.k1p_1)},Mu.$metadata$=kt("PersistentVector",[pu],void 0,void 0,void 0,bu.prototype),Ku.prototype.f=function(){return this.u1p_1},Ku.prototype.v1p=function(){return this.pf_1},Ku.prototype.s1o=function(){var t;return this.s1p_1===this.o1p_1&&this.t1p_1===this.p1p_1?t=this.n1p_1:(this.r1p_1=new ul,this.o1p_1=this.s1p_1,this.p1p_1=this.t1p_1,t=null==this.s1p_1?0===this.t1p_1.length?sc():new nc(Qn(this.t1p_1,this.u1p_1)):new Mu(pn(this.s1p_1),this.t1p_1,this.u1p_1,this.q1p_1)),this.n1p_1=t,this.n1p_1},Ku.prototype.a=function(t){this.pf_1=this.pf_1+1|0;var n=Eu(this);if(n=t.f()){this.t1p_1=Nu(0,Iu(this,this.t1p_1),e,r);this.u1p_1=this.u1p_1+t.f()|0}else{var i=((t.f()+e|0)-1|0)/ac()|0,o=Vn(Array(i),null);o[0]=Nu(0,Iu(this,this.t1p_1),e,r);var s=1;if(s>hc()<1<=e)return Fu(this,this.s1p_1,t-e|0,n),wt();var r=new fc(null),i=Hu(this,pn(this.s1p_1),this.q1p_1,t,n,r),o=r.l1p_1;Fu(this,i,0,null==o||Ct(o)?o:zt())},Ku.prototype.g=function(t){al().d2(t,this.u1p_1);var n=function(t,n){if(Au(t)<=n)return t.t1p_1;for(var e=pn(t.s1p_1),r=t.q1p_1;r>0;){var i=e[pc(n,r)];e=null!=i&&ln(i)?i:zt(),r=r-hc()|0}return e}(this,t)[t&cc()];return null==n||Ct(n)?n:zt()},Ku.prototype.n4=function(t){al().d2(t,this.u1p_1);this.pf_1=this.pf_1+1|0;var n=Au(this);if(t>=n){var e=Uu(this,this.s1p_1,n,this.q1p_1,t-n|0);return null==e||Ct(e)?e:zt()}var r=new fc(this.t1p_1[0]);Uu(this,Vu(this,pn(this.s1p_1),this.q1p_1,t,r),n,this.q1p_1,0);var i=r.l1p_1;return null==i||Ct(i)?i:zt()},Ku.prototype.p4=function(t,n){if(al().d2(t,this.u1p_1),Au(this)<=t){var e=Iu(this,this.t1p_1);if(e!==this.t1p_1){var r=this.pf_1;this.pf_1=r+1|0}var i=t&cc(),o=e[i];return e[i]=n,this.t1p_1=e,null==o||Ct(o)?o:zt()}var s=new fc(null);this.s1p_1=Ju(this,pn(this.s1p_1),this.q1p_1,t,n,s);var a=s.l1p_1;return null==a||Ct(a)?a:zt()},Ku.prototype.c=function(){return this.d1p()},Ku.prototype.d1p=function(){return this.n(0)},Ku.prototype.n=function(t){return al().c2(t,this.u1p_1),new Zu(this,t)},Ku.$metadata$=kt("PersistentVectorBuilder",[hu],void 0,void 0,void 0,ce.prototype),Yu.prototype.e=function(){if(this.b1p(),this.z1p_1.d()){var t=this.z1o_1;return this.z1o_1=t+1|0,this.z1p_1.e()}var n=this.z1o_1;return this.z1o_1=n+1|0,this.y1p_1[n-this.z1p_1.a1p_1|0]},Yu.prototype.q=function(){if(this.c1p(),this.z1o_1>this.z1p_1.a1p_1){var t=this;return t.z1o_1=t.z1o_1-1|0,this.y1p_1[t.z1o_1-this.z1p_1.a1p_1|0]}var n=this.z1o_1;return this.z1o_1=n-1|0,this.z1p_1.q()},Yu.$metadata$=kt("PersistentVectorIterator",void 0,void 0,void 0,void 0,$u.prototype),Zu.prototype.q=function(){Xu(this),this.c1p(),this.k1q_1=this.z1o_1-1|0;var t=this.j1q_1;if(null==t){var n=this.h1q_1.t1p_1,e=this;e.z1o_1=e.z1o_1-1|0;var r=n[e.z1o_1];return null==r||Ct(r)?r:zt()}var i=t;if(this.z1o_1>i.a1p_1){var o=this.h1q_1.t1p_1,s=this;s.z1o_1=s.z1o_1-1|0;var a=o[s.z1o_1-i.a1p_1|0];return null==a||Ct(a)?a:zt()}var u=this.z1o_1;return this.z1o_1=u-1|0,i.q()},Zu.prototype.e=function(){Xu(this),this.b1p(),this.k1q_1=this.z1o_1;var t=this.j1q_1;if(null==t){var n=this.h1q_1.t1p_1,e=this.z1o_1;this.z1o_1=e+1|0;var r=n[e];return null==r||Ct(r)?r:zt()}var i=t;if(i.d()){var o=this.z1o_1;return this.z1o_1=o+1|0,i.e()}var s=this.h1q_1.t1p_1,a=this.z1o_1;this.z1o_1=a+1|0;var u=s[a-i.a1p_1|0];return null==u||Ct(u)?u:zt()},Zu.prototype.o4=function(){var t;Xu(this),function(t){if(-1===t.k1q_1)throw le()}(this),this.h1q_1.n4(this.k1q_1),this.k1q_10&&r<=i||o<0&&i<=r)do{var s=r;if(r=r+o|0,Ht(n,t.w1q_1[s]))return!0}while(s!==i);return!1}(i,n):i.x1q(t,n,e+5|0)}return!1},Wc.prototype.y1q=function(t,n,e){var r=1<0&&r<=i||o<0&&i<=r)do{var s=r;if(r=r+o|0,Ht(n,Tc(t,s)))return Bc(t,s)}while(s!==i);return null}(o,n):o.y1q(t,n,e+5|0)}return null},Wc.prototype.z1q=function(t,n,e,r){var i=1<0&&i<=o||s<0&&o<=i)do{var a=i;if(i=i+s|0,Ht(n,Tc(t,a))){if(e===Bc(t,a))return null;var u=t.w1q_1.slice();return u[a+1|0]=e,Ic(Mc(0,0,u))}}while(a!==o);return Ec(Mc(0,0,Kc(t.w1q_1,0,n,e)))}(u,n,e);if(null==c)return null;s=c}else{var l=u.z1q(t,n,e,r+5|0);if(null==l)return null;s=l}var h,p=s,f=p;return h=Lc(this,a,i,p.a1r_1),f.a1r_1=h,p}return Ec(function(t,n,e,r){var i=t.i1s(n),o=Kc(t.w1q_1,i,e,r);return Mc(t.t1q_1|n,t.u1q_1,o)}(this,i,n,e))},Wc.prototype.c1r=function(t,n,e){var r=1<0&&r<=i||o<0&&i<=r)do{var s=r;if(r=r+o|0,Ht(n,Tc(t,s)))return Hc(t,s)}while(s!==i);return t}(a,n):a.c1r(t,n,e+5|0),function(t,n,e,r,i){return null==e?Nc(t,r,i):n!==e?Lc(t,r,i,e):t}(this,a,o,s,r)}return this},Wc.$metadata$=kt("TrieNode"),Xc.prototype.y1o=function(){return this.x1o_1},Xc.$metadata$=en("Companion"),Qc.prototype.f=function(){return this.o1s_1.s1q_1},Qc.prototype.i=function(t){return this.o1s_1.u2(t)},Qc.prototype.a=function(t){if(this.o1s_1.u2(t))return this;if(this.h())return new Qc(t,t,this.o1s_1.v3(t,tl()));var n=this.n1s_1,e=null==n||Ct(n)?n:zt(),r=pn(this.o1s_1.a3(e)),i=this.o1s_1.v3(e,r.r1s(t)).v3(t,nl(e));return new Qc(this.m1s_1,t,i)},Qc.prototype.jf=function(t){var n=this.o1s_1.a3(t);if(null==n)return this;var e=n,r=this.o1s_1.og(t);if(e.s1s()){var i,o=r,s=e.p1s_1;i=(Ft(o,re)?o:zt()).a3(s);var a=pn(i),u=r,c=e.p1s_1;r=u.v3(null==c||Ct(c)?c:zt(),a.r1s(e.q1s_1))}if(e.u1s()){var l,h=r,p=e.q1s_1;l=(Ft(h,re)?h:zt()).a3(p);var f=pn(l),_=r,d=e.q1s_1;r=_.v3(null==d||Ct(d)?d:zt(),f.t1s(e.p1s_1))}return new Qc(e.s1s()?this.m1s_1:e.q1s_1,e.u1s()?this.n1s_1:e.p1s_1,r)},Qc.prototype.c=function(){return new rl(this.m1s_1,this.o1s_1)},Qc.$metadata$=kt("PersistentOrderedSet",[vu],void 0,void 0,void 0,ve.prototype),el.prototype.r1s=function(t){return new el(this.p1s_1,t)},el.prototype.t1s=function(t){return new el(t,this.q1s_1)},el.prototype.u1s=function(){return!(this.q1s_1===ol())},el.prototype.s1s=function(){return!(this.p1s_1===ol())},el.$metadata$=kt("Links"),rl.prototype.d=function(){return this.x1s_1=n)throw we("index: "+t+", size: "+n)},sl.prototype.c2=function(t,n){if(t<0||t>n)throw we("index: "+t+", size: "+n)},sl.$metadata$=en("ListImplementation"),ul.$metadata$=kt("MutabilityOwnership"),Sl.$metadata$=bt("StateObject"),ql.prototype.js=function(){return this.e1t_1()},ql.$metadata$=kt("sam$androidx_compose_runtime_snapshots_ObserverHandle$0",[El]),Ol.prototype.js=function(){return this.f1t_1()},Ol.$metadata$=kt("sam$androidx_compose_runtime_snapshots_ObserverHandle$0",[El]),Pl.prototype.z10=function(){return Hl()},Pl.prototype.e1k=function(t,n){var e=Hl(),r=e instanceof Il?e:null,i=null==r?null:r.g1t(t,n);if(null==i)throw St("Cannot create a mutable snapshot of an read-only snapshot");return i},Pl.prototype.f1m=function(t){return Ul(vl()),ml(),kl().a(t),new ql((n=t,function(){return ml(),kl().jf(n),wt(),wt()}));var n},Pl.prototype.h1t=function(t){return ml(),jl().a(t),Vl(),new Ol((n=t,function(){return ml(),jl().jf(n),Vl(),wt()}));var n},Pl.prototype.i1m=function(){return Hl().i1m()},Pl.prototype.d1j=function(){ml();var t=zl().ku().i1t();!0===(null==t?null:!t.h())&&Vl()},Pl.$metadata$=en("Companion"),Al.prototype.k1t=function(t){this.s1a_1=t},Al.prototype.j1t=function(){return this.s1a_1},Al.prototype.l1t=function(t){this.t1a_1=t},Al.prototype.x1a=function(){return this.t1a_1},Al.prototype.js=function(){this.u1a_1=!0,ml(),this.n1t(),wt()},Al.prototype.o1t=function(t){var n=this.f1k();try{return t()}finally{this.g1k(n)}},Al.prototype.f1k=function(){var t=yl().ku();return yl().q1h(this),t},Al.prototype.g1k=function(t){yl().q1h(t)},Al.prototype.p1t=function(){return this.u1a_1},Al.prototype.q1t=function(){return this.v1a_1>=0},Al.prototype.u1t=function(){ml(),this.v1t(),this.w1t(),wt()},Al.prototype.v1t=function(){gl($l().b1u(this.x1a()))},Al.prototype.w1t=function(){this.n1t()},Al.prototype.c1u=function(){if(this.u1a_1)throw rn(xt("Cannot use a disposed snapshot"))},Al.prototype.n1t=function(){this.v1a_1>=0&&(Fl(this.v1a_1),this.v1a_1=-1)},Al.prototype.d1u=function(){var t=this.v1a_1;return this.v1a_1=-1,t},Al.$metadata$=kt("Snapshot"),El.$metadata$=bt("ObserverHandle"),Il.prototype.r1t=function(){return this.m1k_1},Il.prototype.s1t=function(){return this.n1k_1},Il.prototype.g1t=function(t,n){this.c1u(),this.h1u(),this.i1u(this.x1a()),ml();var e=wl();bl(e+1|0);var r=e;gl($l().j1u(r));var i=this.j1t();this.k1t(i.j1u(r));var o=new Jl(r,Kl(i,this.x1a()+1|0,r),function(t,n,e,r,i){return 0!=(4&r)&&(e=!0),Yl(t,n,e)}(t,this.r1t(),!1,4),Gl(n,this.s1t()),this);if(!this.s1k_1&&!this.u1a_1){var s=this.x1a(),a=(ml(),wl());bl(a+1|0),this.l1t(a),gl($l().j1u(this.x1a())),wt(),this.k1t(Kl(this.j1t(),s+1|0,this.x1a()))}return o},Il.prototype.u1k=function(){var t,n=this.i1t(),e=null!=n?Xl(zl().ku(),this,$l().b1u(zl().ku().x1a())):null;if(ml(),Zl(this),null==n||0===n.f()){this.v1t();var r=zl().ku();Ql(r,vl());var i=r.i1t();t=null!=i&&!i.h()?tn(Gt(kl()),i):tn(Yt(),null)}else{var o=zl().ku(),s=this.k1u(wl(),e,$l().b1u(o.x1a()));if(!Ht(s,Tl()))return s;this.v1t(),Ql(o,vl());var a=o.i1t();this.f1u(null),o.f1u(null),t=tn(Gt(kl()),a)}var u=t,c=u.l4(),l=u.m4();if(this.s1k_1=!0,null!=l&&!l.h()){var h=0,p=c.f()-1|0;if(h<=p)do{var f=h;h=h+1|0,c.g(f)(l,this)}while(h<=p)}if(null!=n&&!n.h()){var _=0,d=c.f()-1|0;if(_<=d)do{var v=_;_=_+1|0,c.g(v)(n,this)}while(_<=d)}return ml(),this.w1t(),wt(),Tl()},Il.prototype.m1t=function(){return!1},Il.prototype.js=function(){this.u1a_1||(Al.prototype.js.call(this),this.l1u(this))},Il.prototype.m1u=function(t){var n=this.r1k_1;this.r1k_1=n+1|0},Il.prototype.l1u=function(t){if(!(this.r1k_1>0))throw rn(xt("Failed requirement."));var n=this;n.r1k_1=n.r1k_1-1|0,0===n.r1k_1&&(this.s1k_1||function(t){var n=t.i1t();if(null!=n){t.e1u(),t.f1u(null);for(var e=t.x1a(),r=n.c();r.d();)for(var i=r.e().d1o();null!=i;)(i.v1n_1===e||Ce(t.p1k_1,i.v1n_1))&&(i.v1n_1=0),i=i.w1n_1}t.u1t()}(this))},Il.prototype.i1m=function(){if(this.s1k_1||this.u1a_1)return wt();this.n1u()},Il.prototype.v1t=function(){gl($l().b1u(this.x1a()).o1u(this.p1k_1))},Il.prototype.w1t=function(){this.p1u(),Al.prototype.w1t.call(this)},Il.prototype.e1u=function(){if(this.s1k_1)throw St(xt("Unsupported operation on a snapshot that has been applied"))},Il.prototype.h1u=function(){if(this.s1k_1&&!(this.v1a_1>=0))throw St(xt("Unsupported operation on a disposed or applied snapshot"))},Il.prototype.k1u=function(t,n,e){for(var r=null,i=this.j1t().j1u(this.x1a()).q1u(this.p1k_1),o=pn(this.i1t()),s=null,a=o.c();a.d();){var u=a.e(),c=u.d1o(),l=th(c,t,e);if(null!=l){var h=l,p=th(c,this.x1a(),i);if(null!=p){var f=p;if(!Ht(h,f)){var _,d=th(c,this.x1a(),this.j1t());null==d?nh():_=d;var v=_,y=null==n?null:n.a3(h),m=null==y?u.f1o(f,h,v):y,g=m;if(null==g)return new Bl(this);if(Ht(g,v));else if(Ht(g,h)){var $,b,w=r;null==w?(r=b=jt(),$=b):$=w,$.a(tn(u,h.u1n()));var x,k,j=s;null==j?(s=k=jt(),x=k):x=j,x.a(u)}else{var z,C,S=r;null==S?(r=C=jt(),z=C):z=S,z.a(Ht(m,f)?tn(u,f.u1n()):tn(u,m))}}}}}var q=r;if(null==q);else{this.n1u();var O=0,P=q.f()-1|0;if(O<=P){do{var M=O;O=O+1|0;var A=q.g(M),E=A.l4(),I=A.m4();I.v1n_1=this.x1a(),ml(),I.w1n_1=E.d1o(),E.e1o(I),wt()}while(O<=P);wt()}}var D=s;return null==D||o.lf(D),Tl()},Il.prototype.r1u=function(t){this.i1u(this.x1a());var n=t();if(!this.s1k_1&&!this.u1a_1){var e=this.x1a(),r=(ml(),wl());bl(r+1|0),this.l1t(r),gl($l().j1u(this.x1a())),wt(),this.k1t(Kl(this.j1t(),e+1|0,this.x1a()))}return n},Il.prototype.n1u=function(){this.i1u(this.x1a());var t=wt();if(!this.s1k_1&&!this.u1a_1){var n=this.x1a(),e=(ml(),wl());bl(e+1|0),this.l1t(e),gl($l().j1u(this.x1a())),wt(),this.k1t(Kl(this.j1t(),n+1|0,this.x1a()))}return t},Il.prototype.i1u=function(t){ml(),this.p1k_1=this.p1k_1.j1u(t),wt()},Il.prototype.s1u=function(t){if(t>=0){var n,e,r=this.q1k_1;e=new Int32Array([t]),n=Se([r,e]),this.q1k_1=n}},Il.prototype.t1u=function(t){if(0===t.length)return wt();var n=this.q1k_1;if(0===n.length)this.q1k_1=t;else{var e;e=Se([n,t]),this.q1k_1=e}},Il.prototype.p1u=function(){var t=0,n=this.q1k_1.length-1|0;if(t<=n)do{var e=t;t=t+1|0,Fl(this.q1k_1[e])}while(t<=n)},Il.prototype.u1u=function(t){ml(),this.p1k_1=this.p1k_1.q1u(t),wt()},Il.prototype.t1t=function(t){var n,e=this.i1t();if(null==e){var r=fn();this.f1u(r),n=r}else n=e;n.a(t)},Il.prototype.f1u=function(t){this.o1k_1=t},Il.prototype.i1t=function(){return this.o1k_1},Il.prototype.v1u=function(){return this.s1k_1},Il.$metadata$=kt("MutableSnapshot",void 0,void 0,void 0,void 0,Al.prototype),Dl.$metadata$=en("Success",void 0,void 0,void 0,void 0,Ll.prototype),Bl.$metadata$=kt("Failure",void 0,void 0,void 0,void 0,Ll.prototype),Ll.$metadata$=kt("SnapshotApplyResult"),Nl.prototype.g1t=function(t,n){return eh((e=t,r=n,function(t){ml();var n=wl();return bl(n+1|0),new Il(n,t,e,r)}));var e,r},Nl.prototype.i1m=function(){Vl()},Nl.prototype.p1v=function(t){qh()},Nl.prototype.l1u=function(t){return this.p1v(t)},Nl.prototype.q1v=function(t){qh()},Nl.prototype.m1u=function(t){return this.q1v(t)},Nl.prototype.u1k=function(){throw St("Cannot apply the global snapshot directly. Call Snapshot.advanceGlobalSnapshot")},Nl.prototype.js=function(){ml(),this.n1t(),wt()},Nl.$metadata$=kt("GlobalSnapshot",void 0,void 0,void 0,void 0,Il.prototype),Rl.prototype.y1n=function(t){this.v1n_1=t},Rl.prototype.z1n=function(t){this.w1n_1=t},Rl.$metadata$=kt("StateRecord"),Jl.prototype.t1m=function(){return this.m1w_1},Jl.prototype.js=function(){this.u1a_1||(Il.prototype.js.call(this),Wl(this))},Jl.prototype.u1k=function(){if(this.m1w_1.s1k_1||this.m1w_1.u1a_1)return new Bl(this);var t=this.i1t(),n=this.x1a(),e=null!=t?Xl(this.m1w_1,this,this.m1w_1.j1t()):null;if(ml(),Zl(this),null==t||0===t.f())this.u1t();else{var r=this.k1u(this.m1w_1.x1a(),e,this.m1w_1.j1t());if(!Ht(r,Tl()))return r;var i,o=this.m1w_1.i1t();if(null==o){var s=fn();this.m1w_1.f1u(s),i=s}else i=o;i.j1(t)}return this.m1w_1.x1a()0?this.t1v_1[0]:t},_h.prototype.x1v=function(t){!function(t,n){var e=t.t1v_1.length;if(n<=e)return wt();var r=$t(e,2),i=new Int32Array(r),o=new Int32Array(r),s=t.t1v_1,a=s.length;Hn(s,i,0,0,a);var u=t.u1v_1,c=u.length;Hn(u,o,0,0,c),t.t1v_1=i,t.u1v_1=o}(this,this.s1v_1+1|0);var n=this.s1v_1;this.s1v_1=n+1|0;var e=n,r=function(t){var n=t.v1v_1.length;if(t.w1v_1>=n){for(var e=0,r=$t(n,2),i=new Int32Array(r);e>1,i=n;i=0?(Me(),n=r<64):n=!1,n)return!new Bn(1,0).jb(r).wc(this.y1t_1).equals(new Bn(0,0));if(Me(),r>=64?(Me(),e=r<$t(64,2)):e=!1,e){var i=new Bn(1,0);return Me(),!i.jb(r-64|0).wc(this.x1t_1).equals(new Bn(0,0))}if(r>0)return!1;var o,s=this.a1u_1;return null!=(o=null==s?null:gh(s,t)>=0)&&o},mh.prototype.j1u=function(t){var n,e=t-this.z1t_1|0;if(e>=0?(Me(),n=e<64):n=!1,n){var r=new Bn(1,0).jb(e);if(this.y1t_1.wc(r).equals(new Bn(0,0)))return new mh(this.x1t_1,this.y1t_1.en(r),this.z1t_1,this.a1u_1)}else{var i;if(Me(),e>=64?(Me(),i=e<$t(64,2)):i=!1,i){var o=new Bn(1,0);Me();var s=o.jb(e-64|0);if(this.x1t_1.wc(s).equals(new Bn(0,0)))return new mh(this.x1t_1.en(s),this.y1t_1,this.z1t_1,this.a1u_1)}else if(Me(),e>=$t(64,2)){if(!this.g(t)){var a=this.x1t_1,u=this.y1t_1,c=this.z1t_1,l=null,h=t+1|0;Me();var p=h/64|0;Me();var f=$t(p,64);t:for(;c=0?(Me(),n=e<64):n=!1,n){var r=new Bn(1,0).jb(e);if(!this.y1t_1.wc(r).equals(new Bn(0,0)))return new mh(this.x1t_1,this.y1t_1.wc(r.dn()),this.z1t_1,this.a1u_1)}else{var i;if(Me(),e>=64?(Me(),i=e<$t(64,2)):i=!1,i){var o=new Bn(1,0);Me();var s=o.jb(e-64|0);if(!this.x1t_1.wc(s).equals(new Bn(0,0)))return new mh(this.x1t_1.wc(s.dn()),this.y1t_1,this.z1t_1,this.a1u_1)}else if(e<0){var a=this.a1u_1;if(null!=a){var u=gh(a,t);if(u>=0){var c=a.length-1|0;if(0===c)return new mh(this.x1t_1,this.y1t_1,this.z1t_1,null);var l=new Int32Array(c);return u>0&&Hn(a,l,0,0,u),u=0},jh.prototype.p=function(){return this.z1x_1+1|0},jh.prototype.q=function(){kh(this),zh(this.z1x_1,this.y1x_1.f());var t=this.y1x_1.g(this.z1x_1),n=this.z1x_1;return this.z1x_1=n-1|0,t},jh.prototype.d=function(){return this.z1x_1<(this.y1x_1.f()-1|0)},jh.prototype.e=function(){kh(this);var t=this.z1x_1+1|0;zh(t,this.y1x_1.f());var n=this.y1x_1.g(t);return this.z1x_1=t,n},jh.prototype.o4=function(){kh(this),this.y1x_1.n4(this.z1x_1);var t=this.z1x_1;this.z1x_1=t-1|0,this.a1y_1=this.y1x_1.q1x()},jh.$metadata$=kt("StateListIterator",[he]),Oh.$metadata$=bt("CompositionData"),Ph.$metadata$=bt("CompositionGroup",[Oh]),Eh.prototype.ku=function(){return this.i1f_1},Eh.prototype.o1w=function(t){this.i1f_1=t},Eh.prototype.k1f=function(t){var n=this.i1f_1;return this.i1f_1=t,n},Eh.prototype.o1g=function(t,n){var e;return Ht(t,this.i1f_1)?(this.i1f_1=n,e=!0):e=!1,e},Eh.$metadata$=kt("AtomicReference"),Ih.prototype.ku=function(){return this.p1h_1},Ih.prototype.q1h=function(t){this.p1h_1=t},Ih.$metadata$=kt("SnapshotThreadLocal"),Bh.prototype.q7=function(){var t=this.l7_1;t:for(;;)try{switch(this.j7_1){case 0:if(this.k7_1=2,this.j7_1=1,this.l1y_1=this,this.m1y_1=Re(It(this.l1y_1)),window.requestAnimationFrame(Th(this.k1y_1,this.m1y_1)),(t=Tn(this.m1y_1.ni(),this))===zn())return t;continue t;case 1:return t;case 2:throw this.m7_1}}catch(t){if(2===this.k7_1)throw t;this.j7_1=this.k7_1,this.m7_1=t}},Bh.$metadata$=kt("$withFrameNanosCOROUTINE$4",void 0,void 0,void 0,void 0,kn.prototype),Lh.prototype.d12=function(t,n){var e=new Bh(this,t,n);return e.l7_1=wt(),e.m7_1=null,e.q7()},Lh.$metadata$=kt("MonotonicClockImpl",[Mo]),Rh.prototype.r1a=function(t){return null},Rh.prototype.d1b=function(t){},Rh.$metadata$=en("Trace"),Uh.$metadata$=bt("ComposableLambda"),Wh.prototype.d1t=function(t){if(!Ht(this.a1t_1,t)){var n=null==this.a1t_1;this.a1t_1=t,n||function(t){if(t.z1s_1){var n=t.b1t_1;null!=n&&(n.b1h(),t.b1t_1=null);var e=t.c1t_1;if(null!=e){var r=0,i=e.f();if(r=2)for(var e=Bt(Tt(n).g35_1.b3()),r=n.c(),i=0;r.d();){var o=i;i=i+1|0;var s=r.e();if(0!==o){var a=Bt(s.g35_1.b3());if(!kt(e,a))throw Lt(It("Invalid order. Expected '"+e+"', but found '"+a+"'"))}}}(0,r);var b=function(t,n){return St(n," vs ",null,null,0,null,dr,30,null)}(0,r);return e.a(new mr(b,"",r)),e}(t,n))}function ur(t,n){return t.v35_1.da(n)}function cr(t,n){var e=t.u35_1.ca(n," "),r=Nt("\\s{2,}").ca(e," ");return It(Et(At(r)?r:xt()))}function lr(t,n){var e=cr(t,n);return Rt("genericTitleParsing : '"+n+"' -> '"+e+"'"),e}function hr(t,n){return!function(t,n){return t.t35_1.da(n)}(t,n)}function pr(t,n,e){var r;if(!Ft(e,n,!1,2,null))throw Lt(It("Invalid "+n+".Expected to start with '"+n+"' but found '"+e+"'"));var i=Ht(e,n,"",!1,4,null);r=Nt("\\s+").ca(i," ");for(var o=Ot(r,[", "],!1,0,6,null),s=Mt(Pt(o,10)),a=o.c();a.d();){var u,c,l=a.e(),h=Ht(l,",","",!1,4,null);c=It(Et(At(h)?h:xt())),u=Ot(c,[" "],!1,0,6,null),s.a(u)}for(var p=s,f=Dt(),_=p.c();_.d();){var d=_.e(),v=d.g(0),y=d.g(1),m=Ut(y);f.v3(v,m)}return f}function fr(t,n){var e;t:{for(var r=n.s35_1.c();r.d();){var i=r.e();if(Ft(t,i,!1,2,null)){e=i;break t}}e=null}return e}function _r(t){return It(Et(At(t)?t:xt()))}function dr(t){return t.f35_1}function vr(){m=this;for(var t,n=er(),e=Mt(n.length),r=n,i=0,o=r.length;i "+_);for(var y=Dt(),m=on(["rgba(255, 99, 132, 1)","rgba(54, 162, 235, 1)","rgba(255, 206, 86, 1)","rgba(75, 192, 192, 1)","rgba(153, 102, 255, 1)","rgba(255, 159, 64, 1)"]),g=f.c();g.d();){var $,b=g.e(),w=Ot(b,[" "],!1,0,6,null).g(0),x=y.a3(w);if(null==x){m.h()&&m.a("rgba("+qr()+", "+qr()+", "+qr()+", 1)");var k=Tt(m);m.jf(k);var j=k;y.v3(w,j),$=j}else $=x;var z=$;r.v3(b,z)}var C=new Cr(r,y);return Rt("groupMap: "+C),C}function qr(){var t=sn(0,255);return un(t,an())}function Or(t,n){this.l36_1=t,this.m36_1=n,this.n36_1=8}function Pr(t,n,e,r,i,o){return function(t,n,e,r,i,o,s){return 0!=(8&i)&&(r="col-lg-6"),Mr.call(s,t,n,e,r),s}(t,n,e,r,i,0,Object.create(Mr.prototype))}function Mr(t,n,e,r){this.q36_1=t,this.r36_1=n,this.s36_1=e,this.t36_1=r,this.u36_1=8}function Ar(t,n,e){this.x35_1=t,this.y35_1=n,this.z35_1=e,this.a36_1=0}function Er(){b=this}function Ir(t,n,e){var r=n;return ln()&&cn(2098833845,e,-1,"components.ComposableSingletons$AutoFormUiKt.lambda-1. (AutoFormUi.kt:30)"),hn("⌨️ Input",r,6),ln()&&pn(),jt()}function Dr(t,n,e){var r=n;return ln()&&cn(-1047390949,e,-1,"components.ComposableSingletons$AutoFormUiKt.lambda-2. (AutoFormUi.kt:58)"),hn("Benchmark :",r,6),ln()&&pn(),jt()}function Tr(t,n,e){var r=n;return ln()&&cn(-1553178399,e,-1,"components.ComposableSingletons$AutoFormUiKt.lambda-3. (AutoFormUi.kt:89)"),hn("💾 SAVE",r,6),ln()&&pn(),jt()}function Br(){var t;w=this,this.e37_1=(t=fn(2098833845,!1,Ir),function(n,e,r){return t.n1y(n,e,r)}),this.f37_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(-1047390949,!1,Dr)),this.g37_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(-1553178399,!1,Tr))}function Lr(){return null==w&&new Br,w}function Nr(t,n,e,r,i,o,s,a,u,c){var l=u;l=l.n1d(1546286992),_n(l,"C(FormUi$composable)P(!1,7,6,2,4,5,3)");var h,p,f=c;ln()&&cn(1546286992,f,-1,"components.FormUi$composable (AutoFormUi.kt:14)"),dn(jt(),(h=new Rr(r,t,null),(p=function(t,n){return h.p1j(t,n)}).$arity=1,p),l,64),vn(null,Lr().e37_1,l,48,1);var _=yn(l,950905109,!0,function(t,n,e,r,i,o,s,a,u){return function(c,l,h){var p=l;ln()&&cn(950905109,h,-1,"components.FormUi$composable. (AutoFormUi.kt:34)");var f=yn(p,-1972588882,!0,function(t,n,e,r,i,o,s,a,u){return function(c,l,h){var p=l;ln()&&cn(-1972588882,h,-1,"components.FormUi$composable.. (AutoFormUi.kt:35)"),p.h1a(-1629932720,"inputForm"),Hi(t,n,e,r,i,p,64|14&o>>3|896&o>>9|7168&o>>9|57344&o>>9);var f=p;f.e12(547886695),_n(f,"C(remember$composable):Composables.kt#9igjgp");var _,d=f,v=d.f12();if(v===mn().h12_1){var y=Fr;d.g12(y),_=y}else _=v;var m=_,g=null==m||gn(m)?m:xt();f.i12();var $=g,b=yn(p,-1534844198,!0,function(t,n){return function(e,r,i){var o=r;ln()&&cn(-1534844198,i,-1,"components.FormUi$composable.... (AutoFormUi.kt:51)");var s=o;s.e12(547886695),_n(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,c=u.f12();if(c===mn().h12_1){var l=Hr;u.g12(l),a=l}else a=c;var h=a,p=null==h||gn(h)?h:xt();return s.i12(),zn("benchmark",p,Lr().f37_1,o,390,0),Cn(t.x35_1,function(t,n){return function(e){return e.x20("benchmark"),e.w20(["form-control"]),kn(e,"Benchmark data"),jn(e,20),e.k28(function(t,n){return function(e){return t(n.c37(e.f2b_1,!1,!1,6,null)),jt()}}(t,n)),jt()}}(n,t),o,0,0),ln()&&(pn(),jt()),jt()}}(s,a)),w=p;w.e12(-838505973),_n(w,"C(remember$composable)P(1):Composables.kt#9igjgp");var x,k,j=w,z=w.j12(b),C=j.f12();if(z||C===mn().h12_1){var S=(k=b,function(t,n,e){return k.n1y(t,n,e)});j.g12(S),x=S}else x=C;var q=x,O=null==q||gn(q)?q:xt();return w.i12(),$n($,O,p,48,0),Mn(function(t,n){return function(e){return e.w20(["btn","btn-dark","float-end"]),e.u20(Ur),Jt(t.x35_1)&&(e.e20("disabled","true"),jt()),e.a21(function(t,n){return function(e){return t(n),jt()}}(n,t)),Pn(e,On()),jt()}}(s,u),Lr().g37_1,p,48,0),p.k1a(),ln()&&(pn(),jt()),jt()}}(t,n,e,r,i,o,s,a,u)),_=p;_.e12(-838505973),_n(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.j12(f),g=y.f12();if(m||g===mn().h12_1){var $=(v=f,function(t,n,e){return v.n1y(t,n,e)});y.g12($),d=$}else d=g;var b=d,w=null==b||gn(b)?b:xt();return _.i12(),An(null,null,w,p,384,3),ln()&&(pn(),jt()),jt()}}(n,e,o,s,a,f,t,r,i)),d=l;d.e12(-838505973),_n(d,"C(remember$composable)P(1):Composables.kt#9igjgp");var v,y,m=d,g=d.j12(_),$=m.f12();if(g||$===mn().h12_1){var b=(y=_,function(t,n,e){return y.n1y(t,n,e)});m.g12(b),v=b}else v=$;var w=v,x=null==w||gn(w)?w:xt();d.i12(),$n(null,x,l,48,1),ln()&&pn();var k=l.o1d();null===k||k.j1e(function(t,n,e,r,i,o,s,a,u){return function(c,l){return function(t,n,e,r,i,o,s,a,u,c,l){Nr(t,n,e,r,i,o,s,a,c,1|u)}(t,n,e,r,i,o,s,a,u,c),jt()}}(t,n,e,r,i,o,s,a,c))}function Rr(t,n,e){this.r37_1=t,this.s37_1=n,bn.call(this,e)}function Fr(t){return t.w20(["form-group"]),jt()}function Hr(t){return t.w20(["form-label"]),jt()}function Ur(t){return qn(t,Sn(10)),jt()}function Vr(t,n,e){var r=n;return ln()&&cn(1529185564,e,-1,"components.ComposableSingletons$AutoGroupToggleKt.lambda-1. (AutoGroupToggle.kt:29)"),hn("Auto Group:",r,6),ln()&&pn(),jt()}function Wr(){var t;x=this,this.u37_1=(t=fn(1529185564,!1,Vr),function(n,e,r){return t.n1y(n,e,r)})}function Jr(t,n,e,r){var i=e;i=i.n1d(442093563),_n(i,"C(AutoGroup$composable)");var o,s,a,u=r;if(0==(14&r)&&(u|=i.j1d(t)?4:2),0==(112&r)&&(u|=i.j12(n)?32:16),18==(91&u)&&i.v1b())i.z17();else{ln()&&cn(442093563,u,-1,"components.AutoGroup$composable (AutoGroupToggle.kt:10)");var c=i;c.e12(547886695),_n(c,"C(remember$composable):Composables.kt#9igjgp");var l,h=c,p=h.f12();if(p===mn().h12_1){var f=Kr;h.g12(f),l=f}else l=p;var _=l,d=null==_||gn(_)?_:xt();c.i12();var v=d,y=yn(i,1468648411,!0,(s=t,a=n,function(t,n,e){var r=n;ln()&&cn(1468648411,e,-1,"components.AutoGroup$composable. (AutoGroupToggle.kt:21)");var i=r;i.e12(547886695),_n(i,"C(remember$composable):Composables.kt#9igjgp");var o,u=i,c=u.f12();if(c===mn().h12_1){var l=Gr;u.g12(l),o=l}else o=c;var h=o,p=null==h||gn(h)?h:xt();i.i12(),zn("colorMap",p,(null==x&&new Wr,x).u37_1,r,390,0),In(null,r,0,1);var f=r;f.e12(-1124426577),_n(f,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var _,d=f,v=!!(f.j12(s)|f.j12(a)),y=d.f12();if(v||y===mn().h12_1){var m=function(t,n){return function(e){return e.x20("colorMap"),e.w20(["btn",t?"btn-success":"btn-secondary"]),e.a21(function(t){return function(n){return t(),jt()}}(n)),Pn(e,On()),jt()}}(s,a);d.g12(m),_=m}else _=y;var g=_,$=null==g||gn(g)?g:xt();f.i12();var b=$,w=yn(r,-431302815,!0,function(t){return function(n,e,r){var i=e;return ln()&&cn(-431302815,r,-1,"components.AutoGroup$composable.. (AutoGroupToggle.kt:42)"),hn(t?"ON":"OFF",i,0),ln()&&(pn(),jt()),jt()}}(s)),k=r;k.e12(-838505973),_n(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,z,C=k,S=k.j12(w),q=C.f12();if(S||q===mn().h12_1){var O=(z=w,function(t,n,e){return z.n1y(t,n,e)});C.g12(O),j=O}else j=q;var P=j,M=null==P||gn(P)?P:xt();return k.i12(),Mn(b,M,r,48,0),ln()&&(pn(),jt()),jt()})),m=i;m.e12(-838505973),_n(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,$=m,b=m.j12(y),w=$.f12();if(b||w===mn().h12_1){var k=(o=y,function(t,n,e){return o.n1y(t,n,e)});$.g12(k),g=k}else g=w;var j=g,z=null==j||gn(j)?j:xt();m.i12(),$n(v,z,i,48,0),ln()&&pn()}var C=i.o1d();null===C||C.j1e(function(t,n,e){return function(r,i){return function(t,n,e,r,i){Jr(t,n,r,1|e)}(t,n,e,r),jt()}}(t,n,r))}function Kr(t){return t.w20(["form-group"]),t.u20(Yr),jt()}function Yr(t){return En(t,Sn(10)),jt()}function Gr(t){return t.w20(["form-label"]),jt()}function Xr(t,n,e,r,i){var o=r;o=o.n1d(-1178138425),_n(o,"C(ChartUi$composable)P(2,1)");var s=i;ln()&&cn(-1178138425,s,-1,"components.ChartUi$composable (ChartUi.kt:14)");var a,u=yn(o,-1469495048,!0,(a=e,function(t,n,e){var r=n;return ln()&&cn(-1469495048,e,-1,"components.ChartUi$composable. (ChartUi.kt:19)"),hn(a.q36_1+" "+a.r36_1,r,0),ln()&&(pn(),jt()),jt()})),c=o;c.e12(-838505973),_n(c,"C(remember$composable)P(1):Composables.kt#9igjgp");var l,h,p=c,f=c.j12(u),_=p.f12();if(f||_===mn().h12_1){var d=(h=u,function(t,n,e){return h.n1y(t,n,e)});p.g12(d),l=d}else l=_;var v=l,y=null==v||gn(v)?v:xt();c.i12(),vn(null,y,o,48,1);var m=o;m.e12(547886695),_n(m,"C(remember$composable):Composables.kt#9igjgp");var g,$=m,w=$.f12();if(w===mn().h12_1){var x=Zr;$.g12(x),g=x}else g=w;var k=g,j=null==k||gn(k)?k:xt();m.i12();var z=j,C=yn(o,1870993739,!0,function(t,n,e,r){return function(i,o,s){var a=o;return ln()&&cn(1870993739,s,-1,"components.ChartUi$composable. (ChartUi.kt:32)"),Wn(t,n,function(t,n,e,r){return function(i){for(var o=qt(),s=t.s36_1.u().c();s.d();){var a,u,c=s.e(),l=c.k2(),h=c.m2(),p={};p.label=l;var f,_=h.c3();if(u=Hn(_),p.data=u,n){var d=e.h36_1,v=p.label;f=(xn(d,Un)?d:xt()).a3(v)}else f=["rgba(255, 99, 132, 1)","rgba(54, 162, 235, 1)","rgba(255, 206, 86, 1)","rgba(75, 192, 192, 1)","rgba(153, 102, 255, 1)","rgba(255, 159, 64, 1)"];p.borderColor=f,p.borderWidth=3,a=p,o.a(a)}var y,m,g=r.u27(i),$={};null==b&&new Er,y="line",$.type=y;for(var w,x={},k=t.s36_1.c3(),j=qt(),z=k.c();z.d();){var C;C=z.e().b3(),rn(j,C)}var S,q,O=tn(j),P=Hn(O);Rt("labels: "+Vn(P)),w=P,x.labels=w,S=Hn(o),x.datasets=S,m=x,$.data=m;var M,A,E={},I={};return A={display:!0},E.title=A,M=I,E.plugins=M,q=E,$.options=q,new ti(new J(g,$))}}(t,n,r,i),a,8|112&e<<3),ln()&&(pn(),jt()),jt()}}(e,t,s,n)),S=o;S.e12(-838505973),_n(S,"C(remember$composable)P(1):Composables.kt#9igjgp");var q,O=S,P=S.j12(C),M=O.f12();if(P||M===mn().h12_1){var A=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(C);O.g12(A),q=A}else q=M;var E=q,I=null==E||gn(E)?E:xt();S.i12(),Dn(z,I,o,48,0),ln()&&pn();var D=o.o1d();null===D||D.j1e(function(t,n,e,r){return function(i,o){return function(t,n,e,r,i,o){Xr(t,n,e,i,1|r)}(t,n,e,r,i),jt()}}(t,n,e,i))}function Zr(t){return t.u20(Qr),jt()}function Qr(t){return Bn(t,Tn(100)),Ln(t,Tn(100)),Nn(t,Sn(700)),Rn(t,Sn(700)),jt()}function ti(t){this.w37_1=t}function ni(t,n,e){var r=n;return ln()&&cn(-646215327,e,-1,"components.ComposableSingletons$EditableTitleKt.lambda-1. (EditableTitle.kt:29)"),hn("Title :",r,6),ln()&&pn(),jt()}function ei(t,n,e){var r=n;ln()&&cn(1730974274,e,-1,"components.ComposableSingletons$EditableTitleKt.lambda-2. (EditableTitle.kt:23)");var i=r;i.e12(547886695),_n(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===mn().h12_1){var u=ri;s.g12(u),o=u}else o=a;var c=o,l=null==c||gn(c)?c:xt();i.i12(),zn("customTitle",l,ci().x37_1,r,390,0);var h=Jn(),p=r;p.e12(547886695),_n(p,"C(remember$composable):Composables.kt#9igjgp");var f,_=p,d=_.f12();if(d===mn().h12_1){var v=ii;_.g12(v),f=v}else f=d;var y=f,m=null==y||gn(y)?y:xt();return p.i12(),Kn(h,m,r,8),ln()&&pn(),jt()}function ri(t){return t.w20(["form-label"]),jt()}function ii(t){return t.x20("customTitle"),t.w20(["form-control"]),Yn(t,"Custom title goes here"),t.u20(oi),jt()}function oi(t){return Gn(t,Sn(24)),jt()}function si(t,n,e){var r=n;ln()&&cn(1174811809,e,-1,"components.ComposableSingletons$EditableTitleKt.lambda-3. (EditableTitle.kt:18)");var i=r;i.e12(547886695),_n(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===mn().h12_1){var u=ai;s.g12(u),o=u}else o=a;var c=o,l=null==c||gn(c)?c:xt();return i.i12(),$n(l,ci().y37_1,r,48,0),ln()&&pn(),jt()}function ai(t){return t.w20(["form-group"]),jt()}function ui(){var t;k=this,this.x37_1=(t=fn(-646215327,!1,ni),function(n,e,r){return t.n1y(n,e,r)}),this.y37_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(1730974274,!1,ei)),this.z37_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(1174811809,!1,si))}function ci(){return null==k&&new ui,k}function li(t,n){var e=t;if(e=e.n1d(1068528252),_n(e,"C(EditableTitle$composable)"),0===n&&e.v1b())e.z17();else{ln()&&cn(1068528252,n,-1,"components.EditableTitle$composable (EditableTitle.kt:13)");var r=e;r.e12(547886695),_n(r,"C(remember$composable):Composables.kt#9igjgp");var i,o=r,s=o.f12();if(s===mn().h12_1){var a=hi;o.g12(a),i=a}else i=s;var u=i,c=null==u||gn(u)?u:xt();r.i12(),$n(c,ci().z37_1,e,48,0),ln()&&pn()}var l,h=e.o1d();null===h||h.j1e((l=n,function(t,n){return function(t,n,e){li(n,1|t)}(l,t),jt()}))}function hi(t){return t.w20(["row"]),jt()}function pi(t,n,e){var r=n;r=r.n1d(-1873638994),_n(r,"C(ErrorUi$composable)");var i,o,s=e;if(0==(14&e)&&(s|=r.j12(t)?4:2),2==(11&s)&&r.v1b())r.z17();else{ln()&&cn(-1873638994,e,-1,"components.ErrorUi$composable (Error.kt:8)");var a=r;a.e12(547886695),_n(a,"C(remember$composable):Composables.kt#9igjgp");var u,c=a,l=c.f12();if(l===mn().h12_1){var h=fi;c.g12(h),u=h}else u=l;var p=u,f=null==p||gn(p)?p:xt();a.i12();var _=f,d=yn(r,1938269174,!0,(o=t,function(t,n,e){var r=n;ln()&&cn(1938269174,e,-1,"components.ErrorUi$composable. (Error.kt:11)");var i=r;i.e12(547886695),_n(i,"C(remember$composable):Composables.kt#9igjgp");var s,a=i,u=a.f12();if(u===mn().h12_1){var c=_i;a.g12(c),s=c}else s=u;var l=s,h=null==l||gn(l)?l:xt();i.i12();var p=h,f=yn(r,-1978518889,!0,function(t){return function(n,e,r){var i=e;ln()&&cn(-1978518889,r,-1,"components.ErrorUi$composable.. (Error.kt:14)");var o=i;o.e12(547886695),_n(o,"C(remember$composable):Composables.kt#9igjgp");var s,a=o,u=a.f12();if(u===mn().h12_1){var c=di;a.g12(c),s=c}else s=u;var l=s,h=null==l||gn(l)?l:xt();o.i12();var p=h,f=yn(i,153044343,!0,function(t){return function(n,e,r){var i=e;return ln()&&cn(153044343,r,-1,"components.ErrorUi$composable... (Error.kt:17)"),hn("❌ "+t,i,0),ln()&&(pn(),jt()),jt()}}(t)),_=i;_.e12(-838505973),_n(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.j12(f),g=y.f12();if(m||g===mn().h12_1){var $=(v=f,function(t,n,e){return v.n1y(t,n,e)});y.g12($),d=$}else d=g;var b=d,w=null==b||gn(b)?b:xt();return _.i12(),Xn(p,w,i,48,0),ln()&&(pn(),jt()),jt()}}(o)),_=r;_.e12(-838505973),_n(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.j12(f),g=y.f12();if(m||g===mn().h12_1){var $=(v=f,function(t,n,e){return v.n1y(t,n,e)});y.g12($),d=$}else d=g;var b=d,w=null==b||gn(b)?b:xt();return _.i12(),$n(p,w,r,48,0),ln()&&(pn(),jt()),jt()})),v=r;v.e12(-838505973),_n(v,"C(remember$composable)P(1):Composables.kt#9igjgp");var y,m=v,g=v.j12(d),$=m.f12();if(g||$===mn().h12_1){var b=(i=d,function(t,n,e){return i.n1y(t,n,e)});m.g12(b),y=b}else y=$;var w=y,x=null==w||gn(w)?w:xt();v.i12(),$n(_,x,r,48,0),ln()&&pn()}var k=r.o1d();null===k||k.j1e(function(t,n){return function(e,r){return function(t,n,e,r){pi(t,e,1|n)}(t,n,e),jt()}}(t,e))}function fi(t){return t.w20(["row"]),jt()}function _i(t){return t.w20(["col-lg-12"]),jt()}function di(t){return t.w20(["text-center"]),jt()}function vi(t,n,e){var r=n;return ln()&&cn(-1817257175,e,-1,"components.ComposableSingletons$HeadingKt.lambda-1. (Heading.kt:21)"),hn("📊 benchart",r,6),ln()&&pn(),jt()}function yi(t,n,e){var r=n;ln()&&cn(-1445218266,e,-1,"components.ComposableSingletons$HeadingKt.lambda-2. (Heading.kt:18)");var i=r;i.e12(547886695),_n(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===mn().h12_1){var u=mi;s.g12(u),o=u}else o=a;var c=o,l=null==c||gn(c)?c:xt();return i.i12(),Zn(l,xi().a38_1,r,48,0),ln()&&pn(),jt()}function mi(t){return t.w20(["text-center"]),jt()}function gi(t,n,e){var r=n;ln()&&cn(-1522093819,e,-1,"components.ComposableSingletons$HeadingKt.lambda-3. (Heading.kt:11)");var i=r;i.e12(547886695),_n(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===mn().h12_1){var u=$i;s.g12(u),o=u}else o=a;var c=o,l=null==c||gn(c)?c:xt();return i.i12(),$n(l,xi().b38_1,r,48,0),ln()&&pn(),jt()}function $i(t){return t.w20(["col-lg-12"]),t.u20(bi),jt()}function bi(t){return Qn(t,Sn(30)),qn(t,Sn(30)),jt()}function wi(){var t;j=this,this.a38_1=(t=fn(-1817257175,!1,vi),function(n,e,r){return t.n1y(n,e,r)}),this.b38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(-1445218266,!1,yi)),this.c38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(-1522093819,!1,gi))}function xi(){return null==j&&new wi,j}function ki(t,n){var e=t;if(e=e.n1d(1340484778),_n(e,"C(Heading$composable)"),0===n&&e.v1b())e.z17();else{ln()&&cn(1340484778,n,-1,"components.Heading$composable (Heading.kt:8)");var r=e;r.e12(547886695),_n(r,"C(remember$composable):Composables.kt#9igjgp");var i,o=r,s=o.f12();if(s===mn().h12_1){var a=ji;o.g12(a),i=a}else i=s;var u=i,c=null==u||gn(u)?u:xt();r.i12(),$n(c,xi().c38_1,e,48,0),ln()&&pn()}var l,h=e.o1d();null===h||h.j1e((l=n,function(t,n){return function(t,n,e){ki(n,1|t)}(l,t),jt()}))}function ji(t){return t.w20(["row"]),jt()}function zi(){z=this}function Ci(){C=this;var t=new te("components.SavedBenchmarkNode",this,2);t.l2m("key",!1),t.l2m("value",!1),this.d38_1=t,this.e38_1=8}function Si(){return null==C&&new Ci,C}function qi(t,n,e,r){return function(t,n,e,r,i){return 3!=(3&t)&&oe(t,3,Si().d38_1),i.g38_1=n,i.h38_1=e,i}(t,n,e,0,Object.create(Oi.prototype))}function Oi(t,n){null==z&&new zi,this.g38_1=t,this.h38_1=n,this.i38_1=0}function Pi(){S=this}function Mi(){q=this;var t=new te("components.SavedBenchmarks",this,1);t.l2m("items",!1),this.j38_1=t,this.k38_1=8}function Ai(){return null==q&&new Mi,q}function Ei(t,n,e){return function(t,n,e,r){return 1!=(1&t)&&oe(t,1,Ai().j38_1),r.m38_1=n,r}(t,n,0,Object.create(Ii.prototype))}function Ii(t){null==S&&new Pi,this.m38_1=t,this.n38_1=8}function Di(){return to(),O}function Ti(t,n,e){var r=n;return ln()&&cn(37561396,e,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-1. (SavedBenchmarksDropDown.kt:35)"),hn("Load Benchmark :",r,6),ln()&&pn(),jt()}function Bi(t,n,e){var r=n;return ln()&&cn(-32633967,e,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-2. (SavedBenchmarksDropDown.kt:88)"),hn("Unsaved benchmark",r,6),ln()&&pn(),jt()}function Li(t,n,e){var r=n;return ln()&&cn(-652929765,e,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-3. (SavedBenchmarksDropDown.kt:114)"),hn("LOAD",r,6),ln()&&pn(),jt()}function Ni(t,n,e){var r=n;return ln()&&cn(-1219865148,e,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-4. (SavedBenchmarksDropDown.kt:130)"),hn("DELETE",r,6),ln()&&pn(),jt()}function Ri(){var t;P=this,this.o38_1=(t=fn(37561396,!1,Ti),function(n,e,r){return t.n1y(n,e,r)}),this.p38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(-32633967,!1,Bi)),this.q38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(-652929765,!1,Li)),this.r38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(-1219865148,!1,Ni))}function Fi(){return null==P&&new Ri,P}function Hi(t,n,e,r,i,o,s){to();var a=o;a=a.n1d(-441302567),_n(a,"C(SavedBenchmarksDropDown$composable)P(4,3,2,1)");var u,c,l,h,p,f,_=s;if(ln()&&cn(-441302567,_,-1,"components.SavedBenchmarksDropDown$composable (SavedBenchmarksDropDown.kt:15)"),n.h()){ln()&&pn();var d=a.o1d();return null===d||d.j1e((u=t,c=n,l=e,h=r,p=i,f=s,function(t,n){return function(t,n,e,r,i,o,s,a){Hi(t,n,e,r,i,s,1|o)}(u,c,l,h,p,f,t),jt()})),jt()}var v=a;v.e12(-838505973),_n(v,"C(remember$composable)P(1):Composables.kt#9igjgp");var y,m=v,g=v.j12(n),$=m.f12();if(g||$===mn().h12_1){var b=Tt(n),w=ae(b,null,2,null);m.g12(w),y=w}else y=$;var x=y,k=null==x||gn(x)?x:xt();v.i12();var j=k,z=a;z.e12(547886695),_n(z,"C(remember$composable):Composables.kt#9igjgp");var C,S=z,q=S.f12();if(q===mn().h12_1){var O=Vi;S.g12(O),C=O}else C=q;var P=C,M=null==P||gn(P)?P:xt();z.i12(),zn("savedBenchmarks",M,Fi().o38_1,a,390,0);var A=a;A.e12(547886695),_n(A,"C(remember$composable):Composables.kt#9igjgp");var E,I=A,D=I.f12();if(D===mn().h12_1){var T=Wi;I.g12(T),E=T}else E=D;var B=E,L=null==B||gn(B)?B:xt();A.i12();var N=L,R=yn(a,549151222,!0,function(t,n,e,r,i,o,s){return function(r,a,u){var c=a;ln()&&cn(549151222,u,-1,"components.SavedBenchmarksDropDown$composable. (SavedBenchmarksDropDown.kt:43)");var l=c;l.e12(547886695),_n(l,"C(remember$composable):Composables.kt#9igjgp");var h,p=l,f=p.f12();if(f===mn().h12_1){var _=Ji;p.g12(_),h=_}else h=f;var d=h,v=null==d||gn(d)?d:xt();l.i12();var y=v,m=yn(c,1940859863,!0,function(t,n,e,r,i,o,s){return function(r,a,u){var c=a;ln()&&cn(1940859863,u,-1,"components.SavedBenchmarksDropDown$composable.. (SavedBenchmarksDropDown.kt:48)");var l=c;l.e12(547886695),_n(l,"C(remember$composable):Composables.kt#9igjgp");var h,p=l,f=p.f12();if(f===mn().h12_1){var _=Ki;p.g12(_),h=_}else h=f;var d=h,v=null==d||gn(d)?d:xt();l.i12();var y=v,m=yn(c,461626232,!0,function(t,n,e,r,i){return function(r,o,s){var a=o;ln()&&cn(461626232,s,-1,"components.SavedBenchmarksDropDown$composable... (SavedBenchmarksDropDown.kt:54)");var u=function(t,n,e){return function(r){return r.w20(["form-select"]),r.x20("savedBenchmarks"),r.y27(function(t,n,e){return function(r){var i=r.f2a_1;if(null==i);else{var o;t(i);t:{for(var s=n.c();s.d();){var a=s.e();if(a.g38_1===i){o=a;break t}}o=null}(function(t,n){to(),le("selectedBenchmark",ue,!0,(function(){return ce()})),t.jy(n)})(e,he(o)),jt()}return jt()}}(t,n,e)),jt()}}(t,n,e),c=yn(a,1692700999,!0,function(t,n,e,r){return function(n,i,o){var s=i;ln()&&cn(1692700999,o,-1,"components.SavedBenchmarksDropDown$composable.... (SavedBenchmarksDropDown.kt:67)");for(var a=t.c();a.d();){var u=a.e(),c=s;c.e12(-1058148781),_n(c,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var l,h=c,p=!!(!!(c.j12(u)|c.j12(e))|c.j12(r)),f=h.f12();if(p||f===mn().h12_1){var _=Yi(u,r,e);h.g12(_),l=_}else l=f;var d=l,v=null==d||gn(d)?d:xt();c.i12();var y,m=v,g=yn(s,1052804723,!0,Gi(u)),$=s;$.e12(-838505973),_n($,"C(remember$composable)P(1):Composables.kt#9igjgp");var b,w=$,x=$.j12(g),k=w.f12();if(x||k===mn().h12_1){var j=Xi(g);w.g12(j),b=j}else b=k;var z=b,C=null==z||gn(z)?z:xt();$.i12(),y=C,fe(u.g38_1,m,y,s,384,0)}var S=Di(),q=s;q.e12(-838505973),_n(q,"C(remember$composable)P(1):Composables.kt#9igjgp");var O,P=q,M=q.j12(r),A=P.f12();if(M||A===mn().h12_1){var E=function(t){return function(n){return t&&(pe(n),jt()),jt()}}(r);P.g12(E),O=E}else O=A;var I=O,D=null==I||gn(I)?I:xt();return q.i12(),fe(S,D,Fi().p38_1,s,390,0),ln()&&(pn(),jt()),jt()}}(n,0,e,i)),l=a;l.e12(-838505973),_n(l,"C(remember$composable)P(1):Composables.kt#9igjgp");var h,p,f=l,_=l.j12(c),d=f.f12();if(_||d===mn().h12_1){var v=(p=c,function(t,n,e){return p.n1y(t,n,e)});f.g12(v),h=v}else h=d;var y=h,m=null==y||gn(y)?y:xt();return l.i12(),_e(u,!1,m,a,384,2),ln()&&(pn(),jt()),jt()}}(t,n,e,0,i)),g=c;g.e12(-838505973),_n(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var $,b,w=g,x=g.j12(m),k=w.f12();if(x||k===mn().h12_1){var j=(b=m,function(t,n,e){return b.n1y(t,n,e)});w.g12(j),$=j}else $=k;var z=$,C=null==z||gn(z)?z:xt();g.i12(),$n(y,C,c,48,0);var S=c;S.e12(547886695),_n(S,"C(remember$composable):Composables.kt#9igjgp");var q,O=S,P=O.f12();if(P===mn().h12_1){var M=Zi;O.g12(M),q=M}else q=P;var A=q,E=null==A||gn(A)?A:xt();S.i12();var I=E,D=yn(c,-282119967,!0,function(t,n,e,r,i){return function(t,o,s){var a=o;ln()&&cn(-282119967,s,-1,"components.SavedBenchmarksDropDown$composable... (SavedBenchmarksDropDown.kt:98)");var u=a;u.e12(-1058148781),_n(u,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var c,l=u,h=!!(!!(u.j12(n)|u.j12(e))|u.j12(r)),p=l.f12();if(h||p===mn().h12_1){var f=function(t,n,e){return function(r){return r.w20(["btn","btn-primary"]),r.u20(Qi),r.a21(function(t,n){return function(e){return t(Ui(n)),jt()}}(n,e)),Pn(r,On()),t&&(ve(r),jt()),jt()}}(r,n,e);l.g12(f),c=f}else c=p;var _=c,d=null==_||gn(_)?_:xt();u.i12(),Mn(d,Fi().q38_1,a,48,0);var v=a;v.e12(-1058148781),_n(v,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var y,m=v,g=!!(!!(v.j12(i)|v.j12(e))|v.j12(r)),$=m.f12();if(g||$===mn().h12_1){var b=function(t,n,e){return function(r){return r.w20(["btn","btn-danger"]),r.a21(function(t,n){return function(e){return t(Ui(n)),jt()}}(n,e)),Pn(r,On()),t&&(ve(r),jt()),jt()}}(r,i,e);m.g12(b),y=b}else y=$;var w=y,x=null==w||gn(w)?w:xt();return v.i12(),Mn(x,Fi().r38_1,a,48,0),ln()&&(pn(),jt()),jt()}}(0,o,e,i,s)),T=c;T.e12(-838505973),_n(T,"C(remember$composable)P(1):Composables.kt#9igjgp");var B,L=T,N=T.j12(D),R=L.f12();if(N||R===mn().h12_1){var F=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(D);L.g12(F),B=F}else B=R;var H=B,U=null==H||gn(H)?H:xt();return T.i12(),$n(I,U,c,48,0),ln()&&(pn(),jt()),jt()}}(t,n,e,0,i,o,s)),g=c;g.e12(-838505973),_n(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var $,b,w=g,x=g.j12(m),k=w.f12();if(x||k===mn().h12_1){var j=(b=m,function(t,n,e){return b.n1y(t,n,e)});w.g12(j),$=j}else $=k;var z=$,C=null==z||gn(z)?z:xt();return g.i12(),$n(y,C,c,48,0),ln()&&(pn(),jt()),jt()}}(e,n,j,0,t,r,i)),F=a;F.e12(-838505973),_n(F,"C(remember$composable)P(1):Composables.kt#9igjgp");var H,U,V=F,W=F.j12(R),J=V.f12();if(W||J===mn().h12_1){var K=(U=R,function(t,n,e){return U.n1y(t,n,e)});V.g12(K),H=K}else H=J;var Y=H,G=null==Y||gn(Y)?Y:xt();F.i12(),$n(N,G,a,48,0),ln()&&pn();var X=a.o1d();null===X||X.j1e(function(t,n,e,r,i,o){return function(s,a){return function(t,n,e,r,i,o,s,a){Hi(t,n,e,r,i,s,1|o)}(t,n,e,r,i,o,s),jt()}}(t,n,e,r,i,s))}function Ui(t){return to(),le("selectedBenchmark",ue,!0,(function(){return ce()})),t.m2()}function Vi(t){return to(),t.w20(["form-label"]),jt()}function Wi(t){return to(),t.w20(["form-group"]),jt()}function Ji(t){return to(),t.w20(["row"]),jt()}function Ki(t){return to(),t.w20(["col"]),jt()}function Yi(t,n,e){return function(r){return t.g38_1!==Ui(e).g38_1||n||(pe(r),jt()),jt()}}function Gi(t){return function(n,e,r){var i=e;return ln()&&cn(1052804723,r,-1,"components.SavedBenchmarksDropDown$composable..... (SavedBenchmarksDropDown.kt:76)"),hn(t.g38_1,i,0),ln()&&(pn(),jt()),jt()}}function Xi(t){return function(n,e,r){return t.n1y(n,e,r)}}function Zi(t){return to(),t.w20(["col"]),jt()}function Qi(t){return to(),de(t,Sn(10)),jt()}function to(){M||(M=!0,O="unsavedBenchmark_"+(new Date).getMilliseconds())}function no(t,n,e,r,i,o,s,a,u,c){this.t38_1=t,this.u38_1=n,this.v38_1=e,this.w38_1=r,this.x38_1=i,this.y38_1=o,this.z38_1=s,this.a39_1=a,this.b39_1=u,this.c39_1=c,this.d39_1=0}function eo(t,n){this.m39_1=t,this.n39_1=n,this.o39_1=8}function ro(t){return ze("el",1,je,(function(t){return ro(t)}),null),t.q39_1.m2()}function io(t){var n;this.p39_1=t,this.q39_1=ye((n=this,function(){return document.createElement(n.p39_1)}))}function oo(t,n,e){var r=n;return ln()&&cn(323270151,e,-1,"components.ComposableSingletons$SummaryKt.lambda-1. (Summary.kt:162)"),hn("vs",r,6),ln()&&pn(),jt()}function so(t,n,e){var r=n;return ln()&&cn(-1108287470,e,-1,"components.ComposableSingletons$SummaryKt.lambda-2. (Summary.kt:161)"),po(null,co().r39_1,r,48,1),ln()&&pn(),jt()}function ao(t,n,e){var r=n;return ln()&&cn(2132966384,e,-1,"components.ComposableSingletons$SummaryKt.lambda-3. (Summary.kt:160)"),ge(null,co().s39_1,r,48,1),ln()&&pn(),jt()}function uo(){var t;E=this,this.r39_1=(t=fn(323270151,!1,oo),function(n,e,r){return t.n1y(n,e,r)}),this.s39_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(-1108287470,!1,so)),this.t39_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(fn(2132966384,!1,ao))}function co(){return null==E&&new uo,E}function lo(t,n,e,r){Ao();var i=e;i=i.n1d(1753254121),_n(i,"C(SummaryContainer$composable)");var o=r;ln()&&cn(1753254121,o,-1,"components.SummaryContainer$composable (Summary.kt:35)"),t(i,14&o),In(null,i,0,1);for(var s=n.c();s.d();){var a=s.e();i.h1a(-380220126,a.m39_1),fo(a.m39_1,a.n39_1,i,64),In(null,i,0,1),i.k1a()}ln()&&pn();var u,c,l,h=i.o1d();null===h||h.j1e((u=t,c=n,l=r,function(t,n){return function(t,n,e,r,i){lo(t,n,r,1|e)}(u,c,l,t),jt()}))}function ho(t,n,e,r,i,o,s,a,u,c,l){Ao();var h=c;h=h.n1d(1501225216),_n(h,"C(SummarySelector$composable)P(!1,8,2,5!1,6,7)");var p=l;ln()&&cn(1501225216,p,-1,"components.SummarySelector$composable (Summary.kt:52)");var f=h;f.e12(547886695),_n(f,"C(remember$composable):Composables.kt#9igjgp");var _,d=f,v=d.f12();if(v===mn().h12_1){var y=vo;d.g12(y),_=y}else _=v;var m=_,g=null==m||gn(m)?m:xt();f.i12();var $,b,w,x,k,j=g,z=yn(h,2020978206,!0,($=p,b=e,w=t,x=r,k=n,function(t,n,e){var r=n;ln()&&cn(2020978206,e,-1,"components.SummarySelector$composable. (Summary.kt:68)");var i=r;i.e12(547886695),_n(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===mn().h12_1){var u=yo;s.g12(u),o=u}else o=a;var c=o,l=null==c||gn(c)?c:xt();i.i12();var h=l,p=yn(r,-871838913,!0,function(t,n,e){return function(r,i,o){var s=i;ln()&&cn(-871838913,o,-1,"components.SummarySelector$composable.. (Summary.kt:74)");var a=s;a.e12(-838505973),_n(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,c=a,l=a.j12(n),h=c.f12();if(l||h===mn().h12_1){var p=function(t){return function(n){return n.w20(["btn","btn-outline-dark","btn-sm"]),n.a21(function(t){return function(n){return t(),jt()}}(t)),Pn(n,On()),jt()}}(n);c.g12(p),u=p}else u=h;var f=u,_=null==f||gn(f)?f:xt();a.i12();var d=_,v=yn(s,-1132288775,!0,function(t,n){return function(e,r,i){var o=r;return ln()&&cn(-1132288775,i,-1,"components.SummarySelector$composable... (Summary.kt:84)"),hn(t,o,14&n),ln()&&(pn(),jt()),jt()}}(e,t)),y=s;y.e12(-838505973),_n(y,"C(remember$composable)P(1):Composables.kt#9igjgp");var m,g,$=y,b=y.j12(v),w=$.f12();if(b||w===mn().h12_1){var x=(g=v,function(t,n,e){return g.n1y(t,n,e)});$.g12(x),m=x}else m=w;var k=m,j=null==k||gn(k)?k:xt();return y.i12(),Mn(d,j,s,48,0),ln()&&(pn(),jt()),jt()}}($,b,w)),f=r;f.e12(-838505973),_n(f,"C(remember$composable)P(1):Composables.kt#9igjgp");var _,d,v=f,y=f.j12(p),m=v.f12();if(y||m===mn().h12_1){var g=(d=p,function(t,n,e){return d.n1y(t,n,e)});v.g12(g),_=g}else _=m;var j=_,z=null==j||gn(j)?j:xt();f.i12(),$n(h,z,r,48,0);var C=r;C.e12(547886695),_n(C,"C(remember$composable):Composables.kt#9igjgp");var S,q=C,O=q.f12();if(O===mn().h12_1){var P=mo;q.g12(P),S=P}else S=O;var M=S,A=null==M||gn(M)?M:xt();C.i12();var E=A,I=yn(r,782244392,!0,function(t,n,e){return function(r,i,o){var s=i;ln()&&cn(782244392,o,-1,"components.SummarySelector$composable.. (Summary.kt:93)");var a=s;a.e12(-838505973),_n(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,c=a,l=a.j12(n),h=c.f12();if(l||h===mn().h12_1){var p=function(t){return function(n){return n.w20(["btn","btn-outline-dark","btn-sm"]),n.a21(function(t){return function(n){return t(),jt()}}(t)),Pn(n,On()),jt()}}(n);c.g12(p),u=p}else u=h;var f=u,_=null==f||gn(f)?f:xt();a.i12();var d=_,v=yn(s,-401969822,!0,function(t,n){return function(e,r,i){var o=r;return ln()&&cn(-401969822,i,-1,"components.SummarySelector$composable... (Summary.kt:103)"),hn(t,o,14&n>>3),ln()&&(pn(),jt()),jt()}}(e,t)),y=s;y.e12(-838505973),_n(y,"C(remember$composable)P(1):Composables.kt#9igjgp");var m,g=y,$=y.j12(v),b=g.f12();if($||b===mn().h12_1){var w=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(v);g.g12(w),m=w}else m=b;var x=m,k=null==x||gn(x)?x:xt();return y.i12(),Mn(d,k,s,48,0),ln()&&(pn(),jt()),jt()}}($,x,k)),D=r;D.e12(-838505973),_n(D,"C(remember$composable)P(1):Composables.kt#9igjgp");var T,B=D,L=D.j12(I),N=B.f12();if(L||N===mn().h12_1){var R=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(I);B.g12(R),T=R}else T=N;var F=T,H=null==F||gn(F)?F:xt();return D.i12(),$n(E,H,r,48,0),ln()&&(pn(),jt()),jt()})),C=h;C.e12(-838505973),_n(C,"C(remember$composable)P(1):Composables.kt#9igjgp");var S,q,O=C,P=C.j12(z),M=O.f12();if(P||M===mn().h12_1){var A=(q=z,function(t,n,e){return q.n1y(t,n,e)});O.g12(A),S=A}else S=M;var E=S,I=null==E||gn(E)?E:xt();C.i12(),$n(j,I,h,48,0);var D=h;D.e12(547886695),_n(D,"C(remember$composable):Composables.kt#9igjgp");var T,B=D,L=B.f12();if(L===mn().h12_1){var N=go;B.g12(N),T=N}else T=L;var R=T,F=null==R||gn(R)?R:xt();D.i12();var H,U,V,W,J,K=F,Y=yn(h,-569509561,!0,(H=a,U=u,V=i,W=o,J=s,function(t,n,e){var r=n;ln()&&cn(-569509561,e,-1,"components.SummarySelector$composable. (Summary.kt:114)");var i=0;if(i<2)do{var o=i;i=i+1|0,r.h1a(1520191051,"block-selector-"+o);var s=r;s.e12(547886695),_n(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,c=u.f12();if(c===mn().h12_1){var l=$o;u.g12(l),a=l}else a=c;var h=a,p=null==h||gn(h)?h:xt();s.i12();var f=p,_=yn(r,-850201877,!0,jo(0,o,H,U,V,W,J)),d=r;d.e12(-838505973),_n(d,"C(remember$composable)P(1):Composables.kt#9igjgp");var v,y=d,m=d.j12(_),g=y.f12();if(m||g===mn().h12_1){var $=zo(_);y.g12($),v=$}else v=g;var b=v,w=null==b||gn(b)?b:xt();if(d.i12(),$n(f,w,r,48,0),0===o){var x=r;x.e12(547886695),_n(x,"C(remember$composable):Composables.kt#9igjgp");var k,j=x,z=j.f12();if(z===mn().h12_1){var C=Co;j.g12(C),k=C}else k=z;var S=k,q=null==S||gn(S)?S:xt();x.i12(),$n(q,co().t39_1,r,48,0)}r.k1a()}while(i<2);return ln()&&(pn(),jt()),jt()})),G=h;G.e12(-838505973),_n(G,"C(remember$composable)P(1):Composables.kt#9igjgp");var X,Z=G,Q=G.j12(Y),tt=Z.f12();if(Q||tt===mn().h12_1){var nt=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(Y);Z.g12(nt),X=nt}else X=tt;var et=X,rt=null==et||gn(et)?et:xt();G.i12(),$n(K,rt,h,48,0),ln()&&pn();var it=h.o1d();null===it||it.j1e(function(t,n,e,r,i,o,s,a,u,c){return function(l,h){return function(t,n,e,r,i,o,s,a,u,c,l,h){ho(t,n,e,r,i,o,s,a,u,l,1|c)}(t,n,e,r,i,o,s,a,u,c,l),jt()}}(t,n,e,r,i,o,s,a,u,l))}function po(t,n,e,r,i){Ao();var o={_v:t},s={_v:n},a=e;a=a.n1d(-1706683414),_n(a,"C(Strong$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),ln()&&cn(-1706683414,u,-1,"components.Strong$composable (Summary.kt:188)"),$e((Ao(),A),o._v,s._v,a,8|112&u<<3|896&u<<3),ln()&&pn());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){po(t._v,n._v,i,1|e,r)}(c,l,h,p,t),jt()}))}function fo(t,n,e,r){Ao();var i=e;i=i.n1d(1271998269),_n(i,"C(SummaryUi$composable)P(1)");var o=r;ln()&&cn(1271998269,o,-1,"components.SummaryUi$composable (Summary.kt:194)");var s=i;s.e12(547886695),_n(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,c=u.f12();if(c===mn().h12_1){var l=So;u.g12(l),a=l}else a=c;var h=a,p=null==h||gn(h)?h:xt();s.i12();var f,_,d,v=p,y=yn(i,1135450184,!0,(f=t,_=o,d=n,function(t,n,e){var r=n;ln()&&cn(1135450184,e,-1,"components.SummaryUi$composable. (Summary.kt:199)");var i=yn(r,-1777780889,!0,function(t,n){return function(e,r,i){var o=r;return ln()&&cn(-1777780889,i,-1,"components.SummaryUi$composable.. (Summary.kt:200)"),hn(t,o,14&n),ln()&&(pn(),jt()),jt()}}(f,_)),o=r;o.e12(-838505973),_n(o,"C(remember$composable)P(1):Composables.kt#9igjgp");var s,a,u=o,c=o.j12(i),l=u.f12();if(c||l===mn().h12_1){var h=(a=i,function(t,n,e){return a.n1y(t,n,e)});u.g12(h),s=h}else s=l;var p=s,v=null==p||gn(p)?p:xt();o.i12(),vn(null,v,r,48,1);var y=yn(r,328569139,!0,function(t){return function(n,e,r){var i=e;ln()&&cn(328569139,r,-1,"components.SummaryUi$composable.. (Summary.kt:201)");for(var o=t.c();o.d();){var s=o.e(),a=yn(i,-1319792079,!0,Oo(s)),u=i;u.e12(-838505973),_n(u,"C(remember$composable)P(1):Composables.kt#9igjgp");var c,l=u,h=u.j12(a),p=l.f12();if(h||p===mn().h12_1){var f=Po(a);l.g12(f),c=f}else c=p;var _=c,d=null==_||gn(_)?_:xt();u.i12(),we(null,d,i,48,1)}return ln()&&(pn(),jt()),jt()}}(d)),m=r;m.e12(-838505973),_n(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,$=m,b=m.j12(y),w=$.f12();if(b||w===mn().h12_1){var x=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(y);$.g12(x),g=x}else g=w;var k=g,j=null==k||gn(k)?k:xt();return m.i12(),xe(null,j,r,48,1),ln()&&(pn(),jt()),jt()})),m=i;m.e12(-838505973),_n(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,$,b=m,w=m.j12(y),x=b.f12();if(w||x===mn().h12_1){var k=($=y,function(t,n,e){return $.n1y(t,n,e)});b.g12(k),g=k}else g=x;var j=g,z=null==j||gn(j)?j:xt();m.i12(),$n(v,z,i,48,0),ln()&&pn();var C=i.o1d();null===C||C.j1e(function(t,n,e){return function(r,i){return function(t,n,e,r,i){fo(t,n,r,1|e)}(t,n,e,r),jt()}}(t,n,r))}function _o(t,n,e,r,i){Ao();var o={_v:n},s=e;s=s.n1d(-1073265847);var a,u,c,l,h=r;if(0!=(1&i)?h|=6:0==(14&r)&&(h|=s.j12(t)?4:2),0!=(2&i)?h|=48:0==(112&r)&&(h|=s.j12(o._v)?32:16),18==(91&h)&&s.v1b())s.z17();else{0!=(2&i)&&(o._v=null),ln()&&cn(-1073265847,h,-1,"components.BoldText$composable (Summary.kt:242)");var p=o._v,f=s;f.e12(-838505973),_n(f,"C(remember$composable)P(1):Composables.kt#9igjgp");var _,d=f,v=f.j12(p),y=d.f12();if(v||y===mn().h12_1){var m=(l=o,function(t){var n=l._v;return null==n||n(t),t.u20(Mo),jt()});d.g12(m),_=m}else _=y;var g=_,$=null==g||gn(g)?g:xt();f.i12();var b=$,w=yn(s,-374759312,!0,(u=t,c=h,function(t,n,e){var r=n;return ln()&&cn(-374759312,e,-1,"components.BoldText$composable. (Summary.kt:253)"),hn(u,r,14&c),ln()&&(pn(),jt()),jt()})),x=s;x.e12(-838505973),_n(x,"C(remember$composable)P(1):Composables.kt#9igjgp");var k,j=x,z=x.j12(w),C=j.f12();if(z||C===mn().h12_1){var S=(a=w,function(t,n,e){return a.n1y(t,n,e)});j.g12(S),k=S}else k=C;var q=k,O=null==q||gn(q)?q:xt();x.i12(),be(b,O,s,48,0),ln()&&pn()}var P=s.o1d();null===P||P.j1e(function(t,n,e,r){return function(i,o){return function(t,n,e,r,i,o){_o(t,n._v,i,1|e,r)}(t,n,e,r,i),jt()}}(t,o,r,i))}function vo(t){return Ao(),t.w20(["row","mb-3"]),jt()}function yo(t){return Ao(),t.w20(["col-auto"]),jt()}function mo(t){return Ao(),t.w20(["col-auto"]),jt()}function go(t){return Ao(),t.w20(["row"]),jt()}function $o(t){return Ao(),t.w20(["col"]),jt()}function bo(t,n,e){return function(r){return r.w20(["form-select"]),r.x27(function(t,n,e){return function(r){var i=r.f2b_1;return null==i||(0===t?n(i):e(i)),jt()}}(t,n,e)),jt()}}function wo(t,n,e,r){return function(i){return r===(0===t?n:e)&&(pe(i),jt()),jt()}}function xo(t){return function(n,e,r){var i=e;return ln()&&cn(1538427302,r,-1,"components.SummarySelector$composable...... (Summary.kt:148)"),hn(t,i,0),ln()&&(pn(),jt()),jt()}}function ko(t){return function(n,e,r){return t.n1y(n,e,r)}}function jo(t,n,e,r,i,o,s){return function(t,a,u){var c=a;ln()&&cn(-850201877,u,-1,"components.SummarySelector$composable.... (Summary.kt:121)");var l=c;l.e12(-1058148781),_n(l,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var h,p=l,f=!!(!!(l.j12(n)|l.j12(e))|l.j12(r)),_=p.f12();if(f||_===mn().h12_1){var d=bo(n,e,r);p.g12(d),h=d}else h=_;var v=h,y=null==v||gn(v)?v:xt();l.i12();var m=y,g=yn(c,1162597754,!0,function(t,n,e,r){return function(i,o,s){var a=o;ln()&&cn(1162597754,s,-1,"components.SummarySelector$composable..... (Summary.kt:137)");for(var u=t.c();u.d();){var c=u.e(),l=a;l.e12(-1603429786),_n(l,"C(remember$composable)P(1):Composables.kt#9igjgp");for(var h=!1,p=[n,e,r,c],f=0,_=p.length;f<_;){var d=p[f];f=f+1|0,h=!!(h|l.j12(d))}var v,y=l,m=h,g=y.f12();if(m||g===mn().h12_1){var $=wo(n,e,r,c);y.g12($),v=$}else v=g;var b=v,w=null==b||gn(b)?b:xt();l.i12();var x=w,k=yn(a,1538427302,!0,xo(c)),j=a;j.e12(-838505973),_n(j,"C(remember$composable)P(1):Composables.kt#9igjgp");var z,C=j,S=j.j12(k),q=C.f12();if(S||q===mn().h12_1){var O=ko(k);C.g12(O),z=O}else z=q;var P=z,M=null==P||gn(P)?P:xt();j.i12(),fe(c,x,M,a,384,0)}return ln()&&(pn(),jt()),jt()}}(i,n,o,s)),$=c;$.e12(-838505973),_n($,"C(remember$composable)P(1):Composables.kt#9igjgp");var b,w,x=$,k=$.j12(g),j=x.f12();if(k||j===mn().h12_1){var z=(w=g,function(t,n,e){return w.n1y(t,n,e)});x.g12(z),b=z}else b=j;var C=b,S=null==C||gn(C)?C:xt();return $.i12(),_e(m,!1,S,c,384,2),ln()&&(pn(),jt()),jt()}}function zo(t){return function(n,e,r){return t.n1y(n,e,r)}}function Co(t){return Ao(),t.w20(["col-auto"]),jt()}function So(t){return Ao(),t.w20(["row"]),jt()}function qo(t){return Ao(),t.w20(["text-capitalize"]),jt()}function Oo(t){return function(n,e,r){var i,o=e;ln()&&cn(-1319792079,r,-1,"components.SummaryUi$composable.... (Summary.kt:203)"),hn(t.u38_1+" ",o,0);var s=o;s.e12(547886695),_n(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,c=u.f12();if(c===mn().h12_1){var l=qo;u.g12(l),a=l}else a=c;var h=a,p=null==h||gn(h)?h:xt();s.i12(),i=p,_o(t.v38_1,i,o,0,0),hn(" : ",o,6),_o(t.w38_1,null,o,0,2),hn(t.t38_1?" looks ":" performed ",o,0),_o(t.x38_1+"% ",null,o,0,2);var f=t.t38_1?"":"ms",_=o;_.e12(-1124426577),_n(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.j12(t)|_.j12(f)),m=v.f12();if(y||m===mn().h12_1){var g=function(t,n){return function(e){var r=0===t.z38_1?"secondary":t.z38_1>0?"danger":"success";return e.w20(["badge","bg-"+r]),e.e20("data-bs-toggle","tooltip"),e.e20("data-bs-placement","top"),e.e20("title",""+t.c39_1+n+" to "+t.b39_1+n),jt()}}(t,f);v.g12(g),d=g}else d=m;var $=d,b=null==$||gn($)?$:xt();_.i12();var w=b,x=yn(o,-2128018801,!0,function(t){return function(n,e,r){var i=e;return ln()&&cn(-2128018801,r,-1,"components.SummaryUi$composable..... (Summary.kt:231)"),hn(t.y38_1,i,0),ln()&&(pn(),jt()),jt()}}(t)),k=o;k.e12(-838505973),_n(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,z,C=k,S=k.j12(x),q=C.f12();if(S||q===mn().h12_1){var O=(z=x,function(t,n,e){return z.n1y(t,n,e)});C.g12(O),j=O}else j=q;var P=j,M=null==P||gn(P)?P:xt();return k.i12(),be(w,M,o,48,0),hn(" ("+t.a39_1+t.z38_1+f+")",o,0),ln()&&(pn(),jt()),jt()}}function Po(t){return function(n,e,r){return t.n1y(n,e,r)}}function Mo(t){return Ao(),ke(t,"bold"),jt()}function Ao(){I||(I=!0,A=new io("strong"))}function Eo(t,n,e){var r=n;return ln()&&cn(1817043984,e,-1,"components.ComposableSingletons$TestNameDetectionToggleKt.lambda-1. (TestNameDetectionToggle.kt:29)"),hn("Test Name Detection:",r,6),ln()&&pn(),jt()}function Io(){var t;D=this,this.u39_1=(t=fn(1817043984,!1,Eo),function(n,e,r){return t.n1y(n,e,r)})}function Do(t,n,e,r){var i=e;i=i.n1d(-1801806257),_n(i,"C(TestNameDetectionToggle$composable)");var o,s,a,u=r;if(0==(14&r)&&(u|=i.j1d(t)?4:2),0==(112&r)&&(u|=i.j12(n)?32:16),18==(91&u)&&i.v1b())i.z17();else{ln()&&cn(-1801806257,u,-1,"components.TestNameDetectionToggle$composable (TestNameDetectionToggle.kt:10)");var c=i;c.e12(547886695),_n(c,"C(remember$composable):Composables.kt#9igjgp");var l,h=c,p=h.f12();if(p===mn().h12_1){var f=To;h.g12(f),l=f}else l=p;var _=l,d=null==_||gn(_)?_:xt();c.i12();var v=d,y=yn(i,815464847,!0,(s=t,a=n,function(t,n,e){var r=n;ln()&&cn(815464847,e,-1,"components.TestNameDetectionToggle$composable. (TestNameDetectionToggle.kt:21)");var i=r;i.e12(547886695),_n(i,"C(remember$composable):Composables.kt#9igjgp");var o,u=i,c=u.f12();if(c===mn().h12_1){var l=Lo;u.g12(l),o=l}else o=c;var h=o,p=null==h||gn(h)?h:xt();i.i12(),zn("testNameDetection",p,(null==D&&new Io,D).u39_1,r,390,0),In(null,r,0,1);var f=r;f.e12(-1124426577),_n(f,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var _,d=f,v=!!(f.j12(s)|f.j12(a)),y=d.f12();if(v||y===mn().h12_1){var m=function(t,n){return function(e){return e.x20("testNameDetection"),e.w20(["btn",t?"btn-success":"btn-secondary"]),e.a21(function(t){return function(n){return t(),jt()}}(n)),Pn(e,On()),jt()}}(s,a);d.g12(m),_=m}else _=y;var g=_,$=null==g||gn(g)?g:xt();f.i12();var b=$,w=yn(r,-1071119211,!0,function(t){return function(n,e,r){var i=e;return ln()&&cn(-1071119211,r,-1,"components.TestNameDetectionToggle$composable.. (TestNameDetectionToggle.kt:42)"),hn(t?"ON":"OFF",i,0),ln()&&(pn(),jt()),jt()}}(s)),x=r;x.e12(-838505973),_n(x,"C(remember$composable)P(1):Composables.kt#9igjgp");var k,j,z=x,C=x.j12(w),S=z.f12();if(C||S===mn().h12_1){var q=(j=w,function(t,n,e){return j.n1y(t,n,e)});z.g12(q),k=q}else k=S;var O=k,P=null==O||gn(O)?O:xt();return x.i12(),Mn(b,P,r,48,0),ln()&&(pn(),jt()),jt()})),m=i;m.e12(-838505973),_n(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,$=m,b=m.j12(y),w=$.f12();if(b||w===mn().h12_1){var x=(o=y,function(t,n,e){return o.n1y(t,n,e)});$.g12(x),g=x}else g=w;var k=g,j=null==k||gn(k)?k:xt();m.i12(),$n(v,j,i,48,0),ln()&&pn()}var z=i.o1d();null===z||z.j1e(function(t,n,e){return function(r,i){return function(t,n,e,r,i){Do(t,n,r,1|e)}(t,n,e,r),jt()}}(t,n,r))}function To(t){return t.w20(["form-group"]),t.u20(Bo),jt()}function Bo(t){return En(t,Sn(10)),jt()}function Lo(t){return t.w20(["form-label"]),jt()}function No(t,n,e){var r=n;return ln()&&cn(-130845949,e,-1,"components.ComposableSingletons$TestNamesKt.lambda-1. (TestNames.kt:24)"),hn("Test Name :",r,6),ln()&&pn(),jt()}function Ro(){var t;T=this,this.v39_1=(t=fn(-130845949,!1,No),function(n,e,r){return t.n1y(n,e,r)})}function Fo(t,n,e,r,i,o){var s={_v:n},a=r;a=a.n1d(246637604),_n(a,"C(TestNames$composable)P(2)");var u,c,l,h,p=i;if(0!=(2&o)&&(s._v=null),ln()&&cn(246637604,p,-1,"components.TestNames$composable (TestNames.kt:8)"),!t.h()){var f=a;f.e12(547886695),_n(f,"C(remember$composable):Composables.kt#9igjgp");var _,d=f,v=d.f12();if(v===mn().h12_1){var y=Ho;d.g12(y),_=y}else _=v;var m=_,g=null==m||gn(m)?m:xt();f.i12();var $=g,b=yn(a,-1509913918,!0,(c=e,l=t,h=s,function(t,n,e){var r=n;ln()&&cn(-1509913918,e,-1,"components.TestNames$composable. (TestNames.kt:18)");var i=r;i.e12(547886695),_n(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===mn().h12_1){var u=Uo;s.g12(u),o=u}else o=a;var p=o,f=null==p||gn(p)?p:xt();i.i12(),zn("testNames",f,(null==T&&new Ro,T).v39_1,r,390,0);var _=r;_.e12(-838505973),_n(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v=_,y=_.j12(c),m=v.f12();if(y||m===mn().h12_1){var g=function(t){return function(n){return n.w20(["form-select"]),n.x20("testNames"),n.x27(function(t){return function(n){var e=n.f2b_1;return null==e||t(e),jt()}}(t)),jt()}}(c);v.g12(g),d=g}else d=m;var $=d,b=null==$||gn($)?$:xt();_.i12();var w=b,x=yn(r,-1857982381,!0,function(t,n,e){return function(e,r,i){var o=r;ln()&&cn(-1857982381,i,-1,"components.TestNames$composable.. (TestNames.kt:37)");for(var s=t.c();s.d();){var a=s.e(),u=n._v,c=o;c.e12(-1124426577),_n(c,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var l,h=c,p=!!(c.j12(a)|c.j12(u)),f=h.f12();if(p||f===mn().h12_1){var _=Vo(a,n);h.g12(_),l=_}else l=f;var d=l,v=null==d||gn(d)?d:xt();c.i12();var y=v,m=yn(o,1208237735,!0,Wo(a)),g=o;g.e12(-838505973),_n(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var $,b=g,w=g.j12(m),x=b.f12();if(w||x===mn().h12_1){var k=Jo(m);b.g12(k),$=k}else $=x;var j=$,z=null==j||gn(j)?j:xt();g.i12(),fe(a,y,z,o,384,0)}return ln()&&(pn(),jt()),jt()}}(l,h)),k=r;k.e12(-838505973),_n(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,z,C=k,S=k.j12(x),q=C.f12();if(S||q===mn().h12_1){var O=(z=x,function(t,n,e){return z.n1y(t,n,e)});C.g12(O),j=O}else j=q;var P=j,M=null==P||gn(P)?P:xt();return k.i12(),_e(w,!1,M,r,384,2),ln()&&(pn(),jt()),jt()})),w=a;w.e12(-838505973),_n(w,"C(remember$composable)P(1):Composables.kt#9igjgp");var x,k=w,j=w.j12(b),z=k.f12();if(j||z===mn().h12_1){var C=(u=b,function(t,n,e){return u.n1y(t,n,e)});k.g12(C),x=C}else x=z;var S=x,q=null==S||gn(S)?S:xt();w.i12(),$n($,q,a,48,0)}ln()&&pn();var O=a.o1d();null===O||O.j1e(function(t,n,e,r,i){return function(o,s){return function(t,n,e,r,i,o,s){Fo(t,n._v,e,o,1|r,i)}(t,n,e,r,i,o),jt()}}(t,s,e,i,o))}function Ho(t){return t.w20(["form-group"]),jt()}function Uo(t){return t.w20(["form-label"]),jt()}function Vo(t,n){return function(e){return t===n._v&&(pe(e),jt()),jt()}}function Wo(t){return function(n,e,r){var i=e;return ln()&&cn(1208237735,r,-1,"components.TestNames$composable... (TestNames.kt:46)"),hn(t,i,0),ln()&&(pn(),jt()),jt()}}function Jo(t){return function(n,e,r){return t.n1y(n,e,r)}}function Ko(t,n,e){var r=n;return ln()&&cn(1108811911,e,-1,"ComposableSingletons$MainKt.lambda-1. (main.kt:8)"),Zo(null,r,0,1),ln()&&pn(),jt()}function Yo(){var t;B=this,this.w39_1=(t=fn(1108811911,!1,Ko),function(n,e,r){return t.n1y(n,e,r)})}function Go(t,n,e){var r=n;return ln()&&cn(-374992274,e,-1,"page.home.ComposableSingletons$HomePageKt.lambda-1. (HomePage.kt:110)"),hn("🖥 Output",r,6),ln()&&pn(),jt()}function Xo(){var t;L=this,this.x39_1=(t=fn(-374992274,!1,Go),function(n,e,r){return t.n1y(n,e,r)})}function Zo(t,n,e,r){var i={_v:t},o=n;o=o.n1d(-109696367),_n(o,"C(HomePageUi$composable)");var s,a,u=e;if(0==(14&e)&&(u|=0==(1&r)&&o.j12(i._v)?4:2),2==(11&u)&&o.v1b())o.z17();else{if(o.w1c(),0==(1&e)||o.a1d()){if(0!=(1&r)){var c,l=o;l.e12(547886695),_n(l,"C(remember$composable):Composables.kt#9igjgp");var h,p=l,f=p.f12();if(f===mn().h12_1){var _=new Es(new Ls,new Hs);p.g12(_),h=_}else h=f;var d=h,v=null==d||gn(d)?d:xt();l.i12(),c=v,i._v=c,u&=-15}}else o.z17(),0!=(1&r)&&(u&=-15);o.x1c(),ln()&&cn(-109696367,u,-1,"page.home.HomePageUi$composable (HomePage.kt:28)");var y=o;y.e12(547886695),_n(y,"C(remember$composable):Composables.kt#9igjgp");var m,g=y,$=g.f12();if($===mn().h12_1){var b=Qo;g.g12(b),m=b}else m=$;var w=m,x=null==w||gn(w)?w:xt();y.i12();var k=x,j=yn(o,1790973562,!0,(a=i,function(t,n,e){var r=n;ln()&&cn(1790973562,e,-1,"page.home.HomePageUi$composable. (HomePage.kt:35)"),ki(r,0);var i=a._v.u3b();!Jt(i)&&pi(a._v.u3b(),r,0);var o=r;o.e12(547886695),_n(o,"C(remember$composable):Composables.kt#9igjgp");var s,u=o,c=u.f12();if(c===mn().h12_1){var l=ts;u.g12(l),s=l}else s=c;var h=s,p=null==h||gn(h)?h:xt();o.i12();var f=p,_=yn(r,-1337148517,!0,function(t,n){return function(n,e,r){var i=e;ln()&&cn(-1337148517,r,-1,"page.home.HomePageUi$composable.. (HomePage.kt:54)");var o=i;o.e12(547886695),_n(o,"C(remember$composable):Composables.kt#9igjgp");var s,a=o,u=a.f12();if(u===mn().h12_1){var c=es;a.g12(c),s=c}else s=u;var l=s,h=null==l||gn(l)?l:xt();o.i12();var p=h,f=yn(i,1509226108,!0,function(t,n){return function(n,e,r){var i=e;ln()&&cn(1509226108,r,-1,"page.home.HomePageUi$composable... (HomePage.kt:57)");var o,s=t._v.k3b(),a=t._v.l3b(),u=(o=t._v,function(t){return function(t,n){t.s3a(n,!1,2,null)}(o,t),jt()}),c=function(t){var n=function(n){return t.t3a(n),jt()};return n.callableName="onSaveClicked",n}(t._v);Nr(s,a,t._v.m3b(),u,c,function(t){var n=function(n){return t.u3a(n),jt()};return n.callableName="onSavedBenchmarkChanged",n}(t._v),function(t){var n=function(n){return t.v3a(n),jt()};return n.callableName="onLoadBenchmarkClicked",n}(t._v),function(t){var n=function(n){return t.w3a(n),jt()};return n.callableName="onDeleteBenchmarkClicked",n}(t._v),i,520),In(null,i,0,1),In(null,i,0,1);var l=yn(i,-1521832332,!0,function(t,n){return function(n,e){var r=n;if(2==(11&e)&&r.v1b())r.z17(),jt();else{if(ln()&&cn(-1521832332,e,-1,"page.home.HomePageUi$composable.... (HomePage.kt:73)"),Rt("block size "+t._v.j3a_1.f()),t._v.j3a_1.f()>2){var i=t._v.b3b(),o="BEST (-"+(null==i?null:i.e3b_1)+t._v.q28()+")",s=t._v.h3b(),a="WORST (+"+(null==s?null:s.f3b_1)+t._v.q28()+")",u=t._v,c=r;c.e12(-838505973),_n(c,"C(remember$composable)P(1):Composables.kt#9igjgp");var l,h=c,p=c.j12(u),f=h.f12();if(p||f===mn().h12_1){var _=function(t){var n=function(){return t.x3a(),jt()};return n.callableName="onBestClicked",n}(u);h.g12(_),l=_}else l=f;var d=l,v=null==d||gn(d)?d:xt();c.i12();var y=v,m=t._v,g=r;g.e12(-838505973),_n(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var $,b=g,w=g.j12(m),x=b.f12();if(w||x===mn().h12_1){var k=function(t){var n=function(){return t.y3a(),jt()};return n.callableName="onWorstClicked",n}(m);b.g12(k),$=k}else $=x;var j=$,z=null==j||gn(j)?j:xt();g.i12(),ho(o,a,y,z,t._v.j3a_1,t._v.i3b(),t._v.j3b(),function(t){var n=function(n){return t.z3a(n),jt()};return n.callableName="onBlockNameOneChanged",n}(t._v),function(t){var n=function(n){return t.a3b(n),jt()};return n.callableName="onBlockNameTwoChanged",n}(t._v),r,0)}ln()&&(pn(),jt())}return jt()}}(t)),h=i;h.e12(-838505973),_n(h,"C(remember$composable)P(1):Composables.kt#9igjgp");var p,f=h,_=h.j12(l),d=f.f12();if(_||d===mn().h12_1){var v=function(t){return function(n,e){return t.t1b(n,e)}}(l);f.g12(v),p=v}else p=d;var y=p,m=null==y||gn(y)?y:xt();return h.i12(),lo(m,t._v.k3a_1,i,6),ln()&&(pn(),jt()),jt()}}(t)),_=i;_.e12(-838505973),_n(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.j12(f),g=y.f12();if(m||g===mn().h12_1){var $=(v=f,function(t,n,e){return v.n1y(t,n,e)});y.g12($),d=$}else d=g;var b=d,w=null==b||gn(b)?b:xt();_.i12(),$n(p,w,i,48,0);var x=t._v.t3b(),k=null==x?null:x.m36_1,j=null==k||k.h()?null:k;if(null==j);else{var z=t._v.t3b();if(null==z)throw Lt("TSH");var C=z,S=i;S.e12(547886695),_n(S,"C(remember$composable):Composables.kt#9igjgp");var q,O=S,P=O.f12();if(P===mn().h12_1){var M=rs;O.g12(M),q=M}else q=P;var A=q,E=null==A||gn(A)?A:xt();S.i12();var I=E,D=yn(i,2092888171,!0,function(t,n,e,r){return function(n,i,o){var s=i;if(ln()&&cn(2092888171,o,-1,"page.home.HomePageUi$composable.... (HomePage.kt:99)"),t._v.s3b())s.e12(-1006755438),li(s,0),s.i12();else{s.e12(-1006755369);var a=t._v,u=s;u.e12(-838505973),_n(u,"C(remember$composable)P(1):Composables.kt#9igjgp");var c,l=u,h=u.j12(a),p=l.f12();if(h||p===mn().h12_1){var f=function(t){return function(n){return n.b21(function(t){return function(n){return t._v.n3b(),jt()}}(t)),jt()}}(t);l.g12(f),c=f}else c=p;var _=c,d=null==_||gn(_)?_:xt();u.i12(),vn(d,(null==L&&new Xo,L).x39_1,s,48,0),s.i12()}var v=s;v.e12(547886695),_n(v,"C(remember$composable):Composables.kt#9igjgp");var y,m=v,g=m.f12();if(g===mn().h12_1){var $=is;m.g12($),y=$}else y=g;var b=y,w=null==b||gn(b)?b:xt();v.i12();var x=w,k=yn(s,-350149078,!0,function(t,n){return function(n,e,r){var i=e;ln()&&cn(-350149078,r,-1,"page.home.HomePageUi$composable..... (HomePage.kt:120)");var o=yn(i,1688816067,!0,function(t,n){return function(n,e,r){var i=e;ln()&&cn(1688816067,r,-1,"page.home.HomePageUi$composable...... (HomePage.kt:121)");var o=i;o.e12(547886695),_n(o,"C(remember$composable):Composables.kt#9igjgp");var s,a=o,u=a.f12();if(u===mn().h12_1){var c=os;a.g12(c),s=c}else s=u;var l=s,h=null==l||gn(l)?l:xt();o.i12();var p=h,f=yn(i,-1218869404,!0,function(t,n){return function(n,e,r){var i=e;ln()&&cn(-1218869404,r,-1,"page.home.HomePageUi$composable....... (HomePage.kt:126)");var o=i;o.e12(547886695),_n(o,"C(remember$composable):Composables.kt#9igjgp");var s,a=o,u=a.f12();if(u===mn().h12_1){var c=ss;a.g12(c),s=c}else s=u;var l=s,h=null==l||gn(l)?l:xt();o.i12();var p=h,f=yn(i,-1633797435,!0,function(t,n){return function(n,e,r){var i=e;ln()&&cn(-1633797435,r,-1,"page.home.HomePageUi$composable........ (HomePage.kt:132)");var o=t._v.k3b().z35_1,s=t._v,a=i;a.e12(-838505973),_n(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,c=a,l=a.j12(s),h=c.f12();if(l||h===mn().h12_1){var p=function(t){var n=function(){return t.o3b(),jt()};return n.callableName="onToggleAutoGroupClicked",n}(s);c.g12(p),u=p}else u=h;var f=u,_=null==f||gn(f)?f:xt();return a.i12(),Jr(o,_,i,0),ln()&&(pn(),jt()),jt()}}(t)),_=i;_.e12(-838505973),_n(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v=_,y=_.j12(f),m=v.f12();if(y||m===mn().h12_1){var g=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(f);v.g12(g),d=g}else d=m;var $=d,b=null==$||gn($)?$:xt();if(_.i12(),$n(p,b,i,48,0),kt(t._v.r3b(),kr())){var w=i;w.e12(547886695),_n(w,"C(remember$composable):Composables.kt#9igjgp");var x,k=w,j=k.f12();if(j===mn().h12_1){var z=as;k.g12(z),x=z}else x=j;var C=x,S=null==C||gn(C)?C:xt();w.i12();var q=S,O=yn(i,-1089967542,!0,function(t,n){return function(n,e,r){var i=e;ln()&&cn(-1089967542,r,-1,"page.home.HomePageUi$composable........ (HomePage.kt:144)");var o=t._v.k3b().y35_1,s=t._v,a=i;a.e12(-838505973),_n(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,c=a,l=a.j12(s),h=c.f12();if(l||h===mn().h12_1){var p=function(t){var n=function(){return t.p3b(),jt()};return n.callableName="onToggleTestNameDetectionClicked",n}(s);c.g12(p),u=p}else u=h;var f=u,_=null==f||gn(f)?f:xt();return a.i12(),Do(o,_,i,0),ln()&&(pn(),jt()),jt()}}(t)),P=i;P.e12(-838505973),_n(P,"C(remember$composable)P(1):Composables.kt#9igjgp");var M,A=P,E=P.j12(O),I=A.f12();if(E||I===mn().h12_1){var D=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(O);A.g12(D),M=D}else M=I;var T=M,B=null==T||gn(T)?T:xt();P.i12(),$n(q,B,i,48,0)}if(!t._v.c3a_1.h()){var L=i;L.e12(547886695),_n(L,"C(remember$composable):Composables.kt#9igjgp");var N,R=L,F=R.f12();if(F===mn().h12_1){var H=us;R.g12(H),N=H}else N=F;var U=N,V=null==U||gn(U)?U:xt();L.i12();var W=V,J=yn(i,1874650163,!0,function(t,n){return function(n,e,r){var i=e;ln()&&cn(1874650163,r,-1,"page.home.HomePageUi$composable........ (HomePage.kt:157)");var o=t._v.c3a_1,s=t._v,a=i;a.e12(-838505973),_n(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,c=a,l=a.j12(s),h=c.f12();if(l||h===mn().h12_1){var p=function(t){return function(n){return t._v.q3b(n),jt()}}(t);c.g12(p),u=p}else u=h;var f=u,_=null==f||gn(f)?f:xt();return a.i12(),Fo(o,null,_,i,0,2),ln()&&(pn(),jt()),jt()}}(t)),K=i;K.e12(-838505973),_n(K,"C(remember$composable)P(1):Composables.kt#9igjgp");var Y,G=K,X=K.j12(J),Z=G.f12();if(X||Z===mn().h12_1){var Q=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(J);G.g12(Q),Y=Q}else Y=Z;var tt=Y,nt=null==tt||gn(tt)?tt:xt();K.i12(),$n(W,nt,i,48,0)}return ln()&&(pn(),jt()),jt()}}(t)),_=i;_.e12(-838505973),_n(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v=_,y=_.j12(f),m=v.f12();if(y||m===mn().h12_1){var g=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(f);v.g12(g),d=g}else d=m;var $=d,b=null==$||gn($)?$:xt();return _.i12(),$n(p,b,i,48,0),ln()&&(pn(),jt()),jt()}}(t)),s=i;s.e12(-838505973),_n(s,"C(remember$composable)P(1):Composables.kt#9igjgp");var a,u=s,c=s.j12(o),l=u.f12();if(c||l===mn().h12_1){var h=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(o);u.g12(h),a=h}else a=l;var p=a,f=null==p||gn(p)?p:xt();return s.i12(),An(null,null,f,i,384,3),ln()&&(pn(),jt()),jt()}}(t)),j=s;j.e12(-838505973),_n(j,"C(remember$composable)P(1):Composables.kt#9igjgp");var z,C=j,S=j.j12(k),q=C.f12();if(S||q===mn().h12_1){var O=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(k);C.g12(O),z=O}else z=q;var P=z,M=null==P||gn(P)?P:xt();j.i12(),$n(x,M,s,48,0),In(null,s,0,1);var A=s;A.e12(-838505973),_n(A,"C(remember$composable)P(1):Composables.kt#9igjgp");var E,I=A,D=A.j12(e),T=I.f12();if(D||T===mn().h12_1){var B=Pe(e,2);I.g12(B),E=B}else E=T;var N=E,R=null==N||gn(N)?N:xt();A.i12();for(var F=R.c();F.d();){var H=F.e(),U=s;U.e12(547886695),_n(U,"C(remember$composable):Composables.kt#9igjgp");var V,W=U,J=W.f12();if(J===mn().h12_1){var K=cs;W.g12(K),V=K}else V=J;var Y=V,G=null==Y||gn(Y)?Y:xt();U.i12();var X=G,Z=yn(s,-2034949684,!0,fs(H,t,r)),Q=s;Q.e12(-838505973),_n(Q,"C(remember$composable)P(1):Composables.kt#9igjgp");var tt,nt=Q,et=Q.j12(Z),rt=nt.f12();if(et||rt===mn().h12_1){var it=_s(Z);nt.g12(it),tt=it}else tt=rt;var ot=tt,st=null==ot||gn(ot)?ot:xt();Q.i12(),$n(X,st,s,48,0)}return ln()&&(pn(),jt()),jt()}}(t,0,j,C)),T=i;T.e12(-838505973),_n(T,"C(remember$composable)P(1):Composables.kt#9igjgp");var B,N=T,R=T.j12(D),F=N.f12();if(R||F===mn().h12_1){var H=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(D);N.g12(H),B=H}else B=F;var U=B,V=null==U||gn(U)?U:xt();T.i12(),$n(I,V,i,48,0),jt(),jt()}return ln()&&(pn(),jt()),jt()}}(a)),d=r;d.e12(-838505973),_n(d,"C(remember$composable)P(1):Composables.kt#9igjgp");var v,y,m=d,g=d.j12(_),$=m.f12();if(g||$===mn().h12_1){var b=(y=_,function(t,n,e){return y.n1y(t,n,e)});m.g12(b),v=b}else v=$;var w=v,x=null==w||gn(w)?w:xt();return d.i12(),$n(f,x,r,48,0),ln()&&(pn(),jt()),jt()})),z=o;z.e12(-838505973),_n(z,"C(remember$composable)P(1):Composables.kt#9igjgp");var C,S=z,q=z.j12(j),O=S.f12();if(q||O===mn().h12_1){var P=(s=j,function(t,n,e){return s.n1y(t,n,e)});S.g12(P),C=P}else C=O;var M=C,A=null==M||gn(M)?M:xt();z.i12(),$n(k,A,o,48,0),ln()&&pn()}var E=o.o1d();null===E||E.j1e(function(t,n,e){return function(r,i){return function(t,n,e,r,i){Zo(t._v,r,1|n,e)}(t,n,e,r),jt()}}(i,e,r))}function Qo(t){return t.w20(["container-fluid"]),jt()}function ts(t){return t.w20(["row"]),t.u20(ns),jt()}function ns(t){return Se(t,Sn(40)),qe(t,Sn(40)),Oe(t,Sn(40)),jt()}function es(t){return t.w20(["col-lg-4"]),jt()}function rs(t){return t.w20(["col-lg-8"]),jt()}function is(t){return t.w20(["row"]),jt()}function os(t){return t.w20(["row"]),jt()}function ss(t){return t.w20(["col-md-2"]),jt()}function as(t){return t.w20(["col-md-2"]),jt()}function us(t){return t.w20(["col-md-4"]),jt()}function cs(t){return t.w20(["row"]),jt()}function ls(t){return function(n){return n.w20([t.t36_1]),jt()}}function hs(t,n,e){return function(r,i,o){var s=i;return ln()&&cn(1979032493,o,-1,"page.home.HomePageUi$composable...... (HomePage.kt:187)"),Xr(t._v.k3b().z35_1,n.l36_1,e,s,576),ln()&&(pn(),jt()),jt()}}function ps(t){return function(n,e,r){return t.n1y(n,e,r)}}function fs(t,n,e){return function(r,i,o){var s=i;ln()&&cn(-2034949684,o,-1,"page.home.HomePageUi$composable..... (HomePage.kt:182)");for(var a=t.c();a.d();){var u=a.e(),c=ls(u),l=yn(s,1979032493,!0,hs(n,e,u)),h=s;h.e12(-838505973),_n(h,"C(remember$composable)P(1):Composables.kt#9igjgp");var p,f=h,_=h.j12(l),d=f.f12();if(_||d===mn().h12_1){var v=ps(l);f.g12(v),p=v}else p=d;var y=p,m=null==y||gn(y)?y:xt();h.i12(),$n(c,m,s,48,0)}return ln()&&(pn(),jt()),jt()}}function _s(t){return function(n,e,r){return t.n1y(n,e,r)}}function ds(){N=this,this.v3b_1="Something went wrong!"}function vs(){return null==N&&new ds,N}function ys(t,n){return ze("savedBenchmarks",1,Be,(function(t){return t.m3b()}),(function(t,n){return ys(t,n)})),t.a3a_1.jy(n)}function ms(t,n){return ze("chartsBundle",1,Be,(function(t){return t.t3b()}),(function(t,n){return ms(t,n)})),t.d3a_1.jy(n)}function gs(t,n){return ze("errorMsg",1,Be,(function(t){return t.u3b()}),(function(t,n){return gs(t,n)})),t.e3a_1.jy(n)}function $s(t,n){return ze("isEditableTitleEnabled",1,Be,(function(t){return t.s3b()}),(function(t,n){return $s(t,n)})),t.f3a_1.jy(n)}function bs(t,n){return ze("shouldSelectUnsaved",1,Be,(function(t){return t.l3b()}),(function(t,n){return bs(t,n)})),t.g3a_1.jy(n)}function ws(t,n){return ze("selectedBlockNameOne",1,Be,(function(t){return t.i3b()}),(function(t,n){return ws(t,n)})),t.h3a_1.jy(n)}function xs(t,n){return ze("selectedBlockNameTwo",1,Be,(function(t){return t.j3b()}),(function(t,n){return xs(t,n)})),t.i3a_1.jy(n)}function ks(t,n){return ze("inputType",1,Be,(function(t){return t.r3b()}),(function(t,n){return ks(t,n)})),t.l3a_1.jy(n)}function js(t,n){return ze("unit",1,Be,(function(t){return t.q28()}),(function(t,n){return js(t,n)})),t.m3a_1.jy(n)}function zs(t,n){return ze("bestAggSummary",1,Be,(function(t){return t.b3b()}),(function(t,n){return zs(t,n)})),t.n3a_1.jy(n)}function Cs(t,n){return ze("worstAggSummary",1,Be,(function(t){return t.h3b()}),(function(t,n){return Cs(t,n)})),t.o3a_1.jy(n)}function Ss(t,n){return ze("form",1,Be,(function(t){return t.k3b()}),(function(t,n){return Ss(t,n)})),t.p3a_1.jy(n)}function qs(t){ys(t,t.y39_1.w3b())}function Os(t){ws(t,null),xs(t,null),t.j3a_1.s7(),ms(t,null),t.k3a_1.s7(),zs(t,null),Cs(t,null),Ms(t)}function Ps(t,n){t.j3a_1.s7();var e=Bt(n.l36_1.i36_1.b3());t.j3a_1.w1x(e),e.f()>=2?(ws(t,e.g(0)),xs(t,e.g(1))):(ws(t,null),xs(t,null)),Ms(t)}function Ms(t){t.k3a_1.s7();var n,e=kt(t.r3b(),xr()),r=t.t3b(),i=null==r?null:r.m36_1;if(null==i)n=null;else{for(var o=qt(),s=i.c();s.d();){var a=s.e(),u=Ys().y3b(e,a,t.i3b(),t.j3b());null==u||(o.a(u),jt())}n=o}var c=n;t.k3a_1.w1x(null==c?Ee():c)}function As(t,n,e){return function(){bs(t,n);try{t.q3a_1.s7(),t.c3a_1.s7(),t.j3a_1.s7();var r=yr().w35(e);if(null==r)return Rt("failed to parse form"),Os(t),gs(t,""),jt();var i=r,o=i.l4(),s=i.m4();ks(t,o),t.q3a_1.j1(s);var a=o.s1_1;if(0===a){var u=function(t){for(var n,e=Tt(t),r=Dt(),i=e.d36_1.c();i.d();){var o=i.e();r.v3(o.f35_1,o.g35_1)}var s=r;Rt("chartSet -> "+s),n=s;var a=new Mr("📊",e.b36_1,n,"col-lg-12");return new Or(Sr(t,!0),en(a))}(t.q3a_1);ms(t,u),Ps(t,u),js(t,"")}else if(1===a){for(var c,l=t.c3a_1,h=t.q3a_1,p=qt(),f=h.c();f.d();){var _=f.e().c36_1;null==_||(p.a(_),jt())}c=p,l.w1x(tn(c));var d,v=t.c3a_1;t:{for(var y=v.c();y.d();){var m=y.e();if(m===t.b3a_1){d=m;break t}}d=null}var g,$=d,b=null==$?Gt(t.c3a_1):$;if(null!=b){for(var w=t.q3a_1,x=qt(),k=w.c();k.d();){var j=k.e();j.c36_1==b&&x.a(j)}g=x}else g=t.q3a_1;var z=zr(g);ms(t,z),Ps(t,z),js(t,"ms")}(function(t){for(var n,e=kt(t.r3b(),xr()),r=qt(),i=t.j3a_1.c();i.d();)for(var o=i.e(),s=t.j3a_1.c();s.d();){var a=s.e();if(o!==a){var u,c=t.t3b(),l=null==c?null:c.m36_1;if(null==l)u=null;else{for(var h=qt(),p=l.c();p.d();){var f=p.e(),_=Ys().y3b(e,f,o,a);null==_||(h.a(_),jt())}u=h}if(null==u);else{for(var d=0,v=0,y=u.c();y.d();)for(var m=y.e().n39_1.c();m.d();){var g=m.e();g.z38_1>0?v=v+Me(g.z38_1)|0:g.z38_1<0&&(d=d-Me(g.z38_1)|0)}r.a(new Is(o,a,d,v))}}}var $,b=r.c();if(b.d()){var w=b.e();if(b.d()){var x=w.e3b_1;do{var k=b.e(),j=k.e3b_1;Ae(x,j)<0&&(w=k,x=j)}while(b.d());n=w}else n=w}else n=null;zs(t,n);var z=r.c();if(z.d()){var C=z.e();if(z.d()){var S=C.f3b_1;do{var q=z.e(),O=q.f3b_1;Ae(S,O)<0&&(C=q,S=O)}while(z.d());$=C}else $=C}else $=null;Cs(t,$)})(t),gs(t,""),jt()}catch(n){if(!(n instanceof Error))throw n;Ie(n);var C,S=n.message;null==S?(vs(),C="Something went wrong!"):C=S,gs(t,C),Os(t),jt()}return jt()}}function Es(t,n){vs(),this.y39_1=t,this.z39_1=n;var e=Ee();this.a3a_1=ae(e,null,2,null),this.b3a_1=null,this.c3a_1=De(),this.d3a_1=ae(null,null,2,null),this.e3a_1=ae("",null,2,null),this.f3a_1=ae(!1,null,2,null),this.g3a_1=ae(!1,null,2,null),this.h3a_1=ae(null,null,2,null),this.i3a_1=ae(null,null,2,null),this.j3a_1=De(),this.k3a_1=De(),this.l3a_1=ae(null,null,2,null),this.m3a_1=ae("",null,2,null),this.n3a_1=ae(null,null,2,null),this.o3a_1=ae(null,null,2,null);var r=this.z39_1.z3b(),i=null==r?new Ar((null==H&&new Us,H).a3c_1,!1,!1):r;this.p3a_1=ae(i,null,2,null),qs(this);var o;o=qt(),this.q3a_1=o,this.r3a_1=null}function Is(t,n,e,r){this.c3b_1=t,this.d3b_1=n,this.e3b_1=e,this.f3b_1=r,this.g3b_1=0}function Ds(){}function Ts(){R=this,this.m3c_1="savedBenchmarks"}function Bs(){return null==R&&new Ts,R}function Ls(){Bs(),this.n3c_1=0}function Ns(){}function Rs(){F=this,this.q3c_1="auto_form_input",this.r3c_1="is_test_name_detection_enabled",this.s3c_1="is_auto_group_enabled"}function Fs(){return null==F&&new Rs,F}function Hs(){Fs(),this.t3c_1=0}function Us(){H=this,this.a3c_1="- Before 1\n# first line will be treated as title of the block\n special chars will be stripped from the title\nHomeScrollBenchmark_scrollTest\nframeDurationCpuMs P50 40.5, P90 45.8, P95 60.4, P99 80.4\nframeOverrunMs P50 -5.9, P90 7.0, P95 20.1, P99 64.4\nTraces: Iteration 0 1 2 3 4\n\n## Before 2\n# line breaks are used to separate the block\nHomeScrollBenchmark_scrollTest\nframeDurationCpuMs P50 45.5, P90 43.8, P95 58.4, P99 78.4\nframeOverrunMs P50 -6.5, P90 5.4, P95 15.0, P99 60.3\nTraces: Iteration 0 1 2 3 4\n\nAfter 1\nyou can include whatever text you want anywhere you want\nHomeScrollBenchmark_scrollTest\nframeDurationCpuMs P50 13.6, P90 21.8, P95 27.5, P99 49.4\nthe order doesn't matter\nframeOverrunMs P50 -6.2, P90 7.3, P95 19.5, P99 61.7\nTraces: Iteration 0 1 2 3 4\n\n> After 2\nHomeScrollBenchmark_scrollTest\nframeDurationCpuMs P50 13.8, P90 21.9, P95 27.3, P99 53.4\nsee.. am some random text\nframeOverrunMs P50 -5.7, P90 7.4, P95 22.4, P99 63.2\nTraces: Iteration 0 1 2 3 4",this.b3c_1=0}function Vs(t){return t.a2w_1=!0,jt()}function Ws(){U=this,this.o3c_1=Ke(null,Vs,1,null),this.p3c_1=8}function Js(){return null==U&&new Ws,U}function Ks(){V=this,this.x3b_1=0}function Ys(){return null==V&&new Ks,V}return Qe.prototype=Object.create(Error.prototype),Qe.prototype.constructor=Qe,tr.prototype=Object.create(Qe.prototype),tr.prototype.constructor=tr,ir.prototype=Object.create(zt.prototype),ir.prototype.constructor=ir,sr.prototype=Object.create(zt.prototype),sr.prototype.constructor=sr,Rr.prototype=Object.create(bn.prototype),Rr.prototype.constructor=Rr,Qe.$metadata$=$t("InvalidDataException",void 0,void 0,void 0,void 0,Error.prototype),tr.$metadata$=$t("InvalidBenchmarkDataException",void 0,void 0,void 0,void 0,Qe.prototype),nr.prototype.i35=function(){return this.f35_1},nr.prototype.j35=function(){return this.g35_1},nr.prototype.toString=function(){return"BlockRow(title="+this.f35_1+", data="+this.g35_1+")"},nr.prototype.hashCode=function(){var t=bt(this.f35_1);return W(t,31)+wt(this.g35_1)|0},nr.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof nr))return!1;var n=t instanceof nr?t:xt();return this.f35_1===n.f35_1&&!!kt(this.g35_1,n.g35_1)},nr.$metadata$=$t("BlockRow"),ir.prototype.k2=function(){return this.m35_1},ir.$metadata$=$t("SupportedMetrics",void 0,void 0,void 0,void 0,zt.prototype),sr.$metadata$=$t("InputType",void 0,void 0,void 0,void 0,zt.prototype),vr.prototype.w35=function(t){for(var n=Ot(t.x35_1,["\n"],!1,0,6,null),e=St(n,"\n",null,null,0,null,_r,30,null),r=Vt(),i=Wt("^\\s+",r).ba(e,0),o=Mt(Pt(i,10)),s=i.c();s.d();){var a,u=s.e();a=It(Et(At(u)?u:xt())),o.a(a)}for(var c=o,l=qt(),h=c.c();h.d();){var p=h.e();!Jt(p)&&l.a(p)}var f=l;if(Rt("parsing input..."),f.h())return null;if(function(t){jr();var n=t.x35_1,e=er(),r=Zt(e,"|","(",")",0,null,wr,24,null);return!Nt(r).ea(n)}(t))return ar(this,f);Rt("parsing machine generated benchmark input...");for(var _=qt(),d=f.c(),v=0;d.d();){var y=v;v=v+1|0;var m=d.e();Rt("block: '"+m+"'");for(var g=Ot(m,["\n"],!1,0,6,null),$=Mt(Pt(g,10)),b=g.c();b.d();){var w,x=b.e();w=It(Et(At(x)?x:xt())),$.a(w)}for(var k=$,j=null,z=null,C=qt(),S=k.c();S.d();){var q=S.e();null==j&&hr(this,q)&&(j=q),t.y35_1&&ur(this,q)&&(null!=z&&!C.h()&&(null==j&&(j="benchmark "+y+" "+z),_.a(new mr(j,z,C)),C.s7()),z=q);var O=fr(q,this);if(null!=O){var P;t:{for(var M=C.c();M.d();){var A=M.e();if(A.f35_1===O){P=A;break t}}P=null}if(null!=P)throw new tr("Two "+O+" found in block "+(y+1|0)+". Expected only one");C.a(new nr(O,pr(0,O,q)))}}null==j&&(j="benchmark "+y),j=cr(this,j),!C.h()&&_.a(new mr(j,z,C))}return new Ct(kr(),_)},vr.$metadata$=Kt("Companion"),mr.prototype.i35=function(){return this.b36_1},mr.prototype.f36=function(){return this.c36_1},mr.prototype.g36=function(){return this.d36_1},mr.prototype.toString=function(){return"BenchmarkResult(title="+this.b36_1+", testName="+this.c36_1+", blockRows="+this.d36_1+")"},mr.prototype.hashCode=function(){var t=bt(this.b36_1);return t=W(t,31)+(null==this.c36_1?0:bt(this.c36_1))|0,W(t,31)+wt(this.d36_1)|0},mr.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof mr))return!1;var n=t instanceof mr?t:xt();return this.b36_1===n.b36_1&&this.c36_1==n.c36_1&&!!kt(this.d36_1,n.d36_1)},mr.$metadata$=$t("BenchmarkResult"),gr.prototype.p35=function(t){var n,e=Ze(),r=Yt(e.fl(t,0,2,null)),i=null==r?null:r.sa();Rt("group: "+i);var o=null==(n=i)?null:Gt(n);if(null==o){var s=t+" doesn't match the regex '"+Ze().w9_1+"'";throw Lt(It(s))}var a=o;return new br(Nt(a+"$").ca(t,""),Ut(a))},gr.$metadata$=Kt("Companion"),br.prototype.toString=function(){return"TextNumberLine(text="+this.q35_1+", number="+this.r35_1+")"},br.prototype.hashCode=function(){var t=bt(this.q35_1);return W(t,31)+Xt(this.r35_1)|0},br.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof br))return!1;var n=t instanceof br?t:xt();return this.q35_1===n.q35_1&&!!kt(this.r35_1,n.r35_1)},br.$metadata$=$t("TextNumberLine"),Cr.prototype.k36=function(){return this.h36_1},Cr.prototype.toString=function(){return"GroupMap(autoGroupMap="+this.h36_1+", wordColorMap="+this.i36_1+")"},Cr.prototype.hashCode=function(){var t=wt(this.h36_1);return W(t,31)+wt(this.i36_1)|0},Cr.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Cr))return!1;var n=t instanceof Cr?t:xt();return!!kt(this.h36_1,n.h36_1)&&!!kt(this.i36_1,n.i36_1)},Cr.$metadata$=$t("GroupMap"),Or.prototype.o36=function(){return this.l36_1},Or.prototype.p36=function(){return this.m36_1},Or.prototype.toString=function(){return"ChartsBundle(groupMap="+this.l36_1+", charts="+this.m36_1+")"},Or.prototype.hashCode=function(){var t=this.l36_1.hashCode();return W(t,31)+wt(this.m36_1)|0},Or.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Or))return!1;var n=t instanceof Or?t:xt();return!!this.l36_1.equals(n.l36_1)&&!!kt(this.m36_1,n.m36_1)},Or.$metadata$=$t("ChartsBundle"),Mr.prototype.v36=function(){return this.q36_1},Mr.prototype.w36=function(){return this.r36_1},Mr.prototype.x36=function(){return this.s36_1},Mr.prototype.y36=function(){return this.t36_1},Mr.prototype.toString=function(){return"Chart(emoji="+this.q36_1+", label="+this.r36_1+", dataSets="+this.s36_1+", bsClass="+this.t36_1+")"},Mr.prototype.hashCode=function(){var t=bt(this.q36_1);return t=W(t,31)+bt(this.r36_1)|0,t=W(t,31)+wt(this.s36_1)|0,W(t,31)+bt(this.t36_1)|0},Mr.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Mr))return!1;var n=t instanceof Mr?t:xt();return this.q36_1===n.q36_1&&this.r36_1===n.r36_1&&!!kt(this.s36_1,n.s36_1)&&this.t36_1===n.t36_1},Mr.$metadata$=$t("Chart"),Ar.prototype.j35=function(){return this.x35_1},Ar.prototype.z36=function(){return this.y35_1},Ar.prototype.a37=function(){return this.z35_1},Ar.prototype.b37=function(t,n,e){return new Ar(t,n,e)},Ar.prototype.c37=function(t,n,e,r,i){return 0!=(1&r)&&(t=this.x35_1),0!=(2&r)&&(n=this.y35_1),0!=(4&r)&&(e=this.z35_1),this.b37(t,n,e)},Ar.prototype.toString=function(){return"FormData(data="+this.x35_1+", isTestNameDetectionEnabled="+this.y35_1+", isAutoGroupEnabled="+this.z35_1+")"},Ar.prototype.hashCode=function(){var t=bt(this.x35_1);return t=W(t,31)+(0|this.y35_1)|0,W(t,31)+(0|this.z35_1)|0},Ar.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Ar))return!1;var n=t instanceof Ar?t:xt();return this.x35_1===n.x35_1&&this.y35_1===n.y35_1&&this.z35_1===n.z35_1},Ar.$metadata$=$t("FormData"),Er.prototype.d37=function(){return"line"},Er.$metadata$=Kt("Companion"),Br.prototype.h37=function(){return this.f37_1},Br.prototype.i37=function(){return this.g37_1},Br.$metadata$=Kt("ComposableSingletons$AutoFormUiKt"),Rr.prototype.p1j=function(t,n){var e=this.q1j(t,n);return e.l7_1=jt(),e.m7_1=null,e.q7()},Rr.prototype.r7=function(t,n){return this.p1j(null!=t&&xn(t,wn)?t:xt(),n)},Rr.prototype.q7=function(){for(this.l7_1;;)try{var t=this.j7_1;if(0===t)return this.k7_1=1,this.r37_1(this.s37_1),jt();if(1===t)throw this.m7_1}catch(t){throw t}},Rr.prototype.q1j=function(t,n){var e=new Rr(this.r37_1,this.s37_1,n);return e.t37_1=t,e},Rr.$metadata$=$t("FormUi$composable$slambda",void 0,void 0,void 0,[1],bn.prototype),Wr.prototype.v37=function(){return this.u37_1},Wr.$metadata$=Kt("ComposableSingletons$AutoGroupToggleKt"),ti.prototype.js=function(){this.w37_1.destroy()},ti.$metadata$=$t(void 0,[Fn]),ui.$metadata$=Kt("ComposableSingletons$EditableTitleKt"),wi.$metadata$=Kt("ComposableSingletons$HeadingKt"),zi.$metadata$=Kt("Companion"),Ci.prototype.t2c=function(){return this.d38_1},Ci.prototype.n2m=function(){return[ne(),ne()]},Ci.prototype.v2c=function(t){var n=this.d38_1,e=!0,r=0,i=0,o=null,s=null,a=t.s2f(n);if(a.g2g())o=a.c2g(n,0),i|=1,s=a.c2g(n,1),i|=2;else for(;e;)switch(r=a.h2g(n)){case-1:e=!1;break;case 0:o=a.c2g(n,0),i|=1;break;case 1:s=a.c2g(n,1),i|=2;break;default:throw ee(r)}return a.t2f(n),qi(i,o,s)},Ci.prototype.f38=function(t,n){var e=this.d38_1,r=t.s2f(e);r.e2h(e,0,n.g38_1),r.e2h(e,1,n.h38_1),r.t2f(e)},Ci.prototype.u2c=function(t,n){return this.f38(t,n instanceof Oi?n:xt())},Ci.$metadata$=Kt("$serializer",[ie]),Oi.prototype.k2=function(){return this.g38_1},Oi.prototype.toString=function(){return"SavedBenchmarkNode(key="+this.g38_1+", value="+this.h38_1+")"},Oi.prototype.hashCode=function(){var t=bt(this.g38_1);return W(t,31)+bt(this.h38_1)|0},Oi.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Oi))return!1;var n=t instanceof Oi?t:xt();return this.g38_1===n.g38_1&&this.h38_1===n.h38_1},Oi.$metadata$=$t("SavedBenchmarkNode",void 0,void 0,{0:Si}),Pi.$metadata$=Kt("Companion"),Mi.prototype.t2c=function(){return this.j38_1},Mi.prototype.n2m=function(){return[new se(Si())]},Mi.prototype.v2c=function(t){var n=this.j38_1,e=!0,r=0,i=0,o=null,s=t.s2f(n);if(s.g2g())o=s.e2g(n,0,new se(Si()),o),i|=1;else for(;e;)switch(r=s.h2g(n)){case-1:e=!1;break;case 0:o=s.e2g(n,0,new se(Si()),o),i|=1;break;default:throw ee(r)}return s.t2f(n),Ei(i,o)},Mi.prototype.l38=function(t,n){var e=this.j38_1,r=t.s2f(e);r.g2h(e,0,new se(Si()),n.m38_1),r.t2f(e)},Mi.prototype.u2c=function(t,n){return this.l38(t,n instanceof Ii?n:xt())},Mi.$metadata$=Kt("$serializer",[ie]),Ii.prototype.toString=function(){return"SavedBenchmarks(items="+this.m38_1+")"},Ii.prototype.hashCode=function(){return wt(this.m38_1)},Ii.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Ii))return!1;var n=t instanceof Ii?t:xt();return!!kt(this.m38_1,n.m38_1)},Ii.$metadata$=$t("SavedBenchmarks",void 0,void 0,{0:Ai}),Ri.prototype.h37=function(){return this.p38_1},Ri.prototype.i37=function(){return this.q38_1},Ri.prototype.s38=function(){return this.r38_1},Ri.$metadata$=Kt("ComposableSingletons$SavedBenchmarksDropDownKt"),no.prototype.e39=function(){return this.t38_1},no.prototype.v36=function(){return this.u38_1},no.prototype.f39=function(){return this.v38_1},no.prototype.w36=function(){return this.w38_1},no.prototype.g39=function(){return this.x38_1},no.prototype.h39=function(){return this.y38_1},no.prototype.i39=function(){return this.z38_1},no.prototype.j39=function(){return this.a39_1},no.prototype.k39=function(){return this.b39_1},no.prototype.l39=function(){return this.c39_1},no.$metadata$=$t("SummaryNode"),eo.prototype.l1n=function(){return this.n39_1},eo.prototype.toString=function(){return"Summary(title="+this.m39_1+", nodes="+this.n39_1+")"},eo.prototype.hashCode=function(){var t=bt(this.m39_1);return W(t,31)+wt(this.n39_1)|0},eo.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof eo))return!1;var n=t instanceof eo?t:xt();return this.m39_1===n.m39_1&&!!kt(this.n39_1,n.n39_1)},eo.$metadata$=$t("Summary"),io.prototype.u1n=function(){var t=ro(this).cloneNode();return t instanceof Element?t:xt()},io.$metadata$=$t("ElementBuilderImplementation",[me]),uo.prototype.i37=function(){return this.t39_1},uo.$metadata$=Kt("ComposableSingletons$SummaryKt"),Io.prototype.v37=function(){return this.u39_1},Io.$metadata$=Kt("ComposableSingletons$TestNameDetectionToggleKt"),Ro.prototype.v37=function(){return this.v39_1},Ro.$metadata$=Kt("ComposableSingletons$TestNamesKt"),Yo.$metadata$=Kt("ComposableSingletons$MainKt"),Xo.prototype.v37=function(){return this.x39_1},Xo.$metadata$=Kt("ComposableSingletons$HomePageKt"),ds.$metadata$=Kt("Companion"),Es.prototype.m3b=function(){return ze("savedBenchmarks",1,Be,(function(t){return t.m3b()}),(function(t,n){return ys(t,n)})),this.a3a_1.m2()},Es.prototype.c3c=function(){return this.c3a_1},Es.prototype.t3b=function(){return ze("chartsBundle",1,Be,(function(t){return t.t3b()}),(function(t,n){return ms(t,n)})),this.d3a_1.m2()},Es.prototype.u3b=function(){return ze("errorMsg",1,Be,(function(t){return t.u3b()}),(function(t,n){return gs(t,n)})),this.e3a_1.m2()},Es.prototype.s3b=function(){return ze("isEditableTitleEnabled",1,Be,(function(t){return t.s3b()}),(function(t,n){return $s(t,n)})),this.f3a_1.m2()},Es.prototype.l3b=function(){return ze("shouldSelectUnsaved",1,Be,(function(t){return t.l3b()}),(function(t,n){return bs(t,n)})),this.g3a_1.m2()},Es.prototype.i3b=function(){return ze("selectedBlockNameOne",1,Be,(function(t){return t.i3b()}),(function(t,n){return ws(t,n)})),this.h3a_1.m2()},Es.prototype.j3b=function(){return ze("selectedBlockNameTwo",1,Be,(function(t){return t.j3b()}),(function(t,n){return xs(t,n)})),this.i3a_1.m2()},Es.prototype.d3c=function(){return this.j3a_1},Es.prototype.e3c=function(){return this.k3a_1},Es.prototype.r3b=function(){return ze("inputType",1,Be,(function(t){return t.r3b()}),(function(t,n){return ks(t,n)})),this.l3a_1.m2()},Es.prototype.q28=function(){return ze("unit",1,Be,(function(t){return t.q28()}),(function(t,n){return js(t,n)})),this.m3a_1.m2()},Es.prototype.b3b=function(){return ze("bestAggSummary",1,Be,(function(t){return t.b3b()}),(function(t,n){return zs(t,n)})),this.n3a_1.m2()},Es.prototype.h3b=function(){return ze("worstAggSummary",1,Be,(function(t){return t.h3b()}),(function(t,n){return Cs(t,n)})),this.o3a_1.m2()},Es.prototype.k3b=function(){return ze("form",1,Be,(function(t){return t.k3b()}),(function(t,n){return Ss(t,n)})),this.p3a_1.m2()},Es.prototype.f3c=function(t,n){var e,r=this.r3a_1;null==r||(clearTimeout(r),jt()),this.r3a_1=setTimeout((e=t,function(){return e(),jt()}),n)},Es.prototype.g3c=function(t,n){Ss(this,t),this.z39_1.h3c(t),this.f3c(As(this,n,t),300)},Es.prototype.s3a=function(t,n,e,r){return 0!=(2&e)&&(n=!0),this.g3c(t,n)},Es.prototype.q3b=function(t){try{var n;if(this.b3a_1=t,null!=this.b3a_1){for(var e=this.q3a_1,r=qt(),i=e.c();i.d();){var o=i.e();o.c36_1==this.b3a_1&&r.a(o)}n=r}else n=this.q3a_1;ms(this,zr(n)),Ms(this),gs(this,"")}catch(t){if(!(t instanceof Error))throw t;this.k3a_1.s7(),Ie(t);var s,a=t.message;null==a?(vs(),s="Something went wrong!"):s=a,gs(this,s)}},Es.prototype.n3b=function(){$s(this,!0)},Es.prototype.o3b=function(){var t=this.k3b().c37(null,!1,!this.k3b().z35_1,3,null);this.s3a(t,!1,2,null)},Es.prototype.p3b=function(){var t=this.k3b(),n=!this.k3b().y35_1,e=t.c37(null,n,!1,5,null);this.s3a(e,!1,2,null)},Es.prototype.t3a=function(t){var n,e=window.prompt("Name: ");if(null==e||Jt(e))return jt();t:{for(var r=this.m3b().c();r.d();){var i=r.e();if(i.g38_1===e){n=i;break t}}n=null}if(null!=n)return window.alert("Bruhh.. "+e+" exists! Try something else"),jt();var o=Te(this.m3b());o.yf(0,new Oi(e,t.x35_1));var s=o;this.y39_1.i3c(s),bs(this,!1),qs(this)},Es.prototype.v3a=function(t){var n=this.k3b().c37(t.h38_1,!1,!1,6,null);this.g3c(n,!1)},Es.prototype.w3a=function(t){window.confirm("Do you want to delete `"+t.g38_1+"` ?")&&(this.y39_1.j3c(t),bs(this,!0),qs(this))},Es.prototype.u3a=function(t){if(bs(this,t===Di()),this.l3b()){var n=this.z39_1.z3b(),e=null==n?this.k3b():n;this.g3c(e,!1)}},Es.prototype.z3a=function(t){ws(this,t),Ms(this)},Es.prototype.a3b=function(t){xs(this,t),Ms(this)},Es.prototype.x3a=function(){var t=this.b3b();ws(this,null==t?null:t.c3b_1);var n=this.b3b();xs(this,null==n?null:n.d3b_1),Ms(this)},Es.prototype.y3a=function(){var t=this.h3b();ws(this,null==t?null:t.c3b_1);var n=this.h3b();xs(this,null==n?null:n.d3b_1),Ms(this)},Es.$metadata$=$t("HomeViewModel"),Is.prototype.k3c=function(){return this.e3b_1},Is.prototype.l3c=function(){return this.f3b_1},Is.prototype.toString=function(){return"AggSummary(blockOneName="+this.c3b_1+", blockTwoName="+this.d3b_1+", sumOfGreen="+this.e3b_1+", sumOfRed="+this.f3b_1+")"},Is.prototype.hashCode=function(){var t=bt(this.c3b_1);return t=W(t,31)+bt(this.d3b_1)|0,t=W(t,31)+this.e3b_1|0,W(t,31)+this.f3b_1|0},Is.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Is))return!1;var n=t instanceof Is?t:xt();return this.c3b_1===n.c3b_1&&this.d3b_1===n.d3b_1&&this.e3b_1===n.e3b_1&&this.f3b_1===n.f3b_1},Is.$metadata$=$t("AggSummary"),Ds.$metadata$=Le("BenchmarkRepo"),Ts.$metadata$=Kt("Companion"),Ls.prototype.w3b=function(){var t=window.localStorage;Bs();var n,e=t.getItem("savedBenchmarks");if(null==e)n=new Ii(Ee());else{var r;Rt("JSON is '"+e+"'");try{var i,o=Js().o3c_1,s=o.n2d(),a=He(s,Fe(Ne(Ii),Re([]),!1));i=xn(a,Ue)?a:xt(),r=o.m2d(i,e)}catch(t){var u;if(!(t instanceof Ve))throw t;Ie(t),u=Ee(),this.i3c(u),r=new Ii(Ee())}n=r}return Bt(n.m38_1)},Ls.prototype.i3c=function(t){var n,e=Js().o3c_1,r=new Ii(t),i=e.n2d(),o=He(i,Fe(Ne(Ii),Re([]),!1));n=xn(o,Ue)?o:xt();var s=e.l2d(n,r),a=window.localStorage;Bs(),a.setItem("savedBenchmarks",s)},Ls.prototype.j3c=function(t){var n,e=Te(this.w3b());We(e,(n=t,function(t){return t.g38_1===n.g38_1}));var r=e;this.i3c(r)},Ls.$metadata$=$t("BenchmarkRepoImpl",[Ds]),Ns.$metadata$=Le("FormRepo"),Rs.$metadata$=Kt("Companion"),Hs.prototype.h3c=function(t){var n=window.localStorage;Fs(),n.setItem("auto_form_input",t.x35_1),Fs(),n.setItem("is_test_name_detection_enabled",t.y35_1.toString()),Fs(),n.setItem("is_auto_group_enabled",t.z35_1.toString())},Hs.prototype.z3b=function(){var t=window.localStorage;Fs();var n=t.getItem("auto_form_input");if(null==n)return null;var e=n;Fs();var r=Je(t.getItem("is_test_name_detection_enabled"));return Fs(),new Ar(e,r,Je(t.getItem("is_auto_group_enabled")))},Hs.$metadata$=$t("FormRepoImpl",[Ns]),Us.$metadata$=Kt("DefaultValues"),Ws.$metadata$=Kt("JsonUtils"),Ks.prototype.y3b=function(t,n,e,r){if(null==e||null==r)return Rt("blank block name detected. skipping summary"),null;var i=Dt(),o=Ye([e,r]);Rt("words : "+o);for(var s=o.c();s.d();){for(var a=s.e(),u=n.s36_1,c=Dt(),l=u.u().c();l.d();){var h=l.e(),p=h.k2();Ft(p,a,!1,2,null)&&c.v3(h.k2(),h.m2())}for(var f=c.c3(),_=Mt(Pt(f,10)),d=f.c();d.d();){var v,y=d.e();v=Ge(y.c3()),_.a(v)}var m=_,g=qt(),$=Xe(n.s36_1.c3()).f(),b=0;if(b<$)do{b=b+1|0,g.a(0)}while(b<$);for(var w=g,x=m.c();x.d();){var k=x.e(),j=0,z=w.f()-1|0;if(j<=z)do{var C=j;j=j+1|0,w.p4(C,w.g(C)+k[C])}while(j<=z)}var S=0,q=w.f()-1|0;if(S<=q)do{var O=S;S=S+1|0,w.p4(O,w.g(O)/m.f())}while(S<=q);var P=w;i.v3(a,P)}for(var M=Mt(i.f()),A=i.u().c();A.d();){var E,I=A.e();E=Bt(I.m2()),M.a(E)}Rt("combinedMap : "+M);var D=qt(),T=Bt(Xe(n.s36_1.c3()).b3());Rt("segments: "+T);var B,L=T.f(),N=0;if(N after: '"+V+"'");var Y,G=""+(V-K).toFixed(2),X=Ut(G),Z=""+((K-V)/K*100).toFixed(2),Q=Ut(Z),tt=Math.abs(Q),nt=X>0?"worse":"better",et=X>0?"+":"",rt=X>0?"❌":"✅",it=o.g(1),ot=""+V.toFixed(2),st=Ut(ot),at=""+K.toFixed(2);Y=Ut(at),D.a(new no(t,rt,F,it,tt,nt,X,et,st,Y))}while(N>>0,r=arguments[1],i=r>>0,o=i<0?Math.max(e+i,0):Math.min(i,e),s=arguments[2],a=void 0===s?e:s>>0,u=a<0?Math.max(e+a,0):Math.min(a,e);o>>0;return 0===n?32:31-(i(n)/o|0)|0})),void 0===String.prototype.startsWith&&Object.defineProperty(String.prototype,"startsWith",{value:function(t,n){return n=n||0,this.lastIndexOf(t,n)===n}}),void 0===Math.imul&&(Math.imul=function(t,n){return(4294901760&t)*(65535&n)+(65535&t)*(0|n)|0}),void 0===(r="function"==typeof(e=function(t){"use strict";var n,e,r,i,o,s,a,u,c,l,h,p,f,_,d,v,y,m,g,$,b,w,x,k,j,z,C,S,q,O,P,M,A,E,I,D,T,B,L,N,R,F,H,U,V,W,J,K,Y,G,X,Z,Q,tt,nt,et,rt,it,ot,st,at,ut,ct,lt,ht,pt,ft,_t,dt,vt,yt,mt,gt,$t,bt,wt,xt,kt,jt,zt,Ct,St,qt,Ot,Pt,Mt,At,Et=Math.imul,It=Math.clz32,Dt=ArrayBuffer.isView;function Tt(t){return t===Ke()?this:t.e8(this,Ve)}function Bt(t){return Cl(this.k2(),t)?kh(this,Ue)?this:El():null}function Lt(t,n){return n(t,this)}function Nt(t){return Cl(this.k2(),t)?Ke():this}function Rt(t,n){if(null==n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;if(e=e+1|0,null==t[i])return i}while(e<=r)}else{var o=0,s=t.length-1|0;if(o<=s)do{var a=o;if(o=o+1|0,Cl(n,t[a]))return a}while(o<=s)}return-1}function Ft(t,n){if(null==n){var e=t.length-1|0;if(0<=e)do{var r=e;if(e=e+-1|0,null==t[r])return r}while(0<=e)}else{var i=t.length-1|0;if(0<=i)do{var o=i;if(i=i+-1|0,Cl(n,t[o]))return o}while(0<=i)}return-1}function Ht(t,n,e,r,i,o,s){return function(t,n,e,r,i,o,s,a){n.b(r);var u=0,c=t,l=0,h=c.length;t:for(;l1&&n.b(e),!(o<0||u<=o))break t;Pr(n,p,a)}return o>=0&&u>o&&n.b(s),n.b(i),n}(t,Vu(),n,e,r,i,o,s).toString()}function Ut(t,n,e,r,i,o,s,a,u){return 0!=(1&a)&&(n=", "),0!=(2&a)&&(e=""),0!=(4&a)&&(r=""),0!=(8&a)&&(i=-1),0!=(16&a)&&(o="..."),0!=(32&a)&&(s=null),Ht(t,n,e,r,i,o,s)}function Vt(t){return t.length-1|0}function Wt(t,n){return function(t,n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;if(e=e+1|0,n.equals(t[i]))return i}while(e<=r);return-1}(t,n)>=0}function Jt(t,n){return function(t,n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;if(e=e+1|0,n===t[i])return i}while(e<=r);return-1}(t,n)>=0}function Kt(t,n){return function(t,n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;if(e=e+1|0,n===t[i])return i}while(e<=r);return-1}(t,n)>=0}function Yt(t,n){return function(t,n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;if(e=e+1|0,n===t[i])return i}while(e<=r);return-1}(t,n)>=0}function Gt(t,n){for(var e=t,r=0,i=e.length;r=0}function tn(t,n,e,r,i,o,s,a,u){return 0!=(1&a)&&(n=", "),0!=(2&a)&&(e=""),0!=(4&a)&&(r=""),0!=(8&a)&&(i=-1),0!=(16&a)&&(o="..."),0!=(32&a)&&(s=null),function(t,n,e,r,i,o,s){return en(t,Vu(),n,e,r,i,o,s).toString()}(t,n,e,r,i,o,s)}function nn(t){if(kh(t,Zc)){var n;switch(t.f()){case 0:n=Pe();break;case 1:n=Ls(kh(t,Hc)?t.g(0):t.c().e());break;default:n=rn(t,La(t.f()))}return n}return function(t){switch(t.f()){case 0:return Pe();case 1:return Ls(t.c().e());default:return t}}(rn(t,Ta()))}function en(t,n,e,r,i,o,s,a){n.b(r);var u=0,c=t.c();t:for(;c.d();){var l=c.e();if((u=u+1|0)>1&&n.b(e),!(o<0||u<=o))break t;Pr(n,l,a)}return o>=0&&u>o&&n.b(s),n.b(i),n}function rn(t,n){for(var e=t.c();e.d();){var r=e.e();n.a(r)}return n}function on(t){if(kh(t,Hc))return function(t){var n;switch(t.f()){case 0:throw Sp("List is empty.");case 1:n=t.g(0);break;default:throw mp("List has more than one element.")}return n}(t);var n=t.c();if(!n.d())throw Sp("Collection is empty.");var e=n.e();if(n.d())throw mp("Collection has more than one element.");return e}function sn(t){this.r_1=t}function an(t){this.t_1=t}function un(t){var n=Bc(t).toUpperCase();if(n.length>1){var e;if(Cl(new Rc(t),new Rc(329)))e=n;else{var r=yl(n,0),i=n.substring(1).toLowerCase();e=Bc(r)+i}return e}return Bc(function(t){return function(t){var n=Tc(t);return 452<=n&&n<=460||497<=n&&n<=499?_h(Et(3,(n+1|0)/3|0)):4304<=n&&n<=4346||4349<=n&&n<=4351?t:Ju(t)}(t)}(t))}function cn(t,n){return n<=Ps().w_1?vr().v_1:vh(t,n-1|0)}function ln(t,n,e){if(n.c1(e)>0)throw mp("Cannot coerce value to an empty range: maximum "+zl(e)+" is less than minimum "+zl(n)+".");return t.c1(n)<0?n:t.c1(e)>0?e:t}function hn(t,n){return xr().d1(t,n,-1)}function pn(t,n){return t>n?n:t}function fn(t,n){return t=0))throw mp(zl("Requested element count "+n+" is less than zero."));return 0===n?qe():kh(t,je)?t.h1(n):new Ce(t,n)}function vn(t){return Jn(function(t){return function(t,n){for(var e=t.c();e.d();){var r=e.e();n.a(r)}return n}(t,ra())}(t))}function yn(t){this.i1_1=t}function mn(t,n){if(!(n>=0))throw mp(zl("Requested character count "+n+" is less than zero."));return function(t,n){if(!(n>=0))throw mp(zl("Requested character count "+n+" is less than zero."));var e=pn(n,t.length);return t.substring(0,e)}(t,fn(t.length-n|0,0))}function gn(t,n){if(!(n>=0))throw mp(zl("Requested character count "+n+" is less than zero."));var e=pn(n,t.length);return t.substring(e)}function $n(){Ol(this,$n)}function bn(){}function wn(){this.o1_1=zn(),this.p1_1=null}function xn(){if(o)return Cs();o=!0,n=new kn("Ready",0),e=new kn("NotReady",1),r=new kn("Done",2),i=new kn("Failed",3)}function kn(t,n){nl.call(this,t,n)}function jn(){return xn(),n}function zn(){return xn(),e}function Cn(){return xn(),i}function Sn(t){this.y1_1=t,this.x1_1=0}function qn(t,n){this.b2_1=t,Sn.call(this,t),Pn().c2(n,this.b2_1.f()),this.x1_1=n}function On(){s=this}function Pn(){return null==s&&new On,s}function Mn(){Pn(),bn.call(this)}function An(t){this.j2_1=t}function En(t){this.l2_1=t}function In(t,n){return n===t?"(this Map)":el(n)}function Dn(t,n){var e;t:{for(var r=t.u().c();r.d();){var i=r.e();if(Cl(i.k2(),n)){e=i;break t}}e=null}return e}function Tn(){a=this}function Bn(){return null==a&&new Tn,a}function Ln(t){this.q2_1=t,Un.call(this)}function Nn(t){this.w2_1=t,bn.call(this)}function Rn(){Bn(),this.s2_1=null,this.t2_1=null}function Fn(){u=this}function Hn(){return null==u&&new Fn,u}function Un(){Hn(),bn.call(this)}function Vn(){return Gn()}function Wn(t){return 0===t.length?ra():oa(new Xn(t,!0))}function Jn(t){switch(t.f()){case 0:return Vn();case 1:return Ns(t.g(0));default:return t}}function Kn(t){return t.f()-1|0}function Yn(){c=this,this.f3_1=new Ll(-1478467534,-1720727600)}function Gn(){return null==c&&new Yn,c}function Xn(t,n){this.j3_1=t,this.k3_1=n}function Zn(){l=this}function Qn(){return null==l&&new Zn,l}function te(t,n){this.n3_1=t,this.o3_1=n}function ne(t,n){return kh(t,Zc)?t.f():n}function ee(t){this.q3_1=t}function re(t){this.r3_1=t}function ie(t){this.s3_1=t,this.t3_1=0}function oe(){}function se(){var t=(null==h&&new ae,h);return kh(t,Gc)?t:El()}function ae(){h=this,this.g4_1=new Ll(-888910638,1920087921)}function ue(t,n){return function(t,n){for(var e=n.c();e.d();){var r=e.e(),i=r.l4(),o=r.m4();t.v3(i,o)}}(n,t),n}function ce(t,n){for(var e=n,r=0,i=e.length;r=0))throw mp(zl("count must be non-negative, but was "+this.p5_1+"."))}function Se(){p=this}function qe(){return null==p&&new Se,p}function Oe(t){this.q5_1=t}function Pe(){return Ae()}function Me(){f=this,this.r5_1=new Ll(1993859828,793161749)}function Ae(){return null==f&&new Me,f}function Ee(t){return function(t,n){var e;return e=il(Array(t),null),De.call(n,e,0),n}(t,Object.create(De.prototype))}function Ie(t){this.w5_1=t,wn.call(this),this.u5_1=t.a6_1,this.v5_1=t.z5_1}function De(t,n){if(Mn.call(this),this.x5_1=t,!(n>=0))throw mp(zl("ring buffer filled size should not be negative but it is "+n));if(!(n<=this.x5_1.length))throw mp(zl("ring buffer filled size: "+n+" cannot be larger than the buffer size: "+this.x5_1.length));this.y5_1=this.x5_1.length,this.z5_1=0,this.a6_1=n}function Te(t,n,e,r,i,o){this.p6_1=t,this.q6_1=n,this.r6_1=e,this.s6_1=r,this.t6_1=i,op.call(this,o)}function Be(t){this.v7_1=t}function Le(){}function Ne(){_=this}function Re(){return null==_&&new Ne,_}function Fe(){}function He(){}function Ue(){}function Ve(t,n){var e,r=t.d8(n.k2());if(r===Ke())e=n;else{var i,o=r.y7(Re());if(null==o)i=new Ze(r,n);else{var s=r.d8(Re());i=s===Ke()?new Ze(n,o):new Ze(new Ze(s,n),o)}e=i}return e}function We(){}function Je(){d=this,this.g8_1=new Ll(0,0)}function Ke(){return null==d&&new Je,d}function Ye(t){for(var n=t,e=2;;){var r=n.h8_1,i=r instanceof Ze?r:null;if(null==i)return e;n=i,e=e+1|0}}function Ge(t,n){return Cl(t.y7(n.k2()),n)}function Xe(t,n){return 0===gl(t)?zl(n):t+", "+n}function Ze(t,n){this.h8_1=t,this.i8_1=n}function Qe(t,n){this.z7_1=n;var e;e=t instanceof Qe?t.a8_1:t,this.a8_1=e}function tr(t){this.j8_1=t}function nr(){return er(),v}function er(){if(g)return Cs();g=!0,v=new rr("COROUTINE_SUSPENDED",0),y=new rr("UNDECIDED",1),m=new rr("RESUMED",2)}function rr(t,n){nl.call(this,t,n)}function ir(){return er(),y}function or(){return er(),m}function sr(t,n,e){var r;if(e>0)r=t>=n?n:n-ar(n,t,e)|0;else{if(!(e<0))throw mp("Step is zero.");r=t<=n?n:n+ar(t,n,0|-e)|0}return r}function ar(t,n,e){return ur(ur(t,e)-ur(n,e)|0,e)}function ur(t,n){var e=t%n|0;return e>=0?e:e+n|0}function cr(){var t;$=this,hr.call(this),this.k8_1=(Y||(Y=!0,Math.pow(2,-26),Math.pow(2,-53)),t=Math.random()*Math.pow(2,32)|0,function(t,n,e){return _r.call(e,t,n,0,0,~t,t<<10^(n>>>4|0)),e}(t,t>>31,Object.create(_r.prototype)))}function lr(){return null==$&&new cr,$}function hr(){lr()}function pr(t,n){if(!(n>t))throw mp(zl(function(t,n){return"Random range is empty: ["+zl(t)+", "+zl(n)+")."}(t,n)))}function fr(){b=this,this.q8_1=new Ll(0,0)}function _r(t,n,e,r,i,o){if(null==b&&new fr,hr.call(this),this.r8_1=t,this.s8_1=n,this.t8_1=e,this.u8_1=r,this.v8_1=i,this.w8_1=o,0==(this.r8_1|this.s8_1|this.t8_1|this.u8_1|this.v8_1))throw mp(zl("Initial state must have at least one non-zero element."));var s=0;if(s<64)do{s=s+1|0,this.q4()}while(s<64)}function dr(){w=this,this.v_1=new yr(1,0)}function vr(){return null==w&&new dr,w}function yr(t,n){vr(),kr.call(this,t,n,1)}function mr(){x=this,this.a9_1=new gr(1,0)}function gr(t,n){null==x&&new mr,zr.call(this,t,n,1)}function $r(t,n,e){pe.call(this),this.i9_1=e,this.j9_1=n,this.k9_1=this.i9_1>0?t<=n:t>=n,this.l9_1=this.k9_1?t:this.j9_1}function br(t,n,e){fe.call(this),this.m9_1=e;var r;r=Tc(n),this.n9_1=r,this.o9_1=this.m9_1>0?Ic(t,n)<=0:Ic(t,n)>=0;var i;i=this.o9_1?Tc(t):this.n9_1,this.p9_1=i}function wr(){k=this}function xr(){return null==k&&new wr,k}function kr(t,n,e){if(xr(),0===e)throw mp("Step must be non-zero.");if(e===Ps().w_1)throw mp("Step must be greater than Int.MIN_VALUE to avoid overflow on negation.");this.e1_1=t,this.f1_1=sr(t,n,e),this.g1_1=e}function jr(){j=this}function zr(t,n,e){if(null==j&&new jr,0===e)throw mp("Step must be non-zero.");if(e===Ps().w_1)throw mp("Step must be greater than Int.MIN_VALUE to avoid overflow on negation.");this.f9_1=t;var r,i=Tc(t);r=Tc(n),this.g9_1=_h(sr(i,r,e)),this.h9_1=e}function Cr(){}function Sr(){}function qr(){}function Or(){}function Pr(t,n,e){null!=e?t.b(e(n)):null==n||Eh(n)?t.b(n):n instanceof Rc?t.q9(n.k1_1):t.b(el(n))}function Mr(t,n,e){if(Cl(new Rc(t),new Rc(n)))return!0;if(!e)return!1;var r=Ju(t),i=Ju(n);return!!Cl(new Rc(r),new Rc(i))||Cl(new Rc(yl(Bc(r).toLowerCase(),0)),new Rc(yl(Bc(i).toLowerCase(),0)))}function Ar(t){var n;t:{var e=0,r=gl(t)-1|0;if(e<=r)do{var i=e;if(e=e+1|0,!Ku(yl(t,i))){n=i;break t}}while(e<=r);n=-1}var o=n;return-1===o?t.length:o}function Er(t){return t}function Ir(t){return function(t,n){Yu(n);var e,r,i,o=t.length;if(0===o)return null;var s=yl(t,0);if(Ic(s,48)<0){if(1===o)return null;if(e=1,Cl(new Rc(s),new Rc(45)))r=!0,Bl(),i=new Ll(0,-2147483648);else{if(!Cl(new Rc(s),new Rc(43)))return null;r=!1,Bl(),i=new Ll(-1,2147483647).r9()}}else e=0,r=!1,Bl(),i=new Ll(-1,2147483647).r9();Bl();var a=new Ll(-1,2147483647).r9().s9(new Ll(36,0)),u=a,c=new Ll(0,0),l=e;if(l0,u=ia(a?pn(r,10):10);t:do{var c;if(c=zl($l(t,i,o)),u.a(c),i=o+n.length|0,a&&u.f()===(r-1|0))break t;o=Nr(t,n,i,e)}while(-1!==o);return s=zl($l(t,i,gl(t))),u.a(s),u}(t,i,e,r)}for(var o=function(t){return new yn(t)}(Xr(t,n,0,e,r,2)),s=ia(ne(o,10)),a=o.c();a.d();){var u;u=Yr(t,a.e()),s.a(u)}return s}function Nr(t,n,e,r){return r||"string"!=typeof t?function(t,n,e,r,i,o,s,a){return 0!=(16&s)&&(o=!1),Zr(t,n,e,r,i,o)}(t,n,e,gl(t),r,!1,16):t.indexOf(n,e)}function Rr(t,n,e,r,i,o){return 0!=(2&i)&&(e=0),0!=(4&i)&&(r=!1),Nr(t,n,e,r)}function Fr(t){return function(t,n,e,r,i,o){return 0!=(2&i)&&(e=!1),0!=(4&i)&&(r=0),function(t,n,e,r){return _n(Xr(t,n,0,e,r,2),(i=t,function(t){return Yr(i,t)}));var i}(t,n,e,r)}(t,["\r\n","\n","\r"],!1,0,6)}function Hr(t){return gl(t)-1|0}function Ur(t,n,e){return zl(function(t,n,e){if(n<0)throw mp("Desired length "+n+" is less than zero.");if(n<=gl(t))return $l(t,0,gl(t));var r=Hu(n),i=1,o=n-gl(t)|0;if(i<=o)do{var s=i;i=i+1|0,r.q9(e)}while(s!==o);return r.b(t),r}(Eh(t)?t:El(),n,e))}function Vr(t,n,e,r,i){return 0!=(2&r)&&(e=!1),function(t,n,e){return gl(t)>0&&Mr(yl(t,0),n,e)}(t,n,e)}function Wr(t,n,e,r,i){return 0!=(2&r)&&(e=!1),function(t,n,e){return Kr(t,n,0,e,2)>=0}(t,n,e)}function Jr(t,n,e,r){var i,o;if(r||"string"!=typeof t)i=function(t,n,e,r){if(!r&&1===n.length&&"string"==typeof t){var i=t,o=Bc(function(t){var n;switch(t.length){case 0:throw Sp("Array is empty.");case 1:n=t[0];break;default:throw mp("Array has more than one element.")}return n}(n));return i.indexOf(o,e)}var s=fn(e,0),a=Hr(t);if(s<=a)do{var u=s;s=s+1|0;var c,l=yl(t,u);t:{for(var h=n,p=0,f=h.length;p0&&u<=c||l<0&&c<=u)do{var h,p=u;u=u+l|0;t:{for(var f=n.c();f.d();){var _=f.e();if(gc(_,0,t,p,_.length,r)){h=_;break t}}h=null}if(null!=h)return uo(p,h)}while(p!==c)}else{var d=a.e1_1,v=a.f1_1,y=a.g1_1;if(y>0&&d<=v||y<0&&v<=d)do{var m,g=d;d=d+y|0;t:{for(var $=n.c();$.d();){var b=$.e();if(ri(b,0,t,g,b.length,r)){m=b;break t}}m=null}if(null!=m)return uo(g,m)}while(g!==v)}return null}(t,o,n,s,!1);return null==e?null:uo(e.j4_1,e.k4_1.length)}));var o,s}function Xr(t,n,e,r,i,o,s){return 0!=(2&o)&&(e=0),0!=(4&o)&&(r=!1),0!=(8&o)&&(i=0),Gr(t,n,e,r,i)}function Zr(t,n,e,r,i,o){var s=o?hn(pn(e,Hr(t)),fn(r,0)):vh(fn(e,0),pn(r,gl(t)));if("string"==typeof t&&"string"==typeof n){var a=s.e1_1,u=s.f1_1,c=s.g1_1;if(c>0&&a<=u||c<0&&u<=a)do{var l=a;if(a=a+c|0,gc(n,0,t,l,gl(n),i))return l}while(l!==u)}else{var h=s.e1_1,p=s.f1_1,f=s.g1_1;if(f>0&&h<=p||f<0&&p<=h)do{var _=h;if(h=h+f|0,ri(n,0,t,_,gl(n),i))return _}while(_!==p)}return-1}function Qr(t){if(!(t>=0))throw mp(zl("Limit must be non-negative, but was "+t))}function ti(t){if(t.ia_1<0)t.ga_1=0,t.ja_1=null;else{var n;if(t.la_1.oa_1>0){var e=t;e.ka_1=e.ka_1+1|0,n=e.ka_1>=t.la_1.oa_1}else n=!1;if(n||t.ia_1>gl(t.la_1.ma_1))t.ja_1=vh(t.ha_1,Hr(t.la_1.ma_1)),t.ia_1=-1;else{var r=t.la_1.pa_1(t.la_1.ma_1,t.ia_1);if(null==r)t.ja_1=vh(t.ha_1,Hr(t.la_1.ma_1)),t.ia_1=-1;else{var i=r,o=i.l4(),s=i.m4();t.ja_1=cn(t.ha_1,o),t.ha_1=o+s|0,t.ia_1=t.ha_1+(0===s?1:0)|0}}t.ga_1=1}}function ni(t){this.la_1=t,this.ga_1=-1,this.ha_1=function(t,n,e){if(n>e)throw mp("Cannot coerce value to an empty range: maximum "+e+" is less than minimum "+n+".");return te?e:t}(t.na_1,0,gl(t.ma_1)),this.ia_1=this.ha_1,this.ja_1=null,this.ka_1=0}function ei(t,n,e,r){this.ma_1=t,this.na_1=n,this.oa_1=e,this.pa_1=r}function ri(t,n,e,r,i,o){if(r<0||n<0||n>(gl(t)-i|0)||r>(gl(e)-i|0))return!1;var s=0;if(s=0)return t;throw mp("Summing infinite durations of different signs yields an undefined result.")}if(mi(n))return n;var e,r,i;if((1&t.va())==(1&n.va())){var o=ci(t).u9(ci(n));e=li(t)?(r=o,i=new Ll(387905,-1073741824),r.c1(new Ll(-387905,1073741823))<=0&&i.c1(r)<=0?Di(r):Oi(Ei(r))):Ai(o)}else e=hi(t)?vi(0,ci(t),ci(n)):vi(0,ci(n),ci(t));return e}function vi(t,n,e){var r,i=Ei(e),o=n.u9(i),s=new Ll(1108857478,-1074);if(o.c1(new Ll(-1108857478,1073))<=0&&s.c1(o)<=0){var a=e.v9(Ii(i));r=Di(Ii(o).u9(a))}else r=Oi(ln(o,new Ll(1,-1073741824),new Ll(-1,1073741823)));return r}function yi(t){return t.c1(new Ll(0,0))<0}function mi(t){return!!t.equals(fi().xa_1)||t.equals(fi().ya_1)}function gi(t){return yi(t)?_i(t):t}function $i(t,n){var e=t.ab(n);if(e.c1(new Ll(0,0))<0||0==(1&e.va()))return t.c1(n);var r=(1&t.va())-(1&n.va())|0;return yi(t)?0|-r:r}function bi(t){return mi(t)?0:function(t){return ki(t,Pc())}(t).cb(new Ll(60,0)).va()}function wi(t){return mi(t)?0:function(t){return ki(t,Oc())}(t).cb(new Ll(60,0)).va()}function xi(t){return mi(t)?0:hi(t)?Ii(ci(t).cb(new Ll(1e3,0))).va():ci(t).cb(new Ll(1e9,0)).va()}function ki(t,n){var e,r=t;return r.equals(fi().xa_1)?(Bl(),e=new Ll(-1,2147483647)):r.equals(fi().ya_1)?(Bl(),e=new Ll(0,-2147483648)):e=zc(ci(t),function(t){return li(t)?Sc():qc()}(t),n),e}function ji(t){return ki(t,Mc())}function zi(t){var n,e=t;if(e.equals(new Ll(0,0)))n="0s";else if(e.equals(fi().xa_1))n="Infinity";else if(e.equals(fi().ya_1))n="-Infinity";else{var r=yi(t),i=Vu();r&&i.q9(45);var o=gi(t),s=function(t){return ki(t,Ac())}(o),a=function(t){return mi(t)?0:ji(t).cb(new Ll(24,0)).va()}(o),u=bi(o),c=wi(o),l=xi(o),h=!s.equals(new Ll(0,0)),p=!(0===a),f=!(0===u),_=0!==c||!(0===l),d=0;if(h&&(i.db(s).q9(100),d=d+1|0),p||h&&(f||_)){var v=d;d=v+1|0,v>0&&i.q9(32),i.db(a).q9(104)}if(f||_&&(p||h)){var y=d;d=y+1|0,y>0&&i.q9(32),i.db(u).q9(109)}if(_){var m=d;d=m+1|0,m>0&&i.q9(32),0!==c||h||p||f?Ci(i,0,c,l,9,"s",!1):l>=1e6?Ci(i,0,l/1e6|0,l%1e6|0,6,"ms",!1):l>=1e3?Ci(i,0,l/1e3|0,l%1e3|0,3,"us",!1):i.db(l).eb("ns")}r&&d>1&&(i.fb(1,40).q9(41),Cs()),n=i.toString()}return n}function Ci(t,n,e,r,i,o,s){if(t.db(e),0!==r){t.q9(46);var a,u=Ur(r.toString(),i,48);t:{var c=gl(u)-1|0;if(0<=c)do{var l=c;if(c=c+-1|0,!Cl(new Rc(yl(u,l)),new Rc(48))){a=l;break t}}while(0<=c);a=-1}var h=a+1|0;!s&&h<3?t.gb(u,0,h):t.gb(u,0,Et((h+2|0)/3|0,3))}t.eb(o)}function Si(t){fi(),this.bb_1=t}function qi(t,n){var e=jc(t,n,Sc());if(Za(e))throw mp(zl("Duration value cannot be NaN."));var r=Xa(e),i=new Ll(387905,-1073741824);return r.c1(new Ll(-387905,1073741823))<=0&&i.c1(r)<=0?Di(r):Ai(Xa(jc(t,n,qc())))}function Oi(t){return ui(t.jb(1).u9(new Ll(1,0)))}function Pi(t,n){var e=Cc(new Ll(-387905,1073741823),Sc(),n);return e.r9().c1(t)<=0&&t.c1(e)<=0?Di(Cc(t,n,Sc())):Oi(ln(zc(t,n,qc()),new Ll(1,-1073741824),new Ll(-1,1073741823)))}function Mi(t,n){var e=t.length;if(0===e)throw mp("The string is empty");var r=0,i=fi().wa_1,o="Infinity",s=yl(t,r);(Cl(new Rc(s),new Rc(43))||Cl(new Rc(s),new Rc(45)))&&(r=r+1|0);var a=r>0,u=!!a&&Vr(t,45,!1,2);if(e<=r)throw mp("No components");if(Cl(new Rc(yl(t,r)),new Rc(80))){if((r=r+1|0)===e)throw vp();for(var c=!1,l=null;r=0&&y<=Hr(t)))throw mp("Missing unit for value "+v);r=r+1|0;var m=Bi(yl(t,y),c);if(null!=l&&l.w1(m)<=0)throw mp("Unexpected order of duration components");l=m;var g=Kr(v,46,0,!1,6);m.equals(Oc())&&g>0?(i=di(i,Pi(Ti(v.substring(0,g)),m)),i=di(i,qi(Xu(v.substring(g)),m))):i=di(i,Pi(Ti(v),m))}}else{if(n)throw vp();var $=e-r|0,b=o.length;if(gc(t,r,o,0,Math.max($,b),!0))i=fi().xa_1;else{var w=null,x=!1,k=!a;if(a&&Cl(new Rc(yl(t,r)),new Rc(40))&&Cl(new Rc(function(t){if(0===gl(t))throw Sp("Char sequence is empty.");return yl(t,Hr(t))}(t)),new Rc(41))&&(k=!0,(r=r+1|0)==(e=e-1|0)))throw mp("No components");for(;r0){if(i=di(i,Pi(Zu(P.substring(0,L)),B)),i=di(i,qi(Xu(P.substring(L)),B)),r0&&Wr("+-",yl(t,0),!1,2)&&(i=i+1|0),(r-i|0)>16){var o;t:{var s=vh(i,Hr(t));if(kh(s,Zc)&&s.h())o=!0;else{var a=s.e1_1,u=s.f1_1;if(a<=u)do{var c=a;a=a+1|0;var l=yl(t,c);if(!(48<=l&&l<=57)){o=!1;break t}}while(c!==u);o=!0}}n=o}else n=!1;return n?(Cl(new Rc(yl(t,0)),new Rc(45))?(Bl(),e=new Ll(0,-2147483648)):(Bl(),e=new Ll(-1,2147483647)),e):yc(t,"+",!1,2)?Zu(gn(t,1)):Zu(t)}function Bi(t,n){var e;if(n){var r,i=t;if(Cl(new Rc(i),new Rc(72)))r=Mc();else if(Cl(new Rc(i),new Rc(77)))r=Pc();else{if(!Cl(new Rc(i),new Rc(83)))throw mp("Invalid duration ISO time unit: "+new Rc(t));r=Oc()}e=r}else{if(!Cl(new Rc(t),new Rc(68)))throw mp("Invalid or unsupported duration ISO non-time unit: "+new Rc(t));e=Ac()}return e}function Li(t){var n;switch(t){case"ns":n=Sc();break;case"us":xc(),n=it;break;case"ms":n=qc();break;case"s":n=Oc();break;case"m":n=Pc();break;case"h":n=Mc();break;case"d":n=Ac();break;default:throw mp("Unknown duration unit short name: "+t)}return n}function Ni(){return Ui(),C}function Ri(){}function Fi(t){this.lb_1=t}function Hi(t,n){Ri.call(this),this.mb_1=function(t,n){if("function"==typeof t)return t.$arity===n;if("object"==typeof t&&tf("$metadata$",t.constructor)){var e,r=t.constructor.$metadata$,i=null==r?null:r.suspendArity;if(null!=i){var o=!1,s=ol(i);t:for(;s.d();)if(n===s.e()){o=!0;break t}return o}return null!=(e=null)&&e}return!1}(t,2)?t:El(),this.nb_1=n,this.ob_1=kh(this,Le)?this:El(),this.pb_1=Ni()}function Ui(){var t;S||(S=!0,no(),t=nr(),C=t)}function Vi(){}function Wi(t,n){nl.call(this,t,n)}function Ji(t){this.tb_1=t,this.ub_1=Yi()}function Ki(){P=this}function Yi(){return null==P&&new Ki,P}function Gi(t){return t}function Xi(t){return t}function Zi(t){return t instanceof eo}function Qi(t){return t instanceof eo?t.wb_1:null}function to(){M=this}function no(){return null==M&&new to,M}function eo(t){this.wb_1=t}function ro(t){no(),this.zb_1=t}function io(t){return new eo(t)}function oo(t){if(t instanceof eo)throw t.wb_1}function so(t){_p(t,this),Ol(this,so)}function ao(t,n){this.j4_1=t,this.k4_1=n}function uo(t,n){return new ao(t,n)}function co(t,n,e){this.cc_1=t,this.dc_1=n,this.ec_1=e}function lo(t){return t}function ho(t){return t}function po(){A=this,this.fc_1=0,this.gc_1=-1,this.hc_1=1,this.ic_1=8}function fo(){return null==A&&new po,A}function _o(t,n){return wl(255&t,255&n)}function vo(t){return(255&t).toString()}function yo(t){fo(),this.jc_1=t}function mo(t){return t}function go(t){return t}function $o(t){return t.length}function bo(t){this.lc_1=t,this.mc_1=0}function wo(t,n){return(Mh(new yo(n))?new yo(n):El())instanceof yo&&Yt(t,n)}function xo(t,n){var e;t:{var r=kh(n,Zc)?n:El();if(kh(r,Zc)&&r.h())e=!0;else{for(var i=r.c();i.d();){var o=i.e();if(!(o instanceof yo&&Yt(t,o.jc_1))){e=!1;break t}}e=!0}}return e}function ko(t){this.oc_1=t}function jo(t){return t}function zo(t){return t}function Co(){E=this,this.rc_1=0,this.sc_1=-1,this.tc_1=4,this.uc_1=32}function So(){return null==E&&new Co,E}function qo(t,n){return ds(t,n)}function Oo(t){return dh(t).wc(new Ll(-1,0)).toString()}function Po(t){So(),this.vc_1=t}function Mo(t){return t}function Ao(t){return t}function Eo(t){return t.length}function Io(t){this.yc_1=t,this.zc_1=0}function Do(t,n){return(Mh(new Po(n))?new Po(n):El())instanceof Po&&Jt(t,n)}function To(t,n){var e;t:{var r=kh(n,Zc)?n:El();if(kh(r,Zc)&&r.h())e=!0;else{for(var i=r.c();i.d();){var o=i.e();if(!(o instanceof Po&&Jt(t,o.vc_1))){e=!1;break t}}e=!0}}return e}function Bo(t){this.bd_1=t}function Lo(t){return t}function No(t){return t}function Ro(){I=this,this.ed_1=new Ll(0,0),this.fd_1=new Ll(-1,-1),this.gd_1=8,this.hd_1=64}function Fo(){return null==I&&new Ro,I}function Ho(t,n){return vs(t,n)}function Uo(t){return function(t,n){if(t.c1(new Ll(0,0))>=0)return of(t,n);var e,r=t.ce(1).s9(dh(n)).jb(1);e=r.t9(dh(n));var i=t.v9(e);return i.c1(dh(n))>=0&&(i=i.v9(dh(n)),r=r.u9(new Ll(1,0))),of(r,n)+of(i,n)}(t,10)}function Vo(t){Fo(),this.id_1=t}function Wo(t){return t}function Jo(t){return t}function Ko(t){return t.length}function Yo(t){this.kd_1=t,this.ld_1=0}function Go(t,n){return(Mh(new Vo(n))?new Vo(n):El())instanceof Vo&&Wt(t,n)}function Xo(t,n){var e;t:{var r=kh(n,Zc)?n:El();if(kh(r,Zc)&&r.h())e=!0;else{for(var i=r.c();i.d();){var o=i.e();if(!(o instanceof Vo&&Wt(t,o.id_1))){e=!1;break t}}e=!0}}return e}function Zo(t){this.nd_1=t}function Qo(t){return t}function ts(t){return t}function ns(){D=this,this.qd_1=0,this.rd_1=-1,this.sd_1=2,this.td_1=16}function es(){return null==D&&new ns,D}function rs(t,n){return wl(65535&t,65535&n)}function is(t){return(65535&t).toString()}function os(t){es(),this.ud_1=t}function ss(t){return t}function as(t){return t}function us(t){return t.length}function cs(t){this.wd_1=t,this.xd_1=0}function ls(t,n){return(Mh(new os(n))?new os(n):El())instanceof os&&Kt(t,n)}function hs(t,n){var e;t:{var r=kh(n,Zc)?n:El();if(kh(r,Zc)&&r.h())e=!0;else{for(var i=r.c();i.d();){var o=i.e();if(!(o instanceof os&&Kt(t,o.ud_1))){e=!1;break t}}e=!0}}return e}function ps(t){this.zd_1=t}function fs(t){return function(t,n){Yu(n);var e=t.length;if(0===e)return null;Fo();var r,i=new Ll(-1,-1),o=yl(t,0);if(Ic(o,48)<0){if(1===e||!Cl(new Rc(o),new Rc(43)))return null;r=1}else r=0;var s=new Ll(477218588,119304647),a=s,u=dh(n),c=new Ll(0,0),l=r;if(l0){if(!Cl(a,s))return null;if(vs(c,a=ys(i,u))>0)return null}var f=c=c.t9(u),_=c,d=dh(p).wc(new Ll(-1,0));if(vs(c=_.u9(d),f)<0)return null}while(l0){if(c!==u)return null;if(ds(h,(o=l,s=void 0,a=void 0,a=dh(-1).wc(new Ll(-1,0)),s=dh(o).wc(new Ll(-1,0)),c=a.s9(s).va()))>0)return null}var d=h=Et(h,l);if(ds(h=h+_|0,d)<0)return null}while(p=0)return e.s9(r);var i=e.ce(1).s9(r).jb(1),o=vs(e.v9(i.t9(r)),r)>=0?1:0;return i.u9(dh(o))}function ms(){}function gs(){}function $s(){}function bs(){}function ws(){}function xs(){}function ks(){}function js(){}function zs(){T=this}function Cs(){return null==T&&new zs,T}function Ss(){B=this,this.ge_1=-128,this.he_1=127,this.ie_1=1,this.je_1=8}function qs(){L=this,this.oe_1=-32768,this.pe_1=32767,this.qe_1=2,this.re_1=16}function Os(){N=this,this.w_1=-2147483648,this.x_1=2147483647,this.y_1=4,this.z_1=32}function Ps(){return null==N&&new Os,N}function Ms(){R=this,this.se_1=14e-46,this.te_1=34028235e31,this.ue_1=1/0,this.ve_1=-1/0,this.we_1=NaN,this.xe_1=4,this.ye_1=32}function As(){return null==R&&new Ms,R}function Es(){F=this,this.cf_1=5e-324,this.df_1=17976931348623157e292,this.ef_1=1/0,this.ff_1=-1/0,this.gf_1=NaN,this.hf_1=8,this.if_1=64}function Is(){return null==F&&new Es,F}function Ds(){H=this}function Ts(){U=this}function Bs(){}function Ls(t){return Gt(n=[t],$a(n.length));var n}function Ns(t){return 0===(n=[t]).length?ra():oa(new Xn(n,!0));var n}function Rs(t){return t<0&&function(){throw Fp("Index overflow has happened.")}(),t}function Fs(t){return void 0!==t.toArray?t.toArray():Hs(t)}function Hs(t){for(var n=[],e=t.c();e.d();)n.push(e.e());return n}function Us(){bn.call(this)}function Vs(t){this.of_1=t,this.mf_1=0,this.nf_1=-1}function Ws(t,n){this.tf_1=t,Vs.call(this,t),Pn().c2(n,this.tf_1.f()),this.mf_1=n}function Js(t,n,e){Ks.call(this),this.vf_1=t,this.wf_1=n,this.xf_1=0,Pn().e2(this.wf_1,e,this.vf_1.f()),this.xf_1=e-this.wf_1|0}function Ks(){Us.call(this),this.pf_1=0}function Ys(t){this.bg_1=t}function Gs(t){this.cg_1=t}function Xs(t,n){this.dg_1=t,this.eg_1=n}function Zs(){ea.call(this)}function Qs(t){this.ig_1=t,ea.call(this)}function ta(t){this.pg_1=t,Us.call(this)}function na(){Rn.call(this),this.mg_1=null,this.ng_1=null}function ea(){Us.call(this)}function ra(){return t=Object.create(ua.prototype),n=[],ua.call(t,n),t;var t,n}function ia(t){return n=Object.create(ua.prototype),e=[],ua.call(n,e),n;var n,e}function oa(t){return function(t,n){var e;return e=Fs(t),ua.call(n,e),n}(t,Object.create(ua.prototype))}function sa(t,n){return Pn().d2(n,t.f()),n}function aa(t,n){return Pn().c2(n,t.f()),n}function ua(t){Ks.call(this),this.l_1=t,this.m_1=!1}function ca(t,n,e,r,i){if(e===r)return t;var o=(e+r|0)/2|0,s=ca(t,n,e,o,i),a=ca(t,n,o+1|0,r,i),u=s===n?t:n,c=e,l=o+1|0,h=e;if(h<=r)do{var p=h;if(h=h+1|0,c<=o&&l<=r){var f=s[c],_=a[l];i.compare(f,_)<=0?(u[p]=f,c=c+1|0):(u[p]=_,l=l+1|0)}else c<=o?(u[p]=s[c],c=c+1|0):(u[p]=a[l],l=l+1|0)}while(p!==r);return u}function la(t,n){return(3&t)-(3&n)|0}function ha(){W=this}function pa(){}function fa(t){this.wg_1=t,Zs.call(this)}function _a(t){return function(t,n){na.call(n),ma.call(n),n.ch_1=t,n.dh_1=t.fh()}(new Ca((null==W&&new ha,W)),t),t}function da(){return _a(Object.create(ma.prototype))}function va(t,n,e){if(_a(e),!(t>=0))throw mp(zl("Negative initial capacity: "+t));if(!(n>=0))throw mp(zl("Non-positive load factor: "+n));return e}function ya(t){return function(t,n){return va(t,0,n),n}(t,Object.create(ma.prototype))}function ma(){this.eh_1=null}function ga(t,n,e){return ea.call(e),wa.call(e),e.hh_1=function(t,n){return va(t,n,Object.create(ma.prototype))}(t,n),e}function $a(t){return function(t,n){return ga(t,0,n),n}(t,Object.create(wa.prototype))}function ba(t,n){return ea.call(n),wa.call(n),n.hh_1=t,n}function wa(){}function xa(t,n){var e=ja(t,t.qh_1.vg(n));if(null==e)return null;var r=e;if(null!=r&&Ph(r))return ka(r,t,n);var i=r;return t.qh_1.ug(i.k2(),n)?i:null}function ka(t,n,e){var r;t:{for(var i=t,o=0,s=i.length;onew Ll(-1,2147483647).oi()?(Bl(),n=new Ll(-1,2147483647)):(Bl(),t1?t:yl(n,0)}function Ku(t){return function(t){var n;return 9<=(n=Tc(t))&&n<=13||28<=n&&n<=32||160===n||n>4096&&(5760===n||8192<=n&&n<=8202||8232===n||8233===n||8239===n||8287===n||12288===n)}(t)}function Yu(t){if(!(2<=t&&t<=36))throw mp("radix "+t+" was not in valid range 2..36");return t}function Gu(t,n){var e,r,i,o=Ic(t,48)>=0&&Ic(t,57)<=0?Dc(t,48):Ic(t,65)>=0&&Ic(t,90)<=0?Dc(t,65)+10|0:Ic(t,97)>=0&&Ic(t,122)<=0?Dc(t,97)+10|0:Ic(t,128)<0?-1:Ic(t,65313)>=0&&Ic(t,65338)<=0?Dc(t,65313)+10|0:Ic(t,65345)>=0&&Ic(t,65370)<=0?Dc(t,65345)+10|0:(e=Tc(t),r=Xh(Qh().hn_1,e),(i=e-Qh().hn_1[r]|0)<10?i:-1);return o>=n?-1:o}function Xu(t){var n=+t;return(Za(n)&&!tc(t)||0===n&&mc(t))&&Tr(t),n}function Zu(t){var n,e=Ir(t);return null==e?Tr(t):n=e,n}function Qu(t){var n,e=Dr(t);return null==e?Tr(t):n=e,n}function tc(t){switch(t.toLowerCase()){case"nan":case"+nan":case"-nan":return!0;default:return!1}}function nc(){tt=this,this.xk_1=new RegExp("[\\\\^$*+?.()|[\\]{}]","g"),this.yk_1=new RegExp("[\\\\$]","g"),this.zk_1=new RegExp("\\$","g")}function ec(){return null==tt&&new nc,tt}function rc(t){return t.e()}function ic(t){return function(n){return function(t,n){for(var e=0,r=Vu();e=f.f())throw Bp("Group with index "+v+" does not exist");var y=f.g(v),m=null==y?null:y.kl_1;r.eb(null==m?"":m),e=_}}else r.q9(o)}return r.toString()}(n,t)}}function oc(t,n){ec(),this.w9_1=t,this.x9_1=nn(n),this.y9_1=new RegExp(t,tn(n,"","gu",null,0,null,pc,28)),this.z9_1=null,this.aa_1=null}function sc(t,n,e){nl.call(this,t,n),this.jl_1=e}function ac(t,n,e,r){t.lastIndex=e;var i=t.exec(n);return null==i?null:new dc(vh(i.index,t.lastIndex-1|0),i,r,n)}function uc(t){this.kl_1=t}function cc(t,n){for(var e=n;e0&&Cl(new Rc(yl(n,Hr(n)-(o-1|0)|0)),new Rc(32));)o=o-1|0;return mn(n,o)+"... and "+(r-1|0)+" more common stack frames skipped"}(n,s,u),gl(e)>0){var c;if(0===u)c=0;else{for(var l=0,h=i,p=0,f=h.length;p=d&&n.wl_1.eb(e),n.wl_1.eb(m).eb("\n")}}else n.wl_1.eb(s).eb("\n")}else n.wl_1.eb(i).eb("\n");var $=function(t){var n=t._suppressed,e=null==n?null:n;return null==e?Vn():e}(t);if(!$.h())for(var b=e+" ",w=$.c();w.d();)$c(w.e(),n,b,"Suppressed: ");return!0}function wc(){var t;this.wl_1=Vu(),t=[],this.xl_1=t,this.yl_1="",this.zl_1=0}function xc(){if(lt)return Cs();lt=!0,rt=new kc("NANOSECONDS",0,1),it=new kc("MICROSECONDS",1,1e3),ot=new kc("MILLISECONDS",2,1e6),st=new kc("SECONDS",3,1e9),at=new kc("MINUTES",4,6e10),ut=new kc("HOURS",5,36e11),ct=new kc("DAYS",6,864e11)}function kc(t,n,e){nl.call(this,t,n),this.dm_1=e}function jc(t,n,e){var r=wl(n.dm_1,e.dm_1);return r>0?t*(n.dm_1/e.dm_1):r<0?t/(e.dm_1/n.dm_1):t}function zc(t,n,e){var r,i=wl(n.dm_1,e.dm_1);if(i>0){var o,s=fh(n.dm_1/e.dm_1),a=t.t9(s);a.s9(s).equals(t)?o=a:t.c1(new Ll(0,0))>0?(Bl(),o=new Ll(-1,2147483647)):(Bl(),o=new Ll(0,-2147483648)),r=o}else r=i<0?t.s9(fh(e.dm_1/n.dm_1)):t;return r}function Cc(t,n,e){var r=wl(n.dm_1,e.dm_1);return r>0?t.t9(fh(n.dm_1/e.dm_1)):r<0?t.s9(fh(e.dm_1/n.dm_1)):t}function Sc(){return xc(),rt}function qc(){return xc(),ot}function Oc(){return xc(),st}function Pc(){return xc(),at}function Mc(){return xc(),ut}function Ac(){return xc(),ct}function Ec(t){return t}function Ic(t,n){return t-n|0}function Dc(t,n){return t-n|0}function Tc(t){return t}function Bc(t){return String.fromCharCode(t)}function Lc(){ht=this,this.em_1=0,this.fm_1=65535,this.gm_1=55296,this.hm_1=56319,this.im_1=56320,this.jm_1=57343,this.km_1=55296,this.lm_1=57343,this.mm_1=2,this.nm_1=16}function Nc(){return null==ht&&new Lc,ht}function Rc(t){Nc(),this.k1_1=t}function Fc(){}function Hc(){}function Uc(){}function Vc(){}function Wc(){}function Jc(){}function Kc(){}function Yc(){}function Gc(){}function Xc(){}function Zc(){}function Qc(){}function tl(){pt=this}function nl(t,n){null==pt&&new tl,this.r1_1=t,this.s1_1=n}function el(t){var n=null==t?null:zl(t);return null==n?"null":n}function rl(t,n){var e=null==t?null:zl(t),r=null==e?"null":e,i=null==n?null:zl(n);return r+(null==i?"null":i)}function il(t,n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;e=e+1|0,t[i]=n}while(i!==r);return t}function ol(t){return new cl(t)}function sl(t){var n=il(Array(t),!1);return n.$type$="BooleanArray",n}function al(t){var n=new Uint16Array(t);return n.$type$="CharArray",n}function ul(t){var n=il(Array(t),new Ll(0,0));return n.$type$="LongArray",n}function cl(t){this.qm_1=t,this.pm_1=0}function ll(t){this.sm_1=t,pe.call(this),this.rm_1=0}function hl(){return vl(),ft}function pl(){return vl(),_t}function fl(){return vl(),dt}function _l(){return vl(),vt}function dl(t){return vl(),nf(t,0)===t?hh(t):(pl()[0]=t,Et(fl()[(vl(),yt)],31)+fl()[_l()]|0)}function vl(){if(mt);else{mt=!0,ft=new ArrayBuffer(8);var t=new Float64Array(hl());_t=t,new Float32Array(hl());var n,e=new Int32Array(hl());dt=e,pl()[0]=-1,n=0!==fl()[0]?1:0,vt=n,yt=1-_l()|0}}function yl(t,n){var e;if(ml(t)){var r,i=t.charCodeAt(n);if(Nc(),i<0?r=!0:(Nc(),r=i>65535),r)throw mp("Invalid Char code: "+i);e=_h(i)}else e=t.ee(n);return e}function ml(t){return"string"==typeof t}function gl(t){return ml(t)?t.length:t.de()}function $l(t,n,e){return ml(t)?t.substring(n,e):t.fe(n,e)}function bl(t){return zl(t)}function wl(t,n){var e;switch(typeof t){case"number":e="number"==typeof n?xl(t,n):n instanceof Ll?xl(t,n.oi()):kl(t,n);break;case"string":case"boolean":e=kl(t,n);break;default:e=function(t,n){return t.ib(n)}(t,n)}return e}function xl(t,n){var e;if(tn)e=1;else if(t===n){var r;if(0!==t)r=0;else{var i=1/t;r=i===1/n?0:i<0?-1:1}e=r}else e=t!=t?n!=n?0:1:-1;return e}function kl(t,n){return tn?1:0}function jl(t){if(!tf("kotlinHashCodeValue$",t)){var n=nf(4294967296*Math.random(),0),e=new Object;e.value=n,e.enumerable=!1,Object.defineProperty(t,"kotlinHashCodeValue$",e)}return t.kotlinHashCodeValue$}function zl(t){return null==t?"null":wh(t)?"[...]":t.toString()}function Cl(t,n){return null==t?null==n:null!=n&&("object"==typeof t&&"function"==typeof t.equals?t.equals(n):t!=t?n!=n:"number"==typeof t&&"number"==typeof n?t===n&&(0!==t||1/t==1/n):t===n)}function Sl(t){if(null==t)return 0;var n;switch(typeof t){case"object":n="function"==typeof t.hashCode?t.hashCode():jl(t);break;case"function":n=jl(t);break;case"number":n=dl(t);break;case"boolean":n=t?1:0;break;default:n=ql(String(t))}return n}function ql(t){var n=0,e=0,r=t.length-1|0;if(e<=r)do{var i=e;e=e+1|0;var o=t.charCodeAt(i);n=Et(n,31)+o|0}while(i!==r);return n}function Ol(t,n){null!=Error.captureStackTrace?Error.captureStackTrace(t,n):t.stack=(new Error).stack}function Pl(t,n,e){Error.call(t),function(t,n,e){if(!Ml(t,"message")){var r;if(null==n){var i;if(null!==n){var o=null==e?null:e.toString();i=null==o?void 0:o}else i=void 0;r=i}else r=n;t.message=r}Ml(t,"cause")||(t.cause=e),t.name=Object.getPrototypeOf(t).constructor.name}(t,n,e)}function Ml(t,n){return Object.getPrototypeOf(t).hasOwnProperty(n)}function Al(t){var n;return null==t?function(){throw Wp()}():n=t,n}function El(){throw Gp()}function Il(t,n){for(var e=t.length,r=n.length,i=0,o=n;ii)for(r.length=n;i>>16|0,r=65535&t.b1_1,i=t.a1_1>>>16|0,o=65535&t.a1_1,s=n.b1_1>>>16|0,a=65535&n.b1_1,u=n.a1_1>>>16|0,c=0,l=0,h=0,p=0;return c=(c=c+((l=(l=l+((h=(h=h+((p=p+(o+(65535&n.a1_1)|0)|0)>>>16|0)|0)+(i+u|0)|0)>>>16|0)|0)+(r+a|0)|0)>>>16|0)|0)+(e+s|0)|0,new Ll((h&=65535)<<16|(p&=65535),(c&=65535)<<16|(l&=65535))}function Jl(t,n){return ch(),Wl(t,n.r9())}function Kl(t,n){if(ch(),eh(t))return Nl();if(eh(n))return Nl();if(Zl(t,Hl()))return rh(n)?Hl():Nl();if(Zl(n,Hl()))return rh(t)?Hl():Nl();if(nh(t))return nh(n)?Kl(ih(t),ih(n)):ih(Kl(ih(t),n));if(nh(n))return ih(Kl(t,ih(n)));if(oh(t,Ul())&&oh(n,Ul()))return sh(Xl(t)*Xl(n));var e=t.b1_1>>>16|0,r=65535&t.b1_1,i=t.a1_1>>>16|0,o=65535&t.a1_1,s=n.b1_1>>>16|0,a=65535&n.b1_1,u=n.a1_1>>>16|0,c=65535&n.a1_1,l=0,h=0,p=0,f=0;return p=p+((f=f+Et(o,c)|0)>>>16|0)|0,f&=65535,h=(h=h+((p=p+Et(i,c)|0)>>>16|0)|0)+((p=(p&=65535)+Et(o,u)|0)>>>16|0)|0,p&=65535,l=(l=(l=l+((h=h+Et(r,c)|0)>>>16|0)|0)+((h=(h&=65535)+Et(i,u)|0)>>>16|0)|0)+((h=(h&=65535)+Et(o,a)|0)>>>16|0)|0,h&=65535,l=l+(((Et(e,c)+Et(r,u)|0)+Et(i,a)|0)+Et(o,s)|0)|0,new Ll(p<<16|f,(l&=65535)<<16|h)}function Yl(t,n){ch();var e=63&n;return 0===e?t:e<32?new Ll(t.a1_1<>>(32-e|0)|0):new Ll(0,t.a1_1<<(e-32|0))}function Gl(t,n){ch();var e=63&n;return 0===e?t:e<32?new Ll(t.a1_1>>>e|0|t.b1_1<<(32-e|0),t.b1_1>>e):new Ll(t.b1_1>>(e-32|0),t.b1_1>=0?0:-1)}function Xl(t){return ch(),4294967296*t.b1_1+function(t){return ch(),t.a1_1>=0?t.a1_1:4294967296+t.a1_1}(t)}function Zl(t,n){return ch(),t.b1_1===n.b1_1&&t.a1_1===n.a1_1}function Ql(t,n){if(ch(),n<2||36=0x8000000000000000)return ch(),xt;if(t<0)return ih(sh(-t));var n=4294967296;return new Ll(nf(t%n,0),nf(t/n,0))}function ah(t,n){return ch(),Vl(t,n)>0}function uh(t,n){return ch(),Vl(t,n)>=0}function ch(){zt||(zt=!0,$t=th(0),bt=th(1),wt=th(-1),xt=new Ll(-1,2147483647),kt=new Ll(0,-2147483648),jt=th(16777216))}function lh(t){return t<<24>>24}function hh(t){return t instanceof Ll?t.va():function(t){return t>2147483647?2147483647:t<-2147483648?-2147483648:nf(t,0)}(t)}function ph(t){return t<<16>>16}function fh(t){return t instanceof Ll?t:sh(t)}function _h(t){return 65535&ph(hh(t))}function dh(t){return th(t)}function vh(t,n){return new yr(t,n)}function yh(){gh();var t=void 0;return $h(t,t,t,t,t,t)}function mh(t,n,e,r,i){return gh(),r.get=r,r.set=i,r.callableName=t,o=r,s=function(t,n,e){gh();var r=(gh(),Ct)[t][null==n?0:1];return 0===r.interfaces.length&&(r.interfaces.push(e),null==r.interfacesCache?r.interfacesCache={isComplete:!1,implementInterfaceMemo:{}}:Al(r.interfacesCache).isComplete=!1,Sh(Al(r.interfacesCache),e)),r}(n,i,e),gh(),o.$metadata$=s,o.constructor=o,o;var o,s}function gh(){if(St);else{St=!0;var t,n=[yh(),yh()],e=[yh(),yh()];t=[yh(),yh()],Ct=[n,e,t]}}function $h(t,n,e,r,i,o){return bh("class",t,n,e,r,i,o)}function bh(t,n,e,r,i,o,s){return{kind:t,simpleName:n,interfaceId:"interface"===t?-1:void 0,interfaces:e||[],associatedObjectKey:r,associatedObjects:i,suspendArity:o,fastPrototype:s,$kClass$:void 0,interfacesCache:{isComplete:void 0===s&&(void 0===e||0===e.length),implementInterfaceMemo:{}}}}function wh(t){return!!xh(t)||Dt(t)}function xh(t){return Array.isArray(t)}function kh(t,n){var e=t.constructor;return null!=e&&jh(e,n)}function jh(t,n){if(t===n)return!0;var e=t.$metadata$;null!=e&&null==e.interfacesCache&&(e.interfacesCache={isComplete:!1,implementInterfaceMemo:{}});var r,i=null==e?null:e.interfacesCache;if(null!=i){i.isComplete||zh(t);var o=n.$metadata$,s=null==o?null:o.interfaceId;if(null==s)return!1;var a=s;r=!!i.implementInterfaceMemo[a]}else{var u=Ch(t),c=null==u?null:u.constructor;if(null==c)return!1;r=jh(c,n)}return r}function zh(t){var n=t.$metadata$;null!=n&&null==n.interfacesCache&&(n.interfacesCache={isComplete:!1,implementInterfaceMemo:{}});var e=null==n?null:n.interfacesCache;if(null!=e){if(!0===e.isComplete)return e;for(var r=n.interfaces,i=0,o=r.length;i=0))throw mp(zl("Invalid new array size: "+n+"."));return Dl(t,n,null)}function Kh(t,n,e){return Pn().e2(n,e,t.length),t.slice(n,e)}function Yh(t){return new ua(t)}function Gh(t,n,e){for(var r=new Int32Array(e),i=0,o=0,s=0,a=t,u=0,c=a.length;u(o=t[i=(e+r|0)/2|0]))e=i+1|0;else{if(n===o)return i;r=i-1|0}return i-(n0},qn.prototype.p=function(){return this.x1_1},qn.prototype.q=function(){if(!this.o())throw Cp();var t=this;return t.x1_1=t.x1_1-1|0,this.b2_1.g(t.x1_1)},qn.$metadata$=$h("ListIteratorImpl",[xs],void 0,void 0,void 0,Sn.prototype),On.prototype.d2=function(t,n){if(t<0||t>=n)throw Bp("index: "+t+", size: "+n)},On.prototype.c2=function(t,n){if(t<0||t>n)throw Bp("index: "+t+", size: "+n)},On.prototype.e2=function(t,n,e){if(t<0||n>e)throw Bp("fromIndex: "+t+", toIndex: "+n+", size: "+e);if(t>n)throw mp("fromIndex: "+t+" > toIndex: "+n)},On.prototype.f2=function(t,n,e){if(t<0||n>e)throw Bp("startIndex: "+t+", endIndex: "+n+", size: "+e);if(t>n)throw mp("startIndex: "+t+" > endIndex: "+n)},On.prototype.g2=function(t){for(var n=1,e=t.c();e.d();){var r=e.e(),i=Et(31,n),o=null==r?null:Sl(r);n=i+(null==o?0:o)|0}return n},On.prototype.h2=function(t,n){if(t.f()!==n.f())return!1;for(var e=n.c(),r=t.c();r.d();)if(!Cl(r.e(),e.e()))return!1;return!0},On.$metadata$=Uh("Companion"),Mn.prototype.c=function(){return new Sn(this)},Mn.prototype.j=function(t){var n;t:{for(var e=0,r=this.c();r.d();){if(Cl(r.e(),t)){n=e;break t}e=e+1|0}n=-1}return n},Mn.prototype.i2=function(t){var n;t:{for(var e=this.n(this.f());e.o();)if(Cl(e.q(),t)){n=e.p();break t}n=-1}return n},Mn.prototype.n=function(t){return new qn(this,t)},Mn.prototype.equals=function(t){return t===this||!(null==t||!kh(t,Hc))&&Pn().h2(this,t)},Mn.prototype.hashCode=function(){return Pn().g2(this)},Mn.$metadata$=$h("AbstractList",[Hc],void 0,void 0,void 0,bn.prototype),An.prototype.d=function(){return this.j2_1.d()},An.prototype.e=function(){return this.j2_1.e().k2()},An.$metadata$=$h(void 0,[bs]),En.prototype.d=function(){return this.l2_1.d()},En.prototype.e=function(){return this.l2_1.e().m2()},En.$metadata$=$h(void 0,[bs]),Tn.prototype.n2=function(t){var n=t.k2(),e=null==n?null:Sl(n),r=null==e?0:e,i=t.m2(),o=null==i?null:Sl(i);return r^(null==o?0:o)},Tn.prototype.o2=function(t){return el(t.k2())+"="+el(t.m2())},Tn.prototype.p2=function(t,n){return!(null==n||!kh(n,Yc))&&!!Cl(t.k2(),n.k2())&&Cl(t.m2(),n.m2())},Tn.$metadata$=Uh("Companion"),Ln.prototype.r2=function(t){return this.q2_1.u2(t)},Ln.prototype.i=function(t){return!(null!=t&&!Mh(t))&&this.r2(null==t||Mh(t)?t:El())},Ln.prototype.c=function(){return new An(this.q2_1.u().c())},Ln.prototype.f=function(){return this.q2_1.f()},Ln.$metadata$=$h(void 0,void 0,void 0,void 0,void 0,Un.prototype),Nn.prototype.x2=function(t){return this.w2_1.y2(t)},Nn.prototype.i=function(t){return!(null!=t&&!Mh(t))&&this.x2(null==t||Mh(t)?t:El())},Nn.prototype.c=function(){return new En(this.w2_1.u().c())},Nn.prototype.f=function(){return this.w2_1.f()},Nn.$metadata$=$h(void 0,void 0,void 0,void 0,void 0,bn.prototype),Rn.prototype.u2=function(t){return!(null==Dn(this,t))},Rn.prototype.y2=function(t){var n;t:{var e=this.u();if(kh(e,Zc)&&e.h())n=!1;else{for(var r=e.c();r.d();)if(Cl(r.e().m2(),t)){n=!0;break t}n=!1}}return n},Rn.prototype.z2=function(t){if(null==t||!kh(t,Yc))return!1;var n=t.k2(),e=t.m2(),r=(kh(this,Gc)?this:El()).a3(n);return!(!Cl(e,r)||null==r&&!(kh(this,Gc)?this:El()).u2(n))},Rn.prototype.equals=function(t){if(t===this)return!0;if(null==t||!kh(t,Gc))return!1;if(this.f()!==t.f())return!1;var n;t:{var e=t.u();if(kh(e,Zc)&&e.h())n=!0;else{for(var r=e.c();r.d();){var i=r.e();if(!this.z2(i)){n=!1;break t}}n=!0}}return n},Rn.prototype.a3=function(t){var n=Dn(this,t);return null==n?null:n.m2()},Rn.prototype.hashCode=function(){return Sl(this.u())},Rn.prototype.h=function(){return 0===this.f()},Rn.prototype.f=function(){return this.u().f()},Rn.prototype.b3=function(){return null==this.s2_1&&(this.s2_1=new Ln(this)),Al(this.s2_1)},Rn.prototype.toString=function(){return tn(this.u(),", ","{","}",0,null,(t=this,function(n){return t.v2(n)}),24);var t},Rn.prototype.v2=function(t){return In(this,t.k2())+"="+In(this,t.m2())},Rn.prototype.c3=function(){return null==this.t2_1&&(this.t2_1=new Nn(this)),Al(this.t2_1)},Rn.$metadata$=$h("AbstractMap",[Gc]),Fn.prototype.d3=function(t){for(var n=0,e=t.c();e.d();){var r=e.e(),i=n,o=null==r?null:Sl(r);n=i+(null==o?0:o)|0}return n},Fn.prototype.e3=function(t,n){return t.f()===n.f()&&t.n1(n)},Fn.$metadata$=Uh("Companion"),Un.prototype.equals=function(t){return t===this||!(null==t||!kh(t,Wc))&&Hn().e3(this,t)},Un.prototype.hashCode=function(){return Hn().d3(this)},Un.$metadata$=$h("AbstractSet",[Wc],void 0,void 0,void 0,bn.prototype),Yn.prototype.equals=function(t){return!(null==t||!kh(t,Hc))&&t.h()},Yn.prototype.hashCode=function(){return 1},Yn.prototype.toString=function(){return"[]"},Yn.prototype.f=function(){return 0},Yn.prototype.h=function(){return!0},Yn.prototype.g3=function(t){return!1},Yn.prototype.i=function(t){return!1},Yn.prototype.h3=function(t){return t.h()},Yn.prototype.n1=function(t){return this.h3(t)},Yn.prototype.g=function(t){throw Bp("Empty list doesn't contain element at index "+t+".")},Yn.prototype.i3=function(t){return-1},Yn.prototype.j=function(t){return-1},Yn.prototype.c=function(){return Qn()},Yn.prototype.n=function(t){if(0!==t)throw Bp("Index: "+t);return Qn()},Yn.$metadata$=Uh("EmptyList",[Hc,Ga,Ra]),Xn.prototype.f=function(){return this.j3_1.length},Xn.prototype.h=function(){return 0===this.j3_1.length},Xn.prototype.l3=function(t){return function(t,n){return Rt(t,n)>=0}(this.j3_1,t)},Xn.prototype.i=function(t){return!(null!=t&&!Mh(t))&&this.l3(null==t||Mh(t)?t:El())},Xn.prototype.m3=function(t){var n;t:if(kh(t,Zc)&&t.h())n=!0;else{for(var e=t.c();e.d();){var r=e.e();if(!this.l3(r)){n=!1;break t}}n=!0}return n},Xn.prototype.n1=function(t){return this.m3(t)},Xn.prototype.c=function(){return ol(this.j3_1)},Xn.$metadata$=$h("ArrayAsCollection",[Zc]),Zn.prototype.d=function(){return!1},Zn.prototype.o=function(){return!1},Zn.prototype.p=function(){return 0},Zn.prototype.e=function(){throw Cp()},Zn.prototype.q=function(){throw Cp()},Zn.$metadata$=Uh("EmptyIterator",[xs]),te.prototype.p3=function(){return this.n3_1},te.prototype.m2=function(){return this.o3_1},te.prototype.toString=function(){return"IndexedValue(index="+this.n3_1+", value="+this.o3_1+")"},te.prototype.hashCode=function(){var t=this.n3_1;return Et(t,31)+(null==this.o3_1?0:Sl(this.o3_1))|0},te.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof te))return!1;var n=t instanceof te?t:El();return this.n3_1===n.n3_1&&!!Cl(this.o3_1,n.o3_1)},te.$metadata$=$h("IndexedValue"),ee.prototype.c=function(){return new ie(this.q3_1())},ee.$metadata$=$h("IndexingIterable",[Fc]),re.prototype.c=function(){return this.r3_1()},re.$metadata$=$h(void 0,[Fc]),ie.prototype.d=function(){return this.s3_1.d()},ie.prototype.e=function(){var t=this.t3_1;return this.t3_1=t+1|0,new te(Rs(t),this.s3_1.e())},ie.$metadata$=$h("IndexingIterator",[bs]),oe.$metadata$=Hh("MapWithDefault",[Gc]),ae.prototype.equals=function(t){return!(null==t||!kh(t,Gc))&&t.h()},ae.prototype.hashCode=function(){return 0},ae.prototype.toString=function(){return"{}"},ae.prototype.f=function(){return 0},ae.prototype.h=function(){return!0},ae.prototype.h4=function(t){return!1},ae.prototype.u2=function(t){return!(null!=t&&!Mh(t))&&this.h4(null==t||Mh(t)?t:El())},ae.prototype.i4=function(t){return null},ae.prototype.a3=function(t){return null==t||Mh(t)?this.i4(null==t||Mh(t)?t:El()):null},ae.prototype.u=function(){return Ae()},ae.prototype.b3=function(){return Ae()},ae.prototype.c3=function(){return Gn()},ae.$metadata$=Uh("EmptyMap",[Gc,Ga]),pe.prototype.e=function(){return this.q4()},pe.$metadata$=$h("IntIterator",[bs]),fe.prototype.r4=function(){return this.s4()},fe.prototype.e=function(){return new Rc(this.r4())},fe.$metadata$=$h("CharIterator",[bs]),_e.$metadata$=Hh("Sequence"),de.$metadata$=$h("SequenceScope"),me.prototype.y4=function(t){this.x4_1=t},me.prototype.d=function(){for(;;){switch(this.u4_1){case 0:break;case 1:if(Al(this.w4_1).d())return this.u4_1=2,!0;this.w4_1=null;break;case 4:return!1;case 3:case 2:return!0;default:throw ye(this)}this.u4_1=5;var t,n=Al(this.x4_1);this.x4_1=null,no(),t=Cs(),n.z4(t),Cs()}},me.prototype.e=function(){switch(this.u4_1){case 0:case 1:return function(t){if(t.d())return t.e();throw Cp()}(this);case 2:return this.u4_1=1,Al(this.w4_1).e();case 3:this.u4_1=0;var t=this.v4_1,n=null==t||Mh(t)?t:El();return this.v4_1=null,n;default:throw ye(this)}},me.prototype.t4=function(t,n){this.v4_1=t,this.u4_1=3;var e=n;return this.x4_1=e,nr()},me.prototype.a5=function(t){oo(t);null==t||Mh(t)||El(),this.u4_1=4},me.prototype.z4=function(t){return this.a5(t)},me.prototype.b5=function(){return Ke()},me.$metadata$=$h("SequenceBuilderIterator",[bs,Le],void 0,void 0,void 0,de.prototype),ge.prototype.c=function(){return ve(this.c5_1)},ge.$metadata$=$h(void 0,[_e]),be.prototype.e=function(){if(this.e5_1<0&&$e(this),0===this.e5_1)throw Cp();var t=this.d5_1,n=Mh(t)?t:El();return this.e5_1=-1,n},be.prototype.d=function(){return this.e5_1<0&&$e(this),1===this.e5_1},be.$metadata$=$h(void 0,[bs]),we.prototype.c=function(){return new be(this)},we.$metadata$=$h("GeneratorSequence",[_e]),xe.prototype.e=function(){return this.j5_1.l5_1(this.i5_1.e())},xe.prototype.d=function(){return this.i5_1.d()},xe.$metadata$=$h(void 0,[bs]),ke.prototype.c=function(){return new xe(this)},ke.$metadata$=$h("TransformingSequence",[_e]),je.$metadata$=Hh("DropTakeSequence",[_e]),ze.prototype.e=function(){if(0===this.m5_1)throw Cp();var t=this.m5_1;return this.m5_1=t-1|0,this.n5_1.e()},ze.prototype.d=function(){return this.m5_1>0&&this.n5_1.d()},ze.$metadata$=$h(void 0,[bs]),Ce.prototype.h1=function(t){return t>=this.p5_1?this:new Ce(this.o5_1,t)},Ce.prototype.c=function(){return new ze(this)},Ce.$metadata$=$h("TakeSequence",[_e,je]),Se.prototype.c=function(){return Qn()},Se.prototype.h1=function(t){return qe()},Se.$metadata$=Uh("EmptySequence",[_e,je]),Oe.prototype.c=function(){return this.q5_1()},Oe.$metadata$=$h(void 0,[_e]),Me.prototype.equals=function(t){return!(null==t||!kh(t,Wc))&&t.h()},Me.prototype.hashCode=function(){return 0},Me.prototype.toString=function(){return"[]"},Me.prototype.f=function(){return 0},Me.prototype.h=function(){return!0},Me.prototype.g3=function(t){return!1},Me.prototype.i=function(t){return!1},Me.prototype.h3=function(t){return t.h()},Me.prototype.n1=function(t){return this.h3(t)},Me.prototype.c=function(){return Qn()},Me.$metadata$=Uh("EmptySet",[Wc,Ga]),Ie.prototype.q1=function(){if(0===this.u5_1)this.u1();else{var t=this.w5_1.x5_1[this.v5_1];this.t1(null==t||Mh(t)?t:El());var n;n=(this.v5_1+1|0)%this.w5_1.y5_1|0,this.v5_1=n;var e=this.u5_1;this.u5_1=e-1|0}},Ie.$metadata$=$h(void 0,void 0,void 0,void 0,void 0,wn.prototype),De.prototype.f=function(){return this.a6_1},De.prototype.g=function(t){var n;Pn().d2(t,this.a6_1),n=(this.z5_1+t|0)%this.y5_1|0;var e=this.x5_1[n];return null==e||Mh(e)?e:El()},De.prototype.b6=function(){return this.a6_1===this.y5_1},De.prototype.c=function(){return new Ie(this)},De.prototype.c6=function(t){for(var n=t.lengththis.a6_1&&(n[this.a6_1]=null),Ph(n)?n:El()},De.prototype.d6=function(){var t,n=this.a6_1;return t=il(Array(n),null),this.c6(t)},De.prototype.toArray=function(){return this.d6()},De.prototype.e6=function(t){var n,e,r=pn(1+(this.y5_1+(this.y5_1>>1)|0)|0,t);return 0===this.z5_1?n=Jh(this.x5_1,r):(e=il(Array(r),null),n=this.c6(e)),new De(n,this.a6_1)},De.prototype.f6=function(t){if(this.b6())throw kp("ring buffer is full");var n;n=(this.z5_1+this.a6_1|0)%this.y5_1|0,this.x5_1[n]=t;var e=this.a6_1;this.a6_1=e+1|0},De.prototype.g6=function(t){if(!(t>=0))throw mp(zl("n shouldn't be negative but it is "+t));if(!(t<=this.a6_1))throw mp(zl("n shouldn't be greater than the buffer size: n = "+t+", size = "+this.a6_1));if(t>0){var n=this.z5_1,e=(n+t|0)%this.y5_1|0;n>e?(Wh(this.x5_1,null,n,this.y5_1),Wh(this.x5_1,null,0,e)):Wh(this.x5_1,null,n,e),this.z5_1=e;this.a6_1=this.a6_1-t|0}},De.$metadata$=$h("RingBuffer",[Ra],void 0,void 0,void 0,Mn.prototype),Te.prototype.g7=function(t,n){var e=this.h7(t,n);return e.l7_1=Cs(),e.m7_1=null,e.q7()},Te.prototype.r7=function(t,n){return this.g7(t instanceof de?t:El(),n)},Te.prototype.q7=function(){var t=this.l7_1;t:for(;;)try{switch(this.j7_1){case 0:if(this.k7_1=21,this.v6_1=pn(this.p6_1,1024),this.w6_1=this.q6_1-this.p6_1|0,this.w6_1>=0){this.x6_1=ia(this.v6_1),this.y6_1=0,this.z6_1=this.r6_1,this.j7_1=12;continue t}this.a7_1=Ee(this.v6_1),this.b7_1=this.r6_1,this.j7_1=1;continue t;case 1:if(!this.b7_1.d()){this.j7_1=5;continue t}if(this.c7_1=this.b7_1.e(),this.a7_1.f6(this.c7_1),this.a7_1.b6()){if(this.a7_1.a6_1this.q6_1)){this.j7_1=8;continue t}if(this.j7_1=7,(t=this.u6_1.t4(this.s6_1?this.a7_1:oa(this.a7_1),this))===nr())return t;continue t;case 7:this.a7_1.g6(this.q6_1),this.j7_1=6;continue t;case 8:if(this.d7_1=this.a7_1,this.d7_1.h()){this.j7_1=10;continue t}if(this.j7_1=9,(t=this.u6_1.t4(this.a7_1,this))===nr())return t;continue t;case 9:this.j7_1=10;continue t;case 10:this.j7_1=11;continue t;case 11:case 19:this.j7_1=20;continue t;case 12:if(!this.z6_1.d()){this.j7_1=16;continue t}if(this.e7_1=this.z6_1.e(),this.y6_1>0){this.y6_1=this.y6_1-1|0,this.j7_1=12;continue t}this.j7_1=13;continue t;case 13:if(this.x6_1.a(this.e7_1),this.x6_1.f()===this.p6_1){if(this.j7_1=14,(t=this.u6_1.t4(this.x6_1,this))===nr())return t;continue t}this.j7_1=15;continue t;case 14:this.s6_1?this.x6_1.s7():this.x6_1=ia(this.p6_1),this.y6_1=this.w6_1,this.j7_1=15;continue t;case 15:this.j7_1=12;continue t;case 16:if(this.f7_1=this.x6_1,this.f7_1.h()){this.j7_1=19;continue t}if(this.t6_1||this.x6_1.f()===this.p6_1){if(this.j7_1=17,(t=this.u6_1.t4(this.x6_1,this))===nr())return t;continue t}this.j7_1=18;continue t;case 17:this.j7_1=18;continue t;case 18:this.j7_1=19;continue t;case 20:return Cs();case 21:throw this.m7_1}}catch(t){if(21===this.k7_1)throw t;this.j7_1=this.k7_1,this.m7_1=t}},Te.prototype.h7=function(t,n){var e=new Te(this.p6_1,this.q6_1,this.r6_1,this.s6_1,this.t6_1,n);return e.u6_1=t,e},Te.$metadata$=$h("windowedIterator$slambda",void 0,void 0,void 0,[1],op.prototype),Be.prototype.s=function(t,n){return this.v7_1(t,n)},Be.prototype.compare=function(t,n){return this.s(t,n)},Be.$metadata$=$h("sam$kotlin_Comparator$0",[Bs]),Le.$metadata$=Hh("Continuation"),Ne.$metadata$=Uh("Key",[He]),Fe.$metadata$=Hh("ContinuationInterceptor",[Ue]),He.$metadata$=Hh("Key"),Ue.$metadata$=Hh("Element",[We]),We.$metadata$=Hh("CoroutineContext"),Je.prototype.y7=function(t){return null},Je.prototype.e8=function(t,n){return t},Je.prototype.f8=function(t){return t},Je.prototype.d8=function(t){return this},Je.prototype.hashCode=function(){return 0},Je.prototype.toString=function(){return"EmptyCoroutineContext"},Je.$metadata$=Uh("EmptyCoroutineContext",[We,Ga]),Ze.prototype.y7=function(t){for(var n=this;;){var e=n.i8_1.y7(t);if(null!=e)return e;var r=n.h8_1;if(!(r instanceof Ze))return r.y7(t);n=r}},Ze.prototype.e8=function(t,n){return n(this.h8_1.e8(t,n),this.i8_1)},Ze.prototype.d8=function(t){if(null!=this.i8_1.y7(t))return this.h8_1;var n=this.h8_1.d8(t);return n===this.h8_1?this:n===Ke()?this.i8_1:new Ze(n,this.i8_1)},Ze.prototype.equals=function(t){return this===t||!!(t instanceof Ze&&Ye(t)===Ye(this))&&function(t,n){for(var e=n;;){if(!Ge(t,e.i8_1))return!1;var r=e.h8_1;if(!(r instanceof Ze))return Ge(t,kh(r,Ue)?r:El());e=r}}(t,this)},Ze.prototype.hashCode=function(){return Sl(this.h8_1)+Sl(this.i8_1)|0},Ze.prototype.toString=function(){return"["+this.e8("",Xe)+"]"},Ze.$metadata$=$h("CombinedContext",[We,Ga]),Qe.prototype.b8=function(t){return this.z7_1(t)},Qe.prototype.c8=function(t){return t===this||this.a8_1===t},Qe.$metadata$=$h("AbstractCoroutineContextKey",[He]),tr.prototype.k2=function(){return this.j8_1},tr.$metadata$=$h("AbstractCoroutineContextElement",[Ue]),rr.$metadata$=$h("CoroutineSingletons",void 0,void 0,void 0,void 0,nl.prototype),cr.prototype.l8=function(t){return this.k8_1.l8(t)},cr.prototype.q4=function(){return this.k8_1.q4()},cr.prototype.m8=function(t,n){return this.k8_1.m8(t,n)},cr.$metadata$=Uh("Default",[Ga],void 0,void 0,void 0,hr.prototype),hr.prototype.q4=function(){return this.l8(32)},hr.prototype.m8=function(t,n){pr(t,n);var e=n-t|0;if(e>0||e===Ps().w_1){var r;if((e&(0|-e))===e){var i=31-It(e)|0;r=this.l8(i)}else{var o;do{var s=this.q4()>>>1|0;o=s%e|0}while(((s-o|0)+(e-1|0)|0)<0);r=o}return t+r|0}for(;;){var a=this.q4();if(t<=a&&a>>2|0,this.r8_1=this.s8_1,this.s8_1=this.t8_1,this.t8_1=this.u8_1;var n=this.v8_1;this.u8_1=n,t=t^t<<1^n^n<<4,this.v8_1=t;return this.w8_1=this.w8_1+362437|0,t+this.w8_1|0},_r.prototype.l8=function(t){return function(t,n){return(t>>>(32-n|0)|0)&(0|-n)>>31}(this.q4(),t)},_r.$metadata$=$h("XorWowRandom",[Ga],void 0,void 0,void 0,hr.prototype),dr.$metadata$=Uh("Companion"),yr.prototype.x8=function(){return this.e1_1},yr.prototype.y8=function(){return this.f1_1},yr.prototype.z8=function(t){return this.e1_1<=t&&t<=this.f1_1},yr.prototype.h=function(){return this.e1_1>this.f1_1},yr.prototype.equals=function(t){return t instanceof yr&&(!(!this.h()||!t.h())||this.e1_1===t.e1_1&&this.f1_1===t.f1_1)},yr.prototype.hashCode=function(){return this.h()?-1:Et(31,this.e1_1)+this.f1_1|0},yr.prototype.toString=function(){return this.e1_1+".."+this.f1_1},yr.$metadata$=$h("IntRange",[Cr,Sr],void 0,void 0,void 0,kr.prototype),mr.$metadata$=Uh("Companion"),gr.prototype.e9=function(t){return Ic(this.f9_1,t)<=0&&Ic(t,this.g9_1)<=0},gr.prototype.h=function(){return Ic(this.f9_1,this.g9_1)>0},gr.prototype.equals=function(t){return t instanceof gr&&(!(!this.h()||!t.h())||!!Cl(new Rc(this.f9_1),new Rc(t.f9_1))&&Cl(new Rc(this.g9_1),new Rc(t.g9_1)))},gr.prototype.hashCode=function(){var t,n;return this.h()?t=-1:(n=this.f9_1,t=Et(31,n)+this.g9_1|0),t},gr.prototype.toString=function(){return new Rc(this.f9_1)+".."+new Rc(this.g9_1)},gr.$metadata$=$h("CharRange",[Cr,Sr],void 0,void 0,void 0,zr.prototype),$r.prototype.d=function(){return this.k9_1},$r.prototype.q4=function(){var t=this.l9_1;if(t===this.j9_1){if(!this.k9_1)throw Cp();this.k9_1=!1}else{this.l9_1=this.l9_1+this.i9_1|0}return t},$r.$metadata$=$h("IntProgressionIterator",void 0,void 0,void 0,void 0,pe.prototype),br.prototype.d=function(){return this.o9_1},br.prototype.s4=function(){var t=this.p9_1;if(t===this.n9_1){if(!this.o9_1)throw Cp();this.o9_1=!1}else{this.p9_1=this.p9_1+this.m9_1|0}return _h(t)},br.$metadata$=$h("CharProgressionIterator",void 0,void 0,void 0,void 0,fe.prototype),wr.prototype.d1=function(t,n,e){return new kr(t,n,e)},wr.$metadata$=Uh("Companion"),kr.prototype.c=function(){return new $r(this.e1_1,this.f1_1,this.g1_1)},kr.prototype.h=function(){return this.g1_1>0?this.e1_1>this.f1_1:this.e1_10?this.e1_1+".."+this.f1_1+" step "+this.g1_1:this.e1_1+" downTo "+this.f1_1+" step "+(0|-this.g1_1)},kr.$metadata$=$h("IntProgression",[Fc]),jr.$metadata$=Uh("Companion"),zr.prototype.c=function(){return new br(this.f9_1,this.g9_1,this.h9_1)},zr.prototype.h=function(){return this.h9_1>0?Ic(this.f9_1,this.g9_1)>0:Ic(this.f9_1,this.g9_1)<0},zr.prototype.equals=function(t){return t instanceof zr&&(!(!this.h()||!t.h())||!(!Cl(new Rc(this.f9_1),new Rc(t.f9_1))||!Cl(new Rc(this.g9_1),new Rc(t.g9_1)))&&this.h9_1===t.h9_1)},zr.prototype.hashCode=function(){var t;if(this.h())t=-1;else{var n;n=this.f9_1;var e,r=Et(31,n);e=this.g9_1,t=Et(31,r+e|0)+this.h9_1|0}return t},zr.prototype.toString=function(){return this.h9_1>0?new Rc(this.f9_1)+".."+new Rc(this.g9_1)+" step "+this.h9_1:new Rc(this.f9_1)+" downTo "+new Rc(this.g9_1)+" step "+(0|-this.h9_1)},zr.$metadata$=$h("CharProgression",[Fc]),Cr.$metadata$=Hh("ClosedRange"),Sr.$metadata$=Hh("OpenEndRange"),qr.$metadata$=Hh("KClassifier"),Or.$metadata$=Hh("KTypeParameter",[qr]),ni.prototype.e=function(){if(-1===this.ga_1&&ti(this),0===this.ga_1)throw Cp();var t=this.ja_1,n=t instanceof yr?t:El();return this.ja_1=null,this.ga_1=-1,n},ni.prototype.d=function(){return-1===this.ga_1&&ti(this),1===this.ga_1},ni.$metadata$=$h(void 0,[bs]),ei.prototype.c=function(){return new ni(this)},ei.$metadata$=$h("DelimitedRangesSequence",[_e]),oi.$metadata$=Hh("MatchResult"),si.$metadata$=Hh("MatchGroupCollection",[Zc]),ai.$metadata$=Hh("MatchNamedGroupCollection",[si]),pi.prototype.za=function(t){var n;try{n=Mi(t,!0)}catch(n){throw n instanceof bp?$p("Invalid ISO duration string format: '"+t+"'.",n):n}return n},pi.$metadata$=Uh("Companion"),Si.prototype.hb=function(t){return $i(this.bb_1,t)},Si.prototype.ib=function(t){return function(t,n){return $i(t.bb_1,n instanceof Si?n.bb_1:El())}(this,t)},Si.prototype.toString=function(){return zi(this.bb_1)},Si.prototype.hashCode=function(){return this.bb_1.hashCode()},Si.prototype.equals=function(t){return function(t,n){if(!(n instanceof Si))return!1;var e=n instanceof Si?n.bb_1:El();return!!t.equals(e)}(this.bb_1,t)},Si.$metadata$=$h("Duration",[$s]),Ri.$metadata$=$h("DeepRecursiveScope"),Fi.$metadata$=$h("DeepRecursiveFunction"),Hi.prototype.b5=function(){return Ke()},Hi.prototype.rb=function(t){this.ob_1=null,this.pb_1=t},Hi.prototype.z4=function(t){return this.rb(t)},Hi.prototype.kb=function(t,n){var e=n;return this.ob_1=kh(e,Le)?e:El(),this.nb_1=t,nr()},Hi.prototype.qb=function(){t:for(;;){var t=this.pb_1,n=this.ob_1;if(null==n){var e=new ro(t)instanceof ro?t:El();oo(e);var r=e;return null==r||Mh(r)?r:El()}var i=n;if(Cl(Ni(),t)){var o;try{var s,a=this.mb_1,u=this.nb_1;o="function"==typeof(s=a)?s(this,u,i):a.sb(this,u,i)}catch(t){if(t instanceof Error){var c;no(),c=io(t),i.z4(c),Cs();continue t}throw t}var l=o;if(l!==nr()){var h,p=null==l||Mh(l)?l:El();no(),h=p,i.z4(h),Cs()}}else this.pb_1=Ni(),i.z4(t)}},Hi.$metadata$=$h("DeepRecursiveScopeImpl",[Le],void 0,void 0,void 0,Ri.prototype),Vi.$metadata$=Hh("Lazy"),Wi.$metadata$=$h("LazyThreadSafetyMode",void 0,void 0,void 0,void 0,nl.prototype),Ji.prototype.m2=function(){this.ub_1===Yi()&&(this.ub_1=Al(this.tb_1)(),this.tb_1=null);var t=this.ub_1;return null==t||Mh(t)?t:El()},Ji.prototype.vb=function(){return!(this.ub_1===Yi())},Ji.prototype.toString=function(){return this.vb()?el(this.m2()):"Lazy value not initialized yet."},Ji.$metadata$=$h("UnsafeLazyImpl",[Vi,Ga]),Ki.$metadata$=Uh("UNINITIALIZED_VALUE"),to.prototype.xb=function(t){return t},to.prototype.yb=function(t){return io(t)},to.$metadata$=Uh("Companion"),eo.prototype.equals=function(t){return t instanceof eo&&Cl(this.wb_1,t.wb_1)},eo.prototype.hashCode=function(){return Sl(this.wb_1)},eo.prototype.toString=function(){return"Failure("+this.wb_1+")"},eo.$metadata$=$h("Failure",[Ga]),ro.prototype.toString=function(){return(t=this.zb_1)instanceof eo?zl(t):"Success("+el(t)+")";var t},ro.prototype.hashCode=function(){return null==(t=this.zb_1)?0:Sl(t);var t},ro.prototype.equals=function(t){return function(t,n){return n instanceof ro&&!!Cl(t,n instanceof ro?n.zb_1:El())}(this.zb_1,t)},ro.$metadata$=$h("Result",[Ga]),so.$metadata$=$h("NotImplementedError",void 0,void 0,void 0,void 0,dp.prototype),ao.prototype.ac=function(){return this.j4_1},ao.prototype.bc=function(){return this.k4_1},ao.prototype.toString=function(){return"("+this.j4_1+", "+this.k4_1+")"},ao.prototype.l4=function(){return this.j4_1},ao.prototype.m4=function(){return this.k4_1},ao.prototype.hashCode=function(){var t=null==this.j4_1?0:Sl(this.j4_1);return Et(t,31)+(null==this.k4_1?0:Sl(this.k4_1))|0},ao.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof ao))return!1;var n=t instanceof ao?t:El();return!!Cl(this.j4_1,n.j4_1)&&!!Cl(this.k4_1,n.k4_1)},ao.$metadata$=$h("Pair",[Ga]),co.prototype.toString=function(){return"("+this.cc_1+", "+this.dc_1+", "+this.ec_1+")"},co.prototype.hashCode=function(){var t=null==this.cc_1?0:Sl(this.cc_1);return t=Et(t,31)+(null==this.dc_1?0:Sl(this.dc_1))|0,Et(t,31)+(null==this.ec_1?0:Sl(this.ec_1))|0},co.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof co))return!1;var n=t instanceof co?t:El();return!!Cl(this.cc_1,n.cc_1)&&!!Cl(this.dc_1,n.dc_1)&&!!Cl(this.ec_1,n.ec_1)},co.$metadata$=$h("Triple",[Ga]),po.$metadata$=Uh("Companion"),yo.prototype.kc=function(t){return _o(this.jc_1,t)},yo.prototype.ib=function(t){return function(t,n){return _o(t.jc_1,n instanceof yo?n.jc_1:El())}(this,t)},yo.prototype.toString=function(){return vo(this.jc_1)},yo.prototype.hashCode=function(){return this.jc_1},yo.prototype.equals=function(t){return function(t,n){return n instanceof yo&&t===(n instanceof yo?n.jc_1:El())}(this.jc_1,t)},yo.$metadata$=$h("UByte",[$s]),bo.prototype.d=function(){return this.mc_10},Ws.prototype.p=function(){return this.mf_1},Ws.prototype.q=function(){if(!this.o())throw Cp();var t=this;return t.mf_1=t.mf_1-1|0,this.nf_1=t.mf_1,this.tf_1.g(this.nf_1)},Ws.$metadata$=$h("ListIteratorImpl",[ks],void 0,void 0,void 0,Vs.prototype),Js.prototype.yf=function(t,n){Pn().c2(t,this.xf_1),this.vf_1.yf(this.wf_1+t|0,n);var e=this.xf_1;this.xf_1=e+1|0},Js.prototype.g=function(t){return Pn().d2(t,this.xf_1),this.vf_1.g(this.wf_1+t|0)},Js.prototype.n4=function(t){Pn().d2(t,this.xf_1);var n=this.vf_1.n4(this.wf_1+t|0),e=this.xf_1;return this.xf_1=e-1|0,n},Js.prototype.p4=function(t,n){return Pn().d2(t,this.xf_1),this.vf_1.p4(this.wf_1+t|0,n)},Js.prototype.f=function(){return this.xf_1},Js.prototype.kf=function(){return this.vf_1.kf()},Js.$metadata$=$h("SubList",[Ra],void 0,void 0,void 0,Ks.prototype),Ks.prototype.a=function(t){return this.kf(),this.yf(this.f(),t),!0},Ks.prototype.s7=function(){this.kf(),this.zf(0,this.f())},Ks.prototype.c=function(){return new Vs(this)},Ks.prototype.i=function(t){return this.j(t)>=0},Ks.prototype.j=function(t){var n=0,e=Kn(this);if(n<=e)do{var r=n;if(n=n+1|0,Cl(this.g(r),t))return r}while(r!==e);return-1},Ks.prototype.i2=function(t){var n=Kn(this);if(0<=n)do{var e=n;if(n=n+-1|0,Cl(this.g(e),t))return e}while(0<=n);return-1},Ks.prototype.n=function(t){return new Ws(this,t)},Ks.prototype.ag=function(t,n){return new Js(this,t,n)},Ks.prototype.zf=function(t,n){var e=this.n(t),r=n-t|0,i=0;if(i=0){var r,i=this,o=this.ji_1;r=n.substring(0,e),i.ji_1=o+r,this.ki();var s=e+1|0;n=n.substring(s)}this.ji_1=this.ji_1+n},Ua.prototype.ki=function(){console.log(this.ji_1),this.ji_1=""},Ua.$metadata$=$h("BufferedOutputToConsoleLog",void 0,void 0,void 0,void 0,Va.prototype),Va.prototype.fi=function(t){var n,e=this,r=this.ji_1;n=String(t),e.ji_1=r+n},Va.$metadata$=$h("BufferedOutput",void 0,void 0,void 0,void 0,Fa.prototype),Ja.prototype.b5=function(){return this.li_1.b5()},Ja.prototype.z4=function(t){var n=this.mi_1;if(n===ir())this.mi_1=t;else{if(n!==nr())throw kp("Already resumed");this.mi_1=or(),this.li_1.z4(t)}},Ja.prototype.ni=function(){if(this.mi_1===ir())return this.mi_1=nr(),nr();var t,n=this.mi_1;if(n===or())t=nr();else{if(n instanceof eo)throw n.wb_1;t=n}return t},Ja.$metadata$=$h("SafeContinuation",[Le]),Ya.$metadata$=$h("CancellationException",void 0,void 0,void 0,void 0,zp.prototype),Ga.$metadata$=Hh("Serializable"),nu.$metadata$=Hh("KCallable"),eu.$metadata$=Hh("KClass",[qr]),ru.prototype.qi=function(){return this.pi_1},ru.prototype.equals=function(t){return t instanceof ru&&Cl(this.qi(),t.qi())},ru.prototype.hashCode=function(){var t=this.ri(),n=null==t?null:ql(t);return null==n?0:n},ru.prototype.toString=function(){return"class "+this.ri()},ru.$metadata$=$h("KClassImpl",[eu]),iu.prototype.equals=function(t){return t instanceof iu&&!!ru.prototype.equals.call(this,t)&&this.ui_1===t.ui_1},iu.prototype.ri=function(){return this.ui_1},iu.prototype.si=function(t){return this.vi_1(t)},iu.$metadata$=$h("PrimitiveKClassImpl",void 0,void 0,void 0,void 0,ru.prototype),ou.prototype.ri=function(){return this.xi_1},ou.prototype.si=function(t){return!1},ou.prototype.qi=function(){throw Ip("There's no native JS class for Nothing type")},ou.prototype.equals=function(t){return t===this},ou.prototype.hashCode=function(){return 0},ou.$metadata$=Uh("NothingKClassImpl",void 0,void 0,void 0,void 0,ru.prototype),au.prototype.ri=function(){throw kp("Unknown simpleName for ErrorKClass")},au.prototype.si=function(t){throw kp("Can's check isInstance on ErrorKClass")},au.prototype.equals=function(t){return t===this},au.prototype.hashCode=function(){return 0},au.$metadata$=$h("ErrorKClass",[eu]),uu.prototype.ri=function(){return this.zi_1},uu.prototype.si=function(t){return Vh(t,this.qi())},uu.$metadata$=$h("SimpleKClassImpl",void 0,void 0,void 0,void 0,ru.prototype),cu.$metadata$=Hh("KProperty1",[hu]),lu.$metadata$=Hh("KMutableProperty1",[cu,fu]),hu.$metadata$=Hh("KProperty",[nu]),pu.$metadata$=Hh("KMutableProperty0",[_u,fu]),fu.$metadata$=Hh("KMutableProperty",[hu]),_u.$metadata$=Hh("KProperty0",[hu]),du.$metadata$=Hh("KType"),vu.prototype.aj=function(){return this.dj_1},vu.prototype.bj=function(){return this.ej_1},vu.prototype.cj=function(){return this.fj_1},vu.prototype.equals=function(t){return!!(t instanceof vu&&Cl(this.dj_1,t.dj_1)&&Cl(this.ej_1,t.ej_1))&&this.fj_1===t.fj_1},vu.prototype.hashCode=function(){return Et(Et(Sl(this.dj_1),31)+Sl(this.ej_1)|0,31)+(0|this.fj_1)|0},vu.prototype.toString=function(){var t=this.dj_1,n=kh(t,eu)?t:null,e=null==n?zl(this.dj_1):null!=n.ri()?n.ri():"(non-denotable type)",r=this.ej_1.h()?"":tn(this.ej_1,", ","<",">",0,null,null,56),i=this.fj_1?"?":"";return rl(e,r)+i},vu.$metadata$=$h("KTypeImpl",[du]),Tu.prototype.ak=function(){return this.gj_1},Tu.prototype.bk=function(){return this.hj_1},Tu.prototype.ck=function(){return this.ij_1},Tu.prototype.dk=function(){return this.jj_1},Tu.prototype.ek=function(){return this.kj_1},Tu.prototype.fk=function(){return this.lj_1},Tu.prototype.gk=function(){return this.mj_1},Tu.prototype.hk=function(){return this.nj_1},Tu.prototype.ik=function(){return this.oj_1},Tu.prototype.jk=function(){return this.pj_1},Tu.prototype.kk=function(){return this.qj_1},Tu.prototype.lk=function(){return this.rj_1},Tu.prototype.mk=function(){return this.sj_1},Tu.prototype.nk=function(){return this.tj_1},Tu.prototype.ok=function(){return this.uj_1},Tu.prototype.pk=function(){return this.vj_1},Tu.prototype.qk=function(){return this.wj_1},Tu.prototype.rk=function(){return this.xj_1},Tu.prototype.sk=function(){return this.yj_1},Tu.prototype.tk=function(){return this.zj_1},Tu.prototype.functionClass=function(t){var n,e,r=yu()[t];if(null==r){var i=new iu(Function,"Function"+t,(e=t,function(t){return"function"==typeof t&&t.length===e}));yu()[t]=i,n=i}else n=r;return n},Tu.$metadata$=Uh("PrimitiveClasses"),Object.defineProperty(Tu.prototype,"anyClass",{configurable:!0,get:Tu.prototype.ak}),Object.defineProperty(Tu.prototype,"numberClass",{configurable:!0,get:Tu.prototype.bk}),Object.defineProperty(Tu.prototype,"nothingClass",{configurable:!0,get:Tu.prototype.ck}),Object.defineProperty(Tu.prototype,"booleanClass",{configurable:!0,get:Tu.prototype.dk}),Object.defineProperty(Tu.prototype,"byteClass",{configurable:!0,get:Tu.prototype.ek}),Object.defineProperty(Tu.prototype,"shortClass",{configurable:!0,get:Tu.prototype.fk}),Object.defineProperty(Tu.prototype,"intClass",{configurable:!0,get:Tu.prototype.gk}),Object.defineProperty(Tu.prototype,"floatClass",{configurable:!0,get:Tu.prototype.hk}),Object.defineProperty(Tu.prototype,"doubleClass",{configurable:!0,get:Tu.prototype.ik}),Object.defineProperty(Tu.prototype,"arrayClass",{configurable:!0,get:Tu.prototype.jk}),Object.defineProperty(Tu.prototype,"stringClass",{configurable:!0,get:Tu.prototype.kk}),Object.defineProperty(Tu.prototype,"throwableClass",{configurable:!0,get:Tu.prototype.lk}),Object.defineProperty(Tu.prototype,"booleanArrayClass",{configurable:!0,get:Tu.prototype.mk}),Object.defineProperty(Tu.prototype,"charArrayClass",{configurable:!0,get:Tu.prototype.nk}),Object.defineProperty(Tu.prototype,"byteArrayClass",{configurable:!0,get:Tu.prototype.ok}),Object.defineProperty(Tu.prototype,"shortArrayClass",{configurable:!0,get:Tu.prototype.pk}),Object.defineProperty(Tu.prototype,"intArrayClass",{configurable:!0,get:Tu.prototype.qk}),Object.defineProperty(Tu.prototype,"longArrayClass",{configurable:!0,get:Tu.prototype.rk}),Object.defineProperty(Tu.prototype,"floatArrayClass",{configurable:!0,get:Tu.prototype.sk}),Object.defineProperty(Tu.prototype,"doubleArrayClass",{configurable:!0,get:Tu.prototype.tk}),Fu.$metadata$=Hh("Appendable"),Wu.prototype.de=function(){return this.fa_1.length},Wu.prototype.ee=function(t){var n=this.fa_1;if(!(t>=0&&t<=Hr(n)))throw Bp("index: "+t+", length: "+this.de()+"}");return yl(n,t)},Wu.prototype.fe=function(t,n){return this.fa_1.substring(t,n)},Wu.prototype.q9=function(t){return this.fa_1=this.fa_1+new Rc(t),this},Wu.prototype.b=function(t){return this.fa_1=this.fa_1+el(t),this},Wu.prototype.uk=function(t,n,e){var r=t;return this.gb(null==r?"null":r,n,e)},Wu.prototype.db=function(t){return this.fa_1=this.fa_1+el(t),this},Wu.prototype.eb=function(t){var n=this,e=this.fa_1,r=t;return n.fa_1=e+(null==r?"null":r),this},Wu.prototype.fb=function(t,n){Pn().c2(t,this.de());var e,r=this.fa_1.substring(0,t)+new Rc(n);return e=this.fa_1.substring(t),this.fa_1=r+e,this},Wu.prototype.vk=function(t){if(t<0)throw mp("Negative new length: "+t+".");if(t<=this.de()){var n;n=this.fa_1.substring(0,t),this.fa_1=n}else{var e=this.de();if(egl(t))throw Bp("Start index out of bounds: "+n+", input length: "+gl(t));return ac(this.y9_1,zl(t),n,this.y9_1)},oc.prototype.dl=function(t,n,e,r){return 0!=(2&e)&&(n=0),this.cl(t,n)},oc.prototype.el=function(t,n){if(n<0||n>gl(t))throw Bp("Start index out of bounds: "+n+", input length: "+gl(t));return e=this,r=t,i=n,new we((function(){return e.cl(r,i)}),rc);var e,r,i},oc.prototype.fl=function(t,n,e,r){return 0!=(2&e)&&(n=0),this.el(t,n)},oc.prototype.ca=function(t,n){if(!Wr(n,92,!1,2)&&!Wr(n,36,!1,2)){var e=zl(t),r=this.y9_1;return e.replace(r,n)}return this.gl(t,ic(n))},oc.prototype.gl=function(t,n){var e=this.dl(t,0,2,null);if(null==e)return zl(t);var r=0,i=gl(t),o=Hu();do{var s=Al(e);o.uk(t,r,s.qa().x8()),o.b(n(s)),r=s.qa().y8()+1|0,e=s.e()}while(r>>e|0|t.b1_1<<(32-e|0),t.b1_1>>>e|0):new Ll(32===e?t.b1_1:t.b1_1>>>(e-32|0)|0,0)}(this,t)},Ll.prototype.wc=function(t){return new Ll(this.a1_1&t.a1_1,this.b1_1&t.b1_1)},Ll.prototype.en=function(t){return new Ll(this.a1_1|t.a1_1,this.b1_1|t.b1_1)},Ll.prototype.ab=function(t){return new Ll(this.a1_1^t.a1_1,this.b1_1^t.b1_1)},Ll.prototype.dn=function(){return new Ll(~this.a1_1,~this.b1_1)},Ll.prototype.fn=function(){return lh(this.a1_1)},Ll.prototype.gn=function(){return ph(this.a1_1)},Ll.prototype.va=function(){return this.a1_1},Ll.prototype.oi=function(){return Xl(this)},Ll.prototype.valueOf=function(){return this.oi()},Ll.prototype.equals=function(t){return t instanceof Ll&&Zl(this,t)},Ll.prototype.hashCode=function(){return t=this,ch(),t.a1_1^t.b1_1;var t},Ll.prototype.toString=function(){return Ql(this,10)},Ll.$metadata$=$h("Long",[$s],void 0,void 0,void 0,js.prototype),Zh.$metadata$=Uh("Digit"),tp.$metadata$=Uh("Letter"),ep.$metadata$=Uh("OtherLowercase"),op.prototype.b5=function(){return Al(this.o7_1)},op.prototype.t7=function(){var t,n=this.p7_1;if(null==n){var e=this.b5().y7(Re()),r=null==e?null:e.w7(this),i=null==r?this:r;this.p7_1=i,t=i}else t=n;return t},op.prototype.u7=function(t){var n,e=this;if(Zi(t))n=null;else{var r=t;n=null==r||Mh(r)?r:El()}for(var i=n,o=Qi(t);;){var s=e;null==o?s.l7_1=i:(s.j7_1=s.k7_1,s.m7_1=o);try{var a=s.q7();if(a===nr())return Cs();i=a,o=null}catch(t){i=null,o=t}ip(s);var u=Al(s.i7_1);if(!(u instanceof op)){if(null!=o){var c,l=Al(o);no(),c=io(l),u.z4(c),Cs()}else{var h,p=i;no(),h=p,u.z4(h),Cs()}return Cs()}e=u,Cs()}},op.prototype.z4=function(t){return this.u7(t)},op.$metadata$=$h("CoroutineImpl",[Le]),sp.prototype.b5=function(){throw kp("This continuation is already complete")},sp.prototype.u7=function(t){throw kp("This continuation is already complete")},sp.prototype.z4=function(t){return this.u7(t)},sp.prototype.toString=function(){return"This continuation is already complete"},sp.$metadata$=Uh("CompletedContinuation",[Le]),cp.prototype.q7=function(){if(null!=this.m7_1)throw this.m7_1;var t;return"function"==typeof(t=this.wn_1)?t(this.xn_1,this.vn_1):this.wn_1.r7(this.xn_1,this.vn_1)},cp.$metadata$=$h(void 0,void 0,void 0,void 0,void 0,op.prototype),lp.prototype.q7=function(){if(null!=this.m7_1)throw this.m7_1;return this.go_1()},lp.$metadata$=$h(void 0,void 0,void 0,void 0,void 0,op.prototype),fp.$metadata$=$h("Exception",void 0,void 0,void 0,void 0,Error.prototype),dp.$metadata$=$h("Error",void 0,void 0,void 0,void 0,Error.prototype),bp.$metadata$=$h("IllegalArgumentException",void 0,void 0,void 0,void 0,Ap.prototype),zp.$metadata$=$h("IllegalStateException",void 0,void 0,void 0,void 0,Ap.prototype),qp.$metadata$=$h("NoSuchElementException",void 0,void 0,void 0,void 0,Ap.prototype),Ap.$metadata$=$h("RuntimeException",void 0,void 0,void 0,void 0,fp.prototype),Dp.$metadata$=$h("UnsupportedOperationException",void 0,void 0,void 0,void 0,Ap.prototype),Tp.$metadata$=$h("ConcurrentModificationException",void 0,void 0,void 0,void 0,Ap.prototype),Lp.$metadata$=$h("IndexOutOfBoundsException",void 0,void 0,void 0,void 0,Ap.prototype),Rp.$metadata$=$h("AssertionError",void 0,void 0,void 0,void 0,dp.prototype),Hp.$metadata$=$h("ArithmeticException",void 0,void 0,void 0,void 0,Ap.prototype),Vp.$metadata$=$h("NumberFormatException",void 0,void 0,void 0,void 0,bp.prototype),Jp.$metadata$=$h("NullPointerException",void 0,void 0,void 0,void 0,Ap.prototype),Yp.$metadata$=$h("NoWhenBranchMatchedException",void 0,void 0,void 0,void 0,Ap.prototype),Xp.$metadata$=$h("ClassCastException",void 0,void 0,void 0,void 0,Ap.prototype),Qp.$metadata$=$h("UninitializedPropertyAccessException",void 0,void 0,void 0,void 0,Ap.prototype),Hh("Function1"),Hh("Function0"),sf.$metadata$=Hh("SuspendFunction1"),af.$metadata$=Hh("SuspendFunction2"),Ze.prototype.f8=Tt,tr.prototype.y7=Bt,tr.prototype.e8=Lt,tr.prototype.d8=Nt,tr.prototype.f8=Tt,Ca.prototype.th=function(){var t=Object.create(null);return t.foo=1,ef(t,"foo"),t},V=null,qt=0,t.$_$=t.$_$||{},t.$_$.a=function(t,n,e){return new vu(t,Yh(n),e)},t.$_$.b=function(t,n){if(t instanceof ru&&n instanceof ru){var e,r=n.qi().$metadata$,i=null==r?null:r.associatedObjectKey;if(null==(e=null==i?null:i))return null;var o=e,s=t.qi().$metadata$,a=null==s?null:s.associatedObjects;if(null==a)return null;var u=a[o];return null==u?null:u()}return null},t.$_$.c=function(t){var n;switch(typeof t){case"string":n=Bu().qj_1;break;case"number":n=nf(t,0)===t?Bu().mj_1:Bu().oj_1;break;case"boolean":n=Bu().jj_1;break;case"function":var e;e=t,n=Bu().functionClass(e.length);break;default:var r;if(Ih(t))r=Bu().sj_1;else if(Bh(t))r=Bu().tj_1;else if(Dh(t))r=Bu().uj_1;else if(Th(t))r=Bu().vj_1;else if(Lh(t))r=Bu().wj_1;else if(Rh(t))r=Bu().xj_1;else if(Nh(t))r=Bu().yj_1;else if(Fh(t))r=Bu().zj_1;else if(kh(t,eu))r=Lu(eu);else if(Ph(t))r=Bu().pj_1;else{var i=Object.getPrototypeOf(t).constructor;r=i===Object?Bu().gj_1:i===Error?Bu().rj_1:Nu(i)}n=r}return n},t.$_$.d=Lu,t.$_$.e=function(t){var n=0,e=0,r=t.length-1|0;if(e<=r)do{var i=e;e=e+1|0,n=n+t[i].length|0}while(i!==r);var o=t[0],s=new o.constructor(n);if(null!=o.$type$){var a=o.$type$;s.$type$=a}n=0;var u=0,c=t.length-1|0;if(u<=c)do{var l=u;u=u+1|0;var h=t[l],p=0,f=h.length-1|0;if(p<=f)do{var _=p;p=p+1|0;var d=n;n=d+1|0,s[d]=h[_]}while(_!==f)}while(l!==c);return s},t.$_$.f=function(){return function(){if(et)return Cs();et=!0,new sc("IGNORE_CASE",0,"i"),nt=new sc("MULTILINE",1,"m")}(),nt},t.$_$.g=qc,t.$_$.h=function(){return function(){if(O)return Cs();O=!0,new Wi("SYNCHRONIZED",0),q=new Wi("PUBLICATION",1),new Wi("NONE",2)}(),q},t.$_$.i=function(t,n){return null==t||Mh(t)?t:El()},t.$_$.j=function(t,n,e,r,i,o){return 0!=(2&i)&&(e=0),0!=(4&i)&&(r=t.length),function(t,n,e,r){Pn().e2(e,r,t.length),t.fill(n,e,r)}(t,n,e,r)},t.$_$.k=tn,t.$_$.l=Ut,t.$_$.m=Kr,t.$_$.n=ii,t.$_$.o=function(t,n,e,r,i,o){return 0!=(4&i)&&(r=!1),function(t,n,e,r){var i=new RegExp(ec().al(n),r?"gui":"gu"),o=ec().bl(e);return t.replace(i,o)}(t,n,e,r)},t.$_$.p=function(t,n,e,r,i,o){return 0!=(2&i)&&(e=!1),0!=(4&i)&&(r=0),Lr(t,n,e,r)},t.$_$.q=yc,t.$_$.r=ia,t.$_$.s=ra,t.$_$.t=oa,t.$_$.u=ya,t.$_$.v=da,t.$_$.w=function(t){return function(t,n){return _a(n),n.rg(t),n}(t,Object.create(ma.prototype))},t.$_$.x=$a,t.$_$.y=function(){return t=Object.create(wa.prototype),ea.call(t),wa.call(t),t.hh_1=da(),t;var t},t.$_$.z=function(t){return function(t,n){return ea.call(n),wa.call(n),n.hh_1=ya(t.f()),n.j1(t),n}(t,Object.create(wa.prototype))},t.$_$.a1=Aa,t.$_$.b1=function(t){return function(t,n){return _a(n),Da.call(n),n.e4_1=da(),n.rg(t),n}(t,Object.create(Da.prototype))},t.$_$.c1=Ta,t.$_$.d1=function(t){return function(t,n){return ba(Aa(),n),Na.call(n),n.j1(t),n}(t,Object.create(Na.prototype))},t.$_$.e1=function t(n){var e=function(t,n){return xp(t,n),Ya.call(n),n}(n,Object.create(Ya.prototype));return Ol(e,t),e},t.$_$.f1=Ka,t.$_$.g1=function t(n,e){var r=Ka(n,e,Object.create(Ya.prototype));return Ol(r,t),r},t.$_$.h1=function(t){return function(t,n){return Ja.call(n,t,ir()),n}(t,Object.create(Ja.prototype))},t.$_$.i1=function(t){return function(t,n){return oc.call(n,t,Pe()),n}(t,Object.create(oc.prototype))},t.$_$.j1=function(t,n){return function(t,n,e){return oc.call(e,t,Ls(n)),e}(t,n,Object.create(oc.prototype))},t.$_$.k1=Hu,t.$_$.l1=Vu,t.$_$.m1=function t(){var n,e=(Op(n=Object.create(Tp.prototype)),Tp.call(n),n);return Ol(e,t),e},t.$_$.n1=function t(n){var e=function(t,n){return Pp(t,n),Tp.call(n),n}(n,Object.create(Tp.prototype));return Ol(e,t),e},t.$_$.o1=function(t,n,e){return Pl(e,t,n),dp.call(e),e},t.$_$.p1=vp,t.$_$.q1=yp,t.$_$.r1=mp,t.$_$.s1=gp,t.$_$.t1=wp,t.$_$.u1=kp,t.$_$.v1=function t(n,e){var r=jp(n,e,Object.create(zp.prototype));return Ol(r,t),r},t.$_$.w1=Bp,t.$_$.x1=Cp,t.$_$.y1=Mp,t.$_$.z1=function t(n,e){var r=Mp(n,e,Object.create(Ap.prototype));return Ol(r,t),r},t.$_$.a2=Ep,t.$_$.b2=Ip,t.$_$.c2=function(t){var n=Vu();yi(t)&&n.q9(45),n.eb("PT");var e=gi(t),r=ji(e),i=bi(e),o=wi(e),s=xi(e),a=r;mi(t)&&(a=new Ll(1316134911,2328));var u=!a.equals(new Ll(0,0)),c=0!==o||!(0===s),l=0!==i||!!c&&u;return u&&n.db(a).q9(72),l&&n.db(i).q9(77),(c||!u&&!l)&&(Ci(n,0,o,s,9,"S",!0),Cs()),n.toString()},t.$_$.d2=function(t){return function(t){var n,e=ci(t);if(li(t))n=e;else{var r,i;if(Bl(),r=new Ll(-1,2147483647).s9(dh(1e6)),e.c1(r)>0)Bl(),n=new Ll(-1,2147483647);else Bl(),i=new Ll(0,-2147483648).s9(dh(1e6)),e.c1(i)<0?(Bl(),n=new Ll(0,-2147483648)):n=Ii(e)}return n}(t)},t.$_$.e2=Ec,t.$_$.f2=Dc,t.$_$.g2=Tc,t.$_$.h2=Bc,t.$_$.i2=Gi,t.$_$.j2=Qi,t.$_$.k2=Zi,t.$_$.l2=Xi,t.$_$.m2=lo,t.$_$.n2=ho,t.$_$.o2=vo,t.$_$.p2=mo,t.$_$.q2=function(t){return new Int8Array(t)},t.$_$.r2=function(t,n){return t[n]},t.$_$.s2=function(t,n,e){var r;r=e,t[n]=r},t.$_$.t2=$o,t.$_$.u2=go,t.$_$.v2=jo,t.$_$.w2=zo,t.$_$.x2=Oo,t.$_$.y2=function(t){return new Int32Array(t)},t.$_$.z2=Mo,t.$_$.a3=function(t,n){return t[n]},t.$_$.b3=function(t,n,e){var r;r=e,t[n]=r},t.$_$.c3=Eo,t.$_$.d3=Ao,t.$_$.e3=Lo,t.$_$.f3=No,t.$_$.g3=Uo,t.$_$.h3=function(t){return ul(t)},t.$_$.i3=Wo,t.$_$.j3=function(t,n){return t[n]},t.$_$.k3=function(t,n,e){var r;r=e,t[n]=r},t.$_$.l3=Ko,t.$_$.m3=Jo,t.$_$.n3=Qo,t.$_$.o3=ts,t.$_$.p3=is,t.$_$.q3=function(t){return new Int16Array(t)},t.$_$.r3=ss,t.$_$.s3=function(t,n){return t[n]},t.$_$.t3=function(t,n,e){var r;r=e,t[n]=r},t.$_$.u3=us,t.$_$.v3=as,t.$_$.w3=Re,t.$_$.x3=Ke,t.$_$.y3=function(){return null==U&&new Ts,U},t.$_$.z3=function(){return null==B&&new Ss,B},t.$_$.a4=Is,t.$_$.b4=As,t.$_$.c4=Ps,t.$_$.d4=function(){return null==L&&new qs,L},t.$_$.e4=function(){return null==H&&new Ds,H},t.$_$.f4=lr,t.$_$.g4=Bu,t.$_$.h4=fi,t.$_$.i4=Nc,t.$_$.j4=Bl,t.$_$.k4=no,t.$_$.l4=fo,t.$_$.m4=So,t.$_$.n4=Fo,t.$_$.o4=es,t.$_$.p4=Cs,t.$_$.q4=bn,t.$_$.r4=Mn,t.$_$.s4=Rn,t.$_$.t4=Ks,t.$_$.u4=Un,t.$_$.v4=ua,t.$_$.w4=Zc,t.$_$.x4=ma,t.$_$.y4=wa,t.$_$.z4=Fc,t.$_$.a5=bs,t.$_$.b5=Da,t.$_$.c5=Na,t.$_$.d5=xs,t.$_$.e5=Hc,t.$_$.f5=Yc,t.$_$.g5=Gc,t.$_$.h5=Xc,t.$_$.i5=ks,t.$_$.j5=Vc,t.$_$.k5=Kc,t.$_$.l5=Uc,t.$_$.m5=Wc,t.$_$.n5=function(t,n){return t.j1(Yh(n))},t.$_$.o5=le,t.$_$.p5=function(t,n,e,r,i){Pn().e2(r,i,t.length);var o=i-r|0;if(Pn().e2(e,e+o|0,n.length),Dt(n)&&Dt(t)){var s=t.subarray(r,i);n.set(s,e)}else if(t!==n||e<=r){var a=0;if(a0&&n>0))throw mp(zl(t!==n?"Both size "+t+" and step "+n+" must be greater than zero.":"size "+t+" must be greater than zero."))}(n,e),kh(t,Ra)&&kh(t,Hc)){var i=t.f(),o=ia((i/e|0)+(0==(i%e|0)?0:1)|0),s=0;t:for(;0<=s&&s=0))throw mp(zl("Invalid new array size: "+n+"."));return Il(t,new Int16Array(n))},t.$_$.x5=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));var e=Dl(t,n,new Ll(0,0));return e.$type$="LongArray",e},t.$_$.y5=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));var e=Dl(t,n,!1);return e.$type$="BooleanArray",e},t.$_$.z5=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));var e=Il(t,al(n));return e.$type$="CharArray",e},t.$_$.a6=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));return Il(t,new Int8Array(n))},t.$_$.b6=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));return Il(t,new Float64Array(n))},t.$_$.c6=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));return Il(t,new Float32Array(n))},t.$_$.d6=Jh,t.$_$.e6=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));return Il(t,new Int32Array(n))},t.$_$.f6=Fs,t.$_$.g6=Vn,t.$_$.h6=se,t.$_$.i6=Pe,t.$_$.j6=Wh,t.$_$.k6=function(t){return t.h()?null:t.g(0)},t.$_$.l6=function(t){if(kh(t,Hc))return t.h()?null:t.g(0);var n=t.c();return n.d()?n.e():null},t.$_$.m6=Zt,t.$_$.n6=function(t){if(kh(t,Hc))return Zt(t);var n=t.c();if(!n.d())throw Sp("Collection is empty.");return n.e()},t.$_$.o6=function(t){for(var n=ra(),e=t.c();e.d();)le(n,e.e());return n},t.$_$.p6=function(t,n){return function(t,n){if(kh(t,oe))return t.u3(n);var e=t.a3(n);if(null==e&&!t.u2(n))throw Sp("Key "+n+" is missing in the map.");return null==e||Mh(e)?e:El()}(t,n)},t.$_$.q6=Rt,t.$_$.r6=function(t){return new yr(0,function(t){return t.length-1|0}(t))},t.$_$.s6=function(t){return new yr(0,Vt(t))},t.$_$.t6=function(t){return t.length-1|0},t.$_$.u6=Kn,t.$_$.v6=Ft,t.$_$.w6=function(t){return t.h()?null:t.g(t.f()-1|0)},t.$_$.x6=function(t){if(t.h())throw Sp("List is empty.");return t.g(Kn(t))},t.$_$.y6=Ns,t.$_$.z6=function(t){return t.length>0?Yh(t):Vn()},t.$_$.a7=function(t){return t.length>0?(n=t,ce(e=Ia(t.length),n),e):se();var n,e},t.$_$.b7=Wn,t.$_$.c7=function(t,n){return function(t,n){var e=t.slice();e.length=e.length+n.f()|0,void 0!==t.$type$&&(e.$type$=t.$type$);for(var r=t.length,i=n.c();i.d();){var o=i.e(),s=r;r=s+1|0,e[s]=o}return e}(t,n)},t.$_$.d7=function(t,n){var e=function(t){return kh(t,Zc)?t.f():null}(n),r=null==e?null:t.f()+e|0,i=La(null==r?Et(t.f(),2):r);return i.j1(t),le(i,n),i},t.$_$.e7=function(t,n){return function(t,n,e){if(!kh(t,Ra))return he(kh(t,Qc)?t:El(),n,e);var r=0,i=0,o=Kn(t);if(i<=o)do{var s=i;i=i+1|0;var a=t.g(s);n(a)!==e&&(r!==s&&t.p4(r,a),r=r+1|0)}while(s!==o);if(r0?function(t){switch(t.length){case 0:return Pe();case 1:return Ls(t[0]);default:return Gt(t,La(t.length))}}(t):Pe()},t.$_$.i7=function(t){return 1===t.f()?t.g(0):null},t.$_$.j7=function(t,n){!function(t,n){if(t.f()<=1)return Cs();var e=Fs(t);!function(t,n){if(function(){if(null!=V)return V;V=!1;var t=[],n=0;if(n<600)do{var e=n;n=n+1|0,t.push(e)}while(n<600);var r=la;t.sort(r);var i=1,o=t.length;if(i=u)return!1}while(iPs().w_1?t.m8(n.e1_1-1|0,n.f1_1)+1|0:t.q4()}(n,t)}catch(t){throw t instanceof bp?Sp(t.message):t}},t.$_$.ka=function(t,n){return function(t,n){if(!t)throw mp("Step must be positive, was: "+zl(n)+".")}(n>0,n),xr().d1(t.e1_1,t.f1_1,t.g1_1>0?n:0|-n)},t.$_$.la=cn,t.$_$.ma=eu,t.$_$.na=pu,t.$_$.oa=lu,t.$_$.pa=cu,t.$_$.qa=Or,t.$_$.ra=de,t.$_$.sa=function(t){var n=t.c();if(!n.d())return null;for(var e=n.e();n.d();)e=n.e();return e},t.$_$.ta=function(t){return new ge(t)},t.$_$.ua=function(t,n,e){if(null==t)return null==n;if(null==n)return!1;if(!e)return t==n;if(t.length!==n.length)return!1;var r=0,i=t.length;if(ri)return 0;var s=3&o;if(0===s){var a=2,u=r,c=0;if(c<=1)do{if(c=c+1|0,(u=u+(o>>a&127)|0)>n)return 3;if((u=u+(o>>(a=a+7|0)&127)|0)>n)return 0;a=a+7|0}while(c<=1);return 3}if(o<=7)return s;var l=n-r|0;return o>>Et(2,o<=31?l%2|0:l)&3}(t)||function(t){var n=Xh(rp().ln_1,t);return n>=0&&t<(rp().ln_1[n]+rp().mn_1[n]|0)}(Tc(t))}(t)},t.$_$.xa=function(t){var n;switch(gl(t)){case 0:throw Sp("Char sequence is empty.");case 1:n=yl(t,0);break;default:throw mp("Char sequence has more than one element.")}return n},t.$_$.ya=function(t){return un(t)},t.$_$.za=function(t){return null!=t&&"true"===t.toLowerCase()},t.$_$.ab=function(t){var n=+t;return Za(n)&&!tc(t)||0===n&&mc(t)?null:n},t.$_$.bb=Xu,t.$_$.cb=Dr,t.$_$.db=Qu,t.$_$.eb=Ir,t.$_$.fb=Zu,t.$_$.gb=function(t){var n,e=function(t){return function(t,n){var e=_s(t,n);if(null==(null==e?null:new Po(e)))return null;var r=e;fo();var i=255;return ds(r,i)>0?null:lh(r)}(t,10)}(t);return null==(null==e?null:new yo(e))?Tr(t):n=e,n},t.$_$.hb=function(t){var n,e=function(t){return _s(t,10)}(t);return null==(null==e?null:new Po(e))?Tr(t):n=e,n},t.$_$.ib=fs,t.$_$.jb=function(t){var n,e=fs(t);return null==(null==e?null:new Vo(e))?Tr(t):n=e,n},t.$_$.kb=function(t){var n,e=function(t){return function(t,n){var e=_s(t,n);if(null==(null==e?null:new Po(e)))return null;var r=e;es();var i=65535;return ds(r,i)>0?null:ph(r)}(t,10)}(t);return null==(null==e?null:new os(e))?Tr(t):n=e,n},t.$_$.lb=function(t){return function(t,n){for(var e=function(t){return vn(Fr(t))}(t),r=ra(),i=e.c();i.d();){var o=i.e();Br(o)&&r.a(o)}for(var s=r,a=ia(ne(s,10)),u=s.c();u.d();){var c=u.e();a.a(Ar(c))}for(var l=function(t){var n=t.c();if(!n.d())return null;for(var e=n.e();n.d();){var r=n.e();wl(e,r)>0&&(e=r)}return e}(a),h=null==l?0:l,p=t.length+Et(n.length,e.f())|0,f=function(t){return 0===gl(t)?Er:(n=t,function(t){return n+t});var n}(n),_=Kn(e),d=ra(),v=0,y=e.c();y.d();){var m=y.e(),g=v;v=g+1|0;var $,b,w,x=Rs(g);0!==x&&x!==_||!mc(m)?$=null==(w=null==(b=gn(m,h))?null:f(b))?m:w:$=null;var k=$;null==k||(d.a(k),Cs())}return function(t,n,e,r,i,o,s,a,u,c){return 0!=(2&u)&&(e=", "),0!=(4&u)&&(r=""),0!=(8&u)&&(i=""),0!=(16&u)&&(o=-1),0!=(32&u)&&(s="..."),0!=(64&u)&&(a=null),en(t,n,e,r,i,o,s,a)}(d,Hu(p),"\n",null,null,0,null,null,124).toString()}(t,"")},t.$_$.mb=function(t){var n=0,e=gl(t)-1|0,r=!1;t:for(;n<=e;){var i=Ku(yl(t,r?e:n));if(r){if(!i)break t;e=e-1|0}else i?n=n+1|0:r=!0}return $l(t,n,e+1|0)},t.$_$.nb=Si,t.$_$.ob=qi,t.$_$.pb=ms,t.$_$.qb=Rc,t.$_$.rb=Bs,t.$_$.sb=Fi,t.$_$.tb=Ri,t.$_$.ub=nl,t.$_$.vb=dp,t.$_$.wb=fp,t.$_$.xb=bp,t.$_$.yb=Ll,t.$_$.zb=ao,t.$_$.ac=ro,t.$_$.bc=Ap,t.$_$.cc=El,t.$_$.dc=function(){throw wp()},t.$_$.ec=co,t.$_$.fc=ko,t.$_$.gc=yo,t.$_$.hc=Bo,t.$_$.ic=Po,t.$_$.jc=Zo,t.$_$.kc=Vo,t.$_$.lc=ps,t.$_$.mc=os,t.$_$.nc=zs,t.$_$.oc=Dp,t.$_$.pc=function(t,n){if(t!==n){var e=t._suppressed;null==e?t._suppressed=Wn([n]):e.a(n)}},t.$_$.qc=function(t){return t},t.$_$.rc=function(t){var n=t;return(65535&(n=(16711935&(n=(252645135&(n=(858993459&(n=(1431655765&n)+(1431655765&(n>>>1|0))|0))+(858993459&(n>>>2|0))|0))+(252645135&(n>>>4|0))|0))+(16711935&(n>>>8|0))|0))+(n>>>16|0)|0},t.$_$.sc=function(t){var n,e=t.a1_1;return 0===e?(Ps(),n=32+Qa(t.b1_1)|0):n=Qa(e),n},t.$_$.tc=io,t.$_$.uc=Al,t.$_$.vc=function(t,n){return Ui(),new Hi(t.lb_1,n).qb()},t.$_$.wc=function(t){return!function(t){var n;return Is(),t===1/0?n=!0:(Is(),n=t===-1/0),n}(t)&&!Za(t)},t.$_$.xc=function(t){return!function(t){var n;return As(),t===1/0?n=!0:(As(),n=t===-1/0),n}(t)&&!function(t){return!(t==t)}(t)},t.$_$.yc=function(t,n){return new Ji(n)},t.$_$.zc=function(t){return new Ji(t)},t.$_$.ad=function(){throw Kp()},t.$_$.bd=rl,t.$_$.cd=function(t){console.error(function(t){return(new wc).am(t)}(t))},t.$_$.dd=function(t,n){var e=t<>>(32-n|0)|0},t.$_$.ed=function(t,n){return Ps(),t<<(32-n|0)|t>>>n|0},t.$_$.fd=function(t){throw Zp("lateinit property "+t+" has not been initialized")},t.$_$.gd=el,t.$_$.hd=uo,t})?e.apply(n,[n]):e)||(t.exports=r)},645:function(t,n,e){var r,i;r=[n,e(744)],void 0===(i=function(t,n){"use strict";var e,r,i,o,s,a,u,c,l,h,p,f,_,d,v,y,m,g,$,b,w,x,k,j,z,C,S,q,O,P,M,A,E,I,D,T,B,L,N,R,F,H,U,V,W,J,K,Y,G,X,Z,Q,tt,nt,et,rt,it,ot,st,at,ut,ct,lt=Math.imul,ht=n.$_$.j9,pt=n.$_$.e4,ft=n.$_$.p4,_t=n.$_$.g6,dt=n.$_$.h,vt=n.$_$.yc,yt=n.$_$.y8,mt=n.$_$.c,gt=n.$_$.pa,$t=n.$_$.f9,bt=n.$_$.q1,wt=n.$_$.t8,xt=n.$_$.s1,kt=n.$_$.xb,jt=n.$_$.s5,zt=n.$_$.r,Ct=n.$_$.cc,St=n.$_$.ma,qt=n.$_$.s9,Ot=n.$_$.ec,Pt=n.$_$.d,Mt=n.$_$.zb,At=n.$_$.f5,Et=n.$_$.b5,It=n.$_$.k5,Dt=n.$_$.g5,Tt=n.$_$.x4,Bt=n.$_$.c5,Lt=n.$_$.l5,Nt=n.$_$.m5,Rt=n.$_$.y4,Ft=n.$_$.v4,Ht=n.$_$.j5,Ut=n.$_$.e5,Vt=n.$_$.w4,Wt=n.$_$.f6,Jt=n.$_$.ga,Kt=n.$_$.r1,Yt=n.$_$.j2,Gt=n.$_$.l2,Xt=n.$_$.u9,Zt=n.$_$.k2,Qt=n.$_$.ac,tn=n.$_$.uc,nn=n.$_$.a9,en=n.$_$.g9,rn=n.$_$.a5,on=n.$_$.z4,sn=n.$_$.va,an=n.$_$.p7,un=n.$_$.s,cn=n.$_$.y,ln=n.$_$.m7,hn=n.$_$.k7,pn=n.$_$.t7,fn=n.$_$.hd,_n=n.$_$.q7,dn=n.$_$.zc,vn=n.$_$.u5,yn=n.$_$.la,mn=n.$_$.k,gn=n.$_$.ca,$n=n.$_$.yb,bn=n.$_$.qb,wn=n.$_$.c2,xn=n.$_$.nb,kn=n.$_$.h4,jn=n.$_$.cb,zn=n.$_$.h9,Cn=n.$_$.u1,Sn=n.$_$.t,qn=n.$_$.z,On=n.$_$.c1,Pn=n.$_$.d1,Mn=n.$_$.v,An=n.$_$.w,En=n.$_$.a1,In=n.$_$.b1,Dn=n.$_$.k9,Tn=n.$_$.r8,Bn=n.$_$.q5,Ln=n.$_$.ka,Nn=n.$_$.p6,Rn=n.$_$.x9,Fn=n.$_$.j4,Hn=n.$_$.t6,Un=n.$_$.sc,Vn=n.$_$.x,Wn=n.$_$.qa,Jn=n.$_$.c9,Kn=n.$_$.s8,Yn=n.$_$.h6,Gn=n.$_$.v5,Xn=n.$_$.i4,Zn=n.$_$.n9,Qn=n.$_$.u8,te=n.$_$.a4,ne=n.$_$.p9,ee=n.$_$.b4,re=n.$_$.q9,ie=n.$_$.t9,oe=n.$_$.n4,se=n.$_$.l3,ae=n.$_$.jc,ue=n.$_$.h3,ce=n.$_$.e3,le=n.$_$.j3,he=n.$_$.f3,pe=n.$_$.c4,fe=n.$_$.r9,_e=n.$_$.m4,de=n.$_$.c3,ve=n.$_$.hc,ye=n.$_$.y2,me=n.$_$.v2,ge=n.$_$.a3,$e=n.$_$.w2,be=n.$_$.d4,we=n.$_$.v9,xe=n.$_$.o4,ke=n.$_$.u3,je=n.$_$.lc,ze=n.$_$.q3,Ce=n.$_$.n3,Se=n.$_$.s3,qe=n.$_$.o3,Oe=n.$_$.z3,Pe=n.$_$.m9,Me=n.$_$.l4,Ae=n.$_$.t2,Ee=n.$_$.fc,Ie=n.$_$.q2,De=n.$_$.m2,Te=n.$_$.r2,Be=n.$_$.n2,Le=n.$_$.y3,Ne=n.$_$.l9,Re=n.$_$.ha,Fe=n.$_$.z5,He=n.$_$.b6,Ue=n.$_$.c6,Ve=n.$_$.x5,We=n.$_$.m3,Je=n.$_$.i3,Ke=n.$_$.k3,Ye=n.$_$.e6,Ge=n.$_$.d3,Xe=n.$_$.z2,Ze=n.$_$.b3,Qe=n.$_$.w5,tr=n.$_$.v3,nr=n.$_$.r3,er=n.$_$.t3,rr=n.$_$.a6,ir=n.$_$.u2,or=n.$_$.p2,sr=n.$_$.s2,ar=n.$_$.y5,ur=n.$_$.nc,cr=n.$_$.lb,lr=n.$_$.ua,hr=n.$_$.w8,pr=n.$_$.v8,fr=n.$_$.h2,_r=n.$_$.ya,dr=n.$_$.wa,vr=n.$_$.g4,yr=n.$_$.kc,mr=n.$_$.ic,gr=n.$_$.mc,$r=n.$_$.gc,br=n.$_$.a7,wr=n.$_$.w6,xr=n.$_$.u6,kr=n.$_$.pb,jr=n.$_$.w9,zr=n.$_$.b,Cr=n.$_$.s6,Sr=n.$_$.w1,qr=n.$_$.r6,Or=n.$_$.k4,Pr=n.$_$.i2,Mr=n.$_$.tc;function Ar(){return!1}function Er(){return!1}function Ir(){return _t()}function Dr(t){return t.v2c(this)}function Tr(){return!1}function Br(t){return-1}function Lr(t,n,e,r,i,o){return 0!=(8&i)&&(r=null),null==o?this.e2g(t,n,e,r):o(t,n,e,r)}function Nr(){}function Rr(t,n){return this.s2f(t)}function Fr(t,n){t.u2c(this,n)}function Hr(){return Os()}function Ur(){}function Vr(){}function Wr(){}function Jr(t){return function(){return n=Gi("kotlinx.serialization.Polymorphic",(null==l&&new uo,l),[],function(t){return function(n){var e=mi(pt()).t2c();n.e2d("type",e,null,!1,12,null);var r=Gi("kotlinx.serialization.Polymorphic<"+t.f2d_1.ri()+">",oo(),[],null,12);return n.e2d("value",r,null,!1,12,null),n.y2c_1=t.g2d_1,ft()}}(t),4),e=t.f2d_1,new Vi(n,e);var n,e}}function Kr(t){Bo.call(this),this.f2d_1=t,this.g2d_1=_t();var n=dt();this.h2d_1=vt(n,Jr(this))}function Yr(t,n,e){var r,i=t.k2d(n,e);return null==i?function(t,n){var e=t.ri();Lo(null==e?""+t:e,n)}(mt(e),t.i2d()):r=i,r}function Gr(t,n,e){var r,i=t.j2d(n,e);return null==i?Lo(e,t.i2d()):r=i,r}function Xr(){}function Zr(){}function Qr(){}function ti(t,n){return bt(t,n),ei.call(n),n}function ni(t){var n=ti(t,Object.create(ei.prototype));return wt(n,ni),n}function ei(){wt(this,ei)}function ri(t){ti(t,this),wt(this,ri)}function ii(t,n){var e=function(t,n,e){return oi.call(e,t,1===t.f()?"Field '"+t.g(0)+"' is required for type with serial name '"+n+"', but it was missing":"Fields "+t+" are required for type with serial name '"+n+"', but they were missing",null),e}(t,n,Object.create(oi.prototype));return wt(e,ii),e}function oi(t,n,e){(function(t,n,e){xt(t,n,e),ei.call(e)})(n,e,this),this.o2d_1=t,wt(this,oi)}function si(t){var n=function(t){var n,e=Fa(t,[]);if(null==e){var r=jr(t).Companion,i=null==r?null:r.serializer();n=null!=i&&qt(i,Ur)?i:null}else n=e;return n}(t);return null==n?function(t){ma();var n=ra().a3(t);return null==n||qt(n,Ur)?n:Ct()}(t):n}function ai(t,n,e){var r;if(e){for(var i=zt(jt(n,10)),o=n.c();o.d();){var s;s=ci(t,o.e()),i.a(s)}r=i}else{for(var a=zt(jt(n,10)),u=n.c();u.d();){var c,l=li(t,u.e());if(null==l)return null;c=l,a.a(c)}r=a}return r}function ui(t,n,e){var r=function(t,n,e){var r,i=t;if(i.equals(Pt(Vt))||i.equals(Pt(Ut))||i.equals(Pt(Ht))||i.equals(Pt(Ft)))r=new Xo(e.g(0));else if(i.equals(Pt(Rt)))r=new Zo(e.g(0));else if(i.equals(Pt(Nt))||i.equals(Pt(Lt))||i.equals(Pt(Bt)))r=new Qo(e.g(0));else if(i.equals(Pt(Tt)))r=new ts(e.g(0),e.g(1));else if(i.equals(Pt(Dt))||i.equals(Pt(It))||i.equals(Pt(Et)))r=new ns(e.g(0),e.g(1));else if(i.equals(Pt(At)))p=e.g(0),f=e.g(1),r=new xa(p,f);else if(i.equals(Pt(Mt)))r=function(t,n){return new ka(t,n)}(e.g(0),e.g(1));else if(i.equals(Pt(Ot)))c=e.g(0),l=e.g(1),h=e.g(2),r=new ja(c,l,h);else{var o;if(t.equals(vr().jk())){var s=n.g(0).aj();a=null!=s&&qt(s,St)?s:Ct(),u=e.g(0),o=new es(a,u)}else o=null;r=o}var a,u;var c,l,h;var p,f;return r}(t,n,e);return null==r?function(t,n){return Fa(t,Wt(n).slice())}(t,e):r}function ci(t,n){var e,r=hi(t,n,!0);return null==r?function(t){throw ni("Serializer for class '"+t.ri()+"' is not found.\nMark the class as @Serializable or provide the serializer explicitly.\nOn Kotlin/JS explicitly declared serializer should be used for interfaces and enums without @Serializable annotation")}(xs(n)):e=r,e}function li(t,n){return hi(t,n,!1)}function hi(t,n,s){for(var a=xs(n),u=n.cj(),c=n.bj(),l=zt(jt(c,10)),h=c.c();h.d();){var p,f=h.e().q2d_1;if(null==f)throw Kt(Jt("Star projections in type arguments are not allowed, but had "+n));p=f,l.a(p)}var _,d,v=l;if(v.h())_=function(t,n){var i;if(vi(),n)i=(vi(),r).t2d(t);else{var o=(vi(),e).t2d(t);i=null==o?null:null!=o&&qt(o,Ur)?o:Ct()}return i}(a,u);else{var y,m=function(t,n,e){var r;if(vi(),e)r=(vi(),o).u2d(t,n);else{var s=(vi(),i).u2d(t,n);r=new Qt(s)instanceof Qt?s:Ct()}return r}(a,v,u);if(s){var g;if(Zt(m))g=null;else{var $=Gt(m);g=null==$||Xt($)?$:Ct()}y=g}else{if(null!=Yt(m))return null;var b=Gt(m);y=null==b||Xt(b)?b:Ct()}_=y}if(null!=_)return _;if(v.h())d=t.s2d(a,null,2,null);else{var w=ai(t,v,s);if(null==w)return null;var x=w,k=ui(a,v,x);d=null==k?t.r2d(a,x):k}var j,z=d;return null==(j=null==z?null:null!=z&&qt(z,Ur)?z:Ct())?null:function(t,n){return n?yi(t):qt(t,Ur)?t:Ct()}(j,u)}function pi(t){return vi(),si(t)}function fi(t){vi();var n=si(t),e=null==n?null:yi(n);return null==e?null:null!=e&&qt(e,Ur)?e:Ct()}function _i(t,n){return vi(),ui(t,n,tn(ai(Ta(),n,!0)))}function di(t,n){vi();var e=ui(t,n,tn(ai(Ta(),n,!0))),r=null==e?null:yi(e);return null==r?null:null!=r&&qt(r,Ur)?r:Ct()}function vi(){s||(s=!0,e=Na(pi),r=Na(fi),i=Ra(_i),o=Ra(di))}function yi(t){return t.t2c().v2d()?qt(t,Ur)?t:Ct():new vs(t)}function mi(t){return oa()}function gi(t){return null==W&&new sa,W}function $i(){return null==M&&new As,M}function bi(t){return null==J&&new aa,J}function wi(){return null==A&&new Es,A}function xi(t){return null==K&&new ua,K}function ki(){return null==E&&new Is,E}function ji(t){return null==Y&&new ca,Y}function zi(){return null==I&&new Ds,I}function Ci(t){return null==it&&new Ca,it}function Si(){return null==D&&new Ts,D}function qi(t){return null==G&&new la,G}function Oi(){return null==T&&new Bs,T}function Pi(t){return null==ot&&new Sa,ot}function Mi(){return null==B&&new Ls,B}function Ai(t){return null==X&&new ha,X}function Ei(){return null==L&&new Ns,L}function Ii(t){return null==st&&new qa,st}function Di(){return null==N&&new Rs,N}function Ti(t){return null==Z&&new pa,Z}function Bi(){return null==R&&new Fs,R}function Li(t){return null==at&&new Oa,at}function Ni(){return null==F&&new Hs,F}function Ri(t){return null==Q&&new fa,Q}function Fi(){return null==H&&new Us,H}function Hi(t){return null==tt&&new _a,tt}function Ui(t){return null==j&&new No,j}function Vi(t,n){this.w2d_1=t,this.x2d_1=n,this.y2d_1=this.w2d_1.z2d()+"<"+this.x2d_1.ri()+">"}function Wi(t){var n=t;return n instanceof Vi?t.x2d_1:n instanceof ys?Wi(t.j2e_1):null}function Ji(){}function Ki(t){this.n2e_1=t,this.m2e_1=t.b2e()}function Yi(t){this.o2e_1=t}function Gi(t,n,e,r,i,o){return 0!=(8&i)&&(r=no),function(t,n,e,r){if(sn(t))throw Kt(Jt("Blank serial names are prohibited"));if(nn(n,xo()))throw Kt(Jt("For StructureKind.CLASS please use 'buildClassSerialDescriptor' instead"));var i=new Xi(t);return r(i),new to(t,n,i.z2c_1.f(),an(e),i)}(t,n,e,r)}function Xi(t){this.w2c_1=t,this.x2c_1=!1,this.y2c_1=_t(),this.z2c_1=un(),this.a2d_1=cn(),this.b2d_1=un(),this.c2d_1=un(),this.d2d_1=un()}function Zi(t,n,e,r,i){return 0!=(4&r)&&(e=eo),function(t,n,e){if(sn(t))throw Kt(Jt("Blank serial names are prohibited"));var r=new Xi(t);return e(r),new to(t,xo(),r.z2c_1.f(),an(n),r)}(t,n,e)}function Qi(t){return $t("_hashCode",1,gt,(function(t){return Qi(t)}),null),t.b2f_1.m2()}function to(t,n,e,r,i){this.q2e_1=t,this.r2e_1=n,this.s2e_1=e,this.t2e_1=i.y2c_1,this.u2e_1=ln(i.z2c_1);var o,s=i.z2c_1;o=Wt(s),this.v2e_1=o,this.w2e_1=ks(i.b2d_1);var a,u,c=i.c2d_1;a=Wt(c),this.x2e_1=a,this.y2e_1=hn(i.d2d_1);for(var l,h=pn(this.v2e_1),p=zt(jt(h,10)),f=h.c();f.d();){var _,d=f.e();_=fn(d.o3_1,d.n3_1),p.a(_)}l=p,this.z2e_1=_n(l),this.a2f_1=ks(r),this.b2f_1=dn((u=this,function(){return qs(u,u.a2f_1)}))}function no(t){return ft()}function eo(t){return ft()}function ro(){a=this,so.call(this)}function io(){u=this,so.call(this)}function oo(){return null==u&&new io,u}function so(){}function ao(){c=this,co.call(this)}function uo(){l=this,co.call(this)}function co(){so.call(this)}function lo(){h=this,bo.call(this)}function ho(){p=this,bo.call(this)}function po(){f=this,bo.call(this)}function fo(){_=this,bo.call(this)}function _o(){d=this,bo.call(this)}function vo(){v=this,bo.call(this)}function yo(){y=this,bo.call(this)}function mo(){m=this,bo.call(this)}function go(){g=this,bo.call(this)}function $o(){return null==g&&new go,g}function bo(){so.call(this)}function wo(){$=this,qo.call(this)}function xo(){return null==$&&new wo,$}function ko(){b=this,qo.call(this)}function jo(){return null==b&&new ko,b}function zo(){w=this,qo.call(this)}function Co(){return null==w&&new zo,w}function So(){x=this,qo.call(this)}function qo(){so.call(this)}function Oo(){}function Po(){}function Mo(){}function Ao(){k=this,this.k2h_1=-1,this.l2h_1=-3}function Eo(){return null==k&&new Ao,k}function Io(){}function Do(){}function To(){}function Bo(){}function Lo(t,n){var e="in the scope of '"+n.ri()+"'";throw ni(null==t?"Class discriminator was missing and no default polymorphic serializers were registered "+e:"Class '"+t+"' is not registered for polymorphic serialization "+e+".\nMark the base class as 'sealed' or register the serializer explicitly.")}function No(){j=this,this.p2h_1=new va("kotlin.time.Duration",$o())}function Ro(){}function Fo(t){Yo.call(this,t)}function Ho(t){Yo.call(this,t)}function Uo(t){Yo.call(this,t)}function Vo(t,n){Go.call(this,"kotlin.collections.HashMap",t,n)}function Wo(t,n){Go.call(this,"kotlin.collections.LinkedHashMap",t,n)}function Jo(t){Yo.call(this,t)}function Ko(t){Yo.call(this,t),this.i2i_1=t.z2d()+"Array"}function Yo(t){this.u2h_1=t,this.v2h_1=1}function Go(t,n,e){this.a2i_1=t,this.b2i_1=n,this.c2i_1=e,this.d2i_1=2}function Xo(t){rs.call(this,t),this.k2i_1=new Fo(t.t2c())}function Zo(t){rs.call(this,t),this.f2j_1=new Ho(t.t2c())}function Qo(t){rs.call(this,t),this.m2j_1=new Uo(t.t2c())}function ts(t,n){is.call(this,t,n),this.t2j_1=new Vo(t.t2c(),n.t2c())}function ns(t,n){is.call(this,t,n),this.i2k_1=new Wo(t.t2c(),n.t2c())}function es(t,n){os.call(this,n),this.n2k_1=t,this.o2k_1=new Jo(n.t2c())}function rs(t){os.call(this,t)}function is(t,n){ss.call(this),this.c2k_1=t,this.d2k_1=n}function os(t){ss.call(this),this.y2i_1=t}function ss(){}function as(t){os.call(this,t),this.x2k_1=new Ko(t.t2c())}function us(){}function cs(){z=this,this.e2l_1=Rn(0)}function ls(){return null==z&&new cs,z}function hs(t,n){ls(),this.f2l_1=t,this.g2l_1=n;var e=this.f2l_1.b2e();if(Fn(),e<=64){var r;Fn(),r=64===e?new $n(0,0):new $n(-1,-1).jb(e),this.h2l_1=r,this.i2l_1=ls().e2l_1}else this.h2l_1=new $n(0,0),this.i2l_1=function(t,n){var e=(n-1|0)>>>6|0;Fn();var r=63&n,i=Rn(e);return 0!==r&&(i[Hn(i)]=new $n(-1,-1).jb(n)),i}(0,e)}function ps(t,n){return new fs(t,new _s(n))}function fs(t,n){Ss.call(this,t,n,1),this.x2l_1=!0}function _s(t){this.m2m_1=t}function ds(){C=this,Po.call(this),this.p2m_1=Ta()}function vs(t){this.q2m_1=t,this.r2m_1=new ys(this.q2m_1.t2c())}function ys(t){this.j2e_1=t,this.k2e_1=this.j2e_1.z2d()+"?",this.l2e_1=ws(this.j2e_1)}function ms(t,n){return function(){var e=(null==x&&new So,x);return Gi(t,e,[],function(t){return function(n){return n.y2c_1=t.u2m_1,ft()}}(n),4)}}function gs(t,n){this.t2m_1=n,this.u2m_1=_t();var e=dt();this.v2m_1=vt(e,ms(t,this))}function $s(){}function bs(){}function ws(t){if(js(),qt(t,Ro))return t.c2f();var n=Vn(t.b2e()),e=0,r=t.b2e();if(e0){var e,r=pr(t,0);e=dr(r)?_r(r):fr(r),n=Jt(e)+t.substring(1)}else n=t;return n}function ma(){nt||(nt=!0,U=br([fn(vr().kk(),mi(pt())),fn(Pt(bn),gi(Xn())),fn(vr().nk(),$i()),fn(vr().ik(),bi(te())),fn(vr().tk(),wi()),fn(vr().hk(),xi(ee())),fn(vr().sk(),ki()),fn(Pt($n),ji(Fn())),fn(vr().rk(),zi()),fn(Pt(yr),Ci(oe())),fn(Pt(ae),Si()),fn(vr().gk(),qi(pe())),fn(vr().qk(),Oi()),fn(Pt(mr),Pi(_e())),fn(Pt(ve),Mi()),fn(vr().fk(),Ai(be())),fn(vr().pk(),Ei()),fn(Pt(gr),Ii(xe())),fn(Pt(je),Di()),fn(vr().ek(),Ti(Oe())),fn(vr().ok(),Bi()),fn(Pt($r),Li(Me())),fn(Pt(Ee),Ni()),fn(vr().dk(),Ri(Le())),fn(vr().mk(),Fi()),fn(Pt(ur),Hi(ft())),fn(Pt(xn),Ui(kn()))]))}function ga(){$a.call(this)}function $a(){var t;t=un(),this.m2s_1=t,this.n2s_1=!1}function ba(){return rt||(rt=!0,et=new Object),et}function wa(t,n){this.e2t_1=t,this.f2t_1=n}function xa(t,n){za.call(this,t,n);var e,r,i=Co();this.i2t_1=Gi("kotlin.collections.Map.Entry",i,[],(e=t,r=n,function(t){var n=e.t2c();t.e2d("key",n,null,!1,12,null);var i=r.t2c();return t.e2d("value",i,null,!1,12,null),ft()}),4)}function ka(t,n){var e,r;za.call(this,t,n),this.t2t_1=Zi("kotlin.Pair",[],(e=t,r=n,function(t){var n=e.t2c();t.e2d("first",n,null,!1,12,null);var i=r.t2c();return t.e2d("second",i,null,!1,12,null),ft()}),2)}function ja(t,n,e){var r;this.w2t_1=t,this.x2t_1=n,this.y2t_1=e,this.z2t_1=Zi("kotlin.Triple",[],(r=this,function(t){var n=r.w2t_1.t2c();t.e2d("first",n,null,!1,12,null);var e=r.x2t_1.t2c();t.e2d("second",e,null,!1,12,null);var i=r.y2t_1.t2c();return t.e2d("third",i,null,!1,12,null),ft()}),2)}function za(t,n){this.o2t_1=t,this.p2t_1=n}function Ca(){it=this,this.b2u_1=ps("kotlin.ULong",ji(Fn()))}function Sa(){ot=this,this.e2u_1=ps("kotlin.UInt",qi(pe()))}function qa(){st=this,this.h2u_1=ps("kotlin.UShort",Ai(be()))}function Oa(){at=this,this.k2u_1=ps("kotlin.UByte",Ti(Oe()))}function Pa(){return ct||(ct=!0,ut=new Aa(Yn(),Yn(),Yn(),Yn(),Yn())),ut}function Ma(){}function Aa(t,n,e,r,i){Ma.call(this),this.o2u_1=t,this.p2u_1=n,this.q2u_1=e,this.r2u_1=r,this.s2u_1=i}function Ea(){}function Ia(){}function Da(){}function Ta(){return Pa()}function Ba(){}function La(t){this.d2v_1=t}function Na(t){return new Va(t)}function Ra(t){return new Wa(t)}function Fa(t,n){var e;try{var r,i=zr(t,Pt(La));if(null!=i&&qt(i,Ur))r=null!=i&&qt(i,Ur)?i:Ct();else if(null!=i&&qt(i,Ps)){var o=i.w2m(n.slice());r=qt(o,Ur)?o:Ct()}else r=function(t){var n=jr(t).$metadata$;return"interface"==(null==n?null:n.kind)}(t)?new Kr(t):null;e=r}catch(t){e=null}return e}function Ha(t,n){if(!(0<=n&&n<=(t.length-1|0)))throw Sr("Index "+n+" out of bounds "+Cr(t));return t[n]}function Ua(t,n){if(!(0<=n&&n<=(t.length-1|0)))throw Sr("Index "+n+" out of bounds "+qr(t));return t[n]}function Va(t){this.e2v_1=t}function Wa(t){this.f2v_1=t}return Kr.prototype=Object.create(Bo.prototype),Kr.prototype.constructor=Kr,Xr.prototype=Object.create(Bo.prototype),Xr.prototype.constructor=Xr,ei.prototype=Object.create(kt.prototype),ei.prototype.constructor=ei,ri.prototype=Object.create(ei.prototype),ri.prototype.constructor=ri,oi.prototype=Object.create(ei.prototype),oi.prototype.constructor=oi,ro.prototype=Object.create(so.prototype),ro.prototype.constructor=ro,io.prototype=Object.create(so.prototype),io.prototype.constructor=io,co.prototype=Object.create(so.prototype),co.prototype.constructor=co,ao.prototype=Object.create(co.prototype),ao.prototype.constructor=ao,uo.prototype=Object.create(co.prototype),uo.prototype.constructor=uo,bo.prototype=Object.create(so.prototype),bo.prototype.constructor=bo,lo.prototype=Object.create(bo.prototype),lo.prototype.constructor=lo,ho.prototype=Object.create(bo.prototype),ho.prototype.constructor=ho,po.prototype=Object.create(bo.prototype),po.prototype.constructor=po,fo.prototype=Object.create(bo.prototype),fo.prototype.constructor=fo,_o.prototype=Object.create(bo.prototype),_o.prototype.constructor=_o,vo.prototype=Object.create(bo.prototype),vo.prototype.constructor=vo,yo.prototype=Object.create(bo.prototype),yo.prototype.constructor=yo,mo.prototype=Object.create(bo.prototype),mo.prototype.constructor=mo,go.prototype=Object.create(bo.prototype),go.prototype.constructor=go,qo.prototype=Object.create(so.prototype),qo.prototype.constructor=qo,wo.prototype=Object.create(qo.prototype),wo.prototype.constructor=wo,ko.prototype=Object.create(qo.prototype),ko.prototype.constructor=ko,zo.prototype=Object.create(qo.prototype),zo.prototype.constructor=zo,So.prototype=Object.create(qo.prototype),So.prototype.constructor=So,Fo.prototype=Object.create(Yo.prototype),Fo.prototype.constructor=Fo,Ho.prototype=Object.create(Yo.prototype),Ho.prototype.constructor=Ho,Uo.prototype=Object.create(Yo.prototype),Uo.prototype.constructor=Uo,Vo.prototype=Object.create(Go.prototype),Vo.prototype.constructor=Vo,Wo.prototype=Object.create(Go.prototype),Wo.prototype.constructor=Wo,Jo.prototype=Object.create(Yo.prototype),Jo.prototype.constructor=Jo,Ko.prototype=Object.create(Yo.prototype),Ko.prototype.constructor=Ko,os.prototype=Object.create(ss.prototype),os.prototype.constructor=os,rs.prototype=Object.create(os.prototype),rs.prototype.constructor=rs,Xo.prototype=Object.create(rs.prototype),Xo.prototype.constructor=Xo,Zo.prototype=Object.create(rs.prototype),Zo.prototype.constructor=Zo,Qo.prototype=Object.create(rs.prototype),Qo.prototype.constructor=Qo,is.prototype=Object.create(ss.prototype),is.prototype.constructor=is,ts.prototype=Object.create(is.prototype),ts.prototype.constructor=ts,ns.prototype=Object.create(is.prototype),ns.prototype.constructor=ns,es.prototype=Object.create(os.prototype),es.prototype.constructor=es,as.prototype=Object.create(os.prototype),as.prototype.constructor=as,fs.prototype=Object.create(Ss.prototype),fs.prototype.constructor=fs,ds.prototype=Object.create(Po.prototype),ds.prototype.constructor=ds,As.prototype=Object.create(as.prototype),As.prototype.constructor=As,Es.prototype=Object.create(as.prototype),Es.prototype.constructor=Es,Is.prototype=Object.create(as.prototype),Is.prototype.constructor=Is,Ds.prototype=Object.create(as.prototype),Ds.prototype.constructor=Ds,Ts.prototype=Object.create(as.prototype),Ts.prototype.constructor=Ts,Bs.prototype=Object.create(as.prototype),Bs.prototype.constructor=Bs,Ls.prototype=Object.create(as.prototype),Ls.prototype.constructor=Ls,Ns.prototype=Object.create(as.prototype),Ns.prototype.constructor=Ns,Rs.prototype=Object.create(as.prototype),Rs.prototype.constructor=Rs,Fs.prototype=Object.create(as.prototype),Fs.prototype.constructor=Fs,Hs.prototype=Object.create(as.prototype),Hs.prototype.constructor=Hs,Us.prototype=Object.create(as.prototype),Us.prototype.constructor=Us,Vs.prototype=Object.create(us.prototype),Vs.prototype.constructor=Vs,Ws.prototype=Object.create(us.prototype),Ws.prototype.constructor=Ws,Js.prototype=Object.create(us.prototype),Js.prototype.constructor=Js,Ks.prototype=Object.create(us.prototype),Ks.prototype.constructor=Ks,Ys.prototype=Object.create(us.prototype),Ys.prototype.constructor=Ys,Gs.prototype=Object.create(us.prototype),Gs.prototype.constructor=Gs,Xs.prototype=Object.create(us.prototype),Xs.prototype.constructor=Xs,Zs.prototype=Object.create(us.prototype),Zs.prototype.constructor=Zs,Qs.prototype=Object.create(us.prototype),Qs.prototype.constructor=Qs,ta.prototype=Object.create(us.prototype),ta.prototype.constructor=ta,na.prototype=Object.create(us.prototype),na.prototype.constructor=na,ea.prototype=Object.create(us.prototype),ea.prototype.constructor=ea,ga.prototype=Object.create($a.prototype),ga.prototype.constructor=ga,xa.prototype=Object.create(za.prototype),xa.prototype.constructor=xa,ka.prototype=Object.create(za.prototype),ka.prototype.constructor=ka,Aa.prototype=Object.create(Ma.prototype),Aa.prototype.constructor=Aa,Ea.prototype=Object.create(Da.prototype),Ea.prototype.constructor=Ea,Ia.prototype=Object.create(Da.prototype),Ia.prototype.constructor=Ia,Ur.$metadata$=ht("KSerializer",[Vr,Wr]),Vr.$metadata$=ht("SerializationStrategy"),Wr.$metadata$=ht("DeserializationStrategy"),Kr.prototype.i2d=function(){return this.f2d_1},Kr.prototype.t2c=function(){return $t("descriptor",1,gt,(function(t){return t.t2c()}),null),this.h2d_1.m2()},Kr.prototype.toString=function(){return"kotlinx.serialization.PolymorphicSerializer(baseClass: "+this.f2d_1+")"},Kr.$metadata$=yt("PolymorphicSerializer",void 0,void 0,void 0,void 0,Bo.prototype),Xr.$metadata$=yt("SealedClassSerializer",void 0,void 0,void 0,void 0,Bo.prototype),Zr.$metadata$=ht("StringFormat",[Qr]),Qr.$metadata$=ht("SerialFormat"),ei.$metadata$=yt("SerializationException",void 0,void 0,void 0,void 0,kt.prototype),ri.$metadata$=yt("UnknownFieldException",void 0,void 0,void 0,void 0,ei.prototype),oi.$metadata$=yt("MissingFieldException",void 0,void 0,void 0,void 0,ei.prototype),Vi.prototype.a2e=function(){return this.w2d_1.a2e()},Vi.prototype.b2e=function(){return this.w2d_1.b2e()},Vi.prototype.c2e=function(){return this.w2d_1.c2e()},Vi.prototype.v2d=function(){return this.w2d_1.v2d()},Vi.prototype.d2e=function(){return this.w2d_1.d2e()},Vi.prototype.e2e=function(t){return this.w2d_1.e2e(t)},Vi.prototype.f2e=function(t){return this.w2d_1.f2e(t)},Vi.prototype.g2e=function(t){return this.w2d_1.g2e(t)},Vi.prototype.h2e=function(t){return this.w2d_1.h2e(t)},Vi.prototype.i2e=function(t){return this.w2d_1.i2e(t)},Vi.prototype.z2d=function(){return this.y2d_1},Vi.prototype.equals=function(t){var n=t instanceof Vi?t:null;if(null==n)return!1;var e=n;return!!nn(this.w2d_1,e.w2d_1)&&e.x2d_1.equals(this.x2d_1)},Vi.prototype.hashCode=function(){var t=this.x2d_1.hashCode();return lt(31,t)+en(this.y2d_1)|0},Vi.prototype.toString=function(){return"ContextDescriptor(kClass: "+this.x2d_1+", original: "+this.w2d_1+")"},Vi.$metadata$=yt("ContextDescriptor",[Ji]),Ji.$metadata$=ht("SerialDescriptor"),Ki.prototype.d=function(){return this.m2e_1>0},Ki.prototype.e=function(){var t=this.n2e_1.b2e(),n=this.m2e_1;return this.m2e_1=n-1|0,this.n2e_1.f2e(t-n|0)},Ki.$metadata$=yt(void 0,[rn]),Yi.prototype.c=function(){return new Ki(this.o2e_1)},Yi.$metadata$=yt(void 0,[on]),Xi.prototype.p2e=function(t,n,e,r){if(!this.a2d_1.a(t))throw Kt(Jt("Element with name '"+t+"' is already registered"));this.z2c_1.a(t),this.b2d_1.a(n),this.c2d_1.a(e),this.d2d_1.a(r)},Xi.prototype.e2d=function(t,n,e,r,i,o){return 0!=(4&i)&&(e=_t()),0!=(8&i)&&(r=!1),this.p2e(t,n,e,r)},Xi.$metadata$=yt("ClassSerialDescriptorBuilder"),to.prototype.z2d=function(){return this.q2e_1},to.prototype.d2e=function(){return this.r2e_1},to.prototype.b2e=function(){return this.s2e_1},to.prototype.a2e=function(){return this.t2e_1},to.prototype.c2f=function(){return this.u2e_1},to.prototype.h2e=function(t){return Ha(this.v2e_1,t)},to.prototype.g2e=function(t){var n,e=this.z2e_1.a3(t);return null==e?(Eo(),n=-3):n=e,n},to.prototype.e2e=function(t){return Ha(this.x2e_1,t)},to.prototype.f2e=function(t){return Ha(this.w2e_1,t)},to.prototype.i2e=function(t){return Ua(this.y2e_1,t)},to.prototype.equals=function(t){var n;t:if(this!==t)if(t instanceof to)if(this.z2d()===t.z2d()){var e=t;if(vn(this.a2f_1,e.a2f_1))if(this.b2e()===t.b2e()){var r=0,i=this.b2e();if(r=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));return!1},Yo.prototype.e2e=function(t){var n;if(!(t>=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));return _t()},Yo.prototype.f2e=function(t){var n;if(!(t>=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));return this.u2h_1},Yo.prototype.equals=function(t){return this===t||t instanceof Yo&&!(!nn(this.u2h_1,t.u2h_1)||this.z2d()!==t.z2d())},Yo.prototype.hashCode=function(){return lt(zn(this.u2h_1),31)+en(this.z2d())|0},Yo.prototype.toString=function(){return this.z2d()+"("+this.u2h_1+")"},Yo.$metadata$=yt("ListLikeDescriptor",[Ji]),Go.prototype.z2d=function(){return this.a2i_1},Go.prototype.d2e=function(){return Co()},Go.prototype.b2e=function(){return this.d2i_1},Go.prototype.h2e=function(t){return t.toString()},Go.prototype.g2e=function(t){var n=jn(t);if(null==n)throw Kt(t+" is not a valid map index");return n},Go.prototype.i2e=function(t){var n;if(!(t>=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));return!1},Go.prototype.e2e=function(t){var n;if(!(t>=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));return _t()},Go.prototype.f2e=function(t){var n,e;if(!(t>=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));switch(t%2|0){case 0:e=this.b2i_1;break;case 1:e=this.c2i_1;break;default:throw Cn("Unreached")}return e},Go.prototype.equals=function(t){return this===t||t instanceof Go&&this.z2d()===t.z2d()&&!!nn(this.b2i_1,t.b2i_1)&&!!nn(this.c2i_1,t.c2i_1)},Go.prototype.hashCode=function(){var t=en(this.z2d());return t=lt(31,t)+zn(this.b2i_1)|0,lt(31,t)+zn(this.c2i_1)|0},Go.prototype.toString=function(){return this.z2d()+"("+this.b2i_1+", "+this.c2i_1+")"},Go.$metadata$=yt("MapLikeDescriptor",[Ji]),Xo.prototype.t2c=function(){return this.k2i_1},Xo.prototype.u1o=function(){return un()},Xo.prototype.l2i=function(t){return t.f()},Xo.prototype.m2i=function(t){return this.l2i(t instanceof Ft?t:Ct())},Xo.prototype.n2i=function(t){return t},Xo.prototype.o2i=function(t){return this.n2i(t instanceof Ft?t:Ct())},Xo.prototype.p2i=function(t){var n=t instanceof Ft?t:null;return null==n?Sn(t):n},Xo.prototype.q2i=function(t){return this.p2i(null!=t&&qt(t,Ut)?t:Ct())},Xo.prototype.r2i=function(t,n){return t.sg(n)},Xo.prototype.s2i=function(t,n){return this.r2i(t instanceof Ft?t:Ct(),n)},Xo.prototype.t2i=function(t,n,e){t.yf(n,e)},Xo.prototype.u2i=function(t,n,e){var r=t instanceof Ft?t:Ct();return this.t2i(r,n,null==e||Xt(e)?e:Ct())},Xo.$metadata$=yt("ArrayListSerializer",void 0,void 0,void 0,void 0,rs.prototype),Zo.prototype.t2c=function(){return this.f2j_1},Zo.prototype.u1o=function(){return cn()},Zo.prototype.g2j=function(t){return t.f()},Zo.prototype.m2i=function(t){return this.g2j(t instanceof Rt?t:Ct())},Zo.prototype.h2j=function(t){return t},Zo.prototype.o2i=function(t){return this.h2j(t instanceof Rt?t:Ct())},Zo.prototype.i2j=function(t){var n=t instanceof Rt?t:null;return null==n?qn(t):n},Zo.prototype.q2i=function(t){return this.i2j(null!=t&&qt(t,Nt)?t:Ct())},Zo.prototype.j2j=function(t,n){},Zo.prototype.s2i=function(t,n){return this.j2j(t instanceof Rt?t:Ct(),n)},Zo.prototype.k2j=function(t,n,e){t.a(e)},Zo.prototype.u2i=function(t,n,e){var r=t instanceof Rt?t:Ct();return this.k2j(r,n,null==e||Xt(e)?e:Ct())},Zo.$metadata$=yt("HashSetSerializer",void 0,void 0,void 0,void 0,rs.prototype),Qo.prototype.t2c=function(){return this.m2j_1},Qo.prototype.u1o=function(){return On()},Qo.prototype.n2j=function(t){return t.f()},Qo.prototype.m2i=function(t){return this.n2j(t instanceof Bt?t:Ct())},Qo.prototype.o2j=function(t){return t},Qo.prototype.o2i=function(t){return this.o2j(t instanceof Bt?t:Ct())},Qo.prototype.i2j=function(t){var n=t instanceof Bt?t:null;return null==n?Pn(t):n},Qo.prototype.q2i=function(t){return this.i2j(null!=t&&qt(t,Nt)?t:Ct())},Qo.prototype.p2j=function(t,n){},Qo.prototype.s2i=function(t,n){return this.p2j(t instanceof Bt?t:Ct(),n)},Qo.prototype.q2j=function(t,n,e){t.a(e)},Qo.prototype.u2i=function(t,n,e){var r=t instanceof Bt?t:Ct();return this.q2j(r,n,null==e||Xt(e)?e:Ct())},Qo.$metadata$=yt("LinkedHashSetSerializer",void 0,void 0,void 0,void 0,rs.prototype),ts.prototype.t2c=function(){return this.t2j_1},ts.prototype.u2j=function(t){return t.f()},ts.prototype.v2j=function(t){return this.u2j(null!=t&&qt(t,Dt)?t:Ct())},ts.prototype.w2j=function(t){return t.u().c()},ts.prototype.x2j=function(t){return this.w2j(null!=t&&qt(t,Dt)?t:Ct())},ts.prototype.u1o=function(){return Mn()},ts.prototype.y2j=function(t){return lt(t.f(),2)},ts.prototype.m2i=function(t){return this.y2j(t instanceof Tt?t:Ct())},ts.prototype.z2j=function(t){return t},ts.prototype.o2i=function(t){return this.z2j(t instanceof Tt?t:Ct())},ts.prototype.a2k=function(t){var n=t instanceof Tt?t:null;return null==n?An(t):n},ts.prototype.q2i=function(t){return this.a2k(null!=t&&qt(t,Dt)?t:Ct())},ts.prototype.b2k=function(t,n){},ts.prototype.s2i=function(t,n){return this.b2k(t instanceof Tt?t:Ct(),n)},ts.$metadata$=yt("HashMapSerializer",void 0,void 0,void 0,void 0,is.prototype),ns.prototype.t2c=function(){return this.i2k_1},ns.prototype.u2j=function(t){return t.f()},ns.prototype.v2j=function(t){return this.u2j(null!=t&&qt(t,Dt)?t:Ct())},ns.prototype.w2j=function(t){return t.u().c()},ns.prototype.x2j=function(t){return this.w2j(null!=t&&qt(t,Dt)?t:Ct())},ns.prototype.u1o=function(){return En()},ns.prototype.j2k=function(t){return lt(t.f(),2)},ns.prototype.m2i=function(t){return this.j2k(t instanceof Et?t:Ct())},ns.prototype.k2k=function(t){return t},ns.prototype.o2i=function(t){return this.k2k(t instanceof Et?t:Ct())},ns.prototype.a2k=function(t){var n=t instanceof Et?t:null;return null==n?In(t):n},ns.prototype.q2i=function(t){return this.a2k(null!=t&&qt(t,Dt)?t:Ct())},ns.prototype.l2k=function(t,n){},ns.prototype.s2i=function(t,n){return this.l2k(t instanceof Et?t:Ct(),n)},ns.$metadata$=yt("LinkedHashMapSerializer",void 0,void 0,void 0,void 0,is.prototype),es.prototype.t2c=function(){return this.o2k_1},es.prototype.p2k=function(t){return t.length},es.prototype.v2j=function(t){return this.p2k(null!=t&&Dn(t)?t:Ct())},es.prototype.q2k=function(t){return Tn(t)},es.prototype.x2j=function(t){return this.q2k(null!=t&&Dn(t)?t:Ct())},es.prototype.u1o=function(){return un()},es.prototype.r2k=function(t){return t.f()},es.prototype.m2i=function(t){return this.r2k(t instanceof Ft?t:Ct())},es.prototype.s2k=function(t){return function(t,n){return Wt(t)}(t,this.n2k_1)},es.prototype.o2i=function(t){return this.s2k(t instanceof Ft?t:Ct())},es.prototype.t2k=function(t){return Sn(Bn(t))},es.prototype.q2i=function(t){return this.t2k(null!=t&&Dn(t)?t:Ct())},es.prototype.u2k=function(t,n){return t.sg(n)},es.prototype.s2i=function(t,n){return this.u2k(t instanceof Ft?t:Ct(),n)},es.prototype.v2k=function(t,n,e){t.yf(n,e)},es.prototype.u2i=function(t,n,e){var r=t instanceof Ft?t:Ct();return this.v2k(r,n,null==e||Xt(e)?e:Ct())},es.$metadata$=yt("ReferenceArraySerializer",void 0,void 0,void 0,void 0,os.prototype),rs.prototype.w2i=function(t){return t.f()},rs.prototype.v2j=function(t){return this.w2i(null!=t&&qt(t,Vt)?t:Ct())},rs.prototype.x2i=function(t){return t.c()},rs.prototype.x2j=function(t){return this.x2i(null!=t&&qt(t,Vt)?t:Ct())},rs.$metadata$=yt("CollectionSerializer",void 0,void 0,void 0,void 0,os.prototype),is.prototype.e2k=function(){return this.c2k_1},is.prototype.f2k=function(){return this.d2k_1},is.prototype.a2j=function(t,n,e,r){if(!(r>=0))throw Kt(Jt("Size must be known in advance when using READ_ALL"));var i=Ln(yn(0,lt(r,2)),2),o=i.e1_1,s=i.f1_1,a=i.g1_1;if(a>0&&o<=s||a<0&&s<=o)do{var u=o;o=o+a|0,this.b2j(t,e+u|0,n,!1)}while(u!==s)},is.prototype.b2j=function(t,n,e,r){var i,o=this.t2c(),s=t.f2g(o,n,this.c2k_1,null,8,null);if(r){var a=t.h2g(this.t2c());if(a!==(n+1|0))throw Kt(Jt("Value must follow key in a map, index for key: "+n+", returned index for value: "+a));i=a}else i=n+1|0;var u,c=i;if(!e.u2(s)||this.d2k_1.t2c().d2e()instanceof bo){var l=this.t2c();u=t.f2g(l,c,this.d2k_1,null,8,null)}else u=t.e2g(this.t2c(),c,this.d2k_1,Nn(e,s));var h=u;e.v3(s,h)},is.prototype.z2i=function(t,n){for(var e=this.v2j(n),r=this.t2c(),i=t.j2h(r,e),o=0,s=this.x2j(n);s.d();){var a=s.e(),u=a.k2(),c=a.m2(),l=this.t2c(),h=o;o=h+1|0,i.g2h(l,h,this.c2k_1,u);var p=this.t2c(),f=o;o=f+1|0,i.g2h(p,f,this.d2k_1,c)}i.t2f(r)},is.prototype.u2c=function(t,n){return this.z2i(t,null==n||Xt(n)?n:Ct())},is.$metadata$=yt("MapLikeSerializer",void 0,void 0,void 0,void 0,ss.prototype),os.prototype.z2i=function(t,n){var e=this.v2j(n),r=this.t2c(),i=t.j2h(r,e),o=this.x2j(n),s=0;if(s=0))throw Kt(Jt("Size must be known in advance when using READ_ALL"));var i=0;if(i>>6|0)-1|0;Fn();var r=63&n;t.i2l_1[e]=t.i2l_1[e].en(new $n(1,0).jb(r))}(this,t)},hs.prototype.k2l=function(){for(var t=this.f2l_1.b2e();!this.h2l_1.equals(new $n(-1,-1));){var n=Un(this.h2l_1.dn());if(this.h2l_1=this.h2l_1.en(new $n(1,0).jb(n)),this.g2l_1(this.f2l_1,n))return n}return Fn(),t>64?function(t){var n=0,e=t.i2l_1.length-1|0;if(n<=e)do{var r=n;n=n+1|0;var i=r+1|0;Fn();for(var o=lt(i,64),s=t.i2l_1[r];!s.equals(new $n(-1,-1));){var a=Un(s.dn());s=s.en(new $n(1,0).jb(a));var u=o+a|0;if(t.g2l_1(t.f2l_1,u))return t.i2l_1[r]=s,u}t.i2l_1[r]=s}while(n<=e);return Eo(),-1}(this):(Eo(),-1)},hs.$metadata$=yt("ElementMarker"),fs.prototype.c2e=function(){return this.x2l_1},fs.prototype.hashCode=function(){return lt(Ss.prototype.hashCode.call(this),31)},fs.prototype.equals=function(t){var n;t:if(this!==t)if(t instanceof fs)if(this.z2d()===t.z2d()){var e=t;if(e.x2l_1&&vn(this.k2m(),e.k2m()))if(this.b2e()===t.b2e()){var r=0,i=this.b2e();if(r>>1|0}while(o<32);throw ii(r,e.z2d())},t.$_$.x1=Ta,t.$_$.y1=function(t,n){return this.v2u(t,(e=n,function(t){return e}));var e},t.$_$.z1=Ba,t.$_$.a2=Wr,t.$_$.b2=Ur,t.$_$.c2=oi,t.$_$.d2=Xr,t.$_$.e2=ei,t.$_$.f2=Zr,t.$_$.g2=Yr,t.$_$.h2=ci,t}.apply(n,r))||(t.exports=i)},730:function(t,n,e){var r,i,o;i=[n,e(645),e(744)],void 0===(o="function"==typeof(r=function(t,n,e){"use strict";var r,i,o,s,a,u,c,l,h,p,f,_,d,v,y,m,g,$,b,w,x,k,j,z,C,S,q,O,P,M,A,E,I,D,T,B,L,N,R,F,H,U,V,W,J,K,Y,G,X,Z,Q,tt=Math.imul,nt=n.$_$.x1,et=e.$_$.ca,rt=n.$_$.f2,it=e.$_$.y8,ot=e.$_$.p4,st=e.$_$.ga,at=e.$_$.r1,ut=e.$_$.v8,ct=e.$_$.qb,lt=e.$_$.e2,ht=e.$_$.a9,pt=e.$_$.pb,ft=n.$_$.j1,_t=n.$_$.g1,dt=e.$_$.j9,vt=e.$_$.cc,yt=e.$_$.h9,mt=e.$_$.k,gt=e.$_$.e5,$t=e.$_$.l1,bt=e.$_$.g5,wt=e.$_$.c,xt=e.$_$.g9,kt=e.$_$.h,jt=e.$_$.yc,zt=n.$_$.u1,Ct=e.$_$.db,St=e.$_$.fb,qt=e.$_$.bb,Ot=e.$_$.eb,Pt=e.$_$.ab,Mt=n.$_$.e,At=n.$_$.a,Et=n.$_$.b2,It=n.$_$.m,Dt=n.$_$.z,Tt=e.$_$.e4,Bt=n.$_$.o,Lt=n.$_$.n,Nt=n.$_$.f,Rt=n.$_$.h,Ft=n.$_$.v,Ht=e.$_$.ib,Ut=e.$_$.n4,Vt=n.$_$.s,Wt=e.$_$.f3,Jt=e.$_$.kc,Kt=e.$_$.s9,Yt=e.$_$.u1,Gt=e.$_$.zc,Xt=n.$_$.y,Zt=n.$_$.x,Qt=n.$_$.w,tn=e.$_$.pa,nn=e.$_$.f9,en=n.$_$.m1,rn=n.$_$.h1,on=e.$_$.ea,sn=e.$_$.v2,an=e.$_$.x2,un=e.$_$.e3,cn=e.$_$.g3,ln=e.$_$.m2,hn=e.$_$.o2,pn=e.$_$.n3,fn=e.$_$.p3,_n=n.$_$.p1,dn=e.$_$.t8,vn=n.$_$.e2,yn=n.$_$.c,mn=e.$_$.w8,gn=e.$_$.x8,$n=e.$_$.ha,bn=e.$_$.ia,wn=n.$_$.k,xn=e.$_$.s,kn=e.$_$.i7,jn=e.$_$.r8,zn=e.$_$.uc,Cn=e.$_$.h6,Sn=e.$_$.p6,qn=e.$_$.d6,On=e.$_$.e6,Pn=e.$_$.c9,Mn=n.$_$.i,An=e.$_$.a1,En=e.$_$.sb,In=e.$_$.vc,Dn=e.$_$.l8,Tn=e.$_$.tb,Bn=e.$_$.nc,Ln=e.$_$.w7,Nn=(e.$_$.n8,n.$_$.n1),Rn=e.$_$.d,Fn=n.$_$.a2,Hn=e.$_$.u9,Un=n.$_$.g2,Vn=n.$_$.d2,Wn=n.$_$.v1,Jn=n.$_$.a1,Kn=n.$_$.u,Yn=n.$_$.t,Gn=n.$_$.g,Xn=n.$_$.j,Zn=n.$_$.y1,Qn=n.$_$.z1,te=n.$_$.c1,ne=e.$_$.bd,ee=n.$_$.c2,re=n.$_$.b,ie=e.$_$.xb,oe=e.$_$.xc,se=e.$_$.wc,ae=n.$_$.f1,ue=n.$_$.e1,ce=e.$_$.hb,le=e.$_$.w2,he=e.$_$.jb,pe=e.$_$.gb,fe=e.$_$.n2,_e=e.$_$.kb,de=e.$_$.o3,ve=n.$_$.i1,ye=n.$_$.d1,me=e.$_$.h2,ge=n.$_$.l1,$e=n.$_$.k1,be=e.$_$.m4,we=n.$_$.q,xe=e.$_$.l4,ke=n.$_$.r,je=e.$_$.o4,ze=n.$_$.p,Ce=e.$_$.h7,Se=e.$_$.z9,qe=e.$_$.g2,Oe=e.$_$.ua,Pe=e.$_$.da,Me=n.$_$.s1,Ae=e.$_$.p1,Ee=e.$_$.z3,Ie=e.$_$.d4,De=e.$_$.fa,Te=e.$_$.xa,Be=e.$_$.i6,Le=e.$_$.d7,Ne=e.$_$.o7,Re=e.$_$.ub,Fe=n.$_$.b1,He=e.$_$.x6,Ue=e.$_$.g7,Ve=e.$_$.n,We=e.$_$.yb,Je=e.$_$.f2,Ke=e.$_$.j4,Ye=e.$_$.u8,Ge=e.$_$.m,Xe=e.$_$.k1,Ze=e.$_$.u;function Qe(){r=this,nr.call(this,function(t,n,e,r,i,o,s,a,u,c,l,h,p,f){return function(t,n,e,r,i,o,s,a,u,c,l,h,p,f,_){return 0!=(1&p)&&(t=!1),0!=(2&p)&&(n=!1),0!=(4&p)&&(e=!1),0!=(8&p)&&(r=!1),0!=(16&p)&&(i=!1),0!=(32&p)&&(o=!0),0!=(64&p)&&(s=" "),0!=(128&p)&&(a=!1),0!=(256&p)&&(u=!1),0!=(512&p)&&(c="type"),0!=(1024&p)&&(l=!1),0!=(2048&p)&&(h=!0),sr.call(_,t,n,e,r,i,o,s,a,u,c,l,h),_}(t,n,e,r,i,o,s,a,u,c,l,h,p,0,Object.create(sr.prototype))}(!1,!1,!1,!1,!1,!1,null,!1,!1,null,!1,!1,4095),nt())}function tr(){return null==r&&new Qe,r}function nr(t,n){tr(),this.g2v_1=t,this.h2v_1=n,this.i2v_1=new Ii}function er(t){this.y2v_1=t.g2v_1.l2w_1,this.z2v_1=t.g2v_1.q2w_1,this.a2w_1=t.g2v_1.m2w_1,this.b2w_1=t.g2v_1.n2w_1,this.c2w_1=t.g2v_1.o2w_1,this.d2w_1=t.g2v_1.p2w_1,this.e2w_1=t.g2v_1.r2w_1,this.f2w_1=t.g2v_1.s2w_1,this.g2w_1=t.g2v_1.t2w_1,this.h2w_1=t.g2v_1.u2w_1,this.i2w_1=t.g2v_1.v2w_1,this.j2w_1=t.g2v_1.w2w_1,this.k2w_1=t.n2d()}function rr(t,n){nr.call(this,t,n),function(t){if(ht(t.n2d(),nt()))return ot();var n=new Ai(t.g2v_1.t2w_1,t.g2v_1.u2w_1);t.n2d().n2u(n)}(this)}function ir(){}function or(){}function sr(t,n,e,r,i,o,s,a,u,c,l,h){this.l2w_1=t,this.m2w_1=n,this.n2w_1=e,this.o2w_1=r,this.p2w_1=i,this.q2w_1=o,this.r2w_1=s,this.s2w_1=a,this.t2w_1=u,this.u2w_1=c,this.v2w_1=l,this.w2w_1=h}function ar(){}function ur(){i=this}function cr(){null==i&&new ur}function lr(){o=this}function hr(t){null==o&&new lr,cr.call(this),this.b2x_1=t}function pr(){s=this}function fr(t){var n=t.k2(),e=t.m2(),r=$t();return Ji(r,n),r.q9(lt(58)),r.db(e),r.toString()}function _r(t){null==s&&new pr,cr.call(this),this.f2x_1=t}function dr(){a=this}function vr(){null==a&&new dr,cr.call(this)}function yr(t,n){vr.call(this),this.h2x_1=n,this.i2x_1=st(t)}function mr(){return Rr()}function gr(){u=this,vr.call(this),this.j2x_1="null";var t=kt();this.k2x_1=jt(t,mr)}function $r(){return null==u&&new gr,u}function br(t){return function(t){return Ki(),!!Oe(t,"true",!0)||!Oe(t,"false",!0)&&null}(t.c1e())}function wr(t){return Ct(t.c1e())}function xr(t){var n,e=t instanceof vr?t:null;return null==e?function(t,n){throw at("Element "+wt(t)+" is not a "+n)}(t,"JsonPrimitive"):n=e,n}function kr(t){var n=Fr(jr);t.e2d("JsonPrimitive",n,null,!1,12,null);var e=Fr(zr);t.e2d("JsonNull",e,null,!1,12,null);var r=Fr(Cr);t.e2d("JsonLiteral",r,null,!1,12,null);var i=Fr(Sr);t.e2d("JsonObject",i,null,!1,12,null);var o=Fr(qr);return t.e2d("JsonArray",o,null,!1,12,null),ot()}function jr(){return Lr().m2x_1}function zr(){return Rr().n2x_1}function Cr(){return Ur().o2x_1}function Sr(){return Tr().p2x_1}function qr(){return Er().q2x_1}function Or(){c=this;var t=Mt();this.r2x_1=At("kotlinx.serialization.json.JsonElement",t,[],kr,4,null)}function Pr(){return null==c&&new Or,c}function Mr(){l=this,this.t2x_1=It(Pr()).t2c(),this.u2x_1="kotlinx.serialization.json.JsonArray"}function Ar(){h=this,this.q2x_1=(null==l&&new Mr,l)}function Er(){return null==h&&new Ar,h}function Ir(){p=this,this.w2x_1=Lt(Bt(Tt()),Pr()).t2c(),this.x2x_1="kotlinx.serialization.json.JsonObject"}function Dr(){f=this,this.p2x_1=(null==p&&new Ir,p)}function Tr(){return null==f&&new Dr,f}function Br(){_=this;var t=Nt();this.m2x_1=At("kotlinx.serialization.json.JsonPrimitive",t,[],null,12,null)}function Lr(){return null==_&&new Br,_}function Nr(){d=this;var t=Rt();this.n2x_1=At("kotlinx.serialization.json.JsonNull",t,[],null,12,null)}function Rr(){return null==d&&new Nr,d}function Fr(t){return new Yr(t)}function Hr(){v=this,this.o2x_1=Ft("kotlinx.serialization.json.JsonLiteral",Nt())}function Ur(){return null==v&&new Hr,v}function Vr(t){!function(t){var n=Kt(t,Gr)?t:null;if(null==n)throw Yt("This serializer can be used only with Json format.Expected Encoder to be JsonEncoder, got "+wt(t))}(t)}function Wr(t){var n=Kt(t,ar)?t:null;if(null==n)throw Yt("This serializer can be used only with Json format.Expected Decoder to be JsonDecoder, got "+wt(t));return n}function Jr(t){Wr(t)}function Kr(t){return nn("original",1,tn,(function(t){return Kr(t)}),null),t.c2y_1.m2()}function Yr(t){this.c2y_1=Gt(t)}function Gr(){}function Xr(t){this.d2y_1=t,this.e2y_1=!0}function Zr(t,n){Xr.call(this,t),this.z2y_1=n}function Qr(t,n){Xr.call(this,t),this.c2z_1=n,this.d2z_1=0}function ti(t){var n,e;this.e2z_1=new _n(t,(n=this,e=function(t,e){return i=t,o=e,(r=n).f2z_1=!i.i2e(o)&&i.f2e(o).v2d(),r.f2z_1;var r,i,o},e.callableName="readIfAbsent",e)),this.f2z_1=!1}function ni(t,n){var e="Unexpected special floating-point value "+st(n)+". By default, non-finite floating point values are prohibited because they do not conform JSON specification";t.g2z(e,0,Jo(),2,null)}function ei(t){li.call(this,t),dn(this,ei)}function ri(t){return new ei("Value of type '"+t.z2d()+"' can't be used in JSON as a key in the map. It should have either primitive or enum kind, but its kind is '"+t.d2e()+"'.\n"+Q)}function ii(t){li.call(this,t),dn(this,ii)}function oi(t,n,e){return ai(t,n+"\nJSON input: "+hi(e,t))}function si(t,n,e){return ai(-1,function(t,n,e){return"Unexpected special floating-point value "+st(t)+" with key "+n+". By default, non-finite floating point values are prohibited because they do not conform JSON specification. "+Jo()+"\nCurrent output: "+pi(e,0,1)}(t,n,e))}function ai(t,n){return new ii(t>=0?"Unexpected JSON token at offset "+t+": "+n:n)}function ui(t,n){return ai(-1,"Encountered unknown key '"+t+"'.\n"+G+"\nCurrent input: "+pi(n,0,1))}function ci(t,n){return new ei("Unexpected special floating-point value "+st(t)+". By default, non-finite floating point values are prohibited because they do not conform JSON specification. "+Jo()+"\nCurrent output: "+pi(n,0,1))}function li(t){yn(t,this),dn(this,li)}function hi(t,n){if(mn(t)<200)return t;if(-1===n){var e=mn(t)-60|0;if(e<=0)return t;var r=mn(t);return"....."+st(gn(t,e,r))}var i=n-30|0,o=n+30|0,s=i<=0?"":".....",a=o>=mn(t)?"":".....",u=$n(i,0),c=bn(o,mn(t));return s+st(gn(t,u,c))+a}function pi(t,n,e,r){return 0!=(1&e)&&(n=-1),hi(t,n)}function fi(){return yi(),y}function _i(t,n,e){yi();var r=t.g2e(e);if(wn(),-3!==r)return r;if(!n.g2v_1.w2w_1)return r;var i,o,s,a=Yo(n),u=fi(),c=a.i2z(t,u,(o=t,s=function(){return di(o)},s.callableName="buildAlternativeNamesMap",s)).a3(e);return null==c?(wn(),i=-3):i=c,i}function di(t){yi();var n=null,e=0,r=t.b2e();if(e>12),i=Wi(e>>8),o=Wi(e>>4),s=Wi(e);t[e]="\\u"+new ct(r)+new ct(i)+new ct(o)+new ct(s)}while(n<=31);t[34]='\\"',t[92]="\\\\",t[9]="\\t",t[8]="\\b",t[10]="\\n",t[13]="\\r",t[12]="\\f",w=t;var a=new Int8Array(93),u=0;if(u<=31)do{var c=u;u=u+1|0,a[c]=1}while(u<=31);34,a[34]=Pe(34),92,a[92]=Pe(92),116,a[9]=Pe(116),98,a[8]=Pe(98),110,a[10]=Pe(110),114,a[13]=Pe(114),102,a[12]=Pe(102)}}function Yi(t){var n=t.o2s(),e=null==n?null:t.r32(n);return null==e?t.m2():e}function Gi(t,n){throw oi(-1,"Failed to parse '"+n+"'",st(Yi(t)))}function Xi(t,n,e){var r=t instanceof yr?t:null;if(null==r)throw ai(-1,"Unexpected 'null' when "+e+" was expected");return r}function Zi(t,n){Me.call(this),this.o32_1=t,this.p32_1=n,this.q32_1=this.z2w().g2v_1}function Qi(t,n,e,r,i,o,s){return 0!=(4&i)&&(e=null),0!=(8&i)&&(r=null),eo.call(s,t,n,e,r),s}function to(t,n,e,r){var i,o;t:{var s=t.z2w(),a=n.f2e(e);if(!a.v2d()&&t.r32(r)instanceof gr)i=!0;else{if(ht(a.d2e(),Rt())){var u=t.r32(r),c=u instanceof vr?u:null,l=null==c?null:(o=c)instanceof gr?null:o.c1e();if(null==l){i=!1;break t}var h=_i(a,s,l);if(wn(),-3===h){ot(),i=!0;break t}}i=!1}}return i}function no(t,n,e){return t.n33_1=!t.z2w().g2v_1.q2w_1&&!n.i2e(e)&&n.f2e(e).v2d(),t.n33_1}function eo(t,n,e,r){Zi.call(this,t,n),this.j33_1=n,this.k33_1=e,this.l33_1=r,this.m33_1=0,this.n33_1=!1}function ro(t,n){Zi.call(this,t,n),this.t33_1=n,this.u33_1=this.t33_1.f(),this.v33_1=-1}function io(t,n){Qi(t,n,null,null,12,0,this),this.g34_1=n,this.h34_1=Ne(this.g34_1.b3()),this.i34_1=tt(this.h34_1.f(),2),this.j34_1=-1}function oo(){if(S)return ot();S=!0,k=new so("OBJ",0,qo(),Oo()),j=new so("LIST",1,Po(),Mo()),z=new so("MAP",2,qo(),Oo()),C=new so("POLY_OBJ",3,Po(),Mo())}function so(t,n,e,r){Re.call(this,t,n),this.f32_1=e,this.g32_1=r}function ao(t,n){var e,r=n.d2e();if(r instanceof Yn)e=po();else if(ht(r,Mn()))e=lo();else if(ht(r,Xn())){var i,o=uo(n.f2e(0),t.n2d()),s=o.d2e();if(s instanceof Kn||ht(s,Rt()))i=ho();else{if(!t.g2v_1.o2w_1)throw ri(o);i=lo()}e=i}else e=co();return e}function uo(t,n){var e;if(ht(t.d2e(),Gn())){var r=Fe(n,t),i=null==r?null:uo(r,n);e=null==i?t:i}else e=t.c2e()?uo(t.f2e(0),n):t;return e}function co(){return oo(),k}function lo(){return oo(),j}function ho(){return oo(),z}function po(){return oo(),C}function fo(t,n,e){return t.k34(n,e),function(t,n){var e=n;-1===(e=t.m34(e))&&t.g2z("Expected escape sequence to continue, got EOF",0,null,6,null);var r=t.l34(),i=e;e=i+1|0;var o=ut(r,i);if(ht(new ct(o),new ct(lt(117))))return yo(t,t.l34(),e);var s=function(t){return t<117?Wo().v34_1[t]:lt(0)}(qe(o));if(ht(new ct(s),new ct(lt(0)))){var a="Invalid escaped char '"+new ct(o)+"'";t.g2z(a,0,null,6,null)}return t.w2v_1.q9(s),e}(t,e+1|0)}function _o(t,n,e){t.k34(n,e);var r=t.w2v_1.toString();return t.w2v_1.vk(0),r}function vo(t){var n=zn(t.v2v_1);return t.v2v_1=null,n}function yo(t,n,e){return(e+4|0)>=mn(n)?(t.t2v_1=e,t.n34(),(t.t2v_1+4|0)>=mn(n)&&t.g2z("Unexpected EOF during unicode escape",0,null,6,null),yo(t,n,t.t2v_1)):(t.w2v_1.q9(Se((((mo(t,n,e)<<12)+(mo(t,n,e+1|0)<<8)|0)+(mo(t,n,e+2|0)<<4)|0)+mo(t,n,e+3|0)|0)),e+4|0)}function mo(t,n,e){var r,i=ut(n,e);if(lt(48)<=i&&i<=lt(57))r=qe(i)-48|0;else if(lt(97)<=i&&i<=lt(102))r=10+(qe(i)-97|0)|0;else if(lt(65)<=i&&i<=lt(70))r=10+(qe(i)-65|0)|0;else{var o="Invalid toHexChar char '"+new ct(i)+"' in unicode escape";t.g2z(o,0,null,6,null)}return r}function go(t,n){var e=t.m34(n);(e>=mn(t.l34())||-1===e)&&t.g2z("EOF",0,null,6,null);var r=t.l34(),i=e;e=i+1|0;var o,s=ut(r,i),a=32|qe(s);if(116===a)$o(t,"rue",e),o=!0;else if(102===a)$o(t,"alse",e),o=!1;else{var u="Expected valid boolean literal prefix, but had '"+t.i30()+"'";t.g2z(u,0,null,6,null)}return o}function $o(t,n,e){(mn(t.l34())-e|0)=0&&(t.eb("."),t.eb(i.h2e(o)))}else i!==gi()&&(t.eb("["),t.eb("'"),t.db(i),t.eb("'"),t.eb("]"))}while(e=0&&ht(new ct(t),new ct(lt(34)))&&"null"===this.i30()&&this.r34("Expected string literal but 'null' literal was found",this.t2v_1-4|0,"Use 'coerceInputValues = true' in 'Json {}` builder to coerce nulls to default values."),this.p34(wo(t))},bo.prototype.p34=function(t){var n="Expected "+(1===t?"quotation mark '\"'":4===t?"comma ','":5===t?"colon ':'":6===t?"start of the object '{'":7===t?"end of the object '}'":8===t?"start of the array '['":9===t?"end of the array ']'":"valid token")+", but had '"+(this.t2v_1===mn(this.l34())||this.t2v_1<=0?"EOF":me(ut(this.l34(),this.t2v_1-1|0)))+"' instead",e=this.t2v_1-1|0;this.g2z(n,e,null,4,null)},bo.prototype.f30=function(){for(var t=this.l34(),n=this.t2v_1;-1!==(n=this.m34(n));){var e=ut(t,n);if(!(ht(new ct(e),new ct(lt(32)))||ht(new ct(e),new ct(lt(10)))||ht(new ct(e),new ct(lt(13)))||ht(new ct(e),new ct(lt(9)))))return this.t2v_1=n,wo(e);n=n+1|0}return this.t2v_1=n,10},bo.prototype.v31=function(){var t=this.s34();t=this.m34(t);var n=mn(this.l34())-t|0;if(n<4||-1===t)return!0;var e=0;if(e<=3)do{var r=e;if(e=e+1|0,!ht(new ct(ut("null",r)),new ct(ut(this.l34(),t+r|0))))return!0}while(e<=3);return n>4&&0===wo(ut(this.l34(),t+4|0))||(this.t2v_1=t+4|0,!1)},bo.prototype.s34=function(){var t=this.t2v_1;t:for(;-1!==(t=this.m34(t));){var n=ut(this.l34(),t);if(!(ht(new ct(n),new ct(lt(32)))||ht(new ct(n),new ct(lt(10)))||ht(new ct(n),new ct(lt(13)))||ht(new ct(n),new ct(lt(9)))))break t;t=t+1|0}return this.t2v_1=t,t},bo.prototype.w31=function(t){var n,e=this.f30();if(t){if(1!==e&&0!==e)return null;n=this.i30()}else{if(1!==e)return null;n=this.h30()}var r=n;return this.v2v_1=r,r},bo.prototype.t34=function(t,n){var e=this.l34();return st(gn(e,t,n))},bo.prototype.h30=function(){return null!=this.v2v_1?vo(this):this.z31()},bo.prototype.consumeString2=function(t,n,e){for(var r=e,i=n,o=ut(t,r),s=!1;!ht(new ct(o),new ct(lt(34)));){if(ht(new ct(o),new ct(lt(92)))){if(s=!0,-1===(r=this.m34(fo(this,i,r)))){var a=r;this.g2z("EOF",a,null,4,null)}i=r}else if((r=r+1|0)>=mn(t)){if(s=!0,this.k34(i,r),-1===(r=this.m34(r))){var u=r;this.g2z("EOF",u,null,4,null)}i=r}o=ut(t,r)}var c=s?_o(this,i,r):this.t34(i,r);return this.t2v_1=r+1|0,c},bo.prototype.a32=function(){var t,n=this.i30();return"null"===n&&!ht(new ct(ut((t=this).l34(),t.t2v_1-1|0)),new ct(lt(34)))&&this.g2z("Unexpected 'null' value instead of string literal",0,null,6,null),n},bo.prototype.i30=function(){if(null!=this.v2v_1)return vo(this);var t=this.s34();if(t>=mn(this.l34())||-1===t){var n=t;this.g2z("EOF",n,null,4,null)}var e=wo(ut(this.l34(),t));if(1===e)return this.h30();if(0!==e){var r="Expected beginning of the string, but got "+new ct(ut(this.l34(),t));this.g2z(r,0,null,6,null)}for(var i=!1;0===wo(ut(this.l34(),t));)if((t=t+1|0)>=mn(this.l34())){i=!0,this.k34(this.t2v_1,t);var o=this.m34(t);if(-1===o)return this.t2v_1=t,_o(this,0,0);t=o}var s=i?_o(this,this.t2v_1,t):this.t34(this.t2v_1,t);return this.t2v_1=t,s},bo.prototype.k34=function(t,n){this.w2v_1.uk(this.l34(),t,n)},bo.prototype.u34=function(t,n,e){if(!t){var r=e();this.g2z(r,n,null,4,null)}},bo.prototype.y31=function(t){var n=xn(),e=this.f30();if(8!==e&&6!==e)return this.i30(),ot();for(;;)if(1!==(e=this.f30())){var r=e;if(8===r||6===r)n.a(e);else if(9===r){if(8!==He(n))throw oi(this.t2v_1,"found ] instead of } at path: "+this.u2v_1,this.l34());Ue(n)}else if(7===r){if(6!==He(n))throw oi(this.t2v_1,"found } instead of ] at path: "+this.u2v_1,this.l34());Ue(n)}else 10===r&&this.g2z("Unexpected end of input due to malformed JSON during ignoring unknown keys",0,null,6,null);if(this.k30(),0===n.f())return ot()}else t?this.i30():this.z31()},bo.prototype.toString=function(){return"JsonReader(source='"+this.l34()+"', currentPosition="+this.t2v_1+")"},bo.prototype.x31=function(t){var n=this.t34(0,this.t2v_1),e=Ve(n,t,0,!1,6,null);this.r34("Encountered an unknown key '"+t+"'",e,"Use 'ignoreUnknownKeys = true' in 'Json {}' builder to ignore unknown keys.")},bo.prototype.r34=function(t,n,e){var r=0===mn(e)?"":"\n"+e;throw oi(n,t+" at path: "+this.u2v_1.s2z()+r,this.l34())},bo.prototype.g2z=function(t,n,e,r,i){return 0!=(2&r)&&(n=this.t2v_1),0!=(4&r)&&(e=""),this.r34(t,n,e)},bo.prototype.j32=function(){var t,n=this.s34();((n=this.m34(n))>=mn(this.l34())||-1===n)&&this.g2z("EOF",0,null,6,null),ht(new ct(ut(this.l34(),n)),new ct(lt(34)))?((n=n+1|0)===mn(this.l34())&&this.g2z("EOF",0,null,6,null),t=!0):t=!1;var e,r=t,i=new We(0,0),o=!1,s=n,a=!0;t:for(;a;){var u=ut(this.l34(),n);if(ht(new ct(u),new ct(lt(45))))n!==s&&this.g2z("Unexpected symbol '-' in numeric literal",0,null,6,null),o=!0,n=n+1|0;else{if(0!==wo(u))break t;a=!((n=n+1|0)===mn(this.l34()));var c=Je(u,lt(48));if(!(0<=c&&c<=9)){var l="Unexpected symbol '"+new ct(u)+"' in numeric literal";this.g2z(l,0,null,6,null)}(i=i.t9(new We(10,0)).v9(on(c))).c1(new We(0,0))>0&&this.g2z("Numeric value overflow",0,null,6,null)}}if((s===n||o&&s===(n-1|0))&&this.g2z("Expected numeric literal",0,null,6,null),r&&(a||this.g2z("EOF",0,null,6,null),ht(new ct(ut(this.l34(),n)),new ct(lt(34)))||this.g2z("Expected closing quotation mark",0,null,6,null),n=n+1|0),this.t2v_1=n,o)e=i;else{var h=i;Ke(),h.equals(new We(0,-2147483648))?this.g2z("Numeric value overflow",0,null,6,null):e=i.r9()}return e},bo.prototype.h32=function(){return go(this,this.s34())},bo.prototype.i32=function(){var t,n=this.s34();n===mn(this.l34())&&this.g2z("EOF",0,null,6,null),ht(new ct(ut(this.l34(),n)),new ct(lt(34)))?(n=n+1|0,t=!0):t=!1;var e=t,r=go(this,n);if(e){this.t2v_1===mn(this.l34())&&this.g2z("EOF",0,null,6,null),ht(new ct(ut(this.l34(),this.t2v_1)),new ct(lt(34)))||this.g2z("Expected closing quotation mark",0,null,6,null);this.t2v_1=this.t2v_1+1|0}return r},bo.$metadata$=it("AbstractJsonLexer"),Vo.$metadata$=et("CharMappings"),Ko.prototype.l34=function(){return this.b35_1},Ko.prototype.m34=function(t){return t=0},Wn.prototype.cu=function(){var t=this.tt_1,n=null==t?null:t.du();return null==n||n},Wn.prototype.eu=function(t){this.rt_1=this.rt_1.u9(Vn(0,t)),t||(this.st_1=!0)},Wn.prototype.fu=function(t){if(this.rt_1=this.rt_1.v9(Vn(0,t)),this.rt_1.c1(new jt(0,0))>0)return N();this.st_1&&this.gu()},Wn.prototype.gu=function(){},Wn.$metadata$=W("EventLoop",void 0,void 0,void 0,void 0,Tn.prototype),Jn.prototype.iu=function(){var t,n=this.hu_1.ku();if(null==n){var e=new Wr;Kn().hu_1.lu(e),t=e}else t=n;return t},Jn.$metadata$=st("ThreadLocalEventLoop"),Yn.$metadata$=W("CompletionHandlerException",void 0,void 0,void 0,void 0,zt.prototype),Gn.$metadata$=W("CoroutinesInternalError",void 0,void 0,void 0,void 0,qt.prototype),Xn.$metadata$=nt("DisposableHandle"),Zn.$metadata$=st("Key",[$t]),te.$metadata$=nt("Job",[Pt]),ne.$metadata$=nt("ChildJob",[te]),ee.$metadata$=nt("ParentJob",[te]),re.$metadata$=nt("ChildHandle",[Xn]),ie.prototype.js=function(){},ie.prototype.gq=function(t){return!1},ie.prototype.toString=function(){return"NonDisposableHandle"},ie.$metadata$=st("NonDisposableHandle",[Xn,re]),fe.prototype.xo=function(){return this.mu_1},fe.prototype.nu=function(){return null},fe.prototype.toString=function(){return"Empty{"+(this.mu_1?"Active":"New")+"}"},fe.$metadata$=W("Empty",[_e]),_e.$metadata$=nt("Incomplete"),de.prototype.xo=function(){return!0},de.prototype.nu=function(){return this},de.prototype.ru=function(t){var n=At();n.eb("List{"),n.eb(t),n.eb("}[");for(var e=!0,r=this.su_1;!Y(r,this);){if(r instanceof ve){var i=r;e?e=!1:n.eb(", "),n.db(i)}r=r.su_1}return n.eb("]"),n.toString()},de.prototype.toString=function(){return Nr()?this.ru("Active"):ii.prototype.toString.call(this)},de.$metadata$=W("NodeList",[_e],void 0,void 0,void 0,ii.prototype),ve.prototype.gv=function(){var t=this.fv_1;if(null!=t)return t;Et("job")},ve.prototype.xo=function(){return!0},ve.prototype.nu=function(){return null},ve.prototype.js=function(){return this.gv().aq(this)},ve.prototype.toString=function(){return Rr(this)+"@"+Fr(this)+"[job@"+Fr(this.gv())+"]"},ve.$metadata$=W("JobNode",[Xn,_e],void 0,void 0,void 0,Ar.prototype),Ie.prototype.nu=function(){return this.jv_1},Ie.prototype.uv=function(t){this.kv_1.no_1=t},Ie.prototype.qv=function(){return this.kv_1.no_1},Ie.prototype.aw=function(t){this.lv_1.jo_1=t},Ie.prototype.tv=function(){return this.lv_1.jo_1},Ie.prototype.rv=function(){return me(this)===he()},Ie.prototype.nv=function(){return!(null==this.tv())},Ie.prototype.xo=function(){return null==this.tv()},Ie.prototype.ov=function(t){var n,e=me(this);if(null==e)n=ge();else if(e instanceof Error){var r=ge();r.a(e),n=r}else{if(!(e instanceof Tt)){var i="State is "+rt(e);throw X(it(i))}n=e instanceof Tt?e:B()}var o=n,s=this.tv(),a=s;return null==a||(o.yf(0,a),N()),null==t||Y(t,s)||o.a(t),ye(this,he()),o},Ie.prototype.sv=function(t){var n=this.tv();if(null==n)return this.aw(t),N();if(t===n)return N();var e=me(this);if(null==e)ye(this,t);else if(e instanceof Error){if(t===e)return N();var r=ge();r.a(e),r.a(t),ye(this,r)}else{if(!(e instanceof Tt)){var i="State is "+rt(e);throw X(it(i))}(e instanceof Tt?e:B()).a(t)}},Ie.prototype.toString=function(){return"Finishing[cancelling="+this.nv()+", completing="+this.qv()+", rootCause="+this.tv()+", exceptions="+rt(me(this))+", list="+this.jv_1+"]"},Ie.$metadata$=W("Finishing",[_e]),De.prototype.ht=function(t){!function(t,n,e,r){var i=Ae(e);if(null!=i&&Me(t,n,i,r))return N();var o=$e(t,n,r);t.hp(o)}(this.fw_1,this.gw_1,this.hw_1,this.iw_1)},De.prototype.invoke=function(t){return this.ht(t)},De.$metadata$=W("ChildCompletion",void 0,void 0,void 0,void 0,ve.prototype),Te.prototype.yw=function(t,n){var e=this.zw(t,n);return e.l7_1=N(),e.m7_1=null,e.q7()},Te.prototype.r7=function(t,n){return this.yw(t instanceof Lt?t:B(),n)},Te.prototype.q7=function(){var t=this.l7_1;t:for(;;)try{switch(this.j7_1){case 0:if(this.k7_1=8,this.tw_1=this.rw_1.qp(),this.tw_1 instanceof Fe){if(this.j7_1=6,(t=this.sw_1.t4(this.tw_1.zv_1,this))===tt())return t;continue t}var n=this.tw_1;if(null!=n&&et(n,_e)){if(this.uw_1=this.tw_1.nu(),null==this.uw_1){this.vw_1=null,this.j7_1=5;continue t}this.ww_1=this.uw_1.su_1,this.j7_1=1;continue t}this.j7_1=7;continue t;case 1:if(Y(this.ww_1,this.uw_1)){this.j7_1=4;continue t}if(this.ww_1 instanceof Fe){if(this.xw_1=this.ww_1,this.j7_1=2,(t=this.sw_1.t4(this.xw_1.zv_1,this))===tt())return t;continue t}this.j7_1=3;continue t;case 2:this.j7_1=3;continue t;case 3:this.ww_1=this.ww_1.su_1,this.j7_1=1;continue t;case 4:this.vw_1=N(),this.j7_1=5;continue t;case 5:case 6:this.j7_1=7;continue t;case 7:return N();case 8:throw this.m7_1}}catch(t){if(8===this.k7_1)throw t;this.j7_1=this.k7_1,this.m7_1=t}},Te.prototype.zw=function(t,n){var e=new Te(this.rw_1,n);return e.sw_1=t,e},Te.$metadata$=W("JobSupport$$slambda",void 0,void 0,void 0,[1],Bt.prototype),Be.prototype.k2=function(){return Qn()},Be.prototype.op=function(t){this.ro_1.jo_1=t},Be.prototype.pp=function(){return this.ro_1.jo_1},Be.prototype.so=function(t){if(null==t)return this.op(oe()),N();t.sp();var n=t.kq(this);this.op(n),this.rp()&&(n.js(),this.op(oe()))},Be.prototype.qp=function(){for(var t=this.qo_1;;){var n=t.jo_1;if(!(n instanceof _r))return n;n.ax(this)}},Be.prototype.xo=function(){var t=this.qp();return!(null==t||!et(t,_e))&&t.xo()},Be.prototype.rp=function(){var t=this.qp();return!(null!=t&&et(t,_e))},Be.prototype.sp=function(){for(;;){var t=ke(this,this.qp());if(0===t)return!1;if(1===t)return!0}},Be.prototype.tp=function(){},Be.prototype.up=function(){var t,n=this.qp();if(n instanceof Ie){var e=n.tv(),r=null==e?null:this.vp(e,Rr(this)+" is cancelling");if(null==r)throw X(it("Job is still new or active: "+this));t=r}else{if(null!=n&&et(n,_e))throw X(it("Job is still new or active: "+this));t=n instanceof qn?this.wp(n.cp_1,null,1,null):new Jr(Rr(this)+" has completed normally",null,this)}return t},Be.prototype.vp=function(t,n){var e,r=t instanceof Dt?t:null;if(null==r){var i=n;e=new Jr(null==i?this.ap():i,t,this)}else e=r;return e},Be.prototype.wp=function(t,n,e,r){return 0!=(1&e)&&(n=null),this.vp(t,n)},Be.prototype.xp=function(t){return this.yp(!1,!0,t)},Be.prototype.yp=function(t,n,e){for(var r=function(t,n,e){var r;if(e){var i=n instanceof Ne?n:null;r=null==i?new He(n):i}else{var o=n instanceof ve?n:null,s=null==o?null:o;r=null==s?new Ue(n):s}var a=r;return a.fv_1=t,a}(this,e,t);;)t:{var i=this.qp(),o=i;if(o instanceof fe)if(i.mu_1){if(this.qo_1.atomicfu$compareAndSet(i,r))return r}else ze(this,i);else{if(null==o||!et(o,_e)){if(n){var s=i instanceof qn?i:null;Er(e,null==s?null:s.cp_1)}return oe()}var a=i.nu();if(null==a)Ce(this,i instanceof ve?i:B());else{var u=null,c=oe();if(t&&i instanceof Ie&&(null==(u=i.tv())||e instanceof Fe&&!i.qv())){if(!je(this,i,a,r)){N();break t}if(null==u)return r;c=r,N()}if(null!=u)return n&&Er(e,u),c;if(je(this,i,a,r))return r}}}},Be.prototype.aq=function(t){for(;;){var n=this.qp();if(!(n instanceof ve))return null!=n&&et(n,_e)?(null!=n.nu()&&t.hv(),N()):N();if(n!==t)return N();if(this.qo_1.atomicfu$compareAndSet(n,pe()))return N()}},Be.prototype.bq=function(){return!1},Be.prototype.cq=function(t){var n,e=t;if(null==e){n=new Jr(this.ap(),null,this)}else n=e;this.eq(n)},Be.prototype.ap=function(){return"Job was cancelled"},Be.prototype.eq=function(t){this.hq(t)},Be.prototype.fq=function(t){this.hq(t)},Be.prototype.gq=function(t){return t instanceof Dt||!!this.hq(t)&&this.nq()},Be.prototype.hq=function(t){var n,e=ae();return!(!this.bq()||(e=function(t,n){for(;;){var e=t.qp();if(null==e||!et(e,_e)||e instanceof Ie&&e.qv())return ae();var r=Pe(t,e,Sn(Se(t,n),!1,2));if(r!==ce())return r}}(this,t))!==ue())||(e===ae()&&(e=function(t,n){for(var e=null;;)t:{var r=t.qp(),i=r;if(i instanceof Ie){if(r.rv())return le();var o=r.nv();if(null!=n||!o){var s,a=e;if(null==a){var u=Se(t,n);e=u,s=u}else s=a;var c=s;r.sv(c)}var l=r.tv(),h=o?null:l;return null==h||(we(t,r.jv_1,h),N()),ae()}if(null==i||!et(i,_e))return le();var p,f=e;if(null==f){var _=Se(t,n);e=_,p=_}else p=f;var d=p;if(!r.xo()){var v=Pe(t,r,Sn(d,!1,2));if(v===ae()){var y="Cannot happen in "+rt(r);throw X(it(y))}if(v===ce()){N();break t}return v}if(Oe(t,r,d))return ae()}}(this,t)),e===ae()||e===ue()?n=!0:e===le()?n=!1:(this.hp(e),n=!0),n)},Be.prototype.iq=function(t,n){var e=t;return new Jr(null==e?this.ap():e,n,this)},Be.prototype.jq=function(){var t,n=this.qp(),e=n;if(e instanceof Ie)t=n.tv();else if(e instanceof qn)t=n.cp_1;else{if(null!=e&&et(e,_e)){var r="Cannot be cancelling child in this state: "+rt(n);throw X(it(r))}t=null}var i=t,o=i instanceof Dt?i:null;return null==o?new Jr("Parent job is "+Ee(0,n),i,this):o},Be.prototype.fp=function(t){for(;;){var n=Pe(this,this.qp(),t);if(n===ae())throw Nt("Job "+this+" is already complete or completing, but is being completed with "+rt(t),(r=void 0,null==(r=(e=t)instanceof qn?e:null)?null:r.cp_1));if(n!==ce())return n;N()}var e,r},Be.prototype.it=function(){return Rt((t=new Te(this,null),(n=function(n,e){return t.yw(n,e)}).$arity=1,n));var t,n},Be.prototype.kq=function(t){var n;n=new Fe(t);var e=this.zp(!0,!1,n,2,null);return et(e,re)?e:B()},Be.prototype.ip=function(t){throw t},Be.prototype.lq=function(t){},Be.prototype.mq=function(){return!1},Be.prototype.nq=function(){return!0},Be.prototype.oq=function(t){return!1},Be.prototype.bp=function(t){},Be.prototype.hp=function(t){},Be.prototype.toString=function(){return this.pq()+"@"+Fr(this)},Be.prototype.pq=function(){return this.jp()+"{"+Ee(0,this.qp())+"}"},Be.prototype.jp=function(){return Rr(this)},Be.$metadata$=W("JobSupport",[te,ne,ee,Mr]),Ne.$metadata$=W("JobCancellingNode",void 0,void 0,void 0,void 0,ve.prototype),Re.prototype.nu=function(){return this.pv_1},Re.prototype.xo=function(){return!1},Re.prototype.toString=function(){return Nr()?this.pv_1.ru("New"):Ft(this)},Re.$metadata$=W("InactiveNodeList",[_e]),Fe.prototype.ht=function(t){return this.zv_1.fq(this.gv())},Fe.prototype.invoke=function(t){return this.ht(t)},Fe.prototype.gq=function(t){return this.gv().gq(t)},Fe.$metadata$=W("ChildHandleNode",[re],void 0,void 0,void 0,Ne.prototype),He.prototype.ht=function(t){this.gx_1.atomicfu$compareAndSet(0,1)&&this.fx_1(t)},He.prototype.invoke=function(t){return this.ht(t)},He.$metadata$=W("InvokeOnCancelling",void 0,void 0,void 0,void 0,Ne.prototype),Ue.prototype.ht=function(t){return this.lx_1(t)},Ue.prototype.invoke=function(t){return this.ht(t)},Ue.$metadata$=W("InvokeOnCompletion",void 0,void 0,void 0,void 0,ve.prototype),We.$metadata$=W("IncompleteStateBox"),Je.prototype.ht=function(t){this.rx_1.vs(this.rx_1.ws(this.gv()))},Je.prototype.invoke=function(t){return this.ht(t)},Je.$metadata$=W("ChildContinuation",void 0,void 0,void 0,void 0,Ne.prototype),Ke.prototype.bq=function(){return!0},Ke.prototype.nq=function(){return this.ux_1},Ke.$metadata$=W("JobImpl",[Cn],void 0,void 0,void 0,Be.prototype),Ge.prototype.toString=function(){var t=this.xx();return null==t?Rr(this)+"@"+Fr(this):t},Ge.prototype.xx=function(){var t,n=Ur().cy();if(this===n)return"Dispatchers.Main";try{t=n.wx()}catch(n){if(!(n instanceof Ht))throw n;t=null}return this===t?"Dispatchers.Main.immediate":null},Ge.$metadata$=W("MainCoroutineDispatcher",void 0,void 0,void 0,void 0,Tn.prototype),Xe.prototype.gq=function(t){return!1},Xe.$metadata$=W("SupervisorJobImpl",void 0,void 0,void 0,void 0,Ke.prototype),Ze.$metadata$=W("TimeoutCancellationException",[Hn],void 0,void 0,void 0,Dt.prototype),Qe.prototype.mt=function(t){return!1},Qe.prototype.nt=function(t,n){var e=t.y7((null==w&&new tr,w));if(null!=e)return e.iy_1=!0,N();throw Ut("Dispatchers.Unconfined.dispatch function can only be used by the yield function. If you wrap Unconfined dispatcher in your code, make sure you properly delegate isDispatchNeeded and dispatch calls.")},Qe.prototype.toString=function(){return"Dispatchers.Unconfined"},Qe.$metadata$=st("Unconfined",void 0,void 0,void 0,void 0,Tn.prototype),tr.$metadata$=st("Key",[$t]),nr.$metadata$=nt("Flow"),er.$metadata$=nt("FlowCollector"),rr.$metadata$=nt("MutableSharedFlow",[ir,er]),ir.$metadata$=nt("SharedFlow",[nr]),or.$metadata$=nt("MutableStateFlow",[sr,rr]),sr.$metadata$=nt("StateFlow",[ir]),ur.prototype.jy=function(t){var n=t;ar(this,null,null==n?hr():n)},ur.prototype.m2=function(){var t=hr(),n=this.ty_1.jo_1;return n===t?null:L(n)?n:B()},ur.prototype.ky=function(t,n){var e=t,r=n;return ar(this,null==e?hr():e,null==r?hr():r)},ur.$metadata$=W("StateFlowImpl",[or,pr,lr],void 0,void 0,void 0,cr.prototype),cr.$metadata$=W("AbstractSharedFlow"),lr.$metadata$=nt("FusibleFlow",[nr]),pr.$metadata$=nt("CancellableFlow",[nr]),fr.prototype.du=function(){return this.wt_1===this.xt_1},fr.prototype.au=function(t){this.vt_1[this.xt_1]=t,this.xt_1=(this.xt_1+1|0)&(this.vt_1.length-1|0),this.xt_1===this.wt_1&&function(t){var n=t.vt_1.length,e=Wt(Array(n<<1),null),r=t.vt_1,i=t.wt_1,o=r.length;Jt(r,e,0,i,o);var s=t.vt_1,a=t.vt_1.length-t.wt_1|0,u=t.wt_1;Jt(s,e,a,0,u),t.vt_1=e,t.wt_1=0,t.xt_1=n}(this)},fr.prototype.yt=function(){if(this.wt_1===this.xt_1)return null;var t=this.vt_1[this.wt_1];return this.vt_1[this.wt_1]=null,this.wt_1=(this.wt_1+1|0)&(this.vt_1.length-1|0),L(t)?t:B()},fr.$metadata$=W("ArrayQueue"),_r.$metadata$=W("OpDescriptor"),gr.prototype.xy=function(){return this.tr_1},gr.prototype.b5=function(){return this.tr_1.b5()},gr.prototype.yy=function(){return this.vr_1},gr.prototype.xr=function(){return!(null==this.wr_1.jo_1)},gr.prototype.zy=function(){for(var t=this.wr_1;;)if(t.jo_1!==vr())return N()},gr.prototype.ot=function(){this.zy();var t,n=(t=this.wr_1.jo_1)instanceof gn?t:null;null==n||n.bs()},gr.prototype.as=function(t){for(var n=this.wr_1;;){var e=n.jo_1;if(e!==vr()){if(e instanceof Error){if(!this.wr_1.atomicfu$compareAndSet(e,null))throw Kt(it("Failed requirement."));return e}var r="Inconsistent state "+rt(e);throw X(it(r))}if(this.wr_1.atomicfu$compareAndSet(vr(),t))return null}},gr.prototype.zr=function(t){for(var n=this.wr_1;;){var e=n.jo_1,r=e;if(Y(r,vr())){if(this.wr_1.atomicfu$compareAndSet(vr(),t))return!0}else{if(r instanceof Error)return!0;if(this.wr_1.atomicfu$compareAndSet(e,null))return!1}}},gr.prototype.ks=function(){var t=this.ur_1;return this.ur_1=dr(),t},gr.prototype.hs=function(){return this},gr.prototype.z4=function(t){var n=this.tr_1.b5(),e=Mn(t,null,1);if(this.sr_1.mt(n))this.ur_1=e,this.yr_1=kr(),this.sr_1.nt(n,this);else{var r=kr(),i=Kn().iu();if(i.bu())this.ur_1=e,this.yr_1=r,i.zt(this);else{i.eu(!0);try{for(this.b5(),this.vr_1,this.tr_1.z4(t),N();i.ut(););}catch(t){if(!(t instanceof Error))throw t;this.ct(t,null)}finally{i.fu(!0)}}}},gr.prototype.ls=function(t,n){t instanceof An&&t.kt_1(n)},gr.prototype.az=function(t){var n=this.b5().y7(Qn());if(null!=n&&!n.xo()){var e,r=n.up();return this.ls(t,r),pt(),e=ft(_t(r)),this.z4(e),N(),!0}return!1},gr.prototype.bz=function(t){this.tr_1,this.vr_1,this.tr_1.z4(t),N()},gr.prototype.toString=function(){return"DispatchedContinuation["+this.sr_1+", "+Dr(this.tr_1)+"]"},gr.$metadata$=W("DispatchedContinuation",[si,V],void 0,void 0,void 0,wr.prototype),wr.prototype.at=function(){return this.yr_1},wr.prototype.ls=function(t,n){},wr.prototype.xs=function(t){return null==t||L(t)?t:B()},wr.prototype.zs=function(t){var n=t instanceof qn?t:null;return null==n?null:n.cp_1},wr.prototype.bt=function(){N(),N();var t=null;try{var n=this.hs(),e=n instanceof gr?n:B(),r=e.tr_1,i=(e.vr_1,r.b5()),o=this.ks(),s=this.zs(o),a=null==s&&xr(this.yr_1)?i.y7(Qn()):null;if(null==a||a.xo()){if(null!=s){var u;pt(),u=ft(_t(s)),r.z4(u),N()}else{var c,l=this.xs(o);pt(),c=ft(l),r.z4(c),N()}}else{var h,p=a.up();this.ls(o,p),pt();var f=ai(p);h=ft(_t(f)),r.z4(h),N()}}catch(n){if(!(n instanceof Error))throw n;t=n}finally{var _;try{pt(),N(),_=ft(N())}catch(t){if(!(t instanceof Error))throw t;pt(),_=ft(_t(t))}var d=_;this.ct(t,lt(d))}},wr.prototype.ct=function(t,n){if(null===t&&null===n)return N();var e=new Gn("Fatal exception in coroutines machinery for "+this+". Please read KDoc to 'handleFatalException' method and report this incident to maintainers",Yt(null==t?n:t));Bn(this.hs().b5(),e)},wr.$metadata$=W("DispatchedTask",void 0,void 0,void 0,void 0,ri.prototype),zr.prototype.wo=function(){return this.cz_1},zr.prototype.toString=function(){return"CoroutineScope(coroutineContext="+this.cz_1+")"},zr.$metadata$=W("ContextScope",[Nn]),Cr.prototype.mq=function(){return!0},Cr.prototype.hp=function(t){mr(Q(this.hr_1),En(t,this.hr_1),null,2)},Cr.prototype.gp=function(t){this.hr_1.z4(En(t,this.hr_1))},Cr.$metadata$=W("ScopeCoroutine",[si],void 0,void 0,void 0,en.prototype),Sr.prototype.toString=function(){return"<"+this.dz_1+">"},Sr.prototype.ez=function(t){return t===this?null:null==t||L(t)?t:B()},Sr.$metadata$=W("Symbol"),Mr.$metadata$=nt("SelectClause0"),Ar.$metadata$=W("CompletionHandlerBase",void 0,void 0,void 0,void 0,oi.prototype),Ir.$metadata$=W("CancelHandlerBase"),Br.prototype.gp=function(t){return this.hr_1.z4(En(t,this.hr_1))},Br.$metadata$=W("UndispatchedCoroutine",void 0,void 0,void 0,void 0,Cr.prototype),Hr.prototype.cy=function(){var t=this.by_1;return null==t?this.ay_1:t},Hr.$metadata$=st("Dispatchers"),Vr.prototype.wx=function(){return this.mz_1},Vr.prototype.mt=function(t){return!this.lz_1},Vr.prototype.nt=function(t,n){return this.kz_1.nt(t,n)},Vr.prototype.toString=function(){var t=this.xx();return null==t?this.kz_1.toString():t},Vr.$metadata$=W("JsMainDispatcher",void 0,void 0,void 0,void 0,Ge.prototype),Wr.prototype.nt=function(t,n){!function(){throw Ut("runBlocking event loop is not supported")}()},Wr.$metadata$=W("UnconfinedEventLoop",void 0,void 0,void 0,void 0,Wn.prototype),Jr.prototype.toString=function(){return Dt.prototype.toString.call(this)+"; job="+this.rz_1},Jr.prototype.equals=function(t){return t===this||!!(t instanceof Jr&&t.message==this.message&&Y(t.rz_1,this.rz_1))&&Y(t.cause,this.cause)},Jr.prototype.hashCode=function(){var t=T(T(Zt(Yt(this.message)),31)+at(this.rz_1)|0,31),n=this.cause,e=null==n?null:at(n);return t+(null==e?0:e)|0},Jr.$metadata$=W("JobCancellationException",void 0,void 0,void 0,void 0,Dt.prototype),Kr.prototype.uz=function(){process.nextTick(this.d10_1.a10_1)},Kr.$metadata$=st("NodeDispatcher",void 0,void 0,void 0,void 0,Zr.prototype),Gr.prototype.uz=function(){setTimeout(this.d10_1.a10_1,0)},Gr.$metadata$=st("SetTimeoutDispatcher",void 0,void 0,void 0,void 0,Zr.prototype),Xr.prototype.m10=function(){this.b10_1.uz()},Xr.prototype.n10=function(){setTimeout(this.a10_1,0)},Xr.$metadata$=W("ScheduledMessageQueue",void 0,void 0,void 0,void 0,Qr.prototype),Zr.prototype.nt=function(t,n){this.d10_1.o10(n)},Zr.$metadata$=W("SetTimeoutBasedDispatcher",[Un],void 0,void 0,void 0,Tn.prototype),Qr.prototype.o10=function(t){this.au(t),this.k10_1||(this.k10_1=!0,this.m10())},Qr.prototype.l10=function(){try{var t=this.j10_1,n=0;if(nn?t+i|0:t,c=t>n?n+i|0:(n+e|0)-2|0,l=this.g1s();o=this.g1s().childNodes[u];var h,p=l.removeChild(a(o)),f=this.g1s();h=this.g1s().childNodes[c],f.insertBefore(p,a(h))}while(r (renderComposable.kt:59)"),v(y,e,0),E()&&(I(),s())),s()})),function(t,n){return d.t1b(t,n)})),p;var d;var v,y}(t,n,e)}(a(document.getElementById(t)),null,n,2)},t}.apply(n,r))||(t.exports=i)},261:function(t,n,e){var r,i,o;i=[n,e(744),e(506),e(769)],void 0===(o="function"==typeof(r=function(t,n,e,r){"use strict";var i,o,s,a,u,c,l,h,p,f,_,d,v,y,m,g,$,b,w,x,k,j,z,C,S,q,O,P,M,A,E,I,D,T,B,L,N,R,F,H,U,V,W,J,K,Y,G,X,Z,Q=Math.imul,tt=n.$_$.p4,nt=n.$_$.ca,et=(n.$_$.q5,n.$_$.j9),rt=n.$_$.a1,it=n.$_$.s,ot=n.$_$.n5,st=n.$_$.hd,at=n.$_$.cc,ut=n.$_$.zb,ct=n.$_$.y8,lt=n.$_$.ub,ht=n.$_$.ga,pt=n.$_$.u1,ft=e.$_$.d,_t=n.$_$.w8,dt=n.$_$.c1,vt=n.$_$.uc,yt=n.$_$.gd,mt=r.$_$.s,gt=r.$_$.o,$t=r.$_$.i,bt=r.$_$.r,wt=n.$_$.za,xt=n.$_$.a9,kt=r.$_$.j,jt=n.$_$.aa,zt=n.$_$.e9,Ct=n.$_$.h9,St=n.$_$.s9,qt=n.$_$.g9,Ot=n.$_$.w4,Pt=r.$_$.q,Mt=r.$_$.z,At=n.$_$.u9,Et=r.$_$.u,It=r.$_$.v,Dt=r.$_$.w,Tt=r.$_$.x,Bt=(r.$_$.m,e.$_$.c),Lt=n.$_$.g6,Nt=n.$_$.f6,Rt=e.$_$.a,Ft=n.$_$.fd,Ht=n.$_$.zc,Ut=r.$_$.n,Vt=e.$_$.b,Wt=r.$_$.t,Jt=r.$_$.b,Kt=n.$_$.pa,Yt=n.$_$.f9;function Gt(t,n){return Xt(),n!==t.value&&(t.value=n),function(t,n){Jn(),Hn().set(t,n),t instanceof HTMLInputElement&&function(t){var n;if(Jn(),"radio"===t.type){var e=t.name;n=_t(e)>0}else n=!1;if(n){if(!Un().u2(t.name)){var r=Un(),i=t.name,o=dt();r.v3(i,o)}vt(Un().a3(t.name)).a(t)}}(t)}(t,n),tt()}function Xt(){o||(o=!0,i=Gt)}function Zt(){s=this,this.k20_1="class",this.l20_1="id",this.m20_1="hidden",this.n20_1="title",this.o20_1="dir",this.p20_1="draggable",this.q20_1="contenteditable",this.r20_1="lang",this.s20_1="tabindex",this.t20_1="spellcheck"}function Qt(){}function tn(t,n,e){return function(t,n,e,r){return 0!=(1&n)&&(t=new sn),nn.call(r,t),r}(t,n,0,Object.create(nn.prototype))}function nn(t){this.c21_1=t;var n;n=rt(),this.d21_1=n,this.e21_1=new ee;var e;e=it(),this.f21_1=e,this.g21_1=null;var r;r=it(),this.h21_1=r,this.i21_1=8}function en(){a=this,this.r21_1="copy",this.s21_1="cut",this.t21_1="paste",this.u21_1="contextmenu",this.v21_1="click",this.w21_1="dblclick",this.x21_1="focus",this.y21_1="blur",this.z21_1="focusin",this.a22_1="focusout",this.b22_1="keydown",this.c22_1="keyup",this.d22_1="mousedown",this.e22_1="mouseup",this.f22_1="mouseenter",this.g22_1="mouseleave",this.h22_1="mousemove",this.i22_1="mouseout",this.j22_1="mouseover",this.k22_1="wheel",this.l22_1="scroll",this.m22_1="select",this.n22_1="touchcancel",this.o22_1="touchend",this.p22_1="touchmove",this.q22_1="touchstart",this.r22_1="animationcancel",this.s22_1="animationend",this.t22_1="animationiteration",this.u22_1="animationstart",this.v22_1="beforeinput",this.w22_1="input",this.x22_1="change",this.y22_1="invalid",this.z22_1="drag",this.a23_1="drop",this.b23_1="dragstart",this.c23_1="dragend",this.d23_1="dragover",this.e23_1="dragenter",this.f23_1="dragleave",this.g23_1="submit",this.h23_1="reset"}function rn(){return null==a&&new en,a}function on(){}function sn(){var t;t=it(),this.k21_1=t,this.l21_1=8}function an(t,n,e){lt.call(this,t,n),this.h20_1=e}function un(){l=this,An.call(this,"button"),this.m23_1=0}function cn(){h=this,En.call(this,"checkbox"),this.u23_1=0}function ln(){return null==h&&new cn,h}function hn(){p=this,Mn.call(this,"color"),this.c24_1=0}function pn(){f=this,Mn.call(this,"date"),this.j24_1=0}function fn(){_=this,Mn.call(this,"datetime-local"),this.n24_1=0}function _n(){d=this,Mn.call(this,"email"),this.r24_1=0}function dn(){v=this,Mn.call(this,"file"),this.v24_1=0}function vn(){y=this,Mn.call(this,"hidden"),this.z24_1=0}function yn(){m=this,Mn.call(this,"month"),this.d25_1=0}function mn(){g=this,In.call(this,"number"),this.h25_1=0}function gn(){$=this,Mn.call(this,"password"),this.o25_1=0}function $n(){b=this,En.call(this,"radio"),this.s25_1=0}function bn(){return null==b&&new $n,b}function wn(){w=this,In.call(this,"range"),this.w25_1=0}function xn(){x=this,Mn.call(this,"search"),this.a26_1=0}function kn(){k=this,An.call(this,"submit"),this.e26_1=0}function jn(){j=this,Mn.call(this,"tel"),this.i26_1=0}function zn(){z=this,Mn.call(this,"text"),this.m26_1=0}function Cn(){return null==z&&new zn,z}function Sn(){C=this,Mn.call(this,"time"),this.q26_1=0}function qn(){S=this,Mn.call(this,"url"),this.u26_1=0}function On(){q=this,Mn.call(this,"week"),this.y26_1=0}function Pn(){return null==q&&new On,q}function Mn(t){Bn.call(this,t),this.f24_1=0}function An(t){Bn.call(this,t),this.p23_1=0}function En(t){Bn.call(this,t),this.x23_1=0}function In(t){Bn.call(this,t),this.k25_1=0}function Dn(){O=this}function Tn(){return null==O&&new Dn,O}function Bn(t){Tn(),this.i20_1=t,this.j20_1=0}function Ln(t,n){this.b27_1=t,this.c27_1=n,this.d27_1=this.b27_1,this.e27_1=0}function Nn(t,n,e){Ln.call(this,t,e),this.k27_1=n}function Rn(t,n){Ln.call(this,t,n)}function Fn(t,n){this.p27_1=t,this.q27_1=n,this.r27_1=8}function Hn(){return Jn(),P}function Un(){return Jn(),M}function Vn(t,n,e){Jn();var r,i=n;i.e12(-1867048565),gt()&&mt(-1867048565,e,-1,"org.jetbrains.compose.web.attributes.builders.DisposeRadioGroupEffect$composable (InternalControlledInputUtils.kt:67)"),$t(null,(r=t,function(t){return new Wn(r.u27(t))}),i,6),gt()&&bt(),i.i12()}function Wn(t){this.t27_1=t}function Jn(){if(A);else{A=!0;var t,n=new WeakMap;P=n,t=rt(),M=t}}function Kn(t){this.v27_1=t,this.w27_1=8}function Yn(t,n){Ln.call(this,t,n)}function Gn(t){rn(),Ln.call(this,"change",t)}function Xn(t){this.h28_1=t,this.i28_1=8}function Zn(){E=this}function Qn(){return null==E&&new Zn,E}function te(t,n){this.n28_1=t,this.o28_1=n,this.p28_1=0}function ne(){}function ee(){var t;t=it(),this.t28_1=t;var n;n=it(),this.u28_1=n,this.v28_1=8}function re(){}function ie(t,n){this.y28_1=t,this.z28_1=n,this.a29_1=8}function oe(t,n){if(t.f()!==n.f())return!1;var e,r=0;t:if(St(t,Ot)&&t.h())e=!0;else{for(var i=t.c();i.d();){var o=i.e(),s=r;r=s+1|0;var a=n.g(s);if(o.y28_1!==a.y28_1||ht(o.z28_1)!==ht(a.z28_1)){e=!1;break t}}e=!0}return e}function se(t,n,e,r,i){var o=r;o=o.n1d(-1594897193),Pt(o,"C(TagElement$composable)P(2)");var s,a,u,c=i;if(0==(14&i)&&(c|=o.j12(t)?4:2),0==(112&i)&&(c|=o.j12(n)?32:16),0==(896&i)&&(c|=o.j12(e)?256:128),146==(731&c)&&o.v1b())o.z17();else{gt()&&mt(-1594897193,c,-1,"org.jetbrains.compose.web.dom.TagElement$composable (Base.kt:106)");var l=o;l.e12(547886695),Pt(l,"C(remember$composable):Composables.kt#9igjgp");var h,p=l,f=p.f12();if(f===Mt().h12_1){var _=new ce;p.g12(_),h=_}else h=f;var d=h,v=null==d||At(d)?d:at();l.i12();var y,m=v,g=o;g.c18(),g.c1d()?g.e1d((a=t,u=m,function(){var t=a.u1n();return u.n29(t),new ae(t)})):g.g1d();var $=Et(g),b=tn(null,1);null==n||n(b),y=b.g21_1,It($).e12(509942095);var w=Dt(It($));Tt(w,b.h21_1,((s=function(t,n){return t.j29(n),tt()}).callableName="updateClasses",s)),Tt(w,b.e21_1,function(){var t=function(t,n){return t.h29(n),tt()};return t.callableName="updateStyleDeclarations",t}());var x=b.q21();Tt(w,x,function(){var t=function(t,n){return t.i29(n),tt()};return t.callableName="updateAttrs",t}());var k=b.c21_1.i23();Tt(w,k,function(){var t=function(t,n){return t.f29(n),tt()};return t.callableName="updateEventListeners",t}()),Tt(w,b.f21_1,function(){var t=function(t,n){return t.g29(n),tt()};return t.callableName="updateProperties",t}()),It($).i12(),g.e12(2058660585);var j=g,z=8;if(18==(91&z)&&j.v1b())j.z17();else{var C=e;o.e12(-1128047990),null==C||C(m,j,14&z|112&c>>3),o.i12()}g.i12(),g.h1d(),null==y||($t(null,function(t,n){return function(e){return t(e,n.o29())}}(y,m),o,6),tt(),tt()),gt()&&bt()}var S=o.o1d();null===S||S.j1e(function(t,n,e,r){return function(i,o){return function(t,n,e,r,i,o){se(t,n,e,i,1|r)}(t,n,e,r,i),tt()}}(t,n,e,i))}function ae(t){Bt.call(this,t),this.d29_1=t,this.e29_1=Lt()}function ue(){}function ce(){le.call(this)}function le(){this.p29_1=0,this.q29_1=8}function he(){}function pe(t){return Yt("el",1,Kt,(function(t){return pe(t)}),null),t.s29_1.m2()}function fe(t){var n;this.r29_1=t,this.s29_1=Ht((n=this,function(){return document.createElement(n.r29_1)}))}function _e(t,n,e){Ne();var r=n;r=r.n1d(-363526853),Pt(r,"C(Text$composable)");var i,o=e;if(0==(14&e)&&(o|=r.j12(t)?4:2),2==(11&o)&&r.v1b())r.z17();else{gt()&&mt(-363526853,e,-1,"org.jetbrains.compose.web.dom.Text$composable (Elements.kt:479)");var s=r;s.e12(547886695),Pt(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,c=u.f12();if(c===Mt().h12_1){var l=Me;u.g12(l),a=l}else a=c;var h=a,p=null==h||At(h)?h:at();s.i12();var f=p,_=r;_.e12(-1846754774),Pt(_,"C(ComposeNode$composable):Composables.kt#9igjgp"),_.r1c()instanceof Vt||Ut(),_.c18(),_.c1d()?_.e1d((i=f,function(){return i()})):_.g1d();var d=Dt(_);Tt(d,t,Ae),_.h1d(),_.i12(),gt()&&bt()}var v,y,m=r.o1d();null===m||m.j1e((v=t,y=e,function(t,n){return function(t,n,e,r){_e(t,e,1|n)}(v,y,t),tt()}))}function de(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-915831286),Pt(a,"C(H3$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-915831286,u,-1,"org.jetbrains.compose.web.dom.H3$composable (Elements.kt:539)"),se((Ne(),N),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){de(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function ve(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(1021009996),Pt(a,"C(Div$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(1021009996,u,-1,"org.jetbrains.compose.web.dom.Div$composable (Elements.kt:489)"),se((Ne(),D),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){ve(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function ye(t,n,e,r,i,o){Ne();var s={_v:t},a={_v:n},u={_v:e},c=r;c=c.n1d(-319539737),Pt(c,"C(Form$composable)");var l=i;if(0!=(1&o)?l|=6:0==(14&i)&&(l|=c.j12(s._v)?4:2),0!=(2&o)?l|=48:0==(112&i)&&(l|=c.j12(a._v)?32:16),0!=(4&o)?l|=384:0==(896&i)&&(l|=c.j12(u._v)?256:128),146==(731&l)&&c.v1b())c.z17();else{0!=(1&o)&&(s._v=null),0!=(2&o)&&(a._v=null),0!=(4&o)&&(u._v=null),gt()&&mt(-319539737,l,-1,"org.jetbrains.compose.web.dom.Form$composable (Elements.kt:637)");var h=(Ne(),J),p=s._v,f=a._v,_=c;_.e12(-1124426577),Pt(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.j12(p)|_.j12(f)),m=v.f12();if(y||m===Mt().h12_1){var g=Ee(s,a);v.g12(g),d=g}else d=m;var $=d,b=null==$||At($)?$:at();_.i12(),se(h,b,u._v,c,896&l),gt()&&bt()}var w,x,k,j,z,C=c.o1d();null===C||C.j1e((w=s,x=a,k=u,j=i,z=o,function(t,n){return function(t,n,e,r,i,o,s){ye(t._v,n._v,e._v,o,1|r,i)}(w,x,k,j,z,t),tt()}))}function me(t,n,e,r,i,o){Ne();var s={_v:t},a={_v:n},u={_v:e},c=r;c=c.n1d(-493483649),Pt(c,"C(Label$composable)P(2)");var l=i;if(0!=(1&o)?l|=6:0==(14&i)&&(l|=c.j12(s._v)?4:2),0!=(2&o)?l|=48:0==(112&i)&&(l|=c.j12(a._v)?32:16),0!=(4&o)?l|=384:0==(896&i)&&(l|=c.j12(u._v)?256:128),146==(731&l)&&c.v1b())c.z17();else{0!=(1&o)&&(s._v=null),0!=(2&o)&&(a._v=null),0!=(4&o)&&(u._v=null),gt()&&mt(-493483649,l,-1,"org.jetbrains.compose.web.dom.Label$composable (Elements.kt:833)");var h=(Ne(),X),p=s._v,f=a._v,_=c;_.e12(-1124426577),Pt(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.j12(p)|_.j12(f)),m=v.f12();if(y||m===Mt().h12_1){var g=Ie(s,a);v.g12(g),d=g}else d=m;var $=d,b=null==$||At($)?$:at();_.i12(),se(h,b,u._v,c,896&l),gt()&&bt()}var w,x,k,j,z,C=c.o1d();null===C||C.j1e((w=s,x=a,k=u,j=i,z=o,function(t,n){return function(t,n,e,r,i,o,s){me(t._v,n._v,e._v,o,1|r,i)}(w,x,k,j,z,t),tt()}))}function ge(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-577256683),Pt(a,"C(TextArea$composable)P(1)");var u,c,l,h,p,f=r;if(0!=(1&i)?f|=6:0==(14&r)&&(f|=a.j12(o._v)?4:2),0!=(2&i)?f|=48:0==(112&r)&&(f|=a.j12(s._v)?32:16),18==(91&f)&&a.v1b())a.z17();else{0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-577256683,r,-1,"org.jetbrains.compose.web.dom.TextArea$composable (Elements.kt:729)");var _=a;_.e12(547886695),Pt(_,"C(remember$composable):Composables.kt#9igjgp");var d,v=_,y=v.f12();if(y===Mt().h12_1){var m=!(null==o._v);v.g12(m),d=m}else d=y;var g=d,$=null==g||At(g)?g:at();_.i12();var b=$,w=a;w.e12(547886695),Pt(w,"C(remember$composable):Composables.kt#9igjgp");var x,k=w,j=k.f12();if(j===Mt().h12_1){var z=Wt(0,null,2,null);k.g12(z),x=z}else x=j;var C=x,S=null==C||At(C)?C:at();w.i12();var q=S,O=(Ne(),G),P=[q,s._v,b,o._v],M=a;M.e12(-1603429786),Pt(M,"C(remember$composable)P(1):Composables.kt#9igjgp");for(var A=!1,E=P,I=0,D=E.length;I (Elements.kt:754)");var a=t.m2();$t(a,(i=n,function(t){return n=i.u27(t),Jn(),Hn().has(n)&&(n.value=yt(Hn().get(n))),new De;var n}),o,0),gt()&&(bt(),tt())}return tt()}}(q)),J=a;J.e12(-838505973),Pt(J,"C(remember$composable)P(1):Composables.kt#9igjgp");var K,Y=J,X=J.j12(W),Z=Y.f12();if(X||Z===Mt().h12_1){var Q=(u=W,function(t,n,e){return u.n1y(t,n,e)});Y.g12(Q),K=Q}else K=Z;var nt=K,et=null==nt||At(nt)?nt:at();J.i12(),se(O,V,et,a,384),gt()&&bt()}var rt=a.o1d();null===rt||rt.j1e(function(t,n,e,r){return function(i,o){return function(t,n,e,r,i,o){ge(t._v,n._v,i,1|e,r)}(t,n,e,r,i),tt()}}(o,s,r,i))}function $e(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-767970749),Pt(a,"C(Button$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-767970749,u,-1,"org.jetbrains.compose.web.dom.Button$composable (Elements.kt:521)"),se((Ne(),B),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){$e(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function be(t,n,e,r){Ne();var i={_v:t},o=n;o=o.n1d(1126514281),Pt(o,"C(Br$composable)");var s=e;0!=(1&r)?s|=6:0==(14&e)&&(s|=o.j12(i._v)?4:2),2==(11&s)&&o.v1b()?o.z17():(0!=(1&r)&&(i._v=null),gt()&&mt(1126514281,s,-1,"org.jetbrains.compose.web.dom.Br$composable (Elements.kt:599)"),se((Ne(),U),i._v,null,o,384|112&s<<3),gt()&&bt());var a,u,c,l=o.o1d();null===l||l.j1e((a=i,u=e,c=r,function(t,n){return function(t,n,e,r,i){be(t._v,r,1|n,e)}(a,u,c,t),tt()}))}function we(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-2140946851),Pt(a,"C(Canvas$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-2140946851,u,-1,"org.jetbrains.compose.web.dom.Canvas$composable (Elements.kt:430)"),se((Ne(),I),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){we(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function xe(t,n,e,r){Ne();var i=e;i=i.n1d(-1013116589),Pt(i,"C(Input$composable)P(1)");var o,s,a,u,c=r;if(0==(14&r)&&(c|=i.j12(t)?4:2),0==(112&r)&&(c|=i.j12(n)?32:16),18==(91&c)&&i.v1b())i.z17();else{gt()&&mt(-1013116589,c,-1,"org.jetbrains.compose.web.dom.Input$composable (Elements.kt:1054)");var l=i;l.e12(547886695),Pt(l,"C(remember$composable):Composables.kt#9igjgp");var h,p=l,f=p.f12();if(f===Mt().h12_1){var _=Wt(0,null,2,null);p.g12(_),h=_}else h=f;var d=h,v=null==d||At(d)?d:at();l.i12();var y=v,m=(Ne(),T),g=i;g.e12(-1058148781),Pt(g,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var $,b=g,w=!!(!!(g.j12(t)|g.j12(y))|g.j12(n)),x=b.f12();if(w||x===Mt().h12_1){var k=(s=t,a=n,u=y,function(t){var n=new Fn(s,t);return function(t,n){Xt(),t.e20("type",n.i20_1)}(n,s),n.s27(function(t){return function(n){return t.jy(t.m2()+1|0),tt()}}(u)),a(n),tt()});b.g12(k),$=k}else $=x;var j=$,z=null==j||At(j)?j:at();g.i12();var C=z,S=Jt(i,558133459,!0,function(t,n){return function(e,r,i){var o,s=r,a=i;if(0==(14&i)&&(a|=s.j12(e)?4:2,tt()),18==(91&a)&&s.v1b())s.z17(),tt();else{gt()&&mt(558133459,a,-1,"org.jetbrains.compose.web.dom.Input$composable. (Elements.kt:1073)"),s.e12(-1270925487),xt(t,bn())&&Vn(e,s,14&a),s.i12();var u=n.m2();$t(u,(o=e,function(t){return function(t){Jn();var n=Tn().a27(t.type);if(Hn().has(t)){if(xt(n,bn())){var e=Un().a3(t.name);if(null==e);else for(var r=e.c();r.d();){var i=r.e();i.checked=wt(yt(Hn().get(i)))}return t.checked=wt(yt(Hn().get(t))),tt()}xt(n,ln())?t.checked=wt(yt(Hn().get(t))):t.value=yt(Hn().get(t))}}(o.u27(t)),new Te}),s,0),gt()&&(bt(),tt())}return tt()}}(t,y)),q=i;q.e12(-838505973),Pt(q,"C(remember$composable)P(1):Composables.kt#9igjgp");var O,P=q,M=q.j12(S),A=P.f12();if(M||A===Mt().h12_1){var E=(o=S,function(t,n,e){return o.n1y(t,n,e)});P.g12(E),O=E}else O=A;var I=O,D=null==I||At(I)?I:at();q.i12(),se(m,C,D,i,384),gt()&&bt()}var B=i.o1d();null===B||B.j1e(function(t,n,e){return function(r,i){return function(t,n,e,r,i){xe(t,n,r,1|e)}(t,n,e,r),tt()}}(t,n,r))}function ke(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(1065330793),Pt(a,"C(H4$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(1065330793,u,-1,"org.jetbrains.compose.web.dom.H4$composable (Elements.kt:545)"),se((Ne(),R),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){ke(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function je(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-583188148),Pt(a,"C(H1$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-583188148,u,-1,"org.jetbrains.compose.web.dom.H1$composable (Elements.kt:527)"),se((Ne(),L),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){je(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function ze(t,n,e,r,i,o){Ne();var s={_v:t},a={_v:n},u={_v:e},c=r;c=c.n1d(-140298183),Pt(c,"C(Select$composable)P(!1,2)");var l=i;if(0!=(1&o)?l|=6:0==(14&i)&&(l|=c.j12(s._v)?4:2),0!=(2&o)?l|=48:0==(112&i)&&(l|=c.j1d(a._v)?32:16),0!=(4&o)?l|=384:0==(896&i)&&(l|=c.j12(u._v)?256:128),146==(731&l)&&c.v1b())c.z17();else{0!=(1&o)&&(s._v=null),0!=(2&o)&&(a._v=!1),0!=(4&o)&&(u._v=null),gt()&&mt(-140298183,l,-1,"org.jetbrains.compose.web.dom.Select$composable (Elements.kt:653)");var h=(Ne(),K),p=a._v,f=s._v,_=c;_.e12(-1124426577),Pt(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.j12(p)|_.j12(f)),m=v.f12();if(y||m===Mt().h12_1){var g=Be(a,s);v.g12(g),d=g}else d=m;var $=d,b=null==$||At($)?$:at();_.i12(),se(h,b,u._v,c,896&l),gt()&&bt()}var w,x,k,j,z,C=c.o1d();null===C||C.j1e((w=s,x=a,k=u,j=i,z=o,function(t,n){return function(t,n,e,r,i,o,s){ze(t._v,n._v,e._v,o,1|r,i)}(w,x,k,j,z,t),tt()}))}function Ce(t,n,e,r,i,o){Ne();var s={_v:n},a={_v:e},u=r;u=u.n1d(1780967894),Pt(u,"C(Option$composable)P(2)");var c=i;if(0!=(1&o)?c|=6:0==(14&i)&&(c|=u.j12(t)?4:2),0!=(2&o)?c|=48:0==(112&i)&&(c|=u.j12(s._v)?32:16),0!=(4&o)?c|=384:0==(896&i)&&(c|=u.j12(a._v)?256:128),146==(731&c)&&u.v1b())u.z17();else{0!=(2&o)&&(s._v=null),0!=(4&o)&&(a._v=null),gt()&&mt(1780967894,c,-1,"org.jetbrains.compose.web.dom.Option$composable (Elements.kt:669)");var l=(Ne(),Y),h=s._v,p=u;p.e12(-1124426577),Pt(p,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var f,_=p,d=!!(p.j12(t)|p.j12(h)),v=_.f12();if(d||v===Mt().h12_1){var y=Le(t,s);_.g12(y),f=y}else f=v;var m=f,g=null==m||At(m)?m:at();p.i12(),se(l,g,a._v,u,896&c),gt()&&bt()}var $,b,w,x,k,j=u.o1d();null===j||j.j1e(($=t,b=s,w=a,x=i,k=o,function(t,n){return function(t,n,e,r,i,o,s){Ce(t,n._v,e._v,o,1|r,i)}($,b,w,x,k,t),tt()}))}function Se(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-100692211),Pt(a,"C(P$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-100692211,u,-1,"org.jetbrains.compose.web.dom.P$composable (Elements.kt:563)"),se((Ne(),F),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){Se(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function qe(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-114341698),Pt(a,"C(Ul$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-114341698,u,-1,"org.jetbrains.compose.web.dom.Ul$composable (Elements.kt:603)"),se((Ne(),V),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){qe(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function Oe(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-456299496),Pt(a,"C(Li$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-456299496,u,-1,"org.jetbrains.compose.web.dom.Li$composable (Elements.kt:615)"),se((Ne(),W),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){Oe(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function Pe(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-155327957),Pt(a,"C(Span$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-155327957,u,-1,"org.jetbrains.compose.web.dom.Span$composable (Elements.kt:593)"),se((Ne(),H),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){Pe(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function Me(){return Ne(),new Bt(document.createTextNode(""))}function Ae(t,n){Ne();var e=t.g1s();return(e instanceof Text?e:at()).data=n,tt()}function Ee(t,n){return function(e){var r=t._v;return null==r||0===_t(r)||(function(t,n){Xt(),t.e20("action",n)}(e,t._v),tt()),null!=n._v&&n._v(e),tt()}}function Ie(t,n){return function(e){return null!=t._v&&(function(t,n){Xt(),t.e20("for",n)}(e,t._v),tt()),null!=n._v&&n._v(e),tt()}}function De(){}function Te(){}function Be(t,n){return function(e){return t._v&&(r=e,Xt(),r.e20("multiple",""),tt()),null!=n._v&&n._v(new Kn(e)),tt();var r}}function Le(t,n){return function(e){return function(t,n){Xt(),t.e20("value",n)}(e,t),null!=n._v&&n._v(e),tt()}}function Ne(){Z||(Z=!0,new fe("address"),new fe("article"),new fe("aside"),new fe("header"),new fe("area"),new fe("audio"),new fe("map"),new fe("track"),new fe("video"),new fe("datalist"),new fe("fieldset"),new fe("legend"),new fe("meter"),new fe("output"),new fe("progress"),new fe("embed"),new fe("iframe"),new fe("object"),new fe("param"),new fe("picture"),new fe("source"),I=new fe("canvas"),new fe("dl"),new fe("dt"),new fe("dd"),D=new fe("div"),new fe("a"),T=new fe("input"),B=new fe("button"),L=new fe("h1"),new fe("h2"),N=new fe("h3"),R=new fe("h4"),new fe("h5"),new fe("h6"),F=new fe("p"),new fe("em"),new fe("i"),new fe("b"),new fe("small"),H=new fe("span"),U=new fe("br"),V=new fe("ul"),new fe("ol"),W=new fe("li"),new fe("img"),J=new fe("form"),K=new fe("select"),Y=new fe("option"),new fe("optgroup"),new fe("section"),G=new fe("textarea"),new fe("nav"),new fe("pre"),new fe("code"),new fe("main"),new fe("footer"),new fe("hr"),X=new fe("label"),new fe("table"),new fe("caption"),new fe("col"),new fe("colgroup"),new fe("tr"),new fe("thead"),new fe("th"),new fe("td"),new fe("tbody"),new fe("tfoot"),new fe("style"))}function Re(t,n){Fe.call(this,n),this.f2a_1=t,this.g2a_1=0}function Fe(t){this.h2a_1=t;var n;n=this.h2a_1.target,this.i2a_1=n,this.j2a_1=this.h2a_1.bubbles,this.k2a_1=this.h2a_1.cancelable,this.l2a_1=this.h2a_1.composed,this.m2a_1=this.h2a_1.currentTarget,this.n2a_1=this.h2a_1.eventPhase,this.o2a_1=this.h2a_1.defaultPrevented,this.p2a_1=this.h2a_1.timeStamp,this.q2a_1=this.h2a_1.type,this.r2a_1=this.h2a_1.isTrusted,this.s2a_1=8}function He(t,n){Fe.call(this,n),this.f2b_1=t;var e,r=n.data;e=null==r?null:r,this.g2b_1=e;var i,o=n.dataTransfer;i=null==o?null:o,this.h2b_1=i;var s,a=n.inputType;s=null==a?null:a,this.i2b_1=s;var u=n.isComposing,c=null==u?null:u;this.j2b_1=null!=c&&c,this.k2b_1=8}function Ue(t){Fe.call(this,t),this.x2b_1=t,this.y2b_1=t.altKey,this.z2b_1=t.button,this.a2c_1=t.buttons,this.b2c_1=t.clientX,this.c2c_1=t.clientY,this.d2c_1=t.ctrlKey,this.e2c_1=t.metaKey;var n=t.movementX,e=null!=n&&"number"==typeof n?n:null;this.f2c_1=null==e?0:e;var r=t.movementY,i=null!=r&&"number"==typeof r?r:null;this.g2c_1=null==i?0:i,this.h2c_1=t.offsetX,this.i2c_1=t.offsetY,this.j2c_1=t.pageX,this.k2c_1=t.pageY,this.l2c_1=t.region,this.m2c_1=t.relatedTarget,this.n2c_1=t.screenX,this.o2c_1=t.screenY,this.p2c_1=t.shiftKey,this.q2c_1=t.x,this.r2c_1=t.y,this.s2c_1=8}return an.prototype=Object.create(lt.prototype),an.prototype.constructor=an,An.prototype=Object.create(Bn.prototype),An.prototype.constructor=An,un.prototype=Object.create(An.prototype),un.prototype.constructor=un,En.prototype=Object.create(Bn.prototype),En.prototype.constructor=En,cn.prototype=Object.create(En.prototype),cn.prototype.constructor=cn,Mn.prototype=Object.create(Bn.prototype),Mn.prototype.constructor=Mn,hn.prototype=Object.create(Mn.prototype),hn.prototype.constructor=hn,pn.prototype=Object.create(Mn.prototype),pn.prototype.constructor=pn,fn.prototype=Object.create(Mn.prototype),fn.prototype.constructor=fn,_n.prototype=Object.create(Mn.prototype),_n.prototype.constructor=_n,dn.prototype=Object.create(Mn.prototype),dn.prototype.constructor=dn,vn.prototype=Object.create(Mn.prototype),vn.prototype.constructor=vn,yn.prototype=Object.create(Mn.prototype),yn.prototype.constructor=yn,In.prototype=Object.create(Bn.prototype),In.prototype.constructor=In,mn.prototype=Object.create(In.prototype),mn.prototype.constructor=mn,gn.prototype=Object.create(Mn.prototype),gn.prototype.constructor=gn,$n.prototype=Object.create(En.prototype),$n.prototype.constructor=$n,wn.prototype=Object.create(In.prototype),wn.prototype.constructor=wn,xn.prototype=Object.create(Mn.prototype),xn.prototype.constructor=xn,kn.prototype=Object.create(An.prototype),kn.prototype.constructor=kn,jn.prototype=Object.create(Mn.prototype),jn.prototype.constructor=jn,zn.prototype=Object.create(Mn.prototype),zn.prototype.constructor=zn,Sn.prototype=Object.create(Mn.prototype),Sn.prototype.constructor=Sn,qn.prototype=Object.create(Mn.prototype),qn.prototype.constructor=qn,On.prototype=Object.create(Mn.prototype),On.prototype.constructor=On,Nn.prototype=Object.create(Ln.prototype),Nn.prototype.constructor=Nn,Rn.prototype=Object.create(Ln.prototype),Rn.prototype.constructor=Rn,Yn.prototype=Object.create(Ln.prototype),Yn.prototype.constructor=Yn,Gn.prototype=Object.create(Ln.prototype),Gn.prototype.constructor=Gn,ae.prototype=Object.create(Bt.prototype),ae.prototype.constructor=ae,ce.prototype=Object.create(le.prototype),ce.prototype.constructor=ce,Re.prototype=Object.create(Fe.prototype),Re.prototype.constructor=Re,He.prototype=Object.create(Fe.prototype),He.prototype.constructor=He,Ue.prototype=Object.create(Fe.prototype),Ue.prototype.constructor=Ue,Zt.$metadata$=nt("Companion"),Qt.$metadata$=et("AttrsScope",[on]),nn.prototype.j21=function(){return this.c21_1},nn.prototype.a21=function(t){this.c21_1.a21(t)},nn.prototype.b21=function(t){this.c21_1.b21(t)},nn.prototype.z20=function(t){this.c21_1.z20(t)},nn.prototype.m21=function(){return this.e21_1},nn.prototype.n21=function(){return this.f21_1},nn.prototype.o21=function(){return this.g21_1},nn.prototype.p21=function(){return this.h21_1},nn.prototype.v20=function(t){this.h21_1.j1(t)},nn.prototype.w20=function(t){ot(this.h21_1,t)},nn.prototype.u20=function(t){t(this.e21_1)},nn.prototype.e20=function(t,n){return this.d21_1.v3(t,n),this},nn.prototype.y20=function(t,n){var e=st(t,n);this.f21_1.a(e instanceof ut?e:at())},nn.prototype.q21=function(){return this.d21_1},nn.$metadata$=ct("AttrsScopeBuilder",[Qt,on]),en.$metadata$=nt("Companion"),on.$metadata$=et("EventsListenerScope"),sn.prototype.z20=function(t){this.k21_1.a(t)},sn.prototype.i23=function(){return this.k21_1},sn.$metadata$=ct("EventsListenerScopeBuilder",[on]),an.$metadata$=ct("ButtonType",void 0,void 0,void 0,void 0,lt.prototype),un.$metadata$=nt("Button",void 0,void 0,void 0,void 0,An.prototype),cn.$metadata$=nt("Checkbox",void 0,void 0,void 0,void 0,En.prototype),hn.$metadata$=nt("Color",void 0,void 0,void 0,void 0,Mn.prototype),pn.$metadata$=nt("Date",void 0,void 0,void 0,void 0,Mn.prototype),fn.$metadata$=nt("DateTimeLocal",void 0,void 0,void 0,void 0,Mn.prototype),_n.$metadata$=nt("Email",void 0,void 0,void 0,void 0,Mn.prototype),dn.$metadata$=nt("File",void 0,void 0,void 0,void 0,Mn.prototype),vn.$metadata$=nt("Hidden",void 0,void 0,void 0,void 0,Mn.prototype),yn.$metadata$=nt("Month",void 0,void 0,void 0,void 0,Mn.prototype),mn.$metadata$=nt("Number",void 0,void 0,void 0,void 0,In.prototype),gn.$metadata$=nt("Password",void 0,void 0,void 0,void 0,Mn.prototype),$n.$metadata$=nt("Radio",void 0,void 0,void 0,void 0,En.prototype),wn.$metadata$=nt("Range",void 0,void 0,void 0,void 0,In.prototype),xn.$metadata$=nt("Search",void 0,void 0,void 0,void 0,Mn.prototype),kn.$metadata$=nt("Submit",void 0,void 0,void 0,void 0,An.prototype),jn.$metadata$=nt("Tel",void 0,void 0,void 0,void 0,Mn.prototype),zn.$metadata$=nt("Text",void 0,void 0,void 0,void 0,Mn.prototype),Sn.$metadata$=nt("Time",void 0,void 0,void 0,void 0,Mn.prototype),qn.$metadata$=nt("Url",void 0,void 0,void 0,void 0,Mn.prototype),On.$metadata$=nt("Week",void 0,void 0,void 0,void 0,Mn.prototype),Mn.prototype.y23=function(t){return Pn().z26(t)},Mn.$metadata$=ct("InputTypeWithStringValue",void 0,void 0,void 0,void 0,Bn.prototype),An.prototype.q23=function(t){return tt()},An.prototype.y23=function(t){return this.q23(t),tt()},An.$metadata$=ct("InputTypeWithUnitValue",void 0,void 0,void 0,void 0,Bn.prototype),En.prototype.y23=function(t){var n,e,r=t.target,i=null==(n=null==r?null:r)?null:n.checked;return null!=(e=null==i?null:i)&&e},En.$metadata$=ct("InputTypeCheckedValue",void 0,void 0,void 0,void 0,Bn.prototype),In.prototype.y23=function(t){var n,e=t.target,r=null==(n=null==e?null:e)?null:n.valueAsNumber;return null==r?null:r},In.$metadata$=ct("InputTypeNumberValue",void 0,void 0,void 0,void 0,Bn.prototype),Dn.prototype.a27=function(t){var n;switch(t){case"button":null==l&&new un,n=l;break;case"checkbox":n=ln();break;case"color":null==p&&new hn,n=p;break;case"date":null==f&&new pn,n=f;break;case"datetime-local":null==_&&new fn,n=_;break;case"email":null==d&&new _n,n=d;break;case"file":null==v&&new dn,n=v;break;case"hidden":null==y&&new vn,n=y;break;case"month":null==m&&new yn,n=m;break;case"number":null==g&&new mn,n=g;break;case"password":null==$&&new gn,n=$;break;case"radio":n=bn();break;case"range":null==w&&new wn,n=w;break;case"search":null==x&&new xn,n=x;break;case"submit":null==k&&new kn,n=k;break;case"tel":null==j&&new jn,n=j;break;case"text":n=Cn();break;case"time":null==C&&new Sn,n=C;break;case"url":null==S&&new qn,n=S;break;case"week":n=Pn();break;default:throw pt(ht("fromString got unknown type - "+t))}return n},Dn.$metadata$=nt("Companion"),Bn.prototype.z26=function(t){var n,e,r=t.target,i=null==(n=null==r?null:r)?null:n.value;return null==(e=null==i?null:i)?"":e},Bn.$metadata$=ct("InputType"),Ln.prototype.y1y=function(){return this.d27_1},Ln.prototype.f27=function(t){var n;n=new Fe(t),this.c27_1(n)},Ln.prototype.handleEvent=function(t){return this.f27(t)},Ln.$metadata$=ct("SyntheticEventListener",[ft]),Nn.prototype.f27=function(t){var n=this.k27_1.y23(t);this.c27_1(new He(n,t))},Nn.prototype.handleEvent=function(t){return this.f27(t)},Nn.$metadata$=ct("InputEventListener",void 0,void 0,void 0,void 0,Ln.prototype),Rn.prototype.f27=function(t){var n;n=t,this.c27_1(new Ue(n))},Rn.prototype.handleEvent=function(t){return this.f27(t)},Rn.$metadata$=ct("MouseEventListener",void 0,void 0,void 0,void 0,Ln.prototype),Fn.prototype.e20=function(t,n){return this.q27_1.e20(t,n)},Fn.prototype.w20=function(t){this.q27_1.w20(t)},Fn.prototype.v20=function(t){this.q27_1.v20(t)},Fn.prototype.x20=function(t){return this.q27_1.x20(t)},Fn.prototype.a21=function(t){this.q27_1.a21(t)},Fn.prototype.b21=function(t){this.q27_1.b21(t)},Fn.prototype.y20=function(t,n){this.q27_1.y20(t,n)},Fn.prototype.z20=function(t){this.q27_1.z20(t)},Fn.prototype.u20=function(t){this.q27_1.u20(t)},Fn.prototype.s27=function(t){rn(),this.z20(new Nn("input",this.p27_1,t))},Fn.$metadata$=ct("InputAttrsScope",[Qt]),Wn.prototype.js=function(){var t=Un().a3(this.t27_1.name);null==t||t.jf(this.t27_1);var n=Un().a3(this.t27_1.name);!0===(null==n?null:n.h())&&Un().og(this.t27_1.name)},Wn.$metadata$=ct(void 0,[kt]),Kn.prototype.e20=function(t,n){return this.v27_1.e20(t,n)},Kn.prototype.w20=function(t){this.v27_1.w20(t)},Kn.prototype.v20=function(t){this.v27_1.v20(t)},Kn.prototype.x20=function(t){return this.v27_1.x20(t)},Kn.prototype.a21=function(t){this.v27_1.a21(t)},Kn.prototype.b21=function(t){this.v27_1.b21(t)},Kn.prototype.y20=function(t,n){this.v27_1.y20(t,n)},Kn.prototype.z20=function(t){this.v27_1.z20(t)},Kn.prototype.u20=function(t){this.v27_1.u20(t)},Kn.prototype.x27=function(t){rn(),this.z20(new Yn("input",t))},Kn.prototype.y27=function(t){this.z20(new Gn(t))},Kn.$metadata$=ct("SelectAttrsScope",[Qt]),Yn.prototype.f27=function(t){var n=t.target,e=(null==n?null:n).value,r=null==e?null:ht(e);this.c27_1(new He(r,t))},Yn.prototype.handleEvent=function(t){return this.f27(t)},Yn.$metadata$=ct("SelectInputEventListener",void 0,void 0,void 0,void 0,Ln.prototype),Gn.prototype.f27=function(t){var n=t.target,e=(null==n?null:n).value,r=null==e?null:ht(e);this.c27_1(new Re(r,t))},Gn.prototype.handleEvent=function(t){return this.f27(t)},Gn.$metadata$=ct("SelectChangeEventListener",void 0,void 0,void 0,void 0,Ln.prototype),Xn.prototype.e20=function(t,n){return this.h28_1.e20(t,n)},Xn.prototype.w20=function(t){this.h28_1.w20(t)},Xn.prototype.v20=function(t){this.h28_1.v20(t)},Xn.prototype.x20=function(t){return this.h28_1.x20(t)},Xn.prototype.a21=function(t){this.h28_1.a21(t)},Xn.prototype.b21=function(t){this.h28_1.b21(t)},Xn.prototype.y20=function(t,n){this.h28_1.y20(t,n)},Xn.prototype.z20=function(t){this.h28_1.z20(t)},Xn.prototype.u20=function(t){this.h28_1.u20(t)},Xn.prototype.j28=function(t){return this.y20((Xt(),i),t),this},Xn.prototype.k28=function(t){rn(),this.z20(new Nn("input",Cn(),t))},Xn.$metadata$=ct("TextAreaAttrsScope",[Qt]),Zn.prototype.l28=function(){return"%"},Zn.prototype.m28=function(){return"px"},Zn.$metadata$=nt("Companion"),te.prototype.m2=function(){return this.n28_1},te.prototype.q28=function(){return this.o28_1},te.prototype.toString=function(){return""+this.n28_1+this.o28_1},te.prototype.hashCode=function(){var t=zt(this.n28_1);return Q(t,31)+Ct(this.o28_1)|0},te.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof te))return!1;var n=t instanceof te?t:at();return!!xt(this.n28_1,n.n28_1)&&!!xt(this.o28_1,n.o28_1)},te.$metadata$=ct("CSSUnitValueTyped"),Object.defineProperty(te.prototype,"value",{configurable:!0,get:function(){return this.m2()}}),Object.defineProperty(te.prototype,"unit",{configurable:!0,get:function(){return this.q28()}}),ne.$metadata$=et("StyleScope"),ee.prototype.w28=function(){return this.t28_1},ee.prototype.x28=function(){return this.u28_1},ee.prototype.r28=function(t,n){this.w28().a(new ie(t,n))},ee.prototype.equals=function(t){return!(null==t||!St(t,re))&&!!oe(this.w28(),t.w28())&&oe(this.x28(),t.x28())},ee.$metadata$=ct("StyleScopeBuilder",[ne,re]),re.$metadata$=et("StyleHolder"),ie.prototype.y1y=function(){return this.y28_1},ie.prototype.m2=function(){return this.z28_1},ie.prototype.l4=function(){return this.y28_1},ie.prototype.m4=function(){return this.z28_1},ie.prototype.toString=function(){return"StylePropertyDeclaration(name="+this.y28_1+", value="+this.z28_1+")"},ie.prototype.hashCode=function(){var t=qt(this.y28_1);return Q(t,31)+Ct(this.z28_1)|0},ie.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof ie))return!1;var n=t instanceof ie?t:at();return this.y28_1===n.y28_1&&!!xt(this.z28_1,n.z28_1)},ie.$metadata$=ct("StylePropertyDeclaration"),ae.prototype.g1s=function(){return this.d29_1},ae.prototype.f29=function(t){for(var n=this.e29_1.c();n.d();){var e=n.e();this.d29_1.removeEventListener(e.y1y(),e)}this.e29_1=t;for(var r=this.e29_1.c();r.d();){var i=r.e();this.d29_1.addEventListener(i.y1y(),i)}},ae.prototype.g29=function(t){for(var n=t.c();n.d();){var e=n.e(),r=e.l4(),i=e.m4();r(this.d29_1,i)}},ae.prototype.h29=function(t){var n=this.d29_1;if(n instanceof HTMLElement||n instanceof SVGElement){this.d29_1.removeAttribute("style");for(var e=this.d29_1.style,r=t.w28().c();r.d();){var i=r.e(),o=i.l4(),s=i.m4();e.setProperty(o,ht(s))}for(var a=t.x28().c();a.d();){var u=a.e(),c=u.l4(),l=u.m4();e.setProperty(c,ht(l))}}},ae.prototype.i29=function(t){for(var n=this.d29_1.getAttributeNames(),e=0,r=n.length;e{"use strict";function r(){}e.r(n),e.d(n,{Animation:()=>ye,Animations:()=>ge,ArcElement:()=>bi,BarController:()=>Ne,BarElement:()=>Ti,BasePlatform:()=>qr,BasicPlatform:()=>Or,BubbleController:()=>Re,CategoryScale:()=>zo,Chart:()=>di,DatasetController:()=>Pe,Decimation:()=>Ri,DomPlatform:()=>Ur,DoughnutController:()=>Fe,Element:()=>Je,Filler:()=>ro,Interaction:()=>vr,Legend:()=>so,LineController:()=>He,LineElement:()=>qi,LinearScale:()=>qo,LogarithmicScale:()=>Po,PieController:()=>Ve,PointElement:()=>Pi,PolarAreaController:()=>Ue,RadarController:()=>We,RadialLinearScale:()=>Bo,Scale:()=>rr,ScatterController:()=>sr,SubTitle:()=>lo,Ticks:()=>Ye,TimeScale:()=>Wo,TimeSeriesScale:()=>Ko,Title:()=>uo,Tooltip:()=>ko,_adapters:()=>lr,_detectPlatform:()=>Vr,animator:()=>_e,controllers:()=>ar,defaults:()=>Xt,elements:()=>Bi,layouts:()=>Sr,plugins:()=>jo,registerables:()=>Go,registry:()=>or,scales:()=>Yo});const i=function(){let t=0;return function(){return t++}}();function o(t){return null==t}function s(t){if(Array.isArray&&Array.isArray(t))return!0;const n=Object.prototype.toString.call(t);return"[object"===n.slice(0,7)&&"Array]"===n.slice(-6)}function a(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}const u=t=>("number"==typeof t||t instanceof Number)&&isFinite(+t);function c(t,n){return u(t)?t:n}function l(t,n){return void 0===t?n:t}const h=(t,n)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*n:+t;function p(t,n,e){if(t&&"function"==typeof t.call)return t.apply(e,n)}function f(t,n,e,r){let i,o,u;if(s(t))if(o=t.length,r)for(i=o-1;i>=0;i--)n.call(e,t[i],i);else for(i=0;it,x:t=>t.x,y:t=>t.y};function w(t,n){const e=b[n]||(b[n]=function(t){const n=function(t){const n=t.split("."),e=[];let r="";for(const t of n)r+=t,r.endsWith("\\")?r=r.slice(0,-1)+".":(e.push(r),r="");return e}(t);return t=>{for(const e of n){if(""===e)break;t=t&&t[e]}return t}}(n));return e(t)}function x(t){return t.charAt(0).toUpperCase()+t.slice(1)}const k=t=>void 0!==t,j=t=>"function"==typeof t,z=(t,n)=>{if(t.size!==n.size)return!1;for(const e of t)if(!n.has(e))return!1;return!0},C=Math.PI,S=2*C,q=S+C,O=Number.POSITIVE_INFINITY,P=C/180,M=C/2,A=C/4,E=2*C/3,I=Math.log10,D=Math.sign;function T(t){const n=Math.round(t);t=L(t,n,t/1e3)?n:t;const e=Math.pow(10,Math.floor(I(t))),r=t/e;return(r<=1?1:r<=2?2:r<=5?5:10)*e}function B(t){return!isNaN(parseFloat(t))&&isFinite(t)}function L(t,n,e){return Math.abs(t-n)u&&c=Math.min(n,e)-r&&t<=Math.max(n,e)+r}function X(t,n,e){e=e||(e=>t[e]1;)r=o+i>>1,e(r)?o=r:i=r;return{lo:o,hi:i}}const Z=(t,n,e,r)=>X(t,e,r?r=>t[r][n]<=e:r=>t[r][n]X(t,e,(r=>t[r][n]>=e)),tt=["push","pop","shift","splice","unshift"];function nt(t,n){const e=t._chartjs;if(!e)return;const r=e.listeners,i=r.indexOf(n);-1!==i&&r.splice(i,1),r.length>0||(tt.forEach((n=>{delete t[n]})),delete t._chartjs)}function et(t){const n=new Set;let e,r;for(e=0,r=t.length;eArray.prototype.slice.call(t));let i=!1,o=[];return function(...e){o=r(e),i||(i=!0,rt.call(window,(()=>{i=!1,t.apply(n,o)})))}}const ot=t=>"start"===t?"left":"end"===t?"right":"center",st=(t,n,e)=>"start"===t?n:"end"===t?e:(n+e)/2;function at(t,n,e){const r=n.length;let i=0,o=r;if(t._sorted){const{iScale:s,_parsed:a}=t,u=s.axis,{min:c,max:l,minDefined:h,maxDefined:p}=s.getUserBounds();h&&(i=Y(Math.min(Z(a,s.axis,c).lo,e?r:Z(n,u,s.getPixelForValue(c)).lo),0,r-1)),o=p?Y(Math.max(Z(a,s.axis,l,!0).hi+1,e?0:Z(n,u,s.getPixelForValue(l),!0).hi+1),i,r)-i:r-i}return{start:i,count:o}}function ut(t){const{xScale:n,yScale:e,_scaleRanges:r}=t,i={xmin:n.min,xmax:n.max,ymin:e.min,ymax:e.max};if(!r)return t._scaleRanges=i,!0;const o=r.xmin!==n.min||r.xmax!==n.max||r.ymin!==e.min||r.ymax!==e.max;return Object.assign(r,i),o}const ct=t=>0===t||1===t,lt=(t,n,e)=>-Math.pow(2,10*(t-=1))*Math.sin((t-n)*S/e),ht=(t,n,e)=>Math.pow(2,-10*t)*Math.sin((t-n)*S/e)+1,pt={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*M),easeOutSine:t=>Math.sin(t*M),easeInOutSine:t=>-.5*(Math.cos(C*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>ct(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>ct(t)?t:lt(t,.075,.3),easeOutElastic:t=>ct(t)?t:ht(t,.075,.3),easeInOutElastic(t){const n=.1125;return ct(t)?t:t<.5?.5*lt(2*t,n,.45):.5+.5*ht(2*t-1,n,.45)},easeInBack(t){const n=1.70158;return t*t*((n+1)*t-n)},easeOutBack(t){const n=1.70158;return(t-=1)*t*((n+1)*t+n)+1},easeInOutBack(t){let n=1.70158;return(t/=.5)<1?t*t*((1+(n*=1.525))*t-n)*.5:.5*((t-=2)*t*((1+(n*=1.525))*t+n)+2)},easeInBounce:t=>1-pt.easeOutBounce(1-t),easeOutBounce(t){const n=7.5625,e=2.75;return t<1/e?n*t*t:t<2/e?n*(t-=1.5/e)*t+.75:t<2.5/e?n*(t-=2.25/e)*t+.9375:n*(t-=2.625/e)*t+.984375},easeInOutBounce:t=>t<.5?.5*pt.easeInBounce(2*t):.5*pt.easeOutBounce(2*t-1)+.5};function ft(t){return t+.5|0}const _t=(t,n,e)=>Math.max(Math.min(t,e),n);function dt(t){return _t(ft(2.55*t),0,255)}function vt(t){return _t(ft(255*t),0,255)}function yt(t){return _t(ft(t/2.55)/100,0,1)}function mt(t){return _t(ft(100*t),0,100)}const gt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},$t=[..."0123456789ABCDEF"],bt=t=>$t[15&t],wt=t=>$t[(240&t)>>4]+$t[15&t],xt=t=>(240&t)>>4==(15&t);const kt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function jt(t,n,e){const r=n*Math.min(e,1-e),i=(n,i=(n+t/30)%12)=>e-r*Math.max(Math.min(i-3,9-i,1),-1);return[i(0),i(8),i(4)]}function zt(t,n,e){const r=(r,i=(r+t/60)%6)=>e-e*n*Math.max(Math.min(i,4-i,1),0);return[r(5),r(3),r(1)]}function Ct(t,n,e){const r=jt(t,1,.5);let i;for(n+e>1&&(i=1/(n+e),n*=i,e*=i),i=0;i<3;i++)r[i]*=1-n-e,r[i]+=n;return r}function St(t){const n=t.r/255,e=t.g/255,r=t.b/255,i=Math.max(n,e,r),o=Math.min(n,e,r),s=(i+o)/2;let a,u,c;return i!==o&&(c=i-o,u=s>.5?c/(2-i-o):c/(i+o),a=function(t,n,e,r,i){return t===i?(n-e)/r+(nt<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,Tt=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Bt(t,n,e){if(t){let r=St(t);r[n]=Math.max(0,Math.min(r[n]+r[n]*e,0===n?360:1)),r=Ot(r),t.r=r[0],t.g=r[1],t.b=r[2]}}function Lt(t,n){return t?Object.assign(n||{},t):t}function Nt(t){var n={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(n={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(n.a=vt(t[3]))):(n=Lt(t,{r:0,g:0,b:0,a:1})).a=vt(n.a),n}function Rt(t){return"r"===t.charAt(0)?function(t){const n=It.exec(t);let e,r,i,o=255;if(n){if(n[7]!==e){const t=+n[7];o=n[8]?dt(t):_t(255*t,0,255)}return e=+n[1],r=+n[3],i=+n[5],e=255&(n[2]?dt(e):_t(e,0,255)),r=255&(n[4]?dt(r):_t(r,0,255)),i=255&(n[6]?dt(i):_t(i,0,255)),{r:e,g:r,b:i,a:o}}}(t):function(t){const n=kt.exec(t);let e,r=255;if(!n)return;n[5]!==e&&(r=n[6]?dt(+n[5]):vt(+n[5]));const i=Pt(+n[2]),o=+n[3]/100,s=+n[4]/100;return e="hwb"===n[1]?function(t,n,e){return qt(Ct,t,n,e)}(i,o,s):"hsv"===n[1]?function(t,n,e){return qt(zt,t,n,e)}(i,o,s):Ot(i,o,s),{r:e[0],g:e[1],b:e[2],a:r}}(t)}class Ft{constructor(t){if(t instanceof Ft)return t;const n=typeof t;let e;var r,i,o;"object"===n?e=Nt(t):"string"===n&&(o=(r=t).length,"#"===r[0]&&(4===o||5===o?i={r:255&17*gt[r[1]],g:255&17*gt[r[2]],b:255&17*gt[r[3]],a:5===o?17*gt[r[4]]:255}:7!==o&&9!==o||(i={r:gt[r[1]]<<4|gt[r[2]],g:gt[r[3]]<<4|gt[r[4]],b:gt[r[5]]<<4|gt[r[6]],a:9===o?gt[r[7]]<<4|gt[r[8]]:255})),e=i||function(t){Et||(Et=function(){const t={},n=Object.keys(At),e=Object.keys(Mt);let r,i,o,s,a;for(r=0;r>16&255,o>>8&255,255&o]}return t}(),Et.transparent=[0,0,0,0]);const n=Et[t.toLowerCase()];return n&&{r:n[0],g:n[1],b:n[2],a:4===n.length?n[3]:255}}(t)||Rt(t)),this._rgb=e,this._valid=!!e}get valid(){return this._valid}get rgb(){var t=Lt(this._rgb);return t&&(t.a=yt(t.a)),t}set rgb(t){this._rgb=Nt(t)}rgbString(){return this._valid?(t=this._rgb)&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${yt(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`):void 0;var t}hexString(){return this._valid?(t=this._rgb,n=(t=>xt(t.r)&&xt(t.g)&&xt(t.b)&&xt(t.a))(t)?bt:wt,t?"#"+n(t.r)+n(t.g)+n(t.b)+((t,n)=>t<255?n(t):"")(t.a,n):void 0):void 0;var t,n}hslString(){return this._valid?function(t){if(!t)return;const n=St(t),e=n[0],r=mt(n[1]),i=mt(n[2]);return t.a<255?`hsla(${e}, ${r}%, ${i}%, ${yt(t.a)})`:`hsl(${e}, ${r}%, ${i}%)`}(this._rgb):void 0}mix(t,n){if(t){const e=this.rgb,r=t.rgb;let i;const o=n===i?.5:n,s=2*o-1,a=e.a-r.a,u=((s*a==-1?s:(s+a)/(1+s*a))+1)/2;i=1-u,e.r=255&u*e.r+i*r.r+.5,e.g=255&u*e.g+i*r.g+.5,e.b=255&u*e.b+i*r.b+.5,e.a=o*e.a+(1-o)*r.a,this.rgb=e}return this}interpolate(t,n){return t&&(this._rgb=function(t,n,e){const r=Tt(yt(t.r)),i=Tt(yt(t.g)),o=Tt(yt(t.b));return{r:vt(Dt(r+e*(Tt(yt(n.r))-r))),g:vt(Dt(i+e*(Tt(yt(n.g))-i))),b:vt(Dt(o+e*(Tt(yt(n.b))-o))),a:t.a+e*(n.a-t.a)}}(this._rgb,t._rgb,n)),this}clone(){return new Ft(this.rgb)}alpha(t){return this._rgb.a=vt(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,n=ft(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=n,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Bt(this._rgb,2,t),this}darken(t){return Bt(this._rgb,2,-t),this}saturate(t){return Bt(this._rgb,1,t),this}desaturate(t){return Bt(this._rgb,1,-t),this}rotate(t){return function(t,n){var e=St(t);e[0]=Pt(e[0]+n),e=Ot(e),t.r=e[0],t.g=e[1],t.b=e[2]}(this._rgb,t),this}}function Ht(t){return new Ft(t)}function Ut(t){if(t&&"object"==typeof t){const n=t.toString();return"[object CanvasPattern]"===n||"[object CanvasGradient]"===n}return!1}function Vt(t){return Ut(t)?t:Ht(t)}function Wt(t){return Ut(t)?t:Ht(t).saturate(.5).darken(.1).hexString()}const Jt=Object.create(null),Kt=Object.create(null);function Yt(t,n){if(!n)return t;const e=n.split(".");for(let n=0,r=e.length;nt.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,n)=>Wt(n.backgroundColor),this.hoverBorderColor=(t,n)=>Wt(n.borderColor),this.hoverColor=(t,n)=>Wt(n.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t)}set(t,n){return Gt(this,t,n)}get(t){return Yt(this,t)}describe(t,n){return Gt(Kt,t,n)}override(t,n){return Gt(Jt,t,n)}route(t,n,e,r){const i=Yt(this,t),o=Yt(this,e),s="_"+n;Object.defineProperties(i,{[s]:{value:i[n],writable:!0},[n]:{enumerable:!0,get(){const t=this[s],n=o[r];return a(t)?Object.assign({},n,t):l(t,n)},set(t){this[s]=t}}})}}({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});function Zt(t,n,e,r,i){let o=n[i];return o||(o=n[i]=t.measureText(i).width,e.push(i)),o>r&&(r=o),r}function Qt(t,n,e,r){let i=(r=r||{}).data=r.data||{},o=r.garbageCollect=r.garbageCollect||[];r.font!==n&&(i=r.data={},o=r.garbageCollect=[],r.font=n),t.save(),t.font=n;let a=0;const u=e.length;let c,l,h,p,f;for(c=0;ce.length){for(c=0;c<_;c++)delete i[o[c]];o.splice(0,_)}return a}function tn(t,n,e){const r=t.currentDevicePixelRatio,i=0!==e?Math.max(e/2,.5):0;return Math.round((n-i)*r)/r+i}function nn(t,n){(n=n||t.getContext("2d")).save(),n.resetTransform(),n.clearRect(0,0,t.width,t.height),n.restore()}function en(t,n,e,r){rn(t,n,e,r,null)}function rn(t,n,e,r,i){let o,s,a,u,c,l;const h=n.pointStyle,p=n.rotation,f=n.radius;let _=(p||0)*P;if(h&&"object"==typeof h&&(o=h.toString(),"[object HTMLImageElement]"===o||"[object HTMLCanvasElement]"===o))return t.save(),t.translate(e,r),t.rotate(_),t.drawImage(h,-h.width/2,-h.height/2,h.width,h.height),void t.restore();if(!(isNaN(f)||f<=0)){switch(t.beginPath(),h){default:i?t.ellipse(e,r,i/2,f,0,0,S):t.arc(e,r,f,0,S),t.closePath();break;case"triangle":t.moveTo(e+Math.sin(_)*f,r-Math.cos(_)*f),_+=E,t.lineTo(e+Math.sin(_)*f,r-Math.cos(_)*f),_+=E,t.lineTo(e+Math.sin(_)*f,r-Math.cos(_)*f),t.closePath();break;case"rectRounded":c=.516*f,u=f-c,s=Math.cos(_+A)*u,a=Math.sin(_+A)*u,t.arc(e-s,r-a,c,_-C,_-M),t.arc(e+a,r-s,c,_-M,_),t.arc(e+s,r+a,c,_,_+M),t.arc(e-a,r+s,c,_+M,_+C),t.closePath();break;case"rect":if(!p){u=Math.SQRT1_2*f,l=i?i/2:u,t.rect(e-l,r-u,2*l,2*u);break}_+=A;case"rectRot":s=Math.cos(_)*f,a=Math.sin(_)*f,t.moveTo(e-s,r-a),t.lineTo(e+a,r-s),t.lineTo(e+s,r+a),t.lineTo(e-a,r+s),t.closePath();break;case"crossRot":_+=A;case"cross":s=Math.cos(_)*f,a=Math.sin(_)*f,t.moveTo(e-s,r-a),t.lineTo(e+s,r+a),t.moveTo(e+a,r-s),t.lineTo(e-a,r+s);break;case"star":s=Math.cos(_)*f,a=Math.sin(_)*f,t.moveTo(e-s,r-a),t.lineTo(e+s,r+a),t.moveTo(e+a,r-s),t.lineTo(e-a,r+s),_+=A,s=Math.cos(_)*f,a=Math.sin(_)*f,t.moveTo(e-s,r-a),t.lineTo(e+s,r+a),t.moveTo(e+a,r-s),t.lineTo(e-a,r+s);break;case"line":s=i?i/2:Math.cos(_)*f,a=Math.sin(_)*f,t.moveTo(e-s,r-a),t.lineTo(e+s,r+a);break;case"dash":t.moveTo(e,r),t.lineTo(e+Math.cos(_)*f,r+Math.sin(_)*f)}t.fill(),n.borderWidth>0&&t.stroke()}}function on(t,n,e){return e=e||.5,!n||t&&t.x>n.left-e&&t.xn.top-e&&t.y0&&""!==a.strokeColor;let l,h;for(t.save(),t.font=i.string,function(t,n){n.translation&&t.translate(n.translation[0],n.translation[1]),o(n.rotation)||t.rotate(n.rotation),n.color&&(t.fillStyle=n.color),n.textAlign&&(t.textAlign=n.textAlign),n.textBaseline&&(t.textBaseline=n.textBaseline)}(t,a),l=0;ll(t[e],t[n[e]]):n=>t[n]:()=>t;for(const t of i)e[t]=+o(t)||0;return e}function yn(t){return vn(t,{top:"y",right:"x",bottom:"y",left:"x"})}function mn(t){return vn(t,["topLeft","topRight","bottomLeft","bottomRight"])}function gn(t){const n=yn(t);return n.width=n.left+n.right,n.height=n.top+n.bottom,n}function $n(t,n){t=t||{},n=n||Xt.font;let e=l(t.size,n.size);"string"==typeof e&&(e=parseInt(e,10));let r=l(t.style,n.style);r&&!(""+r).match(_n)&&(console.warn('Invalid font style specified: "'+r+'"'),r="");const i={family:l(t.family,n.family),lineHeight:dn(l(t.lineHeight,n.lineHeight),e),size:e,style:r,weight:l(t.weight,n.weight),string:""};return i.string=function(t){return!t||o(t.size)||o(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}(i),i}function bn(t,n,e,r){let i,o,a,u=!0;for(i=0,o=t.length;it[0])){k(r)||(r=En("_fallback",t));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:e,_fallback:r,_getTarget:i,override:i=>xn([i,...t],n,e,r)};return new Proxy(o,{deleteProperty:(n,e)=>(delete n[e],delete n._keys,delete t[0][e],!0),get:(e,r)=>Sn(e,r,(()=>function(t,n,e,r){let i;for(const o of n)if(i=En(zn(o,t),e),k(i))return Cn(t,i)?Mn(e,r,t,i):i}(r,n,t,e))),getOwnPropertyDescriptor:(t,n)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],n),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,n)=>In(t).includes(n),ownKeys:t=>In(t),set(t,n,e){const r=t._storage||(t._storage=i());return t[n]=r[n]=e,delete t._keys,!0}})}function kn(t,n,e,r){const i={_cacheable:!1,_proxy:t,_context:n,_subProxy:e,_stack:new Set,_descriptors:jn(t,r),setContext:n=>kn(t,n,e,r),override:i=>kn(t.override(i),n,e,r)};return new Proxy(i,{deleteProperty:(n,e)=>(delete n[e],delete t[e],!0),get:(t,n,e)=>Sn(t,n,(()=>function(t,n,e){const{_proxy:r,_context:i,_subProxy:o,_descriptors:u}=t;let c=r[n];return j(c)&&u.isScriptable(n)&&(c=function(t,n,e,r){const{_proxy:i,_context:o,_subProxy:s,_stack:a}=e;if(a.has(t))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+t);return a.add(t),n=n(o,s||r),a.delete(t),Cn(t,n)&&(n=Mn(i._scopes,i,t,n)),n}(n,c,t,e)),s(c)&&c.length&&(c=function(t,n,e,r){const{_proxy:i,_context:o,_subProxy:s,_descriptors:u}=e;if(k(o.index)&&r(t))n=n[o.index%n.length];else if(a(n[0])){const e=n,r=i._scopes.filter((t=>t!==e));n=[];for(const a of e){const e=Mn(r,i,t,a);n.push(kn(e,o,s&&s[t],u))}}return n}(n,c,t,u.isIndexable)),Cn(n,c)&&(c=kn(c,i,o&&o[n],u)),c}(t,n,e))),getOwnPropertyDescriptor:(n,e)=>n._descriptors.allKeys?Reflect.has(t,e)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,e),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(n,e)=>Reflect.has(t,e),ownKeys:()=>Reflect.ownKeys(t),set:(n,e,r)=>(t[e]=r,delete n[e],!0)})}function jn(t,n={scriptable:!0,indexable:!0}){const{_scriptable:e=n.scriptable,_indexable:r=n.indexable,_allKeys:i=n.allKeys}=t;return{allKeys:i,scriptable:e,indexable:r,isScriptable:j(e)?e:()=>e,isIndexable:j(r)?r:()=>r}}const zn=(t,n)=>t?t+x(n):n,Cn=(t,n)=>a(n)&&"adapters"!==t&&(null===Object.getPrototypeOf(n)||n.constructor===Object);function Sn(t,n,e){if(Object.prototype.hasOwnProperty.call(t,n))return t[n];const r=e();return t[n]=r,r}function qn(t,n,e){return j(t)?t(n,e):t}const On=(t,n)=>!0===t?n:"string"==typeof t?w(n,t):void 0;function Pn(t,n,e,r,i){for(const o of n){const n=On(e,o);if(n){t.add(n);const o=qn(n._fallback,e,i);if(k(o)&&o!==e&&o!==r)return o}else if(!1===n&&k(r)&&e!==r)return null}return!1}function Mn(t,n,e,r){const i=n._rootScopes,o=qn(n._fallback,e,r),u=[...t,...i],c=new Set;c.add(r);let l=An(c,u,e,o||e,r);return null!==l&&(!k(o)||o===e||(l=An(c,u,o,l,r),null!==l))&&xn(Array.from(c),[""],i,o,(()=>function(t,n,e){const r=t._getTarget();n in r||(r[n]={});const i=r[n];return s(i)&&a(e)?e:i}(n,e,r)))}function An(t,n,e,r,i){for(;e;)e=Pn(t,n,e,r,i);return e}function En(t,n){for(const e of n){if(!e)continue;const n=e[t];if(k(n))return n}}function In(t){let n=t._keys;return n||(n=t._keys=function(t){const n=new Set;for(const e of t)for(const t of Object.keys(e).filter((t=>!t.startsWith("_"))))n.add(t);return Array.from(n)}(t._scopes)),n}function Dn(t,n,e,r){const{iScale:i}=t,{key:o="r"}=this._parsing,s=new Array(r);let a,u,c,l;for(a=0,u=r;an"x"===t?"y":"x";function Nn(t,n,e,r){const i=t.skip?n:t,o=n,s=e.skip?n:e,a=V(o,i),u=V(s,o);let c=a/(a+u),l=u/(a+u);c=isNaN(c)?0:c,l=isNaN(l)?0:l;const h=r*c,p=r*l;return{previous:{x:o.x-h*(s.x-i.x),y:o.y-h*(s.y-i.y)},next:{x:o.x+p*(s.x-i.x),y:o.y+p*(s.y-i.y)}}}function Rn(t,n,e){return Math.max(Math.min(t,e),n)}function Fn(t,n,e,r,i){let o,s,a,u;if(n.spanGaps&&(t=t.filter((t=>!t.skip))),"monotone"===n.cubicInterpolationMode)!function(t,n="x"){const e=Ln(n),r=t.length,i=Array(r).fill(0),o=Array(r);let s,a,u,c=Bn(t,0);for(s=0;swindow.getComputedStyle(t,null),Jn=["top","right","bottom","left"];function Kn(t,n,e){const r={};e=e?"-"+e:"";for(let i=0;i<4;i++){const o=Jn[i];r[o]=parseFloat(t[n+"-"+o+e])||0}return r.width=r.left+r.right,r.height=r.top+r.bottom,r}function Yn(t,n){if("native"in t)return t;const{canvas:e,currentDevicePixelRatio:r}=n,i=Wn(e),o="border-box"===i.boxSizing,s=Kn(i,"padding"),a=Kn(i,"border","width"),{x:u,y:c,box:l}=function(t,n){const e=t.touches,r=e&&e.length?e[0]:t,{offsetX:i,offsetY:o}=r;let s,a,u=!1;if(((t,n,e)=>(t>0||n>0)&&(!e||!e.shadowRoot))(i,o,t.target))s=i,a=o;else{const t=n.getBoundingClientRect();s=r.clientX-t.left,a=r.clientY-t.top,u=!0}return{x:s,y:a,box:u}}(t,e),h=s.left+(l&&a.left),p=s.top+(l&&a.top);let{width:f,height:_}=n;return o&&(f-=s.width+a.width,_-=s.height+a.height),{x:Math.round((u-h)/f*e.width/r),y:Math.round((c-p)/_*e.height/r)}}const Gn=t=>Math.round(10*t)/10;function Xn(t,n,e){const r=n||1,i=Math.floor(t.height*r),o=Math.floor(t.width*r);t.height=i/r,t.width=o/r;const s=t.canvas;return s.style&&(e||!s.style.height&&!s.style.width)&&(s.style.height=`${t.height}px`,s.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==r||s.height!==i||s.width!==o)&&(t.currentDevicePixelRatio=r,s.height=i,s.width=o,t.ctx.setTransform(r,0,0,r,0,0),!0)}const Zn=function(){let t=!1;try{const n={get passive(){return t=!0,!1}};window.addEventListener("test",null,n),window.removeEventListener("test",null,n)}catch(t){}return t}();function Qn(t,n){const e=function(t,n){return Wn(t).getPropertyValue(n)}(t,n),r=e&&e.match(/^(\d+)(\.\d+)?px$/);return r?+r[1]:void 0}function te(t,n,e,r){return{x:t.x+e*(n.x-t.x),y:t.y+e*(n.y-t.y)}}function ne(t,n,e,r){return{x:t.x+e*(n.x-t.x),y:"middle"===r?e<.5?t.y:n.y:"after"===r?e<1?t.y:n.y:e>0?n.y:t.y}}function ee(t,n,e,r){const i={x:t.cp2x,y:t.cp2y},o={x:n.cp1x,y:n.cp1y},s=te(t,i,e),a=te(i,o,e),u=te(o,n,e),c=te(s,a,e),l=te(a,u,e);return te(c,l,e)}const re=new Map;function ie(t,n,e){return function(t,n){n=n||{};const e=t+JSON.stringify(n);let r=re.get(e);return r||(r=new Intl.NumberFormat(t,n),re.set(e,r)),r}(n,e).format(t)}function oe(t,n,e){return t?function(t,n){return{x:e=>t+t+n-e,setWidth(t){n=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,n)=>t-n,leftForLtr:(t,n)=>t-n}}(n,e):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,n)=>t+n,leftForLtr:(t,n)=>t}}function se(t,n){let e,r;"ltr"!==n&&"rtl"!==n||(e=t.canvas.style,r=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",n,"important"),t.prevTextDirection=r)}function ae(t,n){void 0!==n&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",n[0],n[1]))}function ue(t){return"angle"===t?{between:K,compare:W,normalize:J}:{between:G,compare:(t,n)=>t-n,normalize:t=>t}}function ce({start:t,end:n,count:e,loop:r,style:i}){return{start:t%e,end:n%e,loop:r&&(n-t+1)%e==0,style:i}}function le(t,n,e){if(!e)return[t];const{property:r,start:i,end:o}=e,s=n.length,{compare:a,between:u,normalize:c}=ue(r),{start:l,end:h,loop:p,style:f}=function(t,n,e){const{property:r,start:i,end:o}=e,{between:s,normalize:a}=ue(r),u=n.length;let c,l,{start:h,end:p,loop:f}=t;if(f){for(h+=u,p+=u,c=0,l=u;cr({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(e-n.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=rt.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let n=0;this._charts.forEach(((e,r)=>{if(!e.running||!e.items.length)return;const i=e.items;let o,s=i.length-1,a=!1;for(;s>=0;--s)o=i[s],o._active?(o._total>e.duration&&(e.duration=o._total),o.tick(t),a=!0):(i[s]=i[i.length-1],i.pop());a&&(r.draw(),this._notify(r,e,t,"progress")),i.length||(e.running=!1,this._notify(r,e,t,"complete"),e.initial=!1),n+=i.length})),this._lastDate=t,0===n&&(this._running=!1)}_getAnims(t){const n=this._charts;let e=n.get(t);return e||(e={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,e)),e}listen(t,n,e){this._getAnims(t).listeners[n].push(e)}add(t,n){n&&n.length&&this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce(((t,n)=>Math.max(t,n._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!!(n&&n.running&&n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const e=n.items;let r=e.length-1;for(;r>=0;--r)e[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}};const de="transparent",ve={boolean:(t,n,e)=>e>.5?n:t,color(t,n,e){const r=Vt(t||de),i=r.valid&&Vt(n||de);return i&&i.valid?i.mix(r,e).hexString():n},number:(t,n,e)=>t+(n-t)*e};class ye{constructor(t,n,e,r){const i=n[e];r=bn([t.to,r,i,t.from]);const o=bn([t.from,i,r]);this._active=!0,this._fn=t.fn||ve[t.type||typeof o],this._easing=pt[t.easing]||pt.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=e,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,e){if(this._active){this._notify(!1);const r=this._target[this._prop],i=e-this._start,o=this._duration-i;this._start=e,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=i,this._loop=!!t.loop,this._to=bn([t.to,n,r,t.from]),this._from=bn([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,e=this._duration,r=this._prop,i=this._from,o=this._loop,s=this._to;let a;if(this._active=i!==s&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(i,s,a))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((n,e)=>{t.push({res:n,rej:e})}))}_notify(t){const n=t?"res":"rej",e=this._promises||[];for(let t=0;t"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),Xt.set("animations",{colors:{type:"color",properties:["color","borderColor","backgroundColor"]},numbers:{type:"number",properties:["x","y","borderWidth","radius","tension"]}}),Xt.describe("animations",{_fallback:"animation"}),Xt.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}});class ge{constructor(t,n){this._chart=t,this._properties=new Map,this.configure(n)}configure(t){if(!a(t))return;const n=this._properties;Object.getOwnPropertyNames(t).forEach((e=>{const r=t[e];if(!a(r))return;const i={};for(const t of me)i[t]=r[t];(s(r.properties)&&r.properties||[e]).forEach((t=>{t!==e&&n.has(t)||n.set(t,i)}))}))}_animateOptions(t,n){const e=n.options,r=function(t,n){if(!n)return;let e=t.options;if(e)return e.$shared&&(t.options=e=Object.assign({},e,{$shared:!1,$animations:{}})),e;t.options=n}(t,e);if(!r)return[];const i=this._createAnimations(r,e);return e.$shared&&function(t,n){const e=[],r=Object.keys(n);for(let n=0;n{t.options=e}),(()=>{})),i}_createAnimations(t,n){const e=this._properties,r=[],i=t.$animations||(t.$animations={}),o=Object.keys(n),s=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if("$"===u.charAt(0))continue;if("options"===u){r.push(...this._animateOptions(t,n));continue}const c=n[u];let l=i[u];const h=e.get(u);if(l){if(h&&l.active()){l.update(h,c,s);continue}l.cancel()}h&&h.duration?(i[u]=l=new ye(h,t,u,c),r.push(l)):t[u]=c}return r}update(t,n){if(0===this._properties.size)return void Object.assign(t,n);const e=this._createAnimations(t,n);return e.length?(_e.add(this._chart,e),!0):void 0}}function $e(t,n){const e=t&&t.options||{},r=e.reverse,i=void 0===e.min?n:0,o=void 0===e.max?n:0;return{start:r?o:i,end:r?i:o}}function be(t,n){const e=[],r=t._getSortedDatasetMetas(n);let i,o;for(i=0,o=r.length;i0||!e&&n<0)return i.index}return null}function ze(t,n){const{chart:e,_cachedMeta:r}=t,i=e._stacks||(e._stacks={}),{iScale:o,vScale:s,index:a}=r,u=o.axis,c=s.axis,l=function(t,n,e){return`${t.id}.${n.id}.${e.stack||e.type}`}(o,s,r),h=n.length;let p;for(let t=0;te[t].axis===n)).shift()}function Se(t,n){const e=t.controller.index,r=t.vScale&&t.vScale.axis;if(r){n=n||t._parsed;for(const t of n){const n=t._stacks;if(!n||void 0===n[r]||void 0===n[r][e])return;delete n[r][e]}}}const qe=t=>"reset"===t||"none"===t,Oe=(t,n)=>n?t:Object.assign({},t);class Pe{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=xe(t.vScale,t),this.addElements()}updateIndex(t){this.index!==t&&Se(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,e=this.getDataset(),r=(t,n,e,r)=>"x"===t?n:"r"===t?r:e,i=n.xAxisID=l(e.xAxisID,Ce(t,"x")),o=n.yAxisID=l(e.yAxisID,Ce(t,"y")),s=n.rAxisID=l(e.rAxisID,Ce(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,i,o,s),c=n.vAxisID=r(a,o,i,s);n.xScale=this.getScaleForId(i),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(s),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&nt(this._data,this),t._stacked&&Se(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),e=this._data;if(a(n))this._data=function(t){const n=Object.keys(t),e=new Array(n.length);let r,i,o;for(r=0,i=n.length;r{const n="_onData"+x(t),e=r[t];Object.defineProperty(r,t,{configurable:!0,enumerable:!1,value(...t){const i=e.apply(this,t);return r._chartjs.listeners.forEach((e=>{"function"==typeof e[n]&&e[n](...t)})),i}})})))),this._syncList=[],this._data=n}var r}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,e=this.getDataset();let r=!1;this._dataCheck();const i=n._stacked;n._stacked=xe(n.vScale,n),n.stack!==e.stack&&(r=!0,Se(n),n.stack=e.stack),this._resyncElements(t),(r||i!==n._stacked)&&ze(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),e=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(e,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:e,_data:r}=this,{iScale:i,_stacked:o}=e,u=i.axis;let c,l,h,p=0===t&&n===r.length||e._sorted,f=t>0&&e._parsed[t-1];if(!1===this._parsing)e._parsed=r,e._sorted=!0,h=r;else{h=s(r[t])?this.parseArrayData(e,r,t,n):a(r[t])?this.parseObjectData(e,r,t,n):this.parsePrimitiveData(e,r,t,n);const i=()=>null===l[u]||f&&l[u]t&&!n.hidden&&n._stacked&&{keys:be(e,!0),values:null})(n,e,this.chart),c={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:l,max:h}=function(t){const{min:n,max:e,minDefined:r,maxDefined:i}=t.getUserBounds();return{min:r?n:Number.NEGATIVE_INFINITY,max:i?e:Number.POSITIVE_INFINITY}}(s);let p,f;function _(){f=r[p];const n=f[s.axis];return!u(f[t.axis])||l>n||h=0;--p)if(!_()){this.updateRangeFromParsed(c,t,f,a);break}return c}getAllParsedValues(t){const n=this._cachedMeta._parsed,e=[];let r,i,o;for(r=0,i=n.length;r=0&&tthis.getContext(e,r)),l);return f.$shared&&(f.$shared=a,i[o]=Object.freeze(Oe(f,a))),f}_resolveAnimations(t,n,e){const r=this.chart,i=this._cachedDataOpts,o=`animation-${n}`,s=i[o];if(s)return s;let a;if(!1!==r.options.animation){const r=this.chart.config,i=r.datasetAnimationScopeKeys(this._type,n),o=r.getOptionScopes(this.getDataset(),i);a=r.createResolver(o,this.getContext(t,e,n))}const u=new ge(r,a&&a.animations);return a&&a._cacheable&&(i[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||qe(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const e=this.resolveDataElementOptions(t,n),r=this._sharedOptions,i=this.getSharedOptions(e),o=this.includeOptions(n,i)||i!==r;return this.updateSharedOptions(i,n,e),{sharedOptions:i,includeOptions:o}}updateElement(t,n,e,r){qe(r)?Object.assign(t,e):this._resolveAnimations(n,r).update(t,e)}updateSharedOptions(t,n,e){t&&!qe(n)&&this._resolveAnimations(void 0,n).update(t,e)}_setStyle(t,n,e,r){t.active=r;const i=this.getStyle(n,r);this._resolveAnimations(n,e,r).update(t,{options:!r&&this.getSharedOptions(i)||i})}removeHoverStyle(t,n,e){this._setStyle(t,e,"active",!1)}setHoverStyle(t,n,e){this._setStyle(t,e,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,e=this._cachedMeta.data;for(const[t,n,e]of this._syncList)this[t](n,e);this._syncList=[];const r=e.length,i=n.length,o=Math.min(i,r);o&&this.parse(0,o),i>r?this._insertElements(r,i-r,t):i{for(t.length+=n,s=t.length-1;s>=o;s--)t[s]=t[s-n]};for(a(i),s=t;st-n)))}return t._cache.$bar}(n,t.type);let r,i,o,s,a=n._length;const u=()=>{32767!==o&&-32768!==o&&(k(s)&&(a=Math.min(a,Math.abs(o-s)||a)),s=o)};for(r=0,i=e.length;rMath.abs(a)&&(u=a,c=s),n[e.axis]=c,n._custom={barStart:u,barEnd:c,start:i,end:o,min:s,max:a}}(t,n,e,r):n[e.axis]=e.parse(t,r),n}function Ee(t,n,e,r){const i=t.iScale,o=t.vScale,s=i.getLabels(),a=i===o,u=[];let c,l,h,p;for(c=e,l=e+r;ct.x,e="left",r="right"):(n=t.baset.controller.options.grouped)),i=e.options.stacked,s=[],a=t=>{const e=t.controller.getParsed(n),r=e&&e[t.vScale.axis];if(o(r)||isNaN(r))return!0};for(const e of r)if((void 0===n||!a(e))&&((!1===i||-1===s.indexOf(e.stack)||void 0===i&&void 0===e.stack)&&s.push(e.stack),e.index===t))break;return s.length||s.push(void 0),s}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,e){const r=this._getStacks(t,e),i=void 0!==n?r.indexOf(n):-1;return-1===i?r.length-1:i}_getRuler(){const t=this.options,n=this._cachedMeta,e=n.iScale,r=[];let i,o;for(i=0,o=n.data.length;i=e?1:-1)}(h,n,s)*i,p===s&&(v-=h/2);const t=n.getPixelForDecimal(0),e=n.getPixelForDecimal(1),r=Math.min(t,e),o=Math.max(t,e);v=Math.max(Math.min(v,o),r),l=v+h}if(v===n.getPixelForValue(s)){const t=D(h)*n.getLineWidthForValue(s)/2;v+=t,h-=t}return{size:h,base:v,head:l,center:l+h/2}}_calculateBarIndexPixels(t,n){const e=n.scale,r=this.options,i=r.skipNull,s=l(r.maxBarThickness,1/0);let a,u;if(n.grouped){const e=i?this._getStackCount(t):n.stackCount,c="flex"===r.barThickness?function(t,n,e,r){const i=n.pixels,o=i[t];let s=t>0?i[t-1]:null,a=t=0;--e)n=Math.max(n,t[e].size(this.resolveDataElementOptions(e))/2);return n>0&&n}getLabelAndValue(t){const n=this._cachedMeta,{xScale:e,yScale:r}=n,i=this.getParsed(t),o=e.getLabelForValue(i.x),s=r.getLabelForValue(i.y),a=i._custom;return{label:n.label,value:"("+o+", "+s+(a?", "+a:"")+")"}}update(t){const n=this._cachedMeta.data;this.updateElements(n,0,n.length,t)}updateElements(t,n,e,r){const i="reset"===r,{iScale:o,vScale:s}=this._cachedMeta,{sharedOptions:a,includeOptions:u}=this._getSharedOptions(n,r),c=o.axis,l=s.axis;for(let h=n;h""}}}};class Fe extends Pe{constructor(t,n){super(t,n),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,n){const e=this.getDataset().data,r=this._cachedMeta;if(!1===this._parsing)r._parsed=e;else{let i,o,s=t=>+e[t];if(a(e[t])){const{key:t="value"}=this._parsing;s=n=>+w(e[n],t)}for(i=t,o=t+n;iK(t,a,u,!0)?1:Math.max(n,n*e,r,r*e),_=(t,n,r)=>K(t,a,u,!0)?-1:Math.min(n,n*e,r,r*e),d=f(0,c,h),v=f(M,l,p),y=_(C,c,h),m=_(C+M,l,p);r=(d-y)/2,i=(v-m)/2,o=-(d+y)/2,s=-(v+m)/2}return{ratioX:r,ratioY:i,offsetX:o,offsetY:s}}(f,p,a),m=(e.width-o)/_,g=(e.height-o)/d,$=Math.max(Math.min(m,g)/2,0),b=h(this.options.radius,$),w=(b-Math.max(b*a,0))/this._getVisibleDatasetWeightTotal();this.offsetX=v*b,this.offsetY=y*b,r.total=this.calculateTotal(),this.outerRadius=b-w*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-w*l,0),this.updateElements(i,0,i.length,t)}_circumference(t,n){const e=this.options,r=this._cachedMeta,i=this._getCircumference();return n&&e.animation.animateRotate||!this.chart.getDataVisibility(t)||null===r._parsed[t]||r.data[t].hidden?0:this.calculateCircumference(r._parsed[t]*i/S)}updateElements(t,n,e,r){const i="reset"===r,o=this.chart,s=o.chartArea,a=o.options.animation,u=(s.left+s.right)/2,c=(s.top+s.bottom)/2,l=i&&a.animateScale,h=l?0:this.innerRadius,p=l?0:this.outerRadius,{sharedOptions:f,includeOptions:_}=this._getSharedOptions(n,r);let d,v=this._getRotation();for(d=0;d0&&!isNaN(t)?S*(Math.abs(t)/n):0}getLabelAndValue(t){const n=this._cachedMeta,e=this.chart,r=e.data.labels||[],i=ie(n._parsed[t],e.options.locale);return{label:r[t]||"",value:i}}getMaxBorderWidth(t){let n=0;const e=this.chart;let r,i,o,s,a;if(!t)for(r=0,i=e.data.datasets.length;r"spacing"!==t,_indexable:t=>"spacing"!==t},Fe.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:e}}=t.legend.options;return n.labels.map(((n,r)=>{const i=t.getDatasetMeta(0).controller.getStyle(r);return{text:n,fillStyle:i.backgroundColor,strokeStyle:i.borderColor,lineWidth:i.borderWidth,pointStyle:e,hidden:!t.getDataVisibility(r),index:r}}))}return[]}},onClick(t,n,e){e.chart.toggleDataVisibility(n.index),e.chart.update()}},tooltip:{callbacks:{title:()=>"",label(t){let n=t.label;const e=": "+t.formattedValue;return s(n)?(n=n.slice(),n[0]+=e):n+=e,n}}}}};class He extends Pe{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const n=this._cachedMeta,{dataset:e,data:r=[],_dataset:i}=n,o=this.chart._animationsDisabled;let{start:s,count:a}=at(n,r,o);this._drawStart=s,this._drawCount=a,ut(n)&&(s=0,a=r.length),e._chart=this.chart,e._datasetIndex=this.index,e._decimated=!!i._decimated,e.points=r;const u=this.resolveDatasetElementOptions(t);this.options.showLine||(u.borderWidth=0),u.segment=this.options.segment,this.updateElement(e,void 0,{animated:!o,options:u},t),this.updateElements(r,s,a,t)}updateElements(t,n,e,r){const i="reset"===r,{iScale:s,vScale:a,_stacked:u,_dataset:c}=this._cachedMeta,{sharedOptions:l,includeOptions:h}=this._getSharedOptions(n,r),p=s.axis,f=a.axis,{spanGaps:_,segment:d}=this.options,v=B(_)?_:Number.POSITIVE_INFINITY,y=this.chart._animationsDisabled||i||"none"===r;let m=n>0&&this.getParsed(n-1);for(let _=n;_0&&Math.abs(e[p]-m[p])>v,d&&(g.parsed=e,g.raw=c.data[_]),h&&(g.options=l||this.resolveDataElementOptions(_,n.active?"active":r)),y||this.updateElement(n,_,g,r),m=e}}getMaxOverflow(){const t=this._cachedMeta,n=t.dataset,e=n.options&&n.options.borderWidth||0,r=t.data||[];if(!r.length)return e;const i=r[0].size(this.resolveDataElementOptions(0)),o=r[r.length-1].size(this.resolveDataElementOptions(r.length-1));return Math.max(e,i,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}He.id="line",He.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1},He.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};class Ue extends Pe{constructor(t,n){super(t,n),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const n=this._cachedMeta,e=this.chart,r=e.data.labels||[],i=ie(n._parsed[t].r,e.options.locale);return{label:r[t]||"",value:i}}parseObjectData(t,n,e,r){return Dn.bind(this)(t,n,e,r)}update(t){const n=this._cachedMeta.data;this._updateRadius(),this.updateElements(n,0,n.length,t)}getMinMax(){const t=this._cachedMeta,n={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach(((t,e)=>{const r=this.getParsed(e).r;!isNaN(r)&&this.chart.getDataVisibility(e)&&(rn.max&&(n.max=r))})),n}_updateRadius(){const t=this.chart,n=t.chartArea,e=t.options,r=Math.min(n.right-n.left,n.bottom-n.top),i=Math.max(r/2,0),o=(i-Math.max(e.cutoutPercentage?i/100*e.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=i-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,n,e,r){const i="reset"===r,o=this.chart,s=o.options.animation,a=this._cachedMeta.rScale,u=a.xCenter,c=a.yCenter,l=a.getIndexAngle(0)-.5*C;let h,p=l;const f=360/this.countVisibleElements();for(h=0;h{!isNaN(this.getParsed(e).r)&&this.chart.getDataVisibility(e)&&n++})),n}_computeAngle(t,n,e){return this.chart.getDataVisibility(t)?R(this.resolveDataElementOptions(t,n).angle||e):0}}Ue.id="polarArea",Ue.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0},Ue.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:e}}=t.legend.options;return n.labels.map(((n,r)=>{const i=t.getDatasetMeta(0).controller.getStyle(r);return{text:n,fillStyle:i.backgroundColor,strokeStyle:i.borderColor,lineWidth:i.borderWidth,pointStyle:e,hidden:!t.getDataVisibility(r),index:r}}))}return[]}},onClick(t,n,e){e.chart.toggleDataVisibility(n.index),e.chart.update()}},tooltip:{callbacks:{title:()=>"",label:t=>t.chart.data.labels[t.dataIndex]+": "+t.formattedValue}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};class Ve extends Fe{}Ve.id="pie",Ve.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"};class We extends Pe{getLabelAndValue(t){const n=this._cachedMeta.vScale,e=this.getParsed(t);return{label:n.getLabels()[t],value:""+n.getLabelForValue(e[n.axis])}}parseObjectData(t,n,e,r){return Dn.bind(this)(t,n,e,r)}update(t){const n=this._cachedMeta,e=n.dataset,r=n.data||[],i=n.iScale.getLabels();if(e.points=r,"resize"!==t){const n=this.resolveDatasetElementOptions(t);this.options.showLine||(n.borderWidth=0);const o={_loop:!0,_fullLoop:i.length===r.length,options:n};this.updateElement(e,void 0,o,t)}this.updateElements(r,0,r.length,t)}updateElements(t,n,e,r){const i=this._cachedMeta.rScale,o="reset"===r;for(let s=n;s{r[t]=e[t]&&e[t].active()?e[t]._to:this[t]})),r}}Je.defaults={},Je.defaultRoutes=void 0;const Ke={values:t=>s(t)?t:""+t,numeric(t,n,e){if(0===t)return"0";const r=this.chart.options.locale;let i,o=t;if(e.length>1){const n=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(n<1e-4||n>1e15)&&(i="scientific"),o=function(t,n){let e=n.length>3?n[2].value-n[1].value:n[1].value-n[0].value;return Math.abs(e)>=1&&t!==Math.floor(t)&&(e=t-Math.floor(t)),e}(t,e)}const s=I(Math.abs(o)),a=Math.max(Math.min(-1*Math.floor(s),20),0),u={notation:i,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(u,this.options.ticks.format),ie(t,r,u)},logarithmic(t,n,e){if(0===t)return"0";const r=t/Math.pow(10,Math.floor(I(t)));return 1===r||2===r||5===r?Ke.numeric.call(this,t,n,e):""}};var Ye={formatters:Ke};function Ge(t,n,e,r,i){const o=l(r,0),s=Math.min(l(i,t.length),t.length);let a,u,c,h=0;for(e=Math.ceil(e),i&&(a=i-r,e=a/Math.floor(a/e)),c=o;c<0;)h++,c=Math.round(o+h*e);for(u=Math.max(o,0);un.lineWidth,tickColor:(t,n)=>n.color,offset:!1,borderDash:[],borderDashOffset:0,borderWidth:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ye.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),Xt.route("scale.ticks","color","","color"),Xt.route("scale.grid","color","","borderColor"),Xt.route("scale.grid","borderColor","","borderColor"),Xt.route("scale.title","color","","color"),Xt.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t}),Xt.describe("scales",{_fallback:"scale"}),Xt.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t});const Xe=(t,n,e)=>"top"===n||"left"===n?t[n]+e:t[n]-e;function Ze(t,n){const e=[],r=t.length/n,i=t.length;let o=0;for(;os+a)))return c}function tr(t){return t.drawTicks?t.tickLength:0}function nr(t,n){if(!t.display)return 0;const e=$n(t.font,n),r=gn(t.padding);return(s(t.text)?t.text.length:1)*e.lineHeight+r.height}function er(t,n,e){let r=ot(t);return(e&&"right"!==n||!e&&"right"===n)&&(r=(t=>"left"===t?"right":"right"===t?"left":t)(r)),r}class rr extends Je{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,n){return t}getUserBounds(){let{_userMin:t,_userMax:n,_suggestedMin:e,_suggestedMax:r}=this;return t=c(t,Number.POSITIVE_INFINITY),n=c(n,Number.NEGATIVE_INFINITY),e=c(e,Number.POSITIVE_INFINITY),r=c(r,Number.NEGATIVE_INFINITY),{min:c(t,e),max:c(n,r),minDefined:u(t),maxDefined:u(n)}}getMinMax(t){let n,{min:e,max:r,minDefined:i,maxDefined:o}=this.getUserBounds();if(i&&o)return{min:e,max:r};const s=this.getMatchingVisibleMetas();for(let a=0,u=s.length;ar?r:e,r=i&&e>r?e:r,{min:c(e,c(r,e)),max:c(r,c(e,r))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){p(this.options.beforeUpdate,[this])}update(t,n,e){const{beginAtZero:r,grace:i,ticks:s}=this.options,a=s.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=e=Object.assign({left:0,right:0,top:0,bottom:0},e),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+e.left+e.right:this.height+e.top+e.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=function(t,n,e){const{min:r,max:i}=t,o=h(n,(i-r)/2),s=(t,n)=>e&&0===t?0:t+n;return{min:s(r,-Math.abs(o)),max:s(i,o)}}(this,i,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const u=ar)return function(t,n,e,r){let i,o=0,s=e[0];for(r=Math.ceil(r),i=0;it-n)).pop(),n}(r);for(let t=0,n=o.length-1;ti)return n}return Math.max(i,1)}(i,n,r);if(s>0){let t,e;const r=s>1?Math.round((u-a)/(s-1)):null;for(Ge(n,c,l,o(r)?0:a-r,a),t=0,e=s-1;t=i||e<=1||!this.isHorizontal())return void(this.labelRotation=r);const c=this._getLabelSizes(),l=c.widest.width,h=c.highest.height,p=Y(this.chart.width-l,0,this.maxWidth);o=t.offset?this.maxWidth/e:p/(e-1),l+6>o&&(o=p/(e-(t.offset?.5:1)),s=this.maxHeight-tr(t.grid)-n.padding-nr(t.title,this.chart.options.font),a=Math.sqrt(l*l+h*h),u=F(Math.min(Math.asin(Y((c.highest.height+6)/o,-1,1)),Math.asin(Y(s/a,-1,1))-Math.asin(Y(h/a,-1,1)))),u=Math.max(r,Math.min(i,u))),this.labelRotation=u}afterCalculateLabelRotation(){p(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){p(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:e,title:r,grid:i}}=this,o=this._isVisible(),s=this.isHorizontal();if(o){const o=nr(r,n.options.font);if(s?(t.width=this.maxWidth,t.height=tr(i)+o):(t.height=this.maxHeight,t.width=tr(i)+o),e.display&&this.ticks.length){const{first:n,last:r,widest:i,highest:o}=this._getLabelSizes(),a=2*e.padding,u=R(this.labelRotation),c=Math.cos(u),l=Math.sin(u);if(s){const n=e.mirror?0:l*i.width+c*o.height;t.height=Math.min(this.maxHeight,t.height+n+a)}else{const n=e.mirror?0:c*i.width+l*o.height;t.width=Math.min(this.maxWidth,t.width+n+a)}this._calculatePadding(n,r,l,c)}}this._handleMargins(),s?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,e,r){const{ticks:{align:i,padding:o},position:s}=this.options,a=0!==this.labelRotation,u="top"!==s&&"x"===this.axis;if(this.isHorizontal()){const s=this.getPixelForTick(0)-this.left,c=this.right-this.getPixelForTick(this.ticks.length-1);let l=0,h=0;a?u?(l=r*t.width,h=e*n.height):(l=e*t.height,h=r*n.width):"start"===i?h=n.width:"end"===i?l=t.width:"inner"!==i&&(l=t.width/2,h=n.width/2),this.paddingLeft=Math.max((l-s+o)*this.width/(this.width-s),0),this.paddingRight=Math.max((h-c+o)*this.width/(this.width-c),0)}else{let e=n.height/2,r=t.height/2;"start"===i?(e=0,r=t.height):"end"===i&&(e=n.height,r=0),this.paddingTop=e+o,this.paddingBottom=r+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){p(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return"top"===n||"bottom"===n||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let n,e;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),n=0,e=t.length;n{const e=t.gc,r=e.length/2;let i;if(r>n){for(i=0;i({width:i[t]||0,height:a[t]||0});return{first:k(0),last:k(n-1),widest:k(w),highest:k(x),widths:i,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return Y(this._alignToPixels?tn(this.chart,n,0):n,-32768,32767)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&ts*r?s/e:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,e=this.chart,r=this.options,{grid:i,position:o}=r,s=i.offset,u=this.isHorizontal(),c=this.ticks.length+(s?1:0),h=tr(i),p=[],f=i.setContext(this.getContext()),_=f.drawBorder?f.borderWidth:0,d=_/2,v=function(t){return tn(e,t,_)};let y,m,g,$,b,w,x,k,j,z,C,S;if("top"===o)y=v(this.bottom),w=this.bottom-h,k=y-d,z=v(t.top)+d,S=t.bottom;else if("bottom"===o)y=v(this.top),z=t.top,S=v(t.bottom)-d,w=y+d,k=this.top+h;else if("left"===o)y=v(this.right),b=this.right-h,x=y-d,j=v(t.left)+d,C=t.right;else if("right"===o)y=v(this.left),j=t.left,C=v(t.right)-d,b=y+d,x=this.left+h;else if("x"===n){if("center"===o)y=v((t.top+t.bottom)/2+.5);else if(a(o)){const t=Object.keys(o)[0],n=o[t];y=v(this.chart.scales[t].getPixelForValue(n))}z=t.top,S=t.bottom,w=y+d,k=w+h}else if("y"===n){if("center"===o)y=v((t.left+t.right)/2);else if(a(o)){const t=Object.keys(o)[0],n=o[t];y=v(this.chart.scales[t].getPixelForValue(n))}b=y-d,x=b-h,j=t.left,C=t.right}const q=l(r.ticks.maxTicksLimit,c),O=Math.max(1,Math.ceil(c/q));for(m=0;mn.value===t));return e>=0?n.setContext(this.getContext(e)).lineWidth:0}drawGrid(t){const n=this.options.grid,e=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let i,o;const s=(t,n,r)=>{r.width&&r.color&&(e.save(),e.lineWidth=r.width,e.strokeStyle=r.color,e.setLineDash(r.borderDash||[]),e.lineDashOffset=r.borderDashOffset,e.beginPath(),e.moveTo(t.x,t.y),e.lineTo(n.x,n.y),e.stroke(),e.restore())};if(n.display)for(i=0,o=r.length;i{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:e+1,draw:()=>{this.drawBorder()}},{z:n,draw:t=>{this.drawLabels(t)}}]:[{z:n,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),e=this.axis+"AxisID",r=[];let i,o;for(i=0,o=n.length;i{const r=e.split("."),i=r.pop(),o=[t].concat(r).join("."),s=n[e].split("."),a=s.pop(),u=s.join(".");Xt.route(o,i,u,a)}))}(n,t.defaultRoutes),t.descriptors&&Xt.describe(n,t.descriptors)}(t,o,e),this.override&&Xt.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const n=this.items,e=t.id,r=this.scope;e in n&&delete n[e],r&&e in Xt[r]&&(delete Xt[r][e],this.override&&delete Jt[e])}}var or=new class{constructor(){this.controllers=new ir(Pe,"datasets",!0),this.elements=new ir(Je,"elements"),this.plugins=new ir(Object,"plugins"),this.scales=new ir(rr,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,e){[...n].forEach((n=>{const r=e||this._getRegistryForType(n);e||r.isForType(n)||r===this.plugins&&n.id?this._exec(t,r,n):f(n,(n=>{const r=e||this._getRegistryForType(n);this._exec(t,r,n)}))}))}_exec(t,n,e){const r=x(t);p(e["before"+r],[],e),n[t](e),p(e["after"+r],[],e)}_getRegistryForType(t){for(let n=0;n0&&this.getParsed(n-1);for(let l=n;l0&&Math.abs(e[f]-g[f])>y,v&&(d.parsed=e,d.raw=c.data[l]),p&&(d.options=h||this.resolveDataElementOptions(l,n.active?"active":r)),m||this.updateElement(n,l,d,r),g=e}this.updateSharedOptions(h,r,l)}getMaxOverflow(){const t=this._cachedMeta,n=t.data||[];if(!this.options.showLine){let t=0;for(let e=n.length-1;e>=0;--e)t=Math.max(t,n[e].size(this.resolveDataElementOptions(e))/2);return t>0&&t}const e=t.dataset,r=e.options&&e.options.borderWidth||0;if(!n.length)return r;const i=n[0].size(this.resolveDataElementOptions(0)),o=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(r,i,o)/2}}sr.id="scatter",sr.defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1},sr.overrides={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{title:()=>"",label:t=>"("+t.label+", "+t.formattedValue+")"}}},scales:{x:{type:"linear"},y:{type:"linear"}}};var ar=Object.freeze({__proto__:null,BarController:Ne,BubbleController:Re,DoughnutController:Fe,LineController:He,PolarAreaController:Ue,PieController:Ve,RadarController:We,ScatterController:sr});function ur(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class cr{constructor(t){this.options=t||{}}init(t){}formats(){return ur()}parse(t,n){return ur()}format(t,n){return ur()}add(t,n,e){return ur()}diff(t,n,e){return ur()}startOf(t,n,e){return ur()}endOf(t,n){return ur()}}cr.override=function(t){Object.assign(cr.prototype,t)};var lr={_date:cr};function hr(t,n,e,r){const{controller:i,data:o,_sorted:s}=t,a=i._cachedMeta.iScale;if(a&&n===a.axis&&"r"!==n&&s&&o.length){const t=a._reversePixels?Q:Z;if(!r)return t(o,n,e);if(i._sharedOptions){const r=o[0],i="function"==typeof r.getRange&&r.getRange(n);if(i){const r=t(o,n,e-i),s=t(o,n,e+i);return{lo:r.lo,hi:s.hi}}}}return{lo:0,hi:o.length-1}}function pr(t,n,e,r,i){const o=t.getSortedVisibleDatasetMetas(),s=e[n];for(let t=0,e=o.length;t{t[s](n[e],i)&&(o.push({element:t,datasetIndex:r,index:u}),a=a||t.inRange(n.x,n.y,i))})),r&&!a?[]:o}var vr={evaluateInteractionItems:pr,modes:{index(t,n,e,r){const i=Yn(n,t),o=e.axis||"x",s=e.includeInvisible||!1,a=e.intersect?fr(t,i,o,r,s):_r(t,i,o,!1,r,s),u=[];return a.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const n=a[0].index,e=t.data[n];e&&!e.skip&&u.push({element:e,datasetIndex:t.index,index:n})})),u):[]},dataset(t,n,e,r){const i=Yn(n,t),o=e.axis||"xy",s=e.includeInvisible||!1;let a=e.intersect?fr(t,i,o,r,s):_r(t,i,o,!1,r,s);if(a.length>0){const n=a[0].datasetIndex,e=t.getDatasetMeta(n).data;a=[];for(let t=0;tfr(t,Yn(n,t),e.axis||"xy",r,e.includeInvisible||!1),nearest(t,n,e,r){const i=Yn(n,t),o=e.axis||"xy",s=e.includeInvisible||!1;return _r(t,i,o,e.intersect,r,s)},x:(t,n,e,r)=>dr(t,Yn(n,t),"x",e.intersect,r),y:(t,n,e,r)=>dr(t,Yn(n,t),"y",e.intersect,r)}};const yr=["left","top","right","bottom"];function mr(t,n){return t.filter((t=>t.pos===n))}function gr(t,n){return t.filter((t=>-1===yr.indexOf(t.pos)&&t.box.axis===n))}function $r(t,n){return t.sort(((t,e)=>{const r=n?e:t,i=n?t:e;return r.weight===i.weight?r.index-i.index:r.weight-i.weight}))}function br(t,n,e,r){return Math.max(t[e],n[e])+Math.max(t[r],n[r])}function wr(t,n){t.top=Math.max(t.top,n.top),t.left=Math.max(t.left,n.left),t.bottom=Math.max(t.bottom,n.bottom),t.right=Math.max(t.right,n.right)}function xr(t,n,e,r){const{pos:i,box:o}=e,s=t.maxPadding;if(!a(i)){e.size&&(t[i]-=e.size);const n=r[e.stack]||{size:0,count:1};n.size=Math.max(n.size,e.horizontal?o.height:o.width),e.size=n.size/n.count,t[i]+=e.size}o.getPadding&&wr(s,o.getPadding());const u=Math.max(0,n.outerWidth-br(s,t,"left","right")),c=Math.max(0,n.outerHeight-br(s,t,"top","bottom")),l=u!==t.w,h=c!==t.h;return t.w=u,t.h=c,e.horizontal?{same:l,other:h}:{same:h,other:l}}function kr(t,n){const e=n.maxPadding;return function(t){const r={left:0,top:0,right:0,bottom:0};return t.forEach((t=>{r[t]=Math.max(n[t],e[t])})),r}(t?["left","right"]:["top","bottom"])}function jr(t,n,e,r){const i=[];let o,s,a,u,c,l;for(o=0,s=t.length,c=0;ot.box.fullSize)),!0),r=$r(mr(n,"left"),!0),i=$r(mr(n,"right")),o=$r(mr(n,"top"),!0),s=$r(mr(n,"bottom")),a=gr(n,"x"),u=gr(n,"y");return{fullSize:e,leftAndTop:r.concat(o),rightAndBottom:i.concat(u).concat(s).concat(a),chartArea:mr(n,"chartArea"),vertical:r.concat(i).concat(u),horizontal:o.concat(s).concat(a)}}(t.boxes),u=a.vertical,c=a.horizontal;f(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const l=u.reduce(((t,n)=>n.box.options&&!1===n.box.options.display?t:t+1),0)||1,h=Object.freeze({outerWidth:n,outerHeight:e,padding:i,availableWidth:o,availableHeight:s,vBoxMaxWidth:o/2/l,hBoxMaxHeight:s/2}),p=Object.assign({},i);wr(p,gn(r));const _=Object.assign({maxPadding:p,w:o,h:s,x:i.left,y:i.top},i),d=function(t,n){const e=function(t){const n={};for(const e of t){const{stack:t,pos:r,stackWeight:i}=e;if(!t||!yr.includes(r))continue;const o=n[t]||(n[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=i}return n}(t),{vBoxMaxWidth:r,hBoxMaxHeight:i}=n;let o,s,a;for(o=0,s=t.length;o{const e=n.box;Object.assign(e,t.chartArea),e.update(_.w,_.h,{left:0,top:0,right:0,bottom:0})}))}};class qr{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,e){}removeEventListener(t,n,e){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,e,r){return n=Math.max(0,n||t.width),e=e||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):e)}}isAttached(t){return!0}updateConfig(t){}}class Or extends qr{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const Pr={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Mr=t=>null===t||""===t,Ar=!!Zn&&{passive:!0};function Er(t,n,e){t.canvas.removeEventListener(n,e,Ar)}function Ir(t,n){for(const e of t)if(e===n||e.contains(n))return!0}function Dr(t,n,e){const r=t.canvas,i=new MutationObserver((t=>{let n=!1;for(const e of t)n=n||Ir(e.addedNodes,r),n=n&&!Ir(e.removedNodes,r);n&&e()}));return i.observe(document,{childList:!0,subtree:!0}),i}function Tr(t,n,e){const r=t.canvas,i=new MutationObserver((t=>{let n=!1;for(const e of t)n=n||Ir(e.removedNodes,r),n=n&&!Ir(e.addedNodes,r);n&&e()}));return i.observe(document,{childList:!0,subtree:!0}),i}const Br=new Map;let Lr=0;function Nr(){const t=window.devicePixelRatio;t!==Lr&&(Lr=t,Br.forEach(((n,e)=>{e.currentDevicePixelRatio!==t&&n()})))}function Rr(t,n,e){const r=t.canvas,i=r&&Un(r);if(!i)return;const o=it(((t,n)=>{const r=i.clientWidth;e(t,n),r{const n=t[0],e=n.contentRect.width,r=n.contentRect.height;0===e&&0===r||o(e,r)}));return s.observe(i),function(t,n){Br.size||window.addEventListener("resize",Nr),Br.set(t,n)}(t,o),s}function Fr(t,n,e){e&&e.disconnect(),"resize"===n&&function(t){Br.delete(t),Br.size||window.removeEventListener("resize",Nr)}(t)}function Hr(t,n,e){const r=t.canvas,i=it((n=>{null!==t.ctx&&e(function(t,n){const e=Pr[t.type]||t.type,{x:r,y:i}=Yn(t,n);return{type:e,chart:n,native:t,x:void 0!==r?r:null,y:void 0!==i?i:null}}(n,t))}),t,(t=>{const n=t[0];return[n,n.offsetX,n.offsetY]}));return function(t,n,e){t.addEventListener(n,e,Ar)}(r,n,i),i}class Ur extends qr{acquireContext(t,n){const e=t&&t.getContext&&t.getContext("2d");return e&&e.canvas===t?(function(t,n){const e=t.style,r=t.getAttribute("height"),i=t.getAttribute("width");if(t.$chartjs={initial:{height:r,width:i,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",Mr(i)){const n=Qn(t,"width");void 0!==n&&(t.width=n)}if(Mr(r))if(""===t.style.height)t.height=t.width/(n||2);else{const n=Qn(t,"height");void 0!==n&&(t.height=n)}}(t,n),e):null}releaseContext(t){const n=t.canvas;if(!n.$chartjs)return!1;const e=n.$chartjs.initial;["height","width"].forEach((t=>{const r=e[t];o(r)?n.removeAttribute(t):n.setAttribute(t,r)}));const r=e.style||{};return Object.keys(r).forEach((t=>{n.style[t]=r[t]})),n.width=n.width,delete n.$chartjs,!0}addEventListener(t,n,e){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),i={attach:Dr,detach:Tr,resize:Rr}[n]||Hr;r[n]=i(t,n,e)}removeEventListener(t,n){const e=t.$proxies||(t.$proxies={}),r=e[n];r&&(({attach:Fr,detach:Fr,resize:Fr}[n]||Er)(t,n,r),e[n]=void 0)}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,e,r){return function(t,n,e,r){const i=Wn(t),o=Kn(i,"margin"),s=Vn(i.maxWidth,t,"clientWidth")||O,a=Vn(i.maxHeight,t,"clientHeight")||O,u=function(t,n,e){let r,i;if(void 0===n||void 0===e){const o=Un(t);if(o){const t=o.getBoundingClientRect(),s=Wn(o),a=Kn(s,"border","width"),u=Kn(s,"padding");n=t.width-u.width-a.width,e=t.height-u.height-a.height,r=Vn(s.maxWidth,o,"clientWidth"),i=Vn(s.maxHeight,o,"clientHeight")}else n=t.clientWidth,e=t.clientHeight}return{width:n,height:e,maxWidth:r||O,maxHeight:i||O}}(t,n,e);let{width:c,height:l}=u;if("content-box"===i.boxSizing){const t=Kn(i,"border","width"),n=Kn(i,"padding");c-=n.width+t.width,l-=n.height+t.height}return c=Math.max(0,c-o.width),l=Math.max(0,r?Math.floor(c/r):l-o.height),c=Gn(Math.min(c,s,u.maxWidth)),l=Gn(Math.min(l,a,u.maxHeight)),c&&!l&&(l=Gn(c/2)),{width:c,height:l}}(t,n,e,r)}isAttached(t){const n=Un(t);return!(!n||!n.isConnected)}}function Vr(t){return!Hn()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?Or:Ur}class Wr{constructor(){this._init=[]}notify(t,n,e,r){"beforeInit"===n&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const i=r?this._descriptors(t).filter(r):this._descriptors(t),o=this._notify(i,t,n,e);return"afterDestroy"===n&&(this._notify(i,t,"stop"),this._notify(this._init,t,"uninstall")),o}_notify(t,n,e,r){r=r||{};for(const i of t){const t=i.plugin;if(!1===p(t[e],[n,r,i.options],t)&&r.cancelable)return!1}return!0}invalidate(){o(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const n=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),n}_createDescriptors(t,n){const e=t&&t.config,r=l(e.options&&e.options.plugins,{}),i=function(t){const n={},e=[],r=Object.keys(or.plugins.items);for(let t=0;tt.filter((t=>!n.some((n=>t.plugin.id===n.plugin.id))));this._notify(r(n,e),t,"stop"),this._notify(r(e,n),t,"start")}}function Jr(t,n){return n||!1!==t?!0===t?{}:t:null}function Kr(t,{plugin:n,local:e},r,i){const o=t.pluginScopeKeys(n),s=t.getOptionScopes(r,o);return e&&n.defaults&&s.push(n.defaults),t.createResolver(s,i,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function Yr(t,n){const e=Xt.datasets[t]||{};return((n.datasets||{})[t]||{}).indexAxis||n.indexAxis||e.indexAxis||"x"}function Gr(t,n){return"x"===t||"y"===t?t:n.axis||("top"===(e=n.position)||"bottom"===e?"x":"left"===e||"right"===e?"y":void 0)||t.charAt(0).toLowerCase();var e}function Xr(t){const n=t.options||(t.options={});n.plugins=l(n.plugins,{}),n.scales=function(t,n){const e=Jt[t.type]||{scales:{}},r=n.scales||{},i=Yr(t.type,n),o=Object.create(null),s=Object.create(null);return Object.keys(r).forEach((t=>{const n=r[t];if(!a(n))return console.error(`Invalid scale configuration for scale: ${t}`);if(n._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);const u=Gr(t,n),c=function(t,n){return t===n?"_index_":"_value_"}(u,i),l=e.scales||{};o[u]=o[u]||t,s[t]=g(Object.create(null),[{axis:u},n,l[u],l[c]])})),t.data.datasets.forEach((e=>{const i=e.type||t.type,a=e.indexAxis||Yr(i,n),u=(Jt[i]||{}).scales||{};Object.keys(u).forEach((t=>{const n=function(t,n){let e=t;return"_index_"===t?e=n:"_value_"===t&&(e="x"===n?"y":"x"),e}(t,a),i=e[n+"AxisID"]||o[n]||n;s[i]=s[i]||Object.create(null),g(s[i],[{axis:n},r[i],u[t]])}))})),Object.keys(s).forEach((t=>{const n=s[t];g(n,[Xt.scales[n.type],Xt.scale])})),s}(t,n)}function Zr(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const Qr=new Map,ti=new Set;function ni(t,n){let e=Qr.get(t);return e||(e=n(),Qr.set(t,e),ti.add(e)),e}const ei=(t,n,e)=>{const r=w(n,e);void 0!==r&&t.add(r)};class ri{constructor(t){this._config=function(t){return(t=t||{}).data=Zr(t.data),Xr(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Zr(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Xr(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return ni(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,n){return ni(`${t}.transition.${n}`,(()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,n){return ni(`${t}-${n}`,(()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]]))}pluginScopeKeys(t){const n=t.id;return ni(`${this.type}-plugin-${n}`,(()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,n){const e=this._scopeCache;let r=e.get(t);return r&&!n||(r=new Map,e.set(t,r)),r}getOptionScopes(t,n,e){const{options:r,type:i}=this,o=this._cachedScopes(t,e),s=o.get(n);if(s)return s;const a=new Set;n.forEach((n=>{t&&(a.add(t),n.forEach((n=>ei(a,t,n)))),n.forEach((t=>ei(a,r,t))),n.forEach((t=>ei(a,Jt[i]||{},t))),n.forEach((t=>ei(a,Xt,t))),n.forEach((t=>ei(a,Kt,t)))}));const u=Array.from(a);return 0===u.length&&u.push(Object.create(null)),ti.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Jt[n]||{},Xt.datasets[n]||{},{type:n},Xt,Kt]}resolveNamedOptions(t,n,e,r=[""]){const i={$shared:!0},{resolver:o,subPrefixes:a}=ii(this._resolverCache,t,r);let u=o;(function(t,n){const{isScriptable:e,isIndexable:r}=jn(t);for(const i of n){const n=e(i),o=r(i),a=(o||n)&&t[i];if(n&&(j(a)||oi(a))||o&&s(a))return!0}return!1})(o,n)&&(i.$shared=!1,u=kn(o,e=j(e)?e():e,this.createResolver(t,e,a)));for(const t of n)i[t]=u[t];return i}createResolver(t,n,e=[""],r){const{resolver:i}=ii(this._resolverCache,t,e);return a(n)?kn(i,n,void 0,r):i}}function ii(t,n,e){let r=t.get(n);r||(r=new Map,t.set(n,r));const i=e.join();let o=r.get(i);return o||(o={resolver:xn(n,e),subPrefixes:e.filter((t=>!t.toLowerCase().includes("hover")))},r.set(i,o)),o}const oi=t=>a(t)&&Object.getOwnPropertyNames(t).reduce(((n,e)=>n||j(t[e])),!1),si=["top","bottom","left","right","chartArea"];function ai(t,n){return"top"===t||"bottom"===t||-1===si.indexOf(t)&&"x"===n}function ui(t,n){return function(e,r){return e[t]===r[t]?e[n]-r[n]:e[t]-r[t]}}function ci(t){const n=t.chart,e=n.options.animation;n.notifyPlugins("afterRender"),p(e&&e.onComplete,[t],n)}function li(t){const n=t.chart,e=n.options.animation;p(e&&e.onProgress,[t],n)}function hi(t){return Hn()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const pi={},fi=t=>{const n=hi(t);return Object.values(pi).filter((t=>t.canvas===n)).pop()};function _i(t,n,e){const r=Object.keys(t);for(const i of r){const r=+i;if(r>=n){const o=t[i];delete t[i],(e>0||r>n)&&(t[r+e]=o)}}}class di{constructor(t,n){const e=this.config=new ri(n),r=hi(t),o=fi(r);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const s=e.createResolver(e.chartOptionScopes(),this.getContext());this.platform=new(e.platform||Vr(r)),this.platform.updateConfig(e);const a=this.platform.acquireContext(r,s.aspectRatio),u=a&&a.canvas,c=u&&u.height,l=u&&u.width;this.id=i(),this.ctx=a,this.canvas=u,this.width=l,this.height=c,this._options=s,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Wr,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=function(t,n){let e;return function(...r){return n?(clearTimeout(e),e=setTimeout(t,n,r)):t.apply(this,r),n}}((t=>this.update(t)),s.resizeDelay||0),this._dataChanges=[],pi[this.id]=this,a&&u?(_e.listen(this,"complete",ci),_e.listen(this,"progress",li),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:e,height:r,_aspectRatio:i}=this;return o(t)?n&&i?i:r?e/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Xn(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return nn(this.canvas,this.ctx),this}stop(){return _e.stop(this),this}resize(t,n){_e.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const e=this.options,r=this.canvas,i=e.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,i),s=e.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Xn(this,s,!0)&&(this.notifyPlugins("resize",{size:o}),p(e.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){f(this.options.scales||{},((t,n)=>{t.id=n}))}buildOrUpdateScales(){const t=this.options,n=t.scales,e=this.scales,r=Object.keys(e).reduce(((t,n)=>(t[n]=!1,t)),{});let i=[];n&&(i=i.concat(Object.keys(n).map((t=>{const e=n[t],r=Gr(t,e),i="r"===r,o="x"===r;return{options:e,dposition:i?"chartArea":o?"bottom":"left",dtype:i?"radialLinear":o?"category":"linear"}})))),f(i,(n=>{const i=n.options,o=i.id,s=Gr(o,i),a=l(i.type,n.dtype);void 0!==i.position&&ai(i.position,s)===ai(n.dposition)||(i.position=n.dposition),r[o]=!0;let u=null;o in e&&e[o].type===a?u=e[o]:(u=new(or.getScale(a))({id:o,type:a,ctx:this.ctx,chart:this}),e[u.id]=u),u.init(i,t)})),f(r,((t,n)=>{t||delete e[n]})),f(e,(t=>{Sr.configure(this,t,t.options),Sr.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,e=t.length;if(t.sort(((t,n)=>t.index-n.index)),e>n){for(let t=n;tn.length&&delete this._stacks,t.forEach(((t,e)=>{0===n.filter((n=>n===t._dataset)).length&&this._destroyDatasetMeta(e)}))}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let e,r;for(this._removeUnreferencedMetasets(),e=0,r=n.length;e{this.getDatasetMeta(n).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const e=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!e.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const i=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let t=0,n=this.data.datasets.length;t{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(ui("z","_idx"));const{_active:s,_lastEvent:a}=this;a?this._eventHandler(a,!0):s.length&&this._updateHoverStyles(s,s,!0),this.render()}_updateScales(){f(this.scales,(t=>{Sr.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),e=new Set(t.events);z(n,e)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:e,start:r,count:i}of n)_i(t,r,"_removeElements"===e?-i:i)}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,e=n=>new Set(t.filter((t=>t[0]===n)).map(((t,n)=>n+","+t.splice(1).join(",")))),r=e(0);for(let t=1;tt.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;Sr.update(this,this.width,this.height,t);const n=this.chartArea,e=n.width<=0||n.height<=0;this._layers=[],f(this.boxes,(t=>{e&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,n)=>{t._idx=n})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,n=this.data.datasets.length;t=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,e=t._clip,r=!e.disabled,i=this.chartArea,o={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",o)&&(r&&sn(n,{left:!1===e.left?0:i.left-e.left,right:!1===e.right?this.width:i.right+e.right,top:!1===e.top?0:i.top-e.top,bottom:!1===e.bottom?this.height:i.bottom+e.bottom}),t.controller.draw(),r&&an(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return on(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,e,r){const i=vr.modes[n];return"function"==typeof i?i(this,t,e,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],e=this._metasets;let r=e.filter((t=>t&&t._dataset===n)).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},e.push(r)),r}getContext(){return this.$context||(this.$context=wn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const e=this.getDatasetMeta(t);return"boolean"==typeof e.hidden?!e.hidden:!n.hidden}setDatasetVisibility(t,n){this.getDatasetMeta(t).hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,e){const r=e?"show":"hide",i=this.getDatasetMeta(t),o=i.controller._resolveAnimations(void 0,r);k(n)?(i.data[n].hidden=!e,this.update()):(this.setDatasetVisibility(t,e),o.update(i,{visible:e}),this.update((n=>n.datasetIndex===t?r:void 0)))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),_e.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,e,r),t[e]=r},r=(t,n,e)=>{t.offsetX=n,t.offsetY=e,this._eventHandler(t)};f(this.options.events,(t=>e(t,r)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,e=(e,r)=>{n.addEventListener(this,e,r),t[e]=r},r=(e,r)=>{t[e]&&(n.removeEventListener(this,e,r),delete t[e])},i=(t,n)=>{this.canvas&&this.resize(t,n)};let o;const s=()=>{r("attach",s),this.attached=!0,this.resize(),e("resize",i),e("detach",o)};o=()=>{this.attached=!1,r("resize",i),this._stop(),this._resize(0,0),e("attach",s)},n.isAttached(this.canvas)?s():o()}unbindEvents(){f(this._listeners,((t,n)=>{this.platform.removeEventListener(this,n,t)})),this._listeners={},f(this._responsiveListeners,((t,n)=>{this.platform.removeEventListener(this,n,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,n,e){const r=e?"set":"remove";let i,o,s,a;for("dataset"===n&&(i=this.getDatasetMeta(t[0].datasetIndex),i.controller["_"+r+"DatasetHoverStyle"]()),s=0,a=t.length;s{const e=this.getDatasetMeta(t);if(!e)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:e.data[n],index:n}}));!_(e,n)&&(this._active=e,this._lastEvent=null,this._updateHoverStyles(e,n))}notifyPlugins(t,n,e){return this._plugins.notify(this,t,n,e)}_updateHoverStyles(t,n,e){const r=this.options.hover,i=(t,n)=>t.filter((t=>!n.some((n=>t.datasetIndex===n.datasetIndex&&t.index===n.index)))),o=i(n,t),s=e?t:i(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),s.length&&r.mode&&this.updateHoverStyle(s,r.mode,!0)}_eventHandler(t,n){const e={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=n=>(n.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",e,r))return;const i=this._handleEvent(t,n,e.inChartArea);return e.cancelable=!1,this.notifyPlugins("afterEvent",e,r),(i||e.changed)&&this.render(),this}_handleEvent(t,n,e){const{_active:r=[],options:i}=this,o=n,s=this._getActiveElements(t,r,e,o),a=function(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}(t),u=function(t,n,e,r){return e&&"mouseout"!==t.type?r?n:t:null}(t,this._lastEvent,e,a);e&&(this._lastEvent=null,p(i.onHover,[t,s,this],this),a&&p(i.onClick,[t,s,this],this));const c=!_(s,r);return(c||n)&&(this._active=s,this._updateHoverStyles(s,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,e,r){if("mouseout"===t.type)return[];if(!e)return n;const i=this.options.hover;return this.getElementsAtEventForMode(t,i.mode,i,r)}}const vi=()=>f(di.instances,(t=>t._plugins.invalidate())),yi=!0;function mi(t,n,e){const{startAngle:r,pixelMargin:i,x:o,y:s,outerRadius:a,innerRadius:u}=n;let c=i/a;t.beginPath(),t.arc(o,s,a,r-c,e+c),u>i?(c=i/u,t.arc(o,s,u,e+c,r-c,!0)):t.arc(o,s,i,e+M,r-M),t.closePath(),t.clip()}function gi(t,n,e,r){return{x:e+t*Math.cos(n),y:r+t*Math.sin(n)}}function $i(t,n,e,r,i,o){const{x:s,y:a,startAngle:u,pixelMargin:c,innerRadius:l}=n,h=Math.max(n.outerRadius+r+e-c,0),p=l>0?l+r+e+c:0;let f=0;const _=i-u;if(r){const t=((l>0?l-r:0)+(h>0?h-r:0))/2;f=(_-(0!==t?_*t/(t+r):_))/2}const d=(_-Math.max(.001,_*h-e/C)/h)/2,v=u+d+f,y=i-d-f,{outerStart:m,outerEnd:g,innerStart:$,innerEnd:b}=function(t,n,e,r){const i=vn(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]),o=(e-n)/2,s=Math.min(o,r*n/2),a=t=>{const n=(e-Math.min(o,t))*r/2;return Y(t,0,Math.min(o,n))};return{outerStart:a(i.outerStart),outerEnd:a(i.outerEnd),innerStart:Y(i.innerStart,0,s),innerEnd:Y(i.innerEnd,0,s)}}(n,p,h,y-v),w=h-m,x=h-g,k=v+m/w,j=y-g/x,z=p+$,S=p+b,q=v+$/z,O=y-b/S;if(t.beginPath(),o){if(t.arc(s,a,h,k,j),g>0){const n=gi(x,j,s,a);t.arc(n.x,n.y,g,j,y+M)}const n=gi(S,y,s,a);if(t.lineTo(n.x,n.y),b>0){const n=gi(S,O,s,a);t.arc(n.x,n.y,b,y+M,O+Math.PI)}if(t.arc(s,a,p,y-b/p,v+$/p,!0),$>0){const n=gi(z,q,s,a);t.arc(n.x,n.y,$,q+Math.PI,v-M)}const e=gi(w,v,s,a);if(t.lineTo(e.x,e.y),m>0){const n=gi(w,k,s,a);t.arc(n.x,n.y,m,v-M,k)}}else{t.moveTo(s,a);const n=Math.cos(k)*h+s,e=Math.sin(k)*h+a;t.lineTo(n,e);const r=Math.cos(j)*h+s,i=Math.sin(j)*h+a;t.lineTo(r,i)}t.closePath()}Object.defineProperties(di,{defaults:{enumerable:yi,value:Xt},instances:{enumerable:yi,value:pi},overrides:{enumerable:yi,value:Jt},registry:{enumerable:yi,value:or},version:{enumerable:yi,value:"3.9.1"},getChart:{enumerable:yi,value:fi},register:{enumerable:yi,value:(...t)=>{or.add(...t),vi()}},unregister:{enumerable:yi,value:(...t)=>{or.remove(...t),vi()}}});class bi extends Je{constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,n,e){const r=this.getProps(["x","y"],e),{angle:i,distance:o}=U(r,{x:t,y:n}),{startAngle:s,endAngle:a,innerRadius:u,outerRadius:c,circumference:h}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],e),p=this.options.spacing/2,f=l(h,a-s)>=S||K(i,s,a),_=G(o,u+p,c+p);return f&&_}getCenterPoint(t){const{x:n,y:e,startAngle:r,endAngle:i,innerRadius:o,outerRadius:s}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],t),{offset:a,spacing:u}=this.options,c=(r+i)/2,l=(o+s+u+a)/2;return{x:n+Math.cos(c)*l,y:e+Math.sin(c)*l}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:n,circumference:e}=this,r=(n.offset||0)/2,i=(n.spacing||0)/2,o=n.circular;if(this.pixelMargin="inner"===n.borderAlign?.33:0,this.fullCircles=e>S?Math.floor(e/S):0,0===e||this.innerRadius<0||this.outerRadius<0)return;t.save();let s=0;if(r){s=r/2;const n=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(n)*s,Math.sin(n)*s),this.circumference>=C&&(s=r)}t.fillStyle=n.backgroundColor,t.strokeStyle=n.borderColor;const a=function(t,n,e,r,i){const{fullCircles:o,startAngle:s,circumference:a}=n;let u=n.endAngle;if(o){$i(t,n,e,r,s+S,i);for(let n=0;na&&o>a;return{count:r,start:u,loop:n.loop,ilen:c(s+(c?a-t:t))%o,g=()=>{f!==_&&(t.lineTo(v,_),t.lineTo(v,f),t.lineTo(v,d))};for(u&&(h=i[m(0)],t.moveTo(h.x,h.y)),l=0;l<=a;++l){if(h=i[m(l)],h.skip)continue;const n=h.x,e=h.y,r=0|n;r===p?(e_&&(_=e),v=(y*v+n)/++y):(g(),t.lineTo(n,e),p=r,y=0,f=_=e),d=e}g()}function Ci(t){const n=t.options,e=n.borderDash&&n.borderDash.length;return t._decimated||t._loop||n.tension||"monotone"===n.cubicInterpolationMode||n.stepped||e?ji:zi}bi.id="arc",bi.defaults={borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0},bi.defaultRoutes={backgroundColor:"backgroundColor"};const Si="function"==typeof Path2D;class qi extends Je{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,n){const e=this.options;if((e.tension||"monotone"===e.cubicInterpolationMode)&&!e.stepped&&!this._pointsUpdated){const r=e.spanGaps?this._loop:this._fullLoop;Fn(this._points,e,t,r,n),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=function(t,n){const e=t.points,r=t.options.spanGaps,i=e.length;if(!i)return[];const o=!!t._loop,{start:s,end:a}=function(t,n,e,r){let i=0,o=n-1;if(e&&!r)for(;ii&&t[o%n].skip;)o--;return o%=n,{start:i,end:o}}(e,i,o,r);return function(t,n,e,r){return r&&r.setContext&&e?function(t,n,e,r){const i=t._chart.getContext(),o=pe(t.options),{_datasetIndex:s,options:{spanGaps:a}}=t,u=e.length,c=[];let l=o,h=n[0].start,p=h;function f(t,n,r,i){const o=a?-1:1;if(t!==n){for(t+=u;e[t%u].skip;)t-=o;for(;e[n%u].skip;)n+=o;t%u!=n%u&&(c.push({start:t%u,end:n%u,loop:r,style:i}),l=i,h=n%u)}}for(const t of n){h=a?h:t.start;let n,o=e[h%u];for(p=h+1;p<=t.end;p++){const a=e[p%u];n=pe(r.setContext(wn(i,{type:"segment",p0:o,p1:a,p0DataIndex:(p-1)%u,p1DataIndex:p%u,datasetIndex:s}))),fe(n,l)&&f(h,p-1,t.loop,l),o=a,l=n}h"borderDash"!==t&&"fill"!==t};class Pi extends Je{constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,n,e){const r=this.options,{x:i,y:o}=this.getProps(["x","y"],e);return Math.pow(t-i,2)+Math.pow(n-o,2){Li(t)}))}var Ri={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,n,e)=>{if(!e.enabled)return void Ni(t);const r=t.width;t.data.datasets.forEach(((n,i)=>{const{_data:s,indexAxis:a}=n,u=t.getDatasetMeta(i),c=s||n.data;if("y"===bn([a,t.options.indexAxis]))return;if(!u.controller.supportsDecimation)return;const l=t.scales[u.xAxisID];if("linear"!==l.type&&"time"!==l.type)return;if(t.options.parsing)return;let h,{start:p,count:f}=function(t,n){const e=n.length;let r,i=0;const{iScale:o}=t,{min:s,max:a,minDefined:u,maxDefined:c}=o.getUserBounds();return u&&(i=Y(Z(n,o.axis,s).lo,0,e-1)),r=c?Y(Z(n,o.axis,a).hi+1,i,e)-i:e-i,{start:i,count:r}}(u,c);if(f<=(e.threshold||4*r))Li(n);else{switch(o(s)&&(n._data=c,delete n.data,Object.defineProperty(n,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),e.algorithm){case"lttb":h=function(t,n,e,r,i){const o=i.samples||r;if(o>=e)return t.slice(n,n+e);const s=[],a=(e-2)/(o-2);let u=0;const c=n+e-1;let l,h,p,f,_,d=n;for(s[u++]=t[d],l=0;lp&&(p=f,h=t[r],_=r);s[u++]=h,d=_}return s[u++]=t[c],s}(c,p,f,r,e);break;case"min-max":h=function(t,n,e,r){let i,s,a,u,c,l,h,p,f,_,d=0,v=0;const y=[],m=n+e-1,g=t[n].x,$=t[m].x-g;for(i=n;i_&&(_=u,h=i),d=(v*d+s.x)/++v;else{const e=i-1;if(!o(l)&&!o(h)){const n=Math.min(l,h),r=Math.max(l,h);n!==p&&n!==e&&y.push({...t[n],x:d}),r!==p&&r!==e&&y.push({...t[r],x:d})}i>0&&e!==p&&y.push(t[e]),y.push(s),c=n,v=0,f=_=u,l=h=p=i}}return y}(c,p,f,r);break;default:throw new Error(`Unsupported decimation algorithm '${e.algorithm}'`)}n._decimated=h}}))},destroy(t){Ni(t)}};function Fi(t,n,e,r){if(r)return;let i=n[t],o=e[t];return"angle"===t&&(i=J(i),o=J(o)),{property:t,start:i,end:o}}function Hi(t,n,e){for(;n>t;n--){const t=e[n];if(!isNaN(t.x)&&!isNaN(t.y))break}return n}function Ui(t,n,e,r){return t&&n?r(t[e],n[e]):t?t[e]:n?n[e]:0}function Vi(t,n){let e=[],r=!1;return s(t)?(r=!0,e=t):e=function(t,n){const{x:e=null,y:r=null}=t||{},i=n.points,o=[];return n.segments.forEach((({start:t,end:n})=>{n=Hi(t,n,i);const s=i[t],a=i[n];null!==r?(o.push({x:s.x,y:r}),o.push({x:a.x,y:r})):null!==e&&(o.push({x:e,y:s.y}),o.push({x:e,y:a.y}))})),o}(t,n),e.length?new qi({points:e,options:{tension:0},_loop:r,_fullLoop:r}):null}function Wi(t){return t&&!1!==t.fill}function Ji(t,n,e){let r=t[n].fill;const i=[n];let o;if(!e)return r;for(;!1!==r&&-1===i.indexOf(r);){if(!u(r))return r;if(o=t[r],!o)return!1;if(o.visible)return r;i.push(r),r=o.fill}return!1}function Ki(t,n,e){const r=function(t){const n=t.options,e=n.fill;let r=l(e&&e.target,e);return void 0===r&&(r=!!n.backgroundColor),!1!==r&&null!==r&&(!0===r?"origin":r)}(t);if(a(r))return!isNaN(r.value)&&r;let i=parseFloat(r);return u(i)&&Math.floor(i)===i?function(t,n,e,r){return"-"!==t&&"+"!==t||(e=n+e),!(e===n||e<0||e>=r)&&e}(r[0],n,i,e):["origin","start","end","stack","shape"].indexOf(r)>=0&&r}function Yi(t,n,e){const r=[];for(let i=0;i=0;--n){const e=i[n].$filler;e&&(e.line.updateControlPoints(o,e.axis),r&&e.fill&&Zi(t.ctx,e,o))}},beforeDatasetsDraw(t,n,e){if("beforeDatasetsDraw"!==e.drawTime)return;const r=t.getSortedVisibleDatasetMetas();for(let n=r.length-1;n>=0;--n){const e=r[n].$filler;Wi(e)&&Zi(t.ctx,e,t.chartArea)}},beforeDatasetDraw(t,n,e){const r=n.meta.$filler;Wi(r)&&"beforeDatasetDraw"===e.drawTime&&Zi(t.ctx,r,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const io=(t,n)=>{let{boxHeight:e=n,boxWidth:r=n}=t;return t.usePointStyle&&(e=Math.min(e,n),r=t.pointStyleWidth||Math.min(r,n)),{boxWidth:r,boxHeight:e,itemHeight:Math.max(n,e)}};class oo extends Je{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,e){this.maxWidth=t,this.maxHeight=n,this._margins=e,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=p(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter((n=>t.filter(n,this.chart.data)))),t.sort&&(n=n.sort(((n,e)=>t.sort(n,e,this.chart.data)))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display)return void(this.width=this.height=0);const e=t.labels,r=$n(e.font),i=r.size,o=this._computeTitleHeight(),{boxWidth:s,itemHeight:a}=io(e,i);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,i,s,a)+10):(c=this.maxHeight,u=this._fitCols(o,i,s,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,e,r){const{ctx:i,maxWidth:o,options:{labels:{padding:s}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+s;let l=t;i.textAlign="left",i.textBaseline="middle";let h=-1,p=-c;return this.legendItems.forEach(((t,f)=>{const _=e+n/2+i.measureText(t.text).width;(0===f||u[u.length-1]+_+2*s>o)&&(l+=c,u[u.length-(f>0?0:1)]=0,p+=c,h++),a[f]={left:0,top:p,row:h,width:_,height:r},u[u.length-1]+=_+s})),l}_fitCols(t,n,e,r){const{ctx:i,maxHeight:o,options:{labels:{padding:s}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let l=s,h=0,p=0,f=0,_=0;return this.legendItems.forEach(((t,o)=>{const d=e+n/2+i.measureText(t.text).width;o>0&&p+r+2*s>c&&(l+=h+s,u.push({width:h,height:p}),f+=h+s,_++,h=p=0),a[o]={left:f,top:p,col:_,width:d,height:r},h=Math.max(h,d),p+=r+s})),l+=h,u.push({width:h,height:p}),l}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:e,labels:{padding:r},rtl:i}}=this,o=oe(i,this.left,this.width);if(this.isHorizontal()){let i=0,s=st(e,this.left+r,this.right-this.lineWidths[i]);for(const a of n)i!==a.row&&(i=a.row,s=st(e,this.left+r,this.right-this.lineWidths[i])),a.top+=this.top+t+r,a.left=o.leftForLtr(o.x(s),a.width),s+=a.width+r}else{let i=0,s=st(e,this.top+t+r,this.bottom-this.columnSizes[i].height);for(const a of n)a.col!==i&&(i=a.col,s=st(e,this.top+t+r,this.bottom-this.columnSizes[i].height)),a.top=s,a.left+=this.left+r,a.left=o.leftForLtr(o.x(a.left),a.width),s+=a.height+r}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;sn(t,this),this._draw(),an(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:e,ctx:r}=this,{align:i,labels:o}=t,s=Xt.color,a=oe(t.rtl,this.left,this.width),u=$n(o.font),{color:c,padding:h}=o,p=u.size,f=p/2;let _;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:d,boxHeight:v,itemHeight:y}=io(o,p),m=this.isHorizontal(),g=this._computeTitleHeight();_=m?{x:st(i,this.left+h,this.right-e[0]),y:this.top+h+g,line:0}:{x:this.left+h,y:st(i,this.top+g+h,this.bottom-n[0].height),line:0},se(this.ctx,t.textDirection);const $=y+h;this.legendItems.forEach(((b,w)=>{r.strokeStyle=b.fontColor||c,r.fillStyle=b.fontColor||c;const x=r.measureText(b.text).width,k=a.textAlign(b.textAlign||(b.textAlign=o.textAlign)),j=d+f+x;let z=_.x,C=_.y;a.setWidth(this.width),m?w>0&&z+j+h>this.right&&(C=_.y+=$,_.line++,z=_.x=st(i,this.left+h,this.right-e[_.line])):w>0&&C+$>this.bottom&&(z=_.x=z+n[_.line].width+h,_.line++,C=_.y=st(i,this.top+g+h,this.bottom-n[_.line].height)),function(t,n,e){if(isNaN(d)||d<=0||isNaN(v)||v<0)return;r.save();const i=l(e.lineWidth,1);if(r.fillStyle=l(e.fillStyle,s),r.lineCap=l(e.lineCap,"butt"),r.lineDashOffset=l(e.lineDashOffset,0),r.lineJoin=l(e.lineJoin,"miter"),r.lineWidth=i,r.strokeStyle=l(e.strokeStyle,s),r.setLineDash(l(e.lineDash,[])),o.usePointStyle){const s={radius:v*Math.SQRT2/2,pointStyle:e.pointStyle,rotation:e.rotation,borderWidth:i},u=a.xPlus(t,d/2);rn(r,s,u,n+f,o.pointStyleWidth&&d)}else{const o=n+Math.max((p-v)/2,0),s=a.leftForLtr(t,d),u=mn(e.borderRadius);r.beginPath(),Object.values(u).some((t=>0!==t))?pn(r,{x:s,y:o,w:d,h:v,radius:u}):r.rect(s,o,d,v),r.fill(),0!==i&&r.stroke()}r.restore()}(a.x(z),C,b),z=((t,n,e,r)=>t===(r?"left":"right")?e:"center"===t?(n+e)/2:n)(k,z+d+f,m?z+j:this.right,t.rtl),function(t,n,e){ln(r,e.text,t,n+y/2,u,{strikethrough:e.hidden,textAlign:a.textAlign(e.textAlign)})}(a.x(z),C,b),m?_.x+=j+h:_.y+=$})),ae(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,e=$n(n.font),r=gn(n.padding);if(!n.display)return;const i=oe(t.rtl,this.left,this.width),o=this.ctx,s=n.position,a=e.size/2,u=r.top+a;let c,l=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,l=st(t.align,l,this.right-h);else{const n=this.columnSizes.reduce(((t,n)=>Math.max(t,n.height)),0);c=u+st(t.align,this.top,this.bottom-n-t.labels.padding-this._computeTitleHeight())}const p=st(s,l,l+h);o.textAlign=i.textAlign(ot(s)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=e.string,ln(o,n.text,p,c,e)}_computeTitleHeight(){const t=this.options.title,n=$n(t.font),e=gn(t.padding);return t.display?n.lineHeight+e.height:0}_getLegendItemAt(t,n){let e,r,i;if(G(t,this.left,this.right)&&G(n,this.top,this.bottom))for(i=this.legendHitBoxes,e=0;et.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const n=t.data.datasets,{labels:{usePointStyle:e,pointStyle:r,textAlign:i,color:o}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const s=t.controller.getStyle(e?0:void 0),a=gn(s.borderWidth);return{text:n[t.index].label,fillStyle:s.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:s.borderCapStyle,lineDash:s.borderDash,lineDashOffset:s.borderDashOffset,lineJoin:s.borderJoinStyle,lineWidth:(a.width+a.height)/4,strokeStyle:s.borderColor,pointStyle:r||s.pointStyle,rotation:s.rotation,textAlign:i||s.textAlign,borderRadius:0,datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class ao extends Je{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const e=this.options;if(this.left=0,this.top=0,!e.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=n;const r=s(e.text)?e.text.length:1;this._padding=gn(e.padding);const i=r*$n(e.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=i:this.width=i}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:n,left:e,bottom:r,right:i,options:o}=this,s=o.align;let a,u,c,l=0;return this.isHorizontal()?(u=st(s,e,i),c=n+t,a=i-e):("left"===o.position?(u=e+t,c=st(s,r,n),l=-.5*C):(u=i-t,c=st(s,n,r),l=.5*C),a=r-n),{titleX:u,titleY:c,maxWidth:a,rotation:l}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const e=$n(n.font),r=e.lineHeight/2+this._padding.top,{titleX:i,titleY:o,maxWidth:s,rotation:a}=this._drawArgs(r);ln(t,n.text,0,0,e,{color:n.color,maxWidth:s,rotation:a,textAlign:ot(n.align),textBaseline:"middle",translation:[i,o]})}}var uo={id:"title",_element:ao,start(t,n,e){!function(t,n){const e=new ao({ctx:t.ctx,options:n,chart:t});Sr.configure(t,e,n),Sr.addBox(t,e),t.titleBlock=e}(t,e)},stop(t){const n=t.titleBlock;Sr.removeBox(t,n),delete t.titleBlock},beforeUpdate(t,n,e){const r=t.titleBlock;Sr.configure(t,r,e),r.options=e},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const co=new WeakMap;var lo={id:"subtitle",start(t,n,e){const r=new ao({ctx:t.ctx,options:e,chart:t});Sr.configure(t,r,e),Sr.addBox(t,r),co.set(t,r)},stop(t){Sr.removeBox(t,co.get(t)),co.delete(t)},beforeUpdate(t,n,e){const r=co.get(t);Sr.configure(t,r,e),r.options=e},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const ho={average(t){if(!t.length)return!1;let n,e,r=0,i=0,o=0;for(n=0,e=t.length;n-1?t.split("\n"):t}function _o(t,n){const{element:e,datasetIndex:r,index:i}=n,o=t.getDatasetMeta(r).controller,{label:s,value:a}=o.getLabelAndValue(i);return{chart:t,label:s,parsed:o.getParsed(i),raw:t.data.datasets[r].data[i],formattedValue:a,dataset:o.getDataset(),dataIndex:i,datasetIndex:r,element:e}}function vo(t,n){const e=t.chart.ctx,{body:r,footer:i,title:o}=t,{boxWidth:s,boxHeight:a}=n,u=$n(n.bodyFont),c=$n(n.titleFont),l=$n(n.footerFont),h=o.length,p=i.length,_=r.length,d=gn(n.padding);let v=d.height,y=0,m=r.reduce(((t,n)=>t+n.before.length+n.lines.length+n.after.length),0);m+=t.beforeBody.length+t.afterBody.length,h&&(v+=h*c.lineHeight+(h-1)*n.titleSpacing+n.titleMarginBottom),m&&(v+=_*(n.displayColors?Math.max(a,u.lineHeight):u.lineHeight)+(m-_)*u.lineHeight+(m-1)*n.bodySpacing),p&&(v+=n.footerMarginTop+p*l.lineHeight+(p-1)*n.footerSpacing);let g=0;const $=function(t){y=Math.max(y,e.measureText(t).width+g)};return e.save(),e.font=c.string,f(t.title,$),e.font=u.string,f(t.beforeBody.concat(t.afterBody),$),g=n.displayColors?s+2+n.boxPadding:0,f(r,(t=>{f(t.before,$),f(t.lines,$),f(t.after,$)})),g=0,e.font=l.string,f(t.footer,$),e.restore(),y+=d.width,{width:y,height:v}}function yo(t,n,e,r){const{x:i,width:o}=e,{width:s,chartArea:{left:a,right:u}}=t;let c="center";return"center"===r?c=i<=(a+u)/2?"left":"right":i<=o/2?c="left":i>=s-o/2&&(c="right"),function(t,n,e,r){const{x:i,width:o}=r,s=e.caretSize+e.caretPadding;return"left"===t&&i+o+s>n.width||"right"===t&&i-o-s<0||void 0}(c,t,n,e)&&(c="center"),c}function mo(t,n,e){const r=e.yAlign||n.yAlign||function(t,n){const{y:e,height:r}=n;return et.height-r/2?"bottom":"center"}(t,e);return{xAlign:e.xAlign||n.xAlign||yo(t,n,e,r),yAlign:r}}function go(t,n,e,r){const{caretSize:i,caretPadding:o,cornerRadius:s}=t,{xAlign:a,yAlign:u}=e,c=i+o,{topLeft:l,topRight:h,bottomLeft:p,bottomRight:f}=mn(s);let _=function(t,n){let{x:e,width:r}=t;return"right"===n?e-=r:"center"===n&&(e-=r/2),e}(n,a);const d=function(t,n,e){let{y:r,height:i}=t;return"top"===n?r+=e:r-="bottom"===n?i+e:i/2,r}(n,u,c);return"center"===u?"left"===a?_+=c:"right"===a&&(_-=c):"left"===a?_-=Math.max(l,p)+i:"right"===a&&(_+=Math.max(h,f)+i),{x:Y(_,0,r.width-n.width),y:Y(d,0,r.height-n.height)}}function $o(t,n,e){const r=gn(e.padding);return"center"===n?t.x+t.width/2:"right"===n?t.x+t.width-r.right:t.x+r.left}function bo(t){return po([],fo(t))}function wo(t,n){const e=n&&n.dataset&&n.dataset.tooltip&&n.dataset.tooltip.callbacks;return e?t.override(e):t}class xo extends Je{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart||t._chart,this._chart=this.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,e=this.options.setContext(this.getContext()),r=e.enabled&&n.options.animation&&e.animations,i=new ge(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(i)),i}getContext(){return this.$context||(this.$context=(this,wn(this.chart.getContext(),{tooltip:this,tooltipItems:this._tooltipItems,type:"tooltip"})))}getTitle(t,n){const{callbacks:e}=n,r=e.beforeTitle.apply(this,[t]),i=e.title.apply(this,[t]),o=e.afterTitle.apply(this,[t]);let s=[];return s=po(s,fo(r)),s=po(s,fo(i)),s=po(s,fo(o)),s}getBeforeBody(t,n){return bo(n.callbacks.beforeBody.apply(this,[t]))}getBody(t,n){const{callbacks:e}=n,r=[];return f(t,(t=>{const n={before:[],lines:[],after:[]},i=wo(e,t);po(n.before,fo(i.beforeLabel.call(this,t))),po(n.lines,i.label.call(this,t)),po(n.after,fo(i.afterLabel.call(this,t))),r.push(n)})),r}getAfterBody(t,n){return bo(n.callbacks.afterBody.apply(this,[t]))}getFooter(t,n){const{callbacks:e}=n,r=e.beforeFooter.apply(this,[t]),i=e.footer.apply(this,[t]),o=e.afterFooter.apply(this,[t]);let s=[];return s=po(s,fo(r)),s=po(s,fo(i)),s=po(s,fo(o)),s}_createItems(t){const n=this._active,e=this.chart.data,r=[],i=[],o=[];let s,a,u=[];for(s=0,a=n.length;st.filter(n,r,i,e)))),t.itemSort&&(u=u.sort(((n,r)=>t.itemSort(n,r,e)))),f(u,(n=>{const e=wo(t.callbacks,n);r.push(e.labelColor.call(this,n)),i.push(e.labelPointStyle.call(this,n)),o.push(e.labelTextColor.call(this,n))})),this.labelColors=r,this.labelPointStyles=i,this.labelTextColors=o,this.dataPoints=u,u}update(t,n){const e=this.options.setContext(this.getContext()),r=this._active;let i,o=[];if(r.length){const t=ho[e.position].call(this,r,this._eventPosition);o=this._createItems(e),this.title=this.getTitle(o,e),this.beforeBody=this.getBeforeBody(o,e),this.body=this.getBody(o,e),this.afterBody=this.getAfterBody(o,e),this.footer=this.getFooter(o,e);const n=this._size=vo(this,e),s=Object.assign({},t,n),a=mo(this.chart,e,s),u=go(e,s,a,this.chart);this.xAlign=a.xAlign,this.yAlign=a.yAlign,i={opacity:1,x:u.x,y:u.y,width:n.width,height:n.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(i={opacity:0});this._tooltipItems=o,this.$context=void 0,i&&this._resolveAnimations().update(this,i),t&&e.external&&e.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,e,r){const i=this.getCaretPosition(t,e,r);n.lineTo(i.x1,i.y1),n.lineTo(i.x2,i.y2),n.lineTo(i.x3,i.y3)}getCaretPosition(t,n,e){const{xAlign:r,yAlign:i}=this,{caretSize:o,cornerRadius:s}=e,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:l}=mn(s),{x:h,y:p}=t,{width:f,height:_}=n;let d,v,y,m,g,$;return"center"===i?(g=p+_/2,"left"===r?(d=h,v=d-o,m=g+o,$=g-o):(d=h+f,v=d+o,m=g-o,$=g+o),y=d):(v="left"===r?h+Math.max(a,c)+o:"right"===r?h+f-Math.max(u,l)-o:this.caretX,"top"===i?(m=p,g=m-o,d=v-o,y=v+o):(m=p+_,g=m+o,d=v+o,y=v-o),$=m),{x1:d,x2:v,x3:y,y1:m,y2:g,y3:$}}drawTitle(t,n,e){const r=this.title,i=r.length;let o,s,a;if(i){const u=oe(e.rtl,this.x,this.width);for(t.x=$o(this,e.titleAlign,e),n.textAlign=u.textAlign(e.titleAlign),n.textBaseline="middle",o=$n(e.titleFont),s=e.titleSpacing,n.fillStyle=e.titleColor,n.font=o.string,a=0;a0!==t))?(t.beginPath(),t.fillStyle=i.multiKeyBackground,pn(t,{x:n,y:d,w:c,h:u,radius:s}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),pn(t,{x:e,y:d+1,w:c-2,h:u-2,radius:s}),t.fill()):(t.fillStyle=i.multiKeyBackground,t.fillRect(n,d,c,u),t.strokeRect(n,d,c,u),t.fillStyle=o.backgroundColor,t.fillRect(e,d+1,c-2,u-2))}t.fillStyle=this.labelTextColors[e]}drawBody(t,n,e){const{body:r}=this,{bodySpacing:i,bodyAlign:o,displayColors:s,boxHeight:a,boxWidth:u,boxPadding:c}=e,l=$n(e.bodyFont);let h=l.lineHeight,p=0;const _=oe(e.rtl,this.x,this.width),d=function(e){n.fillText(e,_.x(t.x+p),t.y+h/2),t.y+=h+i},v=_.textAlign(o);let y,m,g,$,b,w,x;for(n.textAlign=o,n.textBaseline="middle",n.font=l.string,t.x=$o(this,v,e),n.fillStyle=e.bodyColor,f(this.beforeBody,d),p=s&&"right"!==v?"center"===o?u/2+c:u+2+c:0,$=0,w=r.length;$0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,e=this.$animations,r=e&&e.x,i=e&&e.y;if(r||i){const e=ho[t.position].call(this,this._active,this._eventPosition);if(!e)return;const o=this._size=vo(this,t),s=Object.assign({},e,this._size),a=mo(n,t,s),u=go(t,s,a,n);r._to===u.x&&i._to===u.y||(this.xAlign=a.xAlign,this.yAlign=a.yAlign,this.width=o.width,this.height=o.height,this.caretX=e.x,this.caretY=e.y,this._resolveAnimations().update(this,u))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let e=this.opacity;if(!e)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},i={x:this.x,y:this.y};e=Math.abs(e)<.001?0:e;const o=gn(n.padding),s=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&s&&(t.save(),t.globalAlpha=e,this.drawBackground(i,t,r,n),se(t,n.textDirection),i.y+=o.top,this.drawTitle(i,t,n),this.drawBody(i,t,n),this.drawFooter(i,t,n),ae(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const e=this._active,r=t.map((({datasetIndex:t,index:n})=>{const e=this.chart.getDatasetMeta(t);if(!e)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:e.data[n],index:n}})),i=!_(e,r),o=this._positionChanged(r,n);(i||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,e=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,i=this._active||[],o=this._getActiveElements(t,i,n,e),s=this._positionChanged(o,t),a=n||!_(o,i)||s;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,e,r){const i=this.options;if("mouseout"===t.type)return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,i.mode,i,e);return i.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:e,caretY:r,options:i}=this,o=ho[i.position].call(this,t,n);return!1!==o&&(e!==o.x||r!==o.y)}}xo.positioners=ho;var ko={id:"tooltip",_element:xo,positioners:ho,afterInit(t,n,e){e&&(t.tooltip=new xo({chart:t,options:e}))},beforeUpdate(t,n,e){t.tooltip&&t.tooltip.initialize(e)},reset(t,n,e){t.tooltip&&t.tooltip.initialize(e)},afterDraw(t){const n=t.tooltip;if(n&&n._willRender()){const e={tooltip:n};if(!1===t.notifyPlugins("beforeTooltipDraw",e))return;n.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",e)}},afterEvent(t,n){if(t.tooltip){const e=n.replay;t.tooltip.handleEvent(n.event,e,n.inChartArea)&&(n.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,n)=>n.bodyFont.size,boxWidth:(t,n)=>n.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:{beforeTitle:r,title(t){if(t.length>0){const n=t[0],e=n.chart.data.labels,r=e?e.length:0;if(this&&this.options&&"dataset"===this.options.mode)return n.dataset.label||"";if(n.label)return n.label;if(r>0&&n.dataIndex"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},jo=Object.freeze({__proto__:null,Decimation:Ri,Filler:ro,Legend:so,SubTitle:lo,Title:uo,Tooltip:ko});class zo extends rr{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const n=this._addedLabels;if(n.length){const t=this.getLabels();for(const{index:e,label:r}of n)t[e]===r&&t.splice(e,1);this._addedLabels=[]}super.init(t)}parse(t,n){if(o(t))return null;const e=this.getLabels();return((t,n)=>null===t?null:Y(Math.round(t),0,n))(n=isFinite(n)&&e[n]===t?n:function(t,n,e,r){const i=t.indexOf(n);return-1===i?((t,n,e,r)=>("string"==typeof n?(e=t.push(n)-1,r.unshift({index:e,label:n})):isNaN(n)&&(e=null),e))(t,n,e,r):i!==t.lastIndexOf(n)?e:i}(e,t,l(n,t),this._addedLabels),e.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let{min:e,max:r}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(e=0),n||(r=this.getLabels().length-1)),this.min=e,this.max=r}buildTicks(){const t=this.min,n=this.max,e=this.options.offset,r=[];let i=this.getLabels();i=0===t&&n===i.length-1?i:i.slice(t,n+1),this._valueRange=Math.max(i.length-(e?0:1),1),this._startValue=this.min-(e?.5:0);for(let e=t;e<=n;e++)r.push({value:e});return r}getLabelForValue(t){const n=this.getLabels();return t>=0&&tn.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function Co(t,n,{horizontal:e,minRotation:r}){const i=R(r),o=(e?Math.sin(i):Math.cos(i))||.001,s=.75*n*(""+t).length;return Math.min(n/o,s)}zo.id="category",zo.defaults={ticks:{callback:zo.prototype.getLabelForValue}};class So extends rr{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return o(t)||("number"==typeof t||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:e}=this.getUserBounds();let{min:r,max:i}=this;const o=t=>r=n?r:t,s=t=>i=e?i:t;if(t){const t=D(r),n=D(i);t<0&&n<0?s(0):t>0&&n>0&&o(0)}if(r===i){let n=1;(i>=Number.MAX_SAFE_INTEGER||r<=Number.MIN_SAFE_INTEGER)&&(n=Math.abs(.05*i)),s(i+n),t||o(r-n)}this.min=r,this.max=i}getTickLimit(){const t=this.options.ticks;let n,{maxTicksLimit:e,stepSize:r}=t;return r?(n=Math.ceil(this.max/r)-Math.floor(this.min/r)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${r} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e=e||11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let e=this.getTickLimit();e=Math.max(2,e);const r=function(t,n){const e=[],{bounds:r,step:i,min:s,max:a,precision:u,count:c,maxTicks:l,maxDigits:h,includeBounds:p}=t,f=i||1,_=l-1,{min:d,max:v}=n,y=!o(s),m=!o(a),g=!o(c),$=(v-d)/(h+1);let b,w,x,k,j=T((v-d)/_/f)*f;if(j<1e-14&&!y&&!m)return[{value:d},{value:v}];k=Math.ceil(v/j)-Math.floor(d/j),k>_&&(j=T(k*j/_/f)*f),o(u)||(b=Math.pow(10,u),j=Math.ceil(j*b)/b),"ticks"===r?(w=Math.floor(d/j)*j,x=Math.ceil(v/j)*j):(w=d,x=v),y&&m&&i&&function(t,n){const e=Math.round(t);return e-n<=t&&e+n>=t}((a-s)/i,j/1e3)?(k=Math.round(Math.min((a-s)/j,l)),j=(a-s)/k,w=s,x=a):g?(w=y?s:w,x=m?a:x,k=c-1,j=(x-w)/k):(k=(x-w)/j,k=L(k,Math.round(k),j/1e3)?Math.round(k):Math.ceil(k));const z=Math.max(H(j),H(w));b=Math.pow(10,o(u)?z:u),w=Math.round(w*b)/b,x=Math.round(x*b)/b;let C=0;for(y&&(p&&w!==s?(e.push({value:s}),w0?e:null;this._zero=!0}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=u(t)?Math.max(0,t):null,this.max=u(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let e=this.min,r=this.max;const i=n=>e=t?e:n,o=t=>r=n?r:t,s=(t,n)=>Math.pow(10,Math.floor(I(t))+n);e===r&&(e<=0?(i(1),o(10)):(i(s(e,-1)),o(s(r,1)))),e<=0&&i(s(r,-1)),r<=0&&o(s(e,1)),this._zero&&this.min!==this._suggestedMin&&e===s(this.min,0)&&i(s(e,-1)),this.min=e,this.max=r}buildTicks(){const t=this.options,n=function(t,n){const e=Math.floor(I(n.max)),r=Math.ceil(n.max/Math.pow(10,e)),i=[];let o=c(t.min,Math.pow(10,Math.floor(I(n.min)))),s=Math.floor(I(o)),a=Math.floor(o/Math.pow(10,s)),u=s<0?Math.pow(10,Math.abs(s)):1;do{i.push({value:o,major:Oo(o)}),++a,10===a&&(a=1,++s,u=s>=0?1:u),o=Math.round(a*Math.pow(10,s)*u)/u}while(si?{start:n-e,end:n}:{start:n,end:n+e}}function Eo(t,n,e,r,i){const o=Math.abs(Math.sin(e)),s=Math.abs(Math.cos(e));let a=0,u=0;r.startn.r&&(a=(r.end-n.r)/o,t.r=Math.max(t.r,n.r+a)),i.startn.b&&(u=(i.end-n.b)/s,t.b=Math.max(t.b,n.b+u))}function Io(t){return 0===t||180===t?"center":t<180?"left":"right"}function Do(t,n,e){return 90===e||270===e?t-=n/2:(e>270||e<90)&&(t-=n),t}function To(t,n,e,r){const{ctx:i}=t;if(e)i.arc(t.xCenter,t.yCenter,n,0,S);else{let e=t.getPointPosition(0,n);i.moveTo(e.x,e.y);for(let o=1;o{const e=p(this.options.pointLabels.callback,[t,n],this);return e||0===e?e:""})).filter(((t,n)=>this.chart.getDataVisibility(n)))}fit(){const t=this.options;t.display&&t.pointLabels.display?function(t){const n={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},e=Object.assign({},n),r=[],i=[],o=t._pointLabels.length,a=t.options.pointLabels,u=a.centerPointLabels?C/o:0;for(let p=0;p=0&&t=0;i--){const n=r.setContext(t.getPointLabelContext(i)),s=$n(n.font),{x:a,y:u,textAlign:c,left:l,top:h,right:p,bottom:f}=t._pointLabelItems[i],{backdropColor:_}=n;if(!o(_)){const t=mn(n.borderRadius),r=gn(n.backdropPadding);e.fillStyle=_;const i=l-r.left,o=h-r.top,s=p-l+r.width,a=f-h+r.height;Object.values(t).some((t=>0!==t))?(e.beginPath(),pn(e,{x:i,y:o,w:s,h:a,radius:t}),e.fill()):e.fillRect(i,o,s,a)}ln(e,t._pointLabels[i],a,u+s.lineHeight/2,s,{color:n.color,textAlign:c,textBaseline:"middle"})}}(this,i),r.display&&this.ticks.forEach(((t,n)=>{0!==n&&(a=this.getDistanceFromCenterForValue(t.value),function(t,n,e,r){const i=t.ctx,o=n.circular,{color:s,lineWidth:a}=n;!o&&!r||!s||!a||e<0||(i.save(),i.strokeStyle=s,i.lineWidth=a,i.setLineDash(n.borderDash),i.lineDashOffset=n.borderDashOffset,i.beginPath(),To(t,e,o,r),i.closePath(),i.stroke(),i.restore())}(this,r.setContext(this.getContext(n-1)),a,i))})),e.display){for(t.save(),s=i-1;s>=0;s--){const r=e.setContext(this.getPointLabelContext(s)),{color:i,lineWidth:o}=r;o&&i&&(t.lineWidth=o,t.strokeStyle=i,t.setLineDash(r.borderDash),t.lineDashOffset=r.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(s,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,e=n.ticks;if(!e.display)return;const r=this.getIndexAngle(0);let i,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((r,s)=>{if(0===s&&!n.reverse)return;const a=e.setContext(this.getContext(s)),u=$n(a.font);if(i=this.getDistanceFromCenterForValue(this.ticks[s].value),a.showLabelBackdrop){t.font=u.string,o=t.measureText(r.label).width,t.fillStyle=a.backdropColor;const n=gn(a.backdropPadding);t.fillRect(-o/2-n.left,-i-u.size/2-n.top,o+n.width,u.size+n.height)}ln(t,r.label,0,-i,u,{color:a.color})})),t.restore()}drawTitle(){}}Bo.id="radialLinear",Bo.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Ye.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:t=>t,padding:5,centerPointLabels:!1}},Bo.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"},Bo.descriptors={angleLines:{_fallback:"grid"}};const Lo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},No=Object.keys(Lo);function Ro(t,n){return t-n}function Fo(t,n){if(o(n))return null;const e=t._adapter,{parser:r,round:i,isoWeekday:s}=t._parseOpts;let a=n;return"function"==typeof r&&(a=r(a)),u(a)||(a="string"==typeof r?e.parse(a,r):e.parse(a)),null===a?null:(i&&(a="week"!==i||!B(s)&&!0!==s?e.startOf(a,i):e.startOf(a,"isoWeek",s)),+a)}function Ho(t,n,e,r){const i=No.length;for(let o=No.indexOf(t);o=n?e[r]:e[i]]=!0}}else t[n]=!0}function Vo(t,n,e){const r=[],i={},o=n.length;let s,a;for(s=0;s=0&&(n[u].major=!0);return n}(t,r,i,e):r}class Wo extends rr{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,n){const e=t.time||(t.time={}),r=this._adapter=new lr._date(t.adapters.date);r.init(n),g(e.displayFormats,r.formats()),this._parseOpts={parser:e.parser,round:e.round,isoWeekday:e.isoWeekday},super.init(t),this._normalized=n.normalized}parse(t,n){return void 0===t?null:Fo(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,n=this._adapter,e=t.time.unit||"day";let{min:r,max:i,minDefined:o,maxDefined:s}=this.getUserBounds();function a(t){o||isNaN(t.min)||(r=Math.min(r,t.min)),s||isNaN(t.max)||(i=Math.max(i,t.max))}o&&s||(a(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||a(this.getMinMax(!1))),r=u(r)&&!isNaN(r)?r:+n.startOf(Date.now(),e),i=u(i)&&!isNaN(i)?i:+n.endOf(Date.now(),e)+1,this.min=Math.min(r,i-1),this.max=Math.max(r+1,i)}_getLabelBounds(){const t=this.getLabelTimestamps();let n=Number.POSITIVE_INFINITY,e=Number.NEGATIVE_INFINITY;return t.length&&(n=t[0],e=t[t.length-1]),{min:n,max:e}}buildTicks(){const t=this.options,n=t.time,e=t.ticks,r="labels"===e.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&r.length&&(this.min=this._userMin||r[0],this.max=this._userMax||r[r.length-1]);const i=this.min,o=function(t,n,e){let r=0,i=t.length;for(;rr&&t[i-1]>e;)i--;return r>0||i=No.indexOf(e);o--){const e=No[o];if(Lo[e].common&&t._adapter.diff(i,r,e)>=n-1)return e}return No[e?No.indexOf(e):0]}(this,o.length,n.minUnit,this.min,this.max)),this._majorUnit=e.major.enabled&&"year"!==this._unit?function(t){for(let n=No.indexOf(t)+1,e=No.length;n+t.value)))}initOffsets(t){let n,e,r=0,i=0;this.options.offset&&t.length&&(n=this.getDecimalForValue(t[0]),r=1===t.length?1-n:(this.getDecimalForValue(t[1])-n)/2,e=this.getDecimalForValue(t[t.length-1]),i=1===t.length?e:(e-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;r=Y(r,0,o),i=Y(i,0,o),this._offsets={start:r,end:i,factor:1/(r+1+i)}}_generate(){const t=this._adapter,n=this.min,e=this.max,r=this.options,i=r.time,o=i.unit||Ho(i.minUnit,n,e,this._getLabelCapacity(n)),s=l(i.stepSize,1),a="week"===o&&i.isoWeekday,u=B(a)||!0===a,c={};let h,p,f=n;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(e,n,o)>1e5*s)throw new Error(n+" and "+e+" are too far apart with stepSize of "+s+" "+o);const _="data"===r.ticks.source&&this.getDataTimestamps();for(h=f,p=0;ht-n)).map((t=>+t))}getLabelForValue(t){const n=this._adapter,e=this.options.time;return e.tooltipFormat?n.format(t,e.tooltipFormat):n.format(t,e.displayFormats.datetime)}_tickFormatFunction(t,n,e,r){const i=this.options,o=i.time.displayFormats,s=this._unit,a=this._majorUnit,u=s&&o[s],c=a&&o[a],l=e[n],h=a&&c&&l&&l.major,f=this._adapter.format(t,r||(h?c:u)),_=i.ticks.callback;return _?p(_,[f,n,e],this):f}generateTickLabels(t){let n,e,r;for(n=0,e=t.length;n0?s:1}getDataTimestamps(){let t,n,e=this._cache.data||[];if(e.length)return e;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(t=0,n=r.length;t=t[a].pos&&n<=t[u].pos&&({lo:a,hi:u}=Z(t,"pos",n)),({pos:r,time:o}=t[a]),({pos:i,time:s}=t[u])):(n>=t[a].time&&n<=t[u].time&&({lo:a,hi:u}=Z(t,"time",n)),({time:r,pos:o}=t[a]),({time:i,pos:s}=t[u]));const c=i-r;return c?o+(s-o)*(n-r)/c:o}Wo.id="time",Wo.defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",major:{enabled:!1}}};class Ko extends Wo{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=Jo(n,this.min),this._tableRange=Jo(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:e}=this,r=[],i=[];let o,s,a,u,c;for(o=0,s=t.length;o=n&&u<=e&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:e,pos:1}];for(o=0,s=r.length;o{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},e.o=(t,n)=>Object.prototype.hasOwnProperty.call(t,n),e.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e(608)})())); //# sourceMappingURL=benchart.js.map \ No newline at end of file diff --git a/benchart.js.map b/benchart.js.map index 82b1a13..3264d44 100644 --- a/benchart.js.map +++ b/benchart.js.map @@ -1 +1 @@ -{"version":3,"file":"benchart.js","mappings":"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","sources":["webpack://benchart/webpack/universalModuleDefinition","webpack://benchart/../../../../../Trace.common.kt","webpack://benchart/../../../../../AtomicFU.kt","webpack://benchart/../../../../../MonotonicFrameClock.kt","webpack://benchart/../../../../../Applier.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Collections.kt","webpack://benchart/../../../../../BroadcastFrameClock.kt","webpack://benchart/../../../../../Composer.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Iterators.kt","webpack://benchart/../../../../../InspectionTables.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Standard.kt","webpack://benchart/../../../../../ListUtils.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Sets.kt","webpack://benchart/../../../../../SlotTable.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Maps.kt","webpack://benchart/../../../../../BitwiseOperators.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Collections.kt","webpack://benchart/../../../../../Trace.kt","webpack://benchart/../../../../../IdentityArrayMap.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/comparisons/Comparisons.kt","webpack://benchart/../../../../../DerivedState.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/MutableCollections.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Preconditions.kt","webpack://benchart/../../../../../Composition.kt","webpack://benchart/../../../../../IdentityScopeMap.kt","webpack://benchart/../../../../../IdentityArraySet.kt","webpack://benchart/../../../../../Synchronization.kt","webpack://benchart/../../../../../CompositionContext.kt","webpack://benchart/../../../../../CompositionLocal.kt","webpack://benchart/../../../../../Effects.kt","webpack://benchart/../../../../../JoinedKey.kt","webpack://benchart/../../../../../MovableContent.kt","webpack://benchart/../../../../../OpaqueKey.kt","webpack://benchart/../../../../../RecomposeScopeImpl.kt","webpack://benchart/../../../../../Recomposer.kt","webpack://benchart/../../../../../Synchronized.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Result.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/Continuation.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Sequences.kt","webpack://benchart/../../../../../runtime/coroutineInternalJS.kt","webpack://benchart/../../../../../Snapshot.kt","webpack://benchart/../../../../../extensions.kt","webpack://benchart/../../../../../src/generated/_ArraysJs.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/dynamic.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/math.kt","webpack://benchart/../../../../../builtins/Library.kt","webpack://benchart/../../../../../SnapshotMutationPolicy.kt","webpack://benchart/../../../../../SnapshotState.kt","webpack://benchart/../../../../../ActualJs.js.kt","webpack://benchart/../../../../../Stack.kt","webpack://benchart/../../../../../ValueHolders.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Lazy.kt","webpack://benchart/../../../../../IdentityArrayIntMap.kt","webpack://benchart/../../../../../AbstractListIterator.kt","webpack://benchart/../../../../../AbstractPersistentList.kt","webpack://benchart/../../../../../BufferIterator.kt","webpack://benchart/../../../../../PersistentVector.kt","webpack://benchart/../../../../../PersistentVectorBuilder.kt","webpack://benchart/../../../../../runtime/kotlinHacks.kt","webpack://benchart/../../../../../PersistentVectorIterator.kt","webpack://benchart/../../../../../PersistentVectorMutableIterator.kt","webpack://benchart/../../../../../SmallPersistentVector.kt","webpack://benchart/../../../../../TrieIterator.kt","webpack://benchart/../../../../../Utils.kt","webpack://benchart/../../../../../PersistentHashMap.kt","webpack://benchart/../../../../../PersistentHashMapContentIterators.kt","webpack://benchart/../../../../../PersistentHashMapContentViews.kt","webpack://benchart/../../../../../TrieNode.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/HashCode.kt","webpack://benchart/../../../../../PersistentOrderedSet.kt","webpack://benchart/../../../../../PersistentOrderedSetIterator.kt","webpack://benchart/../../../../../ComposableLambda.kt","webpack://benchart/../../../../../SnapshotDoubleIndexHeap.kt","webpack://benchart/../../../../../SnapshotIdSet.kt","webpack://benchart/../../../../../SnapshotStateList.kt","webpack://benchart/../../../../../SnapshotStateMap.kt","webpack://benchart/../../../../../","webpack://benchart/../../../../../Composer.js.kt","webpack://benchart/../../../../../ComposableLambda.js.kt","webpack://benchart/../../../../../CancellableContinuation.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Arrays.kt","webpack://benchart/../../../../../ListImplementation.kt","webpack://benchart/../../../../../ActualJsBrowser.js.kt","webpack://benchart/../../../../../Composables.kt","webpack://benchart/../../../../src/commonMain/kotlin/core/BenchmarkResult.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/Strings.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/regex/RegexExtensions.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/numberConversions.kt","webpack://benchart/../../../../src/commonMain/kotlin/core/ChartsTransformers.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Ranges.kt","webpack://benchart/../../../../src/commonMain/kotlin/model/Chart.kt","webpack://benchart/../../../../src/commonMain/kotlin/model/FormData.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/AutoFormUi.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/AutoGroupToggle.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/ChartUi.kt","webpack://benchart/../../../../src/jsMain/kotlin/Utils.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections.kt","webpack://benchart/../../../../src/jsMain/kotlin/chartjs/Type.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/EditableTitle.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/Error.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/Heading.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/SavedBenchmarkNode.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/SavedBenchmarksDropDown.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/Summary.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/TestNameDetectionToggle.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/TestNames.kt","webpack://benchart/../../../../src/jsMain/kotlin/main.kt","webpack://benchart/../../../../src/jsMain/kotlin/page/home/HomePage.kt","webpack://benchart/../../../../src/jsMain/kotlin/page/home/HomeViewModel.kt","webpack://benchart/../../../../src/jsMain/kotlin/repo/BenchmarkRepo.kt","webpack://benchart/../../../../src/jsMain/kotlin/repo/FormRepo.kt","webpack://benchart/../../../../src/jsMain/kotlin/utils/DefaultValues.kt","webpack://benchart/../../../../src/jsMain/kotlin/utils/JsonUtils.kt","webpack://benchart/../../../../../SerialFormat.kt","webpack://benchart/../../../../../Serializers.kt","webpack://benchart/../../../../../Platform.common.kt","webpack://benchart/../../../../src/jsMain/kotlin/utils/SummaryUtils.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Maps.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/CoroutineContext.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_OneToManyTitlecaseMappings.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/Char.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/string.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/char.kt","webpack://benchart/../../../../../src/generated/_TitlecaseMappings.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/CharCode.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Sequences.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Strings.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/AbstractIterator.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/AbstractList.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/AbstractMap.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/AbstractSet.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/IndexedValue.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Iterables.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/SequenceBuilder.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/SlidingWindow.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/CoroutineContextImpl.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/intrinsics/Intrinsics.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/internal/progressionUtil.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/random/Random.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/random/XorWowRandom.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/ranges/PrimitiveRanges.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/ranges/ProgressionIterators.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/ranges/Progressions.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/Appendable.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/Indent.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/StringNumberConversions.kt","webpack://benchart/../../../../../runtime/long.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/stringsCode.kt","webpack://benchart/../../../../../runtime/noPackageHacks.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/time/Duration.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/StringBuilder.kt","webpack://benchart/../../../../../src/generated/_ComparisonsJs.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/time/DurationUnit.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/DeepRecursive.kt","webpack://benchart/../../../../../runtime/typeCheckUtils.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Tuples.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UByte.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UByteArray.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UInt.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UIntArray.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/ULong.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UnsignedUtils.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/ULongArray.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UShort.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UShortArray.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UStrings.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/runtime/primitiveCompanionObjects.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/AbstractMutableCollection.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/AbstractMutableList.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/AbstractMutableMap.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/AbstractMutableSet.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/ArrayList.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/ArraySorting.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/HashMap.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/HashSet.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/InternalHashCodeMap.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/LinkedHashMap.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/LinkedHashSet.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/console.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/coroutines/SafeContinuationJs.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/coroutines/cancellation/CancellationException.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/numbers.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/JsClass.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/KClassImpl.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/KTypeImpl.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/primitives.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/reflection.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/regexp.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/StringBuilderJs.kt","webpack://benchart/../../../../../src/generated/_WhitespaceChars.kt","webpack://benchart/../../../../../src/generated/_DigitChars.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/regex.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/throwableExtensions.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/time/DurationUnit.kt","webpack://benchart/../../../../../builtins/Char.kt","webpack://benchart/../../../../../builtins/Enum.kt","webpack://benchart/../../../../../runtime/arrays.kt","webpack://benchart/../../../../../runtime/bitUtils.kt","webpack://benchart/../../../../../runtime/charSequence.kt","webpack://benchart/../../../../../runtime/collectionsHacks.kt","webpack://benchart/../../../../../runtime/compareTo.kt","webpack://benchart/../../../../../runtime/coreRuntime.kt","webpack://benchart/../../../../../runtime/hacks.kt","webpack://benchart/../../../../../runtime/longjs.kt","webpack://benchart/../../../../../runtime/numberConversion.kt","webpack://benchart/../../../../../runtime/rangeTo.kt","webpack://benchart/../../../../../runtime/reflectRuntime.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/js.arrays/fill.kt","webpack://benchart/../../../../../src/generated/_CharCategories.kt","webpack://benchart/../../../../../src/generated/_LetterChars.kt","webpack://benchart/../../../../../src/generated/_OtherLowercaseChars.kt","webpack://benchart/../../../../../src/kotlin/coroutines_13/CoroutineImpl.kt","webpack://benchart/../../../../../src/kotlin/coroutines_13/IntrinsicsJs.kt","webpack://benchart/../../../../../src/kotlin/exceptions.kt","webpack://benchart/../../../../../src/kotlin/jsOperators.kt","webpack://benchart/../../../../../src/kotlin/text/numberConversions_js-ir.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/AbstractCollection.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/PrimitiveIterators.kt","webpack://benchart/../../../../../jsMainSources/core/builtins/src/kotlin/Unit.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/EqualityComparator.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/InternalMap.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/KTypeHelpers.kt","webpack://benchart/../../../../../src/kotlin/reflection_js-ir.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/MapWithDefault.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Sets.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/ContinuationInterceptor.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/ranges/Ranges.kt","webpack://benchart/../../../../../SerialDescriptor.kt","webpack://benchart/../../../../../Decoding.kt","webpack://benchart/../../../../../Encoding.kt","webpack://benchart/../../../../../PluginHelperInterfaces.kt","webpack://benchart/../../../../../PolymorphicSerializer.kt","webpack://benchart/../../../../../ContextAware.kt","webpack://benchart/../../../../../AbstractPolymorphicSerializer.kt","webpack://benchart/../../../../../SerializationExceptions.kt","webpack://benchart/../../../../../Platform.kt","webpack://benchart/../../../../../Primitives.kt","webpack://benchart/../../../../../BuiltinSerializers.kt","webpack://benchart/../../../../../SerializersCache.kt","webpack://benchart/../../../../../SerialDescriptors.kt","webpack://benchart/../../../../../SerialKinds.kt","webpack://benchart/../../../../../BuiltInSerializers.kt","webpack://benchart/../../../../../CollectionDescriptors.kt","webpack://benchart/../../../../../CollectionSerializers.kt","webpack://benchart/../../../../../ElementMarker.kt","webpack://benchart/../../../../../InlineClassDescriptor.kt","webpack://benchart/../../../../../NoOpEncoder.kt","webpack://benchart/../../../../../NullableSerializer.kt","webpack://benchart/../../../../../ObjectSerializer.kt","webpack://benchart/../../../../../PluginGeneratedSerialDescriptor.kt","webpack://benchart/../../../../../PrimitiveArraysSerializers.kt","webpack://benchart/../../../../../Tagged.kt","webpack://benchart/../../../../../Tuples.kt","webpack://benchart/../../../../../ValueClasses.kt","webpack://benchart/../../../../../SerializersModule.kt","webpack://benchart/../../../../../SerializersModuleBuilders.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/AssociatedObjects.kt","webpack://benchart/../../../../../AbstractDecoder.kt","webpack://benchart/../../../../../AbstractEncoder.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_UArrays.kt","webpack://benchart/../../../../../JsonInternalDependencies.kt","webpack://benchart/../../../../../PluginExceptions.kt","webpack://benchart/../../../../../SerializersModuleCollector.kt","webpack://benchart/../../../../../Json.kt","webpack://benchart/../../../../../JsonConfiguration.kt","webpack://benchart/../../../../../JsonElement.kt","webpack://benchart/../../../../../StringOps.kt","webpack://benchart/../../../../../JsonElementSerializers.kt","webpack://benchart/../../../../../Composers.kt","webpack://benchart/../../../../../JsonElementMarker.kt","webpack://benchart/../../../../../JsonExceptions.kt","webpack://benchart/../../../../../AbstractJsonLexer.kt","webpack://benchart/../../../../../JsonNamesMap.kt","webpack://benchart/../../../../../JsonPath.kt","webpack://benchart/../../../../../JsonStreams.kt","webpack://benchart/../../../../../StreamingJsonEncoder.kt","webpack://benchart/../../../../../JsonTreeReader.kt","webpack://benchart/../../../../../Polymorphic.kt","webpack://benchart/../../../../../TreeJsonEncoder.kt","webpack://benchart/../../../../../TreeJsonDecoder.kt","webpack://benchart/../../../../../PolymorphismValidator.kt","webpack://benchart/../../../../../SchemaCache.kt","webpack://benchart/../../../../../StreamingJsonDecoder.kt","webpack://benchart/../../../../../WriteMode.kt","webpack://benchart/../../../../../StringJsonLexer.kt","webpack://benchart/../../../../../JsonSchemaCache.kt","webpack://benchart/../../../../../JsonToStringWriter.kt","webpack://benchart/../../../../../createMapForCache.kt","webpack://benchart/../../../../../Job.kt","webpack://benchart/../../../../../AbstractCoroutine.kt","webpack://benchart/../../../../../Builders.common.kt","webpack://benchart/../../../../../CoroutineContext.kt","webpack://benchart/../../../../../DispatchedTask.kt","webpack://benchart/../../../../../CancellableContinuationImpl.kt","webpack://benchart/../../../../../CompletionHandler.kt","webpack://benchart/../../../../../AtomicFU.common.kt","webpack://benchart/../../../../../CompletionState.kt","webpack://benchart/../../../../../CoroutineDispatcher.kt","webpack://benchart/../../../../../CoroutineExceptionHandler.kt","webpack://benchart/../../../../../EventLoop.common.kt","webpack://benchart/../../../../../Exceptions.common.kt","webpack://benchart/../../../../../JobSupport.kt","webpack://benchart/../../../../../Concurrent.kt","webpack://benchart/../../../../../LinkedList.kt","webpack://benchart/../../../../../MainCoroutineDispatcher.kt","webpack://benchart/../../../../../Supervisor.kt","webpack://benchart/../../../../../Unconfined.kt","webpack://benchart/../../../../../StateFlow.kt","webpack://benchart/../../../../../AbstractSharedFlow.kt","webpack://benchart/../../../../../NullSurrogate.kt","webpack://benchart/../../../../../ArrayQueue.kt","webpack://benchart/../../../../../DispatchedContinuation.kt","webpack://benchart/../../../../../ThreadContext.kt","webpack://benchart/../../../../../Scopes.kt","webpack://benchart/../../../../../Symbol.kt","webpack://benchart/../../../../../Cancellable.kt","webpack://benchart/../../../../../Undispatched.kt","webpack://benchart/../../../../../Window.kt","webpack://benchart/../../../../../CoroutineExceptionHandlerImpl.kt","webpack://benchart/../../../../../Debug.kt","webpack://benchart/../../../../../Dispatchers.kt","webpack://benchart/../../../../../EventLoop.kt","webpack://benchart/../../../../../Exceptions.kt","webpack://benchart/../../../../../JSDispatcher.kt","webpack://benchart/../../../../../StackTraceRecovery.kt","webpack://benchart/../../../../../ThreadLocal.kt","webpack://benchart/../../../../../CoroutineStart.kt","webpack://benchart/../../../../../ProbesSupport.kt","webpack://benchart/../../../../../CompletionHandler.common.kt","webpack://benchart/../../../../../SchedulerTask.kt","webpack://benchart/../../../../../CoroutineScope.kt","webpack://benchart/../../../../../DomApplier.kt","webpack://benchart/../../../../../GlobalSnapshotManager.kt","webpack://benchart/../../../../../JsMicrotasksDispatcher.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/org.w3c/org.w3c.dom.kt","webpack://benchart/../../../../../renderComposable.kt","webpack://benchart/../../../../../Attrs.kt","webpack://benchart/../../../../../InternalControlledInputUtils.kt","webpack://benchart/../../../../../AttrsScope.kt","webpack://benchart/../../../../../EventsListenerScope.kt","webpack://benchart/../../../../../PredefinedAttrValues.kt","webpack://benchart/../../../../../SyntheticEventListener.kt","webpack://benchart/../../../../../InputAttrsScope.kt","webpack://benchart/../../../../../SelectAttrsScope.kt","webpack://benchart/../../../../../TextAreaAttrsScope.kt","webpack://benchart/../../../../../CSSUnits.kt","webpack://benchart/../../../../../StyleScope.kt","webpack://benchart/../../../../../Base.kt","webpack://benchart/../../../../../ElementScope.kt","webpack://benchart/../../../../../Elements.kt","webpack://benchart/../../../../../SyntheticChangeEvent.kt","webpack://benchart/../../../../../SyntheticEvent.kt","webpack://benchart/../../../../../SyntheticInputEvent.kt","webpack://benchart/../../../../../SyntheticMouseEvent.kt","webpack://benchart/../../../../../StylePropertyValue.kt","webpack://benchart/../../../../../text.kt","webpack://benchart/../../../../../box.kt","webpack://benchart/../../../../../margin.kt","webpack://benchart/../../../../../padding.kt","webpack://benchart/../../node_modules/chart.js/dist/chunks/helpers.segment.mjs","webpack://benchart/../../node_modules/chart.js/dist/chart.mjs","webpack://benchart/webpack/bootstrap","webpack://benchart/webpack/runtime/define property getters","webpack://benchart/webpack/runtime/hasOwnProperty shorthand","webpack://benchart/webpack/runtime/make namespace object","webpack://benchart/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"benchart\"] = factory();\n\telse\n\t\troot[\"benchart\"] = factory();\n})(this, () => {\nreturn ",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"package core\n\nimport model.FormData\n\nopen class InvalidDataException(message: String?) : Throwable(message)\nclass InvalidBenchmarkDataException(message: String?) : InvalidDataException(message)\nclass InvalidGenericDataException(message: String?) : InvalidDataException(message)\n\ndata class BlockRow(\n val title: String,\n val data: Map\n)\n\nenum class SupportedMetrics(\n val key: String,\n val emoji: String,\n val title: String\n) {\n Duration(\n emoji = \"⏱\",\n key = \"frameDurationCpuMs\",\n title = \"Duration Summary\"\n ),\n Overrun(\n emoji = \"🏃🏻‍♂️\",\n key = \"frameOverrunMs\",\n title = \"Overrun Summary\"\n ),\n InitialDisplay(\n emoji = \"🌘\",\n key = \"timeToInitialDisplayMs\",\n title = \"Initial Display Summary\"\n ),\n FullDisplay(\n emoji = \"🌕\",\n key = \"timeToFullDisplayMs\",\n title = \"Full Display Summary\"\n ),\n}\n\nenum class InputType {\n GENERIC,\n NORMAL_BENCHMARK\n}\n\ndata class BenchmarkResult(\n val title: String,\n val testName: String?,\n val blockRows: List,\n) {\n companion object {\n\n private val metricKeys = SupportedMetrics.values().map { it.key }\n\n private val machineLineRegEx = \"^(Traces|${metricKeys.joinToString(separator = \"|\")}).+\".toRegex()\n private val titleStripRegEx = \"\\\\W+\".toRegex()\n private val testNameRegex = \"[A-Z].*_[a-z].*\".toRegex()\n\n fun parse(form: FormData): Pair>? {\n\n val blocks = form.data\n .split(\"\\n\").joinToString(separator = \"\\n\") { it.trim() }\n .split(\"^\\\\s+\".toRegex(RegexOption.MULTILINE)).map { it.trim() }\n .filter { it.isNotBlank() }\n\n println(\"parsing input...\")\n if(blocks.isEmpty()) return null\n if (form.isGenericInput()) return parseGenericInput(blocks)\n\n println(\"parsing machine generated benchmark input...\")\n val benchmarkResults = mutableListOf()\n\n for ((index, block) in blocks.withIndex()) {\n println(\"block: '$block'\")\n val lines = block.split(\"\\n\").map { it.trim() }\n var title: String? = null\n var testName: String? = null\n val blockRows = mutableListOf()\n for (line in lines) {\n\n if (title == null && isHumanLine(line)) {\n title = line\n }\n\n if (form.isTestNameDetectionEnabled && isTestName(line)) {\n if (testName != null && blockRows.isNotEmpty()) {\n\n if (title == null) {\n title = \"benchmark $index $testName\"\n }\n\n // We already have an unsaved testData, so let's save it\n benchmarkResults.add(\n BenchmarkResult(\n title = title,\n testName = testName,\n blockRows = blockRows\n )\n )\n\n blockRows.clear()\n }\n\n testName = line\n }\n\n val metricName = line.findMetricKeyOrNull()\n if (metricName != null) {\n val isMetricAlreadyAdded = blockRows.find { it.title == metricName } != null\n if (isMetricAlreadyAdded) {\n throw InvalidBenchmarkDataException(\"Two $metricName found in block ${index + 1}. Expected only one\")\n }\n blockRows.add(\n BlockRow(\n title = metricName,\n data = parseValues(metricName, line)\n )\n )\n }\n }\n\n if (title == null) {\n title = \"benchmark $index\"\n }\n\n title = parseTitle(title)\n\n if (blockRows.isNotEmpty()) {\n benchmarkResults.add(\n BenchmarkResult(\n title = title,\n testName = testName,\n blockRows = blockRows\n )\n )\n }\n }\n\n return Pair(InputType.NORMAL_BENCHMARK, benchmarkResults)\n }\n\n private fun parseGenericInput(blocks: List): Pair> {\n return Pair(InputType.GENERIC, parseMultiLineGenericInput(blocks))\n }\n\n private fun createChartTitle(blockRows: MutableList): String {\n return blockRows.joinToString(separator = \" vs \") { it.title }\n }\n\n private fun parseMultiLineGenericInput(blocks: List): List {\n val benchmarkResults = mutableListOf()\n val blockRows = mutableListOf()\n for ((index, block) in blocks.withIndex()) {\n val lines = block.split(\"\\n\").map { it.trim() }\n var title: String? = null\n val values = mutableMapOf()\n for (line in lines) {\n\n if (title == null && isHumanLine(line)) {\n title = line\n continue\n }\n\n val textNumberLine = TextNumberLine.parse(line)\n values[parseGenericTitleForMultiLine(textNumberLine.text)] = textNumberLine.number\n }\n\n if (title == null) {\n title = \"benchmark $index\"\n }\n\n title = parseGenericTitleForMultiLine(title)\n\n blockRows.add(\n BlockRow(\n title = title,\n data = values\n )\n )\n }\n\n checkDataIntegrity(blockRows)\n\n val chartTitle = createChartTitle(blockRows)\n\n benchmarkResults.add(\n BenchmarkResult(\n title = chartTitle,\n testName = \"\",\n blockRows = blockRows\n )\n )\n\n return benchmarkResults\n }\n\n private fun checkDataIntegrity(blockRows: List) {\n if (blockRows.size >= 2) {\n val originalValueOrder = blockRows.first().data.keys.toList()\n for ((index, blockRow) in blockRows.withIndex()) {\n if (index == 0) {\n continue\n }\n val currentValueOrder = blockRow.data.keys.toList()\n if (originalValueOrder != currentValueOrder) {\n error(\"Invalid order. Expected '$originalValueOrder', but found '$currentValueOrder'\")\n }\n }\n }\n }\n\n\n private fun isTestName(line: String): Boolean {\n return testNameRegex.matches(line)\n }\n\n private fun parseTitle(title: String): String {\n return title\n .replace(titleStripRegEx, \" \")\n .replace(\"\\\\s{2,}\".toRegex(), \" \")\n .trim()\n }\n\n private fun parseGenericTitleForMultiLine(title: String): String {\n return parseTitle(title).also {\n println(\"genericTitleParsing : '$title' -> '$it'\")\n }\n }\n\n private fun isHumanLine(line: String): Boolean {\n return !isMachineLine(line)\n }\n\n private fun isMachineLine(line: String): Boolean {\n return line.matches(machineLineRegEx)\n }\n\n private fun parseValues(key: String, data: String): Map {\n if (!data.startsWith(key)) {\n error(\"Invalid $key.Expected to start with '$key' but found '$data'\")\n }\n\n val transformedList = data.replace(key, \"\")\n .replace(\"\\\\s+\".toRegex(), \" \")\n .split(\", \")\n // remove commas in numbers\n .map { it.replace(\",\", \"\").trim().split(\" \") }\n\n val valueMap = mutableMapOf()\n for (item in transformedList) {\n valueMap[item[0]] = item[1].toFloat()\n }\n return valueMap\n }\n\n\n private fun String.findMetricKeyOrNull(): String? {\n return metricKeys.find { this.startsWith(it) }\n }\n }\n}\n\nprivate val digitRegex = \"\\\\d+(.\\\\d+)?\".toRegex()\n\nprivate data class TextNumberLine(\n val text: String,\n val number: Float\n) {\n companion object {\n fun parse(line: String): TextNumberLine {\n val number = digitRegex.findAll(line)\n .lastOrNull()\n ?.groupValues\n .also {\n println(\"group: ${it}\")\n }\n ?.firstOrNull()\n ?: error(\"$line doesn't match the regex '${digitRegex.pattern}'\")\n val newLine = line.replace(\"$number$\".toRegex(), \"\")\n return TextNumberLine(newLine, number.toFloat())\n }\n }\n}\n\nprivate fun FormData.isGenericInput(): Boolean {\n return !this.data.contains(\n SupportedMetrics.values().joinToString(separator = \"|\", prefix = \"(\", postfix = \")\") { it.key }.toRegex()\n )\n}\n\n",null,null,null,"package core\n\nimport model.Chart\nimport model.ChartsBundle\n\n\nfun List.toCharts(): ChartsBundle {\n val chartNames = this\n .map { result ->\n result.blockRows.map { dataPoint ->\n dataPoint.title\n }\n }\n .flatten()\n .toSet()\n\n val charts = mutableListOf()\n for (chartName in chartNames) {\n // before1 -> {P50=40.5, P90=45.8, P95=60.4, P99=80.4}\n val dataSets = mutableMapOf>()\n for (item in this) {\n dataSets[item.title] = item.blockRows.find { it.title == chartName }?.data ?: emptyMap()\n }\n\n charts.add(\n Chart(\n emoji = SupportedMetrics.values().find { it.key == chartName }?.emoji ?: \"📊\",\n label = chartName, // frameDurationCpuMs, frameOverrunMs, etc\n dataSets = dataSets\n )\n )\n }\n\n val groupMap = parseGroupMap(this, isGeneric = false)\n return ChartsBundle(\n groupMap = groupMap,\n charts = charts\n )\n}\n\n\nfun List.toGenericChart(): ChartsBundle {\n // Generic chart will be always 1\n val result = this.first()\n\n val chart = Chart(\n emoji = \"📊\",\n label = result.title,\n dataSets = mutableMapOf>().apply {\n for(blockRow in result.blockRows){\n put(blockRow.title, blockRow.data)\n }\n }.also {\n println(\"chartSet -> $it\")\n },\n bsClass = \"col-lg-12\"\n )\n\n return ChartsBundle(\n groupMap = parseGroupMap(this, isGeneric = true),\n charts = listOf(\n chart\n )\n )\n}\n\n\ndata class GroupMap(\n val autoGroupMap: Map,\n val wordColorMap: Map\n)\n\nfun parseGroupMap(\n benchmarkResults: List,\n isGeneric : Boolean\n): GroupMap {\n val autoGroupMap = mutableMapOf()\n val titles = if(isGeneric){\n benchmarkResults.flatMap { it.blockRows.map { blockRow -> blockRow.title } }\n }else {\n benchmarkResults.map { it.title }\n }\n println(\"titles: $titles -> ${benchmarkResults.map { it.blockRows }}\")\n val wordColorMap = mutableMapOf()\n // TODO: Add more colors\n val lineColors = mutableListOf(\n \"rgba(255, 99, 132, 1)\",\n \"rgba(54, 162, 235, 1)\",\n \"rgba(255, 206, 86, 1)\",\n \"rgba(75, 192, 192, 1)\",\n \"rgba(153, 102, 255, 1)\",\n \"rgba(255, 159, 64, 1)\",\n )\n for (title in titles) {\n val firstWord = title.split(\" \")[0]\n val color = wordColorMap.getOrPut(firstWord) {\n\n if (lineColors.isEmpty()) {\n lineColors.add(\"rgba(${randomRgb()}, ${randomRgb()}, ${randomRgb()}, 1)\")\n }\n\n val newColor = lineColors.first()\n lineColors.remove(newColor)\n newColor\n }\n autoGroupMap[title] = color\n }\n return GroupMap(\n autoGroupMap = autoGroupMap,\n wordColorMap = wordColorMap\n ).also {\n println(\"groupMap: $it\")\n }\n}\n\nprivate fun randomRgb() = (0..255).random()\n",null,"package model\n\nimport core.GroupMap\n\ndata class ChartsBundle(\n val groupMap: GroupMap,\n val charts: List\n)\n\ndata class Chart(\n val emoji: String,\n val label: String,\n // eg format: (before1 -> map { p50 -> 20, p90 -> 30 })\n val dataSets: Map>,\n val bsClass : String = \"col-lg-6\"\n)\n\n\n\n","package model\n\ndata class FormData(\n val data: String,\n val isTestNameDetectionEnabled : Boolean,\n val isAutoGroupEnabled : Boolean\n)\n","package components\n\nimport androidx.compose.runtime.*\nimport kotlinx.browser.window\nimport model.FormData\nimport org.jetbrains.compose.web.attributes.*\nimport org.jetbrains.compose.web.css.marginTop\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.*\n\n\n\n\n@Composable\nfun FormUi(\n form: FormData,\n shouldSelectUnsaved : Boolean,\n savedBenchmarks: List,\n onFormChanged: (form: FormData) -> Unit,\n onSaveClicked: (form: FormData) -> Unit,\n onSavedBenchmarkChanged: (key :String) -> Unit,\n onLoadBenchmarkClicked: (SavedBenchmarkNode) -> Unit,\n onDeleteBenchmarkClicked: (SavedBenchmarkNode) -> Unit,\n) {\n\n\n LaunchedEffect(Unit) {\n onFormChanged(form)\n }\n\n H3 {\n Text(\"⌨️ Input\")\n }\n\n Div {\n Form {\n\n key(\"inputForm\") {\n\n SavedBenchmarksDropDown(\n shouldSelectUnsaved = shouldSelectUnsaved,\n savedBenchmarks = savedBenchmarks,\n onSavedBenchmarkChanged =onSavedBenchmarkChanged,\n onLoadBenchmarkClicked = onLoadBenchmarkClicked,\n onDeleteBenchmarkClicked = onDeleteBenchmarkClicked\n )\n\n Div(\n attrs = {\n classes(\"form-group\")\n }\n ) {\n\n Label(\n forId = \"benchmark\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Benchmark :\")\n }\n\n TextArea(\n value = form.data\n ) {\n id(\"benchmark\")\n classes(\"form-control\")\n placeholder(value = \"Benchmark data\")\n rows(20)\n onInput { textInput ->\n onFormChanged(form.copy(data = textInput.value))\n }\n }\n }\n\n Button(\n attrs = {\n classes(\"btn\", \"btn-dark\", \"float-end\")\n style {\n marginTop(10.px)\n }\n if (form.data.isBlank()) {\n attr(\"disabled\", \"true\")\n }\n onClick {\n onSaveClicked(form)\n }\n type(ButtonType.Button)\n }\n ) {\n Text(\"💾 SAVE\")\n }\n }\n }\n }\n}\n","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.attributes.ButtonType\nimport org.jetbrains.compose.web.attributes.type\nimport org.jetbrains.compose.web.css.marginLeft\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.*\n\n@Composable\nfun AutoGroup(\n isEnabled: Boolean,\n onButtonClicked: () -> Unit\n) {\n Div(\n attrs = {\n classes(\"form-group\")\n style {\n marginLeft(10.px)\n }\n }\n ) {\n // 🖌 Color map\n\n Label(\n forId = \"colorMap\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Auto Group:\")\n }\n Br()\n Button(\n attrs = {\n id(\"colorMap\")\n classes(\"btn\", if (isEnabled) \"btn-success\" else \"btn-secondary\")\n onClick {\n onButtonClicked()\n }\n type(ButtonType.Button)\n }\n ) {\n Text(if (isEnabled) \"ON\" else \"OFF\")\n }\n }\n}","package components\n\nimport Chart\nimport androidx.compose.runtime.Composable\nimport androidx.compose.runtime.DisposableEffect\nimport chartjs.Type\nimport core.GroupMap\nimport jso\nimport org.jetbrains.compose.web.css.*\nimport org.jetbrains.compose.web.dom.Canvas\nimport org.jetbrains.compose.web.dom.H3\nimport org.jetbrains.compose.web.dom.Text\n\n@Composable\nfun ChartUi(\n isColorMapEnabled: Boolean,\n groupMap: GroupMap,\n chart: model.Chart,\n) {\n H3 { Text(\"${chart.emoji} ${chart.label}\") }\n\n // Charts\n Canvas(\n attrs = {\n style {\n width(100.percent)\n maxWidth(100.percent)\n\n height(700.px)\n maxHeight(700.px)\n }\n }\n ) {\n DisposableEffect(chart, isColorMapEnabled) {\n val dataSets = mutableListOf()\n for ((legend, values) in chart.dataSets) {\n\n dataSets.add(\n jso {\n label = legend\n data = values.values.toTypedArray()\n borderColor = if (isColorMapEnabled) {\n groupMap.autoGroupMap[label]\n } else {\n arrayOf(\n \"rgba(255, 99, 132, 1)\",\n \"rgba(54, 162, 235, 1)\",\n \"rgba(255, 206, 86, 1)\",\n \"rgba(75, 192, 192, 1)\",\n \"rgba(153, 102, 255, 1)\",\n \"rgba(255, 159, 64, 1)\"\n )\n }\n borderWidth = 3\n }\n )\n }\n val chart = Chart(scopeElement, jso {\n type = Type.line\n this.data = jso {\n labels = chart.dataSets.values.flatMap { it.keys }.toSet().toTypedArray().also {\n println(\"labels: ${it.toList()}\")\n }\n datasets = dataSets.toTypedArray()\n }\n this.options = jso {\n plugins = jso {\n title = jso {\n display = true\n }\n }\n }\n })\n onDispose {\n chart.destroy()\n }\n }\n }\n\n}","inline fun jso(): T = js(\"({})\")\n\ninline fun jso(builder: T.() -> Unit): T = jso().apply(builder)",null,"package chartjs\n\ninterface Type {\n companion object {\n inline val line: Type get() = Type(\"line\")\n inline val bar: Type get() = Type(\"bar\")\n\n inline val horizontalBar: Type get() = Type(\"horizontalBar\")\n inline val radar: Type get() = Type(\"radar\")\n inline val doughnut: Type get() = Type(\"doughnut\")\n inline val polarArea: Type get() = Type(\"polarArea\")\n inline val bubble: Type get() = Type(\"bubble\")\n inline val pie: Type get() = Type(\"pie\")\n inline val scatter: Type get() = Type(\"scatter\")\n }\n}\n\ninline fun Type(value: String) = value.unsafeCast()","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.attributes.InputType\nimport org.jetbrains.compose.web.attributes.placeholder\nimport org.jetbrains.compose.web.css.fontSize\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.Div\nimport org.jetbrains.compose.web.dom.Input\nimport org.jetbrains.compose.web.dom.Label\nimport org.jetbrains.compose.web.dom.Text\n\n@Composable\nfun EditableTitle() {\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n Div(\n attrs = {\n classes(\"form-group\")\n }\n ) {\n Label(\n forId = \"customTitle\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Title :\")\n }\n Input(\n type = InputType.Text,\n ) {\n id(\"customTitle\")\n classes(\"form-control\")\n placeholder(value = \"Custom title goes here\")\n style {\n fontSize(24.px)\n }\n }\n }\n }\n}","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.dom.Div\nimport org.jetbrains.compose.web.dom.H4\nimport org.jetbrains.compose.web.dom.Text\n\n@Composable\nfun ErrorUi(message: String) {\n Div(attrs = {\n classes(\"row\")\n }) {\n Div(attrs = {\n classes(\"col-lg-12\")\n }) {\n H4(attrs = {\n classes(\"text-center\")\n }) {\n Text(\"❌ $message\")\n }\n }\n }\n}","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.css.*\nimport org.jetbrains.compose.web.dom.*\n\n\n@Composable\nfun Heading() {\n Div(attrs = {\n classes(\"row\")\n }) {\n Div(attrs = {\n classes(\"col-lg-12\")\n style {\n marginBottom(30.px)\n marginTop(30.px)\n }\n }) {\n H1(attrs = {\n classes(\"text-center\")\n }) { Text(\"📊 benchart\") }\n }\n }\n}","package components\n\nimport kotlinx.serialization.Serializable\n\n@Serializable\ndata class SavedBenchmarkNode(\n val key : String,\n val value : String\n)\n\n@Serializable\ndata class SavedBenchmarks(\n var items : List\n)","package components\n\nimport androidx.compose.runtime.*\nimport org.jetbrains.compose.web.attributes.ButtonType\nimport org.jetbrains.compose.web.attributes.disabled\nimport org.jetbrains.compose.web.attributes.selected\nimport org.jetbrains.compose.web.attributes.type\nimport org.jetbrains.compose.web.css.marginRight\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.*\nimport kotlin.js.Date\n\nval KEY_UNSAVED_BENCHMARK = \"unsavedBenchmark_${Date().getMilliseconds()}\"\n\n@Composable\nfun SavedBenchmarksDropDown(\n shouldSelectUnsaved: Boolean,\n savedBenchmarks: List,\n onSavedBenchmarkChanged: (key: String) -> Unit,\n onLoadBenchmarkClicked: (SavedBenchmarkNode) -> Unit,\n onDeleteBenchmarkClicked: (SavedBenchmarkNode) -> Unit\n) {\n\n if (savedBenchmarks.isEmpty()) {\n return\n }\n\n var selectedBenchmark by remember(savedBenchmarks) { mutableStateOf(savedBenchmarks.first()) }\n\n\n Label(\n forId = \"savedBenchmarks\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Load Benchmark :\")\n }\n\n Div(\n attrs = {\n classes(\"form-group\")\n }\n ) {\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n\n Div(\n attrs = {\n classes(\"col\")\n }\n ) {\n Select(\n attrs = {\n classes(\"form-select\")\n id(\"savedBenchmarks\")\n onChange {\n it.value?.let { benchmarkKey ->\n onSavedBenchmarkChanged(benchmarkKey)\n selectedBenchmark =\n savedBenchmarks.find { benchmark -> benchmark.key == benchmarkKey }!!\n }\n }\n }\n ) {\n for (savedBenchmark in savedBenchmarks) {\n Option(\n value = savedBenchmark.key,\n attrs = {\n if (savedBenchmark.key == selectedBenchmark.key && !shouldSelectUnsaved) {\n selected()\n }\n }\n ) {\n Text(savedBenchmark.key)\n }\n }\n\n Option(\n value = KEY_UNSAVED_BENCHMARK,\n attrs = {\n if (shouldSelectUnsaved) {\n selected()\n }\n }\n ) {\n Text(\"Unsaved benchmark\")\n }\n }\n }\n\n Div(\n attrs = {\n classes(\"col\")\n }\n ) {\n Button(\n attrs = {\n classes(\"btn\", \"btn-primary\")\n style {\n marginRight(10.px)\n }\n onClick {\n onLoadBenchmarkClicked(selectedBenchmark)\n }\n type(ButtonType.Button)\n\n if (shouldSelectUnsaved) {\n disabled()\n }\n }\n ) {\n Text(\"LOAD\")\n }\n\n Button(\n attrs = {\n classes(\"btn\", \"btn-danger\")\n onClick {\n onDeleteBenchmarkClicked(selectedBenchmark)\n }\n type(ButtonType.Button)\n\n if (shouldSelectUnsaved) {\n disabled()\n }\n }\n ) {\n Text(\"DELETE\")\n }\n }\n }\n }\n}","package components\n\nimport androidx.compose.runtime.Composable\nimport androidx.compose.runtime.key\nimport kotlinx.browser.document\nimport org.jetbrains.compose.web.attributes.AttrsScope\nimport org.jetbrains.compose.web.attributes.ButtonType\nimport org.jetbrains.compose.web.attributes.selected\nimport org.jetbrains.compose.web.attributes.type\nimport org.jetbrains.compose.web.css.fontWeight\nimport org.jetbrains.compose.web.dom.*\nimport org.w3c.dom.Element\nimport org.w3c.dom.HTMLElement\nimport org.w3c.dom.HTMLSpanElement\n\n// P50 : After performed 25% better (-30ms)\nclass SummaryNode(\n val isGeneric: Boolean,\n val emoji: String,\n val segment: String,\n val label: String,\n val percentage: Float,\n val stateWord: String,\n val diff: Float,\n val diffSymbol: String,\n val after: Float,\n val before: Float\n)\n\ndata class Summary(\n val title: String,\n val nodes: List\n)\n\n@Composable\nfun SummaryContainer(\n selector: @Composable () -> Unit,\n summaries: List,\n) {\n\n selector()\n Br()\n\n for (summary in summaries) {\n key(summary.title) {\n SummaryUi(summary.title, summary.nodes)\n Br()\n }\n }\n}\n\n@Composable\nfun SummarySelector(\n bestButtonLabel : String,\n worstButtonLabel : String,\n onBestClicked: () -> Unit,\n onWorstClicked: () -> Unit,\n blockNames: List,\n selectedBlockNameOne: String?,\n selectedBlockNameTwo: String?,\n onBlockOneSelected: (String) -> Unit,\n onBlockTwoSelected: (String) -> Unit,\n) {\n\n Div(\n attrs = {\n classes(\"row\", \"mb-3\")\n }\n ) {\n\n Div(\n attrs = {\n classes(\"col-auto\")\n }\n ) {\n // Best\n Button(\n attrs = {\n classes(\"btn\", \"btn-outline-dark\", \"btn-sm\")\n onClick {\n onBestClicked()\n }\n type(ButtonType.Button)\n }\n ) {\n Text(bestButtonLabel)\n }\n\n }\n Div(\n attrs = {\n classes(\"col-auto\")\n }\n ) {\n // Best\n Button(\n attrs = {\n classes(\"btn\", \"btn-outline-dark\", \"btn-sm\")\n onClick {\n onWorstClicked()\n }\n type(ButtonType.Button)\n }\n ) {\n Text(worstButtonLabel)\n }\n }\n\n }\n\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n repeat(2) { index ->\n key(\"block-selector-$index\") {\n Div(\n attrs = {\n classes(\"col\")\n }\n ) {\n Select(\n attrs = {\n classes(\"form-select\")\n onInput {\n it.value?.let { newBlockName ->\n if (index == 0) {\n // first block name\n onBlockOneSelected(newBlockName)\n } else {\n // second block name\n onBlockTwoSelected(newBlockName)\n }\n }\n }\n }\n ) {\n for (blockName in blockNames) {\n Option(\n value = blockName,\n attrs = {\n val selectedBlockName =\n if (index == 0) selectedBlockNameOne else selectedBlockNameTwo\n if (blockName == selectedBlockName) {\n selected()\n }\n }\n ) {\n Text(blockName)\n }\n }\n }\n }\n\n if (index == 0) {\n Div(\n attrs = {\n classes(\"col-auto\")\n }\n ) {\n P {\n Strong {\n Text(\"vs\")\n }\n }\n }\n\n }\n }\n }\n\n }\n\n\n}\n\nprivate open class ElementBuilderImplementation(private val tagName: String) :\n ElementBuilder {\n private val el: Element by lazy { document.createElement(tagName) }\n\n @Suppress(\"UNCHECKED_CAST\")\n override fun create(): TElement = el.cloneNode() as TElement\n}\n\nprivate val Strong: ElementBuilder = ElementBuilderImplementation(\"strong\")\n\n@Composable\nfun Strong(\n attrs: AttrBuilderContext? = null,\n content: ContentBuilder? = null\n) = TagElement(elementBuilder = Strong, applyAttrs = attrs, content = content)\n\n@Composable\nfun SummaryUi(title: String, summary: List) {\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n H3 { Text(title) }\n Ul {\n summary.forEach { node ->\n Li {\n Text(\"${node.emoji} \")\n // ${node.segment} : ${node.label} performed ${node.percentage}%\n BoldText(\n text = node.segment,\n style = {\n classes(\"text-capitalize\")\n }\n )\n Text(\" : \")\n BoldText(node.label)\n Text(if (node.isGeneric) \" looks \" else \" performed \")\n BoldText(\"${node.percentage}% \")\n val postfix = if (node.isGeneric) \"\" else \"ms\"\n Span(\n attrs = {\n val badgeClass = when {\n node.diff == 0f -> \"secondary\"\n node.diff > 0 -> \"danger\"\n else -> \"success\"\n }\n classes(\"badge\", \"bg-$badgeClass\")\n\n attr(\"data-bs-toggle\", \"tooltip\")\n attr(\"data-bs-placement\", \"top\")\n\n attr(\"title\", \"${node.before}$postfix to ${node.after}$postfix\")\n }\n ) {\n Text(node.stateWord)\n }\n Text(\" (${node.diffSymbol}${node.diff}$postfix)\")\n }\n }\n }\n }\n}\n\n@Composable\nprivate fun BoldText(\n text: String,\n style: (AttrsScope.() -> Unit)? = null\n) {\n Span(\n attrs = {\n style?.invoke(this)\n style {\n fontWeight(\"bold\")\n }\n }\n ) {\n Text(text)\n }\n}\n","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.attributes.ButtonType\nimport org.jetbrains.compose.web.attributes.type\nimport org.jetbrains.compose.web.css.marginLeft\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.*\n\n@Composable\nfun TestNameDetectionToggle(\n isEnabled: Boolean,\n onButtonClicked: () -> Unit\n) {\n Div(\n attrs = {\n classes(\"form-group\")\n style {\n marginLeft(10.px)\n }\n }\n ) {\n // 🖌 Color map\n\n Label(\n forId = \"testNameDetection\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Test Name Detection:\")\n }\n Br()\n Button(\n attrs = {\n id(\"testNameDetection\")\n classes(\"btn\", if (isEnabled) \"btn-success\" else \"btn-secondary\")\n onClick {\n onButtonClicked()\n }\n type(ButtonType.Button)\n }\n ) {\n Text(if (isEnabled) \"ON\" else \"OFF\")\n }\n }\n}","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.attributes.selected\nimport org.jetbrains.compose.web.dom.*\n\n\n@Composable\nfun TestNames(\n testNames: List,\n currentTestName: String? = null,\n onTestNameChanged: (option: String) -> Unit\n){\n if(testNames.isNotEmpty()){\n Div(\n attrs = {\n classes(\"form-group\")\n }\n ) {\n Label(\n forId = \"testNames\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Test Name :\")\n }\n Select(\n attrs = {\n classes(\"form-select\")\n id(\"testNames\")\n onInput {\n it.value?.let { newTestName ->\n onTestNameChanged(newTestName)\n }\n }\n }\n ) {\n for (testName in testNames) {\n Option(\n value = testName,\n attrs = {\n if (testName == currentTestName) {\n selected()\n }\n }\n ) {\n Text(testName)\n }\n }\n }\n }\n }\n}","import org.jetbrains.compose.web.renderComposable\nimport page.home.HomePageUi\n\nconst val IS_INJECT_DUMMY = true\n\nfun main() {\n\n initChartSettings()\n renderComposable(rootElementId = \"root\") {\n HomePageUi()\n }\n}\n\nprivate fun initChartSettings() {\n Chart.register(\n ArcElement,\n LineElement,\n BarElement,\n PointElement,\n BarController,\n BubbleController,\n DoughnutController,\n LineController,\n PieController,\n PolarAreaController,\n RadarController,\n ScatterController,\n CategoryScale,\n LinearScale,\n LogarithmicScale,\n RadialLinearScale,\n TimeScale,\n TimeSeriesScale,\n Decimation,\n Filler,\n Legend,\n Title,\n Tooltip,\n SubTitle\n )\n}\n","package page.home\n\nimport androidx.compose.runtime.Composable\nimport androidx.compose.runtime.remember\nimport components.AutoGroup\nimport components.ChartUi\nimport components.EditableTitle\nimport components.ErrorUi\nimport components.FormUi\nimport components.Heading\nimport components.SummaryContainer\nimport components.SummarySelector\nimport components.TestNameDetectionToggle\nimport components.TestNames\nimport core.InputType\nimport org.jetbrains.compose.web.css.paddingBottom\nimport org.jetbrains.compose.web.css.paddingLeft\nimport org.jetbrains.compose.web.css.paddingRight\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.Br\nimport org.jetbrains.compose.web.dom.Div\nimport org.jetbrains.compose.web.dom.Form\nimport org.jetbrains.compose.web.dom.H3\nimport org.jetbrains.compose.web.dom.Text\nimport repo.BenchmarkRepoImpl\nimport repo.FormRepoImpl\n\n@Composable\nfun HomePageUi(\n viewModel: HomeViewModel = remember { HomeViewModel(BenchmarkRepoImpl(), FormRepoImpl()) }\n) {\n Div(\n attrs = {\n classes(\"container-fluid\")\n }\n ) {\n\n // Heading\n Heading()\n\n // Error\n if (viewModel.errorMsg.isNotBlank()) {\n ErrorUi(viewModel.errorMsg)\n }\n\n\n // Main\n Div(attrs = {\n classes(\"row\")\n style {\n paddingLeft(40.px)\n paddingRight(40.px)\n paddingBottom(40.px)\n }\n }) {\n Div(attrs = {\n classes(\"col-lg-4\")\n }) {\n FormUi(\n form = viewModel.form,\n shouldSelectUnsaved = viewModel.shouldSelectUnsaved,\n onFormChanged = viewModel::onFormChanged,\n onSaveClicked = viewModel::onSaveClicked,\n savedBenchmarks = viewModel.savedBenchmarks,\n onSavedBenchmarkChanged = viewModel::onSavedBenchmarkChanged,\n onLoadBenchmarkClicked = viewModel::onLoadBenchmarkClicked,\n onDeleteBenchmarkClicked = viewModel::onDeleteBenchmarkClicked,\n )\n\n Br()\n Br()\n\n SummaryContainer(\n selector = {\n println(\"block size ${viewModel.blockNames.size}\")\n if (viewModel.blockNames.size > 2) {\n SummarySelector(\n bestButtonLabel = \"BEST (-${viewModel.bestAggSummary?.sumOfGreen}${viewModel.unit})\",\n worstButtonLabel = \"WORST (+${viewModel.worstAggSummary?.sumOfRed}${viewModel.unit})\",\n onBestClicked = viewModel::onBestClicked,\n onWorstClicked = viewModel::onWorstClicked,\n blockNames = viewModel.blockNames,\n selectedBlockNameOne = viewModel.selectedBlockNameOne,\n selectedBlockNameTwo = viewModel.selectedBlockNameTwo,\n onBlockOneSelected = viewModel::onBlockNameOneChanged,\n onBlockTwoSelected = viewModel::onBlockNameTwoChanged\n )\n }\n },\n summaries = viewModel.summaries\n )\n }\n\n viewModel.chartsBundle?.charts?.takeIf { it.isNotEmpty() }?.let { fullChartsList ->\n val mainCharts = viewModel.chartsBundle ?: error(\"TSH\")\n Div(\n attrs = {\n classes(\"col-lg-8\")\n }\n ) {\n\n if (viewModel.isEditableTitleEnabled) {\n EditableTitle()\n } else {\n H3(\n attrs = {\n onDoubleClick {\n viewModel.onTitleDoubleClicked()\n }\n }\n ) {\n Text(\"🖥 Output\")\n }\n }\n\n // 🧪 ToolBar\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n Form {\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n\n Div(\n attrs = {\n classes(\"col-md-2\")\n }\n ) {\n AutoGroup(\n isEnabled = viewModel.form.isAutoGroupEnabled,\n onButtonClicked = viewModel::onToggleAutoGroupClicked\n )\n }\n\n if (viewModel.inputType == InputType.NORMAL_BENCHMARK) {\n Div(\n attrs = {\n classes(\"col-md-2\")\n }\n ) {\n TestNameDetectionToggle(\n isEnabled = viewModel.form.isTestNameDetectionEnabled,\n onButtonClicked = viewModel::onToggleTestNameDetectionClicked\n )\n }\n }\n\n if (viewModel.testNames.isNotEmpty()) {\n Div(\n attrs = {\n classes(\"col-md-4\")\n }\n ) {\n TestNames(\n testNames = viewModel.testNames,\n onTestNameChanged = { newTestName ->\n viewModel.onTestNameChanged(newTestName)\n }\n )\n }\n\n }\n\n }\n }\n }\n\n Br()\n val chunkedCharts = remember(fullChartsList) { fullChartsList.chunked(2) }\n\n\n // 📊 Charts\n for (charts in chunkedCharts) {\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n for (chart in charts) {\n // 📊 duration chart\n Div(attrs = {\n classes(chart.bsClass)\n }) {\n ChartUi(\n isColorMapEnabled = viewModel.form.isAutoGroupEnabled,\n groupMap = mainCharts.groupMap,\n chart = chart\n )\n }\n }\n }\n }\n }\n }\n\n\n }\n }\n}\n","package page.home\n\nimport androidx.compose.runtime.Stable\nimport androidx.compose.runtime.getValue\nimport androidx.compose.runtime.mutableStateListOf\nimport androidx.compose.runtime.mutableStateOf\nimport androidx.compose.runtime.setValue\nimport components.KEY_UNSAVED_BENCHMARK\nimport components.SavedBenchmarkNode\nimport components.Summary\nimport core.BenchmarkResult\nimport core.InputType\nimport core.toCharts\nimport core.toGenericChart\nimport kotlinx.browser.window\nimport model.ChartsBundle\nimport model.FormData\nimport repo.BenchmarkRepo\nimport repo.FormRepo\nimport utils.DefaultValues\nimport utils.SummaryUtils\n\nexternal fun setTimeout(handler: dynamic, timeout: Int): Int\nexternal fun clearTimeout(timeoutId: Int)\n\n\n@Stable\nclass HomeViewModel(\n private val benchmarkRepo: BenchmarkRepo,\n private val formRepo: FormRepo\n) {\n\n companion object {\n private const val ERROR_GENERIC = \"Something went wrong!\"\n\n // keys\n }\n\n var savedBenchmarks by mutableStateOf>(emptyList())\n private set\n\n // States\n private var currentTestName: String? = null\n\n var testNames = mutableStateListOf()\n private set\n\n var chartsBundle by mutableStateOf(null)\n private set\n\n var errorMsg by mutableStateOf(\"\")\n private set\n\n var isEditableTitleEnabled by mutableStateOf(false)\n private set\n\n var shouldSelectUnsaved by mutableStateOf(false)\n private set\n\n var selectedBlockNameOne by mutableStateOf(null)\n private set\n\n var selectedBlockNameTwo by mutableStateOf(null)\n private set\n\n var blockNames = mutableStateListOf()\n private set\n\n var summaries = mutableStateListOf()\n private set\n\n var inputType by mutableStateOf(null)\n private set\n\n var unit by mutableStateOf(\"\")\n private set\n\n var bestAggSummary by mutableStateOf(null)\n private set\n\n var worstAggSummary by mutableStateOf(null)\n private set\n\n var form by mutableStateOf(\n formRepo.getFormData() ?: FormData(\n DefaultValues.form,\n isTestNameDetectionEnabled = false,\n isAutoGroupEnabled = false\n )\n )\n private set\n\n init {\n refreshBenchmarks()\n }\n\n\n private fun refreshBenchmarks() {\n savedBenchmarks = benchmarkRepo.getSavedBenchmarks()\n }\n\n // Normal fields\n private val fullBenchmarkResults = mutableListOf()\n\n\n var timeoutId: Int? = null\n fun debounce(func: () -> Unit, delay: Int) {\n timeoutId?.let { clearTimeout(it) }\n timeoutId = setTimeout({\n func()\n }, delay)\n }\n\n fun onFormChanged(newForm: FormData, shouldSelectUnsaved: Boolean = true) {\n form = newForm\n formRepo.saveFormData(newForm)\n\n debounce(\n func = {\n\n this.shouldSelectUnsaved = shouldSelectUnsaved\n try {\n // clearing old data\n fullBenchmarkResults.clear()\n testNames.clear()\n\n // refill\n val (inputType, benchmarkResults) = BenchmarkResult.parse(newForm) ?: run {\n selectedBlockNameOne = null\n selectedBlockNameTwo = null\n blockNames.clear()\n chartsBundle = null\n updateSummary()\n summaries.clear()\n bestAggSummary = null\n worstAggSummary = null\n return@debounce\n }\n this.inputType = inputType\n fullBenchmarkResults.addAll(benchmarkResults)\n\n when (inputType) {\n InputType.GENERIC -> {\n val newCharts = fullBenchmarkResults.toGenericChart()\n chartsBundle = newCharts\n onChartsBundleUpdated(newCharts)\n unit = \"\"\n }\n\n InputType.NORMAL_BENCHMARK -> {\n\n testNames.addAll(fullBenchmarkResults.mapNotNull { it.testName }.toSet())\n\n val currentTestName = testNames.find { it == currentTestName } ?: testNames.firstOrNull()\n val filteredBenchmarkResult = if (currentTestName != null) {\n fullBenchmarkResults.filter { it.testName == currentTestName }\n } else {\n fullBenchmarkResults\n }\n val newCharts = filteredBenchmarkResult.toCharts()\n chartsBundle = newCharts\n onChartsBundleUpdated(newCharts)\n unit = \"ms\"\n }\n }\n\n\n calcAggSummary()\n errorMsg = \"\"\n } catch (e: Throwable) {\n summaries.clear()\n e.printStackTrace()\n errorMsg = e.message ?: ERROR_GENERIC\n }\n },\n 300\n )\n }\n\n private fun calcAggSummary() {\n val isGeneric = inputType == InputType.GENERIC\n val newAggSums = mutableListOf()\n for (blockNameOuter in blockNames) {\n for (blockNameInner in blockNames) {\n if(blockNameOuter==blockNameInner){\n continue\n }\n chartsBundle?.charts?.mapNotNull { chart ->\n SummaryUtils.getSummaryOrThrow(\n isGeneric = isGeneric,\n chart = chart,\n selectedBlockNameOne = blockNameOuter,\n selectedBlockNameTwo = blockNameInner\n )\n }?.let { summaries ->\n var greenSum = 0\n var redSum = 0\n for (summary in summaries) {\n for (node in summary.nodes) {\n when {\n node.diff > 0 -> {\n // bad\n redSum += node.diff.toInt()\n }\n node.diff < 0 -> {\n // green\n greenSum -= node.diff.toInt()\n }\n }\n }\n }\n newAggSums.add(AggSummary(blockNameOuter, blockNameInner, sumOfGreen = greenSum, sumOfRed = redSum))\n }\n }\n }\n\n bestAggSummary = newAggSums.maxByOrNull { it.sumOfGreen }\n worstAggSummary = newAggSums.maxByOrNull { it.sumOfRed }\n }\n\n private fun onChartsBundleUpdated(chartsBundle: ChartsBundle) {\n blockNames.clear()\n val blockNames = chartsBundle.groupMap.wordColorMap.keys.toList()\n this.blockNames.addAll(blockNames)\n if (blockNames.size >= 2) {\n selectedBlockNameOne = blockNames[0]\n selectedBlockNameTwo = blockNames[1]\n }\n updateSummary()\n }\n\n private fun updateSummary() {\n // Calculating duration summary\n summaries.clear()\n\n val isGeneric = inputType == InputType.GENERIC\n val allSummaries = chartsBundle?.charts?.mapNotNull { chart ->\n SummaryUtils.getSummaryOrThrow(\n isGeneric = isGeneric,\n chart = chart,\n selectedBlockNameOne = selectedBlockNameOne,\n selectedBlockNameTwo = selectedBlockNameTwo\n )\n }\n summaries.addAll(allSummaries ?: emptyList())\n }\n\n fun onTestNameChanged(newTestName: String) {\n try {\n currentTestName = newTestName\n val filteredBenchmarkResult = if (currentTestName != null) {\n fullBenchmarkResults.filter { it.testName == currentTestName }\n } else {\n fullBenchmarkResults\n }\n val newCharts = filteredBenchmarkResult.toCharts()\n chartsBundle = newCharts\n updateSummary()\n errorMsg = \"\"\n } catch (e: Throwable) {\n summaries.clear()\n e.printStackTrace()\n errorMsg = e.message ?: ERROR_GENERIC\n }\n }\n\n fun onTitleDoubleClicked() {\n isEditableTitleEnabled = true\n }\n\n fun onToggleAutoGroupClicked() {\n onFormChanged(form.copy(isAutoGroupEnabled = !form.isAutoGroupEnabled))\n }\n\n fun onToggleTestNameDetectionClicked() {\n onFormChanged(form.copy(isTestNameDetectionEnabled = !form.isTestNameDetectionEnabled))\n }\n\n fun onSaveClicked(formData: FormData) {\n val bName = window.prompt(\"Name: \")\n if (bName.isNullOrBlank()) {\n return\n }\n\n val isExist = savedBenchmarks.find { it.key == bName } != null\n if (isExist) {\n window.alert(\"Bruhh.. $bName exists! Try something else\")\n return\n }\n\n // Appending new benchmark\n val newList = savedBenchmarks.toMutableList().apply {\n add(\n index = 0,\n element = SavedBenchmarkNode(\n key = bName, value = formData.data\n )\n )\n }\n benchmarkRepo.saveBenchmarks(newList)\n shouldSelectUnsaved = false\n refreshBenchmarks()\n }\n\n fun onLoadBenchmarkClicked(savedBenchmarkNode: SavedBenchmarkNode) {\n val newForm = form.copy(data = savedBenchmarkNode.value)\n onFormChanged(newForm, shouldSelectUnsaved = false)\n }\n\n fun onDeleteBenchmarkClicked(deletedBenchmarkNode: SavedBenchmarkNode) {\n val isYes = window.confirm(\n \"Do you want to delete `${deletedBenchmarkNode.key}` ?\"\n )\n\n if (isYes) {\n benchmarkRepo.delete(deletedBenchmarkNode)\n shouldSelectUnsaved = true\n refreshBenchmarks()\n }\n }\n\n fun onSavedBenchmarkChanged(key: String) {\n shouldSelectUnsaved = key == KEY_UNSAVED_BENCHMARK\n if (shouldSelectUnsaved) {\n val newForm = formRepo.getFormData() ?: form\n onFormChanged(newForm, shouldSelectUnsaved = false)\n }\n }\n\n fun onBlockNameOneChanged(newBlockName: String) {\n selectedBlockNameOne = newBlockName\n updateSummary()\n }\n\n fun onBlockNameTwoChanged(newBlockName: String) {\n selectedBlockNameTwo = newBlockName\n updateSummary()\n }\n\n fun onBestClicked() {\n selectedBlockNameOne = bestAggSummary?.blockOneName\n selectedBlockNameTwo = bestAggSummary?.blockTwoName\n updateSummary()\n }\n\n fun onWorstClicked() {\n selectedBlockNameOne = worstAggSummary?.blockOneName\n selectedBlockNameTwo = worstAggSummary?.blockTwoName\n updateSummary()\n }\n}\n\ndata class AggSummary(\n val blockOneName: String,\n val blockTwoName: String,\n val sumOfGreen: Int,\n val sumOfRed: Int\n)\n","package repo\n\nimport components.SavedBenchmarkNode\nimport components.SavedBenchmarks\nimport kotlinx.browser.window\nimport kotlinx.serialization.decodeFromString\nimport kotlinx.serialization.encodeToString\nimport utils.JsonUtils\n\ninterface BenchmarkRepo {\n fun getSavedBenchmarks(): List\n fun saveBenchmarks(newList: List)\n fun delete(deletedBenchmarkNode: SavedBenchmarkNode)\n}\n\nclass BenchmarkRepoImpl : BenchmarkRepo {\n\n companion object {\n private const val KEY_SAVED_BENCHMARKS = \"savedBenchmarks\"\n }\n\n\n override fun getSavedBenchmarks(): List {\n val savedBenchmarksString = window.localStorage.getItem(KEY_SAVED_BENCHMARKS)\n val savedBenchmark = if (savedBenchmarksString == null) {\n // Creating first saved benchmark\n SavedBenchmarks(items = listOf())\n } else {\n println(\"JSON is '$savedBenchmarksString'\")\n try {\n JsonUtils.json.decodeFromString(savedBenchmarksString)\n }catch (e: Exception){\n e.printStackTrace()\n saveBenchmarks(listOf()) // reset\n SavedBenchmarks(items = listOf())\n }\n }\n\n return savedBenchmark.items.toList()\n }\n\n override fun saveBenchmarks(newList: List) {\n val savedBenchmarks = JsonUtils.json.encodeToString(SavedBenchmarks(newList))\n window.localStorage.setItem(KEY_SAVED_BENCHMARKS, savedBenchmarks)\n }\n\n override fun delete(deletedBenchmarkNode: SavedBenchmarkNode) {\n // Appending new benchmark\n val newList = getSavedBenchmarks().toMutableList().apply {\n removeAll { it.key == deletedBenchmarkNode.key }\n }\n saveBenchmarks(newList)\n }\n\n}","package repo\n\nimport kotlinx.browser.window\nimport model.FormData\n\ninterface FormRepo {\n fun saveFormData(newForm: FormData)\n fun getFormData(): FormData?\n}\n\nclass FormRepoImpl : FormRepo {\n companion object {\n private const val KEY_AUTO_FORM_INPUT = \"auto_form_input\"\n private const val KEY_IS_TEST_NAME_DETECTION_ENABLED = \"is_test_name_detection_enabled\"\n private const val KEY_IS_AUTO_GROUP_ENABLED = \"is_auto_group_enabled\"\n }\n\n override fun saveFormData(newForm: FormData) {\n window.localStorage.apply {\n setItem(KEY_AUTO_FORM_INPUT, newForm.data)\n setItem(KEY_IS_TEST_NAME_DETECTION_ENABLED, newForm.isTestNameDetectionEnabled.toString())\n setItem(KEY_IS_AUTO_GROUP_ENABLED, newForm.isAutoGroupEnabled.toString())\n }\n }\n\n override fun getFormData(): FormData? {\n val localStorage = window.localStorage\n val data = localStorage.getItem(KEY_AUTO_FORM_INPUT) ?: return null\n val isTestNameDetectionEnabled = localStorage.getItem(KEY_IS_TEST_NAME_DETECTION_ENABLED).toBoolean()\n val isAutoGroupEnabled = localStorage.getItem(KEY_IS_AUTO_GROUP_ENABLED).toBoolean()\n return FormData(data, isTestNameDetectionEnabled, isAutoGroupEnabled)\n }\n\n}","package utils\n\nobject DefaultValues {\n val form = \"\"\"\n - Before 1\n # first line will be treated as title of the block\n special chars will be stripped from the title\n HomeScrollBenchmark_scrollTest\n frameDurationCpuMs P50 40.5, P90 45.8, P95 60.4, P99 80.4\n frameOverrunMs P50 -5.9, P90 7.0, P95 20.1, P99 64.4\n Traces: Iteration 0 1 2 3 4\n\n ## Before 2\n # line breaks are used to separate the block\n HomeScrollBenchmark_scrollTest\n frameDurationCpuMs P50 45.5, P90 43.8, P95 58.4, P99 78.4\n frameOverrunMs P50 -6.5, P90 5.4, P95 15.0, P99 60.3\n Traces: Iteration 0 1 2 3 4\n\n After 1\n you can include whatever text you want anywhere you want\n HomeScrollBenchmark_scrollTest\n frameDurationCpuMs P50 13.6, P90 21.8, P95 27.5, P99 49.4\n the order doesn't matter\n frameOverrunMs P50 -6.2, P90 7.3, P95 19.5, P99 61.7\n Traces: Iteration 0 1 2 3 4\n\n > After 2\n HomeScrollBenchmark_scrollTest\n frameDurationCpuMs P50 13.8, P90 21.9, P95 27.3, P99 53.4\n see.. am some random text\n frameOverrunMs P50 -5.7, P90 7.4, P95 22.4, P99 63.2\n Traces: Iteration 0 1 2 3 4\n\"\"\".trimIndent()\n}","package utils\n\nimport kotlinx.serialization.json.Json\n\nobject JsonUtils {\n val json = Json {\n ignoreUnknownKeys = true\n }\n}",null,null,null,"package utils\n\nimport components.Summary\nimport components.SummaryNode\nimport core.SupportedMetrics\nimport model.Chart\nimport kotlin.math.absoluteValue\n\nobject SummaryUtils {\n\n fun getSummaryOrThrow(\n isGeneric: Boolean,\n chart: Chart,\n selectedBlockNameOne: String?,\n selectedBlockNameTwo: String?,\n ): Summary? {\n if (selectedBlockNameOne == null || selectedBlockNameTwo == null) {\n println(\"blank block name detected. skipping summary\")\n return null\n }\n\n val combinedMap = mutableMapOf>()\n val words = listOf(selectedBlockNameOne, selectedBlockNameTwo)\n println(\"words : $words\")\n for (word in words) {\n combinedMap[word] =\n chart.dataSets.filterKeys { it.startsWith(word) }.values.map { it.values.toFloatArray() }\n .let { arrays ->\n // Sum\n val newArray = mutableListOf().apply {\n repeat(chart.dataSets.values.first().size) {\n add(0f)\n }\n }\n for (array in arrays) {\n for (i in newArray.indices) {\n newArray[i] = newArray[i] + array[i]\n }\n }\n // Average\n for (i in newArray.indices) {\n newArray[i] = newArray[i] / arrays.size\n }\n newArray\n }\n }\n println(\"combinedMap : ${combinedMap.map { it.value.toList() }}\")\n\n val summaryNodes = mutableListOf()\n val segments = chart.dataSets.values.first().keys.toList()\n println(\"segments: $segments\")\n repeat(segments.size) { index ->\n val segment = segments[index]\n val after = combinedMap[words[1]]?.get(index) ?: 0f\n val before = combinedMap[words[0]]?.get(index) ?: 0f\n println(\"before : '$before' -> after: '$after'\")\n val diff = \"${(after - before).asDynamic().toFixed(2)}\".toFloat()\n val percDiff =\n \"${(((before - after) / before) * 100).asDynamic().toFixed(2)}\".toFloat().absoluteValue\n\n val resultWord = if (diff > 0) \"worse\" else \"better\"\n val symbol = if (diff > 0) \"+\" else \"\"\n val emoji = if (diff > 0) \"❌\" else \"✅\"\n\n summaryNodes.add(\n SummaryNode(\n isGeneric = isGeneric,\n emoji = emoji,\n segment = segment,\n label = words[1],\n percentage = percDiff,\n stateWord = resultWord,\n diff = diff,\n diffSymbol = symbol,\n after = \"${after.asDynamic().toFixed(2)}\".toFloat(),\n before = \"${before.asDynamic().toFixed(2)}\".toFloat()\n )\n )\n }\n val title = if (isGeneric) {\n \"📊$selectedBlockNameOne vs $selectedBlockNameTwo\"\n } else {\n val metricConfig = SupportedMetrics.values().find { it.key == chart.label }\n ?: error(\"Unsupported metric name `${chart.label}`\")\n \"${metricConfig.emoji} ${metricConfig.title}\"\n }\n\n return Summary(title = title, summaryNodes)\n }\n}",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nfunction noop() {}\nconst uid = (function() {\n let id = 0;\n return function() {\n return id++;\n };\n}());\nfunction isNullOrUndef(value) {\n return value === null || typeof value === 'undefined';\n}\nfunction isArray(value) {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n const type = Object.prototype.toString.call(value);\n if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') {\n return true;\n }\n return false;\n}\nfunction isObject(value) {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\nconst isNumberFinite = (value) => (typeof value === 'number' || value instanceof Number) && isFinite(+value);\nfunction finiteOrDefault(value, defaultValue) {\n return isNumberFinite(value) ? value : defaultValue;\n}\nfunction valueOrDefault(value, defaultValue) {\n return typeof value === 'undefined' ? defaultValue : value;\n}\nconst toPercentage = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100\n : value / dimension;\nconst toDimension = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100 * dimension\n : +value;\nfunction callback(fn, args, thisArg) {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n}\nfunction each(loopable, fn, thisArg, reverse) {\n let i, len, keys;\n if (isArray(loopable)) {\n len = loopable.length;\n if (reverse) {\n for (i = len - 1; i >= 0; i--) {\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n}\nfunction _elementsEqual(a0, a1) {\n let i, ilen, v0, v1;\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n for (i = 0, ilen = a0.length; i < ilen; ++i) {\n v0 = a0[i];\n v1 = a1[i];\n if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n return false;\n }\n }\n return true;\n}\nfunction clone$1(source) {\n if (isArray(source)) {\n return source.map(clone$1);\n }\n if (isObject(source)) {\n const target = Object.create(null);\n const keys = Object.keys(source);\n const klen = keys.length;\n let k = 0;\n for (; k < klen; ++k) {\n target[keys[k]] = clone$1(source[keys[k]]);\n }\n return target;\n }\n return source;\n}\nfunction isValidKey(key) {\n return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\n}\nfunction _merger(key, target, source, options) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n merge(tval, sval, options);\n } else {\n target[key] = clone$1(sval);\n }\n}\nfunction merge(target, source, options) {\n const sources = isArray(source) ? source : [source];\n const ilen = sources.length;\n if (!isObject(target)) {\n return target;\n }\n options = options || {};\n const merger = options.merger || _merger;\n for (let i = 0; i < ilen; ++i) {\n source = sources[i];\n if (!isObject(source)) {\n continue;\n }\n const keys = Object.keys(source);\n for (let k = 0, klen = keys.length; k < klen; ++k) {\n merger(keys[k], target, source, options);\n }\n }\n return target;\n}\nfunction mergeIf(target, source) {\n return merge(target, source, {merger: _mergerIf});\n}\nfunction _mergerIf(key, target, source) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n mergeIf(tval, sval);\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = clone$1(sval);\n }\n}\nfunction _deprecated(scope, value, previous, current) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous +\n\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\n }\n}\nconst keyResolvers = {\n '': v => v,\n x: o => o.x,\n y: o => o.y\n};\nfunction resolveObjectKey(obj, key) {\n const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key));\n return resolver(obj);\n}\nfunction _getKeyResolver(key) {\n const keys = _splitKey(key);\n return obj => {\n for (const k of keys) {\n if (k === '') {\n break;\n }\n obj = obj && obj[k];\n }\n return obj;\n };\n}\nfunction _splitKey(key) {\n const parts = key.split('.');\n const keys = [];\n let tmp = '';\n for (const part of parts) {\n tmp += part;\n if (tmp.endsWith('\\\\')) {\n tmp = tmp.slice(0, -1) + '.';\n } else {\n keys.push(tmp);\n tmp = '';\n }\n }\n return keys;\n}\nfunction _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nconst defined = (value) => typeof value !== 'undefined';\nconst isFunction = (value) => typeof value === 'function';\nconst setsEqual = (a, b) => {\n if (a.size !== b.size) {\n return false;\n }\n for (const item of a) {\n if (!b.has(item)) {\n return false;\n }\n }\n return true;\n};\nfunction _isClickEvent(e) {\n return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n\nconst PI = Math.PI;\nconst TAU = 2 * PI;\nconst PITAU = TAU + PI;\nconst INFINITY = Number.POSITIVE_INFINITY;\nconst RAD_PER_DEG = PI / 180;\nconst HALF_PI = PI / 2;\nconst QUARTER_PI = PI / 4;\nconst TWO_THIRDS_PI = PI * 2 / 3;\nconst log10 = Math.log10;\nconst sign = Math.sign;\nfunction niceNum(range) {\n const roundedRange = Math.round(range);\n range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n const niceRange = Math.pow(10, Math.floor(log10(range)));\n const fraction = range / niceRange;\n const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n return niceFraction * niceRange;\n}\nfunction _factorize(value) {\n const result = [];\n const sqrt = Math.sqrt(value);\n let i;\n for (i = 1; i < sqrt; i++) {\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n if (sqrt === (sqrt | 0)) {\n result.push(sqrt);\n }\n result.sort((a, b) => a - b).pop();\n return result;\n}\nfunction isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\nfunction almostEquals(x, y, epsilon) {\n return Math.abs(x - y) < epsilon;\n}\nfunction almostWhole(x, epsilon) {\n const rounded = Math.round(x);\n return ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x);\n}\nfunction _setMinAndMaxByKey(array, target, property) {\n let i, ilen, value;\n for (i = 0, ilen = array.length; i < ilen; i++) {\n value = array[i][property];\n if (!isNaN(value)) {\n target.min = Math.min(target.min, value);\n target.max = Math.max(target.max, value);\n }\n }\n}\nfunction toRadians(degrees) {\n return degrees * (PI / 180);\n}\nfunction toDegrees(radians) {\n return radians * (180 / PI);\n}\nfunction _decimalPlaces(x) {\n if (!isNumberFinite(x)) {\n return;\n }\n let e = 1;\n let p = 0;\n while (Math.round(x * e) / e !== x) {\n e *= 10;\n p++;\n }\n return p;\n}\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n const distanceFromXCenter = anglePoint.x - centrePoint.x;\n const distanceFromYCenter = anglePoint.y - centrePoint.y;\n const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n if (angle < (-0.5 * PI)) {\n angle += TAU;\n }\n return {\n angle,\n distance: radialDistanceFromCenter\n };\n}\nfunction distanceBetweenPoints(pt1, pt2) {\n return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\nfunction _angleDiff(a, b) {\n return (a - b + PITAU) % TAU - PI;\n}\nfunction _normalizeAngle(a) {\n return (a % TAU + TAU) % TAU;\n}\nfunction _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n const a = _normalizeAngle(angle);\n const s = _normalizeAngle(start);\n const e = _normalizeAngle(end);\n const angleToStart = _normalizeAngle(s - a);\n const angleToEnd = _normalizeAngle(e - a);\n const startToAngle = _normalizeAngle(a - s);\n const endToAngle = _normalizeAngle(a - e);\n return a === s || a === e || (sameAngleIsFullCircle && s === e)\n || (angleToStart > angleToEnd && startToAngle < endToAngle);\n}\nfunction _limitValue(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\nfunction _int16Range(value) {\n return _limitValue(value, -32768, 32767);\n}\nfunction _isBetween(value, start, end, epsilon = 1e-6) {\n return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n\nfunction _lookup(table, value, cmp) {\n cmp = cmp || ((index) => table[index] < value);\n let hi = table.length - 1;\n let lo = 0;\n let mid;\n while (hi - lo > 1) {\n mid = (lo + hi) >> 1;\n if (cmp(mid)) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return {lo, hi};\n}\nconst _lookupByKey = (table, key, value, last) =>\n _lookup(table, value, last\n ? index => table[index][key] <= value\n : index => table[index][key] < value);\nconst _rlookupByKey = (table, key, value) =>\n _lookup(table, value, index => table[index][key] >= value);\nfunction _filterBetween(values, min, max) {\n let start = 0;\n let end = values.length;\n while (start < end && values[start] < min) {\n start++;\n }\n while (end > start && values[end - 1] > max) {\n end--;\n }\n return start > 0 || end < values.length\n ? values.slice(start, end)\n : values;\n}\nconst arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\nfunction listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n return;\n }\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [listener]\n }\n });\n arrayEvents.forEach((key) => {\n const method = '_onData' + _capitalize(key);\n const base = array[key];\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value(...args) {\n const res = base.apply(this, args);\n array._chartjs.listeners.forEach((object) => {\n if (typeof object[method] === 'function') {\n object[method](...args);\n }\n });\n return res;\n }\n });\n });\n}\nfunction unlistenArrayEvents(array, listener) {\n const stub = array._chartjs;\n if (!stub) {\n return;\n }\n const listeners = stub.listeners;\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n if (listeners.length > 0) {\n return;\n }\n arrayEvents.forEach((key) => {\n delete array[key];\n });\n delete array._chartjs;\n}\nfunction _arrayUnique(items) {\n const set = new Set();\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n set.add(items[i]);\n }\n if (set.size === ilen) {\n return items;\n }\n return Array.from(set);\n}\n\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\nconst requestAnimFrame = (function() {\n if (typeof window === 'undefined') {\n return function(callback) {\n return callback();\n };\n }\n return window.requestAnimationFrame;\n}());\nfunction throttled(fn, thisArg, updateFn) {\n const updateArgs = updateFn || ((args) => Array.prototype.slice.call(args));\n let ticking = false;\n let args = [];\n return function(...rest) {\n args = updateArgs(rest);\n if (!ticking) {\n ticking = true;\n requestAnimFrame.call(window, () => {\n ticking = false;\n fn.apply(thisArg, args);\n });\n }\n };\n}\nfunction debounce(fn, delay) {\n let timeout;\n return function(...args) {\n if (delay) {\n clearTimeout(timeout);\n timeout = setTimeout(fn, delay, args);\n } else {\n fn.apply(this, args);\n }\n return delay;\n };\n}\nconst _toLeftRightCenter = (align) => align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\nconst _alignStartEnd = (align, start, end) => align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\nconst _textX = (align, left, right, rtl) => {\n const check = rtl ? 'left' : 'right';\n return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\nfunction _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n const pointCount = points.length;\n let start = 0;\n let count = pointCount;\n if (meta._sorted) {\n const {iScale, _parsed} = meta;\n const axis = iScale.axis;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(Math.min(\n _lookupByKey(_parsed, iScale.axis, min).lo,\n animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo),\n 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(Math.max(\n _lookupByKey(_parsed, iScale.axis, max, true).hi + 1,\n animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1),\n start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n }\n return {start, count};\n}\nfunction _scaleRangesChanged(meta) {\n const {xScale, yScale, _scaleRanges} = meta;\n const newRanges = {\n xmin: xScale.min,\n xmax: xScale.max,\n ymin: yScale.min,\n ymax: yScale.max\n };\n if (!_scaleRanges) {\n meta._scaleRanges = newRanges;\n return true;\n }\n const changed = _scaleRanges.xmin !== xScale.min\n\t\t|| _scaleRanges.xmax !== xScale.max\n\t\t|| _scaleRanges.ymin !== yScale.min\n\t\t|| _scaleRanges.ymax !== yScale.max;\n Object.assign(_scaleRanges, newRanges);\n return changed;\n}\n\nconst atEdge = (t) => t === 0 || t === 1;\nconst elasticIn = (t, s, p) => -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t, s, p) => Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\nconst effects = {\n linear: t => t,\n easeInQuad: t => t * t,\n easeOutQuad: t => -t * (t - 2),\n easeInOutQuad: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t\n : -0.5 * ((--t) * (t - 2) - 1),\n easeInCubic: t => t * t * t,\n easeOutCubic: t => (t -= 1) * t * t + 1,\n easeInOutCubic: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t\n : 0.5 * ((t -= 2) * t * t + 2),\n easeInQuart: t => t * t * t * t,\n easeOutQuart: t => -((t -= 1) * t * t * t - 1),\n easeInOutQuart: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t\n : -0.5 * ((t -= 2) * t * t * t - 2),\n easeInQuint: t => t * t * t * t * t,\n easeOutQuint: t => (t -= 1) * t * t * t * t + 1,\n easeInOutQuint: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t * t\n : 0.5 * ((t -= 2) * t * t * t * t + 2),\n easeInSine: t => -Math.cos(t * HALF_PI) + 1,\n easeOutSine: t => Math.sin(t * HALF_PI),\n easeInOutSine: t => -0.5 * (Math.cos(PI * t) - 1),\n easeInExpo: t => (t === 0) ? 0 : Math.pow(2, 10 * (t - 1)),\n easeOutExpo: t => (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1,\n easeInOutExpo: t => atEdge(t) ? t : t < 0.5\n ? 0.5 * Math.pow(2, 10 * (t * 2 - 1))\n : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n easeInCirc: t => (t >= 1) ? t : -(Math.sqrt(1 - t * t) - 1),\n easeOutCirc: t => Math.sqrt(1 - (t -= 1) * t),\n easeInOutCirc: t => ((t /= 0.5) < 1)\n ? -0.5 * (Math.sqrt(1 - t * t) - 1)\n : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n easeInElastic: t => atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n easeOutElastic: t => atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n easeInOutElastic(t) {\n const s = 0.1125;\n const p = 0.45;\n return atEdge(t) ? t :\n t < 0.5\n ? 0.5 * elasticIn(t * 2, s, p)\n : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n },\n easeInBack(t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n easeOutBack(t) {\n const s = 1.70158;\n return (t -= 1) * t * ((s + 1) * t + s) + 1;\n },\n easeInOutBack(t) {\n let s = 1.70158;\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\n }\n return 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n },\n easeInBounce: t => 1 - effects.easeOutBounce(1 - t),\n easeOutBounce(t) {\n const m = 7.5625;\n const d = 2.75;\n if (t < (1 / d)) {\n return m * t * t;\n }\n if (t < (2 / d)) {\n return m * (t -= (1.5 / d)) * t + 0.75;\n }\n if (t < (2.5 / d)) {\n return m * (t -= (2.25 / d)) * t + 0.9375;\n }\n return m * (t -= (2.625 / d)) * t + 0.984375;\n },\n easeInOutBounce: t => (t < 0.5)\n ? effects.easeInBounce(t * 2) * 0.5\n : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5,\n};\n\n/*!\n * @kurkle/color v0.2.1\n * https://github.com/kurkle/color#readme\n * (c) 2022 Jukka Kurkela\n * Released under the MIT License\n */\nfunction round(v) {\n return v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n return lim(round(v * 2.55), 0, 255);\n}\nfunction n2b(v) {\n return lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n return lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n return lim(round(v * 100), 0, 100);\n}\nconst map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = [...'0123456789ABCDEF'];\nconst h1 = b => hex[b & 0xF];\nconst h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = b => ((b & 0xF0) >> 4) === (b & 0xF);\nconst isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\nfunction hexParse(str) {\n var len = str.length;\n var ret;\n if (str[0] === '#') {\n if (len === 4 || len === 5) {\n ret = {\n r: 255 & map$1[str[1]] * 17,\n g: 255 & map$1[str[2]] * 17,\n b: 255 & map$1[str[3]] * 17,\n a: len === 5 ? map$1[str[4]] * 17 : 255\n };\n } else if (len === 7 || len === 9) {\n ret = {\n r: map$1[str[1]] << 4 | map$1[str[2]],\n g: map$1[str[3]] << 4 | map$1[str[4]],\n b: map$1[str[5]] << 4 | map$1[str[6]],\n a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255\n };\n }\n }\n return ret;\n}\nconst alpha = (a, f) => a < 255 ? f(a) : '';\nfunction hexString(v) {\n var f = isShort(v) ? h1 : h2;\n return v\n ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f)\n : undefined;\n}\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n return [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n const rgb = hsl2rgbn(h, 1, 0.5);\n let i;\n if (w + b > 1) {\n i = 1 / (w + b);\n w *= i;\n b *= i;\n }\n for (i = 0; i < 3; i++) {\n rgb[i] *= 1 - w - b;\n rgb[i] += w;\n }\n return rgb;\n}\nfunction hueValue(r, g, b, d, max) {\n if (r === max) {\n return ((g - b) / d) + (g < b ? 6 : 0);\n }\n if (g === max) {\n return (b - r) / d + 2;\n }\n return (r - g) / d + 4;\n}\nfunction rgb2hsl(v) {\n const range = 255;\n const r = v.r / range;\n const g = v.g / range;\n const b = v.b / range;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n let h, s, d;\n if (max !== min) {\n d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n h = hueValue(r, g, b, d, max);\n h = h * 60 + 0.5;\n }\n return [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n return (\n Array.isArray(a)\n ? f(a[0], a[1], a[2])\n : f(a, b, c)\n ).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n return calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n return calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n return calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n return (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n const m = HUE_RE.exec(str);\n let a = 255;\n let v;\n if (!m) {\n return;\n }\n if (m[5] !== v) {\n a = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n }\n const h = hue(+m[2]);\n const p1 = +m[3] / 100;\n const p2 = +m[4] / 100;\n if (m[1] === 'hwb') {\n v = hwb2rgb(h, p1, p2);\n } else if (m[1] === 'hsv') {\n v = hsv2rgb(h, p1, p2);\n } else {\n v = hsl2rgb(h, p1, p2);\n }\n return {\n r: v[0],\n g: v[1],\n b: v[2],\n a: a\n };\n}\nfunction rotate(v, deg) {\n var h = rgb2hsl(v);\n h[0] = hue(h[0] + deg);\n h = hsl2rgb(h);\n v.r = h[0];\n v.g = h[1];\n v.b = h[2];\n}\nfunction hslString(v) {\n if (!v) {\n return;\n }\n const a = rgb2hsl(v);\n const h = a[0];\n const s = n2p(a[1]);\n const l = n2p(a[2]);\n return v.a < 255\n ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n : `hsl(${h}, ${s}%, ${l}%)`;\n}\nconst map = {\n x: 'dark',\n Z: 'light',\n Y: 're',\n X: 'blu',\n W: 'gr',\n V: 'medium',\n U: 'slate',\n A: 'ee',\n T: 'ol',\n S: 'or',\n B: 'ra',\n C: 'lateg',\n D: 'ights',\n R: 'in',\n Q: 'turquois',\n E: 'hi',\n P: 'ro',\n O: 'al',\n N: 'le',\n M: 'de',\n L: 'yello',\n F: 'en',\n K: 'ch',\n G: 'arks',\n H: 'ea',\n I: 'ightg',\n J: 'wh'\n};\nconst names$1 = {\n OiceXe: 'f0f8ff',\n antiquewEte: 'faebd7',\n aqua: 'ffff',\n aquamarRe: '7fffd4',\n azuY: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '0',\n blanKedOmond: 'ffebcd',\n Xe: 'ff',\n XeviTet: '8a2be2',\n bPwn: 'a52a2a',\n burlywood: 'deb887',\n caMtXe: '5f9ea0',\n KartYuse: '7fff00',\n KocTate: 'd2691e',\n cSO: 'ff7f50',\n cSnflowerXe: '6495ed',\n cSnsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: 'ffff',\n xXe: '8b',\n xcyan: '8b8b',\n xgTMnPd: 'b8860b',\n xWay: 'a9a9a9',\n xgYF: '6400',\n xgYy: 'a9a9a9',\n xkhaki: 'bdb76b',\n xmagFta: '8b008b',\n xTivegYF: '556b2f',\n xSange: 'ff8c00',\n xScEd: '9932cc',\n xYd: '8b0000',\n xsOmon: 'e9967a',\n xsHgYF: '8fbc8f',\n xUXe: '483d8b',\n xUWay: '2f4f4f',\n xUgYy: '2f4f4f',\n xQe: 'ced1',\n xviTet: '9400d3',\n dAppRk: 'ff1493',\n dApskyXe: 'bfff',\n dimWay: '696969',\n dimgYy: '696969',\n dodgerXe: '1e90ff',\n fiYbrick: 'b22222',\n flSOwEte: 'fffaf0',\n foYstWAn: '228b22',\n fuKsia: 'ff00ff',\n gaRsbSo: 'dcdcdc',\n ghostwEte: 'f8f8ff',\n gTd: 'ffd700',\n gTMnPd: 'daa520',\n Way: '808080',\n gYF: '8000',\n gYFLw: 'adff2f',\n gYy: '808080',\n honeyMw: 'f0fff0',\n hotpRk: 'ff69b4',\n RdianYd: 'cd5c5c',\n Rdigo: '4b0082',\n ivSy: 'fffff0',\n khaki: 'f0e68c',\n lavFMr: 'e6e6fa',\n lavFMrXsh: 'fff0f5',\n lawngYF: '7cfc00',\n NmoncEffon: 'fffacd',\n ZXe: 'add8e6',\n ZcSO: 'f08080',\n Zcyan: 'e0ffff',\n ZgTMnPdLw: 'fafad2',\n ZWay: 'd3d3d3',\n ZgYF: '90ee90',\n ZgYy: 'd3d3d3',\n ZpRk: 'ffb6c1',\n ZsOmon: 'ffa07a',\n ZsHgYF: '20b2aa',\n ZskyXe: '87cefa',\n ZUWay: '778899',\n ZUgYy: '778899',\n ZstAlXe: 'b0c4de',\n ZLw: 'ffffe0',\n lime: 'ff00',\n limegYF: '32cd32',\n lRF: 'faf0e6',\n magFta: 'ff00ff',\n maPon: '800000',\n VaquamarRe: '66cdaa',\n VXe: 'cd',\n VScEd: 'ba55d3',\n VpurpN: '9370db',\n VsHgYF: '3cb371',\n VUXe: '7b68ee',\n VsprRggYF: 'fa9a',\n VQe: '48d1cc',\n VviTetYd: 'c71585',\n midnightXe: '191970',\n mRtcYam: 'f5fffa',\n mistyPse: 'ffe4e1',\n moccasR: 'ffe4b5',\n navajowEte: 'ffdead',\n navy: '80',\n Tdlace: 'fdf5e6',\n Tive: '808000',\n TivedBb: '6b8e23',\n Sange: 'ffa500',\n SangeYd: 'ff4500',\n ScEd: 'da70d6',\n pOegTMnPd: 'eee8aa',\n pOegYF: '98fb98',\n pOeQe: 'afeeee',\n pOeviTetYd: 'db7093',\n papayawEp: 'ffefd5',\n pHKpuff: 'ffdab9',\n peru: 'cd853f',\n pRk: 'ffc0cb',\n plum: 'dda0dd',\n powMrXe: 'b0e0e6',\n purpN: '800080',\n YbeccapurpN: '663399',\n Yd: 'ff0000',\n Psybrown: 'bc8f8f',\n PyOXe: '4169e1',\n saddNbPwn: '8b4513',\n sOmon: 'fa8072',\n sandybPwn: 'f4a460',\n sHgYF: '2e8b57',\n sHshell: 'fff5ee',\n siFna: 'a0522d',\n silver: 'c0c0c0',\n skyXe: '87ceeb',\n UXe: '6a5acd',\n UWay: '708090',\n UgYy: '708090',\n snow: 'fffafa',\n sprRggYF: 'ff7f',\n stAlXe: '4682b4',\n tan: 'd2b48c',\n teO: '8080',\n tEstN: 'd8bfd8',\n tomato: 'ff6347',\n Qe: '40e0d0',\n viTet: 'ee82ee',\n JHt: 'f5deb3',\n wEte: 'ffffff',\n wEtesmoke: 'f5f5f5',\n Lw: 'ffff00',\n LwgYF: '9acd32'\n};\nfunction unpack() {\n const unpacked = {};\n const keys = Object.keys(names$1);\n const tkeys = Object.keys(map);\n let i, j, k, ok, nk;\n for (i = 0; i < keys.length; i++) {\n ok = nk = keys[i];\n for (j = 0; j < tkeys.length; j++) {\n k = tkeys[j];\n nk = nk.replace(k, map[k]);\n }\n k = parseInt(names$1[ok], 16);\n unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n }\n return unpacked;\n}\nlet names;\nfunction nameParse(str) {\n if (!names) {\n names = unpack();\n names.transparent = [0, 0, 0, 0];\n }\n const a = names[str.toLowerCase()];\n return a && {\n r: a[0],\n g: a[1],\n b: a[2],\n a: a.length === 4 ? a[3] : 255\n };\n}\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n const m = RGB_RE.exec(str);\n let a = 255;\n let r, g, b;\n if (!m) {\n return;\n }\n if (m[7] !== r) {\n const v = +m[7];\n a = m[8] ? p2b(v) : lim(v * 255, 0, 255);\n }\n r = +m[1];\n g = +m[3];\n b = +m[5];\n r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255));\n g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255));\n b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255));\n return {\n r: r,\n g: g,\n b: b,\n a: a\n };\n}\nfunction rgbString(v) {\n return v && (\n v.a < 255\n ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n : `rgb(${v.r}, ${v.g}, ${v.b})`\n );\n}\nconst to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055;\nconst from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\nfunction interpolate(rgb1, rgb2, t) {\n const r = from(b2n(rgb1.r));\n const g = from(b2n(rgb1.g));\n const b = from(b2n(rgb1.b));\n return {\n r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n a: rgb1.a + t * (rgb2.a - rgb1.a)\n };\n}\nfunction modHSL(v, i, ratio) {\n if (v) {\n let tmp = rgb2hsl(v);\n tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n tmp = hsl2rgb(tmp);\n v.r = tmp[0];\n v.g = tmp[1];\n v.b = tmp[2];\n }\n}\nfunction clone(v, proto) {\n return v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n var v = {r: 0, g: 0, b: 0, a: 255};\n if (Array.isArray(input)) {\n if (input.length >= 3) {\n v = {r: input[0], g: input[1], b: input[2], a: 255};\n if (input.length > 3) {\n v.a = n2b(input[3]);\n }\n }\n } else {\n v = clone(input, {r: 0, g: 0, b: 0, a: 1});\n v.a = n2b(v.a);\n }\n return v;\n}\nfunction functionParse(str) {\n if (str.charAt(0) === 'r') {\n return rgbParse(str);\n }\n return hueParse(str);\n}\nclass Color {\n constructor(input) {\n if (input instanceof Color) {\n return input;\n }\n const type = typeof input;\n let v;\n if (type === 'object') {\n v = fromObject(input);\n } else if (type === 'string') {\n v = hexParse(input) || nameParse(input) || functionParse(input);\n }\n this._rgb = v;\n this._valid = !!v;\n }\n get valid() {\n return this._valid;\n }\n get rgb() {\n var v = clone(this._rgb);\n if (v) {\n v.a = b2n(v.a);\n }\n return v;\n }\n set rgb(obj) {\n this._rgb = fromObject(obj);\n }\n rgbString() {\n return this._valid ? rgbString(this._rgb) : undefined;\n }\n hexString() {\n return this._valid ? hexString(this._rgb) : undefined;\n }\n hslString() {\n return this._valid ? hslString(this._rgb) : undefined;\n }\n mix(color, weight) {\n if (color) {\n const c1 = this.rgb;\n const c2 = color.rgb;\n let w2;\n const p = weight === w2 ? 0.5 : weight;\n const w = 2 * p - 1;\n const a = c1.a - c2.a;\n const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n w2 = 1 - w1;\n c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n c1.a = p * c1.a + (1 - p) * c2.a;\n this.rgb = c1;\n }\n return this;\n }\n interpolate(color, t) {\n if (color) {\n this._rgb = interpolate(this._rgb, color._rgb, t);\n }\n return this;\n }\n clone() {\n return new Color(this.rgb);\n }\n alpha(a) {\n this._rgb.a = n2b(a);\n return this;\n }\n clearer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 - ratio;\n return this;\n }\n greyscale() {\n const rgb = this._rgb;\n const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n rgb.r = rgb.g = rgb.b = val;\n return this;\n }\n opaquer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 + ratio;\n return this;\n }\n negate() {\n const v = this._rgb;\n v.r = 255 - v.r;\n v.g = 255 - v.g;\n v.b = 255 - v.b;\n return this;\n }\n lighten(ratio) {\n modHSL(this._rgb, 2, ratio);\n return this;\n }\n darken(ratio) {\n modHSL(this._rgb, 2, -ratio);\n return this;\n }\n saturate(ratio) {\n modHSL(this._rgb, 1, ratio);\n return this;\n }\n desaturate(ratio) {\n modHSL(this._rgb, 1, -ratio);\n return this;\n }\n rotate(deg) {\n rotate(this._rgb, deg);\n return this;\n }\n}\nfunction index_esm(input) {\n return new Color(input);\n}\n\nfunction isPatternOrGradient(value) {\n if (value && typeof value === 'object') {\n const type = value.toString();\n return type === '[object CanvasPattern]' || type === '[object CanvasGradient]';\n }\n return false;\n}\nfunction color(value) {\n return isPatternOrGradient(value) ? value : index_esm(value);\n}\nfunction getHoverColor(value) {\n return isPatternOrGradient(value)\n ? value\n : index_esm(value).saturate(0.5).darken(0.1).hexString();\n}\n\nconst overrides = Object.create(null);\nconst descriptors = Object.create(null);\nfunction getScope$1(node, key) {\n if (!key) {\n return node;\n }\n const keys = key.split('.');\n for (let i = 0, n = keys.length; i < n; ++i) {\n const k = keys[i];\n node = node[k] || (node[k] = Object.create(null));\n }\n return node;\n}\nfunction set(root, scope, values) {\n if (typeof scope === 'string') {\n return merge(getScope$1(root, scope), values);\n }\n return merge(getScope$1(root, ''), scope);\n}\nclass Defaults {\n constructor(_descriptors) {\n this.animation = undefined;\n this.backgroundColor = 'rgba(0,0,0,0.1)';\n this.borderColor = 'rgba(0,0,0,0.1)';\n this.color = '#666';\n this.datasets = {};\n this.devicePixelRatio = (context) => context.chart.platform.getDevicePixelRatio();\n this.elements = {};\n this.events = [\n 'mousemove',\n 'mouseout',\n 'click',\n 'touchstart',\n 'touchmove'\n ];\n this.font = {\n family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n size: 12,\n style: 'normal',\n lineHeight: 1.2,\n weight: null\n };\n this.hover = {};\n this.hoverBackgroundColor = (ctx, options) => getHoverColor(options.backgroundColor);\n this.hoverBorderColor = (ctx, options) => getHoverColor(options.borderColor);\n this.hoverColor = (ctx, options) => getHoverColor(options.color);\n this.indexAxis = 'x';\n this.interaction = {\n mode: 'nearest',\n intersect: true,\n includeInvisible: false\n };\n this.maintainAspectRatio = true;\n this.onHover = null;\n this.onClick = null;\n this.parsing = true;\n this.plugins = {};\n this.responsive = true;\n this.scale = undefined;\n this.scales = {};\n this.showLine = true;\n this.drawActiveElementsOnTop = true;\n this.describe(_descriptors);\n }\n set(scope, values) {\n return set(this, scope, values);\n }\n get(scope) {\n return getScope$1(this, scope);\n }\n describe(scope, values) {\n return set(descriptors, scope, values);\n }\n override(scope, values) {\n return set(overrides, scope, values);\n }\n route(scope, name, targetScope, targetName) {\n const scopeObject = getScope$1(this, scope);\n const targetScopeObject = getScope$1(this, targetScope);\n const privateName = '_' + name;\n Object.defineProperties(scopeObject, {\n [privateName]: {\n value: scopeObject[name],\n writable: true\n },\n [name]: {\n enumerable: true,\n get() {\n const local = this[privateName];\n const target = targetScopeObject[targetName];\n if (isObject(local)) {\n return Object.assign({}, target, local);\n }\n return valueOrDefault(local, target);\n },\n set(value) {\n this[privateName] = value;\n }\n }\n });\n }\n}\nvar defaults = new Defaults({\n _scriptable: (name) => !name.startsWith('on'),\n _indexable: (name) => name !== 'events',\n hover: {\n _fallback: 'interaction'\n },\n interaction: {\n _scriptable: false,\n _indexable: false,\n }\n});\n\nfunction toFontString(font) {\n if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n return null;\n }\n return (font.style ? font.style + ' ' : '')\n\t\t+ (font.weight ? font.weight + ' ' : '')\n\t\t+ font.size + 'px '\n\t\t+ font.family;\n}\nfunction _measureText(ctx, data, gc, longest, string) {\n let textWidth = data[string];\n if (!textWidth) {\n textWidth = data[string] = ctx.measureText(string).width;\n gc.push(string);\n }\n if (textWidth > longest) {\n longest = textWidth;\n }\n return longest;\n}\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n cache = cache || {};\n let data = cache.data = cache.data || {};\n let gc = cache.garbageCollect = cache.garbageCollect || [];\n if (cache.font !== font) {\n data = cache.data = {};\n gc = cache.garbageCollect = [];\n cache.font = font;\n }\n ctx.save();\n ctx.font = font;\n let longest = 0;\n const ilen = arrayOfThings.length;\n let i, j, jlen, thing, nestedThing;\n for (i = 0; i < ilen; i++) {\n thing = arrayOfThings[i];\n if (thing !== undefined && thing !== null && isArray(thing) !== true) {\n longest = _measureText(ctx, data, gc, longest, thing);\n } else if (isArray(thing)) {\n for (j = 0, jlen = thing.length; j < jlen; j++) {\n nestedThing = thing[j];\n if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n longest = _measureText(ctx, data, gc, longest, nestedThing);\n }\n }\n }\n }\n ctx.restore();\n const gcLen = gc.length / 2;\n if (gcLen > arrayOfThings.length) {\n for (i = 0; i < gcLen; i++) {\n delete data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n return longest;\n}\nfunction _alignPixel(chart, pixel, width) {\n const devicePixelRatio = chart.currentDevicePixelRatio;\n const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\nfunction clearCanvas(canvas, ctx) {\n ctx = ctx || canvas.getContext('2d');\n ctx.save();\n ctx.resetTransform();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n}\nfunction drawPoint(ctx, options, x, y) {\n drawPointLegend(ctx, options, x, y, null);\n}\nfunction drawPointLegend(ctx, options, x, y, w) {\n let type, xOffset, yOffset, size, cornerRadius, width;\n const style = options.pointStyle;\n const rotation = options.rotation;\n const radius = options.radius;\n let rad = (rotation || 0) * RAD_PER_DEG;\n if (style && typeof style === 'object') {\n type = style.toString();\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n ctx.beginPath();\n switch (style) {\n default:\n if (w) {\n ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU);\n } else {\n ctx.arc(x, y, radius, 0, TAU);\n }\n ctx.closePath();\n break;\n case 'triangle':\n ctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n ctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n width = w ? w / 2 : size;\n ctx.rect(x - width, y - size, 2 * width, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n case 'rectRot':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + yOffset, y - xOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n case 'cross':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'star':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n rad += QUARTER_PI;\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'line':\n xOffset = w ? w / 2 : Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\n break;\n }\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n}\nfunction _isPointInArea(point, area, margin) {\n margin = margin || 0.5;\n return !area || (point && point.x > area.left - margin && point.x < area.right + margin &&\n\t\tpoint.y > area.top - margin && point.y < area.bottom + margin);\n}\nfunction clipArea(ctx, area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n}\nfunction unclipArea(ctx) {\n ctx.restore();\n}\nfunction _steppedLineTo(ctx, previous, target, flip, mode) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n if (mode === 'middle') {\n const midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, previous.y);\n ctx.lineTo(midpoint, target.y);\n } else if (mode === 'after' !== !!flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n ctx.lineTo(target.x, target.y);\n}\nfunction _bezierCurveTo(ctx, previous, target, flip) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n ctx.bezierCurveTo(\n flip ? previous.cp1x : previous.cp2x,\n flip ? previous.cp1y : previous.cp2y,\n flip ? target.cp2x : target.cp1x,\n flip ? target.cp2y : target.cp1y,\n target.x,\n target.y);\n}\nfunction renderText(ctx, text, x, y, font, opts = {}) {\n const lines = isArray(text) ? text : [text];\n const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n let i, line;\n ctx.save();\n ctx.font = font.string;\n setRenderOpts(ctx, opts);\n for (i = 0; i < lines.length; ++i) {\n line = lines[i];\n if (stroke) {\n if (opts.strokeColor) {\n ctx.strokeStyle = opts.strokeColor;\n }\n if (!isNullOrUndef(opts.strokeWidth)) {\n ctx.lineWidth = opts.strokeWidth;\n }\n ctx.strokeText(line, x, y, opts.maxWidth);\n }\n ctx.fillText(line, x, y, opts.maxWidth);\n decorateText(ctx, x, y, line, opts);\n y += font.lineHeight;\n }\n ctx.restore();\n}\nfunction setRenderOpts(ctx, opts) {\n if (opts.translation) {\n ctx.translate(opts.translation[0], opts.translation[1]);\n }\n if (!isNullOrUndef(opts.rotation)) {\n ctx.rotate(opts.rotation);\n }\n if (opts.color) {\n ctx.fillStyle = opts.color;\n }\n if (opts.textAlign) {\n ctx.textAlign = opts.textAlign;\n }\n if (opts.textBaseline) {\n ctx.textBaseline = opts.textBaseline;\n }\n}\nfunction decorateText(ctx, x, y, line, opts) {\n if (opts.strikethrough || opts.underline) {\n const metrics = ctx.measureText(line);\n const left = x - metrics.actualBoundingBoxLeft;\n const right = x + metrics.actualBoundingBoxRight;\n const top = y - metrics.actualBoundingBoxAscent;\n const bottom = y + metrics.actualBoundingBoxDescent;\n const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n ctx.strokeStyle = ctx.fillStyle;\n ctx.beginPath();\n ctx.lineWidth = opts.decorationWidth || 2;\n ctx.moveTo(left, yDecoration);\n ctx.lineTo(right, yDecoration);\n ctx.stroke();\n }\n}\nfunction addRoundedRectPath(ctx, rect) {\n const {x, y, w, h, radius} = rect;\n ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true);\n ctx.lineTo(x, y + h - radius.bottomLeft);\n ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n ctx.lineTo(x + w - radius.bottomRight, y + h);\n ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n ctx.lineTo(x + w, y + radius.topRight);\n ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n ctx.lineTo(x + radius.topLeft, y);\n}\n\nconst LINE_HEIGHT = new RegExp(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\nconst FONT_STYLE = new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);\nfunction toLineHeight(value, size) {\n const matches = ('' + value).match(LINE_HEIGHT);\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n value = +matches[2];\n switch (matches[3]) {\n case 'px':\n return value;\n case '%':\n value /= 100;\n break;\n }\n return size * value;\n}\nconst numberOrZero = v => +v || 0;\nfunction _readValueToProps(value, props) {\n const ret = {};\n const objProps = isObject(props);\n const keys = objProps ? Object.keys(props) : props;\n const read = isObject(value)\n ? objProps\n ? prop => valueOrDefault(value[prop], value[props[prop]])\n : prop => value[prop]\n : () => value;\n for (const prop of keys) {\n ret[prop] = numberOrZero(read(prop));\n }\n return ret;\n}\nfunction toTRBL(value) {\n return _readValueToProps(value, {top: 'y', right: 'x', bottom: 'y', left: 'x'});\n}\nfunction toTRBLCorners(value) {\n return _readValueToProps(value, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']);\n}\nfunction toPadding(value) {\n const obj = toTRBL(value);\n obj.width = obj.left + obj.right;\n obj.height = obj.top + obj.bottom;\n return obj;\n}\nfunction toFont(options, fallback) {\n options = options || {};\n fallback = fallback || defaults.font;\n let size = valueOrDefault(options.size, fallback.size);\n if (typeof size === 'string') {\n size = parseInt(size, 10);\n }\n let style = valueOrDefault(options.style, fallback.style);\n if (style && !('' + style).match(FONT_STYLE)) {\n console.warn('Invalid font style specified: \"' + style + '\"');\n style = '';\n }\n const font = {\n family: valueOrDefault(options.family, fallback.family),\n lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n size,\n style,\n weight: valueOrDefault(options.weight, fallback.weight),\n string: ''\n };\n font.string = toFontString(font);\n return font;\n}\nfunction resolve(inputs, context, index, info) {\n let cacheable = true;\n let i, ilen, value;\n for (i = 0, ilen = inputs.length; i < ilen; ++i) {\n value = inputs[i];\n if (value === undefined) {\n continue;\n }\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n if (index !== undefined && isArray(value)) {\n value = value[index % value.length];\n cacheable = false;\n }\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n return value;\n }\n }\n}\nfunction _addGrace(minmax, grace, beginAtZero) {\n const {min, max} = minmax;\n const change = toDimension(grace, (max - min) / 2);\n const keepZero = (value, add) => beginAtZero && value === 0 ? 0 : value + add;\n return {\n min: keepZero(min, -Math.abs(change)),\n max: keepZero(max, change)\n };\n}\nfunction createContext(parentContext, context) {\n return Object.assign(Object.create(parentContext), context);\n}\n\nfunction _createResolver(scopes, prefixes = [''], rootScopes = scopes, fallback, getTarget = () => scopes[0]) {\n if (!defined(fallback)) {\n fallback = _resolve('_fallback', scopes);\n }\n const cache = {\n [Symbol.toStringTag]: 'Object',\n _cacheable: true,\n _scopes: scopes,\n _rootScopes: rootScopes,\n _fallback: fallback,\n _getTarget: getTarget,\n override: (scope) => _createResolver([scope, ...scopes], prefixes, rootScopes, fallback),\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete target._keys;\n delete scopes[0][prop];\n return true;\n },\n get(target, prop) {\n return _cached(target, prop,\n () => _resolveWithPrefixes(prop, prefixes, scopes, target));\n },\n getOwnPropertyDescriptor(target, prop) {\n return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(scopes[0]);\n },\n has(target, prop) {\n return getKeysFromAllScopes(target).includes(prop);\n },\n ownKeys(target) {\n return getKeysFromAllScopes(target);\n },\n set(target, prop, value) {\n const storage = target._storage || (target._storage = getTarget());\n target[prop] = storage[prop] = value;\n delete target._keys;\n return true;\n }\n });\n}\nfunction _attachContext(proxy, context, subProxy, descriptorDefaults) {\n const cache = {\n _cacheable: false,\n _proxy: proxy,\n _context: context,\n _subProxy: subProxy,\n _stack: new Set(),\n _descriptors: _descriptors(proxy, descriptorDefaults),\n setContext: (ctx) => _attachContext(proxy, ctx, subProxy, descriptorDefaults),\n override: (scope) => _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete proxy[prop];\n return true;\n },\n get(target, prop, receiver) {\n return _cached(target, prop,\n () => _resolveWithContext(target, prop, receiver));\n },\n getOwnPropertyDescriptor(target, prop) {\n return target._descriptors.allKeys\n ? Reflect.has(proxy, prop) ? {enumerable: true, configurable: true} : undefined\n : Reflect.getOwnPropertyDescriptor(proxy, prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(proxy);\n },\n has(target, prop) {\n return Reflect.has(proxy, prop);\n },\n ownKeys() {\n return Reflect.ownKeys(proxy);\n },\n set(target, prop, value) {\n proxy[prop] = value;\n delete target[prop];\n return true;\n }\n });\n}\nfunction _descriptors(proxy, defaults = {scriptable: true, indexable: true}) {\n const {_scriptable = defaults.scriptable, _indexable = defaults.indexable, _allKeys = defaults.allKeys} = proxy;\n return {\n allKeys: _allKeys,\n scriptable: _scriptable,\n indexable: _indexable,\n isScriptable: isFunction(_scriptable) ? _scriptable : () => _scriptable,\n isIndexable: isFunction(_indexable) ? _indexable : () => _indexable\n };\n}\nconst readKey = (prefix, name) => prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value) => isObject(value) && prop !== 'adapters' &&\n (Object.getPrototypeOf(value) === null || value.constructor === Object);\nfunction _cached(target, prop, resolve) {\n if (Object.prototype.hasOwnProperty.call(target, prop)) {\n return target[prop];\n }\n const value = resolve();\n target[prop] = value;\n return value;\n}\nfunction _resolveWithContext(target, prop, receiver) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n let value = _proxy[prop];\n if (isFunction(value) && descriptors.isScriptable(prop)) {\n value = _resolveScriptable(prop, value, target, receiver);\n }\n if (isArray(value) && value.length) {\n value = _resolveArray(prop, value, target, descriptors.isIndexable);\n }\n if (needsSubResolver(prop, value)) {\n value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n }\n return value;\n}\nfunction _resolveScriptable(prop, value, target, receiver) {\n const {_proxy, _context, _subProxy, _stack} = target;\n if (_stack.has(prop)) {\n throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n }\n _stack.add(prop);\n value = value(_context, _subProxy || receiver);\n _stack.delete(prop);\n if (needsSubResolver(prop, value)) {\n value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n }\n return value;\n}\nfunction _resolveArray(prop, value, target, isIndexable) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n if (defined(_context.index) && isIndexable(prop)) {\n value = value[_context.index % value.length];\n } else if (isObject(value[0])) {\n const arr = value;\n const scopes = _proxy._scopes.filter(s => s !== arr);\n value = [];\n for (const item of arr) {\n const resolver = createSubResolver(scopes, _proxy, prop, item);\n value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n }\n }\n return value;\n}\nfunction resolveFallback(fallback, prop, value) {\n return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\nconst getScope = (key, parent) => key === true ? parent\n : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\nfunction addScopes(set, parentScopes, key, parentFallback, value) {\n for (const parent of parentScopes) {\n const scope = getScope(key, parent);\n if (scope) {\n set.add(scope);\n const fallback = resolveFallback(scope._fallback, key, value);\n if (defined(fallback) && fallback !== key && fallback !== parentFallback) {\n return fallback;\n }\n } else if (scope === false && defined(parentFallback) && key !== parentFallback) {\n return null;\n }\n }\n return false;\n}\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n const rootScopes = resolver._rootScopes;\n const fallback = resolveFallback(resolver._fallback, prop, value);\n const allScopes = [...parentScopes, ...rootScopes];\n const set = new Set();\n set.add(value);\n let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n if (key === null) {\n return false;\n }\n if (defined(fallback) && fallback !== prop) {\n key = addScopesFromKey(set, allScopes, fallback, key, value);\n if (key === null) {\n return false;\n }\n }\n return _createResolver(Array.from(set), [''], rootScopes, fallback,\n () => subGetTarget(resolver, prop, value));\n}\nfunction addScopesFromKey(set, allScopes, key, fallback, item) {\n while (key) {\n key = addScopes(set, allScopes, key, fallback, item);\n }\n return key;\n}\nfunction subGetTarget(resolver, prop, value) {\n const parent = resolver._getTarget();\n if (!(prop in parent)) {\n parent[prop] = {};\n }\n const target = parent[prop];\n if (isArray(target) && isObject(value)) {\n return value;\n }\n return target;\n}\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n let value;\n for (const prefix of prefixes) {\n value = _resolve(readKey(prefix, prop), scopes);\n if (defined(value)) {\n return needsSubResolver(prop, value)\n ? createSubResolver(scopes, proxy, prop, value)\n : value;\n }\n }\n}\nfunction _resolve(key, scopes) {\n for (const scope of scopes) {\n if (!scope) {\n continue;\n }\n const value = scope[key];\n if (defined(value)) {\n return value;\n }\n }\n}\nfunction getKeysFromAllScopes(target) {\n let keys = target._keys;\n if (!keys) {\n keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n }\n return keys;\n}\nfunction resolveKeysFromAllScopes(scopes) {\n const set = new Set();\n for (const scope of scopes) {\n for (const key of Object.keys(scope).filter(k => !k.startsWith('_'))) {\n set.add(key);\n }\n }\n return Array.from(set);\n}\nfunction _parseObjectDataRadialScale(meta, data, start, count) {\n const {iScale} = meta;\n const {key = 'r'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n r: iScale.parse(resolveObjectKey(item, key), index)\n };\n }\n return parsed;\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\nconst getPoint = (points, i) => i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis) => indexAxis === 'x' ? 'y' : 'x';\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n const previous = firstPoint.skip ? middlePoint : firstPoint;\n const current = middlePoint;\n const next = afterPoint.skip ? middlePoint : afterPoint;\n const d01 = distanceBetweenPoints(current, previous);\n const d12 = distanceBetweenPoints(next, current);\n let s01 = d01 / (d01 + d12);\n let s12 = d12 / (d01 + d12);\n s01 = isNaN(s01) ? 0 : s01;\n s12 = isNaN(s12) ? 0 : s12;\n const fa = t * s01;\n const fb = t * s12;\n return {\n previous: {\n x: current.x - fa * (next.x - previous.x),\n y: current.y - fa * (next.y - previous.y)\n },\n next: {\n x: current.x + fb * (next.x - previous.x),\n y: current.y + fb * (next.y - previous.y)\n }\n };\n}\nfunction monotoneAdjust(points, deltaK, mK) {\n const pointsLen = points.length;\n let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen - 1; ++i) {\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent || !pointAfter) {\n continue;\n }\n if (almostEquals(deltaK[i], 0, EPSILON)) {\n mK[i] = mK[i + 1] = 0;\n continue;\n }\n alphaK = mK[i] / deltaK[i];\n betaK = mK[i + 1] / deltaK[i];\n squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n if (squaredMagnitude <= 9) {\n continue;\n }\n tauK = 3 / Math.sqrt(squaredMagnitude);\n mK[i] = alphaK * tauK * deltaK[i];\n mK[i + 1] = betaK * tauK * deltaK[i];\n }\n}\nfunction monotoneCompute(points, mK, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n let delta, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n const iPixel = pointCurrent[indexAxis];\n const vPixel = pointCurrent[valueAxis];\n if (pointBefore) {\n delta = (iPixel - pointBefore[indexAxis]) / 3;\n pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n }\n if (pointAfter) {\n delta = (pointAfter[indexAxis] - iPixel) / 3;\n pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n }\n }\n}\nfunction splineCurveMonotone(points, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n const deltaK = Array(pointsLen).fill(0);\n const mK = Array(pointsLen);\n let i, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n if (pointAfter) {\n const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n }\n mK[i] = !pointBefore ? deltaK[i]\n : !pointAfter ? deltaK[i - 1]\n : (sign(deltaK[i - 1]) !== sign(deltaK[i])) ? 0\n : (deltaK[i - 1] + deltaK[i]) / 2;\n }\n monotoneAdjust(points, deltaK, mK);\n monotoneCompute(points, mK, indexAxis);\n}\nfunction capControlPoint(pt, min, max) {\n return Math.max(Math.min(pt, max), min);\n}\nfunction capBezierPoints(points, area) {\n let i, ilen, point, inArea, inAreaPrev;\n let inAreaNext = _isPointInArea(points[0], area);\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n inAreaPrev = inArea;\n inArea = inAreaNext;\n inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n if (!inArea) {\n continue;\n }\n point = points[i];\n if (inAreaPrev) {\n point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n }\n if (inAreaNext) {\n point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n }\n }\n}\nfunction _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n let i, ilen, point, controlPoints;\n if (options.spanGaps) {\n points = points.filter((pt) => !pt.skip);\n }\n if (options.cubicInterpolationMode === 'monotone') {\n splineCurveMonotone(points, indexAxis);\n } else {\n let prev = loop ? points[points.length - 1] : points[0];\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n point = points[i];\n controlPoints = splineCurve(\n prev,\n point,\n points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen],\n options.tension\n );\n point.cp1x = controlPoints.previous.x;\n point.cp1y = controlPoints.previous.y;\n point.cp2x = controlPoints.next.x;\n point.cp2y = controlPoints.next.y;\n prev = point;\n }\n }\n if (options.capBezierPoints) {\n capBezierPoints(points, area);\n }\n}\n\nfunction _isDomSupported() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\nfunction _getParentNode(domNode) {\n let parent = domNode.parentNode;\n if (parent && parent.toString() === '[object ShadowRoot]') {\n parent = parent.host;\n }\n return parent;\n}\nfunction parseMaxStyle(styleValue, node, parentProperty) {\n let valueInPixels;\n if (typeof styleValue === 'string') {\n valueInPixels = parseInt(styleValue, 10);\n if (styleValue.indexOf('%') !== -1) {\n valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n }\n } else {\n valueInPixels = styleValue;\n }\n return valueInPixels;\n}\nconst getComputedStyle = (element) => window.getComputedStyle(element, null);\nfunction getStyle(el, property) {\n return getComputedStyle(el).getPropertyValue(property);\n}\nconst positions = ['top', 'right', 'bottom', 'left'];\nfunction getPositionedStyle(styles, style, suffix) {\n const result = {};\n suffix = suffix ? '-' + suffix : '';\n for (let i = 0; i < 4; i++) {\n const pos = positions[i];\n result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n }\n result.width = result.left + result.right;\n result.height = result.top + result.bottom;\n return result;\n}\nconst useOffsetPos = (x, y, target) => (x > 0 || y > 0) && (!target || !target.shadowRoot);\nfunction getCanvasPosition(e, canvas) {\n const touches = e.touches;\n const source = touches && touches.length ? touches[0] : e;\n const {offsetX, offsetY} = source;\n let box = false;\n let x, y;\n if (useOffsetPos(offsetX, offsetY, e.target)) {\n x = offsetX;\n y = offsetY;\n } else {\n const rect = canvas.getBoundingClientRect();\n x = source.clientX - rect.left;\n y = source.clientY - rect.top;\n box = true;\n }\n return {x, y, box};\n}\nfunction getRelativePosition(evt, chart) {\n if ('native' in evt) {\n return evt;\n }\n const {canvas, currentDevicePixelRatio} = chart;\n const style = getComputedStyle(canvas);\n const borderBox = style.boxSizing === 'border-box';\n const paddings = getPositionedStyle(style, 'padding');\n const borders = getPositionedStyle(style, 'border', 'width');\n const {x, y, box} = getCanvasPosition(evt, canvas);\n const xOffset = paddings.left + (box && borders.left);\n const yOffset = paddings.top + (box && borders.top);\n let {width, height} = chart;\n if (borderBox) {\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n return {\n x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n };\n}\nfunction getContainerSize(canvas, width, height) {\n let maxWidth, maxHeight;\n if (width === undefined || height === undefined) {\n const container = _getParentNode(canvas);\n if (!container) {\n width = canvas.clientWidth;\n height = canvas.clientHeight;\n } else {\n const rect = container.getBoundingClientRect();\n const containerStyle = getComputedStyle(container);\n const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n const containerPadding = getPositionedStyle(containerStyle, 'padding');\n width = rect.width - containerPadding.width - containerBorder.width;\n height = rect.height - containerPadding.height - containerBorder.height;\n maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n }\n }\n return {\n width,\n height,\n maxWidth: maxWidth || INFINITY,\n maxHeight: maxHeight || INFINITY\n };\n}\nconst round1 = v => Math.round(v * 10) / 10;\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n const style = getComputedStyle(canvas);\n const margins = getPositionedStyle(style, 'margin');\n const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n let {width, height} = containerSize;\n if (style.boxSizing === 'content-box') {\n const borders = getPositionedStyle(style, 'border', 'width');\n const paddings = getPositionedStyle(style, 'padding');\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n width = Math.max(0, width - margins.width);\n height = Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height - margins.height);\n width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n if (width && !height) {\n height = round1(width / 2);\n }\n return {\n width,\n height\n };\n}\nfunction retinaScale(chart, forceRatio, forceStyle) {\n const pixelRatio = forceRatio || 1;\n const deviceHeight = Math.floor(chart.height * pixelRatio);\n const deviceWidth = Math.floor(chart.width * pixelRatio);\n chart.height = deviceHeight / pixelRatio;\n chart.width = deviceWidth / pixelRatio;\n const canvas = chart.canvas;\n if (canvas.style && (forceStyle || (!canvas.style.height && !canvas.style.width))) {\n canvas.style.height = `${chart.height}px`;\n canvas.style.width = `${chart.width}px`;\n }\n if (chart.currentDevicePixelRatio !== pixelRatio\n || canvas.height !== deviceHeight\n || canvas.width !== deviceWidth) {\n chart.currentDevicePixelRatio = pixelRatio;\n canvas.height = deviceHeight;\n canvas.width = deviceWidth;\n chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n return true;\n }\n return false;\n}\nconst supportsEventListenerOptions = (function() {\n let passiveSupported = false;\n try {\n const options = {\n get passive() {\n passiveSupported = true;\n return false;\n }\n };\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {\n }\n return passiveSupported;\n}());\nfunction readUsedSize(element, property) {\n const value = getStyle(element, property);\n const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? +matches[1] : undefined;\n}\n\nfunction _pointInLine(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: p1.y + t * (p2.y - p1.y)\n };\n}\nfunction _steppedInterpolation(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y\n : mode === 'after' ? t < 1 ? p1.y : p2.y\n : t > 0 ? p2.y : p1.y\n };\n}\nfunction _bezierInterpolation(p1, p2, t, mode) {\n const cp1 = {x: p1.cp2x, y: p1.cp2y};\n const cp2 = {x: p2.cp1x, y: p2.cp1y};\n const a = _pointInLine(p1, cp1, t);\n const b = _pointInLine(cp1, cp2, t);\n const c = _pointInLine(cp2, p2, t);\n const d = _pointInLine(a, b, t);\n const e = _pointInLine(b, c, t);\n return _pointInLine(d, e, t);\n}\n\nconst intlCache = new Map();\nfunction getNumberFormat(locale, options) {\n options = options || {};\n const cacheKey = locale + JSON.stringify(options);\n let formatter = intlCache.get(cacheKey);\n if (!formatter) {\n formatter = new Intl.NumberFormat(locale, options);\n intlCache.set(cacheKey, formatter);\n }\n return formatter;\n}\nfunction formatNumber(num, locale, options) {\n return getNumberFormat(locale, options).format(num);\n}\n\nconst getRightToLeftAdapter = function(rectX, width) {\n return {\n x(x) {\n return rectX + rectX + width - x;\n },\n setWidth(w) {\n width = w;\n },\n textAlign(align) {\n if (align === 'center') {\n return align;\n }\n return align === 'right' ? 'left' : 'right';\n },\n xPlus(x, value) {\n return x - value;\n },\n leftForLtr(x, itemWidth) {\n return x - itemWidth;\n },\n };\n};\nconst getLeftToRightAdapter = function() {\n return {\n x(x) {\n return x;\n },\n setWidth(w) {\n },\n textAlign(align) {\n return align;\n },\n xPlus(x, value) {\n return x + value;\n },\n leftForLtr(x, _itemWidth) {\n return x;\n },\n };\n};\nfunction getRtlAdapter(rtl, rectX, width) {\n return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\nfunction overrideTextDirection(ctx, direction) {\n let style, original;\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [\n style.getPropertyValue('direction'),\n style.getPropertyPriority('direction'),\n ];\n style.setProperty('direction', direction, 'important');\n ctx.prevTextDirection = original;\n }\n}\nfunction restoreTextDirection(ctx, original) {\n if (original !== undefined) {\n delete ctx.prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n}\n\nfunction propertyFn(property) {\n if (property === 'angle') {\n return {\n between: _angleBetween,\n compare: _angleDiff,\n normalize: _normalizeAngle,\n };\n }\n return {\n between: _isBetween,\n compare: (a, b) => a - b,\n normalize: x => x\n };\n}\nfunction normalizeSegment({start, end, count, loop, style}) {\n return {\n start: start % count,\n end: end % count,\n loop: loop && (end - start + 1) % count === 0,\n style\n };\n}\nfunction getSegment(segment, points, bounds) {\n const {property, start: startBound, end: endBound} = bounds;\n const {between, normalize} = propertyFn(property);\n const count = points.length;\n let {start, end, loop} = segment;\n let i, ilen;\n if (loop) {\n start += count;\n end += count;\n for (i = 0, ilen = count; i < ilen; ++i) {\n if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n break;\n }\n start--;\n end--;\n }\n start %= count;\n end %= count;\n }\n if (end < start) {\n end += count;\n }\n return {start, end, loop, style: segment.style};\n}\nfunction _boundSegment(segment, points, bounds) {\n if (!bounds) {\n return [segment];\n }\n const {property, start: startBound, end: endBound} = bounds;\n const count = points.length;\n const {compare, between, normalize} = propertyFn(property);\n const {start, end, loop, style} = getSegment(segment, points, bounds);\n const result = [];\n let inside = false;\n let subStart = null;\n let value, point, prevValue;\n const startIsBefore = () => between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n const endIsBefore = () => compare(endBound, value) === 0 || between(endBound, prevValue, value);\n const shouldStart = () => inside || startIsBefore();\n const shouldStop = () => !inside || endIsBefore();\n for (let i = start, prev = start; i <= end; ++i) {\n point = points[i % count];\n if (point.skip) {\n continue;\n }\n value = normalize(point[property]);\n if (value === prevValue) {\n continue;\n }\n inside = between(value, startBound, endBound);\n if (subStart === null && shouldStart()) {\n subStart = compare(value, startBound) === 0 ? i : prev;\n }\n if (subStart !== null && shouldStop()) {\n result.push(normalizeSegment({start: subStart, end: i, loop, count, style}));\n subStart = null;\n }\n prev = i;\n prevValue = value;\n }\n if (subStart !== null) {\n result.push(normalizeSegment({start: subStart, end, loop, count, style}));\n }\n return result;\n}\nfunction _boundSegments(line, bounds) {\n const result = [];\n const segments = line.segments;\n for (let i = 0; i < segments.length; i++) {\n const sub = _boundSegment(segments[i], line.points, bounds);\n if (sub.length) {\n result.push(...sub);\n }\n }\n return result;\n}\nfunction findStartAndEnd(points, count, loop, spanGaps) {\n let start = 0;\n let end = count - 1;\n if (loop && !spanGaps) {\n while (start < count && !points[start].skip) {\n start++;\n }\n }\n while (start < count && points[start].skip) {\n start++;\n }\n start %= count;\n if (loop) {\n end += start;\n }\n while (end > start && points[end % count].skip) {\n end--;\n }\n end %= count;\n return {start, end};\n}\nfunction solidSegments(points, start, max, loop) {\n const count = points.length;\n const result = [];\n let last = start;\n let prev = points[start];\n let end;\n for (end = start + 1; end <= max; ++end) {\n const cur = points[end % count];\n if (cur.skip || cur.stop) {\n if (!prev.skip) {\n loop = false;\n result.push({start: start % count, end: (end - 1) % count, loop});\n start = last = cur.stop ? end : null;\n }\n } else {\n last = end;\n if (prev.skip) {\n start = end;\n }\n }\n prev = cur;\n }\n if (last !== null) {\n result.push({start: start % count, end: last % count, loop});\n }\n return result;\n}\nfunction _computeSegments(line, segmentOptions) {\n const points = line.points;\n const spanGaps = line.options.spanGaps;\n const count = points.length;\n if (!count) {\n return [];\n }\n const loop = !!line._loop;\n const {start, end} = findStartAndEnd(points, count, loop, spanGaps);\n if (spanGaps === true) {\n return splitByStyles(line, [{start, end, loop}], points, segmentOptions);\n }\n const max = end < start ? end + count : end;\n const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\nfunction splitByStyles(line, segments, points, segmentOptions) {\n if (!segmentOptions || !segmentOptions.setContext || !points) {\n return segments;\n }\n return doSplitByStyles(line, segments, points, segmentOptions);\n}\nfunction doSplitByStyles(line, segments, points, segmentOptions) {\n const chartContext = line._chart.getContext();\n const baseStyle = readStyle(line.options);\n const {_datasetIndex: datasetIndex, options: {spanGaps}} = line;\n const count = points.length;\n const result = [];\n let prevStyle = baseStyle;\n let start = segments[0].start;\n let i = start;\n function addStyle(s, e, l, st) {\n const dir = spanGaps ? -1 : 1;\n if (s === e) {\n return;\n }\n s += count;\n while (points[s % count].skip) {\n s -= dir;\n }\n while (points[e % count].skip) {\n e += dir;\n }\n if (s % count !== e % count) {\n result.push({start: s % count, end: e % count, loop: l, style: st});\n prevStyle = st;\n start = e % count;\n }\n }\n for (const segment of segments) {\n start = spanGaps ? start : segment.start;\n let prev = points[start % count];\n let style;\n for (i = start + 1; i <= segment.end; i++) {\n const pt = points[i % count];\n style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n type: 'segment',\n p0: prev,\n p1: pt,\n p0DataIndex: (i - 1) % count,\n p1DataIndex: i % count,\n datasetIndex\n })));\n if (styleChanged(style, prevStyle)) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n prev = pt;\n prevStyle = style;\n }\n if (start < i - 1) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n }\n return result;\n}\nfunction readStyle(options) {\n return {\n backgroundColor: options.backgroundColor,\n borderCapStyle: options.borderCapStyle,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderJoinStyle: options.borderJoinStyle,\n borderWidth: options.borderWidth,\n borderColor: options.borderColor\n };\n}\nfunction styleChanged(style, prevStyle) {\n return prevStyle && JSON.stringify(style) !== JSON.stringify(prevStyle);\n}\n\nexport { _isPointInArea as $, _factorize as A, finiteOrDefault as B, callback as C, _addGrace as D, _limitValue as E, toDegrees as F, _measureText as G, HALF_PI as H, _int16Range as I, _alignPixel as J, toPadding as K, clipArea as L, renderText as M, unclipArea as N, toFont as O, PI as P, each as Q, _toLeftRightCenter as R, _alignStartEnd as S, TAU as T, overrides as U, merge as V, _capitalize as W, getRelativePosition as X, _rlookupByKey as Y, _lookupByKey as Z, _arrayUnique as _, resolve as a, toLineHeight as a$, getAngleFromPoint as a0, getMaximumSize as a1, _getParentNode as a2, readUsedSize as a3, throttled as a4, supportsEventListenerOptions as a5, _isDomSupported as a6, descriptors as a7, isFunction as a8, _attachContext as a9, getRtlAdapter as aA, overrideTextDirection as aB, _textX as aC, restoreTextDirection as aD, drawPointLegend as aE, noop as aF, distanceBetweenPoints as aG, _setMinAndMaxByKey as aH, niceNum as aI, almostWhole as aJ, almostEquals as aK, _decimalPlaces as aL, _longestText as aM, _filterBetween as aN, _lookup as aO, isPatternOrGradient as aP, getHoverColor as aQ, clone$1 as aR, _merger as aS, _mergerIf as aT, _deprecated as aU, _splitKey as aV, toFontString as aW, splineCurve as aX, splineCurveMonotone as aY, getStyle as aZ, fontString as a_, _createResolver as aa, _descriptors as ab, mergeIf as ac, uid as ad, debounce as ae, retinaScale as af, clearCanvas as ag, setsEqual as ah, _elementsEqual as ai, _isClickEvent as aj, _isBetween as ak, _readValueToProps as al, _updateBezierControlPoints as am, _computeSegments as an, _boundSegments as ao, _steppedInterpolation as ap, _bezierInterpolation as aq, _pointInLine as ar, _steppedLineTo as as, _bezierCurveTo as at, drawPoint as au, addRoundedRectPath as av, toTRBL as aw, toTRBLCorners as ax, _boundSegment as ay, _normalizeAngle as az, isArray as b, PITAU as b0, INFINITY as b1, RAD_PER_DEG as b2, QUARTER_PI as b3, TWO_THIRDS_PI as b4, _angleDiff as b5, color as c, defaults as d, effects as e, resolveObjectKey as f, isNumberFinite as g, createContext as h, isObject as i, defined as j, isNullOrUndef as k, listenArrayEvents as l, toPercentage as m, toDimension as n, formatNumber as o, _angleBetween as p, _getStartAndCountOfVisiblePoints as q, requestAnimFrame as r, sign as s, toRadians as t, unlistenArrayEvents as u, valueOrDefault as v, _scaleRangesChanged as w, isNumber as x, _parseObjectDataRadialScale as y, log10 as z };\n","/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nimport { r as requestAnimFrame, a as resolve, e as effects, c as color, d as defaults, i as isObject, b as isArray, v as valueOrDefault, u as unlistenArrayEvents, l as listenArrayEvents, f as resolveObjectKey, g as isNumberFinite, h as createContext, j as defined, s as sign, k as isNullOrUndef, _ as _arrayUnique, t as toRadians, m as toPercentage, n as toDimension, T as TAU, o as formatNumber, p as _angleBetween, H as HALF_PI, P as PI, q as _getStartAndCountOfVisiblePoints, w as _scaleRangesChanged, x as isNumber, y as _parseObjectDataRadialScale, z as log10, A as _factorize, B as finiteOrDefault, C as callback, D as _addGrace, E as _limitValue, F as toDegrees, G as _measureText, I as _int16Range, J as _alignPixel, K as toPadding, L as clipArea, M as renderText, N as unclipArea, O as toFont, Q as each, R as _toLeftRightCenter, S as _alignStartEnd, U as overrides, V as merge, W as _capitalize, X as getRelativePosition, Y as _rlookupByKey, Z as _lookupByKey, $ as _isPointInArea, a0 as getAngleFromPoint, a1 as getMaximumSize, a2 as _getParentNode, a3 as readUsedSize, a4 as throttled, a5 as supportsEventListenerOptions, a6 as _isDomSupported, a7 as descriptors, a8 as isFunction, a9 as _attachContext, aa as _createResolver, ab as _descriptors, ac as mergeIf, ad as uid, ae as debounce, af as retinaScale, ag as clearCanvas, ah as setsEqual, ai as _elementsEqual, aj as _isClickEvent, ak as _isBetween, al as _readValueToProps, am as _updateBezierControlPoints, an as _computeSegments, ao as _boundSegments, ap as _steppedInterpolation, aq as _bezierInterpolation, ar as _pointInLine, as as _steppedLineTo, at as _bezierCurveTo, au as drawPoint, av as addRoundedRectPath, aw as toTRBL, ax as toTRBLCorners, ay as _boundSegment, az as _normalizeAngle, aA as getRtlAdapter, aB as overrideTextDirection, aC as _textX, aD as restoreTextDirection, aE as drawPointLegend, aF as noop, aG as distanceBetweenPoints, aH as _setMinAndMaxByKey, aI as niceNum, aJ as almostWhole, aK as almostEquals, aL as _decimalPlaces, aM as _longestText, aN as _filterBetween, aO as _lookup } from './chunks/helpers.segment.mjs';\nexport { d as defaults } from './chunks/helpers.segment.mjs';\n\nclass Animator {\n constructor() {\n this._request = null;\n this._charts = new Map();\n this._running = false;\n this._lastDate = undefined;\n }\n _notify(chart, anims, date, type) {\n const callbacks = anims.listeners[type];\n const numSteps = anims.duration;\n callbacks.forEach(fn => fn({\n chart,\n initial: anims.initial,\n numSteps,\n currentStep: Math.min(date - anims.start, numSteps)\n }));\n }\n _refresh() {\n if (this._request) {\n return;\n }\n this._running = true;\n this._request = requestAnimFrame.call(window, () => {\n this._update();\n this._request = null;\n if (this._running) {\n this._refresh();\n }\n });\n }\n _update(date = Date.now()) {\n let remaining = 0;\n this._charts.forEach((anims, chart) => {\n if (!anims.running || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n let draw = false;\n let item;\n for (; i >= 0; --i) {\n item = items[i];\n if (item._active) {\n if (item._total > anims.duration) {\n anims.duration = item._total;\n }\n item.tick(date);\n draw = true;\n } else {\n items[i] = items[items.length - 1];\n items.pop();\n }\n }\n if (draw) {\n chart.draw();\n this._notify(chart, anims, date, 'progress');\n }\n if (!items.length) {\n anims.running = false;\n this._notify(chart, anims, date, 'complete');\n anims.initial = false;\n }\n remaining += items.length;\n });\n this._lastDate = date;\n if (remaining === 0) {\n this._running = false;\n }\n }\n _getAnims(chart) {\n const charts = this._charts;\n let anims = charts.get(chart);\n if (!anims) {\n anims = {\n running: false,\n initial: true,\n items: [],\n listeners: {\n complete: [],\n progress: []\n }\n };\n charts.set(chart, anims);\n }\n return anims;\n }\n listen(chart, event, cb) {\n this._getAnims(chart).listeners[event].push(cb);\n }\n add(chart, items) {\n if (!items || !items.length) {\n return;\n }\n this._getAnims(chart).items.push(...items);\n }\n has(chart) {\n return this._getAnims(chart).items.length > 0;\n }\n start(chart) {\n const anims = this._charts.get(chart);\n if (!anims) {\n return;\n }\n anims.running = true;\n anims.start = Date.now();\n anims.duration = anims.items.reduce((acc, cur) => Math.max(acc, cur._duration), 0);\n this._refresh();\n }\n running(chart) {\n if (!this._running) {\n return false;\n }\n const anims = this._charts.get(chart);\n if (!anims || !anims.running || !anims.items.length) {\n return false;\n }\n return true;\n }\n stop(chart) {\n const anims = this._charts.get(chart);\n if (!anims || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n for (; i >= 0; --i) {\n items[i].cancel();\n }\n anims.items = [];\n this._notify(chart, anims, Date.now(), 'complete');\n }\n remove(chart) {\n return this._charts.delete(chart);\n }\n}\nvar animator = new Animator();\n\nconst transparent = 'transparent';\nconst interpolators = {\n boolean(from, to, factor) {\n return factor > 0.5 ? to : from;\n },\n color(from, to, factor) {\n const c0 = color(from || transparent);\n const c1 = c0.valid && color(to || transparent);\n return c1 && c1.valid\n ? c1.mix(c0, factor).hexString()\n : to;\n },\n number(from, to, factor) {\n return from + (to - from) * factor;\n }\n};\nclass Animation {\n constructor(cfg, target, prop, to) {\n const currentValue = target[prop];\n to = resolve([cfg.to, to, currentValue, cfg.from]);\n const from = resolve([cfg.from, currentValue, to]);\n this._active = true;\n this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n this._easing = effects[cfg.easing] || effects.linear;\n this._start = Math.floor(Date.now() + (cfg.delay || 0));\n this._duration = this._total = Math.floor(cfg.duration);\n this._loop = !!cfg.loop;\n this._target = target;\n this._prop = prop;\n this._from = from;\n this._to = to;\n this._promises = undefined;\n }\n active() {\n return this._active;\n }\n update(cfg, to, date) {\n if (this._active) {\n this._notify(false);\n const currentValue = this._target[this._prop];\n const elapsed = date - this._start;\n const remain = this._duration - elapsed;\n this._start = date;\n this._duration = Math.floor(Math.max(remain, cfg.duration));\n this._total += elapsed;\n this._loop = !!cfg.loop;\n this._to = resolve([cfg.to, to, currentValue, cfg.from]);\n this._from = resolve([cfg.from, currentValue, to]);\n }\n }\n cancel() {\n if (this._active) {\n this.tick(Date.now());\n this._active = false;\n this._notify(false);\n }\n }\n tick(date) {\n const elapsed = date - this._start;\n const duration = this._duration;\n const prop = this._prop;\n const from = this._from;\n const loop = this._loop;\n const to = this._to;\n let factor;\n this._active = from !== to && (loop || (elapsed < duration));\n if (!this._active) {\n this._target[prop] = to;\n this._notify(true);\n return;\n }\n if (elapsed < 0) {\n this._target[prop] = from;\n return;\n }\n factor = (elapsed / duration) % 2;\n factor = loop && factor > 1 ? 2 - factor : factor;\n factor = this._easing(Math.min(1, Math.max(0, factor)));\n this._target[prop] = this._fn(from, to, factor);\n }\n wait() {\n const promises = this._promises || (this._promises = []);\n return new Promise((res, rej) => {\n promises.push({res, rej});\n });\n }\n _notify(resolved) {\n const method = resolved ? 'res' : 'rej';\n const promises = this._promises || [];\n for (let i = 0; i < promises.length; i++) {\n promises[i][method]();\n }\n }\n}\n\nconst numbers = ['x', 'y', 'borderWidth', 'radius', 'tension'];\nconst colors = ['color', 'borderColor', 'backgroundColor'];\ndefaults.set('animation', {\n delay: undefined,\n duration: 1000,\n easing: 'easeOutQuart',\n fn: undefined,\n from: undefined,\n loop: undefined,\n to: undefined,\n type: undefined,\n});\nconst animationOptions = Object.keys(defaults.animation);\ndefaults.describe('animation', {\n _fallback: false,\n _indexable: false,\n _scriptable: (name) => name !== 'onProgress' && name !== 'onComplete' && name !== 'fn',\n});\ndefaults.set('animations', {\n colors: {\n type: 'color',\n properties: colors\n },\n numbers: {\n type: 'number',\n properties: numbers\n },\n});\ndefaults.describe('animations', {\n _fallback: 'animation',\n});\ndefaults.set('transitions', {\n active: {\n animation: {\n duration: 400\n }\n },\n resize: {\n animation: {\n duration: 0\n }\n },\n show: {\n animations: {\n colors: {\n from: 'transparent'\n },\n visible: {\n type: 'boolean',\n duration: 0\n },\n }\n },\n hide: {\n animations: {\n colors: {\n to: 'transparent'\n },\n visible: {\n type: 'boolean',\n easing: 'linear',\n fn: v => v | 0\n },\n }\n }\n});\nclass Animations {\n constructor(chart, config) {\n this._chart = chart;\n this._properties = new Map();\n this.configure(config);\n }\n configure(config) {\n if (!isObject(config)) {\n return;\n }\n const animatedProps = this._properties;\n Object.getOwnPropertyNames(config).forEach(key => {\n const cfg = config[key];\n if (!isObject(cfg)) {\n return;\n }\n const resolved = {};\n for (const option of animationOptions) {\n resolved[option] = cfg[option];\n }\n (isArray(cfg.properties) && cfg.properties || [key]).forEach((prop) => {\n if (prop === key || !animatedProps.has(prop)) {\n animatedProps.set(prop, resolved);\n }\n });\n });\n }\n _animateOptions(target, values) {\n const newOptions = values.options;\n const options = resolveTargetOptions(target, newOptions);\n if (!options) {\n return [];\n }\n const animations = this._createAnimations(options, newOptions);\n if (newOptions.$shared) {\n awaitAll(target.options.$animations, newOptions).then(() => {\n target.options = newOptions;\n }, () => {\n });\n }\n return animations;\n }\n _createAnimations(target, values) {\n const animatedProps = this._properties;\n const animations = [];\n const running = target.$animations || (target.$animations = {});\n const props = Object.keys(values);\n const date = Date.now();\n let i;\n for (i = props.length - 1; i >= 0; --i) {\n const prop = props[i];\n if (prop.charAt(0) === '$') {\n continue;\n }\n if (prop === 'options') {\n animations.push(...this._animateOptions(target, values));\n continue;\n }\n const value = values[prop];\n let animation = running[prop];\n const cfg = animatedProps.get(prop);\n if (animation) {\n if (cfg && animation.active()) {\n animation.update(cfg, value, date);\n continue;\n } else {\n animation.cancel();\n }\n }\n if (!cfg || !cfg.duration) {\n target[prop] = value;\n continue;\n }\n running[prop] = animation = new Animation(cfg, target, prop, value);\n animations.push(animation);\n }\n return animations;\n }\n update(target, values) {\n if (this._properties.size === 0) {\n Object.assign(target, values);\n return;\n }\n const animations = this._createAnimations(target, values);\n if (animations.length) {\n animator.add(this._chart, animations);\n return true;\n }\n }\n}\nfunction awaitAll(animations, properties) {\n const running = [];\n const keys = Object.keys(properties);\n for (let i = 0; i < keys.length; i++) {\n const anim = animations[keys[i]];\n if (anim && anim.active()) {\n running.push(anim.wait());\n }\n }\n return Promise.all(running);\n}\nfunction resolveTargetOptions(target, newOptions) {\n if (!newOptions) {\n return;\n }\n let options = target.options;\n if (!options) {\n target.options = newOptions;\n return;\n }\n if (options.$shared) {\n target.options = options = Object.assign({}, options, {$shared: false, $animations: {}});\n }\n return options;\n}\n\nfunction scaleClip(scale, allowedOverflow) {\n const opts = scale && scale.options || {};\n const reverse = opts.reverse;\n const min = opts.min === undefined ? allowedOverflow : 0;\n const max = opts.max === undefined ? allowedOverflow : 0;\n return {\n start: reverse ? max : min,\n end: reverse ? min : max\n };\n}\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n if (allowedOverflow === false) {\n return false;\n }\n const x = scaleClip(xScale, allowedOverflow);\n const y = scaleClip(yScale, allowedOverflow);\n return {\n top: y.end,\n right: x.end,\n bottom: y.start,\n left: x.start\n };\n}\nfunction toClip(value) {\n let t, r, b, l;\n if (isObject(value)) {\n t = value.top;\n r = value.right;\n b = value.bottom;\n l = value.left;\n } else {\n t = r = b = l = value;\n }\n return {\n top: t,\n right: r,\n bottom: b,\n left: l,\n disabled: value === false\n };\n}\nfunction getSortedDatasetIndices(chart, filterVisible) {\n const keys = [];\n const metasets = chart._getSortedDatasetMetas(filterVisible);\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n keys.push(metasets[i].index);\n }\n return keys;\n}\nfunction applyStack(stack, value, dsIndex, options = {}) {\n const keys = stack.keys;\n const singleMode = options.mode === 'single';\n let i, ilen, datasetIndex, otherValue;\n if (value === null) {\n return;\n }\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n datasetIndex = +keys[i];\n if (datasetIndex === dsIndex) {\n if (options.all) {\n continue;\n }\n break;\n }\n otherValue = stack.values[datasetIndex];\n if (isNumberFinite(otherValue) && (singleMode || (value === 0 || sign(value) === sign(otherValue)))) {\n value += otherValue;\n }\n }\n return value;\n}\nfunction convertObjectDataToArray(data) {\n const keys = Object.keys(data);\n const adata = new Array(keys.length);\n let i, ilen, key;\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n key = keys[i];\n adata[i] = {\n x: key,\n y: data[key]\n };\n }\n return adata;\n}\nfunction isStacked(scale, meta) {\n const stacked = scale && scale.options.stacked;\n return stacked || (stacked === undefined && meta.stack !== undefined);\n}\nfunction getStackKey(indexScale, valueScale, meta) {\n return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\nfunction getUserBounds(scale) {\n const {min, max, minDefined, maxDefined} = scale.getUserBounds();\n return {\n min: minDefined ? min : Number.NEGATIVE_INFINITY,\n max: maxDefined ? max : Number.POSITIVE_INFINITY\n };\n}\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n return subStack[indexValue] || (subStack[indexValue] = {});\n}\nfunction getLastIndexInStack(stack, vScale, positive, type) {\n for (const meta of vScale.getMatchingVisibleMetas(type).reverse()) {\n const value = stack[meta.index];\n if ((positive && value > 0) || (!positive && value < 0)) {\n return meta.index;\n }\n }\n return null;\n}\nfunction updateStacks(controller, parsed) {\n const {chart, _cachedMeta: meta} = controller;\n const stacks = chart._stacks || (chart._stacks = {});\n const {iScale, vScale, index: datasetIndex} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const key = getStackKey(iScale, vScale, meta);\n const ilen = parsed.length;\n let stack;\n for (let i = 0; i < ilen; ++i) {\n const item = parsed[i];\n const {[iAxis]: index, [vAxis]: value} = item;\n const itemStacks = item._stacks || (item._stacks = {});\n stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n stack[datasetIndex] = value;\n stack._top = getLastIndexInStack(stack, vScale, true, meta.type);\n stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type);\n }\n}\nfunction getFirstScaleId(chart, axis) {\n const scales = chart.scales;\n return Object.keys(scales).filter(key => scales[key].axis === axis).shift();\n}\nfunction createDatasetContext(parent, index) {\n return createContext(parent,\n {\n active: false,\n dataset: undefined,\n datasetIndex: index,\n index,\n mode: 'default',\n type: 'dataset'\n }\n );\n}\nfunction createDataContext(parent, index, element) {\n return createContext(parent, {\n active: false,\n dataIndex: index,\n parsed: undefined,\n raw: undefined,\n element,\n index,\n mode: 'default',\n type: 'data'\n });\n}\nfunction clearStacks(meta, items) {\n const datasetIndex = meta.controller.index;\n const axis = meta.vScale && meta.vScale.axis;\n if (!axis) {\n return;\n }\n items = items || meta._parsed;\n for (const parsed of items) {\n const stacks = parsed._stacks;\n if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n return;\n }\n delete stacks[axis][datasetIndex];\n }\n}\nconst isDirectUpdateMode = (mode) => mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared) => shared ? cached : Object.assign({}, cached);\nconst createStack = (canStack, meta, chart) => canStack && !meta.hidden && meta._stacked\n && {keys: getSortedDatasetIndices(chart, true), values: null};\nclass DatasetController {\n constructor(chart, datasetIndex) {\n this.chart = chart;\n this._ctx = chart.ctx;\n this.index = datasetIndex;\n this._cachedDataOpts = {};\n this._cachedMeta = this.getMeta();\n this._type = this._cachedMeta.type;\n this.options = undefined;\n this._parsing = false;\n this._data = undefined;\n this._objectData = undefined;\n this._sharedOptions = undefined;\n this._drawStart = undefined;\n this._drawCount = undefined;\n this.enableOptionSharing = false;\n this.supportsDecimation = false;\n this.$context = undefined;\n this._syncList = [];\n this.initialize();\n }\n initialize() {\n const meta = this._cachedMeta;\n this.configure();\n this.linkScales();\n meta._stacked = isStacked(meta.vScale, meta);\n this.addElements();\n }\n updateIndex(datasetIndex) {\n if (this.index !== datasetIndex) {\n clearStacks(this._cachedMeta);\n }\n this.index = datasetIndex;\n }\n linkScales() {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n const chooseId = (axis, x, y, r) => axis === 'x' ? x : axis === 'r' ? r : y;\n const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n const indexAxis = meta.indexAxis;\n const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n meta.xScale = this.getScaleForId(xid);\n meta.yScale = this.getScaleForId(yid);\n meta.rScale = this.getScaleForId(rid);\n meta.iScale = this.getScaleForId(iid);\n meta.vScale = this.getScaleForId(vid);\n }\n getDataset() {\n return this.chart.data.datasets[this.index];\n }\n getMeta() {\n return this.chart.getDatasetMeta(this.index);\n }\n getScaleForId(scaleID) {\n return this.chart.scales[scaleID];\n }\n _getOtherScale(scale) {\n const meta = this._cachedMeta;\n return scale === meta.iScale\n ? meta.vScale\n : meta.iScale;\n }\n reset() {\n this._update('reset');\n }\n _destroy() {\n const meta = this._cachedMeta;\n if (this._data) {\n unlistenArrayEvents(this._data, this);\n }\n if (meta._stacked) {\n clearStacks(meta);\n }\n }\n _dataCheck() {\n const dataset = this.getDataset();\n const data = dataset.data || (dataset.data = []);\n const _data = this._data;\n if (isObject(data)) {\n this._data = convertObjectDataToArray(data);\n } else if (_data !== data) {\n if (_data) {\n unlistenArrayEvents(_data, this);\n const meta = this._cachedMeta;\n clearStacks(meta);\n meta._parsed = [];\n }\n if (data && Object.isExtensible(data)) {\n listenArrayEvents(data, this);\n }\n this._syncList = [];\n this._data = data;\n }\n }\n addElements() {\n const meta = this._cachedMeta;\n this._dataCheck();\n if (this.datasetElementType) {\n meta.dataset = new this.datasetElementType();\n }\n }\n buildOrUpdateElements(resetNewElements) {\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n let stackChanged = false;\n this._dataCheck();\n const oldStacked = meta._stacked;\n meta._stacked = isStacked(meta.vScale, meta);\n if (meta.stack !== dataset.stack) {\n stackChanged = true;\n clearStacks(meta);\n meta.stack = dataset.stack;\n }\n this._resyncElements(resetNewElements);\n if (stackChanged || oldStacked !== meta._stacked) {\n updateStacks(this, meta._parsed);\n }\n }\n configure() {\n const config = this.chart.config;\n const scopeKeys = config.datasetScopeKeys(this._type);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true);\n this.options = config.createResolver(scopes, this.getContext());\n this._parsing = this.options.parsing;\n this._cachedDataOpts = {};\n }\n parse(start, count) {\n const {_cachedMeta: meta, _data: data} = this;\n const {iScale, _stacked} = meta;\n const iAxis = iScale.axis;\n let sorted = start === 0 && count === data.length ? true : meta._sorted;\n let prev = start > 0 && meta._parsed[start - 1];\n let i, cur, parsed;\n if (this._parsing === false) {\n meta._parsed = data;\n meta._sorted = true;\n parsed = data;\n } else {\n if (isArray(data[start])) {\n parsed = this.parseArrayData(meta, data, start, count);\n } else if (isObject(data[start])) {\n parsed = this.parseObjectData(meta, data, start, count);\n } else {\n parsed = this.parsePrimitiveData(meta, data, start, count);\n }\n const isNotInOrderComparedToPrev = () => cur[iAxis] === null || (prev && cur[iAxis] < prev[iAxis]);\n for (i = 0; i < count; ++i) {\n meta._parsed[i + start] = cur = parsed[i];\n if (sorted) {\n if (isNotInOrderComparedToPrev()) {\n sorted = false;\n }\n prev = cur;\n }\n }\n meta._sorted = sorted;\n }\n if (_stacked) {\n updateStacks(this, parsed);\n }\n }\n parsePrimitiveData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = new Array(count);\n let i, ilen, index;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n parsed[i] = {\n [iAxis]: singleScale || iScale.parse(labels[index], index),\n [vAxis]: vScale.parse(data[index], index)\n };\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(item[0], index),\n y: yScale.parse(item[1], index)\n };\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(resolveObjectKey(item, xAxisKey), index),\n y: yScale.parse(resolveObjectKey(item, yAxisKey), index)\n };\n }\n return parsed;\n }\n getParsed(index) {\n return this._cachedMeta._parsed[index];\n }\n getDataElement(index) {\n return this._cachedMeta.data[index];\n }\n applyStack(scale, parsed, mode) {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const value = parsed[scale.axis];\n const stack = {\n keys: getSortedDatasetIndices(chart, true),\n values: parsed._stacks[scale.axis]\n };\n return applyStack(stack, value, meta.index, {mode});\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n const parsedValue = parsed[scale.axis];\n let value = parsedValue === null ? NaN : parsedValue;\n const values = stack && parsed._stacks[scale.axis];\n if (stack && values) {\n stack.values = values;\n value = applyStack(stack, parsedValue, this._cachedMeta.index);\n }\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n }\n getMinMax(scale, canStack) {\n const meta = this._cachedMeta;\n const _parsed = meta._parsed;\n const sorted = meta._sorted && scale === meta.iScale;\n const ilen = _parsed.length;\n const otherScale = this._getOtherScale(scale);\n const stack = createStack(canStack, meta, this.chart);\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n const {min: otherMin, max: otherMax} = getUserBounds(otherScale);\n let i, parsed;\n function _skip() {\n parsed = _parsed[i];\n const otherValue = parsed[otherScale.axis];\n return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue;\n }\n for (i = 0; i < ilen; ++i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n if (sorted) {\n break;\n }\n }\n if (sorted) {\n for (i = ilen - 1; i >= 0; --i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n break;\n }\n }\n return range;\n }\n getAllParsedValues(scale) {\n const parsed = this._cachedMeta._parsed;\n const values = [];\n let i, ilen, value;\n for (i = 0, ilen = parsed.length; i < ilen; ++i) {\n value = parsed[i][scale.axis];\n if (isNumberFinite(value)) {\n values.push(value);\n }\n }\n return values;\n }\n getMaxOverflow() {\n return false;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n };\n }\n _update(mode) {\n const meta = this._cachedMeta;\n this.update(mode || 'default');\n meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow())));\n }\n update(mode) {}\n draw() {\n const ctx = this._ctx;\n const chart = this.chart;\n const meta = this._cachedMeta;\n const elements = meta.data || [];\n const area = chart.chartArea;\n const active = [];\n const start = this._drawStart || 0;\n const count = this._drawCount || (elements.length - start);\n const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop;\n let i;\n if (meta.dataset) {\n meta.dataset.draw(ctx, area, start, count);\n }\n for (i = start; i < start + count; ++i) {\n const element = elements[i];\n if (element.hidden) {\n continue;\n }\n if (element.active && drawActiveElementsOnTop) {\n active.push(element);\n } else {\n element.draw(ctx, area);\n }\n }\n for (i = 0; i < active.length; ++i) {\n active[i].draw(ctx, area);\n }\n }\n getStyle(index, active) {\n const mode = active ? 'active' : 'default';\n return index === undefined && this._cachedMeta.dataset\n ? this.resolveDatasetElementOptions(mode)\n : this.resolveDataElementOptions(index || 0, mode);\n }\n getContext(index, active, mode) {\n const dataset = this.getDataset();\n let context;\n if (index >= 0 && index < this._cachedMeta.data.length) {\n const element = this._cachedMeta.data[index];\n context = element.$context ||\n (element.$context = createDataContext(this.getContext(), index, element));\n context.parsed = this.getParsed(index);\n context.raw = dataset.data[index];\n context.index = context.dataIndex = index;\n } else {\n context = this.$context ||\n (this.$context = createDatasetContext(this.chart.getContext(), this.index));\n context.dataset = dataset;\n context.index = context.datasetIndex = this.index;\n }\n context.active = !!active;\n context.mode = mode;\n return context;\n }\n resolveDatasetElementOptions(mode) {\n return this._resolveElementOptions(this.datasetElementType.id, mode);\n }\n resolveDataElementOptions(index, mode) {\n return this._resolveElementOptions(this.dataElementType.id, mode, index);\n }\n _resolveElementOptions(elementType, mode = 'default', index) {\n const active = mode === 'active';\n const cache = this._cachedDataOpts;\n const cacheKey = elementType + '-' + mode;\n const cached = cache[cacheKey];\n const sharing = this.enableOptionSharing && defined(index);\n if (cached) {\n return cloneIfNotShared(cached, sharing);\n }\n const config = this.chart.config;\n const scopeKeys = config.datasetElementScopeKeys(this._type, elementType);\n const prefixes = active ? [`${elementType}Hover`, 'hover', elementType, ''] : [elementType, ''];\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n const names = Object.keys(defaults.elements[elementType]);\n const context = () => this.getContext(index, active);\n const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n if (values.$shared) {\n values.$shared = sharing;\n cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n }\n return values;\n }\n _resolveAnimations(index, transition, active) {\n const chart = this.chart;\n const cache = this._cachedDataOpts;\n const cacheKey = `animation-${transition}`;\n const cached = cache[cacheKey];\n if (cached) {\n return cached;\n }\n let options;\n if (chart.options.animation !== false) {\n const config = this.chart.config;\n const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n options = config.createResolver(scopes, this.getContext(index, active, transition));\n }\n const animations = new Animations(chart, options && options.animations);\n if (options && options._cacheable) {\n cache[cacheKey] = Object.freeze(animations);\n }\n return animations;\n }\n getSharedOptions(options) {\n if (!options.$shared) {\n return;\n }\n return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n }\n includeOptions(mode, sharedOptions) {\n return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n }\n _getSharedOptions(start, mode) {\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const previouslySharedOptions = this._sharedOptions;\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions) || (sharedOptions !== previouslySharedOptions);\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n return {sharedOptions, includeOptions};\n }\n updateElement(element, index, properties, mode) {\n if (isDirectUpdateMode(mode)) {\n Object.assign(element, properties);\n } else {\n this._resolveAnimations(index, mode).update(element, properties);\n }\n }\n updateSharedOptions(sharedOptions, mode, newOptions) {\n if (sharedOptions && !isDirectUpdateMode(mode)) {\n this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n }\n }\n _setStyle(element, index, mode, active) {\n element.active = active;\n const options = this.getStyle(index, active);\n this._resolveAnimations(index, mode, active).update(element, {\n options: (!active && this.getSharedOptions(options)) || options\n });\n }\n removeHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', false);\n }\n setHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', true);\n }\n _removeDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', false);\n }\n }\n _setDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', true);\n }\n }\n _resyncElements(resetNewElements) {\n const data = this._data;\n const elements = this._cachedMeta.data;\n for (const [method, arg1, arg2] of this._syncList) {\n this[method](arg1, arg2);\n }\n this._syncList = [];\n const numMeta = elements.length;\n const numData = data.length;\n const count = Math.min(numData, numMeta);\n if (count) {\n this.parse(0, count);\n }\n if (numData > numMeta) {\n this._insertElements(numMeta, numData - numMeta, resetNewElements);\n } else if (numData < numMeta) {\n this._removeElements(numData, numMeta - numData);\n }\n }\n _insertElements(start, count, resetNewElements = true) {\n const meta = this._cachedMeta;\n const data = meta.data;\n const end = start + count;\n let i;\n const move = (arr) => {\n arr.length += count;\n for (i = arr.length - 1; i >= end; i--) {\n arr[i] = arr[i - count];\n }\n };\n move(data);\n for (i = start; i < end; ++i) {\n data[i] = new this.dataElementType();\n }\n if (this._parsing) {\n move(meta._parsed);\n }\n this.parse(start, count);\n if (resetNewElements) {\n this.updateElements(data, start, count, 'reset');\n }\n }\n updateElements(element, start, count, mode) {}\n _removeElements(start, count) {\n const meta = this._cachedMeta;\n if (this._parsing) {\n const removed = meta._parsed.splice(start, count);\n if (meta._stacked) {\n clearStacks(meta, removed);\n }\n }\n meta.data.splice(start, count);\n }\n _sync(args) {\n if (this._parsing) {\n this._syncList.push(args);\n } else {\n const [method, arg1, arg2] = args;\n this[method](arg1, arg2);\n }\n this.chart._dataChanges.push([this.index, ...args]);\n }\n _onDataPush() {\n const count = arguments.length;\n this._sync(['_insertElements', this.getDataset().data.length - count, count]);\n }\n _onDataPop() {\n this._sync(['_removeElements', this._cachedMeta.data.length - 1, 1]);\n }\n _onDataShift() {\n this._sync(['_removeElements', 0, 1]);\n }\n _onDataSplice(start, count) {\n if (count) {\n this._sync(['_removeElements', start, count]);\n }\n const newCount = arguments.length - 2;\n if (newCount) {\n this._sync(['_insertElements', start, newCount]);\n }\n }\n _onDataUnshift() {\n this._sync(['_insertElements', 0, arguments.length]);\n }\n}\nDatasetController.defaults = {};\nDatasetController.prototype.datasetElementType = null;\nDatasetController.prototype.dataElementType = null;\n\nfunction getAllScaleValues(scale, type) {\n if (!scale._cache.$bar) {\n const visibleMetas = scale.getMatchingVisibleMetas(type);\n let values = [];\n for (let i = 0, ilen = visibleMetas.length; i < ilen; i++) {\n values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale));\n }\n scale._cache.$bar = _arrayUnique(values.sort((a, b) => a - b));\n }\n return scale._cache.$bar;\n}\nfunction computeMinSampleSize(meta) {\n const scale = meta.iScale;\n const values = getAllScaleValues(scale, meta.type);\n let min = scale._length;\n let i, ilen, curr, prev;\n const updateMinAndPrev = () => {\n if (curr === 32767 || curr === -32768) {\n return;\n }\n if (defined(prev)) {\n min = Math.min(min, Math.abs(curr - prev) || min);\n }\n prev = curr;\n };\n for (i = 0, ilen = values.length; i < ilen; ++i) {\n curr = scale.getPixelForValue(values[i]);\n updateMinAndPrev();\n }\n prev = undefined;\n for (i = 0, ilen = scale.ticks.length; i < ilen; ++i) {\n curr = scale.getPixelForTick(i);\n updateMinAndPrev();\n }\n return min;\n}\nfunction computeFitCategoryTraits(index, ruler, options, stackCount) {\n const thickness = options.barThickness;\n let size, ratio;\n if (isNullOrUndef(thickness)) {\n size = ruler.min * options.categoryPercentage;\n ratio = options.barPercentage;\n } else {\n size = thickness * stackCount;\n ratio = 1;\n }\n return {\n chunk: size / stackCount,\n ratio,\n start: ruler.pixels[index] - (size / 2)\n };\n}\nfunction computeFlexCategoryTraits(index, ruler, options, stackCount) {\n const pixels = ruler.pixels;\n const curr = pixels[index];\n let prev = index > 0 ? pixels[index - 1] : null;\n let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n const percent = options.categoryPercentage;\n if (prev === null) {\n prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n }\n if (next === null) {\n next = curr + curr - prev;\n }\n const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n const size = Math.abs(next - prev) / 2 * percent;\n return {\n chunk: size / stackCount,\n ratio: options.barPercentage,\n start\n };\n}\nfunction parseFloatBar(entry, item, vScale, i) {\n const startValue = vScale.parse(entry[0], i);\n const endValue = vScale.parse(entry[1], i);\n const min = Math.min(startValue, endValue);\n const max = Math.max(startValue, endValue);\n let barStart = min;\n let barEnd = max;\n if (Math.abs(min) > Math.abs(max)) {\n barStart = max;\n barEnd = min;\n }\n item[vScale.axis] = barEnd;\n item._custom = {\n barStart,\n barEnd,\n start: startValue,\n end: endValue,\n min,\n max\n };\n}\nfunction parseValue(entry, item, vScale, i) {\n if (isArray(entry)) {\n parseFloatBar(entry, item, vScale, i);\n } else {\n item[vScale.axis] = vScale.parse(entry, i);\n }\n return item;\n}\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = [];\n let i, ilen, item, entry;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n entry = data[i];\n item = {};\n item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n parsed.push(parseValue(entry, item, vScale, i));\n }\n return parsed;\n}\nfunction isFloatBar(custom) {\n return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\nfunction barSign(size, vScale, actualBase) {\n if (size !== 0) {\n return sign(size);\n }\n return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\nfunction borderProps(properties) {\n let reverse, start, end, top, bottom;\n if (properties.horizontal) {\n reverse = properties.base > properties.x;\n start = 'left';\n end = 'right';\n } else {\n reverse = properties.base < properties.y;\n start = 'bottom';\n end = 'top';\n }\n if (reverse) {\n top = 'end';\n bottom = 'start';\n } else {\n top = 'start';\n bottom = 'end';\n }\n return {start, end, reverse, top, bottom};\n}\nfunction setBorderSkipped(properties, options, stack, index) {\n let edge = options.borderSkipped;\n const res = {};\n if (!edge) {\n properties.borderSkipped = res;\n return;\n }\n if (edge === true) {\n properties.borderSkipped = {top: true, right: true, bottom: true, left: true};\n return;\n }\n const {start, end, reverse, top, bottom} = borderProps(properties);\n if (edge === 'middle' && stack) {\n properties.enableBorderRadius = true;\n if ((stack._top || 0) === index) {\n edge = top;\n } else if ((stack._bottom || 0) === index) {\n edge = bottom;\n } else {\n res[parseEdge(bottom, start, end, reverse)] = true;\n edge = top;\n }\n }\n res[parseEdge(edge, start, end, reverse)] = true;\n properties.borderSkipped = res;\n}\nfunction parseEdge(edge, a, b, reverse) {\n if (reverse) {\n edge = swap(edge, a, b);\n edge = startEnd(edge, b, a);\n } else {\n edge = startEnd(edge, a, b);\n }\n return edge;\n}\nfunction swap(orig, v1, v2) {\n return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\nfunction startEnd(v, start, end) {\n return v === 'start' ? start : v === 'end' ? end : v;\n}\nfunction setInflateAmount(properties, {inflateAmount}, ratio) {\n properties.inflateAmount = inflateAmount === 'auto'\n ? ratio === 1 ? 0.33 : 0\n : inflateAmount;\n}\nclass BarController extends DatasetController {\n parsePrimitiveData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseArrayData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseObjectData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n const parsed = [];\n let i, ilen, item, obj;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n obj = data[i];\n item = {};\n item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i);\n parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i));\n }\n return parsed;\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n super.updateRangeFromParsed(range, scale, parsed, stack);\n const custom = parsed._custom;\n if (custom && scale === this._cachedMeta.vScale) {\n range.min = Math.min(range.min, custom.min);\n range.max = Math.max(range.max, custom.max);\n }\n }\n getMaxOverflow() {\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {iScale, vScale} = meta;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const value = isFloatBar(custom)\n ? '[' + custom.start + ', ' + custom.end + ']'\n : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n return {\n label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n value\n };\n }\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n const meta = this._cachedMeta;\n meta.stack = this.getDataset().stack;\n }\n update(mode) {\n const meta = this._cachedMeta;\n this.updateElements(meta.data, 0, meta.data.length, mode);\n }\n updateElements(bars, start, count, mode) {\n const reset = mode === 'reset';\n const {index, _cachedMeta: {vScale}} = this;\n const base = vScale.getBasePixel();\n const horizontal = vScale.isHorizontal();\n const ruler = this._getRuler();\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n for (let i = start; i < start + count; i++) {\n const parsed = this.getParsed(i);\n const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {base, head: base} : this._calculateBarValuePixels(i);\n const ipixels = this._calculateBarIndexPixels(i, ruler);\n const stack = (parsed._stacks || {})[vScale.axis];\n const properties = {\n horizontal,\n base: vpixels.base,\n enableBorderRadius: !stack || isFloatBar(parsed._custom) || (index === stack._top || index === stack._bottom),\n x: horizontal ? vpixels.head : ipixels.center,\n y: horizontal ? ipixels.center : vpixels.head,\n height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n }\n const options = properties.options || bars[i].options;\n setBorderSkipped(properties, options, stack, index);\n setInflateAmount(properties, options, ruler.ratio);\n this.updateElement(bars[i], i, properties, mode);\n }\n }\n _getStacks(last, dataIndex) {\n const {iScale} = this._cachedMeta;\n const metasets = iScale.getMatchingVisibleMetas(this._type)\n .filter(meta => meta.controller.options.grouped);\n const stacked = iScale.options.stacked;\n const stacks = [];\n const skipNull = (meta) => {\n const parsed = meta.controller.getParsed(dataIndex);\n const val = parsed && parsed[meta.vScale.axis];\n if (isNullOrUndef(val) || isNaN(val)) {\n return true;\n }\n };\n for (const meta of metasets) {\n if (dataIndex !== undefined && skipNull(meta)) {\n continue;\n }\n if (stacked === false || stacks.indexOf(meta.stack) === -1 ||\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\n stacks.push(meta.stack);\n }\n if (meta.index === last) {\n break;\n }\n }\n if (!stacks.length) {\n stacks.push(undefined);\n }\n return stacks;\n }\n _getStackCount(index) {\n return this._getStacks(undefined, index).length;\n }\n _getStackIndex(datasetIndex, name, dataIndex) {\n const stacks = this._getStacks(datasetIndex, dataIndex);\n const index = (name !== undefined)\n ? stacks.indexOf(name)\n : -1;\n return (index === -1)\n ? stacks.length - 1\n : index;\n }\n _getRuler() {\n const opts = this.options;\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const pixels = [];\n let i, ilen;\n for (i = 0, ilen = meta.data.length; i < ilen; ++i) {\n pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i));\n }\n const barThickness = opts.barThickness;\n const min = barThickness || computeMinSampleSize(meta);\n return {\n min,\n pixels,\n start: iScale._startPixel,\n end: iScale._endPixel,\n stackCount: this._getStackCount(),\n scale: iScale,\n grouped: opts.grouped,\n ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n };\n }\n _calculateBarValuePixels(index) {\n const {_cachedMeta: {vScale, _stacked}, options: {base: baseValue, minBarLength}} = this;\n const actualBase = baseValue || 0;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const floating = isFloatBar(custom);\n let value = parsed[vScale.axis];\n let start = 0;\n let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value;\n let head, size;\n if (length !== value) {\n start = length - value;\n length = value;\n }\n if (floating) {\n value = custom.barStart;\n length = custom.barEnd - custom.barStart;\n if (value !== 0 && sign(value) !== sign(custom.barEnd)) {\n start = 0;\n }\n start += value;\n }\n const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start;\n let base = vScale.getPixelForValue(startValue);\n if (this.chart.getDataVisibility(index)) {\n head = vScale.getPixelForValue(start + length);\n } else {\n head = base;\n }\n size = head - base;\n if (Math.abs(size) < minBarLength) {\n size = barSign(size, vScale, actualBase) * minBarLength;\n if (value === actualBase) {\n base -= size / 2;\n }\n const startPixel = vScale.getPixelForDecimal(0);\n const endPixel = vScale.getPixelForDecimal(1);\n const min = Math.min(startPixel, endPixel);\n const max = Math.max(startPixel, endPixel);\n base = Math.max(Math.min(base, max), min);\n head = base + size;\n }\n if (base === vScale.getPixelForValue(actualBase)) {\n const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2;\n base += halfGrid;\n size -= halfGrid;\n }\n return {\n size,\n base,\n head,\n center: head + size / 2\n };\n }\n _calculateBarIndexPixels(index, ruler) {\n const scale = ruler.scale;\n const options = this.options;\n const skipNull = options.skipNull;\n const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity);\n let center, size;\n if (ruler.grouped) {\n const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount;\n const range = options.barThickness === 'flex'\n ? computeFlexCategoryTraits(index, ruler, options, stackCount)\n : computeFitCategoryTraits(index, ruler, options, stackCount);\n const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined);\n center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\n size = Math.min(maxBarThickness, range.chunk * range.ratio);\n } else {\n center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index);\n size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n }\n return {\n base: center - size / 2,\n head: center + size / 2,\n center,\n size\n };\n }\n draw() {\n const meta = this._cachedMeta;\n const vScale = meta.vScale;\n const rects = meta.data;\n const ilen = rects.length;\n let i = 0;\n for (; i < ilen; ++i) {\n if (this.getParsed(i)[vScale.axis] !== null) {\n rects[i].draw(this._ctx);\n }\n }\n }\n}\nBarController.id = 'bar';\nBarController.defaults = {\n datasetElementType: false,\n dataElementType: 'bar',\n categoryPercentage: 0.8,\n barPercentage: 0.9,\n grouped: true,\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'base', 'width', 'height']\n }\n }\n};\nBarController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n offset: true,\n grid: {\n offset: true\n }\n },\n _value_: {\n type: 'linear',\n beginAtZero: true,\n }\n }\n};\n\nclass BubbleController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n parsePrimitiveData(meta, data, start, count) {\n const parsed = super.parsePrimitiveData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n parsed[i]._custom = this.resolveDataElementOptions(i + start).radius;\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const parsed = super.parseArrayData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const parsed = super.parseObjectData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n getMaxOverflow() {\n const data = this._cachedMeta.data;\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {xScale, yScale} = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n const r = parsed._custom;\n return {\n label: meta.label,\n value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n };\n }\n update(mode) {\n const points = this._cachedMeta.data;\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const parsed = !reset && this.getParsed(i);\n const properties = {};\n const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n properties.skip = isNaN(iPixel) || isNaN(vPixel);\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n if (reset) {\n properties.options.radius = 0;\n }\n }\n this.updateElement(point, i, properties, mode);\n }\n }\n resolveDataElementOptions(index, mode) {\n const parsed = this.getParsed(index);\n let values = super.resolveDataElementOptions(index, mode);\n if (values.$shared) {\n values = Object.assign({}, values, {$shared: false});\n }\n const radius = values.radius;\n if (mode !== 'active') {\n values.radius = 0;\n }\n values.radius += valueOrDefault(parsed && parsed._custom, radius);\n return values;\n }\n}\nBubbleController.id = 'bubble';\nBubbleController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'borderWidth', 'radius']\n }\n }\n};\nBubbleController.overrides = {\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n }\n }\n }\n }\n};\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n let ratioX = 1;\n let ratioY = 1;\n let offsetX = 0;\n let offsetY = 0;\n if (circumference < TAU) {\n const startAngle = rotation;\n const endAngle = startAngle + circumference;\n const startX = Math.cos(startAngle);\n const startY = Math.sin(startAngle);\n const endX = Math.cos(endAngle);\n const endY = Math.sin(endAngle);\n const calcMax = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n const calcMin = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n const maxX = calcMax(0, startX, endX);\n const maxY = calcMax(HALF_PI, startY, endY);\n const minX = calcMin(PI, startX, endX);\n const minY = calcMin(PI + HALF_PI, startY, endY);\n ratioX = (maxX - minX) / 2;\n ratioY = (maxY - minY) / 2;\n offsetX = -(maxX + minX) / 2;\n offsetY = -(maxY + minY) / 2;\n }\n return {ratioX, ratioY, offsetX, offsetY};\n}\nclass DoughnutController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.enableOptionSharing = true;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.offsetX = undefined;\n this.offsetY = undefined;\n }\n linkScales() {}\n parse(start, count) {\n const data = this.getDataset().data;\n const meta = this._cachedMeta;\n if (this._parsing === false) {\n meta._parsed = data;\n } else {\n let getter = (i) => +data[i];\n if (isObject(data[start])) {\n const {key = 'value'} = this._parsing;\n getter = (i) => +resolveObjectKey(data[i], key);\n }\n let i, ilen;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n meta._parsed[i] = getter(i);\n }\n }\n }\n _getRotation() {\n return toRadians(this.options.rotation - 90);\n }\n _getCircumference() {\n return toRadians(this.options.circumference);\n }\n _getRotationExtents() {\n let min = TAU;\n let max = -TAU;\n for (let i = 0; i < this.chart.data.datasets.length; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n const controller = this.chart.getDatasetMeta(i).controller;\n const rotation = controller._getRotation();\n const circumference = controller._getCircumference();\n min = Math.min(min, rotation);\n max = Math.max(max, rotation + circumference);\n }\n }\n return {\n rotation: min,\n circumference: max - min,\n };\n }\n update(mode) {\n const chart = this.chart;\n const {chartArea} = chart;\n const meta = this._cachedMeta;\n const arcs = meta.data;\n const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing;\n const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1);\n const chartWeight = this._getRingWeight(this.index);\n const {circumference, rotation} = this._getRotationExtents();\n const {ratioX, ratioY, offsetX, offsetY} = getRatioAndOffset(rotation, circumference, cutout);\n const maxWidth = (chartArea.width - spacing) / ratioX;\n const maxHeight = (chartArea.height - spacing) / ratioY;\n const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n const outerRadius = toDimension(this.options.radius, maxRadius);\n const innerRadius = Math.max(outerRadius * cutout, 0);\n const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal();\n this.offsetX = offsetX * outerRadius;\n this.offsetY = offsetY * outerRadius;\n meta.total = this.calculateTotal();\n this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index);\n this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0);\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n _circumference(i, reset) {\n const opts = this.options;\n const meta = this._cachedMeta;\n const circumference = this._getCircumference();\n if ((reset && opts.animation.animateRotate) || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n return 0;\n }\n return this.calculateCircumference(meta._parsed[i] * circumference / TAU);\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const centerX = (chartArea.left + chartArea.right) / 2;\n const centerY = (chartArea.top + chartArea.bottom) / 2;\n const animateScale = reset && animationOpts.animateScale;\n const innerRadius = animateScale ? 0 : this.innerRadius;\n const outerRadius = animateScale ? 0 : this.outerRadius;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n let startAngle = this._getRotation();\n let i;\n for (i = 0; i < start; ++i) {\n startAngle += this._circumference(i, reset);\n }\n for (i = start; i < start + count; ++i) {\n const circumference = this._circumference(i, reset);\n const arc = arcs[i];\n const properties = {\n x: centerX + this.offsetX,\n y: centerY + this.offsetY,\n startAngle,\n endAngle: startAngle + circumference,\n circumference,\n outerRadius,\n innerRadius\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n }\n startAngle += circumference;\n this.updateElement(arc, i, properties, mode);\n }\n }\n calculateTotal() {\n const meta = this._cachedMeta;\n const metaData = meta.data;\n let total = 0;\n let i;\n for (i = 0; i < metaData.length; i++) {\n const value = meta._parsed[i];\n if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n total += Math.abs(value);\n }\n }\n return total;\n }\n calculateCircumference(value) {\n const total = this._cachedMeta.total;\n if (total > 0 && !isNaN(value)) {\n return TAU * (Math.abs(value) / total);\n }\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index], chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n getMaxBorderWidth(arcs) {\n let max = 0;\n const chart = this.chart;\n let i, ilen, meta, controller, options;\n if (!arcs) {\n for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\n if (chart.isDatasetVisible(i)) {\n meta = chart.getDatasetMeta(i);\n arcs = meta.data;\n controller = meta.controller;\n break;\n }\n }\n }\n if (!arcs) {\n return 0;\n }\n for (i = 0, ilen = arcs.length; i < ilen; ++i) {\n options = controller.resolveDataElementOptions(i);\n if (options.borderAlign !== 'inner') {\n max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n }\n }\n return max;\n }\n getMaxOffset(arcs) {\n let max = 0;\n for (let i = 0, ilen = arcs.length; i < ilen; ++i) {\n const options = this.resolveDataElementOptions(i);\n max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n }\n return max;\n }\n _getRingWeightOffset(datasetIndex) {\n let ringWeightOffset = 0;\n for (let i = 0; i < datasetIndex; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n ringWeightOffset += this._getRingWeight(i);\n }\n }\n return ringWeightOffset;\n }\n _getRingWeight(datasetIndex) {\n return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n }\n _getVisibleDatasetWeightTotal() {\n return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n }\n}\nDoughnutController.id = 'doughnut';\nDoughnutController.defaults = {\n datasetElementType: false,\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: false\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['circumference', 'endAngle', 'innerRadius', 'outerRadius', 'startAngle', 'x', 'y', 'offset', 'borderWidth', 'spacing']\n },\n },\n cutout: '50%',\n rotation: 0,\n circumference: 360,\n radius: '100%',\n spacing: 0,\n indexAxis: 'r',\n};\nDoughnutController.descriptors = {\n _scriptable: (name) => name !== 'spacing',\n _indexable: (name) => name !== 'spacing',\n};\nDoughnutController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(tooltipItem) {\n let dataLabel = tooltipItem.label;\n const value = ': ' + tooltipItem.formattedValue;\n if (isArray(dataLabel)) {\n dataLabel = dataLabel.slice();\n dataLabel[0] += value;\n } else {\n dataLabel += value;\n }\n return dataLabel;\n }\n }\n }\n }\n};\n\nclass LineController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n this.supportsDecimation = true;\n super.initialize();\n }\n update(mode) {\n const meta = this._cachedMeta;\n const {dataset: line, data: points = [], _dataset} = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n this.updateElements(points, start, count, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n const data = meta.data || [];\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n draw() {\n const meta = this._cachedMeta;\n meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n super.draw();\n }\n}\nLineController.id = 'line';\nLineController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n showLine: true,\n spanGaps: false,\n};\nLineController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n },\n _value_: {\n type: 'linear',\n },\n }\n};\n\nclass PolarAreaController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index].r, chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const arcs = this._cachedMeta.data;\n this._updateRadius();\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n getMinMax() {\n const meta = this._cachedMeta;\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n meta.data.forEach((element, index) => {\n const parsed = this.getParsed(index).r;\n if (!isNaN(parsed) && this.chart.getDataVisibility(index)) {\n if (parsed < range.min) {\n range.min = parsed;\n }\n if (parsed > range.max) {\n range.max = parsed;\n }\n }\n });\n return range;\n }\n _updateRadius() {\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n const outerRadius = Math.max(minSize / 2, 0);\n const innerRadius = Math.max(opts.cutoutPercentage ? (outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n this.outerRadius = outerRadius - (radiusLength * this.index);\n this.innerRadius = this.outerRadius - radiusLength;\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const scale = this._cachedMeta.rScale;\n const centerX = scale.xCenter;\n const centerY = scale.yCenter;\n const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI;\n let angle = datasetStartAngle;\n let i;\n const defaultAngle = 360 / this.countVisibleElements();\n for (i = 0; i < start; ++i) {\n angle += this._computeAngle(i, mode, defaultAngle);\n }\n for (i = start; i < start + count; i++) {\n const arc = arcs[i];\n let startAngle = angle;\n let endAngle = angle + this._computeAngle(i, mode, defaultAngle);\n let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0;\n angle = endAngle;\n if (reset) {\n if (animationOpts.animateScale) {\n outerRadius = 0;\n }\n if (animationOpts.animateRotate) {\n startAngle = endAngle = datasetStartAngle;\n }\n }\n const properties = {\n x: centerX,\n y: centerY,\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle,\n options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n };\n this.updateElement(arc, i, properties, mode);\n }\n }\n countVisibleElements() {\n const meta = this._cachedMeta;\n let count = 0;\n meta.data.forEach((element, index) => {\n if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) {\n count++;\n }\n });\n return count;\n }\n _computeAngle(index, mode, defaultAngle) {\n return this.chart.getDataVisibility(index)\n ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle)\n : 0;\n }\n}\nPolarAreaController.id = 'polarArea';\nPolarAreaController.defaults = {\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: true\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius']\n },\n },\n indexAxis: 'r',\n startAngle: 0,\n};\nPolarAreaController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(context) {\n return context.chart.data.labels[context.dataIndex] + ': ' + context.formattedValue;\n }\n }\n }\n },\n scales: {\n r: {\n type: 'radialLinear',\n angleLines: {\n display: false\n },\n beginAtZero: true,\n grid: {\n circular: true\n },\n pointLabels: {\n display: false\n },\n startAngle: 0\n }\n }\n};\n\nclass PieController extends DoughnutController {\n}\nPieController.id = 'pie';\nPieController.defaults = {\n cutout: 0,\n rotation: 0,\n circumference: 360,\n radius: '100%'\n};\n\nclass RadarController extends DatasetController {\n getLabelAndValue(index) {\n const vScale = this._cachedMeta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: vScale.getLabels()[index],\n value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const meta = this._cachedMeta;\n const line = meta.dataset;\n const points = meta.data || [];\n const labels = meta.iScale.getLabels();\n line.points = points;\n if (mode !== 'resize') {\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n const properties = {\n _loop: true,\n _fullLoop: labels.length === points.length,\n options\n };\n this.updateElement(line, undefined, properties, mode);\n }\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const scale = this._cachedMeta.rScale;\n const reset = mode === 'reset';\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r);\n const x = reset ? scale.xCenter : pointPosition.x;\n const y = reset ? scale.yCenter : pointPosition.y;\n const properties = {\n x,\n y,\n angle: pointPosition.angle,\n skip: isNaN(x) || isNaN(y),\n options\n };\n this.updateElement(point, i, properties, mode);\n }\n }\n}\nRadarController.id = 'radar';\nRadarController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n indexAxis: 'r',\n showLine: true,\n elements: {\n line: {\n fill: 'start'\n }\n },\n};\nRadarController.overrides = {\n aspectRatio: 1,\n scales: {\n r: {\n type: 'radialLinear',\n }\n }\n};\n\nclass Element {\n constructor() {\n this.x = undefined;\n this.y = undefined;\n this.active = false;\n this.options = undefined;\n this.$animations = undefined;\n }\n tooltipPosition(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n hasValue() {\n return isNumber(this.x) && isNumber(this.y);\n }\n getProps(props, final) {\n const anims = this.$animations;\n if (!final || !anims) {\n return this;\n }\n const ret = {};\n props.forEach(prop => {\n ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop];\n });\n return ret;\n }\n}\nElement.defaults = {};\nElement.defaultRoutes = undefined;\n\nconst formatters = {\n values(value) {\n return isArray(value) ? value : '' + value;\n },\n numeric(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const locale = this.chart.options.locale;\n let notation;\n let delta = tickValue;\n if (ticks.length > 1) {\n const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n if (maxTick < 1e-4 || maxTick > 1e+15) {\n notation = 'scientific';\n }\n delta = calculateDelta(tickValue, ticks);\n }\n const logDelta = log10(Math.abs(delta));\n const numDecimal = Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n const options = {notation, minimumFractionDigits: numDecimal, maximumFractionDigits: numDecimal};\n Object.assign(options, this.options.ticks.format);\n return formatNumber(tickValue, locale, options);\n },\n logarithmic(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const remain = tickValue / (Math.pow(10, Math.floor(log10(tickValue))));\n if (remain === 1 || remain === 2 || remain === 5) {\n return formatters.numeric.call(this, tickValue, index, ticks);\n }\n return '';\n }\n};\nfunction calculateDelta(tickValue, ticks) {\n let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n delta = tickValue - Math.floor(tickValue);\n }\n return delta;\n}\nvar Ticks = {formatters};\n\ndefaults.set('scale', {\n display: true,\n offset: false,\n reverse: false,\n beginAtZero: false,\n bounds: 'ticks',\n grace: 0,\n grid: {\n display: true,\n lineWidth: 1,\n drawBorder: true,\n drawOnChartArea: true,\n drawTicks: true,\n tickLength: 8,\n tickWidth: (_ctx, options) => options.lineWidth,\n tickColor: (_ctx, options) => options.color,\n offset: false,\n borderDash: [],\n borderDashOffset: 0.0,\n borderWidth: 1\n },\n title: {\n display: false,\n text: '',\n padding: {\n top: 4,\n bottom: 4\n }\n },\n ticks: {\n minRotation: 0,\n maxRotation: 50,\n mirror: false,\n textStrokeWidth: 0,\n textStrokeColor: '',\n padding: 3,\n display: true,\n autoSkip: true,\n autoSkipPadding: 3,\n labelOffset: 0,\n callback: Ticks.formatters.values,\n minor: {},\n major: {},\n align: 'center',\n crossAlign: 'near',\n showLabelBackdrop: false,\n backdropColor: 'rgba(255, 255, 255, 0.75)',\n backdropPadding: 2,\n }\n});\ndefaults.route('scale.ticks', 'color', '', 'color');\ndefaults.route('scale.grid', 'color', '', 'borderColor');\ndefaults.route('scale.grid', 'borderColor', '', 'borderColor');\ndefaults.route('scale.title', 'color', '', 'color');\ndefaults.describe('scale', {\n _fallback: false,\n _scriptable: (name) => !name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n _indexable: (name) => name !== 'borderDash' && name !== 'tickBorderDash',\n});\ndefaults.describe('scales', {\n _fallback: 'scale',\n});\ndefaults.describe('scale.ticks', {\n _scriptable: (name) => name !== 'backdropPadding' && name !== 'callback',\n _indexable: (name) => name !== 'backdropPadding',\n});\n\nfunction autoSkip(scale, ticks) {\n const tickOpts = scale.options.ticks;\n const ticksLimit = tickOpts.maxTicksLimit || determineMaxTicks(scale);\n const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n const numMajorIndices = majorIndices.length;\n const first = majorIndices[0];\n const last = majorIndices[numMajorIndices - 1];\n const newTicks = [];\n if (numMajorIndices > ticksLimit) {\n skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n return newTicks;\n }\n const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n if (numMajorIndices > 0) {\n let i, ilen;\n const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n for (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) {\n skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n }\n skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n return newTicks;\n }\n skip(ticks, newTicks, spacing);\n return newTicks;\n}\nfunction determineMaxTicks(scale) {\n const offset = scale.options.offset;\n const tickLength = scale._tickSize();\n const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n const maxChart = scale._maxLength / tickLength;\n return Math.floor(Math.min(maxScale, maxChart));\n}\nfunction calculateSpacing(majorIndices, ticks, ticksLimit) {\n const evenMajorSpacing = getEvenSpacing(majorIndices);\n const spacing = ticks.length / ticksLimit;\n if (!evenMajorSpacing) {\n return Math.max(spacing, 1);\n }\n const factors = _factorize(evenMajorSpacing);\n for (let i = 0, ilen = factors.length - 1; i < ilen; i++) {\n const factor = factors[i];\n if (factor > spacing) {\n return factor;\n }\n }\n return Math.max(spacing, 1);\n}\nfunction getMajorIndices(ticks) {\n const result = [];\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (ticks[i].major) {\n result.push(i);\n }\n }\n return result;\n}\nfunction skipMajors(ticks, newTicks, majorIndices, spacing) {\n let count = 0;\n let next = majorIndices[0];\n let i;\n spacing = Math.ceil(spacing);\n for (i = 0; i < ticks.length; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = majorIndices[count * spacing];\n }\n }\n}\nfunction skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n const start = valueOrDefault(majorStart, 0);\n const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length);\n let count = 0;\n let length, i, next;\n spacing = Math.ceil(spacing);\n if (majorEnd) {\n length = majorEnd - majorStart;\n spacing = length / Math.floor(length / spacing);\n }\n next = start;\n while (next < 0) {\n count++;\n next = Math.round(start + count * spacing);\n }\n for (i = Math.max(start, 0); i < end; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = Math.round(start + count * spacing);\n }\n }\n}\nfunction getEvenSpacing(arr) {\n const len = arr.length;\n let i, diff;\n if (len < 2) {\n return false;\n }\n for (diff = arr[0], i = 1; i < len; ++i) {\n if (arr[i] - arr[i - 1] !== diff) {\n return false;\n }\n }\n return diff;\n}\n\nconst reverseAlign = (align) => align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset) => edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nfunction sample(arr, numItems) {\n const result = [];\n const increment = arr.length / numItems;\n const len = arr.length;\n let i = 0;\n for (; i < len; i += increment) {\n result.push(arr[Math.floor(i)]);\n }\n return result;\n}\nfunction getPixelForGridLine(scale, index, offsetGridLines) {\n const length = scale.ticks.length;\n const validIndex = Math.min(index, length - 1);\n const start = scale._startPixel;\n const end = scale._endPixel;\n const epsilon = 1e-6;\n let lineValue = scale.getPixelForTick(validIndex);\n let offset;\n if (offsetGridLines) {\n if (length === 1) {\n offset = Math.max(lineValue - start, end - lineValue);\n } else if (index === 0) {\n offset = (scale.getPixelForTick(1) - lineValue) / 2;\n } else {\n offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n }\n lineValue += validIndex < index ? offset : -offset;\n if (lineValue < start - epsilon || lineValue > end + epsilon) {\n return;\n }\n }\n return lineValue;\n}\nfunction garbageCollect(caches, length) {\n each(caches, (cache) => {\n const gc = cache.gc;\n const gcLen = gc.length / 2;\n let i;\n if (gcLen > length) {\n for (i = 0; i < gcLen; ++i) {\n delete cache.data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n });\n}\nfunction getTickMarkLength(options) {\n return options.drawTicks ? options.tickLength : 0;\n}\nfunction getTitleHeight(options, fallback) {\n if (!options.display) {\n return 0;\n }\n const font = toFont(options.font, fallback);\n const padding = toPadding(options.padding);\n const lines = isArray(options.text) ? options.text.length : 1;\n return (lines * font.lineHeight) + padding.height;\n}\nfunction createScaleContext(parent, scale) {\n return createContext(parent, {\n scale,\n type: 'scale'\n });\n}\nfunction createTickContext(parent, index, tick) {\n return createContext(parent, {\n tick,\n index,\n type: 'tick'\n });\n}\nfunction titleAlign(align, position, reverse) {\n let ret = _toLeftRightCenter(align);\n if ((reverse && position !== 'right') || (!reverse && position === 'right')) {\n ret = reverseAlign(ret);\n }\n return ret;\n}\nfunction titleArgs(scale, offset, position, align) {\n const {top, left, bottom, right, chart} = scale;\n const {chartArea, scales} = chart;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n const height = bottom - top;\n const width = right - left;\n if (scale.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n } else if (position === 'center') {\n titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n } else {\n titleY = offsetFromEdge(scale, position, offset);\n }\n maxWidth = right - left;\n } else {\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n } else if (position === 'center') {\n titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n } else {\n titleX = offsetFromEdge(scale, position, offset);\n }\n titleY = _alignStartEnd(align, bottom, top);\n rotation = position === 'left' ? -HALF_PI : HALF_PI;\n }\n return {titleX, titleY, maxWidth, rotation};\n}\nclass Scale extends Element {\n constructor(cfg) {\n super();\n this.id = cfg.id;\n this.type = cfg.type;\n this.options = undefined;\n this.ctx = cfg.ctx;\n this.chart = cfg.chart;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this._margins = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.maxWidth = undefined;\n this.maxHeight = undefined;\n this.paddingTop = undefined;\n this.paddingBottom = undefined;\n this.paddingLeft = undefined;\n this.paddingRight = undefined;\n this.axis = undefined;\n this.labelRotation = undefined;\n this.min = undefined;\n this.max = undefined;\n this._range = undefined;\n this.ticks = [];\n this._gridLineItems = null;\n this._labelItems = null;\n this._labelSizes = null;\n this._length = 0;\n this._maxLength = 0;\n this._longestTextCache = {};\n this._startPixel = undefined;\n this._endPixel = undefined;\n this._reversePixels = false;\n this._userMax = undefined;\n this._userMin = undefined;\n this._suggestedMax = undefined;\n this._suggestedMin = undefined;\n this._ticksLength = 0;\n this._borderValue = 0;\n this._cache = {};\n this._dataLimitsCached = false;\n this.$context = undefined;\n }\n init(options) {\n this.options = options.setContext(this.getContext());\n this.axis = options.axis;\n this._userMin = this.parse(options.min);\n this._userMax = this.parse(options.max);\n this._suggestedMin = this.parse(options.suggestedMin);\n this._suggestedMax = this.parse(options.suggestedMax);\n }\n parse(raw, index) {\n return raw;\n }\n getUserBounds() {\n let {_userMin, _userMax, _suggestedMin, _suggestedMax} = this;\n _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY);\n _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY);\n _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY);\n _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY);\n return {\n min: finiteOrDefault(_userMin, _suggestedMin),\n max: finiteOrDefault(_userMax, _suggestedMax),\n minDefined: isNumberFinite(_userMin),\n maxDefined: isNumberFinite(_userMax)\n };\n }\n getMinMax(canStack) {\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n let range;\n if (minDefined && maxDefined) {\n return {min, max};\n }\n const metas = this.getMatchingVisibleMetas();\n for (let i = 0, ilen = metas.length; i < ilen; ++i) {\n range = metas[i].controller.getMinMax(this, canStack);\n if (!minDefined) {\n min = Math.min(min, range.min);\n }\n if (!maxDefined) {\n max = Math.max(max, range.max);\n }\n }\n min = maxDefined && min > max ? max : min;\n max = minDefined && min > max ? min : max;\n return {\n min: finiteOrDefault(min, finiteOrDefault(max, min)),\n max: finiteOrDefault(max, finiteOrDefault(min, max))\n };\n }\n getPadding() {\n return {\n left: this.paddingLeft || 0,\n top: this.paddingTop || 0,\n right: this.paddingRight || 0,\n bottom: this.paddingBottom || 0\n };\n }\n getTicks() {\n return this.ticks;\n }\n getLabels() {\n const data = this.chart.data;\n return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n }\n beforeLayout() {\n this._cache = {};\n this._dataLimitsCached = false;\n }\n beforeUpdate() {\n callback(this.options.beforeUpdate, [this]);\n }\n update(maxWidth, maxHeight, margins) {\n const {beginAtZero, grace, ticks: tickOpts} = this.options;\n const sampleSize = tickOpts.sampleSize;\n this.beforeUpdate();\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins = Object.assign({\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, margins);\n this.ticks = null;\n this._labelSizes = null;\n this._gridLineItems = null;\n this._labelItems = null;\n this.beforeSetDimensions();\n this.setDimensions();\n this.afterSetDimensions();\n this._maxLength = this.isHorizontal()\n ? this.width + margins.left + margins.right\n : this.height + margins.top + margins.bottom;\n if (!this._dataLimitsCached) {\n this.beforeDataLimits();\n this.determineDataLimits();\n this.afterDataLimits();\n this._range = _addGrace(this, grace, beginAtZero);\n this._dataLimitsCached = true;\n }\n this.beforeBuildTicks();\n this.ticks = this.buildTicks() || [];\n this.afterBuildTicks();\n const samplingEnabled = sampleSize < this.ticks.length;\n this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks);\n this.configure();\n this.beforeCalculateLabelRotation();\n this.calculateLabelRotation();\n this.afterCalculateLabelRotation();\n if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n this.ticks = autoSkip(this, this.ticks);\n this._labelSizes = null;\n this.afterAutoSkip();\n }\n if (samplingEnabled) {\n this._convertTicksToLabels(this.ticks);\n }\n this.beforeFit();\n this.fit();\n this.afterFit();\n this.afterUpdate();\n }\n configure() {\n let reversePixels = this.options.reverse;\n let startPixel, endPixel;\n if (this.isHorizontal()) {\n startPixel = this.left;\n endPixel = this.right;\n } else {\n startPixel = this.top;\n endPixel = this.bottom;\n reversePixels = !reversePixels;\n }\n this._startPixel = startPixel;\n this._endPixel = endPixel;\n this._reversePixels = reversePixels;\n this._length = endPixel - startPixel;\n this._alignToPixels = this.options.alignToPixels;\n }\n afterUpdate() {\n callback(this.options.afterUpdate, [this]);\n }\n beforeSetDimensions() {\n callback(this.options.beforeSetDimensions, [this]);\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = 0;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = 0;\n this.bottom = this.height;\n }\n this.paddingLeft = 0;\n this.paddingTop = 0;\n this.paddingRight = 0;\n this.paddingBottom = 0;\n }\n afterSetDimensions() {\n callback(this.options.afterSetDimensions, [this]);\n }\n _callHooks(name) {\n this.chart.notifyPlugins(name, this.getContext());\n callback(this.options[name], [this]);\n }\n beforeDataLimits() {\n this._callHooks('beforeDataLimits');\n }\n determineDataLimits() {}\n afterDataLimits() {\n this._callHooks('afterDataLimits');\n }\n beforeBuildTicks() {\n this._callHooks('beforeBuildTicks');\n }\n buildTicks() {\n return [];\n }\n afterBuildTicks() {\n this._callHooks('afterBuildTicks');\n }\n beforeTickToLabelConversion() {\n callback(this.options.beforeTickToLabelConversion, [this]);\n }\n generateTickLabels(ticks) {\n const tickOpts = this.options.ticks;\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n tick = ticks[i];\n tick.label = callback(tickOpts.callback, [tick.value, i, ticks], this);\n }\n }\n afterTickToLabelConversion() {\n callback(this.options.afterTickToLabelConversion, [this]);\n }\n beforeCalculateLabelRotation() {\n callback(this.options.beforeCalculateLabelRotation, [this]);\n }\n calculateLabelRotation() {\n const options = this.options;\n const tickOpts = options.ticks;\n const numTicks = this.ticks.length;\n const minRotation = tickOpts.minRotation || 0;\n const maxRotation = tickOpts.maxRotation;\n let labelRotation = minRotation;\n let tickWidth, maxHeight, maxLabelDiagonal;\n if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) {\n this.labelRotation = minRotation;\n return;\n }\n const labelSizes = this._getLabelSizes();\n const maxLabelWidth = labelSizes.widest.width;\n const maxLabelHeight = labelSizes.highest.height;\n const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth);\n tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1);\n if (maxLabelWidth + 6 > tickWidth) {\n tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n maxHeight = this.maxHeight - getTickMarkLength(options.grid)\n\t\t\t\t- tickOpts.padding - getTitleHeight(options.title, this.chart.options.font);\n maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n labelRotation = toDegrees(Math.min(\n Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)),\n Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1))\n ));\n labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n }\n this.labelRotation = labelRotation;\n }\n afterCalculateLabelRotation() {\n callback(this.options.afterCalculateLabelRotation, [this]);\n }\n afterAutoSkip() {}\n beforeFit() {\n callback(this.options.beforeFit, [this]);\n }\n fit() {\n const minSize = {\n width: 0,\n height: 0\n };\n const {chart, options: {ticks: tickOpts, title: titleOpts, grid: gridOpts}} = this;\n const display = this._isVisible();\n const isHorizontal = this.isHorizontal();\n if (display) {\n const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n if (isHorizontal) {\n minSize.width = this.maxWidth;\n minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n } else {\n minSize.height = this.maxHeight;\n minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n }\n if (tickOpts.display && this.ticks.length) {\n const {first, last, widest, highest} = this._getLabelSizes();\n const tickPadding = tickOpts.padding * 2;\n const angleRadians = toRadians(this.labelRotation);\n const cos = Math.cos(angleRadians);\n const sin = Math.sin(angleRadians);\n if (isHorizontal) {\n const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding);\n } else {\n const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding);\n }\n this._calculatePadding(first, last, sin, cos);\n }\n }\n this._handleMargins();\n if (isHorizontal) {\n this.width = this._length = chart.width - this._margins.left - this._margins.right;\n this.height = minSize.height;\n } else {\n this.width = minSize.width;\n this.height = this._length = chart.height - this._margins.top - this._margins.bottom;\n }\n }\n _calculatePadding(first, last, sin, cos) {\n const {ticks: {align, padding}, position} = this.options;\n const isRotated = this.labelRotation !== 0;\n const labelsBelowTicks = position !== 'top' && this.axis === 'x';\n if (this.isHorizontal()) {\n const offsetLeft = this.getPixelForTick(0) - this.left;\n const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1);\n let paddingLeft = 0;\n let paddingRight = 0;\n if (isRotated) {\n if (labelsBelowTicks) {\n paddingLeft = cos * first.width;\n paddingRight = sin * last.height;\n } else {\n paddingLeft = sin * first.height;\n paddingRight = cos * last.width;\n }\n } else if (align === 'start') {\n paddingRight = last.width;\n } else if (align === 'end') {\n paddingLeft = first.width;\n } else if (align !== 'inner') {\n paddingLeft = first.width / 2;\n paddingRight = last.width / 2;\n }\n this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0);\n this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0);\n } else {\n let paddingTop = last.height / 2;\n let paddingBottom = first.height / 2;\n if (align === 'start') {\n paddingTop = 0;\n paddingBottom = first.height;\n } else if (align === 'end') {\n paddingTop = last.height;\n paddingBottom = 0;\n }\n this.paddingTop = paddingTop + padding;\n this.paddingBottom = paddingBottom + padding;\n }\n }\n _handleMargins() {\n if (this._margins) {\n this._margins.left = Math.max(this.paddingLeft, this._margins.left);\n this._margins.top = Math.max(this.paddingTop, this._margins.top);\n this._margins.right = Math.max(this.paddingRight, this._margins.right);\n this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom);\n }\n }\n afterFit() {\n callback(this.options.afterFit, [this]);\n }\n isHorizontal() {\n const {axis, position} = this.options;\n return position === 'top' || position === 'bottom' || axis === 'x';\n }\n isFullSize() {\n return this.options.fullSize;\n }\n _convertTicksToLabels(ticks) {\n this.beforeTickToLabelConversion();\n this.generateTickLabels(ticks);\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (isNullOrUndef(ticks[i].label)) {\n ticks.splice(i, 1);\n ilen--;\n i--;\n }\n }\n this.afterTickToLabelConversion();\n }\n _getLabelSizes() {\n let labelSizes = this._labelSizes;\n if (!labelSizes) {\n const sampleSize = this.options.ticks.sampleSize;\n let ticks = this.ticks;\n if (sampleSize < ticks.length) {\n ticks = sample(ticks, sampleSize);\n }\n this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length);\n }\n return labelSizes;\n }\n _computeLabelSizes(ticks, length) {\n const {ctx, _longestTextCache: caches} = this;\n const widths = [];\n const heights = [];\n let widestLabelSize = 0;\n let highestLabelSize = 0;\n let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n for (i = 0; i < length; ++i) {\n label = ticks[i].label;\n tickFont = this._resolveTickFontOptions(i);\n ctx.font = fontString = tickFont.string;\n cache = caches[fontString] = caches[fontString] || {data: {}, gc: []};\n lineHeight = tickFont.lineHeight;\n width = height = 0;\n if (!isNullOrUndef(label) && !isArray(label)) {\n width = _measureText(ctx, cache.data, cache.gc, width, label);\n height = lineHeight;\n } else if (isArray(label)) {\n for (j = 0, jlen = label.length; j < jlen; ++j) {\n nestedLabel = label[j];\n if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\n width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel);\n height += lineHeight;\n }\n }\n }\n widths.push(width);\n heights.push(height);\n widestLabelSize = Math.max(width, widestLabelSize);\n highestLabelSize = Math.max(height, highestLabelSize);\n }\n garbageCollect(caches, length);\n const widest = widths.indexOf(widestLabelSize);\n const highest = heights.indexOf(highestLabelSize);\n const valueAt = (idx) => ({width: widths[idx] || 0, height: heights[idx] || 0});\n return {\n first: valueAt(0),\n last: valueAt(length - 1),\n widest: valueAt(widest),\n highest: valueAt(highest),\n widths,\n heights,\n };\n }\n getLabelForValue(value) {\n return value;\n }\n getPixelForValue(value, index) {\n return NaN;\n }\n getValueForPixel(pixel) {}\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getPixelForDecimal(decimal) {\n if (this._reversePixels) {\n decimal = 1 - decimal;\n }\n const pixel = this._startPixel + decimal * this._length;\n return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel);\n }\n getDecimalForPixel(pixel) {\n const decimal = (pixel - this._startPixel) / this._length;\n return this._reversePixels ? 1 - decimal : decimal;\n }\n getBasePixel() {\n return this.getPixelForValue(this.getBaseValue());\n }\n getBaseValue() {\n const {min, max} = this;\n return min < 0 && max < 0 ? max :\n min > 0 && max > 0 ? min :\n 0;\n }\n getContext(index) {\n const ticks = this.ticks || [];\n if (index >= 0 && index < ticks.length) {\n const tick = ticks[index];\n return tick.$context ||\n\t\t\t\t(tick.$context = createTickContext(this.getContext(), index, tick));\n }\n return this.$context ||\n\t\t\t(this.$context = createScaleContext(this.chart.getContext(), this));\n }\n _tickSize() {\n const optionTicks = this.options.ticks;\n const rot = toRadians(this.labelRotation);\n const cos = Math.abs(Math.cos(rot));\n const sin = Math.abs(Math.sin(rot));\n const labelSizes = this._getLabelSizes();\n const padding = optionTicks.autoSkipPadding || 0;\n const w = labelSizes ? labelSizes.widest.width + padding : 0;\n const h = labelSizes ? labelSizes.highest.height + padding : 0;\n return this.isHorizontal()\n ? h * cos > w * sin ? w / cos : h / sin\n : h * sin < w * cos ? h / cos : w / sin;\n }\n _isVisible() {\n const display = this.options.display;\n if (display !== 'auto') {\n return !!display;\n }\n return this.getMatchingVisibleMetas().length > 0;\n }\n _computeGridLineItems(chartArea) {\n const axis = this.axis;\n const chart = this.chart;\n const options = this.options;\n const {grid, position} = options;\n const offset = grid.offset;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const ticksLength = ticks.length + (offset ? 1 : 0);\n const tl = getTickMarkLength(grid);\n const items = [];\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = borderOpts.drawBorder ? borderOpts.borderWidth : 0;\n const axisHalfWidth = axisWidth / 2;\n const alignBorderValue = function(pixel) {\n return _alignPixel(chart, pixel, axisWidth);\n };\n let borderValue, i, lineValue, alignedLineValue;\n let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n if (position === 'top') {\n borderValue = alignBorderValue(this.bottom);\n ty1 = this.bottom - tl;\n ty2 = borderValue - axisHalfWidth;\n y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n y2 = chartArea.bottom;\n } else if (position === 'bottom') {\n borderValue = alignBorderValue(this.top);\n y1 = chartArea.top;\n y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n ty1 = borderValue + axisHalfWidth;\n ty2 = this.top + tl;\n } else if (position === 'left') {\n borderValue = alignBorderValue(this.right);\n tx1 = this.right - tl;\n tx2 = borderValue - axisHalfWidth;\n x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n x2 = chartArea.right;\n } else if (position === 'right') {\n borderValue = alignBorderValue(this.left);\n x1 = chartArea.left;\n x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n tx1 = borderValue + axisHalfWidth;\n tx2 = this.left + tl;\n } else if (axis === 'x') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n y1 = chartArea.top;\n y2 = chartArea.bottom;\n ty1 = borderValue + axisHalfWidth;\n ty2 = ty1 + tl;\n } else if (axis === 'y') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n tx1 = borderValue - axisHalfWidth;\n tx2 = tx1 - tl;\n x1 = chartArea.left;\n x2 = chartArea.right;\n }\n const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength);\n const step = Math.max(1, Math.ceil(ticksLength / limit));\n for (i = 0; i < ticksLength; i += step) {\n const optsAtIndex = grid.setContext(this.getContext(i));\n const lineWidth = optsAtIndex.lineWidth;\n const lineColor = optsAtIndex.color;\n const borderDash = optsAtIndex.borderDash || [];\n const borderDashOffset = optsAtIndex.borderDashOffset;\n const tickWidth = optsAtIndex.tickWidth;\n const tickColor = optsAtIndex.tickColor;\n const tickBorderDash = optsAtIndex.tickBorderDash || [];\n const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n lineValue = getPixelForGridLine(this, i, offset);\n if (lineValue === undefined) {\n continue;\n }\n alignedLineValue = _alignPixel(chart, lineValue, lineWidth);\n if (isHorizontal) {\n tx1 = tx2 = x1 = x2 = alignedLineValue;\n } else {\n ty1 = ty2 = y1 = y2 = alignedLineValue;\n }\n items.push({\n tx1,\n ty1,\n tx2,\n ty2,\n x1,\n y1,\n x2,\n y2,\n width: lineWidth,\n color: lineColor,\n borderDash,\n borderDashOffset,\n tickWidth,\n tickColor,\n tickBorderDash,\n tickBorderDashOffset,\n });\n }\n this._ticksLength = ticksLength;\n this._borderValue = borderValue;\n return items;\n }\n _computeLabelItems(chartArea) {\n const axis = this.axis;\n const options = this.options;\n const {position, ticks: optionTicks} = options;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const {align, crossAlign, padding, mirror} = optionTicks;\n const tl = getTickMarkLength(options.grid);\n const tickAndPadding = tl + padding;\n const hTickAndPadding = mirror ? -padding : tickAndPadding;\n const rotation = -toRadians(this.labelRotation);\n const items = [];\n let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n let textBaseline = 'middle';\n if (position === 'top') {\n y = this.bottom - hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'bottom') {\n y = this.top + hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'left') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (position === 'right') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (axis === 'x') {\n if (position === 'center') {\n y = ((chartArea.top + chartArea.bottom) / 2) + tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n }\n textAlign = this._getXAxisLabelAlignment();\n } else if (axis === 'y') {\n if (position === 'center') {\n x = ((chartArea.left + chartArea.right) / 2) - tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n x = this.chart.scales[positionAxisID].getPixelForValue(value);\n }\n textAlign = this._getYAxisLabelAlignment(tl).textAlign;\n }\n if (axis === 'y') {\n if (align === 'start') {\n textBaseline = 'top';\n } else if (align === 'end') {\n textBaseline = 'bottom';\n }\n }\n const labelSizes = this._getLabelSizes();\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n label = tick.label;\n const optsAtIndex = optionTicks.setContext(this.getContext(i));\n pixel = this.getPixelForTick(i) + optionTicks.labelOffset;\n font = this._resolveTickFontOptions(i);\n lineHeight = font.lineHeight;\n lineCount = isArray(label) ? label.length : 1;\n const halfCount = lineCount / 2;\n const color = optsAtIndex.color;\n const strokeColor = optsAtIndex.textStrokeColor;\n const strokeWidth = optsAtIndex.textStrokeWidth;\n let tickTextAlign = textAlign;\n if (isHorizontal) {\n x = pixel;\n if (textAlign === 'inner') {\n if (i === ilen - 1) {\n tickTextAlign = !this.options.reverse ? 'right' : 'left';\n } else if (i === 0) {\n tickTextAlign = !this.options.reverse ? 'left' : 'right';\n } else {\n tickTextAlign = 'center';\n }\n }\n if (position === 'top') {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = -lineCount * lineHeight + lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n } else {\n textOffset = -labelSizes.highest.height + lineHeight / 2;\n }\n } else {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n } else {\n textOffset = labelSizes.highest.height - lineCount * lineHeight;\n }\n }\n if (mirror) {\n textOffset *= -1;\n }\n } else {\n y = pixel;\n textOffset = (1 - lineCount) * lineHeight / 2;\n }\n let backdrop;\n if (optsAtIndex.showLabelBackdrop) {\n const labelPadding = toPadding(optsAtIndex.backdropPadding);\n const height = labelSizes.heights[i];\n const width = labelSizes.widths[i];\n let top = y + textOffset - labelPadding.top;\n let left = x - labelPadding.left;\n switch (textBaseline) {\n case 'middle':\n top -= height / 2;\n break;\n case 'bottom':\n top -= height;\n break;\n }\n switch (textAlign) {\n case 'center':\n left -= width / 2;\n break;\n case 'right':\n left -= width;\n break;\n }\n backdrop = {\n left,\n top,\n width: width + labelPadding.width,\n height: height + labelPadding.height,\n color: optsAtIndex.backdropColor,\n };\n }\n items.push({\n rotation,\n label,\n font,\n color,\n strokeColor,\n strokeWidth,\n textOffset,\n textAlign: tickTextAlign,\n textBaseline,\n translation: [x, y],\n backdrop,\n });\n }\n return items;\n }\n _getXAxisLabelAlignment() {\n const {position, ticks} = this.options;\n const rotation = -toRadians(this.labelRotation);\n if (rotation) {\n return position === 'top' ? 'left' : 'right';\n }\n let align = 'center';\n if (ticks.align === 'start') {\n align = 'left';\n } else if (ticks.align === 'end') {\n align = 'right';\n } else if (ticks.align === 'inner') {\n align = 'inner';\n }\n return align;\n }\n _getYAxisLabelAlignment(tl) {\n const {position, ticks: {crossAlign, mirror, padding}} = this.options;\n const labelSizes = this._getLabelSizes();\n const tickAndPadding = tl + padding;\n const widest = labelSizes.widest.width;\n let textAlign;\n let x;\n if (position === 'left') {\n if (mirror) {\n x = this.right + padding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += (widest / 2);\n } else {\n textAlign = 'right';\n x += widest;\n }\n } else {\n x = this.right - tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x = this.left;\n }\n }\n } else if (position === 'right') {\n if (mirror) {\n x = this.left + padding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x -= widest;\n }\n } else {\n x = this.left + tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x = this.right;\n }\n }\n } else {\n textAlign = 'right';\n }\n return {textAlign, x};\n }\n _computeLabelArea() {\n if (this.options.ticks.mirror) {\n return;\n }\n const chart = this.chart;\n const position = this.options.position;\n if (position === 'left' || position === 'right') {\n return {top: 0, left: this.left, bottom: chart.height, right: this.right};\n } if (position === 'top' || position === 'bottom') {\n return {top: this.top, left: 0, bottom: this.bottom, right: chart.width};\n }\n }\n drawBackground() {\n const {ctx, options: {backgroundColor}, left, top, width, height} = this;\n if (backgroundColor) {\n ctx.save();\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(left, top, width, height);\n ctx.restore();\n }\n }\n getLineWidthForValue(value) {\n const grid = this.options.grid;\n if (!this._isVisible() || !grid.display) {\n return 0;\n }\n const ticks = this.ticks;\n const index = ticks.findIndex(t => t.value === value);\n if (index >= 0) {\n const opts = grid.setContext(this.getContext(index));\n return opts.lineWidth;\n }\n return 0;\n }\n drawGrid(chartArea) {\n const grid = this.options.grid;\n const ctx = this.ctx;\n const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea));\n let i, ilen;\n const drawLine = (p1, p2, style) => {\n if (!style.width || !style.color) {\n return;\n }\n ctx.save();\n ctx.lineWidth = style.width;\n ctx.strokeStyle = style.color;\n ctx.setLineDash(style.borderDash || []);\n ctx.lineDashOffset = style.borderDashOffset;\n ctx.beginPath();\n ctx.moveTo(p1.x, p1.y);\n ctx.lineTo(p2.x, p2.y);\n ctx.stroke();\n ctx.restore();\n };\n if (grid.display) {\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n if (grid.drawOnChartArea) {\n drawLine(\n {x: item.x1, y: item.y1},\n {x: item.x2, y: item.y2},\n item\n );\n }\n if (grid.drawTicks) {\n drawLine(\n {x: item.tx1, y: item.ty1},\n {x: item.tx2, y: item.ty2},\n {\n color: item.tickColor,\n width: item.tickWidth,\n borderDash: item.tickBorderDash,\n borderDashOffset: item.tickBorderDashOffset\n }\n );\n }\n }\n }\n }\n drawBorder() {\n const {chart, ctx, options: {grid}} = this;\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = grid.drawBorder ? borderOpts.borderWidth : 0;\n if (!axisWidth) {\n return;\n }\n const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth;\n const borderValue = this._borderValue;\n let x1, x2, y1, y2;\n if (this.isHorizontal()) {\n x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2;\n x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2;\n y1 = y2 = borderValue;\n } else {\n y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2;\n y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2;\n x1 = x2 = borderValue;\n }\n ctx.save();\n ctx.lineWidth = borderOpts.borderWidth;\n ctx.strokeStyle = borderOpts.borderColor;\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n ctx.restore();\n }\n drawLabels(chartArea) {\n const optionTicks = this.options.ticks;\n if (!optionTicks.display) {\n return;\n }\n const ctx = this.ctx;\n const area = this._computeLabelArea();\n if (area) {\n clipArea(ctx, area);\n }\n const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea));\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n const tickFont = item.font;\n const label = item.label;\n if (item.backdrop) {\n ctx.fillStyle = item.backdrop.color;\n ctx.fillRect(item.backdrop.left, item.backdrop.top, item.backdrop.width, item.backdrop.height);\n }\n let y = item.textOffset;\n renderText(ctx, label, 0, y, tickFont, item);\n }\n if (area) {\n unclipArea(ctx);\n }\n }\n drawTitle() {\n const {ctx, options: {position, title, reverse}} = this;\n if (!title.display) {\n return;\n }\n const font = toFont(title.font);\n const padding = toPadding(title.padding);\n const align = title.align;\n let offset = font.lineHeight / 2;\n if (position === 'bottom' || position === 'center' || isObject(position)) {\n offset += padding.bottom;\n if (isArray(title.text)) {\n offset += font.lineHeight * (title.text.length - 1);\n }\n } else {\n offset += padding.top;\n }\n const {titleX, titleY, maxWidth, rotation} = titleArgs(this, offset, position, align);\n renderText(ctx, title.text, 0, 0, font, {\n color: title.color,\n maxWidth,\n rotation,\n textAlign: titleAlign(align, position, reverse),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n draw(chartArea) {\n if (!this._isVisible()) {\n return;\n }\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawBorder();\n this.drawTitle();\n this.drawLabels(chartArea);\n }\n _layers() {\n const opts = this.options;\n const tz = opts.ticks && opts.ticks.z || 0;\n const gz = valueOrDefault(opts.grid && opts.grid.z, -1);\n if (!this._isVisible() || this.draw !== Scale.prototype.draw) {\n return [{\n z: tz,\n draw: (chartArea) => {\n this.draw(chartArea);\n }\n }];\n }\n return [{\n z: gz,\n draw: (chartArea) => {\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawTitle();\n }\n }, {\n z: gz + 1,\n draw: () => {\n this.drawBorder();\n }\n }, {\n z: tz,\n draw: (chartArea) => {\n this.drawLabels(chartArea);\n }\n }];\n }\n getMatchingVisibleMetas(type) {\n const metas = this.chart.getSortedVisibleDatasetMetas();\n const axisID = this.axis + 'AxisID';\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n const meta = metas[i];\n if (meta[axisID] === this.id && (!type || meta.type === type)) {\n result.push(meta);\n }\n }\n return result;\n }\n _resolveTickFontOptions(index) {\n const opts = this.options.ticks.setContext(this.getContext(index));\n return toFont(opts.font);\n }\n _maxDigits() {\n const fontSize = this._resolveTickFontOptions(0).lineHeight;\n return (this.isHorizontal() ? this.width : this.height) / fontSize;\n }\n}\n\nclass TypedRegistry {\n constructor(type, scope, override) {\n this.type = type;\n this.scope = scope;\n this.override = override;\n this.items = Object.create(null);\n }\n isForType(type) {\n return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n }\n register(item) {\n const proto = Object.getPrototypeOf(item);\n let parentScope;\n if (isIChartComponent(proto)) {\n parentScope = this.register(proto);\n }\n const items = this.items;\n const id = item.id;\n const scope = this.scope + '.' + id;\n if (!id) {\n throw new Error('class does not have id: ' + item);\n }\n if (id in items) {\n return scope;\n }\n items[id] = item;\n registerDefaults(item, scope, parentScope);\n if (this.override) {\n defaults.override(item.id, item.overrides);\n }\n return scope;\n }\n get(id) {\n return this.items[id];\n }\n unregister(item) {\n const items = this.items;\n const id = item.id;\n const scope = this.scope;\n if (id in items) {\n delete items[id];\n }\n if (scope && id in defaults[scope]) {\n delete defaults[scope][id];\n if (this.override) {\n delete overrides[id];\n }\n }\n }\n}\nfunction registerDefaults(item, scope, parentScope) {\n const itemDefaults = merge(Object.create(null), [\n parentScope ? defaults.get(parentScope) : {},\n defaults.get(scope),\n item.defaults\n ]);\n defaults.set(scope, itemDefaults);\n if (item.defaultRoutes) {\n routeDefaults(scope, item.defaultRoutes);\n }\n if (item.descriptors) {\n defaults.describe(scope, item.descriptors);\n }\n}\nfunction routeDefaults(scope, routes) {\n Object.keys(routes).forEach(property => {\n const propertyParts = property.split('.');\n const sourceName = propertyParts.pop();\n const sourceScope = [scope].concat(propertyParts).join('.');\n const parts = routes[property].split('.');\n const targetName = parts.pop();\n const targetScope = parts.join('.');\n defaults.route(sourceScope, sourceName, targetScope, targetName);\n });\n}\nfunction isIChartComponent(proto) {\n return 'id' in proto && 'defaults' in proto;\n}\n\nclass Registry {\n constructor() {\n this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n this.elements = new TypedRegistry(Element, 'elements');\n this.plugins = new TypedRegistry(Object, 'plugins');\n this.scales = new TypedRegistry(Scale, 'scales');\n this._typedRegistries = [this.controllers, this.scales, this.elements];\n }\n add(...args) {\n this._each('register', args);\n }\n remove(...args) {\n this._each('unregister', args);\n }\n addControllers(...args) {\n this._each('register', args, this.controllers);\n }\n addElements(...args) {\n this._each('register', args, this.elements);\n }\n addPlugins(...args) {\n this._each('register', args, this.plugins);\n }\n addScales(...args) {\n this._each('register', args, this.scales);\n }\n getController(id) {\n return this._get(id, this.controllers, 'controller');\n }\n getElement(id) {\n return this._get(id, this.elements, 'element');\n }\n getPlugin(id) {\n return this._get(id, this.plugins, 'plugin');\n }\n getScale(id) {\n return this._get(id, this.scales, 'scale');\n }\n removeControllers(...args) {\n this._each('unregister', args, this.controllers);\n }\n removeElements(...args) {\n this._each('unregister', args, this.elements);\n }\n removePlugins(...args) {\n this._each('unregister', args, this.plugins);\n }\n removeScales(...args) {\n this._each('unregister', args, this.scales);\n }\n _each(method, args, typedRegistry) {\n [...args].forEach(arg => {\n const reg = typedRegistry || this._getRegistryForType(arg);\n if (typedRegistry || reg.isForType(arg) || (reg === this.plugins && arg.id)) {\n this._exec(method, reg, arg);\n } else {\n each(arg, item => {\n const itemReg = typedRegistry || this._getRegistryForType(item);\n this._exec(method, itemReg, item);\n });\n }\n });\n }\n _exec(method, registry, component) {\n const camelMethod = _capitalize(method);\n callback(component['before' + camelMethod], [], component);\n registry[method](component);\n callback(component['after' + camelMethod], [], component);\n }\n _getRegistryForType(type) {\n for (let i = 0; i < this._typedRegistries.length; i++) {\n const reg = this._typedRegistries[i];\n if (reg.isForType(type)) {\n return reg;\n }\n }\n return this.plugins;\n }\n _get(id, typedRegistry, type) {\n const item = typedRegistry.get(id);\n if (item === undefined) {\n throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n }\n return item;\n }\n}\nvar registry = new Registry();\n\nclass ScatterController extends DatasetController {\n update(mode) {\n const meta = this._cachedMeta;\n const {data: points = []} = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n if (this.options.showLine) {\n const {dataset: line, _dataset} = meta;\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n }\n this.updateElements(points, start, count, mode);\n }\n addElements() {\n const {showLine} = this.options;\n if (!this.datasetElementType && showLine) {\n this.datasetElementType = registry.getElement('line');\n }\n super.addElements();\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const data = meta.data || [];\n if (!this.options.showLine) {\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n}\nScatterController.id = 'scatter';\nScatterController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n showLine: false,\n fill: false\n};\nScatterController.overrides = {\n interaction: {\n mode: 'point'\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(item) {\n return '(' + item.label + ', ' + item.formattedValue + ')';\n }\n }\n }\n },\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n};\n\nvar controllers = /*#__PURE__*/Object.freeze({\n__proto__: null,\nBarController: BarController,\nBubbleController: BubbleController,\nDoughnutController: DoughnutController,\nLineController: LineController,\nPolarAreaController: PolarAreaController,\nPieController: PieController,\nRadarController: RadarController,\nScatterController: ScatterController\n});\n\nfunction abstract() {\n throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\nclass DateAdapter {\n constructor(options) {\n this.options = options || {};\n }\n init(chartOptions) {}\n formats() {\n return abstract();\n }\n parse(value, format) {\n return abstract();\n }\n format(timestamp, format) {\n return abstract();\n }\n add(timestamp, amount, unit) {\n return abstract();\n }\n diff(a, b, unit) {\n return abstract();\n }\n startOf(timestamp, unit, weekday) {\n return abstract();\n }\n endOf(timestamp, unit) {\n return abstract();\n }\n}\nDateAdapter.override = function(members) {\n Object.assign(DateAdapter.prototype, members);\n};\nvar adapters = {\n _date: DateAdapter\n};\n\nfunction binarySearch(metaset, axis, value, intersect) {\n const {controller, data, _sorted} = metaset;\n const iScale = controller._cachedMeta.iScale;\n if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) {\n const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey;\n if (!intersect) {\n return lookupMethod(data, axis, value);\n } else if (controller._sharedOptions) {\n const el = data[0];\n const range = typeof el.getRange === 'function' && el.getRange(axis);\n if (range) {\n const start = lookupMethod(data, axis, value - range);\n const end = lookupMethod(data, axis, value + range);\n return {lo: start.lo, hi: end.hi};\n }\n }\n }\n return {lo: 0, hi: data.length - 1};\n}\nfunction evaluateInteractionItems(chart, axis, position, handler, intersect) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n const value = position[axis];\n for (let i = 0, ilen = metasets.length; i < ilen; ++i) {\n const {index, data} = metasets[i];\n const {lo, hi} = binarySearch(metasets[i], axis, value, intersect);\n for (let j = lo; j <= hi; ++j) {\n const element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\nfunction getDistanceMetricForAxis(axis) {\n const useX = axis.indexOf('x') !== -1;\n const useY = axis.indexOf('y') !== -1;\n return function(pt1, pt2) {\n const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n };\n}\nfunction getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) {\n const items = [];\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return items;\n }\n const evaluationFunc = function(element, datasetIndex, index) {\n if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) {\n return;\n }\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n items.push({element, datasetIndex, index});\n }\n };\n evaluateInteractionItems(chart, axis, position, evaluationFunc, true);\n return items;\n}\nfunction getNearestRadialItems(chart, position, axis, useFinalPosition) {\n let items = [];\n function evaluationFunc(element, datasetIndex, index) {\n const {startAngle, endAngle} = element.getProps(['startAngle', 'endAngle'], useFinalPosition);\n const {angle} = getAngleFromPoint(element, {x: position.x, y: position.y});\n if (_angleBetween(angle, startAngle, endAngle)) {\n items.push({element, datasetIndex, index});\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n let items = [];\n const distanceMetric = getDistanceMetricForAxis(axis);\n let minDistance = Number.POSITIVE_INFINITY;\n function evaluationFunc(element, datasetIndex, index) {\n const inRange = element.inRange(position.x, position.y, useFinalPosition);\n if (intersect && !inRange) {\n return;\n }\n const center = element.getCenterPoint(useFinalPosition);\n const pointInArea = !!includeInvisible || chart.isPointInArea(center);\n if (!pointInArea && !inRange) {\n return;\n }\n const distance = distanceMetric(position, center);\n if (distance < minDistance) {\n items = [{element, datasetIndex, index}];\n minDistance = distance;\n } else if (distance === minDistance) {\n items.push({element, datasetIndex, index});\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return [];\n }\n return axis === 'r' && !intersect\n ? getNearestRadialItems(chart, position, axis, useFinalPosition)\n : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible);\n}\nfunction getAxisItems(chart, position, axis, intersect, useFinalPosition) {\n const items = [];\n const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n let intersectsItem = false;\n evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index) => {\n if (element[rangeMethod](position[axis], useFinalPosition)) {\n items.push({element, datasetIndex, index});\n intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition);\n }\n });\n if (intersect && !intersectsItem) {\n return [];\n }\n return items;\n}\nvar Interaction = {\n evaluateInteractionItems,\n modes: {\n index(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'x';\n const includeInvisible = options.includeInvisible || false;\n const items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible)\n : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n const elements = [];\n if (!items.length) {\n return [];\n }\n chart.getSortedVisibleDatasetMetas().forEach((meta) => {\n const index = items[0].index;\n const element = meta.data[index];\n if (element && !element.skip) {\n elements.push({element, datasetIndex: meta.index, index});\n }\n });\n return elements;\n },\n dataset(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n let items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) :\n getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n if (items.length > 0) {\n const datasetIndex = items[0].datasetIndex;\n const data = chart.getDatasetMeta(datasetIndex).data;\n items = [];\n for (let i = 0; i < data.length; ++i) {\n items.push({element: data[i], datasetIndex, index: i});\n }\n }\n return items;\n },\n point(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible);\n },\n nearest(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible);\n },\n x(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition);\n },\n y(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition);\n }\n }\n};\n\nconst STATIC_POSITIONS = ['left', 'top', 'right', 'bottom'];\nfunction filterByPosition(array, position) {\n return array.filter(v => v.pos === position);\n}\nfunction filterDynamicPositionByAxis(array, axis) {\n return array.filter(v => STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\nfunction sortByWeight(array, reverse) {\n return array.sort((a, b) => {\n const v0 = reverse ? b : a;\n const v1 = reverse ? a : b;\n return v0.weight === v1.weight ?\n v0.index - v1.index :\n v0.weight - v1.weight;\n });\n}\nfunction wrapBoxes(boxes) {\n const layoutBoxes = [];\n let i, ilen, box, pos, stack, stackWeight;\n for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\n box = boxes[i];\n ({position: pos, options: {stack, stackWeight = 1}} = box);\n layoutBoxes.push({\n index: i,\n box,\n pos,\n horizontal: box.isHorizontal(),\n weight: box.weight,\n stack: stack && (pos + stack),\n stackWeight\n });\n }\n return layoutBoxes;\n}\nfunction buildStacks(layouts) {\n const stacks = {};\n for (const wrap of layouts) {\n const {stack, pos, stackWeight} = wrap;\n if (!stack || !STATIC_POSITIONS.includes(pos)) {\n continue;\n }\n const _stack = stacks[stack] || (stacks[stack] = {count: 0, placed: 0, weight: 0, size: 0});\n _stack.count++;\n _stack.weight += stackWeight;\n }\n return stacks;\n}\nfunction setLayoutDims(layouts, params) {\n const stacks = buildStacks(layouts);\n const {vBoxMaxWidth, hBoxMaxHeight} = params;\n let i, ilen, layout;\n for (i = 0, ilen = layouts.length; i < ilen; ++i) {\n layout = layouts[i];\n const {fullSize} = layout.box;\n const stack = stacks[layout.stack];\n const factor = stack && layout.stackWeight / stack.weight;\n if (layout.horizontal) {\n layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n layout.height = hBoxMaxHeight;\n } else {\n layout.width = vBoxMaxWidth;\n layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n }\n }\n return stacks;\n}\nfunction buildLayoutBoxes(boxes) {\n const layoutBoxes = wrapBoxes(boxes);\n const fullSize = sortByWeight(layoutBoxes.filter(wrap => wrap.box.fullSize), true);\n const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n return {\n fullSize,\n leftAndTop: left.concat(top),\n rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n vertical: left.concat(right).concat(centerVertical),\n horizontal: top.concat(bottom).concat(centerHorizontal)\n };\n}\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\nfunction updateMaxPadding(maxPadding, boxPadding) {\n maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\nfunction updateDims(chartArea, params, layout, stacks) {\n const {pos, box} = layout;\n const maxPadding = chartArea.maxPadding;\n if (!isObject(pos)) {\n if (layout.size) {\n chartArea[pos] -= layout.size;\n }\n const stack = stacks[layout.stack] || {size: 0, count: 1};\n stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n layout.size = stack.size / stack.count;\n chartArea[pos] += layout.size;\n }\n if (box.getPadding) {\n updateMaxPadding(maxPadding, box.getPadding());\n }\n const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n const widthChanged = newWidth !== chartArea.w;\n const heightChanged = newHeight !== chartArea.h;\n chartArea.w = newWidth;\n chartArea.h = newHeight;\n return layout.horizontal\n ? {same: widthChanged, other: heightChanged}\n : {same: heightChanged, other: widthChanged};\n}\nfunction handleMaxPadding(chartArea) {\n const maxPadding = chartArea.maxPadding;\n function updatePos(pos) {\n const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n chartArea[pos] += change;\n return change;\n }\n chartArea.y += updatePos('top');\n chartArea.x += updatePos('left');\n updatePos('right');\n updatePos('bottom');\n}\nfunction getMargins(horizontal, chartArea) {\n const maxPadding = chartArea.maxPadding;\n function marginForPositions(positions) {\n const margin = {left: 0, top: 0, right: 0, bottom: 0};\n positions.forEach((pos) => {\n margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n });\n return margin;\n }\n return horizontal\n ? marginForPositions(['left', 'right'])\n : marginForPositions(['top', 'bottom']);\n}\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n const refitBoxes = [];\n let i, ilen, layout, box, refit, changed;\n for (i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i) {\n layout = boxes[i];\n box = layout.box;\n box.update(\n layout.width || chartArea.w,\n layout.height || chartArea.h,\n getMargins(layout.horizontal, chartArea)\n );\n const {same, other} = updateDims(chartArea, params, layout, stacks);\n refit |= same && refitBoxes.length;\n changed = changed || other;\n if (!box.fullSize) {\n refitBoxes.push(layout);\n }\n }\n return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\nfunction setBoxDims(box, left, top, width, height) {\n box.top = top;\n box.left = left;\n box.right = left + width;\n box.bottom = top + height;\n box.width = width;\n box.height = height;\n}\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n const userPadding = params.padding;\n let {x, y} = chartArea;\n for (const layout of boxes) {\n const box = layout.box;\n const stack = stacks[layout.stack] || {count: 1, placed: 0, weight: 1};\n const weight = (layout.stackWeight / stack.weight) || 1;\n if (layout.horizontal) {\n const width = chartArea.w * weight;\n const height = stack.size || box.height;\n if (defined(stack.start)) {\n y = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n } else {\n setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n }\n stack.start = y;\n stack.placed += width;\n y = box.bottom;\n } else {\n const height = chartArea.h * weight;\n const width = stack.size || box.width;\n if (defined(stack.start)) {\n x = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n } else {\n setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n }\n stack.start = x;\n stack.placed += height;\n x = box.right;\n }\n }\n chartArea.x = x;\n chartArea.y = y;\n}\ndefaults.set('layout', {\n autoPadding: true,\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n});\nvar layouts = {\n addBox(chart, item) {\n if (!chart.boxes) {\n chart.boxes = [];\n }\n item.fullSize = item.fullSize || false;\n item.position = item.position || 'top';\n item.weight = item.weight || 0;\n item._layers = item._layers || function() {\n return [{\n z: 0,\n draw(chartArea) {\n item.draw(chartArea);\n }\n }];\n };\n chart.boxes.push(item);\n },\n removeBox(chart, layoutItem) {\n const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n if (index !== -1) {\n chart.boxes.splice(index, 1);\n }\n },\n configure(chart, item, options) {\n item.fullSize = options.fullSize;\n item.position = options.position;\n item.weight = options.weight;\n },\n update(chart, width, height, minPadding) {\n if (!chart) {\n return;\n }\n const padding = toPadding(chart.options.layout.padding);\n const availableWidth = Math.max(width - padding.width, 0);\n const availableHeight = Math.max(height - padding.height, 0);\n const boxes = buildLayoutBoxes(chart.boxes);\n const verticalBoxes = boxes.vertical;\n const horizontalBoxes = boxes.horizontal;\n each(chart.boxes, box => {\n if (typeof box.beforeLayout === 'function') {\n box.beforeLayout();\n }\n });\n const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap) =>\n wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n const params = Object.freeze({\n outerWidth: width,\n outerHeight: height,\n padding,\n availableWidth,\n availableHeight,\n vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n hBoxMaxHeight: availableHeight / 2\n });\n const maxPadding = Object.assign({}, padding);\n updateMaxPadding(maxPadding, toPadding(minPadding));\n const chartArea = Object.assign({\n maxPadding,\n w: availableWidth,\n h: availableHeight,\n x: padding.left,\n y: padding.top\n }, padding);\n const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n fitBoxes(boxes.fullSize, chartArea, params, stacks);\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n }\n handleMaxPadding(chartArea);\n placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n chartArea.x += chartArea.w;\n chartArea.y += chartArea.h;\n placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n chart.chartArea = {\n left: chartArea.left,\n top: chartArea.top,\n right: chartArea.left + chartArea.w,\n bottom: chartArea.top + chartArea.h,\n height: chartArea.h,\n width: chartArea.w,\n };\n each(boxes.chartArea, (layout) => {\n const box = layout.box;\n Object.assign(box, chart.chartArea);\n box.update(chartArea.w, chartArea.h, {left: 0, top: 0, right: 0, bottom: 0});\n });\n }\n};\n\nclass BasePlatform {\n acquireContext(canvas, aspectRatio) {}\n releaseContext(context) {\n return false;\n }\n addEventListener(chart, type, listener) {}\n removeEventListener(chart, type, listener) {}\n getDevicePixelRatio() {\n return 1;\n }\n getMaximumSize(element, width, height, aspectRatio) {\n width = Math.max(0, width || element.width);\n height = height || element.height;\n return {\n width,\n height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n };\n }\n isAttached(canvas) {\n return true;\n }\n updateConfig(config) {\n }\n}\n\nclass BasicPlatform extends BasePlatform {\n acquireContext(item) {\n return item && item.getContext && item.getContext('2d') || null;\n }\n updateConfig(config) {\n config.options.animation = false;\n }\n}\n\nconst EXPANDO_KEY = '$chartjs';\nconst EVENT_TYPES = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup',\n pointerenter: 'mouseenter',\n pointerdown: 'mousedown',\n pointermove: 'mousemove',\n pointerup: 'mouseup',\n pointerleave: 'mouseout',\n pointerout: 'mouseout'\n};\nconst isNullOrEmpty = value => value === null || value === '';\nfunction initCanvas(canvas, aspectRatio) {\n const style = canvas.style;\n const renderHeight = canvas.getAttribute('height');\n const renderWidth = canvas.getAttribute('width');\n canvas[EXPANDO_KEY] = {\n initial: {\n height: renderHeight,\n width: renderWidth,\n style: {\n display: style.display,\n height: style.height,\n width: style.width\n }\n }\n };\n style.display = style.display || 'block';\n style.boxSizing = style.boxSizing || 'border-box';\n if (isNullOrEmpty(renderWidth)) {\n const displayWidth = readUsedSize(canvas, 'width');\n if (displayWidth !== undefined) {\n canvas.width = displayWidth;\n }\n }\n if (isNullOrEmpty(renderHeight)) {\n if (canvas.style.height === '') {\n canvas.height = canvas.width / (aspectRatio || 2);\n } else {\n const displayHeight = readUsedSize(canvas, 'height');\n if (displayHeight !== undefined) {\n canvas.height = displayHeight;\n }\n }\n }\n return canvas;\n}\nconst eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\nfunction addListener(node, type, listener) {\n node.addEventListener(type, listener, eventListenerOptions);\n}\nfunction removeListener(chart, type, listener) {\n chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n}\nfunction fromNativeEvent(event, chart) {\n const type = EVENT_TYPES[event.type] || event.type;\n const {x, y} = getRelativePosition(event, chart);\n return {\n type,\n chart,\n native: event,\n x: x !== undefined ? x : null,\n y: y !== undefined ? y : null,\n };\n}\nfunction nodeListContains(nodeList, canvas) {\n for (const node of nodeList) {\n if (node === canvas || node.contains(canvas)) {\n return true;\n }\n }\n}\nfunction createAttachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.addedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.removedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nfunction createDetachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.removedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.addedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\nfunction onWindowResize() {\n const dpr = window.devicePixelRatio;\n if (dpr === oldDevicePixelRatio) {\n return;\n }\n oldDevicePixelRatio = dpr;\n drpListeningCharts.forEach((resize, chart) => {\n if (chart.currentDevicePixelRatio !== dpr) {\n resize();\n }\n });\n}\nfunction listenDevicePixelRatioChanges(chart, resize) {\n if (!drpListeningCharts.size) {\n window.addEventListener('resize', onWindowResize);\n }\n drpListeningCharts.set(chart, resize);\n}\nfunction unlistenDevicePixelRatioChanges(chart) {\n drpListeningCharts.delete(chart);\n if (!drpListeningCharts.size) {\n window.removeEventListener('resize', onWindowResize);\n }\n}\nfunction createResizeObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n return;\n }\n const resize = throttled((width, height) => {\n const w = container.clientWidth;\n listener(width, height);\n if (w < container.clientWidth) {\n listener();\n }\n }, window);\n const observer = new ResizeObserver(entries => {\n const entry = entries[0];\n const width = entry.contentRect.width;\n const height = entry.contentRect.height;\n if (width === 0 && height === 0) {\n return;\n }\n resize(width, height);\n });\n observer.observe(container);\n listenDevicePixelRatioChanges(chart, resize);\n return observer;\n}\nfunction releaseObserver(chart, type, observer) {\n if (observer) {\n observer.disconnect();\n }\n if (type === 'resize') {\n unlistenDevicePixelRatioChanges(chart);\n }\n}\nfunction createProxyAndListen(chart, type, listener) {\n const canvas = chart.canvas;\n const proxy = throttled((event) => {\n if (chart.ctx !== null) {\n listener(fromNativeEvent(event, chart));\n }\n }, chart, (args) => {\n const event = args[0];\n return [event, event.offsetX, event.offsetY];\n });\n addListener(canvas, type, proxy);\n return proxy;\n}\nclass DomPlatform extends BasePlatform {\n acquireContext(canvas, aspectRatio) {\n const context = canvas && canvas.getContext && canvas.getContext('2d');\n if (context && context.canvas === canvas) {\n initCanvas(canvas, aspectRatio);\n return context;\n }\n return null;\n }\n releaseContext(context) {\n const canvas = context.canvas;\n if (!canvas[EXPANDO_KEY]) {\n return false;\n }\n const initial = canvas[EXPANDO_KEY].initial;\n ['height', 'width'].forEach((prop) => {\n const value = initial[prop];\n if (isNullOrUndef(value)) {\n canvas.removeAttribute(prop);\n } else {\n canvas.setAttribute(prop, value);\n }\n });\n const style = initial.style || {};\n Object.keys(style).forEach((key) => {\n canvas.style[key] = style[key];\n });\n canvas.width = canvas.width;\n delete canvas[EXPANDO_KEY];\n return true;\n }\n addEventListener(chart, type, listener) {\n this.removeEventListener(chart, type);\n const proxies = chart.$proxies || (chart.$proxies = {});\n const handlers = {\n attach: createAttachObserver,\n detach: createDetachObserver,\n resize: createResizeObserver\n };\n const handler = handlers[type] || createProxyAndListen;\n proxies[type] = handler(chart, type, listener);\n }\n removeEventListener(chart, type) {\n const proxies = chart.$proxies || (chart.$proxies = {});\n const proxy = proxies[type];\n if (!proxy) {\n return;\n }\n const handlers = {\n attach: releaseObserver,\n detach: releaseObserver,\n resize: releaseObserver\n };\n const handler = handlers[type] || removeListener;\n handler(chart, type, proxy);\n proxies[type] = undefined;\n }\n getDevicePixelRatio() {\n return window.devicePixelRatio;\n }\n getMaximumSize(canvas, width, height, aspectRatio) {\n return getMaximumSize(canvas, width, height, aspectRatio);\n }\n isAttached(canvas) {\n const container = _getParentNode(canvas);\n return !!(container && container.isConnected);\n }\n}\n\nfunction _detectPlatform(canvas) {\n if (!_isDomSupported() || (typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas)) {\n return BasicPlatform;\n }\n return DomPlatform;\n}\n\nclass PluginService {\n constructor() {\n this._init = [];\n }\n notify(chart, hook, args, filter) {\n if (hook === 'beforeInit') {\n this._init = this._createDescriptors(chart, true);\n this._notify(this._init, chart, 'install');\n }\n const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart);\n const result = this._notify(descriptors, chart, hook, args);\n if (hook === 'afterDestroy') {\n this._notify(descriptors, chart, 'stop');\n this._notify(this._init, chart, 'uninstall');\n }\n return result;\n }\n _notify(descriptors, chart, hook, args) {\n args = args || {};\n for (const descriptor of descriptors) {\n const plugin = descriptor.plugin;\n const method = plugin[hook];\n const params = [chart, args, descriptor.options];\n if (callback(method, params, plugin) === false && args.cancelable) {\n return false;\n }\n }\n return true;\n }\n invalidate() {\n if (!isNullOrUndef(this._cache)) {\n this._oldCache = this._cache;\n this._cache = undefined;\n }\n }\n _descriptors(chart) {\n if (this._cache) {\n return this._cache;\n }\n const descriptors = this._cache = this._createDescriptors(chart);\n this._notifyStateChanges(chart);\n return descriptors;\n }\n _createDescriptors(chart, all) {\n const config = chart && chart.config;\n const options = valueOrDefault(config.options && config.options.plugins, {});\n const plugins = allPlugins(config);\n return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n }\n _notifyStateChanges(chart) {\n const previousDescriptors = this._oldCache || [];\n const descriptors = this._cache;\n const diff = (a, b) => a.filter(x => !b.some(y => x.plugin.id === y.plugin.id));\n this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n }\n}\nfunction allPlugins(config) {\n const localIds = {};\n const plugins = [];\n const keys = Object.keys(registry.plugins.items);\n for (let i = 0; i < keys.length; i++) {\n plugins.push(registry.getPlugin(keys[i]));\n }\n const local = config.plugins || [];\n for (let i = 0; i < local.length; i++) {\n const plugin = local[i];\n if (plugins.indexOf(plugin) === -1) {\n plugins.push(plugin);\n localIds[plugin.id] = true;\n }\n }\n return {plugins, localIds};\n}\nfunction getOpts(options, all) {\n if (!all && options === false) {\n return null;\n }\n if (options === true) {\n return {};\n }\n return options;\n}\nfunction createDescriptors(chart, {plugins, localIds}, options, all) {\n const result = [];\n const context = chart.getContext();\n for (const plugin of plugins) {\n const id = plugin.id;\n const opts = getOpts(options[id], all);\n if (opts === null) {\n continue;\n }\n result.push({\n plugin,\n options: pluginOpts(chart.config, {plugin, local: localIds[id]}, opts, context)\n });\n }\n return result;\n}\nfunction pluginOpts(config, {plugin, local}, opts, context) {\n const keys = config.pluginScopeKeys(plugin);\n const scopes = config.getOptionScopes(opts, keys);\n if (local && plugin.defaults) {\n scopes.push(plugin.defaults);\n }\n return config.createResolver(scopes, context, [''], {\n scriptable: false,\n indexable: false,\n allKeys: true\n });\n}\n\nfunction getIndexAxis(type, options) {\n const datasetDefaults = defaults.datasets[type] || {};\n const datasetOptions = (options.datasets || {})[type] || {};\n return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n let axis = id;\n if (id === '_index_') {\n axis = indexAxis;\n } else if (id === '_value_') {\n axis = indexAxis === 'x' ? 'y' : 'x';\n }\n return axis;\n}\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n return axis === indexAxis ? '_index_' : '_value_';\n}\nfunction axisFromPosition(position) {\n if (position === 'top' || position === 'bottom') {\n return 'x';\n }\n if (position === 'left' || position === 'right') {\n return 'y';\n }\n}\nfunction determineAxis(id, scaleOptions) {\n if (id === 'x' || id === 'y') {\n return id;\n }\n return scaleOptions.axis || axisFromPosition(scaleOptions.position) || id.charAt(0).toLowerCase();\n}\nfunction mergeScaleConfig(config, options) {\n const chartDefaults = overrides[config.type] || {scales: {}};\n const configScales = options.scales || {};\n const chartIndexAxis = getIndexAxis(config.type, options);\n const firstIDs = Object.create(null);\n const scales = Object.create(null);\n Object.keys(configScales).forEach(id => {\n const scaleConf = configScales[id];\n if (!isObject(scaleConf)) {\n return console.error(`Invalid scale configuration for scale: ${id}`);\n }\n if (scaleConf._proxy) {\n return console.warn(`Ignoring resolver passed as options for scale: ${id}`);\n }\n const axis = determineAxis(id, scaleConf);\n const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n const defaultScaleOptions = chartDefaults.scales || {};\n firstIDs[axis] = firstIDs[axis] || id;\n scales[id] = mergeIf(Object.create(null), [{axis}, scaleConf, defaultScaleOptions[axis], defaultScaleOptions[defaultId]]);\n });\n config.data.datasets.forEach(dataset => {\n const type = dataset.type || config.type;\n const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n const datasetDefaults = overrides[type] || {};\n const defaultScaleOptions = datasetDefaults.scales || {};\n Object.keys(defaultScaleOptions).forEach(defaultID => {\n const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n const id = dataset[axis + 'AxisID'] || firstIDs[axis] || axis;\n scales[id] = scales[id] || Object.create(null);\n mergeIf(scales[id], [{axis}, configScales[id], defaultScaleOptions[defaultID]]);\n });\n });\n Object.keys(scales).forEach(key => {\n const scale = scales[key];\n mergeIf(scale, [defaults.scales[scale.type], defaults.scale]);\n });\n return scales;\n}\nfunction initOptions(config) {\n const options = config.options || (config.options = {});\n options.plugins = valueOrDefault(options.plugins, {});\n options.scales = mergeScaleConfig(config, options);\n}\nfunction initData(data) {\n data = data || {};\n data.datasets = data.datasets || [];\n data.labels = data.labels || [];\n return data;\n}\nfunction initConfig(config) {\n config = config || {};\n config.data = initData(config.data);\n initOptions(config);\n return config;\n}\nconst keyCache = new Map();\nconst keysCached = new Set();\nfunction cachedKeys(cacheKey, generate) {\n let keys = keyCache.get(cacheKey);\n if (!keys) {\n keys = generate();\n keyCache.set(cacheKey, keys);\n keysCached.add(keys);\n }\n return keys;\n}\nconst addIfFound = (set, obj, key) => {\n const opts = resolveObjectKey(obj, key);\n if (opts !== undefined) {\n set.add(opts);\n }\n};\nclass Config {\n constructor(config) {\n this._config = initConfig(config);\n this._scopeCache = new Map();\n this._resolverCache = new Map();\n }\n get platform() {\n return this._config.platform;\n }\n get type() {\n return this._config.type;\n }\n set type(type) {\n this._config.type = type;\n }\n get data() {\n return this._config.data;\n }\n set data(data) {\n this._config.data = initData(data);\n }\n get options() {\n return this._config.options;\n }\n set options(options) {\n this._config.options = options;\n }\n get plugins() {\n return this._config.plugins;\n }\n update() {\n const config = this._config;\n this.clearCache();\n initOptions(config);\n }\n clearCache() {\n this._scopeCache.clear();\n this._resolverCache.clear();\n }\n datasetScopeKeys(datasetType) {\n return cachedKeys(datasetType,\n () => [[\n `datasets.${datasetType}`,\n ''\n ]]);\n }\n datasetAnimationScopeKeys(datasetType, transition) {\n return cachedKeys(`${datasetType}.transition.${transition}`,\n () => [\n [\n `datasets.${datasetType}.transitions.${transition}`,\n `transitions.${transition}`,\n ],\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetElementScopeKeys(datasetType, elementType) {\n return cachedKeys(`${datasetType}-${elementType}`,\n () => [[\n `datasets.${datasetType}.elements.${elementType}`,\n `datasets.${datasetType}`,\n `elements.${elementType}`,\n ''\n ]]);\n }\n pluginScopeKeys(plugin) {\n const id = plugin.id;\n const type = this.type;\n return cachedKeys(`${type}-plugin-${id}`,\n () => [[\n `plugins.${id}`,\n ...plugin.additionalOptionScopes || [],\n ]]);\n }\n _cachedScopes(mainScope, resetCache) {\n const _scopeCache = this._scopeCache;\n let cache = _scopeCache.get(mainScope);\n if (!cache || resetCache) {\n cache = new Map();\n _scopeCache.set(mainScope, cache);\n }\n return cache;\n }\n getOptionScopes(mainScope, keyLists, resetCache) {\n const {options, type} = this;\n const cache = this._cachedScopes(mainScope, resetCache);\n const cached = cache.get(keyLists);\n if (cached) {\n return cached;\n }\n const scopes = new Set();\n keyLists.forEach(keys => {\n if (mainScope) {\n scopes.add(mainScope);\n keys.forEach(key => addIfFound(scopes, mainScope, key));\n }\n keys.forEach(key => addIfFound(scopes, options, key));\n keys.forEach(key => addIfFound(scopes, overrides[type] || {}, key));\n keys.forEach(key => addIfFound(scopes, defaults, key));\n keys.forEach(key => addIfFound(scopes, descriptors, key));\n });\n const array = Array.from(scopes);\n if (array.length === 0) {\n array.push(Object.create(null));\n }\n if (keysCached.has(keyLists)) {\n cache.set(keyLists, array);\n }\n return array;\n }\n chartOptionScopes() {\n const {options, type} = this;\n return [\n options,\n overrides[type] || {},\n defaults.datasets[type] || {},\n {type},\n defaults,\n descriptors\n ];\n }\n resolveNamedOptions(scopes, names, context, prefixes = ['']) {\n const result = {$shared: true};\n const {resolver, subPrefixes} = getResolver(this._resolverCache, scopes, prefixes);\n let options = resolver;\n if (needContext(resolver, names)) {\n result.$shared = false;\n context = isFunction(context) ? context() : context;\n const subResolver = this.createResolver(scopes, context, subPrefixes);\n options = _attachContext(resolver, context, subResolver);\n }\n for (const prop of names) {\n result[prop] = options[prop];\n }\n return result;\n }\n createResolver(scopes, context, prefixes = [''], descriptorDefaults) {\n const {resolver} = getResolver(this._resolverCache, scopes, prefixes);\n return isObject(context)\n ? _attachContext(resolver, context, undefined, descriptorDefaults)\n : resolver;\n }\n}\nfunction getResolver(resolverCache, scopes, prefixes) {\n let cache = resolverCache.get(scopes);\n if (!cache) {\n cache = new Map();\n resolverCache.set(scopes, cache);\n }\n const cacheKey = prefixes.join();\n let cached = cache.get(cacheKey);\n if (!cached) {\n const resolver = _createResolver(scopes, prefixes);\n cached = {\n resolver,\n subPrefixes: prefixes.filter(p => !p.toLowerCase().includes('hover'))\n };\n cache.set(cacheKey, cached);\n }\n return cached;\n}\nconst hasFunction = value => isObject(value)\n && Object.getOwnPropertyNames(value).reduce((acc, key) => acc || isFunction(value[key]), false);\nfunction needContext(proxy, names) {\n const {isScriptable, isIndexable} = _descriptors(proxy);\n for (const prop of names) {\n const scriptable = isScriptable(prop);\n const indexable = isIndexable(prop);\n const value = (indexable || scriptable) && proxy[prop];\n if ((scriptable && (isFunction(value) || hasFunction(value)))\n || (indexable && isArray(value))) {\n return true;\n }\n }\n return false;\n}\n\nvar version = \"3.9.1\";\n\nconst KNOWN_POSITIONS = ['top', 'bottom', 'left', 'right', 'chartArea'];\nfunction positionIsHorizontal(position, axis) {\n return position === 'top' || position === 'bottom' || (KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x');\n}\nfunction compare2Level(l1, l2) {\n return function(a, b) {\n return a[l1] === b[l1]\n ? a[l2] - b[l2]\n : a[l1] - b[l1];\n };\n}\nfunction onAnimationsComplete(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n chart.notifyPlugins('afterRender');\n callback(animationOptions && animationOptions.onComplete, [context], chart);\n}\nfunction onAnimationProgress(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n callback(animationOptions && animationOptions.onProgress, [context], chart);\n}\nfunction getCanvas(item) {\n if (_isDomSupported() && typeof item === 'string') {\n item = document.getElementById(item);\n } else if (item && item.length) {\n item = item[0];\n }\n if (item && item.canvas) {\n item = item.canvas;\n }\n return item;\n}\nconst instances = {};\nconst getChart = (key) => {\n const canvas = getCanvas(key);\n return Object.values(instances).filter((c) => c.canvas === canvas).pop();\n};\nfunction moveNumericKeys(obj, start, move) {\n const keys = Object.keys(obj);\n for (const key of keys) {\n const intKey = +key;\n if (intKey >= start) {\n const value = obj[key];\n delete obj[key];\n if (move > 0 || intKey > start) {\n obj[intKey + move] = value;\n }\n }\n }\n}\nfunction determineLastEvent(e, lastEvent, inChartArea, isClick) {\n if (!inChartArea || e.type === 'mouseout') {\n return null;\n }\n if (isClick) {\n return lastEvent;\n }\n return e;\n}\nclass Chart {\n constructor(item, userConfig) {\n const config = this.config = new Config(userConfig);\n const initialCanvas = getCanvas(item);\n const existingChart = getChart(initialCanvas);\n if (existingChart) {\n throw new Error(\n 'Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' +\n\t\t\t\t' must be destroyed before the canvas with ID \\'' + existingChart.canvas.id + '\\' can be reused.'\n );\n }\n const options = config.createResolver(config.chartOptionScopes(), this.getContext());\n this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n this.platform.updateConfig(config);\n const context = this.platform.acquireContext(initialCanvas, options.aspectRatio);\n const canvas = context && context.canvas;\n const height = canvas && canvas.height;\n const width = canvas && canvas.width;\n this.id = uid();\n this.ctx = context;\n this.canvas = canvas;\n this.width = width;\n this.height = height;\n this._options = options;\n this._aspectRatio = this.aspectRatio;\n this._layers = [];\n this._metasets = [];\n this._stacks = undefined;\n this.boxes = [];\n this.currentDevicePixelRatio = undefined;\n this.chartArea = undefined;\n this._active = [];\n this._lastEvent = undefined;\n this._listeners = {};\n this._responsiveListeners = undefined;\n this._sortedMetasets = [];\n this.scales = {};\n this._plugins = new PluginService();\n this.$proxies = {};\n this._hiddenIndices = {};\n this.attached = false;\n this._animationsDisabled = undefined;\n this.$context = undefined;\n this._doResize = debounce(mode => this.update(mode), options.resizeDelay || 0);\n this._dataChanges = [];\n instances[this.id] = this;\n if (!context || !canvas) {\n console.error(\"Failed to create chart: can't acquire context from the given item\");\n return;\n }\n animator.listen(this, 'complete', onAnimationsComplete);\n animator.listen(this, 'progress', onAnimationProgress);\n this._initialize();\n if (this.attached) {\n this.update();\n }\n }\n get aspectRatio() {\n const {options: {aspectRatio, maintainAspectRatio}, width, height, _aspectRatio} = this;\n if (!isNullOrUndef(aspectRatio)) {\n return aspectRatio;\n }\n if (maintainAspectRatio && _aspectRatio) {\n return _aspectRatio;\n }\n return height ? width / height : null;\n }\n get data() {\n return this.config.data;\n }\n set data(data) {\n this.config.data = data;\n }\n get options() {\n return this._options;\n }\n set options(options) {\n this.config.options = options;\n }\n _initialize() {\n this.notifyPlugins('beforeInit');\n if (this.options.responsive) {\n this.resize();\n } else {\n retinaScale(this, this.options.devicePixelRatio);\n }\n this.bindEvents();\n this.notifyPlugins('afterInit');\n return this;\n }\n clear() {\n clearCanvas(this.canvas, this.ctx);\n return this;\n }\n stop() {\n animator.stop(this);\n return this;\n }\n resize(width, height) {\n if (!animator.running(this)) {\n this._resize(width, height);\n } else {\n this._resizeBeforeDraw = {width, height};\n }\n }\n _resize(width, height) {\n const options = this.options;\n const canvas = this.canvas;\n const aspectRatio = options.maintainAspectRatio && this.aspectRatio;\n const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio);\n const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio();\n const mode = this.width ? 'resize' : 'attach';\n this.width = newSize.width;\n this.height = newSize.height;\n this._aspectRatio = this.aspectRatio;\n if (!retinaScale(this, newRatio, true)) {\n return;\n }\n this.notifyPlugins('resize', {size: newSize});\n callback(options.onResize, [this, newSize], this);\n if (this.attached) {\n if (this._doResize(mode)) {\n this.render();\n }\n }\n }\n ensureScalesHaveIDs() {\n const options = this.options;\n const scalesOptions = options.scales || {};\n each(scalesOptions, (axisOptions, axisID) => {\n axisOptions.id = axisID;\n });\n }\n buildOrUpdateScales() {\n const options = this.options;\n const scaleOpts = options.scales;\n const scales = this.scales;\n const updated = Object.keys(scales).reduce((obj, id) => {\n obj[id] = false;\n return obj;\n }, {});\n let items = [];\n if (scaleOpts) {\n items = items.concat(\n Object.keys(scaleOpts).map((id) => {\n const scaleOptions = scaleOpts[id];\n const axis = determineAxis(id, scaleOptions);\n const isRadial = axis === 'r';\n const isHorizontal = axis === 'x';\n return {\n options: scaleOptions,\n dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n };\n })\n );\n }\n each(items, (item) => {\n const scaleOptions = item.options;\n const id = scaleOptions.id;\n const axis = determineAxis(id, scaleOptions);\n const scaleType = valueOrDefault(scaleOptions.type, item.dtype);\n if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n scaleOptions.position = item.dposition;\n }\n updated[id] = true;\n let scale = null;\n if (id in scales && scales[id].type === scaleType) {\n scale = scales[id];\n } else {\n const scaleClass = registry.getScale(scaleType);\n scale = new scaleClass({\n id,\n type: scaleType,\n ctx: this.ctx,\n chart: this\n });\n scales[scale.id] = scale;\n }\n scale.init(scaleOptions, options);\n });\n each(updated, (hasUpdated, id) => {\n if (!hasUpdated) {\n delete scales[id];\n }\n });\n each(scales, (scale) => {\n layouts.configure(this, scale, scale.options);\n layouts.addBox(this, scale);\n });\n }\n _updateMetasets() {\n const metasets = this._metasets;\n const numData = this.data.datasets.length;\n const numMeta = metasets.length;\n metasets.sort((a, b) => a.index - b.index);\n if (numMeta > numData) {\n for (let i = numData; i < numMeta; ++i) {\n this._destroyDatasetMeta(i);\n }\n metasets.splice(numData, numMeta - numData);\n }\n this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n }\n _removeUnreferencedMetasets() {\n const {_metasets: metasets, data: {datasets}} = this;\n if (metasets.length > datasets.length) {\n delete this._stacks;\n }\n metasets.forEach((meta, index) => {\n if (datasets.filter(x => x === meta._dataset).length === 0) {\n this._destroyDatasetMeta(index);\n }\n });\n }\n buildOrUpdateControllers() {\n const newControllers = [];\n const datasets = this.data.datasets;\n let i, ilen;\n this._removeUnreferencedMetasets();\n for (i = 0, ilen = datasets.length; i < ilen; i++) {\n const dataset = datasets[i];\n let meta = this.getDatasetMeta(i);\n const type = dataset.type || this.config.type;\n if (meta.type && meta.type !== type) {\n this._destroyDatasetMeta(i);\n meta = this.getDatasetMeta(i);\n }\n meta.type = type;\n meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options);\n meta.order = dataset.order || 0;\n meta.index = i;\n meta.label = '' + dataset.label;\n meta.visible = this.isDatasetVisible(i);\n if (meta.controller) {\n meta.controller.updateIndex(i);\n meta.controller.linkScales();\n } else {\n const ControllerClass = registry.getController(type);\n const {datasetElementType, dataElementType} = defaults.datasets[type];\n Object.assign(ControllerClass.prototype, {\n dataElementType: registry.getElement(dataElementType),\n datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n });\n meta.controller = new ControllerClass(this, i);\n newControllers.push(meta.controller);\n }\n }\n this._updateMetasets();\n return newControllers;\n }\n _resetElements() {\n each(this.data.datasets, (dataset, datasetIndex) => {\n this.getDatasetMeta(datasetIndex).controller.reset();\n }, this);\n }\n reset() {\n this._resetElements();\n this.notifyPlugins('reset');\n }\n update(mode) {\n const config = this.config;\n config.update();\n const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext());\n const animsDisabled = this._animationsDisabled = !options.animation;\n this._updateScales();\n this._checkEventBindings();\n this._updateHiddenIndices();\n this._plugins.invalidate();\n if (this.notifyPlugins('beforeUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n const newControllers = this.buildOrUpdateControllers();\n this.notifyPlugins('beforeElementsUpdate');\n let minPadding = 0;\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; i++) {\n const {controller} = this.getDatasetMeta(i);\n const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n controller.buildOrUpdateElements(reset);\n minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n }\n minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0;\n this._updateLayout(minPadding);\n if (!animsDisabled) {\n each(newControllers, (controller) => {\n controller.reset();\n });\n }\n this._updateDatasets(mode);\n this.notifyPlugins('afterUpdate', {mode});\n this._layers.sort(compare2Level('z', '_idx'));\n const {_active, _lastEvent} = this;\n if (_lastEvent) {\n this._eventHandler(_lastEvent, true);\n } else if (_active.length) {\n this._updateHoverStyles(_active, _active, true);\n }\n this.render();\n }\n _updateScales() {\n each(this.scales, (scale) => {\n layouts.removeBox(this, scale);\n });\n this.ensureScalesHaveIDs();\n this.buildOrUpdateScales();\n }\n _checkEventBindings() {\n const options = this.options;\n const existingEvents = new Set(Object.keys(this._listeners));\n const newEvents = new Set(options.events);\n if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) {\n this.unbindEvents();\n this.bindEvents();\n }\n }\n _updateHiddenIndices() {\n const {_hiddenIndices} = this;\n const changes = this._getUniformDataChanges() || [];\n for (const {method, start, count} of changes) {\n const move = method === '_removeElements' ? -count : count;\n moveNumericKeys(_hiddenIndices, start, move);\n }\n }\n _getUniformDataChanges() {\n const _dataChanges = this._dataChanges;\n if (!_dataChanges || !_dataChanges.length) {\n return;\n }\n this._dataChanges = [];\n const datasetCount = this.data.datasets.length;\n const makeSet = (idx) => new Set(\n _dataChanges\n .filter(c => c[0] === idx)\n .map((c, i) => i + ',' + c.splice(1).join(','))\n );\n const changeSet = makeSet(0);\n for (let i = 1; i < datasetCount; i++) {\n if (!setsEqual(changeSet, makeSet(i))) {\n return;\n }\n }\n return Array.from(changeSet)\n .map(c => c.split(','))\n .map(a => ({method: a[1], start: +a[2], count: +a[3]}));\n }\n _updateLayout(minPadding) {\n if (this.notifyPlugins('beforeLayout', {cancelable: true}) === false) {\n return;\n }\n layouts.update(this, this.width, this.height, minPadding);\n const area = this.chartArea;\n const noArea = area.width <= 0 || area.height <= 0;\n this._layers = [];\n each(this.boxes, (box) => {\n if (noArea && box.position === 'chartArea') {\n return;\n }\n if (box.configure) {\n box.configure();\n }\n this._layers.push(...box._layers());\n }, this);\n this._layers.forEach((item, index) => {\n item._idx = index;\n });\n this.notifyPlugins('afterLayout');\n }\n _updateDatasets(mode) {\n if (this.notifyPlugins('beforeDatasetsUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this.getDatasetMeta(i).controller.configure();\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._updateDataset(i, isFunction(mode) ? mode({datasetIndex: i}) : mode);\n }\n this.notifyPlugins('afterDatasetsUpdate', {mode});\n }\n _updateDataset(index, mode) {\n const meta = this.getDatasetMeta(index);\n const args = {meta, index, mode, cancelable: true};\n if (this.notifyPlugins('beforeDatasetUpdate', args) === false) {\n return;\n }\n meta.controller._update(mode);\n args.cancelable = false;\n this.notifyPlugins('afterDatasetUpdate', args);\n }\n render() {\n if (this.notifyPlugins('beforeRender', {cancelable: true}) === false) {\n return;\n }\n if (animator.has(this)) {\n if (this.attached && !animator.running(this)) {\n animator.start(this);\n }\n } else {\n this.draw();\n onAnimationsComplete({chart: this});\n }\n }\n draw() {\n let i;\n if (this._resizeBeforeDraw) {\n const {width, height} = this._resizeBeforeDraw;\n this._resize(width, height);\n this._resizeBeforeDraw = null;\n }\n this.clear();\n if (this.width <= 0 || this.height <= 0) {\n return;\n }\n if (this.notifyPlugins('beforeDraw', {cancelable: true}) === false) {\n return;\n }\n const layers = this._layers;\n for (i = 0; i < layers.length && layers[i].z <= 0; ++i) {\n layers[i].draw(this.chartArea);\n }\n this._drawDatasets();\n for (; i < layers.length; ++i) {\n layers[i].draw(this.chartArea);\n }\n this.notifyPlugins('afterDraw');\n }\n _getSortedDatasetMetas(filterVisible) {\n const metasets = this._sortedMetasets;\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n const meta = metasets[i];\n if (!filterVisible || meta.visible) {\n result.push(meta);\n }\n }\n return result;\n }\n getSortedVisibleDatasetMetas() {\n return this._getSortedDatasetMetas(true);\n }\n _drawDatasets() {\n if (this.notifyPlugins('beforeDatasetsDraw', {cancelable: true}) === false) {\n return;\n }\n const metasets = this.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n this._drawDataset(metasets[i]);\n }\n this.notifyPlugins('afterDatasetsDraw');\n }\n _drawDataset(meta) {\n const ctx = this.ctx;\n const clip = meta._clip;\n const useClip = !clip.disabled;\n const area = this.chartArea;\n const args = {\n meta,\n index: meta.index,\n cancelable: true\n };\n if (this.notifyPlugins('beforeDatasetDraw', args) === false) {\n return;\n }\n if (useClip) {\n clipArea(ctx, {\n left: clip.left === false ? 0 : area.left - clip.left,\n right: clip.right === false ? this.width : area.right + clip.right,\n top: clip.top === false ? 0 : area.top - clip.top,\n bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom\n });\n }\n meta.controller.draw();\n if (useClip) {\n unclipArea(ctx);\n }\n args.cancelable = false;\n this.notifyPlugins('afterDatasetDraw', args);\n }\n isPointInArea(point) {\n return _isPointInArea(point, this.chartArea, this._minPadding);\n }\n getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n const method = Interaction.modes[mode];\n if (typeof method === 'function') {\n return method(this, e, options, useFinalPosition);\n }\n return [];\n }\n getDatasetMeta(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n const metasets = this._metasets;\n let meta = metasets.filter(x => x && x._dataset === dataset).pop();\n if (!meta) {\n meta = {\n type: null,\n data: [],\n dataset: null,\n controller: null,\n hidden: null,\n xAxisID: null,\n yAxisID: null,\n order: dataset && dataset.order || 0,\n index: datasetIndex,\n _dataset: dataset,\n _parsed: [],\n _sorted: false\n };\n metasets.push(meta);\n }\n return meta;\n }\n getContext() {\n return this.$context || (this.$context = createContext(null, {chart: this, type: 'chart'}));\n }\n getVisibleDatasetCount() {\n return this.getSortedVisibleDatasetMetas().length;\n }\n isDatasetVisible(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n if (!dataset) {\n return false;\n }\n const meta = this.getDatasetMeta(datasetIndex);\n return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n }\n setDatasetVisibility(datasetIndex, visible) {\n const meta = this.getDatasetMeta(datasetIndex);\n meta.hidden = !visible;\n }\n toggleDataVisibility(index) {\n this._hiddenIndices[index] = !this._hiddenIndices[index];\n }\n getDataVisibility(index) {\n return !this._hiddenIndices[index];\n }\n _updateVisibility(datasetIndex, dataIndex, visible) {\n const mode = visible ? 'show' : 'hide';\n const meta = this.getDatasetMeta(datasetIndex);\n const anims = meta.controller._resolveAnimations(undefined, mode);\n if (defined(dataIndex)) {\n meta.data[dataIndex].hidden = !visible;\n this.update();\n } else {\n this.setDatasetVisibility(datasetIndex, visible);\n anims.update(meta, {visible});\n this.update((ctx) => ctx.datasetIndex === datasetIndex ? mode : undefined);\n }\n }\n hide(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, false);\n }\n show(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, true);\n }\n _destroyDatasetMeta(datasetIndex) {\n const meta = this._metasets[datasetIndex];\n if (meta && meta.controller) {\n meta.controller._destroy();\n }\n delete this._metasets[datasetIndex];\n }\n _stop() {\n let i, ilen;\n this.stop();\n animator.remove(this);\n for (i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._destroyDatasetMeta(i);\n }\n }\n destroy() {\n this.notifyPlugins('beforeDestroy');\n const {canvas, ctx} = this;\n this._stop();\n this.config.clearCache();\n if (canvas) {\n this.unbindEvents();\n clearCanvas(canvas, ctx);\n this.platform.releaseContext(ctx);\n this.canvas = null;\n this.ctx = null;\n }\n this.notifyPlugins('destroy');\n delete instances[this.id];\n this.notifyPlugins('afterDestroy');\n }\n toBase64Image(...args) {\n return this.canvas.toDataURL(...args);\n }\n bindEvents() {\n this.bindUserEvents();\n if (this.options.responsive) {\n this.bindResponsiveEvents();\n } else {\n this.attached = true;\n }\n }\n bindUserEvents() {\n const listeners = this._listeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const listener = (e, x, y) => {\n e.offsetX = x;\n e.offsetY = y;\n this._eventHandler(e);\n };\n each(this.options.events, (type) => _add(type, listener));\n }\n bindResponsiveEvents() {\n if (!this._responsiveListeners) {\n this._responsiveListeners = {};\n }\n const listeners = this._responsiveListeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const _remove = (type, listener) => {\n if (listeners[type]) {\n platform.removeEventListener(this, type, listener);\n delete listeners[type];\n }\n };\n const listener = (width, height) => {\n if (this.canvas) {\n this.resize(width, height);\n }\n };\n let detached;\n const attached = () => {\n _remove('attach', attached);\n this.attached = true;\n this.resize();\n _add('resize', listener);\n _add('detach', detached);\n };\n detached = () => {\n this.attached = false;\n _remove('resize', listener);\n this._stop();\n this._resize(0, 0);\n _add('attach', attached);\n };\n if (platform.isAttached(this.canvas)) {\n attached();\n } else {\n detached();\n }\n }\n unbindEvents() {\n each(this._listeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._listeners = {};\n each(this._responsiveListeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._responsiveListeners = undefined;\n }\n updateHoverStyle(items, mode, enabled) {\n const prefix = enabled ? 'set' : 'remove';\n let meta, item, i, ilen;\n if (mode === 'dataset') {\n meta = this.getDatasetMeta(items[0].datasetIndex);\n meta.controller['_' + prefix + 'DatasetHoverStyle']();\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n item = items[i];\n const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n if (controller) {\n controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n }\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements) {\n const lastActive = this._active || [];\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('No dataset found at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(active, lastActive);\n if (changed) {\n this._active = active;\n this._lastEvent = null;\n this._updateHoverStyles(active, lastActive);\n }\n }\n notifyPlugins(hook, args, filter) {\n return this._plugins.notify(this, hook, args, filter);\n }\n _updateHoverStyles(active, lastActive, replay) {\n const hoverOptions = this.options.hover;\n const diff = (a, b) => a.filter(x => !b.some(y => x.datasetIndex === y.datasetIndex && x.index === y.index));\n const deactivated = diff(lastActive, active);\n const activated = replay ? active : diff(active, lastActive);\n if (deactivated.length) {\n this.updateHoverStyle(deactivated, hoverOptions.mode, false);\n }\n if (activated.length && hoverOptions.mode) {\n this.updateHoverStyle(activated, hoverOptions.mode, true);\n }\n }\n _eventHandler(e, replay) {\n const args = {\n event: e,\n replay,\n cancelable: true,\n inChartArea: this.isPointInArea(e)\n };\n const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.native.type);\n if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n return;\n }\n const changed = this._handleEvent(e, replay, args.inChartArea);\n args.cancelable = false;\n this.notifyPlugins('afterEvent', args, eventFilter);\n if (changed || args.changed) {\n this.render();\n }\n return this;\n }\n _handleEvent(e, replay, inChartArea) {\n const {_active: lastActive = [], options} = this;\n const useFinalPosition = replay;\n const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition);\n const isClick = _isClickEvent(e);\n const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick);\n if (inChartArea) {\n this._lastEvent = null;\n callback(options.onHover, [e, active, this], this);\n if (isClick) {\n callback(options.onClick, [e, active, this], this);\n }\n }\n const changed = !_elementsEqual(active, lastActive);\n if (changed || replay) {\n this._active = active;\n this._updateHoverStyles(active, lastActive, replay);\n }\n this._lastEvent = lastEvent;\n return changed;\n }\n _getActiveElements(e, lastActive, inChartArea, useFinalPosition) {\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const hoverOptions = this.options.hover;\n return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n }\n}\nconst invalidatePlugins = () => each(Chart.instances, (chart) => chart._plugins.invalidate());\nconst enumerable = true;\nObject.defineProperties(Chart, {\n defaults: {\n enumerable,\n value: defaults\n },\n instances: {\n enumerable,\n value: instances\n },\n overrides: {\n enumerable,\n value: overrides\n },\n registry: {\n enumerable,\n value: registry\n },\n version: {\n enumerable,\n value: version\n },\n getChart: {\n enumerable,\n value: getChart\n },\n register: {\n enumerable,\n value: (...items) => {\n registry.add(...items);\n invalidatePlugins();\n }\n },\n unregister: {\n enumerable,\n value: (...items) => {\n registry.remove(...items);\n invalidatePlugins();\n }\n }\n});\n\nfunction clipArc(ctx, element, endAngle) {\n const {startAngle, pixelMargin, x, y, outerRadius, innerRadius} = element;\n let angleMargin = pixelMargin / outerRadius;\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n if (innerRadius > pixelMargin) {\n angleMargin = pixelMargin / innerRadius;\n ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n } else {\n ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI);\n }\n ctx.closePath();\n ctx.clip();\n}\nfunction toRadiusCorners(value) {\n return _readValueToProps(value, ['outerStart', 'outerEnd', 'innerStart', 'innerEnd']);\n}\nfunction parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) {\n const o = toRadiusCorners(arc.options.borderRadius);\n const halfThickness = (outerRadius - innerRadius) / 2;\n const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n const computeOuterLimit = (val) => {\n const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit));\n };\n return {\n outerStart: computeOuterLimit(o.outerStart),\n outerEnd: computeOuterLimit(o.outerEnd),\n innerStart: _limitValue(o.innerStart, 0, innerLimit),\n innerEnd: _limitValue(o.innerEnd, 0, innerLimit),\n };\n}\nfunction rThetaToXY(r, theta, x, y) {\n return {\n x: x + r * Math.cos(theta),\n y: y + r * Math.sin(theta),\n };\n}\nfunction pathArc(ctx, element, offset, spacing, end, circular) {\n const {x, y, startAngle: start, pixelMargin, innerRadius: innerR} = element;\n const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n let spacingOffset = 0;\n const alpha = end - start;\n if (spacing) {\n const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n const adjustedAngle = avNogSpacingRadius !== 0 ? (alpha * avNogSpacingRadius) / (avNogSpacingRadius + spacing) : alpha;\n spacingOffset = (alpha - adjustedAngle) / 2;\n }\n const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius;\n const angleOffset = (alpha - beta) / 2;\n const startAngle = start + angleOffset + spacingOffset;\n const endAngle = end - angleOffset - spacingOffset;\n const {outerStart, outerEnd, innerStart, innerEnd} = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle);\n const outerStartAdjustedRadius = outerRadius - outerStart;\n const outerEndAdjustedRadius = outerRadius - outerEnd;\n const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n const innerStartAdjustedRadius = innerRadius + innerStart;\n const innerEndAdjustedRadius = innerRadius + innerEnd;\n const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n ctx.beginPath();\n if (circular) {\n ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerEndAdjustedAngle);\n if (outerEnd > 0) {\n const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI);\n }\n const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n ctx.lineTo(p4.x, p4.y);\n if (innerEnd > 0) {\n const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI);\n }\n ctx.arc(x, y, innerRadius, endAngle - (innerEnd / innerRadius), startAngle + (innerStart / innerRadius), true);\n if (innerStart > 0) {\n const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI);\n }\n const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n ctx.lineTo(p8.x, p8.y);\n if (outerStart > 0) {\n const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle);\n }\n } else {\n ctx.moveTo(x, y);\n const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x;\n const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerStartX, outerStartY);\n const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x;\n const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerEndX, outerEndY);\n }\n ctx.closePath();\n}\nfunction drawArc(ctx, element, offset, spacing, circular) {\n const {fullCircles, startAngle, circumference} = element;\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, startAngle + TAU, circular);\n for (let i = 0; i < fullCircles; ++i) {\n ctx.fill();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + circumference % TAU;\n if (circumference % TAU === 0) {\n endAngle += TAU;\n }\n }\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.fill();\n return endAngle;\n}\nfunction drawFullCircleBorders(ctx, element, inner) {\n const {x, y, startAngle, pixelMargin, fullCircles} = element;\n const outerRadius = Math.max(element.outerRadius - pixelMargin, 0);\n const innerRadius = element.innerRadius + pixelMargin;\n let i;\n if (inner) {\n clipArc(ctx, element, startAngle + TAU);\n }\n ctx.beginPath();\n ctx.arc(x, y, innerRadius, startAngle + TAU, startAngle, true);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle, startAngle + TAU);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n}\nfunction drawBorder(ctx, element, offset, spacing, endAngle, circular) {\n const {options} = element;\n const {borderWidth, borderJoinStyle} = options;\n const inner = options.borderAlign === 'inner';\n if (!borderWidth) {\n return;\n }\n if (inner) {\n ctx.lineWidth = borderWidth * 2;\n ctx.lineJoin = borderJoinStyle || 'round';\n } else {\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = borderJoinStyle || 'bevel';\n }\n if (element.fullCircles) {\n drawFullCircleBorders(ctx, element, inner);\n }\n if (inner) {\n clipArc(ctx, element, endAngle);\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.stroke();\n}\nclass ArcElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.circumference = undefined;\n this.startAngle = undefined;\n this.endAngle = undefined;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.pixelMargin = 0;\n this.fullCircles = 0;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(chartX, chartY, useFinalPosition) {\n const point = this.getProps(['x', 'y'], useFinalPosition);\n const {angle, distance} = getAngleFromPoint(point, {x: chartX, y: chartY});\n const {startAngle, endAngle, innerRadius, outerRadius, circumference} = this.getProps([\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference'\n ], useFinalPosition);\n const rAdjust = this.options.spacing / 2;\n const _circumference = valueOrDefault(circumference, endAngle - startAngle);\n const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle);\n const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);\n return (betweenAngles && withinRadius);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, startAngle, endAngle, innerRadius, outerRadius} = this.getProps([\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference',\n ], useFinalPosition);\n const {offset, spacing} = this.options;\n const halfAngle = (startAngle + endAngle) / 2;\n const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n return {\n x: x + Math.cos(halfAngle) * halfRadius,\n y: y + Math.sin(halfAngle) * halfRadius\n };\n }\n tooltipPosition(useFinalPosition) {\n return this.getCenterPoint(useFinalPosition);\n }\n draw(ctx) {\n const {options, circumference} = this;\n const offset = (options.offset || 0) / 2;\n const spacing = (options.spacing || 0) / 2;\n const circular = options.circular;\n this.pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0;\n this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0;\n if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) {\n return;\n }\n ctx.save();\n let radiusOffset = 0;\n if (offset) {\n radiusOffset = offset / 2;\n const halfAngle = (this.startAngle + this.endAngle) / 2;\n ctx.translate(Math.cos(halfAngle) * radiusOffset, Math.sin(halfAngle) * radiusOffset);\n if (this.circumference >= PI) {\n radiusOffset = offset;\n }\n }\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n const endAngle = drawArc(ctx, this, radiusOffset, spacing, circular);\n drawBorder(ctx, this, radiusOffset, spacing, endAngle, circular);\n ctx.restore();\n }\n}\nArcElement.id = 'arc';\nArcElement.defaults = {\n borderAlign: 'center',\n borderColor: '#fff',\n borderJoinStyle: undefined,\n borderRadius: 0,\n borderWidth: 2,\n offset: 0,\n spacing: 0,\n angle: undefined,\n circular: true,\n};\nArcElement.defaultRoutes = {\n backgroundColor: 'backgroundColor'\n};\n\nfunction setStyle(ctx, options, style = options) {\n ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle);\n ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash));\n ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset);\n ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle);\n ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth);\n ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor);\n}\nfunction lineTo(ctx, previous, target) {\n ctx.lineTo(target.x, target.y);\n}\nfunction getLineMethod(options) {\n if (options.stepped) {\n return _steppedLineTo;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierCurveTo;\n }\n return lineTo;\n}\nfunction pathVars(points, segment, params = {}) {\n const count = points.length;\n const {start: paramsStart = 0, end: paramsEnd = count - 1} = params;\n const {start: segmentStart, end: segmentEnd} = segment;\n const start = Math.max(paramsStart, segmentStart);\n const end = Math.min(paramsEnd, segmentEnd);\n const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n return {\n count,\n start,\n loop: segment.loop,\n ilen: end < start && !outside ? count + end - start : end - start\n };\n}\nfunction pathSegment(ctx, line, segment, params) {\n const {points, options} = line;\n const {count, start, loop, ilen} = pathVars(points, segment, params);\n const lineMethod = getLineMethod(options);\n let {move = true, reverse} = params || {};\n let i, point, prev;\n for (i = 0; i <= ilen; ++i) {\n point = points[(start + (reverse ? ilen - i : i)) % count];\n if (point.skip) {\n continue;\n } else if (move) {\n ctx.moveTo(point.x, point.y);\n move = false;\n } else {\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n prev = point;\n }\n if (loop) {\n point = points[(start + (reverse ? ilen : 0)) % count];\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n return !!loop;\n}\nfunction fastPathSegment(ctx, line, segment, params) {\n const points = line.points;\n const {count, start, ilen} = pathVars(points, segment, params);\n const {move = true, reverse} = params || {};\n let avgX = 0;\n let countX = 0;\n let i, point, prevX, minY, maxY, lastY;\n const pointIndex = (index) => (start + (reverse ? ilen - index : index)) % count;\n const drawX = () => {\n if (minY !== maxY) {\n ctx.lineTo(avgX, maxY);\n ctx.lineTo(avgX, minY);\n ctx.lineTo(avgX, lastY);\n }\n };\n if (move) {\n point = points[pointIndex(0)];\n ctx.moveTo(point.x, point.y);\n }\n for (i = 0; i <= ilen; ++i) {\n point = points[pointIndex(i)];\n if (point.skip) {\n continue;\n }\n const x = point.x;\n const y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n } else if (y > maxY) {\n maxY = y;\n }\n avgX = (countX * avgX + x) / ++countX;\n } else {\n drawX();\n ctx.lineTo(x, y);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n }\n lastY = y;\n }\n drawX();\n}\nfunction _getSegmentMethod(line) {\n const opts = line.options;\n const borderDash = opts.borderDash && opts.borderDash.length;\n const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n return useFastPath ? fastPathSegment : pathSegment;\n}\nfunction _getInterpolationMethod(options) {\n if (options.stepped) {\n return _steppedInterpolation;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierInterpolation;\n }\n return _pointInLine;\n}\nfunction strokePathWithCache(ctx, line, start, count) {\n let path = line._path;\n if (!path) {\n path = line._path = new Path2D();\n if (line.path(path, start, count)) {\n path.closePath();\n }\n }\n setStyle(ctx, line.options);\n ctx.stroke(path);\n}\nfunction strokePathDirect(ctx, line, start, count) {\n const {segments, options} = line;\n const segmentMethod = _getSegmentMethod(line);\n for (const segment of segments) {\n setStyle(ctx, options, segment.style);\n ctx.beginPath();\n if (segmentMethod(ctx, line, segment, {start, end: start + count - 1})) {\n ctx.closePath();\n }\n ctx.stroke();\n }\n}\nconst usePath2D = typeof Path2D === 'function';\nfunction draw(ctx, line, start, count) {\n if (usePath2D && !line.options.segment) {\n strokePathWithCache(ctx, line, start, count);\n } else {\n strokePathDirect(ctx, line, start, count);\n }\n}\nclass LineElement extends Element {\n constructor(cfg) {\n super();\n this.animated = true;\n this.options = undefined;\n this._chart = undefined;\n this._loop = undefined;\n this._fullLoop = undefined;\n this._path = undefined;\n this._points = undefined;\n this._segments = undefined;\n this._decimated = false;\n this._pointsUpdated = false;\n this._datasetIndex = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n updateControlPoints(chartArea, indexAxis) {\n const options = this.options;\n if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) {\n const loop = options.spanGaps ? this._loop : this._fullLoop;\n _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis);\n this._pointsUpdated = true;\n }\n }\n set points(points) {\n this._points = points;\n delete this._segments;\n delete this._path;\n this._pointsUpdated = false;\n }\n get points() {\n return this._points;\n }\n get segments() {\n return this._segments || (this._segments = _computeSegments(this, this.options.segment));\n }\n first() {\n const segments = this.segments;\n const points = this.points;\n return segments.length && points[segments[0].start];\n }\n last() {\n const segments = this.segments;\n const points = this.points;\n const count = segments.length;\n return count && points[segments[count - 1].end];\n }\n interpolate(point, property) {\n const options = this.options;\n const value = point[property];\n const points = this.points;\n const segments = _boundSegments(this, {property, start: value, end: value});\n if (!segments.length) {\n return;\n }\n const result = [];\n const _interpolate = _getInterpolationMethod(options);\n let i, ilen;\n for (i = 0, ilen = segments.length; i < ilen; ++i) {\n const {start, end} = segments[i];\n const p1 = points[start];\n const p2 = points[end];\n if (p1 === p2) {\n result.push(p1);\n continue;\n }\n const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n const interpolated = _interpolate(p1, p2, t, options.stepped);\n interpolated[property] = point[property];\n result.push(interpolated);\n }\n return result.length === 1 ? result[0] : result;\n }\n pathSegment(ctx, segment, params) {\n const segmentMethod = _getSegmentMethod(this);\n return segmentMethod(ctx, this, segment, params);\n }\n path(ctx, start, count) {\n const segments = this.segments;\n const segmentMethod = _getSegmentMethod(this);\n let loop = this._loop;\n start = start || 0;\n count = count || (this.points.length - start);\n for (const segment of segments) {\n loop &= segmentMethod(ctx, this, segment, {start, end: start + count - 1});\n }\n return !!loop;\n }\n draw(ctx, chartArea, start, count) {\n const options = this.options || {};\n const points = this.points || [];\n if (points.length && options.borderWidth) {\n ctx.save();\n draw(ctx, this, start, count);\n ctx.restore();\n }\n if (this.animated) {\n this._pointsUpdated = false;\n this._path = undefined;\n }\n }\n}\nLineElement.id = 'line';\nLineElement.defaults = {\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderWidth: 3,\n capBezierPoints: true,\n cubicInterpolationMode: 'default',\n fill: false,\n spanGaps: false,\n stepped: false,\n tension: 0,\n};\nLineElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\nLineElement.descriptors = {\n _scriptable: true,\n _indexable: (name) => name !== 'borderDash' && name !== 'fill',\n};\n\nfunction inRange$1(el, pos, axis, useFinalPosition) {\n const options = el.options;\n const {[axis]: value} = el.getProps([axis], useFinalPosition);\n return (Math.abs(pos - value) < options.radius + options.hitRadius);\n}\nclass PointElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.parsed = undefined;\n this.skip = undefined;\n this.stop = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n const options = this.options;\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return ((Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2)) < Math.pow(options.hitRadius + options.radius, 2));\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange$1(this, mouseX, 'x', useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange$1(this, mouseY, 'y', useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n size(options) {\n options = options || this.options || {};\n let radius = options.radius || 0;\n radius = Math.max(radius, radius && options.hoverRadius || 0);\n const borderWidth = radius && options.borderWidth || 0;\n return (radius + borderWidth) * 2;\n }\n draw(ctx, area) {\n const options = this.options;\n if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) {\n return;\n }\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.fillStyle = options.backgroundColor;\n drawPoint(ctx, options, this.x, this.y);\n }\n getRange() {\n const options = this.options || {};\n return options.radius + options.hitRadius;\n }\n}\nPointElement.id = 'point';\nPointElement.defaults = {\n borderWidth: 1,\n hitRadius: 1,\n hoverBorderWidth: 1,\n hoverRadius: 4,\n pointStyle: 'circle',\n radius: 3,\n rotation: 0\n};\nPointElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nfunction getBarBounds(bar, useFinalPosition) {\n const {x, y, base, width, height} = bar.getProps(['x', 'y', 'base', 'width', 'height'], useFinalPosition);\n let left, right, top, bottom, half;\n if (bar.horizontal) {\n half = height / 2;\n left = Math.min(x, base);\n right = Math.max(x, base);\n top = y - half;\n bottom = y + half;\n } else {\n half = width / 2;\n left = x - half;\n right = x + half;\n top = Math.min(y, base);\n bottom = Math.max(y, base);\n }\n return {left, top, right, bottom};\n}\nfunction skipOrLimit(skip, value, min, max) {\n return skip ? 0 : _limitValue(value, min, max);\n}\nfunction parseBorderWidth(bar, maxW, maxH) {\n const value = bar.options.borderWidth;\n const skip = bar.borderSkipped;\n const o = toTRBL(value);\n return {\n t: skipOrLimit(skip.top, o.top, 0, maxH),\n r: skipOrLimit(skip.right, o.right, 0, maxW),\n b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n l: skipOrLimit(skip.left, o.left, 0, maxW)\n };\n}\nfunction parseBorderRadius(bar, maxW, maxH) {\n const {enableBorderRadius} = bar.getProps(['enableBorderRadius']);\n const value = bar.options.borderRadius;\n const o = toTRBLCorners(value);\n const maxR = Math.min(maxW, maxH);\n const skip = bar.borderSkipped;\n const enableBorder = enableBorderRadius || isObject(value);\n return {\n topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n };\n}\nfunction boundingRects(bar) {\n const bounds = getBarBounds(bar);\n const width = bounds.right - bounds.left;\n const height = bounds.bottom - bounds.top;\n const border = parseBorderWidth(bar, width / 2, height / 2);\n const radius = parseBorderRadius(bar, width / 2, height / 2);\n return {\n outer: {\n x: bounds.left,\n y: bounds.top,\n w: width,\n h: height,\n radius\n },\n inner: {\n x: bounds.left + border.l,\n y: bounds.top + border.t,\n w: width - border.l - border.r,\n h: height - border.t - border.b,\n radius: {\n topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)),\n }\n }\n };\n}\nfunction inRange(bar, x, y, useFinalPosition) {\n const skipX = x === null;\n const skipY = y === null;\n const skipBoth = skipX && skipY;\n const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n return bounds\n\t\t&& (skipX || _isBetween(x, bounds.left, bounds.right))\n\t\t&& (skipY || _isBetween(y, bounds.top, bounds.bottom));\n}\nfunction hasRadius(radius) {\n return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\nfunction addNormalRectPath(ctx, rect) {\n ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\nfunction inflateRect(rect, amount, refRect = {}) {\n const x = rect.x !== refRect.x ? -amount : 0;\n const y = rect.y !== refRect.y ? -amount : 0;\n const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n return {\n x: rect.x + x,\n y: rect.y + y,\n w: rect.w + w,\n h: rect.h + h,\n radius: rect.radius\n };\n}\nclass BarElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.horizontal = undefined;\n this.base = undefined;\n this.width = undefined;\n this.height = undefined;\n this.inflateAmount = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n draw(ctx) {\n const {inflateAmount, options: {borderColor, backgroundColor}} = this;\n const {inner, outer} = boundingRects(this);\n const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath;\n ctx.save();\n if (outer.w !== inner.w || outer.h !== inner.h) {\n ctx.beginPath();\n addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n ctx.clip();\n addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n ctx.fillStyle = borderColor;\n ctx.fill('evenodd');\n }\n ctx.beginPath();\n addRectPath(ctx, inflateRect(inner, inflateAmount));\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n return inRange(this, mouseX, mouseY, useFinalPosition);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange(this, mouseX, null, useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange(this, null, mouseY, useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, base, horizontal} = this.getProps(['x', 'y', 'base', 'horizontal'], useFinalPosition);\n return {\n x: horizontal ? (x + base) / 2 : x,\n y: horizontal ? y : (y + base) / 2\n };\n }\n getRange(axis) {\n return axis === 'x' ? this.width / 2 : this.height / 2;\n }\n}\nBarElement.id = 'bar';\nBarElement.defaults = {\n borderSkipped: 'start',\n borderWidth: 0,\n borderRadius: 0,\n inflateAmount: 'auto',\n pointStyle: undefined\n};\nBarElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nvar elements = /*#__PURE__*/Object.freeze({\n__proto__: null,\nArcElement: ArcElement,\nLineElement: LineElement,\nPointElement: PointElement,\nBarElement: BarElement\n});\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n const samples = options.samples || availableWidth;\n if (samples >= count) {\n return data.slice(start, start + count);\n }\n const decimated = [];\n const bucketWidth = (count - 2) / (samples - 2);\n let sampledIndex = 0;\n const endIndex = start + count - 1;\n let a = start;\n let i, maxAreaPoint, maxArea, area, nextA;\n decimated[sampledIndex++] = data[a];\n for (i = 0; i < samples - 2; i++) {\n let avgX = 0;\n let avgY = 0;\n let j;\n const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n const avgRangeLength = avgRangeEnd - avgRangeStart;\n for (j = avgRangeStart; j < avgRangeEnd; j++) {\n avgX += data[j].x;\n avgY += data[j].y;\n }\n avgX /= avgRangeLength;\n avgY /= avgRangeLength;\n const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n const {x: pointAx, y: pointAy} = data[a];\n maxArea = area = -1;\n for (j = rangeOffs; j < rangeTo; j++) {\n area = 0.5 * Math.abs(\n (pointAx - avgX) * (data[j].y - pointAy) -\n (pointAx - data[j].x) * (avgY - pointAy)\n );\n if (area > maxArea) {\n maxArea = area;\n maxAreaPoint = data[j];\n nextA = j;\n }\n }\n decimated[sampledIndex++] = maxAreaPoint;\n a = nextA;\n }\n decimated[sampledIndex++] = data[endIndex];\n return decimated;\n}\nfunction minMaxDecimation(data, start, count, availableWidth) {\n let avgX = 0;\n let countX = 0;\n let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n const decimated = [];\n const endIndex = start + count - 1;\n const xMin = data[start].x;\n const xMax = data[endIndex].x;\n const dx = xMax - xMin;\n for (i = start; i < start + count; ++i) {\n point = data[i];\n x = (point.x - xMin) / dx * availableWidth;\n y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n minIndex = i;\n } else if (y > maxY) {\n maxY = y;\n maxIndex = i;\n }\n avgX = (countX * avgX + point.x) / ++countX;\n } else {\n const lastIndex = i - 1;\n if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) {\n const intermediateIndex1 = Math.min(minIndex, maxIndex);\n const intermediateIndex2 = Math.max(minIndex, maxIndex);\n if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex1],\n x: avgX,\n });\n }\n if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex2],\n x: avgX\n });\n }\n }\n if (i > 0 && lastIndex !== startIndex) {\n decimated.push(data[lastIndex]);\n }\n decimated.push(point);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n minIndex = maxIndex = startIndex = i;\n }\n }\n return decimated;\n}\nfunction cleanDecimatedDataset(dataset) {\n if (dataset._decimated) {\n const data = dataset._data;\n delete dataset._decimated;\n delete dataset._data;\n Object.defineProperty(dataset, 'data', {value: data});\n }\n}\nfunction cleanDecimatedData(chart) {\n chart.data.datasets.forEach((dataset) => {\n cleanDecimatedDataset(dataset);\n });\n}\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n const pointCount = points.length;\n let start = 0;\n let count;\n const {iScale} = meta;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n return {start, count};\n}\nvar plugin_decimation = {\n id: 'decimation',\n defaults: {\n algorithm: 'min-max',\n enabled: false,\n },\n beforeElementsUpdate: (chart, args, options) => {\n if (!options.enabled) {\n cleanDecimatedData(chart);\n return;\n }\n const availableWidth = chart.width;\n chart.data.datasets.forEach((dataset, datasetIndex) => {\n const {_data, indexAxis} = dataset;\n const meta = chart.getDatasetMeta(datasetIndex);\n const data = _data || dataset.data;\n if (resolve([indexAxis, chart.options.indexAxis]) === 'y') {\n return;\n }\n if (!meta.controller.supportsDecimation) {\n return;\n }\n const xAxis = chart.scales[meta.xAxisID];\n if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n return;\n }\n if (chart.options.parsing) {\n return;\n }\n let {start, count} = getStartAndCountOfVisiblePointsSimplified(meta, data);\n const threshold = options.threshold || 4 * availableWidth;\n if (count <= threshold) {\n cleanDecimatedDataset(dataset);\n return;\n }\n if (isNullOrUndef(_data)) {\n dataset._data = data;\n delete dataset.data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this._decimated;\n },\n set: function(d) {\n this._data = d;\n }\n });\n }\n let decimated;\n switch (options.algorithm) {\n case 'lttb':\n decimated = lttbDecimation(data, start, count, availableWidth, options);\n break;\n case 'min-max':\n decimated = minMaxDecimation(data, start, count, availableWidth);\n break;\n default:\n throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n }\n dataset._decimated = decimated;\n });\n },\n destroy(chart) {\n cleanDecimatedData(chart);\n }\n};\n\nfunction _segments(line, target, property) {\n const segments = line.segments;\n const points = line.points;\n const tpoints = target.points;\n const parts = [];\n for (const segment of segments) {\n let {start, end} = segment;\n end = _findSegmentEnd(start, end, points);\n const bounds = _getBounds(property, points[start], points[end], segment.loop);\n if (!target.segments) {\n parts.push({\n source: segment,\n target: bounds,\n start: points[start],\n end: points[end]\n });\n continue;\n }\n const targetSegments = _boundSegments(target, bounds);\n for (const tgt of targetSegments) {\n const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n const fillSources = _boundSegment(segment, points, subBounds);\n for (const fillSource of fillSources) {\n parts.push({\n source: fillSource,\n target: tgt,\n start: {\n [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n },\n end: {\n [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n }\n });\n }\n }\n }\n return parts;\n}\nfunction _getBounds(property, first, last, loop) {\n if (loop) {\n return;\n }\n let start = first[property];\n let end = last[property];\n if (property === 'angle') {\n start = _normalizeAngle(start);\n end = _normalizeAngle(end);\n }\n return {property, start, end};\n}\nfunction _pointsFromSegments(boundary, line) {\n const {x = null, y = null} = boundary || {};\n const linePoints = line.points;\n const points = [];\n line.segments.forEach(({start, end}) => {\n end = _findSegmentEnd(start, end, linePoints);\n const first = linePoints[start];\n const last = linePoints[end];\n if (y !== null) {\n points.push({x: first.x, y});\n points.push({x: last.x, y});\n } else if (x !== null) {\n points.push({x, y: first.y});\n points.push({x, y: last.y});\n }\n });\n return points;\n}\nfunction _findSegmentEnd(start, end, points) {\n for (;end > start; end--) {\n const point = points[end];\n if (!isNaN(point.x) && !isNaN(point.y)) {\n break;\n }\n }\n return end;\n}\nfunction _getEdge(a, b, prop, fn) {\n if (a && b) {\n return fn(a[prop], b[prop]);\n }\n return a ? a[prop] : b ? b[prop] : 0;\n}\n\nfunction _createBoundaryLine(boundary, line) {\n let points = [];\n let _loop = false;\n if (isArray(boundary)) {\n _loop = true;\n points = boundary;\n } else {\n points = _pointsFromSegments(boundary, line);\n }\n return points.length ? new LineElement({\n points,\n options: {tension: 0},\n _loop,\n _fullLoop: _loop\n }) : null;\n}\nfunction _shouldApplyFill(source) {\n return source && source.fill !== false;\n}\n\nfunction _resolveTarget(sources, index, propagate) {\n const source = sources[index];\n let fill = source.fill;\n const visited = [index];\n let target;\n if (!propagate) {\n return fill;\n }\n while (fill !== false && visited.indexOf(fill) === -1) {\n if (!isNumberFinite(fill)) {\n return fill;\n }\n target = sources[fill];\n if (!target) {\n return false;\n }\n if (target.visible) {\n return fill;\n }\n visited.push(fill);\n fill = target.fill;\n }\n return false;\n}\nfunction _decodeFill(line, index, count) {\n const fill = parseFillOption(line);\n if (isObject(fill)) {\n return isNaN(fill.value) ? false : fill;\n }\n let target = parseFloat(fill);\n if (isNumberFinite(target) && Math.floor(target) === target) {\n return decodeTargetIndex(fill[0], index, target, count);\n }\n return ['origin', 'start', 'end', 'stack', 'shape'].indexOf(fill) >= 0 && fill;\n}\nfunction decodeTargetIndex(firstCh, index, target, count) {\n if (firstCh === '-' || firstCh === '+') {\n target = index + target;\n }\n if (target === index || target < 0 || target >= count) {\n return false;\n }\n return target;\n}\nfunction _getTargetPixel(fill, scale) {\n let pixel = null;\n if (fill === 'start') {\n pixel = scale.bottom;\n } else if (fill === 'end') {\n pixel = scale.top;\n } else if (isObject(fill)) {\n pixel = scale.getPixelForValue(fill.value);\n } else if (scale.getBasePixel) {\n pixel = scale.getBasePixel();\n }\n return pixel;\n}\nfunction _getTargetValue(fill, scale, startValue) {\n let value;\n if (fill === 'start') {\n value = startValue;\n } else if (fill === 'end') {\n value = scale.options.reverse ? scale.min : scale.max;\n } else if (isObject(fill)) {\n value = fill.value;\n } else {\n value = scale.getBaseValue();\n }\n return value;\n}\nfunction parseFillOption(line) {\n const options = line.options;\n const fillOption = options.fill;\n let fill = valueOrDefault(fillOption && fillOption.target, fillOption);\n if (fill === undefined) {\n fill = !!options.backgroundColor;\n }\n if (fill === false || fill === null) {\n return false;\n }\n if (fill === true) {\n return 'origin';\n }\n return fill;\n}\n\nfunction _buildStackLine(source) {\n const {scale, index, line} = source;\n const points = [];\n const segments = line.segments;\n const sourcePoints = line.points;\n const linesBelow = getLinesBelow(scale, index);\n linesBelow.push(_createBoundaryLine({x: null, y: scale.bottom}, line));\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n for (let j = segment.start; j <= segment.end; j++) {\n addPointsBelow(points, sourcePoints[j], linesBelow);\n }\n }\n return new LineElement({points, options: {}});\n}\nfunction getLinesBelow(scale, index) {\n const below = [];\n const metas = scale.getMatchingVisibleMetas('line');\n for (let i = 0; i < metas.length; i++) {\n const meta = metas[i];\n if (meta.index === index) {\n break;\n }\n if (!meta.hidden) {\n below.unshift(meta.dataset);\n }\n }\n return below;\n}\nfunction addPointsBelow(points, sourcePoint, linesBelow) {\n const postponed = [];\n for (let j = 0; j < linesBelow.length; j++) {\n const line = linesBelow[j];\n const {first, last, point} = findPoint(line, sourcePoint, 'x');\n if (!point || (first && last)) {\n continue;\n }\n if (first) {\n postponed.unshift(point);\n } else {\n points.push(point);\n if (!last) {\n break;\n }\n }\n }\n points.push(...postponed);\n}\nfunction findPoint(line, sourcePoint, property) {\n const point = line.interpolate(sourcePoint, property);\n if (!point) {\n return {};\n }\n const pointValue = point[property];\n const segments = line.segments;\n const linePoints = line.points;\n let first = false;\n let last = false;\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n const firstValue = linePoints[segment.start][property];\n const lastValue = linePoints[segment.end][property];\n if (_isBetween(pointValue, firstValue, lastValue)) {\n first = pointValue === firstValue;\n last = pointValue === lastValue;\n break;\n }\n }\n return {first, last, point};\n}\n\nclass simpleArc {\n constructor(opts) {\n this.x = opts.x;\n this.y = opts.y;\n this.radius = opts.radius;\n }\n pathSegment(ctx, bounds, opts) {\n const {x, y, radius} = this;\n bounds = bounds || {start: 0, end: TAU};\n ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n return !opts.bounds;\n }\n interpolate(point) {\n const {x, y, radius} = this;\n const angle = point.angle;\n return {\n x: x + Math.cos(angle) * radius,\n y: y + Math.sin(angle) * radius,\n angle\n };\n }\n}\n\nfunction _getTarget(source) {\n const {chart, fill, line} = source;\n if (isNumberFinite(fill)) {\n return getLineByIndex(chart, fill);\n }\n if (fill === 'stack') {\n return _buildStackLine(source);\n }\n if (fill === 'shape') {\n return true;\n }\n const boundary = computeBoundary(source);\n if (boundary instanceof simpleArc) {\n return boundary;\n }\n return _createBoundaryLine(boundary, line);\n}\nfunction getLineByIndex(chart, index) {\n const meta = chart.getDatasetMeta(index);\n const visible = meta && chart.isDatasetVisible(index);\n return visible ? meta.dataset : null;\n}\nfunction computeBoundary(source) {\n const scale = source.scale || {};\n if (scale.getPointPositionForValue) {\n return computeCircularBoundary(source);\n }\n return computeLinearBoundary(source);\n}\nfunction computeLinearBoundary(source) {\n const {scale = {}, fill} = source;\n const pixel = _getTargetPixel(fill, scale);\n if (isNumberFinite(pixel)) {\n const horizontal = scale.isHorizontal();\n return {\n x: horizontal ? pixel : null,\n y: horizontal ? null : pixel\n };\n }\n return null;\n}\nfunction computeCircularBoundary(source) {\n const {scale, fill} = source;\n const options = scale.options;\n const length = scale.getLabels().length;\n const start = options.reverse ? scale.max : scale.min;\n const value = _getTargetValue(fill, scale, start);\n const target = [];\n if (options.grid.circular) {\n const center = scale.getPointPositionForValue(0, start);\n return new simpleArc({\n x: center.x,\n y: center.y,\n radius: scale.getDistanceFromCenterForValue(value)\n });\n }\n for (let i = 0; i < length; ++i) {\n target.push(scale.getPointPositionForValue(i, value));\n }\n return target;\n}\n\nfunction _drawfill(ctx, source, area) {\n const target = _getTarget(source);\n const {line, scale, axis} = source;\n const lineOpts = line.options;\n const fillOption = lineOpts.fill;\n const color = lineOpts.backgroundColor;\n const {above = color, below = color} = fillOption || {};\n if (target && line.points.length) {\n clipArea(ctx, area);\n doFill(ctx, {line, target, above, below, area, scale, axis});\n unclipArea(ctx);\n }\n}\nfunction doFill(ctx, cfg) {\n const {line, target, above, below, area, scale} = cfg;\n const property = line._loop ? 'angle' : cfg.axis;\n ctx.save();\n if (property === 'x' && below !== above) {\n clipVertical(ctx, target, area.top);\n fill(ctx, {line, target, color: above, scale, property});\n ctx.restore();\n ctx.save();\n clipVertical(ctx, target, area.bottom);\n }\n fill(ctx, {line, target, color: below, scale, property});\n ctx.restore();\n}\nfunction clipVertical(ctx, target, clipY) {\n const {segments, points} = target;\n let first = true;\n let lineLoop = false;\n ctx.beginPath();\n for (const segment of segments) {\n const {start, end} = segment;\n const firstPoint = points[start];\n const lastPoint = points[_findSegmentEnd(start, end, points)];\n if (first) {\n ctx.moveTo(firstPoint.x, firstPoint.y);\n first = false;\n } else {\n ctx.lineTo(firstPoint.x, clipY);\n ctx.lineTo(firstPoint.x, firstPoint.y);\n }\n lineLoop = !!target.pathSegment(ctx, segment, {move: lineLoop});\n if (lineLoop) {\n ctx.closePath();\n } else {\n ctx.lineTo(lastPoint.x, clipY);\n }\n }\n ctx.lineTo(target.first().x, clipY);\n ctx.closePath();\n ctx.clip();\n}\nfunction fill(ctx, cfg) {\n const {line, target, property, color, scale} = cfg;\n const segments = _segments(line, target, property);\n for (const {source: src, target: tgt, start, end} of segments) {\n const {style: {backgroundColor = color} = {}} = src;\n const notShape = target !== true;\n ctx.save();\n ctx.fillStyle = backgroundColor;\n clipBounds(ctx, scale, notShape && _getBounds(property, start, end));\n ctx.beginPath();\n const lineLoop = !!line.pathSegment(ctx, src);\n let loop;\n if (notShape) {\n if (lineLoop) {\n ctx.closePath();\n } else {\n interpolatedLineTo(ctx, target, end, property);\n }\n const targetLoop = !!target.pathSegment(ctx, tgt, {move: lineLoop, reverse: true});\n loop = lineLoop && targetLoop;\n if (!loop) {\n interpolatedLineTo(ctx, target, start, property);\n }\n }\n ctx.closePath();\n ctx.fill(loop ? 'evenodd' : 'nonzero');\n ctx.restore();\n }\n}\nfunction clipBounds(ctx, scale, bounds) {\n const {top, bottom} = scale.chart.chartArea;\n const {property, start, end} = bounds || {};\n if (property === 'x') {\n ctx.beginPath();\n ctx.rect(start, top, end - start, bottom - top);\n ctx.clip();\n }\n}\nfunction interpolatedLineTo(ctx, target, point, property) {\n const interpolatedPoint = target.interpolate(point, property);\n if (interpolatedPoint) {\n ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n }\n}\n\nvar index = {\n id: 'filler',\n afterDatasetsUpdate(chart, _args, options) {\n const count = (chart.data.datasets || []).length;\n const sources = [];\n let meta, i, line, source;\n for (i = 0; i < count; ++i) {\n meta = chart.getDatasetMeta(i);\n line = meta.dataset;\n source = null;\n if (line && line.options && line instanceof LineElement) {\n source = {\n visible: chart.isDatasetVisible(i),\n index: i,\n fill: _decodeFill(line, i, count),\n chart,\n axis: meta.controller.options.indexAxis,\n scale: meta.vScale,\n line,\n };\n }\n meta.$filler = source;\n sources.push(source);\n }\n for (i = 0; i < count; ++i) {\n source = sources[i];\n if (!source || source.fill === false) {\n continue;\n }\n source.fill = _resolveTarget(sources, i, options.propagate);\n }\n },\n beforeDraw(chart, _args, options) {\n const draw = options.drawTime === 'beforeDraw';\n const metasets = chart.getSortedVisibleDatasetMetas();\n const area = chart.chartArea;\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (!source) {\n continue;\n }\n source.line.updateControlPoints(area, source.axis);\n if (draw && source.fill) {\n _drawfill(chart.ctx, source, area);\n }\n }\n },\n beforeDatasetsDraw(chart, _args, options) {\n if (options.drawTime !== 'beforeDatasetsDraw') {\n return;\n }\n const metasets = chart.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (_shouldApplyFill(source)) {\n _drawfill(chart.ctx, source, chart.chartArea);\n }\n }\n },\n beforeDatasetDraw(chart, args, options) {\n const source = args.meta.$filler;\n if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') {\n return;\n }\n _drawfill(chart.ctx, source, chart.chartArea);\n },\n defaults: {\n propagate: true,\n drawTime: 'beforeDatasetDraw'\n }\n};\n\nconst getBoxSize = (labelOpts, fontSize) => {\n let {boxHeight = fontSize, boxWidth = fontSize} = labelOpts;\n if (labelOpts.usePointStyle) {\n boxHeight = Math.min(boxHeight, fontSize);\n boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize);\n }\n return {\n boxWidth,\n boxHeight,\n itemHeight: Math.max(fontSize, boxHeight)\n };\n};\nconst itemsEqual = (a, b) => a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\nclass Legend extends Element {\n constructor(config) {\n super();\n this._added = false;\n this.legendHitBoxes = [];\n this._hoveredItem = null;\n this.doughnutMode = false;\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this.legendItems = undefined;\n this.columnSizes = undefined;\n this.lineWidths = undefined;\n this.maxHeight = undefined;\n this.maxWidth = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.height = undefined;\n this.width = undefined;\n this._margins = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight, margins) {\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins;\n this.setDimensions();\n this.buildLabels();\n this.fit();\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = this._margins.left;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = this._margins.top;\n this.bottom = this.height;\n }\n }\n buildLabels() {\n const labelOpts = this.options.labels || {};\n let legendItems = callback(labelOpts.generateLabels, [this.chart], this) || [];\n if (labelOpts.filter) {\n legendItems = legendItems.filter((item) => labelOpts.filter(item, this.chart.data));\n }\n if (labelOpts.sort) {\n legendItems = legendItems.sort((a, b) => labelOpts.sort(a, b, this.chart.data));\n }\n if (this.options.reverse) {\n legendItems.reverse();\n }\n this.legendItems = legendItems;\n }\n fit() {\n const {options, ctx} = this;\n if (!options.display) {\n this.width = this.height = 0;\n return;\n }\n const labelOpts = options.labels;\n const labelFont = toFont(labelOpts.font);\n const fontSize = labelFont.size;\n const titleHeight = this._computeTitleHeight();\n const {boxWidth, itemHeight} = getBoxSize(labelOpts, fontSize);\n let width, height;\n ctx.font = labelFont.string;\n if (this.isHorizontal()) {\n width = this.maxWidth;\n height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n } else {\n height = this.maxHeight;\n width = this._fitCols(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n }\n this.width = Math.min(width, options.maxWidth || this.maxWidth);\n this.height = Math.min(height, options.maxHeight || this.maxHeight);\n }\n _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxWidth, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const lineWidths = this.lineWidths = [0];\n const lineHeight = itemHeight + padding;\n let totalHeight = titleHeight;\n ctx.textAlign = 'left';\n ctx.textBaseline = 'middle';\n let row = -1;\n let top = -lineHeight;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n totalHeight += lineHeight;\n lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n top += lineHeight;\n row++;\n }\n hitboxes[i] = {left: 0, top, row, width: itemWidth, height: itemHeight};\n lineWidths[lineWidths.length - 1] += itemWidth + padding;\n });\n return totalHeight;\n }\n _fitCols(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxHeight, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const columnSizes = this.columnSizes = [];\n const heightLimit = maxHeight - titleHeight;\n let totalWidth = padding;\n let currentColWidth = 0;\n let currentColHeight = 0;\n let left = 0;\n let col = 0;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n totalWidth += currentColWidth + padding;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n left += currentColWidth + padding;\n col++;\n currentColWidth = currentColHeight = 0;\n }\n hitboxes[i] = {left, top: currentColHeight, col, width: itemWidth, height: itemHeight};\n currentColWidth = Math.max(currentColWidth, itemWidth);\n currentColHeight += itemHeight + padding;\n });\n totalWidth += currentColWidth;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n return totalWidth;\n }\n adjustHitBoxes() {\n if (!this.options.display) {\n return;\n }\n const titleHeight = this._computeTitleHeight();\n const {legendHitBoxes: hitboxes, options: {align, labels: {padding}, rtl}} = this;\n const rtlHelper = getRtlAdapter(rtl, this.left, this.width);\n if (this.isHorizontal()) {\n let row = 0;\n let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n for (const hitbox of hitboxes) {\n if (row !== hitbox.row) {\n row = hitbox.row;\n left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n }\n hitbox.top += this.top + titleHeight + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n left += hitbox.width + padding;\n }\n } else {\n let col = 0;\n let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n for (const hitbox of hitboxes) {\n if (hitbox.col !== col) {\n col = hitbox.col;\n top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n }\n hitbox.top = top;\n hitbox.left += this.left + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n top += hitbox.height + padding;\n }\n }\n }\n isHorizontal() {\n return this.options.position === 'top' || this.options.position === 'bottom';\n }\n draw() {\n if (this.options.display) {\n const ctx = this.ctx;\n clipArea(ctx, this);\n this._draw();\n unclipArea(ctx);\n }\n }\n _draw() {\n const {options: opts, columnSizes, lineWidths, ctx} = this;\n const {align, labels: labelOpts} = opts;\n const defaultColor = defaults.color;\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const labelFont = toFont(labelOpts.font);\n const {color: fontColor, padding} = labelOpts;\n const fontSize = labelFont.size;\n const halfFontSize = fontSize / 2;\n let cursor;\n this.drawTitle();\n ctx.textAlign = rtlHelper.textAlign('left');\n ctx.textBaseline = 'middle';\n ctx.lineWidth = 0.5;\n ctx.font = labelFont.string;\n const {boxWidth, boxHeight, itemHeight} = getBoxSize(labelOpts, fontSize);\n const drawLegendBox = function(x, y, legendItem) {\n if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n return;\n }\n ctx.save();\n const lineWidth = valueOrDefault(legendItem.lineWidth, 1);\n ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor);\n ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt');\n ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0);\n ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter');\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor);\n ctx.setLineDash(valueOrDefault(legendItem.lineDash, []));\n if (labelOpts.usePointStyle) {\n const drawOptions = {\n radius: boxHeight * Math.SQRT2 / 2,\n pointStyle: legendItem.pointStyle,\n rotation: legendItem.rotation,\n borderWidth: lineWidth\n };\n const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n const centerY = y + halfFontSize;\n drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth);\n } else {\n const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n const borderRadius = toTRBLCorners(legendItem.borderRadius);\n ctx.beginPath();\n if (Object.values(borderRadius).some(v => v !== 0)) {\n addRoundedRectPath(ctx, {\n x: xBoxLeft,\n y: yBoxTop,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n } else {\n ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n }\n ctx.fill();\n if (lineWidth !== 0) {\n ctx.stroke();\n }\n }\n ctx.restore();\n };\n const fillText = function(x, y, legendItem) {\n renderText(ctx, legendItem.text, x, y + (itemHeight / 2), labelFont, {\n strikethrough: legendItem.hidden,\n textAlign: rtlHelper.textAlign(legendItem.textAlign)\n });\n };\n const isHorizontal = this.isHorizontal();\n const titleHeight = this._computeTitleHeight();\n if (isHorizontal) {\n cursor = {\n x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]),\n y: this.top + padding + titleHeight,\n line: 0\n };\n } else {\n cursor = {\n x: this.left + padding,\n y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height),\n line: 0\n };\n }\n overrideTextDirection(this.ctx, opts.textDirection);\n const lineHeight = itemHeight + padding;\n this.legendItems.forEach((legendItem, i) => {\n ctx.strokeStyle = legendItem.fontColor || fontColor;\n ctx.fillStyle = legendItem.fontColor || fontColor;\n const textWidth = ctx.measureText(legendItem.text).width;\n const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n const width = boxWidth + halfFontSize + textWidth;\n let x = cursor.x;\n let y = cursor.y;\n rtlHelper.setWidth(this.width);\n if (isHorizontal) {\n if (i > 0 && x + width + padding > this.right) {\n y = cursor.y += lineHeight;\n cursor.line++;\n x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]);\n }\n } else if (i > 0 && y + lineHeight > this.bottom) {\n x = cursor.x = x + columnSizes[cursor.line].width + padding;\n cursor.line++;\n y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height);\n }\n const realX = rtlHelper.x(x);\n drawLegendBox(realX, y, legendItem);\n x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl);\n fillText(rtlHelper.x(x), y, legendItem);\n if (isHorizontal) {\n cursor.x += width + padding;\n } else {\n cursor.y += lineHeight;\n }\n });\n restoreTextDirection(this.ctx, opts.textDirection);\n }\n drawTitle() {\n const opts = this.options;\n const titleOpts = opts.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n if (!titleOpts.display) {\n return;\n }\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const ctx = this.ctx;\n const position = titleOpts.position;\n const halfFontSize = titleFont.size / 2;\n const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n let y;\n let left = this.left;\n let maxWidth = this.width;\n if (this.isHorizontal()) {\n maxWidth = Math.max(...this.lineWidths);\n y = this.top + topPaddingPlusHalfFontSize;\n left = _alignStartEnd(opts.align, left, this.right - maxWidth);\n } else {\n const maxHeight = this.columnSizes.reduce((acc, size) => Math.max(acc, size.height), 0);\n y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight());\n }\n const x = _alignStartEnd(position, left, left + maxWidth);\n ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position));\n ctx.textBaseline = 'middle';\n ctx.strokeStyle = titleOpts.color;\n ctx.fillStyle = titleOpts.color;\n ctx.font = titleFont.string;\n renderText(ctx, titleOpts.text, x, y, titleFont);\n }\n _computeTitleHeight() {\n const titleOpts = this.options.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n }\n _getLegendItemAt(x, y) {\n let i, hitBox, lh;\n if (_isBetween(x, this.left, this.right)\n && _isBetween(y, this.top, this.bottom)) {\n lh = this.legendHitBoxes;\n for (i = 0; i < lh.length; ++i) {\n hitBox = lh[i];\n if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width)\n && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) {\n return this.legendItems[i];\n }\n }\n }\n return null;\n }\n handleEvent(e) {\n const opts = this.options;\n if (!isListened(e.type, opts)) {\n return;\n }\n const hoveredItem = this._getLegendItemAt(e.x, e.y);\n if (e.type === 'mousemove' || e.type === 'mouseout') {\n const previous = this._hoveredItem;\n const sameItem = itemsEqual(previous, hoveredItem);\n if (previous && !sameItem) {\n callback(opts.onLeave, [e, previous, this], this);\n }\n this._hoveredItem = hoveredItem;\n if (hoveredItem && !sameItem) {\n callback(opts.onHover, [e, hoveredItem, this], this);\n }\n } else if (hoveredItem) {\n callback(opts.onClick, [e, hoveredItem, this], this);\n }\n }\n}\nfunction isListened(type, opts) {\n if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) {\n return true;\n }\n if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n return true;\n }\n return false;\n}\nvar plugin_legend = {\n id: 'legend',\n _element: Legend,\n start(chart, _args, options) {\n const legend = chart.legend = new Legend({ctx: chart.ctx, options, chart});\n layouts.configure(chart, legend, options);\n layouts.addBox(chart, legend);\n },\n stop(chart) {\n layouts.removeBox(chart, chart.legend);\n delete chart.legend;\n },\n beforeUpdate(chart, _args, options) {\n const legend = chart.legend;\n layouts.configure(chart, legend, options);\n legend.options = options;\n },\n afterUpdate(chart) {\n const legend = chart.legend;\n legend.buildLabels();\n legend.adjustHitBoxes();\n },\n afterEvent(chart, args) {\n if (!args.replay) {\n chart.legend.handleEvent(args.event);\n }\n },\n defaults: {\n display: true,\n position: 'top',\n align: 'center',\n fullSize: true,\n reverse: false,\n weight: 1000,\n onClick(e, legendItem, legend) {\n const index = legendItem.datasetIndex;\n const ci = legend.chart;\n if (ci.isDatasetVisible(index)) {\n ci.hide(index);\n legendItem.hidden = true;\n } else {\n ci.show(index);\n legendItem.hidden = false;\n }\n },\n onHover: null,\n onLeave: null,\n labels: {\n color: (ctx) => ctx.chart.options.color,\n boxWidth: 40,\n padding: 10,\n generateLabels(chart) {\n const datasets = chart.data.datasets;\n const {labels: {usePointStyle, pointStyle, textAlign, color}} = chart.legend.options;\n return chart._getSortedDatasetMetas().map((meta) => {\n const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n const borderWidth = toPadding(style.borderWidth);\n return {\n text: datasets[meta.index].label,\n fillStyle: style.backgroundColor,\n fontColor: color,\n hidden: !meta.visible,\n lineCap: style.borderCapStyle,\n lineDash: style.borderDash,\n lineDashOffset: style.borderDashOffset,\n lineJoin: style.borderJoinStyle,\n lineWidth: (borderWidth.width + borderWidth.height) / 4,\n strokeStyle: style.borderColor,\n pointStyle: pointStyle || style.pointStyle,\n rotation: style.rotation,\n textAlign: textAlign || style.textAlign,\n borderRadius: 0,\n datasetIndex: meta.index\n };\n }, this);\n }\n },\n title: {\n color: (ctx) => ctx.chart.options.color,\n display: false,\n position: 'center',\n text: '',\n }\n },\n descriptors: {\n _scriptable: (name) => !name.startsWith('on'),\n labels: {\n _scriptable: (name) => !['generateLabels', 'filter', 'sort'].includes(name),\n }\n },\n};\n\nclass Title extends Element {\n constructor(config) {\n super();\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this._padding = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight) {\n const opts = this.options;\n this.left = 0;\n this.top = 0;\n if (!opts.display) {\n this.width = this.height = this.right = this.bottom = 0;\n return;\n }\n this.width = this.right = maxWidth;\n this.height = this.bottom = maxHeight;\n const lineCount = isArray(opts.text) ? opts.text.length : 1;\n this._padding = toPadding(opts.padding);\n const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height;\n if (this.isHorizontal()) {\n this.height = textSize;\n } else {\n this.width = textSize;\n }\n }\n isHorizontal() {\n const pos = this.options.position;\n return pos === 'top' || pos === 'bottom';\n }\n _drawArgs(offset) {\n const {top, left, bottom, right, options} = this;\n const align = options.align;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n if (this.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n titleY = top + offset;\n maxWidth = right - left;\n } else {\n if (options.position === 'left') {\n titleX = left + offset;\n titleY = _alignStartEnd(align, bottom, top);\n rotation = PI * -0.5;\n } else {\n titleX = right - offset;\n titleY = _alignStartEnd(align, top, bottom);\n rotation = PI * 0.5;\n }\n maxWidth = bottom - top;\n }\n return {titleX, titleY, maxWidth, rotation};\n }\n draw() {\n const ctx = this.ctx;\n const opts = this.options;\n if (!opts.display) {\n return;\n }\n const fontOpts = toFont(opts.font);\n const lineHeight = fontOpts.lineHeight;\n const offset = lineHeight / 2 + this._padding.top;\n const {titleX, titleY, maxWidth, rotation} = this._drawArgs(offset);\n renderText(ctx, opts.text, 0, 0, fontOpts, {\n color: opts.color,\n maxWidth,\n rotation,\n textAlign: _toLeftRightCenter(opts.align),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n}\nfunction createTitle(chart, titleOpts) {\n const title = new Title({\n ctx: chart.ctx,\n options: titleOpts,\n chart\n });\n layouts.configure(chart, title, titleOpts);\n layouts.addBox(chart, title);\n chart.titleBlock = title;\n}\nvar plugin_title = {\n id: 'title',\n _element: Title,\n start(chart, _args, options) {\n createTitle(chart, options);\n },\n stop(chart) {\n const titleBlock = chart.titleBlock;\n layouts.removeBox(chart, titleBlock);\n delete chart.titleBlock;\n },\n beforeUpdate(chart, _args, options) {\n const title = chart.titleBlock;\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'bold',\n },\n fullSize: true,\n padding: 10,\n position: 'top',\n text: '',\n weight: 2000\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst map = new WeakMap();\nvar plugin_subtitle = {\n id: 'subtitle',\n start(chart, _args, options) {\n const title = new Title({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, title, options);\n layouts.addBox(chart, title);\n map.set(chart, title);\n },\n stop(chart) {\n layouts.removeBox(chart, map.get(chart));\n map.delete(chart);\n },\n beforeUpdate(chart, _args, options) {\n const title = map.get(chart);\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'normal',\n },\n fullSize: true,\n padding: 0,\n position: 'top',\n text: '',\n weight: 1500\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst positioners = {\n average(items) {\n if (!items.length) {\n return false;\n }\n let i, len;\n let x = 0;\n let y = 0;\n let count = 0;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const pos = el.tooltipPosition();\n x += pos.x;\n y += pos.y;\n ++count;\n }\n }\n return {\n x: x / count,\n y: y / count\n };\n },\n nearest(items, eventPosition) {\n if (!items.length) {\n return false;\n }\n let x = eventPosition.x;\n let y = eventPosition.y;\n let minDistance = Number.POSITIVE_INFINITY;\n let i, len, nearestElement;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const center = el.getCenterPoint();\n const d = distanceBetweenPoints(eventPosition, center);\n if (d < minDistance) {\n minDistance = d;\n nearestElement = el;\n }\n }\n }\n if (nearestElement) {\n const tp = nearestElement.tooltipPosition();\n x = tp.x;\n y = tp.y;\n }\n return {\n x,\n y\n };\n }\n};\nfunction pushOrConcat(base, toPush) {\n if (toPush) {\n if (isArray(toPush)) {\n Array.prototype.push.apply(base, toPush);\n } else {\n base.push(toPush);\n }\n }\n return base;\n}\nfunction splitNewlines(str) {\n if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n return str.split('\\n');\n }\n return str;\n}\nfunction createTooltipItem(chart, item) {\n const {element, datasetIndex, index} = item;\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n const {label, value} = controller.getLabelAndValue(index);\n return {\n chart,\n label,\n parsed: controller.getParsed(index),\n raw: chart.data.datasets[datasetIndex].data[index],\n formattedValue: value,\n dataset: controller.getDataset(),\n dataIndex: index,\n datasetIndex,\n element\n };\n}\nfunction getTooltipSize(tooltip, options) {\n const ctx = tooltip.chart.ctx;\n const {body, footer, title} = tooltip;\n const {boxWidth, boxHeight} = options;\n const bodyFont = toFont(options.bodyFont);\n const titleFont = toFont(options.titleFont);\n const footerFont = toFont(options.footerFont);\n const titleLineCount = title.length;\n const footerLineCount = footer.length;\n const bodyLineItemCount = body.length;\n const padding = toPadding(options.padding);\n let height = padding.height;\n let width = 0;\n let combinedBodyLength = body.reduce((count, bodyItem) => count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n if (titleLineCount) {\n height += titleLineCount * titleFont.lineHeight\n\t\t\t+ (titleLineCount - 1) * options.titleSpacing\n\t\t\t+ options.titleMarginBottom;\n }\n if (combinedBodyLength) {\n const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n height += bodyLineItemCount * bodyLineHeight\n\t\t\t+ (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight\n\t\t\t+ (combinedBodyLength - 1) * options.bodySpacing;\n }\n if (footerLineCount) {\n height += options.footerMarginTop\n\t\t\t+ footerLineCount * footerFont.lineHeight\n\t\t\t+ (footerLineCount - 1) * options.footerSpacing;\n }\n let widthPadding = 0;\n const maxLineWidth = function(line) {\n width = Math.max(width, ctx.measureText(line).width + widthPadding);\n };\n ctx.save();\n ctx.font = titleFont.string;\n each(tooltip.title, maxLineWidth);\n ctx.font = bodyFont.string;\n each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n widthPadding = options.displayColors ? (boxWidth + 2 + options.boxPadding) : 0;\n each(body, (bodyItem) => {\n each(bodyItem.before, maxLineWidth);\n each(bodyItem.lines, maxLineWidth);\n each(bodyItem.after, maxLineWidth);\n });\n widthPadding = 0;\n ctx.font = footerFont.string;\n each(tooltip.footer, maxLineWidth);\n ctx.restore();\n width += padding.width;\n return {width, height};\n}\nfunction determineYAlign(chart, size) {\n const {y, height} = size;\n if (y < height / 2) {\n return 'top';\n } else if (y > (chart.height - height / 2)) {\n return 'bottom';\n }\n return 'center';\n}\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n const {x, width} = size;\n const caret = options.caretSize + options.caretPadding;\n if (xAlign === 'left' && x + width + caret > chart.width) {\n return true;\n }\n if (xAlign === 'right' && x - width - caret < 0) {\n return true;\n }\n}\nfunction determineXAlign(chart, options, size, yAlign) {\n const {x, width} = size;\n const {width: chartWidth, chartArea: {left, right}} = chart;\n let xAlign = 'center';\n if (yAlign === 'center') {\n xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n } else if (x <= width / 2) {\n xAlign = 'left';\n } else if (x >= chartWidth - width / 2) {\n xAlign = 'right';\n }\n if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n xAlign = 'center';\n }\n return xAlign;\n}\nfunction determineAlignment(chart, options, size) {\n const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size);\n return {\n xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign),\n yAlign\n };\n}\nfunction alignX(size, xAlign) {\n let {x, width} = size;\n if (xAlign === 'right') {\n x -= width;\n } else if (xAlign === 'center') {\n x -= (width / 2);\n }\n return x;\n}\nfunction alignY(size, yAlign, paddingAndSize) {\n let {y, height} = size;\n if (yAlign === 'top') {\n y += paddingAndSize;\n } else if (yAlign === 'bottom') {\n y -= height + paddingAndSize;\n } else {\n y -= (height / 2);\n }\n return y;\n}\nfunction getBackgroundPoint(options, size, alignment, chart) {\n const {caretSize, caretPadding, cornerRadius} = options;\n const {xAlign, yAlign} = alignment;\n const paddingAndSize = caretSize + caretPadding;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n let x = alignX(size, xAlign);\n const y = alignY(size, yAlign, paddingAndSize);\n if (yAlign === 'center') {\n if (xAlign === 'left') {\n x += paddingAndSize;\n } else if (xAlign === 'right') {\n x -= paddingAndSize;\n }\n } else if (xAlign === 'left') {\n x -= Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x += Math.max(topRight, bottomRight) + caretSize;\n }\n return {\n x: _limitValue(x, 0, chart.width - size.width),\n y: _limitValue(y, 0, chart.height - size.height)\n };\n}\nfunction getAlignedX(tooltip, align, options) {\n const padding = toPadding(options.padding);\n return align === 'center'\n ? tooltip.x + tooltip.width / 2\n : align === 'right'\n ? tooltip.x + tooltip.width - padding.right\n : tooltip.x + padding.left;\n}\nfunction getBeforeAfterBodyLines(callback) {\n return pushOrConcat([], splitNewlines(callback));\n}\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n return createContext(parent, {\n tooltip,\n tooltipItems,\n type: 'tooltip'\n });\n}\nfunction overrideCallbacks(callbacks, context) {\n const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n return override ? callbacks.override(override) : callbacks;\n}\nclass Tooltip extends Element {\n constructor(config) {\n super();\n this.opacity = 0;\n this._active = [];\n this._eventPosition = undefined;\n this._size = undefined;\n this._cachedAnimations = undefined;\n this._tooltipItems = [];\n this.$animations = undefined;\n this.$context = undefined;\n this.chart = config.chart || config._chart;\n this._chart = this.chart;\n this.options = config.options;\n this.dataPoints = undefined;\n this.title = undefined;\n this.beforeBody = undefined;\n this.body = undefined;\n this.afterBody = undefined;\n this.footer = undefined;\n this.xAlign = undefined;\n this.yAlign = undefined;\n this.x = undefined;\n this.y = undefined;\n this.height = undefined;\n this.width = undefined;\n this.caretX = undefined;\n this.caretY = undefined;\n this.labelColors = undefined;\n this.labelPointStyles = undefined;\n this.labelTextColors = undefined;\n }\n initialize(options) {\n this.options = options;\n this._cachedAnimations = undefined;\n this.$context = undefined;\n }\n _resolveAnimations() {\n const cached = this._cachedAnimations;\n if (cached) {\n return cached;\n }\n const chart = this.chart;\n const options = this.options.setContext(this.getContext());\n const opts = options.enabled && chart.options.animation && options.animations;\n const animations = new Animations(this.chart, opts);\n if (opts._cacheable) {\n this._cachedAnimations = Object.freeze(animations);\n }\n return animations;\n }\n getContext() {\n return this.$context ||\n\t\t\t(this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems));\n }\n getTitle(context, options) {\n const {callbacks} = options;\n const beforeTitle = callbacks.beforeTitle.apply(this, [context]);\n const title = callbacks.title.apply(this, [context]);\n const afterTitle = callbacks.afterTitle.apply(this, [context]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n lines = pushOrConcat(lines, splitNewlines(title));\n lines = pushOrConcat(lines, splitNewlines(afterTitle));\n return lines;\n }\n getBeforeBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.beforeBody.apply(this, [tooltipItems]));\n }\n getBody(tooltipItems, options) {\n const {callbacks} = options;\n const bodyItems = [];\n each(tooltipItems, (context) => {\n const bodyItem = {\n before: [],\n lines: [],\n after: []\n };\n const scoped = overrideCallbacks(callbacks, context);\n pushOrConcat(bodyItem.before, splitNewlines(scoped.beforeLabel.call(this, context)));\n pushOrConcat(bodyItem.lines, scoped.label.call(this, context));\n pushOrConcat(bodyItem.after, splitNewlines(scoped.afterLabel.call(this, context)));\n bodyItems.push(bodyItem);\n });\n return bodyItems;\n }\n getAfterBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.afterBody.apply(this, [tooltipItems]));\n }\n getFooter(tooltipItems, options) {\n const {callbacks} = options;\n const beforeFooter = callbacks.beforeFooter.apply(this, [tooltipItems]);\n const footer = callbacks.footer.apply(this, [tooltipItems]);\n const afterFooter = callbacks.afterFooter.apply(this, [tooltipItems]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n lines = pushOrConcat(lines, splitNewlines(footer));\n lines = pushOrConcat(lines, splitNewlines(afterFooter));\n return lines;\n }\n _createItems(options) {\n const active = this._active;\n const data = this.chart.data;\n const labelColors = [];\n const labelPointStyles = [];\n const labelTextColors = [];\n let tooltipItems = [];\n let i, len;\n for (i = 0, len = active.length; i < len; ++i) {\n tooltipItems.push(createTooltipItem(this.chart, active[i]));\n }\n if (options.filter) {\n tooltipItems = tooltipItems.filter((element, index, array) => options.filter(element, index, array, data));\n }\n if (options.itemSort) {\n tooltipItems = tooltipItems.sort((a, b) => options.itemSort(a, b, data));\n }\n each(tooltipItems, (context) => {\n const scoped = overrideCallbacks(options.callbacks, context);\n labelColors.push(scoped.labelColor.call(this, context));\n labelPointStyles.push(scoped.labelPointStyle.call(this, context));\n labelTextColors.push(scoped.labelTextColor.call(this, context));\n });\n this.labelColors = labelColors;\n this.labelPointStyles = labelPointStyles;\n this.labelTextColors = labelTextColors;\n this.dataPoints = tooltipItems;\n return tooltipItems;\n }\n update(changed, replay) {\n const options = this.options.setContext(this.getContext());\n const active = this._active;\n let properties;\n let tooltipItems = [];\n if (!active.length) {\n if (this.opacity !== 0) {\n properties = {\n opacity: 0\n };\n }\n } else {\n const position = positioners[options.position].call(this, active, this._eventPosition);\n tooltipItems = this._createItems(options);\n this.title = this.getTitle(tooltipItems, options);\n this.beforeBody = this.getBeforeBody(tooltipItems, options);\n this.body = this.getBody(tooltipItems, options);\n this.afterBody = this.getAfterBody(tooltipItems, options);\n this.footer = this.getFooter(tooltipItems, options);\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, size);\n const alignment = determineAlignment(this.chart, options, positionAndSize);\n const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart);\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n properties = {\n opacity: 1,\n x: backgroundPoint.x,\n y: backgroundPoint.y,\n width: size.width,\n height: size.height,\n caretX: position.x,\n caretY: position.y\n };\n }\n this._tooltipItems = tooltipItems;\n this.$context = undefined;\n if (properties) {\n this._resolveAnimations().update(this, properties);\n }\n if (changed && options.external) {\n options.external.call(this, {chart: this.chart, tooltip: this, replay});\n }\n }\n drawCaret(tooltipPoint, ctx, size, options) {\n const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n ctx.lineTo(caretPosition.x1, caretPosition.y1);\n ctx.lineTo(caretPosition.x2, caretPosition.y2);\n ctx.lineTo(caretPosition.x3, caretPosition.y3);\n }\n getCaretPosition(tooltipPoint, size, options) {\n const {xAlign, yAlign} = this;\n const {caretSize, cornerRadius} = options;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n const {x: ptX, y: ptY} = tooltipPoint;\n const {width, height} = size;\n let x1, x2, x3, y1, y2, y3;\n if (yAlign === 'center') {\n y2 = ptY + (height / 2);\n if (xAlign === 'left') {\n x1 = ptX;\n x2 = x1 - caretSize;\n y1 = y2 + caretSize;\n y3 = y2 - caretSize;\n } else {\n x1 = ptX + width;\n x2 = x1 + caretSize;\n y1 = y2 - caretSize;\n y3 = y2 + caretSize;\n }\n x3 = x1;\n } else {\n if (xAlign === 'left') {\n x2 = ptX + Math.max(topLeft, bottomLeft) + (caretSize);\n } else if (xAlign === 'right') {\n x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize;\n } else {\n x2 = this.caretX;\n }\n if (yAlign === 'top') {\n y1 = ptY;\n y2 = y1 - caretSize;\n x1 = x2 - caretSize;\n x3 = x2 + caretSize;\n } else {\n y1 = ptY + height;\n y2 = y1 + caretSize;\n x1 = x2 + caretSize;\n x3 = x2 - caretSize;\n }\n y3 = y1;\n }\n return {x1, x2, x3, y1, y2, y3};\n }\n drawTitle(pt, ctx, options) {\n const title = this.title;\n const length = title.length;\n let titleFont, titleSpacing, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.titleAlign, options);\n ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n ctx.textBaseline = 'middle';\n titleFont = toFont(options.titleFont);\n titleSpacing = options.titleSpacing;\n ctx.fillStyle = options.titleColor;\n ctx.font = titleFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n pt.y += titleFont.lineHeight + titleSpacing;\n if (i + 1 === length) {\n pt.y += options.titleMarginBottom - titleSpacing;\n }\n }\n }\n }\n _drawColorBox(ctx, pt, i, rtlHelper, options) {\n const labelColors = this.labelColors[i];\n const labelPointStyle = this.labelPointStyles[i];\n const {boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n const colorX = getAlignedX(this, 'left', options);\n const rtlColorX = rtlHelper.x(colorX);\n const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n const colorY = pt.y + yOffSet;\n if (options.usePointStyle) {\n const drawOptions = {\n radius: Math.min(boxWidth, boxHeight) / 2,\n pointStyle: labelPointStyle.pointStyle,\n rotation: labelPointStyle.rotation,\n borderWidth: 1\n };\n const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n const centerY = colorY + boxHeight / 2;\n ctx.strokeStyle = options.multiKeyBackground;\n ctx.fillStyle = options.multiKeyBackground;\n drawPoint(ctx, drawOptions, centerX, centerY);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.fillStyle = labelColors.backgroundColor;\n drawPoint(ctx, drawOptions, centerX, centerY);\n } else {\n ctx.lineWidth = isObject(labelColors.borderWidth) ? Math.max(...Object.values(labelColors.borderWidth)) : (labelColors.borderWidth || 1);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.setLineDash(labelColors.borderDash || []);\n ctx.lineDashOffset = labelColors.borderDashOffset || 0;\n const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth - boxPadding);\n const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - boxPadding - 2);\n const borderRadius = toTRBLCorners(labelColors.borderRadius);\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n ctx.fillStyle = options.multiKeyBackground;\n addRoundedRectPath(ctx, {\n x: outerX,\n y: colorY,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n ctx.fill();\n ctx.stroke();\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: innerX,\n y: colorY + 1,\n w: boxWidth - 2,\n h: boxHeight - 2,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillStyle = options.multiKeyBackground;\n ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n }\n }\n ctx.fillStyle = this.labelTextColors[i];\n }\n drawBody(pt, ctx, options) {\n const {body} = this;\n const {bodySpacing, bodyAlign, displayColors, boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n let bodyLineHeight = bodyFont.lineHeight;\n let xLinePadding = 0;\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n const fillLineOfText = function(line) {\n ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n pt.y += bodyLineHeight + bodySpacing;\n };\n const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n let bodyItem, textColor, lines, i, j, ilen, jlen;\n ctx.textAlign = bodyAlign;\n ctx.textBaseline = 'middle';\n ctx.font = bodyFont.string;\n pt.x = getAlignedX(this, bodyAlignForCalculation, options);\n ctx.fillStyle = options.bodyColor;\n each(this.beforeBody, fillLineOfText);\n xLinePadding = displayColors && bodyAlignForCalculation !== 'right'\n ? bodyAlign === 'center' ? (boxWidth / 2 + boxPadding) : (boxWidth + 2 + boxPadding)\n : 0;\n for (i = 0, ilen = body.length; i < ilen; ++i) {\n bodyItem = body[i];\n textColor = this.labelTextColors[i];\n ctx.fillStyle = textColor;\n each(bodyItem.before, fillLineOfText);\n lines = bodyItem.lines;\n if (displayColors && lines.length) {\n this._drawColorBox(ctx, pt, i, rtlHelper, options);\n bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n }\n for (j = 0, jlen = lines.length; j < jlen; ++j) {\n fillLineOfText(lines[j]);\n bodyLineHeight = bodyFont.lineHeight;\n }\n each(bodyItem.after, fillLineOfText);\n }\n xLinePadding = 0;\n bodyLineHeight = bodyFont.lineHeight;\n each(this.afterBody, fillLineOfText);\n pt.y -= bodySpacing;\n }\n drawFooter(pt, ctx, options) {\n const footer = this.footer;\n const length = footer.length;\n let footerFont, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.footerAlign, options);\n pt.y += options.footerMarginTop;\n ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n ctx.textBaseline = 'middle';\n footerFont = toFont(options.footerFont);\n ctx.fillStyle = options.footerColor;\n ctx.font = footerFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n pt.y += footerFont.lineHeight + options.footerSpacing;\n }\n }\n }\n drawBackground(pt, ctx, tooltipSize, options) {\n const {xAlign, yAlign} = this;\n const {x, y} = pt;\n const {width, height} = tooltipSize;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(options.cornerRadius);\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.beginPath();\n ctx.moveTo(x + topLeft, y);\n if (yAlign === 'top') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width - topRight, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + topRight);\n if (yAlign === 'center' && xAlign === 'right') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width, y + height - bottomRight);\n ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height);\n if (yAlign === 'bottom') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + bottomLeft, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft);\n if (yAlign === 'center' && xAlign === 'left') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x, y + topLeft);\n ctx.quadraticCurveTo(x, y, x + topLeft, y);\n ctx.closePath();\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n }\n _updateAnimationTarget(options) {\n const chart = this.chart;\n const anims = this.$animations;\n const animX = anims && anims.x;\n const animY = anims && anims.y;\n if (animX || animY) {\n const position = positioners[options.position].call(this, this._active, this._eventPosition);\n if (!position) {\n return;\n }\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, this._size);\n const alignment = determineAlignment(chart, options, positionAndSize);\n const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n if (animX._to !== point.x || animY._to !== point.y) {\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n this.width = size.width;\n this.height = size.height;\n this.caretX = position.x;\n this.caretY = position.y;\n this._resolveAnimations().update(this, point);\n }\n }\n }\n _willRender() {\n return !!this.opacity;\n }\n draw(ctx) {\n const options = this.options.setContext(this.getContext());\n let opacity = this.opacity;\n if (!opacity) {\n return;\n }\n this._updateAnimationTarget(options);\n const tooltipSize = {\n width: this.width,\n height: this.height\n };\n const pt = {\n x: this.x,\n y: this.y\n };\n opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n const padding = toPadding(options.padding);\n const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;\n if (options.enabled && hasTooltipContent) {\n ctx.save();\n ctx.globalAlpha = opacity;\n this.drawBackground(pt, ctx, tooltipSize, options);\n overrideTextDirection(ctx, options.textDirection);\n pt.y += padding.top;\n this.drawTitle(pt, ctx, options);\n this.drawBody(pt, ctx, options);\n this.drawFooter(pt, ctx, options);\n restoreTextDirection(ctx, options.textDirection);\n ctx.restore();\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements, eventPosition) {\n const lastActive = this._active;\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.chart.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('Cannot find a dataset at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(lastActive, active);\n const positionChanged = this._positionChanged(active, eventPosition);\n if (changed || positionChanged) {\n this._active = active;\n this._eventPosition = eventPosition;\n this._ignoreReplayEvents = true;\n this.update(true);\n }\n }\n handleEvent(e, replay, inChartArea = true) {\n if (replay && this._ignoreReplayEvents) {\n return false;\n }\n this._ignoreReplayEvents = false;\n const options = this.options;\n const lastActive = this._active || [];\n const active = this._getActiveElements(e, lastActive, replay, inChartArea);\n const positionChanged = this._positionChanged(active, e);\n const changed = replay || !_elementsEqual(active, lastActive) || positionChanged;\n if (changed) {\n this._active = active;\n if (options.enabled || options.external) {\n this._eventPosition = {\n x: e.x,\n y: e.y\n };\n this.update(true, replay);\n }\n }\n return changed;\n }\n _getActiveElements(e, lastActive, replay, inChartArea) {\n const options = this.options;\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay);\n if (options.reverse) {\n active.reverse();\n }\n return active;\n }\n _positionChanged(active, e) {\n const {caretX, caretY, options} = this;\n const position = positioners[options.position].call(this, active, e);\n return position !== false && (caretX !== position.x || caretY !== position.y);\n }\n}\nTooltip.positioners = positioners;\nvar plugin_tooltip = {\n id: 'tooltip',\n _element: Tooltip,\n positioners,\n afterInit(chart, _args, options) {\n if (options) {\n chart.tooltip = new Tooltip({chart, options});\n }\n },\n beforeUpdate(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n reset(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n afterDraw(chart) {\n const tooltip = chart.tooltip;\n if (tooltip && tooltip._willRender()) {\n const args = {\n tooltip\n };\n if (chart.notifyPlugins('beforeTooltipDraw', args) === false) {\n return;\n }\n tooltip.draw(chart.ctx);\n chart.notifyPlugins('afterTooltipDraw', args);\n }\n },\n afterEvent(chart, args) {\n if (chart.tooltip) {\n const useFinalPosition = args.replay;\n if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) {\n args.changed = true;\n }\n }\n },\n defaults: {\n enabled: true,\n external: null,\n position: 'average',\n backgroundColor: 'rgba(0,0,0,0.8)',\n titleColor: '#fff',\n titleFont: {\n weight: 'bold',\n },\n titleSpacing: 2,\n titleMarginBottom: 6,\n titleAlign: 'left',\n bodyColor: '#fff',\n bodySpacing: 2,\n bodyFont: {\n },\n bodyAlign: 'left',\n footerColor: '#fff',\n footerSpacing: 2,\n footerMarginTop: 6,\n footerFont: {\n weight: 'bold',\n },\n footerAlign: 'left',\n padding: 6,\n caretPadding: 2,\n caretSize: 5,\n cornerRadius: 6,\n boxHeight: (ctx, opts) => opts.bodyFont.size,\n boxWidth: (ctx, opts) => opts.bodyFont.size,\n multiKeyBackground: '#fff',\n displayColors: true,\n boxPadding: 0,\n borderColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n animation: {\n duration: 400,\n easing: 'easeOutQuart',\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'width', 'height', 'caretX', 'caretY'],\n },\n opacity: {\n easing: 'linear',\n duration: 200\n }\n },\n callbacks: {\n beforeTitle: noop,\n title(tooltipItems) {\n if (tooltipItems.length > 0) {\n const item = tooltipItems[0];\n const labels = item.chart.data.labels;\n const labelCount = labels ? labels.length : 0;\n if (this && this.options && this.options.mode === 'dataset') {\n return item.dataset.label || '';\n } else if (item.label) {\n return item.label;\n } else if (labelCount > 0 && item.dataIndex < labelCount) {\n return labels[item.dataIndex];\n }\n }\n return '';\n },\n afterTitle: noop,\n beforeBody: noop,\n beforeLabel: noop,\n label(tooltipItem) {\n if (this && this.options && this.options.mode === 'dataset') {\n return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n }\n let label = tooltipItem.dataset.label || '';\n if (label) {\n label += ': ';\n }\n const value = tooltipItem.formattedValue;\n if (!isNullOrUndef(value)) {\n label += value;\n }\n return label;\n },\n labelColor(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n borderColor: options.borderColor,\n backgroundColor: options.backgroundColor,\n borderWidth: options.borderWidth,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderRadius: 0,\n };\n },\n labelTextColor() {\n return this.options.bodyColor;\n },\n labelPointStyle(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n pointStyle: options.pointStyle,\n rotation: options.rotation,\n };\n },\n afterLabel: noop,\n afterBody: noop,\n beforeFooter: noop,\n footer: noop,\n afterFooter: noop\n }\n },\n defaultRoutes: {\n bodyFont: 'font',\n footerFont: 'font',\n titleFont: 'font'\n },\n descriptors: {\n _scriptable: (name) => name !== 'filter' && name !== 'itemSort' && name !== 'external',\n _indexable: false,\n callbacks: {\n _scriptable: false,\n _indexable: false,\n },\n animation: {\n _fallback: false\n },\n animations: {\n _fallback: 'animation'\n }\n },\n additionalOptionScopes: ['interaction']\n};\n\nvar plugins = /*#__PURE__*/Object.freeze({\n__proto__: null,\nDecimation: plugin_decimation,\nFiller: index,\nLegend: plugin_legend,\nSubTitle: plugin_subtitle,\nTitle: plugin_title,\nTooltip: plugin_tooltip\n});\n\nconst addIfString = (labels, raw, index, addedLabels) => {\n if (typeof raw === 'string') {\n index = labels.push(raw) - 1;\n addedLabels.unshift({index, label: raw});\n } else if (isNaN(raw)) {\n index = null;\n }\n return index;\n};\nfunction findOrAddLabel(labels, raw, index, addedLabels) {\n const first = labels.indexOf(raw);\n if (first === -1) {\n return addIfString(labels, raw, index, addedLabels);\n }\n const last = labels.lastIndexOf(raw);\n return first !== last ? index : first;\n}\nconst validIndex = (index, max) => index === null ? null : _limitValue(Math.round(index), 0, max);\nclass CategoryScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this._startValue = undefined;\n this._valueRange = 0;\n this._addedLabels = [];\n }\n init(scaleOptions) {\n const added = this._addedLabels;\n if (added.length) {\n const labels = this.getLabels();\n for (const {index, label} of added) {\n if (labels[index] === label) {\n labels.splice(index, 1);\n }\n }\n this._addedLabels = [];\n }\n super.init(scaleOptions);\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n const labels = this.getLabels();\n index = isFinite(index) && labels[index] === raw ? index\n : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels);\n return validIndex(index, labels.length - 1);\n }\n determineDataLimits() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this.getMinMax(true);\n if (this.options.bounds === 'ticks') {\n if (!minDefined) {\n min = 0;\n }\n if (!maxDefined) {\n max = this.getLabels().length - 1;\n }\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const min = this.min;\n const max = this.max;\n const offset = this.options.offset;\n const ticks = [];\n let labels = this.getLabels();\n labels = (min === 0 && max === labels.length - 1) ? labels : labels.slice(min, max + 1);\n this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n this._startValue = this.min - (offset ? 0.5 : 0);\n for (let value = min; value <= max; value++) {\n ticks.push({value});\n }\n return ticks;\n }\n getLabelForValue(value) {\n const labels = this.getLabels();\n if (value >= 0 && value < labels.length) {\n return labels[value];\n }\n return value;\n }\n configure() {\n super.configure();\n if (!this.isHorizontal()) {\n this._reversePixels = !this._reversePixels;\n }\n }\n getPixelForValue(value) {\n if (typeof value !== 'number') {\n value = this.parse(value);\n }\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getValueForPixel(pixel) {\n return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange);\n }\n getBasePixel() {\n return this.bottom;\n }\n}\nCategoryScale.id = 'category';\nCategoryScale.defaults = {\n ticks: {\n callback: CategoryScale.prototype.getLabelForValue\n }\n};\n\nfunction generateTicks$1(generationOptions, dataRange) {\n const ticks = [];\n const MIN_SPACING = 1e-14;\n const {bounds, step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions;\n const unit = step || 1;\n const maxSpaces = maxTicks - 1;\n const {min: rmin, max: rmax} = dataRange;\n const minDefined = !isNullOrUndef(min);\n const maxDefined = !isNullOrUndef(max);\n const countDefined = !isNullOrUndef(count);\n const minSpacing = (rmax - rmin) / (maxDigits + 1);\n let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit;\n let factor, niceMin, niceMax, numSpaces;\n if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n return [{value: rmin}, {value: rmax}];\n }\n numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n if (numSpaces > maxSpaces) {\n spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit;\n }\n if (!isNullOrUndef(precision)) {\n factor = Math.pow(10, precision);\n spacing = Math.ceil(spacing * factor) / factor;\n }\n if (bounds === 'ticks') {\n niceMin = Math.floor(rmin / spacing) * spacing;\n niceMax = Math.ceil(rmax / spacing) * spacing;\n } else {\n niceMin = rmin;\n niceMax = rmax;\n }\n if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {\n numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n spacing = (max - min) / numSpaces;\n niceMin = min;\n niceMax = max;\n } else if (countDefined) {\n niceMin = minDefined ? min : niceMin;\n niceMax = maxDefined ? max : niceMax;\n numSpaces = count - 1;\n spacing = (niceMax - niceMin) / numSpaces;\n } else {\n numSpaces = (niceMax - niceMin) / spacing;\n if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n numSpaces = Math.round(numSpaces);\n } else {\n numSpaces = Math.ceil(numSpaces);\n }\n }\n const decimalPlaces = Math.max(\n _decimalPlaces(spacing),\n _decimalPlaces(niceMin)\n );\n factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision);\n niceMin = Math.round(niceMin * factor) / factor;\n niceMax = Math.round(niceMax * factor) / factor;\n let j = 0;\n if (minDefined) {\n if (includeBounds && niceMin !== min) {\n ticks.push({value: min});\n if (niceMin < min) {\n j++;\n }\n if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n j++;\n }\n } else if (niceMin < min) {\n j++;\n }\n }\n for (; j < numSpaces; ++j) {\n ticks.push({value: Math.round((niceMin + j * spacing) * factor) / factor});\n }\n if (maxDefined && includeBounds && niceMax !== max) {\n if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n ticks[ticks.length - 1].value = max;\n } else {\n ticks.push({value: max});\n }\n } else if (!maxDefined || niceMax === max) {\n ticks.push({value: niceMax});\n }\n return ticks;\n}\nfunction relativeLabelSize(value, minSpacing, {horizontal, minRotation}) {\n const rad = toRadians(minRotation);\n const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n const length = 0.75 * minSpacing * ('' + value).length;\n return Math.min(minSpacing / ratio, length);\n}\nclass LinearScaleBase extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._endValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n return null;\n }\n return +raw;\n }\n handleTickRangeOptions() {\n const {beginAtZero} = this.options;\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n if (beginAtZero) {\n const minSign = sign(min);\n const maxSign = sign(max);\n if (minSign < 0 && maxSign < 0) {\n setMax(0);\n } else if (minSign > 0 && maxSign > 0) {\n setMin(0);\n }\n }\n if (min === max) {\n let offset = 1;\n if (max >= Number.MAX_SAFE_INTEGER || min <= Number.MIN_SAFE_INTEGER) {\n offset = Math.abs(max * 0.05);\n }\n setMax(max + offset);\n if (!beginAtZero) {\n setMin(min - offset);\n }\n }\n this.min = min;\n this.max = max;\n }\n getTickLimit() {\n const tickOpts = this.options.ticks;\n let {maxTicksLimit, stepSize} = tickOpts;\n let maxTicks;\n if (stepSize) {\n maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1;\n if (maxTicks > 1000) {\n console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`);\n maxTicks = 1000;\n }\n } else {\n maxTicks = this.computeTickLimit();\n maxTicksLimit = maxTicksLimit || 11;\n }\n if (maxTicksLimit) {\n maxTicks = Math.min(maxTicksLimit, maxTicks);\n }\n return maxTicks;\n }\n computeTickLimit() {\n return Number.POSITIVE_INFINITY;\n }\n buildTicks() {\n const opts = this.options;\n const tickOpts = opts.ticks;\n let maxTicks = this.getTickLimit();\n maxTicks = Math.max(2, maxTicks);\n const numericGeneratorOptions = {\n maxTicks,\n bounds: opts.bounds,\n min: opts.min,\n max: opts.max,\n precision: tickOpts.precision,\n step: tickOpts.stepSize,\n count: tickOpts.count,\n maxDigits: this._maxDigits(),\n horizontal: this.isHorizontal(),\n minRotation: tickOpts.minRotation || 0,\n includeBounds: tickOpts.includeBounds !== false\n };\n const dataRange = this._range || this;\n const ticks = generateTicks$1(numericGeneratorOptions, dataRange);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n configure() {\n const ticks = this.ticks;\n let start = this.min;\n let end = this.max;\n super.configure();\n if (this.options.offset && ticks.length) {\n const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n start -= offset;\n end += offset;\n }\n this._startValue = start;\n this._endValue = end;\n this._valueRange = end - start;\n }\n getLabelForValue(value) {\n return formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n}\n\nclass LinearScale extends LinearScaleBase {\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? min : 0;\n this.max = isNumberFinite(max) ? max : 1;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n const horizontal = this.isHorizontal();\n const length = horizontal ? this.width : this.height;\n const minRotation = toRadians(this.options.ticks.minRotation);\n const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n const tickFont = this._resolveTickFontOptions(0);\n return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n }\n getPixelForValue(value) {\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n }\n}\nLinearScale.id = 'linear';\nLinearScale.defaults = {\n ticks: {\n callback: Ticks.formatters.numeric\n }\n};\n\nfunction isMajor(tickVal) {\n const remain = tickVal / (Math.pow(10, Math.floor(log10(tickVal))));\n return remain === 1;\n}\nfunction generateTicks(generationOptions, dataRange) {\n const endExp = Math.floor(log10(dataRange.max));\n const endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\n const ticks = [];\n let tickVal = finiteOrDefault(generationOptions.min, Math.pow(10, Math.floor(log10(dataRange.min))));\n let exp = Math.floor(log10(tickVal));\n let significand = Math.floor(tickVal / Math.pow(10, exp));\n let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n do {\n ticks.push({value: tickVal, major: isMajor(tickVal)});\n ++significand;\n if (significand === 10) {\n significand = 1;\n ++exp;\n precision = exp >= 0 ? 1 : precision;\n }\n tickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision;\n } while (exp < endExp || (exp === endExp && significand < endSignificand));\n const lastTick = finiteOrDefault(generationOptions.max, tickVal);\n ticks.push({value: lastTick, major: isMajor(tickVal)});\n return ticks;\n}\nclass LogarithmicScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n const value = LinearScaleBase.prototype.parse.apply(this, [raw, index]);\n if (value === 0) {\n this._zero = true;\n return undefined;\n }\n return isNumberFinite(value) && value > 0 ? value : null;\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? Math.max(0, min) : null;\n this.max = isNumberFinite(max) ? Math.max(0, max) : null;\n if (this.options.beginAtZero) {\n this._zero = true;\n }\n this.handleTickRangeOptions();\n }\n handleTickRangeOptions() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let min = this.min;\n let max = this.max;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n const exp = (v, m) => Math.pow(10, Math.floor(log10(v)) + m);\n if (min === max) {\n if (min <= 0) {\n setMin(1);\n setMax(10);\n } else {\n setMin(exp(min, -1));\n setMax(exp(max, +1));\n }\n }\n if (min <= 0) {\n setMin(exp(max, -1));\n }\n if (max <= 0) {\n setMax(exp(min, +1));\n }\n if (this._zero && this.min !== this._suggestedMin && min === exp(this.min, 0)) {\n setMin(exp(min, -1));\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const opts = this.options;\n const generationOptions = {\n min: this._userMin,\n max: this._userMax\n };\n const ticks = generateTicks(generationOptions, this);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n getLabelForValue(value) {\n return value === undefined\n ? '0'\n : formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n configure() {\n const start = this.min;\n super.configure();\n this._startValue = log10(start);\n this._valueRange = log10(this.max) - log10(start);\n }\n getPixelForValue(value) {\n if (value === undefined || value === 0) {\n value = this.min;\n }\n if (value === null || isNaN(value)) {\n return NaN;\n }\n return this.getPixelForDecimal(value === this.min\n ? 0\n : (log10(value) - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n const decimal = this.getDecimalForPixel(pixel);\n return Math.pow(10, this._startValue + decimal * this._valueRange);\n }\n}\nLogarithmicScale.id = 'logarithmic';\nLogarithmicScale.defaults = {\n ticks: {\n callback: Ticks.formatters.logarithmic,\n major: {\n enabled: true\n }\n }\n};\n\nfunction getTickBackdropHeight(opts) {\n const tickOpts = opts.ticks;\n if (tickOpts.display && opts.display) {\n const padding = toPadding(tickOpts.backdropPadding);\n return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height;\n }\n return 0;\n}\nfunction measureLabelSize(ctx, font, label) {\n label = isArray(label) ? label : [label];\n return {\n w: _longestText(ctx, font.string, label),\n h: label.length * font.lineHeight\n };\n}\nfunction determineLimits(angle, pos, size, min, max) {\n if (angle === min || angle === max) {\n return {\n start: pos - (size / 2),\n end: pos + (size / 2)\n };\n } else if (angle < min || angle > max) {\n return {\n start: pos - size,\n end: pos\n };\n }\n return {\n start: pos,\n end: pos + size\n };\n}\nfunction fitWithPointLabels(scale) {\n const orig = {\n l: scale.left + scale._padding.left,\n r: scale.right - scale._padding.right,\n t: scale.top + scale._padding.top,\n b: scale.bottom - scale._padding.bottom\n };\n const limits = Object.assign({}, orig);\n const labelSizes = [];\n const padding = [];\n const valueCount = scale._pointLabels.length;\n const pointLabelOpts = scale.options.pointLabels;\n const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i));\n padding[i] = opts.padding;\n const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle);\n const plFont = toFont(opts.font);\n const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n labelSizes[i] = textSize;\n const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle);\n const angle = Math.round(toDegrees(angleRadians));\n const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n updateLimits(limits, orig, angleRadians, hLimits, vLimits);\n }\n scale.setCenterPoint(\n orig.l - limits.l,\n limits.r - orig.r,\n orig.t - limits.t,\n limits.b - orig.b\n );\n scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\nfunction updateLimits(limits, orig, angle, hLimits, vLimits) {\n const sin = Math.abs(Math.sin(angle));\n const cos = Math.abs(Math.cos(angle));\n let x = 0;\n let y = 0;\n if (hLimits.start < orig.l) {\n x = (orig.l - hLimits.start) / sin;\n limits.l = Math.min(limits.l, orig.l - x);\n } else if (hLimits.end > orig.r) {\n x = (hLimits.end - orig.r) / sin;\n limits.r = Math.max(limits.r, orig.r + x);\n }\n if (vLimits.start < orig.t) {\n y = (orig.t - vLimits.start) / cos;\n limits.t = Math.min(limits.t, orig.t - y);\n } else if (vLimits.end > orig.b) {\n y = (vLimits.end - orig.b) / cos;\n limits.b = Math.max(limits.b, orig.b + y);\n }\n}\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n const items = [];\n const valueCount = scale._pointLabels.length;\n const opts = scale.options;\n const extra = getTickBackdropHeight(opts) / 2;\n const outerDistance = scale.drawingArea;\n const additionalAngle = opts.pointLabels.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + padding[i], additionalAngle);\n const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI)));\n const size = labelSizes[i];\n const y = yForAngle(pointLabelPosition.y, size.h, angle);\n const textAlign = getTextAlignForAngle(angle);\n const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n items.push({\n x: pointLabelPosition.x,\n y,\n textAlign,\n left,\n top: y,\n right: left + size.w,\n bottom: y + size.h\n });\n }\n return items;\n}\nfunction getTextAlignForAngle(angle) {\n if (angle === 0 || angle === 180) {\n return 'center';\n } else if (angle < 180) {\n return 'left';\n }\n return 'right';\n}\nfunction leftForTextAlign(x, w, align) {\n if (align === 'right') {\n x -= w;\n } else if (align === 'center') {\n x -= (w / 2);\n }\n return x;\n}\nfunction yForAngle(y, h, angle) {\n if (angle === 90 || angle === 270) {\n y -= (h / 2);\n } else if (angle > 270 || angle < 90) {\n y -= h;\n }\n return y;\n}\nfunction drawPointLabels(scale, labelCount) {\n const {ctx, options: {pointLabels}} = scale;\n for (let i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n const plFont = toFont(optsAtIndex.font);\n const {x, y, textAlign, left, top, right, bottom} = scale._pointLabelItems[i];\n const {backdropColor} = optsAtIndex;\n if (!isNullOrUndef(backdropColor)) {\n const borderRadius = toTRBLCorners(optsAtIndex.borderRadius);\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillStyle = backdropColor;\n const backdropLeft = left - padding.left;\n const backdropTop = top - padding.top;\n const backdropWidth = right - left + padding.width;\n const backdropHeight = bottom - top + padding.height;\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: backdropLeft,\n y: backdropTop,\n w: backdropWidth,\n h: backdropHeight,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight);\n }\n }\n renderText(\n ctx,\n scale._pointLabels[i],\n x,\n y + (plFont.lineHeight / 2),\n plFont,\n {\n color: optsAtIndex.color,\n textAlign: textAlign,\n textBaseline: 'middle'\n }\n );\n }\n}\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n const {ctx} = scale;\n if (circular) {\n ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU);\n } else {\n let pointPosition = scale.getPointPosition(0, radius);\n ctx.moveTo(pointPosition.x, pointPosition.y);\n for (let i = 1; i < labelCount; i++) {\n pointPosition = scale.getPointPosition(i, radius);\n ctx.lineTo(pointPosition.x, pointPosition.y);\n }\n }\n}\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount) {\n const ctx = scale.ctx;\n const circular = gridLineOpts.circular;\n const {color, lineWidth} = gridLineOpts;\n if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) {\n return;\n }\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = lineWidth;\n ctx.setLineDash(gridLineOpts.borderDash);\n ctx.lineDashOffset = gridLineOpts.borderDashOffset;\n ctx.beginPath();\n pathRadiusLine(scale, radius, circular, labelCount);\n ctx.closePath();\n ctx.stroke();\n ctx.restore();\n}\nfunction createPointLabelContext(parent, index, label) {\n return createContext(parent, {\n label,\n index,\n type: 'pointLabel'\n });\n}\nclass RadialLinearScale extends LinearScaleBase {\n constructor(cfg) {\n super(cfg);\n this.xCenter = undefined;\n this.yCenter = undefined;\n this.drawingArea = undefined;\n this._pointLabels = [];\n this._pointLabelItems = [];\n }\n setDimensions() {\n const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2);\n const w = this.width = this.maxWidth - padding.width;\n const h = this.height = this.maxHeight - padding.height;\n this.xCenter = Math.floor(this.left + w / 2 + padding.left);\n this.yCenter = Math.floor(this.top + h / 2 + padding.top);\n this.drawingArea = Math.floor(Math.min(w, h) / 2);\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(false);\n this.min = isNumberFinite(min) && !isNaN(min) ? min : 0;\n this.max = isNumberFinite(max) && !isNaN(max) ? max : 0;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n }\n generateTickLabels(ticks) {\n LinearScaleBase.prototype.generateTickLabels.call(this, ticks);\n this._pointLabels = this.getLabels()\n .map((value, index) => {\n const label = callback(this.options.pointLabels.callback, [value, index], this);\n return label || label === 0 ? label : '';\n })\n .filter((v, i) => this.chart.getDataVisibility(i));\n }\n fit() {\n const opts = this.options;\n if (opts.display && opts.pointLabels.display) {\n fitWithPointLabels(this);\n } else {\n this.setCenterPoint(0, 0, 0, 0);\n }\n }\n setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n this.xCenter += Math.floor((leftMovement - rightMovement) / 2);\n this.yCenter += Math.floor((topMovement - bottomMovement) / 2);\n this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement));\n }\n getIndexAngle(index) {\n const angleMultiplier = TAU / (this._pointLabels.length || 1);\n const startAngle = this.options.startAngle || 0;\n return _normalizeAngle(index * angleMultiplier + toRadians(startAngle));\n }\n getDistanceFromCenterForValue(value) {\n if (isNullOrUndef(value)) {\n return NaN;\n }\n const scalingFactor = this.drawingArea / (this.max - this.min);\n if (this.options.reverse) {\n return (this.max - value) * scalingFactor;\n }\n return (value - this.min) * scalingFactor;\n }\n getValueForDistanceFromCenter(distance) {\n if (isNullOrUndef(distance)) {\n return NaN;\n }\n const scaledDistance = distance / (this.drawingArea / (this.max - this.min));\n return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance;\n }\n getPointLabelContext(index) {\n const pointLabels = this._pointLabels || [];\n if (index >= 0 && index < pointLabels.length) {\n const pointLabel = pointLabels[index];\n return createPointLabelContext(this.getContext(), index, pointLabel);\n }\n }\n getPointPosition(index, distanceFromCenter, additionalAngle = 0) {\n const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle;\n return {\n x: Math.cos(angle) * distanceFromCenter + this.xCenter,\n y: Math.sin(angle) * distanceFromCenter + this.yCenter,\n angle\n };\n }\n getPointPositionForValue(index, value) {\n return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n }\n getBasePosition(index) {\n return this.getPointPositionForValue(index || 0, this.getBaseValue());\n }\n getPointLabelPosition(index) {\n const {left, top, right, bottom} = this._pointLabelItems[index];\n return {\n left,\n top,\n right,\n bottom,\n };\n }\n drawBackground() {\n const {backgroundColor, grid: {circular}} = this.options;\n if (backgroundColor) {\n const ctx = this.ctx;\n ctx.save();\n ctx.beginPath();\n pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length);\n ctx.closePath();\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n }\n drawGrid() {\n const ctx = this.ctx;\n const opts = this.options;\n const {angleLines, grid} = opts;\n const labelCount = this._pointLabels.length;\n let i, offset, position;\n if (opts.pointLabels.display) {\n drawPointLabels(this, labelCount);\n }\n if (grid.display) {\n this.ticks.forEach((tick, index) => {\n if (index !== 0) {\n offset = this.getDistanceFromCenterForValue(tick.value);\n const optsAtIndex = grid.setContext(this.getContext(index - 1));\n drawRadiusLine(this, optsAtIndex, offset, labelCount);\n }\n });\n }\n if (angleLines.display) {\n ctx.save();\n for (i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i));\n const {color, lineWidth} = optsAtIndex;\n if (!lineWidth || !color) {\n continue;\n }\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = color;\n ctx.setLineDash(optsAtIndex.borderDash);\n ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n offset = this.getDistanceFromCenterForValue(opts.ticks.reverse ? this.min : this.max);\n position = this.getPointPosition(i, offset);\n ctx.beginPath();\n ctx.moveTo(this.xCenter, this.yCenter);\n ctx.lineTo(position.x, position.y);\n ctx.stroke();\n }\n ctx.restore();\n }\n }\n drawBorder() {}\n drawLabels() {\n const ctx = this.ctx;\n const opts = this.options;\n const tickOpts = opts.ticks;\n if (!tickOpts.display) {\n return;\n }\n const startAngle = this.getIndexAngle(0);\n let offset, width;\n ctx.save();\n ctx.translate(this.xCenter, this.yCenter);\n ctx.rotate(startAngle);\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n this.ticks.forEach((tick, index) => {\n if (index === 0 && !opts.reverse) {\n return;\n }\n const optsAtIndex = tickOpts.setContext(this.getContext(index));\n const tickFont = toFont(optsAtIndex.font);\n offset = this.getDistanceFromCenterForValue(this.ticks[index].value);\n if (optsAtIndex.showLabelBackdrop) {\n ctx.font = tickFont.string;\n width = ctx.measureText(tick.label).width;\n ctx.fillStyle = optsAtIndex.backdropColor;\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillRect(\n -width / 2 - padding.left,\n -offset - tickFont.size / 2 - padding.top,\n width + padding.width,\n tickFont.size + padding.height\n );\n }\n renderText(ctx, tick.label, 0, -offset, tickFont, {\n color: optsAtIndex.color,\n });\n });\n ctx.restore();\n }\n drawTitle() {}\n}\nRadialLinearScale.id = 'radialLinear';\nRadialLinearScale.defaults = {\n display: true,\n animate: true,\n position: 'chartArea',\n angleLines: {\n display: true,\n lineWidth: 1,\n borderDash: [],\n borderDashOffset: 0.0\n },\n grid: {\n circular: false\n },\n startAngle: 0,\n ticks: {\n showLabelBackdrop: true,\n callback: Ticks.formatters.numeric\n },\n pointLabels: {\n backdropColor: undefined,\n backdropPadding: 2,\n display: true,\n font: {\n size: 10\n },\n callback(label) {\n return label;\n },\n padding: 5,\n centerPointLabels: false\n }\n};\nRadialLinearScale.defaultRoutes = {\n 'angleLines.color': 'borderColor',\n 'pointLabels.color': 'color',\n 'ticks.color': 'color'\n};\nRadialLinearScale.descriptors = {\n angleLines: {\n _fallback: 'grid'\n }\n};\n\nconst INTERVALS = {\n millisecond: {common: true, size: 1, steps: 1000},\n second: {common: true, size: 1000, steps: 60},\n minute: {common: true, size: 60000, steps: 60},\n hour: {common: true, size: 3600000, steps: 24},\n day: {common: true, size: 86400000, steps: 30},\n week: {common: false, size: 604800000, steps: 4},\n month: {common: true, size: 2.628e9, steps: 12},\n quarter: {common: false, size: 7.884e9, steps: 4},\n year: {common: true, size: 3.154e10}\n};\nconst UNITS = (Object.keys(INTERVALS));\nfunction sorter(a, b) {\n return a - b;\n}\nfunction parse(scale, input) {\n if (isNullOrUndef(input)) {\n return null;\n }\n const adapter = scale._adapter;\n const {parser, round, isoWeekday} = scale._parseOpts;\n let value = input;\n if (typeof parser === 'function') {\n value = parser(value);\n }\n if (!isNumberFinite(value)) {\n value = typeof parser === 'string'\n ? adapter.parse(value, parser)\n : adapter.parse(value);\n }\n if (value === null) {\n return null;\n }\n if (round) {\n value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true)\n ? adapter.startOf(value, 'isoWeek', isoWeekday)\n : adapter.startOf(value, round);\n }\n return +value;\n}\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\n const ilen = UNITS.length;\n for (let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\n const interval = INTERVALS[UNITS[i]];\n const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n return UNITS[i];\n }\n }\n return UNITS[ilen - 1];\n}\nfunction determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n for (let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) {\n const unit = UNITS[i];\n if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n return unit;\n }\n }\n return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\nfunction determineMajorUnit(unit) {\n for (let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\n if (INTERVALS[UNITS[i]].common) {\n return UNITS[i];\n }\n }\n}\nfunction addTick(ticks, time, timestamps) {\n if (!timestamps) {\n ticks[time] = true;\n } else if (timestamps.length) {\n const {lo, hi} = _lookup(timestamps, time);\n const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n ticks[timestamp] = true;\n }\n}\nfunction setMajorTicks(scale, ticks, map, majorUnit) {\n const adapter = scale._adapter;\n const first = +adapter.startOf(ticks[0].value, majorUnit);\n const last = ticks[ticks.length - 1].value;\n let major, index;\n for (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) {\n index = map[major];\n if (index >= 0) {\n ticks[index].major = true;\n }\n }\n return ticks;\n}\nfunction ticksFromTimestamps(scale, values, majorUnit) {\n const ticks = [];\n const map = {};\n const ilen = values.length;\n let i, value;\n for (i = 0; i < ilen; ++i) {\n value = values[i];\n map[value] = i;\n ticks.push({\n value,\n major: false\n });\n }\n return (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\nclass TimeScale extends Scale {\n constructor(props) {\n super(props);\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n this._unit = 'day';\n this._majorUnit = undefined;\n this._offsets = {};\n this._normalized = false;\n this._parseOpts = undefined;\n }\n init(scaleOpts, opts) {\n const time = scaleOpts.time || (scaleOpts.time = {});\n const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n adapter.init(opts);\n mergeIf(time.displayFormats, adapter.formats());\n this._parseOpts = {\n parser: time.parser,\n round: time.round,\n isoWeekday: time.isoWeekday\n };\n super.init(scaleOpts);\n this._normalized = opts.normalized;\n }\n parse(raw, index) {\n if (raw === undefined) {\n return null;\n }\n return parse(this, raw);\n }\n beforeLayout() {\n super.beforeLayout();\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n }\n determineDataLimits() {\n const options = this.options;\n const adapter = this._adapter;\n const unit = options.time.unit || 'day';\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n function _applyBounds(bounds) {\n if (!minDefined && !isNaN(bounds.min)) {\n min = Math.min(min, bounds.min);\n }\n if (!maxDefined && !isNaN(bounds.max)) {\n max = Math.max(max, bounds.max);\n }\n }\n if (!minDefined || !maxDefined) {\n _applyBounds(this._getLabelBounds());\n if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n _applyBounds(this.getMinMax(false));\n }\n }\n min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n this.min = Math.min(min, max - 1);\n this.max = Math.max(min + 1, max);\n }\n _getLabelBounds() {\n const arr = this.getLabelTimestamps();\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n if (arr.length) {\n min = arr[0];\n max = arr[arr.length - 1];\n }\n return {min, max};\n }\n buildTicks() {\n const options = this.options;\n const timeOpts = options.time;\n const tickOpts = options.ticks;\n const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate();\n if (options.bounds === 'ticks' && timestamps.length) {\n this.min = this._userMin || timestamps[0];\n this.max = this._userMax || timestamps[timestamps.length - 1];\n }\n const min = this.min;\n const max = this.max;\n const ticks = _filterBetween(timestamps, min, max);\n this._unit = timeOpts.unit || (tickOpts.autoSkip\n ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min))\n : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max));\n this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined\n : determineMajorUnit(this._unit);\n this.initOffsets(timestamps);\n if (options.reverse) {\n ticks.reverse();\n }\n return ticksFromTimestamps(this, ticks, this._majorUnit);\n }\n afterAutoSkip() {\n if (this.options.offsetAfterAutoskip) {\n this.initOffsets(this.ticks.map(tick => +tick.value));\n }\n }\n initOffsets(timestamps) {\n let start = 0;\n let end = 0;\n let first, last;\n if (this.options.offset && timestamps.length) {\n first = this.getDecimalForValue(timestamps[0]);\n if (timestamps.length === 1) {\n start = 1 - first;\n } else {\n start = (this.getDecimalForValue(timestamps[1]) - first) / 2;\n }\n last = this.getDecimalForValue(timestamps[timestamps.length - 1]);\n if (timestamps.length === 1) {\n end = last;\n } else {\n end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n }\n }\n const limit = timestamps.length < 3 ? 0.5 : 0.25;\n start = _limitValue(start, 0, limit);\n end = _limitValue(end, 0, limit);\n this._offsets = {start, end, factor: 1 / (start + 1 + end)};\n }\n _generate() {\n const adapter = this._adapter;\n const min = this.min;\n const max = this.max;\n const options = this.options;\n const timeOpts = options.time;\n const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min));\n const stepSize = valueOrDefault(timeOpts.stepSize, 1);\n const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n const hasWeekday = isNumber(weekday) || weekday === true;\n const ticks = {};\n let first = min;\n let time, count;\n if (hasWeekday) {\n first = +adapter.startOf(first, 'isoWeek', weekday);\n }\n first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n }\n const timestamps = options.ticks.source === 'data' && this.getDataTimestamps();\n for (time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++) {\n addTick(ticks, time, timestamps);\n }\n if (time === max || options.bounds === 'ticks' || count === 1) {\n addTick(ticks, time, timestamps);\n }\n return Object.keys(ticks).sort((a, b) => a - b).map(x => +x);\n }\n getLabelForValue(value) {\n const adapter = this._adapter;\n const timeOpts = this.options.time;\n if (timeOpts.tooltipFormat) {\n return adapter.format(value, timeOpts.tooltipFormat);\n }\n return adapter.format(value, timeOpts.displayFormats.datetime);\n }\n _tickFormatFunction(time, index, ticks, format) {\n const options = this.options;\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const majorUnit = this._majorUnit;\n const minorFormat = unit && formats[unit];\n const majorFormat = majorUnit && formats[majorUnit];\n const tick = ticks[index];\n const major = majorUnit && majorFormat && tick && tick.major;\n const label = this._adapter.format(time, format || (major ? majorFormat : minorFormat));\n const formatter = options.ticks.callback;\n return formatter ? callback(formatter, [label, index, ticks], this) : label;\n }\n generateTickLabels(ticks) {\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n tick.label = this._tickFormatFunction(tick.value, i, ticks);\n }\n }\n getDecimalForValue(value) {\n return value === null ? NaN : (value - this.min) / (this.max - this.min);\n }\n getPixelForValue(value) {\n const offsets = this._offsets;\n const pos = this.getDecimalForValue(value);\n return this.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return this.min + pos * (this.max - this.min);\n }\n _getLabelSize(label) {\n const ticksOpts = this.options.ticks;\n const tickLabelWidth = this.ctx.measureText(label).width;\n const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n const cosRotation = Math.cos(angle);\n const sinRotation = Math.sin(angle);\n const tickFontSize = this._resolveTickFontOptions(0).size;\n return {\n w: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation),\n h: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation)\n };\n }\n _getLabelCapacity(exampleTime) {\n const timeOpts = this.options.time;\n const displayFormats = timeOpts.displayFormats;\n const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [exampleTime], this._majorUnit), format);\n const size = this._getLabelSize(exampleLabel);\n const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1;\n return capacity > 0 ? capacity : 1;\n }\n getDataTimestamps() {\n let timestamps = this._cache.data || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const metas = this.getMatchingVisibleMetas();\n if (this._normalized && metas.length) {\n return (this._cache.data = metas[0].controller.getAllParsedValues(this));\n }\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this));\n }\n return (this._cache.data = this.normalize(timestamps));\n }\n getLabelTimestamps() {\n const timestamps = this._cache.labels || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const labels = this.getLabels();\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n timestamps.push(parse(this, labels[i]));\n }\n return (this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps));\n }\n normalize(values) {\n return _arrayUnique(values.sort(sorter));\n }\n}\nTimeScale.id = 'time';\nTimeScale.defaults = {\n bounds: 'data',\n adapters: {},\n time: {\n parser: false,\n unit: false,\n round: false,\n isoWeekday: false,\n minUnit: 'millisecond',\n displayFormats: {}\n },\n ticks: {\n source: 'auto',\n major: {\n enabled: false\n }\n }\n};\n\nfunction interpolate(table, val, reverse) {\n let lo = 0;\n let hi = table.length - 1;\n let prevSource, nextSource, prevTarget, nextTarget;\n if (reverse) {\n if (val >= table[lo].pos && val <= table[hi].pos) {\n ({lo, hi} = _lookupByKey(table, 'pos', val));\n }\n ({pos: prevSource, time: prevTarget} = table[lo]);\n ({pos: nextSource, time: nextTarget} = table[hi]);\n } else {\n if (val >= table[lo].time && val <= table[hi].time) {\n ({lo, hi} = _lookupByKey(table, 'time', val));\n }\n ({time: prevSource, pos: prevTarget} = table[lo]);\n ({time: nextSource, pos: nextTarget} = table[hi]);\n }\n const span = nextSource - prevSource;\n return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\nclass TimeSeriesScale extends TimeScale {\n constructor(props) {\n super(props);\n this._table = [];\n this._minPos = undefined;\n this._tableRange = undefined;\n }\n initOffsets() {\n const timestamps = this._getTimestampsForTable();\n const table = this._table = this.buildLookupTable(timestamps);\n this._minPos = interpolate(table, this.min);\n this._tableRange = interpolate(table, this.max) - this._minPos;\n super.initOffsets(timestamps);\n }\n buildLookupTable(timestamps) {\n const {min, max} = this;\n const items = [];\n const table = [];\n let i, ilen, prev, curr, next;\n for (i = 0, ilen = timestamps.length; i < ilen; ++i) {\n curr = timestamps[i];\n if (curr >= min && curr <= max) {\n items.push(curr);\n }\n }\n if (items.length < 2) {\n return [\n {time: min, pos: 0},\n {time: max, pos: 1}\n ];\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n next = items[i + 1];\n prev = items[i - 1];\n curr = items[i];\n if (Math.round((next + prev) / 2) !== curr) {\n table.push({time: curr, pos: i / (ilen - 1)});\n }\n }\n return table;\n }\n _getTimestampsForTable() {\n let timestamps = this._cache.all || [];\n if (timestamps.length) {\n return timestamps;\n }\n const data = this.getDataTimestamps();\n const label = this.getLabelTimestamps();\n if (data.length && label.length) {\n timestamps = this.normalize(data.concat(label));\n } else {\n timestamps = data.length ? data : label;\n }\n timestamps = this._cache.all = timestamps;\n return timestamps;\n }\n getDecimalForValue(value) {\n return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return interpolate(this._table, decimal * this._tableRange + this._minPos, true);\n }\n}\nTimeSeriesScale.id = 'timeseries';\nTimeSeriesScale.defaults = TimeScale.defaults;\n\nvar scales = /*#__PURE__*/Object.freeze({\n__proto__: null,\nCategoryScale: CategoryScale,\nLinearScale: LinearScale,\nLogarithmicScale: LogarithmicScale,\nRadialLinearScale: RadialLinearScale,\nTimeScale: TimeScale,\nTimeSeriesScale: TimeSeriesScale\n});\n\nconst registerables = [\n controllers,\n elements,\n plugins,\n scales,\n];\n\nexport { Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, DatasetController, plugin_decimation as Decimation, DomPlatform, DoughnutController, Element, index as Filler, Interaction, plugin_legend as Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, plugin_subtitle as SubTitle, Ticks, TimeScale, TimeSeriesScale, plugin_title as Title, plugin_tooltip as Tooltip, adapters as _adapters, _detectPlatform, animator, controllers, elements, layouts, plugins, registerables, registry, scales };\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(608);\n"],"names":["root","factory","exports","module","define","amd","this","message","InvalidDataException","Pair","blocks","block","title","lines","line","isHumanLine","parseGenericTitleForMultiLine","blockRows","a","BlockRow","values","toList","first","blockRow","originalValueOrder","currentValueOrder","checkDataIntegrity","createChartTitle","benchmarkResults","BenchmarkResult","chartTitle","parseMultiLineGenericInput","println","isMachineLine","data","key","transformedList","valueMap","it","toSet","flatten","chartNames","c","chartName","charts","dataSets","ChartsBundle","parseGroupMap","isGeneric","titles","mutableListOf","lineColors","randomRgb","newColor","placeholder","rows","textInput","isBlank","type","marginTop","marginLeft","legend","label","borderColor","borderWidth","labels","datasets","plugins","Chart","width","maxWidth","height","maxHeight","fontSize","marginBottom","savedBenchmarks","savedBenchmark","selected","disabled","marginRight","Date","getMilliseconds","lazy","document","createElement","selector","summaries","summary","blockName","badgeClass","postfix","fontWeight","ElementBuilderImplementation","testName","HomeViewModel","BenchmarkRepoImpl","FormRepoImpl","newTestName","chunked","paddingLeft","paddingRight","paddingBottom","chart","chartsBundle","blockNames","updateSummary","emptyList","inputType","result","listOf","toGenericChart","newCharts","onChartsBundleUpdated","firstOrNull","currentTestName","toCharts","blockNameOuter","blockNameInner","greenSum","redSum","node","newAggSums","AggSummary","calcAggSummary","printStackTrace","mutableStateListOf","FormData","refreshBenchmarks","isGenericInput","form","parseGenericInput","isTestName","findMetricKeyOrNull","metricName","InvalidBenchmarkDataException","parseValues","parseTitle","TextNumberLine","destroy","cloneNode","setTimeout","delay","newForm","window","prompt","bName","alert","SavedBenchmarkNode","formData","newList","savedBenchmarkNode","confirm","deletedBenchmarkNode","newBlockName","localStorage","getItem","savedBenchmarksString","SavedBenchmarks","setItem","removeAll","toString","toBoolean","isTestNameDetectionEnabled","selectedBlockNameOne","selectedBlockNameTwo","words","word","toFloatArray","array","newArray","i","segments","combinedMap","g","before","after","diff","summaryNodes","SummaryNode","emoji","segment","percDiff","resultWord","symbol","metricConfig","Summary","register","ArcElement","LineElement","BarElement","PointElement","BarController","BubbleController","DoughnutController","LineController","PieController","PolarAreaController","RadarController","ScatterController","CategoryScale","LinearScale","LogarithmicScale","RadialLinearScale","TimeScale","TimeSeriesScale","Decimation","Filler","Legend","Title","Tooltip","SubTitle","noop","uid","id","isNullOrUndef","value","isArray","Array","Object","prototype","call","slice","isObject","isNumberFinite","Number","isFinite","finiteOrDefault","defaultValue","valueOrDefault","toDimension","dimension","endsWith","parseFloat","callback","fn","args","thisArg","apply","each","loopable","reverse","len","keys","length","_elementsEqual","a0","a1","ilen","v0","v1","datasetIndex","index","clone$1","source","map","target","create","klen","k","isValidKey","indexOf","_merger","options","tval","sval","merge","sources","merger","mergeIf","_mergerIf","hasOwnProperty","keyResolvers","v","x","o","y","resolveObjectKey","obj","resolver","parts","split","tmp","part","push","_splitKey","_getKeyResolver","_capitalize","str","charAt","toUpperCase","defined","isFunction","setsEqual","b","size","item","has","PI","Math","TAU","PITAU","INFINITY","POSITIVE_INFINITY","RAD_PER_DEG","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","log10","sign","niceNum","range","roundedRange","round","almostEquals","niceRange","pow","floor","fraction","isNumber","n","isNaN","epsilon","abs","_setMinAndMaxByKey","property","min","max","toRadians","degrees","toDegrees","radians","_decimalPlaces","e","p","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","sqrt","angle","atan2","distance","distanceBetweenPoints","pt1","pt2","_angleDiff","_normalizeAngle","_angleBetween","start","end","sameAngleIsFullCircle","s","angleToStart","angleToEnd","startToAngle","endToAngle","_limitValue","_isBetween","_lookup","table","cmp","mid","hi","lo","_lookupByKey","last","_rlookupByKey","arrayEvents","unlistenArrayEvents","listener","stub","_chartjs","listeners","splice","forEach","_arrayUnique","items","set","Set","add","from","requestAnimFrame","requestAnimationFrame","throttled","updateFn","updateArgs","ticking","rest","_toLeftRightCenter","align","_alignStartEnd","_getStartAndCountOfVisiblePoints","meta","points","animationsDisabled","pointCount","count","_sorted","iScale","_parsed","axis","minDefined","maxDefined","getUserBounds","getPixelForValue","_scaleRangesChanged","xScale","yScale","_scaleRanges","newRanges","xmin","xmax","ymin","ymax","changed","assign","atEdge","t","elasticIn","sin","elasticOut","effects","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","cos","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","m","d","easeInOutBounce","lim","l","h","p2b","n2b","b2n","n2p","map$1","A","B","C","D","E","F","f","hex","h1","h2","eq","HUE_RE","hsl2rgbn","hsv2rgbn","hwb2rgbn","w","rgb","rgb2hsl","r","hueValue","calln","hsl2rgb","hue","Z","Y","X","W","V","U","T","S","R","Q","P","O","N","M","L","K","G","H","I","J","names$1","OiceXe","antiquewEte","aqua","aquamarRe","azuY","beige","bisque","black","blanKedOmond","Xe","XeviTet","bPwn","burlywood","caMtXe","KartYuse","KocTate","cSO","cSnflowerXe","cSnsilk","crimson","cyan","xXe","xcyan","xgTMnPd","xWay","xgYF","xgYy","xkhaki","xmagFta","xTivegYF","xSange","xScEd","xYd","xsOmon","xsHgYF","xUXe","xUWay","xUgYy","xQe","xviTet","dAppRk","dApskyXe","dimWay","dimgYy","dodgerXe","fiYbrick","flSOwEte","foYstWAn","fuKsia","gaRsbSo","ghostwEte","gTd","gTMnPd","Way","gYF","gYFLw","gYy","honeyMw","hotpRk","RdianYd","Rdigo","ivSy","khaki","lavFMr","lavFMrXsh","lawngYF","NmoncEffon","ZXe","ZcSO","Zcyan","ZgTMnPdLw","ZWay","ZgYF","ZgYy","ZpRk","ZsOmon","ZsHgYF","ZskyXe","ZUWay","ZUgYy","ZstAlXe","ZLw","lime","limegYF","lRF","magFta","maPon","VaquamarRe","VXe","VScEd","VpurpN","VsHgYF","VUXe","VsprRggYF","VQe","VviTetYd","midnightXe","mRtcYam","mistyPse","moccasR","navajowEte","navy","Tdlace","Tive","TivedBb","Sange","SangeYd","ScEd","pOegTMnPd","pOegYF","pOeQe","pOeviTetYd","papayawEp","pHKpuff","peru","pRk","plum","powMrXe","purpN","YbeccapurpN","Yd","Psybrown","PyOXe","saddNbPwn","sOmon","sandybPwn","sHgYF","sHshell","siFna","silver","skyXe","UXe","UWay","UgYy","snow","sprRggYF","stAlXe","tan","teO","tEstN","tomato","Qe","viTet","JHt","wEte","wEtesmoke","Lw","LwgYF","names","RGB_RE","to","modHSL","ratio","clone","proto","fromObject","input","functionParse","exec","rgbParse","p1","p2","hwb2rgb","hsv2rgb","hueParse","Color","constructor","ret","unpacked","tkeys","j","ok","nk","replace","parseInt","unpack","transparent","toLowerCase","nameParse","_rgb","_valid","valid","rgbString","undefined","hexString","isShort","alpha","hslString","mix","color","weight","c1","c2","w2","w1","interpolate","rgb1","rgb2","clearer","greyscale","val","opaquer","negate","lighten","darken","saturate","desaturate","rotate","deg","index_esm","isPatternOrGradient","getHoverColor","overrides","descriptors","getScope$1","scope","defaults","_descriptors","animation","backgroundColor","devicePixelRatio","context","platform","getDevicePixelRatio","elements","events","font","family","style","lineHeight","hover","hoverBackgroundColor","ctx","hoverBorderColor","hoverColor","indexAxis","interaction","mode","intersect","includeInvisible","maintainAspectRatio","onHover","onClick","parsing","responsive","scale","scales","showLine","drawActiveElementsOnTop","describe","get","override","route","name","targetScope","targetName","scopeObject","targetScopeObject","privateName","defineProperties","writable","enumerable","local","_scriptable","startsWith","_indexable","_fallback","_measureText","gc","longest","string","textWidth","measureText","_longestText","arrayOfThings","cache","garbageCollect","save","jlen","thing","nestedThing","restore","gcLen","_alignPixel","pixel","currentDevicePixelRatio","halfWidth","clearCanvas","canvas","getContext","resetTransform","clearRect","drawPoint","drawPointLegend","xOffset","yOffset","cornerRadius","pointStyle","rotation","radius","rad","translate","drawImage","beginPath","ellipse","arc","closePath","moveTo","lineTo","SQRT1_2","rect","fill","stroke","_isPointInArea","point","area","margin","left","right","top","bottom","clipArea","clip","unclipArea","_steppedLineTo","previous","flip","midpoint","_bezierCurveTo","bezierCurveTo","cp1x","cp2x","cp1y","cp2y","renderText","text","opts","strokeWidth","strokeColor","translation","fillStyle","textAlign","textBaseline","setRenderOpts","strokeStyle","lineWidth","strokeText","fillText","decorateText","strikethrough","underline","metrics","actualBoundingBoxLeft","actualBoundingBoxRight","actualBoundingBoxAscent","actualBoundingBoxDescent","yDecoration","decorationWidth","addRoundedRectPath","topLeft","bottomLeft","bottomRight","topRight","LINE_HEIGHT","RegExp","FONT_STYLE","toLineHeight","matches","match","_readValueToProps","props","objProps","read","prop","toTRBL","toTRBLCorners","toPadding","toFont","fallback","console","warn","toFontString","resolve","inputs","info","cacheable","createContext","parentContext","_createResolver","scopes","prefixes","rootScopes","getTarget","_resolve","Symbol","toStringTag","_cacheable","_scopes","_rootScopes","_getTarget","Proxy","deleteProperty","_keys","_cached","proxy","prefix","readKey","needsSubResolver","createSubResolver","_resolveWithPrefixes","getOwnPropertyDescriptor","Reflect","getPrototypeOf","getKeysFromAllScopes","includes","ownKeys","storage","_storage","_attachContext","subProxy","descriptorDefaults","_proxy","_context","_subProxy","_stack","setContext","receiver","isScriptable","Error","join","delete","_resolveScriptable","isIndexable","arr","filter","_resolveArray","_resolveWithContext","allKeys","configurable","scriptable","indexable","_allKeys","resolveFallback","getScope","parent","addScopes","parentScopes","parentFallback","allScopes","addScopesFromKey","subGetTarget","resolveKeysFromAllScopes","_parseObjectDataRadialScale","_parsing","parsed","parse","EPSILON","getPoint","skip","getValueAxis","splineCurve","firstPoint","middlePoint","afterPoint","current","next","d01","d12","s01","s12","fa","fb","capControlPoint","pt","_updateBezierControlPoints","loop","controlPoints","spanGaps","cubicInterpolationMode","valueAxis","pointsLen","deltaK","mK","pointBefore","pointCurrent","pointAfter","slopeDelta","alphaK","betaK","tauK","squaredMagnitude","monotoneAdjust","delta","iPixel","vPixel","monotoneCompute","splineCurveMonotone","prev","tension","capBezierPoints","inArea","inAreaPrev","inAreaNext","_isDomSupported","_getParentNode","domNode","parentNode","host","parseMaxStyle","styleValue","parentProperty","valueInPixels","getComputedStyle","element","positions","getPositionedStyle","styles","suffix","pos","getRelativePosition","evt","borderBox","boxSizing","paddings","borders","box","touches","offsetX","offsetY","shadowRoot","useOffsetPos","getBoundingClientRect","clientX","clientY","getCanvasPosition","round1","retinaScale","forceRatio","forceStyle","pixelRatio","deviceHeight","deviceWidth","setTransform","supportsEventListenerOptions","passiveSupported","passive","addEventListener","removeEventListener","readUsedSize","el","getPropertyValue","getStyle","_pointInLine","_steppedInterpolation","_bezierInterpolation","cp1","cp2","intlCache","Map","formatNumber","num","locale","cacheKey","JSON","stringify","formatter","Intl","NumberFormat","getNumberFormat","format","getRtlAdapter","rtl","rectX","setWidth","xPlus","leftForLtr","itemWidth","getRightToLeftAdapter","_itemWidth","overrideTextDirection","direction","original","getPropertyPriority","setProperty","prevTextDirection","restoreTextDirection","propertyFn","between","compare","normalize","normalizeSegment","_boundSegment","bounds","startBound","endBound","getSegment","prevValue","inside","subStart","_boundSegments","sub","readStyle","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","styleChanged","prevStyle","animator","_request","_charts","_running","_lastDate","_notify","anims","date","callbacks","numSteps","duration","initial","currentStep","_refresh","_update","now","remaining","running","draw","_active","_total","tick","pop","_getAnims","complete","progress","listen","event","cb","reduce","acc","cur","_duration","stop","cancel","remove","interpolators","boolean","factor","c0","number","Animation","cfg","currentValue","_fn","_easing","easing","_start","_loop","_target","_prop","_from","_to","_promises","active","update","elapsed","remain","wait","promises","Promise","res","rej","resolved","method","animationOptions","colors","properties","numbers","resize","show","animations","visible","hide","Animations","config","_chart","_properties","configure","animatedProps","getOwnPropertyNames","option","_animateOptions","newOptions","$shared","$animations","resolveTargetOptions","_createAnimations","anim","all","awaitAll","then","scaleClip","allowedOverflow","getSortedDatasetIndices","filterVisible","metasets","_getSortedDatasetMetas","applyStack","stack","dsIndex","singleMode","otherValue","isStacked","stacked","getOrCreateStack","stacks","stackKey","indexValue","subStack","getLastIndexInStack","vScale","positive","getMatchingVisibleMetas","updateStacks","controller","_cachedMeta","_stacks","iAxis","vAxis","indexScale","valueScale","getStackKey","_top","_bottom","getFirstScaleId","shift","clearStacks","isDirectUpdateMode","cloneIfNotShared","cached","shared","DatasetController","_ctx","_cachedDataOpts","getMeta","_type","_data","_objectData","_sharedOptions","_drawStart","_drawCount","enableOptionSharing","supportsDecimation","$context","_syncList","initialize","linkScales","_stacked","addElements","updateIndex","dataset","getDataset","chooseId","xid","xAxisID","yid","yAxisID","rid","rAxisID","iid","iAxisID","vid","vAxisID","getScaleForId","rScale","getDatasetMeta","scaleID","_getOtherScale","reset","_destroy","_dataCheck","adata","convertObjectDataToArray","isExtensible","defineProperty","base","object","datasetElementType","buildOrUpdateElements","resetNewElements","stackChanged","oldStacked","_resyncElements","scopeKeys","datasetScopeKeys","getOptionScopes","createResolver","sorted","parseArrayData","parseObjectData","parsePrimitiveData","isNotInOrderComparedToPrev","getLabels","singleScale","xAxisKey","yAxisKey","getParsed","getDataElement","updateRangeFromParsed","parsedValue","NaN","getMinMax","canStack","otherScale","hidden","createStack","NEGATIVE_INFINITY","otherMin","otherMax","_skip","getAllParsedValues","getMaxOverflow","getLabelAndValue","getLabelForValue","_clip","toClip","defaultClip","chartArea","resolveDatasetElementOptions","resolveDataElementOptions","dataIndex","raw","createDataContext","createDatasetContext","_resolveElementOptions","dataElementType","elementType","sharing","datasetElementScopeKeys","resolveNamedOptions","freeze","_resolveAnimations","transition","datasetAnimationScopeKeys","getSharedOptions","includeOptions","sharedOptions","_animationsDisabled","_getSharedOptions","firstOpts","previouslySharedOptions","updateSharedOptions","updateElement","_setStyle","removeHoverStyle","setHoverStyle","_removeDatasetHoverStyle","_setDatasetHoverStyle","arg1","arg2","numMeta","numData","_insertElements","_removeElements","move","updateElements","removed","_sync","_dataChanges","_onDataPush","arguments","_onDataPop","_onDataShift","_onDataSplice","newCount","_onDataUnshift","computeMinSampleSize","_cache","$bar","visibleMetas","concat","sort","getAllScaleValues","curr","_length","updateMinAndPrev","ticks","getPixelForTick","parseValue","entry","startValue","endValue","barStart","barEnd","_custom","parseFloatBar","parseArrayOrPrimitive","isFloatBar","custom","setBorderSkipped","edge","borderSkipped","horizontal","borderProps","enableBorderRadius","parseEdge","orig","v2","startEnd","setInflateAmount","inflateAmount","iAxisKey","vAxisKey","super","bars","getBasePixel","isHorizontal","ruler","_getRuler","vpixels","head","_calculateBarValuePixels","ipixels","_calculateBarIndexPixels","center","_getStacks","grouped","skipNull","_getStackCount","_getStackIndex","pixels","barThickness","_startPixel","_endPixel","stackCount","categoryPercentage","barPercentage","baseValue","minBarLength","actualBase","floating","getDataVisibility","barSign","startPixel","getPixelForDecimal","endPixel","halfGrid","getLineWidthForValue","maxBarThickness","Infinity","percent","chunk","computeFlexCategoryTraits","thickness","computeFitCategoryTraits","stackIndex","rects","_index_","offset","grid","_value_","beginAtZero","tooltip","innerRadius","outerRadius","getter","_getRotation","_getCircumference","circumference","_getRotationExtents","isDatasetVisible","arcs","spacing","getMaxBorderWidth","getMaxOffset","maxSize","cutout","chartWeight","_getRingWeight","ratioX","ratioY","startAngle","endAngle","startX","startY","endX","endY","calcMax","calcMin","maxX","maxY","minX","minY","getRatioAndOffset","maxRadius","radiusLength","_getVisibleDatasetWeightTotal","total","calculateTotal","_getRingWeightOffset","_circumference","animateRotate","calculateCircumference","animationOpts","centerX","centerY","animateScale","metaData","borderAlign","hoverBorderWidth","hoverOffset","ringWeightOffset","aspectRatio","generateLabels","legendItem","toggleDataVisibility","tooltipItem","dataLabel","formattedValue","_dataset","_datasetIndex","_decimated","animated","maxGapLength","directUpdate","prevParsed","nullData","border","lastPoint","updateControlPoints","bind","_updateRadius","minSize","cutoutPercentage","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getIndexAngle","defaultAngle","countVisibleElements","_computeAngle","getDistanceFromCenterForValue","angleLines","display","circular","pointLabels","_fullLoop","pointPosition","getPointPositionForValue","Element","tooltipPosition","useFinalPosition","getProps","hasValue","final","defaultRoutes","formatters","numeric","tickValue","notation","maxTick","calculateDelta","logDelta","numDecimal","minimumFractionDigits","maximumFractionDigits","logarithmic","Ticks","newTicks","majorStart","majorEnd","ceil","grace","drawBorder","drawOnChartArea","drawTicks","tickLength","tickWidth","tickColor","padding","minRotation","maxRotation","mirror","textStrokeWidth","textStrokeColor","autoSkip","autoSkipPadding","labelOffset","minor","major","crossAlign","showLabelBackdrop","backdropColor","backdropPadding","offsetFromEdge","sample","numItems","increment","getPixelForGridLine","offsetGridLines","validIndex","lineValue","getTickMarkLength","getTitleHeight","titleAlign","position","reverseAlign","Scale","_margins","paddingTop","labelRotation","_range","_gridLineItems","_labelItems","_labelSizes","_maxLength","_longestTextCache","_reversePixels","_userMax","_userMin","_suggestedMax","_suggestedMin","_ticksLength","_borderValue","_dataLimitsCached","init","suggestedMin","suggestedMax","metas","getPadding","getTicks","xLabels","yLabels","beforeLayout","beforeUpdate","margins","tickOpts","sampleSize","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","minmax","change","keepZero","_addGrace","beforeBuildTicks","buildTicks","afterBuildTicks","samplingEnabled","_convertTicksToLabels","beforeCalculateLabelRotation","calculateLabelRotation","afterCalculateLabelRotation","ticksLimit","maxTicksLimit","_tickSize","maxScale","maxChart","determineMaxTicks","majorIndices","enabled","getMajorIndices","numMajorIndices","skipMajors","evenMajorSpacing","getEvenSpacing","factors","_factorize","calculateSpacing","avgMajorSpacing","afterAutoSkip","beforeFit","fit","afterFit","afterUpdate","reversePixels","_alignToPixels","alignToPixels","_callHooks","notifyPlugins","beforeTickToLabelConversion","generateTickLabels","afterTickToLabelConversion","numTicks","maxLabelDiagonal","_isVisible","labelSizes","_getLabelSizes","maxLabelWidth","widest","maxLabelHeight","highest","asin","titleOpts","gridOpts","titleHeight","tickPadding","angleRadians","labelHeight","labelWidth","_calculatePadding","_handleMargins","isRotated","labelsBelowTicks","offsetLeft","offsetRight","isFullSize","fullSize","_computeLabelSizes","caches","widths","heights","tickFont","fontString","nestedLabel","widestLabelSize","highestLabelSize","_resolveTickFontOptions","valueAt","idx","getValueForPixel","decimal","getDecimalForPixel","getBaseValue","createTickContext","optionTicks","rot","_computeGridLineItems","ticksLength","tl","borderOpts","axisWidth","axisHalfWidth","alignBorderValue","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","x1","y1","x2","y2","positionAxisID","limit","step","optsAtIndex","lineColor","tickBorderDash","tickBorderDashOffset","_computeLabelItems","tickAndPadding","hTickAndPadding","lineCount","textOffset","_getXAxisLabelAlignment","_getYAxisLabelAlignment","halfCount","backdrop","tickTextAlign","labelPadding","_computeLabelArea","drawBackground","fillRect","findIndex","drawGrid","drawLine","setLineDash","lineDashOffset","lastLineWidth","drawLabels","drawTitle","titleX","titleY","titleArgs","_layers","tz","z","gz","getSortedVisibleDatasetMetas","axisID","_maxDigits","TypedRegistry","isForType","isPrototypeOf","parentScope","isIChartComponent","itemDefaults","routes","propertyParts","sourceName","sourceScope","routeDefaults","registerDefaults","unregister","registry","controllers","_typedRegistries","_each","addControllers","addPlugins","addScales","getController","_get","getElement","getPlugin","getScale","removeControllers","removeElements","removePlugins","removeScales","typedRegistry","arg","reg","_getRegistryForType","_exec","itemReg","component","camelMethod","__proto__","DateAdapter","chartOptions","formats","timestamp","amount","unit","startOf","weekday","endOf","members","adapters","_date","binarySearch","metaset","lookupMethod","getRange","evaluateInteractionItems","handler","getIntersectItems","isPointInArea","inRange","getNearestItems","distanceMetric","useX","useY","deltaX","deltaY","getDistanceMetricForAxis","minDistance","getCenterPoint","getNearestCartesianItems","getNearestRadialItems","getAxisItems","rangeMethod","intersectsItem","Interaction","modes","nearest","STATIC_POSITIONS","filterByPosition","filterDynamicPositionByAxis","sortByWeight","getCombinedMax","maxPadding","updateMaxPadding","boxPadding","updateDims","params","layout","newWidth","outerWidth","newHeight","outerHeight","widthChanged","heightChanged","same","other","getMargins","marginForPositions","fitBoxes","boxes","refitBoxes","refit","setBoxDims","placeBoxes","userPadding","placed","stackWeight","autoPadding","layouts","addBox","removeBox","layoutItem","minPadding","availableWidth","availableHeight","layoutBoxes","wrapBoxes","wrap","centerHorizontal","centerVertical","leftAndTop","rightAndBottom","vertical","buildLayoutBoxes","verticalBoxes","horizontalBoxes","visibleVerticalBoxCount","vBoxMaxWidth","hBoxMaxHeight","buildStacks","setLayoutDims","updatePos","handleMaxPadding","BasePlatform","acquireContext","releaseContext","getMaximumSize","isAttached","updateConfig","BasicPlatform","EVENT_TYPES","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","isNullOrEmpty","eventListenerOptions","removeListener","nodeListContains","nodeList","contains","createAttachObserver","observer","MutationObserver","entries","trigger","addedNodes","removedNodes","observe","childList","subtree","createDetachObserver","drpListeningCharts","oldDevicePixelRatio","onWindowResize","dpr","createResizeObserver","container","clientWidth","ResizeObserver","contentRect","listenDevicePixelRatioChanges","releaseObserver","disconnect","unlistenDevicePixelRatioChanges","createProxyAndListen","native","fromNativeEvent","addListener","DomPlatform","renderHeight","getAttribute","renderWidth","displayWidth","displayHeight","initCanvas","removeAttribute","setAttribute","proxies","$proxies","attach","detach","bbWidth","bbHeight","containerSize","containerStyle","containerBorder","containerPadding","clientHeight","getContainerSize","isConnected","_detectPlatform","OffscreenCanvas","PluginService","_init","notify","hook","_createDescriptors","descriptor","plugin","cancelable","invalidate","_oldCache","_notifyStateChanges","localIds","allPlugins","getOpts","pluginOpts","createDescriptors","previousDescriptors","some","pluginScopeKeys","getIndexAxis","datasetDefaults","determineAxis","scaleOptions","initOptions","chartDefaults","configScales","chartIndexAxis","firstIDs","scaleConf","error","defaultId","getDefaultScaleIDFromAxis","defaultScaleOptions","defaultID","getAxisFromDefaultScaleID","mergeScaleConfig","initData","keyCache","keysCached","cachedKeys","generate","addIfFound","Config","_config","initConfig","_scopeCache","_resolverCache","clearCache","clear","datasetType","additionalOptionScopes","_cachedScopes","mainScope","resetCache","keyLists","chartOptionScopes","subPrefixes","getResolver","hasFunction","needContext","resolverCache","KNOWN_POSITIONS","positionIsHorizontal","compare2Level","l1","l2","onAnimationsComplete","onComplete","onAnimationProgress","onProgress","getCanvas","getElementById","instances","getChart","moveNumericKeys","intKey","userConfig","initialCanvas","existingChart","_options","_aspectRatio","_metasets","_lastEvent","_listeners","_responsiveListeners","_sortedMetasets","_plugins","_hiddenIndices","attached","_doResize","timeout","clearTimeout","debounce","resizeDelay","_initialize","bindEvents","_resizeBeforeDraw","_resize","newSize","newRatio","onResize","render","ensureScalesHaveIDs","axisOptions","buildOrUpdateScales","scaleOpts","updated","isRadial","dposition","dtype","scaleType","hasUpdated","_updateMetasets","_destroyDatasetMeta","_removeUnreferencedMetasets","buildOrUpdateControllers","newControllers","order","ControllerClass","_resetElements","animsDisabled","_updateScales","_checkEventBindings","_updateHiddenIndices","_minPadding","_updateLayout","_updateDatasets","_eventHandler","_updateHoverStyles","existingEvents","newEvents","unbindEvents","changes","_getUniformDataChanges","datasetCount","makeSet","changeSet","noArea","_idx","_updateDataset","layers","_drawDatasets","_drawDataset","useClip","getElementsAtEventForMode","setDatasetVisibility","_updateVisibility","_stop","toBase64Image","toDataURL","bindUserEvents","bindResponsiveEvents","_add","_remove","detached","updateHoverStyle","getActiveElements","setActiveElements","activeElements","lastActive","replay","hoverOptions","deactivated","activated","inChartArea","eventFilter","_handleEvent","_getActiveElements","isClick","_isClickEvent","lastEvent","determineLastEvent","invalidatePlugins","clipArc","pixelMargin","angleMargin","rThetaToXY","theta","pathArc","innerR","spacingOffset","avNogSpacingRadius","angleOffset","outerStart","outerEnd","innerStart","innerEnd","angleDelta","borderRadius","halfThickness","innerLimit","computeOuterLimit","outerArcLimit","parseBorderRadius$1","outerStartAdjustedRadius","outerEndAdjustedRadius","outerStartAdjustedAngle","outerEndAdjustedAngle","innerStartAdjustedRadius","innerEndAdjustedRadius","innerStartAdjustedAngle","innerEndAdjustedAngle","pCenter","p4","p8","outerStartX","outerStartY","outerEndX","outerEndY","version","fullCircles","chartX","chartY","rAdjust","betweenAngles","withinRadius","halfAngle","halfRadius","radiusOffset","drawArc","inner","lineJoin","drawFullCircleBorders","setStyle","lineCap","pathVars","paramsStart","paramsEnd","segmentStart","segmentEnd","outside","pathSegment","lineMethod","stepped","getLineMethod","fastPathSegment","prevX","lastY","avgX","countX","pointIndex","drawX","truncX","_getSegmentMethod","usePath2D","Path2D","_path","_points","_segments","_pointsUpdated","segmentOptions","findStartAndEnd","chartContext","baseStyle","addStyle","st","dir","p0","p0DataIndex","p1DataIndex","doSplitByStyles","splitByStyles","solidSegments","_computeSegments","_interpolate","_getInterpolationMethod","interpolated","segmentMethod","path","strokePathWithCache","strokePathDirect","inRange$1","hitRadius","mouseX","mouseY","inXRange","inYRange","hoverRadius","getBarBounds","bar","half","skipOrLimit","skipX","skipY","addNormalRectPath","inflateRect","refRect","outer","maxW","maxH","parseBorderWidth","maxR","enableBorder","parseBorderRadius","boundingRects","addRectPath","cleanDecimatedDataset","cleanDecimatedData","plugin_decimation","algorithm","beforeElementsUpdate","xAxis","decimated","getStartAndCountOfVisiblePointsSimplified","threshold","samples","bucketWidth","sampledIndex","endIndex","maxAreaPoint","maxArea","nextA","avgY","avgRangeStart","avgRangeEnd","avgRangeLength","rangeOffs","rangeTo","pointAx","pointAy","lttbDecimation","minIndex","maxIndex","startIndex","xMin","dx","lastIndex","intermediateIndex1","intermediateIndex2","minMaxDecimation","_getBounds","_findSegmentEnd","_getEdge","_createBoundaryLine","boundary","linePoints","_pointsFromSegments","_shouldApplyFill","_resolveTarget","propagate","visited","_decodeFill","fillOption","parseFillOption","firstCh","decodeTargetIndex","addPointsBelow","sourcePoint","linesBelow","postponed","findPoint","unshift","pointValue","firstValue","lastValue","simpleArc","_drawfill","getLineByIndex","sourcePoints","below","getLinesBelow","_buildStackLine","_getTargetValue","computeCircularBoundary","_getTargetPixel","computeLinearBoundary","computeBoundary","lineOpts","above","clipVertical","doFill","clipY","lineLoop","tpoints","targetSegments","tgt","subBounds","fillSources","fillSource","src","notShape","clipBounds","interpolatedLineTo","targetLoop","interpolatedPoint","afterDatasetsUpdate","_args","$filler","beforeDraw","drawTime","beforeDatasetsDraw","beforeDatasetDraw","getBoxSize","labelOpts","boxHeight","boxWidth","usePointStyle","pointStyleWidth","itemHeight","_added","legendHitBoxes","_hoveredItem","doughnutMode","legendItems","columnSizes","lineWidths","buildLabels","labelFont","_computeTitleHeight","_fitRows","_fitCols","hitboxes","totalHeight","row","heightLimit","totalWidth","currentColWidth","currentColHeight","col","adjustHitBoxes","rtlHelper","hitbox","_draw","defaultColor","fontColor","halfFontSize","cursor","textDirection","lineDash","drawOptions","SQRT2","yBoxTop","xBoxLeft","drawLegendBox","_textX","titleFont","titlePadding","topPaddingPlusHalfFontSize","_getLegendItemAt","hitBox","lh","handleEvent","onLeave","isListened","hoveredItem","sameItem","plugin_legend","_element","afterEvent","ci","_padding","textSize","_drawArgs","fontOpts","plugin_title","titleBlock","createTitle","WeakMap","plugin_subtitle","positioners","average","eventPosition","nearestElement","tp","pushOrConcat","toPush","splitNewlines","String","createTooltipItem","getTooltipSize","body","footer","bodyFont","footerFont","titleLineCount","footerLineCount","bodyLineItemCount","combinedBodyLength","bodyItem","beforeBody","afterBody","titleSpacing","titleMarginBottom","displayColors","bodySpacing","footerMarginTop","footerSpacing","widthPadding","maxLineWidth","determineXAlign","yAlign","chartWidth","xAlign","caret","caretSize","caretPadding","doesNotFitWithAlign","determineAlignment","determineYAlign","getBackgroundPoint","alignment","paddingAndSize","alignX","alignY","getAlignedX","getBeforeAfterBodyLines","overrideCallbacks","opacity","_eventPosition","_size","_cachedAnimations","_tooltipItems","dataPoints","caretX","caretY","labelColors","labelPointStyles","labelTextColors","tooltipItems","getTitle","beforeTitle","afterTitle","getBeforeBody","getBody","bodyItems","scoped","beforeLabel","afterLabel","getAfterBody","getFooter","beforeFooter","afterFooter","_createItems","itemSort","labelColor","labelPointStyle","labelTextColor","positionAndSize","backgroundPoint","external","drawCaret","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","titleColor","_drawColorBox","colorX","rtlColorX","yOffSet","colorY","multiKeyBackground","outerX","innerX","strokeRect","drawBody","bodyAlign","bodyLineHeight","xLinePadding","fillLineOfText","bodyAlignForCalculation","textColor","bodyColor","drawFooter","footerAlign","footerColor","tooltipSize","quadraticCurveTo","_updateAnimationTarget","animX","animY","_willRender","hasTooltipContent","globalAlpha","positionChanged","_positionChanged","_ignoreReplayEvents","plugin_tooltip","afterInit","afterDraw","labelCount","_startValue","_valueRange","_addedLabels","added","addedLabels","addIfString","lastIndexOf","findOrAddLabel","relativeLabelSize","minSpacing","LinearScaleBase","_endValue","handleTickRangeOptions","setMin","setMax","minSign","maxSign","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","getTickLimit","maxTicks","stepSize","computeTickLimit","generationOptions","dataRange","precision","maxDigits","includeBounds","maxSpaces","rmin","rmax","countDefined","niceMin","niceMax","numSpaces","rounded","almostWhole","decimalPlaces","generateTicks$1","isMajor","tickVal","_zero","exp","endExp","endSignificand","significand","lastTick","generateTicks","getTickBackdropHeight","determineLimits","updateLimits","limits","hLimits","vLimits","getTextAlignForAngle","yForAngle","pathRadiusLine","getPointPosition","drawingArea","_pointLabels","_pointLabelItems","valueCount","pointLabelOpts","additionalAngle","centerPointLabels","getPointLabelContext","plFont","setCenterPoint","extra","outerDistance","pointLabelPosition","buildPointLabelItems","fitWithPointLabels","leftMovement","rightMovement","topMovement","bottomMovement","scalingFactor","getValueForDistanceFromCenter","scaledDistance","pointLabel","createPointLabelContext","distanceFromCenter","getBasePosition","getPointLabelPosition","backdropLeft","backdropTop","backdropWidth","backdropHeight","drawPointLabels","gridLineOpts","drawRadiusLine","animate","INTERVALS","millisecond","common","steps","second","minute","hour","day","week","month","quarter","year","UNITS","sorter","adapter","_adapter","parser","isoWeekday","_parseOpts","determineUnitForAutoTicks","minUnit","capacity","interval","addTick","time","timestamps","ticksFromTimestamps","majorUnit","setMajorTicks","_unit","_majorUnit","_offsets","_normalized","displayFormats","normalized","_applyBounds","_getLabelBounds","getLabelTimestamps","timeOpts","_generate","_filterBetween","_getLabelCapacity","determineUnitForFormatting","determineMajorUnit","initOffsets","offsetAfterAutoskip","getDecimalForValue","hasWeekday","getDataTimestamps","tooltipFormat","datetime","_tickFormatFunction","minorFormat","majorFormat","offsets","_getLabelSize","ticksOpts","tickLabelWidth","cosRotation","sinRotation","tickFontSize","exampleTime","exampleLabel","prevSource","nextSource","prevTarget","nextTarget","span","_table","_minPos","_tableRange","_getTimestampsForTable","buildLookupTable","registerables","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"benchart.js","mappings":";CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAkB,SAAID,IAEtBD,EAAe,SAAIC,GACpB,CATD,CASGK,MAAM,mLCgGgB,8EClEQ,0BA6BM,0BA+BJ,8ZA5DjB,iHAUN,YAAU,IACd,UAAQ,GACD,+CAKP,MAAe,KAAK,KAEpB,OADA,UAAa,EACN,mCAGuC,OAAV,EAAN,uLAOpB,iHAYN,YAAS,IACb,UAAQ,GACD,+CAKP,MAAe,KAAK,KAEpB,OADA,UAAa,EACN,mCAGuC,OAAhB,UAAM,2LAO1B,iHAUN,YAAS,IACb,UAAQ,GACD,+CAKP,MAAe,KAAK,KAEpB,OADA,UAAa,EACN,mDAIgC,gBAAK,OAAL,mEAGA,gBAAK,OAAL,8DAIvC,MAAe,UAEf,OADA,oBAAS,EAAT,EACO,8CAMP,OADA,oBAAS,EAAT,EACO,2DAIkC,WAAK,OAAL,cAAF,EAAE,0DAGA,WAAK,OAAL,cAAF,EAAE,0CAMK,OAAhB,UAAM,mNArHqC,qBAHmB,OAAtB,MAAc,GAGhC,CAAO,EAAP,0BAlBkB,qBAHkB,OAArB,MAAa,GAG/B,CAAO,EAAP,0BAMgB,qBAHe,OAAlB,MAAU,GAG5B,CAAO,EAAP,g2DCuBK,4CC8MrD,aACA,aAEsB,4BA3DQ,mBCvGiC,EAAX,KDwGhC,aACM,oDE7JI,aAA0B,4BAHxD,aASmB,gBACoB,sBD6CwB,EAAX,KC5C7B,mBD4CwC,EAAX,KC3C5B,wCCmiCpB,4BAm/FA,4BA+BC,4BAYA,uDAjPQ,MCt1Hg6oJ,QDs1Hh6oJ,QAAR,MAAQ,MACH,OACF,kBACI,EAAgB,IAAW,WAE/B,iBACI,MAAkB,EAAK,MACJ,MAAf,IACA,SAAmC,EACnC,EAAK,OAMrB,6BA/jFI,QAAS,QAAU,MACnB,KAqwFoB,KAlwFpB,QAAc,MACd,QAAiB,QAAc,MAC/B,QAAsB,OAAK,aA4qFD,EAAM,EAAO,IA3qFvC,QAAmB,MAAQ,SAC3B,QAAgB,KACX,UACD,QAAuB,QAAc,OAEzC,sBAykBH,qBAznD8C,YAA/C,EAAK,GAAY,aAAZ,GAAY,EAAZ,MAqnDY,CAAN,EAAe,sBAjnD1B,WAAK,aAAL,GAAK,EAAL,QAAqC,MAArC,EAAqC,KAArC,EAAqC,KAAU,sBAA/C,EAA+C,KAknDrC,CAAN,EAAiB,GAEjB,EAAI,MAAmB,KAxkBvB,SEr0CR,IFq0CuD,SAAiB,MAAhE,IG/rC2k8C,EAAqF,EAAI,SAAuB,QAAc,IAA9H,GA9C/k8C,MHivCI,KAAW,QAAc,sBASzB,MACA,QAAc,MACd,kBAooEI,UACA,QAAkC,KAAlC,GACA,SAAe,GAroEnB,gBA0oEA,MACa,QAAa,KAopB1B,GAA4B,GAppBY,wBAC3B,QAAc,KAmpB3B,GAA4B,GAnpBa,mCACzC,MA5oEA,IACA,QAAO,MACP,SAAoB,mBAgGwC,OAA7B,KAAM,EAAK,MAAM,EAAO,yBAEuB,OAAhC,KAAM,EAAK,GAAS,EAAO,qBAKjC,OAAnB,MAAa,uBA6TrB,MAAT,EAAS,CACT,iBAAe,MAAf,EGvnDqv4D,OAArB,KHwnDhu4D,SAAa,YACb,MAAc,QAAO,MACd,EAAU,OAu1Ee,MAt1ExB,QAAO,IAAS,IAChB,WAAO,IAAe,GAAY,MAAlC,OAGgB,QAAO,IAAS,GADhC,oBACgB,EADhB,KAGA,OADA,QAAgB,EACT,EAEX,EAAU,QAAO,IAAO,MAG5B,QAAO,IAAO,MACA,QAAd,EAAc,QAAS,QAAO,MAAhB,EACP,EAAU,OAy0Ee,MAx0ExB,QAAO,IAAS,IAChB,WAAO,IAAe,GAAY,MAAlC,CAGgB,mBAAgB,MAAhB,eACT,QAAO,IAAS,uBAAhB,cADS,EADhB,QAIA,OADA,QAAgB,EACT,EAEX,EAAU,QAAO,IAAO,GAIhC,OADA,QAAgB,QACT,uBA6IP,GAAa,QAAO,OACpB,QAAc,eACd,EGryD6qlE,EAAZ,QAAY,MH7D7olE,EAk2DY,MGh2DhD,EAAO,EHg2DH,QAAkC,2BAO9B,EACA,QAAO,OAEK,MAAR,GAAgB,QAAO,QAAa,GACpC,WAAyB,yBACrB,EAAM,IAAU,UADpB,GAIJ,QAAO,iCAKX,MAEA,KAAkC,EAAK,EAAW,GAI9C,SACA,QAAO,MACP,MAAiB,QAAO,SAEpB,EAAU,QAAO,IAAmB,oBAC5B,MAAR,OAAsC,IAAtB,QAAO,IAAU,EAAK,QAAsB,WAAtB,EAA6B,YACpC,IAAvB,QAAO,IAAW,EAAK,QAAsB,WAAtB,GAEnC,iBAAS,MAAT,YACI,EAAoB,OACV,GACM,EACD,KAA0B,IAC7B,EACA,GANhB,EAQY,IAAe,EAAe,QAR1C,EAQ8D,MAAlD,GARZ,EASY,IAAW,GAGvB,OADA,KAAW,EAAQ,MACnB,KAGW,MAAX,UACc,QAAO,QACN,GAAO,KAAa,QAAO,OAEtC,KAAiB,EAAQ,GAEzB,QAAU,OACN,QAAO,MACP,UAKZ,QAAc,QACd,EAA2B,QACZ,MAAX,GAEA,MAAc,EAAQ,IAAQ,EAAK,MACpB,MAAX,GAEA,EAAQ,IAAW,GAKnB,MAAe,EAAQ,MAIvB,QAAY,EAAQ,IAAe,GAAW,EAAQ,MAAtD,EAGA,MAAuB,EAAQ,IAAe,GAC9C,EAA8B,EAAmB,EAAQ,MAAzD,EACA,EAAQ,IAAiB,EAAkB,EAAQ,OACnD,KAAmB,GACnB,QAAO,IAAW,GACd,EAA0B,GAE1B,QAA2B,yBACvB,EAAM,IAAU,WAGxB,KAAiB,EAAQ,QAKzB,QAAO,MACP,SAAY,EACZ,QAAgB,iBA/GpB,QAAO,QACP,QAAS,QAAY,MAErB,QAAO,MACP,SAAqB,EACrB,QAAgB,MA2GZ,IACA,QAAO,MACP,MAAiB,QAAO,SAEpB,EAAU,QAAO,IAAmB,oBAC5B,MAAR,OAAsC,IAAtB,QAAO,IAAU,EAAK,QAAsB,WAAtB,EAA6B,YACpC,IAAvB,QAAO,IAAW,EAAK,QAAsB,WAAtB,GAEnC,QAAe,QAAO,IAAO,GAC7B,MAAoB,OACV,GACM,EACD,KAA0B,IAC7B,EACA,GAEZ,EAAQ,IAAe,EAAe,QAAY,EAAQ,MAAlD,GACR,EAAQ,IAAW,GACnB,EAAa,OF79D2B,KE+9DhC,EAAQ,EAAO,UAK/B,KAAW,EAAQ,sBAOnB,QAAa,IAAK,SAClB,QAAe,EACf,EAAK,MAAe,IAAK,SACrB,IAAQ,QAAY,GACxB,EAAK,MAAoB,IAAK,SAC9B,QAAiB,sBAsBb,SACA,MAAa,QAAO,MACpB,KACI,QAAO,IAAS,GAChB,QAAO,IAAe,GACtB,QAAO,IAAS,SAGpB,MAAa,QAAO,MACpB,KACI,QAAO,IAAS,GAChB,QAAO,IAAe,GACtB,QAAO,IAAS,IAGxB,MAAwB,QACxB,EAAc,WACC,MAAX,GAAmB,EAAQ,MAAS,IAAO,EAAxB,KAEnB,MAAe,EAAQ,MAGvB,EAAc,EAAQ,MAItB,kBG/jEL,KAAW,OC5BA,MAgBd,EAhBc,WAAd,GAAc,KAAT,MAAS,UACV,MAeJ,EAfe,EAAI,GA8CX,EA/BkB,EAdf,SAFX,GAAc,GAiBjB,ODiDU,EHyhEwB,CAAR,GAEf,EKjkE0C,KLkkE1C,EAAmB,EACnB,EAAiB,EAAQ,IACzB,EAAoB,EACpB,EAAkB,EAAS,IAG3B,EAAiB,EACV,EAAgB,IACnB,MAAmB,IAAS,MACvB,EAAS,EAAS,OAsBH,EAAhB,KAEA,gBAIA,EAAe,GAGf,MAAkB,IAAQ,MACtB,IAAgB,EAAhB,CACA,MAAmB,EAAQ,IAAe,MAC1C,EAAW,EAAI,GACX,IAAgB,EAAhB,CACA,MAAmB,EAAQ,IAAmB,GAC9C,KACI,EAAe,EAAQ,MAD3B,EAEI,EAAa,EAAQ,MAFzB,EAEqC,GAErC,EAAQ,IAAiB,EAAc,EAAY,SAIvD,QAEJ,QACA,IAAc,EAAQ,IAAmB,GAAzC,QA5CA,KADmB,EAAQ,IAAe,GACV,EAAQ,MAAxC,EAAoD,EAAa,OACjE,EAAQ,IAAgB,EAAa,MAAU,GAC/C,KAAmB,EAAa,OAChC,QAAO,IAAW,EAAa,OAC/B,MACA,QAAO,MAKO,GAAd,QACI,EAAa,MACb,EAAa,MAAW,QAAO,IAAU,EAAa,OAF5C,GAId,QAoCR,MAII,EAAS,IAAO,IAChB,KAAmB,QAAO,OAC1B,QAAO,WAMf,MAAkB,SACV,QAAO,QACX,MAAgB,QAAO,MACvB,MACA,MAAoB,QAAO,MAC3B,KAAiB,EAAa,GAChB,GAAd,QAA0B,EAAW,QAAO,OAGhD,MAAgB,WACZ,GACI,gBAmoCR,QAAa,EAAI,QAAe,OAloCxB,IACA,EAAoB,GAExB,QAAO,MACP,MAAkB,QAAO,SACzB,QAAO,OACF,QAAO,OACR,MAAmB,KAA0B,GAC7C,QAAO,MACP,QAAO,uBAolCX,QAAa,IAEb,QADkB,UACS,yBACvB,EAAM,MACN,EAAM,IAAS,EAAa,EAAO,IAAW,IAC9C,EAAM,mBAGV,MAA0B,GAAb,SACb,QAAa,KACb,MACA,MAEA,gDGlqGk8E,EAAstxH,EAAttxH,UG7Hh8E,UA8xGyzI,EA9xGzzI,WAAd,GAAc,MAAT,MAAS,UA8xGyzI,EA9xG3xI,EAAI,ENA/C,CAkyG6B,EAxtGtB,EAwtGuC,SMlyG/C,GAAc,iBAyB2D,EA6GlD,aN+pGP,EAAM,MACN,EAAM,IAAS,EAAa,EAAO,IAAW,IAC9C,EAAM,YARiB,CADT,QACS,cAhmCvB,GAAa,SACb,SAAiB,EACZ,QAAU,OACX,KAAgB,EAAc,GAC9B,KAAyB,EAAc,UAI3C,GAAQ,kBA8vChB,MAAe,QAAO,MACI,QAAc,KAAO,IACX,GAoqBpC,GAA4B,GApqBqB,iCAC7C,QAAc,KAAO,KAAO,IAC5B,QAAc,MACd,QAAkC,KAAlC,IAlwCA,IACA,MAAkB,QAAO,MAErB,IADkB,KAAiB,IAEnC,KAAyB,EAAa,GAEtC,IACA,EAAoB,GAExB,QAAO,MACP,uBA/JJ,MAAsB,QAAa,SACZ,MAAnB,IAA4B,EAAD,CAC3B,gCAEJ,QAAe,EACf,QAAiB,QAAe,MAAQ,EAAxC,EACA,QAAsB,EAAK,MAAoB,MAAQ,EAAvD,EA4JA,GAAU,EAAmB,kBAU7B,MAAmB,QACnB,SAAc,MACd,OAAiB,EAEjB,EAAa,QAAO,MACpB,EAAU,EAAS,QAAO,IAAU,GAApC,EACA,EAAqB,QACrB,EAA2B,QAC3B,EAAwB,QACxB,EAAe,EAEf,EAAiC,GAAd,QAA2B,QAAO,MAAc,GAC5C,MAAhB,IACH,MAAe,EAAa,SAEd,GAAd,QAA6B,GAEzB,EAAa,OACb,GAAa,EAEb,QAAO,IAAW,GAClB,MAAe,QAAO,MAEtB,KAAkB,EAAU,EAAU,GACtC,EAAW,EAIX,QAAY,KACR,EACA,EACA,EACA,GAKJ,QAAkB,KACd,QAAO,IAAO,GACd,EACA,GAIJ,QAAgB,KAGhB,EAAa,MAAM,IAAQ,GAG3B,QAAgB,KAGhB,QAAO,IAAc,QAKrB,QAAgB,IAAK,EAAa,OAClC,EAAa,MAAM,MACnB,QAAgB,MASpB,EAA6B,GAAd,QAA2B,QAAO,MAAc,MAG/D,GACA,KAAkB,EAAU,EAAQ,GACpC,QAAO,MACP,MAAuB,KAAiB,GACxC,QAAY,EAAiB,EAA7B,EACA,QAAiB,EAAoB,EAArC,OAGA,MAEJ,QAAkB,EAElB,QAAc,mBAW4C,OAAV,EAAK,EAAK,qBAa1D,MAAmB,KAAiB,MAChC,IAAgB,EAAhB,CAEA,MAAY,EAAW,EAAvB,EACA,EAAc,EAEd,EAAiB,QAAa,IAAO,EAArC,UACkB,IAAX,IACH,MAAsB,KAAiB,GAAW,EAAlD,EACA,KAAgB,EAAS,GACJ,WAAkB,GAAvC,OAAK,MAAgB,WACjB,MAAc,QAAa,IAAK,MACjB,MAAX,GAAmB,EAAQ,IAAgB,EAAS,GAAzB,CAC3B,EAAa,EAAe,EAA5B,EACA,eAJ+B,GAAvC,MAQI,EAAU,EACV,EAAU,QAAO,cAEb,QAAO,IAAO,GAAU,QAC5B,EAAU,QAAO,IAAO,iCAmBpC,MAAkB,QAAO,IAAO,GACzB,IAAe,IACd,QAAO,IAAO,IAClB,EAAc,QAAO,IAAO,GAGhC,MAAgB,QAAO,IAAO,GAAc,EAAO,KAG/C,IAAe,EAAO,OAAO,EAGjC,MAAc,EACd,EAAqB,GAAS,KAAiB,GAAe,QAAO,IAAU,GAA1D,GAArB,SACa,EAAQ,GACb,IAAW,GADE,KAEjB,QACO,EAAU,IACb,MAAU,EAAU,QAAO,IAAU,GAArC,KACI,EAAgB,EAAK,WACzB,IAAS,KAAiB,GAA1B,EACA,EAAU,EAEd,QAEJ,OAAO,sBAIH,EAAQ,GAAU,gBAAP,OAAO,SAA2B,MAA3B,EAA2B,KAA3B,EAAiC,GAAG,IAAY,EAAhD,EACtB,MAAiB,WACC,MAAd,GACA,MAAe,EAAW,MACtB,GAAY,EAAG,OAAO,EAE9B,OAAO,QAAO,IAAU,yBAIpB,KAAiB,KAAU,KACvB,EAAQ,GACY,gCAChB,EAAgB,KAD6B,EAE7C,MAA4B,IAC5B,SAHgB,EAApB,EOlsEZ,GA2hBkuiE,EAAS,QP8qD9siE,gCACb,EAAgB,eADmB,EACV,MAAO,KACtB,GAAV,GAAe,EAAL,YAFyB,EAGnC,MAAqB,IACrB,SAJa,EAAjB,EAMW,GAAS,4BAe5B,MAAa,QACb,4BA6kDA,IAAK,EAAG,OAAO,KACf,IAAK,GAAU,IAAK,EAAQ,OAAO,KACnC,MAAO,KAAM,EAAG,OAAO,KACvB,MAAO,KAAM,EAAG,OAAO,KACvB,MAAO,KAAM,MAAO,GAAI,OAAO,MAAO,GAG1C,MAAe,EACf,EAAe,EACf,EAAgB,KAAa,EAAG,GAChC,EAAgB,KAAa,EAAG,GGp5HgrsJ,IAAY,EAAZ,EAJlssJ,OAAd,EAAsB,KAAR,QHy5HkB,EAAW,MAAO,SGz5HlD,EAAsB,GAI4vsJ,QAAY,EAAZ,EAJpwsJ,OAAd,EAAsB,KAAR,QH05HkB,EAAW,MAAO,SG15HlD,EAAsB,QH85Hf,IAAY,GACf,EAAW,MAAO,GAClB,EAAW,MAAO,GAItB,OAAO,EAnmD4B,CAAP,EACpB,EACA,EACA,GAIJ,EAAc,EACP,EAAU,GAAK,IAAW,GACzB,EAAO,IAAO,IAAU,MAC5B,EAAU,EAAO,IAAO,GAI5B,KAAiB,EAAU,8BAIvB,EAAQ,GAAK,IAAS,IACtB,KAAiB,QAAO,IAAO,GAAQ,GACnC,QAAO,IAAO,IAAQ,QAAW,UAAc,EAuqBf,MAAK,oCA7pBlC,IAAS,IAAgB,aAChC,2BAcA,MAAa,GAAb,CACA,cAAe,MAAQ,MAAvB,IAAuB,cACb,EADV,IAEQ,gBAAc,EAAG,KACjB,gBAAwB,KACb,GAJnB,aAMK,EANL,aG32Ey71F,QAAS,MHy+Hh71F,MA5hItB,EA4hIsB,CAtnDE,cAAS,KAAT,SAAiB,MAAjB,EAAiB,KAC7B,GADY,EACI,YAv6E5B,EAu6E+C,GADvB,IAt6ExB,EAs6EwB,SAt6ExB,IAs6EI,EAGH,SA1ByB,CAD4B,EACnC,MADmC,EACP,MACvC,IAAY,OACZ,WQh+Em08F,KAAnM,IAA0O,MAAO,IAAO,GAAgC,EAAwC,KAA358F,GAAL,EAAk78F,GRu+E588F,IARV,EAFJ,wBAwEA,QAAiB,QAAO,MACxB,QAAO,6BA6JP,MAAkB,KAAmB,GACrC,MAAQ,GAIR,MAA2B,QAC3B,QAAkB,KAEd,SAAW,QAAO,cAKtB,aAA2B,UAAsB,WAAO,MAAY,MAChE,GOt9D8l4E,cAAuB,EAAP,QAAO,MA3hB7n4E,KAAI,EA2hByo4E,MPu9Dzo4E,KAi4CoC,IAj4CN,MAAqB,EAAO,GAKtD,UAAc,EAAD,CACb,SAAqB,EACrB,QAAgB,KAGhB,MAAa,QAAO,IAAO,QAAO,IAAO,QAAO,UAK5C,UAEA,KANJ,EAAgB,OACZ,EACA,EACA,QAHY,EAKZ,EALY,oBAt+BhB,oBAA+C,MAA/C,QA6+BI,YAEJ,QAAc,IAAqB,QAEnC,MAA4B,QAC5B,QAAmB,EACnB,GAAiB,KAAM,sHAA4B,cAA1B,EAAQ,MAAQ,EAAR,gDACjC,QAAmB,EAIvB,MACA,QAAkB,EAClB,iCA+OA,MAA6B,EAAK,MAClC,EAAuB,QACvB,EAAqB,YAEjB,SAAoB,EACpB,SAAc,EACd,QAAY,EIj+FN,YAqMmy3G,EArMny3G,WAAd,GAAc,KAAT,MAAS,UACV,MAoM6y3G,EApMly3G,EAAI,GJi+FkB,EAl+FxC,EAk+FwC,KAAO,EAl+F/C,EAk+F+C,QACf,MAAb,MSzsCA,MAqlDV,EArlDU,YAAX,MAAW,MT2sCI,MAAwB,EAp4CnC,QAu4CO,MAAwB,EAAO,YIx+F/C,GAAc,MJ2+FO,MAAN,IAAM,UAA0B,UAAhC,EAAM,IAAsB,EAAI,SAAS,EAAT,EAAa,GAA7C,QAAP,OAAO,QAAuD,IAAvD,UAEP,QAAoB,EACpB,QAAc,EACd,QAAY,gCA3BZ,oBAC2B,MAD3B,aAEyB,MAFzB,aAGU,MAHV,cAIoE,MAJpE,+BAoKS,SAm/Bb,GAA4B,GAl/BvB,8EAEL,SAAe,kBAID,SA4+Bd,GAA4B,GA5+BG,8EAU/B,QAAQ,EAAI,oBAQZ,MACA,MACA,KAAO,uCAkHH,cAAkD,GAAlD,SAzGJ,SACA,MACA,KAAO,sBAQP,KAAyB,GACzB,KAAO,0BAFH,qBAAkD,GAAlD,yBAgBJ,QAAY,QACR,EAAQ,IACR,QAAa,EACb,QAAO,kBApkGU,WAAd,EAokG8B,MApkGhB,QAokGyB,EAAQ,YApkG/C,EAokG8B,+CAKrC,QAAO,kBACiB,UAAN,EAAM,cAApB,GAAc,MAAT,MAAS,MAAM,EAAN,GACV,GACkB,EADlB,IACkB,EADlB,MAEY,IAAK,EAAM,UAH3B,GAAc,sCASd,QAAU,QAEV,KAAa,QAAU,MACvB,QAAU,uBAMd,QAAU,IAAK,qBAIX,QAAU,MACV,QAAU,WAEV,kDA+CJ,QAAmB,EAAW,QAAO,MAAY,QAAO,MACxD,EAAe,EAAW,QAA1B,EACa,GAAY,GAm2BzB,GAA4B,GAl2BvB,2BAED,EAAW,IACX,QAAO,yBAAiB,EAAM,IAAU,WACxC,QAAqB,oBAgCzB,QAAa,EAAI,iCAqHjB,KAAY,GAAqC,EAAmB,GACpE,OAjGA,GAAyB,QAAO,OAChC,WA6tBA,IA5tBA,wBAAsB,QAAO,MAA7B,mBAsGA,MAAe,QAAO,MAAe,QAArC,EAGA,QAAqB,EAAW,EAAhC,oBAMI,QAAO,IAAO,GACd,MAAa,QACb,EAAe,EAAO,SAElB,QAAc,KAAO,KAAO,EAA5B,EACK,SAAgB,UAEjB,cA8mBZ,GA9mBY,GACA,SAAe,GAEnB,MAAa,EAAO,IAAO,GAC3B,QAAc,IAAK,GACnB,WAAyB,yBAAiB,EAAM,IAAc,UAA9D,yBA8BR,QAAU,KACV,QAAY,EACZ,QAAiB,EACjB,QAAqB,EACrB,QAAkB,EAClB,SAAe,EACf,SAAe,EACf,QAAc,KACd,QAAgB,iBArjChB,QAAqB,KACrB,QAA4B,KAqjC5B,0BASI,EAAQ,KACK,GAAa,GA2nB9B,GAA4B,GA3nBQ,wBAAsB,IAClD,UAAkB,GAAW,wBAAiB,EAAjB,OAE7B,MACA,QAAiB,EACjB,QAAgB,0BAMpB,EAAQ,KACJ,QAAgB,GAAK,WAAoB,EAAO,QAA3B,IACrB,WAAkB,EAAK,QAAvB,IAEA,wBAAiB,EAAjB,OAEA,MACA,QAAmB,EACnB,QAAiB,EACjB,QAAgB,iBAMxB,UAAY,WACZ,QAAgB,EACZ,EAAQ,KACJ,SAAkB,GAClB,MAAkB,QAClB,SAAiB,EACjB,QAAuB,6BAAmB,EAAQ,IAAO,EAAa,gBAEtE,MAAW,QACX,SAAmB,EACnB,MAAS,QACT,SAAiB,EACjB,mDAA0C,EAAQ,IAAK,EAAM,EAAI,SAA1C,+BAiJhB,MAAX,EACY,MAAR,GA8bc,MA9bE,GAAwB,KAAiB,YAGzD,KAAyC,GAFzC,KAA8C,GAAL,IAI7C,KADK,gBACoC,EAAQ,KAEA,GAAR,6BAI7C,EQxrH+09I,UAAjx9I,EAAjB,GAAL,EAA2z9I,GRwrHn29I,QAAmB,EAA2B,uBAI/B,MAAX,EACY,MAAR,GA8ac,MA9aE,GAAwB,KAAiB,YAGzD,KAAwC,GAFxC,KAA6C,GAAL,IAI5C,KADK,gBACmC,EAAQ,KAEA,GAAR,6BAI5C,EQxsHyg/I,UAAoB,EAL99+I,EAAlB,GAAL,EAK8g/I,GRwsHtj/I,QAAkB,sBA9oBJ,SAsjCd,GAA4B,GAtjCE,8CUxiGlC,MAAkB,SAOulrH,yBAAkC,QAAW,KAA8B,QAAmB,QAAS,MAAe,QAAgB,KC+E7trH,QAAQ,EA8D6+iH,EA9D7+iH,SAAtB,EAAc,KAAT,MAAS,gBXu9FV,EA79FuC,MAClD,GADkD,iBA69FvC,EA39FJ,MAAO,GAAP,wBA49F6B,EAAN,EAAM,MAAN,EAAc,MAAR,EAAQ,KAAR,EAAQ,SAAd,QAA0B,YAAzC,MAAe,EACf,QAAc,EAAI,OAAa,EAAO,EAAU,UWz9FxD,EAAc,GF42GgB,gBAtgF9B,MAAO,IGp4B2C,EAA3C,WHo4BG,KAAS,ICr7B4+rH,QAAY,EAAc,OAAe,EAAkB,SAAc,MAAuC,MAA2E,MAA+D,QAA+B,IAAiB,GAAsB,MAAX,GAAuC,YAAY,GAAZ,GAAY,KAAZ,2BGgM/1sH,MAAe,KAAsB,eAEjC,KACK,OAAsB,KADL,OACjB,QAA+B,KAA/B,GAAmD,EAChD,KAAS,KAGjB,YAEA,KAAsB,IAAI,IHzMg/sH,IAA+D,cV4jGzjtH,6EAGA,6CU/jGyptH,6CVkkG9otH,MAAX,GACA,KA2+BW,IA3+Be,MAC1B,GAAiB,EAAM,GACvB,YAEA,SACgB,MAAhB,IACA,KAAyB,aAEzB,KAm+BW,IAn+Be,MAE1B,GAAiB,EAAjB,MAAuB,GAAvB,mBAAuB,IAAvB,MACA,aAEA,oBUhlGgvtH,SAA8vB,MAA0B,GAAW,eAA6C,SAAc,EAAsB,QAAc,KAA6B,eVm0C/pvH,MACA,QAAa,KACb,QAAe,KACf,QAAoB,KACpB,QAAY,KACZ,QAAsB,KACtB,QAAgB,KAChB,QAAO,MACP,QAAkB,EAClB,QAAoB,EACpB,SAAe,EACf,SAAc,EACd,SAAoB,EU/0CqpvH,oBAHnqvH,SAAW,yBVqEzB,sCA8pFoB,EAAM,IAAc,IACxB,EAAM,MACF,EAAM,IAAO,EAAM,QAAS,EAAQ,MACxC,EAAM,oCA+lBC,QAAO,IAAQ,GAAR,OAEF,QAAO,IAAe,GADlC,kBACY,EADZ,KAEA,EAAgB,QAAO,IAAS,EAAO,GACvC,EAAa,QAAO,IAAO,GAC3B,EAAU,EAAQ,QAAO,IAAU,GAAnC,EItpG8n0H,uBJkxH1o0H,MF55HoD,KE65HpD,EAAY,KAAmB,UACxB,EAAQ,QACX,MAAmB,IAAI,QACnB,EAAa,MAAW,GACvB,QAD4B,EAAO,EAAI,GAE5C,QAEJ,OAAO,EI1xHmo0H,CAAnB,EAAK,MAA4B,EAAO,GAtJ/p0H,EAAa,GAAa,OA/CZ,MAgDd,EAhDc,WAAd,GAAc,KAAT,MAAS,UACV,MA+CJ,EA/Ce,EAAI,GUsDoC,EdsyGvC,GA71GnB,EA61GsB,MA71GtB,EA61GkC,OctyGc,EApCxC,EAAI,SVnBT,GAAc,GJ41GF,QIzyGL,EJ4yGK,EAAgB,OACZ,EACA,EACA,QACA,QACA,EACA,EACA,KAA6B,OAEjC,QAAc,IAAsB,GACpC,MACA,4CACI,MAAgB,OG9uG06E,EAA423H,EAA523H,UGpGr4E,EAqwG65O,MAAsC,EAAM,IAAO,EAAQ,EArwGx9O,KAqwGkgP,mBArwGlgP,EA6GlD,MN4uGH,MAAY,OAAoB,UAChC,QAAc,IAA4B,EAAW,SATlD,SAWH,GACA,MACA,MACA,MACA,MAAoB,QAAO,IAAO,GAAQ,EAAO,QAAO,IAAU,GAC9D,EAAY,GACZ,KAAiB,EAAW,KAEhC,SACG,QAAO,IAAU,eACjB,QAAO,IAAa,GAAb,KAId,IACA,EAAU,EADC,QAAO,IAAU,GAC5B,EACA,EAAc,EAAQ,EAAtB,EACA,EAAuB,EAChB,EAAU,IAQb,MAAa,QAAO,IAAO,GACvB,IACA,MACA,KAAW,QAAO,IAAK,KAE3B,IAAoB,KACR,IACU,GAAU,EACZ,EAAQ,EAAO,EAAY,EAH3B,GAApB,EAKI,IACA,MACA,OAEJ,IAAW,QAAO,IAAU,GAA5B,IAEJ,SACG,QAAO,IAAU,GA1ExB,2DApiBQ,YACA,qBAhCR,MAAkB,EAAM,IAAY,GACpC,GAAa,EAAM,MAAe,GAClC,GAAmB,EAAO,EAAS,OACnC,sBA1BA,MAAe,EAAM,MAGrB,EAAc,EAAM,MACb,GAAW,IAAM,EAAM,IAAO,IACjC,EAAU,EAAM,IAAO,GAG3B,MAAY,MACZ,QACO,EAAU,GACT,EAAM,IAAa,EAAU,IACzB,EAAM,IAAO,KAAU,EAAQ,GACnC,UAEA,KAAa,EAAM,IAAO,GAAU,EAAO,EAAM,IAAU,IAA3D,EACA,IAAW,EAAM,IAAU,GAA3B,GAGR,OAAO,EAOS,CAAiB,GAC1B,EAAM,MAAe,GAEpB,EAAM,IAAoB,IAClB,EAAM,QACN,EAAQ,IAAK,EAAM,IAAK,EAAM,QAC9B,EAAY,GAEhB,EAAM,OAEF,IAAa,EAAM,MAAnB,EAKhB,OADA,GAAa,EAAM,QAAgB,GAC5B,EAcsB,CAAiB,EAAO,EAAQ,mDA2IjE,MArHoB,EAqHD,UArHC,EAuHhB,MAvH4B,KA+HhC,MA9HwB,EA8HD,MACvB,EA/HwB,EA+HE,MA/HF,EAgIxB,MAAqB,SAhIG,EAkIpB,MAl4FJ,EAiwF4B,KACI,EAAG,MACH,EAAG,MACH,EAAG,OACK,GA8HpC,qBAnIoB,EAqIpB,MAAc,EArIM,EAsIpB,MAAqB,mBAvIL,EA0HhB,MAAU,wDA7GU,MAAwB,KAAqB,EACzC,OAAc,EAAS,MAAyB,EAx1F7E,MAy1FyB,EAz1FzB,WAD0C,GAC1C,MAD+C,MAC/C,UAy1FyB,EAz1FK,EAAI,EACxC,CAy1F0C,EAAe,EAAO,SA31FhB,GAC1C,6DAo2FqB,MAAW,KAzzFhC,MA2zFqB,EA3zFrB,WAFkC,GAElC,MAFuC,MAEvC,UACW,MA0zFU,EA1zFC,EAAI,MA2zFD,YACA,EAAQ,IAAe,EA5zFA,EA4zFf,EA5zFsB,GA6zF9B,EAAQ,IAAc,EA7zFC,EA6zFf,EA7zFsB,SAHrB,GAElC,+DA00F6B,gBAAc,IAA2B,GAAzC,QACL,GAAqB,iDADhB,EAAZ,QAQA,EAAc,EAAM,IAAkB,EAAG,EAAM,MAAW,OFt8E257F,EA/Oh77F,IEyrFzB,OACY,EAAG,MAAvB,kBAAoB,EAApB,KAl4FrB,MAm4FqB,EAn4FrB,WAD0C,GAC1C,MAD+C,MAC/C,UAAmB,MAm4FE,EAn4FS,EAAI,KAq4FY,EAAM,IAp4F1D,EAo4FuE,GAAxC,kBAAqB,EAArB,KAEgB,MAAhB,KAAgB,IAAU,SAx4FT,GAC1C,gEA65F6B,KACQ,EAAG,MACH,EAAG,MACH,EAAG,OACK,iDAMhB,MAAwB,KAAqB,EACzC,OAAc,EAAS,MAAyB,EAx6FjF,MAy6F6B,EAz6F7B,WAD0C,GAC1C,MAD+C,MAC/C,UAy6F6B,EAz6FC,EAAI,EACxC,CAy6F8C,EAAe,EAAO,SA36FpB,GAC1C,kDAq7FS,YACA,GAAmB,EAAO,EAAS,GACnC,EAAM,oCAh2Fe,EAw+FC,MAx+FjB,OAw+FiB,EAx+FE,EAw+FF,MYrjG3B,KAA2B,8BZmmClC,aAKA,aAKA,aAEA,aAEA,aAEA,aAKA,aAE2B,kBACK,gBACH,aACA,kBACK,aACA,kBACU,gBACgB,gBACzB,cACH,cACL,oBFllCoC,EAAX,KEmlCG,aAC7B,kBACwB,gBACpB,gBACC,cACK,kBACd,cACK,cACU,aACd,gBACa,aAEN,kBAEH,cAED,oBGjiCsnvC,EAAV,WAAU,MH7D5mvC,EAomC8B,MGlmClE,EAAO,EHkmCiD,aAE7B,wBGziCovvC,EAAZ,WAAY,MH7D3uvC,EAwmCgC,MGtmCpE,EAAO,EHsmCmD,aACzB,cACiB,wBG7iC26D,EG6nCl9D,WH7nCk9D,YHnDz9D,EAkmCqD,IAAO,WMnpCK,EA6FlD,MAEd,EALG,ENyjCuC,mBFjnCgB,EAAX,KEknCzB,aAmMO,cAmBE,aA8yDX,aACD,kBAgES,aAMN,cAMK,cAKJ,kBA6CC,kBAyLA,cACE,cACF,cACD,iDArgFZ,sQAjrBhB,aACA,aACA,aACA,aACA,aACA,aACA,yCAmzH8E,iBAAzB,GAJjD,GAA4B,GAI+B,iCAvyH/D,gDA0sBA,EAAS,IAAkB,wEG77B2F,QH8xH1F,MA/xHN,IAAiB,EAAT,QAAS,OAA/B,EAAc,KAAT,MAAS,UACV,MAAc,UAAS,GAEpB,GAvBqB,KAuBjB,OAq9HqC,MAAb,QAAmB,OAAU,QAAK,SAAgB,SAr9HvD,SAH9B,EAAc,GADO,OGjBtB,uBHXP,aACA,aAEsB,eesBE,YAAc,GA3ElC,MAAM,GAAiC,GfwDX,8BFF+B,EAAX,KEK7B,mBAEnB,EAAuB,EACvB,EOH8C,KPIhC,IAAiB,EAHV,KAGC,MAAS,OAA/B,EAAc,KAAT,MAAS,UACV,MAJiB,KAIH,QAAS,GOFT,EAAR,EAAQ,MAAY,SAAU,EAAO,EAAkB,EACzE,OADW,EAwJP,GAAI,EAAK,GPlJD,IAAoB,EAAQ,MAA5B,QALJ,EAAc,GG5ClB,EHmDI,EAVqB,aAiBX,cAAK,6BAmGnB,aAKA,aAQA,yCAywHA,MAAY,KAAmB,GACxB,EAAQ,OACM,IAAI,GACN,MAAW,GAAK,KAAS,2BAjB5C,MAAY,KAAmB,MAC3B,EAAQ,OACR,MAAwB,IAAI,MACxB,EAAkB,MAAW,EAAK,OAAO,EAEjD,OAAO,2BAIP,MAAY,KAAa,GACzB,OAAW,GAAS,EAAG,KAAS,GAAY,2BA+B5C,MF36HoD,KKkEy6D,EAA2slJ,EAA3slJ,UGiqG+y4B,OAA9c,MAAY,iBArwGrw7B,EA6FlD,MNi4HnB,OAAO,iBez4HsC,WAAM,GAA8B,GACmi0J,oGAAmH,EAAnH,0FfnGpn0J,aAMA,aAKA,qCO+SA,QAgbu+0H,EAhb390H,GAgbo+0H,MA/a590H,MAAT,EAAS,KAChB,EP8iHJ,KOhoGu+0H,EA7an+0H,GA6a4+0H,EA7an+0H,KACT,SAEA,EP2iHI,OOhjHR,EPgjHF,EAAI,yBAQwD,aAAI,GAAM,QAAV,EAAU,QAAV,GAE7D,OAFsF,MAAf,IAAe,2BALnF,aAAI,GAAM,MAAV,IAAU,MG7vHyrjJ,EAA2B,GAAO,GAAlC,EAAwD,MAAW,KAAO,iBHmwH7wjJ,GAAO,EAD6D,KGlwH6xjJ,GHowHp2jJ,wBGpwHqtlJ,WAAa,GHmyHnqlJ,OAt1HxD,EAs1HkC,EAAT,IAt1HzB,EAs1H4C,EAAP,GAt1HrC,4BAo0HJ,MAAU,EACV,EAAW,MAAO,EAAlB,EAEO,GAAO,IACV,OAAW,EAAM,EAAM,KAAK,EAA5B,EACA,EAAa,IAAI,GACjB,EAA0B,GAAhB,EAAO,MAAmB,MAGhC,EAAM,EAAK,EAAM,EAAM,EAAZ,YACX,EAAM,GACE,OAAO,EADJ,EAAO,EAAM,EAAb,CACI,EAGvB,WAAS,EAAM,EAAR,+BA+FP,MAAY,EACZ,EAAc,EACP,EAAU,GAAK,IAAW,GAC7B,EAAU,MAAO,GACjB,QAEJ,OAAO,iBA5SP,4BA0HA,mCArwHI,EAg6He,IAAO,GACd,EAAO,EAj6Hf,EAi6H0B,IAAK,aAEvB,MAAc,EAAQ,EAAtB,EACA,EAAU,EAp6HlB,EAo6HiC,IAAU,GAAnC,EACO,EAAU,GACb,OAAiB,GACjB,IAv6HZ,EAu6H8B,IAAU,GAA5B,iCAgDV,GAAN,EAAyB,uCAGiC,EAAM,0CAEZ,EAAM,0CAER,EAAM,IAAc,uCAEhB,EAAM,4FAv/FZ,OA6+FH,KAIJ,KAEN,KAEF,KAEI,KA2BV,OAAW,YAMb,OAAW,cAMA,OAAW,uBAMhB,OAAW,kBAMb,OAAW,aAMd,OAAW,4BgB5zHjC,yEAUC,aAYiC,MAZjC,0EA4MK,MAAe,QAAqB,IAAU,SAChD,iBAGA,WDnZqC,MAAM,GAA8B,+CCoZzE,kBACI,WAA8B,GAA9B,GAA8B,EAA9B,IAA8B,EAA9B,MAA8E,WAElF,iBAGc,MAAC,uCAAqC,QAvcA,MAAM,GACnE,GADyF,QAocjD,2CAAhB,EAAgB,IAAX,MAAW,aAC3B,KAA8B,GAAmC,qBAQnE,MAAe,QAAqB,IAAU,SAChD,oBAGA,kBACI,WAA8B,GAA9B,GAA8B,EAA9B,IAA8B,EAA9B,MAA8E,WAElF,oBAGA,QD1aqC,MAAM,GAA8B,gFC8arE,MAAC,uCAAqC,QA3dU,MAAM,GACnE,GADyF,QAodjD,2CAAhB,EAAgB,IAAX,MAAW,aAC3B,KAA8B,GAAmC,4BAqFzE,MAAgD,UAqBlC,gBAAT,MAAS,SACN,gBACA,EAAM,IAAoB,WAE1B,SAAW,GC1W4ygB,cAlO/zgB,EAAY,KAkOg1gB,MAjOx1gB,GAAS,MRa6C,IAotD9C,EAptD8C,KAE7D,GAktDe,WOppCA,SPopCA,WO/oCR,IlBrN6zQ,QA/O5wQ,KmBmFg+gB,cA/ErhhB,EAAuB,EACb,IAAQ,EAjBlB,EAiBkB,SAAlB,EAAU,KAAL,MAAK,UACN,MAlBJ,EAkBqB,MAAW,GAC5B,EAA+B,GAnBnC,EAmBc,MAAU,IC7FxB,EAAuB,EACb,IAAQ,EAwF+uB,EAxF/uB,SAAlB,EAAU,KAAL,MAAK,kBAwFuvB,EAtFlvB,MAAO,GADlB,QACW,EADX,QF0hBa,QAAT,EA3kB6C,MA2kB7C,OAA2C,cAAoC,KAAvB,MAAb,EAAa,KAAb,EAAmB,EA3kBjB,IA2kB7C,IEvhBI,IAAoB,IAoFiuB,EAnFrvB,MAAO,GAAoB,GAE/B,eAPR,EAAU,GAUA,QAAuB,EA8EguB,EA9EhuB,SAAjC,EAAU,KAAL,MAAK,UA8EuvB,EA7E7vB,MAAO,GAAK,WADhB,EAAU,MA8EuvB,EA3EjwB,MAAO,EDiFC,EAAI,MAAO,MACP,IAAoB,EAApB,CAGA,MAzBZ,EAyBsC,MAAW,GAzBjD,EA0BY,MAAW,GAAoB,EA1B3C,EA2BY,MAAW,GAAK,EAEpB,eAZR,EAAU,GAgBA,QAAuB,EAjCjC,EAiCiC,SAAjC,EAAU,KAAL,MAAK,UAjCV,EAkCI,MAlCJ,EAkCW,MAAW,IAAM,WAD5B,EAAU,GAjCV,EAoCA,MAAO,EDgbH,MACA,QAA+B,UAE/B,cAAa,MAAb,YCxX00hB,UA/E90hB,EAAuB,EACb,IAAQ,EAjBlB,EAiBkB,SAAlB,EAAU,KAAL,MAAK,UACN,MAlBJ,EAkBqB,MAAW,GAC5B,EAA+B,GAnBnC,EAmBc,MAAU,IC7FxB,EAAuB,EACb,IAAQ,EAwF+uB,EAxF/uB,SAAlB,EAAU,KAAL,MAAK,gBAwFuvB,EAtFlvB,MAAO,GADlB,QACW,EADX,KF+hBA,EAC0C,EAjlBO,KEoDzC,IAAoB,IAoFiuB,EAnFrvB,MAAO,GAAoB,GAE/B,eAPR,EAAU,GAUA,QAAuB,EA8EguB,EA9EhuB,SAAjC,EAAU,KAAL,MAAK,UA8EuvB,EA7E7vB,MAAO,GAAK,WADhB,EAAU,MA8EuvB,EA3EjwB,MAAO,EDiFC,EAAI,MAAO,MACP,IAAoB,EAApB,CAGA,MAzBZ,EAyBsC,MAAW,GAzBjD,EA0BY,MAAW,GAAoB,EA1B3C,EA2BY,MAAW,GAAK,EAEpB,eAZR,EAAU,GAgBA,QAAuB,EAjCjC,EAiCiC,SAAjC,EAAU,KAAL,MAAK,UAjCV,EAkCI,MAlCJ,EAkCW,MAAW,IAAM,WAD5B,EAAU,GAjCV,EAoCA,MAAO,EdlG8lsB,MA9CzmsB,sBc2MmhiB,cA/E/giB,EAAuB,EACb,IAAQ,EAjBlB,EAiBkB,SAAlB,EAAU,KAAL,MAAK,UACN,MAlBJ,EAkBqB,MAAW,GAC5B,EAA+B,GAnBnC,EAmBc,MAAU,IC7FxB,EAAuB,EACb,IAAQ,EAwF+uB,EAxF/uB,SAAlB,EAAU,KAAL,MAAK,gBAwFuvB,EAtFlvB,MAAO,GADlB,QACW,EADX,KFuiB2D,QAAjB,IAxlBO,KEoDzC,IAAoB,IAoFiuB,EAnFrvB,MAAO,GAAoB,GAE/B,eAPR,EAAU,GAUA,QAAuB,EA8EguB,EA9EhuB,SAAjC,EAAU,KAAL,MAAK,UA8EuvB,EA7E7vB,MAAO,GAAK,WADhB,EAAU,MA8EuvB,EA3EjwB,MAAO,EDiFC,EAAI,MAAO,MACP,IAAoB,EAApB,CAGA,MAzBZ,EAyBsC,MAAW,GAzBjD,EA0BY,MAAW,GAAoB,EA1B3C,EA2BY,MAAW,GAAK,EAEpB,eAZR,EAAU,GAgBA,QAAuB,EAjCjC,EAiCiC,SAAjC,EAAU,KAAL,MAAK,UAjCV,EAkCI,MAlCJ,EAkCW,MAAW,IAAM,WAD5B,EAAU,GAjCV,EAoCA,MAAO,MD4bP,IA0aJ,EA1aI,QA0aO,IACJ,EAAK,MACM,EAAK,IA5a4C,OA6a3D,EAAK,sBC9yBk+jB,cAlO3+jB,EAAY,KAkO2/jB,MAjOngkB,GAAS,MRa6C,IAotD9C,EAptD8C,KAE7D,GAktDe,YAAX,MAAW,MO/sBmplB,EAtZjplB,IAAoB,GAA1B,cAEA,QAAsB,IAAI,EAoZ6nlB,qBAxW/plB,MAAc,OAAwB,gBAE9B,EAAQ,IAAW,eNxtB/B,MAAkB,SAOyp4B,4BAAyC,QAAQ,MJ6wB/q4B,IHpqB65E,EGoqB75E,QHpqB65E,UGsqB/7E,MACd,QFpyBiB,MAqMktrB,EArMltrB,WAAd,GAAc,KAAT,MAAS,UAqMktrB,EApMjtrB,EAAI,EYAf,CA4uBuB,EAnrByD,EAmrBzC,SZ7uB3C,GAAc,GEwyBA,EAAQ,kBA/wB+C,EA6GlD,MIlH8h5B,QAAQ,MALrj5B,qBAEM,SAAW,OMuuBb,EAAQ,MACR,EAAQ,MAEJ,WN9uBZ,MAAkB,SAO685B,yBAA0C,SAAuB,EOsQ7xQ,cA/E/vpB,EAAuB,EACb,IAAQ,EAjBlB,EAiBkB,SAAlB,EAAU,KAAL,MAAK,UACN,MAlBJ,EAkBqB,MAAW,GAC5B,EAA+B,GAnBnC,EAmBc,MAAU,IC7FxB,EAAuB,EACb,IAAQ,EAwF+uB,EAxF/uB,SAAlB,EAAU,KAAL,MAAK,gBAwFuvB,EAtFlvB,MAAO,GADlB,QACW,EADX,KFjDiD,EA4rBI,QExoB7C,IAAoB,IAoFiuB,EAnFrvB,MAAO,GAAoB,GAE/B,eAPR,EAAU,GAUA,QAAuB,EA8EguB,EA9EhuB,SAAjC,EAAU,KAAL,MAAK,UA8EuvB,EA7E7vB,MAAO,GAAK,WADhB,EAAU,MA8EuvB,EA3EjwB,MAAO,EDiFC,EAAI,MAAO,MACP,IAAoB,EAApB,CAGA,MAzBZ,EAyBsC,MAAW,GAzBjD,EA0BY,MAAW,GAAoB,EA1B3C,EA2BY,MAAW,GAAK,EAEpB,eAZR,EAAU,GAgBA,QAAuB,EAjCjC,EAiCiC,SAAjC,EAAU,KAAL,MAAK,UAjCV,EAkCI,MAlCJ,EAkCW,MAAW,IAAM,WAD5B,EAAU,GAjCV,EAoCA,MAAO,EP3Mwn6B,MAL/n6B,qBAEM,SAAW,aMovBT,EAAK,MAAY,KACjB,EAAQ,4BGrwBglhC,cHu1B7khC,UAAf,EAAqC,MAAtB,EAAsB,KAM7B,QAAU,IAAoB,QAA2B,GANlD,EAQJ,QAEK,MAAZ,EAAY,IACR,SAAe,QAAS,IAAwB,EAAO,GAEvD,YAKY,MAAZ,EACA,YAAc,EAAS,8BA8M5B,EAAP,QACA,YAAK,GAAM,MAAX,KAAW,IAAI,cb77BqipC,Sa9Ez+oC,EA6gC/B,IAAI,Gb1/BpD,EAAO,Ea0/BH,MAAK,EAA6B,IA/MR,CAAd,QAAuB,EAAO,UAO1B,OGp3B4B,EHg3BxC,GAKgB,GA9BL,EA8BuB,EAAO,EAAQ,IAErD,QAAO,IAAW,GACP,0CAmBX,MAAoB,QAEpB,OADA,QAAqB,aACd,iBAwCP,mBlB13B2D,EAAX,KkB43BtB,mBlB53BiC,EAAX,KkB63BvB,mBlB73BkC,EAAX,KkB83BtB,kCC/pB+5e,cAlOz7e,EAAY,KAkOy8e,MAjOj9e,GAAS,MRa6C,IAotD9C,EAptD8C,KAE7D,GAktDe,YAAX,MAAW,UO1qCC,QAAsB,IAAO,EA2dqnlB,OA1d7olB,IAAoB,GAA1B,gBA0dmplB,EAxdzolB,QAAkB,EACxB,QAA+B,EAudgnlB,QArdrolB,6BbzfslqB,Oa2fxlqB,KAzkBmD,IbmBxE,SaojBuB,EAAV,EAII,EAid2olB,wBArxBnqlB,aAKA,aAWmC,kBAAsB,MAGtC,gBASM,gBAKA,kBAME,kBAakB,gBAKjB,wBlBpTmC,EAAX,KkBsU9B,mBlBtUyC,EAAX,KkBgV1B,aASU,kBASR,wBAQQ,cAEiB,gBAER,mBb5S63a,SAAoC,WAAqC,WAAgC,WAAoC,WAAkC,WAAmC,WAAuC,Ma2T3pb,WAAO,IAzYgE,GbmB/E,EAAO,EaqXD,aAO6C,mBAW7B,sCAKC,sJAWmB,iGAuFhB,sDAvFe,sHAuFhB,8DAzQa,0BIjTlC,kBAAoD,MAApD,4CCsC8B,kBAAgB,kBA4BlD,aAAqB,kBAgDrB,aAA8B,iBRhF1B,sDAA4B,OAEI,+FS8NpC,aAEoB,cAAe,GACX,+BAhNxB,aAEiD,yCALT,kCC9ChC,kBAAkB,EAAM,UAAa,MAAO,MAAP,EAAO,QAAP,aAAqB,EAArB,EAAsB,0BANnE,aACA,sGCiPW,wBChPe,8BC6Kd,QADA,EA1JkB,GA2JV,SAEwB,GAAxB,yBAWR,QADA,EAxKgB,GAyKR,SAEsB,GAAtB,uBA9JK,aAEW,aAOd,gBA0E0B,gBAqDrB,aAC0B,gBACuB,qPCk4B7D,CACH,MAAU,QAAoB,KAC9B,EAAU,EAAI,EAAI,MACd,IAAQ,GAAO,QAAoB,GAAc,EAAK,GAAM,mCAK7D,CACH,MAAU,QAAoB,KAC9B,EAAU,EAAI,GAAO,MACjB,IAAQ,GAAO,QAAoB,GAAc,EAAK,GAAM,0BAhqBpE,EAAS,KR1Y2hgB,YfoMl0O,UArM5tR,mBAAd,GAAc,KAAT,MAAS,UACV,MAAW,IAAI,GU4Q6jN,EA1P3kN,EAnBqG,SVA1G,GAAc,GwBXuzhB,QAAgC,KAAzwhB,0DDmb5E,QAAoB,SjB3ZpC,MAAkB,SAOsshB,4BAAqL,QAAoB,IAAU,GAA+G,WALthiB,qBAEM,SAAW,OAJrB,MAAkB,SAOimiB,4BSnBk4B,QSZktB,MxBgN/8P,cArM1uV,mBAAd,GAAc,KAAT,MAAS,UACV,MAAW,IAAI,GU4QokR,EA1PllR,EAnBqG,SVA1G,GAAc,GwBXy0lB,QAAyB,KAApxlB,KDyc5E,MAAqB,OACrB,EAAsB,e7BToyC,EA/OjxC,MA+O6yC,EA/O7yC,UMvM3C,UAqM+tW,EArM/tW,WAAd,GAAc,KAAT,MAAS,UACV,MAoMyuW,EApM9tW,EAAI,GuBkcS,EAAgB,IArcD,GAscf,WAtce,EAsce,GAAiB,MAA/C,IxBvU4+d,EA1Fh/d,EA0Fu5d,GA9C/6d,YC/EA,GAAc,WuBycU,EAAY,QAOZ,EAAe,OR/ci4mB,YSZ0tB,UAAl2mB,mBAAd,GAAc,MAAT,MAAS,UAAmB,MAAW,IAAI,ID+dpxB,EAAV,GAtdO,MAudD,IAAc,IbxMyqU,EA1P5tU,EAnBqG,ScXwqB,GAAc,YDwexwB,EAAY,QACZ,S7BxCs3F,EA/Or1F,MgBsEygV,WAAoB,EAAU,GAlP3lV,GAkP8iV,EAlPviV,GascgB,a7B3C8nG,EA/OjmG,I6B+R7B,CACR,qCb5cf,GAkP26V,EAAc,GV7Qh7V,UAqM4pa,EArM5pa,WAAd,GAAc,KAAT,MAAS,UAqM4pa,EApM3pa,EAAI,GuB4eqB,YvB7exC,GAAc,WuBgfU,EAAQ,U7B1D6mH,EA/OplH,QgB5KpD,GAkP00W,EAAc,OL6gD70W,MA9jCM,EA8jCN,iBkBlyCwB,cAGhB,EAAY,S7BrEohI,EA/O//H,YWmlDzC,MArjCW,EAqjCX,iBkBxxCwB,cAGhB,EAAW,2BRpgBqmnC,QZqvBr21B,QAplBvuR,MoB+sB7C,SARsB,CACzB,MAAiD,GAAhC,QAAyB,MAC1C,QAAyB,KvB5zBrC,MAAa,GAsJig5B,EAtJp/4B,KA/CZ,MAqMgg5B,EArMhg5B,WAAd,GAAc,KAAT,MAAS,UACV,MAoM0g5B,EApM//4B,EAAI,GUsDoC,EaszBvC,GA/2B2B,EA+2BrB,WA/2BqB,IbyDE,EApCxC,EAAI,SVnBT,GAAc,GuB42BF,MvBzzBL,EuB4zBK,QAAgC,OAChC,EARR,MACI,EvBz2BM,MAqM2u5B,EArM3u5B,WAAd,GAAc,KAAT,MAAS,UACV,MAoMqv5B,EApM1u5B,EAAI,GuBk3Ba,EAr3BW,EAq3BX,KAAW,EAr3BA,EAq3BA,KACtB,MAAT,GACA,EAAU,MAAY,IAA4B,SvBr3B9D,GAAc,IuBygBE,IRxgB+lrB,QTc3mrB,EiB6fgB,sBjB3fV,SAAW,IiBkaT,oDRlb825B,QQqrBt25B,QAAO,KAAP,aACA,Eb1a05mB,MA1Pz6mB,EA0Pk8mB,Ka2an7mB,SACG,KAJX,QACI,SAID,MALH,IEpqBA,KA2CS,EAAb,SCoEqmwB,EApH7mwB,GAAkB,GAAe,kGH2rBN,0HAtenB,QAAO,KAAP,aACA,QAAkB,KAClB,QAAsB,KACtB,QAAyB,KACzB,QAA0B,KAC1B,QAAgC,KAChC,cAEA,OAFkB,MAAlB,KAAkB,gBAClB,QAAmB,KACZ,WAIM,MAAb,SACI,QAAsB,KACtB,QAAyB,OACrB,QAAoB,8B7B8BvC,QAvE4D,MAwEN,QAxEM,OAwEgD,QAxEhD,OA0EpB,QA1EoB,K6B+C7C,QAAoC,GACpC,QAAoB,gBAX5B,aAeA,WAAe,GACJ,oBxB/H28N,UwBiI98N,QAAmB,OxB5LxB,SwB8LI,KAJP,iCR3PmiW,QQsQhgW,sBI6IQ,IAoxB/B,EApxBqB,QAAU,KAoxB/B,oBJh6BoB,KIg6BV,CAAoB,GAAO,UACrD,GAAO,IJj6BoB,UADf,EACkC,wBAiBhC,gC7BoEiC,QAtJU,I6BwI3B,CvB1IqtM,cArMruM,mBAAd,GAAc,KAAT,MAAS,UACV,MAAW,IAAI,GAoM+xM,UArMpyM,mBAAd,GAAc,KAAT,MAAS,UACC,IAAI,GuBiVS,IApVe,SvBE3C,GAAc,SAAd,GAAc,MuBqVN,QAAsB,KACK,MAAvB,MZxOiC,MAAM,GAA8B,mEI7Gyod,YQ+Wltd,aAAY,MAAZ,ExBnPs9V,MAAlB,KwBoPh8V,QAAO,KAAP,YZnQiC,MAAM,GAA8B,2BYoQxD,MAAb,QZpQiC,MAAM,GAA8B,8BYqQzE,QAAY,EACZ,qBAmSH,ORtpB092B,UrBqb1niB,QA/O5yU,KA+Ok2U,QA/Ol2U,M6B+c7C,QAAoB,iCAqB5B,c/BxlBI,4BA9BI,MAAM,GAA8B,GA+B5C,iJAEH,OAHO,E+BwlBoC,CK7qB8C,eL8qBtF,GAAY,WAAqB,oEAAjC,yBAqJI,EAAY,OAAe,EAAY,MAAY,OAAO,kBA4E9D,MAAwB,SACpB,GA3EA,EAAU,GA2EmB,GA3E7B,EAAU,EAAa,iBMzuB3B,MAyxBE,EAzxBa,WN0uB6B,KAAhB,MAAhB,EAAgB,KAAhB,EAAgB,QAGhB,EAAY,OAAe,qBAyUyha,MAxUhja,EAwUgja,YAAX,MAAW,MAxUvha,EAAY,IAwUwha,kBMpjCzka,EN+uBI,EAAY,sBMwClB,EArxBE,IAAe,INmzBf,EAAgB,kBAEhB,GAhFA,EAgFc,IAjFlB,OACI,EAUF,EAAiB,4BvB3vBvB,EAAkB,GAmHk82B,EAnHz62B,KAlF7B,MAqMs82B,EArMt82B,WAAd,GAAc,KAAT,MAAS,UACV,QAoMg92B,EApMr82B,EAAI,GAmFf,EuBtFuC,EAs1BC,MpB9gB5C,EA7O2D,EA6O/C,GA3OL,MA4Oa,MAAT,EAAS,KAChB,EHnPuC,KGIgB,EAgPvD,GA9OG,EA8OM,KACT,SAEA,EALJ,EHjPS,EApFE,SAFX,GAAc,OuBo1BV,MvB5vBG,EuB6vByB,EpB/F+9P,EAha36P,IAAQ,IoB+f5D,oBAAtB,EpB/Fq/P,EA7e/7P,KoB4kBzC,EpB/Fw+P,EAhe/7P,KoBgkBxD,IAAc,EAAY,UAuD9B,MAAwB,SACpB,GAvDA,EAAU,GAuDmB,GAvD7B,EAAU,EAAa,WM7vB3B,MAyxBE,EAzxBa,UdzFosmC,Yf8CvtmC,EAAa,GAsJ443B,EAtJ/33B,KA/CZ,MAqM243B,EArM343B,WAAd,GAAc,KAAT,MAAS,UACV,MAoMq53B,EApM143B,EAAI,GUsDoC,EasyBnC,GA/1BuB,EAg2BM,GAAzB,QAh2BmB,EAg2BqC,QbvyBnC,EApCxC,EAAI,SVnBT,GAAc,G6B80B8B,M7B3xBrC,E6BiyBR,EAAY,IAAqB,GAxvBxB,qBAuxBF,EArxBE,IAAe,oBNqzBf,GA5DA,EA4Dc,KA/ClB,OAAkB,GAAX,EAAM,uBAuBb,SAAO,qBAAW,EAAY,IAAa,kCAO3C,SAAO,yBACH,EAAY,IAAc,GACV,MAAhB,KAAgB,IAAI,yCAqBF,EAAS,gBACvB,GZ5yBiC,MAAM,GAA8B,GACyklC,wJYmzBlplC,EAAS,qBAkBmE,O7B9fqiqB,QA/OhkqB,K6B6uBJ,QAAoB,2BAiGnC,cOrmBkC,sEP0XhE,EAAS,KRzyBi0iC,gBSZ0sB,EAAe,QAAgC,IAAkC,EAAS,MAAiC,MAAY,EAAS,IAA+B,KAAM,MAAe,KAAuC,EAAS,EAAI,GAA+B,EAAS,MAAhukC,uCDqHpF,MAAmB,GAAuB,kCAAkC,GAE5E,EAA2D,KAEvD,GR7G2rJ,QQ6G3qJ,SACC,MAAb,GACA,iBAIK,QAG0B,MAApB,UACP,EAAuB,SAFvB,EAAU,GAAO,GAIrB,QAAmB,KACnB,EAAU,oCR1HqgL,kBSZstB,EAAa,WAAW,MAAX,IAAW,MD2I3uM,SADA,MADN,gBACe,GAAT,KADN,KxBD88D,GAA5L,EwBE5wD,GxBhDlC,QA8C8yD,GyBxIu8I,UAAuR,iBAAh7M,WDsI/C,SAW7B,QAAa,EACb,uBAGR,iBAAsB,MAAtB,IEzHI,KA2CS,EAAb,SCoE00C,EApHl1C,GAAkB,GAAe,mSH6oBjB,kDA/kBpB,KAII,cAMkB,uBAGgB,qBAAoB,gBRtF4rH,YhByHhvH,WwBhCc,QAAO,KAAP,YAAoC,MAAM,GACzC,6DACD,SAJZ,QxBtBG,SwB6BA,MAPH,IEvEQ,KA2CS,EAAb,SCwCiE,EAxFzE,GAAkB,GAAe,oB3BiH8b,KAAI,YwB/Fhd,EAyEf,GAAmB,UxBpDvB,EAAO,EwBmDkD,aA4CrD,gBAAyB,YAAzB,GAA+C,YAqD3B,gBAGM,gBACO,sB7BhJ0B,EAAX,K6BiJpB,mB7BjJ+B,EAAX,K6BkJhB,mB7BlJ2B,EAAX,K6BmJb,mB7BnJwB,EAAX,K6BoJZ,mB7BpJuB,EAAX,K6BqJN,mBpBvKyB,EAAf,KoByKpD,mBpBzKmE,EAAf,KoB2KpD,aAC2D,gBACf,aAChB,cAGX,oBA6GQ,0EAm0B7B,aAAI,MAAM,MAAV,IAAU,cxB7gCm60C,KAArC,GwB6gCx40C,EAEiB,KACL,KAAO,KxB3kCZ,EwB6kCN,gCAtE6B,WACP,oDrBgyBf,MAAmB,EAAW,IAAU,GACxC,EAAsB,EAAY,EAAlC,EACA,EAAkC,GAAX,EAAqB,GAC5C,EAAgC,GAAX,EAAqB,GAC1C,EAAkB,EAAiB,EAAnC,EACA,gBA0W4D,OAAhE,GAAS,GAAY,GAAP,QAAuB,KAAoB,IA1W3B,CAAX,EAAiC,GAGvC,GAAT,EAAsB,GACb,GAAT,EAAqB,EAAa,EAAS,OAIvC,EAAW,MAAgB,GAChB,GAAX,EAA0B,GAE1B,EAAW,MAAgB,GAChB,GAAX,EAAyB,EAAgB,GAI7C,MAAa,EAAS,MACtB,EAAmB,EAAS,M6BnMmC,EAAX,EAAW,MAK/C,OA6a252B,GA7a512B,OA6a412B,GA3a752B,OA2a652B,GAjtCn72B,GC/4B0zjC,EAAyykC,ED+4BphoE,EAAmB,EAAY,G7By+BtG,MAAY,EAAS,MACrB,EAAkB,EAAS,M6B9LtB,EAAX,EAAW,MAp3Bb,GAAU,EAo3BiD,EAA2C,EAEjF,EACc,G7BqM3B,MAAa,EAAS,MACf,GAAP,EAA0B,EAAc,GACxC,MAAkB,EAAe,EAAjC,EACA,EAAc,EAAe,EAA7B,EACA,EAAqB,EAAsC,GAAP,EAAZ,EAA6B,GAArE,EACA,EAAoB,EAAS,MAC7B,EAAkB,EAAS,MAC3B,EAAoB,EAAM,OACL,OAArB,EAAwC,KAAnC,MAAgB,UAEb,IAAgB,GAET,GAAP,EAA0B,EADE,GAAP,EAAoB,GACgB,EAAlD,GAkBJ,GAAP,EAAwB,EAXpB,GADqB,EAFd,GAAP,EADoB,EACH,GAAgB,EAAjC,EAOQ,EAAgB,EAAc,EALjB,EAKwB,MACzC,EACA,IAQJ,IAAgB,IAAe,eAzBvC,EAAwC,GA2BxC,QAAyB,EAGzB,QAAsC,GAAnB,EAAW,MAAmB,EAAW,EAAW,KACvE,EAAoC,GAAnB,EAAW,MAAmB,EAAiB,EAAW,QACzD,EAAe,GAC7B,MAAoB,EAAW,MAC/B,EAAc,GAAkB,EAAa,EAA/B,GAGd,EAAkB,EAAe,EAAjC,EACoB,OAApB,EAAuC,KAAlC,MAAe,UAChB,MAAmB,IAAc,GACjC,oBAAyB,EAAzB,EACA,EAAQ,EAAI,SAHhB,EAAuC,GAOvC,MAAsC,GAAjB,EAAS,MAC1B,EAAS,MACT,EAAS,KAEb,EAAS,MAAQ,GAAO,EAAgB,GAGxC,EAAc,GAAQ,EAAc,GAAY,OAEhD,SACG,KAvBP,UAyBA,EAAkB,EAAW,IAAO,MACX,GAIrB,MAAuB,GAAe,EAClC,IAGA,EAAW,MACX,EAAW,IAAU,EAAc,EAAW,MAAnC,GACX,EAAW,OAEf,EAAW,IAAU,EAAY,EAAW,MAAjC,GACX,MAAqB,EAAW,MAC5B,IACA,EAAW,MACX,EAAW,MACX,EAAW,MACX,EAAW,SAEf,OAGA,MAAgC,GAAX,EAAwB,EAAW,GAC7C,GAAX,EAAuB,EAAkB,EAAa,EAAY,EAAvD,KACX,GAzBJ,GNupEJ,GAA4B,GM1nES,iCAGjC,QAcA,OAdA,iBAAiC,GAAP,EAAc,GAAe,EAAc,GAAP,EAC1D,IADJ,EAKI,IACA,QAAwB,EAAe,EAAvC,EACA,QAAuB,EAAc,EAArC,GAIA,GACS,GAAT,EAA4B,GAEzB,yBAngBX,MAAgB,QAAc,EAC9B,QAAe,IAAK,iBAEpB,KAAsB,GAClB,KAAa,GACb,MAAc,QACd,EAAqB,KAAoB,GACzC,IAAmB,IAAuB,YAC1C,IAAc,GAAU,IAAiB,uCAuoDjD,MAAkB,EAtKW,WAsKe,EAC5C,EAAqB,EAtKU,UAsKsB,EACrD,EAAkB,EArKO,UAqKgB,EACzC,EAAiB,KA/LiB,GAgMlC,EAAK,EArMsB,EAqM3B,GAAgC,EAChC,EAAK,EArM4B,EAqMjC,GAAsC,EAAW,EAAc,EAC/D,EAAK,EArM+B,EAqMpC,GAAyC,EACzC,EAAK,EArMuB,EAqM5B,GAAiC,EACjC,EAAK,EArM6B,EAqMlC,GAAuC,GA9oDxB,CAAP,QACc,EACJ,EACG,EACI,EACH,EACK,QACF,SAEjB,QAAiB,QAEjB,QAA2B,EAAQ,EAAO,IACjC,EAAc,EAAO,GADR,IAEb,EAAQ,EAAO,GAFxB,KAGI,EAAkB,GAClB,KAAY,EAAiB,GAC7B,MAAY,QACZ,EAAkB,WACd,GAAc,gBAAN,EAAM,GAAiB,KAC/B,GAAoB,gBAAN,EAAM,GAAiB,KACrC,GAAc,gBAAN,EAAM,GAAiB,EACnC,QAAmB,EAEvB,QAAY,EACZ,MAAiB,EAAU,EAA3B,EACA,QAAc,EACd,QAAoB,IACpB,OAEA,MAAqB,QACrB,QAAW,IAAK,GAChB,MACA,MAAmB,QACnB,EAA0B,KAAoB,GAC1C,KAAgB,cACZ,EACA,MAAW,GAEX,MAAU,IAElB,QAAqB,GAAP,QAAO,EAAU,GAC/B,QAAwB,GAAP,QAAO,EACpB,KAAoB,EAAK,MAAe,EAAxC,IAEJ,QAAmB,GAAP,QAAiB,GAE7B,QAAc,EACd,QAAoB,EAAe,EAAnC,IACA,EAAsB,GAAP,QAAiB,GAAV,EAtD1B,qFA4tBA,iBAAyB,MAAzB,aHjmEok9E,EAA6D,OAAgC,KAA7F,EAAuH,MAAvH,GA9Cxk9E,0BGupEQ,GAAS,GACR,gCH1mEw19E,iCGmlG519E,WRrpG0D,EAAX,UQqpG/C,EAAuD,GAAvD,gBHnlG419E,sCG0mExy9E,QAntEgC,IH8ClF,SGqqEE,EACI,MAAI,uBAKb,QAuzBJ,EAvzBI,EAAmB,KAAoB,GACvC,oBAUA,MAAY,EAAQ,EAApB,EACA,EAAU,EAAQ,MAAU,GAA5B,EACO,EAAQ,OACA,GAAP,QAAuB,KAAoB,IAAS,OAAO,EAC/D,IAAS,MAAU,GAAnB,EAEJ,OAAO,EAhBgB,GAAsB,MACpB,GAAP,QAAoB,KAAiB,EACnD,GACA,UAAwC,EAmzBhD,EAAiB,GAnzBiB,EAiuBA,GAJD,EAsFjC,EAEI,EAAK,GADL,EAvD8B,SAwDX,EAAK,IAEkC,SAAvC,EAAK,GAtzBpB,MAAa,MAAO,GAChB,GAAU,GAAG,EAAI,IAAI,mBA+B7B,QAAS,KAAK,MAAW,QAAX,GAAyB,QAA9B,kBAOT,OAAmB,MAAW,QAAZ,GAA2B,QAAS,MAAtD,EAEA,OADA,QAAkB,EACX,2BAUP,MAAmB,KAAoB,EAAQ,SAC/C,EAAY,EACL,EAAQ,IACJ,GAAP,QAA0B,KAAoB,GAAQ,GACtD,MAAe,EAAe,GAAP,QAAiB,KAAoB,IAA5D,EACA,KAAoB,EAAO,EAAU,EAAQ,EAA7C,GACA,EAAQ,oBAQZ,MAAa,QACb,EAAe,WACX,IAAY,EAAZ,KR/3D02oE,QA/OzzoE,qBQ05ErD,MAAa,QACb,EAAW,MAAW,EAAtB,KACI,EAAmB,GAInB,MAAoB,GAAR,QAAmB,EAAkB,UAC1C,EAAQ,QAAQ,MACnB,MAAa,UAAQ,GACrB,EAAe,EAAO,WAClB,EAAW,GAMR,cALe,EAAO,EAAzB,GACkB,GAGX,QAFH,QAAkB,EAAO,EAAzB,EACA,cAOZ,MAAoB,GAAR,QAAmB,EAAa,UACrC,EAAQ,QAAQ,MACnB,MAAa,UAAQ,GACrB,EAAe,EAAO,WAClB,GAAY,GAGT,QAFH,YAAoB,EAAO,EAAT,GAClB,UAtUkB,GAAc,EAAU,GAC9C,EAAS,GACT,MAAa,QAIb,EAA2B,KAspBL,GArpBtB,EAA0B,KAqpBJ,GAppBtB,EAA4B,KAopBN,GAnpBlB,EAAQ,E6Bj6CxB,GC/4B85rF,EAAuD,EDgmEvxmF,EAAuB,EAAvB,EAAiF,EAAyD,GAjtCx0F,GC/4B4usF,EAAuD,EDgmEvxmF,EAA4D,EAAwB,EAAxB,EAAgF,EAAuB,EAAvB,G7BmOhpG,MAAuB,EAAQ,EAAU,EAAQ,EAAjD,EAA6D,EAC7D,EAAe,UACf,GAAa,EAAe,GACrB,EAAe,IAClB,MAAuB,GAAP,QAAoB,GAEpC,EAAgB,KADD,KAAoB,GACW,GAC1C,IAAa,GACN,GAAP,QAA0B,EAAc,IAE5C,WACoB,IAAO,IAAgB,EAAhB,IAGnC,QAAqB,qBAOrB,MAAa,QACb,EAAe,QACf,EAAoB,WAChB,IAAY,EAAZ,CACA,MAAY,QACR,EAAQ,E6BthDpB,GAyxCwjJ,EAAkD,EAA+C,EAAQ,EAAR,EAAiD,EAAsC,GAzxChvJ,GAyxCi3J,EAAkD,EAA+C,EAA2C,EAAW,EAAX,EAAkD,EAAQ,EAAR,G7BgRjiK,GAAN,EAAW,KAAM,EAAO,EAAQ,EAA1B,G+BvyC201D,QAAQ,EAAR,EAAW,Q/B2yCh21D,E+Bn4C4C,KAAW,IAAI,EAAG,M/Bo4C1D,IAAiB,EAAjB,CACA,MAAgB,QAAM,OAAO,EAA7B,KACI,EAAmB,MACnB,MAAoB,KAAoB,GACxC,EAAwB,KAAoB,GAC5C,EAAoB,QACb,EAAgB,IACnB,MAAoB,GAAP,QAAkB,GNnDvC,GAAU,GAmxDd,GAA4B,GM9tDX,wDAEE,GAAP,QAAwB,EAAjB,IAAuD,GAArB,EAAY,EAAZ,GAAF,KACvC,WACqB,IAAe,IAAiB,QAAjB,YAGxC,MAAoB,KAAoB,GACxC,EAAwB,KAAoB,GACrC,EAAgB,IACnB,MAAoB,GAAP,QAAkB,GN7CS,EAAS,GAiwD7D,GAA4B,GMltDX,wDAEE,GAAP,QAAwB,EAAoC,GAArB,EAAY,EAAZ,GAAhC,IACP,WACqB,UAAe,IAAiB,QAAjB,GAG5C,QAAqB,EAEzB,QAAqB,sBAQjB,EAAO,GACP,MAAmB,QACnB,KAAe,GACf,MAAe,QACf,EAAa,QACb,EAAkB,QAAO,OAmiBC,EAniB1B,EACA,EAAc,EAAc,EAA5B,KACI,EAAS,GAET,MAAa,Q+B31C6o6D,OAAc,GAAG,IAAU,EAAV,EAArB,EAjFln6D,KAAW,IAAI,EAAG,G/B+6CtD,E+B/6CoC,KAAW,IAAI,EAiF2ilF,I/Bk2C9llF,EAAgB,eAAS,KAwhBH,IAvhBtB,EAAgB,EAAc,EAA9B,EACA,EAAuB,EAAW,EAAlC,EACA,EAAuB,EAAW,EAAlC,E6B9UirQ,OAAsvmB,GAjtCn72B,GC/4B412F,EAAmD,EDgmExxmF,EAAoC,EAjtC7iQ,GAitCovQ,WAAilmB,GAA1gmB,OAA0gmB,GAAr8lB,OAAq8lB,GAjtCn72B,GC/4Buk3F,EAAmD,ED+4B3i3F,EAAmB,EAAY,G7BgjDlG,QAAc,EACd,EAAS,EAIb,MAAiB,QACb,GAAc,IAAU,QAAuB,EAAa,EAApC,GAG5B,QAAqB,EAAW,EAAhC,EACA,QAAmB,EAAS,EAA5B,EAGA,IAGA,EAAa,KAHG,EAAU,EAAG,KAAU,EAAe,EAAzB,GAAoC,EAKzD,QAAgB,EAAU,EAAO,QACrC,QACA,QAAM,QAEW,IAAe,IAAW,EAAX,KAApC,EAAqB,KAAhB,MAAgB,UACV,GAAP,QAAwB,EAAc,SAD1C,EAAqB,GAGrB,MAAoB,QAChB,GAAiB,IACjB,QAAqB,EAAgB,EAArC,0BAWJ,EAAO,GACP,KAAc,QAAa,GAC3B,MAAe,QACf,EAAa,WACT,EAAS,OACT,MAAY,QAGZ,EAAkB,EAAM,OACxB,EAAc,EAAc,EAA5B,E+Br6C0ogE,OAAc,GAAG,IAAU,EAAV,EAArB,EAjFlmgE,KAAW,IAAI,EAAG,G/By/CtD,E+Bz/CoC,KAAW,IAAI,EAiF6plF,I/B46ClslF,IAAY,IAAZ,EgCvgFqC,GAAiB,MA6Doj5F,GA7Dni5F,MhCugFvE,MAA2B,KAA3B,KAA2B,KAA3B,QAAd,MAAc,EACd,EAAgB,EAAc,EAA9B,EACA,EAAuB,EAAW,EAAlC,EACA,EAAuB,EAAW,EAAlC,E6BjrDZ,GAyxCu/V,EAAkD,EAAiD,EAAoC,EAAkC,GAzxChqW,GAyxC2sW,EAAkD,EAAiD,EAAmD,EAAiD,G7Byat4W,QAAa,EACb,EAAS,EAEb,MAAqB,QACjB,GAAkB,IAAU,QAAsB,EAAiB,EAAvC,GAChC,QAAqB,EAAW,EAAhC,EACA,QAAmB,EAAS,EAA5B,+BAQO,EAAM,GACb,OAAqB,EACrB,EAAc,QAGd,KAAe,IRrnE8h9E,EA/O5/8E,MQq2EvB,kBA0F9B,MAAa,QACb,EAAgB,EAAW,EAA3B,EACA,EAAiB,MAAW,EAA5B,EH3gFw++F,KAAR,QAAmB,EAAW,EAAtB,EAA4B,GG4gFpg/F,EAhnFiE,GAinFnD,QAAQ,IAjnF2C,EAinFhC,EAA7B,EAjnF6D,EAmnFjE,EAAsB,EACtB,EAAwB,EAAQ,EAAhC,SACO,GAAS,IACZ,MAAa,UAAQ,GACrB,EAAe,MAAY,QACvB,GAAY,GAOT,QANC,EAAW,IACX,QAAsB,SACtB,EAAoB,EACG,IAAnB,IAAsB,EAAkB,EAAQ,EAA1B,IAE9B,QH1hFsmgG,QAAoB,EG6hFlogG,OAtoFqF,GAuoFzE,QAAQ,GAAQ,EAAmB,GAAiB,KHzlF7D,EG0+E4C,GAAc,EAAO,IAChE,QAAgB,EAChB,IACA,EADqB,QACY,EAAjC,EACA,QAAc,EAGd,MAAoB,WAChB,EAAgB,WAEhB,E+B99CmqkE,IAAgB,EAAhB,EAjF3mkE,EAApB,KAAW,IAiF6mkE,EAjFtmkE,G/B+iDtD,QAAqB,KAErB,SAAmB,SAAe,wBAAmB,EAAnB,iBAlWmB,OAA7D,GAAS,GAAY,GAAP,QAAoB,KAAoB,KAqW9C,GAAkB,UAClB,KAAmB,WAEvB,UACG,EAzBP,iCAgCI,EAAM,GACN,MAAa,QAEb,KADgB,EAAQ,EAAxB,EACyB,GACzB,QAAgB,EAChB,QAAc,EAAS,EAAvB,EACM,GAAN,QAAW,KAAM,EAAO,EAAQ,EAA1B,GACN,MAAqB,QACjB,GAAkB,IAAO,QAAsB,EAAiB,EAAvC,uBAQjC,MAAc,KAAoB,GNvBvC,EAAU,QAAO,QAAe,GAAP,QAC1B,IA2iDM,GAA4B,GMnhDvB,mCAAiC,EAAK,+CAE3C,QAAM,KAA8B,GAAP,QAAO,EAAU,KAAa,iBAmOH,OAA/B,QAAO,OAqJF,EArJ0B,mBAGC,OAArD,EAAQ,QAAe,EAAW,EAAQ,QAAW,mBAGY,OAAjE,EAAY,QAAe,EAAe,EAAY,QAAW,qBAGR,OAA7D,KAAoB,KAAa,KAAoB,sBAEuB,OAArC,GAAP,QAAO,EAAU,KAAoB,uBAIG,OADpE,GAAW,MAAU,QAAM,OAAO,QACkC,EAAnE,KAAsB,KAAW,GAAU,QAAa,QAAM,2BAIK,OADpE,GAAW,MAAU,QAAM,OAAO,QACkC,EAAnE,KAAsB,KAAW,GAAU,QAAa,QAAM,6BAGnE,KACI,EACA,KAAsB,EAAW,QAAe,QAAa,QAAM,4BAIV,OAAlB,OAAU,sBAEoB,OAAzE,OAAU,GAAW,iBAmK2B,OAApD,EAAK,KA5C6B,GAJD,EAgDjC,GAnKsC,GAAU,IAAc,IAAe,yBAcN,OAA/D,EAAQ,EAAuD,IAAb,IAA7B,EAAW,EAAZ,GAAsB,EAAtB,GAAF,GAAwC,uBAGF,OAAxD,EAAS,EAAkC,IAA9B,EAAW,EAAZ,GAAsB,EAAtB,GAA4C,EAAN,qBAGc,OAAhE,EAAQ,EAAU,EAA8C,KAAjC,MAAO,EAAP,KAyFL,EAzFG,oBAGyC,OAAtE,GAsF0B,EAtFC,GAAW,MAAO,EAAP,KAsFZ,EAtF4C,+CAppCxD,4BAvsB1B,KAII,aAQqC,WAAN,WAAM,MAQE,WAAN,WAAM,MAKQ,WAAN,WAAM,MAKR,WAAN,WAAM,MAKR,uBAAO,OAw5DJ,EAx5DH,GAAkC,WAAM,MAAxC,EAKK,WAAN,WAAM,MAKV,aAKG,aAKU,WAAN,WAAM,MAKR,sBAAM,OAAO,WAAM,MAAnB,EAKG,WAAN,WAAM,MAKR,aAOF,aAQC,kBAQF,kBAKM,kBAKV,aA8FD,cAiBL,cA8+BuC,8BApqEvC,0BAAS,GAML,qBASL,MgCzEmD,GAAiB,MhCyExD,GgCzEyE,MhCyErF,EAAY,GAAZ,CAAiB,KAAjB,KAAiB,KAAjB,qBAMI,aAOM,aAKA,cAOC,mBR5BoC,EAAX,KQiCN,4BA6db,8BAg8E6C,QAAD,IAzB5C,WAyB7B,EAAK,KA/C6B,GAJD,EAmDjC,sBA6EuE,OA9FxC,SA8F/B,EAAK,KA5H6B,GAJD,EAgIjC,oBANsE,OAAjC,EAAK,KAtHR,qBAmD0C,QAAD,IA5B5C,UA4B/B,EAAK,KAnD6B,GAJD,EAuDjC,0BHx4Fuh7G,OAAl0E,GG64Fxt2G,OAFG,EA/+FqE,EAw7FnC,EAuDlC,GACI,GAAa,EAh/FoD,EAq7FpC,EA2DhB,IAAmC,IADpD,mBA+F0F,OAA/C,EAAK,KArJd,GAFN,EAuJe,oBA1F2B,QAAD,IAlC5C,UAkCzB,EAAK,KA3D6B,GAJD,EA+DjC,6BS95FuikH,GAAS,GA1G5ikH,MAAM,GAAiC,GAfzB,wBTonGlB,EAAK,KAxJ6B,GAFN,EA0J5B,GAAkD,0BS3/FiliH,GAAS,GAAK,EAA52G,UA1Gjy7G,MAAM,GAAiC,GAfzB,wBT6lGlB,EAAK,KAjI6B,GAJD,EAqIjC,IAC6E,SAAxE,EAAK,KAlIwB,GAJD,EAsI5B,GAAkF,iBA4HhE,gCAhHvB,EAAK,KA9I6B,GAHE,EAiJpC,GAA0D,mBAHH,OAAvD,EAAK,KA3I6B,GAHE,EA8IpC,sBAiCA,EAAK,KA5K6B,GADA,EA6KlC,GAAwD,yBHjgG6jnH,OAAO,EAAO,GG2kGhknH,OA/qGE,GA+qGxB,EA/qGwB,EA+qGlC,IA/qGkC,EA+qGN,EAAP,oBA7EH,OAArD,EAAK,KAzK6B,GADA,EA0KlC,oBAtGuE,QAAD,IAxC5C,UAwC1B,EAAK,KAnE6B,GAJD,EAuEjC,sBAY+E,QAAD,IAnD5C,SAmDlC,EAAK,KA/E6B,GAJD,EAmFjC,sBAayC,QAAD,IAAnC,UADL,EAAK,KA3F6B,GAJD,EA+FjC,0BHh7Fov+G,OAA/hI,GG47Fxt2G,OAFG,EA9hGqE,EAw7FnC,EAsGlC,GACI,GAAa,EA/hGoD,EAq7FpC,EA0GhB,IAzEW,IAwE5B,iBAcH,OAT4C,QACzC,SAAK,OACL,OACA,OAEA,SAAK,OADL,OAEA,OACA,SAAK,iBACG,sBAzlEa,OAFuB,KAAO,GAC/C,sBAyhE4F,OAArD,EAAK,KAjDd,GADA,EAkDS,GAzhEjC,GAAU,IACJ,8BAIK,OAFsB,KAAO,GAC9C,0BHj3Bog+G,OAAnzH,GGu7Fxt2G,OA3hGwE,GAwhGzD,SAAM,SACb,EAzhGgE,EAw7FnC,EAiG7B,GACD,GAAa,EA1hGoD,EAq7FpC,EAqGhB,IAAmC,IAFpD,EAnkEU,GAAS,IACH,8BAIL,OAFsC,KAAa,GAC1D,QAAM,KAAe,IAClB,oBAraP,aAMqC,WAAN,WAAM,MAKD,WAAN,WAAM,MAKG,WAAN,WAAM,MAKJ,WAAN,WAAM,MAKhB,aAMF,sBAMJ,cAMY,aAMC,aAKG,+BA2yErB,QAAM,QAAW,QACjB,MAAM,sEA3Dd,aAEA,aAEoB,aACQ,WAAN,WAAM,MAGpB,WAAM,MAAQ,MAAM,4BAj4D5B,aAKA,aAKA,aAKA,aAKA,gCAgqEI,2BACJ,MAAU,EACV,EAAW,MAAO,EAAlB,EAEO,GAAO,IACV,OAAW,EAAM,EAAM,KAAK,EAA5B,EHzjGoomH,EAAT,IAAI,GAAK,MG2jGpomH,EAAiB,GA/pGgD,EA8pGnB,EAAG,EA9pGgB,EA8pG5B,EA9pG4B,EA+pGtC,MAGvB,EAAM,EAAK,EAAM,EAAM,EAAZ,YACX,EAAM,GACE,OAAO,EADJ,EAAO,EAAM,EAAb,CACI,EAGvB,WAAS,EAAM,EAAR,GAfH,+DiC3nGiD,gBAArD,EAAqD,yEC/BK,qBC4FM,YAAvC,OAAyB,EAAO,GD5FxC,CAA2B,EAAO,kBA0HH,cAQ7B,8BA5DnB,aAWwC,kBAAiB,iBEpGrC,0BAAS,IACX,2BAjBI,6CvBOoC,OAApB,sBwBCf,UAAH,iDCMZ,QASgF,oBDfjE,cAAK,wBEoKd,QAAW,EAAX,KAAoB,GAA9B,OAAK,MAAK,WACN,MAAQ,QAAK,MACT,IAAM,EACN,OAAO,KAEP,GAAiB,KAAM,EACvB,cANsB,GAA9B,GAUU,QAAW,EAAX,EAAmB,aAA7B,EAAU,KAAL,MAAK,UACN,MAAQ,QAAK,MACT,IAAM,EACN,OAAO,KAEP,GAAiB,KAAM,EAEvB,WAAS,EAAI,EAAN,SAPf,EAAU,GAYV,WAAS,QAAO,EAAT,iBA9LS,mBPKkF,EAAvC,GAAiB,MAFS,GAEQ,MOFhE,aAGD,0BAAS,sDlCVpC,aAAgE,IAAhE,wEA0HD,MAAkB,GAAiB,GACnC,EAAU,EACV,EAAW,QAAO,EAAlB,EAEO,GAAO,IACV,OAAW,EAAM,EAAM,KAAK,EAA5B,EACA,EAAa,QAAK,GAClB,EAAiB,GAAiB,MAE9B,EAAa,EAAe,EAAM,EAAM,EAAZ,YAC5B,EAAa,UACb,IAAQ,EAAiB,EACV,KAAe,EAAK,EAAK,GAFZ,EAAO,EAAM,EAAb,CAEb,EAGvB,WAAS,EAAM,EAAR,wBAYG,QAAW,EAAX,KAAoB,GAA9B,OAAK,MAAK,WACN,MAAQ,QAAK,MACT,IAAM,EACN,OAAO,KAEP,GAAiB,KAAM,EACvB,cANsB,GAA9B,GAUU,QAAW,EAAX,EAAmB,aAA7B,EAAU,KAAL,MAAK,UACN,MAAQ,QAAK,MACT,IAAM,EACN,OAAO,KAEP,GAAiB,KAAM,EAEvB,WAAS,EAAI,EAAN,SAPf,EAAU,GAYV,WAAS,QAAO,EAAT,wB2BlK2F,EAAvC,GAAiB,MAL9B,GAK+C,M3BR7E,mB2BQkF,EAAvC,GAAiB,MAF/C,GAEgE,M3BP3E,aACF,kCOgJhB,MAAU,EACV,EAAW,QAAO,EAAlB,EACA,EAAoB,GAAiB,GAE9B,GAAO,IACV,OAAW,EAAM,EAAM,KAAK,EAA5B,EACA,EAAa,IAAI,GACjB,EAAkB,GAAiB,MAE/B,EAAc,EAAiB,EAAM,EAAM,EAAZ,YAC/B,EAAc,UACd,IAAW,EAAgB,EACZ,KAAe,EAAK,EAAO,GAFX,EAAO,EAAM,EAAb,CAEhB,EAGvB,WAAS,EAAM,EAAR,wBAYG,QAAW,EAAX,KAAoB,GAA9B,OAAK,MAAK,WACN,MAAQ,QAAO,MACX,IAAM,EACN,OAAO,KAEP,GAAiB,KAAM,EACvB,cANsB,GAA9B,GAUU,QAAW,EAAX,EAAmB,aAA7B,EAAU,KAAL,MAAK,UACN,MAAQ,QAAO,MACX,IAAM,EACN,OAAO,KAEP,GAAiB,KAAM,EAEvB,WAAS,EAAI,EAAN,SAPf,EAAU,GAYV,WAAS,QAAO,EAAT,+BAaK,2BAzMI,mBoBCkF,EAAvC,GAAiB,MAG5C,IAH6D,MpBE9D,8BDoC/B,OAAmC,GAA5B,QAAU,QAAW,0BAoM5B,MAAoB,GAAiB,GACrC,EAAU,EACV,EAAW,QAAO,EAAlB,EAEO,GAAO,IACV,OAAW,EAAM,EAAM,KAAK,EAA5B,EACA,EAjN4B,GAiNb,EAjNZ,MAiNY,EAjNL,MAiNa,KACvB,EAAiB,GAAiB,MAE9B,EAAa,EAAiB,EAAM,EAAM,EAAZ,YAC9B,EAAa,UACb,IAAU,EAAmB,EACd,KAAe,EAAK,EAAO,GAFZ,EAAO,EAAM,EAAb,CAEf,EAGvB,WAAS,EAAM,EAAR,wBAYG,QAAW,EAAX,KAAoB,GAA9B,OAAK,QAAK,eAtOV,EAAgC,GAuOpB,EAvOL,MAuOK,EAvOE,MAuOM,QACN,EACN,OAAO,KAEP,GAJI,KAImB,EACvB,cANsB,GAA9B,GAUU,QAAW,EAAX,EAAmB,aAA7B,EAAU,KAAL,QAAK,cAhPV,EAAgC,GAiPpB,EAjPL,MAiPK,EAjPE,MAiPM,QACN,EACN,OAAO,KAEP,GAJI,KAImB,EAEvB,WAAS,EAAI,EAAN,SAPf,EAAU,GAYV,WAAS,QAAO,EAAT,yBAvRyB,qBAAS,IAAT,EAAS,IAAT,OAAe,EAAf,OAAa,EAAb,2BqBJkE,EAAvC,GAAiB,MAerC,IAfsD,MrBW9D,mBqBXmE,EAAvC,GAAiB,MAyBjC,IAzBkD,MrBkB3C,aAMlC,iLiBwcoE,OAAT,yBA1DN,OAApB,sBY5bL,aAAgB,2BCIG,iCCAnE,aAAwB,EAAO,GAH3B,4BCyBwC,OAAd,GAAS,iCAkB/B,SAAS,KAAsB,GAAM,SAErC,MAAc,GAAmB,GACjC,EAAmB,QAAY,KAA/B,EAEA,OAAO,OADP,EAAU,KAAS,EAAS,EAAc,GACT,EAAS,QAAO,EAA1C,EAA6C,GAIxD,OAAO,OADO,KAAS,EAAM,QAAW,GACP,EAAS,QAAO,EAA1C,EAA6C,8BAQpD,QAAkB,GAAa,QAAO,EAApB,EAAuB,GACvB,EAAM,MAAN,EAAM,QAAN,EAAa,SAAb,aXqB2uB,SA7DlsB,GAAiB,MAAU,GAAO,aWwC3E,EAAlB,WAEI,IAAS,KACT,EAAY,GAAe,aAIS,EAAY,GAAhD,EAAY,GAAe,oBAAS,EAAT,KAAmD,EAAQ,KAA3D,EAAgF,GAE/G,OAAO,uBAoBP,MAAe,QAAO,MAAtB,EACA,EAAmB,GAAL,QAAY,SACtB,EAAW,UduCQ,UcpCnB,Od+wBR,GAAU,EA3uB+B,EAC1C,EACQ,EADR,EACW,EAAW,GcvCb,EAAQ,GAAa,EACd,OAAiB,EAAM,EAAS,QAAO,EAAvC,EAA0C,SAGrD,MAAkB,QAAK,Md2CR,UcxCf,OdywBJ,GAAU,EAhuBL,EAAS,EAAY,EAAZ,EAAe,EAAW,EAAW,EAAX,Gc1CpC,EAAQ,GAAa,EACd,KAAe,EAAM,EAAS,GAAmB,6BAWxD,MAAkB,GAAa,EAAO,MAEzB,IAAT,EAAS,UACwB,IAAf,EAAe,KXjC4xF,SA7DtwF,GAAiB,MAAU,GAAO,aW8FP,GAAL,EAAY,MAAzF,QdiDZ,IAAc,EAAd,EAA8B,Oc7ClB,OduvBR,GA3sB6B,EAAc,EA2sBd,EA1sBhB,EA0sB+C,GczvBpD,QAAqB,EAAK,MAC1B,EAAQ,GAAe,EAChB,EAGX,MAAmB,GAAL,EAAY,MAC1B,EAAsB,EAAQ,KAA9B,IAGsC,EAAK,GAA3C,EAAQ,GAAe,oBAAe,EAAf,KAAiD,EAAiB,EAAO,EAAS,GAE/F,QAAc,EAAd,EAAsB,UAAhC,EAAU,OAAL,MAAK,aACY,MAAd,EAAQ,GAAY,cAGI,EAAK,GAAjC,EAAQ,GAAK,oBAAe,EAAf,KAAuC,EAAiB,EAAG,EAAa,MAAO,SAJhG,EAAU,GAOV,OAAO,yBAcP,MAAe,QAAO,EAAtB,KAGgB,IAAZ,EACA,4BAoBS,IAAT,EAEA,OAAO,OADU,EAAK,SAAQ,KAA0B,GAAL,EAAY,MAAsB,GAGzF,MAAgB,OAAU,MAC1B,EAAkE,GAApD,KAAe,EAAM,EAAO,EAAW,EAAvC,EAA0C,MAE1C,EAAU,MADxB,iBACc,EADd,QAIkB,MAAd,EAAQ,GAAM,OAGO,EAAQ,GAC7B,OAAO,OAFP,eACqB,EADrB,KAEwC,EAAS,EAAU,EAAQ,KAA5D,GAEX,OAAO,OAAiB,EAAS,EAAS,EAAU,GApCzC,GAAuB,EAAM,EAAU,GAElD,MAAmB,GAAL,QAAY,SACtB,GAAQ,EAAW,EAAnB,Qd8CiC,UAoqBzC,GAAU,EApqB6C,EAAS,EAAO,EAAQ,EAAR,EACzE,Gc3CM,OADA,EAAQ,EAAW,EAAnB,GAAwB,KACjB,OAAiB,EAAM,GAAS,EAAW,EAAX,GAAsB,EAAtD,EAAyD,0BAsChE,QAAkB,GAAa,EAAO,MAEX,IAAS,KAChC,QAAkB,EAAK,KACvB,gBAGe,EAAK,KAApB,oBAAe,EAAf,KAAiD,EAAQ,KAAzD,EAA8E,EAAO,GALzF,WAQwB,MAApB,GAA2C,IAAf,EAC5B,OAAO,KAGX,MAAmB,GAAL,EAAY,MAE1B,OADA,EAAQ,GAAe,EAChB,yBAYP,MAAkB,GAAa,EAAO,MAEzB,IAAT,EAAS,UACwB,IAAf,EAAe,KXnJy2O,SA7Dn1O,GAAiB,MAAU,GAAO,aWgNP,GAAL,EAAY,MAAzF,QdwDE,IAAc,EAAd,EAAiB,OcpDnB,OdqoBR,GAnlBiF,EAAc,EAElG,EAilBmD,EAAY,GcvoBpD,EAAQ,KAAkB,EAA1B,GAA+B,EAAU,MACzC,QAAkB,EAAK,GAChB,EAGX,MAAsB,KACO,MAAzB,EAAK,KACL,EAAkB,GAAa,MAAa,EAA1B,EAA6B,IAGnD,MAAmB,GAAL,EAAY,MAC1B,EAAsB,EAAQ,KAA9B,EAEU,IAAuB,IAAc,EAAd,KAAvB,GAAV,KAAK,MAAK,iBAEwB,EAAQ,GAAtC,EAAQ,GAAK,oBAAiB,EAAjB,KAA4C,EAAiB,EAAG,SAFjF,IAAU,SAK8B,EAAQ,GAEhD,OAFA,EAAQ,GAAe,oBAAiB,EAAjB,KAAsD,EAAiB,EAAO,GAE9F,yBAqDP,MAAkB,GAAa,EAAO,GACtC,EAAmB,GAAL,EAAY,SACb,IAAT,EACA,EAAQ,GAAe,aAGU,EAAQ,GAAzC,EAAQ,GAAe,oBAAU,EAAV,KACf,EAAQ,KADO,EACc,EAAO,GAEhD,OAAO,uBlCtQmB,SkCjCkD,cAHjD,aACA,aACA,aACA,elCiCD,WAAO,MAtBjC,MkCRkC,EAAC,sDAAoD,KAAkB,EAAvE,GAAyE,kBAAgB,WlCQrH,GAAiC,GADzB,IkCNP,WAAO,GAAS,YAAmB,GAAV,WAAK,OAAkB,4BCmBnD,SAAQ,KACD,EAEJ,GAAS,wBAWhB,SAAgB,QAPZ,GAAQ,KACD,EAEJ,EAAO,GAAS,GAAvB,4BAec,MAAV,EACA,OAAO,uBARX,OAAO,EAAO,SAAQ,MAAuB,EAAO,KAAsB,EAA7B,KAAoC,QAU7E,GAAU,GACV,OAAO,MfDgB,QACtB,KAAZ,EAAO,OAAkB,MeElB,OfsyBJ,GAzyBe,EAyyBC,EAD+E,EAAqB,EACxD,GACrD,uBG7xBohB,OYCvhB,EZ9D2D,GAAiB,MAAU,GAAO,MYiE7F,OAFA,EAAO,GAAK,EACZ,EAAO,KAAsB,EAA7B,GAAkC,QAC3B,qBZJyuB,OYQhvB,EZrE2D,GAAiB,MAAU,GAAO,MYuE7F,OADA,EAAO,KAAsB,EAA7B,GAAkC,QAC3B,gCAuBP,SAAS,KAAsB,GAAM,SAEjC,QAAY,KAAS,KAAkB,GAAO,EAAY,QAAY,KAA1D,GACZ,QAAY,EACZ,wBAAkB,KAAlB,EACA,wBAAa,EAAb,iBAEI,MAAR,EAAQ,CACJ,QAAY,EACZ,QAAY,EACZ,wBAAa,EAAb,cAGA,QAAY,KAAS,EAAM,EAAY,SACvC,QAAY,EACZ,wBAAa,EAAb,SAEP,8BAOG,MAAY,GAAa,QAAO,EAApB,EAAuB,GACnC,EAAkB,KAAY,MAE1B,IAAS,KACT,EAAY,GAAS,aAGS,EAAY,GAA1C,EAAY,GAAS,oBAAS,EAAT,KAA6C,EAAM,EAAQ,KAA3D,GAEzB,OAAO,2BAwCP,MAAY,EACL,EAAQ,MAAmB,EAAe,MACtC,gBAAP,EAAO,GAAW,EAAe,IAErC,OAAO,6BnCzD27J,EAAgB,IA9Cl9J,MAAM,GAA8B,GAfxB,uBA6D+9J,GAAS,GA9Cp/J,MAAM,GAA8B,GAfxB,qBmCkKC,IAAT,EACA,OAAO,EAAgB,IAG3B,MAAkB,KAAY,GAC9B,EAAY,GAAa,EAAU,KAGvB,IACQ,EAAY,OADhC,KACQ,oBAAY,EAAZ,KAAgD,EAAU,EAAQ,KAAlE,EAAuF,IAEtF,IAAF,EAAE,GAAQ,MAAmB,EAAgB,YAEpC,IACQ,EAAY,GADhC,KACQ,oBAAY,EAAZ,KAAgD,EAAG,EAAQ,KAA3D,EAAgF,GAE5F,OAAO,uBA0BP,MAAe,MACf,EAAkB,KAAY,YAC1B,EAAW,UfGqD,UAmlBxE,GAAU,EAnlB4E,EAC1F,EACI,EADJ,EACO,EAAO,GeHF,EAAY,GAAS,EACrB,QAAY,EACZ,QAAY,EACZ,wBAAa,EAAb,OAEA,MAAkB,QAAK,MfGlC,UAGoB,IAAQ,EAAR,EAAkB,OAykBnC,GAAU,EAzkBN,EAykByB,EAzkBD,EAykBgC,Ge7kBpD,EAAY,GAAS,EACrB,KAAe,EAAM,EAAa,KAAkB,8BAYxD,MAAkB,GAAa,EAAO,MAEzB,IAAT,EAAS,CACT,QAAqB,EAAK,MfKgB,WAAY,GAAO,IACpE,EADoE,EACpD,OAujBjB,GAxjBoC,EAwjBpB,EAAa,EAvjBzB,EAujBwD,Ge5jBpD,Mf6jBD,Ee3jBC,OADA,EAAY,GAAe,EACpB,EAGX,MAAkB,KAAY,GAC9B,EAAsB,EAAQ,KAA9B,IAIuB,EAAY,GADnC,EAAY,GACJ,oBAAe,EAAf,KAAwD,EAAiB,EAAO,EAAS,GAEvF,QAAc,EAAd,EAAsB,UAAhC,EAAU,OAAL,MAAK,aACgB,MAAlB,EAAY,GAAY,cAGL,EAAY,GADnC,EAAY,GACJ,oBAAe,EAAf,KAA8C,EAAiB,EAAG,EAAa,MAAO,SAJlG,EAAU,GAOV,OAAO,yBA8NP,IAGA,EAHA,EAAe,QAAO,EAAtB,KAIgB,IAAZ,EACA,EAAiB,QAAK,8BA4Db,IAAT,EAKA,OAJA,QAAY,OACA,QC7lBuB,GD6lBvB,EAAZ,UACA,QAAY,EACZ,QAAiB,EACjB,KAGJ,MAAgB,OAAU,MAC1B,EAAgE,GAAlD,KAAmB,GAAJ,GAAQ,EAAO,EAAU,MAEtD,IAAY,EAAU,SAAtB,uBAAY,EAAZ,KACA,QAAY,EAGM,MAAd,EAAQ,GAAM,OAGd,IAAY,EAAQ,GAApB,uBAAY,EAAZ,KACA,QAAiB,EAAQ,KAAzB,OAEA,QAAY,EACZ,QAAiB,EAjFjB,GAAuB,EAAM,EAAU,QAEvC,EAAiB,QAAK,GfdR,cAAc,OAAY,SAiVhD,GAAU,EAAM,EAjVuC,EAAO,EAC7D,EAD6D,EAC1D,GecI,MfmUD,EelUC,EAAY,EAAW,EAAvB,GAA4B,KAC5B,QAAY,EACZ,QAAY,EACZ,SAAY,EAAW,EAAX,GAAsB,EAAlC,EACA,QAAiB,EAErB,OAAO,yBAYP,MAAkB,GAAa,EAAO,MAEzB,IAAT,EAAS,CACT,MAAqB,EAAK,GfPrC,OAAY,GAAoB,IAAc,EAAd,EAAiB,OAmT9C,GArTkE,EAqTlD,EAnTA,EAmTgC,EAAY,Ge3SpD,Mf4SD,EezSC,OAFA,EAAY,KAAkB,EAA9B,GAAmC,EAAU,MAC7C,QAAkB,EACX,EAGX,MAAsB,KACO,MAAzB,EAAK,KACL,EAAkB,GAAa,MAAa,EAA1B,EAA6B,IAGnD,MAAkB,KAAY,GAC9B,EAAsB,EAAQ,KAA9B,EAEU,IAAuB,IAAc,EAAd,KAAvB,GAAV,KAAK,MAAK,iBAE4B,EAAY,GAA9C,EAAY,GAAK,oBAAiB,EAAjB,KAAgD,EAAiB,EAAG,SAFzF,IAAU,SAMe,EAAY,GAErC,OAHA,EAAY,GACJ,oBAAiB,EAAjB,KAA0D,EAAiB,EAAO,GAEnF,yBA2CP,QAAkB,GAAa,EAAW,EAAxB,EAA2B,MAElB,IAAS,KAChC,QAAkB,EAAK,KACvB,gBAGe,EAAK,KAApB,oBAAe,EAAf,KAAiD,EAAQ,KAAzD,EAA8E,EAAU,GAL5F,WAOwB,MAApB,GAA2C,IAAf,EAC5B,OAAO,KAGX,MAAkB,KAAY,GAE9B,OADA,EAAY,GAAe,EACpB,2BAoRP,MAAkB,GAAa,EAAO,GACtC,EAAkB,KAAY,MAEjB,IAAT,EAAS,IAKL,IAAgB,EAAhB,CAAwB,8BAI5B,OAFA,QAAwB,EAAY,GACpC,EAAY,GAAe,EACpB,QAIO,EAAY,GAC9B,OAFA,EAAY,GACJ,oBAAU,EAAV,KAAmD,EAAQ,KAA3D,EAAgF,EAAO,EAAG,GAC3F,uBA/6B0D,cAH/B,aACA,aACA,aACA,aACd,kBACJ,sBAEA,sBAEO,WAAP,WAAO,2BEZmC,aAAwB,EAAO,GAHlD,aAOvC,MAAe,GAAS,GACxB,EAAsB,GAAN,EAAmB,GACnC,WAAe,OAAa,EAAM,EAAW,EAAU,kBCgEvD,MAAW,QAAQ,SACP,MAAR,EAEA,OADA,QAAe,KACf,KAGJ,MAAe,GAAS,QAAQ,OAChC,EAAsB,GAAN,QAAmB,GACnC,EAA2D,GAA1C,QAAQ,MAAY,KAApB,GAAjB,EACoB,MAAhB,QACA,QAAe,OAAa,EAAM,EAAW,EAAU,GAE3C,GAAZ,SAAe,IAAM,EAAM,EAAW,EAAU,qBAgChD,UAAoB,QAAQ,MAC5B,MAAM,sBA7GU,aAAwB,EAAO,EAAQ,OAF3D,aAQmC,WAAR,WAAQ,MAKM,gBAMb,cAG5B,oCFpB+C,EAAR,GG6I3B,kBAA+B,yDAhJnD,KAA6F,cAArD,aAGzB,WAAO,OAAQ,4BCctB,MAAY,GAAC,QAAS,EAAV,EAAwB,MACpC,EAAQ,EACD,EAAI,gBAEP,UAAK,IAAM,QAAK,EAAI,EAAT,GAAX,MAAU,eAAC,EAAD,MAA6B,GAAa,EAAO,IAC3D,IAAS,KAAT,EACA,IAAK,EAAL,wBAMJ,MAAY,EACL,GAAa,QAAO,KAAU,GACjC,IAAS,KAAT,KAGA,EAAQ,GACR,OAAY,QAAS,EAAT,IAAa,EAAQ,KAArB,GAAZ,EACA,KAAS,QAAO,EAAQ,EAAxB,mBAKJ,MAAsB,QAAU,OAExB,QAAK,QAAS,EAAd,GAAR,OAAO,eAAC,EAAD,MAA+B,wBA/CgB,aAAwB,EAAO,GAA1D,mBjBUJ,aAS2E,EAAvC,GAAiB,MAAU,GAAO,MiBlBjE,aACJ,eAAS,EAGjC,WAAK,GAAK,EACV,QAAS,GAAY,WAAe,EAAO,GAA3C,EAA8C,iBCClD,OAA6B,yBARlB,4BAcX,ElBM+D,GAAiB,MAhBzB,IAgB0C,MkBJjG,OADA,EAAO,GAAK,EACL,gBAdI,wBA8B6C,OAAL,IAA9C,EAAa,EAAd,iBA/BO,0BAyBwC,OAA9C,GAAU,EAxB4B,kBAGtB,2BAFV,8BCoEa,kBAA2B,WAAO,2DApE9D,KACgE,cADzB,aACA,gCCuKY,UpBvJgB,GAAiB,MoBuJ3B,GpBvJ4C,MoBuJlD,EAAM,GAAN,WAA6B,SAA7B,KAA2B,EAA3B,QAA7C,aAAuC,EAAM,sBAGA,UpB1JgB,GAAiB,MoB0J3B,GpB1J4C,MoB0JlD,EAAM,GAAN,WAA6B,SAA7B,KAA2B,EAA3B,QAA7C,aAAuC,EAAM,sBANc,UpBpJE,GAAiB,MoBoJb,GpBpJ8B,MoBoJpC,EAAM,GAAN,WAA6B,SAA7B,KAA2B,EAA3B,QAA3D,aAAqD,EAAM,iBApKvB,WAAN,WAAM,MAEf,aACD,2BAgD0B,4BASE,kCA2C1C,QAAK,GAAW,MAChB,OAAO,KAEP,QAAK,GAAW,OAChB,MAAW,QAAK,GAAW,MAM3B,OALiB,IAAb,EACA,QAAK,EAAY,EAAjB,GAAoB,IAAM,EAAK,MAAQ,EAAK,MAAO,QAEnD,QAAK,EAAY,EAAjB,GAAoB,IAAM,EAAK,MAAQ,QAAa,EAAK,QAEtD,KAAuB,EAAY,EAAnC,GAEX,OAAO,oBAIH,QAAK,SAAe,MACpB,YAEK,iBAAqB,GAA9B,KAAI,MAAK,WACL,MAAa,KAAuB,OAEtB,IAAV,GAAgB,QAAK,GAAG,QACxB,QAAK,GAAG,MACR,EAAS,KAAuB,KAEtB,IAAV,EAEA,OADA,QAAgB,EAChB,KAEA,EAAI,GACJ,QAAK,EAAI,EAAT,GAAY,MAEhB,QAAK,GAAG,IAAe,WAAM,MAAQ,SAdX,GAA9B,GAgBA,SAAU,mBAjDV,aAG0B,aAER,cAGlB,WAAK,GAAG,IAAM,EAAK,MAAQ,QAAa,EAAK,QAC7C,WAAgB,EAChB,0BArBmC,aAAqB,2BATT,6BCxDiD,cAA7D,4BAasE,cAApE,4BA7B4E,cAA3E,gECoEqB,UAAK,EAAS,EAAS,EAAQ,6DAEtD,aAA0B,4BAKR,OAA3B,OAAmB,EAAM,kBACE,OAA3B,OAAmB,EAAM,oBAmBpD,QAAmC,IAA5B,QAAY,2BAgBZ,QAAO,GAAd,sBAAO,EAAP,4BAMO,QAAO,EAAW,EAAlB,GAAP,sBAAO,EAAP,0BAyDA,MAAoB,EAAQ,SACF,IAAtB,EAAc,QAAgC,IAAnB,EAAQ,MAAR,IACR,IAAf,QAAO,OAGP,OADA,QAAkB,QACX,EAGX,MAAe,MAAc,GAC7B,sBAjJR,MAAqB,GAAL,EAAY,EAAK,OAAO,EAAnB,GzBgBsB,IAAY,EAAZ,EAAe,IAAY,EAAZ,EAAoB,EAAL,EAAK,OyBX9E,OzBi0BA,GAtzBa,EAAmB,EAszBH,EAAmB,EAAY,GAA5D,GAtzBwF,EAAmB,EAAW,EACxH,EADwH,EAEzH,EAAW,GyBfR,EAAU,GAAY,EACtB,EAAU,EAAW,EAArB,GAA0B,EACnB,EA4IwB,CAAP,QAA4B,EAAW,EAAU,EAAc,GAAI,EAAc,IACjG,OAAO,GAAS,QAAY,EAAc,QAAY,EAAc,GAGxE,MAAuB,GAAP,QAAc,QAAO,QAErC,OADA,EAAU,GAAa,EAChB,GAAS,QAAS,QAAS,yBAyBf,IAAf,QAAO,OAAW,OAAO,KAE7B,wBtBxIoG,IAAK,OAAO,EAAZ,EsB1BxG,EtBnC+D,GAAiB,MAAU,GAAO,MHy1BjG,GAxyBkD,EAAc,EAuyB+B,EAAqB,EAvyB9B,GAI5C,QAAY,EAAZ,EAA+B,EAAL,EAAK,OyBfzE,OzBmzBA,GAryBH,EACU,EAAW,EAoyB8B,EAAY,GyBnzBrD,EA+JoB,CAAP,QAAyB,GACzC,OAAO,GAAS,QAAS,QAAY,EAAc,gCAmBnD,MAAgB,KAAW,GCrOM,EAAM,MACs/T,EADt/T,QACs/T,GDuO7hU,EAAc,KCxOmB,QAAoB,EAApB,EDwOK,EADpB,KAAgB,GAE1B,EAAY,EAAQ,EAAU,EA5OA,EA2OxB,EAC0D,GAExE,EAAgB,MAAU,GAAgB,EAA1C,EAEA,yBAxNJ,MAAmB,EAtBS,EAsB5B,EtBmBoD,EAEpC,GAFoC,EAExD,OAnCwD,EAiCA,KsBlBpD,EtBV+D,GAAiB,MAAU,GAAO,MHy1BjG,GAn0BuB,EAAc,EAk0B0D,EAAqB,EAl0BzD,GAm0B3D,GAn0ByE,EAAc,EAC1F,EAGgB,EA/B2C,EA+B3C,EAAkC,GyBb/C,EAAU,GAAgB,EzBamG,QAExH,EAFwH,EAE7E,EAAL,EAAK,OyBbhD,OzB00BA,GA/zBoG,EAAc,EA+zBrF,EA7zBR,EA6zBuC,GyB10BrD,EAkNW,CAAP,QAA4B,EAAU,EAAW,qCA+BpD,EA5QmB,GA+QnB,OAAO,OAAS,EAAG,ExBjPioW,GAAM,EAAQ,EAAM,GwBiP7mW,GAG/D,MAAc,GAAa,EAAU,GACrC,EAAc,GAAa,EAAU,UAEjC,IAAW,EAMJ,OAAU,GAAM,EAAa,GAAM,EAAU,EAL/B,EAAU,ExBxP63W,GAAM,EAAQ,EAAM,GAAqD,GAAM,EAAQ,EAAM,GwB6Pt7W,GAIhE,OAAS,EAAG,GAAM,ExBjQk2X,CwBgQh3X,KAAS,EAAU,EAAM,EAAQ,EAAU,EAAM,EAAQ,EAjS9B,EAiS3B,EAA2F,IAC/C,2BAhS/B,IA0TpB,QAAO,OAA2B,KAE/B,GAAS,EAAG,EADI,GAAP,QAA0B,+BT1TK,EAAR,GSm2BlB,cAA2B,EAAG,EAAG,+DA5yB9D,KACQ,aACA,aAEA,aAY+B,2BAxExB,kCtBuB+C,IAAK,OAfX,EAeM,EsBV1D,EtBA+D,GAAiB,MAAU,GAAO,MHy1BjG,GAh1BD,EACU,EA80BsF,EAAqB,EA90BrF,GAE3B,QAjBoD,EAiBpD,EACE,EAAL,EAAK,OyBRN,OzBo1BA,GA/0B6C,EAChD,EA80BgC,EA70BW,EA60BoB,GyBt1B5D,EAAU,GAAY,EACtB,EAAU,EAAW,EAArB,GAA0B,EACnB,mBARiD,OAAnD,GAAU,EAXiC,wBtBkEf,IAAK,OAzDc,EAyDnB,EsBxBjC,EtB5B+D,GAAiB,MAAU,GAAO,MHy1BjG,GA7yBe,EAAc,EA4yBkE,EAAqB,EA5yBjE,GAA8D,QAjDzD,EAiDyD,EAEhG,EAAL,EAAK,OyBfjB,OzB0zBA,GA7yBiE,EAAc,EAAW,EA6yB1C,EAAY,GyB1zBrD,uBE4CiB,4BAAwE,sEA/EpG,KAII,cAHI,aACA,aACA,gEAdY,wEAEc,UAAK,EAAL,yDAJb,aAAoB,8BCLW,aACA,aAC3B,2K5DoJygF,SAAqB,EAAK,G6DkM9/E,OA9QlD,EA8QmC,IAAO,G7D5Q3C,mB6DxBF,OAJG,MAAR,MACI,iBAA8B,qBACzB,EAAK,QAAS,KAAQ,KAAS,KAAK,MAAU,EAAM,uBAtBG,OAAvB,GAAY,EAAM,kBADA,OAAvB,GAAY,EAAM,oBAHtD,OAAO,IAAU,GADF,EAJe,GAI9B,EAH8B,GAIc,EAArC,8B5D+GP,iCAyBA,EAAO,EAAO,GACd,MAAY,EACE,mBAAd,GAAc,OAAT,MAAS,UACV,MAAc,IAAI,OACZ,IAAF,EAAE,GAAQ,GAAG,EAAO,EAAO,KAC3B,EAAQ,GAAK,GAAS,GAEnB,QADI,GAAP,EAAqB,EAAS,SAJtC,GAAc,GASd,OAFI,GAAS,GAAK,EAAQ,GAAO,EAAO,EAAO,GAC/C,EAAO,EAAO,GACP,EApCA,GAAW,KAAiB,EAAW,EAAQ,EAAS,EAAO,EAAW,GAC5E,8BA2CY,MAAb,EAAqB,IAAO,EAAU,IACtC,eAA4B,IAAO,GACnC,gBAAmB,KAAO,EAAP,MACX,IAAe,GAAR,kB6BmkCf,4BAwYA,4BAOC,kCAUD,sDAGA,gDAOA,6BAGA,6BAGA,6BAEA,6BAkBC,6CAxsCU,4BA4BA,6FA9dnB,KAMI,aAMmB,aAiHK,cAMpB,WA68C6B,IA78CzB,qBA4ZR,MAAa,EAAQ,IAAO,GAC5B,OdljB+l+D,KcmjB3l+D,KAAa,IAAI,GA9ZW,CAAa,EAAI,aAAc,mDAoc/D,aAAS,EAAI,GAFb,aACA,aAoXkD,gBAMM,sBAKP,0BAAS,GAMlC,aAKD,iDAuBN,mFASuB,cAA1B,sEdlgCil+D,ec6uCnl+D,EnCxzBq5hC,KA/Ox2hC,ImCyiCtC,KADkB,GAArB,SAED,MAHH,IAGG,cACH,EAAG,GAJH,KAIA,WAAqB,cAhvCN,UA4uCf,EA5uCe,WAAd,GAAc,MAAT,MAAS,UA4uCf,EA5uC6C,EAAI,EAAsB,CAivC/C,SAjvCvB,GAAc,sBAgvCf,EAgY2D,EAjYxD,EAXf,aACI,EAAI,EAAS,KACb,iBArL6C,WAAlB,KAAkB,MAgBf,iDAvgBlC,KAAa,IAAO,sBAsepB,WAAe,KAAoC,OAAnD,QAAwB,KAAsB,KAA9C,sBAspBA,MAA6B,KAAsB,KACnD,GdxrD+l+D,KcyrD3l+D,GAAsB,EAAwB,IAKlD,EAAe,EAAuB,SACtB,MAAZ,Gd/rD2l+D,ScgsD3l+D,EAA0E,GAAf,M7BjsDjD,MAqMkr1D,EArMlr1D,WAAd,GAAc,KAAT,MAAS,UAqMkr1D,EApMjr1D,EAAI,E6BCgE,CAisDlE,EAAU,S7BnsD3B,GAAc,G6BusDd,OAAO,gBAGoD,YAAzB,GAAsB,mBA3V/C,UACD,SAAc,EACd,QAAO,IAAkB,2BApEjC,aAAgB,EAAI,EAAS,EAAc,GAD3C,aAE0B,cAEnB,WAAO,IAAgB,8BAsuB9B,MAAa,EACK,OAAlB,EAA6B,KAAxB,MAAa,UACd,EAAS,EAAO,IAAI,SADxB,EAA6B,GAE7B,OAAO,0BArdP,UACyB,EAAmB,EAAoB,KAChE,OAA2B,MAAhB,GAA0C,MAAlB,GAA0B,KAAgB,GAKtE,QAAgB,EAAhB,KAJH,yBACI,EAAa,GACb,EAAe,2BAce,YALjB,MAAjB,GAA2C,MAAlB,GAA0B,KAAiB,GAKjE,QAAiB,EAAjB,KAJH,yBACI,EAAc,GACd,EAAe,0CAyYvB,MAAe,EAAiB,MAChC,EAAS,EAAgB,SACT,MAAZ,EAAkB,OAAO,SAC7B,MAAY,EAAiB,MAAQ,IAAI,EAAiB,OAAI,IAAG,EAAiB,OAClF,EAAoD,KACtC,gBAAT,MAAS,MACV,EAAY,EAAM,MACJ,KAAS,EAAO,EAAI,MAApB,SAAd,MAAc,EACC,KAAS,EAAO,EAAI,MAApB,SAAf,MAAe,MACX,KAAW,GAAX,CAEc,WAAS,EAAO,EAAiB,MAAI,EAAiB,OAAtD,QACP,OADO,EAAd,QAEA,EAAa,EAAM,IAAa,EAAU,EAAS,MACrC,MAAV,EAYA,OAAO,K1BlwC6jmD,qB0ByvC5jmD,E1B/6D6C,EAAf,OJ6Dmo0E,KIynBrmuB,IA3hBhlmD,GA2hButmD,EAAW,M0BswClumD,OAAO,0BAtSF,KAAc,EAAI,EAAS,OlBxmDa,MAAM,GAA8B,8CkBujDjF,MAAa,EAAM,KAAc,IAAM,EAAuB,QLhrDwwjE,GTYvuF,KSZuuF,gBAAf,MAAe,EK+rDt0jE,OL/rD+1jE,GAAgB,KAAc,IAAM,EAAuB,QAAY,KAAsB,IAAiB,OAAqC,EAAoC,OAA8C,EAAuB,KAAkB,GAAgB,KAAc,IAAI,IAAnjkE,KK+rDrF,8BA6DP,MAA4B,EAC5B,EAA8B,KACZ,MAAX,GACC,GAAM,EAAS,EAAI,KACnB,EAA6B,MAAb,GACP,EAAU,MAAa,EAAQ,MADL,EAC8B,GAErE,EAAU,EAAQ,aAEL,MAAb,EAEO,aAAP,GAAO,EAAP,KAEG,mBlBhpDsC,WAAM,GAA8B,GACkjkE,gIkBomDlokE,YAND,MAAsB,cAClB,MAAa,EAAM,GAInB,OdjtD2l+D,KSZ2+H,GAAgB,KAAc,IAAI,EAAO,QAAvhmE,KK6tDxF,8BA0BJ,4BANA,YAnIiC,IAmI1B,GAAyC,GAAqB,IAChE,EAAQ,EAAI,GAKV,CAAM,EAAU,EAAK,MAAY,oBA0BN,iCAQzB,MAAT,EAAS,MAAc,MAAd,KAAqB,GACvB,WAAS,EAAM,EAAS,MAAI,EAAS,OAA5C,OAAO,QAAiD,OAAjD,EAAP,EATA,GAAS,EAAO,4BAkQhB,WAAS,EAAG,EAAS,MAAI,EAAS,OAAuB,OAAzD,QAA8C,OAA9C,EAAyD,wBA3HhD,MAAT,EAAS,MAAe,MAAf,KAAsB,sDA9G/B,MAA4B,EAAM,MAClC,EAAgC,KAChC,EAAiB,KAAa,IAAgB,MAAkB,EAAhE,EACA,EAA4B,WACV,MAAX,OAhM0B,IAiMb,EAAQ,MAIpB,OAAO,KAEP,GAAM,EAAS,EAAY,GAA3B,IACmB,MAAf,EAKA,OAAW,EAAQ,MAAa,EAAY,MAAY,EAAa,EAJrE,EAAc,EAOtB,EAAU,EAAQ,MAEtB,OAAO,KA6EC,CAAK,GAAL,kCAAoB,MAApB,IAAoB,MAApB,EACJ,MAAiB,W9BtwDwnrE,G8BqwDtorE,4B9BrwD8srE,U8BpFltrE,EA41DC,MAAiB,SA51DlB,EA61DC,MAAY,EAAM,MAClB,EAAM,IA91DP,aA81DO,GAAmB,EAAnB,S9Bp1DV,EAAO,gB8Bi1DO,EAAT,YAFE,EAAP,iCAxEI,EAAS,OAET,EAAS,IAAe,GAE5B,MACe,KAAS,EADf,EAAS,MACgB,EAAS,OAA5B,QAAwC,OAAxC,EAAf,WAGI,EAAS,QAAc,EAAS,MAAI,OAAO,EAI/C,2BAwCA,MACc,KAAsB,GAGpC,OAFA,EAAQ,IAAO,GACf,QAAqB,EAAS,MACvB,EA5CgB,CAAT,EAA2B,EAAO,GAIhD,OAFA,EAAS,IAAe,GAEjB,iBA1mBmD,gCA0eA,2DA1eF,KAwY/B,SAOT,QAUsB,cAGb,KAOF,OnCxkDwC,EAAX,QmC2kD3B,EnC3kDsC,EAAX,QmC8kDrB,E9B5gDuu4D,qBAA7B,aAA6B,EAAkD,Y8BmhDpz4D,GAAgB,KAAc,IAvlDnC,EAulD0C,WALT,O9BzkDzB,M8B2lDkC,KAAsB,uBgC9kD3D,MAAa,QACb,EAAY,EAAO,GACnB,EAAc,SACP,EAAU,IACb,QAAe,EAAU,EAAX,IAAkB,GAAK,EAArC,OACI,EAAO,GAAU,GAKrB,QAJI,KAAK,EAAQ,GACb,EAAU,sBAsClB,MAAa,QACb,EAAY,QACZ,EAAc,QACd,EAAQ,EAAO,GACf,EAAO,GAAK,EAAO,GACnB,EAAO,GAAK,EACZ,EAAI,EAAM,GACV,EAAM,GAAK,EAAM,GACjB,EAAM,GAAK,EACX,EAAQ,EAAM,IAAM,EACpB,EAAQ,EAAM,IAAM,gBAjIb,aAGU,0BAyKY,IAtKb,0BAsKa,YAhKX,qBAgKW,IAhKX,EAgKW,IAhKX,OAA6B,EAA7B,EAAkC,EAAL,EAA7B,KAA2B,EAA3B,qBAGQ,mCC0Sd,0CAAoB,EAAG,kHAxT3C,KAGI,aAEA,aAGA,aAEA,kCA6UA,MAAU,EACV,EAAW,SAAO,EAAlB,EAEO,GAAO,IACV,OAAW,EAAM,EAAM,KAAK,EAA5B,EACA,EAAa,EAAI,MACb,EAAQ,EACR,EAAM,EAAM,EAAZ,YACK,EAAQ,GAGb,OAAO,EAFP,EAAO,EAAM,EAAb,CAEO,EAEf,WAAS,EAAM,EAAR,kBAvCP,MAAQ,EACR,EAAW,SACP,yCACA,IAAQ,GAAR,EACA,EAAI,KAAM,KAEV,4CACA,IAAQ,GAAR,EACA,EAAI,KAAM,KAEV,0CACA,IAAQ,EAAR,EACA,EAAI,KAAM,IAEV,yCACA,IAAQ,EAAR,EACA,EAAI,KAAM,IAEV,sCACA,sCACA,sCACA,uCACG,EADqB,EAAO,EAAd,EADO,EAAO,EAAd,EADO,EAAO,EAAd,EADO,gCC7TxB,cADA,aAE4B,2BArB5B,kBAAwB,wBAiPpB,QAAK,QAAgB,QACrB,MAAM,sBAjDd,aAGoB,aAAS,EAAT,EACY,WAAL,WAAK,iCAVlB,GAAV,KAAkB,GAClB,MAAM,GAA2B,UAAQ,EAAK,4BAA0B,EAAI,mBAP5E,gDAAW,oBC6Hf,iBApFe,MAoFT,iDlE/T2E,6CmB6KjF,OnB7K+E,oBuC0ChC,wCArBvB,uCA4CR,MAAZ,EACA,OAAO,QAGX,EL7C88B,EK6C/7B,gCACC,MAAZ,EACA,OAAO,gBAGW,OACjB,aAAU,8BAgBH,YALR,MAKQ,WALR,WAKJ,MAAY,EAEZ,EAAiB,I4BpHjB,O5B4HA,OAPA,QAAmB,EACnB,YAAsB,EACtB,gBAA0B,EAC1B,cAAwB,EAExB,OAAa,eAAe,EAZY,+BAYuB,GAExD,EA1BqB,CAAwB,iBACxC,MAAM,GACT,iCAAkC,EAAU,qBAHrD,6CAwCQ,QAAkB,GAAH,EAAG,MAClB,EAAa,EAAiB,GAAT,WZzFjB,KA2CS,EAAb,GA4BwB,GCyBtB,EArGV,GAAkB,GAAe,8BWyFhB,qFAxBE,KAoBsC,wFL5G1D,EkCF2D,EAAU,sCC4C5D,SACA,MAAY,EAAS,SACR,MAAT,KAEA,EAAS,IAAW,GAEN,GADE,EAAK,MACQ,GACzB,QAAa,OAEb,MAAiB,WACC,MAAd,EAAc,KACd,EzEiBgC,KyEhBhC,QAAS,EACT,EAAU,EAAI,QAEA,QAAmB,EAAX,EAAW,OAAjC,EAAc,KAAT,MAAS,aAEO,GADE,IAAW,GACE,GAE5B,OADA,KAAW,EAAS,GACpB,WAJR,EAAc,GAOd,EAAW,EAAI,uBAhDnC,aACA,aAE2B,gBACU,gBACc,wkF1EoNJ,OAAf,WAAQ,oCAGpC,kCACA,WAAQ,IAAK,gCGR0D,WAAU,GAi5HjF,GAA4B,GHr4HC,uDAC7B,kCACA,WAAQ,sCAIR,WAAQ,IAAc,GAAuB,IAAX,WAAc,WAAY,GAApD,EAAuD,mCAI/D,WAAQ,IAAe,GAAuB,IAAX,WAAc,WAAY,GAArD,EAAwD,mCAIhE,WAAQ,IAAO,GAAuB,IAAX,WAAc,WAAY,GAA7C,EAAgD,qCAIxD,MAAqC,IAAX,WAAc,WAAY,EACpD,WAAQ,IAAK,EAAO,EAAZ,EAA6B,EAAK,EAAlC,EAAmD,wEApFjD,0CADL,gDAIL,WAAM,EAAI,YACV,SAAU,wGCjByB,WA+CkB,IiBtIrD,MAAM,GAA8B,GAfxB,kBlB4HZ,SAAU,WAAM,GAAS,WAAM,IAAO,EAAtB,0EEvKU,8CAA0B,kE8BqHpD,K9BnH0C,EAAd,KAAc,MAAQ,K8BmD9C,GAgEW,6CAEf,OAzDI,GAAO,OAsDf,I9BlHQ,WAAa,GAAW,iEAY6C,OoBpB02B,YrBqBj7B,WAiLmD,kCqBtM4qC,eSZ46B,EAAe,WAAqB,WAAW,WAAsB,WAAY,EAAgC,QAAiB,EAAT,EAAS,OAA3B,EAAU,KAAL,MAAK,UAAyC,IAAS,GAAG,IAAO,SAAtE,EAAU,GAAiG,EAAS,KAAhxE,yC4CqSxF,EAAkB,OAAkC,GAjSP,GAiSmC,MAMhF,EAAY,KzEjPZ,oBAEI,GoBhDi6D,WpBgDr5D,eACC,MAAT,GAIJ,KAAU,OAAa,EA6CwzV,GA5C/0V,SDPI,WAuJ6C,MC/IjD,WAAa,gCAAJ,OARb,OASK,KA0C80V,EAvCh1V,MAAqB,qBoB3D+yE,gBSZqsB,eAAgB,gCAAP,QAA77F,a7B8EpF,GAAmC,MAAjB,eAGd,yEoBrE05F,QSZqtB,MAAhB,QAAsB,YAAmB,QAAe,ExB4FnoH,cAjFlB,mBAAd,GAAc,KAAT,MAAS,UACV,M0BiFE,E1BjFS,IAAI,G0BiFb,MDvDe,KA0CmB,EAAhC,GAAO,GAkC0C,IClFzD,KAAkB,GAAmB,W1BrBrC,GAAc,GwBXmyH,QAAS,KAA9tH,K7BoFhF,qB8B9CS,KA0CmB,EAAhC,GAAO,GADmB,IC4DwhT,EA3G1jT,GAAkB,GAAmB,K/B+BzB,YyE8OR,EAAY,gRxE00BP,+CAoDsD,OAArB,WAAoB,+BAMrD,+CAUiD,OAApC,WAAc,oCAuBwC,OAA7B,QAAM,EAAK,MAAM,EAAO,mCAexB,OAAV,sCAU+B,OAArC,SA+1FH,IA/1FsB,MAAM,EAAO,mCAY3D,SACA,MAAY,WACC,MAAT,GAAiB,EAAM,OACvB,OAAwB,yCAQjB,qBAAoB,oBAA0C,KAAnB,MAAvB,EAAuB,KAAvB,EAAuB,OAAlD,yCA+BkF,OAAhC,QAAM,EAAK,GAAS,EAAO,mCAkB1C,OAAV,sCA+D7B,WAAgB,kCASX,wDAQG,YAAc,YACjB,cACD,MADA,CACA,oBAA4C,KAArB,MAAvB,EAAuB,KAAvB,EAAuB,OAF3B,YAGK,wCA+EL,QALc,WAonFM,IAnnFX,WAmnFW,MAlnFZ,WAAO,MAqnFY,IAHP,IAGO,MApnFlB,WAAO,MAonFW,IAHP,IA/mFT,MAAM,EAAM,MACvB,YAAe,gCAcf,SACa,YAipFb,GAA4B,GAjpFD,mDAC3B,gBAAkB,WAAe,MACjC,EAAkB,WAAO,IAAO,WAAO,OACvC,8BACA,WAAY,0BACR,MACW,WACX,EAAM,IAAW,EAAa,IAC9B,GAA8C,EAA9C,IAA8C,EAA9C,MACY,IAAc,EAAa,GACvC,EAAQ,IAAK,aAEjB,4CACI,MACmB,EAAM,IAAK,UAC9B,EAAQ,OACR,GAA8C,EAA9C,IAA8C,EAA9C,MACY,IAAe,EAAa,SALxB,MA60DpB,QAAe,IAAK,sCA/zDpB,UACc,YAsnFd,GAA4B,GAtnFA,qCAC5B,WAAW,YA6nDqB,IAAK,uCAvnDE,OAAlB,SAAa,mCAgClC,aAAwB,4BAEnB,EAAQ,aAAc,iBAAtB,EAAsB,KAAM,UAE7B,WAAW,QAAY,GACtB,QAAuB,yCAiBI,WAChC,WACS,oBGv7CowsD,EAAP,WAAO,MHw7ClvsD,WAAkB,WA3+C7C,EA2+C4D,6CAY5D,OAAW,cAAc,MAIrB,GAHA,SAAY,MACZ,GAFJ,gCA2CA,MAAW,kBACP,8BAEI,IADyB,KAGjC,SAAY,IACL,oCA2EH,WACA,WAAO,IAAO,GACV,oBACA,WAAO,yBAA2B,EAAgB,IAAY,WAC9D,WAAW,EAAI,SAGnB,MAAqB,WAAO,MAAiB,EAA7C,EACI,mBACA,WAAW,EAAI,GAEnB,SAAqC,uCAC7B,oBACA,EAAgB,IAAY,SAE1B,MAAe,EAAM,IAAI,EAAgB,MAC3C,kBACI,EAAgB,IAAW,gBAC/B,iBACI,MAAkB,EAAS,MACR,MAAf,IACA,EAAS,KACT,SAAmC,qBAXR,8CG3kDymkE,aHsxDvpkE,OAD4B,IAArB,YAx0DR,EAw0DqC,MAx0DrC,EAw0DsD,MAAY,qCAomBrD,QAAM,SAAN,QAAgB,OAAO,EAApC,IACA,EADa,EACS,IAAW,qBAC7B,YAAe,GAAY,WAAO,gCA+6C1C,MAAY,KAAa,MACrB,EAAQ,WAEJ,IAAE,EAAQ,EAAV,GAII,OAAU,MAAV,IAAU,cGjzHimmJ,SH7DnlmJ,EA+2Hc,IADtC,KG52HL,EHu2HH,OAEI,OACI,EACA,EAFJ,YASY,MAAZ,EACA,IAAI,GAAJ,MAAuB,UAEZ,MAAX,IAAI,GAAO,MAAW,MAAX,KAAW,IAAI,IA57CZ,CAAd,WAA8B,EAAU,EAAO,IACxC,mCAoBP,WAAc,KAtlClB,IAulCI,MAvlCJ,cAAkB,QAAO,MAAzB,OAylCI,MAAa,WACb,EAAU,EAAO,MACjB,EAAc,EAAO,MACrB,EAAU,EAAO,MACjB,QAAkC,EAAK,EAAS,GAChD,QAAiB,EAAO,MAAQ,MAChC,SACA,EAAO,MACP,QAAiC,EAAK,EAAS,SAjmCnD,+BA+mC+B,IAAlB,YAkkDb,GAA4B,GAjkDvB,2DAEL,iBAAuB,MAAvB,KAAuB,MACnB,WAAc,IACd,SAEA,uCA8DJ,OAFA,QAAM,EAAK,MAAM,EAAO,qBAMpB,eAC+B,QAA/B,EAAY,uBAAmB,EAAnB,MACZ,QAAgB,IAAK,GACrB,MAAY,GACZ,EAAM,IAAM,cAEZ,QAAiC,GAAd,QAA6B,QAAO,OACvD,EAAW,QAAO,OACF,KAAiB,YAAjB,OAGsB,QAAlC,EAAe,uBAAmB,EAAnB,MACf,MAAY,KACZ,SACG,uBANP,QAOA,QAA0C,MAAhB,IAC1B,QAAgB,IAAK,GACrB,EAAM,IAAM,UAtBhB,OACO,kCAoCP,MAAgB,WAAgB,MAAc,WAAgB,MACzD,KACL,gBAA2B,GAC3B,UAAO,QAAP,EAAO,KAAP,EAAO,IAAI,eAAmB,MAAvB,IGxhFo0iG,WAAO,gCHwhF30iG,EACoB,iBGvkF/B,MHykF8B,MAAT,GACZ,EAAM,QACN,EAAM,QAAQ,aAYf,SAZC,IAEmB,MAAhB,EAAM,MAAU,SAChB,IAAmB,WACf,WAAO,IAAO,WAAO,OAErB,WAAO,IAAO,WAAO,OAHzB,UAMJ,OAAwB,KACxB,EAZJ,QAiBA,OADA,SAAa,GACN,mCA+HK,iBAsJZ,EAtJA,KAsJmB,UAtJnB,KAwJI,MAAU,EAvJV,cAiwCJ,II1iIU,UAqMynmG,EArMznmG,WAAd,GAAc,KAAT,MAAS,UACV,MAoMmomG,EApMxnmG,EAAI,GJyyFe,EA1yFrC,EA0yFqC,KAAI,EA1yFzC,EA0yFyC,KAC1B,EAAa,EAAG,MAChB,EAAe,EAAG,MAAU,IAAY,GACxC,EAAyB,UACzB,SAEA,QAAO,SAKK,MAAR,EAAQ,CACR,MAAkB,EAAG,MACjB,KAAe,aAWf,SMgDvB,IHrvFg+D,EGovFj7D,EAC/C,MHrvFg+D,UGpGx5D,EAy1Fd,IAAW,GAGpD,WACR,EAET,MR7zFuD,KQ+zFrC,4BACN,eADM,KRp8Eug3F,EA/O792F,MQssFT,QAAO,uBAp3Fc,EA6FlD,YNyuFH,MAAmC,GAAf,EAAK,MAA2B,EAAK,WFz6E8p4F,EA/O9q4F,IE0pFvB,CACd,QAAO,SASP,MAAY,WAAU,IAAY,GAClC,QACI,EACA,QAAiB,GAAS,EAAc,IAF5C,GAOJ,QAAO,cAyBP,MAAgB,EAAK,MG/wFw7D,EAA2l0G,EAA3l0G,aH20Fz9D,MAzDgB,KAyDO,MACvB,EA1DgB,KA0DU,MA1DV,KA2DhB,MAAqB,SA3DL,KA6DZ,MAl4FJ,EAs0FoB,MAAkB,EAAU,IAAY,EAAK,OAt0FjE,EAu0F2B,IAAW,GAClB,WAAqB,EACrB,QFx1F4B,QEm4FhD,MAzCoB,KAyCD,UAzCC,KA2ChB,MA3C4B,QA30FhC,EA+0FmC,MAHX,QACW,EAAK,MACP,EAAG,MAFZ,EAIoB,EAAK,MACvB,4BANN,KA8ChB,MAAU,IF7gFw0/F,EA/Ojy/F,ME8tF7B,QAAO,iBAwC3B,kBA9DY,KAgEZ,MAAc,EAhEF,KAiEZ,MAAqB,YMv7FwC,EA6FlD,ON0zFP,cAonCR,UIpiIJ,GAAc,GJk7FN,QAAO,IAMP,WAAqB,EASrB,qBAzJJ,KA2JI,MAAU,GATd,uCA2DI,YACA,WAAO,IAAU,kCA4BP,YAylCd,GAA4B,GAzlCE,6DAC9B,YAAc,MAEV,YAEA,YAAc,wCAUL,WAAQ,KA0kCrB,GAA4B,GA1kCO,mDAM/B,EAAuB,OFjnFqqpG,WA/O3opG,MEk2FjD,aAEA,QAAU,EAAwB,MFrnFyypG,WA/O1xpG,mCE+/GiB,OAArB,wCAEJ,OAAV,yCAC6B,OAAlB,SAAY,iCACZ,6BAAD,MAAC,KAAD,KAAuC,mCA7rBvE,WAAQ,KA8lCrB,GAA4B,GA9lCO,gDACnC,QAAU,EAAwB,2EAtiEE,MAAL,wDAD/B,0LAjrBK,+CACA,+CACA,+CACA,+CACA,+CACA,+CACA,gGAYA,+JAjRT,+CACA,+CA0Bc,UAAH,kD4CbohB,WA1Dvc,qC5CqFpF,MAAoC,MAAX,EAAiB,OAAU,EAAK,GAAc,EACvE,OAAc,GAAP,WAAW,iCAMkC,OAArB,WAAS,EAAI,gCAER,OAAR,8CAKxB,EAAO,MSkB8D,IA0pD7D,EA1pDkD,WAAW,KA0pD7D,YAAX,MAAW,MT1qDJ,EAi/CH,EAj/CwB,MACjB,IAAY,EAg/CnB,EAh/CyB,MAAkB,EACnB,GAAZ,KAAqB,IA++CjC,EA/+CuC,MAAkB,EAAW,EAA7B,WAEjC,EAAK,MSsBkC,IAgpDtC,EAhpD2B,WAAW,KAgpDtC,YAAX,MAAW,MTpqDJ,EA2+CH,EA3+CwB,MACjB,IAAY,EA0+CnB,EA1+CyB,MAAkB,GAClB,EAAO,EAApB,SAA6B,IAy+CzC,EAz+C6C,MAAkB,EAAW,EAA7B,yCAM9C,EAAO,MSwBf,IAooDgB,EAtoD6E,WAE7F,KAooDgB,YAAX,MAAW,MT1pDJ,EAi+CH,EAj+CwB,MACL,GAAZ,MAAuB,EAAO,EAA9B,GAg+CP,EAh+C4C,MAAkB,GAAM,EAAW,EAAjB,GAAlB,EACpB,GAAZ,KAAqB,IA+9CjC,EA/9CuC,MAAkB,EAAW,EAA7B,WAEjC,EAAK,MS8BM,IAwnDV,EAxnDD,WAAW,KAwnDV,YAAX,MAAW,MTppDJ,EA29CH,EA39CwB,MACL,GAAZ,MAAuB,EAAO,EAA9B,GA09CP,EA19C4C,MAAkB,GAAM,EAAW,EAAjB,GAAlB,GACnB,EAAO,EAApB,SAA6B,IAy9CzC,EAz9C6C,MAAkB,EAAW,EAA7B,oCOL3B,iBAE3B,EAFsC,EAEtC,MAAY,UAAU,EAAI,EAAa,GAsFvC,KAAI,EAAK,mCPxEL,MAAgB,cAAW,MACV,MAAb,GACA,MAAY,EAAU,MACtB,EAAiB,EAAW,EAAU,MAAtC,KACA,QAAsB,EACJ,IAAd,MSuCgB,IA2lDZ,EA3lDC,WAAW,KA2lDZ,YAAX,MAAW,STzLP,EAv8C0B,OAAa,IAAS,GAu8ChD,EAv8CkE,GAAlB,CACrC,MAs8CX,EAt8CyC,MAAY,EAA1C,EACI,GAAY,IAq8C3B,EAp8Ce,MAA2B,IAI3C,OAAO,EAEX,OAAO,gCAI4B,oBAAW,EAAQ,OAAnB,EAA8B,MAA9B,EAA8B,KAA9B,EAA8B,MAAe,OAA7C,SAA2C,EAA3C,gCAGA,oBAAW,EAAQ,OAAnB,EAA8B,MAA9B,EAA8B,KAA9B,EAA8B,MAAe,OAA7C,SAA2C,EAA3C,gCAInC,oBAAW,EAAQ,OAAnB,EAA8B,MAA9B,EAA8B,KAA9B,EAA8B,MAA0B,OAAxD,QAA2C,EAAQ,MAAnD,2DAOJ,+CAKA,+CAQA,+CAEwD,OAA7B,WAAM,IAAa,2EAxL9C,0FAMA,kIAlDJ,4oBG6J01hC,EAAX,WAAW,GAAY,GanE9whC,GAm4B3D,GACT,WAAW,GAp4ByD,GAq4BpE,WAAW,GAAO,IAElB,WAAY,EAAI,qCbp0BoqiC,EAAZ,WAAY,GAAY,GanE5niC,GA84B3D,GACT,WAAY,GA/4BwD,GAg5BpE,WAAW,GAAO,IAElB,WAAW,EAAI,oClBthB0woB,WA/OhvoB,OY1LzD,MAAkB,SAOyxpC,2BAAsD,iBAAW,IAAO,EAAlB,KAA2B,GAArC,MAAK,MAAK,WAAwD,MAAe,aAAW,GAA4C,WAAb,MAAuD,EAAS,YAAtJ,GAArC,wBAH70pC,SAAW,QZqa0rpB,WA/OtppB,OY1LzD,MAAkB,SAOgsqC,4BAA6C,iBApB3uqC,mBAAd,GAAc,MAAT,MAAS,UAAmB,MAAW,IAAI,GMs+BlC,WAAW,GAr+B3B,KAs+ByB,YNv+BvB,GAAc,wBAiBV,SAAW,sCZqayhqB,WA/Or/pB,OY1LzD,MAAkB,SAO+hrC,2BNiLhnN,iBArMn79B,mBAAd,GAAc,KAAT,MAAS,UACC,IAAI,EYAf,SZDJ,GAAc,GMoBssrC,WAAY,KAL5trC,qBAEM,SAAW,sCZqa+1qB,WA/O3zqB,OY1LzD,MAAkB,SAOo2rC,4BAAyC,MAAe,WAAW,IAAsC,EAAS,MAAqC,MAAe,EAAS,IAA+B,EAAS,KAAiC,EAAS,MALnnsC,qBAEM,SAAW,mFMsUZ,+CAqIuB,OAApB,WAAS,mCAE4B,OAAR,kDAgH9B,CACH,QAAU,WAAqB,KACV,OACjB,SAAM,aAA+B,UACrC,oBsBxhB6zrB,GAAK,WtByhBl0rB,iBACc,MAAC,iCAA+B,WAnhBE,MAAM,GACnE,GADyF,MAkhB7D,SAAC,GAAD,GAAC,KAAD,KAA2B,GAH9C,WAMI,WAAqB,IAAc,EAAK,GAAnB,CACV,MAAP,IGtlBixvB,WSZ6sB,SAAl5wB,MZumBhF,4CAMM,oBAAT,MAAS,SACG,WAAT,QAAkC,WAAT,OAAwB,OAAO,EAEhE,OAAO,gCAGoE,OAA9B,WAAS,IAAe,qCAwDhE,KA7MgC,MAAS,MA6MzC,CACQ,MAAT,WAAS,SAAuB,MAAvB,WbpiBgktB,EAA6C,KAAU,GAAqB,WAAa,IAAI,EAA7F,MAAwL,OAAgD,WAAc,IAAY,OM+wBv1tB,IA84BoB,EA/4BqB,EACzC,MA84BoB,YAAX,MAAW,MOjnCI,WAAc,IAkaiolB,EAlajnlB,Ib5iB+htB,EAAic,IAAW,GA9C7huB,qCgB9E812B,WSZ6rB,QAAwB,GAA+J,mBAAx3zB,EAAY,KAAy4zB,MAAj3zB,GAAS,OAAiB,IAAkpzD,EAAlpzD,KAAW,GAAuozD,WZ6sBli4D,QY7sBki4D,cZ+sBzi4D,OY/sB2F,+BTY6l3B,WHssBrr3B,SA2NA,SAAc,UbryBo/vB,EAAT,WAAS,IAAU,Ua9Ej8vB,GA4pBjD,SA0NlB,GAAU,Ibn2Bf,Was2BM,IlBlfimV,KAAsoQ,MA/O3rlB,KkBkuBT,IAApC,GAjOR,KAiOgC,OAAY,MA3N/C,OAqNG,yCZn6BU,UAqMq1pB,EArMr1pB,WAAd,GAAc,KAAT,MAAS,UACV,MAoM+1pB,EApMp1pB,EAAI,OYktBmB,GAltBlC,EAktBqC,KAAM,MAAe,MZ1oB3C,CAAe,GAAO,iBAzEzC,GAAc,GA0Ed,GAAO,EYyoBH,GAAwB,GA+MxB,OAAc,MbryBy+wB,WAAS,IAA+B,GAAi9O,KawyBx+/B,GAAU,WAGT,IlBlf+lW,KAAwoP,MA/O3rlB,KkBkuBT,IAApC,GArNR,KAqNgC,OAAY,qCA/M5C,MAAc,OAAwB,Yb7lBg6E,Ea8lBt7E,EAAM,Mb9lBg7E,UGwpB/6E,GA5vB0C,EA4vBvB,gBA5vBuB,EA6GlD,MUylBf,EAAQ,mCG9tBgt8B,WSZisB,QAAqB,YAAqB,SAA329B,kCTY4y8B,YrBqb3niB,WA/Opta,M8BlNgk+B,QAAqB,+CTYxkB,WSZisB,WAAS,O9Bic5rjB,KAAK,MA/Ohib,M8BlN+6+B,IAApC,GAAwB,YAAY,yCTYnkB,mBSZ4lra,EAA35pa,WAAU,MAAi5pa,eAAhB,EAAgB,IAAX,MAAW,aZizB99oc,MAqSul2Z,aArSvl2Z,UAA4B,MAA5B,KAA4B,MYjzB6B,gDZm0BvE,MAAN,IAAc,KAAM,OAAQ,GAAc,EAAd,OACnC,WAAuB,aAAvB,GAAuB,EAAvB,KACA,WAA4B,QAEzB,YAEC,WAAuB,KACvB,WAA4B,aAE7B,IATP,yCAaI,EAAM,OACN,OAAwB,GAE5B,MAAa,EAAM,aACL,MAAV,GAAmB,WAAU,IAAW,IAAY,EAAO,OAE1D,EAAO,OAEP,EAAM,MAEJ,QAAkB,EAAO,EAAQ,GALpC,qCAkDJ,WAAa,IAAO,EAAU,iCAKhB,WAAV,QACA,WAAc,IAAY,iCAzalC,8CD1WmkgB,WA9C/jgB,MAAM,GAA8B,GCmahB,gCACpB,SAAkB,GAClB,WAAO,IAAe,KAAM,8CA4b5B,GAAc,MGj6B2orB,WSZqsB,SAAgE,WAAS,IAAe,SAAqB,GAAn3sB,KZg7BhF,GAAU,WAGT,IlBlf68I,KAA0xc,MA/O3rlB,KkBkuBT,IAApC,GArYR,KAqYgC,OAAY,iRIn5B4C,OAAxB,+FActC,OAAJ,yUELlB,yEAEP,OAJ2B,4HAiOxB,iBAAK,MAAL,GAAK,GAAL,EAAa,6BAAR,aACL,WAAY,GAAN,WAAM,UAAe,WAAf,qCAIZ,iBAAK,MAAL,KAAK,gBACL,WAAM,kCAIN,iBAAK,MAAL,KAAK,gBACL,WAAM,8EAzNN,WAA0C,iBAR1C,iCAYA,iBAAW,MAAX,KAAW,KACX,WAAY,mHC9DwD,OAAzC,QAAW,YAAQ,IAAK,KAAW,YAAM,oCAvB5E,0XEAA,uSC6DI,wDAO0C,MAAf,YAAuB,mBAAQ,MAAR,EAAQ,KAAR,EAAQ,QAAR,qBAAsB,sCAEzB,QAAJ,MAAT,0CAWtB,WADA,EA7Ca,EA8CL,YAEmB,EAAnB,wCALe,QAAD,IA3CT,EA2Cb,2CAmBA,WADA,EA5DwB,EA6DhB,YAE8B,EAA9B,wCAL0B,QAAD,IA1DT,EA0DxB,2CAiBA,WADA,EAzEwB,EA0EhB,YAE8B,EAA9B,wCAL0B,QAAD,IAvET,EAuExB,2CAkBA,WADA,EAvF0B,EAwFlB,YAEgC,EAAhC,wCAL4B,QAAD,IArFT,EAqF1B,2CAqBR,2BAAO,MAAP,EAAO,KAAP,EAAc,EAAU,IXFiB,MAAM,GAA8B,uDWU7E,mBAAa,MAAb,EAAa,KAAb,EAAa,IAAW,KAAM,GAAoC,OAAlE,QAAkE,KAAlE,8BAOA,WAAc,KACd,WAAmB,KACnB,WAAsB,mCAQtB,WAAmB,+BAUnB,iBAAa,MAAb,KAAa,IAAW,KAAM,oCAOyB,WAAa,+BAmBlC,QAAD,IAtKT,GAsKhB,2CAeR,WAAe,EACf,SAAU,gCAIV,SAAU,oCAjCyB,IAxJT,GAgMtB,KAxCI,OAwCO,kBACd,6BvB5Ew+F,SuB4Ev7F,WAhJ3B,IvBSpB,SuBuIF,KACI,MAAI,EAAU,eACf,OACc,mCvB/EkpG,UuBgF5pG,WApJe,IvBSpB,SuB0Ie,EAAd,EAGA,IAAQ,EAAY,EAAS,qCAQyB,QAAJ,MAAvB,6CAWd,MAAb,EAAmB,OAAO,EACJ,4BAAuB,OAAO,EAAxD,QAA0B,KAEtB,EAAU,kBjBgD0D,mBAo4ClD,MAAW,GAAO,WAC5B,MAr4C4D,EAq4C5D,YAAX,MAAW,aiBn3Cg84C,QA/Dh84C,SAAoB,GAAa,EAAS,OjBk7C/B,CAAoB,GAAO,WACtD,GAAO,IiBr7CW,kDAUd,oBAAa,MAAb,YACI,gBAAkB,MAAlB,QvBpH8iJ,SAAY,OAjBrkJ,QAGC,EAc4/I,EAd5/I,SAJqC,EACtC,MAD2C,MAC3C,gBuBqIW,EA5IS,MAAK,GAAL,eA4IT,EA5IyB,MAAO,GA2IpC,EAK4B,IAAa,SvB1IV,EACtC,iBAiByxJ,SAAY,wCuBuIvxJ,4BAAkB,MAAlB,IAAkB,mBAOhB,cAAqB,MAArB,UmBvJC,QAAQ,EAoEu/G,EApEv/G,SAAlB,EAAU,KAAL,MAAK,gBnBgJH,EAtKL,MAAK,MAAL,YAsKK,EAtKW,MAAO,KA6KgD,EmBtJjE,CAAsC,GAAO,iBADrD,EAAU,GAGV,GAAO,InBoJuB,SACxB,4BAEM,UAAgB,GAAS,GAV9B,EAU2C,UACtC,iBmB/KZ,MAAuB,EACb,IAAQ,EAuFu/G,EAvFv/G,SAAlB,EAAU,KAAL,MAAK,gBAuF+/G,EArF3/G,MAAK,GADf,QACU,EADV,KAEA,EAoFqgH,EApFz/G,MAAO,G1CyBw8L,IAnCz9L,IAmC0+L,MuBpEz9L,GA2NC,EAAY,IAnMjC,EAmM6D,GACvC,SApMtB,EAoMsB,cAA+B,MAA/B,QACG,EAAY,IADf,GAEG,cAAqB,MAArB,IvB1JgyM,EAAgG,IAA3P,GAAuU,IAA5K,EAAoK,QAAyD,QAAsB,kBA3D5iN,I0CoCS,IAAoB,IAkFy+G,EAjF7/G,MAAK,GAAoB,EAiFo+G,EAhF7/G,MAAO,GAAoB,GAE/B,eATR,EAAU,GAYA,QAAuB,EA2Ew+G,EA3Ex+G,SAAjC,EAAU,KAAL,MAAK,UA2E+/G,EA1ErgH,MAAK,GAAK,WADd,EAAU,GA2E+/G,EAxEzgH,MAAO,EnBiL2B,IA7B3B,EA6BmB,QAAW,QAAmB,yBAE7C,KA/BX,2HCmcuB,qPACX,sBAAM,WAAN,gLADW,iVApUqC,4MAsRhD,qEArRZ,MA1UK,UA2UL,MA3UK,UA4UL,MA5UK,UA6UL,MAvXqB,UAwXrB,MAxXqB,uCAkYd,wDACH,WAsQQ,qBAtQR,OAsQQ,iFAlQS,uBACJ,kBAGE,GAFH,kBACC,0FAWb,WAAiB,IAAe,sEAAf,gNAlCuC,iMAyS3B,mOAE7B,WAAkC,GAAjB,iBACjB,cAAkB,4BAKlB,MAAuC,MAAsB,gBAS7D,QAAW,iEAKM,4BACT,uBAtsBqB,gCAAd,GAAc,KAAT,MAAS,UACpB,aAAI,GAqsB8B,YAtsB5B,GAAc,qBA0sBzB,GAAe,+BAAf,yCARJ,8DAYI,WAAwB,KACX,iBACL,mBAAc,aACd,iBAAY,MAEhB,eAEJ,QAAc,0CAnBlB,sBAYI,WAAwB,KACX,iBACL,mBAAc,aACd,iBAAY,MAEhB,eAEJ,QAAc,kBAnBlB,6HAnB6B,sQAlB5B,2DAhqBgB,WA6VgB,WAAkB,OAG7D,GADI,YAGiB,MAKqC,WACnD,UA0ToB,uBACL,gBA1pBF,KA+VsB,WA/VjC,GAkCR,WA2nBqB,iBA9ToB,cAxW1C,GAyWA,WAAY,KAzWZ,uSA0FE,+CA6DkB,uDAkP0B,WAAoB,uEAApB,wCAokBP,OAj7BK,iCAq7BzB,OAAL,qER18B2gwC,WQ+9B3/vC,WAAhB,OAGG,MAFH,KbptB6j9B,MA1Ppk9B,EA0Pgm9B,KaqtBzl9B,UAHR,QACI,EAID,MALH,IE98BQ,KA2CS,EAAb,SCoEkwmC,EApH1wmC,GAAkB,GAAe,oCXX2hxC,WQ++BpjxC,KbnuBsi+B,MA1Pzi+B,EA0P4k+B,GakuB7k+B,QAEI,SACD,MAHH,IE99BQ,KA2CS,EAAb,SCoEuynC,EApH/ynC,GAAkB,GAAe,oCXXgxxC,gCZqUjzxC,QAgbsqmB,EAhb1pmB,GAgbmqmB,MA/a3pmB,MAAT,EAAS,KAChB,ET7QgD,KS2rBknmB,EA7alqmB,GA6a2qmB,EA7alqmB,KACT,SAEA,EALJ,EoBg0BkC,EAAI,GAhJL,CAAzB,WAAuC,EAAU,MAAS,mCRt/BqgyC,WSZssB,WAA98iC,GAA8+iC,EAAa,GAA9tzC,mCDohCvF,ORxgC8yyC,WQugC3yyC,WAAgC,GAAO,mCAhQ3C,MAA2B,EAAY,SAqIvC,MAAwB,SACpB,GArIJ,EAAU,GAqIuB,GArIjC,EAAU,EAAa,cM/qBvB,MAyxBE,EAzxBa,UA0pBkB,EAAY,IACnD,GAzpBU,qBAuxBF,EArxBE,IAAe,oBNqzBf,GA1IJ,EA0IkB,IAtIb,GACQ,WR7wBk3gC,WSZ0sB,WAAO,KAAP,aAAyE,WAAhB,OAAyD,WAAzg/B,EAA8h/B,8BTYpJ,WfoMj0O,cArMjvzB,MAyDd,EAzDc,WAAd,GAAc,KAAT,MAAS,UACV,MAwDJ,EAxDe,EAAI,MuBqyBoC,GAxyBZ,EAwyBe,MAAe,GvB5uBjE,CAAe,GAAO,iBA1D9B,GAAc,GA4Dd,GAAO,MwBvEoyjC,EAA2C,YDmzBl1jC,M7B7uBgD,S6B2vBhD,W7BhYumhB,EA/OljhB,K6BinBjD,KAAoB,EAAU,MAC9B,UAhCJ,MAAoC,GACpC,EAAY,MACZ,EAAY,MAEP,GAGQ,oNrB+7BsC,OAAb,WAAU,+CAEpC,gBAAW,iBAA6B,gCAA7B,EAAM,cAAuB,WAAiB,KAAI,oEAnmB7E,+CAc0F,OAAlF,WAAe,YAA0B,GAAP,WAAc,QAAoB,2CAKV,OAAlC,GAAP,WAAc,QAAoB,kCAKa,OAArC,GAAP,WAAiB,QAAoB,kCAKK,OAA/B,GAAP,WAAW,QAAoB,kCAM3D,MAAc,QAAoB,GAClC,OAAkB,GAAP,WAAoB,GAAU,WAAa,GAAP,WAAsB,IAAe,mCAMX,OAArC,GAAP,WAAiB,QAAoB,kCAMlE,MAAc,QAAoB,GAClC,OAAkB,GAAP,WAAc,GAAU,WAAa,GAAP,WAAO,KAAS,IAAwB,yCAKtD,OADU,EAAQ,YAAU,EAAQ,YACpD,IAAV,YAAwB,IAAT,gCAE4D,OAAjC,SAAa,EAAO,qDAO3D,IAAS,aAAU,mBACnB,EAAQ,WAAW,IAAO,KAAM,EAAQ,SAAU,GAAV,OAEpC,MAAgB,WAAW,IAAQ,KAE/B,EAAY,EAAK,EAAQ,SAAU,GAAV,GAChB,SAAW,WAAZ,GAA2B,WAAS,IAAK,GAAL,EAIxD,OAAO,EAAQ,GAAS,EAXxB,gCAkBA,MAAc,QAAoB,GAClC,OAAkB,GAAP,WAAc,GACrB,WAAM,QAA8B,GAAP,WAAO,KAAU,KAC7C,mCAM+C,OAA7B,SAAK,EAAO,IAAW,oCAKlD,gDAM6C,OAAb,GAAP,WAAO,KAAO,gCAkBnC,YAAS,EAEL,WAAW,MAEX,QAAe,UACf,QAAc,WAAM,OAAO,WAA3B,EAAwC,YACxC,UAEJ,WAAM,IACO,KACA,WACI,WACL,WACI,WACF,yCN3ErB,IADkF,YAq7F3E,GAA4B,GM/1FM,gCAClC,SACA,WAAe,EACf,WAAkB,SAAW,WAA7B,EACA,WAAc,EACd,WAAiB,EACjB,WAAY,gCAQZ,MAAa,WAEb,OADA,SAAI,GACG,gCAOP,MAAc,QAAoB,YN5FqB,GAAP,WAAc,IAo6F9D,GAA4B,GMt0FvB,uEAEL,WAAM,QAA8B,GAAP,WAAO,KAAS,KAAa,gCNzF/B,YAChC,GA45FK,GAA4B,GM1zFM,oDAClC,MAAa,WACb,EAAyB,QAAoB,INhGjD,GADA,WACO,IAw5FH,GAA4B,GMvzFwB,qCACpD,QAAY,EAAG,GACf,MA0tDJ,EA1tDI,EAAsB,GAAP,WAAO,KAAS,GAC/B,EAAiB,QAAuB,MACpC,WAAc,GAKd,MAAkB,WAAc,EAAhC,OS9sC4h3C,EAAc,GA9C9i3C,MAAM,GAA8B,GT6vCN,4CACtB,EAAc,IACd,WAAM,EAAa,EAAnB,GAAwB,WAAM,EAAa,EAAnB,IAE5B,WAAM,EAAa,EAAnB,GAAwB,WAAM,KAElC,WA4sDJ,EAAiB,GA5sDC,EA8oDgB,GAJD,EAkEjC,EACA,EAAK,GAtCoB,UAsCN,EAAK,GA5sDpB,WAAM,GAAc,EACpB,gEAMgE,OAAtC,QAAkB,WAAc,mCAKiC,OAAjD,QAAkB,EAAO,IAAW,MAAO,iCNjFvE,YAAe,YA22F7B,GAA4B,GM9wFvB,+BAEL,WAAM,QAAuB,WAAc,EAArC,IAA2C,kCAOjD,QAAc,QAAoB,YAClC,EAAwB,GAAP,WAAO,KAAU,GAClC,EAAsB,GAAP,WAAO,KAAU,QAAoB,WAAe,EAAnC,IAChC,EAAiB,EAAa,EAA9B,EN9FiD,GAAc,GAAc,EACjF,IMgGQ,EAAC,kCAAgC,EAAK,cAAY,WN+vFtD,GAA4B,GADd,KM5vFd,MAAkB,QAAuB,GACzC,EAAa,WAAM,GAEnB,OADA,WAAM,GAAe,EACd,+BAQH,WAAc,GACd,QAAY,EAAG,kBAEZ,WAA6B,aAApC,OAAoC,iBAA7B,EAAM,QAAuB,oCAO+B,OAAhC,SAAK,SAAY,GAAS,mCAO7D,MAAc,QAAoB,GAClC,EAAwB,GAAP,WAAO,KAAU,GAClC,EAAsB,GAAP,WAAO,KAAU,QAAoB,EAAa,EAAjC,IAChC,EAAiB,EAAa,EAA9B,OACmB,GAAf,KAAgC,GAChC,OAAgB,WAEpB,MAAkB,QAAuB,GACzC,OAAO,WAAM,sCSnyC+q9C,GAAU,GA1Gts9C,MAAM,GAAiC,GTq5Cf,+BS3yC2t9C,YAAe,GA9Clw9C,MAAM,GAA8B,GT01CT,0CACb,IAAV,EAAa,YACjB,QAAY,WAAe,EAA3B,ENvGyB,GAAS,YAAU,GACpD,aMyGY,EAAC,0CAAwC,WAAM,IAAE,WAAe,IN2sFpE,GAA4B,GADd,KMxsFd,WAAoB,EACpB,MAAqB,GAAP,WAAO,KAAU,QAAoB,IACnD,WAAmB,EACnB,WAAsB,+BAatB,MAAe,WACf,WAAe,EACf,WAAqB,GAAP,WAAO,KAAU,QAAoB,iCAQ/C,kCAAiB,IAAjB,GACA,2CS90C6hgD,WAAc,GA9C/igD,MAAM,GAA8B,GTo4CV,gCACpB,2BAAF,EAAE,EAAe,IAAf,UNzGF,WAAe,MACxB,WAAW,KA6wFN,GAA4B,GMnqFnB,iDAEL,0CS31Cu9gD,IAAf,WA1G58gD,MAAM,GAAiC,GT68CV,wCAC7B,QAAiB,EAAwB,YAAgB,EAAsB,4CAgBlF,OALyC,QACtC,EACA,GACS,EACM,0CAMqE,OAA7D,QAmhDH,IAnhDuB,GAAc,EAAqB,8CAejF,OALqD,QAClD,EACA,GACS,EACH,gCA0EN,MAAgB,WAAc,EAC9B,EAAmB,WACnB,EAAsB,WAEtB,EAAiB,WACjB,EAAmB,QAAoB,GACvC,EAAe,WACf,EAAmB,EAAe,EAAlC,EACA,EAAoB,GAAP,WAAc,MACvB,EACO,GAAP,WAAuB,EAAc,GAC9B,GAAP,WAAuB,EAAc,GACrC,WAAY,WAAe,OAAY,EAAQ,EAAO,GAAtD,EACA,WAAgB,GAAP,WAAO,KAAO,WS99CgmpD,IAAgB,EA1G3opD,MAAM,GAAiC,GT2kD9B,yCAGL,MAA0B,GAAP,WAAiB,GACpC,EAAsB,GAAP,WAAiB,GACzB,GAAP,WAAuB,EAAc,GAC9B,GAAP,WAAuB,EAAc,GACrC,MAAgB,WAAW,MAC3B,SACA,WAAc,EACd,MAAyB,GAAP,WAAO,KAAO,MAChC,WAAY,WAAe,MACvB,IAAe,GAEf,uBAAiB,EAAQ,EAAO,EAAW,EAA3C,UAQA,MAAqB,EAAe,EAApC,EACA,EAAqB,EAAQ,EAAO,EAAW,EAA/C,KACsB,IAAlB,GAAqC,IAAd,MACvB,MAAc,EAEC,IAAX,GACA,IAAW,IACI,IAAd,GAAqC,IAAlB,IAAnB,CAED,MAAqB,QAAoB,MACnB,IAAlB,GACA,MAAqB,GAAP,WAAiB,GAAkB,EAAjD,EACO,GAAP,WAAuB,EAAgB,GAEzB,IAAd,GACO,GAAP,WACI,EACO,GAAP,WAAiB,GAAkB,EAFhC,GAKA,GAAP,WAAc,KAAiB,EAAa,GAChD,EAAiB,GAAP,WAAO,KAAO,GAGhC,sBAAa,EAAb,GAGR,OAAO,qCSlhD4kwD,YAAe,GA1GlmwD,MAAM,GAAiC,GTspDV,gDAC7B,MAAa,cACT,IAAU,EAAV,MS9iDy1wD,GAAS,GAAU,EAAQ,YA1Gx3wD,MAAM,GAAiC,GT4pD9B,oBAAkB,EAAK,uCAAqC,IAGjE,MAAiB,WACjB,EAAqB,WACrB,EAAwB,WACxB,WAAe,EACf,WACA,WAAe,EACf,WAAc,EACd,WAAiB,iCAIiD,OAAtC,SAAc,EAAO,IAAW,oCAMhE,MAAmB,QAAoB,YACvC,EAAe,WAAsB,GAAP,WAAiB,GAA/C,EAGA,OAFA,WAAoB,EACpB,WAA0B,GAAP,WAAO,KAAU,QAAoB,IACtC,GAAP,WAAc,GAAe,EAAc,GAAP,WAAiB,mCS1kD08yD,IAAf,WA1G3/yD,MAAM,GAAiC,GT2rDV,wCAC7B,MAAe,WACf,EAAc,WACd,EAAY,WAIZ,gBAAyB,MAAzB,aH1kDorxD,EAAqD,OAArD,EAAwE,OAAU,GAAlF,EAAiH,MA9CzyxD,KG8nDI,MAAqB,QAAa,EAAU,WAAe,EAAtC,GACrB,QAAY,EAAS,WAAc,EAAnC,EAA4C,EAAW,EAAvD,GACA,WAAe,EACf,WAAc,EAEd,OADA,sBAAa,EAAb,EACO,+BAWP,OAAO,OAJY,GAAP,WAAO,KAAU,QAAoB,aAChC,GAAP,WAAO,KACb,QAAoB,WAAe,SAAU,YAA7C,IAEG,uCS9mDyn2D,IAAf,WA1Gjn2D,MAAM,GAAiC,GTsuDV,6CS5nDgq2D,GAAU,GA1Gvs2D,MAAM,GAAiC,GTuuDf,yCACV,IAAV,EAAa,gBACjB,MAAc,WACd,EAAa,WACb,EAAgB,WAGhB,EAAY,EACZ,EAAkB,EACX,EAAQ,UACX,IAAsB,GAAP,WACD,QAAoB,IADlC,ISvoD0o3D,GA1G9o3D,MAAM,GAAiC,GTovDE,sCACrC,QAGJ,MAAqB,GAAP,WACA,QAAoB,IAElC,EAAkB,WAClB,EAAuB,GAAP,WAAO,KAAU,QAAoB,IACrD,EAAqB,GAAP,WAAO,KACP,QACE,EAAc,EADhB,IAId,EAAkB,EAAU,EAA5B,E+B/qB48kC,aAAe,EAAf,E/B4sB58kC,QAAY,E+B7xBgC,KAAW,IAAI,EAiFm6kC,I/B+sB99kC,QAAa,GAGb,MAAa,WACb,EAA0B,QAAoB,EAAc,EAAlC,GAC1B,EAAyB,KAsqCK,GArqC9B,EAAqB,QAAoB,G6BzMtC,OA2gB462B,GA3gBp02B,IAE3G,KAygB+62B,GA3gBp02B,KAtsB/G,GC/4BuohE,EAA2C,ED+4BnmhE,EAssBX,EAtsB0C,G7Bw5BtG,EAAc,GACd,MAAY,W6BzM8C,UAAuB,EAAY,EAAnC,GAEpD,UAAuB,EAAU,EAAjC,GA1xBd,GAmxBgB,EACV,EAIkB,EAxxBwB,EAAY,G7B0+BxD,OAAwB,EAAY,EAAb,GAA4B,EAAnD,EACA,EAAoB,WACpB,EAAkB,WAClB,EAAoB,WAAM,OAC1B,EAAoB,WACN,IAAc,IAAU,EAAV,KAA5B,EAAc,KAAT,MAAS,UACV,MAAmB,QAAoB,GAShC,GAAP,EAAO,KAAgB,EANP,KAFM,GAAP,EAAO,KAAU,GACN,EAA1B,EAGmB,EAAgB,EAAc,EAAO,EAC3C,EACE,UARnB,EAAc,sBA81Bd,MAAU,EAAmB,EAA7B,EACA,EAAiB,EAAK,IAGtB,EAAoB,GAAR,QAAmB,EAAkB,GACjD,ER7mFgD,QQ8mF5C,GAAS,SACF,EAAQ,QAAQ,MACnB,MAAa,UAAQ,GACrB,EAAe,MAAY,QAEvB,GAAY,GAAoB,EAAW,GAGxC,QAFH,EAAe,EAAI,GACnB,QAAQ,GAAS,GAM7B,MAAgB,EAAc,EAA9B,EFtrFU,MAqM+p7F,EArM/p7F,WAAd,GAAc,KAAT,MAAS,UACV,MAoMyq7F,EApM9p7F,EAAI,GEwrFX,EADkB,MAxrFwC,GAyrFvB,EAAnC,EACI,GAAkB,QA1rFoC,EA2rFtD,UAAoB,EAAa,EAAf,GA3rFoC,EA6rFtD,MAAkB,EAEtB,MAA0B,GAAR,QAAmB,EAAgB,GACrD,QAAQ,GAAI,EAhsF8C,SFAlE,GAAc,IEm1DV,MAAY,EAAc,EAA1B,EAAmC,EAAS,IAGvB,QAAa,EAAc,EAA3B,EAAoC,INqxEzD,GAA4B,GMpxEK,iCAGjC,QAAoB,EAAQ,WAAiB,GAGzC,EAAc,GACd,QAAY,EAAY,EAAxB,EAAqC,GAAa,EAAc,EAAd,GAAwB,EAA1E,0CS/uD6iwE,EAAO,MAAc,GA1GtkwE,MAAM,GAAiC,GAfzB,2BAyH0lwE,IAAf,WA1GzlwE,MAAM,GAAiC,GAfzB,4BAyH6mwE,EAAO,MA1GlowE,MAAM,GAAiC,GAfzB,wBT2hEd,MAAe,SAAY,GAAU,EAArC,EACA,EAAmB,gBSn6D8uwE,GAAZ,KAA+B,YA1GpxwE,MAAM,GAAiC,GAfzB,wBT8hEd,MAAa,SAAO,GACpB,EAAW,SAAU,GACrB,EAAgB,SAAO,GAAW,EAAO,SAAU,GACnD,EAAa,QACI,KACD,EACD,GACQ,GACF,GAGrB,QAAmB,OAGnB,MAAc,EACd,EAAoB,EAAQ,EACrB,GAAW,IACd,MAAqB,QAAoB,GAClC,GAAP,WAAuB,EAAuB,GAAP,WAAiB,GAAkB,EAAnE,GACH,IACW,GAAP,WAAc,GACd,GAAgB,EAET,GAAP,WAAuB,EAAuB,GAAP,WAAiB,GAAkB,EAAnE,IAEf,EAAU,SAAO,MAEjB,GACA,GAAa,YAAa,GAC1B,sBAAa,EAAb,EAGJ,OAAO,uCSr8Dm2zE,WAAc,GA1Gx3zE,MAAM,GAAiC,GAfzB,2BT4kED,IAAT,GAA8B,IAAhB,YAA8C,IAAzB,KAAK,MAAM,MAAX,CAGnC,MAAe,WACf,EAAc,WACd,EAAgB,WAChB,EAAa,EAAM,MACnB,EAAiB,EAAM,MACvB,EAAY,EAAM,MAClB,EAAgB,EAAM,MAWtB,OAVA,WAAc,EACd,WAAa,EACb,WAAe,EAAM,MACrB,WAAqB,EACrB,YAAmB,EAAO,OAk4BA,EAl4BP,GAAkC,EAArD,EACA,WAAqB,EACrB,WAAmB,EAAM,OAAO,EAAhC,EACA,WAAqB,EAErB,EAAM,IAAM,EAAU,EAAG,EAAS,EAAG,GAC9B,KAAK,MHz9Ds7E,QAAoxuE,EAApxuE,YG69Dl8E,QAjkE6D,EAmkEzD,EACA,MACmB,GACF,WAtkEwC,EA6GlD,MAm9Df,OAt9DI,oCAwiEJ,GAAa,YAAe,GAAyC,IAApC,SAAU,WAAe,EAAzB,IACjC,MAA2B,WAC3B,EAA0B,WAC1B,EAA6B,WAC7B,SAAU,GACV,WACA,WHpjEs8E,QAA+t1E,EAA/t1E,YGsjEl8E,QA1pE6D,EA4pEzD,EACA,MACmB,GACF,WA/pEwC,EA6GlD,MA4iEf,MA/iEI,EA6jEJ,OALA,WACA,WACA,WAAe,EACf,WAAc,EACd,WAAiB,EACV,sCAMqC,aAg+BhD,EAAe,KAh+BkD,EAAO,aAi+B7D,EAAW,OAClB,EAj+BA,OAAW,GAAS,WAAe,EAAnC,IAAgD,SAAO,EAAT,IAk+B9C,SAAM,EAAW,EAAb,GAAiB,KACrB,SACG,IAAI,GAn+BV,OA+9BD,gCA59BI,QA60BJ,EA70BI,EAAmB,QAAoB,GAC3B,GAAP,WAAe,OAChB,cAAgC,EA20BxC,EAAiB,GA30BS,EAqwBQ,GAJD,EA0EjC,EAEI,EAAK,GADL,EA5CsB,UA6CH,EAAK,IAE0B,UAA/B,EAAK,GA90BR,GAAP,WAAoB,IAErB,QAAmB,SAAO,uCANtC,oBAA2B,YAA3B,8CH7kEu1/E,EAAP,EAAO,MGuoEhw/E,OA3uElB,EA2uEJ,EAAG,SA3uEC,EA2uEb,EA3uEa,oCA8uEjE,MAAQ,wBAAsB,WAAY,QAAM,WAAe,WAAS,SAAhE,QACE,WAAa,KAAG,WAAgB,WADnC,GAC+C,+BAojBV,OAAtB,SAAW,WAAW,8DAxtFvC,8CAKmC,OAAD,IAAd,+CHoBg8D,mBGTj9D,EA3FyD,aA6FlD,MAEd,OALG,sCHUk8E,mBGO97E,EA3GyD,aA6GlD,MAEd,OALG,kCAcA,WSnCqC,MAAM,GAA8B,yCToC7E,iBACA,OADA,iBACO,OAAmB,oCN2DiB,YA65H3C,GAA4B,GM98HH,yDNkDc,YAAW,GA45HlD,GAA4B,GM78HE,mDAC9B,YAAS,EACT,iBACA,OADA,iBACO,OAAW,wCNqFV,YAq3HR,GAA4B,GM/6HH,gES7Eu6L,EAAO,MA1Gv8L,MAAM,GAAiC,GTwLd,8CACzB,OAAO,EAAO,6CASP,EAAO,WH1EgvK,KAAR,WAAe,EAAO,MAAU,cGpGrtK,GA+KvD,GAAK,gBA/KkD,GA+KnC,WADqC,EAAnE,yCNmEkB,UAAC,YAi2HnB,GAA4B,GM35HH,qBN2DgC,GAAd,KAAsB,YAg2HjE,GAA4B,GM15HsB,wBAC3C,SAAW,GAAX,CACkC,QAAoB,GAAP,WAAiB,GAA9B,EAA9B,EAAP,EAAO,QAAY,GAAnB,iBADJ,4CSnG4/N,EAAO,QAAU,MAAQ,WAAU,GA1G/hO,MAAM,GAAiC,GTqNU,8BACjD,6ES5GukP,EAAO,QAAU,OAAQ,KAAK,MA1GrmP,MAAM,GAAiC,GTsOU,8BACjD,YAAc,EACd,SAAM,EAAQ,EAAY,EAAO,EAAW,yCAe5C,WAAc,EACd,WAAkB,EAClB,WAAa,EACb,WAAiB,EACjB,WAAe,6BAqTmB,OAAlC,OAAc,KAAM,EAAG,gFAYlB,yFACkC,QAAzB,aAAgB,wCACwB,OAAvB,EAAM,IAAY,oCACQ,OAAxB,EAAO,IAAY,mER9I2xtG,WA/O1xtG,MQ6gG3B,aAAK,KAAM,GAAS,aAAK,WAAK,IAAO,EAAjB,KAAuB,GAAQ,YAE7E,MAAY,WAAK,IACjB,WAAK,EAAI,UAGF,EAAQ,IACX,QAAe,EAAQ,EAAT,KAAiB,EAAlB,GAAuB,EAApC,EACA,EAAkB,aAAK,QACnB,EAAQ,GAEL,QADH,cAAK,EAAS,GAElB,EAAQ,EAEZ,cAAK,EAAS,gCAIkB,ORhzFo0uG,WA/O/yuG,iCQgiGhC,OAAP,GAAL,yCN/GO,WAAK,IAAO,GAm/B5B,GAA4B,GMh4BG,qBAC/B,MAAY,aAAK,IRtzFm7vG,WA/O/4vG,KQ2iGzB,aAAK,KAAM,IAEnC,cAAK,EAAU,GAAL,aACV,WAAK,GAAS,WAAK,IAAO,EAArB,GACL,MAAY,EACZ,EAAW,WAAK,IAChB,EAAU,WAAK,MAAU,EAAzB,SACO,EAAQ,IACX,MAAiB,aAAK,GACtB,EAAW,GAAC,EAAQ,EAAT,EAAc,GAAI,EAA7B,EACA,EAAgB,aAAK,GACrB,EAAY,GAAC,EAAQ,EAAT,EAAc,MACtB,EAAQ,GAGR,MAAiB,aAAK,MAClB,EAAa,MACT,EAAa,GACb,cAAK,EAAS,GACd,cAAK,EAAS,GACd,EAAQ,EACR,WACG,cAGX,EAAY,GAIT,QAHH,cAAK,EAAS,GACd,cAAK,EAAQ,GACb,EAAQ,GAIpB,OAAO,+DA1qFX,6CAkCgC,OAAV,yCAU6B,OAAnB,GAAP,WAAoB,gCAKU,OAApB,GAAP,WAAc,0CAKG,OAAb,GAAP,WAAc,iCAWY,OAAhB,GAAP,WAAiB,iCAKsC,OAA3C,GAAP,WAAc,GAAe,GAAP,WAAO,KAAK,GAAY,kCAKnB,QAArC,YAAW,aAAgB,wCAKhB,OAAd,WAAa,+BAKmB,OAAvB,GAAP,WAAiB,0CAMY,OAAhB,GAAP,WAAiB,gCAKd,OAAV,wCAaT,OAFI,WAAe,WAChB,GAAP,WAAW,YACR,gCAKiC,OAAV,GAAP,WAAW,gCAM4B,OAAvC,WAAqB,GAAP,WAAkB,YAAO,gCAKT,OAAnB,GAAP,WAAoB,gCAO4B,OAAnE,WAAe,WAAmB,GAAP,WAAO,KAAU,YAAmB,mCAKnB,OAAhB,GAAP,WAAO,KAAU,gCAKiC,OAA1D,WAAe,WAAmB,GAAP,WAAO,KAAI,YAAmB,gCAKtC,OAAV,GAAP,WAAO,KAAI,iCAeS,OAAd,GAAP,WAAe,iCAMgB,OAAnB,GAAP,WAAoB,gCAK0B,OAA5C,YAAU,EAAU,GAAP,WAAiB,YAAa,kCAuCxE,IACA,EAAW,EAAQ,EAAnB,EAEA,EAHmB,GAAP,WAAkB,GAGR,EAAtB,EACA,OAAW,GAFG,EAAO,WAAmB,GAAP,WAAkB,GAAW,YAEpC,WAAM,GAAuB,yCASnD,WAAa,GAAK,YAAe,WAAgB,OAAgB,WACxD,iBAAb,OAAa,iBAAN,WAAM,gCAQb,oESnuB0k4B,WAAa,GA1Gvl4B,MAAM,GAAiC,GTo1BZ,+BAC3B,+DAO2B,OAAjB,WAAM,IAAM,sCAMlB,YAAc,MSxvB864B,GAAP,WAAoB,cAAiB,WA1G994B,MAAM,GAAiC,GTm2BqB,gCACxD,WAAS,WACT,WAAa,WAAsB,GAAP,WAAiB,YAA7C,EACc,kCAAd,MAAc,EACd,WAAqB,GAAP,WAAkB,GAChC,WAAqB,IAAW,WAAa,EAAxB,GACjB,WACO,GAAP,WAAkB,EAAU,EAArB,oCAQX,YAAc,OSxwB6+5B,GAAP,WAAc,YA1Gtg6B,MAAM,GAAiC,GTm3BK,0BACxC,4CS1wB8t6B,IAAd,WA1Gpt6B,MAAM,GAAiC,GT43BX,yCAC5B,MAAuB,GAAP,WAAc,YAAe,EAAc,GAAP,WAAiB,YAErE,OADA,sBAAuB,GAAP,WAAiB,YAAjC,EACO,kCSrxB6i7B,IAAd,WA1Gti7B,MAAM,GAAiC,GTs4BX,6DAC5B,WAAe,4CS7xBmx7B,IAAd,WA1Gpx7B,MAAM,GAAiC,GT84BX,+CAC5B,WAAe,EACf,MAAiB,EAAQ,WAAmB,GAAP,WAAoB,IAAY,EACrE,WAAc,EAEV,WADA,EAAS,EACS,WAEA,EAAgB,GAAP,WAAiB,GAA5C,EACJ,WAAmB,EACnB,WAAsB,gCAOtB,MAAoB,EAAe,GAAP,WAAiB,GAA7C,EACA,EAAc,gBSrzB078B,GAAW,GAAS,GAAW,GA1Gv+8B,MAAM,GAAiC,GTk6BlC,SAAO,EAAK,uBAAqB,IAEtC,WAAc,EACd,WAAkB,EAClB,WAAmB,EACnB,WAAsB,kCAOJ,IAAd,WAAc,ISp0B019B,aAAgB,WA1G539B,MAAM,GAAiC,GT+6BI,gDACvC,MAAoB,GAAP,WAAoB,YACjC,WAAc,EACd,WAAiB,EAAS,EACtB,WAEA,EAAgB,GAAP,WAAiB,GAH9B,oCAYJ,ERx4BgD,QQy4B5C,WAAa,EAAG,OAAO,MAC3B,MAAY,EACZ,EAAiB,WACV,EAAa,mBAGD,GAAP,WAAW,KACJ,GAAP,WAAO,KAAU,KACjB,IACW,GAAP,WAAc,GAAa,EAAc,GAAP,WAAiB,GACvD,YANR,EAAO,EACH,eAKI,IAGR,IAAqB,GAAP,WAAiB,GAA/B,EAEJ,OAAO,oCAa2B,MADH,sBAAoB,WAAY,SAAO,WAAvC,YACtB,WAAM,SAAO,WAAU,wCAKU,EAAN,WAAM,MAisE9C,EAAe,KAjsEgD,EAAO,eAksE3D,EAAW,OAClB,EAlsEA,OAAO,GAmsEP,SAAM,EAAW,EAAb,GAAiB,KACrB,SACG,IAAI,GApsEV,OAgsED,4DAjQY,OADA,eACO,OACH,iBACA,WAAQ,EAFL,EAGH,WAAqB,GAAb,iBAAM,MAAiB,YAH5B,+DArCiB,OAAX,WAAQ,sCAG7B,SACA,MAAY,WAGZ,OADA,sBAAsB,GAAb,WAAM,MAAiB,GAAhC,EACO,mFAj4DX,+CAKA,yHiCn9BkD,OAAN,KAAK,0IAEE,MAAxB,2KCyFnB,YAAc,aAA8B,GAA9B,EAA8B,yCAGY,OAAvB,OAAiB,yCAEtD,sKA5DK,qDPm7DH,KA97DiE,WA87D1C,gBA77DlB,WAAO,IAAW,EAAG,MACjC,GADmB,KAEA,aAs3DlB,EAAyB,Kd18Dsk+D,6Bci1D3l+D,EAAS,OAET,EAAS,IAAe,GAE5B,MAAS,EAAS,SAEd,EAAU,QAAc,EAAI,OAAO,EAEvC,MAAc,KAAsB,GAKpC,OAJA,QAAqB,EAErB,EAAS,IAAe,GAEjB,EA+GE,CAAL,EAz3DgC,KAw3DhC,EAAoB,WAx3DkB,IAC9C,MAAa,E9BuC4wxE,M8Bi1D7txE,KAEpD,GAAY,EA33DoB,Q9BnB7B,EqCoCF,OP06DiC,8BO/6DD,OAApB,GAAL,WAAc,MAAM,mCAUhB,OAAJ,yCAIR,WAAO,aAAP,GAAO,EAAP,uCASA,QAAqB,aAArB,GAAqB,EAArB,KACA,EAAoB,aAApB,GAAoB,EAApB,KACA,EAAoB,aAApB,GAAoB,EAApB,QACW,WAAO,IAAW,EAAc,MAAO,EAAc,SAC5D,OAEA,QAAa,WAAO,IAChB,EAAe,MACf,EAAc,MACd,EAAc,UAEJ,MAAV,OrCN+mB,EAAd,EAAc,OqC5EjjB,aAoF1D,GAAC,EAAD,YAAoC,IrCnE7C,SqCsEK,SAbR,2CAoBH,MADI,sBA2H+htE,GPjJz+sE,WOiJggtE,YA3H9htE,MAAM,KAAI,yFEvId,OAAH,yCAGd,YAAO,WAAM,SACb,WAAc,GAAN,WAAa,cAAM,OAAO,WAEtC,WAAM,8BAAN,EAAM,GAAS,qCAGF,WAAQ,OAAI,OAAJ,gBAAF,EAAE,EAAR,EAAQ,uCACuC,OAA5B,WAAM,EAAG,WAAY,+BAC9B,OAAd,WAAM,WAAM,EAAZ,iCACsB,OAAZ,WAAM,8BACL,OAAD,IAAP,uCAEF,WAAM,gCAEN,QAAQ,gBAAlB,EAAU,KAAL,MAAK,aACF,WAAM,KAAM,EAAO,OAAO,QADlC,EAAU,GAEV,OAAO,0DApCuB,OAAZ,WAAQ,kCAES,OAAlB,WAAQ,EAAI,gCACQ,OAA1B,WAAQ,GAAS,SAAO,EAAhB,gCACc,OAArB,WAAQ,EAAI,SAAO,EAAX,iCACoB,OAAlB,WAAQ,EAAI,8BACL,OAAjB,WAAQ,iCACK,OAAT,qCACS,OAAf,WAAQ,qCAEI,QAAoB,EAAR,WAAQ,IAApB,EJHqC,GAAiB,MAKV,GAL2B,MIGvE,gBAA4B,eAAQ,GAApC,KAA0B,EAA1B,gBAAqD,aAArD,EAAqD,kGCF1C,OAAP,gFENrB,sFAGA,8CAGA,kDAUL,SACI,WAAO,OACP,oBA2HJ,MAAU,EACV,EAAW,QAAO,EAAlB,EACA,EAAoB,GAAiB,GAE9B,GAAO,IACV,OAAW,EAAM,EAAM,KAAK,EAA5B,EACA,EAAa,QAAK,GAClB,EAAkB,GAAiB,MAE/B,EAAc,EAAiB,EAAM,EAAM,EAAZ,YAC/B,EAAc,UACd,IAAW,EAAc,EACV,KAAe,EAAK,EAAK,GAFT,EAAO,EAAM,EAAb,CAEhB,EAGvB,WAAS,EAAM,EAAR,GA1IK,MAAK,KACA,EAET,OADA,WAAO,GAAS,EAChB,UAGJ,GAAQ,EAGZ,UAAoB,EAAQ,EAAV,MAEd,aAAQ,WAAK,YPJ2C,gBAAK,OAGzE,GOEY,EPzBuD,GAAiB,MAAU,GAAO,MO0BzF,EAAgB,eAAS,cAAK,OAAO,IVTyE,aAI/G,IAAc,EAAd,EAC8B,aAm0BrC,GAAU,EAt0BkB,EAs0BC,EAn0BhC,EAm0B+D,GAn0BQ,iBAId,IAAc,EAAd,EAEjD,aAq4BL,GC/4B0zjC,EAA5yiC,ED+4B/b,EAv4BqB,EAu4BU,GAr4B1E,mBA6zBpC,GAAU,EA3zBK,EA0zBgF,EAAqB,EA1zBjE,GChDL,EDiDf,WAk4B/B,GC76BuE,EA8BixB,ED84BjwB,EAAqB,EA73BpG,GUYA,WAAO,EACP,WAAS,WVbwG,aAE1F,aAExB,IAAc,EAAd,EAC0B,aAizBjC,GAAU,EAAM,EAAa,EAlzBwB,EAkzBO,GAjzBI,iBAI7D,aAA4C,IAAc,EAAd,EAEjD,aAm3BE,GC/4B0zjC,EAA+B,ED+4B1wjC,EAr3Bc,EAq3BiB,GUl2B1G,WAAK,GAAe,EACpB,WAAO,GAAe,EACtB,gEAkCA,MAAuB,EACb,IAAQ,gBAAlB,EAAU,KAAL,MAAK,gBAEI,WAAK,GADf,QACU,EADV,KAEA,EAAY,WAAO,GACd,EAAU,EAAK,KACZ,IAAoB,IACpB,WAAK,GAAoB,EACzB,WAAO,GAAoB,GAE/B,eATR,EAAU,GAYA,QAAuB,gBAAjC,EAAU,KAAL,MAAK,UACN,WAAK,GAAK,WADd,EAAU,GAGV,WAAO,gCAIG,QAAQ,gBAAlB,EAAU,KAAL,MAAK,gBACQ,WAAK,MAAf,QAAU,EAAV,KAA0B,WAAO,IAAK,OAAO,QADrD,EAAU,GAGV,OAAO,gCAIG,QAAQ,gBAAlB,EAAU,KAAL,MAAK,gBACA,WAAK,GAAX,QAAM,EAAN,KAAsB,WAAO,UADjC,EAAU,sElCpIL,+CAGkB,OAAR,WAAO,gCAE+B,OAAd,QAAK,IAAQ,gCAGpD,QAAY,QAAK,MAEN,GAAS,SAAG,WAAO,oBAAP,cAA4B,KAAnD,yCAIA,MAAY,QAAK,MACb,GAAS,EACT,WAAO,GAAS,OAEhB,YAAoB,EAAQ,EAAV,GAClB,EAAa,aAAQ,WAAK,UACP,O2BIrB,gBAAO,KAlBkD,GAAiB,MAAU,GAAO,a3BgBlF,WAFP,UwBD8D,aAIjB,IAAc,EAAd,EAEjD,gBAs0BJ,GAAU,EAx0BH,EAw0BsB,EAx0BsE,EAw0BvC,GxBl0BhD,OwBFb,aAo0BC,GAAU,EAp0BsC,EAm0B+C,EAAqB,EAl0BnF,MxBOzB,EAAS,GAAe,EACxB,WAAO,EACc,O2BI0C,gBAExE,KArCgE,GAAiB,MAAU,GAAO,a3BiClF,WAFP,QwBHc,aAE6B,IAC5C,EAD4C,EAC4B,gBA0zB/E,GAAU,EA3zBP,EA2zB0B,EA1zBU,EA0zBqB,GxBjzBhD,OwBLoB,aAszBhC,GAAU,EAtzByE,EAqzBY,EAAqB,EArzBU,GxBWtH,EAAW,GAAe,EAC1B,WAAS,EACT,iEAKJ,MAAY,QAAK,MACb,GAAS,GACT,MAAW,WACX,EAAW,WACX,EAAa,WwBgyBrB,GA7yByG,EAE1F,EAA0C,EAE9B,EAAQ,EAAR,EACxB,GAwyBH,GAxyBkC,EAA+C,EAIhE,EAAoC,EAAQ,EAAR,EAAsC,GxBiBnF,MAAc,EAAO,EAArB,EAIA,OAHA,EAAK,GAAW,KAChB,EAAO,GAAW,KAClB,WAAY,GACL,EAEX,OAAO,gCA0BO,QAAQ,gBAAtB,EAAc,KAAT,MAAS,gBAEJ,WAAK,WAAL,SAAoB,WAAO,GAAjC,mBAA0B,EAA1B,YAFJ,EAAc,mEOmGgC,OAAZ,WAAQ,kDACjB,WAAsB,MAAO,oCAA7B,EAA6B,GAAa,aAA1C,EAA0C,iEA3M9D,sFAGA,+CAKsD,OAAlB,QAAK,IAAY,qGAOnD,WAAO,GAAd,aAAO,EAAP,mCAOA,SACI,WAAO,OACP,EAAQ,QAAK,KAEA,EACT,OAAO,OAGX,GAAQ,EAGZ,UAAoB,EAAQ,EAAV,MAEd,aAAQ,WAAO,YoBJN,gBAAO,OAAO,GpBKvB,EoBnCuD,GAAiB,MAAU,GAAO,MHsBnD,aAId,IAAc,EAAd,EAAsF,aA+zBtH,GAAU,EAn0BmF,EAm0BhE,EA/zBiD,EA+zBlB,GA7zB9C,iBA6zBd,GAAU,EA5zBX,EA2zBgG,EAAqB,EA1zBnF,GjBgBzB,WAAS,WiBf4C,aAI7D,aAA4C,IAAc,EAAd,EAC7C,aAqzBC,GAAU,EAAM,EAAa,EAtzB6D,EAszB9B,GjBlyBxD,WAAO,GAAe,EACtB,iBACA,OADA,kBACO,6BA2BuB,OAAD,IAAR,wCAKE,OAAR,WAAO,gCAMtB,MAAY,QAAK,MACb,GAAS,MACL,GAAQ,WAAO,EAAf,QiBvCK,aAAmD,aAIpB,IAAQ,EAAR,EAA0C,aA2xB1F,GAAU,EAAM,EA3xBR,EA2xBwC,EAAY,GjBhvBpD,iBAEA,OAFA,iBACA,WAAO,YAAQ,MACR,EAEX,OAAO,gCAOP,MAAuB,EACb,IAAQ,gBAAlB,EAAU,KAAL,MAAK,gBAEK,WAAO,GADlB,QACW,EADX,KAEK,EAAU,KACP,IAAoB,IACpB,WAAO,GAAoB,GAE/B,eAPR,EAAU,GAUA,QAAuB,gBAAjC,EAAU,KAAL,MAAK,UACN,WAAO,GAAK,WADhB,EAAU,GAGV,WAAO,6CT+DF,OA29CiB,MAAW,GAAO,WAC5B,MA59CP,EA49CO,YAAX,MAAW,US59CmD,QAY4jjD,GTg9CpmjD,CAAoB,GAAO,WACtD,GAAO,ES79C0E,OAApB,4EAU5D,OAJsC,oFDnM9B,8CAOA,+CAOA,gDAMA,0FAuBL,qBAuBA,SACI,QAAO,OACP,EAAQ,KAAK,KAEA,EACT,OAAO,KAAW,QAGtB,GAAQ,EAGZ,UAAoB,EAAQ,EAAV,MAEd,QAAO,QAAW,QAClB,MAAiB,QAAW,SAC5B,QAAO,GAAc,EACN,gBAAU,MAAV,adAF,ScCT,QAAU,GAlBZ,IdAH,SciBgB,EAAf,WAKI,EAAc,akBlBlB,UACA,UAIX,IAAc,EAAd,EAGW,UAg1BR,GC/4B0zjC,EAA+B,ED+4B1wjC,EAl1BnF,EAk1BkH,GlB9zBtG,QAAW,GAAe,EAC1B,kBACA,OADA,cACO,EAIX,MAAc,WAAW,OAAO,GAChC,EAAiB,QACjB,QAAsB,GAAV,QAAiB,GAC7B,MAAe,OACf,QAAU,GAAc,EACxB,QAAgB,GAAP,QAAc,GACvB,QAAO,GAAc,EAErB,QAAkB,eAAS,GACjB,UAAO,EAAP,KAAV,EAAyB,KAApB,MAAK,UACN,EAAY,GAAK,QADrB,EAAyB,MAIrB,EAAc,akBZf,UAKT,IACU,EADV,EAEsD,UAgzBpD,GC/4B0zjC,EAAnj9B,ED+4BxrG,EAhzBnE,EAgzBkG,GlBnyB1G,EAAY,GAAe,EACvB,EAAc,ImBjJwB,ED0IlD,QAyyBI,GC76BuE,EA8Bg/G,ED84Bh+G,EAAqB,EAtyB/G,IlBWO,QAAa,EACb,kBACA,OADA,cACO,EAzFQ,MAAuB,GACtB,IAAI,iCAMyC,OAAlB,QAAK,IAAY,kCAM5D,MAAY,QAAK,MACb,GAAS,MRa6C,IAotD9C,EAptD8C,QAE7D,GAktDe,WAltDA,EAktDA,uCQ7nDZ,MAAY,QAAK,MACb,GAAS,GACT,MAAsB,WAAW,GACvB,aAAU,MAAV,QAA8B,OAAO,EAA/C,MAAU,EACV,EAAc,EAAI,IAAO,MACT,IAAZ,EAAI,MAAQ,CACZ,MAAiB,EAAQ,EAAzB,EACA,EAAe,cACX,EAAa,OkBfjB,aAMhB,aAkwBI,GC/4B0zjC,EAA+B,ED6IryjC,EACrC,EAA+C,GlBgBlD,WAAW,WAAO,EAAlB,GAAuB,EACvB,WAAO,GAAmB,KAC1B,kCAEJ,OAAO,EAEX,OAAO,gCAwBP,MAAuB,EACb,IAAQ,EAjBlB,KAiBkB,SAAlB,EAAU,KAAL,MAAK,UACN,MAlBJ,KAkBqB,MAAW,GAC5B,EAA+B,GAnBnC,KAmBc,MAAU,IC7FxB,EAAuB,EACb,IAAQ,EAwF+uB,EAxF/uB,SAAlB,EAAU,KAAL,MAAK,gBAwFuvB,EAtFlvB,MAAO,GADlB,QACW,EADX,KAuFyM,EArF1L,KACP,IAAoB,IAoFiuB,EAnFrvB,MAAO,GAAoB,GAE/B,eAPR,EAAU,GAUA,QAAuB,EA8EguB,EA9EhuB,SAAjC,EAAU,KAAL,MAAK,UA8EuvB,EA7E7vB,MAAO,GAAK,WADhB,EAAU,MA8EuvB,EA3EjwB,MAAO,EDiFC,EAAI,MAAO,MACP,IAAoB,EAApB,CAGA,MAzBZ,KAyBsC,MAAW,GAzBjD,KA0BY,MAAW,GAAoB,EA1B3C,KA2BY,MAAW,GAAK,EAEpB,eAZR,EAAU,GAgBA,QAAuB,EAjCjC,KAiCiC,SAAjC,EAAU,KAAL,MAAK,UAjCV,KAkCI,MAlCJ,KAkCW,MAAW,IAAM,WAD5B,EAAU,GAjCV,KAoCA,MAAO,gCApBP,MAAuB,EACb,IAAQ,EAPlB,KAOkB,SAAlB,EAAU,KAAL,MAAK,UACN,MARJ,KAQqB,MAAW,GAC5B,EAA+B,GATnC,KASc,MAAU,OACH,EATR,IAAO,GAUZ,EAAI,MAAO,MACP,IAAoB,EAApB,CAGA,MAfZ,KAesC,MAAW,GAfjD,KAgBY,MAAW,GAAoB,EAhB3C,KAiBY,MAAW,GAAK,EAEpB,eAZR,EAAU,GAgBA,QAAuB,EAvBjC,KAuBiC,SAAjC,EAAU,KAAL,MAAK,UAvBV,KAwBI,MAxBJ,KAwBW,MAAW,IAAM,WAD5B,EAAU,GAvBV,KA0BA,MAAO,ud6BtPP,OAAO,WAAQ,sCAIf,OAAO,WAAQ,6BAIf,OAAO,4CAQF,SACD,MAAM,sCAIL,SACD,MAAM,oF3C6Cf,EAlDgC,KAkDhC,M4C3DK,OA0CywB,EA1CtvB,GAAO,G5CkEvB,E+B3CuH,mCaf1H,MAAY,KAAK,EAAQ,UACZ,IAAT,EACO,KAAK,GAAS,GAElB,iCAgBP,SAAgC,IAAzB,KAAK,EAAQ,+CtCqBtB,OAunDwB,MAAW,GAAO,WAC5B,MAxnDd,EAwnDc,YAAX,MAAW,UsCzoDU,KAAK,EAUi3sD,GtC+nDr3sD,CAAoB,GAAO,WACtD,GAAO,EsC1oDH,OAAgB,6BAIhB,OAAO,KAAK,mCAIZ,OAAO,KAAK,EAAa,oHC5CpB,SACD,MAAM,KAEI,iBAAd,OAAc,iBAAP,WAAO,kCAIT,SACD,MAAM,KAEM,WAAhB,OAAgB,gBAAF,EAAE,EAAT,WAAS,gHCEoB,8CAWpC,MAAe,WAAO,SAAtB,KACI,EAAW,MACX,MAAmB,GAAL,WAAY,MAE1B,OADA,EAAQ,GAAY,EACb,OAAiB,WAAM,EAAS,WAAO,EAAvC,EAA0C,YAGrD,MAAc,GAAmB,GACjC,OAAO,QAAe,WAAM,WAAM,sCAsClC,QAAmB,EAAO,YACtB,IAAS,WACT,OAAO,OAAI,GAGf,MAAe,YACX,GAAS,EACT,OAAO,QAAe,WAAM,EAAQ,EAA7B,EAAuC,GAGlD,MAAmB,OAAU,MAE7B,OAAO,QADO,QAAe,WAAM,WAAW,EAAO,EAAS,GAC/B,EAAG,EAAa,oCAqD/C,QAAkB,EAAO,YACzB,MAAe,gBACX,GAAS,EACF,QAAiB,WAAM,EAAU,WAAW,EAAQ,EAApD,GAGJ,QADO,QAAiB,WAAM,WAAW,EAAO,OAAU,WAAK,KACrC,EAAU,WAAW,gCAkHtD,OAAO,OAAwB,KAAM,WAAM,WAAM,wCAIjD,QAAmB,EAAO,kBAEY,WAAtC,OAAO,OAAyB,WAAzB,MAA+B,EAA/B,KAAiD,EAAO,WAAwC,GAAlC,WAAY,KAAZ,GAA9D,+BAoBP,QAAkB,EAAO,YACzB,uBAfI,OAAc,EACd,OAAO,YAEX,MAAa,QACb,EAAY,QACL,EAAQ,UAEF,EAAO,GAAa,EAAO,IAApC,iBAAS,EAAT,KACA,IAAS,KAAT,EAEJ,OAAO,EAKM,MAAU,GAET,EAAU,MAAxB,sBAAO,EAAP,uCAIA,QAAkB,EAAO,YACrB,UAAc,GACd,MAAmB,GAAL,WAAY,MAE1B,OADA,EAAQ,EAAU,MAA6B,EACxC,OAAiB,WAAM,EAAS,WAAM,YAIjD,OAAO,OADO,QAAU,WAAM,WAAW,EAAO,GACf,WAAM,WAAM,mHC7RxC,+CAG4B,OAAR,6CAmBzB,OAhBa,aAAS,YAAc,aAAS,aACzC,YAEA,WAAY,OACZ,WAAa,WACb,WAAa,aACD,MAAR,WuBmsPG,IAtqPkB,WAsqP1B,OvBjsPS,KAEA,OAA2B,GAAL,WAAY,aAGtC,OAAqB,GAAJ,YAAQ,WAAM,WAAM,aAb7C,aAgBO,uCA2DP,oBAAY,EAAZ,EAEA,MAAe,YACX,EAAW,MACX,MAAkB,QAAY,YAC9B,EAAY,GAAY,EACxB,WAAY,EACZ,sBAAa,EAAb,OAEA,MAAc,QAAkB,GAC3B,GAAL,KAAoB,WAAM,WAAM,GAEpC,OAAO,kCA4CH,EAAS,IACT,OAAO,EAGX,gCAEA,MAAe,SACf,EAAuB,EAAS,QAE5B,KAAkB,EAAlB,IAA8B,EAAS,KAEvC,WAAO,KAAa,QAAY,YAAO,EAAU,GACjD,sBAAQ,EAAS,IAAjB,OAEA,QAAmB,EAAS,IAAO,EAAhB,GAA2B,EAA5B,GAAiC,KAAnD,EACA,EZlJuD,GAAiB,MA6D+0G,GA7D9zG,MYqJzF,EAAQ,GAAK,KAAa,QAAY,YAAO,EAAU,GAEzC,WAAd,EAAsB,KAAjB,MAAS,UACV,EAAQ,GAAS,KAAa,SAAiB,EAAG,SADtD,EAAsB,SAMqB,aAAM,SAAjD,iCAwBJ,MAA8B,GAAR,GAEtB,EACI,GAAa,KAAsB,GAAM,QAErC,KAAY,EAAM,EAAU,QAAW,GAGvC,KAAY,GAKb,EAAgB,MAEnB,wBAAa,KAAb,EAGA,KAFA,EAAc,KAAkB,GAEP,GAAM,QAAW,QAAW,GAGzD,OAAO,EA7CI,aAAsD,KAAtD,MAEP,WAAO,KAAa,SAAiB,EAAG,GACxC,sBAAQ,EAAS,IAAjB,EAGJ,OAAO,oCAwEP,QAAmB,EAAO,YAEtB,IAAS,WAET,OADA,OAAI,GACJ,KAGJ,oBAAY,EAAZ,EAEA,MAAe,YACX,GAAS,EAET,OADA,QAAe,WAAM,EAAQ,EAA7B,EAAuC,GACvC,KAGJ,MAAmB,OAAU,MAC7B,EAAc,QAAmB,GAAJ,YAAQ,WAAW,EAAO,EAAS,KAErC,EAAa,MAAxC,QAAe,EAAS,EAAxB,eAA2B,EAA3B,kCA0OA,QAAkB,EAAO,YAEzB,uBAMI,OAAc,EACd,OAAO,YAEX,MAAiB,GAAJ,SACb,EAAY,QACL,EAAQ,UAEF,EAAO,GAAa,EAAO,IAApC,iBAAS,EAAT,KACA,IAAS,KAAT,EAEJ,OAAO,EAhBM,MAAU,GAET,EAAU,MAAxB,sBAAO,EAAP,kCAkBA,QAAkB,EAAO,YAEzB,oBAAY,EAAZ,EAEA,MAAe,YACX,GAAS,SAEF,QAAiB,WAAM,EAAU,WAAW,EAAQ,EAApD,GAAP,sBAAO,EAAP,KAEJ,MAAmB,OAAU,WAAK,IAElC,QADc,QAAqB,GAAJ,YAAQ,WAAW,EAAO,GAC/B,EAAU,WAAW,SAExC,EAAa,MAApB,sBAAO,EAAP,uCAkXA,QAAkB,EAAO,YACrB,UAAc,GACd,MAAkB,QAAY,eAG1B,IAAgB,WAAhB,CAAwB,gCAE5B,MAAgB,EAAU,KAC1B,EAAiB,EAAY,GAI7B,OAHA,EAAY,GAAa,EACzB,WAAY,EAEZ,MAAO,GAAP,GAAO,KAAP,KAGJ,MAAsB,OAAU,MAChC,WAAY,QAAc,GAAJ,YAAQ,WAAW,EAAO,EAAS,SAElD,EAAgB,MAAvB,sBAAO,EAAP,gCAyBA,OAAO,KAAK,mCAIZ,OAAO,KAAK,EAAa,+BAKzB,OADA,QAAmB,EAAO,YACnB,OAAgC,KAAM,oHEx7B7C,WACI,WAAa,KACb,iBACA,OADA,iBACO,WAAa,IAEZ,iBAAZ,OAAY,iBAAL,WAAK,EAAU,WAAa,MAA5B,iCAIP,WACI,WAAQ,WAAa,OACP,WAAd,OAAc,gBAAF,EAAE,EAAP,WAAO,QAAQ,WAAa,MAA5B,GAEX,iBACA,OADA,iBACO,WAAa,qHCMpB,SACA,WAEA,WAAoB,WAAQ,EAA5B,EAGmB,WAAK,SAAL,eAA4B,WAAQ,MAAO,uBAAF,EAAE,QAAf,EAAe,SAAtB,sBAAO,EAAP,KADxC,MACmB,KACf,WAAQ,EAAa,aAEd,WAAQ,MAAO,uBAAF,EAAE,QAAf,EAAe,QAAQ,EAAa,MAApC,GAAP,sBAAO,EAAP,KAEJ,iBACA,OADA,iBACO,EAAa,+BAIpB,SACA,WAEA,WAAoB,WAGD,WAAK,SAAL,eAA4B,WAAQ,MAAK,oCAAb,EAAa,GAApB,sBAAO,EAAP,KADxC,MACmB,KACf,EAAa,KACb,iBACA,OADA,iBACO,EAAa,UAGjB,WAAQ,MAAK,oCAAb,EAAa,EAAU,EAAa,MAApC,GAAP,sBAAO,EAAP,uCAqCA,yBAwByB,IAArB,QACA,MAAM,KAxBV,OAEA,WAAQ,GAAS,YACb,WAAoB,aAAO,WAAQ,eACvC,MAtCA,MAAO,QAAQ,MACf,QAAmB,QAAQ,MAC3B,SAAoB,EAEpB,0JCxDmB,OAAX,WAAO,sCAOX,SAAO,MACP,MAAuB,GAAP,WAAc,SAAO,EAAd,GAEvB,OADA,EAAU,UAAQ,EACX,OAAsB,GAEjC,MAAW,GAAmB,GAC9B,OAAO,OAAiB,WAAQ,EAAM,SAAO,EAAtC,EAAyC,oCAI5C,SAAO,EAAS,IAAhB,IAAwB,UACxB,MAAuB,GAAP,WAAc,SAAO,EAAS,IAAvB,GAEvB,EAAY,SACI,gBAAX,MAAW,MACF,YAAV,EAAU,GAAW,EAEzB,OAAO,OAAsB,OnD+BtC,EAdsC,KActC,MmD7BK,OA2BN,EA3ByB,GAAO,GnDoCvB,E+B3CuH,yCoBsD1H,QAAmB,EAAO,UACtB,IAAS,SACT,OAAO,OAAI,MAGX,SAAO,MAEP,SAA6B,SAAO,EAApB,EhBxEuC,GAAiB,MAKhD,GALiE,OHmEtF,aAsxBX,GAAU,EAtxBiB,EAqxBoE,EAAqB,EArxBnE,GAAmB,iBAA2B,IAGhG,EAHgG,EAI1F,WmBKG,OnB6wBR,GAAU,EAtxB0E,EAsxBvD,EAlxB/B,EAkxB8D,GmB9wBpD,EAAU,GAAS,EACZ,OAAsB,SAGjC,EnBLkB,WA09BE,QA19BsB,aAIzC,IAAQ,EAAR,EAAkB,WAAO,EAAP,EmBKnB,OnBswBJ,GAAU,EA3wBX,EA2wB8B,EA3wBb,EA2wB4C,GmBxwBxD,EAAK,GAAS,EAEP,OAAiB,EADb,GAAmB,WAAO,OACD,SAAO,EAApC,EAAuC,mCAI9C,QAAkB,EAAO,UACb,IAAR,SACA,OAAO,WAEX,MAAuB,GAAP,WAAc,SAAO,EAAd,GnBGd,aACjB,IACI,EADJ,EACO,WmBHC,OnB4vBJ,GAAU,EA3vBmB,EAAW,EA2vBQ,EAAY,GmB5vBjD,OAAsB,gCAI7B,OAAO,OAAwB,KAAM,KAAM,WAAQ,+BAInD,OAAc,GAAP,WAAe,gCAItB,OAAc,GAAP,WAAmB,+BAI1B,QAAmB,EAAO,gBAEJ,WAAtB,OAAO,aAAe,EAAf,KAAmC,EAAO,sCAKjD,QAAkB,EAAO,gBAElB,WAAO,GAAd,sBAAO,EAAP,oCAIA,QAAkB,EAAO,UACzB,MnBOQ,WAk6BY,QmBv6BpB,OADA,EAAU,GAAS,EACZ,OAAsB,2HCtI7B,WAAa,EACb,WAAY,EACZ,WAAc,EACV,WAAK,OAAO,SjBMkF,EAAvC,GAAiB,MAFR,GAEyB,MiBNrE,WAAO,EAC/B,WAAK,GAAK,EACV,WAAgB,IAAS,EAEzB,QAAS,GAAY,WAAe,EAAO,GAA3C,EAA8C,kCAkCzC,SACD,MAAM,KAGV,MAAa,gBACb,sBAAS,EAAT,EAEI,aAAS,YACT,YAAgB,EACT,IAGX,QAAiB,GAEV,kCAIF,SACD,MAAM,YAGV,sBAAS,EAAT,EAEI,YACA,YAAgB,EACT,WAGX,QAAiB,MAEV,qJEVkD,WAAgC,uBAAhC,EAAgC,8DArEjD,8CAIpC,OAAO,OAAsB,kCAK7B,OAAO,OAAwB,iCAK/B,OAIG,OAJI,yCIVsB,EAAM,MAC0+B,EAD1+B,QAC0+B,GJuBjhC,OIxBsD,EAArB,QAAoB,EAApB,EJwB1B,WAAK,IAAgB,EAAY,EAAK,sCIxBZ,EAAM,MACokC,EADpkC,QACokC,GJ2B3mC,OI5BsD,EAArB,QAAoB,EAApB,EJ4B1B,WAAK,IAAQ,EAAY,EAAK,wCI5BJ,EAAM,MAC0tC,EAD1tC,QAC0tC,GAD3sC,EAArB,QAAoB,EAApB,EJgCb,iBAAK,IAAQ,EAAY,EAAK,EAAO,MAArC,QAA2C,OAAO,KAAtE,MAAoB,EACpB,OAAO,OAAkB,EAAc,MAAM,WAAO,EAAc,MAA3D,sCIjC0B,EAAM,MACi8C,EADj8C,QACi8C,GADl7C,EAArB,QAAoB,EAApB,EJqCjC,MAAc,WAAK,IAAW,EAAY,EAAK,UAC3C,aAAS,EAAkB,KAChB,MAAX,EAA0B,WACvB,OAAkB,EAAS,WAAO,EAAlC,wYCtCP,WAAc,EACd,WAAgB,EAChB,WAAa,kCAIb,SAAM,EAAQ,EAAU,gCAIxB,OAAO,WAAQ,wCAgBf,OADO,WAAS,WACT,WAAQ,WAAO,oCAIf,iBAEA,WAAO,YAAd,uBAAO,EAAP,kCAIO,WACP,6DAIA,OAAO,oFAMA,WACP,sBAAS,EAAT,QAEO,WAAO,WAAQ,EAAf,GAAP,sBAAO,EAAP,kHAMO,WACP,sBAAS,EAAT,QAEO,WAAO,WAAQ,EAAf,GAAP,sBAAO,EAAP,oHAkFA,OAAO,uDAWF,MACD,MAAM,KARV,OACA,MAAa,WAAK,YAAe,IAEjC,OADA,SACO,qFA5EqC,8CAAqB,wDGzE68D,YAD7+D,EAAM,MAAN,EAAM,QAAN,aAAoB,EAApB,EACggE,YADhgE,EAAM,MAAN,EAAM,QAAN,GH2E6B,OAAnC,GG3EM,QAAoB,EAApB,oCH6E5B,iCAA+E,OAAhF,SAA6B,MAA5B,EAA4B,OAAM,GAAlC,EAAqC,KAAO,YAAO,GAAnD,EAAsD,KAAS,aAAhE,oCAEiE,OAAnC,GAAJ,WAAkB,IAAW,GAAN,wEAZ9C,WACP,sBAAS,EAAT,QAEgB,WAAO,WAAQ,EAAf,6BAAwB,WAAO,WAAQ,EAAf,GAAxC,OAAO,wBAAiC,EAAjC,sHC3DS,OAAR,WAAI,mCAGZ,OAAO,WAAI,GAAY,mHAIvB,OAAO,OAA8B,WAAI,mHAMzB,OAAR,WAAI,mCAGZ,OAAO,WAAI,GAAc,mHAIzB,OAAO,OAAgC,WAAI,qHArCR,OAAR,WAAI,6CAK1B,gCAAsC,OAAO,EAC3C,oBAAI,EAAQ,MAAZ,EAAkB,MAAlB,EAAkB,KAAmB,GAArC,EAAkD,EAAQ,MAAjE,OAAO,QACsB,MAAjB,EAAQ,MAAiB,WAAI,GAAY,EAAQ,MADtD,yHAKP,OAAO,OAAiC,WAAI,yHC0DR,0FAEI,OAAhC,KAAQ,MAAO,EAAf,KAAyB,OzDiCd,uGyDvBgC,OAAd,GAAR,0CAQ7B,QAAmC,IAA5B,WAAY,kCAUnB,OAAO,GA9FiB,EA8F6B,GAAhC,YAAa,EAAe,EAA5B,mCAKrB,OAAO,WAAO,OAAO,EAAd,GAAmD,GAAhC,YAAa,EAAe,EAA5B,IAA1B,sCAkBO,WAAO,GAAd,uBAAO,EAAP,uCAwaA,MAAsB,GAAM,GAAa,EAAS,MAE9C,SAAW,GACX,OAAO,KAAO,QAAW,SAAc,QAEvC,QAAU,GAAV,CACA,MAAiB,SAAY,SAAU,WAliBpB,KAmiBf,gBAvNE,cAAQ,QAAO,QA7UD,GA6Ud,gCAAV,MAAU,KAAV,GAAU,GAAV,KAAK,MAAK,aACF,KAAO,QAAO,IAAI,OAAO,QADjC,IAAU,GAGV,OAAO,EAqNmB,CAAX,EAAgC,GAEpC,EAAW,IAAY,EAAS,EAAK,EAziBV,EAyiBhB,GAItB,OAAO,oCAIP,MAAsB,GAAM,GAAa,EAAS,MAE9C,SAAW,GAAX,CACA,MAAe,SAAc,UAEzB,KAAO,QAAW,IACX,QAAgB,GAEpB,QAEP,QAAU,GAAV,CACA,MAAiB,SAAY,SAAU,WAzjBpB,KA0jBf,gBAvOE,cAAQ,QAAO,QApVD,GAoVd,gCAAV,MAAU,KAAV,GAAU,GAAV,KAAK,MAAK,aACF,KAAO,KAAW,IAClB,OAAO,KAAgB,SAF/B,IAAU,GAKV,OAAO,KAmOmB,CAAX,EAAwB,GAE5B,EAAW,IAAI,EAAS,EAAK,EAhkBF,EAgkBhB,GAItB,OAAO,yCAwEP,MAAsB,GAAM,GAAa,EAAS,MAE9C,SAAW,GAAX,CACA,MAAe,SAAc,UAEzB,KAAO,QAAW,IACd,QAAgB,KAAc,EAAc,KAEL,uBAlgBnD,EzBuC0B,QA03BN,QyB/5BpB,OADA,EAAU,EAAW,EAArB,GAA0B,EACnB,GAAS,QAAS,QAAS,GAggBnB,MAAmB,EAAU,IAEsC,2BA7ZlF,MAAgB,KAAsB,EAAU,EAAc,EAAY,EAAQ,EAAU,EAAO,MACnG,OAAO,GAAS,QAAY,EAAc,QAAW,EAAc,GA4ZxD,MAAgB,EAAU,EAAiB,EAAS,EAAK,EAAO,OAEvE,QAAU,GAAV,CACA,QAAgB,SAAU,GAE1B,EAAiB,SAAY,MAxpBV,KAypBC,EAzpBD,CA0pBf,sBA9TE,cAAQ,QAAO,QA7VD,GA6Vd,gCAAV,MAAU,KAAV,GAAU,GAAV,KAAK,MAAK,aACF,KAAO,KAAW,IAAlB,IACI,IAAU,KAAgB,GAC1B,OAAO,SAEX,EzBkDf,QA6pB2B,QyB7sBZ,OADA,EAAU,EAAI,EAAd,GAAmB,EACoB,GAAhC,GAAe,EAAG,EAAG,WAPpC,IAAU,GAWV,OAAuC,GAAhC,GAAe,EAAG,EADF,GAAP,QAA0B,EAAG,EAAK,KAoT/B,CAAX,EAAwB,EAAK,MAA7B,QAAuC,OAAO,OAA9C,OAEA,QAAW,IAAI,EAAS,EAAK,EAAO,EA/pBN,EA+pBnB,MAAX,QAAyE,OAAO,OAAhF,EAHJ,YAKO,EAAP,OAAuC,UAAkB,EAAW,EAA7D,EA7lBsB,OAAjB,QAAO,EzD2E+wwB,EyDshBtywB,OAAkD,qBAxiBlD,MAAe,MAAc,GAC7B,EAAuB,GAAP,QAA0B,EAAU,EAAK,GACzD,OAAO,GAAS,QAAW,EAAc,QAAS,GAsiB3C,MAAc,EAAiB,EAAK,sCAyC3C,MAAsB,GAAM,GAAa,EAAS,MAE9C,SAAW,GAAX,CACA,MAAe,SAAc,UAEzB,KAAO,QAAW,uBAjtBF,IAqSpB,QAAO,OAAoB,OAAO,KACtC,MAAuB,GAAP,QAA0B,GAC1C,OAAO,GAAS,QAAY,EAAc,QAAS,GA2apC,MAAmB,EAAU,GAEjC,QAEP,QAAU,GAAV,CACA,QAAgB,SAAU,GAE1B,EAAiB,SAAY,GAM7B,SA9tBmB,KAytBD,gBApVZ,cAAQ,QAAO,QAtYD,GAsYd,gCAAV,MAAU,KAAV,GAAU,GAAV,KAAK,MAAK,aACF,KAAO,KAAW,IAClB,OAAO,KAA4B,SAF3C,IAAU,GAKV,OAAO,EAgVY,CAAX,EAA2B,GAE3B,EAAW,IAAO,EAAS,EAAK,EA/tBF,EA+tBnB,uBAgBtB,OANc,MAAX,EACI,KAAkB,EAAW,GACjC,IAAe,EACX,KAAkB,EAAW,EAAc,GAE3C,EAbO,MAAY,EALnB,EAKwC,EAAW,GAIvD,OAAO,+DE1oB6C,OAAL,oEA1ER,OAAZ,WAAQ,kCAEkC,OAA5B,WAAQ,GAAY,kCAGzD,WAAQ,GAAY,GACpB,OAAO,QAEP,SAEA,OAAO,OAAqB,EAAS,EADxB,WAAQ,GAAI,EAAS,aAIpB,WADlB,iBACkB,EADlB,KAEA,EAAoC,GAApB,cAAQ,IAGxB,EAAa,WACJ,GAAI,EAAa,EAAU,IAAS,IACpC,GAAI,EAAS,GAAiB,IACvC,OAAO,OAAqB,WAAc,EAAS,gCAQvC,oBAAQ,MAAR,QAAoB,OAAO,KAAvC,MAAY,EAEZ,EAAa,WAAQ,GAAO,MACxB,EAAM,avDUN,IAAa,EAAN,EAAM,MA4KmC,GAAR,GAAnB,EAAmB,IAAnB,EAAmB,SAAI,GuDrL5C,MAA0C,GAAtB,KAGX,IAAW,EAAM,MAA1B,EAAgB,oBAAI,EAAJ,KAAyB,EAAc,IAAS,EAAM,WAEtE,EAAM,avDWE,IAAa,EAAN,EAAM,MAqK2B,GAAR,GAAnB,EAAmB,IAAnB,EAAmB,SAAI,GuD/K5C,MAAkC,GAAlB,KAGP,IAAW,EAAM,MAA1B,EAAgB,oBAAI,EAAJ,KAAqB,EAAU,IAAa,EAAM,QAItE,OAAO,OAFoB,EAAM,MAA6B,WAAhB,EAAM,MAC1B,EAAM,MAA6B,WAApB,EAAM,MACc,8BAoB7D,OAAO,OAA6B,WAAc,0HA9EA,OAAxB,OAAM,WAAU,iCACgB,OAAxB,OAAM,EAAa,yCAElB,QAAnB,gDAC2B,QAAvB,wECVpB,OAAO,WAAQ,WAAI,gDAgBd,MACD,MAAM,KAbV,aAGa,WADb,iBACa,EADb,KAEA,oCxDgTyE,EAhT3D,WAgT2D,GAhT7C,MAgT6C,QA/S5D,MAAM,GAEX,4BAA0B,EAAM,2DwDCxC,OxD4SmG,EAA1B,EwD/SzE,WAAkB,EAEhB,MACK,yHWXH,EAAQ,GAAK,GAAS,EACtB,MAAM,GAA2B,UAAQ,EAAK,WAAS,qCAMvD,EAAQ,GAAK,EAAQ,EACrB,MAAM,GAA2B,UAAQ,EAAK,WAAS,iZzCmQtB,OAAjB,2CA6Gf,8BAAD,EAAyC,MAAxC,EAAwC,KAAxC,EAAwC,IACrC,EACA,MAFJ,QA7RwE,MAAM,GAC9D,6DA+RuD,OAHvE,gCAgHA,OALA,GAAsB,Md/cik+D,Kckdnl+D,KAAe,EAAI,GAED,8Bdpdik+D,KSZr4zC,KAAe,GAAO,GAAppqB,iDK4fpF,Odhful+D,Kc6enl+D,KAAqB,EAAI,GAE7B,KACsB,8Bdhfik+D,Kckf/k+D,KAAqB,GAAO,GAEhC,gDAiBqE,OAA5C,KAAkB,mCdrgBwi+D,ScmhBvj+D,EAA5B,KAAsB,KAAM,OAA0B,KAAhB,MAAV,EAAU,MnC9FurM,EA/OhrM,MmCgV7C,iEA9fE,0FAOD,0CADR,8CAoBD,YAAW,EdlDgl+D,KSZ3h5D,WAAx+E,mCKqGxF,MAAe,eAEX,OAAO,YAEP,SAAe,iCAMnB,MAAe,KAAe,KAE9B,OADA,KAAe,IAAI,MACZ,gCAKP,KAAe,IAAI,gCAqCd,+CAQsD,OAA1B,YAAyB,+BdvJii+D,KSZr2tD,WAA0B,WAAxrQ,kCKkOxF,GAAgB,KAAc,IAAM,0CAWpC,2ClBnH2vL,WA1G3vL,MAAM,GAAiC,GkBiOjB,gEAIlB,YAAyB,IACzB,GAAqB,YACrB,YAAwB,oC9B/G66J,a8BoHh5J,OAA5B,YAAwB,E9B/KlD,+F8BshBE,+CACA,kDAyBL,WACA,WACO,KAmSP,IAnSO,KAmSQ,Odt5B4k+D,ScqnBvk+D,iBAAZ,MAAY,EACZ,GAAgB,KAAc,IAAI,IAClC,MAAqB,WACrB,SAAe,EAAe,IAAI,I9B5f44kC,M8B6f96kC,OACI,EACe,GAAf,EAAwB,WAAK,EAAd,EAAiB,uBAm8B5C,qBAGyB,GAHzB,UAl8BY,CAAmB,EAAc,KAAK,OAAtC,KACA,GAAoB,EAAe,KAAK,OACxC,UAXL,KAySE,QAzSF,KAySc,MAAD,CACZ,MA1SD,KA0SkB,MLz6BqyuC,GTY6xvB,KSZ7xvB,gBAAluX,KAA6tX,IAAK,GAAqC,GAAgB,KAAc,IAAryX,KAAyyX,QAA7yuC,KK+nBjF,KA+SC,IAAkB,GA/SnB,KA+SW,MAAiB,EAAa,EAAtB,EA/SnB,KA+S4C,QA/SnD,O9BljBG,+B8B6lBH,QAAe,WACf,EAAuC,MAAZ,EAAkB,GACzC,KAAsB,KACtB,KACA,KAAc,IAAM,KAAsB,KAAM,QAC7C,QdnqBol+D,KcqqBvl+D,GAAa,MACG,MAAZ,GAAqC,IAAjB,EAAS,IAAQ,CACrC,WACA,MAA6B,KAAsB,KACnD,GAAsB,EAAwB,MAC9C,MAAqB,EAAuB,QACtB,MAAlB,InCtPymZ,EA/OhkZ,ImCsezC,GAAe,GAAf,MAAkC,GAElC,QAA6C,WAEjD,MAA6B,KAAsB,KACnD,EAAa,SACT,KACA,EACA,KAAc,IAAM,EAAuB,YAE3C,WAAuC,OAAO,EAElD,WAGA,GAAsB,EAAwB,MAC9C,MAAqB,EAAuB,MAC5C,SAAgB,MAChB,MAAkC,QAElC,GAAe,GAAf,MAAkC,GA5BR,MAE9B,EAFC,EAA6B,EAA7B,KAAW,EAAkB,EAAlB,QAiChB,YAAU,EAGY,MAAlB,InCnR8ub,EA/O7rb,KMvM3C,UAqMukvB,EArMvkvB,WAAd,GAAc,KAAT,MAAS,UAqMukvB,EApMtkvB,EAAI,E6BCgE,CAysBpE,EAAgB,Y7B3sB/B,GAAc,M6B+sBM,MAAZ,InCzRm5b,EA/Ol2b,KMvM3C,UAqMsuvB,EArMtuvB,WAAd,GAAc,KAAT,MAAS,UAqMsuvB,EApMruvB,EAAI,E6BCgE,CA+sBpE,EAAU,Y7BjtBzB,GAAc,G6B4tBV,Od3tB2l+D,KSZt/9B,WAA7ggC,KKuuBxF,kCAGwC,OAAL,8BAK9B,aACK,qBAAN,MACA,SAAkB,qCAsByB,qElB7oByu7B,WAAY,GA1Gpy7B,MAAM,GAAiC,GAfzB,wBkB0wBR,2BAAF,EAAE,EAAa,IAAb,UACG,wBAsCT,MAAe,WACC,MAAZ,GACA,QAIA,MAAgB,UAChB,MAAS,QACK,mBAAT,IACD,EADU,MACwB,MAChB,MAAX,IACC,EAAQ,QAAc,GAAM,GAAsB,QAAtB,EAAQ,UACpC,QAgzBa,GA9yBjB,EAAU,EAAQ,MAM9B,QAzDQ,wCAMJ,YAAW,WAAU,YACzB,wCAKA,GAAgB,KAAc,IAAM,YAAI,IAAO,0CAI/C,WACM,sBAAN,sClBpqBk58B,WA9Cl58B,MAAM,GAA8B,GkButB/B,8FlBzqBgj9B,ckB8qBni9B,KAroBe,OAAyB,GlBvF1D,MAAM,GAA8B,GkB6tB/B,kGAgDL,MAAkE,KAClE,EAAY,KAAK,MAAQ,IAAI,YAAI,IAAG,KAAK,OACzC,EAAuB,GAAR,YACf,EAAgD,KAClC,gBAAT,MAAS,MACV,EAAY,EAAM,MAGJ,KAAS,EAAO,EAAY,MAA5B,SAAd,MAAc,EACC,KAAS,EAAO,WAAI,MAApB,SAAf,MAAe,MACX,KAAW,GAAX,CACc,WAAS,EAAO,WAAI,KAAK,OAAzB,QAAqC,OAArC,EAAd,QACa,EAAkB,MAAlB,EAAkB,KAAlB,EAAkB,GAAI,GAAnC,EAAa,QACT,EAAM,IAAa,EAAU,EAAS,GAD7B,EAGP,OACF,QAAQ,OAA2B,OAAQ,SAC3C,iBAIA,SAEQ,qBACI,EnC3yBmC,EAAX,OKkE4lhC,K8BwuBxnhC,EAGE,IAAI,KAAS,EAAQ,QAIvB,qBACI,EnClzBmC,EAAX,OKkEm8hC,K8B+uB/9hC,EAGE,IAAI,QAIN,qBACI,EnCzzBmC,EAAX,OKkE6tiC,K8BsvBzviC,EAGE,IACE,KAAU,GACT,KAAS,EAAS,OADC,KAAS,QAQrD,WAAe,MAAf,Q9BlwB4ujC,WArHtujC,UAqHqpjC,EArHrpjC,WAAd,GAAc,MAAT,MAAS,UACI,I8B43ByB,E9BxwBwnjC,EApHtojC,EAAI,G8B43BZ,EAAsB,EAAtB,KAAO,EAAe,EAAf,KACZ,QAAyB,Wdr4B0j+D,KSZ/pxB,QAAmB,EAAM,MAAqC,EAAM,IAAmB,GAA37sC,WzBmBhG,GAAc,S8Bs4BN,QAKA,OALgB,MAAhB,GAEI,EAAS,GAFb,GAKA,mCAIA,SAAe,Y9B1xBu6kC,c8BgyB76kC,aAAY,WAAD,CACZ,MAAiB,WLz6BqyuC,GTY6xvB,KSZ7xvB,gBAAL,SAAK,GAAqC,GAAgB,KAAc,IAAI,aAA7yuC,KK86BhF,SAAkB,GAAR,WAAiB,EAAa,EAAtB,EAAyB,aAXnD,O9Bt1BG,+B8Bs2BwB,KAjB3B,IAiB2B,KAjBZ,O9B1xBu6kC,M8B2yBj5kC,SAAV,KAXlB,QAWkB,KAXN,MAAD,CACZ,MAUmB,KAVF,MLz6BqyuC,GTY6xvB,KSZ7xvB,gBAA8N,KAAnO,IAAK,GAAqC,GAAgB,KAAc,IAA2J,KAAvJ,QAA7yuC,KKm7B7D,KALnB,IAAkB,GAKC,KALT,MAAiB,EAAa,EAAtB,EAKC,KALwB,QAKb,O9Bt2BnC,gCgBjEwl+D,KSZ5+uB,WAAc,WAAY,IAAI,GAArjvC,sCK47BpF,GAAM,WEoEsF,aG/9BjC,EAoCi6qC,oBHk+Cp+qC,EA0JO,GA1JA,GAAK,IF1mBJ,WAA0B,oCwC4yNnB,IA77MlB,EA67MU,OxCvyNoB,YACvB,MAAa,cwCsyNF,IAz7MnB,EAy7MW,OxCryNmB,WAA0B,aE6vBpD,EAAO,GAzrBuF,GAAS,IFnE9F,WAA0B,gCAIO,UAAxB,WAAwB,cAAtC,GAAc,KAAT,MAAS,MAAwB,EAAxB,EACV,GAAqB,WAAwB,UADjD,GAAc,iCd77B6k+D,KSZ3qtB,WAAc,WAAY,IAAG,GAAr3wC,mCKq9BvF,mC9B70B+loC,O8B60BrjoC,SAj5BhD,K9BSQ,S8Bw4BF,EAA2D,IAAI,iCAG3D,yFAsBA,iTA+SR,OAboB,MAAgB,kBdpwC0j+D,ScswC3k+D,OADhB,OACgB,UADhB,OACgB,EACF,EAIK,EAIC,2CAKpB,mCAGiD,oFACF,mFAjtC6B,MAAM,GAC9D,8GdxEuk+D,KSZzvV,WAA1woD,+GK8jCnF,2CAgBA,0EAyOT,8CASS,aACK,qBAAN,MACA,0CAKA,WAAO,OAAW,WAAO,MAAU,OAA2B,OAAQ,MAS1E,MAAe,WACf,EAAS,WACT,EAAuC,MAAZ,EACvB,GAAiB,WAAQ,KAAM,WAAO,OACrC,Qdx0Csl+D,KSZj9S,GAAa,MAAkC,MAAZ,GAAqC,IAAjB,EAAS,IAA6B,gBAA8D,MAAa,SAAiB,WAAO,MAAI,EAAkB,WAAO,WAA6B,WAAuC,OAAO,EAAoH,mBAAO,SAAP,azBwIj8I,O8BwtCrljD,eA5xCrB,K9BSQ,SyB7EmisD,EAA0I,KAAO,GKs3CvrsD,OLt3CoysD,WAAO,MAAK,GAAsB,WAAO,MAAqG,eAAiB,WAAO,MAAQ,IAAM,GAAI,IAAO,aAAsH,WAAO,IAAe,GAAgB,WAAO,IAA6B,YAAsC,WAAO,IAAmB,YAAyB,WAAO,IAA8B,YAAzstD,KKo3CxF,YAAU,EACV,SACA,sHgCr1CwE,OAAhC,WAAO,EAAG,WAAO,GAAQ,+CAuHjE,MAAe,QAAO,UAClB,GAAW,EAAU,YACzB,MAAkB,KAAW,GAC7B,EAAgB,eAAS,GACzB,EAAe,eAAS,G9BIU,UAwwByF,WAC/H,GC/4B0zjC,EAA1m6B,ED84BznJ,EAAqB,EACE,GAxwB3F,cAuwB4G,WAC/H,GC/4B0zjC,EAAxk6B,ED84B3pJ,EAAqB,EACE,G8B1wB1G,QAAS,EACT,QAAQ,EAxHR,MAAO,WAAO,EAAd,GACQ,kCAAR,MAAQ,EACR,cA6HA,MAAe,QAAQ,UACnB,SAAmB,OACF,QAAS,OAAW,GAApB,gCAAyB,EAAzB,EAA8B,EAAL,EAAzB,KAAuB,EAAvB,QAAjB,MAAiB,E9BE8C,UA6vBwD,WAC/H,GC/4B0zjC,EAAvt5B,ED84B5gK,EAAqB,EACE,G8B9vBtG,QAAU,EAEd,MAAa,QAEb,OADA,QAAkB,QAAQ,SACnB,EArIM,OAKb,OAJA,WAAO,GAAK,EACZ,WAAM,GAAK,EACX,WAAQ,GAAU,EAClB,QAAQ,GACD,gCASP,MAAQ,WAAQ,GAChB,QAAK,EAAG,WAAO,EAAf,GACA,kCACA,QAAQ,qBAkDR,MAAa,QACb,EAAW,SAAS,EACpB,EAAc,EACP,EAAU,IACb,OAAa,EAAU,EAAX,IAAkB,EAC9B,EAAW,EAAQ,EAAnB,KACI,EAAQ,SAAQ,EAAO,GAAS,EAAO,GAAvB,MACZ,EAAO,GAAS,EAAO,IAIvB,YAHA,KAAK,EAAO,GACZ,EAAU,YAGP,EAAO,GAAQ,EAAO,IAI7B,YAHA,KAAK,EAAM,GACX,EAAU,CAEV,GAjER,MAAU,iBA2HV,QAAQ,GAAU,QAClB,QAAkB,EA3HlB,MAAW,6GCgNmC,qOAC9C,WAAiB,iBACC,MAAd,YACgB,6HAAX,WAAW,8BACZ,cAAM,WAAN,wGAEJ,uEACc,WA9QS,IA8QT,gFAAT,WAAS,eACN,oBAAc,eAAO,aAArB,8DACA,cAAM,WAAQ,iBAAd,wIAIR,wEACc,WArRS,IAqRT,mFAAT,WAAS,eACN,oBAAc,eAAO,aAArB,qEACA,eAAM,WAvRS,GAuRT,GAAyB,iBAA/B,qRAhBkC,mKA3O9C,UAAa,EAAM,WAAnB,KACI,GAAU,UAAK,EA7BQ,OA6BR,IACf,OAAQ,eAAO,GAAR,GAAoB,YAApB,4BACA,GA/BgB,WA+BY,EAAS,GA/BrB,GA+BsC,OAA1B,uBACnC,aAAQ,KAAQ,EAhCO,GAgCf,GAAD,GAAuC,YAAvC,uBACA,EAAS,EAChB,OAAO,EACG,mBAAP,OAAO,SAAY,MAAZ,EAAY,KACnB,GADO,EACM,IAAQ,IADd,gCASd,QAAa,EAAM,WAAnB,KACI,GAAU,UAAK,EA7CQ,OA6CR,KACf,MAAW,eAAO,MACd,cAAa,GAAb,oBACA,OAAO,OACQ,WACA,cAAY,GACV,WACA,+BAGd,GAvDgB,WAuDY,EAAS,GAvDrB,GAuDsC,OAA1B,4BACnC,MAAW,KAAQ,EAxDI,GAwDZ,MACP,cAAa,GAAb,oBACA,OAAO,OACQ,cAAY,GACZ,WACE,WACA,yBAGd,GAAU,GAjEM,GAiEW,QAC7B,OAAI,GAAJ,CAED,MAAkB,WAClB,EAAkB,WAClB,EAAoB,WACpB,EAAuC,OACf,EAAM,eAAP,EAxEJ,UAwEnB,MAAuB,KAxEJ,WAyEZ,EAAgB,QAEf,0BACqB,MAAjB,EAAiB,K/DkCxB,EL9CmC,KoEcxB,gBAAY,MAAZ,gB/DkCjB,mBAkB6ghc,EAAgB,IAAX,MAAW,SAlB7hhc,EAkB6hhc,E+DlGvhhc,EA+CiC,EAkS+vub,G/D7Rjzub,K+DPwB,E/DrBjB,OA8D2D,IAQpD,OAAd,EArHmE,MAqH9D,MAAS,U+D3Cc,KAAiB,eAI5C,IAJ2B,qBACA,EAAc,EAGzC,EAHyD,EAAhB,S/D0C1C,EArHmE,O+D+E/C,uBACA,EAAgB,EAChB,cACA,QAEJ,EAAc,EACd,oBACA,WA/Fe,GA+Ff,QAIA,IACA,IACA,EACA,EAAe,MAAf,EAAe,QAAf,GAJJ,OAKE,IALK,SAIH,QAA+B,WAA/B,GACF,IAAI,SAGE,8BACL,O5BhFoD,EAoCoxF,oB4B4Cj0F,OAAc,WAAU,WAAU,WAAY,GAD5D,MAAY,EAGZ,EAAqB,GAAN,EAAmB,MAC9B,EAAW,GACX,UAAuB,EAAW,EAAb,GACrB,EAAc,EAAM,OAAO,EAA3B,EACA,EAAoB,eAAS,GAc7B,O/BoyBZ,GC/4B8/I,EAAkD,EDoItgJ,EACnB,EACJ,GAywBnB,GC/4B8tJ,EAAkD,ED6IpuJ,EAAiB,EAAjB,EAC5B,EAA+C,EAElE,EAFkE,G+BpCnD,EAAc,GAAkB,EACzB,OAAc,WAAU,WAAU,WAAY,KAK7D,OAAO,mCAOP,QAAa,EAAM,WAAnB,KACI,GAAU,UAAK,EA5IQ,OA4IR,KACf,MAAW,eAAO,OACd,cAAa,GAAb,oBACA,OAAO,OACQ,WACA,cAAa,EAAK,MAChB,WACA,+BAGd,GAtJgB,WAsJY,EAAS,GAtJrB,GAsJsC,OAA1B,4BACnC,MAAW,KAAQ,EAvJI,GAuJZ,OACP,cAAa,GAAb,oBACA,OAAO,OACQ,cAAa,EAAK,MAClB,WACE,WACA,oBAGd,EAAS,GAChB,MAAY,cACC,MAAT,GACA,MAAqB,GAAN,EAAmB,MAC9B,GAAY,GACZ,MAAc,EAAM,OAAO,EAA3B,KACe,IAAX,EACA,OAAO,OAAc,WAAU,WAAU,WAAY,MAEzD,MAAoB,eAAS,GAiB7B,OAhBI,EAAW,G/ByvB/B,GC/4BqoN,EAA0D,ED2L5pN,EAEH,EAA0C,G+B/BtD,EAAW,G/BivB/B,GC/4Bm9N,EAA0D,EDsM//N,EAEI,EAAW,EAAX,EACnB,EAAU,EAAV,G+BnCwB,OAAc,WAAU,WAAU,WAAY,MAKjE,OAAO,sCAOH,IAAS,WAAO,OAAO,QACvB,OAAS,WAAO,OAAO,oBAChB,EAAK,QAAc,KAAK,OAAc,EAAK,QAAe,KAAK,QACtE,OACI,KAAK,MAAL,GAAkB,EAAK,MAAS,MAChC,KAAK,MAAL,GAAkB,EAAK,MAAS,MAChC,KAAK,MACL,KAAK,oBzDghDjB,EA57CK,KA67CW,EA97Ca,EA87Cb,YAAX,MAAW,MAAM,EyD72C653C,EAjK733C,IAiK043C,KzD82Cz73C,EyDvhDH,0CA2CI,IAAS,WAAO,OAAO,QACvB,OAAS,WAAO,OAAO,WAChB,EAAK,QAAc,KAAK,OAAc,EAAK,QAAe,KAAK,QACtE,OACI,KAAK,MAAL,GAAiB,EAAK,OACtB,KAAK,MAAL,GAAiB,EAAK,OACtB,KAAK,MACL,KAAK,qBAGc,MAAnB,KAAK,MAAc,SzDg+C/B,EA73Ce,EA83CC,EA93CX,KA83CW,YAAX,MAAW,MAAM,EyD72C653C,EAlHz33C,IAkHs43C,KzD82Cz73C,eAFP,EAn3CkB,KAo3CF,EAp3CR,EAo3CQ,YAAX,MAAW,MAAM,EyD72C653C,EA/Gz33C,IA+Gs43C,KzD82Cz73C,MyD1+CH,oCAsCQ,OApB6B,MAAS,4EAoBhD,8CAyBE,MAAiB,kBACC,MAAd,EAA2B,EAAW,GACtC,+BACA,+BACG,SADoB,WAvTA,GAuTA,GAA8B,GAAY,YAAjD,GADO,WAAa,GAAY,YAAhC,8CAKmB,GAAN,MzDsrCxB,KAAa,GAvkCE,KAukCsB,KAuErC,EA9oCe,KA8oCf,YAAR,MyD5vCE,EzD4vCM,MyD5vCN,WzD6vCH,EAAY,EAAI,GyD5vCG,SAF+B,QAEpD,qC9DlNG,S8DkNH,O9DlNG,EACsB,MADtB,aAEkB,IAFlB,aAGmB,IAHnB,cAIQ,GAJR,cAKsB,OALtB,cAM+B,MAN/B,GK+8CE,EL/8CF,a8DkNgB,0ICjSR,yFAEA,0FhDxB2gC,KSZivB,YAAQ,aAAkC,GAAlC,EAAkC,YAAqB,WAAe,EAAM,MAAjwD,kCuC6CzB,OAA1B,OAAqB,2HA/BrD,gDAKL,QAAa,WAEb,WAAmB,aAAnB,GAAmB,EAAnB,wClCFH,KAwGiE,MkCnGC,OA2Yu9iE,GlCxSx9iE,uBkCwS++iE,YA3Y5/iE,yCAIhD,WAA2D,OAAd,mBAA7C,EAA6C,KAAS,iCAoBV,OAAlB,WAAS,MAAK,iCACsB,OAA/B,WAAS,MAAK,EAAS,qHAC4B,OAAnC,WAAS,MAAK,GAAY,8EAC3B,OAApB,WAAS,MAAT,EAAc,iCACyB,OAA9B,WAAS,MAAK,EAAQ,mHACd,OAAvB,WAAS,MAAK,+BACqB,OAAd,yCAC2B,OAAlC,WAAS,MAAK,GAAY,sHACe,OAA1B,OAAkB,KAAM,+BACgB,OAA9B,OAAkB,KAAM,qCA+FhF,WACO,CACH,MACA,KhD/IymL,Kc2D9iL,KAoDL,OL3H4vM,EuCma4t2D,GlCxSx9iE,uBkCwS++iE,YvCna5r2D,EAAsB,EAAQ,MAAiC,EAAU,EAAQ,MAA12M,KuCiKhF,MAA2B,GAAP,GAlGsB,EAAI,MAmG1C,KAAW,GAAX,CACA,GAAS,EACT,QhDxJy+L,ac2Dl7L,KA+CzD,+BAo0Dd,EAAyB,KkCvhD2v7D,GhDvZ20C,KgDuZ30C,GAAL,EApWhv7D,KlC63D3B,EAAoB,gBkCpxDA,UAAgB,GAChB,QAAO,EACP,mCACA,UACG,EhEpC0jvE,MgEgCjkvE,KlCuxDhB,GAAY,EAx3DuD,M9BMhE,EgEyFS,CAUA,GAAS,EACT,SAlHoD,OAqH5D,8GA3BO,CACH,MACA,KhD/IymL,Kc8DzlL,KAiDsC,OL3H4vM,EuCma4t2D,GlCxSx9iE,uBkCwS++iE,YvCna5r2D,EAAsB,EAAQ,MAAiC,EAAU,EAAQ,MAA12M,KuCiKhF,MAA2B,GAAP,GAjGuB,IAAI,EAAO,MAkGlD,KAAW,GAEX,QhDxJy+L,ac8D79L,KA4Cd,+BAo0Dd,EAAyB,KkCvhD2v7D,GhDvZ20C,KgDuZ30C,GAAL,EAnWpu7D,KlC43DvC,EAAoB,gBkCpxDA,UAAgB,GAChB,QAAO,EACP,mCACA,UACG,EhEpC0jvE,MgEgCjkvE,KlCuxDhB,GAAY,EAr3DY,M9BGrB,EgEoGS,QAjH4D,sHAwFpE,WACO,CACH,MACA,KhD/IymL,KcoEpnL,KA2CiE,OL3H4vM,EuCma4t2D,GlCxSx9iE,uBkCwS++iE,YvCna5r2D,EAAsB,EAAQ,MAAiC,EAAU,EAAQ,MAA12M,KuCiKhF,MAA2B,GAAP,GA5FsC,GAAO,MA6F7D,KAAW,GAAX,CACA,GAAS,EACT,QhDxJy+L,acoEx/L,KAsCa,+BAo0Dd,EAAyB,KkCvhD2v7D,GhDvZ20C,KgDuZ30C,GAAL,EA9Vhu7D,KlCu3D3C,EAAoB,gBkCpxDA,UAAgB,GAChB,QAAO,EACP,mCACA,UACG,EhEpC0jvE,MgEgCjkvE,KlCuxDhB,GAAY,EA/2Df,M9BHM,EgEyFS,CAUA,GAAS,EACT,SA5GwE,OA+GhF,8EhDxKmlF,WcuEniF,KAmC1C,+BAo0Dd,EAAyB,KkCvhD2v7D,GhDvZ20C,KgDuZ30C,GAAL,EA3Vvw7D,KlCo3DJ,EAAoB,akCn3DZ,QAAO,KACP,gClCq3DR,GAAY,EA52DwC,wCkCqEhD,WACO,CACH,MACA,KhD/IymL,KcyElmL,KAsC+C,OL3H4vM,EuCma4t2D,GlCxSx9iE,uBkCwS++iE,YvCna5r2D,EAAsB,EAAQ,MAAiC,EAAU,EAAQ,MAA12M,KuCiKhF,MAA2B,GAAP,GAnFyB,GAAO,MAoFhD,KAAW,GAAX,CACA,GAAS,EACT,QhDxJy+L,acyEt+L,KAiCL,+BAo0Dd,EAAyB,KkCvhD2v7D,GhDvZ20C,KgDuZ30C,GAAL,EArV7u7D,KlC82D9B,EAAoB,gBkCpxDA,UAAgB,GAChB,QAAO,EACP,mCACA,UACG,EhEpC0jvE,MgEgCjkvE,KlCuxDhB,GAAY,EA12DG,M9BRZ,EgEyFS,CAUA,GAAS,EACT,SAnG0D,OAsGlE,0HhExE+B,SAAI,YgE6C5B,CACH,MACA,KhD/IymL,Kc4EviL,KAmCZ,OL3H4vM,EuCma4t2D,GlCxSx9iE,uBkCwS++iE,YvCna5r2D,EAAsB,EAAQ,MAAiC,EAAU,EAAQ,MAA12M,KuCiKhF,MAA2B,GAAP,GAjFqC,GAAS,MAkF9D,KAAW,GAEX,QhDxJy+L,ac4E36L,KA8BhE,+BAo0Dd,EAAyB,KkCvhD2v7D,GhDvZ20C,KgDuZ30C,GAAL,EAnVtt7D,KlC42DrD,EAAoB,gBkCpxDA,UAAgB,GAChB,QAAO,EACP,mCACA,UACG,EhEpC0jvE,MgEgCjkvE,KlCuxDhB,GAAY,EAv2D8D,M9BXvE,EgEoGS,QAjGwE,OhEHjF,sCAiCkI,SAAI,YgE2C9H,CACH,MACA,KhD/IymL,KcgFlmL,KA+B+C,OL3H4vM,EuCma4t2D,GlCxSx9iE,uBkCwS++iE,YvCna5r2D,EAAsB,EAAQ,MAAiC,EAAU,EAAQ,MAA12M,KuCiKhF,MAA2B,GAAP,GA9EhB,GAAI,EAAO,MA+EX,KAAW,GAEX,QhDxJy+L,acgFt+L,KA0BL,+BAo0Dd,EAAyB,KkCvhD2v7D,GhDvZ20C,KgDuZ30C,GAAL,EAhV3w7D,KlCy2DA,EAAoB,gBkCpxDA,UAAgB,GAChB,QAAO,EACP,mCACA,UACG,EhEpC0jvE,MgEgCjkvE,KlCuxDhB,GAAY,EAn2DG,M9BfZ,EgEoGS,QA7Ff,OhEPM,mJgEyIgC,OAAV,YAAS,6BAEF,OAAT,WAAQ,EAAC,6BAGhC,SACA,GAAc,WAAO,WAAK,KhEpFwgI,mBAAK,YgEqF7gI,aAA1B,OAA0B,iBhEhJvB,6BgE4JuC,OAArB,YAAQ,WAAK,IAAO,EAApB,8BAGrB,SACA,MAAe,WAAQ,EAAvB,EACA,GAAc,EAAU,WAAK,KhEtG08I,mBAAK,GgEuG5+I,OAA6B,WAAQ,EhElKlC,8BgEsKH,SACA,WAAK,GAAS,YACd,kCACA,WAAe,WAAK,2J1BzMG,OAAL,yCAGlB,WAAa,gCAIb,MAAe,KAAK,MAEpB,OADA,WAAa,EACN,wCASN,OALG,KAAU,aACV,WAAQ,KACR,MAEA,EACH,kEAtCmB,OAAL,yCAGf,WAAa,4JApBgC,WAmIsqC,WAAW,GAAmB,GAAF,aAxB/uC,OAAO,sBAAsB,8BA3GX,GAmI0wC,WAAK,KAnI/wC,qQAwGL,uIkChHb,OAAO,qIJwEH,cAAU,GAAV,CACA,MAA6B,MAAV,WACnB,WAAS,EACJ,kBAnDL,SACA,MAAY,EAAK,MACJ,MAAT,IACA,EAAM,MACN,QAAa,MAEjB,MAAa,EAAK,SACJ,MAAV,GACc,QAAe,EAAP,EAAO,OAA7B,EAAc,KAAT,MAAS,UACC,IAAO,GACb,YAFT,EAAc,GAId,EAAO,OAwCP,wCAMR,MAAQ,EAAE,IAAkB,YAC5B,QAAU,GACV,QAAY,GAAe,EAAE,IAAQ,MAAO,GAAc,GAAQ,GAAS,MAC7D,WAAd,GAAa,8BAAC,EAAD,MAAgD,EAAG,GAC9D,EAAF,EAAE,MACF,OADqB,MAAnB,KAAmB,OAAY,qEAC1B,oCAIP,MAAQ,EAAE,IAAkB,YAC5B,QAAU,GACV,YAAY,GAAe,EAAE,IAAQ,MAAO,GAAc,GAAQ,GAAS,MAEvE,WADJ,GAAa,8BACT,EADS,MAOT,EACA,EACA,GAEF,EAAF,EAAE,MACF,OADqB,MAAnB,KAAmB,OAAY,kCAAW,MAAK,EAAI,EAAe,EAAX,WAClD,iQhCtE8C,OAAJ,uCNkmC/B,OAAJ,uGTr5BiB,YgC7PF,KAEU,KADN,IAEA,KIIT,uDI0T5B,EAAS,IAAsB,GAC/B,QAAW,EAAS,SACH,IAAkB,YAC/B,MAAY,OAAqB,EAAK,GACtC,EAAS,IAAsB,KAC/B,SAEA,uBALJ,QASA,OAFA,EAAO,IAAO,GACd,EAAS,MACF,0DhD9CN,YAHD,GACI,EACA,EAFJ,4ByBnKG,oPzCrFL,KAAgB,MAwLU,GArLV,MAqLgB,IGvE0yjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,EsBh2Be,OAAqB,GtBi2BpC,MAAsB,KACtB,SA17BJ,EAs7BJ,MACI,GADJ,GACI,IADJ,mPAlgCsC,QAiJZ,GGlB8yjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,EsBx4BS,OAAqB,GtBy4B9B,MAAsB,KACtB,SA17BJ,EAs7BJ,MACI,GADJ,GACI,IADJ,iKsBjtBA,MAAmC,iGtBjTG,QA4VuC,GG7N2vjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,EsBltBS,OAAmB,EAAc,GtBmtB1C,MAAsB,KACtB,SA17BJ,EAs7BJ,MACI,GADJ,GACI,IADJ,+D4El7BmC,MAAM,GAA8B,4CzE+C62nC,WH+7Bv1nC,OAAhC,MAl/BzD,KAk/BoE,0BwC93BvB,OAAtB,2CxCo5BH,WAA0C,OAAvB,MAAnB,MAAmB,iDAT3C,WAAqE,OAAlD,MAAnB,MAAmB,IAAgB,EAAK,EAAQ,EAAQ,yCwCrjC5D,oBAEwC,MAFxC,6BxC0zHgC,8BACL,8BA3HJ,wCGvlHyn6I,IH6nH3o6I,OGrtHM,EAwF6p6I,OAAa,GAxF1q6I,EAwF0q6I,WAxF1q6I,EAwFot6I,OAAyC,EAAS,iBAxF7w6I,82E0EiMI,6BAlQ4C,QAAUC,OAAV,2CACIC,GAAA,UAAqBD,6CAIzE,aACA,8IAUW,qBADE,IAEA,yCAIF,iBADE,UAEA,+CAIF,yBADE,KAEA,oDAIF,sBADE,KAEA,iEAtBb,aACA,aACA,0JA8HQ,OAAO,IAAAE,GAAA,2BAQP,E/E3D4C,K+E4D5C,E/E5D4C,K+E6DrB,EAAAC,EAAA,QAAvB,QAAM,MAAiB,cAAV,IAAAC,EAAU,MpE4BtB,KAAN,EAAa,QAAP,YAw1CI,KAAa,KAAwB,KAuErC,EAvEN,EAuEM,YAAR,QAAQ,MoE17CsC,EC4BiB,GAAP,MAulCZ,GAvlCV,EAAsB,OrE+5CzD,EAAY,EAAI,OoE37CR,MpE47CL,EoE37CSC,EAAiB,KACrB,EtElF4C,KsEmF/B,EAAAC,EAAA,YAAR,IAAAC,EAAQ,SAEI,MAATF,GAAiBG,GAAY,EAAAD,GAC7BF,EAAQE,OAIZ,MAAoC,SAAMA,GtETrB,OAErC,EAAe,OAAwB,EAAf,EAAe,MAFT,EAiG9B,GAAI,EAAK,IsEpFgB,MAATF,IACAA,EAAS,aAAW,GAGxBA,EAAQI,GAA8B,EAAAJ,GAEtCK,EAAUC,EACN,IAAAC,GACYP,EACDQ,sBAqBfH,EAAU,KAAQ,MAClB,MAAqDI,GAAlBC,GAAVL,GAAkB,MAAK,MACtB,EAAAA,EAAA,QAA1B,QAAM,MAAoB,UAAb,IAAAM,EAAa,SACT,IAAT,GAGJ,MAA2CF,GAAnBE,EAAS,MAAK,UAClC,GAAAC,EAAsBC,G9D9DG,MAAM,GAA8B,GACm+F,4BAA0B,EAAkB,iBAAe,EAAiB,Q8DsCxnGC,CAAmB,EAAAT,GAEnB,oBArCA,OAAiB,GAAVA,EAAoC,OAA1B,iBAAiC,GAAjC,SAqCAU,CAAiB,EAAAV,GAUlC,OARAW,EAAiBV,EACb,IAAAW,GACYC,EACG,GACCb,IAIbW,EAnDwBG,CAA2B,EAAArB,qBAuE1D,OAAO,QAAc,GAAQI,wBCHrC,EAAQ,QA+hB8E,GAhiBjE,EACK,KAAqB,ECpMP,GAa+4M,WDstBj2M,GAAQ,EA/hBjB,KDOrE,OCpC4D,GAAP,MAAtB,KAAsB,4B3ExBm8E,OAAW,G0EmEngF,OACIkB,GAAS,0BAAwBpB,EAAK,SA/HrD,EA+H8D,K1E/HpD,mB0EoIC,qBAIA,OCjB8D,QAolBE,GAplBf,GDazCqB,CAAc,EAAAnB,sB9DvFujI,U8D+FnkI,GAALoB,EAAgBC,GAAX,U9DhG2B,MAAM,GAA8B,GACqgI,WAAS,EAAG,4BAA0B,EAAG,gBAAc,EAAI,M+DsF5lI,SAAL,EAAa,EAAK,IAAb,UA4gB2D,ECnuBxE,GAamrO,QDstBroO,GAAQ,EA1gBpF,arEiDP,KADL,EACY,QAAP,YAovCU,KAAa,KAAwB,KAuErC,EAvEN,EAuEM,YAAR,UAAQ,MqE32CwD,KAoiCpB,EApiC6B,IAAI,IAAb,UAnDS,EAAV,GAAP,MAAtB,KAAsB,ODiEf,KAAP,EAAc,OAAP,YpE81C1C,EAAY,EAAI,OoEl2CZ,MpEm2CD,EoE71CC,EtE/KgD,KsEgLnC,EAAAC,EAAA,YAAR,MAAQ,MtETe,MAAK,GyEjF28D,MAAK,GzEiFl8D,E6BjMm8E,M7BiM/9E,EAW3B,GAAI,EAAK,GsECD,OAAOC,gCpEmCC,MAK4E,QAL5E,YAAX,MAAW,SoE9BsB,GAAL,EAPM,GAOD,UpE8BZ,CAAoB,EAAO,WACrD,EAAO,KoE/BC,OpE3FD,iBoEzGsD,OCwHO,GAAP,MA1IiB,GA0IvC,EAAsB,sBDnCE,OAAHC,EAAG,qCJxG5B,OA4hWtB,KAAa,UAAnB,mBA+UP,EAAa,IAAR,QAAQ,SA/UN,EA+UM,EIj2WmD,EA8Oko7X,EA9Olo7X,MJk2W5D,EAAY,EAAI,GAhVpB,EAiVO,EIn2WgD,mBEzB0R,EAAC,YAAsB,GAAX,WAAqC,IAA1B,+BAA8B,MAbnV,EAAX,GAAM,GFwC+C,mBExC1C,EAAX,GAaoZ,QF4BnZ,mBEzCU,EAAX,GAayc,mBF6B/b,uEAXtD,KACI,aACA,aACA,uGAwNJ,KACI,aACA,4BAoB8F,YAAHA,EAAG,2FEhR3C,EAAX,GAausP,kBF2O3sP,0BpEswCvB,KAAa,GA1gDgB,EA0gDQ,KAuErC,EAjlD6B,EAilD7B,gBAAR,MAjlDsF,EAilD9E,MAjlD8E,MA0gD9E,KAAa,KAAwB,KAuErC,EAvEN,EAuEM,YAAR,MwEzkDiB,ExEykDT,MwEzkDS,MxE0kDlB,EAAY,EAAI,GwE3kDK,ExE4kDlB,EADH,EAAY,EAAI,OwE7kDpB,MAOKC,GADAC,GxEwkDE,IwErkDP,EnF2EoD,KmF1ElC,EAAAC,EAAAC,IAAA,YAAb,QAAAC,EAAa,MAEd,E1EsDoD,K0ErDvC,gBAAR,UAAQ,M1EJc,EAAL,EAAK,aE+Qf,MA3QI,EAAK,MA2QT,YAAX,MAAW,SwE3KkyK,EA/F1vK,QAASA,ExE0QvC,CAAoB,EAAO,WACrD,EAAO,KFhRgD,IAAf,EACvC,OEqJD,EAAO,GFrJN,KADsD,EACtD,MADuC,UAC/B,KAD+B,EAAvB,EA2OjB,GAAI,EAAK,UkEokBF,MAvyBX,KAuyBW,eAkcP,EAAgB,IAAX,MAAW,YAlcT,EAkcS,EQ7oCsxmC,EA1F9umC,QAAOA,ERuuCrC,CAAoB,EAAO,WACrD,EAAO,KQxuCuC,IAA1B,EAAwD,ORqyB5E,EAAO,GQryBqE,KAA9B,EAA8B,QAAxD,QAAkE,KAAlE,EAFhBC,EAAO1B,EACH,KAEYyB,EACGE,EAHf,cASR,OAAO,IAAAC,GADQC,GAAc,GAAkB,GAGlCH,oBAgCb,aACA,iDAOA,E1EHwD,Q0EIxCI,EAAA,SxEkwCC,OAsFD,EAt1ClB,EAs1CkB,gBAAX,IAt1CuB,EAs1CZ,MAt1CY,MA67Cf,KAAa,KAAwB,KAuErC,EAvEN,EAuEM,YAAR,MwErgDkE,ExEqgD1D,MwErgD0D,MxEsgDnE,EAAY,EAAI,GA7KJ,GAAZ,EA8KG,KA5KA,eAmGM,KAAa,GA77CqE,EA67C7C,KAuErC,EApgDkF,EAogDlF,YAAR,MwEngDyB,ExEmgDjB,MwEngDiB,MxEogD1B,EAAY,EAAI,KACb,MwExgDP,QxE+7Ca,KAAa,GA37CG,EA27CqB,KAuErC,EAlgDgB,EAkgDhB,YAAR,MwEjgDmD,ExEigD3C,MwEjgD2C,MxEkgDpD,EAAY,EAAI,GwElgDpBhB,GAAS,WAASiB,EAAM,OxEmgDjB,OwElgDP,M1EVwD,K0EYxD,EAAiBC,GACZ,yBACA,wBACA,wBACA,wBACA,yBACA,0BAES,EAAAD,EAAA,YAAT,MAAArC,EAAS,MACV,EAAsB,GAANA,EAAa,OAAP,YAAN,EAAiB,G1EwQrC,EA1RgC,EA0RpB,GA1R0C,MA2RlC,MAAT,EAAS,C0EtQRuC,EAAW,KACXA,EAAWjC,EAAK,QAAOkC,KAAY,KAAIA,KAAY,KAAIA,KAAY,QAGvE,MAA0B9B,GAAX6B,GACfA,EAAW,GAAOE,G1EkQtB,M0EjQIA,E1E3BwB,EA6R5B,GA7RkD,EA6RzC,KACT,SAEA,E0E7QA,M1EwQJ,EApRJ,EAwKI,GAxKS,EAAS,GJMuG,aAEnH,EACS,G8Eef,OAIIrB,GAAS,aAKc,G9ElBpB,oB+E4B8B,OAAG,KDXD,OC0ChC,4BCxJP,aACA,yFAGC,aAKuB,YALvB,oFACD,aACA,aAEA,aACA,6CCXA,aACA,aACA,uFC0BI,8GAAM,WAAN,6DA4BgB,+GAAM,cAAN,6DA+BJ,+GAAM,UAAN,8DA5Db,+HA4Be,2FA+BJ,yGAlEhB,wJAGE,WAAqB,kEAArB,MAIA,+BAII,qFACA,qFAAK,uFAED,iHAAK,aAED,GAC0B,EACJ,EACO,EACC,EACC,EAL/B,oIlFsH4zjC,aHnDp0jC,IAu7B+B,gBAC3B,EqFl/BgB,GrFm/BhB,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qBqF7+Bc,yEAEE,+MlFwGwzjC,aHnDp0jC,IAu7B+B,gBAC3B,EqF3+BoB,GrF4+BpB,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,oBqF3+BgB,GACa,cADb,oBASA,GACY,EAAK,8CAEb,MAAI,aACJ,MAAS,kBACTsB,GAAY,EAAS,kBACrBC,GAAK,MACL,8CACI,EAAc,EAAK,IAAYC,EAAU,OAAtB,oBADf,aALV,MAFF,+BAXF,kGrFrBwB,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oBqFj/BY,eA4BA,2CAEQ,MAAS,OAAO,WAAY,cAC5B,MAAM,IAGQC,GAAV,EAAK,SACL,MAAM,WAAY,cAEtB,8CACI,EAAc,SADV,OAGRC,GAAK,EAAL,YAXI,MADZ,mDAxCH,gHrFL6B,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oBqF7/BI,gDADA,gHrFJkC,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,aqF9/BA,iTAeoB,MAAS,2CAOL,MAAS,2CAuBTC,GAAU,EAAG,GAAH,kDCjD1B,wHAAM,cAAN,8DADF,0FAhBR,mJAiCD,mBAjCC,qKnFgJ00jC,aHnDp0jC,IAu7B+B,gBAC3B,EsFnhCI,GtFohCJ,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qBsF3gCE,4DAGE,kLnFqIo0jC,aHnDp0jC,IAu7B+B,gBAC3B,EsFxgCQ,GtFygCR,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,asFxgCI,GACa,iCADb,eAQA,+GtFYN,KAAgB,MAtBG,GAyBH,MAzBG,IGuIuzjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,0CsF//BI,MAAI,YACJ,MAAS,OAAU,EAAY,cAAmB,kBAClD,4CACI,UADI,KAGRD,GAAK,EAAL,YANI,MtFigCR,MAAsB,KACtB,SA17BJ,QAu7BA,E4Ej/BmB,E5Eg/BvB,eAAO,EAAP,qBsFt/BM,6EACE,yGAAS,EAAY,KAAU,MAA/B,6BADF,gGtFZgC,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oBsF//BI,kItFHkC,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,asFlhCA,qLAEQ,MAAS,gBACT,MAAM,+BACFE,GAAW,EAAG,GAAH,gCASX,MAAS,sDCTvB,gJACK,gEAAE,oFAAQ,EAAM,MAAM,IAAG,EAAM,MAA7B,0HvFWiC,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,auF7gCA,0GpF0Iw0jC,aHnDp0jC,IAu7B+B,gBAC3B,EuF3gCI,GvF4gCJ,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qBuFhgCE,mFACE,mFAAiB,EAAO,+CACpB,EzFyD4C,KyFxDnB,EhFXkB,EAAM,MA8V2B,IAAQ,IgFnV3D,wBAAnBC,EhFXqC,EAiRa,KgFtQ1CzC,EhFX6B,EA8Ra,KJpT5D,EqFFwB,GD+EyQ,EAxCjR0C,MAAQD,EEX/B,QAFkF,EAElF,QAFsF,EAAjB,GAAY,GFqDuN,EAvCjR3B,KAAqB,EACH,OhFXb,EAAT,EAAS,MAAa,EA+CE,EA/CF,SAsNU,GAAnB,EAAmB,IAAnB,EAAmB,SAAI,U6B9M3B,yBAEV,wBAGjB,wBAED,wBAEiD,yBAA0D,yBmDgC6L,EAtCjR6B,YAAA,EAsCiR,EA1BjRC,YAAc,ECnDsC,ErFiFjE,EoF9CKnB,EAAS3B,EACL,aAmBU,SpFvDtB,EqFFwB,mBEIkB,EtDFtC,OmD6E6R,EArBzRwC,KAAY,MpFxDpB,QqFFwB,G/EwE8D,EAAf,EAAM,MAAS,KAuwCzE,OAsFD,EAtFT,EAsFS,YAAX,M8Ez2CuD,E9Ey2C5C,M8Ez2C4C,K9E22C5C,GAAZ,EADW,GgFj3CF,ahFo3CN,GN72C6E,EsFlClB,GAAY,GFmC1D1B,GAAS,WAAa,GAkBmtB,IpFmB7vB,EAAO,EoFnB8R,EAnBrRiC,OAA0E,EElCP,EAAjB,GA+BtC,GFsByQ,EAhBrRC,SAAoB,EC7DoC,ErFiFjE,EoFJ8R,EApBzR,KAAY,EpFzDpB,UqFFwB,GrFExB,EqFFwB,GDyEpB,OCvEgE,EAF5C,CD+EyQ,SAXnQ,GAWmQ,EAZjRtD,MAAQ,ECjE4C,ErFiFjE,EoFJ8R,EAbrRuD,QAAU,EChE8C,ErFiFjE,EoFJ8R,EAdzR,QAAe,EjEJC,OiEJR,IAAAC,EAAA,EpF0Bb,KoFlDwC,UAA3C,sCADF,oGvFFoC,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,8DACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,auF1gCA,+LAEQ,MAAM,+BACFC,GAAM,EAAI,GAAJ,MACNC,GAAS,EAAI,GAAJ,MAETC,GAAO,EAAI,GAAJ,MACPC,GAAU,EAAI,GAAJ,+EICV,oHAAM,UAAN,sDANJ,yMxFqIg0jC,aHnDp0jC,IAu7B+B,gBAC3B,E2FxgCY,G3FygCZ,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,a2FxgCQ,GACa,gBADb,mHxFqIg0jC,aHnDp0jC,IAu7B+B,gBAC3B,E2FhgCE,G3FigCF,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,oB2FhgCQ,kDALQ,MAAS,2CAQb,MAAI,eACJ,MAAS,kBACT,KAAqB,0BACrB,MAAM,+BACFC,GAAS,EAAG,GAAH,2CApBrB,yMxF0Io0jC,aHnDp0jC,IAu7B+B,gBAC3B,E2F9gCQ,G3F+gCR,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,oB2F7gCI,8DAEQ,MAAS,8DAQX,+HANJ,0FALJ,2FALc,qEA+BnB,mBA/BmB,wKxFgJwzjC,aHnDp0jC,IAu7B+B,gBAC3B,E2FnhCI,G3FohCJ,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,a2FlhCA,2JAEQ,MAAS,2CCRQ,gHAc5B,mBAd4B,0JzFqJ+yjC,aHnDp0jC,IAu7B+B,gBAC3B,E4FzhCI,G5F0hCJ,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qB4FrhCG,wDACC,sKzFiJo0jC,aHnDp0jC,IAu7B+B,gBAC3B,E4FthCQ,G5FuhCR,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qB4FlhCO,uEACC,mLzF8Ig0jC,aHnDp0jC,IAu7B+B,gBAC3B,E4FnhCW,G5FohCX,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qB4F/gCW,4EACC,wGAAM,KAAG,EAAT,6BADD,gG5Fa2B,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oB4FjhCQ,uCADD,gG5FgB+B,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oB4FphCI,kI5FkBkC,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,a4FvhCA,2KACI,MAAS,oCAGL,MAAS,0CAGL,MAAS,8DCKR,yGAAM,cAAN,sDAFL,8L1F0Ig0jC,aHnDp0jC,IAu7B+B,gBAC3B,E6F/gCW,G7FghCX,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,oB6F7gCQ,8DACI,MAAS,uDARjB,8L1FiJo0jC,aHnDp0jC,IAu7B+B,gBAC3B,E6FthCQ,G7FuhCR,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,oB6FphCI,8DACI,MAAS,eACT,MAAM,+BACFC,GAAa,EAAG,GAAH,KACbf,GAAU,EAAG,GAAH,mDAKX,gIAHJ,2FAPJ,4FAHO,+DAgBb,mBAhBa,2J1FqJ8zjC,aHnDp0jC,IAu7B+B,gBAC3B,E6FzhCI,G7F0hCJ,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,a6FvhCA,2JACI,MAAS,wDCNjB,yUAEI,aACA,oEAGJ,oSAEI,wCCAJ,sDAwBQ,sIAAM,mBAAN,6DAqDgB,uIAAM,oBAAN,6DA0BJ,yIAAM,OAAN,6DAgBA,0IAAM,SAAN,8DAhGd,6HAqDgB,yFA0BJ,0FAgBA,wGA7GhB,2MAEMgB,EAAgB,8BAChB,6O/FMkC,QAPyB,GGsIywjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,kB+FtgCiDrD,GAAhBqD,G/FugC5D,E+FvgC6C,kB/FwgC7C,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,a+FrgCsB,4F5FkIkzjC,aHnDp0jC,IAu7B+B,gBAC3B,E+FlgCI,G/FmgCJ,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,a+FlgCA,GACa,oBADb,4G5F+Hw0jC,aHnDp0jC,IAu7B+B,gBAC3B,E+F1/BI,G/F2/BJ,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qB+Fr/BE,iFACE,uM5FiHo0jC,aHnDp0jC,IAu7B+B,gBAC3B,E+Fr/BQ,G/Fs/BR,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qB+Fh/BM,kFAEE,oN5F2Gg0jC,aHnDp0jC,IAu7B+B,gBAC3B,E+F/+BY,G/Fg/BZ,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qB+F1+BU,6EACE,uLAEQ,MAAS,iBACT,MAAI,mBACJ,yCACO,MAAHrC,EAAG,SAAO,MAAP,c5FX4G,EAA7D,UM8O1D,MAzNgB,EAyNhB,YAAX,MAAW,SsFvJs2I,EAzExyI,QAHnD,EtFmOD,CAAoB,EAAO,WACrD,EAAO,yBsFrQe,0DA8FhB,GA9FmB,I5FyBK,GAO/B,GM2GQ,INvDP,kB4FpD6B,eAHL,QAWV,4EACE,wJAAuB,oBAAlB,IAAAsC,EAAkB,oG/FR+B,QAAgB,MAA7C,GAG/B,MAH+B,IAK/B,MAL+B,IGiG+xjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,E+F39BwB,U/F49BxB,MAAsB,KACtB,SA17BJ,QAu7BA,E4Eh+BmB,E5E+9BvB,eAAO,EAAP,uB+Fp9BsB,qH/F9CgB,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,QACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,aGr/BA,I4F0BoB,GACYA,EAAe,MAD3B,EArExB,EAqEwB,eAaQ,8F/FpDU,QA6CgB,GGkFkxjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,wC+F98BoB,IACAC,GAAS,eAFT,I/Fg9BpB,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oB+F/8BgB,mDAdF,sG/FrCwB,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oB+Fz+BY,2CADF,wG/FxB4B,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,a+F9+BQ,uG5F2Gg0jC,aHnDp0jC,IAu7B+B,gBAC3B,E+Fn8BY,G/Fo8BZ,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qB+F97BU,8EACE,0O/FvC0D,QAAgB,MA4BtE,GAzBN,MAyBM,IAvBN,MAuBM,IGqEwzjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,4C+F77BY,MAAS,OAAO,gBAChB,MAAM,IAGN,8CACI,EAAuB,aADnB,OAGRnB,GAAK,EAAL,MAEI,IACAoB,GAAS,eAXT,Q/F+7BhB,MAAsB,KACtB,SA17BJ,QAu7BA,E4Eh+BmB,E5E+9BvB,eAAO,EAAP,a+F77BY,0H/FvC0D,QAAgB,MA8CvF,GA3CW,MA2CX,IAzCW,MAyCX,IGmDy0jC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,4C+F16BY,MAAS,OAAO,eAChB,8CACI,EAAyB,aADrB,OAGRpB,GAAK,EAAL,MAEI,IACAoB,GAAS,eART,Q/F46BhB,MAAsB,KACtB,SA17BJ,QAu7BA,E4Eh+BmB,E5E+9BvB,eAAO,EAAP,oB+F16BY,gDApBF,sG/FpE4B,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,8DACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oB+Fl8BQ,uCA9CF,4G/FlBgC,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oB+Fp/BI,uCADF,4G/FboC,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,a+Fz/BA,4MAZyB,YvDLqB,0DAqDoC,gCuD1C1E,MAAS,gDAQT,MAAS,gDAKL,MAAS,yCAML,MAAS,2DAoBO,EAAe,QAAO,MAAkB,OAAQ,IAChDD,GAAS,0EAIjB,mKAAK,EAAe,MAApB,mHAmBR,MAAS,yCAODE,GAAY,EAAG,GAAH,mCA3FX,qBAA0B,IAAPC,MAAOC,oDCKnD,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,2CAIA,aACA,yCAoJ2B,UAAH,4CpD9Es/C,QA1Dt7C,0BoDsIxB,aAErC,WAAAC,MAAK,gBAAW,OAATC,SAASC,cAAc,oDAhB7B,wGAAM,KAAN,6DADJ,0LADJ,0LACW,8HADT,2FADJ,iGA1HpB,oJAEEC,EAAS,EAAT,MACA,mBAEgB,MAAAC,EAAA,YAAX,IAAAC,EAAW,MACZ,iBAAIA,EAAQ,OACR,GAAUA,EAAQ,MAAOA,EAAQ,MAAjC,MACA,8MAgBV,2P7F+F00jC,aHnDp0jC,IAu7B+B,gBAC3B,EgGj+BI,GhGk+BJ,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,+BgG59BE,wEAEE,gL7FuFo0jC,aHnDp0jC,IAu7B+B,gBAC3B,EgG39BQ,GhG49BR,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qBgGt9BM,0EAEE,iMhG9C8B,QAiBgB,GG8GkxjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,wCgGp9BQ,MAAS,OAAO,mBAAoB,WACpC,4CACI,UADI,KAGR7B,GAAK,EAAL,YALI,IhGs9BZ,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,qBgG58BU,gFACE,oHAAK,EAAL,gCADF,kGhGtD4B,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oBgGp9BQ,uCAFF,oGhG5CgC,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,agG19BI,uG7FuFo0jC,aHnDp0jC,IAu7B+B,gBAC3B,EgGx8BQ,GhGy8BR,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qBgGn8BM,yEAEE,gMhGjE8B,QAiCZ,GG8F8yjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,wCgGj8BQ,MAAS,OAAO,mBAAoB,WACpC,4CACI,UADI,KAGRA,GAAK,EAAL,YALI,IhGm8BZ,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,qBgGz7BU,+EACE,oHAAK,EAAL,mCADF,gGhGzE4B,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,8DACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oBgGj8BQ,uCAFF,kGhG/DgC,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,8DACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oBgGv8BI,oIhG3DkC,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,agGh+BA,uG7F6Fw0jC,aHnDp0jC,IAu7B+B,gBAC3B,EgGn7BI,GhGo7BJ,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,+BgG96BE,wEACE,yF7FsCU,WAAd,EA3EwC,KA2EnC,MAAS,U6FrCN,iBAAK,kBAqEqC,2F7F5BsxjC,aHnDp0jC,IAu7B+B,gBAC3B,EgG56BgB,GhG66BhB,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qBgGv6Bc,iIhG3FwB,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,QACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,gBgG36BY,eAsCa,IA8ByB,EA9BtB,yF7FE4yjC,aHnDp0jC,IAu7B+B,gBAC3B,EgGr4BoB,GhGs4BpB,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,agGp4BgB,sC7FHhB,EA3EwC,6HHhDF,WG+HkyjC,cHo4Bh0jC,GAv7BJ,KAu7B+B,gBAC3B,+DACA,MAAsB,MACtB,UA17BJ,UAu7BA,E4E9/BmB,G5E6/BvB,iBAAO,GAAP,agGl7BA,iSAiFA,4KAA0E,yBAFhC,sBACF,YACxC,8EANI,GAM6C,KAAiB,KAAlE,mNAGqD,mO7FrCmxjC,aHnDp0jC,IAu7B+B,gBAC3B,EgG91BI,GhG+1BJ,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,2BgGz1BE,gEACE,uFAAG,gFAAE,mGAAK,EAAL,gCAAF,kGhG1K+B,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,agGx1BI,sBACG,qEACC,kGvFgnDQ,MAloDM,EAkoDN,YAAX,MAAW,MuF/mDD,sHhG7KuB,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,QACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,agGr1BY,iDAFL,8FhG3K+B,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,8DACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oBgGv1BI,uIhG3KkC,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,agG71BA,8MAkDF,uJAWD,6BAZsD,YACrD,uEpBpDO,oG5EnKiC,QAAQ,GG+H0xjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,KgG3yBI,cACJ,kBAAO,MAAP,KAAc,GACd,MAAM,WhG0yBN,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,qBgGnyBE,mEACE,qFAAK,EAAL,2HhGhOkC,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,agG1yBA,uMApLQ,MAAS,OAAO,yCAMZ,MAAS,8CAmBT,MAAS,8CAqBb,MAAS,yCAOG,MAAS,2DAKL,MAAS,iBACT,yCACO,MAAHpB,EAAG,aAAO,MAAP,I7FjCN,IA6Dd,EAzDb,EAPC,GAcsC,EAdtC,U6FmCiC,8DAmBI,KADa,IA0CC,EA1CE,EAA0B,KAE1CuC,GAAS,0EAIjB,wJAAK,EAAL,wJA3BZ,+NhG9DsD,QAAgB,MAyF7D,GAtFf,MAoB+C,IAlB/C,MAkB+C,IG0E+wjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,EgGv6BoB,UhGw6BpB,MAAsB,KACtB,SA17BJ,QAu7BA,E4Eh+BmB,E5E+9BvB,eAAO,EAAP,qBgGv5BkB,4EACE,6IAAkB,oBAAb,IAAAW,EAAa,0FpBxDtC,OAAc,IAuDyB,GA9BV,sBAxB7B,EAAY,IAAP,MAAO,aAAM,KAAU,EAA2B,MAAQ,c5EDzC,IG2EkzjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,EgGr5B4B,YhGs5B5B,MAAsB,KACtB,SA17BJ,QAu7BA,E4E78BmB,E5E48BvB,eAAO,EAAP,qBgG54B0B,qHhGtHY,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,QACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,agGr5BwB,GACYA,EADZ,4CAFN,sGhG3GoB,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oBgGt6BgB,iIAoCQ,MAAS,8CAuCzB,MAAS,yCAYO,MAAS,gFALjB,2HAqD67qD,EArDh7qD,MAAM,IAAnB,6F7F/CwzjC,aHnDp0jC,IAu7B+B,gBAC3B,EgGl1BoB,GhGm1BpB,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,iBgGl1BgB,GAmD67qD,EAlD76qD,MACJ,EAFZ,OAMA,GAAM,MAAN,KACA,GA4C67qD,EA5C/6qD,MAAd,YACA,GA2C67qD,EA3C/6qD,MAAY,UAAe,cAAzC,KACA,GA0C67qD,EA1C56qD,MAAW,KAA5B,YACA,MAyC67qD,EAzCt6qD,MAAW,GAAS,iGhG5K7D,KAAgB,MAqlDL,GAllDK,MAkIlB,IGpB40jC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,mCgGv0BgB,MACiB,IAqCo6qD,EArC56qD,MAAe,YAqC65qD,EApC56qD,MAAO,EAAM,SACT,iBAEb,MAAS,SAAS,MAAIC,IAEtB,MAAM,iBAAkB,WACxB,MAAM,oBAAqB,OAE3B,MAAM,QAAN,GA4Bq7qD,EA5B/5qD,MAAQ,EAAO,OA4Bg5qD,EA5Br4qD,MAAO,SAXnD,MhGy0BpB,MAAsB,KACtB,SA17BJ,QAu7BA,E4Ej/BmB,E5Eg/BvB,eAAO,EAAP,qBgGzzBkB,8EACE,uIAyBy7qD,EAzB/6qD,MAAV,6BADF,gGhGzMoB,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oBgGv0BgB,eAiBA,GAAM,KAuBu7qD,EAvB96qD,MAuB86qD,EAvB55qD,MAAMC,EAAO,IAA9C,mHAgBJC,GAAW,EAAC,sCAjEsB,IAAAC,GAA8B,mDC3JpE,wIAAM,uBAAN,8DADF,0FAhBR,mKAiCD,mBAjCC,6L9FgJ00jC,aHnDp0jC,IAu7B+B,gBAC3B,EiGnhCI,GjGohCJ,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qBiG3gCE,2DAGE,uM9FqIo0jC,aHnDp0jC,IAu7B+B,gBAC3B,EiGxgCQ,GjGygCR,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,aiGxgCI,GACa,0CADb,eAQA,+GjGYN,KAAgB,MAtBmC,GAyBnC,MAzBmC,IGuIuxjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,0CiG//BI,MAAI,qBACJ,MAAS,OAAU,EAAY,cAAmB,kBAClD,4CACI,UADI,KAGRlC,GAAK,EAAL,YANI,MjGigCR,MAAsB,KACtB,SA17BJ,QAu7BA,E4Ej/BmB,E5Eg/BvB,eAAO,EAAP,qBiGt/BM,8EACE,gIAAS,EAAY,KAAU,MAA/B,6BADF,gGjGZgC,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oBiG//BI,kIjGHkC,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,aiGlhCA,qLAEQ,MAAS,gBACT,MAAM,+BACFE,GAAW,EAAG,GAAH,gCASX,MAAS,6DCFT,4GAAM,cAAN,8DADF,uGAZb,wFAF8B,YAE9B,uEpGLoB,EAgOwC,IoG1N5C,yF/FgJ2zjC,aHnDp0jC,IAu7B+B,gBAC3B,EkGnhCQ,GlGohCR,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qBkG9gCM,iEACE,6K/F0Ig0jC,aHnDp0jC,IAu7B+B,gBAC3B,EkG7gCY,GlG8gCZ,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,akG7gCQ,GACa,kCADb,4GlGW8B,QAXrB,GG0IuzjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,wCkGrgCQ,MAAS,iBACT,MAAI,aACJ,qCACO,MAAHtB,EAAG,aAAO,MAAP,G/FJtB,EAFoB,S+FKG,WAHJ,IlGugCZ,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,qBkG3/BU,2EACE,qGAAiB,oBAAZ,IAAAuD,EAAY,MtBV+B,mG5EgB9D,KAAgB,MAjBgB,GAoBhB,MAAQ,IG8GkzjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,EkGz/BoB,QlG0/BpB,MAAsB,KACtB,SA17BJ,QAu7BA,E4Ej/BmB,E5Eg/BvB,eAAO,EAAP,qBkGl/BkB,qHlGhBoB,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,QACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,akGz/BgB,GACYA,EADZ,4CAFN,kGlGP4B,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oBkGrgCQ,sIlGG8B,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,akGlhCI,4MAEQ,MAAS,2CAML,MAAS,gEAoBG,IAAY,OACZhB,GAAS,0EAIjB,+GAAK,EAAL,gICtChB,2JADqC,mGCuGjB,0GAAM,YAAN,8DADF,mGAhFxB,+HA6KD,gBA7KC,kIjG+H00jC,aHnDp0jC,IAu7B+B,gBAC3B,EoGrgC8B,IAAAiB,GAAc,IAAAC,GAAqB,IAAAC,IpGsgCjE,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,sBoGngC2B,wDAC7B,+JjG+H00jC,aHnDp0jC,IAu7B+B,gBAC3B,EoGlgCI,GpGmgCJ,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qBoG7/BE,wDAGE,2FtBL0E,MAAV,KAAU,OA0R1B,OsBjR5C,GAAQ,KAAU,MAAlB,6FjGmHg0jC,aHnDp0jC,IAu7B+B,gBAC3B,EoGn/BQ,GpGo/BR,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qBoG1+BO,yEACC,wLjGsGg0jC,aHnDp0jC,IAu7B+B,gBAC3B,EoG3+BY,GpG4+BZ,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qBoGv+BW,wEACC,2GACqB,QAAV,KAAU,MACe,EAAV,KAAU,MAChB,2EACA,qGAJpB,GACqB,EACe,EAGd,KAAU,MAFZ,EACA,gCAEU,6GACD,4GACE,gFAR/B,OAWA,eACA,mBAGe,uFAcN,2BAbD,wHAAAhE,GAAS,cAAa,KAAU,MAAW,KACvC,KAAU,MAAW,IAAO,EAAG,CAEW,MAAV,KAAU,QAAnB,WAAmC,MAAhB,EAAgB,KAAhB,EAAgB,OAAa,KAAU,MAAK,IAC1C,EAAV,KAAU,QAApB,YAAqC,MAAjB,EAAiB,KAAjB,EAAiB,OAAW,KAAU,MAAK,IACnE,gGpGjDN,QAgDd,GG+EgzjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,+BoGn9BoC,iEpGo9BpC,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,qBoGh9B6C,gGpGlDP,QAoDe,GG2EmxjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,+BoGl9BqC,kEpGm9BrC,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,aoGp9BwB,WAKiB,KAAU,MACA,KAAU,MACV,KAAU,oCACZ,2GACA,6EATzB,oCAHG,8FpG3CW,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,0DACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oBoGx9BY,KAiBgB,KAAU,MAjB1B,6BAfD,gGpG3B2B,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,aoGz+BQ,eAsCU,MAAV,KAAU,MAAc,QAAd,EAAc,KAAd,EAAc,MAAQ,QAAR,GtGbnC,EAuJ4D,IsG1IjB,KjGW8C,KiGXlB,MAA5B,YjGcpC,OAAU,SAAV,QAUyI,MAAM,GAEvI,OAbG,MACX,sFAkDo0jC,aHnDp0jC,IAu7B+B,gBAC3B,EoGl8BgB,GpGm8BhB,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qBoG77Bc,+EAEE,uHAAI,KAAU,MAAwB,mBAClC,QADkC,aAE/B,mBxBOP,oG5EhFsB,QAAQ,GG+H0xjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,wCoGx7BoB,4CACI,KAAU,YADA,WADV,IpG07BxB,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,aoGx7BoB,uCADG,gGjGsDizjC,aHnDp0jC,IAu7B+B,gBAC3B,EoG76BoB,GpG86BpB,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qBoGx6BkB,wEACE,wIAAK,wEACD,wOjGmCgzjC,aHnDp0jC,IAu7B+B,gBAC3B,EoGv6B4B,GpGw6B5B,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qBoGl6B0B,yEAEE,qPjG6B4yjC,aHnDp0jC,IAu7B+B,gBAC3B,EoGj6BgC,GpGk6BhC,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qBoG55B8B,yEACE,+KACgB,KAAU,MAAK,MACT,gGpGzGhB,QAsHxC,GGS00jC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,+BoG35B8C,4EpG45B9C,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oBoG35BgC,oCADF,8FpGtGQ,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,8DACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,gBoGh6B4B,eAWI,QAAU,MAAV,+FjGkBwyjC,aHnDp0jC,IAu7B+B,gBAC3B,EoGr5BoC,GpGs5BpC,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qBoGh5BkC,yEACE,+KACgB,KAAU,MAAK,MACT,gGpGrHpB,QAoIoC,GGL8vjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,+BoG/4BkD,oFpGg5BlD,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oBoG/4BoC,oCADF,8FpGlHI,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,8DACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,aoGp5BgC,mBtGC6C,KAAU,MA0F9B,IsG/EL,yFjGKoxjC,aHnDp0jC,IAu7B+B,gBAC3B,EoGx4BoC,GpGy4BpC,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qBoGn4BkC,wEACE,8KACgB,KAAU,MxBO1D,gG5ExIkC,QAAQ,GG+H0xjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,wCoGj4BoC,KAAU,IAAkBiE,SADZ,IpGm4BpD,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oBoGl4BoC,2CADF,8FpG/HI,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,8DACA,MAAsB,KACtB,SA17BJ,SAu7BA,E4E9/BmB,G5E6/BvB,iBAAO,GAAP,aoGv4BgC,+CA3BN,8FpGhGY,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,8DACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oBoGt6BwB,uCADC,8FpG3Fa,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,8DACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oBoGv6BoB,gDADF,8FpG1FoB,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,8DACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,aoG56BgB,eAwDA,4GpG9IsB,QAwEhC,GGuDk0jC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,EoGr3BsEC,GAhFtC,EAgF8C,GpGs3B9E,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,iBoGn3BgB,IAIe,IAAAxD,IAAA,QAAV,IAAAE,EAAU,0FjGpByyjC,aHnDp0jC,IAu7B+B,gBAC3B,EoG/2BwB,GpGg3BxB,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,qBoG12BsB,4HpGxJgB,YG+HkyjC,eHo4Bh0jC,IAv7BJ,KAu7B+B,gBAC3B,SACA,OAAsB,OACtB,WA17BJ,UAu7BA,G4E9/BmB,G5E6/BvB,iBAAO,GAAP,aoG92BoB,+CA/EN,oGpGrEwB,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,8DACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,aGp7BM,eAGN,yCiGzDO,gGpGxB+B,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,oBoGj/BI,kIpGjBkC,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,aoGjgCA,wLAEQ,MAAS,gDAeT,MAAS,SACT,MAAM,+BACFuD,GAAY,EAAG,GAAH,KACZC,GAAa,EAAG,GAAH,KACbC,GAAc,EAAG,GAAH,gCAId,MAAS,yCAyCD,MAAS,yCAqBL,MAAS,oCAMD,MAAS,oCAML,MAAS,yCAYL,MAAS,yCAaT,MAAS,yCAyBrB,MAAS,uDAML,MAAc,CAAN,EAAM,6EAEd,mJACwB,KAAU,MAAK,MACxB,EAAW,MACd,EAHZ,kJALR,yIAAc,QAAA3D,IAAA,QAAT,IAAA4D,EAAS,QAEE,MAET,yHpG7JO,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,QACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,aoGv2B4B,8HCxJU,2FAKf,UAAH,8FAqGvB,GArG0B,oBASH,UAAH,2FA4FpB,GA5FuB,oBAGJ,UAAH,uFAyFhB,GAzFmB,oBAGc,UAAH,qGAsF9B,GAtFiC,oBAGH,UAAH,kGAmF3B,GAnF8B,oBAGC,UAAH,mGAgF5B,GAhF+B,oBAGA,UAAH,mGA6E5B,GA7E+B,oBASX,UAAH,wFAoEjB,GApEoB,oBAGL,UAAH,mFAiEZ,GAjEe,oBAGU,UAAH,6FA8DtB,GA9DyB,oBAGC,UAAH,8FA2DvB,GA3D0B,oBAGX,UAAH,mFAwDZ,GAxDe,kBAeR,KAAkB,QAAc,sBA8EhC,KAAuB,MACvB,KAAuB,MACvB,QAAW,KACX,KAAe,MACf,QAAU,KACV,KAAiB,MACjB,KAAkB,MAClBC,GAAc,oBA6Cd,QAAW,KACX,MAAyDlF,GAAxCmF,EAAa,MAAS,MAAa,MACpD,EAAK,MAAW,IAAOC,GACnBA,EAAW,KAAQ,GACnB,KAAuBA,EAAA,EAAW,IAClC,KAAuBA,EAAA,EAAW,MAElC,KAAuB,MACvB,KAAuB,OAE3BF,GAAc,kBAKd,QAAU,KAEV,QAAgB,iBACG,UAAc,QAAd,EAAc,KAAd,EAAc,SAAQ,MAAR,IAAQ,kB5F40CzB,OAwPJ,EAzjDC,EAyjDD,YAAX,MAAW,MAhPK,E4Fn1CA,SACGvD,EAwHm1iD,EAtHx0iD,QACA,S5F+0CM,MAApB,IN76C68+C,EAAY,EAAtC,GA9Cx8+C,QM49CO,E4Fr1CH,IAQiB,EARjB,EAQA,QAAU,IAAO,QAAgB0D,KAAhB,wCAtIT,KAA2B,OAGvB,QAAqB,KACrB,QAAU,KACV,QAAW,KAGyB,MAAgB,SAAM,MAAtB,QlGvBvD,OADiB,GAAS,wBAA+C,GAFe,GAEiB,GAFjB,EAE4B,IACpH,KkGuBuD,QAA/BC,EAA+B,EAA/B,KAAW/E,EAAoB,EAApB,KAMhB,KAAiB+E,GACjB,QAAqB,GAAO/E,GAEtB,MAAA+E,EAAA,QACQ,IAAV,EAAU,CACN,sBpBhGxB,QAAkBrF,GAAL,G9EJY,EIkC+B,K0ExBhC,EAAAsF,EAAO,MAAP,YAAZ,IAAArF,EAAY,MAiDZ,EAhDA,GAAIA,EAAS,MAAOA,EAAS,O9ETnC,MA0CC,E8E9BCS,GAAS,eA+DU,G9ElB3B,EAAO,E8ErDP,MAAY,OACC,KACD4E,EAAO,MAKb,EAGS,aAGf,OAAO,IAAA9D,GACQC,GAAc,GAAkB,GAClC8D,GACLP,IoB8EqDQ,CAArB,SAChB,KAAeC,GACfC,GAAsB,EAAAD,GACtB,KAAO,YAGD,IAAV,EAAU,aAEN,Q5FbsB,UA47C1B,OAwPJ,EAxPT,EAwPS,YAAX,IAhPgB,EAgPL,M4FvqD8D,M5Fu7CrC,MAApB,IN76C68+C,EAAY,EAAtC,GA9Cx8+C,MMm9CA,EASO,E4Fx7C2B,MAAuDxE,GAA3B,I5FT/C,uBAqJC,MAzHT,EAyHS,YAAX,MAAW,S4FnBlB,IAvHuE,Q5F0I3C,CAAoB,EAAO,WACrD,EAAO,K4F3IuC,Q5FiBvC,E4FjBiB,EAAsB,QAAsD0E,GAAV,SAA5C,KAC+B,MAAnBC,EAAA,S5FJxD,UA2mBc,OA2FA,EA3FT,EA2FS,YAAX,MAAW,M4Fxegwc,EAzNntc,OAAYA,G5FisB3B,EAAY,EAAI,KACvD,S4FhsBqB,QAHJ,IAKA,EAAwCC,GALxC,GAMA,KAAe,GACfH,GAAsB,KACtB,KAAQ,uBA6B5B,QAAgB,iBAChB,EvGjGgD,KuGkGzB,yBAAlB,IAAAI,EAAkB,MACI,sBAAlB,IAAAC,EAAkB,SAChBD,IAAgBC,GAGnB,gBAAc,QAAd,EAAc,KAAd,EAAc,SAAQ,MAAR,IAAQ,kB5Fg4Cd,OAwPJ,EAtnDhB,EAsnDgB,YAAX,MAAW,MAhPK,E4Fv4CQ,SACGrE,EA4K20iD,EA1Kh0iDoE,EACAC,G5Fm4CF,MAApB,IN76C68+C,EAAY,EAAtC,GA9Cx8+C,QM49CO,K4Fl4CQ,MAPmB,gBAQdC,EAAW,EACXC,EAAS,EACG,EAVE,EAUF,eAAX,IACY,EADD,MACS,MAAR,YAAR,IAAAC,EAAQ,MAELA,EAAK,MAAO,EAERD,EAAAA,EAAoB,GAAVC,EAAK,OAAf,EAEJA,EAAK,MAAO,IAERF,EAAAA,EAAsB,GAAVE,EAAK,OAAjB,GAKhBC,EAAWvG,EAAI,IAAAwG,GAAWN,EAAgBC,EAA6BC,EAAqBC,M5F4sD5G,QA5rD2B,EA4rDZ,OACV,EAAS,KACd,MAAc,EAAS,OAClB,EAAS,SACd,E4F1jDshpD,EAjJr+oD,S5F6sD7C,MAAQ,EAAS,IACjB,E4F7jD6lpD,EAjJhjpD,M5F+sDzC,KAAW,GAAX,IACA,EAAU,EACV,EAAW,SAEV,EAAS,KAClB,EAAO,OAVkB,EAAO,OAFP,EAAO,K4FxsD5B,KAA4B,G5FusDhC,MA3rDS,EA2rDM,OACV,EAAS,KACd,MAAc,EAAS,OAClB,EAAS,SACd,E4F1jDshpD,EAhJp+oD,S5F4sD9C,MAAQ,EAAS,IACjB,E4F7jD6lpD,EAhJ/ipD,M5F8sD1C,KAAW,GAAX,IACA,EAAU,EACV,EAAW,SAEV,EAAS,KAClB,EAAO,OAVkB,EAAO,OAFP,EAAO,K4FvsD5B,KAA6B,IA7DjBI,CAAe,GACf,KAAW,mDAETC,GAAgB,GACP,QAAE,EAAArH,QAAF,gBAtIW,2BAsIX,EAAX,QACAsH,GAAM,sCA9I1B,KAEI,aACA,mBASgEnB,KAAzC,6BAIgB,gBAEvB,WAAAoB,KAGI,cAA8B,KAA9B,aAGJ,cAAe,GAAf,aAGc,eAAe,EAAf,aAGH,eAAe,EAAf,aAGC,cAAwB,KAAxB,aAGA,cAAwB,KAAxB,aAGX,WAAAA,KAGD,WAAAA,KAGC,cAA2B,KAA3B,aAGL,cAAe,GAAf,aAGU,cAA4B,KAA5B,aAGC,cAA4B,KAA5B,iBAInB,aAAS,QAAT,QAA0B,IAAAC,uBACR,OACe,GACR,GAHzB,EADQ,6BAURC,GAAkB,YvGFyC,EAAX,KuGWjB,aAGb,qCAkQtB,aACA,aACA,aACA,8DC5V6C,kFAHjD,sDCHgD,6BACe,4CACT,wFAJtD,uCCuBI,gqCC3BI,SAAoB,4BADb,mBAAK,GAAL,orB5BIX,+CACA,oDAVJ,oXAcI,+MC6BiC,GAA3B,EAAK,MAA6B,QAAP,YAAY,OAA0B,KAA1B,iBAA+B,GAA/B,SChB8sB,OtEqCzvB,EsE5CyD,GAOqqB,QAPzpB,GD00Cc,GAAM,EAA/B,GrE8K/C,KAAa,KAAwB,KAuErC,EAvEN,EAuEM,YAAR,QAAQ,MoErhDuD,ECuHA,GAAP,MAulCZ,GAvlCV,EAAsB,OrE+5CzD,EAAY,EAAI,OAnhDA,MAohDb,EAx1BS,OA2FA,EA3FT,EA2FS,YAAX,MAAW,OqE7hBoC,GAwWzC,IrEqLmC,EAAY,EAAI,GoE5xBtD,MpE6xBD,KoExxBChG,GAAS,oBACNtB,EAAO,IAAW,OAAO,yBC0LqB,MAAL,EAAK,QCjO45Q,KAAS,OAA0B,IAAc,IAAe,IAAvD,OAA2D,GAA3D,SFkQ99Q,OE/QwC,GAAM,GD8nC8B,GAAgB,GDzkC3EuH,CAALC,GAAuB,OAAOC,GAAkB,KAAAzH,GAEpDsB,GAAS,oDACT,M/EqB4C,K+EnBrB,EAAAtB,EAAA,QAAvB,QAAM,MAAiB,UAAV,IAAAC,EAAU,MACnBqB,GAAS,WAASrB,EAAK,SpEQT,SAAN,EAAa,QAAP,YA27Cb,KAAa,KAAwB,KAuErC,EAvEN,EAuEM,YAAR,QAAQ,MoEzgDsC,EC2GiB,GAAP,MAulCZ,GAvlCV,EAAsB,OrE+5CzD,EAAY,EAAI,OoE1gDR,MpE2gDL,EoE1gDSC,EAAiB,KACjBiF,EAAoB,KACxB,E/EcwC,K+Eb3B,EAAAhF,EAAA,YAAR,IAAAC,EAAQ,MAEI,MAATF,GAAiBG,GAAY,KAAAD,KAC7BF,EAAQE,GAGRoH,EAAK,OAA8BE,GAAW,KAAAtH,KAC9B,MAAZ+E,I/ExBzB,EA0K0D,M+EhJpB,MAATjF,IACAA,EAAS,aAAW,EAAK,IAAEiF,GAI/BjE,EAAiBV,EACb,IAAAW,GACYjB,EACGiF,EACC5E,IAIpBA,EAAU,MAGd4E,EAAW/E,GAGf,MAAsBuH,GAALvH,EAAK,SACJ,MAAdwH,EAAA,cpEoLJ,MAvK0F,EAuK1F,YAAX,MAAW,SoErCuB,EA9I4B,QAASA,EpEmLlD,CAAoB,EAAO,WACrD,EAAO,QoEpLqF,MpE0DrF,EoExDiB,MAAM,IAAAC,GAA+B,OAAKD,EAAU,oBAAkB,EAAQ,EAAxE,GAA0E,uBAEpFrH,EAAUC,EACN,IAAAC,GACYmH,EACDE,GAAY,EAAAF,EAAYxH,MAMlC,MAATF,IACAA,EAAS,aAAW,GAGxBA,EAAQ6H,GAAW,KAAA7H,I/EnBN,EA6HgC,K+EvGzCgB,EAAiBV,EACb,IAAAW,GACYjB,EACGiF,EACC5E,IAM5B,OAAO,IAAAR,GAAA,KAAiCmB,8DA5FhD,+CACA,+CACA,oDAhDJ,+e1E6Jg3H,KAA0C,KAA/B,KAAQ,EAAR,WAA8D,QAA/B,EAA+B,KAA/B,EAA+B,K0EqHr6HI,GAAS,UAhL5B,GA+KgB,IAHQ,EAMP,O1ElLd,EAAO,G0EkLO,KAAAiF,GAHD,MAHQ,SAOA,MAAEnG,EAAI,6BAA4B,KAAW,KAAQ,IAnKtC,MAAM,GACtB,GAAR,IA2JJ,MAAa,EASb,OAAO,IAAA4H,GEzQyB,GAa2tQ,EAAM,KDstBnrQ,GAzftE,EAER,I1C3Mk/E,GAAoyK,oEyC/ClyP,kYIoEI,oDApEJ,uYEKI,+CACA,oDANJ,gZAUI,+CACA,+CAEA,+CACA,oDAdJ,mgBCGI,+CACA,+CACA,oDALJ,ypBMIkD,MtDFtC,yNiDwBa,iOACjB,WAAc,4FADG,mREgDT,WAAMC,+MO1EtB,+CAIA,MxDH4D,0CwDG5D,0fAEI,oDANJ,seAUA,MxDRmE,6CwDQnE,8dAVA,6hBEiBI,+CACA,+CACA,+CACA,+CACA,+CACA,+CACA,+CACA,+CACA,+CACA,+EAKA,oDA/BJ,0XAsLsC,SAAGC,YAAuB,4BAA1B,EAA0B,ikBKhJrC,UAAH,sF7DdU,WAmDoD,kC6D/BlF,+CAGoB,UAAH,mF7DnB+B,WA+CkC,kC6DzBlE,UAAH,+E7DpBZ,WA6CiF,kC6DtBpD,UAAH,6F7DrBd,WA2CqE,kC6DnBvD,UAAH,0F7DrB0B,WAwCgC,kC6DhBtD,UAAH,2F7DtB2B,WAsC8B,kC6DbtD,UAAH,2F7DxBoB,WAqCqC,kC6DVlF,+CAGA,+CAGiB,UAAH,gF7D5BU,WAgC0D,kC6DDtE,UAAH,2E7D9BuB,WA+BkD,kC6DE5D,UAAH,qF7DhCW,WA8BoD,kC6DK3D,UAAH,sF7DlC8B,WA6BgC,kC6DQtE,UAAH,2E7DhCb,WAwBsF,qC6DgC9E,mBAAW,MAAX,IlG5BM,aADuC,GAiCjD,MkGHI,WAAYC,cAAW,oBACnB,WACDC,mCAIH,QAAOC,GACP,WAAS,IAAaA,GAEtB,SACW,aAqDP,yCA1DR,qBAAoE,GAApE,yDAkJQ,WAAkB9C,EACmC,MAAnB,oB5FoBxC,aAqec,OA2FA,EA3FT,EA2FS,YAAX,MAAW,M4Fxegwc,EA3Gnuc,OAAY,Y5FmlBX,EAAY,EAAI,KACvD,S4FllBK,WAGJ,QADwCkB,GALxC,IAOAZ,GAAc,MACd,QAAW,8CAEX,WAAU,KACRqB,GAAgB,GACP,QAAE,EAAArH,QAAF,gBA/OmB,2BA+OnB,EAAX,yCAKJ,SAAyB,sCAIX,WAAK,aAA2B,WAAK,MAAhC,QAAnB,yDAIc,cAAwC,WAAK,QAAxC,wBAAnB,oDAIA,QAAYyI,OAAOC,OAAQ,avBuChB,MAlFqE,GAkFxD,GAlFwD,GuB6C5E,mB5FJQ,MAsBD,WAtBC,YAAX,MAAW,S4FnBlB,EA0B8C,QAAOC,E5FPzB,CAAoB,EAAO,WACrD,EAAO,Q4FMuD,M5FhIvD,E4FmIC,OADAF,OAAOG,MAAO,WAASD,EAAK,+BAC5B,KlG5I+2I,SAAhB,YkGhD31I,EAiMJ,GACY,EACE,IAAAE,GACAF,EAAeG,EAAS,QAJ1C,MlG1NG,EkGkOH,WAAc,IAAeC,GAC7B,SAAsB,GACtBtB,GAAkB,wCAIlB,EAAc,WAAK,IAAYuB,EAAmB,OAA/B,aACnB,SAAcR,GAA+B,iCAIjCC,OAAOQ,QACd,0BAAyBC,EAAqB,MAAI,SAInD,WAAc,IAAOA,GACrB,SAAsB,GACtBzB,GAAkB,wCAKtB,QAAsB7F,IAAO,MACzB,YACc,iBAAS,MAAvB,EAAc,QAA0B,WAA1B,EACd,SAAc4G,GAA+B,kCAKjD,QAAuBW,GACvBnD,GAAc,oCAId,QAAuBmD,GACvBnD,GAAc,mCAIS,iBAAvB,QAAuC,MAAhB,EAAgB,KAAhB,EAAgB,OAChB,iBAAvB,QAAuC,MAAhB,EAAgB,KAAhB,EAAgB,OACvCA,GAAc,mCAIS,iBAAvB,QAAwC,MAAjB,EAAiB,KAAjB,EAAiB,OACjB,iBAAvB,QAAwC,MAAjB,EAAiB,KAAjB,EAAiB,OACxCA,GAAc,qEAOlB,+CACA,oDA9WJ,wlBCuBoCyC,OAAOW,kBAAnC,QAAgD,EAAAC,QALP,sBAMS,MAAzBC,IAErB,IAAAC,GxGyD8B,iBwGvD9B9H,GAAS,YAAU6H,EAAqB,eIJjC,aCqGmD,UC1FrE,6BDJG,ECgDkF,GAAtB,EAAsB,IAAtB,EAAsB,OF2ClF,MAAmC,EAlGE,gDJQvBjC,GAAgB,GxGmDmB,EAAX,KwGlD1B,SAAe,KACf,IAAAkC,GxGiD0B,UwG7ClC,OAA4BzI,GAd5B,EAcsB,2CILgC,aAAoB,SACjF,GC6EsD,UC5EtD,6BDJG,ECgDkF,GAAtB,EAAsB,IAAtB,EAAsB,KNrC9E,MIsEJ,MAAiC,EAAc,KJrE3C2H,OAAOW,kBAAa,EAAAI,QAzBqB,kBAyBSpF,uCnGQvD,KAF8H,YmGArHqF,GAKu5B,KAL74B,cAAE,OAAA1H,EAAG,QAAO,EAAqB,SAD/C,MnGmCG,EmGhCH,SAAegH,2InGlCnB,EADH,OACG,kBoGgBw7C,EAdh7CS,QAPoC,kBAOPhB,EAAQ,YAc24C,EAbh7CgB,QAPmD,iCAOPhB,EAAQ,MAA2BkB,iBAai2C,EAZh7CF,QAP0C,wBAOPhB,EAAQ,MAAmBkB,yCAKlE,MAAmBjB,OAAOW,kBACf,MAAAA,EAAaC,QAfgB,sBAe7B,QAA6C,OAAO,KAA/D,MAAW,OACX,MAA0FM,GAAzDP,EAAaC,QAfS,mCAiBvD,YAAO,IAAA7B,GAAS7F,EAAMiI,EADmDD,GAAhDP,EAAaC,QAfQ,wKMElB,MAAxBQ,GAAwD,MAAxBC,EAEhC,OADArI,GAAS,+CACF,SAGX,EtGoDoD,KsGnDpD,EAAY,GAAO,CAAAoI,EAAsBC,IACzCrI,GAAS,WAASsI,OACL,MAAAA,EAAA,gBAAR,IAAAC,EAAQ,MtGDrB,EAFsC,EAEtC,MAybI,EAAa,KACC,IA3FsE,IAAQ,IA2F9E,QAAT,MAAS,MsGvXsra,EAAN,EAAM,KA/Dzpa,GAAH,EAAcA,GAAX,WtGwbnC,EAAO,GAAI,EAAM,KAAK,EAAM,UErbR,MFwbrB,EExbqB,KA8+Cf,KAAa,KAAwB,KAuErC,EAvEN,EAuEM,YAAR,QAAQ,MoGxjDwE,EAAAC,GA+DmziD,EA/D1ziD,MpGyjD1E,EAAY,EAAI,GN1jDS,MM2jDtB,ENxjD0D,EL8Db,KKzDlB,EAAR,GAAtB,EAAM,MAAS,MAAe,IAuHpB,OAAd,EAAsB,KAAR,Q0GnFM,EAtCQtJ,EAAI,S1GyHhC,EAAsB,O0G3HF,M1GqDb,E0GhD2B,EAuD0H,EAvD1H,YAAT,IAAAuJ,EAAS,MACS,MAATC,EAAS,WAAnB,GAAU,KAAL,IAAAC,EAAK,MAAS,EAAT,EACND,EAAA,GAASC,EAAKD,EAAA,EAASC,GAAKF,EAAME,UADtC,GAAU,GAKK,UAATD,EAAS,WAAnB,GAAU,KAAL,MAAK,MAAS,EAAT,EACNA,EAAA,GAAS,EAAKA,EAAA,EAAS,GAgD6G,EAhDjG,WADvC,GAAU,GtGjBc,MsGoBxBA,EtGvBtB,EAsOE,GAtOU,EAsOD,OuG/HI,SA9EX,EA8EwB,KA2Bb,EvG1GsD,EAyUiB,IAAQ,IuG/N/E,QAAR,QAAQ,MDxG2C,EAAArJ,GA2Ck+D,EA3Cx+D,MCyG9C,EAAY,EAAI,GDzGhBW,GAAS,iBC0GN,GDxGH,M/G0CgD,K+GzChD,EAAkDX,GAAb,GAAtBiF,EAAM,MAAS,MAAe,MAC7CtE,GAAS,aAAW4I,G1GS2B,QAAT,EAAS,IA6FrC,OAAd,EAAsB,KAAjB,MAAS,U0GpGN,MAAcA,EAAA,EAqC4gD,GApC9gD,EAAAC,EAAA,GAAYP,EAAA,EAAM,IAAlB,EAAuB,MAAvB,EAAuB,KAAvB,EAAuBQ,EAoCu/C,GApC1hD,EAAY,QAAqC,EAArC,EACC,EAAAD,EAAA,GAAYP,EAAA,EAAM,IAAlB,EAAuB,MAAvB,EAAuB,KAAvB,EAAuBQ,EAmCs/C,GAnC1hD,EAAa,QAAqC,EAArC,EACb9I,GAAS,aAAW+I,EAAM,gBAAcC,EAAK,K7BP2B,Y5CF4nB,EAAQ,G4CK/sB,QAAQ,G6BKL,EzEVk/E,M4CMn/E,O5CNyyB,EAAS,GAAS,EAAU,K4CMlxB,QAAQ,G3C4BtE,EDlC8/E,MyEWl/E,GxEm5BgD,KAAW,IAAI,GwEh5B/D,GAAqBC,EAAO,EAAI,QAAa,SAC7C,GAAiBA,EAAO,EAAI,IAAQ,GACpC,GAAgBA,EAAO,EAAI,IAAS,OAOpBX,EAAA,EAAM,G7BJ+B,M5CnBo4C,E4CmB/2C,QAEtF,M5CrB8/E,O4CqBj9E,M5CrBk+C,E4CqB58C,QAAQ,GAuBM,E5C5C66E,OyEkBl/EY,EAAahK,EACT,IAAAiK,GACgBnI,EACJoI,GACEC,EAHd,GAKiBC,GACDC,GACLN,EACMO,GARjB,GAUgD,U1G6E5D,EAAsB,M0GzEFxI,IACX,KAAGoH,EAAoB,OAAKC,qBpC8uB9B,OA1sBX,KA0sBW,kBAkcP,GAAgB,KAAX,OAAW,gBAlcT,EAkcS,EoCvqCk9lC,GAPn6lC,QAAO/D,EAAM,MpC8qClD,CAAoB,GAAO,YACrD,GAAO,KoC/qCoB,OpC4uBpB,MoC5uBoB,UACN,OAAC,4BAA2BA,EAAM,MAAM,IAMwV,MAAM,GAA8B,GAAR,KAPza,OAAmB,KAEhBmF,GAAa,MAAM,IAAGA,GAAa,MAG1C,OAAO,IAAAC,GARP,EAQ8BR,6EV1ElC9G,EAAMuH,SACFC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,IA9BJ,GAAkC,2BAAlC,qE9BNc,SADgB,IAAvB,YAAW,SAClB,YAAW,OAAU,YACjB,OAAY,MAAL,GAA4B,MAAf,EAAC,WAAsB,EAAC,UAAU,YAAe,UAAS,UAAU,iBAF5D,IAAzB,MAAK,UAAU,MAEtB,OAAM,eAAgB,MAAK,UAAY,OAAQ,CAC3C,MAAO,eAES,MAAR,KACA,MAAM,IAAI,UAAU,+BA4BxB,IAzBA,IAAI,EAAI,OAAO,MAGX,EAAM,EAAC,SAAY,EAGnB,EAAQ,UAAU,GAClB,EAAgB,GAAS,EAGzB,EAAI,EAAgB,EAChB,KAAI,IAAK,EAAM,EAAe,GAC9B,KAAI,IAAK,EAAe,GAG5B,EAAM,UAAU,GAChB,OAAsB,IAAR,EACA,EAAM,GAAO,EAG3B,EAAa,EAAc,EACd,KAAI,IAAK,EAAM,EAAa,GAC5B,KAAI,IAAK,EAAa,GAGhC,EAAI,GACP,EAAE,GAAK,EACP,IAIJ,OAAO,KAKnB,CAAC,UAAW,WAAY,YAAa,WAAY,aAAc,cAAa,SAAS,iBACxC,IAA9B,EAAU,UAAU,MAC3B,OAAM,eAAgB,EAAU,UAAY,OAAQ,CAChD,MAAO,MAAK,UAAU,eAhDR,IAAf,KAAI,QACX,KAAI,OAAU,EAQX,KAAI,IARO,EAQD,KAAI,IAPN,YACH,IAAI,EAAS,IAAM,EACnB,OAAe,IAAX,EACO,GAEJ,IAAM,EAAI,GAAU,EAAM,GAAK,UAPP,IAAhC,OAAM,UAAU,YACvB,OAAM,eAAgB,OAAM,UAAY,aAAc,CAClD,MAAO,cAEH,OADA,EAAW,GAAY,EAChB,KAAI,YAAa,EAAc,KAAc,UAJvC,IAAd,KAAI,OACb,KAAI,KAAQ,cACV,OAAa,WAAJ,IAAuB,MAAJ,IAAmB,MAAJ,IAAmB,EAAJ,GAAU,kV0CuC3D,OAZD,SAAmC,KACnC,EAAQ,GAAK,KAAM,mBAmCqB,OAApC,QAAK,KAAO,MAAK,mBAAe,sBAGZ,OAAxB,EAAU,EAAS,qBAGiC,OAAhD,QAAK,KAAO,GAAoC,KAAJ,yBtC05CzC,MAAX,EAAW,CACG,0BAAd,GAAc,KAAT,MAAS,aACS,MAAf,EAAK,GACL,OAAO,QAFf,GAAc,QAMA,0BAAd,GAAc,KAAT,MAAS,aACN,KAAW,EAAK,IAChB,OAAO,QAFf,GAAc,GAMlB,OAAO,sBA+jBQ,MAAX,EAAW,CACG,yBAAd,KAAK,MAAS,cACS,MAAf,EAAK,GACL,OAAO,QAFD,GAAd,QAMc,yBAAd,KAAK,MAAS,cACN,KAAW,EAAK,IAChB,OAAO,QAFD,GAAd,GAMJ,OAAO,6BAo+qBP,iCA9NA,EAAO,EAAO,GACd,MAAY,EACI,0BAAhB,EAAgB,IAAX,MAAW,iBACN,IAAF,EAAE,GAAQ,GAAG,EAAO,EAAO,KAC3B,EAAQ,GAAK,GAAS,GAEnB,QADI,GAAP,EAAqB,EAAS,GAKtC,OAFI,GAAS,GAAK,EAAQ,GAAO,EAAO,EAAO,GAC/C,EAAO,EAAO,GACP,EAoNA,GAAO,KAAiB,EAAW,EAAQ,EAAS,EAAO,EAAW,GAAW,0CADrF,oBAA6D,MAA7D,aAAyF,IAAzF,aAAqH,IAArH,cAAsI,GAAtI,cAAqK,OAArK,cAA+M,MAA/M,iCAzqfa,OAAR,SAAO,EAAC,mBAn1OhB,qBAw/Bc,0BAAd,GAAc,KAAT,MAAS,aACN,SAAW,EAAK,IAChB,OAAO,QAFf,GAAc,GAKd,OAAO,EA7/BA,GAAQ,IAAY,mBAP3B,qBAm/Bc,0BAAd,GAAc,KAAT,MAAS,aACN,IAAW,EAAK,GAChB,OAAO,QAFf,GAAc,GAKd,OAAO,EAx/BA,GAAQ,IAAY,mBAP3B,qBA8+Bc,0BAAd,GAAc,KAAT,MAAS,aACN,IAAW,EAAK,GAChB,OAAO,QAFf,GAAc,GAKd,OAAO,EAn/BA,GAAQ,IAAY,mBAP3B,qBAy+Bc,0BAAd,GAAc,KAAT,MAAS,aACN,IAAW,EAAK,GAChB,OAAO,QAFf,GAAc,GAKd,OAAO,EA9+BA,GAAQ,IAAY,uBAkjSd,uBAAb,EAAa,IAAR,MAAQ,aACT,EAAY,EAAI,GAEpB,OAAO,iBhE5wQP,OAAO,GAAU,qBAlmCb,MACA,MAAM,GAAwB,kBAClC,OAAO,IAAK,8BA7IR,MACO,IAAS,uBA8OhB,MAAc,OAAO,EAAK,EAAQ,OACtC,MAAY,EACC,gBAAR,MAAQ,SACT,GAAmB,GACf,KAAW,GACX,OAAO,EACX,QAEJ,OAAO,EArPA,GAAQ,IAAY,iCA+2GxB,oBAA4D,MAA5D,aAAwF,IAAxF,aAAoH,IAApH,cAAqI,GAArI,cAAoK,OAApK,cAA8M,8BACjN,OAAO,KAAO,KAAiB,EAAW,EAAQ,EAAS,EAAO,EAAW,GAAW,WADrF,qCA3nEC,OACa,yBACT,IAAK,gBACL,IAAK,MAAU,MAAc,IAAK,GAAQ,MAAW,qBAC7C,KAAa,GAA6B,QAHtD,SAMJ,mBJppCH,OAJqD,YAClD,SAAK,UACL,SAAK,GAAM,MAAW,oBACd,GIqpCgC,CAAjC,KAAa,oCA+lEpB,EAAO,EAAO,GACd,MAAY,EACI,uBAAX,MAAW,UACN,IAAF,EAAE,GAAQ,GAAG,EAAO,EAAO,KAC3B,EAAQ,GAAK,GAAS,GAEnB,QADI,GAAP,EAAqB,EAAS,GAKtC,OAFI,GAAS,GAAK,EAAQ,GAAO,EAAO,EAAO,GAC/C,EAAO,EAAO,GACP,uBAjqEM,oBAAR,MAAQ,MACT,EAAY,EAAI,GAEpB,OAAO,uBArsBD,EACF,IAAW,mBAiBF,yBACT,EAAK,MAAM,GAAwB,uBACnC,IAAK,IAAK,iBACF,MAAM,GAA0B,mCAH5C,SAjB2B,CAAL,GAEd,MAAe,UACV,EAAS,IACV,MAAM,GAAwB,wBAClC,MAAa,EAAS,OAClB,EAAS,IACT,MAAM,GAA0B,yCACpC,OAAO,iBAjdoC,wDuGtHnD,E5EiC40D,GAjChyD,GAiCuzD,iB4EhC/1D,EAAU,OAAS,YACR,4BAAkB,WCDjB,OAAU,GAA4B,E7EE7B,E8EyOoD,UAzO/D,GAiMgD,gBDYC,GAAL,GAAkB,ED9MxE,SAEJ,OAAuB,eG2EuC,uBC/E9D,ECmC0C,GAtC2C,UDKzE,KAAR,MAAgB,KAAkB,KAAR,MAAgB,IACZ,GAAtB,MAAM,EAAO,EAAR,GAAa,EAAlB,IAGA,MAAR,MAAgB,MAAkB,MAAR,MAAgB,KACnC,EAEJ,MDsEoC,IH3EpC,6B9B+vCH,GAAU,SAA2B,SAClC,KAAS,EAAK,EAAd,yBA4UH,KAAe,GAAf,EAA6B,MAAM,GAA0B,kDAA1B,GAA0E,GAAY,yBAAtF,GAA6G,GAAY,YAC5J,KAAO,GAAP,EAA4B,EAC5B,KAAO,GAAP,EAA4B,EACzB,mBAtyBP,OAAsB,QAAgB,EAAM,GAAI,oBAyrBhD,OAAW,EAAO,EAAc,EAAkB,mBA7ElD,OAAW,EAAO,EAAc,EAAkB,mBnD5YlD,OAAO,OAAqB,EAAM,yBhB54Bg6Y,GAAK,GA1Gn8Y,MAAM,GAAiC,GgBugBxB,2BAAyB,EAAC,wBAC7C,OACS,IAAL,EuFrgBmD,QvFsgBnD,MAA4B,EAAK,GAAK,GAC9B,OAAa,EAAM,kBAuP/B,OAA4B,eAS5B,yBA9Ba,oBAAR,MAAQ,MACT,EAAY,EAAI,GAEpB,OAAO,EA2BA,GAAa,MATR,CAAL,qDhBxpBs3O,GAAK,GA1G93O,MAAM,GAAiC,GwGoUxB,6BAA2B,EAAC,wBAC/C,0BxG3N05c,GAAK,GA1G35c,MAAM,GAAiC,GwGghBxB,6BAA2B,EAAC,wBLnOyzK,SAAF,EAAe,UKoOr3K,OnFvgBg6hB,E8E8Mp0hB,UAqFuwK,EArFjvK,GK6G3G,GAAkB,GAAZ,SAAS,EAAG,EAAc,0BxG3NipN,GAAK,GA1GzrN,MAAM,GAAiC,GwG4SxB,6BAA2B,EAAC,wBLpEc,SAAF,EAAe,UKqE1E,OnFnS8rS,E8E2MjnS,UAAU,0DMtO7D,eACE,4QCiDT,YAEO,6BAaP,YAAqC,gBAGhD,QAAmB,EAAO,UAAkB,KAC5C,UAAa,4EAtEzB,KACoE,qFCyFsB,OAA1C,IAAM,EAAO,aAAmB,GAAF,iCjHuD9E,IA2HoB,EA3HpB,MA2HoB,YAAX,MAAW,SiHnJ4D,GAYilG,EAZ9kG,KAAO,GjHmJ5D,CAAoB,EAAO,WACrD,EAAO,KiHpJoF,OAA7B,yFAxDjC,yCAoCE,4BApGnC,KAkFiC,eAoCS,yFC7H1C,KACmE,4B7HwDpB,2BAoCsD,OAA5E,IAAjB,EAAS,OAAW,KAAiB,GAAU,OAAkB,GAAsB,mBA8L9F,OAJuD,YACpD,SAAK,UACL,SAAK,GAAO,IAAK,mBACT,kBAvEa,OAAb,EAAK,IAAO,EAAC,uBAxMsB,kGAgCZ,YAA0B,yF8H3CvB,YAAuB,6BCyB8D,UAA7C,MAAuB,EAAK,IAAU,iBAf7E,sD5HcA,YACf,mEMCoE,gBAArB,EAAqB,0BAzB7C,yDAmiBH,yBAjJnB,gCAAf,EAAe,EAAf,KAAK,EAAU,EAAV,KACP,KAAI,EAAK,IAgJO,CAApB,EAA2B,GJpZwxd,uBI0P9xd,uBAArB,EAAqB,uBAAf,MAAe,EAAf,KAAK,EAAU,EAAV,KACP,KAAI,EAAK,2BOtSP,EACF,IAAiB,OAAO,KAAO,OAE3B,OAAsB,EACT,gBAAR,MAAQ,MACL,IAAI,KAAO,GAAS,GAC5B,OAAO,yBA+Ff,OAAa,EX1D8iF,QAxFpjF,EAwFilF,KAA2B,EAxF5mF,EAwFsnF,OAAW,IAxFjoF,EAwF4qF,KAAyB,GAAS,GWkErtF,OX1JA,KW0JO,6EgH3LP,MAAe,OAEf,OADA,OAA0B,GAAN,EAA8C,EAAuB,GAClF,iBAwHN,OAJiD,aAtDhB,SAuDhB,UAtDkB,SAuDhB,GAAuB,uCAC/B,GAAuB,qCAAmC,uBAtD/B,cACnB,UARkB,EASV,eACa,eACL,yDRme5B,QAA4B,IAAb,OAAiB,cAAuB,YAAqB,GAAR,SACpE,OAA4B,MAAZ,OAAkB,EAAO,6BAL1B,eACE,8BAHY,YAAuC,uCAzXhD,UAAT,OAAS,qBAFpB,YAAmC,0CA4M5B,iBACa,UAAT,OAAS,wBAb5B,YACA,cvG/PqrS,WAAS,GA1G1rS,MAAM,GAAiC,GuG6WhB,uCAAqC,UAAK,2GjH/W7B,iCArBG,+HiCe2D,EAAvC,GAAiB,MA6DggB,GA7D/e,MyFiEpE,UAAK,EAA8B,gEAgBhB,cACxB,iBACA,qCAxBoD,cAApD,chH4BuB,GAAc,GA/EzD,MAAM,GAAiC,GgHqDX,4DAA0D,ShH6BlF,GAAc,UAAO,QAlFzB,MAAM,GAAiC,GgHsDD,4BAA0B,EAAU,2CAA0C,UAAO,SAKjG,UAAP,UAAO,OACA,YAEL,gInHEzB,qJmGrEY,QAAc,EAAI,GAAS,EAAQ,SAC/B,WAAmC,OAEnC,QAAkB,cACC,MAAf,IAAqB,OAAgB,EAAS,QAC9C,MAAW,EAAQ,WACf,SAAgC,OAAgB,EAAS,GACzD,OAAgB,OAAgB,EAAM,GAAU,OAN5D,6CiB8D+B,gFAgDvC,MAAU,EACV,EAAW,IACJ,OACG,EAAI,KAAJ,oCAAgC,OAAO,EAA7C,EAAM,EACN,0BAKuB,OAA3B,QAAI,EAAQ,MAAQ,oBAsBhB,OlDyHkD,IAAV,GAlGG,GkDvBhB,GAAR,GAA0B,EAAG,KAAG,mBA9D3D,YACA,6BAhEA,oBAEqC,gBAA8C,EAAQ,KAAgB,EAA1E,2BArCiB,0BC0C6B,yPCX/E,EAAO,IAAS,GAAS,EAAK,EAAS,EAAM,GAAiB,EAAK,EAAO,GAA7B,YAC7C,EAAO,GACC,MAAa,GAA0B,mBAD/B,GAAS,EAAK,EAAS,EAAM,GAAiB,EAAO,EAAxB,GAA8B,GAA9B,EAEhD,4BA5BG,OAAO,GAAI,GAAI,EAAG,GAAK,GAAI,EAAG,GAAvB,EAA2B,oBAXlC,MAAU,EAAI,EAAd,EACA,OAAW,GAAO,EAAG,EAAS,EAAM,EAApC,6BCmQ2B,cACa,oB9FyJU,KAAW,IA1ZjC,GA0Z6C,IAAvB,KAAW,IAxZjD,GAwZ6D,OgCva5E,KAAI,SAAY,KAAI,IAAK,EAAG,IAAO,yB+D2BxB,UAAK,EAAO,EAAO,EAAG,GAAG,EAAc,GAAU,IAAS,IAAW,EAA/B,ODkSE,EAAM,GAAS,sFA3SnE,2BAuW+D,EAAQ,GAxV1D,MAAM,GAAiC,iBA4V8C,MAAxC,2BAAwC,GAAf,GAAI,KAAW,GAAR,GAAK,KAJhB,CAAmB,EAAM,0BCjUrD,kEAhC/C,cANA,YACA,YACA,YACA,YACA,YACA,YrHUY,IADX,UAAK,UACV,UAAK,UAAK,WAIF,MAAM,GAAiC,GqHPE,2DjI2H/B,WAAd,EArH+D,MAqHjD,QiIxHG,gBjIwHjB,EArH+D,yBkIiD9B,gBAAS,EAAG,2DAjCjD,KACuD,aAAe,EAAO,EAAc,wBARrD,uDAhCoB,aAAgB,EAAO,EAAc,sBCwBjB,cAAjB,YACzB,YACD,UAAI,UAAO,EAAG,GAAS,EAAU,GAAS,EACjD,UAAI,UAAS,EAAW,6BA3B6B,cAAjB,kBjBoCX,EAAP,GArCqB,GiBE1B,YACN,UAAI,UAAO,EAAG,KAAS,IAAT,EAAmB,KAAS,IAAT,UACpC,UjBiCc,GApCwD,GiBG7C,UAA7B,8FC4D5B,KAQoB,IAAR,EAAW,MAAa,GAA0B,6BAClD,IAAY,SAAW,MAAa,GAA0B,0EAM9C,YAKD,aAA0B,EAAO,EAAc,GAK/C,uEA/EP,IAAR,EAAW,MAAa,GAA0B,6BAClD,IAAY,SAAW,MAAa,GAA0B,0EAM7C,oBlBoBiB,GA3BxB,GA2B+B,EAAP,GA3BZ,GkBYyD,aAA/D,KAAmD,EAAM,IAK1D,2FC6CN,MAAb,EAAqB,IAAO,EAAU,IACtC,eAA4B,IAAO,GACnC,gBAAmB,KAAO,EAAP,MACX,IAAe,GAAR,0BvBkJf,oBAAQ,IAAO,OAAO,MACrB,EAAY,OAAO,EAExB,MAAqB,GAAL,GAChB,EAAuB,GAAN,GAEjB,QAAO,oBAAa,KAAc,UEpNgB,G/EoB4N,GAAqlR,GAA9jR,c+EpBvO,IFoN5B,OEpNgB,G/EoB4N,GAAknR,GAA3lR,c+EpBvO,6BI2HhD,aAhDlB,GAgDkB,OAAd,GAAc,KAAT,MAAS,ckBlDyC,GAsBm5B,GAtBt6B,EAsB26B,IlB6Bv8B,CACA,EAAO,iBAFf,GAAc,GAKd,GAAO,EpH9CsC,QsIT+D,OAApB,IAArB,EAAyB,SAAzB,iBAG7B,wBC4BwB,qBAU9D,GAAW,GAEX,IAGA,EACA,EACA,EALA,EAAa,EAAK,UACJ,IAAV,EAAa,OAAO,KAMxB,MAAgB,KAAK,MACjB,eACc,IAAV,EAAa,OAAO,QAExB,EAAQ,EAEJ,yBACA,GAAa,OACb,iCACO,yBAIP,OAAO,KAHP,GAAa,OACb,EAAQ,0BAED,OAEX,EAAQ,EACR,GAAa,OACb,EAAQ,gCAIZ,MChDU,2BAqByC,iBD6BnD,EAAqB,EACrB,cACU,OAAV,EAAsB,KAAjB,MAAK,UACN,QAAY,GAAQ,KAAK,GAAI,MAEzB,EAAQ,EAAG,OAAO,QAClB,KAAS,GAAT,OACI,SAAkB,GAOlB,OAAO,QANP,EClDX,EAakD,GAAU,GAbpD,IDoDO,KAAS,GAAT,EACA,OAAO,KC1DmD,EAShE,EAT2C,GAAY,GAS7C,YDwDhB,OCrGoE,EA6CxB,EA7CI,GAAW,GA6CP,ID0DhD,KAAS,GAAT,EAAwB,OAAO,KAEnC,EC1DF,EA7BmD,GAAY,GA6BrD,UDsCZ,EAAsB,GAuBtB,OAAW,EAAY,EAAa,EAAD,KAnEG,GAAqB,mBA3EA,qBAU3D,GAAW,GAEX,IAGA,EACA,EACA,EALA,EAAa,EAAK,UACJ,IAAV,EAAa,OAAO,KAMxB,MAAgB,KAAK,MACjB,eACc,IAAV,EAAa,OAAO,QAExB,EAAQ,EAEJ,yBACA,GAAa,EACb,EAAY,kBACL,yBAIP,OAAO,KAHP,GAAa,EACb,KAAa,QAEN,OAEX,EAAQ,EACR,GAAa,EACb,KAAa,SAIjB,OAAuB,GAAM,UAAa,GAA1C,EAEA,EAAqB,EACrB,EAAa,EACH,OAAV,EAAsB,KAAjB,MAAK,UACN,MAAY,GAAQ,KAAK,GAAI,MAEzB,EAAQ,EAAG,OAAO,QAClB,EAAS,MACL,IAAkB,EAOlB,OAAO,QAJH,GAFJ,EAAiB,EAAQ,EAAzB,GAGI,OAAO,SAOnB,OAAU,KAEG,EAAQ,EAAjB,GAAwB,OAAO,KAEnC,IAAU,EAAV,QApBJ,EAAsB,GAuBtB,OAAW,EAAY,EAAvB,GAAoC,EAnEA,GAAoB,mBAkJH,MAAM,GAAuB,2BAAyB,EAAK,oB5DiHnD,OAAT,8BA09B7B,IAAnB,EAAW,OAAQ,CACnB,MAAgB,EAAW,MA/+B2B,IAAV,GAg/BvC,GACD,yBAyCR,GAAwB,GAExB,MAAoB,EACpB,EAAgB,KAAQ,EAAW,EAAe,OACjC,IAAb,GAA4B,IAAT,EACnB,OAAO,GAAY,GAAL,IAGlB,QAAgB,EAAQ,EACxB,EAAa,GAAsB,EAAiB,GAAN,EAAmB,IAAS,kBAz6B0D,EAAV,GAAlC,GA26BzE,EAAU,EAAe,IAApC,EAAO,EAAI,GACX,EAAgB,EAAY,EAAU,OAAtC,EAEI,GAAa,EAAO,OAAQ,EAAQ,EAAvB,GAA0B,QAC3C,EAAY,KAAQ,EAAW,EAAe,UAC5B,IAAb,GAGT,OAn7BoI,EAAV,GAAlC,GAk7B7E,EAAU,EAAe,QAApC,EAAO,EAAI,GACJ,EA5DQ,GAAM,EAAW,EAAY,WrEsVlC,csBivCV,O8Fh1FmF,UpH+lDzE,CADD,KAAkB,EAAlB,EAA2C,EACjD,EADM,IAjGI,KAAa,KAAwB,KAuErC,EAvEN,EAuEM,YAAR,MqEvT2F,OrEuTnF,OACT,EAAY,EAAI,GqExTpB,OrEyTO,uBqExgBP,OAAW,GAAc,6CAlIrB,sBAAmH,GAAnH,gBAmIA,GAAQ,EAAQ,EAAY,MAAQ,GAApC,MoC5vB8o/B,EA7Htj/B,QA6Hok/B,EAAQ,4BpC0vBrq/B,oBAA2D,GAA3D,cAAoF,GAApF,2BAqSuF,6BA3GvF,qBAAkF,GAAlF,aAAsG,qBACd,OAArB,GAAtE,KAAkB,EAAlB,EAA2C,EAAoB,EAA/D,MAA0E,cAAE,YAAU,YADnF,UA2GoD,GAAiB,QAAQ,KAAM,OAA/B,sBAv/BhC,OAAV,GAAL,GAAc,EAAC,qBA5IoC,OAAV,sBAtB7C,EAAS,EACT,MAAM,GAA0B,kBAAgB,EAAM,0BACtD,GAAe,GAAL,GACV,OAAY,GAAL,EAAiB,EAAQ,GAAL,IAE/B,MAAS,GAAc,GACb,IAAI,IAAc,GAAL,GAAT,KAAd,GAAU,KAAL,MAAK,UACN,EAAG,GAAO,SADd,IAAU,GAGV,OADA,EAAG,EAAO,GACH,EAagB,IAAtB,KAAsB,KAAS,EAAQ,2BAolBrC,qBAA8D,mBACd,OAA9C,GAAL,GAAc,GAAa,GAAR,KAAK,GAAU,EAAM,GADrC,+BAmUS,qBAA4D,mBAC7B,OAA3C,KAAQ,EAAR,EAA2B,EAA3B,IAA0C,EAD9B,wCAvED,GAAc,2CA1JpB,GAA4B,IAAd,EAAM,QAAa,oBAClC,I8DjvBi07B,I1BvKty7B,iBzCm0FlB,4BACT,EAAK,MAAM,GAAwB,wBACnC,IAAK,EAAK,iBACF,MAAM,GAA0B,oCAH5C,SK36DqB,CAAN,IACX,O1C35BJ,E8E0M4F,QAAQ,EA6H8vvB,GpCulBz0vB,SAAX,EAAyB,GAAI,WAA3C,GAAc,KAAT,MAAS,UACV,QAAkB,KAAI,UL8RrB,uBA2yWL,EAAgB,IAAX,MAAW,YA3yWX,EA2yWW,EKxkXO,GAkiB8w8W,EAliBvw8W,EAAa,GLwkXjB,CAAoB,GAAO,WACrD,GAAO,KKzkXO,EACN,OAAO,QAHf,IAAc,GAKd,OAAO,EAiJH,OT9jCC,IAAI,Y/ByFmoyC,MuGnC5oyC,OAZ6B,YAatB,G/DugC2B,EAAY,Y8D34Bm+pC,I1BvKl/pC,KAqUyg+B,K9EvUxi+B,E8E0M4F,QAAQ,EA6H089B,GpC4uB9i+B,kCADG,oBAAuD,GAAvD,cAAgF,GAAhF,6BAvpBiH,OAAV,GAAjD,KAAY,EAAM,KAAO,EAAM,KAAe,EAA9C,2BA20BzD,OAHA,GAAwB,GAGjB,OAAwB,EAAM,EAAY,KAFjB,GAAX,KAEmC,gBAAkB,8BAjRrE,GAA8B,IAAhB,EAAQ,IAAR,CACf,QAAqB,GAAR,GAEb,SADiB,EAAuC,KAAY,EAAQ,GAApB,KAAjC,KAAQ,EAAQ,GAAhB,MACJ,EAAG,KAAU,GADhC,EACyC,GAG7C,MAAmB,EAA+C,GAAW,GAAX,EAAwB,OAAkB,GAAnF,GAAW,GAAX,EAAyB,GAAI,UAElD,oBACc,oCAAd,MAAc,KAAd,GAAc,GAAd,KAAK,QAAS,iBrE1sBF,MAw9BM,EAx9BN,YAAX,MAAW,SqE2sBsC,GAhwBvD,EAgwBqE,EAAG,EAAM,EAhwB9E,EAgwBwF,OAAQ,GrE3sBrE,CAAoB,EAAO,WACrD,EAAO,QqE2sBuB,MADO,EAEzB,OAAO,KAFkB,SADjC,IAAc,QAMA,oCAAd,MAAc,KAAd,GAAc,GAAd,KAAK,QAAS,iBrEhtBF,MA69BuF,EA79BvF,YAAX,MAAW,SqEitBsC,GAtwBvD,EAswByE,EAAG,EAAM,EAtwBlF,EAswB4F,OAAQ,GrEjtBzE,CAAoB,EAAO,WACrD,EAAO,QqEitBuB,MADO,EAEzB,OAAO,KAFkB,SADjC,IAAc,GAOlB,OAAO,KA2PmE,GAAU,EAAgB,EAA2B,GAAmB,GAAQ,aAAhF,EAAgF,KAAM,GAAtF,EAAyF,KAAzF,EAAqG,KAAO,8CAJlL,oBAAoF,GAApF,cAA6G,GAA7G,aAAiI,GAAjI,uCAjSJ,MAAmB,EAGf,GAAW,GAAX,EAAwB,OAA2B,GAAT,EAAuB,IAFjE,GAAW,GAAX,EAAyB,GAAa,GAAT,EAAsB,WAInD,oBAAkB,oBACJ,oCAAd,MAAc,KAAd,GAAc,GAAd,KAAK,MAAS,aACA,GAAN,EAAoB,EAAG,EAAM,EAAa,GAAN,GAAc,GAClD,OAAO,QAFf,IAAc,QAKA,oCAAd,MAAc,KAAd,GAAc,GAAd,KAAK,MAAS,aACA,GAAN,EAAwB,EAAG,EAAM,EAAa,GAAN,GAAc,GACtD,OAAO,QAFf,IAAc,GAKlB,OAAO,sBA0RC,GAAS,GAxtCG,MAAM,GAGjB,GAqtCc,uCAAqC,sBArFhD,OAAkB,EAClB,OAAY,EACZ,OAAW,mBAEP,YAAQ,GAAO,sBAAF,EAAE,YAAW,oBAAb,QAAsB,OAAwB,GAAN,aACrD,OAAW,UAAyB,GAAN,cAC9B,QAAkB,OAElB,MAAkB,YAAN,YAAmB,WAClB,MAAT,EACA,OAAW,UAAyB,GAAN,cAC9B,QAAkB,OAEI,QAAjB,EAAiB,EAAjB,KAAO,EAAU,EAAV,KACZ,OAAW,UAAwB,GACnC,OAAoB,EAAQ,EAA5B,EACA,OAAkB,QAAkC,IAAV,EAAa,EAAO,GAA9D,GAGR,OAAY,8BA1BC,aACmB,6BIqbxC,EAAe,EAAc,MAAM,GAA0B,kDAAgD,EAAY,yBAAuB,EAAY,YAC5J,EAAO,EAAqB,EAC5B,EAAO,EAAqB,EACzB,EJxbqC,CAAX,OAAoB,EAAS,GAAN,SACzB,oBACD,eACP,iCAXvB,YACA,YACA,YACA,wCAlWK,EAAc,GAAO,EAAa,GAAO,GAAkB,GAAL,GAAc,EAA3B,IAAuC,GAAoB,GAAN,GAAe,EAA7B,GACjF,OAAO,EAGG,WAAd,EAAsB,KAAjB,MAAS,cACoB,GAAzB,KAAK,EAAa,EAAlB,GAAgC,KAAM,EAAc,EAApB,GAA4B,GAC7D,OAAO,QAFf,EAAsB,GAItB,OAAO,2BA8SJ,oBAA+D,OAA/D,cAAgG,qBACnG,OAAW,GAAc,mBACrB,KAAQ,EAAQ,EAAY,EAAG,GAAmB,GoC1xB0iiC,EA1HhgiC,YA0HkhiC,EAAQ,GpCwxBvniC,yEgE9jCS,GAVqB,GAUrB,CACc,iCAAY,6BAAtB,KAXiB,QAWjB,wBAAiC,MAAM,MAAiB,GAXvC,IAW4C,wCAEnD,4BAAa,wBAAvB,KAbiB,QAajB,wBAAmC,MAAM,MAAiB,GAbzC,IAa8C,oCACtD,+BAAsB,2BAA/B,KAdiB,MAcjB,uBAAoD,MAAM,MAAiB,GAd1D,IAc+D,uBAd/D,wBAEa,OAAd,KAAa,kBAEG,OAAD,IADwB,EAC7C,EADiC,qBAEV,OAAD,IAFuB,EAE5C,EAFgC,2BAkB3B,0BAGI,oCACM,0FA8YwC,SAAzB,MAAD,OApae,EAArB,EAAS,KA04CK,GHvoCy9tD,KAAgB,GA9Mr/tD,GAAW,GA8M++tD,iCG2KjiuD,sBA6KiC,OAAZ,MA5KZ,KAAoB,EAAL,GAAwB,GAAxB,mBACrB,SAEA,MAAM,GAA0B,gFAElC,MAAgB,iBAw9BjB,MA54C0D,EAArB,EAAS,QAAY,EAArB,EAAS,MAwbnB,CAC5B,MAAkB,MAAL,GAAmB,SAE5B,SAC8B,EAg9BjC,6BAAT,gDACA,GAAgB,GAEhB,GAAiB,GAAc,KAj9Bf,GAA2B,UAGlC,MACD,KAA0B,MAAa,OAEvC,KAA2B,MAAY,OAb/C,4BAkBA,QAAkB,GAAc,GAChC,EAAmB,KAAa,GACL,8BAAhB,+CACP,MAAyB,KAAa,GAAc,MACpD,GAAgB,GAAc,GAAd,GAA8B,WAE9C,GAA8B,GAAb,EAAa,8CAJlC,wBAuI2C,OAAZ,mCAMkE,QAAlE,SAAY,YAAqB,SAAY,0BAMJ,OAA7B,MAAc,MAAe,mBAGxE,MAAuB,EAAL,GAAwB,MACtC,qBAAgD,IAAL,EAAxB,EAAY,MAC/B,OAAY,EAAS,GAAgB,GAEzC,OArmBmE,EAArB,EAAS,OAAY,EAArB,EAAS,MAqmBvD,EACA,OAAW,MAAX,GAA0B,EAAO,iBA8E6B,OAAlD,MAAc,cA0HU,OAA5B,WH3iBi+sB,IAvH17sB,iBGwiBQ,oBAIO,OAAlD,MAAc,cA8HU,OAA5B,WHnjBkmtB,IAvH3jtB,iBG4iBQ,oBAQtD,OAHG,MAAgB,EAChB,MAAgB,GH3bgxtB,MAvHrvtB,mBGkjBE,KH3b+xtB,MAvHjytB,kBGmjBX,sBAkCvB,UAAb,OACI,mDACA,qDACQ,GAAoB,kBAjuBoE,OAApE,MAAoE,UAiuB7D,IAA3B,GAHZ,iBAqEkC,OAA1B,0BA2G4B,aACpC,wBAAO,aACP,sBAAsB,mBACtB,sBAA0B,iBAEtB,MAAiB,M3I9xByjb,O2IgyBlkb,GAl4BH,EAk4Be,OAChB,YA9RM,cAmKmB,OAAzB,WAnKM,IAAa,cAqDiC,OAAhD,MAAc,EH7ag1sB,MAvH3zsB,iBGoiBM,KArD1B,IAAgB,QAAkB,QAAkB,QA+RnE,GAAc,sBACd,IAAwB,IAAT,GACf,IAA4B,IAAX,GACjB,EAA4B,IAAX,KAA+B,IAAf,GACjC,EAAiB,KACb,IAz4BP,EA04BO,GAAO,GAAM,QACb,SAEA,GAAa,IAAY,GAAc,GAAd,CACrB,kBAAe,GA94B1B,EA84B6B,OA94B7B,EA+4BO,GAAO,GAAO,WAEd,GAAe,IAAe,GAAY,GAAZ,CAC1B,kBAAe,GAl5B1B,EAk5B6B,OAl5B7B,EAm5BO,GAAO,GAAS,WAEhB,GACI,kBAAe,GAt5B1B,EAs5B6B,OAEP,IAAX,GAAgB,GAAW,GAAY,EACnC,GAz5Bf,EAy5Be,EAAiB,EAAS,EAAa,EAAI,KAAgB,GAC/D,GAAe,IACX,GA35Bf,EA25Be,EAAiB,EAAc,IAA/B,EAA0C,EAAc,IAAxD,EAAmE,EAAI,MAAiB,GAC5F,GAAe,IACX,GA75Bf,EA65Be,EAAiB,EAAc,IAA/B,EAAsC,EAAc,IAApD,EAA2D,EAAI,MAAiB,GA75B/F,EA+5Be,GAAO,GAAa,GAAQ,MAGpC,GAAc,EAAa,IAl6BlC,EAk6BqC,GAAO,EAAP,IAAe,e3I14B1D,E4IoUqC,WD0kB3C,uCAGG,KAAO,GACW,IAAd,GACA,SACA,QAAuC,GAAtB,EAAW,WAAoB,EAAT,OvBr0BjC,SA6sC6B,GA7sC7B,UAAd,KAAK,MAAS,euBs0BuC,UA92BjD,GA82BwB,EA92BnB,IA82B4C,YvBr0B7C,CACA,EAAO,iBAFD,GAAd,GAKA,GAAO,EuBi0BC,MAA+B,EAA4B,EAA3D,GAEK,GAAa,EAAgB,EAAK,KAAY,EAAY,EAAG,GACtD,KAAY,EAAY,EAAG,IAAE,EAAgB,EAAjB,GAAsB,EAAvB,EAA4B,IAGvE,KAAO,kBA/8Bf,KAGiD,6BAmjC7C,MAAgB,GAAoB,EAAM,EAA1B,S/Ht8BiqgD,GAAV,GA1GnqgD,MAAM,GAAiC,G+HijCZ,kCAC/B,MAAsB,GAAV,GACQ,6BAApB,OAAW,gDACP,GAAgB,GAGhB,GADwE,GAA3D,GAAoB,EAAM,EAA1B,uBAmVgE,OAAlC,GHtoCm4tD,KAAiB,GA9M/4tD,kCGw+BpD,MAAkB,mCAAiE,UACtE,EAAD,KAAR,eAAsB,IAAtB,EACO,GAAgB,GAA4B,EAAM,EAAlC,OAGhB,GAAwB,GADlB,GAAoB,EAAM,EAA1B,MACkB,+DAuOnC,MAAa,EAAM,UACL,IAAV,EAAa,MAAM,GAA0B,uBACjD,MAAY,EACZ,EAAsB,UACtB,EAAsB,WAChB,OAAM,IACR,0BAAK,4BAAO,SAEhB,MAAc,EAAQ,EACtB,IAAiB,GAAiB,GAAN,MAAM,QAE9B,GAAU,EACN,MAAM,GAA0B,oBACpC,eAAM,IAAN,iBACU,IAAF,EAAE,KAAS,EAAQ,MAAM,SAC7B,IACA,GAAsB,EACtB,EAA8B,KACvB,EAAQ,MACP,eAAM,IAAN,gBACI,IAAqB,IAAF,EAAE,KAAS,EAAQ,MAAM,KAChD,GAAkB,WAGe,IA+EjD,EAHgC,qBAIzB,EAhFqB,EAgFjB,YAAoB,KAhFH,EAgFQ,KAhFsB,cAAkB,GAT7C,MAS6C,gBAgFvD,gBAAoB,Q5BpkC4sqD,M4BqkC9uqD,EAjFK,E1GvxCmm6D,E8E8Mnh6D,UAqF6oqD,EArFvnqD,MpC0CxD,IAAV,GAsqCu1E,GgEtIl2E,MAAM,KvB2gB4B,MuB1gB3D,IAAS,EAAU,OAAnB,OvBlsCD,GAAS,GAAK,GAAS,GA4sDqB,IAAyB,MAAM,GACxE,0BAAwB,GuBzgB1B,QACA,MAAW,GvBrsCsB,GA4sDU,EA5sDN,GuBqsCM,MAC3B,MAAZ,GAAoB,KAAY,IAAZ,EAAkB,MAAM,GAA0B,2CAC1E,EAAW,MACX,EAAyB,GAAV,KAAU,QACrB,gBAAgC,EAAW,GAE3C,OAA2C,GAAjC,G1GlyCiz7D,E8E8M/u7D,UAqF4rkD,EAAG,I4B+/BrtkD,IACtD,OAAmD,GAAX,G1GnyCk67D,E8E2M747D,UAwF01kD,I4BggCz1kD,KAE9D,OAA+C,GAArC,GAA0B,GAAsB,aAItE,EACI,MAAM,SEn6BqksD,IAAS,EAAT,EAA+B,EAAf,EAAe,UFo6BxmsD,GAAN,EAAoB,EAAO,EAAgB,EE1yCxC,KAAO,IAAI,EAAG,IF0yCiG,GAC9G,EAAkB,eAIlB,MAA8B,KAC9B,GAAiB,EACjB,GAAmB,KACf,GAAW,eAAM,IAAN,aAAuB,yBhE3jCY,IAAV,GAlIK,GyCcjD,MAAM,GAAwB,2BAClC,OAAO,KAAK,OuB8qCwC,CAAN,kBAClC,GAAc,GACR,IAAF,EAAE,KAAW,IAAF,EAAE,IAAQ,MAAM,GAA0B,sBAEtD,EAAQ,OACP,GAAc,OA8C9B,EA7CwC,SA8CjC,EA9CiB,EA8Cb,QA9CsC,UA8ClB,GA9CP,EA8CY,IA9Ca,aA8CR,QA9CzB,EA+CT,EA7CK,GAAa,EACwB,QA0CjD,EAHgC,qBAIzB,EA3CqB,EA2CjB,YAAoB,KA3CH,EA2CQ,KA3CsB,cAAkB,iCA2CvD,gBAAoB,Q5BpkC4sqD,M4BqkC9uqD,EA5CK,E1G5zC2g+D,E8E8M379D,UAqF6oqD,EArFvnqD,MpC0CxD,IAAV,GAsqCmvI,GgEjG9vI,MAAM,KAEK,MADpC,IAAS,EAAU,OAAnB,EAwCZ,EAHgC,qBAIzB,EAxCoB,EAwChB,YAAoB,KAxCJ,EAwCS,KAxCqB,sBAwCpC,gBAAoB,Q5BpkC4sqD,M4BqkC9uqD,EAzCK,E1G/zC0t+D,E8E8M1o+D,UAqF6oqD,EArFvnqD,G4BknCtG,IAAS,EAAS,OAAlB,EACA,MAAW,GAAwB,MACnB,MAAZ,GAAoB,KAAY,IAAZ,EAAkB,MAAM,GAA0B,2CAC1E,EAAW,MACX,EAAyB,GAAV,KAAU,WACrB,EAAW,MAEX,OAAyB,GAAT,G1Gv0Cyn/D,E8E8M7j/D,UAqF0goD,EAAG,I4BoiCrjoD,IACpC,OAAmD,GAAX,G1Gx0C8t/D,E8E2Mzs/D,UAwFspoD,I4BqiCrpoD,IAC1D,EAAQ,EAAQ,MAAM,GAA0B,0CAEpD,OAA6B,GAAT,GAAV,GAA8B,MAKxD,OAAW,EAAY,GAAC,GAAY,qBAyDtB,2BAIb,OAJG,8CACA,GAAgB,GAAc,IAE9B,GAAwB,GAAP,EAAO,6DAjBsC,OHloCootD,EAxJnptD,GAAU,GAwJ6qsD,qBGmoCtqsD,OHnoC0stD,EA1KzttD,GAAY,GA0KyqsD,qBGqoClqsD,OAA3B,GAAS,KAAgB,mBAzCtE,UAAa,EAAM,OACnB,EAAiB,KACb,EAAS,GAAK,GAAa,KAAb,KAAM,IAAN,OAAkB,UAC/B,EAAS,EAAV,GAAwB,arIomBW,WAC3C,GADuD,UAlT/C,OAAsB,MAAW,GAAO,OAC5B,yBAAhB,GAAgB,KAAX,MAAW,UqInTsD,WAnN1E,QAmN0E,crImT3C,CAAoB,GAAO,iBAAtD,IAAgB,GAChB,GAAO,KqIpTyD,sBAEjD,eAAM,IAAN,0EAAX,GAGa,GAAN,EAAkB,KAAZ,KAA+B,GAAR,GAAN,EAAW,IAAuB,GAAN,6BGlzCzD,GAOS,aACF,wCACA,yCACA,yBACQ,MAAM,GAA0B,mCAA1B,OAA2D,mBAXhF,KAEO,UADE,GACF,YACQ,MAAM,GAA0B,sDAA1B,OAA8E,WAWvG,wBA5ByE,oBACzE,sBACA,yBACA,sBACA,qBACA,qBACA,qBACA,yBACO,MAAM,GAA0B,qCAAmC,GAC9E,uBC0CO,4CAvDJ,6BA6DA,cAEmD,2BCiG7B,mBAAT,EAET,O/G3LsgL,EAAI,S+G2Lh+K,KAGxB,iBAAT,GAAoB,GAAQ,aAAqB,EAAI,aAAjC,OAEa,E/GhMyqL,EAAI,Y+GgM7qL,WAAc,QAAd,EAAc,KAAd,EAAc,gBAAc,MAAd,OhJlFmsE,GAAa,EAA+B,KAA5E,UAA4E,UAA0B,IAA1B,MAAmC,CAA4B,GAAS,EAAyB,QAAkD,OAAO,EgJkFj8E,OAAO,SAA+D,OAA/D,EAYX,OAAO,EDpH4C,aAGzB,YAGc,gCAGL,4CrHsBlC,KA1EoB,EA0EL,OqHvCkB,oEtGrDI,YACX,0FftDyB,wBAE3C,wBAc6C,OAAhB,aAAgB,kBA4BjD,OAHK,aACF,GAAc,EAAM,KACZ,gFAyCZ,2BAtFR,KAGI,2BAmGyB,OAAlB,OAAQ,qBAUX,gBAAyB,MAAM,EAAM,oB1BrH4C,GAAM,EAAN,mCiJYrF,YACA,6BAegE,OAAhB,OAAK,EAAM,sBAwB3D,YACA,YACA,2BCrDsF,wBAAmC,8BAMjF,YAKA,aAKD,YAKD,oEAUkE,OAAxB,GA2O9B,IAAjB,EAAiB,IAAjB,kBA6D0B,OA7DT,IAAjB,GA6DgB,0BA1UrD,KAGsG,2BCC7F,wBAAmC,wBAwBU,OAAZ,EAAQ,sBAKvB,YACC,gFAWL,GAAR,ED4MwB,6B5I/KqD,4BAmmDpF,OAAsB,MAAW,GAAO,WAC5B,oBAAX,MAAW,W6IrmD+mqD,iBAxB3jqD,GAAR,ED4UqyvC,EAvUp2vC,O5IwnD8B,CAAoB,GAAO,WACtD,GAAO,G6I9nDH,OAAmC,iBA7CtB,2BCDoE,wBAAmC,8BAMjF,YAKA,aAKA,YAKD,qEA0B8D,OAAlC,GAAiB,EAAY,kBA8SnC,OArDpB,GAAL,oBAqDe,0BAhWtD,KAGqG,2BCC5F,wBAAmC,wBAwBU,OAAZ,EAAQ,sBAKvB,YACC,gFAWL,GAAR,EDoPsB,6B9IvNuC,4BAmmDpE,OAAsB,MAAW,GAAO,WAC5B,oBAAX,MAAW,W+IrmD0oqD,iBAxBvlqD,GAAR,EDuX0ssC,EAlXrwsC,O9IwnD2B,CAAoB,GAAO,WACtD,GAAO,G+I9nDH,OAAmC,iBA7CtB,2BCDqE,wBAAmC,8BAMjF,sBAKA,wBAKD,YAKD,qEAkCgE,OAAnC,GAAkB,EAAY,kBAySrC,wBCjRxD,qBAAQ,OAAS,GAAF,EAAW,SAE9B,EfPgB,KAAO,GAuD4B,GAAU,GAvDjC,IeOb,GAAwB,Gf8BmC,EApC/D,EAoC0C,GAAY,GApC3C,IeOtB,MAAU,KAAI,GAKd,OAJI,KAAO,QAAP,IACA,EfTsD,EAkBL,GAAY,GAlBA,IeU7D,EfRJ,EAFoD,iBeYpC,GAAT,EAAkB,GAAY,GAAJ,EAAa,GAXJ,CDoRa,ECpRI,mBD/E/D,KAGsG,2BEC7F,wBAAmC,wBAwBU,OAAZ,EAAQ,sBAKvB,YACC,gFAWL,GAAR,EF+PwB,6BhJlOqD,4BAmmDpF,OAAsB,MAAW,GAAO,WAC5B,oBAAX,MAAW,WkJrmD+mqD,iBAxB3jqD,GAAR,EF0X04rC,EAtXl5rC,OhJynDzB,CAAoB,GAAO,WACtD,GAAO,GkJ9nDH,OAAmC,iBA7CtB,2BCDsE,wBAAmC,8BAMjF,YAKA,aAKF,YAKD,qEAkBmE,OAAxB,GAoO/B,MAAjB,EAAiB,MAAjB,kBA6D0B,OA7DT,MAAjB,GA6DgB,0BA3UrD,KAGuG,2BCC9F,wBAAmC,wBAwBU,OAAZ,EAAQ,sBAKvB,YACC,gFAWL,GAAR,EDuN0B,6BnJ1LmE,4BAmmDpG,OAAsB,MAAW,GAAO,WAC5B,oBAAX,MAAW,WoJrmDolqD,iBAxB/hqD,GAAR,ED6U4ovC,EAxUvsvC,OnJwnDyB,CAAoB,GAAO,WACtD,GAAO,GoJ9nDH,OAAmC,iBA7CtB,2BC6NgD,qBAWjE,GAAW,GAEX,MAAa,EAAK,UACJ,IAAV,EAAa,OAAO,UAExB,IACA,EADA,gBAGA,EAAgB,KAAK,MACjB,eACc,IAAV,IAAe,yBAAkB,OAAO,KAC5C,EAAQ,OAER,EAAQ,EAIZ,kCAEA,EAAqB,EACrB,EL0IgD,GAzMd,GKgElC,cACU,OAAV,EAAsB,KAAjB,MAAK,UACN,MAAY,GAAQ,KAAK,GAAI,MAEzB,EAAQ,EAAG,OAAO,QL3MyC,GA0IT,EAAS,GKkE3D,OACI,KAAkB,GAOlB,OAAO,QLpNgD,GA8I5C,EKgEX,EL1J0C,GAwF4B,EAC/E,IKmEa,EACA,OAAO,KASnB,MAFA,ELtEU,EA3G0D,GA2GhD,GACkB,IAzI4B,EFyQtB,GA5HnD,GA4H8C,oBEnRwB,GK2N/D,ELjNkD,EAGiB,GAAK,GAyIzD,GKsEX,EAAuB,OAAO,WApBtC,EAAsB,GAuBtB,OAAO,EAxDiC,GAAsB,qBArD9D,GAAW,GAEX,MAAa,EAAK,UACJ,IAAV,EAAa,OAAO,UAExB,IACA,EAEA,EAAgB,KAAK,MACjB,eACc,IAAV,IAAe,yBAAkB,OAAO,KAC5C,EAAQ,OAER,EAAQ,EAGZ,sBAEA,EAAqB,EACrB,EPrC6C,EOsC7C,IACU,OAAV,EAAsB,KAAjB,MAAK,UACN,MAAY,GAAQ,KAAK,GAAI,MAEzB,EAAQ,EAAG,OAAO,QPlJwC,GA2GnE,EACC,GOuCQ,MACI,IAAkB,EAOlB,OAAO,QP3J+C,GA+G/D,KADI,sBA2IiC,IO1HxC,GP0HmC,iBAA6B,EAAxB,GArSnC,GAqS8B,iBOpGvB,EPlME,KAElB,GA2YkD,OOzM9B,EACA,OAAO,KASnB,MAFA,EPnHiE,GAqEsB,EAAU,MAjHnC,GOkK9D,EP/CsB,EAAU,EAjGiB,EAiGmB,GOgDhE,EAAuB,OAAO,WApBtC,EAAsB,GAuBtB,OAAO,mBJ5N6F,OAA/B,GAAtB,EAAW,SAAqB,EAAW,sCAExC,4BAAuD,YAAhC,KAAU,kDAYnF,EDOM,ECNN,EDMoC,KCLhC,oBACA,OAAoB,OD6C2C,GAvCnD,EAAK,GCNN,EAAS,EAAc,EAAd,MAIpB,qBACA,OAAa,KAAW,GAI5B,MAAiB,KAAc,GAAf,GAAoB,GAArB,GAAkC,GfWhD,EcyBkE,GCnCzD,KAAW,KAAW,IDOM,IdIzC,EAA8B,EAAO,EeVlC,OfQ8C,EA8CM,GAAW,GAAN,6MoBmBnC,eAGA,cAGC,YAGD,iCAxBC,iBAGA,gBAGA,YAGD,kCAvCD,qBAGA,oBAGE,WAGD,wEApCO,iBAGA,sBAIQ,cAIA,eAId,cAGA,YAGD,yEAhDQ,iBAGA,gCAIQ,cAIA,eAId,cAGD,YAGD,4HtEwDmC,OpFZO,KoFYf,IpFZ4B,GAAoB,EAAS,8BoFT7C,O3F+CxC,O2F/CgC,K3F+CxC,OAAW,KAAiB,GAAU,OAAkB,GAAsB,yB2F0H3F,OAHI,EAAQ,c3FwOoB,MAAM,GAAqB,gC2FvOvD,GAEG,iBA5MP,YAA8C,IrDG7C,EqDHiC,QrDGqB,EACrC,UAGQ,GACpB,0BqDAN,EtCtB2C,GsCuB3C,EAAe,EAAW,IACnB,EAAS,KrDM6E,EqDLvE,KAAK,EAAS,KACpC,OAAO,gBuE/BgF,6BC8GpE,YAEO,YAKD,8BAsBX,YAAqC,gBAG9B,QAAmB,EAAO,UAAyB,KAChE,UAAa,qBA4B0F,cAAtF,YAA0C,YACtC,YAGR,QAAkB,UAAW,EAAS,UAAK,KACxD,UAAa,EAAU,UAAvB,gBA1KyE,cACnD,mFCMQ,YAGb,0BAqB6C,yCAezC,yCA+CE,4BA3FoD,cAwC/C,eA+CS,6BChGmC,iEhHM7B,EAAR,GiHGb,UAAK,iEjHHgB,EAAR,GiHSO,UAAK,8D3EA4B,EAAjB,GAMd,G2EDC,UAAc,sDAkIlE,OADgB,QAAkB,EAAO,OjKfgC,mBiKoBzE,OADgB,QAAmB,EAAO,OjKdL,iBiKxImD,cAAlC,WACrB,sCCuD9B,IAAS,EACT,OAAO,EAGX,OAAc,EAAQ,EAAT,GAAgB,EAA7B,EACA,EAAW,GAAU,EAAO,EAAQ,EAAO,EAAQ,GACnD,EAAY,GAAU,EAAO,EAAQ,EAAS,EAAlC,EAAqC,EAAK,GAEtD,EAAiB,IAAS,EAAQ,EAAW,EAG7C,EAAgB,EAChB,EAAiB,EAAS,EAA1B,EACU,OAAV,GAAiB,KAAZ,MAAK,aAEF,GAAa,GAAU,GAAc,EAAd,CACnB,MAAgB,EAAK,GACrB,EAAiB,EAAM,GAEnB,EAAW,QAAQ,EAAW,IAAe,GAC7C,EAAO,GAAK,EACZ,UAEA,EAAO,GAAK,EACZ,cAGR,GAAa,GACT,EAAO,GAAK,EAAK,GACjB,UAGA,EAAO,GAAK,EAAM,GAClB,eApBZ,IAAiB,GA0BjB,OAAO,mBA7D8B,OAAO,EAAN,IAAkB,EAAN,GAAb,qDCzBvB,YAAiB,kDA8BwB,WAAvD,WACI,OAAmB,EACnB,OAAgB,EAAY,KAMT,CAAK,4BAAL,gFAUuC,QvJoBnC,GAAmB,GAtD1C,MAAM,GAAiC,GuJoCN,8BAA4B,SvJqBrE,GACQ,GA1DA,MAAM,GAAiC,GuJqCX,6BAA2B,wDAGhB,GAAK,EAAiB,EAAtB,mDAmBwB,yCCrDR,WAA3D,WACI,gEAAM,CAAgB,EAAiB,gDAGA,GAAK,EAAiB,EAAtB,6DAQD,WAA1C,WACI,OAAW,oCCoDQ,WAAsB,OAAS,GAAY,OAA3C,QAAoD,OAAO,KAA9E,MAAmB,KACf,eASA,OAAa,GAD0B,EAC1B,EAAiB,GAR9B,MAAgC,SAC5B,OAAS,GAAO,EAAM,KAAK,GACpB,EAEA,qC/FyCR,uBAsmCX,EAAgB,IAAX,MAAW,YAtmCL,EAsmCK,E+FtoCW,OAAS,GAmE41/B,EAnE/0/B,KAAK,G/FsoC5B,CAAoB,EAAO,WACrD,EAAO,K+FvoCqD,OAAxD,mBA8DA,MAAmB,OAAW,GAC9B,YAA4B,IAAjB,EAA4B,KAAU,6BA1DjC,aAE2B,UAAb,OAAa,KAAK,QAC7B,aAEa,eACd,aACE,aACqB,8BA9GR,YAEH,oBACT,0CCgBP,YAE4B,eAGA,eAGlC,UAAO,uCApBL,YAA2C,aAAqC,EAAK,GACxD,eACA,8BAQ7B,YAAiB,+BAqGvB,EAAK,OAAS,EAEd,OAAO,MAEH,SAAS,IAET,OAAO,QAEP,GAAJ,aAAc,OACV,GAAJ,aAAc,QAElB,OAAO,KACP,OAAO,0BAeY,kCAAvB,WACI,OAAM,uCAgBoD,GAAM,EAAiB,EAAvB,GAA9D,WACI,OAAM,kDAGiC,GAAK,EAAiB,EAAtB,mDA9EL,eAoDJ,gEC/IX,GAAM,KAAN,GAAvB,6CAiB8D,4DAAM,CAAsB,EAAiB,GAA7C,GAA9D,wDAE2C,GAAK,EAAiB,EAAtB,iGClBU,cAA7B,0BAwCgB,4BAdP,cACpB,0CAmCb,EtGtFe,oBAAZ,SAA2B,QAAO,UAAe,QAAO,SAAS,KsGsFxD,OtGtFhB,QsGsF6B,QAA2B,SxK3C7C,oByK7BP,YAS2B,sCCZwB,GAAM,EAAS,EAAf,GAAnD,8ExIohBA,MAAW,MAAM,GAA0B,2BAI9C,YAHG,EAAY,gEACZ,EAAY,4DACmB,GAAvB,KAAW,MAAM,KAC5B,iByIxhBuD,QAAZ,GAAQ,kBA4DY,YAlB7D,GASwD,KAStC,KAAS,IAAkC,iBC9CtB,OAA7B,aAAuB,GAAvB,EAAuB,wDCfhC,+BA+BA,aAAc,GAFd,YACA,iCAcgC,aAAoB,QAClB,yFA1ByB,aAAc,S5IJzB,EAAnB,EAAmB,WAAyB,EAAX,MAAd,EAAc,KAAd,EAAc,W4IKiB,wICpB/E,YACA,YACA,0BCsEI,gB5IrDkG,EAAvC,GAAiB,MA6DwvB,GA7DvuB,Q4IqDvE,GAAtB,uBAtEiF,4BAGS,4BAMI,mDAGV,kDAGG,kDAGN,kDAGM,kDAGG,kDAGD,qCAGC,kDAGQ,yCAGS,qCAGH,qCAGF,qCAGI,qCAGN,qCAGF,qCAGU,qCAGG,iD9I1DlF,O8IClB,mBAA8D,MAAM,U9II3E,O8IDU,mBAAiE,SAAS,IAGzE,qB9IEmF,Q8ICnF,mBAAmE,UAAU,U9IIvD,O8IDzB,mBAA+D,OAAO,U9IK7D,O8IFR,mBAAgE,QAAQ,U9IM9D,O8IHZ,mBAA8D,MAAM,U9IQ7D,O8ILL,mBAAgE,QAAQ,U9IWrF,O8IRc,mBAAiE,SAAS,U9IWE,M8IR7E,mBAAkE,QAAQ,U9IQmJ,O8IL5N,mBAAiE,SAAS,U9IKsS,M8IF7W,mBAAmE,YAAY,U9IEgc,M8IC5gB,mBAAsE,eAAe,U9ID4lB,Y8IIprB,mBAAyE,YAAY,U9IJiwB,U8IOt1B,mBAAuE,YAAY,U9IPq6B,W8IUv/B,mBAAyE,aAAa,U9IVmkC,W8Ia3pC,mBAAuE,WAAW,U9IbuuC,M8IgBxzC,mBAAmE,YAAY,U9IhBu4C,a8ImBr9C,mBAA2E,aAAa,U9InBuiD,a8IsB9nD,mBAA4E,cAAc,0DCzDjH,OAAW,MAAY,QAAQ,eAQwD,aAAT,EAAS,aACvF,IAAK,GAAW,EAAS,eACzB,I/ICY,qBAEH,O+IDZ,SAXO,C/IGH,G+IDG,G/IEyC,qB+I6CzC,IAAW,OAAc,O/IfusC,U+IiBpuC,Q/IjB4xC,E+IiB1vC,cAEX,MAAZ,EAAY,UACQ,MAAvB,EAAS,SAAc,CACvB,MAAa,OAAiB,GAC9B,WAAsB,IACtB,SAEA,EAAS,WANY,SASzB,OAAiB,GATrB,wBCjCA,YAAY,uCCfwB,gEAOb,UAAK,0EAEC,eAAgB,IAAZ,EAAuB,EAAa,sBlEqCrE,E/EjB40D,GAArtB,GAA4uB,c+EkBn2D,OAAW,EAAU,OAAS,EAAG,EAAU,KAAU,kBA6LU,yBmE5O/D,OAAa,IjE+BoC,EAAP,GArCT,KiEKnB,GACO,IACJ,IAFH,MAEW,IACR,MAHH,KAIE,OACE,OALJ,GAMO,MANP,MAMe,MACR,OAPP,GAQO,OARP,GASO,OATP,GAUO,OAVP,GAWO,QAXP,GnE6O+B,wBnC9G/B,GAAV,MAAa,IACb,MAAM,GAA0B,SAAO,EAAK,iCAEhD,OAAO,uBuGpGP,EACA,EACA,EpL4G0/B,EAAW,aAAe,YAAe,SAAe,aAAe,YAAe,SAAa,GAAnG,EAA0G,aAAe,aAAe,SAAa,GAArJ,EAA4J,aAAmB,EAAO,gBAAoB,eAAoB,YAAkB,GAAhP,EAA0R,gBAAoB,eAAoB,YAAkB,GAApV,GoL9G1/B,ElEE0C,GlH4Go1C,GoL7G93C,EAAY,GAAwB,UAAY,IAChD,EAAW,EAAW,UAAW,GAAjC,GACkB,GAAI,GAAU,GvG4GC,OA7E0C,GA6E7D,GAAO,EA7EsD,qB7E8BzE,GiChEgnE,E4CqCrnE,OAFU,GAV4E,KAU3D,GAAL,IAAsB,IAV0C,GAU9B,GAAL,KAC5C,GAAkB,G7Eef,iB6E9B+B,cAAyC,OAAzC,QAAkB,GAAkB,KAApC,EAAyC,iBAb3C,cAAwC,OAAxC,QAAiB,GAAkB,KAAnC,EAAwC,iBAkF/E,O5C1FsmI,E8EmKriI,mBlC3E7D,UAAO,WAAQ,cAAS,iBACjB,yBwGsMwB,qBAAU,wBAAwB,KAC9B,qBAAU,UAAW,KAGf,qBAAU,MAAQ,6DAnMc,OAAN,EAAM,sCA4C9C,yBAmO5B,MAAY,EACZ,EAAa,KAEN,EAAQ,EAAY,SACA,gBAAvB,MAAW,KAAY,MACnB,6BACI,IAAS,EAAY,OACrB,MAAM,GAA0B,qCAEV,gBAA1B,EAAO,GAAO,KAAY,YACnB,6BACH,IAAS,EAAY,OACrB,MAAM,GAA0B,uCAEhC,eAAY,IAAZ,cACA,MAA2B,GAAZ,EAA4B,IAAF,EAAE,MAEvC,IAAS,EACT,MAAM,GAA0B,mEAChC,IAAY,EAAY,SAAU,eAAY,IAAZ,aAClC,MAAM,GAA0B,2DtEhGstP,QsEkG1vP,EpJrY2ymB,E8E8M3tmB,UAAU,EAqFuqP,GsEoGnvP,OAAM,KAAO,GAAb,EAAyB,MAAzB,EAAyB,KAAzB,EAAyB,KAAvC,EAAO,GAAO,QAAkC,GAAlC,GACd,EAAQ,EAAW,EAAnB,OAEI,WAAY,QAAZ,cACA,MAAM,GAA0B,qCAEpC,MAAa,EAAM,KACnB,EAA2B,GAAZ,EAA2B,EAAO,EAAO,KtE3GmqQ,IsE4G3tQ,EAAwD,GpJ/YotnB,E8E8M5rnB,UAAU,EAqFwoQ,OsE8G9tQ,GAAc,EAAO,IACrB,MAAM,GAA2B,oBAAkB,EAAU,mBAEnD,UAAO,GAAP,EAAoB,MAApB,EAAoB,KAApB,EAAoB,KAAlC,EAAO,GAAO,QAA6B,GAA7B,GACd,EAAQ,QAGZ,EAAO,GAAO,GAGtB,OAAO,EAAO,WA/Qc,CAAoB,EAAI,qBA5HxD,KAUwC,YAEkB,aAAR,GACV,qBAAO,EAtDsB,GAsDb,EAtD0B,GAsDT,KAtDJ,YAAmC,GAAnC,KAuDtB,eAIO,oDArEjB,iCA6UjC,YAAiB,EACjB,MAAY,OAAK,UACJ,MAAT,EAAsB,KAGnB,OAFK,KAAM,MAAO,YAAY,EAAzB,GAEL,sBAhUyB,iCAobhC,MAAY,EACL,EAAQ,WACP,eAAK,IAAL,cAGA,QAGR,OAAO,mBA/aW,iCACX,MAAM,GAA+B,gEAE5C,OAHkB,EAGX,GAAY,sBAibnB,MAAY,EAAa,EAAzB,EACA,EAAiB,QAAK,GAAL,uBAGV,EAAQ,UAAU,WAAK,KAAL,qCACrB,MAAqB,KAAa,IAAO,QAAK,GAAL,IAAzC,OACqB,GAAjB,KAAyB,GAIzB,QAHA,EAAa,EACb,QAKR,OAAO,iBAtdkG,OAAH,EAAG,8CA6UrB,yCA+B5C,mFAnCL,YAIa,yBA0BF,8BtEhDN,mC0B1T9B,qBAA4D,0BACjE,EAGM,KAAc,EAAG,EAAQ,EAAG,EAAO,OAAQ,GxGCrD,E8E6MwF,WA1MnF,EAAQ,G0BRJ,gCA0CgD,IAAV,yBnIuBlD,kBqEgSuB,OAAb,KAAG,MAAS,EAAZ,GrEhSV,UAqmDM,OAAsB,MAAW,GAAO,OAC5B,yBAAhB,GAAgB,KAAX,MAAW,cmI7nDsE,GAAT,KAuHytiD,InIsgD3wiD,CAAoB,GAAO,iBAAtD,IAAgB,GAChB,GAAO,KmI9nDgE,EAA+B,kCAgCjC,OAArE,KAAkB,EAAY,EAAO,EAAa,EAAQ,4B6C1BjD,GAAL,EAAK,EAAc,EAAQ,GAAc,gBAEzC,MAAY,EAAK,MACD,MAAT,QACG,GAAN,EAAM,EAAc,EAAS,eAAiB,YAC9C,EAAQ,EAAM,4BAKlB,OAAO,GAAO,GAAQ,GAAO,GAC7B,MAAgB,EAAK,yChHArB,IAq1YY,EAr1YZ,OAq1YY,eAAhB,EAAgB,IAAX,MAAW,gBgHxxY+gma,IA3Er9la,EhHm2YhD,CAAoB,GAAO,WACrD,GAAO,EgHp2Y8E,OAAxB,EAerD,GAAQ,GAER,OADA,OAAO,GAAQ,oCAAmC,GAAO,GAAW,GAAQ,QACrE,ErJlCm4C,OqJoC13C,KAAK,SrJpCy6C,EqJsCr6C,MAA7B,8BAAY,EAAZ,QACa,MAAT,OtLKe,KAAN,EACd,EADoB,QsLJf,EAWsC,EAXmB,EAAG,EAWtB,EAXkC,EAAU,OAAlC,KAC9B,IAAd,GAAiB,OAAO,GAAO,GAAW,GAAQ,M3G+MJ,IAAV,GAvN9B,S2GUN,OAAW,EACX,OAAgB,GAEhB,kBA2BR,MAAwB,EACxB,EAAqB,EACrB,EAAwB,EACZ,IzCyElB,SAAS,OAAS,OAAlB,EAAiC,IAAM,OAAS,EAAf,EyCzEP,EzCyIjB,KAAO,IAAI,EAAG,MyCzIjB,EAAY,OAAP,MAAO,UACR,MAAQ,KAAY,GAAN,GAAkB,EAAxB,OACJ,oBAAK,UAAkB,GAAT,QAAqB,EAA9B,KAAoC,QACzC,2BACA,IAAgB,EAAhB,EACA,EAAe,EACf,EAAY,SANpB,EAAY,MASR,GAAgB,EAAG,OAAO,OACvB,EAAe,GAAK,eAAY,GAAN,IAAmB,EAAe,EAAlC,GAAN,iBACvB,IAAgB,EAAhB,EAGJ,OAAa,GAAN,EAAe,GAAiB,YAAU,EAAe,EAAzD,GAA2D,oCA5ClD,GAAiB,EAAO,G3GkNO,GAvN9C,GAuNuD,E2GhNzC,UAE8B,IAAd,IAAiB,elEq+BpD,EAAY,EAl+BQ,mBAm+BpB,EAAgB,IAAX,MAAW,YAn+BI,EAm+BJ,EkEt+BsE,UA0C2/gC,GA1C3/gC,clEs+BtC,IAAF,EAAE,KkEt+BW,ElEu+BpD,EkEv+BkE,MAA7D,Q1JorCZ,EAAY,EACC,EA3pCsB,GAAN,GA2pChB,YAAR,MAAQ,M0J3oC2wrC,YAAnB,GAAmB,IAxC3vrC,GAAc,OAAO,GAAO,GACzC,OAAO,GAuC2wrC,GAvC9vrC,GAAQ,YAGhC,OAAO,GAAO,GAAO,GAAQ,WAGjC,OAAO,GAAO,GAAW,GAAQ,MAGrC,sBA5DwB,ErJFgP,EqJEhP,YAAjB,EAA8B,MAAb,EAAa,KrJxB4B,EqJwBjE,OAAO,QAA+D,KAA/D,EA4DU,Q3LPR,EAiI4C,Q2LxHjD,MAAuB,EAAU,OACvB,eACJ,GADI,MACJ,EAAc,EAAmB,gBAG3C,OAAO,sBA9DU,enJpBoE,EFvB3C,GqJ4CxB,YACS,aACE,4EC5CrB,8BAIC,gCAIA,2BAIL,2BAIA,0BAIF,0BAID,6CA5B6B,+BAiClC,MAA2C,GAAjB,EAAW,KAAgB,EAAW,MAChE,OACI,EAAsB,EAAK,GAAS,EAAW,KAAQ,EAAW,MAClE,EAAsB,EAAK,GAAS,EAAW,KAAQ,EAAW,MAC1D,qBAgBZ,QAA2C,GAAjB,EAAW,KAAgB,EAAW,SAE5D,EAAsB,GAClB,QAAkD,GAArC,EAAW,KAAQ,EAAW,MAC3C,EAAa,KAAQ,GAEjB,KAAS,GAAT,OAAkB,KAAS,EAC3B,6FAIR,EAAsB,EAAK,KAA8C,GAArC,EAAW,KAAQ,EAAW,OAC1D,EAXZ,4BAXA,MAA2C,GAAjB,EAAW,KAAgB,EAAW,MAChE,OACI,EAAsB,EAAK,KAA8C,GAArC,EAAW,KAAQ,EAAW,OAClE,EAAsB,EAAK,KAA8C,GAArC,EAAW,KAAQ,EAAW,OAC1D,+LCvCP,0BAWgE,OAAnB,EAAc,EAAK,mBAMJ,OAAnB,EAAc,EAAK,iBAkClC,OAAL,iBAyBtB,OvJ9CqyF,OAAa,aAAa,yBuJsD5xF,YAMA,gBAKS,gBAKA,gBAKD,gBAKA,gBAKJ,gBAKA,gBAMJ,YAMD,qEAtI1C,KAEqB,wPCRY,YAAkB,2BtJOd,MAAM,MAAN,EAAM,QAAN,GAA0B,OAA1B,QAAqB,OAArB,mBAQhC,MAAM,MAAN,EAAM,QAAN,aAAqB,OAArB,EAAiC,EAAO,MAAP,EAAO,QAAP,GAA4B,OAAjC,GAAK,QAAsB,OAAtB,oBuJVxB,QAAG,IAAM,OAAO,EAAb,KAAb,GAAU,KAAL,MAAK,UACN,EAAM,GAAK,QADf,IAAU,GAGV,OAAO,iBAiCV,OAJiD,6BhDlBR,KAAa,MAEpD,IAAO,GgDEyI,OhDuB/I,SA3BuB,eA4BhB,uBxEvDF,IAAI,YAAY,GwHoCgG,OhDkBrH,SAjBkB,YAkBX,qBAPG,KAAa,MAGtB,GAHS,agDPmH,OhDa7H,SANF,YAOS,6BgDTK,uCA6B0C,cAC1C,0BChER,6BAEA,6BAEA,6BAEA,0C1J4BoT,GAAY,EAAK,K0JSxR,EAClC,GAAJ,IAGX,KAAW,GAAK,EACT,cAtCH,KAsCyB,IAAK,KAAS,MAA3C,sCAhDc,gBAAY,G1JIqB,uBAAa,SAAM,EAG1C,iBAAa,MAAb,MAAkE,iBAAW,SAHnC,E0JGlE,KAAW,IAAK,EAChB,EAAmB,IAAf,KAAS,GAAS,EAAO,K3LsBtB,K2LpBa,EAAI,kCCXb,GAAS,GAAT,O1ED2D,EjFC1E,EAES,WAAW,WiFOZ,EAAY,KAAZ,UAA8B,EAAY,SAC1C,MAAM,GAA0B,sBAAoB,KAE5C,GAAL,U0ETH,KAAE,GAHN,wBA4BgD,uBAAX,iBAlBrC,OAAW,GAAS,G3JLwD,EAG9E,O2JKM,EAAE,wBAON,OAAW,GAAS,G3JPU,EAAc,UAAU,EAAY,G2JU9D,EAAE,GAAY,EAAY,kBC1BiD,UAAS,oBCChC,oBAAS,OAChE,WACmB,iBAAP,EACL,GAAgB,EAAG,GACvB,gBACI,GAAgB,EAAG,EAAE,MAErB,GAAmB,EAAG,aAG7B,aAAU,YAAY,GAAmB,EAAG,iCAO/B,OAAd,EAAE,GAAU,GALJ,CAA2B,EAAG,GACzC,mCAeO,EAAI,KAAK,UACT,EAAI,IAAK,UAET,IAAM,YACQ,IAAN,IACA,WAEA,E7JZX,E6JYoC,IACrB,I7JZJ,E6JY2B,EACvB,EACO,EAAK,GACZ,EAEA,aAKZ,GAAM,EACE,GAAM,EAAG,EAAO,GAEhB,EACX,0BA1BA,OAHG,EAAI,GAAK,EACT,EAAI,EAAK,EACD,qBC0BP,GAH0C,uBAGL,GAArC,CACD,MAAW,GALU,WAKE,KAAW,SAAqB,GACvD,EAAiB,I7H7DrB,O6H8DI,QAAmB,EACnB,cAAwB,EACxB,OAAa,eAAe,EARe,uBAQsB,GAErE,O9JnBiqB,sC8JbpqB,OAJQ,MAAL,EAAc,OACd,GAAW,GAAO,Q9JN8B,EAAE,mC8JjBtC,MAAR,EACe,MAAR,EAEC,MAAR,IAImB,iBAAV,GAA+C,mBAAjB,EAAK,OACpC,EAAK,OAAQ,GAGrB,GAAS,EACF,GAAS,EAGG,iBAAV,GAAwC,iBAAV,EAChC,IAAS,IAAkB,IAAT,G9JJuB,E8JIO,G9JJkB,E8JIO,GAE7E,IAAS,qBAiBL,MAAP,EACA,OAAO,EAEE,oBAAS,OACjB,WAAgB,mBAAuB,EAAI,SAAY,EAAI,WAAiB,GAAkB,aAC9F,aAAa,GAAkB,aAC/B,WAAW,GAAkB,aAC7B,Y9JzBgE,E8JyBtB,EAAO,kBAC1C,GAAkB,OAAa,IAL3C,wBAwBA,MAAW,EAED,IAAG,EADK,EAAI,OACF,EAAP,KAAb,GAAU,KAAL,MAAK,UACN,M9J1Bo5B,E8J0Bp3B,WAAW,GAC3C,EAAO,KAAO,IAAK,EAAnB,QAFJ,IAAU,GAIV,OAAO,mBAM8B,MAAjC,MAAY,kBACZ,MAAY,kBAAkB,EAAU,G9JpCiuC,E8JsCzwC,OAA+C,I7HrFnD,O6HqFmD,yBAenD,MAAY,KAAK,uBAKZ,GAAwB,EAAQ,WAAhC,UAE8B,MAAX,EAAW,UAEX,OAAZ,GAEA,MAAO,MAAP,EAAO,KAAP,EAAO,aAAP,aAAqB,EAArB,cAGA,aAED,EATP,YAWC,GAAwB,EAAQ,WACjC,QAAc,GAElB,OAAa,OAAS,eAAe,GAAO,YAAY,KApBxD,CAAiC,EAAO,EAAS,oBA9DjD,O9JRsC,OAAS,eAElD,GAAG,eAAe,wB+JA6D,OAAxB,MAAL,aAP/C,MAAM,KAOoD,KAAiB,EAAC,gBAX5E,MAAM,0BhJiBN,MAAkB,EAAI,OACtB,EAAkB,EAAI,OACtB,EAAiB,EACjB,EfjBqE,EekB9D,EAAQ,GAAU,EAAQ,GAAR,OAAoB,EAAa,YAAjB,KAAa,EAAI,GAC1D,OAAO,yBAKP,EfF+L,EAAO,MAAM,EAAG,QesBzL,IAnBR,EAmBL,SAnBa,EAoBlB,OApBU,EAoBS,QAnBvB,MAAiB,EAAO,UACpB,EAAU,MfL4U,EeMtV,OAA4B,EACrB,EAAQ,IAAgB,gBAAP,EAAO,GAAW,EAE9C,OAAO,wBwFnCgC,gCAKA,gCAMA,YAMD,uEA1B1C,KAGI,cAFA,YACA,0ByDgXI,6BAEA,6BAEA,6BAIA,6BAEA,wCAvSA,KAAW,GACX,OAAO,EAGX,MAAc,MACd,EAAqB,GAAN,GAEf,OACI,IAAY,GAAY,GACvB,GAAW,EAAY,EAER,GAAhB,KAAS,KAAuB,EACxB,wBAOZ,MAAU,SAAU,GAApB,EACA,EAAmB,MAAT,OACV,EAAU,SAAS,GAAnB,EACA,EAAkB,MAAR,OAEV,EAAU,EAAM,OAAU,GAA1B,EACA,EAAyB,MAAf,EAAM,KAChB,EAAU,EAAM,OAAS,GAAzB,EAGA,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU,EAYV,OAFA,GAFA,MADA,GAFA,MADA,GAFA,MADA,KAAO,GANiB,MAAd,EAAM,MAMhB,QACgB,GAAhB,OAEO,EAAM,EAAb,QACgB,GAAhB,OAEO,EAAM,EAAb,QACgB,GAAhB,OAEO,EAAM,EAAb,KAEO,QANP,GAAc,QAMO,IATrB,GAAc,QAQd,GAAc,QAC4B,IAH1C,GAAc,yBAM+C,YAAvB,KAAI,EAAM,+BAG5C,MACA,OAAO,QACM,GAAN,GACP,OAAO,QAGP,KAAW,MACX,OAAiB,GAAN,GAAe,KAAe,QAC5B,GAAN,EAAiB,MACxB,OAAW,MAAS,KAAe,QAGnC,MACA,OAAiB,GAAN,GACE,GAAT,MAAwB,GAAN,IAEO,GAAhB,GAAT,MAAkB,OAET,GAAN,GACP,OAAgC,GAAzB,KAAe,GAAN,QAIhB,KAAS,OAAsB,GAAN,EAAe,MACxC,OAAO,GAAW,MAAmB,GAAN,IAMnC,MAAU,SAAU,GAApB,EACA,EAAmB,MAAT,OACV,EAAU,SAAS,GAAnB,EACA,EAAkB,MAAR,OAEV,EAAU,EAAM,OAAU,GAA1B,EACA,EAAyB,MAAf,EAAM,KAChB,EAAU,EAAM,OAAS,GAAzB,EACA,EAAwB,MAAd,EAAM,KAEhB,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU,EAqBV,OAnBA,MADA,IAAO,KAAM,GAAb,KACgB,GAAhB,KACA,GAAc,MAKd,GAHA,MADA,IAAO,KAAM,GAAb,KACgB,GAAhB,QAEA,GADA,GAAc,OACP,KAAM,GAAb,KACgB,GAAhB,KACA,GAAc,MAQd,GAHA,GAHA,MADA,IAAO,KAAM,GAAb,KACgB,GAAhB,QAEA,GADA,GAAc,OACP,KAAM,GAAb,KACgB,GAAhB,QAEA,GADA,GAAc,OACP,KAAM,GAAb,KACgB,GAAhB,KACA,GAAc,MACd,OAAO,KAAM,GAAM,KAAM,GAAlB,GAAwB,KAAM,GAA9B,GAAoC,KAAM,GAAjD,KAEO,OAAK,GAAQ,GAAM,GAD1B,GAAc,QACyB,GAAM,yBAmF7C,MAC0B,GAAZ,SACC,IAAX,EACO,EAEH,EAAU,GACH,OAAK,QAAQ,EAAU,QAAS,EAAa,UAAU,GAAK,EAAf,GAAvB,GAEtB,OAAK,EAAG,SAAS,EAAU,GAAnB,0BAMvB,MAC0B,GAAZ,SACC,IAAX,EACO,EAEH,EAAU,GACH,OAAM,SAAS,EAAV,EAAuB,SAAU,GAAK,EAAf,GAA0B,QAAS,GAE/D,OAAK,SAAU,EAAU,GAApB,GAA6B,QAAQ,EAAG,GAAO,kBAzSK,YAmWxC,WAnWL,mBAEiE,YAAnD,QAAO,EAAG,OAiWnB,WAjWyD,OAFrC,qBAmE0B,YAAtC,SAAQ,EAAM,MAAQ,SAAO,EAAM,8BA5DvE,EAAQ,GAAK,GAAK,EAClB,MAAM,GAAW,uBAAqB,MAGtC,MACA,MAAQ,OAGR,UACI,KAAW,MAAX,CAGA,MAAgB,GAAQ,GACxB,EAAU,KAAI,GACd,EAAkC,GAApB,GAAJ,EAAa,GAAoB,GAAM,KAEjD,OAAW,GAAJ,EAAiB,GhKKgL,EAAgB,SAAS,GgKHjO,MAAQ,IAAY,GAAT,MAAsB,OAMzC,MACa,IAAT,EAAc,GACd,GAAS,GAAM,EACf,GAAS,GAAM,EACf,GAAS,GAAM,EACP,EAEZ,EAAmB,GAAW,KAAO,IAAI,EAAkB,IAE3D,EAAU,EACV,EAAa,KACN,CACH,MAAa,EAAI,GAAI,GAErB,EADiB,GAAJ,EAAoB,GAAP,EAAgB,IAAe,KhKhBw2B,SAAS,MgKoBl6B,GADR,EAAM,GAEF,OAAO,EAAS,OAET,EAAO,OAAS,GACnB,EAAU,IAAK,EAEnB,EAAS,EAAS,kBA8Q0C,YAArC,OAAK,EAAW,EAAQ,GAAG,EAAQ,kBArQ7B,YAAR,OAAO,iBAFU,YAAb,IAAR,QAAoB,IAAP,sBAIA,YAAD,IAAL,EAAR,uBANa,YAAZ,wBAU+B,YAAlB,KAAQ,GAAS,yBAwQ7C,GAAN,GACA,OAAO,QACA,IAAS,mBAChB,OAAO,QACA,EAAQ,GAwBa,mBAvB5B,YA+BA,MA9BO,EAAQ,EACf,OAA0B,GAAnB,IAAY,IAEnB,MAa4B,WAZ5B,OAAO,OACH,GAAY,EAAU,EAAW,GACjC,GAAY,EAAQ,EAAU,qBAhRqB,YAAlB,KAAQ,GAAS,mBAES,YAAnB,KAAQ,IAAU,8BAgSnD,GAAQ,MAET,GAAQ,MAEJ,IAAQ,MAEN,QAAK,EAAI,eAET,OAAK,GAAG,eAEN,GAAQ,0BCxX0E,OhIfnG,GAAK,IAAM,kBgIUoE,OAAxC,gBAAW,EAAE,iBAgB5D,OAHG,EAAI,WAAc,WAClB,GAAI,YAAe,WACX,GAAY,EAAG,GAf+C,CAAY,kBAMyB,OhIhBtG,GAAK,IAAM,kBgIkB6D,OAA/B,gBAAW,EAAO,GAAW,kBAUR,OzC6PjB,MAmGC,GAzV/C,GAAY,mByCf8B,OAAV,GAAQ,oBCZf,OAA7B,OAAS,EAAO,sBCoChB,WAAY,EACZ,OAAO,GAAU,EAAO,EAAO,EAAO,EAAO,EAAO,0BAjCpD,YAHA,MAAa,EACb,MAAa,EACb,eAAsB,InKE6D,yBmKanF,YAsBI,IAtBgD,GAA0B,MAAV,EAAgB,EAAO,GAc3F,OAZ6B,IAAzB,EAAM,WAAW,SnKKF,EAAM,WmKJQ,KAAK,GAEL,MAAzB,EAAM,gBACN,kBpDoIF,C9ErKR,YAAY,EAAO,uBAAwB,IkImCZ,GAArB,EAAM,iBAAN,YAAqC,EAGjB,GAAH,GAArB,EAAM,iBAAwC,IAG3C,EnK3BoF,CAErF,EAAY,EACpB,QmKIE,aAAmB,EACnB,cAAkB,EACX,kDjK+BkD,MAG3D,QAA6C,MAE3C,MFhD8C,EEgDD,MAAkB,SALvB,KFrC+B,6B+GmBvE,OAAO,GAAgB,QAAQ,EAAM,EAAY,EAAqB,EAAmB,EAAc,8BAcvG,MAAO,C9EjDD,KAAM,EAAM,WAAY,EAAM,YAAsB,cAAT,GAAuB,OAAK,EAAW,WAAY,GAAc,GAAI,oBAAqB,EAAqB,kBAAmB,EAAmB,aAAc,EAAc,cAAe,EAAe,cAAU,EAAW,gBAAiB,CAAC,gBAA8B,IAAlB,SAA+C,IAAf,GAAkD,IAAtB,EAAU,QAAgB,uBAAwB,oB8EiR3V,QAApC,GAAU,IAAM,GAAkB,kBAPpE,O/G5Ny2M,MAAY,QAAQ,oB+GiJl3M,QAAI,mBAAJ,SACJ,GADI,EACkB,uBAxBzB,IAAS,EACT,OAAO,EAGX,MAAe,EAAK,WAEJ,MAAZ,GAAgD,MAA5B,EAAS,kBAC7B,kBAXE,C9ErKR,YAAY,EAAO,uBAAwB,K8EmLnB,MAAtB,EAAgC,MAAV,EAAU,KAAV,EAAU,mBAEF,MAAnB,GACF,EAAgB,YAAY,GAAuB,GAChC,MAAN,EAAM,WAAN,EAAoB,MAAd,EAAc,KAAd,EAAc,eAApB,QAAmC,OAAO,EAA5D,MAAkB,MAChB,EAAgB,uBAAuB,QAEvB,SAAiB,GAAjB,EAAwB,MAAxB,EAAwB,KAAxB,EAAwB,eAAxB,QAAuC,OAAO,IAChE,GADkB,EACW,GANjC,wBA7CA,MAAe,EAAK,WAEJ,MAAZ,GAAgD,MAA5B,EAAS,kBAC7B,kBA0BE,C9ErKR,YAAY,EAAO,uBAAwB,K8E8InB,IAAtB,EAAgC,MAAV,EAAU,KAAV,EAAU,mBAET,MAAnB,OACkC,IAA9B,EAAgB,WAChB,OAAO,MAGQ,MAAT,EAAS,0BAAnB,EAAU,IAAL,MAAK,SAAS,EAAT,EACU,GAAhB,EAAsC,GACtB,GAAhB,EAAgC,GAAuB,KAInC,WAAiB,GAAO,QAAxB,EAAwB,KAAxB,EAAwB,YAApD,EAAiE,MAAb,EAAa,KhJ5C1D,GAmCT,GgJWS,IAAP,OAAwB,MAAjB,IAAiB,MACpB,GADG,EACa,GADb,EAEH,YAAa,IhJVd,GgJQI,QAGF,EAHE,iBA9BK,QAAL,EAAK,WAAc,MAAd,IAAc,MACD,MADb,EACJ,gBADI,EAEJ,cAAqB,GAAL,MAFZ,EAIR,eAJG,QAAP,OAAO,QAKG,GAAL,GALE,mBAJP,2CAnBA,E/GzD4tD,a+G0D1sD,IAAS,YAA3B,EAAkB,SAAwB,EAAxB,KACP,MAAe,IAGT,kBAAb,MAAa,EACb,cAAuB,IACvB,SAJA,EADJ,SAiB4B,CAAL,KAAiC,mBAL7B,MAAO,MAAP,EAAO,KAAP,EAAO,0BAAP,QAAiC,YAA5D,MAA2B,EAC3B,OAAa,OAAO,yBAAwB,kBAJd,kBAA0E,OAA/D,MAAX,EAAW,K/GpEu+D,OAAa,eAA9B,kB+GgO//D,QAAO,GAAU,K/GhOm9M,E+GgOz7M,sBAd3C,cAFyB,OAGpB,aACA,aACA,cACA,kBAAa,iBACN,GAAa,EAAK,wBAmEsC,MAApB,iBAAP,GAAkB,+BAYc,MAArD,iBAAX,GAAsB,GAAY,EAA2B,2BA5DsB,QAA7C,GAAU,IAAsB,iBAAhB,EAAE,sBACW,OAAhC,GAAa,EAAG,0BACkB,OAAjC,GAAa,EAAG,2BAC+C,QAAhE,GAAa,EAAG,cAAsC,cAAhB,EAAE,sBACR,OAAjC,GAAa,EAAG,2BACqB,OAAnC,GAAa,EAAG,6BAEyB,QAA1C,GAAU,IAAsB,cAAhB,EAAE,sBADmB,OAAnC,GAAa,EAAG,qCAjR9D,OAAO,GAAgB,YAAY,EAAM,EAAY,EAAqB,EAAmB,OAAc,4BAW3G,OAAO,GAAgB,SAAS,EAAM,EAAY,EAAqB,EAAmB,EAAc,uBA6QpG,IAAY,OACZ,OAAO,GAAS,MAGT,MAAP,GAA0B,MAAX,GAAsC,iBAAT,GAAsC,mBAAT,EACzE,OAAO,KAGe,mBAAb,GAA0B,GAAa,EAAK,GACrD,OAAO,EAGX,kBAfkF,OAApC,OAAa,eAAe,GAe9D,CAAiB,GAC7B,EAAyB,MAAP,EAAO,KAAP,EAAO,eACN,MAAf,GAAuB,GAAQ,aAAqB,IAE7B,WADR,EAAY,WACd,KACT,OAAO,IAAQ,EAIvB,MAAoB,EAAQ,kBAGP,MAAjB,EACO,GAAa,EAAK,GAGD,cAAxB,EAAc,MAA2C,MAAnB,EAAI,aACnC,GAAgB,EAAI,YAAa,wBhHwlC/B,QAAkB,EAAW,EAAS,UC52C8ivD,EoKiBrlvD,KAEuhuD,EAAS,EAAW,yBzL6ExzQ,GAAW,GA1Gtw9C,MAAM,GAAiC,GoBuuClB,2BAAyB,EAAO,MACzD,OAAO,GAAgB,EAAM,EAAS,yBAetC,OADa,QAAkB,EAAW,EAAS,UC5uCg2jD,ED6uC33jD,MAAM,EAAW,kBArrCzC,OAAO,OCxDy7E,0BqKoBh8E,MAAa,eAAS,GACtB,EAAY,EACZ,EAAU,EACV,EAAY,EACC,mBAAb,EAAa,IAAR,MAAQ,gBACT,MAAa,EpFtBw8H,MoFuBr9H,IAA0B,GAAX,IAAqB,EAChC,EAAS,IACF,gBAAP,EAAO,GAAW,EAClB,EAAM,EACN,EAAQ,OAER,IAAS,EAAT,EAGR,OAAO,uBlBzDP,MAAa,EACb,EAAU,EAAM,OAAO,EAAvB,EACA,GAAa,EACb,EAAY,EACL,GAAU,MAGT,GADJ,EAAQ,EADR,GAAU,EAAS,EAAV,GAAiB,EAA1B,IAGI,EAAS,EAAS,EAAlB,UACK,IAAU,EACf,OAAO,EAEP,EAAM,EAAS,EAAf,EAER,OAAO,GAAc,EAAS,EAAO,EAAO,GAA5C,8BjJemE,EAtC5D,mBAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAG1D,KACI,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAiB,KACvG,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MACtE,MACI,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,QiJTf,2EmBKtB,MAAgB,mEAChB,EAAiB,eAAS,KACP,SAAT,GAAS,OAAnB,GAAU,KAAL,MAAK,MAAS,EAAT,EACN,ErFPA,KAAS,IqFOsB,QADnC,GAAU,GAKV,IACA,EAAW,GADW,uWACwB,EAAY,KAC1D,EAAY,eAAS,EAAK,QACX,MAAL,EAAK,cAAf,GAAU,KAAL,MAAK,MAAK,EAAL,EACM,EAAM,GAAT,IAAL,EAAmB,EAAK,GACZ,EAAM,EAAI,EAAV,GAAe,EAAK,GAA/B,QAFT,GAAU,GAIV,UAAoB,EAIpB,UAAqB,GADF,2UACkC,EAAY,KAIjE,UAAuB,GADF,k8BACoC,EAAY,0EpKaN,EAtCnE,oBAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,KAG1D,KACI,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,KAAQ,QqKPnD,kBrKyCoC,EAjCzB,kBAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAC1E,EAAG,EACD,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IqKPU,oEC4D5B,MAAkB,OACC,MAAf,GAAuB,IAAgB,GACP,GAAhC,iBAAmC,GAA+B,GAEtE,4CArE8B,YACZ,YACS,YACC,eACG,eACM,mBAEC,YAAoB,gBAApB,EAAoB,KAApB,EAAoB,KAId,oDCqJ/C,6BAAD,EAA0B,MAAzB,EAAyB,KAAzB,EAAyB,KAAqB,OAA/C,QAA2C,EAA3C,qBAPC,OAcM,qEAAS,gBAlBmB,EAkBnB,IAAc,EAAd,mDAAc,EAAd,IAAc,EAAd,8BClK8B,KAAM,OAAN,GAA9C,wIAP8C,KAAM,OAAN,GAA9C,8DAoB8B,kCAA9B,wDAC8C,GAAM,EAAN,GAA9C,gHACiE,GAAM,EAAS,EAAf,GAAjE,2IAK8B,kCAA9B,wDAC8C,GAAM,EAAN,GAA9C,gHACiE,GAAM,EAAS,EAAf,GAAjE,8DAiD8B,kCAA9B,0EAC8C,GAAM,EAAN,GAA9C,2HAzE8B,oBAA9B,WAO8B,IAA9B,qCAC8C,GAAM,EAAN,GAA9C,uDANiE,KAAM,EAAS,GAAhF,WAOiE,CAAM,EAAS,EAAf,GAAjE,8DA+B8B,kCAA9B,0EAC8C,GAAM,EAAN,GAA9C,6JAZ8C,GAAM,EAAN,GAA9C,mIAoCuC,GAAM,EAAN,GAAvC,mIAc8C,GAAM,EAAN,GAA9C,mIA9B8C,GAAM,EAAN,GAA9C,gHAK8B,kCAA9B,iFA6B8B,kCAA9B,iFAxB8B,kCAA9B,oGAgC8C,GAAM,EAAN,GAA9C,0GCzEgD,O1IhC3C,KAAY,mB0IsB0B,O1ItBtC,EAAW,0BAAJ,EAAS,oB0I4BuC,O1I5BvD,aAAoB,mB2IaW,OAA/B,GAAL,EAAkB,GAAW,63JvMgBH,OA86GR,SAAK,6DsBr7GE,OAw0FP,UAAK,qKtBt0FX,UAqrDc,SAAW,GAAO,WAC5B,MAtrDJ,KAsrDI,cwM7rDmD,GxM6rDnD,MwM7rDyD,GxM6rD/C,CAAoB,GAAO,UACrD,GAAO,EwM9rD2E,OAArB,6CxMc/D,OAypD4B,MAAW,GAAO,WAC5B,MA1pDlB,EA0pDkB,YAAX,MAAW,UwMrqDG,OAoBmwtD,GxMipD3vtD,CAAoB,GAAO,WACtD,GAAO,EwMtqD0B,OAApB,6BAE8B,OAAD,IAAR,2CAIjC,OAFiC,QAAc,KAAM,IAAK,IAAzB,UAA6B,iBAC3D,OAAI,IAAO,EAAO,oBAA2B,GAAH,KADZ,2CAQ+B,OAArB,GAAgB,gFlMP3B,uBAW7B,MAAM,GAAiC,GAfzB,wByGGd,OAAa,qBACH,SAAQ,OACR,SAAS,mBACP,MAYZ,UACA,OACO,yDATF,SAAW,MAAM,KACtB,qBAEO,UAAP,sBAAO,EAAP,kCAyBA,UAAY,EACZ,2CAOA,2JCK8C,OAAZ,UAAQ,6CAGjC,SAAW,MAAM,KACX,gBAAX,OAAW,gBAAJ,YAAI,oEAcgC,OAAT,UAAQ,6BAET,OAAL,yCAGvB,SAAe,MAAM,KACb,WAAb,OAAa,cAAF,EAAE,EAAN,YAAM,sHAQT,EAAQ,GAAK,GAAS,EACtB,MAAM,GAA2B,UAAQ,EAAK,WAAS,qCAKvD,EAAQ,GAAK,EAAQ,EACrB,MAAM,GAA2B,UAAQ,EAAK,WAAS,uCAKvD,EAAY,GAAK,EAAU,EAC3B,MAAM,GAA2B,cAAY,EAAS,cAAY,EAAO,WAAS,MAElF,EAAY,EACZ,MAAM,GAA0B,cAAY,EAAS,eAAa,uCAKlE,EAAa,GAAK,EAAW,EAC7B,MAAM,GAA2B,eAAa,EAAU,eAAa,EAAQ,WAAS,MAEtF,EAAa,EACb,MAAM,GAA0B,eAAa,EAAU,gBAAc,oCAKzE,MAAe,EACL,gBAAL,MAAK,QACK,MAAK,GAAY,EAAG,MAAH,EAAG,QAAH,GAA5B,EAAW,GAAiB,QAAiB,EAAjB,GAA5B,EAEJ,OAAO,oCAIH,EAAE,MAAQ,EAAM,IAAM,OAAO,MAEjC,MAAoB,EAAM,IACb,mBAEL,GAFK,MACO,EAAc,KAE1B,OAAO,EAGf,OAAO,2DAjIsC,OAAd,sDhHqUvC,MAAY,EACC,EA5TL,KA4TK,egHpU0D,GhHoU1D,MgHpUgE,GhHqUrE,CACA,EAAO,UACX,QAEJ,GAAO,EgHzU+E,OAA9B,4ChH+VxD,MAlVF,KAkVsB,EAlVtB,KAkVmC,KAC1B,EAAS,QgH9V0D,GAgIu8L,EAAS,IAhI18L,GhH+VxE,CACA,EAAO,EAAS,YAGxB,GAAO,EgHnWkF,OAA7B,8BAIoB,OAAvB,YAAiB,2CA2BlE,IAAU,QACV,qBAEG,QAAc,KAAM,qCAMqB,OAArB,QAAgB,yGCsBkC,OAAvB,UAAc,+BACC,OAAxB,UAAc,IAAO,8DAmCW,OAAvB,UAAc,+BACG,OAA1B,UAAc,IAAO,oEAiBD,EAAN,EAAM,OAAK,MAAL,EAAK,QAAL,aAAmB,EAAnB,EAA2B,EAAjC,EAAiC,OAAO,MAAP,EAAO,QAAP,GAAyB,OAArD,GAA4B,QAAqB,EAArB,gCACV,OAAf,GAAL,EAAO,MAAG,IAAL,GAAL,EAAY,6CAElE,uBACG,KAAE,KAAO,EAAM,OAAO,KAAE,KAAS,EAAM,iEA/DoC,OAApB,aAAY,mHAI9D,OAAO,OADa,cAAQ,gCAOoB,OAArB,UAAiB,mGA0B4C,OAAtB,aAAc,mHAIhF,OAAO,OADa,cAAQ,gCAOoB,OAArB,UAAiB,mGA3G5D,QAA6B,MAAtB,QAAc,0CjHS1B,qBA6qDK,OAAsB,MAAW,GAAO,WAC5B,sBiHprD8D,GjHorD9D,MiHprDiE,KAAS,GjHorDhE,CAAoB,GAAO,UACrD,GAAO,GiHrrD0F,OAAzB,kCAIhE,mBAA2B,OAAO,EACtC,MAAU,EAAM,KAChB,EAAY,EAAM,KAClB,GnHkN4C,GAhNlD,KAgNkD,IAAnB,KAAmB,SAhN9C,YmHAM,KAAS,IAKG,MAAZ,KnH4NwC,GA9NS,KA8NT,IAAnB,KAAmB,SA9NqB,wCmHgB7D,IAAU,KAAM,OAAO,KACvB,mBAAqB,OAAO,KAC5B,WAAQ,EAAM,IAAM,OAAO,WjHiB/B,MAAN,EAAM,UA+mDA,OAAsB,MAAW,GAAO,WAC5B,oBAAX,MAAW,UiH/nDe,QA6FkhmD,GjHkiDthmD,CAAoB,GAAO,WACtD,GAAO,GiHhoDH,OAAqB,+BAGe,cAAc,GAAW,OAAL,MAApB,EAAoB,KAApB,EAAoB,uCAQX,OAAV,GAAR,qCAEY,OAAD,IAAR,oCACS,OAAZ,SAAQ,gCAyB/B,OAfa,MAAT,YACA,UAAQ,cAcA,GAAL,6CAOwE,OAA7C,GAAR,SAAsB,KAAM,IAAK,IAAzB,UAA6B,iBAAE,YAAS,KAAxC,uCAE8D,OAAjD,QAAS,EAAM,MAAQ,IAAK,QAAS,EAAM,kCA2B1F,OAfe,MAAX,YACA,UAAU,cAcA,GAAP,iFCpGP,MAAe,EACC,gBAAX,MAAW,QACZ,EAAa,EAAS,MAAT,EAAS,QAAT,GAAb,KAAa,QAAuB,EAAvB,GAAb,EAEJ,OAAO,wCAIH,EAAE,MAAQ,EAAM,K7HHtB,EAkP+G,GAlPjG,yE6HjBZ,IAAU,QACV,qBACG,QAAU,KAAM,qCAM2B,OAAvB,QAAkB,8G7HJ8B,QAAnC,qBAAoB,EAAM,sCACtC,OAAD,oCACM,MAAF,gCAEH,OAAD,6BACO,OAAJ,+BACsB,OAAL,oEACkC,OAAlB,EAAS,+EAEpC,MAAM,GAA2B,+CAA6C,EAAK,kCAC3E,OAAF,kEAGY,2CAGzC,IAAT,EAAY,MAAM,GAA2B,UAAQ,GACzD,gFAcsC,OAAX,UAAO,kCACY,O2E4qPnC,IA9oPqC,UA8oP7C,oC3E3qP8D,qB2E2crE,OAAO,KAAQ,IAAY,E3E3cyB,CAAP,UAAgB,mIWiCvC,OA6lDI,MAAW,GAAO,WAC5B,MA9lDM,EA8lDN,YAAX,MAAW,UX9nD4D,QA0Zq5rC,GWouCt8rC,CAAoB,GAAO,WACtD,GAAO,EX/nDmF,OAApB,4EACd,OAAV,GAAP,iFA9CA,OAAL,6BACS,OAAL,6BACL,OAAD,6BAED,MAAM,gCACF,MAAM,wE8HPA,6CAAuB,mDAbpE,qYCwB4F,OAAnC,OAAiB,kFARrB,OAAV,qE5HuBmB,OAAlB,UAAS,+BAC4B,gBAA0B,OAA1B,gBAAhC,OAAa,GAAmB,GAAU,UAAS,wHMxBf,QAArC,qBAAsB,EAAM,sCACxC,OAAD,oCACM,MAAF,gCAEH,OAAD,6BACO,OAAJ,+BAEkB,OAAL,qHAEH,OAAJ,uHAC4B,wCACvB,wCACa,4E2MOrB,OAAT,2EAhBU,OAAV,gMpFwF5B,8CAGW,QACG,gBAfwB,aACI,KAiBV,GAAZ,WAAe,IAEf,OADA,UAjBmB,GAkBZ,EAEP,UAAe,gBAlBD,EAoBR,OAAO,OArBE,OADI,EAuBK,OAAO,UAC/B,MAAM,SAGlB,UAxB4B,EAyB5B,QAAmB,GAAR,WACX,UAAW,KjG9EP,KA2CS,EAAb,KC4BgE,EA5ExE,GAAkB,GAAe,wCgGyFvB,gBArC4B,OACI,EAqCI,sBAiBrC,MAA+C,OAAO,MAA3C,MAAM,KAjB2B,YApCd,EAuC3B,OADA,UAvC8B,EAwCX,GAAZ,WAAe,SAtCC,EAyCvB,UA5C0B,QA8Cb,UADb,iBACa,EADb,KAGA,OADA,UAAY,KACL,UAEH,MAAM,yCAgBlB,UAAY,EACZ,UAhE+B,EAjEpC,eAmIS,UAAW,EACX,kCjGOR,GAgB0C,GAf1C,MAe0C,GAf1C,GAe0C,IAf1C,KiGSI,UAnF8B,6EAuFD,6HAlKG,OAAwE,GAAS,uER0jBzG,UAAY,GACZ,SAEa,IAAb,UACA,MAAM,WACG,UAAb,QAAa,EAAb,KAGA,OADA,WAAY,EACL,6BAMP,OAFI,UAAY,GACZ,SACgB,IAAb,mEAEd,OA1BsC,mFAxX/B,OAAO,eAAY,UAAS,gCAI5B,OAAO,UAAS,6DAEvB,OATsC,mIA+MnB,IAAR,UACA,MAAM,KACV,gBACA,OADA,gBACO,UAAS,+BAIhB,OAAO,UAAO,GAAK,UAAS,+DAdwD,OAA/C,GAAK,UAAO,KAAU,OAAa,UAAU,8BAgBzF,OAdsC,iFA5WmB,yCAEjB,iFAzBQ,OAAV,2EjHLuC,QAAlC,qBAAmB,EAAM,sCACrC,OAAD,oCACM,MAAF,gCAEH,OAAD,6BACO,OAAJ,+BACsB,OAAL,oEACkC,OAAlB,EAAS,8EAElB,gF0H0FrC,IAAT,UACA,qBAGQ,eAAO,WAAf,uBAAQ,EAAR,YAqFuD,GApF/C,UAAc,EAoFY,GApFpB,UAoFiC,KAAQ,EApFvD,UAAc,EACd,8HAtBH,mDAIL,QAAkB,EAAO,WAqGsC,GAnGjD,UAAmB,EAmGS,GAnGjB,KAmG8B,KAAQ,QAnGxD,UAAkB,GAAzB,sBAAO,EAAP,iCAG2B,OAAhB,YAAQ,qCAgBtB,OAdsC,kDAkBnC,EACQ,EAAM,OAAO,KAAK,KAAY,GAAN,EAAa,KAAK,SAAW,UAE7D,EAAW,KAAK,KAEhB,EAAW,EACX,EAAU,UAEH,EAAO,GAAQ,EAAM,WAAN,OACX,IAAQ,UAAO,GAAtB,oBAAe,EAAf,KACA,QACA,YAGJ,EAAM,EACC,EAAO,UACH,IAAQ,UAAO,GAAtB,oBAAe,EAAf,KACA,QACA,QAIJ,OAFI,EAAO,OAAO,KAAK,OAAM,EAAO,KAAK,MAAQ,MAEjD,GAAO,KAAP,uCzF5DkmE,YyFgElmE,OzF7HkG,EAAvC,GAAiB,MAAU,GAAO,MyF6HtF,QAAQ,kFAQf,UAAoD,GAAH,GAA9B,WAAY,WAAa,GAAzB,GAAiC,EAAa,GAEjE,OADkC,IAAd,YAAwB,GAAP,UAAc,IzFtI+C,EAAvC,GAAiB,MA6D+9E,GA7D98E,QyFsIxB,QAAQ,IACtE,OADP,EAC6B,2CAOzB,UACA,MAAM,GAAuB,6BAgC8B,GA7BxD,UAAmB,UA6BgB,GA7BxB,KA6BqC,KAAQ,EA7B/D,UAAkB,GAAiB,EACnC,kEhHjCimE,GAAK,GA1GtmE,MAAM,GAAiC,GgHkJpB,qCAAmC,ShHxC8mE,GAAK,WA1GzqE,MAAM,GAAiC,GgHmJjB,oDAAkD,EAAC,YAAU,eAE/E,EAAI,GACJ,MAAY,UACZ,GAAU,EAAc,EAgBc,GAhBtB,KAgBmC,KAAQ,EAdvD,EAAQ,GACD,GAAP,UAAY,KAAM,EAAO,WAClB,GAAP,UAAY,KAAM,EAAG,IAEd,GAAP,UAAY,KAAM,EAAO,GAG7B,UAAa,EACb,oBAAQ,EAAR,wGA/KiB,mOACrB,UAAiC,GAAL,UAAkB,MAC9C,UAAU,UAAO,UAAjB,EACI,WAAO,GACP,UAAa,GAAa,WAC1B,UAAW,OACD,uCAaV,UAAa,GAAc,gBACjB,0FAAL,UAAK,cACN,UAAO,GAAI,WACP,UAAO,SACH,UAAO,KAAO,WAAQ,UAAS,UAAO,GAAuB,yGAEjE,aAAU,UAAa,UAAY,GAAU,WAA7C,yCACA,UAAO,GAAY,0EAGvB,sEACO,UAAO,KAAO,qDACjB,aAAU,UAAa,UAAY,GAAU,WAA7C,yCACA,UAAO,GAAY,iDAEnB,eAqJ23E,yDArJt2E,aAAM,UAAN,qJA5BnB,0CAAL,UAAK,cACF,UAAO,GAAK,oBAAQ,EAAR,6DAChB,UAAO,EAAI,WACP,UAAO,MAAQ,8BACf,aAAM,UAAN,kEACI,UAAa,UAAO,KAAa,UAAS,GAAU,WACxD,UAAO,kFAGX,eAwK+3E,0CAvK33E,WAAkB,UAAO,MAAQ,8BAAM,aAAM,UAAN,0QAhB9B,6iBC2EoC,OAAJ,oCAC0B,OAAP,+BACG,OAAP,+BACN,OAAJ,uCACvB,OAAD,oCACyB,MAArB,2GActC,MAAU,OACH,CACH,QAAI,KAAJ,GAAY,MAAM,MAAlB,E7HsCoR,OAAxB,E6HrC5P,MAAW,EAAI,UACX,iBAGA,OAAO,KAAK,GAFZ,EAAM,kCAQmC,OAAjD,EAAU,UAAK,GAAK,EAAS,GAAY,2CAG3B,MAAd,aAAQ,G7HwBgsB,OAAO,U6HvB/sB,MAAc,UAAK,GAAS,GAC5B,OACI,IAAY,UAAQ,KACpB,SAAqC,UAC7B,OAAgB,EAAS,4CA8B0D,OAA/F,OAAS,MAAS,iBAAkC,GAAN,KAAgB,6BAb9D,MAAU,IACH,KACE,KAAS,EAAI,MAAU,OAAO,EACnC,MAAW,EAAI,UACX,iBAGA,OAAO,QAAS,EAAT,IAAS,EAAT,MAFP,EAAM,GAQgE,CAAN,EAAkB,wCAE3B,OAA/B,GAAL,WAA0B,GAAR,WAAkB,oCAKxD,MAFN,IAAK,QAAK,GAAI,IAEV,6EA1HqD,OAAjB,UAAS,gCAC0B,OAAlC,IAAQ,MAAQ,YAAe,mFAxCX,wLG0Qc,OAAhC,UAAc,GAAS,+BACd,OAAvB,UAAc,oCAEyC,OAAlC,UAAc,GAAQ,EAAM,kGApPtC,OAAZ,QAAS,mCAyBtC,GAAiB,EAAM,GACvB,MAAQ,EAAQ,EAAhB,KACI,EAAI,GAAK,IAAS,oBACJ,MAAO,MAAK,GACtB,MA+SyB,G2CrTkB,G3CMnB,GA+SkC,IA9S1D,QAAS,QAET,SAEI,MAAW,YAAe,EAA1B,EACA,EAAI,EAAO,EAAX,UACK,EAAO,EAAP,IAAY,EAAI,EAAhB,MAAqB,KAC9B,EAEJ,OAAO,EAXP,EAWA,SAEO,CACH,MAAU,aACC,GAAP,KAAkB,EAAO,OAAO,wFC3C5C,MAAQ,UACR,GAAW,IAAO,EAAd,EACJ,UAAI,UACJ,UAAI,UACJ,UAAI,UACJ,MAAS,UACT,UAAI,EACJ,EAAK,EAAO,GAAM,EAAQ,EAAQ,GAAO,EACzC,UAAI,EAEJ,OADA,oBAAU,OAAV,EACO,EAAI,UAAX,+BAIiC,qBDkUW,OAAhD,KAAU,GAAK,EAAV,GAAL,IAAyC,GAAV,IAAc,GClU/B,CAAV,UAAwB,qICCS,OAAL,sCACW,OAAJ,uCAUqC,OAA/B,WAAS,GAAS,GAAS,qCAO1B,OAAZ,UAAQ,2CAIK,OAD3C,qBAAsB,WAAa,EAAM,MACzC,YAAS,EAAM,MAAS,YAAQ,EAAM,wCAGI,OAAtC,UAAW,EAAS,MAAK,WAAQ,UAAK,oCAEG,OAAb,UAAK,KAAG,4IAxDiC,OAA/B,aAAS,IAAT,GAAkB,KAAS,YAAT,6BAOlB,OAAZ,aAAQ,WAAR,mCAIa,OAD3C,qBAAuB,WAAa,EAAM,QAC1C,4BAAS,EAAM,QAAS,4BAAQ,EAAM,kDAGc,OAAhD,YAAW,GhBU8B,EAJzB,YgBNI,MAAW,GhBMF,UgBNc,GAAK,oCAEP,cAAb,WAAK,KAAQ,OAAL,8GCCH,OAAP,sCAG9B,MAAY,aACR,IAAS,eACJ,UAAS,MAAa,KAC3B,WAAU,OAGV,oBAAQ,UAAR,EAEJ,OAAO,iHAnC8B,OAAP,sCAG9B,MAAY,aACR,IAAS,eACJ,UAAS,MAAa,KAC3B,WAAU,OAGV,oBAAQ,UAAR,EAEJ,OAAa,GAAN,yHCsG2H,OAA1C,OAAe,EAAY,EAAU,4DA5BjD,OAAzC,OAAuB,UAAO,UAAM,sCAQM,OAAxC,UAAO,EAAG,UAAQ,UAAU,UAAQ,2CAIR,OADjE,qBAA4B,WAAa,EAAM,MAC/C,YAAS,EAAM,MAAS,YAAQ,EAAM,MAAQ,YAAQ,EAAM,wCAGJ,OAApD,UAAW,EAAS,MAAM,MAAK,WAAQ,UAAnB,GAA2B,UAAK,oCAEuD,OAA7E,UAAO,EAAK,UAAK,KAAG,UAAI,SAAO,UAAa,UAAK,WAAS,UAAI,UAAe,GAAN,4GA/E3B,OAA1C,OAAwB,UAAO,UAAM,sCAQI,OAAxC,UAAO,EAAG,aAAQ,WAAR,EAAkB,aAAQ,WAAR,mCAIA,OADjE,qBAA6B,WAAa,EAAM,SAChD,4BAAS,EAAM,SAAS,4BAAQ,EAAM,SAAQ,YAAQ,EAAM,iDAGxD,YAAW,alBP8B,EACgE,kBkBM/E,MAAW,GlBPI,EAC6E,YkBMlG,MAAM,EAAuB,EAA7B,GAAqC,YAAK,2CAE6C,OAA7E,UAAO,EAAsE,OAAjE,WAAK,KAA4D,OAAzD,WAAI,SAAO,UAA8C,OAAjC,WAAK,WAA4B,OAAnB,WAAI,UAAe,GAAN,4NzD+nCpF,IAAb,WACA,SACa,IAAb,UACA,MAAM,WACG,UAAb,kBAAa,EAAb,KAIA,OAFA,UAAW,KACX,WAAY,EACL,6BAMP,OAFiB,IAAb,WACA,SACgB,IAAb,mEAEd,OAhD6C,wOgEvvBtC,GAAc,GAAmB,kCAE3B,GAA0B,wCAAsC,EAAK,KAArE,KACT,8SAraT,mTImJqC,yCAG7B,UAAY,KACZ,UAAc,oFAhIc,WAqI5B,aAAY,EAAZ,IAAY,EAAZ,KACA,UAAa,EACb,0CAkCO,CAEH,MAAa,KAAK,KACP,OAAK,QAAL,arHgDjB,gCAtEF,YACO,EqHsBQ,OrHtBf,eAAO,EAAP,KqHqBQ,MAAW,KAGP,QAAoB,GAApB,iB2DbqoB,YAAmD,cA5EzqB,mBzKlGmB,EAoC0xF,GyK6D3zF,EA6EirB,KA5E5oB,EA4EypB,GA3EtsB,EAAK,GA2EorB,KA3E/nB,EA2E4oB,yChL9HtrB,KA0CmB,EAAzB,MC2D4/E,EA3G3gF,GAAkB,GAAmB,KoHwJrB,mBALJ,WAQI,IAAM,KAAN,OpHhDyvF,wBD/G7vF,KA2CS,EA3CM,EC+GkuF,EApH7vF,GAAkB,GAAe,WoHwKrB,UAAc,KACd,EAAK,GAAW,6NtGtIhB,mBACA,UAAoB,GAAX,UAAW,GACpB,UAAc,YAGX,UAAP,sBAAO,EAAP,iCAG8D,QAA9B,oDAEsE,OAAxE,UAAuB,GAAN,WAAuB,kJfGzD,OAAN,+BASyB,OAAzB,GAAc,kEAOmE,OAAhD,iBAAoB,aAAa,EAAM,wCAChC,OAAV,GAAV,6CACwB,MAApB,WAAS,UAAS,qGApCjD,GAAoB,GAAN,GACL,cAAS,GAAK,mDA3EnC,+SuH0BW,6CACA,mDAMqD,MAAlB,IAAE,UAAK,KAAG,UAAM,gCAjC9D,iaA0EwE,MAA1B,IAAE,UAAK,KAAG,UAAM,KAAG,UAAK,sCA1EtE,2tBCAA,0GC+CmD,OAAlB,UAAQ,UAAM,wCACb,UAAQ,UAAM,QAAoC,MAAM,GAAuB,UAAM,gBDKjH,YCL4H,ODK5H,gBAAN,UAAM,2KCV4E,oWAqBvB,cAAR,+CAhEnD,snBCAA,yGC+CmD,OAAlB,UAAQ,UAAM,wCACb,UAAQ,UAAM,QAAmC,MAAM,GAAuB,UAAM,gBDK7F,YCLwG,ODKxG,gBAAN,UAAM,2KCVwD,oWAqBtB,cAAR,+CAhEnD,siBCAA,8NE+CmD,OAAlB,UAAQ,UAAM,wCACb,UAAQ,UAAM,QAAoC,MAAM,GAAuB,UAAM,gBFK/F,YEL0G,OFK1G,gBAAN,UAAM,2KEV0D,oWAqBvB,cAAR,+CAhEnD,snBCAA,2GC+CmD,OAAlB,UAAQ,UAAM,wCACb,UAAQ,UAAM,QAAqC,MAAM,GAAuB,UAAM,gBDKtG,YCLiH,ODKjH,gBAAN,UAAM,2KCViE,oWAqBxB,cAAR,+CAhEnD,6jBsDsB0C,MAAX,mEpDuF3B,6CAGA,6CAGM,6CAGA,8aAxBN,6CAGA,6CAGM,6CAGA,+aAvCN,4CAGA,4CAGM,4CAGA,4aApCA,6CAGA,6CAIA,6CAIA,6CAIA,6CAGA,6CAGA,2rBAhDA,6CAGA,6CAIA,6CAIA,6CAIA,6CAGA,6CAGA,izBCdF,cACA,MAAe,SACR,EAAS,QACR,KAAS,IAAU,GAEnB,OADA,EAAS,MACF,EAGf,OAAO,+BAIP,cACA,OAAe,EACC,gBAAX,MAAW,MACR,OAAI,KAAU,GAAW,GAEjC,OAAO,+BAKP,OADA,eACQ,qBAAsC,ElJsK4B,kBkJtK1B,OAAM,EAAN,QlJsKmD,uCkJ7JnG,cACA,MAAe,KAAK,IACb,EAAS,KACZ,EAAS,IACT,EAAS,qCAM2B,OAAd,KAAK,uJCyEe,OAAZ,UAAQ,6CAGjC,SAAW,MAAM,SACf,YACP,OADO,gBAAP,UAAO,EACA,YAAI,2ClJOyX,IAAR,UA9ChY,MAAM,GAA8B,GkJ2CX,yEAErB,aAAS,WACT,UAAQ,UACR,WAAO,mEAcoC,OAAT,UAAQ,6BAET,OAAL,yCAGvB,SAAe,MAAM,SAEjB,OACT,OADS,cAAF,EAAE,EAAT,UAAS,OACF,YAAI,sHA0BE,QAAmB,EAAO,WAEvC,UAAK,GAAI,UAAY,EAAhB,EAAuB,GAC5B,4DAMA,OAFa,QAAkB,EAAO,WAE/B,YAAK,UAAY,EAAjB,gCAIM,QAAkB,EAAO,WAEtC,MAAa,UAAK,GAAS,UAAY,EAArB,GAClB,YACA,OADA,gBACO,iCAMP,OAFa,QAAkB,EAAO,WAE/B,UAAK,GAAI,UAAY,EAAhB,EAAuB,8BAGH,OAAL,sCAEqC,OAArB,UAAK,oGA3LpD,OAFA,UACA,QAAI,SAAM,IACH,8BAiBP,UACA,QAAY,EAAG,qCAcgD,OAAd,yCAEoB,OAArB,OAAQ,IAAY,8BAGtD,QAAG,cAAjB,GAAc,KAAT,MAAS,aACN,UAAI,GAAU,GACd,OAAO,QAFf,IAAc,GAKd,OAAO,+BAIO,kBAAiB,GAA/B,KAAK,MAAS,cACN,UAAI,GAAU,GACd,OAAO,QAFgB,GAA/B,GAKA,OAAO,8BAImF,OAAvB,YAAiB,kCAGqB,OAAjC,OAAQ,KAAM,EAAW,kCAMjG,MAAe,OAAa,G9JR2F,IAAU,EAAV,EAgE7G,OAAd,EAAsB,KAAR,Q8JtDN,EAAS,IACT,EAAS,W9JqDjB,EAAsB,2C8J3Cd,IAAU,QACV,qBAEgB,QAAc,KAAM,qCAMqB,OAArB,QAAgB,gHC5CqB,OAAvB,UAAc,+BACC,OAAxB,UAAc,IAAO,iCACA,OAAtB,UAAc,8DA2CmB,OAAvB,UAAc,+BACG,OAA1B,UAAc,IAAO,iCACA,OAAtB,UAAc,+DAjGf,6CAKP,OAAN,uCAO1B,MAAe,KAAK,KAEpB,OADA,UAAc,EACP,oCAGuC,OAAnB,QAAc,wCACQ,OAAnB,QAAc,uCACoB,OAAxB,QAAY,KAAM,oEAMW,OAAtB,QAAc,gCAEI,OAApB,QAAY,8GAaT,MAAM,GAA+B,8HAEzE,UAAwB,kCAG8C,OAApB,aAAY,mHAI9D,OAAO,OADa,cAAQ,yCAS5B,YACI,aAAY,KACZ,UAAwB,GAAO,IACxB,oHAK4C,OAA5B,UAAwB,gCAEuB,OAAxC,UAAwB,oGAoBtB,MAAM,GAA+B,iIAGD,OAAtB,aAAc,mHAIhE,OAAO,OADa,cAAQ,gCAQ2B,OAA5B,UAAwB,gCAEuB,OAAxC,UAAwB,mGAvE1E,SAAQ,iCAsCJ,OAhCa,MAAT,YACA,UAAQ,cA+BA,GAAL,wCAMX,cACqB,M3JeZ,EAiQuE,IAAQ,I2JhRnE,oBAAf,E3JeG,EAoLmD,K2JnMjD,E3JeF,EAiMmD,K2J/MxD,QAAI,EAAK,gCA4BT,OArBe,MAAX,YACA,UAAU,cAoBA,GAAP,wCAIX,cACA,MAAW,SAAQ,IACZ,EAAK,MACR,MAAY,EAAK,OAEb,KADI,EAAM,MACV,CACA,MAAY,EAAM,KAElB,OADA,EAAK,KACE,GAGf,OAAO,wJC/HH,IAAU,QACV,qBACe,QAAU,KAAM,qCAM2B,OAAvB,QAAkB,6ICmBb,OAAV,SAAM,yCAEH,SAAM,QAAW,IAAY,sBAA7B,EAA6B,oCAElE,UACA,QAAW,GjKWnB,eAAM,GiKT8B,SAAM,GAAS,QjK8BxC,EiK9BH,sBAAO,EAAP,iCAIA,UhIVwnB,SgIWtmB,KAAK,GACvB,gBACA,OADA,iBACO,iCAIP,UhIjBmyB,SgIkBjxB,OAAO,QAAoB,GAAQ,EAAG,GACxD,gEAIA,UACI,EAAS,IAAW,OAAO,EAE/B,ajIPmB,EiIOnB,KjIPmB,IAAkB,EsDxCyB,GAmDtE,GtDinDI,EC/oD07lE,ED+oDl6lE,OAAO,GiIrnD3B,QACA,gBACA,OADA,iBACO,oCAIP,UACA,QAAoB,GAEhB,IAAS,SAAM,OAAO,QAAO,MAC7B,EAAS,IAAW,OAAO,EACzB,WACF,aAAQ,OAAO,QAAO,MACtB,ajITE,EsDnDwD,GA+D5D,GtDZ2B,WAinDjC,EC/oD07lE,ED+oDl6lE,OAAO,GiIxmDlB,SAAQ,ehI3EyB,EAoC28C,GAAN,SAAkB,EAAG,GqDrBr7C,EAAjB,GAkET,G2ELzC,SAAoC,EAAY,OAAgB,EAA4B,GAAN,SAAkB,EAAO,WAG3H,gBACA,OADA,iBACO,+BAIP,UACA,QAAW,GACX,gBACA,OADA,gBACW,IAAS,ShInD6yD,SgIoD3yD,MhIpD41D,SgIsD51D,OAAO,EAAO,GAAG,gCAIvC,UACoB,UAAN,SAAM,cAApB,GAAc,KAAT,MAAS,SAAM,EAAN,EACN,YAAM,GAAU,GAAhB,ChI5DwkE,SgI6DtjE,OAAO,EAAO,GAChC,gBACA,OADA,iBACO,SAJf,GAAc,GAOd,OAAO,iCAIP,UACA,gChIvE+0E,SgIwE7zE,OAAO,EAAW,EAAU,EAA5B,qCAIlB,UjH1G+C,EAAR,GiH2GvC,SAAQ,EACR,4DAIiE,OAAhB,GAAN,SAAc,gCAEgB,OAApB,GAAN,SAAkB,qCAEvB,O4B5HE,G5B4HR,S4B5HsB,KAAM,IAAK,IAAzB,OAA6B,GAA7B,gC5B8I5C,MAAO,GAAS,MAAM,KAAK,2FAKvB,SAAY,MAAM,4GgDvIqD,OAAhB,KAAU,gCAExB,MAAO,MAAP,EAAO,QAAP,GAAsB,OAAtB,QAAqB,EAArB,wG9CEY,MAAM,GAA+B,oIAE1F,UAAa,kCAGkF,OAAnC,UAAa,GAAc,8BAEG,OAAtB,eAAY,yCAG5E,QAAS,KACT,UAAa,GAAO,EAAQ,OACrB,8BAKiC,OAAjB,UAAa,sGA8C5C,UAAY,kCAI4D,OAAzB,UAAY,GAAS,yC7JkBrE,sBAgmDC,OAAsB,MAAW,GAAO,WAC5B,oBAAX,MAAW,S6JjnDyD,UAAS,GA8BqmpD,EA9B3lpD,KAAO,G7JinDzE,CAAoB,GAAO,WACrD,GAAO,G6JlnDoG,OAAxC,6BAQ3D,OAHgB,MAAZ,YACA,UAAW,WAEA,GAAR,uCAG2E,OAAV,0CAEb,OAApB,UAAY,GAAI,kCAEY,OAA3B,UAAY,GAAI,EAAK,gCAEL,OAAvB,UAAY,GAAO,8BAEN,OAAhB,UAAY,mGCpD9C,OAAc,MADJ,UAAI,GAAI,EAAS,kCAK3B,UAAI,iCAO6E,OAAxB,UAAI,GAAY,8BAEvB,OAAb,UAAI,+BAE2B,OAAnB,UAAI,KAAK,iCAEe,QAAJ,MAAvB,UAAI,GAAO,+BAEf,OAAR,UAAI,kGC+E9B,OAFa,IAAT,YACA,yBAnBgB,MAAhB,QAAwB,YACxB,EpI7Fy7G,OoI6F/2G,OACpE,qBAAF,EAAE,SAAY,EACd,OAAO,EAGT,yBAAF,EAAE,SAAW,OAAK,QAClB,OAAe,YAAW,OAAK,eAC/B,IAAU,OAEV,OAFA,sBACA,OAAY,EACL,EAGP,OADA,OAAe,KACR,EAMC,QACI,IAAT,yCAIF,SAAW,MAAM,SACtB,EAAoB,UpIrH2wI,UoIsHtuI,WpItHm1I,UoI4H54I,OAFA,UAAiB,EACjB,WAAQ,EACD,iCzJ5CN,MAgBqsE,UAd9sE,MAAM,GAA8B,GAjBV,6ByJgElB,UAAyB,GAAgB,GAAT,WAAY,MAC5C,UAAY,KAEZ,0FAzJkC,4CAGrC,gDAIL,MAAe,UAAS,GAAY,GACpC,EAAmB,QAAsB,MACrB,MAAhB,EAEA,UAAW,GAAY,OAAY,EAAK,WAEpC,iBAEA,QAA+B,KAC3B,UAAS,GAAO,EAAM,KAAK,GAC3B,OAAO,EAAM,GAAS,GlITmD,EAetC,GAAO,OAAY,EAEvE,IkINiB,UAAW,GAAY,EACvB,gBACA,OADA,gBACO,KAIX,MAAuC,EACvC,EAAkB,GAAN,EAAM,KAAiB,MACtB,MAAT,EACA,OAAO,EAAM,GAAS,GpIPskB,EoIS9kB,KAAK,OAAY,EAAK,IAGhD,gBAEA,OAFA,gBAEO,kCAIP,MAAe,UAAS,GAAY,GACjB,UAAsB,MAAtB,QAAmC,OAAO,KAA7D,MAAmB,KACf,iBACA,MAAgC,KAC5B,UAAS,GAAO,EAAM,KAAK,GAAlB,CACT,GAAiB,UAAY,GAC7B,gBACA,OADA,gBACO,EAAM,KAEb,OAAO,KAGX,MAAuC,EACnB,MAAN,EAAM,cAApB,GAAc,KAAT,MAAS,MAAM,EAAN,EACV,MAAY,EAAM,MACd,UAAS,GAAO,EAAK,EAAM,MAAlB,CACS,IAAd,EAAM,QpIlC0+C,EoImCh/C,OAA2B,EAE3B,GAAiB,UAAY,IpIrCqtD,EoIwChuD,OAAO,EAAO,GAEpC,gBAEA,OAFA,gBAEO,EAAM,YAbrB,GAAc,GAiBlB,OAAO,iCAIP,UAAa,UACb,UAAO,+BAGmD,QAAJ,MAAjB,QAAS,iCAEnB,cAAS,GAAW,OAAL,MAAf,EAAe,KAAf,EAAe,gCAsB1C,OAAO,0HCrEC,QAAgB,OAAT,0CAKF,SAAW,MAAM,KAEtB,MAAkB,GAAJ,WACd,UAAO,QtKYe,EAAR,EAAQ,KsKVtB,OtKyDZ,EsKTJ,IAjDoD,oBtK0DpB,EAAU,KsK1D1B,UAAoB,EACb,iC1JkCjB,MADJ,UAJM,MAAM,GAA8B,GAfxB,kB0JTJ,UAAc,KAGP,GAAH,GAAJ,WAAO,gBACP,oBAAI,GAAW,GAAJ,WAAO,MAElB,UAAO,yEAxCX,OADA,UAAmB,KACN,qBAAN,KAAe,wGA4C+B,MAAM,GAA+B,oIAE1F,UAAmB,kCAGkF,OAAzC,UAAmB,GAAc,8BAEV,OAAf,iDAGpE,YACI,QAAS,KACT,UAAmB,GAAO,EAAQ,OAC3B,8BAKuC,OAAvB,UAAmB,gCAEuB,OAAnC,UAAmB,uGA2GzD,UACA,UAAI,KACJ,UAAO,kCAS4D,OAApB,UAAI,GAAY,gCAGlC,2BAAQ,OAAO,EAA5C,MAA6B,QAErB,KAAK,KAAS,GACd,OAAO,EAEX,EAAgB,GAAT,EAAK,YACP,IAAS,WAClB,OAAO,8BAImF,OAAV,0CAEjC,MAAJ,UAAI,GAAI,GAAW,OAAL,MAAV,EAAU,KAAV,EAAU,oCAGzD,UAEA,MAAU,UAAI,GAAI,MACP,MAAP,EAAO,CACP,MAAe,YAAW,EAAK,GAG/B,OAFA,UAAI,GAAI,EAAK,oB1JtGkV,MAAR,QAAwB,MAAR,OA9C3W,MAAM,GAA8B,GAfxB,kB0JyCZ,MAAY,UACC,MAAT,EACA,OAAO,EACP,OAAO,EACP,OAAO,W1JgBwkB,EAAN,EAAM,QAhB1kB,MAfO,EAiBhB,MAAM,GAA8B,GAjBV,6B0JkBtB,M1JlBY,E0JoBZ,OAAO,EACP,OAAO,EAEP,OAAa,EACb,OAAa,GA8GJ,CAAT,EAAS,MACF,KAEP,OAAO,EAAI,GAAS,gCAKxB,UAEA,MAAY,UAAI,GAAO,UACV,MAAT,GACM,GAAN,EAAM,MACC,EAAM,MAEV,gCAGmC,OAAR,UAAI,mCAGlC,UAAY,MAAM,0GCzNyC,OAApB,UAAI,2ICzC/C,QAAO,mCAIP,QAAM,GACN,0EAaA,EA+DyC,OA/Dd,GAC3B,UAAa,MAAM,8GAsCnB,EAwByC,OAxB1B,GACf,EzDTgB,EA8J4E,YA9JvD,KAAK,MyDUtC,GAAK,GACL,yBzDwLmH,EAlM1H,EAkM2F,UAlM/E,EAAG,GyDUR,SAAY,EACZ,UzDX+C,IAAY,IAAI,EAAJ,EyDY3D,EzDZ+C,EA+LsB,UAAU,GyDjLnF,oBAAU,8BAIV,QAAQ,IAAI,WACZ,UAAS,wHAxBT,yBAoC4D,EAAnB,OApCxB,GAAjB,SAAU,0GCjCc,OAAhB,UAAS,kCAKjB,MAAU,KAAK,QAEX,SACI,UAAc,UAElB,IAAQ,KAIA,MAAM,GAAuB,mBAHjC,eACA,UAAS,GAAW,EAEV,iCAMd,iBAEA,OADA,UAAS,KACF,KAEX,QAAa,KAAK,QAEd,WAAsB,aACtB,gBAA4B,MAAM,EAAO,OACjC,EAHZ,iQIpCU,kDAOV,OAAO,iBAA0B,aAAU,EAAM,wCAItB,kBAAY,MAAZ,EAAY,QAAZ,GAA2B,OAA3B,QAA0B,EAA1B,oCAI3B,MAAQ,SAAO,sFAkBX,mBACS,yBAAN,KAAa,IAAU,YAAmB,EAAM,iCAGH,OAAf,uCAGrC,OAAO,UAAmB,gHAKrB,8CAE4C,OAAL,8BAGpC,MAAM,GAA+B,gFAES,OAAd,IAAU,uCAEtB,OAAD,6GAYk5C,MAAM,GAA8B,mEAApC,MAAM,GAA8B,0EAH35C,OAAd,IAAU,uCAEtB,OAAD,mEA7CtB,8CAGL,OAAO,GAAS,EAAO,gYCvBlB,6CACA,6CACA,kDAI+G,SADpH,iBACQ,aAAc,EAAM,OAAc,aAAa,EAAM,QAAa,YAAoB,EAAM,uCAGd,OAAtF,GAAC,GAAW,GAAX,WAAwB,IAAe,GAAV,WAA9B,EAAsD,KAAtD,EAA2D,WAA2B,0CAGxE,UAAd,WAAc,EAAd,KACA,EACc,MAAV,EAA6B,GAAX,WACG,MAArB,EAAO,KAAsB,EAAO,KAC3B,uBAGb,EACQ,UAAU,IAAW,GACV,GAAV,UAAwB,KAAM,IAAK,IAAzB,gBACnB,EAAmB,UAAmB,IAAQ,GAE9C,OAAO,KAAiB,GAAO,iECtBnC,6CAGA,6CAGA,6CAGA,6CAGA,6CAGA,6CAGA,6CAGA,6CAGA,6CAGA,6CAGA,6CAGA,6CAGA,6CAGA,6CAGA,6CAGA,6CAGA,6CAGA,6CAGA,6CAGA,yDAIW,eAAoB,MAApB,aACH,EAAa,O9I3Bg5D,S8I2Bh1D,WAAS,KACrD,cAAE,MAAkB,mBAAT,G9I5B4/D,E8I4Bv9D,SAAW,K9I5B2/D,K8I6B3jE,GAAS,IACrC,SAJG,EAAP,i2DG3CiC,OjJIhC,UiJJ0B,wC9DKgB,iBAAiB,GAmG5C,GAnG4C,GAmG9B,OAnGuC,MAAM,GAClF,UACI,EAAK,aAAW,UAAM,K8DJ2E,O9DqGrD,KAnGmB,kC8DAsD,OnEEhH,UAwNsF,UAxNrE,EAEzB,gCmEAM,OADA,2BAAU,GACH,iCAKP,OADA,oBAAgB,GAAN,GACH,sCAIU,QAAsC,OAAvD,KAAK,GAAY,QAAU,OAAV,EAAiB,EAAY,gCAuC9C,OADA,oBAAgB,GAAN,GACH,kCAqCP,uBAAe,IACf,OADA,UAAe,QAAU,OAAV,GACR,oCAgGM,QAAmB,EAAO,mBnEYR,UAoByD,UAnBhG,EAAG,GmEXc,OAA6B,GACtC,OnE0B8F,EAhBlF,UAgB6D,UAhB5C,GmEX7B,UAAS,EAA4C,EAC9C,qCAyFH,EAAY,EACZ,MAAM,GAA0B,wBAAsB,EAAS,QAG/D,GAAa,iBnEhEsG,EAqFoQ,UArFnS,UAqFoT,EAAG,GmEpB3Y,UAAgB,OAEN,mBAAV,EAAuB,KAAb,QACN,oCADJ,EAAuB,sCA8CS,OAAN,sCAU9B,OADA,UAAS,GACF,sCAoIP,MAAsB,GAAN,GACH,QAAmB,EAAY,EAAU,EAAU,QAEhE,yBACA,OnEnQuH,E9E9MizoB,E8E8Mh1oB,UAqF6xR,EAAY,GmE6Kj4R,SAAoB,EACb,gFnE9Kq1F,YsEZ5vF,OpJvR6yc,E8E8Nhzc,QAAQ,EAqEuwF,yCAAkmB,YsEDx1G,OpJlSy4d,E8E8Nl6d,QAAQ,EAqEm4G,mEsErP19G,GAAd,WACA,MAAY,UAAc,KAAW,GAAN,IAC/B,OAAgB,MAAT,GAAgC,IAAf,EAAM,OAAc,UAAc,YAAmB,GAAN,gCAMvE,OADc,GAAd,WACO,UAAc,KAAW,GAAN,sCAwBtB,EAAa,GAAK,EAAmB,GAAN,GAC/B,MAAM,GAA2B,8BAA4B,EAAU,mBAAwB,GAAN,IAE7F,OAAqB,GAAd,UAA6B,GAAN,GAAkB,EAAY,8CAJlD,oBAAgD,GAAhD,+CAgBN,EAAa,GAAK,EAAmB,GAAN,GAC/B,MAAM,GAA2B,8BAA4B,EAAU,mBAAwB,GAAN,IAE7F,SAAwB,alEshB5B,mBkEthB8B,YAAK,EAAO,KAAe,iDAJ3C,oBAAmD,GAAnD,gDA6CO,GAAZ,MAAY,OAA+B,GAAZ,MAAY,UtEsDpB,KAAN,GAClB,YsEtDA,OpJ1I0tS,E8E8NjoS,QAAQ,EA7BhG,GsErDL,OAAO,QAAQ,EAAO,sCAStB,MAAY,QAAK,EAAL,aACC,MAAT,EAAe,OAAa,GAAN,GAE1B,MAAgB,EAChB,EAAmB,GAAN,GACb,EAAS,QAEL,MAAsB,GAAL,GACjB,EAAG,GAAO,EAAO,EAAW,EAAW,KAAM,MAC7C,EAAG,EAAO,EAAU,IACpB,EAAY,EAAW,KAAM,KAAe,EAA5C,EACA,EAAQ,EAAW,UACd,EAAY,GAAmB,MAAT,GAM/B,OAJI,EAAY,GACZ,EAAG,GAAO,EAAO,EAAW,GAGzB,EAAG,0CA6CV,GAAwB,OrLtGkrQ,cAAQ,EAAR,UqLuG1sQ,EAAgD,IAAT,EArLnC,EAqL0D,GArL1D,EAqL+D,EAAQ,EAAb,GAC9D,E1L1KgD,K0L2KhD,EAAgB,EAEF,gBAAT,MAAS,MACV,EAAO,EAAoD,GAA1C,GAAN,EAAkB,EAAW,EAAM,KAAM,QACpD,EAAY,EAAM,KAAM,KAAe,EAAvC,EAGJ,OADA,EAAO,EAA+C,GAArC,GAAN,EAAkB,EAAiB,GAAN,MACjC,oCA4CsD,OAAxB,UAAc,gJAzT3D,qSAoWuD,OAAZ,UAAM,kCAC4D,OAA3B,e/KumG9E,O6Gx7GmF,UkEiVlB,IAAR,K1L7IjD,KAAG,MAAO,EAAV,Q0L6I0E,iBAAE,WAAK,MAAM,8CACP,OAAtB,OJnTc,EhJJqwf,UgJW3c,II4Sx0e,KAAM,OAApB,oCAK3B,EpJ5TwngB,UoJ4TtmgB,UAAlB,QACN,MAAM,GAA0B,8BAA4B,EAAI,mEADvE,MAAa,sBAcjB,OpJ1Um+hB,OAAa,UAAU,eAAe,KAAK,EAAG,GoJiUxgiB,WAAwB,EAAQ,GACjC,MAAM,GAA0B,8BAA4B,EAAI,oBAEpE,MAAY,EAAO,GACnB,OAAoB,MAAT,EAAoB,KAAU,aAAW,GAAX,iBAAW,IAAX,iGAeU,OAAZ,UAAM,yCACoB,OAAlB,OJjVqB,EhJJg2iB,UgJW3c,II0U15hB,GAAhB,gGArC9C,6CAIA,6CAoCD,OANoB,MAAhB,YACA,UAAe,mBAKA,GAAZ,sCAImH,OAAlH,GAAZ,UAAqB,UAAW,UAAM,OAAW,QAAuB,UAAM,MAG5D,GAAN,SAEK,QpJvXgD,EAsBoxjB,OAAkB,WAAW,KoJgW9zjB,GAC3B,OAEJ,QpJzX4C,EAsBy5jB,OAAkB,WAAW,EAAQ,EAAnB,KoJkWh7jB,GAC/B,MACV,EAAQ,EAAf,EAIL,EAAQ,EAAf,GAZ0F,UAAM,KAAe,EAAnG,EAAsG,8OC9UtH,OADU,GAAV,EAAU,KAAc,GAAI,IACrB,UAAO,wYEuBF,IAAe,qnBC3EgB,8CAE0B,OAAxB,GAAR,UAAkB,EAAM,2GAEV,OAAd,OAAS,oCAES,OMgEf,GNhEU,wCAExB,OAAJ,mEC+BkB,QAAnB,YAAS,UAAM,sCACd,YAAS,UAAM,OAA0B,MAAM,MAAyB,WAA7C,gBAAoD,OAApD,gBAAN,UAAM,4DA6BT,QAAnB,YAAS,UAAM,uCACX,YAAS,UAAM,OAA0B,MAAM,MAAyB,WAA7C,gBAAoD,OAApD,gBAAN,UAAM,gIlDZiB,OAAd,QAAQ,oGAuBK,OAApB,QAAW,GAAN,iCAGD,OAAV,QAAI,gCAewB,OAArB,QAAY,GAAN,iCAGG,OAAf,QAAS,gCAekB,OAArB,QAAY,GAAN,iCAGG,OAAf,QAAS,gCAec,OAAnB,QAAU,GAAN,iCAGG,6ByDoEhD,GAAN,GACA,MAAM,GAAW,uBACV,MACP,OAAO,QAGP,KAAW,MAAX,IACU,GAAN,EAAiB,OAAc,GAAN,EAAiB,MAC1C,OAAO,QACM,GAAN,EAAiB,MACxB,OAAO,KAGP,IACA,EAAiC,GADlB,KAAW,GACJ,GAAI,GAAiB,UAChC,GAAP,EAAkB,MACD,GAAN,GAAoB,KAAS,KAG1B,GAAP,EADG,KAAe,GAAN,EAAe,IACZ,GAAI,OAGrB,GAAN,EAAiB,MACxB,OAAO,QAGP,MACA,OAAiB,GAAN,GACP,MAAS,GAAU,GAAN,IAEO,GAApB,MAAS,GAAI,OAEJ,GAAN,GACP,OAA2B,GAApB,KAAU,GAAN,SAQf,MAAU,KACV,EAAU,EACC,GAAJ,EAAuB,IAAnB,KAGP,MAAuB,GAAJ,GAAuB,GAAN,GACpC,EAAc,KAAO,IAAI,EAAK,KAAO,MAAM,IAI3C,EAAW,KAAO,KAAK,KAAO,IAAI,GAAW,KAAO,KACpD,EAAgB,GAAQ,GAAI,EAAS,KAAO,IAAI,EAAK,EAAO,IAI5D,EAAgB,GAAW,GAC3B,EAA0B,GAAV,EAAmB,GAClB,GAAV,IAAoC,GAAV,EAAsB,IAGnD,EAAsB,GADtB,EAAY,GADZ,GAAW,GAEoB,GAKrB,GAAV,KACA,EAAY,MAGhB,EAAU,GAAJ,EAAQ,GACd,EAAU,GAAJ,EAAa,GAEvB,OAAO,EzD7IsC,MAAO,gCA8BkB,OAAnB,QAAU,GAAN,iCAQG,qByD0Gc,YAApC,KAAoB,GAAX,KAAI,GAAgB,IzD1GpB,MAAO,+BAuBT,OAAT,iDAaiB,OAAV,uDAoBsB,OAAnB,QAAU,gCAQU,OAApB,QAAW,gCAQkB,0ByDiEzE,MAC0B,GAAZ,SACC,IAAX,EACO,EAEH,EAAU,GACH,OAAM,SAAS,EAAV,EAAuB,SAAU,GAAK,EAAf,GAA0B,SAAU,EAAhE,GAEP,OADyB,KAAX,EACT,OAEA,UAAW,EAAU,GAArB,GAAL,EAFW,GzDzE0B,MAAmB,gCAGsB,OAA5C,OAAK,UAAQ,EAAM,KAAK,UAAS,EAAM,mCAGE,OAA1C,OAAK,UAAO,EAAM,KAAK,UAAQ,EAAM,mCAGQ,OAA5C,OAAK,UAAQ,EAAM,KAAK,UAAS,EAAM,kCAG7B,OAA3B,QAAK,WAAW,uCAEQ,OAAR,GAAJ,uCAIe,OAAT,GAAJ,uCACD,OAAH,sCAGgB,OAAV,0CASN,OAAV,2CAEqD,OAAlC,iBAAiB,QAAW,qCAE3B,SAAL,UyD7QX,EAAE,KAAQ,EAAE,6CzD+QsB,OAAxB,GAAL,KAA0B,wLiElRI,OAAF,GAAR,uCAKlD,kCzMIwC,uBAAkC,MAAlC,EAAkC,KAAlC,EAAkC,GAAsB,MAAxD,UAAiE,KAAjE,EyMFpB,UAwDM,IzMevB,SyMzEH,EAEuC,sCAGvC,QAAc,Q/KqBV,GAZQ,KAYK,gBAZL,mBAaA,W+KrBZ,M/KsBC,E+KrBD,EAA0C,GAAP,KAG5B,KzMYT,IAE6B,MAApB,EAoBJ,EApBoD,KAAc,GAoBlE,EApB6H,KAoB7H,EAnBV,KAmBU,EAjBP,KAAY,OAES,MAed,EAf4B,QAE5B,IAGV,KACiB,YAA2B,EAAgB,EAA4B,EACvF,cAC6F,EAAgB,KAAyB,EiCrC/D,EjCwCzB,GAIrC,GAFwC,MAE5B,GAAZ,EAAN,WAIO,qBAIc,MAApB,S2BCuB,KAAhB,GDnBY,KA0CmB,EAAzB,GA1CqB,GCkBkD,EAxBtF,GAAkB,GAAmB,gBA0BzC,ID9BgB,KA2CS,EA3CM,EC6BuD,EAlClF,GAAkB,GAAe,K3B2CG,YAZ5B,EAAU,0HyM2Ba,MAAM,GAA8B,sE7LwCtB,MAAM,GAA8B,0H6LxCT,MAArC,sHC8EV,MAAb,UAAmB,MAAM,gBAC7B,MAnBgB,mBzKvJsB,EAoC8+K,WyKkH3gL,EACoB,UAAU,WACtC,UAAK,GAAmC,UAAU,4GAiBlC,MAAb,UAAmB,MAAM,UAC7B,OAAO,2mDQhKX,MhJrBR,OAAM,OAAQ,MgJyBN,OAFA,MAAgB,EAChB,GAAiB,EAAS,OACnB,KhDcmC,QlB8DlB,0CmElF+B,OAA3D,OAAU,EAAsB,GAAV,GAAoB,6BCT/B,iBAAyB,uBACgC,EnLGb,EAAgB,KmLHH,WAAc,QAAd,EAAc,KAAd,EAAc,uBAApE,SAAyF,MAArB,EAAqB,KnLKlF,GmLLuG,OAAO,KAA/H,MAAU,EACsC,EnLKa,OmLLb,WAAtC,EAAoD,MAAd,EAAc,KAAd,EAAc,qBAApD,QAAyE,OAAO,KAA1F,IACc,EADJ,EACQ,UAAJ,QAAmB,KAAnB,IAHlB,OAMI,8CnLagB,OAAe,WAEtC,oBAAqB,WAAe,GAAY,EAAG,KAE9C,EAAoB,UACH,oBAAqB,YAC/B,oBAEF,iBA1BuC,EA4BjD,SADsB,cACpB,EAAY,kCAEK,KAEX,qBACkB,KAGf,qBAA+B,KAAmC,qBAA+B,KAAoC,qBAAgC,KAAkC,qBAA8B,KAAmC,qBAA+B,KAAoC,qBAAgC,KAAqC,qBAAiC,0BAAgD,KAAkC,eAAyD,MAAkB,OAAa,eAAe,GAAG,cAA+D,IAAgB,OAAiC,UAAiC,IAAgB,MAAgC,UAA+I,GAAxC,O+IWp4B,O/I7BpB,kCyGHL,MAAiB,EACP,IAAM,IAAK,OAAO,EAAZ,KAAhB,GAAU,KAAL,MAAK,UACN,IzGH4C,EAAK,GyGGD,OAAhD,QADJ,IAAU,GAGV,MAAQ,EAAK,GACb,ExE9BK,IAAI,EAAC,YAAa,MwE+BO,MzGFrB,EyGES,OAAY,KACH,EzGFQ,EyGER,OAAU,EAsBrC,OAAiB,EAnBjB,EAAa,EACH,QAAM,IAAK,OAAO,EAAZ,KAAhB,GAAU,KAAL,MAAK,UACN,MzGJ8C,EAAK,GyGKzC,IAAM,IAAI,OAAO,EAAX,KAAhB,GAAU,KAAL,MAAK,UACC,gBAAP,EAAO,GAAgB,EAAI,SAD/B,IAAU,SAFd,IAAU,GAMV,OzGFA,uFoJ3Ba,6BAKF,kLxJDX,aAAO,GAAP,GAAO,KAAP,oCGw7CU,oBAAiD,GAAjD,aAAmE,4BAChE,QAAkB,EAAW,EAAS,UC55C8szD,EoKiBrvzD,KAEuryD,EAAS,EAAW,GrKw4C7syD,qFyGzyCA,qBAA6E,yB1BNlE,aAAa,QAAO,GAAe,EAAa,MACrE,MAAY,UAAwB,G0BMmF,OxGnH45I,E8E8Nl7I,QAAQ,EAAS,G0B5GxG,yC9DmnCP,qBAAwE,GAAxE,aAA4F,GAA5F,+HwFjsC2C,MAC1C,EAAK,GAAO,yGC7DI,WAApB,WACI,OAAM,8DAMiC,WAA3C,WACI,OAAM,GAAgB,EAAS,KAC/B,KAAO,mGEqKgC,MAA3C,WACI,OAAM,KACN,EAAK,GAAO,mGC3K8B,GAAM,KAAN,GAA9C,WACI,KAAO,wFGnB4B,GAAM,EAAN,GAAvC,iNDQyD,UAAK,EAAL,0FYmDZ,UAAK,EAAS,8FAHO,UAAK,EAAS,GAAM,gGsBlBxD,kCAA9B,kFAC8C,GAAM,EAAN,GAA9C,+FAvCiE,KAAM,EAAS,GAAhF,qV3MmJklb,O2I03B1kb,OA59BK,EA49BS,OA59BT,EA69BT,GAAQ,MACM,YAxWA,QAAc,QAAkB,QAAkB,QAyW5D,EACY,EACR,QAEA,2BAEJ,OAAe,sBACf,EAA4B,IAAX,KAA+B,IAAf,GACjC,EAA4B,IAAX,KAAiB,GAAc,EAWvD,OAVW,GAx+BC,EAy+BD,GAAO,GAAO,OAEd,GA3+BC,EA4+BD,GAAO,GAAS,QAEhB,IAAgB,IAAa,KAC7B,GA/+BC,EA++BD,EAAiB,EAAS,EAAa,EAAI,KAAgB,S3Iv9BhE,E4IoUqC,iCD2fa,mBApBjD,QAAY,SAER,QAAe,uBHhvB2C,EAwJqg8B,sBAxJxh8B,GAAU,GAwJ6qsD,MGylB9tsD,KAAQ,GAAR,yCHjvB0D,EAwJgl8B,sBAxJnm8B,GAAU,GAwJ6qsD,MG0lB9tsD,KAAQ,GAAR,mCACQ,GAAc,GAJ1B,SAmB+B,0KQ/3BhC,OAA8B,cAA9B,2BAQ8D,ODElB,qCAwOZ,EAAJ,ECjO/B,KAAuB,oFEjBpB,OAA8B,eAA9B,uCAQ4D,ODEZ,qCAgRlB,EAAJ,ECzQ7B,KAAuB,oFGjBpB,OAA8B,GAA9B,uCAQ8D,OFElB,qCA2RZ,EAAJ,EEpR/B,KAAuB,oFEjBpB,OAA8B,eAA9B,uCAQgE,ODExB,qCAmPN,EAAJ,EC5OjC,KAAuB,8rB/IwG3B,OAAO,KAAgB,GAAT,8C2EoDD,QAAkB,EAAY,EAAU,EAAO,QAC5D,MAAgB,EAAW,EAA3B,KACa,QAAkB,EAAmB,EAAoB,EAAzD,EAAoE,EAAY,QAEzF,GAAkB,IAAgB,GAAkB,GAAlB,KAClC,ErDtJ02J,EqDsJx0J,SAAS,EAAY,GrDtJ62J,EqDuJ54J,IAAI,EAAU,WAElC,IAAW,GAAe,GAAqB,GACjC,WAAd,EAAsB,KAAjB,MAAS,UACV,EAAY,EAAoB,EAAhC,GAAyC,EAAO,EAAa,EAApB,SAD7C,EAAsB,QAIR,QAAY,EAAZ,KAAqB,GAAnC,KAAK,MAAS,WACV,EAAY,EAAoB,EAAhC,GAAyC,EAAO,EAAa,EAApB,SADV,GAAnC,wChFy1FR,+CM5hGH,EAAO,GAAK,EAAO,GA2BZ,MAAM,GAAiC,GgH5BnC,IAAQ,EACP,aAAW,EAAI,aAAW,EAAI,8BAE9B,QAAM,EAAI,gCtHwvGnB,CAAoB,EAAM,MACtB,UAAwB,OACxB,MAAe,EAAK,IAEpB,EAAa,IADQ,EAAW,EAAX,IAAyC,IAAnB,EAAW,EAAX,GAAsB,EAAO,GAAxE,GAEA,EAAY,SACI,GAAT,KAAiB,GAAjB,CACH,QAAsB,GAAL,EAAkB,EAAW,EAAxB,MAClB,EAAa,IAAS,EAAgB,QXpnGlD,MAAW,GA8Twh6F,GK7Trh6F,OAAd,EAI+40G,KAJ140G,QAAS,UMonGwB,MAnmGsB,EAmmGZ,EAAV,GXpnGd,EAAK,EAAI,SKAjC,EAI+40G,GLnBlz0G,EAgBtF,EWmnGC,EAAO,EAAI,GACX,IAAS,EAAT,EAEJ,OAAO,MAEX,MAAa,KRnvGG,6B8HTX,EAAS,IACP,MAAkB,gGADA,yB9HoBy77G,CAAiB,MAAY,EAAM,EAAM,GAA8B,GAXzg8G,QAAX,MAAW,MQqvGZ,EAAO,EA1uG+D,GA4uG1E,OAAO,EAhPA,GAAS,EAAM,GAAuB,mD0B/oF7C,yB6JtXA,E5JAe,E4JCf,E5JAU,K4JEN,IAAM,EAAG,OAAO,KAEX,MAAL,GAAkB,MAAL,IAAc,GAAW,IAAM,EAAE,QAAU,EAAE,OAAQ,OAAO,EAEnE,QAAU,EAAF,EAAE,UAApB,EAAU,KAAL,MAAK,cACD,GAAO,EAAE,GAAI,EAAE,IAChB,OAAO,QAFf,EAAU,GAKV,OAAO,E7J0WA,GAAsB,yBAkM7B,uB6JxiBA,E5JF+B,K4JGtB,MAAL,EAAW,OAAO,EAEtB,MAAa,EAEH,IAAU,EAAF,EAAE,UAApB,EAAU,KAAL,MAAK,UACN,EAAS,KAAS,IAAK,GAAS,EAAE,IAAlC,QADJ,EAAU,GAIV,OAAO,E7J+hBA,iCpB1co4zC,GAAW,GA1Gl5zC,MAAM,GAAiC,GoBooClB,2BAAyB,EAAO,MACzD,OAAO,GAAS,EAAM,eAAW,iCpB3hCws2C,GAAW,GA1Ghv2C,MAAM,GAAiC,GoBgqClB,2BAAyB,EAAO,M0G3oCm+6C,SAAgB,EAAM,EAAtB,a1G4oC5h7C,O0G/oCA,SAGgh7C,YAFzg7C,+B9HuF8x6C,GAAW,GA1G5y6C,MAAM,GAAiC,GoB0sClB,2BAAyB,EAAO,M0GrrCki/C,SAAgB,EAAM,GAAS,G1GsrC1n/C,O0GzrCA,SAG4k/C,eAFrk/C,+B9HuF2g8C,GAAW,GA1Gzh8C,MAAM,GAAiC,GoBwtClB,2BAAyB,EAAO,M0GnsC4wgD,SAAS,EAAM,GAAU,I1GosC91gD,O0GvsCA,SAGyzgD,YAFlzgD,+B9HuFktyC,GAAW,GA1GhuyC,MAAM,GAAiC,GoBsnClB,2BAAyB,EAAO,MACzD,OAAO,GAAS,EAAM,cAAU,iCpB7gCuk5C,GAAW,GA1G9m5C,MAAM,GAAiC,GoB4rClB,2BAAyB,EAAO,MACzD,OAAO,GAAS,EAAM,iBAAY,iCpBnlCg53C,GAAW,GA1Gz73C,MAAM,GAAiC,GoB8qClB,2BAAyB,EAAO,MACzD,OAAO,GAAS,EAAM,iBAAW,6CpBrkCyh1C,GAAW,GA1Gjk1C,MAAM,GAAiC,GoBkpClB,2BAAyB,EAAO,MACzD,OAAO,GAAS,EAAM,eAAS,sF1Bh6B/B,OAAW,MAAW,KAAU,IAAK,+BApB/B,EACF,WACQ,MACO,KAEA,IAAK,GAGhB,MAAe,aACV,EAAS,IAEP,EAAS,IADL,6CA3Eb,EACF,IAAW,OAAY,GAAL,GAEd,MAAe,UACV,EAAS,IACV,MAAM,GAAwB,wBAClC,OAAO,EAAS,8BoH3JxB,MAAa,KACG,eACL,GAAP,EADY,OAGhB,OAAO,0BtHySgE,2BiNvUnE,MACA,OAAO,EAAK,GAAqB,OjNmTrC,EA/SgC,EA+SpB,GA9SX,MA+SY,MAAT,IAhT4B,EAgTV,GA/SrB,GAAO,MAAM,GAAwB,OAAK,EAAG,2BiNH9C,OjNsTI,MAAO,GAAP,GAAO,KAAP,KAc0C,GAAqB,qCkE83OrC,OAAtB,OAAS,cAsMD,OAAR,SAAO,EAAC,EAtMI,2BA1CU,OAAtB,OAAS,EAAG,6BA8NJ,OAAR,SAAO,EAAC,gDhEj5OhB,OAAW,MAAW,KAAU,IAAK,MAAO,EAAZ,4BA5F5B,MACA,MAAM,GAAwB,kBAClC,OAAO,IAAK,yCXtV8F,OAArD,EAAS,OAAO,EAAY,GAAT,GAAuB,2BStBR,OAAnF,EAAM,OAAO,KAAG,EA6gBA,KA7gBY,GAA0B,EAAM,QA6gBrC,GJta68e,GIvG35e,iD4BsjD7E,yBgBhjDA,EfbokB,EAAM,QAAmC,Eec7mB,OAA4B,EAAO,OAAO,EAAW,IAArD,OAQsB,IAPR,EAOL,SAPY,EAQjB,OARU,EAQS,YAPvB,MAAiB,EAAM,OACP,gBAAX,MAAW,MAAmB,YAAP,EAAO,GAAW,EAC9C,OAAO,EhB2iDA,CAAoB,EAAM,2BsLn/CkB,kB5FzFmD,UAA1C,MAAuB,EAAK,IAAU,K4FyF/C,CAAT,KAAiC,MAAxB,EAAwB,KAAM,EAAK,IAAnC,EAA8B,EAAjF,EAAa,GAA6B,QAA2D,KAAK,IAAO,GAAvE,GAG1C,OAFA,EAAO,GAAO,GACP,GAAP,EAAc,GACP,0B3MgJiG,8BAUpG,MACA,OAAoC,MAA5B,EAA4B,IAA5B,EAA4B,KAAc,EAAW,GAEjE,MAAsB,EACJ,IAAG,WAArB,GAAkB,KAAb,MAAa,UACd,MAAc,IAAK,GACf,EAAU,KAAY,IAGtB,IAAc,GACd,KAAK,EAAc,GAEvB,eARJ,IAAkB,MAUd,EAAa,OACO,YAAiB,OAAjB,GAApB,KAAK,MAAe,WAChB,KAAS,SADb,IAAoB,GAGpB,OAAO,EAEP,OAAO,EA9B+D,GAAc,GAAW,4BA5BlD,MAAW,MAAM,GAAwB,kBAAiC,OAAX,KAAS,4BAczE,MAAW,MAAM,GAAwB,kBAAyC,OAAnB,KAAS,6BTnNlB,OAAnD,EAAS,OAAO,coEi2TnE,OAAa,eACT,SAAK,UACL,SAAK,GAAM,EAAK,mBACR,KAAa,GAA6B,YpEp2TyB,CAAT,GAAsB,2BIkmB5F,OAAmB,IAAR,MAAW,IAAK,GAAQ,+CgF/d/B,EAAK,KAAQ,EAAG,YAEpB,MAAY,GAAY,mC4EvIG,MAA3B,ElKQ8B,OkKR9B,EACA,GAA4B,EAE5B,MjIGyJ,GiIA3I,OAAd,EAAsB,OAAjB,MAAS,UjIA2V,EiIA5T,KAAK,SAAlD,EAAsB,KACtB,MAAiB,GjID2b,EiIE1b,KAAK,GACT,QAAc,EAAN,EAAM,UAA5B,EAAc,KAAT,MAAS,UACV,MAAQ,EAAM,EAAQ,EAAd,GACR,EAAQ,EAAM,OACH,EAAN,KAAmB,EAAN,IAAY,GAAK,EAAG,OAAO,QAHjD,EAAc,GAMd,OADA,GAA4B,GACrB,EAxCH,IACA,SAAiB,gBAA2B,OAAX,EAAW,QAAQ,EAAG,KjIGgB,EiIFrD,KAAK,8B/HwDV,EAAN,EAAM,O+HZjB,EAAa,GAAU,E/HjCwC,GAAiB,MAAU,GAAO,M+HiC3D,EAAO,EAAc,MACvD,IAAW,EAAX,CACU,WAAV,GAAiB,KAAZ,MAAK,UAAqB,EAAM,GAAK,EAAO,SAAjD,IAAiB,IA5CjB,CjIEyB,EiIFe,EAAS,GAAN,GAAiB,S5E6JhE,CAAc,EAAO,GAEX,QAAc,EAAN,EAAM,UAAxB,EAAU,KAAL,MAAK,UACN,KAAK,EAAK,EAAM,UADpB,EAAU,GATV,CAAgB,EAAM,6BhFi5BtB,MAAa,GAAa,OAC1B,EAAY,EACI,gBAAX,MAAW,MACL,YAAP,EAAO,GAAW,EACtB,OAAO,4BAwCP,MAAa,iBAAW,OACxB,EAAY,EACI,gBAAX,MAAW,MACL,YAAP,EAAO,GAAW,EACtB,OAAO,wBA6KP,OAAO,KAAa,GAAuB,KAAwB,gCAtKnE,MAAa,eAAS,OACtB,EAAY,EACI,gBAAX,MAAW,MACL,YAAP,EAAO,GAAW,EACtB,OAAO,8BAyKH,OACa,yBACT,IAAK,gBACL,IAAK,MAAW,MAAc,IAAI,GAAQ,MAAW,qBACxC,GAAL,GAHZ,SAMJ,OAA4B,yBAOxB,MACY,GAAL,GACJ,KAAa,MATR,CAAL,0BgEk7QP,OAAa,eACT,SAAK,UACL,SAAK,GAAO,EAAK,+BAiGrB,OAAO,e3ErwT6F,OAA1C,OAAkB,GAAkB,G2EqwTxE,CAAL,IAhGA,CAAL,gClExrSR,OACa,yBACT,IAAK,gBACL,OAAe,MAAc,IAAK,GAAQ,MAAW,IA9bqD,GJanH,QsFT8D,KtFS9B,QIb0F,KJrBlH,kBIodS,KAAM,GAAgC,QAHlD,iBJ/aL,EIqbC,mBAuOwD,QACxD,IADwD,MACnD,KAEG,EACX,SA3OuC,CAA7B,KAAM,qDkEq8Vb,OAAO,UAAiB,aAAE,qD7Dv6WtB,IAAM,EAAU,EACX,MAAL,GAAkB,EACb,MAAL,EAAkB,EAGQ,SAAtB,IuIiQQ,YAFhB,WvI/PQ,KuIkQS,YAAT,GACA,GAAS,IACT,GAAY,EAAyB,avIpQrC,EAAsB,KAAU,SuI+PxC,mGuEtRQ,0BAEW,EAAI,GAAS,KAAK,MAAd,OAAoB,EAAI,GAAQ,0BAAZ,cAA6B,KAAhE,SAGJ,OAAW,OAA4B,KAAK,mBAAe,kCAOvD,gBACW,EAAI,GAAS,KAAK,OAA6B,MAArB,EAAI,GAAQ,MAAjD,KAA2F,KAEpF,OAA4B,EAAvC,KAAuE,yK5L2DxB,KAAnD,KAA6B,EAAU,ID/E3B,KA2CS,EAAb,KChDR,KAAkB,GAAe,sC6IwC5B,GAeE,GAAQ,yBuB/DmE,OAAvC,OAAa,UAAU,SAAS,KAAK,+KKnBhF,YAAO,GAAuB,EAAM,EAAG,EAAM,EAAY,EAAS,EAAY,4EV+DjF,OAJgD,4OQnE4D,OhIRnG,8Ha6LF,wBiD2JJ,EAAM,IAAa,MAAM,GAA0B,qCAAmC,GAIzF,OAHG,EAAM,KAAW,SAAa,KAAQ,EAAM,KAAO,EAAM,KAAO,EAAlC,GAC9B,EAAM,KAAY,SAAa,KAAQ,EAAM,KAAQ,EAAtB,EAAyB,EAAM,MAAQ,IAC9D,OjD9JU,CAAP,EAAe,kCAEhB,GAAyB,sCAk9BnC,yByI93BK,EAAY,MAAM,GAA0B,+BAA1B,GAAuD,GAAI,KzI63BlF,CAAoB,EAAO,EAAG,GACR,QAAgB,OAAO,OAAU,EAAK,KAAO,EAAG,EAAhD,GAA2D,6GnDx2BjF,MAAe,UACV,EAAS,IACV,OAAO,SACX,MAAW,EAAS,IACb,EAAS,KACZ,EAAO,EAAS,IACpB,OAAO,wB+FvRsH,ORL1C,uCsBqDvE,MAAR,EAAc,OAAgB,MAAT,KACZ,MAAT,EAAe,OAAO,MACrB,EAAY,OAAO,GAAQ,KAE5B,EAAK,SAAU,EAAM,OAAQ,OAAO,EAE1B,QAAa,EAAL,EAAK,UAA3B,EAAc,KAAT,MAAS,cAGI,GAFC,KAAK,GACJ,KAAM,GACU,GAC5B,OAAO,QAJf,EAAc,GAQd,OAAO,2CzB4HH,iBAGA,0BuF9JJ,OAA0B,oBAkB1B,ErFzB0C,GAC8oE,GqFyBxrE,EAAY,GAAyB,UAAmB,GAExD,EAAwB,UAAkB,GAC1C,GAAe,EAAoB,UAAmB,GAAvC,GAAgD,EAA/D,EACA,EAAkB,UAAqB,MAEnC,EAAK,EACL,OAAO,EAGX,MAA2B,EAAT,KAEC,IAAf,EAAe,CACf,MAAY,EACZ,EAAgB,EACN,OAAV,GAAa,QAAH,SACN,KAAc,GAAS,EAAW,KAAlC,GACgB,EACZ,OAAO,MAGX,KAAc,IADd,IAAS,EAAT,GACkC,KAAlC,GACgB,EACZ,OAAO,EAEX,IAAS,EAAT,QAVJ,GAAa,GAYb,OAAO,KAGP,GAAQ,EACR,OAAO,EAGX,MAAgB,EAAK,EAArB,EAEA,OAAQ,GAAU,KADF,GAAQ,GAAM,EAAW,EAAzC,EAAgD,GACd,EAvD3B,iBClCP,MAAY,GAAiC,UAAiB,GAC9D,OAAO,GAAS,GAAK,GAAsB,UAAgB,GAAwB,UAAiB,GAA/E,GDiCe,CrFPM,GACynD,IFuK5pD,0BImDM,yBACT,EAAK,MAAM,GAAwB,gCACnC,IAAK,KAAK,iBACF,MAAM,GAA0B,4CAH5C,+BNtDiD,OAAf,4BjChMqD,OAAlC,MAAR,GAAqC,S5CMrF,E8EsLiE,wC/GhFjE,GiCnFouF,E4CoDpuF,OADQ,GAHgB,KAGC,GAAL,IAAsB,IAHlB,GAG8B,GAAL,G7E2BR,KAAV,oF2JrEK,oBAyEgC,qBAWvD,MAAK,GAAL,EAAkB,MAAlB,+BAA4B,OAAO,KAA7C,MAAU,OP/FqE,MF8QvC,WE7P0B,GA0De,EA1DQ,GO+ErF,EAA8B,KT+Oc,GApQO,GSSf,GAAsB,IAzE7B,IAA0C,OAA1C,+BAAmB,GAAkB,KAArC,EAA0C,wBAmC5C,oBAkF+B,OAAxB,KAAqB,IAlF5B,IAAyC,OAAzC,+BAAkB,GAAkB,KAApC,EAAyC,oCAiBvC,cAA0C,OAA1C,+BAAmB,GAAkB,KAArC,EAA0C,wBAlCxC,oBA6EiC,qBAW1D,MAAK,GAAL,EAAkB,MAAlB,+BAA4B,OAAO,KAA7C,MAAU,OP7GsE,MKuQxC,aL9P0B,GA6Ec,EA7ES,GOqGrF,EAA+B,KF0NgB,GAlP1B,GEYiB,GAAuB,IA7E9B,IAA2C,OAA3C,+BAAoB,GAAkB,KAAtC,EAA2C,wBrBVxB,yBAMtD,kB3DkzCmE,OAAR,GAAf,O2DlzChC,IhIurBI,OA2FA,EApvBsC,EAovBtC,YAAX,MAAW,MAAU,GAAU,IAAU,EAAY,EAAI,OApvBO,MAqvB9D,EAmrBM,KAAa,KAAwB,KAuErC,EAvEN,EAuEM,YAAR,MAAQ,MACT,EAAY,EAAI,GAAU,QgI5gDR,kBhIu7EtB,MAAe,UACV,EAAS,IAAW,OAAO,SAChC,MAAU,EAAS,IACZ,EAAS,MACZ,MAAQ,EAAS,IACb,KAAM,GAAN,IAAS,EAAM,GAEvB,OAAO,EgI37EF,ChI0gDE,GgI7gDP,EAAsB,QAGF,EAHE,EAKA,WAAS,KAAU,OAAS,EAAM,KAAlC,EAAwC,cA4BjE,O3D8L6D,IAAV,GA9LpD,G2DFwB,MACZ,cAAkB,SAAS,UA3B2B,CAAkB,GAmChF,EAAgB,GAnCT,GhIm9CoB,OAmS3B,EAAY,EACC,EA9tDG,EA8tDH,YAAR,MAAQ,MAAgC,YAAnB,eAAmB,GgIltD3B,IAQq19C,OARv09C,IAAoB,GAQuqxD,KALntxD,SAA0B,OAxCyE,KA6CgnxD,EA7C3mxD,IAwC9E,KtIY0B,EsIZpD,IAKmtxD,EALntxD,IAFA,KhIu7C2B,MgIx7C/B,EhIw7C0D,MAA3B,IN74C4n8C,EAAY,EAA7C,GA9C9n8C,MsIlCA,qChIu1GG,oBAAiF,MAAjF,aAA6G,IAA7G,aAAyI,IAAzI,eAA0J,GAA1J,cAAyL,OAAzL,cAAmO,MAAnO,oBgI7yGE,ChIo7CE,EgIp7CK,GAAc,GAAsB,KAA3C,2BACA,WAxDgC,GAAc,8B3DcnD,EAAiB,EACjB,EAAe,GAgG4B,GAhGnB,EAAxB,EACA,GAAiB,SAEV,GAAc,IACjB,IACA,EAAY,GAAU,GA2FiB,EA5FtB,EAA4B,EAAhB,OAGxB,OAMI,EACD,QAEA,IAAY,EAAZ,OARC,EAGD,IAAc,EAAd,EAFA,GAAa,EAuF0C,OA5E5D,GA4EoC,EA5ExB,EAAY,EAAW,EAAnC,wNqHjFP,MAAM,oKVeF,IAAS,EAAT,KACA,ErJIc,EACnB,YqJJuB,MAAd,ErJM+B,EqJL/B,YAA+B,GAAc,KAE7C,EAAW,EAAI,0BnJJkE,OFA3D,wB0Ia9B,MAAQ,EAMR,OADW,OADX,GAAW,UADX,GAAW,WADX,GAAW,WADX,GAAW,WAAN,IAAmC,YAAd,IAAO,EAAP,IAA1B,KACwC,WAAd,IAAO,EAAP,IAA1B,KACwC,WAAd,IAAO,EAAP,IAA1B,KACwC,UAAd,IAAO,EAAP,IAA1B,KAC0B,IAAO,GAA7B,GAAJ,wBAiGM,QAAU,EAAK,KAGpB,OAFG,cAjGL,GAiG+B,GAAL,QAAK,KACd,GAAJ,GACX,kD5BnEuD,YAAb,IAA3C,GAA6B,OAAO,GAAO,2B4BrDyB,yBAV6C,YAApE,IAF5B,OAE4B,UAAoC,KAAd,KAA8C,EAUrE,MAAiB,4BAKM,yBAV2C,YAAlE,IAQuC,OARvC,UAAmC,KAanF,KAbkH,EAUnE,kBApBQ,QAAZ,GAAQ,GAoBa,4B3HTmD,OAA3B,OAAe,yBANhB,OAA3B,OAAe,wBgJPpB,MAAM,uCVSzD,QAAQ,kBAPqF,OAAd,IAAxB,IAAwB,GAAS,GAOrE,CAAL,kCXiFd,GAAI,EAA2C,YAA/C,EAAiB,KApDlB,GAoDuC,EAArB,GAAjB,0BAgB+C,YAA/C,IApED,GAoEqB,EAApB,GAAiC,IAAK,EAAtC,wBqBhHA,MAAM,GAAsC,qBAAmB,EAAI,w9EyBwJvB,OAAL,gBAMG,OAAL,gBAsBuB,OAAX,oBCmEf,OAA9B,EAAa,IAAY,oBAsGmB,OAAL,iBA+D4B,OAAF,2BA+G9D,oBAIiB,MAJjB,qECtQyC,OAA1B,SAAe,oBAQjC,EAAW,IAAU,KAAM,iBChQuD,OAAtB,mFCkE1D,SAPF,GAAuB,wDAAvB,wCAC2B,SAAa,MAApC,MAAS,OAAT,yBAGI,GAAuB,qCAAoC,QAAU,KAAW,SAAhF,mBAFJ,MACK,QADL,mBAIA,QAAc,cAN+D,IAAjF,KAOc,QCNlB,OAAkB,EAAM,2BDdqD,cAArC,aAUK,2BAEO,gBAAuC,6BA4B3F,cAAgC,EAAS,GAA4D,OAArG,sBEI0B,QAAS,KAAnC,GAA0B,QAA1B,GAAmD,EAAzB,EAAoC,GFJX,IAA0B,GAAc,WAA3F,EAAqG,qBAPrG,cAAgC,EAAS,GAA6D,OAAtG,QAAuD,GAA0B,EAAW,WAA5F,EAAsG,uEGtD/D,GAAM,EAAN,GAAvC,+HA6EqC,GAAuB,EAAvB,gEApCjC,UACA,EAC0B,IAAtB,EAAc,IAAY,UAAS,IAAc,GAAG,4CAA0C,EAAU,wBACtG,UAAQ,EAAa,4CAA0C,EAAU,2BAC/E,gGAxCsD,GAAM,EAAS,EAAf,GAA1D,YAqBA,CAAuB,EAAS,EAAhC,MAMyC,wCxH4FzC,kByHvJA,QAAK,GAAL,EAAK,OAAL,aAAkE,EhMCtE,GADuG,GgMAjC,YAAW,MAAX,EAAW,KAAX,EAAW,iCAA/B,cAA9C,EAA4G,SzHuJ5G,IAAqD,OAArD,+B0HpFA,QAAoB,GAAwB,yBAA5C,EAA4C,K1HoFhB,IAA5B,8BAxDsB,WlGy5CT,KAAa,GAl2CX,EAk2CmC,KAuErC,EAz6CE,EAy6CF,YAAR,MkG/9CmB,OlG+9CX,OACT,EAAY,EAAI,KACb,eAzEM,KAAa,GAl2C+C,EAk2CvB,KAuErC,EAz6C4D,EAy6C5D,YAAR,MkG79CmB,OlG69CX,UkG79CW,QAAwB,OAAO,KAA/B,IlG89CpB,EAAY,EAAI,KACb,EkG79CP,OALA,qBA+DO,sBAcM,aACT,kBAAmB,kBAAa,kBAAoB,mBAAoB,OAAoB,IAAY,YACxG,mBAAkB,OAAkB,IAAY,YAChD,kBAAY,kBAAmB,mBAAwB,OAAwB,IAAY,YAC3F,mBAAkB,OAAkB,IAAY,GAAI,IAAY,YAChE,kBAAY,kBAAmB,mBAAwB,OACnD,IAAY,GACZ,IAAY,YAEhB,mBAAuC,IAAY,KAAI,IAAY,K2HhKV,OAAmB,EAAe,W3HiK3F,iC2H5KkG,OAA9C,OAAe,EAAe,G3H4KnE,CAAe,IAAY,GAAI,IAAY,YAC1D,mBAAkC,IAAY,KAAI,IAAY,KAAI,IAAY,K2HxJrB,OAAiB,EAAa,EAAa,iB3H0J3E,EyH5IuC,kBzH4IxD,OACgB,IAAc,GAAG,OAAjC,kBAAgB,EAAhB,OAA4D,IAAY,K2HJ7D,OAA+B,EAAQ,U3HMlD,mCAhBZ,SAdO,GAA8B,EAAO,GAA5C,OAAO,sBAKP,OAAO,KlB7J2D,GA6O+X,GkBhFtZ,SALiB,GAA+B,GAApF,mBAxHP,aAAsB,GAAuC,GACf,OAD9C,oByHfA,MAAM,GACD,yBAAwB,OAAxB,gNzHeA,CADsE,GAAL,MAAtE,EAC8C,mBAUqB,OAAnE,KAAsB,GAAuC,0BAO7D,MAAqB,GAAL,GAChB,EAAiB,EAAK,KlGuCpB,EAAL,EAAK,KAw5CW,KAAa,KAAwB,KAuErC,EAvEN,EAuEM,YAAR,MMz9C0B,ENy9ClB,MMz9CkB,SA1DlB,MAAT,EAEA,MAAM,GAAiC,G4FaL,+DAA6D,IAAxF,E5FXA,ENghDP,EAAY,EAAI,GkGtgDpB,UlGugDO,KkGpgDoB,EAAc,kC4H9B7B,UAzBR,GA4B2B,IAAI,OAHvB,CACU,YAhClB,GAgCkB,IAAI,KAAQ,MAAZ,EAAY,K3H2BgD,MApBjD,GAoBiD,GApBjD,EAoBiD,IAAtB,EAAsB,K2H5BlF,S5H+BI,CAAqB,EAAW,QAEhC,sC4HjBQ,UA1BR,GA8BwC,IAAI,EAAO,OAJ3C,aAnCR,GAqC+B,IAAI,EAAO,4BAA1C,OAFJ,S5HiBuB,CAAiC,EAAW,EAAe,MAC1E,Y9ElCA,GAiEJ,KAjEiB,gBACL,GAgEZ,oBAhEY,SACX,UA2ID,MADyB,GAtE5B,GACL,OAEE,WAoEc,GAvEX,oBAuEW,c8EpGM,MAXlB,ExGwCwC,OwGxCxC,KAcuD,EAAc,MACjE,MAAc,EAAd,kBAEkB,WAAyB,EAAe,MAAxC,QAA2E,OAAO,KAApG,MAAkB,EAElB,EAAU,GAAV,EAAuC,EAAe,KAAtD,QAAsE,MAClE,EACA,GAFJ,EALJ,MAUO,EAVP,EAUA,OAA0C,SAAb,MAAtB,EAAsB,KC1BqD,MAuDjD,GAvDiD,GAuDjD,EAvDiD,IAAtB,EAAsB,MD0BxC,0BA8GtC,EAAyB,MAC7B,GAAO,EAAP,IAAO,EAAP,KA/G0C,CAAb,EAAsB,kB4HrFN,eAAH,uBAMkB,SAAH,GAAuB,QAApB,EAAoB,QAApB,GAA8B,aAAV,EAAU,K3HqDR,MAtDtD,GAsDsD,GAtDtD,EAsDsD,IAAtB,EAAsB,sB2H7C5E,eAAN,EAAmC,EAD6C,GAArC,GAAzB,KAAkD,GAAO,2BAS3E,IACM,KAAN,EAAmC,EAD6C,GAArC,GAAzB,KAAkD,GAAO,KACnB,QAAlD,EAAkD,QAAlD,GAA4D,aAAV,EAAU,K3HoCgB,MA7BjF,GA6BiF,GA7BjF,EA6BiF,IAAtB,EAAsB,8B2H3DtD,GAAY,MAMH,GAAkB,MAMd,GAAwB,MASf,GAA8B,oBDrB5E,OAAW,QAAW,SAAa,aAA8B,OAAmB,kBAmKZ,2BA/HN,uCAOI,wCA4FE,uCAMI,wCAjBP,uCAMI,wCAzBP,uCAMI,wCAsGD,yCA9FI,wCAjCV,uCAMI,wCAoHD,yCA5GI,wCAjCD,uCAMI,wCAsJD,yCA9II,wCAjCV,uCAMI,wCAoKD,yCA5JI,wCAoFE,uCAMI,wCAMvB,0CAyEsB,0CLjKlF,aACA,aAE0B,WAAG,WAAS,MAAW,IAAG,WAAO,KAAW,mBA/CxD,QAIb,OAHG,gBAAwB,QACxB,gBAA2C,GAAT,SAC1B,gDLsOuB,wEYhJhC,oBAIgD,yB1JgLC,GAxJA,G/D9HhD,MAAM,GAAiC,GyNwGP,yCzNEi4D,WA1Gj6D,MAAM,GAAiC,GyNyGH,4EACxC,MAAgB,OAA6B,GAE7C,OADU,EAAV,GACO,OAAqB,EAAY,EAAM,EAAU,MAAa,IAAqB,GAAf,GAAyB,GAVjG,yBAkGH,aAUiC,cAMU,gBAEM,gBACH,gBACmB,gBACA,gBACT,uCA7MrD,oBAGsD,uB1JsQL,GAnQW,G/DnB3D,MAAM,GAAiC,GyNkBP,sCACpC,MAAgB,OAA6B,GAE7C,OADU,EAAV,GACO,OACH,EADG,KAGH,EAAU,MAAa,IACR,GAAf,GACA,GAbD,uBA8Q2B,UAAH,mD5L3N0tS,QA1D7pS,4B4LqQxF,aACA,aACA,aAKqD,WAAR,EAAQ,MACQ,cAArB,EAAQ,a/IjD2zH,EAAR,EAAQ,MA7OxxH,EAAjB,GAAY,G+IgSf,aACsB,cAA3B,EAAQ,e/IpDm/H,EAAR,EAAQ,MA7Ol+H,EAAjB,GAAY,G+IkSO,aACX,cAA3B,EAAQ,iB/N6GR,KAAb,YAkmCrB,KAAa,KAAwB,KAuErC,EAvEN,EAuEM,YAAR,QAAQ,M+NrxC6D,KA0B2ruC,EA1BxruC,KA0BwruC,EA1B5quC,M/NsxCrF,EAAY,EAAI,GAxEpB,EAyEO,E+NvxC0F,cAA7B,GACY,cAAf,GACnC,iBAAK,gBAAE,YAAa,2BArLE,2BAtFM,iCCbrC,mCAaM,yFAkMJ,mCAaF,4BAlBa,mCApJV,mCAOH,mCAOA,mCAOC,mCAOF,mCAOC,mCAOC,mCAOC,mCAOA,mEA9DS,mCA8GV,0EAaD,0EAUD,0EAUG,4BAxCS,gFZ4GQ,cAMC,kIK7MzC,MAAa,oBAAmB,EAAU,KAAW,IACrD,MAAM,GACkB,MAAhB,EACC,0FAAwF,EAExF,UAAQ,EAAY,qDAAmD,EAAvE,kGQ1FmC,kBAA2B,uBAA3B,oCCyGmB,aAAmB,kBAQrB,aAAmB,kBAJb,aAAmB,oBAYtF,aAlC+B,6BAkCE,EAAS,oBAH1C,aAhCsC,mCAgCE,EAAS,kBAjBU,aAAmB,kBAJ9E,aAAmB,GACe,WAAG,EAAU,MAAW,uBAtGrB,aAEH,gCAoClC,aACA,aACA,aAGkC,4BC8J2B,aAA+C,GAChE,kBAAmB,EAAQ,sBA2BvE,aAA4C,GACA,kBAAiB,EAAY,sBAfzE,aAAkD,GACN,kBAAuB,EAAY,wBA2C/E,aAAkD,EAAa,GAEnB,kBAAiB,EAAY,MAAY,EAAY,wBAlBjG,aAAwD,EAAa,GAEzB,kBAAuB,EAAY,MAAY,EAAY,wBAtEvG,aAAsE,GAFtE,aAG4C,kBAAe,EAAY,sBAkBqB,aAAkC,oBAtH9H,cAFA,aACA,4BA5BA,cADA,2CAwFA,aAAkD,GACA,kBAAyB,EAAoB,2CCvH5D,cAAU,2DAjBjD,KAGI,aAGA,aAeI,MAAoB,WAAW,cAC3B,GAD8B,sBAEb,cAKb,iBAAQ,GALZ,aAOA,WAAiB,gBAEjB,uBACA,yBAgCJ,OAAkB,EAAgB,EAAjB,KAAyB,EAA1C,OAEA,MAAyB,KACzB,EAAgB,GAAU,GAM1B,OAJ0B,IAAtB,IAEA,EAAoB,GAAV,IAAuB,iBAAQ,IAEtC,EAzCc,GAAsB,oBCF7C,OAbF,OAAsB,EAAM,4BAb5B,aAAgC,EAAM,EAAqB,GAE1B,+DCFP,cAC0B,+BCAb,aACK,kBAA4B,WAAW,sBA8BnF,aAGkC,sBAAS,MAAc,IACR,cAAT,yECnBpC,UAAsB,EAAtB,2CACI,QAAc,cADsC,IAAxD,qBAdqD,aAWZ,2BAEA,gBAAuC,oErI4BhF,MAAqB,OAAO,QAChC,MAAa,GAAgB,SACnB,IAAQ,aAAlB,EAAU,KAAL,MAAK,U9FlB0G,YAC9G,GADoG,EAQrG,EAAI,S8FUT,EAAU,GAGV,OAAO,sBAmCyB,MAAQ,UACxC,uBACA,kBAYQ,MAAM,GAA8B,GAXjC,2BAAyB,EAAzB,iFAC6C,EAD7C,iGAEwC,IAS3C,MAAM,GAA8B,GAP7B,4CAA0C,UANzC,EAOJ,gBARc,EAQd,+BAhCZ,MAAmC,OzGgEnC,ELyGe,MA5LQ,KA4LK,IKzGW,KAtE7B,GyGMyB,KnBjD+B,GmBiDlE,GAA2E,OAA3E,cAPI,GAOJ,2BxEhE8C,mB8MwBS,UAAH,0DtMajD,QALqF,oBsMA1D,UAAH,mDtMmB8D,QAnBD,wBsM1BxF,aACA,aACA,aAKoB,sBACA,IAAM,aAAN,E5MI2C,GAAiB,MAAlE,GAAmF,M4MJ7E,MAAwB,kBAAxB,KAAwB,kBAAxB,2B5MOI,aAH8E,EAAvC,GAAiB,MAAU,GAAO,M4MH7D,aAGqB,gBACvB,cAAa,YAGP,6BAEe,mBAAuC,gBAAE,gBAAqB,MAArB,EAAqB,KAArB,EAAqB,MAArB,eAA2C,KAA3C,gBAG9B,8CAC9D,gBAAqB,QAArB,EAAqB,KAArB,EAAqB,SAA6B,MAA7B,IAA6B,kBzK+hWzC,KAngWE,EAmgWW,QA+Ub,KAl1WE,GAk1WF,QAAR,MyK92W0D,EzK82WlD,MyK92WkD,MzK+2W3D,EAAY,EAAI,KACb,EyKh3WqE,cAD6B,mBAK3E,8CAAyC,YAAa,UAAf,yBAiFrE,MAAwB,GAAX,SACb,EAAS,MAAK,GAAoB,GAAX,GAAvB,MACA,kBtBgKC,O/F/QkF,UqH+G1D,IzO0nDzB,EAljDuB,EAmjDP,EA1kDS,EA0kDT,YAAX,QAAW,QmG5lDkB,MAuB8qnD,G/CnK3qnD,EAAM,OqL8GgB,EAMgypD,EANhypD,OrL9GhB,QAC6wK,GpDuuDlyK,EmG5lDY,G/C5IG,QAAoB,EAApB,G+C4IH,MsI9BlC,MzO2nDO,EAFP,EAljDuB,EAmjDP,EAzkDQ,EAykDR,YAAX,QAAW,QmG5lDkB,MAuB8qnD,G/CnK3qnD,EAAM,OqL+Ge,EAKiypD,EALjypD,OrL/Gf,QAC6wK,GpDuuDlyK,EmG5lDY,G/C5IG,QAAoB,EAApB,G+C4IH,EsI7BlC,MzO0nDO,EyOvnDP,OAFA,EAAS,MAAK,GAAS,EAAvB,EACS,MAAK,GAAS,EAAvB,gBnBtHK,kB3LDyC,I2LCzC,qDoBqTL,aAAiE,+BAlDjE,aAAyE,+BAlDzE,aAAqE,+BAlDrE,aAAiE,+BA+ZjE,aAAqE,+BAjdrE,aAA6D,+BA2Z7D,aAAiE,+BA7cjE,aAAqE,+BAuZrE,aAAyE,+BA1czE,aAAiE,+BAoZjE,aAAqE,+BAvDrE,aAA6E,yBA7B7E,cAEgC,aACY,WAAf,EAAe,OAIxC,QAjVyB,mBAwR7B,cAEkC,aACU,WAAf,EAAe,OAIxC,QA/RyB,mBAsO7B,cAEiC,aACW,WAAf,EAAe,OAIxC,QA7OyB,mBAoL7B,cAEgC,aACY,WAAf,EAAe,OAIxC,QA3LyB,mBAqlB7B,cAEiC,aACW,cAAf,GAIzB,QA5lByB,mBAkI7B,cAE+B,aACa,WAAf,EAAe,OAIxC,QAzIyB,mBA+hB7B,cAEgC,aACY,cAAf,GAIzB,QAtiByB,mBAgF7B,cAEiC,aACW,WAAf,EAAe,OAIxC,QAvFyB,mBAye7B,cAEkC,aACU,cAAf,GAIzB,QAhfyB,mBA6B7B,cAEgC,aACY,WAAf,EAAe,OAIxC,QApCyB,mBAmb7B,cAEiC,aACW,cAAf,GAIzB,QA1byB,mBA0X7B,cAEmC,aACS,WAAf,EAAe,OAIxC,QAjYyB,kBdSzB,mCAmIwC,kBAA2B,gBAA3B,kEAPA,kBAA2B,wDAP3B,kBAA2B,0DAP3B,kBAA2B,yDAP3B,kBAA2B,wDAP3B,kBAA2B,uDAP3B,kBAA2B,yDAP3B,kBAA2B,wDAP3B,kBAA2B,4DAJrB,kBAAkB,cAAlB,qBA9BnB,MAAM,GAAuB,gEAV5D,aACA,0CvJ4PmD,GArNxC,GAqNiD,EAsfjD,OuJ3oBslyB,KAvEnkyB,EAuEwkyB,GAvErjyB,EAAO,GAAH,GAAqB,GAAH,GAAuB,GAAH,KvJktB/C,GAAnB,G1CtvBo7D,E8E2Mh4D,UAwFq4lB,UpCxPv8lB,EuJP+F,OvJktB1G,6BuJlxB8B,GAC9B,cAAwB,UACxB,UAAoB,UACpB,aAAoB,MACpB,aAAwB,UACxB,aAAsB,MACtB,aAAsB,UACtB,aAAqB,MACrB,UAAoB,UACpB,aAAoB,MACpB,UAAsB,UACtB,UAAqB,MACrB,aAAkB,UAClB,aAAmB,MACnB,UAAoB,UACpB,UAAoB,MACpB,aAAsB,UACtB,aAAqB,MACrB,UAAwB,UACxB,UAAsB,MACtB,aAAoB,UACpB,aAAoB,MACpB,UAAsB,UACtB,UAAqB,MACrB,aAA0B,UAC1B,aAAuB,MACvB,UAAoB,UACpB,UAA4B,2Be2RU,kCtPtOqB,EAAX,KsP6MzB,aAcJ,4BChTf,qBAAW,YAAX,oBA2D8B,aAAqB,8BADvD,aAA0C,EAAe,kBAMb,cAAuB,+BAAvB,QAAyE,wBAClG,EAAc,MAA7B,MAAS,MAAT,yBACiB,EAAgB,aAAjC,MAAS,QAAT,0BAFwC,4BAc5C,aAAqC,EAAe,GACR,cAA4B,cAA5B,MAA0C,wBACjE,EAAc,MAA/B,MAAS,QAAT,yBACkB,EAAgB,aAAlC,MAAS,SAAT,0BAFwC,4BAa5C,aACA,aACA,aAG4C,cAA4B,gBAA5B,MAA4C,uBACnE,QAAY,MAA7B,MAAS,QAAT,yBACkB,QAAY,MAA9B,MAAS,SAAT,yBACiB,QAAY,aAA7B,MAAS,QAAT,0BAHwC,oBA3F5C,aACA,mCCK4C,cAA2B,eAAoB,gCAb/C,cAA2B,cAAkB,gCAuC7C,cAA2B,gBAAsB,gCAbjD,cAA2B,eAAoB,wBCyCxF,qBAAgD,OAAiB,KAAY,KAAY,KAAY,KAAY,OAAjH,yCAwEH,cALA,aACA,aACA,aACA,aACA,wECjHoG,OAAtB,mC7IzBvC,4ByHUvC,OAAO,yBAQP,OAAO,2CAuBH,EqBdC,GAA8rB,EAA9rB,WrBgBG,oBAAiC,iCACjC,yBAAoC,EAAY,IAAY,EAAD,oBAAvB,8BAgBZ,EhM1By7C,MgM0Bz7C,WAAiC,MAAV,cAAT,MAAd,EAAc,KAAd,EAAc,MAfjC,CAAL,GAAoB,OAAsB,GAClC,oBAGZ,KACH,+BArDa,GAAV,OAAU,WAAV,IAAmB,MAAM,GAA2B,SAAO,EAAK,kBAAgB,OACpF,OAAO,EAAI,yBAIG,GAAV,OAAU,WAAV,IAAmB,MAAM,GAA2B,SAAO,EAAK,kBAAgB,OACpF,OAAO,EAAI,8sKJoDsC,+CAYG,UAAH,sDpLWX,WAhDkD,uCoLiDpF,MAAQ,0DAAwD,WAAS,wgBC5FjF,4hBA6Fa,mDAGS,wCAA+B,OAAO,EAApD,MAAc,EACd,QAAO,cAAY,EAAQ,QAAY,EAAQ,MAAR,OAAkB,KAAK,yCAI9D,MAAa,WAAO,WAEpB,OADS,MAAK,GAAoB,GAAX,YAAvB,oCAKA,MAAQ,6BAA2B,WAAM,eAAa,WAAQ,+GL6KR,OAAhB,WAAe,mCAGjB,iBAAiB,aAA7C,OAA6C,iBAAtC,eAAqB,EAAiB,EAAtC,4DA5QwB,OAuQvC,yF7MvIi2N,WAAY,EAAI,GA1Gj3N,MAAM,GAAiC,GyNoPE,sBAAoB,EAAW,4BACxE,K1NmBwF,MA1PvF,EA0PuG,G0NlBxG,K1NkB4H,MA1P3H,EA0PiJ,G0NjBlJ,K1NiBqK,MA1PpK,EA0P0L,G0NhB3L,K1NgB+M,MA1P9M,EA0PoO,2C0N1BlO,oBAG6B,MAH7B,cAImB,GAJnB,gGA6BE,+CACA,+CACA,+CAKA,+CACA,gDAUuE,OAAjB,GAAb,WAAwB,iCACxB,sBAAW,GAAsC,OAAjD,iBAC0C,KAD1C,EAAiD,gCACI,OAAjB,GAAnB,WAA8B,iCACK,OAAjB,GAAnB,WAA8B,iCACN,OAAjB,GAAnB,WAA8B,+CUjMirP,OAAW,wBAAX,KArBjwP,QAAc,EAAM,WVI8C,OAsNpC,GAA1B,WACI,EAAgB,UUtMyuP,KAnB5vP,QAAiB,EAAM,OAClB,QAAQ,EAkB+uP,KAlB/uP,SAAtB,EAAc,KAAT,MAAS,aAkBuvP,KAjB7vP,IAAqB,GAAO,QAAc,EAAM,IAAqB,GAAO,MAA5E,CAAwF,GAAO,cAC/F,GAgB6vP,KAhB7vP,IAAqB,GAAO,MAAQ,EAAM,IAAqB,GAAO,OAAtE,CAA4E,GAAO,iBAF3F,EAAc,GAId,GAAO,OALwC,GAAO,OADtB,GAAO,OADH,GAAO,OADzB,GAAO,OADL,GAAO,EV+NtB,OAJD,oCAMoC,OAAT,mDAGnB,KAAQ,cAA6C,WAAU,IAAvE,OAA+B,KAAc,KAAd,EAAuD,IAAvD,UAA2D,iBACtF,aAAe,GAAO,KAAM,MAAqB,GAAI,QAD1B,sOCzR/B,OAA6B,GAAV,GAAZ,MAAY,wCAI6B,OAAV,GAAX,0xCiBxCM,MAAM,MAA0B,MAAY,+DAEjC,OAAJ,+BACF,OAAJ,wCACE,WAAwB,0BAAxB,EAAwB,wCAC9B,WAAqB,yBAArB,EAAqB,wCACnB,WAAsB,yBAAtB,EAAsB,wCAC1B,WAAoB,yBAApB,EAAoB,wCAClB,WAAqB,uBAArB,EAAqB,wCACnB,WAAsB,yBAAtB,EAAsB,wCACpB,WAAuB,yBAAvB,EAAuB,wCAC3B,WAAqB,sEACjB,WAAuB,yBAAvB,EAAuB,mCAGU,OAAJ,qCAMvB,OAArC,SAAwB,iCAEmD,OAAJ,oEAK8B,OAAf,2CACM,OAAZ,2CACe,OAAb,2CACO,OAAX,2CACc,OAAZ,2CACe,OAAb,2CACgB,OAAd,2CACQ,OAAZ,2CACkB,OAAd,2CAK1B,OAApD,SAAa,EAAW,IAAqB,wCAOC,OAApD,SAAwB,EAAc,6ECjDqC,OAAJ,oEAUS,OAAJ,gCAM/E,MAAM,GAAwB,oBAAxB,GAA2C,GAAa,wBAAxD,GAA+E,MAAY,yCAGjG,MAAM,GAAwB,oEAGmC,OAAlB,SAAY,iCACA,OAAlB,SAAY,iCACQ,OAAlB,SAAY,iCACE,OAAlB,SAAY,iCACQ,OAAlB,SAAY,iCACQ,OAAlB,SAAY,iCACQ,OAAlB,SAAY,iCACE,OAAlB,gBAAY,kCACU,OAAlB,SAAY,iCAGU,OAAJ,uCAGqC,SAAc,EAAY,IAAQ,SAAc,qCACtD,SAAc,EAAY,IAAQ,SAAW,qCAC3C,SAAc,EAAY,IAAQ,SAAY,qCAClD,SAAc,EAAY,IAAQ,SAAU,qCAC1C,SAAc,EAAY,IAAQ,SAAW,qCAC3C,SAAc,EAAY,IAAQ,SAAY,qCAC5C,SAAc,EAAY,IAAQ,SAAa,qCACnD,SAAc,EAAY,IAAQ,SAAW,qCACzC,SAAc,EAAY,IAAQ,SAAa,mCAMtC,OAAvG,SAAc,EAAY,GAAQ,SAAa,EAAW,IAAqB,4DAQ/E,SAAc,EAAY,IAC1B,SAAwB,EAAY,wG9B4N3B,sLK5Qb,MAAuB,QAA0B,EAAS,GJN7B,aAicjC,EAjcS,EAicO,IAAe,GIzWwme,EAhF/ne,IAAoB,WAAY,EAAG,EAAiB,MAAW,eACrC,WtHiD8E,KAjCpG,EAiCoG,IAAhC,EAAgC,KsH8Buhe,EA/E/ne,MAAsC,EAAoB,EAAQ,GJ0b1E,EAAU,IAAa,uCD7bgE,aAqhBvF,EArhB+D,EAqhB/C,IAAe,GK7gB3B,EAAyB,KACzB,EAAkB,QAyE+poB,EAxE7qoB,MACA,gBA4BJ,MAAgB,EAAiB,IAAoB,QAAY,GACjE,EAAiB,KAA0B,EAAkB,KACX,QAAlD,OAAO,EAAiB,MAAsC,EAAG,EAAzC,aA9BG,MAuEspoB,iBApEhqoB,CACP,MAmEuqoB,EAnE3poB,IAAmB,qBAmEgxP,IAlEjzP,EACI,WAEJ,MACI,EA8DqqoB,EA9DzpoB,IAAoB,WAAY,WAEhD,MAKQ,MAAM,GACT,oDACQ,QAAc,gBAAd,GACA,kDAAgD,OnNmBrE,OAhBS,MAAT,EAEA,MAAM,GAAiC,GmNZc,wDACzC,MAAiB,QA0DopoB,EA3DrqoB,EnNcL,KmNZuC,WAAlC,EAyDqqoB,EAzD7poB,MAAsC,EAAO,EAA7C,kBnNgD5B,OAxCiB,MAAT,EAEA,MAAM,GAAiC,GmNAd,iDAA+C,UnNEjE,EmNFP,eLmfJ,MAAuB,EKlftB,OLmfD,EAAU,IAAa,GAChB,kCKpe4F,OAA9D,EAAQ,MAAkB,IAAe,WAAW,mCAY3B,OAA1D,EAAQ,MAAkB,IAAe,WAAW,uFQhF/C,kDAGL,EAAQ,IAAmB,GAAN,iHAIrB,OAAgB,QAAe,EAAQ,yKCmGY,MAvBtB,4IA+BoB,MA7BtB,wIAyB6B,MA1BtB,sTAkBY,MApBtB,wHAgBnB,qIArG+C,yCAC/C,gDAEyD,OAAhB,EAAM,yCAEpD,MAAK,GAAL,cAAsB,MAAM,GAA2B,EAAI,8BAA4B,OAAvF,gC5NWyB,cAAS,GASlC,M4NjBsB,EAAC,iBAAe,EAAK,KAAG,WAAU,qC5NiBlD,GAAiC,GADzB,I4Nfd,OAAO,gC5NcN,cACT,GACQ,M4NZsB,EAAC,iBAAe,EAAK,KAAG,WAAU,qC5NYlD,GAAiC,GADzB,I4NVd,OAAO,mC5NgByE,cAAS,GALzF,M4NPsB,EAAC,iBAAe,EAAK,KAAG,WAAU,qC5NOlD,GAAiC,GADzB,I4NLd,OAAO,mDAIH,OAAS,GACT,oBACA,cAAqB,EAAM,QAAqB,aAAc,EAAM,yCAKxE,OAAO,GAAkB,GAAlB,YAA+B,IAAgB,GAAX,YAA3C,oCAG+D,OAA/B,WAAU,IAAE,WAAiB,6EAIxD,+CAI8C,yCAC9C,gDACyD,OAAhB,EAAM,yCAEpD,MAAK,GAAL,cAAsB,MAAM,GAA2B,EAAI,6BAA2B,OAAtF,gC5N6BkD,cAAS,GAjD3D,M4NuBsB,EAAC,iBAAe,EAAK,KAAG,WAAU,qC5NvBlD,GAAiC,GADzB,I4NyBd,OAAO,gC5N8B0C,cAAS,GAtD1D,M4N4BsB,EAAC,iBAAe,EAAK,KAAG,WAAU,qC5N5BlD,GAAiC,GADzB,I4N8Bd,OAAO,mC5NoCD,gBAAS,GAjEf,M4NiCsB,EAAC,iBAAe,EAAK,KAAG,WAAU,qC5NjClD,GAAiC,GADzB,W4NmCD,EAAQ,EAAR,QACT,IAAK,sBACL,IAAK,yBA2BY,MAAM,GAClC,aA9BO,iDAQI,OAAS,GACT,iBACA,aAAc,EAAM,SACpB,cAAiB,EAAM,UACvB,cAAmB,EAAM,yCAK7B,MAAwB,GAAX,YAGb,OAFA,EAAS,MAAK,GAAuB,GAAd,YAAvB,EACS,MAAK,GAAyB,GAAhB,YAAvB,oCAI6E,OAA7C,WAAU,IAAE,WAAa,KAAG,WAAe,4ECuHtE,+CAE2C,O9OpHJ,mC8OqHG,OAAJ,0GACK,OAAJ,sGACC,6BAAwC,OAAxC,QAAyB,GAAU,GAAnC,0GAC8B,OAApB,KAAe,+GACf,KAAI,EAAO,2NAqB7D,+CAEqC,OAAT,mCACY,OAAJ,0GACI,OAAJ,sGACC,6BAAoC,OAApC,QAAuB,GAAQ,GAA/B,uNAEW,IAAI,yNArBpD,+CAE+C,OvOlJJ,mCuOmJG,OAAJ,0GACI,OAAJ,sGACC,6BAAgD,OAAhD,QAA6B,GAAc,GAA3C,uNAEW,IAAI,+NAsC1D,gDAC0C,OAAJ,4GACoC,OrO+EhD,EAqBiD,IAAQ,yGqOnG3C,OAAT,mCACgB,OAAR,SAAO,uGACA,OAAJ,sGACC,6BAAuC,OAAvC,QAA0B,GAAQ,GAAlC,iSAtB3C,gDAC0C,OAAJ,4GACoC,OrOqEvC,EA+CwC,IAAQ,yGqOnH/B,OAAf,mCACgB,OAAR,SAAO,uGACA,OAAJ,sGACC,6BAAmD,OAAnD,QAAgC,GAAc,GAA9C,uSA3EjD,gDAE+C,OAAJ,4GAC4B,OAAV,wGACZ,O9O5FV,mC8O6FS,OAAJ,0GAGwD,qBR7JC,O3IZ5C,GAclC,GmJ2J6B,GAAyC,gHAEhB,OAAxB,GAAe,GAAL,yGACa,OAApB,KAAe,+GAE5E,KAAI,EAAO,iOAM4B,OAAJ,4GACsB,OAAV,6LA1H5C,+CACA,2D7NyDyN,GAAQ,GA1GpO,MAAM,GAAiC,G6NwDjB,sDACR,cAAQ,KAAO,IAAO,GAAtB,gCAAd,MAAc,KAAd,GAAc,GAAd,KAAK,MAAS,UACV,SAAY,EAAS,EAAa,EAAlC,EAAyC,GAAsB,SADnE,IAAc,+CAKmC,WAAjD,EAAe,EAAQ,MAAsC,EAAO,WAA7C,gBACN,OzOuCT,EAAR,EAAQ,IAAmB,eYvBc,KA2B2sB,EAAQ,EAAd,GA1G9uB,MAAM,GAAiC,G6NiEH,kDAAgD,EAAK,+BA7BvB,MzOyB/D,SyOOC,EAAQ,IALZ,cAOuB,EAAQ,GAAY,IAAQ,WAAgB,MAAW,0BAGxC,aAAlC,EAAQ,MAAsC,EAAQ,WAA9C,oBAFR,EAAQ,IAA0B,WAAY,EAAQ,WAAyB,GAAR,EAAiB,IAD5F,QrOmCF,EA6GF,GA7GU,EAAO,uCqO1Bb,MAAiB,SAAN,GdLwD,aAwXvE,EAxX8C,EAwX9B,IAAgB,EAxXmD,GcQ3E,EAAY,E3OxFJ,E2OuFa,SAAN,G3OvFP,QAAX,MAAW,M2OyFY,ErO1Ff,EA2QmD,KqOjLjC,ErO1FlB,EAwRmD,OqO7L1B,WAAY,YAiK04O,EAjKh7O,MAAsC,EAAS,WAAe,SACpC,WAAY,YAgK04O,EAhKh7O,MAAsC,EAAS,WAAiB,Gd+W5E,EAAU,IAAa,2LczanB,MAAiB,SAAN,GdXL,aAkbV,EApbiH,EAobjG,IAAgB,EAlbV,Gcad,EAAqB,SAAN,GACD,OAAd,EAAsB,KAAjB,MAAS,UAuNs6O,EAtNh7O,IAA0B,WAAY,EAAO,WAAmB,EAAS,WAD7E,EAAsB,Gdsa9B,EAAU,IAAa,qH/MzXiC,GAGzD,GA9EK,MAAM,GAAiC,G6NoCjB,sDACR,WAAd,EAAsB,KAAjB,MAAS,UACV,SAAY,EAAS,EAAa,EAAlC,EAAyC,GAAsB,SADnE,EAAsB,6CAKkC,WAAhD,SAAR,EAAe,EAAO,EAAQ,MAAsC,EAAO,WAA7C,oIArDhB,UAAU,MAAV,EAAU,cAAV,GAAd,EAAc,QAAyB,WAAzB,EACd,EAAyB,SAAR,GACjB,EAAuB,EAAQ,IAAe,eAC1C,EAAiB,MACjB,SAAQ,EAAkB,EAAS,kBAevC,MAAW,EAAQ,IAAqB,SAExC,OADQ,MAAR,EAAsB,GACf,EAjB4C,MAAS,EAAkB,kBAEnE,CACH,MAAY,EAAiB,IAAmB,qBAqPnD,IApPO,EAAuC,cACb,EAAa,IAA3C,SAAY,EAAZ,EAAkD,GAAlD,UAIR,OADA,EAAiB,IAAa,YACf,SAAR,iCAGkE,OAApB,SAAM,EAAS,oDAQrD,qBAA+F,GAA/F,qIAgGJ,gDAEyC,OAAR,sCACM,OAAP,wCACiC,OAApB,KAAe,iCA7D7E,MAAM,GAA8B,qLAApC,MAAM,GAA8B,4GAqEyB,OAAX,SAAR,4CAcpC,MAAiB,SAAN,GdsBS,aAqSxB,EArSD,EAqSiB,IAAgB,EArSI,GcpB5B,SA4Go7O,EA5Gj6O,EAAO,Gd2TlC,EAAU,IAAa,mLcvTuD,OAApB,SAAM,EAAS,oIA/CvD,oBAA2C,WAAW,EAAtD,mJCnFV,EAjB8B,GAkB9B,WAAa,cAAe,eAAO,kBAwCvC,OAAY,IAAW,EAAZ,GAAiB,EAA5B,OAEA,MAAmB,KACnB,QAAe,GAAQ,QAAe,GAAf,GAAyB,eAAO,IAzCnD,MAAS,oCAKb,MAAoB,WAAW,OACxB,mCACH,MAA6B,GAAjB,WAAW,SACvB,WAAa,cAAe,eAAO,IAE/B,WAAa,WAAY,GACzB,OAAO,cAIX,EAnC8B,eAiEN,UAAf,QAAe,cAA5B,GAAa,KAAR,MAAQ,MAAe,EAAf,QAES,EAAO,aAAzB,MAAiB,KAnEa,IAqE9B,EAAgB,QAAe,IAExB,0BACH,MAAkC,GAAhB,EAAU,MAC5B,EAAY,KAAc,eAAO,IAEjC,MAAY,EAAa,EAAzB,KACI,QAAa,QAAY,GAEzB,OADA,QAAe,GAAQ,EAChB,EAGf,QAAe,GAAQ,QAhB3B,GAAa,GAkBb,aAG43Q,EAlDj3Q,cAkDi3Q,kECpGv3Q,oDAE2C,OAArB,GAAM,2BAAN,MAAmB,gDIFvB,OAC1B,wBAD0B,KA+FvB,QAAc,EAAM,WJtE+iG,OApBnkG,EAAgB,OACiB,GAAzB,WAAuC,EAAgB,UINxC,KAiGlB,QAAiB,EAAM,OAClB,QAAQ,EAlGK,KAkGL,SAAtB,EAAc,KAAT,MAAS,aAlGa,KAmGnB,IAAqB,GAAO,QAAc,EAAM,IAAqB,GAAO,MAA5E,CAAwF,GAAO,cAC/F,GApGmB,KAoGnB,IAAqB,GAAO,MAAQ,EAAM,IAAqB,GAAO,OAAtE,CAA4E,GAAO,iBAF3F,EAAc,GAId,GAAO,OALwC,GAAO,OADtB,GAAO,OADH,GAAO,OADzB,GAAO,OADL,GAAO,EJtF1B,OAH2C,kHAS6C,M1MCtC,0C0MW83E,MAAM,GAA8B,+C/NoGx6E,MAAM,GAA8B,6CAApC,MAAM,GAA8B,0EgO9HxE,gDAE+C,yCAElB,0CAEiB,0CACN,0CACE,0CACJ,0CACE,0CACE,0CACE,0CACJ,0CACI,kHCb5C,kDAGQ,MAAT,GACA,EAAQ,MACR,EAAQ,IAAwB,WAAY,IAE5C,EAAQ,6GAKZ,OAAW,EAAQ,MAAqB,EAAQ,IAAwB,YAAiB,EAAQ,8CAI7F,OAAS,KACA,MAAT,IAAiB,mBAAe,OACpC,wBACI,cAAc,EAAM,0CAKxB,OAAkB,GAAX,qFAzCf,ueAkDa,+CACA,+CAEO,OAAJ,0CAGJ,OAAS,GACT,mBACA,cAAY,EAAM,yCAKtB,OAAS,WAAQ,sCAIjB,OAAO,GAAS,GAAT,YAAsB,yFCpCY,UAAH,sDrMGH,WASiD,qCqMLpF,EAAQ,IAAe,YAAY,IAAa,8CpBXtB,aAyhB9B,EAzhBM,EAyhBU,IAAe,GoBzgBjB,EAUqnuB,EAVzmuB,IAAmB,qBAU8tV,IAT/vV,EAGQ,MAAM,GAAwB,oBAAkB,GAGhE,OALY,KpBygBhB,EAAU,IAAa,GoBpgBZ,sKCjCF,+CAEM,+CAE0C,yCACN,iBAA+B,OAA/B,QAAoB,KAApB,+BASc,OAAZ,WAAQ,kCAOK,UAAH,oEtMkBI,WAbqB,qCsMG5E,2BAAF,EAAE,EAAR,WAAQ,SAAS,EACjB,WAAoB,YAAS,EAC7B,WAAsB,YAAS,KAC3B,cAAS,WAAgB,EAAzB,KACA,uBAmCJ,MAAc,KACE,MAAN,QAAM,cAAhB,GAAU,KAAL,MAAK,MAAM,EAAN,E3OkBO,cAAM,GAAd,EAmJb,GAAI,EAnJ6B,S2OlB7B,GAAU,GAGV,OAAO,EAvCO,sCAyBd,OAAwB,GAAjB,SAA4B,GAAO,oCAG6C,OAAjB,GAApB,WAA+B,iCAEjF,MAAsB,GAAtB,WAAiC,GAAqB,OAAtD,QAA2C,KAA3C,gCACqE,OAAjB,GAAN,WAAiB,iCACjB,sBAAQ,GAAqB,OAA7B,iBAmDo8O,KAnDp8O,EAA6B,8CAUnC,OAAW,wBAAX,KAoBxC,QAAc,EAAM,WACA,OApBK,GAAzB,WAAuC,EAAgB,UADf,KAsBnC,QAAiB,EAAM,OAClB,QAAQ,EAvBsB,KAuBtB,SAAtB,EAAc,KAAT,MAAS,aAvB8B,KAwBpC,IAAqB,GAAO,QAAc,EAAM,IAAqB,GAAO,MAA5E,CAAwF,GAAO,cAC/F,GAzBoC,KAyBpC,IAAqB,GAAO,MAAQ,EAAM,IAAqB,GAAO,OAAtE,CAA4E,GAAO,iBAF3F,EAAc,GAId,GAAO,OALwC,GAAO,OADtB,GAAO,OADH,GAAO,OADzB,GAAO,OADL,GAAO,EAhB1B,OAF2C,oCAIJ,OAAT,mDAGnB,KAAQ,cAAoC,WAAU,IAA9D,OAA+B,KAAc,KAAd,EAAoC,IAApC,UAAwC,iBACnE,aAAe,GAAM,KAAM,MAAqB,GAAG,QADxB,sLCgOgB,OAAJ,4GAC8B,OAAtB,OAAiB,qGAC1B,OAAZ,GAAU,uCAGxC,EAAQ,IAAO,EAAQ,IAAkB,WAAY,wHAI3C,WAAV,EAAkB,KAAb,MAAK,UACN,EAAQ,IAAkB,WAAY,EAAG,EAAQ,UADrD,EAAkB,6LA3D+B,OAAJ,4GACkC,OAAxB,OAAmB,qGAC5B,OAAd,iBAAY,uCAG5C,EAAQ,IAAO,EAAQ,IAAoB,WAAY,wHAI7C,WAAV,EAAkB,KAAb,MAAK,UACN,EAAQ,IAAoB,WAAY,EAAG,EAAQ,UADvD,EAAkB,+LA3D8B,OAAJ,4GACgC,OAAvB,OAAkB,qGAC3B,OAAb,iBAAW,uCAG1C,EAAQ,IAAO,EAAQ,IAAmB,WAAY,wHAI5C,WAAV,EAAkB,KAAb,MAAK,UACN,EAAQ,IAAmB,WAAY,EAAG,EAAQ,UADtD,EAAkB,8LA3D6B,OAAJ,4GAC8B,OAAtB,OAAiB,qGAC1B,OAAZ,GAAU,uCAGxC,EAAQ,IAAO,EAAQ,IAAkB,WAAY,wHAI3C,WAAV,EAAkB,KAAb,MAAK,UACN,EAAQ,IAAkB,WAAY,EAAG,EAAQ,UADrD,EAAkB,6LAsZ8B,OAAJ,+GACgC,OAAvB,OAAkB,2GAC3B,OAAb,GAAW,oG1FvJwU,EAA/C,EAAQ,IAAoB,WAAY,GAAO,MAtBrU,EAAX,GAAM,G0FgLxC,EAAQ,IAAmE,uHAIjE,WAAV,EAAkB,KAAb,MAAK,kBACN,EAAQ,IAAoB,WAAY,G1F/JkiB,OAAQ,GA/HnjB,EAAJ,M0F8RgB,MAAsB,SADrE,EAAkB,oMA1d4B,OAAJ,4GAC4B,OAArB,OAAgB,qGACzB,OAAX,eAAS,uCAGtC,EAAQ,IAAO,EAAQ,IAAiB,WAAY,wHAI1C,WAAV,EAAkB,KAAb,MAAK,UACN,EAAQ,IAAiB,WAAY,EAAG,EAAQ,UADpD,EAAkB,4LAkZ6B,OAAJ,+GAC8B,OAAtB,OAAiB,2GAC1B,OAAZ,GAAU,oG5F/HzC,EAFA,EAAQ,IAAoB,WAEnC,GAAO,MAP0C,EAAV,GAAK,G4FyIpC,EAAQ,IAAkE,uHAIhE,WAAV,EAAkB,KAAb,MAAK,kBACN,EAAQ,IAAoB,WAAY,G5FlIhC,OAAQ,GAjHa,EAAJ,M4FmPkB,MAAqB,SADpE,EAAkB,mMAtd8B,OAAJ,4GACgC,OAAvB,OAAkB,qGAC3B,OAAb,eAAW,uCAG1C,EAAQ,IAAO,EAAQ,IAAmB,WAAY,wHAI5C,WAAV,EAAkB,KAAb,MAAK,UACN,EAAQ,IAAmB,WAAY,EAAG,EAAQ,UADtD,EAAkB,8LA8Y+B,OAAJ,+GACkC,OAAxB,OAAmB,2GAC5B,OAAd,GAAY,oGvFxH3C,EAFA,EAAQ,IAAoB,WAEnC,GAAO,MAOgD,EAAZ,GAAO,GuFoH5C,EAAQ,IAAoE,uHAIlE,WAAV,EAAkB,KAAb,MAAK,kBACN,EAAQ,IAAoB,WAAY,GvF3HhD,OAAQ,GA/FiC,EAAJ,MuF0Nc,MAAuB,SADtE,EAAkB,qMAnd6B,OAAJ,4GAC8B,OAAtB,OAAiB,qGAC1B,OAAZ,cAAU,uCAGxC,EAAQ,IAAO,EAAQ,IAAkB,WAAY,wHAI3C,WAAV,EAAkB,KAAb,MAAK,UACN,EAAQ,IAAkB,WAAY,EAAG,EAAQ,UADrD,EAAkB,6LA2Y8B,OAAJ,+GACgC,OAAvB,OAAkB,2GAC3B,OAAb,GAAW,oG9FlHvB,EAF4B,EAAQ,IAEvD,WAAY,GAAO,MA0C0B,EAAX,GAAM,G8F2ExC,EAAQ,IAAmE,uHAIjE,WAAV,EAAkB,KAAb,MAAK,kBACN,EAAQ,IAAoB,WAAY,G9FrHkC,OAChF,GA3DqC,EAAJ,M8F+KgB,MAAsB,SADrE,EAAkB,oMAhEgC,OAAJ,4GACoC,OAAzB,OAAoB,qGAC7B,OAAf,GAAa,uCAG9C,EAAQ,IAAO,EAAQ,IAAqB,WAAY,wHAI9C,WAAV,EAAkB,KAAb,MAAK,UACN,EAAQ,IAAqB,WAAY,EAAG,EAAQ,UADxD,EAAkB,+LArCb,+CAQD,WAAO,OAAO,IACd,WAAgB,GAAP,WAA+B,GAAjB,EAA+B,cAAO,OAAO,oCAIxE,yBACA,WAAO,8BAAP,EAAO,GAAc,+BAGqB,OAAhB,GAAP,WAAc,uHAnE5B,+CAQD,WAAO,OAAO,IACd,WAAgB,GAAP,WAA+B,GAAjB,EAA+B,cAAO,OAAO,oCAIxE,yBACA,WAAO,8BAAP,EAAO,GAAc,+BAGqB,OAAhB,GAAP,WAAc,yHAnE5B,+CAQD,WAAO,OAAO,IACd,WAAgB,GAAP,WAA+B,GAAjB,EAA+B,cAAO,OAAO,oCAIxE,yBACA,WAAO,8BAAP,EAAO,GAAc,+BAGqB,OAAhB,GAAP,WAAc,wHAnE5B,+CAQD,WAAO,OAAO,IACd,WAAgB,GAAP,WAA+B,GAAjB,EAA+B,cAAO,OAAO,oCAIxE,yBACA,WAAO,8BAAP,EAAO,GAAc,+BAGqB,OAAhB,GAAP,WAAc,uHAgZ5B,kDAQM,GAAP,YAAc,SS6D1B,aAA+B,KAAjB,EAA+B,GAAO,GAAP,YAAc,IAs+FvD,EAAO,GAAmB,GAAR,MAAe,ITliGzB,WAAgB,iCAIpB,yBACA,WAAO,8BAAP,KAAO,EAAc,oCS6DN,aAAc,aT1Da,OS0hGvC,GAAmB,GAAR,MAAe,uKT9/GxB,+CAQD,WAAO,OAAO,IACd,WAAgB,GAAP,WAA+B,GAAjB,EAA+B,cAAO,OAAO,oCAIxE,yBACA,WAAO,8BAAP,EAAO,GAAc,+BAGqB,OAAhB,GAAP,WAAc,sHA4Y5B,kDAQM,GAAP,YAAc,SSqDrB,aACI,KADU,EACI,GAAO,GAAP,YAAc,IAqhGjC,EAAO,GAAkB,GAAR,MAAe,IT1kGxB,WAAgB,iCAIpB,yBACA,WAAO,8BAAP,KAAO,EAAc,oCSuDpB,aACN,aTrD+C,OSkkGvC,GAAkB,GAAR,MAAe,sKTliHvB,+CAQD,WAAO,OAAO,IACd,WAAgB,GAAP,WAA+B,GAAjB,EAA+B,cAAO,OAAO,oCAIxE,yBACA,WAAO,8BAAP,EAAO,GAAc,+BAGqB,OAAhB,GAAP,WAAc,wHAwY5B,kDAQM,GAAP,YAAc,SSsDiB,aAClC,KADgD,EAClC,GAAO,GAAP,YAAc,IAonGjC,EAAO,GAAoB,GAAR,MAAe,IT1qG1B,WAAgB,iCAIpB,yBACA,WAAO,8BAAP,KAAO,EAAc,oCSsDR,aAAc,aTnDe,OSkqGvC,GAAoB,GAAR,MAAe,wKT/nHzB,+CAQD,WAAO,OAAO,IACd,WAAgB,GAAP,WAA+B,GAAjB,EAA+B,cAAO,OAAO,oCAIxE,yBACA,WAAO,8BAAP,EAAO,GAAc,+BAGqB,OAAhB,GAAP,WAAc,uHAqY5B,kDAQM,GAAP,YAAc,SSoCqC,aAChD,KAD8D,EAChD,GAG7B,GAH6B,YAI1B,IA0qGC,EAAO,GAAmB,GAAR,MAAe,ITltGzB,WAAgB,iCAIpB,yBACA,WAAO,8BAAP,KAAO,EAAc,oCSqCO,aAAc,aTlCA,OS0sGvC,GAAmB,GAAR,MAAe,uKTpxGxB,+CAQD,WAAO,OAAO,IACd,WAAgB,GAAP,WAA+B,GAAjB,EAA+B,cAAO,OAAO,oCAIxE,yBACA,WAAO,8BAAP,EAAO,GAAc,+BAGqB,OAAhB,GAAP,WAAc,0HdlQ5B,kDACkF,OAA3B,EAAQ,IAAa,uHACV,OAAtB,EAAQ,6EATpD,kDAC8E,OAAzB,EAAQ,IAAW,gHACV,OAApB,EAAQ,oIATlD,kDACkF,OAA3B,EAAQ,IAAa,uHACV,OAAtB,EAAQ,6EATpD,kDACgF,OAA1B,EAAQ,IAAY,uHACV,OAArB,EAAQ,4EATnD,kDAC8E,OAAzB,EAAQ,IAAW,2GACV,OAApB,EAAQ,2EATlD,kDAC4E,OAAxB,EAAQ,IAAU,uHACV,OAAnB,EAAQ,0EATjD,kDACgF,OAA1B,EAAQ,IAAY,uHACV,OAArB,EAAQ,4EATnD,kDAC8E,OAAzB,EAAQ,IAAW,uHACV,OAApB,EAAQ,2EATlD,kDACoF,OAA5B,EAAQ,IAAc,wHACV,OAAvB,EAAQ,8EAhGlE,oUAkDa,+CACA,+CAEgC,OAAD,gCACU,mCACA,mCACI,mCACY,mCACC,uCACC,MAAjC,uBAAqB,WAAU,uFe+Q+B,OAAhC,SAAO,SAAY,EAAM,kCAE3B,iBAAmC,OAA/C,SAAY,QAAoB,GAApB,EAAwB,mCACgB,OAA1B,EAAK,IAAe,mCAE5B,OtKxCX,IAAV,GAsH9C,GsK9E4B,EAAiB,EAAU,IAAE,8GA3JvB,OAAxB,mCAMR,MAAM,MAA0B,MAAY,gEAEoB,OAAJ,sCAGJ,SAAkB,GAAe,0BAAjC,EAAiC,yCACvC,SAAkB,GAAY,yBAA9B,EAA8B,yCAC5B,SAAkB,GAAa,yBAA/B,EAA+B,yCACnC,SAAkB,GAAW,yBAA7B,EAA6B,yCAC3B,SAAkB,GAAY,uBAA9B,EAA8B,yCAC5B,SAAkB,GAAa,yBAA/B,EAA+B,yCAC7B,SAAkB,GAAc,yBAAhC,EAAgC,yCACpC,SAAkB,GAAY,uEAC1B,SAAkB,GAAc,yBAAhC,EAAgC,qCAIgC,OAA3B,KAAa,IAAQ,GjP9Cg2I,qCiPiD36I,OAArC,SAAwB,iCAMgB,OAAxC,SAAmB,WAAU,gCAKZ,4BAAoB,OAAO,EAA5C,MAAiB,EACjB,OAAO,SAAwB,gCAGa,OAAJ,kCAE+B,OAA7B,SAAoB,yCACA,OAA1B,SAAiB,yCACY,OAA3B,SAAkB,yCACG,OAAzB,SAAgB,yCACY,OAA1B,SAAiB,yCACY,OAA3B,SAAkB,yCACY,OAA5B,SAAmB,yCACG,OAA1B,SAAiB,yCACe,OAA5B,SAAmB,0CAImB,OAAJ,oEAO7B,OAA7C,SAA+B,SAAX,EAAkB,oCAGI,OAA1C,SAA4B,SAAX,EAAkB,oCAGQ,OAA3C,SAA6B,SAAX,EAAkB,oCAGK,OAAzC,SAA2B,SAAX,EAAkB,oCAGQ,OAA1C,SAA4B,SAAX,EAAkB,oCAGQ,OAA3C,SAA6B,SAAX,EAAkB,oCAGQ,OAA5C,SAA8B,SAAX,EAAkB,oCAGK,OAA1C,SAA4B,SAAX,EAAkB,oCAGS,OAA5C,SAA8B,SAAX,EAAkB,oCAKwD,OAApF,SAA8B,SAAX,EAAkB,GAAQ,EAAW,IAAqB,wCAQK,uBAgB3F,MAAQ,GACR,MAAQ,IAKR,OAJK,SACD,QAEJ,SAAO,EACA,EAtBP,MAAoB,SAAX,EAAkB,MAAQ,wBAAE,aAAwB,EAAc,6CA6B9C,OAAZ,GAAT,0CAGR,WAAS,EAAI,gCAUb,MAAQ,WAAS,GAAkB,GAAT,aAE1B,OADA,YAAO,EACA,wEC1PgC,8CAAqB,oDAzEpE,qaA8Ea,gDAK2C,OAAR,EAAK,2GACO,OAAV,EAAK,6GAC4B,OAApB,OAAS,EAAK,gHAQhE,gDAIwC,OAAV,EAAK,yGACQ,OAAX,EAAK,2GAEoB,OAAZ,KAAO,4GAWpD,kDAOL,MAAwB,EAAQ,IAAe,YAC/C,EAAkB,IAA0B,WAAY,EAAG,WAAa,EAAM,MAC9E,EAAkB,IAA0B,WAAY,EAAG,WAAa,EAAM,MAC9E,EAAkB,IAA0B,WAAY,EAAG,WAAa,EAAM,MAC9E,EAAkB,IAAa,oHAI/B,MAAgB,EAAQ,IAAe,mBACnC,EAAU,oBAOd,MAAQ,EAAU,IAA0B,QAAY,EAAG,QAAzC,aAClB,EAAQ,EAAU,IAA0B,QAAY,EAAG,QAAzC,aAClB,EAAQ,EAAU,IAA0B,QAAY,EAAG,QAAzC,aAElB,OADA,EAAU,IAAa,SAChB,OAAO,EAAG,EAAG,GAVT,MAAmB,iBAc9B,MAAc,KACd,EAAc,KACd,EAAc,cACG,CACP,MAAY,EAAU,IAAmB,kBAwB8qL,IAvBztL,EACI,WAEJ,MACI,EAAI,EAAU,IAA0B,QAAY,EAAG,QAAzC,qBAElB,MACI,EAAI,EAAU,IAA0B,QAAY,EAAG,QAAzC,qBAElB,MAGQ,MAAM,GAAwB,oBAAkB,GAFpD,EAAI,EAAU,IAA0B,QAAY,EAAG,QAAzC,iBAK1B,EAAU,IAAa,SACnB,IAAM,KAAM,MAAM,GAAwB,iCAC1C,IAAM,KAAM,MAAM,GAAwB,kCAC1C,IAAM,KAAM,MAAM,GAAwB,oCAEhC,wBAAQ,sBAAtB,OAAO,iBAAuB,GAAvB,GAAuB,KAAvB,MArCA,MAAgB,6EArGvB,MAAwB,EAAQ,IAAe,YAC/C,EAAkB,IAA0B,WAAY,EAAG,WAAqB,SAAN,IAC1E,EAAkB,IAA0B,WAAY,EAAG,WAAuB,SAAN,IAC5E,EAAkB,IAAa,mHAI/B,MAAgB,EAAQ,IAAe,eACnC,EAAU,aACoC,WAA9C,EAAU,EAAU,MAAsC,EAAG,WAAzC,eAC4B,WAAhD,EAAY,EAAU,MAAsC,EAAG,WAAzC,aACtB,OAAO,SAAS,EAAK,GAGzB,MAAgB,KAChB,EAAkB,cACD,CACP,MAAU,EAAU,IAAmB,qBA4HgrL,IA3HztL,EACI,WAEJ,aAC8C,WAA1C,EAAM,EAAU,MAAsC,EAAG,WAAzC,qBAEpB,MAGQ,MAAM,GAAwB,kBAAgB,SAFN,WAA5C,EAAQ,EAAU,MAAsC,EAAG,WAAzC,iBAK9B,EAAU,IAAa,YACnB,IAAQ,KAAM,MAAM,GAAwB,+BAC5C,IAAU,KAAM,MAAM,GAAwB,oCAElC,sBAAhB,OAAO,iBAAmB,GAAnB,GAAmB,KAAnB,+ECrCF,0DAGL,EAAQ,IAAa,Y7F2Rc,EAAJ,GAzRV,G6FFY,MAAiB,oH7FM/C,EADsD,EAAQ,IAAa,YAC3E,M6FFH,O7FgYkC,GAAM,kI6FpZnC,0DAGL,EAAQ,IAAa,Y/F6RY,EAAJ,GA1RrC,G+FHyC,MAAgB,oH/FKtB,EAAjC,EAAQ,IAAa,YAAY,M+FD3B,O/F8X+B,GAAK,iI+F9V/B,0DAGL,EAAQ,IAAa,Y1FyNgB,EAAJ,GA1N3B,G0FC2B,MAAkB,oH1FEnC,EAFxB,EACO,IACK,YAAY,M0FEhB,O1FsTqC,GAAO,mI0F1UvC,0DAGL,EAAQ,IAAa,YjG2Nc,EAAJ,GAzNlB,GiGFoB,MAAiB,oHjGIsB,EAAjC,EAAQ,IAAa,YAAY,MiGAxE,OjGsTkC,GAAM,yIkGrT5B,oBAEqC,MAFrC,qHnBPsE,OAAvB,EAAO,GAAW,GmBmHlE,CAAN,EAAmB,GAAY,OAAO,KAE1B,oBAAqB,KAAY,MAAjC,EAAiC,KAAjC,EAAiC,MAAI,IAAtD,oBAAiB,EAAjB,QACkB,MAAd,EAAoB,OAAO,QAEvB,cAAmC,GAAnC,uCAAR,OAA6F,MAArF,EAAqF,KAArF,EAA4F,mCAKnF,oBAA0B,KAAY,MAAtC,EAAsC,MhP+EX,MA/ChD,GA+CgD,GA/ChD,EA+CgD,IAAnB,EAAmB,SA/CN,GgPhCtC,oBAAiB,EAAjB,QACkB,MAAd,EAAoB,OAAO,QAEvB,cAAqC,GAArC,uCAAR,OAAiG,MAAzF,EAAyF,KAAzF,EAAgG,mCAIhG,oBAAwB,KAAS,MAAjC,EAAiC,KAAjC,EAAiC,IAAO,GAAhD,yBAAO,EAAP,uCzI2DmC,IArBvB,EAqBuB,WvG+I6C,IAAQ,IuGpK5E,QAAX,MAAW,MyIlCuB,EhPkBX,EAuGoC,KgPzHjB,EhPkBnB,EAoHoC,KgPrIlD,OACF,0BACI,eACA,EAAO,MAFsB,EAAU,eAEvC,EAFuC,WAI3C,iBAA2C,EAAU,IAAW,EAAQ,EAAO,WzI4B3E,MAiCwB,WvGmI4C,IAAQ,IuGpK5E,WAAX,MAAW,MyIxBoB,EhPQR,EAuGoC,KuGvFhD,EvGhBY,EAoHoC,KAgEoB,IAAQ,IuGpK5E,QAAX,QAAW,MyIvBY,EhPOA,EAuGoC,KgP9GvB,EhPOb,EAoHoC,UgPzHhD,kBACA,a3I/GkE,KAqGixD,EArGjxD,IAAtB,EAAsB,K2I6GtE,EAAU,QAGK,OzImBX,MAyC4D,WvG2HQ,IAAQ,IuGpK5E,QAAX,MAAW,MyIdkC,EhPFtB,EAuGoC,KgPrGH,EhPFjC,EAoHoC,UgPjHjB,aAAvC,EAAU,yBAAuD,IAAvD,UzIaF,MAiDqB,WvGmH+C,IAAQ,IuGpK5E,QAAX,MAAW,MyIVoC,EhPNxB,EAuGoC,KgPjGD,EhPNnC,EAoHoC,UgP7Gf,aAAzC,EAAU,yBAAyD,IAAzD,kHAmBJ,oHAQU,6N5IpO5B,yWyHyBY,OAAO,WAAQ,iFvMqHnB,KuM7GgC,aAAQ,EAAK,KvM2DzC,GAkDW,6CAEf,OA3CI,GAAO,OuMpEP,OvM4GR,2rCsMf0B,UAAM,8BAA4B,uOGkFtB,OAAtC,OAAoB,0BAe2D,OAAvD,OAAwB,EAAe,0GxJ4FX,GAxOpD,G/D9CI,MAAM,GAAiC,GyNiDP,sCACpC,qBHtBA,iCAIA,IACkB,EADP,KAAoB,KACb,YAAb,MAAa,MACd,EAAwC,GAAH,GAApB,EAAU,UAEZ,GAAX,EADiB,UAAQ,GACqB,IAAoB,GAAX,EAAkB,GAAyB,GAClG,MAAM,GAIF,GAJ8B,oIAEb,EAAU,wBAAkC,GAAX,GAAwB,2HAZtF,CAAU,GACH,OAA0B,EAAY,GGsBtC,CAAwB,EAAY,mFP3BhC,WAAX,MAA2B,MAAhB,IAAgB,cAAe,QAA/B,EAA+B,eAAsB,MAAtB,EAAsB,KAAtB,EAAsB,MAAY,mQ4B/CM,OAAnB,oCCH/D,EhQiFoD,KgQ/EpD,EAAwB,GAAe,EAC7B,OAAV,EAAkB,MAAb,MAAK,aACyB,IAAL,EAAtB,IhPI6E,MAAX,EAAW,IAAe,GAA3C,EAiCpD,EAAI,GgPlCL,EAAoB,IAAuB,EAA3C,QAJJ,EAAkB,IAMlB,MAAM,GAAsB,EAAe,EAAW,2CCQjB,OAAjC,SAAW,KAAQ,cAAE,yvECyCS,yGCpDE,cACC,GADD,cAEI,GAFJ,cAGJ,GAHI,cAIS,GAJT,eAKF,GALE,eAOA,GAPA,cASI,QATJ,gBAUI,GAVJ,gBAWO,GAXP,eAYK,QAZL,iBAakB,GAblB,iBAcM,GAdN,+FDoDG,+CAAqB,8DAhBhE,KACI,aACA,aAQmD,iCA+JK,WAAnB,EAAK,MAAc,MAYD,WAAnB,EAAK,MAAc,MAOI,WAAnB,EAAK,MAAc,MAYR,WAAnB,EAAK,MAAc,MAOa,WAAnB,EAAK,MAAc,MAMX,WAAnB,EAAK,MAAc,MASK,WAAnB,EAAK,MAAc,MASC,WAAnB,EAAK,MAAc,MAOG,WAAnB,EAAK,MAAc,MAMH,WAAnB,EAAK,MAAc,MAQc,WAAnB,EAAK,MAAc,MASZ,WAAnB,EAAK,MAAc,MAKN,WAAL,EAAK,uBA8B2B,aAAK,EAAe,kBAO9F,WAAqB,MAA0B,YACnD,MAAgB,OAAsB,QAAc,MAAsB,QAAc,OACxF,QAAkB,IAAO,GANzB,0EC9UJ,aACA,aACA,aACA,aACA,aACA,aAEA,aAEA,aACA,aACA,aACA,aACA,mICuH6D,cAA1C,qDAlBI,E3PRsC,EA8KG,K2PtKtC,E3PRmC,EA2LG,KJzJkhb,O+PzBtkb,OACI,GAlDoC,EAkDxB,GAlDwB,EAmDpC,WAnDoC,EAoDpC,GAAO,G/PpDhB,E4IoUqC,0CmH5RyB,cAAjD,gEA9FY,+BAqDhC,cADA,aAE2C,cAAL,iBA2B1C,iCACyB,cAEU,6BAHnC,0EA8HwF,mBCpKvF,cAHQ,GAAL,EAAa,QAAoB,KAC5B,GAAL,EAAa,SAAqB,IAC1B,KDqKqD,CAAR,wBAjDA,OAAP,GAAR,wBA3B9B,+BAAgD,OAAhD,sBAoFR,MAAM,GAA0B,WAA1B,GAAoC,GAAY,aAAW,GApF/B,GAAO,mBAAjC,EAAgD,uBEhIvB,GAAM,IAA/B,MAAS,gBAAT,yBACoB,GAAM,IAA1B,MAAS,WAAT,yBACuB,GAAM,IAA7B,MAAS,cAAT,yBACsB,GAAM,IAA5B,MAAS,aAAT,yBACqB,GAAM,WAA3B,MAAS,YAAT,sCAJyD,gCACV,gCACM,gCACF,gCACF,kDANrD,cAAuB,yCAAvB,KAAwF,GAAxF,oEA+I2F,WAAtC,SAAsC,MAEzD,uEAGM,2FA/BwE,WAA1D,GAAqB,SAArB,MAA0D,MAE9E,wEAGM,sGA1FxC,cAAuB,2CAAvB,0FA2BA,cAAuB,sCAAvB,yEAgJP,OAhBuE,+BA5GhE,cAA2B,yCAA3B,yEAgG+B,iCAChC,MAAM,GACJ,6FAAD,GACmD,IAhB/C,CAAR,kBAOgD,iCAC7C,MAAM,GACJ,6FAAD,GACmD,IACtD,OAJ+C,iBAHxC,GAAR,kBAuB0C,UAAH,kDxNtHivK,QA1DhsK,oBwNgL9C,cAAK,iCC5MtB,aACN,+BA4B4E,aAAS,GAA9C,8BAqB1D,aAAS,GADT,aAEoB,oCCpDgB,kBAAc,KAAY,0CAc1D,OAAkB,EAAW,IAAkB,IAAU,EAAW,IAAqB,GAAO,MACzF,qDAb4B,qCC2BjC,2CAAD,GAA0C,GAAzC,+GAAN,UAEW,KAFX,uBAfoD,aAAc,8BAyBrE,OAJuE,OACnE,kBAAiB,EAAc,MAA/B,+GACyE,EAAc,MAAK,OClClF,kBDGyC,aAAc,kCAWY,OAA9E,GAAsB,EAAU,EAAO,iBAAsB,GAAN,EAAa,uBA8BG,OAAvE,IAAsB,kBAGtB,MAAQ,2CAAD,GAA0C,GAAK,aAAW,EAAzD,iHAEE,KAFH,qBAG2B,GAAP,EAAO,KANR,CAAyB,EAAO,EAAK,qBAtCyC,OAAxG,OAA0B,GAAU,EAAI,mCAAiC,EAAM,KAAG,EAAc,oBAoDnG,OAL8D,IAC3D,EACC,4BAA0B,EAAG,OCxDnB,EDwDX,oBAEgC,GAAN,EAAM,uBApCnC,OALyE,OACrE,2CAAD,GAA0C,GAAzC,iHAES,KAFV,qBAGkC,GAAP,EAAO,qBAtBe,GAAuB,EAAvB,sCA+D7C,MAAS,IAAK,OAAO,MACX,IAAV,EAAU,CACV,MAAiB,GAAL,GAAc,GAA1B,KACI,GAAS,EAAG,OAAO,EzLgV2C,SArU9D,GyLVJ,MAAQ,QzL+U8G,GAAlC,GArUhF,EAAU,EAqU8F,IyL5UhH,MAAY,EAAS,GAArB,EACA,EAAU,EAAS,GAAnB,EACA,EAAiB,GAAS,EAAG,GAAS,QACtC,EAAiB,GAAO,MAAQ,GAAS,QzLegB,KAAN,EAAoB,GAAQ,KAAJ,EAC5E,OyLfC,OAAO,EzLwUmH,GAAlC,GA1T/C,EA0T2D,EAAY,IyLxUlC,uBAZ1E,qBAAsC,GAAtC,sBEhEC,sCA8BL,MAAY,MAAgB,YA0C8+S,IAtCtgT,EAAwC,OAAO,MAC9C,EAAK,MAAc,MAAqB,OAAO,cAG3C,GAAL,KAAgC,KAC7B,EADc,MAAS,EAAT,KAAwC,2EACtD,GAAoB,GAA3B,OAAO,iBAiCmgT,KAjCngT,EAAP,sBAzBA,MAAwC,KAC9B,IAAQ,aAAlB,EAAU,KAAL,MAAK,chQaX,YACkB,GAqvBS,OASV,EATT,EASS,YAAX,MAAW,MAAU,iBAAc,EAAY,EAAI,GgQ3wBG,ShQ4wBpD,GgQ5wBoE,QAAhB,EAAgB,KAAhB,EAAgB,SAAO,MAAP,YhMysa3D,SA/rapB,GA+raoB,QAAX,MAAW,MgMxsaO,MAAX,IAAiB,EAAU,GAAkB,UACvC,GAAH,GAAP,GAAU,EAsDmtjc,EAtDlsjc,UAHnC,EAAU,GAMH,QAAP,OAAO,QAAW,KAAX,2BlQmOyC,GAnPlD,EAmPkD,IAAnB,EAAmB,SApPrB,GkQEnB,MAAM,OACD,uBAAqB,EAAI,kBAAiB,MAAe,GAAO,6CACtD,MAAe,KAAS,IAAO,OAAM,GlQK7D,EAiOC,GAjOI,EAAQ,4BkQb6C,mFCyHrD,MAAc,WAAe,GAC7B,QAAsC,GAAlB,QAAyB,GAC7C,QAAoB,GAAT,QAAgB,uBpO3GuE,EAAvC,GAAiB,MAA5B,GAA6C,MoOEjE,qBAWT,qBAAS,GAAT,EAAS,GAAT,EAAc,EAAd,MAAc,EAAd,qBACI,sDpOpB/B,kCqOAQ,IAAQ,IADE,IrOOiD,GAAiB,MAAU,GAAO,iCsOO7F,wBPxBmF,OAAnF,EAAK,MAAc,MAAa,OAAwB,EAAI,GAAW,OAAS,GOwB3E,CAAS,EAAQ,GAAO,EAAM,EAAM,4CDTrC,IAAwB,EAAY,iCEyBxC,MAAgB,QAAM,MAElB,QAAM,QAAmB,MAAU,QAAM,IAAM,2BAAN,mBAC7C,M/Q4C4C,K+Q3CrC,QAAM,QACT,MAAc,WACd,EAAO,EAAI,IACX,EAAY,QAAM,SACD,KAAb,CLWD,cAAc,MAClB,KAsYyD,cACvD,GAAW,MKlZmC,qCLkZnB,EAAhB,eKzYhB,OALI,IAAa,KACb,QAAM,IAAiB,MAChB,IAAa,MACpB,QAAM,IAAM,4BAAN,eAEH,OAAU,wBAIjB,EAAiB,UAAc,EAC3B,QAAM,MAEN,QAAM,aAEL,GAAY,IAAU,KACpB,OAAY,EAAQ,GADM,oBAoCvB,OAAZ,GAR6C,UAAyC,qEAQtF,+EA9Fc,2DAThB,aAEsC,WAAd,EAAc,MACb,kCCsEN,0BAAd,MAAc,SACX,gBAAsC,OAAO,EAAW,MAEhE,OAAO,EAAK,MAAc,4BA7BtB,kBAAqD,QAAK,MAAc,MACxE,OAAO,EAAa,IAAY,GAEpC,MAA4C,GAAxB,EAAa,MAA8B,SCY6B,UACnF,EAAb,EAAa,WA6JL,iBACA,MAAM,IACF,EACC,YAFC,OAEmB,8BAA6B,EAAW,MAAW,aAFtE,GAEkF,ID3K5F,QC8KO,ED7KI,OAAS,GAAgB,QAAzB,EAAyB,QAAzB,GAAX,EAAmD,MAAf,EAAe,KAAf,EAAe,MAC5B,IAAa,IAAgC,EAAM,GAAnD,sBAYvB,MAAM,IAAsB,EAAK,6CAFjB,MAAR,EAAe,uCACb,wBAAsB,EAAI,KACgD,EAAS,YAXtF,CAAwB,EAAM,KADd,EAAvB,QAIA,yBEtCA,OAA8E,IAAvE,GAAgB,EAAM,EAAS,EAAe,EAAa,OAAY,IAAwB,GFsC1F,CAAL,QAAyB,EAAe,EAAnC,GAA6C,EAA7C,IAA6C,EAA7C,yBAtCR,4BAKA,iBAAyC,eAES,GAA5B,EAAiB,OAAvC,MACA,MAAe,EAAW,MAAW,MACrC,EAAiB,EAAiB,MAAW,M/PqGJ,MAAM,GAA8B,GAtF7C,iBAAe,EAAU,yCAGjE,EAHwC,gFAK3B,EAL2B,uJ+PxBhC,yBGnBJ,aACA,0CCIqE,cAAkB,kBCYpD,yCVuDo5J,cAAwC,EAAX,EAAW,IAAqB,MAZ/+J,EAAkB,OUyIhB,QAAM,UVxIT,KAAkB,MAAlB,WACgB,EUwId,QAAM,IAAW,QAAc,UVxIjB,SACL,GAAO,UADlB,IAEA,EAAkC,GAAlB,EAAmC,EAFnC,YAUs/S,IAPlgT,EAOkgT,CU+HpgT,QAAM,MVpIJ,GAAO,WAGf,GAAO,OAV0C,GAAO,EU4IvD,OALsF,mBA4CnF,OAPI,QAAc,UAAqB,UAA4B,EApNvD,MAAR,GACA,UAAuB,IACvB,QAAsB,KACf,IAkNP,QAAM,IAAY,QAAc,OAIhC,QAAM,IAAiB,GAEpB,QAAM,6BA8Eb,OAAW,QAAc,MACrB,QAAM,MAEN,QAAM,6BAnTD,cALb,aACA,aACA,aAmByD,WAAL,WAAK,MAC9B,cAC6B,aACvB,WAAL,WAAK,MAEe,WAAI,WAAc,MAAe,KAAU,OAAkB,oBAmU7G,cAFA,aAGyD,WAAL,EAAK,2BPpV5C,cAJb,aACA,aACA,aACA,aAQyD,WAAL,WAAK,MACxB,WAAL,WAAK,MAGG,cACY,gBAG5C,MAAQ,WAAK,KACS,MAAlB,aAC0B,OAAtB,WAAe,IAAe,WAAe,KAAO,OACpD,WAAe,GAAK,sBA1B0B,cAAlD,EAAK,aART,GAQqB,8BARW,GAClB,CAAb,SAAa,MACZ,SAAa,MACb,SAAa,MACZ,SAAa,uBTHf,kCAPL,MAAc,GAAN,EACR,OAAkC,GAAvB,EAAI,GAAK,E9IuCsB,G8IvCR,E9IuCQ,I8ItCpC,EAAI,MAAe,yBAqCzB,KAAO,MACP,MAAc,EACE,SAAN,GAAM,OAAhB,GAAU,KAAL,MAAK,MAAM,EAAN,E9IV6B,WAAM,G8IWzC,E9IFsC,GAAL,G8IG7B,EAAI,KAAe,QAA6B,MAArB,KAAe,KAC1C,KAAO,EAAO,EAAS,GACvB,KAAO,KAAe,IACtB,EAAU,EAAI,EAAd,SALR,GAAU,GASK,IAAX,EAAc,KAAO,EAAO,EAAS,EAAM,QAC1C,KAAO,GACZ,KAAO,oChQhDT,MmCgBiE,GAAiB,MAftE,IAeuF,M6NZvF,OAAV,GAAa,MAAR,MAAK,UACN,MAAS,GAAU,GAAM,IACzB,EAAS,GAAU,GAAM,GACzB,EAAS,GAAU,GAAM,GACzB,EAAS,GAAU,GAoD+mB,EAnD7nB,GAAM,MAAX,OAAe,GAAf,OAAkB,GAAlB,OAAqB,GAArB,OAAwB,SAL5B,GAAa,IAwDynB,E9IxB5lB,I8IzBxB,MAiDonB,E9IxB5lB,I8IxBvB,OAgDmnB,E9IxB5lB,G8IvBvB,MA+CmnB,E9IxB5lB,G8ItBvB,MA8CmnB,E9IxB5lB,I8IrBvB,MA6CmnB,E9IxB5lB,I8IpBvB,MA4CmnB,EA3CjoB,IAAS,QhQqDP,EAtDH,oBAAU,IgQMJ,OAAV,GAAa,MAAR,MAAK,UAsC4nB,EArC7nB,GAAO,QADhB,GAAa,I9Ic6B,G8IwB4lB,E9IxB5lB,I8IXhB,G9IWgB,O8IwB4lB,E9IxB5lB,I8IVd,G9IUc,Q8IwB4lB,E9IxB5lB,G8ITf,G9ISe,Q8IwB4lB,E9IxB5lB,G8IRf,G9IQe,Q8IwB4lB,E9IxB5lB,I8IPf,G9IOe,S8IwB4lB,E9IxB5lB,I8INf,G9IMe,S8IwB4lB,EA7BjoB,IAAiB,G9IKoB,qB2JHZ,gBAAkB,MAAlB,EAAkB,KAAM,MAAxB,GAAqD,OAArD,QAAgD,OAAhD,mBAmG1B,MAAM,IAAsB,EAAK,oBAAkB,EAAS,IAAoB,GAAhB,2BAgBzD,wCAAwB,MAAM,IAAsB,EAAK,0BAAwB,EAAI,iBAA5F,OAAO,mBA3HX,cAFA,aACA,aAOmC,WAAL,WAAK,wCA2I1B,aAGgC,MAHhC,aAIuC,MAJvC,qDPlGs8I,cAA4C,EAAX,EAAW,IAAqB,OAZ3gJ,EAAkB,OO4Hb,MAAe,aAAf,GP5HuC,GAAO,UACpD,KAAkB,MAAlB,aO4HO,MAAe,GAAf,yBP3HS,EO2H+B,MAAxC,EAAwC,QAAxC,ad2C6C,GAAkB,KAAU,WOtKhE,SACL,GAAO,UADlB,IAEA,EAAkC,GAAlB,EAAmC,EAFnC,YAUs/S,IAPlgT,EAOkgT,CAd5+S,KAStB,GAAO,WAGf,GAAO,GOoHF,OAJI,qBAwBL,OAFA,SAAa,QAAK,MAAc,QACpB,EAAW,IAAkB,IAAU,EAAW,IAAqB,GAAO,MACnF,6BA/BX,aAAwB,EAAM,GAH9B,aACA,aACA,aAEuB,aACU,+BA0G0C,aAAwB,EAAM,GAA/D,aACjB,WAAN,WAAM,IACE,+BA7BgD,GAAgB,EAAM,EAAtB,qBAAlC,aACX,cAAX,WAAM,MACD,yBAAK,IAAO,GACb,mEIlQnB,KAAW,wBACV,KAAY,uBACb,KAAW,4BACN,KAAY,6CAJK,aAA2B,8BAS1C,QAAL,EAAK,SACP,+BACA,0BACA,kBAUJ,EAA0D,GAVnB,EAUL,IAAqB,GAV9B,EAUmD,OAC5E,EAAc,EAAc,SAEjB,iBAA4B,aAbkB,cAAhC,EAed,MAAc,MAGrB,MAAM,GAAwB,KAlB0C,OAa5E,cAXC,mCAqBD,kBAAwC,SAAP,EAA+B,GAA/B,EAAsC,MAA/B,EAA+B,QAA/B,EAAiD,KAAxD,QAAmE,EAAnE,SACjC,QAAoC,GAAxB,MAAqB,GAAqB,GAC1C,EACf,4IZgTO,OADA,MAAY,EAAc,iBA6E1B,MAAsB,GAEC,KADvB,EAAkB,MAAc,KACL,MAAM,gDAAN,qBACT,QAAO,YAAzB,MAAkB,KAAO,MACrB,8BACA,OAAO,KAAU,QAAQ,GAG7B,kBA/TkF,OAA5C,EAlEhB,IAkE+B,WAAc,GAAe,MA+T1E,CnJtY8B,GACmla,OmJsYrna,mCAAoB,gCAAuB,GAAW,IAAxC,uBAElB,OADA,QAAc,GAAO,GACd,EAvFA,GAAU,EAAU,EAApB,sBAIP,MAAY,EAAc,GAC1B,MAAa,QAAc,WAE3B,OADA,QAAc,GAAU,GACjB,qBrQ7MsxO,KAAZ,SqQiNjxO,OAA6B,QAAe,KrQ5QzC,4BqQ4VC,EAAW,EAAX,IAAuB,GAAP,IAChB,QAAkB,EAClB,SACI,QAAkB,EAAlB,IAA8B,GAAP,IACvB,MAAM,uCAAN,eACG,KAAU,EAAQ,WAE7B,QAAc,GAIiC,MAHzC,KAAY,EAAQ,IAAc,KAC3B,KAAY,EAAQ,EAAW,EAA/B,IAAsC,GAD9C,IAEQ,KAAY,EAAQ,EAAW,EAA/B,IAAsC,GAF9C,GAGO,KAAY,EAAQ,EAAW,EAA/B,GAAmC,IAExC,EAAW,EAAlB,sBAQa,QAAgB,KAAO,MAChC,QAndP,MAmdO,SnJnakC,GAC8uc,GAD9uc,GmJmaE,UACpC,QApdP,MAodO,UAA2C,InJpaT,GACmyc,GADnyc,GmJoanB,GAA4B,UAC3C,QArdP,MAqdO,SAA2C,InJraT,GAC61c,GAD71c,GmJqanB,GAA4B,aAC7B,kCAAyB,GAAS,sBAAxC,uBAJZ,0BAqJA,MAAc,MAAc,IACxB,GAAkB,GAAP,WAA4B,IAAX,IAAe,MAAM,MAAN,qBnJvjBk5nB,QAAO,YAAP,aAAO,GmJwjB37nB,EAljBc,GnJPW,GAAL,MAAK,MmJ0jBlC,EACI,KAAuB,MAAM,MAC7B,UnJ5jB8B,MmJ8jBlC,EACI,KAAuB,OAAO,MAC9B,aAGM,mDAAkD,QAAuB,IAA/E,uBAVR,6BAgBW,GAAP,SAAgB,EAAhB,GAA0B,EAAc,QACxC,MAAM,oCAAN,eAGoB,aAAd,GAAc,OAAxB,GAAU,KAAL,MAAK,MAAc,EAAd,EACN,MAAe,KAAc,GAC7B,EAAa,WAAO,EAAU,EAAjB,MnJ/kBqB,GACsqpB,MmJMjrpB,GnJPW,GACurpB,ImJ+kBrtpB,OACM,mDAAkD,QAAuB,IAA/E,8BAJR,GAAU,GAQV,QAAkB,EAAU,EAAc,OAA1C,gBA7fiC,aAG1B,kBAgCyB,gBACN,+BAvDgE,OnJrEpD,GACyhE,GmJC3iE,IAmEmC,WnJrEjB,GACyjE,ImJbnkE,gBAPrB,uBAQA,uBAKA,uBADA,uBADA,uBAhBA,uBACA,uBACA,uBACA,uBACA,uBAjBA,uBAqBA,uBATA,uBAHA,uBAuBA,uBACA,uBACA,uBATA,kCAqEH,gCnJzDyC,EAAP,GAC8uD,GmJwD5vD,QAAkB,GAAU,GAAF,uBAGY,OAAtB,KnJ5DF,GACs0D,GmJ2DlzD,sBAG1D,QAAc,GAAK,qBAGuC,OAApB,KnJlEA,GAC69D,GmJiE58D,wBAtDvC,cAPM,KAUN,yBAbI,iBAqBV,WAAV,GAAgB,MAAX,MAAK,UACN,KAAU,EAAV,eADJ,GAAgB,IAIhB,KAAU,EAAV,QACA,KAAU,EAAV,SACA,KAAU,GAAV,SACA,KAAU,GAAV,SACA,KAAU,GAAV,SACA,oBACA,oBACA,oBAhBA,mBAoBU,WAAV,GAAa,MAAR,MAAK,UACN,KAAS,EAxCiB,WAuC9B,GAAa,IAIb,KAAS,EAnDwB,GAoDjC,KAAS,GApDwB,GAqDjC,KAAS,GArDwB,GAsDjC,KAAS,GAtDwB,GAuDjC,YAtD4B,GAuD5B,YAtD4B,GAuD5B,aAtDgC,GAuDhC,aAtD8B,GAuD9B,YAtDiC,GAuDjC,YAtD+B,GAuD/B,YA/D6B,GAgE7B,YA/DiC,GA6BjC,4DAtDO,wBaR+C,cAA/B,4BCGsD,OAAjB,EAAK,oBCNpD,cAAc,oBCQ4E,OAAxB,GAAQ,8pDxB0CpF,+CACE,kDAsBL,MAAa,WAGT,OADA,QAAe,EAAQ,EAAY,GAC5B,EAAO,mBAEd,EAAO,sCAWX,MAAY,OAAgB,GAE5B,EADY,OAAqB,KAArB,KAA0C,EAAO,EAAa,MAAY,MACnE,IAAwB,GAE3C,OADA,EAAM,MACC,6DAkLJ,kDAgDC,YjPnLqpW,SAAr1D,WA1Gp0S,MAAM,GAAiC,GiP8RlC,wFAGA,eAwCqB,SApCf,2BzIwGJ,IAinBK,EAjnBL,WAinBK,eAAhB,EAAgB,IAAX,MAAW,qByIvtBqC,UAoC4qrB,GApC5qrB,iBAAa,UAoC+prB,GApC/prB,gBAAc,UAoCiprB,GApCjprB,iBAAc,UAoCmorB,GApCnorB,iBzIutBnE,CAAoB,GAAO,WACtD,GAAO,MyIxtBwC,EjPvS3C,MiPySQ,EAAC,8FAA4F,WjPzS/F,GAAiC,GADzB,aA2G2lW,SAA7lD,WA1G5gT,MAAM,GAAiC,GiPmS9B,sEAUT,OAAO,OACH,WAAgB,WAAmB,WACnC,WAAwB,WAAa,WAAe,WACpD,WAAmB,WACnB,WAAoB,WAAiC,kOCnUtD,+CAMA,oDAWH,MAAQ,oCAAkC,WAAc,uBAAqB,WAAiB,eAAa,WAAnG,4BACyB,WAAsB,iBAAe,WAAW,mBAAiB,WAD1F,wBAEqB,WAAiB,wBAAsB,WAAiB,0BAAwB,WAFrG,yBAGsB,WAAkB,sCAAoC,WAA+B,8NCvC3H,2nBAsJuE,OAAhB,cAAW,qCACN,OAAV,GAAR,8CACqE,OAA1D,GAAR,WAA+D,IAAhC,IAAe,IAAtC,mJAxJrD,ykBA4HuE,OAAhB,cAAW,qCACN,OAAV,GAAR,oDAE3B,WAAQ,IAAf,OAAuB,KACN,IACH,IACC,IAHQ,OAIP,GAJO,+IAnFqB,OAAP,mHAuCzB,6DAGR,gB/PuE0kb,O+PvEljb,GAHoB,EAGR,c/PHrC,E4IoUqC,kBmHhUnC,WAAO,iDAIR,OAAS,KACA,MAAT,IAAiB,mBAAe,OACpC,sBACI,aAAY,EAAM,OAClB,aAAW,EAAM,yCAMrB,QAAa,WAEb,OADS,MAAK,GAAiB,GAAR,YAAvB,wGAWK,+CAHb,wKEjFa,kDAWL,GAAO,GACD,QACF,gBAAoB,EAAQ,SAAiD,GAC7E,gBAAiB,EAAQ,SAA8C,GACvE,iBAAgB,EAAQ,SAA6C,2GAMzE,OADoB,GAAR,GACC,kFAlDrB,4hBA+KiB,4FAGJ,kDAGL,GAAO,GACP,SAAsC,IAAU,EAAS,2GAKzD,OADA,GAAO,GACA,OAAU,SAAsC,IAAY,8EA3L3E,4hBAqJiB,6FAGJ,kDAGL,GAAO,GACP,GAAqB,SAArB,MAA0D,IAAU,EAAS,2GAK7E,OADA,GAAO,GACA,OAAW,GAAqB,SAArB,MAA0D,IAAY,+EApGnF,2DAIL,GAAO,GACI,gBACP,EAAQ,sCAER,EAAQ,MAA+C,aAA/C,GAA+C,EAA/C,aAHZ,iHAQA,MAAqB,GAAR,GAAwB,WACjC,iBAA0B,MAAM,IAAsB,EAAK,wDAA3B,GAAkF,GAAwB,GAAP,IACvI,OAAO,gFAYF,kDAIL,GAAO,GACP,EAAQ,iHAIR,GAAO,GACH,EAAQ,MACR,MAAM,OAAuB,2BAGjC,OADA,EAAQ,MACR,8EAMK,qDAKL,GAAO,GACH,EAAM,MACN,OAAO,EAAQ,IAAa,EAAM,OAGhC,MFqF6C,GErFnD,EFqF2C,UErFzB,MAAZ,EjQ+BN,OAAO,EAAQ,IAFc,GiQ1Bf,SAAd,EAAM,UAAyB,aAAjB,EAAiB,YAAjB,ajQiCtB,EAAQ,IACH,SAEK,OAAgD,OsJ2Jf,EAAJ,GAvMP,GtJ4CV,MAAc,GAAsB,KiQ/B5C,kBFwFiE,OAAhB,GAAR,SExFzC,CAAN,MAAoB,MAAd,EjQ+BgG,OAAO,EAAQ,IAAnC,GiQ9B5E,SAAN,MAAqB,MAAf,EjQ8BqK,OAAO,EAAQ,IAApC,GiQ5BtJ,EAAQ,IAAa,EAAM,+GAI3B,MAAqB,GAAR,GAAwB,WACjC,iBAAwB,MAAM,IAAsB,EAAK,sDAA3B,GAAgF,GAAwB,GAAP,IACnI,OAAO,8EAuFoB,OAAnB,SAAS,mCAEI,OAAb,SAAS,mCAEa,OAAtB,SAAS,oCAE2D,OAA9B,SAAS,IAAe,iCACM,OAA9B,SAAS,IAAgB,iCAC6B,OAArC,SAAS,IAAsB,iCACI,OAApC,SAAS,IAAqB,iCACT,OAAjC,SAAS,IAAkB,sGCpN7E,YAAe,+BAGO,yCAGtB,YAAe,+BAGI,0CAEiB,OAAnB,WAAO,IAAU,iCACA,OAAf,WAAO,IAAM,iCACiB,OAA1B,WAAO,IAAM,EAAE,0CACY,OAA1B,WAAO,IAAM,EAAE,0CACW,OAA5B,WAAO,IAAY,GAAF,kCACY,OAA5B,WAAO,IAAY,GAAF,kCACS,OAA5B,WAAO,IAAY,GAAF,kCACG,OAAnB,WAAO,IAAU,iCACY,OAA1B,WAAO,IAAM,EAAE,0CACc,OAAzB,WAAO,IAAY,sEAM5C,Y9GoWqC,EAAV,GAlWvB,G8GFU,SAAuB,GAAT,M9GoWS,EAAV,GAlWW,G8GFgB,SAAiB,GAAT,2CAI9D,Y5G+WyC,EAAX,GAhXmC,G4GCnD,SAAwB,GAAV,M5G+Wa,EAAX,GAhXsE,G4GC7C,SAAkB,GAAV,2CAI/D,YhH8SyC,EAAX,GAjTO,GgHGvB,SAAwB,GAAV,MhH8Sa,EAAX,GA/StB,GgHC+C,SAAkB,GAAV,2CAI/D,YzGuT6C,EAAZ,GA3T4C,GyGI/D,SAAyB,GAAX,MzGuTiB,EAAZ,GAxTvC,GyGC8D,SAAmB,GAAX,0HAWpE,YAAe,EACf,+DAIA,+DAIA,YAAe,EACf,SAAO,MlQJsB,iBA8EnB,OAAd,EAAsB,KAAR,QkQzEM,SAAM,WAAK,MAAc,alQyE7C,EAAsB,gCkQrElB,oIChEA,WAAO,IAAK,gCAIZ,OAAO,WAAO,yVIuBA,2BAAF,EAAE,EAAd,MAAc,QACV,IAAS,WAAkB,QAC3B,SAEJ,WAAkB,GAAS,gCAK3B,WAAS,YAAgB,0CAWK,IAA1B,WAAS,YAAT,CAAkC,2BAAF,EAAE,cAAgB,WAAkB,eAApC,KAChC,SAEJ,WAAkB,YAAgB,EAClC,WAAS,aAAgB,gCAKK,IAA1B,WAAS,cACT,WAAkB,YAAlB,mCAMJ,MAAY,eACW,IAAnB,WAAS,GAAU,CACnB,WAAS,IAAS,EAClB,sCAGgB,IAAhB,YAEA,oEvQkE0kb,OuQpFtlb,EAyBY,GAAQ,KvQWa,iBAAe,EAAf,EA4Cf,OAAd,EAAsB,KAAjB,MAAS,UuQrDF,MAAc,WAuCV,MAtCA,qBACI,KAAQ,MAAR,OACoB,IAAhB,WAoCR,KAlEpB,EA+B4B,GAAQ,KA/BpC,EAgC4B,GAAO,WAkCf,IAlEpB,EAiC4B,GAAQ,WAGZ,MAAU,WA8Bd,GA5BQ,GAAO,IAtCnC,EAuC4B,GAAQ,KAvCpC,EAwC4B,GAAO,EAAQ,IAAe,UAG/B,WA3C3B,EA4CoB,GAAQ,KA5C5B,EA8CoB,GAAQ,KA9C5B,EAgDoB,GAAO,GAhD3B,EAiDoB,GAAQ,KAjD5B,EAkDoB,GAAQ,YvQ8BxB,EAAsB,GuQxDlB,OvQdG,E4IoUqC,6C2H5QD,OAAT,yGGhCsD,0MAtFxE,mEAuFA,WAAN,iBAAM,MACR,8BAAa,eAAqB,6BAClC,8BAAY,eAAqB,6BACjC,oCAAgB,wBA1FR,uBA0FQ,OA1FR,+DA2FR,8BAAiB,sCACT,iBAAM,IAAM,gDAAN,sNANkE,yPAlFpF,WAHA,WAGgB,MAAM,IAAiB,MAHvC,WAII,MAAM,QAAmB,MAJ7B,WAIuC,MAAM,IAAM,2BAAN,oBAC7C,MAoEsB,uCAzEtB,WAMO,MAAM,iCAET,WARJ,WAQkB,MARlB,WAQ6B,MAAM,MARnC,WAQ+D,MAAM,MARrE,WASI,MAAM,IAAiB,qBATV,4DAUb,QACA,WAoFqtI,GApF9sI,WAAO,GAEd,WAbJ,WAagB,MAAM,MACZ,oBACF,oCACA,iCAhBR,WAiBgB,MAAM,IAAM,sCAAN,iEAIlB,aAAa,KArBjB,WAsBI,MAAM,IAAiB,MAChB,aAAa,MAvBxB,WAwBI,MAAM,IAAM,4BAAN,eAEH,OAAW,wNAoCL,QAAY,WAAM,SAC3B,WAAa,SAAqB,WAClC,WAAY,SAAqB,WACjC,cAOuB,uBAAF,EAAE,EAAnB,MAAiC,MAAd,QACf,yBAtEZ,EARoC,EAQpB,MAAM,IAAiB,MARH,EAShC,MAAM,QAAmB,MATO,EASG,MAAM,IAAM,2BAAN,eAC7C,MtQoFsD,YsQ9FlB,EAW7B,MAAM,QAET,MAbgC,EAalB,MAbkB,EAaP,MAAM,MAbC,EAa2B,MAAM,MAbjC,EAchC,MAAM,IAAiB,MACvB,MAdJ,QtQkBI,EAuNR,GAvNe,EAAO,GsQAR,MADN,EAlBgC,EAkBpB,MAAM,SAEd,kBACA,SAAc,QArBc,EAsBpB,MAAM,IAAM,sCAAN,gBApBzB,OAwBO,IAAa,KA1BmB,EA2BhC,MAAM,IAAiB,MAChB,IAAa,MA5BY,EA6BhC,MAAM,IAAM,4BAAN,eAEH,OAAW,GAiDN,OAEF,sBAAF,EAAE,IACF,UAEJ,WAAiB,oBACG,mDAAiD,EAA7D,WAAM,qBAnBlB,+GIvDA,MAAiB,EAAiB,uBASlC,MAAW,EAAW,SAClB,iBAA2B,WAC3B,MAAM,GAA0B,kBAAiB,EAAY,KAA7B,qFACL,EAAI,wFAG/B,QAAsB,eAKtB,YAA8B,YAC3B,iBACA,gBAEH,MAAM,GACD,kBAAiB,EAAY,KAAW,YAAU,EAAI,oEAxB/D,MAAU,EAAY,GACjB,4BAgCK,QAAmB,EAAX,EAAW,SAA7B,EAAU,KAAL,MAAK,UACN,MAAW,EAAW,IAAe,MACjC,IAAQ,QACR,MAAM,GACD,8BAA4B,EAAW,kBAAgB,EAAvD,wMAJb,EAAU,GA9BN,MAA6B,EAAY,oL1QTU,aA8U3D,EAAY,KA7UJ,MA8UY,MAAT,EAAS,KAChB,E2QlV2B,GAAkB,G3QmV7C,KAhVI,EAgVK,KACT,SAEA,EAnVL,MA8UC,EA7UH,yBAAmB,eAiOhB,KAAI,EAAK,qC2QjOL,eAAI,EAAY,MAAM,MAAtB,E/QU2B,OAA5B,E+QTC,MAAY,IAEZ,OADA,SAAI,EAAY,EAAK,GACd,kCAKA,oBAAI,KAAa,MAAjB,EAAiB,KAAjB,EAAiB,GAAI,aAAJ,GAAI,EAAJ,MAAxB,aAAO,EAAP,oHCbW,+CAEI,+CAmBV,+CAOuF,OAAN,IAA1C,GAAe,WAAK,MAAe,YAAO,6CAmB9E,kBAAqD,WAAK,MAAc,MACxE,OAAO,EAAa,IAAY,MAGpC,MAA4C,GAAxB,EAAa,MAA8B,YAC/D,EAAW,WAAM,IAA4B,EAAe,WAAc,OAC1E,EAA0D,QAC9C,MAAR,IACA,EAAmB,EAAa,IAAgC,KAAM,IAElD,MAApB,EAEA,OAAO,WAAsC,EAAtC,IAAsC,EAAtC,MAGX,WAAsB,OAAoB,SAE7B,EAAiB,IAAY,MAC1C,OAFA,MACa,EADb,oCAKM,OAAwB,QAAe,GAAE,UAAW,cAAc,WAAM,MAAK,MAA7E,oCAKV,UAAmB,GAAL,WAAgB,UAC9B,WAAM,MAAK,IAAe,GAC1B,WAAM,IAAiB,EAAQ,UAC/B,MA+CI,MAAM,QAAmB,MACzB,QAAM,IAAM,2BAAN,eA/CG,aAEC,OAAgB,OAAe,IAAY,OACjD,WACA,EACA,WACA,EACA,4BAEQ,kBAAQ,IAAW,WAAK,MAAc,MAC9C,KAEA,OAAqB,WAAM,EAAS,WAAO,EAAY,YAZ/D,uCAqBI,WAAK,MAAc,OAAiD,IAA5B,EAAW,qCAUhD,MAAmB,YAmM9B,IAnMW,WATH,MAAqB,GAGzB,WAAM,IAAiB,WAAK,OAE5B,WAAM,MAAK,uCAUF,eAAe,MAAf,EAAe,KAAf,EAAe,MAAxB,OAAS,cAA2C,WAAM,mCAK1D,OAAO,yCAeP,QAAe,yBAAwC,IAAL,EAAV,GAEpC,GACA,WAAM,MAAK,MAGf,MAAkB,sBAAN,KAAgC,EAAY,EAAO,EAAc,GAK7E,OAHI,GACA,WAAM,MAAK,IAAoB,GAE5B,gCAIW,mCACJ,sBA8Cd,MAAe,QAAM,MACd,QAAM,QACT,GAAW,EACX,MAAU,MACV,QAAM,IAAiB,MACvB,QAAuB,GAAX,EAA4B,QAAM,YA6G/C,IA5GqB,OACZ,QAAc,QAAqB,KAAiB,EAAY,IAIhE,cACA,OADe,MAAf,KAAe,IAAK,GACb,EAJP,EAAW,QAAM,SACjB,UAMJ,EATJ,IAaI,EAAW,KAAc,IAG7B,GAAU,QAAM,IAAM,4BAAN,eAEb,kBAAe,MAAf,EAAe,KAAf,EAAe,MAAtB,OAAO,iBAmFX,KAnFW,EAAP,EAtEqB,MAAkB,cACzB,gBAWd,SAAe,EACf,IAAsC,IAApB,QAAe,EAAf,OACd,GACoB,IAAhB,UACA,EAAW,QAAM,OAGrB,QAAM,IAAiB,MAGhB,QAAM,UACT,MACoB,IAAhB,QAAgB,CXoCjC,cAAc,GAAC,EAuOkD,UACvD,GAAW,MW5Q4C,4BX4Q5B,EAAhB,kBAtOX,cAAc,IAqOyC,UACvD,GAAW,MW3QwB,0CX2QR,EAAhB,aWzQV,wBAAF,EAAE,iBAEE,GAAU,QAAM,IAAM,oCAAN,uBA4H5B,EAnII,SArBqB,mCAqFrB,QAAe,QAAM,SACV,QAAM,QACO,IAAhB,SAAuB,GAAU,QAAM,IAAM,qCAAN,eACzC,wBAAF,EAAE,iBAEE,GAAU,QAAM,IAAM,4BAAN,uBA8D5B,EAlEI,SArFY,OAMZ,OAHI,yBACA,WAAM,MAAK,IAAsB,GAE9B,+BA8FP,OAAW,WAAc,MACrB,WAAM,MAEN,WAAM,mCASV,MAAY,WAAM,UAEd,SAAwB,GAAf,EAAM,OAAf,OAA8C,sCAAiC,GAAK,IAAlD,WAAM,qBAC5C,OAAO,EAAM,kCAIb,MAAY,WAAM,UAEd,SAAyB,GAAhB,EAAM,OAAf,OAA+C,uCAAkC,GAAK,IAAnD,WAAM,qBAC7C,OAAO,EAAM,kCAIb,MAAY,WAAM,UAEd,SAAuB,GAAd,EAAM,OAAf,OAA6C,qCAAgC,GAAK,IAAjD,WAAM,qBAC3C,OAAO,EAAM,kCAIb,OAAO,WAAM,4CAIA,iBAuEjB,EAAY,YAER,E/OhVs/E,GAA6xV,wD+OuQnva,2CA2EuB,EAAK,IAA5D,wBA3EA,MAAmB,KACH,WAAK,MAAc,OACX,GAAP,GAAmB,OAAO,EACrC,GAAN,WAAuC,yCAI1B,iBAgEjB,EAAY,YAER,EAlE2C,GAkEpC,wDAlEyB,4CAoEuB,EAAK,IAA5D,wBApEA,MAAmB,KACH,WAAK,MAAc,OACX,GAAP,GAAmB,OAAO,EACrC,GAAN,WAAuC,gCAIvC,MAAa,WAAM,SACE,IAAjB,EAAO,OAAP,OAAgC,kCAAgC,EAAM,IAAlD,WAAM,qBAC9B,OAAO,KAAO,gCAYd,OAAW,WAAc,MACrB,WAAM,MAEN,WAAM,oCAMyB,OADpB,GAAX,GAA6B,OAA4B,WAAO,YACzD,sBAAN,KAAmB,gHAwBnB,gDAhSc,MAAM,GAA8B,qDAmS3B,iBAOhC,EAAY,gB5H9Cc,KAUqC,G4HsC3D,E5HlF6B,2D4HyEkB,0CAWQ,EAAK,IAA5D,wBAX0E,OAAxC,wCACJ,iBAMlC,EAAY,gB1H9C0B,KAStC,G0HuCI,E1HvE+B,2D0H+DkB,2CAUM,EAAK,IAA5D,wBAV+E,OAA3C,wCACN,iBAKlC,EAAY,gB9H5Cc,KAY9B,G8HkCQ,E9H1H+B,2D8HmHkB,2CASM,EAAK,IAA5D,wBAT+E,OAA3C,wCACJ,iBAIpC,EAAY,gBvH3C8B,KAKL,GuHwCjC,EvH/GiC,2DuHyGkB,4CAQI,EAAK,IAA5D,wBARoF,OAA9C,wHP7VjC,+CAUA,qDEcS,kBAAtB,KAjC2D,MAAK,MAAc,OAI1E,MA6BkB,aA7BlB,GAAa,EAAb,KACA,EAAmD,GA4BjC,EA5BsB,MA4B5C,KA5B0E,OACtE,EAA8B,GAAP,EA2B3B,KA3BkC,GA2BA,GA3BgC,EAAhC,MAC9B,GAAiB,EAAQ,EAAkB,kBA0BvC,gB/P0FyC,MAAM,GAA8B,+H+PzF7E,gB/PyFyC,MAAM,GAA8B,oI+PxF7E,gB/PwFyC,MAAM,GAA8B,kE+PnHjF,CAAU,EAAiB,MAAW,OFoC9B,WA7BiC,EELzC,EAAiB,IAuBrB,KAAkC,QAAZ,EAhCH,IAgCnB,KAAkC,GA/B1B,mCFuDA,MAAmB,GAAL,WAAgB,MAC1B,YAAQ,OAAR,OAAiB,SACjB,WAAS,IAAM,EAAQ,OACvB,WAAS,OAGmB,MAA5B,2BAdJ,QAAS,MACT,MAAqC,GAAxB,UACb,QAAS,IAAM,MACf,QAAS,MACT,MAAa,EAAW,OAWpB,MAAe,GACf,WAA2B,MAG3B,kBAAQ,GACR,OAAO,KAGJ,mBAAgB,MAAhB,EAAgB,KAAhB,EAAoB,EAAQ,MAAnC,OAAO,QAAwC,OAAqB,WAAU,WAAM,EAAS,YAAtF,gCAIH,qBAAK,OAAL,OAAY,SACZ,WAAS,MACT,WAAS,MACT,WAAS,IAAM,WAAK,+CAKlB,sBACQ,EACD,WAAS,OACV,WAAS,IAAM,MACnB,WAAS,iBAEH,KACD,WAAS,MAWV,YAAe,EACf,WAAS,UAZC,OACsB,IAAb,EAAQ,EAAR,IACf,WAAS,IAAM,MACf,WAAS,SACT,IAEA,WAAS,IAAM,MACf,WAAS,SACT,GAPJ,wBAcE,EACO,IAAT,IACA,YAAe,GACN,IAAT,IACA,WAAS,IAAM,MACf,WAAS,MACT,YAAe,iBAId,WAAS,OACV,WAAS,IAAM,MACnB,WAAS,MACT,SAAa,EAAW,IAAe,IACvC,WAAS,IAAM,MACf,WAAS,MAGjB,OAAO,gCAkB4B,OAHpB,GAAX,GAA6B,UAC7B,MAQO,oBAAwC,QAC9C,OAA2B,QAAS,MAAQ,SATf,WAAM,WAAM,MAEnC,sBAAN,KAAmB,sCAWxB,WAAS,IAAM,oCAIX,WAAc,SAAa,EAAM,YAAiB,WAAS,IAAM,iCAIjE,WAAc,SAAa,EAAM,YAAiB,WAAS,IAAM,iCAIjE,WAAc,SAAa,EAAM,YAAiB,WAAS,IAAM,iCAIjE,WAAc,SAAa,EAAM,YAAiB,WAAS,IAAM,iCAIjE,WAAc,SAAa,EAAM,YAAiB,WAAS,IAAM,oCAKjE,WAAc,SAAa,EAAM,YAAiB,WAAS,IAAM,IAChE,WAAc,QAA0C,GAAN,GACnD,MAAM,GAA4B,EAAuB,GAAhB,WAAS,yCAMlD,WAAc,SAAa,EAAM,YAAiB,WAAS,IAAM,IAChE,WAAc,QAA0C,GAAN,GACnD,MAAM,GAA4B,EAAuB,GAAhB,WAAS,sCAKtD,SAAmB,GAAN,kCAGqD,OAA3B,WAAS,IAAY,gHInLvD,8CACJ,+CAI6B,OAAtB,WAAK,mCAO8C,OAAf,uCAG5C,OAAO,QAAmC,mCAGqC,OAAT,gCAGtE,QAAoB,SACI,EAAX,EAAW,SACpB,YAAoB,uBAA0C,gBDEnE,iBA4KC,MAAM,IACF,EACC,YAFC,OAEmB,8BA9KX,EA8KmD,MAAW,aAFtE,GA5KP,MCF+C,SDmL3C,WClLC,kBIR6Y,aAjBrZ,EAA0D,GAiB+X,EAjBvZ,IAAqB,GAAqB,SAC5E,EAAc,EAAc,SAEjB,iBAA4B,kBJwBN,gBDA2B,iBA2KxD,MAAM,IACF,EACC,YAFC,OAEmB,8BA7K8C,EA6KN,MAAW,aAFtE,GA3KkD,MCA9C,SDgLP,YKtMI,QAAc,MAGrB,MAAM,GAAwB,SJoBA,gBDAI,iBA0KlC,MAAM,IACF,EACC,YAFC,OAEmB,8BA5KwB,EA4KgB,MAAW,aAFtE,GA1K4B,MCAxB,SD+KP,KKxMP,aJ2BgC,gBDAJ,iBAwKxB,MAAM,IACF,EACC,YAFC,OAEmB,8BA1Kc,EA0K0B,MAAW,aAFtE,GAxKkB,SCAZ,ED6KT,EC7KS,4CAPZ,qEAeoE,QAA5B,mBAA4B,kCAGpE,MAAqB,SAAe,GAC7B,oCAAoC,MAAM,IAC7C,EACC,6BAA2B,EAAG,WAAS,EAAiC,GAAhB,WAF7D,OAAO,gCAakF,QAAhC,SAAe,KAAf,sHAGzD,QAAY,SAAkB,OACzB,WAAK,MAAc,OACA,GAAN,EAAM,EAAW,WACnB,MAAU,MAAM,IACxB,EAAK,4BAA0B,EAAG,0BAAwB,KAA8B,GAAhB,mBAI5E,KADG,MACH,QAAiB,MAAM,KAqChB,QArCP,EAqCO,QAAW,GAtCT,KAAW,aAsCb,EAAP,2CAEA,GAxCS,KAAW,WAAxB,OAAa,2HAK4B,eAAkB,aAC3D,EAAa,GAgCF,GA/BQ,YA+BR,EA/BP,GAA+B,WAA/B,KAAiD,GAAP,GACzC,KA8BM,QAAW,GAjC0C,KAAW,UAiChE,EAAP,mDAEA,GAnC4D,KAAW,SAI9E,OAJmE,2HAMtB,eAAkB,aAC5D,EAAa,GA0BF,GAzBS,YAyBT,EAzBP,GAAiC,WAAjC,KAAmD,GAAP,GAC3C,KAwBM,QAAW,GA3B2C,KAAW,WA2BjE,EAAP,mDAEA,GA7B6D,KAAW,UAI/E,OAJoE,2HAMzB,eAAkB,aAqB/C,EArBuE,GAqBvE,WAAW,GArByC,KAAW,SAqB/D,EAAP,mDAEA,GAvB2D,KAAW,QAAa,OAAxB,2HACtB,eAAkB,aAoBhD,Ed4DiC,Gc5DjC,Ed4DyB,Oc5DzB,QAAW,GApB0C,KAAW,UAoBhE,EAAP,mDAEA,GAtB4D,KAAW,SAAe,OAA1B,wHhMyCqnC,KgMtCxqC,eAAkB,aAiBpB,GhMqB0qC,EgMrB1qC,EhMqB0qC,M5ChHi0C,O4O2F3+E,QAAW,GAjBc,KAAW,WAiBpC,EAAP,mDAEA,GAnBgC,KAAW,UAA/C,MAAoC,KACpB,WAAK,MAAc,OACX,GAAP,GAAmB,OAAO,EAC3C,MAAM,GAA4B,EAAQ,EAAqB,GAAhB,oIAIlC,eAAkB,aAUpB,EduEqC,GcvErC,EduE6B,OcvE7B,QAAW,GAVc,KAAW,YAUpC,EAAP,mDAEA,GAZgC,KAAW,WAA/C,MAAoC,KACpB,WAAK,MAAc,OACX,GAAP,GAAmB,OAAO,EAC3C,MAAM,GAA4B,EAAQ,EAAqB,GAAhB,oIAGA,eAAkB,aAItD,EAJuF,GAIvF,EAJ+E,OAI/E,+BAAW,GAJgD,KAAW,UAItE,EAAP,mDAEA,GANkE,KAAW,SAA2B,OAAtC,kHAetE,MAAY,SAAkB,OACzB,WAAK,MAAc,QACA,GAAN,EAAM,EAAW,UAClB,MAAU,MAAM,IACzB,EAAK,2BAAyB,EAAG,wBAAsB,KAA8B,GAAhB,cAGzE,gBAAmB,MAAM,IAAsB,EAAK,oDAAoE,GAAhB,WAC5G,OAAO,EAAM,wHASuC,OAD/B,GAAjB,GAAmC,OAA4B,OAAgB,SAAkB,GAAK,OAAU,YACzG,sBAAN,KAAyB,EAAK,wMAmB9B,qDAkBE,WAAW,EAAW,QACI,kCAA7B,MAAsB,SAAX,EAAkB,GAC7B,EAAY,WAAW,EAAvB,EACA,YAAY,EzQ+Ba,qBAwBe,GAxBwD,EAwBxD,IAAnB,EAAmB,SAxBvB,IyQ9BK,QAAc,EAAY,OACvC,WAAc,QAAsB,QAAiB,EAAY,EAAO,IAE7E,OAAO,EAGf,aAqGqS,+BA3FrS,OAAQ,YAAmB,sBAAN,sCAIrB,MAAe,EAAK,IAAe,OAC9B,WAAc,MAAqB,OAAO,KAI/B,UAAM,KAAlB,KAAwB,OAAO,gBAG1B,GAAL,cAAgC,KADpC,EACqB,MAAS,EAAT,KAAwC,kFvQoDjD,MAuCjB,UAAM,KAvCW,YAAX,MAAW,SuQnDyB,KA3BrC,KA2BgE,EvQmD1C,CAAoB,EAAO,WACrD,EAAO,KuQnDH,OAAO,OvQvEX,EAAO,GuQuEoB,EADO,gCAIyC,OAAb,GAAN,UAAe,wCAO/D,IAAe,WAAuB,KAC7B,sBAAN,KAAqB,0CAIxB,WAAc,OAAqB,EAAW,mBAAyB,eAIlE,WAAc,eAGJ,GAAX,G3QhFyiI,EAAK,GAAL,gBAAiB,EAAY,MAPpiI,EAO8jI,MAAvD,EAAuD,KAAvD,EAAuD,KAP5iI,EAAlB,QAAQ,KAAR,I2QuFlC,KAAiG,UAFtF,GAAX,OAHR,QAOY,YAAM,KAAN,YAAP,MAAO,UACI,EAAR,MAAiB,IAAO,WACxB,MAAM,GAAoB,EAAK,UAAM,sHAiCE,kDAIsC,OAAjB,EAAO,yCAG3E,OAAO,aAAU,GAAJ,uCAIN,YAAe,WAAO,EAAtB,KACH,iBACA,OADA,iBACO,WAEX,aAGqS,+GA7CvP,kDAM9C,MAAQ,EAAQ,EAAhB,EACA,OAAO,aAAK,sCAIL,YAAW,WAAO,EAAlB,KACH,iBACA,OADA,iBACO,WAEX,aA8BqS,gCA1BrS,OAA2B,IAAhB,WAAW,EAAX,Gd7NF,Sc6NmC,Gd7N7B,KACZ,OAAY,GAAkB,Gc4N2B,GAAN,WAAe,2PRpIxD,QAAb,QACI,+BAAK,8BAAK,8BAAK,8DAOF,KADD,WACZ,OACM,8CAAsC,cAAO,WAAkB,EAAzB,IAA4B,WAAxE,yDAYJ,MAAY,WAIZ,OAHI,IAAS,GACT,SAAK,GAEF,gCAIP,eACA,MAAa,WACb,EAAW,YAGK,KADZ,EAAO,SAAc,KADlB,CAGY,gBAAf,MAAQ,KAAO,QACX,8BAAY,8BAAa,8BAAa,iCAC1C,WAAkB,EACd,oBAAK,IAAU,YACnB,SAAgB,EAHqC,EAKzD,WAAkB,EAClB,SAAgB,iCAId,sBAAF,EAAE,EACE,YAAmB,GAAK,8BAtLV,SAsLgC,YAC9C,SAAM,uDAAuD,WAAkB,EAA/E,EA/L+B,0FAiMnC,SAAK,GAAiB,kCAMD,MAWf,aAVF,IADiB,EACH,sBACd,IAFiB,EAEJ,YACb,IAHiB,EAGJ,YACb,IAJiB,EAIA,0BACjB,IALiB,EAKF,wBACf,IANiB,EAMC,yBAClB,IAPiB,EAOD,uBACP,eAGW,eADZ,aAA0B,GAAP,aAAiB,YAAmB,EAAI,MAAsC,GAA5B,cAAO,WAAkB,EAAzB,KAC5C,cAAY,WAAkB,IAAnE,2DAIA,MAAa,WACb,EAAW,YAGK,KADZ,EAAO,SAAc,KADlB,CAGH,MAAS,KAAO,QACZ,8BAAa,8BAAc,8BAAc,6BAK7C,OADA,WAAkB,EACX,GAAiB,GAJlB,IAAF,EAAE,EAOV,OADA,WAAkB,EAjMQ,gCA2M1B,MAAc,WACd,EAAU,SAAc,GAExB,MAAiB,GAAP,YAAgB,EAA1B,KACI,EAAM,IAAgB,IAAX,EAAe,OAAO,EAC3B,WAAV,GAAa,KAAR,MAAK,cACF,aA3OU,OA2OL,IAAL,OAAW,cAAO,EAAU,EAAjB,KAAqB,OAAO,QAD/C,GAAa,UAOT,EAAM,GAA8C,IAAzC,GAAiB,cAAO,EAAU,EAAjB,MAChC,WAAkB,EAAU,EAA5B,GACO,gCAIP,MAAc,mBAIK,KADf,EAAU,SAAc,KADrB,CAGH,MAAQ,cAAO,QAEX,8BAAY,8BAAa,8BAAa,6BAGtC,QAFE,IAAF,EAAE,EAMV,OADA,WAAkB,EACX,gCAMP,QAAY,cACK,MACA,IAAT,GAA+B,IAAT,EAAmB,OAAO,OACpD,mBAEa,IAAT,EAAoB,OAAO,OAC/B,WALJ,QAQA,OADA,WAAe,EACR,sC1L5BqB,a0LgCoD,O1LoHsC,GAAlC,KAnJjF,EAAU,wC0LwCO,MAAhB,WACO,SAGJ,4DAKP,MAAsB,EACtB,EAAmB,EACnB,EAAW,KAAO,GAClB,GAAiB,GACV,kCACC,iCACA,GAAa,GAEU,KADvB,EAAkB,SAAc,QAAa,EAAc,KACpC,OACP,EAAZ,SAAM,MAAN,eACJ,EAAe,WACN,IAAF,EAAE,IAA0B,GAAP,GAAO,IACnC,GAAa,EAEb,SAAY,EAAc,IAEH,KADvB,EAAkB,SAAc,IACT,OACP,EAAZ,SAAM,MAAN,eACJ,EAAe,EAEnB,EAAO,KAAO,GAGlB,MAAkB,EAKd,QAAc,EAAc,GAH5B,SAAU,EAAc,GAM5B,OADA,WAAuB,EAAkB,EAAzC,EACO,+BAoBP,QAAa,WAOb,MApWkB,SAiWd,IAQG,gBARe,MAQf,MAAO,QAAkB,EAAzB,qBAPH,SAAM,oDAAN,eAEG,kCAUa,MAAhB,WACA,OAAO,SAEX,MAAc,cACV,GAAkB,GAAP,cAA4B,IAAX,EAAW,OAAgB,EAAZ,SAAM,MAAN,eAC/C,MAAY,GAAiB,cAAO,OACvB,IAAT,EACA,OAAO,cAGE,IAAT,SACM,oDAA4C,cAAO,IAAzD,8BAEJ,OAAiB,EAC2B,IAArC,GAAiB,cAAO,SACzB,IAAF,EAAE,IACoB,GAAP,YAAO,CAClB,GAAa,EACb,SAAY,WAAiB,GAC7B,MAAU,SAAc,OACb,IAAP,EAGA,OADA,WAAkB,EACX,QAAc,EAAG,GAExB,EAAU,EAItB,MAAkB,EAGd,QAAc,WAAiB,GAF/B,SAAU,WAAiB,GAK/B,OADA,WAAkB,EACX,kCAKP,WAAc,GAAO,WAAQ,EAAW,yCAoCnC,SAAgB,IAAL,WAAgB,EAAhB,gDAahB,E1QjYgD,K0QkYhD,EAAgB,cACC,IAAb,GAA2C,IAAb,EAE9B,OADA,WACA,eAIiB,KADjB,EAAY,aAKN,WACF,OAAe,MACX,EAAW,EAAI,WAEnB,UAC6B,IAAV,GAAX,GAAoC,MAAM,GAC1C,WACC,iCAA+B,WAChC,YAEO,GAAX,WAEJ,UAC6B,IAAV,GAAX,GAAmC,MAAM,GACzC,WACC,iCAA+B,WAChC,YAEO,GAAX,QAEJ,QAAU,SAAM,6EAAN,kBAEd,WACuB,IAAnB,EAAW,IAAW,iBA1BlB,EAAqB,WAA4B,6CA+B7D,MAAQ,sBAAoB,WAAM,sBAAoB,WAAe,kCAMrE,MAAgB,SAAU,EAAG,YAC7B,EAA4B,GAAV,EAAsB,EAAZ,aAC5B,SAAM,+BAA6B,EAAG,IAAI,EA5fP,qHAggBnC,E1LzOsD,IAAV,GA0MjB,G0L+BW,GAAS,KAAG,EAClD,MAAM,GAAsB,EAAU,EAAW,aAAc,WAAK,MAAY,EAAa,kDAFjG,oBAA0C,YAA1C,aAA0E,IAA1E,6CAUI,QAAc,aACd,EAAU,SAAc,KACF,GAAP,cAA4B,IAAX,IAAe,SAAM,MAAN,eACxB,wBAAO,IAAP,kBAGb,IAAF,EAAE,KAAkB,GAAP,aAAe,SAAM,MAAN,kBAChC,MAEA,EANJ,UAQA,cACA,GAAiB,EACjB,EAAY,EACZ,GAAe,SACR,IACH,MAAe,cAAO,MAClB,6BACI,IAAW,GAAO,SAAM,2CAAN,eACtB,GAAa,EACX,IAAF,EAAE,UAIO,IADD,GAAiB,GACN,QAEvB,KADE,IAAF,EAAE,KAC2B,GAAP,aACtB,MAAY,kBACE,GAAV,MAAa,GAAb,OAAsB,6BAAoB,GAAE,uBAA5B,2BACpB,E7H9Qm3O,EA1Kt0O,iBAlBA,GAAY,GA4L60O,K6H+Ql4O,mBAAiB,SAAM,yBAAN,oBAErB,IAAS,GAAY,GAAc,KAAS,EAAU,EAAnB,KACnC,SAAM,2BAAN,eAEA,IACK,GAAU,SAAM,MAAN,eACX,wBAAO,IAAP,iBAA2B,SAAM,kCAAN,eAC7B,IAAF,EAAE,GAEN,WAAkB,EAEd,IAAc,aACd,uCACQ,SAAM,yBAAN,iBAD0B,EAAD,KAFrC,sCASA,OAAO,QAAe,yCAItB,QAAc,WACV,IAAkB,GAAP,aAAe,SAAM,MAAN,eACP,wBAAO,IAAP,iBACjB,IAAF,EAAE,KACF,MAEA,EAJJ,QAMA,EAAa,QAAe,MACxB,GACI,aAA0B,GAAP,aAAe,SAAM,MAAN,eAClC,wBAAO,aAAP,iBACA,SAAM,kCAAN,eACF,sBAAF,EAAE,EAEN,OAAO,sGaxlByB,gDAE2D,OAA1C,EAAW,WAAO,OAAQ,GAAc,mCAGzF,MAAa,YACa,IAAnB,YAAyB,WAAkB,EAAO,QAAzB,CACZ,kCAAhB,IACa,EAAS,GADb,KAAO,OAEZ,IbyBD,Ea1BH,OAEY,EAGhB,Ob4BO,+BaxBP,MAAc,cACV,IAAW,WAAO,SAAqB,IAAX,EAAe,OAAO,KAClD,wBAAO,IAAP,iBAEA,OADE,sBAAF,EAAE,GACK,EAEX,OAAO,+BAIP,MAAc,eACC,IAAX,EAAe,OAAO,OACnB,EAAU,WAAO,SACpB,MAAQ,cAAO,QAEX,8BAAY,8BAAa,8BAAa,6BAK1C,OADA,WAAkB,EACX,SAAkB,GAJnB,IAAF,EAAE,EAOV,OADA,WAAkB,GACX,+BAIP,MAAc,eACC,IAAX,EAAe,OAAO,SAEnB,EAAU,WAAO,SACpB,MAAQ,cAAO,QAEX,8BAAY,8BAAa,8BAAa,6BAGtC,QAFE,IAAF,EAAE,EAMV,OADA,WAAkB,EACX,iCAIgB,IAAnB,YAAuB,SAAgB,OAC3C,MAAa,WACN,WAAkB,EAAO,SACb,kCAAf,MAAQ,KAAO,QACX,8BAAY,8BAAa,8BAAa,iCACtC,oBAAK,IAAU,YACnB,SAAgB,EAFqC,EAIzD,SAAgB,gCAShB,SAAiB,MACjB,MAAc,oBACd,EAA0B,GAAP,WAAO,EAAa,GAAb,WACN,IAAhB,GAAoB,SAAK,MAEnB,WAAV,EAAwB,KAAnB,MAAK,aAEF,wBAAO,IAAP,Ob5DD,Ia6DC,OAAO,oBAAc,WAAQ,WAAiB,SAHtD,EAAwB,GAOxB,OADA,WAAuB,EAAe,EAAtC,EnKEQ,WA4JgF,UA5J/D,EAAS,mCmKGlC,MAAuB,sBAGf,aAAsB,KAAqB,MAC5B,EAAW,WAAwB,cACtC,EACR,aAAsB,KAAiB,KAC1B,EAAW,WAAqB,WAG9C,aAGP,WAAkB,8GE3GtB,WAAG,GAAO,iCAIV,WAAG,GAAO,iCAIV,WAAG,GAAO,iCAIP,GAAH,WAAe,+BAIf,WAAG,uCAIH,OAAO,WAAG,8iBfcuB,IAOP,cATG,aAKG,IADJ,IADA,mDA7BH,+FASP,SAuBY,IACG,IACF,IATH,IArBO,gFADvC,kGAGA,sKRsKG,wCACH,MAAc,OAAY,GAG1B,OAFQ,EAAR,GAEO,OADI,EAAQ,MACG,EAAQ,OAJ3B,qkCyBFI,oBAA2C,MAA3C,2DA8JA,qBACqB,GADrB,cAE0B,GAF1B,mDC5SP,aAAW,GAUH,GAAe,QAAc,YAOiB,eAAgB,2BCNtE,oBCZA,MAAe,UAAmB,GAClC,OAAW,IAAyB,WAAgD,MAArC,UAC3C,KAAuB,WAAa,EDUvB,GAAoB,GACrC,EAAoB,EAAM,KACtB,OAAwB,EAAY,GACpC,OAAoB,GAAqB,GAE7C,OADA,EAAU,GAAM,EAAO,EAAW,GAC3B,mBAsIP,aAAwB,GAA+B,EAAe,oBAUtE,aAAoB,GAAwB,GACX,YAAN,EAAmC,KAAM,uBAqBpE,aAAkB,EAAS,GAGH,YAXE,0CEtLiB,IC6EP,OAAW,OAAmB,UAAuC,gBAAvC,EAAuC,oBAAY,sCAsG/E,GAAR,EAAiB,mDAZvC,GAYJ,EAXQ,KACA,OAA4B,iDAUpC,EAVQ,UAU2C,8BA8FtC,2BAAgB,OAAO,KAApC,QAAa,ECnS4E,EAgBy8W,OAAkB,GDqRpjX,MAAa,EAAO,IACD,GADC,EAEkB,EAFlB,QAKpB,OADA,OAAe,EACR,uBASkB,kCAAyC,MAAzC,EAAyC,KAAzC,EAAyC,GAA8B,MAAxE,QAAiF,WAAzG,MAAwB,EACxB,OACA,KAAO,sB/QpLw/Y,MAAC,oEAAkE,EAAO,iBAA1E,GAAyF,GAD/iZ,MAAM,EAA8B,GAAR,wCiR6MU,sBFpG7B,aA1O5B,KA0OG,EAAK,KAAU,uBA1OlB,EAEF,GAwOuD,OAAO,aAzO5D,EA0OD,OAAO,U/Q1Ga,MAAM,EAA8B,oB+Q4PzE,IAAa,0BDnPrB,MAAe,EAAK,KACpB,EAlHmC,IAkHhB,MACd,GAAgB,iBAA8C,GAAL,KAAqC,GAAX,SAEpF,MAAiB,EAAS,KAC1B,EAAc,EAAS,KACnB,EAAW,GAAiB,GAC5B,EAAW,GAAS,EAAS,eAwBrC,MAAqC,aACjC,EAAU,KAEV,EAAU,GAAmB,QAGN,EAUjB,IAA+B,WATjC,KAAO,QAAyB,GADb,EAeJ,kDAfnB,EAsBA,KAAwB,cAtBD,EAwBb,IAA+B,KApDrC,SAKJ,KAAO,EAAU,GCuOjB,GAAS,4BAqBZ,OAXG,gBAGI,GAEQ,GAAX,IAA8C,MAAd,KACf,MAAlB,GAA2B,mBAA0B,kBAAsD,MAAd,GAGzF,GAAsB,EAAgB,uBAAyB,EAAgB,EAA/E,cAJmD,2BAQnD,oBAG4C,4BEoJ6oF,kBFpc9oF,aAmTrC,OACF,mBACI,MAAa,KAAa,EAAO,EAAgB,EAAY,EAA6B,UACrF,OAAO,uBAAc,EAAO,GAArB,CAA8B,YAG1C,OAFA,MACA,KAAe,GACf,OAEJ,iBAMQ,EAAM,MAEN,QACA,OADgB,MAAhB,I3R5R+lc,KAAtB,EAA6C,EAAM,MA9Chpc,K2R2UoB,IAIZ,KAAoB,IA3BpB,2B/QpRm2hB,MAAC,6CAAD,GAA4C,GAD12hB,MAAM,EAA8B,GAAR,mB+QyVhE,OAAc,wBA3cvB,aAAkB,GAFlB,YAOyD,UAAT,UAAS,KA4BjC,YAhDE,GA2DL,kCAEyB,6BAmeV,qHAqB3B,aAEqC,MAFrC,aAGqD,MAHrD,aAI8B,MAJ9B,cAK+B,MAL/B,0FACT,YACA,YACA,YACA,YACA,0CAbA,cADA,kFGhhBU,cAES,GAFT,wEACV,YAGuB,aAAO,4BAiBP,EAAvB,aAAuB,QAAS,GAAuB,gBAAc,EAAY,2BAA1D,EAAqF,GACrF,cAAO,0BpQmKjB,EAAgB,GAvN/B,MAwNM,eoQjKyjK,GArDvjK,GAqDujK,wBApDzhK,MAAlB,EAAwB,OAA0B,EAAI,GAAqB,SAC/E,GAmDqlK,GAnDrlK,KACjB,OpQkNG,uBoQvNK,oBAC2C,MAD3C,yBAoBL,YACA,sCAPI,iBpQI4B,SAClC,KACU,EAAM,QAsEN,GAAO,GAAc,SAtEiB,SAE9C,wBA2DQ,GAAO,GoQhEe,wBCSxB,6DAFwB,eAE1B,kCANJ,uCCRI,mCAAoC,MAApC,EhSa4C,OAFtC,EAEV,GAAgB,EAAS,GAAuB,mCgSP5C,OADA,GAA6B,KAA0B,QAAjB,GAQQ,EhSaiE,GAAkB,uDAGxH,IgSvBT,oBAGJ,GAA6B,EAAS,mPCoEC,OAA/B,EAA+B,sCA9EP,cAIT,sBAOF,aAMyC,oCAwF5C,yECnHuD,GAAiB,EAAS,EAA1B,mCAeD,GAAM,EAAS,EAAf,oOZ+VP,OAAf,OAAQ,iBa+4BtD,4BAGC,4BAED,4BAEA,4BAOA,4BAIA,6BAEY,yCAmDM,4BAXQ,+BAlQT,YAA0B,iBADR,OAAvB,OAAkB,oBA+CsB,OAAvB,GAAqB,sBAl6BzB,IAEzB,EAFyB,yBAAzB,EAAqE,MAA5C,EAA4C,KAA5C,EAA4C,KAIjE,EAAgB,EAAM,KACtB,MAAiB,EAAM,GAAW,GAClC,qBAgCA,EAAW,QAEP,EAAM,YAsckD,KAtcpC,OAuc5B,OAAyB,QAvcU,EAucC,KAAX,EADiE,KAtcvD,GAC/B,OAAO,kB7RuCC,MAgKR,EAhKQ,YAAX,MAAW,W6R1HC,aA6FuC,I7R6B9B,CAAoB,EAAO,WACrD,EAAO,Q6R7ByB,MADU,EACJ,OADI,EAEtC,MAAY,IAAW,MACnB,8B7R0BQ,MAsKF,EAtKE,YAAX,MAAW,S6R1HC,IAiGsD,GAjGtD,gB7R0HS,CAAoB,EAAO,WACrD,EAAO,Q6RzBiC,MADU,EACJ,OADI,EAG9C,OAAO,EApDc,GAAkB,EAAO,GACxB,MAAd,sBAuDJ,EAAW,KAAQ,EAAG,eAC1B,SAA4C,EAAW,IC7PS,GAAQ,IDmQxE,EAA4B,EACV,gBAAb,IACD,EADc,QAEV,IAAc,GAAa,IAAc,GACzC,kBAAuC,EAAe,EAAI,SAlEtC,GAAwB,EAAY,GAJhE,MAKI,EAGJ,EAEsB,MAAlB,GAEA,IAAmB,EAFO,EAIlB,GAAuB,GAAvB,KAgBZ,OAbsB,MAAlB,IACc,KAAa,IAAmB,KAAmB,MACnD,aAAsC,GAAtC,EAAsC,UAInD,GAAe,KAAa,GACjC,KAAqB,GAEJ,OAAO,uBAAc,EAAkB,GAAX,IAG7C,KAA0B,EAAO,GAC1B,qBAkEP,aAAc,MAAd,InSrJm0U,EAAmC,KAA8E,WA9Cx7U,KmSuMiB,6BAAb,EAAiD,MAApC,EAAoC,KAApC,EAAoC,QAK7C,oBAEI,EAAM,OAAO,6CAEb,KAA4B,OAA4B,mCAAiC,EAAK,QAAM,EAAxE,SAG1B,MAAN,EAAM,KAAM,MAAN,uBA0CV,MAA4B,KEjM5B,EAU+6W,EAV/5W,MACT,IASw6W,IATx6W,IACC,iBF9DF,YAgQE,EAAK,OANiB,6CAQtB,OAAW,MAAX,EAAW,KAAX,KnSpNoqa,EAAa,OAA4B,mCAAiC,EAAI,QAAvd,EAAsZ,GArG7ra,MqSsHQ,EAAM,EAAI,KFwMd,QAAW,MAAX,InSzNmyZ,EAA2iB,GAAjB,GA9Cj0a,KmS0PwC,IAvCpB,CAAN,EAAM,EAAiB,uBAMjC,KAAa,OAoCb,MAA4B,KEjM5B,EAU28T,EAV37T,MACT,IASo8T,IATp8T,IACC,iBF9DF,YAgQE,EAAK,OAtC2B,6CAwChC,OAAW,MAAX,EAAW,KAAX,KnSpNoqa,EAAa,OAA4B,mCAAiC,EAAI,QAAr8D,EAAo4D,GArG7ra,MqSsHQ,EAAM,EAAI,KFwMd,QAAW,MAAX,InSzNqzW,EAAyhE,GAAjB,GA9Cj0a,KmS4NI,KAAa,uBAYT,OAAmB,OAAO,EAM9B,MAAqB,aAArB,GACA,EAAa,cAEE,OAAX,GAAmB,SACZ,IAIJ,EAAO,GAAe,IAAU,mBAkCjC,eACF,gBACQ,EAAM,KA04BA,EAz4BL,OAAO,uBAAc,EAAO,OACjC,OAy4BS,IAFC,EAp4Bd,gBACS,OAAO,uBAAc,EAAO,EAAM,OACvC,OAo4BS,IAFC,EACA,6BAxwB4B,OAAvB,EAAK,OAAU,GEtVo8lB,EAtH1+lB,GAsHy/lB,GArHz/lB,GAAO,GAFW,GAAO,EF6cpB,mBAIL,MAAW,OACX,EAAiB,EAAM,KAAU,EAAU,OAAiB,GAC5D,OAAO,uBAAc,EAAO,oBAK5B,EAAM,GAAc,QAEpB,MEnWoknB,EA/JrinB,KFogB/B,OAAO,uBAAc,EAAO,oBAmLiC,SAC7D,MAD6D,gBAC7D,eAAiB,gBAhBjB,OAgB0B,EAhBU,KADsD,KAiBhE,UAAT,cACY,MAApB,GAAoB,GAApB,EAAoB,IAApB,EAAoB,UAChC,kCAoDsE,EAAM,QAAN,SAC7D,aACF,kBAAY,iBACZ,iBA9rB8B,MAAM,EAA8B,GAosBnD,2BAAyB,IAHpC,KAAwB,KACxB,gBAP2D,EAUlE,kCAOU,KAA2B,MAA3B,QAAqC,OAAO,EAAvD,MAAW,EAEX,EAAiB,OAAU,GAAM,EAAO,WACnC,OAAO,uBAAc,EAAO,KAEjC,KAAiB,EAAM,IAChB,6BAmDH,oBAQC,iBAAkB,kBAAqB,iBAA6B,sCAkB9D,KAA2B,MAA3B,QAAqC,OAAO,KAAvD,MAAW,IAIK,uBAAhB,EAAgB,QAAuB,OAAU,GAAM,EAAO,MAA9C,EAEhB,EAAkC,Q1Q11Bso0C,EAAU,KAAc,OAAO,QAAiE,MAAyB,GAA+T,IAAc,IAA8B,OAAO,uBAAc,EAAO,GAAY,OAAO,KAAqR,MAAoB,EAAU,KAA0B,yBAA4C,MAA5C,IzByI34I,EAAU,GAA5D,EAAkF,MA9CjqtC,KA8CyytC,MAAV,EAAU,KyBzIi6I,E0Q42Blp2C,EnSnwBlB,KAAV,EyB1GrB,I0Qg3Bc,MAAjB,InStuB4+tC,KAAiB,EmSsuB7/tC,GnSpxBJ,KmSsxBI,4BAWA,mCAAmC,MAAN,EAAM,OAAM,MAAN,EAAM,QAAN,UAAnC,EAAoD,SAXxC,GAAW,UACV,MAAT,GAAiB,KAAgB,EAAW,EAAO,GAC5C,KAEJ,KAAuB,EAAW,GA3ClC,GAA0B,EAAO,2BA3jBnC,OAAO,uBAAc,EAAc,GAAP,MACjC,KAAa,MACb,KAAqB,GACrB,KAA0B,EAAO,IAC1B,GAgjBC,GAAuB,EAAO,GAEvB,EAEJ,KAZA,8BAqE8F,+BAC5F,EAAM,QPv4BsE,EAgBg93C,OAAgB,EAAM,EAAO,EAAO,GOu3Bjj4C,SACJ,EAC0C,EAFtC,UAIxB,KAAgC,OAAO,QACrB,GAAN,cAAqB,OAAO,EACrC,EADS,wBAiBhB,MAAU,EEtvBurvC,EA7JjqvC,MFo5BV,EEvvBgsvC,EA9JvrvC,iBFu5B3B,EEzvBuzvC,EA/J5xvC,MAEC,SFw5BxB,gBAAwB,OAAO,KAC/B,gBAAiB,OAAO,IAFT,mBAoH0B,QASpD,OARG,gBACI,EAAM,KAAiB,aACvB,EAAM,KAAiB,aACd,SAEb,kBAAqB,EAAM,KAAW,SAAc,MACpD,gBAA8B,YACrB,+BAOT,YAI4B,aAAO,GAKV,aAAO,GAKA,aAAa,2BAgE7C,cAJA,YACA,YACA,YACA,wEA//BiB,aAAiB,EAAQ,WAypC1C,IAvpCwB,aAAqB,qBAioC+C,YAAtD,kBAAoB,OAAmB,GAAW,gBAqKpD,6BAnExC,2BAiFA,cADA,2BATA,cADA,YAGuB,YAAO,kBAjE9B,cADA,gCAxGoC,+BAA8B,MAA9B,EAA8B,KAA9B,EAA8B,KAAa,OAA5C,QAAwC,EAAxC,iBAFN,2BA6L7B,cADA,2BA5JwC,cAAW,GAC5C,QAAc,GAYoB,4BAOpB,kCAAmC,MAAnC,EAAmC,KAAnC,EAAmC,QAApC,QAA2C,OAAO,MAAlE,MAAgB,IACT,IACC,EAAU,KAAkB,OAAO,QAC1B,EAAU,KAAV,2BAA6C,MAA7C,EAA6C,KAA7C,EAA6C,QAA9C,QAAqD,OAAO,EAAxE,EAAY,GAVqB,gCAtCZ,OAAQ,wBAGE,OAAQ,iCAEpB,OAAQ,sBAEN,OAAQ,wBAOpB,OAAQ,YAEL,QAAM,KAEH,QAAM,kBG7wCe,6BCkDA,aAAQ,uCCpD3B,gJCuTrB,MAAkB,EAClB,EAAuC,EAAK,KhRhTwob,EAAe,OAAO,QAAuC,MAAjB,IAAyB,IAAY,GAAe,OAAO,KAAqC,IAAY,GAAU,OAAO,KAAgF,YAAe,EAAiF,IAAL,GAAvD,EAAc,SAAwY,OAArF,OAAW,EAAc,EAAzB,GAA4F,MAA5Q,QAA6C,OAAW,EAA8P,EAAW,OADh6c,MgRwUI,IAEO,MAAV,YnOy4ZQ,SmOz4ZR,GnOy4ZQ,QAAX,MAAW,MmOx4ZA,MA+E22kb,KA/E32kb,QhR1Uqoe,SAAY,EAA8I,OAA3E,OAAW,EAAc,EAAzB,GAAkF,EAA8H,EAAc,OAAyB,EAAW,OAD/9e,oBgRmSP,cACqB,aAAO,GACL,0BChSW,eAEN,YAEJ,YACsC,4CCZzD,kBAAW,OAAQ,QAQC,OAAQ,iBAQjB,OAAQ,SAhBnB,qCxQYiG,EAAvC,GAAiB,MAxB3D,IAwB4E,MyQtB1E,YACJ,YACA,yCCIf,4BAGC,iCAwQO,2BACZ,IAA6B,UAhEzB,EAAmB,GAgE4B,EAAQ,MA/DnD,OAAW,GAAiB,QAC5B,OAAS,EACT,OAAa,KACb,OAAW,GAAS,OAAS,kBAEJ,OA8EjC,EAAqC,aAG1B,EAAU,KAjFb,EAmFJ,KAnFsB,EAAlB,EAoFJ,KAAa,EACb,EAAU,GArFN,QnBHgiF,EAtB9hF,IAA+B,amB4CrC,EAlBa,EAkBH,iBACC,MAAP,GAAgB,EAAI,KAMxB,GAAO,OALH,QAAY,EAAI,KApBP,EAqBT,GArByB,EAqBI,GnR1LhB,KA0CmB,EAAhC,GAAO,GAkLR,ICvH0gF,EA3GjhF,GAAkB,GAAmB,IkRkM7B,GAAO,MAvBE,IpBpKurL,EAAilC,KAAjlC,EAA+lC,KAA/lC,EAA6nC,KAAa,GAAk9B,GAVhqP,KC0Ko6E,EAjBjhF,kDAlBrB,EAyBE,KAAwB,cAU4gF,EAR1hF,IAA+B,mBmBsErC,KAAW,SACtB,gCANM,oBAE6C,MAF7C,2BAhQH,anBuBW,GmBzBX,YACA,YAI4B,eAIE,WAAsB,UCpBoB,GDkDzB,aAAa,+BA7CxC,OAAQ,eAGA,OAAQ,mCnBSzB,wBA0BX,cADA,2BAJoG,OArB7D,IAqBA,GAdI,IAcwB,gBA9BxD,4BA4JX,QAAY,OACZ,EAAgB,KAAqB,MACP,MAAb,EhQmEnB,OA5IU,GAAO,GA8IlB,SAAgB,SACL,OAAuB,KAxJvB,GAAO,GgQkFf,WAEI,GmBqCD,4BpBzJsxN,OAAc,OAA8B,OAAa,GAAxjD,GAVtpK,SC+HxH,EAAS,GAAW,kBqB5IkB,6BApBlD,aAAqB,GAAS,GAAM,GADpC,2BCHkB,qCCWb,oBAE2C,wCAGO,EAAnD,IAA6B,EAAU,IvRMA,KuRN0B,KvR+D7D,QuR/DyG,mDAsB7G,GAvBM,EAuBN,SArBH,SANI,2BA+BD,2BAUJ,MvRiBM,KAmBkC,EAAhC,GAAO,GAnBM,IuRlBrB,EAAW,GAAkB,GACvB,EAVF,6CvG2CuB,mBzKvFmB,EAoCqmE,GyKkDtoE,EATsE,EAAU,GAApD,EAW/B,GAXyE,EAAU,+CwGsBzF,WAHJ,WAiBI,IAAW,MACf,MAtCO,EAsCK,GAAmB,MAC3B,IAAU,SACH,gBAEyB,MAAhB,EAAM,KAAgB,GAAkB,EAAM,KA1C3D,EA0CkE,MAFzE,EAOU,GAAN,QARuC,EAAO,UAFd,EAAO,KArC3C,OAAO,+BtB/E4C,+BAkB9C,mBADS,EACI,EAAO,G3PDR,E2PEO,OAAO,iCHwBqC,OAAV,0BAzB7D,MAf6B,oBAiBG,WAChB,MAAb,WACuB,MAAvB,UAAU,gBAnBgB,IAoBjB,UAAU,gBApBO,IAqBjB,UAAU,UAAU,OAC7B,UAAU,UAAU,MAAO,4BAtBD,oBASjB,QAA8C,MxPKa,cwPd1C,IxPiBF,OwPRmE,sCxPTtD,EkRGzB,uBADZ,anTCc,SAAiB,GiCAuB,EkRClD,oBAgDo9B,InTmCj9B,SmTrFP,EAGC,S1BKU,CAAP,QAVsB,oBAYjB,cAZiB,IAYiB,QAAQ,kCAGtD,mBA+BG,aAAkB,EAAS,oB2B/C3B,QAAQ,MAAM,iBCFF,8BAaoD,GAAZ,GAAY,KAAuB,OAAnC,QAA2B,UAA3B,qBAThD,EpRJ2C,EoRIb,gBAM9B,MAL0B,iBAAb,IACT,EAAW,IAAF,EAAE,EpRHqB,EoRIhC,gBAAmC,IAGhB,MAAf,GAAe,iBAAf,IAAe,qCCTsB,eAGsB,8BAE1C,iBAAiB,WAAS,GACQ,uEAgB/D,cAFA,YACA,YAGI,UAAI,UAAmB,KAAU,OAAiB,WAAU,iBCrB/B,iCCWjC,GAAsB,EAAS,EAA/B,MADA,6CCgC6B,0EAMM,mCA3C7B,aAA8B,cACK,qCAAE,4BAFE,cAajB,sCAsGO,cAClB,cACO,6BAtDkC,cAA9B,aACR,kBAAmB,iCAkBoB,cAA9B,aACH,+BAGtB,WAAO,iBAAkB,aAAU,wBAC3B,EAAM,QAAU,SAAU,EAAM,MAAQ,UACxC,EAAM,kBACN,oBAEL,+CpByDwB,4BAlJI,eACA,eACY,6CqBZ6D,OAAT,gBCD3E,upGpCkDF,6CAKgD,OAAP,sCAEV,OAAR,qBAAN,gGAqB+C,OAA9B,SAAe,8CAI/D,gBACA,QAAY,EAAM,KAAO,EAAM,MAE/B,cAAY,GAAZ,EAAY,KAAZ,kCAOJ,MAAY,QAA0B,GAAP,EAAO,YAClC,IAAU,KAA6B,WAC3C,QAAY,gCAG0D,OAAtB,QAAgB,gCAGhE,GAAyB,UAAS,sCAId,UE3DwC,aF2DxC,QAAsC,qBAAN,MAC5C,IADY,EACI,KAAW,qBAAN,uCAa7B,KAAM,EAAO,EAAU,oHCoEvB,OADA,GAAyB,UAAS,IAC3B,6IyB3JP,KvRQwB,KuRRV,KvRsDV,QuRtDU,wDAad,GAdM,EAcN,UzByJa,CAAb,UAAuC,uHA8CvC,QAAY,mDK6IkB,sBLvLtB,aAMc,KA0BG,EAAK,KAAU,uBA1BlB,EAEF,GAwBuD,OAAO,aAzB5D,EA0BD,OAAO,U5QnGa,MAAM,EAA8B,oB4QgHzE,OAAa,WAEG,GAAd,EAAN,WAA0C,GAAc,EAAO,WAA3C,uDK4HlB,sBL5KM,aAMc,KAgBG,EAAK,KAAU,uBAhBlB,EACA,GAeuD,OAAO,aAdhE,EAeD,OAAO,U5QzFe,MAAM,EAA8B,sB4QsHzE,OAAc,OAAO,KAEzB,MAAuB,GAAX,KAAK,SACb,gBAAiC,MAAM,EAAM,KAEjD,aAAO,GAAP,EAAO,KAAP,gKG/OW,6CAOC,6CA2C6B,OAAZ,UAAO,uCAIS,UAAsB,6DAiBtD,oBACN,WADP,MAAa,EAKT,YAEA,EAAO,KACP,4CA+B8B,OAAL,6CAI8C,kBAtBnD,CAAuB,aAuBzC,OACF,kB/QAqC,MAAM,EAA8B,oB+QCzE,gBAA6B,cAC7B,oB/QD2sD,EAAM,KA9CrtD,MAAM,EAA8B,G+QgDD,gCAC3B,MAAa,EAAM,uBAAmB,EAAnB,YACf,UAAO,uBAAc,EAAO,GAE5B,OADA,EAAM,GAAe,KAAM,GAC3B,YAMA,UAAO,uBAAc,EAAO,GAAsB,EAAtB,eAA2C,EAA3C,KAC5B,WAIf,4CE+EqC,kBArF/B,KFpC4C,YAwDvC,mBAAwB,OAAO,EAEnC,MAAa,OAAsB,KAAM,EAAiB,aAA7C,OACR,UAAO,uBAAc,EAAO,IAEhC,6BAID,OAJ2B,MAA1B,I3RtBwoE,QAAhC,EAAsD,GA9CvqE,K2RsEQ,SACA,QAAe,YACR,EANmC,uDAVzC,MAAc,OAAO,QACT,OACjB,OADA,gBAAiB,EAAjB,KACkB,GAAqB,GAmBnC,MAAY,GAAQ,WACxB,QAAO,GAEP,kDAuB0B,EAAQ,OAAO,mDAfrC,GAeJ,KAdQ,KACA,OAA4B,iDAapC,KAbQ,UAayC,4CAI7C,EAAsB,6CAGtB,GACI,UACA,OAA4B,kDAAgD,KAA5E,kCASyB,OAAjC,EAAO,iCAwBP,MAAiB,4BE+EvB,sBFxFwD,aA1O5B,KAgOG,EAAK,KAAU,uBAhOlB,EACA,GA+NuD,OAAO,aA9NhE,EA+ND,OAAO,U/QhGe,MAAM,EAA8B,sB+QqHzE,OAqBA,OAXoB,MAAhB,WACA,SAOA,GACA,SAEG,KAGP,GAEA,SAEJ,MAAY,KAAK,QACb,gBAAiC,MAAM,GAAkB,EAAM,SAKpD,GAAX,WAAW,CACX,MAAU,sBACC,MAAP,IAAgB,EAAI,KAAL,CACf,MAAY,EAAI,KAEhB,MADA,QAAsB,EAAO,GACvB,GAAkB,IAGhC,OAAO,QAAoB,gCA0BiB,OAA5C,4BjQrGS,EAAgB,GA/M7B,MAgNI,eoQjKyjK,GAhDl/J,KAgDk/J,2BA9C/iK,GAAuB,GA8C8jK,IA9CrlK,KACjB,OpQ6MG,EiQqGsB,CAAP,GAAsB,UAAjC,yCAMA,oBA0DkE,OAA9D,gBAA0B,EAAa,OAAe,GA1DtC,GAAkB,GEwK5B,cA3VP,CFpC4C,aAyNrC,OACF,oBACQ,UAAO,uBAAc,EAAO,GAAgB,mBAEpD,gBAAoB,KAAsB,EAAS,WACnD,oBAMS,EAAM,MAAe,KAAsB,EAAS,GAMrD,iBAC4B,6BAA5B,QAAkB,EAA6C,MAAnC,EAAmC,KAAnC,EAAmC,MAEnE,cAEJ,oBAI+B,MAAvB,EAAM,MAAuB,KAAsB,EAAS,GAE5D,gBAA4C,cAC5C,EAAM,KAGN,OADA,QAAkB,EAAS,EAAM,MACjC,IAEJ,MAAa,EAAM,QAAqB,EAArB,2BACf,UAAO,uBAAc,EAAO,GAAS,mBAQrC,gBAA4C,WAChD,MAAa,GAAsB,EAAuB,EAA7C,sBACT,UAAO,uBAAc,EAAO,GAAS,gDAkHxC,qBAAgB,WAAhB,EACN,KACP,4CA+BM,sBACF,UAA4B,EAAM,qBAAN,aACpB,oBACX,sCAKK,2BAAN,KAA2B,GAA+C,OAAvC,MAA7B,EAA6B,KAAM,GAAnC,EAAyD,6CAIsB,OAAlF,UAAa,IAAY,GAAT,WAAyB,OArc5C,OAD8C,EAscC,KAtcD,OAC9C,SAAoB,SACpB,gBAA6B,YACpB,aAmc8D,MAAG,aAtc5B,8BAyctB,MAAvB,6NAQoC,MAAN,sGA8BzB,6CAGA,6CAEwC,QAAJ,MAAf,0CAG3B,gBAAe,MAAf,I3R/ak+nB,EAAK,GAA1B,EAAgD,GA9CjgoB,K2R8dI,gBAAgB,MAAhB,I3RhboioB,EAAK,GAA3B,EAAkD,GA9CpkoB,0C2R/GJ,6iCA4jBQ,UAAe,wFAE+D,MAAvD,kBAAyB,GAAR,WAAwB,IAAE,SAAU,mJGphB/D,6CAI0B,OAAd,UAAS,iCAC0B,OAAnC,UAAS,wBAAc,GAAO,qCACC,OAAxB,SAAe,IAAE,UAAK,0EAgBM,OAAnC,UAAS,wBAAc,GAAO,uHAhE/D,gfC6D+E,OAAJ,+BA8EzB,OAA1C,OAAuB,KAAM,iCAOZ,aAAjB,GAAiB,EAAjB,KACW,uCAkBiD,OAA5B,SAAe,IAAE,wL6BzD3C,6BACF,EAAiB,GAAN,EAAgC,EAAU,EAApC,yBACjB,EAAgB,GAAN,EAAqB,EAAU,oBACzC,4BV9CR,EWvDy5D,YpCwC93D,EAAW,O/EgDX,mBzKvFmB,EAoCu1B,GyKkDx3B,EAlCgE,EAYrD,GAZiB,EAoC/B,GApCmE,EAYrD,yChLhBH,KA0CmB,EAAhC,GAAO,OClBM,EA9BrB,GAAkB,GAAmB,IuRiBjC,oBAJJ,WAMI,IAAU,KAAV,OvRciF,sBDrCzE,KA2CS,EAAb,GA3CmB,GCqCkC,EA1C7D,GAAkB,GAAe,OiSmEH,CAAN,EAAiC,EAAU,oBAC3D,2BACH,qCAQ2C,OAAb,6L3BvDnB,qBAAmB,OAAO,EAAtC,MAAY,EACK,YAAN,YACN,MACE,wCAeK,0BjSoB2B,SiSnBI,UAL6B,IjSkBrE,SiSdS,EAAZ,EAEM,GAAQ,+BAO8B,OAApC,aAAY,MAAmB,KAA/B,8BAIA,kBAAiB,MAAjB,EAAiB,KAAjB,EAAiB,KAAe,OAAhC,wCAMR,uBAAY,KAAM,IACb,IAAY,WAAS,mCAI1B,uBAAY,KAAM,IACd,4BAAc,WAEd,WAEA,iJAiBI,UAAI,QAAJ,ajSaV,EuTvI6C,OtB0HG,UAAI,GAlDsB,KjSkBrE,SiSgCK,EAAmD,geXmhBD,OAAL,oCAMH,MAAnB,kGakoBV,6CACgB,OAAJ,uCAC2C,MAA7C,UAAY,UAAW,SAAc,OAAM,6FAkDnC,OAAJ,8BACC,OAAJ,sCnSrrC8ib,OmStGjlb,EA8xCG,GAAQ,SA9xCX,EA+xCG,GAAO,GA/xCV,EAgyCG,GAAQ,UACR,OAAY,EE7qCZ,EAUyuyD,KAVztyD,MACT,IASkuyD,OATluyD,IACC,iBF9DF,QA2uCE,EAAO,GAAQ,EAnyC1B,EAmyCqC,GAAQ,MAnyC7C,EAoyCO,GAAO,GE7qCP,EAAM,EAAI,KFgrCjB,OAvyCA,EAsyCG,GAAQ,KnS1wCL,E4IoUqC,6CuJ08BY,OAAhD,KAAO,QAAW,UAAoB,2BAAN,qGAxB/B,0EACkC,OAAJ,8BACE,OAAJ,iCACQ,OAApB,UAAI,GAAW,wCACuC,OAAnD,SAAe,IAAE,SAAU,QAAW,GAAJ,WAAe,qGA3RhE,8CAOQ,eAAsB,8BADR,OAAnB,UAAc,kCAMT,eAAmB,8BADR,OAAhB,UAAW,iCASkC,OAA3B,WAAqB,iCACA,QAAJ,MAAb,uCACsB,OAAJ,MAAb,uCAKnB,QAAS,YACrB,UAAQ,aACR,wBnSl7BqihD,OmShGp/gD,EAkhCR,EAAI,KnS7+BlD,YmS8+BK,kBACc,MAAC,YAAD,GAAW,GAxgCC,MAAM,EAA8B,GAAR,MAugCnC,sBAHvB,QAMA,EAAgB,KAAK,KACrB,IAGA,OAHW,MAAX,InSv7Bk0hD,EAAK,GAAI,EAA1B,GA9CzzhD,KmSs+BiC,MAArB,GAA6B,IAAqB,IAAW,EAAK,EAAI,GAC1E,QAAmB,MACZ,+BAKP,MAAgB,KAAK,QACJ,MAAb,EAEA,OADA,QAAiB,GACjB,OAEA,IAAc,EAAW,WACvB,MAAS,YACX,QAAQ,QAAmB,WAC3B,uBACQ,IAAc,EAAI,enSx8BumjD,OmStG5ojD,EAgjCmB,EAAI,GAhjCvB,EAijCmB,EAAI,GAFR,QnSnhCT,amSyhCK,kBACc,MAAC,YAAD,GAAW,GApiCC,MAAM,EAA8B,GAAR,KAmiClC,aAA4B,GAA5B,EAA4B,OAAI,sCAQuE,MAA9H,wBAAsB,UAAY,gBAAc,UAAY,eAAa,UAAS,gBAA4C,GAA9B,UAAgB,UAAQ,UAAI,sFAlNjI,MAA0B,GAAV,MAEC,MAAb,GAAqB,KAAgB,EAAO,EAAW,GAAiB,WAE5E,MAAiB,KAAuB,EAAO,GAC/C,KAAgB,GA2NL,CAAP,UAA0B,UAAO,UAAO,yKA7MmB,gOACzD,UAAY,UAAgB,KAC9B,2CAAsB,aAAM,UAAM,KAAZ,wCACtB,mCAAuB,UAAN,UAAM,KAAM,MAAN,UAAM,uCA10BjB,UA00BW,UA10BK,6DAAqB,YA00B1B,WA10B0B,2BAA+B,iCAC9E,8BA00BkC,aAAM,UAAG,KAAT,8FAz0B/C,UAAM,UAAI,yPAq0B4D,mKAz5BR,yCAyG1C,eAAsB,8BADR,OAAnB,UAAc,qCAWR,MAAV,EAEA,OADA,cACA,IAEJ,EAAO,KACP,MACa,EAAO,GAAY,MAChC,QAAe,GAEX,YACA,EAAO,KACP,+CNgJkC,kBAhJnC,CMrEkB,kBAiFb,iBAAwB,OAAO,EACnC,EAAM,GAAQ,mCAclB,MAAY,KAAK,KACjB,QAAO,qBAAuB,EAAM,uCAGe,UAAoB,8DAVhE,CACG,IA2MA,UADV,KA1MU,SAmmCQ,IAv5BV,EAAS,OAAO,KAw5BP,IAv5BT,EAAQ,OAAO,4DAiCjB,QAAY,KAAK,QACnB,iBAAsB,MAAN,EAAM,OAAW,MAAX,EAAW,aAAX,EAAqC,SAAe,qBAA1D,QAtVc,MAAM,EAA8B,GAuVpD,+BAA6B,SAD3B,UAEhB,kBAxV8B,MAAM,EAA8B,GAwV1C,+BAA6B,SACrD,gBAAyC,QAAZ,EAAM,KAAM,aACjC,OAA2B,SAAe,0BAA0B,KAAM,MACrF,gDAGD,yCAA+D,IAuR/D,OAAyB,QAvRS,KAuRE,KAAX,EAvR+C,EAAtC,aAAlC,EAA6E,4CADvE,oBAAyD,MAAzD,0CA0B+E,OAArF,SAAkC,GAA2B,EAAgB,wCAS7E,+BAqDe,SACV,yBAAD,QACO,OAAmB,GAD1B,OAGC,+BACK,MADL,EACK,KnStWwloB,ImSqW9loB,QAEO,OAAmB,GAF1B,EAJJ,QASA,OADA,OAAW,EACJ,EA9Da,MAAS,EAAS,QAzR5B,MA0RV,KA1RU,KA2RA,OACF,mBACQ,EAAM,SAEF,UAAO,uBAAc,EAAO,GAAO,OAAO,OAE9C,QAAuB,WAE/B,uBAmCQ,GAAqC,6BAAV,GAAR,EAAqD,MAAnC,EAAmC,KAAnC,EAAmC,MAC5E,YAnCA,MAAW,EAAM,QACL,MAAR,EACA,QAAwB,aAAxB,GAAwB,EAAxB,UAEA,MAA4B,KAC5B,UACI,GAAgB,kB1QtcontB,OAAlU,EAAY,EAAM,OqS2B90C,aAD98pB,KrS1B+ntB,EAAM,WAAiL,QAAc,EAAO,EAAM,GAA3B,CAAkC,eAAiM,MAAb,EAAmB,OAAO,EAA2K,EAAS,S0QsdrwuB,MAAb,EAGA,OADI,GAA2B,GAAR,EAAiB,GACjC,KAEH,QAAc,EAAO,EAAM,GAAO,OAAO,yCAhU1D,CACG,MA6ZV,KA7ZU,UA8ZA,aACF,WAKA,MANE,GAMF,GANE,EAMF,KAEsB,MAAd,EAAM,MAAc,EAAK,KAC7B,KAEI,OATA,IAAU,EAAM,cAEhB,UAAO,uBAAc,EAAO,MAAe,wCAkBN,OAAL,uCAIjC,gBAsFf,OAtFwB,KAsFY,KADsD,KArFlE,aAAT,EAAf,uCAG0E,MAAjB,iDAYzD,QAAW,gCAKX,QAAW,uCAaP,mBACG,QAAW,IAAU,uCAY5B,QAAuB,cACnB,YAGA,uBA3eG,CACG,MAigBV,EAjgBU,QAkgBF,oBAAwB,iBAAsB,EAAM,KAEpD,OAAO,SAGX,EAAiB,KAAkB,EADd,GAAuB,KAAqB,IAA5C,SAEjB,IAAe,KAAkB,OAAO,GA9B/B,MAAqB,MACf,QAEnB,IAAe,OACf,oBA4DJ,MAAsC,UA1iB5B,MA2iBV,EA3iBU,KA4iBA,OACF,oBAEY,EAAM,KAAU,OAAO,KAE3B,MAAoB,EAAM,QAEb,MAAT,IAAkB,WACG,kBnSvkBoh9B,OAAqB,GmSukB/+8B,EAvqB1C,InSqCtD,SmSkoBsC,EAArB,QACA,EAAM,GAAmB,GnSxkBwy9B,MAAN,EAAM,KmS6kBz09B,EAF8B,EnS3mBR,KAAV,EmS8mBZ,OADiB,MAAjB,InS7kB869B,KAAiB,EAAM,KAA9C,GA9Cv69B,KmS4nBuB,QAEX,mBAgBQ,OAAO,aAdU,kBnSllBqq+B,OAAqB,GmSklBho+B,EAlrBlC,InSqCtD,SmS6oB8B,EAArB,YACI,EAAM,MAKN,MAAiB,KAAkB,EAAO,GAAuB,GAAvB,SAEtC,IAAe,MvRxmB6zhC,MAAC,oBAAD,GAAmB,GAD10hC,MAAM,EAA8B,GAAR,OuR0mBjD,IAAe,MAAoB,YAC3B,OAAO,KAPf,KAAkB,EAAO,GAAiB,OAAO,MApFpD,MAAe,IAG5B,IAAe,MACf,IAAe,QADsB,EAErC,IAAe,QAAsB,GAEjC,QAAgB,MAChB,GANR,wCA8ByB,EAAuD,OAAhF,OAAyB,QAAW,UAAX,EAA2C,EAAO,kCAI3E,QAAY,KAAK,KACK,OAClB,kBAAgB,EAAM,aACtB,kBAA6B,EAAM,aACnC,mBAAuB,MAAC,6CAAD,GAA4C,GA7nBrC,MAAM,EAA8B,GAAR,MA8nBlD,KAJZ,UAMQ,uBAAR,OAAO,QAAyC,OAA0B,iBAAgB,KAAY,GAAU,EAAW,MAApH,sCA1hBA,KA4oBH,EAAiB,QADrB,KA1oBU,KA2oBoC,MAEtC,IAAe,KACX,MAAM,GACD,OAAK,KAAL,mEAAD,GACkC,IA6EzC,SAAkC,OAAlC,KA7E0D,aA6E1D,WAAkC,KAAlC,EAAkC,UA3EnC,IAAe,KACP,OAAO,EADoB,UA2ElC,8BA+CZ,OAPyD,MAAS,8GPv6B0B,EAgBgq9C,OAAgB,SO26Blw9C,SAAkC,GAAlC,EAAyE,EAAzE,QAAP,gBAAO,EAAP,iCAUA,MAAM,4DA0BiD,OAAL,8BASE,OAAJ,+BAYwB,OAAL,gGAuBnC,OAA7B,UAAgB,IAAE,qCAGoD,OAArC,UAAa,IAAG,KAAY,WAAO,gCAKnB,OAAf,+JAoUhC,6CAEmC,OAAL,oCACiD,OAAlD,KAAO,UAAK,GAAW,OAAiB,GAAN,4EAgFF,OAA7B,UAAS,GAAgB,2FACgB,OAAzB,UAAI,GAAe,0GATpE,UAAS,uBAAc,EAAG,IAAI,UAAe,kKAlES,OAArB,UAAe,wMAmFpD,UAAM,GAAgB,UAAM,GAAiC,yKA7JvB,OAAJ,8BAW7B,2HG1vCyB,UAAwD,OAAxD,QAA4B,SAAe,IAAE,SAA7C,8BAe9B,QAAuB,aACnB,OAAS,EAAM,MAAQ,yBAEjB,EAAK,8CACgC,YAC3C,OAHJ,EAGgC,6BACzB,sHCTmD,OAAL,oMC9CgB,OAAL,iCAIhE,MAAmB,6BACC,MAAhB,EAGA,OADA,QAAuC,EACvC,IAEJ,MAAM,GAA8B,2OAKiB,MAAtB,8XC2RA,EAAlB,QAAY,KAAM,QAAS,KAAT,mCO1Ssra,OAAkB,EAAP,UAAO,KPySvsa,OO3SO,IAAU,EAAM,OAAe,8CP+S1D,IAAgB,EAAe,OAA3C,QAAY,QAAU,KAAV,EAAgB,QAAU,KAAV,iOGrTS,OAAZ,YAAQ,uCAGjC,UAAS,WAAQ,EACjB,WAAQ,UAAO,EAAR,IAAe,UAAS,OAAO,EAA/B,GACH,YAAQ,uBAmBZ,MAAkB,OAAS,OAE3B,EzQR2D,GAAiB,MyQO1D,GAAgB,GzQP2D,MHCzD,SAGzC,SAo1BwI,WACvI,GAAU,EAt1BS,EAq1B4E,EAC/C,EAAY,GAr1BtC,aAIlB,SAAS,OAAO,OAAhB,EAA6C,SAi1BjD,GAAU,EAr1ByD,EAq1BtC,EADuF,EACxD,G4Qv0BxD,OAAW,EACX,OAAO,EACP,OAAO,EAjCW,sCAKd,YAAQ,UAAM,OAAO,KACzB,MAAc,UAAS,WAGvB,OAFA,UAAS,WAAQ,KACjB,WAAQ,UAAO,EAAR,IAAe,UAAS,OAAO,EAA/B,GACP,EAAO,KAAP,8FCLM,6CApBd,kDA4Ba,6CA0CL,QAAiD,MAA1C,UAAiC,sChB+BrC,qBgBkBJ,SAxCgB,KAAkB,uCAUjC,UACA,gBA7BQ,KAAiC,gBAAwC,GAAzE,EAAyE,KA6BhD,MAAjC,KAAiC,sChB8Gd,kBA9ChB,CgBnCJ,gBAgCS,IAAU,SAGV,wBjSX4rE,UAAiC,uBAAc,EAAO,MA1G1vE,MAAM,GAAiC,GAfzB,wBiSsIF,OAAO,EAEG,MAAC,sBAAD,GAAqB,GArDhD,MAAM,EACW,GAAR,OA8CY,UAAiC,uBAAc,KAAkB,GAAe,OAAO,uChBgFjG,kBA9EH,CgBnCJ,aAkDW,OACF,cACQ,UAAiC,uBAAc,KAAkB,GACjE,OAAO,UAEf,mBAAgB,OAAO,KAGf,UAAiC,uBAAc,EAAO,MACtD,OAAO,gCAOvB,MAAY,UAGZ,OADA,UAAS,KACF,8BAIK,OAAJ,kCAGR,MAAc,UAAa,KAC3B,EAAmB,GAAP,EAAO,WACf,UAAW,GAAiB,GAC5B,UAAS,EACT,UAAa,KACb,UAAW,GAAS,EAAS,eAEJ,OAmGjC,EAAqC,aAG1B,EAAU,KAtGb,KAwGJ,KAxGsB,EAAlB,KAyGJ,KAAa,EACb,EAAU,GA1GN,WnBkBgiF,EAtB9hF,IAA+B,WD1Iq2J,KAAK,KAAS,UAAsC,UAAa,GAAW,GAX71J,IC2K26E,EAjBjhF,kDAjCpB,KAwCC,KAAwB,cAU4gF,EAR1hF,IAA+B,qCmBuBrC,iBACA,EAAW,KAAe,gCAM9B,MAAU,sBACC,MAAP,IAAgB,EAAI,KAAL,CACf,QAAY,EAAI,KAGhB,OAFA,QAAsB,EAAO,GnR1LhB,KA0CmB,EAAhC,GAAO,GAkLR,ICvH43G,KA3Gn4G,GAAkB,GAAmB,KkRkMtB,EAEX,OAAO,+BpB7L8wN,UAAc,UAA8B,UAAa,GAAW,GAVztN,sCoByN1D,MAArE,0BAAwB,UAAU,KAAiB,GAAb,WAA6B,mHnBzNvD,8EAkBH,aAAV,GAAU,EAAV,KAAU,iCAUT,6BAAwC,OAAL,MAAnC,EAAmC,KAAnC,EAAmC,iCqCnEoC,IrCuExE,QACA,EAAiC,eAEd,UAAf,kBAAe,EAAf,IACA,EAAmB,EAAS,KD1BqsB,GAA3C,EAAS,KAAgD,EAAa,MAAwB,EAAY,UAAoF,EAAgB,QAAqB,GAAsR,EAA2B,MAAb,GAAgC,GAAX,WAA8B,WAAkB,QAAgC,MAAP,GAAgB,EAAI,SAA8P,MAAb,S/PDnhD,KA0CmB,EAAhC,GAAO,GAmC0E,ICjB1F,EAlEC,GAAkB,GAAmB,eAmEhC,UAAoB,GDvEb,KA2CS,EAAb,GA3CmB,GCsEqE,EA3EhG,GAAkB,GAAe,S8PgBixC,CAAqC,QAAY,EAAI,KAA+C,QAAsB,EAAO,G/P6N54C,SAAe,KAlJO,GAlCrB,EAAhC,GAAO,GAAc,I+PzCi7C,EAAuoK,GAAkB,kDCmD/lN,sBhQ6CJ,KAAe,MAhEX,kDAkEJ,OAzDI,GAAO,OgQYP,MhQ0CR,EgQzCQ,QAAqB,EAAuB,GAAP,uCAuBvB,OAAd,GAA2C,OAArB,EAA2B,eAMrD,EAAa,OAAyB,+CAA6C,KAA7C,8FACoE,GAF9F,QAAa,EAAb,IAGZ,GAAyB,KAAK,KAAS,KAAS,0GqB5G3C,mDAE6E,MAAnD,mCAAiC,UAAgB,qEAjB1B,OAAJ,+BAK9B,GAAd,EAAN,WAA0C,GAAc,EAAO,WAA3C,qCAKpB,UAAM,GAAW,GAAc,EAAO,uHClBG,MAAV,IAAE,UAAM,iCAGyC,OAAzC,IAAU,KAAM,KAAe,oOvByCW,OAA7C,UAAM,GAAW,GAAc,EAAO,gI6B/ClE,UAAwC,OAAxC,QAA0B,UAA1B,8DAqBH,8CAE6E,OAAjB,yCACgC,OAAjC,UAAS,GAAS,EAAS,2CAE7D,UAA6C,OAA7C,QAA0B,UAAS,WAAnC,0HCXlC,MAAM,GAA+B,2CAbqC,qHCWT,OAAtB,2BAAN,MAAiB,SAAO,2CAGoD,OAD7G,IAAU,SACN,iBAAqC,EAAM,SAAW,cAAW,IAAM,KAAO,aAAO,IAAM,MAAS,oDAExG,EAAC,EAAU,GAAH,GAAP,eAAuB,IAAS,GAAJ,WAA7B,EAA+C,IAAM,eAAO,MAAP,EAAO,QAAP,GAAuB,OAA5E,GAAqD,QAAqB,EAArB,GAAuB,mHC2B5E,QAAQ,SAAS,WAAa,+GAM9B,WAAW,WAAa,MAAc,kHAzClC,6CAIA,WAAW,WAAc,oHAc7B,WAAa,IAAQ,qHAqGrB,QAAQ,GACH,aACD,YAAY,EACZ,6CzTO4C,iBAGtC,OAAd,EAAsB,KAAR,cyTFY,qBAAuB,WAAvB,EACN,WzTCpB,EAAsB,WyTEV,UACA,YAAY,EAEZ,oHA5E4E,OAApB,WAAM,IAAQ,iHA6B9E,QAAQ,aAAc,QAAK,wBAAE,4CAI7B,WAAO,YAAY,WAAc,8PpBjGd,6CAIiB,OAAL,sCACK,OAAL,sCACS,OAAR,uCAGhC,MAAW,KAAK,KAChB,OAAa,KACb,OAAa,EACb,OAAa,EACb,UAAa,8BAUb,OAAO,yCAKH,UAAU,OAAO,EACrB,MAAW,KAAK,KAChB,EAAW,KAAK,KAIhB,OAHA,OAAa,EACb,OAAa,EACb,WAAW,GACJ,sCAIH,YAAU,OACd,QAAQ,IACD,0CAIF,MACL,QAAQ,IACD,+GsBvDW,UAAU,qBAAV,EAAU,iCACL,UAAa,4tBtPkHjC,oBAA+B,MAA/B,ykCqNnGgC,KAmBH,IA5BP,I2BVX,KAEe,8EWkBiC,IA4O9D,EAAgB,OAAe,EAAM,KAAS,UACpC,GAAV,EAAoC,EAAW,oCxC1OrD,IAwHM,EAAiB,EAAM,KAEvB,KAAgD,EAA/B,EC1Gd,GAAO,mBH+hBd,iBAAU,MAAV,mBAlBK,OAAU,MAAM,OAkBX,CAAV,GEnbe,CAAX,GAEI,IAAe,KAMf,YAAuC,YACvC,MAAgB,OAAsB,EAAY,GCtGy6K,EAAoB,GAAV,EAAoC,EAAW,QD6GxhL,MAAgB,OAAoB,EAAY,GAC1C,GAAN,EAAgC,EAAW,EAArC,QACI,EAAV,EAAU,UAfN,MAAgB,OAAe,EAAY,GAC3C,EAAoB,GAAV,EAAoC,EAAW,UAjI9B,2BeIhC,oBAAiC,kBAAkD,OAAzB,OAAkB,GAA5E,iCjBmjBA,oBAAoD,sBAA2D,OAA7C,KAAO,GAAsB,EAAS,IAAxG,uCEriBA,mGiBmMY,OAAQ,QAGL,OAAQ,kBA1DiD,EAAc,OAA5B,OAAc,QAAS,KAAT,8CuB0FP,OAApE,OAAiC,MAAhB,WAAsB,EAAa,QAAU,K1CsG3D,M0CtG2D,K1CsG3D,EAAuB,MAAvB,2EA2PsC,sBAziBzB,MAAM,EAA8B,GAyiBQ,8CAA4C,IAAM,OAArE,yf2C3kBnB,wCA/BtB,YAAgC,gD3ToE4E,IA2uD5F,EA3uD4F,QA2uD5F,gB4TlvDio0D,GAZ7o0D,QAAmB,KACnB,SAAyB,0BAIzB,QAAmB,EAAI,GAClB,UACD,SAAyB,EACX,EAAd,QAAc,aAAO,6DAAP,8BAjCb,YACD,WAAgB,EAChB,MAAS,4BACL,WAAgB,EACP,+DAnBC,cACM,cACyB,sBAEV,MAAf,aAAe,KAA2B,iBASrB,mBvU0Dc,EAAX,IuU5CnB,aAKI,6EC5CV,kaFkCA,oDAInB,EADS,WAAK,WAAW,OACjB,SACR,aAAkB,EAAY,MGkhJqC,EA3hJ/B,WAAK,WAAW,GHS/C,iBAAqD,EAAtB,SAEpC,WAAK,YAAY,EAAY,sCjUwGvB,WAAd,EA1GS,KA0GK,gBiUlGN,WG0gJmE,EAxhJmD,WAAK,WAEpI,GHYc,cAAkC,EAAtB,UjUkGzB,EA1GS,uCiUaD,IAAQ,EACR,WAGM,WAAV,EAAkB,KAAb,MAAK,UAEN,QAAoB,EAAO,EAAI,EAAO,EAAtC,EAA6C,EAC7C,EAAkB,EAAO,EAAI,EAAK,EAAlC,GAAyC,EAAK,EAAL,GAAa,EAAtD,IAEY,WG4/IuD,EA1gJ9E,WAAK,WAAW,GHcL,QAAiB,cAAsC,EAA1B,MAC7B,WG2/ImE,EA1gJX,WACnE,WAAW,GHcK,eAAa,EAA+B,EAAxB,UAN7B,EAAkB,0KA9ClB,WAAQ,IAAO,EAAO,yGAItB,WAAQ,IAAO,EAAO,oCAItB,WAAQ,IAAK,EAAM,EAAI,4IC0CE,2NAAE,qFAAF,4JAzCpB,aACD,YAAU,EACV,WAA+B,QAA4B,yFCnB/D,QAAQ,aAAc,QAAK,qBAAE,EAAM,4HEqC6B,+OAChE,WAAW,iLADqD,0VAkCvE,2BA5CD,oBAE+C,qBAGrB,UAEtB,MAAc,KAAsB,OACpC,EAAiB,MAAW,KAE5B,EAAe,SAAS,cAA4C,uEAA5C,oBAIxB,MAAkB,EACJ,MAAW,MAAe,IAC3B,GAEb,EAAY,SAOZ,OAHA,EAAY,OAAuB,2EACjB,mBAAd,mHAAQ,EAAR,+DAEG,gBAzBX,QAyCiB,CACgC,EAAtC,SAAS,eAAe,IADlB,KAEH,EAFG,q4BC6OT,IAAK,EAAE,QACP,QAAU,sBC9Qd,KAA8B,IAAI,EAAS,GAEvC,yDASiB,UAAjB,EAAQ,KAAS,K5PGtB,EAFuC,EAEvC,OAmPoD,MAAS,U4PtPhB,YACnC,KAAsB,GAAY,EAAQ,MAApB,CnUQA,WAEX,EAAR,EAAQ,KAAQ,EFRsB,KE+LlD,KAAI,EAAK,GmU9L8B,GAAnC,QAAsB,EAAQ,OAAQ,EAAI,IAZ1C,CAAyB,GD6Q7B,CAAyB,EAAG,iCAJiC,yBE9LvC,mBACH,gBACI,oBACD,mBACF,iBACM,uBACO,6BACZ,kBACK,sBACC,0FAI1B,aACqE,QADrE,kEACD,mBpUjEuE,EAAf,KoUmE3B,aACgB,wB7UlDkB,EAAX,K6UmDrB,aACyD,sB7UpDzB,EAAX,K6UqDR,+CC2EvB,kBACD,iBACE,mBACM,yBAEN,mBACG,sBACH,mBACD,kBACG,qBACC,sBAED,qBACF,mBACI,uBACF,qBACG,wBACA,wBACD,uBACD,sBACC,uBACJ,mBACC,oBACA,oBAEK,yBACH,sBACC,uBACC,wBAEK,6BACH,0BACM,gCACJ,4BAEH,yBACN,mBACC,oBACC,qBAEH,kBACA,kBACK,uBACF,qBACC,sBACC,uBACA,uBAEH,oBACD,6F9UjLyC,EAAX,K8UsLY,+DCzJ9C,kCAlHF,aAAwB,4CACtB,aAAuB,qFAC1B,aAA0B,2CAC3B,aAA0B,0CACjB,aAA0B,oDAClC,aAA0B,2CAC3B,aAA0B,0CACxB,aAA0B,4CAC3B,aAA0B,2CACzB,aAAsB,4CACpB,aAA0B,8CAC7B,aAAuB,kFACvB,aAAsB,2CACrB,aAA0B,4CAC1B,aAAwB,4CAC3B,aAA0B,yCACzB,aAA0B,iFAC1B,aAA0B,0CAC3B,aAA0B,yCACzB,aAA0B,2EAEY,aAAkB,+BAIpB,aAAgB,+BAIjB,aAAmB,+BAMpB,aAA0B,2FArC9E,KAA0B,2CCgBtB,aACA,aAG4B,sDAsF5B,aACA,EAAW,GAHX,8BA9DA,aAA4C,EAAO,oBCNnD,aAEgC,wCLzB5B,4BAqCC,yEAa6D,6IAClE,GAAiB,QAAM,cAEnB,OpTTwB,OoTQd,YADd,kFtShDuB,YiCpBvB,UjCyBqE,E7BgDE,EAAf,OmUnBvB,kBMhCgE,2CAkBjG,aACA,EAAW,uBAUZ,aAQuhN,SAP9gN,kBCxB+F,uGChBvG,aACA,6DpV8E+D,EAAX,KqV0DA,mBrV1DW,EAAX,KqV2DD,0DA0BnD,aACA,8CASI,EAAK,MAAQ,EAAW,IAAM,OAAO,EAEzC,QAAY,U1UiCyC,OA49C3B,MAAW,GAAO,WAC5B,MA79CqC,EA69CrC,YAAX,MAAW,M0U5/Ce,YAA3B,MAAgB,IAAW,MAK4yjD,EAJl0jD,QAAQ,EAAU,OACR,GAGwzjD,EAH9zjD,SAAoC,GAAhB,EAAU,O1U0/ChB,CAAoB,GAAO,WACtD,GAAO,E0U9/CP,OAAO,mCC/ET,8LAsCD,mBAtCC,iLjV+C00jC,aHnDp0jC,IAu7B+B,gBAC3B,EoVn7BgB,OpVo7BhB,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,aoVj7BA,IACA,EADA,QAxFgB,QACI,UACA,OAAW,qBA2FvB,EAAW,EAAe,MA1F1B,OA2FA,MAAgB,GAChB,OAAkB,MAzFN,QAGQ,YAyFpB,EAAiB,WACL,MAAZ,KAAmB,GAEnB,EAAY,EAAW,MpVsvH3B,GA7vHgB,GA6vHP,IAAsB,WoVrsHgmgJ,SAAW,GA/CtogJ,IACI,KAAI,EAAW,wBAAS,wDACxB,KAAI,EAAW,qCAAY,kFACvB,EAAW,MAAf,sCAA0B,sEAEtB,EAAW,MAA2B,MAD1C,sCAEI,yEAEJ,KAAI,EAAW,qCAAiB,qEpV8uHxC,GA/vHgB,GA+vHP,MoVl1HG,MAAsB,+CAyGT,aAArB,2BAAS,MAAT,KAFW,EAEF,yBAvGD,QACA,QA0GL,MAAX,IjVJuB,GAAiB,sCiVMzB,OAFf,EAEsB,EAAM,EAAM,QjVJtC,CiVEI,EjVFJ,GAF2B,KA5BvB,oLiVtEyD,aAAe,GAA5C,aACG,6CC8EwB,4BAlCd,wDClBd,UAAH,4C1Sa5B,QAtC4F,0B0SwBxB,aACrC,iBAAK,gBAAW,OAAT,SAAS,cAAc,8CA2ZrC,0GAOvB,mBAPuB,8KnVlUozjC,aHnDp0jC,IAu7B+B,gBAC3B,EsVjkBM,GtVkkBN,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,a4EjnBwE,uFArLpD,sBAAe,KACnB,QACI,UACA,OAAW,a0QrFwD,c1QuFnE,Q0QrFP,YAyTL,KAAI,EAAO,I1QjOH,iM0Q4RhB,uKAAsE,yBAFrB,sBACF,YAC/C,6FAhbI,GAgbyC,KAAiB,KAA9D,qOAlDF,wKAMD,yBARgD,sBACF,YAC7C,qFACE,SAtYI,GAwYa,KACH,KAHd,gPAoJA,mOASH,6BAZqB,sBAC4B,sBACF,YAC5C,kGA7fI,G1QqWk3E,0G5E7bx3E,KAAgB,MAEjB,GACiB,MAAQ,IG8GkzjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,EsV/ZK,QtVgaL,MAAsB,KACtB,SA17BJ,QAu7BA,E4Ej/BmB,E5Eg/BvB,eAAO,EAAP,asV/ZA,OAQU,KARV,kPAoMF,wOAaD,6BAhBoB,sBAC8B,sBACF,YAC/C,mGAlrBM,G1QsVglO,0G5E7btlO,KAAgB,MAEjB,GACiB,MAAQ,IG8GkzjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,EsV1NS,QtV2NT,MAAsB,KACtB,SA17BJ,QAu7BA,E4Ej/BmB,E5Eg/BvB,eAAO,EAAP,asV1NA,OAUc,KAVd,uOA1GF,8LA6BD,6BA/BoB,sBACyB,YAC5C,kLnV/jB00jC,aHnDp0jC,IAu7B+B,gBAC3B,IsVpU+C,MAAT,MtVqUtC,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,asVlUA,4FnVjkBw0jC,aHnDp0jC,IAu7B+B,gBAC3B,EsVjU2D,GAAe,EAAf,atVkU3D,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,asV/TA,gBAtlBI,K1Q8V6zJ,oGAvZj0J,OAAc,EACF,mBAAZ,EAAY,IAAP,MAAO,aAAM,KAAU,EAA2B,MAAQ,c5EDzC,IG2EkzjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,KsV7TS,0BACT,MAA2B,OAAmB,MAC9C,EAAqB,0CAEjB,KAAuC,EAA+B,KAAQ,EAA9E,SAFyB,KAIhB,MAAT,MACqB,KAArB,GAEA,GAC2B,WAA3B,EAAqB,IAAM,QAAS,GAAT,sBtVoT/B,MAAsB,KACtB,SA17BJ,QAu7BA,E4E78BmB,E5E48BvB,eAAO,EAAP,qBsV9Sc,8HAIL,wBAHD,2GAAiB,EAA+B,KAAhD,QAAuD,cAEnD,SADyC,cZ5sBjD,KAA8B,IAAI,KAClC,QAA2D,GAA3C,KAA8B,IAAI,KpToB1B,egUsrBpB,oCADM,8FtVptBwB,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,SAu7BA,E4E9/BmB,G5E6/BvB,iBAAO,GAAP,asV7TA,4OAvNA,2KAA0E,yBAF1B,sBACF,YAC9C,iGAlaI,GAka6C,KAAiB,KAAlE,0NA4EA,oHAAmE,yBADpB,YAC/C,6FA5dI,GA4dyC,KAAiB,KAA9D,iNAvKF,4KAMD,yBARmD,sBACF,YAChD,yFACE,SAjVI,GAmVa,KACH,KAHd,iNA+mBF,uJA0BD,mBA1BC,iLnVp4B00jC,aHnDp0jC,IAu7B+B,gBAC3B,EsVC2D,GAAe,EAAf,atVA3D,MAAsB,KACtB,SA17BJ,QAu7BA,E4EzgCY,E5EwgChB,eAAO,EAAP,asVGA,gBA17BI,iGtV7CkE,QAAgB,MAiwBvF,GA9vBW,MA8vBX,IA5vBW,MA4vBX,IGhqBy0jC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,KsVKS,sBACT,MAAwB,OAAgB,EAAM,6Bbv7BtD,MAAM,OAAO,EAAM,Oaw7BO,CAAlB,EAAuB,GACvB,EAAkB,0CAEd,KAAuC,EAA+B,KAAQ,EAA9E,SAFsB,KAKR,EAAlB,UtVZA,MAAsB,KACtB,SA17BJ,QAu7BA,E4Eh+BmB,E5E+9BvB,eAAO,EAAP,qBsViBc,gIAOL,wBAND,sHAAI,YACA,2BAEa,EAA+B,KAAhD,QAAuD,cAEnD,wBZniCZ,MAAqB,SAAW,EAAa,SAEzC,KAA8B,IAAI,GAAJ,IAC1B,YACA,cAAsB,EAAa,SAAO,MAA1C,YjUkyDQ,MAvxDhB,EAuxDgB,YAAX,MAAW,MiU5uDovzD,EArDxvzD,QAAoE,GAAX,GAAzC,KAA8B,IAqD0szD,KAlD5vzD,OADA,UAAkF,GAAX,GAAhD,KAA8B,IAAI,KACzD,KAGA,WACA,UAAkF,GAAX,GAAhD,KAA8B,IAAI,KAEzD,QAAqE,GAAhD,KAA8B,IAAI,KYohCnD,CAA2C,UhUz/B3B,SgUw/BpB,oCAJM,gGtVnhCwB,WG+HkyjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,6CACA,MAAsB,KACtB,SA17BJ,QAu7BA,E4E9/BmB,E5E6/BvB,eAAO,EAAP,asVKA,wNAjgBA,uKAAsE,yBAFrB,sBACF,YAC/C,6FArbI,GAqbyC,KAAiB,KAA9D,qOAlBA,uKAAsE,yBAFrB,sBACF,YAC/C,6FAtaI,GAsayC,KAAiB,KAA9D,gPA+HA,4OASH,6BAZ2C,uBACpB,mBAC0B,YAC9C,oGA3gBI,G1QmWiuF,0G5E7bvuF,KAAgB,MAEjB,GACiB,MAAQ,IG8GkzjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,EsV/YK,QtVgZL,MAAsB,KACtB,SA17BJ,QAu7BA,E4Ej/BmB,E5Eg/BvB,eAAO,EAAP,asV/YA,OAQU,KARV,yOAgBA,sOASH,6BAXmD,sBACF,YAC9C,oGA1hBI,G1QkWglG,mG5E7btlG,KAAgB,MAwhBwC,GArhBxC,MAAQ,IG8GkzjC,aHo4Bh0jC,GAv7BJ,IAu7B+B,gBAC3B,EsV/XK,QtVgYL,MAAsB,KACtB,SA17BJ,QAu7BA,E4Ej/BmB,E5Eg/BvB,eAAO,EAAP,asV/XA,OAQU,KARV,oOA3GA,sKAAqE,yBAFlB,sBACF,YACjD,4FAncI,GAmcwC,KAAiB,KAA7D,qOAwCA,uKAAsE,yBAFvB,sBACF,YAC7C,6FAheI,GAgeyC,KAAiB,KAA9D,qOAYA,uKAAsE,yBAF1B,sBACF,YAC1C,6FAzeI,GAyeyC,KAAiB,KAA9D,qOAtBA,yKAAwE,yBAF1B,sBACF,YAC5C,+FA1dI,GA0d2C,KAAiB,KAAhE,2LAnHgB,mBAAe,SAAS,eAAe,iCAExB,eAAD,kBAAC,EAAD,WAAsB,+CxQ4D2B,cAjQhE,MAAR,GAA+B,IAAV,GAAL,wB2PhNvB,MAAM,SAAS,GasjBkB,GAAO,YACvB,MAAT,MACA,yDAmMa,MAAT,0Bb7fZ,MAAM,MAAM,Ga8fA,GAAM,YAEG,MAAT,MACA,uFAzLJ,SAAU,Ob/ZlB,MAAM,WAAW,UagaA,MAAT,MACuB,KAAvB,OAAiB,8Eb3bzB,MAAM,QAAQ,GaycV,GAAM,GACO,MAAT,MACA,qCA7lBuC,OAA8B,WAC9B,OAA8B,WAChC,OAA8B,SAC7B,OAA8B,UAE5B,OAA8B,QAC5B,OAA8B,SAClC,OAA8B,OAC1B,OAA8B,SAC9B,OAA8B,SAExB,OAA8B,YAC9B,OAA8B,YAClC,OAA8B,UAChC,OAA8B,SAC5B,OAA8B,UAC1B,OAA8B,YAEpC,OAA8B,SAC5B,OAA8B,UAC9B,OAA8B,UAChC,OAA8B,SAC1B,OAA8B,WAChC,OAA8B,YAC9B,OAA8B,UAEhC,OAA8B,MACnC,OAA8B,MACvB,OAA8B,QAEpC,OAA8B,OAC7B,OAA8B,OAC3B,OAA8B,WAC5B,OAA8B,YAEjC,OAA8B,MAC9B,OAA8B,QAC9B,OAA8B,QAC9B,OAA8B,MAC9B,OAA8B,MAC9B,OAA8B,QAE7B,OAAoD,KAE5D,OAA8B,MAC/B,OAA8B,KAC9B,OAA8B,KAC1B,OAA8B,WAE3B,OAA8B,UAElC,OAA8B,QAE3B,OAA8B,MAC9B,OAA8B,QAEjC,OAA8B,MAE1B,OAA8B,SAC9B,OAA8B,UAE1B,OAA8B,YAC9B,OAA8B,UAC1B,OAA8B,YAEvC,OAA8B,aACrB,OAA8B,YAC3C,OAA8B,OAC3B,OAA8B,OAChC,OAA8B,QAE9B,OAA8B,QAC5B,OAA8B,UAChC,OAA8B,QACxB,OAA8B,SAC9B,OAA8B,SACrB,OAA8B,WACtC,OAA8B,OACzB,OAA8B,YACpC,OAA8B,MACvB,OAA8B,SACpC,OAA8B,MAC9B,OAA8B,MACxB,OAA8B,SAC9B,OAA8B,SAEpC,OAA8B,2BCrJjF,aAAwB,GAFxB,yCCFA,mBpTWkF,EATnF,WAAY,OoTA8B,aACN,WAAZ,WAAY,QACG,WAAZ,WAAY,WACF,WAAZ,WAAY,SACU,WAAZ,WAAY,cACV,WAAZ,WAAY,WACQ,WAAZ,WAAY,iBACR,WAAZ,WAAY,UACL,WAAZ,WAAY,KACM,WAAZ,WAAY,wCCLrC,aACc,GAHd,mBAK4C,ErTEvC,EqTFuC,OAAM,MAAN,EAAM,KrTUmB,EqTVnB,mBACQ,ErTIxD,EqTJwD,eAAc,MAAd,EAAc,KrTSH,EqTTG,mBACvB,ErTG+C,EqTH/C,YAAW,MAAX,EAAW,KrTQS,EqTRT,iBACT,ErTM3C,EqTN2C,YAAxB,EAAqC,MAAb,EAAa,KrTOK,EqTP1C,kDCJ3B,aAA4B,GAEH,aAES,WAAZ,EAAY,OACF,WAAZ,EAAY,OACC,WAAZ,EAAY,QACF,WAAZ,EAAY,QACA,WAAZ,EAAY,QACI,WAAZ,EAAY,QACA,WAAZ,EAAY,ctTIT,EsTAoB,UAAzB,8BAAC,EAAD,wBAA+C,EAA/C,QtTCY,EsTAa,UAAzB,8BAAC,EAAD,wBAA+C,EAA/C,EAEa,WAAZ,EAAY,QACA,WAAZ,EAAY,QACF,WAAZ,EAAY,MACA,WAAZ,EAAY,MACE,WAAZ,EAAY,OACY,WAAZ,EAAY,cACf,WAAZ,EAAY,QACA,WAAZ,EAAY,QACK,WAAZ,EAAY,SACR,WAAZ,EAAY,EACA,WAAZ,EAAY,85EfiGnB,gDA1Ib,+IA6Ia,+CACA,+CACA,+CACA,gDASL,KAAK,MAAQ,GAAO,iCAUP,GAAb,KAAK,MAAe,iCxUNwtF,EAAjB,4CwU+C3tF,OpU6CkB,WAEtB,GADQ,EAAQ,GoU9CL,2CAsBc,KAAU,GAA/B,WAAgB,kBAAI,EAAJ,mCAIhB,OAAO,6JC8CP,WAAU,EAAI,gCAO0D,OAAT,2+CC/PE,OAApB,SAAc,uHAIf,oLAK3B,UAAN,EAAM,OAAqB,WAAb,MAAR,EAAQ,KzSU6J,GySVhJ,KAAb,EAAa,QAAlC,OAAO,SAAoC,MAAT,EAAS,KzSZkB,IySYtD,mHAMM,QAAN,EAAM,OAAN,EAA2B,SAAb,MAAR,EAAQ,KzSI0Z,GySJ7Y,KAAb,EAAa,cAAlC,OAAO,QAA4C,KAA5C,kHAYM,oBACR,uCACA,4BACA,sCACA,qCACA,+CACA,sCACA,qCACA,uCACA,sCACA,uCACA,yCACA,yBACA,sCACA,uCACA,uCACA,oCACA,wBACA,qCACA,oCACA,4BAkCP,MAAM,GACL,GAlCoB,iCAA+B,IArBlD,qEALS,UAAN,EAAM,OAAqB,WAAb,MAAR,EAAQ,KzSHqlB,GySGxkB,KAAb,EAAa,MAAlC,OAAO,SAAkC,MAAP,EAAO,KzSzBwB,GySyBA,GAA1D,6DC1BF,sD1SPyE,EAkBnF,OAEI,G0STC,WAA4C,0IAsF5C,MAAY,WAAU,IAAW,GACjC,WAAS,OAAoB,EAAO,iL1SlG0C,EA8BiT,E0SC/X,WAAS,OAA0B,6KChD3C,ycAyFQ,SAAsB,OA4Bw5J,QA5Bl3J,WAAW,yELlBnE,cAAsB,WAAI,MAAO,MAAjC,KAAiC,GAAO,YACpC,cAAsB,WAAI,OAAoB,KAAb,MAAjC,EAAiC,KAAjC,EAAiC,MACjC,KAAsB,GAAO,WAAI,oEMzEjD,ycA2BQ,SAAsB,OAgCy9M,QAhCz7M,kCAMtD,SAAsB,OAA0B,4EAW9B,MAAN,EAAM,OAAoB,GAAZ,MAAR,EAAQ,K5SGqO,G4SHzN,MAAtC,EAA6C,MAAP,EAAO,QAAP,GACtC,WAAS,OAAoB,EAAO,iLAUlB,MAAN,EAAM,OAAoB,GAAZ,MAAR,EAAQ,K5SRumB,G4SQ3lB,MAAtC,EAA6C,MAAP,EAAO,QAAP,GACtC,WAAS,OAAqB,EAAO,oLCxD7C,ocAgCQ,OADA,eR2RC,GQ3RmB,GACb,wCAWP,SAAsB,OAqB2rM,QArB3rM,KAA0C,6EC+DZ,M9S3DykC,iC8SiGllC,M9SjGolE,+D8SnC1nE,+CACA,oDAEsC,SAAX,WAAM,6CAf9C,ggBCqJa,+CACA,kDAGL,WAAW,EAAI,OAAyB,EAAc,qCAStD,QAAW,uBACI,GAAX,WAAwB,EAAM,QAChB,GAAV,WAAuB,EAAM,kHAYzC,8CACA,8CAjLJ,ufCyCyC,oD3UqBtB,IA4vDC,EA5vDD,WA4vDC,YAAX,MAAW,M2U5wDR,WAAK,oBA+H4vuD,EA/HruuD,MA+HquuD,GA5HrwuD,WAAmB,M3UgBO,IAyvDd,EAzvDc,WAyvDd,YAAX,MAAW,M2UtwDR,WAAK,iBAyH4vuD,EAzHxuuD,MAyHwuuD,sC3U6oDzvuD,MAlvDiD,EAkvDjD,YAAX,MAAW,M2UjwDW,EAoH8uuD,EApH9uuD,KAAY,EAoHkuuD,EApHluuD,KAC/B,EAAW,WAAM,kCAKf,oBACF,0BAAgB,yBACZ,WAAK,gBAAiB,aAEtB,MhTpB8rB,WgToBzoB,M3UuvDjD,EAvuDO,EAAa,MAuuDpB,YAAX,MAAW,M2UrvD+B,EAwG0tuD,EAxG1tuD,KAAM,EAwGotuD,EAxGptuD,KACrC,EAAM,YAAY,EAAY,GAAN,Q3UgB0C,IAouDlE,EApuDqD,EAAa,MAouDlE,YAAX,MAAW,M2UjvD8B,EAoG2tuD,EApG3tuD,KAAM,EAoGqtuD,EApGrtuD,KACpC,EAAM,YAAY,EAAY,GAAN,wC3QkBA,IA0oaxB,EA1oamB,WAAK,oBA0oaxB,eAAhB,EAAgB,IAAX,MAAW,oB2Qzjagt/b,OA1Fnt/b,YAAS,sBAGF,WAAK,gBAuFus/b,QtOqCht/b,MvGjIgB,EAqSoD,IAAQ,IuGpK5E,QAAX,MAAW,MsOvHR,WAAK,aAkF4qD,EAlF5pD,KAkF4pD,EAlFppD,wCAKjC,WAAK,gBAAiB,UtVvBZ,EA8J2C,IsVtIzC,SACR,WAAK,U3PxEsE,EAAjB,GAsE7D,G2PEkB,sDAAa,EAAT,WAAJ,+JCuBL,2HAGC,OAAP,yMCtDsB,SAAG,YAAuB,4BAA1B,EAA0B,uFA+qBpC,+DAkUA,+DC/iCxB,mKEEA,kNdqDuC,uBAAf,SA8DL,KA9Dc,sCCxB7B,SAAsB,OAyLJ,QAzL8B,uCAIhD,SAAsB,OAsLD,WAtL8B,0COI8C,OQlCE,EvTkCoP,E+SAvS,SAAS,EAAc,mGN0EnE,2BAAiB,2BAAiB,+CJ3EtB,YAApB,MAAM,WAAW,2BAiJS,YAA1B,MAAM,cAAc,0BAoGM,YAA1B,MAAM,cAAc,0BASU,YAA9B,MAAM,OAAO,EAAM,iCA3EC,YAApB,MAAM,WAAW,2BA3JM,YAAvB,MAAM,OAAO,EAAM,8BmBxDnB,MAAU,YAAY,0BAUtB,MAAU,cAAc,0BCNxB,MAAU,SAAS,0BCHnB,MAAU,gBAAgB,0BAK1B,MAAU,cAAc,0BAKxB,MAAU,eAAe,0BAKzB,MAAU,aAAa,0BDiFvB,MAAU,aAAa,0BAlBvB,MAAU,YAAY,0BE9EtB,MAAU,iBAAiB,0BAK3B,MAAU,eAAe,0BAKzB,MAAU,gBAAgB,8Bb0JqC,GAAL,GAAgC,OAAhB,KAAlC,S9SpIylC,gC8S4KxkC,GAAL,GAA2B,OAAX,KAAlC,S9S5KimE,6ByTrCnoE,MAAU,QAAQ,+SGJtB,SAASC,IAAQ,i3BACjB,MAAMC,EAAO,WACX,IAAIC,EAAK,EACT,OAAO,WACL,OAAOA,GACT,CACF,CALY,GAMZ,SAASC,EAAcC,GACrB,OAAOA,OACT,CACA,SAASC,EAAQD,GACf,GAAIE,MAAMD,SAAWC,MAAMD,QAAQD,GACjC,OAAO,EAET,MAAM9J,EAAOiK,OAAOC,UAAU3D,SAAS4D,KAAKL,GAC5C,MAAyB,YAArB9J,EAAKoK,MAAM,EAAG,IAAuC,WAAnBpK,EAAKoK,OAAO,EAIpD,CACA,SAASC,EAASP,GAChB,OAAiB,OAAVA,GAA4D,oBAA1CG,OAAOC,UAAU3D,SAAS4D,KAAKL,EAC1D,CACA,MAAMQ,EAAkBR,IAA4B,iBAAVA,GAAsBA,aAAiBS,SAAWC,UAAUV,GACtG,SAASW,EAAgBX,EAAOY,GAC9B,OAAOJ,EAAeR,GAASA,EAAQY,CACzC,CACA,SAASC,EAAeb,EAAOY,GAC7B,YAAwB,IAAVZ,EAAwBY,EAAeZ,CACvD,CACA,MAIMc,EAAc,CAACd,EAAOe,IACT,iBAAVf,GAAsBA,EAAMgB,SAAS,KAC1CC,WAAWjB,GAAS,IAAMe,GACvBf,EACP,SAASkB,EAASC,EAAIC,EAAMC,GAC1B,GAAIF,GAAyB,mBAAZA,EAAGd,KAClB,OAAOc,EAAGG,MAAMD,EAASD,EAE7B,CACA,SAASG,EAAKC,EAAUL,EAAIE,EAASI,GACnC,IAAItE,EAAGuE,EAAKC,EACZ,GAAI1B,EAAQuB,GAEV,GADAE,EAAMF,EAASI,OACXH,EACF,IAAKtE,EAAIuE,EAAM,EAAGvE,GAAK,EAAGA,IACxBgE,EAAGd,KAAKgB,EAASG,EAASrE,GAAIA,QAGhC,IAAKA,EAAI,EAAGA,EAAIuE,EAAKvE,IACnBgE,EAAGd,KAAKgB,EAASG,EAASrE,GAAIA,QAG7B,GAAIoD,EAASiB,GAGlB,IAFAG,EAAOxB,OAAOwB,KAAKH,GACnBE,EAAMC,EAAKC,OACNzE,EAAI,EAAGA,EAAIuE,EAAKvE,IACnBgE,EAAGd,KAAKgB,EAASG,EAASG,EAAKxE,IAAKwE,EAAKxE,GAG/C,CACA,SAAS0E,EAAeC,EAAIC,GAC1B,IAAI5E,EAAG6E,EAAMC,EAAIC,EACjB,IAAKJ,IAAOC,GAAMD,EAAGF,SAAWG,EAAGH,OACjC,OAAO,EAET,IAAKzE,EAAI,EAAG6E,EAAOF,EAAGF,OAAQzE,EAAI6E,IAAQ7E,EAGxC,GAFA8E,EAAKH,EAAG3E,GACR+E,EAAKH,EAAG5E,GACJ8E,EAAGE,eAAiBD,EAAGC,cAAgBF,EAAGG,QAAUF,EAAGE,MACzD,OAAO,EAGX,OAAO,CACT,CACA,SAASC,EAAQC,GACf,GAAIrC,EAAQqC,GACV,OAAOA,EAAOC,IAAIF,GAEpB,GAAI9B,EAAS+B,GAAS,CACpB,MAAME,EAASrC,OAAOsC,OAAO,MACvBd,EAAOxB,OAAOwB,KAAKW,GACnBI,EAAOf,EAAKC,OAClB,IAAIe,EAAI,EACR,KAAOA,EAAID,IAAQC,EACjBH,EAAOb,EAAKgB,IAAMN,EAAQC,EAAOX,EAAKgB,KAExC,OAAOH,CACT,CACA,OAAOF,CACT,CACA,SAASM,EAAWjO,GAClB,OAAmE,IAA5D,CAAC,YAAa,YAAa,eAAekO,QAAQlO,EAC3D,CACA,SAASmO,EAAQnO,EAAK6N,EAAQF,EAAQS,GACpC,IAAKH,EAAWjO,GACd,OAEF,MAAMqO,EAAOR,EAAO7N,GACdsO,EAAOX,EAAO3N,GAChB4L,EAASyC,IAASzC,EAAS0C,GAC7BC,EAAMF,EAAMC,EAAMF,GAElBP,EAAO7N,GAAO0N,EAAQY,EAE1B,CACA,SAASC,EAAMV,EAAQF,EAAQS,GAC7B,MAAMI,EAAUlD,EAAQqC,GAAUA,EAAS,CAACA,GACtCN,EAAOmB,EAAQvB,OACrB,IAAKrB,EAASiC,GACZ,OAAOA,EAGT,MAAMY,GADNL,EAAUA,GAAW,CAAC,GACCK,QAAUN,EACjC,IAAK,IAAI3F,EAAI,EAAGA,EAAI6E,IAAQ7E,EAAG,CAE7B,IAAKoD,EADL+B,EAASa,EAAQhG,IAEf,SAEF,MAAMwE,EAAOxB,OAAOwB,KAAKW,GACzB,IAAK,IAAIK,EAAI,EAAGD,EAAOf,EAAKC,OAAQe,EAAID,IAAQC,EAC9CS,EAAOzB,EAAKgB,GAAIH,EAAQF,EAAQS,EAEpC,CACA,OAAOP,CACT,CACA,SAASa,EAAQb,EAAQF,GACvB,OAAOY,EAAMV,EAAQF,EAAQ,CAACc,OAAQE,GACxC,CACA,SAASA,EAAU3O,EAAK6N,EAAQF,GAC9B,IAAKM,EAAWjO,GACd,OAEF,MAAMqO,EAAOR,EAAO7N,GACdsO,EAAOX,EAAO3N,GAChB4L,EAASyC,IAASzC,EAAS0C,GAC7BI,EAAQL,EAAMC,GACJ9C,OAAOC,UAAUmD,eAAelD,KAAKmC,EAAQ7N,KACvD6N,EAAO7N,GAAO0N,EAAQY,GAE1B,CAOA,MAAMO,EAAe,CACnB,GAAIC,GAAKA,EACTC,EAAGC,GAAKA,EAAED,EACVE,EAAGD,GAAKA,EAAEC,GAEZ,SAASC,EAAiBC,EAAKnP,GAC7B,MAAMoP,EAAWP,EAAa7O,KAAS6O,EAAa7O,GAGtD,SAAyBA,GACvB,MAAMgN,EAWR,SAAmBhN,GACjB,MAAMqP,EAAQrP,EAAIsP,MAAM,KAClBtC,EAAO,GACb,IAAIuC,EAAM,GACV,IAAK,MAAMC,KAAQH,EACjBE,GAAOC,EACHD,EAAIlD,SAAS,MACfkD,EAAMA,EAAI5D,MAAM,GAAI,GAAK,KAEzBqB,EAAKyC,KAAKF,GACVA,EAAM,IAGV,OAAOvC,CACT,CAzBe0C,CAAU1P,GACvB,OAAOmP,IACL,IAAK,MAAMnB,KAAKhB,EAAM,CACpB,GAAU,KAANgB,EACF,MAEFmB,EAAMA,GAAOA,EAAInB,EACnB,CACA,OAAOmB,CAAG,CAEd,CAd6DQ,CAAgB3P,IAC3E,OAAOoP,EAASD,EAClB,CA4BA,SAASS,EAAYC,GACnB,OAAOA,EAAIC,OAAO,GAAGC,cAAgBF,EAAIlE,MAAM,EACjD,CACA,MAAMqE,EAAW3E,QAA2B,IAAVA,EAC5B4E,EAAc5E,GAA2B,mBAAVA,EAC/B6E,EAAY,CAACnR,EAAGoR,KACpB,GAAIpR,EAAEqR,OAASD,EAAEC,KACf,OAAO,EAET,IAAK,MAAMC,KAAQtR,EACjB,IAAKoR,EAAEG,IAAID,GACT,OAAO,EAGX,OAAO,CAAI,EAMPE,EAAKC,KAAKD,GACVE,EAAM,EAAIF,EACVG,EAAQD,EAAMF,EACdI,EAAW7E,OAAO8E,kBAClBC,EAAcN,EAAK,IACnBO,EAAUP,EAAK,EACfQ,EAAaR,EAAK,EAClBS,EAAqB,EAALT,EAAS,EACzBU,EAAQT,KAAKS,MACbC,EAAOV,KAAKU,KAClB,SAASC,EAAQC,GACf,MAAMC,EAAeb,KAAKc,MAAMF,GAChCA,EAAQG,EAAaH,EAAOC,EAAcD,EAAQ,KAAQC,EAAeD,EACzE,MAAMI,EAAYhB,KAAKiB,IAAI,GAAIjB,KAAKkB,MAAMT,EAAMG,KAC1CO,EAAWP,EAAQI,EAEzB,OADqBG,GAAY,EAAI,EAAIA,GAAY,EAAI,EAAIA,GAAY,EAAI,EAAI,IAC3DH,CACxB,CAiBA,SAASI,EAASC,GAChB,OAAQC,MAAMxF,WAAWuF,KAAO9F,SAAS8F,EAC3C,CACA,SAASN,EAAaxC,EAAGE,EAAG8C,GAC1B,OAAOvB,KAAKwB,IAAIjD,EAAIE,GAAK8C,CAC3B,CAKA,SAASE,EAAmB3J,EAAOuF,EAAQqE,GACzC,IAAI1J,EAAG6E,EAAMhC,EACb,IAAK7C,EAAI,EAAG6E,EAAO/E,EAAM2E,OAAQzE,EAAI6E,EAAM7E,IACzC6C,EAAQ/C,EAAME,GAAG0J,GACZJ,MAAMzG,KACTwC,EAAOsE,IAAM3B,KAAK2B,IAAItE,EAAOsE,IAAK9G,GAClCwC,EAAOuE,IAAM5B,KAAK4B,IAAIvE,EAAOuE,IAAK/G,GAGxC,CACA,SAASgH,EAAUC,GACjB,OAAOA,GAAW/B,EAAK,IACzB,CACA,SAASgC,EAAUC,GACjB,OAAOA,GAAW,IAAMjC,EAC1B,CACA,SAASkC,EAAe1D,GACtB,IAAKlD,EAAekD,GAClB,OAEF,IAAI2D,EAAI,EACJC,EAAI,EACR,KAAOnC,KAAKc,MAAMvC,EAAI2D,GAAKA,IAAM3D,GAC/B2D,GAAK,GACLC,IAEF,OAAOA,CACT,CACA,SAASC,EAAkBC,EAAaC,GACtC,MAAMC,EAAsBD,EAAW/D,EAAI8D,EAAY9D,EACjDiE,EAAsBF,EAAW7D,EAAI4D,EAAY5D,EACjDgE,EAA2BzC,KAAK0C,KAAKH,EAAsBA,EAAsBC,EAAsBA,GAC7G,IAAIG,EAAQ3C,KAAK4C,MAAMJ,EAAqBD,GAI5C,OAHII,GAAU,GAAM5C,IAClB4C,GAAS1C,GAEJ,CACL0C,QACAE,SAAUJ,EAEd,CACA,SAASK,EAAsBC,EAAKC,GAClC,OAAOhD,KAAK0C,KAAK1C,KAAKiB,IAAI+B,EAAIzE,EAAIwE,EAAIxE,EAAG,GAAKyB,KAAKiB,IAAI+B,EAAIvE,EAAIsE,EAAItE,EAAG,GACxE,CACA,SAASwE,EAAW1U,EAAGoR,GACrB,OAAQpR,EAAIoR,EAAIO,GAASD,EAAMF,CACjC,CACA,SAASmD,EAAgB3U,GACvB,OAAQA,EAAI0R,EAAMA,GAAOA,CAC3B,CACA,SAASkD,EAAcR,EAAOS,EAAOC,EAAKC,GACxC,MAAM/U,EAAI2U,EAAgBP,GACpBY,EAAIL,EAAgBE,GACpBlB,EAAIgB,EAAgBG,GACpBG,EAAeN,EAAgBK,EAAIhV,GACnCkV,EAAaP,EAAgBhB,EAAI3T,GACjCmV,EAAeR,EAAgB3U,EAAIgV,GACnCI,EAAaT,EAAgB3U,EAAI2T,GACvC,OAAO3T,IAAMgV,GAAKhV,IAAM2T,GAAMoB,GAAyBC,IAAMrB,GACvDsB,EAAeC,GAAcC,EAAeC,CACpD,CACA,SAASC,EAAY/I,EAAO8G,EAAKC,GAC/B,OAAO5B,KAAK4B,IAAID,EAAK3B,KAAK2B,IAAIC,EAAK/G,GACrC,CAIA,SAASgJ,EAAWhJ,EAAOuI,EAAOC,EAAK9B,EAAU,MAC/C,OAAO1G,GAASmF,KAAK2B,IAAIyB,EAAOC,GAAO9B,GAAW1G,GAASmF,KAAK4B,IAAIwB,EAAOC,GAAO9B,CACpF,CAEA,SAASuC,EAAQC,EAAOlJ,EAAOmJ,GAC7BA,EAAMA,GAAO,CAAE/G,GAAU8G,EAAM9G,GAASpC,GACxC,IAEIoJ,EAFAC,EAAKH,EAAMtH,OAAS,EACpB0H,EAAK,EAET,KAAOD,EAAKC,EAAK,GACfF,EAAOE,EAAKD,GAAO,EACfF,EAAIC,GACNE,EAAKF,EAELC,EAAKD,EAGT,MAAO,CAACE,KAAID,KACd,CACA,MAAME,EAAe,CAACL,EAAOvU,EAAKqL,EAAOwJ,IACvCP,EAAQC,EAAOlJ,EAAOwJ,EAClBpH,GAAS8G,EAAM9G,GAAOzN,IAAQqL,EAC9BoC,GAAS8G,EAAM9G,GAAOzN,GAAOqL,GAC7ByJ,EAAgB,CAACP,EAAOvU,EAAKqL,IACjCiJ,EAAQC,EAAOlJ,GAAOoC,GAAS8G,EAAM9G,GAAOzN,IAAQqL,IAchD0J,GAAc,CAAC,OAAQ,MAAO,QAAS,SAAU,WA+BvD,SAASC,GAAoB1M,EAAO2M,GAClC,MAAMC,EAAO5M,EAAM6M,SACnB,IAAKD,EACH,OAEF,MAAME,EAAYF,EAAKE,UACjB3H,EAAQ2H,EAAUlH,QAAQ+G,IACjB,IAAXxH,GACF2H,EAAUC,OAAO5H,EAAO,GAEtB2H,EAAUnI,OAAS,IAGvB8H,GAAYO,SAAStV,WACZsI,EAAMtI,EAAI,WAEZsI,EAAM6M,SACf,CACA,SAASI,GAAaC,GACpB,MAAMC,EAAM,IAAIC,IAChB,IAAIlN,EAAG6E,EACP,IAAK7E,EAAI,EAAG6E,EAAOmI,EAAMvI,OAAQzE,EAAI6E,IAAQ7E,EAC3CiN,EAAIE,IAAIH,EAAMhN,IAEhB,OAAIiN,EAAIrF,OAAS/C,EACRmI,EAEFjK,MAAMqK,KAAKH,EACpB,CAKA,MAAMI,GACkB,oBAAXhP,OACF,SAAS0F,GACd,OAAOA,GACT,EAEK1F,OAAOiP,sBAEhB,SAASC,GAAUvJ,EAAIE,EAASsJ,GAC9B,MAAMC,EAAaD,GAAY,CAAEvJ,GAASlB,MAAME,UAAUE,MAAMD,KAAKe,IACrE,IAAIyJ,GAAU,EACVzJ,EAAO,GACX,OAAO,YAAY0J,GACjB1J,EAAOwJ,EAAWE,GACbD,IACHA,GAAU,EACVL,GAAiBnK,KAAK7E,QAAQ,KAC5BqP,GAAU,EACV1J,EAAGG,MAAMD,EAASD,EAAK,IAG7B,CACF,CAaA,MAAM2J,GAAsBC,GAAoB,UAAVA,EAAoB,OAAmB,QAAVA,EAAkB,QAAU,SACzFC,GAAiB,CAACD,EAAOzC,EAAOC,IAAkB,UAAVwC,EAAoBzC,EAAkB,QAAVyC,EAAkBxC,GAAOD,EAAQC,GAAO,EAKlH,SAAS0C,GAAiCC,EAAMC,EAAQC,GACtD,MAAMC,EAAaF,EAAOxJ,OAC1B,IAAI2G,EAAQ,EACRgD,EAAQD,EACZ,GAAIH,EAAKK,QAAS,CAChB,MAAM,OAACC,EAAM,QAAEC,GAAWP,EACpBQ,EAAOF,EAAOE,MACd,IAAC7E,EAAG,IAAEC,EAAG,WAAE6E,EAAU,WAAEC,GAAcJ,EAAOK,gBAC9CF,IACFrD,EAAQQ,EAAY5D,KAAK2B,IACvByC,EAAamC,EAASD,EAAOE,KAAM7E,GAAKwC,GACxC+B,EAAqBC,EAAa/B,EAAa6B,EAAQO,EAAMF,EAAOM,iBAAiBjF,IAAMwC,IAC7F,EAAGgC,EAAa,IAGhBC,EADEM,EACM9C,EAAY5D,KAAK4B,IACvBwC,EAAamC,EAASD,EAAOE,KAAM5E,GAAK,GAAMsC,GAAK,EACnDgC,EAAqB,EAAI9B,EAAa6B,EAAQO,EAAMF,EAAOM,iBAAiBhF,IAAM,GAAMsC,GAAK,GAC/Fd,EAAO+C,GAAc/C,EAEb+C,EAAa/C,CAEzB,CACA,MAAO,CAACA,QAAOgD,QACjB,CACA,SAASS,GAAoBb,GAC3B,MAAM,OAACc,EAAM,OAAEC,EAAM,aAAEC,GAAgBhB,EACjCiB,EAAY,CAChBC,KAAMJ,EAAOnF,IACbwF,KAAML,EAAOlF,IACbwF,KAAML,EAAOpF,IACb0F,KAAMN,EAAOnF,KAEf,IAAKoF,EAEH,OADAhB,EAAKgB,aAAeC,GACb,EAET,MAAMK,EAAUN,EAAaE,OAASJ,EAAOnF,KAC1CqF,EAAaG,OAASL,EAAOlF,KAC7BoF,EAAaI,OAASL,EAAOpF,KAC7BqF,EAAaK,OAASN,EAAOnF,IAEhC,OADA5G,OAAOuM,OAAOP,EAAcC,GACrBK,CACT,CAEA,MAAME,GAAUC,GAAY,IAANA,GAAiB,IAANA,EAC3BC,GAAY,CAACD,EAAGlE,EAAGpB,KAAQnC,KAAKiB,IAAI,EAAG,IAAMwG,GAAK,IAAMzH,KAAK2H,KAAKF,EAAIlE,GAAKtD,EAAMkC,GACjFyF,GAAa,CAACH,EAAGlE,EAAGpB,IAAMnC,KAAKiB,IAAI,GAAI,GAAKwG,GAAKzH,KAAK2H,KAAKF,EAAIlE,GAAKtD,EAAMkC,GAAK,EAC/E0F,GAAU,CACdC,OAAQL,GAAKA,EACbM,WAAYN,GAAKA,EAAIA,EACrBO,YAAaP,IAAMA,GAAKA,EAAI,GAC5BQ,cAAeR,IAAOA,GAAK,IAAO,EAC9B,GAAMA,EAAIA,GACT,MAAUA,GAAMA,EAAI,GAAK,GAC9BS,YAAaT,GAAKA,EAAIA,EAAIA,EAC1BU,aAAcV,IAAMA,GAAK,GAAKA,EAAIA,EAAI,EACtCW,eAAgBX,IAAOA,GAAK,IAAO,EAC/B,GAAMA,EAAIA,EAAIA,EACd,KAAQA,GAAK,GAAKA,EAAIA,EAAI,GAC9BY,YAAaZ,GAAKA,EAAIA,EAAIA,EAAIA,EAC9Ba,aAAcb,MAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAI,GAC5Cc,eAAgBd,IAAOA,GAAK,IAAO,EAC/B,GAAMA,EAAIA,EAAIA,EAAIA,GACjB,KAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAI,GACnCe,YAAaf,GAAKA,EAAIA,EAAIA,EAAIA,EAAIA,EAClCgB,aAAchB,IAAMA,GAAK,GAAKA,EAAIA,EAAIA,EAAIA,EAAI,EAC9CiB,eAAgBjB,IAAOA,GAAK,IAAO,EAC/B,GAAMA,EAAIA,EAAIA,EAAIA,EAAIA,EACtB,KAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAIA,EAAI,GACtCkB,WAAYlB,GAA8B,EAAxBzH,KAAK4I,IAAInB,EAAInH,GAC/BuI,YAAapB,GAAKzH,KAAK2H,IAAIF,EAAInH,GAC/BwI,cAAerB,IAAM,IAAOzH,KAAK4I,IAAI7I,EAAK0H,GAAK,GAC/CsB,WAAYtB,GAAY,IAANA,EAAW,EAAIzH,KAAKiB,IAAI,EAAG,IAAMwG,EAAI,IACvDuB,YAAavB,GAAY,IAANA,EAAW,EAA4B,EAAvBzH,KAAKiB,IAAI,GAAI,GAAKwG,GACrDwB,cAAexB,GAAKD,GAAOC,GAAKA,EAAIA,EAAI,GACpC,GAAMzH,KAAKiB,IAAI,EAAG,IAAU,EAAJwG,EAAQ,IAChC,IAAyC,EAAjCzH,KAAKiB,IAAI,GAAI,IAAU,EAAJwG,EAAQ,KACvCyB,WAAYzB,GAAMA,GAAK,EAAKA,IAAMzH,KAAK0C,KAAK,EAAI+E,EAAIA,GAAK,GACzD0B,YAAa1B,GAAKzH,KAAK0C,KAAK,GAAK+E,GAAK,GAAKA,GAC3C2B,cAAe3B,IAAOA,GAAK,IAAO,GAC7B,IAAOzH,KAAK0C,KAAK,EAAI+E,EAAIA,GAAK,GAC/B,IAAOzH,KAAK0C,KAAK,GAAK+E,GAAK,GAAKA,GAAK,GACzC4B,cAAe5B,GAAKD,GAAOC,GAAKA,EAAIC,GAAUD,EAAG,KAAO,IACxD6B,eAAgB7B,GAAKD,GAAOC,GAAKA,EAAIG,GAAWH,EAAG,KAAO,IAC1D8B,iBAAiB9B,GACf,MAAMlE,EAAI,MAEV,OAAOiE,GAAOC,GAAKA,EACjBA,EAAI,GACA,GAAMC,GAAc,EAAJD,EAAOlE,EAHnB,KAIJ,GAAM,GAAMqE,GAAe,EAAJH,EAAQ,EAAGlE,EAJ9B,IAKZ,EACAiG,WAAW/B,GACT,MAAMlE,EAAI,QACV,OAAOkE,EAAIA,IAAMlE,EAAI,GAAKkE,EAAIlE,EAChC,EACAkG,YAAYhC,GACV,MAAMlE,EAAI,QACV,OAAQkE,GAAK,GAAKA,IAAMlE,EAAI,GAAKkE,EAAIlE,GAAK,CAC5C,EACAmG,cAAcjC,GACZ,IAAIlE,EAAI,QACR,OAAKkE,GAAK,IAAO,EACDA,EAAIA,IAAuB,GAAhBlE,GAAK,QAAgBkE,EAAIlE,GAA3C,GAEF,KAAQkE,GAAK,GAAKA,IAAuB,GAAhBlE,GAAK,QAAgBkE,EAAIlE,GAAK,EAChE,EACAoG,aAAclC,GAAK,EAAII,GAAQ+B,cAAc,EAAInC,GACjDmC,cAAcnC,GACZ,MAAMoC,EAAI,OACJC,EAAI,KACV,OAAIrC,EAAK,EAAIqC,EACJD,EAAIpC,EAAIA,EAEbA,EAAK,EAAIqC,EACJD,GAAKpC,GAAM,IAAMqC,GAAMrC,EAAI,IAEhCA,EAAK,IAAMqC,EACND,GAAKpC,GAAM,KAAOqC,GAAMrC,EAAI,MAE9BoC,GAAKpC,GAAM,MAAQqC,GAAMrC,EAAI,OACtC,EACAsC,gBAAiBtC,GAAMA,EAAI,GACO,GAA9BI,GAAQ8B,aAAiB,EAAJlC,GACc,GAAnCI,GAAQ+B,cAAkB,EAAJnC,EAAQ,GAAW,IAS/C,SAAS3G,GAAMxC,GACb,OAAOA,EAAI,GAAM,CACnB,CACA,MAAM0L,GAAM,CAAC1L,EAAG2L,EAAGC,IAAMlK,KAAK4B,IAAI5B,KAAK2B,IAAIrD,EAAG4L,GAAID,GAClD,SAASE,GAAI7L,GACX,OAAO0L,GAAIlJ,GAAU,KAAJxC,GAAW,EAAG,IACjC,CACA,SAAS8L,GAAI9L,GACX,OAAO0L,GAAIlJ,GAAU,IAAJxC,GAAU,EAAG,IAChC,CACA,SAAS+L,GAAI/L,GACX,OAAO0L,GAAIlJ,GAAMxC,EAAI,MAAQ,IAAK,EAAG,EACvC,CACA,SAASgM,GAAIhM,GACX,OAAO0L,GAAIlJ,GAAU,IAAJxC,GAAU,EAAG,IAChC,CACA,MAAMiM,GAAQ,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAGC,EAAG,GAAIC,EAAG,GAAIC,EAAG,GAAIC,EAAG,GAAIC,EAAG,GAAIC,EAAG,GAAItc,EAAG,GAAIoR,EAAG,GAAI5P,EAAG,GAAI+Z,EAAG,GAAI5H,EAAG,GAAI4I,EAAG,IACrJC,GAAM,IAAI,oBACVC,GAAKrL,GAAKoL,GAAQ,GAAJpL,GACdsL,GAAKtL,GAAKoL,IAAS,IAAJpL,IAAa,GAAKoL,GAAQ,GAAJpL,GACrCuL,GAAKvL,IAAW,IAAJA,IAAa,IAAY,GAAJA,GA+BvC,MAAMwL,GAAS,+GACf,SAASC,GAASlB,EAAG3G,EAAG0G,GACtB,MAAM1b,EAAIgV,EAAIvD,KAAK2B,IAAIsI,EAAG,EAAIA,GACxBa,EAAI,CAACzJ,EAAG7D,GAAK6D,EAAI6I,EAAI,IAAM,KAAOD,EAAI1b,EAAIyR,KAAK4B,IAAI5B,KAAK2B,IAAInE,EAAI,EAAG,EAAIA,EAAG,IAAK,GACrF,MAAO,CAACsN,EAAE,GAAIA,EAAE,GAAIA,EAAE,GACxB,CACA,SAASO,GAASnB,EAAG3G,EAAGjF,GACtB,MAAMwM,EAAI,CAACzJ,EAAG7D,GAAK6D,EAAI6I,EAAI,IAAM,IAAM5L,EAAIA,EAAIiF,EAAIvD,KAAK4B,IAAI5B,KAAK2B,IAAInE,EAAG,EAAIA,EAAG,GAAI,GACnF,MAAO,CAACsN,EAAE,GAAIA,EAAE,GAAIA,EAAE,GACxB,CACA,SAASQ,GAASpB,EAAGqB,EAAG5L,GACtB,MAAM6L,EAAMJ,GAASlB,EAAG,EAAG,IAC3B,IAAIlS,EAMJ,IALIuT,EAAI5L,EAAI,IACV3H,EAAI,GAAKuT,EAAI5L,GACb4L,GAAKvT,EACL2H,GAAK3H,GAEFA,EAAI,EAAGA,EAAI,EAAGA,IACjBwT,EAAIxT,IAAM,EAAIuT,EAAI5L,EAClB6L,EAAIxT,IAAMuT,EAEZ,OAAOC,CACT,CAUA,SAASC,GAAQnN,GACf,MACMoN,EAAIpN,EAAEoN,EADE,IAERvT,EAAImG,EAAEnG,EAFE,IAGRwH,EAAIrB,EAAEqB,EAHE,IAIRiC,EAAM5B,KAAK4B,IAAI8J,EAAGvT,EAAGwH,GACrBgC,EAAM3B,KAAK2B,IAAI+J,EAAGvT,EAAGwH,GACrBsK,GAAKrI,EAAMD,GAAO,EACxB,IAAIuI,EAAG3G,EAAGuG,EAOV,OANIlI,IAAQD,IACVmI,EAAIlI,EAAMD,EACV4B,EAAI0G,EAAI,GAAMH,GAAK,EAAIlI,EAAMD,GAAOmI,GAAKlI,EAAMD,GAC/CuI,EArBJ,SAAkBwB,EAAGvT,EAAGwH,EAAGmK,EAAGlI,GAC5B,OAAI8J,IAAM9J,GACCzJ,EAAIwH,GAAKmK,GAAM3R,EAAIwH,EAAI,EAAI,GAElCxH,IAAMyJ,GACAjC,EAAI+L,GAAK5B,EAAI,GAEf4B,EAAIvT,GAAK2R,EAAI,CACvB,CAaQ6B,CAASD,EAAGvT,EAAGwH,EAAGmK,EAAGlI,GACzBsI,EAAQ,GAAJA,EAAS,IAER,CAAK,EAAJA,EAAO3G,GAAK,EAAG0G,EACzB,CACA,SAAS2B,GAAMd,EAAGvc,EAAGoR,EAAG5P,GACtB,OACEgL,MAAMD,QAAQvM,GACVuc,EAAEvc,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAChBuc,EAAEvc,EAAGoR,EAAG5P,IACZqN,IAAIgN,GACR,CACA,SAASyB,GAAQ3B,EAAG3G,EAAG0G,GACrB,OAAO2B,GAAMR,GAAUlB,EAAG3G,EAAG0G,EAC/B,CAOA,SAAS6B,GAAI5B,GACX,OAAQA,EAAI,IAAM,KAAO,GAC3B,CAgDA,MAAM9M,GAAM,CACVmB,EAAG,OACHwN,EAAG,QACHC,EAAG,KACHC,EAAG,MACHC,EAAG,KACHC,EAAG,SACHC,EAAG,QACH5B,EAAG,KACH6B,EAAG,KACHC,EAAG,KACH7B,EAAG,KACHC,EAAG,QACHC,EAAG,QACH4B,EAAG,KACHC,EAAG,WACH5B,EAAG,KACH6B,EAAG,KACHC,EAAG,KACHC,EAAG,KACHC,EAAG,KACHC,EAAG,QACHhC,EAAG,KACHiC,EAAG,KACHC,EAAG,OACHC,EAAG,KACHC,EAAG,QACHC,EAAG,MAECC,GAAU,CACdC,OAAQ,SACRC,YAAa,SACbC,KAAM,OACNC,UAAW,SACXC,KAAM,SACNC,MAAO,SACPC,OAAQ,SACRC,MAAO,IACPC,aAAc,SACdC,GAAI,KACJC,QAAS,SACTC,KAAM,SACNC,UAAW,SACXC,OAAQ,SACRC,SAAU,SACVC,QAAS,SACTC,IAAK,SACLC,YAAa,SACbC,QAAS,SACTC,QAAS,SACTC,KAAM,OACNC,IAAK,KACLC,MAAO,OACPC,QAAS,SACTC,KAAM,SACNC,KAAM,OACNC,KAAM,SACNC,OAAQ,SACRC,QAAS,SACTC,SAAU,SACVC,OAAQ,SACRC,MAAO,SACPC,IAAK,SACLC,OAAQ,SACRC,OAAQ,SACRC,KAAM,SACNC,MAAO,SACPC,MAAO,SACPC,IAAK,OACLC,OAAQ,SACRC,OAAQ,SACRC,SAAU,OACVC,OAAQ,SACRC,OAAQ,SACRC,SAAU,SACVC,SAAU,SACVC,SAAU,SACVC,SAAU,SACVC,OAAQ,SACRC,QAAS,SACTC,UAAW,SACXC,IAAK,SACLC,OAAQ,SACRC,IAAK,SACLC,IAAK,OACLC,MAAO,SACPC,IAAK,SACLC,QAAS,SACTC,OAAQ,SACRC,QAAS,SACTC,MAAO,SACPC,KAAM,SACNC,MAAO,SACPC,OAAQ,SACRC,UAAW,SACXC,QAAS,SACTC,WAAY,SACZC,IAAK,SACLC,KAAM,SACNC,MAAO,SACPC,UAAW,SACXC,KAAM,SACNC,KAAM,SACNC,KAAM,SACNC,KAAM,SACNC,OAAQ,SACRC,OAAQ,SACRC,OAAQ,SACRC,MAAO,SACPC,MAAO,SACPC,QAAS,SACTC,IAAK,SACLC,KAAM,OACNC,QAAS,SACTC,IAAK,SACLC,OAAQ,SACRC,MAAO,SACPC,WAAY,SACZC,IAAK,KACLC,MAAO,SACPC,OAAQ,SACRC,OAAQ,SACRC,KAAM,SACNC,UAAW,OACXC,IAAK,SACLC,SAAU,SACVC,WAAY,SACZC,QAAS,SACTC,SAAU,SACVC,QAAS,SACTC,WAAY,SACZC,KAAM,KACNC,OAAQ,SACRC,KAAM,SACNC,QAAS,SACTC,MAAO,SACPC,QAAS,SACTC,KAAM,SACNC,UAAW,SACXC,OAAQ,SACRC,MAAO,SACPC,WAAY,SACZC,UAAW,SACXC,QAAS,SACTC,KAAM,SACNC,IAAK,SACLC,KAAM,SACNC,QAAS,SACTC,MAAO,SACPC,YAAa,SACbC,GAAI,SACJC,SAAU,SACVC,MAAO,SACPC,UAAW,SACXC,MAAO,SACPC,UAAW,SACXC,MAAO,SACPC,QAAS,SACTC,MAAO,SACPC,OAAQ,SACRC,MAAO,SACPC,IAAK,SACLC,KAAM,SACNC,KAAM,SACNC,KAAM,SACNC,SAAU,OACVC,OAAQ,SACRC,IAAK,SACLC,IAAK,OACLC,MAAO,SACPC,OAAQ,SACRC,GAAI,SACJC,MAAO,SACPC,IAAK,SACLC,KAAM,SACNC,UAAW,SACXC,GAAI,SACJC,MAAO,UAkBT,IAAIC,GAcJ,MAAMC,GAAS,uGAgCTC,GAAKpY,GAAKA,GAAK,SAAgB,MAAJA,EAAqC,MAAzB0B,KAAKiB,IAAI3C,EAAG,EAAM,KAAe,KACxE8G,GAAO9G,GAAKA,GAAK,OAAUA,EAAI,MAAQ0B,KAAKiB,KAAK3C,EAAI,MAAS,MAAO,KAY3E,SAASqY,GAAOrY,EAAGtG,EAAG4e,GACpB,GAAItY,EAAG,CACL,IAAIS,EAAM0M,GAAQnN,GAClBS,EAAI/G,GAAKgI,KAAK4B,IAAI,EAAG5B,KAAK2B,IAAI5C,EAAI/G,GAAK+G,EAAI/G,GAAK4e,EAAa,IAAN5e,EAAU,IAAM,IACvE+G,EAAM8M,GAAQ9M,GACdT,EAAEoN,EAAI3M,EAAI,GACVT,EAAEnG,EAAI4G,EAAI,GACVT,EAAEqB,EAAIZ,EAAI,EACZ,CACF,CACA,SAAS8X,GAAMvY,EAAGwY,GAChB,OAAOxY,EAAItD,OAAOuM,OAAOuP,GAAS,CAAC,EAAGxY,GAAKA,CAC7C,CACA,SAASyY,GAAWC,GAClB,IAAI1Y,EAAI,CAACoN,EAAG,EAAGvT,EAAG,EAAGwH,EAAG,EAAGpR,EAAG,KAY9B,OAXIwM,MAAMD,QAAQkc,GACZA,EAAMva,QAAU,IAClB6B,EAAI,CAACoN,EAAGsL,EAAM,GAAI7e,EAAG6e,EAAM,GAAIrX,EAAGqX,EAAM,GAAIzoB,EAAG,KAC3CyoB,EAAMva,OAAS,IACjB6B,EAAE/P,EAAI6b,GAAI4M,EAAM,OAIpB1Y,EAAIuY,GAAMG,EAAO,CAACtL,EAAG,EAAGvT,EAAG,EAAGwH,EAAG,EAAGpR,EAAG,KACrCA,EAAI6b,GAAI9L,EAAE/P,GAEP+P,CACT,CACA,SAAS2Y,GAAc5X,GACrB,MAAsB,MAAlBA,EAAIC,OAAO,GAzEjB,SAAkBD,GAChB,MAAMwK,EAAI4M,GAAOS,KAAK7X,GACtB,IACIqM,EAAGvT,EAAGwH,EADNpR,EAAI,IAER,GAAKsb,EAAL,CAGA,GAAIA,EAAE,KAAO6B,EAAG,CACd,MAAMpN,GAAKuL,EAAE,GACbtb,EAAIsb,EAAE,GAAKM,GAAI7L,GAAK0L,GAAQ,IAAJ1L,EAAS,EAAG,IACtC,CAOA,OANAoN,GAAK7B,EAAE,GACP1R,GAAK0R,EAAE,GACPlK,GAAKkK,EAAE,GACP6B,EAAI,KAAO7B,EAAE,GAAKM,GAAIuB,GAAK1B,GAAI0B,EAAG,EAAG,MACrCvT,EAAI,KAAO0R,EAAE,GAAKM,GAAIhS,GAAK6R,GAAI7R,EAAG,EAAG,MACrCwH,EAAI,KAAOkK,EAAE,GAAKM,GAAIxK,GAAKqK,GAAIrK,EAAG,EAAG,MAC9B,CACL+L,EAAGA,EACHvT,EAAGA,EACHwH,EAAGA,EACHpR,EAAGA,EAfL,CAiBF,CAmDW4oB,CAAS9X,GA3UpB,SAAkBA,GAChB,MAAMwK,EAAIsB,GAAO+L,KAAK7X,GACtB,IACIf,EADA/P,EAAI,IAER,IAAKsb,EACH,OAEEA,EAAE,KAAOvL,IACX/P,EAAIsb,EAAE,GAAKM,IAAKN,EAAE,IAAMO,IAAKP,EAAE,KAEjC,MAAMK,EAAI4B,IAAKjC,EAAE,IACXuN,GAAMvN,EAAE,GAAK,IACbwN,GAAMxN,EAAE,GAAK,IAQnB,OANEvL,EADW,QAATuL,EAAE,GAtBR,SAAiBK,EAAGqB,EAAG5L,GACrB,OAAOiM,GAAMN,GAAUpB,EAAGqB,EAAG5L,EAC/B,CAqBQ2X,CAAQpN,EAAGkN,EAAIC,GACD,QAATxN,EAAE,GArBf,SAAiBK,EAAG3G,EAAGjF,GACrB,OAAOsN,GAAMP,GAAUnB,EAAG3G,EAAGjF,EAC/B,CAoBQiZ,CAAQrN,EAAGkN,EAAIC,GAEfxL,GAAQ3B,EAAGkN,EAAIC,GAEd,CACL3L,EAAGpN,EAAE,GACLnG,EAAGmG,EAAE,GACLqB,EAAGrB,EAAE,GACL/P,EAAGA,EAEP,CAmTSipB,CAASnY,EAClB,CACA,MAAMoY,GACJC,YAAYV,GACV,GAAIA,aAAiBS,GACnB,OAAOT,EAET,MAAMjmB,SAAcimB,EACpB,IAAI1Y,EAvbR,IAAkBe,EAEZsY,EADApb,EAubW,WAATxL,EACFuN,EAAIyY,GAAWC,GACG,WAATjmB,IAzbTwL,GADY8C,EA2bC2X,GA1bHva,OAEC,MAAX4C,EAAI,KACM,IAAR9C,GAAqB,IAARA,EACfob,EAAM,CACJjM,EAAG,IAAsB,GAAhBnB,GAAMlL,EAAI,IACnBlH,EAAG,IAAsB,GAAhBoS,GAAMlL,EAAI,IACnBM,EAAG,IAAsB,GAAhB4K,GAAMlL,EAAI,IACnB9Q,EAAW,IAARgO,EAA4B,GAAhBgO,GAAMlL,EAAI,IAAW,KAErB,IAAR9C,GAAqB,IAARA,IACtBob,EAAM,CACJjM,EAAGnB,GAAMlL,EAAI,KAAO,EAAIkL,GAAMlL,EAAI,IAClClH,EAAGoS,GAAMlL,EAAI,KAAO,EAAIkL,GAAMlL,EAAI,IAClCM,EAAG4K,GAAMlL,EAAI,KAAO,EAAIkL,GAAMlL,EAAI,IAClC9Q,EAAW,IAARgO,EAAagO,GAAMlL,EAAI,KAAO,EAAIkL,GAAMlL,EAAI,IAAO,OA2axDf,EAvaGqZ,GAiUT,SAAmBtY,GACZmX,KACHA,GAnBJ,WACE,MAAMoB,EAAW,CAAC,EACZpb,EAAOxB,OAAOwB,KAAK2Q,IACnB0K,EAAQ7c,OAAOwB,KAAKY,IAC1B,IAAIpF,EAAG8f,EAAGta,EAAGua,EAAIC,EACjB,IAAKhgB,EAAI,EAAGA,EAAIwE,EAAKC,OAAQzE,IAAK,CAEhC,IADA+f,EAAKC,EAAKxb,EAAKxE,GACV8f,EAAI,EAAGA,EAAID,EAAMpb,OAAQqb,IAC5Bta,EAAIqa,EAAMC,GACVE,EAAKA,EAAGC,QAAQza,EAAGJ,GAAII,IAEzBA,EAAI0a,SAAS/K,GAAQ4K,GAAK,IAC1BH,EAASI,GAAM,CAACxa,GAAK,GAAK,IAAMA,GAAK,EAAI,IAAU,IAAJA,EACjD,CACA,OAAOoa,CACT,CAIYO,GACR3B,GAAM4B,YAAc,CAAC,EAAG,EAAG,EAAG,IAEhC,MAAM7pB,EAAIioB,GAAMnX,EAAIgZ,eACpB,OAAO9pB,GAAK,CACVmd,EAAGnd,EAAE,GACL4J,EAAG5J,EAAE,GACLoR,EAAGpR,EAAE,GACLA,EAAgB,IAAbA,EAAEkO,OAAelO,EAAE,GAAK,IAE/B,CA0F6B+pB,CAAUtB,IAAUC,GAAcD,IAE3DrpB,KAAK4qB,KAAOja,EACZ3Q,KAAK6qB,SAAWla,CAClB,CACIma,YACF,OAAO9qB,KAAK6qB,MACd,CACIhN,UACF,IAAIlN,EAAIuY,GAAMlpB,KAAK4qB,MAInB,OAHIja,IACFA,EAAE/P,EAAI8b,GAAI/L,EAAE/P,IAEP+P,CACT,CACIkN,QAAI7M,GACNhR,KAAK4qB,KAAOxB,GAAWpY,EACzB,CACA+Z,YACE,OAAO/qB,KAAK6qB,QAnFGla,EAmFgB3Q,KAAK4qB,QAjFpCja,EAAE/P,EAAI,IACF,QAAQ+P,EAAEoN,MAAMpN,EAAEnG,MAAMmG,EAAEqB,MAAM0K,GAAI/L,EAAE/P,MACtC,OAAO+P,EAAEoN,MAAMpN,EAAEnG,MAAMmG,EAAEqB,WA+EegZ,EAnFhD,IAAmBra,CAoFjB,CACAsa,YACE,OAAOjrB,KAAK6qB,QA1bGla,EA0bgB3Q,KAAK4qB,KAzblCzN,EAzBUxM,IAAK4M,GAAG5M,EAAEoN,IAAMR,GAAG5M,EAAEnG,IAAM+S,GAAG5M,EAAEqB,IAAMuL,GAAG5M,EAAE/P,GAyBjDsqB,CAAQva,GAAK0M,GAAKC,GACnB3M,EACH,IAAMwM,EAAExM,EAAEoN,GAAKZ,EAAExM,EAAEnG,GAAK2S,EAAExM,EAAEqB,GAJpB,EAACpR,EAAGuc,IAAMvc,EAAI,IAAMuc,EAAEvc,GAAK,GAIFuqB,CAAMxa,EAAE/P,EAAGuc,QAC5C6N,QAsb0CA,EA1bhD,IAAmBra,EACbwM,CA0bJ,CACAiO,YACE,OAAOprB,KAAK6qB,OA/UhB,SAAmBla,GACjB,IAAKA,EACH,OAEF,MAAM/P,EAAIkd,GAAQnN,GACZ4L,EAAI3b,EAAE,GACNgV,EAAI+G,GAAI/b,EAAE,IACV0b,EAAIK,GAAI/b,EAAE,IAChB,OAAO+P,EAAE/P,EAAI,IACT,QAAQ2b,MAAM3G,OAAO0G,OAAOI,GAAI/L,EAAE/P,MAClC,OAAO2b,MAAM3G,OAAO0G,KAC1B,CAoUyB8O,CAAUprB,KAAK4qB,WAAQI,CAC9C,CACAK,IAAIC,EAAOC,GACT,GAAID,EAAO,CACT,MAAME,EAAKxrB,KAAK6d,IACV4N,EAAKH,EAAMzN,IACjB,IAAI6N,EACJ,MAAMlX,EAAI+W,IAAWG,EAAK,GAAMH,EAC1B3N,EAAI,EAAIpJ,EAAI,EACZ5T,EAAI4qB,EAAG5qB,EAAI6qB,EAAG7qB,EACd+qB,IAAO/N,EAAIhd,IAAO,EAAIgd,GAAKA,EAAIhd,IAAM,EAAIgd,EAAIhd,IAAM,GAAK,EAC9D8qB,EAAK,EAAIC,EACTH,EAAGzN,EAAI,IAAO4N,EAAKH,EAAGzN,EAAI2N,EAAKD,EAAG1N,EAAI,GACtCyN,EAAGhhB,EAAI,IAAOmhB,EAAKH,EAAGhhB,EAAIkhB,EAAKD,EAAGjhB,EAAI,GACtCghB,EAAGxZ,EAAI,IAAO2Z,EAAKH,EAAGxZ,EAAI0Z,EAAKD,EAAGzZ,EAAI,GACtCwZ,EAAG5qB,EAAI4T,EAAIgX,EAAG5qB,GAAK,EAAI4T,GAAKiX,EAAG7qB,EAC/BZ,KAAK6d,IAAM2N,CACb,CACA,OAAOxrB,IACT,CACA4rB,YAAYN,EAAOxR,GAIjB,OAHIwR,IACFtrB,KAAK4qB,KAtGX,SAAqBiB,EAAMC,EAAMhS,GAC/B,MAAMiE,EAAItG,GAAKiF,GAAImP,EAAK9N,IAClBvT,EAAIiN,GAAKiF,GAAImP,EAAKrhB,IAClBwH,EAAIyF,GAAKiF,GAAImP,EAAK7Z,IACxB,MAAO,CACL+L,EAAGtB,GAAIsM,GAAGhL,EAAIjE,GAAKrC,GAAKiF,GAAIoP,EAAK/N,IAAMA,KACvCvT,EAAGiS,GAAIsM,GAAGve,EAAIsP,GAAKrC,GAAKiF,GAAIoP,EAAKthB,IAAMA,KACvCwH,EAAGyK,GAAIsM,GAAG/W,EAAI8H,GAAKrC,GAAKiF,GAAIoP,EAAK9Z,IAAMA,KACvCpR,EAAGirB,EAAKjrB,EAAIkZ,GAAKgS,EAAKlrB,EAAIirB,EAAKjrB,GAEnC,CA4FkBgrB,CAAY5rB,KAAK4qB,KAAMU,EAAMV,KAAM9Q,IAE1C9Z,IACT,CACAkpB,QACE,OAAO,IAAIY,GAAM9pB,KAAK6d,IACxB,CACAsN,MAAMvqB,GAEJ,OADAZ,KAAK4qB,KAAKhqB,EAAI6b,GAAI7b,GACXZ,IACT,CACA+rB,QAAQ9C,GAGN,OAFYjpB,KAAK4qB,KACbhqB,GAAK,EAAIqoB,EACNjpB,IACT,CACAgsB,YACE,MAAMnO,EAAM7d,KAAK4qB,KACXqB,EAAM9Y,GAAc,GAAR0K,EAAIE,EAAkB,IAARF,EAAIrT,EAAmB,IAARqT,EAAI7L,GAEnD,OADA6L,EAAIE,EAAIF,EAAIrT,EAAIqT,EAAI7L,EAAIia,EACjBjsB,IACT,CACAksB,QAAQjD,GAGN,OAFYjpB,KAAK4qB,KACbhqB,GAAK,EAAIqoB,EACNjpB,IACT,CACAmsB,SACE,MAAMxb,EAAI3Q,KAAK4qB,KAIf,OAHAja,EAAEoN,EAAI,IAAMpN,EAAEoN,EACdpN,EAAEnG,EAAI,IAAMmG,EAAEnG,EACdmG,EAAEqB,EAAI,IAAMrB,EAAEqB,EACPhS,IACT,CACAosB,QAAQnD,GAEN,OADAD,GAAOhpB,KAAK4qB,KAAM,EAAG3B,GACdjpB,IACT,CACAqsB,OAAOpD,GAEL,OADAD,GAAOhpB,KAAK4qB,KAAM,GAAI3B,GACfjpB,IACT,CACAssB,SAASrD,GAEP,OADAD,GAAOhpB,KAAK4qB,KAAM,EAAG3B,GACdjpB,IACT,CACAusB,WAAWtD,GAET,OADAD,GAAOhpB,KAAK4qB,KAAM,GAAI3B,GACfjpB,IACT,CACAwsB,OAAOC,GAEL,OAjaJ,SAAgB9b,EAAG8b,GACjB,IAAIlQ,EAAIuB,GAAQnN,GAChB4L,EAAE,GAAK4B,GAAI5B,EAAE,GAAKkQ,GAClBlQ,EAAI2B,GAAQ3B,GACZ5L,EAAEoN,EAAIxB,EAAE,GACR5L,EAAEnG,EAAI+R,EAAE,GACR5L,EAAEqB,EAAIuK,EAAE,EACV,CAyZIiQ,CAAOxsB,KAAK4qB,KAAM6B,GACXzsB,IACT,EAEF,SAAS0sB,GAAUrD,GACjB,OAAO,IAAIS,GAAMT,EACnB,CAEA,SAASsD,GAAoBzf,GAC3B,GAAIA,GAA0B,iBAAVA,EAAoB,CACtC,MAAM9J,EAAO8J,EAAMvD,WACnB,MAAgB,2BAATvG,GAA8C,4BAATA,CAC9C,CACA,OAAO,CACT,CACA,SAASkoB,GAAMpe,GACb,OAAOyf,GAAoBzf,GAASA,EAAQwf,GAAUxf,EACxD,CACA,SAAS0f,GAAc1f,GACrB,OAAOyf,GAAoBzf,GACvBA,EACAwf,GAAUxf,GAAOof,SAAS,IAAKD,OAAO,IAAKpB,WACjD,CAEA,MAAM4B,GAAYxf,OAAOsC,OAAO,MAC1Bmd,GAAczf,OAAOsC,OAAO,MAClC,SAASod,GAAW7lB,EAAMrF,GACxB,IAAKA,EACH,OAAOqF,EAET,MAAM2H,EAAOhN,EAAIsP,MAAM,KACvB,IAAK,IAAI9G,EAAI,EAAGqJ,EAAI7E,EAAKC,OAAQzE,EAAIqJ,IAAKrJ,EAAG,CAC3C,MAAMwF,EAAIhB,EAAKxE,GACfnD,EAAOA,EAAK2I,KAAO3I,EAAK2I,GAAKxC,OAAOsC,OAAO,MAC7C,CACA,OAAOzI,CACT,CACA,SAASoQ,GAAI5X,EAAMstB,EAAOlsB,GACxB,MAAqB,iBAAVksB,EACF5c,EAAM2c,GAAWrtB,EAAMstB,GAAQlsB,GAEjCsP,EAAM2c,GAAWrtB,EAAM,IAAKstB,EACrC,CAoFA,IAAIC,GAAW,IAnFf,MACElD,YAAYmD,GACVltB,KAAKmtB,eAAYnC,EACjBhrB,KAAKotB,gBAAkB,kBACvBptB,KAAKyD,YAAc,kBACnBzD,KAAKsrB,MAAQ,OACbtrB,KAAK4D,SAAW,CAAC,EACjB5D,KAAKqtB,iBAAoBC,GAAYA,EAAQtnB,MAAMunB,SAASC,sBAC5DxtB,KAAKytB,SAAW,CAAC,EACjBztB,KAAK0tB,OAAS,CACZ,YACA,WACA,QACA,aACA,aAEF1tB,KAAK2tB,KAAO,CACVC,OAAQ,qDACR3b,KAAM,GACN4b,MAAO,SACPC,WAAY,IACZvC,OAAQ,MAEVvrB,KAAK+tB,MAAQ,CAAC,EACd/tB,KAAKguB,qBAAuB,CAACC,EAAKhe,IAAY2c,GAAc3c,EAAQmd,iBACpEptB,KAAKkuB,iBAAmB,CAACD,EAAKhe,IAAY2c,GAAc3c,EAAQxM,aAChEzD,KAAKmuB,WAAa,CAACF,EAAKhe,IAAY2c,GAAc3c,EAAQqb,OAC1DtrB,KAAKouB,UAAY,IACjBpuB,KAAKquB,YAAc,CACjBC,KAAM,UACNC,WAAW,EACXC,kBAAkB,GAEpBxuB,KAAKyuB,qBAAsB,EAC3BzuB,KAAK0uB,QAAU,KACf1uB,KAAK2uB,QAAU,KACf3uB,KAAK4uB,SAAU,EACf5uB,KAAK6D,QAAU,CAAC,EAChB7D,KAAK6uB,YAAa,EAClB7uB,KAAK8uB,WAAQ9D,EACbhrB,KAAK+uB,OAAS,CAAC,EACf/uB,KAAKgvB,UAAW,EAChBhvB,KAAKivB,yBAA0B,EAC/BjvB,KAAKkvB,SAAShC,EAChB,CACA5V,IAAI0V,EAAOlsB,GACT,OAAOwW,GAAItX,KAAMgtB,EAAOlsB,EAC1B,CACAquB,IAAInC,GACF,OAAOD,GAAW/sB,KAAMgtB,EAC1B,CACAkC,SAASlC,EAAOlsB,GACd,OAAOwW,GAAIwV,GAAaE,EAAOlsB,EACjC,CACAsuB,SAASpC,EAAOlsB,GACd,OAAOwW,GAAIuV,GAAWG,EAAOlsB,EAC/B,CACAuuB,MAAMrC,EAAOsC,EAAMC,EAAaC,GAC9B,MAAMC,EAAc1C,GAAW/sB,KAAMgtB,GAC/B0C,EAAoB3C,GAAW/sB,KAAMuvB,GACrCI,EAAc,IAAML,EAC1BjiB,OAAOuiB,iBAAiBH,EAAa,CACnC,CAACE,GAAc,CACbziB,MAAOuiB,EAAYH,GACnBO,UAAU,GAEZ,CAACP,GAAO,CACNQ,YAAY,EACZX,MACE,MAAMY,EAAQ/vB,KAAK2vB,GACbjgB,EAASggB,EAAkBF,GACjC,OAAI/hB,EAASsiB,GACJ1iB,OAAOuM,OAAO,CAAC,EAAGlK,EAAQqgB,GAE5BhiB,EAAegiB,EAAOrgB,EAC/B,EACA4H,IAAIpK,GACFlN,KAAK2vB,GAAeziB,CACtB,IAGN,GAE0B,CAC1B8iB,YAAcV,IAAUA,EAAKW,WAAW,MACxCC,WAAaZ,GAAkB,WAATA,EACtBvB,MAAO,CACLoC,UAAW,eAEb9B,YAAa,CACX2B,aAAa,EACbE,YAAY,KAahB,SAASE,GAAanC,EAAKrsB,EAAMyuB,EAAIC,EAASC,GAC5C,IAAIC,EAAY5uB,EAAK2uB,GAQrB,OAPKC,IACHA,EAAY5uB,EAAK2uB,GAAUtC,EAAIwC,YAAYF,GAAQxsB,MACnDssB,EAAG/e,KAAKif,IAENC,EAAYF,IACdA,EAAUE,GAELF,CACT,CACA,SAASI,GAAazC,EAAKN,EAAMgD,EAAeC,GAE9C,IAAIhvB,GADJgvB,EAAQA,GAAS,CAAC,GACDhvB,KAAOgvB,EAAMhvB,MAAQ,CAAC,EACnCyuB,EAAKO,EAAMC,eAAiBD,EAAMC,gBAAkB,GACpDD,EAAMjD,OAASA,IACjB/rB,EAAOgvB,EAAMhvB,KAAO,CAAC,EACrByuB,EAAKO,EAAMC,eAAiB,GAC5BD,EAAMjD,KAAOA,GAEfM,EAAI6C,OACJ7C,EAAIN,KAAOA,EACX,IAAI2C,EAAU,EACd,MAAMphB,EAAOyhB,EAAc7hB,OAC3B,IAAIzE,EAAG8f,EAAG4G,EAAMC,EAAOC,EACvB,IAAK5mB,EAAI,EAAGA,EAAI6E,EAAM7E,IAEpB,GADA2mB,EAAQL,EAActmB,GAClB2mB,UAA4D,IAAnB7jB,EAAQ6jB,GACnDV,EAAUF,GAAanC,EAAKrsB,EAAMyuB,EAAIC,EAASU,QAC1C,GAAI7jB,EAAQ6jB,GACjB,IAAK7G,EAAI,EAAG4G,EAAOC,EAAMliB,OAAQqb,EAAI4G,EAAM5G,IACzC8G,EAAcD,EAAM7G,GAChB8G,SAAsD9jB,EAAQ8jB,KAChEX,EAAUF,GAAanC,EAAKrsB,EAAMyuB,EAAIC,EAASW,IAKvDhD,EAAIiD,UACJ,MAAMC,EAAQd,EAAGvhB,OAAS,EAC1B,GAAIqiB,EAAQR,EAAc7hB,OAAQ,CAChC,IAAKzE,EAAI,EAAGA,EAAI8mB,EAAO9mB,WACdzI,EAAKyuB,EAAGhmB,IAEjBgmB,EAAGnZ,OAAO,EAAGia,EACf,CACA,OAAOb,CACT,CACA,SAASc,GAAYprB,EAAOqrB,EAAOttB,GACjC,MAAMspB,EAAmBrnB,EAAMsrB,wBACzBC,EAAsB,IAAVxtB,EAAcsO,KAAK4B,IAAIlQ,EAAQ,EAAG,IAAO,EAC3D,OAAOsO,KAAKc,OAAOke,EAAQE,GAAalE,GAAoBA,EAAmBkE,CACjF,CACA,SAASC,GAAYC,EAAQxD,IAC3BA,EAAMA,GAAOwD,EAAOC,WAAW,OAC3BZ,OACJ7C,EAAI0D,iBACJ1D,EAAI2D,UAAU,EAAG,EAAGH,EAAO1tB,MAAO0tB,EAAOxtB,QACzCgqB,EAAIiD,SACN,CACA,SAASW,GAAU5D,EAAKhe,EAASW,EAAGE,GAClCghB,GAAgB7D,EAAKhe,EAASW,EAAGE,EAAG,KACtC,CACA,SAASghB,GAAgB7D,EAAKhe,EAASW,EAAGE,EAAG8M,GAC3C,IAAIxa,EAAM2uB,EAASC,EAAS/f,EAAMggB,EAAcluB,EAChD,MAAM8pB,EAAQ5d,EAAQiiB,WAChBC,EAAWliB,EAAQkiB,SACnBC,EAASniB,EAAQmiB,OACvB,IAAIC,GAAOF,GAAY,GAAKzf,EAC5B,GAAImb,GAA0B,iBAAVA,IAClBzqB,EAAOyqB,EAAMlkB,WACA,8BAATvG,GAAiD,+BAATA,GAM1C,OALA6qB,EAAI6C,OACJ7C,EAAIqE,UAAU1hB,EAAGE,GACjBmd,EAAIzB,OAAO6F,GACXpE,EAAIsE,UAAU1E,GAAQA,EAAM9pB,MAAQ,GAAI8pB,EAAM5pB,OAAS,EAAG4pB,EAAM9pB,MAAO8pB,EAAM5pB,aAC7EgqB,EAAIiD,UAIR,KAAIvd,MAAMye,IAAWA,GAAU,GAA/B,CAIA,OADAnE,EAAIuE,YACI3E,GACR,QACMjQ,EACFqQ,EAAIwE,QAAQ7hB,EAAGE,EAAG8M,EAAI,EAAGwU,EAAQ,EAAG,EAAG9f,GAEvC2b,EAAIyE,IAAI9hB,EAAGE,EAAGshB,EAAQ,EAAG9f,GAE3B2b,EAAI0E,YACJ,MACF,IAAK,WACH1E,EAAI2E,OAAOhiB,EAAIyB,KAAK2H,IAAIqY,GAAOD,EAAQthB,EAAIuB,KAAK4I,IAAIoX,GAAOD,GAC3DC,GAAOxf,EACPob,EAAI4E,OAAOjiB,EAAIyB,KAAK2H,IAAIqY,GAAOD,EAAQthB,EAAIuB,KAAK4I,IAAIoX,GAAOD,GAC3DC,GAAOxf,EACPob,EAAI4E,OAAOjiB,EAAIyB,KAAK2H,IAAIqY,GAAOD,EAAQthB,EAAIuB,KAAK4I,IAAIoX,GAAOD,GAC3DnE,EAAI0E,YACJ,MACF,IAAK,cACHV,EAAwB,KAATG,EACfngB,EAAOmgB,EAASH,EAChBF,EAAU1f,KAAK4I,IAAIoX,EAAMzf,GAAcX,EACvC+f,EAAU3f,KAAK2H,IAAIqY,EAAMzf,GAAcX,EACvCgc,EAAIyE,IAAI9hB,EAAImhB,EAASjhB,EAAIkhB,EAASC,EAAcI,EAAMjgB,EAAIigB,EAAM1f,GAChEsb,EAAIyE,IAAI9hB,EAAIohB,EAASlhB,EAAIihB,EAASE,EAAcI,EAAM1f,EAAS0f,GAC/DpE,EAAIyE,IAAI9hB,EAAImhB,EAASjhB,EAAIkhB,EAASC,EAAcI,EAAKA,EAAM1f,GAC3Dsb,EAAIyE,IAAI9hB,EAAIohB,EAASlhB,EAAIihB,EAASE,EAAcI,EAAM1f,EAAS0f,EAAMjgB,GACrE6b,EAAI0E,YACJ,MACF,IAAK,OACH,IAAKR,EAAU,CACblgB,EAAOI,KAAKygB,QAAUV,EACtBruB,EAAQ6Z,EAAIA,EAAI,EAAI3L,EACpBgc,EAAI8E,KAAKniB,EAAI7M,EAAO+M,EAAImB,EAAM,EAAIlO,EAAO,EAAIkO,GAC7C,KACF,CACAogB,GAAOzf,EACT,IAAK,UACHmf,EAAU1f,KAAK4I,IAAIoX,GAAOD,EAC1BJ,EAAU3f,KAAK2H,IAAIqY,GAAOD,EAC1BnE,EAAI2E,OAAOhiB,EAAImhB,EAASjhB,EAAIkhB,GAC5B/D,EAAI4E,OAAOjiB,EAAIohB,EAASlhB,EAAIihB,GAC5B9D,EAAI4E,OAAOjiB,EAAImhB,EAASjhB,EAAIkhB,GAC5B/D,EAAI4E,OAAOjiB,EAAIohB,EAASlhB,EAAIihB,GAC5B9D,EAAI0E,YACJ,MACF,IAAK,WACHN,GAAOzf,EACT,IAAK,QACHmf,EAAU1f,KAAK4I,IAAIoX,GAAOD,EAC1BJ,EAAU3f,KAAK2H,IAAIqY,GAAOD,EAC1BnE,EAAI2E,OAAOhiB,EAAImhB,EAASjhB,EAAIkhB,GAC5B/D,EAAI4E,OAAOjiB,EAAImhB,EAASjhB,EAAIkhB,GAC5B/D,EAAI2E,OAAOhiB,EAAIohB,EAASlhB,EAAIihB,GAC5B9D,EAAI4E,OAAOjiB,EAAIohB,EAASlhB,EAAIihB,GAC5B,MACF,IAAK,OACHA,EAAU1f,KAAK4I,IAAIoX,GAAOD,EAC1BJ,EAAU3f,KAAK2H,IAAIqY,GAAOD,EAC1BnE,EAAI2E,OAAOhiB,EAAImhB,EAASjhB,EAAIkhB,GAC5B/D,EAAI4E,OAAOjiB,EAAImhB,EAASjhB,EAAIkhB,GAC5B/D,EAAI2E,OAAOhiB,EAAIohB,EAASlhB,EAAIihB,GAC5B9D,EAAI4E,OAAOjiB,EAAIohB,EAASlhB,EAAIihB,GAC5BM,GAAOzf,EACPmf,EAAU1f,KAAK4I,IAAIoX,GAAOD,EAC1BJ,EAAU3f,KAAK2H,IAAIqY,GAAOD,EAC1BnE,EAAI2E,OAAOhiB,EAAImhB,EAASjhB,EAAIkhB,GAC5B/D,EAAI4E,OAAOjiB,EAAImhB,EAASjhB,EAAIkhB,GAC5B/D,EAAI2E,OAAOhiB,EAAIohB,EAASlhB,EAAIihB,GAC5B9D,EAAI4E,OAAOjiB,EAAIohB,EAASlhB,EAAIihB,GAC5B,MACF,IAAK,OACHA,EAAUnU,EAAIA,EAAI,EAAIvL,KAAK4I,IAAIoX,GAAOD,EACtCJ,EAAU3f,KAAK2H,IAAIqY,GAAOD,EAC1BnE,EAAI2E,OAAOhiB,EAAImhB,EAASjhB,EAAIkhB,GAC5B/D,EAAI4E,OAAOjiB,EAAImhB,EAASjhB,EAAIkhB,GAC5B,MACF,IAAK,OACH/D,EAAI2E,OAAOhiB,EAAGE,GACdmd,EAAI4E,OAAOjiB,EAAIyB,KAAK4I,IAAIoX,GAAOD,EAAQthB,EAAIuB,KAAK2H,IAAIqY,GAAOD,GAG7DnE,EAAI+E,OACA/iB,EAAQvM,YAAc,GACxBuqB,EAAIgF,QArFN,CAuFF,CACA,SAASC,GAAeC,EAAOC,EAAMC,GAEnC,OADAA,EAASA,GAAU,IACXD,GAASD,GAASA,EAAMviB,EAAIwiB,EAAKE,KAAOD,GAAUF,EAAMviB,EAAIwiB,EAAKG,MAAQF,GACjFF,EAAMriB,EAAIsiB,EAAKI,IAAMH,GAAUF,EAAMriB,EAAIsiB,EAAKK,OAASJ,CACzD,CACA,SAASK,GAASzF,EAAKmF,GACrBnF,EAAI6C,OACJ7C,EAAIuE,YACJvE,EAAI8E,KAAKK,EAAKE,KAAMF,EAAKI,IAAKJ,EAAKG,MAAQH,EAAKE,KAAMF,EAAKK,OAASL,EAAKI,KACzEvF,EAAI0F,MACN,CACA,SAASC,GAAW3F,GAClBA,EAAIiD,SACN,CACA,SAAS2C,GAAe5F,EAAK6F,EAAUpkB,EAAQqkB,EAAMzF,GACnD,IAAKwF,EACH,OAAO7F,EAAI4E,OAAOnjB,EAAOkB,EAAGlB,EAAOoB,GAErC,GAAa,WAATwd,EAAmB,CACrB,MAAM0F,GAAYF,EAASljB,EAAIlB,EAAOkB,GAAK,EAC3Cqd,EAAI4E,OAAOmB,EAAUF,EAAShjB,GAC9Bmd,EAAI4E,OAAOmB,EAAUtkB,EAAOoB,EAC9B,KAAoB,UAATwd,KAAuByF,EAChC9F,EAAI4E,OAAOiB,EAASljB,EAAGlB,EAAOoB,GAE9Bmd,EAAI4E,OAAOnjB,EAAOkB,EAAGkjB,EAAShjB,GAEhCmd,EAAI4E,OAAOnjB,EAAOkB,EAAGlB,EAAOoB,EAC9B,CACA,SAASmjB,GAAehG,EAAK6F,EAAUpkB,EAAQqkB,GAC7C,IAAKD,EACH,OAAO7F,EAAI4E,OAAOnjB,EAAOkB,EAAGlB,EAAOoB,GAErCmd,EAAIiG,cACFH,EAAOD,EAASK,KAAOL,EAASM,KAChCL,EAAOD,EAASO,KAAOP,EAASQ,KAChCP,EAAOrkB,EAAO0kB,KAAO1kB,EAAOykB,KAC5BJ,EAAOrkB,EAAO4kB,KAAO5kB,EAAO2kB,KAC5B3kB,EAAOkB,EACPlB,EAAOoB,EACX,CACA,SAASyjB,GAAWtG,EAAKuG,EAAM5jB,EAAGE,EAAG6c,EAAM8G,EAAO,CAAC,GACjD,MAAMl0B,EAAQ4M,EAAQqnB,GAAQA,EAAO,CAACA,GAChCvB,EAASwB,EAAKC,YAAc,GAA0B,KAArBD,EAAKE,YAC5C,IAAItqB,EAAG7J,EAIP,IAHAytB,EAAI6C,OACJ7C,EAAIN,KAAOA,EAAK4C,OAmBlB,SAAuBtC,EAAKwG,GACtBA,EAAKG,aACP3G,EAAIqE,UAAUmC,EAAKG,YAAY,GAAIH,EAAKG,YAAY,IAEjD3nB,EAAcwnB,EAAKtC,WACtBlE,EAAIzB,OAAOiI,EAAKtC,UAEdsC,EAAKnJ,QACP2C,EAAI4G,UAAYJ,EAAKnJ,OAEnBmJ,EAAKK,YACP7G,EAAI6G,UAAYL,EAAKK,WAEnBL,EAAKM,eACP9G,EAAI8G,aAAeN,EAAKM,aAE5B,CAlCEC,CAAc/G,EAAKwG,GACdpqB,EAAI,EAAGA,EAAI9J,EAAMuO,SAAUzE,EAC9B7J,EAAOD,EAAM8J,GACT4oB,IACEwB,EAAKE,cACP1G,EAAIgH,YAAcR,EAAKE,aAEpB1nB,EAAcwnB,EAAKC,eACtBzG,EAAIiH,UAAYT,EAAKC,aAEvBzG,EAAIkH,WAAW30B,EAAMoQ,EAAGE,EAAG2jB,EAAKzwB,WAElCiqB,EAAImH,SAAS50B,EAAMoQ,EAAGE,EAAG2jB,EAAKzwB,UAC9BqxB,GAAapH,EAAKrd,EAAGE,EAAGtQ,EAAMi0B,GAC9B3jB,GAAK6c,EAAKG,WAEZG,EAAIiD,SACN,CAkBA,SAASmE,GAAapH,EAAKrd,EAAGE,EAAGtQ,EAAMi0B,GACrC,GAAIA,EAAKa,eAAiBb,EAAKc,UAAW,CACxC,MAAMC,EAAUvH,EAAIwC,YAAYjwB,GAC1B8yB,EAAO1iB,EAAI4kB,EAAQC,sBACnBlC,EAAQ3iB,EAAI4kB,EAAQE,uBACpBlC,EAAM1iB,EAAI0kB,EAAQG,wBAClBlC,EAAS3iB,EAAI0kB,EAAQI,yBACrBC,EAAcpB,EAAKa,eAAiB9B,EAAMC,GAAU,EAAIA,EAC9DxF,EAAIgH,YAAchH,EAAI4G,UACtB5G,EAAIuE,YACJvE,EAAIiH,UAAYT,EAAKqB,iBAAmB,EACxC7H,EAAI2E,OAAOU,EAAMuC,GACjB5H,EAAI4E,OAAOU,EAAOsC,GAClB5H,EAAIgF,QACN,CACF,CACA,SAAS8C,GAAmB9H,EAAK8E,GAC/B,MAAM,EAACniB,EAAC,EAAEE,EAAC,EAAE8M,EAAC,EAAErB,EAAC,OAAE6V,GAAUW,EAC7B9E,EAAIyE,IAAI9hB,EAAIwhB,EAAO4D,QAASllB,EAAIshB,EAAO4D,QAAS5D,EAAO4D,SAAUrjB,EAASP,GAAI,GAC9E6b,EAAI4E,OAAOjiB,EAAGE,EAAIyL,EAAI6V,EAAO6D,YAC7BhI,EAAIyE,IAAI9hB,EAAIwhB,EAAO6D,WAAYnlB,EAAIyL,EAAI6V,EAAO6D,WAAY7D,EAAO6D,WAAY7jB,EAAIO,GAAS,GAC1Fsb,EAAI4E,OAAOjiB,EAAIgN,EAAIwU,EAAO8D,YAAaplB,EAAIyL,GAC3C0R,EAAIyE,IAAI9hB,EAAIgN,EAAIwU,EAAO8D,YAAaplB,EAAIyL,EAAI6V,EAAO8D,YAAa9D,EAAO8D,YAAavjB,EAAS,GAAG,GAChGsb,EAAI4E,OAAOjiB,EAAIgN,EAAG9M,EAAIshB,EAAO+D,UAC7BlI,EAAIyE,IAAI9hB,EAAIgN,EAAIwU,EAAO+D,SAAUrlB,EAAIshB,EAAO+D,SAAU/D,EAAO+D,SAAU,GAAIxjB,GAAS,GACpFsb,EAAI4E,OAAOjiB,EAAIwhB,EAAO4D,QAASllB,EACjC,CAEA,MAAMslB,GAAc,IAAIC,OAAO,wCACzBC,GAAa,IAAID,OAAO,yEAC9B,SAASE,GAAarpB,EAAO+E,GAC3B,MAAMukB,GAAW,GAAKtpB,GAAOupB,MAAML,IACnC,IAAKI,GAA0B,WAAfA,EAAQ,GACtB,OAAc,IAAPvkB,EAGT,OADA/E,GAASspB,EAAQ,GACTA,EAAQ,IAChB,IAAK,KACH,OAAOtpB,EACT,IAAK,IACHA,GAAS,IAGX,OAAO+E,EAAO/E,CAChB,CAEA,SAASwpB,GAAkBxpB,EAAOypB,GAChC,MAAM3M,EAAM,CAAC,EACP4M,EAAWnpB,EAASkpB,GACpB9nB,EAAO+nB,EAAWvpB,OAAOwB,KAAK8nB,GAASA,EACvCE,EAAOppB,EAASP,GAClB0pB,EACEE,GAAQ/oB,EAAeb,EAAM4pB,GAAO5pB,EAAMypB,EAAMG,KAChDA,GAAQ5pB,EAAM4pB,GAChB,IAAM5pB,EACV,IAAK,MAAM4pB,KAAQjoB,EACjBmb,EAAI8M,IAAqBD,EAAKC,IAXF,EAa9B,OAAO9M,CACT,CACA,SAAS+M,GAAO7pB,GACd,OAAOwpB,GAAkBxpB,EAAO,CAACsmB,IAAK,IAAKD,MAAO,IAAKE,OAAQ,IAAKH,KAAM,KAC5E,CACA,SAAS0D,GAAc9pB,GACrB,OAAOwpB,GAAkBxpB,EAAO,CAAC,UAAW,WAAY,aAAc,eACxE,CACA,SAAS+pB,GAAU/pB,GACjB,MAAM8D,EAAM+lB,GAAO7pB,GAGnB,OAFA8D,EAAIjN,MAAQiN,EAAIsiB,KAAOtiB,EAAIuiB,MAC3BviB,EAAI/M,OAAS+M,EAAIwiB,IAAMxiB,EAAIyiB,OACpBziB,CACT,CACA,SAASkmB,GAAOjnB,EAASknB,GACvBlnB,EAAUA,GAAW,CAAC,EACtBknB,EAAWA,GAAYlK,GAASU,KAChC,IAAI1b,EAAOlE,EAAekC,EAAQgC,KAAMklB,EAASllB,MAC7B,iBAATA,IACTA,EAAOsY,SAAStY,EAAM,KAExB,IAAI4b,EAAQ9f,EAAekC,EAAQ4d,MAAOsJ,EAAStJ,OAC/CA,KAAW,GAAKA,GAAO4I,MAAMH,MAC/Bc,QAAQC,KAAK,kCAAoCxJ,EAAQ,KACzDA,EAAQ,IAEV,MAAMF,EAAO,CACXC,OAAQ7f,EAAekC,EAAQ2d,OAAQuJ,EAASvJ,QAChDE,WAAYyI,GAAaxoB,EAAekC,EAAQ6d,WAAYqJ,EAASrJ,YAAa7b,GAClFA,OACA4b,QACAtC,OAAQxd,EAAekC,EAAQsb,OAAQ4L,EAAS5L,QAChDgF,OAAQ,IAGV,OADA5C,EAAK4C,OAjWP,SAAsB5C,GACpB,OAAKA,GAAQ1gB,EAAc0gB,EAAK1b,OAAShF,EAAc0gB,EAAKC,QACnD,MAEDD,EAAKE,MAAQF,EAAKE,MAAQ,IAAM,KACrCF,EAAKpC,OAASoC,EAAKpC,OAAS,IAAM,IACnCoC,EAAK1b,KAAO,MACZ0b,EAAKC,MACT,CAyVgB0J,CAAa3J,GACpBA,CACT,CACA,SAAS4J,GAAQC,EAAQlK,EAAShe,EAAOmoB,GACvC,IACIptB,EAAG6E,EAAMhC,EADTwqB,GAAY,EAEhB,IAAKrtB,EAAI,EAAG6E,EAAOsoB,EAAO1oB,OAAQzE,EAAI6E,IAAQ7E,EAE5C,GADA6C,EAAQsqB,EAAOntB,QACD2gB,IAAV9d,SAGY8d,IAAZsC,GAA0C,mBAAVpgB,IAClCA,EAAQA,EAAMogB,GACdoK,GAAY,QAEA1M,IAAV1b,GAAuBnC,EAAQD,KACjCA,EAAQA,EAAMoC,EAAQpC,EAAM4B,QAC5B4oB,GAAY,QAEA1M,IAAV9d,GAIF,OAHIuqB,IAASC,IACXD,EAAKC,WAAY,GAEZxqB,CAGb,CAUA,SAASyqB,GAAcC,EAAetK,GACpC,OAAOjgB,OAAOuM,OAAOvM,OAAOsC,OAAOioB,GAAgBtK,EACrD,CAEA,SAASuK,GAAgBC,EAAQC,EAAW,CAAC,IAAKC,EAAaF,EAAQX,EAAUc,EAAY,KAAMH,EAAO,KACnGjmB,EAAQslB,KACXA,EAAWe,GAAS,YAAaJ,IAEnC,MAAMlH,EAAQ,CACZ,CAACuH,OAAOC,aAAc,SACtBC,YAAY,EACZC,QAASR,EACTS,YAAaP,EACb7H,UAAWgH,EACXqB,WAAYP,EACZ7I,SAAWpC,GAAU6K,GAAgB,CAAC7K,KAAU8K,GAASC,EAAUC,EAAYb,IAEjF,OAAO,IAAIsB,MAAM7H,EAAO,CACtB8H,eAAc,CAAChpB,EAAQonB,YACdpnB,EAAOonB,UACPpnB,EAAOipB,aACPb,EAAO,GAAGhB,IACV,GAET3H,IAAG,CAACzf,EAAQonB,IACH8B,GAAQlpB,EAAQonB,GACrB,IAuLR,SAA8BA,EAAMiB,EAAUD,EAAQe,GACpD,IAAI3rB,EACJ,IAAK,MAAM4rB,KAAUf,EAEnB,GADA7qB,EAAQgrB,GAASa,GAAQD,EAAQhC,GAAOgB,GACpCjmB,EAAQ3E,GACV,OAAO8rB,GAAiBlC,EAAM5pB,GAC1B+rB,GAAkBnB,EAAQe,EAAO/B,EAAM5pB,GACvCA,CAGV,CAjMcgsB,CAAqBpC,EAAMiB,EAAUD,EAAQpoB,KAEvDypB,yBAAwB,CAACzpB,EAAQonB,IACxBsC,QAAQD,yBAAyBzpB,EAAO4oB,QAAQ,GAAIxB,GAE7DuC,eAAc,IACLD,QAAQC,eAAevB,EAAO,IAEvC3lB,IAAG,CAACzC,EAAQonB,IACHwC,GAAqB5pB,GAAQ6pB,SAASzC,GAE/C0C,QAAQ9pB,GACC4pB,GAAqB5pB,GAE9B4H,IAAI5H,EAAQonB,EAAM5pB,GAChB,MAAMusB,EAAU/pB,EAAOgqB,WAAahqB,EAAOgqB,SAAWzB,KAGtD,OAFAvoB,EAAOonB,GAAQ2C,EAAQ3C,GAAQ5pB,SACxBwC,EAAOipB,OACP,CACT,GAEJ,CACA,SAASgB,GAAed,EAAOvL,EAASsM,EAAUC,GAChD,MAAMjJ,EAAQ,CACZyH,YAAY,EACZyB,OAAQjB,EACRkB,SAAUzM,EACV0M,UAAWJ,EACXK,OAAQ,IAAI1iB,IACZ2V,aAAcA,GAAa2L,EAAOgB,GAClCK,WAAajM,GAAQ0L,GAAed,EAAO5K,EAAK2L,EAAUC,GAC1DzK,SAAWpC,GAAU2M,GAAed,EAAMzJ,SAASpC,GAAQM,EAASsM,EAAUC,IAEhF,OAAO,IAAIpB,MAAM7H,EAAO,CACtB8H,eAAc,CAAChpB,EAAQonB,YACdpnB,EAAOonB,UACP+B,EAAM/B,IACN,GAET3H,IAAG,CAACzf,EAAQonB,EAAMqD,IACTvB,GAAQlpB,EAAQonB,GACrB,IA4CR,SAA6BpnB,EAAQonB,EAAMqD,GACzC,MAAM,OAACL,EAAM,SAAEC,EAAQ,UAAEC,EAAW9M,aAAcJ,GAAepd,EACjE,IAAIxC,EAAQ4sB,EAAOhD,GAUnB,OATIhlB,EAAW5E,IAAU4f,EAAYsN,aAAatD,KAChD5pB,EAUJ,SAA4B4pB,EAAM5pB,EAAOwC,EAAQyqB,GAC/C,MAAM,OAACL,EAAM,SAAEC,EAAQ,UAAEC,EAAS,OAAEC,GAAUvqB,EAC9C,GAAIuqB,EAAO9nB,IAAI2kB,GACb,MAAM,IAAIuD,MAAM,uBAAyBjtB,MAAMqK,KAAKwiB,GAAQK,KAAK,MAAQ,KAAOxD,GAQlF,OANAmD,EAAOziB,IAAIsf,GACX5pB,EAAQA,EAAM6sB,EAAUC,GAAaG,GACrCF,EAAOM,OAAOzD,GACVkC,GAAiBlC,EAAM5pB,KACzBA,EAAQ+rB,GAAkBa,EAAOxB,QAASwB,EAAQhD,EAAM5pB,IAEnDA,CACT,CAtBYstB,CAAmB1D,EAAM5pB,EAAOwC,EAAQyqB,IAE9ChtB,EAAQD,IAAUA,EAAM4B,SAC1B5B,EAoBJ,SAAuB4pB,EAAM5pB,EAAOwC,EAAQ+qB,GAC1C,MAAM,OAACX,EAAM,SAAEC,EAAQ,UAAEC,EAAW9M,aAAcJ,GAAepd,EACjE,GAAImC,EAAQkoB,EAASzqB,QAAUmrB,EAAY3D,GACzC5pB,EAAQA,EAAM6sB,EAASzqB,MAAQpC,EAAM4B,aAChC,GAAIrB,EAASP,EAAM,IAAK,CAC7B,MAAMwtB,EAAMxtB,EACN4qB,EAASgC,EAAOxB,QAAQqC,QAAO/kB,GAAKA,IAAM8kB,IAChDxtB,EAAQ,GACR,IAAK,MAAMgF,KAAQwoB,EAAK,CACtB,MAAMzpB,EAAWgoB,GAAkBnB,EAAQgC,EAAQhD,EAAM5kB,GACzDhF,EAAMoE,KAAKqoB,GAAe1oB,EAAU8oB,EAAUC,GAAaA,EAAUlD,GAAOhK,GAC9E,CACF,CACA,OAAO5f,CACT,CAlCY0tB,CAAc9D,EAAM5pB,EAAOwC,EAAQod,EAAY2N,cAErDzB,GAAiBlC,EAAM5pB,KACzBA,EAAQysB,GAAezsB,EAAO6sB,EAAUC,GAAaA,EAAUlD,GAAOhK,IAEjE5f,CACT,CAzDc2tB,CAAoBnrB,EAAQonB,EAAMqD,KAE5ChB,yBAAwB,CAACzpB,EAAQonB,IACxBpnB,EAAOwd,aAAa4N,QACvB1B,QAAQjnB,IAAI0mB,EAAO/B,GAAQ,CAAChH,YAAY,EAAMiL,cAAc,QAAQ/P,EACpEoO,QAAQD,yBAAyBN,EAAO/B,GAE9CuC,eAAc,IACLD,QAAQC,eAAeR,GAEhC1mB,IAAG,CAACzC,EAAQonB,IACHsC,QAAQjnB,IAAI0mB,EAAO/B,GAE5B0C,QAAO,IACEJ,QAAQI,QAAQX,GAEzBvhB,IAAG,CAAC5H,EAAQonB,EAAM5pB,KAChB2rB,EAAM/B,GAAQ5pB,SACPwC,EAAOonB,IACP,IAGb,CACA,SAAS5J,GAAa2L,EAAO5L,EAAW,CAAC+N,YAAY,EAAMC,WAAW,IACpE,MAAM,YAACjL,EAAc/C,EAAS+N,WAAU,WAAE9K,EAAajD,EAASgO,UAAS,SAAEC,EAAWjO,EAAS6N,SAAWjC,EAC1G,MAAO,CACLiC,QAASI,EACTF,WAAYhL,EACZiL,UAAW/K,EACXkK,aAActoB,EAAWke,GAAeA,EAAc,IAAMA,EAC5DyK,YAAa3oB,EAAWoe,GAAcA,EAAa,IAAMA,EAE7D,CACA,MAAM6I,GAAU,CAACD,EAAQxJ,IAASwJ,EAASA,EAASrnB,EAAY6d,GAAQA,EAClE0J,GAAmB,CAAClC,EAAM5pB,IAAUO,EAASP,IAAmB,aAAT4pB,IACzB,OAAjCzpB,OAAOgsB,eAAensB,IAAmBA,EAAM6c,cAAgB1c,QAClE,SAASurB,GAAQlpB,EAAQonB,EAAMS,GAC7B,GAAIlqB,OAAOC,UAAUmD,eAAelD,KAAKmC,EAAQonB,GAC/C,OAAOpnB,EAAOonB,GAEhB,MAAM5pB,EAAQqqB,IAEd,OADA7nB,EAAOonB,GAAQ5pB,EACRA,CACT,CA2CA,SAASiuB,GAAgBhE,EAAUL,EAAM5pB,GACvC,OAAO4E,EAAWqlB,GAAYA,EAASL,EAAM5pB,GAASiqB,CACxD,CACA,MAAMiE,GAAW,CAACv5B,EAAKw5B,KAAmB,IAARx5B,EAAew5B,EAC9B,iBAARx5B,EAAmBkP,EAAiBsqB,EAAQx5B,QAAOmpB,EAC9D,SAASsQ,GAAUhkB,EAAKikB,EAAc15B,EAAK25B,EAAgBtuB,GACzD,IAAK,MAAMmuB,KAAUE,EAAc,CACjC,MAAMvO,EAAQoO,GAASv5B,EAAKw5B,GAC5B,GAAIrO,EAAO,CACT1V,EAAIE,IAAIwV,GACR,MAAMmK,EAAWgE,GAAgBnO,EAAMmD,UAAWtuB,EAAKqL,GACvD,GAAI2E,EAAQslB,IAAaA,IAAat1B,GAAOs1B,IAAaqE,EACxD,OAAOrE,CAEX,MAAO,IAAc,IAAVnK,GAAmBnb,EAAQ2pB,IAAmB35B,IAAQ25B,EAC/D,OAAO,IAEX,CACA,OAAO,CACT,CACA,SAASvC,GAAkBsC,EAActqB,EAAU6lB,EAAM5pB,GACvD,MAAM8qB,EAAa/mB,EAASsnB,YACtBpB,EAAWgE,GAAgBlqB,EAASkf,UAAW2G,EAAM5pB,GACrDuuB,EAAY,IAAIF,KAAiBvD,GACjC1gB,EAAM,IAAIC,IAChBD,EAAIE,IAAItK,GACR,IAAIrL,EAAM65B,GAAiBpkB,EAAKmkB,EAAW3E,EAAMK,GAAYL,EAAM5pB,GACnE,OAAY,OAARrL,KAGAgQ,EAAQslB,IAAaA,IAAaL,IACpCj1B,EAAM65B,GAAiBpkB,EAAKmkB,EAAWtE,EAAUt1B,EAAKqL,GAC1C,OAARrL,KAICg2B,GAAgBzqB,MAAMqK,KAAKH,GAAM,CAAC,IAAK0gB,EAAYb,GACxD,IAQJ,SAAsBlmB,EAAU6lB,EAAM5pB,GACpC,MAAMmuB,EAASpqB,EAASunB,aAClB1B,KAAQuE,IACZA,EAAOvE,GAAQ,CAAC,GAElB,MAAMpnB,EAAS2rB,EAAOvE,GACtB,OAAI3pB,EAAQuC,IAAWjC,EAASP,GACvBA,EAEFwC,CACT,CAlBUisB,CAAa1qB,EAAU6lB,EAAM5pB,IACvC,CACA,SAASwuB,GAAiBpkB,EAAKmkB,EAAW55B,EAAKs1B,EAAUjlB,GACvD,KAAOrQ,GACLA,EAAMy5B,GAAUhkB,EAAKmkB,EAAW55B,EAAKs1B,EAAUjlB,GAEjD,OAAOrQ,CACT,CAuBA,SAASq2B,GAASr2B,EAAKi2B,GACrB,IAAK,MAAM9K,KAAS8K,EAAQ,CAC1B,IAAK9K,EACH,SAEF,MAAM9f,EAAQ8f,EAAMnrB,GACpB,GAAIgQ,EAAQ3E,GACV,OAAOA,CAEX,CACF,CACA,SAASosB,GAAqB5pB,GAC5B,IAAIb,EAAOa,EAAOipB,MAIlB,OAHK9pB,IACHA,EAAOa,EAAOipB,MAIlB,SAAkCb,GAChC,MAAMxgB,EAAM,IAAIC,IAChB,IAAK,MAAMyV,KAAS8K,EAClB,IAAK,MAAMj2B,KAAOwL,OAAOwB,KAAKme,GAAO2N,QAAO9qB,IAAMA,EAAEogB,WAAW,OAC7D3Y,EAAIE,IAAI3V,GAGZ,OAAOuL,MAAMqK,KAAKH,EACpB,CAZ0BskB,CAAyBlsB,EAAO4oB,UAEjDzpB,CACT,CAUA,SAASgtB,GAA4BxjB,EAAMzW,EAAM6T,EAAOgD,GACtD,MAAM,OAACE,GAAUN,GACX,IAACxW,EAAM,KAAO7B,KAAK87B,SACnBC,EAAS,IAAI3uB,MAAMqL,GACzB,IAAIpO,EAAG6E,EAAMI,EAAO4C,EACpB,IAAK7H,EAAI,EAAG6E,EAAOuJ,EAAOpO,EAAI6E,IAAQ7E,EACpCiF,EAAQjF,EAAIoL,EACZvD,EAAOtQ,EAAK0N,GACZysB,EAAO1xB,GAAK,CACV0T,EAAGpF,EAAOqjB,MAAMjrB,EAAiBmB,EAAMrQ,GAAMyN,IAGjD,OAAOysB,CACT,CAEA,MAAME,GAAUtuB,OAAOsuB,SAAW,MAC5BC,GAAW,CAAC5jB,EAAQjO,IAAMA,EAAIiO,EAAOxJ,SAAWwJ,EAAOjO,GAAG8xB,MAAQ7jB,EAAOjO,GACzE+xB,GAAgBhO,GAA4B,MAAdA,EAAoB,IAAM,IAC9D,SAASiO,GAAYC,EAAYC,EAAaC,EAAY1iB,GACxD,MAAMga,EAAWwI,EAAWH,KAAOI,EAAcD,EAC3CG,EAAUF,EACVG,EAAOF,EAAWL,KAAOI,EAAcC,EACvCG,EAAMxnB,EAAsBsnB,EAAS3I,GACrC8I,EAAMznB,EAAsBunB,EAAMD,GACxC,IAAII,EAAMF,GAAOA,EAAMC,GACnBE,EAAMF,GAAOD,EAAMC,GACvBC,EAAMlpB,MAAMkpB,GAAO,EAAIA,EACvBC,EAAMnpB,MAAMmpB,GAAO,EAAIA,EACvB,MAAMC,EAAKjjB,EAAI+iB,EACTG,EAAKljB,EAAIgjB,EACf,MAAO,CACLhJ,SAAU,CACRljB,EAAG6rB,EAAQ7rB,EAAImsB,GAAML,EAAK9rB,EAAIkjB,EAASljB,GACvCE,EAAG2rB,EAAQ3rB,EAAIisB,GAAML,EAAK5rB,EAAIgjB,EAAShjB,IAEzC4rB,KAAM,CACJ9rB,EAAG6rB,EAAQ7rB,EAAIosB,GAAMN,EAAK9rB,EAAIkjB,EAASljB,GACvCE,EAAG2rB,EAAQ3rB,EAAIksB,GAAMN,EAAK5rB,EAAIgjB,EAAShjB,IAG7C,CA8EA,SAASmsB,GAAgBC,EAAIlpB,EAAKC,GAChC,OAAO5B,KAAK4B,IAAI5B,KAAK2B,IAAIkpB,EAAIjpB,GAAMD,EACrC,CAsBA,SAASmpB,GAA2B7kB,EAAQrI,EAASmjB,EAAMgK,EAAMhP,GAC/D,IAAI/jB,EAAG6E,EAAMikB,EAAOkK,EAIpB,GAHIptB,EAAQqtB,WACVhlB,EAASA,EAAOqiB,QAAQuC,IAAQA,EAAGf,QAEE,aAAnClsB,EAAQstB,wBAvDd,SAA6BjlB,EAAQ8V,EAAY,KAC/C,MAAMoP,EAAYpB,GAAahO,GACzBqP,EAAYnlB,EAAOxJ,OACnB4uB,EAAStwB,MAAMqwB,GAAWzK,KAAK,GAC/B2K,EAAKvwB,MAAMqwB,GACjB,IAAIpzB,EAAGuzB,EAAaC,EAChBC,EAAa5B,GAAS5jB,EAAQ,GAClC,IAAKjO,EAAI,EAAGA,EAAIozB,IAAapzB,EAI3B,GAHAuzB,EAAcC,EACdA,EAAeC,EACfA,EAAa5B,GAAS5jB,EAAQjO,EAAI,GAC7BwzB,EAAL,CAGA,GAAIC,EAAY,CACd,MAAMC,EAAaD,EAAW1P,GAAayP,EAAazP,GACxDsP,EAAOrzB,GAAoB,IAAf0zB,GAAoBD,EAAWN,GAAaK,EAAaL,IAAcO,EAAa,CAClG,CACAJ,EAAGtzB,GAAMuzB,EACJE,EACA/qB,EAAK2qB,EAAOrzB,EAAI,MAAQ0I,EAAK2qB,EAAOrzB,IAAO,GAC3CqzB,EAAOrzB,EAAI,GAAKqzB,EAAOrzB,IAAM,EAFhBqzB,EAAOrzB,EAAI,GADNqzB,EAAOrzB,EAL9B,EAhEJ,SAAwBiO,EAAQolB,EAAQC,GACtC,MAAMF,EAAYnlB,EAAOxJ,OACzB,IAAIkvB,EAAQC,EAAOC,EAAMC,EAAkBN,EACvCC,EAAa5B,GAAS5jB,EAAQ,GAClC,IAAK,IAAIjO,EAAI,EAAGA,EAAIozB,EAAY,IAAKpzB,EACnCwzB,EAAeC,EACfA,EAAa5B,GAAS5jB,EAAQjO,EAAI,GAC7BwzB,GAAiBC,IAGlB1qB,EAAasqB,EAAOrzB,GAAI,EAAG4xB,IAC7B0B,EAAGtzB,GAAKszB,EAAGtzB,EAAI,GAAK,GAGtB2zB,EAASL,EAAGtzB,GAAKqzB,EAAOrzB,GACxB4zB,EAAQN,EAAGtzB,EAAI,GAAKqzB,EAAOrzB,GAC3B8zB,EAAmB9rB,KAAKiB,IAAI0qB,EAAQ,GAAK3rB,KAAKiB,IAAI2qB,EAAO,GACrDE,GAAoB,IAGxBD,EAAO,EAAI7rB,KAAK0C,KAAKopB,GACrBR,EAAGtzB,GAAK2zB,EAASE,EAAOR,EAAOrzB,GAC/BszB,EAAGtzB,EAAI,GAAK4zB,EAAQC,EAAOR,EAAOrzB,KAEtC,CAkDE+zB,CAAe9lB,EAAQolB,EAAQC,GAjDjC,SAAyBrlB,EAAQqlB,EAAIvP,EAAY,KAC/C,MAAMoP,EAAYpB,GAAahO,GACzBqP,EAAYnlB,EAAOxJ,OACzB,IAAIuvB,EAAOT,EAAaC,EACpBC,EAAa5B,GAAS5jB,EAAQ,GAClC,IAAK,IAAIjO,EAAI,EAAGA,EAAIozB,IAAapzB,EAAG,CAIlC,GAHAuzB,EAAcC,EACdA,EAAeC,EACfA,EAAa5B,GAAS5jB,EAAQjO,EAAI,IAC7BwzB,EACH,SAEF,MAAMS,EAAST,EAAazP,GACtBmQ,EAASV,EAAaL,GACxBI,IACFS,GAASC,EAASV,EAAYxP,IAAc,EAC5CyP,EAAa,MAAMzP,KAAekQ,EAASD,EAC3CR,EAAa,MAAML,KAAee,EAASF,EAAQV,EAAGtzB,IAEpDyzB,IACFO,GAASP,EAAW1P,GAAakQ,GAAU,EAC3CT,EAAa,MAAMzP,KAAekQ,EAASD,EAC3CR,EAAa,MAAML,KAAee,EAASF,EAAQV,EAAGtzB,GAE1D,CACF,CAyBEm0B,CAAgBlmB,EAAQqlB,EAAIvP,EAC9B,CA+BIqQ,CAAoBnmB,EAAQ8V,OACvB,CACL,IAAIsQ,EAAOtB,EAAO9kB,EAAOA,EAAOxJ,OAAS,GAAKwJ,EAAO,GACrD,IAAKjO,EAAI,EAAG6E,EAAOoJ,EAAOxJ,OAAQzE,EAAI6E,IAAQ7E,EAC5C8oB,EAAQ7a,EAAOjO,GACfgzB,EAAgBhB,GACdqC,EACAvL,EACA7a,EAAOjG,KAAK2B,IAAI3J,EAAI,EAAG6E,GAAQkuB,EAAO,EAAI,IAAMluB,GAChDe,EAAQ0uB,SAEVxL,EAAMgB,KAAOkJ,EAAcvJ,SAASljB,EACpCuiB,EAAMkB,KAAOgJ,EAAcvJ,SAAShjB,EACpCqiB,EAAMiB,KAAOiJ,EAAcX,KAAK9rB,EAChCuiB,EAAMmB,KAAO+I,EAAcX,KAAK5rB,EAChC4tB,EAAOvL,CAEX,CACIljB,EAAQ2uB,iBA7Cd,SAAyBtmB,EAAQ8a,GAC/B,IAAI/oB,EAAG6E,EAAMikB,EAAO0L,EAAQC,EACxBC,EAAa7L,GAAe5a,EAAO,GAAI8a,GAC3C,IAAK/oB,EAAI,EAAG6E,EAAOoJ,EAAOxJ,OAAQzE,EAAI6E,IAAQ7E,EAC5Cy0B,EAAaD,EACbA,EAASE,EACTA,EAAa10B,EAAI6E,EAAO,GAAKgkB,GAAe5a,EAAOjO,EAAI,GAAI+oB,GACtDyL,IAGL1L,EAAQ7a,EAAOjO,GACXy0B,IACF3L,EAAMgB,KAAO8I,GAAgB9J,EAAMgB,KAAMf,EAAKE,KAAMF,EAAKG,OACzDJ,EAAMkB,KAAO4I,GAAgB9J,EAAMkB,KAAMjB,EAAKI,IAAKJ,EAAKK,SAEtDsL,IACF5L,EAAMiB,KAAO6I,GAAgB9J,EAAMiB,KAAMhB,EAAKE,KAAMF,EAAKG,OACzDJ,EAAMmB,KAAO2I,GAAgB9J,EAAMmB,KAAMlB,EAAKI,IAAKJ,EAAKK,SAG9D,CA0BImL,CAAgBtmB,EAAQ8a,EAE5B,CAEA,SAAS4L,KACP,MAAyB,oBAAXt2B,QAA8C,oBAAb7D,QACjD,CACA,SAASo6B,GAAeC,GACtB,IAAI7D,EAAS6D,EAAQC,WAIrB,OAHI9D,GAAgC,wBAAtBA,EAAO1xB,aACnB0xB,EAASA,EAAO+D,MAEX/D,CACT,CACA,SAASgE,GAAcC,EAAYp4B,EAAMq4B,GACvC,IAAIC,EASJ,MAR0B,iBAAfF,GACTE,EAAgBjV,SAAS+U,EAAY,KACJ,IAA7BA,EAAWvvB,QAAQ,OACrByvB,EAAgBA,EAAgB,IAAMt4B,EAAKi4B,WAAWI,KAGxDC,EAAgBF,EAEXE,CACT,CACA,MAAMC,GAAoBC,GAAYh3B,OAAO+2B,iBAAiBC,EAAS,MAIjEC,GAAY,CAAC,MAAO,QAAS,SAAU,QAC7C,SAASC,GAAmBC,EAAQhS,EAAOiS,GACzC,MAAMx5B,EAAS,CAAC,EAChBw5B,EAASA,EAAS,IAAMA,EAAS,GACjC,IAAK,IAAIz1B,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAC1B,MAAM01B,EAAMJ,GAAUt1B,GACtB/D,EAAOy5B,GAAO5xB,WAAW0xB,EAAOhS,EAAQ,IAAMkS,EAAMD,KAAY,CAClE,CAGA,OAFAx5B,EAAOvC,MAAQuC,EAAOgtB,KAAOhtB,EAAOitB,MACpCjtB,EAAOrC,OAASqC,EAAOktB,IAAMltB,EAAOmtB,OAC7BntB,CACT,CAmBA,SAAS05B,GAAoBC,EAAKj6B,GAChC,GAAI,WAAYi6B,EACd,OAAOA,EAET,MAAM,OAACxO,EAAM,wBAAEH,GAA2BtrB,EACpC6nB,EAAQ4R,GAAiBhO,GACzByO,EAAgC,eAApBrS,EAAMsS,UAClBC,EAAWR,GAAmB/R,EAAO,WACrCwS,EAAUT,GAAmB/R,EAAO,SAAU,UAC9C,EAACjd,EAAC,EAAEE,EAAC,IAAEwvB,GA1Bf,SAA2B/rB,EAAGkd,GAC5B,MAAM8O,EAAUhsB,EAAEgsB,QACZ/wB,EAAS+wB,GAAWA,EAAQzxB,OAASyxB,EAAQ,GAAKhsB,GAClD,QAACisB,EAAO,QAAEC,GAAWjxB,EAC3B,IACIoB,EAAGE,EADHwvB,GAAM,EAEV,GAPmB,EAAC1vB,EAAGE,EAAGpB,KAAYkB,EAAI,GAAKE,EAAI,MAAQpB,IAAWA,EAAOgxB,YAOzEC,CAAaH,EAASC,EAASlsB,EAAE7E,QACnCkB,EAAI4vB,EACJ1vB,EAAI2vB,MACC,CACL,MAAM1N,EAAOtB,EAAOmP,wBACpBhwB,EAAIpB,EAAOqxB,QAAU9N,EAAKO,KAC1BxiB,EAAItB,EAAOsxB,QAAU/N,EAAKS,IAC1B8M,GAAM,CACR,CACA,MAAO,CAAC1vB,IAAGE,IAAGwvB,MAChB,CAUsBS,CAAkBd,EAAKxO,GACrCM,EAAUqO,EAAS9M,MAAQgN,GAAOD,EAAQ/M,MAC1CtB,EAAUoO,EAAS5M,KAAO8M,GAAOD,EAAQ7M,KAC/C,IAAI,MAACzvB,EAAK,OAAEE,GAAU+B,EAKtB,OAJIk6B,IACFn8B,GAASq8B,EAASr8B,MAAQs8B,EAAQt8B,MAClCE,GAAUm8B,EAASn8B,OAASo8B,EAAQp8B,QAE/B,CACL2M,EAAGyB,KAAKc,OAAOvC,EAAImhB,GAAWhuB,EAAQ0tB,EAAO1tB,MAAQutB,GACrDxgB,EAAGuB,KAAKc,OAAOrC,EAAIkhB,GAAW/tB,EAASwtB,EAAOxtB,OAASqtB,GAE3D,CA0BA,MAAM0P,GAASrwB,GAAK0B,KAAKc,MAAU,GAAJxC,GAAU,GA0BzC,SAASswB,GAAYj7B,EAAOk7B,EAAYC,GACtC,MAAMC,EAAaF,GAAc,EAC3BG,EAAehvB,KAAKkB,MAAMvN,EAAM/B,OAASm9B,GACzCE,EAAcjvB,KAAKkB,MAAMvN,EAAMjC,MAAQq9B,GAC7Cp7B,EAAM/B,OAASo9B,EAAeD,EAC9Bp7B,EAAMjC,MAAQu9B,EAAcF,EAC5B,MAAM3P,EAASzrB,EAAMyrB,OAKrB,OAJIA,EAAO5D,QAAUsT,IAAgB1P,EAAO5D,MAAM5pB,SAAWwtB,EAAO5D,MAAM9pB,SACxE0tB,EAAO5D,MAAM5pB,OAAS,GAAG+B,EAAM/B,WAC/BwtB,EAAO5D,MAAM9pB,MAAQ,GAAGiC,EAAMjC,YAE5BiC,EAAMsrB,0BAA4B8P,GAC/B3P,EAAOxtB,SAAWo9B,GAClB5P,EAAO1tB,QAAUu9B,KACtBt7B,EAAMsrB,wBAA0B8P,EAChC3P,EAAOxtB,OAASo9B,EAChB5P,EAAO1tB,MAAQu9B,EACft7B,EAAMioB,IAAIsT,aAAaH,EAAY,EAAG,EAAGA,EAAY,EAAG,IACjD,EAGX,CACA,MAAMI,GAAgC,WACpC,IAAIC,GAAmB,EACvB,IACE,MAAMxxB,EAAU,CACVyxB,cAEF,OADAD,GAAmB,GACZ,CACT,GAEF/4B,OAAOi5B,iBAAiB,OAAQ,KAAM1xB,GACtCvH,OAAOk5B,oBAAoB,OAAQ,KAAM3xB,EAE3C,CADE,MAAOsE,GACT,CACA,OAAOktB,CACT,CAdqC,GAerC,SAASI,GAAanC,EAAS3rB,GAC7B,MAAM7G,EAhJR,SAAkB40B,EAAI/tB,GACpB,OAAO0rB,GAAiBqC,GAAIC,iBAAiBhuB,EAC/C,CA8IgBiuB,CAAStC,EAAS3rB,GAC1ByiB,EAAUtpB,GAASA,EAAMupB,MAAM,qBACrC,OAAOD,GAAWA,EAAQ,QAAKxL,CACjC,CAEA,SAASiX,GAAaxY,EAAIC,EAAI5P,EAAGwU,GAC/B,MAAO,CACL1d,EAAG6Y,EAAG7Y,EAAIkJ,GAAK4P,EAAG9Y,EAAI6Y,EAAG7Y,GACzBE,EAAG2Y,EAAG3Y,EAAIgJ,GAAK4P,EAAG5Y,EAAI2Y,EAAG3Y,GAE7B,CACA,SAASoxB,GAAsBzY,EAAIC,EAAI5P,EAAGwU,GACxC,MAAO,CACL1d,EAAG6Y,EAAG7Y,EAAIkJ,GAAK4P,EAAG9Y,EAAI6Y,EAAG7Y,GACzBE,EAAY,WAATwd,EAAoBxU,EAAI,GAAM2P,EAAG3Y,EAAI4Y,EAAG5Y,EAChC,UAATwd,EAAmBxU,EAAI,EAAI2P,EAAG3Y,EAAI4Y,EAAG5Y,EACrCgJ,EAAI,EAAI4P,EAAG5Y,EAAI2Y,EAAG3Y,EAExB,CACA,SAASqxB,GAAqB1Y,EAAIC,EAAI5P,EAAGwU,GACvC,MAAM8T,EAAM,CAACxxB,EAAG6Y,EAAG2K,KAAMtjB,EAAG2Y,EAAG6K,MACzB+N,EAAM,CAACzxB,EAAG8Y,EAAGyK,KAAMrjB,EAAG4Y,EAAG2K,MACzBzzB,EAAIqhC,GAAaxY,EAAI2Y,EAAKtoB,GAC1B9H,EAAIiwB,GAAaG,EAAKC,EAAKvoB,GAC3B1X,EAAI6/B,GAAaI,EAAK3Y,EAAI5P,GAC1BqC,EAAI8lB,GAAarhC,EAAGoR,EAAG8H,GACvBvF,EAAI0tB,GAAajwB,EAAG5P,EAAG0X,GAC7B,OAAOmoB,GAAa9lB,EAAG5H,EAAGuF,EAC5B,CAEA,MAAMwoB,GAAY,IAAIC,IAWtB,SAASC,GAAaC,EAAKC,EAAQzyB,GACjC,OAXF,SAAyByyB,EAAQzyB,GAC/BA,EAAUA,GAAW,CAAC,EACtB,MAAM0yB,EAAWD,EAASE,KAAKC,UAAU5yB,GACzC,IAAI6yB,EAAYR,GAAUnT,IAAIwT,GAK9B,OAJKG,IACHA,EAAY,IAAIC,KAAKC,aAAaN,EAAQzyB,GAC1CqyB,GAAUhrB,IAAIqrB,EAAUG,IAEnBA,CACT,CAESG,CAAgBP,EAAQzyB,GAASizB,OAAOT,EACjD,CA0CA,SAASU,GAAcC,EAAKC,EAAOt/B,GACjC,OAAOq/B,EAzCqB,SAASC,EAAOt/B,GAC5C,MAAO,CACL6M,EAAEA,GACOyyB,EAAQA,EAAQt/B,EAAQ6M,EAEjC0yB,SAAS1lB,GACP7Z,EAAQ6Z,CACV,EACAkX,UAAU5c,GACM,WAAVA,EACKA,EAEQ,UAAVA,EAAoB,OAAS,QAEtCqrB,MAAK,CAAC3yB,EAAG1D,IACA0D,EAAI1D,EAEbs2B,WAAU,CAAC5yB,EAAG6yB,IACL7yB,EAAI6yB,EAGjB,CAoBeC,CAAsBL,EAAOt/B,GAlBnC,CACL6M,EAAEA,GACOA,EAET0yB,SAAS1lB,GACT,EACAkX,UAAU5c,GACDA,EAETqrB,MAAK,CAAC3yB,EAAG1D,IACA0D,EAAI1D,EAEbs2B,WAAU,CAAC5yB,EAAG+yB,IACL/yB,EAMb,CACA,SAASgzB,GAAsB3V,EAAK4V,GAClC,IAAIhW,EAAOiW,EACO,QAAdD,GAAqC,QAAdA,IACzBhW,EAAQI,EAAIwD,OAAO5D,MACnBiW,EAAW,CACTjW,EAAMkU,iBAAiB,aACvBlU,EAAMkW,oBAAoB,cAE5BlW,EAAMmW,YAAY,YAAaH,EAAW,aAC1C5V,EAAIgW,kBAAoBH,EAE5B,CACA,SAASI,GAAqBjW,EAAK6V,QAChB9Y,IAAb8Y,WACK7V,EAAIgW,kBACXhW,EAAIwD,OAAO5D,MAAMmW,YAAY,YAAaF,EAAS,GAAIA,EAAS,IAEpE,CAEA,SAASK,GAAWpwB,GAClB,MAAiB,UAAbA,EACK,CACLqwB,QAAS5uB,EACT6uB,QAAS/uB,EACTgvB,UAAW/uB,GAGR,CACL6uB,QAASluB,EACTmuB,QAAS,CAACzjC,EAAGoR,IAAMpR,EAAIoR,EACvBsyB,UAAW1zB,GAAKA,EAEpB,CACA,SAAS2zB,IAAiB,MAAC9uB,EAAK,IAAEC,EAAG,MAAE+C,EAAK,KAAE2kB,EAAI,MAAEvP,IAClD,MAAO,CACLpY,MAAOA,EAAQgD,EACf/C,IAAKA,EAAM+C,EACX2kB,KAAMA,IAAS1nB,EAAMD,EAAQ,GAAKgD,GAAU,EAC5CoV,QAEJ,CAyBA,SAAS2W,GAAcz5B,EAASuN,EAAQmsB,GACtC,IAAKA,EACH,MAAO,CAAC15B,GAEV,MAAM,SAACgJ,EAAU0B,MAAOivB,EAAYhvB,IAAKivB,GAAYF,EAC/ChsB,EAAQH,EAAOxJ,QACf,QAACu1B,EAAO,QAAED,EAAO,UAAEE,GAAaH,GAAWpwB,IAC3C,MAAC0B,EAAK,IAAEC,EAAG,KAAE0nB,EAAI,MAAEvP,GA/B3B,SAAoB9iB,EAASuN,EAAQmsB,GACnC,MAAM,SAAC1wB,EAAU0B,MAAOivB,EAAYhvB,IAAKivB,GAAYF,GAC/C,QAACL,EAAO,UAAEE,GAAaH,GAAWpwB,GAClC0E,EAAQH,EAAOxJ,OACrB,IACIzE,EAAG6E,GADH,MAACuG,EAAK,IAAEC,EAAG,KAAE0nB,GAAQryB,EAEzB,GAAIqyB,EAAM,CAGR,IAFA3nB,GAASgD,EACT/C,GAAO+C,EACFpO,EAAI,EAAG6E,EAAOuJ,EAAOpO,EAAI6E,GACvBk1B,EAAQE,EAAUhsB,EAAO7C,EAAQgD,GAAO1E,IAAY2wB,EAAYC,KADjCt6B,EAIpCoL,IACAC,IAEFD,GAASgD,EACT/C,GAAO+C,CACT,CAIA,OAHI/C,EAAMD,IACRC,GAAO+C,GAEF,CAAChD,QAAOC,MAAK0nB,OAAMvP,MAAO9iB,EAAQ8iB,MAC3C,CAQoC+W,CAAW75B,EAASuN,EAAQmsB,GACxDn+B,EAAS,GACf,IAEI4G,EAAOimB,EAAO0R,EAFdC,GAAS,EACTC,EAAW,KAMf,IAAK,IAAI16B,EAAIoL,EAAOipB,EAAOjpB,EAAOpL,GAAKqL,IAAOrL,EAC5C8oB,EAAQ7a,EAAOjO,EAAIoO,GACf0a,EAAMgJ,OAGVjvB,EAAQo3B,EAAUnR,EAAMpf,IACpB7G,IAAU23B,IAGdC,EAASV,EAAQl3B,EAAOw3B,EAAYC,GACnB,OAAbI,IAZoBD,GAFEV,EAAQM,EAAYG,EAAW33B,IAA6C,IAAnCm3B,EAAQK,EAAYG,MAerFE,EAA0C,IAA/BV,EAAQn3B,EAAOw3B,GAAoBr6B,EAAIq0B,GAEnC,OAAbqG,KAdoBD,GAF6B,IAA7BT,EAAQM,EAAUz3B,IAAgBk3B,EAAQO,EAAUE,EAAW33B,MAiBrF5G,EAAOgL,KAAKizB,GAAiB,CAAC9uB,MAAOsvB,EAAUrvB,IAAKrL,EAAG+yB,OAAM3kB,QAAOoV,WACpEkX,EAAW,MAEbrG,EAAOr0B,EACPw6B,EAAY33B,IAKd,OAHiB,OAAb63B,GACFz+B,EAAOgL,KAAKizB,GAAiB,CAAC9uB,MAAOsvB,EAAUrvB,MAAK0nB,OAAM3kB,QAAOoV,WAE5DvnB,CACT,CACA,SAAS0+B,GAAexkC,EAAMikC,GAC5B,MAAMn+B,EAAS,GACTgE,EAAW9J,EAAK8J,SACtB,IAAK,IAAID,EAAI,EAAGA,EAAIC,EAASwE,OAAQzE,IAAK,CACxC,MAAM46B,EAAMT,GAAcl6B,EAASD,GAAI7J,EAAK8X,OAAQmsB,GAChDQ,EAAIn2B,QACNxI,EAAOgL,QAAQ2zB,EAEnB,CACA,OAAO3+B,CACT,CA4HA,SAAS4+B,GAAUj1B,GACjB,MAAO,CACLmd,gBAAiBnd,EAAQmd,gBACzB+X,eAAgBl1B,EAAQk1B,eACxBC,WAAYn1B,EAAQm1B,WACpBC,iBAAkBp1B,EAAQo1B,iBAC1BC,gBAAiBr1B,EAAQq1B,gBACzB5hC,YAAauM,EAAQvM,YACrBD,YAAawM,EAAQxM,YAEzB,CACA,SAAS8hC,GAAa1X,EAAO2X,GAC3B,OAAOA,GAAa5C,KAAKC,UAAUhV,KAAW+U,KAAKC,UAAU2C,EAC/D,CCx6EA,IAAIC,GAAW,IAvIf,MACE1b,cACE/pB,KAAK0lC,SAAW,KAChB1lC,KAAK2lC,QAAU,IAAIpD,IACnBviC,KAAK4lC,UAAW,EAChB5lC,KAAK6lC,eAAY7a,CACnB,CACA8a,QAAQ9/B,EAAO+/B,EAAOC,EAAM5iC,GAC1B,MAAM6iC,EAAYF,EAAM9uB,UAAU7T,GAC5B8iC,EAAWH,EAAMI,SACvBF,EAAU9uB,SAAQ9I,GAAMA,EAAG,CACzBrI,QACAogC,QAASL,EAAMK,QACfF,WACAG,YAAah0B,KAAK2B,IAAIgyB,EAAOD,EAAMtwB,MAAOywB,MAE9C,CACAI,WACMtmC,KAAK0lC,WAGT1lC,KAAK4lC,UAAW,EAChB5lC,KAAK0lC,SAAWhuB,GAAiBnK,KAAK7E,QAAQ,KAC5C1I,KAAKumC,UACLvmC,KAAK0lC,SAAW,KACZ1lC,KAAK4lC,UACP5lC,KAAKsmC,UACP,IAEJ,CACAC,QAAQP,EAAOthC,KAAK8hC,OAClB,IAAIC,EAAY,EAChBzmC,KAAK2lC,QAAQxuB,SAAQ,CAAC4uB,EAAO//B,KAC3B,IAAK+/B,EAAMW,UAAYX,EAAM1uB,MAAMvI,OACjC,OAEF,MAAMuI,EAAQ0uB,EAAM1uB,MACpB,IAEInF,EAFA7H,EAAIgN,EAAMvI,OAAS,EACnB63B,GAAO,EAEX,KAAOt8B,GAAK,IAAKA,EACf6H,EAAOmF,EAAMhN,GACT6H,EAAK00B,SACH10B,EAAK20B,OAASd,EAAMI,WACtBJ,EAAMI,SAAWj0B,EAAK20B,QAExB30B,EAAK40B,KAAKd,GACVW,GAAO,IAEPtvB,EAAMhN,GAAKgN,EAAMA,EAAMvI,OAAS,GAChCuI,EAAM0vB,OAGNJ,IACF3gC,EAAM2gC,OACN3mC,KAAK8lC,QAAQ9/B,EAAO+/B,EAAOC,EAAM,aAE9B3uB,EAAMvI,SACTi3B,EAAMW,SAAU,EAChB1mC,KAAK8lC,QAAQ9/B,EAAO+/B,EAAOC,EAAM,YACjCD,EAAMK,SAAU,GAElBK,GAAapvB,EAAMvI,MAAM,IAE3B9O,KAAK6lC,UAAYG,EACC,IAAdS,IACFzmC,KAAK4lC,UAAW,EAEpB,CACAoB,UAAUhhC,GACR,MAAM1D,EAAStC,KAAK2lC,QACpB,IAAII,EAAQzjC,EAAO6sB,IAAInpB,GAavB,OAZK+/B,IACHA,EAAQ,CACNW,SAAS,EACTN,SAAS,EACT/uB,MAAO,GACPJ,UAAW,CACTgwB,SAAU,GACVC,SAAU,KAGd5kC,EAAOgV,IAAItR,EAAO+/B,IAEbA,CACT,CACAoB,OAAOnhC,EAAOohC,EAAOC,GACnBrnC,KAAKgnC,UAAUhhC,GAAOiR,UAAUmwB,GAAO91B,KAAK+1B,EAC9C,CACA7vB,IAAIxR,EAAOqR,GACJA,GAAUA,EAAMvI,QAGrB9O,KAAKgnC,UAAUhhC,GAAOqR,MAAM/F,QAAQ+F,EACtC,CACAlF,IAAInM,GACF,OAAOhG,KAAKgnC,UAAUhhC,GAAOqR,MAAMvI,OAAS,CAC9C,CACA2G,MAAMzP,GACJ,MAAM+/B,EAAQ/lC,KAAK2lC,QAAQxW,IAAInpB,GAC1B+/B,IAGLA,EAAMW,SAAU,EAChBX,EAAMtwB,MAAQ/Q,KAAK8hC,MACnBT,EAAMI,SAAWJ,EAAM1uB,MAAMiwB,QAAO,CAACC,EAAKC,IAAQn1B,KAAK4B,IAAIszB,EAAKC,EAAIC,YAAY,GAChFznC,KAAKsmC,WACP,CACAI,QAAQ1gC,GACN,IAAKhG,KAAK4lC,SACR,OAAO,EAET,MAAMG,EAAQ/lC,KAAK2lC,QAAQxW,IAAInpB,GAC/B,SAAK+/B,GAAUA,EAAMW,SAAYX,EAAM1uB,MAAMvI,OAI/C,CACA44B,KAAK1hC,GACH,MAAM+/B,EAAQ/lC,KAAK2lC,QAAQxW,IAAInpB,GAC/B,IAAK+/B,IAAUA,EAAM1uB,MAAMvI,OACzB,OAEF,MAAMuI,EAAQ0uB,EAAM1uB,MACpB,IAAIhN,EAAIgN,EAAMvI,OAAS,EACvB,KAAOzE,GAAK,IAAKA,EACfgN,EAAMhN,GAAGs9B,SAEX5B,EAAM1uB,MAAQ,GACdrX,KAAK8lC,QAAQ9/B,EAAO+/B,EAAOrhC,KAAK8hC,MAAO,WACzC,CACAoB,OAAO5hC,GACL,OAAOhG,KAAK2lC,QAAQpL,OAAOv0B,EAC7B,GAIF,MAAMykB,GAAc,cACdod,GAAgB,CACpBC,QAAO,CAACrwB,EAAMsR,EAAIgf,IACTA,EAAS,GAAMhf,EAAKtR,EAE7B6T,MAAM7T,EAAMsR,EAAIgf,GACd,MAAMC,EAAK1c,GAAM7T,GAAQgT,IACnBe,EAAKwc,EAAGld,OAASQ,GAAMvC,GAAM0B,IACnC,OAAOe,GAAMA,EAAGV,MACZU,EAAGH,IAAI2c,EAAID,GAAQ9c,YACnBlC,CACN,EACAkf,OAAM,CAACxwB,EAAMsR,EAAIgf,IACRtwB,GAAQsR,EAAKtR,GAAQswB,GAGhC,MAAMG,GACJne,YAAYoe,EAAKz4B,EAAQonB,EAAM/N,GAC7B,MAAMqf,EAAe14B,EAAOonB,GAC5B/N,EAAKwO,GAAQ,CAAC4Q,EAAIpf,GAAIA,EAAIqf,EAAcD,EAAI1wB,OAC5C,MAAMA,EAAO8f,GAAQ,CAAC4Q,EAAI1wB,KAAM2wB,EAAcrf,IAC9C/oB,KAAK4mC,SAAU,EACf5mC,KAAKqoC,IAAMF,EAAI95B,IAAMw5B,GAAcM,EAAI/kC,aAAeqU,GACtDzX,KAAKsoC,QAAUpuB,GAAQiuB,EAAII,SAAWruB,GAAQC,OAC9Cna,KAAKwoC,OAASn2B,KAAKkB,MAAM7O,KAAK8hC,OAAS2B,EAAI3/B,OAAS,IACpDxI,KAAKynC,UAAYznC,KAAK6mC,OAASx0B,KAAKkB,MAAM40B,EAAIhC,UAC9CnmC,KAAKyoC,QAAUN,EAAI/K,KACnBp9B,KAAK0oC,QAAUh5B,EACf1P,KAAK2oC,MAAQ7R,EACb92B,KAAK4oC,MAAQnxB,EACbzX,KAAK6oC,IAAM9f,EACX/oB,KAAK8oC,eAAY9d,CACnB,CACA+d,SACE,OAAO/oC,KAAK4mC,OACd,CACAoC,OAAOb,EAAKpf,EAAIid,GACd,GAAIhmC,KAAK4mC,QAAS,CAChB5mC,KAAK8lC,SAAQ,GACb,MAAMsC,EAAepoC,KAAK0oC,QAAQ1oC,KAAK2oC,OACjCM,EAAUjD,EAAOhmC,KAAKwoC,OACtBU,EAASlpC,KAAKynC,UAAYwB,EAChCjpC,KAAKwoC,OAASxC,EACdhmC,KAAKynC,UAAYp1B,KAAKkB,MAAMlB,KAAK4B,IAAIi1B,EAAQf,EAAIhC,WACjDnmC,KAAK6mC,QAAUoC,EACfjpC,KAAKyoC,QAAUN,EAAI/K,KACnBp9B,KAAK6oC,IAAMtR,GAAQ,CAAC4Q,EAAIpf,GAAIA,EAAIqf,EAAcD,EAAI1wB,OAClDzX,KAAK4oC,MAAQrR,GAAQ,CAAC4Q,EAAI1wB,KAAM2wB,EAAcrf,GAChD,CACF,CACA4e,SACM3nC,KAAK4mC,UACP5mC,KAAK8mC,KAAKpiC,KAAK8hC,OACfxmC,KAAK4mC,SAAU,EACf5mC,KAAK8lC,SAAQ,GAEjB,CACAgB,KAAKd,GACH,MAAMiD,EAAUjD,EAAOhmC,KAAKwoC,OACtBrC,EAAWnmC,KAAKynC,UAChB3Q,EAAO92B,KAAK2oC,MACZlxB,EAAOzX,KAAK4oC,MACZxL,EAAOp9B,KAAKyoC,MACZ1f,EAAK/oB,KAAK6oC,IAChB,IAAId,EAEJ,GADA/nC,KAAK4mC,QAAUnvB,IAASsR,IAAOqU,GAAS6L,EAAU9C,IAC7CnmC,KAAK4mC,QAGR,OAFA5mC,KAAK0oC,QAAQ5R,GAAQ/N,OACrB/oB,KAAK8lC,SAAQ,GAGXmD,EAAU,EACZjpC,KAAK0oC,QAAQ5R,GAAQrf,GAGvBswB,EAAUkB,EAAU9C,EAAY,EAChC4B,EAAS3K,GAAQ2K,EAAS,EAAI,EAAIA,EAASA,EAC3CA,EAAS/nC,KAAKsoC,QAAQj2B,KAAK2B,IAAI,EAAG3B,KAAK4B,IAAI,EAAG8zB,KAC9C/nC,KAAK0oC,QAAQ5R,GAAQ92B,KAAKqoC,IAAI5wB,EAAMsR,EAAIgf,GAC1C,CACAoB,OACE,MAAMC,EAAWppC,KAAK8oC,YAAc9oC,KAAK8oC,UAAY,IACrD,OAAO,IAAIO,SAAQ,CAACC,EAAKC,KACvBH,EAAS93B,KAAK,CAACg4B,MAAKC,OAAK,GAE7B,CACAzD,QAAQ0D,GACN,MAAMC,EAASD,EAAW,MAAQ,MAC5BJ,EAAWppC,KAAK8oC,WAAa,GACnC,IAAK,IAAIz+B,EAAI,EAAGA,EAAI++B,EAASt6B,OAAQzE,IACnC++B,EAAS/+B,GAAGo/B,IAEhB,EAKFxc,GAAS3V,IAAI,YAAa,CACxB9O,WAAOwiB,EACPmb,SAAU,IACVoC,OAAQ,eACRl6B,QAAI2c,EACJvT,UAAMuT,EACNoS,UAAMpS,EACNjC,QAAIiC,EACJ5nB,UAAM4nB,IAER,MAAM0e,GAAmBr8B,OAAOwB,KAAKoe,GAASE,WAC9CF,GAASiC,SAAS,YAAa,CAC7BiB,WAAW,EACXD,YAAY,EACZF,YAAcV,GAAkB,eAATA,GAAkC,eAATA,GAAkC,OAATA,IAE3ErC,GAAS3V,IAAI,aAAc,CACzBqyB,OAAQ,CACNvmC,KAAM,QACNwmC,WApBW,CAAC,QAAS,cAAe,oBAsBtCC,QAAS,CACPzmC,KAAM,SACNwmC,WAzBY,CAAC,IAAK,IAAK,cAAe,SAAU,cA4BpD3c,GAASiC,SAAS,aAAc,CAC9BiB,UAAW,cAEblD,GAAS3V,IAAI,cAAe,CAC1ByxB,OAAQ,CACN5b,UAAW,CACTgZ,SAAU,MAGd2D,OAAQ,CACN3c,UAAW,CACTgZ,SAAU,IAGd4D,KAAM,CACJC,WAAY,CACVL,OAAQ,CACNlyB,KAAM,eAERwyB,QAAS,CACP7mC,KAAM,UACN+iC,SAAU,KAIhB+D,KAAM,CACJF,WAAY,CACVL,OAAQ,CACN5gB,GAAI,eAENkhB,QAAS,CACP7mC,KAAM,UACNmlC,OAAQ,SACRl6B,GAAIsC,GAAS,EAAJA,OAKjB,MAAMw5B,GACJpgB,YAAY/jB,EAAOokC,GACjBpqC,KAAKqqC,OAASrkC,EACdhG,KAAKsqC,YAAc,IAAI/H,IACvBviC,KAAKuqC,UAAUH,EACjB,CACAG,UAAUH,GACR,IAAK38B,EAAS28B,GACZ,OAEF,MAAMI,EAAgBxqC,KAAKsqC,YAC3Bj9B,OAAOo9B,oBAAoBL,GAAQjzB,SAAQtV,IACzC,MAAMsmC,EAAMiC,EAAOvoC,GACnB,IAAK4L,EAAS06B,GACZ,OAEF,MAAMqB,EAAW,CAAC,EAClB,IAAK,MAAMkB,KAAUhB,GACnBF,EAASkB,GAAUvC,EAAIuC,IAExBv9B,EAAQg7B,EAAIyB,aAAezB,EAAIyB,YAAc,CAAC/nC,IAAMsV,SAAS2f,IACxDA,IAASj1B,GAAQ2oC,EAAcr4B,IAAI2kB,IACrC0T,EAAclzB,IAAIwf,EAAM0S,EAC1B,GACA,GAEN,CACAmB,gBAAgBj7B,EAAQ5O,GACtB,MAAM8pC,EAAa9pC,EAAOmP,QACpBA,EAwEV,SAA8BP,EAAQk7B,GACpC,IAAKA,EACH,OAEF,IAAI36B,EAAUP,EAAOO,QACrB,GAAKA,EAOL,OAHIA,EAAQ46B,UACVn7B,EAAOO,QAAUA,EAAU5C,OAAOuM,OAAO,CAAC,EAAG3J,EAAS,CAAC46B,SAAS,EAAOC,YAAa,CAAC,KAEhF76B,EANLP,EAAOO,QAAU26B,CAOrB,CArFoBG,CAAqBr7B,EAAQk7B,GAC7C,IAAK36B,EACH,MAAO,GAET,MAAM+5B,EAAahqC,KAAKgrC,kBAAkB/6B,EAAS26B,GAOnD,OANIA,EAAWC,SAwDnB,SAAkBb,EAAYJ,GAC5B,MAAMlD,EAAU,GACV73B,EAAOxB,OAAOwB,KAAK+6B,GACzB,IAAK,IAAIv/B,EAAI,EAAGA,EAAIwE,EAAKC,OAAQzE,IAAK,CACpC,MAAM4gC,EAAOjB,EAAWn7B,EAAKxE,IACzB4gC,GAAQA,EAAKlC,UACfrC,EAAQp1B,KAAK25B,EAAK9B,OAEtB,CACA,OAAOE,QAAQ6B,IAAIxE,EACrB,CAjEMyE,CAASz7B,EAAOO,QAAQ66B,YAAaF,GAAYQ,MAAK,KACpD17B,EAAOO,QAAU26B,CAAU,IAC1B,SAGEZ,CACT,CACAgB,kBAAkBt7B,EAAQ5O,GACxB,MAAM0pC,EAAgBxqC,KAAKsqC,YACrBN,EAAa,GACbtD,EAAUh3B,EAAOo7B,cAAgBp7B,EAAOo7B,YAAc,CAAC,GACvDnU,EAAQtpB,OAAOwB,KAAK/N,GACpBklC,EAAOthC,KAAK8hC,MAClB,IAAIn8B,EACJ,IAAKA,EAAIssB,EAAM7nB,OAAS,EAAGzE,GAAK,IAAKA,EAAG,CACtC,MAAMysB,EAAOH,EAAMtsB,GACnB,GAAuB,MAAnBysB,EAAKnlB,OAAO,GACd,SAEF,GAAa,YAATmlB,EAAoB,CACtBkT,EAAW14B,QAAQtR,KAAK2qC,gBAAgBj7B,EAAQ5O,IAChD,QACF,CACA,MAAMoM,EAAQpM,EAAOg2B,GACrB,IAAI3J,EAAYuZ,EAAQ5P,GACxB,MAAMqR,EAAMqC,EAAcrb,IAAI2H,GAC9B,GAAI3J,EAAW,CACb,GAAIgb,GAAOhb,EAAU4b,SAAU,CAC7B5b,EAAU6b,OAAOb,EAAKj7B,EAAO84B,GAC7B,QACF,CACE7Y,EAAUwa,QAEd,CACKQ,GAAQA,EAAIhC,UAIjBO,EAAQ5P,GAAQ3J,EAAY,IAAI+a,GAAUC,EAAKz4B,EAAQonB,EAAM5pB,GAC7D88B,EAAW14B,KAAK6b,IAJdzd,EAAOonB,GAAQ5pB,CAKnB,CACA,OAAO88B,CACT,CACAhB,OAAOt5B,EAAQ5O,GACb,GAA8B,IAA1Bd,KAAKsqC,YAAYr4B,KAEnB,YADA5E,OAAOuM,OAAOlK,EAAQ5O,GAGxB,MAAMkpC,EAAahqC,KAAKgrC,kBAAkBt7B,EAAQ5O,GAClD,OAAIkpC,EAAWl7B,QACb22B,GAASjuB,IAAIxX,KAAKqqC,OAAQL,IACnB,QAFT,CAIF,EA4BF,SAASqB,GAAUvc,EAAOwc,GACxB,MAAM7W,EAAO3F,GAASA,EAAM7e,SAAW,CAAC,EAClCtB,EAAU8lB,EAAK9lB,QACfqF,OAAmBgX,IAAbyJ,EAAKzgB,IAAoBs3B,EAAkB,EACjDr3B,OAAmB+W,IAAbyJ,EAAKxgB,IAAoBq3B,EAAkB,EACvD,MAAO,CACL71B,MAAO9G,EAAUsF,EAAMD,EACvB0B,IAAK/G,EAAUqF,EAAMC,EAEzB,CAgCA,SAASs3B,GAAwBvlC,EAAOwlC,GACtC,MAAM38B,EAAO,GACP48B,EAAWzlC,EAAM0lC,uBAAuBF,GAC9C,IAAInhC,EAAG6E,EACP,IAAK7E,EAAI,EAAG6E,EAAOu8B,EAAS38B,OAAQzE,EAAI6E,IAAQ7E,EAC9CwE,EAAKyC,KAAKm6B,EAASphC,GAAGiF,OAExB,OAAOT,CACT,CACA,SAAS88B,GAAWC,EAAO1+B,EAAO2+B,EAAS57B,EAAU,CAAC,GACpD,MAAMpB,EAAO+8B,EAAM/8B,KACbi9B,EAA8B,WAAjB77B,EAAQqe,KAC3B,IAAIjkB,EAAG6E,EAAMG,EAAc08B,EAC3B,GAAc,OAAV7+B,EAAJ,CAGA,IAAK7C,EAAI,EAAG6E,EAAOL,EAAKC,OAAQzE,EAAI6E,IAAQ7E,EAAG,CAE7C,GADAgF,GAAgBR,EAAKxE,GACjBgF,IAAiBw8B,EAAS,CAC5B,GAAI57B,EAAQi7B,IACV,SAEF,KACF,CACAa,EAAaH,EAAM9qC,OAAOuO,GACtB3B,EAAeq+B,KAAgBD,GAAyB,IAAV5+B,GAAe6F,EAAK7F,KAAW6F,EAAKg5B,MACpF7+B,GAAS6+B,EAEb,CACA,OAAO7+B,CAdP,CAeF,CAcA,SAAS8+B,GAAUld,EAAOzW,GACxB,MAAM4zB,EAAUnd,GAASA,EAAM7e,QAAQg8B,QACvC,OAAOA,QAAwBjhB,IAAZihB,QAAwCjhB,IAAf3S,EAAKuzB,KACnD,CAWA,SAASM,GAAiBC,EAAQC,EAAUC,GAC1C,MAAMC,EAAWH,EAAOC,KAAcD,EAAOC,GAAY,CAAC,GAC1D,OAAOE,EAASD,KAAgBC,EAASD,GAAc,CAAC,EAC1D,CACA,SAASE,GAAoBX,EAAOY,EAAQC,EAAUrpC,GACpD,IAAK,MAAMiV,KAAQm0B,EAAOE,wBAAwBtpC,GAAMuL,UAAW,CACjE,MAAMzB,EAAQ0+B,EAAMvzB,EAAK/I,OACzB,GAAKm9B,GAAYv/B,EAAQ,IAAQu/B,GAAYv/B,EAAQ,EACnD,OAAOmL,EAAK/I,KAEhB,CACA,OAAO,IACT,CACA,SAASq9B,GAAaC,EAAY7Q,GAChC,MAAM,MAAC/1B,EAAO6mC,YAAax0B,GAAQu0B,EAC7BT,EAASnmC,EAAM8mC,UAAY9mC,EAAM8mC,QAAU,CAAC,IAC5C,OAACn0B,EAAM,OAAE6zB,EAAQl9B,MAAOD,GAAgBgJ,EACxC00B,EAAQp0B,EAAOE,KACfm0B,EAAQR,EAAO3zB,KACfhX,EA7BR,SAAqBorC,EAAYC,EAAY70B,GAC3C,MAAO,GAAG40B,EAAWjgC,MAAMkgC,EAAWlgC,MAAMqL,EAAKuzB,OAASvzB,EAAKjV,MACjE,CA2Bc+pC,CAAYx0B,EAAQ6zB,EAAQn0B,GAClCnJ,EAAO6sB,EAAOjtB,OACpB,IAAI88B,EACJ,IAAK,IAAIvhC,EAAI,EAAGA,EAAI6E,IAAQ7E,EAAG,CAC7B,MAAM6H,EAAO6pB,EAAO1xB,IACb,CAAC0iC,GAAQz9B,EAAO,CAAC09B,GAAQ9/B,GAASgF,EAEzC05B,GADmB15B,EAAK46B,UAAY56B,EAAK46B,QAAU,CAAC,IACjCE,GAASd,GAAiBC,EAAQtqC,EAAKyN,GAC1Ds8B,EAAMv8B,GAAgBnC,EACtB0+B,EAAMwB,KAAOb,GAAoBX,EAAOY,GAAQ,EAAMn0B,EAAKjV,MAC3DwoC,EAAMyB,QAAUd,GAAoBX,EAAOY,GAAQ,EAAOn0B,EAAKjV,KACjE,CACF,CACA,SAASkqC,GAAgBtnC,EAAO6S,GAC9B,MAAMkW,EAAS/oB,EAAM+oB,OACrB,OAAO1hB,OAAOwB,KAAKkgB,GAAQ4L,QAAO94B,GAAOktB,EAAOltB,GAAKgX,OAASA,IAAM00B,OACtE,CAyBA,SAASC,GAAYn1B,EAAMhB,GACzB,MAAMhI,EAAegJ,EAAKu0B,WAAWt9B,MAC/BuJ,EAAOR,EAAKm0B,QAAUn0B,EAAKm0B,OAAO3zB,KACxC,GAAKA,EAAL,CAGAxB,EAAQA,GAASgB,EAAKO,QACtB,IAAK,MAAMmjB,KAAU1kB,EAAO,CAC1B,MAAM80B,EAASpQ,EAAO+Q,QACtB,IAAKX,QAA2BnhB,IAAjBmhB,EAAOtzB,SAAsDmS,IAA/BmhB,EAAOtzB,GAAMxJ,GACxD,cAEK88B,EAAOtzB,GAAMxJ,EACtB,CARA,CASF,CACA,MAAMo+B,GAAsBnf,GAAkB,UAATA,GAA6B,SAATA,EACnDof,GAAmB,CAACC,EAAQC,IAAWA,EAASD,EAAStgC,OAAOuM,OAAO,CAAC,EAAG+zB,GAGjF,MAAME,GACJ9jB,YAAY/jB,EAAOqJ,GACjBrP,KAAKgG,MAAQA,EACbhG,KAAK8tC,KAAO9nC,EAAMioB,IAClBjuB,KAAKsP,MAAQD,EACbrP,KAAK+tC,gBAAkB,CAAC,EACxB/tC,KAAK6sC,YAAc7sC,KAAKguC,UACxBhuC,KAAKiuC,MAAQjuC,KAAK6sC,YAAYzpC,KAC9BpD,KAAKiQ,aAAU+a,EACfhrB,KAAK87B,UAAW,EAChB97B,KAAKkuC,WAAQljB,EACbhrB,KAAKmuC,iBAAcnjB,EACnBhrB,KAAKouC,oBAAiBpjB,EACtBhrB,KAAKquC,gBAAarjB,EAClBhrB,KAAKsuC,gBAAatjB,EAClBhrB,KAAKuuC,qBAAsB,EAC3BvuC,KAAKwuC,oBAAqB,EAC1BxuC,KAAKyuC,cAAWzjB,EAChBhrB,KAAK0uC,UAAY,GACjB1uC,KAAK2uC,YACP,CACAA,aACE,MAAMt2B,EAAOrY,KAAK6sC,YAClB7sC,KAAKuqC,YACLvqC,KAAK4uC,aACLv2B,EAAKw2B,SAAW7C,GAAU3zB,EAAKm0B,OAAQn0B,GACvCrY,KAAK8uC,aACP,CACAC,YAAY1/B,GACNrP,KAAKsP,QAAUD,GACjBm+B,GAAYxtC,KAAK6sC,aAEnB7sC,KAAKsP,MAAQD,CACf,CACAu/B,aACE,MAAM5oC,EAAQhG,KAAKgG,MACbqS,EAAOrY,KAAK6sC,YACZmC,EAAUhvC,KAAKivC,aACfC,EAAW,CAACr2B,EAAMjI,EAAGE,EAAGiN,IAAe,MAATlF,EAAejI,EAAa,MAATiI,EAAekF,EAAIjN,EACpEq+B,EAAM92B,EAAK+2B,QAAUrhC,EAAeihC,EAAQI,QAAS9B,GAAgBtnC,EAAO,MAC5EqpC,EAAMh3B,EAAKi3B,QAAUvhC,EAAeihC,EAAQM,QAAShC,GAAgBtnC,EAAO,MAC5EupC,EAAMl3B,EAAKm3B,QAAUzhC,EAAeihC,EAAQQ,QAASlC,GAAgBtnC,EAAO,MAC5EooB,EAAY/V,EAAK+V,UACjBqhB,EAAMp3B,EAAKq3B,QAAUR,EAAS9gB,EAAW+gB,EAAKE,EAAKE,GACnDI,EAAMt3B,EAAKu3B,QAAUV,EAAS9gB,EAAWihB,EAAKF,EAAKI,GACzDl3B,EAAKc,OAASnZ,KAAK6vC,cAAcV,GACjC92B,EAAKe,OAASpZ,KAAK6vC,cAAcR,GACjCh3B,EAAKy3B,OAAS9vC,KAAK6vC,cAAcN,GACjCl3B,EAAKM,OAAS3Y,KAAK6vC,cAAcJ,GACjCp3B,EAAKm0B,OAASxsC,KAAK6vC,cAAcF,EACnC,CACAV,aACE,OAAOjvC,KAAKgG,MAAMpE,KAAKgC,SAAS5D,KAAKsP,MACvC,CACA0+B,UACE,OAAOhuC,KAAKgG,MAAM+pC,eAAe/vC,KAAKsP,MACxC,CACAugC,cAAcG,GACZ,OAAOhwC,KAAKgG,MAAM+oB,OAAOihB,EAC3B,CACAC,eAAenhB,GACb,MAAMzW,EAAOrY,KAAK6sC,YAClB,OAAO/d,IAAUzW,EAAKM,OAClBN,EAAKm0B,OACLn0B,EAAKM,MACX,CACApR,QACEvH,KAAKumC,QAAQ,QACf,CACA2J,WACE,MAAM73B,EAAOrY,KAAK6sC,YACd7sC,KAAKkuC,OACPr3B,GAAoB7W,KAAKkuC,MAAOluC,MAE9BqY,EAAKw2B,UACPrB,GAAYn1B,EAEhB,CACA83B,aACE,MAAMnB,EAAUhvC,KAAKivC,aACfrtC,EAAOotC,EAAQptC,OAASotC,EAAQptC,KAAO,IACvCssC,EAAQluC,KAAKkuC,MACnB,GAAIzgC,EAAS7L,GACX5B,KAAKkuC,MA7LX,SAAkCtsC,GAChC,MAAMiN,EAAOxB,OAAOwB,KAAKjN,GACnBwuC,EAAQ,IAAIhjC,MAAMyB,EAAKC,QAC7B,IAAIzE,EAAG6E,EAAMrN,EACb,IAAKwI,EAAI,EAAG6E,EAAOL,EAAKC,OAAQzE,EAAI6E,IAAQ7E,EAC1CxI,EAAMgN,EAAKxE,GACX+lC,EAAM/lC,GAAK,CACTuG,EAAG/O,EACHiP,EAAGlP,EAAKC,IAGZ,OAAOuuC,CACT,CAiLmBC,CAAyBzuC,QACjC,GAAIssC,IAAUtsC,EAAM,CACzB,GAAIssC,EAAO,CACTr3B,GAAoBq3B,EAAOluC,MAC3B,MAAMqY,EAAOrY,KAAK6sC,YAClBW,GAAYn1B,GACZA,EAAKO,QAAU,EACjB,CACIhX,GAAQyL,OAAOijC,aAAa1uC,KACN5B,MD3ULmK,EC2UDvI,GD1UdoV,SACR7M,EAAM6M,SAASC,UAAU3F,KCyUGtR,ODtU9BqN,OAAOkjC,eAAepmC,EAAO,WAAY,CACvC4wB,cAAc,EACdjL,YAAY,EACZ5iB,MAAO,CACL+J,UAAW,CCkUejX,SD/T9B4W,GAAYO,SAAStV,IACnB,MAAM4nC,EAAS,UAAYh4B,EAAY5P,GACjC2uC,EAAOrmC,EAAMtI,GACnBwL,OAAOkjC,eAAepmC,EAAOtI,EAAK,CAChCk5B,cAAc,EACdjL,YAAY,EACZ5iB,SAASoB,GACP,MAAMg7B,EAAMkH,EAAKhiC,MAAMxO,KAAMsO,GAM7B,OALAnE,EAAM6M,SAASC,UAAUE,SAASs5B,IACF,mBAAnBA,EAAOhH,IAChBgH,EAAOhH,MAAWn7B,EACpB,IAEKg7B,CACT,GACA,MCkTAtpC,KAAK0uC,UAAY,GACjB1uC,KAAKkuC,MAAQtsC,CACf,CD/UJ,IAA2BuI,CCgVzB,CACA2kC,cACE,MAAMz2B,EAAOrY,KAAK6sC,YAClB7sC,KAAKmwC,aACDnwC,KAAK0wC,qBACPr4B,EAAK22B,QAAU,IAAIhvC,KAAK0wC,mBAE5B,CACAC,sBAAsBC,GACpB,MAAMv4B,EAAOrY,KAAK6sC,YACZmC,EAAUhvC,KAAKivC,aACrB,IAAI4B,GAAe,EACnB7wC,KAAKmwC,aACL,MAAMW,EAAaz4B,EAAKw2B,SACxBx2B,EAAKw2B,SAAW7C,GAAU3zB,EAAKm0B,OAAQn0B,GACnCA,EAAKuzB,QAAUoD,EAAQpD,QACzBiF,GAAe,EACfrD,GAAYn1B,GACZA,EAAKuzB,MAAQoD,EAAQpD,OAEvB5rC,KAAK+wC,gBAAgBH,IACjBC,GAAgBC,IAAez4B,EAAKw2B,WACtClC,GAAa3sC,KAAMqY,EAAKO,QAE5B,CACA2xB,YACE,MAAMH,EAASpqC,KAAKgG,MAAMokC,OACpB4G,EAAY5G,EAAO6G,iBAAiBjxC,KAAKiuC,OACzCnW,EAASsS,EAAO8G,gBAAgBlxC,KAAKivC,aAAc+B,GAAW,GACpEhxC,KAAKiQ,QAAUm6B,EAAO+G,eAAerZ,EAAQ93B,KAAK0xB,cAClD1xB,KAAK87B,SAAW97B,KAAKiQ,QAAQ2e,QAC7B5uB,KAAK+tC,gBAAkB,CAAC,CAC1B,CACA/R,MAAMvmB,EAAOgD,GACX,MAAOo0B,YAAax0B,EAAM61B,MAAOtsC,GAAQ5B,MACnC,OAAC2Y,EAAM,SAAEk2B,GAAYx2B,EACrB00B,EAAQp0B,EAAOE,KACrB,IAEIxO,EAAGm9B,EAAKzL,EAFRqV,EAAmB,IAAV37B,GAAegD,IAAU7W,EAAKkN,QAAgBuJ,EAAKK,QAC5DgmB,EAAOjpB,EAAQ,GAAK4C,EAAKO,QAAQnD,EAAQ,GAE7C,IAAsB,IAAlBzV,KAAK87B,SACPzjB,EAAKO,QAAUhX,EACfyW,EAAKK,SAAU,EACfqjB,EAASn6B,MACJ,CAEHm6B,EADE5uB,EAAQvL,EAAK6T,IACNzV,KAAKqxC,eAAeh5B,EAAMzW,EAAM6T,EAAOgD,GACvChL,EAAS7L,EAAK6T,IACdzV,KAAKsxC,gBAAgBj5B,EAAMzW,EAAM6T,EAAOgD,GAExCzY,KAAKuxC,mBAAmBl5B,EAAMzW,EAAM6T,EAAOgD,GAEtD,MAAM+4B,EAA6B,IAAqB,OAAfhK,EAAIuF,IAAoBrO,GAAQ8I,EAAIuF,GAASrO,EAAKqO,GAC3F,IAAK1iC,EAAI,EAAGA,EAAIoO,IAASpO,EACvBgO,EAAKO,QAAQvO,EAAIoL,GAAS+xB,EAAMzL,EAAO1xB,GACnC+mC,IACEI,MACFJ,GAAS,GAEX1S,EAAO8I,GAGXnvB,EAAKK,QAAU04B,CACjB,CACIvC,GACFlC,GAAa3sC,KAAM+7B,EAEvB,CACAwV,mBAAmBl5B,EAAMzW,EAAM6T,EAAOgD,GACpC,MAAM,OAACE,EAAM,OAAE6zB,GAAUn0B,EACnB00B,EAAQp0B,EAAOE,KACfm0B,EAAQR,EAAO3zB,KACflV,EAASgV,EAAO84B,YAChBC,EAAc/4B,IAAW6zB,EACzBzQ,EAAS,IAAI3uB,MAAMqL,GACzB,IAAIpO,EAAG6E,EAAMI,EACb,IAAKjF,EAAI,EAAG6E,EAAOuJ,EAAOpO,EAAI6E,IAAQ7E,EACpCiF,EAAQjF,EAAIoL,EACZsmB,EAAO1xB,GAAK,CACV,CAAC0iC,GAAQ2E,GAAe/4B,EAAOqjB,MAAMr4B,EAAO2L,GAAQA,GACpD,CAAC09B,GAAQR,EAAOxQ,MAAMp6B,EAAK0N,GAAQA,IAGvC,OAAOysB,CACT,CACAsV,eAAeh5B,EAAMzW,EAAM6T,EAAOgD,GAChC,MAAM,OAACU,EAAM,OAAEC,GAAUf,EACnB0jB,EAAS,IAAI3uB,MAAMqL,GACzB,IAAIpO,EAAG6E,EAAMI,EAAO4C,EACpB,IAAK7H,EAAI,EAAG6E,EAAOuJ,EAAOpO,EAAI6E,IAAQ7E,EACpCiF,EAAQjF,EAAIoL,EACZvD,EAAOtQ,EAAK0N,GACZysB,EAAO1xB,GAAK,CACVuG,EAAGuI,EAAO6iB,MAAM9pB,EAAK,GAAI5C,GACzBwB,EAAGsI,EAAO4iB,MAAM9pB,EAAK,GAAI5C,IAG7B,OAAOysB,CACT,CACAuV,gBAAgBj5B,EAAMzW,EAAM6T,EAAOgD,GACjC,MAAM,OAACU,EAAM,OAAEC,GAAUf,GACnB,SAACs5B,EAAW,IAAG,SAAEC,EAAW,KAAO5xC,KAAK87B,SACxCC,EAAS,IAAI3uB,MAAMqL,GACzB,IAAIpO,EAAG6E,EAAMI,EAAO4C,EACpB,IAAK7H,EAAI,EAAG6E,EAAOuJ,EAAOpO,EAAI6E,IAAQ7E,EACpCiF,EAAQjF,EAAIoL,EACZvD,EAAOtQ,EAAK0N,GACZysB,EAAO1xB,GAAK,CACVuG,EAAGuI,EAAO6iB,MAAMjrB,EAAiBmB,EAAMy/B,GAAWriC,GAClDwB,EAAGsI,EAAO4iB,MAAMjrB,EAAiBmB,EAAM0/B,GAAWtiC,IAGtD,OAAOysB,CACT,CACA8V,UAAUviC,GACR,OAAOtP,KAAK6sC,YAAYj0B,QAAQtJ,EAClC,CACAwiC,eAAexiC,GACb,OAAOtP,KAAK6sC,YAAYjrC,KAAK0N,EAC/B,CACAq8B,WAAW7c,EAAOiN,EAAQzN,GACxB,MAAMtoB,EAAQhG,KAAKgG,MACbqS,EAAOrY,KAAK6sC,YACZ3/B,EAAQ6uB,EAAOjN,EAAMjW,MAK3B,OAAO8yB,GAJO,CACZ98B,KAAM08B,GAAwBvlC,GAAO,GACrClF,OAAQi7B,EAAO+Q,QAAQhe,EAAMjW,OAEN3L,EAAOmL,EAAK/I,MAAO,CAACgf,QAC/C,CACAyjB,sBAAsB9+B,EAAO6b,EAAOiN,EAAQ6P,GAC1C,MAAMoG,EAAcjW,EAAOjN,EAAMjW,MACjC,IAAI3L,EAAwB,OAAhB8kC,EAAuBC,IAAMD,EACzC,MAAMlxC,EAAS8qC,GAAS7P,EAAO+Q,QAAQhe,EAAMjW,MACzC+yB,GAAS9qC,IACX8qC,EAAM9qC,OAASA,EACfoM,EAAQy+B,GAAWC,EAAOoG,EAAahyC,KAAK6sC,YAAYv9B,QAE1D2D,EAAMe,IAAM3B,KAAK2B,IAAIf,EAAMe,IAAK9G,GAChC+F,EAAMgB,IAAM5B,KAAK4B,IAAIhB,EAAMgB,IAAK/G,EAClC,CACAglC,UAAUpjB,EAAOqjB,GACf,MAAM95B,EAAOrY,KAAK6sC,YACZj0B,EAAUP,EAAKO,QACfw4B,EAAS/4B,EAAKK,SAAWoW,IAAUzW,EAAKM,OACxCzJ,EAAO0J,EAAQ9J,OACfsjC,EAAapyC,KAAKiwC,eAAenhB,GACjC8c,EAtPU,EAACuG,EAAU95B,EAAMrS,IAAUmsC,IAAa95B,EAAKg6B,QAAUh6B,EAAKw2B,UAC3E,CAAChgC,KAAM08B,GAAwBvlC,GAAO,GAAOlF,OAAQ,MAqPxCwxC,CAAYH,EAAU95B,EAAMrY,KAAKgG,OACzCiN,EAAQ,CAACe,IAAKrG,OAAO8E,kBAAmBwB,IAAKtG,OAAO4kC,oBACnDv+B,IAAKw+B,EAAUv+B,IAAKw+B,GA5U/B,SAAuB3jB,GACrB,MAAM,IAAC9a,EAAG,IAAEC,EAAG,WAAE6E,EAAU,WAAEC,GAAc+V,EAAM9V,gBACjD,MAAO,CACLhF,IAAK8E,EAAa9E,EAAMrG,OAAO4kC,kBAC/Bt+B,IAAK8E,EAAa9E,EAAMtG,OAAO8E,kBAEnC,CAsU2CuG,CAAco5B,GACrD,IAAI/nC,EAAG0xB,EACP,SAAS2W,IACP3W,EAASnjB,EAAQvO,GACjB,MAAM0hC,EAAahQ,EAAOqW,EAAWv5B,MACrC,OAAQnL,EAAequB,EAAOjN,EAAMjW,QAAU25B,EAAWzG,GAAc0G,EAAW1G,CACpF,CACA,IAAK1hC,EAAI,EAAGA,EAAI6E,IACVwjC,MAGJ1yC,KAAK+xC,sBAAsB9+B,EAAO6b,EAAOiN,EAAQ6P,IAC7CwF,MALkB/mC,GASxB,GAAI+mC,EACF,IAAK/mC,EAAI6E,EAAO,EAAG7E,GAAK,IAAKA,EAC3B,IAAIqoC,IAAJ,CAGA1yC,KAAK+xC,sBAAsB9+B,EAAO6b,EAAOiN,EAAQ6P,GACjD,KAFA,CAKJ,OAAO34B,CACT,CACA0/B,mBAAmB7jB,GACjB,MAAMiN,EAAS/7B,KAAK6sC,YAAYj0B,QAC1B9X,EAAS,GACf,IAAIuJ,EAAG6E,EAAMhC,EACb,IAAK7C,EAAI,EAAG6E,EAAO6sB,EAAOjtB,OAAQzE,EAAI6E,IAAQ7E,EAC5C6C,EAAQ6uB,EAAO1xB,GAAGykB,EAAMjW,MACpBnL,EAAeR,IACjBpM,EAAOwQ,KAAKpE,GAGhB,OAAOpM,CACT,CACA8xC,iBACE,OAAO,CACT,CACAC,iBAAiBvjC,GACf,MAAM+I,EAAOrY,KAAK6sC,YACZl0B,EAASN,EAAKM,OACd6zB,EAASn0B,EAAKm0B,OACdzQ,EAAS/7B,KAAK6xC,UAAUviC,GAC9B,MAAO,CACL9L,MAAOmV,EAAS,GAAKA,EAAOm6B,iBAAiB/W,EAAOpjB,EAAOE,OAAS,GACpE3L,MAAOs/B,EAAS,GAAKA,EAAOsG,iBAAiB/W,EAAOyQ,EAAO3zB,OAAS,GAExE,CACA0tB,QAAQjY,GACN,MAAMjW,EAAOrY,KAAK6sC,YAClB7sC,KAAKgpC,OAAO1a,GAAQ,WACpBjW,EAAK06B,MAxcT,SAAgB7lC,GACd,IAAI4M,EAAGiE,EAAG/L,EAAGsK,EASb,OARI7O,EAASP,IACX4M,EAAI5M,EAAMsmB,IACVzV,EAAI7Q,EAAMqmB,MACVvhB,EAAI9E,EAAMumB,OACVnX,EAAIpP,EAAMomB,MAEVxZ,EAAIiE,EAAI/L,EAAIsK,EAAIpP,EAEX,CACLsmB,IAAK1Z,EACLyZ,MAAOxV,EACP0V,OAAQzhB,EACRshB,KAAMhX,EACN9X,UAAoB,IAAV0I,EAEd,CAubiB8lC,CAAOjlC,EAAe/N,KAAKiQ,QAAQ0jB,KArdpD,SAAqBxa,EAAQC,EAAQkyB,GACnC,IAAwB,IAApBA,EACF,OAAO,EAET,MAAM16B,EAAIy6B,GAAUlyB,EAAQmyB,GACtBx6B,EAAIu6B,GAAUjyB,EAAQkyB,GAC5B,MAAO,CACL9X,IAAK1iB,EAAE4E,IACP6d,MAAO3iB,EAAE8E,IACT+d,OAAQ3iB,EAAE2E,MACV6d,KAAM1iB,EAAE6E,MAEZ,CAyc0Dw9B,CAAY56B,EAAKc,OAAQd,EAAKe,OAAQpZ,KAAK4yC,mBACnG,CACA5J,OAAO1a,GAAO,CACdqY,OACE,MAAM1Y,EAAMjuB,KAAK8tC,KACX9nC,EAAQhG,KAAKgG,MACbqS,EAAOrY,KAAK6sC,YACZpf,EAAWpV,EAAKzW,MAAQ,GACxBwxB,EAAOptB,EAAMktC,UACbnK,EAAS,GACTtzB,EAAQzV,KAAKquC,YAAc,EAC3B51B,EAAQzY,KAAKsuC,YAAe7gB,EAAS3e,OAAS2G,EAC9CwZ,EAA0BjvB,KAAKiQ,QAAQgf,wBAC7C,IAAI5kB,EAIJ,IAHIgO,EAAK22B,SACP32B,EAAK22B,QAAQrI,KAAK1Y,EAAKmF,EAAM3d,EAAOgD,GAEjCpO,EAAIoL,EAAOpL,EAAIoL,EAAQgD,IAASpO,EAAG,CACtC,MAAMq1B,EAAUjS,EAASpjB,GACrBq1B,EAAQ2S,SAGR3S,EAAQqJ,QAAU9Z,EACpB8Z,EAAOz3B,KAAKouB,GAEZA,EAAQiH,KAAK1Y,EAAKmF,GAEtB,CACA,IAAK/oB,EAAI,EAAGA,EAAI0+B,EAAOj6B,SAAUzE,EAC/B0+B,EAAO1+B,GAAGs8B,KAAK1Y,EAAKmF,EAExB,CACA4O,SAAS1yB,EAAOy5B,GACd,MAAMza,EAAOya,EAAS,SAAW,UACjC,YAAiB/d,IAAV1b,GAAuBtP,KAAK6sC,YAAYmC,QAC3ChvC,KAAKmzC,6BAA6B7kB,GAClCtuB,KAAKozC,0BAA0B9jC,GAAS,EAAGgf,EACjD,CACAoD,WAAWpiB,EAAOy5B,EAAQza,GACxB,MAAM0gB,EAAUhvC,KAAKivC,aACrB,IAAI3hB,EACJ,GAAIhe,GAAS,GAAKA,EAAQtP,KAAK6sC,YAAYjrC,KAAKkN,OAAQ,CACtD,MAAM4wB,EAAU1/B,KAAK6sC,YAAYjrC,KAAK0N,GACtCge,EAAUoS,EAAQ+O,WACf/O,EAAQ+O,SAxXjB,SAA2BpT,EAAQ/rB,EAAOowB,GACxC,OAAO/H,GAAc0D,EAAQ,CAC3B0N,QAAQ,EACRsK,UAAW/jC,EACXysB,YAAQ/Q,EACRsoB,SAAKtoB,EACL0U,UACApwB,QACAgf,KAAM,UACNlrB,KAAM,QAEV,CA6W4BmwC,CAAkBvzC,KAAK0xB,aAAcpiB,EAAOowB,IAClEpS,EAAQyO,OAAS/7B,KAAK6xC,UAAUviC,GAChCge,EAAQgmB,IAAMtE,EAAQptC,KAAK0N,GAC3Bge,EAAQhe,MAAQge,EAAQ+lB,UAAY/jC,CACtC,MACEge,EAAUttB,KAAKyuC,WACZzuC,KAAKyuC,SA1Yd,SAA8BpT,EAAQ/rB,GACpC,OAAOqoB,GAAc0D,EACnB,CACE0N,QAAQ,EACRiG,aAAShkB,EACT3b,aAAcC,EACdA,QACAgf,KAAM,UACNlrB,KAAM,WAGZ,CA+XyBowC,CAAqBxzC,KAAKgG,MAAM0rB,aAAc1xB,KAAKsP,QACtEge,EAAQ0hB,QAAUA,EAClB1hB,EAAQhe,MAAQge,EAAQje,aAAerP,KAAKsP,MAI9C,OAFAge,EAAQyb,SAAWA,EACnBzb,EAAQgB,KAAOA,EACRhB,CACT,CACA6lB,6BAA6B7kB,GAC3B,OAAOtuB,KAAKyzC,uBAAuBzzC,KAAK0wC,mBAAmB1jC,GAAIshB,EACjE,CACA8kB,0BAA0B9jC,EAAOgf,GAC/B,OAAOtuB,KAAKyzC,uBAAuBzzC,KAAK0zC,gBAAgB1mC,GAAIshB,EAAMhf,EACpE,CACAmkC,uBAAuBE,EAAarlB,EAAO,UAAWhf,GACpD,MAAMy5B,EAAkB,WAATza,EACTsC,EAAQ5wB,KAAK+tC,gBACbpL,EAAWgR,EAAc,IAAMrlB,EAC/Bqf,EAAS/c,EAAM+R,GACfiR,EAAU5zC,KAAKuuC,qBAAuB18B,EAAQvC,GACpD,GAAIq+B,EACF,OAAOD,GAAiBC,EAAQiG,GAElC,MAAMxJ,EAASpqC,KAAKgG,MAAMokC,OACpB4G,EAAY5G,EAAOyJ,wBAAwB7zC,KAAKiuC,MAAO0F,GACvD5b,EAAWgR,EAAS,CAAC,GAAG4K,SAAoB,QAASA,EAAa,IAAM,CAACA,EAAa,IACtF7b,EAASsS,EAAO8G,gBAAgBlxC,KAAKivC,aAAc+B,GACnDnoB,EAAQxb,OAAOwB,KAAKoe,GAASQ,SAASkmB,IAEtC7yC,EAASspC,EAAO0J,oBAAoBhc,EAAQjP,GADlC,IAAM7oB,KAAK0xB,WAAWpiB,EAAOy5B,IACqBhR,GAKlE,OAJIj3B,EAAO+pC,UACT/pC,EAAO+pC,QAAU+I,EACjBhjB,EAAM+R,GAAYt1B,OAAO0mC,OAAOrG,GAAiB5sC,EAAQ8yC,KAEpD9yC,CACT,CACAkzC,mBAAmB1kC,EAAO2kC,EAAYlL,GACpC,MAAM/iC,EAAQhG,KAAKgG,MACb4qB,EAAQ5wB,KAAK+tC,gBACbpL,EAAW,aAAasR,IACxBtG,EAAS/c,EAAM+R,GACrB,GAAIgL,EACF,OAAOA,EAET,IAAI19B,EACJ,IAAgC,IAA5BjK,EAAMiK,QAAQkd,UAAqB,CACrC,MAAMid,EAASpqC,KAAKgG,MAAMokC,OACpB4G,EAAY5G,EAAO8J,0BAA0Bl0C,KAAKiuC,MAAOgG,GACzDnc,EAASsS,EAAO8G,gBAAgBlxC,KAAKivC,aAAc+B,GACzD/gC,EAAUm6B,EAAO+G,eAAerZ,EAAQ93B,KAAK0xB,WAAWpiB,EAAOy5B,EAAQkL,GACzE,CACA,MAAMjK,EAAa,IAAIG,GAAWnkC,EAAOiK,GAAWA,EAAQ+5B,YAI5D,OAHI/5B,GAAWA,EAAQooB,aACrBzH,EAAM+R,GAAYt1B,OAAO0mC,OAAO/J,IAE3BA,CACT,CACAmK,iBAAiBlkC,GACf,GAAKA,EAAQ46B,QAGb,OAAO7qC,KAAKouC,iBAAmBpuC,KAAKouC,eAAiB/gC,OAAOuM,OAAO,CAAC,EAAG3J,GACzE,CACAmkC,eAAe9lB,EAAM+lB,GACnB,OAAQA,GAAiB5G,GAAmBnf,IAAStuB,KAAKgG,MAAMsuC,mBAClE,CACAC,kBAAkB9+B,EAAO6Y,GACvB,MAAMkmB,EAAYx0C,KAAKozC,0BAA0B39B,EAAO6Y,GAClDmmB,EAA0Bz0C,KAAKouC,eAC/BiG,EAAgBr0C,KAAKm0C,iBAAiBK,GACtCJ,EAAiBp0C,KAAKo0C,eAAe9lB,EAAM+lB,IAAmBA,IAAkBI,EAEtF,OADAz0C,KAAK00C,oBAAoBL,EAAe/lB,EAAMkmB,GACvC,CAACH,gBAAeD,iBACzB,CACAO,cAAcjV,EAASpwB,EAAOs6B,EAAYtb,GACpCmf,GAAmBnf,GACrBjhB,OAAOuM,OAAO8lB,EAASkK,GAEvB5pC,KAAKg0C,mBAAmB1kC,EAAOgf,GAAM0a,OAAOtJ,EAASkK,EAEzD,CACA8K,oBAAoBL,EAAe/lB,EAAMsc,GACnCyJ,IAAkB5G,GAAmBnf,IACvCtuB,KAAKg0C,wBAAmBhpB,EAAWsD,GAAM0a,OAAOqL,EAAezJ,EAEnE,CACAgK,UAAUlV,EAASpwB,EAAOgf,EAAMya,GAC9BrJ,EAAQqJ,OAASA,EACjB,MAAM94B,EAAUjQ,KAAKgiC,SAAS1yB,EAAOy5B,GACrC/oC,KAAKg0C,mBAAmB1kC,EAAOgf,EAAMya,GAAQC,OAAOtJ,EAAS,CAC3DzvB,SAAW84B,GAAU/oC,KAAKm0C,iBAAiBlkC,IAAaA,GAE5D,CACA4kC,iBAAiBnV,EAASrwB,EAAcC,GACtCtP,KAAK40C,UAAUlV,EAASpwB,EAAO,UAAU,EAC3C,CACAwlC,cAAcpV,EAASrwB,EAAcC,GACnCtP,KAAK40C,UAAUlV,EAASpwB,EAAO,UAAU,EAC3C,CACAylC,2BACE,MAAMrV,EAAU1/B,KAAK6sC,YAAYmC,QAC7BtP,GACF1/B,KAAK40C,UAAUlV,OAAS1U,EAAW,UAAU,EAEjD,CACAgqB,wBACE,MAAMtV,EAAU1/B,KAAK6sC,YAAYmC,QAC7BtP,GACF1/B,KAAK40C,UAAUlV,OAAS1U,EAAW,UAAU,EAEjD,CACA+lB,gBAAgBH,GACd,MAAMhvC,EAAO5B,KAAKkuC,MACZzgB,EAAWztB,KAAK6sC,YAAYjrC,KAClC,IAAK,MAAO6nC,EAAQwL,EAAMC,KAASl1C,KAAK0uC,UACtC1uC,KAAKypC,GAAQwL,EAAMC,GAErBl1C,KAAK0uC,UAAY,GACjB,MAAMyG,EAAU1nB,EAAS3e,OACnBsmC,EAAUxzC,EAAKkN,OACf2J,EAAQpG,KAAK2B,IAAIohC,EAASD,GAC5B18B,GACFzY,KAAKg8B,MAAM,EAAGvjB,GAEZ28B,EAAUD,EACZn1C,KAAKq1C,gBAAgBF,EAASC,EAAUD,EAASvE,GACxCwE,EAAUD,GACnBn1C,KAAKs1C,gBAAgBF,EAASD,EAAUC,EAE5C,CACAC,gBAAgB5/B,EAAOgD,EAAOm4B,GAAmB,GAC/C,MAAMv4B,EAAOrY,KAAK6sC,YACZjrC,EAAOyW,EAAKzW,KACZ8T,EAAMD,EAAQgD,EACpB,IAAIpO,EACJ,MAAMkrC,EAAQ7a,IAEZ,IADAA,EAAI5rB,QAAU2J,EACTpO,EAAIqwB,EAAI5rB,OAAS,EAAGzE,GAAKqL,EAAKrL,IACjCqwB,EAAIrwB,GAAKqwB,EAAIrwB,EAAIoO,EACnB,EAGF,IADA88B,EAAK3zC,GACAyI,EAAIoL,EAAOpL,EAAIqL,IAAOrL,EACzBzI,EAAKyI,GAAK,IAAIrK,KAAK0zC,gBAEjB1zC,KAAK87B,UACPyZ,EAAKl9B,EAAKO,SAEZ5Y,KAAKg8B,MAAMvmB,EAAOgD,GACdm4B,GACF5wC,KAAKw1C,eAAe5zC,EAAM6T,EAAOgD,EAAO,QAE5C,CACA+8B,eAAe9V,EAASjqB,EAAOgD,EAAO6V,GAAO,CAC7CgnB,gBAAgB7/B,EAAOgD,GACrB,MAAMJ,EAAOrY,KAAK6sC,YAClB,GAAI7sC,KAAK87B,SAAU,CACjB,MAAM2Z,EAAUp9B,EAAKO,QAAQ1B,OAAOzB,EAAOgD,GACvCJ,EAAKw2B,UACPrB,GAAYn1B,EAAMo9B,EAEtB,CACAp9B,EAAKzW,KAAKsV,OAAOzB,EAAOgD,EAC1B,CACAi9B,MAAMpnC,GACJ,GAAItO,KAAK87B,SACP97B,KAAK0uC,UAAUp9B,KAAKhD,OACf,CACL,MAAOm7B,EAAQwL,EAAMC,GAAQ5mC,EAC7BtO,KAAKypC,GAAQwL,EAAMC,EACrB,CACAl1C,KAAKgG,MAAM2vC,aAAarkC,KAAK,CAACtR,KAAKsP,SAAUhB,GAC/C,CACAsnC,cACE,MAAMn9B,EAAQo9B,UAAU/mC,OACxB9O,KAAK01C,MAAM,CAAC,kBAAmB11C,KAAKivC,aAAartC,KAAKkN,OAAS2J,EAAOA,GACxE,CACAq9B,aACE91C,KAAK01C,MAAM,CAAC,kBAAmB11C,KAAK6sC,YAAYjrC,KAAKkN,OAAS,EAAG,GACnE,CACAinC,eACE/1C,KAAK01C,MAAM,CAAC,kBAAmB,EAAG,GACpC,CACAM,cAAcvgC,EAAOgD,GACfA,GACFzY,KAAK01C,MAAM,CAAC,kBAAmBjgC,EAAOgD,IAExC,MAAMw9B,EAAWJ,UAAU/mC,OAAS,EAChCmnC,GACFj2C,KAAK01C,MAAM,CAAC,kBAAmBjgC,EAAOwgC,GAE1C,CACAC,iBACEl2C,KAAK01C,MAAM,CAAC,kBAAmB,EAAGG,UAAU/mC,QAC9C,EAiBF,SAASqnC,GAAqB99B,GAC5B,MAAMyW,EAAQzW,EAAKM,OACb7X,EAbR,SAA2BguB,EAAO1rB,GAChC,IAAK0rB,EAAMsnB,OAAOC,KAAM,CACtB,MAAMC,EAAexnB,EAAM4d,wBAAwBtpC,GACnD,IAAItC,EAAS,GACb,IAAK,IAAIuJ,EAAI,EAAG6E,EAAOonC,EAAaxnC,OAAQzE,EAAI6E,EAAM7E,IACpDvJ,EAASA,EAAOy1C,OAAOD,EAAajsC,GAAGuiC,WAAW+F,mBAAmB7jB,IAEvEA,EAAMsnB,OAAOC,KAAOj/B,GAAatW,EAAO01C,MAAK,CAAC51C,EAAGoR,IAAMpR,EAAIoR,IAC7D,CACA,OAAO8c,EAAMsnB,OAAOC,IACtB,CAGiBI,CAAkB3nB,EAAOzW,EAAKjV,MAC7C,IACIiH,EAAG6E,EAAMwnC,EAAMhY,EADf1qB,EAAM8a,EAAM6nB,QAEhB,MAAMC,EAAmB,KACV,QAATF,IAA4B,QAAVA,IAGlB7kC,EAAQ6sB,KACV1qB,EAAM3B,KAAK2B,IAAIA,EAAK3B,KAAKwB,IAAI6iC,EAAOhY,IAAS1qB,IAE/C0qB,EAAOgY,EAAI,EAEb,IAAKrsC,EAAI,EAAG6E,EAAOpO,EAAOgO,OAAQzE,EAAI6E,IAAQ7E,EAC5CqsC,EAAO5nB,EAAM7V,iBAAiBnY,EAAOuJ,IACrCusC,IAGF,IADAlY,OAAO1T,EACF3gB,EAAI,EAAG6E,EAAO4f,EAAM+nB,MAAM/nC,OAAQzE,EAAI6E,IAAQ7E,EACjDqsC,EAAO5nB,EAAMgoB,gBAAgBzsC,GAC7BusC,IAEF,OAAO5iC,CACT,CA0DA,SAAS+iC,GAAWC,EAAO9kC,EAAMs6B,EAAQniC,GAMvC,OALI8C,EAAQ6pC,GAtBd,SAAuBA,EAAO9kC,EAAMs6B,EAAQniC,GAC1C,MAAM4sC,EAAazK,EAAOxQ,MAAMgb,EAAM,GAAI3sC,GACpC6sC,EAAW1K,EAAOxQ,MAAMgb,EAAM,GAAI3sC,GAClC2J,EAAM3B,KAAK2B,IAAIijC,EAAYC,GAC3BjjC,EAAM5B,KAAK4B,IAAIgjC,EAAYC,GACjC,IAAIC,EAAWnjC,EACXojC,EAASnjC,EACT5B,KAAKwB,IAAIG,GAAO3B,KAAKwB,IAAII,KAC3BkjC,EAAWljC,EACXmjC,EAASpjC,GAEX9B,EAAKs6B,EAAO3zB,MAAQu+B,EACpBllC,EAAKmlC,QAAU,CACbF,WACAC,SACA3hC,MAAOwhC,EACPvhC,IAAKwhC,EACLljC,MACAC,MAEJ,CAGIqjC,CAAcN,EAAO9kC,EAAMs6B,EAAQniC,GAEnC6H,EAAKs6B,EAAO3zB,MAAQ2zB,EAAOxQ,MAAMgb,EAAO3sC,GAEnC6H,CACT,CACA,SAASqlC,GAAsBl/B,EAAMzW,EAAM6T,EAAOgD,GAChD,MAAME,EAASN,EAAKM,OACd6zB,EAASn0B,EAAKm0B,OACd7oC,EAASgV,EAAO84B,YAChBC,EAAc/4B,IAAW6zB,EACzBzQ,EAAS,GACf,IAAI1xB,EAAG6E,EAAMgD,EAAM8kC,EACnB,IAAK3sC,EAAIoL,EAAOvG,EAAOuG,EAAQgD,EAAOpO,EAAI6E,IAAQ7E,EAChD2sC,EAAQp1C,EAAKyI,GACb6H,EAAO,CAAC,EACRA,EAAKyG,EAAOE,MAAQ64B,GAAe/4B,EAAOqjB,MAAMr4B,EAAO0G,GAAIA,GAC3D0xB,EAAOzqB,KAAKylC,GAAWC,EAAO9kC,EAAMs6B,EAAQniC,IAE9C,OAAO0xB,CACT,CACA,SAASyb,GAAWC,GAClB,OAAOA,QAA8BzsB,IAApBysB,EAAON,eAA4CnsB,IAAlBysB,EAAOL,MAC3D,CA2BA,SAASM,GAAiB9N,EAAY35B,EAAS27B,EAAOt8B,GACpD,IAAIqoC,EAAO1nC,EAAQ2nC,cACnB,MAAMtO,EAAM,CAAC,EACb,IAAKqO,EAEH,YADA/N,EAAWgO,cAAgBtO,GAG7B,IAAa,IAATqO,EAEF,YADA/N,EAAWgO,cAAgB,CAACpkB,KAAK,EAAMD,OAAO,EAAME,QAAQ,EAAMH,MAAM,IAG1E,MAAM,MAAC7d,EAAK,IAAEC,EAAG,QAAE/G,EAAO,IAAE6kB,EAAG,OAAEC,GA/BnC,SAAqBmW,GACnB,IAAIj7B,EAAS8G,EAAOC,EAAK8d,EAAKC,EAiB9B,OAhBImW,EAAWiO,YACblpC,EAAUi7B,EAAW4G,KAAO5G,EAAWh5B,EACvC6E,EAAQ,OACRC,EAAM,UAEN/G,EAAUi7B,EAAW4G,KAAO5G,EAAW94B,EACvC2E,EAAQ,SACRC,EAAM,OAEJ/G,GACF6kB,EAAM,MACNC,EAAS,UAETD,EAAM,QACNC,EAAS,OAEJ,CAAChe,QAAOC,MAAK/G,UAAS6kB,MAAKC,SACpC,CAY6CqkB,CAAYlO,GAC1C,WAAT+N,GAAqB/L,IACvBhC,EAAWmO,oBAAqB,GAC3BnM,EAAMwB,MAAQ,KAAO99B,EACxBqoC,EAAOnkB,GACGoY,EAAMyB,SAAW,KAAO/9B,EAClCqoC,EAAOlkB,GAEP6V,EAAI0O,GAAUvkB,EAAQhe,EAAOC,EAAK/G,KAAY,EAC9CgpC,EAAOnkB,IAGX8V,EAAI0O,GAAUL,EAAMliC,EAAOC,EAAK/G,KAAY,EAC5Ci7B,EAAWgO,cAAgBtO,CAC7B,CACA,SAAS0O,GAAUL,EAAM/2C,EAAGoR,EAAGrD,GAS/B,IAAcspC,EAAM7oC,EAAI8oC,EAFtB,OANIvpC,GAQkBupC,EAPClmC,EACrB2lC,EAAOQ,GADPR,GAOUM,EAPEN,MAOIvoC,EAPExO,GAQCs3C,EAAKD,IAASC,EAAK9oC,EAAK6oC,EAPrBjmC,EAAGpR,IAEzB+2C,EAAOQ,GAASR,EAAM/2C,EAAGoR,GAEpB2lC,CACT,CAIA,SAASQ,GAASxnC,EAAG8E,EAAOC,GAC1B,MAAa,UAAN/E,EAAgB8E,EAAc,QAAN9E,EAAc+E,EAAM/E,CACrD,CACA,SAASynC,GAAiBxO,GAAY,cAACyO,GAAgBpvB,GACrD2gB,EAAWyO,cAAkC,SAAlBA,EACb,IAAVpvB,EAAc,IAAO,EACrBovB,CACN,CAlMAxK,GAAkB5gB,SAAW,CAAC,EAC9B4gB,GAAkBvgC,UAAUojC,mBAAqB,KACjD7C,GAAkBvgC,UAAUomC,gBAAkB,KAiM9C,MAAMhoC,WAAsBmiC,GAC1B0D,mBAAmBl5B,EAAMzW,EAAM6T,EAAOgD,GACpC,OAAO8+B,GAAsBl/B,EAAMzW,EAAM6T,EAAOgD,EAClD,CACA44B,eAAeh5B,EAAMzW,EAAM6T,EAAOgD,GAChC,OAAO8+B,GAAsBl/B,EAAMzW,EAAM6T,EAAOgD,EAClD,CACA64B,gBAAgBj5B,EAAMzW,EAAM6T,EAAOgD,GACjC,MAAM,OAACE,EAAM,OAAE6zB,GAAUn0B,GACnB,SAACs5B,EAAW,IAAG,SAAEC,EAAW,KAAO5xC,KAAK87B,SACxCwc,EAA2B,MAAhB3/B,EAAOE,KAAe84B,EAAWC,EAC5C2G,EAA2B,MAAhB/L,EAAO3zB,KAAe84B,EAAWC,EAC5C7V,EAAS,GACf,IAAI1xB,EAAG6E,EAAMgD,EAAMlB,EACnB,IAAK3G,EAAIoL,EAAOvG,EAAOuG,EAAQgD,EAAOpO,EAAI6E,IAAQ7E,EAChD2G,EAAMpP,EAAKyI,GACX6H,EAAO,CAAC,EACRA,EAAKyG,EAAOE,MAAQF,EAAOqjB,MAAMjrB,EAAiBC,EAAKsnC,GAAWjuC,GAClE0xB,EAAOzqB,KAAKylC,GAAWhmC,EAAiBC,EAAKunC,GAAWrmC,EAAMs6B,EAAQniC,IAExE,OAAO0xB,CACT,CACAgW,sBAAsB9+B,EAAO6b,EAAOiN,EAAQ6P,GAC1C4M,MAAMzG,sBAAsB9+B,EAAO6b,EAAOiN,EAAQ6P,GAClD,MAAM6L,EAAS1b,EAAOsb,QAClBI,GAAU3oB,IAAU9uB,KAAK6sC,YAAYL,SACvCv5B,EAAMe,IAAM3B,KAAK2B,IAAIf,EAAMe,IAAKyjC,EAAOzjC,KACvCf,EAAMgB,IAAM5B,KAAK4B,IAAIhB,EAAMgB,IAAKwjC,EAAOxjC,KAE3C,CACA2+B,iBACE,OAAO,CACT,CACAC,iBAAiBvjC,GACf,MAAM+I,EAAOrY,KAAK6sC,aACZ,OAACl0B,EAAM,OAAE6zB,GAAUn0B,EACnB0jB,EAAS/7B,KAAK6xC,UAAUviC,GACxBmoC,EAAS1b,EAAOsb,QAChBnqC,EAAQsqC,GAAWC,GACrB,IAAMA,EAAOhiC,MAAQ,KAAOgiC,EAAO/hC,IAAM,IACzC,GAAK82B,EAAOsG,iBAAiB/W,EAAOyQ,EAAO3zB,OAC/C,MAAO,CACLrV,MAAO,GAAKmV,EAAOm6B,iBAAiB/W,EAAOpjB,EAAOE,OAClD3L,QAEJ,CACAyhC,aACE3uC,KAAKuuC,qBAAsB,EAC3BiK,MAAM7J,aACO3uC,KAAK6sC,YACbjB,MAAQ5rC,KAAKivC,aAAarD,KACjC,CACA5C,OAAO1a,GACL,MAAMjW,EAAOrY,KAAK6sC,YAClB7sC,KAAKw1C,eAAen9B,EAAKzW,KAAM,EAAGyW,EAAKzW,KAAKkN,OAAQwf,EACtD,CACAknB,eAAeiD,EAAMhjC,EAAOgD,EAAO6V,GACjC,MAAM/mB,EAAiB,UAAT+mB,GACR,MAAChf,EAAOu9B,aAAa,OAACL,IAAWxsC,KACjCwwC,EAAOhE,EAAOkM,eACdb,EAAarL,EAAOmM,eACpBC,EAAQ54C,KAAK64C,aACb,cAACxE,EAAa,eAAED,GAAkBp0C,KAAKu0C,kBAAkB9+B,EAAO6Y,GACtE,IAAK,IAAIjkB,EAAIoL,EAAOpL,EAAIoL,EAAQgD,EAAOpO,IAAK,CAC1C,MAAM0xB,EAAS/7B,KAAK6xC,UAAUxnC,GACxByuC,EAAUvxC,GAAS0F,EAAc8uB,EAAOyQ,EAAO3zB,OAAS,CAAC23B,OAAMuI,KAAMvI,GAAQxwC,KAAKg5C,yBAAyB3uC,GAC3G4uC,EAAUj5C,KAAKk5C,yBAAyB7uC,EAAGuuC,GAC3ChN,GAAS7P,EAAO+Q,SAAW,CAAC,GAAGN,EAAO3zB,MACtC+wB,EAAa,CACjBiO,aACArH,KAAMsI,EAAQtI,KACduH,oBAAqBnM,GAAS4L,GAAWzb,EAAOsb,UAAa/nC,IAAUs8B,EAAMwB,MAAQ99B,IAAUs8B,EAAMyB,QACrGz8B,EAAGinC,EAAaiB,EAAQC,KAAOE,EAAQE,OACvCroC,EAAG+mC,EAAaoB,EAAQE,OAASL,EAAQC,KACzC90C,OAAQ4zC,EAAaoB,EAAQhnC,KAAOI,KAAKwB,IAAIilC,EAAQ7mC,MACrDlO,MAAO8zC,EAAaxlC,KAAKwB,IAAIilC,EAAQ7mC,MAAQgnC,EAAQhnC,MAEnDmiC,IACFxK,EAAW35B,QAAUokC,GAAiBr0C,KAAKozC,0BAA0B/oC,EAAGouC,EAAKpuC,GAAG0+B,OAAS,SAAWza,IAEtG,MAAMre,EAAU25B,EAAW35B,SAAWwoC,EAAKpuC,GAAG4F,QAC9CynC,GAAiB9N,EAAY35B,EAAS27B,EAAOt8B,GAC7C8oC,GAAiBxO,EAAY35B,EAAS2oC,EAAM3vB,OAC5CjpB,KAAK20C,cAAc8D,EAAKpuC,GAAIA,EAAGu/B,EAAYtb,EAC7C,CACF,CACA8qB,WAAW1iC,EAAM28B,GACf,MAAM,OAAC16B,GAAU3Y,KAAK6sC,YAChBpB,EAAW9yB,EAAO+zB,wBAAwB1sC,KAAKiuC,OAClDtT,QAAOtiB,GAAQA,EAAKu0B,WAAW38B,QAAQopC,UACpCpN,EAAUtzB,EAAO1I,QAAQg8B,QACzBE,EAAS,GACTmN,EAAYjhC,IAChB,MAAM0jB,EAAS1jB,EAAKu0B,WAAWiF,UAAUwB,GACnCpnB,EAAM8P,GAAUA,EAAO1jB,EAAKm0B,OAAO3zB,MACzC,GAAI5L,EAAcgf,IAAQtY,MAAMsY,GAC9B,OAAO,CACT,EAEF,IAAK,MAAM5T,KAAQozB,EACjB,SAAkBzgB,IAAdqoB,IAA2BiG,EAASjhC,QAGxB,IAAZ4zB,IAAqD,IAAhCE,EAAOp8B,QAAQsI,EAAKuzB,aAClC5gB,IAAZihB,QAAwCjhB,IAAf3S,EAAKuzB,QAC3BO,EAAO76B,KAAK+G,EAAKuzB,OAEfvzB,EAAK/I,QAAUoH,GACjB,MAMJ,OAHKy1B,EAAOr9B,QACVq9B,EAAO76B,UAAK0Z,GAEPmhB,CACT,CACAoN,eAAejqC,GACb,OAAOtP,KAAKo5C,gBAAWpuB,EAAW1b,GAAOR,MAC3C,CACA0qC,eAAenqC,EAAcigB,EAAM+jB,GACjC,MAAMlH,EAASnsC,KAAKo5C,WAAW/pC,EAAcgkC,GACvC/jC,OAAkB0b,IAATsE,EACX6c,EAAOp8B,QAAQuf,IACd,EACL,OAAmB,IAAXhgB,EACJ68B,EAAOr9B,OAAS,EAChBQ,CACN,CACAupC,YACE,MAAMpkB,EAAOz0B,KAAKiQ,QACZoI,EAAOrY,KAAK6sC,YACZl0B,EAASN,EAAKM,OACd8gC,EAAS,GACf,IAAIpvC,EAAG6E,EACP,IAAK7E,EAAI,EAAG6E,EAAOmJ,EAAKzW,KAAKkN,OAAQzE,EAAI6E,IAAQ7E,EAC/CovC,EAAOnoC,KAAKqH,EAAOM,iBAAiBjZ,KAAK6xC,UAAUxnC,GAAGsO,EAAOE,MAAOxO,IAEtE,MAAMqvC,EAAejlB,EAAKilB,aAE1B,MAAO,CACL1lC,IAFU0lC,GAAgBvD,GAAqB99B,GAG/CohC,SACAhkC,MAAOkD,EAAOghC,YACdjkC,IAAKiD,EAAOihC,UACZC,WAAY75C,KAAKu5C,iBACjBzqB,MAAOnW,EACP0gC,QAAS5kB,EAAK4kB,QACdpwB,MAAOywB,EAAe,EAAIjlB,EAAKqlB,mBAAqBrlB,EAAKslB,cAE7D,CACAf,yBAAyB1pC,GACvB,MAAOu9B,aAAa,OAACL,EAAM,SAAEqC,GAAW5+B,SAAUugC,KAAMwJ,EAAS,aAAEC,IAAiBj6C,KAC9Ek6C,EAAaF,GAAa,EAC1Bje,EAAS/7B,KAAK6xC,UAAUviC,GACxBmoC,EAAS1b,EAAOsb,QAChB8C,EAAW3C,GAAWC,GAC5B,IAGIsB,EAAM9mC,EAHN/E,EAAQ6uB,EAAOyQ,EAAO3zB,MACtBpD,EAAQ,EACR3G,EAAS+/B,EAAW7uC,KAAK2rC,WAAWa,EAAQzQ,EAAQ8S,GAAY3hC,EAEhE4B,IAAW5B,IACbuI,EAAQ3G,EAAS5B,EACjB4B,EAAS5B,GAEPitC,IACFjtC,EAAQuqC,EAAON,SACfroC,EAAS2oC,EAAOL,OAASK,EAAON,SAClB,IAAVjqC,GAAe6F,EAAK7F,KAAW6F,EAAK0kC,EAAOL,UAC7C3hC,EAAQ,GAEVA,GAASvI,GAEX,MAAM+pC,EAAchqC,EAAc+sC,IAAeG,EAAuB1kC,EAAZukC,EAC5D,IAAIxJ,EAAOhE,EAAOvzB,iBAAiBg+B,GAOnC,GALE8B,EADE/4C,KAAKgG,MAAMo0C,kBAAkB9qC,GACxBk9B,EAAOvzB,iBAAiBxD,EAAQ3G,GAEhC0hC,EAETv+B,EAAO8mC,EAAOvI,EACVn+B,KAAKwB,IAAI5B,GAAQgoC,EAAc,CACjChoC,EA7PN,SAAiBA,EAAMu6B,EAAQ0N,GAC7B,OAAa,IAATjoC,EACKc,EAAKd,IAENu6B,EAAOmM,eAAiB,GAAK,IAAMnM,EAAOx4B,KAAOkmC,EAAa,GAAK,EAC7E,CAwPaG,CAAQpoC,EAAMu6B,EAAQ0N,GAAcD,EACvC/sC,IAAUgtC,IACZ1J,GAAQv+B,EAAO,GAEjB,MAAMqoC,EAAa9N,EAAO+N,mBAAmB,GACvCC,EAAWhO,EAAO+N,mBAAmB,GACrCvmC,EAAM3B,KAAK2B,IAAIsmC,EAAYE,GAC3BvmC,EAAM5B,KAAK4B,IAAIqmC,EAAYE,GACjChK,EAAOn+B,KAAK4B,IAAI5B,KAAK2B,IAAIw8B,EAAMv8B,GAAMD,GACrC+kC,EAAOvI,EAAOv+B,CAChB,CACA,GAAIu+B,IAAShE,EAAOvzB,iBAAiBihC,GAAa,CAChD,MAAMO,EAAW1nC,EAAKd,GAAQu6B,EAAOkO,qBAAqBR,GAAc,EACxE1J,GAAQiK,EACRxoC,GAAQwoC,CACV,CACA,MAAO,CACLxoC,OACAu+B,OACAuI,OACAI,OAAQJ,EAAO9mC,EAAO,EAE1B,CACAinC,yBAAyB5pC,EAAOspC,GAC9B,MAAM9pB,EAAQ8pB,EAAM9pB,MACd7e,EAAUjQ,KAAKiQ,QACfqpC,EAAWrpC,EAAQqpC,SACnBqB,EAAkB5sC,EAAekC,EAAQ0qC,gBAAiBC,KAChE,IAAIzB,EAAQlnC,EACZ,GAAI2mC,EAAMS,QAAS,CACjB,MAAMQ,EAAaP,EAAWt5C,KAAKu5C,eAAejqC,GAASspC,EAAMiB,WAC3D5mC,EAAiC,SAAzBhD,EAAQypC,aA/V5B,SAAmCpqC,EAAOspC,EAAO3oC,EAAS4pC,GACxD,MAAMJ,EAASb,EAAMa,OACf/C,EAAO+C,EAAOnqC,GACpB,IAAIovB,EAAOpvB,EAAQ,EAAImqC,EAAOnqC,EAAQ,GAAK,KACvCotB,EAAOptB,EAAQmqC,EAAO3qC,OAAS,EAAI2qC,EAAOnqC,EAAQ,GAAK,KAC3D,MAAMurC,EAAU5qC,EAAQ6pC,mBACX,OAATpb,IACFA,EAAOgY,GAAiB,OAATha,EAAgBkc,EAAMljC,IAAMkjC,EAAMnjC,MAAQinB,EAAOga,IAErD,OAATha,IACFA,EAAOga,EAAOA,EAAOhY,GAEvB,MAAMjpB,EAAQihC,GAAQA,EAAOrkC,KAAK2B,IAAI0qB,EAAMhC,IAAS,EAAIme,EAEzD,MAAO,CACLC,MAFWzoC,KAAKwB,IAAI6oB,EAAOgC,GAAQ,EAAImc,EAEzBhB,EACd5wB,MAAOhZ,EAAQ8pC,cACftkC,QAEJ,CA6UUslC,CAA0BzrC,EAAOspC,EAAO3oC,EAAS4pC,GAhX3D,SAAkCvqC,EAAOspC,EAAO3oC,EAAS4pC,GACvD,MAAMmB,EAAY/qC,EAAQypC,aAC1B,IAAIznC,EAAMgX,EAQV,OAPIhc,EAAc+tC,IAChB/oC,EAAO2mC,EAAM5kC,IAAM/D,EAAQ6pC,mBAC3B7wB,EAAQhZ,EAAQ8pC,gBAEhB9nC,EAAO+oC,EAAYnB,EACnB5wB,EAAQ,GAEH,CACL6xB,MAAO7oC,EAAO4nC,EACd5wB,QACAxT,MAAOmjC,EAAMa,OAAOnqC,GAAU2C,EAAO,EAEzC,CAkWUgpC,CAAyB3rC,EAAOspC,EAAO3oC,EAAS4pC,GAC9CqB,EAAal7C,KAAKw5C,eAAex5C,KAAKsP,MAAOtP,KAAK6sC,YAAYjB,MAAO0N,EAAWhqC,OAAQ0b,GAC9FmuB,EAASlmC,EAAMwC,MAASxC,EAAM6nC,MAAQI,EAAejoC,EAAM6nC,MAAQ,EACnE7oC,EAAOI,KAAK2B,IAAI2mC,EAAiB1nC,EAAM6nC,MAAQ7nC,EAAMgW,MACvD,MACEkwB,EAASrqB,EAAM7V,iBAAiBjZ,KAAK6xC,UAAUviC,GAAOwf,EAAMjW,MAAOvJ,GACnE2C,EAAOI,KAAK2B,IAAI2mC,EAAiB/B,EAAM5kC,IAAM4kC,EAAM3vB,OAErD,MAAO,CACLunB,KAAM2I,EAASlnC,EAAO,EACtB8mC,KAAMI,EAASlnC,EAAO,EACtBknC,SACAlnC,OAEJ,CACA00B,OACE,MAAMtuB,EAAOrY,KAAK6sC,YACZL,EAASn0B,EAAKm0B,OACd2O,EAAQ9iC,EAAKzW,KACbsN,EAAOisC,EAAMrsC,OACnB,IAAIzE,EAAI,EACR,KAAOA,EAAI6E,IAAQ7E,EACsB,OAAnCrK,KAAK6xC,UAAUxnC,GAAGmiC,EAAO3zB,OAC3BsiC,EAAM9wC,GAAGs8B,KAAK3mC,KAAK8tC,KAGzB,EAEFpiC,GAAcsB,GAAK,MACnBtB,GAAcuhB,SAAW,CACvByjB,oBAAoB,EACpBgD,gBAAiB,MACjBoG,mBAAoB,GACpBC,cAAe,GACfV,SAAS,EACTrP,WAAY,CACVH,QAAS,CACPzmC,KAAM,SACNwmC,WAAY,CAAC,IAAK,IAAK,OAAQ,QAAS,aAI9Cl+B,GAAcmhB,UAAY,CACxBkC,OAAQ,CACNqsB,QAAS,CACPh4C,KAAM,WACNi4C,QAAQ,EACRC,KAAM,CACJD,QAAQ,IAGZE,QAAS,CACPn4C,KAAM,SACNo4C,aAAa,KAKnB,MAAM7vC,WAAyBkiC,GAC7Bc,aACE3uC,KAAKuuC,qBAAsB,EAC3BiK,MAAM7J,YACR,CACA4C,mBAAmBl5B,EAAMzW,EAAM6T,EAAOgD,GACpC,MAAMsjB,EAASyc,MAAMjH,mBAAmBl5B,EAAMzW,EAAM6T,EAAOgD,GAC3D,IAAK,IAAIpO,EAAI,EAAGA,EAAI0xB,EAAOjtB,OAAQzE,IACjC0xB,EAAO1xB,GAAGgtC,QAAUr3C,KAAKozC,0BAA0B/oC,EAAIoL,GAAO2c,OAEhE,OAAO2J,CACT,CACAsV,eAAeh5B,EAAMzW,EAAM6T,EAAOgD,GAChC,MAAMsjB,EAASyc,MAAMnH,eAAeh5B,EAAMzW,EAAM6T,EAAOgD,GACvD,IAAK,IAAIpO,EAAI,EAAGA,EAAI0xB,EAAOjtB,OAAQzE,IAAK,CACtC,MAAM6H,EAAOtQ,EAAK6T,EAAQpL,GAC1B0xB,EAAO1xB,GAAGgtC,QAAUtpC,EAAemE,EAAK,GAAIlS,KAAKozC,0BAA0B/oC,EAAIoL,GAAO2c,OACxF,CACA,OAAO2J,CACT,CACAuV,gBAAgBj5B,EAAMzW,EAAM6T,EAAOgD,GACjC,MAAMsjB,EAASyc,MAAMlH,gBAAgBj5B,EAAMzW,EAAM6T,EAAOgD,GACxD,IAAK,IAAIpO,EAAI,EAAGA,EAAI0xB,EAAOjtB,OAAQzE,IAAK,CACtC,MAAM6H,EAAOtQ,EAAK6T,EAAQpL,GAC1B0xB,EAAO1xB,GAAGgtC,QAAUtpC,EAAemE,GAAQA,EAAK6L,IAAM7L,EAAK6L,EAAG/d,KAAKozC,0BAA0B/oC,EAAIoL,GAAO2c,OAC1G,CACA,OAAO2J,CACT,CACA6W,iBACE,MAAMhxC,EAAO5B,KAAK6sC,YAAYjrC,KAC9B,IAAIqS,EAAM,EACV,IAAK,IAAI5J,EAAIzI,EAAKkN,OAAS,EAAGzE,GAAK,IAAKA,EACtC4J,EAAM5B,KAAK4B,IAAIA,EAAKrS,EAAKyI,GAAG4H,KAAKjS,KAAKozC,0BAA0B/oC,IAAM,GAExE,OAAO4J,EAAM,GAAKA,CACpB,CACA4+B,iBAAiBvjC,GACf,MAAM+I,EAAOrY,KAAK6sC,aACZ,OAAC1zB,EAAM,OAAEC,GAAUf,EACnB0jB,EAAS/7B,KAAK6xC,UAAUviC,GACxBsB,EAAIuI,EAAO25B,iBAAiB/W,EAAOnrB,GACnCE,EAAIsI,EAAO05B,iBAAiB/W,EAAOjrB,GACnCiN,EAAIge,EAAOsb,QACjB,MAAO,CACL7zC,MAAO6U,EAAK7U,MACZ0J,MAAO,IAAM0D,EAAI,KAAOE,GAAKiN,EAAI,KAAOA,EAAI,IAAM,IAEtD,CACAirB,OAAO1a,GACL,MAAMhW,EAAStY,KAAK6sC,YAAYjrC,KAChC5B,KAAKw1C,eAAel9B,EAAQ,EAAGA,EAAOxJ,OAAQwf,EAChD,CACAknB,eAAel9B,EAAQ7C,EAAOgD,EAAO6V,GACnC,MAAM/mB,EAAiB,UAAT+mB,GACR,OAAC3V,EAAM,OAAE6zB,GAAUxsC,KAAK6sC,aACxB,cAACwH,EAAa,eAAED,GAAkBp0C,KAAKu0C,kBAAkB9+B,EAAO6Y,GAChEye,EAAQp0B,EAAOE,KACfm0B,EAAQR,EAAO3zB,KACrB,IAAK,IAAIxO,EAAIoL,EAAOpL,EAAIoL,EAAQgD,EAAOpO,IAAK,CAC1C,MAAM8oB,EAAQ7a,EAAOjO,GACf0xB,GAAUx0B,GAASvH,KAAK6xC,UAAUxnC,GAClCu/B,EAAa,CAAC,EACdtL,EAASsL,EAAWmD,GAASxlC,EAAQoR,EAAO4hC,mBAAmB,IAAO5hC,EAAOM,iBAAiB8iB,EAAOgR,IACrGxO,EAASqL,EAAWoD,GAASzlC,EAAQilC,EAAOkM,eAAiBlM,EAAOvzB,iBAAiB8iB,EAAOiR,IAClGpD,EAAWzN,KAAOxoB,MAAM2qB,IAAW3qB,MAAM4qB,GACrC6V,IACFxK,EAAW35B,QAAUokC,GAAiBr0C,KAAKozC,0BAA0B/oC,EAAG8oB,EAAM4V,OAAS,SAAWza,GAC9F/mB,IACFqiC,EAAW35B,QAAQmiB,OAAS,IAGhCpyB,KAAK20C,cAAcxhB,EAAO9oB,EAAGu/B,EAAYtb,EAC3C,CACF,CACA8kB,0BAA0B9jC,EAAOgf,GAC/B,MAAMyN,EAAS/7B,KAAK6xC,UAAUviC,GAC9B,IAAIxO,EAAS03C,MAAMpF,0BAA0B9jC,EAAOgf,GAChDxtB,EAAO+pC,UACT/pC,EAASuM,OAAOuM,OAAO,CAAC,EAAG9Y,EAAQ,CAAC+pC,SAAS,KAE/C,MAAMzY,EAAStxB,EAAOsxB,OAKtB,MAJa,WAAT9D,IACFxtB,EAAOsxB,OAAS,GAElBtxB,EAAOsxB,QAAUrkB,EAAeguB,GAAUA,EAAOsb,QAASjlB,GACnDtxB,CACT,EAEF6K,GAAiBqB,GAAK,SACtBrB,GAAiBshB,SAAW,CAC1ByjB,oBAAoB,EACpBgD,gBAAiB,QACjB1J,WAAY,CACVH,QAAS,CACPzmC,KAAM,SACNwmC,WAAY,CAAC,IAAK,IAAK,cAAe,aAI5Cj+B,GAAiBkhB,UAAY,CAC3BkC,OAAQ,CACNne,EAAG,CACDxN,KAAM,UAER0N,EAAG,CACD1N,KAAM,WAGVS,QAAS,CACP43C,QAAS,CACPxV,UAAW,CACT3lC,MAAK,IACI,OAgCjB,MAAMsL,WAA2BiiC,GAC/B9jB,YAAY/jB,EAAOqJ,GACjBmpC,MAAMxyC,EAAOqJ,GACbrP,KAAKuuC,qBAAsB,EAC3BvuC,KAAK07C,iBAAc1wB,EACnBhrB,KAAK27C,iBAAc3wB,EACnBhrB,KAAKwgC,aAAUxV,EACfhrB,KAAKygC,aAAUzV,CACjB,CACA4jB,aAAc,CACd5S,MAAMvmB,EAAOgD,GACX,MAAM7W,EAAO5B,KAAKivC,aAAartC,KACzByW,EAAOrY,KAAK6sC,YAClB,IAAsB,IAAlB7sC,KAAK87B,SACPzjB,EAAKO,QAAUhX,MACV,CACL,IAKIyI,EAAG6E,EALH0sC,EAAUvxC,IAAOzI,EAAKyI,GAC1B,GAAIoD,EAAS7L,EAAK6T,IAAS,CACzB,MAAM,IAAC5T,EAAM,SAAW7B,KAAK87B,SAC7B8f,EAAUvxC,IAAO0G,EAAiBnP,EAAKyI,GAAIxI,EAC7C,CAEA,IAAKwI,EAAIoL,EAAOvG,EAAOuG,EAAQgD,EAAOpO,EAAI6E,IAAQ7E,EAChDgO,EAAKO,QAAQvO,GAAKuxC,EAAOvxC,EAE7B,CACF,CACAwxC,eACE,OAAO3nC,EAAUlU,KAAKiQ,QAAQkiB,SAAW,GAC3C,CACA2pB,oBACE,OAAO5nC,EAAUlU,KAAKiQ,QAAQ8rC,cAChC,CACAC,sBACE,IAAIhoC,EAAM1B,EACN2B,GAAO3B,EACX,IAAK,IAAIjI,EAAI,EAAGA,EAAIrK,KAAKgG,MAAMpE,KAAKgC,SAASkL,SAAUzE,EACrD,GAAIrK,KAAKgG,MAAMi2C,iBAAiB5xC,GAAI,CAClC,MAAMuiC,EAAa5sC,KAAKgG,MAAM+pC,eAAe1lC,GAAGuiC,WAC1Cza,EAAWya,EAAWiP,eACtBE,EAAgBnP,EAAWkP,oBACjC9nC,EAAM3B,KAAK2B,IAAIA,EAAKme,GACpBle,EAAM5B,KAAK4B,IAAIA,EAAKke,EAAW4pB,EACjC,CAEF,MAAO,CACL5pB,SAAUne,EACV+nC,cAAe9nC,EAAMD,EAEzB,CACAg1B,OAAO1a,GACL,MAAMtoB,EAAQhG,KAAKgG,OACb,UAACktC,GAAaltC,EACdqS,EAAOrY,KAAK6sC,YACZqP,EAAO7jC,EAAKzW,KACZu6C,EAAUn8C,KAAKo8C,oBAAsBp8C,KAAKq8C,aAAaH,GAAQl8C,KAAKiQ,QAAQksC,QAC5EG,EAAUjqC,KAAK4B,KAAK5B,KAAK2B,IAAIk/B,EAAUnvC,MAAOmvC,EAAUjvC,QAAUk4C,GAAW,EAAG,GAChFI,EAASlqC,KAAK2B,KDpvDK/F,ECovDiCquC,EDnvD3C,iBADGpvC,ECovDmBlN,KAAKiQ,QAAQssC,SDnvDvBrvC,EAAMgB,SAAS,KAC1CC,WAAWjB,GAAS,IAClBA,EAAQe,GCivD0D,GDpvDnD,IAACf,EAAOe,ECqvDzB,MAAMuuC,EAAcx8C,KAAKy8C,eAAez8C,KAAKsP,QACvC,cAACysC,EAAa,SAAE5pB,GAAYnyB,KAAKg8C,uBACjC,OAACU,EAAM,OAAEC,EAAM,QAAEnc,EAAO,QAAEC,GArFpC,SAA2BtO,EAAU4pB,EAAeQ,GAClD,IAAIG,EAAS,EACTC,EAAS,EACTnc,EAAU,EACVC,EAAU,EACd,GAAIsb,EAAgBzpC,EAAK,CACvB,MAAMsqC,EAAazqB,EACb0qB,EAAWD,EAAab,EACxBe,EAASzqC,KAAK4I,IAAI2hC,GAClBG,EAAS1qC,KAAK2H,IAAI4iC,GAClBI,EAAO3qC,KAAK4I,IAAI4hC,GAChBI,EAAO5qC,KAAK2H,IAAI6iC,GAChBK,EAAU,CAACloC,EAAOpU,EAAGoR,IAAMwD,EAAcR,EAAO4nC,EAAYC,GAAU,GAAQ,EAAIxqC,KAAK4B,IAAIrT,EAAGA,EAAI27C,EAAQvqC,EAAGA,EAAIuqC,GACjHY,EAAU,CAACnoC,EAAOpU,EAAGoR,IAAMwD,EAAcR,EAAO4nC,EAAYC,GAAU,IAAS,EAAIxqC,KAAK2B,IAAIpT,EAAGA,EAAI27C,EAAQvqC,EAAGA,EAAIuqC,GAClHa,EAAOF,EAAQ,EAAGJ,EAAQE,GAC1BK,EAAOH,EAAQvqC,EAASoqC,EAAQE,GAChCK,EAAOH,EAAQ/qC,EAAI0qC,EAAQE,GAC3BO,EAAOJ,EAAQ/qC,EAAKO,EAASoqC,EAAQE,GAC3CP,GAAUU,EAAOE,GAAQ,EACzBX,GAAUU,EAAOE,GAAQ,EACzB/c,IAAY4c,EAAOE,GAAQ,EAC3B7c,IAAY4c,EAAOE,GAAQ,CAC7B,CACA,MAAO,CAACb,SAAQC,SAAQnc,UAASC,UACnC,CA6D+C+c,CAAkBrrB,EAAU4pB,EAAeQ,GAChFv4C,GAAYkvC,EAAUnvC,MAAQo4C,GAAWO,EACzCx4C,GAAagvC,EAAUjvC,OAASk4C,GAAWQ,EAC3Cc,EAAYprC,KAAK4B,IAAI5B,KAAK2B,IAAIhQ,EAAUE,GAAa,EAAG,GACxDy3C,EAAc3tC,EAAYhO,KAAKiQ,QAAQmiB,OAAQqrB,GAE/CC,GAAgB/B,EADFtpC,KAAK4B,IAAI0nC,EAAcY,EAAQ,IACAv8C,KAAK29C,gCACxD39C,KAAKwgC,QAAUA,EAAUmb,EACzB37C,KAAKygC,QAAUA,EAAUkb,EACzBtjC,EAAKulC,MAAQ59C,KAAK69C,iBAClB79C,KAAK27C,YAAcA,EAAc+B,EAAe19C,KAAK89C,qBAAqB99C,KAAKsP,OAC/EtP,KAAK07C,YAAcrpC,KAAK4B,IAAIjU,KAAK27C,YAAc+B,EAAelB,EAAa,GAC3Ex8C,KAAKw1C,eAAe0G,EAAM,EAAGA,EAAKptC,OAAQwf,EAC5C,CACAyvB,eAAe1zC,EAAG9C,GAChB,MAAMktB,EAAOz0B,KAAKiQ,QACZoI,EAAOrY,KAAK6sC,YACZkP,EAAgB/7C,KAAK87C,oBAC3B,OAAKv0C,GAASktB,EAAKtH,UAAU6wB,gBAAmBh+C,KAAKgG,MAAMo0C,kBAAkB/vC,IAA0B,OAApBgO,EAAKO,QAAQvO,IAAegO,EAAKzW,KAAKyI,GAAGgoC,OACnH,EAEFryC,KAAKi+C,uBAAuB5lC,EAAKO,QAAQvO,GAAK0xC,EAAgBzpC,EACvE,CACAkjC,eAAe0G,EAAMzmC,EAAOgD,EAAO6V,GACjC,MAAM/mB,EAAiB,UAAT+mB,EACRtoB,EAAQhG,KAAKgG,MACbktC,EAAYltC,EAAMktC,UAElBgL,EADOl4C,EAAMiK,QACQkd,UACrBgxB,GAAWjL,EAAU5f,KAAO4f,EAAU3f,OAAS,EAC/C6qB,GAAWlL,EAAU1f,IAAM0f,EAAUzf,QAAU,EAC/C4qB,EAAe92C,GAAS22C,EAAcG,aACtC3C,EAAc2C,EAAe,EAAIr+C,KAAK07C,YACtCC,EAAc0C,EAAe,EAAIr+C,KAAK27C,aACtC,cAACtH,EAAa,eAAED,GAAkBp0C,KAAKu0C,kBAAkB9+B,EAAO6Y,GACtE,IACIjkB,EADAuyC,EAAa58C,KAAK67C,eAEtB,IAAKxxC,EAAI,EAAGA,EAAIoL,IAASpL,EACvBuyC,GAAc58C,KAAK+9C,eAAe1zC,EAAG9C,GAEvC,IAAK8C,EAAIoL,EAAOpL,EAAIoL,EAAQgD,IAASpO,EAAG,CACtC,MAAM0xC,EAAgB/7C,KAAK+9C,eAAe1zC,EAAG9C,GACvCmrB,EAAMwpB,EAAK7xC,GACXu/B,EAAa,CACjBh5B,EAAGutC,EAAUn+C,KAAKwgC,QAClB1vB,EAAGstC,EAAUp+C,KAAKygC,QAClBmc,aACAC,SAAUD,EAAab,EACvBA,gBACAJ,cACAD,eAEEtH,IACFxK,EAAW35B,QAAUokC,GAAiBr0C,KAAKozC,0BAA0B/oC,EAAGqoB,EAAIqW,OAAS,SAAWza,IAElGsuB,GAAcb,EACd/7C,KAAK20C,cAAcjiB,EAAKroB,EAAGu/B,EAAYtb,EACzC,CACF,CACAuvB,iBACE,MAAMxlC,EAAOrY,KAAK6sC,YACZyR,EAAWjmC,EAAKzW,KACtB,IACIyI,EADAuzC,EAAQ,EAEZ,IAAKvzC,EAAI,EAAGA,EAAIi0C,EAASxvC,OAAQzE,IAAK,CACpC,MAAM6C,EAAQmL,EAAKO,QAAQvO,GACb,OAAV6C,GAAmByG,MAAMzG,KAAUlN,KAAKgG,MAAMo0C,kBAAkB/vC,IAAOi0C,EAASj0C,GAAGgoC,SACrFuL,GAASvrC,KAAKwB,IAAI3G,GAEtB,CACA,OAAO0wC,CACT,CACAK,uBAAuB/wC,GACrB,MAAM0wC,EAAQ59C,KAAK6sC,YAAY+Q,MAC/B,OAAIA,EAAQ,IAAMjqC,MAAMzG,GACfoF,GAAOD,KAAKwB,IAAI3G,GAAS0wC,GAE3B,CACT,CACA/K,iBAAiBvjC,GACf,MAAM+I,EAAOrY,KAAK6sC,YACZ7mC,EAAQhG,KAAKgG,MACbrC,EAASqC,EAAMpE,KAAK+B,QAAU,GAC9BuJ,EAAQs1B,GAAanqB,EAAKO,QAAQtJ,GAAQtJ,EAAMiK,QAAQyyB,QAC9D,MAAO,CACLl/B,MAAOG,EAAO2L,IAAU,GACxBpC,QAEJ,CACAkvC,kBAAkBF,GAChB,IAAIjoC,EAAM,EACV,MAAMjO,EAAQhG,KAAKgG,MACnB,IAAIqE,EAAG6E,EAAMmJ,EAAMu0B,EAAY38B,EAC/B,IAAKisC,EACH,IAAK7xC,EAAI,EAAG6E,EAAOlJ,EAAMpE,KAAKgC,SAASkL,OAAQzE,EAAI6E,IAAQ7E,EACzD,GAAIrE,EAAMi2C,iBAAiB5xC,GAAI,CAC7BgO,EAAOrS,EAAM+pC,eAAe1lC,GAC5B6xC,EAAO7jC,EAAKzW,KACZgrC,EAAav0B,EAAKu0B,WAClB,KACF,CAGJ,IAAKsP,EACH,OAAO,EAET,IAAK7xC,EAAI,EAAG6E,EAAOgtC,EAAKptC,OAAQzE,EAAI6E,IAAQ7E,EAC1C4F,EAAU28B,EAAWwG,0BAA0B/oC,GACnB,UAAxB4F,EAAQsuC,cACVtqC,EAAM5B,KAAK4B,IAAIA,EAAKhE,EAAQvM,aAAe,EAAGuM,EAAQuuC,kBAAoB,IAG9E,OAAOvqC,CACT,CACAooC,aAAaH,GACX,IAAIjoC,EAAM,EACV,IAAK,IAAI5J,EAAI,EAAG6E,EAAOgtC,EAAKptC,OAAQzE,EAAI6E,IAAQ7E,EAAG,CACjD,MAAM4F,EAAUjQ,KAAKozC,0BAA0B/oC,GAC/C4J,EAAM5B,KAAK4B,IAAIA,EAAKhE,EAAQorC,QAAU,EAAGprC,EAAQwuC,aAAe,EAClE,CACA,OAAOxqC,CACT,CACA6pC,qBAAqBzuC,GACnB,IAAIqvC,EAAmB,EACvB,IAAK,IAAIr0C,EAAI,EAAGA,EAAIgF,IAAgBhF,EAC9BrK,KAAKgG,MAAMi2C,iBAAiB5xC,KAC9Bq0C,GAAoB1+C,KAAKy8C,eAAepyC,IAG5C,OAAOq0C,CACT,CACAjC,eAAeptC,GACb,OAAOgD,KAAK4B,IAAIlG,EAAe/N,KAAKgG,MAAMpE,KAAKgC,SAASyL,GAAckc,OAAQ,GAAI,EACpF,CACAoyB,gCACE,OAAO39C,KAAK89C,qBAAqB99C,KAAKgG,MAAMpE,KAAKgC,SAASkL,SAAW,CACvE,EAEFlD,GAAmBoB,GAAK,WACxBpB,GAAmBqhB,SAAW,CAC5ByjB,oBAAoB,EACpBgD,gBAAiB,MACjBvmB,UAAW,CACT6wB,eAAe,EACfK,cAAc,GAEhBrU,WAAY,CACVH,QAAS,CACPzmC,KAAM,SACNwmC,WAAY,CAAC,gBAAiB,WAAY,cAAe,cAAe,aAAc,IAAK,IAAK,SAAU,cAAe,aAG7H2S,OAAQ,MACRpqB,SAAU,EACV4pB,cAAe,IACf3pB,OAAQ,OACR+pB,QAAS,EACT/tB,UAAW,KAEbxiB,GAAmBkhB,YAAc,CAC/BkD,YAAcV,GAAkB,YAATA,EACvBY,WAAaZ,GAAkB,YAATA,GAExB1jB,GAAmBihB,UAAY,CAC7B8xB,YAAa,EACb96C,QAAS,CACPN,OAAQ,CACNI,OAAQ,CACNi7C,eAAe54C,GACb,MAAMpE,EAAOoE,EAAMpE,KACnB,GAAIA,EAAK+B,OAAOmL,QAAUlN,EAAKgC,SAASkL,OAAQ,CAC9C,MAAOnL,QAAQ,WAACuuB,IAAelsB,EAAMzC,OAAO0M,QAC5C,OAAOrO,EAAK+B,OAAO8L,KAAI,CAACjM,EAAO6G,KAC7B,MACMwjB,EADO7nB,EAAM+pC,eAAe,GACfnD,WAAW5K,SAAS33B,GACvC,MAAO,CACLmqB,KAAMhxB,EACNqxB,UAAWhH,EAAMT,gBACjB6H,YAAapH,EAAMpqB,YACnByxB,UAAWrH,EAAMnqB,YACjBwuB,WAAYA,EACZmgB,QAASrsC,EAAMo0C,kBAAkB/vC,GACjCiF,MAAOjF,EACR,GAEL,CACA,MAAO,EACT,GAEFskB,QAAQpa,EAAGsqC,EAAYt7C,GACrBA,EAAOyC,MAAM84C,qBAAqBD,EAAWvvC,OAC7C/L,EAAOyC,MAAMgjC,QACf,GAEFyS,QAAS,CACPxV,UAAW,CACT3lC,MAAK,IACI,GAETkD,MAAMu7C,GACJ,IAAIC,EAAYD,EAAYv7C,MAC5B,MAAM0J,EAAQ,KAAO6xC,EAAYE,eAOjC,OANI9xC,EAAQ6xC,IACVA,EAAYA,EAAUxxC,QACtBwxC,EAAU,IAAM9xC,GAEhB8xC,GAAa9xC,EAER8xC,CACT,MAMR,MAAMnzC,WAAuBgiC,GAC3Bc,aACE3uC,KAAKuuC,qBAAsB,EAC3BvuC,KAAKwuC,oBAAqB,EAC1BgK,MAAM7J,YACR,CACA3F,OAAO1a,GACL,MAAMjW,EAAOrY,KAAK6sC,aACXmC,QAASxuC,EAAMoB,KAAM0W,EAAS,GAAE,SAAE4mC,GAAY7mC,EAC/CE,EAAqBvY,KAAKgG,MAAMsuC,oBACtC,IAAI,MAAC7+B,EAAK,MAAEgD,GAASL,GAAiCC,EAAMC,EAAQC,GACpEvY,KAAKquC,WAAa54B,EAClBzV,KAAKsuC,WAAa71B,EACdS,GAAoBb,KACtB5C,EAAQ,EACRgD,EAAQH,EAAOxJ,QAEjBtO,EAAK6pC,OAASrqC,KAAKgG,MACnBxF,EAAK2+C,cAAgBn/C,KAAKsP,MAC1B9O,EAAK4+C,aAAeF,EAASE,WAC7B5+C,EAAK8X,OAASA,EACd,MAAMrI,EAAUjQ,KAAKmzC,6BAA6B7kB,GAC7CtuB,KAAKiQ,QAAQ+e,WAChB/e,EAAQvM,YAAc,GAExBuM,EAAQlF,QAAU/K,KAAKiQ,QAAQlF,QAC/B/K,KAAK20C,cAAcn0C,OAAMwqB,EAAW,CAClCq0B,UAAW9mC,EACXtI,WACCqe,GACHtuB,KAAKw1C,eAAel9B,EAAQ7C,EAAOgD,EAAO6V,EAC5C,CACAknB,eAAel9B,EAAQ7C,EAAOgD,EAAO6V,GACnC,MAAM/mB,EAAiB,UAAT+mB,GACR,OAAC3V,EAAM,OAAE6zB,EAAM,SAAEqC,EAAQ,SAAEqQ,GAAYl/C,KAAK6sC,aAC5C,cAACwH,EAAa,eAAED,GAAkBp0C,KAAKu0C,kBAAkB9+B,EAAO6Y,GAChEye,EAAQp0B,EAAOE,KACfm0B,EAAQR,EAAO3zB,MACf,SAACykB,EAAQ,QAAEvyB,GAAW/K,KAAKiQ,QAC3BqvC,EAAe7rC,EAAS6pB,GAAYA,EAAW3vB,OAAO8E,kBACtD8sC,EAAev/C,KAAKgG,MAAMsuC,qBAAuB/sC,GAAkB,SAAT+mB,EAChE,IAAIkxB,EAAa/pC,EAAQ,GAAKzV,KAAK6xC,UAAUp8B,EAAQ,GACrD,IAAK,IAAIpL,EAAIoL,EAAOpL,EAAIoL,EAAQgD,IAASpO,EAAG,CAC1C,MAAM8oB,EAAQ7a,EAAOjO,GACf0xB,EAAS/7B,KAAK6xC,UAAUxnC,GACxBu/B,EAAa2V,EAAepsB,EAAQ,CAAC,EACrCssB,EAAWxyC,EAAc8uB,EAAOiR,IAChC1O,EAASsL,EAAWmD,GAASp0B,EAAOM,iBAAiB8iB,EAAOgR,GAAQ1iC,GACpEk0B,EAASqL,EAAWoD,GAASzlC,GAASk4C,EAAWjT,EAAOkM,eAAiBlM,EAAOvzB,iBAAiB41B,EAAW7uC,KAAK2rC,WAAWa,EAAQzQ,EAAQ8S,GAAY9S,EAAOiR,GAAQ3iC,GAC7Ku/B,EAAWzN,KAAOxoB,MAAM2qB,IAAW3qB,MAAM4qB,IAAWkhB,EACpD7V,EAAWlC,KAAOr9B,EAAI,GAAMgI,KAAKwB,IAAIkoB,EAAOgR,GAASyS,EAAWzS,IAAWuS,EACvEv0C,IACF6+B,EAAW7N,OAASA,EACpB6N,EAAW0J,IAAM4L,EAASt9C,KAAKyI,IAE7B+pC,IACFxK,EAAW35B,QAAUokC,GAAiBr0C,KAAKozC,0BAA0B/oC,EAAG8oB,EAAM4V,OAAS,SAAWza,IAE/FixB,GACHv/C,KAAK20C,cAAcxhB,EAAO9oB,EAAGu/B,EAAYtb,GAE3CkxB,EAAazjB,CACf,CACF,CACA6W,iBACE,MAAMv6B,EAAOrY,KAAK6sC,YACZmC,EAAU32B,EAAK22B,QACf0Q,EAAS1Q,EAAQ/+B,SAAW++B,EAAQ/+B,QAAQvM,aAAe,EAC3D9B,EAAOyW,EAAKzW,MAAQ,GAC1B,IAAKA,EAAKkN,OACR,OAAO4wC,EAET,MAAMpjB,EAAa16B,EAAK,GAAGqQ,KAAKjS,KAAKozC,0BAA0B,IACzDuM,EAAY/9C,EAAKA,EAAKkN,OAAS,GAAGmD,KAAKjS,KAAKozC,0BAA0BxxC,EAAKkN,OAAS,IAC1F,OAAOuD,KAAK4B,IAAIyrC,EAAQpjB,EAAYqjB,GAAa,CACnD,CACAhZ,OACE,MAAMtuB,EAAOrY,KAAK6sC,YAClBx0B,EAAK22B,QAAQ4Q,oBAAoB5/C,KAAKgG,MAAMktC,UAAW76B,EAAKM,OAAOE,MACnE2/B,MAAM7R,MACR,EAEF96B,GAAemB,GAAK,OACpBnB,GAAeohB,SAAW,CACxByjB,mBAAoB,OACpBgD,gBAAiB,QACjB1kB,UAAU,EACVsO,UAAU,GAEZzxB,GAAeghB,UAAY,CACzBkC,OAAQ,CACNqsB,QAAS,CACPh4C,KAAM,YAERm4C,QAAS,CACPn4C,KAAM,YAKZ,MAAM2I,WAA4B8hC,GAChC9jB,YAAY/jB,EAAOqJ,GACjBmpC,MAAMxyC,EAAOqJ,GACbrP,KAAK07C,iBAAc1wB,EACnBhrB,KAAK27C,iBAAc3wB,CACrB,CACA6nB,iBAAiBvjC,GACf,MAAM+I,EAAOrY,KAAK6sC,YACZ7mC,EAAQhG,KAAKgG,MACbrC,EAASqC,EAAMpE,KAAK+B,QAAU,GAC9BuJ,EAAQs1B,GAAanqB,EAAKO,QAAQtJ,GAAOyO,EAAG/X,EAAMiK,QAAQyyB,QAChE,MAAO,CACLl/B,MAAOG,EAAO2L,IAAU,GACxBpC,QAEJ,CACAokC,gBAAgBj5B,EAAMzW,EAAM6T,EAAOgD,GACjC,OAAOojB,GAA4BgkB,KAAK7/C,KAAjC67B,CAAuCxjB,EAAMzW,EAAM6T,EAAOgD,EACnE,CACAuwB,OAAO1a,GACL,MAAM4tB,EAAOl8C,KAAK6sC,YAAYjrC,KAC9B5B,KAAK8/C,gBACL9/C,KAAKw1C,eAAe0G,EAAM,EAAGA,EAAKptC,OAAQwf,EAC5C,CACA4jB,YACE,MAAM75B,EAAOrY,KAAK6sC,YACZ55B,EAAQ,CAACe,IAAKrG,OAAO8E,kBAAmBwB,IAAKtG,OAAO4kC,mBAY1D,OAXAl6B,EAAKzW,KAAKuV,SAAQ,CAACuoB,EAASpwB,KAC1B,MAAMysB,EAAS/7B,KAAK6xC,UAAUviC,GAAOyO,GAChCpK,MAAMooB,IAAW/7B,KAAKgG,MAAMo0C,kBAAkB9qC,KAC7CysB,EAAS9oB,EAAMe,MACjBf,EAAMe,IAAM+nB,GAEVA,EAAS9oB,EAAMgB,MACjBhB,EAAMgB,IAAM8nB,GAEhB,IAEK9oB,CACT,CACA6sC,gBACE,MAAM95C,EAAQhG,KAAKgG,MACbktC,EAAYltC,EAAMktC,UAClBze,EAAOzuB,EAAMiK,QACb8vC,EAAU1tC,KAAK2B,IAAIk/B,EAAU3f,MAAQ2f,EAAU5f,KAAM4f,EAAUzf,OAASyf,EAAU1f,KAClFmoB,EAActpC,KAAK4B,IAAI8rC,EAAU,EAAG,GAEpCrC,GAAgB/B,EADFtpC,KAAK4B,IAAIwgB,EAAKurB,iBAAoBrE,EAAc,IAAQlnB,EAAqB,iBAAI,EAAG,IACrDzuB,EAAMi6C,yBACzDjgD,KAAK27C,YAAcA,EAAe+B,EAAe19C,KAAKsP,MACtDtP,KAAK07C,YAAc17C,KAAK27C,YAAc+B,CACxC,CACAlI,eAAe0G,EAAMzmC,EAAOgD,EAAO6V,GACjC,MAAM/mB,EAAiB,UAAT+mB,EACRtoB,EAAQhG,KAAKgG,MAEbk4C,EADOl4C,EAAMiK,QACQkd,UACrB2B,EAAQ9uB,KAAK6sC,YAAYiD,OACzBqO,EAAUrvB,EAAMoxB,QAChB9B,EAAUtvB,EAAMqxB,QAChBC,EAAoBtxB,EAAMuxB,cAAc,GAAK,GAAMjuC,EACzD,IACI/H,EADA2K,EAAQorC,EAEZ,MAAME,EAAe,IAAMtgD,KAAKugD,uBAChC,IAAKl2C,EAAI,EAAGA,EAAIoL,IAASpL,EACvB2K,GAAShV,KAAKwgD,cAAcn2C,EAAGikB,EAAMgyB,GAEvC,IAAKj2C,EAAIoL,EAAOpL,EAAIoL,EAAQgD,EAAOpO,IAAK,CACtC,MAAMqoB,EAAMwpB,EAAK7xC,GACjB,IAAIuyC,EAAa5nC,EACb6nC,EAAW7nC,EAAQhV,KAAKwgD,cAAcn2C,EAAGikB,EAAMgyB,GAC/C3E,EAAc31C,EAAMo0C,kBAAkB/vC,GAAKykB,EAAM2xB,8BAA8BzgD,KAAK6xC,UAAUxnC,GAAG0T,GAAK,EAC1G/I,EAAQ6nC,EACJt1C,IACE22C,EAAcG,eAChB1C,EAAc,GAEZuC,EAAcF,gBAChBpB,EAAaC,EAAWuD,IAG5B,MAAMxW,EAAa,CACjBh5B,EAAGutC,EACHrtC,EAAGstC,EACH1C,YAAa,EACbC,cACAiB,aACAC,WACA5sC,QAASjQ,KAAKozC,0BAA0B/oC,EAAGqoB,EAAIqW,OAAS,SAAWza,IAErEtuB,KAAK20C,cAAcjiB,EAAKroB,EAAGu/B,EAAYtb,EACzC,CACF,CACAiyB,uBACE,MAAMloC,EAAOrY,KAAK6sC,YAClB,IAAIp0B,EAAQ,EAMZ,OALAJ,EAAKzW,KAAKuV,SAAQ,CAACuoB,EAASpwB,MACrBqE,MAAM3T,KAAK6xC,UAAUviC,GAAOyO,IAAM/d,KAAKgG,MAAMo0C,kBAAkB9qC,IAClEmJ,GACF,IAEKA,CACT,CACA+nC,cAAclxC,EAAOgf,EAAMgyB,GACzB,OAAOtgD,KAAKgG,MAAMo0C,kBAAkB9qC,GAChC4E,EAAUlU,KAAKozC,0BAA0B9jC,EAAOgf,GAAMtZ,OAASsrC,GAC/D,CACN,EAEFv0C,GAAoBiB,GAAK,YACzBjB,GAAoBkhB,SAAW,CAC7BymB,gBAAiB,MACjBvmB,UAAW,CACT6wB,eAAe,EACfK,cAAc,GAEhBrU,WAAY,CACVH,QAAS,CACPzmC,KAAM,SACNwmC,WAAY,CAAC,IAAK,IAAK,aAAc,WAAY,cAAe,iBAGpExb,UAAW,IACXwuB,WAAY,GAEd7wC,GAAoB8gB,UAAY,CAC9B8xB,YAAa,EACb96C,QAAS,CACPN,OAAQ,CACNI,OAAQ,CACNi7C,eAAe54C,GACb,MAAMpE,EAAOoE,EAAMpE,KACnB,GAAIA,EAAK+B,OAAOmL,QAAUlN,EAAKgC,SAASkL,OAAQ,CAC9C,MAAOnL,QAAQ,WAACuuB,IAAelsB,EAAMzC,OAAO0M,QAC5C,OAAOrO,EAAK+B,OAAO8L,KAAI,CAACjM,EAAO6G,KAC7B,MACMwjB,EADO7nB,EAAM+pC,eAAe,GACfnD,WAAW5K,SAAS33B,GACvC,MAAO,CACLmqB,KAAMhxB,EACNqxB,UAAWhH,EAAMT,gBACjB6H,YAAapH,EAAMpqB,YACnByxB,UAAWrH,EAAMnqB,YACjBwuB,WAAYA,EACZmgB,QAASrsC,EAAMo0C,kBAAkB/vC,GACjCiF,MAAOjF,EACR,GAEL,CACA,MAAO,EACT,GAEFskB,QAAQpa,EAAGsqC,EAAYt7C,GACrBA,EAAOyC,MAAM84C,qBAAqBD,EAAWvvC,OAC7C/L,EAAOyC,MAAMgjC,QACf,GAEFyS,QAAS,CACPxV,UAAW,CACT3lC,MAAK,IACI,GAETkD,MAAM8pB,GACGA,EAAQtnB,MAAMpE,KAAK+B,OAAO2pB,EAAQ+lB,WAAa,KAAO/lB,EAAQ2xB,kBAK7ElwB,OAAQ,CACNhR,EAAG,CACD3a,KAAM,eACNs9C,WAAY,CACVC,SAAS,GAEXnF,aAAa,EACbF,KAAM,CACJsF,UAAU,GAEZC,YAAa,CACXF,SAAS,GAEX/D,WAAY,KAKlB,MAAM9wC,WAAsBF,IAE5BE,GAAckB,GAAK,MACnBlB,GAAcmhB,SAAW,CACvBsvB,OAAQ,EACRpqB,SAAU,EACV4pB,cAAe,IACf3pB,OAAQ,QAGV,MAAMpmB,WAAwB6hC,GAC5BgF,iBAAiBvjC,GACf,MAAMk9B,EAASxsC,KAAK6sC,YAAYL,OAC1BzQ,EAAS/7B,KAAK6xC,UAAUviC,GAC9B,MAAO,CACL9L,MAAOgpC,EAAOiF,YAAYniC,GAC1BpC,MAAO,GAAKs/B,EAAOsG,iBAAiB/W,EAAOyQ,EAAO3zB,OAEtD,CACAy4B,gBAAgBj5B,EAAMzW,EAAM6T,EAAOgD,GACjC,OAAOojB,GAA4BgkB,KAAK7/C,KAAjC67B,CAAuCxjB,EAAMzW,EAAM6T,EAAOgD,EACnE,CACAuwB,OAAO1a,GACL,MAAMjW,EAAOrY,KAAK6sC,YACZrsC,EAAO6X,EAAK22B,QACZ12B,EAASD,EAAKzW,MAAQ,GACtB+B,EAAS0U,EAAKM,OAAO84B,YAE3B,GADAjxC,EAAK8X,OAASA,EACD,WAATgW,EAAmB,CACrB,MAAMre,EAAUjQ,KAAKmzC,6BAA6B7kB,GAC7CtuB,KAAKiQ,QAAQ+e,WAChB/e,EAAQvM,YAAc,GAExB,MAAMkmC,EAAa,CACjBnB,OAAO,EACPqY,UAAWn9C,EAAOmL,SAAWwJ,EAAOxJ,OACpCmB,WAEFjQ,KAAK20C,cAAcn0C,OAAMwqB,EAAW4e,EAAYtb,EAClD,CACAtuB,KAAKw1C,eAAel9B,EAAQ,EAAGA,EAAOxJ,OAAQwf,EAChD,CACAknB,eAAel9B,EAAQ7C,EAAOgD,EAAO6V,GACnC,MAAMQ,EAAQ9uB,KAAK6sC,YAAYiD,OACzBvoC,EAAiB,UAAT+mB,EACd,IAAK,IAAIjkB,EAAIoL,EAAOpL,EAAIoL,EAAQgD,EAAOpO,IAAK,CAC1C,MAAM8oB,EAAQ7a,EAAOjO,GACf4F,EAAUjQ,KAAKozC,0BAA0B/oC,EAAG8oB,EAAM4V,OAAS,SAAWza,GACtEyyB,EAAgBjyB,EAAMkyB,yBAAyB32C,EAAGrK,KAAK6xC,UAAUxnC,GAAG0T,GACpEnN,EAAIrJ,EAAQunB,EAAMoxB,QAAUa,EAAcnwC,EAC1CE,EAAIvJ,EAAQunB,EAAMqxB,QAAUY,EAAcjwC,EAC1C84B,EAAa,CACjBh5B,IACAE,IACAkE,MAAO+rC,EAAc/rC,MACrBmnB,KAAMxoB,MAAM/C,IAAM+C,MAAM7C,GACxBb,WAEFjQ,KAAK20C,cAAcxhB,EAAO9oB,EAAGu/B,EAAYtb,EAC3C,CACF,EAEFtiB,GAAgBgB,GAAK,QACrBhB,GAAgBihB,SAAW,CACzByjB,mBAAoB,OACpBgD,gBAAiB,QACjBtlB,UAAW,IACXY,UAAU,EACVvB,SAAU,CACRjtB,KAAM,CACJwyB,KAAM,WAIZhnB,GAAgB6gB,UAAY,CAC1B8xB,YAAa,EACb5vB,OAAQ,CACNhR,EAAG,CACD3a,KAAM,kBAKZ,MAAM69C,GACJl3B,cACE/pB,KAAK4Q,OAAIoa,EACThrB,KAAK8Q,OAAIka,EACThrB,KAAK+oC,QAAS,EACd/oC,KAAKiQ,aAAU+a,EACfhrB,KAAK8qC,iBAAc9f,CACrB,CACAk2B,gBAAgBC,GACd,MAAM,EAACvwC,EAAC,EAAEE,GAAK9Q,KAAKohD,SAAS,CAAC,IAAK,KAAMD,GACzC,MAAO,CAACvwC,IAAGE,IACb,CACAuwC,WACE,OAAO5tC,EAASzT,KAAK4Q,IAAM6C,EAASzT,KAAK8Q,EAC3C,CACAswC,SAASzqB,EAAO2qB,GACd,MAAMvb,EAAQ/lC,KAAK8qC,YACnB,IAAKwW,IAAUvb,EACb,OAAO/lC,KAET,MAAMgqB,EAAM,CAAC,EAIb,OAHA2M,EAAMxf,SAAQ2f,IACZ9M,EAAI8M,GAAQiP,EAAMjP,IAASiP,EAAMjP,GAAMiS,SAAWhD,EAAMjP,GAAM+R,IAAM7oC,KAAK82B,EAAK,IAEzE9M,CACT,EAEFi3B,GAAQh0B,SAAW,CAAC,EACpBg0B,GAAQM,mBAAgBv2B,EAExB,MAAMw2B,GAAa,CACjB1gD,OAAOoM,GACEC,EAAQD,GAASA,EAAQ,GAAKA,EAEvCu0C,QAAQC,EAAWpyC,EAAOunC,GACxB,GAAkB,IAAd6K,EACF,MAAO,IAET,MAAMhf,EAAS1iC,KAAKgG,MAAMiK,QAAQyyB,OAClC,IAAIif,EACAtjB,EAAQqjB,EACZ,GAAI7K,EAAM/nC,OAAS,EAAG,CACpB,MAAM8yC,EAAUvvC,KAAK4B,IAAI5B,KAAKwB,IAAIgjC,EAAM,GAAG3pC,OAAQmF,KAAKwB,IAAIgjC,EAAMA,EAAM/nC,OAAS,GAAG5B,SAChF00C,EAAU,MAAQA,EAAU,QAC9BD,EAAW,cAEbtjB,EAmBN,SAAwBqjB,EAAW7K,GACjC,IAAIxY,EAAQwY,EAAM/nC,OAAS,EAAI+nC,EAAM,GAAG3pC,MAAQ2pC,EAAM,GAAG3pC,MAAQ2pC,EAAM,GAAG3pC,MAAQ2pC,EAAM,GAAG3pC,MAI3F,OAHImF,KAAKwB,IAAIwqB,IAAU,GAAKqjB,IAAcrvC,KAAKkB,MAAMmuC,KACnDrjB,EAAQqjB,EAAYrvC,KAAKkB,MAAMmuC,IAE1BrjB,CACT,CAzBcwjB,CAAeH,EAAW7K,EACpC,CACA,MAAMiL,EAAWhvC,EAAMT,KAAKwB,IAAIwqB,IAC1B0jB,EAAa1vC,KAAK4B,IAAI5B,KAAK2B,KAAK,EAAI3B,KAAKkB,MAAMuuC,GAAW,IAAK,GAC/D7xC,EAAU,CAAC0xC,WAAUK,sBAAuBD,EAAYE,sBAAuBF,GAErF,OADA10C,OAAOuM,OAAO3J,EAASjQ,KAAKiQ,QAAQ4mC,MAAM3T,QACnCV,GAAakf,EAAWhf,EAAQzyB,EACzC,EACAiyC,YAAYR,EAAWpyC,EAAOunC,GAC5B,GAAkB,IAAd6K,EACF,MAAO,IAET,MAAMxY,EAASwY,EAAarvC,KAAKiB,IAAI,GAAIjB,KAAKkB,MAAMT,EAAM4uC,KAC1D,OAAe,IAAXxY,GAA2B,IAAXA,GAA2B,IAAXA,EAC3BsY,GAAWC,QAAQl0C,KAAKvN,KAAM0hD,EAAWpyC,EAAOunC,GAElD,EACT,GASF,IAAIsL,GAAQ,CAACX,eA4Ib,SAASrlB,GAAK0a,EAAOuL,EAAUjG,EAASkG,EAAYC,GAClD,MAAM7sC,EAAQ1H,EAAes0C,EAAY,GACnC3sC,EAAMrD,KAAK2B,IAAIjG,EAAeu0C,EAAUzL,EAAM/nC,QAAS+nC,EAAM/nC,QACnE,IACIA,EAAQzE,EAAGqyB,EADXjkB,EAAQ,EAQZ,IANA0jC,EAAU9pC,KAAKkwC,KAAKpG,GAChBmG,IACFxzC,EAASwzC,EAAWD,EACpBlG,EAAUrtC,EAASuD,KAAKkB,MAAMzE,EAASqtC,IAEzCzf,EAAOjnB,EACAinB,EAAO,GACZjkB,IACAikB,EAAOrqB,KAAKc,MAAMsC,EAAQgD,EAAQ0jC,GAEpC,IAAK9xC,EAAIgI,KAAK4B,IAAIwB,EAAO,GAAIpL,EAAIqL,EAAKrL,IAChCA,IAAMqyB,IACR0lB,EAAS9wC,KAAKulC,EAAMxsC,IACpBoO,IACAikB,EAAOrqB,KAAKc,MAAMsC,EAAQgD,EAAQ0jC,GAGxC,CAhKAlvB,GAAS3V,IAAI,QAAS,CACpBqpC,SAAS,EACTtF,QAAQ,EACR1sC,SAAS,EACT6sC,aAAa,EACb/W,OAAQ,QACR+d,MAAO,EACPlH,KAAM,CACJqF,SAAS,EACTzrB,UAAW,EACXutB,YAAY,EACZC,iBAAiB,EACjBC,WAAW,EACXC,WAAY,EACZC,UAAW,CAAC/U,EAAM79B,IAAYA,EAAQilB,UACtC4tB,UAAW,CAAChV,EAAM79B,IAAYA,EAAQqb,MACtC+vB,QAAQ,EACRjW,WAAY,GACZC,iBAAkB,EAClB3hC,YAAa,GAEfpD,MAAO,CACLqgD,SAAS,EACTnsB,KAAM,GACNuuB,QAAS,CACPvvB,IAAK,EACLC,OAAQ,IAGZojB,MAAO,CACLmM,YAAa,EACbC,YAAa,GACbC,QAAQ,EACRC,gBAAiB,EACjBC,gBAAiB,GACjBL,QAAS,EACTpC,SAAS,EACT0C,UAAU,EACVC,gBAAiB,EACjBC,YAAa,EACbn1C,SAAU+zC,GAAMX,WAAW1gD,OAC3B0iD,MAAO,CAAC,EACRC,MAAO,CAAC,EACRvrC,MAAO,SACPwrC,WAAY,OACZC,mBAAmB,EACnBC,cAAe,4BACfC,gBAAiB,KAGrB52B,GAASoC,MAAM,cAAe,QAAS,GAAI,SAC3CpC,GAASoC,MAAM,aAAc,QAAS,GAAI,eAC1CpC,GAASoC,MAAM,aAAc,cAAe,GAAI,eAChDpC,GAASoC,MAAM,cAAe,QAAS,GAAI,SAC3CpC,GAASiC,SAAS,QAAS,CACzBiB,WAAW,EACXH,YAAcV,IAAUA,EAAKW,WAAW,YAAcX,EAAKW,WAAW,UAAqB,aAATX,GAAgC,WAATA,EACzGY,WAAaZ,GAAkB,eAATA,GAAkC,mBAATA,IAEjDrC,GAASiC,SAAS,SAAU,CAC1BiB,UAAW,UAEblD,GAASiC,SAAS,cAAe,CAC/Bc,YAAcV,GAAkB,oBAATA,GAAuC,aAATA,EACrDY,WAAaZ,GAAkB,oBAATA,IA+GxB,MACMw0B,GAAiB,CAACh1B,EAAO6oB,EAAM0D,IAAoB,QAAT1D,GAA2B,SAATA,EAAkB7oB,EAAM6oB,GAAQ0D,EAASvsB,EAAM6oB,GAAQ0D,EACzH,SAAS0I,GAAOrpB,EAAKspB,GACnB,MAAM19C,EAAS,GACT29C,EAAYvpB,EAAI5rB,OAASk1C,EACzBp1C,EAAM8rB,EAAI5rB,OAChB,IAAIzE,EAAI,EACR,KAAOA,EAAIuE,EAAKvE,GAAK45C,EACnB39C,EAAOgL,KAAKopB,EAAIroB,KAAKkB,MAAMlJ,KAE7B,OAAO/D,CACT,CACA,SAAS49C,GAAoBp1B,EAAOxf,EAAO60C,GACzC,MAAMr1C,EAASggB,EAAM+nB,MAAM/nC,OACrBs1C,EAAa/xC,KAAK2B,IAAI1E,EAAOR,EAAS,GACtC2G,EAAQqZ,EAAM6qB,YACdjkC,EAAMoZ,EAAM8qB,UACZhmC,EAAU,KAChB,IACIynC,EADAgJ,EAAYv1B,EAAMgoB,gBAAgBsN,GAEtC,KAAID,IAEA9I,EADa,IAAXvsC,EACOuD,KAAK4B,IAAIowC,EAAY5uC,EAAOC,EAAM2uC,GACxB,IAAV/0C,GACCwf,EAAMgoB,gBAAgB,GAAKuN,GAAa,GAExCA,EAAYv1B,EAAMgoB,gBAAgBsN,EAAa,IAAM,EAEjEC,GAAaD,EAAa90C,EAAQ+rC,GAAUA,EACxCgJ,EAAY5uC,EAAQ7B,GAAWywC,EAAY3uC,EAAM9B,IAIvD,OAAOywC,CACT,CAcA,SAASC,GAAkBr0C,GACzB,OAAOA,EAAQ0yC,UAAY1yC,EAAQ2yC,WAAa,CAClD,CACA,SAAS2B,GAAet0C,EAASknB,GAC/B,IAAKlnB,EAAQ0wC,QACX,OAAO,EAET,MAAMhzB,EAAOuJ,GAAOjnB,EAAQ0d,KAAMwJ,GAC5B4rB,EAAU9rB,GAAUhnB,EAAQ8yC,SAElC,OADc51C,EAAQ8C,EAAQukB,MAAQvkB,EAAQukB,KAAK1lB,OAAS,GAC5C6e,EAAKG,WAAci1B,EAAQ9+C,MAC7C,CAcA,SAASugD,GAAWtsC,EAAOusC,EAAU91C,GACnC,IAAIqb,EAAM/R,GAAmBC,GAI7B,OAHKvJ,GAAwB,UAAb81C,IAA2B91C,GAAwB,UAAb81C,KACpDz6B,EA5EiB,CAAC9R,GAAoB,SAAVA,EAAmB,QAAoB,UAAVA,EAAoB,OAASA,EA4EhFwsC,CAAa16B,IAEdA,CACT,CAmCA,MAAM26B,WAAc1D,GAClBl3B,YAAYoe,GACVqQ,QACAx4C,KAAKgN,GAAKm7B,EAAIn7B,GACdhN,KAAKoD,KAAO+kC,EAAI/kC,KAChBpD,KAAKiQ,aAAU+a,EACfhrB,KAAKiuB,IAAMka,EAAIla,IACfjuB,KAAKgG,MAAQmiC,EAAIniC,MACjBhG,KAAKwzB,SAAMxI,EACXhrB,KAAKyzB,YAASzI,EACdhrB,KAAKszB,UAAOtI,EACZhrB,KAAKuzB,WAAQvI,EACbhrB,KAAK+D,WAAQinB,EACbhrB,KAAKiE,YAAS+mB,EACdhrB,KAAK4kD,SAAW,CACdtxB,KAAM,EACNC,MAAO,EACPC,IAAK,EACLC,OAAQ,GAEVzzB,KAAKgE,cAAWgnB,EAChBhrB,KAAKkE,eAAY8mB,EACjBhrB,KAAK6kD,gBAAa75B,EAClBhrB,KAAK+F,mBAAgBilB,EACrBhrB,KAAK6F,iBAAcmlB,EACnBhrB,KAAK8F,kBAAeklB,EACpBhrB,KAAK6Y,UAAOmS,EACZhrB,KAAK8kD,mBAAgB95B,EACrBhrB,KAAKgU,SAAMgX,EACXhrB,KAAKiU,SAAM+W,EACXhrB,KAAK+kD,YAAS/5B,EACdhrB,KAAK62C,MAAQ,GACb72C,KAAKglD,eAAiB,KACtBhlD,KAAKilD,YAAc,KACnBjlD,KAAKklD,YAAc,KACnBllD,KAAK22C,QAAU,EACf32C,KAAKmlD,WAAa,EAClBnlD,KAAKolD,kBAAoB,CAAC,EAC1BplD,KAAK25C,iBAAc3uB,EACnBhrB,KAAK45C,eAAY5uB,EACjBhrB,KAAKqlD,gBAAiB,EACtBrlD,KAAKslD,cAAWt6B,EAChBhrB,KAAKulD,cAAWv6B,EAChBhrB,KAAKwlD,mBAAgBx6B,EACrBhrB,KAAKylD,mBAAgBz6B,EACrBhrB,KAAK0lD,aAAe,EACpB1lD,KAAK2lD,aAAe,EACpB3lD,KAAKo2C,OAAS,CAAC,EACfp2C,KAAK4lD,mBAAoB,EACzB5lD,KAAKyuC,cAAWzjB,CAClB,CACA66B,KAAK51C,GACHjQ,KAAKiQ,QAAUA,EAAQiqB,WAAWl6B,KAAK0xB,cACvC1xB,KAAK6Y,KAAO5I,EAAQ4I,KACpB7Y,KAAKulD,SAAWvlD,KAAKg8B,MAAM/rB,EAAQ+D,KACnChU,KAAKslD,SAAWtlD,KAAKg8B,MAAM/rB,EAAQgE,KACnCjU,KAAKylD,cAAgBzlD,KAAKg8B,MAAM/rB,EAAQ61C,cACxC9lD,KAAKwlD,cAAgBxlD,KAAKg8B,MAAM/rB,EAAQ81C,aAC1C,CACA/pB,MAAMsX,EAAKhkC,GACT,OAAOgkC,CACT,CACAt6B,gBACE,IAAI,SAACusC,EAAQ,SAAED,EAAQ,cAAEG,EAAa,cAAED,GAAiBxlD,KAKzD,OAJAulD,EAAW13C,EAAgB03C,EAAU53C,OAAO8E,mBAC5C6yC,EAAWz3C,EAAgBy3C,EAAU33C,OAAO4kC,mBAC5CkT,EAAgB53C,EAAgB43C,EAAe93C,OAAO8E,mBACtD+yC,EAAgB33C,EAAgB23C,EAAe73C,OAAO4kC,mBAC/C,CACLv+B,IAAKnG,EAAgB03C,EAAUE,GAC/BxxC,IAAKpG,EAAgBy3C,EAAUE,GAC/B1sC,WAAYpL,EAAe63C,GAC3BxsC,WAAYrL,EAAe43C,GAE/B,CACApT,UAAUC,GACR,IACIl/B,GADA,IAACe,EAAG,IAAEC,EAAG,WAAE6E,EAAU,WAAEC,GAAc/Y,KAAKgZ,gBAE9C,GAAIF,GAAcC,EAChB,MAAO,CAAC/E,MAAKC,OAEf,MAAM+xC,EAAQhmD,KAAK0sC,0BACnB,IAAK,IAAIriC,EAAI,EAAG6E,EAAO82C,EAAMl3C,OAAQzE,EAAI6E,IAAQ7E,EAC/C4I,EAAQ+yC,EAAM37C,GAAGuiC,WAAWsF,UAAUlyC,KAAMmyC,GACvCr5B,IACH9E,EAAM3B,KAAK2B,IAAIA,EAAKf,EAAMe,MAEvB+E,IACH9E,EAAM5B,KAAK4B,IAAIA,EAAKhB,EAAMgB,MAK9B,OAFAD,EAAM+E,GAAc/E,EAAMC,EAAMA,EAAMD,EACtCC,EAAM6E,GAAc9E,EAAMC,EAAMD,EAAMC,EAC/B,CACLD,IAAKnG,EAAgBmG,EAAKnG,EAAgBoG,EAAKD,IAC/CC,IAAKpG,EAAgBoG,EAAKpG,EAAgBmG,EAAKC,IAEnD,CACAgyC,aACE,MAAO,CACL3yB,KAAMtzB,KAAK6F,aAAe,EAC1B2tB,IAAKxzB,KAAK6kD,YAAc,EACxBtxB,MAAOvzB,KAAK8F,cAAgB,EAC5B2tB,OAAQzzB,KAAK+F,eAAiB,EAElC,CACAmgD,WACE,OAAOlmD,KAAK62C,KACd,CACApF,YACE,MAAM7vC,EAAO5B,KAAKgG,MAAMpE,KACxB,OAAO5B,KAAKiQ,QAAQtM,SAAW3D,KAAK24C,eAAiB/2C,EAAKukD,QAAUvkD,EAAKwkD,UAAYxkD,EAAK+B,QAAU,EACtG,CACA0iD,eACErmD,KAAKo2C,OAAS,CAAC,EACfp2C,KAAK4lD,mBAAoB,CAC3B,CACAU,eACEl4C,EAASpO,KAAKiQ,QAAQq2C,aAAc,CAACtmD,MACvC,CACAgpC,OAAOhlC,EAAUE,EAAWqiD,GAC1B,MAAM,YAAC/K,EAAW,MAAEgH,EAAO3L,MAAO2P,GAAYxmD,KAAKiQ,QAC7Cw2C,EAAaD,EAASC,WAC5BzmD,KAAKsmD,eACLtmD,KAAKgE,SAAWA,EAChBhE,KAAKkE,UAAYA,EACjBlE,KAAK4kD,SAAW2B,EAAUl5C,OAAOuM,OAAO,CACtC0Z,KAAM,EACNC,MAAO,EACPC,IAAK,EACLC,OAAQ,GACP8yB,GACHvmD,KAAK62C,MAAQ,KACb72C,KAAKklD,YAAc,KACnBllD,KAAKglD,eAAiB,KACtBhlD,KAAKilD,YAAc,KACnBjlD,KAAK0mD,sBACL1mD,KAAK2mD,gBACL3mD,KAAK4mD,qBACL5mD,KAAKmlD,WAAanlD,KAAK24C,eACnB34C,KAAK+D,MAAQwiD,EAAQjzB,KAAOizB,EAAQhzB,MACpCvzB,KAAKiE,OAASsiD,EAAQ/yB,IAAM+yB,EAAQ9yB,OACnCzzB,KAAK4lD,oBACR5lD,KAAK6mD,mBACL7mD,KAAK8mD,sBACL9mD,KAAK+mD,kBACL/mD,KAAK+kD,OD7sCX,SAAmBiC,EAAQxE,EAAOhH,GAChC,MAAM,IAACxnC,EAAG,IAAEC,GAAO+yC,EACbC,EAASj5C,EAAYw0C,GAAQvuC,EAAMD,GAAO,GAC1CkzC,EAAW,CAACh6C,EAAOsK,IAAQgkC,GAAyB,IAAVtuC,EAAc,EAAIA,EAAQsK,EAC1E,MAAO,CACLxD,IAAKkzC,EAASlzC,GAAM3B,KAAKwB,IAAIozC,IAC7BhzC,IAAKizC,EAASjzC,EAAKgzC,GAEvB,CCqsCoBE,CAAUnnD,KAAMwiD,EAAOhH,GACrCx7C,KAAK4lD,mBAAoB,GAE3B5lD,KAAKonD,mBACLpnD,KAAK62C,MAAQ72C,KAAKqnD,cAAgB,GAClCrnD,KAAKsnD,kBACL,MAAMC,EAAkBd,EAAazmD,KAAK62C,MAAM/nC,OAChD9O,KAAKwnD,sBAAsBD,EAAkBxD,GAAO/jD,KAAK62C,MAAO4P,GAAczmD,KAAK62C,OACnF72C,KAAKuqC,YACLvqC,KAAKynD,+BACLznD,KAAK0nD,yBACL1nD,KAAK2nD,8BACDnB,EAAS7F,UAAY6F,EAASnD,UAAgC,SAApBmD,EAASh3C,UACrDxP,KAAK62C,MA7XX,SAAkB/nB,EAAO+nB,GACvB,MAAM2P,EAAW13B,EAAM7e,QAAQ4mC,MACzB+Q,EAAapB,EAASqB,eAwB9B,SAA2B/4B,GACzB,MAAMusB,EAASvsB,EAAM7e,QAAQorC,OACvBuH,EAAa9zB,EAAMg5B,YACnBC,EAAWj5B,EAAM6nB,QAAUiM,GAAcvH,EAAS,EAAI,GACtD2M,EAAWl5B,EAAMq2B,WAAavC,EACpC,OAAOvwC,KAAKkB,MAAMlB,KAAK2B,IAAI+zC,EAAUC,GACvC,CA9B+CC,CAAkBn5B,GACzDo5B,EAAe1B,EAAS/C,MAAM0E,QA6CtC,SAAyBtR,GACvB,MAAMvwC,EAAS,GACf,IAAI+D,EAAG6E,EACP,IAAK7E,EAAI,EAAG6E,EAAO2nC,EAAM/nC,OAAQzE,EAAI6E,EAAM7E,IACrCwsC,EAAMxsC,GAAGo5C,OACXn9C,EAAOgL,KAAKjH,GAGhB,OAAO/D,CACT,CAtDgD8hD,CAAgBvR,GAAS,GACjEwR,EAAkBH,EAAap5C,OAC/B9N,EAAQknD,EAAa,GACrBxxC,EAAOwxC,EAAaG,EAAkB,GACtCjG,EAAW,GACjB,GAAIiG,EAAkBT,EAEpB,OAgDJ,SAAoB/Q,EAAOuL,EAAU8F,EAAc/L,GACjD,IAEI9xC,EAFAoO,EAAQ,EACRikB,EAAOwrB,EAAa,GAGxB,IADA/L,EAAU9pC,KAAKkwC,KAAKpG,GACf9xC,EAAI,EAAGA,EAAIwsC,EAAM/nC,OAAQzE,IACxBA,IAAMqyB,IACR0lB,EAAS9wC,KAAKulC,EAAMxsC,IACpBoO,IACAikB,EAAOwrB,EAAazvC,EAAQ0jC,GAGlC,CA7DImM,CAAWzR,EAAOuL,EAAU8F,EAAcG,EAAkBT,GACrDxF,EAET,MAAMjG,EAqBR,SAA0B+L,EAAcrR,EAAO+Q,GAC7C,MAAMW,EA4DR,SAAwB7tB,GACtB,MAAM9rB,EAAM8rB,EAAI5rB,OAChB,IAAIzE,EAAGM,EACP,GAAIiE,EAAM,EACR,OAAO,EAET,IAAKjE,EAAO+vB,EAAI,GAAIrwB,EAAI,EAAGA,EAAIuE,IAAOvE,EACpC,GAAIqwB,EAAIrwB,GAAKqwB,EAAIrwB,EAAI,KAAOM,EAC1B,OAAO,EAGX,OAAOA,CACT,CAxE2B69C,CAAeN,GAClC/L,EAAUtF,EAAM/nC,OAAS84C,EAC/B,IAAKW,EACH,OAAOl2C,KAAK4B,IAAIkoC,EAAS,GAE3B,MAAMsM,ED/yER,SAAoBv7C,GAClB,MAAM5G,EAAS,GACTyO,EAAO1C,KAAK0C,KAAK7H,GACvB,IAAI7C,EACJ,IAAKA,EAAI,EAAGA,EAAI0K,EAAM1K,IAChB6C,EAAQ7C,GAAM,IAChB/D,EAAOgL,KAAKjH,GACZ/D,EAAOgL,KAAKpE,EAAQ7C,IAOxB,OAJI0K,KAAiB,EAAPA,IACZzO,EAAOgL,KAAKyD,GAEdzO,EAAOkwC,MAAK,CAAC51C,EAAGoR,IAAMpR,EAAIoR,IAAG+0B,MACtBzgC,CACT,CCgyEkBoiD,CAAWH,GAC3B,IAAK,IAAIl+C,EAAI,EAAG6E,EAAOu5C,EAAQ35C,OAAS,EAAGzE,EAAI6E,EAAM7E,IAAK,CACxD,MAAM09B,EAAS0gB,EAAQp+C,GACvB,GAAI09B,EAASoU,EACX,OAAOpU,CAEX,CACA,OAAO11B,KAAK4B,IAAIkoC,EAAS,EAC3B,CAnCkBwM,CAAiBT,EAAcrR,EAAO+Q,GACtD,GAAIS,EAAkB,EAAG,CACvB,IAAIh+C,EAAG6E,EACP,MAAM05C,EAAkBP,EAAkB,EAAIh2C,KAAKc,OAAOuD,EAAO1V,IAAUqnD,EAAkB,IAAM,KAEnG,IADAlsB,GAAK0a,EAAOuL,EAAUjG,EAASlvC,EAAc27C,GAAmB,EAAI5nD,EAAQ4nD,EAAiB5nD,GACxFqJ,EAAI,EAAG6E,EAAOm5C,EAAkB,EAAGh+C,EAAI6E,EAAM7E,IAChD8xB,GAAK0a,EAAOuL,EAAUjG,EAAS+L,EAAa79C,GAAI69C,EAAa79C,EAAI,IAGnE,OADA8xB,GAAK0a,EAAOuL,EAAUjG,EAASzlC,EAAMzJ,EAAc27C,GAAmB/R,EAAM/nC,OAAS4H,EAAOkyC,GACrFxG,CACT,CAEA,OADAjmB,GAAK0a,EAAOuL,EAAUjG,GACfiG,CACT,CAoWmBiB,CAASrjD,KAAMA,KAAK62C,OACjC72C,KAAKklD,YAAc,KACnBllD,KAAK6oD,iBAEHtB,GACFvnD,KAAKwnD,sBAAsBxnD,KAAK62C,OAElC72C,KAAK8oD,YACL9oD,KAAK+oD,MACL/oD,KAAKgpD,WACLhpD,KAAKipD,aACP,CACA1e,YACE,IACI+P,EAAYE,EADZ0O,EAAgBlpD,KAAKiQ,QAAQtB,QAE7B3O,KAAK24C,gBACP2B,EAAat6C,KAAKszB,KAClBknB,EAAWx6C,KAAKuzB,QAEhB+mB,EAAat6C,KAAKwzB,IAClBgnB,EAAWx6C,KAAKyzB,OAChBy1B,GAAiBA,GAEnBlpD,KAAK25C,YAAcW,EACnBt6C,KAAK45C,UAAYY,EACjBx6C,KAAKqlD,eAAiB6D,EACtBlpD,KAAK22C,QAAU6D,EAAWF,EAC1Bt6C,KAAKmpD,eAAiBnpD,KAAKiQ,QAAQm5C,aACrC,CACAH,cACE76C,EAASpO,KAAKiQ,QAAQg5C,YAAa,CAACjpD,MACtC,CACA0mD,sBACEt4C,EAASpO,KAAKiQ,QAAQy2C,oBAAqB,CAAC1mD,MAC9C,CACA2mD,gBACM3mD,KAAK24C,gBACP34C,KAAK+D,MAAQ/D,KAAKgE,SAClBhE,KAAKszB,KAAO,EACZtzB,KAAKuzB,MAAQvzB,KAAK+D,QAElB/D,KAAKiE,OAASjE,KAAKkE,UACnBlE,KAAKwzB,IAAM,EACXxzB,KAAKyzB,OAASzzB,KAAKiE,QAErBjE,KAAK6F,YAAc,EACnB7F,KAAK6kD,WAAa,EAClB7kD,KAAK8F,aAAe,EACpB9F,KAAK+F,cAAgB,CACvB,CACA6gD,qBACEx4C,EAASpO,KAAKiQ,QAAQ22C,mBAAoB,CAAC5mD,MAC7C,CACAqpD,WAAW/5B,GACTtvB,KAAKgG,MAAMsjD,cAAch6B,EAAMtvB,KAAK0xB,cACpCtjB,EAASpO,KAAKiQ,QAAQqf,GAAO,CAACtvB,MAChC,CACA6mD,mBACE7mD,KAAKqpD,WAAW,mBAClB,CACAvC,sBAAuB,CACvBC,kBACE/mD,KAAKqpD,WAAW,kBAClB,CACAjC,mBACEpnD,KAAKqpD,WAAW,mBAClB,CACAhC,aACE,MAAO,EACT,CACAC,kBACEtnD,KAAKqpD,WAAW,kBAClB,CACAE,8BACEn7C,EAASpO,KAAKiQ,QAAQs5C,4BAA6B,CAACvpD,MACtD,CACAwpD,mBAAmB3S,GACjB,MAAM2P,EAAWxmD,KAAKiQ,QAAQ4mC,MAC9B,IAAIxsC,EAAG6E,EAAM43B,EACb,IAAKz8B,EAAI,EAAG6E,EAAO2nC,EAAM/nC,OAAQzE,EAAI6E,EAAM7E,IACzCy8B,EAAO+P,EAAMxsC,GACby8B,EAAKtjC,MAAQ4K,EAASo4C,EAASp4C,SAAU,CAAC04B,EAAK55B,MAAO7C,EAAGwsC,GAAQ72C,KAErE,CACAypD,6BACEr7C,EAASpO,KAAKiQ,QAAQw5C,2BAA4B,CAACzpD,MACrD,CACAynD,+BACEr5C,EAASpO,KAAKiQ,QAAQw3C,6BAA8B,CAACznD,MACvD,CACA0nD,yBACE,MAAMz3C,EAAUjQ,KAAKiQ,QACfu2C,EAAWv2C,EAAQ4mC,MACnB6S,EAAW1pD,KAAK62C,MAAM/nC,OACtBk0C,EAAcwD,EAASxD,aAAe,EACtCC,EAAcuD,EAASvD,YAC7B,IACIJ,EAAW3+C,EAAWylD,EADtB7E,EAAgB9B,EAEpB,IAAKhjD,KAAK4pD,eAAiBpD,EAAS7F,SAAWqC,GAAeC,GAAeyG,GAAY,IAAM1pD,KAAK24C,eAElG,YADA34C,KAAK8kD,cAAgB9B,GAGvB,MAAM6G,EAAa7pD,KAAK8pD,iBAClBC,EAAgBF,EAAWG,OAAOjmD,MAClCkmD,EAAiBJ,EAAWK,QAAQjmD,OACpCD,EAAWiS,EAAYjW,KAAKgG,MAAMjC,MAAQgmD,EAAe,EAAG/pD,KAAKgE,UACvE6+C,EAAY5yC,EAAQorC,OAASr7C,KAAKgE,SAAW0lD,EAAW1lD,GAAY0lD,EAAW,GAC3EK,EAAgB,EAAIlH,IACtBA,EAAY7+C,GAAY0lD,GAAYz5C,EAAQorC,OAAS,GAAM,IAC3Dn3C,EAAYlE,KAAKkE,UAAYogD,GAAkBr0C,EAAQqrC,MACvDkL,EAASzD,QAAUwB,GAAet0C,EAAQ3P,MAAON,KAAKgG,MAAMiK,QAAQ0d,MACpEg8B,EAAmBt3C,KAAK0C,KAAKg1C,EAAgBA,EAAgBE,EAAiBA,GAC9EnF,EAAgB1wC,EAAU/B,KAAK2B,IAC7B3B,KAAK83C,KAAKl0C,GAAa4zC,EAAWK,QAAQjmD,OAAS,GAAK4+C,GAAY,EAAG,IACvExwC,KAAK83C,KAAKl0C,EAAY/R,EAAYylD,GAAmB,EAAG,IAAMt3C,KAAK83C,KAAKl0C,EAAYg0C,EAAiBN,GAAmB,EAAG,MAE7H7E,EAAgBzyC,KAAK4B,IAAI+uC,EAAa3wC,KAAK2B,IAAIivC,EAAa6B,KAE9D9kD,KAAK8kD,cAAgBA,CACvB,CACA6C,8BACEv5C,EAASpO,KAAKiQ,QAAQ03C,4BAA6B,CAAC3nD,MACtD,CACA6oD,gBAAiB,CACjBC,YACE16C,EAASpO,KAAKiQ,QAAQ64C,UAAW,CAAC9oD,MACpC,CACA+oD,MACE,MAAMhJ,EAAU,CACdh8C,MAAO,EACPE,OAAQ,IAEJ,MAAC+B,EAAOiK,SAAU4mC,MAAO2P,EAAUlmD,MAAO8pD,EAAW9O,KAAM+O,IAAarqD,KACxE2gD,EAAU3gD,KAAK4pD,aACfjR,EAAe34C,KAAK24C,eAC1B,GAAIgI,EAAS,CACX,MAAM2J,EAAc/F,GAAe6F,EAAWpkD,EAAMiK,QAAQ0d,MAQ5D,GAPIgrB,GACFoH,EAAQh8C,MAAQ/D,KAAKgE,SACrB+7C,EAAQ97C,OAASqgD,GAAkB+F,GAAYC,IAE/CvK,EAAQ97C,OAASjE,KAAKkE,UACtB67C,EAAQh8C,MAAQugD,GAAkB+F,GAAYC,GAE5C9D,EAAS7F,SAAW3gD,KAAK62C,MAAM/nC,OAAQ,CACzC,MAAM,MAAC9N,EAAK,KAAE0V,EAAI,OAAEszC,EAAM,QAAEE,GAAWlqD,KAAK8pD,iBACtCS,EAAiC,EAAnB/D,EAASzD,QACvByH,EAAet2C,EAAUlU,KAAK8kD,eAC9B7pC,EAAM5I,KAAK4I,IAAIuvC,GACfxwC,EAAM3H,KAAK2H,IAAIwwC,GACrB,GAAI7R,EAAc,CAChB,MAAM8R,EAAcjE,EAAStD,OAAS,EAAIlpC,EAAMgwC,EAAOjmD,MAAQkX,EAAMivC,EAAQjmD,OAC7E87C,EAAQ97C,OAASoO,KAAK2B,IAAIhU,KAAKkE,UAAW67C,EAAQ97C,OAASwmD,EAAcF,EAC3E,KAAO,CACL,MAAMG,EAAalE,EAAStD,OAAS,EAAIjoC,EAAM+uC,EAAOjmD,MAAQiW,EAAMkwC,EAAQjmD,OAC5E87C,EAAQh8C,MAAQsO,KAAK2B,IAAIhU,KAAKgE,SAAU+7C,EAAQh8C,MAAQ2mD,EAAaH,EACvE,CACAvqD,KAAK2qD,kBAAkB3pD,EAAO0V,EAAMsD,EAAKiB,EAC3C,CACF,CACAjb,KAAK4qD,iBACDjS,GACF34C,KAAK+D,MAAQ/D,KAAK22C,QAAU3wC,EAAMjC,MAAQ/D,KAAK4kD,SAAStxB,KAAOtzB,KAAK4kD,SAASrxB,MAC7EvzB,KAAKiE,OAAS87C,EAAQ97C,SAEtBjE,KAAK+D,MAAQg8C,EAAQh8C,MACrB/D,KAAKiE,OAASjE,KAAK22C,QAAU3wC,EAAM/B,OAASjE,KAAK4kD,SAASpxB,IAAMxzB,KAAK4kD,SAASnxB,OAElF,CACAk3B,kBAAkB3pD,EAAO0V,EAAMsD,EAAKiB,GAClC,MAAO47B,OAAO,MAAC3+B,EAAK,QAAE6qC,GAAQ,SAAE0B,GAAYzkD,KAAKiQ,QAC3C46C,EAAmC,IAAvB7qD,KAAK8kD,cACjBgG,EAAgC,QAAbrG,GAAoC,MAAdzkD,KAAK6Y,KACpD,GAAI7Y,KAAK24C,eAAgB,CACvB,MAAMoS,EAAa/qD,KAAK82C,gBAAgB,GAAK92C,KAAKszB,KAC5C03B,EAAchrD,KAAKuzB,MAAQvzB,KAAK82C,gBAAgB92C,KAAK62C,MAAM/nC,OAAS,GAC1E,IAAIjJ,EAAc,EACdC,EAAe,EACf+kD,EACEC,GACFjlD,EAAcoV,EAAMja,EAAM+C,MAC1B+B,EAAekU,EAAMtD,EAAKzS,SAE1B4B,EAAcmU,EAAMhZ,EAAMiD,OAC1B6B,EAAemV,EAAMvE,EAAK3S,OAET,UAAVmU,EACTpS,EAAe4Q,EAAK3S,MACD,QAAVmU,EACTrS,EAAc7E,EAAM+C,MACD,UAAVmU,IACTrS,EAAc7E,EAAM+C,MAAQ,EAC5B+B,EAAe4Q,EAAK3S,MAAQ,GAE9B/D,KAAK6F,YAAcwM,KAAK4B,KAAKpO,EAAcklD,EAAahI,GAAW/iD,KAAK+D,OAAS/D,KAAK+D,MAAQgnD,GAAa,GAC3G/qD,KAAK8F,aAAeuM,KAAK4B,KAAKnO,EAAeklD,EAAcjI,GAAW/iD,KAAK+D,OAAS/D,KAAK+D,MAAQinD,GAAc,EACjH,KAAO,CACL,IAAInG,EAAanuC,EAAKzS,OAAS,EAC3B8B,EAAgB/E,EAAMiD,OAAS,EACrB,UAAViU,GACF2sC,EAAa,EACb9+C,EAAgB/E,EAAMiD,QACH,QAAViU,IACT2sC,EAAanuC,EAAKzS,OAClB8B,EAAgB,GAElB/F,KAAK6kD,WAAaA,EAAa9B,EAC/B/iD,KAAK+F,cAAgBA,EAAgBg9C,CACvC,CACF,CACA6H,iBACM5qD,KAAK4kD,WACP5kD,KAAK4kD,SAAStxB,KAAOjhB,KAAK4B,IAAIjU,KAAK6F,YAAa7F,KAAK4kD,SAAStxB,MAC9DtzB,KAAK4kD,SAASpxB,IAAMnhB,KAAK4B,IAAIjU,KAAK6kD,WAAY7kD,KAAK4kD,SAASpxB,KAC5DxzB,KAAK4kD,SAASrxB,MAAQlhB,KAAK4B,IAAIjU,KAAK8F,aAAc9F,KAAK4kD,SAASrxB,OAChEvzB,KAAK4kD,SAASnxB,OAASphB,KAAK4B,IAAIjU,KAAK+F,cAAe/F,KAAK4kD,SAASnxB,QAEtE,CACAu1B,WACE56C,EAASpO,KAAKiQ,QAAQ+4C,SAAU,CAAChpD,MACnC,CACA24C,eACE,MAAM,KAAC9/B,EAAI,SAAE4rC,GAAYzkD,KAAKiQ,QAC9B,MAAoB,QAAbw0C,GAAmC,WAAbA,GAAkC,MAAT5rC,CACxD,CACAoyC,aACE,OAAOjrD,KAAKiQ,QAAQi7C,QACtB,CACA1D,sBAAsB3Q,GAGpB,IAAIxsC,EAAG6E,EACP,IAHAlP,KAAKupD,8BACLvpD,KAAKwpD,mBAAmB3S,GAEnBxsC,EAAI,EAAG6E,EAAO2nC,EAAM/nC,OAAQzE,EAAI6E,EAAM7E,IACrC4C,EAAc4pC,EAAMxsC,GAAG7G,SACzBqzC,EAAM3/B,OAAO7M,EAAG,GAChB6E,IACA7E,KAGJrK,KAAKypD,4BACP,CACAK,iBACE,IAAID,EAAa7pD,KAAKklD,YACtB,IAAK2E,EAAY,CACf,MAAMpD,EAAazmD,KAAKiQ,QAAQ4mC,MAAM4P,WACtC,IAAI5P,EAAQ72C,KAAK62C,MACb4P,EAAa5P,EAAM/nC,SACrB+nC,EAAQkN,GAAOlN,EAAO4P,IAExBzmD,KAAKklD,YAAc2E,EAAa7pD,KAAKmrD,mBAAmBtU,EAAOA,EAAM/nC,OACvE,CACA,OAAO+6C,CACT,CACAsB,mBAAmBtU,EAAO/nC,GACxB,MAAM,IAACmf,EAAKm3B,kBAAmBgG,GAAUprD,KACnCqrD,EAAS,GACTC,EAAU,GAChB,IAEIjhD,EAAG8f,EAAG4G,EAAMvtB,EAAO+nD,EAAUC,EAAY56B,EAAO9C,EAAY/pB,EAAOE,EAAQwnD,EAF3EC,EAAkB,EAClBC,EAAmB,EAEvB,IAAKthD,EAAI,EAAGA,EAAIyE,IAAUzE,EAAG,CAO3B,GANA7G,EAAQqzC,EAAMxsC,GAAG7G,MACjB+nD,EAAWvrD,KAAK4rD,wBAAwBvhD,GACxC4jB,EAAIN,KAAO69B,EAAaD,EAASh7B,OACjCK,EAAQw6B,EAAOI,GAAcJ,EAAOI,IAAe,CAAC5pD,KAAM,CAAC,EAAGyuB,GAAI,IAClEvC,EAAay9B,EAASz9B,WACtB/pB,EAAQE,EAAS,EACZgJ,EAAczJ,IAAW2J,EAAQ3J,IAG/B,GAAI2J,EAAQ3J,GACjB,IAAK2mB,EAAI,EAAG4G,EAAOvtB,EAAMsL,OAAQqb,EAAI4G,IAAQ5G,EAC3CshC,EAAcjoD,EAAM2mB,GACfld,EAAcw+C,IAAiBt+C,EAAQs+C,KAC1C1nD,EAAQqsB,GAAanC,EAAK2C,EAAMhvB,KAAMgvB,EAAMP,GAAItsB,EAAO0nD,GACvDxnD,GAAU6pB,QAPd/pB,EAAQqsB,GAAanC,EAAK2C,EAAMhvB,KAAMgvB,EAAMP,GAAItsB,EAAOP,GACvDS,EAAS6pB,EAUXu9B,EAAO/5C,KAAKvN,GACZunD,EAAQh6C,KAAKrN,GACbynD,EAAkBr5C,KAAK4B,IAAIlQ,EAAO2nD,GAClCC,EAAmBt5C,KAAK4B,IAAIhQ,EAAQ0nD,EACtC,EAzgBJ,SAAwBP,EAAQt8C,GAC9BL,EAAK28C,GAASx6B,IACZ,MAAMP,EAAKO,EAAMP,GACXc,EAAQd,EAAGvhB,OAAS,EAC1B,IAAIzE,EACJ,GAAI8mB,EAAQriB,EAAQ,CAClB,IAAKzE,EAAI,EAAGA,EAAI8mB,IAAS9mB,SAChBumB,EAAMhvB,KAAKyuB,EAAGhmB,IAEvBgmB,EAAGnZ,OAAO,EAAGia,EACf,IAEJ,CA8fIN,CAAeu6B,EAAQt8C,GACvB,MAAMk7C,EAASqB,EAAOt7C,QAAQ27C,GACxBxB,EAAUoB,EAAQv7C,QAAQ47C,GAC1BE,EAAWC,IAAQ,CAAE/nD,MAAOsnD,EAAOS,IAAQ,EAAG7nD,OAAQqnD,EAAQQ,IAAQ,IAC5E,MAAO,CACL9qD,MAAO6qD,EAAQ,GACfn1C,KAAMm1C,EAAQ/8C,EAAS,GACvBk7C,OAAQ6B,EAAQ7B,GAChBE,QAAS2B,EAAQ3B,GACjBmB,SACAC,UAEJ,CACAxY,iBAAiB5lC,GACf,OAAOA,CACT,CACA+L,iBAAiB/L,EAAOoC,GACtB,OAAO2iC,GACT,CACA8Z,iBAAiB16B,GAAQ,CACzBylB,gBAAgBxnC,GACd,MAAMunC,EAAQ72C,KAAK62C,MACnB,OAAIvnC,EAAQ,GAAKA,EAAQunC,EAAM/nC,OAAS,EAC/B,KAEF9O,KAAKiZ,iBAAiB49B,EAAMvnC,GAAOpC,MAC5C,CACAqtC,mBAAmByR,GACbhsD,KAAKqlD,iBACP2G,EAAU,EAAIA,GAEhB,MAAM36B,EAAQrxB,KAAK25C,YAAcqS,EAAUhsD,KAAK22C,QAChD,ODt2FK1gC,ECs2FcjW,KAAKmpD,eAAiB/3B,GAAYpxB,KAAKgG,MAAOqrB,EAAO,GAAKA,GDt2FpD,MAAO,MCu2FlC,CACA46B,mBAAmB56B,GACjB,MAAM26B,GAAW36B,EAAQrxB,KAAK25C,aAAe35C,KAAK22C,QAClD,OAAO32C,KAAKqlD,eAAiB,EAAI2G,EAAUA,CAC7C,CACAtT,eACE,OAAO14C,KAAKiZ,iBAAiBjZ,KAAKksD,eACpC,CACAA,eACE,MAAM,IAACl4C,EAAG,IAAEC,GAAOjU,KACnB,OAAOgU,EAAM,GAAKC,EAAM,EAAIA,EAC1BD,EAAM,GAAKC,EAAM,EAAID,EACrB,CACJ,CACA0d,WAAWpiB,GACT,MAAMunC,EAAQ72C,KAAK62C,OAAS,GAC5B,GAAIvnC,GAAS,GAAKA,EAAQunC,EAAM/nC,OAAQ,CACtC,MAAMg4B,EAAO+P,EAAMvnC,GACnB,OAAOw3B,EAAK2H,WACb3H,EAAK2H,SA/hBV,SAA2BpT,EAAQ/rB,EAAOw3B,GACxC,OAAOnP,GAAc0D,EAAQ,CAC3ByL,OACAx3B,QACAlM,KAAM,QAEV,CAyhBqB+oD,CAAkBnsD,KAAK0xB,aAAcpiB,EAAOw3B,GAC7D,CACA,OAAO9mC,KAAKyuC,WACZzuC,KAAKyuC,SAviBA9W,GAuiB8B33B,KAAKgG,MAAM0rB,aAviBnB,CAC3B5C,MAsiB4D9uB,KAriB5DoD,KAAM,UAsiBR,CACA0kD,YACE,MAAMsE,EAAcpsD,KAAKiQ,QAAQ4mC,MAC3BwV,EAAMn4C,EAAUlU,KAAK8kD,eACrB7pC,EAAM5I,KAAKwB,IAAIxB,KAAK4I,IAAIoxC,IACxBryC,EAAM3H,KAAKwB,IAAIxB,KAAK2H,IAAIqyC,IACxBxC,EAAa7pD,KAAK8pD,iBAClB/G,EAAUqJ,EAAY9I,iBAAmB,EACzC1lC,EAAIisC,EAAaA,EAAWG,OAAOjmD,MAAQg/C,EAAU,EACrDxmC,EAAIstC,EAAaA,EAAWK,QAAQjmD,OAAS8+C,EAAU,EAC7D,OAAO/iD,KAAK24C,eACRp8B,EAAItB,EAAM2C,EAAI5D,EAAM4D,EAAI3C,EAAMsB,EAAIvC,EAClCuC,EAAIvC,EAAM4D,EAAI3C,EAAMsB,EAAItB,EAAM2C,EAAI5D,CACxC,CACA4vC,aACE,MAAMjJ,EAAU3gD,KAAKiQ,QAAQ0wC,QAC7B,MAAgB,SAAZA,IACOA,EAEJ3gD,KAAK0sC,0BAA0B59B,OAAS,CACjD,CACAw9C,sBAAsBpZ,GACpB,MAAMr6B,EAAO7Y,KAAK6Y,KACZ7S,EAAQhG,KAAKgG,MACbiK,EAAUjQ,KAAKiQ,SACf,KAACqrC,EAAI,SAAEmJ,GAAYx0C,EACnBorC,EAASC,EAAKD,OACd1C,EAAe34C,KAAK24C,eAEpB4T,EADQvsD,KAAK62C,MACO/nC,QAAUusC,EAAS,EAAI,GAC3CmR,EAAKlI,GAAkBhJ,GACvBjkC,EAAQ,GACRo1C,EAAanR,EAAKphB,WAAWl6B,KAAK0xB,cAClCg7B,EAAYD,EAAWhK,WAAagK,EAAW/oD,YAAc,EAC7DipD,EAAgBD,EAAY,EAC5BE,EAAmB,SAASv7B,GAChC,OAAOD,GAAYprB,EAAOqrB,EAAOq7B,EACnC,EACA,IAAIG,EAAaxiD,EAAGg6C,EAAWyI,EAC3BC,EAAKC,EAAKC,EAAKC,EAAKC,EAAIC,EAAIC,EAAIC,EACpC,GAAiB,QAAb7I,EACFoI,EAAcD,EAAiB5sD,KAAKyzB,QACpCu5B,EAAMhtD,KAAKyzB,OAAS+4B,EACpBU,EAAML,EAAcF,EACpBS,EAAKR,EAAiB1Z,EAAU1f,KAAOm5B,EACvCW,EAAKpa,EAAUzf,YACV,GAAiB,WAAbgxB,EACToI,EAAcD,EAAiB5sD,KAAKwzB,KACpC45B,EAAKla,EAAU1f,IACf85B,EAAKV,EAAiB1Z,EAAUzf,QAAUk5B,EAC1CK,EAAMH,EAAcF,EACpBO,EAAMltD,KAAKwzB,IAAMg5B,OACZ,GAAiB,SAAb/H,EACToI,EAAcD,EAAiB5sD,KAAKuzB,OACpCw5B,EAAM/sD,KAAKuzB,MAAQi5B,EACnBS,EAAMJ,EAAcF,EACpBQ,EAAKP,EAAiB1Z,EAAU5f,MAAQq5B,EACxCU,EAAKna,EAAU3f,WACV,GAAiB,UAAbkxB,EACToI,EAAcD,EAAiB5sD,KAAKszB,MACpC65B,EAAKja,EAAU5f,KACf+5B,EAAKT,EAAiB1Z,EAAU3f,OAASo5B,EACzCI,EAAMF,EAAcF,EACpBM,EAAMjtD,KAAKszB,KAAOk5B,OACb,GAAa,MAAT3zC,EAAc,CACvB,GAAiB,WAAb4rC,EACFoI,EAAcD,GAAkB1Z,EAAU1f,IAAM0f,EAAUzf,QAAU,EAAI,SACnE,GAAIhmB,EAASg3C,GAAW,CAC7B,MAAM8I,EAAiBlgD,OAAOwB,KAAK41C,GAAU,GACvCv3C,EAAQu3C,EAAS8I,GACvBV,EAAcD,EAAiB5sD,KAAKgG,MAAM+oB,OAAOw+B,GAAgBt0C,iBAAiB/L,GACpF,CACAkgD,EAAKla,EAAU1f,IACf85B,EAAKpa,EAAUzf,OACfu5B,EAAMH,EAAcF,EACpBO,EAAMF,EAAMR,CACd,MAAO,GAAa,MAAT3zC,EAAc,CACvB,GAAiB,WAAb4rC,EACFoI,EAAcD,GAAkB1Z,EAAU5f,KAAO4f,EAAU3f,OAAS,QAC/D,GAAI9lB,EAASg3C,GAAW,CAC7B,MAAM8I,EAAiBlgD,OAAOwB,KAAK41C,GAAU,GACvCv3C,EAAQu3C,EAAS8I,GACvBV,EAAcD,EAAiB5sD,KAAKgG,MAAM+oB,OAAOw+B,GAAgBt0C,iBAAiB/L,GACpF,CACA6/C,EAAMF,EAAcF,EACpBM,EAAMF,EAAMP,EACZW,EAAKja,EAAU5f,KACf+5B,EAAKna,EAAU3f,KACjB,CACA,MAAMi6B,EAAQz/C,EAAekC,EAAQ4mC,MAAMgR,cAAe0E,GACpDkB,EAAOp7C,KAAK4B,IAAI,EAAG5B,KAAKkwC,KAAKgK,EAAciB,IACjD,IAAKnjD,EAAI,EAAGA,EAAIkiD,EAAaliD,GAAKojD,EAAM,CACtC,MAAMC,EAAcpS,EAAKphB,WAAWl6B,KAAK0xB,WAAWrnB,IAC9C6qB,EAAYw4B,EAAYx4B,UACxBy4B,EAAYD,EAAYpiC,MACxB8Z,EAAasoB,EAAYtoB,YAAc,GACvCC,EAAmBqoB,EAAYroB,iBAC/Bwd,EAAY6K,EAAY7K,UACxBC,EAAY4K,EAAY5K,UACxB8K,EAAiBF,EAAYE,gBAAkB,GAC/CC,EAAuBH,EAAYG,qBACzCxJ,EAAYH,GAAoBlkD,KAAMqK,EAAGgxC,QACvBrwB,IAAdq5B,IAGJyI,EAAmB17B,GAAYprB,EAAOq+C,EAAWnvB,GAC7CyjB,EACFoU,EAAME,EAAME,EAAKE,EAAKP,EAEtBE,EAAME,EAAME,EAAKE,EAAKR,EAExBz1C,EAAM/F,KAAK,CACTy7C,MACAC,MACAC,MACAC,MACAC,KACAC,KACAC,KACAC,KACAvpD,MAAOmxB,EACP5J,MAAOqiC,EACPvoB,aACAC,mBACAwd,YACAC,YACA8K,iBACAC,yBAEJ,CAGA,OAFA7tD,KAAK0lD,aAAe6G,EACpBvsD,KAAK2lD,aAAekH,EACbx1C,CACT,CACAy2C,mBAAmB5a,GACjB,MAAMr6B,EAAO7Y,KAAK6Y,KACZ5I,EAAUjQ,KAAKiQ,SACf,SAACw0C,EAAU5N,MAAOuV,GAAen8C,EACjC0oC,EAAe34C,KAAK24C,eACpB9B,EAAQ72C,KAAK62C,OACb,MAAC3+B,EAAK,WAAEwrC,EAAU,QAAEX,EAAO,OAAEG,GAAUkJ,EACvCI,EAAKlI,GAAkBr0C,EAAQqrC,MAC/ByS,EAAiBvB,EAAKzJ,EACtBiL,EAAkB9K,GAAUH,EAAUgL,EACtC57B,GAAYje,EAAUlU,KAAK8kD,eAC3BztC,EAAQ,GACd,IAAIhN,EAAG6E,EAAM43B,EAAMtjC,EAAOoN,EAAGE,EAAGgkB,EAAWzD,EAAO1D,EAAMG,EAAYmgC,EAAWC,EAC3En5B,EAAe,SACnB,GAAiB,QAAb0vB,EACF3zC,EAAI9Q,KAAKyzB,OAASu6B,EAClBl5B,EAAY90B,KAAKmuD,+BACZ,GAAiB,WAAb1J,EACT3zC,EAAI9Q,KAAKwzB,IAAMw6B,EACfl5B,EAAY90B,KAAKmuD,+BACZ,GAAiB,SAAb1J,EAAqB,CAC9B,MAAMz6B,EAAMhqB,KAAKouD,wBAAwB5B,GACzC13B,EAAY9K,EAAI8K,UAChBlkB,EAAIoZ,EAAIpZ,CACV,MAAO,GAAiB,UAAb6zC,EAAsB,CAC/B,MAAMz6B,EAAMhqB,KAAKouD,wBAAwB5B,GACzC13B,EAAY9K,EAAI8K,UAChBlkB,EAAIoZ,EAAIpZ,CACV,MAAO,GAAa,MAATiI,EAAc,CACvB,GAAiB,WAAb4rC,EACF3zC,GAAMoiC,EAAU1f,IAAM0f,EAAUzf,QAAU,EAAKs6B,OAC1C,GAAItgD,EAASg3C,GAAW,CAC7B,MAAM8I,EAAiBlgD,OAAOwB,KAAK41C,GAAU,GACvCv3C,EAAQu3C,EAAS8I,GACvBz8C,EAAI9Q,KAAKgG,MAAM+oB,OAAOw+B,GAAgBt0C,iBAAiB/L,GAAS6gD,CAClE,CACAj5B,EAAY90B,KAAKmuD,yBACnB,MAAO,GAAa,MAATt1C,EAAc,CACvB,GAAiB,WAAb4rC,EACF7zC,GAAMsiC,EAAU5f,KAAO4f,EAAU3f,OAAS,EAAKw6B,OAC1C,GAAItgD,EAASg3C,GAAW,CAC7B,MAAM8I,EAAiBlgD,OAAOwB,KAAK41C,GAAU,GACvCv3C,EAAQu3C,EAAS8I,GACvB38C,EAAI5Q,KAAKgG,MAAM+oB,OAAOw+B,GAAgBt0C,iBAAiB/L,EACzD,CACA4nB,EAAY90B,KAAKouD,wBAAwB5B,GAAI13B,SAC/C,CACa,MAATjc,IACY,UAAVX,EACF6c,EAAe,MACI,QAAV7c,IACT6c,EAAe,WAGnB,MAAM80B,EAAa7pD,KAAK8pD,iBACxB,IAAKz/C,EAAI,EAAG6E,EAAO2nC,EAAM/nC,OAAQzE,EAAI6E,IAAQ7E,EAAG,CAC9Cy8B,EAAO+P,EAAMxsC,GACb7G,EAAQsjC,EAAKtjC,MACb,MAAMkqD,EAActB,EAAYlyB,WAAWl6B,KAAK0xB,WAAWrnB,IAC3DgnB,EAAQrxB,KAAK82C,gBAAgBzsC,GAAK+hD,EAAY7I,YAC9C51B,EAAO3tB,KAAK4rD,wBAAwBvhD,GACpCyjB,EAAaH,EAAKG,WAClBmgC,EAAY9gD,EAAQ3J,GAASA,EAAMsL,OAAS,EAC5C,MAAMu/C,EAAYJ,EAAY,EACxB3iC,EAAQoiC,EAAYpiC,MACpBqJ,EAAc+4B,EAAYtK,gBAC1B1uB,EAAcg5B,EAAYvK,gBAChC,IAoCImL,EApCAC,EAAgBz5B,EAqCpB,GApCI6jB,GACF/nC,EAAIygB,EACc,UAAdyD,IAEAy5B,EADElkD,IAAM6E,EAAO,EACElP,KAAKiQ,QAAQtB,QAAoB,OAAV,QACzB,IAANtE,EACQrK,KAAKiQ,QAAQtB,QAAmB,QAAT,OAExB,UAKhBu/C,EAFa,QAAbzJ,EACiB,SAAff,GAAsC,IAAbvxB,GACb87B,EAAYngC,EAAaA,EAAa,EAC5B,WAAf41B,GACKmG,EAAWK,QAAQjmD,OAAS,EAAIoqD,EAAYvgC,EAAaA,GAEzD+7B,EAAWK,QAAQjmD,OAAS6pB,EAAa,EAGtC,SAAf41B,GAAsC,IAAbvxB,EACdrE,EAAa,EACF,WAAf41B,EACImG,EAAWK,QAAQjmD,OAAS,EAAIoqD,EAAYvgC,EAE5C+7B,EAAWK,QAAQjmD,OAASgqD,EAAYngC,EAGrDo1B,IACFgL,IAAe,KAGjBp9C,EAAIugB,EACJ68B,GAAc,EAAID,GAAangC,EAAa,GAG1C4/B,EAAY/J,kBAAmB,CACjC,MAAM6K,EAAev3B,GAAUy2B,EAAY7J,iBACrC5/C,EAAS4lD,EAAWyB,QAAQjhD,GAC5BtG,EAAQ8lD,EAAWwB,OAAOhhD,GAChC,IAAImpB,EAAM1iB,EAAIo9C,EAAaM,EAAah7B,IACpCF,EAAO1iB,EAAI49C,EAAal7B,KAC5B,OAAQyB,GACR,IAAK,SACHvB,GAAOvvB,EAAS,EAChB,MACF,IAAK,SACHuvB,GAAOvvB,EAGT,OAAQ6wB,GACR,IAAK,SACHxB,GAAQvvB,EAAQ,EAChB,MACF,IAAK,QACHuvB,GAAQvvB,EAGVuqD,EAAW,CACTh7B,OACAE,MACAzvB,MAAOA,EAAQyqD,EAAazqD,MAC5BE,OAAQA,EAASuqD,EAAavqD,OAC9BqnB,MAAOoiC,EAAY9J,cAEvB,CACAvsC,EAAM/F,KAAK,CACT6gB,WACA3uB,QACAmqB,OACArC,QACAqJ,cACAD,cACAw5B,aACAp5B,UAAWy5B,EACXx5B,eACAH,YAAa,CAAChkB,EAAGE,GACjBw9C,YAEJ,CACA,OAAOj3C,CACT,CACA82C,0BACE,MAAM,SAAC1J,EAAQ,MAAE5N,GAAS72C,KAAKiQ,QAE/B,IADkBiE,EAAUlU,KAAK8kD,eAE/B,MAAoB,QAAbL,EAAqB,OAAS,QAEvC,IAAIvsC,EAAQ,SAQZ,MAPoB,UAAhB2+B,EAAM3+B,MACRA,EAAQ,OACiB,QAAhB2+B,EAAM3+B,MACfA,EAAQ,QACiB,UAAhB2+B,EAAM3+B,QACfA,EAAQ,SAEHA,CACT,CACAk2C,wBAAwB5B,GACtB,MAAM,SAAC/H,EAAU5N,OAAO,WAAC6M,EAAU,OAAER,EAAM,QAAEH,IAAY/iD,KAAKiQ,QAExD89C,EAAiBvB,EAAKzJ,EACtBiH,EAFahqD,KAAK8pD,iBAEEE,OAAOjmD,MACjC,IAAI+wB,EACAlkB,EAoDJ,MAnDiB,SAAb6zC,EACEvB,GACFtyC,EAAI5Q,KAAKuzB,MAAQwvB,EACE,SAAfW,EACF5uB,EAAY,OACY,WAAf4uB,GACT5uB,EAAY,SACZlkB,GAAMo5C,EAAS,IAEfl1B,EAAY,QACZlkB,GAAKo5C,KAGPp5C,EAAI5Q,KAAKuzB,MAAQw6B,EACE,SAAfrK,EACF5uB,EAAY,QACY,WAAf4uB,GACT5uB,EAAY,SACZlkB,GAAMo5C,EAAS,IAEfl1B,EAAY,OACZlkB,EAAI5Q,KAAKszB,OAGS,UAAbmxB,EACLvB,GACFtyC,EAAI5Q,KAAKszB,KAAOyvB,EACG,SAAfW,EACF5uB,EAAY,QACY,WAAf4uB,GACT5uB,EAAY,SACZlkB,GAAMo5C,EAAS,IAEfl1B,EAAY,OACZlkB,GAAKo5C,KAGPp5C,EAAI5Q,KAAKszB,KAAOy6B,EACG,SAAfrK,EACF5uB,EAAY,OACY,WAAf4uB,GACT5uB,EAAY,SACZlkB,GAAKo5C,EAAS,IAEdl1B,EAAY,QACZlkB,EAAI5Q,KAAKuzB,QAIbuB,EAAY,QAEP,CAACA,YAAWlkB,IACrB,CACA69C,oBACE,GAAIzuD,KAAKiQ,QAAQ4mC,MAAMqM,OACrB,OAEF,MAAMl9C,EAAQhG,KAAKgG,MACby+C,EAAWzkD,KAAKiQ,QAAQw0C,SAC9B,MAAiB,SAAbA,GAAoC,UAAbA,EAClB,CAACjxB,IAAK,EAAGF,KAAMtzB,KAAKszB,KAAMG,OAAQztB,EAAM/B,OAAQsvB,MAAOvzB,KAAKuzB,OAClD,QAAbkxB,GAAmC,WAAbA,EACnB,CAACjxB,IAAKxzB,KAAKwzB,IAAKF,KAAM,EAAGG,OAAQzzB,KAAKyzB,OAAQF,MAAOvtB,EAAMjC,YADlE,CAGJ,CACA2qD,iBACE,MAAM,IAACzgC,EAAKhe,SAAS,gBAACmd,GAAgB,KAAEkG,EAAI,IAAEE,EAAG,MAAEzvB,EAAK,OAAEE,GAAUjE,KAChEotB,IACFa,EAAI6C,OACJ7C,EAAI4G,UAAYzH,EAChBa,EAAI0gC,SAASr7B,EAAME,EAAKzvB,EAAOE,GAC/BgqB,EAAIiD,UAER,CACAwpB,qBAAqBxtC,GACnB,MAAMouC,EAAOt7C,KAAKiQ,QAAQqrC,KAC1B,IAAKt7C,KAAK4pD,eAAiBtO,EAAKqF,QAC9B,OAAO,EAET,MACMrxC,EADQtP,KAAK62C,MACC+X,WAAU90C,GAAKA,EAAE5M,QAAUA,IAC/C,OAAIoC,GAAS,EACEgsC,EAAKphB,WAAWl6B,KAAK0xB,WAAWpiB,IACjC4lB,UAEP,CACT,CACA25B,SAAS3b,GACP,MAAMoI,EAAOt7C,KAAKiQ,QAAQqrC,KACpBrtB,EAAMjuB,KAAKiuB,IACX5W,EAAQrX,KAAKglD,iBAAmBhlD,KAAKglD,eAAiBhlD,KAAKssD,sBAAsBpZ,IACvF,IAAI7oC,EAAG6E,EACP,MAAM4/C,EAAW,CAACrlC,EAAIC,EAAImE,KACnBA,EAAM9pB,OAAU8pB,EAAMvC,QAG3B2C,EAAI6C,OACJ7C,EAAIiH,UAAYrH,EAAM9pB,MACtBkqB,EAAIgH,YAAcpH,EAAMvC,MACxB2C,EAAI8gC,YAAYlhC,EAAMuX,YAAc,IACpCnX,EAAI+gC,eAAiBnhC,EAAMwX,iBAC3BpX,EAAIuE,YACJvE,EAAI2E,OAAOnJ,EAAG7Y,EAAG6Y,EAAG3Y,GACpBmd,EAAI4E,OAAOnJ,EAAG9Y,EAAG8Y,EAAG5Y,GACpBmd,EAAIgF,SACJhF,EAAIiD,UAAS,EAEf,GAAIoqB,EAAKqF,QACP,IAAKt2C,EAAI,EAAG6E,EAAOmI,EAAMvI,OAAQzE,EAAI6E,IAAQ7E,EAAG,CAC9C,MAAM6H,EAAOmF,EAAMhN,GACfixC,EAAKoH,iBACPoM,EACE,CAACl+C,EAAGsB,EAAKi7C,GAAIr8C,EAAGoB,EAAKk7C,IACrB,CAACx8C,EAAGsB,EAAKm7C,GAAIv8C,EAAGoB,EAAKo7C,IACrBp7C,GAGAopC,EAAKqH,WACPmM,EACE,CAACl+C,EAAGsB,EAAK66C,IAAKj8C,EAAGoB,EAAK86C,KACtB,CAACp8C,EAAGsB,EAAK+6C,IAAKn8C,EAAGoB,EAAKg7C,KACtB,CACE5hC,MAAOpZ,EAAK4wC,UACZ/+C,MAAOmO,EAAK2wC,UACZzd,WAAYlzB,EAAK07C,eACjBvoB,iBAAkBnzB,EAAK27C,sBAI/B,CAEJ,CACApL,aACE,MAAM,MAACz8C,EAAK,IAAEioB,EAAKhe,SAAS,KAACqrC,IAASt7C,KAChCysD,EAAanR,EAAKphB,WAAWl6B,KAAK0xB,cAClCg7B,EAAYpR,EAAKmH,WAAagK,EAAW/oD,YAAc,EAC7D,IAAKgpD,EACH,OAEF,MAAMuC,EAAgB3T,EAAKphB,WAAWl6B,KAAK0xB,WAAW,IAAIwD,UACpD23B,EAAc7sD,KAAK2lD,aACzB,IAAIwH,EAAIE,EAAID,EAAIE,EACZttD,KAAK24C,gBACPwU,EAAK/7B,GAAYprB,EAAOhG,KAAKszB,KAAMo5B,GAAaA,EAAY,EAC5DW,EAAKj8B,GAAYprB,EAAOhG,KAAKuzB,MAAO07B,GAAiBA,EAAgB,EACrE7B,EAAKE,EAAKT,IAEVO,EAAKh8B,GAAYprB,EAAOhG,KAAKwzB,IAAKk5B,GAAaA,EAAY,EAC3DY,EAAKl8B,GAAYprB,EAAOhG,KAAKyzB,OAAQw7B,GAAiBA,EAAgB,EACtE9B,EAAKE,EAAKR,GAEZ5+B,EAAI6C,OACJ7C,EAAIiH,UAAYu3B,EAAW/oD,YAC3BuqB,EAAIgH,YAAcw3B,EAAWhpD,YAC7BwqB,EAAIuE,YACJvE,EAAI2E,OAAOu6B,EAAIC,GACfn/B,EAAI4E,OAAOw6B,EAAIC,GACfr/B,EAAIgF,SACJhF,EAAIiD,SACN,CACAg+B,WAAWhc,GAET,IADoBlzC,KAAKiQ,QAAQ4mC,MAChB8J,QACf,OAEF,MAAM1yB,EAAMjuB,KAAKiuB,IACXmF,EAAOpzB,KAAKyuD,oBACdr7B,GACFM,GAASzF,EAAKmF,GAEhB,MAAM/b,EAAQrX,KAAKilD,cAAgBjlD,KAAKilD,YAAcjlD,KAAK8tD,mBAAmB5a,IAC9E,IAAI7oC,EAAG6E,EACP,IAAK7E,EAAI,EAAG6E,EAAOmI,EAAMvI,OAAQzE,EAAI6E,IAAQ7E,EAAG,CAC9C,MAAM6H,EAAOmF,EAAMhN,GACbkhD,EAAWr5C,EAAKyb,KAChBnqB,EAAQ0O,EAAK1O,MACf0O,EAAKo8C,WACPrgC,EAAI4G,UAAY3iB,EAAKo8C,SAAShjC,MAC9B2C,EAAI0gC,SAASz8C,EAAKo8C,SAASh7B,KAAMphB,EAAKo8C,SAAS96B,IAAKthB,EAAKo8C,SAASvqD,MAAOmO,EAAKo8C,SAASrqD,SAGzFswB,GAAWtG,EAAKzqB,EAAO,EADf0O,EAAKg8C,WACgB3C,EAAUr5C,EACzC,CACIkhB,GACFQ,GAAW3F,EAEf,CACAkhC,YACE,MAAM,IAAClhC,EAAKhe,SAAS,SAACw0C,EAAQ,MAAEnkD,EAAK,QAAEqO,IAAY3O,KACnD,IAAKM,EAAMqgD,QACT,OAEF,MAAMhzB,EAAOuJ,GAAO52B,EAAMqtB,MACpBo1B,EAAU9rB,GAAU32B,EAAMyiD,SAC1B7qC,EAAQ5X,EAAM4X,MACpB,IAAImjC,EAAS1tB,EAAKG,WAAa,EACd,WAAb22B,GAAsC,WAAbA,GAAyBh3C,EAASg3C,IAC7DpJ,GAAU0H,EAAQtvB,OACdtmB,EAAQ7M,EAAMk0B,QAChB6mB,GAAU1tB,EAAKG,YAAcxtB,EAAMk0B,KAAK1lB,OAAS,KAGnDusC,GAAU0H,EAAQvvB,IAEpB,MAAM,OAAC47B,EAAM,OAAEC,EAAM,SAAErrD,EAAQ,SAAEmuB,GAphCrC,SAAmBrD,EAAOusB,EAAQoJ,EAAUvsC,GAC1C,MAAM,IAACsb,EAAG,KAAEF,EAAI,OAAEG,EAAM,MAAEF,EAAK,MAAEvtB,GAAS8oB,GACpC,UAACokB,EAAS,OAAEnkB,GAAU/oB,EAC5B,IACIhC,EAAUorD,EAAQC,EADlBl9B,EAAW,EAEf,MAAMluB,EAASwvB,EAASD,EAClBzvB,EAAQwvB,EAAQD,EACtB,GAAIxE,EAAM6pB,eAAgB,CAExB,GADAyW,EAASj3C,GAAeD,EAAOob,EAAMC,GACjC9lB,EAASg3C,GAAW,CACtB,MAAM8I,EAAiBlgD,OAAOwB,KAAK41C,GAAU,GACvCv3C,EAAQu3C,EAAS8I,GACvB8B,EAAStgC,EAAOw+B,GAAgBt0C,iBAAiB/L,GAASjJ,EAASo3C,CACrE,MACEgU,EADsB,WAAb5K,GACCvR,EAAUzf,OAASyf,EAAU1f,KAAO,EAAIvvB,EAASo3C,EAElDyI,GAAeh1B,EAAO21B,EAAUpJ,GAE3Cr3C,EAAWuvB,EAAQD,CACrB,KAAO,CACL,GAAI7lB,EAASg3C,GAAW,CACtB,MAAM8I,EAAiBlgD,OAAOwB,KAAK41C,GAAU,GACvCv3C,EAAQu3C,EAAS8I,GACvB6B,EAASrgC,EAAOw+B,GAAgBt0C,iBAAiB/L,GAASnJ,EAAQs3C,CACpE,MACE+T,EADsB,WAAb3K,GACCvR,EAAU5f,KAAO4f,EAAU3f,OAAS,EAAIxvB,EAAQs3C,EAEjDyI,GAAeh1B,EAAO21B,EAAUpJ,GAE3CgU,EAASl3C,GAAeD,EAAOub,EAAQD,GACvCrB,EAAwB,SAAbsyB,GAAuB9xC,EAAUA,CAC9C,CACA,MAAO,CAACy8C,SAAQC,SAAQrrD,WAAUmuB,WACpC,CAm/BiDm9B,CAAUtvD,KAAMq7C,EAAQoJ,EAAUvsC,GAC/Eqc,GAAWtG,EAAK3tB,EAAMk0B,KAAM,EAAG,EAAG7G,EAAM,CACtCrC,MAAOhrB,EAAMgrB,MACbtnB,WACAmuB,WACA2C,UAAW0vB,GAAWtsC,EAAOusC,EAAU91C,GACvComB,aAAc,SACdH,YAAa,CAACw6B,EAAQC,IAE1B,CACA1oB,KAAKuM,GACElzC,KAAK4pD,eAGV5pD,KAAK0uD,iBACL1uD,KAAK6uD,SAAS3b,GACdlzC,KAAKyiD,aACLziD,KAAKmvD,YACLnvD,KAAKkvD,WAAWhc,GAClB,CACAqc,UACE,MAAM96B,EAAOz0B,KAAKiQ,QACZu/C,EAAK/6B,EAAKoiB,OAASpiB,EAAKoiB,MAAM4Y,GAAK,EACnCC,EAAK3hD,EAAe0mB,EAAK6mB,MAAQ7mB,EAAK6mB,KAAKmU,GAAI,GACrD,OAAKzvD,KAAK4pD,cAAgB5pD,KAAK2mC,OAASge,GAAMr3C,UAAUq5B,KAQjD,CAAC,CACN8oB,EAAGC,EACH/oB,KAAOuM,IACLlzC,KAAK0uD,iBACL1uD,KAAK6uD,SAAS3b,GACdlzC,KAAKmvD,WAAW,GAEjB,CACDM,EAAGC,EAAK,EACR/oB,KAAM,KACJ3mC,KAAKyiD,YAAY,GAElB,CACDgN,EAAGD,EACH7oB,KAAOuM,IACLlzC,KAAKkvD,WAAWhc,EAAU,IAtBrB,CAAC,CACNuc,EAAGD,EACH7oB,KAAOuM,IACLlzC,KAAK2mC,KAAKuM,EAAU,GAsB5B,CACAxG,wBAAwBtpC,GACtB,MAAM4iD,EAAQhmD,KAAKgG,MAAM2pD,+BACnBC,EAAS5vD,KAAK6Y,KAAO,SACrBvS,EAAS,GACf,IAAI+D,EAAG6E,EACP,IAAK7E,EAAI,EAAG6E,EAAO82C,EAAMl3C,OAAQzE,EAAI6E,IAAQ7E,EAAG,CAC9C,MAAMgO,EAAO2tC,EAAM37C,GACfgO,EAAKu3C,KAAY5vD,KAAKgN,IAAQ5J,GAAQiV,EAAKjV,OAASA,GACtDkD,EAAOgL,KAAK+G,EAEhB,CACA,OAAO/R,CACT,CACAslD,wBAAwBt8C,GAEtB,OAAO4nB,GADMl3B,KAAKiQ,QAAQ4mC,MAAM3c,WAAWl6B,KAAK0xB,WAAWpiB,IACxCqe,KACrB,CACAkiC,aACE,MAAM1rD,EAAWnE,KAAK4rD,wBAAwB,GAAG99B,WACjD,OAAQ9tB,KAAK24C,eAAiB34C,KAAK+D,MAAQ/D,KAAKiE,QAAUE,CAC5D,EAGF,MAAM2rD,GACJ/lC,YAAY3mB,EAAM4pB,EAAOoC,GACvBpvB,KAAKoD,KAAOA,EACZpD,KAAKgtB,MAAQA,EACbhtB,KAAKovB,SAAWA,EAChBpvB,KAAKqX,MAAQhK,OAAOsC,OAAO,KAC7B,CACAogD,UAAU3sD,GACR,OAAOiK,OAAOC,UAAU0iD,cAAcziD,KAAKvN,KAAKoD,KAAKkK,UAAWlK,EAAKkK,UACvE,CACAjC,SAAS6G,GACP,MAAMiX,EAAQ9b,OAAOgsB,eAAennB,GACpC,IAAI+9C,GA+DR,SAA2B9mC,GACzB,MAAO,OAAQA,GAAS,aAAcA,CACxC,EAhEQ+mC,CAAkB/mC,KACpB8mC,EAAcjwD,KAAKqL,SAAS8d,IAE9B,MAAM9R,EAAQrX,KAAKqX,MACbrK,EAAKkF,EAAKlF,GACVggB,EAAQhtB,KAAKgtB,MAAQ,IAAMhgB,EACjC,IAAKA,EACH,MAAM,IAAIqtB,MAAM,2BAA6BnoB,GAE/C,OAAIlF,KAAMqK,IAGVA,EAAMrK,GAAMkF,EAyBhB,SAA0BA,EAAM8a,EAAOijC,GACrC,MAAME,EAAe//C,EAAM/C,OAAOsC,OAAO,MAAO,CAC9CsgD,EAAchjC,GAASkC,IAAI8gC,GAAe,CAAC,EAC3ChjC,GAASkC,IAAInC,GACb9a,EAAK+a,WAEPA,GAAS3V,IAAI0V,EAAOmjC,GAChBj+C,EAAKqvC,eAOX,SAAuBv0B,EAAOojC,GAC5B/iD,OAAOwB,KAAKuhD,GAAQj5C,SAAQpD,IAC1B,MAAMs8C,EAAgBt8C,EAAS5C,MAAM,KAC/Bm/C,EAAaD,EAActpB,MAC3BwpB,EAAc,CAACvjC,GAAOupB,OAAO8Z,GAAe/1B,KAAK,KACjDppB,EAAQk/C,EAAOr8C,GAAU5C,MAAM,KAC/Bqe,EAAate,EAAM61B,MACnBxX,EAAcre,EAAMopB,KAAK,KAC/BrN,GAASoC,MAAMkhC,EAAaD,EAAY/gC,EAAaC,EAAW,GAEpE,CAhBIghC,CAAcxjC,EAAO9a,EAAKqvC,eAExBrvC,EAAK4a,aACPG,GAASiC,SAASlC,EAAO9a,EAAK4a,YAElC,CArCI2jC,CAAiBv+C,EAAM8a,EAAOijC,GAC1BjwD,KAAKovB,UACPnC,GAASmC,SAASld,EAAKlF,GAAIkF,EAAK2a,YALzBG,CAQX,CACAmC,IAAIniB,GACF,OAAOhN,KAAKqX,MAAMrK,EACpB,CACA0jD,WAAWx+C,GACT,MAAMmF,EAAQrX,KAAKqX,MACbrK,EAAKkF,EAAKlF,GACVggB,EAAQhtB,KAAKgtB,MACfhgB,KAAMqK,UACDA,EAAMrK,GAEXggB,GAAShgB,KAAMigB,GAASD,YACnBC,GAASD,GAAOhgB,GACnBhN,KAAKovB,iBACAvC,GAAU7f,GAGvB,EAqHF,IAAI2jD,GAAW,IAtFf,MACE5mC,cACE/pB,KAAK4wD,YAAc,IAAId,GAAcjiB,GAAmB,YAAY,GACpE7tC,KAAKytB,SAAW,IAAIqiC,GAAc7O,GAAS,YAC3CjhD,KAAK6D,QAAU,IAAIisD,GAAcziD,OAAQ,WACzCrN,KAAK+uB,OAAS,IAAI+gC,GAAcnL,GAAO,UACvC3kD,KAAK6wD,iBAAmB,CAAC7wD,KAAK4wD,YAAa5wD,KAAK+uB,OAAQ/uB,KAAKytB,SAC/D,CACAjW,OAAOlJ,GACLtO,KAAK8wD,MAAM,WAAYxiD,EACzB,CACAs5B,UAAUt5B,GACRtO,KAAK8wD,MAAM,aAAcxiD,EAC3B,CACAyiD,kBAAkBziD,GAChBtO,KAAK8wD,MAAM,WAAYxiD,EAAMtO,KAAK4wD,YACpC,CACA9hB,eAAexgC,GACbtO,KAAK8wD,MAAM,WAAYxiD,EAAMtO,KAAKytB,SACpC,CACAujC,cAAc1iD,GACZtO,KAAK8wD,MAAM,WAAYxiD,EAAMtO,KAAK6D,QACpC,CACAotD,aAAa3iD,GACXtO,KAAK8wD,MAAM,WAAYxiD,EAAMtO,KAAK+uB,OACpC,CACAmiC,cAAclkD,GACZ,OAAOhN,KAAKmxD,KAAKnkD,EAAIhN,KAAK4wD,YAAa,aACzC,CACAQ,WAAWpkD,GACT,OAAOhN,KAAKmxD,KAAKnkD,EAAIhN,KAAKytB,SAAU,UACtC,CACA4jC,UAAUrkD,GACR,OAAOhN,KAAKmxD,KAAKnkD,EAAIhN,KAAK6D,QAAS,SACrC,CACAytD,SAAStkD,GACP,OAAOhN,KAAKmxD,KAAKnkD,EAAIhN,KAAK+uB,OAAQ,QACpC,CACAwiC,qBAAqBjjD,GACnBtO,KAAK8wD,MAAM,aAAcxiD,EAAMtO,KAAK4wD,YACtC,CACAY,kBAAkBljD,GAChBtO,KAAK8wD,MAAM,aAAcxiD,EAAMtO,KAAKytB,SACtC,CACAgkC,iBAAiBnjD,GACftO,KAAK8wD,MAAM,aAAcxiD,EAAMtO,KAAK6D,QACtC,CACA6tD,gBAAgBpjD,GACdtO,KAAK8wD,MAAM,aAAcxiD,EAAMtO,KAAK+uB,OACtC,CACA+hC,MAAMrnB,EAAQn7B,EAAMqjD,GAClB,IAAIrjD,GAAM6I,SAAQy6C,IAChB,MAAMC,EAAMF,GAAiB3xD,KAAK8xD,oBAAoBF,GAClDD,GAAiBE,EAAI9B,UAAU6B,IAASC,IAAQ7xD,KAAK6D,SAAW+tD,EAAI5kD,GACtEhN,KAAK+xD,MAAMtoB,EAAQooB,EAAKD,GAExBnjD,EAAKmjD,GAAK1/C,IACR,MAAM8/C,EAAUL,GAAiB3xD,KAAK8xD,oBAAoB5/C,GAC1DlS,KAAK+xD,MAAMtoB,EAAQuoB,EAAS9/C,EAAK,GAErC,GAEJ,CACA6/C,MAAMtoB,EAAQknB,EAAUsB,GACtB,MAAMC,EAAczgD,EAAYg4B,GAChCr7B,EAAS6jD,EAAU,SAAWC,GAAc,GAAID,GAChDtB,EAASlnB,GAAQwoB,GACjB7jD,EAAS6jD,EAAU,QAAUC,GAAc,GAAID,EACjD,CACAH,oBAAoB1uD,GAClB,IAAK,IAAIiH,EAAI,EAAGA,EAAIrK,KAAK6wD,iBAAiB/hD,OAAQzE,IAAK,CACrD,MAAMwnD,EAAM7xD,KAAK6wD,iBAAiBxmD,GAClC,GAAIwnD,EAAI9B,UAAU3sD,GAChB,OAAOyuD,CAEX,CACA,OAAO7xD,KAAK6D,OACd,CACAstD,KAAKnkD,EAAI2kD,EAAevuD,GACtB,MAAM8O,EAAOy/C,EAAcxiC,IAAIniB,GAC/B,QAAage,IAAT9Y,EACF,MAAM,IAAImoB,MAAM,IAAMrtB,EAAK,yBAA2B5J,EAAO,KAE/D,OAAO8O,CACT,GAIF,MAAMjG,WAA0B4hC,GAC9B7E,OAAO1a,GACL,MAAMjW,EAAOrY,KAAK6sC,aACXjrC,KAAM0W,EAAS,IAAMD,EACtBE,EAAqBvY,KAAKgG,MAAMsuC,oBACtC,IAAI,MAAC7+B,EAAK,MAAEgD,GAASL,GAAiCC,EAAMC,EAAQC,GAOpE,GANAvY,KAAKquC,WAAa54B,EAClBzV,KAAKsuC,WAAa71B,EACdS,GAAoBb,KACtB5C,EAAQ,EACRgD,EAAQH,EAAOxJ,QAEb9O,KAAKiQ,QAAQ+e,SAAU,CACzB,MAAOggB,QAASxuC,EAAI,SAAE0+C,GAAY7mC,EAClC7X,EAAK6pC,OAASrqC,KAAKgG,MACnBxF,EAAK2+C,cAAgBn/C,KAAKsP,MAC1B9O,EAAK4+C,aAAeF,EAASE,WAC7B5+C,EAAK8X,OAASA,EACd,MAAMrI,EAAUjQ,KAAKmzC,6BAA6B7kB,GAClDre,EAAQlF,QAAU/K,KAAKiQ,QAAQlF,QAC/B/K,KAAK20C,cAAcn0C,OAAMwqB,EAAW,CAClCq0B,UAAW9mC,EACXtI,WACCqe,EACL,CACAtuB,KAAKw1C,eAAel9B,EAAQ7C,EAAOgD,EAAO6V,EAC5C,CACAwgB,cACE,MAAM,SAAC9f,GAAYhvB,KAAKiQ,SACnBjQ,KAAK0wC,oBAAsB1hB,IAC9BhvB,KAAK0wC,mBAAqBigB,GAASS,WAAW,SAEhD5Y,MAAM1J,aACR,CACA0G,eAAel9B,EAAQ7C,EAAOgD,EAAO6V,GACnC,MAAM/mB,EAAiB,UAAT+mB,GACR,OAAC3V,EAAM,OAAE6zB,EAAM,SAAEqC,EAAQ,SAAEqQ,GAAYl/C,KAAK6sC,YAC5C2H,EAAYx0C,KAAKozC,0BAA0B39B,EAAO6Y,GAClD+lB,EAAgBr0C,KAAKm0C,iBAAiBK,GACtCJ,EAAiBp0C,KAAKo0C,eAAe9lB,EAAM+lB,GAC3CtH,EAAQp0B,EAAOE,KACfm0B,EAAQR,EAAO3zB,MACf,SAACykB,EAAQ,QAAEvyB,GAAW/K,KAAKiQ,QAC3BqvC,EAAe7rC,EAAS6pB,GAAYA,EAAW3vB,OAAO8E,kBACtD8sC,EAAev/C,KAAKgG,MAAMsuC,qBAAuB/sC,GAAkB,SAAT+mB,EAChE,IAAIkxB,EAAa/pC,EAAQ,GAAKzV,KAAK6xC,UAAUp8B,EAAQ,GACrD,IAAK,IAAIpL,EAAIoL,EAAOpL,EAAIoL,EAAQgD,IAASpO,EAAG,CAC1C,MAAM8oB,EAAQ7a,EAAOjO,GACf0xB,EAAS/7B,KAAK6xC,UAAUxnC,GACxBu/B,EAAa2V,EAAepsB,EAAQ,CAAC,EACrCssB,EAAWxyC,EAAc8uB,EAAOiR,IAChC1O,EAASsL,EAAWmD,GAASp0B,EAAOM,iBAAiB8iB,EAAOgR,GAAQ1iC,GACpEk0B,EAASqL,EAAWoD,GAASzlC,GAASk4C,EAAWjT,EAAOkM,eAAiBlM,EAAOvzB,iBAAiB41B,EAAW7uC,KAAK2rC,WAAWa,EAAQzQ,EAAQ8S,GAAY9S,EAAOiR,GAAQ3iC,GAC7Ku/B,EAAWzN,KAAOxoB,MAAM2qB,IAAW3qB,MAAM4qB,IAAWkhB,EACpD7V,EAAWlC,KAAOr9B,EAAI,GAAMgI,KAAKwB,IAAIkoB,EAAOgR,GAASyS,EAAWzS,IAAWuS,EACvEv0C,IACF6+B,EAAW7N,OAASA,EACpB6N,EAAW0J,IAAM4L,EAASt9C,KAAKyI,IAE7B+pC,IACFxK,EAAW35B,QAAUokC,GAAiBr0C,KAAKozC,0BAA0B/oC,EAAG8oB,EAAM4V,OAAS,SAAWza,IAE/FixB,GACHv/C,KAAK20C,cAAcxhB,EAAO9oB,EAAGu/B,EAAYtb,GAE3CkxB,EAAazjB,CACf,CACA/7B,KAAK00C,oBAAoBL,EAAe/lB,EAAMkmB,EAChD,CACA5B,iBACE,MAAMv6B,EAAOrY,KAAK6sC,YACZjrC,EAAOyW,EAAKzW,MAAQ,GAC1B,IAAK5B,KAAKiQ,QAAQ+e,SAAU,CAC1B,IAAI/a,EAAM,EACV,IAAK,IAAI5J,EAAIzI,EAAKkN,OAAS,EAAGzE,GAAK,IAAKA,EACtC4J,EAAM5B,KAAK4B,IAAIA,EAAKrS,EAAKyI,GAAG4H,KAAKjS,KAAKozC,0BAA0B/oC,IAAM,GAExE,OAAO4J,EAAM,GAAKA,CACpB,CACA,MAAM+6B,EAAU32B,EAAK22B,QACf0Q,EAAS1Q,EAAQ/+B,SAAW++B,EAAQ/+B,QAAQvM,aAAe,EACjE,IAAK9B,EAAKkN,OACR,OAAO4wC,EAET,MAAMpjB,EAAa16B,EAAK,GAAGqQ,KAAKjS,KAAKozC,0BAA0B,IACzDuM,EAAY/9C,EAAKA,EAAKkN,OAAS,GAAGmD,KAAKjS,KAAKozC,0BAA0BxxC,EAAKkN,OAAS,IAC1F,OAAOuD,KAAK4B,IAAIyrC,EAAQpjB,EAAYqjB,GAAa,CACnD,EAEF1zC,GAAkBe,GAAK,UACvBf,GAAkBghB,SAAW,CAC3ByjB,oBAAoB,EACpBgD,gBAAiB,QACjB1kB,UAAU,EACVgE,MAAM,GAER/mB,GAAkB4gB,UAAY,CAC5BwB,YAAa,CACXC,KAAM,SAERzqB,QAAS,CACP43C,QAAS,CACPxV,UAAW,CACT3lC,MAAK,IACI,GAETkD,MAAM0O,GACG,IAAMA,EAAK1O,MAAQ,KAAO0O,EAAK+sC,eAAiB,OAK/DlwB,OAAQ,CACNne,EAAG,CACDxN,KAAM,UAER0N,EAAG,CACD1N,KAAM,YAKZ,IAAIwtD,GAA2BvjD,OAAO0mC,OAAO,CAC7Coe,UAAW,KACXzmD,cAAeA,GACfC,iBAAkBA,GAClBC,mBAAoBA,GACpBC,eAAgBA,GAChBE,oBAAqBA,GACrBD,cAAeA,GACfE,gBAAiBA,GACjBC,kBAAmBA,KAGnB,SAAS,KACP,MAAM,IAAIouB,MAAM,kFAClB,CACA,MAAM+3B,GACJroC,YAAY9Z,GACVjQ,KAAKiQ,QAAUA,GAAW,CAAC,CAC7B,CACA41C,KAAKwM,GAAe,CACpBC,UACE,OAAO,IACT,CACAt2B,MAAM9uB,EAAOg2B,GACX,OAAO,IACT,CACAA,OAAOqvB,EAAWrvB,GAChB,OAAO,IACT,CACA1rB,IAAI+6C,EAAWC,EAAQC,GACrB,OAAO,IACT,CACA9nD,KAAK/J,EAAGoR,EAAGygD,GACT,OAAO,IACT,CACAC,QAAQH,EAAWE,EAAME,GACvB,OAAO,IACT,CACAC,MAAML,EAAWE,GACf,OAAO,IACT,EAEFL,GAAYhjC,SAAW,SAASyjC,GAC9BxlD,OAAOuM,OAAOw4C,GAAY9kD,UAAWulD,EACvC,EACA,IAAIC,GAAW,CACbC,MAAOX,IAGT,SAASY,GAAaC,EAASp6C,EAAM3L,EAAOqhB,GAC1C,MAAM,WAACqe,EAAU,KAAEhrC,EAAI,QAAE8W,GAAWu6C,EAC9Bt6C,EAASi0B,EAAWC,YAAYl0B,OACtC,GAAIA,GAAUE,IAASF,EAAOE,MAAiB,MAATA,GAAgBH,GAAW9W,EAAKkN,OAAQ,CAC5E,MAAMokD,EAAev6C,EAAO0sC,eAAiB1uC,EAAgBF,EAC7D,IAAK8X,EACH,OAAO2kC,EAAatxD,EAAMiX,EAAM3L,GAC3B,GAAI0/B,EAAWwB,eAAgB,CACpC,MAAMtM,EAAKlgC,EAAK,GACVqR,EAA+B,mBAAhB6uB,EAAGqxB,UAA2BrxB,EAAGqxB,SAASt6C,GAC/D,GAAI5F,EAAO,CACT,MAAMwC,EAAQy9C,EAAatxD,EAAMiX,EAAM3L,EAAQ+F,GACzCyC,EAAMw9C,EAAatxD,EAAMiX,EAAM3L,EAAQ+F,GAC7C,MAAO,CAACuD,GAAIf,EAAMe,GAAID,GAAIb,EAAIa,GAChC,CACF,CACF,CACA,MAAO,CAACC,GAAI,EAAGD,GAAI3U,EAAKkN,OAAS,EACnC,CACA,SAASskD,GAAyBptD,EAAO6S,EAAM4rC,EAAU4O,EAAS9kC,GAChE,MAAMkd,EAAWzlC,EAAM2pD,+BACjBziD,EAAQu3C,EAAS5rC,GACvB,IAAK,IAAIxO,EAAI,EAAG6E,EAAOu8B,EAAS38B,OAAQzE,EAAI6E,IAAQ7E,EAAG,CACrD,MAAM,MAACiF,EAAK,KAAE1N,GAAQ6pC,EAASphC,IACzB,GAACmM,EAAE,GAAED,GAAMy8C,GAAavnB,EAASphC,GAAIwO,EAAM3L,EAAOqhB,GACxD,IAAK,IAAIpE,EAAI3T,EAAI2T,GAAK5T,IAAM4T,EAAG,CAC7B,MAAMuV,EAAU99B,EAAKuoB,GAChBuV,EAAQvD,MACXk3B,EAAQ3zB,EAASpwB,EAAO6a,EAE5B,CACF,CACF,CAUA,SAASmpC,GAAkBttD,EAAOy+C,EAAU5rC,EAAMsoC,EAAkB3yB,GAClE,MAAMnX,EAAQ,GACd,OAAKmX,GAAqBxoB,EAAMutD,cAAc9O,IAW9C2O,GAAyBptD,EAAO6S,EAAM4rC,GARf,SAAS/kB,EAASrwB,EAAcC,IAChDkf,GAAqB0E,GAAewM,EAAS15B,EAAMktC,UAAW,KAG/DxT,EAAQ8zB,QAAQ/O,EAAS7zC,EAAG6zC,EAAS3zC,EAAGqwC,IAC1C9pC,EAAM/F,KAAK,CAACouB,UAASrwB,eAAcC,SAEvC,IACgE,GACzD+H,GAXEA,CAYX,CAsCA,SAASo8C,GAAgBztD,EAAOy+C,EAAU5rC,EAAM0V,EAAW4yB,EAAkB3yB,GAC3E,OAAKA,GAAqBxoB,EAAMutD,cAAc9O,GAG9B,MAAT5rC,GAAiB0V,EA7B1B,SAAkCvoB,EAAOy+C,EAAU5rC,EAAM0V,EAAW4yB,EAAkB3yB,GACpF,IAAInX,EAAQ,GACZ,MAAMq8C,EAvCR,SAAkC76C,GAChC,MAAM86C,GAA8B,IAAvB96C,EAAK9I,QAAQ,KACpB6jD,GAA8B,IAAvB/6C,EAAK9I,QAAQ,KAC1B,OAAO,SAASqF,EAAKC,GACnB,MAAMw+C,EAASF,EAAOthD,KAAKwB,IAAIuB,EAAIxE,EAAIyE,EAAIzE,GAAK,EAC1CkjD,EAASF,EAAOvhD,KAAKwB,IAAIuB,EAAItE,EAAIuE,EAAIvE,GAAK,EAChD,OAAOuB,KAAK0C,KAAK1C,KAAKiB,IAAIugD,EAAQ,GAAKxhD,KAAKiB,IAAIwgD,EAAQ,GAC1D,CACF,CA+ByBC,CAAyBl7C,GAChD,IAAIm7C,EAAcrmD,OAAO8E,kBAoBzB,OADA2gD,GAAyBptD,EAAO6S,EAAM4rC,GAlBtC,SAAwB/kB,EAASrwB,EAAcC,GAC7C,MAAMkkD,EAAU9zB,EAAQ8zB,QAAQ/O,EAAS7zC,EAAG6zC,EAAS3zC,EAAGqwC,GACxD,GAAI5yB,IAAcilC,EAChB,OAEF,MAAMra,EAASzZ,EAAQu0B,eAAe9S,GAEtC,IADsB3yB,IAAoBxoB,EAAMutD,cAAcpa,KACzCqa,EACnB,OAEF,MAAMt+C,EAAWw+C,EAAejP,EAAUtL,GACtCjkC,EAAW8+C,GACb38C,EAAQ,CAAC,CAACqoB,UAASrwB,eAAcC,UACjC0kD,EAAc9+C,GACLA,IAAa8+C,GACtB38C,EAAM/F,KAAK,CAACouB,UAASrwB,eAAcC,SAEvC,IAEO+H,CACT,CAOM68C,CAAyBluD,EAAOy+C,EAAU5rC,EAAM0V,EAAW4yB,EAAkB3yB,GA3CnF,SAA+BxoB,EAAOy+C,EAAU5rC,EAAMsoC,GACpD,IAAI9pC,EAAQ,GASZ,OADA+7C,GAAyBptD,EAAO6S,EAAM4rC,GAPtC,SAAwB/kB,EAASrwB,EAAcC,GAC7C,MAAM,WAACstC,EAAU,SAAEC,GAAYnd,EAAQ0hB,SAAS,CAAC,aAAc,YAAaD,IACtE,MAACnsC,GAASP,EAAkBirB,EAAS,CAAC9uB,EAAG6zC,EAAS7zC,EAAGE,EAAG2zC,EAAS3zC,IACnE0E,EAAcR,EAAO4nC,EAAYC,IACnCxlC,EAAM/F,KAAK,CAACouB,UAASrwB,eAAcC,SAEvC,IAEO+H,CACT,CA+BM88C,CAAsBnuD,EAAOy+C,EAAU5rC,EAAMsoC,GAHxC,EAKX,CACA,SAASiT,GAAapuD,EAAOy+C,EAAU5rC,EAAM0V,EAAW4yB,GACtD,MAAM9pC,EAAQ,GACRg9C,EAAuB,MAATx7C,EAAe,WAAa,WAChD,IAAIy7C,GAAiB,EAOrB,OANAlB,GAAyBptD,EAAO6S,EAAM4rC,GAAU,CAAC/kB,EAASrwB,EAAcC,KAClEowB,EAAQ20B,GAAa5P,EAAS5rC,GAAOsoC,KACvC9pC,EAAM/F,KAAK,CAACouB,UAASrwB,eAAcC,UACnCglD,EAAiBA,GAAkB50B,EAAQ8zB,QAAQ/O,EAAS7zC,EAAG6zC,EAAS3zC,EAAGqwC,GAC7E,IAEE5yB,IAAc+lC,EACT,GAEFj9C,CACT,CACA,IAAIk9C,GAAc,CAChBnB,4BACAoB,MAAO,CACLllD,MAAMtJ,EAAOuO,EAAGtE,EAASkxC,GACvB,MAAMsD,EAAWzkB,GAAoBzrB,EAAGvO,GAClC6S,EAAO5I,EAAQ4I,MAAQ,IACvB2V,EAAmBve,EAAQue,mBAAoB,EAC/CnX,EAAQpH,EAAQse,UAClB+kC,GAAkBttD,EAAOy+C,EAAU5rC,EAAMsoC,EAAkB3yB,GAC3DilC,GAAgBztD,EAAOy+C,EAAU5rC,GAAM,EAAOsoC,EAAkB3yB,GAC9Df,EAAW,GACjB,OAAKpW,EAAMvI,QAGX9I,EAAM2pD,+BAA+Bx4C,SAASkB,IAC5C,MAAM/I,EAAQ+H,EAAM,GAAG/H,MACjBowB,EAAUrnB,EAAKzW,KAAK0N,GACtBowB,IAAYA,EAAQvD,MACtB1O,EAASnc,KAAK,CAACouB,UAASrwB,aAAcgJ,EAAK/I,MAAOA,SACpD,IAEKme,GATE,EAUX,EACAuhB,QAAQhpC,EAAOuO,EAAGtE,EAASkxC,GACzB,MAAMsD,EAAWzkB,GAAoBzrB,EAAGvO,GAClC6S,EAAO5I,EAAQ4I,MAAQ,KACvB2V,EAAmBve,EAAQue,mBAAoB,EACrD,IAAInX,EAAQpH,EAAQse,UAChB+kC,GAAkBttD,EAAOy+C,EAAU5rC,EAAMsoC,EAAkB3yB,GAC7DilC,GAAgBztD,EAAOy+C,EAAU5rC,GAAM,EAAOsoC,EAAkB3yB,GAClE,GAAInX,EAAMvI,OAAS,EAAG,CACpB,MAAMO,EAAegI,EAAM,GAAGhI,aACxBzN,EAAOoE,EAAM+pC,eAAe1gC,GAAczN,KAChDyV,EAAQ,GACR,IAAK,IAAIhN,EAAI,EAAGA,EAAIzI,EAAKkN,SAAUzE,EACjCgN,EAAM/F,KAAK,CAACouB,QAAS99B,EAAKyI,GAAIgF,eAAcC,MAAOjF,GAEvD,CACA,OAAOgN,CACT,EACA8b,MAAK,CAACntB,EAAOuO,EAAGtE,EAASkxC,IAIhBmS,GAAkBttD,EAHRg6B,GAAoBzrB,EAAGvO,GAC3BiK,EAAQ4I,MAAQ,KAEmBsoC,EADvBlxC,EAAQue,mBAAoB,GAGvDimC,QAAQzuD,EAAOuO,EAAGtE,EAASkxC,GACzB,MAAMsD,EAAWzkB,GAAoBzrB,EAAGvO,GAClC6S,EAAO5I,EAAQ4I,MAAQ,KACvB2V,EAAmBve,EAAQue,mBAAoB,EACrD,OAAOilC,GAAgBztD,EAAOy+C,EAAU5rC,EAAM5I,EAAQse,UAAW4yB,EAAkB3yB,EACrF,EACA5d,EAAC,CAAC5K,EAAOuO,EAAGtE,EAASkxC,IAEZiT,GAAapuD,EADHg6B,GAAoBzrB,EAAGvO,GACH,IAAKiK,EAAQse,UAAW4yB,GAE/DrwC,EAAC,CAAC9K,EAAOuO,EAAGtE,EAASkxC,IAEZiT,GAAapuD,EADHg6B,GAAoBzrB,EAAGvO,GACH,IAAKiK,EAAQse,UAAW4yB,KAKnE,MAAMuT,GAAmB,CAAC,OAAQ,MAAO,QAAS,UAClD,SAASC,GAAiBxqD,EAAOs6C,GAC/B,OAAOt6C,EAAMwwB,QAAOhqB,GAAKA,EAAEovB,MAAQ0kB,GACrC,CACA,SAASmQ,GAA4BzqD,EAAO0O,GAC1C,OAAO1O,EAAMwwB,QAAOhqB,IAA0C,IAArC+jD,GAAiB3kD,QAAQY,EAAEovB,MAAepvB,EAAE2vB,IAAIznB,OAASA,GACpF,CACA,SAASg8C,GAAa1qD,EAAOwE,GAC3B,OAAOxE,EAAMqsC,MAAK,CAAC51C,EAAGoR,KACpB,MAAM7C,EAAKR,EAAUqD,EAAIpR,EACnBwO,EAAKT,EAAU/N,EAAIoR,EACzB,OAAO7C,EAAGoc,SAAWnc,EAAGmc,OACtBpc,EAAGG,MAAQF,EAAGE,MACdH,EAAGoc,OAASnc,EAAGmc,MAAM,GAE3B,CAqEA,SAASupC,GAAeC,EAAY7hB,EAAWtyC,EAAGoR,GAChD,OAAOK,KAAK4B,IAAI8gD,EAAWn0D,GAAIsyC,EAAUtyC,IAAMyR,KAAK4B,IAAI8gD,EAAW/iD,GAAIkhC,EAAUlhC,GACnF,CACA,SAASgjD,GAAiBD,EAAYE,GACpCF,EAAWvhC,IAAMnhB,KAAK4B,IAAI8gD,EAAWvhC,IAAKyhC,EAAWzhC,KACrDuhC,EAAWzhC,KAAOjhB,KAAK4B,IAAI8gD,EAAWzhC,KAAM2hC,EAAW3hC,MACvDyhC,EAAWthC,OAASphB,KAAK4B,IAAI8gD,EAAWthC,OAAQwhC,EAAWxhC,QAC3DshC,EAAWxhC,MAAQlhB,KAAK4B,IAAI8gD,EAAWxhC,MAAO0hC,EAAW1hC,MAC3D,CACA,SAAS2hC,GAAWhiB,EAAWiiB,EAAQC,EAAQjpB,GAC7C,MAAM,IAACpM,EAAG,IAAEO,GAAO80B,EACbL,EAAa7hB,EAAU6hB,WAC7B,IAAKtnD,EAASsyB,GAAM,CACdq1B,EAAOnjD,OACTihC,EAAUnT,IAAQq1B,EAAOnjD,MAE3B,MAAM25B,EAAQO,EAAOipB,EAAOxpB,QAAU,CAAC35B,KAAM,EAAGwG,MAAO,GACvDmzB,EAAM35B,KAAOI,KAAK4B,IAAI23B,EAAM35B,KAAMmjD,EAAOvd,WAAavX,EAAIr8B,OAASq8B,EAAIv8B,OACvEqxD,EAAOnjD,KAAO25B,EAAM35B,KAAO25B,EAAMnzB,MACjCy6B,EAAUnT,IAAQq1B,EAAOnjD,IAC3B,CACIquB,EAAI2lB,YACN+O,GAAiBD,EAAYz0B,EAAI2lB,cAEnC,MAAMoP,EAAWhjD,KAAK4B,IAAI,EAAGkhD,EAAOG,WAAaR,GAAeC,EAAY7hB,EAAW,OAAQ,UACzFqiB,EAAYljD,KAAK4B,IAAI,EAAGkhD,EAAOK,YAAcV,GAAeC,EAAY7hB,EAAW,MAAO,WAC1FuiB,EAAeJ,IAAaniB,EAAUt1B,EACtC83C,EAAgBH,IAAcriB,EAAU32B,EAG9C,OAFA22B,EAAUt1B,EAAIy3C,EACdniB,EAAU32B,EAAIg5C,EACPH,EAAOvd,WACV,CAAC8d,KAAMF,EAAcG,MAAOF,GAC5B,CAACC,KAAMD,EAAeE,MAAOH,EACnC,CAaA,SAASI,GAAWhe,EAAY3E,GAC9B,MAAM6hB,EAAa7hB,EAAU6hB,WAQ7B,OAPA,SAA4Bp1B,GAC1B,MAAMtM,EAAS,CAACC,KAAM,EAAGE,IAAK,EAAGD,MAAO,EAAGE,OAAQ,GAInD,OAHAkM,EAAUxoB,SAAS4oB,IACjB1M,EAAO0M,GAAO1tB,KAAK4B,IAAIi/B,EAAUnT,GAAMg1B,EAAWh1B,GAAK,IAElD1M,CACT,CAEIyiC,CADGje,EACgB,CAAC,OAAQ,SACT,CAAC,MAAO,UACjC,CACA,SAASke,GAASC,EAAO9iB,EAAWiiB,EAAQhpB,GAC1C,MAAM8pB,EAAa,GACnB,IAAI5rD,EAAG6E,EAAMkmD,EAAQ90B,EAAK41B,EAAOv8C,EACjC,IAAKtP,EAAI,EAAG6E,EAAO8mD,EAAMlnD,OAAQonD,EAAQ,EAAG7rD,EAAI6E,IAAQ7E,EAAG,CACzD+qD,EAASY,EAAM3rD,GACfi2B,EAAM80B,EAAO90B,IACbA,EAAI0I,OACFosB,EAAOrxD,OAASmvC,EAAUt1B,EAC1Bw3C,EAAOnxD,QAAUivC,EAAU32B,EAC3Bs5C,GAAWT,EAAOvd,WAAY3E,IAEhC,MAAM,KAACyiB,EAAI,MAAEC,GAASV,GAAWhiB,EAAWiiB,EAAQC,EAAQjpB,GAC5D+pB,GAASP,GAAQM,EAAWnnD,OAC5B6K,EAAUA,GAAWi8C,EAChBt1B,EAAI4qB,UACP+K,EAAW3kD,KAAK8jD,EAEpB,CACA,OAAOc,GAASH,GAASE,EAAY/iB,EAAWiiB,EAAQhpB,IAAWxyB,CACrE,CACA,SAASw8C,GAAW71B,EAAKhN,EAAME,EAAKzvB,EAAOE,GACzCq8B,EAAI9M,IAAMA,EACV8M,EAAIhN,KAAOA,EACXgN,EAAI/M,MAAQD,EAAOvvB,EACnBu8B,EAAI7M,OAASD,EAAMvvB,EACnBq8B,EAAIv8B,MAAQA,EACZu8B,EAAIr8B,OAASA,CACf,CACA,SAASmyD,GAAWJ,EAAO9iB,EAAWiiB,EAAQhpB,GAC5C,MAAMkqB,EAAclB,EAAOpS,QAC3B,IAAI,EAACnyC,EAAC,EAAEE,GAAKoiC,EACb,IAAK,MAAMkiB,KAAUY,EAAO,CAC1B,MAAM11B,EAAM80B,EAAO90B,IACbsL,EAAQO,EAAOipB,EAAOxpB,QAAU,CAACnzB,MAAO,EAAG69C,OAAQ,EAAG/qC,OAAQ,GAC9DA,EAAU6pC,EAAOmB,YAAc3qB,EAAMrgB,QAAW,EACtD,GAAI6pC,EAAOvd,WAAY,CACrB,MAAM9zC,EAAQmvC,EAAUt1B,EAAI2N,EACtBtnB,EAAS2nC,EAAM35B,MAAQquB,EAAIr8B,OAC7B4N,EAAQ+5B,EAAMn2B,SAChB3E,EAAI86B,EAAMn2B,OAER6qB,EAAI4qB,SACNiL,GAAW71B,EAAK+1B,EAAY/iC,KAAMxiB,EAAGqkD,EAAOG,WAAae,EAAY9iC,MAAQ8iC,EAAY/iC,KAAMrvB,GAE/FkyD,GAAW71B,EAAK4S,EAAU5f,KAAOsY,EAAM0qB,OAAQxlD,EAAG/M,EAAOE,GAE3D2nC,EAAMn2B,MAAQ3E,EACd86B,EAAM0qB,QAAUvyD,EAChB+M,EAAIwvB,EAAI7M,MACV,KAAO,CACL,MAAMxvB,EAASivC,EAAU32B,EAAIgP,EACvBxnB,EAAQ6nC,EAAM35B,MAAQquB,EAAIv8B,MAC5B8N,EAAQ+5B,EAAMn2B,SAChB7E,EAAIg7B,EAAMn2B,OAER6qB,EAAI4qB,SACNiL,GAAW71B,EAAK1vB,EAAGylD,EAAY7iC,IAAKzvB,EAAOoxD,EAAOK,YAAca,EAAY5iC,OAAS4iC,EAAY7iC,KAEjG2iC,GAAW71B,EAAK1vB,EAAGsiC,EAAU1f,IAAMoY,EAAM0qB,OAAQvyD,EAAOE,GAE1D2nC,EAAMn2B,MAAQ7E,EACdg7B,EAAM0qB,QAAUryD,EAChB2M,EAAI0vB,EAAI/M,KACV,CACF,CACA2f,EAAUtiC,EAAIA,EACdsiC,EAAUpiC,EAAIA,CAChB,CACAmc,GAAS3V,IAAI,SAAU,CACrBk/C,aAAa,EACbzT,QAAS,CACPvvB,IAAK,EACLD,MAAO,EACPE,OAAQ,EACRH,KAAM,KAGV,IAAImjC,GAAU,CACZC,OAAO1wD,EAAOkM,GACPlM,EAAMgwD,QACThwD,EAAMgwD,MAAQ,IAEhB9jD,EAAKg5C,SAAWh5C,EAAKg5C,WAAY,EACjCh5C,EAAKuyC,SAAWvyC,EAAKuyC,UAAY,MACjCvyC,EAAKqZ,OAASrZ,EAAKqZ,QAAU,EAC7BrZ,EAAKq9C,QAAUr9C,EAAKq9C,SAAW,WAC7B,MAAO,CAAC,CACNE,EAAG,EACH9oB,KAAKuM,GACHhhC,EAAKy0B,KAAKuM,EACZ,GAEJ,EACAltC,EAAMgwD,MAAM1kD,KAAKY,EACnB,EACAykD,UAAU3wD,EAAO4wD,GACf,MAAMtnD,EAAQtJ,EAAMgwD,MAAQhwD,EAAMgwD,MAAMjmD,QAAQ6mD,IAAe,GAChD,IAAXtnD,GACFtJ,EAAMgwD,MAAM9+C,OAAO5H,EAAO,EAE9B,EACAi7B,UAAUvkC,EAAOkM,EAAMjC,GACrBiC,EAAKg5C,SAAWj7C,EAAQi7C,SACxBh5C,EAAKuyC,SAAWx0C,EAAQw0C,SACxBvyC,EAAKqZ,OAAStb,EAAQsb,MACxB,EACAyd,OAAOhjC,EAAOjC,EAAOE,EAAQ4yD,GAC3B,IAAK7wD,EACH,OAEF,MAAM+8C,EAAU9rB,GAAUjxB,EAAMiK,QAAQmlD,OAAOrS,SACzC+T,EAAiBzkD,KAAK4B,IAAIlQ,EAAQg/C,EAAQh/C,MAAO,GACjDgzD,EAAkB1kD,KAAK4B,IAAIhQ,EAAS8+C,EAAQ9+C,OAAQ,GACpD+xD,EA9LV,SAA0BA,GACxB,MAAMgB,EAnDR,SAAmBhB,GACjB,MAAMgB,EAAc,GACpB,IAAI3sD,EAAG6E,EAAMoxB,EAAKP,EAAK6L,EAAO2qB,EAC9B,IAAKlsD,EAAI,EAAG6E,GAAQ8mD,GAAS,IAAIlnD,OAAQzE,EAAI6E,IAAQ7E,EACnDi2B,EAAM01B,EAAM3rD,KACVo6C,SAAU1kB,EAAK9vB,SAAU27B,QAAO2qB,cAAc,IAAMj2B,GACtD02B,EAAY1lD,KAAK,CACfhC,MAAOjF,EACPi2B,MACAP,MACA8X,WAAYvX,EAAIqY,eAChBptB,OAAQ+U,EAAI/U,OACZqgB,MAAOA,GAAU7L,EAAM6L,EACvB2qB,gBAGJ,OAAOS,CACT,CAkCsBC,CAAUjB,GACxB9K,EAAW2J,GAAamC,EAAYr8B,QAAOu8B,GAAQA,EAAK52B,IAAI4qB,YAAW,GACvE53B,EAAOuhC,GAAaF,GAAiBqC,EAAa,SAAS,GAC3DzjC,EAAQshC,GAAaF,GAAiBqC,EAAa,UACnDxjC,EAAMqhC,GAAaF,GAAiBqC,EAAa,QAAQ,GACzDvjC,EAASohC,GAAaF,GAAiBqC,EAAa,WACpDG,EAAmBvC,GAA4BoC,EAAa,KAC5DI,EAAiBxC,GAA4BoC,EAAa,KAChE,MAAO,CACL9L,WACAmM,WAAY/jC,EAAKijB,OAAO/iB,GACxB8jC,eAAgB/jC,EAAMgjB,OAAO6gB,GAAgB7gB,OAAO9iB,GAAQ8iB,OAAO4gB,GACnEjkB,UAAWyhB,GAAiBqC,EAAa,aACzCO,SAAUjkC,EAAKijB,OAAOhjB,GAAOgjB,OAAO6gB,GACpCvf,WAAYrkB,EAAI+iB,OAAO9iB,GAAQ8iB,OAAO4gB,GAE1C,CA6KkBK,CAAiBxxD,EAAMgwD,OAC/ByB,EAAgBzB,EAAMuB,SACtBG,EAAkB1B,EAAMne,WAC9BppC,EAAKzI,EAAMgwD,OAAO11B,IACgB,mBAArBA,EAAI+lB,cACb/lB,EAAI+lB,cACN,IAEF,MAAMsR,EAA0BF,EAAcnwB,QAAO,CAACsW,EAAOsZ,IAC3DA,EAAK52B,IAAIrwB,UAAwC,IAA7BinD,EAAK52B,IAAIrwB,QAAQ0wC,QAAoB/C,EAAQA,EAAQ,GAAG,IAAM,EAC9EuX,EAAS9nD,OAAO0mC,OAAO,CAC3BuhB,WAAYvxD,EACZyxD,YAAavxD,EACb8+C,UACA+T,iBACAC,kBACAa,aAAcd,EAAiB,EAAIa,EACnCE,cAAed,EAAkB,IAE7BhC,EAAa1nD,OAAOuM,OAAO,CAAC,EAAGmpC,GACrCiS,GAAiBD,EAAY99B,GAAU4/B,IACvC,MAAM3jB,EAAY7lC,OAAOuM,OAAO,CAC9Bm7C,aACAn3C,EAAGk5C,EACHv6C,EAAGw6C,EACHnmD,EAAGmyC,EAAQzvB,KACXxiB,EAAGiyC,EAAQvvB,KACVuvB,GACG5W,EA7OV,SAAuBsqB,EAAStB,GAC9B,MAAMhpB,EAdR,SAAqBsqB,GACnB,MAAMtqB,EAAS,CAAC,EAChB,IAAK,MAAM+qB,KAAQT,EAAS,CAC1B,MAAM,MAAC7qB,EAAK,IAAE7L,EAAG,YAAEw2B,GAAeW,EAClC,IAAKtrB,IAAU8oB,GAAiBn7B,SAASwG,GACvC,SAEF,MAAM9F,EAASkS,EAAOP,KAAWO,EAAOP,GAAS,CAACnzB,MAAO,EAAG69C,OAAQ,EAAG/qC,OAAQ,EAAGtZ,KAAM,IACxFgoB,EAAOxhB,QACPwhB,EAAO1O,QAAUgrC,CACnB,CACA,OAAOpqB,CACT,CAEiB2rB,CAAYrB,IACrB,aAACmB,EAAY,cAAEC,GAAiB1C,EACtC,IAAI9qD,EAAG6E,EAAMkmD,EACb,IAAK/qD,EAAI,EAAG6E,EAAOunD,EAAQ3nD,OAAQzE,EAAI6E,IAAQ7E,EAAG,CAChD+qD,EAASqB,EAAQpsD,GACjB,MAAM,SAAC6gD,GAAYkK,EAAO90B,IACpBsL,EAAQO,EAAOipB,EAAOxpB,OACtB7D,EAAS6D,GAASwpB,EAAOmB,YAAc3qB,EAAMrgB,OAC/C6pC,EAAOvd,YACTud,EAAOrxD,MAAQgkC,EAASA,EAAS6vB,EAAe1M,GAAYiK,EAAO2B,eACnE1B,EAAOnxD,OAAS4zD,IAEhBzC,EAAOrxD,MAAQ6zD,EACfxC,EAAOnxD,OAAS8jC,EAASA,EAAS8vB,EAAgB3M,GAAYiK,EAAO4B,gBAEzE,CACA,OAAO5qB,CACT,CA2NmB4rB,CAAcN,EAAclhB,OAAOmhB,GAAkBvC,GACpEY,GAASC,EAAM9K,SAAUhY,EAAWiiB,EAAQhpB,GAC5C4pB,GAAS0B,EAAevkB,EAAWiiB,EAAQhpB,GACvC4pB,GAAS2B,EAAiBxkB,EAAWiiB,EAAQhpB,IAC/C4pB,GAAS0B,EAAevkB,EAAWiiB,EAAQhpB,GA1KjD,SAA0B+G,GACxB,MAAM6hB,EAAa7hB,EAAU6hB,WAC7B,SAASiD,EAAUj4B,GACjB,MAAMknB,EAAS50C,KAAK4B,IAAI8gD,EAAWh1B,GAAOmT,EAAUnT,GAAM,GAE1D,OADAmT,EAAUnT,IAAQknB,EACXA,CACT,CACA/T,EAAUpiC,GAAKknD,EAAU,OACzB9kB,EAAUtiC,GAAKonD,EAAU,QACzBA,EAAU,SACVA,EAAU,SACZ,CAiKIC,CAAiB/kB,GACjBkjB,GAAWJ,EAAMqB,WAAYnkB,EAAWiiB,EAAQhpB,GAChD+G,EAAUtiC,GAAKsiC,EAAUt1B,EACzBs1B,EAAUpiC,GAAKoiC,EAAU32B,EACzB65C,GAAWJ,EAAMsB,eAAgBpkB,EAAWiiB,EAAQhpB,GACpDnmC,EAAMktC,UAAY,CAChB5f,KAAM4f,EAAU5f,KAChBE,IAAK0f,EAAU1f,IACfD,MAAO2f,EAAU5f,KAAO4f,EAAUt1B,EAClC6V,OAAQyf,EAAU1f,IAAM0f,EAAU32B,EAClCtY,OAAQivC,EAAU32B,EAClBxY,MAAOmvC,EAAUt1B,GAEnBnP,EAAKunD,EAAM9iB,WAAYkiB,IACrB,MAAM90B,EAAM80B,EAAO90B,IACnBjzB,OAAOuM,OAAO0mB,EAAKt6B,EAAMktC,WACzB5S,EAAI0I,OAAOkK,EAAUt1B,EAAGs1B,EAAU32B,EAAG,CAAC+W,KAAM,EAAGE,IAAK,EAAGD,MAAO,EAAGE,OAAQ,GAAG,GAEhF,GAGF,MAAMykC,GACJC,eAAe1mC,EAAQktB,GAAc,CACrCyZ,eAAe9qC,GACb,OAAO,CACT,CACAqU,iBAAiB37B,EAAO5C,EAAM0T,GAAW,CACzC8qB,oBAAoB57B,EAAO5C,EAAM0T,GAAW,CAC5C0W,sBACE,OAAO,CACT,CACA6qC,eAAe34B,EAAS37B,EAAOE,EAAQ06C,GAGrC,OAFA56C,EAAQsO,KAAK4B,IAAI,EAAGlQ,GAAS27B,EAAQ37B,OACrCE,EAASA,GAAUy7B,EAAQz7B,OACpB,CACLF,QACAE,OAAQoO,KAAK4B,IAAI,EAAG0qC,EAActsC,KAAKkB,MAAMxP,EAAQ46C,GAAe16C,GAExE,CACAq0D,WAAW7mC,GACT,OAAO,CACT,CACA8mC,aAAanuB,GACb,EAGF,MAAMouB,WAAsBN,GAC1BC,eAAejmD,GACb,OAAOA,GAAQA,EAAKwf,YAAcxf,EAAKwf,WAAW,OAAS,IAC7D,CACA6mC,aAAanuB,GACXA,EAAOn6B,QAAQkd,WAAY,CAC7B,EAGF,MACMsrC,GAAc,CAClBC,WAAY,YACZC,UAAW,YACXC,SAAU,UACVC,aAAc,aACdC,YAAa,YACbC,YAAa,YACbC,UAAW,UACXC,aAAc,WACdC,WAAY,YAERC,GAAgBjsD,GAAmB,OAAVA,GAA4B,KAAVA,EAoC3CksD,KAAuB53B,IAA+B,CAACE,SAAS,GAItE,SAAS23B,GAAerzD,EAAO5C,EAAM0T,GACnC9Q,EAAMyrB,OAAOmQ,oBAAoBx+B,EAAM0T,EAAUsiD,GACnD,CAYA,SAASE,GAAiBC,EAAU9nC,GAClC,IAAK,MAAMvqB,KAAQqyD,EACjB,GAAIryD,IAASuqB,GAAUvqB,EAAKsyD,SAAS/nC,GACnC,OAAO,CAGb,CACA,SAASgoC,GAAqBzzD,EAAO5C,EAAM0T,GACzC,MAAM2a,EAASzrB,EAAMyrB,OACfioC,EAAW,IAAIC,kBAAiBC,IACpC,IAAIC,GAAU,EACd,IAAK,MAAM7iB,KAAS4iB,EAClBC,EAAUA,GAAWP,GAAiBtiB,EAAM8iB,WAAYroC,GACxDooC,EAAUA,IAAYP,GAAiBtiB,EAAM+iB,aAActoC,GAEzDooC,GACF/iD,GACF,IAGF,OADA4iD,EAASM,QAAQn1D,SAAU,CAACo1D,WAAW,EAAMC,SAAS,IAC/CR,CACT,CACA,SAASS,GAAqBn0D,EAAO5C,EAAM0T,GACzC,MAAM2a,EAASzrB,EAAMyrB,OACfioC,EAAW,IAAIC,kBAAiBC,IACpC,IAAIC,GAAU,EACd,IAAK,MAAM7iB,KAAS4iB,EAClBC,EAAUA,GAAWP,GAAiBtiB,EAAM+iB,aAActoC,GAC1DooC,EAAUA,IAAYP,GAAiBtiB,EAAM8iB,WAAYroC,GAEvDooC,GACF/iD,GACF,IAGF,OADA4iD,EAASM,QAAQn1D,SAAU,CAACo1D,WAAW,EAAMC,SAAS,IAC/CR,CACT,CACA,MAAMU,GAAqB,IAAI73B,IAC/B,IAAI83B,GAAsB,EAC1B,SAASC,KACP,MAAMC,EAAM7xD,OAAO2kB,iBACfktC,IAAQF,KAGZA,GAAsBE,EACtBH,GAAmBjjD,SAAQ,CAAC2yB,EAAQ9jC,KAC9BA,EAAMsrB,0BAA4BipC,GACpCzwB,GACF,IAEJ,CAaA,SAAS0wB,GAAqBx0D,EAAO5C,EAAM0T,GACzC,MAAM2a,EAASzrB,EAAMyrB,OACfgpC,EAAYhpC,GAAUwN,GAAexN,GAC3C,IAAKgpC,EACH,OAEF,MAAM3wB,EAASlyB,IAAU,CAAC7T,EAAOE,KAC/B,MAAM2Z,EAAI68C,EAAUC,YACpB5jD,EAAS/S,EAAOE,GACZ2Z,EAAI68C,EAAUC,aAChB5jD,GACF,GACCpO,QACGgxD,EAAW,IAAIiB,gBAAef,IAClC,MAAM5iB,EAAQ4iB,EAAQ,GAChB71D,EAAQizC,EAAM4jB,YAAY72D,MAC1BE,EAAS+yC,EAAM4jB,YAAY32D,OACnB,IAAVF,GAA0B,IAAXE,GAGnB6lC,EAAO/lC,EAAOE,EAAO,IAIvB,OAFAy1D,EAASM,QAAQS,GAlCnB,SAAuCz0D,EAAO8jC,GACvCswB,GAAmBnoD,MACtBvJ,OAAOi5B,iBAAiB,SAAU24B,IAEpCF,GAAmB9iD,IAAItR,EAAO8jC,EAChC,CA8BE+wB,CAA8B70D,EAAO8jC,GAC9B4vB,CACT,CACA,SAASoB,GAAgB90D,EAAO5C,EAAMs2D,GAChCA,GACFA,EAASqB,aAEE,WAAT33D,GApCN,SAAyC4C,GACvCo0D,GAAmB7/B,OAAOv0B,GACrBo0D,GAAmBnoD,MACtBvJ,OAAOk5B,oBAAoB,SAAU04B,GAEzC,CAgCIU,CAAgCh1D,EAEpC,CACA,SAASi1D,GAAqBj1D,EAAO5C,EAAM0T,GACzC,MAAM2a,EAASzrB,EAAMyrB,OACfoH,EAAQjhB,IAAWwvB,IACL,OAAdphC,EAAMioB,KACRnX,EAhHN,SAAyBswB,EAAOphC,GAC9B,MAAM5C,EAAOq1D,GAAYrxB,EAAMhkC,OAASgkC,EAAMhkC,MACxC,EAACwN,EAAC,EAAEE,GAAKkvB,GAAoBoH,EAAOphC,GAC1C,MAAO,CACL5C,OACA4C,QACAk1D,OAAQ9zB,EACRx2B,OAASoa,IAANpa,EAAkBA,EAAI,KACzBE,OAASka,IAANla,EAAkBA,EAAI,KAE7B,CAsGeqqD,CAAgB/zB,EAAOphC,GAClC,GACCA,GAAQsI,IACT,MAAM84B,EAAQ94B,EAAK,GACnB,MAAO,CAAC84B,EAAOA,EAAM5G,QAAS4G,EAAM3G,QAAQ,IAG9C,OA7HF,SAAqBv5B,EAAM9D,EAAM0T,GAC/B5P,EAAKy6B,iBAAiBv+B,EAAM0T,EAAUsiD,GACxC,CA0HEgC,CAAY3pC,EAAQruB,EAAMy1B,GACnBA,CACT,CACA,MAAMwiC,WAAoBnD,GACxBC,eAAe1mC,EAAQktB,GACrB,MAAMrxB,EAAUmE,GAAUA,EAAOC,YAAcD,EAAOC,WAAW,MACjE,OAAIpE,GAAWA,EAAQmE,SAAWA,GAtKtC,SAAoBA,EAAQktB,GAC1B,MAAM9wB,EAAQ4D,EAAO5D,MACfytC,EAAe7pC,EAAO8pC,aAAa,UACnCC,EAAc/pC,EAAO8pC,aAAa,SAcxC,GAbA9pC,EAAkB,SAAI,CACpB2U,QAAS,CACPniC,OAAQq3D,EACRv3D,MAAOy3D,EACP3tC,MAAO,CACL8yB,QAAS9yB,EAAM8yB,QACf18C,OAAQ4pB,EAAM5pB,OACdF,MAAO8pB,EAAM9pB,SAInB8pB,EAAM8yB,QAAU9yB,EAAM8yB,SAAW,QACjC9yB,EAAMsS,UAAYtS,EAAMsS,WAAa,aACjCg5B,GAAcqC,GAAc,CAC9B,MAAMC,EAAe55B,GAAapQ,EAAQ,cACrBzG,IAAjBywC,IACFhqC,EAAO1tB,MAAQ03D,EAEnB,CACA,GAAItC,GAAcmC,GAChB,GAA4B,KAAxB7pC,EAAO5D,MAAM5pB,OACfwtB,EAAOxtB,OAASwtB,EAAO1tB,OAAS46C,GAAe,OAC1C,CACL,MAAM+c,EAAgB75B,GAAapQ,EAAQ,eACrBzG,IAAlB0wC,IACFjqC,EAAOxtB,OAASy3D,EAEpB,CAGJ,CAqIMC,CAAWlqC,EAAQktB,GACZrxB,GAEF,IACT,CACA8qC,eAAe9qC,GACb,MAAMmE,EAASnE,EAAQmE,OACvB,IAAKA,EAAkB,SACrB,OAAO,EAET,MAAM2U,EAAU3U,EAAkB,SAAE2U,QACpC,CAAC,SAAU,SAASjvB,SAAS2f,IAC3B,MAAM5pB,EAAQk5B,EAAQtP,GAClB7pB,EAAcC,GAChBukB,EAAOmqC,gBAAgB9kC,GAEvBrF,EAAOoqC,aAAa/kC,EAAM5pB,EAC5B,IAEF,MAAM2gB,EAAQuY,EAAQvY,OAAS,CAAC,EAMhC,OALAxgB,OAAOwB,KAAKgf,GAAO1W,SAAStV,IAC1B4vB,EAAO5D,MAAMhsB,GAAOgsB,EAAMhsB,EAAI,IAEhC4vB,EAAO1tB,MAAQ0tB,EAAO1tB,aACf0tB,EAAkB,UAClB,CACT,CACAkQ,iBAAiB37B,EAAO5C,EAAM0T,GAC5B9W,KAAK4hC,oBAAoB57B,EAAO5C,GAChC,MAAM04D,EAAU91D,EAAM+1D,WAAa/1D,EAAM+1D,SAAW,CAAC,GAM/C1I,EALW,CACf2I,OAAQvC,GACRwC,OAAQ9B,GACRrwB,OAAQ0wB,IAEep3D,IAAS63D,GAClCa,EAAQ14D,GAAQiwD,EAAQrtD,EAAO5C,EAAM0T,EACvC,CACA8qB,oBAAoB57B,EAAO5C,GACzB,MAAM04D,EAAU91D,EAAM+1D,WAAa/1D,EAAM+1D,SAAW,CAAC,GAC/CljC,EAAQijC,EAAQ14D,GACjBy1B,KAGY,CACfmjC,OAAQlB,GACRmB,OAAQnB,GACRhxB,OAAQgxB,IAEe13D,IAASi2D,IAC1BrzD,EAAO5C,EAAMy1B,GACrBijC,EAAQ14D,QAAQ4nB,EAClB,CACAwC,sBACE,OAAO9kB,OAAO2kB,gBAChB,CACAgrC,eAAe5mC,EAAQ1tB,EAAOE,EAAQ06C,GACpC,ODjrFJ,SAAwBltB,EAAQyqC,EAASC,EAAUxd,GACjD,MAAM9wB,EAAQ4R,GAAiBhO,GACzB80B,EAAU3mB,GAAmB/R,EAAO,UACpC7pB,EAAWq7B,GAAcxR,EAAM7pB,SAAUytB,EAAQ,gBAAkBjf,EACnEtO,EAAYm7B,GAAcxR,EAAM3pB,UAAWutB,EAAQ,iBAAmBjf,EACtE4pD,EA/BR,SAA0B3qC,EAAQ1tB,EAAOE,GACvC,IAAID,EAAUE,EACd,QAAc8mB,IAAVjnB,QAAkCinB,IAAX/mB,EAAsB,CAC/C,MAAMw2D,EAAYx7B,GAAexN,GACjC,GAAKgpC,EAGE,CACL,MAAM1nC,EAAO0nC,EAAU75B,wBACjBy7B,EAAiB58B,GAAiBg7B,GAClC6B,EAAkB18B,GAAmBy8B,EAAgB,SAAU,SAC/DE,EAAmB38B,GAAmBy8B,EAAgB,WAC5Dt4D,EAAQgvB,EAAKhvB,MAAQw4D,EAAiBx4D,MAAQu4D,EAAgBv4D,MAC9DE,EAAS8uB,EAAK9uB,OAASs4D,EAAiBt4D,OAASq4D,EAAgBr4D,OACjED,EAAWq7B,GAAcg9B,EAAer4D,SAAUy2D,EAAW,eAC7Dv2D,EAAYm7B,GAAcg9B,EAAen4D,UAAWu2D,EAAW,eACjE,MAXE12D,EAAQ0tB,EAAOipC,YACfz2D,EAASwtB,EAAO+qC,YAWpB,CACA,MAAO,CACLz4D,QACAE,SACAD,SAAUA,GAAYwO,EACtBtO,UAAWA,GAAasO,EAE5B,CAOwBiqD,CAAiBhrC,EAAQyqC,EAASC,GACxD,IAAI,MAACp4D,EAAK,OAAEE,GAAUm4D,EACtB,GAAwB,gBAApBvuC,EAAMsS,UAA6B,CACrC,MAAME,EAAUT,GAAmB/R,EAAO,SAAU,SAC9CuS,EAAWR,GAAmB/R,EAAO,WAC3C9pB,GAASq8B,EAASr8B,MAAQs8B,EAAQt8B,MAClCE,GAAUm8B,EAASn8B,OAASo8B,EAAQp8B,MACtC,CAQA,OAPAF,EAAQsO,KAAK4B,IAAI,EAAGlQ,EAAQwiD,EAAQxiD,OACpCE,EAASoO,KAAK4B,IAAI,EAAG0qC,EAActsC,KAAKkB,MAAMxP,EAAQ46C,GAAe16C,EAASsiD,EAAQtiD,QACtFF,EAAQi9B,GAAO3uB,KAAK2B,IAAIjQ,EAAOC,EAAUo4D,EAAcp4D,WACvDC,EAAS+8B,GAAO3uB,KAAK2B,IAAI/P,EAAQC,EAAWk4D,EAAcl4D,YACtDH,IAAUE,IACZA,EAAS+8B,GAAOj9B,EAAQ,IAEnB,CACLA,QACAE,SAEJ,CCypFWo0D,CAAe5mC,EAAQ1tB,EAAOE,EAAQ06C,EAC/C,CACA2Z,WAAW7mC,GACT,MAAMgpC,EAAYx7B,GAAexN,GACjC,SAAUgpC,IAAaA,EAAUiC,YACnC,EAGF,SAASC,GAAgBlrC,GACvB,OAAKuN,MAAiD,oBAApB49B,iBAAmCnrC,aAAkBmrC,gBAC9EpE,GAEF6C,EACT,CAEA,MAAMwB,GACJ9yC,cACE/pB,KAAK88D,MAAQ,EACf,CACAC,OAAO/2D,EAAOg3D,EAAM1uD,EAAMqsB,GACX,eAATqiC,IACFh9D,KAAK88D,MAAQ98D,KAAKi9D,mBAAmBj3D,GAAO,GAC5ChG,KAAK8lC,QAAQ9lC,KAAK88D,MAAO92D,EAAO,YAElC,MAAM8mB,EAAc6N,EAAS36B,KAAKktB,aAAalnB,GAAO20B,OAAOA,GAAU36B,KAAKktB,aAAalnB,GACnFM,EAAStG,KAAK8lC,QAAQhZ,EAAa9mB,EAAOg3D,EAAM1uD,GAKtD,MAJa,iBAAT0uD,IACFh9D,KAAK8lC,QAAQhZ,EAAa9mB,EAAO,QACjChG,KAAK8lC,QAAQ9lC,KAAK88D,MAAO92D,EAAO,cAE3BM,CACT,CACAw/B,QAAQhZ,EAAa9mB,EAAOg3D,EAAM1uD,GAChCA,EAAOA,GAAQ,CAAC,EAChB,IAAK,MAAM4uD,KAAcpwC,EAAa,CACpC,MAAMqwC,EAASD,EAAWC,OAG1B,IAAyC,IAArC/uD,EAFW+uD,EAAOH,GACP,CAACh3D,EAAOsI,EAAM4uD,EAAWjtD,SACXktD,IAAqB7uD,EAAK8uD,WACrD,OAAO,CAEX,CACA,OAAO,CACT,CACAC,aACOpwD,EAAcjN,KAAKo2C,UACtBp2C,KAAKs9D,UAAYt9D,KAAKo2C,OACtBp2C,KAAKo2C,YAASprB,EAElB,CACAkC,aAAalnB,GACX,GAAIhG,KAAKo2C,OACP,OAAOp2C,KAAKo2C,OAEd,MAAMtpB,EAAc9sB,KAAKo2C,OAASp2C,KAAKi9D,mBAAmBj3D,GAE1D,OADAhG,KAAKu9D,oBAAoBv3D,GAClB8mB,CACT,CACAmwC,mBAAmBj3D,EAAOklC,GACxB,MAAMd,EAASpkC,GAASA,EAAMokC,OACxBn6B,EAAUlC,EAAeq8B,EAAOn6B,SAAWm6B,EAAOn6B,QAAQpM,QAAS,CAAC,GACpEA,EAWV,SAAoBumC,GAClB,MAAMozB,EAAW,CAAC,EACZ35D,EAAU,GACVgL,EAAOxB,OAAOwB,KAAK8hD,GAAS9sD,QAAQwT,OAC1C,IAAK,IAAIhN,EAAI,EAAGA,EAAIwE,EAAKC,OAAQzE,IAC/BxG,EAAQyN,KAAKq/C,GAASU,UAAUxiD,EAAKxE,KAEvC,MAAM0lB,EAAQqa,EAAOvmC,SAAW,GAChC,IAAK,IAAIwG,EAAI,EAAGA,EAAI0lB,EAAMjhB,OAAQzE,IAAK,CACrC,MAAM8yD,EAASptC,EAAM1lB,IACY,IAA7BxG,EAAQkM,QAAQotD,KAClBt5D,EAAQyN,KAAK6rD,GACbK,EAASL,EAAOnwD,KAAM,EAE1B,CACA,MAAO,CAACnJ,UAAS25D,WACnB,CA3BoBC,CAAWrzB,GAC3B,OAAmB,IAAZn6B,GAAsBi7B,EAoCjC,SAA2BllC,GAAO,QAACnC,EAAO,SAAE25D,GAAWvtD,EAASi7B,GAC9D,MAAM5kC,EAAS,GACTgnB,EAAUtnB,EAAM0rB,aACtB,IAAK,MAAMyrC,KAAUt5D,EAAS,CAC5B,MAAMmJ,EAAKmwD,EAAOnwD,GACZynB,EAAOipC,GAAQztD,EAAQjD,GAAKk+B,GACrB,OAATzW,GAGJnuB,EAAOgL,KAAK,CACV6rD,SACAltD,QAAS0tD,GAAW33D,EAAMokC,OAAQ,CAAC+yB,SAAQptC,MAAOytC,EAASxwD,IAAMynB,EAAMnH,IAE3E,CACA,OAAOhnB,CACT,CAnD4Cs3D,CAAkB53D,EAAOnC,EAASoM,EAASi7B,GAAhD,EACrC,CACAqyB,oBAAoBv3D,GAClB,MAAM63D,EAAsB79D,KAAKs9D,WAAa,GACxCxwC,EAAc9sB,KAAKo2C,OACnBzrC,EAAO,CAAC/J,EAAGoR,IAAMpR,EAAE+5B,QAAO/pB,IAAMoB,EAAE8rD,MAAKhtD,GAAKF,EAAEusD,OAAOnwD,KAAO8D,EAAEqsD,OAAOnwD,OAC3EhN,KAAK8lC,QAAQn7B,EAAKkzD,EAAqB/wC,GAAc9mB,EAAO,QAC5DhG,KAAK8lC,QAAQn7B,EAAKmiB,EAAa+wC,GAAsB73D,EAAO,QAC9D,EAmBF,SAAS03D,GAAQztD,EAASi7B,GACxB,OAAKA,IAAmB,IAAZj7B,GAGI,IAAZA,EACK,CAAC,EAEHA,EALE,IAMX,CAiBA,SAAS0tD,GAAWvzB,GAAQ,OAAC+yB,EAAM,MAAEptC,GAAQ0E,EAAMnH,GACjD,MAAMze,EAAOu7B,EAAO2zB,gBAAgBZ,GAC9BrlC,EAASsS,EAAO8G,gBAAgBzc,EAAM5lB,GAI5C,OAHIkhB,GAASotC,EAAOlwC,UAClB6K,EAAOxmB,KAAK6rD,EAAOlwC,UAEdmd,EAAO+G,eAAerZ,EAAQxK,EAAS,CAAC,IAAK,CAClD0N,YAAY,EACZC,WAAW,EACXH,SAAS,GAEb,CAEA,SAASkjC,GAAa56D,EAAM6M,GAC1B,MAAMguD,EAAkBhxC,GAASrpB,SAASR,IAAS,CAAC,EAEpD,QADwB6M,EAAQrM,UAAY,CAAC,GAAGR,IAAS,CAAC,GACpCgrB,WAAane,EAAQme,WAAa6vC,EAAgB7vC,WAAa,GACvF,CAqBA,SAAS8vC,GAAclxD,EAAImxD,GACzB,MAAW,MAAPnxD,GAAqB,MAAPA,EACTA,EAEFmxD,EAAatlD,OAXH,SADO4rC,EAYqB0Z,EAAa1Z,WAXnB,WAAbA,EACjB,IAEQ,SAAbA,GAAoC,UAAbA,EAClB,SADT,IAQuEz3C,EAAG2E,OAAO,GAAG+Y,cAZtF,IAA0B+5B,CAa1B,CAuCA,SAAS2Z,GAAYh0B,GACnB,MAAMn6B,EAAUm6B,EAAOn6B,UAAYm6B,EAAOn6B,QAAU,CAAC,GACrDA,EAAQpM,QAAUkK,EAAekC,EAAQpM,QAAS,CAAC,GACnDoM,EAAQ8e,OAzCV,SAA0Bqb,EAAQn6B,GAChC,MAAMouD,EAAgBxxC,GAAUud,EAAOhnC,OAAS,CAAC2rB,OAAQ,CAAC,GACpDuvC,EAAeruD,EAAQ8e,QAAU,CAAC,EAClCwvC,EAAiBP,GAAa5zB,EAAOhnC,KAAM6M,GAC3CuuD,EAAWnxD,OAAOsC,OAAO,MACzBof,EAAS1hB,OAAOsC,OAAO,MA+B7B,OA9BAtC,OAAOwB,KAAKyvD,GAAcnnD,SAAQnK,IAChC,MAAMyxD,EAAYH,EAAatxD,GAC/B,IAAKS,EAASgxD,GACZ,OAAOrnC,QAAQsnC,MAAM,0CAA0C1xD,KAEjE,GAAIyxD,EAAU3kC,OACZ,OAAO1C,QAAQC,KAAK,kDAAkDrqB,KAExE,MAAM6L,EAAOqlD,GAAclxD,EAAIyxD,GACzBE,EAhCV,SAAmC9lD,EAAMuV,GACvC,OAAOvV,IAASuV,EAAY,UAAY,SAC1C,CA8BsBwwC,CAA0B/lD,EAAM0lD,GAC5CM,EAAsBR,EAActvC,QAAU,CAAC,EACrDyvC,EAAS3lD,GAAQ2lD,EAAS3lD,IAAS7L,EACnC+hB,EAAO/hB,GAAMuD,EAAQlD,OAAOsC,OAAO,MAAO,CAAC,CAACkJ,QAAO4lD,EAAWI,EAAoBhmD,GAAOgmD,EAAoBF,IAAY,IAE3Hv0B,EAAOxoC,KAAKgC,SAASuT,SAAQ63B,IAC3B,MAAM5rC,EAAO4rC,EAAQ5rC,MAAQgnC,EAAOhnC,KAC9BgrB,EAAY4gB,EAAQ5gB,WAAa4vC,GAAa56D,EAAM6M,GAEpD4uD,GADkBhyC,GAAUzpB,IAAS,CAAC,GACA2rB,QAAU,CAAC,EACvD1hB,OAAOwB,KAAKgwD,GAAqB1nD,SAAQ2nD,IACvC,MAAMjmD,EApDZ,SAAmC7L,EAAIohB,GACrC,IAAIvV,EAAO7L,EAMX,MALW,YAAPA,EACF6L,EAAOuV,EACS,YAAPphB,IACT6L,EAAqB,MAAduV,EAAoB,IAAM,KAE5BvV,CACT,CA4CmBkmD,CAA0BD,EAAW1wC,GAC5CphB,EAAKgiC,EAAQn2B,EAAO,WAAa2lD,EAAS3lD,IAASA,EACzDkW,EAAO/hB,GAAM+hB,EAAO/hB,IAAOK,OAAOsC,OAAO,MACzCY,EAAQwe,EAAO/hB,GAAK,CAAC,CAAC6L,QAAOylD,EAAatxD,GAAK6xD,EAAoBC,IAAY,GAC/E,IAEJzxD,OAAOwB,KAAKkgB,GAAQ5X,SAAQtV,IAC1B,MAAMitB,EAAQC,EAAOltB,GACrB0O,EAAQue,EAAO,CAAC7B,GAAS8B,OAAOD,EAAM1rB,MAAO6pB,GAAS6B,OAAO,IAExDC,CACT,CAImBiwC,CAAiB50B,EAAQn6B,EAC5C,CACA,SAASgvD,GAASr9D,GAIhB,OAHAA,EAAOA,GAAQ,CAAC,GACXgC,SAAWhC,EAAKgC,UAAY,GACjChC,EAAK+B,OAAS/B,EAAK+B,QAAU,GACtB/B,CACT,CAOA,MAAMs9D,GAAW,IAAI38B,IACf48B,GAAa,IAAI5nD,IACvB,SAAS6nD,GAAWz8B,EAAU08B,GAC5B,IAAIxwD,EAAOqwD,GAAS/vC,IAAIwT,GAMxB,OALK9zB,IACHA,EAAOwwD,IACPH,GAAS5nD,IAAIqrB,EAAU9zB,GACvBswD,GAAW3nD,IAAI3I,IAEVA,CACT,CACA,MAAMywD,GAAa,CAAChoD,EAAKtG,EAAKnP,KAC5B,MAAM4yB,EAAO1jB,EAAiBC,EAAKnP,QACtBmpB,IAATyJ,GACFnd,EAAIE,IAAIid,EACV,EAEF,MAAM8qC,GACJx1C,YAAYqgB,GACVpqC,KAAKw/D,QAzBT,SAAoBp1B,GAIlB,OAHAA,EAASA,GAAU,CAAC,GACbxoC,KAAOq9D,GAAS70B,EAAOxoC,MAC9Bw8D,GAAYh0B,GACLA,CACT,CAoBmBq1B,CAAWr1B,GAC1BpqC,KAAK0/D,YAAc,IAAIn9B,IACvBviC,KAAK2/D,eAAiB,IAAIp9B,GAC5B,CACIhV,eACF,OAAOvtB,KAAKw/D,QAAQjyC,QACtB,CACInqB,WACF,OAAOpD,KAAKw/D,QAAQp8D,IACtB,CACIA,SAAKA,GACPpD,KAAKw/D,QAAQp8D,KAAOA,CACtB,CACIxB,WACF,OAAO5B,KAAKw/D,QAAQ59D,IACtB,CACIA,SAAKA,GACP5B,KAAKw/D,QAAQ59D,KAAOq9D,GAASr9D,EAC/B,CACIqO,cACF,OAAOjQ,KAAKw/D,QAAQvvD,OACtB,CACIA,YAAQA,GACVjQ,KAAKw/D,QAAQvvD,QAAUA,CACzB,CACIpM,cACF,OAAO7D,KAAKw/D,QAAQ37D,OACtB,CACAmlC,SACE,MAAMoB,EAASpqC,KAAKw/D,QACpBx/D,KAAK4/D,aACLxB,GAAYh0B,EACd,CACAw1B,aACE5/D,KAAK0/D,YAAYG,QACjB7/D,KAAK2/D,eAAeE,OACtB,CACA5uB,iBAAiB6uB,GACf,OAAOV,GAAWU,GAChB,IAAM,CAAC,CACL,YAAYA,IACZ,MAEN,CACA5rB,0BAA0B4rB,EAAa7rB,GACrC,OAAOmrB,GAAW,GAAGU,gBAA0B7rB,KAC7C,IAAM,CACJ,CACE,YAAY6rB,iBAA2B7rB,IACvC,eAAeA,KAEjB,CACE,YAAY6rB,IACZ,MAGR,CACAjsB,wBAAwBisB,EAAansB,GACnC,OAAOyrB,GAAW,GAAGU,KAAensB,KAClC,IAAM,CAAC,CACL,YAAYmsB,cAAwBnsB,IACpC,YAAYmsB,IACZ,YAAYnsB,IACZ,MAEN,CACAoqB,gBAAgBZ,GACd,MAAMnwD,EAAKmwD,EAAOnwD,GAElB,OAAOoyD,GAAW,GADLp/D,KAAKoD,eACkB4J,KAClC,IAAM,CAAC,CACL,WAAWA,OACRmwD,EAAO4C,wBAA0B,MAE1C,CACAC,cAAcC,EAAWC,GACvB,MAAMR,EAAc1/D,KAAK0/D,YACzB,IAAI9uC,EAAQ8uC,EAAYvwC,IAAI8wC,GAK5B,OAJKrvC,IAASsvC,IACZtvC,EAAQ,IAAI2R,IACZm9B,EAAYpoD,IAAI2oD,EAAWrvC,IAEtBA,CACT,CACAsgB,gBAAgB+uB,EAAWE,EAAUD,GACnC,MAAM,QAACjwD,EAAO,KAAE7M,GAAQpD,KAClB4wB,EAAQ5wB,KAAKggE,cAAcC,EAAWC,GACtCvyB,EAAS/c,EAAMzB,IAAIgxC,GACzB,GAAIxyB,EACF,OAAOA,EAET,MAAM7V,EAAS,IAAIvgB,IACnB4oD,EAAShpD,SAAQtI,IACXoxD,IACFnoC,EAAOtgB,IAAIyoD,GACXpxD,EAAKsI,SAAQtV,GAAOy9D,GAAWxnC,EAAQmoC,EAAWp+D,MAEpDgN,EAAKsI,SAAQtV,GAAOy9D,GAAWxnC,EAAQ7nB,EAASpO,KAChDgN,EAAKsI,SAAQtV,GAAOy9D,GAAWxnC,EAAQjL,GAAUzpB,IAAS,CAAC,EAAGvB,KAC9DgN,EAAKsI,SAAQtV,GAAOy9D,GAAWxnC,EAAQ7K,GAAUprB,KACjDgN,EAAKsI,SAAQtV,GAAOy9D,GAAWxnC,EAAQhL,GAAajrB,IAAK,IAE3D,MAAMsI,EAAQiD,MAAMqK,KAAKqgB,GAOzB,OANqB,IAAjB3tB,EAAM2E,QACR3E,EAAMmH,KAAKjE,OAAOsC,OAAO,OAEvBwvD,GAAWhtD,IAAIguD,IACjBvvC,EAAMtZ,IAAI6oD,EAAUh2D,GAEfA,CACT,CACAi2D,oBACE,MAAM,QAACnwD,EAAO,KAAE7M,GAAQpD,KACxB,MAAO,CACLiQ,EACA4c,GAAUzpB,IAAS,CAAC,EACpB6pB,GAASrpB,SAASR,IAAS,CAAC,EAC5B,CAACA,QACD6pB,GACAH,GAEJ,CACAgnB,oBAAoBhc,EAAQjP,EAAOyE,EAASyK,EAAW,CAAC,KACtD,MAAMzxB,EAAS,CAACukC,SAAS,IACnB,SAAC55B,EAAQ,YAAEovD,GAAeC,GAAYtgE,KAAK2/D,eAAgB7nC,EAAQC,GACzE,IAAI9nB,EAAUgB,GAuClB,SAAqB4nB,EAAOhQ,GAC1B,MAAM,aAACuR,EAAY,YAAEK,GAAevN,GAAa2L,GACjD,IAAK,MAAM/B,KAAQjO,EAAO,CACxB,MAAMmS,EAAaZ,EAAatD,GAC1BmE,EAAYR,EAAY3D,GACxB5pB,GAAS+tB,GAAaD,IAAenC,EAAM/B,GACjD,GAAKkE,IAAelpB,EAAW5E,IAAUqzD,GAAYrzD,KAC/C+tB,GAAa9tB,EAAQD,GACzB,OAAO,CAEX,CACA,OAAO,CACT,EAlDQszD,CAAYvvD,EAAU4X,KACxBviB,EAAOukC,SAAU,EAGjB56B,EAAU0pB,GAAe1oB,EAFzBqc,EAAUxb,EAAWwb,GAAWA,IAAYA,EACxBttB,KAAKmxC,eAAerZ,EAAQxK,EAAS+yC,KAG3D,IAAK,MAAMvpC,KAAQjO,EACjBviB,EAAOwwB,GAAQ7mB,EAAQ6mB,GAEzB,OAAOxwB,CACT,CACA6qC,eAAerZ,EAAQxK,EAASyK,EAAW,CAAC,IAAK8B,GAC/C,MAAM,SAAC5oB,GAAYqvD,GAAYtgE,KAAK2/D,eAAgB7nC,EAAQC,GAC5D,OAAOtqB,EAAS6f,GACZqM,GAAe1oB,EAAUqc,OAAStC,EAAW6O,GAC7C5oB,CACN,EAEF,SAASqvD,GAAYG,EAAe3oC,EAAQC,GAC1C,IAAInH,EAAQ6vC,EAActxC,IAAI2I,GACzBlH,IACHA,EAAQ,IAAI2R,IACZk+B,EAAcnpD,IAAIwgB,EAAQlH,IAE5B,MAAM+R,EAAW5K,EAASuC,OAC1B,IAAIqT,EAAS/c,EAAMzB,IAAIwT,GASvB,OARKgL,IAEHA,EAAS,CACP18B,SAFe4mB,GAAgBC,EAAQC,GAGvCsoC,YAAatoC,EAAS4C,QAAOnmB,IAAMA,EAAEkW,cAAc6O,SAAS,YAE9D3I,EAAMtZ,IAAIqrB,EAAUgL,IAEfA,CACT,CACA,MAAM4yB,GAAcrzD,GAASO,EAASP,IACjCG,OAAOo9B,oBAAoBv9B,GAAOo6B,QAAO,CAACC,EAAK1lC,IAAQ0lC,GAAOz1B,EAAW5E,EAAMrL,MAAO,GAiBrF6+D,GAAkB,CAAC,MAAO,SAAU,OAAQ,QAAS,aAC3D,SAASC,GAAqBlc,EAAU5rC,GACtC,MAAoB,QAAb4rC,GAAmC,WAAbA,IAAiE,IAAvCic,GAAgB3wD,QAAQ00C,IAA6B,MAAT5rC,CACrG,CACA,SAAS+nD,GAAcC,EAAIC,GACzB,OAAO,SAASlgE,EAAGoR,GACjB,OAAOpR,EAAEigE,KAAQ7uD,EAAE6uD,GACfjgE,EAAEkgE,GAAM9uD,EAAE8uD,GACVlgE,EAAEigE,GAAM7uD,EAAE6uD,EAChB,CACF,CACA,SAASE,GAAqBzzC,GAC5B,MAAMtnB,EAAQsnB,EAAQtnB,MAChB0jC,EAAmB1jC,EAAMiK,QAAQkd,UACvCnnB,EAAMsjD,cAAc,eACpBl7C,EAASs7B,GAAoBA,EAAiBs3B,WAAY,CAAC1zC,GAAUtnB,EACvE,CACA,SAASi7D,GAAoB3zC,GAC3B,MAAMtnB,EAAQsnB,EAAQtnB,MAChB0jC,EAAmB1jC,EAAMiK,QAAQkd,UACvC/e,EAASs7B,GAAoBA,EAAiBw3B,WAAY,CAAC5zC,GAAUtnB,EACvE,CACA,SAASm7D,GAAUjvD,GASjB,OARI8sB,MAAqC,iBAAT9sB,EAC9BA,EAAOrN,SAASu8D,eAAelvD,GACtBA,GAAQA,EAAKpD,SACtBoD,EAAOA,EAAK,IAEVA,GAAQA,EAAKuf,SACfvf,EAAOA,EAAKuf,QAEPvf,CACT,CACA,MAAMmvD,GAAY,CAAC,EACbC,GAAYz/D,IAChB,MAAM4vB,EAAS0vC,GAAUt/D,GACzB,OAAOwL,OAAOvM,OAAOugE,IAAW1mC,QAAQv4B,GAAMA,EAAEqvB,SAAWA,IAAQsV,KAAK,EAE1E,SAASw6B,GAAgBvwD,EAAKyE,EAAO8/B,GACnC,MAAM1mC,EAAOxB,OAAOwB,KAAKmC,GACzB,IAAK,MAAMnP,KAAOgN,EAAM,CACtB,MAAM2yD,GAAU3/D,EAChB,GAAI2/D,GAAU/rD,EAAO,CACnB,MAAMvI,EAAQ8D,EAAInP,UACXmP,EAAInP,IACP0zC,EAAO,GAAKisB,EAAS/rD,KACvBzE,EAAIwwD,EAASjsB,GAAQroC,EAEzB,CACF,CACF,CAUA,MAAMpJ,GACJimB,YAAY7X,EAAMuvD,GAChB,MAAMr3B,EAASpqC,KAAKoqC,OAAS,IAAIm1B,GAAOkC,GAClCC,EAAgBP,GAAUjvD,GAC1ByvD,EAAgBL,GAASI,GAC/B,GAAIC,EACF,MAAM,IAAItnC,MACR,4CAA+CsnC,EAAc30D,GAA7D,kDACgD20D,EAAclwC,OAAOzkB,GAAK,oBAG9E,MAAMiD,EAAUm6B,EAAO+G,eAAe/G,EAAOg2B,oBAAqBpgE,KAAK0xB,cACvE1xB,KAAKutB,SAAW,IAAK6c,EAAO7c,UAAYovC,GAAgB+E,IACxD1hE,KAAKutB,SAASgrC,aAAanuB,GAC3B,MAAM9c,EAAUttB,KAAKutB,SAAS4qC,eAAeuJ,EAAezxD,EAAQ0uC,aAC9DltB,EAASnE,GAAWA,EAAQmE,OAC5BxtB,EAASwtB,GAAUA,EAAOxtB,OAC1BF,EAAQ0tB,GAAUA,EAAO1tB,MAC/B/D,KAAKgN,GAAKD,IACV/M,KAAKiuB,IAAMX,EACXttB,KAAKyxB,OAASA,EACdzxB,KAAK+D,MAAQA,EACb/D,KAAKiE,OAASA,EACdjE,KAAK4hE,SAAW3xD,EAChBjQ,KAAK6hE,aAAe7hE,KAAK2+C,YACzB3+C,KAAKuvD,QAAU,GACfvvD,KAAK8hE,UAAY,GACjB9hE,KAAK8sC,aAAU9hB,EACfhrB,KAAKg2D,MAAQ,GACbh2D,KAAKsxB,6BAA0BtG,EAC/BhrB,KAAKkzC,eAAYloB,EACjBhrB,KAAK4mC,QAAU,GACf5mC,KAAK+hE,gBAAa/2C,EAClBhrB,KAAKgiE,WAAa,CAAC,EACnBhiE,KAAKiiE,0BAAuBj3C,EAC5BhrB,KAAKkiE,gBAAkB,GACvBliE,KAAK+uB,OAAS,CAAC,EACf/uB,KAAKmiE,SAAW,IAAItF,GACpB78D,KAAK+7D,SAAW,CAAC,EACjB/7D,KAAKoiE,eAAiB,CAAC,EACvBpiE,KAAKqiE,UAAW,EAChBriE,KAAKs0C,yBAAsBtpB,EAC3BhrB,KAAKyuC,cAAWzjB,EAChBhrB,KAAKsiE,UDx5JT,SAAkBj0D,EAAI7F,GACpB,IAAI+5D,EACJ,OAAO,YAAYj0D,GAOjB,OANI9F,GACFg6D,aAAaD,GACbA,EAAUh6D,WAAW8F,EAAI7F,EAAO8F,IAEhCD,EAAGG,MAAMxO,KAAMsO,GAEV9F,CACT,CACF,CC64JqBi6D,EAASn0C,GAAQtuB,KAAKgpC,OAAO1a,IAAOre,EAAQyyD,aAAe,GAC5E1iE,KAAK21C,aAAe,GACpB0rB,GAAUrhE,KAAKgN,IAAMhN,KAChBstB,GAAYmE,GAIjBgU,GAAS0B,OAAOnnC,KAAM,WAAY+gE,IAClCt7B,GAAS0B,OAAOnnC,KAAM,WAAYihE,IAClCjhE,KAAK2iE,cACD3iE,KAAKqiE,UACPriE,KAAKgpC,UAPL5R,QAAQsnC,MAAM,oEASlB,CACI/f,kBACF,MAAO1uC,SAAS,YAAC0uC,EAAW,oBAAElwB,GAAoB,MAAE1qB,EAAK,OAAEE,EAAM,aAAE49D,GAAgB7hE,KACnF,OAAKiN,EAAc0xC,GAGflwB,GAAuBozC,EAClBA,EAEF59D,EAASF,EAAQE,EAAS,KALxB06C,CAMX,CACI/8C,WACF,OAAO5B,KAAKoqC,OAAOxoC,IACrB,CACIA,SAAKA,GACP5B,KAAKoqC,OAAOxoC,KAAOA,CACrB,CACIqO,cACF,OAAOjQ,KAAK4hE,QACd,CACI3xD,YAAQA,GACVjQ,KAAKoqC,OAAOn6B,QAAUA,CACxB,CACA0yD,cASE,OARA3iE,KAAKspD,cAAc,cACftpD,KAAKiQ,QAAQ4e,WACf7uB,KAAK8pC,SAEL7I,GAAYjhC,KAAMA,KAAKiQ,QAAQod,kBAEjCrtB,KAAK4iE,aACL5iE,KAAKspD,cAAc,aACZtpD,IACT,CACA6/D,QAEE,OADAruC,GAAYxxB,KAAKyxB,OAAQzxB,KAAKiuB,KACvBjuB,IACT,CACA0nC,OAEE,OADAjC,GAASiC,KAAK1nC,MACPA,IACT,CACA8pC,OAAO/lC,EAAOE,GACPwhC,GAASiB,QAAQ1mC,MAGpBA,KAAK6iE,kBAAoB,CAAC9+D,QAAOE,UAFjCjE,KAAK8iE,QAAQ/+D,EAAOE,EAIxB,CACA6+D,QAAQ/+D,EAAOE,GACb,MAAMgM,EAAUjQ,KAAKiQ,QACfwhB,EAASzxB,KAAKyxB,OACdktB,EAAc1uC,EAAQwe,qBAAuBzuB,KAAK2+C,YAClDokB,EAAU/iE,KAAKutB,SAAS8qC,eAAe5mC,EAAQ1tB,EAAOE,EAAQ06C,GAC9DqkB,EAAW/yD,EAAQod,kBAAoBrtB,KAAKutB,SAASC,sBACrDc,EAAOtuB,KAAK+D,MAAQ,SAAW,SACrC/D,KAAK+D,MAAQg/D,EAAQh/D,MACrB/D,KAAKiE,OAAS8+D,EAAQ9+D,OACtBjE,KAAK6hE,aAAe7hE,KAAK2+C,YACpB1d,GAAYjhC,KAAMgjE,GAAU,KAGjChjE,KAAKspD,cAAc,SAAU,CAACr3C,KAAM8wD,IACpC30D,EAAS6B,EAAQgzD,SAAU,CAACjjE,KAAM+iE,GAAU/iE,MACxCA,KAAKqiE,UACHriE,KAAKsiE,UAAUh0C,IACjBtuB,KAAKkjE,SAGX,CACAC,sBAGE10D,EAFgBzO,KAAKiQ,QACS8e,QAAU,CAAC,GACrB,CAACq0C,EAAaxT,KAChCwT,EAAYp2D,GAAK4iD,CAAM,GAE3B,CACAyT,sBACE,MAAMpzD,EAAUjQ,KAAKiQ,QACfqzD,EAAYrzD,EAAQ8e,OACpBA,EAAS/uB,KAAK+uB,OACdw0C,EAAUl2D,OAAOwB,KAAKkgB,GAAQuY,QAAO,CAACt2B,EAAKhE,KAC/CgE,EAAIhE,IAAM,EACHgE,IACN,CAAC,GACJ,IAAIqG,EAAQ,GACRisD,IACFjsD,EAAQA,EAAMk/B,OACZlpC,OAAOwB,KAAKy0D,GAAW7zD,KAAKzC,IAC1B,MAAMmxD,EAAemF,EAAUt2D,GACzB6L,EAAOqlD,GAAclxD,EAAImxD,GACzBqF,EAAoB,MAAT3qD,EACX8/B,EAAwB,MAAT9/B,EACrB,MAAO,CACL5I,QAASkuD,EACTsF,UAAWD,EAAW,YAAc7qB,EAAe,SAAW,OAC9D+qB,MAAOF,EAAW,eAAiB7qB,EAAe,WAAa,SAChE,MAIPlqC,EAAK4I,GAAQnF,IACX,MAAMisD,EAAejsD,EAAKjC,QACpBjD,EAAKmxD,EAAanxD,GAClB6L,EAAOqlD,GAAclxD,EAAImxD,GACzBwF,EAAY51D,EAAeowD,EAAa/6D,KAAM8O,EAAKwxD,YAC3B14C,IAA1BmzC,EAAa1Z,UAA0Bkc,GAAqBxC,EAAa1Z,SAAU5rC,KAAU8nD,GAAqBzuD,EAAKuxD,aACzHtF,EAAa1Z,SAAWvyC,EAAKuxD,WAE/BF,EAAQv2D,IAAM,EACd,IAAI8hB,EAAQ,KACR9hB,KAAM+hB,GAAUA,EAAO/hB,GAAI5J,OAASugE,EACtC70C,EAAQC,EAAO/hB,IAGf8hB,EAAQ,IADW6hC,GAASW,SAASqS,GAC7B,CAAe,CACrB32D,KACA5J,KAAMugE,EACN11C,IAAKjuB,KAAKiuB,IACVjoB,MAAOhG,OAET+uB,EAAOD,EAAM9hB,IAAM8hB,GAErBA,EAAM+2B,KAAKsY,EAAcluD,EAAQ,IAEnCxB,EAAK80D,GAAS,CAACK,EAAY52D,KACpB42D,UACI70C,EAAO/hB,EAChB,IAEFyB,EAAKsgB,GAASD,IACZ2nC,GAAQlsB,UAAUvqC,KAAM8uB,EAAOA,EAAM7e,SACrCwmD,GAAQC,OAAO12D,KAAM8uB,EAAM,GAE/B,CACA+0C,kBACE,MAAMp4B,EAAWzrC,KAAK8hE,UAChB1sB,EAAUp1C,KAAK4B,KAAKgC,SAASkL,OAC7BqmC,EAAU1J,EAAS38B,OAEzB,GADA28B,EAAS+K,MAAK,CAAC51C,EAAGoR,IAAMpR,EAAE0O,MAAQ0C,EAAE1C,QAChC6lC,EAAUC,EAAS,CACrB,IAAK,IAAI/qC,EAAI+qC,EAAS/qC,EAAI8qC,IAAW9qC,EACnCrK,KAAK8jE,oBAAoBz5D,GAE3BohC,EAASv0B,OAAOk+B,EAASD,EAAUC,EACrC,CACAp1C,KAAKkiE,gBAAkBz2B,EAASj+B,MAAM,GAAGgpC,KAAKoqB,GAAc,QAAS,SACvE,CACAmD,8BACE,MAAOjC,UAAWr2B,EAAU7pC,MAAM,SAACgC,IAAa5D,KAC5CyrC,EAAS38B,OAASlL,EAASkL,eACtB9O,KAAK8sC,QAEdrB,EAASt0B,SAAQ,CAACkB,EAAM/I,KACmC,IAArD1L,EAAS+2B,QAAO/pB,GAAKA,IAAMyH,EAAK6mC,WAAUpwC,QAC5C9O,KAAK8jE,oBAAoBx0D,EAC3B,GAEJ,CACA00D,2BACE,MAAMC,EAAiB,GACjBrgE,EAAW5D,KAAK4B,KAAKgC,SAC3B,IAAIyG,EAAG6E,EAEP,IADAlP,KAAK+jE,8BACA15D,EAAI,EAAG6E,EAAOtL,EAASkL,OAAQzE,EAAI6E,EAAM7E,IAAK,CACjD,MAAM2kC,EAAUprC,EAASyG,GACzB,IAAIgO,EAAOrY,KAAK+vC,eAAe1lC,GAC/B,MAAMjH,EAAO4rC,EAAQ5rC,MAAQpD,KAAKoqC,OAAOhnC,KAWzC,GAVIiV,EAAKjV,MAAQiV,EAAKjV,OAASA,IAC7BpD,KAAK8jE,oBAAoBz5D,GACzBgO,EAAOrY,KAAK+vC,eAAe1lC,IAE7BgO,EAAKjV,KAAOA,EACZiV,EAAK+V,UAAY4gB,EAAQ5gB,WAAa4vC,GAAa56D,EAAMpD,KAAKiQ,SAC9DoI,EAAK6rD,MAAQl1B,EAAQk1B,OAAS,EAC9B7rD,EAAK/I,MAAQjF,EACbgO,EAAK7U,MAAQ,GAAKwrC,EAAQxrC,MAC1B6U,EAAK4xB,QAAUjqC,KAAKi8C,iBAAiB5xC,GACjCgO,EAAKu0B,WACPv0B,EAAKu0B,WAAWmC,YAAY1kC,GAC5BgO,EAAKu0B,WAAWgC,iBACX,CACL,MAAMu1B,EAAkBxT,GAASO,cAAc9tD,IACzC,mBAACstC,EAAkB,gBAAEgD,GAAmBzmB,GAASrpB,SAASR,GAChEiK,OAAOuM,OAAOuqD,EAAgB72D,UAAW,CACvComC,gBAAiBid,GAASS,WAAW1d,GACrChD,mBAAoBA,GAAsBigB,GAASS,WAAW1gB,KAEhEr4B,EAAKu0B,WAAa,IAAIu3B,EAAgBnkE,KAAMqK,GAC5C45D,EAAe3yD,KAAK+G,EAAKu0B,WAC3B,CACF,CAEA,OADA5sC,KAAK6jE,kBACEI,CACT,CACAG,iBACE31D,EAAKzO,KAAK4B,KAAKgC,UAAU,CAACorC,EAAS3/B,KACjCrP,KAAK+vC,eAAe1gC,GAAcu9B,WAAWrlC,OAAO,GACnDvH,KACL,CACAuH,QACEvH,KAAKokE,iBACLpkE,KAAKspD,cAAc,QACrB,CACAtgB,OAAO1a,GACL,MAAM8b,EAASpqC,KAAKoqC,OACpBA,EAAOpB,SACP,MAAM/4B,EAAUjQ,KAAK4hE,SAAWx3B,EAAO+G,eAAe/G,EAAOg2B,oBAAqBpgE,KAAK0xB,cACjF2yC,EAAgBrkE,KAAKs0C,qBAAuBrkC,EAAQkd,UAK1D,GAJAntB,KAAKskE,gBACLtkE,KAAKukE,sBACLvkE,KAAKwkE,uBACLxkE,KAAKmiE,SAAS9E,cACuD,IAAjEr9D,KAAKspD,cAAc,eAAgB,CAACh7B,OAAM8uC,YAAY,IACxD,OAEF,MAAM6G,EAAiBjkE,KAAKgkE,2BAC5BhkE,KAAKspD,cAAc,wBACnB,IAAIuN,EAAa,EACjB,IAAK,IAAIxsD,EAAI,EAAG6E,EAAOlP,KAAK4B,KAAKgC,SAASkL,OAAQzE,EAAI6E,EAAM7E,IAAK,CAC/D,MAAM,WAACuiC,GAAc5sC,KAAK+vC,eAAe1lC,GACnC9C,GAAS88D,IAAyD,IAAxCJ,EAAel0D,QAAQ68B,GACvDA,EAAW+D,sBAAsBppC,GACjCsvD,EAAaxkD,KAAK4B,KAAK24B,EAAWgG,iBAAkBikB,EACtD,CACAA,EAAa72D,KAAKykE,YAAcx0D,EAAQmlD,OAAOoB,YAAcK,EAAa,EAC1E72D,KAAK0kE,cAAc7N,GACdwN,GACH51D,EAAKw1D,GAAiBr3B,IACpBA,EAAWrlC,OAAO,IAGtBvH,KAAK2kE,gBAAgBr2C,GACrBtuB,KAAKspD,cAAc,cAAe,CAACh7B,SACnCtuB,KAAKuvD,QAAQ/Y,KAAKoqB,GAAc,IAAK,SACrC,MAAM,QAACh6B,EAAO,WAAEm7B,GAAc/hE,KAC1B+hE,EACF/hE,KAAK4kE,cAAc7C,GAAY,GACtBn7B,EAAQ93B,QACjB9O,KAAK6kE,mBAAmBj+B,EAASA,GAAS,GAE5C5mC,KAAKkjE,QACP,CACAoB,gBACE71D,EAAKzO,KAAK+uB,QAASD,IACjB2nC,GAAQE,UAAU32D,KAAM8uB,EAAM,IAEhC9uB,KAAKmjE,sBACLnjE,KAAKqjE,qBACP,CACAkB,sBACE,MAAMt0D,EAAUjQ,KAAKiQ,QACf60D,EAAiB,IAAIvtD,IAAIlK,OAAOwB,KAAK7O,KAAKgiE,aAC1C+C,EAAY,IAAIxtD,IAAItH,EAAQyd,QAC7B3b,EAAU+yD,EAAgBC,MAAgB/kE,KAAKiiE,uBAAyBhyD,EAAQ4e,aACnF7uB,KAAKglE,eACLhlE,KAAK4iE,aAET,CACA4B,uBACE,MAAM,eAACpC,GAAkBpiE,KACnBilE,EAAUjlE,KAAKklE,0BAA4B,GACjD,IAAK,MAAM,OAACz7B,EAAM,MAAEh0B,EAAK,MAAEgD,KAAUwsD,EAEnC1D,GAAgBa,EAAgB3sD,EADR,oBAAXg0B,GAAgChxB,EAAQA,EAGzD,CACAysD,yBACE,MAAMvvB,EAAe31C,KAAK21C,aAC1B,IAAKA,IAAiBA,EAAa7mC,OACjC,OAEF9O,KAAK21C,aAAe,GACpB,MAAMwvB,EAAenlE,KAAK4B,KAAKgC,SAASkL,OAClCs2D,EAAWtZ,GAAQ,IAAIv0C,IAC3Bo+B,EACGhb,QAAOv4B,GAAKA,EAAE,KAAO0pD,IACrBr8C,KAAI,CAACrN,EAAGiI,IAAMA,EAAI,IAAMjI,EAAE8U,OAAO,GAAGojB,KAAK,QAExC+qC,EAAYD,EAAQ,GAC1B,IAAK,IAAI/6D,EAAI,EAAGA,EAAI86D,EAAc96D,IAChC,IAAK0H,EAAUszD,EAAWD,EAAQ/6D,IAChC,OAGJ,OAAO+C,MAAMqK,KAAK4tD,GACf51D,KAAIrN,GAAKA,EAAE+O,MAAM,OACjB1B,KAAI7O,IAAK,CAAE6oC,OAAQ7oC,EAAE,GAAI6U,OAAQ7U,EAAE,GAAI6X,OAAQ7X,EAAE,MACtD,CACA8jE,cAAc7N,GACZ,IAA+D,IAA3D72D,KAAKspD,cAAc,eAAgB,CAAC8T,YAAY,IAClD,OAEF3G,GAAQztB,OAAOhpC,KAAMA,KAAK+D,MAAO/D,KAAKiE,OAAQ4yD,GAC9C,MAAMzjC,EAAOpzB,KAAKkzC,UACZoyB,EAASlyC,EAAKrvB,OAAS,GAAKqvB,EAAKnvB,QAAU,EACjDjE,KAAKuvD,QAAU,GACf9gD,EAAKzO,KAAKg2D,OAAQ11B,IACZglC,GAA2B,cAAjBhlC,EAAImkB,WAGdnkB,EAAIiK,WACNjK,EAAIiK,YAENvqC,KAAKuvD,QAAQj+C,QAAQgvB,EAAIivB,WAAU,GAClCvvD,MACHA,KAAKuvD,QAAQp4C,SAAQ,CAACjF,EAAM5C,KAC1B4C,EAAKqzD,KAAOj2D,CAAK,IAEnBtP,KAAKspD,cAAc,cACrB,CACAqb,gBAAgBr2C,GACd,IAA6E,IAAzEtuB,KAAKspD,cAAc,uBAAwB,CAACh7B,OAAM8uC,YAAY,IAAlE,CAGA,IAAK,IAAI/yD,EAAI,EAAG6E,EAAOlP,KAAK4B,KAAKgC,SAASkL,OAAQzE,EAAI6E,IAAQ7E,EAC5DrK,KAAK+vC,eAAe1lC,GAAGuiC,WAAWrC,YAEpC,IAAK,IAAIlgC,EAAI,EAAG6E,EAAOlP,KAAK4B,KAAKgC,SAASkL,OAAQzE,EAAI6E,IAAQ7E,EAC5DrK,KAAKwlE,eAAen7D,EAAGyH,EAAWwc,GAAQA,EAAK,CAACjf,aAAchF,IAAMikB,GAEtEtuB,KAAKspD,cAAc,sBAAuB,CAACh7B,QAP3C,CAQF,CACAk3C,eAAel2D,EAAOgf,GACpB,MAAMjW,EAAOrY,KAAK+vC,eAAezgC,GAC3BhB,EAAO,CAAC+J,OAAM/I,QAAOgf,OAAM8uC,YAAY,IACW,IAApDp9D,KAAKspD,cAAc,sBAAuBh7C,KAG9C+J,EAAKu0B,WAAWrG,QAAQjY,GACxBhgB,EAAK8uD,YAAa,EAClBp9D,KAAKspD,cAAc,qBAAsBh7C,GAC3C,CACA40D,UACiE,IAA3DljE,KAAKspD,cAAc,eAAgB,CAAC8T,YAAY,MAGhD33B,GAAStzB,IAAInS,MACXA,KAAKqiE,WAAa58B,GAASiB,QAAQ1mC,OACrCylC,GAAShwB,MAAMzV,OAGjBA,KAAK2mC,OACLo6B,GAAqB,CAAC/6D,MAAOhG,QAEjC,CACA2mC,OACE,IAAIt8B,EACJ,GAAIrK,KAAK6iE,kBAAmB,CAC1B,MAAM,MAAC9+D,EAAK,OAAEE,GAAUjE,KAAK6iE,kBAC7B7iE,KAAK8iE,QAAQ/+D,EAAOE,GACpBjE,KAAK6iE,kBAAoB,IAC3B,CAEA,GADA7iE,KAAK6/D,QACD7/D,KAAK+D,OAAS,GAAK/D,KAAKiE,QAAU,EACpC,OAEF,IAA6D,IAAzDjE,KAAKspD,cAAc,aAAc,CAAC8T,YAAY,IAChD,OAEF,MAAMqI,EAASzlE,KAAKuvD,QACpB,IAAKllD,EAAI,EAAGA,EAAIo7D,EAAO32D,QAAU22D,EAAOp7D,GAAGolD,GAAK,IAAKplD,EACnDo7D,EAAOp7D,GAAGs8B,KAAK3mC,KAAKkzC,WAGtB,IADAlzC,KAAK0lE,gBACEr7D,EAAIo7D,EAAO32D,SAAUzE,EAC1Bo7D,EAAOp7D,GAAGs8B,KAAK3mC,KAAKkzC,WAEtBlzC,KAAKspD,cAAc,YACrB,CACA5d,uBAAuBF,GACrB,MAAMC,EAAWzrC,KAAKkiE,gBAChB57D,EAAS,GACf,IAAI+D,EAAG6E,EACP,IAAK7E,EAAI,EAAG6E,EAAOu8B,EAAS38B,OAAQzE,EAAI6E,IAAQ7E,EAAG,CACjD,MAAMgO,EAAOozB,EAASphC,GACjBmhC,IAAiBnzB,EAAK4xB,SACzB3jC,EAAOgL,KAAK+G,EAEhB,CACA,OAAO/R,CACT,CACAqpD,+BACE,OAAO3vD,KAAK0rC,wBAAuB,EACrC,CACAg6B,gBACE,IAAqE,IAAjE1lE,KAAKspD,cAAc,qBAAsB,CAAC8T,YAAY,IACxD,OAEF,MAAM3xB,EAAWzrC,KAAK2vD,+BACtB,IAAK,IAAItlD,EAAIohC,EAAS38B,OAAS,EAAGzE,GAAK,IAAKA,EAC1CrK,KAAK2lE,aAAal6B,EAASphC,IAE7BrK,KAAKspD,cAAc,oBACrB,CACAqc,aAAattD,GACX,MAAM4V,EAAMjuB,KAAKiuB,IACX0F,EAAOtb,EAAK06B,MACZ6yB,GAAWjyC,EAAKnvB,SAChB4uB,EAAOpzB,KAAKkzC,UACZ5kC,EAAO,CACX+J,OACA/I,MAAO+I,EAAK/I,MACZ8tD,YAAY,IAEwC,IAAlDp9D,KAAKspD,cAAc,oBAAqBh7C,KAGxCs3D,GACFlyC,GAASzF,EAAK,CACZqF,MAAoB,IAAdK,EAAKL,KAAiB,EAAIF,EAAKE,KAAOK,EAAKL,KACjDC,OAAsB,IAAfI,EAAKJ,MAAkBvzB,KAAK+D,MAAQqvB,EAAKG,MAAQI,EAAKJ,MAC7DC,KAAkB,IAAbG,EAAKH,IAAgB,EAAIJ,EAAKI,IAAMG,EAAKH,IAC9CC,QAAwB,IAAhBE,EAAKF,OAAmBzzB,KAAKiE,OAASmvB,EAAKK,OAASE,EAAKF,SAGrEpb,EAAKu0B,WAAWjG,OACZi/B,GACFhyC,GAAW3F,GAEb3f,EAAK8uD,YAAa,EAClBp9D,KAAKspD,cAAc,mBAAoBh7C,GACzC,CACAilD,cAAcpgC,GACZ,OAAOD,GAAeC,EAAOnzB,KAAKkzC,UAAWlzC,KAAKykE,YACpD,CACAoB,0BAA0BtxD,EAAG+Z,EAAMre,EAASkxC,GAC1C,MAAM1X,EAAS8qB,GAAYC,MAAMlmC,GACjC,MAAsB,mBAAXmb,EACFA,EAAOzpC,KAAMuU,EAAGtE,EAASkxC,GAE3B,EACT,CACApR,eAAe1gC,GACb,MAAM2/B,EAAUhvC,KAAK4B,KAAKgC,SAASyL,GAC7Bo8B,EAAWzrC,KAAK8hE,UACtB,IAAIzpD,EAAOozB,EAAS9Q,QAAO/pB,GAAKA,GAAKA,EAAEsuC,WAAalQ,IAASjI,MAkB7D,OAjBK1uB,IACHA,EAAO,CACLjV,KAAM,KACNxB,KAAM,GACNotC,QAAS,KACTpC,WAAY,KACZyF,OAAQ,KACRjD,QAAS,KACTE,QAAS,KACT40B,MAAOl1B,GAAWA,EAAQk1B,OAAS,EACnC50D,MAAOD,EACP6vC,SAAUlQ,EACVp2B,QAAS,GACTF,SAAS,GAEX+yB,EAASn6B,KAAK+G,IAETA,CACT,CACAqZ,aACE,OAAO1xB,KAAKyuC,WAAazuC,KAAKyuC,SAAW9W,GAAc,KAAM,CAAC3xB,MAAOhG,KAAMoD,KAAM,UACnF,CACA68C,yBACE,OAAOjgD,KAAK2vD,+BAA+B7gD,MAC7C,CACAmtC,iBAAiB5sC,GACf,MAAM2/B,EAAUhvC,KAAK4B,KAAKgC,SAASyL,GACnC,IAAK2/B,EACH,OAAO,EAET,MAAM32B,EAAOrY,KAAK+vC,eAAe1gC,GACjC,MAA8B,kBAAhBgJ,EAAKg6B,QAAwBh6B,EAAKg6B,QAAUrD,EAAQqD,MACpE,CACAyzB,qBAAqBz2D,EAAc46B,GACpBjqC,KAAK+vC,eAAe1gC,GAC5BgjC,QAAUpI,CACjB,CACA6U,qBAAqBxvC,GACnBtP,KAAKoiE,eAAe9yD,IAAUtP,KAAKoiE,eAAe9yD,EACpD,CACA8qC,kBAAkB9qC,GAChB,OAAQtP,KAAKoiE,eAAe9yD,EAC9B,CACAy2D,kBAAkB12D,EAAcgkC,EAAWpJ,GACzC,MAAM3b,EAAO2b,EAAU,OAAS,OAC1B5xB,EAAOrY,KAAK+vC,eAAe1gC,GAC3B02B,EAAQ1tB,EAAKu0B,WAAWoH,wBAAmBhpB,EAAWsD,GACxDzc,EAAQwhC,IACVh7B,EAAKzW,KAAKyxC,GAAWhB,QAAUpI,EAC/BjqC,KAAKgpC,WAELhpC,KAAK8lE,qBAAqBz2D,EAAc46B,GACxClE,EAAMiD,OAAO3wB,EAAM,CAAC4xB,YACpBjqC,KAAKgpC,QAAQ/a,GAAQA,EAAI5e,eAAiBA,EAAeif,OAAOtD,IAEpE,CACAkf,KAAK76B,EAAcgkC,GACjBrzC,KAAK+lE,kBAAkB12D,EAAcgkC,GAAW,EAClD,CACAtJ,KAAK16B,EAAcgkC,GACjBrzC,KAAK+lE,kBAAkB12D,EAAcgkC,GAAW,EAClD,CACAywB,oBAAoBz0D,GAClB,MAAMgJ,EAAOrY,KAAK8hE,UAAUzyD,GACxBgJ,GAAQA,EAAKu0B,YACfv0B,EAAKu0B,WAAWsD,kBAEXlwC,KAAK8hE,UAAUzyD,EACxB,CACA22D,QACE,IAAI37D,EAAG6E,EAGP,IAFAlP,KAAK0nC,OACLjC,GAASmC,OAAO5nC,MACXqK,EAAI,EAAG6E,EAAOlP,KAAK4B,KAAKgC,SAASkL,OAAQzE,EAAI6E,IAAQ7E,EACxDrK,KAAK8jE,oBAAoBz5D,EAE7B,CACAhC,UACErI,KAAKspD,cAAc,iBACnB,MAAM,OAAC73B,EAAM,IAAExD,GAAOjuB,KACtBA,KAAKgmE,QACLhmE,KAAKoqC,OAAOw1B,aACRnuC,IACFzxB,KAAKglE,eACLxzC,GAAYC,EAAQxD,GACpBjuB,KAAKutB,SAAS6qC,eAAenqC,GAC7BjuB,KAAKyxB,OAAS,KACdzxB,KAAKiuB,IAAM,MAEbjuB,KAAKspD,cAAc,kBACZ+X,GAAUrhE,KAAKgN,IACtBhN,KAAKspD,cAAc,eACrB,CACA2c,iBAAiB33D,GACf,OAAOtO,KAAKyxB,OAAOy0C,aAAa53D,EAClC,CACAs0D,aACE5iE,KAAKmmE,iBACDnmE,KAAKiQ,QAAQ4e,WACf7uB,KAAKomE,uBAELpmE,KAAKqiE,UAAW,CAEpB,CACA8D,iBACE,MAAMlvD,EAAYjX,KAAKgiE,WACjBz0C,EAAWvtB,KAAKutB,SAChB84C,EAAO,CAACjjE,EAAM0T,KAClByW,EAASoU,iBAAiB3hC,KAAMoD,EAAM0T,GACtCG,EAAU7T,GAAQ0T,CAAQ,EAEtBA,EAAW,CAACvC,EAAG3D,EAAGE,KACtByD,EAAEisB,QAAU5vB,EACZ2D,EAAEksB,QAAU3vB,EACZ9Q,KAAK4kE,cAAcrwD,EAAE,EAEvB9F,EAAKzO,KAAKiQ,QAAQyd,QAAStqB,GAASijE,EAAKjjE,EAAM0T,IACjD,CACAsvD,uBACOpmE,KAAKiiE,uBACRjiE,KAAKiiE,qBAAuB,CAAC,GAE/B,MAAMhrD,EAAYjX,KAAKiiE,qBACjB10C,EAAWvtB,KAAKutB,SAChB84C,EAAO,CAACjjE,EAAM0T,KAClByW,EAASoU,iBAAiB3hC,KAAMoD,EAAM0T,GACtCG,EAAU7T,GAAQ0T,CAAQ,EAEtBwvD,EAAU,CAACljE,EAAM0T,KACjBG,EAAU7T,KACZmqB,EAASqU,oBAAoB5hC,KAAMoD,EAAM0T,UAClCG,EAAU7T,GACnB,EAEI0T,EAAW,CAAC/S,EAAOE,KACnBjE,KAAKyxB,QACPzxB,KAAK8pC,OAAO/lC,EAAOE,EACrB,EAEF,IAAIsiE,EACJ,MAAMlE,EAAW,KACfiE,EAAQ,SAAUjE,GAClBriE,KAAKqiE,UAAW,EAChBriE,KAAK8pC,SACLu8B,EAAK,SAAUvvD,GACfuvD,EAAK,SAAUE,EAAS,EAE1BA,EAAW,KACTvmE,KAAKqiE,UAAW,EAChBiE,EAAQ,SAAUxvD,GAClB9W,KAAKgmE,QACLhmE,KAAK8iE,QAAQ,EAAG,GAChBuD,EAAK,SAAUhE,EAAS,EAEtB90C,EAAS+qC,WAAWt4D,KAAKyxB,QAC3B4wC,IAEAkE,GAEJ,CACAvB,eACEv2D,EAAKzO,KAAKgiE,YAAY,CAAClrD,EAAU1T,KAC/BpD,KAAKutB,SAASqU,oBAAoB5hC,KAAMoD,EAAM0T,EAAS,IAEzD9W,KAAKgiE,WAAa,CAAC,EACnBvzD,EAAKzO,KAAKiiE,sBAAsB,CAACnrD,EAAU1T,KACzCpD,KAAKutB,SAASqU,oBAAoB5hC,KAAMoD,EAAM0T,EAAS,IAEzD9W,KAAKiiE,0BAAuBj3C,CAC9B,CACAw7C,iBAAiBnvD,EAAOiX,EAAM65B,GAC5B,MAAMrvB,EAASqvB,EAAU,MAAQ,SACjC,IAAI9vC,EAAMnG,EAAM7H,EAAG6E,EAKnB,IAJa,YAATof,IACFjW,EAAOrY,KAAK+vC,eAAe14B,EAAM,GAAGhI,cACpCgJ,EAAKu0B,WAAW,IAAM9T,EAAS,wBAE5BzuB,EAAI,EAAG6E,EAAOmI,EAAMvI,OAAQzE,EAAI6E,IAAQ7E,EAAG,CAC9C6H,EAAOmF,EAAMhN,GACb,MAAMuiC,EAAa16B,GAAQlS,KAAK+vC,eAAe79B,EAAK7C,cAAcu9B,WAC9DA,GACFA,EAAW9T,EAAS,cAAc5mB,EAAKwtB,QAASxtB,EAAK7C,aAAc6C,EAAK5C,MAE5E,CACF,CACAm3D,oBACE,OAAOzmE,KAAK4mC,SAAW,EACzB,CACA8/B,kBAAkBC,GAChB,MAAMC,EAAa5mE,KAAK4mC,SAAW,GAC7BmC,EAAS49B,EAAel3D,KAAI,EAAEJ,eAAcC,YAChD,MAAM+I,EAAOrY,KAAK+vC,eAAe1gC,GACjC,IAAKgJ,EACH,MAAM,IAAIgiB,MAAM,6BAA+BhrB,GAEjD,MAAO,CACLA,eACAqwB,QAASrnB,EAAKzW,KAAK0N,GACnBA,QACD,KAEcP,EAAeg6B,EAAQ69B,KAEtC5mE,KAAK4mC,QAAUmC,EACf/oC,KAAK+hE,WAAa,KAClB/hE,KAAK6kE,mBAAmB97B,EAAQ69B,GAEpC,CACAtd,cAAc0T,EAAM1uD,EAAMqsB,GACxB,OAAO36B,KAAKmiE,SAASpF,OAAO/8D,KAAMg9D,EAAM1uD,EAAMqsB,EAChD,CACAkqC,mBAAmB97B,EAAQ69B,EAAYC,GACrC,MAAMC,EAAe9mE,KAAKiQ,QAAQ8d,MAC5BpjB,EAAO,CAAC/J,EAAGoR,IAAMpR,EAAE+5B,QAAO/pB,IAAMoB,EAAE8rD,MAAKhtD,GAAKF,EAAEvB,eAAiByB,EAAEzB,cAAgBuB,EAAEtB,QAAUwB,EAAExB,UAC/Fy3D,EAAcp8D,EAAKi8D,EAAY79B,GAC/Bi+B,EAAYH,EAAS99B,EAASp+B,EAAKo+B,EAAQ69B,GAC7CG,EAAYj4D,QACd9O,KAAKwmE,iBAAiBO,EAAaD,EAAax4C,MAAM,GAEpD04C,EAAUl4D,QAAUg4D,EAAax4C,MACnCtuB,KAAKwmE,iBAAiBQ,EAAWF,EAAax4C,MAAM,EAExD,CACAs2C,cAAcrwD,EAAGsyD,GACf,MAAMv4D,EAAO,CACX84B,MAAO7yB,EACPsyD,SACAzJ,YAAY,EACZ6J,YAAajnE,KAAKuzD,cAAch/C,IAE5B2yD,EAAe/J,IAAYA,EAAOltD,QAAQyd,QAAU1tB,KAAKiQ,QAAQyd,QAAQ6L,SAAShlB,EAAE2mD,OAAO93D,MACjG,IAA6D,IAAzDpD,KAAKspD,cAAc,cAAeh7C,EAAM44D,GAC1C,OAEF,MAAMvtD,EAAU3Z,KAAKmnE,aAAa5yD,EAAGsyD,EAAQv4D,EAAK24D,aAMlD,OALA34D,EAAK8uD,YAAa,EAClBp9D,KAAKspD,cAAc,aAAch7C,EAAM44D,IACnCvtD,GAAWrL,EAAKqL,UAClB3Z,KAAKkjE,SAEAljE,IACT,CACAmnE,aAAa5yD,EAAGsyD,EAAQI,GACtB,MAAOrgC,QAASggC,EAAa,GAAE,QAAE32D,GAAWjQ,KACtCmhD,EAAmB0lB,EACnB99B,EAAS/oC,KAAKonE,mBAAmB7yD,EAAGqyD,EAAYK,EAAa9lB,GAC7DkmB,EDh0LV,SAAuB9yD,GACrB,MAAkB,YAAXA,EAAEnR,MAAiC,UAAXmR,EAAEnR,MAA+B,gBAAXmR,EAAEnR,IACzD,CC8zLoBkkE,CAAc/yD,GACxBgzD,EA7uBV,SAA4BhzD,EAAGgzD,EAAWN,EAAaI,GACrD,OAAKJ,GAA0B,aAAX1yD,EAAEnR,KAGlBikE,EACKE,EAEFhzD,EALE,IAMX,CAquBsBizD,CAAmBjzD,EAAGvU,KAAK+hE,WAAYkF,EAAaI,GAClEJ,IACFjnE,KAAK+hE,WAAa,KAClB3zD,EAAS6B,EAAQye,QAAS,CAACna,EAAGw0B,EAAQ/oC,MAAOA,MACzCqnE,GACFj5D,EAAS6B,EAAQ0e,QAAS,CAACpa,EAAGw0B,EAAQ/oC,MAAOA,OAGjD,MAAM2Z,GAAW5K,EAAeg6B,EAAQ69B,GAMxC,OALIjtD,GAAWktD,KACb7mE,KAAK4mC,QAAUmC,EACf/oC,KAAK6kE,mBAAmB97B,EAAQ69B,EAAYC,IAE9C7mE,KAAK+hE,WAAawF,EACX5tD,CACT,CACAytD,mBAAmB7yD,EAAGqyD,EAAYK,EAAa9lB,GAC7C,GAAe,aAAX5sC,EAAEnR,KACJ,MAAO,GAET,IAAK6jE,EACH,OAAOL,EAET,MAAME,EAAe9mE,KAAKiQ,QAAQ8d,MAClC,OAAO/tB,KAAK6lE,0BAA0BtxD,EAAGuyD,EAAax4C,KAAMw4C,EAAc3lB,EAC5E,EAEF,MAAMsmB,GAAoB,IAAMh5D,EAAK3K,GAAMu9D,WAAYr7D,GAAUA,EAAMm8D,SAAS9E,eAC1EvtC,IAAa,EA0CnB,SAAS43C,GAAQz5C,EAAKyR,EAASmd,GAC7B,MAAM,WAACD,EAAU,YAAE+qB,EAAW,EAAE/2D,EAAC,EAAEE,EAAC,YAAE6qC,EAAW,YAAED,GAAehc,EAClE,IAAIkoC,EAAcD,EAAchsB,EAChC1tB,EAAIuE,YACJvE,EAAIyE,IAAI9hB,EAAGE,EAAG6qC,EAAaiB,EAAagrB,EAAa/qB,EAAW+qB,GAC5DlsB,EAAcisB,GAChBC,EAAcD,EAAcjsB,EAC5BztB,EAAIyE,IAAI9hB,EAAGE,EAAG4qC,EAAamB,EAAW+qB,EAAahrB,EAAagrB,GAAa,IAE7E35C,EAAIyE,IAAI9hB,EAAGE,EAAG62D,EAAa9qB,EAAWlqC,EAASiqC,EAAajqC,GAE9Dsb,EAAI0E,YACJ1E,EAAI0F,MACN,CAmBA,SAASk0C,GAAW9pD,EAAG+pD,EAAOl3D,EAAGE,GAC/B,MAAO,CACLF,EAAGA,EAAImN,EAAI1L,KAAK4I,IAAI6sD,GACpBh3D,EAAGA,EAAIiN,EAAI1L,KAAK2H,IAAI8tD,GAExB,CACA,SAASC,GAAQ95C,EAAKyR,EAAS2b,EAAQc,EAASzmC,EAAKkrC,GACnD,MAAM,EAAChwC,EAAC,EAAEE,EAAG8rC,WAAYnnC,EAAK,YAAEkyD,EAAajsB,YAAassB,GAAUtoC,EAC9Dic,EAActpC,KAAK4B,IAAIyrB,EAAQic,YAAcQ,EAAUd,EAASssB,EAAa,GAC7EjsB,EAAcssB,EAAS,EAAIA,EAAS7rB,EAAUd,EAASssB,EAAc,EAC3E,IAAIM,EAAgB,EACpB,MAAM98C,EAAQzV,EAAMD,EACpB,GAAI0mC,EAAS,CACX,MAEM+rB,IAFuBF,EAAS,EAAIA,EAAS7rB,EAAU,IAChCR,EAAc,EAAIA,EAAcQ,EAAU,IACI,EAE3E8rB,GAAiB98C,GAD4B,IAAvB+8C,EAA4B/8C,EAAQ+8C,GAAuBA,EAAqB/rB,GAAWhxB,IACvE,CAC5C,CACA,MACMg9C,GAAeh9C,EADR9Y,KAAK4B,IAAI,KAAOkX,EAAQwwB,EAAcN,EAASjpC,GAAMupC,GAC7B,EAC/BiB,EAAannC,EAAQ0yD,EAAcF,EACnCprB,EAAWnnC,EAAMyyD,EAAcF,GAC/B,WAACG,EAAU,SAAEC,EAAQ,WAAEC,EAAU,SAAEC,GAtC3C,SAA6B71C,EAAKgpB,EAAaC,EAAa6sB,GAC1D,MAAM33D,EAHC6lB,GAGmBhE,EAAIziB,QAAQw4D,aAHN,CAAC,aAAc,WAAY,aAAc,aAInEC,GAAiB/sB,EAAcD,GAAe,EAC9CitB,EAAat2D,KAAK2B,IAAI00D,EAAeF,EAAa9sB,EAAc,GAChEktB,EAAqB38C,IACzB,MAAM48C,GAAiBltB,EAActpC,KAAK2B,IAAI00D,EAAez8C,IAAQu8C,EAAa,EAClF,OAAOvyD,EAAYgW,EAAK,EAAG5Z,KAAK2B,IAAI00D,EAAeG,GAAe,EAEpE,MAAO,CACLT,WAAYQ,EAAkB/3D,EAAEu3D,YAChCC,SAAUO,EAAkB/3D,EAAEw3D,UAC9BC,WAAYryD,EAAYpF,EAAEy3D,WAAY,EAAGK,GACzCJ,SAAUtyD,EAAYpF,EAAE03D,SAAU,EAAGI,GAEzC,CAwBuDG,CAAoBppC,EAASgc,EAAaC,EAAakB,EAAWD,GACjHmsB,EAA2BptB,EAAcysB,EACzCY,EAAyBrtB,EAAc0sB,EACvCY,EAA0BrsB,EAAawrB,EAAaW,EACpDG,EAAwBrsB,EAAWwrB,EAAWW,EAC9CG,EAA2BztB,EAAc4sB,EACzCc,EAAyB1tB,EAAc6sB,EACvCc,EAA0BzsB,EAAa0rB,EAAaa,EACpDG,EAAwBzsB,EAAW0rB,EAAWa,EAEpD,GADAn7C,EAAIuE,YACAouB,EAAU,CAEZ,GADA3yB,EAAIyE,IAAI9hB,EAAGE,EAAG6qC,EAAastB,EAAyBC,GAChDb,EAAW,EAAG,CAChB,MAAMkB,EAAU1B,GAAWmB,EAAwBE,EAAuBt4D,EAAGE,GAC7Emd,EAAIyE,IAAI62C,EAAQ34D,EAAG24D,EAAQz4D,EAAGu3D,EAAUa,EAAuBrsB,EAAWlqC,EAC5E,CACA,MAAM62D,EAAK3B,GAAWuB,EAAwBvsB,EAAUjsC,EAAGE,GAE3D,GADAmd,EAAI4E,OAAO22C,EAAG54D,EAAG44D,EAAG14D,GAChBy3D,EAAW,EAAG,CAChB,MAAMgB,EAAU1B,GAAWuB,EAAwBE,EAAuB14D,EAAGE,GAC7Emd,EAAIyE,IAAI62C,EAAQ34D,EAAG24D,EAAQz4D,EAAGy3D,EAAU1rB,EAAWlqC,EAAS22D,EAAwBj3D,KAAKD,GAC3F,CAEA,GADA6b,EAAIyE,IAAI9hB,EAAGE,EAAG4qC,EAAamB,EAAY0rB,EAAW7sB,EAAckB,EAAc0rB,EAAa5sB,GAAc,GACrG4sB,EAAa,EAAG,CAClB,MAAMiB,EAAU1B,GAAWsB,EAA0BE,EAAyBz4D,EAAGE,GACjFmd,EAAIyE,IAAI62C,EAAQ34D,EAAG24D,EAAQz4D,EAAGw3D,EAAYe,EAA0Bh3D,KAAKD,GAAIwqC,EAAajqC,EAC5F,CACA,MAAM82D,EAAK5B,GAAWkB,EAA0BnsB,EAAYhsC,EAAGE,GAE/D,GADAmd,EAAI4E,OAAO42C,EAAG74D,EAAG64D,EAAG34D,GAChBs3D,EAAa,EAAG,CAClB,MAAMmB,EAAU1B,GAAWkB,EAA0BE,EAAyBr4D,EAAGE,GACjFmd,EAAIyE,IAAI62C,EAAQ34D,EAAG24D,EAAQz4D,EAAGs3D,EAAYxrB,EAAajqC,EAASs2D,EAClE,CACF,KAAO,CACLh7C,EAAI2E,OAAOhiB,EAAGE,GACd,MAAM44D,EAAcr3D,KAAK4I,IAAIguD,GAA2BttB,EAAc/qC,EAChE+4D,EAAct3D,KAAK2H,IAAIivD,GAA2BttB,EAAc7qC,EACtEmd,EAAI4E,OAAO62C,EAAaC,GACxB,MAAMC,EAAYv3D,KAAK4I,IAAIiuD,GAAyBvtB,EAAc/qC,EAC5Di5D,EAAYx3D,KAAK2H,IAAIkvD,GAAyBvtB,EAAc7qC,EAClEmd,EAAI4E,OAAO+2C,EAAWC,EACxB,CACA57C,EAAI0E,WACN,CA3IAtlB,OAAOuiB,iBAAiB9rB,GAAO,CAC7BmpB,SAAU,CACR6C,cACA5iB,MAAO+f,IAETo0C,UAAW,CACTvxC,cACA5iB,MAAOm0D,IAETx0C,UAAW,CACTiD,cACA5iB,MAAO2f,IAET8jC,SAAU,CACR7gC,cACA5iB,MAAOyjD,IAETmZ,QAAS,CACPh6C,cACA5iB,MAl1BU,SAo1BZo0D,SAAU,CACRxxC,cACA5iB,MAAOo0D,IAETj2D,SAAU,CACRykB,cACA5iB,MAAO,IAAImK,KACTs5C,GAASn5C,OAAOH,GAChBowD,IAAmB,GAGvB/W,WAAY,CACV5gC,cACA5iB,MAAO,IAAImK,KACTs5C,GAAS/oB,UAAUvwB,GACnBowD,IAAmB,KAqKzB,MAAMn8D,WAAmB21C,GACvBl3B,YAAYoe,GACVqQ,QACAx4C,KAAKiQ,aAAU+a,EACfhrB,KAAK+7C,mBAAgB/wB,EACrBhrB,KAAK48C,gBAAa5xB,EAClBhrB,KAAK68C,cAAW7xB,EAChBhrB,KAAK07C,iBAAc1wB,EACnBhrB,KAAK27C,iBAAc3wB,EACnBhrB,KAAK2nE,YAAc,EACnB3nE,KAAK+pE,YAAc,EACf5hC,GACF96B,OAAOuM,OAAO5Z,KAAMmoC,EAExB,CACAqrB,QAAQwW,EAAQC,EAAQ9oB,GACtB,MAAMhuB,EAAQnzB,KAAKohD,SAAS,CAAC,IAAK,KAAMD,IAClC,MAACnsC,EAAK,SAAEE,GAAYT,EAAkB0e,EAAO,CAACviB,EAAGo5D,EAAQl5D,EAAGm5D,KAC5D,WAACrtB,EAAU,SAAEC,EAAQ,YAAEnB,EAAW,YAAEC,EAAW,cAAEI,GAAiB/7C,KAAKohD,SAAS,CACpF,aACA,WACA,cACA,cACA,iBACCD,GACG+oB,EAAUlqE,KAAKiQ,QAAQksC,QAAU,EAEjCguB,EADiBp8D,EAAeguC,EAAec,EAAWD,IACxBtqC,GAAOkD,EAAcR,EAAO4nC,EAAYC,GAC1EutB,EAAel0D,EAAWhB,EAAUwmC,EAAcwuB,EAASvuB,EAAcuuB,GAC/E,OAAQC,GAAiBC,CAC3B,CACAnW,eAAe9S,GACb,MAAM,EAACvwC,EAAC,EAAEE,EAAC,WAAE8rC,EAAU,SAAEC,EAAQ,YAAEnB,EAAW,YAAEC,GAAe37C,KAAKohD,SAAS,CAC3E,IACA,IACA,aACA,WACA,cACA,cACA,iBACCD,IACG,OAAC9F,EAAM,QAAEc,GAAWn8C,KAAKiQ,QACzBo6D,GAAaztB,EAAaC,GAAY,EACtCytB,GAAc5uB,EAAcC,EAAcQ,EAAUd,GAAU,EACpE,MAAO,CACLzqC,EAAGA,EAAIyB,KAAK4I,IAAIovD,GAAaC,EAC7Bx5D,EAAGA,EAAIuB,KAAK2H,IAAIqwD,GAAaC,EAEjC,CACAppB,gBAAgBC,GACd,OAAOnhD,KAAKi0D,eAAe9S,EAC7B,CACAxa,KAAK1Y,GACH,MAAM,QAAChe,EAAO,cAAE8rC,GAAiB/7C,KAC3Bq7C,GAAUprC,EAAQorC,QAAU,GAAK,EACjCc,GAAWlsC,EAAQksC,SAAW,GAAK,EACnCyE,EAAW3wC,EAAQ2wC,SAGzB,GAFA5gD,KAAK2nE,YAAuC,UAAxB13D,EAAQsuC,YAA2B,IAAO,EAC9Dv+C,KAAK+pE,YAAchuB,EAAgBzpC,EAAMD,KAAKkB,MAAMwoC,EAAgBzpC,GAAO,EACrD,IAAlBypC,GAAuB/7C,KAAK07C,YAAc,GAAK17C,KAAK27C,YAAc,EACpE,OAEF1tB,EAAI6C,OACJ,IAAIy5C,EAAe,EACnB,GAAIlvB,EAAQ,CACVkvB,EAAelvB,EAAS,EACxB,MAAMgvB,GAAarqE,KAAK48C,WAAa58C,KAAK68C,UAAY,EACtD5uB,EAAIqE,UAAUjgB,KAAK4I,IAAIovD,GAAaE,EAAcl4D,KAAK2H,IAAIqwD,GAAaE,GACpEvqE,KAAK+7C,eAAiB3pC,IACxBm4D,EAAelvB,EAEnB,CACAptB,EAAI4G,UAAY5kB,EAAQmd,gBACxBa,EAAIgH,YAAchlB,EAAQxM,YAC1B,MAAMo5C,EAvIV,SAAiB5uB,EAAKyR,EAAS2b,EAAQc,EAASyE,GAC9C,MAAM,YAACmpB,EAAW,WAAEntB,EAAU,cAAEb,GAAiBrc,EACjD,IAAImd,EAAWnd,EAAQmd,SACvB,GAAIktB,EAAa,CACfhC,GAAQ95C,EAAKyR,EAAS2b,EAAQc,EAASS,EAAatqC,EAAKsuC,GACzD,IAAK,IAAIv2C,EAAI,EAAGA,EAAI0/D,IAAe1/D,EACjC4jB,EAAI+E,OAEDrf,MAAMooC,KACTc,EAAWD,EAAab,EAAgBzpC,EACpCypC,EAAgBzpC,GAAQ,IAC1BuqC,GAAYvqC,GAGlB,CAGA,OAFAy1D,GAAQ95C,EAAKyR,EAAS2b,EAAQc,EAASU,EAAU+D,GACjD3yB,EAAI+E,OACG6pB,CACT,CAqHqB2tB,CAAQv8C,EAAKjuB,KAAMuqE,EAAcpuB,EAASyE,IAjG/D,SAAoB3yB,EAAKyR,EAAS2b,EAAQc,EAASU,EAAU+D,GAC3D,MAAM,QAAC3wC,GAAWyvB,GACZ,YAACh8B,EAAW,gBAAE4hC,GAAmBr1B,EACjCw6D,EAAgC,UAAxBx6D,EAAQsuC,YACjB76C,IAGD+mE,GACFx8C,EAAIiH,UAA0B,EAAdxxB,EAChBuqB,EAAIy8C,SAAWplC,GAAmB,UAElCrX,EAAIiH,UAAYxxB,EAChBuqB,EAAIy8C,SAAWplC,GAAmB,SAEhC5F,EAAQqqC,aAjCd,SAA+B97C,EAAKyR,EAAS+qC,GAC3C,MAAM,EAAC75D,EAAC,EAAEE,EAAC,WAAE8rC,EAAU,YAAE+qB,EAAW,YAAEoC,GAAerqC,EAC/Cic,EAActpC,KAAK4B,IAAIyrB,EAAQic,YAAcgsB,EAAa,GAC1DjsB,EAAchc,EAAQgc,YAAcisB,EAC1C,IAAIt9D,EAMJ,IALIogE,GACF/C,GAAQz5C,EAAKyR,EAASkd,EAAatqC,GAErC2b,EAAIuE,YACJvE,EAAIyE,IAAI9hB,EAAGE,EAAG4qC,EAAakB,EAAatqC,EAAKsqC,GAAY,GACpDvyC,EAAI,EAAGA,EAAI0/D,IAAe1/D,EAC7B4jB,EAAIgF,SAIN,IAFAhF,EAAIuE,YACJvE,EAAIyE,IAAI9hB,EAAGE,EAAG6qC,EAAaiB,EAAYA,EAAatqC,GAC/CjI,EAAI,EAAGA,EAAI0/D,IAAe1/D,EAC7B4jB,EAAIgF,QAER,CAgBI03C,CAAsB18C,EAAKyR,EAAS+qC,GAElCA,GACF/C,GAAQz5C,EAAKyR,EAASmd,GAExBkrB,GAAQ95C,EAAKyR,EAAS2b,EAAQc,EAASU,EAAU+D,GACjD3yB,EAAIgF,SACN,EA4EIwvB,CAAWx0B,EAAKjuB,KAAMuqE,EAAcpuB,EAASU,EAAU+D,GACvD3yB,EAAIiD,SACN,EAkBF,SAAS05C,GAAS38C,EAAKhe,EAAS4d,EAAQ5d,GACtCge,EAAI48C,QAAU98D,EAAe8f,EAAMsX,eAAgBl1B,EAAQk1B,gBAC3DlX,EAAI8gC,YAAYhhD,EAAe8f,EAAMuX,WAAYn1B,EAAQm1B,aACzDnX,EAAI+gC,eAAiBjhD,EAAe8f,EAAMwX,iBAAkBp1B,EAAQo1B,kBACpEpX,EAAIy8C,SAAW38D,EAAe8f,EAAMyX,gBAAiBr1B,EAAQq1B,iBAC7DrX,EAAIiH,UAAYnnB,EAAe8f,EAAMnqB,YAAauM,EAAQvM,aAC1DuqB,EAAIgH,YAAclnB,EAAe8f,EAAMpqB,YAAawM,EAAQxM,YAC9D,CACA,SAASovB,GAAO5E,EAAK6F,EAAUpkB,GAC7Bue,EAAI4E,OAAOnjB,EAAOkB,EAAGlB,EAAOoB,EAC9B,CAUA,SAASg6D,GAASxyD,EAAQvN,EAASoqD,EAAS,CAAC,GAC3C,MAAM18C,EAAQH,EAAOxJ,QACd2G,MAAOs1D,EAAc,EAAGr1D,IAAKs1D,EAAYvyD,EAAQ,GAAK08C,GACtD1/C,MAAOw1D,EAAcv1D,IAAKw1D,GAAcngE,EACzC0K,EAAQpD,KAAK4B,IAAI82D,EAAaE,GAC9Bv1D,EAAMrD,KAAK2B,IAAIg3D,EAAWE,GAC1BC,EAAUJ,EAAcE,GAAgBD,EAAYC,GAAgBF,EAAcG,GAAcF,EAAYE,EAClH,MAAO,CACLzyD,QACAhD,QACA2nB,KAAMryB,EAAQqyB,KACdluB,KAAMwG,EAAMD,IAAU01D,EAAU1yD,EAAQ/C,EAAMD,EAAQC,EAAMD,EAEhE,CACA,SAAS21D,GAAYn9C,EAAKztB,EAAMuK,EAASoqD,GACvC,MAAM,OAAC78C,EAAM,QAAErI,GAAWzP,GACpB,MAACiY,EAAK,MAAEhD,EAAK,KAAE2nB,EAAI,KAAEluB,GAAQ47D,GAASxyD,EAAQvN,EAASoqD,GACvDkW,EA1BR,SAAuBp7D,GACrB,OAAIA,EAAQq7D,QACHz3C,GAEL5jB,EAAQ0uB,SAA8C,aAAnC1uB,EAAQstB,uBACtBtJ,GAEFpB,EACT,CAkBqB04C,CAAct7D,GACjC,IACI5F,EAAG8oB,EAAOuL,GADV,KAAC6W,GAAO,EAAI,QAAE5mC,GAAWwmD,GAAU,CAAC,EAExC,IAAK9qD,EAAI,EAAGA,GAAK6E,IAAQ7E,EACvB8oB,EAAQ7a,GAAQ7C,GAAS9G,EAAUO,EAAO7E,EAAIA,IAAMoO,GAChD0a,EAAMgJ,OAECoZ,GACTtnB,EAAI2E,OAAOO,EAAMviB,EAAGuiB,EAAMriB,GAC1BykC,GAAO,GAEP81B,EAAWp9C,EAAKyQ,EAAMvL,EAAOxkB,EAASsB,EAAQq7D,SAEhD5sC,EAAOvL,GAMT,OAJIiK,IACFjK,EAAQ7a,GAAQ7C,GAAS9G,EAAUO,EAAO,IAAMuJ,GAChD4yD,EAAWp9C,EAAKyQ,EAAMvL,EAAOxkB,EAASsB,EAAQq7D,YAEvCluC,CACX,CACA,SAASouC,GAAgBv9C,EAAKztB,EAAMuK,EAASoqD,GAC3C,MAAM78C,EAAS9X,EAAK8X,QACd,MAACG,EAAK,MAAEhD,EAAK,KAAEvG,GAAQ47D,GAASxyD,EAAQvN,EAASoqD,IACjD,KAAC5f,GAAO,EAAI,QAAE5mC,GAAWwmD,GAAU,CAAC,EAC1C,IAEI9qD,EAAG8oB,EAAOs4C,EAAOluB,EAAMF,EAAMquB,EAF7BC,EAAO,EACPC,EAAS,EAEb,MAAMC,EAAcv8D,IAAWmG,GAAS9G,EAAUO,EAAOI,EAAQA,IAAUmJ,EACrEqzD,EAAQ,KACRvuB,IAASF,IACXpvB,EAAI4E,OAAO84C,EAAMtuB,GACjBpvB,EAAI4E,OAAO84C,EAAMpuB,GACjBtvB,EAAI4E,OAAO84C,EAAMD,GACnB,EAMF,IAJIn2B,IACFpiB,EAAQ7a,EAAOuzD,EAAW,IAC1B59C,EAAI2E,OAAOO,EAAMviB,EAAGuiB,EAAMriB,IAEvBzG,EAAI,EAAGA,GAAK6E,IAAQ7E,EAAG,CAE1B,GADA8oB,EAAQ7a,EAAOuzD,EAAWxhE,IACtB8oB,EAAMgJ,KACR,SAEF,MAAMvrB,EAAIuiB,EAAMviB,EACVE,EAAIqiB,EAAMriB,EACVi7D,EAAa,EAAJn7D,EACXm7D,IAAWN,GACT36D,EAAIysC,EACNA,EAAOzsC,EACEA,EAAIusC,IACbA,EAAOvsC,GAET66D,GAAQC,EAASD,EAAO/6D,KAAOg7D,IAE/BE,IACA79C,EAAI4E,OAAOjiB,EAAGE,GACd26D,EAAQM,EACRH,EAAS,EACTruB,EAAOF,EAAOvsC,GAEhB46D,EAAQ56D,CACV,CACAg7D,GACF,CACA,SAASE,GAAkBxrE,GACzB,MAAMi0B,EAAOj0B,EAAKyP,QACZm1B,EAAa3Q,EAAK2Q,YAAc3Q,EAAK2Q,WAAWt2B,OAEtD,OADqBtO,EAAK4+C,YAAe5+C,EAAKioC,OAAUhU,EAAKkK,SAA2C,aAAhClK,EAAK8I,wBAA0C9I,EAAK62C,SAAYlmC,EACjGgmC,GAAlBI,EACvB,CA5HAlgE,GAAW0B,GAAK,MAChB1B,GAAW2hB,SAAW,CACpBsxB,YAAa,SACb96C,YAAa,OACb6hC,qBAAiBta,EACjBy9C,aAAc,EACd/kE,YAAa,EACb23C,OAAQ,EACRc,QAAS,EACTnnC,WAAOgW,EACP41B,UAAU,GAEZt1C,GAAWi2C,cAAgB,CACzBn0B,gBAAiB,mBAgJnB,MAAM6+C,GAA8B,mBAAXC,OAQzB,MAAM3gE,WAAoB01C,GACxBl3B,YAAYoe,GACVqQ,QACAx4C,KAAKq/C,UAAW,EAChBr/C,KAAKiQ,aAAU+a,EACfhrB,KAAKqqC,YAASrf,EACdhrB,KAAKyoC,WAAQzd,EACbhrB,KAAK8gD,eAAY91B,EACjBhrB,KAAKmsE,WAAQnhD,EACbhrB,KAAKosE,aAAUphD,EACfhrB,KAAKqsE,eAAYrhD,EACjBhrB,KAAKo/C,YAAa,EAClBp/C,KAAKssE,gBAAiB,EACtBtsE,KAAKm/C,mBAAgBn0B,EACjBmd,GACF96B,OAAOuM,OAAO5Z,KAAMmoC,EAExB,CACAyX,oBAAoB1M,EAAW9kB,GAC7B,MAAMne,EAAUjQ,KAAKiQ,QACrB,IAAKA,EAAQ0uB,SAA8C,aAAnC1uB,EAAQstB,0BAA2CttB,EAAQq7D,UAAYtrE,KAAKssE,eAAgB,CAClH,MAAMlvC,EAAOntB,EAAQqtB,SAAWt9B,KAAKyoC,MAAQzoC,KAAK8gD,UAClD3jB,GAA2Bn9B,KAAKosE,QAASn8D,EAASijC,EAAW9V,EAAMhP,GACnEpuB,KAAKssE,gBAAiB,CACxB,CACF,CACIh0D,WAAOA,GACTtY,KAAKosE,QAAU9zD,SACRtY,KAAKqsE,iBACLrsE,KAAKmsE,MACZnsE,KAAKssE,gBAAiB,CACxB,CACIh0D,aACF,OAAOtY,KAAKosE,OACd,CACI9hE,eACF,OAAOtK,KAAKqsE,YAAcrsE,KAAKqsE,UD/iInC,SAA0B7rE,EAAM+rE,GAC9B,MAAMj0D,EAAS9X,EAAK8X,OACdglB,EAAW98B,EAAKyP,QAAQqtB,SACxB7kB,EAAQH,EAAOxJ,OACrB,IAAK2J,EACH,MAAO,GAET,MAAM2kB,IAAS58B,EAAKioC,OACd,MAAChzB,EAAK,IAAEC,GAxDhB,SAAyB4C,EAAQG,EAAO2kB,EAAME,GAC5C,IAAI7nB,EAAQ,EACRC,EAAM+C,EAAQ,EAClB,GAAI2kB,IAASE,EACX,KAAO7nB,EAAQgD,IAAUH,EAAO7C,GAAO0mB,MACrC1mB,IAGJ,KAAOA,EAAQgD,GAASH,EAAO7C,GAAO0mB,MACpC1mB,IAMF,IAJAA,GAASgD,EACL2kB,IACF1nB,GAAOD,GAEFC,EAAMD,GAAS6C,EAAO5C,EAAM+C,GAAO0jB,MACxCzmB,IAGF,OADAA,GAAO+C,EACA,CAAChD,QAAOC,MACjB,CAoCuB82D,CAAgBl0D,EAAQG,EAAO2kB,EAAME,GAC1D,OAOF,SAAuB98B,EAAM8J,EAAUgO,EAAQi0D,GAC7C,OAAKA,GAAmBA,EAAeryC,YAAe5hB,EAKxD,SAAyB9X,EAAM8J,EAAUgO,EAAQi0D,GAC/C,MAAME,EAAejsE,EAAK6pC,OAAO3Y,aAC3Bg7C,EAAYxnC,GAAU1kC,EAAKyP,UAC1BkvC,cAAe9vC,EAAcY,SAAS,SAACqtB,IAAa98B,EACrDiY,EAAQH,EAAOxJ,OACfxI,EAAS,GACf,IAAIk/B,EAAYknC,EACZj3D,EAAQnL,EAAS,GAAGmL,MACpBpL,EAAIoL,EACR,SAASk3D,EAAS/2D,EAAGrB,EAAG+H,EAAGswD,GACzB,MAAMC,EAAMvvC,GAAY,EAAI,EAC5B,GAAI1nB,IAAMrB,EAAV,CAIA,IADAqB,GAAK6C,EACEH,EAAO1C,EAAI6C,GAAO0jB,MACvBvmB,GAAKi3D,EAEP,KAAOv0D,EAAO/D,EAAIkE,GAAO0jB,MACvB5nB,GAAKs4D,EAEHj3D,EAAI6C,GAAUlE,EAAIkE,IACpBnS,EAAOgL,KAAK,CAACmE,MAAOG,EAAI6C,EAAO/C,IAAKnB,EAAIkE,EAAO2kB,KAAM9gB,EAAGuR,MAAO++C,IAC/DpnC,EAAYonC,EACZn3D,EAAQlB,EAAIkE,EAXd,CAaF,CACA,IAAK,MAAM1N,KAAWT,EAAU,CAC9BmL,EAAQ6nB,EAAW7nB,EAAQ1K,EAAQ0K,MACnC,IACIoY,EADA6Q,EAAOpmB,EAAO7C,EAAQgD,GAE1B,IAAKpO,EAAIoL,EAAQ,EAAGpL,GAAKU,EAAQ2K,IAAKrL,IAAK,CACzC,MAAM6yB,EAAK5kB,EAAOjO,EAAIoO,GACtBoV,EAAQqX,GAAUqnC,EAAeryC,WAAWvC,GAAc80C,EAAc,CACtErpE,KAAM,UACN0pE,GAAIpuC,EACJjV,GAAIyT,EACJ6vC,aAAc1iE,EAAI,GAAKoO,EACvBu0D,YAAa3iE,EAAIoO,EACjBpJ,mBAEEk2B,GAAa1X,EAAO2X,IACtBmnC,EAASl3D,EAAOpL,EAAI,EAAGU,EAAQqyB,KAAMoI,GAEvC9G,EAAOxB,EACPsI,EAAY3X,CACd,CACIpY,EAAQpL,EAAI,GACdsiE,EAASl3D,EAAOpL,EAAI,EAAGU,EAAQqyB,KAAMoI,EAEzC,CACA,OAAOl/B,CACT,CAtDS2mE,CAAgBzsE,EAAM8J,EAAUgO,EAAQi0D,GAFtCjiE,CAGX,CAXW4iE,CAAc1sE,GADN,IAAb88B,EACyB,CAAC,CAAC7nB,QAAOC,MAAK0nB,SArC7C,SAAuB9kB,EAAQ7C,EAAOxB,EAAKmpB,GACzC,MAAM3kB,EAAQH,EAAOxJ,OACfxI,EAAS,GACf,IAEIoP,EAFAgB,EAAOjB,EACPipB,EAAOpmB,EAAO7C,GAElB,IAAKC,EAAMD,EAAQ,EAAGC,GAAOzB,IAAOyB,EAAK,CACvC,MAAM8xB,EAAMlvB,EAAO5C,EAAM+C,GACrB+uB,EAAIrL,MAAQqL,EAAIE,KACbhJ,EAAKvC,OACRiB,GAAO,EACP92B,EAAOgL,KAAK,CAACmE,MAAOA,EAAQgD,EAAO/C,KAAMA,EAAM,GAAK+C,EAAO2kB,SAC3D3nB,EAAQiB,EAAO8wB,EAAIE,KAAOhyB,EAAM,OAGlCgB,EAAOhB,EACHgpB,EAAKvC,OACP1mB,EAAQC,IAGZgpB,EAAO8I,CACT,CAIA,OAHa,OAAT9wB,GACFpQ,EAAOgL,KAAK,CAACmE,MAAOA,EAAQgD,EAAO/C,IAAKgB,EAAO+B,EAAO2kB,SAEjD92B,CACT,CAe6B6mE,CAAc70D,EAAQ7C,EAFrCC,EAAMD,EAAQC,EAAM+C,EAAQ/C,IACjBlV,EAAKsgD,WAAuB,IAAVrrC,GAAeC,IAAQ+C,EAAQ,GAHrBH,EAAQi0D,EAK7D,CCgiI+Ca,CAAiBptE,KAAMA,KAAKiQ,QAAQlF,SACjF,CACA/J,QACE,MAAMsJ,EAAWtK,KAAKsK,SAChBgO,EAAStY,KAAKsY,OACpB,OAAOhO,EAASwE,QAAUwJ,EAAOhO,EAAS,GAAGmL,MAC/C,CACAiB,OACE,MAAMpM,EAAWtK,KAAKsK,SAChBgO,EAAStY,KAAKsY,OACdG,EAAQnO,EAASwE,OACvB,OAAO2J,GAASH,EAAOhO,EAASmO,EAAQ,GAAG/C,IAC7C,CACAkW,YAAYuH,EAAOpf,GACjB,MAAM9D,EAAUjQ,KAAKiQ,QACf/C,EAAQimB,EAAMpf,GACduE,EAAStY,KAAKsY,OACdhO,EAAW06B,GAAehlC,KAAM,CAAC+T,WAAU0B,MAAOvI,EAAOwI,IAAKxI,IACpE,IAAK5C,EAASwE,OACZ,OAEF,MAAMxI,EAAS,GACT+mE,EAlGV,SAAiCp9D,GAC/B,OAAIA,EAAQq7D,QACHppC,GAELjyB,EAAQ0uB,SAA8C,aAAnC1uB,EAAQstB,uBACtB4E,GAEFF,EACT,CA0FyBqrC,CAAwBr9D,GAC7C,IAAI5F,EAAG6E,EACP,IAAK7E,EAAI,EAAG6E,EAAO5E,EAASwE,OAAQzE,EAAI6E,IAAQ7E,EAAG,CACjD,MAAM,MAACoL,EAAK,IAAEC,GAAOpL,EAASD,GACxBof,EAAKnR,EAAO7C,GACZiU,EAAKpR,EAAO5C,GAClB,GAAI+T,IAAOC,EAAI,CACbpjB,EAAOgL,KAAKmY,GACZ,QACF,CACA,MACM8jD,EAAeF,EAAa5jD,EAAIC,EAD5BrX,KAAKwB,KAAK3G,EAAQuc,EAAG1V,KAAc2V,EAAG3V,GAAY0V,EAAG1V,KAClB9D,EAAQq7D,SACrDiC,EAAax5D,GAAYof,EAAMpf,GAC/BzN,EAAOgL,KAAKi8D,EACd,CACA,OAAyB,IAAlBjnE,EAAOwI,OAAexI,EAAO,GAAKA,CAC3C,CACA8kE,YAAYn9C,EAAKljB,EAASoqD,GAExB,OADsB6W,GAAkBhsE,KACjCwtE,CAAcv/C,EAAKjuB,KAAM+K,EAASoqD,EAC3C,CACAsY,KAAKx/C,EAAKxY,EAAOgD,GACf,MAAMnO,EAAWtK,KAAKsK,SAChBkjE,EAAgBxB,GAAkBhsE,MACxC,IAAIo9B,EAAOp9B,KAAKyoC,MAChBhzB,EAAQA,GAAS,EACjBgD,EAAQA,GAAUzY,KAAKsY,OAAOxJ,OAAS2G,EACvC,IAAK,MAAM1K,KAAWT,EACpB8yB,GAAQowC,EAAcv/C,EAAKjuB,KAAM+K,EAAS,CAAC0K,QAAOC,IAAKD,EAAQgD,EAAQ,IAEzE,QAAS2kB,CACX,CACAuJ,KAAK1Y,EAAKilB,EAAWz9B,EAAOgD,GAC1B,MAAMxI,EAAUjQ,KAAKiQ,SAAW,CAAC,GAClBjQ,KAAKsY,QAAU,IACnBxJ,QAAUmB,EAAQvM,cAC3BuqB,EAAI6C,OArGV,SAAc7C,EAAKztB,EAAMiV,EAAOgD,GAC1BwzD,KAAczrE,EAAKyP,QAAQlF,QAzBjC,SAA6BkjB,EAAKztB,EAAMiV,EAAOgD,GAC7C,IAAIg1D,EAAOjtE,EAAK2rE,MACXsB,IACHA,EAAOjtE,EAAK2rE,MAAQ,IAAID,OACpB1rE,EAAKitE,KAAKA,EAAMh4D,EAAOgD,IACzBg1D,EAAK96C,aAGTi4C,GAAS38C,EAAKztB,EAAKyP,SACnBge,EAAIgF,OAAOw6C,EACb,CAgBIC,CAAoBz/C,EAAKztB,EAAMiV,EAAOgD,GAf1C,SAA0BwV,EAAKztB,EAAMiV,EAAOgD,GAC1C,MAAM,SAACnO,EAAQ,QAAE2F,GAAWzP,EACtBgtE,EAAgBxB,GAAkBxrE,GACxC,IAAK,MAAMuK,KAAWT,EACpBsgE,GAAS38C,EAAKhe,EAASlF,EAAQ8iB,OAC/BI,EAAIuE,YACAg7C,EAAcv/C,EAAKztB,EAAMuK,EAAS,CAAC0K,QAAOC,IAAKD,EAAQgD,EAAQ,KACjEwV,EAAI0E,YAEN1E,EAAIgF,QAER,CAMI06C,CAAiB1/C,EAAKztB,EAAMiV,EAAOgD,EAEvC,CAgGMkuB,CAAK1Y,EAAKjuB,KAAMyV,EAAOgD,GACvBwV,EAAIiD,WAEFlxB,KAAKq/C,WACPr/C,KAAKssE,gBAAiB,EACtBtsE,KAAKmsE,WAAQnhD,EAEjB,EAyBF,SAAS4iD,GAAU9rC,EAAI/B,EAAKlnB,EAAMsoC,GAChC,MAAMlxC,EAAU6xB,EAAG7xB,SACZ,CAAC4I,GAAO3L,GAAS40B,EAAGsf,SAAS,CAACvoC,GAAOsoC,GAC5C,OAAQ9uC,KAAKwB,IAAIksB,EAAM7yB,GAAS+C,EAAQmiB,OAASniB,EAAQ49D,SAC3D,CA3BAtiE,GAAYyB,GAAK,OACjBzB,GAAY0hB,SAAW,CACrBkY,eAAgB,OAChBC,WAAY,GACZC,iBAAkB,EAClBC,gBAAiB,QACjB5hC,YAAa,EACbk7B,iBAAiB,EACjBrB,uBAAwB,UACxBvK,MAAM,EACNsK,UAAU,EACVguC,SAAS,EACT3sC,QAAS,GAEXpzB,GAAYg2C,cAAgB,CAC1Bn0B,gBAAiB,kBACjB3pB,YAAa,eAEf8H,GAAYuhB,YAAc,CACxBkD,aAAa,EACbE,WAAaZ,GAAkB,eAATA,GAAkC,SAATA,GAQjD,MAAM7jB,WAAqBw1C,GACzBl3B,YAAYoe,GACVqQ,QACAx4C,KAAKiQ,aAAU+a,EACfhrB,KAAK+7B,YAAS/Q,EACdhrB,KAAKm8B,UAAOnR,EACZhrB,KAAK0nC,UAAO1c,EACRmd,GACF96B,OAAOuM,OAAO5Z,KAAMmoC,EAExB,CACAqrB,QAAQsa,EAAQC,EAAQ5sB,GACtB,MAAMlxC,EAAUjQ,KAAKiQ,SACf,EAACW,EAAC,EAAEE,GAAK9Q,KAAKohD,SAAS,CAAC,IAAK,KAAMD,GACzC,OAAS9uC,KAAKiB,IAAIw6D,EAASl9D,EAAG,GAAKyB,KAAKiB,IAAIy6D,EAASj9D,EAAG,GAAMuB,KAAKiB,IAAIrD,EAAQ49D,UAAY59D,EAAQmiB,OAAQ,EAC7G,CACA47C,SAASF,EAAQ3sB,GACf,OAAOysB,GAAU5tE,KAAM8tE,EAAQ,IAAK3sB,EACtC,CACA8sB,SAASF,EAAQ5sB,GACf,OAAOysB,GAAU5tE,KAAM+tE,EAAQ,IAAK5sB,EACtC,CACA8S,eAAe9S,GACb,MAAM,EAACvwC,EAAC,EAAEE,GAAK9Q,KAAKohD,SAAS,CAAC,IAAK,KAAMD,GACzC,MAAO,CAACvwC,IAAGE,IACb,CACAmB,KAAKhC,GAEH,IAAImiB,GADJniB,EAAUA,GAAWjQ,KAAKiQ,SAAW,CAAC,GACjBmiB,QAAU,EAG/B,OAFAA,EAAS/f,KAAK4B,IAAIme,EAAQA,GAAUniB,EAAQi+D,aAAe,GAE3B,GAAxB97C,GADYA,GAAUniB,EAAQvM,aAAe,GAEvD,CACAijC,KAAK1Y,EAAKmF,GACR,MAAMnjB,EAAUjQ,KAAKiQ,QACjBjQ,KAAKm8B,MAAQlsB,EAAQmiB,OAAS,KAAQc,GAAelzB,KAAMozB,EAAMpzB,KAAKiS,KAAKhC,GAAW,KAG1Fge,EAAIgH,YAAchlB,EAAQxM,YAC1BwqB,EAAIiH,UAAYjlB,EAAQvM,YACxBuqB,EAAI4G,UAAY5kB,EAAQmd,gBACxByE,GAAU5D,EAAKhe,EAASjQ,KAAK4Q,EAAG5Q,KAAK8Q,GACvC,CACAqiD,WACE,MAAMljD,EAAUjQ,KAAKiQ,SAAW,CAAC,EACjC,OAAOA,EAAQmiB,OAASniB,EAAQ49D,SAClC,EAiBF,SAASM,GAAaC,EAAKjtB,GACzB,MAAM,EAACvwC,EAAC,EAAEE,EAAC,KAAE0/B,EAAI,MAAEzsC,EAAK,OAAEE,GAAUmqE,EAAIhtB,SAAS,CAAC,IAAK,IAAK,OAAQ,QAAS,UAAWD,GACxF,IAAI7tB,EAAMC,EAAOC,EAAKC,EAAQ46C,EAc9B,OAbID,EAAIv2B,YACNw2B,EAAOpqE,EAAS,EAChBqvB,EAAOjhB,KAAK2B,IAAIpD,EAAG4/B,GACnBjd,EAAQlhB,KAAK4B,IAAIrD,EAAG4/B,GACpBhd,EAAM1iB,EAAIu9D,EACV56C,EAAS3iB,EAAIu9D,IAEbA,EAAOtqE,EAAQ,EACfuvB,EAAO1iB,EAAIy9D,EACX96C,EAAQ3iB,EAAIy9D,EACZ76C,EAAMnhB,KAAK2B,IAAIlD,EAAG0/B,GAClB/c,EAASphB,KAAK4B,IAAInD,EAAG0/B,IAEhB,CAACld,OAAME,MAAKD,QAAOE,SAC5B,CACA,SAAS66C,GAAYnyC,EAAMjvB,EAAO8G,EAAKC,GACrC,OAAOkoB,EAAO,EAAIlmB,EAAY/I,EAAO8G,EAAKC,EAC5C,CAsDA,SAASu/C,GAAQ4a,EAAKx9D,EAAGE,EAAGqwC,GAC1B,MAAMotB,EAAc,OAAN39D,EACR49D,EAAc,OAAN19D,EAER2zB,EAAS2pC,KADEG,GAASC,IACSL,GAAaC,EAAKjtB,GACrD,OAAO1c,IACH8pC,GAASr4D,EAAWtF,EAAG6zB,EAAOnR,KAAMmR,EAAOlR,UAC3Ci7C,GAASt4D,EAAWpF,EAAG2zB,EAAOjR,IAAKiR,EAAOhR,QAChD,CAIA,SAASg7C,GAAkBxgD,EAAK8E,GAC9B9E,EAAI8E,KAAKA,EAAKniB,EAAGmiB,EAAKjiB,EAAGiiB,EAAKnV,EAAGmV,EAAKxW,EACxC,CACA,SAASmyD,GAAY37C,EAAMy/B,EAAQmc,EAAU,CAAC,GAC5C,MAAM/9D,EAAImiB,EAAKniB,IAAM+9D,EAAQ/9D,GAAK4hD,EAAS,EACrC1hD,EAAIiiB,EAAKjiB,IAAM69D,EAAQ79D,GAAK0hD,EAAS,EACrC50C,GAAKmV,EAAKniB,EAAImiB,EAAKnV,IAAM+wD,EAAQ/9D,EAAI+9D,EAAQ/wD,EAAI40C,EAAS,GAAK5hD,EAC/D2L,GAAKwW,EAAKjiB,EAAIiiB,EAAKxW,IAAMoyD,EAAQ79D,EAAI69D,EAAQpyD,EAAIi2C,EAAS,GAAK1hD,EACrE,MAAO,CACLF,EAAGmiB,EAAKniB,EAAIA,EACZE,EAAGiiB,EAAKjiB,EAAIA,EACZ8M,EAAGmV,EAAKnV,EAAIA,EACZrB,EAAGwW,EAAKxW,EAAIA,EACZ6V,OAAQW,EAAKX,OAEjB,CApHA3mB,GAAauB,GAAK,QAClBvB,GAAawhB,SAAW,CACtBvpB,YAAa,EACbmqE,UAAW,EACXrvB,iBAAkB,EAClB0vB,YAAa,EACbh8C,WAAY,SACZE,OAAQ,EACRD,SAAU,GAEZ1mB,GAAa81C,cAAgB,CAC3Bn0B,gBAAiB,kBACjB3pB,YAAa,eAyGf,MAAM+H,WAAmBy1C,GACvBl3B,YAAYoe,GACVqQ,QACAx4C,KAAKiQ,aAAU+a,EACfhrB,KAAK63C,gBAAa7sB,EAClBhrB,KAAKwwC,UAAOxlB,EACZhrB,KAAK+D,WAAQinB,EACbhrB,KAAKiE,YAAS+mB,EACdhrB,KAAKq4C,mBAAgBrtB,EACjBmd,GACF96B,OAAOuM,OAAO5Z,KAAMmoC,EAExB,CACAxB,KAAK1Y,GACH,MAAM,cAACoqB,EAAepoC,SAAS,YAACxM,EAAW,gBAAE2pB,IAAoBptB,MAC3D,MAACyqE,EAAK,MAAEmE,GAvElB,SAAuBR,GACrB,MAAM3pC,EAAS0pC,GAAaC,GACtBrqE,EAAQ0gC,EAAOlR,MAAQkR,EAAOnR,KAC9BrvB,EAASwgC,EAAOhR,OAASgR,EAAOjR,IAChCksB,EA7BR,SAA0B0uB,EAAKS,EAAMC,GACnC,MAAM5hE,EAAQkhE,EAAIn+D,QAAQvM,YACpBy4B,EAAOiyC,EAAIx2B,cACX/mC,EAAIkmB,GAAO7pB,GACjB,MAAO,CACL4M,EAAGw0D,GAAYnyC,EAAK3I,IAAK3iB,EAAE2iB,IAAK,EAAGs7C,GACnC/wD,EAAGuwD,GAAYnyC,EAAK5I,MAAO1iB,EAAE0iB,MAAO,EAAGs7C,GACvC78D,EAAGs8D,GAAYnyC,EAAK1I,OAAQ5iB,EAAE4iB,OAAQ,EAAGq7C,GACzCxyD,EAAGgyD,GAAYnyC,EAAK7I,KAAMziB,EAAEyiB,KAAM,EAAGu7C,GAEzC,CAmBiBE,CAAiBX,EAAKrqE,EAAQ,EAAGE,EAAS,GACnDmuB,EAnBR,SAA2Bg8C,EAAKS,EAAMC,GACpC,MAAM,mBAAC/2B,GAAsBq2B,EAAIhtB,SAAS,CAAC,uBACrCl0C,EAAQkhE,EAAIn+D,QAAQw4D,aACpB53D,EAAImmB,GAAc9pB,GAClB8hE,EAAO38D,KAAK2B,IAAI66D,EAAMC,GACtB3yC,EAAOiyC,EAAIx2B,cACXq3B,EAAel3B,GAAsBtqC,EAASP,GACpD,MAAO,CACL8oB,QAASs4C,IAAaW,GAAgB9yC,EAAK3I,KAAO2I,EAAK7I,KAAMziB,EAAEmlB,QAAS,EAAGg5C,GAC3E74C,SAAUm4C,IAAaW,GAAgB9yC,EAAK3I,KAAO2I,EAAK5I,MAAO1iB,EAAEslB,SAAU,EAAG64C,GAC9E/4C,WAAYq4C,IAAaW,GAAgB9yC,EAAK1I,QAAU0I,EAAK7I,KAAMziB,EAAEolB,WAAY,EAAG+4C,GACpF94C,YAAao4C,IAAaW,GAAgB9yC,EAAK1I,QAAU0I,EAAK5I,MAAO1iB,EAAEqlB,YAAa,EAAG84C,GAE3F,CAMiBE,CAAkBd,EAAKrqE,EAAQ,EAAGE,EAAS,GAC1D,MAAO,CACL2qE,MAAO,CACLh+D,EAAG6zB,EAAOnR,KACVxiB,EAAG2zB,EAAOjR,IACV5V,EAAG7Z,EACHwY,EAAGtY,EACHmuB,UAEFq4C,MAAO,CACL75D,EAAG6zB,EAAOnR,KAAOosB,EAAOpjC,EACxBxL,EAAG2zB,EAAOjR,IAAMksB,EAAO5lC,EACvB8D,EAAG7Z,EAAQ27C,EAAOpjC,EAAIojC,EAAO3hC,EAC7BxB,EAAGtY,EAASy7C,EAAO5lC,EAAI4lC,EAAO1tC,EAC9BogB,OAAQ,CACN4D,QAAS3jB,KAAK4B,IAAI,EAAGme,EAAO4D,QAAU3jB,KAAK4B,IAAIyrC,EAAO5lC,EAAG4lC,EAAOpjC,IAChE6Z,SAAU9jB,KAAK4B,IAAI,EAAGme,EAAO+D,SAAW9jB,KAAK4B,IAAIyrC,EAAO5lC,EAAG4lC,EAAO3hC,IAClEkY,WAAY5jB,KAAK4B,IAAI,EAAGme,EAAO6D,WAAa5jB,KAAK4B,IAAIyrC,EAAO1tC,EAAG0tC,EAAOpjC,IACtE4Z,YAAa7jB,KAAK4B,IAAI,EAAGme,EAAO8D,YAAc7jB,KAAK4B,IAAIyrC,EAAO1tC,EAAG0tC,EAAO3hC,MAIhF,CA4C2BoxD,CAAcnvE,MAC/BovE,GAnCSh9C,EAmCew8C,EAAMx8C,QAlCxB4D,SAAW5D,EAAO+D,UAAY/D,EAAO6D,YAAc7D,EAAO8D,YAkCxBH,GAAqB04C,GAnCvE,IAAmBr8C,EAoCfnE,EAAI6C,OACA89C,EAAMhxD,IAAM6sD,EAAM7sD,GAAKgxD,EAAMryD,IAAMkuD,EAAMluD,IAC3C0R,EAAIuE,YACJ48C,EAAYnhD,EAAKygD,GAAYE,EAAOv2B,EAAeoyB,IACnDx8C,EAAI0F,OACJy7C,EAAYnhD,EAAKygD,GAAYjE,GAAQpyB,EAAeu2B,IACpD3gD,EAAI4G,UAAYpxB,EAChBwqB,EAAI+E,KAAK,YAEX/E,EAAIuE,YACJ48C,EAAYnhD,EAAKygD,GAAYjE,EAAOpyB,IACpCpqB,EAAI4G,UAAYzH,EAChBa,EAAI+E,OACJ/E,EAAIiD,SACN,CACAsiC,QAAQsa,EAAQC,EAAQ5sB,GACtB,OAAOqS,GAAQxzD,KAAM8tE,EAAQC,EAAQ5sB,EACvC,CACA6sB,SAASF,EAAQ3sB,GACf,OAAOqS,GAAQxzD,KAAM8tE,EAAQ,KAAM3sB,EACrC,CACA8sB,SAASF,EAAQ5sB,GACf,OAAOqS,GAAQxzD,KAAM,KAAM+tE,EAAQ5sB,EACrC,CACA8S,eAAe9S,GACb,MAAM,EAACvwC,EAAC,EAAEE,EAAC,KAAE0/B,EAAI,WAAEqH,GAAc73C,KAAKohD,SAAS,CAAC,IAAK,IAAK,OAAQ,cAAeD,GACjF,MAAO,CACLvwC,EAAGinC,GAAcjnC,EAAI4/B,GAAQ,EAAI5/B,EACjCE,EAAG+mC,EAAa/mC,GAAKA,EAAI0/B,GAAQ,EAErC,CACA2iB,SAASt6C,GACP,MAAgB,MAATA,EAAe7Y,KAAK+D,MAAQ,EAAI/D,KAAKiE,OAAS,CACvD,EAEFuH,GAAWwB,GAAK,MAChBxB,GAAWyhB,SAAW,CACpB2qB,cAAe,QACfl0C,YAAa,EACb+kE,aAAc,EACdpwB,cAAe,OACfnmB,gBAAYlH,GAEdxf,GAAW+1C,cAAgB,CACzBn0B,gBAAiB,kBACjB3pB,YAAa,eAGf,IAAI,GAAwB4J,OAAO0mC,OAAO,CAC1Coe,UAAW,KACX7mD,WAAYA,GACZC,YAAaA,GACbE,aAAcA,GACdD,WAAYA,KAsGZ,SAAS6jE,GAAsBrgC,GAC7B,GAAIA,EAAQoQ,WAAY,CACtB,MAAMx9C,EAAOotC,EAAQd,aACdc,EAAQoQ,kBACRpQ,EAAQd,MACf7gC,OAAOkjC,eAAevB,EAAS,OAAQ,CAAC9hC,MAAOtL,GACjD,CACF,CACA,SAAS0tE,GAAmBtpE,GAC1BA,EAAMpE,KAAKgC,SAASuT,SAAS63B,IAC3BqgC,GAAsBrgC,EAAQ,GAElC,CAiBA,IAAIugC,GAAoB,CACtBviE,GAAI,aACJigB,SAAU,CACRuiD,UAAW,UACXrnB,SAAS,GAEXsnB,qBAAsB,CAACzpE,EAAOsI,EAAM2B,KAClC,IAAKA,EAAQk4C,QAEX,YADAmnB,GAAmBtpE,GAGrB,MAAM8wD,EAAiB9wD,EAAMjC,MAC7BiC,EAAMpE,KAAKgC,SAASuT,SAAQ,CAAC63B,EAAS3/B,KACpC,MAAM,MAAC6+B,EAAK,UAAE9f,GAAa4gB,EACrB32B,EAAOrS,EAAM+pC,eAAe1gC,GAC5BzN,EAAOssC,GAASc,EAAQptC,KAC9B,GAAsD,MAAlD21B,GAAQ,CAACnJ,EAAWpoB,EAAMiK,QAAQme,YACpC,OAEF,IAAK/V,EAAKu0B,WAAW4B,mBACnB,OAEF,MAAMkhC,EAAQ1pE,EAAM+oB,OAAO1W,EAAK+2B,SAChC,GAAmB,WAAfsgC,EAAMtsE,MAAoC,SAAfssE,EAAMtsE,KACnC,OAEF,GAAI4C,EAAMiK,QAAQ2e,QAChB,OAEF,IAoBI+gD,GApBA,MAACl6D,EAAK,MAAEgD,GA7ClB,SAAmDJ,EAAMC,GACvD,MAAME,EAAaF,EAAOxJ,OAC1B,IACI2J,EADAhD,EAAQ,EAEZ,MAAM,OAACkD,GAAUN,GACX,IAACrE,EAAG,IAAEC,EAAG,WAAE6E,EAAU,WAAEC,GAAcJ,EAAOK,gBASlD,OARIF,IACFrD,EAAQQ,EAAYQ,EAAa6B,EAAQK,EAAOE,KAAM7E,GAAKwC,GAAI,EAAGgC,EAAa,IAG/EC,EADEM,EACM9C,EAAYQ,EAAa6B,EAAQK,EAAOE,KAAM5E,GAAKsC,GAAK,EAAGd,EAAO+C,GAAc/C,EAEhF+C,EAAa/C,EAEhB,CAACA,QAAOgD,QACjB,CA8B2Bm3D,CAA0Cv3D,EAAMzW,GAErE,GAAI6W,IADcxI,EAAQ4/D,WAAa,EAAI/Y,GAEzCuY,GAAsBrgC,OADxB,CAmBA,OAfI/hC,EAAcihC,KAChBc,EAAQd,MAAQtsC,SACTotC,EAAQptC,KACfyL,OAAOkjC,eAAevB,EAAS,OAAQ,CACrCjU,cAAc,EACdjL,YAAY,EACZX,IAAK,WACH,OAAOnvB,KAAKo/C,UACd,EACA9nC,IAAK,SAAS6E,GACZnc,KAAKkuC,MAAQ/xB,CACf,KAIIlM,EAAQu/D,WAChB,IAAK,OACHG,EApLR,SAAwB/tE,EAAM6T,EAAOgD,EAAOq+C,EAAgB7mD,GAC1D,MAAM6/D,EAAU7/D,EAAQ6/D,SAAWhZ,EACnC,GAAIgZ,GAAWr3D,EACb,OAAO7W,EAAK4L,MAAMiI,EAAOA,EAAQgD,GAEnC,MAAMk3D,EAAY,GACZI,GAAet3D,EAAQ,IAAMq3D,EAAU,GAC7C,IAAIE,EAAe,EACnB,MAAMC,EAAWx6D,EAAQgD,EAAQ,EACjC,IACIpO,EAAG6lE,EAAcC,EAAS/8C,EAAMg9C,EADhCxvE,EAAI6U,EAGR,IADAk6D,EAAUK,KAAkBpuE,EAAKhB,GAC5ByJ,EAAI,EAAGA,EAAIylE,EAAU,EAAGzlE,IAAK,CAChC,IAEI8f,EAFAwhD,EAAO,EACP0E,EAAO,EAEX,MAAMC,EAAgBj+D,KAAKkB,OAAOlJ,EAAI,GAAK0lE,GAAe,EAAIt6D,EACxD86D,EAAcl+D,KAAK2B,IAAI3B,KAAKkB,OAAOlJ,EAAI,GAAK0lE,GAAe,EAAGt3D,GAAShD,EACvE+6D,EAAiBD,EAAcD,EACrC,IAAKnmD,EAAImmD,EAAenmD,EAAIomD,EAAapmD,IACvCwhD,GAAQ/pE,EAAKuoB,GAAGvZ,EAChBy/D,GAAQzuE,EAAKuoB,GAAGrZ,EAElB66D,GAAQ6E,EACRH,GAAQG,EACR,MAAMC,EAAYp+D,KAAKkB,MAAMlJ,EAAI0lE,GAAe,EAAIt6D,EAC9Ci7D,EAAUr+D,KAAK2B,IAAI3B,KAAKkB,OAAOlJ,EAAI,GAAK0lE,GAAe,EAAGt3D,GAAShD,GAClE7E,EAAG+/D,EAAS7/D,EAAG8/D,GAAWhvE,EAAKhB,GAEtC,IADAuvE,EAAU/8C,GAAQ,EACbjJ,EAAIsmD,EAAWtmD,EAAIumD,EAASvmD,IAC/BiJ,EAAO,GAAM/gB,KAAKwB,KACf88D,EAAUhF,IAAS/pE,EAAKuoB,GAAGrZ,EAAI8/D,IAC/BD,EAAU/uE,EAAKuoB,GAAGvZ,IAAMy/D,EAAOO,IAE9Bx9C,EAAO+8C,IACTA,EAAU/8C,EACV88C,EAAetuE,EAAKuoB,GACpBimD,EAAQjmD,GAGZwlD,EAAUK,KAAkBE,EAC5BtvE,EAAIwvE,CACN,CAEA,OADAT,EAAUK,KAAkBpuE,EAAKquE,GAC1BN,CACT,CAuIoBkB,CAAejvE,EAAM6T,EAAOgD,EAAOq+C,EAAgB7mD,GAC/D,MACF,IAAK,UACH0/D,EAzIR,SAA0B/tE,EAAM6T,EAAOgD,EAAOq+C,GAC5C,IAEIzsD,EAAG8oB,EAAOviB,EAAGE,EAAG26D,EAAOqF,EAAUC,EAAUC,EAAYzzB,EAAMF,EAF7DsuB,EAAO,EACPC,EAAS,EAEb,MAAM+D,EAAY,GACZM,EAAWx6D,EAAQgD,EAAQ,EAC3Bw4D,EAAOrvE,EAAK6T,GAAO7E,EAEnBsgE,EADOtvE,EAAKquE,GAAUr/D,EACVqgE,EAClB,IAAK5mE,EAAIoL,EAAOpL,EAAIoL,EAAQgD,IAASpO,EAAG,CACtC8oB,EAAQvxB,EAAKyI,GACbuG,GAAKuiB,EAAMviB,EAAIqgE,GAAQC,EAAKpa,EAC5BhmD,EAAIqiB,EAAMriB,EACV,MAAMi7D,EAAa,EAAJn7D,EACf,GAAIm7D,IAAWN,EACT36D,EAAIysC,GACNA,EAAOzsC,EACPggE,EAAWzmE,GACFyG,EAAIusC,IACbA,EAAOvsC,EACPigE,EAAW1mE,GAEbshE,GAAQC,EAASD,EAAOx4C,EAAMviB,KAAOg7D,MAChC,CACL,MAAMuF,EAAY9mE,EAAI,EACtB,IAAK4C,EAAc6jE,KAAc7jE,EAAc8jE,GAAW,CACxD,MAAMK,EAAqB/+D,KAAK2B,IAAI88D,EAAUC,GACxCM,EAAqBh/D,KAAK4B,IAAI68D,EAAUC,GAC1CK,IAAuBJ,GAAcI,IAAuBD,GAC9DxB,EAAUr+D,KAAK,IACV1P,EAAKwvE,GACRxgE,EAAG+6D,IAGH0F,IAAuBL,GAAcK,IAAuBF,GAC9DxB,EAAUr+D,KAAK,IACV1P,EAAKyvE,GACRzgE,EAAG+6D,GAGT,CACIthE,EAAI,GAAK8mE,IAAcH,GACzBrB,EAAUr+D,KAAK1P,EAAKuvE,IAEtBxB,EAAUr+D,KAAK6hB,GACfs4C,EAAQM,EACRH,EAAS,EACTruB,EAAOF,EAAOvsC,EACdggE,EAAWC,EAAWC,EAAa3mE,CACrC,CACF,CACA,OAAOslE,CACT,CAqFoB2B,CAAiB1vE,EAAM6T,EAAOgD,EAAOq+C,GACjD,MACF,QACE,MAAM,IAAIz8B,MAAM,qCAAqCpqB,EAAQu/D,cAE/DxgC,EAAQoQ,WAAauwB,CA1BrB,CA0B8B,GAC9B,EAEJtnE,QAAQrC,GACNspE,GAAmBtpE,EACrB,GAyCF,SAASurE,GAAWx9D,EAAU/S,EAAO0V,EAAM0mB,GACzC,GAAIA,EACF,OAEF,IAAI3nB,EAAQzU,EAAM+S,GACd2B,EAAMgB,EAAK3C,GAKf,MAJiB,UAAbA,IACF0B,EAAQF,EAAgBE,GACxBC,EAAMH,EAAgBG,IAEjB,CAAC3B,WAAU0B,QAAOC,MAC3B,CAmBA,SAAS87D,GAAgB/7D,EAAOC,EAAK4C,GACnC,KAAM5C,EAAMD,EAAOC,IAAO,CACxB,MAAMyd,EAAQ7a,EAAO5C,GACrB,IAAK/B,MAAMwf,EAAMviB,KAAO+C,MAAMwf,EAAMriB,GAClC,KAEJ,CACA,OAAO4E,CACT,CACA,SAAS+7D,GAAS7wE,EAAGoR,EAAG8kB,EAAMzoB,GAC5B,OAAIzN,GAAKoR,EACA3D,EAAGzN,EAAEk2B,GAAO9kB,EAAE8kB,IAEhBl2B,EAAIA,EAAEk2B,GAAQ9kB,EAAIA,EAAE8kB,GAAQ,CACrC,CAEA,SAAS46C,GAAoBC,EAAUnxE,GACrC,IAAI8X,EAAS,GACTmwB,GAAQ,EAOZ,OANIt7B,EAAQwkE,IACVlpC,GAAQ,EACRnwB,EAASq5D,GAETr5D,EAzCJ,SAA6Bq5D,EAAUnxE,GACrC,MAAM,EAACoQ,EAAI,KAAI,EAAEE,EAAI,MAAQ6gE,GAAY,CAAC,EACpCC,EAAapxE,EAAK8X,OAClBA,EAAS,GAaf,OAZA9X,EAAK8J,SAAS6M,SAAQ,EAAE1B,QAAOC,UAC7BA,EAAM87D,GAAgB/7D,EAAOC,EAAKk8D,GAClC,MAAM5wE,EAAQ4wE,EAAWn8D,GACnBiB,EAAOk7D,EAAWl8D,GACd,OAAN5E,GACFwH,EAAOhH,KAAK,CAACV,EAAG5P,EAAM4P,EAAGE,MACzBwH,EAAOhH,KAAK,CAACV,EAAG8F,EAAK9F,EAAGE,OACT,OAANF,IACT0H,EAAOhH,KAAK,CAACV,IAAGE,EAAG9P,EAAM8P,IACzBwH,EAAOhH,KAAK,CAACV,IAAGE,EAAG4F,EAAK5F,IAC1B,IAEKwH,CACT,CAwBau5D,CAAoBF,EAAUnxE,GAElC8X,EAAOxJ,OAAS,IAAIvD,GAAY,CACrC+M,SACArI,QAAS,CAAC0uB,QAAS,GACnB8J,QACAqY,UAAWrY,IACR,IACP,CACA,SAASqpC,GAAiBtiE,GACxB,OAAOA,IAA0B,IAAhBA,EAAOwjB,IAC1B,CAEA,SAAS++C,GAAe1hE,EAASf,EAAO0iE,GAEtC,IAAIh/C,EADW3iB,EAAQf,GACL0jB,KAClB,MAAMi/C,EAAU,CAAC3iE,GACjB,IAAII,EACJ,IAAKsiE,EACH,OAAOh/C,EAET,MAAgB,IAATA,IAA6C,IAA3Bi/C,EAAQliE,QAAQijB,IAAc,CACrD,IAAKtlB,EAAeslB,GAClB,OAAOA,EAGT,GADAtjB,EAASW,EAAQ2iB,IACZtjB,EACH,OAAO,EAET,GAAIA,EAAOu6B,QACT,OAAOjX,EAETi/C,EAAQ3gE,KAAK0hB,GACbA,EAAOtjB,EAAOsjB,IAChB,CACA,OAAO,CACT,CACA,SAASk/C,GAAY1xE,EAAM8O,EAAOmJ,GAChC,MAAMua,EA6CR,SAAyBxyB,GACvB,MAAMyP,EAAUzP,EAAKyP,QACfkiE,EAAaliE,EAAQ+iB,KAC3B,IAAIA,EAAOjlB,EAAeokE,GAAcA,EAAWziE,OAAQyiE,GAI3D,YAHannD,IAATgI,IACFA,IAAS/iB,EAAQmd,kBAEN,IAAT4F,GAA2B,OAATA,KAGT,IAATA,EACK,SAEFA,EACT,CA3Deo/C,CAAgB5xE,GAC7B,GAAIiN,EAASulB,GACX,OAAOrf,MAAMqf,EAAK9lB,QAAiB8lB,EAErC,IAAItjB,EAASvB,WAAW6kB,GACxB,OAAItlB,EAAegC,IAAW2C,KAAKkB,MAAM7D,KAAYA,EAKvD,SAA2B2iE,EAAS/iE,EAAOI,EAAQ+I,GAIjD,MAHgB,MAAZ45D,GAA+B,MAAZA,IACrB3iE,EAASJ,EAAQI,KAEfA,IAAWJ,GAASI,EAAS,GAAKA,GAAU+I,IAGzC/I,CACT,CAZW4iE,CAAkBt/C,EAAK,GAAI1jB,EAAOI,EAAQ+I,GAE5C,CAAC,SAAU,QAAS,MAAO,QAAS,SAAS1I,QAAQijB,IAAS,GAAKA,CAC5E,CAiFA,SAASu/C,GAAej6D,EAAQk6D,EAAaC,GAC3C,MAAMC,EAAY,GAClB,IAAK,IAAIvoD,EAAI,EAAGA,EAAIsoD,EAAW3jE,OAAQqb,IAAK,CAC1C,MAAM3pB,EAAOiyE,EAAWtoD,IAClB,MAACnpB,EAAK,KAAE0V,EAAI,MAAEyc,GAASw/C,GAAUnyE,EAAMgyE,EAAa,KAC1D,MAAKr/C,GAAUnyB,GAAS0V,GAGxB,GAAI1V,EACF0xE,EAAUE,QAAQz/C,QAGlB,GADA7a,EAAOhH,KAAK6hB,IACPzc,EACH,KAGN,CACA4B,EAAOhH,QAAQohE,EACjB,CACA,SAASC,GAAUnyE,EAAMgyE,EAAaz+D,GACpC,MAAMof,EAAQ3yB,EAAKorB,YAAY4mD,EAAaz+D,GAC5C,IAAKof,EACH,MAAO,CAAC,EAEV,MAAM0/C,EAAa1/C,EAAMpf,GACnBzJ,EAAW9J,EAAK8J,SAChBsnE,EAAapxE,EAAK8X,OACxB,IAAItX,GAAQ,EACR0V,GAAO,EACX,IAAK,IAAIrM,EAAI,EAAGA,EAAIC,EAASwE,OAAQzE,IAAK,CACxC,MAAMU,EAAUT,EAASD,GACnByoE,EAAalB,EAAW7mE,EAAQ0K,OAAO1B,GACvCg/D,EAAYnB,EAAW7mE,EAAQ2K,KAAK3B,GAC1C,GAAImC,EAAW28D,EAAYC,EAAYC,GAAY,CACjD/xE,EAAQ6xE,IAAeC,EACvBp8D,EAAOm8D,IAAeE,EACtB,KACF,CACF,CACA,MAAO,CAAC/xE,QAAO0V,OAAMyc,QACvB,CAEA,MAAM6/C,GACJjpD,YAAY0K,GACVz0B,KAAK4Q,EAAI6jB,EAAK7jB,EACd5Q,KAAK8Q,EAAI2jB,EAAK3jB,EACd9Q,KAAKoyB,OAASqC,EAAKrC,MACrB,CACAg5C,YAAYn9C,EAAKwW,EAAQhQ,GACvB,MAAM,EAAC7jB,EAAC,EAAEE,EAAC,OAAEshB,GAAUpyB,KAGvB,OAFAykC,EAASA,GAAU,CAAChvB,MAAO,EAAGC,IAAKpD,GACnC2b,EAAIyE,IAAI9hB,EAAGE,EAAGshB,EAAQqS,EAAO/uB,IAAK+uB,EAAOhvB,OAAO,IACxCgf,EAAKgQ,MACf,CACA7Y,YAAYuH,GACV,MAAM,EAACviB,EAAC,EAAEE,EAAC,OAAEshB,GAAUpyB,KACjBgV,EAAQme,EAAMne,MACpB,MAAO,CACLpE,EAAGA,EAAIyB,KAAK4I,IAAIjG,GAASod,EACzBthB,EAAGA,EAAIuB,KAAK2H,IAAIhF,GAASod,EACzBpd,QAEJ,EAiEF,SAASi+D,GAAUhlD,EAAKze,EAAQ4jB,GAC9B,MAAM1jB,EA/DR,SAAoBF,GAClB,MAAM,MAACxJ,EAAK,KAAEgtB,EAAI,KAAExyB,GAAQgP,EAC5B,GAAI9B,EAAeslB,GACjB,OAcJ,SAAwBhtB,EAAOsJ,GAC7B,MAAM+I,EAAOrS,EAAM+pC,eAAezgC,GAElC,OADgB+I,GAAQrS,EAAMi2C,iBAAiB3sC,GAC9B+I,EAAK22B,QAAU,IAClC,CAlBWkkC,CAAeltE,EAAOgtB,GAE/B,GAAa,UAATA,EACF,OApGJ,SAAyBxjB,GACvB,MAAM,MAACsf,EAAK,MAAExf,EAAK,KAAE9O,GAAQgP,EACvB8I,EAAS,GACThO,EAAW9J,EAAK8J,SAChB6oE,EAAe3yE,EAAK8X,OACpBm6D,EAUR,SAAuB3jD,EAAOxf,GAC5B,MAAM8jE,EAAQ,GACRptB,EAAQl3B,EAAM4d,wBAAwB,QAC5C,IAAK,IAAIriC,EAAI,EAAGA,EAAI27C,EAAMl3C,OAAQzE,IAAK,CACrC,MAAMgO,EAAO2tC,EAAM37C,GACnB,GAAIgO,EAAK/I,QAAUA,EACjB,MAEG+I,EAAKg6B,QACR+gC,EAAMR,QAAQv6D,EAAK22B,QAEvB,CACA,OAAOokC,CACT,CAvBqBC,CAAcvkD,EAAOxf,GACxCmjE,EAAWnhE,KAAKogE,GAAoB,CAAC9gE,EAAG,KAAME,EAAGge,EAAM2E,QAASjzB,IAChE,IAAK,IAAI6J,EAAI,EAAGA,EAAIC,EAASwE,OAAQzE,IAAK,CACxC,MAAMU,EAAUT,EAASD,GACzB,IAAK,IAAI8f,EAAIpf,EAAQ0K,MAAO0U,GAAKpf,EAAQ2K,IAAKyU,IAC5CooD,GAAej6D,EAAQ66D,EAAahpD,GAAIsoD,EAE5C,CACA,OAAO,IAAIlnE,GAAY,CAAC+M,SAAQrI,QAAS,CAAC,GAC5C,CAsFWqjE,CAAgB9jE,GAEzB,GAAa,UAATwjB,EACF,OAAO,EAET,MAAM2+C,EAWR,SAAyBniE,GAEvB,OADcA,EAAOsf,OAAS,CAAC,GACrBkyB,yBAiBZ,SAAiCxxC,GAC/B,MAAM,MAACsf,EAAK,KAAEkE,GAAQxjB,EAChBS,EAAU6e,EAAM7e,QAChBnB,EAASggB,EAAM2iB,YAAY3iC,OAC3B2G,EAAQxF,EAAQtB,QAAUmgB,EAAM7a,IAAM6a,EAAM9a,IAC5C9G,EAzKR,SAAyB8lB,EAAMlE,EAAOmoB,GACpC,IAAI/pC,EAUJ,OAREA,EADW,UAAT8lB,EACMikB,EACU,QAATjkB,EACDlE,EAAM7e,QAAQtB,QAAUmgB,EAAM9a,IAAM8a,EAAM7a,IACzCxG,EAASulB,GACVA,EAAK9lB,MAEL4hB,EAAMo9B,eAETh/C,CACT,CA6JgBqmE,CAAgBvgD,EAAMlE,EAAOrZ,GACrC/F,EAAS,GACf,GAAIO,EAAQqrC,KAAKsF,SAAU,CACzB,MAAMzH,EAASrqB,EAAMkyB,yBAAyB,EAAGvrC,GACjD,OAAO,IAAIu9D,GAAU,CACnBpiE,EAAGuoC,EAAOvoC,EACVE,EAAGqoC,EAAOroC,EACVshB,OAAQtD,EAAM2xB,8BAA8BvzC,IAEhD,CACA,IAAK,IAAI7C,EAAI,EAAGA,EAAIyE,IAAUzE,EAC5BqF,EAAO4B,KAAKwd,EAAMkyB,yBAAyB32C,EAAG6C,IAEhD,OAAOwC,CACT,CAnCW8jE,CAAwBhkE,GAInC,SAA+BA,GAC7B,MAAM,MAACsf,EAAQ,CAAC,EAAC,KAAEkE,GAAQxjB,EACrB6hB,EAvKR,SAAyB2B,EAAMlE,GAC7B,IAAIuC,EAAQ,KAUZ,MATa,UAAT2B,EACF3B,EAAQvC,EAAM2E,OACI,QAATT,EACT3B,EAAQvC,EAAM0E,IACL/lB,EAASulB,GAClB3B,EAAQvC,EAAM7V,iBAAiB+Z,EAAK9lB,OAC3B4hB,EAAM4pB,eACfrnB,EAAQvC,EAAM4pB,gBAETrnB,CACT,CA2JgBoiD,CAAgBzgD,EAAMlE,GACpC,GAAIphB,EAAe2jB,GAAQ,CACzB,MAAMwmB,EAAa/oB,EAAM6pB,eACzB,MAAO,CACL/nC,EAAGinC,EAAaxmB,EAAQ,KACxBvgB,EAAG+mC,EAAa,KAAOxmB,EAE3B,CACA,OAAO,IACT,CAbSqiD,CAAsBlkE,EAC/B,CAjBmBmkE,CAAgBnkE,GACjC,OAAImiE,aAAoBqB,GACfrB,EAEFD,GAAoBC,EAAUnxE,EACvC,CA+CiBg4B,CAAWhpB,IACpB,KAAChP,EAAI,MAAEsuB,EAAK,KAAEjW,GAAQrJ,EACtBokE,EAAWpzE,EAAKyP,QAChBkiE,EAAayB,EAAS5gD,KACtB1H,EAAQsoD,EAASxmD,iBACjB,MAACymD,EAAQvoD,EAAK,MAAE8nD,EAAQ9nD,GAAS6mD,GAAc,CAAC,EAClDziE,GAAUlP,EAAK8X,OAAOxJ,SACxB4kB,GAASzF,EAAKmF,GAKlB,SAAgBnF,EAAKka,GACnB,MAAM,KAAC3nC,EAAI,OAAEkP,EAAM,MAAEmkE,EAAK,MAAET,EAAK,KAAEhgD,EAAI,MAAEtE,GAASqZ,EAC5Cp0B,EAAWvT,EAAKioC,MAAQ,QAAUN,EAAItvB,KAC5CoV,EAAI6C,OACa,MAAb/c,GAAoBq/D,IAAUS,IAChCC,GAAa7lD,EAAKve,EAAQ0jB,EAAKI,KAC/BR,GAAK/E,EAAK,CAACztB,OAAMkP,SAAQ4b,MAAOuoD,EAAO/kD,QAAO/a,aAC9Cka,EAAIiD,UACJjD,EAAI6C,OACJgjD,GAAa7lD,EAAKve,EAAQ0jB,EAAKK,SAEjCT,GAAK/E,EAAK,CAACztB,OAAMkP,SAAQ4b,MAAO8nD,EAAOtkD,QAAO/a,aAC9Cka,EAAIiD,SACN,CAjBI6iD,CAAO9lD,EAAK,CAACztB,OAAMkP,SAAQmkE,QAAOT,QAAOhgD,OAAMtE,QAAOjW,SACtD+a,GAAW3F,GAEf,CAeA,SAAS6lD,GAAa7lD,EAAKve,EAAQskE,GACjC,MAAM,SAAC1pE,EAAQ,OAAEgO,GAAU5I,EAC3B,IAAI1O,GAAQ,EACRizE,GAAW,EACfhmD,EAAIuE,YACJ,IAAK,MAAMznB,KAAWT,EAAU,CAC9B,MAAM,MAACmL,EAAK,IAAEC,GAAO3K,EACfuxB,EAAahkB,EAAO7C,GACpBkqC,EAAYrnC,EAAOk5D,GAAgB/7D,EAAOC,EAAK4C,IACjDtX,GACFitB,EAAI2E,OAAO0J,EAAW1rB,EAAG0rB,EAAWxrB,GACpC9P,GAAQ,IAERitB,EAAI4E,OAAOyJ,EAAW1rB,EAAGojE,GACzB/lD,EAAI4E,OAAOyJ,EAAW1rB,EAAG0rB,EAAWxrB,IAEtCmjE,IAAavkE,EAAO07D,YAAYn9C,EAAKljB,EAAS,CAACwqC,KAAM0+B,IACjDA,EACFhmD,EAAI0E,YAEJ1E,EAAI4E,OAAO8sB,EAAU/uC,EAAGojE,EAE5B,CACA/lD,EAAI4E,OAAOnjB,EAAO1O,QAAQ4P,EAAGojE,GAC7B/lD,EAAI0E,YACJ1E,EAAI0F,MACN,CACA,SAASX,GAAK/E,EAAKka,GACjB,MAAM,KAAC3nC,EAAI,OAAEkP,EAAM,SAAEqE,EAAQ,MAAEuX,EAAK,MAAEwD,GAASqZ,EACzC79B,EAlZR,SAAmB9J,EAAMkP,EAAQqE,GAC/B,MAAMzJ,EAAW9J,EAAK8J,SAChBgO,EAAS9X,EAAK8X,OACd47D,EAAUxkE,EAAO4I,OACjBpH,EAAQ,GACd,IAAK,MAAMnG,KAAWT,EAAU,CAC9B,IAAI,MAACmL,EAAK,IAAEC,GAAO3K,EACnB2K,EAAM87D,GAAgB/7D,EAAOC,EAAK4C,GAClC,MAAMmsB,EAAS8sC,GAAWx9D,EAAUuE,EAAO7C,GAAQ6C,EAAO5C,GAAM3K,EAAQqyB,MACxE,IAAK1tB,EAAOpF,SAAU,CACpB4G,EAAMI,KAAK,CACT9B,OAAQzE,EACR2E,OAAQ+0B,EACRhvB,MAAO6C,EAAO7C,GACdC,IAAK4C,EAAO5C,KAEd,QACF,CACA,MAAMy+D,EAAiBnvC,GAAet1B,EAAQ+0B,GAC9C,IAAK,MAAM2vC,KAAOD,EAAgB,CAChC,MAAME,EAAY9C,GAAWx9D,EAAUmgE,EAAQE,EAAI3+D,OAAQy+D,EAAQE,EAAI1+D,KAAM0+D,EAAIh3C,MAC3Ek3C,EAAc9vC,GAAcz5B,EAASuN,EAAQ+7D,GACnD,IAAK,MAAME,KAAcD,EACvBpjE,EAAMI,KAAK,CACT9B,OAAQ+kE,EACR7kE,OAAQ0kE,EACR3+D,MAAO,CACL,CAAC1B,GAAW09D,GAAShtC,EAAQ4vC,EAAW,QAAShiE,KAAK4B,MAExDyB,IAAK,CACH,CAAC3B,GAAW09D,GAAShtC,EAAQ4vC,EAAW,MAAOhiE,KAAK2B,OAI5D,CACF,CACA,OAAO9C,CACT,CA6WmBm7D,CAAU7rE,EAAMkP,EAAQqE,GACzC,IAAK,MAAOvE,OAAQglE,EAAK9kE,OAAQ0kE,EAAG,MAAE3+D,EAAK,IAAEC,KAAQpL,EAAU,CAC7D,MAAOujB,OAAO,gBAACT,EAAkB9B,GAAS,CAAC,GAAKkpD,EAC1CC,GAAsB,IAAX/kE,EACjBue,EAAI6C,OACJ7C,EAAI4G,UAAYzH,EAChBsnD,GAAWzmD,EAAKa,EAAO2lD,GAAYlD,GAAWx9D,EAAU0B,EAAOC,IAC/DuY,EAAIuE,YACJ,MAAMyhD,IAAazzE,EAAK4qE,YAAYn9C,EAAKumD,GACzC,IAAIp3C,EACJ,GAAIq3C,EAAU,CACRR,EACFhmD,EAAI0E,YAEJgiD,GAAmB1mD,EAAKve,EAAQgG,EAAK3B,GAEvC,MAAM6gE,IAAellE,EAAO07D,YAAYn9C,EAAKmmD,EAAK,CAAC7+B,KAAM0+B,EAAUtlE,SAAS,IAC5EyuB,EAAO62C,GAAYW,EACdx3C,GACHu3C,GAAmB1mD,EAAKve,EAAQ+F,EAAO1B,EAE3C,CACAka,EAAI0E,YACJ1E,EAAI+E,KAAKoK,EAAO,UAAY,WAC5BnP,EAAIiD,SACN,CACF,CACA,SAASwjD,GAAWzmD,EAAKa,EAAO2V,GAC9B,MAAM,IAACjR,EAAG,OAAEC,GAAU3E,EAAM9oB,MAAMktC,WAC5B,SAACn/B,EAAQ,MAAE0B,EAAK,IAAEC,GAAO+uB,GAAU,CAAC,EACzB,MAAb1wB,IACFka,EAAIuE,YACJvE,EAAI8E,KAAKtd,EAAO+d,EAAK9d,EAAMD,EAAOge,EAASD,GAC3CvF,EAAI0F,OAER,CACA,SAASghD,GAAmB1mD,EAAKve,EAAQyjB,EAAOpf,GAC9C,MAAM8gE,EAAoBnlE,EAAOkc,YAAYuH,EAAOpf,GAChD8gE,GACF5mD,EAAI4E,OAAOgiD,EAAkBjkE,EAAGikE,EAAkB/jE,EAEtD,CAEA,IAAIxB,GAAQ,CACVtC,GAAI,SACJ8nE,oBAAoB9uE,EAAO+uE,EAAO9kE,GAChC,MAAMwI,GAASzS,EAAMpE,KAAKgC,UAAY,IAAIkL,OACpCuB,EAAU,GAChB,IAAIgI,EAAMhO,EAAG7J,EAAMgP,EACnB,IAAKnF,EAAI,EAAGA,EAAIoO,IAASpO,EACvBgO,EAAOrS,EAAM+pC,eAAe1lC,GAC5B7J,EAAO6X,EAAK22B,QACZx/B,EAAS,KACLhP,GAAQA,EAAKyP,SAAWzP,aAAgB+K,KAC1CiE,EAAS,CACPy6B,QAASjkC,EAAMi2C,iBAAiB5xC,GAChCiF,MAAOjF,EACP2oB,KAAMk/C,GAAY1xE,EAAM6J,EAAGoO,GAC3BzS,QACA6S,KAAMR,EAAKu0B,WAAW38B,QAAQme,UAC9BU,MAAOzW,EAAKm0B,OACZhsC,SAGJ6X,EAAK28D,QAAUxlE,EACfa,EAAQiB,KAAK9B,GAEf,IAAKnF,EAAI,EAAGA,EAAIoO,IAASpO,EACvBmF,EAASa,EAAQhG,GACZmF,IAA0B,IAAhBA,EAAOwjB,OAGtBxjB,EAAOwjB,KAAO++C,GAAe1hE,EAAShG,EAAG4F,EAAQ+hE,WAErD,EACAiD,WAAWjvE,EAAO+uE,EAAO9kE,GACvB,MAAM02B,EAA4B,eAArB12B,EAAQilE,SACfzpC,EAAWzlC,EAAM2pD,+BACjBv8B,EAAOptB,EAAMktC,UACnB,IAAK,IAAI7oC,EAAIohC,EAAS38B,OAAS,EAAGzE,GAAK,IAAKA,EAAG,CAC7C,MAAMmF,EAASi8B,EAASphC,GAAG2qE,QACtBxlE,IAGLA,EAAOhP,KAAKo/C,oBAAoBxsB,EAAM5jB,EAAOqJ,MACzC8tB,GAAQn3B,EAAOwjB,MACjBigD,GAAUjtE,EAAMioB,IAAKze,EAAQ4jB,GAEjC,CACF,EACA+hD,mBAAmBnvE,EAAO+uE,EAAO9kE,GAC/B,GAAyB,uBAArBA,EAAQilE,SACV,OAEF,MAAMzpC,EAAWzlC,EAAM2pD,+BACvB,IAAK,IAAItlD,EAAIohC,EAAS38B,OAAS,EAAGzE,GAAK,IAAKA,EAAG,CAC7C,MAAMmF,EAASi8B,EAASphC,GAAG2qE,QACvBlD,GAAiBtiE,IACnByjE,GAAUjtE,EAAMioB,IAAKze,EAAQxJ,EAAMktC,UAEvC,CACF,EACAkiC,kBAAkBpvE,EAAOsI,EAAM2B,GAC7B,MAAMT,EAASlB,EAAK+J,KAAK28D,QACpBlD,GAAiBtiE,IAAgC,sBAArBS,EAAQilE,UAGzCjC,GAAUjtE,EAAMioB,IAAKze,EAAQxJ,EAAMktC,UACrC,EACAjmB,SAAU,CACR+kD,WAAW,EACXkD,SAAU,sBAId,MAAMG,GAAa,CAACC,EAAWnxE,KAC7B,IAAI,UAACoxE,EAAYpxE,EAAQ,SAAEqxE,EAAWrxE,GAAYmxE,EAKlD,OAJIA,EAAUG,gBACZF,EAAYljE,KAAK2B,IAAIuhE,EAAWpxE,GAChCqxE,EAAWF,EAAUI,iBAAmBrjE,KAAK2B,IAAIwhE,EAAUrxE,IAEtD,CACLqxE,WACAD,YACAI,WAAYtjE,KAAK4B,IAAI9P,EAAUoxE,GAChC,EAGH,MAAM7oE,WAAeu0C,GACnBl3B,YAAYqgB,GACVoO,QACAx4C,KAAK41E,QAAS,EACd51E,KAAK61E,eAAiB,GACtB71E,KAAK81E,aAAe,KACpB91E,KAAK+1E,cAAe,EACpB/1E,KAAKgG,MAAQokC,EAAOpkC,MACpBhG,KAAKiQ,QAAUm6B,EAAOn6B,QACtBjQ,KAAKiuB,IAAMmc,EAAOnc,IAClBjuB,KAAKg2E,iBAAchrD,EACnBhrB,KAAKi2E,iBAAcjrD,EACnBhrB,KAAKk2E,gBAAalrD,EAClBhrB,KAAKkE,eAAY8mB,EACjBhrB,KAAKgE,cAAWgnB,EAChBhrB,KAAKwzB,SAAMxI,EACXhrB,KAAKyzB,YAASzI,EACdhrB,KAAKszB,UAAOtI,EACZhrB,KAAKuzB,WAAQvI,EACbhrB,KAAKiE,YAAS+mB,EACdhrB,KAAK+D,WAAQinB,EACbhrB,KAAK4kD,cAAW55B,EAChBhrB,KAAKykD,cAAWz5B,EAChBhrB,KAAKurB,YAASP,EACdhrB,KAAKkrD,cAAWlgC,CAClB,CACAge,OAAOhlC,EAAUE,EAAWqiD,GAC1BvmD,KAAKgE,SAAWA,EAChBhE,KAAKkE,UAAYA,EACjBlE,KAAK4kD,SAAW2B,EAChBvmD,KAAK2mD,gBACL3mD,KAAKm2E,cACLn2E,KAAK+oD,KACP,CACApC,gBACM3mD,KAAK24C,gBACP34C,KAAK+D,MAAQ/D,KAAKgE,SAClBhE,KAAKszB,KAAOtzB,KAAK4kD,SAAStxB,KAC1BtzB,KAAKuzB,MAAQvzB,KAAK+D,QAElB/D,KAAKiE,OAASjE,KAAKkE,UACnBlE,KAAKwzB,IAAMxzB,KAAK4kD,SAASpxB,IACzBxzB,KAAKyzB,OAASzzB,KAAKiE,OAEvB,CACAkyE,cACE,MAAMb,EAAYt1E,KAAKiQ,QAAQtM,QAAU,CAAC,EAC1C,IAAIqyE,EAAc5nE,EAASknE,EAAU12B,eAAgB,CAAC5+C,KAAKgG,OAAQhG,OAAS,GACxEs1E,EAAU36C,SACZq7C,EAAcA,EAAYr7C,QAAQzoB,GAASojE,EAAU36C,OAAOzoB,EAAMlS,KAAKgG,MAAMpE,SAE3E0zE,EAAU9+B,OACZw/B,EAAcA,EAAYx/B,MAAK,CAAC51C,EAAGoR,IAAMsjE,EAAU9+B,KAAK51C,EAAGoR,EAAGhS,KAAKgG,MAAMpE,SAEvE5B,KAAKiQ,QAAQtB,SACfqnE,EAAYrnE,UAEd3O,KAAKg2E,YAAcA,CACrB,CACAjtB,MACE,MAAM,QAAC94C,EAAO,IAAEge,GAAOjuB,KACvB,IAAKiQ,EAAQ0wC,QAEX,YADA3gD,KAAK+D,MAAQ/D,KAAKiE,OAAS,GAG7B,MAAMqxE,EAAYrlE,EAAQtM,OACpByyE,EAAYl/C,GAAOo+C,EAAU3nD,MAC7BxpB,EAAWiyE,EAAUnkE,KACrBq4C,EAActqD,KAAKq2E,uBACnB,SAACb,EAAQ,WAAEG,GAAcN,GAAWC,EAAWnxE,GACrD,IAAIJ,EAAOE,EACXgqB,EAAIN,KAAOyoD,EAAU7lD,OACjBvwB,KAAK24C,gBACP50C,EAAQ/D,KAAKgE,SACbC,EAASjE,KAAKs2E,SAAShsB,EAAanmD,EAAUqxE,EAAUG,GAAc,KAEtE1xE,EAASjE,KAAKkE,UACdH,EAAQ/D,KAAKu2E,SAASjsB,EAAanmD,EAAUqxE,EAAUG,GAAc,IAEvE31E,KAAK+D,MAAQsO,KAAK2B,IAAIjQ,EAAOkM,EAAQjM,UAAYhE,KAAKgE,UACtDhE,KAAKiE,OAASoO,KAAK2B,IAAI/P,EAAQgM,EAAQ/L,WAAalE,KAAKkE,UAC3D,CACAoyE,SAAShsB,EAAanmD,EAAUqxE,EAAUG,GACxC,MAAM,IAAC1nD,EAAG,SAAEjqB,EAAUiM,SAAUtM,QAAQ,QAACo/C,KAAa/iD,KAChDw2E,EAAWx2E,KAAK61E,eAAiB,GACjCK,EAAal2E,KAAKk2E,WAAa,CAAC,GAChCpoD,EAAa6nD,EAAa5yB,EAChC,IAAI0zB,EAAcnsB,EAClBr8B,EAAI6G,UAAY,OAChB7G,EAAI8G,aAAe,SACnB,IAAI2hD,GAAO,EACPljD,GAAO1F,EAYX,OAXA9tB,KAAKg2E,YAAY7+D,SAAQ,CAAC0nC,EAAYx0C,KACpC,MAAMo5B,EAAY+xC,EAAYrxE,EAAW,EAAK8pB,EAAIwC,YAAYouB,EAAWrqB,MAAMzwB,OACrE,IAANsG,GAAW6rE,EAAWA,EAAWpnE,OAAS,GAAK20B,EAAY,EAAIsf,EAAU/+C,KAC3EyyE,GAAe3oD,EACfooD,EAAWA,EAAWpnE,QAAUzE,EAAI,EAAI,EAAI,IAAM,EAClDmpB,GAAO1F,EACP4oD,KAEFF,EAASnsE,GAAK,CAACipB,KAAM,EAAGE,MAAKkjD,MAAK3yE,MAAO0/B,EAAWx/B,OAAQ0xE,GAC5DO,EAAWA,EAAWpnE,OAAS,IAAM20B,EAAYsf,CAAO,IAEnD0zB,CACT,CACAF,SAASjsB,EAAanmD,EAAUqxE,EAAUG,GACxC,MAAM,IAAC1nD,EAAG,UAAE/pB,EAAW+L,SAAUtM,QAAQ,QAACo/C,KAAa/iD,KACjDw2E,EAAWx2E,KAAK61E,eAAiB,GACjCI,EAAcj2E,KAAKi2E,YAAc,GACjCU,EAAczyE,EAAYomD,EAChC,IAAIssB,EAAa7zB,EACb8zB,EAAkB,EAClBC,EAAmB,EACnBxjD,EAAO,EACPyjD,EAAM,EAgBV,OAfA/2E,KAAKg2E,YAAY7+D,SAAQ,CAAC0nC,EAAYx0C,KACpC,MAAMo5B,EAAY+xC,EAAYrxE,EAAW,EAAK8pB,EAAIwC,YAAYouB,EAAWrqB,MAAMzwB,MAC3EsG,EAAI,GAAKysE,EAAmBnB,EAAa,EAAI5yB,EAAU4zB,IACzDC,GAAcC,EAAkB9zB,EAChCkzB,EAAY3kE,KAAK,CAACvN,MAAO8yE,EAAiB5yE,OAAQ6yE,IAClDxjD,GAAQujD,EAAkB9zB,EAC1Bg0B,IACAF,EAAkBC,EAAmB,GAEvCN,EAASnsE,GAAK,CAACipB,OAAME,IAAKsjD,EAAkBC,MAAKhzE,MAAO0/B,EAAWx/B,OAAQ0xE,GAC3EkB,EAAkBxkE,KAAK4B,IAAI4iE,EAAiBpzC,GAC5CqzC,GAAoBnB,EAAa5yB,CAAO,IAE1C6zB,GAAcC,EACdZ,EAAY3kE,KAAK,CAACvN,MAAO8yE,EAAiB5yE,OAAQ6yE,IAC3CF,CACT,CACAI,iBACE,IAAKh3E,KAAKiQ,QAAQ0wC,QAChB,OAEF,MAAM2J,EAActqD,KAAKq2E,uBAClBR,eAAgBW,EAAUvmE,SAAS,MAACiI,EAAOvU,QAAQ,QAACo/C,GAAQ,IAAE3f,IAAQpjC,KACvEi3E,EAAY9zC,GAAcC,EAAKpjC,KAAKszB,KAAMtzB,KAAK+D,OACrD,GAAI/D,KAAK24C,eAAgB,CACvB,IAAI+9B,EAAM,EACNpjD,EAAOnb,GAAeD,EAAOlY,KAAKszB,KAAOyvB,EAAS/iD,KAAKuzB,MAAQvzB,KAAKk2E,WAAWQ,IACnF,IAAK,MAAMQ,KAAUV,EACfE,IAAQQ,EAAOR,MACjBA,EAAMQ,EAAOR,IACbpjD,EAAOnb,GAAeD,EAAOlY,KAAKszB,KAAOyvB,EAAS/iD,KAAKuzB,MAAQvzB,KAAKk2E,WAAWQ,KAEjFQ,EAAO1jD,KAAOxzB,KAAKwzB,IAAM82B,EAAcvH,EACvCm0B,EAAO5jD,KAAO2jD,EAAUzzC,WAAWyzC,EAAUrmE,EAAE0iB,GAAO4jD,EAAOnzE,OAC7DuvB,GAAQ4jD,EAAOnzE,MAAQg/C,CAE3B,KAAO,CACL,IAAIg0B,EAAM,EACNvjD,EAAMrb,GAAeD,EAAOlY,KAAKwzB,IAAM82B,EAAcvH,EAAS/iD,KAAKyzB,OAASzzB,KAAKi2E,YAAYc,GAAK9yE,QACtG,IAAK,MAAMizE,KAAUV,EACfU,EAAOH,MAAQA,IACjBA,EAAMG,EAAOH,IACbvjD,EAAMrb,GAAeD,EAAOlY,KAAKwzB,IAAM82B,EAAcvH,EAAS/iD,KAAKyzB,OAASzzB,KAAKi2E,YAAYc,GAAK9yE,SAEpGizE,EAAO1jD,IAAMA,EACb0jD,EAAO5jD,MAAQtzB,KAAKszB,KAAOyvB,EAC3Bm0B,EAAO5jD,KAAO2jD,EAAUzzC,WAAWyzC,EAAUrmE,EAAEsmE,EAAO5jD,MAAO4jD,EAAOnzE,OACpEyvB,GAAO0jD,EAAOjzE,OAAS8+C,CAE3B,CACF,CACApK,eACE,MAAiC,QAA1B34C,KAAKiQ,QAAQw0C,UAAgD,WAA1BzkD,KAAKiQ,QAAQw0C,QACzD,CACA9d,OACE,GAAI3mC,KAAKiQ,QAAQ0wC,QAAS,CACxB,MAAM1yB,EAAMjuB,KAAKiuB,IACjByF,GAASzF,EAAKjuB,MACdA,KAAKm3E,QACLvjD,GAAW3F,EACb,CACF,CACAkpD,QACE,MAAOlnE,QAASwkB,EAAI,YAAEwhD,EAAW,WAAEC,EAAU,IAAEjoD,GAAOjuB,MAChD,MAACkY,EAAOvU,OAAQ2xE,GAAa7gD,EAC7B2iD,EAAenqD,GAAS3B,MACxB2rD,EAAY9zC,GAAc1O,EAAK2O,IAAKpjC,KAAKszB,KAAMtzB,KAAK+D,OACpDqyE,EAAYl/C,GAAOo+C,EAAU3nD,OAC5BrC,MAAO+rD,EAAS,QAAEt0B,GAAWuyB,EAC9BnxE,EAAWiyE,EAAUnkE,KACrBqlE,EAAenzE,EAAW,EAChC,IAAIozE,EACJv3E,KAAKmvD,YACLlhC,EAAI6G,UAAYmiD,EAAUniD,UAAU,QACpC7G,EAAI8G,aAAe,SACnB9G,EAAIiH,UAAY,GAChBjH,EAAIN,KAAOyoD,EAAU7lD,OACrB,MAAM,SAACilD,EAAQ,UAAED,EAAS,WAAEI,GAAcN,GAAWC,EAAWnxE,GAqD1Dw0C,EAAe34C,KAAK24C,eACpB2R,EAActqD,KAAKq2E,sBAEvBkB,EADE5+B,EACO,CACP/nC,EAAGuH,GAAeD,EAAOlY,KAAKszB,KAAOyvB,EAAS/iD,KAAKuzB,MAAQ2iD,EAAW,IACtEplE,EAAG9Q,KAAKwzB,IAAMuvB,EAAUuH,EACxB9pD,KAAM,GAGC,CACPoQ,EAAG5Q,KAAKszB,KAAOyvB,EACfjyC,EAAGqH,GAAeD,EAAOlY,KAAKwzB,IAAM82B,EAAcvH,EAAS/iD,KAAKyzB,OAASwiD,EAAY,GAAGhyE,QACxFzD,KAAM,GAGVojC,GAAsB5jC,KAAKiuB,IAAKwG,EAAK+iD,eACrC,MAAM1pD,EAAa6nD,EAAa5yB,EAChC/iD,KAAKg2E,YAAY7+D,SAAQ,CAAC0nC,EAAYx0C,KACpC4jB,EAAIgH,YAAc4pB,EAAWw4B,WAAaA,EAC1CppD,EAAI4G,UAAYgqB,EAAWw4B,WAAaA,EACxC,MAAM7mD,EAAYvC,EAAIwC,YAAYouB,EAAWrqB,MAAMzwB,MAC7C+wB,EAAYmiD,EAAUniD,UAAU+pB,EAAW/pB,YAAc+pB,EAAW/pB,UAAYwgD,EAAUxgD,YAC1F/wB,EAAQyxE,EAAW8B,EAAe9mD,EACxC,IAAI5f,EAAI2mE,EAAO3mE,EACXE,EAAIymE,EAAOzmE,EACfmmE,EAAU3zC,SAAStjC,KAAK+D,OACpB40C,EACEtuC,EAAI,GAAKuG,EAAI7M,EAAQg/C,EAAU/iD,KAAKuzB,QACtCziB,EAAIymE,EAAOzmE,GAAKgd,EAChBypD,EAAO/2E,OACPoQ,EAAI2mE,EAAO3mE,EAAIuH,GAAeD,EAAOlY,KAAKszB,KAAOyvB,EAAS/iD,KAAKuzB,MAAQ2iD,EAAWqB,EAAO/2E,QAElF6J,EAAI,GAAKyG,EAAIgd,EAAa9tB,KAAKyzB,SACxC7iB,EAAI2mE,EAAO3mE,EAAIA,EAAIqlE,EAAYsB,EAAO/2E,MAAMuD,MAAQg/C,EACpDw0B,EAAO/2E,OACPsQ,EAAIymE,EAAOzmE,EAAIqH,GAAeD,EAAOlY,KAAKwzB,IAAM82B,EAAcvH,EAAS/iD,KAAKyzB,OAASwiD,EAAYsB,EAAO/2E,MAAMyD,SAvF5F,SAAS2M,EAAGE,EAAG+tC,GACnC,GAAIlrC,MAAM6hE,IAAaA,GAAY,GAAK7hE,MAAM4hE,IAAcA,EAAY,EACtE,OAEFtnD,EAAI6C,OACJ,MAAMoE,EAAYnnB,EAAe8wC,EAAW3pB,UAAW,GAQvD,GAPAjH,EAAI4G,UAAY9mB,EAAe8wC,EAAWhqB,UAAWuiD,GACrDnpD,EAAI48C,QAAU98D,EAAe8wC,EAAWgsB,QAAS,QACjD58C,EAAI+gC,eAAiBjhD,EAAe8wC,EAAWmQ,eAAgB,GAC/D/gC,EAAIy8C,SAAW38D,EAAe8wC,EAAW6rB,SAAU,SACnDz8C,EAAIiH,UAAYA,EAChBjH,EAAIgH,YAAclnB,EAAe8wC,EAAW5pB,YAAamiD,GACzDnpD,EAAI8gC,YAAYhhD,EAAe8wC,EAAW44B,SAAU,KAChDnC,EAAUG,cAAe,CAC3B,MAAMiC,EAAc,CAClBtlD,OAAQmjD,EAAYljE,KAAKslE,MAAQ,EACjCzlD,WAAY2sB,EAAW3sB,WACvBC,SAAU0sB,EAAW1sB,SACrBzuB,YAAawxB,GAETipB,EAAU84B,EAAU1zC,MAAM3yB,EAAG4kE,EAAW,GAE9C1jD,GAAgB7D,EAAKypD,EAAav5B,EADlBrtC,EAAIwmE,EACgChC,EAAUI,iBAAmBF,EACnF,KAAO,CACL,MAAMoC,EAAU9mE,EAAIuB,KAAK4B,KAAK9P,EAAWoxE,GAAa,EAAG,GACnDsC,EAAWZ,EAAUzzC,WAAW5yB,EAAG4kE,GACnC/M,EAAezxC,GAAc6nB,EAAW4pB,cAC9Cx6C,EAAIuE,YACAnlB,OAAOvM,OAAO2nE,GAAc3K,MAAKntD,GAAW,IAANA,IACxColB,GAAmB9H,EAAK,CACtBrd,EAAGinE,EACH/mE,EAAG8mE,EACHh6D,EAAG43D,EACHj5D,EAAGg5D,EACHnjD,OAAQq2C,IAGVx6C,EAAI8E,KAAK8kD,EAAUD,EAASpC,EAAUD,GAExCtnD,EAAI+E,OACc,IAAdkC,GACFjH,EAAIgF,QAER,CACAhF,EAAIiD,SACN,CA6CE4mD,CADcb,EAAUrmE,EAAEA,GACLE,EAAG+tC,GACxBjuC,EDj4OS,EAACsH,EAAOob,EAAMC,EAAO6P,IAE3BlrB,KADOkrB,EAAM,OAAS,SACJ7P,EAAkB,WAAVrb,GAAsBob,EAAOC,GAAS,EAAID,EC+3OnEykD,CAAOjjD,EAAWlkB,EAAI4kE,EAAW8B,EAAc3+B,EAAe/nC,EAAI7M,EAAQ/D,KAAKuzB,MAAOkB,EAAK2O,KA7ChF,SAASxyB,EAAGE,EAAG+tC,GAC9BtqB,GAAWtG,EAAK4wB,EAAWrqB,KAAM5jB,EAAGE,EAAK6kE,EAAa,EAAIS,EAAW,CACnE9gD,cAAeupB,EAAWxM,OAC1Bvd,UAAWmiD,EAAUniD,UAAU+pB,EAAW/pB,YAE9C,CAyCEM,CAAS6hD,EAAUrmE,EAAEA,GAAIE,EAAG+tC,GACxBlG,EACF4+B,EAAO3mE,GAAK7M,EAAQg/C,EAEpBw0B,EAAOzmE,GAAKgd,CACd,IAEFoW,GAAqBlkC,KAAKiuB,IAAKwG,EAAK+iD,cACtC,CACAroB,YACE,MAAM16B,EAAOz0B,KAAKiQ,QACZm6C,EAAY31B,EAAKn0B,MACjB03E,EAAY9gD,GAAOkzB,EAAUz8B,MAC7BsqD,EAAehhD,GAAUmzB,EAAUrH,SACzC,IAAKqH,EAAUzJ,QACb,OAEF,MAAMs2B,EAAY9zC,GAAc1O,EAAK2O,IAAKpjC,KAAKszB,KAAMtzB,KAAK+D,OACpDkqB,EAAMjuB,KAAKiuB,IACXw2B,EAAW2F,EAAU3F,SACrB6yB,EAAeU,EAAU/lE,KAAO,EAChCimE,EAA6BD,EAAazkD,IAAM8jD,EACtD,IAAIxmE,EACAwiB,EAAOtzB,KAAKszB,KACZtvB,EAAWhE,KAAK+D,MACpB,GAAI/D,KAAK24C,eACP30C,EAAWqO,KAAK4B,OAAOjU,KAAKk2E,YAC5BplE,EAAI9Q,KAAKwzB,IAAM0kD,EACf5kD,EAAOnb,GAAesc,EAAKvc,MAAOob,EAAMtzB,KAAKuzB,MAAQvvB,OAChD,CACL,MAAME,EAAYlE,KAAKi2E,YAAY3uC,QAAO,CAACC,EAAKt1B,IAASI,KAAK4B,IAAIszB,EAAKt1B,EAAKhO,SAAS,GACrF6M,EAAIonE,EAA6B//D,GAAesc,EAAKvc,MAAOlY,KAAKwzB,IAAKxzB,KAAKyzB,OAASvvB,EAAYuwB,EAAK9wB,OAAOo/C,QAAU/iD,KAAKq2E,sBAC7H,CACA,MAAMzlE,EAAIuH,GAAessC,EAAUnxB,EAAMA,EAAOtvB,GAChDiqB,EAAI6G,UAAYmiD,EAAUniD,UAAU7c,GAAmBwsC,IACvDx2B,EAAI8G,aAAe,SACnB9G,EAAIgH,YAAcm1B,EAAU9+B,MAC5B2C,EAAI4G,UAAYu1B,EAAU9+B,MAC1B2C,EAAIN,KAAOqqD,EAAUznD,OACrBgE,GAAWtG,EAAKm8B,EAAU51B,KAAM5jB,EAAGE,EAAGknE,EACxC,CACA3B,sBACE,MAAMjsB,EAAYpqD,KAAKiQ,QAAQ3P,MACzB03E,EAAY9gD,GAAOkzB,EAAUz8B,MAC7BsqD,EAAehhD,GAAUmzB,EAAUrH,SACzC,OAAOqH,EAAUzJ,QAAUq3B,EAAUlqD,WAAamqD,EAAah0E,OAAS,CAC1E,CACAk0E,iBAAiBvnE,EAAGE,GAClB,IAAIzG,EAAG+tE,EAAQC,EACf,GAAIniE,EAAWtF,EAAG5Q,KAAKszB,KAAMtzB,KAAKuzB,QAC7Brd,EAAWpF,EAAG9Q,KAAKwzB,IAAKxzB,KAAKyzB,QAEhC,IADA4kD,EAAKr4E,KAAK61E,eACLxrE,EAAI,EAAGA,EAAIguE,EAAGvpE,SAAUzE,EAE3B,GADA+tE,EAASC,EAAGhuE,GACR6L,EAAWtF,EAAGwnE,EAAO9kD,KAAM8kD,EAAO9kD,KAAO8kD,EAAOr0E,QAC/CmS,EAAWpF,EAAGsnE,EAAO5kD,IAAK4kD,EAAO5kD,IAAM4kD,EAAOn0E,QACjD,OAAOjE,KAAKg2E,YAAY3rE,GAI9B,OAAO,IACT,CACAiuE,YAAY/jE,GACV,MAAMkgB,EAAOz0B,KAAKiQ,QAClB,IAmBJ,SAAoB7M,EAAMqxB,GACxB,QAAc,cAATrxB,GAAiC,aAATA,IAAyBqxB,EAAK/F,UAAW+F,EAAK8jD,aAGvE9jD,EAAK9F,SAAqB,UAATvrB,GAA6B,YAATA,EAI3C,CA3BSo1E,CAAWjkE,EAAEnR,KAAMqxB,GACtB,OAEF,MAAMgkD,EAAcz4E,KAAKm4E,iBAAiB5jE,EAAE3D,EAAG2D,EAAEzD,GACjD,GAAe,cAAXyD,EAAEnR,MAAmC,aAAXmR,EAAEnR,KAAqB,CACnD,MAAM0wB,EAAW9zB,KAAK81E,aAChB4C,GApWW1mE,EAoWqBymE,EApWT,QAAf73E,EAoWckzB,IApWe,OAAN9hB,GAAcpR,EAAEyO,eAAiB2C,EAAE3C,cAAgBzO,EAAE0O,QAAU0C,EAAE1C,OAqWlGwkB,IAAa4kD,GACftqE,EAASqmB,EAAK8jD,QAAS,CAAChkE,EAAGuf,EAAU9zB,MAAOA,MAE9CA,KAAK81E,aAAe2C,EAChBA,IAAgBC,GAClBtqE,EAASqmB,EAAK/F,QAAS,CAACna,EAAGkkE,EAAaz4E,MAAOA,KAEnD,MAAWy4E,GACTrqE,EAASqmB,EAAK9F,QAAS,CAACpa,EAAGkkE,EAAaz4E,MAAOA,MA7WlC,IAACY,EAAGoR,CA+WrB,EAWF,IAAI2mE,GAAgB,CAClB3rE,GAAI,SACJ4rE,SAAUlsE,GACV+I,MAAMzP,EAAO+uE,EAAO9kE,GAClB,MAAM1M,EAASyC,EAAMzC,OAAS,IAAImJ,GAAO,CAACuhB,IAAKjoB,EAAMioB,IAAKhe,UAASjK,UACnEywD,GAAQlsB,UAAUvkC,EAAOzC,EAAQ0M,GACjCwmD,GAAQC,OAAO1wD,EAAOzC,EACxB,EACAmkC,KAAK1hC,GACHywD,GAAQE,UAAU3wD,EAAOA,EAAMzC,eACxByC,EAAMzC,MACf,EACA+iD,aAAatgD,EAAO+uE,EAAO9kE,GACzB,MAAM1M,EAASyC,EAAMzC,OACrBkzD,GAAQlsB,UAAUvkC,EAAOzC,EAAQ0M,GACjC1M,EAAO0M,QAAUA,CACnB,EACAg5C,YAAYjjD,GACV,MAAMzC,EAASyC,EAAMzC,OACrBA,EAAO4yE,cACP5yE,EAAOyzE,gBACT,EACA6B,WAAW7yE,EAAOsI,GACXA,EAAKu4D,QACR7gE,EAAMzC,OAAO+0E,YAAYhqE,EAAK84B,MAElC,EACAna,SAAU,CACR0zB,SAAS,EACT8D,SAAU,MACVvsC,MAAO,SACPgzC,UAAU,EACVv8C,SAAS,EACT4c,OAAQ,IACRoD,QAAQpa,EAAGsqC,EAAYt7C,GACrB,MAAM+L,EAAQuvC,EAAWxvC,aACnBypE,EAAKv1E,EAAOyC,MACd8yE,EAAG78B,iBAAiB3sC,IACtBwpE,EAAG5uC,KAAK56B,GACRuvC,EAAWxM,QAAS,IAEpBymC,EAAG/uC,KAAKz6B,GACRuvC,EAAWxM,QAAS,EAExB,EACA3jB,QAAS,KACT6pD,QAAS,KACT50E,OAAQ,CACN2nB,MAAQ2C,GAAQA,EAAIjoB,MAAMiK,QAAQqb,MAClCkqD,SAAU,GACVzyB,QAAS,GACTnE,eAAe54C,GACb,MAAMpC,EAAWoC,EAAMpE,KAAKgC,UACrBD,QAAQ,cAAC8xE,EAAa,WAAEvjD,EAAU,UAAE4C,EAAS,MAAExJ,IAAUtlB,EAAMzC,OAAO0M,QAC7E,OAAOjK,EAAM0lC,yBAAyBj8B,KAAK4I,IACzC,MAAMwV,EAAQxV,EAAKu0B,WAAW5K,SAASyzC,EAAgB,OAAIzqD,GACrDtnB,EAAcuzB,GAAUpJ,EAAMnqB,aACpC,MAAO,CACL8wB,KAAM5wB,EAASyU,EAAK/I,OAAO9L,MAC3BqxB,UAAWhH,EAAMT,gBACjBiqD,UAAW/rD,EACX+mB,QAASh6B,EAAK4xB,QACd4gC,QAASh9C,EAAMsX,eACfsyC,SAAU5pD,EAAMuX,WAChB4pB,eAAgBnhC,EAAMwX,iBACtBqlC,SAAU78C,EAAMyX,gBAChBpQ,WAAYxxB,EAAYK,MAAQL,EAAYO,QAAU,EACtDgxB,YAAapH,EAAMpqB,YACnByuB,WAAYA,GAAcrE,EAAMqE,WAChCC,SAAUtE,EAAMsE,SAChB2C,UAAWA,GAAajH,EAAMiH,UAC9B2zC,aAAc,EACdp5D,aAAcgJ,EAAK/I,MACpB,GACAtP,KACL,GAEFM,MAAO,CACLgrB,MAAQ2C,GAAQA,EAAIjoB,MAAMiK,QAAQqb,MAClCq1B,SAAS,EACT8D,SAAU,SACVjwB,KAAM,KAGV1H,YAAa,CACXkD,YAAcV,IAAUA,EAAKW,WAAW,MACxCtsB,OAAQ,CACNqsB,YAAcV,IAAU,CAAC,iBAAkB,SAAU,QAAQiK,SAASjK,MAK5E,MAAM3iB,WAAcs0C,GAClBl3B,YAAYqgB,GACVoO,QACAx4C,KAAKgG,MAAQokC,EAAOpkC,MACpBhG,KAAKiQ,QAAUm6B,EAAOn6B,QACtBjQ,KAAKiuB,IAAMmc,EAAOnc,IAClBjuB,KAAK+4E,cAAW/tD,EAChBhrB,KAAKwzB,SAAMxI,EACXhrB,KAAKyzB,YAASzI,EACdhrB,KAAKszB,UAAOtI,EACZhrB,KAAKuzB,WAAQvI,EACbhrB,KAAK+D,WAAQinB,EACbhrB,KAAKiE,YAAS+mB,EACdhrB,KAAKykD,cAAWz5B,EAChBhrB,KAAKurB,YAASP,EACdhrB,KAAKkrD,cAAWlgC,CAClB,CACAge,OAAOhlC,EAAUE,GACf,MAAMuwB,EAAOz0B,KAAKiQ,QAGlB,GAFAjQ,KAAKszB,KAAO,EACZtzB,KAAKwzB,IAAM,GACNiB,EAAKksB,QAER,YADA3gD,KAAK+D,MAAQ/D,KAAKiE,OAASjE,KAAKuzB,MAAQvzB,KAAKyzB,OAAS,GAGxDzzB,KAAK+D,MAAQ/D,KAAKuzB,MAAQvvB,EAC1BhE,KAAKiE,OAASjE,KAAKyzB,OAASvvB,EAC5B,MAAM+pD,EAAY9gD,EAAQsnB,EAAKD,MAAQC,EAAKD,KAAK1lB,OAAS,EAC1D9O,KAAK+4E,SAAW9hD,GAAUxC,EAAKsuB,SAC/B,MAAMi2B,EAAW/qB,EAAY/2B,GAAOzC,EAAK9G,MAAMG,WAAa9tB,KAAK+4E,SAAS90E,OACtEjE,KAAK24C,eACP34C,KAAKiE,OAAS+0E,EAEdh5E,KAAK+D,MAAQi1E,CAEjB,CACArgC,eACE,MAAM5Y,EAAM//B,KAAKiQ,QAAQw0C,SACzB,MAAe,QAAR1kB,GAAyB,WAARA,CAC1B,CACAk5C,UAAU59B,GACR,MAAM,IAAC7nB,EAAG,KAAEF,EAAI,OAAEG,EAAM,MAAEF,EAAK,QAAEtjB,GAAWjQ,KACtCkY,EAAQjI,EAAQiI,MACtB,IACIlU,EAAUorD,EAAQC,EADlBl9B,EAAW,EAkBf,OAhBInyB,KAAK24C,gBACPyW,EAASj3C,GAAeD,EAAOob,EAAMC,GACrC87B,EAAS77B,EAAM6nB,EACfr3C,EAAWuvB,EAAQD,IAEM,SAArBrjB,EAAQw0C,UACV2K,EAAS97B,EAAO+nB,EAChBgU,EAASl3C,GAAeD,EAAOub,EAAQD,GACvCrB,GAAiB,GAAN/f,IAEXg9C,EAAS77B,EAAQ8nB,EACjBgU,EAASl3C,GAAeD,EAAOsb,EAAKC,GACpCtB,EAAgB,GAAL/f,GAEbpO,EAAWyvB,EAASD,GAEf,CAAC47B,SAAQC,SAAQrrD,WAAUmuB,WACpC,CACAwU,OACE,MAAM1Y,EAAMjuB,KAAKiuB,IACXwG,EAAOz0B,KAAKiQ,QAClB,IAAKwkB,EAAKksB,QACR,OAEF,MAAMu4B,EAAWhiD,GAAOzC,EAAK9G,MAEvB0tB,EADa69B,EAASprD,WACA,EAAI9tB,KAAK+4E,SAASvlD,KACxC,OAAC47B,EAAM,OAAEC,EAAM,SAAErrD,EAAQ,SAAEmuB,GAAYnyB,KAAKi5E,UAAU59B,GAC5D9mB,GAAWtG,EAAKwG,EAAKD,KAAM,EAAG,EAAG0kD,EAAU,CACzC5tD,MAAOmJ,EAAKnJ,MACZtnB,WACAmuB,WACA2C,UAAW7c,GAAmBwc,EAAKvc,OACnC6c,aAAc,SACdH,YAAa,CAACw6B,EAAQC,IAE1B,EAYF,IAAI8pB,GAAe,CACjBnsE,GAAI,QACJ4rE,SAAUjsE,GACV8I,MAAMzP,EAAO+uE,EAAO9kE,IAbtB,SAAqBjK,EAAOokD,GAC1B,MAAM9pD,EAAQ,IAAIqM,GAAM,CACtBshB,IAAKjoB,EAAMioB,IACXhe,QAASm6C,EACTpkD,UAEFywD,GAAQlsB,UAAUvkC,EAAO1F,EAAO8pD,GAChCqM,GAAQC,OAAO1wD,EAAO1F,GACtB0F,EAAMozE,WAAa94E,CACrB,CAKI+4E,CAAYrzE,EAAOiK,EACrB,EACAy3B,KAAK1hC,GACH,MAAMozE,EAAapzE,EAAMozE,WACzB3iB,GAAQE,UAAU3wD,EAAOozE,UAClBpzE,EAAMozE,UACf,EACA9yB,aAAatgD,EAAO+uE,EAAO9kE,GACzB,MAAM3P,EAAQ0F,EAAMozE,WACpB3iB,GAAQlsB,UAAUvkC,EAAO1F,EAAO2P,GAChC3P,EAAM2P,QAAUA,CAClB,EACAgd,SAAU,CACR/U,MAAO,SACPyoC,SAAS,EACThzB,KAAM,CACJpC,OAAQ,QAEV2/B,UAAU,EACVnI,QAAS,GACT0B,SAAU,MACVjwB,KAAM,GACNjJ,OAAQ,KAEVg2B,cAAe,CACbj2B,MAAO,SAETwB,YAAa,CACXkD,aAAa,EACbE,YAAY,IAIhB,MAAM,GAAM,IAAIopD,QAChB,IAAIC,GAAkB,CACpBvsE,GAAI,WACJyI,MAAMzP,EAAO+uE,EAAO9kE,GAClB,MAAM3P,EAAQ,IAAIqM,GAAM,CACtBshB,IAAKjoB,EAAMioB,IACXhe,UACAjK,UAEFywD,GAAQlsB,UAAUvkC,EAAO1F,EAAO2P,GAChCwmD,GAAQC,OAAO1wD,EAAO1F,GACtB,GAAIgX,IAAItR,EAAO1F,EACjB,EACAonC,KAAK1hC,GACHywD,GAAQE,UAAU3wD,EAAO,GAAImpB,IAAInpB,IACjC,GAAIu0B,OAAOv0B,EACb,EACAsgD,aAAatgD,EAAO+uE,EAAO9kE,GACzB,MAAM3P,EAAQ,GAAI6uB,IAAInpB,GACtBywD,GAAQlsB,UAAUvkC,EAAO1F,EAAO2P,GAChC3P,EAAM2P,QAAUA,CAClB,EACAgd,SAAU,CACR/U,MAAO,SACPyoC,SAAS,EACThzB,KAAM,CACJpC,OAAQ,UAEV2/B,UAAU,EACVnI,QAAS,EACT0B,SAAU,MACVjwB,KAAM,GACNjJ,OAAQ,MAEVg2B,cAAe,CACbj2B,MAAO,SAETwB,YAAa,CACXkD,aAAa,EACbE,YAAY,IAIhB,MAAMspD,GAAc,CAClBC,QAAQpiE,GACN,IAAKA,EAAMvI,OACT,OAAO,EAET,IAAIzE,EAAGuE,EACHgC,EAAI,EACJE,EAAI,EACJ2H,EAAQ,EACZ,IAAKpO,EAAI,EAAGuE,EAAMyI,EAAMvI,OAAQzE,EAAIuE,IAAOvE,EAAG,CAC5C,MAAMy3B,EAAKzqB,EAAMhN,GAAGq1B,QACpB,GAAIoC,GAAMA,EAAGuf,WAAY,CACvB,MAAMthB,EAAM+B,EAAGof,kBACftwC,GAAKmvB,EAAInvB,EACTE,GAAKivB,EAAIjvB,IACP2H,CACJ,CACF,CACA,MAAO,CACL7H,EAAGA,EAAI6H,EACP3H,EAAGA,EAAI2H,EAEX,EACAg8C,QAAQp9C,EAAOqiE,GACb,IAAKriE,EAAMvI,OACT,OAAO,EAET,IAGIzE,EAAGuE,EAAK+qE,EAHR/oE,EAAI8oE,EAAc9oE,EAClBE,EAAI4oE,EAAc5oE,EAClBkjD,EAAcrmD,OAAO8E,kBAEzB,IAAKpI,EAAI,EAAGuE,EAAMyI,EAAMvI,OAAQzE,EAAIuE,IAAOvE,EAAG,CAC5C,MAAMy3B,EAAKzqB,EAAMhN,GAAGq1B,QACpB,GAAIoC,GAAMA,EAAGuf,WAAY,CACvB,MACMllC,EAAIhH,EAAsBukE,EADjB53C,EAAGmyB,kBAEd93C,EAAI63C,IACNA,EAAc73C,EACdw9D,EAAiB73C,EAErB,CACF,CACA,GAAI63C,EAAgB,CAClB,MAAMC,EAAKD,EAAez4B,kBAC1BtwC,EAAIgpE,EAAGhpE,EACPE,EAAI8oE,EAAG9oE,CACT,CACA,MAAO,CACLF,IACAE,IAEJ,GAEF,SAAS+oE,GAAarpC,EAAMspC,GAQ1B,OAPIA,IACE3sE,EAAQ2sE,GACV1sE,MAAME,UAAUgE,KAAK9C,MAAMgiC,EAAMspC,GAEjCtpC,EAAKl/B,KAAKwoE,IAGPtpC,CACT,CACA,SAASupC,GAAcroE,GACrB,OAAoB,iBAARA,GAAoBA,aAAesoE,SAAWtoE,EAAI3B,QAAQ,OAAS,EACtE2B,EAAIP,MAAM,MAEZO,CACT,CACA,SAASuoE,GAAkBj0E,EAAOkM,GAChC,MAAM,QAACwtB,EAAO,aAAErwB,EAAY,MAAEC,GAAS4C,EACjC06B,EAAa5mC,EAAM+pC,eAAe1gC,GAAcu9B,YAChD,MAACppC,EAAK,MAAE0J,GAAS0/B,EAAWiG,iBAAiBvjC,GACnD,MAAO,CACLtJ,QACAxC,QACAu4B,OAAQ6Q,EAAWiF,UAAUviC,GAC7BgkC,IAAKttC,EAAMpE,KAAKgC,SAASyL,GAAczN,KAAK0N,GAC5C2vC,eAAgB/xC,EAChB8hC,QAASpC,EAAWqC,aACpBoE,UAAW/jC,EACXD,eACAqwB,UAEJ,CACA,SAASw6C,GAAez+B,EAASxrC,GAC/B,MAAMge,EAAMwtB,EAAQz1C,MAAMioB,KACpB,KAACksD,EAAI,OAAEC,EAAM,MAAE95E,GAASm7C,GACxB,SAAC+5B,EAAQ,UAAED,GAAatlE,EACxBoqE,EAAWnjD,GAAOjnB,EAAQoqE,UAC1BrC,EAAY9gD,GAAOjnB,EAAQ+nE,WAC3BsC,EAAapjD,GAAOjnB,EAAQqqE,YAC5BC,EAAiBj6E,EAAMwO,OACvB0rE,EAAkBJ,EAAOtrE,OACzB2rE,EAAoBN,EAAKrrE,OACzBi0C,EAAU9rB,GAAUhnB,EAAQ8yC,SAClC,IAAI9+C,EAAS8+C,EAAQ9+C,OACjBF,EAAQ,EACR22E,EAAqBP,EAAK7yC,QAAO,CAAC7uB,EAAOkiE,IAAaliE,EAAQkiE,EAASlwE,OAAOqE,OAAS6rE,EAASp6E,MAAMuO,OAAS6rE,EAASjwE,MAAMoE,QAAQ,GAC1I4rE,GAAsBj/B,EAAQm/B,WAAW9rE,OAAS2sC,EAAQo/B,UAAU/rE,OAChEyrE,IACFt2E,GAAUs2E,EAAiBvC,EAAUlqD,YACnCysD,EAAiB,GAAKtqE,EAAQ6qE,aAC/B7qE,EAAQ8qE,mBAEPL,IAEFz2E,GAAUw2E,GADaxqE,EAAQ+qE,cAAgB3oE,KAAK4B,IAAIshE,EAAW8E,EAASvsD,YAAcusD,EAASvsD,aAEjG4sD,EAAqBD,GAAqBJ,EAASvsD,YACnD4sD,EAAqB,GAAKzqE,EAAQgrE,aAElCT,IACFv2E,GAAUgM,EAAQirE,gBACjBV,EAAkBF,EAAWxsD,YAC5B0sD,EAAkB,GAAKvqE,EAAQkrE,eAEnC,IAAIC,EAAe,EACnB,MAAMC,EAAe,SAAS76E,GAC5BuD,EAAQsO,KAAK4B,IAAIlQ,EAAOkqB,EAAIwC,YAAYjwB,GAAMuD,MAAQq3E,EACxD,EAiBA,OAhBAntD,EAAI6C,OACJ7C,EAAIN,KAAOqqD,EAAUznD,OACrB9hB,EAAKgtC,EAAQn7C,MAAO+6E,GACpBptD,EAAIN,KAAO0sD,EAAS9pD,OACpB9hB,EAAKgtC,EAAQm/B,WAAWrkC,OAAOkF,EAAQo/B,WAAYQ,GACnDD,EAAenrE,EAAQ+qE,cAAiBxF,EAAW,EAAIvlE,EAAQglD,WAAc,EAC7ExmD,EAAK0rE,GAAOQ,IACVlsE,EAAKksE,EAASlwE,OAAQ4wE,GACtB5sE,EAAKksE,EAASp6E,MAAO86E,GACrB5sE,EAAKksE,EAASjwE,MAAO2wE,EAAa,IAEpCD,EAAe,EACfntD,EAAIN,KAAO2sD,EAAW/pD,OACtB9hB,EAAKgtC,EAAQ2+B,OAAQiB,GACrBptD,EAAIiD,UACJntB,GAASg/C,EAAQh/C,MACV,CAACA,QAAOE,SACjB,CAoBA,SAASq3E,GAAgBt1E,EAAOiK,EAASgC,EAAMspE,GAC7C,MAAM,EAAC3qE,EAAC,MAAE7M,GAASkO,GACZlO,MAAOy3E,EAAYtoC,WAAW,KAAC5f,EAAI,MAAEC,IAAUvtB,EACtD,IAAIy1E,EAAS,SAWb,MAVe,WAAXF,EACFE,EAAS7qE,IAAM0iB,EAAOC,GAAS,EAAI,OAAS,QACnC3iB,GAAK7M,EAAQ,EACtB03E,EAAS,OACA7qE,GAAK4qE,EAAaz3E,EAAQ,IACnC03E,EAAS,SAnBb,SAA6BA,EAAQz1E,EAAOiK,EAASgC,GACnD,MAAM,EAACrB,EAAC,MAAE7M,GAASkO,EACbypE,EAAQzrE,EAAQ0rE,UAAY1rE,EAAQ2rE,aAC1C,MAAe,SAAXH,GAAqB7qE,EAAI7M,EAAQ23E,EAAQ11E,EAAMjC,OAGpC,UAAX03E,GAAsB7qE,EAAI7M,EAAQ23E,EAAQ,QAA9C,CAGF,CAYMG,CAAoBJ,EAAQz1E,EAAOiK,EAASgC,KAC9CwpE,EAAS,UAEJA,CACT,CACA,SAASK,GAAmB91E,EAAOiK,EAASgC,GAC1C,MAAMspE,EAAStpE,EAAKspE,QAAUtrE,EAAQsrE,QApCxC,SAAyBv1E,EAAOiM,GAC9B,MAAM,EAACnB,EAAC,OAAE7M,GAAUgO,EACpB,OAAInB,EAAI7M,EAAS,EACR,MACE6M,EAAK9K,EAAM/B,OAASA,EAAS,EAC/B,SAEF,QACT,CA4BkD83E,CAAgB/1E,EAAOiM,GACvE,MAAO,CACLwpE,OAAQxpE,EAAKwpE,QAAUxrE,EAAQwrE,QAAUH,GAAgBt1E,EAAOiK,EAASgC,EAAMspE,GAC/EA,SAEJ,CAqBA,SAASS,GAAmB/rE,EAASgC,EAAMgqE,EAAWj2E,GACpD,MAAM,UAAC21E,EAAS,aAAEC,EAAY,aAAE3pD,GAAgBhiB,GAC1C,OAACwrE,EAAM,OAAEF,GAAUU,EACnBC,EAAiBP,EAAYC,GAC7B,QAAC5lD,EAAO,SAAEG,EAAQ,WAAEF,EAAU,YAAEC,GAAec,GAAc/E,GACnE,IAAIrhB,EAzBN,SAAgBqB,EAAMwpE,GACpB,IAAI,EAAC7qE,EAAC,MAAE7M,GAASkO,EAMjB,MALe,UAAXwpE,EACF7qE,GAAK7M,EACe,WAAX03E,IACT7qE,GAAM7M,EAAQ,GAET6M,CACT,CAiBUurE,CAAOlqE,EAAMwpE,GACrB,MAAM3qE,EAjBR,SAAgBmB,EAAMspE,EAAQW,GAC5B,IAAI,EAACprE,EAAC,OAAE7M,GAAUgO,EAQlB,MAPe,QAAXspE,EACFzqE,GAAKorE,EAELprE,GADoB,WAAXyqE,EACJt3E,EAASi4E,EAERj4E,EAAS,EAEV6M,CACT,CAOYsrE,CAAOnqE,EAAMspE,EAAQW,GAY/B,MAXe,WAAXX,EACa,SAAXE,EACF7qE,GAAKsrE,EACe,UAAXT,IACT7qE,GAAKsrE,GAEa,SAAXT,EACT7qE,GAAKyB,KAAK4B,IAAI+hB,EAASC,GAAc0lD,EACjB,UAAXF,IACT7qE,GAAKyB,KAAK4B,IAAIkiB,EAAUD,GAAeylD,GAElC,CACL/qE,EAAGqF,EAAYrF,EAAG,EAAG5K,EAAMjC,MAAQkO,EAAKlO,OACxC+M,EAAGmF,EAAYnF,EAAG,EAAG9K,EAAM/B,OAASgO,EAAKhO,QAE7C,CACA,SAASo4E,GAAY5gC,EAASvjC,EAAOjI,GACnC,MAAM8yC,EAAU9rB,GAAUhnB,EAAQ8yC,SAClC,MAAiB,WAAV7qC,EACHujC,EAAQ7qC,EAAI6qC,EAAQ13C,MAAQ,EAClB,UAAVmU,EACEujC,EAAQ7qC,EAAI6qC,EAAQ13C,MAAQg/C,EAAQxvB,MACpCkoB,EAAQ7qC,EAAImyC,EAAQzvB,IAC5B,CACA,SAASgpD,GAAwBluE,GAC/B,OAAOyrE,GAAa,GAAIE,GAAc3rE,GACxC,CAQA,SAASmuE,GAAkBt2C,EAAW3Y,GACpC,MAAM8B,EAAW9B,GAAWA,EAAQ0hB,SAAW1hB,EAAQ0hB,QAAQyM,SAAWnuB,EAAQ0hB,QAAQyM,QAAQxV,UAClG,OAAO7W,EAAW6W,EAAU7W,SAASA,GAAY6W,CACnD,CACA,MAAMr5B,WAAgBq0C,GACpBl3B,YAAYqgB,GACVoO,QACAx4C,KAAKw8E,QAAU,EACfx8E,KAAK4mC,QAAU,GACf5mC,KAAKy8E,oBAAiBzxD,EACtBhrB,KAAK08E,WAAQ1xD,EACbhrB,KAAK28E,uBAAoB3xD,EACzBhrB,KAAK48E,cAAgB,GACrB58E,KAAK8qC,iBAAc9f,EACnBhrB,KAAKyuC,cAAWzjB,EAChBhrB,KAAKgG,MAAQokC,EAAOpkC,OAASokC,EAAOC,OACpCrqC,KAAKqqC,OAASrqC,KAAKgG,MACnBhG,KAAKiQ,QAAUm6B,EAAOn6B,QACtBjQ,KAAK68E,gBAAa7xD,EAClBhrB,KAAKM,WAAQ0qB,EACbhrB,KAAK46E,gBAAa5vD,EAClBhrB,KAAKm6E,UAAOnvD,EACZhrB,KAAK66E,eAAY7vD,EACjBhrB,KAAKo6E,YAASpvD,EACdhrB,KAAKy7E,YAASzwD,EACdhrB,KAAKu7E,YAASvwD,EACdhrB,KAAK4Q,OAAIoa,EACThrB,KAAK8Q,OAAIka,EACThrB,KAAKiE,YAAS+mB,EACdhrB,KAAK+D,WAAQinB,EACbhrB,KAAK88E,YAAS9xD,EACdhrB,KAAK+8E,YAAS/xD,EACdhrB,KAAKg9E,iBAAchyD,EACnBhrB,KAAKi9E,sBAAmBjyD,EACxBhrB,KAAKk9E,qBAAkBlyD,CACzB,CACA2jB,WAAW1+B,GACTjQ,KAAKiQ,QAAUA,EACfjQ,KAAK28E,uBAAoB3xD,EACzBhrB,KAAKyuC,cAAWzjB,CAClB,CACAgpB,qBACE,MAAMrG,EAAS3tC,KAAK28E,kBACpB,GAAIhvC,EACF,OAAOA,EAET,MAAM3nC,EAAQhG,KAAKgG,MACbiK,EAAUjQ,KAAKiQ,QAAQiqB,WAAWl6B,KAAK0xB,cACvC+C,EAAOxkB,EAAQk4C,SAAWniD,EAAMiK,QAAQkd,WAAald,EAAQ+5B,WAC7DA,EAAa,IAAIG,GAAWnqC,KAAKgG,MAAOyuB,GAI9C,OAHIA,EAAK4D,aACPr4B,KAAK28E,kBAAoBtvE,OAAO0mC,OAAO/J,IAElCA,CACT,CACAtY,aACE,OAAO1xB,KAAKyuC,WACZzuC,KAAKyuC,UAAyDzuC,KA/DzD23B,GA+DgC33B,KAAKgG,MAAM0rB,aA/DrB,CAC3B+pB,QA8D8Dz7C,KA7D9Dm9E,aA6DoEn9E,KAAK48E,cA5DzEx5E,KAAM,aA6DR,CACAg6E,SAAS9vD,EAASrd,GAChB,MAAM,UAACg2B,GAAah2B,EACdotE,EAAcp3C,EAAUo3C,YAAY7uE,MAAMxO,KAAM,CAACstB,IACjDhtB,EAAQ2lC,EAAU3lC,MAAMkO,MAAMxO,KAAM,CAACstB,IACrCgwD,EAAar3C,EAAUq3C,WAAW9uE,MAAMxO,KAAM,CAACstB,IACrD,IAAI/sB,EAAQ,GAIZ,OAHAA,EAAQs5E,GAAat5E,EAAOw5E,GAAcsD,IAC1C98E,EAAQs5E,GAAat5E,EAAOw5E,GAAcz5E,IAC1CC,EAAQs5E,GAAat5E,EAAOw5E,GAAcuD,IACnC/8E,CACT,CACAg9E,cAAcJ,EAAcltE,GAC1B,OAAOqsE,GAAwBrsE,EAAQg2B,UAAU20C,WAAWpsE,MAAMxO,KAAM,CAACm9E,IAC3E,CACAK,QAAQL,EAAcltE,GACpB,MAAM,UAACg2B,GAAah2B,EACdwtE,EAAY,GAalB,OAZAhvE,EAAK0uE,GAAe7vD,IAClB,MAAMqtD,EAAW,CACflwE,OAAQ,GACRlK,MAAO,GACPmK,MAAO,IAEHgzE,EAASnB,GAAkBt2C,EAAW3Y,GAC5CusD,GAAac,EAASlwE,OAAQsvE,GAAc2D,EAAOC,YAAYpwE,KAAKvN,KAAMstB,KAC1EusD,GAAac,EAASp6E,MAAOm9E,EAAOl6E,MAAM+J,KAAKvN,KAAMstB,IACrDusD,GAAac,EAASjwE,MAAOqvE,GAAc2D,EAAOE,WAAWrwE,KAAKvN,KAAMstB,KACxEmwD,EAAUnsE,KAAKqpE,EAAS,IAEnB8C,CACT,CACAI,aAAaV,EAAcltE,GACzB,OAAOqsE,GAAwBrsE,EAAQg2B,UAAU40C,UAAUrsE,MAAMxO,KAAM,CAACm9E,IAC1E,CACAW,UAAUX,EAAcltE,GACtB,MAAM,UAACg2B,GAAah2B,EACd8tE,EAAe93C,EAAU83C,aAAavvE,MAAMxO,KAAM,CAACm9E,IACnD/C,EAASn0C,EAAUm0C,OAAO5rE,MAAMxO,KAAM,CAACm9E,IACvCa,EAAc/3C,EAAU+3C,YAAYxvE,MAAMxO,KAAM,CAACm9E,IACvD,IAAI58E,EAAQ,GAIZ,OAHAA,EAAQs5E,GAAat5E,EAAOw5E,GAAcgE,IAC1Cx9E,EAAQs5E,GAAat5E,EAAOw5E,GAAcK,IAC1C75E,EAAQs5E,GAAat5E,EAAOw5E,GAAciE,IACnCz9E,CACT,CACA09E,aAAahuE,GACX,MAAM84B,EAAS/oC,KAAK4mC,QACdhlC,EAAO5B,KAAKgG,MAAMpE,KAClBo7E,EAAc,GACdC,EAAmB,GACnBC,EAAkB,GACxB,IACI7yE,EAAGuE,EADHuuE,EAAe,GAEnB,IAAK9yE,EAAI,EAAGuE,EAAMm6B,EAAOj6B,OAAQzE,EAAIuE,IAAOvE,EAC1C8yE,EAAa7rE,KAAK2oE,GAAkBj6E,KAAKgG,MAAO+iC,EAAO1+B,KAkBzD,OAhBI4F,EAAQ0qB,SACVwiD,EAAeA,EAAaxiD,QAAO,CAAC+E,EAASpwB,EAAOnF,IAAU8F,EAAQ0qB,OAAO+E,EAASpwB,EAAOnF,EAAOvI,MAElGqO,EAAQiuE,WACVf,EAAeA,EAAa3mC,MAAK,CAAC51C,EAAGoR,IAAM/B,EAAQiuE,SAASt9E,EAAGoR,EAAGpQ,MAEpE6M,EAAK0uE,GAAe7vD,IAClB,MAAMowD,EAASnB,GAAkBtsE,EAAQg2B,UAAW3Y,GACpD0vD,EAAY1rE,KAAKosE,EAAOS,WAAW5wE,KAAKvN,KAAMstB,IAC9C2vD,EAAiB3rE,KAAKosE,EAAOU,gBAAgB7wE,KAAKvN,KAAMstB,IACxD4vD,EAAgB5rE,KAAKosE,EAAOW,eAAe9wE,KAAKvN,KAAMstB,GAAS,IAEjEttB,KAAKg9E,YAAcA,EACnBh9E,KAAKi9E,iBAAmBA,EACxBj9E,KAAKk9E,gBAAkBA,EACvBl9E,KAAK68E,WAAaM,EACXA,CACT,CACAn0C,OAAOrvB,EAASktD,GACd,MAAM52D,EAAUjQ,KAAKiQ,QAAQiqB,WAAWl6B,KAAK0xB,cACvCqX,EAAS/oC,KAAK4mC,QACpB,IAAIgD,EACAuzC,EAAe,GACnB,GAAKp0C,EAAOj6B,OAML,CACL,MAAM21C,EAAW+0B,GAAYvpE,EAAQw0C,UAAUl3C,KAAKvN,KAAM+oC,EAAQ/oC,KAAKy8E,gBACvEU,EAAen9E,KAAKi+E,aAAahuE,GACjCjQ,KAAKM,MAAQN,KAAKo9E,SAASD,EAAcltE,GACzCjQ,KAAK46E,WAAa56E,KAAKu9E,cAAcJ,EAAcltE,GACnDjQ,KAAKm6E,KAAOn6E,KAAKw9E,QAAQL,EAAcltE,GACvCjQ,KAAK66E,UAAY76E,KAAK69E,aAAaV,EAAcltE,GACjDjQ,KAAKo6E,OAASp6E,KAAK89E,UAAUX,EAAcltE,GAC3C,MAAMgC,EAAOjS,KAAK08E,MAAQxC,GAAel6E,KAAMiQ,GACzCquE,EAAkBjxE,OAAOuM,OAAO,CAAC,EAAG6qC,EAAUxyC,GAC9CgqE,EAAYH,GAAmB97E,KAAKgG,MAAOiK,EAASquE,GACpDC,EAAkBvC,GAAmB/rE,EAASquE,EAAiBrC,EAAWj8E,KAAKgG,OACrFhG,KAAKy7E,OAASQ,EAAUR,OACxBz7E,KAAKu7E,OAASU,EAAUV,OACxB3xC,EAAa,CACX4yC,QAAS,EACT5rE,EAAG2tE,EAAgB3tE,EACnBE,EAAGytE,EAAgBztE,EACnB/M,MAAOkO,EAAKlO,MACZE,OAAQgO,EAAKhO,OACb64E,OAAQr4B,EAAS7zC,EACjBmsE,OAAQt4B,EAAS3zC,EAErB,MA5BuB,IAAjB9Q,KAAKw8E,UACP5yC,EAAa,CACX4yC,QAAS,IA2Bfx8E,KAAK48E,cAAgBO,EACrBn9E,KAAKyuC,cAAWzjB,EACZ4e,GACF5pC,KAAKg0C,qBAAqBhL,OAAOhpC,KAAM4pC,GAErCjwB,GAAW1J,EAAQuuE,UACrBvuE,EAAQuuE,SAASjxE,KAAKvN,KAAM,CAACgG,MAAOhG,KAAKgG,MAAOy1C,QAASz7C,KAAM6mE,UAEnE,CACA4X,UAAUC,EAAczwD,EAAKhc,EAAMhC,GACjC,MAAM0uE,EAAgB3+E,KAAK4+E,iBAAiBF,EAAczsE,EAAMhC,GAChEge,EAAI4E,OAAO8rD,EAAcxxB,GAAIwxB,EAAcvxB,IAC3Cn/B,EAAI4E,OAAO8rD,EAActxB,GAAIsxB,EAAcrxB,IAC3Cr/B,EAAI4E,OAAO8rD,EAAcE,GAAIF,EAAcG,GAC7C,CACAF,iBAAiBF,EAAczsE,EAAMhC,GACnC,MAAM,OAACwrE,EAAM,OAAEF,GAAUv7E,MACnB,UAAC27E,EAAS,aAAE1pD,GAAgBhiB,GAC5B,QAAC+lB,EAAO,SAAEG,EAAQ,WAAEF,EAAU,YAAEC,GAAec,GAAc/E,IAC5DrhB,EAAGmuE,EAAKjuE,EAAGkuE,GAAON,GACnB,MAAC36E,EAAK,OAAEE,GAAUgO,EACxB,IAAIk7C,EAAIE,EAAIwxB,EAAIzxB,EAAIE,EAAIwxB,EAoCxB,MAnCe,WAAXvD,GACFjuB,EAAK0xB,EAAO/6E,EAAS,EACN,SAAXw3E,GACFtuB,EAAK4xB,EACL1xB,EAAKF,EAAKwuB,EACVvuB,EAAKE,EAAKquB,EACVmD,EAAKxxB,EAAKquB,IAEVxuB,EAAK4xB,EAAMh7E,EACXspD,EAAKF,EAAKwuB,EACVvuB,EAAKE,EAAKquB,EACVmD,EAAKxxB,EAAKquB,GAEZkD,EAAK1xB,IAGHE,EADa,SAAXouB,EACGsD,EAAM1sE,KAAK4B,IAAI+hB,EAASC,GAAc,EACvB,UAAXwlD,EACJsD,EAAMh7E,EAAQsO,KAAK4B,IAAIkiB,EAAUD,GAAeylD,EAEhD37E,KAAK88E,OAEG,QAAXvB,GACFnuB,EAAK4xB,EACL1xB,EAAKF,EAAKuuB,EACVxuB,EAAKE,EAAKsuB,EACVkD,EAAKxxB,EAAKsuB,IAEVvuB,EAAK4xB,EAAM/6E,EACXqpD,EAAKF,EAAKuuB,EACVxuB,EAAKE,EAAKsuB,EACVkD,EAAKxxB,EAAKsuB,GAEZmD,EAAK1xB,GAEA,CAACD,KAAIE,KAAIwxB,KAAIzxB,KAAIE,KAAIwxB,KAC9B,CACA3vB,UAAUjyB,EAAIjP,EAAKhe,GACjB,MAAM3P,EAAQN,KAAKM,MACbwO,EAASxO,EAAMwO,OACrB,IAAIkpE,EAAW8C,EAAczwE,EAC7B,GAAIyE,EAAQ,CACV,MAAMmoE,EAAY9zC,GAAclzB,EAAQmzB,IAAKpjC,KAAK4Q,EAAG5Q,KAAK+D,OAQ1D,IAPAm5B,EAAGtsB,EAAIyrE,GAAYr8E,KAAMiQ,EAAQu0C,WAAYv0C,GAC7Cge,EAAI6G,UAAYmiD,EAAUniD,UAAU7kB,EAAQu0C,YAC5Cv2B,EAAI8G,aAAe,SACnBijD,EAAY9gD,GAAOjnB,EAAQ+nE,WAC3B8C,EAAe7qE,EAAQ6qE,aACvB7sD,EAAI4G,UAAY5kB,EAAQgvE,WACxBhxD,EAAIN,KAAOqqD,EAAUznD,OAChBlmB,EAAI,EAAGA,EAAIyE,IAAUzE,EACxB4jB,EAAImH,SAAS90B,EAAM+J,GAAI4sE,EAAUrmE,EAAEssB,EAAGtsB,GAAIssB,EAAGpsB,EAAIknE,EAAUlqD,WAAa,GACxEoP,EAAGpsB,GAAKknE,EAAUlqD,WAAagtD,EAC3BzwE,EAAI,IAAMyE,IACZouB,EAAGpsB,GAAKb,EAAQ8qE,kBAAoBD,EAG1C,CACF,CACAoE,cAAcjxD,EAAKiP,EAAI7yB,EAAG4sE,EAAWhnE,GACnC,MAAM+sE,EAAch9E,KAAKg9E,YAAY3yE,GAC/B+zE,EAAkBp+E,KAAKi9E,iBAAiB5yE,IACxC,UAACkrE,EAAS,SAAEC,EAAQ,WAAEvgB,GAAchlD,EACpCoqE,EAAWnjD,GAAOjnB,EAAQoqE,UAC1B8E,EAAS9C,GAAYr8E,KAAM,OAAQiQ,GACnCmvE,EAAYnI,EAAUrmE,EAAEuuE,GACxBE,EAAU9J,EAAY8E,EAASvsD,YAAcusD,EAASvsD,WAAaynD,GAAa,EAAI,EACpF+J,EAASpiD,EAAGpsB,EAAIuuE,EACtB,GAAIpvE,EAAQwlE,cAAe,CACzB,MAAMiC,EAAc,CAClBtlD,OAAQ/f,KAAK2B,IAAIwhE,EAAUD,GAAa,EACxCrjD,WAAYksD,EAAgBlsD,WAC5BC,SAAUisD,EAAgBjsD,SAC1BzuB,YAAa,GAETy6C,EAAU84B,EAAUzzC,WAAW47C,EAAW5J,GAAYA,EAAW,EACjEp3B,EAAUkhC,EAAS/J,EAAY,EACrCtnD,EAAIgH,YAAchlB,EAAQsvE,mBAC1BtxD,EAAI4G,UAAY5kB,EAAQsvE,mBACxB1tD,GAAU5D,EAAKypD,EAAav5B,EAASC,GACrCnwB,EAAIgH,YAAc+nD,EAAYv5E,YAC9BwqB,EAAI4G,UAAYmoD,EAAY5vD,gBAC5ByE,GAAU5D,EAAKypD,EAAav5B,EAASC,EACvC,KAAO,CACLnwB,EAAIiH,UAAYznB,EAASuvE,EAAYt5E,aAAe2O,KAAK4B,OAAO5G,OAAOvM,OAAOk8E,EAAYt5E,cAAiBs5E,EAAYt5E,aAAe,EACtIuqB,EAAIgH,YAAc+nD,EAAYv5E,YAC9BwqB,EAAI8gC,YAAYiuB,EAAY53C,YAAc,IAC1CnX,EAAI+gC,eAAiBguB,EAAY33C,kBAAoB,EACrD,MAAMm6C,EAASvI,EAAUzzC,WAAW47C,EAAW5J,EAAWvgB,GACpDwqB,EAASxI,EAAUzzC,WAAWyzC,EAAU1zC,MAAM67C,EAAW,GAAI5J,EAAWvgB,EAAa,GACrFwT,EAAezxC,GAAcgmD,EAAYvU,cAC3Cp7D,OAAOvM,OAAO2nE,GAAc3K,MAAKntD,GAAW,IAANA,KACxCsd,EAAIuE,YACJvE,EAAI4G,UAAY5kB,EAAQsvE,mBACxBxpD,GAAmB9H,EAAK,CACtBrd,EAAG4uE,EACH1uE,EAAGwuE,EACH1hE,EAAG43D,EACHj5D,EAAGg5D,EACHnjD,OAAQq2C,IAEVx6C,EAAI+E,OACJ/E,EAAIgF,SACJhF,EAAI4G,UAAYmoD,EAAY5vD,gBAC5Ba,EAAIuE,YACJuD,GAAmB9H,EAAK,CACtBrd,EAAG6uE,EACH3uE,EAAGwuE,EAAS,EACZ1hE,EAAG43D,EAAW,EACdj5D,EAAGg5D,EAAY,EACfnjD,OAAQq2C,IAEVx6C,EAAI+E,SAEJ/E,EAAI4G,UAAY5kB,EAAQsvE,mBACxBtxD,EAAI0gC,SAAS6wB,EAAQF,EAAQ9J,EAAUD,GACvCtnD,EAAIyxD,WAAWF,EAAQF,EAAQ9J,EAAUD,GACzCtnD,EAAI4G,UAAYmoD,EAAY5vD,gBAC5Ba,EAAI0gC,SAAS8wB,EAAQH,EAAS,EAAG9J,EAAW,EAAGD,EAAY,GAE/D,CACAtnD,EAAI4G,UAAY70B,KAAKk9E,gBAAgB7yE,EACvC,CACAs1E,SAASziD,EAAIjP,EAAKhe,GAChB,MAAM,KAACkqE,GAAQn6E,MACT,YAACi7E,EAAW,UAAE2E,EAAS,cAAE5E,EAAa,UAAEzF,EAAS,SAAEC,EAAQ,WAAEvgB,GAAchlD,EAC3EoqE,EAAWnjD,GAAOjnB,EAAQoqE,UAChC,IAAIwF,EAAiBxF,EAASvsD,WAC1BgyD,EAAe,EACnB,MAAM7I,EAAY9zC,GAAclzB,EAAQmzB,IAAKpjC,KAAK4Q,EAAG5Q,KAAK+D,OACpDg8E,EAAiB,SAASv/E,GAC9BytB,EAAImH,SAAS50B,EAAMy2E,EAAUrmE,EAAEssB,EAAGtsB,EAAIkvE,GAAe5iD,EAAGpsB,EAAI+uE,EAAiB,GAC7E3iD,EAAGpsB,GAAK+uE,EAAiB5E,CAC3B,EACM+E,EAA0B/I,EAAUniD,UAAU8qD,GACpD,IAAIjF,EAAUsF,EAAW1/E,EAAO8J,EAAG8f,EAAGjb,EAAM6hB,EAU5C,IATA9C,EAAI6G,UAAY8qD,EAChB3xD,EAAI8G,aAAe,SACnB9G,EAAIN,KAAO0sD,EAAS9pD,OACpB2M,EAAGtsB,EAAIyrE,GAAYr8E,KAAMggF,EAAyB/vE,GAClDge,EAAI4G,UAAY5kB,EAAQiwE,UACxBzxE,EAAKzO,KAAK46E,WAAYmF,GACtBD,EAAe9E,GAA6C,UAA5BgF,EACd,WAAdJ,EAA0BpK,EAAW,EAAIvgB,EAAeugB,EAAW,EAAIvgB,EACvE,EACC5qD,EAAI,EAAG6E,EAAOirE,EAAKrrE,OAAQzE,EAAI6E,IAAQ7E,EAAG,CAU7C,IATAswE,EAAWR,EAAK9vE,GAChB41E,EAAYjgF,KAAKk9E,gBAAgB7yE,GACjC4jB,EAAI4G,UAAYorD,EAChBxxE,EAAKksE,EAASlwE,OAAQs1E,GACtBx/E,EAAQo6E,EAASp6E,MACby6E,GAAiBz6E,EAAMuO,SACzB9O,KAAKk/E,cAAcjxD,EAAKiP,EAAI7yB,EAAG4sE,EAAWhnE,GAC1C4vE,EAAiBxtE,KAAK4B,IAAIomE,EAASvsD,WAAYynD,IAE5CprD,EAAI,EAAG4G,EAAOxwB,EAAMuO,OAAQqb,EAAI4G,IAAQ5G,EAC3C41D,EAAex/E,EAAM4pB,IACrB01D,EAAiBxF,EAASvsD,WAE5Brf,EAAKksE,EAASjwE,MAAOq1E,EACvB,CACAD,EAAe,EACfD,EAAiBxF,EAASvsD,WAC1Brf,EAAKzO,KAAK66E,UAAWkF,GACrB7iD,EAAGpsB,GAAKmqE,CACV,CACAkF,WAAWjjD,EAAIjP,EAAKhe,GAClB,MAAMmqE,EAASp6E,KAAKo6E,OACdtrE,EAASsrE,EAAOtrE,OACtB,IAAIwrE,EAAYjwE,EAChB,GAAIyE,EAAQ,CACV,MAAMmoE,EAAY9zC,GAAclzB,EAAQmzB,IAAKpjC,KAAK4Q,EAAG5Q,KAAK+D,OAQ1D,IAPAm5B,EAAGtsB,EAAIyrE,GAAYr8E,KAAMiQ,EAAQmwE,YAAanwE,GAC9CitB,EAAGpsB,GAAKb,EAAQirE,gBAChBjtD,EAAI6G,UAAYmiD,EAAUniD,UAAU7kB,EAAQmwE,aAC5CnyD,EAAI8G,aAAe,SACnBulD,EAAapjD,GAAOjnB,EAAQqqE,YAC5BrsD,EAAI4G,UAAY5kB,EAAQowE,YACxBpyD,EAAIN,KAAO2sD,EAAW/pD,OACjBlmB,EAAI,EAAGA,EAAIyE,IAAUzE,EACxB4jB,EAAImH,SAASglD,EAAO/vE,GAAI4sE,EAAUrmE,EAAEssB,EAAGtsB,GAAIssB,EAAGpsB,EAAIwpE,EAAWxsD,WAAa,GAC1EoP,EAAGpsB,GAAKwpE,EAAWxsD,WAAa7d,EAAQkrE,aAE5C,CACF,CACAzsB,eAAexxB,EAAIjP,EAAKqyD,EAAarwE,GACnC,MAAM,OAACwrE,EAAM,OAAEF,GAAUv7E,MACnB,EAAC4Q,EAAC,EAAEE,GAAKosB,GACT,MAACn5B,EAAK,OAAEE,GAAUq8E,GAClB,QAACtqD,EAAO,SAAEG,EAAQ,WAAEF,EAAU,YAAEC,GAAec,GAAc/mB,EAAQgiB,cAC3EhE,EAAI4G,UAAY5kB,EAAQmd,gBACxBa,EAAIgH,YAAchlB,EAAQxM,YAC1BwqB,EAAIiH,UAAYjlB,EAAQvM,YACxBuqB,EAAIuE,YACJvE,EAAI2E,OAAOhiB,EAAIolB,EAASllB,GACT,QAAXyqE,GACFv7E,KAAKy+E,UAAUvhD,EAAIjP,EAAKqyD,EAAarwE,GAEvCge,EAAI4E,OAAOjiB,EAAI7M,EAAQoyB,EAAUrlB,GACjCmd,EAAIsyD,iBAAiB3vE,EAAI7M,EAAO+M,EAAGF,EAAI7M,EAAO+M,EAAIqlB,GACnC,WAAXolD,GAAkC,UAAXE,GACzBz7E,KAAKy+E,UAAUvhD,EAAIjP,EAAKqyD,EAAarwE,GAEvCge,EAAI4E,OAAOjiB,EAAI7M,EAAO+M,EAAI7M,EAASiyB,GACnCjI,EAAIsyD,iBAAiB3vE,EAAI7M,EAAO+M,EAAI7M,EAAQ2M,EAAI7M,EAAQmyB,EAAaplB,EAAI7M,GAC1D,WAAXs3E,GACFv7E,KAAKy+E,UAAUvhD,EAAIjP,EAAKqyD,EAAarwE,GAEvCge,EAAI4E,OAAOjiB,EAAIqlB,EAAYnlB,EAAI7M,GAC/BgqB,EAAIsyD,iBAAiB3vE,EAAGE,EAAI7M,EAAQ2M,EAAGE,EAAI7M,EAASgyB,GACrC,WAAXslD,GAAkC,SAAXE,GACzBz7E,KAAKy+E,UAAUvhD,EAAIjP,EAAKqyD,EAAarwE,GAEvCge,EAAI4E,OAAOjiB,EAAGE,EAAIklB,GAClB/H,EAAIsyD,iBAAiB3vE,EAAGE,EAAGF,EAAIolB,EAASllB,GACxCmd,EAAI0E,YACJ1E,EAAI+E,OACA/iB,EAAQvM,YAAc,GACxBuqB,EAAIgF,QAER,CACAutD,uBAAuBvwE,GACrB,MAAMjK,EAAQhG,KAAKgG,MACb+/B,EAAQ/lC,KAAK8qC,YACb21C,EAAQ16C,GAASA,EAAMn1B,EACvB8vE,EAAQ36C,GAASA,EAAMj1B,EAC7B,GAAI2vE,GAASC,EAAO,CAClB,MAAMj8B,EAAW+0B,GAAYvpE,EAAQw0C,UAAUl3C,KAAKvN,KAAMA,KAAK4mC,QAAS5mC,KAAKy8E,gBAC7E,IAAKh4B,EACH,OAEF,MAAMxyC,EAAOjS,KAAK08E,MAAQxC,GAAel6E,KAAMiQ,GACzCquE,EAAkBjxE,OAAOuM,OAAO,CAAC,EAAG6qC,EAAUzkD,KAAK08E,OACnDT,EAAYH,GAAmB91E,EAAOiK,EAASquE,GAC/CnrD,EAAQ6oD,GAAmB/rE,EAASquE,EAAiBrC,EAAWj2E,GAClEy6E,EAAM53C,MAAQ1V,EAAMviB,GAAK8vE,EAAM73C,MAAQ1V,EAAMriB,IAC/C9Q,KAAKy7E,OAASQ,EAAUR,OACxBz7E,KAAKu7E,OAASU,EAAUV,OACxBv7E,KAAK+D,MAAQkO,EAAKlO,MAClB/D,KAAKiE,OAASgO,EAAKhO,OACnBjE,KAAK88E,OAASr4B,EAAS7zC,EACvB5Q,KAAK+8E,OAASt4B,EAAS3zC,EACvB9Q,KAAKg0C,qBAAqBhL,OAAOhpC,KAAMmzB,GAE3C,CACF,CACAwtD,cACE,QAAS3gF,KAAKw8E,OAChB,CACA71C,KAAK1Y,GACH,MAAMhe,EAAUjQ,KAAKiQ,QAAQiqB,WAAWl6B,KAAK0xB,cAC7C,IAAI8qD,EAAUx8E,KAAKw8E,QACnB,IAAKA,EACH,OAEFx8E,KAAKwgF,uBAAuBvwE,GAC5B,MAAMqwE,EAAc,CAClBv8E,MAAO/D,KAAK+D,MACZE,OAAQjE,KAAKiE,QAETi5B,EAAK,CACTtsB,EAAG5Q,KAAK4Q,EACRE,EAAG9Q,KAAK8Q,GAEV0rE,EAAUnqE,KAAKwB,IAAI2oE,GAAW,KAAO,EAAIA,EACzC,MAAMz5B,EAAU9rB,GAAUhnB,EAAQ8yC,SAC5B69B,EAAoB5gF,KAAKM,MAAMwO,QAAU9O,KAAK46E,WAAW9rE,QAAU9O,KAAKm6E,KAAKrrE,QAAU9O,KAAK66E,UAAU/rE,QAAU9O,KAAKo6E,OAAOtrE,OAC9HmB,EAAQk4C,SAAWy4B,IACrB3yD,EAAI6C,OACJ7C,EAAI4yD,YAAcrE,EAClBx8E,KAAK0uD,eAAexxB,EAAIjP,EAAKqyD,EAAarwE,GAC1C2zB,GAAsB3V,EAAKhe,EAAQunE,eACnCt6C,EAAGpsB,GAAKiyC,EAAQvvB,IAChBxzB,KAAKmvD,UAAUjyB,EAAIjP,EAAKhe,GACxBjQ,KAAK2/E,SAASziD,EAAIjP,EAAKhe,GACvBjQ,KAAKmgF,WAAWjjD,EAAIjP,EAAKhe,GACzBi0B,GAAqBjW,EAAKhe,EAAQunE,eAClCvpD,EAAIiD,UAER,CACAu1C,oBACE,OAAOzmE,KAAK4mC,SAAW,EACzB,CACA8/B,kBAAkBC,EAAgB+S,GAChC,MAAM9S,EAAa5mE,KAAK4mC,QAClBmC,EAAS49B,EAAel3D,KAAI,EAAEJ,eAAcC,YAChD,MAAM+I,EAAOrY,KAAKgG,MAAM+pC,eAAe1gC,GACvC,IAAKgJ,EACH,MAAM,IAAIgiB,MAAM,kCAAoChrB,GAEtD,MAAO,CACLA,eACAqwB,QAASrnB,EAAKzW,KAAK0N,GACnBA,QACD,IAEGqK,GAAW5K,EAAe63D,EAAY79B,GACtC+3C,EAAkB9gF,KAAK+gF,iBAAiBh4C,EAAQ2wC,IAClD//D,GAAWmnE,KACb9gF,KAAK4mC,QAAUmC,EACf/oC,KAAKy8E,eAAiB/C,EACtB15E,KAAKghF,qBAAsB,EAC3BhhF,KAAKgpC,QAAO,GAEhB,CACAsvC,YAAY/jE,EAAGsyD,EAAQI,GAAc,GACnC,GAAIJ,GAAU7mE,KAAKghF,oBACjB,OAAO,EAEThhF,KAAKghF,qBAAsB,EAC3B,MAAM/wE,EAAUjQ,KAAKiQ,QACf22D,EAAa5mE,KAAK4mC,SAAW,GAC7BmC,EAAS/oC,KAAKonE,mBAAmB7yD,EAAGqyD,EAAYC,EAAQI,GACxD6Z,EAAkB9gF,KAAK+gF,iBAAiBh4C,EAAQx0B,GAChDoF,EAAUktD,IAAW93D,EAAeg6B,EAAQ69B,IAAeka,EAWjE,OAVInnE,IACF3Z,KAAK4mC,QAAUmC,GACX94B,EAAQk4C,SAAWl4C,EAAQuuE,YAC7Bx+E,KAAKy8E,eAAiB,CACpB7rE,EAAG2D,EAAE3D,EACLE,EAAGyD,EAAEzD,GAEP9Q,KAAKgpC,QAAO,EAAM69B,KAGfltD,CACT,CACAytD,mBAAmB7yD,EAAGqyD,EAAYC,EAAQI,GACxC,MAAMh3D,EAAUjQ,KAAKiQ,QACrB,GAAe,aAAXsE,EAAEnR,KACJ,MAAO,GAET,IAAK6jE,EACH,OAAOL,EAET,MAAM79B,EAAS/oC,KAAKgG,MAAM6/D,0BAA0BtxD,EAAGtE,EAAQqe,KAAMre,EAAS42D,GAI9E,OAHI52D,EAAQtB,SACVo6B,EAAOp6B,UAEFo6B,CACT,CACAg4C,iBAAiBh4C,EAAQx0B,GACvB,MAAM,OAACuoE,EAAM,OAAEC,EAAM,QAAE9sE,GAAWjQ,KAC5BykD,EAAW+0B,GAAYvpE,EAAQw0C,UAAUl3C,KAAKvN,KAAM+oC,EAAQx0B,GAClE,OAAoB,IAAbkwC,IAAuBq4B,IAAWr4B,EAAS7zC,GAAKmsE,IAAWt4B,EAAS3zC,EAC7E,EAEFlE,GAAQ4sE,YAAcA,GACtB,IAAIyH,GAAiB,CACnBj0E,GAAI,UACJ4rE,SAAUhsE,GACV4sE,eACA0H,UAAUl7E,EAAO+uE,EAAO9kE,GAClBA,IACFjK,EAAMy1C,QAAU,IAAI7uC,GAAQ,CAAC5G,QAAOiK,YAExC,EACAq2C,aAAatgD,EAAO+uE,EAAO9kE,GACrBjK,EAAMy1C,SACRz1C,EAAMy1C,QAAQ9M,WAAW1+B,EAE7B,EACA1I,MAAMvB,EAAO+uE,EAAO9kE,GACdjK,EAAMy1C,SACRz1C,EAAMy1C,QAAQ9M,WAAW1+B,EAE7B,EACAkxE,UAAUn7E,GACR,MAAMy1C,EAAUz1C,EAAMy1C,QACtB,GAAIA,GAAWA,EAAQklC,cAAe,CACpC,MAAMryE,EAAO,CACXmtC,WAEF,IAAuD,IAAnDz1C,EAAMsjD,cAAc,oBAAqBh7C,GAC3C,OAEFmtC,EAAQ9U,KAAK3gC,EAAMioB,KACnBjoB,EAAMsjD,cAAc,mBAAoBh7C,EAC1C,CACF,EACAuqE,WAAW7yE,EAAOsI,GAChB,GAAItI,EAAMy1C,QAAS,CACjB,MAAM0F,EAAmB7yC,EAAKu4D,OAC1B7gE,EAAMy1C,QAAQ68B,YAAYhqE,EAAK84B,MAAO+Z,EAAkB7yC,EAAK24D,eAC/D34D,EAAKqL,SAAU,EAEnB,CACF,EACAsT,SAAU,CACRk7B,SAAS,EACTq2B,SAAU,KACV/5B,SAAU,UACVr3B,gBAAiB,kBACjB6xD,WAAY,OACZjH,UAAW,CACTzsD,OAAQ,QAEVuvD,aAAc,EACdC,kBAAmB,EACnBv2B,WAAY,OACZ07B,UAAW,OACXjF,YAAa,EACbZ,SAAU,CACV,EACAuF,UAAW,OACXS,YAAa,OACblF,cAAe,EACfD,gBAAiB,EACjBZ,WAAY,CACV/uD,OAAQ,QAEV60D,YAAa,OACbr9B,QAAS,EACT64B,aAAc,EACdD,UAAW,EACX1pD,aAAc,EACdsjD,UAAW,CAACtnD,EAAKwG,IAASA,EAAK4lD,SAASpoE,KACxCujE,SAAU,CAACvnD,EAAKwG,IAASA,EAAK4lD,SAASpoE,KACvCstE,mBAAoB,OACpBvE,eAAe,EACf/lB,WAAY,EACZxxD,YAAa,gBACbC,YAAa,EACbypB,UAAW,CACTgZ,SAAU,IACVoC,OAAQ,gBAEVyB,WAAY,CACVH,QAAS,CACPzmC,KAAM,SACNwmC,WAAY,CAAC,IAAK,IAAK,QAAS,SAAU,SAAU,WAEtD4yC,QAAS,CACPj0C,OAAQ,SACRpC,SAAU,MAGdF,UAAW,CACTo3C,YAAavwE,EACbxM,MAAM68E,GACJ,GAAIA,EAAaruE,OAAS,EAAG,CAC3B,MAAMoD,EAAOirE,EAAa,GACpBx5E,EAASuO,EAAKlM,MAAMpE,KAAK+B,OACzBy9E,EAAaz9E,EAASA,EAAOmL,OAAS,EAC5C,GAAI9O,MAAQA,KAAKiQ,SAAiC,YAAtBjQ,KAAKiQ,QAAQqe,KACvC,OAAOpc,EAAK88B,QAAQxrC,OAAS,GACxB,GAAI0O,EAAK1O,MACd,OAAO0O,EAAK1O,MACP,GAAI49E,EAAa,GAAKlvE,EAAKmhC,UAAY+tC,EAC5C,OAAOz9E,EAAOuO,EAAKmhC,UAEvB,CACA,MAAO,EACT,EACAiqC,WAAYxwE,EACZ8tE,WAAY9tE,EACZ6wE,YAAa7wE,EACbtJ,MAAMu7C,GACJ,GAAI/+C,MAAQA,KAAKiQ,SAAiC,YAAtBjQ,KAAKiQ,QAAQqe,KACvC,OAAOywB,EAAYv7C,MAAQ,KAAOu7C,EAAYE,gBAAkBF,EAAYE,eAE9E,IAAIz7C,EAAQu7C,EAAY/P,QAAQxrC,OAAS,GACrCA,IACFA,GAAS,MAEX,MAAM0J,EAAQ6xC,EAAYE,eAI1B,OAHKhyC,EAAcC,KACjB1J,GAAS0J,GAEJ1J,CACT,EACA26E,WAAWp/B,GACT,MACM9uC,EADO8uC,EAAY/4C,MAAM+pC,eAAegP,EAAY1vC,cACrCu9B,WAAW5K,SAAS+c,EAAY1L,WACrD,MAAO,CACL5vC,YAAawM,EAAQxM,YACrB2pB,gBAAiBnd,EAAQmd,gBACzB1pB,YAAauM,EAAQvM,YACrB0hC,WAAYn1B,EAAQm1B,WACpBC,iBAAkBp1B,EAAQo1B,iBAC1BojC,aAAc,EAElB,EACA4V,iBACE,OAAOr+E,KAAKiQ,QAAQiwE,SACtB,EACA9B,gBAAgBr/B,GACd,MACM9uC,EADO8uC,EAAY/4C,MAAM+pC,eAAegP,EAAY1vC,cACrCu9B,WAAW5K,SAAS+c,EAAY1L,WACrD,MAAO,CACLnhB,WAAYjiB,EAAQiiB,WACpBC,SAAUliB,EAAQkiB,SAEtB,EACAyrD,WAAY9wE,EACZ+tE,UAAW/tE,EACXixE,aAAcjxE,EACdstE,OAAQttE,EACRkxE,YAAalxE,IAGjBy0C,cAAe,CACb84B,SAAU,OACVC,WAAY,OACZtC,UAAW,QAEblrD,YAAa,CACXkD,YAAcV,GAAkB,WAATA,GAA8B,aAATA,GAAgC,aAATA,EACnEY,YAAY,EACZ+V,UAAW,CACTjW,aAAa,EACbE,YAAY,GAEd/C,UAAW,CACTgD,WAAW,GAEb6Z,WAAY,CACV7Z,UAAW,cAGf4vC,uBAAwB,CAAC,gBAGvBl8D,GAAuBwJ,OAAO0mC,OAAO,CACzCoe,UAAW,KACX3lD,WAAY+iE,GACZ9iE,OAAQ6C,GACR5C,OAAQisE,GACR9rE,SAAU0sE,GACV5sE,MAAOwsE,GACPvsE,QAASq0E,KAqBT,MAAM/0E,WAAsBy4C,GAC1B56B,YAAYoe,GACVqQ,MAAMrQ,GACNnoC,KAAKqhF,iBAAcr2D,EACnBhrB,KAAKshF,YAAc,EACnBthF,KAAKuhF,aAAe,EACtB,CACA17B,KAAKsY,GACH,MAAMqjB,EAAQxhF,KAAKuhF,aACnB,GAAIC,EAAM1yE,OAAQ,CAChB,MAAMnL,EAAS3D,KAAKyxC,YACpB,IAAK,MAAM,MAACniC,EAAK,MAAE9L,KAAUg+E,EACvB79E,EAAO2L,KAAW9L,GACpBG,EAAOuT,OAAO5H,EAAO,GAGzBtP,KAAKuhF,aAAe,EACtB,CACA/oC,MAAMqN,KAAKsY,EACb,CACAniC,MAAMsX,EAAKhkC,GACT,GAAIrC,EAAcqmC,GAChB,OAAO,KAET,MAAM3vC,EAAS3D,KAAKyxC,YAGpB,MA5Be,EAACniC,EAAO2E,IAAkB,OAAV3E,EAAiB,KAAO2G,EAAY5D,KAAKc,MAAM7D,GAAQ,EAAG2E,GA4BlFmwC,CAFP90C,EAAQ1B,SAAS0B,IAAU3L,EAAO2L,KAAWgkC,EAAMhkC,EAlCvD,SAAwB3L,EAAQ2vC,EAAKhkC,EAAOmyE,GAC1C,MAAMzgF,EAAQ2C,EAAOoM,QAAQujC,GAC7B,OAAe,IAAXtyC,EAXc,EAAC2C,EAAQ2vC,EAAKhkC,EAAOmyE,KACpB,iBAARnuC,GACThkC,EAAQ3L,EAAO2N,KAAKgiC,GAAO,EAC3BmuC,EAAY7O,QAAQ,CAACtjE,QAAO9L,MAAO8vC,KAC1B3/B,MAAM2/B,KACfhkC,EAAQ,MAEHA,GAKEoyE,CAAY/9E,EAAQ2vC,EAAKhkC,EAAOmyE,GAGlCzgF,IADM2C,EAAOg+E,YAAYruC,GACRhkC,EAAQtO,CAClC,CA4BQ4gF,CAAej+E,EAAQ2vC,EAAKvlC,EAAeuB,EAAOgkC,GAAMtzC,KAAKuhF,cACxC59E,EAAOmL,OAAS,EAC3C,CACAg4C,sBACE,MAAM,WAAChuC,EAAU,WAAEC,GAAc/Y,KAAKgZ,gBACtC,IAAI,IAAChF,EAAG,IAAEC,GAAOjU,KAAKkyC,WAAU,GACJ,UAAxBlyC,KAAKiQ,QAAQw0B,SACV3rB,IACH9E,EAAM,GAEH+E,IACH9E,EAAMjU,KAAKyxC,YAAY3iC,OAAS,IAGpC9O,KAAKgU,IAAMA,EACXhU,KAAKiU,IAAMA,CACb,CACAozC,aACE,MAAMrzC,EAAMhU,KAAKgU,IACXC,EAAMjU,KAAKiU,IACXonC,EAASr7C,KAAKiQ,QAAQorC,OACtBxE,EAAQ,GACd,IAAIlzC,EAAS3D,KAAKyxC,YAClB9tC,EAAkB,IAARqQ,GAAaC,IAAQtQ,EAAOmL,OAAS,EAAKnL,EAASA,EAAO6J,MAAMwG,EAAKC,EAAM,GACrFjU,KAAKshF,YAAcjvE,KAAK4B,IAAItQ,EAAOmL,QAAUusC,EAAS,EAAI,GAAI,GAC9Dr7C,KAAKqhF,YAAcrhF,KAAKgU,KAAOqnC,EAAS,GAAM,GAC9C,IAAK,IAAInuC,EAAQ8G,EAAK9G,GAAS+G,EAAK/G,IAClC2pC,EAAMvlC,KAAK,CAACpE,UAEd,OAAO2pC,CACT,CACA/D,iBAAiB5lC,GACf,MAAMvJ,EAAS3D,KAAKyxC,YACpB,OAAIvkC,GAAS,GAAKA,EAAQvJ,EAAOmL,OACxBnL,EAAOuJ,GAETA,CACT,CACAq9B,YACEiO,MAAMjO,YACDvqC,KAAK24C,iBACR34C,KAAKqlD,gBAAkBrlD,KAAKqlD,eAEhC,CACApsC,iBAAiB/L,GAIf,MAHqB,iBAAVA,IACTA,EAAQlN,KAAKg8B,MAAM9uB,IAEJ,OAAVA,EAAiB+kC,IAAMjyC,KAAKu6C,oBAAoBrtC,EAAQlN,KAAKqhF,aAAerhF,KAAKshF,YAC1F,CACAxqC,gBAAgBxnC,GACd,MAAMunC,EAAQ72C,KAAK62C,MACnB,OAAIvnC,EAAQ,GAAKA,EAAQunC,EAAM/nC,OAAS,EAC/B,KAEF9O,KAAKiZ,iBAAiB49B,EAAMvnC,GAAOpC,MAC5C,CACA6+C,iBAAiB16B,GACf,OAAOhf,KAAKc,MAAMnT,KAAKqhF,YAAcrhF,KAAKisD,mBAAmB56B,GAASrxB,KAAKshF,YAC7E,CACA5oC,eACE,OAAO14C,KAAKyzB,MACd,EA6FF,SAASouD,GAAkB30E,EAAO40E,GAAY,WAACjqC,EAAU,YAAEmL,IACzD,MAAM3wB,EAAMne,EAAU8uC,GAChB/5B,GAAS4uB,EAAaxlC,KAAK2H,IAAIqY,GAAOhgB,KAAK4I,IAAIoX,KAAS,KACxDvjB,EAAS,IAAOgzE,GAAc,GAAK50E,GAAO4B,OAChD,OAAOuD,KAAK2B,IAAI8tE,EAAa74D,EAAOna,EACtC,CAhGA5C,GAAcc,GAAK,WACnBd,GAAc+gB,SAAW,CACvB4pB,MAAO,CACLzoC,SAAUlC,GAAcoB,UAAUwlC,mBA8FtC,MAAMivC,WAAwBp9B,GAC5B56B,YAAYoe,GACVqQ,MAAMrQ,GACNnoC,KAAKyV,WAAQuV,EACbhrB,KAAK0V,SAAMsV,EACXhrB,KAAKqhF,iBAAcr2D,EACnBhrB,KAAKgiF,eAAYh3D,EACjBhrB,KAAKshF,YAAc,CACrB,CACAtlD,MAAMsX,EAAKhkC,GACT,OAAIrC,EAAcqmC,KAGE,iBAARA,GAAoBA,aAAe3lC,UAAYC,UAAU0lC,GAF5D,MAKDA,CACV,CACA2uC,yBACE,MAAM,YAACzmC,GAAex7C,KAAKiQ,SACrB,WAAC6I,EAAU,WAAEC,GAAc/Y,KAAKgZ,gBACtC,IAAI,IAAChF,EAAG,IAAEC,GAAOjU,KACjB,MAAMkiF,EAASvxE,GAAMqD,EAAM8E,EAAa9E,EAAMrD,EACxCwxE,EAASxxE,GAAMsD,EAAM8E,EAAa9E,EAAMtD,EAC9C,GAAI6qC,EAAa,CACf,MAAM4mC,EAAUrvE,EAAKiB,GACfquE,EAAUtvE,EAAKkB,GACjBmuE,EAAU,GAAKC,EAAU,EAC3BF,EAAO,GACEC,EAAU,GAAKC,EAAU,GAClCH,EAAO,EAEX,CACA,GAAIluE,IAAQC,EAAK,CACf,IAAIonC,EAAS,GACTpnC,GAAOtG,OAAO20E,kBAAoBtuE,GAAOrG,OAAO40E,oBAClDlnC,EAAShpC,KAAKwB,IAAU,IAANI,IAEpBkuE,EAAOluE,EAAMonC,GACRG,GACH0mC,EAAOluE,EAAMqnC,EAEjB,CACAr7C,KAAKgU,IAAMA,EACXhU,KAAKiU,IAAMA,CACb,CACAuuE,eACE,MAAMh8B,EAAWxmD,KAAKiQ,QAAQ4mC,MAC9B,IACI4rC,GADA,cAAC56B,EAAa,SAAE66B,GAAYl8B,EAehC,OAbIk8B,GACFD,EAAWpwE,KAAKkwC,KAAKviD,KAAKiU,IAAMyuE,GAAYrwE,KAAKkB,MAAMvT,KAAKgU,IAAM0uE,GAAY,EAC1ED,EAAW,MACbrrD,QAAQC,KAAK,UAAUr3B,KAAKgN,sBAAsB01E,mCAA0CD,8BAC5FA,EAAW,OAGbA,EAAWziF,KAAK2iF,mBAChB96B,EAAgBA,GAAiB,IAE/BA,IACF46B,EAAWpwE,KAAK2B,IAAI6zC,EAAe46B,IAE9BA,CACT,CACAE,mBACE,OAAOh1E,OAAO8E,iBAChB,CACA40C,aACE,MAAM5yB,EAAOz0B,KAAKiQ,QACZu2C,EAAW/xB,EAAKoiB,MACtB,IAAI4rC,EAAWziF,KAAKwiF,eACpBC,EAAWpwE,KAAK4B,IAAI,EAAGwuE,GACvB,MAcM5rC,EAjLV,SAAyB+rC,EAAmBC,GAC1C,MAAMhsC,EAAQ,IAER,OAACpS,EAAM,KAAEgpB,EAAI,IAAEz5C,EAAG,IAAEC,EAAG,UAAE6uE,EAAS,MAAErqE,EAAK,SAAEgqE,EAAQ,UAAEM,EAAS,cAAEC,GAAiBJ,EACjFnwB,EAAOhF,GAAQ,EACfw1B,EAAYR,EAAW,GACtBzuE,IAAKkvE,EAAMjvE,IAAKkvE,GAAQN,EACzB/pE,GAAc7L,EAAc+G,GAC5B+E,GAAc9L,EAAcgH,GAC5BmvE,GAAgBn2E,EAAcwL,GAC9BqpE,GAAcqB,EAAOD,IAASH,EAAY,GAChD,IACIh7C,EAAQs7C,EAASC,EAASC,EAD1BpnC,EAAUnpC,GAASmwE,EAAOD,GAAQD,EAAYxwB,GAAQA,EAE1D,GAAItW,EAXgB,QAWUrjC,IAAeC,EAC3C,MAAO,CAAC,CAAC7L,MAAOg2E,GAAO,CAACh2E,MAAOi2E,IAEjCI,EAAYlxE,KAAKkwC,KAAK4gC,EAAOhnC,GAAW9pC,KAAKkB,MAAM2vE,EAAO/mC,GACtDonC,EAAYN,IACd9mC,EAAUnpC,EAAQuwE,EAAYpnC,EAAU8mC,EAAYxwB,GAAQA,GAEzDxlD,EAAc61E,KACjB/6C,EAAS11B,KAAKiB,IAAI,GAAIwvE,GACtB3mC,EAAU9pC,KAAKkwC,KAAKpG,EAAUpU,GAAUA,GAE3B,UAAXtD,GACF4+C,EAAUhxE,KAAKkB,MAAM2vE,EAAO/mC,GAAWA,EACvCmnC,EAAUjxE,KAAKkwC,KAAK4gC,EAAOhnC,GAAWA,IAEtCknC,EAAUH,EACVI,EAAUH,GAERrqE,GAAcC,GAAc00C,GD/gSlC,SAAqB78C,EAAGgD,GACtB,MAAM4vE,EAAUnxE,KAAKc,MAAMvC,GAC3B,OAAS4yE,EAAU5vE,GAAYhD,GAAQ4yE,EAAU5vE,GAAYhD,CAC/D,CC4gS0C6yE,EAAaxvE,EAAMD,GAAOy5C,EAAMtR,EAAU,MAChFonC,EAAYlxE,KAAKc,MAAMd,KAAK2B,KAAKC,EAAMD,GAAOmoC,EAASsmC,IACvDtmC,GAAWloC,EAAMD,GAAOuvE,EACxBF,EAAUrvE,EACVsvE,EAAUrvE,GACDmvE,GACTC,EAAUvqE,EAAa9E,EAAMqvE,EAC7BC,EAAUvqE,EAAa9E,EAAMqvE,EAC7BC,EAAY9qE,EAAQ,EACpB0jC,GAAWmnC,EAAUD,GAAWE,IAEhCA,GAAaD,EAAUD,GAAWlnC,EAEhConC,EADEnwE,EAAamwE,EAAWlxE,KAAKc,MAAMowE,GAAYpnC,EAAU,KAC/C9pC,KAAKc,MAAMowE,GAEXlxE,KAAKkwC,KAAKghC,IAG1B,MAAMG,EAAgBrxE,KAAK4B,IACzBK,EAAe6nC,GACf7nC,EAAe+uE,IAEjBt7C,EAAS11B,KAAKiB,IAAI,GAAIrG,EAAc61E,GAAaY,EAAgBZ,GACjEO,EAAUhxE,KAAKc,MAAMkwE,EAAUt7C,GAAUA,EACzCu7C,EAAUjxE,KAAKc,MAAMmwE,EAAUv7C,GAAUA,EACzC,IAAI5d,EAAI,EAcR,IAbIrR,IACEkqE,GAAiBK,IAAYrvE,GAC/B6iC,EAAMvlC,KAAK,CAACpE,MAAO8G,IACfqvE,EAAUrvE,GACZmW,IAEE/W,EAAaf,KAAKc,OAAOkwE,EAAUl5D,EAAIgyB,GAAWpU,GAAUA,EAAQ/zB,EAAK6tE,GAAkB7tE,EAAK8tE,EAAYc,KAC9Gz4D,KAEOk5D,EAAUrvE,GACnBmW,KAGGA,EAAIo5D,IAAap5D,EACtB0sB,EAAMvlC,KAAK,CAACpE,MAAOmF,KAAKc,OAAOkwE,EAAUl5D,EAAIgyB,GAAWpU,GAAUA,IAWpE,OATIhvB,GAAciqE,GAAiBM,IAAYrvE,EACzC4iC,EAAM/nC,QAAUsE,EAAayjC,EAAMA,EAAM/nC,OAAS,GAAG5B,MAAO+G,EAAK4tE,GAAkB5tE,EAAK6tE,EAAYc,IACtG/rC,EAAMA,EAAM/nC,OAAS,GAAG5B,MAAQ+G,EAEhC4iC,EAAMvlC,KAAK,CAACpE,MAAO+G,IAEX8E,GAAcuqE,IAAYrvE,GACpC4iC,EAAMvlC,KAAK,CAACpE,MAAOo2E,IAEdzsC,CACT,CA8FkB8sC,CAdkB,CAC9BlB,WACAh+C,OAAQhQ,EAAKgQ,OACbzwB,IAAKygB,EAAKzgB,IACVC,IAAKwgB,EAAKxgB,IACV6uE,UAAWt8B,EAASs8B,UACpBr1B,KAAMjH,EAASk8B,SACfjqE,MAAO+tC,EAAS/tC,MAChBsqE,UAAW/iF,KAAK6vD,aAChBhY,WAAY73C,KAAK24C,eACjBqK,YAAawD,EAASxD,aAAe,EACrCggC,eAA0C,IAA3Bx8B,EAASw8B,eAERhjF,KAAK+kD,QAAU/kD,MAajC,MAXoB,UAAhBy0B,EAAKgQ,QACP3wB,EAAmB+iC,EAAO72C,KAAM,SAE9By0B,EAAK9lB,SACPkoC,EAAMloC,UACN3O,KAAKyV,MAAQzV,KAAKiU,IAClBjU,KAAK0V,IAAM1V,KAAKgU,MAEhBhU,KAAKyV,MAAQzV,KAAKgU,IAClBhU,KAAK0V,IAAM1V,KAAKiU,KAEX4iC,CACT,CACAtM,YACE,MAAMsM,EAAQ72C,KAAK62C,MACnB,IAAIphC,EAAQzV,KAAKgU,IACb0B,EAAM1V,KAAKiU,IAEf,GADAukC,MAAMjO,YACFvqC,KAAKiQ,QAAQorC,QAAUxE,EAAM/nC,OAAQ,CACvC,MAAMusC,GAAU3lC,EAAMD,GAASpD,KAAK4B,IAAI4iC,EAAM/nC,OAAS,EAAG,GAAK,EAC/D2G,GAAS4lC,EACT3lC,GAAO2lC,CACT,CACAr7C,KAAKqhF,YAAc5rE,EACnBzV,KAAKgiF,UAAYtsE,EACjB1V,KAAKshF,YAAc5rE,EAAMD,CAC3B,CACAq9B,iBAAiB5lC,GACf,OAAOs1B,GAAat1B,EAAOlN,KAAKgG,MAAMiK,QAAQyyB,OAAQ1iC,KAAKiQ,QAAQ4mC,MAAM3T,OAC3E,EAGF,MAAM/2B,WAAoB41E,GACxBj7B,sBACE,MAAM,IAAC9yC,EAAG,IAAEC,GAAOjU,KAAKkyC,WAAU,GAClClyC,KAAKgU,IAAMtG,EAAesG,GAAOA,EAAM,EACvChU,KAAKiU,IAAMvG,EAAeuG,GAAOA,EAAM,EACvCjU,KAAKiiF,wBACP,CACAU,mBACE,MAAM9qC,EAAa73C,KAAK24C,eAClB7pC,EAAS+oC,EAAa73C,KAAK+D,MAAQ/D,KAAKiE,OACxC++C,EAAc9uC,EAAUlU,KAAKiQ,QAAQ4mC,MAAMmM,aAC3C/5B,GAAS4uB,EAAaxlC,KAAK2H,IAAIgpC,GAAe3wC,KAAK4I,IAAI+nC,KAAiB,KACxEuI,EAAWvrD,KAAK4rD,wBAAwB,GAC9C,OAAOv5C,KAAKkwC,KAAKzzC,EAASuD,KAAK2B,IAAI,GAAIu3C,EAASz9B,WAAa7E,GAC/D,CACAhQ,iBAAiB/L,GACf,OAAiB,OAAVA,EAAiB+kC,IAAMjyC,KAAKu6C,oBAAoBrtC,EAAQlN,KAAKqhF,aAAerhF,KAAKshF,YAC1F,CACAv1B,iBAAiB16B,GACf,OAAOrxB,KAAKqhF,YAAcrhF,KAAKisD,mBAAmB56B,GAASrxB,KAAKshF,WAClE,EASF,SAASsC,GAAQC,GAEf,OAAkB,GADHA,EAAWxxE,KAAKiB,IAAI,GAAIjB,KAAKkB,MAAMT,EAAM+wE,IAE1D,CAVA13E,GAAYa,GAAK,SACjBb,GAAY8gB,SAAW,CACrB4pB,MAAO,CACLzoC,SAAU+zC,GAAMX,WAAWC,UA8B/B,MAAMr1C,WAAyBu4C,GAC7B56B,YAAYoe,GACVqQ,MAAMrQ,GACNnoC,KAAKyV,WAAQuV,EACbhrB,KAAK0V,SAAMsV,EACXhrB,KAAKqhF,iBAAcr2D,EACnBhrB,KAAKshF,YAAc,CACrB,CACAtlD,MAAMsX,EAAKhkC,GACT,MAAMpC,EAAQ60E,GAAgBz0E,UAAU0uB,MAAMxtB,MAAMxO,KAAM,CAACszC,EAAKhkC,IAChE,GAAc,IAAVpC,EAIJ,OAAOQ,EAAeR,IAAUA,EAAQ,EAAIA,EAAQ,KAHlDlN,KAAK8jF,OAAQ,CAIjB,CACAh9B,sBACE,MAAM,IAAC9yC,EAAG,IAAEC,GAAOjU,KAAKkyC,WAAU,GAClClyC,KAAKgU,IAAMtG,EAAesG,GAAO3B,KAAK4B,IAAI,EAAGD,GAAO,KACpDhU,KAAKiU,IAAMvG,EAAeuG,GAAO5B,KAAK4B,IAAI,EAAGA,GAAO,KAChDjU,KAAKiQ,QAAQurC,cACfx7C,KAAK8jF,OAAQ,GAEf9jF,KAAKiiF,wBACP,CACAA,yBACE,MAAM,WAACnpE,EAAU,WAAEC,GAAc/Y,KAAKgZ,gBACtC,IAAIhF,EAAMhU,KAAKgU,IACXC,EAAMjU,KAAKiU,IACf,MAAMiuE,EAASvxE,GAAMqD,EAAM8E,EAAa9E,EAAMrD,EACxCwxE,EAASxxE,GAAMsD,EAAM8E,EAAa9E,EAAMtD,EACxCozE,EAAM,CAACpzE,EAAGuL,IAAM7J,KAAKiB,IAAI,GAAIjB,KAAKkB,MAAMT,EAAMnC,IAAMuL,GACtDlI,IAAQC,IACND,GAAO,GACTkuE,EAAO,GACPC,EAAO,MAEPD,EAAO6B,EAAI/vE,GAAM,IACjBmuE,EAAO4B,EAAI9vE,EAAK,MAGhBD,GAAO,GACTkuE,EAAO6B,EAAI9vE,GAAM,IAEfA,GAAO,GACTkuE,EAAO4B,EAAI/vE,EAAK,IAEdhU,KAAK8jF,OAAS9jF,KAAKgU,MAAQhU,KAAKylD,eAAiBzxC,IAAQ+vE,EAAI/jF,KAAKgU,IAAK,IACzEkuE,EAAO6B,EAAI/vE,GAAM,IAEnBhU,KAAKgU,IAAMA,EACXhU,KAAKiU,IAAMA,CACb,CACAozC,aACE,MAAM5yB,EAAOz0B,KAAKiQ,QAKZ4mC,EAjFV,SAAuB+rC,EAAmBC,GACxC,MAAMmB,EAAS3xE,KAAKkB,MAAMT,EAAM+vE,EAAU5uE,MACpCgwE,EAAiB5xE,KAAKkwC,KAAKsgC,EAAU5uE,IAAM5B,KAAKiB,IAAI,GAAI0wE,IACxDntC,EAAQ,GACd,IAAIgtC,EAAUh2E,EAAgB+0E,EAAkB5uE,IAAK3B,KAAKiB,IAAI,GAAIjB,KAAKkB,MAAMT,EAAM+vE,EAAU7uE,QACzF+vE,EAAM1xE,KAAKkB,MAAMT,EAAM+wE,IACvBK,EAAc7xE,KAAKkB,MAAMswE,EAAUxxE,KAAKiB,IAAI,GAAIywE,IAChDjB,EAAYiB,EAAM,EAAI1xE,KAAKiB,IAAI,GAAIjB,KAAKwB,IAAIkwE,IAAQ,EACxD,GACEltC,EAAMvlC,KAAK,CAACpE,MAAO22E,EAASpgC,MAAOmgC,GAAQC,OACzCK,EACkB,KAAhBA,IACFA,EAAc,IACZH,EACFjB,EAAYiB,GAAO,EAAI,EAAIjB,GAE7Be,EAAUxxE,KAAKc,MAAM+wE,EAAc7xE,KAAKiB,IAAI,GAAIywE,GAAOjB,GAAaA,QAC7DiB,EAAMC,GAAWD,IAAQC,GAAUE,EAAcD,GAC1D,MAAME,EAAWt2E,EAAgB+0E,EAAkB3uE,IAAK4vE,GAExD,OADAhtC,EAAMvlC,KAAK,CAACpE,MAAOi3E,EAAU1gC,MAAOmgC,GAAQC,KACrChtC,CACT,CA4DkButC,CAJY,CACxBpwE,IAAKhU,KAAKulD,SACVtxC,IAAKjU,KAAKslD,UAEmCtlD,MAY/C,MAXoB,UAAhBy0B,EAAKgQ,QACP3wB,EAAmB+iC,EAAO72C,KAAM,SAE9By0B,EAAK9lB,SACPkoC,EAAMloC,UACN3O,KAAKyV,MAAQzV,KAAKiU,IAClBjU,KAAK0V,IAAM1V,KAAKgU,MAEhBhU,KAAKyV,MAAQzV,KAAKgU,IAClBhU,KAAK0V,IAAM1V,KAAKiU,KAEX4iC,CACT,CACA/D,iBAAiB5lC,GACf,YAAiB8d,IAAV9d,EACH,IACAs1B,GAAat1B,EAAOlN,KAAKgG,MAAMiK,QAAQyyB,OAAQ1iC,KAAKiQ,QAAQ4mC,MAAM3T,OACxE,CACAqH,YACE,MAAM90B,EAAQzV,KAAKgU,IACnBwkC,MAAMjO,YACNvqC,KAAKqhF,YAAcvuE,EAAM2C,GACzBzV,KAAKshF,YAAcxuE,EAAM9S,KAAKiU,KAAOnB,EAAM2C,EAC7C,CACAwD,iBAAiB/L,GAIf,YAHc8d,IAAV9d,GAAiC,IAAVA,IACzBA,EAAQlN,KAAKgU,KAED,OAAV9G,GAAkByG,MAAMzG,GACnB+kC,IAEFjyC,KAAKu6C,mBAAmBrtC,IAAUlN,KAAKgU,IAC1C,GACClB,EAAM5F,GAASlN,KAAKqhF,aAAerhF,KAAKshF,YAC/C,CACAv1B,iBAAiB16B,GACf,MAAM26B,EAAUhsD,KAAKisD,mBAAmB56B,GACxC,OAAOhf,KAAKiB,IAAI,GAAItT,KAAKqhF,YAAcr1B,EAAUhsD,KAAKshF,YACxD,EAYF,SAAS+C,GAAsB5vD,GAC7B,MAAM+xB,EAAW/xB,EAAKoiB,MACtB,GAAI2P,EAAS7F,SAAWlsB,EAAKksB,QAAS,CACpC,MAAMoC,EAAU9rB,GAAUuvB,EAAS3C,iBACnC,OAAO91C,EAAey4C,EAAS74B,MAAQ64B,EAAS74B,KAAK1b,KAAMgb,GAASU,KAAK1b,MAAQ8wC,EAAQ9+C,MAC3F,CACA,OAAO,CACT,CAQA,SAASqgF,GAAgBtvE,EAAO+qB,EAAK9tB,EAAM+B,EAAKC,GAC9C,OAAIe,IAAUhB,GAAOgB,IAAUf,EACtB,CACLwB,MAAOsqB,EAAO9tB,EAAO,EACrByD,IAAKqqB,EAAO9tB,EAAO,GAEZ+C,EAAQhB,GAAOgB,EAAQf,EACzB,CACLwB,MAAOsqB,EAAM9tB,EACbyD,IAAKqqB,GAGF,CACLtqB,MAAOsqB,EACPrqB,IAAKqqB,EAAM9tB,EAEf,CAmCA,SAASsyE,GAAaC,EAAQvsC,EAAMjjC,EAAOyvE,EAASC,GAClD,MAAM1qE,EAAM3H,KAAKwB,IAAIxB,KAAK2H,IAAIhF,IACxBiG,EAAM5I,KAAKwB,IAAIxB,KAAK4I,IAAIjG,IAC9B,IAAIpE,EAAI,EACJE,EAAI,EACJ2zE,EAAQhvE,MAAQwiC,EAAK37B,GACvB1L,GAAKqnC,EAAK37B,EAAImoE,EAAQhvE,OAASuE,EAC/BwqE,EAAOloE,EAAIjK,KAAK2B,IAAIwwE,EAAOloE,EAAG27B,EAAK37B,EAAI1L,IAC9B6zE,EAAQ/uE,IAAMuiC,EAAKl6B,IAC5BnN,GAAK6zE,EAAQ/uE,IAAMuiC,EAAKl6B,GAAK/D,EAC7BwqE,EAAOzmE,EAAI1L,KAAK4B,IAAIuwE,EAAOzmE,EAAGk6B,EAAKl6B,EAAInN,IAErC8zE,EAAQjvE,MAAQwiC,EAAKn+B,GACvBhJ,GAAKmnC,EAAKn+B,EAAI4qE,EAAQjvE,OAASwF,EAC/BupE,EAAO1qE,EAAIzH,KAAK2B,IAAIwwE,EAAO1qE,EAAGm+B,EAAKn+B,EAAIhJ,IAC9B4zE,EAAQhvE,IAAMuiC,EAAKjmC,IAC5BlB,GAAK4zE,EAAQhvE,IAAMuiC,EAAKjmC,GAAKiJ,EAC7BupE,EAAOxyE,EAAIK,KAAK4B,IAAIuwE,EAAOxyE,EAAGimC,EAAKjmC,EAAIlB,GAE3C,CA2BA,SAAS6zE,GAAqB3vE,GAC5B,OAAc,IAAVA,GAAyB,MAAVA,EACV,SACEA,EAAQ,IACV,OAEF,OACT,CASA,SAAS4vE,GAAU9zE,EAAGyL,EAAGvH,GAMvB,OALc,KAAVA,GAA0B,MAAVA,EAClBlE,GAAMyL,EAAI,GACDvH,EAAQ,KAAOA,EAAQ,MAChClE,GAAKyL,GAEAzL,CACT,CA4CA,SAAS+zE,GAAe/1D,EAAOsD,EAAQwuB,EAAUwgC,GAC/C,MAAM,IAACnzD,GAAOa,EACd,GAAI8xB,EACF3yB,EAAIyE,IAAI5D,EAAMoxB,QAASpxB,EAAMqxB,QAAS/tB,EAAQ,EAAG9f,OAC5C,CACL,IAAIyuC,EAAgBjyB,EAAMg2D,iBAAiB,EAAG1yD,GAC9CnE,EAAI2E,OAAOmuB,EAAcnwC,EAAGmwC,EAAcjwC,GAC1C,IAAK,IAAIzG,EAAI,EAAGA,EAAI+2E,EAAY/2E,IAC9B02C,EAAgBjyB,EAAMg2D,iBAAiBz6E,EAAG+nB,GAC1CnE,EAAI4E,OAAOkuB,EAAcnwC,EAAGmwC,EAAcjwC,EAE9C,CACF,CAzMA1E,GAAiBY,GAAK,cACtBZ,GAAiB6gB,SAAW,CAC1B4pB,MAAO,CACLzoC,SAAU+zC,GAAMX,WAAWU,YAC3BuB,MAAO,CACL0E,SAAS,KA8Nf,MAAM97C,WAA0B01E,GAC9Bh4D,YAAYoe,GACVqQ,MAAMrQ,GACNnoC,KAAKkgD,aAAUl1B,EACfhrB,KAAKmgD,aAAUn1B,EACfhrB,KAAK+kF,iBAAc/5D,EACnBhrB,KAAKglF,aAAe,GACpBhlF,KAAKilF,iBAAmB,EAC1B,CACAt+B,gBACE,MAAM5D,EAAU/iD,KAAK+4E,SAAW9hD,GAAUotD,GAAsBrkF,KAAKiQ,SAAW,GAC1E2N,EAAI5d,KAAK+D,MAAQ/D,KAAKgE,SAAW++C,EAAQh/C,MACzCwY,EAAIvc,KAAKiE,OAASjE,KAAKkE,UAAY6+C,EAAQ9+C,OACjDjE,KAAKkgD,QAAU7tC,KAAKkB,MAAMvT,KAAKszB,KAAO1V,EAAI,EAAImlC,EAAQzvB,MACtDtzB,KAAKmgD,QAAU9tC,KAAKkB,MAAMvT,KAAKwzB,IAAMjX,EAAI,EAAIwmC,EAAQvvB,KACrDxzB,KAAK+kF,YAAc1yE,KAAKkB,MAAMlB,KAAK2B,IAAI4J,EAAGrB,GAAK,EACjD,CACAuqC,sBACE,MAAM,IAAC9yC,EAAG,IAAEC,GAAOjU,KAAKkyC,WAAU,GAClClyC,KAAKgU,IAAMtG,EAAesG,KAASL,MAAMK,GAAOA,EAAM,EACtDhU,KAAKiU,IAAMvG,EAAeuG,KAASN,MAAMM,GAAOA,EAAM,EACtDjU,KAAKiiF,wBACP,CACAU,mBACE,OAAOtwE,KAAKkwC,KAAKviD,KAAK+kF,YAAcV,GAAsBrkF,KAAKiQ,SACjE,CACAu5C,mBAAmB3S,GACjBkrC,GAAgBz0E,UAAUk8C,mBAAmBj8C,KAAKvN,KAAM62C,GACxD72C,KAAKglF,aAAehlF,KAAKyxC,YACtBhiC,KAAI,CAACvC,EAAOoC,KACX,MAAM9L,EAAQ4K,EAASpO,KAAKiQ,QAAQ4wC,YAAYzyC,SAAU,CAAClB,EAAOoC,GAAQtP,MAC1E,OAAOwD,GAAmB,IAAVA,EAAcA,EAAQ,EAAE,IAEzCm3B,QAAO,CAAChqB,EAAGtG,IAAMrK,KAAKgG,MAAMo0C,kBAAkB/vC,IACnD,CACA0+C,MACE,MAAMt0B,EAAOz0B,KAAKiQ,QACdwkB,EAAKksB,SAAWlsB,EAAKosB,YAAYF,QA9NzC,SAA4B7xB,GAC1B,MAAMmpB,EAAO,CACX37B,EAAGwS,EAAMwE,KAAOxE,EAAMiqD,SAASzlD,KAC/BvV,EAAG+Q,EAAMyE,MAAQzE,EAAMiqD,SAASxlD,MAChCzZ,EAAGgV,EAAM0E,IAAM1E,EAAMiqD,SAASvlD,IAC9BxhB,EAAG8c,EAAM2E,OAAS3E,EAAMiqD,SAAStlD,QAE7B+wD,EAASn3E,OAAOuM,OAAO,CAAC,EAAGq+B,GAC3B4R,EAAa,GACb9G,EAAU,GACVmiC,EAAap2D,EAAMk2D,aAAal2E,OAChCq2E,EAAiBr2D,EAAM7e,QAAQ4wC,YAC/BukC,EAAkBD,EAAeE,kBAAoBjzE,EAAK8yE,EAAa,EAC7E,IAAK,IAAI76E,EAAI,EAAGA,EAAI66E,EAAY76E,IAAK,CACnC,MAAMoqB,EAAO0wD,EAAejrD,WAAWpL,EAAMw2D,qBAAqBj7E,IAClE04C,EAAQ14C,GAAKoqB,EAAKsuB,QAClB,MAAMhC,EAAgBjyB,EAAMg2D,iBAAiBz6E,EAAGykB,EAAMi2D,YAAchiC,EAAQ14C,GAAI+6E,GAC1EG,EAASruD,GAAOzC,EAAK9G,MACrBqrD,GA1CgB/qD,EA0CYa,EAAMb,IA1CbN,EA0CkB43D,EAzC/C/hF,EAAQ2J,EAD2B3J,EA0CoBsrB,EAAMk2D,aAAa36E,IAzCjD7G,EAAQ,CAACA,GAC3B,CACLoa,EAAG8S,GAAazC,EAAKN,EAAK4C,OAAQ/sB,GAClC+Y,EAAG/Y,EAAMsL,OAAS6e,EAAKG,aAuCvB+7B,EAAWx/C,GAAK2uE,EAChB,MAAMxuB,EAAej1C,EAAgBuZ,EAAMuxB,cAAch2C,GAAK+6E,GACxDpwE,EAAQ3C,KAAKc,MAAMiB,EAAUo2C,IAGnC+5B,GAAaC,EAAQvsC,EAAMuS,EAFX85B,GAAgBtvE,EAAO+rC,EAAcnwC,EAAGooE,EAASp7D,EAAG,EAAG,KACvD0mE,GAAgBtvE,EAAO+rC,EAAcjwC,EAAGkoE,EAASz8D,EAAG,GAAI,KAE1E,CAjDF,IAA0B0R,EAAKN,EAAMnqB,EAkDnCsrB,EAAM02D,eACJvtC,EAAK37B,EAAIkoE,EAAOloE,EAChBkoE,EAAOzmE,EAAIk6B,EAAKl6B,EAChBk6B,EAAKn+B,EAAI0qE,EAAO1qE,EAChB0qE,EAAOxyE,EAAIimC,EAAKjmC,GAElB8c,EAAMm2D,iBAsBR,SAA8Bn2D,EAAO+6B,EAAY9G,GAC/C,MAAM1rC,EAAQ,GACR6tE,EAAap2D,EAAMk2D,aAAal2E,OAChC2lB,EAAO3F,EAAM7e,QACbw1E,EAAQpB,GAAsB5vD,GAAQ,EACtCixD,EAAgB52D,EAAMi2D,YACtBK,EAAkB3wD,EAAKosB,YAAYwkC,kBAAoBjzE,EAAK8yE,EAAa,EAC/E,IAAK,IAAI76E,EAAI,EAAGA,EAAI66E,EAAY76E,IAAK,CACnC,MAAMs7E,EAAqB72D,EAAMg2D,iBAAiBz6E,EAAGq7E,EAAgBD,EAAQ1iC,EAAQ14C,GAAI+6E,GACnFpwE,EAAQ3C,KAAKc,MAAMiB,EAAUmB,EAAgBowE,EAAmB3wE,MAAQrC,KACxEV,EAAO43C,EAAWx/C,GAClByG,EAAI8zE,GAAUe,EAAmB70E,EAAGmB,EAAKsK,EAAGvH,GAC5C8f,EAAY6vD,GAAqB3vE,GACjCse,GAqBgB1iB,EArBQ+0E,EAAmB/0E,EAqBxBgN,EArB2B3L,EAAK2L,EAsB7C,WADgB1F,EArBgC4c,GAuB5DlkB,GAAKgN,EACc,WAAV1F,IACTtH,GAAMgN,EAAI,GAELhN,GA1BLyG,EAAM/F,KAAK,CACTV,EAAG+0E,EAAmB/0E,EACtBE,IACAgkB,YACAxB,OACAE,IAAK1iB,EACLyiB,MAAOD,EAAOrhB,EAAK2L,EACnB6V,OAAQ3iB,EAAImB,EAAKsK,GAErB,CAWF,IAA0B3L,EAAGgN,EAAG1F,EAV9B,OAAOb,CACT,CA/C2BuuE,CAAqB92D,EAAO+6B,EAAY9G,EACnE,CA8LM8iC,CAAmB7lF,MAEnBA,KAAKwlF,eAAe,EAAG,EAAG,EAAG,EAEjC,CACAA,eAAeM,EAAcC,EAAeC,EAAaC,GACvDjmF,KAAKkgD,SAAW7tC,KAAKkB,OAAOuyE,EAAeC,GAAiB,GAC5D/lF,KAAKmgD,SAAW9tC,KAAKkB,OAAOyyE,EAAcC,GAAkB,GAC5DjmF,KAAK+kF,aAAe1yE,KAAK2B,IAAIhU,KAAK+kF,YAAc,EAAG1yE,KAAK4B,IAAI6xE,EAAcC,EAAeC,EAAaC,GACxG,CACA5lC,cAAc/wC,GAGZ,OAAOiG,EAAgBjG,GAFCgD,GAAOtS,KAAKglF,aAAal2E,QAAU,IAEVoF,EAD9BlU,KAAKiQ,QAAQ2sC,YAAc,GAEhD,CACA6D,8BAA8BvzC,GAC5B,GAAID,EAAcC,GAChB,OAAO+kC,IAET,MAAMi0C,EAAgBlmF,KAAK+kF,aAAe/kF,KAAKiU,IAAMjU,KAAKgU,KAC1D,OAAIhU,KAAKiQ,QAAQtB,SACP3O,KAAKiU,IAAM/G,GAASg5E,GAEtBh5E,EAAQlN,KAAKgU,KAAOkyE,CAC9B,CACAC,8BAA8BjxE,GAC5B,GAAIjI,EAAciI,GAChB,OAAO+8B,IAET,MAAMm0C,EAAiBlxE,GAAYlV,KAAK+kF,aAAe/kF,KAAKiU,IAAMjU,KAAKgU,MACvE,OAAOhU,KAAKiQ,QAAQtB,QAAU3O,KAAKiU,IAAMmyE,EAAiBpmF,KAAKgU,IAAMoyE,CACvE,CACAd,qBAAqBh2E,GACnB,MAAMuxC,EAAc7gD,KAAKglF,cAAgB,GACzC,GAAI11E,GAAS,GAAKA,EAAQuxC,EAAY/xC,OAAQ,CAC5C,MAAMu3E,EAAaxlC,EAAYvxC,GAC/B,OAjFN,SAAiC+rB,EAAQ/rB,EAAO9L,GAC9C,OAAOm0B,GAAc0D,EAAQ,CAC3B73B,QACA8L,QACAlM,KAAM,cAEV,CA2EakjF,CAAwBtmF,KAAK0xB,aAAcpiB,EAAO+2E,EAC3D,CACF,CACAvB,iBAAiBx1E,EAAOi3E,EAAoBnB,EAAkB,GAC5D,MAAMpwE,EAAQhV,KAAKqgD,cAAc/wC,GAASqD,EAAUyyE,EACpD,MAAO,CACLx0E,EAAGyB,KAAK4I,IAAIjG,GAASuxE,EAAqBvmF,KAAKkgD,QAC/CpvC,EAAGuB,KAAK2H,IAAIhF,GAASuxE,EAAqBvmF,KAAKmgD,QAC/CnrC,QAEJ,CACAgsC,yBAAyB1xC,EAAOpC,GAC9B,OAAOlN,KAAK8kF,iBAAiBx1E,EAAOtP,KAAKygD,8BAA8BvzC,GACzE,CACAs5E,gBAAgBl3E,GACd,OAAOtP,KAAKghD,yBAAyB1xC,GAAS,EAAGtP,KAAKksD,eACxD,CACAu6B,sBAAsBn3E,GACpB,MAAM,KAACgkB,EAAI,IAAEE,EAAG,MAAED,EAAK,OAAEE,GAAUzzB,KAAKilF,iBAAiB31E,GACzD,MAAO,CACLgkB,OACAE,MACAD,QACAE,SAEJ,CACAi7B,iBACE,MAAM,gBAACthC,EAAiBkuB,MAAM,SAACsF,IAAa5gD,KAAKiQ,QACjD,GAAImd,EAAiB,CACnB,MAAMa,EAAMjuB,KAAKiuB,IACjBA,EAAI6C,OACJ7C,EAAIuE,YACJqyD,GAAe7kF,KAAMA,KAAKygD,8BAA8BzgD,KAAKgiF,WAAYphC,EAAU5gD,KAAKglF,aAAal2E,QACrGmf,EAAI0E,YACJ1E,EAAI4G,UAAYzH,EAChBa,EAAI+E,OACJ/E,EAAIiD,SACN,CACF,CACA29B,WACE,MAAM5gC,EAAMjuB,KAAKiuB,IACXwG,EAAOz0B,KAAKiQ,SACZ,WAACywC,EAAU,KAAEpF,GAAQ7mB,EACrB2sD,EAAaphF,KAAKglF,aAAal2E,OACrC,IAAIzE,EAAGgxC,EAAQoJ,EAaf,GAZIhwB,EAAKosB,YAAYF,SAxMzB,SAAyB7xB,EAAOsyD,GAC9B,MAAM,IAACnzD,EAAKhe,SAAS,YAAC4wC,IAAgB/xB,EACtC,IAAK,IAAIzkB,EAAI+2E,EAAa,EAAG/2E,GAAK,EAAGA,IAAK,CACxC,MAAMqjD,EAAc7M,EAAY3mB,WAAWpL,EAAMw2D,qBAAqBj7E,IAChEk7E,EAASruD,GAAOw2B,EAAY//B,OAC5B,EAAC/c,EAAC,EAAEE,EAAC,UAAEgkB,EAAS,KAAExB,EAAI,IAAEE,EAAG,MAAED,EAAK,OAAEE,GAAU3E,EAAMm2D,iBAAiB56E,IACrE,cAACu5C,GAAiB8J,EACxB,IAAKzgD,EAAc22C,GAAgB,CACjC,MAAM6kB,EAAezxC,GAAc02B,EAAY+a,cACzC1lB,EAAU9rB,GAAUy2B,EAAY7J,iBACtC51B,EAAI4G,UAAY+uB,EAChB,MAAM8iC,EAAepzD,EAAOyvB,EAAQzvB,KAC9BqzD,EAAcnzD,EAAMuvB,EAAQvvB,IAC5BozD,EAAgBrzD,EAAQD,EAAOyvB,EAAQh/C,MACvC8iF,EAAiBpzD,EAASD,EAAMuvB,EAAQ9+C,OAC1CoJ,OAAOvM,OAAO2nE,GAAc3K,MAAKntD,GAAW,IAANA,KACxCsd,EAAIuE,YACJuD,GAAmB9H,EAAK,CACtBrd,EAAG81E,EACH51E,EAAG61E,EACH/oE,EAAGgpE,EACHrqE,EAAGsqE,EACHz0D,OAAQq2C,IAEVx6C,EAAI+E,QAEJ/E,EAAI0gC,SAAS+3B,EAAcC,EAAaC,EAAeC,EAE3D,CACAtyD,GACEtG,EACAa,EAAMk2D,aAAa36E,GACnBuG,EACAE,EAAKy0E,EAAOz3D,WAAa,EACzBy3D,EACA,CACEj6D,MAAOoiC,EAAYpiC,MACnBwJ,UAAWA,EACXC,aAAc,UAGpB,CACF,CA+JM+xD,CAAgB9mF,KAAMohF,GAEpB9lC,EAAKqF,SACP3gD,KAAK62C,MAAM1/B,SAAQ,CAAC2vB,EAAMx3B,KACV,IAAVA,IACF+rC,EAASr7C,KAAKygD,8BAA8B3Z,EAAK55B,OAtJ3D,SAAwB4hB,EAAOi4D,EAAc30D,EAAQgvD,GACnD,MAAMnzD,EAAMa,EAAMb,IACZ2yB,EAAWmmC,EAAanmC,UACxB,MAACt1B,EAAK,UAAE4J,GAAa6xD,GACrBnmC,IAAawgC,IAAgB91D,IAAU4J,GAAa9C,EAAS,IAGnEnE,EAAI6C,OACJ7C,EAAIgH,YAAc3J,EAClB2C,EAAIiH,UAAYA,EAChBjH,EAAI8gC,YAAYg4B,EAAa3hD,YAC7BnX,EAAI+gC,eAAiB+3B,EAAa1hD,iBAClCpX,EAAIuE,YACJqyD,GAAe/1D,EAAOsD,EAAQwuB,EAAUwgC,GACxCnzD,EAAI0E,YACJ1E,EAAIgF,SACJhF,EAAIiD,UACN,CAuIU81D,CAAehnF,KADKs7C,EAAKphB,WAAWl6B,KAAK0xB,WAAWpiB,EAAQ,IAC1B+rC,EAAQ+lC,GAC5C,IAGA1gC,EAAWC,QAAS,CAEtB,IADA1yB,EAAI6C,OACCzmB,EAAI+2E,EAAa,EAAG/2E,GAAK,EAAGA,IAAK,CACpC,MAAMqjD,EAAchN,EAAWxmB,WAAWl6B,KAAKslF,qBAAqBj7E,KAC9D,MAACihB,EAAK,UAAE4J,GAAaw4B,EACtBx4B,GAAc5J,IAGnB2C,EAAIiH,UAAYA,EAChBjH,EAAIgH,YAAc3J,EAClB2C,EAAI8gC,YAAYrB,EAAYtoB,YAC5BnX,EAAI+gC,eAAiBtB,EAAYroB,iBACjCgW,EAASr7C,KAAKygD,8BAA8BhsB,EAAKoiB,MAAMloC,QAAU3O,KAAKgU,IAAMhU,KAAKiU,KACjFwwC,EAAWzkD,KAAK8kF,iBAAiBz6E,EAAGgxC,GACpCptB,EAAIuE,YACJvE,EAAI2E,OAAO5yB,KAAKkgD,QAASlgD,KAAKmgD,SAC9BlyB,EAAI4E,OAAO4xB,EAAS7zC,EAAG6zC,EAAS3zC,GAChCmd,EAAIgF,SACN,CACAhF,EAAIiD,SACN,CACF,CACAuxB,aAAc,CACdyM,aACE,MAAMjhC,EAAMjuB,KAAKiuB,IACXwG,EAAOz0B,KAAKiQ,QACZu2C,EAAW/xB,EAAKoiB,MACtB,IAAK2P,EAAS7F,QACZ,OAEF,MAAM/D,EAAa58C,KAAKqgD,cAAc,GACtC,IAAIhF,EAAQt3C,EACZkqB,EAAI6C,OACJ7C,EAAIqE,UAAUtyB,KAAKkgD,QAASlgD,KAAKmgD,SACjClyB,EAAIzB,OAAOowB,GACX3uB,EAAI6G,UAAY,SAChB7G,EAAI8G,aAAe,SACnB/0B,KAAK62C,MAAM1/B,SAAQ,CAAC2vB,EAAMx3B,KACxB,GAAc,IAAVA,IAAgBmlB,EAAK9lB,QACvB,OAEF,MAAM++C,EAAclH,EAAStsB,WAAWl6B,KAAK0xB,WAAWpiB,IAClDi8C,EAAWr0B,GAAOw2B,EAAY//B,MAEpC,GADA0tB,EAASr7C,KAAKygD,8BAA8BzgD,KAAK62C,MAAMvnC,GAAOpC,OAC1DwgD,EAAY/J,kBAAmB,CACjC11B,EAAIN,KAAO49B,EAASh7B,OACpBxsB,EAAQkqB,EAAIwC,YAAYqW,EAAKtjC,OAAOO,MACpCkqB,EAAI4G,UAAY64B,EAAY9J,cAC5B,MAAMb,EAAU9rB,GAAUy2B,EAAY7J,iBACtC51B,EAAI0gC,UACD5qD,EAAQ,EAAIg/C,EAAQzvB,MACpB+nB,EAASkQ,EAASt5C,KAAO,EAAI8wC,EAAQvvB,IACtCzvB,EAAQg/C,EAAQh/C,MAChBwnD,EAASt5C,KAAO8wC,EAAQ9+C,OAE5B,CACAswB,GAAWtG,EAAK6Y,EAAKtjC,MAAO,GAAI63C,EAAQkQ,EAAU,CAChDjgC,MAAOoiC,EAAYpiC,OACnB,IAEJ2C,EAAIiD,SACN,CACAi+B,YAAa,EAEf9iD,GAAkBW,GAAK,eACvBX,GAAkB4gB,SAAW,CAC3B0zB,SAAS,EACTsmC,SAAS,EACTxiC,SAAU,YACV/D,WAAY,CACVC,SAAS,EACTzrB,UAAW,EACXkQ,WAAY,GACZC,iBAAkB,GAEpBiW,KAAM,CACJsF,UAAU,GAEZhE,WAAY,EACZ/F,MAAO,CACL8M,mBAAmB,EACnBv1C,SAAU+zC,GAAMX,WAAWC,SAE7BZ,YAAa,CACX+C,mBAAe54B,EACf64B,gBAAiB,EACjBlD,SAAS,EACThzB,KAAM,CACJ1b,KAAM,IAER7D,SAAS5K,GACAA,EAETu/C,QAAS,EACTsiC,mBAAmB,IAGvBh5E,GAAkBk1C,cAAgB,CAChC,mBAAoB,cACpB,oBAAqB,QACrB,cAAe,SAEjBl1C,GAAkBygB,YAAc,CAC9B4zB,WAAY,CACVvwB,UAAW,SAIf,MAAM+2D,GAAY,CAChBC,YAAa,CAACC,QAAQ,EAAMn1E,KAAM,EAAGo1E,MAAO,KAC5CC,OAAQ,CAACF,QAAQ,EAAMn1E,KAAM,IAAMo1E,MAAO,IAC1CE,OAAQ,CAACH,QAAQ,EAAMn1E,KAAM,IAAOo1E,MAAO,IAC3CG,KAAM,CAACJ,QAAQ,EAAMn1E,KAAM,KAASo1E,MAAO,IAC3CI,IAAK,CAACL,QAAQ,EAAMn1E,KAAM,MAAUo1E,MAAO,IAC3CK,KAAM,CAACN,QAAQ,EAAOn1E,KAAM,OAAWo1E,MAAO,GAC9CM,MAAO,CAACP,QAAQ,EAAMn1E,KAAM,OAASo1E,MAAO,IAC5CO,QAAS,CAACR,QAAQ,EAAOn1E,KAAM,OAASo1E,MAAO,GAC/CQ,KAAM,CAACT,QAAQ,EAAMn1E,KAAM,SAEvB61E,GAASz6E,OAAOwB,KAAKq4E,IAC3B,SAASa,GAAOnnF,EAAGoR,GACjB,OAAOpR,EAAIoR,CACb,CACA,SAASgqB,GAAMlN,EAAOzF,GACpB,GAAIpc,EAAcoc,GAChB,OAAO,KAET,MAAM2+D,EAAUl5D,EAAMm5D,UAChB,OAACC,EAAM,MAAE/0E,EAAK,WAAEg1E,GAAcr5D,EAAMs5D,WAC1C,IAAIl7E,EAAQmc,EASZ,MARsB,mBAAX6+D,IACTh7E,EAAQg7E,EAAOh7E,IAEZQ,EAAeR,KAClBA,EAA0B,iBAAXg7E,EACXF,EAAQhsD,MAAM9uB,EAAOg7E,GACrBF,EAAQhsD,MAAM9uB,IAEN,OAAVA,EACK,MAELiG,IACFjG,EAAkB,SAAViG,IAAqBM,EAAS00E,KAA8B,IAAfA,EAEjDH,EAAQt1B,QAAQxlD,EAAOiG,GADvB60E,EAAQt1B,QAAQxlD,EAAO,UAAWi7E,KAGhCj7E,EACV,CACA,SAASm7E,GAA0BC,EAASt0E,EAAKC,EAAKs0E,GACpD,MAAMr5E,EAAO44E,GAAMh5E,OACnB,IAAK,IAAIzE,EAAIy9E,GAAM/3E,QAAQu4E,GAAUj+E,EAAI6E,EAAO,IAAK7E,EAAG,CACtD,MAAMm+E,EAAWtB,GAAUY,GAAMz9E,IAC3B09B,EAASygD,EAASnB,MAAQmB,EAASnB,MAAQ15E,OAAO20E,iBACxD,GAAIkG,EAASpB,QAAU/0E,KAAKkwC,MAAMtuC,EAAMD,IAAQ+zB,EAASygD,EAASv2E,QAAUs2E,EAC1E,OAAOT,GAAMz9E,EAEjB,CACA,OAAOy9E,GAAM54E,EAAO,EACtB,CAiBA,SAASu5E,GAAQ5xC,EAAO6xC,EAAMC,GAC5B,GAAKA,GAEE,GAAIA,EAAW75E,OAAQ,CAC5B,MAAM,GAAC0H,EAAE,GAAED,GAAMJ,EAAQwyE,EAAYD,GAErC7xC,EADkB8xC,EAAWnyE,IAAOkyE,EAAOC,EAAWnyE,GAAMmyE,EAAWpyE,KACpD,CACrB,OALEsgC,EAAM6xC,IAAQ,CAMlB,CAcA,SAASE,GAAoB95D,EAAOhuB,EAAQ+nF,GAC1C,MAAMhyC,EAAQ,GACRpnC,EAAM,CAAC,EACPP,EAAOpO,EAAOgO,OACpB,IAAIzE,EAAG6C,EACP,IAAK7C,EAAI,EAAGA,EAAI6E,IAAQ7E,EACtB6C,EAAQpM,EAAOuJ,GACfoF,EAAIvC,GAAS7C,EACbwsC,EAAMvlC,KAAK,CACTpE,QACAu2C,OAAO,IAGX,OAAiB,IAATv0C,GAAe25E,EA1BzB,SAAuB/5D,EAAO+nB,EAAOpnC,EAAKo5E,GACxC,MAAMb,EAAUl5D,EAAMm5D,SAChBjnF,GAASgnF,EAAQt1B,QAAQ7b,EAAM,GAAG3pC,MAAO27E,GACzCnyE,EAAOmgC,EAAMA,EAAM/nC,OAAS,GAAG5B,MACrC,IAAIu2C,EAAOn0C,EACX,IAAKm0C,EAAQziD,EAAOyiD,GAAS/sC,EAAM+sC,GAASukC,EAAQxwE,IAAIisC,EAAO,EAAGolC,GAChEv5E,EAAQG,EAAIg0C,GACRn0C,GAAS,IACXunC,EAAMvnC,GAAOm0C,OAAQ,GAGzB,OAAO5M,CACT,CAc8CiyC,CAAch6D,EAAO+nB,EAAOpnC,EAAKo5E,GAAzChyC,CACtC,CACA,MAAMvqC,WAAkBq4C,GACtB56B,YAAY4M,GACV6hB,MAAM7hB,GACN32B,KAAKo2C,OAAS,CACZx0C,KAAM,GACN+B,OAAQ,GACRunC,IAAK,IAEPlrC,KAAK+oF,MAAQ,MACb/oF,KAAKgpF,gBAAah+D,EAClBhrB,KAAKipF,SAAW,CAAC,EACjBjpF,KAAKkpF,aAAc,EACnBlpF,KAAKooF,gBAAap9D,CACpB,CACA66B,KAAKyd,EAAW7uC,GACd,MAAMi0D,EAAOplB,EAAUolB,OAASplB,EAAUolB,KAAO,CAAC,GAC5CV,EAAUhoF,KAAKioF,SAAW,IAAIn1B,GAASC,MAAMuQ,EAAUxQ,SAAS9sB,MACtEgiD,EAAQniC,KAAKpxB,GACblkB,EAAQm4E,EAAKS,eAAgBnB,EAAQ11B,WACrCtyD,KAAKooF,WAAa,CAChBF,OAAQQ,EAAKR,OACb/0E,MAAOu1E,EAAKv1E,MACZg1E,WAAYO,EAAKP,YAEnB3vC,MAAMqN,KAAKyd,GACXtjE,KAAKkpF,YAAcz0D,EAAK20D,UAC1B,CACAptD,MAAMsX,EAAKhkC,GACT,YAAY0b,IAARsoB,EACK,KAEFtX,GAAMh8B,KAAMszC,EACrB,CACA+S,eACE7N,MAAM6N,eACNrmD,KAAKo2C,OAAS,CACZx0C,KAAM,GACN+B,OAAQ,GACRunC,IAAK,GAET,CACA4b,sBACE,MAAM72C,EAAUjQ,KAAKiQ,QACf+3E,EAAUhoF,KAAKioF,SACfx1B,EAAOxiD,EAAQy4E,KAAKj2B,MAAQ,MAClC,IAAI,IAACz+C,EAAG,IAAEC,EAAG,WAAE6E,EAAU,WAAEC,GAAc/Y,KAAKgZ,gBAC9C,SAASqwE,EAAa5kD,GACf3rB,GAAenF,MAAM8wB,EAAOzwB,OAC/BA,EAAM3B,KAAK2B,IAAIA,EAAKywB,EAAOzwB,MAExB+E,GAAepF,MAAM8wB,EAAOxwB,OAC/BA,EAAM5B,KAAK4B,IAAIA,EAAKwwB,EAAOxwB,KAE/B,CACK6E,GAAeC,IAClBswE,EAAarpF,KAAKspF,mBACK,UAAnBr5E,EAAQw0B,QAA+C,WAAzBx0B,EAAQ4mC,MAAMrnC,QAC9C65E,EAAarpF,KAAKkyC,WAAU,KAGhCl+B,EAAMtG,EAAesG,KAASL,MAAMK,GAAOA,GAAOg0E,EAAQt1B,QAAQhuD,KAAK8hC,MAAOisB,GAC9Ex+C,EAAMvG,EAAeuG,KAASN,MAAMM,GAAOA,GAAO+zE,EAAQp1B,MAAMluD,KAAK8hC,MAAOisB,GAAQ,EACpFzyD,KAAKgU,IAAM3B,KAAK2B,IAAIA,EAAKC,EAAM,GAC/BjU,KAAKiU,IAAM5B,KAAK4B,IAAID,EAAM,EAAGC,EAC/B,CACAq1E,kBACE,MAAM5uD,EAAM16B,KAAKupF,qBACjB,IAAIv1E,EAAMrG,OAAO8E,kBACbwB,EAAMtG,OAAO4kC,kBAKjB,OAJI7X,EAAI5rB,SACNkF,EAAM0mB,EAAI,GACVzmB,EAAMymB,EAAIA,EAAI5rB,OAAS,IAElB,CAACkF,MAAKC,MACf,CACAozC,aACE,MAAMp3C,EAAUjQ,KAAKiQ,QACfu5E,EAAWv5E,EAAQy4E,KACnBliC,EAAWv2C,EAAQ4mC,MACnB8xC,EAAiC,WAApBniC,EAASh3C,OAAsBxP,KAAKupF,qBAAuBvpF,KAAKypF,YAC5D,UAAnBx5E,EAAQw0B,QAAsBkkD,EAAW75E,SAC3C9O,KAAKgU,IAAMhU,KAAKulD,UAAYojC,EAAW,GACvC3oF,KAAKiU,IAAMjU,KAAKslD,UAAYqjC,EAAWA,EAAW75E,OAAS,IAE7D,MAAMkF,EAAMhU,KAAKgU,IAEX6iC,ED74TV,SAAwB/1C,EAAQkT,EAAKC,GACnC,IAAIwB,EAAQ,EACRC,EAAM5U,EAAOgO,OACjB,KAAO2G,EAAQC,GAAO5U,EAAO2U,GAASzB,GACpCyB,IAEF,KAAOC,EAAMD,GAAS3U,EAAO4U,EAAM,GAAKzB,GACtCyB,IAEF,OAAOD,EAAQ,GAAKC,EAAM5U,EAAOgO,OAC7BhO,EAAO0M,MAAMiI,EAAOC,GACpB5U,CACN,CCi4TkB4oF,CAAef,EAAY30E,EAD7BhU,KAAKiU,KAWjB,OATAjU,KAAK+oF,MAAQS,EAAS/2B,OAASjM,EAASnD,SACpCglC,GAA0BmB,EAASlB,QAAStoF,KAAKgU,IAAKhU,KAAKiU,IAAKjU,KAAK2pF,kBAAkB31E,IA7I/F,SAAoC8a,EAAO46B,EAAU4+B,EAASt0E,EAAKC,GACjE,IAAK,IAAI5J,EAAIy9E,GAAMh5E,OAAS,EAAGzE,GAAKy9E,GAAM/3E,QAAQu4E,GAAUj+E,IAAK,CAC/D,MAAMooD,EAAOq1B,GAAMz9E,GACnB,GAAI68E,GAAUz0B,GAAM20B,QAAUt4D,EAAMm5D,SAASt9E,KAAKsJ,EAAKD,EAAKy+C,IAAS/I,EAAW,EAC9E,OAAO+I,CAEX,CACA,OAAOq1B,GAAMQ,EAAUR,GAAM/3E,QAAQu4E,GAAW,EAClD,CAsIQsB,CAA2B5pF,KAAM62C,EAAM/nC,OAAQ06E,EAASlB,QAAStoF,KAAKgU,IAAKhU,KAAKiU,MACpFjU,KAAKgpF,WAAcxiC,EAAS/C,MAAM0E,SAA0B,SAAfnoD,KAAK+oF,MAtItD,SAA4Bt2B,GAC1B,IAAK,IAAIpoD,EAAIy9E,GAAM/3E,QAAQ0iD,GAAQ,EAAGvjD,EAAO44E,GAAMh5E,OAAQzE,EAAI6E,IAAQ7E,EACrE,GAAI68E,GAAUY,GAAMz9E,IAAI+8E,OACtB,OAAOU,GAAMz9E,EAGnB,CAiIQw/E,CAAmB7pF,KAAK+oF,YADyC/9D,EAErEhrB,KAAK8pF,YAAYnB,GACb14E,EAAQtB,SACVkoC,EAAMloC,UAEDi6E,GAAoB5oF,KAAM62C,EAAO72C,KAAKgpF,WAC/C,CACAngC,gBACM7oD,KAAKiQ,QAAQ85E,qBACf/pF,KAAK8pF,YAAY9pF,KAAK62C,MAAMpnC,KAAIq3B,IAASA,EAAK55B,QAElD,CACA48E,YAAYnB,GACV,IAEI3nF,EAAO0V,EAFPjB,EAAQ,EACRC,EAAM,EAEN1V,KAAKiQ,QAAQorC,QAAUstC,EAAW75E,SACpC9N,EAAQhB,KAAKgqF,mBAAmBrB,EAAW,IAEzClzE,EADwB,IAAtBkzE,EAAW75E,OACL,EAAI9N,GAEHhB,KAAKgqF,mBAAmBrB,EAAW,IAAM3nF,GAAS,EAE7D0V,EAAO1W,KAAKgqF,mBAAmBrB,EAAWA,EAAW75E,OAAS,IAE5D4G,EADwB,IAAtBizE,EAAW75E,OACP4H,GAECA,EAAO1W,KAAKgqF,mBAAmBrB,EAAWA,EAAW75E,OAAS,KAAO,GAGhF,MAAM0+C,EAAQm7B,EAAW75E,OAAS,EAAI,GAAM,IAC5C2G,EAAQQ,EAAYR,EAAO,EAAG+3C,GAC9B93C,EAAMO,EAAYP,EAAK,EAAG83C,GAC1BxtD,KAAKipF,SAAW,CAACxzE,QAAOC,MAAKqyB,OAAQ,GAAKtyB,EAAQ,EAAIC,GACxD,CACA+zE,YACE,MAAMzB,EAAUhoF,KAAKioF,SACfj0E,EAAMhU,KAAKgU,IACXC,EAAMjU,KAAKiU,IACXhE,EAAUjQ,KAAKiQ,QACfu5E,EAAWv5E,EAAQy4E,KACnBllC,EAAQgmC,EAAS/2B,MAAQ41B,GAA0BmB,EAASlB,QAASt0E,EAAKC,EAAKjU,KAAK2pF,kBAAkB31E,IACtG0uE,EAAW30E,EAAey7E,EAAS9G,SAAU,GAC7C/vB,EAAoB,SAAVnP,GAAmBgmC,EAASrB,WACtC8B,EAAax2E,EAASk/C,KAAwB,IAAZA,EAClC9b,EAAQ,CAAC,EACf,IACI6xC,EAAMjwE,EADNzX,EAAQgT,EAMZ,GAJIi2E,IACFjpF,GAASgnF,EAAQt1B,QAAQ1xD,EAAO,UAAW2xD,IAE7C3xD,GAASgnF,EAAQt1B,QAAQ1xD,EAAOipF,EAAa,MAAQzmC,GACjDwkC,EAAQr9E,KAAKsJ,EAAKD,EAAKwvC,GAAS,IAASk/B,EAC3C,MAAM,IAAIroD,MAAMrmB,EAAM,QAAUC,EAAM,uCAAyCyuE,EAAW,IAAMl/B,GAElG,MAAMmlC,EAAsC,SAAzB14E,EAAQ4mC,MAAMrnC,QAAqBxP,KAAKkqF,oBAC3D,IAAKxB,EAAO1nF,EAAOyX,EAAQ,EAAGiwE,EAAOz0E,EAAKy0E,GAAQV,EAAQxwE,IAAIkxE,EAAMhG,EAAUl/B,GAAQ/qC,IACpFgwE,GAAQ5xC,EAAO6xC,EAAMC,GAKvB,OAHID,IAASz0E,GAA0B,UAAnBhE,EAAQw0B,QAAgC,IAAVhsB,GAChDgwE,GAAQ5xC,EAAO6xC,EAAMC,GAEhBt7E,OAAOwB,KAAKgoC,GAAOL,MAAK,CAAC51C,EAAGoR,IAAMpR,EAAIoR,IAAGvC,KAAImB,IAAMA,GAC5D,CACAkiC,iBAAiB5lC,GACf,MAAM86E,EAAUhoF,KAAKioF,SACfuB,EAAWxpF,KAAKiQ,QAAQy4E,KAC9B,OAAIc,EAASW,cACJnC,EAAQ9kD,OAAOh2B,EAAOs8E,EAASW,eAEjCnC,EAAQ9kD,OAAOh2B,EAAOs8E,EAASL,eAAeiB,SACvD,CACAC,oBAAoB3B,EAAMp5E,EAAOunC,EAAO3T,GACtC,MAAMjzB,EAAUjQ,KAAKiQ,QACfqiD,EAAUriD,EAAQy4E,KAAKS,eACvB12B,EAAOzyD,KAAK+oF,MACZF,EAAY7oF,KAAKgpF,WACjBsB,EAAc73B,GAAQH,EAAQG,GAC9B83B,EAAc1B,GAAav2B,EAAQu2B,GACnC/hD,EAAO+P,EAAMvnC,GACbm0C,EAAQolC,GAAa0B,GAAezjD,GAAQA,EAAK2c,MACjDjgD,EAAQxD,KAAKioF,SAAS/kD,OAAOwlD,EAAMxlD,IAAWugB,EAAQ8mC,EAAcD,IACpExnD,EAAY7yB,EAAQ4mC,MAAMzoC,SAChC,OAAO00B,EAAY10B,EAAS00B,EAAW,CAACt/B,EAAO8L,EAAOunC,GAAQ72C,MAAQwD,CACxE,CACAgmD,mBAAmB3S,GACjB,IAAIxsC,EAAG6E,EAAM43B,EACb,IAAKz8B,EAAI,EAAG6E,EAAO2nC,EAAM/nC,OAAQzE,EAAI6E,IAAQ7E,EAC3Cy8B,EAAO+P,EAAMxsC,GACby8B,EAAKtjC,MAAQxD,KAAKqqF,oBAAoBvjD,EAAK55B,MAAO7C,EAAGwsC,EAEzD,CACAmzC,mBAAmB98E,GACjB,OAAiB,OAAVA,EAAiB+kC,KAAO/kC,EAAQlN,KAAKgU,MAAQhU,KAAKiU,IAAMjU,KAAKgU,IACtE,CACAiF,iBAAiB/L,GACf,MAAMs9E,EAAUxqF,KAAKipF,SACflpD,EAAM//B,KAAKgqF,mBAAmB98E,GACpC,OAAOlN,KAAKu6C,oBAAoBiwC,EAAQ/0E,MAAQsqB,GAAOyqD,EAAQziD,OACjE,CACAgkB,iBAAiB16B,GACf,MAAMm5D,EAAUxqF,KAAKipF,SACflpD,EAAM//B,KAAKisD,mBAAmB56B,GAASm5D,EAAQziD,OAASyiD,EAAQ90E,IACtE,OAAO1V,KAAKgU,IAAM+rB,GAAO//B,KAAKiU,IAAMjU,KAAKgU,IAC3C,CACAy2E,cAAcjnF,GACZ,MAAMknF,EAAY1qF,KAAKiQ,QAAQ4mC,MACzB8zC,EAAiB3qF,KAAKiuB,IAAIwC,YAAYjtB,GAAOO,MAC7CiR,EAAQd,EAAUlU,KAAK24C,eAAiB+xC,EAAUznC,YAAcynC,EAAU1nC,aAC1E4nC,EAAcv4E,KAAK4I,IAAIjG,GACvB61E,EAAcx4E,KAAK2H,IAAIhF,GACvB81E,EAAe9qF,KAAK4rD,wBAAwB,GAAG35C,KACrD,MAAO,CACL2L,EAAI+sE,EAAiBC,EAAgBE,EAAeD,EACpDtuE,EAAIouE,EAAiBE,EAAgBC,EAAeF,EAExD,CACAjB,kBAAkBoB,GAChB,MAAMvB,EAAWxpF,KAAKiQ,QAAQy4E,KACxBS,EAAiBK,EAASL,eAC1BjmD,EAASimD,EAAeK,EAAS/2B,OAAS02B,EAAehC,YACzD6D,EAAehrF,KAAKqqF,oBAAoBU,EAAa,EAAGnC,GAAoB5oF,KAAM,CAAC+qF,GAAc/qF,KAAKgpF,YAAa9lD,GACnHjxB,EAAOjS,KAAKyqF,cAAcO,GAC1BzC,EAAWl2E,KAAKkB,MAAMvT,KAAK24C,eAAiB34C,KAAK+D,MAAQkO,EAAK2L,EAAI5d,KAAKiE,OAASgO,EAAKsK,GAAK,EAChG,OAAOgsE,EAAW,EAAIA,EAAW,CACnC,CACA2B,oBACE,IACI7/E,EAAG6E,EADHy5E,EAAa3oF,KAAKo2C,OAAOx0C,MAAQ,GAErC,GAAI+mF,EAAW75E,OACb,OAAO65E,EAET,MAAM3iC,EAAQhmD,KAAK0sC,0BACnB,GAAI1sC,KAAKkpF,aAAeljC,EAAMl3C,OAC5B,OAAQ9O,KAAKo2C,OAAOx0C,KAAOokD,EAAM,GAAGpZ,WAAW+F,mBAAmB3yC,MAEpE,IAAKqK,EAAI,EAAG6E,EAAO82C,EAAMl3C,OAAQzE,EAAI6E,IAAQ7E,EAC3Cs+E,EAAaA,EAAWpyC,OAAOyP,EAAM37C,GAAGuiC,WAAW+F,mBAAmB3yC,OAExE,OAAQA,KAAKo2C,OAAOx0C,KAAO5B,KAAKskC,UAAUqkD,EAC5C,CACAY,qBACE,MAAMZ,EAAa3oF,KAAKo2C,OAAOzyC,QAAU,GACzC,IAAI0G,EAAG6E,EACP,GAAIy5E,EAAW75E,OACb,OAAO65E,EAET,MAAMhlF,EAAS3D,KAAKyxC,YACpB,IAAKpnC,EAAI,EAAG6E,EAAOvL,EAAOmL,OAAQzE,EAAI6E,IAAQ7E,EAC5Cs+E,EAAWr3E,KAAK0qB,GAAMh8B,KAAM2D,EAAO0G,KAErC,OAAQrK,KAAKo2C,OAAOzyC,OAAS3D,KAAKkpF,YAAcP,EAAa3oF,KAAKskC,UAAUqkD,EAC9E,CACArkD,UAAUxjC,GACR,OAAOsW,GAAatW,EAAO01C,KAAKuxC,IAClC,EAsBF,SAAS,GAAY3xE,EAAO6V,EAAKtd,GAC/B,IAEIs8E,EAAYC,EAAYC,EAAYC,EAFpC50E,EAAK,EACLD,EAAKH,EAAMtH,OAAS,EAEpBH,GACEsd,GAAO7V,EAAMI,GAAIupB,KAAO9T,GAAO7V,EAAMG,GAAIwpB,OACzCvpB,KAAID,MAAME,EAAaL,EAAO,MAAO6V,MAEvC8T,IAAKkrD,EAAYvC,KAAMyC,GAAc/0E,EAAMI,MAC3CupB,IAAKmrD,EAAYxC,KAAM0C,GAAch1E,EAAMG,MAEzC0V,GAAO7V,EAAMI,GAAIkyE,MAAQz8D,GAAO7V,EAAMG,GAAImyE,QAC1ClyE,KAAID,MAAME,EAAaL,EAAO,OAAQ6V,MAExCy8D,KAAMuC,EAAYlrD,IAAKorD,GAAc/0E,EAAMI,MAC3CkyE,KAAMwC,EAAYnrD,IAAKqrD,GAAch1E,EAAMG,KAE/C,MAAM80E,EAAOH,EAAaD,EAC1B,OAAOI,EAAOF,GAAcC,EAAaD,IAAel/D,EAAMg/D,GAAcI,EAAOF,CACrF,CAvCA7+E,GAAUU,GAAK,OACfV,GAAU2gB,SAAW,CACnBwX,OAAQ,OACRquB,SAAU,CAAC,EACX41B,KAAM,CACJR,QAAQ,EACRz1B,MAAM,EACNt/C,OAAO,EACPg1E,YAAY,EACZG,QAAS,cACTa,eAAgB,CAAC,GAEnBtyC,MAAO,CACLrnC,OAAQ,OACRi0C,MAAO,CACL0E,SAAS,KAyBf,MAAM57C,WAAwBD,GAC5Byd,YAAY4M,GACV6hB,MAAM7hB,GACN32B,KAAKsrF,OAAS,GACdtrF,KAAKurF,aAAUvgE,EACfhrB,KAAKwrF,iBAAcxgE,CACrB,CACA8+D,cACE,MAAMnB,EAAa3oF,KAAKyrF,yBAClBr1E,EAAQpW,KAAKsrF,OAAStrF,KAAK0rF,iBAAiB/C,GAClD3oF,KAAKurF,QAAU,GAAYn1E,EAAOpW,KAAKgU,KACvChU,KAAKwrF,YAAc,GAAYp1E,EAAOpW,KAAKiU,KAAOjU,KAAKurF,QACvD/yC,MAAMsxC,YAAYnB,EACpB,CACA+C,iBAAiB/C,GACf,MAAM,IAAC30E,EAAG,IAAEC,GAAOjU,KACbqX,EAAQ,GACRjB,EAAQ,GACd,IAAI/L,EAAG6E,EAAMwvB,EAAMgY,EAAMha,EACzB,IAAKryB,EAAI,EAAG6E,EAAOy5E,EAAW75E,OAAQzE,EAAI6E,IAAQ7E,EAChDqsC,EAAOiyC,EAAWt+E,GACdqsC,GAAQ1iC,GAAO0iC,GAAQziC,GACzBoD,EAAM/F,KAAKolC,GAGf,GAAIr/B,EAAMvI,OAAS,EACjB,MAAO,CACL,CAAC45E,KAAM10E,EAAK+rB,IAAK,GACjB,CAAC2oD,KAAMz0E,EAAK8rB,IAAK,IAGrB,IAAK11B,EAAI,EAAG6E,EAAOmI,EAAMvI,OAAQzE,EAAI6E,IAAQ7E,EAC3CqyB,EAAOrlB,EAAMhN,EAAI,GACjBq0B,EAAOrnB,EAAMhN,EAAI,GACjBqsC,EAAOr/B,EAAMhN,GACTgI,KAAKc,OAAOupB,EAAOgC,GAAQ,KAAOgY,GACpCtgC,EAAM9E,KAAK,CAACo3E,KAAMhyC,EAAM3W,IAAK11B,GAAK6E,EAAO,KAG7C,OAAOkH,CACT,CACAq1E,yBACE,IAAI9C,EAAa3oF,KAAKo2C,OAAOlL,KAAO,GACpC,GAAIy9C,EAAW75E,OACb,OAAO65E,EAET,MAAM/mF,EAAO5B,KAAKkqF,oBACZ1mF,EAAQxD,KAAKupF,qBAOnB,OALEZ,EADE/mF,EAAKkN,QAAUtL,EAAMsL,OACV9O,KAAKskC,UAAU1iC,EAAK20C,OAAO/yC,IAE3B5B,EAAKkN,OAASlN,EAAO4B,EAEpCmlF,EAAa3oF,KAAKo2C,OAAOlL,IAAMy9C,EACxBA,CACT,CACAqB,mBAAmB98E,GACjB,OAAQ,GAAYlN,KAAKsrF,OAAQp+E,GAASlN,KAAKurF,SAAWvrF,KAAKwrF,WACjE,CACAz/B,iBAAiB16B,GACf,MAAMm5D,EAAUxqF,KAAKipF,SACfj9B,EAAUhsD,KAAKisD,mBAAmB56B,GAASm5D,EAAQziD,OAASyiD,EAAQ90E,IAC1E,OAAO,GAAY1V,KAAKsrF,OAAQt/B,EAAUhsD,KAAKwrF,YAAcxrF,KAAKurF,SAAS,EAC7E,EAEFh/E,GAAgBS,GAAK,aACrBT,GAAgB0gB,SAAW3gB,GAAU2gB,SAErC,IAAI8B,GAAsB1hB,OAAO0mC,OAAO,CACxCoe,UAAW,KACXjmD,cAAeA,GACfC,YAAaA,GACbC,iBAAkBA,GAClBC,kBAAmBA,GACnBC,UAAWA,GACXC,gBAAiBA,KAGjB,MAAMo/E,GAAgB,CACpB/6B,GACA,GACA/sD,GACAkrB,MCpgVE68D,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB9gE,IAAjB+gE,EACH,OAAOA,EAAansF,QAGrB,IAAIC,EAAS+rF,EAAyBE,GAAY,CAGjDlsF,QAAS,CAAC,GAOX,OAHAosF,EAAoBF,GAAUv+E,KAAK1N,EAAOD,QAASC,EAAQA,EAAOD,QAASisF,GAGpEhsF,EAAOD,OACf,QCrBAisF,EAAoB1vE,EAAI,CAACvc,EAASqsF,KACjC,IAAI,IAAIpqF,KAAOoqF,EACXJ,EAAoBh7E,EAAEo7E,EAAYpqF,KAASgqF,EAAoBh7E,EAAEjR,EAASiC,IAC5EwL,OAAOkjC,eAAe3wC,EAASiC,EAAK,CAAEiuB,YAAY,EAAMX,IAAK88D,EAAWpqF,IAE1E,ECNDgqF,EAAoBh7E,EAAI,CAACG,EAAK8lB,IAAUzpB,OAAOC,UAAUmD,eAAelD,KAAKyD,EAAK8lB,GCClF+0D,EAAoB9tE,EAAKne,IACH,oBAAXu4B,QAA0BA,OAAOC,aAC1C/qB,OAAOkjC,eAAe3wC,EAASu4B,OAAOC,YAAa,CAAElrB,MAAO,WAE7DG,OAAOkjC,eAAe3wC,EAAS,aAAc,CAAEsN,OAAO,GAAO,ECFpC2+E,EAAoB","sources":["webpack://benchart/webpack/universalModuleDefinition","webpack://benchart/../../../../../Trace.common.kt","webpack://benchart/../../../../../AtomicFU.kt","webpack://benchart/../../../../../MonotonicFrameClock.kt","webpack://benchart/../../../../../Applier.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Collections.kt","webpack://benchart/../../../../../BroadcastFrameClock.kt","webpack://benchart/../../../../../Composer.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Iterators.kt","webpack://benchart/../../../../../InspectionTables.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Standard.kt","webpack://benchart/../../../../../ListUtils.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Sets.kt","webpack://benchart/../../../../../SlotTable.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Maps.kt","webpack://benchart/../../../../../BitwiseOperators.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Collections.kt","webpack://benchart/../../../../../Trace.kt","webpack://benchart/../../../../../IdentityArrayMap.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/comparisons/Comparisons.kt","webpack://benchart/../../../../../DerivedState.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/MutableCollections.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Preconditions.kt","webpack://benchart/../../../../../Composition.kt","webpack://benchart/../../../../../IdentityScopeMap.kt","webpack://benchart/../../../../../IdentityArraySet.kt","webpack://benchart/../../../../../Synchronization.kt","webpack://benchart/../../../../../CompositionContext.kt","webpack://benchart/../../../../../CompositionLocal.kt","webpack://benchart/../../../../../Effects.kt","webpack://benchart/../../../../../JoinedKey.kt","webpack://benchart/../../../../../MovableContent.kt","webpack://benchart/../../../../../OpaqueKey.kt","webpack://benchart/../../../../../RecomposeScopeImpl.kt","webpack://benchart/../../../../../Recomposer.kt","webpack://benchart/../../../../../Synchronized.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Result.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/Continuation.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Sequences.kt","webpack://benchart/../../../../../runtime/coroutineInternalJS.kt","webpack://benchart/../../../../../Snapshot.kt","webpack://benchart/../../../../../extensions.kt","webpack://benchart/../../../../../src/generated/_ArraysJs.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/dynamic.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/math.kt","webpack://benchart/../../../../../builtins/Library.kt","webpack://benchart/../../../../../SnapshotMutationPolicy.kt","webpack://benchart/../../../../../SnapshotState.kt","webpack://benchart/../../../../../ActualJs.js.kt","webpack://benchart/../../../../../Stack.kt","webpack://benchart/../../../../../ValueHolders.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Lazy.kt","webpack://benchart/../../../../../IdentityArrayIntMap.kt","webpack://benchart/../../../../../AbstractListIterator.kt","webpack://benchart/../../../../../AbstractPersistentList.kt","webpack://benchart/../../../../../BufferIterator.kt","webpack://benchart/../../../../../PersistentVector.kt","webpack://benchart/../../../../../PersistentVectorBuilder.kt","webpack://benchart/../../../../../runtime/kotlinHacks.kt","webpack://benchart/../../../../../PersistentVectorIterator.kt","webpack://benchart/../../../../../PersistentVectorMutableIterator.kt","webpack://benchart/../../../../../SmallPersistentVector.kt","webpack://benchart/../../../../../TrieIterator.kt","webpack://benchart/../../../../../Utils.kt","webpack://benchart/../../../../../PersistentHashMap.kt","webpack://benchart/../../../../../PersistentHashMapContentIterators.kt","webpack://benchart/../../../../../PersistentHashMapContentViews.kt","webpack://benchart/../../../../../TrieNode.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/HashCode.kt","webpack://benchart/../../../../../PersistentOrderedSet.kt","webpack://benchart/../../../../../PersistentOrderedSetIterator.kt","webpack://benchart/../../../../../ComposableLambda.kt","webpack://benchart/../../../../../SnapshotDoubleIndexHeap.kt","webpack://benchart/../../../../../SnapshotIdSet.kt","webpack://benchart/../../../../../SnapshotStateList.kt","webpack://benchart/../../../../../SnapshotStateMap.kt","webpack://benchart/../../../../../","webpack://benchart/../../../../../Composer.js.kt","webpack://benchart/../../../../../ComposableLambda.js.kt","webpack://benchart/../../../../../CancellableContinuation.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Arrays.kt","webpack://benchart/../../../../../ListImplementation.kt","webpack://benchart/../../../../../ActualJsBrowser.js.kt","webpack://benchart/../../../../../Composables.kt","webpack://benchart/../../../../src/commonMain/kotlin/core/BenchmarkResult.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/Strings.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/regex/RegexExtensions.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/numberConversions.kt","webpack://benchart/../../../../src/commonMain/kotlin/core/ChartsTransformers.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Ranges.kt","webpack://benchart/../../../../src/commonMain/kotlin/model/Chart.kt","webpack://benchart/../../../../src/commonMain/kotlin/model/FormData.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/AutoFormUi.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/AutoGroupToggle.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/ChartUi.kt","webpack://benchart/../../../../src/jsMain/kotlin/Utils.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections.kt","webpack://benchart/../../../../src/jsMain/kotlin/chartjs/Type.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/EditableTitle.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/Error.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/Heading.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/SavedBenchmarkNode.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/SavedBenchmarksDropDown.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/Summary.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/TestNameDetectionToggle.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/TestNames.kt","webpack://benchart/../../../../src/jsMain/kotlin/main.kt","webpack://benchart/../../../../src/jsMain/kotlin/page/home/HomePage.kt","webpack://benchart/../../../../src/jsMain/kotlin/page/home/HomeViewModel.kt","webpack://benchart/../../../../src/jsMain/kotlin/repo/BenchmarkRepo.kt","webpack://benchart/../../../../src/jsMain/kotlin/repo/FormRepo.kt","webpack://benchart/../../../../src/jsMain/kotlin/utils/DefaultValues.kt","webpack://benchart/../../../../src/jsMain/kotlin/utils/JsonUtils.kt","webpack://benchart/../../../../../SerialFormat.kt","webpack://benchart/../../../../../Serializers.kt","webpack://benchart/../../../../../Platform.common.kt","webpack://benchart/../../../../src/jsMain/kotlin/utils/SummaryUtils.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Maps.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/CoroutineContext.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_OneToManyTitlecaseMappings.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/Char.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/string.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/char.kt","webpack://benchart/../../../../../src/generated/_TitlecaseMappings.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/CharCode.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Sequences.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Strings.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/AbstractIterator.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/AbstractList.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/AbstractMap.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/AbstractSet.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/IndexedValue.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Iterables.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/SequenceBuilder.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/SlidingWindow.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/CoroutineContextImpl.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/intrinsics/Intrinsics.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/internal/progressionUtil.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/random/Random.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/random/XorWowRandom.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/ranges/PrimitiveRanges.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/ranges/ProgressionIterators.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/ranges/Progressions.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/Appendable.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/Indent.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/StringNumberConversions.kt","webpack://benchart/../../../../../runtime/long.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/stringsCode.kt","webpack://benchart/../../../../../runtime/noPackageHacks.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/time/Duration.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/StringBuilder.kt","webpack://benchart/../../../../../src/generated/_ComparisonsJs.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/time/DurationUnit.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/DeepRecursive.kt","webpack://benchart/../../../../../runtime/typeCheckUtils.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Tuples.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UByte.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UByteArray.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UInt.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UIntArray.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/ULong.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UnsignedUtils.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/ULongArray.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UShort.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UShortArray.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UStrings.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/runtime/primitiveCompanionObjects.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/AbstractMutableCollection.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/AbstractMutableList.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/AbstractMutableMap.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/AbstractMutableSet.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/ArrayList.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/ArraySorting.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/HashMap.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/HashSet.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/InternalHashCodeMap.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/LinkedHashMap.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/LinkedHashSet.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/console.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/coroutines/SafeContinuationJs.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/coroutines/cancellation/CancellationException.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/numbers.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/JsClass.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/KClassImpl.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/KTypeImpl.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/primitives.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/reflection.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/regexp.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/StringBuilderJs.kt","webpack://benchart/../../../../../src/generated/_WhitespaceChars.kt","webpack://benchart/../../../../../src/generated/_DigitChars.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/regex.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/throwableExtensions.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/time/DurationUnit.kt","webpack://benchart/../../../../../builtins/Char.kt","webpack://benchart/../../../../../builtins/Enum.kt","webpack://benchart/../../../../../runtime/arrays.kt","webpack://benchart/../../../../../runtime/bitUtils.kt","webpack://benchart/../../../../../runtime/charSequence.kt","webpack://benchart/../../../../../runtime/collectionsHacks.kt","webpack://benchart/../../../../../runtime/compareTo.kt","webpack://benchart/../../../../../runtime/coreRuntime.kt","webpack://benchart/../../../../../runtime/hacks.kt","webpack://benchart/../../../../../runtime/longjs.kt","webpack://benchart/../../../../../runtime/numberConversion.kt","webpack://benchart/../../../../../runtime/rangeTo.kt","webpack://benchart/../../../../../runtime/reflectRuntime.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/js.arrays/fill.kt","webpack://benchart/../../../../../src/generated/_CharCategories.kt","webpack://benchart/../../../../../src/generated/_LetterChars.kt","webpack://benchart/../../../../../src/generated/_OtherLowercaseChars.kt","webpack://benchart/../../../../../src/kotlin/coroutines_13/CoroutineImpl.kt","webpack://benchart/../../../../../src/kotlin/coroutines_13/IntrinsicsJs.kt","webpack://benchart/../../../../../src/kotlin/exceptions.kt","webpack://benchart/../../../../../src/kotlin/jsOperators.kt","webpack://benchart/../../../../../src/kotlin/text/numberConversions_js-ir.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/AbstractCollection.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/PrimitiveIterators.kt","webpack://benchart/../../../../../jsMainSources/core/builtins/src/kotlin/Unit.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/EqualityComparator.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/InternalMap.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/KTypeHelpers.kt","webpack://benchart/../../../../../src/kotlin/reflection_js-ir.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/MapWithDefault.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Sets.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/ContinuationInterceptor.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/ranges/Ranges.kt","webpack://benchart/../../../../../SerialDescriptor.kt","webpack://benchart/../../../../../Decoding.kt","webpack://benchart/../../../../../Encoding.kt","webpack://benchart/../../../../../PluginHelperInterfaces.kt","webpack://benchart/../../../../../PolymorphicSerializer.kt","webpack://benchart/../../../../../ContextAware.kt","webpack://benchart/../../../../../AbstractPolymorphicSerializer.kt","webpack://benchart/../../../../../SerializationExceptions.kt","webpack://benchart/../../../../../Platform.kt","webpack://benchart/../../../../../Primitives.kt","webpack://benchart/../../../../../BuiltinSerializers.kt","webpack://benchart/../../../../../SerializersCache.kt","webpack://benchart/../../../../../SerialDescriptors.kt","webpack://benchart/../../../../../SerialKinds.kt","webpack://benchart/../../../../../BuiltInSerializers.kt","webpack://benchart/../../../../../CollectionDescriptors.kt","webpack://benchart/../../../../../CollectionSerializers.kt","webpack://benchart/../../../../../ElementMarker.kt","webpack://benchart/../../../../../InlineClassDescriptor.kt","webpack://benchart/../../../../../NoOpEncoder.kt","webpack://benchart/../../../../../NullableSerializer.kt","webpack://benchart/../../../../../ObjectSerializer.kt","webpack://benchart/../../../../../PluginGeneratedSerialDescriptor.kt","webpack://benchart/../../../../../PrimitiveArraysSerializers.kt","webpack://benchart/../../../../../Tagged.kt","webpack://benchart/../../../../../Tuples.kt","webpack://benchart/../../../../../ValueClasses.kt","webpack://benchart/../../../../../SerializersModule.kt","webpack://benchart/../../../../../SerializersModuleBuilders.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/AssociatedObjects.kt","webpack://benchart/../../../../../AbstractDecoder.kt","webpack://benchart/../../../../../AbstractEncoder.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_UArrays.kt","webpack://benchart/../../../../../JsonInternalDependencies.kt","webpack://benchart/../../../../../PluginExceptions.kt","webpack://benchart/../../../../../SerializersModuleCollector.kt","webpack://benchart/../../../../../Json.kt","webpack://benchart/../../../../../JsonConfiguration.kt","webpack://benchart/../../../../../JsonElement.kt","webpack://benchart/../../../../../StringOps.kt","webpack://benchart/../../../../../JsonElementSerializers.kt","webpack://benchart/../../../../../Composers.kt","webpack://benchart/../../../../../JsonElementMarker.kt","webpack://benchart/../../../../../JsonExceptions.kt","webpack://benchart/../../../../../AbstractJsonLexer.kt","webpack://benchart/../../../../../JsonNamesMap.kt","webpack://benchart/../../../../../JsonPath.kt","webpack://benchart/../../../../../JsonStreams.kt","webpack://benchart/../../../../../StreamingJsonEncoder.kt","webpack://benchart/../../../../../JsonTreeReader.kt","webpack://benchart/../../../../../Polymorphic.kt","webpack://benchart/../../../../../TreeJsonEncoder.kt","webpack://benchart/../../../../../TreeJsonDecoder.kt","webpack://benchart/../../../../../PolymorphismValidator.kt","webpack://benchart/../../../../../SchemaCache.kt","webpack://benchart/../../../../../StreamingJsonDecoder.kt","webpack://benchart/../../../../../WriteMode.kt","webpack://benchart/../../../../../StringJsonLexer.kt","webpack://benchart/../../../../../JsonSchemaCache.kt","webpack://benchart/../../../../../JsonToStringWriter.kt","webpack://benchart/../../../../../createMapForCache.kt","webpack://benchart/../../../../../Job.kt","webpack://benchart/../../../../../AbstractCoroutine.kt","webpack://benchart/../../../../../Builders.common.kt","webpack://benchart/../../../../../CoroutineContext.kt","webpack://benchart/../../../../../DispatchedTask.kt","webpack://benchart/../../../../../CancellableContinuationImpl.kt","webpack://benchart/../../../../../CompletionHandler.kt","webpack://benchart/../../../../../AtomicFU.common.kt","webpack://benchart/../../../../../CompletionState.kt","webpack://benchart/../../../../../CoroutineDispatcher.kt","webpack://benchart/../../../../../CoroutineExceptionHandler.kt","webpack://benchart/../../../../../EventLoop.common.kt","webpack://benchart/../../../../../Exceptions.common.kt","webpack://benchart/../../../../../JobSupport.kt","webpack://benchart/../../../../../Concurrent.kt","webpack://benchart/../../../../../LinkedList.kt","webpack://benchart/../../../../../MainCoroutineDispatcher.kt","webpack://benchart/../../../../../Supervisor.kt","webpack://benchart/../../../../../Unconfined.kt","webpack://benchart/../../../../../StateFlow.kt","webpack://benchart/../../../../../AbstractSharedFlow.kt","webpack://benchart/../../../../../NullSurrogate.kt","webpack://benchart/../../../../../ArrayQueue.kt","webpack://benchart/../../../../../DispatchedContinuation.kt","webpack://benchart/../../../../../ThreadContext.kt","webpack://benchart/../../../../../Scopes.kt","webpack://benchart/../../../../../Symbol.kt","webpack://benchart/../../../../../Cancellable.kt","webpack://benchart/../../../../../Undispatched.kt","webpack://benchart/../../../../../Window.kt","webpack://benchart/../../../../../CoroutineExceptionHandlerImpl.kt","webpack://benchart/../../../../../Debug.kt","webpack://benchart/../../../../../Dispatchers.kt","webpack://benchart/../../../../../EventLoop.kt","webpack://benchart/../../../../../Exceptions.kt","webpack://benchart/../../../../../JSDispatcher.kt","webpack://benchart/../../../../../StackTraceRecovery.kt","webpack://benchart/../../../../../ThreadLocal.kt","webpack://benchart/../../../../../CoroutineStart.kt","webpack://benchart/../../../../../ProbesSupport.kt","webpack://benchart/../../../../../CompletionHandler.common.kt","webpack://benchart/../../../../../SchedulerTask.kt","webpack://benchart/../../../../../CoroutineScope.kt","webpack://benchart/../../../../../DomApplier.kt","webpack://benchart/../../../../../GlobalSnapshotManager.kt","webpack://benchart/../../../../../JsMicrotasksDispatcher.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/org.w3c/org.w3c.dom.kt","webpack://benchart/../../../../../renderComposable.kt","webpack://benchart/../../../../../Attrs.kt","webpack://benchart/../../../../../InternalControlledInputUtils.kt","webpack://benchart/../../../../../AttrsScope.kt","webpack://benchart/../../../../../EventsListenerScope.kt","webpack://benchart/../../../../../PredefinedAttrValues.kt","webpack://benchart/../../../../../SyntheticEventListener.kt","webpack://benchart/../../../../../InputAttrsScope.kt","webpack://benchart/../../../../../SelectAttrsScope.kt","webpack://benchart/../../../../../TextAreaAttrsScope.kt","webpack://benchart/../../../../../CSSUnits.kt","webpack://benchart/../../../../../StyleScope.kt","webpack://benchart/../../../../../Base.kt","webpack://benchart/../../../../../ElementScope.kt","webpack://benchart/../../../../../Elements.kt","webpack://benchart/../../../../../SyntheticChangeEvent.kt","webpack://benchart/../../../../../SyntheticEvent.kt","webpack://benchart/../../../../../SyntheticInputEvent.kt","webpack://benchart/../../../../../SyntheticMouseEvent.kt","webpack://benchart/../../../../../StylePropertyValue.kt","webpack://benchart/../../../../../text.kt","webpack://benchart/../../../../../box.kt","webpack://benchart/../../../../../margin.kt","webpack://benchart/../../../../../padding.kt","webpack://benchart/../../node_modules/chart.js/dist/chunks/helpers.segment.mjs","webpack://benchart/../../node_modules/chart.js/dist/chart.mjs","webpack://benchart/webpack/bootstrap","webpack://benchart/webpack/runtime/define property getters","webpack://benchart/webpack/runtime/hasOwnProperty shorthand","webpack://benchart/webpack/runtime/make namespace object","webpack://benchart/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"benchart\"] = factory();\n\telse\n\t\troot[\"benchart\"] = factory();\n})(this, () => {\nreturn ",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"package core\n\nimport model.FormData\n\nopen class InvalidDataException(message: String?) : Throwable(message)\nclass InvalidBenchmarkDataException(message: String?) : InvalidDataException(message)\nclass InvalidGenericDataException(message: String?) : InvalidDataException(message)\n\ndata class BlockRow(\n val title: String,\n val data: Map\n)\n\nenum class SupportedMetrics(\n val key: String,\n val emoji: String,\n val title: String\n) {\n Duration(\n emoji = \"⏱\",\n key = \"frameDurationCpuMs\",\n title = \"Duration Summary\"\n ),\n Overrun(\n emoji = \"🏃🏻‍♂️\",\n key = \"frameOverrunMs\",\n title = \"Overrun Summary\"\n ),\n InitialDisplay(\n emoji = \"🌘\",\n key = \"timeToInitialDisplayMs\",\n title = \"Initial Display Summary\"\n ),\n FullDisplay(\n emoji = \"🌕\",\n key = \"timeToFullDisplayMs\",\n title = \"Full Display Summary\"\n ),\n}\n\nenum class InputType {\n GENERIC,\n NORMAL_BENCHMARK\n}\n\ndata class BenchmarkResult(\n val title: String,\n val testName: String?,\n val blockRows: List,\n) {\n companion object {\n\n private val metricKeys = SupportedMetrics.values().map { it.key }\n\n private val machineLineRegEx = \"^(Traces|${metricKeys.joinToString(separator = \"|\")}).+\".toRegex()\n private val titleStripRegEx = \"\\\\W+\".toRegex()\n private val testNameRegex = \"[A-Z].*_[a-z].*\".toRegex()\n\n fun parse(form: FormData): Pair>? {\n\n val blocks = form.data\n .split(\"\\n\").joinToString(separator = \"\\n\") { it.trim() }\n .split(\"^\\\\s+\".toRegex(RegexOption.MULTILINE)).map { it.trim() }\n .filter { it.isNotBlank() }\n\n println(\"parsing input...\")\n if(blocks.isEmpty()) return null\n if (form.isGenericInput()) return parseGenericInput(blocks)\n\n println(\"parsing machine generated benchmark input...\")\n val benchmarkResults = mutableListOf()\n\n for ((index, block) in blocks.withIndex()) {\n println(\"block: '$block'\")\n val lines = block.split(\"\\n\").map { it.trim() }\n var title: String? = null\n var testName: String? = null\n val blockRows = mutableListOf()\n for (line in lines) {\n\n if (title == null && isHumanLine(line)) {\n title = line\n }\n\n if (form.isTestNameDetectionEnabled && isTestName(line)) {\n if (testName != null && blockRows.isNotEmpty()) {\n\n if (title == null) {\n title = \"benchmark $index $testName\"\n }\n\n // We already have an unsaved testData, so let's save it\n benchmarkResults.add(\n BenchmarkResult(\n title = title,\n testName = testName,\n blockRows = blockRows\n )\n )\n\n blockRows.clear()\n }\n\n testName = line\n }\n\n val metricName = line.findMetricKeyOrNull()\n if (metricName != null) {\n val isMetricAlreadyAdded = blockRows.find { it.title == metricName } != null\n if (isMetricAlreadyAdded) {\n throw InvalidBenchmarkDataException(\"Two $metricName found in block ${index + 1}. Expected only one\")\n }\n blockRows.add(\n BlockRow(\n title = metricName,\n data = parseValues(metricName, line)\n )\n )\n }\n }\n\n if (title == null) {\n title = \"benchmark $index\"\n }\n\n title = parseTitle(title)\n\n if (blockRows.isNotEmpty()) {\n benchmarkResults.add(\n BenchmarkResult(\n title = title,\n testName = testName,\n blockRows = blockRows\n )\n )\n }\n }\n\n return Pair(InputType.NORMAL_BENCHMARK, benchmarkResults)\n }\n\n private fun parseGenericInput(blocks: List): Pair> {\n return Pair(InputType.GENERIC, parseMultiLineGenericInput(blocks))\n }\n\n private fun createChartTitle(blockRows: MutableList): String {\n return blockRows.joinToString(separator = \" vs \") { it.title }\n }\n\n private fun parseMultiLineGenericInput(blocks: List): List {\n val benchmarkResults = mutableListOf()\n val blockRows = mutableListOf()\n for ((index, block) in blocks.withIndex()) {\n val lines = block.split(\"\\n\").map { it.trim() }\n var title: String? = null\n val values = mutableMapOf()\n for (line in lines) {\n\n if (title == null && isHumanLine(line)) {\n title = line\n continue\n }\n\n val textNumberLine = TextNumberLine.parse(line)\n values[parseGenericTitleForMultiLine(textNumberLine.text)] = textNumberLine.number\n }\n\n if (title == null) {\n title = \"benchmark $index\"\n }\n\n title = parseGenericTitleForMultiLine(title)\n\n blockRows.add(\n BlockRow(\n title = title,\n data = values\n )\n )\n }\n\n checkDataIntegrity(blockRows)\n\n val chartTitle = createChartTitle(blockRows)\n\n benchmarkResults.add(\n BenchmarkResult(\n title = chartTitle,\n testName = \"\",\n blockRows = blockRows\n )\n )\n\n return benchmarkResults\n }\n\n private fun checkDataIntegrity(blockRows: List) {\n if (blockRows.size >= 2) {\n val originalValueOrder = blockRows.first().data.keys.toList()\n for ((index, blockRow) in blockRows.withIndex()) {\n if (index == 0) {\n continue\n }\n val currentValueOrder = blockRow.data.keys.toList()\n if (originalValueOrder != currentValueOrder) {\n error(\"Invalid order. Expected '$originalValueOrder', but found '$currentValueOrder'\")\n }\n }\n }\n }\n\n\n private fun isTestName(line: String): Boolean {\n return testNameRegex.matches(line)\n }\n\n private fun parseTitle(title: String): String {\n return title\n .replace(titleStripRegEx, \" \")\n .replace(\"\\\\s{2,}\".toRegex(), \" \")\n .trim()\n }\n\n private fun parseGenericTitleForMultiLine(title: String): String {\n return parseTitle(title).also {\n println(\"genericTitleParsing : '$title' -> '$it'\")\n }\n }\n\n private fun isHumanLine(line: String): Boolean {\n return !isMachineLine(line)\n }\n\n private fun isMachineLine(line: String): Boolean {\n return line.matches(machineLineRegEx)\n }\n\n private fun parseValues(key: String, data: String): Map {\n if (!data.startsWith(key)) {\n error(\"Invalid $key.Expected to start with '$key' but found '$data'\")\n }\n\n val transformedList = data.replace(key, \"\")\n .replace(\"\\\\s+\".toRegex(), \" \")\n .split(\", \")\n // remove commas in numbers\n .map { it.replace(\",\", \"\").trim().split(\" \") }\n\n val valueMap = mutableMapOf()\n for (item in transformedList) {\n valueMap[item[0]] = item[1].toFloat()\n }\n return valueMap\n }\n\n\n private fun String.findMetricKeyOrNull(): String? {\n return metricKeys.find { this.startsWith(it) }\n }\n }\n}\n\nprivate val digitRegex = \"\\\\d+(.\\\\d+)?\".toRegex()\n\nprivate data class TextNumberLine(\n val text: String,\n val number: Float\n) {\n companion object {\n fun parse(line: String): TextNumberLine {\n val number = digitRegex.findAll(line)\n .lastOrNull()\n ?.groupValues\n .also {\n println(\"group: ${it}\")\n }\n ?.firstOrNull()\n ?: error(\"$line doesn't match the regex '${digitRegex.pattern}'\")\n val newLine = line.replace(\"$number$\".toRegex(), \"\")\n return TextNumberLine(newLine, number.toFloat())\n }\n }\n}\n\nprivate fun FormData.isGenericInput(): Boolean {\n return !this.data.contains(\n SupportedMetrics.values().joinToString(separator = \"|\", prefix = \"(\", postfix = \")\") { it.key }.toRegex()\n )\n}\n\n",null,null,null,"package core\n\nimport model.Chart\nimport model.ChartsBundle\n\n\nfun List.toCharts(): ChartsBundle {\n val chartNames = this\n .map { result ->\n result.blockRows.map { dataPoint ->\n dataPoint.title\n }\n }\n .flatten()\n .toSet()\n\n val charts = mutableListOf()\n for (chartName in chartNames) {\n // before1 -> {P50=40.5, P90=45.8, P95=60.4, P99=80.4}\n val dataSets = mutableMapOf>()\n for (item in this) {\n dataSets[item.title] = item.blockRows.find { it.title == chartName }?.data ?: emptyMap()\n }\n\n charts.add(\n Chart(\n emoji = SupportedMetrics.values().find { it.key == chartName }?.emoji ?: \"📊\",\n label = chartName, // frameDurationCpuMs, frameOverrunMs, etc\n dataSets = dataSets\n )\n )\n }\n\n val groupMap = parseGroupMap(this, isGeneric = false)\n return ChartsBundle(\n groupMap = groupMap,\n charts = charts\n )\n}\n\n\nfun List.toGenericChart(): ChartsBundle {\n // Generic chart will be always 1\n val result = this.first()\n\n val chart = Chart(\n emoji = \"📊\",\n label = result.title,\n dataSets = mutableMapOf>().apply {\n for(blockRow in result.blockRows){\n put(blockRow.title, blockRow.data)\n }\n }.also {\n println(\"chartSet -> $it\")\n },\n bsClass = \"col-lg-12\"\n )\n\n return ChartsBundle(\n groupMap = parseGroupMap(this, isGeneric = true),\n charts = listOf(\n chart\n )\n )\n}\n\n\ndata class GroupMap(\n val autoGroupMap: Map,\n val wordColorMap: Map\n)\n\nfun parseGroupMap(\n benchmarkResults: List,\n isGeneric : Boolean\n): GroupMap {\n val autoGroupMap = mutableMapOf()\n val titles = if(isGeneric){\n benchmarkResults.flatMap { it.blockRows.map { blockRow -> blockRow.title } }\n }else {\n benchmarkResults.map { it.title }\n }\n println(\"titles: $titles -> ${benchmarkResults.map { it.blockRows }}\")\n val wordColorMap = mutableMapOf()\n // TODO: Add more colors\n val lineColors = mutableListOf(\n \"rgba(255, 99, 132, 1)\",\n \"rgba(54, 162, 235, 1)\",\n \"rgba(255, 206, 86, 1)\",\n \"rgba(75, 192, 192, 1)\",\n \"rgba(153, 102, 255, 1)\",\n \"rgba(255, 159, 64, 1)\",\n )\n for (title in titles) {\n val firstWord = title.split(\" \")[0]\n val color = wordColorMap.getOrPut(firstWord) {\n\n if (lineColors.isEmpty()) {\n lineColors.add(\"rgba(${randomRgb()}, ${randomRgb()}, ${randomRgb()}, 1)\")\n }\n\n val newColor = lineColors.first()\n lineColors.remove(newColor)\n newColor\n }\n autoGroupMap[title] = color\n }\n return GroupMap(\n autoGroupMap = autoGroupMap,\n wordColorMap = wordColorMap\n ).also {\n println(\"groupMap: $it\")\n }\n}\n\nprivate fun randomRgb() = (0..255).random()\n",null,"package model\n\nimport core.GroupMap\n\ndata class ChartsBundle(\n val groupMap: GroupMap,\n val charts: List\n)\n\ndata class Chart(\n val emoji: String,\n val label: String,\n // eg format: (before1 -> map { p50 -> 20, p90 -> 30 })\n val dataSets: Map>,\n val bsClass : String = \"col-lg-6\"\n)\n\n\n\n","package model\n\ndata class FormData(\n val data: String,\n val isTestNameDetectionEnabled : Boolean,\n val isAutoGroupEnabled : Boolean\n)\n","package components\n\nimport androidx.compose.runtime.*\nimport kotlinx.browser.window\nimport model.FormData\nimport org.jetbrains.compose.web.attributes.*\nimport org.jetbrains.compose.web.css.marginTop\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.*\n\n\n\n\n@Composable\nfun FormUi(\n form: FormData,\n shouldSelectUnsaved : Boolean,\n savedBenchmarks: List,\n onFormChanged: (form: FormData) -> Unit,\n onSaveClicked: (form: FormData) -> Unit,\n onSavedBenchmarkChanged: (key :String) -> Unit,\n onLoadBenchmarkClicked: (SavedBenchmarkNode) -> Unit,\n onDeleteBenchmarkClicked: (SavedBenchmarkNode) -> Unit,\n) {\n\n\n LaunchedEffect(Unit) {\n onFormChanged(form)\n }\n\n H3 {\n Text(\"⌨️ Input\")\n }\n\n Div {\n Form {\n\n key(\"inputForm\") {\n\n SavedBenchmarksDropDown(\n shouldSelectUnsaved = shouldSelectUnsaved,\n savedBenchmarks = savedBenchmarks,\n onSavedBenchmarkChanged =onSavedBenchmarkChanged,\n onLoadBenchmarkClicked = onLoadBenchmarkClicked,\n onDeleteBenchmarkClicked = onDeleteBenchmarkClicked\n )\n\n Div(\n attrs = {\n classes(\"form-group\")\n }\n ) {\n\n Label(\n forId = \"benchmark\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Benchmark :\")\n }\n\n TextArea(\n value = form.data\n ) {\n id(\"benchmark\")\n classes(\"form-control\")\n placeholder(value = \"Benchmark data\")\n rows(20)\n onInput { textInput ->\n onFormChanged(form.copy(data = textInput.value))\n }\n }\n }\n\n Button(\n attrs = {\n classes(\"btn\", \"btn-dark\", \"float-end\")\n style {\n marginTop(10.px)\n }\n if (form.data.isBlank()) {\n attr(\"disabled\", \"true\")\n }\n onClick {\n onSaveClicked(form)\n }\n type(ButtonType.Button)\n }\n ) {\n Text(\"💾 SAVE\")\n }\n }\n }\n }\n}\n","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.attributes.ButtonType\nimport org.jetbrains.compose.web.attributes.type\nimport org.jetbrains.compose.web.css.marginLeft\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.*\n\n@Composable\nfun AutoGroup(\n isEnabled: Boolean,\n onButtonClicked: () -> Unit\n) {\n Div(\n attrs = {\n classes(\"form-group\")\n style {\n marginLeft(10.px)\n }\n }\n ) {\n // 🖌 Color map\n\n Label(\n forId = \"colorMap\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Auto Group:\")\n }\n Br()\n Button(\n attrs = {\n id(\"colorMap\")\n classes(\"btn\", if (isEnabled) \"btn-success\" else \"btn-secondary\")\n onClick {\n onButtonClicked()\n }\n type(ButtonType.Button)\n }\n ) {\n Text(if (isEnabled) \"ON\" else \"OFF\")\n }\n }\n}","package components\n\nimport Chart\nimport androidx.compose.runtime.Composable\nimport androidx.compose.runtime.DisposableEffect\nimport chartjs.Type\nimport core.GroupMap\nimport jso\nimport org.jetbrains.compose.web.css.*\nimport org.jetbrains.compose.web.dom.Canvas\nimport org.jetbrains.compose.web.dom.H3\nimport org.jetbrains.compose.web.dom.Text\n\n@Composable\nfun ChartUi(\n isColorMapEnabled: Boolean,\n groupMap: GroupMap,\n chart: model.Chart,\n) {\n H3 { Text(\"${chart.emoji} ${chart.label}\") }\n\n // Charts\n Canvas(\n attrs = {\n style {\n width(100.percent)\n maxWidth(100.percent)\n\n height(700.px)\n maxHeight(700.px)\n }\n }\n ) {\n DisposableEffect(chart, isColorMapEnabled) {\n val dataSets = mutableListOf()\n for ((legend, values) in chart.dataSets) {\n\n dataSets.add(\n jso {\n label = legend\n data = values.values.toTypedArray()\n borderColor = if (isColorMapEnabled) {\n groupMap.autoGroupMap[label]\n } else {\n arrayOf(\n \"rgba(255, 99, 132, 1)\",\n \"rgba(54, 162, 235, 1)\",\n \"rgba(255, 206, 86, 1)\",\n \"rgba(75, 192, 192, 1)\",\n \"rgba(153, 102, 255, 1)\",\n \"rgba(255, 159, 64, 1)\"\n )\n }\n borderWidth = 3\n }\n )\n }\n val chart = Chart(scopeElement, jso {\n type = Type.line\n this.data = jso {\n labels = chart.dataSets.values.flatMap { it.keys }.toSet().toTypedArray().also {\n println(\"labels: ${it.toList()}\")\n }\n datasets = dataSets.toTypedArray()\n }\n this.options = jso {\n plugins = jso {\n title = jso {\n display = true\n }\n }\n }\n })\n onDispose {\n chart.destroy()\n }\n }\n }\n\n}","inline fun jso(): T = js(\"({})\")\n\ninline fun jso(builder: T.() -> Unit): T = jso().apply(builder)",null,"package chartjs\n\ninterface Type {\n companion object {\n inline val line: Type get() = Type(\"line\")\n inline val bar: Type get() = Type(\"bar\")\n\n inline val horizontalBar: Type get() = Type(\"horizontalBar\")\n inline val radar: Type get() = Type(\"radar\")\n inline val doughnut: Type get() = Type(\"doughnut\")\n inline val polarArea: Type get() = Type(\"polarArea\")\n inline val bubble: Type get() = Type(\"bubble\")\n inline val pie: Type get() = Type(\"pie\")\n inline val scatter: Type get() = Type(\"scatter\")\n }\n}\n\ninline fun Type(value: String) = value.unsafeCast()","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.attributes.InputType\nimport org.jetbrains.compose.web.attributes.placeholder\nimport org.jetbrains.compose.web.css.fontSize\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.Div\nimport org.jetbrains.compose.web.dom.Input\nimport org.jetbrains.compose.web.dom.Label\nimport org.jetbrains.compose.web.dom.Text\n\n@Composable\nfun EditableTitle() {\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n Div(\n attrs = {\n classes(\"form-group\")\n }\n ) {\n Label(\n forId = \"customTitle\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Title :\")\n }\n Input(\n type = InputType.Text,\n ) {\n id(\"customTitle\")\n classes(\"form-control\")\n placeholder(value = \"Custom title goes here\")\n style {\n fontSize(24.px)\n }\n }\n }\n }\n}","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.dom.Div\nimport org.jetbrains.compose.web.dom.H4\nimport org.jetbrains.compose.web.dom.Text\n\n@Composable\nfun ErrorUi(message: String) {\n Div(attrs = {\n classes(\"row\")\n }) {\n Div(attrs = {\n classes(\"col-lg-12\")\n }) {\n H4(attrs = {\n classes(\"text-center\")\n }) {\n Text(\"❌ $message\")\n }\n }\n }\n}","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.css.*\nimport org.jetbrains.compose.web.dom.*\n\n\n@Composable\nfun Heading() {\n Div(attrs = {\n classes(\"row\")\n }) {\n Div(attrs = {\n classes(\"col-lg-12\")\n style {\n marginBottom(30.px)\n marginTop(30.px)\n }\n }) {\n H1(attrs = {\n classes(\"text-center\")\n }) { Text(\"📊 benchart\") }\n }\n }\n}","package components\n\nimport kotlinx.serialization.Serializable\n\n@Serializable\ndata class SavedBenchmarkNode(\n val key : String,\n val value : String\n)\n\n@Serializable\ndata class SavedBenchmarks(\n var items : List\n)","package components\n\nimport androidx.compose.runtime.*\nimport org.jetbrains.compose.web.attributes.ButtonType\nimport org.jetbrains.compose.web.attributes.disabled\nimport org.jetbrains.compose.web.attributes.selected\nimport org.jetbrains.compose.web.attributes.type\nimport org.jetbrains.compose.web.css.marginRight\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.*\nimport kotlin.js.Date\n\nval KEY_UNSAVED_BENCHMARK = \"unsavedBenchmark_${Date().getMilliseconds()}\"\n\n@Composable\nfun SavedBenchmarksDropDown(\n shouldSelectUnsaved: Boolean,\n savedBenchmarks: List,\n onSavedBenchmarkChanged: (key: String) -> Unit,\n onLoadBenchmarkClicked: (SavedBenchmarkNode) -> Unit,\n onDeleteBenchmarkClicked: (SavedBenchmarkNode) -> Unit\n) {\n\n if (savedBenchmarks.isEmpty()) {\n return\n }\n\n var selectedBenchmark by remember(savedBenchmarks) { mutableStateOf(savedBenchmarks.first()) }\n\n\n Label(\n forId = \"savedBenchmarks\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Load Benchmark :\")\n }\n\n Div(\n attrs = {\n classes(\"form-group\")\n }\n ) {\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n\n Div(\n attrs = {\n classes(\"col\")\n }\n ) {\n Select(\n attrs = {\n classes(\"form-select\")\n id(\"savedBenchmarks\")\n onChange {\n it.value?.let { benchmarkKey ->\n onSavedBenchmarkChanged(benchmarkKey)\n selectedBenchmark =\n savedBenchmarks.find { benchmark -> benchmark.key == benchmarkKey }!!\n }\n }\n }\n ) {\n for (savedBenchmark in savedBenchmarks) {\n Option(\n value = savedBenchmark.key,\n attrs = {\n if (savedBenchmark.key == selectedBenchmark.key && !shouldSelectUnsaved) {\n selected()\n }\n }\n ) {\n Text(savedBenchmark.key)\n }\n }\n\n Option(\n value = KEY_UNSAVED_BENCHMARK,\n attrs = {\n if (shouldSelectUnsaved) {\n selected()\n }\n }\n ) {\n Text(\"Unsaved benchmark\")\n }\n }\n }\n\n Div(\n attrs = {\n classes(\"col\")\n }\n ) {\n Button(\n attrs = {\n classes(\"btn\", \"btn-primary\")\n style {\n marginRight(10.px)\n }\n onClick {\n onLoadBenchmarkClicked(selectedBenchmark)\n }\n type(ButtonType.Button)\n\n if (shouldSelectUnsaved) {\n disabled()\n }\n }\n ) {\n Text(\"LOAD\")\n }\n\n Button(\n attrs = {\n classes(\"btn\", \"btn-danger\")\n onClick {\n onDeleteBenchmarkClicked(selectedBenchmark)\n }\n type(ButtonType.Button)\n\n if (shouldSelectUnsaved) {\n disabled()\n }\n }\n ) {\n Text(\"DELETE\")\n }\n }\n }\n }\n}","package components\n\nimport androidx.compose.runtime.Composable\nimport androidx.compose.runtime.key\nimport kotlinx.browser.document\nimport org.jetbrains.compose.web.attributes.AttrsScope\nimport org.jetbrains.compose.web.attributes.ButtonType\nimport org.jetbrains.compose.web.attributes.selected\nimport org.jetbrains.compose.web.attributes.type\nimport org.jetbrains.compose.web.css.fontWeight\nimport org.jetbrains.compose.web.dom.*\nimport org.w3c.dom.Element\nimport org.w3c.dom.HTMLElement\nimport org.w3c.dom.HTMLSpanElement\n\n// P50 : After performed 25% better (-30ms)\nclass SummaryNode(\n val isGeneric: Boolean,\n val emoji: String,\n val segment: String,\n val label: String,\n val percentage: Float,\n val stateWord: String,\n val diff: Float,\n val diffSymbol: String,\n val after: Float,\n val before: Float\n)\n\ndata class Summary(\n val title: String,\n val nodes: List\n)\n\n@Composable\nfun SummaryContainer(\n selector: @Composable () -> Unit,\n summaries: List,\n) {\n\n selector()\n Br()\n\n for (summary in summaries) {\n key(summary.title) {\n SummaryUi(summary.title, summary.nodes)\n Br()\n }\n }\n}\n\n@Composable\nfun SummarySelector(\n bestButtonLabel : String,\n worstButtonLabel : String,\n onBestClicked: () -> Unit,\n onWorstClicked: () -> Unit,\n blockNames: List,\n selectedBlockNameOne: String?,\n selectedBlockNameTwo: String?,\n onBlockOneSelected: (String) -> Unit,\n onBlockTwoSelected: (String) -> Unit,\n) {\n\n Div(\n attrs = {\n classes(\"row\", \"mb-3\")\n }\n ) {\n\n Div(\n attrs = {\n classes(\"col-auto\")\n }\n ) {\n // Best\n Button(\n attrs = {\n classes(\"btn\", \"btn-outline-dark\", \"btn-sm\")\n onClick {\n onBestClicked()\n }\n type(ButtonType.Button)\n }\n ) {\n Text(bestButtonLabel)\n }\n\n }\n Div(\n attrs = {\n classes(\"col-auto\")\n }\n ) {\n // Best\n Button(\n attrs = {\n classes(\"btn\", \"btn-outline-dark\", \"btn-sm\")\n onClick {\n onWorstClicked()\n }\n type(ButtonType.Button)\n }\n ) {\n Text(worstButtonLabel)\n }\n }\n\n }\n\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n repeat(2) { index ->\n key(\"block-selector-$index\") {\n Div(\n attrs = {\n classes(\"col\")\n }\n ) {\n Select(\n attrs = {\n classes(\"form-select\")\n onInput {\n it.value?.let { newBlockName ->\n if (index == 0) {\n // first block name\n onBlockOneSelected(newBlockName)\n } else {\n // second block name\n onBlockTwoSelected(newBlockName)\n }\n }\n }\n }\n ) {\n for (blockName in blockNames) {\n Option(\n value = blockName,\n attrs = {\n val selectedBlockName =\n if (index == 0) selectedBlockNameOne else selectedBlockNameTwo\n if (blockName == selectedBlockName) {\n selected()\n }\n }\n ) {\n Text(blockName)\n }\n }\n }\n }\n\n if (index == 0) {\n Div(\n attrs = {\n classes(\"col-auto\")\n }\n ) {\n P {\n Strong {\n Text(\"vs\")\n }\n }\n }\n\n }\n }\n }\n\n }\n\n\n}\n\nprivate open class ElementBuilderImplementation(private val tagName: String) :\n ElementBuilder {\n private val el: Element by lazy { document.createElement(tagName) }\n\n @Suppress(\"UNCHECKED_CAST\")\n override fun create(): TElement = el.cloneNode() as TElement\n}\n\nprivate val Strong: ElementBuilder = ElementBuilderImplementation(\"strong\")\n\n@Composable\nfun Strong(\n attrs: AttrBuilderContext? = null,\n content: ContentBuilder? = null\n) = TagElement(elementBuilder = Strong, applyAttrs = attrs, content = content)\n\n@Composable\nfun SummaryUi(title: String, summary: List) {\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n H3 { Text(title) }\n Ul {\n summary.forEach { node ->\n Li {\n Text(\"${node.emoji} \")\n // ${node.segment} : ${node.label} performed ${node.percentage}%\n BoldText(\n text = node.segment,\n style = {\n classes(\"text-capitalize\")\n }\n )\n Text(\" : \")\n BoldText(node.label)\n Text(if (node.isGeneric) \" looks \" else \" performed \")\n BoldText(\"${node.percentage}% \")\n val postfix = if (node.isGeneric) \"\" else \"ms\"\n Span(\n attrs = {\n val badgeClass = when {\n node.diff == 0f -> \"secondary\"\n node.diff > 0 -> \"danger\"\n else -> \"success\"\n }\n classes(\"badge\", \"bg-$badgeClass\")\n\n attr(\"data-bs-toggle\", \"tooltip\")\n attr(\"data-bs-placement\", \"top\")\n\n attr(\"title\", \"${node.before}$postfix to ${node.after}$postfix\")\n }\n ) {\n Text(node.stateWord)\n }\n Text(\" (${node.diffSymbol}${node.diff}$postfix)\")\n }\n }\n }\n }\n}\n\n@Composable\nprivate fun BoldText(\n text: String,\n style: (AttrsScope.() -> Unit)? = null\n) {\n Span(\n attrs = {\n style?.invoke(this)\n style {\n fontWeight(\"bold\")\n }\n }\n ) {\n Text(text)\n }\n}\n","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.attributes.ButtonType\nimport org.jetbrains.compose.web.attributes.type\nimport org.jetbrains.compose.web.css.marginLeft\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.*\n\n@Composable\nfun TestNameDetectionToggle(\n isEnabled: Boolean,\n onButtonClicked: () -> Unit\n) {\n Div(\n attrs = {\n classes(\"form-group\")\n style {\n marginLeft(10.px)\n }\n }\n ) {\n // 🖌 Color map\n\n Label(\n forId = \"testNameDetection\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Test Name Detection:\")\n }\n Br()\n Button(\n attrs = {\n id(\"testNameDetection\")\n classes(\"btn\", if (isEnabled) \"btn-success\" else \"btn-secondary\")\n onClick {\n onButtonClicked()\n }\n type(ButtonType.Button)\n }\n ) {\n Text(if (isEnabled) \"ON\" else \"OFF\")\n }\n }\n}","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.attributes.selected\nimport org.jetbrains.compose.web.dom.*\n\n\n@Composable\nfun TestNames(\n testNames: List,\n currentTestName: String? = null,\n onTestNameChanged: (option: String) -> Unit\n){\n if(testNames.isNotEmpty()){\n Div(\n attrs = {\n classes(\"form-group\")\n }\n ) {\n Label(\n forId = \"testNames\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Test Name :\")\n }\n Select(\n attrs = {\n classes(\"form-select\")\n id(\"testNames\")\n onInput {\n it.value?.let { newTestName ->\n onTestNameChanged(newTestName)\n }\n }\n }\n ) {\n for (testName in testNames) {\n Option(\n value = testName,\n attrs = {\n if (testName == currentTestName) {\n selected()\n }\n }\n ) {\n Text(testName)\n }\n }\n }\n }\n }\n}","import org.jetbrains.compose.web.renderComposable\nimport page.home.HomePageUi\n\nconst val IS_INJECT_DUMMY = true\n\nfun main() {\n\n initChartSettings()\n renderComposable(rootElementId = \"root\") {\n HomePageUi()\n }\n}\n\nprivate fun initChartSettings() {\n Chart.register(\n ArcElement,\n LineElement,\n BarElement,\n PointElement,\n BarController,\n BubbleController,\n DoughnutController,\n LineController,\n PieController,\n PolarAreaController,\n RadarController,\n ScatterController,\n CategoryScale,\n LinearScale,\n LogarithmicScale,\n RadialLinearScale,\n TimeScale,\n TimeSeriesScale,\n Decimation,\n Filler,\n Legend,\n Title,\n Tooltip,\n SubTitle\n )\n}\n","package page.home\n\nimport androidx.compose.runtime.Composable\nimport androidx.compose.runtime.remember\nimport components.AutoGroup\nimport components.ChartUi\nimport components.EditableTitle\nimport components.ErrorUi\nimport components.FormUi\nimport components.Heading\nimport components.SummaryContainer\nimport components.SummarySelector\nimport components.TestNameDetectionToggle\nimport components.TestNames\nimport core.InputType\nimport org.jetbrains.compose.web.css.paddingBottom\nimport org.jetbrains.compose.web.css.paddingLeft\nimport org.jetbrains.compose.web.css.paddingRight\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.Br\nimport org.jetbrains.compose.web.dom.Div\nimport org.jetbrains.compose.web.dom.Form\nimport org.jetbrains.compose.web.dom.H3\nimport org.jetbrains.compose.web.dom.Text\nimport repo.BenchmarkRepoImpl\nimport repo.FormRepoImpl\n\n@Composable\nfun HomePageUi(\n viewModel: HomeViewModel = remember { HomeViewModel(BenchmarkRepoImpl(), FormRepoImpl()) }\n) {\n Div(\n attrs = {\n classes(\"container-fluid\")\n }\n ) {\n\n // Heading\n Heading()\n\n // Error\n if (viewModel.errorMsg.isNotBlank()) {\n ErrorUi(viewModel.errorMsg)\n }\n\n\n // Main\n Div(attrs = {\n classes(\"row\")\n style {\n paddingLeft(40.px)\n paddingRight(40.px)\n paddingBottom(40.px)\n }\n }) {\n Div(attrs = {\n classes(\"col-lg-4\")\n }) {\n FormUi(\n form = viewModel.form,\n shouldSelectUnsaved = viewModel.shouldSelectUnsaved,\n onFormChanged = viewModel::onFormChanged,\n onSaveClicked = viewModel::onSaveClicked,\n savedBenchmarks = viewModel.savedBenchmarks,\n onSavedBenchmarkChanged = viewModel::onSavedBenchmarkChanged,\n onLoadBenchmarkClicked = viewModel::onLoadBenchmarkClicked,\n onDeleteBenchmarkClicked = viewModel::onDeleteBenchmarkClicked,\n )\n\n Br()\n Br()\n\n SummaryContainer(\n selector = {\n println(\"block size ${viewModel.blockNames.size}\")\n if (viewModel.blockNames.size > 2) {\n SummarySelector(\n bestButtonLabel = \"BEST (-${viewModel.bestAggSummary?.sumOfGreen}${viewModel.unit})\",\n worstButtonLabel = \"WORST (+${viewModel.worstAggSummary?.sumOfRed}${viewModel.unit})\",\n onBestClicked = viewModel::onBestClicked,\n onWorstClicked = viewModel::onWorstClicked,\n blockNames = viewModel.blockNames,\n selectedBlockNameOne = viewModel.selectedBlockNameOne,\n selectedBlockNameTwo = viewModel.selectedBlockNameTwo,\n onBlockOneSelected = viewModel::onBlockNameOneChanged,\n onBlockTwoSelected = viewModel::onBlockNameTwoChanged\n )\n }\n },\n summaries = viewModel.summaries\n )\n }\n\n viewModel.chartsBundle?.charts?.takeIf { it.isNotEmpty() }?.let { fullChartsList ->\n val mainCharts = viewModel.chartsBundle ?: error(\"TSH\")\n Div(\n attrs = {\n classes(\"col-lg-8\")\n }\n ) {\n\n if (viewModel.isEditableTitleEnabled) {\n EditableTitle()\n } else {\n H3(\n attrs = {\n onDoubleClick {\n viewModel.onTitleDoubleClicked()\n }\n }\n ) {\n Text(\"🖥 Output\")\n }\n }\n\n // 🧪 ToolBar\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n Form {\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n\n Div(\n attrs = {\n classes(\"col-md-2\")\n }\n ) {\n AutoGroup(\n isEnabled = viewModel.form.isAutoGroupEnabled,\n onButtonClicked = viewModel::onToggleAutoGroupClicked\n )\n }\n\n if (viewModel.inputType == InputType.NORMAL_BENCHMARK) {\n Div(\n attrs = {\n classes(\"col-md-2\")\n }\n ) {\n TestNameDetectionToggle(\n isEnabled = viewModel.form.isTestNameDetectionEnabled,\n onButtonClicked = viewModel::onToggleTestNameDetectionClicked\n )\n }\n }\n\n if (viewModel.testNames.isNotEmpty()) {\n Div(\n attrs = {\n classes(\"col-md-4\")\n }\n ) {\n TestNames(\n testNames = viewModel.testNames,\n onTestNameChanged = { newTestName ->\n viewModel.onTestNameChanged(newTestName)\n }\n )\n }\n\n }\n\n }\n }\n }\n\n Br()\n val chunkedCharts = remember(fullChartsList) { fullChartsList.chunked(2) }\n\n\n // 📊 Charts\n for (charts in chunkedCharts) {\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n for (chart in charts) {\n // 📊 duration chart\n Div(attrs = {\n classes(chart.bsClass)\n }) {\n ChartUi(\n isColorMapEnabled = viewModel.form.isAutoGroupEnabled,\n groupMap = mainCharts.groupMap,\n chart = chart\n )\n }\n }\n }\n }\n }\n }\n\n\n }\n }\n}\n","package page.home\n\nimport androidx.compose.runtime.Stable\nimport androidx.compose.runtime.getValue\nimport androidx.compose.runtime.mutableStateListOf\nimport androidx.compose.runtime.mutableStateOf\nimport androidx.compose.runtime.setValue\nimport components.KEY_UNSAVED_BENCHMARK\nimport components.SavedBenchmarkNode\nimport components.Summary\nimport core.BenchmarkResult\nimport core.InputType\nimport core.toCharts\nimport core.toGenericChart\nimport kotlinx.browser.window\nimport model.ChartsBundle\nimport model.FormData\nimport repo.BenchmarkRepo\nimport repo.FormRepo\nimport utils.DefaultValues\nimport utils.SummaryUtils\n\nexternal fun setTimeout(handler: dynamic, timeout: Int): Int\nexternal fun clearTimeout(timeoutId: Int)\n\n\n@Stable\nclass HomeViewModel(\n private val benchmarkRepo: BenchmarkRepo,\n private val formRepo: FormRepo\n) {\n\n companion object {\n private const val ERROR_GENERIC = \"Something went wrong!\"\n\n // keys\n }\n\n var savedBenchmarks by mutableStateOf>(emptyList())\n private set\n\n // States\n private var currentTestName: String? = null\n\n var testNames = mutableStateListOf()\n private set\n\n var chartsBundle by mutableStateOf(null)\n private set\n\n var errorMsg by mutableStateOf(\"\")\n private set\n\n var isEditableTitleEnabled by mutableStateOf(false)\n private set\n\n var shouldSelectUnsaved by mutableStateOf(false)\n private set\n\n var selectedBlockNameOne by mutableStateOf(null)\n private set\n\n var selectedBlockNameTwo by mutableStateOf(null)\n private set\n\n var blockNames = mutableStateListOf()\n private set\n\n var summaries = mutableStateListOf()\n private set\n\n var inputType by mutableStateOf(null)\n private set\n\n var unit by mutableStateOf(\"\")\n private set\n\n var bestAggSummary by mutableStateOf(null)\n private set\n\n var worstAggSummary by mutableStateOf(null)\n private set\n\n var form by mutableStateOf(\n formRepo.getFormData() ?: FormData(\n DefaultValues.form,\n isTestNameDetectionEnabled = false,\n isAutoGroupEnabled = false\n )\n )\n private set\n\n init {\n refreshBenchmarks()\n }\n\n\n private fun refreshBenchmarks() {\n savedBenchmarks = benchmarkRepo.getSavedBenchmarks()\n }\n\n // Normal fields\n private val fullBenchmarkResults = mutableListOf()\n\n\n var timeoutId: Int? = null\n fun debounce(func: () -> Unit, delay: Int) {\n timeoutId?.let { clearTimeout(it) }\n timeoutId = setTimeout({\n func()\n }, delay)\n }\n\n fun onFormChanged(newForm: FormData, shouldSelectUnsaved: Boolean = true) {\n form = newForm\n formRepo.saveFormData(newForm)\n\n debounce(\n func = {\n\n this.shouldSelectUnsaved = shouldSelectUnsaved\n try {\n // clearing old data\n fullBenchmarkResults.clear()\n testNames.clear()\n blockNames.clear()\n\n // refill\n val (inputType, benchmarkResults) = BenchmarkResult.parse(newForm) ?: run {\n println(\"failed to parse form\")\n reset()\n errorMsg = \"\"\n return@debounce\n }\n this.inputType = inputType\n fullBenchmarkResults.addAll(benchmarkResults)\n\n when (inputType) {\n InputType.GENERIC -> {\n val newCharts = fullBenchmarkResults.toGenericChart()\n chartsBundle = newCharts\n onChartsBundleUpdated(newCharts)\n unit = \"\"\n }\n\n InputType.NORMAL_BENCHMARK -> {\n\n testNames.addAll(fullBenchmarkResults.mapNotNull { it.testName }.toSet())\n\n val currentTestName = testNames.find { it == currentTestName } ?: testNames.firstOrNull()\n val filteredBenchmarkResult = if (currentTestName != null) {\n fullBenchmarkResults.filter { it.testName == currentTestName }\n } else {\n fullBenchmarkResults\n }\n val newCharts = filteredBenchmarkResult.toCharts()\n chartsBundle = newCharts\n onChartsBundleUpdated(newCharts)\n unit = \"ms\"\n }\n }\n\n\n calcAggSummary()\n errorMsg = \"\"\n } catch (e: Throwable) {\n e.printStackTrace()\n errorMsg = e.message ?: ERROR_GENERIC\n reset()\n }\n },\n 300\n )\n }\n\n private fun reset() {\n selectedBlockNameOne = null\n selectedBlockNameTwo = null\n blockNames.clear()\n chartsBundle = null\n summaries.clear()\n bestAggSummary = null\n worstAggSummary = null\n updateSummary()\n }\n\n private fun calcAggSummary() {\n val isGeneric = inputType == InputType.GENERIC\n val newAggSums = mutableListOf()\n for (blockNameOuter in blockNames) {\n for (blockNameInner in blockNames) {\n if(blockNameOuter==blockNameInner){\n continue\n }\n chartsBundle?.charts?.mapNotNull { chart ->\n SummaryUtils.getSummaryOrThrow(\n isGeneric = isGeneric,\n chart = chart,\n selectedBlockNameOne = blockNameOuter,\n selectedBlockNameTwo = blockNameInner\n )\n }?.let { summaries ->\n var greenSum = 0\n var redSum = 0\n for (summary in summaries) {\n for (node in summary.nodes) {\n when {\n node.diff > 0 -> {\n // bad\n redSum += node.diff.toInt()\n }\n node.diff < 0 -> {\n // green\n greenSum -= node.diff.toInt()\n }\n }\n }\n }\n newAggSums.add(AggSummary(blockNameOuter, blockNameInner, sumOfGreen = greenSum, sumOfRed = redSum))\n }\n }\n }\n\n bestAggSummary = newAggSums.maxByOrNull { it.sumOfGreen }\n worstAggSummary = newAggSums.maxByOrNull { it.sumOfRed }\n }\n\n private fun onChartsBundleUpdated(chartsBundle: ChartsBundle) {\n blockNames.clear()\n val blockNames = chartsBundle.groupMap.wordColorMap.keys.toList()\n this.blockNames.addAll(blockNames)\n if (blockNames.size >= 2) {\n selectedBlockNameOne = blockNames[0]\n selectedBlockNameTwo = blockNames[1]\n }else {\n selectedBlockNameOne = null\n selectedBlockNameTwo = null\n }\n updateSummary()\n }\n\n private fun updateSummary() {\n // Calculating duration summary\n summaries.clear()\n\n val isGeneric = inputType == InputType.GENERIC\n val allSummaries = chartsBundle?.charts?.mapNotNull { chart ->\n SummaryUtils.getSummaryOrThrow(\n isGeneric = isGeneric,\n chart = chart,\n selectedBlockNameOne = selectedBlockNameOne,\n selectedBlockNameTwo = selectedBlockNameTwo\n )\n }\n summaries.addAll(allSummaries ?: emptyList())\n }\n\n fun onTestNameChanged(newTestName: String) {\n try {\n currentTestName = newTestName\n val filteredBenchmarkResult = if (currentTestName != null) {\n fullBenchmarkResults.filter { it.testName == currentTestName }\n } else {\n fullBenchmarkResults\n }\n val newCharts = filteredBenchmarkResult.toCharts()\n chartsBundle = newCharts\n updateSummary()\n errorMsg = \"\"\n } catch (e: Throwable) {\n summaries.clear()\n e.printStackTrace()\n errorMsg = e.message ?: ERROR_GENERIC\n }\n }\n\n fun onTitleDoubleClicked() {\n isEditableTitleEnabled = true\n }\n\n fun onToggleAutoGroupClicked() {\n onFormChanged(form.copy(isAutoGroupEnabled = !form.isAutoGroupEnabled))\n }\n\n fun onToggleTestNameDetectionClicked() {\n onFormChanged(form.copy(isTestNameDetectionEnabled = !form.isTestNameDetectionEnabled))\n }\n\n fun onSaveClicked(formData: FormData) {\n val bName = window.prompt(\"Name: \")\n if (bName.isNullOrBlank()) {\n return\n }\n\n val isExist = savedBenchmarks.find { it.key == bName } != null\n if (isExist) {\n window.alert(\"Bruhh.. $bName exists! Try something else\")\n return\n }\n\n // Appending new benchmark\n val newList = savedBenchmarks.toMutableList().apply {\n add(\n index = 0,\n element = SavedBenchmarkNode(\n key = bName, value = formData.data\n )\n )\n }\n benchmarkRepo.saveBenchmarks(newList)\n shouldSelectUnsaved = false\n refreshBenchmarks()\n }\n\n fun onLoadBenchmarkClicked(savedBenchmarkNode: SavedBenchmarkNode) {\n val newForm = form.copy(data = savedBenchmarkNode.value)\n onFormChanged(newForm, shouldSelectUnsaved = false)\n }\n\n fun onDeleteBenchmarkClicked(deletedBenchmarkNode: SavedBenchmarkNode) {\n val isYes = window.confirm(\n \"Do you want to delete `${deletedBenchmarkNode.key}` ?\"\n )\n\n if (isYes) {\n benchmarkRepo.delete(deletedBenchmarkNode)\n shouldSelectUnsaved = true\n refreshBenchmarks()\n }\n }\n\n fun onSavedBenchmarkChanged(key: String) {\n shouldSelectUnsaved = key == KEY_UNSAVED_BENCHMARK\n if (shouldSelectUnsaved) {\n val newForm = formRepo.getFormData() ?: form\n onFormChanged(newForm, shouldSelectUnsaved = false)\n }\n }\n\n fun onBlockNameOneChanged(newBlockName: String) {\n selectedBlockNameOne = newBlockName\n updateSummary()\n }\n\n fun onBlockNameTwoChanged(newBlockName: String) {\n selectedBlockNameTwo = newBlockName\n updateSummary()\n }\n\n fun onBestClicked() {\n selectedBlockNameOne = bestAggSummary?.blockOneName\n selectedBlockNameTwo = bestAggSummary?.blockTwoName\n updateSummary()\n }\n\n fun onWorstClicked() {\n selectedBlockNameOne = worstAggSummary?.blockOneName\n selectedBlockNameTwo = worstAggSummary?.blockTwoName\n updateSummary()\n }\n}\n\ndata class AggSummary(\n val blockOneName: String,\n val blockTwoName: String,\n val sumOfGreen: Int,\n val sumOfRed: Int\n)\n","package repo\n\nimport components.SavedBenchmarkNode\nimport components.SavedBenchmarks\nimport kotlinx.browser.window\nimport kotlinx.serialization.decodeFromString\nimport kotlinx.serialization.encodeToString\nimport utils.JsonUtils\n\ninterface BenchmarkRepo {\n fun getSavedBenchmarks(): List\n fun saveBenchmarks(newList: List)\n fun delete(deletedBenchmarkNode: SavedBenchmarkNode)\n}\n\nclass BenchmarkRepoImpl : BenchmarkRepo {\n\n companion object {\n private const val KEY_SAVED_BENCHMARKS = \"savedBenchmarks\"\n }\n\n\n override fun getSavedBenchmarks(): List {\n val savedBenchmarksString = window.localStorage.getItem(KEY_SAVED_BENCHMARKS)\n val savedBenchmark = if (savedBenchmarksString == null) {\n // Creating first saved benchmark\n SavedBenchmarks(items = listOf())\n } else {\n println(\"JSON is '$savedBenchmarksString'\")\n try {\n JsonUtils.json.decodeFromString(savedBenchmarksString)\n }catch (e: Exception){\n e.printStackTrace()\n saveBenchmarks(listOf()) // reset\n SavedBenchmarks(items = listOf())\n }\n }\n\n return savedBenchmark.items.toList()\n }\n\n override fun saveBenchmarks(newList: List) {\n val savedBenchmarks = JsonUtils.json.encodeToString(SavedBenchmarks(newList))\n window.localStorage.setItem(KEY_SAVED_BENCHMARKS, savedBenchmarks)\n }\n\n override fun delete(deletedBenchmarkNode: SavedBenchmarkNode) {\n // Appending new benchmark\n val newList = getSavedBenchmarks().toMutableList().apply {\n removeAll { it.key == deletedBenchmarkNode.key }\n }\n saveBenchmarks(newList)\n }\n\n}","package repo\n\nimport kotlinx.browser.window\nimport model.FormData\n\ninterface FormRepo {\n fun saveFormData(newForm: FormData)\n fun getFormData(): FormData?\n}\n\nclass FormRepoImpl : FormRepo {\n companion object {\n private const val KEY_AUTO_FORM_INPUT = \"auto_form_input\"\n private const val KEY_IS_TEST_NAME_DETECTION_ENABLED = \"is_test_name_detection_enabled\"\n private const val KEY_IS_AUTO_GROUP_ENABLED = \"is_auto_group_enabled\"\n }\n\n override fun saveFormData(newForm: FormData) {\n window.localStorage.apply {\n setItem(KEY_AUTO_FORM_INPUT, newForm.data)\n setItem(KEY_IS_TEST_NAME_DETECTION_ENABLED, newForm.isTestNameDetectionEnabled.toString())\n setItem(KEY_IS_AUTO_GROUP_ENABLED, newForm.isAutoGroupEnabled.toString())\n }\n }\n\n override fun getFormData(): FormData? {\n val localStorage = window.localStorage\n val data = localStorage.getItem(KEY_AUTO_FORM_INPUT) ?: return null\n val isTestNameDetectionEnabled = localStorage.getItem(KEY_IS_TEST_NAME_DETECTION_ENABLED).toBoolean()\n val isAutoGroupEnabled = localStorage.getItem(KEY_IS_AUTO_GROUP_ENABLED).toBoolean()\n return FormData(data, isTestNameDetectionEnabled, isAutoGroupEnabled)\n }\n\n}","package utils\n\nobject DefaultValues {\n val form = \"\"\"\n - Before 1\n # first line will be treated as title of the block\n special chars will be stripped from the title\n HomeScrollBenchmark_scrollTest\n frameDurationCpuMs P50 40.5, P90 45.8, P95 60.4, P99 80.4\n frameOverrunMs P50 -5.9, P90 7.0, P95 20.1, P99 64.4\n Traces: Iteration 0 1 2 3 4\n\n ## Before 2\n # line breaks are used to separate the block\n HomeScrollBenchmark_scrollTest\n frameDurationCpuMs P50 45.5, P90 43.8, P95 58.4, P99 78.4\n frameOverrunMs P50 -6.5, P90 5.4, P95 15.0, P99 60.3\n Traces: Iteration 0 1 2 3 4\n\n After 1\n you can include whatever text you want anywhere you want\n HomeScrollBenchmark_scrollTest\n frameDurationCpuMs P50 13.6, P90 21.8, P95 27.5, P99 49.4\n the order doesn't matter\n frameOverrunMs P50 -6.2, P90 7.3, P95 19.5, P99 61.7\n Traces: Iteration 0 1 2 3 4\n\n > After 2\n HomeScrollBenchmark_scrollTest\n frameDurationCpuMs P50 13.8, P90 21.9, P95 27.3, P99 53.4\n see.. am some random text\n frameOverrunMs P50 -5.7, P90 7.4, P95 22.4, P99 63.2\n Traces: Iteration 0 1 2 3 4\n\"\"\".trimIndent()\n}","package utils\n\nimport kotlinx.serialization.json.Json\n\nobject JsonUtils {\n val json = Json {\n ignoreUnknownKeys = true\n }\n}",null,null,null,"package utils\n\nimport components.Summary\nimport components.SummaryNode\nimport core.SupportedMetrics\nimport model.Chart\nimport kotlin.math.absoluteValue\n\nobject SummaryUtils {\n\n fun getSummaryOrThrow(\n isGeneric: Boolean,\n chart: Chart,\n selectedBlockNameOne: String?,\n selectedBlockNameTwo: String?,\n ): Summary? {\n if (selectedBlockNameOne == null || selectedBlockNameTwo == null) {\n println(\"blank block name detected. skipping summary\")\n return null\n }\n\n val combinedMap = mutableMapOf>()\n val words = listOf(selectedBlockNameOne, selectedBlockNameTwo)\n println(\"words : $words\")\n for (word in words) {\n\n combinedMap[word] =\n chart.dataSets.filterKeys { it.startsWith(word) }.values.map { it.values.toFloatArray() }\n .let { arrays ->\n // Sum\n val newArray = mutableListOf().apply {\n repeat(chart.dataSets.values.first().size) {\n add(0f)\n }\n }\n for (array in arrays) {\n for (i in newArray.indices) {\n newArray[i] = newArray[i] + array[i]\n }\n }\n // Average\n for (i in newArray.indices) {\n newArray[i] = newArray[i] / arrays.size\n }\n newArray\n }\n }\n println(\"combinedMap : ${combinedMap.map { it.value.toList() }}\")\n\n val summaryNodes = mutableListOf()\n val segments = chart.dataSets.values.first().keys.toList()\n println(\"segments: $segments\")\n repeat(segments.size) { index ->\n val segment = segments[index]\n val after = combinedMap[words[1]]?.get(index) ?: 0f\n val before = combinedMap[words[0]]?.get(index) ?: 0f\n println(\"before : '$before' -> after: '$after'\")\n val diff = \"${(after - before).asDynamic().toFixed(2)}\".toFloat()\n val percDiff =\n \"${(((before - after) / before) * 100).asDynamic().toFixed(2)}\".toFloat().absoluteValue\n\n val resultWord = if (diff > 0) \"worse\" else \"better\"\n val symbol = if (diff > 0) \"+\" else \"\"\n val emoji = if (diff > 0) \"❌\" else \"✅\"\n\n summaryNodes.add(\n SummaryNode(\n isGeneric = isGeneric,\n emoji = emoji,\n segment = segment,\n label = words[1],\n percentage = percDiff,\n stateWord = resultWord,\n diff = diff,\n diffSymbol = symbol,\n after = \"${after.asDynamic().toFixed(2)}\".toFloat(),\n before = \"${before.asDynamic().toFixed(2)}\".toFloat()\n )\n )\n }\n val title = if (isGeneric) {\n \"📊$selectedBlockNameOne vs $selectedBlockNameTwo\"\n } else {\n val metricConfig = SupportedMetrics.values().find { it.key == chart.label }\n ?: error(\"Unsupported metric name `${chart.label}`\")\n \"${metricConfig.emoji} ${metricConfig.title}\"\n }\n\n return Summary(title = title, summaryNodes)\n }\n}",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nfunction noop() {}\nconst uid = (function() {\n let id = 0;\n return function() {\n return id++;\n };\n}());\nfunction isNullOrUndef(value) {\n return value === null || typeof value === 'undefined';\n}\nfunction isArray(value) {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n const type = Object.prototype.toString.call(value);\n if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') {\n return true;\n }\n return false;\n}\nfunction isObject(value) {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\nconst isNumberFinite = (value) => (typeof value === 'number' || value instanceof Number) && isFinite(+value);\nfunction finiteOrDefault(value, defaultValue) {\n return isNumberFinite(value) ? value : defaultValue;\n}\nfunction valueOrDefault(value, defaultValue) {\n return typeof value === 'undefined' ? defaultValue : value;\n}\nconst toPercentage = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100\n : value / dimension;\nconst toDimension = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100 * dimension\n : +value;\nfunction callback(fn, args, thisArg) {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n}\nfunction each(loopable, fn, thisArg, reverse) {\n let i, len, keys;\n if (isArray(loopable)) {\n len = loopable.length;\n if (reverse) {\n for (i = len - 1; i >= 0; i--) {\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n}\nfunction _elementsEqual(a0, a1) {\n let i, ilen, v0, v1;\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n for (i = 0, ilen = a0.length; i < ilen; ++i) {\n v0 = a0[i];\n v1 = a1[i];\n if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n return false;\n }\n }\n return true;\n}\nfunction clone$1(source) {\n if (isArray(source)) {\n return source.map(clone$1);\n }\n if (isObject(source)) {\n const target = Object.create(null);\n const keys = Object.keys(source);\n const klen = keys.length;\n let k = 0;\n for (; k < klen; ++k) {\n target[keys[k]] = clone$1(source[keys[k]]);\n }\n return target;\n }\n return source;\n}\nfunction isValidKey(key) {\n return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\n}\nfunction _merger(key, target, source, options) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n merge(tval, sval, options);\n } else {\n target[key] = clone$1(sval);\n }\n}\nfunction merge(target, source, options) {\n const sources = isArray(source) ? source : [source];\n const ilen = sources.length;\n if (!isObject(target)) {\n return target;\n }\n options = options || {};\n const merger = options.merger || _merger;\n for (let i = 0; i < ilen; ++i) {\n source = sources[i];\n if (!isObject(source)) {\n continue;\n }\n const keys = Object.keys(source);\n for (let k = 0, klen = keys.length; k < klen; ++k) {\n merger(keys[k], target, source, options);\n }\n }\n return target;\n}\nfunction mergeIf(target, source) {\n return merge(target, source, {merger: _mergerIf});\n}\nfunction _mergerIf(key, target, source) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n mergeIf(tval, sval);\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = clone$1(sval);\n }\n}\nfunction _deprecated(scope, value, previous, current) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous +\n\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\n }\n}\nconst keyResolvers = {\n '': v => v,\n x: o => o.x,\n y: o => o.y\n};\nfunction resolveObjectKey(obj, key) {\n const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key));\n return resolver(obj);\n}\nfunction _getKeyResolver(key) {\n const keys = _splitKey(key);\n return obj => {\n for (const k of keys) {\n if (k === '') {\n break;\n }\n obj = obj && obj[k];\n }\n return obj;\n };\n}\nfunction _splitKey(key) {\n const parts = key.split('.');\n const keys = [];\n let tmp = '';\n for (const part of parts) {\n tmp += part;\n if (tmp.endsWith('\\\\')) {\n tmp = tmp.slice(0, -1) + '.';\n } else {\n keys.push(tmp);\n tmp = '';\n }\n }\n return keys;\n}\nfunction _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nconst defined = (value) => typeof value !== 'undefined';\nconst isFunction = (value) => typeof value === 'function';\nconst setsEqual = (a, b) => {\n if (a.size !== b.size) {\n return false;\n }\n for (const item of a) {\n if (!b.has(item)) {\n return false;\n }\n }\n return true;\n};\nfunction _isClickEvent(e) {\n return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n\nconst PI = Math.PI;\nconst TAU = 2 * PI;\nconst PITAU = TAU + PI;\nconst INFINITY = Number.POSITIVE_INFINITY;\nconst RAD_PER_DEG = PI / 180;\nconst HALF_PI = PI / 2;\nconst QUARTER_PI = PI / 4;\nconst TWO_THIRDS_PI = PI * 2 / 3;\nconst log10 = Math.log10;\nconst sign = Math.sign;\nfunction niceNum(range) {\n const roundedRange = Math.round(range);\n range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n const niceRange = Math.pow(10, Math.floor(log10(range)));\n const fraction = range / niceRange;\n const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n return niceFraction * niceRange;\n}\nfunction _factorize(value) {\n const result = [];\n const sqrt = Math.sqrt(value);\n let i;\n for (i = 1; i < sqrt; i++) {\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n if (sqrt === (sqrt | 0)) {\n result.push(sqrt);\n }\n result.sort((a, b) => a - b).pop();\n return result;\n}\nfunction isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\nfunction almostEquals(x, y, epsilon) {\n return Math.abs(x - y) < epsilon;\n}\nfunction almostWhole(x, epsilon) {\n const rounded = Math.round(x);\n return ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x);\n}\nfunction _setMinAndMaxByKey(array, target, property) {\n let i, ilen, value;\n for (i = 0, ilen = array.length; i < ilen; i++) {\n value = array[i][property];\n if (!isNaN(value)) {\n target.min = Math.min(target.min, value);\n target.max = Math.max(target.max, value);\n }\n }\n}\nfunction toRadians(degrees) {\n return degrees * (PI / 180);\n}\nfunction toDegrees(radians) {\n return radians * (180 / PI);\n}\nfunction _decimalPlaces(x) {\n if (!isNumberFinite(x)) {\n return;\n }\n let e = 1;\n let p = 0;\n while (Math.round(x * e) / e !== x) {\n e *= 10;\n p++;\n }\n return p;\n}\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n const distanceFromXCenter = anglePoint.x - centrePoint.x;\n const distanceFromYCenter = anglePoint.y - centrePoint.y;\n const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n if (angle < (-0.5 * PI)) {\n angle += TAU;\n }\n return {\n angle,\n distance: radialDistanceFromCenter\n };\n}\nfunction distanceBetweenPoints(pt1, pt2) {\n return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\nfunction _angleDiff(a, b) {\n return (a - b + PITAU) % TAU - PI;\n}\nfunction _normalizeAngle(a) {\n return (a % TAU + TAU) % TAU;\n}\nfunction _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n const a = _normalizeAngle(angle);\n const s = _normalizeAngle(start);\n const e = _normalizeAngle(end);\n const angleToStart = _normalizeAngle(s - a);\n const angleToEnd = _normalizeAngle(e - a);\n const startToAngle = _normalizeAngle(a - s);\n const endToAngle = _normalizeAngle(a - e);\n return a === s || a === e || (sameAngleIsFullCircle && s === e)\n || (angleToStart > angleToEnd && startToAngle < endToAngle);\n}\nfunction _limitValue(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\nfunction _int16Range(value) {\n return _limitValue(value, -32768, 32767);\n}\nfunction _isBetween(value, start, end, epsilon = 1e-6) {\n return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n\nfunction _lookup(table, value, cmp) {\n cmp = cmp || ((index) => table[index] < value);\n let hi = table.length - 1;\n let lo = 0;\n let mid;\n while (hi - lo > 1) {\n mid = (lo + hi) >> 1;\n if (cmp(mid)) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return {lo, hi};\n}\nconst _lookupByKey = (table, key, value, last) =>\n _lookup(table, value, last\n ? index => table[index][key] <= value\n : index => table[index][key] < value);\nconst _rlookupByKey = (table, key, value) =>\n _lookup(table, value, index => table[index][key] >= value);\nfunction _filterBetween(values, min, max) {\n let start = 0;\n let end = values.length;\n while (start < end && values[start] < min) {\n start++;\n }\n while (end > start && values[end - 1] > max) {\n end--;\n }\n return start > 0 || end < values.length\n ? values.slice(start, end)\n : values;\n}\nconst arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\nfunction listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n return;\n }\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [listener]\n }\n });\n arrayEvents.forEach((key) => {\n const method = '_onData' + _capitalize(key);\n const base = array[key];\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value(...args) {\n const res = base.apply(this, args);\n array._chartjs.listeners.forEach((object) => {\n if (typeof object[method] === 'function') {\n object[method](...args);\n }\n });\n return res;\n }\n });\n });\n}\nfunction unlistenArrayEvents(array, listener) {\n const stub = array._chartjs;\n if (!stub) {\n return;\n }\n const listeners = stub.listeners;\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n if (listeners.length > 0) {\n return;\n }\n arrayEvents.forEach((key) => {\n delete array[key];\n });\n delete array._chartjs;\n}\nfunction _arrayUnique(items) {\n const set = new Set();\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n set.add(items[i]);\n }\n if (set.size === ilen) {\n return items;\n }\n return Array.from(set);\n}\n\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\nconst requestAnimFrame = (function() {\n if (typeof window === 'undefined') {\n return function(callback) {\n return callback();\n };\n }\n return window.requestAnimationFrame;\n}());\nfunction throttled(fn, thisArg, updateFn) {\n const updateArgs = updateFn || ((args) => Array.prototype.slice.call(args));\n let ticking = false;\n let args = [];\n return function(...rest) {\n args = updateArgs(rest);\n if (!ticking) {\n ticking = true;\n requestAnimFrame.call(window, () => {\n ticking = false;\n fn.apply(thisArg, args);\n });\n }\n };\n}\nfunction debounce(fn, delay) {\n let timeout;\n return function(...args) {\n if (delay) {\n clearTimeout(timeout);\n timeout = setTimeout(fn, delay, args);\n } else {\n fn.apply(this, args);\n }\n return delay;\n };\n}\nconst _toLeftRightCenter = (align) => align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\nconst _alignStartEnd = (align, start, end) => align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\nconst _textX = (align, left, right, rtl) => {\n const check = rtl ? 'left' : 'right';\n return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\nfunction _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n const pointCount = points.length;\n let start = 0;\n let count = pointCount;\n if (meta._sorted) {\n const {iScale, _parsed} = meta;\n const axis = iScale.axis;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(Math.min(\n _lookupByKey(_parsed, iScale.axis, min).lo,\n animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo),\n 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(Math.max(\n _lookupByKey(_parsed, iScale.axis, max, true).hi + 1,\n animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1),\n start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n }\n return {start, count};\n}\nfunction _scaleRangesChanged(meta) {\n const {xScale, yScale, _scaleRanges} = meta;\n const newRanges = {\n xmin: xScale.min,\n xmax: xScale.max,\n ymin: yScale.min,\n ymax: yScale.max\n };\n if (!_scaleRanges) {\n meta._scaleRanges = newRanges;\n return true;\n }\n const changed = _scaleRanges.xmin !== xScale.min\n\t\t|| _scaleRanges.xmax !== xScale.max\n\t\t|| _scaleRanges.ymin !== yScale.min\n\t\t|| _scaleRanges.ymax !== yScale.max;\n Object.assign(_scaleRanges, newRanges);\n return changed;\n}\n\nconst atEdge = (t) => t === 0 || t === 1;\nconst elasticIn = (t, s, p) => -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t, s, p) => Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\nconst effects = {\n linear: t => t,\n easeInQuad: t => t * t,\n easeOutQuad: t => -t * (t - 2),\n easeInOutQuad: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t\n : -0.5 * ((--t) * (t - 2) - 1),\n easeInCubic: t => t * t * t,\n easeOutCubic: t => (t -= 1) * t * t + 1,\n easeInOutCubic: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t\n : 0.5 * ((t -= 2) * t * t + 2),\n easeInQuart: t => t * t * t * t,\n easeOutQuart: t => -((t -= 1) * t * t * t - 1),\n easeInOutQuart: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t\n : -0.5 * ((t -= 2) * t * t * t - 2),\n easeInQuint: t => t * t * t * t * t,\n easeOutQuint: t => (t -= 1) * t * t * t * t + 1,\n easeInOutQuint: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t * t\n : 0.5 * ((t -= 2) * t * t * t * t + 2),\n easeInSine: t => -Math.cos(t * HALF_PI) + 1,\n easeOutSine: t => Math.sin(t * HALF_PI),\n easeInOutSine: t => -0.5 * (Math.cos(PI * t) - 1),\n easeInExpo: t => (t === 0) ? 0 : Math.pow(2, 10 * (t - 1)),\n easeOutExpo: t => (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1,\n easeInOutExpo: t => atEdge(t) ? t : t < 0.5\n ? 0.5 * Math.pow(2, 10 * (t * 2 - 1))\n : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n easeInCirc: t => (t >= 1) ? t : -(Math.sqrt(1 - t * t) - 1),\n easeOutCirc: t => Math.sqrt(1 - (t -= 1) * t),\n easeInOutCirc: t => ((t /= 0.5) < 1)\n ? -0.5 * (Math.sqrt(1 - t * t) - 1)\n : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n easeInElastic: t => atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n easeOutElastic: t => atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n easeInOutElastic(t) {\n const s = 0.1125;\n const p = 0.45;\n return atEdge(t) ? t :\n t < 0.5\n ? 0.5 * elasticIn(t * 2, s, p)\n : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n },\n easeInBack(t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n easeOutBack(t) {\n const s = 1.70158;\n return (t -= 1) * t * ((s + 1) * t + s) + 1;\n },\n easeInOutBack(t) {\n let s = 1.70158;\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\n }\n return 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n },\n easeInBounce: t => 1 - effects.easeOutBounce(1 - t),\n easeOutBounce(t) {\n const m = 7.5625;\n const d = 2.75;\n if (t < (1 / d)) {\n return m * t * t;\n }\n if (t < (2 / d)) {\n return m * (t -= (1.5 / d)) * t + 0.75;\n }\n if (t < (2.5 / d)) {\n return m * (t -= (2.25 / d)) * t + 0.9375;\n }\n return m * (t -= (2.625 / d)) * t + 0.984375;\n },\n easeInOutBounce: t => (t < 0.5)\n ? effects.easeInBounce(t * 2) * 0.5\n : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5,\n};\n\n/*!\n * @kurkle/color v0.2.1\n * https://github.com/kurkle/color#readme\n * (c) 2022 Jukka Kurkela\n * Released under the MIT License\n */\nfunction round(v) {\n return v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n return lim(round(v * 2.55), 0, 255);\n}\nfunction n2b(v) {\n return lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n return lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n return lim(round(v * 100), 0, 100);\n}\nconst map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = [...'0123456789ABCDEF'];\nconst h1 = b => hex[b & 0xF];\nconst h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = b => ((b & 0xF0) >> 4) === (b & 0xF);\nconst isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\nfunction hexParse(str) {\n var len = str.length;\n var ret;\n if (str[0] === '#') {\n if (len === 4 || len === 5) {\n ret = {\n r: 255 & map$1[str[1]] * 17,\n g: 255 & map$1[str[2]] * 17,\n b: 255 & map$1[str[3]] * 17,\n a: len === 5 ? map$1[str[4]] * 17 : 255\n };\n } else if (len === 7 || len === 9) {\n ret = {\n r: map$1[str[1]] << 4 | map$1[str[2]],\n g: map$1[str[3]] << 4 | map$1[str[4]],\n b: map$1[str[5]] << 4 | map$1[str[6]],\n a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255\n };\n }\n }\n return ret;\n}\nconst alpha = (a, f) => a < 255 ? f(a) : '';\nfunction hexString(v) {\n var f = isShort(v) ? h1 : h2;\n return v\n ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f)\n : undefined;\n}\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n return [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n const rgb = hsl2rgbn(h, 1, 0.5);\n let i;\n if (w + b > 1) {\n i = 1 / (w + b);\n w *= i;\n b *= i;\n }\n for (i = 0; i < 3; i++) {\n rgb[i] *= 1 - w - b;\n rgb[i] += w;\n }\n return rgb;\n}\nfunction hueValue(r, g, b, d, max) {\n if (r === max) {\n return ((g - b) / d) + (g < b ? 6 : 0);\n }\n if (g === max) {\n return (b - r) / d + 2;\n }\n return (r - g) / d + 4;\n}\nfunction rgb2hsl(v) {\n const range = 255;\n const r = v.r / range;\n const g = v.g / range;\n const b = v.b / range;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n let h, s, d;\n if (max !== min) {\n d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n h = hueValue(r, g, b, d, max);\n h = h * 60 + 0.5;\n }\n return [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n return (\n Array.isArray(a)\n ? f(a[0], a[1], a[2])\n : f(a, b, c)\n ).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n return calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n return calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n return calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n return (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n const m = HUE_RE.exec(str);\n let a = 255;\n let v;\n if (!m) {\n return;\n }\n if (m[5] !== v) {\n a = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n }\n const h = hue(+m[2]);\n const p1 = +m[3] / 100;\n const p2 = +m[4] / 100;\n if (m[1] === 'hwb') {\n v = hwb2rgb(h, p1, p2);\n } else if (m[1] === 'hsv') {\n v = hsv2rgb(h, p1, p2);\n } else {\n v = hsl2rgb(h, p1, p2);\n }\n return {\n r: v[0],\n g: v[1],\n b: v[2],\n a: a\n };\n}\nfunction rotate(v, deg) {\n var h = rgb2hsl(v);\n h[0] = hue(h[0] + deg);\n h = hsl2rgb(h);\n v.r = h[0];\n v.g = h[1];\n v.b = h[2];\n}\nfunction hslString(v) {\n if (!v) {\n return;\n }\n const a = rgb2hsl(v);\n const h = a[0];\n const s = n2p(a[1]);\n const l = n2p(a[2]);\n return v.a < 255\n ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n : `hsl(${h}, ${s}%, ${l}%)`;\n}\nconst map = {\n x: 'dark',\n Z: 'light',\n Y: 're',\n X: 'blu',\n W: 'gr',\n V: 'medium',\n U: 'slate',\n A: 'ee',\n T: 'ol',\n S: 'or',\n B: 'ra',\n C: 'lateg',\n D: 'ights',\n R: 'in',\n Q: 'turquois',\n E: 'hi',\n P: 'ro',\n O: 'al',\n N: 'le',\n M: 'de',\n L: 'yello',\n F: 'en',\n K: 'ch',\n G: 'arks',\n H: 'ea',\n I: 'ightg',\n J: 'wh'\n};\nconst names$1 = {\n OiceXe: 'f0f8ff',\n antiquewEte: 'faebd7',\n aqua: 'ffff',\n aquamarRe: '7fffd4',\n azuY: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '0',\n blanKedOmond: 'ffebcd',\n Xe: 'ff',\n XeviTet: '8a2be2',\n bPwn: 'a52a2a',\n burlywood: 'deb887',\n caMtXe: '5f9ea0',\n KartYuse: '7fff00',\n KocTate: 'd2691e',\n cSO: 'ff7f50',\n cSnflowerXe: '6495ed',\n cSnsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: 'ffff',\n xXe: '8b',\n xcyan: '8b8b',\n xgTMnPd: 'b8860b',\n xWay: 'a9a9a9',\n xgYF: '6400',\n xgYy: 'a9a9a9',\n xkhaki: 'bdb76b',\n xmagFta: '8b008b',\n xTivegYF: '556b2f',\n xSange: 'ff8c00',\n xScEd: '9932cc',\n xYd: '8b0000',\n xsOmon: 'e9967a',\n xsHgYF: '8fbc8f',\n xUXe: '483d8b',\n xUWay: '2f4f4f',\n xUgYy: '2f4f4f',\n xQe: 'ced1',\n xviTet: '9400d3',\n dAppRk: 'ff1493',\n dApskyXe: 'bfff',\n dimWay: '696969',\n dimgYy: '696969',\n dodgerXe: '1e90ff',\n fiYbrick: 'b22222',\n flSOwEte: 'fffaf0',\n foYstWAn: '228b22',\n fuKsia: 'ff00ff',\n gaRsbSo: 'dcdcdc',\n ghostwEte: 'f8f8ff',\n gTd: 'ffd700',\n gTMnPd: 'daa520',\n Way: '808080',\n gYF: '8000',\n gYFLw: 'adff2f',\n gYy: '808080',\n honeyMw: 'f0fff0',\n hotpRk: 'ff69b4',\n RdianYd: 'cd5c5c',\n Rdigo: '4b0082',\n ivSy: 'fffff0',\n khaki: 'f0e68c',\n lavFMr: 'e6e6fa',\n lavFMrXsh: 'fff0f5',\n lawngYF: '7cfc00',\n NmoncEffon: 'fffacd',\n ZXe: 'add8e6',\n ZcSO: 'f08080',\n Zcyan: 'e0ffff',\n ZgTMnPdLw: 'fafad2',\n ZWay: 'd3d3d3',\n ZgYF: '90ee90',\n ZgYy: 'd3d3d3',\n ZpRk: 'ffb6c1',\n ZsOmon: 'ffa07a',\n ZsHgYF: '20b2aa',\n ZskyXe: '87cefa',\n ZUWay: '778899',\n ZUgYy: '778899',\n ZstAlXe: 'b0c4de',\n ZLw: 'ffffe0',\n lime: 'ff00',\n limegYF: '32cd32',\n lRF: 'faf0e6',\n magFta: 'ff00ff',\n maPon: '800000',\n VaquamarRe: '66cdaa',\n VXe: 'cd',\n VScEd: 'ba55d3',\n VpurpN: '9370db',\n VsHgYF: '3cb371',\n VUXe: '7b68ee',\n VsprRggYF: 'fa9a',\n VQe: '48d1cc',\n VviTetYd: 'c71585',\n midnightXe: '191970',\n mRtcYam: 'f5fffa',\n mistyPse: 'ffe4e1',\n moccasR: 'ffe4b5',\n navajowEte: 'ffdead',\n navy: '80',\n Tdlace: 'fdf5e6',\n Tive: '808000',\n TivedBb: '6b8e23',\n Sange: 'ffa500',\n SangeYd: 'ff4500',\n ScEd: 'da70d6',\n pOegTMnPd: 'eee8aa',\n pOegYF: '98fb98',\n pOeQe: 'afeeee',\n pOeviTetYd: 'db7093',\n papayawEp: 'ffefd5',\n pHKpuff: 'ffdab9',\n peru: 'cd853f',\n pRk: 'ffc0cb',\n plum: 'dda0dd',\n powMrXe: 'b0e0e6',\n purpN: '800080',\n YbeccapurpN: '663399',\n Yd: 'ff0000',\n Psybrown: 'bc8f8f',\n PyOXe: '4169e1',\n saddNbPwn: '8b4513',\n sOmon: 'fa8072',\n sandybPwn: 'f4a460',\n sHgYF: '2e8b57',\n sHshell: 'fff5ee',\n siFna: 'a0522d',\n silver: 'c0c0c0',\n skyXe: '87ceeb',\n UXe: '6a5acd',\n UWay: '708090',\n UgYy: '708090',\n snow: 'fffafa',\n sprRggYF: 'ff7f',\n stAlXe: '4682b4',\n tan: 'd2b48c',\n teO: '8080',\n tEstN: 'd8bfd8',\n tomato: 'ff6347',\n Qe: '40e0d0',\n viTet: 'ee82ee',\n JHt: 'f5deb3',\n wEte: 'ffffff',\n wEtesmoke: 'f5f5f5',\n Lw: 'ffff00',\n LwgYF: '9acd32'\n};\nfunction unpack() {\n const unpacked = {};\n const keys = Object.keys(names$1);\n const tkeys = Object.keys(map);\n let i, j, k, ok, nk;\n for (i = 0; i < keys.length; i++) {\n ok = nk = keys[i];\n for (j = 0; j < tkeys.length; j++) {\n k = tkeys[j];\n nk = nk.replace(k, map[k]);\n }\n k = parseInt(names$1[ok], 16);\n unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n }\n return unpacked;\n}\nlet names;\nfunction nameParse(str) {\n if (!names) {\n names = unpack();\n names.transparent = [0, 0, 0, 0];\n }\n const a = names[str.toLowerCase()];\n return a && {\n r: a[0],\n g: a[1],\n b: a[2],\n a: a.length === 4 ? a[3] : 255\n };\n}\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n const m = RGB_RE.exec(str);\n let a = 255;\n let r, g, b;\n if (!m) {\n return;\n }\n if (m[7] !== r) {\n const v = +m[7];\n a = m[8] ? p2b(v) : lim(v * 255, 0, 255);\n }\n r = +m[1];\n g = +m[3];\n b = +m[5];\n r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255));\n g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255));\n b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255));\n return {\n r: r,\n g: g,\n b: b,\n a: a\n };\n}\nfunction rgbString(v) {\n return v && (\n v.a < 255\n ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n : `rgb(${v.r}, ${v.g}, ${v.b})`\n );\n}\nconst to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055;\nconst from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\nfunction interpolate(rgb1, rgb2, t) {\n const r = from(b2n(rgb1.r));\n const g = from(b2n(rgb1.g));\n const b = from(b2n(rgb1.b));\n return {\n r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n a: rgb1.a + t * (rgb2.a - rgb1.a)\n };\n}\nfunction modHSL(v, i, ratio) {\n if (v) {\n let tmp = rgb2hsl(v);\n tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n tmp = hsl2rgb(tmp);\n v.r = tmp[0];\n v.g = tmp[1];\n v.b = tmp[2];\n }\n}\nfunction clone(v, proto) {\n return v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n var v = {r: 0, g: 0, b: 0, a: 255};\n if (Array.isArray(input)) {\n if (input.length >= 3) {\n v = {r: input[0], g: input[1], b: input[2], a: 255};\n if (input.length > 3) {\n v.a = n2b(input[3]);\n }\n }\n } else {\n v = clone(input, {r: 0, g: 0, b: 0, a: 1});\n v.a = n2b(v.a);\n }\n return v;\n}\nfunction functionParse(str) {\n if (str.charAt(0) === 'r') {\n return rgbParse(str);\n }\n return hueParse(str);\n}\nclass Color {\n constructor(input) {\n if (input instanceof Color) {\n return input;\n }\n const type = typeof input;\n let v;\n if (type === 'object') {\n v = fromObject(input);\n } else if (type === 'string') {\n v = hexParse(input) || nameParse(input) || functionParse(input);\n }\n this._rgb = v;\n this._valid = !!v;\n }\n get valid() {\n return this._valid;\n }\n get rgb() {\n var v = clone(this._rgb);\n if (v) {\n v.a = b2n(v.a);\n }\n return v;\n }\n set rgb(obj) {\n this._rgb = fromObject(obj);\n }\n rgbString() {\n return this._valid ? rgbString(this._rgb) : undefined;\n }\n hexString() {\n return this._valid ? hexString(this._rgb) : undefined;\n }\n hslString() {\n return this._valid ? hslString(this._rgb) : undefined;\n }\n mix(color, weight) {\n if (color) {\n const c1 = this.rgb;\n const c2 = color.rgb;\n let w2;\n const p = weight === w2 ? 0.5 : weight;\n const w = 2 * p - 1;\n const a = c1.a - c2.a;\n const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n w2 = 1 - w1;\n c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n c1.a = p * c1.a + (1 - p) * c2.a;\n this.rgb = c1;\n }\n return this;\n }\n interpolate(color, t) {\n if (color) {\n this._rgb = interpolate(this._rgb, color._rgb, t);\n }\n return this;\n }\n clone() {\n return new Color(this.rgb);\n }\n alpha(a) {\n this._rgb.a = n2b(a);\n return this;\n }\n clearer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 - ratio;\n return this;\n }\n greyscale() {\n const rgb = this._rgb;\n const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n rgb.r = rgb.g = rgb.b = val;\n return this;\n }\n opaquer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 + ratio;\n return this;\n }\n negate() {\n const v = this._rgb;\n v.r = 255 - v.r;\n v.g = 255 - v.g;\n v.b = 255 - v.b;\n return this;\n }\n lighten(ratio) {\n modHSL(this._rgb, 2, ratio);\n return this;\n }\n darken(ratio) {\n modHSL(this._rgb, 2, -ratio);\n return this;\n }\n saturate(ratio) {\n modHSL(this._rgb, 1, ratio);\n return this;\n }\n desaturate(ratio) {\n modHSL(this._rgb, 1, -ratio);\n return this;\n }\n rotate(deg) {\n rotate(this._rgb, deg);\n return this;\n }\n}\nfunction index_esm(input) {\n return new Color(input);\n}\n\nfunction isPatternOrGradient(value) {\n if (value && typeof value === 'object') {\n const type = value.toString();\n return type === '[object CanvasPattern]' || type === '[object CanvasGradient]';\n }\n return false;\n}\nfunction color(value) {\n return isPatternOrGradient(value) ? value : index_esm(value);\n}\nfunction getHoverColor(value) {\n return isPatternOrGradient(value)\n ? value\n : index_esm(value).saturate(0.5).darken(0.1).hexString();\n}\n\nconst overrides = Object.create(null);\nconst descriptors = Object.create(null);\nfunction getScope$1(node, key) {\n if (!key) {\n return node;\n }\n const keys = key.split('.');\n for (let i = 0, n = keys.length; i < n; ++i) {\n const k = keys[i];\n node = node[k] || (node[k] = Object.create(null));\n }\n return node;\n}\nfunction set(root, scope, values) {\n if (typeof scope === 'string') {\n return merge(getScope$1(root, scope), values);\n }\n return merge(getScope$1(root, ''), scope);\n}\nclass Defaults {\n constructor(_descriptors) {\n this.animation = undefined;\n this.backgroundColor = 'rgba(0,0,0,0.1)';\n this.borderColor = 'rgba(0,0,0,0.1)';\n this.color = '#666';\n this.datasets = {};\n this.devicePixelRatio = (context) => context.chart.platform.getDevicePixelRatio();\n this.elements = {};\n this.events = [\n 'mousemove',\n 'mouseout',\n 'click',\n 'touchstart',\n 'touchmove'\n ];\n this.font = {\n family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n size: 12,\n style: 'normal',\n lineHeight: 1.2,\n weight: null\n };\n this.hover = {};\n this.hoverBackgroundColor = (ctx, options) => getHoverColor(options.backgroundColor);\n this.hoverBorderColor = (ctx, options) => getHoverColor(options.borderColor);\n this.hoverColor = (ctx, options) => getHoverColor(options.color);\n this.indexAxis = 'x';\n this.interaction = {\n mode: 'nearest',\n intersect: true,\n includeInvisible: false\n };\n this.maintainAspectRatio = true;\n this.onHover = null;\n this.onClick = null;\n this.parsing = true;\n this.plugins = {};\n this.responsive = true;\n this.scale = undefined;\n this.scales = {};\n this.showLine = true;\n this.drawActiveElementsOnTop = true;\n this.describe(_descriptors);\n }\n set(scope, values) {\n return set(this, scope, values);\n }\n get(scope) {\n return getScope$1(this, scope);\n }\n describe(scope, values) {\n return set(descriptors, scope, values);\n }\n override(scope, values) {\n return set(overrides, scope, values);\n }\n route(scope, name, targetScope, targetName) {\n const scopeObject = getScope$1(this, scope);\n const targetScopeObject = getScope$1(this, targetScope);\n const privateName = '_' + name;\n Object.defineProperties(scopeObject, {\n [privateName]: {\n value: scopeObject[name],\n writable: true\n },\n [name]: {\n enumerable: true,\n get() {\n const local = this[privateName];\n const target = targetScopeObject[targetName];\n if (isObject(local)) {\n return Object.assign({}, target, local);\n }\n return valueOrDefault(local, target);\n },\n set(value) {\n this[privateName] = value;\n }\n }\n });\n }\n}\nvar defaults = new Defaults({\n _scriptable: (name) => !name.startsWith('on'),\n _indexable: (name) => name !== 'events',\n hover: {\n _fallback: 'interaction'\n },\n interaction: {\n _scriptable: false,\n _indexable: false,\n }\n});\n\nfunction toFontString(font) {\n if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n return null;\n }\n return (font.style ? font.style + ' ' : '')\n\t\t+ (font.weight ? font.weight + ' ' : '')\n\t\t+ font.size + 'px '\n\t\t+ font.family;\n}\nfunction _measureText(ctx, data, gc, longest, string) {\n let textWidth = data[string];\n if (!textWidth) {\n textWidth = data[string] = ctx.measureText(string).width;\n gc.push(string);\n }\n if (textWidth > longest) {\n longest = textWidth;\n }\n return longest;\n}\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n cache = cache || {};\n let data = cache.data = cache.data || {};\n let gc = cache.garbageCollect = cache.garbageCollect || [];\n if (cache.font !== font) {\n data = cache.data = {};\n gc = cache.garbageCollect = [];\n cache.font = font;\n }\n ctx.save();\n ctx.font = font;\n let longest = 0;\n const ilen = arrayOfThings.length;\n let i, j, jlen, thing, nestedThing;\n for (i = 0; i < ilen; i++) {\n thing = arrayOfThings[i];\n if (thing !== undefined && thing !== null && isArray(thing) !== true) {\n longest = _measureText(ctx, data, gc, longest, thing);\n } else if (isArray(thing)) {\n for (j = 0, jlen = thing.length; j < jlen; j++) {\n nestedThing = thing[j];\n if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n longest = _measureText(ctx, data, gc, longest, nestedThing);\n }\n }\n }\n }\n ctx.restore();\n const gcLen = gc.length / 2;\n if (gcLen > arrayOfThings.length) {\n for (i = 0; i < gcLen; i++) {\n delete data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n return longest;\n}\nfunction _alignPixel(chart, pixel, width) {\n const devicePixelRatio = chart.currentDevicePixelRatio;\n const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\nfunction clearCanvas(canvas, ctx) {\n ctx = ctx || canvas.getContext('2d');\n ctx.save();\n ctx.resetTransform();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n}\nfunction drawPoint(ctx, options, x, y) {\n drawPointLegend(ctx, options, x, y, null);\n}\nfunction drawPointLegend(ctx, options, x, y, w) {\n let type, xOffset, yOffset, size, cornerRadius, width;\n const style = options.pointStyle;\n const rotation = options.rotation;\n const radius = options.radius;\n let rad = (rotation || 0) * RAD_PER_DEG;\n if (style && typeof style === 'object') {\n type = style.toString();\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n ctx.beginPath();\n switch (style) {\n default:\n if (w) {\n ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU);\n } else {\n ctx.arc(x, y, radius, 0, TAU);\n }\n ctx.closePath();\n break;\n case 'triangle':\n ctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n ctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n width = w ? w / 2 : size;\n ctx.rect(x - width, y - size, 2 * width, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n case 'rectRot':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + yOffset, y - xOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n case 'cross':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'star':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n rad += QUARTER_PI;\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'line':\n xOffset = w ? w / 2 : Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\n break;\n }\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n}\nfunction _isPointInArea(point, area, margin) {\n margin = margin || 0.5;\n return !area || (point && point.x > area.left - margin && point.x < area.right + margin &&\n\t\tpoint.y > area.top - margin && point.y < area.bottom + margin);\n}\nfunction clipArea(ctx, area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n}\nfunction unclipArea(ctx) {\n ctx.restore();\n}\nfunction _steppedLineTo(ctx, previous, target, flip, mode) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n if (mode === 'middle') {\n const midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, previous.y);\n ctx.lineTo(midpoint, target.y);\n } else if (mode === 'after' !== !!flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n ctx.lineTo(target.x, target.y);\n}\nfunction _bezierCurveTo(ctx, previous, target, flip) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n ctx.bezierCurveTo(\n flip ? previous.cp1x : previous.cp2x,\n flip ? previous.cp1y : previous.cp2y,\n flip ? target.cp2x : target.cp1x,\n flip ? target.cp2y : target.cp1y,\n target.x,\n target.y);\n}\nfunction renderText(ctx, text, x, y, font, opts = {}) {\n const lines = isArray(text) ? text : [text];\n const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n let i, line;\n ctx.save();\n ctx.font = font.string;\n setRenderOpts(ctx, opts);\n for (i = 0; i < lines.length; ++i) {\n line = lines[i];\n if (stroke) {\n if (opts.strokeColor) {\n ctx.strokeStyle = opts.strokeColor;\n }\n if (!isNullOrUndef(opts.strokeWidth)) {\n ctx.lineWidth = opts.strokeWidth;\n }\n ctx.strokeText(line, x, y, opts.maxWidth);\n }\n ctx.fillText(line, x, y, opts.maxWidth);\n decorateText(ctx, x, y, line, opts);\n y += font.lineHeight;\n }\n ctx.restore();\n}\nfunction setRenderOpts(ctx, opts) {\n if (opts.translation) {\n ctx.translate(opts.translation[0], opts.translation[1]);\n }\n if (!isNullOrUndef(opts.rotation)) {\n ctx.rotate(opts.rotation);\n }\n if (opts.color) {\n ctx.fillStyle = opts.color;\n }\n if (opts.textAlign) {\n ctx.textAlign = opts.textAlign;\n }\n if (opts.textBaseline) {\n ctx.textBaseline = opts.textBaseline;\n }\n}\nfunction decorateText(ctx, x, y, line, opts) {\n if (opts.strikethrough || opts.underline) {\n const metrics = ctx.measureText(line);\n const left = x - metrics.actualBoundingBoxLeft;\n const right = x + metrics.actualBoundingBoxRight;\n const top = y - metrics.actualBoundingBoxAscent;\n const bottom = y + metrics.actualBoundingBoxDescent;\n const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n ctx.strokeStyle = ctx.fillStyle;\n ctx.beginPath();\n ctx.lineWidth = opts.decorationWidth || 2;\n ctx.moveTo(left, yDecoration);\n ctx.lineTo(right, yDecoration);\n ctx.stroke();\n }\n}\nfunction addRoundedRectPath(ctx, rect) {\n const {x, y, w, h, radius} = rect;\n ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true);\n ctx.lineTo(x, y + h - radius.bottomLeft);\n ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n ctx.lineTo(x + w - radius.bottomRight, y + h);\n ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n ctx.lineTo(x + w, y + radius.topRight);\n ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n ctx.lineTo(x + radius.topLeft, y);\n}\n\nconst LINE_HEIGHT = new RegExp(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\nconst FONT_STYLE = new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);\nfunction toLineHeight(value, size) {\n const matches = ('' + value).match(LINE_HEIGHT);\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n value = +matches[2];\n switch (matches[3]) {\n case 'px':\n return value;\n case '%':\n value /= 100;\n break;\n }\n return size * value;\n}\nconst numberOrZero = v => +v || 0;\nfunction _readValueToProps(value, props) {\n const ret = {};\n const objProps = isObject(props);\n const keys = objProps ? Object.keys(props) : props;\n const read = isObject(value)\n ? objProps\n ? prop => valueOrDefault(value[prop], value[props[prop]])\n : prop => value[prop]\n : () => value;\n for (const prop of keys) {\n ret[prop] = numberOrZero(read(prop));\n }\n return ret;\n}\nfunction toTRBL(value) {\n return _readValueToProps(value, {top: 'y', right: 'x', bottom: 'y', left: 'x'});\n}\nfunction toTRBLCorners(value) {\n return _readValueToProps(value, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']);\n}\nfunction toPadding(value) {\n const obj = toTRBL(value);\n obj.width = obj.left + obj.right;\n obj.height = obj.top + obj.bottom;\n return obj;\n}\nfunction toFont(options, fallback) {\n options = options || {};\n fallback = fallback || defaults.font;\n let size = valueOrDefault(options.size, fallback.size);\n if (typeof size === 'string') {\n size = parseInt(size, 10);\n }\n let style = valueOrDefault(options.style, fallback.style);\n if (style && !('' + style).match(FONT_STYLE)) {\n console.warn('Invalid font style specified: \"' + style + '\"');\n style = '';\n }\n const font = {\n family: valueOrDefault(options.family, fallback.family),\n lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n size,\n style,\n weight: valueOrDefault(options.weight, fallback.weight),\n string: ''\n };\n font.string = toFontString(font);\n return font;\n}\nfunction resolve(inputs, context, index, info) {\n let cacheable = true;\n let i, ilen, value;\n for (i = 0, ilen = inputs.length; i < ilen; ++i) {\n value = inputs[i];\n if (value === undefined) {\n continue;\n }\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n if (index !== undefined && isArray(value)) {\n value = value[index % value.length];\n cacheable = false;\n }\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n return value;\n }\n }\n}\nfunction _addGrace(minmax, grace, beginAtZero) {\n const {min, max} = minmax;\n const change = toDimension(grace, (max - min) / 2);\n const keepZero = (value, add) => beginAtZero && value === 0 ? 0 : value + add;\n return {\n min: keepZero(min, -Math.abs(change)),\n max: keepZero(max, change)\n };\n}\nfunction createContext(parentContext, context) {\n return Object.assign(Object.create(parentContext), context);\n}\n\nfunction _createResolver(scopes, prefixes = [''], rootScopes = scopes, fallback, getTarget = () => scopes[0]) {\n if (!defined(fallback)) {\n fallback = _resolve('_fallback', scopes);\n }\n const cache = {\n [Symbol.toStringTag]: 'Object',\n _cacheable: true,\n _scopes: scopes,\n _rootScopes: rootScopes,\n _fallback: fallback,\n _getTarget: getTarget,\n override: (scope) => _createResolver([scope, ...scopes], prefixes, rootScopes, fallback),\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete target._keys;\n delete scopes[0][prop];\n return true;\n },\n get(target, prop) {\n return _cached(target, prop,\n () => _resolveWithPrefixes(prop, prefixes, scopes, target));\n },\n getOwnPropertyDescriptor(target, prop) {\n return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(scopes[0]);\n },\n has(target, prop) {\n return getKeysFromAllScopes(target).includes(prop);\n },\n ownKeys(target) {\n return getKeysFromAllScopes(target);\n },\n set(target, prop, value) {\n const storage = target._storage || (target._storage = getTarget());\n target[prop] = storage[prop] = value;\n delete target._keys;\n return true;\n }\n });\n}\nfunction _attachContext(proxy, context, subProxy, descriptorDefaults) {\n const cache = {\n _cacheable: false,\n _proxy: proxy,\n _context: context,\n _subProxy: subProxy,\n _stack: new Set(),\n _descriptors: _descriptors(proxy, descriptorDefaults),\n setContext: (ctx) => _attachContext(proxy, ctx, subProxy, descriptorDefaults),\n override: (scope) => _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete proxy[prop];\n return true;\n },\n get(target, prop, receiver) {\n return _cached(target, prop,\n () => _resolveWithContext(target, prop, receiver));\n },\n getOwnPropertyDescriptor(target, prop) {\n return target._descriptors.allKeys\n ? Reflect.has(proxy, prop) ? {enumerable: true, configurable: true} : undefined\n : Reflect.getOwnPropertyDescriptor(proxy, prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(proxy);\n },\n has(target, prop) {\n return Reflect.has(proxy, prop);\n },\n ownKeys() {\n return Reflect.ownKeys(proxy);\n },\n set(target, prop, value) {\n proxy[prop] = value;\n delete target[prop];\n return true;\n }\n });\n}\nfunction _descriptors(proxy, defaults = {scriptable: true, indexable: true}) {\n const {_scriptable = defaults.scriptable, _indexable = defaults.indexable, _allKeys = defaults.allKeys} = proxy;\n return {\n allKeys: _allKeys,\n scriptable: _scriptable,\n indexable: _indexable,\n isScriptable: isFunction(_scriptable) ? _scriptable : () => _scriptable,\n isIndexable: isFunction(_indexable) ? _indexable : () => _indexable\n };\n}\nconst readKey = (prefix, name) => prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value) => isObject(value) && prop !== 'adapters' &&\n (Object.getPrototypeOf(value) === null || value.constructor === Object);\nfunction _cached(target, prop, resolve) {\n if (Object.prototype.hasOwnProperty.call(target, prop)) {\n return target[prop];\n }\n const value = resolve();\n target[prop] = value;\n return value;\n}\nfunction _resolveWithContext(target, prop, receiver) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n let value = _proxy[prop];\n if (isFunction(value) && descriptors.isScriptable(prop)) {\n value = _resolveScriptable(prop, value, target, receiver);\n }\n if (isArray(value) && value.length) {\n value = _resolveArray(prop, value, target, descriptors.isIndexable);\n }\n if (needsSubResolver(prop, value)) {\n value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n }\n return value;\n}\nfunction _resolveScriptable(prop, value, target, receiver) {\n const {_proxy, _context, _subProxy, _stack} = target;\n if (_stack.has(prop)) {\n throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n }\n _stack.add(prop);\n value = value(_context, _subProxy || receiver);\n _stack.delete(prop);\n if (needsSubResolver(prop, value)) {\n value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n }\n return value;\n}\nfunction _resolveArray(prop, value, target, isIndexable) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n if (defined(_context.index) && isIndexable(prop)) {\n value = value[_context.index % value.length];\n } else if (isObject(value[0])) {\n const arr = value;\n const scopes = _proxy._scopes.filter(s => s !== arr);\n value = [];\n for (const item of arr) {\n const resolver = createSubResolver(scopes, _proxy, prop, item);\n value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n }\n }\n return value;\n}\nfunction resolveFallback(fallback, prop, value) {\n return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\nconst getScope = (key, parent) => key === true ? parent\n : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\nfunction addScopes(set, parentScopes, key, parentFallback, value) {\n for (const parent of parentScopes) {\n const scope = getScope(key, parent);\n if (scope) {\n set.add(scope);\n const fallback = resolveFallback(scope._fallback, key, value);\n if (defined(fallback) && fallback !== key && fallback !== parentFallback) {\n return fallback;\n }\n } else if (scope === false && defined(parentFallback) && key !== parentFallback) {\n return null;\n }\n }\n return false;\n}\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n const rootScopes = resolver._rootScopes;\n const fallback = resolveFallback(resolver._fallback, prop, value);\n const allScopes = [...parentScopes, ...rootScopes];\n const set = new Set();\n set.add(value);\n let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n if (key === null) {\n return false;\n }\n if (defined(fallback) && fallback !== prop) {\n key = addScopesFromKey(set, allScopes, fallback, key, value);\n if (key === null) {\n return false;\n }\n }\n return _createResolver(Array.from(set), [''], rootScopes, fallback,\n () => subGetTarget(resolver, prop, value));\n}\nfunction addScopesFromKey(set, allScopes, key, fallback, item) {\n while (key) {\n key = addScopes(set, allScopes, key, fallback, item);\n }\n return key;\n}\nfunction subGetTarget(resolver, prop, value) {\n const parent = resolver._getTarget();\n if (!(prop in parent)) {\n parent[prop] = {};\n }\n const target = parent[prop];\n if (isArray(target) && isObject(value)) {\n return value;\n }\n return target;\n}\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n let value;\n for (const prefix of prefixes) {\n value = _resolve(readKey(prefix, prop), scopes);\n if (defined(value)) {\n return needsSubResolver(prop, value)\n ? createSubResolver(scopes, proxy, prop, value)\n : value;\n }\n }\n}\nfunction _resolve(key, scopes) {\n for (const scope of scopes) {\n if (!scope) {\n continue;\n }\n const value = scope[key];\n if (defined(value)) {\n return value;\n }\n }\n}\nfunction getKeysFromAllScopes(target) {\n let keys = target._keys;\n if (!keys) {\n keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n }\n return keys;\n}\nfunction resolveKeysFromAllScopes(scopes) {\n const set = new Set();\n for (const scope of scopes) {\n for (const key of Object.keys(scope).filter(k => !k.startsWith('_'))) {\n set.add(key);\n }\n }\n return Array.from(set);\n}\nfunction _parseObjectDataRadialScale(meta, data, start, count) {\n const {iScale} = meta;\n const {key = 'r'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n r: iScale.parse(resolveObjectKey(item, key), index)\n };\n }\n return parsed;\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\nconst getPoint = (points, i) => i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis) => indexAxis === 'x' ? 'y' : 'x';\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n const previous = firstPoint.skip ? middlePoint : firstPoint;\n const current = middlePoint;\n const next = afterPoint.skip ? middlePoint : afterPoint;\n const d01 = distanceBetweenPoints(current, previous);\n const d12 = distanceBetweenPoints(next, current);\n let s01 = d01 / (d01 + d12);\n let s12 = d12 / (d01 + d12);\n s01 = isNaN(s01) ? 0 : s01;\n s12 = isNaN(s12) ? 0 : s12;\n const fa = t * s01;\n const fb = t * s12;\n return {\n previous: {\n x: current.x - fa * (next.x - previous.x),\n y: current.y - fa * (next.y - previous.y)\n },\n next: {\n x: current.x + fb * (next.x - previous.x),\n y: current.y + fb * (next.y - previous.y)\n }\n };\n}\nfunction monotoneAdjust(points, deltaK, mK) {\n const pointsLen = points.length;\n let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen - 1; ++i) {\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent || !pointAfter) {\n continue;\n }\n if (almostEquals(deltaK[i], 0, EPSILON)) {\n mK[i] = mK[i + 1] = 0;\n continue;\n }\n alphaK = mK[i] / deltaK[i];\n betaK = mK[i + 1] / deltaK[i];\n squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n if (squaredMagnitude <= 9) {\n continue;\n }\n tauK = 3 / Math.sqrt(squaredMagnitude);\n mK[i] = alphaK * tauK * deltaK[i];\n mK[i + 1] = betaK * tauK * deltaK[i];\n }\n}\nfunction monotoneCompute(points, mK, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n let delta, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n const iPixel = pointCurrent[indexAxis];\n const vPixel = pointCurrent[valueAxis];\n if (pointBefore) {\n delta = (iPixel - pointBefore[indexAxis]) / 3;\n pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n }\n if (pointAfter) {\n delta = (pointAfter[indexAxis] - iPixel) / 3;\n pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n }\n }\n}\nfunction splineCurveMonotone(points, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n const deltaK = Array(pointsLen).fill(0);\n const mK = Array(pointsLen);\n let i, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n if (pointAfter) {\n const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n }\n mK[i] = !pointBefore ? deltaK[i]\n : !pointAfter ? deltaK[i - 1]\n : (sign(deltaK[i - 1]) !== sign(deltaK[i])) ? 0\n : (deltaK[i - 1] + deltaK[i]) / 2;\n }\n monotoneAdjust(points, deltaK, mK);\n monotoneCompute(points, mK, indexAxis);\n}\nfunction capControlPoint(pt, min, max) {\n return Math.max(Math.min(pt, max), min);\n}\nfunction capBezierPoints(points, area) {\n let i, ilen, point, inArea, inAreaPrev;\n let inAreaNext = _isPointInArea(points[0], area);\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n inAreaPrev = inArea;\n inArea = inAreaNext;\n inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n if (!inArea) {\n continue;\n }\n point = points[i];\n if (inAreaPrev) {\n point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n }\n if (inAreaNext) {\n point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n }\n }\n}\nfunction _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n let i, ilen, point, controlPoints;\n if (options.spanGaps) {\n points = points.filter((pt) => !pt.skip);\n }\n if (options.cubicInterpolationMode === 'monotone') {\n splineCurveMonotone(points, indexAxis);\n } else {\n let prev = loop ? points[points.length - 1] : points[0];\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n point = points[i];\n controlPoints = splineCurve(\n prev,\n point,\n points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen],\n options.tension\n );\n point.cp1x = controlPoints.previous.x;\n point.cp1y = controlPoints.previous.y;\n point.cp2x = controlPoints.next.x;\n point.cp2y = controlPoints.next.y;\n prev = point;\n }\n }\n if (options.capBezierPoints) {\n capBezierPoints(points, area);\n }\n}\n\nfunction _isDomSupported() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\nfunction _getParentNode(domNode) {\n let parent = domNode.parentNode;\n if (parent && parent.toString() === '[object ShadowRoot]') {\n parent = parent.host;\n }\n return parent;\n}\nfunction parseMaxStyle(styleValue, node, parentProperty) {\n let valueInPixels;\n if (typeof styleValue === 'string') {\n valueInPixels = parseInt(styleValue, 10);\n if (styleValue.indexOf('%') !== -1) {\n valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n }\n } else {\n valueInPixels = styleValue;\n }\n return valueInPixels;\n}\nconst getComputedStyle = (element) => window.getComputedStyle(element, null);\nfunction getStyle(el, property) {\n return getComputedStyle(el).getPropertyValue(property);\n}\nconst positions = ['top', 'right', 'bottom', 'left'];\nfunction getPositionedStyle(styles, style, suffix) {\n const result = {};\n suffix = suffix ? '-' + suffix : '';\n for (let i = 0; i < 4; i++) {\n const pos = positions[i];\n result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n }\n result.width = result.left + result.right;\n result.height = result.top + result.bottom;\n return result;\n}\nconst useOffsetPos = (x, y, target) => (x > 0 || y > 0) && (!target || !target.shadowRoot);\nfunction getCanvasPosition(e, canvas) {\n const touches = e.touches;\n const source = touches && touches.length ? touches[0] : e;\n const {offsetX, offsetY} = source;\n let box = false;\n let x, y;\n if (useOffsetPos(offsetX, offsetY, e.target)) {\n x = offsetX;\n y = offsetY;\n } else {\n const rect = canvas.getBoundingClientRect();\n x = source.clientX - rect.left;\n y = source.clientY - rect.top;\n box = true;\n }\n return {x, y, box};\n}\nfunction getRelativePosition(evt, chart) {\n if ('native' in evt) {\n return evt;\n }\n const {canvas, currentDevicePixelRatio} = chart;\n const style = getComputedStyle(canvas);\n const borderBox = style.boxSizing === 'border-box';\n const paddings = getPositionedStyle(style, 'padding');\n const borders = getPositionedStyle(style, 'border', 'width');\n const {x, y, box} = getCanvasPosition(evt, canvas);\n const xOffset = paddings.left + (box && borders.left);\n const yOffset = paddings.top + (box && borders.top);\n let {width, height} = chart;\n if (borderBox) {\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n return {\n x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n };\n}\nfunction getContainerSize(canvas, width, height) {\n let maxWidth, maxHeight;\n if (width === undefined || height === undefined) {\n const container = _getParentNode(canvas);\n if (!container) {\n width = canvas.clientWidth;\n height = canvas.clientHeight;\n } else {\n const rect = container.getBoundingClientRect();\n const containerStyle = getComputedStyle(container);\n const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n const containerPadding = getPositionedStyle(containerStyle, 'padding');\n width = rect.width - containerPadding.width - containerBorder.width;\n height = rect.height - containerPadding.height - containerBorder.height;\n maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n }\n }\n return {\n width,\n height,\n maxWidth: maxWidth || INFINITY,\n maxHeight: maxHeight || INFINITY\n };\n}\nconst round1 = v => Math.round(v * 10) / 10;\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n const style = getComputedStyle(canvas);\n const margins = getPositionedStyle(style, 'margin');\n const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n let {width, height} = containerSize;\n if (style.boxSizing === 'content-box') {\n const borders = getPositionedStyle(style, 'border', 'width');\n const paddings = getPositionedStyle(style, 'padding');\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n width = Math.max(0, width - margins.width);\n height = Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height - margins.height);\n width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n if (width && !height) {\n height = round1(width / 2);\n }\n return {\n width,\n height\n };\n}\nfunction retinaScale(chart, forceRatio, forceStyle) {\n const pixelRatio = forceRatio || 1;\n const deviceHeight = Math.floor(chart.height * pixelRatio);\n const deviceWidth = Math.floor(chart.width * pixelRatio);\n chart.height = deviceHeight / pixelRatio;\n chart.width = deviceWidth / pixelRatio;\n const canvas = chart.canvas;\n if (canvas.style && (forceStyle || (!canvas.style.height && !canvas.style.width))) {\n canvas.style.height = `${chart.height}px`;\n canvas.style.width = `${chart.width}px`;\n }\n if (chart.currentDevicePixelRatio !== pixelRatio\n || canvas.height !== deviceHeight\n || canvas.width !== deviceWidth) {\n chart.currentDevicePixelRatio = pixelRatio;\n canvas.height = deviceHeight;\n canvas.width = deviceWidth;\n chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n return true;\n }\n return false;\n}\nconst supportsEventListenerOptions = (function() {\n let passiveSupported = false;\n try {\n const options = {\n get passive() {\n passiveSupported = true;\n return false;\n }\n };\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {\n }\n return passiveSupported;\n}());\nfunction readUsedSize(element, property) {\n const value = getStyle(element, property);\n const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? +matches[1] : undefined;\n}\n\nfunction _pointInLine(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: p1.y + t * (p2.y - p1.y)\n };\n}\nfunction _steppedInterpolation(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y\n : mode === 'after' ? t < 1 ? p1.y : p2.y\n : t > 0 ? p2.y : p1.y\n };\n}\nfunction _bezierInterpolation(p1, p2, t, mode) {\n const cp1 = {x: p1.cp2x, y: p1.cp2y};\n const cp2 = {x: p2.cp1x, y: p2.cp1y};\n const a = _pointInLine(p1, cp1, t);\n const b = _pointInLine(cp1, cp2, t);\n const c = _pointInLine(cp2, p2, t);\n const d = _pointInLine(a, b, t);\n const e = _pointInLine(b, c, t);\n return _pointInLine(d, e, t);\n}\n\nconst intlCache = new Map();\nfunction getNumberFormat(locale, options) {\n options = options || {};\n const cacheKey = locale + JSON.stringify(options);\n let formatter = intlCache.get(cacheKey);\n if (!formatter) {\n formatter = new Intl.NumberFormat(locale, options);\n intlCache.set(cacheKey, formatter);\n }\n return formatter;\n}\nfunction formatNumber(num, locale, options) {\n return getNumberFormat(locale, options).format(num);\n}\n\nconst getRightToLeftAdapter = function(rectX, width) {\n return {\n x(x) {\n return rectX + rectX + width - x;\n },\n setWidth(w) {\n width = w;\n },\n textAlign(align) {\n if (align === 'center') {\n return align;\n }\n return align === 'right' ? 'left' : 'right';\n },\n xPlus(x, value) {\n return x - value;\n },\n leftForLtr(x, itemWidth) {\n return x - itemWidth;\n },\n };\n};\nconst getLeftToRightAdapter = function() {\n return {\n x(x) {\n return x;\n },\n setWidth(w) {\n },\n textAlign(align) {\n return align;\n },\n xPlus(x, value) {\n return x + value;\n },\n leftForLtr(x, _itemWidth) {\n return x;\n },\n };\n};\nfunction getRtlAdapter(rtl, rectX, width) {\n return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\nfunction overrideTextDirection(ctx, direction) {\n let style, original;\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [\n style.getPropertyValue('direction'),\n style.getPropertyPriority('direction'),\n ];\n style.setProperty('direction', direction, 'important');\n ctx.prevTextDirection = original;\n }\n}\nfunction restoreTextDirection(ctx, original) {\n if (original !== undefined) {\n delete ctx.prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n}\n\nfunction propertyFn(property) {\n if (property === 'angle') {\n return {\n between: _angleBetween,\n compare: _angleDiff,\n normalize: _normalizeAngle,\n };\n }\n return {\n between: _isBetween,\n compare: (a, b) => a - b,\n normalize: x => x\n };\n}\nfunction normalizeSegment({start, end, count, loop, style}) {\n return {\n start: start % count,\n end: end % count,\n loop: loop && (end - start + 1) % count === 0,\n style\n };\n}\nfunction getSegment(segment, points, bounds) {\n const {property, start: startBound, end: endBound} = bounds;\n const {between, normalize} = propertyFn(property);\n const count = points.length;\n let {start, end, loop} = segment;\n let i, ilen;\n if (loop) {\n start += count;\n end += count;\n for (i = 0, ilen = count; i < ilen; ++i) {\n if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n break;\n }\n start--;\n end--;\n }\n start %= count;\n end %= count;\n }\n if (end < start) {\n end += count;\n }\n return {start, end, loop, style: segment.style};\n}\nfunction _boundSegment(segment, points, bounds) {\n if (!bounds) {\n return [segment];\n }\n const {property, start: startBound, end: endBound} = bounds;\n const count = points.length;\n const {compare, between, normalize} = propertyFn(property);\n const {start, end, loop, style} = getSegment(segment, points, bounds);\n const result = [];\n let inside = false;\n let subStart = null;\n let value, point, prevValue;\n const startIsBefore = () => between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n const endIsBefore = () => compare(endBound, value) === 0 || between(endBound, prevValue, value);\n const shouldStart = () => inside || startIsBefore();\n const shouldStop = () => !inside || endIsBefore();\n for (let i = start, prev = start; i <= end; ++i) {\n point = points[i % count];\n if (point.skip) {\n continue;\n }\n value = normalize(point[property]);\n if (value === prevValue) {\n continue;\n }\n inside = between(value, startBound, endBound);\n if (subStart === null && shouldStart()) {\n subStart = compare(value, startBound) === 0 ? i : prev;\n }\n if (subStart !== null && shouldStop()) {\n result.push(normalizeSegment({start: subStart, end: i, loop, count, style}));\n subStart = null;\n }\n prev = i;\n prevValue = value;\n }\n if (subStart !== null) {\n result.push(normalizeSegment({start: subStart, end, loop, count, style}));\n }\n return result;\n}\nfunction _boundSegments(line, bounds) {\n const result = [];\n const segments = line.segments;\n for (let i = 0; i < segments.length; i++) {\n const sub = _boundSegment(segments[i], line.points, bounds);\n if (sub.length) {\n result.push(...sub);\n }\n }\n return result;\n}\nfunction findStartAndEnd(points, count, loop, spanGaps) {\n let start = 0;\n let end = count - 1;\n if (loop && !spanGaps) {\n while (start < count && !points[start].skip) {\n start++;\n }\n }\n while (start < count && points[start].skip) {\n start++;\n }\n start %= count;\n if (loop) {\n end += start;\n }\n while (end > start && points[end % count].skip) {\n end--;\n }\n end %= count;\n return {start, end};\n}\nfunction solidSegments(points, start, max, loop) {\n const count = points.length;\n const result = [];\n let last = start;\n let prev = points[start];\n let end;\n for (end = start + 1; end <= max; ++end) {\n const cur = points[end % count];\n if (cur.skip || cur.stop) {\n if (!prev.skip) {\n loop = false;\n result.push({start: start % count, end: (end - 1) % count, loop});\n start = last = cur.stop ? end : null;\n }\n } else {\n last = end;\n if (prev.skip) {\n start = end;\n }\n }\n prev = cur;\n }\n if (last !== null) {\n result.push({start: start % count, end: last % count, loop});\n }\n return result;\n}\nfunction _computeSegments(line, segmentOptions) {\n const points = line.points;\n const spanGaps = line.options.spanGaps;\n const count = points.length;\n if (!count) {\n return [];\n }\n const loop = !!line._loop;\n const {start, end} = findStartAndEnd(points, count, loop, spanGaps);\n if (spanGaps === true) {\n return splitByStyles(line, [{start, end, loop}], points, segmentOptions);\n }\n const max = end < start ? end + count : end;\n const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\nfunction splitByStyles(line, segments, points, segmentOptions) {\n if (!segmentOptions || !segmentOptions.setContext || !points) {\n return segments;\n }\n return doSplitByStyles(line, segments, points, segmentOptions);\n}\nfunction doSplitByStyles(line, segments, points, segmentOptions) {\n const chartContext = line._chart.getContext();\n const baseStyle = readStyle(line.options);\n const {_datasetIndex: datasetIndex, options: {spanGaps}} = line;\n const count = points.length;\n const result = [];\n let prevStyle = baseStyle;\n let start = segments[0].start;\n let i = start;\n function addStyle(s, e, l, st) {\n const dir = spanGaps ? -1 : 1;\n if (s === e) {\n return;\n }\n s += count;\n while (points[s % count].skip) {\n s -= dir;\n }\n while (points[e % count].skip) {\n e += dir;\n }\n if (s % count !== e % count) {\n result.push({start: s % count, end: e % count, loop: l, style: st});\n prevStyle = st;\n start = e % count;\n }\n }\n for (const segment of segments) {\n start = spanGaps ? start : segment.start;\n let prev = points[start % count];\n let style;\n for (i = start + 1; i <= segment.end; i++) {\n const pt = points[i % count];\n style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n type: 'segment',\n p0: prev,\n p1: pt,\n p0DataIndex: (i - 1) % count,\n p1DataIndex: i % count,\n datasetIndex\n })));\n if (styleChanged(style, prevStyle)) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n prev = pt;\n prevStyle = style;\n }\n if (start < i - 1) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n }\n return result;\n}\nfunction readStyle(options) {\n return {\n backgroundColor: options.backgroundColor,\n borderCapStyle: options.borderCapStyle,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderJoinStyle: options.borderJoinStyle,\n borderWidth: options.borderWidth,\n borderColor: options.borderColor\n };\n}\nfunction styleChanged(style, prevStyle) {\n return prevStyle && JSON.stringify(style) !== JSON.stringify(prevStyle);\n}\n\nexport { _isPointInArea as $, _factorize as A, finiteOrDefault as B, callback as C, _addGrace as D, _limitValue as E, toDegrees as F, _measureText as G, HALF_PI as H, _int16Range as I, _alignPixel as J, toPadding as K, clipArea as L, renderText as M, unclipArea as N, toFont as O, PI as P, each as Q, _toLeftRightCenter as R, _alignStartEnd as S, TAU as T, overrides as U, merge as V, _capitalize as W, getRelativePosition as X, _rlookupByKey as Y, _lookupByKey as Z, _arrayUnique as _, resolve as a, toLineHeight as a$, getAngleFromPoint as a0, getMaximumSize as a1, _getParentNode as a2, readUsedSize as a3, throttled as a4, supportsEventListenerOptions as a5, _isDomSupported as a6, descriptors as a7, isFunction as a8, _attachContext as a9, getRtlAdapter as aA, overrideTextDirection as aB, _textX as aC, restoreTextDirection as aD, drawPointLegend as aE, noop as aF, distanceBetweenPoints as aG, _setMinAndMaxByKey as aH, niceNum as aI, almostWhole as aJ, almostEquals as aK, _decimalPlaces as aL, _longestText as aM, _filterBetween as aN, _lookup as aO, isPatternOrGradient as aP, getHoverColor as aQ, clone$1 as aR, _merger as aS, _mergerIf as aT, _deprecated as aU, _splitKey as aV, toFontString as aW, splineCurve as aX, splineCurveMonotone as aY, getStyle as aZ, fontString as a_, _createResolver as aa, _descriptors as ab, mergeIf as ac, uid as ad, debounce as ae, retinaScale as af, clearCanvas as ag, setsEqual as ah, _elementsEqual as ai, _isClickEvent as aj, _isBetween as ak, _readValueToProps as al, _updateBezierControlPoints as am, _computeSegments as an, _boundSegments as ao, _steppedInterpolation as ap, _bezierInterpolation as aq, _pointInLine as ar, _steppedLineTo as as, _bezierCurveTo as at, drawPoint as au, addRoundedRectPath as av, toTRBL as aw, toTRBLCorners as ax, _boundSegment as ay, _normalizeAngle as az, isArray as b, PITAU as b0, INFINITY as b1, RAD_PER_DEG as b2, QUARTER_PI as b3, TWO_THIRDS_PI as b4, _angleDiff as b5, color as c, defaults as d, effects as e, resolveObjectKey as f, isNumberFinite as g, createContext as h, isObject as i, defined as j, isNullOrUndef as k, listenArrayEvents as l, toPercentage as m, toDimension as n, formatNumber as o, _angleBetween as p, _getStartAndCountOfVisiblePoints as q, requestAnimFrame as r, sign as s, toRadians as t, unlistenArrayEvents as u, valueOrDefault as v, _scaleRangesChanged as w, isNumber as x, _parseObjectDataRadialScale as y, log10 as z };\n","/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nimport { r as requestAnimFrame, a as resolve, e as effects, c as color, d as defaults, i as isObject, b as isArray, v as valueOrDefault, u as unlistenArrayEvents, l as listenArrayEvents, f as resolveObjectKey, g as isNumberFinite, h as createContext, j as defined, s as sign, k as isNullOrUndef, _ as _arrayUnique, t as toRadians, m as toPercentage, n as toDimension, T as TAU, o as formatNumber, p as _angleBetween, H as HALF_PI, P as PI, q as _getStartAndCountOfVisiblePoints, w as _scaleRangesChanged, x as isNumber, y as _parseObjectDataRadialScale, z as log10, A as _factorize, B as finiteOrDefault, C as callback, D as _addGrace, E as _limitValue, F as toDegrees, G as _measureText, I as _int16Range, J as _alignPixel, K as toPadding, L as clipArea, M as renderText, N as unclipArea, O as toFont, Q as each, R as _toLeftRightCenter, S as _alignStartEnd, U as overrides, V as merge, W as _capitalize, X as getRelativePosition, Y as _rlookupByKey, Z as _lookupByKey, $ as _isPointInArea, a0 as getAngleFromPoint, a1 as getMaximumSize, a2 as _getParentNode, a3 as readUsedSize, a4 as throttled, a5 as supportsEventListenerOptions, a6 as _isDomSupported, a7 as descriptors, a8 as isFunction, a9 as _attachContext, aa as _createResolver, ab as _descriptors, ac as mergeIf, ad as uid, ae as debounce, af as retinaScale, ag as clearCanvas, ah as setsEqual, ai as _elementsEqual, aj as _isClickEvent, ak as _isBetween, al as _readValueToProps, am as _updateBezierControlPoints, an as _computeSegments, ao as _boundSegments, ap as _steppedInterpolation, aq as _bezierInterpolation, ar as _pointInLine, as as _steppedLineTo, at as _bezierCurveTo, au as drawPoint, av as addRoundedRectPath, aw as toTRBL, ax as toTRBLCorners, ay as _boundSegment, az as _normalizeAngle, aA as getRtlAdapter, aB as overrideTextDirection, aC as _textX, aD as restoreTextDirection, aE as drawPointLegend, aF as noop, aG as distanceBetweenPoints, aH as _setMinAndMaxByKey, aI as niceNum, aJ as almostWhole, aK as almostEquals, aL as _decimalPlaces, aM as _longestText, aN as _filterBetween, aO as _lookup } from './chunks/helpers.segment.mjs';\nexport { d as defaults } from './chunks/helpers.segment.mjs';\n\nclass Animator {\n constructor() {\n this._request = null;\n this._charts = new Map();\n this._running = false;\n this._lastDate = undefined;\n }\n _notify(chart, anims, date, type) {\n const callbacks = anims.listeners[type];\n const numSteps = anims.duration;\n callbacks.forEach(fn => fn({\n chart,\n initial: anims.initial,\n numSteps,\n currentStep: Math.min(date - anims.start, numSteps)\n }));\n }\n _refresh() {\n if (this._request) {\n return;\n }\n this._running = true;\n this._request = requestAnimFrame.call(window, () => {\n this._update();\n this._request = null;\n if (this._running) {\n this._refresh();\n }\n });\n }\n _update(date = Date.now()) {\n let remaining = 0;\n this._charts.forEach((anims, chart) => {\n if (!anims.running || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n let draw = false;\n let item;\n for (; i >= 0; --i) {\n item = items[i];\n if (item._active) {\n if (item._total > anims.duration) {\n anims.duration = item._total;\n }\n item.tick(date);\n draw = true;\n } else {\n items[i] = items[items.length - 1];\n items.pop();\n }\n }\n if (draw) {\n chart.draw();\n this._notify(chart, anims, date, 'progress');\n }\n if (!items.length) {\n anims.running = false;\n this._notify(chart, anims, date, 'complete');\n anims.initial = false;\n }\n remaining += items.length;\n });\n this._lastDate = date;\n if (remaining === 0) {\n this._running = false;\n }\n }\n _getAnims(chart) {\n const charts = this._charts;\n let anims = charts.get(chart);\n if (!anims) {\n anims = {\n running: false,\n initial: true,\n items: [],\n listeners: {\n complete: [],\n progress: []\n }\n };\n charts.set(chart, anims);\n }\n return anims;\n }\n listen(chart, event, cb) {\n this._getAnims(chart).listeners[event].push(cb);\n }\n add(chart, items) {\n if (!items || !items.length) {\n return;\n }\n this._getAnims(chart).items.push(...items);\n }\n has(chart) {\n return this._getAnims(chart).items.length > 0;\n }\n start(chart) {\n const anims = this._charts.get(chart);\n if (!anims) {\n return;\n }\n anims.running = true;\n anims.start = Date.now();\n anims.duration = anims.items.reduce((acc, cur) => Math.max(acc, cur._duration), 0);\n this._refresh();\n }\n running(chart) {\n if (!this._running) {\n return false;\n }\n const anims = this._charts.get(chart);\n if (!anims || !anims.running || !anims.items.length) {\n return false;\n }\n return true;\n }\n stop(chart) {\n const anims = this._charts.get(chart);\n if (!anims || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n for (; i >= 0; --i) {\n items[i].cancel();\n }\n anims.items = [];\n this._notify(chart, anims, Date.now(), 'complete');\n }\n remove(chart) {\n return this._charts.delete(chart);\n }\n}\nvar animator = new Animator();\n\nconst transparent = 'transparent';\nconst interpolators = {\n boolean(from, to, factor) {\n return factor > 0.5 ? to : from;\n },\n color(from, to, factor) {\n const c0 = color(from || transparent);\n const c1 = c0.valid && color(to || transparent);\n return c1 && c1.valid\n ? c1.mix(c0, factor).hexString()\n : to;\n },\n number(from, to, factor) {\n return from + (to - from) * factor;\n }\n};\nclass Animation {\n constructor(cfg, target, prop, to) {\n const currentValue = target[prop];\n to = resolve([cfg.to, to, currentValue, cfg.from]);\n const from = resolve([cfg.from, currentValue, to]);\n this._active = true;\n this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n this._easing = effects[cfg.easing] || effects.linear;\n this._start = Math.floor(Date.now() + (cfg.delay || 0));\n this._duration = this._total = Math.floor(cfg.duration);\n this._loop = !!cfg.loop;\n this._target = target;\n this._prop = prop;\n this._from = from;\n this._to = to;\n this._promises = undefined;\n }\n active() {\n return this._active;\n }\n update(cfg, to, date) {\n if (this._active) {\n this._notify(false);\n const currentValue = this._target[this._prop];\n const elapsed = date - this._start;\n const remain = this._duration - elapsed;\n this._start = date;\n this._duration = Math.floor(Math.max(remain, cfg.duration));\n this._total += elapsed;\n this._loop = !!cfg.loop;\n this._to = resolve([cfg.to, to, currentValue, cfg.from]);\n this._from = resolve([cfg.from, currentValue, to]);\n }\n }\n cancel() {\n if (this._active) {\n this.tick(Date.now());\n this._active = false;\n this._notify(false);\n }\n }\n tick(date) {\n const elapsed = date - this._start;\n const duration = this._duration;\n const prop = this._prop;\n const from = this._from;\n const loop = this._loop;\n const to = this._to;\n let factor;\n this._active = from !== to && (loop || (elapsed < duration));\n if (!this._active) {\n this._target[prop] = to;\n this._notify(true);\n return;\n }\n if (elapsed < 0) {\n this._target[prop] = from;\n return;\n }\n factor = (elapsed / duration) % 2;\n factor = loop && factor > 1 ? 2 - factor : factor;\n factor = this._easing(Math.min(1, Math.max(0, factor)));\n this._target[prop] = this._fn(from, to, factor);\n }\n wait() {\n const promises = this._promises || (this._promises = []);\n return new Promise((res, rej) => {\n promises.push({res, rej});\n });\n }\n _notify(resolved) {\n const method = resolved ? 'res' : 'rej';\n const promises = this._promises || [];\n for (let i = 0; i < promises.length; i++) {\n promises[i][method]();\n }\n }\n}\n\nconst numbers = ['x', 'y', 'borderWidth', 'radius', 'tension'];\nconst colors = ['color', 'borderColor', 'backgroundColor'];\ndefaults.set('animation', {\n delay: undefined,\n duration: 1000,\n easing: 'easeOutQuart',\n fn: undefined,\n from: undefined,\n loop: undefined,\n to: undefined,\n type: undefined,\n});\nconst animationOptions = Object.keys(defaults.animation);\ndefaults.describe('animation', {\n _fallback: false,\n _indexable: false,\n _scriptable: (name) => name !== 'onProgress' && name !== 'onComplete' && name !== 'fn',\n});\ndefaults.set('animations', {\n colors: {\n type: 'color',\n properties: colors\n },\n numbers: {\n type: 'number',\n properties: numbers\n },\n});\ndefaults.describe('animations', {\n _fallback: 'animation',\n});\ndefaults.set('transitions', {\n active: {\n animation: {\n duration: 400\n }\n },\n resize: {\n animation: {\n duration: 0\n }\n },\n show: {\n animations: {\n colors: {\n from: 'transparent'\n },\n visible: {\n type: 'boolean',\n duration: 0\n },\n }\n },\n hide: {\n animations: {\n colors: {\n to: 'transparent'\n },\n visible: {\n type: 'boolean',\n easing: 'linear',\n fn: v => v | 0\n },\n }\n }\n});\nclass Animations {\n constructor(chart, config) {\n this._chart = chart;\n this._properties = new Map();\n this.configure(config);\n }\n configure(config) {\n if (!isObject(config)) {\n return;\n }\n const animatedProps = this._properties;\n Object.getOwnPropertyNames(config).forEach(key => {\n const cfg = config[key];\n if (!isObject(cfg)) {\n return;\n }\n const resolved = {};\n for (const option of animationOptions) {\n resolved[option] = cfg[option];\n }\n (isArray(cfg.properties) && cfg.properties || [key]).forEach((prop) => {\n if (prop === key || !animatedProps.has(prop)) {\n animatedProps.set(prop, resolved);\n }\n });\n });\n }\n _animateOptions(target, values) {\n const newOptions = values.options;\n const options = resolveTargetOptions(target, newOptions);\n if (!options) {\n return [];\n }\n const animations = this._createAnimations(options, newOptions);\n if (newOptions.$shared) {\n awaitAll(target.options.$animations, newOptions).then(() => {\n target.options = newOptions;\n }, () => {\n });\n }\n return animations;\n }\n _createAnimations(target, values) {\n const animatedProps = this._properties;\n const animations = [];\n const running = target.$animations || (target.$animations = {});\n const props = Object.keys(values);\n const date = Date.now();\n let i;\n for (i = props.length - 1; i >= 0; --i) {\n const prop = props[i];\n if (prop.charAt(0) === '$') {\n continue;\n }\n if (prop === 'options') {\n animations.push(...this._animateOptions(target, values));\n continue;\n }\n const value = values[prop];\n let animation = running[prop];\n const cfg = animatedProps.get(prop);\n if (animation) {\n if (cfg && animation.active()) {\n animation.update(cfg, value, date);\n continue;\n } else {\n animation.cancel();\n }\n }\n if (!cfg || !cfg.duration) {\n target[prop] = value;\n continue;\n }\n running[prop] = animation = new Animation(cfg, target, prop, value);\n animations.push(animation);\n }\n return animations;\n }\n update(target, values) {\n if (this._properties.size === 0) {\n Object.assign(target, values);\n return;\n }\n const animations = this._createAnimations(target, values);\n if (animations.length) {\n animator.add(this._chart, animations);\n return true;\n }\n }\n}\nfunction awaitAll(animations, properties) {\n const running = [];\n const keys = Object.keys(properties);\n for (let i = 0; i < keys.length; i++) {\n const anim = animations[keys[i]];\n if (anim && anim.active()) {\n running.push(anim.wait());\n }\n }\n return Promise.all(running);\n}\nfunction resolveTargetOptions(target, newOptions) {\n if (!newOptions) {\n return;\n }\n let options = target.options;\n if (!options) {\n target.options = newOptions;\n return;\n }\n if (options.$shared) {\n target.options = options = Object.assign({}, options, {$shared: false, $animations: {}});\n }\n return options;\n}\n\nfunction scaleClip(scale, allowedOverflow) {\n const opts = scale && scale.options || {};\n const reverse = opts.reverse;\n const min = opts.min === undefined ? allowedOverflow : 0;\n const max = opts.max === undefined ? allowedOverflow : 0;\n return {\n start: reverse ? max : min,\n end: reverse ? min : max\n };\n}\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n if (allowedOverflow === false) {\n return false;\n }\n const x = scaleClip(xScale, allowedOverflow);\n const y = scaleClip(yScale, allowedOverflow);\n return {\n top: y.end,\n right: x.end,\n bottom: y.start,\n left: x.start\n };\n}\nfunction toClip(value) {\n let t, r, b, l;\n if (isObject(value)) {\n t = value.top;\n r = value.right;\n b = value.bottom;\n l = value.left;\n } else {\n t = r = b = l = value;\n }\n return {\n top: t,\n right: r,\n bottom: b,\n left: l,\n disabled: value === false\n };\n}\nfunction getSortedDatasetIndices(chart, filterVisible) {\n const keys = [];\n const metasets = chart._getSortedDatasetMetas(filterVisible);\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n keys.push(metasets[i].index);\n }\n return keys;\n}\nfunction applyStack(stack, value, dsIndex, options = {}) {\n const keys = stack.keys;\n const singleMode = options.mode === 'single';\n let i, ilen, datasetIndex, otherValue;\n if (value === null) {\n return;\n }\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n datasetIndex = +keys[i];\n if (datasetIndex === dsIndex) {\n if (options.all) {\n continue;\n }\n break;\n }\n otherValue = stack.values[datasetIndex];\n if (isNumberFinite(otherValue) && (singleMode || (value === 0 || sign(value) === sign(otherValue)))) {\n value += otherValue;\n }\n }\n return value;\n}\nfunction convertObjectDataToArray(data) {\n const keys = Object.keys(data);\n const adata = new Array(keys.length);\n let i, ilen, key;\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n key = keys[i];\n adata[i] = {\n x: key,\n y: data[key]\n };\n }\n return adata;\n}\nfunction isStacked(scale, meta) {\n const stacked = scale && scale.options.stacked;\n return stacked || (stacked === undefined && meta.stack !== undefined);\n}\nfunction getStackKey(indexScale, valueScale, meta) {\n return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\nfunction getUserBounds(scale) {\n const {min, max, minDefined, maxDefined} = scale.getUserBounds();\n return {\n min: minDefined ? min : Number.NEGATIVE_INFINITY,\n max: maxDefined ? max : Number.POSITIVE_INFINITY\n };\n}\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n return subStack[indexValue] || (subStack[indexValue] = {});\n}\nfunction getLastIndexInStack(stack, vScale, positive, type) {\n for (const meta of vScale.getMatchingVisibleMetas(type).reverse()) {\n const value = stack[meta.index];\n if ((positive && value > 0) || (!positive && value < 0)) {\n return meta.index;\n }\n }\n return null;\n}\nfunction updateStacks(controller, parsed) {\n const {chart, _cachedMeta: meta} = controller;\n const stacks = chart._stacks || (chart._stacks = {});\n const {iScale, vScale, index: datasetIndex} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const key = getStackKey(iScale, vScale, meta);\n const ilen = parsed.length;\n let stack;\n for (let i = 0; i < ilen; ++i) {\n const item = parsed[i];\n const {[iAxis]: index, [vAxis]: value} = item;\n const itemStacks = item._stacks || (item._stacks = {});\n stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n stack[datasetIndex] = value;\n stack._top = getLastIndexInStack(stack, vScale, true, meta.type);\n stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type);\n }\n}\nfunction getFirstScaleId(chart, axis) {\n const scales = chart.scales;\n return Object.keys(scales).filter(key => scales[key].axis === axis).shift();\n}\nfunction createDatasetContext(parent, index) {\n return createContext(parent,\n {\n active: false,\n dataset: undefined,\n datasetIndex: index,\n index,\n mode: 'default',\n type: 'dataset'\n }\n );\n}\nfunction createDataContext(parent, index, element) {\n return createContext(parent, {\n active: false,\n dataIndex: index,\n parsed: undefined,\n raw: undefined,\n element,\n index,\n mode: 'default',\n type: 'data'\n });\n}\nfunction clearStacks(meta, items) {\n const datasetIndex = meta.controller.index;\n const axis = meta.vScale && meta.vScale.axis;\n if (!axis) {\n return;\n }\n items = items || meta._parsed;\n for (const parsed of items) {\n const stacks = parsed._stacks;\n if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n return;\n }\n delete stacks[axis][datasetIndex];\n }\n}\nconst isDirectUpdateMode = (mode) => mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared) => shared ? cached : Object.assign({}, cached);\nconst createStack = (canStack, meta, chart) => canStack && !meta.hidden && meta._stacked\n && {keys: getSortedDatasetIndices(chart, true), values: null};\nclass DatasetController {\n constructor(chart, datasetIndex) {\n this.chart = chart;\n this._ctx = chart.ctx;\n this.index = datasetIndex;\n this._cachedDataOpts = {};\n this._cachedMeta = this.getMeta();\n this._type = this._cachedMeta.type;\n this.options = undefined;\n this._parsing = false;\n this._data = undefined;\n this._objectData = undefined;\n this._sharedOptions = undefined;\n this._drawStart = undefined;\n this._drawCount = undefined;\n this.enableOptionSharing = false;\n this.supportsDecimation = false;\n this.$context = undefined;\n this._syncList = [];\n this.initialize();\n }\n initialize() {\n const meta = this._cachedMeta;\n this.configure();\n this.linkScales();\n meta._stacked = isStacked(meta.vScale, meta);\n this.addElements();\n }\n updateIndex(datasetIndex) {\n if (this.index !== datasetIndex) {\n clearStacks(this._cachedMeta);\n }\n this.index = datasetIndex;\n }\n linkScales() {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n const chooseId = (axis, x, y, r) => axis === 'x' ? x : axis === 'r' ? r : y;\n const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n const indexAxis = meta.indexAxis;\n const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n meta.xScale = this.getScaleForId(xid);\n meta.yScale = this.getScaleForId(yid);\n meta.rScale = this.getScaleForId(rid);\n meta.iScale = this.getScaleForId(iid);\n meta.vScale = this.getScaleForId(vid);\n }\n getDataset() {\n return this.chart.data.datasets[this.index];\n }\n getMeta() {\n return this.chart.getDatasetMeta(this.index);\n }\n getScaleForId(scaleID) {\n return this.chart.scales[scaleID];\n }\n _getOtherScale(scale) {\n const meta = this._cachedMeta;\n return scale === meta.iScale\n ? meta.vScale\n : meta.iScale;\n }\n reset() {\n this._update('reset');\n }\n _destroy() {\n const meta = this._cachedMeta;\n if (this._data) {\n unlistenArrayEvents(this._data, this);\n }\n if (meta._stacked) {\n clearStacks(meta);\n }\n }\n _dataCheck() {\n const dataset = this.getDataset();\n const data = dataset.data || (dataset.data = []);\n const _data = this._data;\n if (isObject(data)) {\n this._data = convertObjectDataToArray(data);\n } else if (_data !== data) {\n if (_data) {\n unlistenArrayEvents(_data, this);\n const meta = this._cachedMeta;\n clearStacks(meta);\n meta._parsed = [];\n }\n if (data && Object.isExtensible(data)) {\n listenArrayEvents(data, this);\n }\n this._syncList = [];\n this._data = data;\n }\n }\n addElements() {\n const meta = this._cachedMeta;\n this._dataCheck();\n if (this.datasetElementType) {\n meta.dataset = new this.datasetElementType();\n }\n }\n buildOrUpdateElements(resetNewElements) {\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n let stackChanged = false;\n this._dataCheck();\n const oldStacked = meta._stacked;\n meta._stacked = isStacked(meta.vScale, meta);\n if (meta.stack !== dataset.stack) {\n stackChanged = true;\n clearStacks(meta);\n meta.stack = dataset.stack;\n }\n this._resyncElements(resetNewElements);\n if (stackChanged || oldStacked !== meta._stacked) {\n updateStacks(this, meta._parsed);\n }\n }\n configure() {\n const config = this.chart.config;\n const scopeKeys = config.datasetScopeKeys(this._type);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true);\n this.options = config.createResolver(scopes, this.getContext());\n this._parsing = this.options.parsing;\n this._cachedDataOpts = {};\n }\n parse(start, count) {\n const {_cachedMeta: meta, _data: data} = this;\n const {iScale, _stacked} = meta;\n const iAxis = iScale.axis;\n let sorted = start === 0 && count === data.length ? true : meta._sorted;\n let prev = start > 0 && meta._parsed[start - 1];\n let i, cur, parsed;\n if (this._parsing === false) {\n meta._parsed = data;\n meta._sorted = true;\n parsed = data;\n } else {\n if (isArray(data[start])) {\n parsed = this.parseArrayData(meta, data, start, count);\n } else if (isObject(data[start])) {\n parsed = this.parseObjectData(meta, data, start, count);\n } else {\n parsed = this.parsePrimitiveData(meta, data, start, count);\n }\n const isNotInOrderComparedToPrev = () => cur[iAxis] === null || (prev && cur[iAxis] < prev[iAxis]);\n for (i = 0; i < count; ++i) {\n meta._parsed[i + start] = cur = parsed[i];\n if (sorted) {\n if (isNotInOrderComparedToPrev()) {\n sorted = false;\n }\n prev = cur;\n }\n }\n meta._sorted = sorted;\n }\n if (_stacked) {\n updateStacks(this, parsed);\n }\n }\n parsePrimitiveData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = new Array(count);\n let i, ilen, index;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n parsed[i] = {\n [iAxis]: singleScale || iScale.parse(labels[index], index),\n [vAxis]: vScale.parse(data[index], index)\n };\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(item[0], index),\n y: yScale.parse(item[1], index)\n };\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(resolveObjectKey(item, xAxisKey), index),\n y: yScale.parse(resolveObjectKey(item, yAxisKey), index)\n };\n }\n return parsed;\n }\n getParsed(index) {\n return this._cachedMeta._parsed[index];\n }\n getDataElement(index) {\n return this._cachedMeta.data[index];\n }\n applyStack(scale, parsed, mode) {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const value = parsed[scale.axis];\n const stack = {\n keys: getSortedDatasetIndices(chart, true),\n values: parsed._stacks[scale.axis]\n };\n return applyStack(stack, value, meta.index, {mode});\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n const parsedValue = parsed[scale.axis];\n let value = parsedValue === null ? NaN : parsedValue;\n const values = stack && parsed._stacks[scale.axis];\n if (stack && values) {\n stack.values = values;\n value = applyStack(stack, parsedValue, this._cachedMeta.index);\n }\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n }\n getMinMax(scale, canStack) {\n const meta = this._cachedMeta;\n const _parsed = meta._parsed;\n const sorted = meta._sorted && scale === meta.iScale;\n const ilen = _parsed.length;\n const otherScale = this._getOtherScale(scale);\n const stack = createStack(canStack, meta, this.chart);\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n const {min: otherMin, max: otherMax} = getUserBounds(otherScale);\n let i, parsed;\n function _skip() {\n parsed = _parsed[i];\n const otherValue = parsed[otherScale.axis];\n return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue;\n }\n for (i = 0; i < ilen; ++i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n if (sorted) {\n break;\n }\n }\n if (sorted) {\n for (i = ilen - 1; i >= 0; --i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n break;\n }\n }\n return range;\n }\n getAllParsedValues(scale) {\n const parsed = this._cachedMeta._parsed;\n const values = [];\n let i, ilen, value;\n for (i = 0, ilen = parsed.length; i < ilen; ++i) {\n value = parsed[i][scale.axis];\n if (isNumberFinite(value)) {\n values.push(value);\n }\n }\n return values;\n }\n getMaxOverflow() {\n return false;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n };\n }\n _update(mode) {\n const meta = this._cachedMeta;\n this.update(mode || 'default');\n meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow())));\n }\n update(mode) {}\n draw() {\n const ctx = this._ctx;\n const chart = this.chart;\n const meta = this._cachedMeta;\n const elements = meta.data || [];\n const area = chart.chartArea;\n const active = [];\n const start = this._drawStart || 0;\n const count = this._drawCount || (elements.length - start);\n const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop;\n let i;\n if (meta.dataset) {\n meta.dataset.draw(ctx, area, start, count);\n }\n for (i = start; i < start + count; ++i) {\n const element = elements[i];\n if (element.hidden) {\n continue;\n }\n if (element.active && drawActiveElementsOnTop) {\n active.push(element);\n } else {\n element.draw(ctx, area);\n }\n }\n for (i = 0; i < active.length; ++i) {\n active[i].draw(ctx, area);\n }\n }\n getStyle(index, active) {\n const mode = active ? 'active' : 'default';\n return index === undefined && this._cachedMeta.dataset\n ? this.resolveDatasetElementOptions(mode)\n : this.resolveDataElementOptions(index || 0, mode);\n }\n getContext(index, active, mode) {\n const dataset = this.getDataset();\n let context;\n if (index >= 0 && index < this._cachedMeta.data.length) {\n const element = this._cachedMeta.data[index];\n context = element.$context ||\n (element.$context = createDataContext(this.getContext(), index, element));\n context.parsed = this.getParsed(index);\n context.raw = dataset.data[index];\n context.index = context.dataIndex = index;\n } else {\n context = this.$context ||\n (this.$context = createDatasetContext(this.chart.getContext(), this.index));\n context.dataset = dataset;\n context.index = context.datasetIndex = this.index;\n }\n context.active = !!active;\n context.mode = mode;\n return context;\n }\n resolveDatasetElementOptions(mode) {\n return this._resolveElementOptions(this.datasetElementType.id, mode);\n }\n resolveDataElementOptions(index, mode) {\n return this._resolveElementOptions(this.dataElementType.id, mode, index);\n }\n _resolveElementOptions(elementType, mode = 'default', index) {\n const active = mode === 'active';\n const cache = this._cachedDataOpts;\n const cacheKey = elementType + '-' + mode;\n const cached = cache[cacheKey];\n const sharing = this.enableOptionSharing && defined(index);\n if (cached) {\n return cloneIfNotShared(cached, sharing);\n }\n const config = this.chart.config;\n const scopeKeys = config.datasetElementScopeKeys(this._type, elementType);\n const prefixes = active ? [`${elementType}Hover`, 'hover', elementType, ''] : [elementType, ''];\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n const names = Object.keys(defaults.elements[elementType]);\n const context = () => this.getContext(index, active);\n const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n if (values.$shared) {\n values.$shared = sharing;\n cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n }\n return values;\n }\n _resolveAnimations(index, transition, active) {\n const chart = this.chart;\n const cache = this._cachedDataOpts;\n const cacheKey = `animation-${transition}`;\n const cached = cache[cacheKey];\n if (cached) {\n return cached;\n }\n let options;\n if (chart.options.animation !== false) {\n const config = this.chart.config;\n const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n options = config.createResolver(scopes, this.getContext(index, active, transition));\n }\n const animations = new Animations(chart, options && options.animations);\n if (options && options._cacheable) {\n cache[cacheKey] = Object.freeze(animations);\n }\n return animations;\n }\n getSharedOptions(options) {\n if (!options.$shared) {\n return;\n }\n return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n }\n includeOptions(mode, sharedOptions) {\n return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n }\n _getSharedOptions(start, mode) {\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const previouslySharedOptions = this._sharedOptions;\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions) || (sharedOptions !== previouslySharedOptions);\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n return {sharedOptions, includeOptions};\n }\n updateElement(element, index, properties, mode) {\n if (isDirectUpdateMode(mode)) {\n Object.assign(element, properties);\n } else {\n this._resolveAnimations(index, mode).update(element, properties);\n }\n }\n updateSharedOptions(sharedOptions, mode, newOptions) {\n if (sharedOptions && !isDirectUpdateMode(mode)) {\n this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n }\n }\n _setStyle(element, index, mode, active) {\n element.active = active;\n const options = this.getStyle(index, active);\n this._resolveAnimations(index, mode, active).update(element, {\n options: (!active && this.getSharedOptions(options)) || options\n });\n }\n removeHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', false);\n }\n setHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', true);\n }\n _removeDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', false);\n }\n }\n _setDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', true);\n }\n }\n _resyncElements(resetNewElements) {\n const data = this._data;\n const elements = this._cachedMeta.data;\n for (const [method, arg1, arg2] of this._syncList) {\n this[method](arg1, arg2);\n }\n this._syncList = [];\n const numMeta = elements.length;\n const numData = data.length;\n const count = Math.min(numData, numMeta);\n if (count) {\n this.parse(0, count);\n }\n if (numData > numMeta) {\n this._insertElements(numMeta, numData - numMeta, resetNewElements);\n } else if (numData < numMeta) {\n this._removeElements(numData, numMeta - numData);\n }\n }\n _insertElements(start, count, resetNewElements = true) {\n const meta = this._cachedMeta;\n const data = meta.data;\n const end = start + count;\n let i;\n const move = (arr) => {\n arr.length += count;\n for (i = arr.length - 1; i >= end; i--) {\n arr[i] = arr[i - count];\n }\n };\n move(data);\n for (i = start; i < end; ++i) {\n data[i] = new this.dataElementType();\n }\n if (this._parsing) {\n move(meta._parsed);\n }\n this.parse(start, count);\n if (resetNewElements) {\n this.updateElements(data, start, count, 'reset');\n }\n }\n updateElements(element, start, count, mode) {}\n _removeElements(start, count) {\n const meta = this._cachedMeta;\n if (this._parsing) {\n const removed = meta._parsed.splice(start, count);\n if (meta._stacked) {\n clearStacks(meta, removed);\n }\n }\n meta.data.splice(start, count);\n }\n _sync(args) {\n if (this._parsing) {\n this._syncList.push(args);\n } else {\n const [method, arg1, arg2] = args;\n this[method](arg1, arg2);\n }\n this.chart._dataChanges.push([this.index, ...args]);\n }\n _onDataPush() {\n const count = arguments.length;\n this._sync(['_insertElements', this.getDataset().data.length - count, count]);\n }\n _onDataPop() {\n this._sync(['_removeElements', this._cachedMeta.data.length - 1, 1]);\n }\n _onDataShift() {\n this._sync(['_removeElements', 0, 1]);\n }\n _onDataSplice(start, count) {\n if (count) {\n this._sync(['_removeElements', start, count]);\n }\n const newCount = arguments.length - 2;\n if (newCount) {\n this._sync(['_insertElements', start, newCount]);\n }\n }\n _onDataUnshift() {\n this._sync(['_insertElements', 0, arguments.length]);\n }\n}\nDatasetController.defaults = {};\nDatasetController.prototype.datasetElementType = null;\nDatasetController.prototype.dataElementType = null;\n\nfunction getAllScaleValues(scale, type) {\n if (!scale._cache.$bar) {\n const visibleMetas = scale.getMatchingVisibleMetas(type);\n let values = [];\n for (let i = 0, ilen = visibleMetas.length; i < ilen; i++) {\n values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale));\n }\n scale._cache.$bar = _arrayUnique(values.sort((a, b) => a - b));\n }\n return scale._cache.$bar;\n}\nfunction computeMinSampleSize(meta) {\n const scale = meta.iScale;\n const values = getAllScaleValues(scale, meta.type);\n let min = scale._length;\n let i, ilen, curr, prev;\n const updateMinAndPrev = () => {\n if (curr === 32767 || curr === -32768) {\n return;\n }\n if (defined(prev)) {\n min = Math.min(min, Math.abs(curr - prev) || min);\n }\n prev = curr;\n };\n for (i = 0, ilen = values.length; i < ilen; ++i) {\n curr = scale.getPixelForValue(values[i]);\n updateMinAndPrev();\n }\n prev = undefined;\n for (i = 0, ilen = scale.ticks.length; i < ilen; ++i) {\n curr = scale.getPixelForTick(i);\n updateMinAndPrev();\n }\n return min;\n}\nfunction computeFitCategoryTraits(index, ruler, options, stackCount) {\n const thickness = options.barThickness;\n let size, ratio;\n if (isNullOrUndef(thickness)) {\n size = ruler.min * options.categoryPercentage;\n ratio = options.barPercentage;\n } else {\n size = thickness * stackCount;\n ratio = 1;\n }\n return {\n chunk: size / stackCount,\n ratio,\n start: ruler.pixels[index] - (size / 2)\n };\n}\nfunction computeFlexCategoryTraits(index, ruler, options, stackCount) {\n const pixels = ruler.pixels;\n const curr = pixels[index];\n let prev = index > 0 ? pixels[index - 1] : null;\n let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n const percent = options.categoryPercentage;\n if (prev === null) {\n prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n }\n if (next === null) {\n next = curr + curr - prev;\n }\n const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n const size = Math.abs(next - prev) / 2 * percent;\n return {\n chunk: size / stackCount,\n ratio: options.barPercentage,\n start\n };\n}\nfunction parseFloatBar(entry, item, vScale, i) {\n const startValue = vScale.parse(entry[0], i);\n const endValue = vScale.parse(entry[1], i);\n const min = Math.min(startValue, endValue);\n const max = Math.max(startValue, endValue);\n let barStart = min;\n let barEnd = max;\n if (Math.abs(min) > Math.abs(max)) {\n barStart = max;\n barEnd = min;\n }\n item[vScale.axis] = barEnd;\n item._custom = {\n barStart,\n barEnd,\n start: startValue,\n end: endValue,\n min,\n max\n };\n}\nfunction parseValue(entry, item, vScale, i) {\n if (isArray(entry)) {\n parseFloatBar(entry, item, vScale, i);\n } else {\n item[vScale.axis] = vScale.parse(entry, i);\n }\n return item;\n}\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = [];\n let i, ilen, item, entry;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n entry = data[i];\n item = {};\n item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n parsed.push(parseValue(entry, item, vScale, i));\n }\n return parsed;\n}\nfunction isFloatBar(custom) {\n return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\nfunction barSign(size, vScale, actualBase) {\n if (size !== 0) {\n return sign(size);\n }\n return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\nfunction borderProps(properties) {\n let reverse, start, end, top, bottom;\n if (properties.horizontal) {\n reverse = properties.base > properties.x;\n start = 'left';\n end = 'right';\n } else {\n reverse = properties.base < properties.y;\n start = 'bottom';\n end = 'top';\n }\n if (reverse) {\n top = 'end';\n bottom = 'start';\n } else {\n top = 'start';\n bottom = 'end';\n }\n return {start, end, reverse, top, bottom};\n}\nfunction setBorderSkipped(properties, options, stack, index) {\n let edge = options.borderSkipped;\n const res = {};\n if (!edge) {\n properties.borderSkipped = res;\n return;\n }\n if (edge === true) {\n properties.borderSkipped = {top: true, right: true, bottom: true, left: true};\n return;\n }\n const {start, end, reverse, top, bottom} = borderProps(properties);\n if (edge === 'middle' && stack) {\n properties.enableBorderRadius = true;\n if ((stack._top || 0) === index) {\n edge = top;\n } else if ((stack._bottom || 0) === index) {\n edge = bottom;\n } else {\n res[parseEdge(bottom, start, end, reverse)] = true;\n edge = top;\n }\n }\n res[parseEdge(edge, start, end, reverse)] = true;\n properties.borderSkipped = res;\n}\nfunction parseEdge(edge, a, b, reverse) {\n if (reverse) {\n edge = swap(edge, a, b);\n edge = startEnd(edge, b, a);\n } else {\n edge = startEnd(edge, a, b);\n }\n return edge;\n}\nfunction swap(orig, v1, v2) {\n return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\nfunction startEnd(v, start, end) {\n return v === 'start' ? start : v === 'end' ? end : v;\n}\nfunction setInflateAmount(properties, {inflateAmount}, ratio) {\n properties.inflateAmount = inflateAmount === 'auto'\n ? ratio === 1 ? 0.33 : 0\n : inflateAmount;\n}\nclass BarController extends DatasetController {\n parsePrimitiveData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseArrayData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseObjectData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n const parsed = [];\n let i, ilen, item, obj;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n obj = data[i];\n item = {};\n item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i);\n parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i));\n }\n return parsed;\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n super.updateRangeFromParsed(range, scale, parsed, stack);\n const custom = parsed._custom;\n if (custom && scale === this._cachedMeta.vScale) {\n range.min = Math.min(range.min, custom.min);\n range.max = Math.max(range.max, custom.max);\n }\n }\n getMaxOverflow() {\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {iScale, vScale} = meta;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const value = isFloatBar(custom)\n ? '[' + custom.start + ', ' + custom.end + ']'\n : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n return {\n label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n value\n };\n }\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n const meta = this._cachedMeta;\n meta.stack = this.getDataset().stack;\n }\n update(mode) {\n const meta = this._cachedMeta;\n this.updateElements(meta.data, 0, meta.data.length, mode);\n }\n updateElements(bars, start, count, mode) {\n const reset = mode === 'reset';\n const {index, _cachedMeta: {vScale}} = this;\n const base = vScale.getBasePixel();\n const horizontal = vScale.isHorizontal();\n const ruler = this._getRuler();\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n for (let i = start; i < start + count; i++) {\n const parsed = this.getParsed(i);\n const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {base, head: base} : this._calculateBarValuePixels(i);\n const ipixels = this._calculateBarIndexPixels(i, ruler);\n const stack = (parsed._stacks || {})[vScale.axis];\n const properties = {\n horizontal,\n base: vpixels.base,\n enableBorderRadius: !stack || isFloatBar(parsed._custom) || (index === stack._top || index === stack._bottom),\n x: horizontal ? vpixels.head : ipixels.center,\n y: horizontal ? ipixels.center : vpixels.head,\n height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n }\n const options = properties.options || bars[i].options;\n setBorderSkipped(properties, options, stack, index);\n setInflateAmount(properties, options, ruler.ratio);\n this.updateElement(bars[i], i, properties, mode);\n }\n }\n _getStacks(last, dataIndex) {\n const {iScale} = this._cachedMeta;\n const metasets = iScale.getMatchingVisibleMetas(this._type)\n .filter(meta => meta.controller.options.grouped);\n const stacked = iScale.options.stacked;\n const stacks = [];\n const skipNull = (meta) => {\n const parsed = meta.controller.getParsed(dataIndex);\n const val = parsed && parsed[meta.vScale.axis];\n if (isNullOrUndef(val) || isNaN(val)) {\n return true;\n }\n };\n for (const meta of metasets) {\n if (dataIndex !== undefined && skipNull(meta)) {\n continue;\n }\n if (stacked === false || stacks.indexOf(meta.stack) === -1 ||\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\n stacks.push(meta.stack);\n }\n if (meta.index === last) {\n break;\n }\n }\n if (!stacks.length) {\n stacks.push(undefined);\n }\n return stacks;\n }\n _getStackCount(index) {\n return this._getStacks(undefined, index).length;\n }\n _getStackIndex(datasetIndex, name, dataIndex) {\n const stacks = this._getStacks(datasetIndex, dataIndex);\n const index = (name !== undefined)\n ? stacks.indexOf(name)\n : -1;\n return (index === -1)\n ? stacks.length - 1\n : index;\n }\n _getRuler() {\n const opts = this.options;\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const pixels = [];\n let i, ilen;\n for (i = 0, ilen = meta.data.length; i < ilen; ++i) {\n pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i));\n }\n const barThickness = opts.barThickness;\n const min = barThickness || computeMinSampleSize(meta);\n return {\n min,\n pixels,\n start: iScale._startPixel,\n end: iScale._endPixel,\n stackCount: this._getStackCount(),\n scale: iScale,\n grouped: opts.grouped,\n ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n };\n }\n _calculateBarValuePixels(index) {\n const {_cachedMeta: {vScale, _stacked}, options: {base: baseValue, minBarLength}} = this;\n const actualBase = baseValue || 0;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const floating = isFloatBar(custom);\n let value = parsed[vScale.axis];\n let start = 0;\n let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value;\n let head, size;\n if (length !== value) {\n start = length - value;\n length = value;\n }\n if (floating) {\n value = custom.barStart;\n length = custom.barEnd - custom.barStart;\n if (value !== 0 && sign(value) !== sign(custom.barEnd)) {\n start = 0;\n }\n start += value;\n }\n const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start;\n let base = vScale.getPixelForValue(startValue);\n if (this.chart.getDataVisibility(index)) {\n head = vScale.getPixelForValue(start + length);\n } else {\n head = base;\n }\n size = head - base;\n if (Math.abs(size) < minBarLength) {\n size = barSign(size, vScale, actualBase) * minBarLength;\n if (value === actualBase) {\n base -= size / 2;\n }\n const startPixel = vScale.getPixelForDecimal(0);\n const endPixel = vScale.getPixelForDecimal(1);\n const min = Math.min(startPixel, endPixel);\n const max = Math.max(startPixel, endPixel);\n base = Math.max(Math.min(base, max), min);\n head = base + size;\n }\n if (base === vScale.getPixelForValue(actualBase)) {\n const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2;\n base += halfGrid;\n size -= halfGrid;\n }\n return {\n size,\n base,\n head,\n center: head + size / 2\n };\n }\n _calculateBarIndexPixels(index, ruler) {\n const scale = ruler.scale;\n const options = this.options;\n const skipNull = options.skipNull;\n const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity);\n let center, size;\n if (ruler.grouped) {\n const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount;\n const range = options.barThickness === 'flex'\n ? computeFlexCategoryTraits(index, ruler, options, stackCount)\n : computeFitCategoryTraits(index, ruler, options, stackCount);\n const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined);\n center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\n size = Math.min(maxBarThickness, range.chunk * range.ratio);\n } else {\n center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index);\n size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n }\n return {\n base: center - size / 2,\n head: center + size / 2,\n center,\n size\n };\n }\n draw() {\n const meta = this._cachedMeta;\n const vScale = meta.vScale;\n const rects = meta.data;\n const ilen = rects.length;\n let i = 0;\n for (; i < ilen; ++i) {\n if (this.getParsed(i)[vScale.axis] !== null) {\n rects[i].draw(this._ctx);\n }\n }\n }\n}\nBarController.id = 'bar';\nBarController.defaults = {\n datasetElementType: false,\n dataElementType: 'bar',\n categoryPercentage: 0.8,\n barPercentage: 0.9,\n grouped: true,\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'base', 'width', 'height']\n }\n }\n};\nBarController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n offset: true,\n grid: {\n offset: true\n }\n },\n _value_: {\n type: 'linear',\n beginAtZero: true,\n }\n }\n};\n\nclass BubbleController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n parsePrimitiveData(meta, data, start, count) {\n const parsed = super.parsePrimitiveData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n parsed[i]._custom = this.resolveDataElementOptions(i + start).radius;\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const parsed = super.parseArrayData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const parsed = super.parseObjectData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n getMaxOverflow() {\n const data = this._cachedMeta.data;\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {xScale, yScale} = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n const r = parsed._custom;\n return {\n label: meta.label,\n value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n };\n }\n update(mode) {\n const points = this._cachedMeta.data;\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const parsed = !reset && this.getParsed(i);\n const properties = {};\n const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n properties.skip = isNaN(iPixel) || isNaN(vPixel);\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n if (reset) {\n properties.options.radius = 0;\n }\n }\n this.updateElement(point, i, properties, mode);\n }\n }\n resolveDataElementOptions(index, mode) {\n const parsed = this.getParsed(index);\n let values = super.resolveDataElementOptions(index, mode);\n if (values.$shared) {\n values = Object.assign({}, values, {$shared: false});\n }\n const radius = values.radius;\n if (mode !== 'active') {\n values.radius = 0;\n }\n values.radius += valueOrDefault(parsed && parsed._custom, radius);\n return values;\n }\n}\nBubbleController.id = 'bubble';\nBubbleController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'borderWidth', 'radius']\n }\n }\n};\nBubbleController.overrides = {\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n }\n }\n }\n }\n};\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n let ratioX = 1;\n let ratioY = 1;\n let offsetX = 0;\n let offsetY = 0;\n if (circumference < TAU) {\n const startAngle = rotation;\n const endAngle = startAngle + circumference;\n const startX = Math.cos(startAngle);\n const startY = Math.sin(startAngle);\n const endX = Math.cos(endAngle);\n const endY = Math.sin(endAngle);\n const calcMax = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n const calcMin = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n const maxX = calcMax(0, startX, endX);\n const maxY = calcMax(HALF_PI, startY, endY);\n const minX = calcMin(PI, startX, endX);\n const minY = calcMin(PI + HALF_PI, startY, endY);\n ratioX = (maxX - minX) / 2;\n ratioY = (maxY - minY) / 2;\n offsetX = -(maxX + minX) / 2;\n offsetY = -(maxY + minY) / 2;\n }\n return {ratioX, ratioY, offsetX, offsetY};\n}\nclass DoughnutController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.enableOptionSharing = true;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.offsetX = undefined;\n this.offsetY = undefined;\n }\n linkScales() {}\n parse(start, count) {\n const data = this.getDataset().data;\n const meta = this._cachedMeta;\n if (this._parsing === false) {\n meta._parsed = data;\n } else {\n let getter = (i) => +data[i];\n if (isObject(data[start])) {\n const {key = 'value'} = this._parsing;\n getter = (i) => +resolveObjectKey(data[i], key);\n }\n let i, ilen;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n meta._parsed[i] = getter(i);\n }\n }\n }\n _getRotation() {\n return toRadians(this.options.rotation - 90);\n }\n _getCircumference() {\n return toRadians(this.options.circumference);\n }\n _getRotationExtents() {\n let min = TAU;\n let max = -TAU;\n for (let i = 0; i < this.chart.data.datasets.length; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n const controller = this.chart.getDatasetMeta(i).controller;\n const rotation = controller._getRotation();\n const circumference = controller._getCircumference();\n min = Math.min(min, rotation);\n max = Math.max(max, rotation + circumference);\n }\n }\n return {\n rotation: min,\n circumference: max - min,\n };\n }\n update(mode) {\n const chart = this.chart;\n const {chartArea} = chart;\n const meta = this._cachedMeta;\n const arcs = meta.data;\n const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing;\n const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1);\n const chartWeight = this._getRingWeight(this.index);\n const {circumference, rotation} = this._getRotationExtents();\n const {ratioX, ratioY, offsetX, offsetY} = getRatioAndOffset(rotation, circumference, cutout);\n const maxWidth = (chartArea.width - spacing) / ratioX;\n const maxHeight = (chartArea.height - spacing) / ratioY;\n const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n const outerRadius = toDimension(this.options.radius, maxRadius);\n const innerRadius = Math.max(outerRadius * cutout, 0);\n const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal();\n this.offsetX = offsetX * outerRadius;\n this.offsetY = offsetY * outerRadius;\n meta.total = this.calculateTotal();\n this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index);\n this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0);\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n _circumference(i, reset) {\n const opts = this.options;\n const meta = this._cachedMeta;\n const circumference = this._getCircumference();\n if ((reset && opts.animation.animateRotate) || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n return 0;\n }\n return this.calculateCircumference(meta._parsed[i] * circumference / TAU);\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const centerX = (chartArea.left + chartArea.right) / 2;\n const centerY = (chartArea.top + chartArea.bottom) / 2;\n const animateScale = reset && animationOpts.animateScale;\n const innerRadius = animateScale ? 0 : this.innerRadius;\n const outerRadius = animateScale ? 0 : this.outerRadius;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n let startAngle = this._getRotation();\n let i;\n for (i = 0; i < start; ++i) {\n startAngle += this._circumference(i, reset);\n }\n for (i = start; i < start + count; ++i) {\n const circumference = this._circumference(i, reset);\n const arc = arcs[i];\n const properties = {\n x: centerX + this.offsetX,\n y: centerY + this.offsetY,\n startAngle,\n endAngle: startAngle + circumference,\n circumference,\n outerRadius,\n innerRadius\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n }\n startAngle += circumference;\n this.updateElement(arc, i, properties, mode);\n }\n }\n calculateTotal() {\n const meta = this._cachedMeta;\n const metaData = meta.data;\n let total = 0;\n let i;\n for (i = 0; i < metaData.length; i++) {\n const value = meta._parsed[i];\n if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n total += Math.abs(value);\n }\n }\n return total;\n }\n calculateCircumference(value) {\n const total = this._cachedMeta.total;\n if (total > 0 && !isNaN(value)) {\n return TAU * (Math.abs(value) / total);\n }\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index], chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n getMaxBorderWidth(arcs) {\n let max = 0;\n const chart = this.chart;\n let i, ilen, meta, controller, options;\n if (!arcs) {\n for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\n if (chart.isDatasetVisible(i)) {\n meta = chart.getDatasetMeta(i);\n arcs = meta.data;\n controller = meta.controller;\n break;\n }\n }\n }\n if (!arcs) {\n return 0;\n }\n for (i = 0, ilen = arcs.length; i < ilen; ++i) {\n options = controller.resolveDataElementOptions(i);\n if (options.borderAlign !== 'inner') {\n max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n }\n }\n return max;\n }\n getMaxOffset(arcs) {\n let max = 0;\n for (let i = 0, ilen = arcs.length; i < ilen; ++i) {\n const options = this.resolveDataElementOptions(i);\n max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n }\n return max;\n }\n _getRingWeightOffset(datasetIndex) {\n let ringWeightOffset = 0;\n for (let i = 0; i < datasetIndex; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n ringWeightOffset += this._getRingWeight(i);\n }\n }\n return ringWeightOffset;\n }\n _getRingWeight(datasetIndex) {\n return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n }\n _getVisibleDatasetWeightTotal() {\n return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n }\n}\nDoughnutController.id = 'doughnut';\nDoughnutController.defaults = {\n datasetElementType: false,\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: false\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['circumference', 'endAngle', 'innerRadius', 'outerRadius', 'startAngle', 'x', 'y', 'offset', 'borderWidth', 'spacing']\n },\n },\n cutout: '50%',\n rotation: 0,\n circumference: 360,\n radius: '100%',\n spacing: 0,\n indexAxis: 'r',\n};\nDoughnutController.descriptors = {\n _scriptable: (name) => name !== 'spacing',\n _indexable: (name) => name !== 'spacing',\n};\nDoughnutController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(tooltipItem) {\n let dataLabel = tooltipItem.label;\n const value = ': ' + tooltipItem.formattedValue;\n if (isArray(dataLabel)) {\n dataLabel = dataLabel.slice();\n dataLabel[0] += value;\n } else {\n dataLabel += value;\n }\n return dataLabel;\n }\n }\n }\n }\n};\n\nclass LineController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n this.supportsDecimation = true;\n super.initialize();\n }\n update(mode) {\n const meta = this._cachedMeta;\n const {dataset: line, data: points = [], _dataset} = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n this.updateElements(points, start, count, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n const data = meta.data || [];\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n draw() {\n const meta = this._cachedMeta;\n meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n super.draw();\n }\n}\nLineController.id = 'line';\nLineController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n showLine: true,\n spanGaps: false,\n};\nLineController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n },\n _value_: {\n type: 'linear',\n },\n }\n};\n\nclass PolarAreaController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index].r, chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const arcs = this._cachedMeta.data;\n this._updateRadius();\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n getMinMax() {\n const meta = this._cachedMeta;\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n meta.data.forEach((element, index) => {\n const parsed = this.getParsed(index).r;\n if (!isNaN(parsed) && this.chart.getDataVisibility(index)) {\n if (parsed < range.min) {\n range.min = parsed;\n }\n if (parsed > range.max) {\n range.max = parsed;\n }\n }\n });\n return range;\n }\n _updateRadius() {\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n const outerRadius = Math.max(minSize / 2, 0);\n const innerRadius = Math.max(opts.cutoutPercentage ? (outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n this.outerRadius = outerRadius - (radiusLength * this.index);\n this.innerRadius = this.outerRadius - radiusLength;\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const scale = this._cachedMeta.rScale;\n const centerX = scale.xCenter;\n const centerY = scale.yCenter;\n const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI;\n let angle = datasetStartAngle;\n let i;\n const defaultAngle = 360 / this.countVisibleElements();\n for (i = 0; i < start; ++i) {\n angle += this._computeAngle(i, mode, defaultAngle);\n }\n for (i = start; i < start + count; i++) {\n const arc = arcs[i];\n let startAngle = angle;\n let endAngle = angle + this._computeAngle(i, mode, defaultAngle);\n let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0;\n angle = endAngle;\n if (reset) {\n if (animationOpts.animateScale) {\n outerRadius = 0;\n }\n if (animationOpts.animateRotate) {\n startAngle = endAngle = datasetStartAngle;\n }\n }\n const properties = {\n x: centerX,\n y: centerY,\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle,\n options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n };\n this.updateElement(arc, i, properties, mode);\n }\n }\n countVisibleElements() {\n const meta = this._cachedMeta;\n let count = 0;\n meta.data.forEach((element, index) => {\n if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) {\n count++;\n }\n });\n return count;\n }\n _computeAngle(index, mode, defaultAngle) {\n return this.chart.getDataVisibility(index)\n ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle)\n : 0;\n }\n}\nPolarAreaController.id = 'polarArea';\nPolarAreaController.defaults = {\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: true\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius']\n },\n },\n indexAxis: 'r',\n startAngle: 0,\n};\nPolarAreaController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(context) {\n return context.chart.data.labels[context.dataIndex] + ': ' + context.formattedValue;\n }\n }\n }\n },\n scales: {\n r: {\n type: 'radialLinear',\n angleLines: {\n display: false\n },\n beginAtZero: true,\n grid: {\n circular: true\n },\n pointLabels: {\n display: false\n },\n startAngle: 0\n }\n }\n};\n\nclass PieController extends DoughnutController {\n}\nPieController.id = 'pie';\nPieController.defaults = {\n cutout: 0,\n rotation: 0,\n circumference: 360,\n radius: '100%'\n};\n\nclass RadarController extends DatasetController {\n getLabelAndValue(index) {\n const vScale = this._cachedMeta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: vScale.getLabels()[index],\n value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const meta = this._cachedMeta;\n const line = meta.dataset;\n const points = meta.data || [];\n const labels = meta.iScale.getLabels();\n line.points = points;\n if (mode !== 'resize') {\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n const properties = {\n _loop: true,\n _fullLoop: labels.length === points.length,\n options\n };\n this.updateElement(line, undefined, properties, mode);\n }\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const scale = this._cachedMeta.rScale;\n const reset = mode === 'reset';\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r);\n const x = reset ? scale.xCenter : pointPosition.x;\n const y = reset ? scale.yCenter : pointPosition.y;\n const properties = {\n x,\n y,\n angle: pointPosition.angle,\n skip: isNaN(x) || isNaN(y),\n options\n };\n this.updateElement(point, i, properties, mode);\n }\n }\n}\nRadarController.id = 'radar';\nRadarController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n indexAxis: 'r',\n showLine: true,\n elements: {\n line: {\n fill: 'start'\n }\n },\n};\nRadarController.overrides = {\n aspectRatio: 1,\n scales: {\n r: {\n type: 'radialLinear',\n }\n }\n};\n\nclass Element {\n constructor() {\n this.x = undefined;\n this.y = undefined;\n this.active = false;\n this.options = undefined;\n this.$animations = undefined;\n }\n tooltipPosition(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n hasValue() {\n return isNumber(this.x) && isNumber(this.y);\n }\n getProps(props, final) {\n const anims = this.$animations;\n if (!final || !anims) {\n return this;\n }\n const ret = {};\n props.forEach(prop => {\n ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop];\n });\n return ret;\n }\n}\nElement.defaults = {};\nElement.defaultRoutes = undefined;\n\nconst formatters = {\n values(value) {\n return isArray(value) ? value : '' + value;\n },\n numeric(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const locale = this.chart.options.locale;\n let notation;\n let delta = tickValue;\n if (ticks.length > 1) {\n const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n if (maxTick < 1e-4 || maxTick > 1e+15) {\n notation = 'scientific';\n }\n delta = calculateDelta(tickValue, ticks);\n }\n const logDelta = log10(Math.abs(delta));\n const numDecimal = Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n const options = {notation, minimumFractionDigits: numDecimal, maximumFractionDigits: numDecimal};\n Object.assign(options, this.options.ticks.format);\n return formatNumber(tickValue, locale, options);\n },\n logarithmic(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const remain = tickValue / (Math.pow(10, Math.floor(log10(tickValue))));\n if (remain === 1 || remain === 2 || remain === 5) {\n return formatters.numeric.call(this, tickValue, index, ticks);\n }\n return '';\n }\n};\nfunction calculateDelta(tickValue, ticks) {\n let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n delta = tickValue - Math.floor(tickValue);\n }\n return delta;\n}\nvar Ticks = {formatters};\n\ndefaults.set('scale', {\n display: true,\n offset: false,\n reverse: false,\n beginAtZero: false,\n bounds: 'ticks',\n grace: 0,\n grid: {\n display: true,\n lineWidth: 1,\n drawBorder: true,\n drawOnChartArea: true,\n drawTicks: true,\n tickLength: 8,\n tickWidth: (_ctx, options) => options.lineWidth,\n tickColor: (_ctx, options) => options.color,\n offset: false,\n borderDash: [],\n borderDashOffset: 0.0,\n borderWidth: 1\n },\n title: {\n display: false,\n text: '',\n padding: {\n top: 4,\n bottom: 4\n }\n },\n ticks: {\n minRotation: 0,\n maxRotation: 50,\n mirror: false,\n textStrokeWidth: 0,\n textStrokeColor: '',\n padding: 3,\n display: true,\n autoSkip: true,\n autoSkipPadding: 3,\n labelOffset: 0,\n callback: Ticks.formatters.values,\n minor: {},\n major: {},\n align: 'center',\n crossAlign: 'near',\n showLabelBackdrop: false,\n backdropColor: 'rgba(255, 255, 255, 0.75)',\n backdropPadding: 2,\n }\n});\ndefaults.route('scale.ticks', 'color', '', 'color');\ndefaults.route('scale.grid', 'color', '', 'borderColor');\ndefaults.route('scale.grid', 'borderColor', '', 'borderColor');\ndefaults.route('scale.title', 'color', '', 'color');\ndefaults.describe('scale', {\n _fallback: false,\n _scriptable: (name) => !name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n _indexable: (name) => name !== 'borderDash' && name !== 'tickBorderDash',\n});\ndefaults.describe('scales', {\n _fallback: 'scale',\n});\ndefaults.describe('scale.ticks', {\n _scriptable: (name) => name !== 'backdropPadding' && name !== 'callback',\n _indexable: (name) => name !== 'backdropPadding',\n});\n\nfunction autoSkip(scale, ticks) {\n const tickOpts = scale.options.ticks;\n const ticksLimit = tickOpts.maxTicksLimit || determineMaxTicks(scale);\n const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n const numMajorIndices = majorIndices.length;\n const first = majorIndices[0];\n const last = majorIndices[numMajorIndices - 1];\n const newTicks = [];\n if (numMajorIndices > ticksLimit) {\n skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n return newTicks;\n }\n const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n if (numMajorIndices > 0) {\n let i, ilen;\n const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n for (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) {\n skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n }\n skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n return newTicks;\n }\n skip(ticks, newTicks, spacing);\n return newTicks;\n}\nfunction determineMaxTicks(scale) {\n const offset = scale.options.offset;\n const tickLength = scale._tickSize();\n const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n const maxChart = scale._maxLength / tickLength;\n return Math.floor(Math.min(maxScale, maxChart));\n}\nfunction calculateSpacing(majorIndices, ticks, ticksLimit) {\n const evenMajorSpacing = getEvenSpacing(majorIndices);\n const spacing = ticks.length / ticksLimit;\n if (!evenMajorSpacing) {\n return Math.max(spacing, 1);\n }\n const factors = _factorize(evenMajorSpacing);\n for (let i = 0, ilen = factors.length - 1; i < ilen; i++) {\n const factor = factors[i];\n if (factor > spacing) {\n return factor;\n }\n }\n return Math.max(spacing, 1);\n}\nfunction getMajorIndices(ticks) {\n const result = [];\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (ticks[i].major) {\n result.push(i);\n }\n }\n return result;\n}\nfunction skipMajors(ticks, newTicks, majorIndices, spacing) {\n let count = 0;\n let next = majorIndices[0];\n let i;\n spacing = Math.ceil(spacing);\n for (i = 0; i < ticks.length; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = majorIndices[count * spacing];\n }\n }\n}\nfunction skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n const start = valueOrDefault(majorStart, 0);\n const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length);\n let count = 0;\n let length, i, next;\n spacing = Math.ceil(spacing);\n if (majorEnd) {\n length = majorEnd - majorStart;\n spacing = length / Math.floor(length / spacing);\n }\n next = start;\n while (next < 0) {\n count++;\n next = Math.round(start + count * spacing);\n }\n for (i = Math.max(start, 0); i < end; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = Math.round(start + count * spacing);\n }\n }\n}\nfunction getEvenSpacing(arr) {\n const len = arr.length;\n let i, diff;\n if (len < 2) {\n return false;\n }\n for (diff = arr[0], i = 1; i < len; ++i) {\n if (arr[i] - arr[i - 1] !== diff) {\n return false;\n }\n }\n return diff;\n}\n\nconst reverseAlign = (align) => align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset) => edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nfunction sample(arr, numItems) {\n const result = [];\n const increment = arr.length / numItems;\n const len = arr.length;\n let i = 0;\n for (; i < len; i += increment) {\n result.push(arr[Math.floor(i)]);\n }\n return result;\n}\nfunction getPixelForGridLine(scale, index, offsetGridLines) {\n const length = scale.ticks.length;\n const validIndex = Math.min(index, length - 1);\n const start = scale._startPixel;\n const end = scale._endPixel;\n const epsilon = 1e-6;\n let lineValue = scale.getPixelForTick(validIndex);\n let offset;\n if (offsetGridLines) {\n if (length === 1) {\n offset = Math.max(lineValue - start, end - lineValue);\n } else if (index === 0) {\n offset = (scale.getPixelForTick(1) - lineValue) / 2;\n } else {\n offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n }\n lineValue += validIndex < index ? offset : -offset;\n if (lineValue < start - epsilon || lineValue > end + epsilon) {\n return;\n }\n }\n return lineValue;\n}\nfunction garbageCollect(caches, length) {\n each(caches, (cache) => {\n const gc = cache.gc;\n const gcLen = gc.length / 2;\n let i;\n if (gcLen > length) {\n for (i = 0; i < gcLen; ++i) {\n delete cache.data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n });\n}\nfunction getTickMarkLength(options) {\n return options.drawTicks ? options.tickLength : 0;\n}\nfunction getTitleHeight(options, fallback) {\n if (!options.display) {\n return 0;\n }\n const font = toFont(options.font, fallback);\n const padding = toPadding(options.padding);\n const lines = isArray(options.text) ? options.text.length : 1;\n return (lines * font.lineHeight) + padding.height;\n}\nfunction createScaleContext(parent, scale) {\n return createContext(parent, {\n scale,\n type: 'scale'\n });\n}\nfunction createTickContext(parent, index, tick) {\n return createContext(parent, {\n tick,\n index,\n type: 'tick'\n });\n}\nfunction titleAlign(align, position, reverse) {\n let ret = _toLeftRightCenter(align);\n if ((reverse && position !== 'right') || (!reverse && position === 'right')) {\n ret = reverseAlign(ret);\n }\n return ret;\n}\nfunction titleArgs(scale, offset, position, align) {\n const {top, left, bottom, right, chart} = scale;\n const {chartArea, scales} = chart;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n const height = bottom - top;\n const width = right - left;\n if (scale.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n } else if (position === 'center') {\n titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n } else {\n titleY = offsetFromEdge(scale, position, offset);\n }\n maxWidth = right - left;\n } else {\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n } else if (position === 'center') {\n titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n } else {\n titleX = offsetFromEdge(scale, position, offset);\n }\n titleY = _alignStartEnd(align, bottom, top);\n rotation = position === 'left' ? -HALF_PI : HALF_PI;\n }\n return {titleX, titleY, maxWidth, rotation};\n}\nclass Scale extends Element {\n constructor(cfg) {\n super();\n this.id = cfg.id;\n this.type = cfg.type;\n this.options = undefined;\n this.ctx = cfg.ctx;\n this.chart = cfg.chart;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this._margins = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.maxWidth = undefined;\n this.maxHeight = undefined;\n this.paddingTop = undefined;\n this.paddingBottom = undefined;\n this.paddingLeft = undefined;\n this.paddingRight = undefined;\n this.axis = undefined;\n this.labelRotation = undefined;\n this.min = undefined;\n this.max = undefined;\n this._range = undefined;\n this.ticks = [];\n this._gridLineItems = null;\n this._labelItems = null;\n this._labelSizes = null;\n this._length = 0;\n this._maxLength = 0;\n this._longestTextCache = {};\n this._startPixel = undefined;\n this._endPixel = undefined;\n this._reversePixels = false;\n this._userMax = undefined;\n this._userMin = undefined;\n this._suggestedMax = undefined;\n this._suggestedMin = undefined;\n this._ticksLength = 0;\n this._borderValue = 0;\n this._cache = {};\n this._dataLimitsCached = false;\n this.$context = undefined;\n }\n init(options) {\n this.options = options.setContext(this.getContext());\n this.axis = options.axis;\n this._userMin = this.parse(options.min);\n this._userMax = this.parse(options.max);\n this._suggestedMin = this.parse(options.suggestedMin);\n this._suggestedMax = this.parse(options.suggestedMax);\n }\n parse(raw, index) {\n return raw;\n }\n getUserBounds() {\n let {_userMin, _userMax, _suggestedMin, _suggestedMax} = this;\n _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY);\n _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY);\n _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY);\n _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY);\n return {\n min: finiteOrDefault(_userMin, _suggestedMin),\n max: finiteOrDefault(_userMax, _suggestedMax),\n minDefined: isNumberFinite(_userMin),\n maxDefined: isNumberFinite(_userMax)\n };\n }\n getMinMax(canStack) {\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n let range;\n if (minDefined && maxDefined) {\n return {min, max};\n }\n const metas = this.getMatchingVisibleMetas();\n for (let i = 0, ilen = metas.length; i < ilen; ++i) {\n range = metas[i].controller.getMinMax(this, canStack);\n if (!minDefined) {\n min = Math.min(min, range.min);\n }\n if (!maxDefined) {\n max = Math.max(max, range.max);\n }\n }\n min = maxDefined && min > max ? max : min;\n max = minDefined && min > max ? min : max;\n return {\n min: finiteOrDefault(min, finiteOrDefault(max, min)),\n max: finiteOrDefault(max, finiteOrDefault(min, max))\n };\n }\n getPadding() {\n return {\n left: this.paddingLeft || 0,\n top: this.paddingTop || 0,\n right: this.paddingRight || 0,\n bottom: this.paddingBottom || 0\n };\n }\n getTicks() {\n return this.ticks;\n }\n getLabels() {\n const data = this.chart.data;\n return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n }\n beforeLayout() {\n this._cache = {};\n this._dataLimitsCached = false;\n }\n beforeUpdate() {\n callback(this.options.beforeUpdate, [this]);\n }\n update(maxWidth, maxHeight, margins) {\n const {beginAtZero, grace, ticks: tickOpts} = this.options;\n const sampleSize = tickOpts.sampleSize;\n this.beforeUpdate();\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins = Object.assign({\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, margins);\n this.ticks = null;\n this._labelSizes = null;\n this._gridLineItems = null;\n this._labelItems = null;\n this.beforeSetDimensions();\n this.setDimensions();\n this.afterSetDimensions();\n this._maxLength = this.isHorizontal()\n ? this.width + margins.left + margins.right\n : this.height + margins.top + margins.bottom;\n if (!this._dataLimitsCached) {\n this.beforeDataLimits();\n this.determineDataLimits();\n this.afterDataLimits();\n this._range = _addGrace(this, grace, beginAtZero);\n this._dataLimitsCached = true;\n }\n this.beforeBuildTicks();\n this.ticks = this.buildTicks() || [];\n this.afterBuildTicks();\n const samplingEnabled = sampleSize < this.ticks.length;\n this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks);\n this.configure();\n this.beforeCalculateLabelRotation();\n this.calculateLabelRotation();\n this.afterCalculateLabelRotation();\n if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n this.ticks = autoSkip(this, this.ticks);\n this._labelSizes = null;\n this.afterAutoSkip();\n }\n if (samplingEnabled) {\n this._convertTicksToLabels(this.ticks);\n }\n this.beforeFit();\n this.fit();\n this.afterFit();\n this.afterUpdate();\n }\n configure() {\n let reversePixels = this.options.reverse;\n let startPixel, endPixel;\n if (this.isHorizontal()) {\n startPixel = this.left;\n endPixel = this.right;\n } else {\n startPixel = this.top;\n endPixel = this.bottom;\n reversePixels = !reversePixels;\n }\n this._startPixel = startPixel;\n this._endPixel = endPixel;\n this._reversePixels = reversePixels;\n this._length = endPixel - startPixel;\n this._alignToPixels = this.options.alignToPixels;\n }\n afterUpdate() {\n callback(this.options.afterUpdate, [this]);\n }\n beforeSetDimensions() {\n callback(this.options.beforeSetDimensions, [this]);\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = 0;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = 0;\n this.bottom = this.height;\n }\n this.paddingLeft = 0;\n this.paddingTop = 0;\n this.paddingRight = 0;\n this.paddingBottom = 0;\n }\n afterSetDimensions() {\n callback(this.options.afterSetDimensions, [this]);\n }\n _callHooks(name) {\n this.chart.notifyPlugins(name, this.getContext());\n callback(this.options[name], [this]);\n }\n beforeDataLimits() {\n this._callHooks('beforeDataLimits');\n }\n determineDataLimits() {}\n afterDataLimits() {\n this._callHooks('afterDataLimits');\n }\n beforeBuildTicks() {\n this._callHooks('beforeBuildTicks');\n }\n buildTicks() {\n return [];\n }\n afterBuildTicks() {\n this._callHooks('afterBuildTicks');\n }\n beforeTickToLabelConversion() {\n callback(this.options.beforeTickToLabelConversion, [this]);\n }\n generateTickLabels(ticks) {\n const tickOpts = this.options.ticks;\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n tick = ticks[i];\n tick.label = callback(tickOpts.callback, [tick.value, i, ticks], this);\n }\n }\n afterTickToLabelConversion() {\n callback(this.options.afterTickToLabelConversion, [this]);\n }\n beforeCalculateLabelRotation() {\n callback(this.options.beforeCalculateLabelRotation, [this]);\n }\n calculateLabelRotation() {\n const options = this.options;\n const tickOpts = options.ticks;\n const numTicks = this.ticks.length;\n const minRotation = tickOpts.minRotation || 0;\n const maxRotation = tickOpts.maxRotation;\n let labelRotation = minRotation;\n let tickWidth, maxHeight, maxLabelDiagonal;\n if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) {\n this.labelRotation = minRotation;\n return;\n }\n const labelSizes = this._getLabelSizes();\n const maxLabelWidth = labelSizes.widest.width;\n const maxLabelHeight = labelSizes.highest.height;\n const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth);\n tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1);\n if (maxLabelWidth + 6 > tickWidth) {\n tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n maxHeight = this.maxHeight - getTickMarkLength(options.grid)\n\t\t\t\t- tickOpts.padding - getTitleHeight(options.title, this.chart.options.font);\n maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n labelRotation = toDegrees(Math.min(\n Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)),\n Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1))\n ));\n labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n }\n this.labelRotation = labelRotation;\n }\n afterCalculateLabelRotation() {\n callback(this.options.afterCalculateLabelRotation, [this]);\n }\n afterAutoSkip() {}\n beforeFit() {\n callback(this.options.beforeFit, [this]);\n }\n fit() {\n const minSize = {\n width: 0,\n height: 0\n };\n const {chart, options: {ticks: tickOpts, title: titleOpts, grid: gridOpts}} = this;\n const display = this._isVisible();\n const isHorizontal = this.isHorizontal();\n if (display) {\n const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n if (isHorizontal) {\n minSize.width = this.maxWidth;\n minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n } else {\n minSize.height = this.maxHeight;\n minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n }\n if (tickOpts.display && this.ticks.length) {\n const {first, last, widest, highest} = this._getLabelSizes();\n const tickPadding = tickOpts.padding * 2;\n const angleRadians = toRadians(this.labelRotation);\n const cos = Math.cos(angleRadians);\n const sin = Math.sin(angleRadians);\n if (isHorizontal) {\n const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding);\n } else {\n const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding);\n }\n this._calculatePadding(first, last, sin, cos);\n }\n }\n this._handleMargins();\n if (isHorizontal) {\n this.width = this._length = chart.width - this._margins.left - this._margins.right;\n this.height = minSize.height;\n } else {\n this.width = minSize.width;\n this.height = this._length = chart.height - this._margins.top - this._margins.bottom;\n }\n }\n _calculatePadding(first, last, sin, cos) {\n const {ticks: {align, padding}, position} = this.options;\n const isRotated = this.labelRotation !== 0;\n const labelsBelowTicks = position !== 'top' && this.axis === 'x';\n if (this.isHorizontal()) {\n const offsetLeft = this.getPixelForTick(0) - this.left;\n const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1);\n let paddingLeft = 0;\n let paddingRight = 0;\n if (isRotated) {\n if (labelsBelowTicks) {\n paddingLeft = cos * first.width;\n paddingRight = sin * last.height;\n } else {\n paddingLeft = sin * first.height;\n paddingRight = cos * last.width;\n }\n } else if (align === 'start') {\n paddingRight = last.width;\n } else if (align === 'end') {\n paddingLeft = first.width;\n } else if (align !== 'inner') {\n paddingLeft = first.width / 2;\n paddingRight = last.width / 2;\n }\n this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0);\n this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0);\n } else {\n let paddingTop = last.height / 2;\n let paddingBottom = first.height / 2;\n if (align === 'start') {\n paddingTop = 0;\n paddingBottom = first.height;\n } else if (align === 'end') {\n paddingTop = last.height;\n paddingBottom = 0;\n }\n this.paddingTop = paddingTop + padding;\n this.paddingBottom = paddingBottom + padding;\n }\n }\n _handleMargins() {\n if (this._margins) {\n this._margins.left = Math.max(this.paddingLeft, this._margins.left);\n this._margins.top = Math.max(this.paddingTop, this._margins.top);\n this._margins.right = Math.max(this.paddingRight, this._margins.right);\n this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom);\n }\n }\n afterFit() {\n callback(this.options.afterFit, [this]);\n }\n isHorizontal() {\n const {axis, position} = this.options;\n return position === 'top' || position === 'bottom' || axis === 'x';\n }\n isFullSize() {\n return this.options.fullSize;\n }\n _convertTicksToLabels(ticks) {\n this.beforeTickToLabelConversion();\n this.generateTickLabels(ticks);\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (isNullOrUndef(ticks[i].label)) {\n ticks.splice(i, 1);\n ilen--;\n i--;\n }\n }\n this.afterTickToLabelConversion();\n }\n _getLabelSizes() {\n let labelSizes = this._labelSizes;\n if (!labelSizes) {\n const sampleSize = this.options.ticks.sampleSize;\n let ticks = this.ticks;\n if (sampleSize < ticks.length) {\n ticks = sample(ticks, sampleSize);\n }\n this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length);\n }\n return labelSizes;\n }\n _computeLabelSizes(ticks, length) {\n const {ctx, _longestTextCache: caches} = this;\n const widths = [];\n const heights = [];\n let widestLabelSize = 0;\n let highestLabelSize = 0;\n let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n for (i = 0; i < length; ++i) {\n label = ticks[i].label;\n tickFont = this._resolveTickFontOptions(i);\n ctx.font = fontString = tickFont.string;\n cache = caches[fontString] = caches[fontString] || {data: {}, gc: []};\n lineHeight = tickFont.lineHeight;\n width = height = 0;\n if (!isNullOrUndef(label) && !isArray(label)) {\n width = _measureText(ctx, cache.data, cache.gc, width, label);\n height = lineHeight;\n } else if (isArray(label)) {\n for (j = 0, jlen = label.length; j < jlen; ++j) {\n nestedLabel = label[j];\n if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\n width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel);\n height += lineHeight;\n }\n }\n }\n widths.push(width);\n heights.push(height);\n widestLabelSize = Math.max(width, widestLabelSize);\n highestLabelSize = Math.max(height, highestLabelSize);\n }\n garbageCollect(caches, length);\n const widest = widths.indexOf(widestLabelSize);\n const highest = heights.indexOf(highestLabelSize);\n const valueAt = (idx) => ({width: widths[idx] || 0, height: heights[idx] || 0});\n return {\n first: valueAt(0),\n last: valueAt(length - 1),\n widest: valueAt(widest),\n highest: valueAt(highest),\n widths,\n heights,\n };\n }\n getLabelForValue(value) {\n return value;\n }\n getPixelForValue(value, index) {\n return NaN;\n }\n getValueForPixel(pixel) {}\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getPixelForDecimal(decimal) {\n if (this._reversePixels) {\n decimal = 1 - decimal;\n }\n const pixel = this._startPixel + decimal * this._length;\n return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel);\n }\n getDecimalForPixel(pixel) {\n const decimal = (pixel - this._startPixel) / this._length;\n return this._reversePixels ? 1 - decimal : decimal;\n }\n getBasePixel() {\n return this.getPixelForValue(this.getBaseValue());\n }\n getBaseValue() {\n const {min, max} = this;\n return min < 0 && max < 0 ? max :\n min > 0 && max > 0 ? min :\n 0;\n }\n getContext(index) {\n const ticks = this.ticks || [];\n if (index >= 0 && index < ticks.length) {\n const tick = ticks[index];\n return tick.$context ||\n\t\t\t\t(tick.$context = createTickContext(this.getContext(), index, tick));\n }\n return this.$context ||\n\t\t\t(this.$context = createScaleContext(this.chart.getContext(), this));\n }\n _tickSize() {\n const optionTicks = this.options.ticks;\n const rot = toRadians(this.labelRotation);\n const cos = Math.abs(Math.cos(rot));\n const sin = Math.abs(Math.sin(rot));\n const labelSizes = this._getLabelSizes();\n const padding = optionTicks.autoSkipPadding || 0;\n const w = labelSizes ? labelSizes.widest.width + padding : 0;\n const h = labelSizes ? labelSizes.highest.height + padding : 0;\n return this.isHorizontal()\n ? h * cos > w * sin ? w / cos : h / sin\n : h * sin < w * cos ? h / cos : w / sin;\n }\n _isVisible() {\n const display = this.options.display;\n if (display !== 'auto') {\n return !!display;\n }\n return this.getMatchingVisibleMetas().length > 0;\n }\n _computeGridLineItems(chartArea) {\n const axis = this.axis;\n const chart = this.chart;\n const options = this.options;\n const {grid, position} = options;\n const offset = grid.offset;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const ticksLength = ticks.length + (offset ? 1 : 0);\n const tl = getTickMarkLength(grid);\n const items = [];\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = borderOpts.drawBorder ? borderOpts.borderWidth : 0;\n const axisHalfWidth = axisWidth / 2;\n const alignBorderValue = function(pixel) {\n return _alignPixel(chart, pixel, axisWidth);\n };\n let borderValue, i, lineValue, alignedLineValue;\n let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n if (position === 'top') {\n borderValue = alignBorderValue(this.bottom);\n ty1 = this.bottom - tl;\n ty2 = borderValue - axisHalfWidth;\n y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n y2 = chartArea.bottom;\n } else if (position === 'bottom') {\n borderValue = alignBorderValue(this.top);\n y1 = chartArea.top;\n y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n ty1 = borderValue + axisHalfWidth;\n ty2 = this.top + tl;\n } else if (position === 'left') {\n borderValue = alignBorderValue(this.right);\n tx1 = this.right - tl;\n tx2 = borderValue - axisHalfWidth;\n x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n x2 = chartArea.right;\n } else if (position === 'right') {\n borderValue = alignBorderValue(this.left);\n x1 = chartArea.left;\n x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n tx1 = borderValue + axisHalfWidth;\n tx2 = this.left + tl;\n } else if (axis === 'x') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n y1 = chartArea.top;\n y2 = chartArea.bottom;\n ty1 = borderValue + axisHalfWidth;\n ty2 = ty1 + tl;\n } else if (axis === 'y') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n tx1 = borderValue - axisHalfWidth;\n tx2 = tx1 - tl;\n x1 = chartArea.left;\n x2 = chartArea.right;\n }\n const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength);\n const step = Math.max(1, Math.ceil(ticksLength / limit));\n for (i = 0; i < ticksLength; i += step) {\n const optsAtIndex = grid.setContext(this.getContext(i));\n const lineWidth = optsAtIndex.lineWidth;\n const lineColor = optsAtIndex.color;\n const borderDash = optsAtIndex.borderDash || [];\n const borderDashOffset = optsAtIndex.borderDashOffset;\n const tickWidth = optsAtIndex.tickWidth;\n const tickColor = optsAtIndex.tickColor;\n const tickBorderDash = optsAtIndex.tickBorderDash || [];\n const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n lineValue = getPixelForGridLine(this, i, offset);\n if (lineValue === undefined) {\n continue;\n }\n alignedLineValue = _alignPixel(chart, lineValue, lineWidth);\n if (isHorizontal) {\n tx1 = tx2 = x1 = x2 = alignedLineValue;\n } else {\n ty1 = ty2 = y1 = y2 = alignedLineValue;\n }\n items.push({\n tx1,\n ty1,\n tx2,\n ty2,\n x1,\n y1,\n x2,\n y2,\n width: lineWidth,\n color: lineColor,\n borderDash,\n borderDashOffset,\n tickWidth,\n tickColor,\n tickBorderDash,\n tickBorderDashOffset,\n });\n }\n this._ticksLength = ticksLength;\n this._borderValue = borderValue;\n return items;\n }\n _computeLabelItems(chartArea) {\n const axis = this.axis;\n const options = this.options;\n const {position, ticks: optionTicks} = options;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const {align, crossAlign, padding, mirror} = optionTicks;\n const tl = getTickMarkLength(options.grid);\n const tickAndPadding = tl + padding;\n const hTickAndPadding = mirror ? -padding : tickAndPadding;\n const rotation = -toRadians(this.labelRotation);\n const items = [];\n let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n let textBaseline = 'middle';\n if (position === 'top') {\n y = this.bottom - hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'bottom') {\n y = this.top + hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'left') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (position === 'right') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (axis === 'x') {\n if (position === 'center') {\n y = ((chartArea.top + chartArea.bottom) / 2) + tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n }\n textAlign = this._getXAxisLabelAlignment();\n } else if (axis === 'y') {\n if (position === 'center') {\n x = ((chartArea.left + chartArea.right) / 2) - tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n x = this.chart.scales[positionAxisID].getPixelForValue(value);\n }\n textAlign = this._getYAxisLabelAlignment(tl).textAlign;\n }\n if (axis === 'y') {\n if (align === 'start') {\n textBaseline = 'top';\n } else if (align === 'end') {\n textBaseline = 'bottom';\n }\n }\n const labelSizes = this._getLabelSizes();\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n label = tick.label;\n const optsAtIndex = optionTicks.setContext(this.getContext(i));\n pixel = this.getPixelForTick(i) + optionTicks.labelOffset;\n font = this._resolveTickFontOptions(i);\n lineHeight = font.lineHeight;\n lineCount = isArray(label) ? label.length : 1;\n const halfCount = lineCount / 2;\n const color = optsAtIndex.color;\n const strokeColor = optsAtIndex.textStrokeColor;\n const strokeWidth = optsAtIndex.textStrokeWidth;\n let tickTextAlign = textAlign;\n if (isHorizontal) {\n x = pixel;\n if (textAlign === 'inner') {\n if (i === ilen - 1) {\n tickTextAlign = !this.options.reverse ? 'right' : 'left';\n } else if (i === 0) {\n tickTextAlign = !this.options.reverse ? 'left' : 'right';\n } else {\n tickTextAlign = 'center';\n }\n }\n if (position === 'top') {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = -lineCount * lineHeight + lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n } else {\n textOffset = -labelSizes.highest.height + lineHeight / 2;\n }\n } else {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n } else {\n textOffset = labelSizes.highest.height - lineCount * lineHeight;\n }\n }\n if (mirror) {\n textOffset *= -1;\n }\n } else {\n y = pixel;\n textOffset = (1 - lineCount) * lineHeight / 2;\n }\n let backdrop;\n if (optsAtIndex.showLabelBackdrop) {\n const labelPadding = toPadding(optsAtIndex.backdropPadding);\n const height = labelSizes.heights[i];\n const width = labelSizes.widths[i];\n let top = y + textOffset - labelPadding.top;\n let left = x - labelPadding.left;\n switch (textBaseline) {\n case 'middle':\n top -= height / 2;\n break;\n case 'bottom':\n top -= height;\n break;\n }\n switch (textAlign) {\n case 'center':\n left -= width / 2;\n break;\n case 'right':\n left -= width;\n break;\n }\n backdrop = {\n left,\n top,\n width: width + labelPadding.width,\n height: height + labelPadding.height,\n color: optsAtIndex.backdropColor,\n };\n }\n items.push({\n rotation,\n label,\n font,\n color,\n strokeColor,\n strokeWidth,\n textOffset,\n textAlign: tickTextAlign,\n textBaseline,\n translation: [x, y],\n backdrop,\n });\n }\n return items;\n }\n _getXAxisLabelAlignment() {\n const {position, ticks} = this.options;\n const rotation = -toRadians(this.labelRotation);\n if (rotation) {\n return position === 'top' ? 'left' : 'right';\n }\n let align = 'center';\n if (ticks.align === 'start') {\n align = 'left';\n } else if (ticks.align === 'end') {\n align = 'right';\n } else if (ticks.align === 'inner') {\n align = 'inner';\n }\n return align;\n }\n _getYAxisLabelAlignment(tl) {\n const {position, ticks: {crossAlign, mirror, padding}} = this.options;\n const labelSizes = this._getLabelSizes();\n const tickAndPadding = tl + padding;\n const widest = labelSizes.widest.width;\n let textAlign;\n let x;\n if (position === 'left') {\n if (mirror) {\n x = this.right + padding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += (widest / 2);\n } else {\n textAlign = 'right';\n x += widest;\n }\n } else {\n x = this.right - tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x = this.left;\n }\n }\n } else if (position === 'right') {\n if (mirror) {\n x = this.left + padding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x -= widest;\n }\n } else {\n x = this.left + tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x = this.right;\n }\n }\n } else {\n textAlign = 'right';\n }\n return {textAlign, x};\n }\n _computeLabelArea() {\n if (this.options.ticks.mirror) {\n return;\n }\n const chart = this.chart;\n const position = this.options.position;\n if (position === 'left' || position === 'right') {\n return {top: 0, left: this.left, bottom: chart.height, right: this.right};\n } if (position === 'top' || position === 'bottom') {\n return {top: this.top, left: 0, bottom: this.bottom, right: chart.width};\n }\n }\n drawBackground() {\n const {ctx, options: {backgroundColor}, left, top, width, height} = this;\n if (backgroundColor) {\n ctx.save();\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(left, top, width, height);\n ctx.restore();\n }\n }\n getLineWidthForValue(value) {\n const grid = this.options.grid;\n if (!this._isVisible() || !grid.display) {\n return 0;\n }\n const ticks = this.ticks;\n const index = ticks.findIndex(t => t.value === value);\n if (index >= 0) {\n const opts = grid.setContext(this.getContext(index));\n return opts.lineWidth;\n }\n return 0;\n }\n drawGrid(chartArea) {\n const grid = this.options.grid;\n const ctx = this.ctx;\n const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea));\n let i, ilen;\n const drawLine = (p1, p2, style) => {\n if (!style.width || !style.color) {\n return;\n }\n ctx.save();\n ctx.lineWidth = style.width;\n ctx.strokeStyle = style.color;\n ctx.setLineDash(style.borderDash || []);\n ctx.lineDashOffset = style.borderDashOffset;\n ctx.beginPath();\n ctx.moveTo(p1.x, p1.y);\n ctx.lineTo(p2.x, p2.y);\n ctx.stroke();\n ctx.restore();\n };\n if (grid.display) {\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n if (grid.drawOnChartArea) {\n drawLine(\n {x: item.x1, y: item.y1},\n {x: item.x2, y: item.y2},\n item\n );\n }\n if (grid.drawTicks) {\n drawLine(\n {x: item.tx1, y: item.ty1},\n {x: item.tx2, y: item.ty2},\n {\n color: item.tickColor,\n width: item.tickWidth,\n borderDash: item.tickBorderDash,\n borderDashOffset: item.tickBorderDashOffset\n }\n );\n }\n }\n }\n }\n drawBorder() {\n const {chart, ctx, options: {grid}} = this;\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = grid.drawBorder ? borderOpts.borderWidth : 0;\n if (!axisWidth) {\n return;\n }\n const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth;\n const borderValue = this._borderValue;\n let x1, x2, y1, y2;\n if (this.isHorizontal()) {\n x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2;\n x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2;\n y1 = y2 = borderValue;\n } else {\n y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2;\n y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2;\n x1 = x2 = borderValue;\n }\n ctx.save();\n ctx.lineWidth = borderOpts.borderWidth;\n ctx.strokeStyle = borderOpts.borderColor;\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n ctx.restore();\n }\n drawLabels(chartArea) {\n const optionTicks = this.options.ticks;\n if (!optionTicks.display) {\n return;\n }\n const ctx = this.ctx;\n const area = this._computeLabelArea();\n if (area) {\n clipArea(ctx, area);\n }\n const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea));\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n const tickFont = item.font;\n const label = item.label;\n if (item.backdrop) {\n ctx.fillStyle = item.backdrop.color;\n ctx.fillRect(item.backdrop.left, item.backdrop.top, item.backdrop.width, item.backdrop.height);\n }\n let y = item.textOffset;\n renderText(ctx, label, 0, y, tickFont, item);\n }\n if (area) {\n unclipArea(ctx);\n }\n }\n drawTitle() {\n const {ctx, options: {position, title, reverse}} = this;\n if (!title.display) {\n return;\n }\n const font = toFont(title.font);\n const padding = toPadding(title.padding);\n const align = title.align;\n let offset = font.lineHeight / 2;\n if (position === 'bottom' || position === 'center' || isObject(position)) {\n offset += padding.bottom;\n if (isArray(title.text)) {\n offset += font.lineHeight * (title.text.length - 1);\n }\n } else {\n offset += padding.top;\n }\n const {titleX, titleY, maxWidth, rotation} = titleArgs(this, offset, position, align);\n renderText(ctx, title.text, 0, 0, font, {\n color: title.color,\n maxWidth,\n rotation,\n textAlign: titleAlign(align, position, reverse),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n draw(chartArea) {\n if (!this._isVisible()) {\n return;\n }\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawBorder();\n this.drawTitle();\n this.drawLabels(chartArea);\n }\n _layers() {\n const opts = this.options;\n const tz = opts.ticks && opts.ticks.z || 0;\n const gz = valueOrDefault(opts.grid && opts.grid.z, -1);\n if (!this._isVisible() || this.draw !== Scale.prototype.draw) {\n return [{\n z: tz,\n draw: (chartArea) => {\n this.draw(chartArea);\n }\n }];\n }\n return [{\n z: gz,\n draw: (chartArea) => {\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawTitle();\n }\n }, {\n z: gz + 1,\n draw: () => {\n this.drawBorder();\n }\n }, {\n z: tz,\n draw: (chartArea) => {\n this.drawLabels(chartArea);\n }\n }];\n }\n getMatchingVisibleMetas(type) {\n const metas = this.chart.getSortedVisibleDatasetMetas();\n const axisID = this.axis + 'AxisID';\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n const meta = metas[i];\n if (meta[axisID] === this.id && (!type || meta.type === type)) {\n result.push(meta);\n }\n }\n return result;\n }\n _resolveTickFontOptions(index) {\n const opts = this.options.ticks.setContext(this.getContext(index));\n return toFont(opts.font);\n }\n _maxDigits() {\n const fontSize = this._resolveTickFontOptions(0).lineHeight;\n return (this.isHorizontal() ? this.width : this.height) / fontSize;\n }\n}\n\nclass TypedRegistry {\n constructor(type, scope, override) {\n this.type = type;\n this.scope = scope;\n this.override = override;\n this.items = Object.create(null);\n }\n isForType(type) {\n return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n }\n register(item) {\n const proto = Object.getPrototypeOf(item);\n let parentScope;\n if (isIChartComponent(proto)) {\n parentScope = this.register(proto);\n }\n const items = this.items;\n const id = item.id;\n const scope = this.scope + '.' + id;\n if (!id) {\n throw new Error('class does not have id: ' + item);\n }\n if (id in items) {\n return scope;\n }\n items[id] = item;\n registerDefaults(item, scope, parentScope);\n if (this.override) {\n defaults.override(item.id, item.overrides);\n }\n return scope;\n }\n get(id) {\n return this.items[id];\n }\n unregister(item) {\n const items = this.items;\n const id = item.id;\n const scope = this.scope;\n if (id in items) {\n delete items[id];\n }\n if (scope && id in defaults[scope]) {\n delete defaults[scope][id];\n if (this.override) {\n delete overrides[id];\n }\n }\n }\n}\nfunction registerDefaults(item, scope, parentScope) {\n const itemDefaults = merge(Object.create(null), [\n parentScope ? defaults.get(parentScope) : {},\n defaults.get(scope),\n item.defaults\n ]);\n defaults.set(scope, itemDefaults);\n if (item.defaultRoutes) {\n routeDefaults(scope, item.defaultRoutes);\n }\n if (item.descriptors) {\n defaults.describe(scope, item.descriptors);\n }\n}\nfunction routeDefaults(scope, routes) {\n Object.keys(routes).forEach(property => {\n const propertyParts = property.split('.');\n const sourceName = propertyParts.pop();\n const sourceScope = [scope].concat(propertyParts).join('.');\n const parts = routes[property].split('.');\n const targetName = parts.pop();\n const targetScope = parts.join('.');\n defaults.route(sourceScope, sourceName, targetScope, targetName);\n });\n}\nfunction isIChartComponent(proto) {\n return 'id' in proto && 'defaults' in proto;\n}\n\nclass Registry {\n constructor() {\n this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n this.elements = new TypedRegistry(Element, 'elements');\n this.plugins = new TypedRegistry(Object, 'plugins');\n this.scales = new TypedRegistry(Scale, 'scales');\n this._typedRegistries = [this.controllers, this.scales, this.elements];\n }\n add(...args) {\n this._each('register', args);\n }\n remove(...args) {\n this._each('unregister', args);\n }\n addControllers(...args) {\n this._each('register', args, this.controllers);\n }\n addElements(...args) {\n this._each('register', args, this.elements);\n }\n addPlugins(...args) {\n this._each('register', args, this.plugins);\n }\n addScales(...args) {\n this._each('register', args, this.scales);\n }\n getController(id) {\n return this._get(id, this.controllers, 'controller');\n }\n getElement(id) {\n return this._get(id, this.elements, 'element');\n }\n getPlugin(id) {\n return this._get(id, this.plugins, 'plugin');\n }\n getScale(id) {\n return this._get(id, this.scales, 'scale');\n }\n removeControllers(...args) {\n this._each('unregister', args, this.controllers);\n }\n removeElements(...args) {\n this._each('unregister', args, this.elements);\n }\n removePlugins(...args) {\n this._each('unregister', args, this.plugins);\n }\n removeScales(...args) {\n this._each('unregister', args, this.scales);\n }\n _each(method, args, typedRegistry) {\n [...args].forEach(arg => {\n const reg = typedRegistry || this._getRegistryForType(arg);\n if (typedRegistry || reg.isForType(arg) || (reg === this.plugins && arg.id)) {\n this._exec(method, reg, arg);\n } else {\n each(arg, item => {\n const itemReg = typedRegistry || this._getRegistryForType(item);\n this._exec(method, itemReg, item);\n });\n }\n });\n }\n _exec(method, registry, component) {\n const camelMethod = _capitalize(method);\n callback(component['before' + camelMethod], [], component);\n registry[method](component);\n callback(component['after' + camelMethod], [], component);\n }\n _getRegistryForType(type) {\n for (let i = 0; i < this._typedRegistries.length; i++) {\n const reg = this._typedRegistries[i];\n if (reg.isForType(type)) {\n return reg;\n }\n }\n return this.plugins;\n }\n _get(id, typedRegistry, type) {\n const item = typedRegistry.get(id);\n if (item === undefined) {\n throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n }\n return item;\n }\n}\nvar registry = new Registry();\n\nclass ScatterController extends DatasetController {\n update(mode) {\n const meta = this._cachedMeta;\n const {data: points = []} = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n if (this.options.showLine) {\n const {dataset: line, _dataset} = meta;\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n }\n this.updateElements(points, start, count, mode);\n }\n addElements() {\n const {showLine} = this.options;\n if (!this.datasetElementType && showLine) {\n this.datasetElementType = registry.getElement('line');\n }\n super.addElements();\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const data = meta.data || [];\n if (!this.options.showLine) {\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n}\nScatterController.id = 'scatter';\nScatterController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n showLine: false,\n fill: false\n};\nScatterController.overrides = {\n interaction: {\n mode: 'point'\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(item) {\n return '(' + item.label + ', ' + item.formattedValue + ')';\n }\n }\n }\n },\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n};\n\nvar controllers = /*#__PURE__*/Object.freeze({\n__proto__: null,\nBarController: BarController,\nBubbleController: BubbleController,\nDoughnutController: DoughnutController,\nLineController: LineController,\nPolarAreaController: PolarAreaController,\nPieController: PieController,\nRadarController: RadarController,\nScatterController: ScatterController\n});\n\nfunction abstract() {\n throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\nclass DateAdapter {\n constructor(options) {\n this.options = options || {};\n }\n init(chartOptions) {}\n formats() {\n return abstract();\n }\n parse(value, format) {\n return abstract();\n }\n format(timestamp, format) {\n return abstract();\n }\n add(timestamp, amount, unit) {\n return abstract();\n }\n diff(a, b, unit) {\n return abstract();\n }\n startOf(timestamp, unit, weekday) {\n return abstract();\n }\n endOf(timestamp, unit) {\n return abstract();\n }\n}\nDateAdapter.override = function(members) {\n Object.assign(DateAdapter.prototype, members);\n};\nvar adapters = {\n _date: DateAdapter\n};\n\nfunction binarySearch(metaset, axis, value, intersect) {\n const {controller, data, _sorted} = metaset;\n const iScale = controller._cachedMeta.iScale;\n if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) {\n const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey;\n if (!intersect) {\n return lookupMethod(data, axis, value);\n } else if (controller._sharedOptions) {\n const el = data[0];\n const range = typeof el.getRange === 'function' && el.getRange(axis);\n if (range) {\n const start = lookupMethod(data, axis, value - range);\n const end = lookupMethod(data, axis, value + range);\n return {lo: start.lo, hi: end.hi};\n }\n }\n }\n return {lo: 0, hi: data.length - 1};\n}\nfunction evaluateInteractionItems(chart, axis, position, handler, intersect) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n const value = position[axis];\n for (let i = 0, ilen = metasets.length; i < ilen; ++i) {\n const {index, data} = metasets[i];\n const {lo, hi} = binarySearch(metasets[i], axis, value, intersect);\n for (let j = lo; j <= hi; ++j) {\n const element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\nfunction getDistanceMetricForAxis(axis) {\n const useX = axis.indexOf('x') !== -1;\n const useY = axis.indexOf('y') !== -1;\n return function(pt1, pt2) {\n const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n };\n}\nfunction getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) {\n const items = [];\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return items;\n }\n const evaluationFunc = function(element, datasetIndex, index) {\n if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) {\n return;\n }\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n items.push({element, datasetIndex, index});\n }\n };\n evaluateInteractionItems(chart, axis, position, evaluationFunc, true);\n return items;\n}\nfunction getNearestRadialItems(chart, position, axis, useFinalPosition) {\n let items = [];\n function evaluationFunc(element, datasetIndex, index) {\n const {startAngle, endAngle} = element.getProps(['startAngle', 'endAngle'], useFinalPosition);\n const {angle} = getAngleFromPoint(element, {x: position.x, y: position.y});\n if (_angleBetween(angle, startAngle, endAngle)) {\n items.push({element, datasetIndex, index});\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n let items = [];\n const distanceMetric = getDistanceMetricForAxis(axis);\n let minDistance = Number.POSITIVE_INFINITY;\n function evaluationFunc(element, datasetIndex, index) {\n const inRange = element.inRange(position.x, position.y, useFinalPosition);\n if (intersect && !inRange) {\n return;\n }\n const center = element.getCenterPoint(useFinalPosition);\n const pointInArea = !!includeInvisible || chart.isPointInArea(center);\n if (!pointInArea && !inRange) {\n return;\n }\n const distance = distanceMetric(position, center);\n if (distance < minDistance) {\n items = [{element, datasetIndex, index}];\n minDistance = distance;\n } else if (distance === minDistance) {\n items.push({element, datasetIndex, index});\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return [];\n }\n return axis === 'r' && !intersect\n ? getNearestRadialItems(chart, position, axis, useFinalPosition)\n : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible);\n}\nfunction getAxisItems(chart, position, axis, intersect, useFinalPosition) {\n const items = [];\n const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n let intersectsItem = false;\n evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index) => {\n if (element[rangeMethod](position[axis], useFinalPosition)) {\n items.push({element, datasetIndex, index});\n intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition);\n }\n });\n if (intersect && !intersectsItem) {\n return [];\n }\n return items;\n}\nvar Interaction = {\n evaluateInteractionItems,\n modes: {\n index(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'x';\n const includeInvisible = options.includeInvisible || false;\n const items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible)\n : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n const elements = [];\n if (!items.length) {\n return [];\n }\n chart.getSortedVisibleDatasetMetas().forEach((meta) => {\n const index = items[0].index;\n const element = meta.data[index];\n if (element && !element.skip) {\n elements.push({element, datasetIndex: meta.index, index});\n }\n });\n return elements;\n },\n dataset(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n let items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) :\n getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n if (items.length > 0) {\n const datasetIndex = items[0].datasetIndex;\n const data = chart.getDatasetMeta(datasetIndex).data;\n items = [];\n for (let i = 0; i < data.length; ++i) {\n items.push({element: data[i], datasetIndex, index: i});\n }\n }\n return items;\n },\n point(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible);\n },\n nearest(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible);\n },\n x(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition);\n },\n y(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition);\n }\n }\n};\n\nconst STATIC_POSITIONS = ['left', 'top', 'right', 'bottom'];\nfunction filterByPosition(array, position) {\n return array.filter(v => v.pos === position);\n}\nfunction filterDynamicPositionByAxis(array, axis) {\n return array.filter(v => STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\nfunction sortByWeight(array, reverse) {\n return array.sort((a, b) => {\n const v0 = reverse ? b : a;\n const v1 = reverse ? a : b;\n return v0.weight === v1.weight ?\n v0.index - v1.index :\n v0.weight - v1.weight;\n });\n}\nfunction wrapBoxes(boxes) {\n const layoutBoxes = [];\n let i, ilen, box, pos, stack, stackWeight;\n for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\n box = boxes[i];\n ({position: pos, options: {stack, stackWeight = 1}} = box);\n layoutBoxes.push({\n index: i,\n box,\n pos,\n horizontal: box.isHorizontal(),\n weight: box.weight,\n stack: stack && (pos + stack),\n stackWeight\n });\n }\n return layoutBoxes;\n}\nfunction buildStacks(layouts) {\n const stacks = {};\n for (const wrap of layouts) {\n const {stack, pos, stackWeight} = wrap;\n if (!stack || !STATIC_POSITIONS.includes(pos)) {\n continue;\n }\n const _stack = stacks[stack] || (stacks[stack] = {count: 0, placed: 0, weight: 0, size: 0});\n _stack.count++;\n _stack.weight += stackWeight;\n }\n return stacks;\n}\nfunction setLayoutDims(layouts, params) {\n const stacks = buildStacks(layouts);\n const {vBoxMaxWidth, hBoxMaxHeight} = params;\n let i, ilen, layout;\n for (i = 0, ilen = layouts.length; i < ilen; ++i) {\n layout = layouts[i];\n const {fullSize} = layout.box;\n const stack = stacks[layout.stack];\n const factor = stack && layout.stackWeight / stack.weight;\n if (layout.horizontal) {\n layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n layout.height = hBoxMaxHeight;\n } else {\n layout.width = vBoxMaxWidth;\n layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n }\n }\n return stacks;\n}\nfunction buildLayoutBoxes(boxes) {\n const layoutBoxes = wrapBoxes(boxes);\n const fullSize = sortByWeight(layoutBoxes.filter(wrap => wrap.box.fullSize), true);\n const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n return {\n fullSize,\n leftAndTop: left.concat(top),\n rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n vertical: left.concat(right).concat(centerVertical),\n horizontal: top.concat(bottom).concat(centerHorizontal)\n };\n}\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\nfunction updateMaxPadding(maxPadding, boxPadding) {\n maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\nfunction updateDims(chartArea, params, layout, stacks) {\n const {pos, box} = layout;\n const maxPadding = chartArea.maxPadding;\n if (!isObject(pos)) {\n if (layout.size) {\n chartArea[pos] -= layout.size;\n }\n const stack = stacks[layout.stack] || {size: 0, count: 1};\n stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n layout.size = stack.size / stack.count;\n chartArea[pos] += layout.size;\n }\n if (box.getPadding) {\n updateMaxPadding(maxPadding, box.getPadding());\n }\n const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n const widthChanged = newWidth !== chartArea.w;\n const heightChanged = newHeight !== chartArea.h;\n chartArea.w = newWidth;\n chartArea.h = newHeight;\n return layout.horizontal\n ? {same: widthChanged, other: heightChanged}\n : {same: heightChanged, other: widthChanged};\n}\nfunction handleMaxPadding(chartArea) {\n const maxPadding = chartArea.maxPadding;\n function updatePos(pos) {\n const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n chartArea[pos] += change;\n return change;\n }\n chartArea.y += updatePos('top');\n chartArea.x += updatePos('left');\n updatePos('right');\n updatePos('bottom');\n}\nfunction getMargins(horizontal, chartArea) {\n const maxPadding = chartArea.maxPadding;\n function marginForPositions(positions) {\n const margin = {left: 0, top: 0, right: 0, bottom: 0};\n positions.forEach((pos) => {\n margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n });\n return margin;\n }\n return horizontal\n ? marginForPositions(['left', 'right'])\n : marginForPositions(['top', 'bottom']);\n}\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n const refitBoxes = [];\n let i, ilen, layout, box, refit, changed;\n for (i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i) {\n layout = boxes[i];\n box = layout.box;\n box.update(\n layout.width || chartArea.w,\n layout.height || chartArea.h,\n getMargins(layout.horizontal, chartArea)\n );\n const {same, other} = updateDims(chartArea, params, layout, stacks);\n refit |= same && refitBoxes.length;\n changed = changed || other;\n if (!box.fullSize) {\n refitBoxes.push(layout);\n }\n }\n return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\nfunction setBoxDims(box, left, top, width, height) {\n box.top = top;\n box.left = left;\n box.right = left + width;\n box.bottom = top + height;\n box.width = width;\n box.height = height;\n}\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n const userPadding = params.padding;\n let {x, y} = chartArea;\n for (const layout of boxes) {\n const box = layout.box;\n const stack = stacks[layout.stack] || {count: 1, placed: 0, weight: 1};\n const weight = (layout.stackWeight / stack.weight) || 1;\n if (layout.horizontal) {\n const width = chartArea.w * weight;\n const height = stack.size || box.height;\n if (defined(stack.start)) {\n y = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n } else {\n setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n }\n stack.start = y;\n stack.placed += width;\n y = box.bottom;\n } else {\n const height = chartArea.h * weight;\n const width = stack.size || box.width;\n if (defined(stack.start)) {\n x = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n } else {\n setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n }\n stack.start = x;\n stack.placed += height;\n x = box.right;\n }\n }\n chartArea.x = x;\n chartArea.y = y;\n}\ndefaults.set('layout', {\n autoPadding: true,\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n});\nvar layouts = {\n addBox(chart, item) {\n if (!chart.boxes) {\n chart.boxes = [];\n }\n item.fullSize = item.fullSize || false;\n item.position = item.position || 'top';\n item.weight = item.weight || 0;\n item._layers = item._layers || function() {\n return [{\n z: 0,\n draw(chartArea) {\n item.draw(chartArea);\n }\n }];\n };\n chart.boxes.push(item);\n },\n removeBox(chart, layoutItem) {\n const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n if (index !== -1) {\n chart.boxes.splice(index, 1);\n }\n },\n configure(chart, item, options) {\n item.fullSize = options.fullSize;\n item.position = options.position;\n item.weight = options.weight;\n },\n update(chart, width, height, minPadding) {\n if (!chart) {\n return;\n }\n const padding = toPadding(chart.options.layout.padding);\n const availableWidth = Math.max(width - padding.width, 0);\n const availableHeight = Math.max(height - padding.height, 0);\n const boxes = buildLayoutBoxes(chart.boxes);\n const verticalBoxes = boxes.vertical;\n const horizontalBoxes = boxes.horizontal;\n each(chart.boxes, box => {\n if (typeof box.beforeLayout === 'function') {\n box.beforeLayout();\n }\n });\n const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap) =>\n wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n const params = Object.freeze({\n outerWidth: width,\n outerHeight: height,\n padding,\n availableWidth,\n availableHeight,\n vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n hBoxMaxHeight: availableHeight / 2\n });\n const maxPadding = Object.assign({}, padding);\n updateMaxPadding(maxPadding, toPadding(minPadding));\n const chartArea = Object.assign({\n maxPadding,\n w: availableWidth,\n h: availableHeight,\n x: padding.left,\n y: padding.top\n }, padding);\n const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n fitBoxes(boxes.fullSize, chartArea, params, stacks);\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n }\n handleMaxPadding(chartArea);\n placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n chartArea.x += chartArea.w;\n chartArea.y += chartArea.h;\n placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n chart.chartArea = {\n left: chartArea.left,\n top: chartArea.top,\n right: chartArea.left + chartArea.w,\n bottom: chartArea.top + chartArea.h,\n height: chartArea.h,\n width: chartArea.w,\n };\n each(boxes.chartArea, (layout) => {\n const box = layout.box;\n Object.assign(box, chart.chartArea);\n box.update(chartArea.w, chartArea.h, {left: 0, top: 0, right: 0, bottom: 0});\n });\n }\n};\n\nclass BasePlatform {\n acquireContext(canvas, aspectRatio) {}\n releaseContext(context) {\n return false;\n }\n addEventListener(chart, type, listener) {}\n removeEventListener(chart, type, listener) {}\n getDevicePixelRatio() {\n return 1;\n }\n getMaximumSize(element, width, height, aspectRatio) {\n width = Math.max(0, width || element.width);\n height = height || element.height;\n return {\n width,\n height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n };\n }\n isAttached(canvas) {\n return true;\n }\n updateConfig(config) {\n }\n}\n\nclass BasicPlatform extends BasePlatform {\n acquireContext(item) {\n return item && item.getContext && item.getContext('2d') || null;\n }\n updateConfig(config) {\n config.options.animation = false;\n }\n}\n\nconst EXPANDO_KEY = '$chartjs';\nconst EVENT_TYPES = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup',\n pointerenter: 'mouseenter',\n pointerdown: 'mousedown',\n pointermove: 'mousemove',\n pointerup: 'mouseup',\n pointerleave: 'mouseout',\n pointerout: 'mouseout'\n};\nconst isNullOrEmpty = value => value === null || value === '';\nfunction initCanvas(canvas, aspectRatio) {\n const style = canvas.style;\n const renderHeight = canvas.getAttribute('height');\n const renderWidth = canvas.getAttribute('width');\n canvas[EXPANDO_KEY] = {\n initial: {\n height: renderHeight,\n width: renderWidth,\n style: {\n display: style.display,\n height: style.height,\n width: style.width\n }\n }\n };\n style.display = style.display || 'block';\n style.boxSizing = style.boxSizing || 'border-box';\n if (isNullOrEmpty(renderWidth)) {\n const displayWidth = readUsedSize(canvas, 'width');\n if (displayWidth !== undefined) {\n canvas.width = displayWidth;\n }\n }\n if (isNullOrEmpty(renderHeight)) {\n if (canvas.style.height === '') {\n canvas.height = canvas.width / (aspectRatio || 2);\n } else {\n const displayHeight = readUsedSize(canvas, 'height');\n if (displayHeight !== undefined) {\n canvas.height = displayHeight;\n }\n }\n }\n return canvas;\n}\nconst eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\nfunction addListener(node, type, listener) {\n node.addEventListener(type, listener, eventListenerOptions);\n}\nfunction removeListener(chart, type, listener) {\n chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n}\nfunction fromNativeEvent(event, chart) {\n const type = EVENT_TYPES[event.type] || event.type;\n const {x, y} = getRelativePosition(event, chart);\n return {\n type,\n chart,\n native: event,\n x: x !== undefined ? x : null,\n y: y !== undefined ? y : null,\n };\n}\nfunction nodeListContains(nodeList, canvas) {\n for (const node of nodeList) {\n if (node === canvas || node.contains(canvas)) {\n return true;\n }\n }\n}\nfunction createAttachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.addedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.removedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nfunction createDetachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.removedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.addedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\nfunction onWindowResize() {\n const dpr = window.devicePixelRatio;\n if (dpr === oldDevicePixelRatio) {\n return;\n }\n oldDevicePixelRatio = dpr;\n drpListeningCharts.forEach((resize, chart) => {\n if (chart.currentDevicePixelRatio !== dpr) {\n resize();\n }\n });\n}\nfunction listenDevicePixelRatioChanges(chart, resize) {\n if (!drpListeningCharts.size) {\n window.addEventListener('resize', onWindowResize);\n }\n drpListeningCharts.set(chart, resize);\n}\nfunction unlistenDevicePixelRatioChanges(chart) {\n drpListeningCharts.delete(chart);\n if (!drpListeningCharts.size) {\n window.removeEventListener('resize', onWindowResize);\n }\n}\nfunction createResizeObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n return;\n }\n const resize = throttled((width, height) => {\n const w = container.clientWidth;\n listener(width, height);\n if (w < container.clientWidth) {\n listener();\n }\n }, window);\n const observer = new ResizeObserver(entries => {\n const entry = entries[0];\n const width = entry.contentRect.width;\n const height = entry.contentRect.height;\n if (width === 0 && height === 0) {\n return;\n }\n resize(width, height);\n });\n observer.observe(container);\n listenDevicePixelRatioChanges(chart, resize);\n return observer;\n}\nfunction releaseObserver(chart, type, observer) {\n if (observer) {\n observer.disconnect();\n }\n if (type === 'resize') {\n unlistenDevicePixelRatioChanges(chart);\n }\n}\nfunction createProxyAndListen(chart, type, listener) {\n const canvas = chart.canvas;\n const proxy = throttled((event) => {\n if (chart.ctx !== null) {\n listener(fromNativeEvent(event, chart));\n }\n }, chart, (args) => {\n const event = args[0];\n return [event, event.offsetX, event.offsetY];\n });\n addListener(canvas, type, proxy);\n return proxy;\n}\nclass DomPlatform extends BasePlatform {\n acquireContext(canvas, aspectRatio) {\n const context = canvas && canvas.getContext && canvas.getContext('2d');\n if (context && context.canvas === canvas) {\n initCanvas(canvas, aspectRatio);\n return context;\n }\n return null;\n }\n releaseContext(context) {\n const canvas = context.canvas;\n if (!canvas[EXPANDO_KEY]) {\n return false;\n }\n const initial = canvas[EXPANDO_KEY].initial;\n ['height', 'width'].forEach((prop) => {\n const value = initial[prop];\n if (isNullOrUndef(value)) {\n canvas.removeAttribute(prop);\n } else {\n canvas.setAttribute(prop, value);\n }\n });\n const style = initial.style || {};\n Object.keys(style).forEach((key) => {\n canvas.style[key] = style[key];\n });\n canvas.width = canvas.width;\n delete canvas[EXPANDO_KEY];\n return true;\n }\n addEventListener(chart, type, listener) {\n this.removeEventListener(chart, type);\n const proxies = chart.$proxies || (chart.$proxies = {});\n const handlers = {\n attach: createAttachObserver,\n detach: createDetachObserver,\n resize: createResizeObserver\n };\n const handler = handlers[type] || createProxyAndListen;\n proxies[type] = handler(chart, type, listener);\n }\n removeEventListener(chart, type) {\n const proxies = chart.$proxies || (chart.$proxies = {});\n const proxy = proxies[type];\n if (!proxy) {\n return;\n }\n const handlers = {\n attach: releaseObserver,\n detach: releaseObserver,\n resize: releaseObserver\n };\n const handler = handlers[type] || removeListener;\n handler(chart, type, proxy);\n proxies[type] = undefined;\n }\n getDevicePixelRatio() {\n return window.devicePixelRatio;\n }\n getMaximumSize(canvas, width, height, aspectRatio) {\n return getMaximumSize(canvas, width, height, aspectRatio);\n }\n isAttached(canvas) {\n const container = _getParentNode(canvas);\n return !!(container && container.isConnected);\n }\n}\n\nfunction _detectPlatform(canvas) {\n if (!_isDomSupported() || (typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas)) {\n return BasicPlatform;\n }\n return DomPlatform;\n}\n\nclass PluginService {\n constructor() {\n this._init = [];\n }\n notify(chart, hook, args, filter) {\n if (hook === 'beforeInit') {\n this._init = this._createDescriptors(chart, true);\n this._notify(this._init, chart, 'install');\n }\n const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart);\n const result = this._notify(descriptors, chart, hook, args);\n if (hook === 'afterDestroy') {\n this._notify(descriptors, chart, 'stop');\n this._notify(this._init, chart, 'uninstall');\n }\n return result;\n }\n _notify(descriptors, chart, hook, args) {\n args = args || {};\n for (const descriptor of descriptors) {\n const plugin = descriptor.plugin;\n const method = plugin[hook];\n const params = [chart, args, descriptor.options];\n if (callback(method, params, plugin) === false && args.cancelable) {\n return false;\n }\n }\n return true;\n }\n invalidate() {\n if (!isNullOrUndef(this._cache)) {\n this._oldCache = this._cache;\n this._cache = undefined;\n }\n }\n _descriptors(chart) {\n if (this._cache) {\n return this._cache;\n }\n const descriptors = this._cache = this._createDescriptors(chart);\n this._notifyStateChanges(chart);\n return descriptors;\n }\n _createDescriptors(chart, all) {\n const config = chart && chart.config;\n const options = valueOrDefault(config.options && config.options.plugins, {});\n const plugins = allPlugins(config);\n return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n }\n _notifyStateChanges(chart) {\n const previousDescriptors = this._oldCache || [];\n const descriptors = this._cache;\n const diff = (a, b) => a.filter(x => !b.some(y => x.plugin.id === y.plugin.id));\n this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n }\n}\nfunction allPlugins(config) {\n const localIds = {};\n const plugins = [];\n const keys = Object.keys(registry.plugins.items);\n for (let i = 0; i < keys.length; i++) {\n plugins.push(registry.getPlugin(keys[i]));\n }\n const local = config.plugins || [];\n for (let i = 0; i < local.length; i++) {\n const plugin = local[i];\n if (plugins.indexOf(plugin) === -1) {\n plugins.push(plugin);\n localIds[plugin.id] = true;\n }\n }\n return {plugins, localIds};\n}\nfunction getOpts(options, all) {\n if (!all && options === false) {\n return null;\n }\n if (options === true) {\n return {};\n }\n return options;\n}\nfunction createDescriptors(chart, {plugins, localIds}, options, all) {\n const result = [];\n const context = chart.getContext();\n for (const plugin of plugins) {\n const id = plugin.id;\n const opts = getOpts(options[id], all);\n if (opts === null) {\n continue;\n }\n result.push({\n plugin,\n options: pluginOpts(chart.config, {plugin, local: localIds[id]}, opts, context)\n });\n }\n return result;\n}\nfunction pluginOpts(config, {plugin, local}, opts, context) {\n const keys = config.pluginScopeKeys(plugin);\n const scopes = config.getOptionScopes(opts, keys);\n if (local && plugin.defaults) {\n scopes.push(plugin.defaults);\n }\n return config.createResolver(scopes, context, [''], {\n scriptable: false,\n indexable: false,\n allKeys: true\n });\n}\n\nfunction getIndexAxis(type, options) {\n const datasetDefaults = defaults.datasets[type] || {};\n const datasetOptions = (options.datasets || {})[type] || {};\n return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n let axis = id;\n if (id === '_index_') {\n axis = indexAxis;\n } else if (id === '_value_') {\n axis = indexAxis === 'x' ? 'y' : 'x';\n }\n return axis;\n}\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n return axis === indexAxis ? '_index_' : '_value_';\n}\nfunction axisFromPosition(position) {\n if (position === 'top' || position === 'bottom') {\n return 'x';\n }\n if (position === 'left' || position === 'right') {\n return 'y';\n }\n}\nfunction determineAxis(id, scaleOptions) {\n if (id === 'x' || id === 'y') {\n return id;\n }\n return scaleOptions.axis || axisFromPosition(scaleOptions.position) || id.charAt(0).toLowerCase();\n}\nfunction mergeScaleConfig(config, options) {\n const chartDefaults = overrides[config.type] || {scales: {}};\n const configScales = options.scales || {};\n const chartIndexAxis = getIndexAxis(config.type, options);\n const firstIDs = Object.create(null);\n const scales = Object.create(null);\n Object.keys(configScales).forEach(id => {\n const scaleConf = configScales[id];\n if (!isObject(scaleConf)) {\n return console.error(`Invalid scale configuration for scale: ${id}`);\n }\n if (scaleConf._proxy) {\n return console.warn(`Ignoring resolver passed as options for scale: ${id}`);\n }\n const axis = determineAxis(id, scaleConf);\n const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n const defaultScaleOptions = chartDefaults.scales || {};\n firstIDs[axis] = firstIDs[axis] || id;\n scales[id] = mergeIf(Object.create(null), [{axis}, scaleConf, defaultScaleOptions[axis], defaultScaleOptions[defaultId]]);\n });\n config.data.datasets.forEach(dataset => {\n const type = dataset.type || config.type;\n const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n const datasetDefaults = overrides[type] || {};\n const defaultScaleOptions = datasetDefaults.scales || {};\n Object.keys(defaultScaleOptions).forEach(defaultID => {\n const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n const id = dataset[axis + 'AxisID'] || firstIDs[axis] || axis;\n scales[id] = scales[id] || Object.create(null);\n mergeIf(scales[id], [{axis}, configScales[id], defaultScaleOptions[defaultID]]);\n });\n });\n Object.keys(scales).forEach(key => {\n const scale = scales[key];\n mergeIf(scale, [defaults.scales[scale.type], defaults.scale]);\n });\n return scales;\n}\nfunction initOptions(config) {\n const options = config.options || (config.options = {});\n options.plugins = valueOrDefault(options.plugins, {});\n options.scales = mergeScaleConfig(config, options);\n}\nfunction initData(data) {\n data = data || {};\n data.datasets = data.datasets || [];\n data.labels = data.labels || [];\n return data;\n}\nfunction initConfig(config) {\n config = config || {};\n config.data = initData(config.data);\n initOptions(config);\n return config;\n}\nconst keyCache = new Map();\nconst keysCached = new Set();\nfunction cachedKeys(cacheKey, generate) {\n let keys = keyCache.get(cacheKey);\n if (!keys) {\n keys = generate();\n keyCache.set(cacheKey, keys);\n keysCached.add(keys);\n }\n return keys;\n}\nconst addIfFound = (set, obj, key) => {\n const opts = resolveObjectKey(obj, key);\n if (opts !== undefined) {\n set.add(opts);\n }\n};\nclass Config {\n constructor(config) {\n this._config = initConfig(config);\n this._scopeCache = new Map();\n this._resolverCache = new Map();\n }\n get platform() {\n return this._config.platform;\n }\n get type() {\n return this._config.type;\n }\n set type(type) {\n this._config.type = type;\n }\n get data() {\n return this._config.data;\n }\n set data(data) {\n this._config.data = initData(data);\n }\n get options() {\n return this._config.options;\n }\n set options(options) {\n this._config.options = options;\n }\n get plugins() {\n return this._config.plugins;\n }\n update() {\n const config = this._config;\n this.clearCache();\n initOptions(config);\n }\n clearCache() {\n this._scopeCache.clear();\n this._resolverCache.clear();\n }\n datasetScopeKeys(datasetType) {\n return cachedKeys(datasetType,\n () => [[\n `datasets.${datasetType}`,\n ''\n ]]);\n }\n datasetAnimationScopeKeys(datasetType, transition) {\n return cachedKeys(`${datasetType}.transition.${transition}`,\n () => [\n [\n `datasets.${datasetType}.transitions.${transition}`,\n `transitions.${transition}`,\n ],\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetElementScopeKeys(datasetType, elementType) {\n return cachedKeys(`${datasetType}-${elementType}`,\n () => [[\n `datasets.${datasetType}.elements.${elementType}`,\n `datasets.${datasetType}`,\n `elements.${elementType}`,\n ''\n ]]);\n }\n pluginScopeKeys(plugin) {\n const id = plugin.id;\n const type = this.type;\n return cachedKeys(`${type}-plugin-${id}`,\n () => [[\n `plugins.${id}`,\n ...plugin.additionalOptionScopes || [],\n ]]);\n }\n _cachedScopes(mainScope, resetCache) {\n const _scopeCache = this._scopeCache;\n let cache = _scopeCache.get(mainScope);\n if (!cache || resetCache) {\n cache = new Map();\n _scopeCache.set(mainScope, cache);\n }\n return cache;\n }\n getOptionScopes(mainScope, keyLists, resetCache) {\n const {options, type} = this;\n const cache = this._cachedScopes(mainScope, resetCache);\n const cached = cache.get(keyLists);\n if (cached) {\n return cached;\n }\n const scopes = new Set();\n keyLists.forEach(keys => {\n if (mainScope) {\n scopes.add(mainScope);\n keys.forEach(key => addIfFound(scopes, mainScope, key));\n }\n keys.forEach(key => addIfFound(scopes, options, key));\n keys.forEach(key => addIfFound(scopes, overrides[type] || {}, key));\n keys.forEach(key => addIfFound(scopes, defaults, key));\n keys.forEach(key => addIfFound(scopes, descriptors, key));\n });\n const array = Array.from(scopes);\n if (array.length === 0) {\n array.push(Object.create(null));\n }\n if (keysCached.has(keyLists)) {\n cache.set(keyLists, array);\n }\n return array;\n }\n chartOptionScopes() {\n const {options, type} = this;\n return [\n options,\n overrides[type] || {},\n defaults.datasets[type] || {},\n {type},\n defaults,\n descriptors\n ];\n }\n resolveNamedOptions(scopes, names, context, prefixes = ['']) {\n const result = {$shared: true};\n const {resolver, subPrefixes} = getResolver(this._resolverCache, scopes, prefixes);\n let options = resolver;\n if (needContext(resolver, names)) {\n result.$shared = false;\n context = isFunction(context) ? context() : context;\n const subResolver = this.createResolver(scopes, context, subPrefixes);\n options = _attachContext(resolver, context, subResolver);\n }\n for (const prop of names) {\n result[prop] = options[prop];\n }\n return result;\n }\n createResolver(scopes, context, prefixes = [''], descriptorDefaults) {\n const {resolver} = getResolver(this._resolverCache, scopes, prefixes);\n return isObject(context)\n ? _attachContext(resolver, context, undefined, descriptorDefaults)\n : resolver;\n }\n}\nfunction getResolver(resolverCache, scopes, prefixes) {\n let cache = resolverCache.get(scopes);\n if (!cache) {\n cache = new Map();\n resolverCache.set(scopes, cache);\n }\n const cacheKey = prefixes.join();\n let cached = cache.get(cacheKey);\n if (!cached) {\n const resolver = _createResolver(scopes, prefixes);\n cached = {\n resolver,\n subPrefixes: prefixes.filter(p => !p.toLowerCase().includes('hover'))\n };\n cache.set(cacheKey, cached);\n }\n return cached;\n}\nconst hasFunction = value => isObject(value)\n && Object.getOwnPropertyNames(value).reduce((acc, key) => acc || isFunction(value[key]), false);\nfunction needContext(proxy, names) {\n const {isScriptable, isIndexable} = _descriptors(proxy);\n for (const prop of names) {\n const scriptable = isScriptable(prop);\n const indexable = isIndexable(prop);\n const value = (indexable || scriptable) && proxy[prop];\n if ((scriptable && (isFunction(value) || hasFunction(value)))\n || (indexable && isArray(value))) {\n return true;\n }\n }\n return false;\n}\n\nvar version = \"3.9.1\";\n\nconst KNOWN_POSITIONS = ['top', 'bottom', 'left', 'right', 'chartArea'];\nfunction positionIsHorizontal(position, axis) {\n return position === 'top' || position === 'bottom' || (KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x');\n}\nfunction compare2Level(l1, l2) {\n return function(a, b) {\n return a[l1] === b[l1]\n ? a[l2] - b[l2]\n : a[l1] - b[l1];\n };\n}\nfunction onAnimationsComplete(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n chart.notifyPlugins('afterRender');\n callback(animationOptions && animationOptions.onComplete, [context], chart);\n}\nfunction onAnimationProgress(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n callback(animationOptions && animationOptions.onProgress, [context], chart);\n}\nfunction getCanvas(item) {\n if (_isDomSupported() && typeof item === 'string') {\n item = document.getElementById(item);\n } else if (item && item.length) {\n item = item[0];\n }\n if (item && item.canvas) {\n item = item.canvas;\n }\n return item;\n}\nconst instances = {};\nconst getChart = (key) => {\n const canvas = getCanvas(key);\n return Object.values(instances).filter((c) => c.canvas === canvas).pop();\n};\nfunction moveNumericKeys(obj, start, move) {\n const keys = Object.keys(obj);\n for (const key of keys) {\n const intKey = +key;\n if (intKey >= start) {\n const value = obj[key];\n delete obj[key];\n if (move > 0 || intKey > start) {\n obj[intKey + move] = value;\n }\n }\n }\n}\nfunction determineLastEvent(e, lastEvent, inChartArea, isClick) {\n if (!inChartArea || e.type === 'mouseout') {\n return null;\n }\n if (isClick) {\n return lastEvent;\n }\n return e;\n}\nclass Chart {\n constructor(item, userConfig) {\n const config = this.config = new Config(userConfig);\n const initialCanvas = getCanvas(item);\n const existingChart = getChart(initialCanvas);\n if (existingChart) {\n throw new Error(\n 'Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' +\n\t\t\t\t' must be destroyed before the canvas with ID \\'' + existingChart.canvas.id + '\\' can be reused.'\n );\n }\n const options = config.createResolver(config.chartOptionScopes(), this.getContext());\n this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n this.platform.updateConfig(config);\n const context = this.platform.acquireContext(initialCanvas, options.aspectRatio);\n const canvas = context && context.canvas;\n const height = canvas && canvas.height;\n const width = canvas && canvas.width;\n this.id = uid();\n this.ctx = context;\n this.canvas = canvas;\n this.width = width;\n this.height = height;\n this._options = options;\n this._aspectRatio = this.aspectRatio;\n this._layers = [];\n this._metasets = [];\n this._stacks = undefined;\n this.boxes = [];\n this.currentDevicePixelRatio = undefined;\n this.chartArea = undefined;\n this._active = [];\n this._lastEvent = undefined;\n this._listeners = {};\n this._responsiveListeners = undefined;\n this._sortedMetasets = [];\n this.scales = {};\n this._plugins = new PluginService();\n this.$proxies = {};\n this._hiddenIndices = {};\n this.attached = false;\n this._animationsDisabled = undefined;\n this.$context = undefined;\n this._doResize = debounce(mode => this.update(mode), options.resizeDelay || 0);\n this._dataChanges = [];\n instances[this.id] = this;\n if (!context || !canvas) {\n console.error(\"Failed to create chart: can't acquire context from the given item\");\n return;\n }\n animator.listen(this, 'complete', onAnimationsComplete);\n animator.listen(this, 'progress', onAnimationProgress);\n this._initialize();\n if (this.attached) {\n this.update();\n }\n }\n get aspectRatio() {\n const {options: {aspectRatio, maintainAspectRatio}, width, height, _aspectRatio} = this;\n if (!isNullOrUndef(aspectRatio)) {\n return aspectRatio;\n }\n if (maintainAspectRatio && _aspectRatio) {\n return _aspectRatio;\n }\n return height ? width / height : null;\n }\n get data() {\n return this.config.data;\n }\n set data(data) {\n this.config.data = data;\n }\n get options() {\n return this._options;\n }\n set options(options) {\n this.config.options = options;\n }\n _initialize() {\n this.notifyPlugins('beforeInit');\n if (this.options.responsive) {\n this.resize();\n } else {\n retinaScale(this, this.options.devicePixelRatio);\n }\n this.bindEvents();\n this.notifyPlugins('afterInit');\n return this;\n }\n clear() {\n clearCanvas(this.canvas, this.ctx);\n return this;\n }\n stop() {\n animator.stop(this);\n return this;\n }\n resize(width, height) {\n if (!animator.running(this)) {\n this._resize(width, height);\n } else {\n this._resizeBeforeDraw = {width, height};\n }\n }\n _resize(width, height) {\n const options = this.options;\n const canvas = this.canvas;\n const aspectRatio = options.maintainAspectRatio && this.aspectRatio;\n const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio);\n const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio();\n const mode = this.width ? 'resize' : 'attach';\n this.width = newSize.width;\n this.height = newSize.height;\n this._aspectRatio = this.aspectRatio;\n if (!retinaScale(this, newRatio, true)) {\n return;\n }\n this.notifyPlugins('resize', {size: newSize});\n callback(options.onResize, [this, newSize], this);\n if (this.attached) {\n if (this._doResize(mode)) {\n this.render();\n }\n }\n }\n ensureScalesHaveIDs() {\n const options = this.options;\n const scalesOptions = options.scales || {};\n each(scalesOptions, (axisOptions, axisID) => {\n axisOptions.id = axisID;\n });\n }\n buildOrUpdateScales() {\n const options = this.options;\n const scaleOpts = options.scales;\n const scales = this.scales;\n const updated = Object.keys(scales).reduce((obj, id) => {\n obj[id] = false;\n return obj;\n }, {});\n let items = [];\n if (scaleOpts) {\n items = items.concat(\n Object.keys(scaleOpts).map((id) => {\n const scaleOptions = scaleOpts[id];\n const axis = determineAxis(id, scaleOptions);\n const isRadial = axis === 'r';\n const isHorizontal = axis === 'x';\n return {\n options: scaleOptions,\n dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n };\n })\n );\n }\n each(items, (item) => {\n const scaleOptions = item.options;\n const id = scaleOptions.id;\n const axis = determineAxis(id, scaleOptions);\n const scaleType = valueOrDefault(scaleOptions.type, item.dtype);\n if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n scaleOptions.position = item.dposition;\n }\n updated[id] = true;\n let scale = null;\n if (id in scales && scales[id].type === scaleType) {\n scale = scales[id];\n } else {\n const scaleClass = registry.getScale(scaleType);\n scale = new scaleClass({\n id,\n type: scaleType,\n ctx: this.ctx,\n chart: this\n });\n scales[scale.id] = scale;\n }\n scale.init(scaleOptions, options);\n });\n each(updated, (hasUpdated, id) => {\n if (!hasUpdated) {\n delete scales[id];\n }\n });\n each(scales, (scale) => {\n layouts.configure(this, scale, scale.options);\n layouts.addBox(this, scale);\n });\n }\n _updateMetasets() {\n const metasets = this._metasets;\n const numData = this.data.datasets.length;\n const numMeta = metasets.length;\n metasets.sort((a, b) => a.index - b.index);\n if (numMeta > numData) {\n for (let i = numData; i < numMeta; ++i) {\n this._destroyDatasetMeta(i);\n }\n metasets.splice(numData, numMeta - numData);\n }\n this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n }\n _removeUnreferencedMetasets() {\n const {_metasets: metasets, data: {datasets}} = this;\n if (metasets.length > datasets.length) {\n delete this._stacks;\n }\n metasets.forEach((meta, index) => {\n if (datasets.filter(x => x === meta._dataset).length === 0) {\n this._destroyDatasetMeta(index);\n }\n });\n }\n buildOrUpdateControllers() {\n const newControllers = [];\n const datasets = this.data.datasets;\n let i, ilen;\n this._removeUnreferencedMetasets();\n for (i = 0, ilen = datasets.length; i < ilen; i++) {\n const dataset = datasets[i];\n let meta = this.getDatasetMeta(i);\n const type = dataset.type || this.config.type;\n if (meta.type && meta.type !== type) {\n this._destroyDatasetMeta(i);\n meta = this.getDatasetMeta(i);\n }\n meta.type = type;\n meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options);\n meta.order = dataset.order || 0;\n meta.index = i;\n meta.label = '' + dataset.label;\n meta.visible = this.isDatasetVisible(i);\n if (meta.controller) {\n meta.controller.updateIndex(i);\n meta.controller.linkScales();\n } else {\n const ControllerClass = registry.getController(type);\n const {datasetElementType, dataElementType} = defaults.datasets[type];\n Object.assign(ControllerClass.prototype, {\n dataElementType: registry.getElement(dataElementType),\n datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n });\n meta.controller = new ControllerClass(this, i);\n newControllers.push(meta.controller);\n }\n }\n this._updateMetasets();\n return newControllers;\n }\n _resetElements() {\n each(this.data.datasets, (dataset, datasetIndex) => {\n this.getDatasetMeta(datasetIndex).controller.reset();\n }, this);\n }\n reset() {\n this._resetElements();\n this.notifyPlugins('reset');\n }\n update(mode) {\n const config = this.config;\n config.update();\n const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext());\n const animsDisabled = this._animationsDisabled = !options.animation;\n this._updateScales();\n this._checkEventBindings();\n this._updateHiddenIndices();\n this._plugins.invalidate();\n if (this.notifyPlugins('beforeUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n const newControllers = this.buildOrUpdateControllers();\n this.notifyPlugins('beforeElementsUpdate');\n let minPadding = 0;\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; i++) {\n const {controller} = this.getDatasetMeta(i);\n const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n controller.buildOrUpdateElements(reset);\n minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n }\n minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0;\n this._updateLayout(minPadding);\n if (!animsDisabled) {\n each(newControllers, (controller) => {\n controller.reset();\n });\n }\n this._updateDatasets(mode);\n this.notifyPlugins('afterUpdate', {mode});\n this._layers.sort(compare2Level('z', '_idx'));\n const {_active, _lastEvent} = this;\n if (_lastEvent) {\n this._eventHandler(_lastEvent, true);\n } else if (_active.length) {\n this._updateHoverStyles(_active, _active, true);\n }\n this.render();\n }\n _updateScales() {\n each(this.scales, (scale) => {\n layouts.removeBox(this, scale);\n });\n this.ensureScalesHaveIDs();\n this.buildOrUpdateScales();\n }\n _checkEventBindings() {\n const options = this.options;\n const existingEvents = new Set(Object.keys(this._listeners));\n const newEvents = new Set(options.events);\n if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) {\n this.unbindEvents();\n this.bindEvents();\n }\n }\n _updateHiddenIndices() {\n const {_hiddenIndices} = this;\n const changes = this._getUniformDataChanges() || [];\n for (const {method, start, count} of changes) {\n const move = method === '_removeElements' ? -count : count;\n moveNumericKeys(_hiddenIndices, start, move);\n }\n }\n _getUniformDataChanges() {\n const _dataChanges = this._dataChanges;\n if (!_dataChanges || !_dataChanges.length) {\n return;\n }\n this._dataChanges = [];\n const datasetCount = this.data.datasets.length;\n const makeSet = (idx) => new Set(\n _dataChanges\n .filter(c => c[0] === idx)\n .map((c, i) => i + ',' + c.splice(1).join(','))\n );\n const changeSet = makeSet(0);\n for (let i = 1; i < datasetCount; i++) {\n if (!setsEqual(changeSet, makeSet(i))) {\n return;\n }\n }\n return Array.from(changeSet)\n .map(c => c.split(','))\n .map(a => ({method: a[1], start: +a[2], count: +a[3]}));\n }\n _updateLayout(minPadding) {\n if (this.notifyPlugins('beforeLayout', {cancelable: true}) === false) {\n return;\n }\n layouts.update(this, this.width, this.height, minPadding);\n const area = this.chartArea;\n const noArea = area.width <= 0 || area.height <= 0;\n this._layers = [];\n each(this.boxes, (box) => {\n if (noArea && box.position === 'chartArea') {\n return;\n }\n if (box.configure) {\n box.configure();\n }\n this._layers.push(...box._layers());\n }, this);\n this._layers.forEach((item, index) => {\n item._idx = index;\n });\n this.notifyPlugins('afterLayout');\n }\n _updateDatasets(mode) {\n if (this.notifyPlugins('beforeDatasetsUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this.getDatasetMeta(i).controller.configure();\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._updateDataset(i, isFunction(mode) ? mode({datasetIndex: i}) : mode);\n }\n this.notifyPlugins('afterDatasetsUpdate', {mode});\n }\n _updateDataset(index, mode) {\n const meta = this.getDatasetMeta(index);\n const args = {meta, index, mode, cancelable: true};\n if (this.notifyPlugins('beforeDatasetUpdate', args) === false) {\n return;\n }\n meta.controller._update(mode);\n args.cancelable = false;\n this.notifyPlugins('afterDatasetUpdate', args);\n }\n render() {\n if (this.notifyPlugins('beforeRender', {cancelable: true}) === false) {\n return;\n }\n if (animator.has(this)) {\n if (this.attached && !animator.running(this)) {\n animator.start(this);\n }\n } else {\n this.draw();\n onAnimationsComplete({chart: this});\n }\n }\n draw() {\n let i;\n if (this._resizeBeforeDraw) {\n const {width, height} = this._resizeBeforeDraw;\n this._resize(width, height);\n this._resizeBeforeDraw = null;\n }\n this.clear();\n if (this.width <= 0 || this.height <= 0) {\n return;\n }\n if (this.notifyPlugins('beforeDraw', {cancelable: true}) === false) {\n return;\n }\n const layers = this._layers;\n for (i = 0; i < layers.length && layers[i].z <= 0; ++i) {\n layers[i].draw(this.chartArea);\n }\n this._drawDatasets();\n for (; i < layers.length; ++i) {\n layers[i].draw(this.chartArea);\n }\n this.notifyPlugins('afterDraw');\n }\n _getSortedDatasetMetas(filterVisible) {\n const metasets = this._sortedMetasets;\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n const meta = metasets[i];\n if (!filterVisible || meta.visible) {\n result.push(meta);\n }\n }\n return result;\n }\n getSortedVisibleDatasetMetas() {\n return this._getSortedDatasetMetas(true);\n }\n _drawDatasets() {\n if (this.notifyPlugins('beforeDatasetsDraw', {cancelable: true}) === false) {\n return;\n }\n const metasets = this.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n this._drawDataset(metasets[i]);\n }\n this.notifyPlugins('afterDatasetsDraw');\n }\n _drawDataset(meta) {\n const ctx = this.ctx;\n const clip = meta._clip;\n const useClip = !clip.disabled;\n const area = this.chartArea;\n const args = {\n meta,\n index: meta.index,\n cancelable: true\n };\n if (this.notifyPlugins('beforeDatasetDraw', args) === false) {\n return;\n }\n if (useClip) {\n clipArea(ctx, {\n left: clip.left === false ? 0 : area.left - clip.left,\n right: clip.right === false ? this.width : area.right + clip.right,\n top: clip.top === false ? 0 : area.top - clip.top,\n bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom\n });\n }\n meta.controller.draw();\n if (useClip) {\n unclipArea(ctx);\n }\n args.cancelable = false;\n this.notifyPlugins('afterDatasetDraw', args);\n }\n isPointInArea(point) {\n return _isPointInArea(point, this.chartArea, this._minPadding);\n }\n getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n const method = Interaction.modes[mode];\n if (typeof method === 'function') {\n return method(this, e, options, useFinalPosition);\n }\n return [];\n }\n getDatasetMeta(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n const metasets = this._metasets;\n let meta = metasets.filter(x => x && x._dataset === dataset).pop();\n if (!meta) {\n meta = {\n type: null,\n data: [],\n dataset: null,\n controller: null,\n hidden: null,\n xAxisID: null,\n yAxisID: null,\n order: dataset && dataset.order || 0,\n index: datasetIndex,\n _dataset: dataset,\n _parsed: [],\n _sorted: false\n };\n metasets.push(meta);\n }\n return meta;\n }\n getContext() {\n return this.$context || (this.$context = createContext(null, {chart: this, type: 'chart'}));\n }\n getVisibleDatasetCount() {\n return this.getSortedVisibleDatasetMetas().length;\n }\n isDatasetVisible(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n if (!dataset) {\n return false;\n }\n const meta = this.getDatasetMeta(datasetIndex);\n return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n }\n setDatasetVisibility(datasetIndex, visible) {\n const meta = this.getDatasetMeta(datasetIndex);\n meta.hidden = !visible;\n }\n toggleDataVisibility(index) {\n this._hiddenIndices[index] = !this._hiddenIndices[index];\n }\n getDataVisibility(index) {\n return !this._hiddenIndices[index];\n }\n _updateVisibility(datasetIndex, dataIndex, visible) {\n const mode = visible ? 'show' : 'hide';\n const meta = this.getDatasetMeta(datasetIndex);\n const anims = meta.controller._resolveAnimations(undefined, mode);\n if (defined(dataIndex)) {\n meta.data[dataIndex].hidden = !visible;\n this.update();\n } else {\n this.setDatasetVisibility(datasetIndex, visible);\n anims.update(meta, {visible});\n this.update((ctx) => ctx.datasetIndex === datasetIndex ? mode : undefined);\n }\n }\n hide(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, false);\n }\n show(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, true);\n }\n _destroyDatasetMeta(datasetIndex) {\n const meta = this._metasets[datasetIndex];\n if (meta && meta.controller) {\n meta.controller._destroy();\n }\n delete this._metasets[datasetIndex];\n }\n _stop() {\n let i, ilen;\n this.stop();\n animator.remove(this);\n for (i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._destroyDatasetMeta(i);\n }\n }\n destroy() {\n this.notifyPlugins('beforeDestroy');\n const {canvas, ctx} = this;\n this._stop();\n this.config.clearCache();\n if (canvas) {\n this.unbindEvents();\n clearCanvas(canvas, ctx);\n this.platform.releaseContext(ctx);\n this.canvas = null;\n this.ctx = null;\n }\n this.notifyPlugins('destroy');\n delete instances[this.id];\n this.notifyPlugins('afterDestroy');\n }\n toBase64Image(...args) {\n return this.canvas.toDataURL(...args);\n }\n bindEvents() {\n this.bindUserEvents();\n if (this.options.responsive) {\n this.bindResponsiveEvents();\n } else {\n this.attached = true;\n }\n }\n bindUserEvents() {\n const listeners = this._listeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const listener = (e, x, y) => {\n e.offsetX = x;\n e.offsetY = y;\n this._eventHandler(e);\n };\n each(this.options.events, (type) => _add(type, listener));\n }\n bindResponsiveEvents() {\n if (!this._responsiveListeners) {\n this._responsiveListeners = {};\n }\n const listeners = this._responsiveListeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const _remove = (type, listener) => {\n if (listeners[type]) {\n platform.removeEventListener(this, type, listener);\n delete listeners[type];\n }\n };\n const listener = (width, height) => {\n if (this.canvas) {\n this.resize(width, height);\n }\n };\n let detached;\n const attached = () => {\n _remove('attach', attached);\n this.attached = true;\n this.resize();\n _add('resize', listener);\n _add('detach', detached);\n };\n detached = () => {\n this.attached = false;\n _remove('resize', listener);\n this._stop();\n this._resize(0, 0);\n _add('attach', attached);\n };\n if (platform.isAttached(this.canvas)) {\n attached();\n } else {\n detached();\n }\n }\n unbindEvents() {\n each(this._listeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._listeners = {};\n each(this._responsiveListeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._responsiveListeners = undefined;\n }\n updateHoverStyle(items, mode, enabled) {\n const prefix = enabled ? 'set' : 'remove';\n let meta, item, i, ilen;\n if (mode === 'dataset') {\n meta = this.getDatasetMeta(items[0].datasetIndex);\n meta.controller['_' + prefix + 'DatasetHoverStyle']();\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n item = items[i];\n const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n if (controller) {\n controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n }\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements) {\n const lastActive = this._active || [];\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('No dataset found at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(active, lastActive);\n if (changed) {\n this._active = active;\n this._lastEvent = null;\n this._updateHoverStyles(active, lastActive);\n }\n }\n notifyPlugins(hook, args, filter) {\n return this._plugins.notify(this, hook, args, filter);\n }\n _updateHoverStyles(active, lastActive, replay) {\n const hoverOptions = this.options.hover;\n const diff = (a, b) => a.filter(x => !b.some(y => x.datasetIndex === y.datasetIndex && x.index === y.index));\n const deactivated = diff(lastActive, active);\n const activated = replay ? active : diff(active, lastActive);\n if (deactivated.length) {\n this.updateHoverStyle(deactivated, hoverOptions.mode, false);\n }\n if (activated.length && hoverOptions.mode) {\n this.updateHoverStyle(activated, hoverOptions.mode, true);\n }\n }\n _eventHandler(e, replay) {\n const args = {\n event: e,\n replay,\n cancelable: true,\n inChartArea: this.isPointInArea(e)\n };\n const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.native.type);\n if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n return;\n }\n const changed = this._handleEvent(e, replay, args.inChartArea);\n args.cancelable = false;\n this.notifyPlugins('afterEvent', args, eventFilter);\n if (changed || args.changed) {\n this.render();\n }\n return this;\n }\n _handleEvent(e, replay, inChartArea) {\n const {_active: lastActive = [], options} = this;\n const useFinalPosition = replay;\n const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition);\n const isClick = _isClickEvent(e);\n const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick);\n if (inChartArea) {\n this._lastEvent = null;\n callback(options.onHover, [e, active, this], this);\n if (isClick) {\n callback(options.onClick, [e, active, this], this);\n }\n }\n const changed = !_elementsEqual(active, lastActive);\n if (changed || replay) {\n this._active = active;\n this._updateHoverStyles(active, lastActive, replay);\n }\n this._lastEvent = lastEvent;\n return changed;\n }\n _getActiveElements(e, lastActive, inChartArea, useFinalPosition) {\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const hoverOptions = this.options.hover;\n return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n }\n}\nconst invalidatePlugins = () => each(Chart.instances, (chart) => chart._plugins.invalidate());\nconst enumerable = true;\nObject.defineProperties(Chart, {\n defaults: {\n enumerable,\n value: defaults\n },\n instances: {\n enumerable,\n value: instances\n },\n overrides: {\n enumerable,\n value: overrides\n },\n registry: {\n enumerable,\n value: registry\n },\n version: {\n enumerable,\n value: version\n },\n getChart: {\n enumerable,\n value: getChart\n },\n register: {\n enumerable,\n value: (...items) => {\n registry.add(...items);\n invalidatePlugins();\n }\n },\n unregister: {\n enumerable,\n value: (...items) => {\n registry.remove(...items);\n invalidatePlugins();\n }\n }\n});\n\nfunction clipArc(ctx, element, endAngle) {\n const {startAngle, pixelMargin, x, y, outerRadius, innerRadius} = element;\n let angleMargin = pixelMargin / outerRadius;\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n if (innerRadius > pixelMargin) {\n angleMargin = pixelMargin / innerRadius;\n ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n } else {\n ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI);\n }\n ctx.closePath();\n ctx.clip();\n}\nfunction toRadiusCorners(value) {\n return _readValueToProps(value, ['outerStart', 'outerEnd', 'innerStart', 'innerEnd']);\n}\nfunction parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) {\n const o = toRadiusCorners(arc.options.borderRadius);\n const halfThickness = (outerRadius - innerRadius) / 2;\n const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n const computeOuterLimit = (val) => {\n const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit));\n };\n return {\n outerStart: computeOuterLimit(o.outerStart),\n outerEnd: computeOuterLimit(o.outerEnd),\n innerStart: _limitValue(o.innerStart, 0, innerLimit),\n innerEnd: _limitValue(o.innerEnd, 0, innerLimit),\n };\n}\nfunction rThetaToXY(r, theta, x, y) {\n return {\n x: x + r * Math.cos(theta),\n y: y + r * Math.sin(theta),\n };\n}\nfunction pathArc(ctx, element, offset, spacing, end, circular) {\n const {x, y, startAngle: start, pixelMargin, innerRadius: innerR} = element;\n const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n let spacingOffset = 0;\n const alpha = end - start;\n if (spacing) {\n const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n const adjustedAngle = avNogSpacingRadius !== 0 ? (alpha * avNogSpacingRadius) / (avNogSpacingRadius + spacing) : alpha;\n spacingOffset = (alpha - adjustedAngle) / 2;\n }\n const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius;\n const angleOffset = (alpha - beta) / 2;\n const startAngle = start + angleOffset + spacingOffset;\n const endAngle = end - angleOffset - spacingOffset;\n const {outerStart, outerEnd, innerStart, innerEnd} = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle);\n const outerStartAdjustedRadius = outerRadius - outerStart;\n const outerEndAdjustedRadius = outerRadius - outerEnd;\n const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n const innerStartAdjustedRadius = innerRadius + innerStart;\n const innerEndAdjustedRadius = innerRadius + innerEnd;\n const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n ctx.beginPath();\n if (circular) {\n ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerEndAdjustedAngle);\n if (outerEnd > 0) {\n const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI);\n }\n const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n ctx.lineTo(p4.x, p4.y);\n if (innerEnd > 0) {\n const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI);\n }\n ctx.arc(x, y, innerRadius, endAngle - (innerEnd / innerRadius), startAngle + (innerStart / innerRadius), true);\n if (innerStart > 0) {\n const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI);\n }\n const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n ctx.lineTo(p8.x, p8.y);\n if (outerStart > 0) {\n const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle);\n }\n } else {\n ctx.moveTo(x, y);\n const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x;\n const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerStartX, outerStartY);\n const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x;\n const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerEndX, outerEndY);\n }\n ctx.closePath();\n}\nfunction drawArc(ctx, element, offset, spacing, circular) {\n const {fullCircles, startAngle, circumference} = element;\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, startAngle + TAU, circular);\n for (let i = 0; i < fullCircles; ++i) {\n ctx.fill();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + circumference % TAU;\n if (circumference % TAU === 0) {\n endAngle += TAU;\n }\n }\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.fill();\n return endAngle;\n}\nfunction drawFullCircleBorders(ctx, element, inner) {\n const {x, y, startAngle, pixelMargin, fullCircles} = element;\n const outerRadius = Math.max(element.outerRadius - pixelMargin, 0);\n const innerRadius = element.innerRadius + pixelMargin;\n let i;\n if (inner) {\n clipArc(ctx, element, startAngle + TAU);\n }\n ctx.beginPath();\n ctx.arc(x, y, innerRadius, startAngle + TAU, startAngle, true);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle, startAngle + TAU);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n}\nfunction drawBorder(ctx, element, offset, spacing, endAngle, circular) {\n const {options} = element;\n const {borderWidth, borderJoinStyle} = options;\n const inner = options.borderAlign === 'inner';\n if (!borderWidth) {\n return;\n }\n if (inner) {\n ctx.lineWidth = borderWidth * 2;\n ctx.lineJoin = borderJoinStyle || 'round';\n } else {\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = borderJoinStyle || 'bevel';\n }\n if (element.fullCircles) {\n drawFullCircleBorders(ctx, element, inner);\n }\n if (inner) {\n clipArc(ctx, element, endAngle);\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.stroke();\n}\nclass ArcElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.circumference = undefined;\n this.startAngle = undefined;\n this.endAngle = undefined;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.pixelMargin = 0;\n this.fullCircles = 0;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(chartX, chartY, useFinalPosition) {\n const point = this.getProps(['x', 'y'], useFinalPosition);\n const {angle, distance} = getAngleFromPoint(point, {x: chartX, y: chartY});\n const {startAngle, endAngle, innerRadius, outerRadius, circumference} = this.getProps([\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference'\n ], useFinalPosition);\n const rAdjust = this.options.spacing / 2;\n const _circumference = valueOrDefault(circumference, endAngle - startAngle);\n const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle);\n const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);\n return (betweenAngles && withinRadius);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, startAngle, endAngle, innerRadius, outerRadius} = this.getProps([\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference',\n ], useFinalPosition);\n const {offset, spacing} = this.options;\n const halfAngle = (startAngle + endAngle) / 2;\n const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n return {\n x: x + Math.cos(halfAngle) * halfRadius,\n y: y + Math.sin(halfAngle) * halfRadius\n };\n }\n tooltipPosition(useFinalPosition) {\n return this.getCenterPoint(useFinalPosition);\n }\n draw(ctx) {\n const {options, circumference} = this;\n const offset = (options.offset || 0) / 2;\n const spacing = (options.spacing || 0) / 2;\n const circular = options.circular;\n this.pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0;\n this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0;\n if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) {\n return;\n }\n ctx.save();\n let radiusOffset = 0;\n if (offset) {\n radiusOffset = offset / 2;\n const halfAngle = (this.startAngle + this.endAngle) / 2;\n ctx.translate(Math.cos(halfAngle) * radiusOffset, Math.sin(halfAngle) * radiusOffset);\n if (this.circumference >= PI) {\n radiusOffset = offset;\n }\n }\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n const endAngle = drawArc(ctx, this, radiusOffset, spacing, circular);\n drawBorder(ctx, this, radiusOffset, spacing, endAngle, circular);\n ctx.restore();\n }\n}\nArcElement.id = 'arc';\nArcElement.defaults = {\n borderAlign: 'center',\n borderColor: '#fff',\n borderJoinStyle: undefined,\n borderRadius: 0,\n borderWidth: 2,\n offset: 0,\n spacing: 0,\n angle: undefined,\n circular: true,\n};\nArcElement.defaultRoutes = {\n backgroundColor: 'backgroundColor'\n};\n\nfunction setStyle(ctx, options, style = options) {\n ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle);\n ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash));\n ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset);\n ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle);\n ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth);\n ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor);\n}\nfunction lineTo(ctx, previous, target) {\n ctx.lineTo(target.x, target.y);\n}\nfunction getLineMethod(options) {\n if (options.stepped) {\n return _steppedLineTo;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierCurveTo;\n }\n return lineTo;\n}\nfunction pathVars(points, segment, params = {}) {\n const count = points.length;\n const {start: paramsStart = 0, end: paramsEnd = count - 1} = params;\n const {start: segmentStart, end: segmentEnd} = segment;\n const start = Math.max(paramsStart, segmentStart);\n const end = Math.min(paramsEnd, segmentEnd);\n const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n return {\n count,\n start,\n loop: segment.loop,\n ilen: end < start && !outside ? count + end - start : end - start\n };\n}\nfunction pathSegment(ctx, line, segment, params) {\n const {points, options} = line;\n const {count, start, loop, ilen} = pathVars(points, segment, params);\n const lineMethod = getLineMethod(options);\n let {move = true, reverse} = params || {};\n let i, point, prev;\n for (i = 0; i <= ilen; ++i) {\n point = points[(start + (reverse ? ilen - i : i)) % count];\n if (point.skip) {\n continue;\n } else if (move) {\n ctx.moveTo(point.x, point.y);\n move = false;\n } else {\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n prev = point;\n }\n if (loop) {\n point = points[(start + (reverse ? ilen : 0)) % count];\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n return !!loop;\n}\nfunction fastPathSegment(ctx, line, segment, params) {\n const points = line.points;\n const {count, start, ilen} = pathVars(points, segment, params);\n const {move = true, reverse} = params || {};\n let avgX = 0;\n let countX = 0;\n let i, point, prevX, minY, maxY, lastY;\n const pointIndex = (index) => (start + (reverse ? ilen - index : index)) % count;\n const drawX = () => {\n if (minY !== maxY) {\n ctx.lineTo(avgX, maxY);\n ctx.lineTo(avgX, minY);\n ctx.lineTo(avgX, lastY);\n }\n };\n if (move) {\n point = points[pointIndex(0)];\n ctx.moveTo(point.x, point.y);\n }\n for (i = 0; i <= ilen; ++i) {\n point = points[pointIndex(i)];\n if (point.skip) {\n continue;\n }\n const x = point.x;\n const y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n } else if (y > maxY) {\n maxY = y;\n }\n avgX = (countX * avgX + x) / ++countX;\n } else {\n drawX();\n ctx.lineTo(x, y);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n }\n lastY = y;\n }\n drawX();\n}\nfunction _getSegmentMethod(line) {\n const opts = line.options;\n const borderDash = opts.borderDash && opts.borderDash.length;\n const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n return useFastPath ? fastPathSegment : pathSegment;\n}\nfunction _getInterpolationMethod(options) {\n if (options.stepped) {\n return _steppedInterpolation;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierInterpolation;\n }\n return _pointInLine;\n}\nfunction strokePathWithCache(ctx, line, start, count) {\n let path = line._path;\n if (!path) {\n path = line._path = new Path2D();\n if (line.path(path, start, count)) {\n path.closePath();\n }\n }\n setStyle(ctx, line.options);\n ctx.stroke(path);\n}\nfunction strokePathDirect(ctx, line, start, count) {\n const {segments, options} = line;\n const segmentMethod = _getSegmentMethod(line);\n for (const segment of segments) {\n setStyle(ctx, options, segment.style);\n ctx.beginPath();\n if (segmentMethod(ctx, line, segment, {start, end: start + count - 1})) {\n ctx.closePath();\n }\n ctx.stroke();\n }\n}\nconst usePath2D = typeof Path2D === 'function';\nfunction draw(ctx, line, start, count) {\n if (usePath2D && !line.options.segment) {\n strokePathWithCache(ctx, line, start, count);\n } else {\n strokePathDirect(ctx, line, start, count);\n }\n}\nclass LineElement extends Element {\n constructor(cfg) {\n super();\n this.animated = true;\n this.options = undefined;\n this._chart = undefined;\n this._loop = undefined;\n this._fullLoop = undefined;\n this._path = undefined;\n this._points = undefined;\n this._segments = undefined;\n this._decimated = false;\n this._pointsUpdated = false;\n this._datasetIndex = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n updateControlPoints(chartArea, indexAxis) {\n const options = this.options;\n if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) {\n const loop = options.spanGaps ? this._loop : this._fullLoop;\n _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis);\n this._pointsUpdated = true;\n }\n }\n set points(points) {\n this._points = points;\n delete this._segments;\n delete this._path;\n this._pointsUpdated = false;\n }\n get points() {\n return this._points;\n }\n get segments() {\n return this._segments || (this._segments = _computeSegments(this, this.options.segment));\n }\n first() {\n const segments = this.segments;\n const points = this.points;\n return segments.length && points[segments[0].start];\n }\n last() {\n const segments = this.segments;\n const points = this.points;\n const count = segments.length;\n return count && points[segments[count - 1].end];\n }\n interpolate(point, property) {\n const options = this.options;\n const value = point[property];\n const points = this.points;\n const segments = _boundSegments(this, {property, start: value, end: value});\n if (!segments.length) {\n return;\n }\n const result = [];\n const _interpolate = _getInterpolationMethod(options);\n let i, ilen;\n for (i = 0, ilen = segments.length; i < ilen; ++i) {\n const {start, end} = segments[i];\n const p1 = points[start];\n const p2 = points[end];\n if (p1 === p2) {\n result.push(p1);\n continue;\n }\n const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n const interpolated = _interpolate(p1, p2, t, options.stepped);\n interpolated[property] = point[property];\n result.push(interpolated);\n }\n return result.length === 1 ? result[0] : result;\n }\n pathSegment(ctx, segment, params) {\n const segmentMethod = _getSegmentMethod(this);\n return segmentMethod(ctx, this, segment, params);\n }\n path(ctx, start, count) {\n const segments = this.segments;\n const segmentMethod = _getSegmentMethod(this);\n let loop = this._loop;\n start = start || 0;\n count = count || (this.points.length - start);\n for (const segment of segments) {\n loop &= segmentMethod(ctx, this, segment, {start, end: start + count - 1});\n }\n return !!loop;\n }\n draw(ctx, chartArea, start, count) {\n const options = this.options || {};\n const points = this.points || [];\n if (points.length && options.borderWidth) {\n ctx.save();\n draw(ctx, this, start, count);\n ctx.restore();\n }\n if (this.animated) {\n this._pointsUpdated = false;\n this._path = undefined;\n }\n }\n}\nLineElement.id = 'line';\nLineElement.defaults = {\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderWidth: 3,\n capBezierPoints: true,\n cubicInterpolationMode: 'default',\n fill: false,\n spanGaps: false,\n stepped: false,\n tension: 0,\n};\nLineElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\nLineElement.descriptors = {\n _scriptable: true,\n _indexable: (name) => name !== 'borderDash' && name !== 'fill',\n};\n\nfunction inRange$1(el, pos, axis, useFinalPosition) {\n const options = el.options;\n const {[axis]: value} = el.getProps([axis], useFinalPosition);\n return (Math.abs(pos - value) < options.radius + options.hitRadius);\n}\nclass PointElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.parsed = undefined;\n this.skip = undefined;\n this.stop = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n const options = this.options;\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return ((Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2)) < Math.pow(options.hitRadius + options.radius, 2));\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange$1(this, mouseX, 'x', useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange$1(this, mouseY, 'y', useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n size(options) {\n options = options || this.options || {};\n let radius = options.radius || 0;\n radius = Math.max(radius, radius && options.hoverRadius || 0);\n const borderWidth = radius && options.borderWidth || 0;\n return (radius + borderWidth) * 2;\n }\n draw(ctx, area) {\n const options = this.options;\n if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) {\n return;\n }\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.fillStyle = options.backgroundColor;\n drawPoint(ctx, options, this.x, this.y);\n }\n getRange() {\n const options = this.options || {};\n return options.radius + options.hitRadius;\n }\n}\nPointElement.id = 'point';\nPointElement.defaults = {\n borderWidth: 1,\n hitRadius: 1,\n hoverBorderWidth: 1,\n hoverRadius: 4,\n pointStyle: 'circle',\n radius: 3,\n rotation: 0\n};\nPointElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nfunction getBarBounds(bar, useFinalPosition) {\n const {x, y, base, width, height} = bar.getProps(['x', 'y', 'base', 'width', 'height'], useFinalPosition);\n let left, right, top, bottom, half;\n if (bar.horizontal) {\n half = height / 2;\n left = Math.min(x, base);\n right = Math.max(x, base);\n top = y - half;\n bottom = y + half;\n } else {\n half = width / 2;\n left = x - half;\n right = x + half;\n top = Math.min(y, base);\n bottom = Math.max(y, base);\n }\n return {left, top, right, bottom};\n}\nfunction skipOrLimit(skip, value, min, max) {\n return skip ? 0 : _limitValue(value, min, max);\n}\nfunction parseBorderWidth(bar, maxW, maxH) {\n const value = bar.options.borderWidth;\n const skip = bar.borderSkipped;\n const o = toTRBL(value);\n return {\n t: skipOrLimit(skip.top, o.top, 0, maxH),\n r: skipOrLimit(skip.right, o.right, 0, maxW),\n b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n l: skipOrLimit(skip.left, o.left, 0, maxW)\n };\n}\nfunction parseBorderRadius(bar, maxW, maxH) {\n const {enableBorderRadius} = bar.getProps(['enableBorderRadius']);\n const value = bar.options.borderRadius;\n const o = toTRBLCorners(value);\n const maxR = Math.min(maxW, maxH);\n const skip = bar.borderSkipped;\n const enableBorder = enableBorderRadius || isObject(value);\n return {\n topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n };\n}\nfunction boundingRects(bar) {\n const bounds = getBarBounds(bar);\n const width = bounds.right - bounds.left;\n const height = bounds.bottom - bounds.top;\n const border = parseBorderWidth(bar, width / 2, height / 2);\n const radius = parseBorderRadius(bar, width / 2, height / 2);\n return {\n outer: {\n x: bounds.left,\n y: bounds.top,\n w: width,\n h: height,\n radius\n },\n inner: {\n x: bounds.left + border.l,\n y: bounds.top + border.t,\n w: width - border.l - border.r,\n h: height - border.t - border.b,\n radius: {\n topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)),\n }\n }\n };\n}\nfunction inRange(bar, x, y, useFinalPosition) {\n const skipX = x === null;\n const skipY = y === null;\n const skipBoth = skipX && skipY;\n const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n return bounds\n\t\t&& (skipX || _isBetween(x, bounds.left, bounds.right))\n\t\t&& (skipY || _isBetween(y, bounds.top, bounds.bottom));\n}\nfunction hasRadius(radius) {\n return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\nfunction addNormalRectPath(ctx, rect) {\n ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\nfunction inflateRect(rect, amount, refRect = {}) {\n const x = rect.x !== refRect.x ? -amount : 0;\n const y = rect.y !== refRect.y ? -amount : 0;\n const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n return {\n x: rect.x + x,\n y: rect.y + y,\n w: rect.w + w,\n h: rect.h + h,\n radius: rect.radius\n };\n}\nclass BarElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.horizontal = undefined;\n this.base = undefined;\n this.width = undefined;\n this.height = undefined;\n this.inflateAmount = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n draw(ctx) {\n const {inflateAmount, options: {borderColor, backgroundColor}} = this;\n const {inner, outer} = boundingRects(this);\n const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath;\n ctx.save();\n if (outer.w !== inner.w || outer.h !== inner.h) {\n ctx.beginPath();\n addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n ctx.clip();\n addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n ctx.fillStyle = borderColor;\n ctx.fill('evenodd');\n }\n ctx.beginPath();\n addRectPath(ctx, inflateRect(inner, inflateAmount));\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n return inRange(this, mouseX, mouseY, useFinalPosition);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange(this, mouseX, null, useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange(this, null, mouseY, useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, base, horizontal} = this.getProps(['x', 'y', 'base', 'horizontal'], useFinalPosition);\n return {\n x: horizontal ? (x + base) / 2 : x,\n y: horizontal ? y : (y + base) / 2\n };\n }\n getRange(axis) {\n return axis === 'x' ? this.width / 2 : this.height / 2;\n }\n}\nBarElement.id = 'bar';\nBarElement.defaults = {\n borderSkipped: 'start',\n borderWidth: 0,\n borderRadius: 0,\n inflateAmount: 'auto',\n pointStyle: undefined\n};\nBarElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nvar elements = /*#__PURE__*/Object.freeze({\n__proto__: null,\nArcElement: ArcElement,\nLineElement: LineElement,\nPointElement: PointElement,\nBarElement: BarElement\n});\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n const samples = options.samples || availableWidth;\n if (samples >= count) {\n return data.slice(start, start + count);\n }\n const decimated = [];\n const bucketWidth = (count - 2) / (samples - 2);\n let sampledIndex = 0;\n const endIndex = start + count - 1;\n let a = start;\n let i, maxAreaPoint, maxArea, area, nextA;\n decimated[sampledIndex++] = data[a];\n for (i = 0; i < samples - 2; i++) {\n let avgX = 0;\n let avgY = 0;\n let j;\n const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n const avgRangeLength = avgRangeEnd - avgRangeStart;\n for (j = avgRangeStart; j < avgRangeEnd; j++) {\n avgX += data[j].x;\n avgY += data[j].y;\n }\n avgX /= avgRangeLength;\n avgY /= avgRangeLength;\n const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n const {x: pointAx, y: pointAy} = data[a];\n maxArea = area = -1;\n for (j = rangeOffs; j < rangeTo; j++) {\n area = 0.5 * Math.abs(\n (pointAx - avgX) * (data[j].y - pointAy) -\n (pointAx - data[j].x) * (avgY - pointAy)\n );\n if (area > maxArea) {\n maxArea = area;\n maxAreaPoint = data[j];\n nextA = j;\n }\n }\n decimated[sampledIndex++] = maxAreaPoint;\n a = nextA;\n }\n decimated[sampledIndex++] = data[endIndex];\n return decimated;\n}\nfunction minMaxDecimation(data, start, count, availableWidth) {\n let avgX = 0;\n let countX = 0;\n let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n const decimated = [];\n const endIndex = start + count - 1;\n const xMin = data[start].x;\n const xMax = data[endIndex].x;\n const dx = xMax - xMin;\n for (i = start; i < start + count; ++i) {\n point = data[i];\n x = (point.x - xMin) / dx * availableWidth;\n y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n minIndex = i;\n } else if (y > maxY) {\n maxY = y;\n maxIndex = i;\n }\n avgX = (countX * avgX + point.x) / ++countX;\n } else {\n const lastIndex = i - 1;\n if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) {\n const intermediateIndex1 = Math.min(minIndex, maxIndex);\n const intermediateIndex2 = Math.max(minIndex, maxIndex);\n if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex1],\n x: avgX,\n });\n }\n if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex2],\n x: avgX\n });\n }\n }\n if (i > 0 && lastIndex !== startIndex) {\n decimated.push(data[lastIndex]);\n }\n decimated.push(point);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n minIndex = maxIndex = startIndex = i;\n }\n }\n return decimated;\n}\nfunction cleanDecimatedDataset(dataset) {\n if (dataset._decimated) {\n const data = dataset._data;\n delete dataset._decimated;\n delete dataset._data;\n Object.defineProperty(dataset, 'data', {value: data});\n }\n}\nfunction cleanDecimatedData(chart) {\n chart.data.datasets.forEach((dataset) => {\n cleanDecimatedDataset(dataset);\n });\n}\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n const pointCount = points.length;\n let start = 0;\n let count;\n const {iScale} = meta;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n return {start, count};\n}\nvar plugin_decimation = {\n id: 'decimation',\n defaults: {\n algorithm: 'min-max',\n enabled: false,\n },\n beforeElementsUpdate: (chart, args, options) => {\n if (!options.enabled) {\n cleanDecimatedData(chart);\n return;\n }\n const availableWidth = chart.width;\n chart.data.datasets.forEach((dataset, datasetIndex) => {\n const {_data, indexAxis} = dataset;\n const meta = chart.getDatasetMeta(datasetIndex);\n const data = _data || dataset.data;\n if (resolve([indexAxis, chart.options.indexAxis]) === 'y') {\n return;\n }\n if (!meta.controller.supportsDecimation) {\n return;\n }\n const xAxis = chart.scales[meta.xAxisID];\n if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n return;\n }\n if (chart.options.parsing) {\n return;\n }\n let {start, count} = getStartAndCountOfVisiblePointsSimplified(meta, data);\n const threshold = options.threshold || 4 * availableWidth;\n if (count <= threshold) {\n cleanDecimatedDataset(dataset);\n return;\n }\n if (isNullOrUndef(_data)) {\n dataset._data = data;\n delete dataset.data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this._decimated;\n },\n set: function(d) {\n this._data = d;\n }\n });\n }\n let decimated;\n switch (options.algorithm) {\n case 'lttb':\n decimated = lttbDecimation(data, start, count, availableWidth, options);\n break;\n case 'min-max':\n decimated = minMaxDecimation(data, start, count, availableWidth);\n break;\n default:\n throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n }\n dataset._decimated = decimated;\n });\n },\n destroy(chart) {\n cleanDecimatedData(chart);\n }\n};\n\nfunction _segments(line, target, property) {\n const segments = line.segments;\n const points = line.points;\n const tpoints = target.points;\n const parts = [];\n for (const segment of segments) {\n let {start, end} = segment;\n end = _findSegmentEnd(start, end, points);\n const bounds = _getBounds(property, points[start], points[end], segment.loop);\n if (!target.segments) {\n parts.push({\n source: segment,\n target: bounds,\n start: points[start],\n end: points[end]\n });\n continue;\n }\n const targetSegments = _boundSegments(target, bounds);\n for (const tgt of targetSegments) {\n const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n const fillSources = _boundSegment(segment, points, subBounds);\n for (const fillSource of fillSources) {\n parts.push({\n source: fillSource,\n target: tgt,\n start: {\n [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n },\n end: {\n [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n }\n });\n }\n }\n }\n return parts;\n}\nfunction _getBounds(property, first, last, loop) {\n if (loop) {\n return;\n }\n let start = first[property];\n let end = last[property];\n if (property === 'angle') {\n start = _normalizeAngle(start);\n end = _normalizeAngle(end);\n }\n return {property, start, end};\n}\nfunction _pointsFromSegments(boundary, line) {\n const {x = null, y = null} = boundary || {};\n const linePoints = line.points;\n const points = [];\n line.segments.forEach(({start, end}) => {\n end = _findSegmentEnd(start, end, linePoints);\n const first = linePoints[start];\n const last = linePoints[end];\n if (y !== null) {\n points.push({x: first.x, y});\n points.push({x: last.x, y});\n } else if (x !== null) {\n points.push({x, y: first.y});\n points.push({x, y: last.y});\n }\n });\n return points;\n}\nfunction _findSegmentEnd(start, end, points) {\n for (;end > start; end--) {\n const point = points[end];\n if (!isNaN(point.x) && !isNaN(point.y)) {\n break;\n }\n }\n return end;\n}\nfunction _getEdge(a, b, prop, fn) {\n if (a && b) {\n return fn(a[prop], b[prop]);\n }\n return a ? a[prop] : b ? b[prop] : 0;\n}\n\nfunction _createBoundaryLine(boundary, line) {\n let points = [];\n let _loop = false;\n if (isArray(boundary)) {\n _loop = true;\n points = boundary;\n } else {\n points = _pointsFromSegments(boundary, line);\n }\n return points.length ? new LineElement({\n points,\n options: {tension: 0},\n _loop,\n _fullLoop: _loop\n }) : null;\n}\nfunction _shouldApplyFill(source) {\n return source && source.fill !== false;\n}\n\nfunction _resolveTarget(sources, index, propagate) {\n const source = sources[index];\n let fill = source.fill;\n const visited = [index];\n let target;\n if (!propagate) {\n return fill;\n }\n while (fill !== false && visited.indexOf(fill) === -1) {\n if (!isNumberFinite(fill)) {\n return fill;\n }\n target = sources[fill];\n if (!target) {\n return false;\n }\n if (target.visible) {\n return fill;\n }\n visited.push(fill);\n fill = target.fill;\n }\n return false;\n}\nfunction _decodeFill(line, index, count) {\n const fill = parseFillOption(line);\n if (isObject(fill)) {\n return isNaN(fill.value) ? false : fill;\n }\n let target = parseFloat(fill);\n if (isNumberFinite(target) && Math.floor(target) === target) {\n return decodeTargetIndex(fill[0], index, target, count);\n }\n return ['origin', 'start', 'end', 'stack', 'shape'].indexOf(fill) >= 0 && fill;\n}\nfunction decodeTargetIndex(firstCh, index, target, count) {\n if (firstCh === '-' || firstCh === '+') {\n target = index + target;\n }\n if (target === index || target < 0 || target >= count) {\n return false;\n }\n return target;\n}\nfunction _getTargetPixel(fill, scale) {\n let pixel = null;\n if (fill === 'start') {\n pixel = scale.bottom;\n } else if (fill === 'end') {\n pixel = scale.top;\n } else if (isObject(fill)) {\n pixel = scale.getPixelForValue(fill.value);\n } else if (scale.getBasePixel) {\n pixel = scale.getBasePixel();\n }\n return pixel;\n}\nfunction _getTargetValue(fill, scale, startValue) {\n let value;\n if (fill === 'start') {\n value = startValue;\n } else if (fill === 'end') {\n value = scale.options.reverse ? scale.min : scale.max;\n } else if (isObject(fill)) {\n value = fill.value;\n } else {\n value = scale.getBaseValue();\n }\n return value;\n}\nfunction parseFillOption(line) {\n const options = line.options;\n const fillOption = options.fill;\n let fill = valueOrDefault(fillOption && fillOption.target, fillOption);\n if (fill === undefined) {\n fill = !!options.backgroundColor;\n }\n if (fill === false || fill === null) {\n return false;\n }\n if (fill === true) {\n return 'origin';\n }\n return fill;\n}\n\nfunction _buildStackLine(source) {\n const {scale, index, line} = source;\n const points = [];\n const segments = line.segments;\n const sourcePoints = line.points;\n const linesBelow = getLinesBelow(scale, index);\n linesBelow.push(_createBoundaryLine({x: null, y: scale.bottom}, line));\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n for (let j = segment.start; j <= segment.end; j++) {\n addPointsBelow(points, sourcePoints[j], linesBelow);\n }\n }\n return new LineElement({points, options: {}});\n}\nfunction getLinesBelow(scale, index) {\n const below = [];\n const metas = scale.getMatchingVisibleMetas('line');\n for (let i = 0; i < metas.length; i++) {\n const meta = metas[i];\n if (meta.index === index) {\n break;\n }\n if (!meta.hidden) {\n below.unshift(meta.dataset);\n }\n }\n return below;\n}\nfunction addPointsBelow(points, sourcePoint, linesBelow) {\n const postponed = [];\n for (let j = 0; j < linesBelow.length; j++) {\n const line = linesBelow[j];\n const {first, last, point} = findPoint(line, sourcePoint, 'x');\n if (!point || (first && last)) {\n continue;\n }\n if (first) {\n postponed.unshift(point);\n } else {\n points.push(point);\n if (!last) {\n break;\n }\n }\n }\n points.push(...postponed);\n}\nfunction findPoint(line, sourcePoint, property) {\n const point = line.interpolate(sourcePoint, property);\n if (!point) {\n return {};\n }\n const pointValue = point[property];\n const segments = line.segments;\n const linePoints = line.points;\n let first = false;\n let last = false;\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n const firstValue = linePoints[segment.start][property];\n const lastValue = linePoints[segment.end][property];\n if (_isBetween(pointValue, firstValue, lastValue)) {\n first = pointValue === firstValue;\n last = pointValue === lastValue;\n break;\n }\n }\n return {first, last, point};\n}\n\nclass simpleArc {\n constructor(opts) {\n this.x = opts.x;\n this.y = opts.y;\n this.radius = opts.radius;\n }\n pathSegment(ctx, bounds, opts) {\n const {x, y, radius} = this;\n bounds = bounds || {start: 0, end: TAU};\n ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n return !opts.bounds;\n }\n interpolate(point) {\n const {x, y, radius} = this;\n const angle = point.angle;\n return {\n x: x + Math.cos(angle) * radius,\n y: y + Math.sin(angle) * radius,\n angle\n };\n }\n}\n\nfunction _getTarget(source) {\n const {chart, fill, line} = source;\n if (isNumberFinite(fill)) {\n return getLineByIndex(chart, fill);\n }\n if (fill === 'stack') {\n return _buildStackLine(source);\n }\n if (fill === 'shape') {\n return true;\n }\n const boundary = computeBoundary(source);\n if (boundary instanceof simpleArc) {\n return boundary;\n }\n return _createBoundaryLine(boundary, line);\n}\nfunction getLineByIndex(chart, index) {\n const meta = chart.getDatasetMeta(index);\n const visible = meta && chart.isDatasetVisible(index);\n return visible ? meta.dataset : null;\n}\nfunction computeBoundary(source) {\n const scale = source.scale || {};\n if (scale.getPointPositionForValue) {\n return computeCircularBoundary(source);\n }\n return computeLinearBoundary(source);\n}\nfunction computeLinearBoundary(source) {\n const {scale = {}, fill} = source;\n const pixel = _getTargetPixel(fill, scale);\n if (isNumberFinite(pixel)) {\n const horizontal = scale.isHorizontal();\n return {\n x: horizontal ? pixel : null,\n y: horizontal ? null : pixel\n };\n }\n return null;\n}\nfunction computeCircularBoundary(source) {\n const {scale, fill} = source;\n const options = scale.options;\n const length = scale.getLabels().length;\n const start = options.reverse ? scale.max : scale.min;\n const value = _getTargetValue(fill, scale, start);\n const target = [];\n if (options.grid.circular) {\n const center = scale.getPointPositionForValue(0, start);\n return new simpleArc({\n x: center.x,\n y: center.y,\n radius: scale.getDistanceFromCenterForValue(value)\n });\n }\n for (let i = 0; i < length; ++i) {\n target.push(scale.getPointPositionForValue(i, value));\n }\n return target;\n}\n\nfunction _drawfill(ctx, source, area) {\n const target = _getTarget(source);\n const {line, scale, axis} = source;\n const lineOpts = line.options;\n const fillOption = lineOpts.fill;\n const color = lineOpts.backgroundColor;\n const {above = color, below = color} = fillOption || {};\n if (target && line.points.length) {\n clipArea(ctx, area);\n doFill(ctx, {line, target, above, below, area, scale, axis});\n unclipArea(ctx);\n }\n}\nfunction doFill(ctx, cfg) {\n const {line, target, above, below, area, scale} = cfg;\n const property = line._loop ? 'angle' : cfg.axis;\n ctx.save();\n if (property === 'x' && below !== above) {\n clipVertical(ctx, target, area.top);\n fill(ctx, {line, target, color: above, scale, property});\n ctx.restore();\n ctx.save();\n clipVertical(ctx, target, area.bottom);\n }\n fill(ctx, {line, target, color: below, scale, property});\n ctx.restore();\n}\nfunction clipVertical(ctx, target, clipY) {\n const {segments, points} = target;\n let first = true;\n let lineLoop = false;\n ctx.beginPath();\n for (const segment of segments) {\n const {start, end} = segment;\n const firstPoint = points[start];\n const lastPoint = points[_findSegmentEnd(start, end, points)];\n if (first) {\n ctx.moveTo(firstPoint.x, firstPoint.y);\n first = false;\n } else {\n ctx.lineTo(firstPoint.x, clipY);\n ctx.lineTo(firstPoint.x, firstPoint.y);\n }\n lineLoop = !!target.pathSegment(ctx, segment, {move: lineLoop});\n if (lineLoop) {\n ctx.closePath();\n } else {\n ctx.lineTo(lastPoint.x, clipY);\n }\n }\n ctx.lineTo(target.first().x, clipY);\n ctx.closePath();\n ctx.clip();\n}\nfunction fill(ctx, cfg) {\n const {line, target, property, color, scale} = cfg;\n const segments = _segments(line, target, property);\n for (const {source: src, target: tgt, start, end} of segments) {\n const {style: {backgroundColor = color} = {}} = src;\n const notShape = target !== true;\n ctx.save();\n ctx.fillStyle = backgroundColor;\n clipBounds(ctx, scale, notShape && _getBounds(property, start, end));\n ctx.beginPath();\n const lineLoop = !!line.pathSegment(ctx, src);\n let loop;\n if (notShape) {\n if (lineLoop) {\n ctx.closePath();\n } else {\n interpolatedLineTo(ctx, target, end, property);\n }\n const targetLoop = !!target.pathSegment(ctx, tgt, {move: lineLoop, reverse: true});\n loop = lineLoop && targetLoop;\n if (!loop) {\n interpolatedLineTo(ctx, target, start, property);\n }\n }\n ctx.closePath();\n ctx.fill(loop ? 'evenodd' : 'nonzero');\n ctx.restore();\n }\n}\nfunction clipBounds(ctx, scale, bounds) {\n const {top, bottom} = scale.chart.chartArea;\n const {property, start, end} = bounds || {};\n if (property === 'x') {\n ctx.beginPath();\n ctx.rect(start, top, end - start, bottom - top);\n ctx.clip();\n }\n}\nfunction interpolatedLineTo(ctx, target, point, property) {\n const interpolatedPoint = target.interpolate(point, property);\n if (interpolatedPoint) {\n ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n }\n}\n\nvar index = {\n id: 'filler',\n afterDatasetsUpdate(chart, _args, options) {\n const count = (chart.data.datasets || []).length;\n const sources = [];\n let meta, i, line, source;\n for (i = 0; i < count; ++i) {\n meta = chart.getDatasetMeta(i);\n line = meta.dataset;\n source = null;\n if (line && line.options && line instanceof LineElement) {\n source = {\n visible: chart.isDatasetVisible(i),\n index: i,\n fill: _decodeFill(line, i, count),\n chart,\n axis: meta.controller.options.indexAxis,\n scale: meta.vScale,\n line,\n };\n }\n meta.$filler = source;\n sources.push(source);\n }\n for (i = 0; i < count; ++i) {\n source = sources[i];\n if (!source || source.fill === false) {\n continue;\n }\n source.fill = _resolveTarget(sources, i, options.propagate);\n }\n },\n beforeDraw(chart, _args, options) {\n const draw = options.drawTime === 'beforeDraw';\n const metasets = chart.getSortedVisibleDatasetMetas();\n const area = chart.chartArea;\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (!source) {\n continue;\n }\n source.line.updateControlPoints(area, source.axis);\n if (draw && source.fill) {\n _drawfill(chart.ctx, source, area);\n }\n }\n },\n beforeDatasetsDraw(chart, _args, options) {\n if (options.drawTime !== 'beforeDatasetsDraw') {\n return;\n }\n const metasets = chart.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (_shouldApplyFill(source)) {\n _drawfill(chart.ctx, source, chart.chartArea);\n }\n }\n },\n beforeDatasetDraw(chart, args, options) {\n const source = args.meta.$filler;\n if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') {\n return;\n }\n _drawfill(chart.ctx, source, chart.chartArea);\n },\n defaults: {\n propagate: true,\n drawTime: 'beforeDatasetDraw'\n }\n};\n\nconst getBoxSize = (labelOpts, fontSize) => {\n let {boxHeight = fontSize, boxWidth = fontSize} = labelOpts;\n if (labelOpts.usePointStyle) {\n boxHeight = Math.min(boxHeight, fontSize);\n boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize);\n }\n return {\n boxWidth,\n boxHeight,\n itemHeight: Math.max(fontSize, boxHeight)\n };\n};\nconst itemsEqual = (a, b) => a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\nclass Legend extends Element {\n constructor(config) {\n super();\n this._added = false;\n this.legendHitBoxes = [];\n this._hoveredItem = null;\n this.doughnutMode = false;\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this.legendItems = undefined;\n this.columnSizes = undefined;\n this.lineWidths = undefined;\n this.maxHeight = undefined;\n this.maxWidth = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.height = undefined;\n this.width = undefined;\n this._margins = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight, margins) {\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins;\n this.setDimensions();\n this.buildLabels();\n this.fit();\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = this._margins.left;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = this._margins.top;\n this.bottom = this.height;\n }\n }\n buildLabels() {\n const labelOpts = this.options.labels || {};\n let legendItems = callback(labelOpts.generateLabels, [this.chart], this) || [];\n if (labelOpts.filter) {\n legendItems = legendItems.filter((item) => labelOpts.filter(item, this.chart.data));\n }\n if (labelOpts.sort) {\n legendItems = legendItems.sort((a, b) => labelOpts.sort(a, b, this.chart.data));\n }\n if (this.options.reverse) {\n legendItems.reverse();\n }\n this.legendItems = legendItems;\n }\n fit() {\n const {options, ctx} = this;\n if (!options.display) {\n this.width = this.height = 0;\n return;\n }\n const labelOpts = options.labels;\n const labelFont = toFont(labelOpts.font);\n const fontSize = labelFont.size;\n const titleHeight = this._computeTitleHeight();\n const {boxWidth, itemHeight} = getBoxSize(labelOpts, fontSize);\n let width, height;\n ctx.font = labelFont.string;\n if (this.isHorizontal()) {\n width = this.maxWidth;\n height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n } else {\n height = this.maxHeight;\n width = this._fitCols(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n }\n this.width = Math.min(width, options.maxWidth || this.maxWidth);\n this.height = Math.min(height, options.maxHeight || this.maxHeight);\n }\n _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxWidth, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const lineWidths = this.lineWidths = [0];\n const lineHeight = itemHeight + padding;\n let totalHeight = titleHeight;\n ctx.textAlign = 'left';\n ctx.textBaseline = 'middle';\n let row = -1;\n let top = -lineHeight;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n totalHeight += lineHeight;\n lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n top += lineHeight;\n row++;\n }\n hitboxes[i] = {left: 0, top, row, width: itemWidth, height: itemHeight};\n lineWidths[lineWidths.length - 1] += itemWidth + padding;\n });\n return totalHeight;\n }\n _fitCols(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxHeight, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const columnSizes = this.columnSizes = [];\n const heightLimit = maxHeight - titleHeight;\n let totalWidth = padding;\n let currentColWidth = 0;\n let currentColHeight = 0;\n let left = 0;\n let col = 0;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n totalWidth += currentColWidth + padding;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n left += currentColWidth + padding;\n col++;\n currentColWidth = currentColHeight = 0;\n }\n hitboxes[i] = {left, top: currentColHeight, col, width: itemWidth, height: itemHeight};\n currentColWidth = Math.max(currentColWidth, itemWidth);\n currentColHeight += itemHeight + padding;\n });\n totalWidth += currentColWidth;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n return totalWidth;\n }\n adjustHitBoxes() {\n if (!this.options.display) {\n return;\n }\n const titleHeight = this._computeTitleHeight();\n const {legendHitBoxes: hitboxes, options: {align, labels: {padding}, rtl}} = this;\n const rtlHelper = getRtlAdapter(rtl, this.left, this.width);\n if (this.isHorizontal()) {\n let row = 0;\n let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n for (const hitbox of hitboxes) {\n if (row !== hitbox.row) {\n row = hitbox.row;\n left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n }\n hitbox.top += this.top + titleHeight + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n left += hitbox.width + padding;\n }\n } else {\n let col = 0;\n let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n for (const hitbox of hitboxes) {\n if (hitbox.col !== col) {\n col = hitbox.col;\n top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n }\n hitbox.top = top;\n hitbox.left += this.left + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n top += hitbox.height + padding;\n }\n }\n }\n isHorizontal() {\n return this.options.position === 'top' || this.options.position === 'bottom';\n }\n draw() {\n if (this.options.display) {\n const ctx = this.ctx;\n clipArea(ctx, this);\n this._draw();\n unclipArea(ctx);\n }\n }\n _draw() {\n const {options: opts, columnSizes, lineWidths, ctx} = this;\n const {align, labels: labelOpts} = opts;\n const defaultColor = defaults.color;\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const labelFont = toFont(labelOpts.font);\n const {color: fontColor, padding} = labelOpts;\n const fontSize = labelFont.size;\n const halfFontSize = fontSize / 2;\n let cursor;\n this.drawTitle();\n ctx.textAlign = rtlHelper.textAlign('left');\n ctx.textBaseline = 'middle';\n ctx.lineWidth = 0.5;\n ctx.font = labelFont.string;\n const {boxWidth, boxHeight, itemHeight} = getBoxSize(labelOpts, fontSize);\n const drawLegendBox = function(x, y, legendItem) {\n if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n return;\n }\n ctx.save();\n const lineWidth = valueOrDefault(legendItem.lineWidth, 1);\n ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor);\n ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt');\n ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0);\n ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter');\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor);\n ctx.setLineDash(valueOrDefault(legendItem.lineDash, []));\n if (labelOpts.usePointStyle) {\n const drawOptions = {\n radius: boxHeight * Math.SQRT2 / 2,\n pointStyle: legendItem.pointStyle,\n rotation: legendItem.rotation,\n borderWidth: lineWidth\n };\n const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n const centerY = y + halfFontSize;\n drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth);\n } else {\n const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n const borderRadius = toTRBLCorners(legendItem.borderRadius);\n ctx.beginPath();\n if (Object.values(borderRadius).some(v => v !== 0)) {\n addRoundedRectPath(ctx, {\n x: xBoxLeft,\n y: yBoxTop,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n } else {\n ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n }\n ctx.fill();\n if (lineWidth !== 0) {\n ctx.stroke();\n }\n }\n ctx.restore();\n };\n const fillText = function(x, y, legendItem) {\n renderText(ctx, legendItem.text, x, y + (itemHeight / 2), labelFont, {\n strikethrough: legendItem.hidden,\n textAlign: rtlHelper.textAlign(legendItem.textAlign)\n });\n };\n const isHorizontal = this.isHorizontal();\n const titleHeight = this._computeTitleHeight();\n if (isHorizontal) {\n cursor = {\n x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]),\n y: this.top + padding + titleHeight,\n line: 0\n };\n } else {\n cursor = {\n x: this.left + padding,\n y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height),\n line: 0\n };\n }\n overrideTextDirection(this.ctx, opts.textDirection);\n const lineHeight = itemHeight + padding;\n this.legendItems.forEach((legendItem, i) => {\n ctx.strokeStyle = legendItem.fontColor || fontColor;\n ctx.fillStyle = legendItem.fontColor || fontColor;\n const textWidth = ctx.measureText(legendItem.text).width;\n const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n const width = boxWidth + halfFontSize + textWidth;\n let x = cursor.x;\n let y = cursor.y;\n rtlHelper.setWidth(this.width);\n if (isHorizontal) {\n if (i > 0 && x + width + padding > this.right) {\n y = cursor.y += lineHeight;\n cursor.line++;\n x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]);\n }\n } else if (i > 0 && y + lineHeight > this.bottom) {\n x = cursor.x = x + columnSizes[cursor.line].width + padding;\n cursor.line++;\n y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height);\n }\n const realX = rtlHelper.x(x);\n drawLegendBox(realX, y, legendItem);\n x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl);\n fillText(rtlHelper.x(x), y, legendItem);\n if (isHorizontal) {\n cursor.x += width + padding;\n } else {\n cursor.y += lineHeight;\n }\n });\n restoreTextDirection(this.ctx, opts.textDirection);\n }\n drawTitle() {\n const opts = this.options;\n const titleOpts = opts.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n if (!titleOpts.display) {\n return;\n }\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const ctx = this.ctx;\n const position = titleOpts.position;\n const halfFontSize = titleFont.size / 2;\n const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n let y;\n let left = this.left;\n let maxWidth = this.width;\n if (this.isHorizontal()) {\n maxWidth = Math.max(...this.lineWidths);\n y = this.top + topPaddingPlusHalfFontSize;\n left = _alignStartEnd(opts.align, left, this.right - maxWidth);\n } else {\n const maxHeight = this.columnSizes.reduce((acc, size) => Math.max(acc, size.height), 0);\n y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight());\n }\n const x = _alignStartEnd(position, left, left + maxWidth);\n ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position));\n ctx.textBaseline = 'middle';\n ctx.strokeStyle = titleOpts.color;\n ctx.fillStyle = titleOpts.color;\n ctx.font = titleFont.string;\n renderText(ctx, titleOpts.text, x, y, titleFont);\n }\n _computeTitleHeight() {\n const titleOpts = this.options.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n }\n _getLegendItemAt(x, y) {\n let i, hitBox, lh;\n if (_isBetween(x, this.left, this.right)\n && _isBetween(y, this.top, this.bottom)) {\n lh = this.legendHitBoxes;\n for (i = 0; i < lh.length; ++i) {\n hitBox = lh[i];\n if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width)\n && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) {\n return this.legendItems[i];\n }\n }\n }\n return null;\n }\n handleEvent(e) {\n const opts = this.options;\n if (!isListened(e.type, opts)) {\n return;\n }\n const hoveredItem = this._getLegendItemAt(e.x, e.y);\n if (e.type === 'mousemove' || e.type === 'mouseout') {\n const previous = this._hoveredItem;\n const sameItem = itemsEqual(previous, hoveredItem);\n if (previous && !sameItem) {\n callback(opts.onLeave, [e, previous, this], this);\n }\n this._hoveredItem = hoveredItem;\n if (hoveredItem && !sameItem) {\n callback(opts.onHover, [e, hoveredItem, this], this);\n }\n } else if (hoveredItem) {\n callback(opts.onClick, [e, hoveredItem, this], this);\n }\n }\n}\nfunction isListened(type, opts) {\n if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) {\n return true;\n }\n if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n return true;\n }\n return false;\n}\nvar plugin_legend = {\n id: 'legend',\n _element: Legend,\n start(chart, _args, options) {\n const legend = chart.legend = new Legend({ctx: chart.ctx, options, chart});\n layouts.configure(chart, legend, options);\n layouts.addBox(chart, legend);\n },\n stop(chart) {\n layouts.removeBox(chart, chart.legend);\n delete chart.legend;\n },\n beforeUpdate(chart, _args, options) {\n const legend = chart.legend;\n layouts.configure(chart, legend, options);\n legend.options = options;\n },\n afterUpdate(chart) {\n const legend = chart.legend;\n legend.buildLabels();\n legend.adjustHitBoxes();\n },\n afterEvent(chart, args) {\n if (!args.replay) {\n chart.legend.handleEvent(args.event);\n }\n },\n defaults: {\n display: true,\n position: 'top',\n align: 'center',\n fullSize: true,\n reverse: false,\n weight: 1000,\n onClick(e, legendItem, legend) {\n const index = legendItem.datasetIndex;\n const ci = legend.chart;\n if (ci.isDatasetVisible(index)) {\n ci.hide(index);\n legendItem.hidden = true;\n } else {\n ci.show(index);\n legendItem.hidden = false;\n }\n },\n onHover: null,\n onLeave: null,\n labels: {\n color: (ctx) => ctx.chart.options.color,\n boxWidth: 40,\n padding: 10,\n generateLabels(chart) {\n const datasets = chart.data.datasets;\n const {labels: {usePointStyle, pointStyle, textAlign, color}} = chart.legend.options;\n return chart._getSortedDatasetMetas().map((meta) => {\n const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n const borderWidth = toPadding(style.borderWidth);\n return {\n text: datasets[meta.index].label,\n fillStyle: style.backgroundColor,\n fontColor: color,\n hidden: !meta.visible,\n lineCap: style.borderCapStyle,\n lineDash: style.borderDash,\n lineDashOffset: style.borderDashOffset,\n lineJoin: style.borderJoinStyle,\n lineWidth: (borderWidth.width + borderWidth.height) / 4,\n strokeStyle: style.borderColor,\n pointStyle: pointStyle || style.pointStyle,\n rotation: style.rotation,\n textAlign: textAlign || style.textAlign,\n borderRadius: 0,\n datasetIndex: meta.index\n };\n }, this);\n }\n },\n title: {\n color: (ctx) => ctx.chart.options.color,\n display: false,\n position: 'center',\n text: '',\n }\n },\n descriptors: {\n _scriptable: (name) => !name.startsWith('on'),\n labels: {\n _scriptable: (name) => !['generateLabels', 'filter', 'sort'].includes(name),\n }\n },\n};\n\nclass Title extends Element {\n constructor(config) {\n super();\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this._padding = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight) {\n const opts = this.options;\n this.left = 0;\n this.top = 0;\n if (!opts.display) {\n this.width = this.height = this.right = this.bottom = 0;\n return;\n }\n this.width = this.right = maxWidth;\n this.height = this.bottom = maxHeight;\n const lineCount = isArray(opts.text) ? opts.text.length : 1;\n this._padding = toPadding(opts.padding);\n const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height;\n if (this.isHorizontal()) {\n this.height = textSize;\n } else {\n this.width = textSize;\n }\n }\n isHorizontal() {\n const pos = this.options.position;\n return pos === 'top' || pos === 'bottom';\n }\n _drawArgs(offset) {\n const {top, left, bottom, right, options} = this;\n const align = options.align;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n if (this.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n titleY = top + offset;\n maxWidth = right - left;\n } else {\n if (options.position === 'left') {\n titleX = left + offset;\n titleY = _alignStartEnd(align, bottom, top);\n rotation = PI * -0.5;\n } else {\n titleX = right - offset;\n titleY = _alignStartEnd(align, top, bottom);\n rotation = PI * 0.5;\n }\n maxWidth = bottom - top;\n }\n return {titleX, titleY, maxWidth, rotation};\n }\n draw() {\n const ctx = this.ctx;\n const opts = this.options;\n if (!opts.display) {\n return;\n }\n const fontOpts = toFont(opts.font);\n const lineHeight = fontOpts.lineHeight;\n const offset = lineHeight / 2 + this._padding.top;\n const {titleX, titleY, maxWidth, rotation} = this._drawArgs(offset);\n renderText(ctx, opts.text, 0, 0, fontOpts, {\n color: opts.color,\n maxWidth,\n rotation,\n textAlign: _toLeftRightCenter(opts.align),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n}\nfunction createTitle(chart, titleOpts) {\n const title = new Title({\n ctx: chart.ctx,\n options: titleOpts,\n chart\n });\n layouts.configure(chart, title, titleOpts);\n layouts.addBox(chart, title);\n chart.titleBlock = title;\n}\nvar plugin_title = {\n id: 'title',\n _element: Title,\n start(chart, _args, options) {\n createTitle(chart, options);\n },\n stop(chart) {\n const titleBlock = chart.titleBlock;\n layouts.removeBox(chart, titleBlock);\n delete chart.titleBlock;\n },\n beforeUpdate(chart, _args, options) {\n const title = chart.titleBlock;\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'bold',\n },\n fullSize: true,\n padding: 10,\n position: 'top',\n text: '',\n weight: 2000\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst map = new WeakMap();\nvar plugin_subtitle = {\n id: 'subtitle',\n start(chart, _args, options) {\n const title = new Title({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, title, options);\n layouts.addBox(chart, title);\n map.set(chart, title);\n },\n stop(chart) {\n layouts.removeBox(chart, map.get(chart));\n map.delete(chart);\n },\n beforeUpdate(chart, _args, options) {\n const title = map.get(chart);\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'normal',\n },\n fullSize: true,\n padding: 0,\n position: 'top',\n text: '',\n weight: 1500\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst positioners = {\n average(items) {\n if (!items.length) {\n return false;\n }\n let i, len;\n let x = 0;\n let y = 0;\n let count = 0;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const pos = el.tooltipPosition();\n x += pos.x;\n y += pos.y;\n ++count;\n }\n }\n return {\n x: x / count,\n y: y / count\n };\n },\n nearest(items, eventPosition) {\n if (!items.length) {\n return false;\n }\n let x = eventPosition.x;\n let y = eventPosition.y;\n let minDistance = Number.POSITIVE_INFINITY;\n let i, len, nearestElement;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const center = el.getCenterPoint();\n const d = distanceBetweenPoints(eventPosition, center);\n if (d < minDistance) {\n minDistance = d;\n nearestElement = el;\n }\n }\n }\n if (nearestElement) {\n const tp = nearestElement.tooltipPosition();\n x = tp.x;\n y = tp.y;\n }\n return {\n x,\n y\n };\n }\n};\nfunction pushOrConcat(base, toPush) {\n if (toPush) {\n if (isArray(toPush)) {\n Array.prototype.push.apply(base, toPush);\n } else {\n base.push(toPush);\n }\n }\n return base;\n}\nfunction splitNewlines(str) {\n if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n return str.split('\\n');\n }\n return str;\n}\nfunction createTooltipItem(chart, item) {\n const {element, datasetIndex, index} = item;\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n const {label, value} = controller.getLabelAndValue(index);\n return {\n chart,\n label,\n parsed: controller.getParsed(index),\n raw: chart.data.datasets[datasetIndex].data[index],\n formattedValue: value,\n dataset: controller.getDataset(),\n dataIndex: index,\n datasetIndex,\n element\n };\n}\nfunction getTooltipSize(tooltip, options) {\n const ctx = tooltip.chart.ctx;\n const {body, footer, title} = tooltip;\n const {boxWidth, boxHeight} = options;\n const bodyFont = toFont(options.bodyFont);\n const titleFont = toFont(options.titleFont);\n const footerFont = toFont(options.footerFont);\n const titleLineCount = title.length;\n const footerLineCount = footer.length;\n const bodyLineItemCount = body.length;\n const padding = toPadding(options.padding);\n let height = padding.height;\n let width = 0;\n let combinedBodyLength = body.reduce((count, bodyItem) => count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n if (titleLineCount) {\n height += titleLineCount * titleFont.lineHeight\n\t\t\t+ (titleLineCount - 1) * options.titleSpacing\n\t\t\t+ options.titleMarginBottom;\n }\n if (combinedBodyLength) {\n const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n height += bodyLineItemCount * bodyLineHeight\n\t\t\t+ (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight\n\t\t\t+ (combinedBodyLength - 1) * options.bodySpacing;\n }\n if (footerLineCount) {\n height += options.footerMarginTop\n\t\t\t+ footerLineCount * footerFont.lineHeight\n\t\t\t+ (footerLineCount - 1) * options.footerSpacing;\n }\n let widthPadding = 0;\n const maxLineWidth = function(line) {\n width = Math.max(width, ctx.measureText(line).width + widthPadding);\n };\n ctx.save();\n ctx.font = titleFont.string;\n each(tooltip.title, maxLineWidth);\n ctx.font = bodyFont.string;\n each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n widthPadding = options.displayColors ? (boxWidth + 2 + options.boxPadding) : 0;\n each(body, (bodyItem) => {\n each(bodyItem.before, maxLineWidth);\n each(bodyItem.lines, maxLineWidth);\n each(bodyItem.after, maxLineWidth);\n });\n widthPadding = 0;\n ctx.font = footerFont.string;\n each(tooltip.footer, maxLineWidth);\n ctx.restore();\n width += padding.width;\n return {width, height};\n}\nfunction determineYAlign(chart, size) {\n const {y, height} = size;\n if (y < height / 2) {\n return 'top';\n } else if (y > (chart.height - height / 2)) {\n return 'bottom';\n }\n return 'center';\n}\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n const {x, width} = size;\n const caret = options.caretSize + options.caretPadding;\n if (xAlign === 'left' && x + width + caret > chart.width) {\n return true;\n }\n if (xAlign === 'right' && x - width - caret < 0) {\n return true;\n }\n}\nfunction determineXAlign(chart, options, size, yAlign) {\n const {x, width} = size;\n const {width: chartWidth, chartArea: {left, right}} = chart;\n let xAlign = 'center';\n if (yAlign === 'center') {\n xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n } else if (x <= width / 2) {\n xAlign = 'left';\n } else if (x >= chartWidth - width / 2) {\n xAlign = 'right';\n }\n if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n xAlign = 'center';\n }\n return xAlign;\n}\nfunction determineAlignment(chart, options, size) {\n const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size);\n return {\n xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign),\n yAlign\n };\n}\nfunction alignX(size, xAlign) {\n let {x, width} = size;\n if (xAlign === 'right') {\n x -= width;\n } else if (xAlign === 'center') {\n x -= (width / 2);\n }\n return x;\n}\nfunction alignY(size, yAlign, paddingAndSize) {\n let {y, height} = size;\n if (yAlign === 'top') {\n y += paddingAndSize;\n } else if (yAlign === 'bottom') {\n y -= height + paddingAndSize;\n } else {\n y -= (height / 2);\n }\n return y;\n}\nfunction getBackgroundPoint(options, size, alignment, chart) {\n const {caretSize, caretPadding, cornerRadius} = options;\n const {xAlign, yAlign} = alignment;\n const paddingAndSize = caretSize + caretPadding;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n let x = alignX(size, xAlign);\n const y = alignY(size, yAlign, paddingAndSize);\n if (yAlign === 'center') {\n if (xAlign === 'left') {\n x += paddingAndSize;\n } else if (xAlign === 'right') {\n x -= paddingAndSize;\n }\n } else if (xAlign === 'left') {\n x -= Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x += Math.max(topRight, bottomRight) + caretSize;\n }\n return {\n x: _limitValue(x, 0, chart.width - size.width),\n y: _limitValue(y, 0, chart.height - size.height)\n };\n}\nfunction getAlignedX(tooltip, align, options) {\n const padding = toPadding(options.padding);\n return align === 'center'\n ? tooltip.x + tooltip.width / 2\n : align === 'right'\n ? tooltip.x + tooltip.width - padding.right\n : tooltip.x + padding.left;\n}\nfunction getBeforeAfterBodyLines(callback) {\n return pushOrConcat([], splitNewlines(callback));\n}\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n return createContext(parent, {\n tooltip,\n tooltipItems,\n type: 'tooltip'\n });\n}\nfunction overrideCallbacks(callbacks, context) {\n const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n return override ? callbacks.override(override) : callbacks;\n}\nclass Tooltip extends Element {\n constructor(config) {\n super();\n this.opacity = 0;\n this._active = [];\n this._eventPosition = undefined;\n this._size = undefined;\n this._cachedAnimations = undefined;\n this._tooltipItems = [];\n this.$animations = undefined;\n this.$context = undefined;\n this.chart = config.chart || config._chart;\n this._chart = this.chart;\n this.options = config.options;\n this.dataPoints = undefined;\n this.title = undefined;\n this.beforeBody = undefined;\n this.body = undefined;\n this.afterBody = undefined;\n this.footer = undefined;\n this.xAlign = undefined;\n this.yAlign = undefined;\n this.x = undefined;\n this.y = undefined;\n this.height = undefined;\n this.width = undefined;\n this.caretX = undefined;\n this.caretY = undefined;\n this.labelColors = undefined;\n this.labelPointStyles = undefined;\n this.labelTextColors = undefined;\n }\n initialize(options) {\n this.options = options;\n this._cachedAnimations = undefined;\n this.$context = undefined;\n }\n _resolveAnimations() {\n const cached = this._cachedAnimations;\n if (cached) {\n return cached;\n }\n const chart = this.chart;\n const options = this.options.setContext(this.getContext());\n const opts = options.enabled && chart.options.animation && options.animations;\n const animations = new Animations(this.chart, opts);\n if (opts._cacheable) {\n this._cachedAnimations = Object.freeze(animations);\n }\n return animations;\n }\n getContext() {\n return this.$context ||\n\t\t\t(this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems));\n }\n getTitle(context, options) {\n const {callbacks} = options;\n const beforeTitle = callbacks.beforeTitle.apply(this, [context]);\n const title = callbacks.title.apply(this, [context]);\n const afterTitle = callbacks.afterTitle.apply(this, [context]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n lines = pushOrConcat(lines, splitNewlines(title));\n lines = pushOrConcat(lines, splitNewlines(afterTitle));\n return lines;\n }\n getBeforeBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.beforeBody.apply(this, [tooltipItems]));\n }\n getBody(tooltipItems, options) {\n const {callbacks} = options;\n const bodyItems = [];\n each(tooltipItems, (context) => {\n const bodyItem = {\n before: [],\n lines: [],\n after: []\n };\n const scoped = overrideCallbacks(callbacks, context);\n pushOrConcat(bodyItem.before, splitNewlines(scoped.beforeLabel.call(this, context)));\n pushOrConcat(bodyItem.lines, scoped.label.call(this, context));\n pushOrConcat(bodyItem.after, splitNewlines(scoped.afterLabel.call(this, context)));\n bodyItems.push(bodyItem);\n });\n return bodyItems;\n }\n getAfterBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.afterBody.apply(this, [tooltipItems]));\n }\n getFooter(tooltipItems, options) {\n const {callbacks} = options;\n const beforeFooter = callbacks.beforeFooter.apply(this, [tooltipItems]);\n const footer = callbacks.footer.apply(this, [tooltipItems]);\n const afterFooter = callbacks.afterFooter.apply(this, [tooltipItems]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n lines = pushOrConcat(lines, splitNewlines(footer));\n lines = pushOrConcat(lines, splitNewlines(afterFooter));\n return lines;\n }\n _createItems(options) {\n const active = this._active;\n const data = this.chart.data;\n const labelColors = [];\n const labelPointStyles = [];\n const labelTextColors = [];\n let tooltipItems = [];\n let i, len;\n for (i = 0, len = active.length; i < len; ++i) {\n tooltipItems.push(createTooltipItem(this.chart, active[i]));\n }\n if (options.filter) {\n tooltipItems = tooltipItems.filter((element, index, array) => options.filter(element, index, array, data));\n }\n if (options.itemSort) {\n tooltipItems = tooltipItems.sort((a, b) => options.itemSort(a, b, data));\n }\n each(tooltipItems, (context) => {\n const scoped = overrideCallbacks(options.callbacks, context);\n labelColors.push(scoped.labelColor.call(this, context));\n labelPointStyles.push(scoped.labelPointStyle.call(this, context));\n labelTextColors.push(scoped.labelTextColor.call(this, context));\n });\n this.labelColors = labelColors;\n this.labelPointStyles = labelPointStyles;\n this.labelTextColors = labelTextColors;\n this.dataPoints = tooltipItems;\n return tooltipItems;\n }\n update(changed, replay) {\n const options = this.options.setContext(this.getContext());\n const active = this._active;\n let properties;\n let tooltipItems = [];\n if (!active.length) {\n if (this.opacity !== 0) {\n properties = {\n opacity: 0\n };\n }\n } else {\n const position = positioners[options.position].call(this, active, this._eventPosition);\n tooltipItems = this._createItems(options);\n this.title = this.getTitle(tooltipItems, options);\n this.beforeBody = this.getBeforeBody(tooltipItems, options);\n this.body = this.getBody(tooltipItems, options);\n this.afterBody = this.getAfterBody(tooltipItems, options);\n this.footer = this.getFooter(tooltipItems, options);\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, size);\n const alignment = determineAlignment(this.chart, options, positionAndSize);\n const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart);\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n properties = {\n opacity: 1,\n x: backgroundPoint.x,\n y: backgroundPoint.y,\n width: size.width,\n height: size.height,\n caretX: position.x,\n caretY: position.y\n };\n }\n this._tooltipItems = tooltipItems;\n this.$context = undefined;\n if (properties) {\n this._resolveAnimations().update(this, properties);\n }\n if (changed && options.external) {\n options.external.call(this, {chart: this.chart, tooltip: this, replay});\n }\n }\n drawCaret(tooltipPoint, ctx, size, options) {\n const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n ctx.lineTo(caretPosition.x1, caretPosition.y1);\n ctx.lineTo(caretPosition.x2, caretPosition.y2);\n ctx.lineTo(caretPosition.x3, caretPosition.y3);\n }\n getCaretPosition(tooltipPoint, size, options) {\n const {xAlign, yAlign} = this;\n const {caretSize, cornerRadius} = options;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n const {x: ptX, y: ptY} = tooltipPoint;\n const {width, height} = size;\n let x1, x2, x3, y1, y2, y3;\n if (yAlign === 'center') {\n y2 = ptY + (height / 2);\n if (xAlign === 'left') {\n x1 = ptX;\n x2 = x1 - caretSize;\n y1 = y2 + caretSize;\n y3 = y2 - caretSize;\n } else {\n x1 = ptX + width;\n x2 = x1 + caretSize;\n y1 = y2 - caretSize;\n y3 = y2 + caretSize;\n }\n x3 = x1;\n } else {\n if (xAlign === 'left') {\n x2 = ptX + Math.max(topLeft, bottomLeft) + (caretSize);\n } else if (xAlign === 'right') {\n x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize;\n } else {\n x2 = this.caretX;\n }\n if (yAlign === 'top') {\n y1 = ptY;\n y2 = y1 - caretSize;\n x1 = x2 - caretSize;\n x3 = x2 + caretSize;\n } else {\n y1 = ptY + height;\n y2 = y1 + caretSize;\n x1 = x2 + caretSize;\n x3 = x2 - caretSize;\n }\n y3 = y1;\n }\n return {x1, x2, x3, y1, y2, y3};\n }\n drawTitle(pt, ctx, options) {\n const title = this.title;\n const length = title.length;\n let titleFont, titleSpacing, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.titleAlign, options);\n ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n ctx.textBaseline = 'middle';\n titleFont = toFont(options.titleFont);\n titleSpacing = options.titleSpacing;\n ctx.fillStyle = options.titleColor;\n ctx.font = titleFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n pt.y += titleFont.lineHeight + titleSpacing;\n if (i + 1 === length) {\n pt.y += options.titleMarginBottom - titleSpacing;\n }\n }\n }\n }\n _drawColorBox(ctx, pt, i, rtlHelper, options) {\n const labelColors = this.labelColors[i];\n const labelPointStyle = this.labelPointStyles[i];\n const {boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n const colorX = getAlignedX(this, 'left', options);\n const rtlColorX = rtlHelper.x(colorX);\n const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n const colorY = pt.y + yOffSet;\n if (options.usePointStyle) {\n const drawOptions = {\n radius: Math.min(boxWidth, boxHeight) / 2,\n pointStyle: labelPointStyle.pointStyle,\n rotation: labelPointStyle.rotation,\n borderWidth: 1\n };\n const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n const centerY = colorY + boxHeight / 2;\n ctx.strokeStyle = options.multiKeyBackground;\n ctx.fillStyle = options.multiKeyBackground;\n drawPoint(ctx, drawOptions, centerX, centerY);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.fillStyle = labelColors.backgroundColor;\n drawPoint(ctx, drawOptions, centerX, centerY);\n } else {\n ctx.lineWidth = isObject(labelColors.borderWidth) ? Math.max(...Object.values(labelColors.borderWidth)) : (labelColors.borderWidth || 1);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.setLineDash(labelColors.borderDash || []);\n ctx.lineDashOffset = labelColors.borderDashOffset || 0;\n const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth - boxPadding);\n const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - boxPadding - 2);\n const borderRadius = toTRBLCorners(labelColors.borderRadius);\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n ctx.fillStyle = options.multiKeyBackground;\n addRoundedRectPath(ctx, {\n x: outerX,\n y: colorY,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n ctx.fill();\n ctx.stroke();\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: innerX,\n y: colorY + 1,\n w: boxWidth - 2,\n h: boxHeight - 2,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillStyle = options.multiKeyBackground;\n ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n }\n }\n ctx.fillStyle = this.labelTextColors[i];\n }\n drawBody(pt, ctx, options) {\n const {body} = this;\n const {bodySpacing, bodyAlign, displayColors, boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n let bodyLineHeight = bodyFont.lineHeight;\n let xLinePadding = 0;\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n const fillLineOfText = function(line) {\n ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n pt.y += bodyLineHeight + bodySpacing;\n };\n const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n let bodyItem, textColor, lines, i, j, ilen, jlen;\n ctx.textAlign = bodyAlign;\n ctx.textBaseline = 'middle';\n ctx.font = bodyFont.string;\n pt.x = getAlignedX(this, bodyAlignForCalculation, options);\n ctx.fillStyle = options.bodyColor;\n each(this.beforeBody, fillLineOfText);\n xLinePadding = displayColors && bodyAlignForCalculation !== 'right'\n ? bodyAlign === 'center' ? (boxWidth / 2 + boxPadding) : (boxWidth + 2 + boxPadding)\n : 0;\n for (i = 0, ilen = body.length; i < ilen; ++i) {\n bodyItem = body[i];\n textColor = this.labelTextColors[i];\n ctx.fillStyle = textColor;\n each(bodyItem.before, fillLineOfText);\n lines = bodyItem.lines;\n if (displayColors && lines.length) {\n this._drawColorBox(ctx, pt, i, rtlHelper, options);\n bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n }\n for (j = 0, jlen = lines.length; j < jlen; ++j) {\n fillLineOfText(lines[j]);\n bodyLineHeight = bodyFont.lineHeight;\n }\n each(bodyItem.after, fillLineOfText);\n }\n xLinePadding = 0;\n bodyLineHeight = bodyFont.lineHeight;\n each(this.afterBody, fillLineOfText);\n pt.y -= bodySpacing;\n }\n drawFooter(pt, ctx, options) {\n const footer = this.footer;\n const length = footer.length;\n let footerFont, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.footerAlign, options);\n pt.y += options.footerMarginTop;\n ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n ctx.textBaseline = 'middle';\n footerFont = toFont(options.footerFont);\n ctx.fillStyle = options.footerColor;\n ctx.font = footerFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n pt.y += footerFont.lineHeight + options.footerSpacing;\n }\n }\n }\n drawBackground(pt, ctx, tooltipSize, options) {\n const {xAlign, yAlign} = this;\n const {x, y} = pt;\n const {width, height} = tooltipSize;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(options.cornerRadius);\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.beginPath();\n ctx.moveTo(x + topLeft, y);\n if (yAlign === 'top') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width - topRight, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + topRight);\n if (yAlign === 'center' && xAlign === 'right') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width, y + height - bottomRight);\n ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height);\n if (yAlign === 'bottom') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + bottomLeft, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft);\n if (yAlign === 'center' && xAlign === 'left') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x, y + topLeft);\n ctx.quadraticCurveTo(x, y, x + topLeft, y);\n ctx.closePath();\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n }\n _updateAnimationTarget(options) {\n const chart = this.chart;\n const anims = this.$animations;\n const animX = anims && anims.x;\n const animY = anims && anims.y;\n if (animX || animY) {\n const position = positioners[options.position].call(this, this._active, this._eventPosition);\n if (!position) {\n return;\n }\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, this._size);\n const alignment = determineAlignment(chart, options, positionAndSize);\n const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n if (animX._to !== point.x || animY._to !== point.y) {\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n this.width = size.width;\n this.height = size.height;\n this.caretX = position.x;\n this.caretY = position.y;\n this._resolveAnimations().update(this, point);\n }\n }\n }\n _willRender() {\n return !!this.opacity;\n }\n draw(ctx) {\n const options = this.options.setContext(this.getContext());\n let opacity = this.opacity;\n if (!opacity) {\n return;\n }\n this._updateAnimationTarget(options);\n const tooltipSize = {\n width: this.width,\n height: this.height\n };\n const pt = {\n x: this.x,\n y: this.y\n };\n opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n const padding = toPadding(options.padding);\n const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;\n if (options.enabled && hasTooltipContent) {\n ctx.save();\n ctx.globalAlpha = opacity;\n this.drawBackground(pt, ctx, tooltipSize, options);\n overrideTextDirection(ctx, options.textDirection);\n pt.y += padding.top;\n this.drawTitle(pt, ctx, options);\n this.drawBody(pt, ctx, options);\n this.drawFooter(pt, ctx, options);\n restoreTextDirection(ctx, options.textDirection);\n ctx.restore();\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements, eventPosition) {\n const lastActive = this._active;\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.chart.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('Cannot find a dataset at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(lastActive, active);\n const positionChanged = this._positionChanged(active, eventPosition);\n if (changed || positionChanged) {\n this._active = active;\n this._eventPosition = eventPosition;\n this._ignoreReplayEvents = true;\n this.update(true);\n }\n }\n handleEvent(e, replay, inChartArea = true) {\n if (replay && this._ignoreReplayEvents) {\n return false;\n }\n this._ignoreReplayEvents = false;\n const options = this.options;\n const lastActive = this._active || [];\n const active = this._getActiveElements(e, lastActive, replay, inChartArea);\n const positionChanged = this._positionChanged(active, e);\n const changed = replay || !_elementsEqual(active, lastActive) || positionChanged;\n if (changed) {\n this._active = active;\n if (options.enabled || options.external) {\n this._eventPosition = {\n x: e.x,\n y: e.y\n };\n this.update(true, replay);\n }\n }\n return changed;\n }\n _getActiveElements(e, lastActive, replay, inChartArea) {\n const options = this.options;\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay);\n if (options.reverse) {\n active.reverse();\n }\n return active;\n }\n _positionChanged(active, e) {\n const {caretX, caretY, options} = this;\n const position = positioners[options.position].call(this, active, e);\n return position !== false && (caretX !== position.x || caretY !== position.y);\n }\n}\nTooltip.positioners = positioners;\nvar plugin_tooltip = {\n id: 'tooltip',\n _element: Tooltip,\n positioners,\n afterInit(chart, _args, options) {\n if (options) {\n chart.tooltip = new Tooltip({chart, options});\n }\n },\n beforeUpdate(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n reset(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n afterDraw(chart) {\n const tooltip = chart.tooltip;\n if (tooltip && tooltip._willRender()) {\n const args = {\n tooltip\n };\n if (chart.notifyPlugins('beforeTooltipDraw', args) === false) {\n return;\n }\n tooltip.draw(chart.ctx);\n chart.notifyPlugins('afterTooltipDraw', args);\n }\n },\n afterEvent(chart, args) {\n if (chart.tooltip) {\n const useFinalPosition = args.replay;\n if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) {\n args.changed = true;\n }\n }\n },\n defaults: {\n enabled: true,\n external: null,\n position: 'average',\n backgroundColor: 'rgba(0,0,0,0.8)',\n titleColor: '#fff',\n titleFont: {\n weight: 'bold',\n },\n titleSpacing: 2,\n titleMarginBottom: 6,\n titleAlign: 'left',\n bodyColor: '#fff',\n bodySpacing: 2,\n bodyFont: {\n },\n bodyAlign: 'left',\n footerColor: '#fff',\n footerSpacing: 2,\n footerMarginTop: 6,\n footerFont: {\n weight: 'bold',\n },\n footerAlign: 'left',\n padding: 6,\n caretPadding: 2,\n caretSize: 5,\n cornerRadius: 6,\n boxHeight: (ctx, opts) => opts.bodyFont.size,\n boxWidth: (ctx, opts) => opts.bodyFont.size,\n multiKeyBackground: '#fff',\n displayColors: true,\n boxPadding: 0,\n borderColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n animation: {\n duration: 400,\n easing: 'easeOutQuart',\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'width', 'height', 'caretX', 'caretY'],\n },\n opacity: {\n easing: 'linear',\n duration: 200\n }\n },\n callbacks: {\n beforeTitle: noop,\n title(tooltipItems) {\n if (tooltipItems.length > 0) {\n const item = tooltipItems[0];\n const labels = item.chart.data.labels;\n const labelCount = labels ? labels.length : 0;\n if (this && this.options && this.options.mode === 'dataset') {\n return item.dataset.label || '';\n } else if (item.label) {\n return item.label;\n } else if (labelCount > 0 && item.dataIndex < labelCount) {\n return labels[item.dataIndex];\n }\n }\n return '';\n },\n afterTitle: noop,\n beforeBody: noop,\n beforeLabel: noop,\n label(tooltipItem) {\n if (this && this.options && this.options.mode === 'dataset') {\n return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n }\n let label = tooltipItem.dataset.label || '';\n if (label) {\n label += ': ';\n }\n const value = tooltipItem.formattedValue;\n if (!isNullOrUndef(value)) {\n label += value;\n }\n return label;\n },\n labelColor(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n borderColor: options.borderColor,\n backgroundColor: options.backgroundColor,\n borderWidth: options.borderWidth,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderRadius: 0,\n };\n },\n labelTextColor() {\n return this.options.bodyColor;\n },\n labelPointStyle(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n pointStyle: options.pointStyle,\n rotation: options.rotation,\n };\n },\n afterLabel: noop,\n afterBody: noop,\n beforeFooter: noop,\n footer: noop,\n afterFooter: noop\n }\n },\n defaultRoutes: {\n bodyFont: 'font',\n footerFont: 'font',\n titleFont: 'font'\n },\n descriptors: {\n _scriptable: (name) => name !== 'filter' && name !== 'itemSort' && name !== 'external',\n _indexable: false,\n callbacks: {\n _scriptable: false,\n _indexable: false,\n },\n animation: {\n _fallback: false\n },\n animations: {\n _fallback: 'animation'\n }\n },\n additionalOptionScopes: ['interaction']\n};\n\nvar plugins = /*#__PURE__*/Object.freeze({\n__proto__: null,\nDecimation: plugin_decimation,\nFiller: index,\nLegend: plugin_legend,\nSubTitle: plugin_subtitle,\nTitle: plugin_title,\nTooltip: plugin_tooltip\n});\n\nconst addIfString = (labels, raw, index, addedLabels) => {\n if (typeof raw === 'string') {\n index = labels.push(raw) - 1;\n addedLabels.unshift({index, label: raw});\n } else if (isNaN(raw)) {\n index = null;\n }\n return index;\n};\nfunction findOrAddLabel(labels, raw, index, addedLabels) {\n const first = labels.indexOf(raw);\n if (first === -1) {\n return addIfString(labels, raw, index, addedLabels);\n }\n const last = labels.lastIndexOf(raw);\n return first !== last ? index : first;\n}\nconst validIndex = (index, max) => index === null ? null : _limitValue(Math.round(index), 0, max);\nclass CategoryScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this._startValue = undefined;\n this._valueRange = 0;\n this._addedLabels = [];\n }\n init(scaleOptions) {\n const added = this._addedLabels;\n if (added.length) {\n const labels = this.getLabels();\n for (const {index, label} of added) {\n if (labels[index] === label) {\n labels.splice(index, 1);\n }\n }\n this._addedLabels = [];\n }\n super.init(scaleOptions);\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n const labels = this.getLabels();\n index = isFinite(index) && labels[index] === raw ? index\n : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels);\n return validIndex(index, labels.length - 1);\n }\n determineDataLimits() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this.getMinMax(true);\n if (this.options.bounds === 'ticks') {\n if (!minDefined) {\n min = 0;\n }\n if (!maxDefined) {\n max = this.getLabels().length - 1;\n }\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const min = this.min;\n const max = this.max;\n const offset = this.options.offset;\n const ticks = [];\n let labels = this.getLabels();\n labels = (min === 0 && max === labels.length - 1) ? labels : labels.slice(min, max + 1);\n this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n this._startValue = this.min - (offset ? 0.5 : 0);\n for (let value = min; value <= max; value++) {\n ticks.push({value});\n }\n return ticks;\n }\n getLabelForValue(value) {\n const labels = this.getLabels();\n if (value >= 0 && value < labels.length) {\n return labels[value];\n }\n return value;\n }\n configure() {\n super.configure();\n if (!this.isHorizontal()) {\n this._reversePixels = !this._reversePixels;\n }\n }\n getPixelForValue(value) {\n if (typeof value !== 'number') {\n value = this.parse(value);\n }\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getValueForPixel(pixel) {\n return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange);\n }\n getBasePixel() {\n return this.bottom;\n }\n}\nCategoryScale.id = 'category';\nCategoryScale.defaults = {\n ticks: {\n callback: CategoryScale.prototype.getLabelForValue\n }\n};\n\nfunction generateTicks$1(generationOptions, dataRange) {\n const ticks = [];\n const MIN_SPACING = 1e-14;\n const {bounds, step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions;\n const unit = step || 1;\n const maxSpaces = maxTicks - 1;\n const {min: rmin, max: rmax} = dataRange;\n const minDefined = !isNullOrUndef(min);\n const maxDefined = !isNullOrUndef(max);\n const countDefined = !isNullOrUndef(count);\n const minSpacing = (rmax - rmin) / (maxDigits + 1);\n let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit;\n let factor, niceMin, niceMax, numSpaces;\n if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n return [{value: rmin}, {value: rmax}];\n }\n numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n if (numSpaces > maxSpaces) {\n spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit;\n }\n if (!isNullOrUndef(precision)) {\n factor = Math.pow(10, precision);\n spacing = Math.ceil(spacing * factor) / factor;\n }\n if (bounds === 'ticks') {\n niceMin = Math.floor(rmin / spacing) * spacing;\n niceMax = Math.ceil(rmax / spacing) * spacing;\n } else {\n niceMin = rmin;\n niceMax = rmax;\n }\n if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {\n numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n spacing = (max - min) / numSpaces;\n niceMin = min;\n niceMax = max;\n } else if (countDefined) {\n niceMin = minDefined ? min : niceMin;\n niceMax = maxDefined ? max : niceMax;\n numSpaces = count - 1;\n spacing = (niceMax - niceMin) / numSpaces;\n } else {\n numSpaces = (niceMax - niceMin) / spacing;\n if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n numSpaces = Math.round(numSpaces);\n } else {\n numSpaces = Math.ceil(numSpaces);\n }\n }\n const decimalPlaces = Math.max(\n _decimalPlaces(spacing),\n _decimalPlaces(niceMin)\n );\n factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision);\n niceMin = Math.round(niceMin * factor) / factor;\n niceMax = Math.round(niceMax * factor) / factor;\n let j = 0;\n if (minDefined) {\n if (includeBounds && niceMin !== min) {\n ticks.push({value: min});\n if (niceMin < min) {\n j++;\n }\n if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n j++;\n }\n } else if (niceMin < min) {\n j++;\n }\n }\n for (; j < numSpaces; ++j) {\n ticks.push({value: Math.round((niceMin + j * spacing) * factor) / factor});\n }\n if (maxDefined && includeBounds && niceMax !== max) {\n if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n ticks[ticks.length - 1].value = max;\n } else {\n ticks.push({value: max});\n }\n } else if (!maxDefined || niceMax === max) {\n ticks.push({value: niceMax});\n }\n return ticks;\n}\nfunction relativeLabelSize(value, minSpacing, {horizontal, minRotation}) {\n const rad = toRadians(minRotation);\n const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n const length = 0.75 * minSpacing * ('' + value).length;\n return Math.min(minSpacing / ratio, length);\n}\nclass LinearScaleBase extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._endValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n return null;\n }\n return +raw;\n }\n handleTickRangeOptions() {\n const {beginAtZero} = this.options;\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n if (beginAtZero) {\n const minSign = sign(min);\n const maxSign = sign(max);\n if (minSign < 0 && maxSign < 0) {\n setMax(0);\n } else if (minSign > 0 && maxSign > 0) {\n setMin(0);\n }\n }\n if (min === max) {\n let offset = 1;\n if (max >= Number.MAX_SAFE_INTEGER || min <= Number.MIN_SAFE_INTEGER) {\n offset = Math.abs(max * 0.05);\n }\n setMax(max + offset);\n if (!beginAtZero) {\n setMin(min - offset);\n }\n }\n this.min = min;\n this.max = max;\n }\n getTickLimit() {\n const tickOpts = this.options.ticks;\n let {maxTicksLimit, stepSize} = tickOpts;\n let maxTicks;\n if (stepSize) {\n maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1;\n if (maxTicks > 1000) {\n console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`);\n maxTicks = 1000;\n }\n } else {\n maxTicks = this.computeTickLimit();\n maxTicksLimit = maxTicksLimit || 11;\n }\n if (maxTicksLimit) {\n maxTicks = Math.min(maxTicksLimit, maxTicks);\n }\n return maxTicks;\n }\n computeTickLimit() {\n return Number.POSITIVE_INFINITY;\n }\n buildTicks() {\n const opts = this.options;\n const tickOpts = opts.ticks;\n let maxTicks = this.getTickLimit();\n maxTicks = Math.max(2, maxTicks);\n const numericGeneratorOptions = {\n maxTicks,\n bounds: opts.bounds,\n min: opts.min,\n max: opts.max,\n precision: tickOpts.precision,\n step: tickOpts.stepSize,\n count: tickOpts.count,\n maxDigits: this._maxDigits(),\n horizontal: this.isHorizontal(),\n minRotation: tickOpts.minRotation || 0,\n includeBounds: tickOpts.includeBounds !== false\n };\n const dataRange = this._range || this;\n const ticks = generateTicks$1(numericGeneratorOptions, dataRange);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n configure() {\n const ticks = this.ticks;\n let start = this.min;\n let end = this.max;\n super.configure();\n if (this.options.offset && ticks.length) {\n const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n start -= offset;\n end += offset;\n }\n this._startValue = start;\n this._endValue = end;\n this._valueRange = end - start;\n }\n getLabelForValue(value) {\n return formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n}\n\nclass LinearScale extends LinearScaleBase {\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? min : 0;\n this.max = isNumberFinite(max) ? max : 1;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n const horizontal = this.isHorizontal();\n const length = horizontal ? this.width : this.height;\n const minRotation = toRadians(this.options.ticks.minRotation);\n const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n const tickFont = this._resolveTickFontOptions(0);\n return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n }\n getPixelForValue(value) {\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n }\n}\nLinearScale.id = 'linear';\nLinearScale.defaults = {\n ticks: {\n callback: Ticks.formatters.numeric\n }\n};\n\nfunction isMajor(tickVal) {\n const remain = tickVal / (Math.pow(10, Math.floor(log10(tickVal))));\n return remain === 1;\n}\nfunction generateTicks(generationOptions, dataRange) {\n const endExp = Math.floor(log10(dataRange.max));\n const endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\n const ticks = [];\n let tickVal = finiteOrDefault(generationOptions.min, Math.pow(10, Math.floor(log10(dataRange.min))));\n let exp = Math.floor(log10(tickVal));\n let significand = Math.floor(tickVal / Math.pow(10, exp));\n let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n do {\n ticks.push({value: tickVal, major: isMajor(tickVal)});\n ++significand;\n if (significand === 10) {\n significand = 1;\n ++exp;\n precision = exp >= 0 ? 1 : precision;\n }\n tickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision;\n } while (exp < endExp || (exp === endExp && significand < endSignificand));\n const lastTick = finiteOrDefault(generationOptions.max, tickVal);\n ticks.push({value: lastTick, major: isMajor(tickVal)});\n return ticks;\n}\nclass LogarithmicScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n const value = LinearScaleBase.prototype.parse.apply(this, [raw, index]);\n if (value === 0) {\n this._zero = true;\n return undefined;\n }\n return isNumberFinite(value) && value > 0 ? value : null;\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? Math.max(0, min) : null;\n this.max = isNumberFinite(max) ? Math.max(0, max) : null;\n if (this.options.beginAtZero) {\n this._zero = true;\n }\n this.handleTickRangeOptions();\n }\n handleTickRangeOptions() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let min = this.min;\n let max = this.max;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n const exp = (v, m) => Math.pow(10, Math.floor(log10(v)) + m);\n if (min === max) {\n if (min <= 0) {\n setMin(1);\n setMax(10);\n } else {\n setMin(exp(min, -1));\n setMax(exp(max, +1));\n }\n }\n if (min <= 0) {\n setMin(exp(max, -1));\n }\n if (max <= 0) {\n setMax(exp(min, +1));\n }\n if (this._zero && this.min !== this._suggestedMin && min === exp(this.min, 0)) {\n setMin(exp(min, -1));\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const opts = this.options;\n const generationOptions = {\n min: this._userMin,\n max: this._userMax\n };\n const ticks = generateTicks(generationOptions, this);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n getLabelForValue(value) {\n return value === undefined\n ? '0'\n : formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n configure() {\n const start = this.min;\n super.configure();\n this._startValue = log10(start);\n this._valueRange = log10(this.max) - log10(start);\n }\n getPixelForValue(value) {\n if (value === undefined || value === 0) {\n value = this.min;\n }\n if (value === null || isNaN(value)) {\n return NaN;\n }\n return this.getPixelForDecimal(value === this.min\n ? 0\n : (log10(value) - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n const decimal = this.getDecimalForPixel(pixel);\n return Math.pow(10, this._startValue + decimal * this._valueRange);\n }\n}\nLogarithmicScale.id = 'logarithmic';\nLogarithmicScale.defaults = {\n ticks: {\n callback: Ticks.formatters.logarithmic,\n major: {\n enabled: true\n }\n }\n};\n\nfunction getTickBackdropHeight(opts) {\n const tickOpts = opts.ticks;\n if (tickOpts.display && opts.display) {\n const padding = toPadding(tickOpts.backdropPadding);\n return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height;\n }\n return 0;\n}\nfunction measureLabelSize(ctx, font, label) {\n label = isArray(label) ? label : [label];\n return {\n w: _longestText(ctx, font.string, label),\n h: label.length * font.lineHeight\n };\n}\nfunction determineLimits(angle, pos, size, min, max) {\n if (angle === min || angle === max) {\n return {\n start: pos - (size / 2),\n end: pos + (size / 2)\n };\n } else if (angle < min || angle > max) {\n return {\n start: pos - size,\n end: pos\n };\n }\n return {\n start: pos,\n end: pos + size\n };\n}\nfunction fitWithPointLabels(scale) {\n const orig = {\n l: scale.left + scale._padding.left,\n r: scale.right - scale._padding.right,\n t: scale.top + scale._padding.top,\n b: scale.bottom - scale._padding.bottom\n };\n const limits = Object.assign({}, orig);\n const labelSizes = [];\n const padding = [];\n const valueCount = scale._pointLabels.length;\n const pointLabelOpts = scale.options.pointLabels;\n const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i));\n padding[i] = opts.padding;\n const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle);\n const plFont = toFont(opts.font);\n const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n labelSizes[i] = textSize;\n const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle);\n const angle = Math.round(toDegrees(angleRadians));\n const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n updateLimits(limits, orig, angleRadians, hLimits, vLimits);\n }\n scale.setCenterPoint(\n orig.l - limits.l,\n limits.r - orig.r,\n orig.t - limits.t,\n limits.b - orig.b\n );\n scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\nfunction updateLimits(limits, orig, angle, hLimits, vLimits) {\n const sin = Math.abs(Math.sin(angle));\n const cos = Math.abs(Math.cos(angle));\n let x = 0;\n let y = 0;\n if (hLimits.start < orig.l) {\n x = (orig.l - hLimits.start) / sin;\n limits.l = Math.min(limits.l, orig.l - x);\n } else if (hLimits.end > orig.r) {\n x = (hLimits.end - orig.r) / sin;\n limits.r = Math.max(limits.r, orig.r + x);\n }\n if (vLimits.start < orig.t) {\n y = (orig.t - vLimits.start) / cos;\n limits.t = Math.min(limits.t, orig.t - y);\n } else if (vLimits.end > orig.b) {\n y = (vLimits.end - orig.b) / cos;\n limits.b = Math.max(limits.b, orig.b + y);\n }\n}\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n const items = [];\n const valueCount = scale._pointLabels.length;\n const opts = scale.options;\n const extra = getTickBackdropHeight(opts) / 2;\n const outerDistance = scale.drawingArea;\n const additionalAngle = opts.pointLabels.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + padding[i], additionalAngle);\n const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI)));\n const size = labelSizes[i];\n const y = yForAngle(pointLabelPosition.y, size.h, angle);\n const textAlign = getTextAlignForAngle(angle);\n const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n items.push({\n x: pointLabelPosition.x,\n y,\n textAlign,\n left,\n top: y,\n right: left + size.w,\n bottom: y + size.h\n });\n }\n return items;\n}\nfunction getTextAlignForAngle(angle) {\n if (angle === 0 || angle === 180) {\n return 'center';\n } else if (angle < 180) {\n return 'left';\n }\n return 'right';\n}\nfunction leftForTextAlign(x, w, align) {\n if (align === 'right') {\n x -= w;\n } else if (align === 'center') {\n x -= (w / 2);\n }\n return x;\n}\nfunction yForAngle(y, h, angle) {\n if (angle === 90 || angle === 270) {\n y -= (h / 2);\n } else if (angle > 270 || angle < 90) {\n y -= h;\n }\n return y;\n}\nfunction drawPointLabels(scale, labelCount) {\n const {ctx, options: {pointLabels}} = scale;\n for (let i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n const plFont = toFont(optsAtIndex.font);\n const {x, y, textAlign, left, top, right, bottom} = scale._pointLabelItems[i];\n const {backdropColor} = optsAtIndex;\n if (!isNullOrUndef(backdropColor)) {\n const borderRadius = toTRBLCorners(optsAtIndex.borderRadius);\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillStyle = backdropColor;\n const backdropLeft = left - padding.left;\n const backdropTop = top - padding.top;\n const backdropWidth = right - left + padding.width;\n const backdropHeight = bottom - top + padding.height;\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: backdropLeft,\n y: backdropTop,\n w: backdropWidth,\n h: backdropHeight,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight);\n }\n }\n renderText(\n ctx,\n scale._pointLabels[i],\n x,\n y + (plFont.lineHeight / 2),\n plFont,\n {\n color: optsAtIndex.color,\n textAlign: textAlign,\n textBaseline: 'middle'\n }\n );\n }\n}\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n const {ctx} = scale;\n if (circular) {\n ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU);\n } else {\n let pointPosition = scale.getPointPosition(0, radius);\n ctx.moveTo(pointPosition.x, pointPosition.y);\n for (let i = 1; i < labelCount; i++) {\n pointPosition = scale.getPointPosition(i, radius);\n ctx.lineTo(pointPosition.x, pointPosition.y);\n }\n }\n}\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount) {\n const ctx = scale.ctx;\n const circular = gridLineOpts.circular;\n const {color, lineWidth} = gridLineOpts;\n if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) {\n return;\n }\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = lineWidth;\n ctx.setLineDash(gridLineOpts.borderDash);\n ctx.lineDashOffset = gridLineOpts.borderDashOffset;\n ctx.beginPath();\n pathRadiusLine(scale, radius, circular, labelCount);\n ctx.closePath();\n ctx.stroke();\n ctx.restore();\n}\nfunction createPointLabelContext(parent, index, label) {\n return createContext(parent, {\n label,\n index,\n type: 'pointLabel'\n });\n}\nclass RadialLinearScale extends LinearScaleBase {\n constructor(cfg) {\n super(cfg);\n this.xCenter = undefined;\n this.yCenter = undefined;\n this.drawingArea = undefined;\n this._pointLabels = [];\n this._pointLabelItems = [];\n }\n setDimensions() {\n const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2);\n const w = this.width = this.maxWidth - padding.width;\n const h = this.height = this.maxHeight - padding.height;\n this.xCenter = Math.floor(this.left + w / 2 + padding.left);\n this.yCenter = Math.floor(this.top + h / 2 + padding.top);\n this.drawingArea = Math.floor(Math.min(w, h) / 2);\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(false);\n this.min = isNumberFinite(min) && !isNaN(min) ? min : 0;\n this.max = isNumberFinite(max) && !isNaN(max) ? max : 0;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n }\n generateTickLabels(ticks) {\n LinearScaleBase.prototype.generateTickLabels.call(this, ticks);\n this._pointLabels = this.getLabels()\n .map((value, index) => {\n const label = callback(this.options.pointLabels.callback, [value, index], this);\n return label || label === 0 ? label : '';\n })\n .filter((v, i) => this.chart.getDataVisibility(i));\n }\n fit() {\n const opts = this.options;\n if (opts.display && opts.pointLabels.display) {\n fitWithPointLabels(this);\n } else {\n this.setCenterPoint(0, 0, 0, 0);\n }\n }\n setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n this.xCenter += Math.floor((leftMovement - rightMovement) / 2);\n this.yCenter += Math.floor((topMovement - bottomMovement) / 2);\n this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement));\n }\n getIndexAngle(index) {\n const angleMultiplier = TAU / (this._pointLabels.length || 1);\n const startAngle = this.options.startAngle || 0;\n return _normalizeAngle(index * angleMultiplier + toRadians(startAngle));\n }\n getDistanceFromCenterForValue(value) {\n if (isNullOrUndef(value)) {\n return NaN;\n }\n const scalingFactor = this.drawingArea / (this.max - this.min);\n if (this.options.reverse) {\n return (this.max - value) * scalingFactor;\n }\n return (value - this.min) * scalingFactor;\n }\n getValueForDistanceFromCenter(distance) {\n if (isNullOrUndef(distance)) {\n return NaN;\n }\n const scaledDistance = distance / (this.drawingArea / (this.max - this.min));\n return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance;\n }\n getPointLabelContext(index) {\n const pointLabels = this._pointLabels || [];\n if (index >= 0 && index < pointLabels.length) {\n const pointLabel = pointLabels[index];\n return createPointLabelContext(this.getContext(), index, pointLabel);\n }\n }\n getPointPosition(index, distanceFromCenter, additionalAngle = 0) {\n const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle;\n return {\n x: Math.cos(angle) * distanceFromCenter + this.xCenter,\n y: Math.sin(angle) * distanceFromCenter + this.yCenter,\n angle\n };\n }\n getPointPositionForValue(index, value) {\n return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n }\n getBasePosition(index) {\n return this.getPointPositionForValue(index || 0, this.getBaseValue());\n }\n getPointLabelPosition(index) {\n const {left, top, right, bottom} = this._pointLabelItems[index];\n return {\n left,\n top,\n right,\n bottom,\n };\n }\n drawBackground() {\n const {backgroundColor, grid: {circular}} = this.options;\n if (backgroundColor) {\n const ctx = this.ctx;\n ctx.save();\n ctx.beginPath();\n pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length);\n ctx.closePath();\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n }\n drawGrid() {\n const ctx = this.ctx;\n const opts = this.options;\n const {angleLines, grid} = opts;\n const labelCount = this._pointLabels.length;\n let i, offset, position;\n if (opts.pointLabels.display) {\n drawPointLabels(this, labelCount);\n }\n if (grid.display) {\n this.ticks.forEach((tick, index) => {\n if (index !== 0) {\n offset = this.getDistanceFromCenterForValue(tick.value);\n const optsAtIndex = grid.setContext(this.getContext(index - 1));\n drawRadiusLine(this, optsAtIndex, offset, labelCount);\n }\n });\n }\n if (angleLines.display) {\n ctx.save();\n for (i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i));\n const {color, lineWidth} = optsAtIndex;\n if (!lineWidth || !color) {\n continue;\n }\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = color;\n ctx.setLineDash(optsAtIndex.borderDash);\n ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n offset = this.getDistanceFromCenterForValue(opts.ticks.reverse ? this.min : this.max);\n position = this.getPointPosition(i, offset);\n ctx.beginPath();\n ctx.moveTo(this.xCenter, this.yCenter);\n ctx.lineTo(position.x, position.y);\n ctx.stroke();\n }\n ctx.restore();\n }\n }\n drawBorder() {}\n drawLabels() {\n const ctx = this.ctx;\n const opts = this.options;\n const tickOpts = opts.ticks;\n if (!tickOpts.display) {\n return;\n }\n const startAngle = this.getIndexAngle(0);\n let offset, width;\n ctx.save();\n ctx.translate(this.xCenter, this.yCenter);\n ctx.rotate(startAngle);\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n this.ticks.forEach((tick, index) => {\n if (index === 0 && !opts.reverse) {\n return;\n }\n const optsAtIndex = tickOpts.setContext(this.getContext(index));\n const tickFont = toFont(optsAtIndex.font);\n offset = this.getDistanceFromCenterForValue(this.ticks[index].value);\n if (optsAtIndex.showLabelBackdrop) {\n ctx.font = tickFont.string;\n width = ctx.measureText(tick.label).width;\n ctx.fillStyle = optsAtIndex.backdropColor;\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillRect(\n -width / 2 - padding.left,\n -offset - tickFont.size / 2 - padding.top,\n width + padding.width,\n tickFont.size + padding.height\n );\n }\n renderText(ctx, tick.label, 0, -offset, tickFont, {\n color: optsAtIndex.color,\n });\n });\n ctx.restore();\n }\n drawTitle() {}\n}\nRadialLinearScale.id = 'radialLinear';\nRadialLinearScale.defaults = {\n display: true,\n animate: true,\n position: 'chartArea',\n angleLines: {\n display: true,\n lineWidth: 1,\n borderDash: [],\n borderDashOffset: 0.0\n },\n grid: {\n circular: false\n },\n startAngle: 0,\n ticks: {\n showLabelBackdrop: true,\n callback: Ticks.formatters.numeric\n },\n pointLabels: {\n backdropColor: undefined,\n backdropPadding: 2,\n display: true,\n font: {\n size: 10\n },\n callback(label) {\n return label;\n },\n padding: 5,\n centerPointLabels: false\n }\n};\nRadialLinearScale.defaultRoutes = {\n 'angleLines.color': 'borderColor',\n 'pointLabels.color': 'color',\n 'ticks.color': 'color'\n};\nRadialLinearScale.descriptors = {\n angleLines: {\n _fallback: 'grid'\n }\n};\n\nconst INTERVALS = {\n millisecond: {common: true, size: 1, steps: 1000},\n second: {common: true, size: 1000, steps: 60},\n minute: {common: true, size: 60000, steps: 60},\n hour: {common: true, size: 3600000, steps: 24},\n day: {common: true, size: 86400000, steps: 30},\n week: {common: false, size: 604800000, steps: 4},\n month: {common: true, size: 2.628e9, steps: 12},\n quarter: {common: false, size: 7.884e9, steps: 4},\n year: {common: true, size: 3.154e10}\n};\nconst UNITS = (Object.keys(INTERVALS));\nfunction sorter(a, b) {\n return a - b;\n}\nfunction parse(scale, input) {\n if (isNullOrUndef(input)) {\n return null;\n }\n const adapter = scale._adapter;\n const {parser, round, isoWeekday} = scale._parseOpts;\n let value = input;\n if (typeof parser === 'function') {\n value = parser(value);\n }\n if (!isNumberFinite(value)) {\n value = typeof parser === 'string'\n ? adapter.parse(value, parser)\n : adapter.parse(value);\n }\n if (value === null) {\n return null;\n }\n if (round) {\n value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true)\n ? adapter.startOf(value, 'isoWeek', isoWeekday)\n : adapter.startOf(value, round);\n }\n return +value;\n}\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\n const ilen = UNITS.length;\n for (let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\n const interval = INTERVALS[UNITS[i]];\n const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n return UNITS[i];\n }\n }\n return UNITS[ilen - 1];\n}\nfunction determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n for (let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) {\n const unit = UNITS[i];\n if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n return unit;\n }\n }\n return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\nfunction determineMajorUnit(unit) {\n for (let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\n if (INTERVALS[UNITS[i]].common) {\n return UNITS[i];\n }\n }\n}\nfunction addTick(ticks, time, timestamps) {\n if (!timestamps) {\n ticks[time] = true;\n } else if (timestamps.length) {\n const {lo, hi} = _lookup(timestamps, time);\n const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n ticks[timestamp] = true;\n }\n}\nfunction setMajorTicks(scale, ticks, map, majorUnit) {\n const adapter = scale._adapter;\n const first = +adapter.startOf(ticks[0].value, majorUnit);\n const last = ticks[ticks.length - 1].value;\n let major, index;\n for (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) {\n index = map[major];\n if (index >= 0) {\n ticks[index].major = true;\n }\n }\n return ticks;\n}\nfunction ticksFromTimestamps(scale, values, majorUnit) {\n const ticks = [];\n const map = {};\n const ilen = values.length;\n let i, value;\n for (i = 0; i < ilen; ++i) {\n value = values[i];\n map[value] = i;\n ticks.push({\n value,\n major: false\n });\n }\n return (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\nclass TimeScale extends Scale {\n constructor(props) {\n super(props);\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n this._unit = 'day';\n this._majorUnit = undefined;\n this._offsets = {};\n this._normalized = false;\n this._parseOpts = undefined;\n }\n init(scaleOpts, opts) {\n const time = scaleOpts.time || (scaleOpts.time = {});\n const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n adapter.init(opts);\n mergeIf(time.displayFormats, adapter.formats());\n this._parseOpts = {\n parser: time.parser,\n round: time.round,\n isoWeekday: time.isoWeekday\n };\n super.init(scaleOpts);\n this._normalized = opts.normalized;\n }\n parse(raw, index) {\n if (raw === undefined) {\n return null;\n }\n return parse(this, raw);\n }\n beforeLayout() {\n super.beforeLayout();\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n }\n determineDataLimits() {\n const options = this.options;\n const adapter = this._adapter;\n const unit = options.time.unit || 'day';\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n function _applyBounds(bounds) {\n if (!minDefined && !isNaN(bounds.min)) {\n min = Math.min(min, bounds.min);\n }\n if (!maxDefined && !isNaN(bounds.max)) {\n max = Math.max(max, bounds.max);\n }\n }\n if (!minDefined || !maxDefined) {\n _applyBounds(this._getLabelBounds());\n if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n _applyBounds(this.getMinMax(false));\n }\n }\n min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n this.min = Math.min(min, max - 1);\n this.max = Math.max(min + 1, max);\n }\n _getLabelBounds() {\n const arr = this.getLabelTimestamps();\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n if (arr.length) {\n min = arr[0];\n max = arr[arr.length - 1];\n }\n return {min, max};\n }\n buildTicks() {\n const options = this.options;\n const timeOpts = options.time;\n const tickOpts = options.ticks;\n const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate();\n if (options.bounds === 'ticks' && timestamps.length) {\n this.min = this._userMin || timestamps[0];\n this.max = this._userMax || timestamps[timestamps.length - 1];\n }\n const min = this.min;\n const max = this.max;\n const ticks = _filterBetween(timestamps, min, max);\n this._unit = timeOpts.unit || (tickOpts.autoSkip\n ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min))\n : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max));\n this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined\n : determineMajorUnit(this._unit);\n this.initOffsets(timestamps);\n if (options.reverse) {\n ticks.reverse();\n }\n return ticksFromTimestamps(this, ticks, this._majorUnit);\n }\n afterAutoSkip() {\n if (this.options.offsetAfterAutoskip) {\n this.initOffsets(this.ticks.map(tick => +tick.value));\n }\n }\n initOffsets(timestamps) {\n let start = 0;\n let end = 0;\n let first, last;\n if (this.options.offset && timestamps.length) {\n first = this.getDecimalForValue(timestamps[0]);\n if (timestamps.length === 1) {\n start = 1 - first;\n } else {\n start = (this.getDecimalForValue(timestamps[1]) - first) / 2;\n }\n last = this.getDecimalForValue(timestamps[timestamps.length - 1]);\n if (timestamps.length === 1) {\n end = last;\n } else {\n end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n }\n }\n const limit = timestamps.length < 3 ? 0.5 : 0.25;\n start = _limitValue(start, 0, limit);\n end = _limitValue(end, 0, limit);\n this._offsets = {start, end, factor: 1 / (start + 1 + end)};\n }\n _generate() {\n const adapter = this._adapter;\n const min = this.min;\n const max = this.max;\n const options = this.options;\n const timeOpts = options.time;\n const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min));\n const stepSize = valueOrDefault(timeOpts.stepSize, 1);\n const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n const hasWeekday = isNumber(weekday) || weekday === true;\n const ticks = {};\n let first = min;\n let time, count;\n if (hasWeekday) {\n first = +adapter.startOf(first, 'isoWeek', weekday);\n }\n first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n }\n const timestamps = options.ticks.source === 'data' && this.getDataTimestamps();\n for (time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++) {\n addTick(ticks, time, timestamps);\n }\n if (time === max || options.bounds === 'ticks' || count === 1) {\n addTick(ticks, time, timestamps);\n }\n return Object.keys(ticks).sort((a, b) => a - b).map(x => +x);\n }\n getLabelForValue(value) {\n const adapter = this._adapter;\n const timeOpts = this.options.time;\n if (timeOpts.tooltipFormat) {\n return adapter.format(value, timeOpts.tooltipFormat);\n }\n return adapter.format(value, timeOpts.displayFormats.datetime);\n }\n _tickFormatFunction(time, index, ticks, format) {\n const options = this.options;\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const majorUnit = this._majorUnit;\n const minorFormat = unit && formats[unit];\n const majorFormat = majorUnit && formats[majorUnit];\n const tick = ticks[index];\n const major = majorUnit && majorFormat && tick && tick.major;\n const label = this._adapter.format(time, format || (major ? majorFormat : minorFormat));\n const formatter = options.ticks.callback;\n return formatter ? callback(formatter, [label, index, ticks], this) : label;\n }\n generateTickLabels(ticks) {\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n tick.label = this._tickFormatFunction(tick.value, i, ticks);\n }\n }\n getDecimalForValue(value) {\n return value === null ? NaN : (value - this.min) / (this.max - this.min);\n }\n getPixelForValue(value) {\n const offsets = this._offsets;\n const pos = this.getDecimalForValue(value);\n return this.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return this.min + pos * (this.max - this.min);\n }\n _getLabelSize(label) {\n const ticksOpts = this.options.ticks;\n const tickLabelWidth = this.ctx.measureText(label).width;\n const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n const cosRotation = Math.cos(angle);\n const sinRotation = Math.sin(angle);\n const tickFontSize = this._resolveTickFontOptions(0).size;\n return {\n w: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation),\n h: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation)\n };\n }\n _getLabelCapacity(exampleTime) {\n const timeOpts = this.options.time;\n const displayFormats = timeOpts.displayFormats;\n const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [exampleTime], this._majorUnit), format);\n const size = this._getLabelSize(exampleLabel);\n const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1;\n return capacity > 0 ? capacity : 1;\n }\n getDataTimestamps() {\n let timestamps = this._cache.data || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const metas = this.getMatchingVisibleMetas();\n if (this._normalized && metas.length) {\n return (this._cache.data = metas[0].controller.getAllParsedValues(this));\n }\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this));\n }\n return (this._cache.data = this.normalize(timestamps));\n }\n getLabelTimestamps() {\n const timestamps = this._cache.labels || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const labels = this.getLabels();\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n timestamps.push(parse(this, labels[i]));\n }\n return (this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps));\n }\n normalize(values) {\n return _arrayUnique(values.sort(sorter));\n }\n}\nTimeScale.id = 'time';\nTimeScale.defaults = {\n bounds: 'data',\n adapters: {},\n time: {\n parser: false,\n unit: false,\n round: false,\n isoWeekday: false,\n minUnit: 'millisecond',\n displayFormats: {}\n },\n ticks: {\n source: 'auto',\n major: {\n enabled: false\n }\n }\n};\n\nfunction interpolate(table, val, reverse) {\n let lo = 0;\n let hi = table.length - 1;\n let prevSource, nextSource, prevTarget, nextTarget;\n if (reverse) {\n if (val >= table[lo].pos && val <= table[hi].pos) {\n ({lo, hi} = _lookupByKey(table, 'pos', val));\n }\n ({pos: prevSource, time: prevTarget} = table[lo]);\n ({pos: nextSource, time: nextTarget} = table[hi]);\n } else {\n if (val >= table[lo].time && val <= table[hi].time) {\n ({lo, hi} = _lookupByKey(table, 'time', val));\n }\n ({time: prevSource, pos: prevTarget} = table[lo]);\n ({time: nextSource, pos: nextTarget} = table[hi]);\n }\n const span = nextSource - prevSource;\n return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\nclass TimeSeriesScale extends TimeScale {\n constructor(props) {\n super(props);\n this._table = [];\n this._minPos = undefined;\n this._tableRange = undefined;\n }\n initOffsets() {\n const timestamps = this._getTimestampsForTable();\n const table = this._table = this.buildLookupTable(timestamps);\n this._minPos = interpolate(table, this.min);\n this._tableRange = interpolate(table, this.max) - this._minPos;\n super.initOffsets(timestamps);\n }\n buildLookupTable(timestamps) {\n const {min, max} = this;\n const items = [];\n const table = [];\n let i, ilen, prev, curr, next;\n for (i = 0, ilen = timestamps.length; i < ilen; ++i) {\n curr = timestamps[i];\n if (curr >= min && curr <= max) {\n items.push(curr);\n }\n }\n if (items.length < 2) {\n return [\n {time: min, pos: 0},\n {time: max, pos: 1}\n ];\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n next = items[i + 1];\n prev = items[i - 1];\n curr = items[i];\n if (Math.round((next + prev) / 2) !== curr) {\n table.push({time: curr, pos: i / (ilen - 1)});\n }\n }\n return table;\n }\n _getTimestampsForTable() {\n let timestamps = this._cache.all || [];\n if (timestamps.length) {\n return timestamps;\n }\n const data = this.getDataTimestamps();\n const label = this.getLabelTimestamps();\n if (data.length && label.length) {\n timestamps = this.normalize(data.concat(label));\n } else {\n timestamps = data.length ? data : label;\n }\n timestamps = this._cache.all = timestamps;\n return timestamps;\n }\n getDecimalForValue(value) {\n return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return interpolate(this._table, decimal * this._tableRange + this._minPos, true);\n }\n}\nTimeSeriesScale.id = 'timeseries';\nTimeSeriesScale.defaults = TimeScale.defaults;\n\nvar scales = /*#__PURE__*/Object.freeze({\n__proto__: null,\nCategoryScale: CategoryScale,\nLinearScale: LinearScale,\nLogarithmicScale: LogarithmicScale,\nRadialLinearScale: RadialLinearScale,\nTimeScale: TimeScale,\nTimeSeriesScale: TimeSeriesScale\n});\n\nconst registerables = [\n controllers,\n elements,\n plugins,\n scales,\n];\n\nexport { Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, DatasetController, plugin_decimation as Decimation, DomPlatform, DoughnutController, Element, index as Filler, Interaction, plugin_legend as Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, plugin_subtitle as SubTitle, Ticks, TimeScale, TimeSeriesScale, plugin_title as Title, plugin_tooltip as Tooltip, adapters as _adapters, _detectPlatform, animator, controllers, elements, layouts, plugins, registerables, registry, scales };\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(608);\n"],"names":["root","factory","exports","module","define","amd","this","message","InvalidDataException","Pair","blocks","block","title","lines","line","isHumanLine","parseGenericTitleForMultiLine","blockRows","a","BlockRow","values","toList","first","blockRow","originalValueOrder","currentValueOrder","checkDataIntegrity","createChartTitle","benchmarkResults","BenchmarkResult","chartTitle","parseMultiLineGenericInput","println","isMachineLine","data","key","transformedList","valueMap","it","toSet","flatten","chartNames","c","chartName","charts","dataSets","ChartsBundle","parseGroupMap","isGeneric","titles","mutableListOf","lineColors","randomRgb","newColor","placeholder","rows","textInput","isBlank","type","marginTop","marginLeft","legend","label","borderColor","borderWidth","labels","datasets","plugins","Chart","width","maxWidth","height","maxHeight","fontSize","marginBottom","savedBenchmarks","savedBenchmark","selected","disabled","marginRight","Date","getMilliseconds","lazy","document","createElement","selector","summaries","summary","blockName","badgeClass","postfix","fontWeight","ElementBuilderImplementation","testName","HomeViewModel","BenchmarkRepoImpl","FormRepoImpl","newTestName","chunked","paddingLeft","paddingRight","paddingBottom","chart","updateSummary","chartsBundle","blockNames","emptyList","inputType","result","listOf","toGenericChart","newCharts","onChartsBundleUpdated","firstOrNull","currentTestName","toCharts","blockNameOuter","blockNameInner","greenSum","redSum","node","newAggSums","AggSummary","calcAggSummary","printStackTrace","reset","mutableStateListOf","FormData","refreshBenchmarks","isGenericInput","form","parseGenericInput","isTestName","findMetricKeyOrNull","metricName","InvalidBenchmarkDataException","parseValues","parseTitle","TextNumberLine","destroy","cloneNode","setTimeout","delay","newForm","window","prompt","bName","alert","SavedBenchmarkNode","formData","newList","savedBenchmarkNode","confirm","deletedBenchmarkNode","newBlockName","localStorage","getItem","savedBenchmarksString","SavedBenchmarks","setItem","removeAll","toString","toBoolean","isTestNameDetectionEnabled","selectedBlockNameOne","selectedBlockNameTwo","words","word","toFloatArray","array","newArray","i","segments","combinedMap","g","before","after","diff","summaryNodes","SummaryNode","emoji","segment","percDiff","resultWord","symbol","metricConfig","Summary","register","ArcElement","LineElement","BarElement","PointElement","BarController","BubbleController","DoughnutController","LineController","PieController","PolarAreaController","RadarController","ScatterController","CategoryScale","LinearScale","LogarithmicScale","RadialLinearScale","TimeScale","TimeSeriesScale","Decimation","Filler","Legend","Title","Tooltip","SubTitle","noop","uid","id","isNullOrUndef","value","isArray","Array","Object","prototype","call","slice","isObject","isNumberFinite","Number","isFinite","finiteOrDefault","defaultValue","valueOrDefault","toDimension","dimension","endsWith","parseFloat","callback","fn","args","thisArg","apply","each","loopable","reverse","len","keys","length","_elementsEqual","a0","a1","ilen","v0","v1","datasetIndex","index","clone$1","source","map","target","create","klen","k","isValidKey","indexOf","_merger","options","tval","sval","merge","sources","merger","mergeIf","_mergerIf","hasOwnProperty","keyResolvers","v","x","o","y","resolveObjectKey","obj","resolver","parts","split","tmp","part","push","_splitKey","_getKeyResolver","_capitalize","str","charAt","toUpperCase","defined","isFunction","setsEqual","b","size","item","has","PI","Math","TAU","PITAU","INFINITY","POSITIVE_INFINITY","RAD_PER_DEG","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","log10","sign","niceNum","range","roundedRange","round","almostEquals","niceRange","pow","floor","fraction","isNumber","n","isNaN","epsilon","abs","_setMinAndMaxByKey","property","min","max","toRadians","degrees","toDegrees","radians","_decimalPlaces","e","p","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","sqrt","angle","atan2","distance","distanceBetweenPoints","pt1","pt2","_angleDiff","_normalizeAngle","_angleBetween","start","end","sameAngleIsFullCircle","s","angleToStart","angleToEnd","startToAngle","endToAngle","_limitValue","_isBetween","_lookup","table","cmp","mid","hi","lo","_lookupByKey","last","_rlookupByKey","arrayEvents","unlistenArrayEvents","listener","stub","_chartjs","listeners","splice","forEach","_arrayUnique","items","set","Set","add","from","requestAnimFrame","requestAnimationFrame","throttled","updateFn","updateArgs","ticking","rest","_toLeftRightCenter","align","_alignStartEnd","_getStartAndCountOfVisiblePoints","meta","points","animationsDisabled","pointCount","count","_sorted","iScale","_parsed","axis","minDefined","maxDefined","getUserBounds","getPixelForValue","_scaleRangesChanged","xScale","yScale","_scaleRanges","newRanges","xmin","xmax","ymin","ymax","changed","assign","atEdge","t","elasticIn","sin","elasticOut","effects","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","cos","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","m","d","easeInOutBounce","lim","l","h","p2b","n2b","b2n","n2p","map$1","A","B","C","D","E","F","f","hex","h1","h2","eq","HUE_RE","hsl2rgbn","hsv2rgbn","hwb2rgbn","w","rgb","rgb2hsl","r","hueValue","calln","hsl2rgb","hue","Z","Y","X","W","V","U","T","S","R","Q","P","O","N","M","L","K","G","H","I","J","names$1","OiceXe","antiquewEte","aqua","aquamarRe","azuY","beige","bisque","black","blanKedOmond","Xe","XeviTet","bPwn","burlywood","caMtXe","KartYuse","KocTate","cSO","cSnflowerXe","cSnsilk","crimson","cyan","xXe","xcyan","xgTMnPd","xWay","xgYF","xgYy","xkhaki","xmagFta","xTivegYF","xSange","xScEd","xYd","xsOmon","xsHgYF","xUXe","xUWay","xUgYy","xQe","xviTet","dAppRk","dApskyXe","dimWay","dimgYy","dodgerXe","fiYbrick","flSOwEte","foYstWAn","fuKsia","gaRsbSo","ghostwEte","gTd","gTMnPd","Way","gYF","gYFLw","gYy","honeyMw","hotpRk","RdianYd","Rdigo","ivSy","khaki","lavFMr","lavFMrXsh","lawngYF","NmoncEffon","ZXe","ZcSO","Zcyan","ZgTMnPdLw","ZWay","ZgYF","ZgYy","ZpRk","ZsOmon","ZsHgYF","ZskyXe","ZUWay","ZUgYy","ZstAlXe","ZLw","lime","limegYF","lRF","magFta","maPon","VaquamarRe","VXe","VScEd","VpurpN","VsHgYF","VUXe","VsprRggYF","VQe","VviTetYd","midnightXe","mRtcYam","mistyPse","moccasR","navajowEte","navy","Tdlace","Tive","TivedBb","Sange","SangeYd","ScEd","pOegTMnPd","pOegYF","pOeQe","pOeviTetYd","papayawEp","pHKpuff","peru","pRk","plum","powMrXe","purpN","YbeccapurpN","Yd","Psybrown","PyOXe","saddNbPwn","sOmon","sandybPwn","sHgYF","sHshell","siFna","silver","skyXe","UXe","UWay","UgYy","snow","sprRggYF","stAlXe","tan","teO","tEstN","tomato","Qe","viTet","JHt","wEte","wEtesmoke","Lw","LwgYF","names","RGB_RE","to","modHSL","ratio","clone","proto","fromObject","input","functionParse","exec","rgbParse","p1","p2","hwb2rgb","hsv2rgb","hueParse","Color","constructor","ret","unpacked","tkeys","j","ok","nk","replace","parseInt","unpack","transparent","toLowerCase","nameParse","_rgb","_valid","valid","rgbString","undefined","hexString","isShort","alpha","hslString","mix","color","weight","c1","c2","w2","w1","interpolate","rgb1","rgb2","clearer","greyscale","val","opaquer","negate","lighten","darken","saturate","desaturate","rotate","deg","index_esm","isPatternOrGradient","getHoverColor","overrides","descriptors","getScope$1","scope","defaults","_descriptors","animation","backgroundColor","devicePixelRatio","context","platform","getDevicePixelRatio","elements","events","font","family","style","lineHeight","hover","hoverBackgroundColor","ctx","hoverBorderColor","hoverColor","indexAxis","interaction","mode","intersect","includeInvisible","maintainAspectRatio","onHover","onClick","parsing","responsive","scale","scales","showLine","drawActiveElementsOnTop","describe","get","override","route","name","targetScope","targetName","scopeObject","targetScopeObject","privateName","defineProperties","writable","enumerable","local","_scriptable","startsWith","_indexable","_fallback","_measureText","gc","longest","string","textWidth","measureText","_longestText","arrayOfThings","cache","garbageCollect","save","jlen","thing","nestedThing","restore","gcLen","_alignPixel","pixel","currentDevicePixelRatio","halfWidth","clearCanvas","canvas","getContext","resetTransform","clearRect","drawPoint","drawPointLegend","xOffset","yOffset","cornerRadius","pointStyle","rotation","radius","rad","translate","drawImage","beginPath","ellipse","arc","closePath","moveTo","lineTo","SQRT1_2","rect","fill","stroke","_isPointInArea","point","area","margin","left","right","top","bottom","clipArea","clip","unclipArea","_steppedLineTo","previous","flip","midpoint","_bezierCurveTo","bezierCurveTo","cp1x","cp2x","cp1y","cp2y","renderText","text","opts","strokeWidth","strokeColor","translation","fillStyle","textAlign","textBaseline","setRenderOpts","strokeStyle","lineWidth","strokeText","fillText","decorateText","strikethrough","underline","metrics","actualBoundingBoxLeft","actualBoundingBoxRight","actualBoundingBoxAscent","actualBoundingBoxDescent","yDecoration","decorationWidth","addRoundedRectPath","topLeft","bottomLeft","bottomRight","topRight","LINE_HEIGHT","RegExp","FONT_STYLE","toLineHeight","matches","match","_readValueToProps","props","objProps","read","prop","toTRBL","toTRBLCorners","toPadding","toFont","fallback","console","warn","toFontString","resolve","inputs","info","cacheable","createContext","parentContext","_createResolver","scopes","prefixes","rootScopes","getTarget","_resolve","Symbol","toStringTag","_cacheable","_scopes","_rootScopes","_getTarget","Proxy","deleteProperty","_keys","_cached","proxy","prefix","readKey","needsSubResolver","createSubResolver","_resolveWithPrefixes","getOwnPropertyDescriptor","Reflect","getPrototypeOf","getKeysFromAllScopes","includes","ownKeys","storage","_storage","_attachContext","subProxy","descriptorDefaults","_proxy","_context","_subProxy","_stack","setContext","receiver","isScriptable","Error","join","delete","_resolveScriptable","isIndexable","arr","filter","_resolveArray","_resolveWithContext","allKeys","configurable","scriptable","indexable","_allKeys","resolveFallback","getScope","parent","addScopes","parentScopes","parentFallback","allScopes","addScopesFromKey","subGetTarget","resolveKeysFromAllScopes","_parseObjectDataRadialScale","_parsing","parsed","parse","EPSILON","getPoint","skip","getValueAxis","splineCurve","firstPoint","middlePoint","afterPoint","current","next","d01","d12","s01","s12","fa","fb","capControlPoint","pt","_updateBezierControlPoints","loop","controlPoints","spanGaps","cubicInterpolationMode","valueAxis","pointsLen","deltaK","mK","pointBefore","pointCurrent","pointAfter","slopeDelta","alphaK","betaK","tauK","squaredMagnitude","monotoneAdjust","delta","iPixel","vPixel","monotoneCompute","splineCurveMonotone","prev","tension","capBezierPoints","inArea","inAreaPrev","inAreaNext","_isDomSupported","_getParentNode","domNode","parentNode","host","parseMaxStyle","styleValue","parentProperty","valueInPixels","getComputedStyle","element","positions","getPositionedStyle","styles","suffix","pos","getRelativePosition","evt","borderBox","boxSizing","paddings","borders","box","touches","offsetX","offsetY","shadowRoot","useOffsetPos","getBoundingClientRect","clientX","clientY","getCanvasPosition","round1","retinaScale","forceRatio","forceStyle","pixelRatio","deviceHeight","deviceWidth","setTransform","supportsEventListenerOptions","passiveSupported","passive","addEventListener","removeEventListener","readUsedSize","el","getPropertyValue","getStyle","_pointInLine","_steppedInterpolation","_bezierInterpolation","cp1","cp2","intlCache","Map","formatNumber","num","locale","cacheKey","JSON","stringify","formatter","Intl","NumberFormat","getNumberFormat","format","getRtlAdapter","rtl","rectX","setWidth","xPlus","leftForLtr","itemWidth","getRightToLeftAdapter","_itemWidth","overrideTextDirection","direction","original","getPropertyPriority","setProperty","prevTextDirection","restoreTextDirection","propertyFn","between","compare","normalize","normalizeSegment","_boundSegment","bounds","startBound","endBound","getSegment","prevValue","inside","subStart","_boundSegments","sub","readStyle","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","styleChanged","prevStyle","animator","_request","_charts","_running","_lastDate","_notify","anims","date","callbacks","numSteps","duration","initial","currentStep","_refresh","_update","now","remaining","running","draw","_active","_total","tick","pop","_getAnims","complete","progress","listen","event","cb","reduce","acc","cur","_duration","stop","cancel","remove","interpolators","boolean","factor","c0","number","Animation","cfg","currentValue","_fn","_easing","easing","_start","_loop","_target","_prop","_from","_to","_promises","active","update","elapsed","remain","wait","promises","Promise","res","rej","resolved","method","animationOptions","colors","properties","numbers","resize","show","animations","visible","hide","Animations","config","_chart","_properties","configure","animatedProps","getOwnPropertyNames","option","_animateOptions","newOptions","$shared","$animations","resolveTargetOptions","_createAnimations","anim","all","awaitAll","then","scaleClip","allowedOverflow","getSortedDatasetIndices","filterVisible","metasets","_getSortedDatasetMetas","applyStack","stack","dsIndex","singleMode","otherValue","isStacked","stacked","getOrCreateStack","stacks","stackKey","indexValue","subStack","getLastIndexInStack","vScale","positive","getMatchingVisibleMetas","updateStacks","controller","_cachedMeta","_stacks","iAxis","vAxis","indexScale","valueScale","getStackKey","_top","_bottom","getFirstScaleId","shift","clearStacks","isDirectUpdateMode","cloneIfNotShared","cached","shared","DatasetController","_ctx","_cachedDataOpts","getMeta","_type","_data","_objectData","_sharedOptions","_drawStart","_drawCount","enableOptionSharing","supportsDecimation","$context","_syncList","initialize","linkScales","_stacked","addElements","updateIndex","dataset","getDataset","chooseId","xid","xAxisID","yid","yAxisID","rid","rAxisID","iid","iAxisID","vid","vAxisID","getScaleForId","rScale","getDatasetMeta","scaleID","_getOtherScale","_destroy","_dataCheck","adata","convertObjectDataToArray","isExtensible","defineProperty","base","object","datasetElementType","buildOrUpdateElements","resetNewElements","stackChanged","oldStacked","_resyncElements","scopeKeys","datasetScopeKeys","getOptionScopes","createResolver","sorted","parseArrayData","parseObjectData","parsePrimitiveData","isNotInOrderComparedToPrev","getLabels","singleScale","xAxisKey","yAxisKey","getParsed","getDataElement","updateRangeFromParsed","parsedValue","NaN","getMinMax","canStack","otherScale","hidden","createStack","NEGATIVE_INFINITY","otherMin","otherMax","_skip","getAllParsedValues","getMaxOverflow","getLabelAndValue","getLabelForValue","_clip","toClip","defaultClip","chartArea","resolveDatasetElementOptions","resolveDataElementOptions","dataIndex","raw","createDataContext","createDatasetContext","_resolveElementOptions","dataElementType","elementType","sharing","datasetElementScopeKeys","resolveNamedOptions","freeze","_resolveAnimations","transition","datasetAnimationScopeKeys","getSharedOptions","includeOptions","sharedOptions","_animationsDisabled","_getSharedOptions","firstOpts","previouslySharedOptions","updateSharedOptions","updateElement","_setStyle","removeHoverStyle","setHoverStyle","_removeDatasetHoverStyle","_setDatasetHoverStyle","arg1","arg2","numMeta","numData","_insertElements","_removeElements","move","updateElements","removed","_sync","_dataChanges","_onDataPush","arguments","_onDataPop","_onDataShift","_onDataSplice","newCount","_onDataUnshift","computeMinSampleSize","_cache","$bar","visibleMetas","concat","sort","getAllScaleValues","curr","_length","updateMinAndPrev","ticks","getPixelForTick","parseValue","entry","startValue","endValue","barStart","barEnd","_custom","parseFloatBar","parseArrayOrPrimitive","isFloatBar","custom","setBorderSkipped","edge","borderSkipped","horizontal","borderProps","enableBorderRadius","parseEdge","orig","v2","startEnd","setInflateAmount","inflateAmount","iAxisKey","vAxisKey","super","bars","getBasePixel","isHorizontal","ruler","_getRuler","vpixels","head","_calculateBarValuePixels","ipixels","_calculateBarIndexPixels","center","_getStacks","grouped","skipNull","_getStackCount","_getStackIndex","pixels","barThickness","_startPixel","_endPixel","stackCount","categoryPercentage","barPercentage","baseValue","minBarLength","actualBase","floating","getDataVisibility","barSign","startPixel","getPixelForDecimal","endPixel","halfGrid","getLineWidthForValue","maxBarThickness","Infinity","percent","chunk","computeFlexCategoryTraits","thickness","computeFitCategoryTraits","stackIndex","rects","_index_","offset","grid","_value_","beginAtZero","tooltip","innerRadius","outerRadius","getter","_getRotation","_getCircumference","circumference","_getRotationExtents","isDatasetVisible","arcs","spacing","getMaxBorderWidth","getMaxOffset","maxSize","cutout","chartWeight","_getRingWeight","ratioX","ratioY","startAngle","endAngle","startX","startY","endX","endY","calcMax","calcMin","maxX","maxY","minX","minY","getRatioAndOffset","maxRadius","radiusLength","_getVisibleDatasetWeightTotal","total","calculateTotal","_getRingWeightOffset","_circumference","animateRotate","calculateCircumference","animationOpts","centerX","centerY","animateScale","metaData","borderAlign","hoverBorderWidth","hoverOffset","ringWeightOffset","aspectRatio","generateLabels","legendItem","toggleDataVisibility","tooltipItem","dataLabel","formattedValue","_dataset","_datasetIndex","_decimated","animated","maxGapLength","directUpdate","prevParsed","nullData","border","lastPoint","updateControlPoints","bind","_updateRadius","minSize","cutoutPercentage","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getIndexAngle","defaultAngle","countVisibleElements","_computeAngle","getDistanceFromCenterForValue","angleLines","display","circular","pointLabels","_fullLoop","pointPosition","getPointPositionForValue","Element","tooltipPosition","useFinalPosition","getProps","hasValue","final","defaultRoutes","formatters","numeric","tickValue","notation","maxTick","calculateDelta","logDelta","numDecimal","minimumFractionDigits","maximumFractionDigits","logarithmic","Ticks","newTicks","majorStart","majorEnd","ceil","grace","drawBorder","drawOnChartArea","drawTicks","tickLength","tickWidth","tickColor","padding","minRotation","maxRotation","mirror","textStrokeWidth","textStrokeColor","autoSkip","autoSkipPadding","labelOffset","minor","major","crossAlign","showLabelBackdrop","backdropColor","backdropPadding","offsetFromEdge","sample","numItems","increment","getPixelForGridLine","offsetGridLines","validIndex","lineValue","getTickMarkLength","getTitleHeight","titleAlign","position","reverseAlign","Scale","_margins","paddingTop","labelRotation","_range","_gridLineItems","_labelItems","_labelSizes","_maxLength","_longestTextCache","_reversePixels","_userMax","_userMin","_suggestedMax","_suggestedMin","_ticksLength","_borderValue","_dataLimitsCached","init","suggestedMin","suggestedMax","metas","getPadding","getTicks","xLabels","yLabels","beforeLayout","beforeUpdate","margins","tickOpts","sampleSize","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","minmax","change","keepZero","_addGrace","beforeBuildTicks","buildTicks","afterBuildTicks","samplingEnabled","_convertTicksToLabels","beforeCalculateLabelRotation","calculateLabelRotation","afterCalculateLabelRotation","ticksLimit","maxTicksLimit","_tickSize","maxScale","maxChart","determineMaxTicks","majorIndices","enabled","getMajorIndices","numMajorIndices","skipMajors","evenMajorSpacing","getEvenSpacing","factors","_factorize","calculateSpacing","avgMajorSpacing","afterAutoSkip","beforeFit","fit","afterFit","afterUpdate","reversePixels","_alignToPixels","alignToPixels","_callHooks","notifyPlugins","beforeTickToLabelConversion","generateTickLabels","afterTickToLabelConversion","numTicks","maxLabelDiagonal","_isVisible","labelSizes","_getLabelSizes","maxLabelWidth","widest","maxLabelHeight","highest","asin","titleOpts","gridOpts","titleHeight","tickPadding","angleRadians","labelHeight","labelWidth","_calculatePadding","_handleMargins","isRotated","labelsBelowTicks","offsetLeft","offsetRight","isFullSize","fullSize","_computeLabelSizes","caches","widths","heights","tickFont","fontString","nestedLabel","widestLabelSize","highestLabelSize","_resolveTickFontOptions","valueAt","idx","getValueForPixel","decimal","getDecimalForPixel","getBaseValue","createTickContext","optionTicks","rot","_computeGridLineItems","ticksLength","tl","borderOpts","axisWidth","axisHalfWidth","alignBorderValue","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","x1","y1","x2","y2","positionAxisID","limit","step","optsAtIndex","lineColor","tickBorderDash","tickBorderDashOffset","_computeLabelItems","tickAndPadding","hTickAndPadding","lineCount","textOffset","_getXAxisLabelAlignment","_getYAxisLabelAlignment","halfCount","backdrop","tickTextAlign","labelPadding","_computeLabelArea","drawBackground","fillRect","findIndex","drawGrid","drawLine","setLineDash","lineDashOffset","lastLineWidth","drawLabels","drawTitle","titleX","titleY","titleArgs","_layers","tz","z","gz","getSortedVisibleDatasetMetas","axisID","_maxDigits","TypedRegistry","isForType","isPrototypeOf","parentScope","isIChartComponent","itemDefaults","routes","propertyParts","sourceName","sourceScope","routeDefaults","registerDefaults","unregister","registry","controllers","_typedRegistries","_each","addControllers","addPlugins","addScales","getController","_get","getElement","getPlugin","getScale","removeControllers","removeElements","removePlugins","removeScales","typedRegistry","arg","reg","_getRegistryForType","_exec","itemReg","component","camelMethod","__proto__","DateAdapter","chartOptions","formats","timestamp","amount","unit","startOf","weekday","endOf","members","adapters","_date","binarySearch","metaset","lookupMethod","getRange","evaluateInteractionItems","handler","getIntersectItems","isPointInArea","inRange","getNearestItems","distanceMetric","useX","useY","deltaX","deltaY","getDistanceMetricForAxis","minDistance","getCenterPoint","getNearestCartesianItems","getNearestRadialItems","getAxisItems","rangeMethod","intersectsItem","Interaction","modes","nearest","STATIC_POSITIONS","filterByPosition","filterDynamicPositionByAxis","sortByWeight","getCombinedMax","maxPadding","updateMaxPadding","boxPadding","updateDims","params","layout","newWidth","outerWidth","newHeight","outerHeight","widthChanged","heightChanged","same","other","getMargins","marginForPositions","fitBoxes","boxes","refitBoxes","refit","setBoxDims","placeBoxes","userPadding","placed","stackWeight","autoPadding","layouts","addBox","removeBox","layoutItem","minPadding","availableWidth","availableHeight","layoutBoxes","wrapBoxes","wrap","centerHorizontal","centerVertical","leftAndTop","rightAndBottom","vertical","buildLayoutBoxes","verticalBoxes","horizontalBoxes","visibleVerticalBoxCount","vBoxMaxWidth","hBoxMaxHeight","buildStacks","setLayoutDims","updatePos","handleMaxPadding","BasePlatform","acquireContext","releaseContext","getMaximumSize","isAttached","updateConfig","BasicPlatform","EVENT_TYPES","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","isNullOrEmpty","eventListenerOptions","removeListener","nodeListContains","nodeList","contains","createAttachObserver","observer","MutationObserver","entries","trigger","addedNodes","removedNodes","observe","childList","subtree","createDetachObserver","drpListeningCharts","oldDevicePixelRatio","onWindowResize","dpr","createResizeObserver","container","clientWidth","ResizeObserver","contentRect","listenDevicePixelRatioChanges","releaseObserver","disconnect","unlistenDevicePixelRatioChanges","createProxyAndListen","native","fromNativeEvent","addListener","DomPlatform","renderHeight","getAttribute","renderWidth","displayWidth","displayHeight","initCanvas","removeAttribute","setAttribute","proxies","$proxies","attach","detach","bbWidth","bbHeight","containerSize","containerStyle","containerBorder","containerPadding","clientHeight","getContainerSize","isConnected","_detectPlatform","OffscreenCanvas","PluginService","_init","notify","hook","_createDescriptors","descriptor","plugin","cancelable","invalidate","_oldCache","_notifyStateChanges","localIds","allPlugins","getOpts","pluginOpts","createDescriptors","previousDescriptors","some","pluginScopeKeys","getIndexAxis","datasetDefaults","determineAxis","scaleOptions","initOptions","chartDefaults","configScales","chartIndexAxis","firstIDs","scaleConf","error","defaultId","getDefaultScaleIDFromAxis","defaultScaleOptions","defaultID","getAxisFromDefaultScaleID","mergeScaleConfig","initData","keyCache","keysCached","cachedKeys","generate","addIfFound","Config","_config","initConfig","_scopeCache","_resolverCache","clearCache","clear","datasetType","additionalOptionScopes","_cachedScopes","mainScope","resetCache","keyLists","chartOptionScopes","subPrefixes","getResolver","hasFunction","needContext","resolverCache","KNOWN_POSITIONS","positionIsHorizontal","compare2Level","l1","l2","onAnimationsComplete","onComplete","onAnimationProgress","onProgress","getCanvas","getElementById","instances","getChart","moveNumericKeys","intKey","userConfig","initialCanvas","existingChart","_options","_aspectRatio","_metasets","_lastEvent","_listeners","_responsiveListeners","_sortedMetasets","_plugins","_hiddenIndices","attached","_doResize","timeout","clearTimeout","debounce","resizeDelay","_initialize","bindEvents","_resizeBeforeDraw","_resize","newSize","newRatio","onResize","render","ensureScalesHaveIDs","axisOptions","buildOrUpdateScales","scaleOpts","updated","isRadial","dposition","dtype","scaleType","hasUpdated","_updateMetasets","_destroyDatasetMeta","_removeUnreferencedMetasets","buildOrUpdateControllers","newControllers","order","ControllerClass","_resetElements","animsDisabled","_updateScales","_checkEventBindings","_updateHiddenIndices","_minPadding","_updateLayout","_updateDatasets","_eventHandler","_updateHoverStyles","existingEvents","newEvents","unbindEvents","changes","_getUniformDataChanges","datasetCount","makeSet","changeSet","noArea","_idx","_updateDataset","layers","_drawDatasets","_drawDataset","useClip","getElementsAtEventForMode","setDatasetVisibility","_updateVisibility","_stop","toBase64Image","toDataURL","bindUserEvents","bindResponsiveEvents","_add","_remove","detached","updateHoverStyle","getActiveElements","setActiveElements","activeElements","lastActive","replay","hoverOptions","deactivated","activated","inChartArea","eventFilter","_handleEvent","_getActiveElements","isClick","_isClickEvent","lastEvent","determineLastEvent","invalidatePlugins","clipArc","pixelMargin","angleMargin","rThetaToXY","theta","pathArc","innerR","spacingOffset","avNogSpacingRadius","angleOffset","outerStart","outerEnd","innerStart","innerEnd","angleDelta","borderRadius","halfThickness","innerLimit","computeOuterLimit","outerArcLimit","parseBorderRadius$1","outerStartAdjustedRadius","outerEndAdjustedRadius","outerStartAdjustedAngle","outerEndAdjustedAngle","innerStartAdjustedRadius","innerEndAdjustedRadius","innerStartAdjustedAngle","innerEndAdjustedAngle","pCenter","p4","p8","outerStartX","outerStartY","outerEndX","outerEndY","version","fullCircles","chartX","chartY","rAdjust","betweenAngles","withinRadius","halfAngle","halfRadius","radiusOffset","drawArc","inner","lineJoin","drawFullCircleBorders","setStyle","lineCap","pathVars","paramsStart","paramsEnd","segmentStart","segmentEnd","outside","pathSegment","lineMethod","stepped","getLineMethod","fastPathSegment","prevX","lastY","avgX","countX","pointIndex","drawX","truncX","_getSegmentMethod","usePath2D","Path2D","_path","_points","_segments","_pointsUpdated","segmentOptions","findStartAndEnd","chartContext","baseStyle","addStyle","st","dir","p0","p0DataIndex","p1DataIndex","doSplitByStyles","splitByStyles","solidSegments","_computeSegments","_interpolate","_getInterpolationMethod","interpolated","segmentMethod","path","strokePathWithCache","strokePathDirect","inRange$1","hitRadius","mouseX","mouseY","inXRange","inYRange","hoverRadius","getBarBounds","bar","half","skipOrLimit","skipX","skipY","addNormalRectPath","inflateRect","refRect","outer","maxW","maxH","parseBorderWidth","maxR","enableBorder","parseBorderRadius","boundingRects","addRectPath","cleanDecimatedDataset","cleanDecimatedData","plugin_decimation","algorithm","beforeElementsUpdate","xAxis","decimated","getStartAndCountOfVisiblePointsSimplified","threshold","samples","bucketWidth","sampledIndex","endIndex","maxAreaPoint","maxArea","nextA","avgY","avgRangeStart","avgRangeEnd","avgRangeLength","rangeOffs","rangeTo","pointAx","pointAy","lttbDecimation","minIndex","maxIndex","startIndex","xMin","dx","lastIndex","intermediateIndex1","intermediateIndex2","minMaxDecimation","_getBounds","_findSegmentEnd","_getEdge","_createBoundaryLine","boundary","linePoints","_pointsFromSegments","_shouldApplyFill","_resolveTarget","propagate","visited","_decodeFill","fillOption","parseFillOption","firstCh","decodeTargetIndex","addPointsBelow","sourcePoint","linesBelow","postponed","findPoint","unshift","pointValue","firstValue","lastValue","simpleArc","_drawfill","getLineByIndex","sourcePoints","below","getLinesBelow","_buildStackLine","_getTargetValue","computeCircularBoundary","_getTargetPixel","computeLinearBoundary","computeBoundary","lineOpts","above","clipVertical","doFill","clipY","lineLoop","tpoints","targetSegments","tgt","subBounds","fillSources","fillSource","src","notShape","clipBounds","interpolatedLineTo","targetLoop","interpolatedPoint","afterDatasetsUpdate","_args","$filler","beforeDraw","drawTime","beforeDatasetsDraw","beforeDatasetDraw","getBoxSize","labelOpts","boxHeight","boxWidth","usePointStyle","pointStyleWidth","itemHeight","_added","legendHitBoxes","_hoveredItem","doughnutMode","legendItems","columnSizes","lineWidths","buildLabels","labelFont","_computeTitleHeight","_fitRows","_fitCols","hitboxes","totalHeight","row","heightLimit","totalWidth","currentColWidth","currentColHeight","col","adjustHitBoxes","rtlHelper","hitbox","_draw","defaultColor","fontColor","halfFontSize","cursor","textDirection","lineDash","drawOptions","SQRT2","yBoxTop","xBoxLeft","drawLegendBox","_textX","titleFont","titlePadding","topPaddingPlusHalfFontSize","_getLegendItemAt","hitBox","lh","handleEvent","onLeave","isListened","hoveredItem","sameItem","plugin_legend","_element","afterEvent","ci","_padding","textSize","_drawArgs","fontOpts","plugin_title","titleBlock","createTitle","WeakMap","plugin_subtitle","positioners","average","eventPosition","nearestElement","tp","pushOrConcat","toPush","splitNewlines","String","createTooltipItem","getTooltipSize","body","footer","bodyFont","footerFont","titleLineCount","footerLineCount","bodyLineItemCount","combinedBodyLength","bodyItem","beforeBody","afterBody","titleSpacing","titleMarginBottom","displayColors","bodySpacing","footerMarginTop","footerSpacing","widthPadding","maxLineWidth","determineXAlign","yAlign","chartWidth","xAlign","caret","caretSize","caretPadding","doesNotFitWithAlign","determineAlignment","determineYAlign","getBackgroundPoint","alignment","paddingAndSize","alignX","alignY","getAlignedX","getBeforeAfterBodyLines","overrideCallbacks","opacity","_eventPosition","_size","_cachedAnimations","_tooltipItems","dataPoints","caretX","caretY","labelColors","labelPointStyles","labelTextColors","tooltipItems","getTitle","beforeTitle","afterTitle","getBeforeBody","getBody","bodyItems","scoped","beforeLabel","afterLabel","getAfterBody","getFooter","beforeFooter","afterFooter","_createItems","itemSort","labelColor","labelPointStyle","labelTextColor","positionAndSize","backgroundPoint","external","drawCaret","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","titleColor","_drawColorBox","colorX","rtlColorX","yOffSet","colorY","multiKeyBackground","outerX","innerX","strokeRect","drawBody","bodyAlign","bodyLineHeight","xLinePadding","fillLineOfText","bodyAlignForCalculation","textColor","bodyColor","drawFooter","footerAlign","footerColor","tooltipSize","quadraticCurveTo","_updateAnimationTarget","animX","animY","_willRender","hasTooltipContent","globalAlpha","positionChanged","_positionChanged","_ignoreReplayEvents","plugin_tooltip","afterInit","afterDraw","labelCount","_startValue","_valueRange","_addedLabels","added","addedLabels","addIfString","lastIndexOf","findOrAddLabel","relativeLabelSize","minSpacing","LinearScaleBase","_endValue","handleTickRangeOptions","setMin","setMax","minSign","maxSign","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","getTickLimit","maxTicks","stepSize","computeTickLimit","generationOptions","dataRange","precision","maxDigits","includeBounds","maxSpaces","rmin","rmax","countDefined","niceMin","niceMax","numSpaces","rounded","almostWhole","decimalPlaces","generateTicks$1","isMajor","tickVal","_zero","exp","endExp","endSignificand","significand","lastTick","generateTicks","getTickBackdropHeight","determineLimits","updateLimits","limits","hLimits","vLimits","getTextAlignForAngle","yForAngle","pathRadiusLine","getPointPosition","drawingArea","_pointLabels","_pointLabelItems","valueCount","pointLabelOpts","additionalAngle","centerPointLabels","getPointLabelContext","plFont","setCenterPoint","extra","outerDistance","pointLabelPosition","buildPointLabelItems","fitWithPointLabels","leftMovement","rightMovement","topMovement","bottomMovement","scalingFactor","getValueForDistanceFromCenter","scaledDistance","pointLabel","createPointLabelContext","distanceFromCenter","getBasePosition","getPointLabelPosition","backdropLeft","backdropTop","backdropWidth","backdropHeight","drawPointLabels","gridLineOpts","drawRadiusLine","animate","INTERVALS","millisecond","common","steps","second","minute","hour","day","week","month","quarter","year","UNITS","sorter","adapter","_adapter","parser","isoWeekday","_parseOpts","determineUnitForAutoTicks","minUnit","capacity","interval","addTick","time","timestamps","ticksFromTimestamps","majorUnit","setMajorTicks","_unit","_majorUnit","_offsets","_normalized","displayFormats","normalized","_applyBounds","_getLabelBounds","getLabelTimestamps","timeOpts","_generate","_filterBetween","_getLabelCapacity","determineUnitForFormatting","determineMajorUnit","initOffsets","offsetAfterAutoskip","getDecimalForValue","hasWeekday","getDataTimestamps","tooltipFormat","datetime","_tickFormatFunction","minorFormat","majorFormat","offsets","_getLabelSize","ticksOpts","tickLabelWidth","cosRotation","sinRotation","tickFontSize","exampleTime","exampleLabel","prevSource","nextSource","prevTarget","nextTarget","span","_table","_minPos","_tableRange","_getTimestampsForTable","buildLookupTable","registerables","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition"],"sourceRoot":""} \ No newline at end of file