diff --git a/beta/benchart.js b/beta/benchart.js new file mode 100644 index 0000000..163e605 --- /dev/null +++ b/beta/benchart.js @@ -0,0 +1,3 @@ +/*! For license information please see benchart.js.LICENSE.txt */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.benchart=e():t.benchart=e()}(this,(()=>(()=>{var t={868:function(t,e,n){var i,o,r;o=[e,n(744)],void 0===(r="function"==typeof(i=function(t,e){"use strict";var n,i=e.$_$.s5,o=e.$_$.a5,r=e.$_$.c7;function s(){n=this,u.call(this)}function a(){return null==n&&new s,n}function u(){}function l(t){this.ui_1=t}function c(t){this.yi_1=t}function h(t){this.vi_1=t}return s.prototype=Object.create(u.prototype),s.prototype.constructor=s,s.$metadata$=i("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,e){},u.prototype.atomicfu$Trace$append$3=function(t,e,n){},u.prototype.atomicfu$Trace$append$4=function(t,e,n,i){},u.$metadata$=o("TraceBase"),l.prototype.wi=function(t){this.ui_1=t},l.prototype.xi=function(){return this.ui_1},l.prototype.atomicfu$compareAndSet=function(t,e){return this.ui_1===t&&(this.ui_1=e,!0)},l.prototype.atomicfu$getAndSet=function(t){var e=this.ui_1;return this.ui_1=t,e},l.prototype.toString=function(){return r(this.ui_1)},l.$metadata$=o("AtomicRef"),Object.defineProperty(l.prototype,"kotlinx$atomicfu$value",{configurable:!0,get:l.prototype.xi,set:l.prototype.wi}),c.prototype.zi=function(t){this.yi_1=t},c.prototype.xi=function(){return this.yi_1},c.prototype.atomicfu$compareAndSet=function(t,e){return this.yi_1===t&&(this.yi_1=e,!0)},c.prototype.atomicfu$getAndSet=function(t){var e=this.yi_1;return this.yi_1=t,e},c.prototype.toString=function(){return this.yi_1.toString()},c.$metadata$=o("AtomicBoolean"),Object.defineProperty(c.prototype,"kotlinx$atomicfu$value",{configurable:!0,get:c.prototype.xi,set:c.prototype.zi}),h.prototype.aj=function(t){this.vi_1=t},h.prototype.xi=function(){return this.vi_1},h.prototype.atomicfu$compareAndSet=function(t,e){return this.vi_1===t&&(this.vi_1=e,!0)},h.prototype.atomicfu$getAndSet=function(t){var e=this.vi_1;return this.vi_1=t,e},h.prototype.atomicfu$getAndIncrement=function(){var t=this.vi_1;return this.vi_1=t+1|0,t},h.prototype.atomicfu$getAndDecrement=function(){var t=this.vi_1;return this.vi_1=t-1|0,t},h.prototype.atomicfu$getAndAdd=function(t){var e=this.vi_1;return this.vi_1=this.vi_1+t|0,e},h.prototype.atomicfu$addAndGet=function(t){return this.vi_1=this.vi_1+t|0,this.vi_1},h.prototype.atomicfu$incrementAndGet=function(){var t=this;return t.vi_1=t.vi_1+1|0,t.vi_1},h.prototype.atomicfu$decrementAndGet=function(){var t=this;return t.vi_1=t.vi_1-1|0,t.vi_1},h.prototype.toString=function(){return this.vi_1.toString()},h.$metadata$=o("AtomicInt"),Object.defineProperty(h.prototype,"kotlinx$atomicfu$value",{configurable:!0,get:h.prototype.xi,set:h.prototype.aj}),o("ReentrantLock"),t.$_$=t.$_$||{},t.$_$.a=function(t){return function(t,e){return new c(t)}(t,a())},t.$_$.b=function(t){return function(t,e){return new l(t)}(t,a())},t.$_$.c=function(t){return function(t,e){return new h(t)}(t,a())},t})?i.apply(e,o):i)||(t.exports=r)},769:function(t,e,n){var i,o;i=[e,n(744),n(646)],void 0===(o=function(t,e,n){"use strict";var i,o,r,s,a,u,l,c,h,f,p,_,d,v,y,m,g,b,w,$,x,k,j,C,S,z,M,O,q,P,A,E,D,I,T,L,R,N,F,B,H,V,W,U,K,Y,G,X,J,Z,Q,tt,et,nt,it,ot,rt,st,at,ut,lt,ct,ht,ft,pt,_t,dt,vt,yt,mt,gt,bt=Math.imul,wt=e.$_$.l5,$t=e.$_$.x1,xt=e.$_$.t5,kt=e.$_$.a5,jt=e.$_$.n,Ct=e.$_$.p6,St=e.$_$.p5,zt=e.$_$.g1,Mt=e.$_$.z6,Ot=e.$_$.a7,qt=e.$_$.w1,Pt=e.$_$.p1,At=e.$_$.u6,Et=e.$_$.b7,Dt=e.$_$.e4,It=n.$_$.n,Tt=n.$_$.i,Lt=e.$_$.m4,Rt=e.$_$.l4,Nt=e.$_$.n4,Ft=e.$_$.q4,Bt=e.$_$.o5,Ht=e.$_$.c5,Vt=e.$_$.t,Wt=e.$_$.f,Ut=e.$_$.p,Kt=e.$_$.j5,Yt=e.$_$.k6,Gt=e.$_$.b3,Xt=e.$_$.y3,Jt=e.$_$.t3,Zt=e.$_$.j6,Qt=e.$_$.m,te=e.$_$.d7,ee=e.$_$.a4,ne=e.$_$.s5,ie=e.$_$.e1,oe=e.$_$.w6,re=e.$_$.f3,se=e.$_$.b5,ae=e.$_$.z5,ue=e.$_$.h5,le=e.$_$.m5,ce=e.$_$.o2,he=e.$_$.v6,fe=e.$_$.r,pe=e.$_$.p3,_e=n.$_$.k,de=n.$_$.e,ve=n.$_$.f,ye=e.$_$.c7,me=e.$_$.p4,ge=e.$_$.o4,be=e.$_$.i5,we=e.$_$.e2,$e=e.$_$.q2,xe=e.$_$.r4,ke=n.$_$.l,je=e.$_$.c4,Ce=n.$_$.c,Se=e.$_$.o,ze=e.$_$.w3,Me=e.$_$.i3,Oe=n.$_$.h,qe=e.$_$.w,Pe=e.$_$.b4,Ae=e.$_$.s6,Ee=n.$_$.o,De=n.$_$.b,Ie=e.$_$.e,Te=e.$_$.m6,Le=n.$_$.g,Re=n.$_$.m,Ne=e.$_$.s,Fe=e.$_$.r3,Be=(e.$_$.s4,e.$_$.t4,e.$_$.r2),He=e.$_$.d3,Ve=e.$_$.e5,We=e.$_$.u1,Ue=e.$_$.g2,Ke=e.$_$.f2,Ye=e.$_$.g3,Ge=e.$_$.l3,Xe=e.$_$.b1,Je=e.$_$.z2,Ze=e.$_$.y2,Qe=e.$_$.l2,tn=e.$_$.n2,en=e.$_$.i2,nn=e.$_$.k2,on=e.$_$.j1,rn=e.$_$.h2,sn=e.$_$.z1,an=e.$_$.u5,un=e.$_$.x4,ln=e.$_$.b2,cn=e.$_$.f1,hn=e.$_$.m2,fn=e.$_$.j3,pn=e.$_$.k3,_n=e.$_$.a2,dn=e.$_$.j2,vn=e.$_$.c2,yn=e.$_$.y1,mn=e.$_$.w5,gn=e.$_$.v5,bn=e.$_$.t6,wn=e.$_$.c1,$n=e.$_$.i1,xn=e.$_$.a1,kn=e.$_$.q,jn=e.$_$.i6,Cn=e.$_$.n5,Sn=e.$_$.v2,zn=e.$_$.b,Mn=e.$_$.s3,On=e.$_$.a6,qn=e.$_$.k5,Pn=e.$_$.v1,An=e.$_$.v3,En=e.$_$.c6,Dn=e.$_$.w4,In=e.$_$.u2,Tn=e.$_$.m1,Ln=e.$_$.d,Rn=e.$_$.h6,Nn=e.$_$.o1,Fn=e.$_$.x;function Bn(){}function Hn(){}function Vn(){return qr()}function Wn(){}function Un(t,e){this.tv_1=t,this.uv_1=e,this.vv_1=0}function Kn(t){this.wv_1=t;var e;e=jt(),this.xv_1=e,this.yv_1=this.wv_1,this.zv_1=8}function Yn(t,e){this.cw_1=t,this.dw_1=e}function Gn(t){this.gw_1=t,this.hw_1=Wa(),this.iw_1=null;var e;e=jt(),this.jw_1=e;var n;n=jt(),this.kw_1=n,this.lw_1=8}function Xn(){return Yo(),i}function Jn(){return Yo(),s}function Zn(){return Yo(),l}function Qn(){return Yo(),c}function ti(){}function ei(t,e){Yo();for(var n=t.sx();n.d();){var i=n.e(),o=i;if(null!=o&&Bt(o,xs))e.ww(i);else if(o instanceof Tr){var r=i.ux_1;null!=r&&(r.ny_1=!0,i.zn())}}t.vy()}function ni(t){var e;t.c10_1=t.yy_1.e11(),oi(t,100),t.xy_1.g11(),t.qz_1=t.xy_1.h11(),t.tz_1.k11((e=t.sz_1,Yo(),e?1:0)),t.sz_1=t.qw(t.qz_1),t.g10_1=null,t.lz_1||(t.lz_1=t.xy_1.l11());var n=function(t,e,n){return function(t,e){return Yo(),t.t2(e instanceof vr?e:Ct())}(n,e)?function(t,e){Yo();var n=t.z2(e instanceof vr?e:Ct()),i=null==n?null:n.l2();return null==i||St(i)?i:Ct()}(n,e):e.h12_1.l2()}(0,(Ah(),_t),t.qz_1);null==n||(n.a(t.yy_1),t.xy_1.m11(n),$t()),oi(t,t.xy_1.n11())}function ii(t){si(t),t.xy_1.o11(),si(t),function(t){t.o10_1&&(Pi(t,!1,Jn(),2),t.o10_1=!1)}(t),function(t){Ai(t),t.dz_1.h()||qo(xt("Start/end imbalance")),t.q10_1.h()||qo(xt("Missed recording an endGroup()")),Hi(t)}(t),t.c10_1.a12(),t.mz_1=!1}function oi(t,e){return ci(t,e,null,!1,null)}function ri(t,e,n){return ci(t,e,n,!1,null)}function si(t){return fi(t,!1)}function ai(t,e){if(null==e){var n=t.g10_1;if(null!=n)return n}if(t.j10_1&&t.f10_1)for(var i=t.e10_1.px_1;i>0;){if(202===t.e10_1.f12(i)&&Ht(t.e10_1.e12(i),Qn())){var o=t.e10_1.d12(i),r=null!=o&&Bt(o,_u)?o:Ct();return t.g10_1=r,r}i=t.e10_1.g12(i)}if(t.c10_1.f()>0)for(var s=e,a=null==s?t.c10_1.w11_1:s;a>0;){if(202===t.c10_1.f12(a)&&Ht(t.c10_1.e12(a),Qn())){var u,l=t.rz_1.z2(a);if(null==l){var c=t.c10_1.d12(a);u=null!=c&&Bt(c,_u)?c:Ct()}else u=l;var h=u;return t.g10_1=h,h}a=t.c10_1.g12(a)}return t.g10_1=t.qz_1,t.qz_1}function ui(t){go(t.e10_1.qx_1),t.d10_1=new ia;var e,n=t,i=t.d10_1.j12();i.a12(),e=i,n.e10_1=e}function li(t,e,n){var i;e?t.c10_1.n12():(null!=n&&t.c10_1.l12()!==n&&Pi(t,!1,(i=n,function(t,e,n){return e.c16(i),$t()}),2),t.c10_1.m12())}function ci(t,e,n,i,o){if(Si(t),Ki(t,e,n,o),t.j10_1){t.c10_1.o12();var r=t.e10_1.ox_1;if(i)t.e10_1.r12(po().tw_1);else if(null!=o){var s=n;t.e10_1.q12(e,null==s?po().tw_1:s,o)}else{var a=n;t.e10_1.p12(e,null==a?po().tw_1:a)}var u=t.ez_1;if(null==u);else{var l=new Pa(e,-1,_i(0,r),-1,0);u.y12(l,t.fz_1-u.t12_1|0),u.z12(l)}return hi(t,i,null),$t()}null==t.ez_1&&(t.c10_1.a13()===e&&Ht(n,t.c10_1.c13())?li(t,i,o):t.ez_1=new jo(t.c10_1.b13(),t.fz_1));var c,h=t.ez_1,f=null;if(null!=h){var p=h.d13(e,n);if(null!=p){h.z12(p);var _=p.i13_1;t.fz_1=h.l13(p)+h.t12_1|0;var d=h.m13(p),v=d-h.u12_1|0;h.n13(d,h.u12_1),Fi(t,_),t.c10_1.o13(_),v>0&&Oi(t,(c=v,function(t,e,n){return e.d16(c),$t()})),li(t,i,o)}else{t.c10_1.o12(),t.j10_1=!0,t.g10_1=null,function(t){t.e10_1.qx_1&&(t.e10_1=t.d10_1.j12(),t.e10_1.k12(),t.f10_1=!1,t.g10_1=null)}(t),t.e10_1.e13();var y=t.e10_1.ox_1;if(i)t.e10_1.r12(po().tw_1);else if(null!=o){var m=n;t.e10_1.q12(e,null==m?po().tw_1:m,o)}else{var g=n;t.e10_1.p12(e,null==g?po().tw_1:g)}t.h10_1=t.e10_1.f13(y);var b=new Pa(e,-1,_i(0,y),-1,0);h.y12(b,t.fz_1-h.t12_1|0),h.z12(b),f=new jo(jt(),i?0:t.fz_1)}}hi(t,i,f)}function hi(t,e,n){t.dz_1.p13(t.ez_1),t.ez_1=n,t.gz_1.k11(t.fz_1),e&&(t.fz_1=0),t.iz_1.k11(t.hz_1),t.hz_1=0}function fi(t,e){if(t.j10_1){var n=t.e10_1.px_1;Gi(t,t.e10_1.f12(n),t.e10_1.e12(n),t.e10_1.d12(n))}else{var i=t.c10_1.w11_1;Gi(t,t.c10_1.f12(i),t.c10_1.e12(i),t.c10_1.d12(i))}var o=t.hz_1,r=t.ez_1;if(null!=r&&r.s12_1.f()>0){for(var s=r.s12_1,a=r.r13(),u=function(t){var e=kn(t.f()),n=0,i=t.f()-1|0;if(n<=i)do{var o=n;n=n+1|0;var r=t.g(o);e.a(r)}while(n<=i);return e}(a),l=Vt(),c=0,h=a.f(),f=0,p=s.f(),_=0;f0&&(Fi(t,t.c10_1.w13()),t.c10_1.k12())}for(var g=t.fz_1;!t.c10_1.x13();){var b=t.c10_1.u11_1;Ni(t);var w=t.c10_1.c12();Vi(t,g,w),So(t.oz_1,b,t.c10_1.u11_1)}var $=t.j10_1;if($){e&&(function(t){t.i10_1.a(t.r10_1.q13())}(t),o=1),t.c10_1.z13();var x=t.e10_1.px_1;if(t.e10_1.a14(),!t.c10_1.c14()){var k=_i(0,x);t.e10_1.b14(),t.e10_1.a12(),function(t,e){if(t.i10_1.h())Oi(t,(i=t.d10_1,o=e,function(t,e,n){return e.e13(),e.x16(i,o.w16(i)),e.b14(),$t()}));else{var n=Xt(t.i10_1);t.i10_1.f7(),Ai(t),Di(t),Oi(t,function(t,e,n){return function(i,o,r){var s=t.j12();try{var a=0,u=e.f()-1|0;if(a<=u){do{var l=a;a=a+1|0,e.g(l)(i,s,r)}while(a<=u);$t()}}finally{s.a12()}return o.e13(),o.x16(t,n.w16(t)),o.b14(),$t()}}(t.d10_1,n,e))}var i,o}(t,t.h10_1),t.j10_1=!1,t.yy_1.oo()||(mi(t,k,0),di(t,k,o))}}else{e&&Ti(t),function(t){var e=t.c10_1.w11_1;t.q10_1.b15(-1)<=e||qo(xt("Missed recording an endGroup")),t.q10_1.b15(-1)===e&&(t.q10_1.q13(),Pi(t,!1,Jn(),2))}(t);var j=t.c10_1.w11_1;o!==yi(t,j)&&di(t,j,o),e&&(o=1),t.c10_1.y13(),Ui(t)}!function(t,e,n){var i=t.dz_1.q13();if(null!=i&&!n){var o=i,r=o.u12_1;o.u12_1=r+1|0}t.ez_1=i,t.fz_1=t.gz_1.q13()+e|0,t.hz_1=t.iz_1.q13()+e|0}(t,o,$)}function pi(t){var e=t.a10_1;t.a10_1=!0;for(var n=!1,i=t.c10_1.w11_1,o=i+t.c10_1.t13(i)|0,r=t.fz_1,s=t.k10_1,a=t.hz_1,u=i,l=zo(t.oz_1,t.c10_1.u11_1,o);null!=l;){var c=l.e14_1;if(Mo(t.oz_1,c),l.j14()){n=!0,t.c10_1.o13(c);var h=t.c10_1.u11_1;gi(t,u,h,i),u=h,t.fz_1=vi(t,c,h,i,r),t.k10_1=wi(t,t.c10_1.g12(h),i,s),t.g10_1=null,l.d14_1.h14(t),t.g10_1=null,t.c10_1.i14(i)}else t.zz_1.p13(l.d14_1),l.d14_1.g14(),t.zz_1.q13();l=zo(t.oz_1,t.c10_1.u11_1,o)}if(n){gi(t,u,i,i),t.c10_1.k12();var f=yi(t,i);t.fz_1=r+f|0,t.hz_1=a+f|0}else $i(t);t.k10_1=s,t.a10_1=e}function _i(t,e){return-2-e|0}function di(t,e,n){var i=yi(t,e);if(i!==n){var o=n-i|0,r=e,s=t.dz_1.f()-1|0;t:for(;-1!==r;){var a=yi(t,r)+o|0;mi(t,r,a);var u=s;if(0<=u)e:do{var l=u;u=u+-1|0;var c=t.dz_1.k14(l);if(null!=c&&c.s13(r,a)){s=l-1|0;break e}}while(0<=u);if(r<0)r=t.c10_1.w11_1;else{if(t.c10_1.l14(r))break t;r=t.c10_1.g12(r)}}}}function vi(t,e,n,i,o){for(var r=t.c10_1.g12(n);r!==i&&!t.c10_1.l14(r);)r=t.c10_1.g12(r);var s=t.c10_1.l14(r)?0:o;if(r===n)return s;var a=r,u=s+(yi(t,r)-t.c10_1.m14(n)|0)|0;t:for(;s=0)return r}return t.c10_1.m14(e)}function mi(t,e,n){if(yi(t,e)!==n)if(e<0){var i,o=t.kz_1;if(null==o){var r=Ut();t.kz_1=r,i=r}else i=o;i.n3(e,n)}else{var s,a=t.jz_1;if(null==a){var u=new Int32Array(t.c10_1.f());Wt(u,-1,0,0,6,null),t.jz_1=u,s=u}else s=a;s[e]=n}}function gi(t,e,n,i){for(var o=t.c10_1,r=function(t,e,n,i){if(Yo(),e===n)return e;if(e===i||n===i)return i;if(t.g12(e)===n)return n;if(t.g12(n)===e)return e;if(t.g12(e)===t.g12(n))return t.g12(e);var o=e,r=n,s=To(t,e,i),a=To(t,n,i),u=s-a|0,l=0;if(l0&&s!==r;)o.l14(s)&&Ti(t),s=o.g12(s);bi(t,n,r)}function bi(t,e,n){var i,o;e>0&&e!==n&&(bi(t,t.c10_1.g12(e),n),t.c10_1.l14(e)&&Ii(t,(i=t.c10_1,o=e,i.y14(o))))}function wi(t,e,n,i){var o;if(e===n)o=i;else{var r,s=function(t,e,n){var i;if(t.n14(n)){var o,r=t.e12(n);if(null==r)o=null;else{var s=r;o=s instanceof Yt?r.r1_1:s instanceof xo?Ar():Kt(r)}i=null==o?0:o}else{var a,u=t.f12(n);if(207===u){var l,c=t.d12(n);a=null==(l=null==c?null:Ht(c,po().tw_1)?u:Kt(c))?u:l}else a=u;i=a}return i}(t.c10_1,0,e);if(s===Ar())r=s;else{var a=wi(t,t.c10_1.g12(e),n,i);r=Mt(a,3)^s}o=r}return o}function $i(t){t.hz_1=t.c10_1.o14(),t.c10_1.k12()}function xi(t,e,n,i,o){t.s14(Ar(),e),t.qw(i);var r=t.k10_1;t.k10_1=Ar(),t.j10_1&&t.e10_1.t14(0,1,null);var s,a,u,l=!t.j10_1&&!Ht(t.c10_1.l12(),n);if(l){var c=t.rz_1,h=t.c10_1.u11_1;c.n3(h,n)}if(ci(t,202,Qn(),!1,n),t.j10_1&&!o){t.f10_1=!0,t.g10_1=null;var f=t.e10_1.f13(t.e10_1.g12(t.e10_1.px_1)),p=t.d10_1,_=Gt(),d=new mo(e,i,t.cz_1,p,f,_,function(t,e,n,i){return 0!=(2&n)&&(e=null),ai(t,e)}(t,null,2));t.xy_1.u14(d)}else{var v=t.sz_1;t.sz_1=l,Hh(t,(s=lc(1378964644,!0,(a=e,u=i,function(t,e){var n=t;return wo(n,"C2821@107760L18:Composer.kt#9igjgp"),2==(11&e)&&n.g16()?(n.k12(),$t()):a.f16_1(u,n,0),$t()})),function(t,e){return s.e16(t,e)})),t.sz_1=v}si(t),t.k10_1=r,t.v14()}function ki(t,e,n,i,o,r){var s=t.p10_1,a=t.a10_1,u=t.fz_1;try{t.p10_1=!1,t.a10_1=!0,t.fz_1=0;var l,c=0,h=o.f()-1|0;if(c<=h)do{var f=c;c=c+1|0;var p=o.g(f),_=p.d9(),d=p.e9();if(null!=d)for(var v=d.c();v.d();){var y=v.e();t.w14(_,y)}else t.w14(_,null)}while(c<=h);if(null==e)l=null;else{var m=i;l=e.x14(n,null==m?-1:m,r)}var g=l;return null==g?r():g}finally{t.p10_1=s,t.a10_1=a,t.fz_1=u}}function ji(t,e,n,i,o,r,s,a){return 0!=(2&s)&&(e=null),0!=(4&s)&&(n=null),0!=(8&s)&&(i=null),0!=(16&s)&&(o=Gt()),ki(t,e,n,i,o,r)}function Ci(t){t.nz_1||qo(xt("A call to createNode(), emitNode() or useNode() expected was not expected")),t.nz_1=!1}function Si(t){!t.nz_1||qo(xt("A call to createNode(), emitNode() or useNode() expected"))}function zi(t,e){t.az_1.a(e)}function Mi(t,e){Ai(t),Di(t),zi(t,e)}function Oi(t,e){(function(t,e,n,i){0!=(2&n)&&(e=!1),Li(t,e)})(t,!1,2),Bi(t),zi(t,e)}function qi(t,e,n){Li(t,e),zi(t,n)}function Pi(t,e,n,i,o){return 0!=(2&i)&&(e=!1),qi(t,e,n)}function Ai(t){var e,n=t.l10_1;n>0&&(t.l10_1=0,zi(t,(e=n,function(t,n,i){var o=0;if(o=0||qo(xt("Tried to seek backward")),o>0&&(zi(t,(n=o,function(t,e,i){return e.v16(n),$t()})),t.n10_1=i)}function Ri(t,e){t.i10_1.a(e)}function Ni(t){(function(t,e){to(t,e,!1,0),Ui(t)})(t,t.c10_1.u11_1),Oi(t,(Yo(),o));var e=t;e.n10_1=e.n10_1+t.c10_1.a15()|0}function Fi(t,e){var n=t.c10_1.u11_1-t.n10_1|0;t.n10_1=e-n|0}function Bi(t){if(t.c10_1.f()>0){var e=t.c10_1,n=e.w11_1;if(t.q10_1.b15(-1)!==n){!t.o10_1&&t.p10_1&&(Pi(t,!1,(Yo(),a),2),t.o10_1=!0);var i=e.f13(n);t.q10_1.k11(n),Pi(t,!1,(o=i,function(t,e,n){return e.y16(o),$t()}),2)}}var o}function Hi(t){t.ez_1=null,t.fz_1=0,t.hz_1=0,t.n10_1=0,t.k10_1=0,t.nz_1=!1,t.o10_1=!1,t.q10_1.f7(),t.zz_1.f7(),function(t){t.jz_1=null,t.kz_1=null}(t)}function Vi(t,e,n){if(n>0)if(e>=0||qo(xt("Invalid remove index "+e)),t.s10_1===e){var i=t;i.v10_1=i.v10_1+n|0}else Ui(t),t.s10_1=e,t.v10_1=n}function Wi(t,e,n,i){if(i>0)if(t.v10_1>0&&t.t10_1===(e-t.v10_1|0)&&t.u10_1===(n-t.v10_1|0)){var o=t;o.v10_1=o.v10_1+i|0}else Ui(t),t.t10_1=e,t.u10_1=n,t.v10_1=i}function Ui(t){var e,n,i=t.v10_1;if(t.v10_1=0,i>0)if(t.s10_1>=0){var o=t.s10_1;t.s10_1=-1,Mi(t,(e=o,n=i,function(t,i,o){return t.rv(e,n),$t()}))}else{var r=t.t10_1;t.t10_1=-1;var s=t.u10_1;t.u10_1=-1,Mi(t,function(t,e,n){return function(i,o,r){return i.sv(t,e,n),$t()}}(r,s,i))}}function Ki(t,e,n,i){null==n?null==i||207!==e||Ht(i,po().tw_1)?Yi(t,e):Yi(t,Kt(i)):Yi(t,n instanceof Yt?n.r1_1:Kt(n))}function Yi(t,e){var n,i=t,o=t.k10_1;n=Mt(o,3),i.k10_1=n^e}function Gi(t,e,n,i){null==n?null==i||207!==e||Ht(i,po().tw_1)?Xi(t,e):Xi(t,Kt(i)):Xi(t,n instanceof Yt?n.r1_1:Kt(n))}function Xi(t,e){var n,i=t,o=t.k10_1^e;n=Ot(o,3),i.k10_1=n}function Ji(t,e,n){!t.a10_1||qo(xt("Reentrant composition is not supported"));t:{var i=Bh().c15("Compose:recompose");try{t.xz_1=Hc(),t.yz_1=t.xz_1.i15(),t.rz_1.f7();var o=0,r=e.l15_1;if(o1&&(_=new Zi(lo),Jt(d,_)),t.fz_1=0;var v=!1;t.a10_1=!0;try{ni(t);var y=t.n15();y!==n&&null!=n&&t.p14(null==n||St(n)?n:Ct()),function(t,e,n){wr();var i=gr().vo();try{var o=gr(),r=gr().vo();o.b1c((null==r?gu():r).a(te(t,e))),n()}finally{gr().b1c(i)}}((m=t,function(t){var e=m,n=e.wz_1;return e.wz_1=n+1|0,$t()}),function(t){return function(e){var n=t,i=n.wz_1;return n.wz_1=i-1|0,$t()}}(t),function(t,e,n){return function(){return null!=t?(ri(e,200,Zn()),Hh(e,t),si(e),$t()):e.mz_1&&null!=n&&!Ht(n,po().tw_1)?(ri(e,200,Zn()),Hh(e,null!=n&&"function"==typeof n?n:Ct()),si(e),$t()):(e.z16(),$t()),$t()}}(n,t,y)),ii(t),v=!0,$t()}finally{t.a10_1=!1,t.oz_1.f7(),v||function(t){Hi(t),t.dz_1.f7(),t.gz_1.f7(),t.iz_1.f7(),t.pz_1.f7(),t.tz_1.f7(),t.rz_1.f7(),t.c10_1.a12(),t.k10_1=0,t.wz_1=0,t.nz_1=!1,t.a10_1=!1,t.mz_1=!1}(t)}break t}finally{Bh().o15(i)}}var m}function Zi(t){this.p15_1=t}function Qi(t,e,n){for(;!t.q15(n);)t.k12(),t.l14(t.px_1)&&e.ov(),t.a14()}function to(t,e,n,i){var o;if(t.c10_1.y15(e)){var r=t.c10_1.e12(e),s=r instanceof xo?r:Ct(),a=t.c10_1.w15(e,0),u=t.c10_1.f13(e),l=e+t.c10_1.t13(e)|0,c=function(t,e,n){Yo();var i=jt(),o=Do(t,e);t:for(;o0&&Vi(t,i,b),y=0}else y=t.c10_1.m14(e);o=y}else if(t.c10_1.v15(e)){for(var w=e+t.c10_1.t13(e)|0,$=e+1|0,x=0;$=0&&!t.l14(n);)n=t.g12(n);var i=0;for(n=n+1|0;n0?new Un(n,t._v):n,s=0,a=e.f()-1|0;if(s<=a){do{var u=s;s=s+1|0,e.g(u)(r,i,o)}while(s<=a);$t()}return $t()}}function oo(t,e){return function(n,i,o){var r=t._v,s=0,a=e.f()-1|0;if(s<=a){do{var u=s;s=s+1|0;var l=e.g(u);Bt(n,Wn)||Ct(),n.qv(r+u|0,l),n.pv(r+u|0,l)}while(s<=a);$t()}return $t()}}function ro(t,e,n){return function(i,o,r){var s,a=t.xy_1.p16(e);null==a?qo("Could not resolve state for movable content"):s=a;var u=s,l=o.s16(1,u.q16_1,1);if(!l.h()){var c=n.j16_1,h=c instanceof ar?c:Ct(),f=0,p=l.f()-1|0;if(f<=p){do{var _=f;f=f+1|0;var d=l.g(_),v=o.t16(d,0),y=v instanceof Tr?v:null;null==y||y.u16(h)}while(f<=p);$t()}}return $t()}}function so(t,e){return function(){return xi(t,e.h16_1,e.n16_1,e.i16_1,!0),$t()}}function ao(t,e){return function(n,i,o){var r=t._v>0?new Un(n,t._v):n,s=0,a=e.f()-1|0;if(s<=a){do{var u=s;s=s+1|0,e.g(u)(r,i,o)}while(s<=a);$t()}return $t()}}function uo(t,e,n){return Bt(t,Wn)||Ct(),Qi(e,t,0),e.a14(),$t()}function lo(t,e){var n,i=t.e14_1;return n=e.e14_1,ee(i,n)}function co(t,e,n,i,o,r,s){this.wy_1=t,this.xy_1=e,this.yy_1=n,this.zy_1=i,this.az_1=o,this.bz_1=r,this.cz_1=s,this.dz_1=new Ha,this.ez_1=null,this.fz_1=0,this.gz_1=new Ba,this.hz_1=0,this.iz_1=new Ba,this.jz_1=null,this.kz_1=null,this.lz_1=!1,this.mz_1=!1,this.nz_1=!1;var a;a=jt(),this.oz_1=a,this.pz_1=new Ba,this.qz_1=mu(),this.rz_1=Ut(),this.sz_1=!1,this.tz_1=new Ba,this.uz_1=!1,this.vz_1=-1,this.wz_1=0,this.xz_1=Hc(),this.yz_1=0,this.zz_1=new Ha,this.a10_1=!1,this.b10_1=!1;var u,l=this.yy_1.e11();l.a12(),u=l,this.c10_1=u,this.d10_1=new ia;var c,h=this.d10_1.j12();h.a12(),c=h,this.e10_1=c,this.f10_1=!1,this.g10_1=null;var f,p,_=this.d10_1.e11();try{p=_.f13(0)}finally{_.a12()}f=p,this.h10_1=f;var d;d=jt(),this.i10_1=d,this.j10_1=!1,this.k10_1=0,this.l10_1=0,this.m10_1=new Ha,this.n10_1=0,this.o10_1=!1,this.p10_1=!0,this.q10_1=new Ba,this.r10_1=new Ha,this.s10_1=-1,this.t10_1=-1,this.u10_1=-1,this.v10_1=0}function ho(){}function fo(){h=this,this.tw_1=new ho}function po(){return null==h&&new fo,h}function _o(){}function vo(){if(v)return $t();v=!0,f=new yo("IGNORED",0),p=new yo("SCHEDULED",1),_=new yo("DEFERRED",2),d=new yo("IMMINENT",3)}function yo(t,e){Yt.call(this,t,e)}function mo(t,e,n,i,o,r,s){this.h16_1=t,this.i16_1=e,this.j16_1=n,this.k16_1=i,this.l16_1=o,this.m16_1=r,this.n16_1=s,this.o16_1=8}function go(t){return Yo(),void(t||qo(xt("Check failed")))}function bo(t){this.q16_1=t,this.r16_1=8}function wo(t,e){Yo(),t.e18(e)}function $o(){}function xo(){}function ko(t){return function(){var e,n=(Yo(),Ut()),i=0,o=t.s12_1.f();if(i=0))throw ie(xt("Invalid start index"));var n;n=jt(),this.v12_1=n;var i,o=0,r=Ut(),s=0,a=this.s12_1.f();if(s=0?t.b4(n):null}function Oo(t,e){Yo();var n=jt(),i=t.e11();try{No(i,n,t.s15(e)),$t()}finally{i.a12()}return n}function qo(t){throw Yo(),zt(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 Po(t,e,n){this.y18_1=t,this.z18_1=e,this.a19_1=n}function Ao(t,e,n){Yo();var i,o=t.z2(e);if(null==o){var r=Vt();t.n3(e,r),i=r}else i=o;return i.a(n)}function Eo(t,e){Yo();var n,i=t.z2(e),o=null==i?null:re(i);return null==o?n=null:(function(t,e,n){Yo();var i,o=t.z2(e);null==o?i=null:(o.ga(n),o.h()&&(t.lb(e),$t()),i=$t())}(t,e,o),n=o),n}function Do(t,e){Yo();var n=Io(t,e);return n<0?0|-(n+1|0):n}function Io(t,e){Yo();for(var n=0,i=t.f()-1|0;n<=i;){var o=(n+i|0)>>>1|0,r=t.g(o),s=se(r.e14_1,e);if(s<0)n=o+1|0;else{if(!(s>0))return o;i=o-1|0}}return 0|-(n+1|0)}function To(t,e,n){Yo();for(var i=0,o=e;o>0&&o!==n;)o=t.g12(o),i=i+1|0;return i}function Lo(t){this.p19_1=t}function Ro(t){this.q19_1=t}function No(t,e,n){if(t.l14(n))e.a(t.y14(n));else for(var i=n+1|0,o=n+t.t13(n)|0;i=0)for(var u=ou(s,a).c();u.d();)sr(t,n,i,u.e())}}if(n&&!t.hy_1.h()){var l=t.gy_1,c=0,h=0,f=l.a1a_1;if(h0){if(c!==p){var S=l.x19_1[c];l.x19_1[c]=_,l.x19_1[p]=S}c=c+1|0}}while(h0){if(A!==I){var Y=P.x19_1[A];P.x19_1[A]=T,P.x19_1[I]=Y}A=A+1|0}}while(E0){if(n!==r){var y=e.x19_1[n];e.x19_1[n]=s,e.x19_1[r]=y}n=n+1|0}}while(i=0)for(var o=ou(n,i).c();o.d();){var r=o.e();r.w19(e).equals(Ko())&&t.ly_1.d1a(e,r)}}function nr(t,e){var n=new rr(t.ey_1);try{if(e.h())return $t();t:{var i=Bh().c15("Compose:applyChanges");try{t.by_1.lv();var o=t.fy_1.j12();try{var r=t.by_1,s=0,a=e.f()-1|0;if(s<=a)do{var u=s;s=s+1|0,e.g(u)(r,o,n)}while(s<=a);e.f7(),$t()}finally{o.a12()}t.by_1.mv(),$t();break t}finally{Bh().o15(i)}}if(n.i1a(),n.j1a(),t.ny_1)t:{var l=Bh().c15("Compose:unobserve");try{t.ny_1=!1;var c=t.gy_1,h=0,f=0,p=c.a1a_1;if(f0){if(h!==_){var C=c.x19_1[h];c.x19_1[h]=d,c.x19_1[_]=C}h=h+1|0}}while(f=0)for(var s=ou(o,r).c();s.d();){var a=s.e();if(!t.ly_1.t1a(i,a)&&!a.w19(i).equals(Uo()))if(a.c1a()&&!e)t.hy_1.a(a);else{var u,l=n._v;if(null==l){var c=fe();n._v=c,u=c}else u=l;u.a(a)}}}function ar(t,e,n){this.ay_1=t,this.by_1=e,this.cy_1=new Eh(null),this.dy_1=Wa(),this.ey_1=fe(),this.fy_1=new ia,this.gy_1=new au,this.hy_1=fe(),this.iy_1=new au;var i;i=jt(),this.jy_1=i;var o;o=jt(),this.ky_1=o,this.ly_1=new au,this.my_1=Xa(0,1,null),this.ny_1=!1,this.oy_1=null,this.py_1=0;var r,s=new co(this.by_1,this.ay_1,this.fy_1,this.ey_1,this.jy_1,this.ky_1,this);this.ay_1.u1a(s),r=s,this.qy_1=r,this.ry_1=n;var a=this.ay_1;this.sy_1=a instanceof gs,this.ty_1=!1,this.uy_1=(null==g&&new hr,g).v1a_1}function ur(){}function lr(t,e){var n=t;return wo(n,"C:Composition.kt#9igjgp"),2==(11&e)&&n.g16()&&n.k12(),$t()}function cr(t,e){var n=t;return wo(n,"C:Composition.kt#9igjgp"),2==(11&e)&&n.g16()&&n.k12(),$t()}function hr(){var t;g=this,this.v1a_1=(t=lc(954879418,!1,lr),function(e,n){return t.e16(e,n)}),this.w1a_1=function(t){return function(e,n){return t.e16(e,n)}}(lc(1918065384,!1,cr))}function fr(){}function pr(){b||(b=!0,m=new Object)}function _r(){return $||($=!0,w=mu()),w}function dr(){this.f11_1=0}function vr(t){this.h12_1=new Ka(t)}function yr(t){vr.call(this,t)}function mr(t){yr.call(this,t)}function gr(){return wr(),x}function br(){}function wr(){k||(k=!0,x=new Dh,new Dh)}function $r(t){this.c1c_1=t}function xr(){this.d1c_1=0}function kr(){}function jr(t,e){this.f1c_1=e,this.g1c_1=_e(t),this.h1c_1=null}function Cr(t){this.i1c_1=t,this.j1c_1=null}function Sr(){C||(C=!0,j=new xr)}function zr(t,e){var n;if(e instanceof Yt)n=e.r1_1;else{var i=null==e?null:Kt(e);n=null==i?0:i}return n}function Mr(t,e){this.k1c_1=t,this.l1c_1=e}function Or(){S=this}function qr(){return null==S&&new Or,S}function Pr(){}function Ar(){return z}function Er(t){this.m1c_1=t}function Dr(t,e){t.tx_1=e?32|t.tx_1:-33&t.tx_1}function Ir(t,e){t.tx_1=e?16|t.tx_1:-17&t.tx_1}function Tr(t){this.tx_1=0,this.ux_1=t,this.vx_1=null,this.wx_1=null,this.xx_1=0,this.yx_1=null,this.zx_1=null}function Lr(){}function Rr(){if(D)return $t();D=!0,M=new Kr("ShutDown",0),O=new Kr("ShuttingDown",1),q=new Kr("Inactive",2),P=new Kr("InactivePendingWork",3),A=new Kr("Idle",4),E=new Kr("PendingWork",5)}function Nr(t,e){t:for(;;){var n=t.s1c_1.l2(),i=n.a(e);if(n===i||t.s1c_1.vs(n,i))break t}}function Fr(t,e){t:for(;;){var n=t.s1c_1.l2(),i=n.ga(e);if(n===i||t.s1c_1.vs(n,i))break t}}function Br(t,e){t.f7(),e.y1c_1;var n=e.f1d_1,i=0,o=n.f()-1|0;if(i<=o)do{var r=i;i=i+1|0;var s=n.g(r);t.a(s)}while(i<=o);e.f1d_1.f7(),$t()}function Hr(t,e,n,i,o,r){return function(s){var a;if(t.v1c_1.mw())t:{var u=Bh().c15("Recomposer:animation");try{t.v1c_1.nw(s),Pc().o1d(),$t();break t}finally{Bh().o15(u)}}t:{var l=Bh().c15("Recomposer:recompose");try{t.y1c_1,Jr(t);var c=t.d1d_1,h=0,f=c.f()-1|0;if(h<=f)do{var p=h;h=h+1|0;var _=c.g(p);e.a(_)}while(h<=f);t.d1d_1.f7(),$t();var d=new iu,v=new iu;e:for(;!e.h()||!n.h();){try{var y=0,m=e.f()-1|0;if(y<=m)do{var g=y;y=y+1|0;var b=e.g(g);v.h19(b);var w=es(t,b,d);null==w||(i.a(w),$t())}while(y<=m)}finally{e.f7()}if(d.z14()){t.y1c_1;var $=t.b1d_1,x=0,k=$.f()-1|0;if(x<=k){do{var j=x;x=x+1|0;var C=$.g(j);!v.k3(C)&&C.a1b(d)&&e.a(C)}while(x<=k);$t()}}if(e.h())for(Br(n,t);!n.h();){var S=ns(t,n,d);$e(o,S),Br(n,t)}}if(!i.h()){var z=t,M=z.u1c_1;z.u1c_1=M.rh();try{$e(r,i);var O=0,q=i.f()-1|0;if(O<=q)do{var P=O;O=O+1|0,i.g(P).j1b()}while(O<=q)}finally{i.f7()}}if(!o.h())try{$e(r,o);for(var A=o.c();A.d();)A.e().k1b()}finally{o.f7()}if(!r.h())try{for(var E=r.c();E.d();)E.e().m17()}finally{r.f7()}(function(t){var e;if(t.y1c_1,t.g1d_1.h())e=Gt();else{var n=Me(t.g1d_1.b3());t.g1d_1.f7();var i=Qt(n.f()),o=0,r=n.f()-1|0;if(o<=r)do{var s=o;o=o+1|0;var a=n.g(s),u=te(a,t.h1d_1.z2(a));i.a(u)}while(o<=r);var l=i;t.h1d_1.f7(),e=l}var c=e,h=0,f=c.f()-1|0;if(h<=f)do{var p=h;h=h+1|0;var _=c.g(p),d=_.d9(),v=_.e9();null!=v&&d.j16_1.i1b(v)}while(h<=f)})(t),t.y1c_1,a=Yr(t);break t}finally{Bh().o15(l)}}return a}}function Vr(t){return function(e,n){var i;t.y1c_1,t.l1d_1.l2().v1(vs())>=0?(t.c1d_1.a(e),i=Yr(t)):i=null;var o,r=i;return null==r||(qt(),o=Pt($t()),r.m4(o),$t()),$t()}}function Wr(t,e,n){this.x1d_1=t,this.y1d_1=e,xe.call(this,n)}function Ur(t,e,n){var i=new Wr(t,e,n),o=function(t,e){return i.a1e(t,e)};return o.$arity=1,o}function Kr(t,e){Yt.call(this,t,e)}function Yr(t){if(t.l1d_1.l2().v1(_s())<=0){t.b1d_1.f7(),t.c1d_1.f7(),t.d1d_1.f7(),t.e1d_1.f7(),t.f1d_1.f7();var e=t.i1d_1;return null==e||e.ul(null,1,null),t.i1d_1=null,null}var n;null==t.z1c_1?(t.c1d_1.f7(),t.d1d_1.f7(),n=t.v1c_1.mw()?(Rr(),P):ds()):n=!!(!!(!t.d1d_1.h()||!t.c1d_1.h())||!t.e1d_1.h())||!t.f1d_1.h()||t.j1d_1>0||t.v1c_1.mw()?ys():vs();var i,o=n;if(t.l1d_1.us(o),o.equals(ys())){var r=t.i1d_1;t.i1d_1=null,i=r}else i=null;return i}function Gr(t){var e;if(t.y1c_1,t.k1d_1){var n;t:{for(var i=t.w1c_1.tn().c();i.d();)if(i.e().ij()){n=!0;break t}n=!1}e=n}else e=!0;return e}function Xr(t){this.c1e_1=t}function Jr(t){if(!t.c1d_1.h()){var e=t.c1d_1,n=0,i=e.f()-1|0;if(n<=i)do{var o=n;n=n+1|0;var r=e.g(o),s=t.b1d_1,a=0,u=s.f()-1|0;if(a<=u)do{var l=a;a=a+1|0,s.g(l).y1a(r)}while(a<=u)}while(n<=i);if(t.c1d_1.f7(),null!=Yr(t))throw zt("called outside of runRecomposeAndApplyChanges")}}function Zr(t,e){t.y1c_1;var n=t.a1d_1;if(null!=n)throw n;if(t.l1d_1.l2().v1(_s())<=0)throw zt("Recomposer shut down");if(null!=t.z1c_1)throw zt("Recomposer already running");t.z1c_1=e,Yr(t)}function Qr(t){return t.y1c_1,!(t.c1d_1.h()&&t.d1d_1.h())||t.v1c_1.mw()}function ts(t,e,n){var i,o,r=function(t){var e=t.l7(qr());if(null==e)throw zt(xt("A MonotonicFrameClock is not available in this CoroutineContext. Callers should supply an appropriate MonotonicFrameClock using withContext."));return e}(n.o4());return Ce(t.v1c_1,(i=new fs(t,e,r,null),o=function(t,e){return i.a1e(t,e)},o.$arity=1,o),n)}function es(t,e,n){if(e.n1a()||e.x1a())return null;var i,o,r;t:{var s=Pc().p1e(is(0,e),os(0,e,n));try{var a;e:{var u=s.q1e();try{!0===(null==n?null:n.z14())&&e.g18((o=n,r=e,function(){for(var t=o.c();t.d();){var e=t.e();r.f1b(e)}return $t()})),a=e.g1b();break e}finally{s.r1e(u)}}i=a;break t}finally{rs(0,s)}}return i?e:null}function ns(t,e,n){var i=Se(e.f()),o=0,r=e.f()-1|0;if(o<=r)do{var s=o;o=o+1|0;var a,u=e.g(s),l=u.j16_1,c=i.z2(l);if(null==c){var h=jt();i.n3(l,h),a=h}else a=c;a.a(u)}while(o<=r);for(var f=i,p=f.u().c();p.d();){var _=p.e(),d=_.j2(),v=_.l2();go(!d.n1a());t:{var y=Pc().p1e(is(0,d),os(0,d,n));try{e:{var m=y.q1e();try{t.y1c_1;var g=Qt(v.f()),b=0,w=v.f()-1|0;if(b<=w)do{var $=b;b=b+1|0;var x=v.g($),k=te(x,ws(t.g1d_1,x.h16_1));g.a(k)}while(b<=w);var j=g;d.h1b(j),$t();break e}finally{y.r1e(m)}}break t}finally{rs(0,y)}}}return ze(f.a3())}function is(t,e){return n=e,function(t){return n.b1b(t),$t()};var n}function os(t,e,n){return i=e,o=n,function(t){return i.f1b(t),null==o||o.h19(t),$t()};var i,o}function rs(t,e){try{if(e.f1f()instanceof Lc)throw zt(xt("Unsupported concurrent change during composition. A state object was modified by composition as well as being modified outside composition."))}finally{e.um()}}function ss(t){return!t.d1d_1.h()||t.v1c_1.mw()}function as(){I=this,this.s1c_1=Oe(Zl().j1j())}function us(){return null==I&&new as,I}function ls(t,e,n){t.f7(),e.y1c_1;for(var i=e.f1d_1.c();i.d();){var o=i.e();Ht(o.j16_1,n)&&(t.a(o),i.d4())}$t()}function cs(t){return function(e){var n=qe("Recomposer effect job completed",e),i=null,o=(t.y1c_1,t.z1c_1);null!=o?(t.l1d_1.us(_s()),t.k1d_1?null!=t.i1d_1&&(i=t.i1d_1):o.nk(n),t.i1d_1=null,o.ik(function(t,e){return function(n){t.y1c_1;var i,o,r=t,s=e;return null==s?i=null:(null==(o=null==n||n instanceof Pe?null:n)||(Ae(s,o),$t()),i=s),r.a1d_1=i,t.l1d_1.us(ps()),$t(),$t()}}(t,e))):(t.a1d_1=n,t.l1d_1.us(ps()),$t());var r,s=i;return null==s||(qt(),r=Pt($t()),s.m4(r),$t()),$t()}}function hs(t,e){this.o1f_1=t,xe.call(this,e)}function fs(t,e,n,i){this.h1g_1=t,this.i1g_1=e,this.j1g_1=n,xe.call(this,i)}function ps(){return Rr(),M}function _s(){return Rr(),O}function ds(){return Rr(),q}function vs(){return Rr(),A}function ys(){return Rr(),E}function ms(t,e){xe.call(this,e),this.l1e_1=t}function gs(t){var e;us(),dr.call(this),this.u1c_1=new Te(0,0),this.v1c_1=new Gn((e=this,function(){e.y1c_1;var t=Yr(e);if(e.l1d_1.l2().v1(_s())<=0)throw qe("Recomposer shutdown; frame clock awaiter will never resume",e.a1d_1);var n,i=t;return null==i||(qt(),n=Pt($t()),i.m4(n),$t()),$t()}));var n,i=Re(t.l7(Le()));i.ik(cs(this)),n=i,this.w1c_1=n,this.x1c_1=t.s7(this.v1c_1).s7(this.w1c_1),this.y1c_1=Wa(),this.z1c_1=null,this.a1d_1=null;var o;o=jt(),this.b1d_1=o;var r;r=jt(),this.c1d_1=r;var s;s=jt(),this.d1d_1=s;var a;a=jt(),this.e1d_1=a;var u;u=jt(),this.f1d_1=u;var l;l=Ne(),this.g1d_1=l;var c;c=Ne(),this.h1d_1=c,this.i1d_1=null,this.j1d_1=0,this.k1d_1=!1,this.l1d_1=Oe(ds()),this.m1d_1=new Xr(this),this.n1d_1=8}function bs(){}function ws(t,e){$s();var n,i=t.z2(e);if(null==i)n=null;else{var o=Fe(i);i.h()&&t.lb(e),n=o}return n}function $s(){T||(T=!0,new Object,new Object)}function xs(){}function ks(t,e,n,i,o,r){var s=e.t13(n),a=n+s|0,u=Ws(e,n),l=Ws(e,a),c=l-u|0,h=function(t,e){return e>=0&&$a(t.yw_1,Bs(t,e))}(e,n);Is(i,s),Ts(i,c,i.ox_1),e.bx_1=0;V&&(e.m12(),e.v16(H-e.ox_1|0),e.m12()),e.v16(n-e.ox_1|0);var W=e.vy();V&&(e.k12(),e.a14(),e.k12(),e.a14()),F=W}else{var U=Ls(e,n,s);Rs(e,u,c,n-1|0),F=U}!F||qo(xt("Unexpectedly removed anchors"));var K=i;return K.kx_1=K.kx_1+(ra(f,p)?1:sa(f,p))|0,r&&(i.ox_1=p+s|0,i.ex_1=g+c|0),h&&Ms(i,w),B}function js(t,e,n,i,o){var r=t.jx_1>0;t.nx_1.k11(t.kx_1);var s,a=t;if(r){Is(t,1);var u=t.ox_1,l=Bs(t,u),c=!(n===po().tw_1),h=!(i||o===po().tw_1);(function(t,e,n,i,o,r,s,a){var u=i?1073741824:0,l=o?536870912:0,c=r?268435456:0,h=bt(e,5);t[h+0|0]=n,t[h+1|0]=u|l|c,t[h+2|0]=s,t[h+3|0]=0,t[h+4|0]=a})(t.yw_1,l,e,i,c,h,t.px_1,t.ex_1),t.fx_1=t.ex_1;var f=((i?1:0)+(c?1:0)|0)+(h?1:0)|0;if(f>0){Ts(t,f,u);var p=t.zw_1,_=t.ex_1;if(i){var d=_;_=d+1|0,p[d]=o}if(c){var v=_;_=v+1|0,p[v]=n}if(h){var y=_;_=y+1|0,p[y]=o}t.ex_1=_}t.kx_1=0;var m=u+1|0;t.px_1=u,t.ox_1=m,s=m}else{var g=t.px_1;t.lx_1.k11(g),qs(t);var b=t.ox_1,w=Bs(t,b);Ht(o,po().tw_1)||(i?t.u1g(o):t.c16(o)),t.ex_1=Ks(t.yw_1,t,w),t.fx_1=Us(t.yw_1,t,Bs(t,t.ox_1+1|0)),t.kx_1=sa(t.yw_1,w),t.px_1=b,t.ox_1=b+1|0,s=b+ca(t.yw_1,w)|0}a.dx_1=s}function Cs(){L=this}function Ss(){return null==L&&new Cs,L}function zs(t){var e=t.rx_1;if(null==e);else{for(;e.z14();)Os(t,e.w1g(),e);$t()}}function Ms(t,e){if(e>=0){var n,i=t.rx_1;if(null==i){var o=function(t,e,n,i){var o;return 0!=(1&e)&&(o=jt(),$t(),t=o),_a.call(i,t),i}(null,1,0,Object.create(_a.prototype));t.rx_1=o,n=o}else n=i;n.x1g(e)}}function Os(t,e,n){var i,o,r,s=Bs(t,e),a=function(t,e){for(var n=e+1|0,i=e+t.t13(e)|0;n=0&&n.x1g(u)}}function qs(t){t.mx_1.k11((Fs(t)-t.cx_1|0)-t.dx_1|0)}function Ps(t){var e=(Fs(t)-t.cx_1|0)-t.mx_1.q13()|0;return t.dx_1=e,e}function As(t,e,n,i){for(var o=Qs(t,e,t.bx_1),r=i;r=0))break t;l.m15_1=0|-(o-c|0),u=u+1|0}}}(t,i,e),n>0){var o=t.yw_1,r=bt(e,5),s=bt(n,5),a=bt(i,5);e=0||qo(xt("Unexpected anchor value, expected a positive anchor")),ya(t.yw_1,h,0|-(1+(c-_|0)|0)),(h=h+1|0)===p&&(h=h+t.cx_1|0)}else for(var d=Bs(t,r),v=Bs(t,l);d0){var n=t.ox_1;Es(t,n);var i=t.bx_1,o=t.cx_1,r=t.yw_1.length/5|0,s=r-o|0;if(o=i&&(t.dx_1=b+e|0),t.bx_1=i+e|0,t.cx_1=o-e|0;var w=Js(0,s>0?Ws(t,n+e|0):0,t.ix_1=i&&(t.ix_1=j+e|0)}}function Ts(t,e,n){if(e>0){Ds(t,t.ex_1,n);var i=t.gx_1,o=t.hx_1;if(o=i&&(t.fx_1=g+e|0),t.gx_1=i+e|0,t.hx_1=o-e|0}}function Ls(t,e,n){var i;if(n>0){var o=!1,r=t.ax_1;Es(t,e),!r.h()&&(o=function(t,e,n){var i=t.cx_1,o=e+n|0,r=Fs(t)-i|0,s=ma(t.ax_1,e+n|0,r),a=s>=t.ax_1.f()?s-1|0:s,u=0,l=a+1|0;t:for(;a>=0;){var c=t.ax_1.g(a),h=t.s15(c);if(!(h>=e))break t;he){var u,l=t,c=a-n|0;u=Math.max(e,c),l.ix_1=u}if(t.dx_1>=t.bx_1){var h=t;h.dx_1=h.dx_1-n|0}(function(t,e){return e>=0&&wa(t.yw_1,Bs(t,e))})(t,t.px_1)&&Ms(t,t.px_1),i=o}else i=!1;return i}function Rs(t,e,n,i){if(n>0){var o=t.hx_1;Ds(t,e+n|0,i),t.gx_1=e,t.hx_1=o+n|0,He(t.zw_1,null,e,e+n|0);var r=t.fx_1;r>=e&&(t.fx_1=r-n|0)}}function Ns(t,e,n){var i=Bs(t,e);i=Fs(e)?e.zw_1.length-e.hx_1|0:Zs(0,ga(t,n),e.hx_1,e.zw_1.length)}function Ks(t,e,n){return n>=Fs(e)?e.zw_1.length-e.hx_1|0:Zs(0,xa(t,n),e.hx_1,e.zw_1.length)}function Ys(t,e,n,i){ya(t,n,Js(0,i,e.gx_1,e.hx_1,e.zw_1.length))}function Gs(t,e,n){return Us(t,e,n)}function Xs(t,e,n){return Us(t,e,n)+ka(function(t,e){return t[bt(e,5)+1|0]}(t,n)>>29)|0}function Js(t,e,n,i,o){return e>n?0|-(1+((o-i|0)-e|0)|0):e}function Zs(t,e,n,i){return e<0?1+((i-n|0)+e|0)|0:e}function Qs(t,e,n){return e-2?e:(t.f()+e|0)- -2|0}function ea(t,e,n){this.z1g_1=e,this.a1h_1=n,this.y1g_1=t}function na(t){Ss(),this.xw_1=t,this.yw_1=this.xw_1.w10_1,this.zw_1=this.xw_1.y10_1,this.ax_1=this.xw_1.d11_1,this.bx_1=this.xw_1.x10_1,this.cx_1=(this.yw_1.length/5|0)-this.xw_1.x10_1|0,this.dx_1=this.xw_1.x10_1,this.ex_1=0,this.fx_1=0,this.gx_1=this.xw_1.z10_1,this.hx_1=this.zw_1.length-this.xw_1.z10_1|0,this.ix_1=this.xw_1.x10_1,this.jx_1=0,this.kx_1=0,this.lx_1=new Ba,this.mx_1=new Ba,this.nx_1=new Ba,this.ox_1=0,this.px_1=-1,this.qx_1=!1,this.rx_1=null}function ia(){this.w10_1=new Int32Array(0),this.x10_1=0;for(var t=0,e=Ve(Array(0),null);t<0;){null,e[t]=null,t=t+1|0}this.y10_1=e,this.z10_1=0,this.a11_1=0,this.b11_1=!1,this.c11_1=0;var n;n=jt(),this.d11_1=n}function oa(t){this.m15_1=t}function ra(t,e){return!(0==(1073741824&t[bt(e,5)+1|0]))}function sa(t,e){return 67108863&t[bt(e,5)+1|0]}function aa(t,e){return t[bt(e,5)]}function ua(t,e){return!(0==(536870912&t[bt(e,5)+1|0]))}function la(t,e){var n=bt(e,5);return t[n+4|0]+ka(t[n+1|0]>>30)|0}function ca(t,e){return t[bt(e,5)+3|0]}function ha(t,e){return!(0==(268435456&t[bt(e,5)+1|0]))}function fa(t,e,n){if(!(n>=0))throw ie(xt("Failed requirement."));t[bt(e,5)+3|0]=n}function pa(t,e,n){if(!(n>=0&&n<67108863))throw ie(xt("Failed requirement."));t[bt(e,5)+1|0]=-67108864&t[bt(e,5)+1|0]|n}function _a(t){this.v1g_1=t}function da(t,e,n){t[bt(e,5)+2|0]=n}function va(t,e){return t[bt(e,5)+2|0]}function ya(t,e,n){t[bt(e,5)+4|0]=n}function ma(t,e,n){var i=Aa(t,e,n);return i>=0?i:0|-(i+1|0)}function ga(t,e){return t[bt(e,5)+4|0]}function ba(t,e){return!(0==(134217728&t[bt(e,5)+1|0]))}function wa(t,e){return!(0==(67108864&t[bt(e,5)+1|0]))}function $a(t,e){return!(0==(201326592&t[bt(e,5)+1|0]))}function xa(t,e){var n=bt(e,5);return t[n+4|0]+ka(t[n+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,e,n){return ra(t,n)?e.s11_1[function(t,e){return t[bt(e,5)+4|0]}(t,n)]:po().tw_1}function Ca(t,e,n){return ha(t,n)?e.s11_1[function(t,e){var n=bt(e,5);return n>=t.length?t.length:t[n+4|0]+ka(t[n+1|0]>>29)|0}(t,n)]:po().tw_1}function Sa(t,e,n){return ua(t,n)?e.s11_1[la(t,n)]:null}function za(t){this.p11_1=t,this.q11_1=this.p11_1.w10_1,this.r11_1=this.p11_1.x10_1,this.s11_1=this.p11_1.y10_1,this.t11_1=this.p11_1.z10_1,this.u11_1=0,this.v11_1=this.r11_1,this.w11_1=-1,this.x11_1=0,this.y11_1=0,this.z11_1=0}function Ma(t){if(t.q1h_1.c11_1!==t.t1h_1)throw Xe()}function Oa(t,e){this.u1h_1=t,this.v1h_1=e}function qa(t,e,n){if(this.q1h_1=t,this.r1h_1=n,this.s1h_1=e,this.t1h_1=this.q1h_1.c11_1,this.q1h_1.b11_1)throw Xe()}function Pa(t,e,n,i,o){this.g13_1=t,this.h13_1=e,this.i13_1=n,this.j13_1=i,this.k13_1=o}function Aa(t,e,n){return function(t,e,n){for(var i=0,o=t.f()-1|0;i<=o;){var r=(i+o|0)>>>1|0,s=t.g(r).m15_1,a=se(s<0?n+s|0:s,e);if(a<0)i=r+1|0;else{if(!(a>0))return r;o=r-1|0}}return 0|-(i+1|0)}(t,e,n)}function Ea(){}function Da(){var t=(null==R&&new Ia,R);return Bt(t,Ea)?t:Ct()}function Ia(){R=this}function Ta(){}function La(){}function Ra(t,e){return function(t,e){return Nh(),new Fa(t,e)}(t,e)}function Na(t){Fc.call(this),this.d1i_1=t}function Fa(t,e){this.l1i_1=e,this.m1i_1=new Na(t)}function Ba(){this.i11_1=new Int32Array(10),this.j11_1=0}function Ha(){this.b12_1=jt()}function Va(){}function Wa(){return new Va}function Ua(t){return ue("current",1,ae,(function(t){return Ua(t)}),null),t.i12_1.l2()}function Ka(t){this.i12_1=oe(t)}function Ya(t,e,n,i){var o=e-1|0;if(0<=o)t:do{var r=o;o=o+-1|0;var s=t.o1c_1[r];if(s===n)return r;if(Ih(s)!==i)break t}while(0<=o);var a=e+1|0,u=t.n1c_1;if(a>>1|0,s=t.j15_1[r],a=Ih(s);if(an))return e===s?r:Za(t,r,e,n);o=r-1|0}}return 0|-(i+1|0)}function Za(t,e,n,i){var o=e-1|0;if(0<=o)t:do{var r=o;o=o+-1|0;var s=t.j15_1[r];if(s===n)return r;if(Ih(s)!==i)break t}while(0<=o);var a=e+1|0,u=t.l15_1;if(a>>1|0,s=t.g(r),a=Ih(s);if(ao))return s===e?r:eu(t,r,e,o);i=r-1|0}}return 0|-(n+1|0)}function eu(t,e,n,i){var o=e-1|0;if(0<=o)t:do{var r=o;o=o+-1|0;var s=t.g19_1[r];if(s===n)return r;if(Ih(s)!==i)break t}while(0<=o);var a=e+1|0,u=t.f19_1;if(a>>1|0,s=he(t.y19_1[t.x19_1[r]]),a=Ih(s);if(an))return e===s?r:su(t,r,e,n);o=r-1|0}}return 0|-(i+1|0)}function su(t,e,n,i){var o=e-1|0;if(0<=o)t:do{var r,s=o;if(o=o+-1|0,(r=he(t.y19_1[t.x19_1[s]]))===n)return s;if(Ih(r)!==i)break t}while(0<=o);var a=e+1|0,u=t.a1a_1;if(a>hl()>1<al()))throw o="Trie-based persistent vector should have at least "+(al()+1|0)+" elements, got "+this.u1j_1,ie(xt(o));this.u1j_1,cl(this.u1j_1),an(this.t1j_1.length,al())}function Au(t){return t.f1k_1<=al()?0:cl(t.f1k_1)}function Eu(t){return e=t.f1k_1,e<=al()?e:e-cl(e)|0;var e}function Du(t,e){if(null==e)return Tu(t);if(function(t,e){return e.length===_l()&&e[_l()-1|0]===t.c1k_1}(t,e))return e;var n=Tu(t),i=an(e.length,al());return Be(e,n,0,0,i),n}function Iu(t,e){var n=_l(),i=Ve(Array(n),null);return i[0]=e,i[_l()-1|0]=t.c1k_1,i}function Tu(t){var e=_l(),n=Ve(Array(e),null);return n[_l()-1|0]=t.c1k_1,n}function Lu(t,e,n,i){var o;if(t.f1k_1>>hl()>1<=0))throw zt(xt("Check failed."));if(0===i)return o.e();var r=Du(t,e),s=fl(n,i),a=s,u=r[s];for(r[a]=Fu(t,null==u||le(u)?u:Ct(),n,i-hl()|0,o);(s=s+1|0)0){var i=(t.n1k_1-1|0)-(n/hl()|0)|0;nl(t,t.k1j_1,i+1|0)}}function ol(t){var e=t.k1j_1&ll(),n=t.o1k_1[t.n1k_1-1|0];return(null!=n&&le(n)?n:Ct())[e]}function rl(t,e,n,i){bu.call(this,e,n),this.n1k_1=i;var o,r=this.n1k_1;o=Ve(Array(r),null),this.o1k_1=o,this.p1k_1=e===n,this.o1k_1[0]=t,nl(this,e-(this.p1k_1?1:0)|0,1)}function sl(){return tl().x1k_1}function al(){return F}function ul(t){var e=Ve(Array(32),null);return e[0]=t,e}function ll(){return B}function cl(t){return-32&(t-1|0)}function hl(){return H}function fl(t,e){return t>>e&31}function pl(t){this.w1j_1=t}function _l(){return V}function dl(){W=this,this.g1j_1=new yl(Wl().z1k_1,0)}function vl(){return null==W&&new dl,W}function yl(t,e){vl(),_n.call(this),this.c1l_1=t,this.d1l_1=e}function ml(t){for(var e=0,n=Ve(Array(8),null);e<8;){var i,o=e;i=new $l,n[o]=i,e=e+1|0}Cl.call(this,t,n)}function gl(t){for(var e=0,n=Ve(Array(8),null);e<8;){var i,o=e;i=new xl,n[o]=i,e=e+1|0}Cl.call(this,t,n)}function bl(t){for(var e=0,n=Ve(Array(8),null);e<8;){var i,o=e;i=new zl,n[o]=i,e=e+1|0}Cl.call(this,t,n)}function wl(){this.r1l_1=Wl().z1k_1.h1l_1,this.s1l_1=0,this.t1l_1=0}function $l(){wl.call(this)}function xl(){wl.call(this)}function kl(t,e){if(t.o1l_1[e].w1l())return e;if(t.o1l_1[e].x1l()){var n=t.o1l_1[e].y1l();return 6===e?t.o1l_1[e+1|0].v1l(n.h1l_1,n.h1l_1.length):t.o1l_1[e+1|0].v1l(n.h1l_1,bt(Kl(),n.g1m())),kl(t,e+1|0)}return-1}function jl(t){if(t.o1l_1[t.p1l_1].w1l())return $t();var e=t.p1l_1;if(0<=e)do{var n=e;e=e+-1|0;var i=kl(t,n);if(-1===i&&t.o1l_1[n].x1l()&&(t.o1l_1[n].z1l(),i=kl(t,n)),-1!==i)return t.p1l_1=i,$t();n>0&&t.o1l_1[n-1|0].z1l(),t.o1l_1[n].v1l(Wl().z1k_1.h1l_1,0)}while(0<=e);t.q1l_1=!1}function Cl(t,e){this.o1l_1=e,this.p1l_1=0,this.q1l_1=!0,this.o1l_1[0].v1l(t.h1l_1,bt(Kl(),t.g1m())),this.p1l_1=0,jl(this)}function Sl(t,e){this.h1m_1=t,this.i1m_1=e}function zl(){wl.call(this)}function Ml(t){vn.call(this),this.m1m_1=t}function Ol(t){yn.call(this),this.n1m_1=t}function ql(t){vn.call(this),this.o1m_1=t}function Pl(t,e,n){return function(t,e,n,i){return Ul.call(i,t,e,n,null),i}(t,e,n,Object.create(Ul.prototype))}function Al(t,e){this.l1l_1=t,this.m1l_1=e}function El(t){return new Al(t,1)}function Dl(t){return new Al(t,0)}function Il(t,e){return!(0==(t.f1l_1&e))}function Tl(t,e){var n=t.h1l_1[e];return null==n||St(n)?n:Ct()}function Ll(t,e){var n=t.h1l_1[e+1|0];return null==n||St(n)?n:Ct()}function Rl(t,e,n,i){var o=i.h1l_1;if(2===o.length&&0===i.f1l_1){if(1===t.h1l_1.length)return i.e1l_1=t.f1l_1,i;var r=t.t1m(n),s=function(t,e,n,i,o){var r=Ze(t,t.length+1|0),s=e+2|0,a=e+1|0,u=t.length;return Be(r,r,s,a,u),Be(r,r,n+2|0,n,e),r[n]=i,r[n+1|0]=o,r}(t.h1l_1,e,r,o[0],o[1]);return Pl(t.e1l_1^n,t.f1l_1^n,s)}var a=Ze(t.h1l_1,t.h1l_1.length);return a[e]=i,Pl(t.e1l_1,t.f1l_1,a)}function Nl(t,e,n){if(1===t.h1l_1.length)return null;var i=function(t,e){var n=t.length-1|0,i=Ve(Array(n),null);Be(t,i,0,0,e);var o=e+1|0,r=t.length;return Be(t,i,e,o,r),i}(t.h1l_1,e);return Pl(t.e1l_1,t.f1l_1^n,i)}function Fl(t,e,n,i,o,r,s,a){var u=Tl(t,e),l=null==u?null:Kt(u),c=Bl(t,null==l?0:l,u,Ll(t,e),i,o,r,s+5|0,a),h=t.u1m(n)+1|0;return function(t,e,n,i){var o=n-2|0,r=1+(t.length-2|0)|0,s=Ve(Array(r),null);Be(t,s,0,0,e),Be(t,s,e,e+2|0,n),s[o]=i;var a=o+1|0,u=t.length;return Be(t,s,a,n,u),s}(t.h1l_1,e,h,c)}function Bl(t,e,n,i,o,r,s,a,u){if(a>30)return new Ul(0,0,[n,i,r,s],u);var l=Gl(e,a),c=Gl(o,a);return l!==c?new Ul(1<>e&31}function Xl(t,e){var n=t.length-2|0,i=Ve(Array(n),null);Be(t,i,0,0,e);var o=e+2|0,r=t.length;return Be(t,i,e,o,r),i}function Jl(){Y=this,this.i1j_1=new Ql(rc(),rc(),vl().h1j())}function Zl(){return null==Y&&new Jl,Y}function Ql(t,e,n){Zl(),vn.call(this),this.x1m_1=t,this.y1m_1=e,this.z1m_1=n}function tc(){return t=Object.create(nc.prototype),nc.call(t,rc(),rc()),t;var t}function ec(t){return function(t,e){return nc.call(e,t,rc()),e}(t,Object.create(nc.prototype))}function nc(t,e){this.a1n_1=t,this.b1n_1=e}function ic(t,e){this.g1n_1=t,this.h1n_1=e,this.i1n_1=0}function oc(){G=this}function rc(){return null==G&&new oc,G}function sc(){X=this}function ac(){return null==X&&new sc,X}function uc(){}function lc(t,e,n){var i=new Uh(t,e);return i.o1n(n),i}function cc(t,e){return null==t||!!(t instanceof Tr&&e instanceof Tr)&&(!(t.k1a()&&!Ht(t,e))||Ht(t.vx_1,e.vx_1))}function hc(t){return pc(2,t)}function fc(t){return pc(1,t)}function pc(t,e){return t<<(bt(e%10|0,3)+1|0)}function _c(t,e,n,i,o,r,s){return function(t,e,n,i,o,r,s,a){e.b(i);var u=0,l=0,c=t.f()-1|0;if(l<=c)t:do{var h=l;l=l+1|0;var f=t.g(h);if((u=u+1|0)>1&&e.b(n),!(r<0||u<=r))break t;dc(e,f,a)}while(l<=c);return r>=0&&u>r&&e.b(s),e.b(o),e}(t,xn(),e,n,i,o,r,s).toString()}function dc(t,e,n){null!=n?t.b(n(e)):null==e||Cn(e)?t.b(e):e instanceof jn?t.h8(e.j1_1):t.b(ye(e))}function vc(){return hh(),J}function yc(){return hh(),Z}function mc(){return hh(),Q}function gc(t){hh(),tt=t}function bc(){return hh(),tt}function wc(t){hh(),et=t}function $c(){return hh(),et}function xc(){return hh(),nt}function kc(){return hh(),it}function jc(){return hh(),ot}function Cc(){return hh(),rt}function Sc(){return hh(),st}function zc(){}function Mc(t){this.p1n_1=t}function Oc(t){this.q1n_1=t}function qc(){at=this}function Pc(){return null==at&&new qc,at}function Ac(t,e){Pc(),this.d15_1=e,this.e15_1=t,this.f15_1=!1,this.g15_1=0!==t?function(t,e){hh();var n=e.c1q(t);return mc(),xc().i1q(n)}(t,this.u1n()):-1,this.h15_1=8}function Ec(){}function Dc(t,e,n,i){Ac.call(this,t,e),this.x1e_1=n,this.y1e_1=i,this.z1e_1=null,this.a1f_1=vh().r1o_1,this.b1f_1=new Int32Array(0),this.c1f_1=1,this.d1f_1=!1,this.e1f_1=8}function Ic(){ut=this,Rc.call(this),this.i1p_1=0}function Tc(){return null==ut&&new Ic,ut}function Lc(t){Rc.call(this),this.k1p_1=t,this.l1p_1=8}function Rc(){this.m1p_1=0}function Nc(t,e){mc();var n,i,o,r=jc().h()?null:Xt(jc());if(null==r)i=null;else{var s=Mn(r);i=null==s?(o=r,function(t){var e=0,n=o.f()-1|0;if(e<=n){do{var i=e;e=e+1|0,o.g(i)(t)}while(e<=n);$t()}return $t()}):s}n=i,Dc.call(this,t,e,null,n)}function Fc(){this.g1i_1=Hc().i15(),this.h1i_1=null,this.i1i_1=8}function Bc(t){hh(),xc().j1q(t)}function Hc(){hh();var t=yc().vo();return null==t?Cc().vo():t}function Vc(t){hh();var e=Cc().vo(),n=(mc(),Qc(e,t)),i=e.t1n();if(null!=i){mc();var o=Xt(kc()),r=0,s=o.f()-1|0;if(r<=s)do{var a=r;r=r+1|0,o.g(a)(i,e)}while(r<=s)}return n}function Wc(){return hh(),Vc(ch)}function Uc(t){t.y1q_1||(t.y1q_1=!0,t.x1q_1.w1o(t))}function Kc(t,e,n,i,o){Dc.call(this,t,e,n,i),this.x1q_1=o,this.y1q_1=!1,this.x1q_1.x1o(this)}function Yc(t,e,n){hh();var i=t,o=e;if(o0;){var r=((o+1|0)>>1)-1|0;if(!(n[r]>i))break t;ph(t,r,o),o=r}}function ph(t,e,n){var i=t.e1q_1,o=t.f1q_1,r=t.g1q_1,s=i[e];i[e]=i[n],i[n]=s,s=o[e],o[e]=o[n],o[n]=s,r[o[e]]=e,r[o[n]]=n}function _h(){this.d1q_1=0,this.e1q_1=new Int32Array(16),this.f1q_1=new Int32Array(16);for(var t=0,e=new Int32Array(16);t<16;){var n;n=t+1|0,e[t]=n,t=t+1|0}this.g1q_1=e,this.h1q_1=0}function dh(){ct=this,this.r1o_1=new mh(new Te(0,0),new Te(0,0),0,null)}function vh(){return null==ct&&new dh,ct}function yh(t,e){this.j1r_1=t,xe.call(this,e)}function mh(t,e,n,i){vh(),this.i1o_1=t,this.j1o_1=e,this.k1o_1=n,this.l1o_1=i}function gh(t,e){for(var n=0,i=t.length-1|0;n<=i;){var o=(n+i|0)>>>1|0,r=t[o];if(e>r)n=o+1|0;else{if(!(e0||qo(xt("OffsetApplier up called with no corresponding down"));var t=this.vv_1;this.vv_1=t-1|0,this.tv_1.ov()},Un.prototype.pv=function(t,e){this.tv_1.pv(t+(0===this.vv_1?this.uv_1:0)|0,e)},Un.prototype.qv=function(t,e){this.tv_1.qv(t+(0===this.vv_1?this.uv_1:0)|0,e)},Un.prototype.rv=function(t,e){this.tv_1.rv(t+(0===this.vv_1?this.uv_1:0)|0,e)},Un.prototype.sv=function(t,e,n){var i=0===this.vv_1?this.uv_1:0;this.tv_1.sv(t+i|0,e+i|0,n)},Un.$metadata$=kt("OffsetApplier",[Wn]),Kn.prototype.aw=function(t){this.yv_1=t},Kn.prototype.kv=function(){return this.yv_1},Kn.prototype.bw=function(t){this.xv_1.a(this.kv()),this.aw(t)},Kn.prototype.nv=function(t){return this.bw(null==t||St(t)?t:Ct())},Kn.prototype.ov=function(){if(this.xv_1.h())throw zt(xt("Check failed."));this.aw(this.xv_1.b4(this.xv_1.f()-1|0))},Kn.$metadata$=kt("AbstractApplier",[Wn]),Yn.prototype.ew=function(){return this.cw_1},Yn.prototype.it=function(){return this.dw_1},Yn.prototype.fw=function(t){var e,n;try{var i;qt(),i=this.cw_1(t),n=Pt(i)}catch(t){if(!(t instanceof Error))throw t;qt(),n=Pt(At(t))}e=n,this.dw_1.m4(e)},Yn.$metadata$=kt("FrameAwaiter"),Gn.prototype.mw=function(){return this.hw_1,!this.jw_1.h()},Gn.prototype.nw=function(t){this.hw_1;var e=this.jw_1;this.jw_1=this.kw_1,this.kw_1=e;var n=0,i=e.f();if(n0},co.prototype.e17=function(){return this.d10_1},co.prototype.f17=function(){return this.xy_1.g17()},co.prototype.pw=function(t){return ci(this,t,null,!1,null)},co.prototype.uw=function(){return si(this)},co.prototype.h17=function(){return ci(this,-127,null,!1,null)},co.prototype.i17=function(){si(this);var t=this.j17();null!=t&&t.r13()&&t.k17(!0)},co.prototype.l17=function(){var t;if(this.sz_1)t=!0;else{var e=this.j17();t=!0===(null==e?null:e.l17())}return t},co.prototype.s14=function(t,e){return ci(this,t,e,!1,null)},co.prototype.v14=function(){return si(this)},co.prototype.m17=function(){this.rz_1.f7()},co.prototype.n17=function(){return this.j10_1},co.prototype.g16=function(){var t;if(this.j10_1||this.uz_1||this.sz_1)t=!1;else{var e=this.j17();t=!1===(null==e?null:e.o17())}return!!t&&!this.mz_1},co.prototype.n12=function(){ci(this,this.j10_1?125:this.uz_1?125===this.c10_1.a13()?126:125:126===this.c10_1.a13()?126:125,null,!0,null),this.nz_1=!0},co.prototype.p17=function(t){Ci(this),this.j10_1||qo(xt("createNode() can only be called when inserting"));var e,n,i,o,r,s=this.gz_1.q17(),a=this.e10_1.f13(this.e10_1.px_1),u=this.hz_1;this.hz_1=u+1|0,Ri(this,(i=t,o=a,r=s,function(t,e,n){var s=i();return e.z15(o,s),(Bt(t,Wn)?t:Ct()).pv(r,s),t.nv(s),$t()})),e=this,n=function(t,e){return function(n,i,o){var r=i.a16(t);return n.ov(),(Bt(n,Wn)?n:Ct()).qv(e,r),$t()}}(a,s),e.r10_1.p13(n)},co.prototype.r17=function(){var t;Ci(this),!this.j10_1||qo(xt("useNode() called while inserting")),Ii(this,(t=this.c10_1).y14(t.w11_1))},co.prototype.s17=function(){return fi(this,!0)},co.prototype.t17=function(t,e){var n,i,o=(n=e,i=t,function(t,e,o){var r=t.kv();return n(null==r||St(r)?r:Ct(),i),$t()});this.j10_1?Ri(this,o):Mi(this,o)},co.prototype.n15=function(){var t;if(this.j10_1)Si(this),t=po().tw_1;else{var e=this.c10_1.e();t=this.uz_1?po().tw_1:e}return t},co.prototype.qw=function(t){var e;return Ht(this.n15(),t)?e=!1:(this.p14(t),e=!0),e},co.prototype.u17=function(t){var e=this.n15();return(null==e||"boolean"!=typeof e||t!==e)&&(this.p14(t),!0)},co.prototype.p14=function(t){if(this.j10_1)this.e10_1.w17(t),null!=t&&Bt(t,xs)&&(zi(this,(n=t,function(t,e,i){return i.vw(n),$t()})),this.zy_1.a(t));else{var e=this.c10_1.v17()-1|0;null!=t&&Bt(t,xs)&&this.zy_1.a(t),qi(this,!0,function(t,e){return function(n,i,o){null!=t&&Bt(t,xs)&&(o.vw(t),$t());var r=i.b16(e,t);if(null!=r&&Bt(r,xs))o.ww(r),$t();else if(r instanceof Tr){var s=r.ux_1;null!=s&&(r.zn(),s.ny_1=!0,$t())}return $t()}}(t,e))}var n},co.prototype.j17=function(){var t=this.zz_1;return 0===this.wz_1&&t.z14()?t.q17():null},co.prototype.w14=function(t,e){var n=t.vx_1;if(null==n)return!1;var i=n.w16(this.yy_1);return!!(this.a10_1&&i>=this.c10_1.u11_1)&&(function(t,e,n,i){Yo();var o=Io(t,e);if(o<0){var r,s=0|-(o+1|0),a=i;if(null==a)r=null;else{var u=new iu;u.h19(a),r=u}t.va(s,new Co(n,e,r))}else if(null==i)t.g(o).f14_1=null;else{var l=t.g(o).f14_1;null==l||l.h19(i)}}(this.oz_1,i,t,e),!0)},co.prototype.z16=function(){if(this.oz_1.h())(r=o=this).hz_1=r.hz_1+o.c10_1.c12()|0;else{var t=this.c10_1,e=t.a13(),n=t.c13(),i=t.l12();Ki(this,e,n,i),li(this,t.t15(),null),pi(this),t.y13(),Gi(this,e,n,i)}var o,r},co.prototype.k12=function(){0===this.hz_1||qo(xt("No nodes can be emitted before calling skipAndEndGroup"));var t=this.j17();null==t||t.x17(),this.oz_1.h()?$i(this):pi(this)},co.prototype.y17=function(t){return ci(this,t,null,!1,null),function(t){if(t.j10_1){var e=t.cz_1,n=new Tr(e instanceof ar?e:Ct());t.zz_1.p13(n),t.p14(n),n.r14(t.yz_1)}else{var i,o=Mo(t.oz_1,t.c10_1.w11_1),r=t.c10_1.e();if(Ht(r,po().tw_1)){var s=t.cz_1,a=new Tr(s instanceof ar?s:Ct());t.p14(a),i=a}else i=r instanceof Tr?r:Ct();var u=i;u.q14(!(null==o)),t.zz_1.p13(u),u.r14(t.yz_1)}}(this),this},co.prototype.z17=function(){var t=this.zz_1.z14()?this.zz_1.q13():null;null==t||t.q14(!1);var e,n,i,o=null==t?null:t.a18(this.yz_1);if(null==o||(zi(this,(n=o,i=this,function(t,e,o){return n(i.cz_1),$t()})),$t()),null==t||t.c18()||!t.r13()&&!this.lz_1)e=null;else{if(null==t.vx_1){var r,s=t;r=this.j10_1?this.e10_1.f13(this.e10_1.px_1):this.c10_1.f13(this.c10_1.w11_1),s.vx_1=r}t.b18(!1),e=t}var a=e;return fi(this,!1),a},co.prototype.d18=function(t){t:{var e=this.bz_1,n=this.az_1;try{this.az_1=e,zi(this,(Yo(),u));var i=0,o=t.f()-1|0;if(i<=o)do{var s=i;i=i+1|0;var a=t.g(s),l=a.d9(),c=a.e9(),h=l.l16_1,f=l.k16_1.s15(h),p={_v:0};if(Ai(this),zi(this,eo(p,h)),null==c){var _=l.k16_1;Ht(_,this.d10_1)&&ui(this);var d=l.k16_1.e11();try{d.o13(f),this.n10_1=f;var v=jt();ji(this,null,null,null,null,no(this,v,d,l),30),!v.h()&&(zi(this,io(p,v)),$t())}finally{d.a12()}}else{var y=Oo(c.k16_1,c.l16_1);if(!y.h()){zi(this,oo(p,y));var m=this.yy_1.s15(h);mi(this,m,yi(this,m)+y.f()|0)}zi(this,ro(this,c,l));var g=c.k16_1,b=g.e11();try{e:{var w=this.c10_1,$=this.jz_1;this.jz_1=null;try{this.c10_1=b;var x=g.s15(c.l16_1);b.o13(x),this.n10_1=x;var k,j=jt();n:{var C=this.az_1;try{this.az_1=j;var S=b.u11_1;ki(this,c.j16_1,l.j16_1,S,c.m16_1,so(this,l));break n}finally{this.az_1=C}}!j.h()&&(zi(this,ao(p,j)),k=$t()),k;break e}finally{this.c10_1=w,this.jz_1=$}}}finally{b.a12()}}zi(this,(Yo(),r))}while(i<=o);zi(this,uo),this.n10_1=0,$t();break t}finally{this.az_1=n}}Hi(this)},co.prototype.e18=function(t){this.j10_1&&this.e10_1.f18(t)},co.prototype.g18=function(t){!this.a10_1||qo(xt("Preparing a composition while composing is not supported")),this.a10_1=!0;try{t()}finally{this.a10_1=!1}},co.prototype.h18=function(t){return this.az_1.h()||qo(xt("Expected applyChanges() to have been called")),!(!t.z14()&&this.oz_1.h()&&!this.mz_1||(Ji(this,t,null),this.az_1.h()))},co.prototype.i18=function(){return this.j17()},co.prototype.rw=function(){return this.n15()},co.prototype.sw=function(t){return this.p14(t)},co.prototype.j18=function(t){var e=t instanceof Tr?t:null;null==e||e.k18(!0)},co.prototype.l18=function(t,e){this.az_1.h()||qo(xt("Expected applyChanges() to have been called")),Ji(this,t,e)},co.$metadata$=kt("ComposerImpl",[_o]),ho.prototype.toString=function(){return"Empty"},ho.$metadata$=kt(),fo.prototype.m18=function(){return this.tw_1},fo.$metadata$=ne("Companion"),_o.$metadata$=wt("Composer"),yo.$metadata$=kt("InvalidationResult",void 0,void 0,void 0,void 0,Yt.prototype),mo.prototype.n18=function(){return this.h16_1},mo.prototype.o18=function(){return this.i16_1},mo.prototype.p18=function(){return this.j16_1},mo.prototype.q18=function(){return this.k16_1},mo.prototype.r18=function(){return this.l16_1},mo.prototype.s18=function(){return this.m16_1},mo.prototype.t18=function(){return this.n16_1},mo.$metadata$=kt("MovableContentStateReference"),bo.prototype.q18=function(){return this.q16_1},bo.$metadata$=kt("MovableContentState"),$o.$metadata$=wt("ScopeUpdateScope"),xo.$metadata$=kt("MovableContent"),jo.prototype.v18=function(){return this.s12_1},jo.prototype.w18=function(){return this.t12_1},jo.prototype.x18=function(){return ue("keyMap",1,ae,(function(t){return t.x18()}),null),this.x12_1.l2()},jo.prototype.d13=function(t,e){var n=null!=e?new Mr(t,e):t;return Eo(this.x18(),n)},jo.prototype.z12=function(t){return this.v12_1.a(t)},jo.prototype.r13=function(){return this.v12_1},jo.prototype.n13=function(t,e){if(t>e)for(var n=this.w12_1.b3().c();n.d();){var i=n.e(),o=i.y18_1;o===t?i.y18_1=e:e<=o&&ot)for(var r=this.w12_1.b3().c();r.d();){var s=r.e(),a=s.y18_1;a===t?s.y18_1=e:(t+1|0)<=a&&ae)for(var i=this.w12_1.b3().c();i.d();){var o=i.e(),r=o.z18_1;t<=r&&r<(t+n|0)?o.z18_1=e+(r-t|0)|0:e<=r&&rt)for(var s=this.w12_1.b3().c();s.d();){var a=s.e(),u=a.z18_1;t<=u&&u<(t+n|0)?a.z18_1=e+(u-t|0)|0:(t+1|0)<=u&&u=i&&!Ht(s,n)){var a=s.z18_1+o|0;a>=0&&(s.z18_1=a)}}return!0}return!1},jo.prototype.m13=function(t){var e=this.w12_1.z2(t.i13_1),n=null==e?null:e.y18_1;return null==n?-1:n},jo.prototype.l13=function(t){var e=this.w12_1.z2(t.i13_1),n=null==e?null:e.z18_1;return null==n?-1:n},jo.prototype.u13=function(t){var e=this.w12_1.z2(t.i13_1),n=null==e?null:e.a19_1;return null==n?t.j13_1:n},jo.$metadata$=kt("Pending"),Co.prototype.b19=function(){return this.d14_1},Co.prototype.c19=function(){return this.e14_1},Co.prototype.d19=function(){return this.f14_1},Co.prototype.j14=function(){return this.d14_1.e19(this.f14_1)},Co.$metadata$=kt("Invalidation"),Po.prototype.i19=function(t){this.y18_1=t},Po.prototype.j19=function(){return this.y18_1},Po.prototype.k19=function(t){this.z18_1=t},Po.prototype.l19=function(){return this.z18_1},Po.$metadata$=kt("GroupInfo"),Lo.prototype.toString=function(){return"Updater(composer="+this.p19_1+")"},Lo.prototype.hashCode=function(){return t=this.p19_1,Kt(t);var t},Lo.prototype.equals=function(t){return function(t,e){if(!(e instanceof Lo))return!1;var n=e instanceof Lo?e.p19_1:Ct();return!!Ht(t,n)}(this.p19_1,t)},Lo.$metadata$=kt("Updater"),Ro.prototype.toString=function(){return"SkippableUpdater(composer="+this.q19_1+")"},Ro.prototype.hashCode=function(){return t=this.q19_1,Kt(t);var t},Ro.prototype.equals=function(t){return function(t,e){if(!(e instanceof Ro))return!1;var n=e instanceof Ro?e.q19_1:Ct();return!!Ht(t,n)}(this.q19_1,t)},Ro.$metadata$=kt("SkippableUpdater"),rr.prototype.vw=function(t){var e=this.g1a_1.h2(t);e>=0?(this.g1a_1.b4(e),this.e1a_1.ga(t)):this.f1a_1.a(t)},rr.prototype.ww=function(t){var e=this.f1a_1.h2(t);e>=0?(this.f1a_1.b4(e),this.e1a_1.ga(t)):this.g1a_1.a(t)},rr.prototype.i1a=function(){if(!this.g1a_1.h())t:{var t=Bh().c15("Compose:onForgotten");try{var e=this.g1a_1.f()-1|0;if(0<=e){do{var n=e;e=e+-1|0;var i=this.g1a_1.g(n);this.e1a_1.i(i)||i.q1a()}while(0<=e);$t()}break t}finally{Bh().o15(t)}}if(!this.f1a_1.h())t:{var o=Bh().c15("Compose:onRemembered");try{var r=this.f1a_1,s=0,a=r.f()-1|0;if(s<=a){do{var u=s;s=s+1|0;var l=r.g(u);this.e1a_1.ga(l),l.r1a()}while(s<=a);$t()}break t}finally{Bh().o15(o)}}},rr.prototype.j1a=function(){if(!this.h1a_1.h())t:{var t=Bh().c15("Compose:sideeffects");try{var e=this.h1a_1,n=0,i=e.f()-1|0;if(n<=i)do{var o=n;n=n+1|0,e.g(o)()}while(n<=i);this.h1a_1.f7(),$t();break t}finally{Bh().o15(t)}}},rr.prototype.l1a=function(){if(!this.e1a_1.h())t:{var t=Bh().c15("Compose:abandons");try{for(var e=this.e1a_1.c();e.d();){var n=e.e();e.d4(),n.s1a()}$t();break t}finally{Bh().o15(t)}}},rr.$metadata$=kt("RememberEventDispatcher",[ti]),ar.prototype.q18=function(){return this.fy_1},ar.prototype.n1a=function(){return this.qy_1.a10_1},ar.prototype.x1a=function(){return this.ty_1},ar.prototype.y1a=function(t){t:for(;;){var e,n=this.cy_1.vo(),i=n;if(null==i||Ht(i,Go()))e=t;else if(null!=i&&Bt(i,ce))e=[n,t];else{if(null==i||!le(i)){var o="corrupt pendingModifications: "+this.cy_1;throw zt(xt(o))}e=pe(null!=n&&le(n)?n:Ct(),t)}var r=e;if(this.cy_1.z1a(n,r)){null==n&&(this.dy_1,Zo(this),$t());break t}}},ar.prototype.a1b=function(t){for(var e=t.c();e.d();){var n=e.e();if(this.gy_1.b1a(n)||this.iy_1.b1a(n))return!0}return!1},ar.prototype.g18=function(t){return this.qy_1.g18(t)},ar.prototype.b1b=function(t){if(!this.qy_1.d17()){var e=this.qy_1.j17();if(null==e);else{if(e.k18(!0),this.gy_1.d1a(t,e),Bt(t,br)){this.iy_1.c1b(t);for(var n=t.d1b().c();n.d();){var i=n.e();this.iy_1.d1a(i,t)}}e.e1b(t),$t()}}},ar.prototype.f1b=function(t){this.dy_1,er(this,t);var e,n=this.iy_1,i=ru(n,t);if(i>=0){for(var o=ou(n,i).c();o.d();)er(this,o.e());e=$t()}return e},ar.prototype.g1b=function(){this.dy_1,Jo(this);var t,e=!1;try{var n=this.qy_1.h18(or(this));n||Zo(this),e=!0,t=n}finally{!e&&!this.ey_1.h()&&new rr(this.ey_1).l1a()}return t},ar.prototype.h1b=function(t){var e;t:{var n=0,i=t.f()-1|0;if(n<=i)do{var o=n;n=n+1|0;var r=t.g(o);if(!Ht(r.b9_1.j16_1,this)){e=!1;break t}}while(n<=i);e=!0}go(e);var s=!1;try{this.qy_1.d18(t);$t();s=!0}finally{!s&&!this.ey_1.h()&&new rr(this.ey_1).l1a()}},ar.prototype.i1b=function(t){var e=new rr(this.ey_1),n=t.q16_1.j12();try{ei(n,e),$t()}finally{n.a12()}e.i1a()},ar.prototype.j1b=function(){this.dy_1,nr(this,this.jy_1),Zo(this),$t()},ar.prototype.k1b=function(){this.dy_1,!this.ky_1.h()&&(nr(this,this.ky_1),$t())},ar.prototype.m17=function(){this.dy_1,this.qy_1.m17(),!this.ey_1.h()&&(new rr(this.ey_1).l1a(),$t())},ar.prototype.l1b=function(){this.dy_1;for(var t=this.fy_1.y10_1,e=0,n=t.length;e=0){var o;this.oy_1=t instanceof ar?t:Ct(),this.py_1=e;try{o=n()}finally{this.oy_1=null,this.py_1=0}i=o}else i=n();return i},ar.prototype.n1b=function(t,e){t.o1b()&&t.b18(!0);var n=t.vx_1;return null!=n&&this.fy_1.p1b(n)&&n.k1a()&&n.k1a()&&t.q1b()?ir(this,t,n,e):Uo()},ar.prototype.r1b=function(t,e){this.gy_1.t1a(t,e)},ar.prototype.s1b=function(t){this.gy_1.b1a(t)||this.iy_1.c1b(t)},ar.prototype.t1b=function(t){this.uy_1=t},ar.prototype.u1b=function(t){if(this.ty_1)throw zt(xt("The composition is disposed"));this.t1b(t),this.ay_1.v1b(this,this.uy_1)},ar.prototype.w1b=function(t){var e=!1;try{this.dy_1,Jo(this),this.qy_1.l18(or(this),t),$t(),e=!0}finally{!e&&!this.ey_1.h()&&new rr(this.ey_1).l1a()}},ar.$metadata$=kt("CompositionImpl",[ur]),ur.$metadata$=wt("ControlledComposition",[fr]),hr.$metadata$=ne("ComposableSingletons$CompositionKt"),fr.$metadata$=wt("Composition"),dr.prototype.m11=function(t){},dr.prototype.u1a=function(t){},dr.prototype.h11=function(){return _r()},dr.prototype.g11=function(){},dr.prototype.o11=function(){},dr.prototype.p16=function(t){return null},dr.$metadata$=kt("CompositionContext"),vr.$metadata$=kt("CompositionLocal"),yr.$metadata$=kt("ProvidableCompositionLocal",void 0,void 0,void 0,void 0,vr.prototype),mr.$metadata$=kt("StaticProvidableCompositionLocal",void 0,void 0,void 0,void 0,yr.prototype),br.$metadata$=wt("DerivedState",[Ta]),$r.prototype.um=function(){this.c1c_1()},$r.$metadata$=kt(void 0,[kr]),xr.prototype.e1c=function(t){return new $r(t)},xr.$metadata$=kt("DisposableEffectScope"),kr.$metadata$=wt("DisposableEffectResult"),jr.prototype.r1a=function(){var t=this.h1c_1;null==t||de(t,"Old job was still running!",null,2,null),this.h1c_1=ve(this.g1c_1,null,null,this.f1c_1,3,null)},jr.prototype.q1a=function(){var t=this.h1c_1;null==t||t.ok(null,1,null),this.h1c_1=null},jr.prototype.s1a=function(){var t=this.h1c_1;null==t||t.ok(null,1,null),this.h1c_1=null},jr.$metadata$=kt("LaunchedEffectImpl",[xs]),Cr.prototype.r1a=function(){this.j1c_1=this.i1c_1((Sr(),j))},Cr.prototype.q1a=function(){var t=this.j1c_1;null==t||t.um(),this.j1c_1=null},Cr.prototype.s1a=function(){},Cr.$metadata$=kt("DisposableEffectImpl",[xs]),Mr.prototype.hashCode=function(){return bt(zr(0,this.k1c_1),31)+zr(0,this.l1c_1)|0},Mr.prototype.toString=function(){return"JoinedKey(left="+ye(this.k1c_1)+", right="+ye(this.l1c_1)+")"},Mr.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Mr))return!1;var e=t instanceof Mr?t:Ct();return!!Ht(this.k1c_1,e.k1c_1)&&!!Ht(this.l1c_1,e.l1c_1)},Mr.$metadata$=kt("JoinedKey"),Or.$metadata$=ne("Key",[me]),Pr.$metadata$=wt("MonotonicFrameClock",[ge]),Er.prototype.toString=function(){return"OpaqueKey(key="+this.m1c_1+")"},Er.prototype.hashCode=function(){return be(this.m1c_1)},Er.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Er))return!1;var e=t instanceof Er?t:Ct();return this.m1c_1===e.m1c_1},Er.$metadata$=kt("OpaqueKey"),Tr.prototype.r18=function(){return this.vx_1},Tr.prototype.k1a=function(){var t;if(null!=this.ux_1){var e=this.vx_1,n=null==e?null:e.k1a();t=null!=n&&n}else t=!1;return t},Tr.prototype.q1b=function(){return!(null==this.wx_1)},Tr.prototype.k18=function(t){this.tx_1=t?1|this.tx_1:-2&this.tx_1},Tr.prototype.r13=function(){return!(0==(1&this.tx_1))},Tr.prototype.k17=function(t){this.tx_1=t?2|this.tx_1:-3&this.tx_1},Tr.prototype.o1b=function(){return!(0==(2&this.tx_1))},Tr.prototype.b18=function(t){this.tx_1=t?4|this.tx_1:-5&this.tx_1},Tr.prototype.l17=function(){return!(0==(4&this.tx_1))},Tr.prototype.q14=function(t){this.tx_1=t?8|this.tx_1:-9&this.tx_1},Tr.prototype.o17=function(){return!(0==(8&this.tx_1))},Tr.prototype.h14=function(t){var e=this.wx_1;if(null==(null==e?null:e(t,1)))throw zt("Invalid restart scope")},Tr.prototype.w19=function(t){var e=this.ux_1,n=null==e?null:e.n1b(this,t);return null==n?Uo():n},Tr.prototype.zn=function(){this.ux_1=null,this.yx_1=null,this.zx_1=null},Tr.prototype.u16=function(t){this.ux_1=t},Tr.prototype.m1b=function(){var t=this.ux_1;null==t||t.n1b(this,null)},Tr.prototype.u18=function(t){this.wx_1=t},Tr.prototype.c18=function(){return!(0==(16&this.tx_1))},Tr.prototype.r14=function(t){this.xx_1=t,Ir(this,!1)},Tr.prototype.x17=function(){Ir(this,!0)},Tr.prototype.e1b=function(t){if(0!=(32&this.tx_1))return $t();var e,n=this.yx_1;if(null==n){var i=new Ga;this.yx_1=i,e=i}else e=n;if(e.r1c(t,this.xx_1),Bt(t,br)){var o,r=this.zx_1;if(null==r){var s=Xa(0,1);this.zx_1=s,o=s}else o=r;o.o1a(t,t.z1b())}},Tr.prototype.c1a=function(){return!(null==this.zx_1)},Tr.prototype.e19=function(t){if(null==t)return!0;var e=this.zx_1;if(null==e)return!0;var n,i=e;if(t.z14()){var o;t:if(null!=t&&Bt(t,we)&&t.h())o=!0;else{for(var r=t.c();r.d();){var s=r.e();if(!Bt(s,br)||!Ht(i.x1b(s),s.z1b())){o=!1;break t}}o=!0}n=o}else n=!1;return!n},Tr.prototype.g14=function(){var t=this.ux_1;if(null==t);else{var e=this.yx_1;if(null==e);else{Dr(this,!0);try{var n=0,i=e.n1c_1;if(n0&&(this.b1d_1.i(t)||(this.b1d_1.a(t),$t())),function(t,e){var n;t.y1c_1;t:{var i=t.f1d_1,o=0,r=i.f()-1|0;if(o<=r)do{var s=o;o=o+1|0;var a=i.g(s);if(Ht(a.j16_1,e)){n=!0;break t}}while(o<=r);n=!1}if(!n)return $t();var u=jt();for(ls(u,t,e);!u.h();)ns(t,u,null),ls(u,t,e)}(this,t),t.j1b(),t.k1b(),n||Pc().t1g()},gs.$metadata$=kt("Recomposer",void 0,void 0,void 0,void 0,dr.prototype),bs.$metadata$=wt("RecomposerInfo"),xs.$metadata$=wt("RememberObserver"),Cs.$metadata$=ne("Companion"),ea.prototype.d=function(){return this.y1g_1this.px_1&&tthis.lx_1.b15(0))n=e+this.t13(e)|0;else{var i=this.lx_1.c1h(e);n=i<0?e+this.t13(e)|0:(Fs(this)-this.cx_1|0)-this.mx_1.k14(i)|0}return t>e&&t=0||qo(xt("Cannot insert auxiliary data when not inserting"));var e=this.px_1,n=Bs(this,e);!ha(this.yw_1,n)||qo(xt("Group already has auxiliary data")),Ts(this,1,e);var i,o,r=Xs(this.yw_1,this,n),s=Hs(this,r);if(this.ex_1>r){var a=this.ex_1-r|0;if(!(a<3))throw zt(xt("Moving more than two slot not supported"));a>1&&(this.zw_1[s+2|0]=this.zw_1[s+1|0]),this.zw_1[s+1|0]=this.zw_1[s]}i=this.yw_1,o=bt(n,5)+1|0,i[o]=268435456|i[o],this.zw_1[s]=t;var u=this.ex_1;this.ex_1=u+1|0},na.prototype.u1g=function(t){return Ns(this,this.ox_1,t)},na.prototype.z15=function(t,e){return Ns(this,t.d1h(this),e)},na.prototype.h1h=function(t){this.ex_1<=this.fx_1||qo(xt("Writing to an invalid slot")),this.zw_1[Hs(this,this.ex_1-1|0)]=t},na.prototype.b16=function(t,e){var n,i=Bs(this,this.ox_1),o=Ks(this.yw_1,this,i),r=Us(this.yw_1,this,Bs(this,this.ox_1+1|0)),s=o+t|0;s>=o&&s0&&Ts(this,1,this.px_1);var t=this.zw_1,e=this.ex_1;return this.ex_1=e+1|0,t[Hs(this,e)]},na.prototype.t16=function(t,e){return this.i1h(this.s15(t),e)},na.prototype.i1h=function(t,e){var n=Bs(this,t),i=Ks(this.yw_1,this,n),o=Us(this.yw_1,this,Bs(this,t+1|0)),r=i+e|0;if(!(i<=r&&r=0))throw ie(xt("Cannot seek backwards"));if(!(this.jx_1<=0))throw zt(xt("Cannot call seek() while inserting"));if(0===t)return $t();var e,n=this.ox_1+t|0;n>=this.px_1&&n<=this.dx_1||(e="Cannot seek outside the current group ("+this.px_1+"-"+this.dx_1+")",qo(xt(e))),this.ox_1=n;var i=Us(this.yw_1,this,Bs(this,n));this.ex_1=i,this.fx_1=i},na.prototype.k12=function(){var t=this.dx_1;this.ox_1=t,this.ex_1=Us(this.yw_1,this,Bs(this,t))},na.prototype.e13=function(){var t=this.jx_1;this.jx_1=t+1|0,0===t&&qs(this)},na.prototype.b14=function(){if(!(this.jx_1>0))throw zt(xt("Unbalanced begin/end insert"));var t=this;t.jx_1=t.jx_1-1|0,0===t.jx_1&&(this.nx_1.f()!==this.lx_1.f()&&qo(xt("startGroup/endGroup mismatch while inserting")),Ps(this))},na.prototype.m12=function(){if(0!==this.jx_1)throw ie(xt("Key must be supplied when inserting"));js(this,0,po().tw_1,!1,po().tw_1)},na.prototype.p12=function(t,e){return js(this,t,e,!1,po().tw_1)},na.prototype.r12=function(t){return js(this,125,t,!0,po().tw_1)},na.prototype.q12=function(t,e,n){return js(this,t,e,!1,n)},na.prototype.a14=function(){var t=this.jx_1>0,e=this.ox_1,n=this.dx_1,i=this.px_1,o=Bs(this,i),r=this.kx_1,s=e-i|0,a=ra(this.yw_1,o);if(t)fa(this.yw_1,o,s),pa(this.yw_1,o,r),this.kx_1=this.nx_1.q13()+(a?1:r)|0,this.px_1=Vs(this.yw_1,this,i);else{if(e!==n)throw ie(xt("Expected to be at the end of a group"));var u=ca(this.yw_1,o),l=sa(this.yw_1,o);fa(this.yw_1,o,s),pa(this.yw_1,o,r);var c=this.lx_1.q13();Ps(this),this.px_1=c;var h=Vs(this.yw_1,this,i);if(this.kx_1=this.nx_1.q13(),h===c){this.kx_1=this.kx_1+(a?0:r-l|0)|0}else{var f=s-u|0,p=a?0:r-l|0;if(0!==f||0!==p)for(var _=h;0!==_&&_!==c&&(0!==p||0!==f);){var d=Bs(this,_);if(0!==f){var v=ca(this.yw_1,d)+f|0;fa(this.yw_1,d,v)}0!==p&&pa(this.yw_1,d,sa(this.yw_1,d)+p|0),ra(this.yw_1,d)&&(p=0),_=Vs(this.yw_1,this,_)}this.kx_1=this.kx_1+p|0}}return r},na.prototype.r19=function(t){if(!(this.jx_1<=0))throw ie(xt("Cannot call ensureStarted() while inserting"));var e=this.px_1;if(e!==t){if(!(t>=e&&t=t;)i.w1g();$t()}var o=Ls(this,t,this.ox_1-t|0);Rs(this,e,this.ex_1-e|0,t-1|0),this.ox_1=t,this.ex_1=e;return this.kx_1=this.kx_1-n|0,o},na.prototype.sx=function(){return new ea(Us(this.yw_1,this,Bs(this,this.ox_1)),Us(this.yw_1,this,Bs(this,this.ox_1+this.t13(this.ox_1)|0)),this)},na.prototype.d16=function(t){if(0!==this.jx_1)throw ie(xt("Cannot move a group while inserting"));if(!(t>=0))throw ie(xt("Parameter offset is out of bounds"));if(0===t)return $t();for(var e=this.ox_1,n=this.px_1,i=this.dx_1,o=t,r=e;o>0;){if(!((r=r+ca(this.yw_1,Bs(this,r))|0)<=i))throw ie(xt("Parameter offset is out of bounds"));o=o-1|0}var s=ca(this.yw_1,Bs(this,r)),a=this.ex_1,u=Us(this.yw_1,this,Bs(this,r)),l=Us(this.yw_1,this,Bs(this,r+s|0)),c=l-u|0,h=this.ox_1-1|0;Ts(this,c,Math.max(h,0)),Is(this,s);var f=this.yw_1,p=Bs(this,r+s|0),_=bt(p,5),d=Bs(this,e),v=bt(d,5),y=_+bt(s,5)|0;if(Be(f,f,v,_,y),c>0){var m=this.zw_1,g=Hs(this,u+c|0),b=Hs(this,l+c|0);Be(m,m,a,g,b)}var w=(u+c|0)-a|0,$=this.gx_1,x=this.hx_1,k=this.zw_1.length,j=this.ix_1,C=e,S=e+s|0;if(C=0)t:for(;s=e&&l=t.bx_1?_.m15_1=0|-(r-d|0):_.m15_1=d;var v=ma(t.ax_1,d,r);t.ax_1.va(v,_)}while(h<=f)})(this,r+s|0,e,s),!Ls(this,r+s|0,s)||qo(xt("Unexpectedly removed anchors")),As(this,n,this.dx_1,e),c>0&&Rs(this,u+c|0,c,(r+s|0)-1|0)},na.prototype.a17=function(t,e,n){if(!(n.jx_1>0))throw ie(xt("Failed requirement."));if(0!==this.jx_1)throw ie(xt("Failed requirement."));if(!t.k1a())throw ie(xt("Failed requirement."));var i=this.s15(t)+e|0,o=this.ox_1;if(!(o<=i&&i0;l>=o;){var h=Bs(this,l);fa(this.yw_1,h,ca(this.yw_1,h)-s|0),c&&(ra(this.yw_1,h)?c=!1:pa(this.yw_1,h,sa(this.yw_1,h)-a|0)),l=this.g12(l)}if(c){go(this.kx_1>=a);this.kx_1=this.kx_1-a|0}return u},na.prototype.x16=function(t,e){if(!(this.jx_1>0))throw ie(xt("Failed requirement."));if(0===e&&0===this.ox_1&&0===this.xw_1.x10_1){var n=this.yw_1,i=this.zw_1,o=this.ax_1,r=t.w10_1,s=t.x10_1,a=t.y10_1,u=t.z10_1;return this.yw_1=r,this.zw_1=a,this.ax_1=t.d11_1,this.bx_1=s,this.cx_1=(r.length/5|0)-s|0,this.gx_1=u,this.hx_1=a.length-u|0,this.ix_1=s,t.j1h(n,0,i,0,o),this.ax_1}var l,c=t.j12();try{l=ks(Ss(),c,e,this,!0,!0)}finally{c.a12()}return l},na.prototype.s16=function(t,e,n){go(this.jx_1<=0&&1===this.t13(this.ox_1+t|0));var i=this.ox_1,o=this.ex_1,r=this.fx_1;this.v16(t),this.m12(),this.e13();var s,a=e.j12();try{s=ks(Ss(),a,n,this,!1,!0)}finally{a.a12()}var u=s;return this.b14(),this.a14(),this.ox_1=i,this.ex_1=o,this.fx_1=r,u},na.prototype.f13=function(t){var e,n=this.ax_1,i=Aa(n,t,this.f());if(i<0){var o=new oa(t<=this.bx_1?t:0|-(this.f()-t|0));n.va(0|-(i+1|0),o),e=o}else e=n.g(i);return e},na.prototype.k1h=function(t){var e,n,i,o=Bs(this,t);ba(this.yw_1,o)||(e=this.yw_1,n=!0,i=bt(o,5)+1|0,e[i]=n?134217728|e[i]:-134217729&e[i],wa(this.yw_1,o)||Ms(this,this.g12(t)))},na.prototype.t14=function(t,e,n){return 0!=(1&e)&&(t=this.px_1),this.k1h(t)},na.prototype.s15=function(t){var e=t.m15_1;return e<0?this.f()+e|0:e},na.prototype.toString=function(){return"SlotWriter(current = "+this.ox_1+" end="+this.dx_1+" size = "+this.f()+" gap="+this.bx_1+"-"+(this.bx_1+this.cx_1|0)+")"},na.prototype.f=function(){return Fs(this)-this.cx_1|0},na.$metadata$=kt("SlotWriter"),ia.prototype.l1h=function(){return this.d11_1},ia.prototype.oo=function(){return 0===this.x10_1},ia.prototype.m1h=function(t){var e,n=this.e11();try{e=t(n)}finally{n.a12()}return e},ia.prototype.n1h=function(t){var e,n=this.j12();try{e=t(n)}finally{n.a12()}return e},ia.prototype.e11=function(){if(this.b11_1)throw zt("Cannot read while a writer is pending");var t=this.a11_1;return this.a11_1=t+1|0,new za(this)},ia.prototype.j12=function(){!this.b11_1||qo(xt("Cannot start a writer when another writer is pending")),this.a11_1<=0||qo(xt("Cannot start a writer when a reader is pending")),this.b11_1=!0;var t=this.c11_1;return this.c11_1=t+1|0,new na(this)},ia.prototype.s15=function(t){if(!this.b11_1||qo(xt("Use active SlotWriter to determine anchor location instead")),!t.k1a())throw ie(xt("Anchor refers to a group that was removed"));return t.m15_1},ia.prototype.p1b=function(t){var e;if(t.k1a()){var n=Aa(this.d11_1,t.m15_1,this.x10_1);e=n>=0&&Ht(this.d11_1.g(n),t)}else e=!1;return e},ia.prototype.m1a=function(t,e){var n;if(!this.b11_1||qo(xt("Writer is active")),0<=t&&t0))throw ie(xt("Unexpected reader close()"));var e=this.a11_1;this.a11_1=e-1|0},ia.prototype.f1h=function(t,e,n,i,o,r){if(t.xw_1!==this||!this.b11_1)throw ie(xt("Unexpected writer close()"));this.b11_1=!1,this.j1h(e,n,i,o,r)},ia.prototype.j1h=function(t,e,n,i,o){this.w10_1=t,this.x10_1=e,this.y10_1=n,this.z10_1=i,this.d11_1=o},ia.prototype.c=function(){return new qa(this,0,this.x10_1)},ia.$metadata$=kt("SlotTable",[Oh,Ke]),oa.prototype.p1h=function(t){this.m15_1=t},oa.prototype.c19=function(){return this.m15_1},oa.prototype.k1a=function(){return!(this.m15_1===We().w_1)},oa.prototype.w16=function(t){return t.s15(this)},oa.prototype.d1h=function(t){return t.s15(this)},oa.$metadata$=kt("Anchor"),_a.prototype.x1g=function(t){if(!this.v1g_1.h()&&(this.v1g_1.g(0)===t||this.v1g_1.g(this.v1g_1.f()-1|0)===t))return $t();var e=this.v1g_1.f();this.v1g_1.a(t);t:for(;e>0;){var n=((e+1|0)>>>1|0)-1|0,i=this.v1g_1.g(n);if(!(t>i))break t;this.v1g_1.e4(e,i),e=n}this.v1g_1.e4(e,t)},_a.prototype.z14=function(){return!this.v1g_1.h()},_a.prototype.q17=function(){return Ye(this.v1g_1)},_a.prototype.w1g=function(){this.v1g_1.f()>0||qo(xt("Set is empty"));for(var t=this.v1g_1.g(0);!this.v1g_1.h()&&this.v1g_1.g(0)===t;){this.v1g_1.e4(0,Ge(this.v1g_1)),this.v1g_1.b4(this.v1g_1.f()-1|0);var e=0,n=this.v1g_1.f(),i=this.v1g_1.f()>>>1|0;t:for(;es){if(u>o){this.v1g_1.e4(e,u),this.v1g_1.e4(a,o),e=a;continue t}break t}}if(!(s>o))break t;this.v1g_1.e4(e,s),this.v1g_1.e4(r,o),e=r}}return t},_a.$metadata$=kt("PrioritySet"),za.prototype.b1h=function(){return this.u11_1},za.prototype.f=function(){return this.r11_1},za.prototype.g12=function(t){return va(this.q11_1,t)},za.prototype.t15=function(){return ra(this.q11_1,this.u11_1)},za.prototype.l14=function(t){return ra(this.q11_1,t)},za.prototype.m14=function(t){return sa(this.q11_1,t)},za.prototype.y14=function(t){return ra(this.q11_1,t)?ja(this.q11_1,this,t):null},za.prototype.x13=function(){return!!this.c14()||this.u11_1===this.v11_1},za.prototype.c14=function(){return this.x11_1>0},za.prototype.a15=function(){return ca(this.q11_1,this.u11_1)},za.prototype.t13=function(t){return ca(this.q11_1,t)},za.prototype.w13=function(){return this.v11_1},za.prototype.a13=function(){return this.u11_1=0?sa(this.q11_1,this.w11_1):0},za.prototype.w15=function(t,e){var n=t+1|0,i=xa(this.q11_1,t)+e|0;return i<(n0||this.y11_1>=this.z11_1)return po().tw_1;var t=this.y11_1;return this.y11_1=t+1|0,this.s11_1[t]},za.prototype.o12=function(){var t=this.x11_1;this.x11_1=t+1|0},za.prototype.z13=function(){if(!(this.x11_1>0))throw ie(xt("Unbalanced begin/end empty"));var t=this.x11_1;this.x11_1=t-1|0},za.prototype.a12=function(){return this.p11_1.o1h(this)},za.prototype.m12=function(){if(this.x11_1<=0){if(va(this.q11_1,this.u11_1)!==this.w11_1)throw ie(xt("Invalid slot table detected"));this.w11_1=this.u11_1,this.v11_1=this.u11_1+ca(this.q11_1,this.u11_1)|0;var t=this.u11_1;this.u11_1=t+1|0;var e=t;this.y11_1=xa(this.q11_1,e),this.z11_1=e>=(this.r11_1-1|0)?this.t11_1:ga(this.q11_1,e+1|0)}},za.prototype.n12=function(){if(this.x11_1<=0){if(!ra(this.q11_1,this.u11_1))throw ie(xt("Expected a node group"));this.m12()}},za.prototype.c12=function(){if(0!==this.x11_1)throw ie(xt("Cannot skip while in an empty region"));var t=ra(this.q11_1,this.u11_1)?1:sa(this.q11_1,this.u11_1);return this.u11_1=this.u11_1+ca(this.q11_1,this.u11_1)|0,t},za.prototype.k12=function(){if(0!==this.x11_1)throw ie(xt("Cannot skip the enclosing group while in an empty region"));this.u11_1=this.v11_1},za.prototype.o13=function(t){if(0!==this.x11_1)throw ie(xt("Cannot reposition while in an empty region"));this.u11_1=t;var e=t=t&&n<=e))throw ie(xt("Index "+t+" is not a parent of "+n));this.w11_1=t,this.v11_1=e,this.y11_1=0,this.z11_1=0},za.prototype.y13=function(){if(0===this.x11_1){if(this.u11_1!==this.v11_1)throw ie(xt("endGroup() not called at the end of a group"));var t=va(this.q11_1,this.w11_1);this.w11_1=t,this.v11_1=t<0?this.r11_1:t+ca(this.q11_1,t)|0}},za.prototype.b13=function(){var t=jt();if(this.x11_1>0)return t;for(var e=0,n=this.u11_1;n=this.i11_1.length&&(this.i11_1=Je(this.i11_1,bt(this.i11_1.length,2)));var e=this.i11_1,n=this.j11_1;this.j11_1=n+1|0,e[n]=t},Ba.prototype.q13=function(){var t=this.i11_1,e=this;return e.j11_1=e.j11_1-1|0,t[e.j11_1]},Ba.prototype.b15=function(t){return this.j11_1>0?this.q17():t},Ba.prototype.q17=function(){return this.i11_1[this.j11_1-1|0]},Ba.prototype.k14=function(t){return this.i11_1[t]},Ba.prototype.h=function(){return 0===this.j11_1},Ba.prototype.f7=function(){this.j11_1=0},Ba.prototype.c1h=function(t){var e=0,n=this.j11_1;if(e0){if((n=function(t,e){for(var n=0,i=t.n1c_1-1|0,o=Ih(e);n<=i;){var r=(n+i|0)>>>1|0,s=t.o1c_1[r],a=Ih(s);if(ao))return s===e?r:Ya(t,r,e,o);i=r-1|0}}return 0|-(n+1|0)}(this,t))>=0)return this.p1c_1[n]=e,$t()}else n=-1;var i=0|-(n+1|0);if(this.n1c_1===this.o1c_1.length){var o=bt(this.o1c_1.length,2),r=Ve(Array(o),null),s=new Int32Array(bt(this.o1c_1.length,2)),a=this.o1c_1,u=i+1|0,l=this.n1c_1;Be(a,r,u,i,l);var c=this.p1c_1,h=i+1|0,f=this.n1c_1;Be(c,s,h,i,f);var p,_=this.o1c_1;Be(_,r,0,0,i),p=this.p1c_1,Be(p,s,0,0,i),this.o1c_1=r,this.p1c_1=s}else{var d=this.o1c_1,v=this.o1c_1,y=i+1|0,m=this.n1c_1;Be(d,v,y,i,m);var g=this.p1c_1,b=this.p1c_1,w=i+1|0,$=this.n1c_1;Be(g,b,w,i,$)}this.o1c_1[i]=t,this.p1c_1[i]=e;var x=this.n1c_1;this.n1c_1=x+1|0},Ga.prototype.s1i=function(t){var e=0,n=0,i=this.n1c_1;if(n0},Qa.prototype.y1b=function(t){return Ja(this,t)>=0},Qa.prototype.x1b=function(t){var e,n=Ja(this,t);if(n>=0){var i=this.k15_1[n];e=null==i||St(i)?i:Ct()}else e=null;return e},Qa.prototype.o1a=function(t,e){var n=Ja(this,t);if(n>=0)this.k15_1[n]=e;else{var i,o=0|-(n+1|0),r=this.l15_1===this.j15_1.length;if(r){var s=bt(this.l15_1,2);i=Ve(Array(s),null)}else i=this.j15_1;var a,u=i,l=this.j15_1,c=o+1|0,h=this.l15_1;if(Be(l,u,c,o,h),r){var f=this.j15_1;Be(f,u,0,0,o)}if(u[o]=t,this.j15_1=u,r){var p=bt(this.l15_1,2);a=Ve(Array(p),null)}else a=this.k15_1;var _=a,d=this.k15_1,v=o+1|0,y=this.l15_1;if(Be(d,_,v,o,y),r){var m=this.k15_1;Be(m,_,0,0,o)}_[o]=e,this.k15_1=_;var g=this.l15_1;this.l15_1=g+1|0}},Qa.prototype.q1c=function(t){var e=Ja(this,t);if(e>=0){var n=this.l15_1,i=this.j15_1,o=this.k15_1;Be(i,i,e,e+1|0,n),Be(o,o,e,e+1|0,n);var r=n-1|0;return i[r]=null,o[r]=null,this.l15_1=r,!0}return!1},Qa.prototype.v1i=function(t){var e=0,n=this.l15_1;if(e=0},iu.prototype.i=function(t){return!!St(t)&&this.k3(St(t)?t:Ct())},iu.prototype.g=function(t){var e=this.g19_1[t];return St(e)?e:Ct()},iu.prototype.h19=function(t){var e;if(this.f19_1>0){if((e=tu(this,t))>=0)return!1}else e=-1;var n=0|-(e+1|0);if(this.f19_1===this.g19_1.length){var i=bt(this.g19_1.length,2),o=Ve(Array(i),null),r=this.g19_1,s=n+1|0,a=this.f19_1;Be(r,o,s,n,a);var u=this.g19_1;Be(u,o,0,0,n),this.g19_1=o}else{var l=this.g19_1,c=this.g19_1,h=n+1|0,f=this.f19_1;Be(l,c,h,n,f)}this.g19_1[n]=t;var p=this.f19_1;return this.f19_1=p+1|0,!0},iu.prototype.h=function(){return 0===this.f19_1},iu.prototype.z14=function(){return this.f19_1>0},iu.prototype.y1i=function(t){var e=tu(this,t);if(e>=0){if(e<(this.f19_1-1|0)){var n=this.g19_1,i=this.g19_1,o=e+1|0,r=this.f19_1;Be(n,i,e,o,r)}var s=this.f19_1;return this.f19_1=s-1|0,this.g19_1[this.f19_1]=null,!0}return!1},iu.prototype.z1i=function(t){var e=0,n=0,i=this.f19_1;if(n0){if((n=ru(t,e))>=0)return ou(t,n)}else n=-1;var i=0|-(n+1|0);if(t.a1a_10&&(m=t.x19_1,Be(m,g,0,0,i)),t.x19_1=g;var j=t,C=j.a1a_1;return j.a1a_1=C+1|0,y}(this,t).h19(e)},au.prototype.b1a=function(t){return ru(this,t)>=0},au.prototype.c1j=function(t,e){var n=ru(this,t);if(n>=0)for(var i=ou(this,n).c();i.d();)e(i.e())},au.prototype.t1a=function(t,e){var n=ru(this,t);if(n>=0){var i=this.x19_1[n],o=this.z19_1[i];if(null==o)return!1;var r=o,s=r.y1i(e);if(0===r.f19_1){var a=n+1|0,u=this.a1a_1;if(a0){if(e!==o){var v=this.x19_1[e];this.x19_1[e]=r,this.x19_1[o]=v}e=e+1|0}}while(n0){if(e!==o){var a=this.x19_1[e];this.x19_1[e]=r,this.x19_1[o]=a}e=e+1|0}}while(n0},bu.prototype.p=function(){return this.k1j_1},bu.prototype.m1j=function(){if(!this.d())throw on()},bu.prototype.n1j=function(){if(!this.o())throw on()},bu.$metadata$=kt("AbstractListIterator",[rn]),wu.prototype.c4=function(t){var e=this.f1j();return e.c4(t),e.d1j()},wu.prototype.ga=function(t){var e=this.j(t);return-1!==e?this.b4(e):this},wu.prototype.i=function(t){return!(-1===this.j(t))},wu.prototype.m1=function(t){var e;t:if(Bt(t,we)&&t.h())e=!0;else{for(var n=t.c();n.d();){var i=n.e();if(!this.i(i)){e=!1;break t}}e=!0}return e},wu.prototype.c=function(){return this.o1j()},wu.prototype.o1j=function(){return this.n(0)},wu.$metadata$=kt("AbstractPersistentList",[fu],void 0,void 0,void 0,sn.prototype),$u.prototype.e=function(){if(!this.d())throw on();var t=this.k1j_1;return this.k1j_1=t+1|0,this.r1j_1[t]},$u.prototype.q=function(){if(!this.o())throw on();var t=this;return t.k1j_1=t.k1j_1-1|0,this.r1j_1[t.k1j_1]},$u.$metadata$=kt("BufferIterator",void 0,void 0,void 0,void 0,bu.prototype),Pu.prototype.f=function(){return this.u1j_1},Pu.prototype.a=function(t){var e=this.u1j_1-xu(this)|0;if(e=n)return Cu(this,this.s1j_1,t-n|0,e);var i=new pl(null);return Cu(this,Su(this,this.s1j_1,this.v1j_1,t,e,i),0,i.w1j_1)},Pu.prototype.b4=function(t){ac().c2(t,this.u1j_1);var e=xu(this);return t>=e?zu(this,this.s1j_1,e,this.v1j_1,t-e|0):zu(this,Ou(this,this.s1j_1,this.v1j_1,t,new pl(this.t1j_1[0])),e,this.v1j_1,0)},Pu.prototype.f1j=function(){return new Yu(this,this.s1j_1,this.t1j_1,this.v1j_1)},Pu.prototype.n=function(t){ac().b2(t,this.u1j_1);var e=this.t1j_1;return new Gu(this.s1j_1,le(e)?e:Ct(),t,this.u1j_1,1+(this.v1j_1/hl()|0)|0)},Pu.prototype.g=function(t){ac().c2(t,this.u1j_1);var e=function(t,e){if(xu(t)<=e)return t.t1j_1;for(var n=t.s1j_1,i=t.v1j_1;i>0;){var o=n[fl(e,i)];n=null!=o&&le(o)?o:Ct(),i=i-hl()|0}return n}(this,t)[t&ll()];return null==e||St(e)?e:Ct()},Pu.prototype.e4=function(t,e){if(ac().c2(t,this.u1j_1),xu(this)<=t){var n=Ze(this.t1j_1,al());return n[t&ll()]=e,new Pu(this.s1j_1,n,this.u1j_1,this.v1j_1)}return new Pu(qu(this,this.s1j_1,this.v1j_1,t,e),this.t1j_1,this.u1j_1,this.v1j_1)},Pu.$metadata$=kt("PersistentVector",[fu],void 0,void 0,void 0,wu.prototype),Yu.prototype.f=function(){return this.f1k_1},Yu.prototype.g1k=function(){return this.ma_1},Yu.prototype.d1j=function(){var t;return this.d1k_1===this.z1j_1&&this.e1k_1===this.a1k_1?t=this.y1j_1:(this.c1k_1=new uc,this.z1j_1=this.d1k_1,this.a1k_1=this.e1k_1,t=null==this.d1k_1?0===this.e1k_1.length?sl():new el(Ze(this.e1k_1,this.f1k_1)):new Pu(he(this.d1k_1),this.e1k_1,this.f1k_1,this.b1k_1)),this.y1j_1=t,this.y1j_1},Yu.prototype.a=function(t){this.ma_1=this.ma_1+1|0;var e=Eu(this);if(e=t.f()){this.e1k_1=Nu(0,Du(this,this.e1k_1),n,i);this.f1k_1=this.f1k_1+t.f()|0}else{var o=((t.f()+n|0)-1|0)/al()|0,r=Ve(Array(o),null);r[0]=Nu(0,Du(this,this.e1k_1),n,i);var s=1;if(s>hl()<1<=n)return Bu(this,this.d1k_1,t-n|0,e),$t();var i=new pl(null),o=Hu(this,he(this.d1k_1),this.b1k_1,t,e,i),r=i.w1j_1;Bu(this,o,0,null==r||St(r)?r:Ct())},Yu.prototype.g=function(t){ac().c2(t,this.f1k_1);var e=function(t,e){if(Au(t)<=e)return t.e1k_1;for(var n=he(t.d1k_1),i=t.b1k_1;i>0;){var o=n[fl(e,i)];n=null!=o&&le(o)?o:Ct(),i=i-hl()|0}return n}(this,t)[t&ll()];return null==e||St(e)?e:Ct()},Yu.prototype.b4=function(t){ac().c2(t,this.f1k_1);this.ma_1=this.ma_1+1|0;var e=Au(this);if(t>=e){var n=Vu(this,this.d1k_1,e,this.b1k_1,t-e|0);return null==n||St(n)?n:Ct()}var i=new pl(this.e1k_1[0]);Vu(this,Wu(this,he(this.d1k_1),this.b1k_1,t,i),e,this.b1k_1,0);var o=i.w1j_1;return null==o||St(o)?o:Ct()},Yu.prototype.e4=function(t,e){if(ac().c2(t,this.f1k_1),Au(this)<=t){var n=Du(this,this.e1k_1);if(n!==this.e1k_1){var i=this.ma_1;this.ma_1=i+1|0}var o=t&ll(),r=n[o];return n[o]=e,this.e1k_1=n,null==r||St(r)?r:Ct()}var s=new pl(null);this.d1k_1=Ku(this,he(this.d1k_1),this.b1k_1,t,e,s);var a=s.w1j_1;return null==a||St(a)?a:Ct()},Yu.prototype.c=function(){return this.o1j()},Yu.prototype.o1j=function(){return this.n(0)},Yu.prototype.n=function(t){return ac().b2(t,this.f1k_1),new Zu(this,t)},Yu.$metadata$=kt("PersistentVectorBuilder",[hu],void 0,void 0,void 0,ln.prototype),Gu.prototype.e=function(){if(this.m1j(),this.k1k_1.d()){var t=this.k1j_1;return this.k1j_1=t+1|0,this.k1k_1.e()}var e=this.k1j_1;return this.k1j_1=e+1|0,this.j1k_1[e-this.k1k_1.l1j_1|0]},Gu.prototype.q=function(){if(this.n1j(),this.k1j_1>this.k1k_1.l1j_1){var t=this;return t.k1j_1=t.k1j_1-1|0,this.j1k_1[t.k1j_1-this.k1k_1.l1j_1|0]}var e=this.k1j_1;return this.k1j_1=e-1|0,this.k1k_1.q()},Gu.$metadata$=kt("PersistentVectorIterator",void 0,void 0,void 0,void 0,bu.prototype),Zu.prototype.q=function(){Ju(this),this.n1j(),this.v1k_1=this.k1j_1-1|0;var t=this.u1k_1;if(null==t){var e=this.s1k_1.e1k_1,n=this;n.k1j_1=n.k1j_1-1|0;var i=e[n.k1j_1];return null==i||St(i)?i:Ct()}var o=t;if(this.k1j_1>o.l1j_1){var r=this.s1k_1.e1k_1,s=this;s.k1j_1=s.k1j_1-1|0;var a=r[s.k1j_1-o.l1j_1|0];return null==a||St(a)?a:Ct()}var u=this.k1j_1;return this.k1j_1=u-1|0,o.q()},Zu.prototype.e=function(){Ju(this),this.m1j(),this.v1k_1=this.k1j_1;var t=this.u1k_1;if(null==t){var e=this.s1k_1.e1k_1,n=this.k1j_1;this.k1j_1=n+1|0;var i=e[n];return null==i||St(i)?i:Ct()}var o=t;if(o.d()){var r=this.k1j_1;return this.k1j_1=r+1|0,o.e()}var s=this.s1k_1.e1k_1,a=this.k1j_1;this.k1j_1=a+1|0;var u=s[a-o.l1j_1|0];return null==u||St(u)?u:Ct()},Zu.prototype.d4=function(){var t;Ju(this),function(t){if(-1===t.v1k_1)throw cn()}(this),this.s1k_1.b4(this.v1k_1),this.v1k_10&&i<=o||r<0&&o<=i)do{var s=i;if(i=i+r|0,Ht(e,t.h1l_1[s]))return!0}while(s!==o);return!1}(o,e):o.i1l(t,e,n+5|0)}return!1},Ul.prototype.j1l=function(t,e,n){var i=1<0&&i<=o||r<0&&o<=i)do{var s=i;if(i=i+r|0,Ht(e,Tl(t,s)))return Ll(t,s)}while(s!==o);return null}(r,e):r.j1l(t,e,n+5|0)}return null},Ul.prototype.k1l=function(t,e,n,i){var o=1<0&&o<=r||s<0&&r<=o)do{var a=o;if(o=o+s|0,Ht(e,Tl(t,a))){if(n===Ll(t,a))return null;var u=t.h1l_1.slice();return u[a+1|0]=n,Dl(Pl(0,0,u))}}while(a!==r);return El(Pl(0,0,Yl(t.h1l_1,0,e,n)))}(u,e,n);if(null==l)return null;s=l}else{var c=u.k1l(t,e,n,i+5|0);if(null==c)return null;s=c}var h,f=s,p=f;return h=Rl(this,a,o,f.l1l_1),p.l1l_1=h,f}return El(function(t,e,n,i){var o=t.t1m(e),r=Yl(t.h1l_1,o,n,i);return Pl(t.e1l_1|e,t.f1l_1,r)}(this,o,e,n))},Ul.prototype.n1l=function(t,e,n){var i=1<0&&i<=o||r<0&&o<=i)do{var s=i;if(i=i+r|0,Ht(e,Tl(t,s)))return Hl(t,s)}while(s!==o);return t}(a,e):a.n1l(t,e,n+5|0),function(t,e,n,i,o){return null==n?Nl(t,i,o):e!==n?Rl(t,i,o,n):t}(this,a,r,s,i)}return this},Ul.$metadata$=kt("TrieNode"),Jl.prototype.j1j=function(){return this.i1j_1},Jl.$metadata$=ne("Companion"),Ql.prototype.f=function(){return this.z1m_1.d1l_1},Ql.prototype.i=function(t){return this.z1m_1.t2(t)},Ql.prototype.a=function(t){if(this.z1m_1.t2(t))return this;if(this.h())return new Ql(t,t,this.z1m_1.n3(t,tc()));var e=this.y1m_1,n=null==e||St(e)?e:Ct(),i=he(this.z1m_1.z2(n)),o=this.z1m_1.n3(n,i.c1n(t)).n3(t,ec(n));return new Ql(this.x1m_1,t,o)},Ql.prototype.ga=function(t){var e=this.z1m_1.z2(t);if(null==e)return this;var n=e,i=this.z1m_1.lb(t);if(n.d1n()){var o,r=i,s=n.a1n_1;o=(Bt(r,nn)?r:Ct()).z2(s);var a=he(o),u=i,l=n.a1n_1;i=u.n3(null==l||St(l)?l:Ct(),a.c1n(n.b1n_1))}if(n.f1n()){var c,h=i,f=n.b1n_1;c=(Bt(h,nn)?h:Ct()).z2(f);var p=he(c),_=i,d=n.b1n_1;i=_.n3(null==d||St(d)?d:Ct(),p.e1n(n.a1n_1))}return new Ql(n.d1n()?this.x1m_1:n.b1n_1,n.f1n()?this.y1m_1:n.a1n_1,i)},Ql.prototype.c=function(){return new ic(this.x1m_1,this.z1m_1)},Ql.$metadata$=kt("PersistentOrderedSet",[vu],void 0,void 0,void 0,vn.prototype),nc.prototype.c1n=function(t){return new nc(this.a1n_1,t)},nc.prototype.e1n=function(t){return new nc(t,this.b1n_1)},nc.prototype.f1n=function(){return!(this.b1n_1===rc())},nc.prototype.d1n=function(){return!(this.a1n_1===rc())},nc.$metadata$=kt("Links"),ic.prototype.d=function(){return this.i1n_1=e)throw $n("index: "+t+", size: "+e)},sc.prototype.b2=function(t,e){if(t<0||t>e)throw $n("index: "+t+", size: "+e)},sc.$metadata$=ne("ListImplementation"),uc.$metadata$=kt("MutabilityOwnership"),zc.$metadata$=wt("StateObject"),Mc.prototype.um=function(){return this.p1n_1()},Mc.$metadata$=kt("sam$androidx_compose_runtime_snapshots_ObserverHandle$0",[Ec]),Oc.prototype.um=function(){return this.q1n_1()},Oc.$metadata$=kt("sam$androidx_compose_runtime_snapshots_ObserverHandle$0",[Ec]),qc.prototype.kv=function(){return Hc()},qc.prototype.p1e=function(t,e){var n=Hc(),i=n instanceof Dc?n:null,o=null==i?null:i.r1n(t,e);if(null==o)throw zt("Cannot create a mutable snapshot of an read-only snapshot");return o},qc.prototype.q1g=function(t){return Vc(vc()),mc(),kc().a(t),new Mc((e=t,function(){return mc(),kc().ga(e),$t(),$t()}));var e},qc.prototype.s1n=function(t){return mc(),jc().a(t),Wc(),new Oc((e=t,function(){return mc(),jc().ga(e),Wc(),$t()}));var e},qc.prototype.t1g=function(){return Hc().t1g()},qc.prototype.o1d=function(){mc();var t=Cc().vo().t1n();!0===(null==t?null:!t.h())&&Wc()},qc.$metadata$=ne("Companion"),Ac.prototype.v1n=function(t){this.d15_1=t},Ac.prototype.u1n=function(){return this.d15_1},Ac.prototype.w1n=function(t){this.e15_1=t},Ac.prototype.i15=function(){return this.e15_1},Ac.prototype.um=function(){this.f15_1=!0,mc(),this.y1n(),$t()},Ac.prototype.z1n=function(t){var e=this.q1e();try{return t()}finally{this.r1e(e)}},Ac.prototype.q1e=function(){var t=yc().vo();return yc().b1c(this),t},Ac.prototype.r1e=function(t){yc().b1c(t)},Ac.prototype.a1o=function(){return this.f15_1},Ac.prototype.b1o=function(){return this.g15_1>=0},Ac.prototype.f1o=function(){mc(),this.g1o(),this.h1o(),$t()},Ac.prototype.g1o=function(){gc(bc().m1o(this.i15()))},Ac.prototype.h1o=function(){this.y1n()},Ac.prototype.n1o=function(){if(this.f15_1)throw ie(xt("Cannot use a disposed snapshot"))},Ac.prototype.y1n=function(){this.g15_1>=0&&(Bc(this.g15_1),this.g15_1=-1)},Ac.prototype.o1o=function(){var t=this.g15_1;return this.g15_1=-1,t},Ac.$metadata$=kt("Snapshot"),Ec.$metadata$=wt("ObserverHandle"),Dc.prototype.c1o=function(){return this.x1e_1},Dc.prototype.d1o=function(){return this.y1e_1},Dc.prototype.r1n=function(t,e){this.n1o(),this.s1o(),this.t1o(this.i15()),mc();var n=$c();wc(n+1|0);var i=n;gc(bc().u1o(i));var o=this.u1n();this.v1n(o.u1o(i));var r=new Kc(i,Yc(o,this.i15()+1|0,i),function(t,e,n,i,o){return 0!=(4&i)&&(n=!0),Gc(t,e,n)}(t,this.c1o(),!1,4),Xc(e,this.d1o()),this);if(!this.d1f_1&&!this.f15_1){var s=this.i15(),a=(mc(),$c());wc(a+1|0),this.w1n(a),gc(bc().u1o(this.i15())),$t(),this.v1n(Yc(this.u1n(),s+1|0,this.i15()))}return r},Dc.prototype.f1f=function(){var t,e=this.t1n(),n=null!=e?Jc(Cc().vo(),this,bc().m1o(Cc().vo().i15())):null;if(mc(),Zc(this),null==e||0===e.f()){this.g1o();var i=Cc().vo();Qc(i,vc());var o=i.t1n();t=null!=o&&!o.h()?te(Xt(kc()),o):te(Gt(),null)}else{var r=Cc().vo(),s=this.v1o($c(),n,bc().m1o(r.i15()));if(!Ht(s,Tc()))return s;this.g1o(),Qc(r,vc());var a=r.t1n();this.q1o(null),r.q1o(null),t=te(Xt(kc()),a)}var u=t,l=u.d9(),c=u.e9();if(this.d1f_1=!0,null!=c&&!c.h()){var h=0,f=l.f()-1|0;if(h<=f)do{var p=h;h=h+1|0,l.g(p)(c,this)}while(h<=f)}if(null!=e&&!e.h()){var _=0,d=l.f()-1|0;if(_<=d)do{var v=_;_=_+1|0,l.g(v)(e,this)}while(_<=d)}return mc(),this.h1o(),$t(),Tc()},Dc.prototype.x1n=function(){return!1},Dc.prototype.um=function(){this.f15_1||(Ac.prototype.um.call(this),this.w1o(this))},Dc.prototype.x1o=function(t){var e=this.c1f_1;this.c1f_1=e+1|0},Dc.prototype.w1o=function(t){if(!(this.c1f_1>0))throw ie(xt("Failed requirement."));var e=this;e.c1f_1=e.c1f_1-1|0,0===e.c1f_1&&(this.d1f_1||function(t){var e=t.t1n();if(null!=e){t.p1o(),t.q1o(null);for(var n=t.i15(),i=e.c();i.d();)for(var o=i.e().o1i();null!=o;)(o.g1i_1===n||Sn(t.a1f_1,o.g1i_1))&&(o.g1i_1=0),o=o.h1i_1}t.f1o()}(this))},Dc.prototype.t1g=function(){if(this.d1f_1||this.f15_1)return $t();this.y1o()},Dc.prototype.g1o=function(){gc(bc().m1o(this.i15()).z1o(this.a1f_1))},Dc.prototype.h1o=function(){this.a1p(),Ac.prototype.h1o.call(this)},Dc.prototype.p1o=function(){if(this.d1f_1)throw zt(xt("Unsupported operation on a snapshot that has been applied"))},Dc.prototype.s1o=function(){if(this.d1f_1&&!(this.g15_1>=0))throw zt(xt("Unsupported operation on a disposed or applied snapshot"))},Dc.prototype.v1o=function(t,e,n){for(var i=null,o=this.u1n().u1o(this.i15()).b1p(this.a1f_1),r=he(this.t1n()),s=null,a=r.c();a.d();){var u=a.e(),l=u.o1i(),c=th(l,t,n);if(null!=c){var h=c,f=th(l,this.i15(),o);if(null!=f){var p=f;if(!Ht(h,p)){var _,d=th(l,this.i15(),this.u1n());null==d?eh():_=d;var v=_,y=null==e?null:e.z2(h),m=null==y?u.q1i(p,h,v):y,g=m;if(null==g)return new Lc(this);if(Ht(g,v));else if(Ht(g,h)){var b,w,$=i;null==$?(i=w=jt(),b=w):b=$,b.a(te(u,h.f1i()));var x,k,j=s;null==j?(s=k=jt(),x=k):x=j,x.a(u)}else{var C,S,z=i;null==z?(i=S=jt(),C=S):C=z,C.a(Ht(m,p)?te(u,p.f1i()):te(u,m))}}}}}var M=i;if(null==M);else{this.y1o();var O=0,q=M.f()-1|0;if(O<=q){do{var P=O;O=O+1|0;var A=M.g(P),E=A.d9(),D=A.e9();D.g1i_1=this.i15(),mc(),D.h1i_1=E.o1i(),E.p1i(D),$t()}while(O<=q);$t()}}var I=s;return null==I||r.ia(I),Tc()},Dc.prototype.c1p=function(t){this.t1o(this.i15());var e=t();if(!this.d1f_1&&!this.f15_1){var n=this.i15(),i=(mc(),$c());wc(i+1|0),this.w1n(i),gc(bc().u1o(this.i15())),$t(),this.v1n(Yc(this.u1n(),n+1|0,this.i15()))}return e},Dc.prototype.y1o=function(){this.t1o(this.i15());var t=$t();if(!this.d1f_1&&!this.f15_1){var e=this.i15(),n=(mc(),$c());wc(n+1|0),this.w1n(n),gc(bc().u1o(this.i15())),$t(),this.v1n(Yc(this.u1n(),e+1|0,this.i15()))}return t},Dc.prototype.t1o=function(t){mc(),this.a1f_1=this.a1f_1.u1o(t),$t()},Dc.prototype.d1p=function(t){if(t>=0){var e,n,i=this.b1f_1;n=new Int32Array([t]),e=zn([i,n]),this.b1f_1=e}},Dc.prototype.e1p=function(t){if(0===t.length)return $t();var e=this.b1f_1;if(0===e.length)this.b1f_1=t;else{var n;n=zn([e,t]),this.b1f_1=n}},Dc.prototype.a1p=function(){var t=0,e=this.b1f_1.length-1|0;if(t<=e)do{var n=t;t=t+1|0,Bc(this.b1f_1[n])}while(t<=e)},Dc.prototype.f1p=function(t){mc(),this.a1f_1=this.a1f_1.b1p(t),$t()},Dc.prototype.e1o=function(t){var e,n=this.t1n();if(null==n){var i=fe();this.q1o(i),e=i}else e=n;e.a(t)},Dc.prototype.q1o=function(t){this.z1e_1=t},Dc.prototype.t1n=function(){return this.z1e_1},Dc.prototype.g1p=function(){return this.d1f_1},Dc.$metadata$=kt("MutableSnapshot",void 0,void 0,void 0,void 0,Ac.prototype),Ic.$metadata$=ne("Success",void 0,void 0,void 0,void 0,Rc.prototype),Lc.$metadata$=kt("Failure",void 0,void 0,void 0,void 0,Rc.prototype),Rc.$metadata$=kt("SnapshotApplyResult"),Nc.prototype.r1n=function(t,e){return nh((n=t,i=e,function(t){mc();var e=$c();return wc(e+1|0),new Dc(e,t,n,i)}));var n,i},Nc.prototype.t1g=function(){Wc()},Nc.prototype.a1q=function(t){Mh()},Nc.prototype.w1o=function(t){return this.a1q(t)},Nc.prototype.b1q=function(t){Mh()},Nc.prototype.x1o=function(t){return this.b1q(t)},Nc.prototype.f1f=function(){throw zt("Cannot apply the global snapshot directly. Call Snapshot.advanceGlobalSnapshot")},Nc.prototype.um=function(){mc(),this.y1n(),$t()},Nc.$metadata$=kt("GlobalSnapshot",void 0,void 0,void 0,void 0,Dc.prototype),Fc.prototype.j1i=function(t){this.g1i_1=t},Fc.prototype.k1i=function(t){this.h1i_1=t},Fc.$metadata$=kt("StateRecord"),Kc.prototype.e1h=function(){return this.x1q_1},Kc.prototype.um=function(){this.f15_1||(Dc.prototype.um.call(this),Uc(this))},Kc.prototype.f1f=function(){if(this.x1q_1.d1f_1||this.x1q_1.f15_1)return new Lc(this);var t=this.t1n(),e=this.i15(),n=null!=t?Jc(this.x1q_1,this,this.x1q_1.u1n()):null;if(mc(),Zc(this),null==t||0===t.f())this.f1o();else{var i=this.v1o(this.x1q_1.i15(),n,this.x1q_1.u1n());if(!Ht(i,Tc()))return i;var o,r=this.x1q_1.t1n();if(null==r){var s=fe();this.x1q_1.q1o(s),o=s}else o=r;o.c4(t)}return this.x1q_1.i15()0?this.e1q_1[0]:t},_h.prototype.i1q=function(t){!function(t,e){var n=t.e1q_1.length;if(e<=n)return $t();var i=bt(n,2),o=new Int32Array(i),r=new Int32Array(i),s=t.e1q_1,a=s.length;Be(s,o,0,0,a);var u=t.f1q_1,l=u.length;Be(u,r,0,0,l),t.e1q_1=o,t.f1q_1=r}(this,this.d1q_1+1|0);var e=this.d1q_1;this.d1q_1=e+1|0;var n=e,i=function(t){var e=t.g1q_1.length;if(t.h1q_1>=e){for(var n=0,i=bt(e,2),o=new Int32Array(i);n>1,o=e;o=0?(Pn(),e=i<64):e=!1,e)return!new Te(1,0).m9(i).uh(this.j1o_1).equals(new Te(0,0));if(Pn(),i>=64?(Pn(),n=i0)return!1;var r,s=this.l1o_1;return null!=(r=null==s?null:gh(s,t)>=0)&&r},mh.prototype.u1o=function(t){var e,n=t-this.k1o_1|0;if(n>=0?(Pn(),e=n<64):e=!1,e){var i=new Te(1,0).m9(n);if(this.j1o_1.uh(i).equals(new Te(0,0)))return new mh(this.i1o_1,this.j1o_1.vh(i),this.k1o_1,this.l1o_1)}else{var o;if(Pn(),n>=64?(Pn(),o=n=bt(64,2)){if(!this.g(t)){var a=this.i1o_1,u=this.j1o_1,l=this.k1o_1,c=null,h=t+1|0;Pn();var f=h/64|0;Pn();var p=bt(f,64);t:for(;l=0?(Pn(),e=n<64):e=!1,e){var i=new Te(1,0).m9(n);if(!this.j1o_1.uh(i).equals(new Te(0,0)))return new mh(this.i1o_1,this.j1o_1.uh(i.th()),this.k1o_1,this.l1o_1)}else{var o;if(Pn(),n>=64?(Pn(),o=n=0){var l=a.length-1|0;if(0===l)return new mh(this.i1o_1,this.j1o_1,this.k1o_1,null);var c=new Int32Array(l);return u>0&&Be(a,c,0,0,u),u=0},jh.prototype.p=function(){return this.k1s_1+1|0},jh.prototype.q=function(){kh(this),Ch(this.k1s_1,this.j1s_1.f());var t=this.j1s_1.g(this.k1s_1),e=this.k1s_1;return this.k1s_1=e-1|0,t},jh.prototype.d=function(){return this.k1s_1<(this.j1s_1.f()-1|0)},jh.prototype.e=function(){kh(this);var t=this.k1s_1+1|0;Ch(t,this.j1s_1.f());var e=this.j1s_1.g(t);return this.k1s_1=t,e},jh.prototype.d4=function(){kh(this),this.j1s_1.b4(this.k1s_1);var t=this.k1s_1;this.k1s_1=t-1|0,this.l1s_1=this.j1s_1.b1s()},jh.$metadata$=kt("StateListIterator",[hn]),Oh.$metadata$=wt("CompositionData"),qh.$metadata$=wt("CompositionGroup",[Oh]),Eh.prototype.vo=function(){return this.t19_1},Eh.prototype.z1q=function(t){this.t19_1=t},Eh.prototype.v19=function(t){var e=this.t19_1;return this.t19_1=t,e},Eh.prototype.z1a=function(t,e){var n;return Ht(t,this.t19_1)?(this.t19_1=e,n=!0):n=!1,n},Eh.$metadata$=kt("AtomicReference"),Dh.prototype.vo=function(){return this.a1c_1},Dh.prototype.b1c=function(t){this.a1c_1=t},Dh.$metadata$=kt("SnapshotThreadLocal"),Lh.prototype.d7=function(){var t=this.y6_1;t:for(;;)try{switch(this.w6_1){case 0:if(this.x6_1=2,this.w6_1=1,this.w1s_1=this,this.x1s_1=Fn(Dt(this.w1s_1)),window.requestAnimationFrame(Th(this.v1s_1,this.x1s_1)),(t=Ie(this.x1s_1.id(),this))===je())return t;continue t;case 1:return t;case 2:throw this.z6_1}}catch(t){if(2===this.x6_1)throw t;this.w6_1=this.x6_1,this.z6_1=t}},Lh.$metadata$=kt("$withFrameNanosCOROUTINE$4",void 0,void 0,void 0,void 0,xe.prototype),Rh.prototype.ow=function(t,e){var n=new Lh(this,t,e);return n.y6_1=$t(),n.z6_1=null,n.d7()},Rh.$metadata$=kt("MonotonicClockImpl",[Pr]),Fh.prototype.c15=function(t){return null},Fh.prototype.o15=function(t){},Fh.$metadata$=ne("Trace"),Vh.$metadata$=wt("ComposableLambda"),Uh.prototype.o1n=function(t){if(!Ht(this.l1n_1,t)){var e=null==this.l1n_1;this.l1n_1=t,e||function(t){if(t.k1n_1){var e=t.m1n_1;null!=e&&(e.m1b(),t.m1n_1=null);var n=t.n1n_1;if(null!=n){var i=0,o=n.f();if(i=2)for(var n=qt(Ot(e).i27_1.a3()),i=e.c(),o=0;i.d();){var r=o;o=o+1|0;var s=i.e();if(0!==r){var a=qt(s.i27_1.a3());if(!yt(n,a))throw Pt(zt("Invalid order. Expected '"+n+"', but found '"+a+"'"))}}}(0,i);var w=function(t,e){return wt(e," vs ",null,null,0,null,Kn,30,null)}(0,i);return n.a(new Xn(w,"",i)),n}(t,e))}function Nn(t,e){return t.x27_1.p8(e)}function Fn(t,e){var n=t.w27_1.o8(e," "),i=At("\\s{2,}").o8(n," ");return zt(St(Ct(i)?i:vt()))}function Bn(t,e){var n=Fn(t,e);return Et("genericTitleParsing : '"+e+"' -> '"+n+"'"),n}function Hn(t,e){return!function(t,e){return t.v27_1.p8(e)}(t,e)}function Vn(t,e,n){var i;if(!Dt(n,e,!1,2,null))throw Pt(zt("Invalid "+e+".Expected to start with '"+e+"' but found '"+n+"'"));var o=It(n,e,"",!1,4,null);i=At("\\s+").o8(o," ");for(var r=xt(i,[", "],!1,0,6,null),s=jt(kt(r,10)),a=r.c();a.d();){var u,l,c=a.e(),h=It(c,",","",!1,4,null);l=zt(St(Ct(h)?h:vt())),u=xt(l,[" "],!1,0,6,null),s.a(u)}for(var f=s,p=Mt(),_=f.c();_.d();){var d=_.e(),v=d.g(0),y=d.g(1),m=Tt(y);p.n3(v,m)}return p}function Wn(t,e){var n;t:{for(var i=e.u27_1.c();i.d();){var o=i.e();if(Dt(t,o,!1,2,null)){n=o;break t}}n=null}return n}function Un(t){return zt(St(Ct(t)?t:vt()))}function Kn(t){return t.h27_1}function Yn(){v=this;for(var t,e=En(),n=jt(e.length),i=e,o=0,r=i.length;o "+_);for(var y=Mt(),m=Jt(["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=p.c();g.d();){var b,w=g.e(),$=xt(w,[" "],!1,0,6,null).g(0),x=y.z2($);if(null==x){if(m.h())throw Pt("lineColors exhausted");var k=Ot(m);m.ga(k);var j=k;y.n3($,j),b=j}else b=x;var C=b;i.n3(w,C)}var S=new ri(i,y);return Et("groupMap: "+S),S}function ai(t,e){this.n28_1=t,this.o28_1=e,this.p28_1=8}function ui(t,e,n,i,o,r){return function(t,e,n,i,o,r,s){return 0!=(8&o)&&(i="col-lg-6"),li.call(s,t,e,n,i),s}(t,e,n,i,o,0,Object.create(li.prototype))}function li(t,e,n,i){this.s28_1=t,this.t28_1=e,this.u28_1=n,this.v28_1=i,this.w28_1=8}function ci(t,e,n){this.z27_1=t,this.a28_1=e,this.b28_1=n,this.c28_1=0}function hi(){g=this}function fi(t,e,n){var i=e;return Qt()&&Zt(2098833845,n,-1,"components.ComposableSingletons$AutoFormUiKt.lambda-1. (AutoFormUi.kt:30)"),te("⌨️ Input",i,6),Qt()&&ee(),mt()}function pi(t,e,n){var i=e;return Qt()&&Zt(-1047390949,n,-1,"components.ComposableSingletons$AutoFormUiKt.lambda-2. (AutoFormUi.kt:58)"),te("Benchmark :",i,6),Qt()&&ee(),mt()}function _i(t,e,n){var i=e;return Qt()&&Zt(-1553178399,n,-1,"components.ComposableSingletons$AutoFormUiKt.lambda-3. (AutoFormUi.kt:89)"),te("💾 SAVE",i,6),Qt()&&ee(),mt()}function di(){var t;b=this,this.g29_1=(t=ne(2098833845,!1,fi),function(e,n,i){return t.y1s(e,n,i)}),this.h29_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(ne(-1047390949,!1,pi)),this.i29_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(ne(-1553178399,!1,_i))}function vi(){return null==b&&new di,b}function yi(t,e,n,i,o,r,s,a,u,l){var c=u;c=c.y17(1546286992),ie(c,"C(FormUi$composable)P(!1,7,6,2,4,5,3)");var h,f=l;Qt()&&Zt(1546286992,f,-1,"components.FormUi$composable (AutoFormUi.kt:14)");var p=c;p.pw(-1124426577),ie(p,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var _,d,v,y=p,m=!!(p.qw(i)|p.qw(t)),g=y.rw();if(m||g===oe().tw_1){var b=(d=new mi(i,t,null),(v=function(t,e){return d.a1e(t,e)}).$arity=1,v);y.sw(b),_=b}else _=g;var w=_,$=null==w||re(w)?w:vt();p.uw(),h=$,se(mt(),h,c,64),ae(null,vi().g29_1,c,48,1);var x=ue(c,950905109,!0,function(t,e,n,i,o,r,s,a,u){return function(l,c,h){var f=c;Qt()&&Zt(950905109,h,-1,"components.FormUi$composable. (AutoFormUi.kt:34)");var p=ue(f,-1972588882,!0,function(t,e,n,i,o,r,s,a,u){return function(l,c,h){var f=c;Qt()&&Zt(-1972588882,h,-1,"components.FormUi$composable.. (AutoFormUi.kt:35)"),f.s14(-1629932720,"inputForm"),fo(t,e,n,i,o,f,64|14&r>>3|896&r>>9|7168&r>>9|57344&r>>9);var p=f;p.pw(547886695),ie(p,"C(remember$composable):Composables.kt#9igjgp");var _,d=p,v=d.rw();if(v===oe().tw_1){var y=gi;d.sw(y),_=y}else _=v;var m=_,g=null==m||re(m)?m:vt();p.uw();var b=g,w=ue(f,-1534844198,!0,function(t,e,n){return function(e,i,o){var r=i;Qt()&&Zt(-1534844198,o,-1,"components.FormUi$composable.... (AutoFormUi.kt:51)");var s=r;s.pw(547886695),ie(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,l=u.rw();if(l===oe().tw_1){var c=bi;u.sw(c),a=c}else a=l;var h,f=a,p=null==f||re(f)?f:vt();s.uw(),de("benchmark",p,vi().h29_1,r,390,0);var _=r;_.pw(-1124426577),ie(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.qw(n)|_.qw(t)),m=v.rw();if(y||m===oe().tw_1){var g=function(t,e){return function(n){return n.i1v("benchmark"),n.h1v(["form-control"]),pe(n,"Benchmark data"),_e(n,20),n.v22(function(t,e){return function(n){return t(e.e29(n.q25_1,!1,!1,6,null)),mt()}}(t,e)),mt()}}(n,t);v.sw(g),d=g}else d=m;var b=d,w=null==b||re(b)?b:vt();return _.uw(),h=w,ve(t.z27_1,h,r,0,0),Qt()&&(ee(),mt()),mt()}}(s,0,u)),$=f;$.pw(-838505973),ie($,"C(remember$composable)P(1):Composables.kt#9igjgp");var x,k,j=$,C=$.qw(w),S=j.rw();if(C||S===oe().tw_1){var z=(k=w,function(t,e,n){return k.y1s(t,e,n)});j.sw(z),x=z}else x=S;var M=x,O=null==M||re(M)?M:vt();$.uw(),le(b,O,f,48,0);var q=f;q.pw(-1124426577),ie(q,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var P,A=q,E=!!(q.qw(s)|q.qw(a)),D=A.rw();if(E||D===oe().tw_1){var I=function(t,e){return function(n){return n.h1v(["btn","btn-dark","float-end"]),n.f1v(wi),Nt(t.z27_1)&&(n.p1u("disabled","true"),mt()),n.l1v(function(t,e){return function(n){return t(e),mt()}}(e,t)),be(n,ge()),mt()}}(s,a);A.sw(I),P=I}else P=D;var T=P,L=null==T||re(T)?T:vt();return q.uw(),we(L,vi().i29_1,f,48,0),f.v14(),Qt()&&(ee(),mt()),mt()}}(t,e,n,i,o,r,s,a,u)),_=f;_.pw(-838505973),ie(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.qw(p),g=y.rw();if(m||g===oe().tw_1){var b=(v=p,function(t,e,n){return v.y1s(t,e,n)});y.sw(b),d=b}else d=g;var w=d,$=null==w||re(w)?w:vt();return _.uw(),$e(null,null,$,f,384,3),Qt()&&(ee(),mt()),mt()}}(e,n,r,s,a,f,t,o,i)),k=c;k.pw(-838505973),ie(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,C,S=k,z=k.qw(x),M=S.rw();if(z||M===oe().tw_1){var O=(C=x,function(t,e,n){return C.y1s(t,e,n)});S.sw(O),j=O}else j=M;var q=j,P=null==q||re(q)?q:vt();k.uw(),le(null,P,c,48,1),Qt()&&ee();var A=c.z17();null===A||A.u18(function(t,e,n,i,o,r,s,a,u){return function(l,c){return function(t,e,n,i,o,r,s,a,u,l,c){yi(t,e,n,i,o,r,s,a,l,1|u)}(t,e,n,i,o,r,s,a,u,l),mt()}}(t,e,n,i,o,r,s,a,l))}function mi(t,e,n){this.t29_1=t,this.u29_1=e,ce.call(this,n)}function gi(t){return t.h1v(["form-group"]),mt()}function bi(t){return t.h1v(["form-label"]),mt()}function wi(t){return me(t,ye(10)),mt()}function $i(t,e,n){var i=e;return Qt()&&Zt(1529185564,n,-1,"components.ComposableSingletons$AutoGroupToggleKt.lambda-1. (AutoGroupToggle.kt:29)"),te("Auto Group:",i,6),Qt()&&ee(),mt()}function xi(){var t;w=this,this.w29_1=(t=ne(1529185564,!1,$i),function(e,n,i){return t.y1s(e,n,i)})}function ki(t,e,n,i){var o=n;o=o.y17(442093563),ie(o,"C(AutoGroup$composable)");var r,s,a,u=i;if(0==(14&i)&&(u|=o.u17(t)?4:2),0==(112&i)&&(u|=o.qw(e)?32:16),18==(91&u)&&o.g16())o.k12();else{Qt()&&Zt(442093563,u,-1,"components.AutoGroup$composable (AutoGroupToggle.kt:10)");var l=o;l.pw(547886695),ie(l,"C(remember$composable):Composables.kt#9igjgp");var c,h=l,f=h.rw();if(f===oe().tw_1){var p=ji;h.sw(p),c=p}else c=f;var _=c,d=null==_||re(_)?_:vt();l.uw();var v=d,y=ue(o,1468648411,!0,(s=t,a=e,function(t,e,n){var i=e;Qt()&&Zt(1468648411,n,-1,"components.AutoGroup$composable. (AutoGroupToggle.kt:21)");var o=i;o.pw(547886695),ie(o,"C(remember$composable):Composables.kt#9igjgp");var r,u=o,l=u.rw();if(l===oe().tw_1){var c=Si;u.sw(c),r=c}else r=l;var h=r,f=null==h||re(h)?h:vt();o.uw(),de("colorMap",f,(null==w&&new xi,w).w29_1,i,390,0),ke(null,i,0,1);var p=i;p.pw(-1124426577),ie(p,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var _,d=p,v=!!(p.qw(s)|p.qw(a)),y=d.rw();if(v||y===oe().tw_1){var m=function(t,e){return function(n){return n.i1v("colorMap"),n.h1v(["btn",t?"btn-success":"btn-secondary"]),n.l1v(function(t){return function(e){return t(),mt()}}(e)),be(n,ge()),mt()}}(s,a);d.sw(m),_=m}else _=y;var g=_,b=null==g||re(g)?g:vt();p.uw();var $=b,x=ue(i,-431302815,!0,function(t){return function(e,n,i){var o=n;return Qt()&&Zt(-431302815,i,-1,"components.AutoGroup$composable.. (AutoGroupToggle.kt:42)"),te(t?"ON":"OFF",o,0),Qt()&&(ee(),mt()),mt()}}(s)),k=i;k.pw(-838505973),ie(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,C,S=k,z=k.qw(x),M=S.rw();if(z||M===oe().tw_1){var O=(C=x,function(t,e,n){return C.y1s(t,e,n)});S.sw(O),j=O}else j=M;var q=j,P=null==q||re(q)?q:vt();return k.uw(),we($,P,i,48,0),Qt()&&(ee(),mt()),mt()})),m=o;m.pw(-838505973),ie(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,b=m,$=m.qw(y),x=b.rw();if($||x===oe().tw_1){var k=(r=y,function(t,e,n){return r.y1s(t,e,n)});b.sw(k),g=k}else g=x;var j=g,C=null==j||re(j)?j:vt();m.uw(),le(v,C,o,48,0),Qt()&&ee()}var S=o.z17();null===S||S.u18(function(t,e,n){return function(i,o){return function(t,e,n,i,o){ki(t,e,i,1|n)}(t,e,n,i),mt()}}(t,e,i))}function ji(t){return t.h1v(["form-group"]),t.f1v(Ci),mt()}function Ci(t){return xe(t,ye(10)),mt()}function Si(t){return t.h1v(["form-label"]),mt()}function zi(t,e,n,i,o){var r=i;r=r.y17(-1178138425),ie(r,"C(ChartUi$composable)P(2,1)");var s=o;Qt()&&Zt(-1178138425,s,-1,"components.ChartUi$composable (ChartUi.kt:14)");var a,u=ue(r,-1469495048,!0,(a=n,function(t,e,n){var i=e;return Qt()&&Zt(-1469495048,n,-1,"components.ChartUi$composable. (ChartUi.kt:19)"),te(a.s28_1+" "+a.t28_1,i,0),Qt()&&(ee(),mt()),mt()})),l=r;l.pw(-838505973),ie(l,"C(remember$composable)P(1):Composables.kt#9igjgp");var c,h,f=l,p=l.qw(u),_=f.rw();if(p||_===oe().tw_1){var d=(h=u,function(t,e,n){return h.y1s(t,e,n)});f.sw(d),c=d}else c=_;var v=c,y=null==v||re(v)?v:vt();l.uw(),ae(null,y,r,48,1);var m=r;m.pw(547886695),ie(m,"C(remember$composable):Composables.kt#9igjgp");var b,w=m,$=w.rw();if($===oe().tw_1){var x=Mi;w.sw(x),b=x}else b=$;var k=b,j=null==k||re(k)?k:vt();m.uw();var C=j,S=ue(r,1870993739,!0,function(t,e,n,i){return function(o,r,s){var a=r;return Qt()&&Zt(1870993739,s,-1,"components.ChartUi$composable. (ChartUi.kt:32)"),De(t,e,function(t,e,n,i){return function(o){for(var r=$t(),s=t.u28_1.u().c();s.d();){var a,u,l=s.e(),c=l.j2(),h=l.l2(),f={};f.label=c;var p,_=h.b3();if(u=Pe(_),f.data=u,e){var d=n.j28_1,v=f.label;p=(fe(d,Ae)?d:vt()).z2(v)}else p=["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)"];f.borderColor=p,f.borderWidth=3,a=f,r.a(a)}var y,m,b=i.f22(o),w={};null==g&&new hi,y="line",w.type=y;for(var $,x={},k=t.u28_1.b3(),j=$t(),C=k.c();C.d();){var S;S=C.e().a3(),Xt(j,S)}var z,M,O=Kt(j),q=Pe(O);Et("labels: "+Ee(q)),$=q,x.labels=$,z=Pe(r),x.datasets=z,m=x,w.data=m;var P,A,E={},D={};return A={display:!0},E.title=A,P=D,E.plugins=P,M=E,w.options=M,new qi(new N(b,w))}}(t,e,i,o),a,8|112&n<<3),Qt()&&(ee(),mt()),mt()}}(n,t,s,e)),z=r;z.pw(-838505973),ie(z,"C(remember$composable)P(1):Composables.kt#9igjgp");var M,O=z,q=z.qw(S),P=O.rw();if(q||P===oe().tw_1){var A=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(S);O.sw(A),M=A}else M=P;var E=M,D=null==E||re(E)?E:vt();z.uw(),je(C,D,r,48,0),Qt()&&ee();var I=r.z17();null===I||I.u18(function(t,e,n,i){return function(o,r){return function(t,e,n,i,o,r){zi(t,e,n,o,1|i)}(t,e,n,i,o),mt()}}(t,e,n,o))}function Mi(t){return t.f1v(Oi),mt()}function Oi(t){return Se(t,Ce(100)),ze(t,Ce(100)),Me(t,ye(700)),Oe(t,ye(700)),mt()}function qi(t){this.y29_1=t}function Pi(t,e,n){var i=e;return Qt()&&Zt(-646215327,n,-1,"components.ComposableSingletons$EditableTitleKt.lambda-1. (EditableTitle.kt:29)"),te("Title :",i,6),Qt()&&ee(),mt()}function Ai(t,e,n){var i=e;Qt()&&Zt(1730974274,n,-1,"components.ComposableSingletons$EditableTitleKt.lambda-2. (EditableTitle.kt:23)");var o=i;o.pw(547886695),ie(o,"C(remember$composable):Composables.kt#9igjgp");var r,s=o,a=s.rw();if(a===oe().tw_1){var u=Ei;s.sw(u),r=u}else r=a;var l=r,c=null==l||re(l)?l:vt();o.uw(),de("customTitle",c,Ni().z29_1,i,390,0);var h=Ie(),f=i;f.pw(547886695),ie(f,"C(remember$composable):Composables.kt#9igjgp");var p,_=f,d=_.rw();if(d===oe().tw_1){var v=Di;_.sw(v),p=v}else p=d;var y=p,m=null==y||re(y)?y:vt();return f.uw(),Te(h,m,i,8),Qt()&&ee(),mt()}function Ei(t){return t.h1v(["form-label"]),mt()}function Di(t){return t.i1v("customTitle"),t.h1v(["form-control"]),Le(t,"Custom title goes here"),t.f1v(Ii),mt()}function Ii(t){return Re(t,ye(24)),mt()}function Ti(t,e,n){var i=e;Qt()&&Zt(1174811809,n,-1,"components.ComposableSingletons$EditableTitleKt.lambda-3. (EditableTitle.kt:18)");var o=i;o.pw(547886695),ie(o,"C(remember$composable):Composables.kt#9igjgp");var r,s=o,a=s.rw();if(a===oe().tw_1){var u=Li;s.sw(u),r=u}else r=a;var l=r,c=null==l||re(l)?l:vt();return o.uw(),le(c,Ni().a2a_1,i,48,0),Qt()&&ee(),mt()}function Li(t){return t.h1v(["form-group"]),mt()}function Ri(){var t;$=this,this.z29_1=(t=ne(-646215327,!1,Pi),function(e,n,i){return t.y1s(e,n,i)}),this.a2a_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(ne(1730974274,!1,Ai)),this.b2a_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(ne(1174811809,!1,Ti))}function Ni(){return null==$&&new Ri,$}function Fi(t,e){var n=t;if(n=n.y17(1068528252),ie(n,"C(EditableTitle$composable)"),0===e&&n.g16())n.k12();else{Qt()&&Zt(1068528252,e,-1,"components.EditableTitle$composable (EditableTitle.kt:13)");var i=n;i.pw(547886695),ie(i,"C(remember$composable):Composables.kt#9igjgp");var o,r=i,s=r.rw();if(s===oe().tw_1){var a=Bi;r.sw(a),o=a}else o=s;var u=o,l=null==u||re(u)?u:vt();i.uw(),le(l,Ni().b2a_1,n,48,0),Qt()&&ee()}var c,h=n.z17();null===h||h.u18((c=e,function(t,e){return function(t,e,n){Fi(e,1|t)}(c,t),mt()}))}function Bi(t){return t.h1v(["row"]),mt()}function Hi(t,e,n){var i=e;i=i.y17(-1873638994),ie(i,"C(ErrorUi$composable)");var o,r,s=n;if(0==(14&n)&&(s|=i.qw(t)?4:2),2==(11&s)&&i.g16())i.k12();else{Qt()&&Zt(-1873638994,n,-1,"components.ErrorUi$composable (Error.kt:8)");var a=i;a.pw(547886695),ie(a,"C(remember$composable):Composables.kt#9igjgp");var u,l=a,c=l.rw();if(c===oe().tw_1){var h=Vi;l.sw(h),u=h}else u=c;var f=u,p=null==f||re(f)?f:vt();a.uw();var _=p,d=ue(i,1938269174,!0,(r=t,function(t,e,n){var i=e;Qt()&&Zt(1938269174,n,-1,"components.ErrorUi$composable. (Error.kt:11)");var o=i;o.pw(547886695),ie(o,"C(remember$composable):Composables.kt#9igjgp");var s,a=o,u=a.rw();if(u===oe().tw_1){var l=Wi;a.sw(l),s=l}else s=u;var c=s,h=null==c||re(c)?c:vt();o.uw();var f=h,p=ue(i,-1978518889,!0,function(t){return function(e,n,i){var o=n;Qt()&&Zt(-1978518889,i,-1,"components.ErrorUi$composable.. (Error.kt:14)");var r=o;r.pw(547886695),ie(r,"C(remember$composable):Composables.kt#9igjgp");var s,a=r,u=a.rw();if(u===oe().tw_1){var l=Ui;a.sw(l),s=l}else s=u;var c=s,h=null==c||re(c)?c:vt();r.uw();var f=h,p=ue(o,153044343,!0,function(t){return function(e,n,i){var o=n;return Qt()&&Zt(153044343,i,-1,"components.ErrorUi$composable... (Error.kt:17)"),te("❌ "+t,o,0),Qt()&&(ee(),mt()),mt()}}(t)),_=o;_.pw(-838505973),ie(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.qw(p),g=y.rw();if(m||g===oe().tw_1){var b=(v=p,function(t,e,n){return v.y1s(t,e,n)});y.sw(b),d=b}else d=g;var w=d,$=null==w||re(w)?w:vt();return _.uw(),Ne(f,$,o,48,0),Qt()&&(ee(),mt()),mt()}}(r)),_=i;_.pw(-838505973),ie(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.qw(p),g=y.rw();if(m||g===oe().tw_1){var b=(v=p,function(t,e,n){return v.y1s(t,e,n)});y.sw(b),d=b}else d=g;var w=d,$=null==w||re(w)?w:vt();return _.uw(),le(f,$,i,48,0),Qt()&&(ee(),mt()),mt()})),v=i;v.pw(-838505973),ie(v,"C(remember$composable)P(1):Composables.kt#9igjgp");var y,m=v,g=v.qw(d),b=m.rw();if(g||b===oe().tw_1){var w=(o=d,function(t,e,n){return o.y1s(t,e,n)});m.sw(w),y=w}else y=b;var $=y,x=null==$||re($)?$:vt();v.uw(),le(_,x,i,48,0),Qt()&&ee()}var k=i.z17();null===k||k.u18(function(t,e){return function(n,i){return function(t,e,n,i){Hi(t,n,1|e)}(t,e,n),mt()}}(t,n))}function Vi(t){return t.h1v(["row"]),mt()}function Wi(t){return t.h1v(["col-lg-12"]),mt()}function Ui(t){return t.h1v(["text-center"]),mt()}function Ki(t,e,n){var i=e;return Qt()&&Zt(-1817257175,n,-1,"components.ComposableSingletons$HeadingKt.lambda-1. (Heading.kt:21)"),te("📊 benchart",i,6),Qt()&&ee(),mt()}function Yi(t,e,n){var i=e;Qt()&&Zt(-1445218266,n,-1,"components.ComposableSingletons$HeadingKt.lambda-2. (Heading.kt:18)");var o=i;o.pw(547886695),ie(o,"C(remember$composable):Composables.kt#9igjgp");var r,s=o,a=s.rw();if(a===oe().tw_1){var u=Gi;s.sw(u),r=u}else r=a;var l=r,c=null==l||re(l)?l:vt();return o.uw(),Fe(c,to().c2a_1,i,48,0),Qt()&&ee(),mt()}function Gi(t){return t.h1v(["text-center"]),mt()}function Xi(t,e,n){var i=e;Qt()&&Zt(-1522093819,n,-1,"components.ComposableSingletons$HeadingKt.lambda-3. (Heading.kt:11)");var o=i;o.pw(547886695),ie(o,"C(remember$composable):Composables.kt#9igjgp");var r,s=o,a=s.rw();if(a===oe().tw_1){var u=Ji;s.sw(u),r=u}else r=a;var l=r,c=null==l||re(l)?l:vt();return o.uw(),le(c,to().d2a_1,i,48,0),Qt()&&ee(),mt()}function Ji(t){return t.h1v(["col-lg-12"]),t.f1v(Zi),mt()}function Zi(t){return Be(t,ye(30)),me(t,ye(30)),mt()}function Qi(){var t;x=this,this.c2a_1=(t=ne(-1817257175,!1,Ki),function(e,n,i){return t.y1s(e,n,i)}),this.d2a_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(ne(-1445218266,!1,Yi)),this.e2a_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(ne(-1522093819,!1,Xi))}function to(){return null==x&&new Qi,x}function eo(t,e){var n=t;if(n=n.y17(1340484778),ie(n,"C(Heading$composable)"),0===e&&n.g16())n.k12();else{Qt()&&Zt(1340484778,e,-1,"components.Heading$composable (Heading.kt:8)");var i=n;i.pw(547886695),ie(i,"C(remember$composable):Composables.kt#9igjgp");var o,r=i,s=r.rw();if(s===oe().tw_1){var a=no;r.sw(a),o=a}else o=s;var u=o,l=null==u||re(u)?u:vt();i.uw(),le(l,to().e2a_1,n,48,0),Qt()&&ee()}var c,h=n.z17();null===h||h.u18((c=e,function(t,e){return function(t,e,n){eo(e,1|t)}(c,t),mt()}))}function no(t){return t.h1v(["row"]),mt()}function io(t,e){this.f2a_1=t,this.g2a_1=e,this.h2a_1=0}function oo(t){this.i2a_1=t,this.j2a_1=8}function ro(){return ko(),k}function so(t,e,n){var i=e;return Qt()&&Zt(37561396,n,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-1. (SavedBenchmarksDropDown.kt:35)"),te("Load Benchmark :",i,6),Qt()&&ee(),mt()}function ao(t,e,n){var i=e;return Qt()&&Zt(-32633967,n,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-2. (SavedBenchmarksDropDown.kt:88)"),te("Unsaved benchmark",i,6),Qt()&&ee(),mt()}function uo(t,e,n){var i=e;return Qt()&&Zt(-652929765,n,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-3. (SavedBenchmarksDropDown.kt:114)"),te("LOAD",i,6),Qt()&&ee(),mt()}function lo(t,e,n){var i=e;return Qt()&&Zt(-1219865148,n,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-4. (SavedBenchmarksDropDown.kt:130)"),te("DELETE",i,6),Qt()&&ee(),mt()}function co(){var t;j=this,this.k2a_1=(t=ne(37561396,!1,so),function(e,n,i){return t.y1s(e,n,i)}),this.l2a_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(ne(-32633967,!1,ao)),this.m2a_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(ne(-652929765,!1,uo)),this.n2a_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(ne(-1219865148,!1,lo))}function ho(){return null==j&&new co,j}function fo(t,e,n,i,o,r,s){ko();var a=r;a=a.y17(-441302567),ie(a,"C(SavedBenchmarksDropDown$composable)P(4,3,2,1)");var u,l,c,h,f,p,_=s;if(Qt()&&Zt(-441302567,_,-1,"components.SavedBenchmarksDropDown$composable (SavedBenchmarksDropDown.kt:15)"),e.h()){Qt()&&ee();var d=a.z17();return null===d||d.u18((u=t,l=e,c=n,h=i,f=o,p=s,function(t,e){return function(t,e,n,i,o,r,s,a){fo(t,e,n,i,o,s,1|r)}(u,l,c,h,f,p,t),mt()})),mt()}var v=a;v.pw(-838505973),ie(v,"C(remember$composable)P(1):Composables.kt#9igjgp");var y,m=v,g=v.qw(e),b=m.rw();if(g||b===oe().tw_1){var w=Ot(e),$=Ke(w,null,2,null);m.sw($),y=$}else y=b;var x=y,k=null==x||re(x)?x:vt();v.uw();var j=k,C=a;C.pw(547886695),ie(C,"C(remember$composable):Composables.kt#9igjgp");var S,z=C,M=z.rw();if(M===oe().tw_1){var O=_o;z.sw(O),S=O}else S=M;var q=S,P=null==q||re(q)?q:vt();C.uw(),de("savedBenchmarks",P,ho().k2a_1,a,390,0);var A=a;A.pw(547886695),ie(A,"C(remember$composable):Composables.kt#9igjgp");var E,D=A,I=D.rw();if(I===oe().tw_1){var T=vo;D.sw(T),E=T}else E=I;var L=E,R=null==L||re(L)?L:vt();A.uw();var N=R,F=ue(a,549151222,!0,function(t,e,n,i,o,r,s){return function(i,a,u){var l=a;Qt()&&Zt(549151222,u,-1,"components.SavedBenchmarksDropDown$composable. (SavedBenchmarksDropDown.kt:43)");var c=l;c.pw(547886695),ie(c,"C(remember$composable):Composables.kt#9igjgp");var h,f=c,p=f.rw();if(p===oe().tw_1){var _=yo;f.sw(_),h=_}else h=p;var d=h,v=null==d||re(d)?d:vt();c.uw();var y=v,m=ue(l,1940859863,!0,function(t,e,n,i,o,r,s){return function(i,a,u){var l=a;Qt()&&Zt(1940859863,u,-1,"components.SavedBenchmarksDropDown$composable.. (SavedBenchmarksDropDown.kt:48)");var c=l;c.pw(547886695),ie(c,"C(remember$composable):Composables.kt#9igjgp");var h,f=c,p=f.rw();if(p===oe().tw_1){var _=mo;f.sw(_),h=_}else h=p;var d=h,v=null==d||re(d)?d:vt();c.uw();var y=v,m=ue(l,461626232,!0,function(t,e,n,i,o){return function(i,r,s){var a=r;Qt()&&Zt(461626232,s,-1,"components.SavedBenchmarksDropDown$composable... (SavedBenchmarksDropDown.kt:54)");var u=function(t,e,n){return function(i){return i.h1v(["form-select"]),i.i1v("savedBenchmarks"),i.j22(function(t,e,n){return function(i){var o=i.q24_1;if(null==o);else{var r;t(o);t:{for(var s=e.c();s.d();){var a=s.e();if(a.f2a_1===o){r=a;break t}}r=null}(function(t,e){ko(),Xe("selectedBenchmark",Ye,!0,(function(){return Ge()})),t.us(e)})(n,Je(r)),mt()}return mt()}}(t,e,n)),mt()}}(t,e,n),l=ue(a,1692700999,!0,function(t,e,n,i){return function(e,o,r){var s=o;Qt()&&Zt(1692700999,r,-1,"components.SavedBenchmarksDropDown$composable.... (SavedBenchmarksDropDown.kt:67)");for(var a=t.c();a.d();){var u=a.e(),l=s;l.pw(-1058148781),ie(l,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var c,h=l,f=!!(!!(l.qw(u)|l.qw(n))|l.qw(i)),p=h.rw();if(f||p===oe().tw_1){var _=go(u,i,n);h.sw(_),c=_}else c=p;var d=c,v=null==d||re(d)?d:vt();l.uw();var y,m=v,g=ue(s,1052804723,!0,bo(u)),b=s;b.pw(-838505973),ie(b,"C(remember$composable)P(1):Composables.kt#9igjgp");var w,$=b,x=b.qw(g),k=$.rw();if(x||k===oe().tw_1){var j=wo(g);$.sw(j),w=j}else w=k;var C=w,S=null==C||re(C)?C:vt();b.uw(),y=S,Qe(u.f2a_1,m,y,s,384,0)}var z=ro(),M=s;M.pw(-838505973),ie(M,"C(remember$composable)P(1):Composables.kt#9igjgp");var O,q=M,P=M.qw(i),A=q.rw();if(P||A===oe().tw_1){var E=function(t){return function(e){return t&&(Ze(e),mt()),mt()}}(i);q.sw(E),O=E}else O=A;var D=O,I=null==D||re(D)?D:vt();return M.uw(),Qe(z,I,ho().l2a_1,s,390,0),Qt()&&(ee(),mt()),mt()}}(e,0,n,o)),c=a;c.pw(-838505973),ie(c,"C(remember$composable)P(1):Composables.kt#9igjgp");var h,f,p=c,_=c.qw(l),d=p.rw();if(_||d===oe().tw_1){var v=(f=l,function(t,e,n){return f.y1s(t,e,n)});p.sw(v),h=v}else h=d;var y=h,m=null==y||re(y)?y:vt();return c.uw(),tn(u,!1,m,a,384,2),Qt()&&(ee(),mt()),mt()}}(t,e,n,0,o)),g=l;g.pw(-838505973),ie(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var b,w,$=g,x=g.qw(m),k=$.rw();if(x||k===oe().tw_1){var j=(w=m,function(t,e,n){return w.y1s(t,e,n)});$.sw(j),b=j}else b=k;var C=b,S=null==C||re(C)?C:vt();g.uw(),le(y,S,l,48,0);var z=l;z.pw(547886695),ie(z,"C(remember$composable):Composables.kt#9igjgp");var M,O=z,q=O.rw();if(q===oe().tw_1){var P=$o;O.sw(P),M=P}else M=q;var A=M,E=null==A||re(A)?A:vt();z.uw();var D=E,I=ue(l,-282119967,!0,function(t,e,n,i,o){return function(t,r,s){var a=r;Qt()&&Zt(-282119967,s,-1,"components.SavedBenchmarksDropDown$composable... (SavedBenchmarksDropDown.kt:98)");var u=a;u.pw(-1058148781),ie(u,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var l,c=u,h=!!(!!(u.qw(e)|u.qw(n))|u.qw(i)),f=c.rw();if(h||f===oe().tw_1){var p=function(t,e,n){return function(i){return i.h1v(["btn","btn-primary"]),i.f1v(xo),i.l1v(function(t,e){return function(n){return t(po(e)),mt()}}(e,n)),be(i,ge()),t&&(nn(i),mt()),mt()}}(i,e,n);c.sw(p),l=p}else l=f;var _=l,d=null==_||re(_)?_:vt();u.uw(),we(d,ho().m2a_1,a,48,0);var v=a;v.pw(-1058148781),ie(v,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var y,m=v,g=!!(!!(v.qw(o)|v.qw(n))|v.qw(i)),b=m.rw();if(g||b===oe().tw_1){var w=function(t,e,n){return function(i){return i.h1v(["btn","btn-danger"]),i.l1v(function(t,e){return function(n){return t(po(e)),mt()}}(e,n)),be(i,ge()),t&&(nn(i),mt()),mt()}}(i,o,n);m.sw(w),y=w}else y=b;var $=y,x=null==$||re($)?$:vt();return v.uw(),we(x,ho().n2a_1,a,48,0),Qt()&&(ee(),mt()),mt()}}(0,r,n,o,s)),T=l;T.pw(-838505973),ie(T,"C(remember$composable)P(1):Composables.kt#9igjgp");var L,R=T,N=T.qw(I),F=R.rw();if(N||F===oe().tw_1){var B=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(I);R.sw(B),L=B}else L=F;var H=L,V=null==H||re(H)?H:vt();return T.uw(),le(D,V,l,48,0),Qt()&&(ee(),mt()),mt()}}(t,e,n,0,o,r,s)),g=l;g.pw(-838505973),ie(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var b,w,$=g,x=g.qw(m),k=$.rw();if(x||k===oe().tw_1){var j=(w=m,function(t,e,n){return w.y1s(t,e,n)});$.sw(j),b=j}else b=k;var C=b,S=null==C||re(C)?C:vt();return g.uw(),le(y,S,l,48,0),Qt()&&(ee(),mt()),mt()}}(n,e,j,0,t,i,o)),B=a;B.pw(-838505973),ie(B,"C(remember$composable)P(1):Composables.kt#9igjgp");var H,V,W=B,U=B.qw(F),K=W.rw();if(U||K===oe().tw_1){var Y=(V=F,function(t,e,n){return V.y1s(t,e,n)});W.sw(Y),H=Y}else H=K;var G=H,X=null==G||re(G)?G:vt();B.uw(),le(N,X,a,48,0),Qt()&&ee();var J=a.z17();null===J||J.u18(function(t,e,n,i,o,r){return function(s,a){return function(t,e,n,i,o,r,s,a){fo(t,e,n,i,o,s,1|r)}(t,e,n,i,o,r,s),mt()}}(t,e,n,i,o,s))}function po(t){return ko(),Xe("selectedBenchmark",Ye,!0,(function(){return Ge()})),t.l2()}function _o(t){return ko(),t.h1v(["form-label"]),mt()}function vo(t){return ko(),t.h1v(["form-group"]),mt()}function yo(t){return ko(),t.h1v(["row"]),mt()}function mo(t){return ko(),t.h1v(["col"]),mt()}function go(t,e,n){return function(i){return t.f2a_1!==po(n).f2a_1||e||(Ze(i),mt()),mt()}}function bo(t){return function(e,n,i){var o=n;return Qt()&&Zt(1052804723,i,-1,"components.SavedBenchmarksDropDown$composable..... (SavedBenchmarksDropDown.kt:76)"),te(t.f2a_1,o,0),Qt()&&(ee(),mt()),mt()}}function wo(t){return function(e,n,i){return t.y1s(e,n,i)}}function $o(t){return ko(),t.h1v(["col"]),mt()}function xo(t){return ko(),en(t,ye(10)),mt()}function ko(){C||(C=!0,k="unsavedBenchmark_"+(new Date).getMilliseconds())}function jo(t,e,n,i,o,r,s,a,u,l){this.p2a_1=t,this.q2a_1=e,this.r2a_1=n,this.s2a_1=i,this.t2a_1=o,this.u2a_1=r,this.v2a_1=s,this.w2a_1=a,this.x2a_1=u,this.y2a_1=l,this.z2a_1=0}function Co(t,e){this.i2b_1=t,this.j2b_1=e,this.k2b_1=8}function So(t){return pn("el",1,fn,(function(t){return So(t)}),null),t.m2b_1.l2()}function zo(t){var e;this.l2b_1=t,this.m2b_1=on((e=this,function(){return document.createElement(e.l2b_1)}))}function Mo(t,e,n){var i=e;return Qt()&&Zt(296750105,n,-1,"components.ComposableSingletons$SummaryKt.lambda-1. (Summary.kt:82)"),te("BEST",i,6),Qt()&&ee(),mt()}function Oo(t,e,n){var i=e;return Qt()&&Zt(-717565886,n,-1,"components.ComposableSingletons$SummaryKt.lambda-2. (Summary.kt:101)"),te("WORST",i,6),Qt()&&ee(),mt()}function qo(t,e,n){var i=e;return Qt()&&Zt(1239084455,n,-1,"components.ComposableSingletons$SummaryKt.lambda-3. (Summary.kt:160)"),te("vs",i,6),Qt()&&ee(),mt()}function Po(t,e,n){var i=e;return Qt()&&Zt(1192408818,n,-1,"components.ComposableSingletons$SummaryKt.lambda-4. (Summary.kt:159)"),Lo(null,Do().p2b_1,i,48,1),Qt()&&ee(),mt()}function Ao(t,e,n){var i=e;return Qt()&&Zt(1545424720,n,-1,"components.ComposableSingletons$SummaryKt.lambda-5. (Summary.kt:158)"),sn(null,Do().q2b_1,i,48,1),Qt()&&ee(),mt()}function Eo(){var t;z=this,this.n2b_1=(t=ne(296750105,!1,Mo),function(e,n,i){return t.y1s(e,n,i)}),this.o2b_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(ne(-717565886,!1,Oo)),this.p2b_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(ne(1239084455,!1,qo)),this.q2b_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(ne(1192408818,!1,Po)),this.r2b_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(ne(1545424720,!1,Ao))}function Do(){return null==z&&new Eo,z}function Io(t,e,n,i){or();var o=n;o=o.y17(1753254121),ie(o,"C(SummaryContainer$composable)");var r=i;Qt()&&Zt(1753254121,r,-1,"components.SummaryContainer$composable (Summary.kt:35)"),t(o,14&r),ke(null,o,0,1);for(var s=e.c();s.d();){var a=s.e();o.s14(-380220126,a.i2b_1),Ro(a.i2b_1,a.j2b_1,o,64),ke(null,o,0,1),o.v14()}Qt()&&ee();var u,l,c,h=o.z17();null===h||h.u18((u=t,l=e,c=i,function(t,e){return function(t,e,n,i,o){Io(t,e,i,1|n)}(u,l,c,t),mt()}))}function To(t,e,n,i,o,r,s,a,u){or();var l=a;l=l.y17(-1198474132),ie(l,"C(SummarySelector$composable)P(1,4!1,5,6)");var c=u;Qt()&&Zt(-1198474132,c,-1,"components.SummarySelector$composable (Summary.kt:52)");var h=l;h.pw(547886695),ie(h,"C(remember$composable):Composables.kt#9igjgp");var f,p=h,_=p.rw();if(_===oe().tw_1){var d=Fo;p.sw(d),f=d}else f=_;var v=f,y=null==v||re(v)?v:vt();h.uw();var m,g,b=y,w=ue(l,1647036926,!0,(m=t,g=e,function(t,e,n){var i=e;Qt()&&Zt(1647036926,n,-1,"components.SummarySelector$composable. (Summary.kt:66)");var o=i;o.pw(547886695),ie(o,"C(remember$composable):Composables.kt#9igjgp");var r,s=o,a=s.rw();if(a===oe().tw_1){var u=Bo;s.sw(u),r=u}else r=a;var l=r,c=null==l||re(l)?l:vt();o.uw();var h=c,f=ue(i,198444255,!0,function(t,e){return function(t,n,i){var o=n;Qt()&&Zt(198444255,i,-1,"components.SummarySelector$composable.. (Summary.kt:72)");var r=o;r.pw(-838505973),ie(r,"C(remember$composable)P(1):Composables.kt#9igjgp");var s,a=r,u=r.qw(e),l=a.rw();if(u||l===oe().tw_1){var c=function(t){return function(e){return e.h1v(["btn","btn-outline-dark","btn-sm"]),e.l1v(function(t){return function(e){return t(),mt()}}(t)),be(e,ge()),mt()}}(e);a.sw(c),s=c}else s=l;var h=s,f=null==h||re(h)?h:vt();return r.uw(),we(f,Do().n2b_1,o,48,0),Qt()&&(ee(),mt()),mt()}}(0,m)),p=i;p.pw(-838505973),ie(p,"C(remember$composable)P(1):Composables.kt#9igjgp");var _,d,v=p,y=p.qw(f),b=v.rw();if(y||b===oe().tw_1){var w=(d=f,function(t,e,n){return d.y1s(t,e,n)});v.sw(w),_=w}else _=b;var $=_,x=null==$||re($)?$:vt();p.uw(),le(h,x,i,48,0);var k=i;k.pw(547886695),ie(k,"C(remember$composable):Composables.kt#9igjgp");var j,C=k,S=C.rw();if(S===oe().tw_1){var z=Ho;C.sw(z),j=z}else j=S;var M=j,O=null==M||re(M)?M:vt();k.uw();var q=O,P=ue(i,-700207224,!0,function(t,e){return function(t,n,i){var o=n;Qt()&&Zt(-700207224,i,-1,"components.SummarySelector$composable.. (Summary.kt:91)");var r=o;r.pw(-838505973),ie(r,"C(remember$composable)P(1):Composables.kt#9igjgp");var s,a=r,u=r.qw(e),l=a.rw();if(u||l===oe().tw_1){var c=function(t){return function(e){return e.h1v(["btn","btn-outline-dark","btn-sm"]),e.l1v(function(t){return function(e){return t(),mt()}}(t)),be(e,ge()),mt()}}(e);a.sw(c),s=c}else s=l;var h=s,f=null==h||re(h)?h:vt();return r.uw(),we(f,Do().o2b_1,o,48,0),Qt()&&(ee(),mt()),mt()}}(0,g)),A=i;A.pw(-838505973),ie(A,"C(remember$composable)P(1):Composables.kt#9igjgp");var E,D=A,I=A.qw(P),T=D.rw();if(I||T===oe().tw_1){var L=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(P);D.sw(L),E=L}else E=T;var R=E,N=null==R||re(R)?R:vt();return A.uw(),le(q,N,i,48,0),Qt()&&(ee(),mt()),mt()})),$=l;$.pw(-838505973),ie($,"C(remember$composable)P(1):Composables.kt#9igjgp");var x,k,j=$,C=$.qw(w),S=j.rw();if(C||S===oe().tw_1){var z=(k=w,function(t,e,n){return k.y1s(t,e,n)});j.sw(z),x=z}else x=S;var M=x,O=null==M||re(M)?M:vt();$.uw(),le(b,O,l,48,0);var q=l;q.pw(547886695),ie(q,"C(remember$composable):Composables.kt#9igjgp");var P,A=q,E=A.rw();if(E===oe().tw_1){var D=Vo;A.sw(D),P=D}else P=E;var I=P,T=null==I||re(I)?I:vt();q.uw();var L,R,N,F,B,H=T,V=ue(l,623829223,!0,(L=r,R=s,N=n,F=i,B=o,function(t,e,n){var i=e;Qt()&&Zt(623829223,n,-1,"components.SummarySelector$composable. (Summary.kt:112)");var o=0;if(o<2)do{var r=o;o=o+1|0,i.s14(1520190971,"block-selector-"+r);var s=i;s.pw(547886695),ie(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,l=u.rw();if(l===oe().tw_1){var c=Wo;u.sw(c),a=c}else a=l;var h=a,f=null==h||re(h)?h:vt();s.uw();var p=f,_=ue(i,-853948021,!0,Xo(0,r,L,R,N,F,B)),d=i;d.pw(-838505973),ie(d,"C(remember$composable)P(1):Composables.kt#9igjgp");var v,y=d,m=d.qw(_),g=y.rw();if(m||g===oe().tw_1){var b=Jo(_);y.sw(b),v=b}else v=g;var w=v,$=null==w||re(w)?w:vt();if(d.uw(),le(p,$,i,48,0),0===r){var x=i;x.pw(547886695),ie(x,"C(remember$composable):Composables.kt#9igjgp");var k,j=x,C=j.rw();if(C===oe().tw_1){var S=Zo;j.sw(S),k=S}else k=C;var z=k,M=null==z||re(z)?z:vt();x.uw(),le(M,Do().r2b_1,i,48,0)}i.v14()}while(o<2);return Qt()&&(ee(),mt()),mt()})),W=l;W.pw(-838505973),ie(W,"C(remember$composable)P(1):Composables.kt#9igjgp");var U,K=W,Y=W.qw(V),G=K.rw();if(Y||G===oe().tw_1){var X=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(V);K.sw(X),U=X}else U=G;var J=U,Z=null==J||re(J)?J:vt();W.uw(),le(H,Z,l,48,0),Qt()&&ee();var Q=l.z17();null===Q||Q.u18(function(t,e,n,i,o,r,s,a){return function(u,l){return function(t,e,n,i,o,r,s,a,u,l){To(t,e,n,i,o,r,s,u,1|a)}(t,e,n,i,o,r,s,a,u),mt()}}(t,e,n,i,o,r,s,u))}function Lo(t,e,n,i,o){or();var r={_v:t},s={_v:e},a=n;a=a.y17(-1706683414),ie(a,"C(Strong$composable)");var u=i;0!=(1&o)?u|=6:0==(14&i)&&(u|=a.qw(r._v)?4:2),0!=(2&o)?u|=48:0==(112&i)&&(u|=a.qw(s._v)?32:16),18==(91&u)&&a.g16()?a.k12():(0!=(1&o)&&(r._v=null),0!=(2&o)&&(s._v=null),Qt()&&Zt(-1706683414,u,-1,"components.Strong$composable (Summary.kt:186)"),an((or(),S),r._v,s._v,a,8|112&u<<3|896&u<<3),Qt()&&ee());var l,c,h,f,p=a.z17();null===p||p.u18((l=r,c=s,h=i,f=o,function(t,e){return function(t,e,n,i,o,r){Lo(t._v,e._v,o,1|n,i)}(l,c,h,f,t),mt()}))}function Ro(t,e,n,i){or();var o=n;o=o.y17(1271998269),ie(o,"C(SummaryUi$composable)P(1)");var r=i;Qt()&&Zt(1271998269,r,-1,"components.SummaryUi$composable (Summary.kt:192)");var s=o;s.pw(547886695),ie(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,l=u.rw();if(l===oe().tw_1){var c=Qo;u.sw(c),a=c}else a=l;var h=a,f=null==h||re(h)?h:vt();s.uw();var p,_,d,v=f,y=ue(o,1135450184,!0,(p=t,_=r,d=e,function(t,e,n){var i=e;Qt()&&Zt(1135450184,n,-1,"components.SummaryUi$composable. (Summary.kt:197)");var o=ue(i,-1777780889,!0,function(t,e){return function(n,i,o){var r=i;return Qt()&&Zt(-1777780889,o,-1,"components.SummaryUi$composable.. (Summary.kt:198)"),te(t,r,14&e),Qt()&&(ee(),mt()),mt()}}(p,_)),r=i;r.pw(-838505973),ie(r,"C(remember$composable)P(1):Composables.kt#9igjgp");var s,a,u=r,l=r.qw(o),c=u.rw();if(l||c===oe().tw_1){var h=(a=o,function(t,e,n){return a.y1s(t,e,n)});u.sw(h),s=h}else s=c;var f=s,v=null==f||re(f)?f:vt();r.uw(),ae(null,v,i,48,1);var y=ue(i,328569139,!0,function(t){return function(e,n,i){var o=n;Qt()&&Zt(328569139,i,-1,"components.SummaryUi$composable.. (Summary.kt:199)");for(var r=t.c();r.d();){var s=r.e(),a=ue(o,-1319792079,!0,er(s)),u=o;u.pw(-838505973),ie(u,"C(remember$composable)P(1):Composables.kt#9igjgp");var l,c=u,h=u.qw(a),f=c.rw();if(h||f===oe().tw_1){var p=nr(a);c.sw(p),l=p}else l=f;var _=l,d=null==_||re(_)?_:vt();u.uw(),ln(null,d,o,48,1)}return Qt()&&(ee(),mt()),mt()}}(d)),m=i;m.pw(-838505973),ie(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,b=m,w=m.qw(y),$=b.rw();if(w||$===oe().tw_1){var x=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(y);b.sw(x),g=x}else g=$;var k=g,j=null==k||re(k)?k:vt();return m.uw(),cn(null,j,i,48,1),Qt()&&(ee(),mt()),mt()})),m=o;m.pw(-838505973),ie(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,b,w=m,$=m.qw(y),x=w.rw();if($||x===oe().tw_1){var k=(b=y,function(t,e,n){return b.y1s(t,e,n)});w.sw(k),g=k}else g=x;var j=g,C=null==j||re(j)?j:vt();m.uw(),le(v,C,o,48,0),Qt()&&ee();var S=o.z17();null===S||S.u18(function(t,e,n){return function(i,o){return function(t,e,n,i,o){Ro(t,e,i,1|n)}(t,e,n,i),mt()}}(t,e,i))}function No(t,e,n,i,o){or();var r={_v:e},s=n;s=s.y17(-1073265847);var a,u,l,c,h=i;if(0!=(1&o)?h|=6:0==(14&i)&&(h|=s.qw(t)?4:2),0!=(2&o)?h|=48:0==(112&i)&&(h|=s.qw(r._v)?32:16),18==(91&h)&&s.g16())s.k12();else{0!=(2&o)&&(r._v=null),Qt()&&Zt(-1073265847,h,-1,"components.BoldText$composable (Summary.kt:240)");var f=r._v,p=s;p.pw(-838505973),ie(p,"C(remember$composable)P(1):Composables.kt#9igjgp");var _,d=p,v=p.qw(f),y=d.rw();if(v||y===oe().tw_1){var m=(c=r,function(t){var e=c._v;return null==e||e(t),t.f1v(ir),mt()});d.sw(m),_=m}else _=y;var g=_,b=null==g||re(g)?g:vt();p.uw();var w=b,$=ue(s,-374759312,!0,(u=t,l=h,function(t,e,n){var i=e;return Qt()&&Zt(-374759312,n,-1,"components.BoldText$composable. (Summary.kt:251)"),te(u,i,14&l),Qt()&&(ee(),mt()),mt()})),x=s;x.pw(-838505973),ie(x,"C(remember$composable)P(1):Composables.kt#9igjgp");var k,j=x,C=x.qw($),S=j.rw();if(C||S===oe().tw_1){var z=(a=$,function(t,e,n){return a.y1s(t,e,n)});j.sw(z),k=z}else k=S;var M=k,O=null==M||re(M)?M:vt();x.uw(),un(w,O,s,48,0),Qt()&&ee()}var q=s.z17();null===q||q.u18(function(t,e,n,i){return function(o,r){return function(t,e,n,i,o,r){No(t,e._v,o,1|n,i)}(t,e,n,i,o),mt()}}(t,r,i,o))}function Fo(t){return or(),t.h1v(["row","mb-3"]),mt()}function Bo(t){return or(),t.h1v(["col-auto"]),mt()}function Ho(t){return or(),t.h1v(["col-auto"]),mt()}function Vo(t){return or(),t.h1v(["row"]),mt()}function Wo(t){return or(),t.h1v(["col"]),mt()}function Uo(t,e,n){return function(i){return i.h1v(["form-select"]),i.i22(function(t,e,n){return function(i){var o=i.q25_1;return null==o||(0===t?e(o):n(o)),mt()}}(t,e,n)),mt()}}function Ko(t,e,n,i){return function(o){return i===(0===t?e:n)&&(Ze(o),mt()),mt()}}function Yo(t){return function(e,n,i){var o=n;return Qt()&&Zt(-1428950138,i,-1,"components.SummarySelector$composable...... (Summary.kt:146)"),te(t,o,0),Qt()&&(ee(),mt()),mt()}}function Go(t){return function(e,n,i){return t.y1s(e,n,i)}}function Xo(t,e,n,i,o,r,s){return function(t,a,u){var l=a;Qt()&&Zt(-853948021,u,-1,"components.SummarySelector$composable.... (Summary.kt:119)");var c=l;c.pw(-1058148781),ie(c,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var h,f=c,p=!!(!!(c.qw(e)|c.qw(n))|c.qw(i)),_=f.rw();if(p||_===oe().tw_1){var d=Uo(e,n,i);f.sw(d),h=d}else h=_;var v=h,y=null==v||re(v)?v:vt();c.uw();var m=y,g=ue(l,-408998,!0,function(t,e,n,i){return function(o,r,s){var a=r;Qt()&&Zt(-408998,s,-1,"components.SummarySelector$composable..... (Summary.kt:135)");for(var u=t.c();u.d();){var l=u.e(),c=a;c.pw(-1603429786),ie(c,"C(remember$composable)P(1):Composables.kt#9igjgp");for(var h=!1,f=[e,n,i,l],p=0,_=f.length;p<_;){var d=f[p];p=p+1|0,h=!!(h|c.qw(d))}var v,y=c,m=h,g=y.rw();if(m||g===oe().tw_1){var b=Ko(e,n,i,l);y.sw(b),v=b}else v=g;var w=v,$=null==w||re(w)?w:vt();c.uw();var x=$,k=ue(a,-1428950138,!0,Yo(l)),j=a;j.pw(-838505973),ie(j,"C(remember$composable)P(1):Composables.kt#9igjgp");var C,S=j,z=j.qw(k),M=S.rw();if(z||M===oe().tw_1){var O=Go(k);S.sw(O),C=O}else C=M;var q=C,P=null==q||re(q)?q:vt();j.uw(),Qe(l,x,P,a,384,0)}return Qt()&&(ee(),mt()),mt()}}(o,e,r,s)),b=l;b.pw(-838505973),ie(b,"C(remember$composable)P(1):Composables.kt#9igjgp");var w,$,x=b,k=b.qw(g),j=x.rw();if(k||j===oe().tw_1){var C=($=g,function(t,e,n){return $.y1s(t,e,n)});x.sw(C),w=C}else w=j;var S=w,z=null==S||re(S)?S:vt();return b.uw(),tn(m,!1,z,l,384,2),Qt()&&(ee(),mt()),mt()}}function Jo(t){return function(e,n,i){return t.y1s(e,n,i)}}function Zo(t){return or(),t.h1v(["col-auto"]),mt()}function Qo(t){return or(),t.h1v(["row"]),mt()}function tr(t){return or(),t.h1v(["text-capitalize"]),mt()}function er(t){return function(e,n,i){var o,r=n;Qt()&&Zt(-1319792079,i,-1,"components.SummaryUi$composable.... (Summary.kt:201)"),te(t.q2a_1+" ",r,0);var s=r;s.pw(547886695),ie(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,l=u.rw();if(l===oe().tw_1){var c=tr;u.sw(c),a=c}else a=l;var h=a,f=null==h||re(h)?h:vt();s.uw(),o=f,No(t.r2a_1,o,r,0,0),te(" : ",r,6),No(t.s2a_1,null,r,0,2),te(t.p2a_1?" looks ":" performed ",r,0),No(t.t2a_1+"% ",null,r,0,2);var p=t.p2a_1?"":"ms",_=r;_.pw(-1124426577),ie(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.qw(t)|_.qw(p)),m=v.rw();if(y||m===oe().tw_1){var g=function(t,e){return function(n){var i=0===t.v2a_1?"secondary":t.v2a_1>0?"danger":"success";return n.h1v(["badge","bg-"+i]),n.p1u("data-bs-toggle","tooltip"),n.p1u("data-bs-placement","top"),n.p1u("title",""+t.y2a_1+e+" to "+t.x2a_1+e),mt()}}(t,p);v.sw(g),d=g}else d=m;var b=d,w=null==b||re(b)?b:vt();_.uw();var $=w,x=ue(r,-2128018801,!0,function(t){return function(e,n,i){var o=n;return Qt()&&Zt(-2128018801,i,-1,"components.SummaryUi$composable..... (Summary.kt:229)"),te(t.u2a_1,o,0),Qt()&&(ee(),mt()),mt()}}(t)),k=r;k.pw(-838505973),ie(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,C,S=k,z=k.qw(x),M=S.rw();if(z||M===oe().tw_1){var O=(C=x,function(t,e,n){return C.y1s(t,e,n)});S.sw(O),j=O}else j=M;var q=j,P=null==q||re(q)?q:vt();return k.uw(),un($,P,r,48,0),te(" ("+t.w2a_1+t.v2a_1+p+")",r,0),Qt()&&(ee(),mt()),mt()}}function nr(t){return function(e,n,i){return t.y1s(e,n,i)}}function ir(t){return or(),hn(t,"bold"),mt()}function or(){M||(M=!0,S=new zo("strong"))}function rr(t,e,n){var i=e;return Qt()&&Zt(1817043984,n,-1,"components.ComposableSingletons$TestNameDetectionToggleKt.lambda-1. (TestNameDetectionToggle.kt:29)"),te("Test Name Detection:",i,6),Qt()&&ee(),mt()}function sr(){var t;O=this,this.t2b_1=(t=ne(1817043984,!1,rr),function(e,n,i){return t.y1s(e,n,i)})}function ar(t,e,n,i){var o=n;o=o.y17(-1801806257),ie(o,"C(TestNameDetectionToggle$composable)");var r,s,a,u=i;if(0==(14&i)&&(u|=o.u17(t)?4:2),0==(112&i)&&(u|=o.qw(e)?32:16),18==(91&u)&&o.g16())o.k12();else{Qt()&&Zt(-1801806257,u,-1,"components.TestNameDetectionToggle$composable (TestNameDetectionToggle.kt:10)");var l=o;l.pw(547886695),ie(l,"C(remember$composable):Composables.kt#9igjgp");var c,h=l,f=h.rw();if(f===oe().tw_1){var p=ur;h.sw(p),c=p}else c=f;var _=c,d=null==_||re(_)?_:vt();l.uw();var v=d,y=ue(o,815464847,!0,(s=t,a=e,function(t,e,n){var i=e;Qt()&&Zt(815464847,n,-1,"components.TestNameDetectionToggle$composable. (TestNameDetectionToggle.kt:21)");var o=i;o.pw(547886695),ie(o,"C(remember$composable):Composables.kt#9igjgp");var r,u=o,l=u.rw();if(l===oe().tw_1){var c=cr;u.sw(c),r=c}else r=l;var h=r,f=null==h||re(h)?h:vt();o.uw(),de("testNameDetection",f,(null==O&&new sr,O).t2b_1,i,390,0),ke(null,i,0,1);var p=i;p.pw(-1124426577),ie(p,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var _,d=p,v=!!(p.qw(s)|p.qw(a)),y=d.rw();if(v||y===oe().tw_1){var m=function(t,e){return function(n){return n.i1v("testNameDetection"),n.h1v(["btn",t?"btn-success":"btn-secondary"]),n.l1v(function(t){return function(e){return t(),mt()}}(e)),be(n,ge()),mt()}}(s,a);d.sw(m),_=m}else _=y;var g=_,b=null==g||re(g)?g:vt();p.uw();var w=b,$=ue(i,-1071119211,!0,function(t){return function(e,n,i){var o=n;return Qt()&&Zt(-1071119211,i,-1,"components.TestNameDetectionToggle$composable.. (TestNameDetectionToggle.kt:42)"),te(t?"ON":"OFF",o,0),Qt()&&(ee(),mt()),mt()}}(s)),x=i;x.pw(-838505973),ie(x,"C(remember$composable)P(1):Composables.kt#9igjgp");var k,j,C=x,S=x.qw($),z=C.rw();if(S||z===oe().tw_1){var M=(j=$,function(t,e,n){return j.y1s(t,e,n)});C.sw(M),k=M}else k=z;var q=k,P=null==q||re(q)?q:vt();return x.uw(),we(w,P,i,48,0),Qt()&&(ee(),mt()),mt()})),m=o;m.pw(-838505973),ie(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,b=m,w=m.qw(y),$=b.rw();if(w||$===oe().tw_1){var x=(r=y,function(t,e,n){return r.y1s(t,e,n)});b.sw(x),g=x}else g=$;var k=g,j=null==k||re(k)?k:vt();m.uw(),le(v,j,o,48,0),Qt()&&ee()}var C=o.z17();null===C||C.u18(function(t,e,n){return function(i,o){return function(t,e,n,i,o){ar(t,e,i,1|n)}(t,e,n,i),mt()}}(t,e,i))}function ur(t){return t.h1v(["form-group"]),t.f1v(lr),mt()}function lr(t){return xe(t,ye(10)),mt()}function cr(t){return t.h1v(["form-label"]),mt()}function hr(t,e,n){var i=e;return Qt()&&Zt(-130845949,n,-1,"components.ComposableSingletons$TestNamesKt.lambda-1. (TestNames.kt:24)"),te("Test Name :",i,6),Qt()&&ee(),mt()}function fr(){var t;q=this,this.u2b_1=(t=ne(-130845949,!1,hr),function(e,n,i){return t.y1s(e,n,i)})}function pr(t,e,n,i,o,r){var s={_v:e},a=i;a=a.y17(246637604),ie(a,"C(TestNames$composable)P(2)");var u,l,c,h,f=o;if(0!=(2&r)&&(s._v=null),Qt()&&Zt(246637604,f,-1,"components.TestNames$composable (TestNames.kt:8)"),!t.h()){var p=a;p.pw(547886695),ie(p,"C(remember$composable):Composables.kt#9igjgp");var _,d=p,v=d.rw();if(v===oe().tw_1){var y=_r;d.sw(y),_=y}else _=v;var m=_,g=null==m||re(m)?m:vt();p.uw();var b=g,w=ue(a,-1509913918,!0,(l=n,c=t,h=s,function(t,e,n){var i=e;Qt()&&Zt(-1509913918,n,-1,"components.TestNames$composable. (TestNames.kt:18)");var o=i;o.pw(547886695),ie(o,"C(remember$composable):Composables.kt#9igjgp");var r,s=o,a=s.rw();if(a===oe().tw_1){var u=dr;s.sw(u),r=u}else r=a;var f=r,p=null==f||re(f)?f:vt();o.uw(),de("testNames",p,(null==q&&new fr,q).u2b_1,i,390,0);var _=i;_.pw(-838505973),ie(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v=_,y=_.qw(l),m=v.rw();if(y||m===oe().tw_1){var g=function(t){return function(e){return e.h1v(["form-select"]),e.i1v("testNames"),e.i22(function(t){return function(e){var n=e.q25_1;return null==n||t(n),mt()}}(t)),mt()}}(l);v.sw(g),d=g}else d=m;var b=d,w=null==b||re(b)?b:vt();_.uw();var $=w,x=ue(i,-1857982381,!0,function(t,e,n){return function(n,i,o){var r=i;Qt()&&Zt(-1857982381,o,-1,"components.TestNames$composable.. (TestNames.kt:37)");for(var s=t.c();s.d();){var a=s.e(),u=e._v,l=r;l.pw(-1124426577),ie(l,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var c,h=l,f=!!(l.qw(a)|l.qw(u)),p=h.rw();if(f||p===oe().tw_1){var _=vr(a,e);h.sw(_),c=_}else c=p;var d=c,v=null==d||re(d)?d:vt();l.uw();var y=v,m=ue(r,1208237735,!0,yr(a)),g=r;g.pw(-838505973),ie(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var b,w=g,$=g.qw(m),x=w.rw();if($||x===oe().tw_1){var k=mr(m);w.sw(k),b=k}else b=x;var j=b,C=null==j||re(j)?j:vt();g.uw(),Qe(a,y,C,r,384,0)}return Qt()&&(ee(),mt()),mt()}}(c,h)),k=i;k.pw(-838505973),ie(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,C,S=k,z=k.qw(x),M=S.rw();if(z||M===oe().tw_1){var O=(C=x,function(t,e,n){return C.y1s(t,e,n)});S.sw(O),j=O}else j=M;var P=j,A=null==P||re(P)?P:vt();return k.uw(),tn($,!1,A,i,384,2),Qt()&&(ee(),mt()),mt()})),$=a;$.pw(-838505973),ie($,"C(remember$composable)P(1):Composables.kt#9igjgp");var x,k=$,j=$.qw(w),C=k.rw();if(j||C===oe().tw_1){var S=(u=w,function(t,e,n){return u.y1s(t,e,n)});k.sw(S),x=S}else x=C;var z=x,M=null==z||re(z)?z:vt();$.uw(),le(b,M,a,48,0)}Qt()&&ee();var O=a.z17();null===O||O.u18(function(t,e,n,i,o){return function(r,s){return function(t,e,n,i,o,r,s){pr(t,e._v,n,r,1|i,o)}(t,e,n,i,o,r),mt()}}(t,s,n,o,r))}function _r(t){return t.h1v(["form-group"]),mt()}function dr(t){return t.h1v(["form-label"]),mt()}function vr(t,e){return function(n){return t===e._v&&(Ze(n),mt()),mt()}}function yr(t){return function(e,n,i){var o=n;return Qt()&&Zt(1208237735,i,-1,"components.TestNames$composable... (TestNames.kt:46)"),te(t,o,0),Qt()&&(ee(),mt()),mt()}}function mr(t){return function(e,n,i){return t.y1s(e,n,i)}}function gr(t,e,n){var i=e;return Qt()&&Zt(1108811911,n,-1,"ComposableSingletons$MainKt.lambda-1. (main.kt:8)"),xr(null,i,0,1),Qt()&&ee(),mt()}function br(){var t;P=this,this.v2b_1=(t=ne(1108811911,!1,gr),function(e,n,i){return t.y1s(e,n,i)})}function wr(t,e,n){var i=e;return Qt()&&Zt(-374992274,n,-1,"page.home.ComposableSingletons$HomePageKt.lambda-1. (HomePage.kt:116)"),te("🖥 Output",i,6),Qt()&&ee(),mt()}function $r(){var t;A=this,this.w2b_1=(t=ne(-374992274,!1,wr),function(e,n,i){return t.y1s(e,n,i)})}function xr(t,e,n,i){var o={_v:t},r=e;r=r.y17(-109696367),ie(r,"C(HomePageUi$composable)");var s,a,u=n;if(0==(14&n)&&(u|=0==(1&i)&&r.qw(o._v)?4:2),2==(11&u)&&r.g16())r.k12();else{if(r.h17(),0==(1&n)||r.l17()){if(0!=(1&i)){var l,c=r;c.pw(547886695),ie(c,"C(remember$composable):Composables.kt#9igjgp");var h,f=c,p=f.rw();if(p===oe().tw_1){var _=new rs(new ls,new ps);f.sw(_),h=_}else h=p;var d=h,v=null==d||re(d)?d:vt();c.uw(),l=v,o._v=l,u&=-15}}else r.k12(),0!=(1&i)&&(u&=-15);r.i17(),Qt()&&Zt(-109696367,u,-1,"page.home.HomePageUi$composable (HomePage.kt:28)");var y=r;y.pw(547886695),ie(y,"C(remember$composable):Composables.kt#9igjgp");var m,g=y,b=g.rw();if(b===oe().tw_1){var w=kr;g.sw(w),m=w}else m=b;var $=m,x=null==$||re($)?$:vt();y.uw();var k=x,j=ue(r,1790973562,!0,(a=o,function(t,e,n){var i=e;Qt()&&Zt(1790973562,n,-1,"page.home.HomePageUi$composable. (HomePage.kt:35)"),eo(i,0);var o=a._v.h2d();!Nt(o)&&Hi(a._v.h2d(),i,0);var r=i;r.pw(547886695),ie(r,"C(remember$composable):Composables.kt#9igjgp");var s,u=r,l=u.rw();if(l===oe().tw_1){var c=jr;u.sw(c),s=c}else s=l;var h=s,f=null==h||re(h)?h:vt();r.uw();var p=f,_=ue(i,-1337148517,!0,function(t,e){return function(e,n,i){var o=n;Qt()&&Zt(-1337148517,i,-1,"page.home.HomePageUi$composable.. (HomePage.kt:54)");var r=o;r.pw(547886695),ie(r,"C(remember$composable):Composables.kt#9igjgp");var s,a=r,u=a.rw();if(u===oe().tw_1){var l=Sr;a.sw(l),s=l}else s=u;var c=s,h=null==c||re(c)?c:vt();r.uw();var f=h,p=ue(o,1509226108,!0,function(t,e){return function(e,n,i){var o=n;Qt()&&Zt(1509226108,i,-1,"page.home.HomePageUi$composable... (HomePage.kt:57)");var r,s=t._v.x2c(),a=t._v.y2c(),u=(r=t._v,function(t){return function(t,e){t.o2c(e,!1,2,null)}(r,t),mt()}),l=function(t){var e=function(e){return t.p2c(e),mt()};return e.callableName="onSaveClicked",e}(t._v);yi(s,a,t._v.z2c(),u,l,function(t){var e=function(e){return t.q2c(e),mt()};return e.callableName="onSavedBenchmarkChanged",e}(t._v),function(t){var e=function(e){return t.r2c(e),mt()};return e.callableName="onLoadBenchmarkClicked",e}(t._v),function(t){var e=function(e){return t.s2c(e),mt()};return e.callableName="onDeleteBenchmarkClicked",e}(t._v),o,520),ke(null,o,0,1),ke(null,o,0,1);var c=ue(o,-1521832332,!0,function(t,e){return function(e,n){var i=e;if(2==(11&n)&&i.g16())i.k12(),mt();else{if(Qt()&&Zt(-1521832332,n,-1,"page.home.HomePageUi$composable.... (HomePage.kt:73)"),Et("block size "+t._v.i2c_1.f()),t._v.i2c_1.f()>2){var o=i;o.pw(547886695),ie(o,"C(remember$composable):Composables.kt#9igjgp");var r,s=o,a=s.rw();if(a===oe().tw_1){var u=zr;s.sw(u),r=u}else r=a;var l=r,c=null==l||re(l)?l:vt();o.uw();var h=c,f=i;f.pw(547886695),ie(f,"C(remember$composable):Composables.kt#9igjgp");var p,_=f,d=_.rw();if(d===oe().tw_1){var v=Mr;_.sw(v),p=v}else p=d;var y=p,m=null==y||re(y)?y:vt();f.uw();var g=m,b=t._v.i2c_1,w=t._v.v2c(),$=t._v.w2c(),x=t._v,k=i;k.pw(-838505973),ie(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,C=k,S=k.qw(x),z=C.rw();if(S||z===oe().tw_1){var M=function(t){return function(e){return t._v.t2c(e),mt()}}(t);C.sw(M),j=M}else j=z;var O=j,q=null==O||re(O)?O:vt();k.uw();var P=q,A=t._v,E=i;E.pw(-838505973),ie(E,"C(remember$composable)P(1):Composables.kt#9igjgp");var D,I=E,T=E.qw(A),L=I.rw();if(T||L===oe().tw_1){var R=function(t){return function(e){return t._v.u2c(e),mt()}}(t);I.sw(R),D=R}else D=L;var N=D,F=null==N||re(N)?N:vt();E.uw(),To(h,g,b,w,$,P,F,i,0)}Qt()&&(ee(),mt())}return mt()}}(t)),h=o;h.pw(-838505973),ie(h,"C(remember$composable)P(1):Composables.kt#9igjgp");var f,p=h,_=h.qw(c),d=p.rw();if(_||d===oe().tw_1){var v=function(t){return function(e,n){return t.e16(e,n)}}(c);p.sw(v),f=v}else f=d;var y=f,m=null==y||re(y)?y:vt();return h.uw(),Io(m,t._v.j2c_1,o,6),Qt()&&(ee(),mt()),mt()}}(t)),_=o;_.pw(-838505973),ie(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.qw(p),g=y.rw();if(m||g===oe().tw_1){var b=(v=p,function(t,e,n){return v.y1s(t,e,n)});y.sw(b),d=b}else d=g;var w=d,$=null==w||re(w)?w:vt();_.uw(),le(f,$,o,48,0);var x=t._v.g2d(),k=null==x?null:x.o28_1,j=null==k||k.h()?null:k;if(null==j);else{var C=t._v.g2d();if(null==C)throw Pt("TSH");var S=C,z=o;z.pw(547886695),ie(z,"C(remember$composable):Composables.kt#9igjgp");var M,O=z,q=O.rw();if(q===oe().tw_1){var P=Or;O.sw(P),M=P}else M=q;var E=M,D=null==E||re(E)?E:vt();z.uw();var I=D,T=ue(o,2092888171,!0,function(t,e,n,i){return function(e,o,r){var s=o;if(Qt()&&Zt(2092888171,r,-1,"page.home.HomePageUi$composable.... (HomePage.kt:105)"),t._v.f2d())s.pw(-1006755366),Fi(s,0),s.uw();else{s.pw(-1006755297);var a=t._v,u=s;u.pw(-838505973),ie(u,"C(remember$composable)P(1):Composables.kt#9igjgp");var l,c=u,h=u.qw(a),f=c.rw();if(h||f===oe().tw_1){var p=function(t){return function(e){return e.m1v(function(t){return function(e){return t._v.a2d(),mt()}}(t)),mt()}}(t);c.sw(p),l=p}else l=f;var _=l,d=null==_||re(_)?_:vt();u.uw(),ae(d,(null==A&&new $r,A).w2b_1,s,48,0),s.uw()}var v=s;v.pw(547886695),ie(v,"C(remember$composable):Composables.kt#9igjgp");var y,m=v,g=m.rw();if(g===oe().tw_1){var b=qr;m.sw(b),y=b}else y=g;var w=y,$=null==w||re(w)?w:vt();v.uw();var x=$,k=ue(s,-350149078,!0,function(t,e){return function(e,n,i){var o=n;Qt()&&Zt(-350149078,i,-1,"page.home.HomePageUi$composable..... (HomePage.kt:126)");var r=ue(o,1688816067,!0,function(t,e){return function(e,n,i){var o=n;Qt()&&Zt(1688816067,i,-1,"page.home.HomePageUi$composable...... (HomePage.kt:127)");var r=o;r.pw(547886695),ie(r,"C(remember$composable):Composables.kt#9igjgp");var s,a=r,u=a.rw();if(u===oe().tw_1){var l=Pr;a.sw(l),s=l}else s=u;var c=s,h=null==c||re(c)?c:vt();r.uw();var f=h,p=ue(o,-1218869404,!0,function(t,e){return function(e,n,i){var o=n;Qt()&&Zt(-1218869404,i,-1,"page.home.HomePageUi$composable....... (HomePage.kt:132)");var r=o;r.pw(547886695),ie(r,"C(remember$composable):Composables.kt#9igjgp");var s,a=r,u=a.rw();if(u===oe().tw_1){var l=Ar;a.sw(l),s=l}else s=u;var c=s,h=null==c||re(c)?c:vt();r.uw();var f=h,p=ue(o,-1633797435,!0,function(t,e){return function(e,n,i){var o=n;Qt()&&Zt(-1633797435,i,-1,"page.home.HomePageUi$composable........ (HomePage.kt:138)");var r=t._v.x2c().b28_1,s=t._v,a=o;a.pw(-838505973),ie(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,l=a,c=a.qw(s),h=l.rw();if(c||h===oe().tw_1){var f=function(t){var e=function(){return t.b2d(),mt()};return e.callableName="onToggleAutoGroupClicked",e}(s);l.sw(f),u=f}else u=h;var p=u,_=null==p||re(p)?p:vt();return a.uw(),ki(r,_,o,0),Qt()&&(ee(),mt()),mt()}}(t)),_=o;_.pw(-838505973),ie(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v=_,y=_.qw(p),m=v.rw();if(y||m===oe().tw_1){var g=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(p);v.sw(g),d=g}else d=m;var b=d,w=null==b||re(b)?b:vt();if(_.uw(),le(f,w,o,48,0),yt(t._v.e2d(),ni())){var $=o;$.pw(547886695),ie($,"C(remember$composable):Composables.kt#9igjgp");var x,k=$,j=k.rw();if(j===oe().tw_1){var C=Er;k.sw(C),x=C}else x=j;var S=x,z=null==S||re(S)?S:vt();$.uw();var M=z,O=ue(o,-1089967542,!0,function(t,e){return function(e,n,i){var o=n;Qt()&&Zt(-1089967542,i,-1,"page.home.HomePageUi$composable........ (HomePage.kt:150)");var r=t._v.x2c().a28_1,s=t._v,a=o;a.pw(-838505973),ie(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,l=a,c=a.qw(s),h=l.rw();if(c||h===oe().tw_1){var f=function(t){var e=function(){return t.c2d(),mt()};return e.callableName="onToggleTestNameDetectionClicked",e}(s);l.sw(f),u=f}else u=h;var p=u,_=null==p||re(p)?p:vt();return a.uw(),ar(r,_,o,0),Qt()&&(ee(),mt()),mt()}}(t)),q=o;q.pw(-838505973),ie(q,"C(remember$composable)P(1):Composables.kt#9igjgp");var P,A=q,E=q.qw(O),D=A.rw();if(E||D===oe().tw_1){var I=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(O);A.sw(I),P=I}else P=D;var T=P,L=null==T||re(T)?T:vt();q.uw(),le(M,L,o,48,0)}if(!t._v.b2c_1.h()){var R=o;R.pw(547886695),ie(R,"C(remember$composable):Composables.kt#9igjgp");var N,F=R,B=F.rw();if(B===oe().tw_1){var H=Dr;F.sw(H),N=H}else N=B;var V=N,W=null==V||re(V)?V:vt();R.uw();var U=W,K=ue(o,1874650163,!0,function(t,e){return function(e,n,i){var o=n;Qt()&&Zt(1874650163,i,-1,"page.home.HomePageUi$composable........ (HomePage.kt:163)");var r=t._v.b2c_1,s=t._v,a=o;a.pw(-838505973),ie(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,l=a,c=a.qw(s),h=l.rw();if(c||h===oe().tw_1){var f=function(t){return function(e){return t._v.d2d(e),mt()}}(t);l.sw(f),u=f}else u=h;var p=u,_=null==p||re(p)?p:vt();return a.uw(),pr(r,null,_,o,0,2),Qt()&&(ee(),mt()),mt()}}(t)),Y=o;Y.pw(-838505973),ie(Y,"C(remember$composable)P(1):Composables.kt#9igjgp");var G,X=Y,J=Y.qw(K),Z=X.rw();if(J||Z===oe().tw_1){var Q=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(K);X.sw(Q),G=Q}else G=Z;var tt=G,et=null==tt||re(tt)?tt:vt();Y.uw(),le(U,et,o,48,0)}return Qt()&&(ee(),mt()),mt()}}(t)),_=o;_.pw(-838505973),ie(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v=_,y=_.qw(p),m=v.rw();if(y||m===oe().tw_1){var g=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(p);v.sw(g),d=g}else d=m;var b=d,w=null==b||re(b)?b:vt();return _.uw(),le(f,w,o,48,0),Qt()&&(ee(),mt()),mt()}}(t)),s=o;s.pw(-838505973),ie(s,"C(remember$composable)P(1):Composables.kt#9igjgp");var a,u=s,l=s.qw(r),c=u.rw();if(l||c===oe().tw_1){var h=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(r);u.sw(h),a=h}else a=c;var f=a,p=null==f||re(f)?f:vt();return s.uw(),$e(null,null,p,o,384,3),Qt()&&(ee(),mt()),mt()}}(t)),j=s;j.pw(-838505973),ie(j,"C(remember$composable)P(1):Composables.kt#9igjgp");var C,S=j,z=j.qw(k),M=S.rw();if(z||M===oe().tw_1){var O=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(k);S.sw(O),C=O}else C=M;var q=C,P=null==q||re(q)?q:vt();j.uw(),le(x,P,s,48,0),ke(null,s,0,1);var E=s;E.pw(-838505973),ie(E,"C(remember$composable)P(1):Composables.kt#9igjgp");var D,I=E,T=E.qw(n),L=I.rw();if(T||L===oe().tw_1){var R=gn(n,2);I.sw(R),D=R}else D=L;var N=D,F=null==N||re(N)?N:vt();E.uw();for(var B=F.c();B.d();){var H=B.e(),V=s;V.pw(547886695),ie(V,"C(remember$composable):Composables.kt#9igjgp");var W,U=V,K=U.rw();if(K===oe().tw_1){var Y=Ir;U.sw(Y),W=Y}else W=K;var G=W,X=null==G||re(G)?G:vt();V.uw();var J=X,Z=ue(s,-2034949684,!0,Nr(H,t,i)),Q=s;Q.pw(-838505973),ie(Q,"C(remember$composable)P(1):Composables.kt#9igjgp");var tt,et=Q,nt=Q.qw(Z),it=et.rw();if(nt||it===oe().tw_1){var ot=Fr(Z);et.sw(ot),tt=ot}else tt=it;var rt=tt,st=null==rt||re(rt)?rt:vt();Q.uw(),le(J,st,s,48,0)}return Qt()&&(ee(),mt()),mt()}}(t,0,j,S)),L=o;L.pw(-838505973),ie(L,"C(remember$composable)P(1):Composables.kt#9igjgp");var R,N=L,F=L.qw(T),B=N.rw();if(F||B===oe().tw_1){var H=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(T);N.sw(H),R=H}else R=B;var V=R,W=null==V||re(V)?V:vt();L.uw(),le(I,W,o,48,0),mt(),mt()}return Qt()&&(ee(),mt()),mt()}}(a)),d=i;d.pw(-838505973),ie(d,"C(remember$composable)P(1):Composables.kt#9igjgp");var v,y,m=d,g=d.qw(_),b=m.rw();if(g||b===oe().tw_1){var w=(y=_,function(t,e,n){return y.y1s(t,e,n)});m.sw(w),v=w}else v=b;var $=v,x=null==$||re($)?$:vt();return d.uw(),le(p,x,i,48,0),Qt()&&(ee(),mt()),mt()})),C=r;C.pw(-838505973),ie(C,"C(remember$composable)P(1):Composables.kt#9igjgp");var S,z=C,M=C.qw(j),O=z.rw();if(M||O===oe().tw_1){var q=(s=j,function(t,e,n){return s.y1s(t,e,n)});z.sw(q),S=q}else S=O;var P=S,E=null==P||re(P)?P:vt();C.uw(),le(k,E,r,48,0),Qt()&&ee()}var D=r.z17();null===D||D.u18(function(t,e,n){return function(i,o){return function(t,e,n,i,o){xr(t._v,i,1|e,n)}(t,e,n,i),mt()}}(o,n,i))}function kr(t){return t.h1v(["container-fluid"]),mt()}function jr(t){return t.h1v(["row"]),t.f1v(Cr),mt()}function Cr(t){return dn(t,ye(40)),vn(t,ye(40)),yn(t,ye(40)),mt()}function Sr(t){return t.h1v(["col-lg-4"]),mt()}function zr(){throw mn(null,1,null)}function Mr(){throw mn(null,1,null)}function Or(t){return t.h1v(["col-lg-8"]),mt()}function qr(t){return t.h1v(["row"]),mt()}function Pr(t){return t.h1v(["row"]),mt()}function Ar(t){return t.h1v(["col-md-2"]),mt()}function Er(t){return t.h1v(["col-md-2"]),mt()}function Dr(t){return t.h1v(["col-md-4"]),mt()}function Ir(t){return t.h1v(["row"]),mt()}function Tr(t){return function(e){return e.h1v([t.v28_1]),mt()}}function Lr(t,e,n){return function(i,o,r){var s=o;return Qt()&&Zt(1979032493,r,-1,"page.home.HomePageUi$composable...... (HomePage.kt:193)"),zi(t._v.x2c().b28_1,e.n28_1,n,s,576),Qt()&&(ee(),mt()),mt()}}function Rr(t){return function(e,n,i){return t.y1s(e,n,i)}}function Nr(t,e,n){return function(i,o,r){var s=o;Qt()&&Zt(-2034949684,r,-1,"page.home.HomePageUi$composable..... (HomePage.kt:188)");for(var a=t.c();a.d();){var u=a.e(),l=Tr(u),c=ue(s,1979032493,!0,Lr(e,n,u)),h=s;h.pw(-838505973),ie(h,"C(remember$composable)P(1):Composables.kt#9igjgp");var f,p=h,_=h.qw(c),d=p.rw();if(_||d===oe().tw_1){var v=Rr(c);p.sw(v),f=v}else f=d;var y=f,m=null==y||re(y)?y:vt();h.uw(),le(l,m,s,48,0)}return Qt()&&(ee(),mt()),mt()}}function Fr(t){return function(e,n,i){return t.y1s(e,n,i)}}function Br(){E=this,this.i2d_1="Something went wrong!"}function Hr(){return null==E&&new Br,E}function Vr(t,e){return pn("savedBenchmarks",1,kn,(function(t){return t.z2c()}),(function(t,e){return Vr(t,e)})),t.z2b_1.us(e)}function Wr(t,e){return pn("chartsBundle",1,kn,(function(t){return t.g2d()}),(function(t,e){return Wr(t,e)})),t.c2c_1.us(e)}function Ur(t,e){return pn("errorMsg",1,kn,(function(t){return t.h2d()}),(function(t,e){return Ur(t,e)})),t.d2c_1.us(e)}function Kr(t,e){return pn("isEditableTitleEnabled",1,kn,(function(t){return t.f2d()}),(function(t,e){return Kr(t,e)})),t.e2c_1.us(e)}function Yr(t,e){return pn("shouldSelectUnsaved",1,kn,(function(t){return t.y2c()}),(function(t,e){return Yr(t,e)})),t.f2c_1.us(e)}function Gr(t,e){return pn("selectedBlockNameOne",1,kn,(function(t){return t.v2c()}),(function(t,e){return Gr(t,e)})),t.g2c_1.us(e)}function Xr(t,e){return pn("selectedBlockNameTwo",1,kn,(function(t){return t.w2c()}),(function(t,e){return Xr(t,e)})),t.h2c_1.us(e)}function Jr(t,e){return pn("inputType",1,kn,(function(t){return t.e2d()}),(function(t,e){return Jr(t,e)})),t.k2c_1.us(e)}function Zr(t,e){return pn("form",1,kn,(function(t){return t.x2c()}),(function(t,e){return Zr(t,e)})),t.l2c_1.us(e)}function Qr(t){Vr(t,t.x2b_1.j2d())}function ts(t,e){t.i2c_1.f7();var n=qt(e.n28_1.k28_1.a3());t.i2c_1.h1s(n),n.f()>=2&&(Gr(t,n.g(0)),Xr(t,n.g(1))),es(t)}function es(t){t.j2c_1.f7();var e=t.v2c(),n=t.w2c();if(null==e||null==n)return Et("blank block name detected. skipping summary"),mt();var i=yt(t.e2d(),ei()),o=t.g2d();if(null==o);else{for(var r=o.o28_1.c();r.d();){var s=r.e(),a=(null==L&&new ds,L),u=is(t);a.l2d(i,s,e,n,u,os(s))}mt()}}function ns(t,e,n){return function(){Yr(t,e);try{t.m2c_1.f7(),t.b2c_1.f7();var i=Gn().y27(n);if(null==i)return Gr(t,null),Xr(t,null),es(t),mt();var o=i,r=o.d9(),s=o.e9();Jr(t,r),t.m2c_1.c4(s);var a=r.r1_1;if(0===a){var u=function(t){for(var e,n=Ot(t),i=Mt(),o=n.f28_1.c();o.d();){var r=o.e();i.n3(r.h27_1,r.i27_1)}var s=i;Et("chartSet -> "+s),e=s;var a=new li("📊",n.d28_1,e,"col-lg-12");return new ai(si(t,!0),Gt(a))}(t.m2c_1);Wr(t,u),ts(t,u)}else if(1===a){for(var l,c=t.b2c_1,h=t.m2c_1,f=$t(),p=h.c();p.d();){var _=p.e().e28_1;null==_||(f.a(_),mt())}l=f,c.h1s(Kt(l));var d,v=t.b2c_1;t:{for(var y=v.c();y.d();){var m=y.e();if(m===t.a2c_1){d=m;break t}}d=null}var g,b=d,w=null==b?Ht(t.b2c_1):b;if(null!=w){for(var $=t.m2c_1,x=$t(),k=$.c();k.d();){var j=k.e();j.e28_1==w&&x.a(j)}g=x}else g=t.m2c_1;var C=oi(g);Wr(t,C),ts(t,C)}Ur(t,""),mt()}catch(e){if(!(e instanceof Error))throw e;t.j2c_1.f7(),bn(e);var S,z=e.message;null==z?(Hr(),S="Something went wrong!"):S=z,Ur(t,S),mt()}return mt()}}function is(t){return function(e){return t.j2c_1.h19(e),mt()}}function os(t){return function(e){var n="Failed to summarize `"+t.t28_1+"`: "+e;throw Pt(zt(n))}}function rs(t,e){Hr(),this.x2b_1=t,this.y2b_1=e;var n=wn();this.z2b_1=Ke(n,null,2,null),this.a2c_1=null,this.b2c_1=$n(),this.c2c_1=Ke(null,null,2,null),this.d2c_1=Ke("",null,2,null),this.e2c_1=Ke(!1,null,2,null),this.f2c_1=Ke(!1,null,2,null),this.g2c_1=Ke(null,null,2,null),this.h2c_1=Ke(null,null,2,null),this.i2c_1=$n(),this.j2c_1=$n(),this.k2c_1=Ke(null,null,2,null);var i=this.y2b_1.m2d(),o=null==i?new ci((null==T&&new _s,T).n2d_1,!1,!1):i;this.l2c_1=Ke(o,null,2,null),Qr(this);var r;r=$t(),this.m2c_1=r,this.n2c_1=null}function ss(){}function as(){D=this,this.x2d_1="savedBenchmarks"}function us(){return null==D&&new as,D}function ls(){us(),this.y2d_1=0}function cs(){}function hs(){I=this,this.z2d_1="auto_form_input",this.a2e_1="is_test_name_detection_enabled",this.b2e_1="is_auto_group_enabled"}function fs(){return null==I&&new hs,I}function ps(){fs(),this.c2e_1=0}function _s(){T=this,this.n2d_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.o2d_1=0}function ds(){L=this,this.k2d_1=0}return qn.prototype=Object.create(Error.prototype),qn.prototype.constructor=qn,Pn.prototype=Object.create(qn.prototype),Pn.prototype.constructor=Pn,In.prototype=Object.create(gt.prototype),In.prototype.constructor=In,Ln.prototype=Object.create(gt.prototype),Ln.prototype.constructor=Ln,mi.prototype=Object.create(ce.prototype),mi.prototype.constructor=mi,qn.$metadata$=pt("InvalidDataException",void 0,void 0,void 0,void 0,Error.prototype),Pn.$metadata$=pt("InvalidBenchmarkDataException",void 0,void 0,void 0,void 0,qn.prototype),An.prototype.k27=function(){return this.h27_1},An.prototype.l27=function(){return this.i27_1},An.prototype.toString=function(){return"BlockRow(title="+this.h27_1+", data="+this.i27_1+")"},An.prototype.hashCode=function(){var t=_t(this.h27_1);return R(t,31)+dt(this.i27_1)|0},An.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof An))return!1;var e=t instanceof An?t:vt();return this.h27_1===e.h27_1&&!!yt(this.i27_1,e.i27_1)},An.$metadata$=pt("BlockRow"),In.prototype.j2=function(){return this.o27_1},In.$metadata$=pt("SupportedMetrics",void 0,void 0,void 0,void 0,gt.prototype),Ln.$metadata$=pt("InputType",void 0,void 0,void 0,void 0,gt.prototype),Yn.prototype.y27=function(t){for(var e=xt(t.z27_1,["\n"],!1,0,6,null),n=wt(e,"\n",null,null,0,null,Un,30,null),i=Lt(),o=Rt("^\\s+",i).n8(n,0),r=jt(kt(o,10)),s=o.c();s.d();){var a,u=s.e();a=zt(St(Ct(u)?u:vt())),r.a(a)}for(var l=r,c=$t(),h=l.c();h.d();){var f=h.e();!Nt(f)&&c.a(f)}var p=c;if(Et("parsing input..."),p.h())return null;if(function(t){ii();var e=t.z27_1,n=En(),i=Wt(n,"|","(",")",0,null,ti,24,null);return!At(i).q8(e)}(t))return Rn(this,p);Et("parsing machine generated benchmark input...");for(var _=$t(),d=p.c(),v=0;d.d();){var y=v;v=v+1|0;var m=d.e();Et("block: '"+m+"'");for(var g=xt(m,["\n"],!1,0,6,null),b=jt(kt(g,10)),w=g.c();w.d();){var $,x=w.e();$=zt(St(Ct(x)?x:vt())),b.a($)}for(var k=b,j=null,C=null,S=$t(),z=k.c();z.d();){var M=z.e();null==j&&Hn(this,M)&&(j=M),t.a28_1&&Nn(this,M)&&(null!=C&&!S.h()&&(null==j&&(j="benchmark "+y+" "+C),_.a(new Xn(j,C,S)),S.f7()),C=M);var O=Wn(M,this);if(null!=O){var q;t:{for(var P=S.c();P.d();){var A=P.e();if(A.h27_1===O){q=A;break t}}q=null}if(null!=q)throw new Pn("Two "+O+" found in block "+(y+1|0)+". Expected only one");S.a(new An(O,Vn(0,O,M)))}}null==j&&(j="benchmark "+y),j=Fn(this,j),!S.h()&&_.a(new Xn(j,C,S))}return new bt(ni(),_)},Yn.$metadata$=Ft("Companion"),Xn.prototype.k27=function(){return this.d28_1},Xn.prototype.h28=function(){return this.e28_1},Xn.prototype.i28=function(){return this.f28_1},Xn.prototype.toString=function(){return"BenchmarkResult(title="+this.d28_1+", testName="+this.e28_1+", blockRows="+this.f28_1+")"},Xn.prototype.hashCode=function(){var t=_t(this.d28_1);return t=R(t,31)+(null==this.e28_1?0:_t(this.e28_1))|0,R(t,31)+dt(this.f28_1)|0},Xn.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Xn))return!1;var e=t instanceof Xn?t:vt();return this.d28_1===e.d28_1&&this.e28_1==e.e28_1&&!!yt(this.f28_1,e.f28_1)},Xn.$metadata$=pt("BenchmarkResult"),Jn.prototype.r27=function(t){var e=(ii(),a),n=Bt(e.vf(t,0,2,null)),i=null==n?null:n.h9(),o=null==i?null:Ht(i);if(null==o)throw Pt(zt(t+" doesn't have numbers in it"));var r=o;return new Qn(At(r+"$").o8(t,""),Tt(r))},Jn.$metadata$=Ft("Companion"),Qn.prototype.toString=function(){return"TextNumberLine(text="+this.s27_1+", number="+this.t27_1+")"},Qn.prototype.hashCode=function(){var t=_t(this.s27_1);return R(t,31)+Vt(this.t27_1)|0},Qn.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Qn))return!1;var e=t instanceof Qn?t:vt();return this.s27_1===e.s27_1&&!!yt(this.t27_1,e.t27_1)},Qn.$metadata$=pt("TextNumberLine"),ri.prototype.m28=function(){return this.j28_1},ri.prototype.toString=function(){return"GroupMap(autoGroupMap="+this.j28_1+", wordColorMap="+this.k28_1+")"},ri.prototype.hashCode=function(){var t=dt(this.j28_1);return R(t,31)+dt(this.k28_1)|0},ri.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof ri))return!1;var e=t instanceof ri?t:vt();return!!yt(this.j28_1,e.j28_1)&&!!yt(this.k28_1,e.k28_1)},ri.$metadata$=pt("GroupMap"),ai.prototype.q28=function(){return this.n28_1},ai.prototype.r28=function(){return this.o28_1},ai.prototype.toString=function(){return"ChartsBundle(groupMap="+this.n28_1+", charts="+this.o28_1+")"},ai.prototype.hashCode=function(){var t=this.n28_1.hashCode();return R(t,31)+dt(this.o28_1)|0},ai.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof ai))return!1;var e=t instanceof ai?t:vt();return!!this.n28_1.equals(e.n28_1)&&!!yt(this.o28_1,e.o28_1)},ai.$metadata$=pt("ChartsBundle"),li.prototype.x28=function(){return this.s28_1},li.prototype.y28=function(){return this.t28_1},li.prototype.z28=function(){return this.u28_1},li.prototype.a29=function(){return this.v28_1},li.prototype.toString=function(){return"Chart(emoji="+this.s28_1+", label="+this.t28_1+", dataSets="+this.u28_1+", bsClass="+this.v28_1+")"},li.prototype.hashCode=function(){var t=_t(this.s28_1);return t=R(t,31)+_t(this.t28_1)|0,t=R(t,31)+dt(this.u28_1)|0,R(t,31)+_t(this.v28_1)|0},li.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof li))return!1;var e=t instanceof li?t:vt();return this.s28_1===e.s28_1&&this.t28_1===e.t28_1&&!!yt(this.u28_1,e.u28_1)&&this.v28_1===e.v28_1},li.$metadata$=pt("Chart"),ci.prototype.l27=function(){return this.z27_1},ci.prototype.b29=function(){return this.a28_1},ci.prototype.c29=function(){return this.b28_1},ci.prototype.d29=function(t,e,n){return new ci(t,e,n)},ci.prototype.e29=function(t,e,n,i,o){return 0!=(1&i)&&(t=this.z27_1),0!=(2&i)&&(e=this.a28_1),0!=(4&i)&&(n=this.b28_1),this.d29(t,e,n)},ci.prototype.toString=function(){return"FormData(data="+this.z27_1+", isTestNameDetectionEnabled="+this.a28_1+", isAutoGroupEnabled="+this.b28_1+")"},ci.prototype.hashCode=function(){var t=_t(this.z27_1);return t=R(t,31)+(0|this.a28_1)|0,R(t,31)+(0|this.b28_1)|0},ci.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof ci))return!1;var e=t instanceof ci?t:vt();return this.z27_1===e.z27_1&&this.a28_1===e.a28_1&&this.b28_1===e.b28_1},ci.$metadata$=pt("FormData"),hi.prototype.f29=function(){return"line"},hi.$metadata$=Ft("Companion"),di.prototype.j29=function(){return this.h29_1},di.prototype.k29=function(){return this.i29_1},di.$metadata$=Ft("ComposableSingletons$AutoFormUiKt"),mi.prototype.a1e=function(t,e){var n=this.b1e(t,e);return n.y6_1=mt(),n.z6_1=null,n.d7()},mi.prototype.e7=function(t,e){return this.a1e(null!=t&&fe(t,he)?t:vt(),e)},mi.prototype.d7=function(){for(this.y6_1;;)try{var t=this.w6_1;if(0===t)return this.x6_1=1,this.t29_1(this.u29_1),mt();if(1===t)throw this.z6_1}catch(t){throw t}},mi.prototype.b1e=function(t,e){var n=new mi(this.t29_1,this.u29_1,e);return n.v29_1=t,n},mi.$metadata$=pt("FormUi$composable$slambda",void 0,void 0,void 0,[1],ce.prototype),xi.prototype.x29=function(){return this.w29_1},xi.$metadata$=Ft("ComposableSingletons$AutoGroupToggleKt"),qi.prototype.um=function(){this.y29_1.destroy()},qi.$metadata$=pt(void 0,[qe]),Ri.$metadata$=Ft("ComposableSingletons$EditableTitleKt"),Qi.$metadata$=Ft("ComposableSingletons$HeadingKt"),io.prototype.j2=function(){return this.f2a_1},io.prototype.toString=function(){return"SavedBenchmarkNode(key="+this.f2a_1+", value="+this.g2a_1+")"},io.prototype.hashCode=function(){var t=_t(this.f2a_1);return R(t,31)+_t(this.g2a_1)|0},io.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof io))return!1;var e=t instanceof io?t:vt();return this.f2a_1===e.f2a_1&&this.g2a_1===e.g2a_1},io.$metadata$=pt("SavedBenchmarkNode"),oo.prototype.equals=function(t){return this===t||!(null==t||!yt(Ve(He(this)),Ve(He(t))))&&(t instanceof oo||vt(),!!We(this.i2a_1,t.i2a_1))},oo.prototype.hashCode=function(){return Ue(this.i2a_1)},oo.prototype.toString=function(){return"SavedBenchmarks(items="+zt(this.i2a_1)+")"},oo.$metadata$=pt("SavedBenchmarks"),co.prototype.j29=function(){return this.l2a_1},co.prototype.k29=function(){return this.m2a_1},co.prototype.o2a=function(){return this.n2a_1},co.$metadata$=Ft("ComposableSingletons$SavedBenchmarksDropDownKt"),jo.prototype.a2b=function(){return this.p2a_1},jo.prototype.x28=function(){return this.q2a_1},jo.prototype.b2b=function(){return this.r2a_1},jo.prototype.y28=function(){return this.s2a_1},jo.prototype.c2b=function(){return this.t2a_1},jo.prototype.d2b=function(){return this.u2a_1},jo.prototype.e2b=function(){return this.v2a_1},jo.prototype.f2b=function(){return this.w2a_1},jo.prototype.g2b=function(){return this.x2a_1},jo.prototype.h2b=function(){return this.y2a_1},jo.$metadata$=pt("SummaryNode"),Co.prototype.toString=function(){return"Summary(title="+this.i2b_1+", nodes="+this.j2b_1+")"},Co.prototype.hashCode=function(){var t=_t(this.i2b_1);return R(t,31)+dt(this.j2b_1)|0},Co.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Co))return!1;var e=t instanceof Co?t:vt();return this.i2b_1===e.i2b_1&&!!yt(this.j2b_1,e.j2b_1)},Co.$metadata$=pt("Summary"),zo.prototype.f1i=function(){var t=So(this).cloneNode();return t instanceof Element?t:vt()},zo.$metadata$=pt("ElementBuilderImplementation",[rn]),Eo.prototype.x29=function(){return this.n2b_1},Eo.prototype.j29=function(){return this.o2b_1},Eo.prototype.s2b=function(){return this.r2b_1},Eo.$metadata$=Ft("ComposableSingletons$SummaryKt"),sr.prototype.x29=function(){return this.t2b_1},sr.$metadata$=Ft("ComposableSingletons$TestNameDetectionToggleKt"),fr.prototype.x29=function(){return this.u2b_1},fr.$metadata$=Ft("ComposableSingletons$TestNamesKt"),br.$metadata$=Ft("ComposableSingletons$MainKt"),$r.prototype.x29=function(){return this.w2b_1},$r.$metadata$=Ft("ComposableSingletons$HomePageKt"),Br.$metadata$=Ft("Companion"),rs.prototype.z2c=function(){return pn("savedBenchmarks",1,kn,(function(t){return t.z2c()}),(function(t,e){return Vr(t,e)})),this.z2b_1.l2()},rs.prototype.p2d=function(){return this.b2c_1},rs.prototype.g2d=function(){return pn("chartsBundle",1,kn,(function(t){return t.g2d()}),(function(t,e){return Wr(t,e)})),this.c2c_1.l2()},rs.prototype.h2d=function(){return pn("errorMsg",1,kn,(function(t){return t.h2d()}),(function(t,e){return Ur(t,e)})),this.d2c_1.l2()},rs.prototype.f2d=function(){return pn("isEditableTitleEnabled",1,kn,(function(t){return t.f2d()}),(function(t,e){return Kr(t,e)})),this.e2c_1.l2()},rs.prototype.y2c=function(){return pn("shouldSelectUnsaved",1,kn,(function(t){return t.y2c()}),(function(t,e){return Yr(t,e)})),this.f2c_1.l2()},rs.prototype.v2c=function(){return pn("selectedBlockNameOne",1,kn,(function(t){return t.v2c()}),(function(t,e){return Gr(t,e)})),this.g2c_1.l2()},rs.prototype.w2c=function(){return pn("selectedBlockNameTwo",1,kn,(function(t){return t.w2c()}),(function(t,e){return Xr(t,e)})),this.h2c_1.l2()},rs.prototype.q2d=function(){return this.i2c_1},rs.prototype.r2d=function(){return this.j2c_1},rs.prototype.e2d=function(){return pn("inputType",1,kn,(function(t){return t.e2d()}),(function(t,e){return Jr(t,e)})),this.k2c_1.l2()},rs.prototype.x2c=function(){return pn("form",1,kn,(function(t){return t.x2c()}),(function(t,e){return Zr(t,e)})),this.l2c_1.l2()},rs.prototype.s2d=function(t,e){var n,i=this.n2c_1;null==i||(clearTimeout(i),mt()),this.n2c_1=setTimeout((n=t,function(){return n(),mt()}),e)},rs.prototype.t2d=function(t,e){Zr(this,t),this.y2b_1.u2d(t),this.s2d(ns(this,e,t),300)},rs.prototype.o2c=function(t,e,n,i){return 0!=(2&n)&&(e=!0),this.t2d(t,e)},rs.prototype.d2d=function(t){try{var e;if(this.a2c_1=t,null!=this.a2c_1){for(var n=this.m2c_1,i=$t(),o=n.c();o.d();){var r=o.e();r.e28_1==this.a2c_1&&i.a(r)}e=i}else e=this.m2c_1;Wr(this,oi(e)),es(this),Ur(this,"")}catch(t){if(!(t instanceof Error))throw t;this.j2c_1.f7(),bn(t);var s,a=t.message;null==a?(Hr(),s="Something went wrong!"):s=a,Ur(this,s)}},rs.prototype.a2d=function(){Kr(this,!0)},rs.prototype.b2d=function(){var t=this.x2c().e29(null,!1,!this.x2c().b28_1,3,null);this.o2c(t,!1,2,null)},rs.prototype.c2d=function(){var t=this.x2c(),e=!this.x2c().a28_1,n=t.e29(null,e,!1,5,null);this.o2c(n,!1,2,null)},rs.prototype.p2c=function(t){var e,n=window.prompt("Name: ");if(null==n||Nt(n))return mt();t:{for(var i=this.z2c().c();i.d();){var o=i.e();if(o.f2a_1===n){e=o;break t}}e=null}if(null!=e)return window.alert("Bruhh.. "+n+" exists! Try something else"),mt();var r=xn(this.z2c());r.va(0,new io(n,t.z27_1));var s=r;this.x2b_1.v2d(s),Yr(this,!1),Qr(this)},rs.prototype.r2c=function(t){var e=this.x2c().e29(t.g2a_1,!1,!1,6,null);this.t2d(e,!1)},rs.prototype.s2c=function(t){window.confirm("Do you want to delete `"+t.f2a_1+"` ?")&&(this.x2b_1.w2d(t),Yr(this,!0),Qr(this))},rs.prototype.q2c=function(t){if(Yr(this,t===ro()),this.y2c()){var e=this.y2b_1.m2d(),n=null==e?this.x2c():e;this.t2d(n,!1)}},rs.prototype.t2c=function(t){Gr(this,t),es(this)},rs.prototype.u2c=function(t){Xr(this,t),es(this)},rs.$metadata$=pt("HomeViewModel"),ss.$metadata$=jn("BenchmarkRepo"),as.$metadata$=Ft("Companion"),ls.prototype.j2d=function(){var t=window.localStorage;us();var e,n=t.getItem("savedBenchmarks");return e=null==n?new oo([]):JSON.parse(n),Ee(e.i2a_1)},ls.prototype.v2d=function(t){var e,n=JSON;e=Pe(t);var i=n.stringify(new oo(e)),o=window.localStorage;us(),o.setItem("savedBenchmarks",i)},ls.prototype.w2d=function(t){var e,n=xn(this.j2d());Cn(n,(e=t,function(t){return t.f2a_1===e.f2a_1}));var i=n;this.v2d(i)},ls.$metadata$=pt("BenchmarkRepoImpl",[ss]),cs.$metadata$=jn("FormRepo"),hs.$metadata$=Ft("Companion"),ps.prototype.u2d=function(t){var e=window.localStorage;fs(),e.setItem("auto_form_input",t.z27_1),fs(),e.setItem("is_test_name_detection_enabled",t.a28_1.toString()),fs(),e.setItem("is_auto_group_enabled",t.b28_1.toString())},ps.prototype.m2d=function(){var t=window.localStorage;fs();var e=t.getItem("auto_form_input");if(null==e)return null;var n=e;fs();var i=Sn(t.getItem("is_test_name_detection_enabled"));return fs(),new ci(n,i,Sn(t.getItem("is_auto_group_enabled")))},ps.$metadata$=pt("FormRepoImpl",[cs]),_s.$metadata$=Ft("DefaultValues"),ds.prototype.l2d=function(t,e,n,i,o,r){try{var s=Mt(),a=zn([n,i]);Et("words : "+a);for(var u=a.c();u.d();){for(var l=u.e(),c=e.u28_1,h=Mt(),f=c.u().c();f.d();){var p=f.e(),_=p.j2();Dt(_,l,!1,2,null)&&h.n3(p.j2(),p.l2())}for(var d=h.b3(),v=jt(kt(d,10)),y=d.c();y.d();){var m,g=y.e();m=Mn(g.b3()),v.a(m)}var b=v,w=$t(),$=On(e.u28_1.b3()).f(),x=0;if(x<$)do{x=x+1|0,w.a(0)}while(x<$);for(var k=w,j=b.c();j.d();){var C=j.e(),S=0,z=k.f()-1|0;if(S<=z)do{var M=S;S=S+1|0,k.e4(M,k.g(M)+C[M])}while(S<=z)}var O=0,q=k.f()-1|0;if(O<=q)do{var P=O;O=O+1|0,k.e4(P,k.g(P)/b.f())}while(O<=q);var A=k;s.n3(l,A)}for(var E=jt(s.f()),D=s.u().c();D.d();){var I,T=D.e();I=qt(T.l2()),E.a(I)}Et("combinedMap : "+E);var L=$t(),R=qt(On(e.u28_1.b3()).a3());Et("segments: "+R);var N,F=R.f(),B=0;if(B after: '"+K+"'");var J,Z=""+(K-X).toFixed(2),Q=Tt(Z),tt=""+((X-K)/X*100).toFixed(2),et=Tt(tt),nt=Math.abs(et),it=Q>0?"worse":"better",ot=Q>0?"+":"",rt=Q>0?"❌":"✅",st=a.g(1),at=""+K.toFixed(2),ut=Tt(at),lt=""+X.toFixed(2);J=Tt(lt),L.a(new jo(t,rt,V,st,nt,it,Q,ot,ut,J))}while(B>>0,i=arguments[1],o=i>>0,r=o<0?Math.max(n+o,0):Math.min(o,n),s=arguments[2],a=void 0===s?n:s>>0,u=a<0?Math.max(n+a,0):Math.min(a,n);r1&&e.b(n),!(r<0||u<=r))break t;jn(e,f,a)}return r>=0&&u>r&&e.b(s),e.b(o),e}(t,jr(),e,n,i,o,r,s).toString()}function vt(t,e,n,i,o,r,s,a,u){return 0!=(1&a)&&(e=", "),0!=(2&a)&&(n=""),0!=(4&a)&&(i=""),0!=(8&a)&&(o=-1),0!=(16&a)&&(r="..."),0!=(32&a)&&(s=null),dt(t,e,n,i,o,r,s)}function yt(t){return Ui(t)}function mt(t){if(t.h())throw Mu("List is empty.");return t.g(0)}function gt(t,e){return Da(t,gs)?t.i(e):function(t,e){if(Da(t,cs))return t.j(e);for(var n=0,i=t.c();i.d();){var o=i.e();if(zi(n),Vs(e,o))return n;n=n+1|0}return-1}(t,e)>=0}function bt(t,e,n,i,o,r,s){return function(t,e,n,i,o,r,s,a){e.b(i);var u=0,l=t.c();t:for(;l.d();){var c=l.e();if((u=u+1|0)>1&&e.b(n),!(r<0||u<=r))break t;jn(e,c,a)}return r>=0&&u>r&&e.b(s),e.b(o),e}(t,jr(),e,n,i,o,r,s).toString()}function wt(t,e,n,i,o,r,s,a,u){return 0!=(1&a)&&(e=", "),0!=(2&a)&&(n=""),0!=(4&a)&&(i=""),0!=(8&a)&&(o=-1),0!=(16&a)&&(r="..."),0!=(32&a)&&(s=null),bt(t,e,n,i,o,r,s)}function $t(t){if(Da(t,gs)){var e;switch(t.f()){case 0:e=Te();break;case 1:e=Ci(Da(t,cs)?t.g(0):t.c().e());break;default:e=xt(t,function(t,e){return function(t,e,n){ao(function(t,e){return function(t,e,n){return io(t,e,n),wo.call(n),n.w3_1=no(),n}(t,e,Object.create(wo.prototype))}(t,e),n),xo.call(n)}(t,0,e),e}(t.f(),Object.create(xo.prototype)))}return e}return function(t){switch(t.f()){case 0:return Te();case 1:return Ci(t.c().e());default:return t}}(xt(t,$o()))}function xt(t,e){for(var n=t.c();n.d();){var i=n.e();e.a(i)}return e}function kt(t){if(Da(t,cs))return function(t){var e;switch(t.f()){case 0:throw Mu("List is empty.");case 1:e=t.g(0);break;default:throw wu("List has more than one element.")}return e}(t);var e=t.c();if(!e.d())throw Mu("Collection is empty.");var n=e.e();if(e.d())throw wu("Collection has more than one element.");return n}function jt(t){this.r_1=t}function Ct(t){this.t_1=t}function St(t,e){return e<=ki().w_1?vn().v_1:Sa(t,e-1|0)}function zt(t,e){return bn().d1(t,e,-1)}function Mt(t,e){return t>e?e:t}function Ot(t,e){return t=0))throw wu(Hs("Requested element count "+e+" is less than zero."));return 0===e?De():Da(t,qe)?t.h1(e):new Ae(t,e)}function At(t){this.i1_1=t}function Et(t,e){if(!(e>=0))throw wu(Hs("Requested character count "+e+" is less than zero."));return function(t,e){if(!(e>=0))throw wu(Hs("Requested character count "+e+" is less than zero."));var n=Mt(e,t.length);return t.substring(0,n)}(t,Ot(t.length-e|0,0))}function Dt(){Ks(this,Dt)}function It(){}function Tt(){this.n1_1=Ft(),this.o1_1=null}function Lt(){if(r)return $i();r=!0,e=new Rt("Ready",0),n=new Rt("NotReady",1),i=new Rt("Done",2),o=new Rt("Failed",3)}function Rt(t,e){$s.call(this,t,e)}function Nt(){return Lt(),e}function Ft(){return Lt(),n}function Bt(){return Lt(),o}function Ht(t){this.x1_1=t,this.w1_1=0}function Vt(t,e){this.a2_1=t,Ht.call(this,t),Ut().b2(e,this.a2_1.f()),this.w1_1=e}function Wt(){s=this}function Ut(){return null==s&&new Wt,s}function Kt(){Ut(),It.call(this)}function Yt(t){this.i2_1=t}function Gt(t){this.k2_1=t}function Xt(t,e){return e===t?"(this Map)":xs(e)}function Jt(t,e){var n;t:{for(var i=t.u().c();i.d();){var o=i.e();if(Vs(o.j2(),e)){n=o;break t}}n=null}return n}function Zt(){a=this}function Qt(){return null==a&&new Zt,a}function te(t){this.p2_1=t,re.call(this)}function ee(t){this.v2_1=t,It.call(this)}function ne(){Qt(),this.r2_1=null,this.s2_1=null}function ie(){u=this}function oe(){return null==u&&new ie,u}function re(){oe(),It.call(this)}function se(){return ce()}function ae(t){return 0===t.length?Vi():Ui(new he(t,!0))}function ue(t){return t.f()-1|0}function le(){l=this,this.e3_1=new ta(-1478467534,-1720727600)}function ce(){return null==l&&new le,l}function he(t,e){this.i3_1=t,this.j3_1=e}function fe(){c=this}function pe(){return null==c&&new fe,c}function _e(t,e){return Da(t,gs)?t.f():e}function de(t){this.m3_1=t}function ve(){h=this,this.y3_1=new ta(-888910638,1920087921)}function ye(t,e){if(Da(e,gs))return t.c4(e);for(var n=!1,i=e.c();i.d();){var o=i.e();t.a(o)&&(n=!0)}return n}function me(t,e,n){for(var i=!1,o=t.c();o.d();)e(o.e())===n&&(o.d4(),i=!0);return $i(),i}function ge(){}function be(){}function we(){}function $e(t){var e=new ke;return e.k4_1=fu(t,e,e),e}function xe(t){switch(t.h4_1){case 4:return zu();case 5:return ju("Iterator has failed.");default:return ju("Unexpected state of the iterator: "+t.h4_1)}}function ke(){we.call(this),this.h4_1=0,this.i4_1=null,this.j4_1=null,this.k4_1=null}function je(t){this.p4_1=t}function Ce(t){t.q4_1=-2===t.r4_1?t.s4_1.t4_1():t.s4_1.u4_1(Xs(t.q4_1)),t.r4_1=null==t.q4_1?0:1}function Se(t){this.s4_1=t,this.q4_1=null,this.r4_1=-2}function ze(t,e){this.t4_1=t,this.u4_1=e}function Me(t){this.w4_1=t,this.v4_1=t.x4_1.c()}function Oe(t,e){this.x4_1=t,this.y4_1=e}function qe(){}function Pe(t){this.z4_1=t.c5_1,this.a5_1=t.b5_1.c()}function Ae(t,e){if(this.b5_1=t,this.c5_1=e,!(this.c5_1>=0))throw wu(Hs("count must be non-negative, but was "+this.c5_1+"."))}function Ee(){f=this}function De(){return null==f&&new Ee,f}function Ie(t){this.d5_1=t}function Te(){return Re()}function Le(){p=this,this.e5_1=new ta(1993859828,793161749)}function Re(){return null==p&&new Le,p}function Ne(t){return function(t,e){var n;return n=ks(Array(t),null),Be.call(e,n,0),e}(t,Object.create(Be.prototype))}function Fe(t){this.j5_1=t,Tt.call(this),this.h5_1=t.n5_1,this.i5_1=t.m5_1}function Be(t,e){if(Kt.call(this),this.k5_1=t,!(e>=0))throw wu(Hs("ring buffer filled size should not be negative but it is "+e));if(!(e<=this.k5_1.length))throw wu(Hs("ring buffer filled size: "+e+" cannot be larger than the buffer size: "+this.k5_1.length));this.l5_1=this.k5_1.length,this.m5_1=0,this.n5_1=e}function He(t,e,n,i,o,r){this.c6_1=t,this.d6_1=e,this.e6_1=n,this.f6_1=i,this.g6_1=o,lu.call(this,r)}function Ve(t){this.i7_1=t}function We(){}function Ue(){_=this}function Ke(){return null==_&&new Ue,_}function Ye(){}function Ge(){}function Xe(){}function Je(t,e){var n,i=t.q7(e.j2());if(i===tn())n=e;else{var o,r=i.l7(Ke());if(null==r)o=new rn(i,e);else{var s=i.q7(Ke());o=s===tn()?new rn(e,r):new rn(new rn(s,e),r)}n=o}return n}function Ze(){}function Qe(){d=this,this.t7_1=new ta(0,0)}function tn(){return null==d&&new Qe,d}function en(t){for(var e=t,n=2;;){var i=e.u7_1,o=i instanceof rn?i:null;if(null==o)return n;e=o,n=n+1|0}}function nn(t,e){return Vs(t.l7(e.j2()),e)}function on(t,e){return 0===Is(t)?Hs(e):t+", "+e}function rn(t,e){this.u7_1=t,this.v7_1=e}function sn(t,e){this.m7_1=e;var n;n=t instanceof sn?t.n7_1:t,this.n7_1=n}function an(t){this.w7_1=t}function un(){return ln(),v}function ln(){if(g)return $i();g=!0,v=new cn("COROUTINE_SUSPENDED",0),y=new cn("UNDECIDED",1),m=new cn("RESUMED",2)}function cn(t,e){$s.call(this,t,e)}function hn(){return ln(),y}function fn(){return ln(),m}function pn(t,e,n){return _n(_n(t,n)-_n(e,n)|0,n)}function _n(t,e){var n=t%e|0;return n>=0?n:n+e|0}function dn(){b=this,this.v_1=new yn(1,0)}function vn(){return null==b&&new dn,b}function yn(t,e){vn(),wn.call(this,t,e,1)}function mn(t,e,n){ge.call(this),this.d8_1=n,this.e8_1=e,this.f8_1=this.d8_1>0?t<=e:t>=e,this.g8_1=this.f8_1?t:this.e8_1}function gn(){w=this}function bn(){return null==w&&new gn,w}function wn(t,e,n){if(bn(),0===n)throw wu("Step must be non-zero.");if(n===ki().w_1)throw wu("Step must be greater than Int.MIN_VALUE to avoid overflow on negation.");this.e1_1=t,this.f1_1=function(t,e,n){var i;if(n>0)i=t>=e?e:e-pn(e,t,n)|0;else{if(!(n<0))throw wu("Step is zero.");i=t<=e?e:e+pn(t,e,0|-n)|0}return i}(t,e,n),this.g1_1=n}function $n(){}function xn(){}function kn(){}function jn(t,e,n){null!=n?t.b(n(e)):null==e||Wa(e)?t.b(e):e instanceof us?t.h8(e.j1_1):t.b(xs(e))}function Cn(t,e,n){if(Vs(new us(t),new us(e)))return!0;if(!n)return!1;var i=Sr(t),o=Sr(e);return!!Vs(new us(i),new us(o))||Vs(new us(Es(rs(i).toLowerCase(),0)),new us(Es(rs(o).toLowerCase(),0)))}function Sn(t){throw Wu("Invalid number format: '"+t+"'")}function zn(t){return function(t,e){!function(t){if(!(2<=t&&t<=36))throw wu("radix "+t+" was not in valid range 2..36")}(e);var n,i,o,r=t.length;if(0===r)return null;var s=Es(t,0);if(ns(s,48)<0){if(1===r)return null;if(n=1,Vs(new us(s),new us(45)))i=!0,o=ki().w_1;else{if(!Vs(new us(s),new us(43)))return null;i=!1,o=0|-ki().x_1}}else n=0,i=!1,o=0|-ki().x_1;var a=(0|-ki().x_1)/36|0,u=a,l=0,c=n;if(c0,u=Wi(a?Mt(i,10):10);t:do{var l;if(l=Hs(Ts(t,o,r)),u.a(l),o=r+e.length|0,a&&u.f()===(i-1|0))break t;r=On(t,e,o,n)}while(-1!==r);return s=Hs(Ts(t,o,Is(t))),u.a(s),u}(t,o,n,i)}for(var r=function(t){return new At(t)}(Ln(t,e,0,n,i,2)),s=Wi(_e(r,10)),a=r.c();a.d();){var u;u=In(t,a.e()),s.a(u)}return s}function On(t,e,n,i){return i||"string"!=typeof t?function(t,e,n,i,o,r,s,a){return 0!=(16&s)&&(r=!1),Rn(t,e,n,i,o,r)}(t,e,n,Is(t),i,!1,16):t.indexOf(e,n)}function qn(t,e,n,i,o,r){return 0!=(2&o)&&(n=0),0!=(4&o)&&(i=!1),On(t,e,n,i)}function Pn(t){return function(t,e,n,i,o,r){return 0!=(2&o)&&(n=!1),0!=(4&o)&&(i=0),function(t,e,n,i){return qt(Ln(t,e,0,n,i,2),(o=t,function(t){return In(o,t)}));var o}(t,e,n,i)}(t,["\r\n","\n","\r"],!1,0,6)}function An(t){return Is(t)-1|0}function En(t,e,n){return function(t,e,n,i,o,r){return 0!=(2&o)&&(n=0),0!=(4&o)&&(i=!1),function(t,e,n,i){var o;if(i||"string"!=typeof t)o=function(t,e,n,i){if(!i&&1===e.length&&"string"==typeof t){var o=t,r=rs(function(t){var e;switch(t.length){case 0:throw Mu("Array is empty.");case 1:e=t[0];break;default:throw wu("Array has more than one element.")}return e}(e));return o.indexOf(r,n)}var s=Ot(n,0),a=An(t);if(s<=a)do{var u=s;s=s+1|0;var l,c=Es(t,u);t:{for(var h=e,f=0,p=h.length;f=0}function Dn(t,e,n,i,o){return 0!=(2&i)&&(n=!1),En(t,e,n)}function In(t,e){return Hs(Ts(t,e.a8(),e.b8()+1|0))}function Tn(t,e,n,i,o){return Nn(o),new Hn(t,n,o,(r=ru(e),s=i,function(t,e){var n=function(t,e,n,i,o){if(!i&&1===e.f()){var r,s=kt(e);return(r=o?function(t,e,n,i,o,r){return 0!=(2&o)&&(n=An(t)),0!=(4&o)&&(i=!1),function(t,e,n,i){return i||"string"!=typeof t?Rn(t,e,n,0,i,!0):t.lastIndexOf(e,n)}(t,e,n,i)}(t,s,n,!1,4):qn(t,s,n,!1,4))<0?null:pi(r,s)}var a=o?zt(Mt(n,An(t)),0):Sa(Ot(n,0),Is(t));if("string"==typeof t){var u=a.e1_1,l=a.f1_1,c=a.g1_1;if(c>0&&u<=l||c<0&&l<=u)do{var h,f=u;u=u+c|0;t:{for(var p=e.c();p.d();){var _=p.e();if(Yr(_,0,t,f,_.length,i)){h=_;break t}}h=null}if(null!=h)return pi(f,h)}while(f!==l)}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 b=e.c();b.d();){var w=b.e();if(Vn(w,0,t,g,w.length,i)){m=w;break t}}m=null}if(null!=m)return pi(g,m)}while(g!==v)}return null}(t,r,e,s,!1);return null==n?null:pi(n.b9_1,n.c9_1.length)}));var r,s}function Ln(t,e,n,i,o,r,s){return 0!=(2&r)&&(n=0),0!=(4&r)&&(i=!1),0!=(8&r)&&(o=0),Tn(t,e,n,i,o)}function Rn(t,e,n,i,o,r){var s=r?zt(Mt(n,An(t)),Ot(i,0)):Sa(Ot(n,0),Mt(i,Is(t)));if("string"==typeof t&&"string"==typeof e){var a=s.e1_1,u=s.f1_1,l=s.g1_1;if(l>0&&a<=u||l<0&&u<=a)do{var c=a;if(a=a+l|0,Yr(e,0,t,c,Is(e),o))return c}while(c!==u)}else{var h=s.e1_1,f=s.f1_1,p=s.g1_1;if(p>0&&h<=f||p<0&&f<=h)do{var _=h;if(h=h+p|0,Vn(e,0,t,_,Is(e),o))return _}while(_!==f)}return-1}function Nn(t){if(!(t>=0))throw wu(Hs("Limit must be non-negative, but was "+t))}function Fn(t){if(t.t8_1<0)t.r8_1=0,t.u8_1=null;else{var e;if(t.w8_1.z8_1>0){var n=t;n.v8_1=n.v8_1+1|0,e=n.v8_1>=t.w8_1.z8_1}else e=!1;if(e||t.t8_1>Is(t.w8_1.x8_1))t.u8_1=Sa(t.s8_1,An(t.w8_1.x8_1)),t.t8_1=-1;else{var i=t.w8_1.a9_1(t.w8_1.x8_1,t.t8_1);if(null==i)t.u8_1=Sa(t.s8_1,An(t.w8_1.x8_1)),t.t8_1=-1;else{var o=i,r=o.d9(),s=o.e9();t.u8_1=St(t.s8_1,r),t.s8_1=r+s|0,t.t8_1=t.s8_1+(0===s?1:0)|0}}t.r8_1=1}}function Bn(t){this.w8_1=t,this.r8_1=-1,this.s8_1=function(t,e,n){if(e>n)throw wu("Cannot coerce value to an empty range: maximum "+n+" is less than minimum "+e+".");return tn?n:t}(t.y8_1,0,Is(t.x8_1)),this.t8_1=this.s8_1,this.u8_1=null,this.v8_1=0}function Hn(t,e,n,i){this.x8_1=t,this.y8_1=e,this.z8_1=n,this.a9_1=i}function Vn(t,e,n,i,o,r){if(i<0||e<0||e>(Is(t)-o|0)||i>(Is(n)-o|0))return!1;var s=0;if(s=0))throw wu(Hs("Negative initial capacity: "+t));if(!(e>=0))throw wu(Hs("Non-positive load factor: "+e));return n}function oo(){this.zb_1=null}function ro(t,e,n){return Hi.call(n),uo.call(n),n.cc_1=function(t,e){return io(t,e,Object.create(oo.prototype))}(t,e),n}function so(t){return function(t,e){return ro(t,0,e),e}(t,Object.create(uo.prototype))}function ao(t,e){return Hi.call(e),uo.call(e),e.cc_1=t,e}function uo(){}function lo(t,e){var n=ho(t,t.lc_1.qb(e));if(null==n)return null;var i=n;if(null!=i&&Ba(i))return co(i,t,e);var o=i;return t.lc_1.pb(o.j2(),e)?o:null}function co(t,e,n){var i;t:{for(var o=t,r=0,s=o.length;rnew ta(-1,2147483647).jd()?(Qs(),e=new ta(-1,2147483647)):(Qs(),t1?t:Es(e,0)}function zr(t){return function(t){var e;return 9<=(e=os(t))&&e<=13||28<=e&&e<=32||160===e||e>4096&&(5760===e||8192<=e&&e<=8202||8232===e||8233===e||8239===e||8287===e||12288===e)}(t)}function Mr(t,e){var n,i,o,r=ns(t,48)>=0&&ns(t,57)<=0?is(t,48):ns(t,65)>=0&&ns(t,90)<=0?is(t,65)+10|0:ns(t,97)>=0&&ns(t,122)<=0?is(t,97)+10|0:ns(t,128)<0?-1:ns(t,65313)>=0&&ns(t,65338)<=0?is(t,65313)+10|0:ns(t,65345)>=0&&ns(t,65370)<=0?is(t,65345)+10|0:(n=os(t),i=function(t,e){for(var n=0,i=t.length-1|0,o=-1,r=0;n<=i;)if(e>(r=t[o=(n+i|0)/2|0]))n=o+1|0;else{if(e===r)return o;i=o-1|0}return o-(e=e?-1:r}function Or(t){var e,n=zn(t);return null==n?Sn(t):e=n,e}function qr(){E=this,this.nf_1=new RegExp("[\\\\^$*+?.()|[\\]{}]","g"),this.of_1=new RegExp("[\\\\$]","g"),this.pf_1=new RegExp("\\$","g")}function Pr(){return null==E&&new qr,E}function Ar(t){return t.e()}function Er(t){return function(e){return function(t,e){for(var n=0,i=jr();n=p.f())throw Ru("Group with index "+v+" does not exist");var y=p.g(v),m=null==y?null:y.ag_1;i.mf(null==m?"":m),n=_}}else i.h8(r)}return i.toString()}(e,t)}}function Dr(t,e){Pr(),this.i8_1=t,this.j8_1=$t(e),this.k8_1=new RegExp(t,wt(e,"","gu",null,0,null,Br,28)),this.l8_1=null,this.m8_1=null}function Ir(t,e,n){$s.call(this,t,e),this.zf_1=n}function Tr(t,e,n,i){t.lastIndex=n;var o=t.exec(e);return null==o?null:new Wr(Sa(o.index,t.lastIndex-1|0),o,i,e)}function Lr(t){this.ag_1=t}function Rr(t,e){for(var n=e;n0&&Vs(new us(Es(e,An(e)-(r-1|0)|0)),new us(32));)r=r-1|0;return Et(e,r)+"... and "+(i-1|0)+" more common stack frames skipped"}(e,s,u),Is(n)>0){var l;if(0===u)l=0;else{for(var c=0,h=o,f=0,p=h.length;f=d&&e.mg_1.mf(n),e.mg_1.mf(m).mf("\n")}}else e.mg_1.mf(s).mf("\n")}else e.mg_1.mf(o).mf("\n");var b=function(t){var e=t._suppressed,n=null==e?null:e;return null==n?se():n}(t);if(!b.h())for(var w=n+" ",$=b.c();$.d();)Gr($.e(),e,w,"Suppressed: ");return!0}function Jr(){var t;this.mg_1=jr(),t=[],this.ng_1=t,this.og_1="",this.pg_1=0}function Zr(){if(R)return $i();R=!0,T=new Qr("NANOSECONDS",0,1),new Qr("MICROSECONDS",1,1e3),L=new Qr("MILLISECONDS",2,1e6),new Qr("SECONDS",3,1e9),new Qr("MINUTES",4,6e10),new Qr("HOURS",5,36e11),new Qr("DAYS",6,864e11)}function Qr(t,e,n){$s.call(this,t,e),this.tg_1=n}function ts(t,e,n){var i=Rs(e.tg_1,n.tg_1);return i>0?t*(e.tg_1/n.tg_1):i<0?t/(n.tg_1/e.tg_1):t}function es(){return Zr(),L}function ns(t,e){return t-e|0}function is(t,e){return t-e|0}function os(t){return t}function rs(t){return String.fromCharCode(t)}function ss(){N=this,this.ug_1=0,this.vg_1=65535,this.wg_1=55296,this.xg_1=56319,this.yg_1=56320,this.zg_1=57343,this.ah_1=55296,this.bh_1=57343,this.ch_1=2,this.dh_1=16}function as(){return null==N&&new ss,N}function us(t){as(),this.j1_1=t}function ls(){}function cs(){}function hs(){}function fs(){}function ps(){}function _s(){}function ds(){}function vs(){}function ys(){}function ms(){}function gs(){}function bs(){}function ws(){F=this}function $s(t,e){null==F&&new ws,this.q1_1=t,this.r1_1=e}function xs(t){var e=null==t?null:Hs(t);return null==e?"null":e}function ks(t,e){var n=0,i=t.length-1|0;if(n<=i)do{var o=n;n=n+1|0,t[o]=e}while(o!==i);return t}function js(t){return new Cs(t)}function Cs(t){this.gh_1=t,this.fh_1=0}function Ss(t){this.ih_1=t,ge.call(this),this.hh_1=0}function zs(){return As(),B}function Ms(){return As(),H}function Os(){return As(),V}function qs(){return As(),W}function Ps(t){return As(),el(t,0)===t?ja(t):(Ms()[0]=t,at(Os()[(As(),U)],31)+Os()[qs()]|0)}function As(){if(K);else{K=!0,B=new ArrayBuffer(8);var t=new Float64Array(zs());H=t,new Float32Array(zs());var e,n=new Int32Array(zs());V=n,Ms()[0]=-1,e=0!==Os()[0]?1:0,W=e,U=1-qs()|0}}function Es(t,e){var n;if(Ds(t)){var i,o=t.charCodeAt(e);if(as(),o<0?i=!0:(as(),i=o>65535),i)throw wu("Invalid Char code: "+o);n=function(t){return e=function(t){return t<<16>>16}(ja(t)),65535&e;var e}(o)}else n=t.z9(e);return n}function Ds(t){return"string"==typeof t}function Is(t){return Ds(t)?t.length:t.y9()}function Ts(t,e,n){return Ds(t)?t.substring(e,n):t.aa(e,n)}function Ls(t){return Hs(t)}function Rs(t,e){var n;switch(typeof t){case"number":n="number"==typeof e?Ns(t,e):e instanceof ta?Ns(t,e.jd()):Fs(t,e);break;case"string":case"boolean":n=Fs(t,e);break;default:n=function(t,e){return t.ba(e)}(t,e)}return n}function Ns(t,e){var n;if(te)n=1;else if(t===e){var i;if(0!==t)i=0;else{var o=1/t;i=o===1/e?0:o<0?-1:1}n=i}else n=t!=t?e!=e?0:1:-1;return n}function Fs(t,e){return te?1:0}function Bs(t){if(!("kotlinHashCodeValue$"in t)){var e=el(4294967296*Math.random(),0),n=new Object;n.value=e,n.enumerable=!1,Object.defineProperty(t,"kotlinHashCodeValue$",n)}return t.kotlinHashCodeValue$}function Hs(t){return null==t?"null":Aa(t)?"[...]":t.toString()}function Vs(t,e){return null==t?null==e:null!=e&&("object"==typeof t&&"function"==typeof t.equals?t.equals(e):t!=t?e!=e:"number"==typeof t&&"number"==typeof e?t===e&&(0!==t||1/t==1/e):t===e)}function Ws(t){if(null==t)return 0;var e;switch(typeof t){case"object":e="function"==typeof t.hashCode?t.hashCode():Bs(t);break;case"function":e=Bs(t);break;case"number":e=Ps(t);break;case"boolean":e=t?1:0;break;default:e=Us(String(t))}return e}function Us(t){var e=0,n=0,i=t.length-1|0;if(n<=i)do{var o=n;n=n+1|0;var r=t.charCodeAt(o);e=at(e,31)+r|0}while(o!==i);return e}function Ks(t,e){null!=Error.captureStackTrace?Error.captureStackTrace(t,e):t.stack=(new Error).stack}function Ys(t,e,n){Error.call(t),function(t,e,n){if(!Gs(t,"message")){var i;if(null==e){var o;if(null!==e){var r=null==n?null:n.toString();o=null==r?void 0:r}else o=void 0;i=o}else i=e;t.message=i}Gs(t,"cause")||(t.cause=n),t.name=Object.getPrototypeOf(t).constructor.name}(t,e,n)}function Gs(t,e){return Object.getPrototypeOf(t).hasOwnProperty(e)}function Xs(t){var e;return null==t?function(){throw Ku()}():e=t,e}function Js(){throw Ju()}function Zs(){Y=this,this.jh_1=new ta(0,-2147483648),this.kh_1=new ta(-1,2147483647),this.lh_1=8,this.mh_1=64}function Qs(){return null==Y&&new Zs,Y}function ta(t,e){Qs(),bi.call(this),this.a1_1=t,this.b1_1=e}function ea(){return ka(),G}function na(){return ka(),X}function ia(){return ka(),J}function oa(){return ka(),Q}function ra(){return ka(),tt}function sa(t,e){if(ka(),pa(t,e))return 0;var n=va(t),i=va(e);return n&&!i?-1:!n&&i?1:va(ua(t,e))?-1:1}function aa(t,e){ka();var n=t.b1_1>>>16|0,i=65535&t.b1_1,o=t.a1_1>>>16|0,r=65535&t.a1_1,s=e.b1_1>>>16|0,a=65535&e.b1_1,u=e.a1_1>>>16|0,l=0,c=0,h=0,f=0;return l=(l=l+((c=(c=c+((h=(h=h+((f=f+(r+(65535&e.a1_1)|0)|0)>>>16|0)|0)+(o+u|0)|0)>>>16|0)|0)+(i+a|0)|0)>>>16|0)|0)+(n+s|0)|0,new ta((h&=65535)<<16|(f&=65535),(l&=65535)<<16|(c&=65535))}function ua(t,e){return ka(),aa(t,e.sh())}function la(t,e){if(ka(),ya(t))return ea();if(ya(e))return ea();if(pa(t,oa()))return ma(e)?oa():ea();if(pa(e,oa()))return ma(t)?oa():ea();if(va(t))return va(e)?la(ga(t),ga(e)):ga(la(ga(t),e));if(va(e))return ga(la(t,ga(e)));if(ba(t,ra())&&ba(e,ra()))return wa(fa(t)*fa(e));var n=t.b1_1>>>16|0,i=65535&t.b1_1,o=t.a1_1>>>16|0,r=65535&t.a1_1,s=e.b1_1>>>16|0,a=65535&e.b1_1,u=e.a1_1>>>16|0,l=65535&e.a1_1,c=0,h=0,f=0,p=0;return f=f+((p=p+at(r,l)|0)>>>16|0)|0,p&=65535,h=(h=h+((f=f+at(o,l)|0)>>>16|0)|0)+((f=(f&=65535)+at(r,u)|0)>>>16|0)|0,f&=65535,c=(c=(c=c+((h=h+at(i,l)|0)>>>16|0)|0)+((h=(h&=65535)+at(o,u)|0)>>>16|0)|0)+((h=(h&=65535)+at(r,a)|0)>>>16|0)|0,h&=65535,c=c+(((at(n,l)+at(i,u)|0)+at(o,a)|0)+at(r,s)|0)|0,new ta(f<<16|p,(c&=65535)<<16|h)}function ca(t,e){ka();var n=63&e;return 0===n?t:n<32?new ta(t.a1_1<>>(32-n|0)|0):new ta(0,t.a1_1<<(n-32|0))}function ha(t,e){ka();var n=63&e;return 0===n?t:n<32?new ta(t.a1_1>>>n|0|t.b1_1<<(32-n|0),t.b1_1>>n):new ta(t.b1_1>>(n-32|0),t.b1_1>=0?0:-1)}function fa(t){return ka(),4294967296*t.b1_1+function(t){return ka(),t.a1_1>=0?t.a1_1:4294967296+t.a1_1}(t)}function pa(t,e){return ka(),t.b1_1===e.b1_1&&t.a1_1===e.a1_1}function _a(t,e){if(ka(),e<2||36=0x8000000000000000)return ka(),Z;if(t<0)return ga(wa(-t));var e=4294967296;return new ta(el(t%e,0),el(t/e,0))}function $a(t,e){return ka(),sa(t,e)>0}function xa(t,e){return ka(),sa(t,e)>=0}function ka(){et||(et=!0,G=da(0),X=da(1),J=da(-1),Z=new ta(-1,2147483647),Q=new ta(0,-2147483648),tt=da(16777216))}function ja(t){return t instanceof ta?t.k9():function(t){return t>2147483647?2147483647:t<-2147483648?-2147483648:el(t,0)}(t)}function Ca(t){return da(t)}function Sa(t,e){return new yn(t,e)}function za(){Oa();var t=void 0;return qa(t,t,t,t,t,t)}function Ma(t,e,n,i,o){return Oa(),i.get=i,i.set=o,i.callableName=t,r=i,s=function(t,e,n){Oa();var i=(Oa(),nt)[t][null==e?0:1];return 0===i.interfaces.length&&(i.interfaces.push(n),null==i.interfacesCache?i.interfacesCache={isComplete:!1,implementInterfaceMemo:{}}:Xs(i.interfacesCache).isComplete=!1,Ra(Xs(i.interfacesCache),n)),i}(e,o,n),Oa(),r.$metadata$=s,r.constructor=r,r;var r,s}function Oa(){if(it);else{it=!0;var t,e=[za(),za()],n=[za(),za()];t=[za(),za()],nt=[e,n,t]}}function qa(t,e,n,i,o,r){return Pa("class",t,e,n,i,o,r)}function Pa(t,e,n,i,o,r,s){return{kind:t,simpleName:e,interfaceId:"interface"===t?-1:void 0,interfaces:n||[],associatedObjectKey:i,associatedObjects:o,suspendArity:r,fastPrototype:s,$kClass$:void 0,interfacesCache:{isComplete:void 0===s&&(void 0===n||0===n.length),implementInterfaceMemo:{}}}}function Aa(t){return!!Ea(t)||ut(t)}function Ea(t){return Array.isArray(t)}function Da(t,e){var n=t.constructor;return null!=n&&Ia(n,e)}function Ia(t,e){if(t===e)return!0;var n=t.$metadata$;null!=n&&null==n.interfacesCache&&(n.interfacesCache={isComplete:!1,implementInterfaceMemo:{}});var i,o=null==n?null:n.interfacesCache;if(null!=o){o.isComplete||Ta(t);var r=e.$metadata$,s=null==r?null:r.interfaceId;if(null==s)return!1;var a=s;i=!!o.implementInterfaceMemo[a]}else{var u=La(t),l=null==u?null:u.constructor;if(null==l)return!1;i=Ia(l,e)}return i}function Ta(t){var e=t.$metadata$;null!=e&&null==e.interfacesCache&&(e.interfacesCache={isComplete:!1,implementInterfaceMemo:{}});var n=null==e?null:e.interfacesCache;if(null!=n){if(!0===n.isComplete)return n;for(var i=e.interfaces,o=0,r=i.length;o=0))throw wu(Hs("Invalid new array size: "+e+"."));return function(t,e,n){var i=t.slice(0,e);void 0!==t.$type$&&(i.$type$=t.$type$);var o=t.length;if(e>o)for(i.length=e;o0},Vt.prototype.p=function(){return this.w1_1},Vt.prototype.q=function(){if(!this.o())throw zu();var t=this;return t.w1_1=t.w1_1-1|0,this.a2_1.g(t.w1_1)},Vt.$metadata$=qa("ListIteratorImpl",[mi],void 0,void 0,void 0,Ht.prototype),Wt.prototype.c2=function(t,e){if(t<0||t>=e)throw Ru("index: "+t+", size: "+e)},Wt.prototype.b2=function(t,e){if(t<0||t>e)throw Ru("index: "+t+", size: "+e)},Wt.prototype.d2=function(t,e,n){if(t<0||e>n)throw Ru("fromIndex: "+t+", toIndex: "+e+", size: "+n);if(t>e)throw wu("fromIndex: "+t+" > toIndex: "+e)},Wt.prototype.e2=function(t,e,n){if(t<0||e>n)throw Ru("startIndex: "+t+", endIndex: "+e+", size: "+n);if(t>e)throw wu("startIndex: "+t+" > endIndex: "+e)},Wt.prototype.f2=function(t){for(var e=1,n=t.c();n.d();){var i=n.e(),o=at(31,e),r=null==i?null:Ws(i);e=o+(null==r?0:r)|0}return e},Wt.prototype.g2=function(t,e){if(t.f()!==e.f())return!1;for(var n=e.c(),i=t.c();i.d();)if(!Vs(i.e(),n.e()))return!1;return!0},Wt.$metadata$=eu("Companion"),Kt.prototype.c=function(){return new Ht(this)},Kt.prototype.j=function(t){var e;t:{for(var n=0,i=this.c();i.d();){if(Vs(i.e(),t)){e=n;break t}n=n+1|0}e=-1}return e},Kt.prototype.h2=function(t){var e;t:{for(var n=this.n(this.f());n.o();)if(Vs(n.q(),t)){e=n.p();break t}e=-1}return e},Kt.prototype.n=function(t){return new Vt(this,t)},Kt.prototype.equals=function(t){return t===this||!(null==t||!Da(t,cs))&&Ut().g2(this,t)},Kt.prototype.hashCode=function(){return Ut().f2(this)},Kt.$metadata$=qa("AbstractList",[cs],void 0,void 0,void 0,It.prototype),Yt.prototype.d=function(){return this.i2_1.d()},Yt.prototype.e=function(){return this.i2_1.e().j2()},Yt.$metadata$=qa(void 0,[vi]),Gt.prototype.d=function(){return this.k2_1.d()},Gt.prototype.e=function(){return this.k2_1.e().l2()},Gt.$metadata$=qa(void 0,[vi]),Zt.prototype.m2=function(t){var e=t.j2(),n=null==e?null:Ws(e),i=null==n?0:n,o=t.l2(),r=null==o?null:Ws(o);return i^(null==r?0:r)},Zt.prototype.n2=function(t){return xs(t.j2())+"="+xs(t.l2())},Zt.prototype.o2=function(t,e){return!(null==e||!Da(e,vs))&&!!Vs(t.j2(),e.j2())&&Vs(t.l2(),e.l2())},Zt.$metadata$=eu("Companion"),te.prototype.q2=function(t){return this.p2_1.t2(t)},te.prototype.i=function(t){return!(null!=t&&!Ha(t))&&this.q2(null==t||Ha(t)?t:Js())},te.prototype.c=function(){return new Yt(this.p2_1.u().c())},te.prototype.f=function(){return this.p2_1.f()},te.$metadata$=qa(void 0,void 0,void 0,void 0,void 0,re.prototype),ee.prototype.w2=function(t){return this.v2_1.x2(t)},ee.prototype.i=function(t){return!(null!=t&&!Ha(t))&&this.w2(null==t||Ha(t)?t:Js())},ee.prototype.c=function(){return new Gt(this.v2_1.u().c())},ee.prototype.f=function(){return this.v2_1.f()},ee.$metadata$=qa(void 0,void 0,void 0,void 0,void 0,It.prototype),ne.prototype.t2=function(t){return!(null==Jt(this,t))},ne.prototype.x2=function(t){var e;t:{var n=this.u();if(Da(n,gs)&&n.h())e=!1;else{for(var i=n.c();i.d();)if(Vs(i.e().l2(),t)){e=!0;break t}e=!1}}return e},ne.prototype.y2=function(t){if(null==t||!Da(t,vs))return!1;var e=t.j2(),n=t.l2(),i=(Da(this,ys)?this:Js()).z2(e);return!(!Vs(n,i)||null==i&&!(Da(this,ys)?this:Js()).t2(e))},ne.prototype.equals=function(t){if(t===this)return!0;if(null==t||!Da(t,ys))return!1;if(this.f()!==t.f())return!1;var e;t:{var n=t.u();if(Da(n,gs)&&n.h())e=!0;else{for(var i=n.c();i.d();){var o=i.e();if(!this.y2(o)){e=!1;break t}}e=!0}}return e},ne.prototype.z2=function(t){var e=Jt(this,t);return null==e?null:e.l2()},ne.prototype.hashCode=function(){return Ws(this.u())},ne.prototype.h=function(){return 0===this.f()},ne.prototype.f=function(){return this.u().f()},ne.prototype.a3=function(){return null==this.r2_1&&(this.r2_1=new te(this)),Xs(this.r2_1)},ne.prototype.toString=function(){return wt(this.u(),", ","{","}",0,null,(t=this,function(e){return t.u2(e)}),24);var t},ne.prototype.u2=function(t){return Xt(this,t.j2())+"="+Xt(this,t.l2())},ne.prototype.b3=function(){return null==this.s2_1&&(this.s2_1=new ee(this)),Xs(this.s2_1)},ne.$metadata$=qa("AbstractMap",[ys]),ie.prototype.c3=function(t){for(var e=0,n=t.c();n.d();){var i=n.e(),o=e,r=null==i?null:Ws(i);e=o+(null==r?0:r)|0}return e},ie.prototype.d3=function(t,e){return t.f()===e.f()&&t.m1(e)},ie.$metadata$=eu("Companion"),re.prototype.equals=function(t){return t===this||!(null==t||!Da(t,ps))&&oe().d3(this,t)},re.prototype.hashCode=function(){return oe().c3(this)},re.$metadata$=qa("AbstractSet",[ps],void 0,void 0,void 0,It.prototype),le.prototype.equals=function(t){return!(null==t||!Da(t,cs))&&t.h()},le.prototype.hashCode=function(){return 1},le.prototype.toString=function(){return"[]"},le.prototype.f=function(){return 0},le.prototype.h=function(){return!0},le.prototype.f3=function(t){return!1},le.prototype.i=function(t){return!1},le.prototype.g3=function(t){return t.h()},le.prototype.m1=function(t){return this.g3(t)},le.prototype.g=function(t){throw Ru("Empty list doesn't contain element at index "+t+".")},le.prototype.h3=function(t){return-1},le.prototype.j=function(t){return-1},le.prototype.c=function(){return pe()},le.prototype.n=function(t){if(0!==t)throw Ru("Index: "+t);return pe()},le.$metadata$=eu("EmptyList",[cs,Ao,ko]),he.prototype.f=function(){return this.i3_1.length},he.prototype.h=function(){return 0===this.i3_1.length},he.prototype.k3=function(t){return function(t,e){return pt(t,e)>=0}(this.i3_1,t)},he.prototype.i=function(t){return!(null!=t&&!Ha(t))&&this.k3(null==t||Ha(t)?t:Js())},he.prototype.l3=function(t){var e;t:if(Da(t,gs)&&t.h())e=!0;else{for(var n=t.c();n.d();){var i=n.e();if(!this.k3(i)){e=!1;break t}}e=!0}return e},he.prototype.m1=function(t){return this.l3(t)},he.prototype.c=function(){return js(this.i3_1)},he.$metadata$=qa("ArrayAsCollection",[gs]),fe.prototype.d=function(){return!1},fe.prototype.o=function(){return!1},fe.prototype.p=function(){return 0},fe.prototype.e=function(){throw zu()},fe.prototype.q=function(){throw zu()},fe.$metadata$=eu("EmptyIterator",[mi]),de.prototype.c=function(){return this.m3_1()},de.$metadata$=qa(void 0,[ls]),ve.prototype.equals=function(t){return!(null==t||!Da(t,ys))&&t.h()},ve.prototype.hashCode=function(){return 0},ve.prototype.toString=function(){return"{}"},ve.prototype.f=function(){return 0},ve.prototype.h=function(){return!0},ve.prototype.z3=function(t){return!1},ve.prototype.t2=function(t){return!(null!=t&&!Ha(t))&&this.z3(null==t||Ha(t)?t:Js())},ve.prototype.a4=function(t){return null},ve.prototype.z2=function(t){return null==t||Ha(t)?this.a4(null==t||Ha(t)?t:Js()):null},ve.prototype.u=function(){return Re()},ve.prototype.a3=function(){return Re()},ve.prototype.b3=function(){return ce()},ve.$metadata$=eu("EmptyMap",[ys,Ao]),ge.prototype.e=function(){return this.f4()},ge.$metadata$=qa("IntIterator",[vi]),be.$metadata$=tu("Sequence"),we.$metadata$=qa("SequenceScope"),ke.prototype.l4=function(t){this.k4_1=t},ke.prototype.d=function(){for(;;){switch(this.h4_1){case 0:break;case 1:if(Xs(this.j4_1).d())return this.h4_1=2,!0;this.j4_1=null;break;case 4:return!1;case 3:case 2:return!0;default:throw xe(this)}this.h4_1=5;var t,e=Xs(this.k4_1);this.k4_1=null,ai(),t=$i(),e.m4(t),$i()}},ke.prototype.e=function(){switch(this.h4_1){case 0:case 1:return function(t){if(t.d())return t.e();throw zu()}(this);case 2:return this.h4_1=1,Xs(this.j4_1).e();case 3:this.h4_1=0;var t=this.i4_1,e=null==t||Ha(t)?t:Js();return this.i4_1=null,e;default:throw xe(this)}},ke.prototype.g4=function(t,e){this.i4_1=t,this.h4_1=3;var n=e;return this.k4_1=n,un()},ke.prototype.n4=function(t){!function(t){if(t instanceof ui)throw t.s9_1}(t);null==t||Ha(t)||Js(),this.h4_1=4},ke.prototype.m4=function(t){return this.n4(t)},ke.prototype.o4=function(){return tn()},ke.$metadata$=qa("SequenceBuilderIterator",[vi,We],void 0,void 0,void 0,we.prototype),je.prototype.c=function(){return $e(this.p4_1)},je.$metadata$=qa(void 0,[be]),Se.prototype.e=function(){if(this.r4_1<0&&Ce(this),0===this.r4_1)throw zu();var t=this.q4_1,e=Ha(t)?t:Js();return this.r4_1=-1,e},Se.prototype.d=function(){return this.r4_1<0&&Ce(this),1===this.r4_1},Se.$metadata$=qa(void 0,[vi]),ze.prototype.c=function(){return new Se(this)},ze.$metadata$=qa("GeneratorSequence",[be]),Me.prototype.e=function(){return this.w4_1.y4_1(this.v4_1.e())},Me.prototype.d=function(){return this.v4_1.d()},Me.$metadata$=qa(void 0,[vi]),Oe.prototype.c=function(){return new Me(this)},Oe.$metadata$=qa("TransformingSequence",[be]),qe.$metadata$=tu("DropTakeSequence",[be]),Pe.prototype.e=function(){if(0===this.z4_1)throw zu();var t=this.z4_1;return this.z4_1=t-1|0,this.a5_1.e()},Pe.prototype.d=function(){return this.z4_1>0&&this.a5_1.d()},Pe.$metadata$=qa(void 0,[vi]),Ae.prototype.h1=function(t){return t>=this.c5_1?this:new Ae(this.b5_1,t)},Ae.prototype.c=function(){return new Pe(this)},Ae.$metadata$=qa("TakeSequence",[be,qe]),Ee.prototype.c=function(){return pe()},Ee.prototype.h1=function(t){return De()},Ee.$metadata$=eu("EmptySequence",[be,qe]),Ie.prototype.c=function(){return this.d5_1()},Ie.$metadata$=qa(void 0,[be]),Le.prototype.equals=function(t){return!(null==t||!Da(t,ps))&&t.h()},Le.prototype.hashCode=function(){return 0},Le.prototype.toString=function(){return"[]"},Le.prototype.f=function(){return 0},Le.prototype.h=function(){return!0},Le.prototype.f3=function(t){return!1},Le.prototype.i=function(t){return!1},Le.prototype.g3=function(t){return t.h()},Le.prototype.m1=function(t){return this.g3(t)},Le.prototype.c=function(){return pe()},Le.$metadata$=eu("EmptySet",[ps,Ao]),Fe.prototype.p1=function(){if(0===this.h5_1)this.t1();else{var t=this.j5_1.k5_1[this.i5_1];this.s1(null==t||Ha(t)?t:Js());var e;e=(this.i5_1+1|0)%this.j5_1.l5_1|0,this.i5_1=e;var n=this.h5_1;this.h5_1=n-1|0}},Fe.$metadata$=qa(void 0,void 0,void 0,void 0,void 0,Tt.prototype),Be.prototype.f=function(){return this.n5_1},Be.prototype.g=function(t){var e;Ut().c2(t,this.n5_1),e=(this.m5_1+t|0)%this.l5_1|0;var n=this.k5_1[e];return null==n||Ha(n)?n:Js()},Be.prototype.o5=function(){return this.n5_1===this.l5_1},Be.prototype.c=function(){return new Fe(this)},Be.prototype.p5=function(t){for(var e=t.lengththis.n5_1&&(e[this.n5_1]=null),Ba(e)?e:Js()},Be.prototype.q5=function(){var t,e=this.n5_1;return t=ks(Array(e),null),this.p5(t)},Be.prototype.toArray=function(){return this.q5()},Be.prototype.r5=function(t){var e,n,i=Mt(1+(this.l5_1+(this.l5_1>>1)|0)|0,t);return 0===this.m5_1?e=iu(this.k5_1,i):(n=ks(Array(i),null),e=this.p5(n)),new Be(e,this.n5_1)},Be.prototype.s5=function(t){if(this.o5())throw ju("ring buffer is full");var e;e=(this.m5_1+this.n5_1|0)%this.l5_1|0,this.k5_1[e]=t;var n=this.n5_1;this.n5_1=n+1|0},Be.prototype.t5=function(t){if(!(t>=0))throw wu(Hs("n shouldn't be negative but it is "+t));if(!(t<=this.n5_1))throw wu(Hs("n shouldn't be greater than the buffer size: n = "+t+", size = "+this.n5_1));if(t>0){var e=this.m5_1,n=(e+t|0)%this.l5_1|0;e>n?(nu(this.k5_1,null,e,this.l5_1),nu(this.k5_1,null,0,n)):nu(this.k5_1,null,e,n),this.m5_1=n;this.n5_1=this.n5_1-t|0}},Be.$metadata$=qa("RingBuffer",[ko],void 0,void 0,void 0,Kt.prototype),He.prototype.t6=function(t,e){var n=this.u6(t,e);return n.y6_1=$i(),n.z6_1=null,n.d7()},He.prototype.e7=function(t,e){return this.t6(t instanceof we?t:Js(),e)},He.prototype.d7=function(){var t=this.y6_1;t:for(;;)try{switch(this.w6_1){case 0:if(this.x6_1=21,this.i6_1=Mt(this.c6_1,1024),this.j6_1=this.d6_1-this.c6_1|0,this.j6_1>=0){this.k6_1=Wi(this.i6_1),this.l6_1=0,this.m6_1=this.e6_1,this.w6_1=12;continue t}this.n6_1=Ne(this.i6_1),this.o6_1=this.e6_1,this.w6_1=1;continue t;case 1:if(!this.o6_1.d()){this.w6_1=5;continue t}if(this.p6_1=this.o6_1.e(),this.n6_1.s5(this.p6_1),this.n6_1.o5()){if(this.n6_1.n5_1this.d6_1)){this.w6_1=8;continue t}if(this.w6_1=7,(t=this.h6_1.g4(this.f6_1?this.n6_1:Ui(this.n6_1),this))===un())return t;continue t;case 7:this.n6_1.t5(this.d6_1),this.w6_1=6;continue t;case 8:if(this.q6_1=this.n6_1,this.q6_1.h()){this.w6_1=10;continue t}if(this.w6_1=9,(t=this.h6_1.g4(this.n6_1,this))===un())return t;continue t;case 9:this.w6_1=10;continue t;case 10:this.w6_1=11;continue t;case 11:case 19:this.w6_1=20;continue t;case 12:if(!this.m6_1.d()){this.w6_1=16;continue t}if(this.r6_1=this.m6_1.e(),this.l6_1>0){this.l6_1=this.l6_1-1|0,this.w6_1=12;continue t}this.w6_1=13;continue t;case 13:if(this.k6_1.a(this.r6_1),this.k6_1.f()===this.c6_1){if(this.w6_1=14,(t=this.h6_1.g4(this.k6_1,this))===un())return t;continue t}this.w6_1=15;continue t;case 14:this.f6_1?this.k6_1.f7():this.k6_1=Wi(this.c6_1),this.l6_1=this.j6_1,this.w6_1=15;continue t;case 15:this.w6_1=12;continue t;case 16:if(this.s6_1=this.k6_1,this.s6_1.h()){this.w6_1=19;continue t}if(this.g6_1||this.k6_1.f()===this.c6_1){if(this.w6_1=17,(t=this.h6_1.g4(this.k6_1,this))===un())return t;continue t}this.w6_1=18;continue t;case 17:this.w6_1=18;continue t;case 18:this.w6_1=19;continue t;case 20:return $i();case 21:throw this.z6_1}}catch(t){if(21===this.x6_1)throw t;this.w6_1=this.x6_1,this.z6_1=t}},He.prototype.u6=function(t,e){var n=new He(this.c6_1,this.d6_1,this.e6_1,this.f6_1,this.g6_1,e);return n.h6_1=t,n},He.$metadata$=qa("windowedIterator$slambda",void 0,void 0,void 0,[1],lu.prototype),Ve.prototype.s=function(t,e){return this.i7_1(t,e)},Ve.prototype.compare=function(t,e){return this.s(t,e)},Ve.$metadata$=qa("sam$kotlin_Comparator$0",[ji]),We.$metadata$=tu("Continuation"),Ue.$metadata$=eu("Key",[Ge]),Ye.$metadata$=tu("ContinuationInterceptor",[Xe]),Ge.$metadata$=tu("Key"),Xe.$metadata$=tu("Element",[Ze]),Ze.$metadata$=tu("CoroutineContext"),Qe.prototype.l7=function(t){return null},Qe.prototype.r7=function(t,e){return t},Qe.prototype.s7=function(t){return t},Qe.prototype.q7=function(t){return this},Qe.prototype.hashCode=function(){return 0},Qe.prototype.toString=function(){return"EmptyCoroutineContext"},Qe.$metadata$=eu("EmptyCoroutineContext",[Ze,Ao]),rn.prototype.l7=function(t){for(var e=this;;){var n=e.v7_1.l7(t);if(null!=n)return n;var i=e.u7_1;if(!(i instanceof rn))return i.l7(t);e=i}},rn.prototype.r7=function(t,e){return e(this.u7_1.r7(t,e),this.v7_1)},rn.prototype.q7=function(t){if(null!=this.v7_1.l7(t))return this.u7_1;var e=this.u7_1.q7(t);return e===this.u7_1?this:e===tn()?this.v7_1:new rn(e,this.v7_1)},rn.prototype.equals=function(t){return this===t||!!(t instanceof rn&&en(t)===en(this))&&function(t,e){for(var n=e;;){if(!nn(t,n.v7_1))return!1;var i=n.u7_1;if(!(i instanceof rn))return nn(t,Da(i,Xe)?i:Js());n=i}}(t,this)},rn.prototype.hashCode=function(){return Ws(this.u7_1)+Ws(this.v7_1)|0},rn.prototype.toString=function(){return"["+this.r7("",on)+"]"},rn.$metadata$=qa("CombinedContext",[Ze,Ao]),sn.prototype.o7=function(t){return this.m7_1(t)},sn.prototype.p7=function(t){return t===this||this.n7_1===t},sn.$metadata$=qa("AbstractCoroutineContextKey",[Ge]),an.prototype.j2=function(){return this.w7_1},an.$metadata$=qa("AbstractCoroutineContextElement",[Xe]),cn.$metadata$=qa("CoroutineSingletons",void 0,void 0,void 0,void 0,$s.prototype),dn.$metadata$=eu("Companion"),yn.prototype.a8=function(){return this.e1_1},yn.prototype.b8=function(){return this.f1_1},yn.prototype.c8=function(t){return this.e1_1<=t&&t<=this.f1_1},yn.prototype.h=function(){return this.e1_1>this.f1_1},yn.prototype.equals=function(t){return t instanceof yn&&(!(!this.h()||!t.h())||this.e1_1===t.e1_1&&this.f1_1===t.f1_1)},yn.prototype.hashCode=function(){return this.h()?-1:at(31,this.e1_1)+this.f1_1|0},yn.prototype.toString=function(){return this.e1_1+".."+this.f1_1},yn.$metadata$=qa("IntRange",[$n,xn],void 0,void 0,void 0,wn.prototype),mn.prototype.d=function(){return this.f8_1},mn.prototype.f4=function(){var t=this.g8_1;if(t===this.e8_1){if(!this.f8_1)throw zu();this.f8_1=!1}else{this.g8_1=this.g8_1+this.d8_1|0}return t},mn.$metadata$=qa("IntProgressionIterator",void 0,void 0,void 0,void 0,ge.prototype),gn.prototype.d1=function(t,e,n){return new wn(t,e,n)},gn.$metadata$=eu("Companion"),wn.prototype.c=function(){return new mn(this.e1_1,this.f1_1,this.g1_1)},wn.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)},wn.$metadata$=qa("IntProgression",[ls]),$n.$metadata$=tu("ClosedRange"),xn.$metadata$=tu("OpenEndRange"),kn.$metadata$=tu("KClassifier"),Bn.prototype.e=function(){if(-1===this.r8_1&&Fn(this),0===this.r8_1)throw zu();var t=this.u8_1,e=t instanceof yn?t:Js();return this.u8_1=null,this.r8_1=-1,e},Bn.prototype.d=function(){return-1===this.r8_1&&Fn(this),1===this.r8_1},Bn.$metadata$=qa(void 0,[vi]),Hn.prototype.c=function(){return new Bn(this)},Hn.$metadata$=qa("DelimitedRangesSequence",[be]),Wn.$metadata$=tu("MatchResult"),Un.$metadata$=tu("MatchGroupCollection",[gs]),Kn.$metadata$=tu("MatchNamedGroupCollection",[Un]),Qn.$metadata$=tu("Lazy"),ti.prototype.l2=function(){this.q9_1===ni()&&(this.q9_1=Xs(this.p9_1)(),this.p9_1=null);var t=this.q9_1;return null==t||Ha(t)?t:Js()},ti.prototype.r9=function(){return!(this.q9_1===ni())},ti.prototype.toString=function(){return this.r9()?xs(this.l2()):"Lazy value not initialized yet."},ti.$metadata$=qa("UnsafeLazyImpl",[Qn,Ao]),ei.$metadata$=eu("UNINITIALIZED_VALUE"),si.prototype.t9=function(t){return t},si.prototype.u9=function(t){return ci(t)},si.$metadata$=eu("Companion"),ui.prototype.equals=function(t){return t instanceof ui&&Vs(this.s9_1,t.s9_1)},ui.prototype.hashCode=function(){return Ws(this.s9_1)},ui.prototype.toString=function(){return"Failure("+this.s9_1+")"},ui.$metadata$=qa("Failure",[Ao]),li.prototype.toString=function(){return(t=this.v9_1)instanceof ui?Hs(t):"Success("+xs(t)+")";var t},li.prototype.hashCode=function(){return null==(t=this.v9_1)?0:Ws(t);var t},li.prototype.equals=function(t){return function(t,e){return e instanceof li&&!!Vs(t,e instanceof li?e.v9_1:Js())}(this.v9_1,t)},li.$metadata$=qa("Result",[Ao]),hi.$metadata$=qa("NotImplementedError",void 0,void 0,void 0,void 0,gu.prototype),fi.prototype.w9=function(){return this.b9_1},fi.prototype.x9=function(){return this.c9_1},fi.prototype.toString=function(){return"("+this.b9_1+", "+this.c9_1+")"},fi.prototype.d9=function(){return this.b9_1},fi.prototype.e9=function(){return this.c9_1},fi.prototype.hashCode=function(){var t=null==this.b9_1?0:Ws(this.b9_1);return at(t,31)+(null==this.c9_1?0:Ws(this.c9_1))|0},fi.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof fi))return!1;var e=t instanceof fi?t:Js();return!!Vs(this.b9_1,e.b9_1)&&!!Vs(this.c9_1,e.c9_1)},fi.$metadata$=qa("Pair",[Ao]),_i.$metadata$=tu("CharSequence"),di.$metadata$=tu("Comparable"),vi.$metadata$=tu("Iterator"),yi.$metadata$=tu("MutableIterator",[vi]),mi.$metadata$=tu("ListIterator",[vi]),gi.$metadata$=tu("MutableListIterator",[mi,yi]),bi.$metadata$=qa("Number"),wi.prototype.toString=function(){return"kotlin.Unit"},wi.$metadata$=eu("Unit"),xi.prototype.ca=function(){return this.w_1},xi.prototype.da=function(){return this.x_1},xi.prototype.ea=function(){return this.y_1},xi.prototype.fa=function(){return this.z_1},xi.$metadata$=eu("IntCompanionObject"),Object.defineProperty(xi.prototype,"MIN_VALUE",{configurable:!0,get:xi.prototype.ca}),Object.defineProperty(xi.prototype,"MAX_VALUE",{configurable:!0,get:xi.prototype.da}),Object.defineProperty(xi.prototype,"SIZE_BYTES",{configurable:!0,get:xi.prototype.ea}),Object.defineProperty(xi.prototype,"SIZE_BITS",{configurable:!0,get:xi.prototype.fa}),ji.$metadata$=tu("Comparator"),qi.prototype.ga=function(t){this.ha();for(var e=this.c();e.d();)if(Vs(e.e(),t))return e.d4(),!0;return!1},qi.prototype.c4=function(t){this.ha();for(var e=!1,n=t.c();n.d();){var i=n.e();this.a(i)&&(e=!0)}return e},qi.prototype.ia=function(t){return this.ha(),e=Da(this,bs)?this:Js(),n=t,me(e,(function(t){return n.i(t)}),!0);var e,n},qi.prototype.f7=function(){this.ha();for(var t=this.c();t.d();)t.e(),t.d4()},qi.prototype.toJSON=function(){return this.toArray()},qi.prototype.ha=function(){},qi.$metadata$=qa("AbstractMutableCollection",[ms],void 0,void 0,void 0,It.prototype),Pi.prototype.d=function(){return this.ja_10},Ai.prototype.p=function(){return this.ja_1},Ai.prototype.q=function(){if(!this.o())throw zu();var t=this;return t.ja_1=t.ja_1-1|0,this.ka_1=t.ja_1,this.qa_1.g(this.ka_1)},Ai.$metadata$=qa("ListIteratorImpl",[gi],void 0,void 0,void 0,Pi.prototype),Ei.prototype.va=function(t,e){Ut().b2(t,this.ua_1),this.sa_1.va(this.ta_1+t|0,e);var n=this.ua_1;this.ua_1=n+1|0},Ei.prototype.g=function(t){return Ut().c2(t,this.ua_1),this.sa_1.g(this.ta_1+t|0)},Ei.prototype.b4=function(t){Ut().c2(t,this.ua_1);var e=this.sa_1.b4(this.ta_1+t|0),n=this.ua_1;return this.ua_1=n-1|0,e},Ei.prototype.e4=function(t,e){return Ut().c2(t,this.ua_1),this.sa_1.e4(this.ta_1+t|0,e)},Ei.prototype.f=function(){return this.ua_1},Ei.prototype.ha=function(){return this.sa_1.ha()},Ei.$metadata$=qa("SubList",[ko],void 0,void 0,void 0,Di.prototype),Di.prototype.a=function(t){return this.ha(),this.va(this.f(),t),!0},Di.prototype.f7=function(){this.ha(),this.wa(0,this.f())},Di.prototype.c=function(){return new Pi(this)},Di.prototype.i=function(t){return this.j(t)>=0},Di.prototype.j=function(t){var e=0,n=ue(this);if(e<=n)do{var i=e;if(e=e+1|0,Vs(this.g(i),t))return i}while(i!==n);return-1},Di.prototype.h2=function(t){var e=ue(this);if(0<=e)do{var n=e;if(e=e+-1|0,Vs(this.g(n),t))return n}while(0<=e);return-1},Di.prototype.n=function(t){return new Ai(this,t)},Di.prototype.xa=function(t,e){return new Ei(this,t,e)},Di.prototype.wa=function(t,e){var n=this.n(t),i=e-t|0,o=0;if(o=0){var i,o=this,r=this.ed_1;i=e.substring(0,n),o.ed_1=r+i,this.fd();var s=n+1|0;e=e.substring(s)}this.ed_1=this.ed_1+e},So.prototype.fd=function(){console.log(this.ed_1),this.ed_1=""},So.$metadata$=qa("BufferedOutputToConsoleLog",void 0,void 0,void 0,void 0,zo.prototype),zo.prototype.ad=function(t){var e,n=this,i=this.ed_1;e=String(t),n.ed_1=i+e},zo.$metadata$=qa("BufferedOutput",void 0,void 0,void 0,void 0,jo.prototype),Oo.prototype.o4=function(){return this.gd_1.o4()},Oo.prototype.m4=function(t){var e=this.hd_1;if(e===hn())this.hd_1=t;else{if(e!==un())throw ju("Already resumed");this.hd_1=fn(),this.gd_1.m4(t)}},Oo.prototype.id=function(){if(this.hd_1===hn())return this.hd_1=un(),un();var t,e=this.hd_1;if(e===fn())t=un();else{if(e instanceof ui)throw e.s9_1;t=e}return t},Oo.$metadata$=qa("SafeContinuation",[We]),Po.$metadata$=qa("CancellationException",void 0,void 0,void 0,void 0,Su.prototype),Ao.$metadata$=tu("Serializable"),To.$metadata$=tu("KCallable"),Lo.$metadata$=tu("KClass",[kn]),Ro.prototype.ld=function(){return this.kd_1},Ro.prototype.equals=function(t){return t instanceof Ro&&Vs(this.ld(),t.ld())},Ro.prototype.hashCode=function(){var t=this.md(),e=null==t?null:Us(t);return null==e?0:e},Ro.prototype.toString=function(){return"class "+this.md()},Ro.$metadata$=qa("KClassImpl",[Lo]),No.prototype.equals=function(t){return t instanceof No&&!!Ro.prototype.equals.call(this,t)&&this.od_1===t.od_1},No.prototype.md=function(){return this.od_1},No.$metadata$=qa("PrimitiveKClassImpl",void 0,void 0,void 0,void 0,Ro.prototype),Fo.prototype.md=function(){return this.rd_1},Fo.prototype.ld=function(){throw Iu("There's no native JS class for Nothing type")},Fo.prototype.equals=function(t){return t===this},Fo.prototype.hashCode=function(){return 0},Fo.$metadata$=eu("NothingKClassImpl",void 0,void 0,void 0,void 0,Ro.prototype),Ho.prototype.md=function(){throw ju("Unknown simpleName for ErrorKClass")},Ho.prototype.equals=function(t){return t===this},Ho.prototype.hashCode=function(){return 0},Ho.$metadata$=qa("ErrorKClass",[Lo]),Vo.prototype.md=function(){return this.td_1},Vo.$metadata$=qa("SimpleKClassImpl",void 0,void 0,void 0,void 0,Ro.prototype),Wo.$metadata$=tu("KProperty1",[Ko]),Uo.$metadata$=tu("KMutableProperty1",[Wo,Go]),Ko.$metadata$=tu("KProperty",[To]),Yo.$metadata$=tu("KMutableProperty0",[Xo,Go]),Go.$metadata$=tu("KMutableProperty",[Ko]),Xo.$metadata$=tu("KProperty0",[Ko]),yr.prototype.oe=function(){return this.ud_1},yr.prototype.pe=function(){return this.vd_1},yr.prototype.qe=function(){return this.wd_1},yr.prototype.re=function(){return this.xd_1},yr.prototype.se=function(){return this.yd_1},yr.prototype.te=function(){return this.zd_1},yr.prototype.ue=function(){return this.ae_1},yr.prototype.ve=function(){return this.be_1},yr.prototype.we=function(){return this.ce_1},yr.prototype.xe=function(){return this.de_1},yr.prototype.ye=function(){return this.ee_1},yr.prototype.ze=function(){return this.fe_1},yr.prototype.af=function(){return this.ge_1},yr.prototype.bf=function(){return this.he_1},yr.prototype.cf=function(){return this.ie_1},yr.prototype.df=function(){return this.je_1},yr.prototype.ef=function(){return this.ke_1},yr.prototype.ff=function(){return this.le_1},yr.prototype.gf=function(){return this.me_1},yr.prototype.hf=function(){return this.ne_1},yr.prototype.functionClass=function(t){var e,n,i=Jo()[t];if(null==i){var o=new No(Function,"Function"+t,(n=t,function(t){return"function"==typeof t&&t.length===n}));Jo()[t]=o,e=o}else e=i;return e},yr.$metadata$=eu("PrimitiveClasses"),Object.defineProperty(yr.prototype,"anyClass",{configurable:!0,get:yr.prototype.oe}),Object.defineProperty(yr.prototype,"numberClass",{configurable:!0,get:yr.prototype.pe}),Object.defineProperty(yr.prototype,"nothingClass",{configurable:!0,get:yr.prototype.qe}),Object.defineProperty(yr.prototype,"booleanClass",{configurable:!0,get:yr.prototype.re}),Object.defineProperty(yr.prototype,"byteClass",{configurable:!0,get:yr.prototype.se}),Object.defineProperty(yr.prototype,"shortClass",{configurable:!0,get:yr.prototype.te}),Object.defineProperty(yr.prototype,"intClass",{configurable:!0,get:yr.prototype.ue}),Object.defineProperty(yr.prototype,"floatClass",{configurable:!0,get:yr.prototype.ve}),Object.defineProperty(yr.prototype,"doubleClass",{configurable:!0,get:yr.prototype.we}),Object.defineProperty(yr.prototype,"arrayClass",{configurable:!0,get:yr.prototype.xe}),Object.defineProperty(yr.prototype,"stringClass",{configurable:!0,get:yr.prototype.ye}),Object.defineProperty(yr.prototype,"throwableClass",{configurable:!0,get:yr.prototype.ze}),Object.defineProperty(yr.prototype,"booleanArrayClass",{configurable:!0,get:yr.prototype.af}),Object.defineProperty(yr.prototype,"charArrayClass",{configurable:!0,get:yr.prototype.bf}),Object.defineProperty(yr.prototype,"byteArrayClass",{configurable:!0,get:yr.prototype.cf}),Object.defineProperty(yr.prototype,"shortArrayClass",{configurable:!0,get:yr.prototype.df}),Object.defineProperty(yr.prototype,"intArrayClass",{configurable:!0,get:yr.prototype.ef}),Object.defineProperty(yr.prototype,"longArrayClass",{configurable:!0,get:yr.prototype.ff}),Object.defineProperty(yr.prototype,"floatArrayClass",{configurable:!0,get:yr.prototype.gf}),Object.defineProperty(yr.prototype,"doubleArrayClass",{configurable:!0,get:yr.prototype.hf}),$r.$metadata$=tu("Appendable"),Cr.prototype.y9=function(){return this.if_1.length},Cr.prototype.z9=function(t){var e=this.if_1;if(!(t>=0&&t<=An(e)))throw Ru("index: "+t+", length: "+this.y9()+"}");return Es(e,t)},Cr.prototype.aa=function(t,e){return this.if_1.substring(t,e)},Cr.prototype.h8=function(t){return this.if_1=this.if_1+new us(t),this},Cr.prototype.b=function(t){return this.if_1=this.if_1+xs(t),this},Cr.prototype.jf=function(t,e,n){var i=t;return this.kf(null==i?"null":i,e,n)},Cr.prototype.lf=function(t){return this.if_1=this.if_1+xs(t),this},Cr.prototype.mf=function(t){var e=this,n=this.if_1,i=t;return e.if_1=n+(null==i?"null":i),this},Cr.prototype.toString=function(){return this.if_1},Cr.prototype.kf=function(t,e,n){var i=Hs(t);Ut().e2(e,n,i.length);var o,r=this,s=this.if_1;return o=i.substring(e,n),r.if_1=s+o,this},Cr.$metadata$=qa("StringBuilder",[$r,_i]),qr.prototype.qf=function(t){var e=this.nf_1;return t.replace(e,"\\$&")},qr.prototype.rf=function(t){var e=this.pf_1;return t.replace(e,"$$$$")},qr.$metadata$=eu("Companion"),Dr.prototype.p8=function(t){wr(this.k8_1);var e=this.k8_1.exec(Hs(t));return null!=e&&0===e.index&&this.k8_1.lastIndex===Is(t)},Dr.prototype.q8=function(t){return wr(this.k8_1),this.k8_1.test(Hs(t))},Dr.prototype.sf=function(t,e){if(e<0||e>Is(t))throw Ru("Start index out of bounds: "+e+", input length: "+Is(t));return Tr(this.k8_1,Hs(t),e,this.k8_1)},Dr.prototype.tf=function(t,e,n,i){return 0!=(2&n)&&(e=0),this.sf(t,e)},Dr.prototype.uf=function(t,e){if(e<0||e>Is(t))throw Ru("Start index out of bounds: "+e+", input length: "+Is(t));return n=this,i=t,o=e,new ze((function(){return n.sf(i,o)}),Ar);var n,i,o},Dr.prototype.vf=function(t,e,n,i){return 0!=(2&n)&&(e=0),this.uf(t,e)},Dr.prototype.o8=function(t,e){if(!Dn(e,92,!1,2)&&!Dn(e,36,!1,2)){var n=Hs(t),i=this.k8_1;return n.replace(i,e)}return this.wf(t,Er(e))},Dr.prototype.wf=function(t,e){var n=this.tf(t,0,2,null);if(null==n)return Hs(t);var i=0,o=Is(t),r=xr();do{var s=Xs(n);r.jf(t,i,s.f9().a8()),r.b(e(s)),i=s.f9().b8()+1|0,n=s.e()}while(i0)Qs(),e=new ta(-1,2147483647);else Qs(),o=new ta(0,-2147483648).l9(Ca(1e6)),n.c1(o)<0?(Qs(),e=new ta(0,-2147483648)):e=Jn(n)}return e}(t)},t.$_$.p1=ii,t.$_$.q1=ri,t.$_$.r1=oi,t.$_$.s1=Ke,t.$_$.t1=tn,t.$_$.u1=ki,t.$_$.v1=Qs,t.$_$.w1=ai,t.$_$.x1=$i,t.$_$.y1=It,t.$_$.z1=Kt,t.$_$.a2=ne,t.$_$.b2=Di,t.$_$.c2=re,t.$_$.d2=Gi,t.$_$.e2=gs,t.$_$.f2=ls,t.$_$.g2=vi,t.$_$.h2=mi,t.$_$.i2=cs,t.$_$.j2=vs,t.$_$.k2=ys,t.$_$.l2=ms,t.$_$.m2=gi,t.$_$.n2=fs,t.$_$.o2=ps,t.$_$.p2=function(t,e){return t.c4(ru(e))},t.$_$.q2=ye,t.$_$.r2=function(t,e,n,i,o){Ut().d2(i,o,t.length);var r=o-i|0;if(Ut().d2(n,n+r|0,e.length),ut(e)&&ut(t)){var s=t.subarray(i,o);e.set(s,n)}else if(t!==e||n<=i){var a=0;if(a0&&e>0))throw wu(Hs(t!==e?"Both size "+t+" and step "+e+" must be greater than zero.":"size "+t+" must be greater than zero."))}(e,n),Da(t,ko)&&Da(t,cs)){var o=t.f(),r=Wi((o/n|0)+(0==(o%n|0)?0:1)|0),s=0;t:for(;0<=s&&s=0))throw wu(Hs("Invalid new array size: "+e+"."));return function(t,e){for(var n=t.length,i=e.length,o=0,r=e;o0?ru(t):se()},t.$_$.o3=ae,t.$_$.p3=function(t,e){return function(t,e){var n=t.slice();n.length=n.length+e.f()|0,void 0!==t.$type$&&(n.$type$=t.$type$);for(var i=t.length,o=e.c();o.d();){var r=o.e(),s=i;i=s+1|0,n[s]=r}return n}(t,e)},t.$_$.q3=function(t,e){return function(t,e,n){if(!Da(t,ko))return me(Da(t,bs)?t:Js(),e,n);var i=0,o=0,r=ue(t);if(o<=r)do{var s=o;o=o+1|0;var a=t.g(s);e(a)!==n&&(i!==s&&t.e4(i,a),i=i+1|0)}while(s!==r);if(i=u)return!1}while(o0,e),bn().d1(t.e1_1,t.f1_1,t.g1_1>0?e:0|-e)},t.$_$.w5=St,t.$_$.x5=Yo,t.$_$.y5=Uo,t.$_$.z5=Wo,t.$_$.a6=we,t.$_$.b6=function(t){var e=t.c();return e.d()?e.e():null},t.$_$.c6=function(t){return new je(t)},t.$_$.d6=Kr,t.$_$.e6=function(t){return null!=t&&"true"===t.toLowerCase()},t.$_$.f6=function(t){var e=+t;return(Do(e)&&!function(t){switch(t.toLowerCase()){case"nan":case"+nan":case"-nan":return!0;default:return!1}}(t)||0===e&&Kr(t))&&Sn(t),e},t.$_$.g6=function(t){var e=0,n=Is(t)-1|0,i=!1;t:for(;e<=n;){var o=zr(Es(t,i?n:e));if(i){if(!o)break t;n=n-1|0}else o?e=e+1|0:i=!0}return Ts(t,e,n+1|0)},t.$_$.h6=function(t,e){var n=ts(t,e,(Zr(),T));if(Do(n))throw wu(Hs("Duration value cannot be NaN."));var i=Eo(n),o=new ta(387905,-1073741824);return i.c1(new ta(-387905,1073741823))<=0&&o.c1(i)<=0?Zn(i):function(t){var e=new ta(1108857478,-1074);return t.c1(new ta(-1108857478,1073))<=0&&e.c1(t)<=0?Zn(Jn(t)):(n=function(t,e,n){if(e.c1(n)>0)throw wu("Cannot coerce value to an empty range: maximum "+Hs(n)+" is less than minimum "+Hs(e)+".");return t.c1(e)<0?e:t.c1(n)>0?n:t}(t,new ta(1,-1073741824),new ta(-1,1073741823)),Yn(n.m9(1).n9(new ta(1,0))));var n}(Eo(ts(t,e,es())))},t.$_$.i6=us,t.$_$.j6=ji,t.$_$.k6=$s,t.$_$.l6=gu,t.$_$.m6=ta,t.$_$.n6=fi,t.$_$.o6=Eu,t.$_$.p6=Js,t.$_$.q6=function(){throw xu()},t.$_$.r6=Tu,t.$_$.s6=function(t,e){if(t!==e){var n=t._suppressed;null==n?t._suppressed=ae([e]):n.a(e)}},t.$_$.t6=function(t){var e=t;return(65535&(e=(16711935&(e=(252645135&(e=(858993459&(e=(1431655765&e)+(1431655765&(e>>>1|0))|0))+(858993459&(e>>>2|0))|0))+(252645135&(e>>>4|0))|0))+(16711935&(e>>>8|0))|0))+(e>>>16|0)|0},t.$_$.u6=ci,t.$_$.v6=Xs,t.$_$.w6=function(t){return new ti(t)},t.$_$.x6=function(){throw Gu()},t.$_$.y6=function(t){console.error(function(t){return(new Jr).qg(t)}(t))},t.$_$.z6=function(t,e){var n=t<>>(32-e|0)|0},t.$_$.a7=function(t,e){return ki(),t<<(32-e|0)|t>>>e|0},t.$_$.b7=function(t){throw Qu("lateinit property "+t+" has not been initialized")},t.$_$.c7=xs,t.$_$.d7=pi,t})?n.apply(e,[e]):n)||(t.exports=i)},646:function(t,e,n){var i,o,r;o=[e,n(744),n(868)],void 0===(r="function"==typeof(i=function(t,e,n){"use strict";var i,o,r,s,a,u,l,c,h,f,p,_,d,v,y,m,g,b,w,$,x,k,j,C,S,z,M,O,q,P,A,E,D,I,T=Math.imul,L=e.$_$.p6,R=e.$_$.p5,N=e.$_$.x1,F=e.$_$.q4,B=e.$_$.m4,H=e.$_$.l4,V=e.$_$.n4,W=e.$_$.k4,U=e.$_$.a5,K=e.$_$.t1,Y=e.$_$.s1,G=e.$_$.c5,X=e.$_$.d4,J=e.$_$.g1,Z=n.$_$.c,Q=e.$_$.e4,tt=e.$_$.c4,et=e.$_$.l5,nt=e.$_$.o5,it=e.$_$.c7,ot=e.$_$.t5,rt=n.$_$.b,st=e.$_$.s5,at=e.$_$.j5,ut=n.$_$.a,lt=e.$_$.u,ct=e.$_$.q1,ht=e.$_$.r1,ft=e.$_$.w1,pt=e.$_$.p1,_t=e.$_$.u6,dt=e.$_$.g4,vt=e.$_$.f4,yt=e.$_$.h4,mt=e.$_$.i4,gt=e.$_$.j4,bt=e.$_$.p4,wt=e.$_$.l1,$t=e.$_$.k6,xt=e.$_$.u4,kt=e.$_$.x6,jt=e.$_$.m6,Ct=e.$_$.o6,St=e.$_$.k1,zt=e.$_$.y4,Mt=e.$_$.l6,Ot=e.$_$.d1,qt=e.$_$.o4,Pt=e.$_$.w,At=e.$_$.a1,Et=e.$_$.b7,Dt=e.$_$.m,It=e.$_$.b4,Tt=e.$_$.d2,Lt=e.$_$.r4,Rt=e.$_$.a6,Nt=e.$_$.h1,Ft=e.$_$.c6,Bt=e.$_$.w4,Ht=(e.$_$.s4,e.$_$.r6),Vt=e.$_$.n1,Wt=e.$_$.x4,Ut=e.$_$.e5,Kt=e.$_$.r2,Yt=e.$_$.e1,Gt=e.$_$.v6,Xt=e.$_$.a,Jt=e.$_$.v,Zt=e.$_$.i5,Qt=e.$_$.q;function te(t,e,n){var i;return 0!=(1&e)&&(t=null),null==n?(this.nk(t),i=N()):i=n(t),i}function ee(t,e,n,i,o){return 0!=(1&i)&&(t=!1),0!=(2&i)&&(e=!0),null==o?this.jk(t,e,n):o(t,e,n)}function ne(t,e,n){Ln.call(this,n),e&&this.dj(t.l7(Ze())),this.gj_1=t.s7(this)}function ie(t,e,n,i){var o=function(t,e){var n=t.hj().s7(e);return n!==Vi().js_1&&null==n.l7(Y())?n.s7(Vi().js_1):n}(t,e),r=n.bl()?new re(o,i):new oe(o,!0);return r.vj(n,r,i),r}function oe(t,e){ne.call(this,t,!0,e)}function re(t,e){oe.call(this,t,!1),this.ol_1=X(e,this,this)}function se(t,e){Si.call(this,t,e),this.gl_1=Z(0)}function ae(){}function ue(t){var e;if(2===t.jm_1){var n=t.xl_1;e=(n instanceof gi?n:L()).im()}else e=!1;return e}function le(t,e,n){var i;try{Ei(e,n),i=N()}catch(e){if(!(e instanceof Error))throw e;Te(t.o4(),new Ye("Exception in invokeOnCancellation handler for "+t,e)),i=N()}return i}function ce(t){var e=t.o4().l7(Ze());if(null==e)return null;var n,i=e;n=new Kn(t);var o=i.kk(!0,!1,n,2,null);return t.bm_1=o,o}function he(t){var e=t.xl_1,n=e instanceof gi?e:null,i=null==n?null:n.lm(t);if(null==i)return N();var o=i;t.mm(),t.tl(o)}function fe(t,e,n){var i="It's prohibited to register multiple handlers, tried to register "+e+", already has "+it(n);throw J(ot(i))}function pe(t,e){if(function(t){for(var e=t.zl_1;;)switch(e.vi_1){case 0:if(t.zl_1.atomicfu$compareAndSet(0,2))return!0;break;case 1:return!1;default:throw J("Already resumed")}}(t))return N();!function(t,e){var n=t.sm(),i=4===e;if(!i&&n instanceof gi&&xi(e)===xi(t.jm_1)){var o=n.dm_1,r=n.o4();o.xn(r)?o.yn(r,t):function(t){var e=Ke().to();if(e.mo())e.ko(t);else{e.po(!0);try{for(ji(t,t.sm(),!0);e.fo(););}catch(e){if(!(e instanceof Error))throw e;t.nn(e,null)}finally{e.qo(!0)}}}(t)}else ji(t,n,i)}(t,e)}function _e(t,e,n,i,o,r){return n instanceof ze?n:(xi(i)||null!=r)&&(null!=o||e instanceof ge&&!(e instanceof ke)||null!=r)?$e(n,e instanceof ge?e:null,o,r,null,16,null):n}function de(t,e,n,i,o,r){return 0!=(8&o)&&(i=null),function(t,e,n,i){for(var o=t.am_1;;)t:{var r=o.ui_1,s=r;if(null!=s&&nt(s,we)){var a=_e(0,r,e,n,i,null);if(!t.am_1.atomicfu$compareAndSet(r,a)){N();break t}return ye(t),pe(t,n),N()}if(s instanceof Me&&r.rm()){var u=i;return null==u||(t.nm(u,r.nj_1),N()),N()}ve(0,e)}}(t,e,n,i)}function ve(t,e){var n="Already resumed, but proposed with update "+it(e);throw J(ot(n))}function ye(t){ue(t)||t.mm()}function me(t,e){$i.call(this,e),this.xl_1=t,this.yl_1=this.xl_1.o4(),this.zl_1=Z(0),this.am_1=rt((null==i&&new be,i)),this.bm_1=null}function ge(){Di.call(this)}function be(){i=this}function we(){}function $e(t,e,n,i,o,r,s){return function(t,e,n,i,o,r,s,a){return 0!=(2&r)&&(e=null),0!=(4&r)&&(n=null),0!=(8&r)&&(i=null),0!=(16&r)&&(o=null),xe.call(a,t,e,n,i,o),a}(t,e,n,i,o,r,0,Object.create(xe.prototype))}function xe(t,e,n,i,o){this.xm_1=t,this.ym_1=e,this.zm_1=n,this.an_1=i,this.bn_1=o}function ke(){}function je(t){ge.call(this),this.rn_1=t}function Ce(){}function Se(t,e,n,i){return function(t,e,n,i,o){return 0!=(2&n)&&(e=!1),ze.call(o,t,e),o}(t,e,n,0,Object.create(ze.prototype))}function ze(t,e){this.nj_1=t,this.oj_1=ut(e)}function Me(t,e,n){var i=e;ze.call(this,null==i?lt("Continuation "+t+" was cancelled normally"):i,n),this.qm_1=ut(!1)}function Oe(t,e){var n,i=ct(t);if(null==i){var o=ht(t),r=null==o||R(o)?o:L();n=null!=e?new Pe(r,e):r}else n=Se(i,!1,2);return n}function qe(t,e,n,i){return 0!=(1&n)&&(e=null),Oe(t,e)}function Pe(t,e){this.un_1=t,this.vn_1=e}function Ae(t,e){var n;if(t instanceof ze){ft();var i=ao(t.nj_1);n=pt(_t(i))}else{ft();var o=null==t||R(t)?t:L();n=pt(o)}return n}function Ee(t){return t instanceof Ie?t:null}function De(){o=this;var t=Y();dt.call(this,t,Ee)}function Ie(){null==o&&new De,vt.call(this,Y())}function Te(t,e){try{var n=t.l7((null==r&&new Le,r));if(null!=n)return n.ao(t,e),N()}catch(t){if(t instanceof Error)return Ri(0,(i=e)===(o=t)?i:wt("Exception while trying to handle coroutine exception",o)),N();throw t}var i,o;Ri(0,e)}function Le(){r=this}function Re(){}function Ne(){if(l)return N();l=!0,s=new Fe("DEFAULT",0),a=new Fe("LAZY",1),new Fe("ATOMIC",2),u=new Fe("UNDISPATCHED",3)}function Fe(t,e){$t.call(this,t,e)}function Be(){}function He(){}function Ve(t,e){return e?new jt(0,1):new jt(1,0)}function We(){Ie.call(this),this.co_1=new jt(0,0),this.do_1=!1,this.eo_1=null}function Ue(){c=this,this.so_1=new uo}function Ke(){return null==c&&new Ue,c}function Ye(t,e){St(t,e,this),zt(this,Ye)}function Ge(t,e){Ot(t,e,this),zt(this,Ge)}function Xe(){}function Je(){h=this}function Ze(){return null==h&&new Je,h}function Qe(){}function tn(){}function en(){}function nn(){}function on(){f=this}function rn(){return null==f&&new on,f}function sn(t){return new Yn(t)}function an(){return Gn(),p}function un(){return Gn(),_}function ln(){return Gn(),d}function cn(){return Gn(),v}function hn(){return Gn(),y}function fn(){return Gn(),g}function pn(t){this.xo_1=t}function _n(){}function dn(){oo.call(this)}function vn(){Ai.call(this)}function yn(t,e){t.xp_1.ui_1=e}function mn(t){return t.xp_1.ui_1}function gn(t){return Dt(4)}function bn(t,e,n){var i,o=n instanceof ze?n:null,r=null==o?null:o.nj_1;i=e.yp();var s=e.zp(r),a=function(t,e,n){if(n.h()){if(e.yp()){var i=null;return new Ki(null==i?t.lj():i,null,t)}return null}var o;t:{for(var r=n.c();r.d();){var s=r.e();if(!(s instanceof It)){o=s;break t}}o=null}if(null!=o)return o;var a=n.g(0);if(a instanceof Zn){var u;t:{for(var l=n.c();l.d();){var c=l.e();if(c!==a&&c instanceof Zn){u=c;break t}}u=null}if(null!=u)return u}return a}(t,e,s);null!=a&&function(t,e,n){if(n.f()<=1)return N();for(var i=(a=n.f(),Qt(a)),o=e,r=n.c();r.d();){var s=r.e();!(s===e||s===o||s instanceof It)&&i.a(s)}var a}(0,a,s);var u=a,l=null==u||u===r?n:Se(u,!1,2);return null!=u&&(xn(t,u)||t.zk(u))&&(l instanceof ze?l:L()).jn(),i||t.wk(u),t.mj(l),t.bj_1.atomicfu$compareAndSet(e,Rn(l)),wn(t,e,l),l}function wn(t,e,n){var i=t.ak();null==i||(i.um(),t.zj(rn()),N());var o=n instanceof ze?n:null,r=null==o?null:o.nj_1;if(e instanceof vn)try{e.invoke(r)}catch(n){if(!(n instanceof Error))throw n;t.tj(new Ye("Exception in completion handler "+e+" for "+t,n))}else{var s=e.yo();null==s||function(t,e,n){for(var i=null,o=t.dp_1;!G(o,t);){if(o instanceof vn){var r=o;try{r.invoke(n)}catch(t){if(!(t instanceof Error))throw t;null==(null==i?null:i)&&(i=new Ye("Exception in completion handler "+r+" for "+e,t),N())}}o=o.dp_1}var s=i;null==s||(e.tj(s),N()),N()}(s,t,r)}}function $n(t,e,n){t.wk(n);for(var i=null,o=e.dp_1;!G(o,e);){if(o instanceof Nn){var r=o;try{r.invoke(n)}catch(e){if(!(e instanceof Error))throw e;null==(null==i?null:i)&&(i=new Ye("Exception in completion handler "+r+" for "+t,e),N())}}o=o.dp_1}var s=i;null==s||(t.tj(s),N()),xn(t,n)}function xn(t,e){if(t.xk())return!0;var n=e instanceof It,i=t.ak();return null===i||i===rn()?n:!!i.rk(e)||n}function kn(t,e){var n=e;return n instanceof pn?e.xo_1?0:t.bj_1.atomicfu$compareAndSet(e,fn())?(t.ek(),1):-1:n instanceof Fn?t.bj_1.atomicfu$compareAndSet(e,e.aq_1)?(t.ek(),1):-1:0}function jn(t,e,n,i){var o;return t.bk()===e?(n.kp(i),o=!0):o=!1,o}function Cn(t,e){var n=new dn,i=e.xo_1?n:new Fn(n);t.bj_1.atomicfu$compareAndSet(e,i)}function Sn(t,e){e.tp(new dn);var n=e.dp_1;t.bj_1.atomicfu$compareAndSet(e,n)}function zn(t,e){var n;if(null==e||e instanceof Error){var i,o=e;if(null==o){i=new Ki(t.lj(),null,t)}else i=o;n=i}else n=(null!=e&&nt(e,en)?e:L()).uk();return n}function Mn(t,e){var n,i=e.yo();if(null==i){var o,r=e;if(r instanceof pn)o=new dn;else{if(!(r instanceof vn))throw J(ot("State should have list: "+e));Sn(t,e),o=null}n=o}else n=i;return n}function On(t,e,n){var i=Mn(t,e);if(null==i)return!1;var o=i,r=new Dn(o,!1,n);return!!t.bj_1.atomicfu$compareAndSet(e,r)&&($n(t,o,n),!0)}function qn(t,e,n){return null!=e&&nt(e,_n)?!(e instanceof pn||e instanceof vn)||e instanceof Bn||n instanceof ze?function(t,e,n){var i=Mn(t,e);if(null==i)return ln();var o=i,r=e instanceof Dn?e:null,s=null==r?new Dn(o,!1,null):r,a=null;if(s.bq())return an();if(s.fq(!0),s!==e&&!t.bj_1.atomicfu$compareAndSet(e,s))return ln();var u=s.yp(),l=n instanceof ze?n:null;null==l||(s.dq(l.nj_1),N());var c=s.eq();a=u?null:c,N(),null==a||($n(t,o,a),N());var h=function(t,e){var n,i=e instanceof Bn?e:null;if(null==i){var o=e.yo();n=null==o?null:An(o)}else n=i;return n}(0,e);return null!=h&&Pn(t,s,h,n)?un():bn(t,s,n)}(t,e,n):function(t,e,n){return!!t.bj_1.atomicfu$compareAndSet(e,Rn(n))&&(t.wk(null),t.mj(n),wn(t,e,n),!0)}(t,e,n)?n:ln():an()}function Pn(t,e,n,i){for(var o=t,r=e,s=n,a=i;;){var u,l=s.kq_1;if(u=new In(o,r,s,a),l.kk(!1,!1,u,1,null)!==rn())return!0;var c=An(s);if(null==c)return!1;s=c}}function An(t,e){for(var n=t;n.fp_1;)n=n.ep_1;for(;;)if(!(n=n.dp_1).fp_1){if(n instanceof Bn)return n;if(n instanceof dn)return null}}function En(t,e){var n=e;return n instanceof Dn?e.yp()?"Cancelling":e.bq()?"Completing":"Active":null!=n&&nt(n,_n)?e.ij()?"Active":"New":n instanceof ze?"Cancelled":"Completed"}function Dn(t,e,n){this.up_1=t,this.vp_1=ut(e),this.wp_1=rt(n),this.xp_1=rt(null)}function In(t,e,n,i){vn.call(this),this.qq_1=t,this.rq_1=e,this.sq_1=n,this.tq_1=i}function Tn(t,e){this.cr_1=t,Lt.call(this,e)}function Ln(t){this.bj_1=rt(t?fn():(Gn(),m)),this.cj_1=rt(null)}function Rn(t){return Gn(),null!=t&&nt(t,_n)?new Un(t):t}function Nn(){vn.call(this)}function Fn(t){this.aq_1=t}function Bn(t){Nn.call(this),this.kq_1=t}function Hn(t){Nn.call(this),this.qr_1=t,this.rr_1=Z(0)}function Vn(t){vn.call(this),this.wr_1=t}function Wn(t){Gn();var e=t instanceof Un?t:null,n=null==e?null:e.xr_1;return null==n?t:n}function Un(t){this.xr_1=t}function Kn(t){Nn.call(this),this.cs_1=t}function Yn(t){Ln.call(this,!0),this.dj(t),this.fs_1=function(t){var e=t.ak(),n=e instanceof Bn?e:null,i=null==n?null:n.rp();if(null==i)return!1;for(var o=i;;){if(o.yk())return!0;var r=o.ak(),s=r instanceof Bn?r:null,a=null==s?null:s.rp();if(null==a)return!1;o=a}}(this)}function Gn(){b||(b=!0,p=new zi("COMPLETING_ALREADY"),_=new zi("COMPLETING_WAITING_CHILDREN"),d=new zi("COMPLETING_RETRY"),v=new zi("TOO_LATE_TO_CANCEL"),y=new zi("SEALED"),m=new pn(!1),g=new pn(!0))}function Xn(){Ie.call(this)}function Jn(t){Yn.call(this,t)}function Zn(){}function Qn(){w=this,Ie.call(this)}function ti(){$=this}function ei(){}function ni(){}function ii(){}function oi(){}function ri(){}function si(){}function ai(t,e,n){var i=0,o=t.ws_1,r=t.et_1.ui_1;if(null!=e&&!G(r,e))return!1;if(G(r,n))return!0;if(t.et_1.ui_1=n,0!=(1&(i=t.ft_1)))return t.ft_1=i+2|0,!0;for(i=i+1|0,t.ft_1=i,o=t.ws_1,N();;){if(null==o);else for(var s=Wt(o);s.d();){var a=s.e();null==a||a.ht()}if(t.ft_1===i)return t.ft_1=i+1|0,!0;i=t.ft_1,o=t.ws_1,N()}}function ui(t){li.call(this),this.et_1=rt(t),this.ft_1=0}function li(){this.ws_1=null,this.xs_1=0,this.ys_1=0,this.zs_1=null}function ci(){}function hi(){return j||(j=!0,k=new zi("NULL"),new zi("UNINITIALIZED"),new zi("DONE")),k}function fi(){}function pi(){var t;t=Ut(Array(16),null),this.go_1=t,this.ho_1=0,this.io_1=0}function _i(){}function di(){return bi(),C}function vi(){return bi(),S}function yi(t,e,n){var i;if(bi(),t instanceof gi){var o,r=t,s=Oe(e,n);if(r.dm_1.xn(r.o4()))r.fm_1=s,r.jm_1=wi(),r.dm_1.yn(r.o4(),r),o=N();else{var a=wi(),u=Ke().to();if(u.mo())r.fm_1=s,r.jm_1=a,u.ko(r);else{u.po(!0);try{var l,c=r.o4().l7(Ze());if(null==c||c.ij())l=!1;else{var h,f=c.fk();r.wm(s,f),ft(),h=pt(_t(f)),r.m4(h),N(),l=!0}for(l||(r.em_1,r.gm_1,r.em_1.m4(e),N());u.fo(););}catch(t){if(!(t instanceof Error))throw t;r.nn(t,null)}finally{u.qo(!0)}}o=N()}i=o}else t.m4(e),i=N();return i}function mi(t,e,n,i,o){return 0!=(2&i)&&(n=null),yi(t,e,n)}function gi(t,e){$i.call(this,O),this.dm_1=t,this.em_1=e,this.fm_1=di(),this.gm_1=(this.o4(),0),this.hm_1=rt(null)}function bi(){z||(z=!0,C=new zi("UNDEFINED"),S=new zi("REUSABLE_CLAIMED"))}function wi(){return M}function $i(t){io.call(this),this.jm_1=t}function xi(t){return 1===t||2===t}function ki(){return q}function ji(t,e,n){var i,o=t.vm(),r=t.kn(o);if(null!=r)ft(),i=pt(_t(r));else{ft();var s=t.in(o);i=pt(s)}var a=i;if(n){var u=e instanceof gi?e:L();u.em_1,u.gm_1,u.em_1.m4(a),N()}else e.m4(a)}function Ci(t){this.nt_1=t}function Si(t,e){ne.call(this,t,!0,!0),this.sl_1=e}function zi(t){this.ot_1=t}function Mi(t,e,n,i,o,r){return 0!=(4&o)&&(i=null),function(t,e,n,i){var o;try{var r=Q(X(t,e,n));ft(),yi(r,pt(N()),i),o=N()}catch(t){if(!(t instanceof Error))throw t;Oi(n,t),o=N()}return o}(t,e,n,i)}function Oi(t,e){return function(t,e){var n;throw ft(),n=pt(_t(e)),t.m4(n),e}(t,e)}function qi(t,e,n){var i,o;try{var r;o="function"==typeof(r=n)?r(e,t):n.e7(e,t)}catch(t){if(!(t instanceof Error))throw t;o=Se(t,!1,2)}var s=o;if(s!==tt()){var a=t.qj(s);if(a!==un()){if(a instanceof ze)throw a.nj_1,ao(a.nj_1,t.sl_1);i=Wn(a)}else i=tt()}else i=tt();return i}function Pi(){}function Ai(){ro.call(this)}function Ei(t,e){"function"==typeof t?t(e):t.invoke(e)}function Di(){}function Ii(t){return ot(t)}function Ti(){var t;return"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&void 0!==navigator.userAgent&&void 0!==navigator.userAgent.match&&navigator.userAgent.match("\\bjsdom\\b")?t=Gi():t=!(!("undefined"!=typeof window&&null!=window)||void 0===window.addEventListener)?function(t){var e,n=t.coroutineDispatcher;if(null==n){var i=new to(t);t.coroutineDispatcher=i,e=i}else e=n;return e}(window):"undefined"==typeof process||void 0===process.nextTick?(null==I&&new Xi,I):Gi(),t}function Li(t,e){Si.call(this,t,e)}function Ri(t,e){console.error(e)}function Ni(){return A}function Fi(t){var e=Xt(t).md();return null==e?"Unknown":e}function Bi(t){var e=t.__debug_counter;return"number"!=typeof e&&(e=P=P+1|0,t.__debug_counter=e),(null!=e&&"number"==typeof e?e:L()).toString()}function Hi(){E=this,this.js_1=Ti(),this.ks_1=(null==w&&new Qn,w),this.ls_1=new Wi(this.js_1,!1),this.ms_1=null}function Vi(){return null==E&&new Hi,E}function Wi(t,e){Xn.call(this),this.vt_1=t,this.wt_1=e,this.xt_1=this.wt_1?this:new Wi(this.vt_1,!0)}function Ui(){We.call(this)}function Ki(t,e,n){Jt(t,e,this),this.cu_1=n,zt(this,Ki)}function Yi(){D=this,Zi.call(this)}function Gi(){return null==D&&new Yi,D}function Xi(){I=this,Zi.call(this)}function Ji(t){var e;this.mu_1=t,Qi.call(this),this.lu_1=(e=this,function(){return e.wu(),N()})}function Zi(){Ie.call(this),this.ou_1=new Ji(this)}function Qi(){pi.call(this),this.uu_1=16,this.vu_1=!1}function to(t){Ie.call(this),this.bv_1=t,this.cv_1=new eo(this.bv_1)}function eo(t){var e;Qi.call(this),this.iv_1=t,this.jv_1="dispatchCoroutine",this.iv_1.addEventListener("message",(e=this,function(t){return t.source==e.iv_1&&t.data==e.jv_1&&(t.stopPropagation(),e.wu(),N()),N()}),!0)}function no(){}function io(){}function oo(){ro.call(this)}function ro(){this.dp_1=this,this.ep_1=this,this.fp_1=!1}function so(){}function ao(t,e){return t}function uo(){this.uo_1=null}return ne.prototype=Object.create(Ln.prototype),ne.prototype.constructor=ne,oe.prototype=Object.create(ne.prototype),oe.prototype.constructor=oe,re.prototype=Object.create(oe.prototype),re.prototype.constructor=re,Si.prototype=Object.create(ne.prototype),Si.prototype.constructor=Si,se.prototype=Object.create(Si.prototype),se.prototype.constructor=se,$i.prototype=Object.create(io.prototype),$i.prototype.constructor=$i,me.prototype=Object.create($i.prototype),me.prototype.constructor=me,ge.prototype=Object.create(Di.prototype),ge.prototype.constructor=ge,ke.prototype=Object.create(ge.prototype),ke.prototype.constructor=ke,je.prototype=Object.create(ge.prototype),je.prototype.constructor=je,Me.prototype=Object.create(ze.prototype),Me.prototype.constructor=Me,De.prototype=Object.create(dt.prototype),De.prototype.constructor=De,Ie.prototype=Object.create(vt.prototype),Ie.prototype.constructor=Ie,Fe.prototype=Object.create($t.prototype),Fe.prototype.constructor=Fe,We.prototype=Object.create(Ie.prototype),We.prototype.constructor=We,Ye.prototype=Object.create(Ct.prototype),Ye.prototype.constructor=Ye,Ge.prototype=Object.create(Mt.prototype),Ge.prototype.constructor=Ge,oo.prototype=Object.create(ro.prototype),oo.prototype.constructor=oo,dn.prototype=Object.create(oo.prototype),dn.prototype.constructor=dn,Ai.prototype=Object.create(ro.prototype),Ai.prototype.constructor=Ai,vn.prototype=Object.create(Ai.prototype),vn.prototype.constructor=vn,In.prototype=Object.create(vn.prototype),In.prototype.constructor=In,Tn.prototype=Object.create(Lt.prototype),Tn.prototype.constructor=Tn,Nn.prototype=Object.create(vn.prototype),Nn.prototype.constructor=Nn,Bn.prototype=Object.create(Nn.prototype),Bn.prototype.constructor=Bn,Hn.prototype=Object.create(Nn.prototype),Hn.prototype.constructor=Hn,Vn.prototype=Object.create(vn.prototype),Vn.prototype.constructor=Vn,Kn.prototype=Object.create(Nn.prototype),Kn.prototype.constructor=Kn,Yn.prototype=Object.create(Ln.prototype),Yn.prototype.constructor=Yn,Xn.prototype=Object.create(Ie.prototype),Xn.prototype.constructor=Xn,Jn.prototype=Object.create(Yn.prototype),Jn.prototype.constructor=Jn,Zn.prototype=Object.create(It.prototype),Zn.prototype.constructor=Zn,Qn.prototype=Object.create(Ie.prototype),Qn.prototype.constructor=Qn,ui.prototype=Object.create(li.prototype),ui.prototype.constructor=ui,gi.prototype=Object.create($i.prototype),gi.prototype.constructor=gi,Li.prototype=Object.create(Si.prototype),Li.prototype.constructor=Li,Wi.prototype=Object.create(Xn.prototype),Wi.prototype.constructor=Wi,Ui.prototype=Object.create(We.prototype),Ui.prototype.constructor=Ui,Ki.prototype=Object.create(It.prototype),Ki.prototype.constructor=Ki,Zi.prototype=Object.create(Ie.prototype),Zi.prototype.constructor=Zi,Yi.prototype=Object.create(Zi.prototype),Yi.prototype.constructor=Yi,Xi.prototype=Object.create(Zi.prototype),Xi.prototype.constructor=Xi,Qi.prototype=Object.create(pi.prototype),Qi.prototype.constructor=Qi,Ji.prototype=Object.create(Qi.prototype),Ji.prototype.constructor=Ji,to.prototype=Object.create(Ie.prototype),to.prototype.constructor=to,eo.prototype=Object.create(Qi.prototype),eo.prototype.constructor=eo,ne.prototype.o4=function(){return this.gj_1},ne.prototype.hj=function(){return this.gj_1},ne.prototype.ij=function(){return Ln.prototype.ij.call(this)},ne.prototype.jj=function(t){},ne.prototype.kj=function(t,e){},ne.prototype.lj=function(){return Fi(this)+" was cancelled"},ne.prototype.mj=function(t){t instanceof ze?this.kj(t.nj_1,t.pj()):this.jj(null==t||R(t)?t:L())},ne.prototype.m4=function(t){var e=this.qj(qe(t,null,1));if(e===un())return N();this.rj(e)},ne.prototype.rj=function(t){return this.sj(t)},ne.prototype.tj=function(t){Te(this.gj_1,t)},ne.prototype.uj=function(){var t=(this.gj_1,null);return null==t?Ln.prototype.uj.call(this):'"'+t+'":'+Ln.prototype.uj.call(this)},ne.prototype.vj=function(t,e,n){t.yj(n,e,this)},ne.$metadata$=U("AbstractCoroutine",[Qe,W,Re],void 0,void 0,void 0,Ln.prototype),oe.prototype.zk=function(t){return Te(this.gj_1,t),!0},oe.$metadata$=U("StandaloneCoroutine",void 0,void 0,void 0,void 0,ne.prototype),re.prototype.ek=function(){!function(t,e){var n;try{var i=Q(t);ft(),mi(i,pt(N()),null,2),n=N()}catch(t){if(!(t instanceof Error))throw t;Oi(e,t),n=N()}}(this.ol_1,this)},re.$metadata$=U("LazyStandaloneCoroutine",void 0,void 0,void 0,void 0,oe.prototype),se.prototype.sj=function(t){this.rj(t)},se.prototype.rj=function(t){if(function(t){for(var e=t.gl_1;;)switch(e.vi_1){case 0:if(t.gl_1.atomicfu$compareAndSet(0,2))return!0;break;case 1:return!1;default:throw J("Already resumed")}}(this))return N();mi(Q(this.sl_1),Ae(t,this.sl_1),null,2)},se.prototype.hl=function(){if(function(t){for(var e=t.gl_1;;)switch(e.vi_1){case 0:if(t.gl_1.atomicfu$compareAndSet(0,1))return!0;break;case 2:return!1;default:throw J("Already suspended")}}(this))return tt();var t=Wn(this.bk());if(t instanceof ze)throw t.nj_1;return null==t||R(t)?t:L()},se.$metadata$=U("DispatchedCoroutine",void 0,void 0,void 0,void 0,Si.prototype),ae.$metadata$=et("CancellableContinuation",[W]),me.prototype.sm=function(){return this.xl_1},me.prototype.o4=function(){return this.yl_1},me.prototype.bk=function(){return this.am_1.ui_1},me.prototype.ck=function(){var t=this.bk();return!(null!=t&&nt(t,we))},me.prototype.tm=function(){var t=ce(this);if(null==t)return N();var e=t;this.ck()&&(e.um(),this.bm_1=rn())},me.prototype.vm=function(){return this.bk()},me.prototype.wm=function(t,e){for(var n=this.am_1;;){var i=n.ui_1,o=i;if(null!=o&&nt(o,we))throw J("Not completed");if(o instanceof ze)return N();if(o instanceof xe){if(i.cn())throw J(ot("Must be called at most once"));var r=i.dn(null,null,null,null,e,15,null);if(this.am_1.atomicfu$compareAndSet(i,r))return i.en(this,e),N()}else if(this.am_1.atomicfu$compareAndSet(i,$e(i,null,null,null,e,14)))return N()}return N()},me.prototype.tl=function(t){for(var e=this.am_1;;){var n=e.ui_1;if(null==n||!nt(n,we))return!1;var i=new Me(this,t,n instanceof ge);if(this.am_1.atomicfu$compareAndSet(n,i)){var o=n instanceof ge?n:null;return null==o||(this.fn(o,t),N()),ye(this),pe(this,this.jm_1),!0}N()}},me.prototype.gn=function(t){if(function(t,e){if(!ue(t))return!1;var n=t.xl_1;return(n instanceof gi?n:L()).km(e)}(this,t))return N();this.tl(t),ye(this)},me.prototype.fn=function(t,e){var n;try{t.invoke(e),n=N()}catch(t){if(!(t instanceof Error))throw t;Te(this.o4(),new Ye("Exception in invokeOnCancellation handler for "+this,t)),n=N()}return n},me.prototype.nm=function(t,e){try{t(e)}catch(t){if(!(t instanceof Error))throw t;Te(this.o4(),new Ye("Exception in resume onCancellation handler for "+this,t))}},me.prototype.hn=function(t){return t.fk()},me.prototype.hl=function(){var t=ue(this);if(function(t){for(var e=t.zl_1;;)switch(e.vi_1){case 0:if(t.zl_1.atomicfu$compareAndSet(0,1))return!0;break;case 2:return!1;default:throw J("Already suspended")}}(this))return null==this.bm_1&&ce(this),t&&he(this),tt();t&&he(this);var e=this.bk();if(e instanceof ze)throw ao(e.nj_1);if(xi(this.jm_1)){var n=this.o4().l7(Ze());if(null!=n&&!n.ij()){var i=n.fk();throw this.wm(e,i),ao(i)}}return this.in(e)},me.prototype.m4=function(t){return de(this,function(t,e){var n,i=ct(t);if(null==i){var o=ht(t);n=null==o||R(o)?o:L()}else n=Se(ao(i),!1,2);return n}(t),this.jm_1,null,8)},me.prototype.vl=function(t){for(var e=function(t,e){return e instanceof ge?e:new je(e)}(0,t),n=this.am_1;;){var i=n.ui_1,o=i;if(o instanceof be){if(this.am_1.atomicfu$compareAndSet(i,e))return N()}else if(o instanceof ge)fe(0,t,i);else{if(o instanceof ze){if(i.jn()||fe(0,t,i),i instanceof Me){var r=i instanceof ze?i:null;le(this,t,null==r?null:r.nj_1)}return N()}if(o instanceof xe){if(null!=i.ym_1&&fe(0,t,i),e instanceof ke)return N();if(i.cn())return le(this,t,i.bn_1),N();var s=i.dn(null,e,null,null,null,29,null);if(this.am_1.atomicfu$compareAndSet(i,s))return N()}else{if(e instanceof ke)return N();var a=$e(i,e,null,null,null,28);if(this.am_1.atomicfu$compareAndSet(i,a))return N()}}}},me.prototype.mm=function(){var t=this.bm_1;if(null==t)return N();t.um(),this.bm_1=rn()},me.prototype.in=function(t){var e;if(t instanceof xe){var n=t.xm_1;e=null==n||R(n)?n:L()}else e=null==t||R(t)?t:L();return e},me.prototype.kn=function(t){var e=$i.prototype.kn.call(this,t);return null==e?null:ao(e,this.xl_1)},me.prototype.toString=function(){return this.uj()+"("+Ii(this.xl_1)+"){"+((null!=(t=this.bk())&&nt(t,we)?"Active":t instanceof Me?"Cancelled":"Completed")+"}@")+Bi(this);var t},me.prototype.uj=function(){return"CancellableContinuation"},me.$metadata$=U("CancellableContinuationImpl",[ae,so],void 0,void 0,void 0,$i.prototype),ge.$metadata$=U("CancelHandler",[we],void 0,void 0,void 0,Di.prototype),be.prototype.toString=function(){return"Active"},be.$metadata$=st("Active",[we]),we.$metadata$=et("NotCompleted"),xe.prototype.on=function(){return this.ym_1},xe.prototype.pn=function(){return this.bn_1},xe.prototype.cn=function(){return!(null==this.bn_1)},xe.prototype.en=function(t,e){var n=this.ym_1;null==n||(t.fn(n,e),N());var i=this.zm_1;null==i||(t.nm(i,e),N())},xe.prototype.qn=function(t,e,n,i,o){return new xe(t,e,n,i,o)},xe.prototype.dn=function(t,e,n,i,o,r,s){return 0!=(1&r)&&(t=this.xm_1),0!=(2&r)&&(e=this.ym_1),0!=(4&r)&&(n=this.zm_1),0!=(8&r)&&(i=this.an_1),0!=(16&r)&&(o=this.bn_1),this.qn(t,e,n,i,o)},xe.prototype.toString=function(){return"CompletedContinuation(result="+it(this.xm_1)+", cancelHandler="+this.ym_1+", onCancellation="+this.zm_1+", idempotentResume="+it(this.an_1)+", cancelCause="+this.bn_1+")"},xe.prototype.hashCode=function(){var t=null==this.xm_1?0:at(this.xm_1);return t=T(t,31)+(null==this.ym_1?0:at(this.ym_1))|0,t=T(t,31)+(null==this.zm_1?0:at(this.zm_1))|0,t=T(t,31)+(null==this.an_1?0:at(this.an_1))|0,T(t,31)+(null==this.bn_1?0:at(this.bn_1))|0},xe.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof xe))return!1;var e=t instanceof xe?t:L();return!!(G(this.xm_1,e.xm_1)&&G(this.ym_1,e.ym_1)&&G(this.zm_1,e.zm_1)&&G(this.an_1,e.an_1)&&G(this.bn_1,e.bn_1))},xe.$metadata$=U("CompletedContinuation"),ke.$metadata$=U("BeforeResumeCancelHandler",void 0,void 0,void 0,void 0,ge.prototype),je.prototype.sn=function(t){this.rn_1(t)},je.prototype.invoke=function(t){return this.sn(t)},je.prototype.toString=function(){return"InvokeOnCancel["+Fi(this.rn_1)+"@"+Bi(this)+"]"},je.$metadata$=U("InvokeOnCancel",void 0,void 0,void 0,void 0,ge.prototype),Ce.$metadata$=et("CompletableJob",[Qe]),ze.prototype.l1=function(){return this.nj_1},ze.prototype.pj=function(){return this.oj_1.yi_1},ze.prototype.jn=function(){return this.oj_1.atomicfu$compareAndSet(!1,!0)},ze.prototype.toString=function(){return Fi(this)+"["+this.nj_1+"]"},ze.$metadata$=U("CompletedExceptionally"),Me.prototype.rm=function(){return this.qm_1.atomicfu$compareAndSet(!1,!0)},Me.$metadata$=U("CancelledContinuation",void 0,void 0,void 0,void 0,ze.prototype),Pe.prototype.toString=function(){return"CompletedWithCancellation(result="+it(this.un_1)+", onCancellation="+this.vn_1+")"},Pe.prototype.hashCode=function(){var t=null==this.un_1?0:at(this.un_1);return T(t,31)+at(this.vn_1)|0},Pe.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Pe))return!1;var e=t instanceof Pe?t:L();return!!G(this.un_1,e.un_1)&&!!G(this.vn_1,e.vn_1)},Pe.$metadata$=U("CompletedWithCancellation"),De.$metadata$=st("Key",void 0,void 0,void 0,void 0,dt.prototype),Ie.prototype.xn=function(t){return!0},Ie.prototype.j7=function(t){return new gi(this,t)},Ie.prototype.k7=function(t){(t instanceof gi?t:L()).zn()},Ie.prototype.toString=function(){return Fi(this)+"@"+Bi(this)},Ie.$metadata$=U("CoroutineDispatcher",[gt],void 0,void 0,void 0,vt.prototype),Le.$metadata$=st("Key",[bt]),Re.$metadata$=et("CoroutineScope"),Fe.prototype.yj=function(t,e,n){var i;switch(this.r1_1){case 0:Mi(t,e,n,null,4),i=N();break;case 2:xt(t,e,n),i=N();break;case 3:(function(t,e,n){t:{var i,o=n;try{var r;n.o4(),i="function"==typeof(r=t)?r(e,o):t.e7(e,o)}catch(t){if(t instanceof Error){var s;ft(),s=pt(_t(t)),o.m4(s),N(),N();break t}throw t}var a=i;if(a!==tt()){var u,l=null==a||R(a)?a:L();ft(),u=pt(l),o.m4(u),N()}}})(t,e,n),i=N();break;case 1:i=N();break;default:kt()}return i},Fe.prototype.bl=function(){return this===(Ne(),a)},Fe.$metadata$=U("CoroutineStart",void 0,void 0,void 0,void 0,$t.prototype),Be.$metadata$=et("CopyableThrowable"),He.$metadata$=et("Delay"),We.prototype.fo=function(){var t=this.eo_1;if(null==t)return!1;var e=t.jo();return null!=e&&(e.mn(),!0)},We.prototype.ko=function(t){var e,n=this.eo_1;if(null==n){var i=new pi;this.eo_1=i,e=i}else e=n;e.lo(t)},We.prototype.mo=function(){return this.co_1.c1(Ve(0,!0))>=0},We.prototype.no=function(){var t=this.eo_1,e=null==t?null:t.oo();return null==e||e},We.prototype.po=function(t){this.co_1=this.co_1.n9(Ve(0,t)),t||(this.do_1=!0)},We.prototype.qo=function(t){if(this.co_1=this.co_1.oh(Ve(0,t)),this.co_1.c1(new jt(0,0))>0)return N();this.do_1&&this.ro()},We.prototype.ro=function(){},We.$metadata$=U("EventLoop",void 0,void 0,void 0,void 0,Ie.prototype),Ue.prototype.to=function(){var t,e=this.so_1.vo();if(null==e){var n=new Ui;Ke().so_1.wo(n),t=n}else t=e;return t},Ue.$metadata$=st("ThreadLocalEventLoop"),Ye.$metadata$=U("CompletionHandlerException",void 0,void 0,void 0,void 0,Ct.prototype),Ge.$metadata$=U("CoroutinesInternalError",void 0,void 0,void 0,void 0,Mt.prototype),Xe.$metadata$=et("DisposableHandle"),Je.$metadata$=st("Key",[bt]),Qe.$metadata$=et("Job",[qt]),tn.$metadata$=et("ChildJob",[Qe]),en.$metadata$=et("ParentJob",[Qe]),nn.$metadata$=et("ChildHandle",[Xe]),on.prototype.um=function(){},on.prototype.rk=function(t){return!1},on.prototype.toString=function(){return"NonDisposableHandle"},on.$metadata$=st("NonDisposableHandle",[Xe,nn]),pn.prototype.ij=function(){return this.xo_1},pn.prototype.yo=function(){return null},pn.prototype.toString=function(){return"Empty{"+(this.xo_1?"Active":"New")+"}"},pn.$metadata$=U("Empty",[_n]),_n.$metadata$=et("Incomplete"),dn.prototype.ij=function(){return!0},dn.prototype.yo=function(){return this},dn.prototype.cp=function(t){var e=At();e.mf("List{"),e.mf(t),e.mf("}[");for(var n=!0,i=this.dp_1;!G(i,this);){if(i instanceof vn){var o=i;n?n=!1:e.mf(", "),e.lf(o)}i=i.dp_1}return e.mf("]"),e.toString()},dn.prototype.toString=function(){return Ni()?this.cp("Active"):oo.prototype.toString.call(this)},dn.$metadata$=U("NodeList",[_n],void 0,void 0,void 0,oo.prototype),vn.prototype.rp=function(){var t=this.qp_1;if(null!=t)return t;Et("job")},vn.prototype.ij=function(){return!0},vn.prototype.yo=function(){return null},vn.prototype.um=function(){return this.rp().lk(this)},vn.prototype.toString=function(){return Fi(this)+"@"+Bi(this)+"[job@"+Bi(this.rp())+"]"},vn.$metadata$=U("JobNode",[Xe,_n],void 0,void 0,void 0,Ai.prototype),Dn.prototype.yo=function(){return this.up_1},Dn.prototype.fq=function(t){this.vp_1.yi_1=t},Dn.prototype.bq=function(){return this.vp_1.yi_1},Dn.prototype.lq=function(t){this.wp_1.ui_1=t},Dn.prototype.eq=function(){return this.wp_1.ui_1},Dn.prototype.cq=function(){return mn(this)===hn()},Dn.prototype.yp=function(){return!(null==this.eq())},Dn.prototype.ij=function(){return null==this.eq()},Dn.prototype.zp=function(t){var e,n=mn(this);if(null==n)e=gn();else if(n instanceof Error){var i=gn();i.a(n),e=i}else{if(!(n instanceof Tt)){var o="State is "+it(n);throw J(ot(o))}e=n instanceof Tt?n:L()}var r=e,s=this.eq(),a=s;return null==a||(r.va(0,a),N()),null==t||G(t,s)||r.a(t),yn(this,hn()),r},Dn.prototype.dq=function(t){var e=this.eq();if(null==e)return this.lq(t),N();if(t===e)return N();var n=mn(this);if(null==n)yn(this,t);else if(n instanceof Error){if(t===n)return N();var i=gn();i.a(n),i.a(t),yn(this,i)}else{if(!(n instanceof Tt)){var o="State is "+it(n);throw J(ot(o))}(n instanceof Tt?n:L()).a(t)}},Dn.prototype.toString=function(){return"Finishing[cancelling="+this.yp()+", completing="+this.bq()+", rootCause="+this.eq()+", exceptions="+it(mn(this))+", list="+this.up_1+"]"},Dn.$metadata$=U("Finishing",[_n]),In.prototype.sn=function(t){!function(t,e,n,i){var o=An(n);if(null!=o&&Pn(t,e,o,i))return N();var r=bn(t,e,i);t.sj(r)}(this.qq_1,this.rq_1,this.sq_1,this.tq_1)},In.prototype.invoke=function(t){return this.sn(t)},In.$metadata$=U("ChildCompletion",void 0,void 0,void 0,void 0,vn.prototype),Tn.prototype.jr=function(t,e){var n=this.kr(t,e);return n.y6_1=N(),n.z6_1=null,n.d7()},Tn.prototype.e7=function(t,e){return this.jr(t instanceof Rt?t:L(),e)},Tn.prototype.d7=function(){var t=this.y6_1;t:for(;;)try{switch(this.w6_1){case 0:if(this.x6_1=8,this.er_1=this.cr_1.bk(),this.er_1 instanceof Bn){if(this.w6_1=6,(t=this.dr_1.g4(this.er_1.kq_1,this))===tt())return t;continue t}var e=this.er_1;if(null!=e&&nt(e,_n)){if(this.fr_1=this.er_1.yo(),null==this.fr_1){this.gr_1=null,this.w6_1=5;continue t}this.hr_1=this.fr_1.dp_1,this.w6_1=1;continue t}this.w6_1=7;continue t;case 1:if(G(this.hr_1,this.fr_1)){this.w6_1=4;continue t}if(this.hr_1 instanceof Bn){if(this.ir_1=this.hr_1,this.w6_1=2,(t=this.dr_1.g4(this.ir_1.kq_1,this))===tt())return t;continue t}this.w6_1=3;continue t;case 2:this.w6_1=3;continue t;case 3:this.hr_1=this.hr_1.dp_1,this.w6_1=1;continue t;case 4:this.gr_1=N(),this.w6_1=5;continue t;case 5:case 6:this.w6_1=7;continue t;case 7:return N();case 8:throw this.z6_1}}catch(t){if(8===this.x6_1)throw t;this.w6_1=this.x6_1,this.z6_1=t}},Tn.prototype.kr=function(t,e){var n=new Tn(this.cr_1,e);return n.dr_1=t,n},Tn.$metadata$=U("JobSupport$$slambda",void 0,void 0,void 0,[1],Lt.prototype),Ln.prototype.j2=function(){return Ze()},Ln.prototype.zj=function(t){this.cj_1.ui_1=t},Ln.prototype.ak=function(){return this.cj_1.ui_1},Ln.prototype.dj=function(t){if(null==t)return this.zj(rn()),N();t.dk();var e=t.vk(this);this.zj(e),this.ck()&&(e.um(),this.zj(rn()))},Ln.prototype.bk=function(){for(var t=this.bj_1;;){var e=t.ui_1;if(!(e instanceof _i))return e;e.lr(this)}},Ln.prototype.ij=function(){var t=this.bk();return!(null==t||!nt(t,_n))&&t.ij()},Ln.prototype.ck=function(){var t=this.bk();return!(null!=t&&nt(t,_n))},Ln.prototype.dk=function(){for(;;){var t=kn(this,this.bk());if(0===t)return!1;if(1===t)return!0}},Ln.prototype.ek=function(){},Ln.prototype.fk=function(){var t,e=this.bk();if(e instanceof Dn){var n=e.eq(),i=null==n?null:this.gk(n,Fi(this)+" is cancelling");if(null==i)throw J(ot("Job is still new or active: "+this));t=i}else{if(null!=e&&nt(e,_n))throw J(ot("Job is still new or active: "+this));t=e instanceof ze?this.hk(e.nj_1,null,1,null):new Ki(Fi(this)+" has completed normally",null,this)}return t},Ln.prototype.gk=function(t,e){var n,i=t instanceof It?t:null;if(null==i){var o=e;n=new Ki(null==o?this.lj():o,t,this)}else n=i;return n},Ln.prototype.hk=function(t,e,n,i){return 0!=(1&n)&&(e=null),this.gk(t,e)},Ln.prototype.ik=function(t){return this.jk(!1,!0,t)},Ln.prototype.jk=function(t,e,n){for(var i=function(t,e,n){var i;if(n){var o=e instanceof Nn?e:null;i=null==o?new Hn(e):o}else{var r=e instanceof vn?e:null,s=null==r?null:r;i=null==s?new Vn(e):s}var a=i;return a.qp_1=t,a}(this,n,t);;)t:{var o=this.bk(),r=o;if(r instanceof pn)if(o.xo_1){if(this.bj_1.atomicfu$compareAndSet(o,i))return i}else Cn(this,o);else{if(null==r||!nt(r,_n)){if(e){var s=o instanceof ze?o:null;Ei(n,null==s?null:s.nj_1)}return rn()}var a=o.yo();if(null==a)Sn(this,o instanceof vn?o:L());else{var u=null,l=rn();if(t&&o instanceof Dn&&(null==(u=o.eq())||n instanceof Bn&&!o.bq())){if(!jn(this,o,a,i)){N();break t}if(null==u)return i;l=i,N()}if(null!=u)return e&&Ei(n,u),l;if(jn(this,o,a,i))return i}}}},Ln.prototype.lk=function(t){for(;;){var e=this.bk();if(!(e instanceof vn))return null!=e&&nt(e,_n)?(null!=e.yo()&&t.sp(),N()):N();if(e!==t)return N();if(this.bj_1.atomicfu$compareAndSet(e,fn()))return N()}},Ln.prototype.mk=function(){return!1},Ln.prototype.nk=function(t){var e,n=t;if(null==n){e=new Ki(this.lj(),null,this)}else e=n;this.pk(e)},Ln.prototype.lj=function(){return"Job was cancelled"},Ln.prototype.pk=function(t){this.sk(t)},Ln.prototype.qk=function(t){this.sk(t)},Ln.prototype.rk=function(t){return t instanceof It||!!this.sk(t)&&this.yk()},Ln.prototype.sk=function(t){var e,n=an();return!(!this.mk()||(n=function(t,e){for(;;){var n=t.bk();if(null==n||!nt(n,_n)||n instanceof Dn&&n.bq())return an();var i=qn(t,n,Se(zn(t,e),!1,2));if(i!==ln())return i}}(this,t))!==un())||(n===an()&&(n=function(t,e){for(var n=null;;)t:{var i=t.bk(),o=i;if(o instanceof Dn){if(i.cq())return cn();var r=i.yp();if(null!=e||!r){var s,a=n;if(null==a){var u=zn(t,e);n=u,s=u}else s=a;var l=s;i.dq(l)}var c=i.eq(),h=r?null:c;return null==h||($n(t,i.up_1,h),N()),an()}if(null==o||!nt(o,_n))return cn();var f,p=n;if(null==p){var _=zn(t,e);n=_,f=_}else f=p;var d=f;if(!i.ij()){var v=qn(t,i,Se(d,!1,2));if(v===an()){var y="Cannot happen in "+it(i);throw J(ot(y))}if(v===ln()){N();break t}return v}if(On(t,i,d))return an()}}(this,t)),n===an()||n===un()?e=!0:n===cn()?e=!1:(this.sj(n),e=!0),e)},Ln.prototype.tk=function(t,e){var n=t;return new Ki(null==n?this.lj():n,e,this)},Ln.prototype.uk=function(){var t,e=this.bk(),n=e;if(n instanceof Dn)t=e.eq();else if(n instanceof ze)t=e.nj_1;else{if(null!=n&&nt(n,_n)){var i="Cannot be cancelling child in this state: "+it(e);throw J(ot(i))}t=null}var o=t,r=o instanceof It?o:null;return null==r?new Ki("Parent job is "+En(0,e),o,this):r},Ln.prototype.qj=function(t){for(;;){var e=qn(this,this.bk(),t);if(e===an())throw Nt("Job "+this+" is already complete or completing, but is being completed with "+it(t),(i=void 0,null==(i=(n=t)instanceof ze?n:null)?null:i.nj_1));if(e!==ln())return e;N()}var n,i},Ln.prototype.tn=function(){return Ft((t=new Tn(this,null),(e=function(e,n){return t.jr(e,n)}).$arity=1,e));var t,e},Ln.prototype.vk=function(t){var e;e=new Bn(t);var n=this.kk(!0,!1,e,2,null);return nt(n,nn)?n:L()},Ln.prototype.tj=function(t){throw t},Ln.prototype.wk=function(t){},Ln.prototype.xk=function(){return!1},Ln.prototype.yk=function(){return!0},Ln.prototype.zk=function(t){return!1},Ln.prototype.mj=function(t){},Ln.prototype.sj=function(t){},Ln.prototype.toString=function(){return this.al()+"@"+Bi(this)},Ln.prototype.al=function(){return this.uj()+"{"+En(0,this.bk())+"}"},Ln.prototype.uj=function(){return Fi(this)},Ln.$metadata$=U("JobSupport",[Qe,tn,en,Pi]),Nn.$metadata$=U("JobCancellingNode",void 0,void 0,void 0,void 0,vn.prototype),Fn.prototype.yo=function(){return this.aq_1},Fn.prototype.ij=function(){return!1},Fn.prototype.toString=function(){return Ni()?this.aq_1.cp("New"):Bt(this)},Fn.$metadata$=U("InactiveNodeList",[_n]),Bn.prototype.sn=function(t){return this.kq_1.qk(this.rp())},Bn.prototype.invoke=function(t){return this.sn(t)},Bn.prototype.rk=function(t){return this.rp().rk(t)},Bn.$metadata$=U("ChildHandleNode",[nn],void 0,void 0,void 0,Nn.prototype),Hn.prototype.sn=function(t){this.rr_1.atomicfu$compareAndSet(0,1)&&this.qr_1(t)},Hn.prototype.invoke=function(t){return this.sn(t)},Hn.$metadata$=U("InvokeOnCancelling",void 0,void 0,void 0,void 0,Nn.prototype),Vn.prototype.sn=function(t){return this.wr_1(t)},Vn.prototype.invoke=function(t){return this.sn(t)},Vn.$metadata$=U("InvokeOnCompletion",void 0,void 0,void 0,void 0,vn.prototype),Un.$metadata$=U("IncompleteStateBox"),Kn.prototype.sn=function(t){this.cs_1.gn(this.cs_1.hn(this.rp()))},Kn.prototype.invoke=function(t){return this.sn(t)},Kn.$metadata$=U("ChildContinuation",void 0,void 0,void 0,void 0,Nn.prototype),Yn.prototype.mk=function(){return!0},Yn.prototype.yk=function(){return this.fs_1},Yn.$metadata$=U("JobImpl",[Ce],void 0,void 0,void 0,Ln.prototype),Xn.prototype.toString=function(){var t=this.is();return null==t?Fi(this)+"@"+Bi(this):t},Xn.prototype.is=function(){var t,e=Vi().ns();if(this===e)return"Dispatchers.Main";try{t=e.hs()}catch(e){if(!(e instanceof Ht))throw e;t=null}return this===t?"Dispatchers.Main.immediate":null},Xn.$metadata$=U("MainCoroutineDispatcher",void 0,void 0,void 0,void 0,Ie.prototype),Jn.prototype.rk=function(t){return!1},Jn.$metadata$=U("SupervisorJobImpl",void 0,void 0,void 0,void 0,Yn.prototype),Zn.$metadata$=U("TimeoutCancellationException",[Be],void 0,void 0,void 0,It.prototype),Qn.prototype.xn=function(t){return!1},Qn.prototype.yn=function(t,e){var n=t.l7((null==$&&new ti,$));if(null!=n)return n.ts_1=!0,N();throw Vt("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.")},Qn.prototype.toString=function(){return"Dispatchers.Unconfined"},Qn.$metadata$=st("Unconfined",void 0,void 0,void 0,void 0,Ie.prototype),ti.$metadata$=st("Key",[bt]),ei.$metadata$=et("Flow"),ni.$metadata$=et("FlowCollector"),ii.$metadata$=et("MutableSharedFlow",[oi,ni]),oi.$metadata$=et("SharedFlow",[ei]),ri.$metadata$=et("MutableStateFlow",[si,ii]),si.$metadata$=et("StateFlow",[oi]),ui.prototype.us=function(t){var e=t;ai(this,null,null==e?hi():e)},ui.prototype.l2=function(){var t=hi(),e=this.et_1.ui_1;return e===t?null:R(e)?e:L()},ui.prototype.vs=function(t,e){var n=t,i=e;return ai(this,null==n?hi():n,null==i?hi():i)},ui.$metadata$=U("StateFlowImpl",[ri,fi,ci],void 0,void 0,void 0,li.prototype),li.$metadata$=U("AbstractSharedFlow"),ci.$metadata$=et("FusibleFlow",[ei]),fi.$metadata$=et("CancellableFlow",[ei]),pi.prototype.oo=function(){return this.ho_1===this.io_1},pi.prototype.lo=function(t){this.go_1[this.io_1]=t,this.io_1=(this.io_1+1|0)&(this.go_1.length-1|0),this.io_1===this.ho_1&&function(t){var e=t.go_1.length,n=Ut(Array(e<<1),null),i=t.go_1,o=t.ho_1,r=i.length;Kt(i,n,0,o,r);var s=t.go_1,a=t.go_1.length-t.ho_1|0,u=t.ho_1;Kt(s,n,a,0,u),t.go_1=n,t.ho_1=0,t.io_1=e}(this)},pi.prototype.jo=function(){if(this.ho_1===this.io_1)return null;var t=this.go_1[this.ho_1];return this.go_1[this.ho_1]=null,this.ho_1=(this.ho_1+1|0)&(this.go_1.length-1|0),R(t)?t:L()},pi.$metadata$=U("ArrayQueue"),_i.$metadata$=U("OpDescriptor"),gi.prototype.it=function(){return this.em_1},gi.prototype.o4=function(){return this.em_1.o4()},gi.prototype.jt=function(){return this.gm_1},gi.prototype.im=function(){return!(null==this.hm_1.ui_1)},gi.prototype.kt=function(){for(var t=this.hm_1;;)if(t.ui_1!==vi())return N()},gi.prototype.zn=function(){this.kt();var t,e=(t=this.hm_1.ui_1)instanceof me?t:null;null==e||e.mm()},gi.prototype.lm=function(t){for(var e=this.hm_1;;){var n=e.ui_1;if(n!==vi()){if(n instanceof Error){if(!this.hm_1.atomicfu$compareAndSet(n,null))throw Yt(ot("Failed requirement."));return n}var i="Inconsistent state "+it(n);throw J(ot(i))}if(this.hm_1.atomicfu$compareAndSet(vi(),t))return null}},gi.prototype.km=function(t){for(var e=this.hm_1;;){var n=e.ui_1,i=n;if(G(i,vi())){if(this.hm_1.atomicfu$compareAndSet(vi(),t))return!0}else{if(i instanceof Error)return!0;if(this.hm_1.atomicfu$compareAndSet(n,null))return!1}}},gi.prototype.vm=function(){var t=this.fm_1;return this.fm_1=di(),t},gi.prototype.sm=function(){return this},gi.prototype.m4=function(t){var e=this.em_1.o4(),n=qe(t,null,1);if(this.dm_1.xn(e))this.fm_1=n,this.jm_1=ki(),this.dm_1.yn(e,this);else{var i=ki(),o=Ke().to();if(o.mo())this.fm_1=n,this.jm_1=i,o.ko(this);else{o.po(!0);try{for(this.o4(),this.gm_1,this.em_1.m4(t),N();o.fo(););}catch(t){if(!(t instanceof Error))throw t;this.nn(t,null)}finally{o.qo(!0)}}}},gi.prototype.wm=function(t,e){t instanceof Pe&&t.vn_1(e)},gi.prototype.lt=function(t){var e=this.o4().l7(Ze());if(null!=e&&!e.ij()){var n,i=e.fk();return this.wm(t,i),ft(),n=pt(_t(i)),this.m4(n),N(),!0}return!1},gi.prototype.mt=function(t){this.em_1,this.gm_1,this.em_1.m4(t),N()},gi.prototype.toString=function(){return"DispatchedContinuation["+this.dm_1+", "+Ii(this.em_1)+"]"},gi.$metadata$=U("DispatchedContinuation",[so,W],void 0,void 0,void 0,$i.prototype),$i.prototype.ln=function(){return this.jm_1},$i.prototype.wm=function(t,e){},$i.prototype.in=function(t){return null==t||R(t)?t:L()},$i.prototype.kn=function(t){var e=t instanceof ze?t:null;return null==e?null:e.nj_1},$i.prototype.mn=function(){N(),N();var t=null;try{var e=this.sm(),n=e instanceof gi?e:L(),i=n.em_1,o=(n.gm_1,i.o4()),r=this.vm(),s=this.kn(r),a=null==s&&xi(this.jm_1)?o.l7(Ze()):null;if(null==a||a.ij()){if(null!=s){var u;ft(),u=pt(_t(s)),i.m4(u),N()}else{var l,c=this.in(r);ft(),l=pt(c),i.m4(l),N()}}else{var h,f=a.fk();this.wm(r,f),ft();var p=ao(f);h=pt(_t(p)),i.m4(h),N()}}catch(e){if(!(e instanceof Error))throw e;t=e}finally{var _;try{ft(),N(),_=pt(N())}catch(t){if(!(t instanceof Error))throw t;ft(),_=pt(_t(t))}var d=_;this.nn(t,ct(d))}},$i.prototype.nn=function(t,e){if(null===t&&null===e)return N();var n=new Ge("Fatal exception in coroutines machinery for "+this+". Please read KDoc to 'handleFatalException' method and report this incident to maintainers",Gt(null==t?e:t));Te(this.sm().o4(),n)},$i.$metadata$=U("DispatchedTask",void 0,void 0,void 0,void 0,io.prototype),Ci.prototype.hj=function(){return this.nt_1},Ci.prototype.toString=function(){return"CoroutineScope(coroutineContext="+this.nt_1+")"},Ci.$metadata$=U("ContextScope",[Re]),Si.prototype.xk=function(){return!0},Si.prototype.sj=function(t){mi(Q(this.sl_1),Ae(t,this.sl_1),null,2)},Si.prototype.rj=function(t){this.sl_1.m4(Ae(t,this.sl_1))},Si.$metadata$=U("ScopeCoroutine",[so],void 0,void 0,void 0,ne.prototype),zi.prototype.toString=function(){return"<"+this.ot_1+">"},zi.prototype.pt=function(t){return t===this?null:null==t||R(t)?t:L()},zi.$metadata$=U("Symbol"),Pi.$metadata$=et("SelectClause0"),Ai.$metadata$=U("CompletionHandlerBase",void 0,void 0,void 0,void 0,ro.prototype),Di.$metadata$=U("CancelHandlerBase"),Li.prototype.rj=function(t){return this.sl_1.m4(Ae(t,this.sl_1))},Li.$metadata$=U("UndispatchedCoroutine",void 0,void 0,void 0,void 0,Si.prototype),Hi.prototype.ns=function(){var t=this.ms_1;return null==t?this.ls_1:t},Hi.$metadata$=st("Dispatchers"),Wi.prototype.hs=function(){return this.xt_1},Wi.prototype.xn=function(t){return!this.wt_1},Wi.prototype.yn=function(t,e){return this.vt_1.yn(t,e)},Wi.prototype.toString=function(){var t=this.is();return null==t?this.vt_1.toString():t},Wi.$metadata$=U("JsMainDispatcher",void 0,void 0,void 0,void 0,Xn.prototype),Ui.prototype.yn=function(t,e){!function(){throw Vt("runBlocking event loop is not supported")}()},Ui.$metadata$=U("UnconfinedEventLoop",void 0,void 0,void 0,void 0,We.prototype),Ki.prototype.toString=function(){return It.prototype.toString.call(this)+"; job="+this.cu_1},Ki.prototype.equals=function(t){return t===this||!!(t instanceof Ki&&t.message==this.message&&G(t.cu_1,this.cu_1))&&G(t.cause,this.cause)},Ki.prototype.hashCode=function(){var t=T(T(Zt(Gt(this.message)),31)+at(this.cu_1)|0,31),e=this.cause,n=null==e?null:at(e);return t+(null==n?0:n)|0},Ki.$metadata$=U("JobCancellationException",void 0,void 0,void 0,void 0,It.prototype),Yi.prototype.fu=function(){process.nextTick(this.ou_1.lu_1)},Yi.$metadata$=st("NodeDispatcher",void 0,void 0,void 0,void 0,Zi.prototype),Xi.prototype.fu=function(){setTimeout(this.ou_1.lu_1,0)},Xi.$metadata$=st("SetTimeoutDispatcher",void 0,void 0,void 0,void 0,Zi.prototype),Ji.prototype.xu=function(){this.mu_1.fu()},Ji.prototype.yu=function(){setTimeout(this.lu_1,0)},Ji.$metadata$=U("ScheduledMessageQueue",void 0,void 0,void 0,void 0,Qi.prototype),Zi.prototype.yn=function(t,e){this.ou_1.zu(e)},Zi.$metadata$=U("SetTimeoutBasedDispatcher",[He],void 0,void 0,void 0,Ie.prototype),Qi.prototype.zu=function(t){this.lo(t),this.vu_1||(this.vu_1=!0,this.xu())},Qi.prototype.wu=function(){try{var t=this.uu_1,e=0;if(ee?t+o|0:t,l=t>e?e+o|0:(e+n|0)-2|0,c=this.r1m();r=this.r1m().childNodes[u];var h,f=c.removeChild(a(r)),p=this.r1m();h=this.r1m().childNodes[l],p.insertBefore(f,a(h))}while(i (renderComposable.kt:59)"),v(y,n,0),E()&&(D(),s())),s()})),function(t,e){return d.e16(t,e)})),f;var d;var v,y}(t,e,n)}(a(document.getElementById(t)),null,e,2)},t}.apply(e,i))||(t.exports=o)},261:function(t,e,n){var i,o,r;o=[e,n(744),n(506),n(769)],void 0===(r="function"==typeof(i=function(t,e,n,i){"use strict";var o,r,s,a,u,l,c,h,f,p,_,d,v,y,m,g,b,w,$,x,k,j,C,S,z,M,O,q,P,A,E,D,I,T,L,R,N,F,B,H,V,W,U,K,Y,G,X,J,Z,Q=Math.imul,tt=e.$_$.x1,et=e.$_$.s5,nt=(e.$_$.s2,e.$_$.l5),it=e.$_$.s,ot=e.$_$.n,rt=e.$_$.p2,st=e.$_$.d7,at=e.$_$.p6,ut=e.$_$.n6,lt=e.$_$.a5,ct=e.$_$.k6,ht=e.$_$.t5,ft=e.$_$.g1,pt=n.$_$.d,_t=e.$_$.z4,dt=e.$_$.t,vt=e.$_$.v6,yt=e.$_$.c7,mt=i.$_$.s,gt=i.$_$.o,bt=i.$_$.i,wt=i.$_$.r,$t=e.$_$.e6,xt=e.$_$.c5,kt=i.$_$.j,jt=e.$_$.r5,Ct=e.$_$.g5,St=e.$_$.j5,zt=e.$_$.o5,Mt=e.$_$.i5,Ot=e.$_$.e2,qt=i.$_$.q,Pt=i.$_$.z,At=e.$_$.p5,Et=i.$_$.u,Dt=i.$_$.v,It=i.$_$.w,Tt=i.$_$.x,Lt=(i.$_$.m,n.$_$.c),Rt=e.$_$.b3,Nt=e.$_$.a3,Ft=n.$_$.a,Bt=e.$_$.b7,Ht=e.$_$.w6,Vt=i.$_$.n,Wt=n.$_$.b,Ut=i.$_$.t,Kt=i.$_$.b,Yt=e.$_$.z5,Gt=e.$_$.h5;function Xt(t,e){return Jt(),e!==t.value&&(t.value=e),function(t,e){Ue(),Be().set(t,e),t instanceof HTMLInputElement&&function(t){var e;if(Ue(),"radio"===t.type){var n=t.name;e=_t(n)>0}else e=!1;if(e){if(!He().t2(t.name)){var i=He(),o=t.name,r=dt();i.n3(o,r)}vt(He().z2(t.name)).a(t)}}(t)}(t,e),tt()}function Jt(){r||(r=!0,o=Xt)}function Zt(){s=this,this.v1u_1="class",this.w1u_1="id",this.x1u_1="hidden",this.y1u_1="title",this.z1u_1="dir",this.a1v_1="draggable",this.b1v_1="contenteditable",this.c1v_1="lang",this.d1v_1="tabindex",this.e1v_1="spellcheck"}function Qt(){}function te(t,e,n){return function(t,e,n,i){return 0!=(1&e)&&(t=new re),ee.call(i,t),i}(t,e,0,Object.create(ee.prototype))}function ee(t){this.n1v_1=t;var e;e=it(),this.o1v_1=e,this.p1v_1=new en;var n;n=ot(),this.q1v_1=n,this.r1v_1=null;var i;i=ot(),this.s1v_1=i,this.t1v_1=8}function ne(){a=this,this.c1w_1="copy",this.d1w_1="cut",this.e1w_1="paste",this.f1w_1="contextmenu",this.g1w_1="click",this.h1w_1="dblclick",this.i1w_1="focus",this.j1w_1="blur",this.k1w_1="focusin",this.l1w_1="focusout",this.m1w_1="keydown",this.n1w_1="keyup",this.o1w_1="mousedown",this.p1w_1="mouseup",this.q1w_1="mouseenter",this.r1w_1="mouseleave",this.s1w_1="mousemove",this.t1w_1="mouseout",this.u1w_1="mouseover",this.v1w_1="wheel",this.w1w_1="scroll",this.x1w_1="select",this.y1w_1="touchcancel",this.z1w_1="touchend",this.a1x_1="touchmove",this.b1x_1="touchstart",this.c1x_1="animationcancel",this.d1x_1="animationend",this.e1x_1="animationiteration",this.f1x_1="animationstart",this.g1x_1="beforeinput",this.h1x_1="input",this.i1x_1="change",this.j1x_1="invalid",this.k1x_1="drag",this.l1x_1="drop",this.m1x_1="dragstart",this.n1x_1="dragend",this.o1x_1="dragover",this.p1x_1="dragenter",this.q1x_1="dragleave",this.r1x_1="submit",this.s1x_1="reset"}function ie(){return null==a&&new ne,a}function oe(){}function re(){var t;t=ot(),this.v1v_1=t,this.w1v_1=8}function se(t,e,n){ct.call(this,t,e),this.s1u_1=n}function ae(){c=this,Pe.call(this,"button"),this.x1x_1=0}function ue(){h=this,Ae.call(this,"checkbox"),this.f1y_1=0}function le(){return null==h&&new ue,h}function ce(){f=this,qe.call(this,"color"),this.n1y_1=0}function he(){p=this,qe.call(this,"date"),this.u1y_1=0}function fe(){_=this,qe.call(this,"datetime-local"),this.y1y_1=0}function pe(){d=this,qe.call(this,"email"),this.c1z_1=0}function _e(){v=this,qe.call(this,"file"),this.g1z_1=0}function de(){y=this,qe.call(this,"hidden"),this.k1z_1=0}function ve(){m=this,qe.call(this,"month"),this.o1z_1=0}function ye(){g=this,Ee.call(this,"number"),this.s1z_1=0}function me(){b=this,qe.call(this,"password"),this.z1z_1=0}function ge(){w=this,Ae.call(this,"radio"),this.d20_1=0}function be(){return null==w&&new ge,w}function we(){$=this,Ee.call(this,"range"),this.h20_1=0}function $e(){x=this,qe.call(this,"search"),this.l20_1=0}function xe(){k=this,Pe.call(this,"submit"),this.p20_1=0}function ke(){j=this,qe.call(this,"tel"),this.t20_1=0}function je(){C=this,qe.call(this,"text"),this.x20_1=0}function Ce(){return null==C&&new je,C}function Se(){S=this,qe.call(this,"time"),this.b21_1=0}function ze(){z=this,qe.call(this,"url"),this.f21_1=0}function Me(){M=this,qe.call(this,"week"),this.j21_1=0}function Oe(){return null==M&&new Me,M}function qe(t){Te.call(this,t),this.q1y_1=0}function Pe(t){Te.call(this,t),this.a1y_1=0}function Ae(t){Te.call(this,t),this.i1y_1=0}function Ee(t){Te.call(this,t),this.v1z_1=0}function De(){O=this}function Ie(){return null==O&&new De,O}function Te(t){Ie(),this.t1u_1=t,this.u1u_1=0}function Le(t,e){this.m21_1=t,this.n21_1=e,this.o21_1=this.m21_1,this.p21_1=0}function Re(t,e,n){Le.call(this,t,n),this.v21_1=e}function Ne(t,e){Le.call(this,t,e)}function Fe(t,e){this.a22_1=t,this.b22_1=e,this.c22_1=8}function Be(){return Ue(),q}function He(){return Ue(),P}function Ve(t,e,n){Ue();var i,o=e;o.pw(-1867048565),gt()&&mt(-1867048565,n,-1,"org.jetbrains.compose.web.attributes.builders.DisposeRadioGroupEffect$composable (InternalControlledInputUtils.kt:67)"),bt(null,(i=t,function(t){return new We(i.f22(t))}),o,6),gt()&&wt(),o.uw()}function We(t){this.e22_1=t}function Ue(){if(A);else{A=!0;var t,e=new WeakMap;q=e,t=it(),P=t}}function Ke(t){this.g22_1=t,this.h22_1=8}function Ye(t,e){Le.call(this,t,e)}function Ge(t){ie(),Le.call(this,"change",t)}function Xe(t){this.s22_1=t,this.t22_1=8}function Je(){E=this}function Ze(){return null==E&&new Je,E}function Qe(t,e){this.y22_1=t,this.z22_1=e,this.a23_1=0}function tn(){}function en(){var t;t=ot(),this.e23_1=t;var e;e=ot(),this.f23_1=e,this.g23_1=8}function nn(){}function on(t,e){this.j23_1=t,this.k23_1=e,this.l23_1=8}function rn(t,e){if(t.f()!==e.f())return!1;var n,i=0;t:if(zt(t,Ot)&&t.h())n=!0;else{for(var o=t.c();o.d();){var r=o.e(),s=i;i=s+1|0;var a=e.g(s);if(r.j23_1!==a.j23_1||ht(r.k23_1)!==ht(a.k23_1)){n=!1;break t}}n=!0}return n}function sn(t,e,n,i,o){var r=i;r=r.y17(-1594897193),qt(r,"C(TagElement$composable)P(2)");var s,a,u,l=o;if(0==(14&o)&&(l|=r.qw(t)?4:2),0==(112&o)&&(l|=r.qw(e)?32:16),0==(896&o)&&(l|=r.qw(n)?256:128),146==(731&l)&&r.g16())r.k12();else{gt()&&mt(-1594897193,l,-1,"org.jetbrains.compose.web.dom.TagElement$composable (Base.kt:106)");var c=r;c.pw(547886695),qt(c,"C(remember$composable):Composables.kt#9igjgp");var h,f=c,p=f.rw();if(p===Pt().tw_1){var _=new ln;f.sw(_),h=_}else h=p;var d=h,v=null==d||At(d)?d:at();c.uw();var y,m=v,g=r;g.n12(),g.n17()?g.p17((a=t,u=m,function(){var t=a.f1i();return u.y23(t),new an(t)})):g.r17();var b=Et(g),w=te(null,1);null==e||e(w),y=w.r1v_1,Dt(b).pw(509942095);var $=It(Dt(b));Tt($,w.s1v_1,((s=function(t,e){return t.u23(e),tt()}).callableName="updateClasses",s)),Tt($,w.p1v_1,function(){var t=function(t,e){return t.s23(e),tt()};return t.callableName="updateStyleDeclarations",t}());var x=w.b1w();Tt($,x,function(){var t=function(t,e){return t.t23(e),tt()};return t.callableName="updateAttrs",t}());var k=w.n1v_1.t1x();Tt($,k,function(){var t=function(t,e){return t.q23(e),tt()};return t.callableName="updateEventListeners",t}()),Tt($,w.q1v_1,function(){var t=function(t,e){return t.r23(e),tt()};return t.callableName="updateProperties",t}()),Dt(b).uw(),g.pw(2058660585);var j=g,C=8;if(18==(91&C)&&j.g16())j.k12();else{var S=n;r.pw(-1128047990),null==S||S(m,j,14&C|112&l>>3),r.uw()}g.uw(),g.s17(),null==y||(bt(null,function(t,e){return function(n){return t(n,e.z23())}}(y,m),r,6),tt(),tt()),gt()&&wt()}var z=r.z17();null===z||z.u18(function(t,e,n,i){return function(o,r){return function(t,e,n,i,o,r){sn(t,e,n,o,1|i)}(t,e,n,i,o),tt()}}(t,e,n,o))}function an(t){Lt.call(this,t),this.o23_1=t,this.p23_1=Rt()}function un(){}function ln(){cn.call(this)}function cn(){this.a24_1=0,this.b24_1=8}function hn(){}function fn(t){return Gt("el",1,Yt,(function(t){return fn(t)}),null),t.d24_1.l2()}function pn(t){var e;this.c24_1=t,this.d24_1=Ht((e=this,function(){return document.createElement(e.c24_1)}))}function _n(t,e,n){Nn();var i=e;i=i.y17(-363526853),qt(i,"C(Text$composable)");var o,r=n;if(0==(14&n)&&(r|=i.qw(t)?4:2),2==(11&r)&&i.g16())i.k12();else{gt()&&mt(-363526853,n,-1,"org.jetbrains.compose.web.dom.Text$composable (Elements.kt:479)");var s=i;s.pw(547886695),qt(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,l=u.rw();if(l===Pt().tw_1){var c=Pn;u.sw(c),a=c}else a=l;var h=a,f=null==h||At(h)?h:at();s.uw();var p=f,_=i;_.pw(-1846754774),qt(_,"C(ComposeNode$composable):Composables.kt#9igjgp"),_.c17()instanceof Wt||Vt(),_.n12(),_.n17()?_.p17((o=p,function(){return o()})):_.r17();var d=It(_);Tt(d,t,An),_.s17(),_.uw(),gt()&&wt()}var v,y,m=i.z17();null===m||m.u18((v=t,y=n,function(t,e){return function(t,e,n,i){_n(t,n,1|e)}(v,y,t),tt()}))}function dn(t,e,n,i,o){Nn();var r={_v:t},s={_v:e},a=n;a=a.y17(-915831286),qt(a,"C(H3$composable)");var u=i;0!=(1&o)?u|=6:0==(14&i)&&(u|=a.qw(r._v)?4:2),0!=(2&o)?u|=48:0==(112&i)&&(u|=a.qw(s._v)?32:16),18==(91&u)&&a.g16()?a.k12():(0!=(1&o)&&(r._v=null),0!=(2&o)&&(s._v=null),gt()&&mt(-915831286,u,-1,"org.jetbrains.compose.web.dom.H3$composable (Elements.kt:539)"),sn((Nn(),N),r._v,s._v,a,112&u<<3|896&u<<3),gt()&&wt());var l,c,h,f,p=a.z17();null===p||p.u18((l=r,c=s,h=i,f=o,function(t,e){return function(t,e,n,i,o,r){dn(t._v,e._v,o,1|n,i)}(l,c,h,f,t),tt()}))}function vn(t,e,n,i,o){Nn();var r={_v:t},s={_v:e},a=n;a=a.y17(1021009996),qt(a,"C(Div$composable)");var u=i;0!=(1&o)?u|=6:0==(14&i)&&(u|=a.qw(r._v)?4:2),0!=(2&o)?u|=48:0==(112&i)&&(u|=a.qw(s._v)?32:16),18==(91&u)&&a.g16()?a.k12():(0!=(1&o)&&(r._v=null),0!=(2&o)&&(s._v=null),gt()&&mt(1021009996,u,-1,"org.jetbrains.compose.web.dom.Div$composable (Elements.kt:489)"),sn((Nn(),I),r._v,s._v,a,112&u<<3|896&u<<3),gt()&&wt());var l,c,h,f,p=a.z17();null===p||p.u18((l=r,c=s,h=i,f=o,function(t,e){return function(t,e,n,i,o,r){vn(t._v,e._v,o,1|n,i)}(l,c,h,f,t),tt()}))}function yn(t,e,n,i,o,r){Nn();var s={_v:t},a={_v:e},u={_v:n},l=i;l=l.y17(-319539737),qt(l,"C(Form$composable)");var c=o;if(0!=(1&r)?c|=6:0==(14&o)&&(c|=l.qw(s._v)?4:2),0!=(2&r)?c|=48:0==(112&o)&&(c|=l.qw(a._v)?32:16),0!=(4&r)?c|=384:0==(896&o)&&(c|=l.qw(u._v)?256:128),146==(731&c)&&l.g16())l.k12();else{0!=(1&r)&&(s._v=null),0!=(2&r)&&(a._v=null),0!=(4&r)&&(u._v=null),gt()&&mt(-319539737,c,-1,"org.jetbrains.compose.web.dom.Form$composable (Elements.kt:637)");var h=(Nn(),K),f=s._v,p=a._v,_=l;_.pw(-1124426577),qt(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.qw(f)|_.qw(p)),m=v.rw();if(y||m===Pt().tw_1){var g=En(s,a);v.sw(g),d=g}else d=m;var b=d,w=null==b||At(b)?b:at();_.uw(),sn(h,w,u._v,l,896&c),gt()&&wt()}var $,x,k,j,C,S=l.z17();null===S||S.u18(($=s,x=a,k=u,j=o,C=r,function(t,e){return function(t,e,n,i,o,r,s){yn(t._v,e._v,n._v,r,1|i,o)}($,x,k,j,C,t),tt()}))}function mn(t,e,n,i,o,r){Nn();var s={_v:t},a={_v:e},u={_v:n},l=i;l=l.y17(-493483649),qt(l,"C(Label$composable)P(2)");var c=o;if(0!=(1&r)?c|=6:0==(14&o)&&(c|=l.qw(s._v)?4:2),0!=(2&r)?c|=48:0==(112&o)&&(c|=l.qw(a._v)?32:16),0!=(4&r)?c|=384:0==(896&o)&&(c|=l.qw(u._v)?256:128),146==(731&c)&&l.g16())l.k12();else{0!=(1&r)&&(s._v=null),0!=(2&r)&&(a._v=null),0!=(4&r)&&(u._v=null),gt()&&mt(-493483649,c,-1,"org.jetbrains.compose.web.dom.Label$composable (Elements.kt:833)");var h=(Nn(),J),f=s._v,p=a._v,_=l;_.pw(-1124426577),qt(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.qw(f)|_.qw(p)),m=v.rw();if(y||m===Pt().tw_1){var g=Dn(s,a);v.sw(g),d=g}else d=m;var b=d,w=null==b||At(b)?b:at();_.uw(),sn(h,w,u._v,l,896&c),gt()&&wt()}var $,x,k,j,C,S=l.z17();null===S||S.u18(($=s,x=a,k=u,j=o,C=r,function(t,e){return function(t,e,n,i,o,r,s){mn(t._v,e._v,n._v,r,1|i,o)}($,x,k,j,C,t),tt()}))}function gn(t,e,n,i,o){Nn();var r={_v:t},s={_v:e},a=n;a=a.y17(-577256683),qt(a,"C(TextArea$composable)P(1)");var u,l,c,h,f,p=i;if(0!=(1&o)?p|=6:0==(14&i)&&(p|=a.qw(r._v)?4:2),0!=(2&o)?p|=48:0==(112&i)&&(p|=a.qw(s._v)?32:16),18==(91&p)&&a.g16())a.k12();else{0!=(1&o)&&(r._v=null),0!=(2&o)&&(s._v=null),gt()&&mt(-577256683,i,-1,"org.jetbrains.compose.web.dom.TextArea$composable (Elements.kt:729)");var _=a;_.pw(547886695),qt(_,"C(remember$composable):Composables.kt#9igjgp");var d,v=_,y=v.rw();if(y===Pt().tw_1){var m=!(null==r._v);v.sw(m),d=m}else d=y;var g=d,b=null==g||At(g)?g:at();_.uw();var w=b,$=a;$.pw(547886695),qt($,"C(remember$composable):Composables.kt#9igjgp");var x,k=$,j=k.rw();if(j===Pt().tw_1){var C=Ut(0,null,2,null);k.sw(C),x=C}else x=j;var S=x,z=null==S||At(S)?S:at();$.uw();var M=z,O=(Nn(),X),q=[M,s._v,w,r._v],P=a;P.pw(-1603429786),qt(P,"C(remember$composable)P(1):Composables.kt#9igjgp");for(var A=!1,E=q,D=0,I=E.length;D (Elements.kt:754)");var a=t.l2();bt(a,(o=e,function(t){return e=o.f22(t),Ue(),Be().has(e)&&(e.value=yt(Be().get(e))),new In;var e}),r,0),gt()&&(wt(),tt())}return tt()}}(M)),K=a;K.pw(-838505973),qt(K,"C(remember$composable)P(1):Composables.kt#9igjgp");var Y,G=K,J=K.qw(U),Z=G.rw();if(J||Z===Pt().tw_1){var Q=(u=U,function(t,e,n){return u.y1s(t,e,n)});G.sw(Q),Y=Q}else Y=Z;var et=Y,nt=null==et||At(et)?et:at();K.uw(),sn(O,W,nt,a,384),gt()&&wt()}var it=a.z17();null===it||it.u18(function(t,e,n,i){return function(o,r){return function(t,e,n,i,o,r){gn(t._v,e._v,o,1|n,i)}(t,e,n,i,o),tt()}}(r,s,i,o))}function bn(t,e,n,i,o){Nn();var r={_v:t},s={_v:e},a=n;a=a.y17(-767970749),qt(a,"C(Button$composable)");var u=i;0!=(1&o)?u|=6:0==(14&i)&&(u|=a.qw(r._v)?4:2),0!=(2&o)?u|=48:0==(112&i)&&(u|=a.qw(s._v)?32:16),18==(91&u)&&a.g16()?a.k12():(0!=(1&o)&&(r._v=null),0!=(2&o)&&(s._v=null),gt()&&mt(-767970749,u,-1,"org.jetbrains.compose.web.dom.Button$composable (Elements.kt:521)"),sn((Nn(),L),r._v,s._v,a,112&u<<3|896&u<<3),gt()&&wt());var l,c,h,f,p=a.z17();null===p||p.u18((l=r,c=s,h=i,f=o,function(t,e){return function(t,e,n,i,o,r){bn(t._v,e._v,o,1|n,i)}(l,c,h,f,t),tt()}))}function wn(t,e,n,i){Nn();var o={_v:t},r=e;r=r.y17(1126514281),qt(r,"C(Br$composable)");var s=n;0!=(1&i)?s|=6:0==(14&n)&&(s|=r.qw(o._v)?4:2),2==(11&s)&&r.g16()?r.k12():(0!=(1&i)&&(o._v=null),gt()&&mt(1126514281,s,-1,"org.jetbrains.compose.web.dom.Br$composable (Elements.kt:599)"),sn((Nn(),V),o._v,null,r,384|112&s<<3),gt()&&wt());var a,u,l,c=r.z17();null===c||c.u18((a=o,u=n,l=i,function(t,e){return function(t,e,n,i,o){wn(t._v,i,1|e,n)}(a,u,l,t),tt()}))}function $n(t,e,n,i,o){Nn();var r={_v:t},s={_v:e},a=n;a=a.y17(-2140946851),qt(a,"C(Canvas$composable)");var u=i;0!=(1&o)?u|=6:0==(14&i)&&(u|=a.qw(r._v)?4:2),0!=(2&o)?u|=48:0==(112&i)&&(u|=a.qw(s._v)?32:16),18==(91&u)&&a.g16()?a.k12():(0!=(1&o)&&(r._v=null),0!=(2&o)&&(s._v=null),gt()&&mt(-2140946851,u,-1,"org.jetbrains.compose.web.dom.Canvas$composable (Elements.kt:430)"),sn((Nn(),D),r._v,s._v,a,112&u<<3|896&u<<3),gt()&&wt());var l,c,h,f,p=a.z17();null===p||p.u18((l=r,c=s,h=i,f=o,function(t,e){return function(t,e,n,i,o,r){$n(t._v,e._v,o,1|n,i)}(l,c,h,f,t),tt()}))}function xn(t,e,n,i){Nn();var o=n;o=o.y17(-1013116589),qt(o,"C(Input$composable)P(1)");var r,s,a,u,l=i;if(0==(14&i)&&(l|=o.qw(t)?4:2),0==(112&i)&&(l|=o.qw(e)?32:16),18==(91&l)&&o.g16())o.k12();else{gt()&&mt(-1013116589,l,-1,"org.jetbrains.compose.web.dom.Input$composable (Elements.kt:1054)");var c=o;c.pw(547886695),qt(c,"C(remember$composable):Composables.kt#9igjgp");var h,f=c,p=f.rw();if(p===Pt().tw_1){var _=Ut(0,null,2,null);f.sw(_),h=_}else h=p;var d=h,v=null==d||At(d)?d:at();c.uw();var y=v,m=(Nn(),T),g=o;g.pw(-1058148781),qt(g,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var b,w=g,$=!!(!!(g.qw(t)|g.qw(y))|g.qw(e)),x=w.rw();if($||x===Pt().tw_1){var k=(s=t,a=e,u=y,function(t){var e=new Fe(s,t);return function(t,e){Jt(),t.p1u("type",e.t1u_1)}(e,s),e.d22(function(t){return function(e){return t.us(t.l2()+1|0),tt()}}(u)),a(e),tt()});w.sw(k),b=k}else b=x;var j=b,C=null==j||At(j)?j:at();g.uw();var S=C,z=Kt(o,558133459,!0,function(t,e){return function(n,i,o){var r,s=i,a=o;if(0==(14&o)&&(a|=s.qw(n)?4:2,tt()),18==(91&a)&&s.g16())s.k12(),tt();else{gt()&&mt(558133459,a,-1,"org.jetbrains.compose.web.dom.Input$composable. (Elements.kt:1073)"),s.pw(-1270925487),xt(t,be())&&Ve(n,s,14&a),s.uw();var u=e.l2();bt(u,(r=n,function(t){return function(t){Ue();var e=Ie().l21(t.type);if(Be().has(t)){if(xt(e,be())){var n=He().z2(t.name);if(null==n);else for(var i=n.c();i.d();){var o=i.e();o.checked=$t(yt(Be().get(o)))}return t.checked=$t(yt(Be().get(t))),tt()}xt(e,le())?t.checked=$t(yt(Be().get(t))):t.value=yt(Be().get(t))}}(r.f22(t)),new Tn}),s,0),gt()&&(wt(),tt())}return tt()}}(t,y)),M=o;M.pw(-838505973),qt(M,"C(remember$composable)P(1):Composables.kt#9igjgp");var O,q=M,P=M.qw(z),A=q.rw();if(P||A===Pt().tw_1){var E=(r=z,function(t,e,n){return r.y1s(t,e,n)});q.sw(E),O=E}else O=A;var D=O,I=null==D||At(D)?D:at();M.uw(),sn(m,S,I,o,384),gt()&&wt()}var L=o.z17();null===L||L.u18(function(t,e,n){return function(i,o){return function(t,e,n,i,o){xn(t,e,i,1|n)}(t,e,n,i),tt()}}(t,e,i))}function kn(t,e,n,i,o){Nn();var r={_v:t},s={_v:e},a=n;a=a.y17(1065330793),qt(a,"C(H4$composable)");var u=i;0!=(1&o)?u|=6:0==(14&i)&&(u|=a.qw(r._v)?4:2),0!=(2&o)?u|=48:0==(112&i)&&(u|=a.qw(s._v)?32:16),18==(91&u)&&a.g16()?a.k12():(0!=(1&o)&&(r._v=null),0!=(2&o)&&(s._v=null),gt()&&mt(1065330793,u,-1,"org.jetbrains.compose.web.dom.H4$composable (Elements.kt:545)"),sn((Nn(),F),r._v,s._v,a,112&u<<3|896&u<<3),gt()&&wt());var l,c,h,f,p=a.z17();null===p||p.u18((l=r,c=s,h=i,f=o,function(t,e){return function(t,e,n,i,o,r){kn(t._v,e._v,o,1|n,i)}(l,c,h,f,t),tt()}))}function jn(t,e,n,i,o){Nn();var r={_v:t},s={_v:e},a=n;a=a.y17(-583188148),qt(a,"C(H1$composable)");var u=i;0!=(1&o)?u|=6:0==(14&i)&&(u|=a.qw(r._v)?4:2),0!=(2&o)?u|=48:0==(112&i)&&(u|=a.qw(s._v)?32:16),18==(91&u)&&a.g16()?a.k12():(0!=(1&o)&&(r._v=null),0!=(2&o)&&(s._v=null),gt()&&mt(-583188148,u,-1,"org.jetbrains.compose.web.dom.H1$composable (Elements.kt:527)"),sn((Nn(),R),r._v,s._v,a,112&u<<3|896&u<<3),gt()&&wt());var l,c,h,f,p=a.z17();null===p||p.u18((l=r,c=s,h=i,f=o,function(t,e){return function(t,e,n,i,o,r){jn(t._v,e._v,o,1|n,i)}(l,c,h,f,t),tt()}))}function Cn(t,e,n,i,o,r){Nn();var s={_v:t},a={_v:e},u={_v:n},l=i;l=l.y17(-140298183),qt(l,"C(Select$composable)P(!1,2)");var c=o;if(0!=(1&r)?c|=6:0==(14&o)&&(c|=l.qw(s._v)?4:2),0!=(2&r)?c|=48:0==(112&o)&&(c|=l.u17(a._v)?32:16),0!=(4&r)?c|=384:0==(896&o)&&(c|=l.qw(u._v)?256:128),146==(731&c)&&l.g16())l.k12();else{0!=(1&r)&&(s._v=null),0!=(2&r)&&(a._v=!1),0!=(4&r)&&(u._v=null),gt()&&mt(-140298183,c,-1,"org.jetbrains.compose.web.dom.Select$composable (Elements.kt:653)");var h=(Nn(),Y),f=a._v,p=s._v,_=l;_.pw(-1124426577),qt(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.qw(f)|_.qw(p)),m=v.rw();if(y||m===Pt().tw_1){var g=Ln(a,s);v.sw(g),d=g}else d=m;var b=d,w=null==b||At(b)?b:at();_.uw(),sn(h,w,u._v,l,896&c),gt()&&wt()}var $,x,k,j,C,S=l.z17();null===S||S.u18(($=s,x=a,k=u,j=o,C=r,function(t,e){return function(t,e,n,i,o,r,s){Cn(t._v,e._v,n._v,r,1|i,o)}($,x,k,j,C,t),tt()}))}function Sn(t,e,n,i,o,r){Nn();var s={_v:e},a={_v:n},u=i;u=u.y17(1780967894),qt(u,"C(Option$composable)P(2)");var l=o;if(0!=(1&r)?l|=6:0==(14&o)&&(l|=u.qw(t)?4:2),0!=(2&r)?l|=48:0==(112&o)&&(l|=u.qw(s._v)?32:16),0!=(4&r)?l|=384:0==(896&o)&&(l|=u.qw(a._v)?256:128),146==(731&l)&&u.g16())u.k12();else{0!=(2&r)&&(s._v=null),0!=(4&r)&&(a._v=null),gt()&&mt(1780967894,l,-1,"org.jetbrains.compose.web.dom.Option$composable (Elements.kt:669)");var c=(Nn(),G),h=s._v,f=u;f.pw(-1124426577),qt(f,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var p,_=f,d=!!(f.qw(t)|f.qw(h)),v=_.rw();if(d||v===Pt().tw_1){var y=Rn(t,s);_.sw(y),p=y}else p=v;var m=p,g=null==m||At(m)?m:at();f.uw(),sn(c,g,a._v,u,896&l),gt()&&wt()}var b,w,$,x,k,j=u.z17();null===j||j.u18((b=t,w=s,$=a,x=o,k=r,function(t,e){return function(t,e,n,i,o,r,s){Sn(t,e._v,n._v,r,1|i,o)}(b,w,$,x,k,t),tt()}))}function zn(t,e,n,i,o){Nn();var r={_v:t},s={_v:e},a=n;a=a.y17(-100692211),qt(a,"C(P$composable)");var u=i;0!=(1&o)?u|=6:0==(14&i)&&(u|=a.qw(r._v)?4:2),0!=(2&o)?u|=48:0==(112&i)&&(u|=a.qw(s._v)?32:16),18==(91&u)&&a.g16()?a.k12():(0!=(1&o)&&(r._v=null),0!=(2&o)&&(s._v=null),gt()&&mt(-100692211,u,-1,"org.jetbrains.compose.web.dom.P$composable (Elements.kt:563)"),sn((Nn(),B),r._v,s._v,a,112&u<<3|896&u<<3),gt()&&wt());var l,c,h,f,p=a.z17();null===p||p.u18((l=r,c=s,h=i,f=o,function(t,e){return function(t,e,n,i,o,r){zn(t._v,e._v,o,1|n,i)}(l,c,h,f,t),tt()}))}function Mn(t,e,n,i,o){Nn();var r={_v:t},s={_v:e},a=n;a=a.y17(-114341698),qt(a,"C(Ul$composable)");var u=i;0!=(1&o)?u|=6:0==(14&i)&&(u|=a.qw(r._v)?4:2),0!=(2&o)?u|=48:0==(112&i)&&(u|=a.qw(s._v)?32:16),18==(91&u)&&a.g16()?a.k12():(0!=(1&o)&&(r._v=null),0!=(2&o)&&(s._v=null),gt()&&mt(-114341698,u,-1,"org.jetbrains.compose.web.dom.Ul$composable (Elements.kt:603)"),sn((Nn(),W),r._v,s._v,a,112&u<<3|896&u<<3),gt()&&wt());var l,c,h,f,p=a.z17();null===p||p.u18((l=r,c=s,h=i,f=o,function(t,e){return function(t,e,n,i,o,r){Mn(t._v,e._v,o,1|n,i)}(l,c,h,f,t),tt()}))}function On(t,e,n,i,o){Nn();var r={_v:t},s={_v:e},a=n;a=a.y17(-456299496),qt(a,"C(Li$composable)");var u=i;0!=(1&o)?u|=6:0==(14&i)&&(u|=a.qw(r._v)?4:2),0!=(2&o)?u|=48:0==(112&i)&&(u|=a.qw(s._v)?32:16),18==(91&u)&&a.g16()?a.k12():(0!=(1&o)&&(r._v=null),0!=(2&o)&&(s._v=null),gt()&&mt(-456299496,u,-1,"org.jetbrains.compose.web.dom.Li$composable (Elements.kt:615)"),sn((Nn(),U),r._v,s._v,a,112&u<<3|896&u<<3),gt()&&wt());var l,c,h,f,p=a.z17();null===p||p.u18((l=r,c=s,h=i,f=o,function(t,e){return function(t,e,n,i,o,r){On(t._v,e._v,o,1|n,i)}(l,c,h,f,t),tt()}))}function qn(t,e,n,i,o){Nn();var r={_v:t},s={_v:e},a=n;a=a.y17(-155327957),qt(a,"C(Span$composable)");var u=i;0!=(1&o)?u|=6:0==(14&i)&&(u|=a.qw(r._v)?4:2),0!=(2&o)?u|=48:0==(112&i)&&(u|=a.qw(s._v)?32:16),18==(91&u)&&a.g16()?a.k12():(0!=(1&o)&&(r._v=null),0!=(2&o)&&(s._v=null),gt()&&mt(-155327957,u,-1,"org.jetbrains.compose.web.dom.Span$composable (Elements.kt:593)"),sn((Nn(),H),r._v,s._v,a,112&u<<3|896&u<<3),gt()&&wt());var l,c,h,f,p=a.z17();null===p||p.u18((l=r,c=s,h=i,f=o,function(t,e){return function(t,e,n,i,o,r){qn(t._v,e._v,o,1|n,i)}(l,c,h,f,t),tt()}))}function Pn(){return Nn(),new Lt(document.createTextNode(""))}function An(t,e){Nn();var n=t.r1m();return(n instanceof Text?n:at()).data=e,tt()}function En(t,e){return function(n){var i=t._v;return null==i||0===_t(i)||(function(t,e){Jt(),t.p1u("action",e)}(n,t._v),tt()),null!=e._v&&e._v(n),tt()}}function Dn(t,e){return function(n){return null!=t._v&&(function(t,e){Jt(),t.p1u("for",e)}(n,t._v),tt()),null!=e._v&&e._v(n),tt()}}function In(){}function Tn(){}function Ln(t,e){return function(n){return t._v&&(i=n,Jt(),i.p1u("multiple",""),tt()),null!=e._v&&e._v(new Ke(n)),tt();var i}}function Rn(t,e){return function(n){return function(t,e){Jt(),t.p1u("value",e)}(n,t),null!=e._v&&e._v(n),tt()}}function Nn(){Z||(Z=!0,new pn("address"),new pn("article"),new pn("aside"),new pn("header"),new pn("area"),new pn("audio"),new pn("map"),new pn("track"),new pn("video"),new pn("datalist"),new pn("fieldset"),new pn("legend"),new pn("meter"),new pn("output"),new pn("progress"),new pn("embed"),new pn("iframe"),new pn("object"),new pn("param"),new pn("picture"),new pn("source"),D=new pn("canvas"),new pn("dl"),new pn("dt"),new pn("dd"),I=new pn("div"),new pn("a"),T=new pn("input"),L=new pn("button"),R=new pn("h1"),new pn("h2"),N=new pn("h3"),F=new pn("h4"),new pn("h5"),new pn("h6"),B=new pn("p"),new pn("em"),new pn("i"),new pn("b"),new pn("small"),H=new pn("span"),V=new pn("br"),W=new pn("ul"),new pn("ol"),U=new pn("li"),new pn("img"),K=new pn("form"),Y=new pn("select"),G=new pn("option"),new pn("optgroup"),new pn("section"),X=new pn("textarea"),new pn("nav"),new pn("pre"),new pn("code"),new pn("main"),new pn("footer"),new pn("hr"),J=new pn("label"),new pn("table"),new pn("caption"),new pn("col"),new pn("colgroup"),new pn("tr"),new pn("thead"),new pn("th"),new pn("td"),new pn("tbody"),new pn("tfoot"),new pn("style"))}function Fn(t,e){Bn.call(this,e),this.q24_1=t,this.r24_1=0}function Bn(t){this.s24_1=t;var e;e=this.s24_1.target,this.t24_1=e,this.u24_1=this.s24_1.bubbles,this.v24_1=this.s24_1.cancelable,this.w24_1=this.s24_1.composed,this.x24_1=this.s24_1.currentTarget,this.y24_1=this.s24_1.eventPhase,this.z24_1=this.s24_1.defaultPrevented,this.a25_1=this.s24_1.timeStamp,this.b25_1=this.s24_1.type,this.c25_1=this.s24_1.isTrusted,this.d25_1=8}function Hn(t,e){Bn.call(this,e),this.q25_1=t;var n,i=e.data;n=null==i?null:i,this.r25_1=n;var o,r=e.dataTransfer;o=null==r?null:r,this.s25_1=o;var s,a=e.inputType;s=null==a?null:a,this.t25_1=s;var u=e.isComposing,l=null==u?null:u;this.u25_1=null!=l&&l,this.v25_1=8}function Vn(t){Bn.call(this,t),this.i26_1=t,this.j26_1=t.altKey,this.k26_1=t.button,this.l26_1=t.buttons,this.m26_1=t.clientX,this.n26_1=t.clientY,this.o26_1=t.ctrlKey,this.p26_1=t.metaKey;var e=t.movementX,n=null!=e&&"number"==typeof e?e:null;this.q26_1=null==n?0:n;var i=t.movementY,o=null!=i&&"number"==typeof i?i:null;this.r26_1=null==o?0:o,this.s26_1=t.offsetX,this.t26_1=t.offsetY,this.u26_1=t.pageX,this.v26_1=t.pageY,this.w26_1=t.region,this.x26_1=t.relatedTarget,this.y26_1=t.screenX,this.z26_1=t.screenY,this.a27_1=t.shiftKey,this.b27_1=t.x,this.c27_1=t.y,this.d27_1=8}return se.prototype=Object.create(ct.prototype),se.prototype.constructor=se,Pe.prototype=Object.create(Te.prototype),Pe.prototype.constructor=Pe,ae.prototype=Object.create(Pe.prototype),ae.prototype.constructor=ae,Ae.prototype=Object.create(Te.prototype),Ae.prototype.constructor=Ae,ue.prototype=Object.create(Ae.prototype),ue.prototype.constructor=ue,qe.prototype=Object.create(Te.prototype),qe.prototype.constructor=qe,ce.prototype=Object.create(qe.prototype),ce.prototype.constructor=ce,he.prototype=Object.create(qe.prototype),he.prototype.constructor=he,fe.prototype=Object.create(qe.prototype),fe.prototype.constructor=fe,pe.prototype=Object.create(qe.prototype),pe.prototype.constructor=pe,_e.prototype=Object.create(qe.prototype),_e.prototype.constructor=_e,de.prototype=Object.create(qe.prototype),de.prototype.constructor=de,ve.prototype=Object.create(qe.prototype),ve.prototype.constructor=ve,Ee.prototype=Object.create(Te.prototype),Ee.prototype.constructor=Ee,ye.prototype=Object.create(Ee.prototype),ye.prototype.constructor=ye,me.prototype=Object.create(qe.prototype),me.prototype.constructor=me,ge.prototype=Object.create(Ae.prototype),ge.prototype.constructor=ge,we.prototype=Object.create(Ee.prototype),we.prototype.constructor=we,$e.prototype=Object.create(qe.prototype),$e.prototype.constructor=$e,xe.prototype=Object.create(Pe.prototype),xe.prototype.constructor=xe,ke.prototype=Object.create(qe.prototype),ke.prototype.constructor=ke,je.prototype=Object.create(qe.prototype),je.prototype.constructor=je,Se.prototype=Object.create(qe.prototype),Se.prototype.constructor=Se,ze.prototype=Object.create(qe.prototype),ze.prototype.constructor=ze,Me.prototype=Object.create(qe.prototype),Me.prototype.constructor=Me,Re.prototype=Object.create(Le.prototype),Re.prototype.constructor=Re,Ne.prototype=Object.create(Le.prototype),Ne.prototype.constructor=Ne,Ye.prototype=Object.create(Le.prototype),Ye.prototype.constructor=Ye,Ge.prototype=Object.create(Le.prototype),Ge.prototype.constructor=Ge,an.prototype=Object.create(Lt.prototype),an.prototype.constructor=an,ln.prototype=Object.create(cn.prototype),ln.prototype.constructor=ln,Fn.prototype=Object.create(Bn.prototype),Fn.prototype.constructor=Fn,Hn.prototype=Object.create(Bn.prototype),Hn.prototype.constructor=Hn,Vn.prototype=Object.create(Bn.prototype),Vn.prototype.constructor=Vn,Zt.$metadata$=et("Companion"),Qt.$metadata$=nt("AttrsScope",[oe]),ee.prototype.u1v=function(){return this.n1v_1},ee.prototype.l1v=function(t){this.n1v_1.l1v(t)},ee.prototype.m1v=function(t){this.n1v_1.m1v(t)},ee.prototype.k1v=function(t){this.n1v_1.k1v(t)},ee.prototype.x1v=function(){return this.p1v_1},ee.prototype.y1v=function(){return this.q1v_1},ee.prototype.z1v=function(){return this.r1v_1},ee.prototype.a1w=function(){return this.s1v_1},ee.prototype.g1v=function(t){this.s1v_1.c4(t)},ee.prototype.h1v=function(t){rt(this.s1v_1,t)},ee.prototype.f1v=function(t){t(this.p1v_1)},ee.prototype.p1u=function(t,e){return this.o1v_1.n3(t,e),this},ee.prototype.j1v=function(t,e){var n=st(t,e);this.q1v_1.a(n instanceof ut?n:at())},ee.prototype.b1w=function(){return this.o1v_1},ee.$metadata$=lt("AttrsScopeBuilder",[Qt,oe]),ne.$metadata$=et("Companion"),oe.$metadata$=nt("EventsListenerScope"),re.prototype.k1v=function(t){this.v1v_1.a(t)},re.prototype.t1x=function(){return this.v1v_1},re.$metadata$=lt("EventsListenerScopeBuilder",[oe]),se.$metadata$=lt("ButtonType",void 0,void 0,void 0,void 0,ct.prototype),ae.$metadata$=et("Button",void 0,void 0,void 0,void 0,Pe.prototype),ue.$metadata$=et("Checkbox",void 0,void 0,void 0,void 0,Ae.prototype),ce.$metadata$=et("Color",void 0,void 0,void 0,void 0,qe.prototype),he.$metadata$=et("Date",void 0,void 0,void 0,void 0,qe.prototype),fe.$metadata$=et("DateTimeLocal",void 0,void 0,void 0,void 0,qe.prototype),pe.$metadata$=et("Email",void 0,void 0,void 0,void 0,qe.prototype),_e.$metadata$=et("File",void 0,void 0,void 0,void 0,qe.prototype),de.$metadata$=et("Hidden",void 0,void 0,void 0,void 0,qe.prototype),ve.$metadata$=et("Month",void 0,void 0,void 0,void 0,qe.prototype),ye.$metadata$=et("Number",void 0,void 0,void 0,void 0,Ee.prototype),me.$metadata$=et("Password",void 0,void 0,void 0,void 0,qe.prototype),ge.$metadata$=et("Radio",void 0,void 0,void 0,void 0,Ae.prototype),we.$metadata$=et("Range",void 0,void 0,void 0,void 0,Ee.prototype),$e.$metadata$=et("Search",void 0,void 0,void 0,void 0,qe.prototype),xe.$metadata$=et("Submit",void 0,void 0,void 0,void 0,Pe.prototype),ke.$metadata$=et("Tel",void 0,void 0,void 0,void 0,qe.prototype),je.$metadata$=et("Text",void 0,void 0,void 0,void 0,qe.prototype),Se.$metadata$=et("Time",void 0,void 0,void 0,void 0,qe.prototype),ze.$metadata$=et("Url",void 0,void 0,void 0,void 0,qe.prototype),Me.$metadata$=et("Week",void 0,void 0,void 0,void 0,qe.prototype),qe.prototype.j1y=function(t){return Oe().k21(t)},qe.$metadata$=lt("InputTypeWithStringValue",void 0,void 0,void 0,void 0,Te.prototype),Pe.prototype.b1y=function(t){return tt()},Pe.prototype.j1y=function(t){return this.b1y(t),tt()},Pe.$metadata$=lt("InputTypeWithUnitValue",void 0,void 0,void 0,void 0,Te.prototype),Ae.prototype.j1y=function(t){var e,n,i=t.target,o=null==(e=null==i?null:i)?null:e.checked;return null!=(n=null==o?null:o)&&n},Ae.$metadata$=lt("InputTypeCheckedValue",void 0,void 0,void 0,void 0,Te.prototype),Ee.prototype.j1y=function(t){var e,n=t.target,i=null==(e=null==n?null:n)?null:e.valueAsNumber;return null==i?null:i},Ee.$metadata$=lt("InputTypeNumberValue",void 0,void 0,void 0,void 0,Te.prototype),De.prototype.l21=function(t){var e;switch(t){case"button":null==c&&new ae,e=c;break;case"checkbox":e=le();break;case"color":null==f&&new ce,e=f;break;case"date":null==p&&new he,e=p;break;case"datetime-local":null==_&&new fe,e=_;break;case"email":null==d&&new pe,e=d;break;case"file":null==v&&new _e,e=v;break;case"hidden":null==y&&new de,e=y;break;case"month":null==m&&new ve,e=m;break;case"number":null==g&&new ye,e=g;break;case"password":null==b&&new me,e=b;break;case"radio":e=be();break;case"range":null==$&&new we,e=$;break;case"search":null==x&&new $e,e=x;break;case"submit":null==k&&new xe,e=k;break;case"tel":null==j&&new ke,e=j;break;case"text":e=Ce();break;case"time":null==S&&new Se,e=S;break;case"url":null==z&&new ze,e=z;break;case"week":e=Oe();break;default:throw ft(ht("fromString got unknown type - "+t))}return e},De.$metadata$=et("Companion"),Te.prototype.k21=function(t){var e,n,i=t.target,o=null==(e=null==i?null:i)?null:e.value;return null==(n=null==o?null:o)?"":n},Te.$metadata$=lt("InputType"),Le.prototype.j1t=function(){return this.o21_1},Le.prototype.q21=function(t){var e;e=new Bn(t),this.n21_1(e)},Le.prototype.handleEvent=function(t){return this.q21(t)},Le.$metadata$=lt("SyntheticEventListener",[pt]),Re.prototype.q21=function(t){var e=this.v21_1.j1y(t);this.n21_1(new Hn(e,t))},Re.prototype.handleEvent=function(t){return this.q21(t)},Re.$metadata$=lt("InputEventListener",void 0,void 0,void 0,void 0,Le.prototype),Ne.prototype.q21=function(t){var e;e=t,this.n21_1(new Vn(e))},Ne.prototype.handleEvent=function(t){return this.q21(t)},Ne.$metadata$=lt("MouseEventListener",void 0,void 0,void 0,void 0,Le.prototype),Fe.prototype.p1u=function(t,e){return this.b22_1.p1u(t,e)},Fe.prototype.h1v=function(t){this.b22_1.h1v(t)},Fe.prototype.g1v=function(t){this.b22_1.g1v(t)},Fe.prototype.i1v=function(t){return this.b22_1.i1v(t)},Fe.prototype.l1v=function(t){this.b22_1.l1v(t)},Fe.prototype.m1v=function(t){this.b22_1.m1v(t)},Fe.prototype.j1v=function(t,e){this.b22_1.j1v(t,e)},Fe.prototype.k1v=function(t){this.b22_1.k1v(t)},Fe.prototype.f1v=function(t){this.b22_1.f1v(t)},Fe.prototype.d22=function(t){ie(),this.k1v(new Re("input",this.a22_1,t))},Fe.$metadata$=lt("InputAttrsScope",[Qt]),We.prototype.um=function(){var t=He().z2(this.e22_1.name);null==t||t.ga(this.e22_1);var e=He().z2(this.e22_1.name);!0===(null==e?null:e.h())&&He().lb(this.e22_1.name)},We.$metadata$=lt(void 0,[kt]),Ke.prototype.p1u=function(t,e){return this.g22_1.p1u(t,e)},Ke.prototype.h1v=function(t){this.g22_1.h1v(t)},Ke.prototype.g1v=function(t){this.g22_1.g1v(t)},Ke.prototype.i1v=function(t){return this.g22_1.i1v(t)},Ke.prototype.l1v=function(t){this.g22_1.l1v(t)},Ke.prototype.m1v=function(t){this.g22_1.m1v(t)},Ke.prototype.j1v=function(t,e){this.g22_1.j1v(t,e)},Ke.prototype.k1v=function(t){this.g22_1.k1v(t)},Ke.prototype.f1v=function(t){this.g22_1.f1v(t)},Ke.prototype.i22=function(t){ie(),this.k1v(new Ye("input",t))},Ke.prototype.j22=function(t){this.k1v(new Ge(t))},Ke.$metadata$=lt("SelectAttrsScope",[Qt]),Ye.prototype.q21=function(t){var e=t.target,n=(null==e?null:e).value,i=null==n?null:ht(n);this.n21_1(new Hn(i,t))},Ye.prototype.handleEvent=function(t){return this.q21(t)},Ye.$metadata$=lt("SelectInputEventListener",void 0,void 0,void 0,void 0,Le.prototype),Ge.prototype.q21=function(t){var e=t.target,n=(null==e?null:e).value,i=null==n?null:ht(n);this.n21_1(new Fn(i,t))},Ge.prototype.handleEvent=function(t){return this.q21(t)},Ge.$metadata$=lt("SelectChangeEventListener",void 0,void 0,void 0,void 0,Le.prototype),Xe.prototype.p1u=function(t,e){return this.s22_1.p1u(t,e)},Xe.prototype.h1v=function(t){this.s22_1.h1v(t)},Xe.prototype.g1v=function(t){this.s22_1.g1v(t)},Xe.prototype.i1v=function(t){return this.s22_1.i1v(t)},Xe.prototype.l1v=function(t){this.s22_1.l1v(t)},Xe.prototype.m1v=function(t){this.s22_1.m1v(t)},Xe.prototype.j1v=function(t,e){this.s22_1.j1v(t,e)},Xe.prototype.k1v=function(t){this.s22_1.k1v(t)},Xe.prototype.f1v=function(t){this.s22_1.f1v(t)},Xe.prototype.u22=function(t){return this.j1v((Jt(),o),t),this},Xe.prototype.v22=function(t){ie(),this.k1v(new Re("input",Ce(),t))},Xe.$metadata$=lt("TextAreaAttrsScope",[Qt]),Je.prototype.w22=function(){return"%"},Je.prototype.x22=function(){return"px"},Je.$metadata$=et("Companion"),Qe.prototype.l2=function(){return this.y22_1},Qe.prototype.b23=function(){return this.z22_1},Qe.prototype.toString=function(){return""+this.y22_1+this.z22_1},Qe.prototype.hashCode=function(){var t=Ct(this.y22_1);return Q(t,31)+St(this.z22_1)|0},Qe.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Qe))return!1;var e=t instanceof Qe?t:at();return!!xt(this.y22_1,e.y22_1)&&!!xt(this.z22_1,e.z22_1)},Qe.$metadata$=lt("CSSUnitValueTyped"),Object.defineProperty(Qe.prototype,"value",{configurable:!0,get:function(){return this.l2()}}),Object.defineProperty(Qe.prototype,"unit",{configurable:!0,get:function(){return this.b23()}}),tn.$metadata$=nt("StyleScope"),en.prototype.h23=function(){return this.e23_1},en.prototype.i23=function(){return this.f23_1},en.prototype.c23=function(t,e){this.h23().a(new on(t,e))},en.prototype.equals=function(t){return!(null==t||!zt(t,nn))&&!!rn(this.h23(),t.h23())&&rn(this.i23(),t.i23())},en.$metadata$=lt("StyleScopeBuilder",[tn,nn]),nn.$metadata$=nt("StyleHolder"),on.prototype.j1t=function(){return this.j23_1},on.prototype.l2=function(){return this.k23_1},on.prototype.d9=function(){return this.j23_1},on.prototype.e9=function(){return this.k23_1},on.prototype.toString=function(){return"StylePropertyDeclaration(name="+this.j23_1+", value="+this.k23_1+")"},on.prototype.hashCode=function(){var t=Mt(this.j23_1);return Q(t,31)+St(this.k23_1)|0},on.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof on))return!1;var e=t instanceof on?t:at();return this.j23_1===e.j23_1&&!!xt(this.k23_1,e.k23_1)},on.$metadata$=lt("StylePropertyDeclaration"),an.prototype.r1m=function(){return this.o23_1},an.prototype.q23=function(t){for(var e=this.p23_1.c();e.d();){var n=e.e();this.o23_1.removeEventListener(n.j1t(),n)}this.p23_1=t;for(var i=this.p23_1.c();i.d();){var o=i.e();this.o23_1.addEventListener(o.j1t(),o)}},an.prototype.r23=function(t){for(var e=t.c();e.d();){var n=e.e(),i=n.d9(),o=n.e9();i(this.o23_1,o)}},an.prototype.s23=function(t){var e=this.o23_1;if(e instanceof HTMLElement||e instanceof SVGElement){this.o23_1.removeAttribute("style");for(var n=this.o23_1.style,i=t.h23().c();i.d();){var o=i.e(),r=o.d9(),s=o.e9();n.setProperty(r,ht(s))}for(var a=t.i23().c();a.d();){var u=a.e(),l=u.d9(),c=u.e9();n.setProperty(l,ht(c))}}},an.prototype.t23=function(t){for(var e=this.o23_1.getAttributeNames(),n=0,i=e.length;n{"use strict";function i(){}n.r(e),n.d(e,{Animation:()=>yn,Animations:()=>gn,ArcElement:()=>$o,BarController:()=>Nn,BarElement:()=>Lo,BasePlatform:()=>Mi,BasicPlatform:()=>Oi,BubbleController:()=>Fn,CategoryScale:()=>Cr,Chart:()=>vo,DatasetController:()=>qn,Decimation:()=>Bo,DomPlatform:()=>Vi,DoughnutController:()=>Bn,Element:()=>Kn,Filler:()=>or,Interaction:()=>vi,Legend:()=>ar,LineController:()=>Hn,LineElement:()=>Oo,LinearScale:()=>Mr,LogarithmicScale:()=>qr,PieController:()=>Wn,PointElement:()=>Po,PolarAreaController:()=>Vn,RadarController:()=>Un,RadialLinearScale:()=>Lr,Scale:()=>ii,ScatterController:()=>si,SubTitle:()=>hr,Ticks:()=>Gn,TimeScale:()=>Ur,TimeSeriesScale:()=>Yr,Title:()=>lr,Tooltip:()=>kr,_adapters:()=>ci,_detectPlatform:()=>Wi,animator:()=>_n,controllers:()=>ai,defaults:()=>Jt,elements:()=>Ro,layouts:()=>zi,plugins:()=>jr,registerables:()=>Xr,registry:()=>ri,scales:()=>Gr});const o=function(){let t=0;return function(){return t++}}();function r(t){return null==t}function s(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.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 l(t,e){return u(t)?t:e}function c(t,e){return void 0===t?e:t}const h=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function f(t,e,n){if(t&&"function"==typeof t.call)return t.apply(n,e)}function p(t,e,n,i){let o,r,u;if(s(t))if(r=t.length,i)for(o=r-1;o>=0;o--)e.call(n,t[o],o);else for(o=0;ot,x:t=>t.x,y:t=>t.y};function $(t,e){const n=w[e]||(w[e]=function(t){const e=function(t){const e=t.split("."),n=[];let i="";for(const t of e)i+=t,i.endsWith("\\")?i=i.slice(0,-1)+".":(n.push(i),i="");return n}(t);return t=>{for(const n of e){if(""===n)break;t=t&&t[n]}return t}}(e));return n(t)}function x(t){return t.charAt(0).toUpperCase()+t.slice(1)}const k=t=>void 0!==t,j=t=>"function"==typeof t,C=(t,e)=>{if(t.size!==e.size)return!1;for(const n of t)if(!e.has(n))return!1;return!0},S=Math.PI,z=2*S,M=z+S,O=Number.POSITIVE_INFINITY,q=S/180,P=S/2,A=S/4,E=2*S/3,D=Math.log10,I=Math.sign;function T(t){const e=Math.round(t);t=R(t,e,t/1e3)?e:t;const n=Math.pow(10,Math.floor(D(t))),i=t/n;return(i<=1?1:i<=2?2:i<=5?5:10)*n}function L(t){return!isNaN(parseFloat(t))&&isFinite(t)}function R(t,e,n){return Math.abs(t-e)u&&l=Math.min(e,n)-i&&t<=Math.max(e,n)+i}function J(t,e,n){n=n||(n=>t[n]1;)i=r+o>>1,n(i)?r=i:o=i;return{lo:r,hi:o}}const Z=(t,e,n,i)=>J(t,n,i?i=>t[i][e]<=n:i=>t[i][e]J(t,n,(i=>t[i][e]>=n)),tt=["push","pop","shift","splice","unshift"];function et(t,e){const n=t._chartjs;if(!n)return;const i=n.listeners,o=i.indexOf(e);-1!==o&&i.splice(o,1),i.length>0||(tt.forEach((e=>{delete t[e]})),delete t._chartjs)}function nt(t){const e=new Set;let n,i;for(n=0,i=t.length;nArray.prototype.slice.call(t));let o=!1,r=[];return function(...n){r=i(n),o||(o=!0,it.call(window,(()=>{o=!1,t.apply(e,r)})))}}const rt=t=>"start"===t?"left":"end"===t?"right":"center",st=(t,e,n)=>"start"===t?e:"end"===t?n:(e+n)/2;function at(t,e,n){const i=e.length;let o=0,r=i;if(t._sorted){const{iScale:s,_parsed:a}=t,u=s.axis,{min:l,max:c,minDefined:h,maxDefined:f}=s.getUserBounds();h&&(o=G(Math.min(Z(a,s.axis,l).lo,n?i:Z(e,u,s.getPixelForValue(l)).lo),0,i-1)),r=f?G(Math.max(Z(a,s.axis,c,!0).hi+1,n?0:Z(e,u,s.getPixelForValue(c),!0).hi+1),o,i)-o:i-o}return{start:o,count:r}}function ut(t){const{xScale:e,yScale:n,_scaleRanges:i}=t,o={xmin:e.min,xmax:e.max,ymin:n.min,ymax:n.max};if(!i)return t._scaleRanges=o,!0;const r=i.xmin!==e.min||i.xmax!==e.max||i.ymin!==n.min||i.ymax!==n.max;return Object.assign(i,o),r}const lt=t=>0===t||1===t,ct=(t,e,n)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*z/n),ht=(t,e,n)=>Math.pow(2,-10*t)*Math.sin((t-e)*z/n)+1,ft={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*P),easeOutSine:t=>Math.sin(t*P),easeInOutSine:t=>-.5*(Math.cos(S*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=>lt(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=>lt(t)?t:ct(t,.075,.3),easeOutElastic:t=>lt(t)?t:ht(t,.075,.3),easeInOutElastic(t){const e=.1125;return lt(t)?t:t<.5?.5*ct(2*t,e,.45):.5+.5*ht(2*t-1,e,.45)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-ft.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,n=2.75;return t<1/n?e*t*t:t<2/n?e*(t-=1.5/n)*t+.75:t<2.5/n?e*(t-=2.25/n)*t+.9375:e*(t-=2.625/n)*t+.984375},easeInOutBounce:t=>t<.5?.5*ft.easeInBounce(2*t):.5*ft.easeOutBounce(2*t-1)+.5};function pt(t){return t+.5|0}const _t=(t,e,n)=>Math.max(Math.min(t,n),e);function dt(t){return _t(pt(2.55*t),0,255)}function vt(t){return _t(pt(255*t),0,255)}function yt(t){return _t(pt(t/2.55)/100,0,1)}function mt(t){return _t(pt(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},bt=[..."0123456789ABCDEF"],wt=t=>bt[15&t],$t=t=>bt[(240&t)>>4]+bt[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,e,n){const i=e*Math.min(n,1-n),o=(e,o=(e+t/30)%12)=>n-i*Math.max(Math.min(o-3,9-o,1),-1);return[o(0),o(8),o(4)]}function Ct(t,e,n){const i=(i,o=(i+t/60)%6)=>n-n*e*Math.max(Math.min(o,4-o,1),0);return[i(5),i(3),i(1)]}function St(t,e,n){const i=jt(t,1,.5);let o;for(e+n>1&&(o=1/(e+n),e*=o,n*=o),o=0;o<3;o++)i[o]*=1-e-n,i[o]+=e;return i}function zt(t){const e=t.r/255,n=t.g/255,i=t.b/255,o=Math.max(e,n,i),r=Math.min(e,n,i),s=(o+r)/2;let a,u,l;return o!==r&&(l=o-r,u=s>.5?l/(2-o-r):l/(o+r),a=function(t,e,n,i,o){return t===o?(e-n)/i+(et<=.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 Lt(t,e,n){if(t){let i=zt(t);i[e]=Math.max(0,Math.min(i[e]+i[e]*n,0===e?360:1)),i=Ot(i),t.r=i[0],t.g=i[1],t.b=i[2]}}function Rt(t,e){return t?Object.assign(e||{},t):t}function Nt(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=vt(t[3]))):(e=Rt(t,{r:0,g:0,b:0,a:1})).a=vt(e.a),e}function Ft(t){return"r"===t.charAt(0)?function(t){const e=Dt.exec(t);let n,i,o,r=255;if(e){if(e[7]!==n){const t=+e[7];r=e[8]?dt(t):_t(255*t,0,255)}return n=+e[1],i=+e[3],o=+e[5],n=255&(e[2]?dt(n):_t(n,0,255)),i=255&(e[4]?dt(i):_t(i,0,255)),o=255&(e[6]?dt(o):_t(o,0,255)),{r:n,g:i,b:o,a:r}}}(t):function(t){const e=kt.exec(t);let n,i=255;if(!e)return;e[5]!==n&&(i=e[6]?dt(+e[5]):vt(+e[5]));const o=qt(+e[2]),r=+e[3]/100,s=+e[4]/100;return n="hwb"===e[1]?function(t,e,n){return Mt(St,t,e,n)}(o,r,s):"hsv"===e[1]?function(t,e,n){return Mt(Ct,t,e,n)}(o,r,s):Ot(o,r,s),{r:n[0],g:n[1],b:n[2],a:i}}(t)}class Bt{constructor(t){if(t instanceof Bt)return t;const e=typeof t;let n;var i,o,r;"object"===e?n=Nt(t):"string"===e&&(r=(i=t).length,"#"===i[0]&&(4===r||5===r?o={r:255&17*gt[i[1]],g:255&17*gt[i[2]],b:255&17*gt[i[3]],a:5===r?17*gt[i[4]]:255}:7!==r&&9!==r||(o={r:gt[i[1]]<<4|gt[i[2]],g:gt[i[3]]<<4|gt[i[4]],b:gt[i[5]]<<4|gt[i[6]],a:9===r?gt[i[7]]<<4|gt[i[8]]:255})),n=o||function(t){Et||(Et=function(){const t={},e=Object.keys(At),n=Object.keys(Pt);let i,o,r,s,a;for(i=0;i>16&255,r>>8&255,255&r]}return t}(),Et.transparent=[0,0,0,0]);const e=Et[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}(t)||Ft(t)),this._rgb=n,this._valid=!!n}get valid(){return this._valid}get rgb(){var t=Rt(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,e=(t=>xt(t.r)&&xt(t.g)&&xt(t.b)&&xt(t.a))(t)?wt:$t,t?"#"+e(t.r)+e(t.g)+e(t.b)+((t,e)=>t<255?e(t):"")(t.a,e):void 0):void 0;var t,e}hslString(){return this._valid?function(t){if(!t)return;const e=zt(t),n=e[0],i=mt(e[1]),o=mt(e[2]);return t.a<255?`hsla(${n}, ${i}%, ${o}%, ${yt(t.a)})`:`hsl(${n}, ${i}%, ${o}%)`}(this._rgb):void 0}mix(t,e){if(t){const n=this.rgb,i=t.rgb;let o;const r=e===o?.5:e,s=2*r-1,a=n.a-i.a,u=((s*a==-1?s:(s+a)/(1+s*a))+1)/2;o=1-u,n.r=255&u*n.r+o*i.r+.5,n.g=255&u*n.g+o*i.g+.5,n.b=255&u*n.b+o*i.b+.5,n.a=r*n.a+(1-r)*i.a,this.rgb=n}return this}interpolate(t,e){return t&&(this._rgb=function(t,e,n){const i=Tt(yt(t.r)),o=Tt(yt(t.g)),r=Tt(yt(t.b));return{r:vt(It(i+n*(Tt(yt(e.r))-i))),g:vt(It(o+n*(Tt(yt(e.g))-o))),b:vt(It(r+n*(Tt(yt(e.b))-r))),a:t.a+n*(e.a-t.a)}}(this._rgb,t._rgb,e)),this}clone(){return new Bt(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,e=pt(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,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 Lt(this._rgb,2,t),this}darken(t){return Lt(this._rgb,2,-t),this}saturate(t){return Lt(this._rgb,1,t),this}desaturate(t){return Lt(this._rgb,1,-t),this}rotate(t){return function(t,e){var n=zt(t);n[0]=qt(n[0]+e),n=Ot(n),t.r=n[0],t.g=n[1],t.b=n[2]}(this._rgb,t),this}}function Ht(t){return new Bt(t)}function Vt(t){if(t&&"object"==typeof t){const e=t.toString();return"[object CanvasPattern]"===e||"[object CanvasGradient]"===e}return!1}function Wt(t){return Vt(t)?t:Ht(t)}function Ut(t){return Vt(t)?t:Ht(t).saturate(.5).darken(.1).hexString()}const Kt=Object.create(null),Yt=Object.create(null);function Gt(t,e){if(!e)return t;const n=e.split(".");for(let e=0,i=n.length;et.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,e)=>Ut(e.backgroundColor),this.hoverBorderColor=(t,e)=>Ut(e.borderColor),this.hoverColor=(t,e)=>Ut(e.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,e){return Xt(this,t,e)}get(t){return Gt(this,t)}describe(t,e){return Xt(Yt,t,e)}override(t,e){return Xt(Kt,t,e)}route(t,e,n,i){const o=Gt(this,t),r=Gt(this,n),s="_"+e;Object.defineProperties(o,{[s]:{value:o[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[s],e=r[i];return a(t)?Object.assign({},e,t):c(t,e)},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,e,n,i,o){let r=e[o];return r||(r=e[o]=t.measureText(o).width,n.push(o)),r>i&&(i=r),i}function Qt(t,e,n,i){let o=(i=i||{}).data=i.data||{},r=i.garbageCollect=i.garbageCollect||[];i.font!==e&&(o=i.data={},r=i.garbageCollect=[],i.font=e),t.save(),t.font=e;let a=0;const u=n.length;let l,c,h,f,p;for(l=0;ln.length){for(l=0;l<_;l++)delete o[r[l]];r.splice(0,_)}return a}function te(t,e,n){const i=t.currentDevicePixelRatio,o=0!==n?Math.max(n/2,.5):0;return Math.round((e-o)*i)/i+o}function ee(t,e){(e=e||t.getContext("2d")).save(),e.resetTransform(),e.clearRect(0,0,t.width,t.height),e.restore()}function ne(t,e,n,i){ie(t,e,n,i,null)}function ie(t,e,n,i,o){let r,s,a,u,l,c;const h=e.pointStyle,f=e.rotation,p=e.radius;let _=(f||0)*q;if(h&&"object"==typeof h&&(r=h.toString(),"[object HTMLImageElement]"===r||"[object HTMLCanvasElement]"===r))return t.save(),t.translate(n,i),t.rotate(_),t.drawImage(h,-h.width/2,-h.height/2,h.width,h.height),void t.restore();if(!(isNaN(p)||p<=0)){switch(t.beginPath(),h){default:o?t.ellipse(n,i,o/2,p,0,0,z):t.arc(n,i,p,0,z),t.closePath();break;case"triangle":t.moveTo(n+Math.sin(_)*p,i-Math.cos(_)*p),_+=E,t.lineTo(n+Math.sin(_)*p,i-Math.cos(_)*p),_+=E,t.lineTo(n+Math.sin(_)*p,i-Math.cos(_)*p),t.closePath();break;case"rectRounded":l=.516*p,u=p-l,s=Math.cos(_+A)*u,a=Math.sin(_+A)*u,t.arc(n-s,i-a,l,_-S,_-P),t.arc(n+a,i-s,l,_-P,_),t.arc(n+s,i+a,l,_,_+P),t.arc(n-a,i+s,l,_+P,_+S),t.closePath();break;case"rect":if(!f){u=Math.SQRT1_2*p,c=o?o/2:u,t.rect(n-c,i-u,2*c,2*u);break}_+=A;case"rectRot":s=Math.cos(_)*p,a=Math.sin(_)*p,t.moveTo(n-s,i-a),t.lineTo(n+a,i-s),t.lineTo(n+s,i+a),t.lineTo(n-a,i+s),t.closePath();break;case"crossRot":_+=A;case"cross":s=Math.cos(_)*p,a=Math.sin(_)*p,t.moveTo(n-s,i-a),t.lineTo(n+s,i+a),t.moveTo(n+a,i-s),t.lineTo(n-a,i+s);break;case"star":s=Math.cos(_)*p,a=Math.sin(_)*p,t.moveTo(n-s,i-a),t.lineTo(n+s,i+a),t.moveTo(n+a,i-s),t.lineTo(n-a,i+s),_+=A,s=Math.cos(_)*p,a=Math.sin(_)*p,t.moveTo(n-s,i-a),t.lineTo(n+s,i+a),t.moveTo(n+a,i-s),t.lineTo(n-a,i+s);break;case"line":s=o?o/2:Math.cos(_)*p,a=Math.sin(_)*p,t.moveTo(n-s,i-a),t.lineTo(n+s,i+a);break;case"dash":t.moveTo(n,i),t.lineTo(n+Math.cos(_)*p,i+Math.sin(_)*p)}t.fill(),e.borderWidth>0&&t.stroke()}}function oe(t,e,n){return n=n||.5,!e||t&&t.x>e.left-n&&t.xe.top-n&&t.y0&&""!==a.strokeColor;let c,h;for(t.save(),t.font=o.string,function(t,e){e.translation&&t.translate(e.translation[0],e.translation[1]),r(e.rotation)||t.rotate(e.rotation),e.color&&(t.fillStyle=e.color),e.textAlign&&(t.textAlign=e.textAlign),e.textBaseline&&(t.textBaseline=e.textBaseline)}(t,a),c=0;cc(t[n],t[e[n]]):e=>t[e]:()=>t;for(const t of o)n[t]=+r(t)||0;return n}function ve(t){return de(t,{top:"y",right:"x",bottom:"y",left:"x"})}function ye(t){return de(t,["topLeft","topRight","bottomLeft","bottomRight"])}function me(t){const e=ve(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function ge(t,e){t=t||{},e=e||Jt.font;let n=c(t.size,e.size);"string"==typeof n&&(n=parseInt(n,10));let i=c(t.style,e.style);i&&!(""+i).match(pe)&&(console.warn('Invalid font style specified: "'+i+'"'),i="");const o={family:c(t.family,e.family),lineHeight:_e(c(t.lineHeight,e.lineHeight),n),size:n,style:i,weight:c(t.weight,e.weight),string:""};return o.string=function(t){return!t||r(t.size)||r(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}(o),o}function be(t,e,n,i){let o,r,a,u=!0;for(o=0,r=t.length;ot[0])){k(i)||(i=Ae("_fallback",t));const r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:n,_fallback:i,_getTarget:o,override:o=>$e([o,...t],e,n,i)};return new Proxy(r,{deleteProperty:(e,n)=>(delete e[n],delete e._keys,delete t[0][n],!0),get:(n,i)=>Se(n,i,(()=>function(t,e,n,i){let o;for(const r of e)if(o=Ae(je(r,t),n),k(o))return Ce(t,o)?qe(n,i,t,o):o}(i,e,t,n))),getOwnPropertyDescriptor:(t,e)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],e),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,e)=>Ee(t).includes(e),ownKeys:t=>Ee(t),set(t,e,n){const i=t._storage||(t._storage=o());return t[e]=i[e]=n,delete t._keys,!0}})}function xe(t,e,n,i){const o={_cacheable:!1,_proxy:t,_context:e,_subProxy:n,_stack:new Set,_descriptors:ke(t,i),setContext:e=>xe(t,e,n,i),override:o=>xe(t.override(o),e,n,i)};return new Proxy(o,{deleteProperty:(e,n)=>(delete e[n],delete t[n],!0),get:(t,e,n)=>Se(t,e,(()=>function(t,e,n){const{_proxy:i,_context:o,_subProxy:r,_descriptors:u}=t;let l=i[e];return j(l)&&u.isScriptable(e)&&(l=function(t,e,n,i){const{_proxy:o,_context:r,_subProxy:s,_stack:a}=n;if(a.has(t))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+t);return a.add(t),e=e(r,s||i),a.delete(t),Ce(t,e)&&(e=qe(o._scopes,o,t,e)),e}(e,l,t,n)),s(l)&&l.length&&(l=function(t,e,n,i){const{_proxy:o,_context:r,_subProxy:s,_descriptors:u}=n;if(k(r.index)&&i(t))e=e[r.index%e.length];else if(a(e[0])){const n=e,i=o._scopes.filter((t=>t!==n));e=[];for(const a of n){const n=qe(i,o,t,a);e.push(xe(n,r,s&&s[t],u))}}return e}(e,l,t,u.isIndexable)),Ce(e,l)&&(l=xe(l,o,r&&r[e],u)),l}(t,e,n))),getOwnPropertyDescriptor:(e,n)=>e._descriptors.allKeys?Reflect.has(t,n)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,n),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(e,n)=>Reflect.has(t,n),ownKeys:()=>Reflect.ownKeys(t),set:(e,n,i)=>(t[n]=i,delete e[n],!0)})}function ke(t,e={scriptable:!0,indexable:!0}){const{_scriptable:n=e.scriptable,_indexable:i=e.indexable,_allKeys:o=e.allKeys}=t;return{allKeys:o,scriptable:n,indexable:i,isScriptable:j(n)?n:()=>n,isIndexable:j(i)?i:()=>i}}const je=(t,e)=>t?t+x(e):e,Ce=(t,e)=>a(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function Se(t,e,n){if(Object.prototype.hasOwnProperty.call(t,e))return t[e];const i=n();return t[e]=i,i}function ze(t,e,n){return j(t)?t(e,n):t}const Me=(t,e)=>!0===t?e:"string"==typeof t?$(e,t):void 0;function Oe(t,e,n,i,o){for(const r of e){const e=Me(n,r);if(e){t.add(e);const r=ze(e._fallback,n,o);if(k(r)&&r!==n&&r!==i)return r}else if(!1===e&&k(i)&&n!==i)return null}return!1}function qe(t,e,n,i){const o=e._rootScopes,r=ze(e._fallback,n,i),u=[...t,...o],l=new Set;l.add(i);let c=Pe(l,u,n,r||n,i);return null!==c&&(!k(r)||r===n||(c=Pe(l,u,r,c,i),null!==c))&&$e(Array.from(l),[""],o,r,(()=>function(t,e,n){const i=t._getTarget();e in i||(i[e]={});const o=i[e];return s(o)&&a(n)?n:o}(e,n,i)))}function Pe(t,e,n,i,o){for(;n;)n=Oe(t,e,n,i,o);return n}function Ae(t,e){for(const n of e){if(!n)continue;const e=n[t];if(k(e))return e}}function Ee(t){let e=t._keys;return e||(e=t._keys=function(t){const e=new Set;for(const n of t)for(const t of Object.keys(n).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}(t._scopes)),e}function De(t,e,n,i){const{iScale:o}=t,{key:r="r"}=this._parsing,s=new Array(i);let a,u,l,c;for(a=0,u=i;ae"x"===t?"y":"x";function Re(t,e,n,i){const o=t.skip?e:t,r=e,s=n.skip?e:n,a=W(r,o),u=W(s,r);let l=a/(a+u),c=u/(a+u);l=isNaN(l)?0:l,c=isNaN(c)?0:c;const h=i*l,f=i*c;return{previous:{x:r.x-h*(s.x-o.x),y:r.y-h*(s.y-o.y)},next:{x:r.x+f*(s.x-o.x),y:r.y+f*(s.y-o.y)}}}function Ne(t,e,n){return Math.max(Math.min(t,n),e)}function Fe(t,e,n,i,o){let r,s,a,u;if(e.spanGaps&&(t=t.filter((t=>!t.skip))),"monotone"===e.cubicInterpolationMode)!function(t,e="x"){const n=Le(e),i=t.length,o=Array(i).fill(0),r=Array(i);let s,a,u,l=Te(t,0);for(s=0;swindow.getComputedStyle(t,null),Ue=["top","right","bottom","left"];function Ke(t,e,n){const i={};n=n?"-"+n:"";for(let o=0;o<4;o++){const r=Ue[o];i[r]=parseFloat(t[e+"-"+r+n])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}function Ye(t,e){if("native"in t)return t;const{canvas:n,currentDevicePixelRatio:i}=e,o=We(n),r="border-box"===o.boxSizing,s=Ke(o,"padding"),a=Ke(o,"border","width"),{x:u,y:l,box:c}=function(t,e){const n=t.touches,i=n&&n.length?n[0]:t,{offsetX:o,offsetY:r}=i;let s,a,u=!1;if(((t,e,n)=>(t>0||e>0)&&(!n||!n.shadowRoot))(o,r,t.target))s=o,a=r;else{const t=e.getBoundingClientRect();s=i.clientX-t.left,a=i.clientY-t.top,u=!0}return{x:s,y:a,box:u}}(t,n),h=s.left+(c&&a.left),f=s.top+(c&&a.top);let{width:p,height:_}=e;return r&&(p-=s.width+a.width,_-=s.height+a.height),{x:Math.round((u-h)/p*n.width/i),y:Math.round((l-f)/_*n.height/i)}}const Ge=t=>Math.round(10*t)/10;function Xe(t,e,n){const i=e||1,o=Math.floor(t.height*i),r=Math.floor(t.width*i);t.height=o/i,t.width=r/i;const s=t.canvas;return s.style&&(n||!s.style.height&&!s.style.width)&&(s.style.height=`${t.height}px`,s.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==i||s.height!==o||s.width!==r)&&(t.currentDevicePixelRatio=i,s.height=o,s.width=r,t.ctx.setTransform(i,0,0,i,0,0),!0)}const Je=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(t){}return t}();function Ze(t,e){const n=function(t,e){return We(t).getPropertyValue(e)}(t,e),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}function Qe(t,e,n,i){return{x:t.x+n*(e.x-t.x),y:t.y+n*(e.y-t.y)}}function tn(t,e,n,i){return{x:t.x+n*(e.x-t.x),y:"middle"===i?n<.5?t.y:e.y:"after"===i?n<1?t.y:e.y:n>0?e.y:t.y}}function en(t,e,n,i){const o={x:t.cp2x,y:t.cp2y},r={x:e.cp1x,y:e.cp1y},s=Qe(t,o,n),a=Qe(o,r,n),u=Qe(r,e,n),l=Qe(s,a,n),c=Qe(a,u,n);return Qe(l,c,n)}const nn=new Map;function on(t,e,n){return function(t,e){e=e||{};const n=t+JSON.stringify(e);let i=nn.get(n);return i||(i=new Intl.NumberFormat(t,e),nn.set(n,i)),i}(e,n).format(t)}function rn(t,e,n){return t?function(t,e){return{x:n=>t+t+e-n,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,e)=>t-e,leftForLtr:(t,e)=>t-e}}(e,n):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,e)=>t+e,leftForLtr:(t,e)=>t}}function sn(t,e){let n,i;"ltr"!==e&&"rtl"!==e||(n=t.canvas.style,i=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",e,"important"),t.prevTextDirection=i)}function an(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function un(t){return"angle"===t?{between:Y,compare:U,normalize:K}:{between:X,compare:(t,e)=>t-e,normalize:t=>t}}function ln({start:t,end:e,count:n,loop:i,style:o}){return{start:t%n,end:e%n,loop:i&&(e-t+1)%n==0,style:o}}function cn(t,e,n){if(!n)return[t];const{property:i,start:o,end:r}=n,s=e.length,{compare:a,between:u,normalize:l}=un(i),{start:c,end:h,loop:f,style:p}=function(t,e,n){const{property:i,start:o,end:r}=n,{between:s,normalize:a}=un(i),u=e.length;let l,c,{start:h,end:f,loop:p}=t;if(p){for(h+=u,f+=u,l=0,c=u;li({chart:t,initial:e.initial,numSteps:r,currentStep:Math.min(n-e.start,r)})))}_refresh(){this._request||(this._running=!0,this._request=it.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((n,i)=>{if(!n.running||!n.items.length)return;const o=n.items;let r,s=o.length-1,a=!1;for(;s>=0;--s)r=o[s],r._active?(r._total>n.duration&&(n.duration=r._total),r.tick(t),a=!0):(o[s]=o[o.length-1],o.pop());a&&(i.draw(),this._notify(i,n,t,"progress")),o.length||(n.running=!1,this._notify(i,n,t,"complete"),n.initial=!1),e+=o.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let n=e.get(t);return n||(n={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,n)),n}listen(t,e,n){this._getAnims(t).listeners[e].push(n)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const n=e.items;let i=n.length-1;for(;i>=0;--i)n[i].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}};const dn="transparent",vn={boolean:(t,e,n)=>n>.5?e:t,color(t,e,n){const i=Wt(t||dn),o=i.valid&&Wt(e||dn);return o&&o.valid?o.mix(i,n).hexString():e},number:(t,e,n)=>t+(e-t)*n};class yn{constructor(t,e,n,i){const o=e[n];i=be([t.to,i,o,t.from]);const r=be([t.from,o,i]);this._active=!0,this._fn=t.fn||vn[t.type||typeof r],this._easing=ft[t.easing]||ft.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=n,this._from=r,this._to=i,this._promises=void 0}active(){return this._active}update(t,e,n){if(this._active){this._notify(!1);const i=this._target[this._prop],o=n-this._start,r=this._duration-o;this._start=n,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=be([t.to,e,i,t.from]),this._from=be([t.from,i,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,n=this._duration,i=this._prop,o=this._from,r=this._loop,s=this._to;let a;if(this._active=o!==s&&(r||e1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[i]=this._fn(o,s,a))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,n)=>{t.push({res:e,rej:n})}))}_notify(t){const e=t?"res":"rej",n=this._promises||[];for(let t=0;t"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),Jt.set("animations",{colors:{type:"color",properties:["color","borderColor","backgroundColor"]},numbers:{type:"number",properties:["x","y","borderWidth","radius","tension"]}}),Jt.describe("animations",{_fallback:"animation"}),Jt.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 gn{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!a(t))return;const e=this._properties;Object.getOwnPropertyNames(t).forEach((n=>{const i=t[n];if(!a(i))return;const o={};for(const t of mn)o[t]=i[t];(s(i.properties)&&i.properties||[n]).forEach((t=>{t!==n&&e.has(t)||e.set(t,o)}))}))}_animateOptions(t,e){const n=e.options,i=function(t,e){if(!e)return;let n=t.options;if(n)return n.$shared&&(t.options=n=Object.assign({},n,{$shared:!1,$animations:{}})),n;t.options=e}(t,n);if(!i)return[];const o=this._createAnimations(i,n);return n.$shared&&function(t,e){const n=[],i=Object.keys(e);for(let e=0;e{t.options=n}),(()=>{})),o}_createAnimations(t,e){const n=this._properties,i=[],o=t.$animations||(t.$animations={}),r=Object.keys(e),s=Date.now();let a;for(a=r.length-1;a>=0;--a){const u=r[a];if("$"===u.charAt(0))continue;if("options"===u){i.push(...this._animateOptions(t,e));continue}const l=e[u];let c=o[u];const h=n.get(u);if(c){if(h&&c.active()){c.update(h,l,s);continue}c.cancel()}h&&h.duration?(o[u]=c=new yn(h,t,u,l),i.push(c)):t[u]=l}return i}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const n=this._createAnimations(t,e);return n.length?(_n.add(this._chart,n),!0):void 0}}function bn(t,e){const n=t&&t.options||{},i=n.reverse,o=void 0===n.min?e:0,r=void 0===n.max?e:0;return{start:i?r:o,end:i?o:r}}function wn(t,e){const n=[],i=t._getSortedDatasetMetas(e);let o,r;for(o=0,r=i.length;o0||!n&&e<0)return o.index}return null}function Cn(t,e){const{chart:n,_cachedMeta:i}=t,o=n._stacks||(n._stacks={}),{iScale:r,vScale:s,index:a}=i,u=r.axis,l=s.axis,c=function(t,e,n){return`${t.id}.${e.id}.${n.stack||n.type}`}(r,s,i),h=e.length;let f;for(let t=0;tn[t].axis===e)).shift()}function zn(t,e){const n=t.controller.index,i=t.vScale&&t.vScale.axis;if(i){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[i]||void 0===e[i][n])return;delete e[i][n]}}}const Mn=t=>"reset"===t||"none"===t,On=(t,e)=>e?t:Object.assign({},t);class qn{constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,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=xn(t.vScale,t),this.addElements()}updateIndex(t){this.index!==t&&zn(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,n=this.getDataset(),i=(t,e,n,i)=>"x"===t?e:"r"===t?i:n,o=e.xAxisID=c(n.xAxisID,Sn(t,"x")),r=e.yAxisID=c(n.yAxisID,Sn(t,"y")),s=e.rAxisID=c(n.rAxisID,Sn(t,"r")),a=e.indexAxis,u=e.iAxisID=i(a,o,r,s),l=e.vAxisID=i(a,r,o,s);e.xScale=this.getScaleForId(o),e.yScale=this.getScaleForId(r),e.rScale=this.getScaleForId(s),e.iScale=this.getScaleForId(u),e.vScale=this.getScaleForId(l)}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 e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&et(this._data,this),t._stacked&&zn(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),n=this._data;if(a(e))this._data=function(t){const e=Object.keys(t),n=new Array(e.length);let i,o,r;for(i=0,o=e.length;i{const e="_onData"+x(t),n=i[t];Object.defineProperty(i,t,{configurable:!0,enumerable:!1,value(...t){const o=n.apply(this,t);return i._chartjs.listeners.forEach((n=>{"function"==typeof n[e]&&n[e](...t)})),o}})})))),this._syncList=[],this._data=e}var i}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,n=this.getDataset();let i=!1;this._dataCheck();const o=e._stacked;e._stacked=xn(e.vScale,e),e.stack!==n.stack&&(i=!0,zn(e),e.stack=n.stack),this._resyncElements(t),(i||o!==e._stacked)&&Cn(this,e._parsed)}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),n=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(n,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:n,_data:i}=this,{iScale:o,_stacked:r}=n,u=o.axis;let l,c,h,f=0===t&&e===i.length||n._sorted,p=t>0&&n._parsed[t-1];if(!1===this._parsing)n._parsed=i,n._sorted=!0,h=i;else{h=s(i[t])?this.parseArrayData(n,i,t,e):a(i[t])?this.parseObjectData(n,i,t,e):this.parsePrimitiveData(n,i,t,e);const o=()=>null===c[u]||p&&c[u]t&&!e.hidden&&e._stacked&&{keys:wn(n,!0),values:null})(e,n,this.chart),l={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:c,max:h}=function(t){const{min:e,max:n,minDefined:i,maxDefined:o}=t.getUserBounds();return{min:i?e:Number.NEGATIVE_INFINITY,max:o?n:Number.POSITIVE_INFINITY}}(s);let f,p;function _(){p=i[f];const e=p[s.axis];return!u(p[t.axis])||c>e||h=0;--f)if(!_()){this.updateRangeFromParsed(l,t,p,a);break}return l}getAllParsedValues(t){const e=this._cachedMeta._parsed,n=[];let i,o,r;for(i=0,o=e.length;i=0&&tthis.getContext(n,i)),c);return p.$shared&&(p.$shared=a,o[r]=Object.freeze(On(p,a))),p}_resolveAnimations(t,e,n){const i=this.chart,o=this._cachedDataOpts,r=`animation-${e}`,s=o[r];if(s)return s;let a;if(!1!==i.options.animation){const i=this.chart.config,o=i.datasetAnimationScopeKeys(this._type,e),r=i.getOptionScopes(this.getDataset(),o);a=i.createResolver(r,this.getContext(t,n,e))}const u=new gn(i,a&&a.animations);return a&&a._cacheable&&(o[r]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||Mn(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const n=this.resolveDataElementOptions(t,e),i=this._sharedOptions,o=this.getSharedOptions(n),r=this.includeOptions(e,o)||o!==i;return this.updateSharedOptions(o,e,n),{sharedOptions:o,includeOptions:r}}updateElement(t,e,n,i){Mn(i)?Object.assign(t,n):this._resolveAnimations(e,i).update(t,n)}updateSharedOptions(t,e,n){t&&!Mn(e)&&this._resolveAnimations(void 0,e).update(t,n)}_setStyle(t,e,n,i){t.active=i;const o=this.getStyle(e,i);this._resolveAnimations(e,n,i).update(t,{options:!i&&this.getSharedOptions(o)||o})}removeHoverStyle(t,e,n){this._setStyle(t,n,"active",!1)}setHoverStyle(t,e,n){this._setStyle(t,n,"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 e=this._data,n=this._cachedMeta.data;for(const[t,e,n]of this._syncList)this[t](e,n);this._syncList=[];const i=n.length,o=e.length,r=Math.min(o,i);r&&this.parse(0,r),o>i?this._insertElements(i,o-i,t):o{for(t.length+=e,s=t.length-1;s>=r;s--)t[s]=t[s-e]};for(a(o),s=t;st-e)))}return t._cache.$bar}(e,t.type);let i,o,r,s,a=e._length;const u=()=>{32767!==r&&-32768!==r&&(k(s)&&(a=Math.min(a,Math.abs(r-s)||a)),s=r)};for(i=0,o=n.length;iMath.abs(a)&&(u=a,l=s),e[n.axis]=l,e._custom={barStart:u,barEnd:l,start:o,end:r,min:s,max:a}}(t,e,n,i):e[n.axis]=n.parse(t,i),e}function En(t,e,n,i){const o=t.iScale,r=t.vScale,s=o.getLabels(),a=o===r,u=[];let l,c,h,f;for(l=n,c=n+i;lt.x,n="left",i="right"):(e=t.baset.controller.options.grouped)),o=n.options.stacked,s=[],a=t=>{const n=t.controller.getParsed(e),i=n&&n[t.vScale.axis];if(r(i)||isNaN(i))return!0};for(const n of i)if((void 0===e||!a(n))&&((!1===o||-1===s.indexOf(n.stack)||void 0===o&&void 0===n.stack)&&s.push(n.stack),n.index===t))break;return s.length||s.push(void 0),s}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,n){const i=this._getStacks(t,n),o=void 0!==e?i.indexOf(e):-1;return-1===o?i.length-1:o}_getRuler(){const t=this.options,e=this._cachedMeta,n=e.iScale,i=[];let o,r;for(o=0,r=e.data.length;o=n?1:-1)}(h,e,s)*o,f===s&&(v-=h/2);const t=e.getPixelForDecimal(0),n=e.getPixelForDecimal(1),i=Math.min(t,n),r=Math.max(t,n);v=Math.max(Math.min(v,r),i),c=v+h}if(v===e.getPixelForValue(s)){const t=I(h)*e.getLineWidthForValue(s)/2;v+=t,h-=t}return{size:h,base:v,head:c,center:c+h/2}}_calculateBarIndexPixels(t,e){const n=e.scale,i=this.options,o=i.skipNull,s=c(i.maxBarThickness,1/0);let a,u;if(e.grouped){const n=o?this._getStackCount(t):e.stackCount,l="flex"===i.barThickness?function(t,e,n,i){const o=e.pixels,r=o[t];let s=t>0?o[t-1]:null,a=t=0;--n)e=Math.max(e,t[n].size(this.resolveDataElementOptions(n))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,{xScale:n,yScale:i}=e,o=this.getParsed(t),r=n.getLabelForValue(o.x),s=i.getLabelForValue(o.y),a=o._custom;return{label:e.label,value:"("+r+", "+s+(a?", "+a:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,n,i){const o="reset"===i,{iScale:r,vScale:s}=this._cachedMeta,{sharedOptions:a,includeOptions:u}=this._getSharedOptions(e,i),l=r.axis,c=s.axis;for(let h=e;h""}}}};class Bn extends qn{constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const n=this.getDataset().data,i=this._cachedMeta;if(!1===this._parsing)i._parsed=n;else{let o,r,s=t=>+n[t];if(a(n[t])){const{key:t="value"}=this._parsing;s=e=>+$(n[e],t)}for(o=t,r=t+e;oY(t,a,u,!0)?1:Math.max(e,e*n,i,i*n),_=(t,e,i)=>Y(t,a,u,!0)?-1:Math.min(e,e*n,i,i*n),d=p(0,l,h),v=p(P,c,f),y=_(S,l,h),m=_(S+P,c,f);i=(d-y)/2,o=(v-m)/2,r=-(d+y)/2,s=-(v+m)/2}return{ratioX:i,ratioY:o,offsetX:r,offsetY:s}}(p,f,a),m=(n.width-r)/_,g=(n.height-r)/d,b=Math.max(Math.min(m,g)/2,0),w=h(this.options.radius,b),$=(w-Math.max(w*a,0))/this._getVisibleDatasetWeightTotal();this.offsetX=v*w,this.offsetY=y*w,i.total=this.calculateTotal(),this.outerRadius=w-$*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-$*c,0),this.updateElements(o,0,o.length,t)}_circumference(t,e){const n=this.options,i=this._cachedMeta,o=this._getCircumference();return e&&n.animation.animateRotate||!this.chart.getDataVisibility(t)||null===i._parsed[t]||i.data[t].hidden?0:this.calculateCircumference(i._parsed[t]*o/z)}updateElements(t,e,n,i){const o="reset"===i,r=this.chart,s=r.chartArea,a=r.options.animation,u=(s.left+s.right)/2,l=(s.top+s.bottom)/2,c=o&&a.animateScale,h=c?0:this.innerRadius,f=c?0:this.outerRadius,{sharedOptions:p,includeOptions:_}=this._getSharedOptions(e,i);let d,v=this._getRotation();for(d=0;d0&&!isNaN(t)?z*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,n=this.chart,i=n.data.labels||[],o=on(e._parsed[t],n.options.locale);return{label:i[t]||"",value:o}}getMaxBorderWidth(t){let e=0;const n=this.chart;let i,o,r,s,a;if(!t)for(i=0,o=n.data.datasets.length;i"spacing"!==t,_indexable:t=>"spacing"!==t},Bn.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:n}}=t.legend.options;return e.labels.map(((e,i)=>{const o=t.getDatasetMeta(0).controller.getStyle(i);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,lineWidth:o.borderWidth,pointStyle:n,hidden:!t.getDataVisibility(i),index:i}}))}return[]}},onClick(t,e,n){n.chart.toggleDataVisibility(e.index),n.chart.update()}},tooltip:{callbacks:{title:()=>"",label(t){let e=t.label;const n=": "+t.formattedValue;return s(e)?(e=e.slice(),e[0]+=n):e+=n,e}}}}};class Hn extends qn{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:n,data:i=[],_dataset:o}=e,r=this.chart._animationsDisabled;let{start:s,count:a}=at(e,i,r);this._drawStart=s,this._drawCount=a,ut(e)&&(s=0,a=i.length),n._chart=this.chart,n._datasetIndex=this.index,n._decimated=!!o._decimated,n.points=i;const u=this.resolveDatasetElementOptions(t);this.options.showLine||(u.borderWidth=0),u.segment=this.options.segment,this.updateElement(n,void 0,{animated:!r,options:u},t),this.updateElements(i,s,a,t)}updateElements(t,e,n,i){const o="reset"===i,{iScale:s,vScale:a,_stacked:u,_dataset:l}=this._cachedMeta,{sharedOptions:c,includeOptions:h}=this._getSharedOptions(e,i),f=s.axis,p=a.axis,{spanGaps:_,segment:d}=this.options,v=L(_)?_:Number.POSITIVE_INFINITY,y=this.chart._animationsDisabled||o||"none"===i;let m=e>0&&this.getParsed(e-1);for(let _=e;_0&&Math.abs(n[f]-m[f])>v,d&&(g.parsed=n,g.raw=l.data[_]),h&&(g.options=c||this.resolveDataElementOptions(_,e.active?"active":i)),y||this.updateElement(e,_,g,i),m=n}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,n=e.options&&e.options.borderWidth||0,i=t.data||[];if(!i.length)return n;const o=i[0].size(this.resolveDataElementOptions(0)),r=i[i.length-1].size(this.resolveDataElementOptions(i.length-1));return Math.max(n,o,r)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}Hn.id="line",Hn.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1},Hn.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};class Vn extends qn{constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,n=this.chart,i=n.data.labels||[],o=on(e._parsed[t].r,n.options.locale);return{label:i[t]||"",value:o}}parseObjectData(t,e,n,i){return De.bind(this)(t,e,n,i)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach(((t,n)=>{const i=this.getParsed(n).r;!isNaN(i)&&this.chart.getDataVisibility(n)&&(ie.max&&(e.max=i))})),e}_updateRadius(){const t=this.chart,e=t.chartArea,n=t.options,i=Math.min(e.right-e.left,e.bottom-e.top),o=Math.max(i/2,0),r=(o-Math.max(n.cutoutPercentage?o/100*n.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=o-r*this.index,this.innerRadius=this.outerRadius-r}updateElements(t,e,n,i){const o="reset"===i,r=this.chart,s=r.options.animation,a=this._cachedMeta.rScale,u=a.xCenter,l=a.yCenter,c=a.getIndexAngle(0)-.5*S;let h,f=c;const p=360/this.countVisibleElements();for(h=0;h{!isNaN(this.getParsed(n).r)&&this.chart.getDataVisibility(n)&&e++})),e}_computeAngle(t,e,n){return this.chart.getDataVisibility(t)?F(this.resolveDataElementOptions(t,e).angle||n):0}}Vn.id="polarArea",Vn.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0},Vn.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:n}}=t.legend.options;return e.labels.map(((e,i)=>{const o=t.getDatasetMeta(0).controller.getStyle(i);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,lineWidth:o.borderWidth,pointStyle:n,hidden:!t.getDataVisibility(i),index:i}}))}return[]}},onClick(t,e,n){n.chart.toggleDataVisibility(e.index),n.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 Wn extends Bn{}Wn.id="pie",Wn.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"};class Un extends qn{getLabelAndValue(t){const e=this._cachedMeta.vScale,n=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(n[e.axis])}}parseObjectData(t,e,n,i){return De.bind(this)(t,e,n,i)}update(t){const e=this._cachedMeta,n=e.dataset,i=e.data||[],o=e.iScale.getLabels();if(n.points=i,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const r={_loop:!0,_fullLoop:o.length===i.length,options:e};this.updateElement(n,void 0,r,t)}this.updateElements(i,0,i.length,t)}updateElements(t,e,n,i){const o=this._cachedMeta.rScale,r="reset"===i;for(let s=e;s{i[t]=n[t]&&n[t].active()?n[t]._to:this[t]})),i}}Kn.defaults={},Kn.defaultRoutes=void 0;const Yn={values:t=>s(t)?t:""+t,numeric(t,e,n){if(0===t)return"0";const i=this.chart.options.locale;let o,r=t;if(n.length>1){const e=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(e<1e-4||e>1e15)&&(o="scientific"),r=function(t,e){let n=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;return Math.abs(n)>=1&&t!==Math.floor(t)&&(n=t-Math.floor(t)),n}(t,n)}const s=D(Math.abs(r)),a=Math.max(Math.min(-1*Math.floor(s),20),0),u={notation:o,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(u,this.options.ticks.format),on(t,i,u)},logarithmic(t,e,n){if(0===t)return"0";const i=t/Math.pow(10,Math.floor(D(t)));return 1===i||2===i||5===i?Yn.numeric.call(this,t,e,n):""}};var Gn={formatters:Yn};function Xn(t,e,n,i,o){const r=c(i,0),s=Math.min(c(o,t.length),t.length);let a,u,l,h=0;for(n=Math.ceil(n),o&&(a=o-i,n=a/Math.floor(a/n)),l=r;l<0;)h++,l=Math.round(r+h*n);for(u=Math.max(r,0);ue.lineWidth,tickColor:(t,e)=>e.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:Gn.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),Jt.route("scale.ticks","color","","color"),Jt.route("scale.grid","color","","borderColor"),Jt.route("scale.grid","borderColor","","borderColor"),Jt.route("scale.title","color","","color"),Jt.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t}),Jt.describe("scales",{_fallback:"scale"}),Jt.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t});const Jn=(t,e,n)=>"top"===e||"left"===e?t[e]+n:t[e]-n;function Zn(t,e){const n=[],i=t.length/e,o=t.length;let r=0;for(;rs+a)))return l}function ti(t){return t.drawTicks?t.tickLength:0}function ei(t,e){if(!t.display)return 0;const n=ge(t.font,e),i=me(t.padding);return(s(t.text)?t.text.length:1)*n.lineHeight+i.height}function ni(t,e,n){let i=rt(t);return(n&&"right"!==e||!n&&"right"===e)&&(i=(t=>"left"===t?"right":"right"===t?"left":t)(i)),i}class ii extends Kn{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,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:n,_suggestedMax:i}=this;return t=l(t,Number.POSITIVE_INFINITY),e=l(e,Number.NEGATIVE_INFINITY),n=l(n,Number.POSITIVE_INFINITY),i=l(i,Number.NEGATIVE_INFINITY),{min:l(t,n),max:l(e,i),minDefined:u(t),maxDefined:u(e)}}getMinMax(t){let e,{min:n,max:i,minDefined:o,maxDefined:r}=this.getUserBounds();if(o&&r)return{min:n,max:i};const s=this.getMatchingVisibleMetas();for(let a=0,u=s.length;ai?i:n,i=o&&n>i?n:i,{min:l(n,l(i,n)),max:l(i,l(n,i))}}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(){f(this.options.beforeUpdate,[this])}update(t,e,n){const{beginAtZero:i,grace:o,ticks:s}=this.options,a=s.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=n=Object.assign({left:0,right:0,top:0,bottom:0},n),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+n.left+n.right:this.height+n.top+n.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=function(t,e,n){const{min:i,max:o}=t,r=h(e,(o-i)/2),s=(t,e)=>n&&0===t?0:t+e;return{min:s(i,-Math.abs(r)),max:s(o,r)}}(this,o,i),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const u=ai)return function(t,e,n,i){let o,r=0,s=n[0];for(i=Math.ceil(i),o=0;ot-e)).pop(),e}(i);for(let t=0,e=r.length-1;to)return e}return Math.max(o,1)}(o,e,i);if(s>0){let t,n;const i=s>1?Math.round((u-a)/(s-1)):null;for(Xn(e,l,c,r(i)?0:a-i,a),t=0,n=s-1;t=o||n<=1||!this.isHorizontal())return void(this.labelRotation=i);const l=this._getLabelSizes(),c=l.widest.width,h=l.highest.height,f=G(this.chart.width-c,0,this.maxWidth);r=t.offset?this.maxWidth/n:f/(n-1),c+6>r&&(r=f/(n-(t.offset?.5:1)),s=this.maxHeight-ti(t.grid)-e.padding-ei(t.title,this.chart.options.font),a=Math.sqrt(c*c+h*h),u=B(Math.min(Math.asin(G((l.highest.height+6)/r,-1,1)),Math.asin(G(s/a,-1,1))-Math.asin(G(h/a,-1,1)))),u=Math.max(i,Math.min(o,u))),this.labelRotation=u}afterCalculateLabelRotation(){f(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){f(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:n,title:i,grid:o}}=this,r=this._isVisible(),s=this.isHorizontal();if(r){const r=ei(i,e.options.font);if(s?(t.width=this.maxWidth,t.height=ti(o)+r):(t.height=this.maxHeight,t.width=ti(o)+r),n.display&&this.ticks.length){const{first:e,last:i,widest:o,highest:r}=this._getLabelSizes(),a=2*n.padding,u=F(this.labelRotation),l=Math.cos(u),c=Math.sin(u);if(s){const e=n.mirror?0:c*o.width+l*r.height;t.height=Math.min(this.maxHeight,t.height+e+a)}else{const e=n.mirror?0:l*o.width+c*r.height;t.width=Math.min(this.maxWidth,t.width+e+a)}this._calculatePadding(e,i,c,l)}}this._handleMargins(),s?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,n,i){const{ticks:{align:o,padding:r},position:s}=this.options,a=0!==this.labelRotation,u="top"!==s&&"x"===this.axis;if(this.isHorizontal()){const s=this.getPixelForTick(0)-this.left,l=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,h=0;a?u?(c=i*t.width,h=n*e.height):(c=n*t.height,h=i*e.width):"start"===o?h=e.width:"end"===o?c=t.width:"inner"!==o&&(c=t.width/2,h=e.width/2),this.paddingLeft=Math.max((c-s+r)*this.width/(this.width-s),0),this.paddingRight=Math.max((h-l+r)*this.width/(this.width-l),0)}else{let n=e.height/2,i=t.height/2;"start"===o?(n=0,i=t.height):"end"===o&&(n=e.height,i=0),this.paddingTop=n+r,this.paddingBottom=i+r}}_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(){f(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,n;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,n=t.length;e{const n=t.gc,i=n.length/2;let o;if(i>e){for(o=0;o({width:o[t]||0,height:a[t]||0});return{first:k(0),last:k(e-1),widest:k($),highest:k(x),widths:o,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return G(this._alignToPixels?te(this.chart,e,0):e,-32768,32767)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&ts*i?s/n:a/i:a*i0}_computeGridLineItems(t){const e=this.axis,n=this.chart,i=this.options,{grid:o,position:r}=i,s=o.offset,u=this.isHorizontal(),l=this.ticks.length+(s?1:0),h=ti(o),f=[],p=o.setContext(this.getContext()),_=p.drawBorder?p.borderWidth:0,d=_/2,v=function(t){return te(n,t,_)};let y,m,g,b,w,$,x,k,j,C,S,z;if("top"===r)y=v(this.bottom),$=this.bottom-h,k=y-d,C=v(t.top)+d,z=t.bottom;else if("bottom"===r)y=v(this.top),C=t.top,z=v(t.bottom)-d,$=y+d,k=this.top+h;else if("left"===r)y=v(this.right),w=this.right-h,x=y-d,j=v(t.left)+d,S=t.right;else if("right"===r)y=v(this.left),j=t.left,S=v(t.right)-d,w=y+d,x=this.left+h;else if("x"===e){if("center"===r)y=v((t.top+t.bottom)/2+.5);else if(a(r)){const t=Object.keys(r)[0],e=r[t];y=v(this.chart.scales[t].getPixelForValue(e))}C=t.top,z=t.bottom,$=y+d,k=$+h}else if("y"===e){if("center"===r)y=v((t.left+t.right)/2);else if(a(r)){const t=Object.keys(r)[0],e=r[t];y=v(this.chart.scales[t].getPixelForValue(e))}w=y-d,x=w-h,j=t.left,S=t.right}const M=c(i.ticks.maxTicksLimit,l),O=Math.max(1,Math.ceil(l/M));for(m=0;me.value===t));return n>=0?e.setContext(this.getContext(n)).lineWidth:0}drawGrid(t){const e=this.options.grid,n=this.ctx,i=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,r;const s=(t,e,i)=>{i.width&&i.color&&(n.save(),n.lineWidth=i.width,n.strokeStyle=i.color,n.setLineDash(i.borderDash||[]),n.lineDashOffset=i.borderDashOffset,n.beginPath(),n.moveTo(t.x,t.y),n.lineTo(e.x,e.y),n.stroke(),n.restore())};if(e.display)for(o=0,r=i.length;o{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:n+1,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),n=this.axis+"AxisID",i=[];let o,r;for(o=0,r=e.length;o{const i=n.split("."),o=i.pop(),r=[t].concat(i).join("."),s=e[n].split("."),a=s.pop(),u=s.join(".");Jt.route(r,o,u,a)}))}(e,t.defaultRoutes),t.descriptors&&Jt.describe(e,t.descriptors)}(t,r,n),this.override&&Jt.override(t.id,t.overrides)),r}get(t){return this.items[t]}unregister(t){const e=this.items,n=t.id,i=this.scope;n in e&&delete e[n],i&&n in Jt[i]&&(delete Jt[i][n],this.override&&delete Kt[n])}}var ri=new class{constructor(){this.controllers=new oi(qn,"datasets",!0),this.elements=new oi(Kn,"elements"),this.plugins=new oi(Object,"plugins"),this.scales=new oi(ii,"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,e,n){[...e].forEach((e=>{const i=n||this._getRegistryForType(e);n||i.isForType(e)||i===this.plugins&&e.id?this._exec(t,i,e):p(e,(e=>{const i=n||this._getRegistryForType(e);this._exec(t,i,e)}))}))}_exec(t,e,n){const i=x(t);f(n["before"+i],[],n),e[t](n),f(n["after"+i],[],n)}_getRegistryForType(t){for(let e=0;e0&&this.getParsed(e-1);for(let c=e;c0&&Math.abs(n[p]-g[p])>y,v&&(d.parsed=n,d.raw=l.data[c]),f&&(d.options=h||this.resolveDataElementOptions(c,e.active?"active":i)),m||this.updateElement(e,c,d,i),g=n}this.updateSharedOptions(h,i,c)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let t=0;for(let n=e.length-1;n>=0;--n)t=Math.max(t,e[n].size(this.resolveDataElementOptions(n))/2);return t>0&&t}const n=t.dataset,i=n.options&&n.options.borderWidth||0;if(!e.length)return i;const o=e[0].size(this.resolveDataElementOptions(0)),r=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(i,o,r)/2}}si.id="scatter",si.defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1},si.overrides={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{title:()=>"",label:t=>"("+t.label+", "+t.formattedValue+")"}}},scales:{x:{type:"linear"},y:{type:"linear"}}};var ai=Object.freeze({__proto__:null,BarController:Nn,BubbleController:Fn,DoughnutController:Bn,LineController:Hn,PolarAreaController:Vn,PieController:Wn,RadarController:Un,ScatterController:si});function ui(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class li{constructor(t){this.options=t||{}}init(t){}formats(){return ui()}parse(t,e){return ui()}format(t,e){return ui()}add(t,e,n){return ui()}diff(t,e,n){return ui()}startOf(t,e,n){return ui()}endOf(t,e){return ui()}}li.override=function(t){Object.assign(li.prototype,t)};var ci={_date:li};function hi(t,e,n,i){const{controller:o,data:r,_sorted:s}=t,a=o._cachedMeta.iScale;if(a&&e===a.axis&&"r"!==e&&s&&r.length){const t=a._reversePixels?Q:Z;if(!i)return t(r,e,n);if(o._sharedOptions){const i=r[0],o="function"==typeof i.getRange&&i.getRange(e);if(o){const i=t(r,e,n-o),s=t(r,e,n+o);return{lo:i.lo,hi:s.hi}}}}return{lo:0,hi:r.length-1}}function fi(t,e,n,i,o){const r=t.getSortedVisibleDatasetMetas(),s=n[e];for(let t=0,n=r.length;t{t[s](e[n],o)&&(r.push({element:t,datasetIndex:i,index:u}),a=a||t.inRange(e.x,e.y,o))})),i&&!a?[]:r}var vi={evaluateInteractionItems:fi,modes:{index(t,e,n,i){const o=Ye(e,t),r=n.axis||"x",s=n.includeInvisible||!1,a=n.intersect?pi(t,o,r,i,s):_i(t,o,r,!1,i,s),u=[];return a.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=a[0].index,n=t.data[e];n&&!n.skip&&u.push({element:n,datasetIndex:t.index,index:e})})),u):[]},dataset(t,e,n,i){const o=Ye(e,t),r=n.axis||"xy",s=n.includeInvisible||!1;let a=n.intersect?pi(t,o,r,i,s):_i(t,o,r,!1,i,s);if(a.length>0){const e=a[0].datasetIndex,n=t.getDatasetMeta(e).data;a=[];for(let t=0;tpi(t,Ye(e,t),n.axis||"xy",i,n.includeInvisible||!1),nearest(t,e,n,i){const o=Ye(e,t),r=n.axis||"xy",s=n.includeInvisible||!1;return _i(t,o,r,n.intersect,i,s)},x:(t,e,n,i)=>di(t,Ye(e,t),"x",n.intersect,i),y:(t,e,n,i)=>di(t,Ye(e,t),"y",n.intersect,i)}};const yi=["left","top","right","bottom"];function mi(t,e){return t.filter((t=>t.pos===e))}function gi(t,e){return t.filter((t=>-1===yi.indexOf(t.pos)&&t.box.axis===e))}function bi(t,e){return t.sort(((t,n)=>{const i=e?n:t,o=e?t:n;return i.weight===o.weight?i.index-o.index:i.weight-o.weight}))}function wi(t,e,n,i){return Math.max(t[n],e[n])+Math.max(t[i],e[i])}function $i(t,e){t.top=Math.max(t.top,e.top),t.left=Math.max(t.left,e.left),t.bottom=Math.max(t.bottom,e.bottom),t.right=Math.max(t.right,e.right)}function xi(t,e,n,i){const{pos:o,box:r}=n,s=t.maxPadding;if(!a(o)){n.size&&(t[o]-=n.size);const e=i[n.stack]||{size:0,count:1};e.size=Math.max(e.size,n.horizontal?r.height:r.width),n.size=e.size/e.count,t[o]+=n.size}r.getPadding&&$i(s,r.getPadding());const u=Math.max(0,e.outerWidth-wi(s,t,"left","right")),l=Math.max(0,e.outerHeight-wi(s,t,"top","bottom")),c=u!==t.w,h=l!==t.h;return t.w=u,t.h=l,n.horizontal?{same:c,other:h}:{same:h,other:c}}function ki(t,e){const n=e.maxPadding;return function(t){const i={left:0,top:0,right:0,bottom:0};return t.forEach((t=>{i[t]=Math.max(e[t],n[t])})),i}(t?["left","right"]:["top","bottom"])}function ji(t,e,n,i){const o=[];let r,s,a,u,l,c;for(r=0,s=t.length,l=0;rt.box.fullSize)),!0),i=bi(mi(e,"left"),!0),o=bi(mi(e,"right")),r=bi(mi(e,"top"),!0),s=bi(mi(e,"bottom")),a=gi(e,"x"),u=gi(e,"y");return{fullSize:n,leftAndTop:i.concat(r),rightAndBottom:o.concat(u).concat(s).concat(a),chartArea:mi(e,"chartArea"),vertical:i.concat(o).concat(u),horizontal:r.concat(s).concat(a)}}(t.boxes),u=a.vertical,l=a.horizontal;p(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const c=u.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,h=Object.freeze({outerWidth:e,outerHeight:n,padding:o,availableWidth:r,availableHeight:s,vBoxMaxWidth:r/2/c,hBoxMaxHeight:s/2}),f=Object.assign({},o);$i(f,me(i));const _=Object.assign({maxPadding:f,w:r,h:s,x:o.left,y:o.top},o),d=function(t,e){const n=function(t){const e={};for(const n of t){const{stack:t,pos:i,stackWeight:o}=n;if(!t||!yi.includes(i))continue;const r=e[t]||(e[t]={count:0,placed:0,weight:0,size:0});r.count++,r.weight+=o}return e}(t),{vBoxMaxWidth:i,hBoxMaxHeight:o}=e;let r,s,a;for(r=0,s=t.length;r{const n=e.box;Object.assign(n,t.chartArea),n.update(_.w,_.h,{left:0,top:0,right:0,bottom:0})}))}};class Mi{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,n){}removeEventListener(t,e,n){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,n,i){return e=Math.max(0,e||t.width),n=n||t.height,{width:e,height:Math.max(0,i?Math.floor(e/i):n)}}isAttached(t){return!0}updateConfig(t){}}class Oi extends Mi{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const qi={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Pi=t=>null===t||""===t,Ai=!!Je&&{passive:!0};function Ei(t,e,n){t.canvas.removeEventListener(e,n,Ai)}function Di(t,e){for(const n of t)if(n===e||n.contains(e))return!0}function Ii(t,e,n){const i=t.canvas,o=new MutationObserver((t=>{let e=!1;for(const n of t)e=e||Di(n.addedNodes,i),e=e&&!Di(n.removedNodes,i);e&&n()}));return o.observe(document,{childList:!0,subtree:!0}),o}function Ti(t,e,n){const i=t.canvas,o=new MutationObserver((t=>{let e=!1;for(const n of t)e=e||Di(n.removedNodes,i),e=e&&!Di(n.addedNodes,i);e&&n()}));return o.observe(document,{childList:!0,subtree:!0}),o}const Li=new Map;let Ri=0;function Ni(){const t=window.devicePixelRatio;t!==Ri&&(Ri=t,Li.forEach(((e,n)=>{n.currentDevicePixelRatio!==t&&e()})))}function Fi(t,e,n){const i=t.canvas,o=i&&He(i);if(!o)return;const r=ot(((t,e)=>{const i=o.clientWidth;n(t,e),i{const e=t[0],n=e.contentRect.width,i=e.contentRect.height;0===n&&0===i||r(n,i)}));return s.observe(o),function(t,e){Li.size||window.addEventListener("resize",Ni),Li.set(t,e)}(t,r),s}function Bi(t,e,n){n&&n.disconnect(),"resize"===e&&function(t){Li.delete(t),Li.size||window.removeEventListener("resize",Ni)}(t)}function Hi(t,e,n){const i=t.canvas,o=ot((e=>{null!==t.ctx&&n(function(t,e){const n=qi[t.type]||t.type,{x:i,y:o}=Ye(t,e);return{type:n,chart:e,native:t,x:void 0!==i?i:null,y:void 0!==o?o:null}}(e,t))}),t,(t=>{const e=t[0];return[e,e.offsetX,e.offsetY]}));return function(t,e,n){t.addEventListener(e,n,Ai)}(i,e,o),o}class Vi extends Mi{acquireContext(t,e){const n=t&&t.getContext&&t.getContext("2d");return n&&n.canvas===t?(function(t,e){const n=t.style,i=t.getAttribute("height"),o=t.getAttribute("width");if(t.$chartjs={initial:{height:i,width:o,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",Pi(o)){const e=Ze(t,"width");void 0!==e&&(t.width=e)}if(Pi(i))if(""===t.style.height)t.height=t.width/(e||2);else{const e=Ze(t,"height");void 0!==e&&(t.height=e)}}(t,e),n):null}releaseContext(t){const e=t.canvas;if(!e.$chartjs)return!1;const n=e.$chartjs.initial;["height","width"].forEach((t=>{const i=n[t];r(i)?e.removeAttribute(t):e.setAttribute(t,i)}));const i=n.style||{};return Object.keys(i).forEach((t=>{e.style[t]=i[t]})),e.width=e.width,delete e.$chartjs,!0}addEventListener(t,e,n){this.removeEventListener(t,e);const i=t.$proxies||(t.$proxies={}),o={attach:Ii,detach:Ti,resize:Fi}[e]||Hi;i[e]=o(t,e,n)}removeEventListener(t,e){const n=t.$proxies||(t.$proxies={}),i=n[e];i&&(({attach:Bi,detach:Bi,resize:Bi}[e]||Ei)(t,e,i),n[e]=void 0)}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,n,i){return function(t,e,n,i){const o=We(t),r=Ke(o,"margin"),s=Ve(o.maxWidth,t,"clientWidth")||O,a=Ve(o.maxHeight,t,"clientHeight")||O,u=function(t,e,n){let i,o;if(void 0===e||void 0===n){const r=He(t);if(r){const t=r.getBoundingClientRect(),s=We(r),a=Ke(s,"border","width"),u=Ke(s,"padding");e=t.width-u.width-a.width,n=t.height-u.height-a.height,i=Ve(s.maxWidth,r,"clientWidth"),o=Ve(s.maxHeight,r,"clientHeight")}else e=t.clientWidth,n=t.clientHeight}return{width:e,height:n,maxWidth:i||O,maxHeight:o||O}}(t,e,n);let{width:l,height:c}=u;if("content-box"===o.boxSizing){const t=Ke(o,"border","width"),e=Ke(o,"padding");l-=e.width+t.width,c-=e.height+t.height}return l=Math.max(0,l-r.width),c=Math.max(0,i?Math.floor(l/i):c-r.height),l=Ge(Math.min(l,s,u.maxWidth)),c=Ge(Math.min(c,a,u.maxHeight)),l&&!c&&(c=Ge(l/2)),{width:l,height:c}}(t,e,n,i)}isAttached(t){const e=He(t);return!(!e||!e.isConnected)}}function Wi(t){return!Be()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?Oi:Vi}class Ui{constructor(){this._init=[]}notify(t,e,n,i){"beforeInit"===e&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const o=i?this._descriptors(t).filter(i):this._descriptors(t),r=this._notify(o,t,e,n);return"afterDestroy"===e&&(this._notify(o,t,"stop"),this._notify(this._init,t,"uninstall")),r}_notify(t,e,n,i){i=i||{};for(const o of t){const t=o.plugin;if(!1===f(t[n],[e,i,o.options],t)&&i.cancelable)return!1}return!0}invalidate(){r(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const e=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),e}_createDescriptors(t,e){const n=t&&t.config,i=c(n.options&&n.options.plugins,{}),o=function(t){const e={},n=[],i=Object.keys(ri.plugins.items);for(let t=0;tt.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(i(e,n),t,"stop"),this._notify(i(n,e),t,"start")}}function Ki(t,e){return e||!1!==t?!0===t?{}:t:null}function Yi(t,{plugin:e,local:n},i,o){const r=t.pluginScopeKeys(e),s=t.getOptionScopes(i,r);return n&&e.defaults&&s.push(e.defaults),t.createResolver(s,o,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function Gi(t,e){const n=Jt.datasets[t]||{};return((e.datasets||{})[t]||{}).indexAxis||e.indexAxis||n.indexAxis||"x"}function Xi(t,e){return"x"===t||"y"===t?t:e.axis||("top"===(n=e.position)||"bottom"===n?"x":"left"===n||"right"===n?"y":void 0)||t.charAt(0).toLowerCase();var n}function Ji(t){const e=t.options||(t.options={});e.plugins=c(e.plugins,{}),e.scales=function(t,e){const n=Kt[t.type]||{scales:{}},i=e.scales||{},o=Gi(t.type,e),r=Object.create(null),s=Object.create(null);return Object.keys(i).forEach((t=>{const e=i[t];if(!a(e))return console.error(`Invalid scale configuration for scale: ${t}`);if(e._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);const u=Xi(t,e),l=function(t,e){return t===e?"_index_":"_value_"}(u,o),c=n.scales||{};r[u]=r[u]||t,s[t]=g(Object.create(null),[{axis:u},e,c[u],c[l]])})),t.data.datasets.forEach((n=>{const o=n.type||t.type,a=n.indexAxis||Gi(o,e),u=(Kt[o]||{}).scales||{};Object.keys(u).forEach((t=>{const e=function(t,e){let n=t;return"_index_"===t?n=e:"_value_"===t&&(n="x"===e?"y":"x"),n}(t,a),o=n[e+"AxisID"]||r[e]||e;s[o]=s[o]||Object.create(null),g(s[o],[{axis:e},i[o],u[t]])}))})),Object.keys(s).forEach((t=>{const e=s[t];g(e,[Jt.scales[e.type],Jt.scale])})),s}(t,e)}function Zi(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const Qi=new Map,to=new Set;function eo(t,e){let n=Qi.get(t);return n||(n=e(),Qi.set(t,n),to.add(n)),n}const no=(t,e,n)=>{const i=$(e,n);void 0!==i&&t.add(i)};class io{constructor(t){this._config=function(t){return(t=t||{}).data=Zi(t.data),Ji(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=Zi(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(),Ji(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return eo(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return eo(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return eo(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id;return eo(`${this.type}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const n=this._scopeCache;let i=n.get(t);return i&&!e||(i=new Map,n.set(t,i)),i}getOptionScopes(t,e,n){const{options:i,type:o}=this,r=this._cachedScopes(t,n),s=r.get(e);if(s)return s;const a=new Set;e.forEach((e=>{t&&(a.add(t),e.forEach((e=>no(a,t,e)))),e.forEach((t=>no(a,i,t))),e.forEach((t=>no(a,Kt[o]||{},t))),e.forEach((t=>no(a,Jt,t))),e.forEach((t=>no(a,Yt,t)))}));const u=Array.from(a);return 0===u.length&&u.push(Object.create(null)),to.has(e)&&r.set(e,u),u}chartOptionScopes(){const{options:t,type:e}=this;return[t,Kt[e]||{},Jt.datasets[e]||{},{type:e},Jt,Yt]}resolveNamedOptions(t,e,n,i=[""]){const o={$shared:!0},{resolver:r,subPrefixes:a}=oo(this._resolverCache,t,i);let u=r;(function(t,e){const{isScriptable:n,isIndexable:i}=ke(t);for(const o of e){const e=n(o),r=i(o),a=(r||e)&&t[o];if(e&&(j(a)||ro(a))||r&&s(a))return!0}return!1})(r,e)&&(o.$shared=!1,u=xe(r,n=j(n)?n():n,this.createResolver(t,n,a)));for(const t of e)o[t]=u[t];return o}createResolver(t,e,n=[""],i){const{resolver:o}=oo(this._resolverCache,t,n);return a(e)?xe(o,e,void 0,i):o}}function oo(t,e,n){let i=t.get(e);i||(i=new Map,t.set(e,i));const o=n.join();let r=i.get(o);return r||(r={resolver:$e(e,n),subPrefixes:n.filter((t=>!t.toLowerCase().includes("hover")))},i.set(o,r)),r}const ro=t=>a(t)&&Object.getOwnPropertyNames(t).reduce(((e,n)=>e||j(t[n])),!1),so=["top","bottom","left","right","chartArea"];function ao(t,e){return"top"===t||"bottom"===t||-1===so.indexOf(t)&&"x"===e}function uo(t,e){return function(n,i){return n[t]===i[t]?n[e]-i[e]:n[t]-i[t]}}function lo(t){const e=t.chart,n=e.options.animation;e.notifyPlugins("afterRender"),f(n&&n.onComplete,[t],e)}function co(t){const e=t.chart,n=e.options.animation;f(n&&n.onProgress,[t],e)}function ho(t){return Be()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const fo={},po=t=>{const e=ho(t);return Object.values(fo).filter((t=>t.canvas===e)).pop()};function _o(t,e,n){const i=Object.keys(t);for(const o of i){const i=+o;if(i>=e){const r=t[o];delete t[o],(n>0||i>e)&&(t[i+n]=r)}}}class vo{constructor(t,e){const n=this.config=new io(e),i=ho(t),r=po(i);if(r)throw new Error("Canvas is already in use. Chart with ID '"+r.id+"' must be destroyed before the canvas with ID '"+r.canvas.id+"' can be reused.");const s=n.createResolver(n.chartOptionScopes(),this.getContext());this.platform=new(n.platform||Wi(i)),this.platform.updateConfig(n);const a=this.platform.acquireContext(i,s.aspectRatio),u=a&&a.canvas,l=u&&u.height,c=u&&u.width;this.id=o(),this.ctx=a,this.canvas=u,this.width=c,this.height=l,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 Ui,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=function(t,e){let n;return function(...i){return e?(clearTimeout(n),n=setTimeout(t,e,i)):t.apply(this,i),e}}((t=>this.update(t)),s.resizeDelay||0),this._dataChanges=[],fo[this.id]=this,a&&u?(_n.listen(this,"complete",lo),_n.listen(this,"progress",co),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:e},width:n,height:i,_aspectRatio:o}=this;return r(t)?e&&o?o:i?n/i: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():Xe(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return ee(this.canvas,this.ctx),this}stop(){return _n.stop(this),this}resize(t,e){_n.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const n=this.options,i=this.canvas,o=n.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(i,t,e,o),s=n.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,Xe(this,s,!0)&&(this.notifyPlugins("resize",{size:r}),f(n.onResize,[this,r],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){p(this.options.scales||{},((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,n=this.scales,i=Object.keys(n).reduce(((t,e)=>(t[e]=!1,t)),{});let o=[];e&&(o=o.concat(Object.keys(e).map((t=>{const n=e[t],i=Xi(t,n),o="r"===i,r="x"===i;return{options:n,dposition:o?"chartArea":r?"bottom":"left",dtype:o?"radialLinear":r?"category":"linear"}})))),p(o,(e=>{const o=e.options,r=o.id,s=Xi(r,o),a=c(o.type,e.dtype);void 0!==o.position&&ao(o.position,s)===ao(e.dposition)||(o.position=e.dposition),i[r]=!0;let u=null;r in n&&n[r].type===a?u=n[r]:(u=new(ri.getScale(a))({id:r,type:a,ctx:this.ctx,chart:this}),n[u.id]=u),u.init(o,t)})),p(i,((t,e)=>{t||delete n[e]})),p(n,(t=>{zi.configure(this,t,t.options),zi.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,n=t.length;if(t.sort(((t,e)=>t.index-e.index)),n>e){for(let t=e;te.length&&delete this._stacks,t.forEach(((t,n)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(n)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let n,i;for(this._removeUnreferencedMetasets(),n=0,i=e.length;n{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const n=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),i=this._animationsDisabled=!n.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let t=0,e=this.data.datasets.length;t{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(uo("z","_idx"));const{_active:s,_lastEvent:a}=this;a?this._eventHandler(a,!0):s.length&&this._updateHoverStyles(s,s,!0),this.render()}_updateScales(){p(this.scales,(t=>{zi.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),n=new Set(t.events);C(e,n)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:n,start:i,count:o}of e)_o(t,i,"_removeElements"===n?-o:o)}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,n=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),i=n(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;zi.update(this,this.width,this.height,t);const e=this.chartArea,n=e.width<=0||e.height<=0;this._layers=[],p(this.boxes,(t=>{n&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,n=t._clip,i=!n.disabled,o=this.chartArea,r={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",r)&&(i&&re(e,{left:!1===n.left?0:o.left-n.left,right:!1===n.right?this.width:o.right+n.right,top:!1===n.top?0:o.top-n.top,bottom:!1===n.bottom?this.height:o.bottom+n.bottom}),t.controller.draw(),i&&se(e),r.cancelable=!1,this.notifyPlugins("afterDatasetDraw",r))}isPointInArea(t){return oe(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,n,i){const o=vi.modes[e];return"function"==typeof o?o(this,t,n,i):[]}getDatasetMeta(t){const e=this.data.datasets[t],n=this._metasets;let i=n.filter((t=>t&&t._dataset===e)).pop();return i||(i={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},n.push(i)),i}getContext(){return this.$context||(this.$context=we(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const n=this.getDatasetMeta(t);return"boolean"==typeof n.hidden?!n.hidden:!e.hidden}setDatasetVisibility(t,e){this.getDatasetMeta(t).hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,n){const i=n?"show":"hide",o=this.getDatasetMeta(t),r=o.controller._resolveAnimations(void 0,i);k(e)?(o.data[e].hidden=!n,this.update()):(this.setDatasetVisibility(t,n),r.update(o,{visible:n}),this.update((e=>e.datasetIndex===t?i:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),_n.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,n,i),t[n]=i},i=(t,e,n)=>{t.offsetX=e,t.offsetY=n,this._eventHandler(t)};p(this.options.events,(t=>n(t,i)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,n=(n,i)=>{e.addEventListener(this,n,i),t[n]=i},i=(n,i)=>{t[n]&&(e.removeEventListener(this,n,i),delete t[n])},o=(t,e)=>{this.canvas&&this.resize(t,e)};let r;const s=()=>{i("attach",s),this.attached=!0,this.resize(),n("resize",o),n("detach",r)};r=()=>{this.attached=!1,i("resize",o),this._stop(),this._resize(0,0),n("attach",s)},e.isAttached(this.canvas)?s():r()}unbindEvents(){p(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},p(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,n){const i=n?"set":"remove";let o,r,s,a;for("dataset"===e&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+i+"DatasetHoverStyle"]()),s=0,a=t.length;s{const n=this.getDatasetMeta(t);if(!n)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:n.data[e],index:e}}));!_(n,e)&&(this._active=n,this._lastEvent=null,this._updateHoverStyles(n,e))}notifyPlugins(t,e,n){return this._plugins.notify(this,t,e,n)}_updateHoverStyles(t,e,n){const i=this.options.hover,o=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),r=o(e,t),s=n?t:o(t,e);r.length&&this.updateHoverStyle(r,i.mode,!1),s.length&&i.mode&&this.updateHoverStyle(s,i.mode,!0)}_eventHandler(t,e){const n={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},i=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",n,i))return;const o=this._handleEvent(t,e,n.inChartArea);return n.cancelable=!1,this.notifyPlugins("afterEvent",n,i),(o||n.changed)&&this.render(),this}_handleEvent(t,e,n){const{_active:i=[],options:o}=this,r=e,s=this._getActiveElements(t,i,n,r),a=function(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}(t),u=function(t,e,n,i){return n&&"mouseout"!==t.type?i?e:t:null}(t,this._lastEvent,n,a);n&&(this._lastEvent=null,f(o.onHover,[t,s,this],this),a&&f(o.onClick,[t,s,this],this));const l=!_(s,i);return(l||e)&&(this._active=s,this._updateHoverStyles(s,i,e)),this._lastEvent=u,l}_getActiveElements(t,e,n,i){if("mouseout"===t.type)return[];if(!n)return e;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,i)}}const yo=()=>p(vo.instances,(t=>t._plugins.invalidate())),mo=!0;function go(t,e,n){const{startAngle:i,pixelMargin:o,x:r,y:s,outerRadius:a,innerRadius:u}=e;let l=o/a;t.beginPath(),t.arc(r,s,a,i-l,n+l),u>o?(l=o/u,t.arc(r,s,u,n+l,i-l,!0)):t.arc(r,s,o,n+P,i-P),t.closePath(),t.clip()}function bo(t,e,n,i){return{x:n+t*Math.cos(e),y:i+t*Math.sin(e)}}function wo(t,e,n,i,o,r){const{x:s,y:a,startAngle:u,pixelMargin:l,innerRadius:c}=e,h=Math.max(e.outerRadius+i+n-l,0),f=c>0?c+i+n+l:0;let p=0;const _=o-u;if(i){const t=((c>0?c-i:0)+(h>0?h-i:0))/2;p=(_-(0!==t?_*t/(t+i):_))/2}const d=(_-Math.max(.001,_*h-n/S)/h)/2,v=u+d+p,y=o-d-p,{outerStart:m,outerEnd:g,innerStart:b,innerEnd:w}=function(t,e,n,i){const o=de(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]),r=(n-e)/2,s=Math.min(r,i*e/2),a=t=>{const e=(n-Math.min(r,t))*i/2;return G(t,0,Math.min(r,e))};return{outerStart:a(o.outerStart),outerEnd:a(o.outerEnd),innerStart:G(o.innerStart,0,s),innerEnd:G(o.innerEnd,0,s)}}(e,f,h,y-v),$=h-m,x=h-g,k=v+m/$,j=y-g/x,C=f+b,z=f+w,M=v+b/C,O=y-w/z;if(t.beginPath(),r){if(t.arc(s,a,h,k,j),g>0){const e=bo(x,j,s,a);t.arc(e.x,e.y,g,j,y+P)}const e=bo(z,y,s,a);if(t.lineTo(e.x,e.y),w>0){const e=bo(z,O,s,a);t.arc(e.x,e.y,w,y+P,O+Math.PI)}if(t.arc(s,a,f,y-w/f,v+b/f,!0),b>0){const e=bo(C,M,s,a);t.arc(e.x,e.y,b,M+Math.PI,v-P)}const n=bo($,v,s,a);if(t.lineTo(n.x,n.y),m>0){const e=bo($,k,s,a);t.arc(e.x,e.y,m,v-P,k)}}else{t.moveTo(s,a);const e=Math.cos(k)*h+s,n=Math.sin(k)*h+a;t.lineTo(e,n);const i=Math.cos(j)*h+s,o=Math.sin(j)*h+a;t.lineTo(i,o)}t.closePath()}Object.defineProperties(vo,{defaults:{enumerable:mo,value:Jt},instances:{enumerable:mo,value:fo},overrides:{enumerable:mo,value:Kt},registry:{enumerable:mo,value:ri},version:{enumerable:mo,value:"3.9.1"},getChart:{enumerable:mo,value:po},register:{enumerable:mo,value:(...t)=>{ri.add(...t),yo()}},unregister:{enumerable:mo,value:(...t)=>{ri.remove(...t),yo()}}});class $o extends Kn{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,e,n){const i=this.getProps(["x","y"],n),{angle:o,distance:r}=V(i,{x:t,y:e}),{startAngle:s,endAngle:a,innerRadius:u,outerRadius:l,circumference:h}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],n),f=this.options.spacing/2,p=c(h,a-s)>=z||Y(o,s,a),_=X(r,u+f,l+f);return p&&_}getCenterPoint(t){const{x:e,y:n,startAngle:i,endAngle:o,innerRadius:r,outerRadius:s}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],t),{offset:a,spacing:u}=this.options,l=(i+o)/2,c=(r+s+u+a)/2;return{x:e+Math.cos(l)*c,y:n+Math.sin(l)*c}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:n}=this,i=(e.offset||0)/2,o=(e.spacing||0)/2,r=e.circular;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=n>z?Math.floor(n/z):0,0===n||this.innerRadius<0||this.outerRadius<0)return;t.save();let s=0;if(i){s=i/2;const e=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(e)*s,Math.sin(e)*s),this.circumference>=S&&(s=i)}t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor;const a=function(t,e,n,i,o){const{fullCircles:r,startAngle:s,circumference:a}=e;let u=e.endAngle;if(r){wo(t,e,n,i,s+z,o);for(let e=0;ea&&r>a;return{count:i,start:u,loop:e.loop,ilen:l(s+(l?a-t:t))%r,g=()=>{p!==_&&(t.lineTo(v,_),t.lineTo(v,p),t.lineTo(v,d))};for(u&&(h=o[m(0)],t.moveTo(h.x,h.y)),c=0;c<=a;++c){if(h=o[m(c)],h.skip)continue;const e=h.x,n=h.y,i=0|e;i===f?(n_&&(_=n),v=(y*v+e)/++y):(g(),t.lineTo(e,n),f=i,y=0,p=_=n),d=n}g()}function zo(t){const e=t.options,n=e.borderDash&&e.borderDash.length;return t._decimated||t._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||n?Co:So}$o.id="arc",$o.defaults={borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0},$o.defaultRoutes={backgroundColor:"backgroundColor"};const Mo="function"==typeof Path2D;class Oo extends Kn{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,e){const n=this.options;if((n.tension||"monotone"===n.cubicInterpolationMode)&&!n.stepped&&!this._pointsUpdated){const i=n.spanGaps?this._loop:this._fullLoop;Fe(this._points,n,t,i,e),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,e){const n=t.points,i=t.options.spanGaps,o=n.length;if(!o)return[];const r=!!t._loop,{start:s,end:a}=function(t,e,n,i){let o=0,r=e-1;if(n&&!i)for(;oo&&t[r%e].skip;)r--;return r%=e,{start:o,end:r}}(n,o,r,i);return function(t,e,n,i){return i&&i.setContext&&n?function(t,e,n,i){const o=t._chart.getContext(),r=fn(t.options),{_datasetIndex:s,options:{spanGaps:a}}=t,u=n.length,l=[];let c=r,h=e[0].start,f=h;function p(t,e,i,o){const r=a?-1:1;if(t!==e){for(t+=u;n[t%u].skip;)t-=r;for(;n[e%u].skip;)e+=r;t%u!=e%u&&(l.push({start:t%u,end:e%u,loop:i,style:o}),c=o,h=e%u)}}for(const t of e){h=a?h:t.start;let e,r=n[h%u];for(f=h+1;f<=t.end;f++){const a=n[f%u];e=fn(i.setContext(we(o,{type:"segment",p0:r,p1:a,p0DataIndex:(f-1)%u,p1DataIndex:f%u,datasetIndex:s}))),pn(e,c)&&p(h,f-1,t.loop,c),r=a,c=e}h"borderDash"!==t&&"fill"!==t};class Po extends Kn{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,e,n){const i=this.options,{x:o,y:r}=this.getProps(["x","y"],n);return Math.pow(t-o,2)+Math.pow(e-r,2){No(t)}))}var Bo={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,e,n)=>{if(!n.enabled)return void Fo(t);const i=t.width;t.data.datasets.forEach(((e,o)=>{const{_data:s,indexAxis:a}=e,u=t.getDatasetMeta(o),l=s||e.data;if("y"===be([a,t.options.indexAxis]))return;if(!u.controller.supportsDecimation)return;const c=t.scales[u.xAxisID];if("linear"!==c.type&&"time"!==c.type)return;if(t.options.parsing)return;let h,{start:f,count:p}=function(t,e){const n=e.length;let i,o=0;const{iScale:r}=t,{min:s,max:a,minDefined:u,maxDefined:l}=r.getUserBounds();return u&&(o=G(Z(e,r.axis,s).lo,0,n-1)),i=l?G(Z(e,r.axis,a).hi+1,o,n)-o:n-o,{start:o,count:i}}(u,l);if(p<=(n.threshold||4*i))No(e);else{switch(r(s)&&(e._data=l,delete e.data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),n.algorithm){case"lttb":h=function(t,e,n,i,o){const r=o.samples||i;if(r>=n)return t.slice(e,e+n);const s=[],a=(n-2)/(r-2);let u=0;const l=e+n-1;let c,h,f,p,_,d=e;for(s[u++]=t[d],c=0;cf&&(f=p,h=t[i],_=i);s[u++]=h,d=_}return s[u++]=t[l],s}(l,f,p,i,n);break;case"min-max":h=function(t,e,n,i){let o,s,a,u,l,c,h,f,p,_,d=0,v=0;const y=[],m=e+n-1,g=t[e].x,b=t[m].x-g;for(o=e;o_&&(_=u,h=o),d=(v*d+s.x)/++v;else{const n=o-1;if(!r(c)&&!r(h)){const e=Math.min(c,h),i=Math.max(c,h);e!==f&&e!==n&&y.push({...t[e],x:d}),i!==f&&i!==n&&y.push({...t[i],x:d})}o>0&&n!==f&&y.push(t[n]),y.push(s),l=e,v=0,p=_=u,c=h=f=o}}return y}(l,f,p,i);break;default:throw new Error(`Unsupported decimation algorithm '${n.algorithm}'`)}e._decimated=h}}))},destroy(t){Fo(t)}};function Ho(t,e,n,i){if(i)return;let o=e[t],r=n[t];return"angle"===t&&(o=K(o),r=K(r)),{property:t,start:o,end:r}}function Vo(t,e,n){for(;e>t;e--){const t=n[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function Wo(t,e,n,i){return t&&e?i(t[n],e[n]):t?t[n]:e?e[n]:0}function Uo(t,e){let n=[],i=!1;return s(t)?(i=!0,n=t):n=function(t,e){const{x:n=null,y:i=null}=t||{},o=e.points,r=[];return e.segments.forEach((({start:t,end:e})=>{e=Vo(t,e,o);const s=o[t],a=o[e];null!==i?(r.push({x:s.x,y:i}),r.push({x:a.x,y:i})):null!==n&&(r.push({x:n,y:s.y}),r.push({x:n,y:a.y}))})),r}(t,e),n.length?new Oo({points:n,options:{tension:0},_loop:i,_fullLoop:i}):null}function Ko(t){return t&&!1!==t.fill}function Yo(t,e,n){let i=t[e].fill;const o=[e];let r;if(!n)return i;for(;!1!==i&&-1===o.indexOf(i);){if(!u(i))return i;if(r=t[i],!r)return!1;if(r.visible)return i;o.push(i),i=r.fill}return!1}function Go(t,e,n){const i=function(t){const e=t.options,n=e.fill;let i=c(n&&n.target,n);return void 0===i&&(i=!!e.backgroundColor),!1!==i&&null!==i&&(!0===i?"origin":i)}(t);if(a(i))return!isNaN(i.value)&&i;let o=parseFloat(i);return u(o)&&Math.floor(o)===o?function(t,e,n,i){return"-"!==t&&"+"!==t||(n=e+n),!(n===e||n<0||n>=i)&&n}(i[0],e,o,n):["origin","start","end","stack","shape"].indexOf(i)>=0&&i}function Xo(t,e,n){const i=[];for(let o=0;o=0;--e){const n=o[e].$filler;n&&(n.line.updateControlPoints(r,n.axis),i&&n.fill&&Qo(t.ctx,n,r))}},beforeDatasetsDraw(t,e,n){if("beforeDatasetsDraw"!==n.drawTime)return;const i=t.getSortedVisibleDatasetMetas();for(let e=i.length-1;e>=0;--e){const n=i[e].$filler;Ko(n)&&Qo(t.ctx,n,t.chartArea)}},beforeDatasetDraw(t,e,n){const i=e.meta.$filler;Ko(i)&&"beforeDatasetDraw"===n.drawTime&&Qo(t.ctx,i,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const rr=(t,e)=>{let{boxHeight:n=e,boxWidth:i=e}=t;return t.usePointStyle&&(n=Math.min(n,e),i=t.pointStyleWidth||Math.min(i,e)),{boxWidth:i,boxHeight:n,itemHeight:Math.max(e,n)}};class sr extends Kn{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,e,n){this.maxWidth=t,this.maxHeight=e,this._margins=n,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 e=f(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,n)=>t.sort(e,n,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const n=t.labels,i=ge(n.font),o=i.size,r=this._computeTitleHeight(),{boxWidth:s,itemHeight:a}=rr(n,o);let u,l;e.font=i.string,this.isHorizontal()?(u=this.maxWidth,l=this._fitRows(r,o,s,a)+10):(l=this.maxHeight,u=this._fitCols(r,o,s,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(l,t.maxHeight||this.maxHeight)}_fitRows(t,e,n,i){const{ctx:o,maxWidth:r,options:{labels:{padding:s}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],l=i+s;let c=t;o.textAlign="left",o.textBaseline="middle";let h=-1,f=-l;return this.legendItems.forEach(((t,p)=>{const _=n+e/2+o.measureText(t.text).width;(0===p||u[u.length-1]+_+2*s>r)&&(c+=l,u[u.length-(p>0?0:1)]=0,f+=l,h++),a[p]={left:0,top:f,row:h,width:_,height:i},u[u.length-1]+=_+s})),c}_fitCols(t,e,n,i){const{ctx:o,maxHeight:r,options:{labels:{padding:s}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],l=r-t;let c=s,h=0,f=0,p=0,_=0;return this.legendItems.forEach(((t,r)=>{const d=n+e/2+o.measureText(t.text).width;r>0&&f+i+2*s>l&&(c+=h+s,u.push({width:h,height:f}),p+=h+s,_++,h=f=0),a[r]={left:p,top:f,col:_,width:d,height:i},h=Math.max(h,d),f+=i+s})),c+=h,u.push({width:h,height:f}),c}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:n,labels:{padding:i},rtl:o}}=this,r=rn(o,this.left,this.width);if(this.isHorizontal()){let o=0,s=st(n,this.left+i,this.right-this.lineWidths[o]);for(const a of e)o!==a.row&&(o=a.row,s=st(n,this.left+i,this.right-this.lineWidths[o])),a.top+=this.top+t+i,a.left=r.leftForLtr(r.x(s),a.width),s+=a.width+i}else{let o=0,s=st(n,this.top+t+i,this.bottom-this.columnSizes[o].height);for(const a of e)a.col!==o&&(o=a.col,s=st(n,this.top+t+i,this.bottom-this.columnSizes[o].height)),a.top=s,a.left+=this.left+i,a.left=r.leftForLtr(r.x(a.left),a.width),s+=a.height+i}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;re(t,this),this._draw(),se(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:n,ctx:i}=this,{align:o,labels:r}=t,s=Jt.color,a=rn(t.rtl,this.left,this.width),u=ge(r.font),{color:l,padding:h}=r,f=u.size,p=f/2;let _;this.drawTitle(),i.textAlign=a.textAlign("left"),i.textBaseline="middle",i.lineWidth=.5,i.font=u.string;const{boxWidth:d,boxHeight:v,itemHeight:y}=rr(r,f),m=this.isHorizontal(),g=this._computeTitleHeight();_=m?{x:st(o,this.left+h,this.right-n[0]),y:this.top+h+g,line:0}:{x:this.left+h,y:st(o,this.top+g+h,this.bottom-e[0].height),line:0},sn(this.ctx,t.textDirection);const b=y+h;this.legendItems.forEach(((w,$)=>{i.strokeStyle=w.fontColor||l,i.fillStyle=w.fontColor||l;const x=i.measureText(w.text).width,k=a.textAlign(w.textAlign||(w.textAlign=r.textAlign)),j=d+p+x;let C=_.x,S=_.y;a.setWidth(this.width),m?$>0&&C+j+h>this.right&&(S=_.y+=b,_.line++,C=_.x=st(o,this.left+h,this.right-n[_.line])):$>0&&S+b>this.bottom&&(C=_.x=C+e[_.line].width+h,_.line++,S=_.y=st(o,this.top+g+h,this.bottom-e[_.line].height)),function(t,e,n){if(isNaN(d)||d<=0||isNaN(v)||v<0)return;i.save();const o=c(n.lineWidth,1);if(i.fillStyle=c(n.fillStyle,s),i.lineCap=c(n.lineCap,"butt"),i.lineDashOffset=c(n.lineDashOffset,0),i.lineJoin=c(n.lineJoin,"miter"),i.lineWidth=o,i.strokeStyle=c(n.strokeStyle,s),i.setLineDash(c(n.lineDash,[])),r.usePointStyle){const s={radius:v*Math.SQRT2/2,pointStyle:n.pointStyle,rotation:n.rotation,borderWidth:o},u=a.xPlus(t,d/2);ie(i,s,u,e+p,r.pointStyleWidth&&d)}else{const r=e+Math.max((f-v)/2,0),s=a.leftForLtr(t,d),u=ye(n.borderRadius);i.beginPath(),Object.values(u).some((t=>0!==t))?he(i,{x:s,y:r,w:d,h:v,radius:u}):i.rect(s,r,d,v),i.fill(),0!==o&&i.stroke()}i.restore()}(a.x(C),S,w),C=((t,e,n,i)=>t===(i?"left":"right")?n:"center"===t?(e+n)/2:e)(k,C+d+p,m?C+j:this.right,t.rtl),function(t,e,n){le(i,n.text,t,e+y/2,u,{strikethrough:n.hidden,textAlign:a.textAlign(n.textAlign)})}(a.x(C),S,w),m?_.x+=j+h:_.y+=b})),an(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,n=ge(e.font),i=me(e.padding);if(!e.display)return;const o=rn(t.rtl,this.left,this.width),r=this.ctx,s=e.position,a=n.size/2,u=i.top+a;let l,c=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),l=this.top+u,c=st(t.align,c,this.right-h);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);l=u+st(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const f=st(s,c,c+h);r.textAlign=o.textAlign(rt(s)),r.textBaseline="middle",r.strokeStyle=e.color,r.fillStyle=e.color,r.font=n.string,le(r,e.text,f,l,n)}_computeTitleHeight(){const t=this.options.title,e=ge(t.font),n=me(t.padding);return t.display?e.lineHeight+n.height:0}_getLegendItemAt(t,e){let n,i,o;if(X(t,this.left,this.right)&&X(e,this.top,this.bottom))for(o=this.legendHitBoxes,n=0;nt.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:o,color:r}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const s=t.controller.getStyle(n?0:void 0),a=me(s.borderWidth);return{text:e[t.index].label,fillStyle:s.backgroundColor,fontColor:r,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:i||s.pointStyle,rotation:s.rotation,textAlign:o||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 ur extends Kn{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,e){const n=this.options;if(this.left=0,this.top=0,!n.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const i=s(n.text)?n.text.length:1;this._padding=me(n.padding);const o=i*ge(n.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:n,bottom:i,right:o,options:r}=this,s=r.align;let a,u,l,c=0;return this.isHorizontal()?(u=st(s,n,o),l=e+t,a=o-n):("left"===r.position?(u=n+t,l=st(s,i,e),c=-.5*S):(u=o-t,l=st(s,e,i),c=.5*S),a=i-e),{titleX:u,titleY:l,maxWidth:a,rotation:c}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const n=ge(e.font),i=n.lineHeight/2+this._padding.top,{titleX:o,titleY:r,maxWidth:s,rotation:a}=this._drawArgs(i);le(t,e.text,0,0,n,{color:e.color,maxWidth:s,rotation:a,textAlign:rt(e.align),textBaseline:"middle",translation:[o,r]})}}var lr={id:"title",_element:ur,start(t,e,n){!function(t,e){const n=new ur({ctx:t.ctx,options:e,chart:t});zi.configure(t,n,e),zi.addBox(t,n),t.titleBlock=n}(t,n)},stop(t){const e=t.titleBlock;zi.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,n){const i=t.titleBlock;zi.configure(t,i,n),i.options=n},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 cr=new WeakMap;var hr={id:"subtitle",start(t,e,n){const i=new ur({ctx:t.ctx,options:n,chart:t});zi.configure(t,i,n),zi.addBox(t,i),cr.set(t,i)},stop(t){zi.removeBox(t,cr.get(t)),cr.delete(t)},beforeUpdate(t,e,n){const i=cr.get(t);zi.configure(t,i,n),i.options=n},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 fr={average(t){if(!t.length)return!1;let e,n,i=0,o=0,r=0;for(e=0,n=t.length;e-1?t.split("\n"):t}function dr(t,e){const{element:n,datasetIndex:i,index:o}=e,r=t.getDatasetMeta(i).controller,{label:s,value:a}=r.getLabelAndValue(o);return{chart:t,label:s,parsed:r.getParsed(o),raw:t.data.datasets[i].data[o],formattedValue:a,dataset:r.getDataset(),dataIndex:o,datasetIndex:i,element:n}}function vr(t,e){const n=t.chart.ctx,{body:i,footer:o,title:r}=t,{boxWidth:s,boxHeight:a}=e,u=ge(e.bodyFont),l=ge(e.titleFont),c=ge(e.footerFont),h=r.length,f=o.length,_=i.length,d=me(e.padding);let v=d.height,y=0,m=i.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);m+=t.beforeBody.length+t.afterBody.length,h&&(v+=h*l.lineHeight+(h-1)*e.titleSpacing+e.titleMarginBottom),m&&(v+=_*(e.displayColors?Math.max(a,u.lineHeight):u.lineHeight)+(m-_)*u.lineHeight+(m-1)*e.bodySpacing),f&&(v+=e.footerMarginTop+f*c.lineHeight+(f-1)*e.footerSpacing);let g=0;const b=function(t){y=Math.max(y,n.measureText(t).width+g)};return n.save(),n.font=l.string,p(t.title,b),n.font=u.string,p(t.beforeBody.concat(t.afterBody),b),g=e.displayColors?s+2+e.boxPadding:0,p(i,(t=>{p(t.before,b),p(t.lines,b),p(t.after,b)})),g=0,n.font=c.string,p(t.footer,b),n.restore(),y+=d.width,{width:y,height:v}}function yr(t,e,n,i){const{x:o,width:r}=n,{width:s,chartArea:{left:a,right:u}}=t;let l="center";return"center"===i?l=o<=(a+u)/2?"left":"right":o<=r/2?l="left":o>=s-r/2&&(l="right"),function(t,e,n,i){const{x:o,width:r}=i,s=n.caretSize+n.caretPadding;return"left"===t&&o+r+s>e.width||"right"===t&&o-r-s<0||void 0}(l,t,e,n)&&(l="center"),l}function mr(t,e,n){const i=n.yAlign||e.yAlign||function(t,e){const{y:n,height:i}=e;return nt.height-i/2?"bottom":"center"}(t,n);return{xAlign:n.xAlign||e.xAlign||yr(t,e,n,i),yAlign:i}}function gr(t,e,n,i){const{caretSize:o,caretPadding:r,cornerRadius:s}=t,{xAlign:a,yAlign:u}=n,l=o+r,{topLeft:c,topRight:h,bottomLeft:f,bottomRight:p}=ye(s);let _=function(t,e){let{x:n,width:i}=t;return"right"===e?n-=i:"center"===e&&(n-=i/2),n}(e,a);const d=function(t,e,n){let{y:i,height:o}=t;return"top"===e?i+=n:i-="bottom"===e?o+n:o/2,i}(e,u,l);return"center"===u?"left"===a?_+=l:"right"===a&&(_-=l):"left"===a?_-=Math.max(c,f)+o:"right"===a&&(_+=Math.max(h,p)+o),{x:G(_,0,i.width-e.width),y:G(d,0,i.height-e.height)}}function br(t,e,n){const i=me(n.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-i.right:t.x+i.left}function wr(t){return pr([],_r(t))}function $r(t,e){const n=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return n?t.override(n):t}class xr extends Kn{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 e=this.chart,n=this.options.setContext(this.getContext()),i=n.enabled&&e.options.animation&&n.animations,o=new gn(this.chart,i);return i._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=(this,we(this.chart.getContext(),{tooltip:this,tooltipItems:this._tooltipItems,type:"tooltip"})))}getTitle(t,e){const{callbacks:n}=e,i=n.beforeTitle.apply(this,[t]),o=n.title.apply(this,[t]),r=n.afterTitle.apply(this,[t]);let s=[];return s=pr(s,_r(i)),s=pr(s,_r(o)),s=pr(s,_r(r)),s}getBeforeBody(t,e){return wr(e.callbacks.beforeBody.apply(this,[t]))}getBody(t,e){const{callbacks:n}=e,i=[];return p(t,(t=>{const e={before:[],lines:[],after:[]},o=$r(n,t);pr(e.before,_r(o.beforeLabel.call(this,t))),pr(e.lines,o.label.call(this,t)),pr(e.after,_r(o.afterLabel.call(this,t))),i.push(e)})),i}getAfterBody(t,e){return wr(e.callbacks.afterBody.apply(this,[t]))}getFooter(t,e){const{callbacks:n}=e,i=n.beforeFooter.apply(this,[t]),o=n.footer.apply(this,[t]),r=n.afterFooter.apply(this,[t]);let s=[];return s=pr(s,_r(i)),s=pr(s,_r(o)),s=pr(s,_r(r)),s}_createItems(t){const e=this._active,n=this.chart.data,i=[],o=[],r=[];let s,a,u=[];for(s=0,a=e.length;st.filter(e,i,o,n)))),t.itemSort&&(u=u.sort(((e,i)=>t.itemSort(e,i,n)))),p(u,(e=>{const n=$r(t.callbacks,e);i.push(n.labelColor.call(this,e)),o.push(n.labelPointStyle.call(this,e)),r.push(n.labelTextColor.call(this,e))})),this.labelColors=i,this.labelPointStyles=o,this.labelTextColors=r,this.dataPoints=u,u}update(t,e){const n=this.options.setContext(this.getContext()),i=this._active;let o,r=[];if(i.length){const t=fr[n.position].call(this,i,this._eventPosition);r=this._createItems(n),this.title=this.getTitle(r,n),this.beforeBody=this.getBeforeBody(r,n),this.body=this.getBody(r,n),this.afterBody=this.getAfterBody(r,n),this.footer=this.getFooter(r,n);const e=this._size=vr(this,n),s=Object.assign({},t,e),a=mr(this.chart,n,s),u=gr(n,s,a,this.chart);this.xAlign=a.xAlign,this.yAlign=a.yAlign,o={opacity:1,x:u.x,y:u.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(o={opacity:0});this._tooltipItems=r,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&n.external&&n.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,n,i){const o=this.getCaretPosition(t,n,i);e.lineTo(o.x1,o.y1),e.lineTo(o.x2,o.y2),e.lineTo(o.x3,o.y3)}getCaretPosition(t,e,n){const{xAlign:i,yAlign:o}=this,{caretSize:r,cornerRadius:s}=n,{topLeft:a,topRight:u,bottomLeft:l,bottomRight:c}=ye(s),{x:h,y:f}=t,{width:p,height:_}=e;let d,v,y,m,g,b;return"center"===o?(g=f+_/2,"left"===i?(d=h,v=d-r,m=g+r,b=g-r):(d=h+p,v=d+r,m=g-r,b=g+r),y=d):(v="left"===i?h+Math.max(a,l)+r:"right"===i?h+p-Math.max(u,c)-r:this.caretX,"top"===o?(m=f,g=m-r,d=v-r,y=v+r):(m=f+_,g=m+r,d=v+r,y=v-r),b=m),{x1:d,x2:v,x3:y,y1:m,y2:g,y3:b}}drawTitle(t,e,n){const i=this.title,o=i.length;let r,s,a;if(o){const u=rn(n.rtl,this.x,this.width);for(t.x=br(this,n.titleAlign,n),e.textAlign=u.textAlign(n.titleAlign),e.textBaseline="middle",r=ge(n.titleFont),s=n.titleSpacing,e.fillStyle=n.titleColor,e.font=r.string,a=0;a0!==t))?(t.beginPath(),t.fillStyle=o.multiKeyBackground,he(t,{x:e,y:d,w:l,h:u,radius:s}),t.fill(),t.stroke(),t.fillStyle=r.backgroundColor,t.beginPath(),he(t,{x:n,y:d+1,w:l-2,h:u-2,radius:s}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(e,d,l,u),t.strokeRect(e,d,l,u),t.fillStyle=r.backgroundColor,t.fillRect(n,d+1,l-2,u-2))}t.fillStyle=this.labelTextColors[n]}drawBody(t,e,n){const{body:i}=this,{bodySpacing:o,bodyAlign:r,displayColors:s,boxHeight:a,boxWidth:u,boxPadding:l}=n,c=ge(n.bodyFont);let h=c.lineHeight,f=0;const _=rn(n.rtl,this.x,this.width),d=function(n){e.fillText(n,_.x(t.x+f),t.y+h/2),t.y+=h+o},v=_.textAlign(r);let y,m,g,b,w,$,x;for(e.textAlign=r,e.textBaseline="middle",e.font=c.string,t.x=br(this,v,n),e.fillStyle=n.bodyColor,p(this.beforeBody,d),f=s&&"right"!==v?"center"===r?u/2+l:u+2+l:0,b=0,$=i.length;b<$;++b){for(y=i[b],m=this.labelTextColors[b],e.fillStyle=m,p(y.before,d),g=y.lines,s&&g.length&&(this._drawColorBox(e,t,b,_,n),h=Math.max(c.lineHeight,a)),w=0,x=g.length;w0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,n=this.$animations,i=n&&n.x,o=n&&n.y;if(i||o){const n=fr[t.position].call(this,this._active,this._eventPosition);if(!n)return;const r=this._size=vr(this,t),s=Object.assign({},n,this._size),a=mr(e,t,s),u=gr(t,s,a,e);i._to===u.x&&o._to===u.y||(this.xAlign=a.xAlign,this.yAlign=a.yAlign,this.width=r.width,this.height=r.height,this.caretX=n.x,this.caretY=n.y,this._resolveAnimations().update(this,u))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let n=this.opacity;if(!n)return;this._updateAnimationTarget(e);const i={width:this.width,height:this.height},o={x:this.x,y:this.y};n=Math.abs(n)<.001?0:n;const r=me(e.padding),s=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&s&&(t.save(),t.globalAlpha=n,this.drawBackground(o,t,i,e),sn(t,e.textDirection),o.y+=r.top,this.drawTitle(o,t,e),this.drawBody(o,t,e),this.drawFooter(o,t,e),an(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const n=this._active,i=t.map((({datasetIndex:t,index:e})=>{const n=this.chart.getDatasetMeta(t);if(!n)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:n.data[e],index:e}})),o=!_(n,i),r=this._positionChanged(i,e);(o||r)&&(this._active=i,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,n=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const i=this.options,o=this._active||[],r=this._getActiveElements(t,o,e,n),s=this._positionChanged(r,t),a=e||!_(r,o)||s;return a&&(this._active=r,(i.enabled||i.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),a}_getActiveElements(t,e,n,i){const o=this.options;if("mouseout"===t.type)return[];if(!i)return e;const r=this.chart.getElementsAtEventForMode(t,o.mode,o,n);return o.reverse&&r.reverse(),r}_positionChanged(t,e){const{caretX:n,caretY:i,options:o}=this,r=fr[o.position].call(this,t,e);return!1!==r&&(n!==r.x||i!==r.y)}}xr.positioners=fr;var kr={id:"tooltip",_element:xr,positioners:fr,afterInit(t,e,n){n&&(t.tooltip=new xr({chart:t,options:n}))},beforeUpdate(t,e,n){t.tooltip&&t.tooltip.initialize(n)},reset(t,e,n){t.tooltip&&t.tooltip.initialize(n)},afterDraw(t){const e=t.tooltip;if(e&&e._willRender()){const n={tooltip:e};if(!1===t.notifyPlugins("beforeTooltipDraw",n))return;e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",n)}},afterEvent(t,e){if(t.tooltip){const n=e.replay;t.tooltip.handleEvent(e.event,n,e.inChartArea)&&(e.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,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.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:i,title(t){if(t.length>0){const e=t[0],n=e.chart.data.labels,i=n?n.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(i>0&&e.dataIndex"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},jr=Object.freeze({__proto__:null,Decimation:Bo,Filler:or,Legend:ar,SubTitle:hr,Title:lr,Tooltip:kr});class Cr extends ii{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const t=this.getLabels();for(const{index:n,label:i}of e)t[n]===i&&t.splice(n,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(r(t))return null;const n=this.getLabels();return((t,e)=>null===t?null:G(Math.round(t),0,e))(e=isFinite(e)&&n[e]===t?e:function(t,e,n,i){const o=t.indexOf(e);return-1===o?((t,e,n,i)=>("string"==typeof e?(n=t.push(e)-1,i.unshift({index:n,label:e})):isNaN(e)&&(n=null),n))(t,e,n,i):o!==t.lastIndexOf(e)?n:o}(n,t,c(e,t),this._addedLabels),n.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:n,max:i}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(n=0),e||(i=this.getLabels().length-1)),this.min=n,this.max=i}buildTicks(){const t=this.min,e=this.max,n=this.options.offset,i=[];let o=this.getLabels();o=0===t&&e===o.length-1?o:o.slice(t,e+1),this._valueRange=Math.max(o.length-(n?0:1),1),this._startValue=this.min-(n?.5:0);for(let n=t;n<=e;n++)i.push({value:n});return i}getLabelForValue(t){const e=this.getLabels();return t>=0&&te.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function Sr(t,e,{horizontal:n,minRotation:i}){const o=F(i),r=(n?Math.sin(o):Math.cos(o))||.001,s=.75*e*(""+t).length;return Math.min(e/r,s)}Cr.id="category",Cr.defaults={ticks:{callback:Cr.prototype.getLabelForValue}};class zr extends ii{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,e){return r(t)||("number"==typeof t||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:n}=this.getUserBounds();let{min:i,max:o}=this;const r=t=>i=e?i:t,s=t=>o=n?o:t;if(t){const t=I(i),e=I(o);t<0&&e<0?s(0):t>0&&e>0&&r(0)}if(i===o){let e=1;(o>=Number.MAX_SAFE_INTEGER||i<=Number.MIN_SAFE_INTEGER)&&(e=Math.abs(.05*o)),s(o+e),t||r(i-e)}this.min=i,this.max=o}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:n,stepSize:i}=t;return i?(e=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),n=n||11),n&&(e=Math.min(n,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let n=this.getTickLimit();n=Math.max(2,n);const i=function(t,e){const n=[],{bounds:i,step:o,min:s,max:a,precision:u,count:l,maxTicks:c,maxDigits:h,includeBounds:f}=t,p=o||1,_=c-1,{min:d,max:v}=e,y=!r(s),m=!r(a),g=!r(l),b=(v-d)/(h+1);let w,$,x,k,j=T((v-d)/_/p)*p;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/_/p)*p),r(u)||(w=Math.pow(10,u),j=Math.ceil(j*w)/w),"ticks"===i?($=Math.floor(d/j)*j,x=Math.ceil(v/j)*j):($=d,x=v),y&&m&&o&&function(t,e){const n=Math.round(t);return n-e<=t&&n+e>=t}((a-s)/o,j/1e3)?(k=Math.round(Math.min((a-s)/j,c)),j=(a-s)/k,$=s,x=a):g?($=y?s:$,x=m?a:x,k=l-1,j=(x-$)/k):(k=(x-$)/j,k=R(k,Math.round(k),j/1e3)?Math.round(k):Math.ceil(k));const C=Math.max(H(j),H($));w=Math.pow(10,r(u)?C:u),$=Math.round($*w)/w,x=Math.round(x*w)/w;let S=0;for(y&&(f&&$!==s?(n.push({value:s}),$0?n:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=u(t)?Math.max(0,t):null,this.max=u(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let n=this.min,i=this.max;const o=e=>n=t?n:e,r=t=>i=e?i:t,s=(t,e)=>Math.pow(10,Math.floor(D(t))+e);n===i&&(n<=0?(o(1),r(10)):(o(s(n,-1)),r(s(i,1)))),n<=0&&o(s(i,-1)),i<=0&&r(s(n,1)),this._zero&&this.min!==this._suggestedMin&&n===s(this.min,0)&&o(s(n,-1)),this.min=n,this.max=i}buildTicks(){const t=this.options,e=function(t,e){const n=Math.floor(D(e.max)),i=Math.ceil(e.max/Math.pow(10,n)),o=[];let r=l(t.min,Math.pow(10,Math.floor(D(e.min)))),s=Math.floor(D(r)),a=Math.floor(r/Math.pow(10,s)),u=s<0?Math.pow(10,Math.abs(s)):1;do{o.push({value:r,major:Or(r)}),++a,10===a&&(a=1,++s,u=s>=0?1:u),r=Math.round(a*Math.pow(10,s)*u)/u}while(so?{start:e-n,end:e}:{start:e,end:e+n}}function Er(t,e,n,i,o){const r=Math.abs(Math.sin(n)),s=Math.abs(Math.cos(n));let a=0,u=0;i.starte.r&&(a=(i.end-e.r)/r,t.r=Math.max(t.r,e.r+a)),o.starte.b&&(u=(o.end-e.b)/s,t.b=Math.max(t.b,e.b+u))}function Dr(t){return 0===t||180===t?"center":t<180?"left":"right"}function Ir(t,e,n){return 90===n||270===n?t-=e/2:(n>270||n<90)&&(t-=e),t}function Tr(t,e,n,i){const{ctx:o}=t;if(n)o.arc(t.xCenter,t.yCenter,e,0,z);else{let n=t.getPointPosition(0,e);o.moveTo(n.x,n.y);for(let r=1;r{const n=f(this.options.pointLabels.callback,[t,e],this);return n||0===n?n:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?function(t){const e={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},n=Object.assign({},e),i=[],o=[],r=t._pointLabels.length,a=t.options.pointLabels,u=a.centerPointLabels?S/r:0;for(let f=0;f=0&&t=0;o--){const e=i.setContext(t.getPointLabelContext(o)),s=ge(e.font),{x:a,y:u,textAlign:l,left:c,top:h,right:f,bottom:p}=t._pointLabelItems[o],{backdropColor:_}=e;if(!r(_)){const t=ye(e.borderRadius),i=me(e.backdropPadding);n.fillStyle=_;const o=c-i.left,r=h-i.top,s=f-c+i.width,a=p-h+i.height;Object.values(t).some((t=>0!==t))?(n.beginPath(),he(n,{x:o,y:r,w:s,h:a,radius:t}),n.fill()):n.fillRect(o,r,s,a)}le(n,t._pointLabels[o],a,u+s.lineHeight/2,s,{color:e.color,textAlign:l,textBaseline:"middle"})}}(this,o),i.display&&this.ticks.forEach(((t,e)=>{0!==e&&(a=this.getDistanceFromCenterForValue(t.value),function(t,e,n,i){const o=t.ctx,r=e.circular,{color:s,lineWidth:a}=e;!r&&!i||!s||!a||n<0||(o.save(),o.strokeStyle=s,o.lineWidth=a,o.setLineDash(e.borderDash),o.lineDashOffset=e.borderDashOffset,o.beginPath(),Tr(t,n,r,i),o.closePath(),o.stroke(),o.restore())}(this,i.setContext(this.getContext(e-1)),a,o))})),n.display){for(t.save(),s=o-1;s>=0;s--){const i=n.setContext(this.getPointLabelContext(s)),{color:o,lineWidth:r}=i;r&&o&&(t.lineWidth=r,t.strokeStyle=o,t.setLineDash(i.borderDash),t.lineDashOffset=i.borderDashOffset,a=this.getDistanceFromCenterForValue(e.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,e=this.options,n=e.ticks;if(!n.display)return;const i=this.getIndexAngle(0);let o,r;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(i),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((i,s)=>{if(0===s&&!e.reverse)return;const a=n.setContext(this.getContext(s)),u=ge(a.font);if(o=this.getDistanceFromCenterForValue(this.ticks[s].value),a.showLabelBackdrop){t.font=u.string,r=t.measureText(i.label).width,t.fillStyle=a.backdropColor;const e=me(a.backdropPadding);t.fillRect(-r/2-e.left,-o-u.size/2-e.top,r+e.width,u.size+e.height)}le(t,i.label,0,-o,u,{color:a.color})})),t.restore()}drawTitle(){}}Lr.id="radialLinear",Lr.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Gn.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:t=>t,padding:5,centerPointLabels:!1}},Lr.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"},Lr.descriptors={angleLines:{_fallback:"grid"}};const Rr={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}},Nr=Object.keys(Rr);function Fr(t,e){return t-e}function Br(t,e){if(r(e))return null;const n=t._adapter,{parser:i,round:o,isoWeekday:s}=t._parseOpts;let a=e;return"function"==typeof i&&(a=i(a)),u(a)||(a="string"==typeof i?n.parse(a,i):n.parse(a)),null===a?null:(o&&(a="week"!==o||!L(s)&&!0!==s?n.startOf(a,o):n.startOf(a,"isoWeek",s)),+a)}function Hr(t,e,n,i){const o=Nr.length;for(let r=Nr.indexOf(t);r=e?n[i]:n[o]]=!0}}else t[e]=!0}function Wr(t,e,n){const i=[],o={},r=e.length;let s,a;for(s=0;s=0&&(e[u].major=!0);return e}(t,i,o,n):i}class Ur extends ii{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,e){const n=t.time||(t.time={}),i=this._adapter=new ci._date(t.adapters.date);i.init(e),g(n.displayFormats,i.formats()),this._parseOpts={parser:n.parser,round:n.round,isoWeekday:n.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return void 0===t?null:Br(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,n=t.time.unit||"day";let{min:i,max:o,minDefined:r,maxDefined:s}=this.getUserBounds();function a(t){r||isNaN(t.min)||(i=Math.min(i,t.min)),s||isNaN(t.max)||(o=Math.max(o,t.max))}r&&s||(a(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||a(this.getMinMax(!1))),i=u(i)&&!isNaN(i)?i:+e.startOf(Date.now(),n),o=u(o)&&!isNaN(o)?o:+e.endOf(Date.now(),n)+1,this.min=Math.min(i,o-1),this.max=Math.max(i+1,o)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],n=t[t.length-1]),{min:e,max:n}}buildTicks(){const t=this.options,e=t.time,n=t.ticks,i="labels"===n.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&i.length&&(this.min=this._userMin||i[0],this.max=this._userMax||i[i.length-1]);const o=this.min,r=function(t,e,n){let i=0,o=t.length;for(;ii&&t[o-1]>n;)o--;return i>0||o=Nr.indexOf(n);r--){const n=Nr[r];if(Rr[n].common&&t._adapter.diff(o,i,n)>=e-1)return n}return Nr[n?Nr.indexOf(n):0]}(this,r.length,e.minUnit,this.min,this.max)),this._majorUnit=n.major.enabled&&"year"!==this._unit?function(t){for(let e=Nr.indexOf(t)+1,n=Nr.length;e+t.value)))}initOffsets(t){let e,n,i=0,o=0;this.options.offset&&t.length&&(e=this.getDecimalForValue(t[0]),i=1===t.length?1-e:(this.getDecimalForValue(t[1])-e)/2,n=this.getDecimalForValue(t[t.length-1]),o=1===t.length?n:(n-this.getDecimalForValue(t[t.length-2]))/2);const r=t.length<3?.5:.25;i=G(i,0,r),o=G(o,0,r),this._offsets={start:i,end:o,factor:1/(i+1+o)}}_generate(){const t=this._adapter,e=this.min,n=this.max,i=this.options,o=i.time,r=o.unit||Hr(o.minUnit,e,n,this._getLabelCapacity(e)),s=c(o.stepSize,1),a="week"===r&&o.isoWeekday,u=L(a)||!0===a,l={};let h,f,p=e;if(u&&(p=+t.startOf(p,"isoWeek",a)),p=+t.startOf(p,u?"day":r),t.diff(n,e,r)>1e5*s)throw new Error(e+" and "+n+" are too far apart with stepSize of "+s+" "+r);const _="data"===i.ticks.source&&this.getDataTimestamps();for(h=p,f=0;ht-e)).map((t=>+t))}getLabelForValue(t){const e=this._adapter,n=this.options.time;return n.tooltipFormat?e.format(t,n.tooltipFormat):e.format(t,n.displayFormats.datetime)}_tickFormatFunction(t,e,n,i){const o=this.options,r=o.time.displayFormats,s=this._unit,a=this._majorUnit,u=s&&r[s],l=a&&r[a],c=n[e],h=a&&l&&c&&c.major,p=this._adapter.format(t,i||(h?l:u)),_=o.ticks.callback;return _?f(_,[p,e,n],this):p}generateTickLabels(t){let e,n,i;for(e=0,n=t.length;e0?s:1}getDataTimestamps(){let t,e,n=this._cache.data||[];if(n.length)return n;const i=this.getMatchingVisibleMetas();if(this._normalized&&i.length)return this._cache.data=i[0].controller.getAllParsedValues(this);for(t=0,e=i.length;t=t[a].pos&&e<=t[u].pos&&({lo:a,hi:u}=Z(t,"pos",e)),({pos:i,time:r}=t[a]),({pos:o,time:s}=t[u])):(e>=t[a].time&&e<=t[u].time&&({lo:a,hi:u}=Z(t,"time",e)),({time:i,pos:r}=t[a]),({time:o,pos:s}=t[u]));const l=o-i;return l?r+(s-r)*(e-i)/l:r}Ur.id="time",Ur.defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",major:{enabled:!1}}};class Yr extends Ur{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=Kr(e,this.min),this._tableRange=Kr(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:n}=this,i=[],o=[];let r,s,a,u,l;for(r=0,s=t.length;r=e&&u<=n&&i.push(u);if(i.length<2)return[{time:e,pos:0},{time:n,pos:1}];for(r=0,s=i.length;r{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n(608)})())); +//# sourceMappingURL=benchart.js.map \ No newline at end of file diff --git a/beta/benchart.js.LICENSE.txt b/beta/benchart.js.LICENSE.txt new file mode 100644 index 0000000..1efd9e4 --- /dev/null +++ b/beta/benchart.js.LICENSE.txt @@ -0,0 +1,13 @@ +/*! + * @kurkle/color v0.2.1 + * https://github.com/kurkle/color#readme + * (c) 2022 Jukka Kurkela + * Released under the MIT License + */ + +/*! + * Chart.js v3.9.1 + * https://www.chartjs.org + * (c) 2022 Chart.js Contributors + * Released under the MIT License + */ diff --git a/beta/benchart.js.map b/beta/benchart.js.map new file mode 100644 index 0000000..d5bf956 --- /dev/null +++ b/beta/benchart.js.map @@ -0,0 +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/../../../../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/SummaryUtils.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Maps.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/CoroutineContext.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/LinkedHashSet.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/LinkedHashMap.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Ranges.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Sequences.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Strings.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/string.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/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/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/Char.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/char.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/StringNumberConversions.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/../../../../../runtime/long.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Tuples.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/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/../../../../../runtime/numberConversion.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/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/../../../../../commonMainSources/libraries/stdlib/src/kotlin/CharCode.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/../../../../../src/generated/_ComparisonsJs.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/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UShort.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/rangeTo.kt","webpack://benchart/../../../../../runtime/reflectRuntime.kt","webpack://benchart/../../../../../runtime/typeCheckUtils.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/js.arrays/fill.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/../../../../../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/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/ContinuationInterceptor.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/ranges/Ranges.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/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/StringBuilder.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 .firstOrNull()\n ?.groupValues\n ?.firstOrNull()\n ?: error(\"$line doesn't have numbers in it\")\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 throw IllegalStateException(\"lineColors exhausted\")\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","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\ndata class SavedBenchmarkNode(\n val key : String,\n val value : String\n)\n\ndata class SavedBenchmarks(\n var items : Array\n) {\n override fun equals(other: Any?): Boolean {\n if (this === other) return true\n if (other == null || this::class.js != other::class.js) return false\n\n other as SavedBenchmarks\n\n if (!items.contentEquals(other.items)) return false\n\n return true\n }\n\n override fun hashCode(): Int {\n return items.contentHashCode()\n }\n\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 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(\"BEST\")\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(\"WORST\")\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 onBestClicked = {\n TODO()\n },\n onWorstClicked = {\n TODO()\n },\n blockNames = viewModel.blockNames,\n selectedBlockNameOne = viewModel.selectedBlockNameOne,\n selectedBlockNameTwo = viewModel.selectedBlockNameTwo,\n onBlockOneSelected = { newBlockName ->\n viewModel.onBlockNameOneChanged(newBlockName)\n },\n onBlockTwoSelected = { newBlockName ->\n viewModel.onBlockNameTwoChanged(newBlockName)\n }\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 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 updateSummary()\n return@debounce\n }\n this.inputType = inputType\n fullBenchmarkResults.addAll(benchmarkResults)\n\n\n when (inputType) {\n InputType.GENERIC -> {\n val newCharts = fullBenchmarkResults.toGenericChart()\n chartsBundle = newCharts\n onChartsBundleUpdated(newCharts)\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 }\n }\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 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 val selectedBlockNameOne = selectedBlockNameOne\n val selectedBlockNameTwo = selectedBlockNameTwo\n if (selectedBlockNameOne == null || selectedBlockNameTwo == null) {\n println(\"blank block name detected. skipping summary\")\n return\n }\n\n val isGeneric = inputType == InputType.GENERIC\n chartsBundle?.let { chartsBundle ->\n for (chartData in chartsBundle.charts) {\n SummaryUtils.prepareSummary(isGeneric = isGeneric,\n selectedBlockNameOne = selectedBlockNameOne,\n selectedBlockNameTwo = selectedBlockNameTwo,\n chart = chartData,\n onSummaryReady = { summary ->\n summaries.add(summary)\n },\n onSummaryFailed = { reason ->\n error(\"Failed to summarize `${chartData.label}`: $reason\")\n }\n )\n }\n }\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}\n","package repo\n\nimport androidx.compose.runtime.MutableState\nimport androidx.compose.runtime.State\nimport androidx.compose.runtime.getValue\nimport androidx.compose.runtime.mutableStateOf\nimport components.SavedBenchmarkNode\nimport components.SavedBenchmarks\nimport kotlinx.browser.window\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 = arrayOf())\n } else {\n JSON.parse(savedBenchmarksString)\n }\n\n return savedBenchmark.items.toList()\n }\n\n override fun saveBenchmarks(newList: List) {\n val savedBenchmarks = JSON.stringify(SavedBenchmarks(newList.toTypedArray()))\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 components.Summary\nimport components.SummaryNode\nimport core.GroupMap\nimport core.SupportedMetrics\nimport model.Chart\nimport kotlin.math.absoluteValue\n\nobject SummaryUtils {\n\n fun prepareSummary(\n isGeneric: Boolean,\n chart: Chart,\n selectedBlockNameOne : String,\n selectedBlockNameTwo : String,\n onSummaryReady: (summary: Summary) -> Unit,\n onSummaryFailed: (reason: String) -> Unit,\n ) {\n try {\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 onSummaryReady(Summary(title = title, summaryNodes))\n } catch (e: Throwable) {\n e.printStackTrace()\n onSummaryFailed(e.message ?: \"unknown\")\n }\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,"/*!\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","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","newBlockName","newTestName","chunked","paddingLeft","paddingRight","paddingBottom","chart","chartsBundle","blockNames","updateSummary","selectedBlockNameOne","selectedBlockNameTwo","inputType","result","listOf","toGenericChart","newCharts","onChartsBundleUpdated","currentTestName","toCharts","printStackTrace","reason","emptyList","mutableStateListOf","FormData","refreshBenchmarks","isGenericInput","form","parseGenericInput","isTestName","findMetricKeyOrNull","metricName","InvalidBenchmarkDataException","parseValues","parseTitle","firstOrNull","TextNumberLine","destroy","other","contentEquals","contentHashCode","cloneNode","setTimeout","delay","newForm","window","prompt","bName","alert","SavedBenchmarkNode","formData","newList","savedBenchmarkNode","confirm","deletedBenchmarkNode","localStorage","getItem","savedBenchmarksString","SavedBenchmarks","JSON","parse","stringify","setItem","removeAll","toString","toBoolean","isTestNameDetectionEnabled","words","word","toFloatArray","array","newArray","i","segments","combinedMap","g","before","after","diff","summaryNodes","SummaryNode","emoji","segment","percDiff","resultWord","symbol","metricConfig","onSummaryReady","Summary","onSummaryFailed","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","node","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","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","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","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 diff --git a/beta/index.html b/beta/index.html new file mode 100644 index 0000000..6ba01a4 --- /dev/null +++ b/beta/index.html @@ -0,0 +1,29 @@ + + + + + + + 📊 benchart + + + + + + +
+ + + + \ No newline at end of file