diff --git a/benchart.js b/benchart.js index 0857e5a..0e0fdd2 100644 --- a/benchart.js +++ b/benchart.js @@ -1,3 +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.$_$.r5,o=e.$_$.z4,r=e.$_$.b7;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.$_$.k5,$t=e.$_$.x1,xt=e.$_$.s5,kt=e.$_$.z4,jt=e.$_$.n,Ct=e.$_$.o6,St=e.$_$.o5,zt=e.$_$.g1,Mt=e.$_$.y6,Ot=e.$_$.z6,qt=e.$_$.w1,Pt=e.$_$.p1,At=e.$_$.t6,Et=e.$_$.a7,Dt=e.$_$.d4,It=n.$_$.n,Tt=n.$_$.i,Lt=e.$_$.l4,Rt=e.$_$.k4,Nt=e.$_$.m4,Ft=e.$_$.p4,Bt=e.$_$.n5,Ht=e.$_$.b5,Vt=e.$_$.t,Wt=e.$_$.f,Ut=e.$_$.p,Kt=e.$_$.i5,Yt=e.$_$.j6,Gt=e.$_$.b3,Xt=e.$_$.x3,Jt=e.$_$.s3,Zt=e.$_$.i6,Qt=e.$_$.m,te=e.$_$.c7,ee=e.$_$.z3,ne=e.$_$.r5,ie=e.$_$.e1,oe=e.$_$.v6,re=e.$_$.f3,se=e.$_$.a5,ae=e.$_$.y5,ue=e.$_$.g5,le=e.$_$.l5,ce=e.$_$.o2,he=e.$_$.u6,fe=e.$_$.r,pe=e.$_$.o3,_e=n.$_$.k,de=n.$_$.e,ve=n.$_$.f,ye=e.$_$.b7,me=e.$_$.o4,ge=e.$_$.n4,be=e.$_$.h5,we=e.$_$.e2,$e=e.$_$.q2,xe=e.$_$.q4,ke=n.$_$.l,je=e.$_$.b4,Ce=n.$_$.c,Se=e.$_$.o,ze=e.$_$.v3,Me=e.$_$.i3,Oe=n.$_$.h,qe=e.$_$.w,Pe=e.$_$.a4,Ae=e.$_$.r6,Ee=n.$_$.o,De=n.$_$.b,Ie=e.$_$.e,Te=e.$_$.l6,Le=n.$_$.g,Re=n.$_$.m,Ne=e.$_$.s,Fe=e.$_$.q3,Be=(e.$_$.r4,e.$_$.s4,e.$_$.r2),He=e.$_$.d3,Ve=e.$_$.d5,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.$_$.t5,un=e.$_$.w4,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.$_$.v5,gn=e.$_$.u5,bn=e.$_$.s6,wn=e.$_$.c1,$n=e.$_$.i1,xn=e.$_$.a1,kn=e.$_$.q,jn=e.$_$.h6,Cn=e.$_$.m5,Sn=e.$_$.v2,zn=e.$_$.b,Mn=e.$_$.r3,On=e.$_$.z5,qn=e.$_$.j5,Pn=e.$_$.v1,An=e.$_$.u3,En=e.$_$.b6,Dn=e.$_$.v4,In=e.$_$.u2,Tn=e.$_$.m1,Ln=e.$_$.d,Rn=e.$_$.g6,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=zt(St(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=zt(s.i27_1.a3());if(!_t(n,a))throw Mt(jt("Invalid order. Expected '"+n+"', but found '"+a+"'"))}}}(0,i);var w=function(t,e){return mt(e," vs ",null,null,0,null,Ln,30,null)}(0,i);return n.a(new Fn(w,"",i)),n}(t,e))}function qn(t,e){return t.x27_1.p8(e)}function Pn(t,e){var n=t.w27_1.o8(e," "),i=Ot("\\s{2,}").o8(n," ");return jt(kt(xt(i)?i:pt()))}function An(t,e){var n=Pn(t,e);return qt(e+" -> "+n),n}function En(t,e){return!function(t,e){return t.v27_1.p8(e)}(t,e)}function Dn(t,e,n){var i;if(!Pt(n,e,!1,2,null))throw Mt(jt("Invalid "+e+".Expected to start with '"+e+"' but found '"+n+"'"));var o=At(n,e,"",!1,4,null);i=Ot("\\s+").o8(o," ");for(var r=bt(i,[", "],!1,0,6,null),s=$t(wt(r,10)),a=r.c();a.d();){var u,l,c=a.e(),h=At(c,",","",!1,4,null);l=jt(kt(xt(h)?h:pt())),u=bt(l,[" "],!1,0,6,null),s.a(u)}for(var f=s,p=Ct(),_=f.c();_.d();){var d=_.e(),v=d.g(0),y=d.g(1),m=Et(y);p.n3(v,m)}return p}function In(t,e){var n;t:{for(var i=e.u27_1.c();i.d();){var o=i.e();if(Pt(t,o,!1,2,null)){n=o;break t}}n=null}return n}function Tn(t){return jt(kt(xt(t)?t:pt()))}function Ln(t){return t.h27_1}function Rn(){v=this;for(var t,e=jn(),n=$t(e.length),i=e,o=0,r=i.length;o "+_);for(var y=Ct(),m=Gt(["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(),$=bt(w,[" "],!1,0,6,null).g(0),x=y.z2($);if(null==x){if(m.h())throw Mt("lineColors exhausted");var k=St(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 Gn(i,y);return qt("groupMap: "+S),S}function Jn(t,e){this.n28_1=t,this.o28_1=e,this.p28_1=8}function Zn(t,e,n,i,o,r){return function(t,e,n,i,o,r,s){return 0!=(8&o)&&(i="col-lg-6"),Qn.call(s,t,e,n,i),s}(t,e,n,i,o,0,Object.create(Qn.prototype))}function Qn(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 ti(t,e,n){this.z27_1=t,this.a28_1=e,this.b28_1=n,this.c28_1=0}function ei(){g=this}function ni(t,e,n){var i=e;return Jt()&&Xt(2098833845,n,-1,"components.ComposableSingletons$AutoFormUiKt.lambda-1. (AutoFormUi.kt:30)"),Zt("⌨️ Input",i,6),Jt()&&Qt(),dt()}function ii(t,e,n){var i=e;return Jt()&&Xt(-1047390949,n,-1,"components.ComposableSingletons$AutoFormUiKt.lambda-2. (AutoFormUi.kt:58)"),Zt("Benchmark :",i,6),Jt()&&Qt(),dt()}function oi(t,e,n){var i=e;return Jt()&&Xt(-1553178399,n,-1,"components.ComposableSingletons$AutoFormUiKt.lambda-3. (AutoFormUi.kt:89)"),Zt("💾 SAVE",i,6),Jt()&&Qt(),dt()}function ri(){var t;b=this,this.g29_1=(t=te(2098833845,!1,ni),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)}}(te(-1047390949,!1,ii)),this.i29_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(te(-1553178399,!1,oi))}function si(){return null==b&&new ri,b}function ai(t,e,n,i,o,r,s,a,u,l){var c=u;c=c.y17(1546286992),ee(c,"C(FormUi$composable)P(!1,7,6,2,4,5,3)");var h,f=l;Jt()&&Xt(1546286992,f,-1,"components.FormUi$composable (AutoFormUi.kt:14)");var p=c;p.pw(-1124426577),ee(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===ne().tw_1){var b=(d=new ui(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||ie(w)?w:pt();p.uw(),h=$,oe(dt(),h,c,64),re(null,si().g29_1,c,48,1);var x=se(c,950905109,!0,function(t,e,n,i,o,r,s,a,u){return function(l,c,h){var f=c;Jt()&&Xt(950905109,h,-1,"components.FormUi$composable. (AutoFormUi.kt:34)");var p=se(f,-1972588882,!0,function(t,e,n,i,o,r,s,a,u){return function(l,c,h){var f=c;Jt()&&Xt(-1972588882,h,-1,"components.FormUi$composable.. (AutoFormUi.kt:35)"),f.s14(-1629932720,"inputForm"),no(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),ee(p,"C(remember$composable):Composables.kt#9igjgp");var _,d=p,v=d.rw();if(v===ne().tw_1){var y=li;d.sw(y),_=y}else _=v;var m=_,g=null==m||ie(m)?m:pt();p.uw();var b=g,w=se(f,-1534844198,!0,function(t,e,n){return function(e,i,o){var r=i;Jt()&&Xt(-1534844198,o,-1,"components.FormUi$composable.... (AutoFormUi.kt:51)");var s=r;s.pw(547886695),ee(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,l=u.rw();if(l===ne().tw_1){var c=ci;u.sw(c),a=c}else a=l;var h,f=a,p=null==f||ie(f)?f:pt();s.uw(),pe("benchmark",p,si().h29_1,r,390,0);var _=r;_.pw(-1124426577),ee(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.qw(n)|_.qw(t)),m=v.rw();if(y||m===ne().tw_1){var g=function(t,e){return function(n){return n.i1v("benchmark"),n.h1v(["form-control"]),he(n,"Benchmark data"),fe(n,20),n.v22(function(t,e){return function(n){return t(e.e29(n.q25_1,!1,!1,6,null)),dt()}}(t,e)),dt()}}(n,t);v.sw(g),d=g}else d=m;var b=d,w=null==b||ie(b)?b:pt();return _.uw(),h=w,_e(t.z27_1,h,r,0,0),Jt()&&(Qt(),dt()),dt()}}(s,0,u)),$=f;$.pw(-838505973),ee($,"C(remember$composable)P(1):Composables.kt#9igjgp");var x,k,j=$,C=$.qw(w),S=j.rw();if(C||S===ne().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||ie(M)?M:pt();$.uw(),ae(b,O,f,48,0);var q=f;q.pw(-1124426577),ee(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===ne().tw_1){var I=function(t,e){return function(n){return n.h1v(["btn","btn-dark","float-end"]),n.f1v(hi),Tt(t.z27_1)&&(n.p1u("disabled","true"),dt()),n.l1v(function(t,e){return function(n){return t(e),dt()}}(e,t)),me(n,ye()),dt()}}(s,a);A.sw(I),P=I}else P=D;var T=P,L=null==T||ie(T)?T:pt();return q.uw(),ge(L,si().i29_1,f,48,0),f.v14(),Jt()&&(Qt(),dt()),dt()}}(t,e,n,i,o,r,s,a,u)),_=f;_.pw(-838505973),ee(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.qw(p),g=y.rw();if(m||g===ne().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||ie(w)?w:pt();return _.uw(),be(null,null,$,f,384,3),Jt()&&(Qt(),dt()),dt()}}(e,n,r,s,a,f,t,o,i)),k=c;k.pw(-838505973),ee(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,C,S=k,z=k.qw(x),M=S.rw();if(z||M===ne().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||ie(q)?q:pt();k.uw(),ae(null,P,c,48,1),Jt()&&Qt();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){ai(t,e,n,i,o,r,s,a,l,1|u)}(t,e,n,i,o,r,s,a,u,l),dt()}}(t,e,n,i,o,r,s,a,l))}function ui(t,e,n){this.t29_1=t,this.u29_1=e,ue.call(this,n)}function li(t){return t.h1v(["form-group"]),dt()}function ci(t){return t.h1v(["form-label"]),dt()}function hi(t){return ve(t,de(10)),dt()}function fi(t,e,n){var i=e;return Jt()&&Xt(1529185564,n,-1,"components.ComposableSingletons$AutoGroupToggleKt.lambda-1. (AutoGroupToggle.kt:29)"),Zt("Auto Group:",i,6),Jt()&&Qt(),dt()}function pi(){var t;w=this,this.w29_1=(t=te(1529185564,!1,fi),function(e,n,i){return t.y1s(e,n,i)})}function _i(t,e,n,i){var o=n;o=o.y17(442093563),ee(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{Jt()&&Xt(442093563,u,-1,"components.AutoGroup$composable (AutoGroupToggle.kt:10)");var l=o;l.pw(547886695),ee(l,"C(remember$composable):Composables.kt#9igjgp");var c,h=l,f=h.rw();if(f===ne().tw_1){var p=di;h.sw(p),c=p}else c=f;var _=c,d=null==_||ie(_)?_:pt();l.uw();var v=d,y=se(o,1468648411,!0,(s=t,a=e,function(t,e,n){var i=e;Jt()&&Xt(1468648411,n,-1,"components.AutoGroup$composable. (AutoGroupToggle.kt:21)");var o=i;o.pw(547886695),ee(o,"C(remember$composable):Composables.kt#9igjgp");var r,u=o,l=u.rw();if(l===ne().tw_1){var c=yi;u.sw(c),r=c}else r=l;var h=r,f=null==h||ie(h)?h:pt();o.uw(),pe("colorMap",f,(null==w&&new pi,w).w29_1,i,390,0),$e(null,i,0,1);var p=i;p.pw(-1124426577),ee(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===ne().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(),dt()}}(e)),me(n,ye()),dt()}}(s,a);d.sw(m),_=m}else _=y;var g=_,b=null==g||ie(g)?g:pt();p.uw();var $=b,x=se(i,-431302815,!0,function(t){return function(e,n,i){var o=n;return Jt()&&Xt(-431302815,i,-1,"components.AutoGroup$composable.. (AutoGroupToggle.kt:42)"),Zt(t?"ON":"OFF",o,0),Jt()&&(Qt(),dt()),dt()}}(s)),k=i;k.pw(-838505973),ee(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,C,S=k,z=k.qw(x),M=S.rw();if(z||M===ne().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||ie(q)?q:pt();return k.uw(),ge($,P,i,48,0),Jt()&&(Qt(),dt()),dt()})),m=o;m.pw(-838505973),ee(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,b=m,$=m.qw(y),x=b.rw();if($||x===ne().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||ie(j)?j:pt();m.uw(),ae(v,C,o,48,0),Jt()&&Qt()}var S=o.z17();null===S||S.u18(function(t,e,n){return function(i,o){return function(t,e,n,i,o){_i(t,e,i,1|n)}(t,e,n,i),dt()}}(t,e,i))}function di(t){return t.h1v(["form-group"]),t.f1v(vi),dt()}function vi(t){return we(t,de(10)),dt()}function yi(t){return t.h1v(["form-label"]),dt()}function mi(t,e,n,i,o){var r=i;r=r.y17(-1178138425),ee(r,"C(ChartUi$composable)P(2,1)");var s=o;Jt()&&Xt(-1178138425,s,-1,"components.ChartUi$composable (ChartUi.kt:14)");var a,u=se(r,-1469495048,!0,(a=n,function(t,e,n){var i=e;return Jt()&&Xt(-1469495048,n,-1,"components.ChartUi$composable. (ChartUi.kt:19)"),Zt(a.s28_1+" "+a.t28_1,i,0),Jt()&&(Qt(),dt()),dt()})),l=r;l.pw(-838505973),ee(l,"C(remember$composable)P(1):Composables.kt#9igjgp");var c,h,f=l,p=l.qw(u),_=f.rw();if(p||_===ne().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||ie(v)?v:pt();l.uw(),re(null,y,r,48,1);var m=r;m.pw(547886695),ee(m,"C(remember$composable):Composables.kt#9igjgp");var b,w=m,$=w.rw();if($===ne().tw_1){var x=gi;w.sw(x),b=x}else b=$;var k=b,j=null==k||ie(k)?k:pt();m.uw();var C=j,S=se(r,1870993739,!0,function(t,e,n,i){return function(o,r,s){var a=r;return Jt()&&Xt(1870993739,s,-1,"components.ChartUi$composable. (ChartUi.kt:32)"),Ae(t,e,function(t,e,n,i){return function(o){for(var r=gt(),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=Oe(_),f.data=u,e){var d=n.j28_1,v=f.label;p=(ce(d,qe)?d:pt()).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 ei,y="line",w.type=y;for(var $,x={},k=t.u28_1.b3(),j=gt(),C=k.c();C.d();){var S;S=C.e().a3(),Yt(j,S)}var z,M,O=Wt(j),q=Oe(O);qt("labels: "+Pe(q)),$=q,x.labels=$,z=Oe(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 wi(new T(b,w))}}(t,e,i,o),a,8|112&n<<3),Jt()&&(Qt(),dt()),dt()}}(n,t,s,e)),z=r;z.pw(-838505973),ee(z,"C(remember$composable)P(1):Composables.kt#9igjgp");var M,O=z,q=z.qw(S),P=O.rw();if(q||P===ne().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||ie(E)?E:pt();z.uw(),xe(C,D,r,48,0),Jt()&&Qt();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){mi(t,e,n,o,1|i)}(t,e,n,i,o),dt()}}(t,e,n,o))}function gi(t){return t.f1v(bi),dt()}function bi(t){return je(t,ke(100)),Ce(t,ke(100)),Se(t,de(700)),ze(t,de(700)),dt()}function wi(t){this.y29_1=t}function $i(t,e,n){var i=e;return Jt()&&Xt(-646215327,n,-1,"components.ComposableSingletons$EditableTitleKt.lambda-1. (EditableTitle.kt:29)"),Zt("Title :",i,6),Jt()&&Qt(),dt()}function xi(t,e,n){var i=e;Jt()&&Xt(1730974274,n,-1,"components.ComposableSingletons$EditableTitleKt.lambda-2. (EditableTitle.kt:23)");var o=i;o.pw(547886695),ee(o,"C(remember$composable):Composables.kt#9igjgp");var r,s=o,a=s.rw();if(a===ne().tw_1){var u=ki;s.sw(u),r=u}else r=a;var l=r,c=null==l||ie(l)?l:pt();o.uw(),pe("customTitle",c,Oi().z29_1,i,390,0);var h=Ee(),f=i;f.pw(547886695),ee(f,"C(remember$composable):Composables.kt#9igjgp");var p,_=f,d=_.rw();if(d===ne().tw_1){var v=ji;_.sw(v),p=v}else p=d;var y=p,m=null==y||ie(y)?y:pt();return f.uw(),De(h,m,i,8),Jt()&&Qt(),dt()}function ki(t){return t.h1v(["form-label"]),dt()}function ji(t){return t.i1v("customTitle"),t.h1v(["form-control"]),Ie(t,"Custom title goes here"),t.f1v(Ci),dt()}function Ci(t){return Te(t,de(24)),dt()}function Si(t,e,n){var i=e;Jt()&&Xt(1174811809,n,-1,"components.ComposableSingletons$EditableTitleKt.lambda-3. (EditableTitle.kt:18)");var o=i;o.pw(547886695),ee(o,"C(remember$composable):Composables.kt#9igjgp");var r,s=o,a=s.rw();if(a===ne().tw_1){var u=zi;s.sw(u),r=u}else r=a;var l=r,c=null==l||ie(l)?l:pt();return o.uw(),ae(c,Oi().a2a_1,i,48,0),Jt()&&Qt(),dt()}function zi(t){return t.h1v(["form-group"]),dt()}function Mi(){var t;$=this,this.z29_1=(t=te(-646215327,!1,$i),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)}}(te(1730974274,!1,xi)),this.b2a_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(te(1174811809,!1,Si))}function Oi(){return null==$&&new Mi,$}function qi(t,e){var n=t;if(n=n.y17(1068528252),ee(n,"C(EditableTitle$composable)"),0===e&&n.g16())n.k12();else{Jt()&&Xt(1068528252,e,-1,"components.EditableTitle$composable (EditableTitle.kt:13)");var i=n;i.pw(547886695),ee(i,"C(remember$composable):Composables.kt#9igjgp");var o,r=i,s=r.rw();if(s===ne().tw_1){var a=Pi;r.sw(a),o=a}else o=s;var u=o,l=null==u||ie(u)?u:pt();i.uw(),ae(l,Oi().b2a_1,n,48,0),Jt()&&Qt()}var c,h=n.z17();null===h||h.u18((c=e,function(t,e){return function(t,e,n){qi(e,1|t)}(c,t),dt()}))}function Pi(t){return t.h1v(["row"]),dt()}function Ai(t,e,n){var i=e;i=i.y17(-1873638994),ee(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{Jt()&&Xt(-1873638994,n,-1,"components.ErrorUi$composable (Error.kt:8)");var a=i;a.pw(547886695),ee(a,"C(remember$composable):Composables.kt#9igjgp");var u,l=a,c=l.rw();if(c===ne().tw_1){var h=Ei;l.sw(h),u=h}else u=c;var f=u,p=null==f||ie(f)?f:pt();a.uw();var _=p,d=se(i,1938269174,!0,(r=t,function(t,e,n){var i=e;Jt()&&Xt(1938269174,n,-1,"components.ErrorUi$composable. (Error.kt:11)");var o=i;o.pw(547886695),ee(o,"C(remember$composable):Composables.kt#9igjgp");var s,a=o,u=a.rw();if(u===ne().tw_1){var l=Di;a.sw(l),s=l}else s=u;var c=s,h=null==c||ie(c)?c:pt();o.uw();var f=h,p=se(i,-1978518889,!0,function(t){return function(e,n,i){var o=n;Jt()&&Xt(-1978518889,i,-1,"components.ErrorUi$composable.. (Error.kt:14)");var r=o;r.pw(547886695),ee(r,"C(remember$composable):Composables.kt#9igjgp");var s,a=r,u=a.rw();if(u===ne().tw_1){var l=Ii;a.sw(l),s=l}else s=u;var c=s,h=null==c||ie(c)?c:pt();r.uw();var f=h,p=se(o,153044343,!0,function(t){return function(e,n,i){var o=n;return Jt()&&Xt(153044343,i,-1,"components.ErrorUi$composable... (Error.kt:17)"),Zt("❌ "+t,o,0),Jt()&&(Qt(),dt()),dt()}}(t)),_=o;_.pw(-838505973),ee(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.qw(p),g=y.rw();if(m||g===ne().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||ie(w)?w:pt();return _.uw(),Le(f,$,o,48,0),Jt()&&(Qt(),dt()),dt()}}(r)),_=i;_.pw(-838505973),ee(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.qw(p),g=y.rw();if(m||g===ne().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||ie(w)?w:pt();return _.uw(),ae(f,$,i,48,0),Jt()&&(Qt(),dt()),dt()})),v=i;v.pw(-838505973),ee(v,"C(remember$composable)P(1):Composables.kt#9igjgp");var y,m=v,g=v.qw(d),b=m.rw();if(g||b===ne().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==$||ie($)?$:pt();v.uw(),ae(_,x,i,48,0),Jt()&&Qt()}var k=i.z17();null===k||k.u18(function(t,e){return function(n,i){return function(t,e,n,i){Ai(t,n,1|e)}(t,e,n),dt()}}(t,n))}function Ei(t){return t.h1v(["row"]),dt()}function Di(t){return t.h1v(["col-lg-12"]),dt()}function Ii(t){return t.h1v(["text-center"]),dt()}function Ti(t,e,n){var i=e;return Jt()&&Xt(-1817257175,n,-1,"components.ComposableSingletons$HeadingKt.lambda-1. (Heading.kt:21)"),Zt("📊 benchart",i,6),Jt()&&Qt(),dt()}function Li(t,e,n){var i=e;Jt()&&Xt(-1445218266,n,-1,"components.ComposableSingletons$HeadingKt.lambda-2. (Heading.kt:18)");var o=i;o.pw(547886695),ee(o,"C(remember$composable):Composables.kt#9igjgp");var r,s=o,a=s.rw();if(a===ne().tw_1){var u=Ri;s.sw(u),r=u}else r=a;var l=r,c=null==l||ie(l)?l:pt();return o.uw(),Re(c,Vi().c2a_1,i,48,0),Jt()&&Qt(),dt()}function Ri(t){return t.h1v(["text-center"]),dt()}function Ni(t,e,n){var i=e;Jt()&&Xt(-1522093819,n,-1,"components.ComposableSingletons$HeadingKt.lambda-3. (Heading.kt:11)");var o=i;o.pw(547886695),ee(o,"C(remember$composable):Composables.kt#9igjgp");var r,s=o,a=s.rw();if(a===ne().tw_1){var u=Fi;s.sw(u),r=u}else r=a;var l=r,c=null==l||ie(l)?l:pt();return o.uw(),ae(c,Vi().d2a_1,i,48,0),Jt()&&Qt(),dt()}function Fi(t){return t.h1v(["col-lg-12"]),t.f1v(Bi),dt()}function Bi(t){return Ne(t,de(30)),ve(t,de(30)),dt()}function Hi(){var t;x=this,this.c2a_1=(t=te(-1817257175,!1,Ti),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)}}(te(-1445218266,!1,Li)),this.e2a_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(te(-1522093819,!1,Ni))}function Vi(){return null==x&&new Hi,x}function Wi(t,e){var n=t;if(n=n.y17(1340484778),ee(n,"C(Heading$composable)"),0===e&&n.g16())n.k12();else{Jt()&&Xt(1340484778,e,-1,"components.Heading$composable (Heading.kt:8)");var i=n;i.pw(547886695),ee(i,"C(remember$composable):Composables.kt#9igjgp");var o,r=i,s=r.rw();if(s===ne().tw_1){var a=Ui;r.sw(a),o=a}else o=s;var u=o,l=null==u||ie(u)?u:pt();i.uw(),ae(l,Vi().e2a_1,n,48,0),Jt()&&Qt()}var c,h=n.z17();null===h||h.u18((c=e,function(t,e){return function(t,e,n){Wi(e,1|t)}(c,t),dt()}))}function Ui(t){return t.h1v(["row"]),dt()}function Ki(t,e){this.f2a_1=t,this.g2a_1=e,this.h2a_1=0}function Yi(t){this.i2a_1=t,this.j2a_1=8}function Gi(){return po(),k}function Xi(t,e,n){var i=e;return Jt()&&Xt(37561396,n,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-1. (SavedBenchmarksDropDown.kt:35)"),Zt("Load Benchmark :",i,6),Jt()&&Qt(),dt()}function Ji(t,e,n){var i=e;return Jt()&&Xt(-32633967,n,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-2. (SavedBenchmarksDropDown.kt:88)"),Zt("Unsaved benchmark",i,6),Jt()&&Qt(),dt()}function Zi(t,e,n){var i=e;return Jt()&&Xt(-652929765,n,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-3. (SavedBenchmarksDropDown.kt:114)"),Zt("LOAD",i,6),Jt()&&Qt(),dt()}function Qi(t,e,n){var i=e;return Jt()&&Xt(-1219865148,n,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-4. (SavedBenchmarksDropDown.kt:130)"),Zt("DELETE",i,6),Jt()&&Qt(),dt()}function to(){var t;j=this,this.k2a_1=(t=te(37561396,!1,Xi),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)}}(te(-32633967,!1,Ji)),this.m2a_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(te(-652929765,!1,Zi)),this.n2a_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(te(-1219865148,!1,Qi))}function eo(){return null==j&&new to,j}function no(t,e,n,i,o,r,s){po();var a=r;a=a.y17(-441302567),ee(a,"C(SavedBenchmarksDropDown$composable)P(4,3,2,1)");var u,l,c,h,f,p,_=s;if(Jt()&&Xt(-441302567,_,-1,"components.SavedBenchmarksDropDown$composable (SavedBenchmarksDropDown.kt:15)"),e.h()){Jt()&&Qt();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){no(t,e,n,i,o,s,1|r)}(u,l,c,h,f,p,t),dt()})),dt()}var v=a;v.pw(-838505973),ee(v,"C(remember$composable)P(1):Composables.kt#9igjgp");var y,m=v,g=v.qw(e),b=m.rw();if(g||b===ne().tw_1){var w=St(e),$=We(w,null,2,null);m.sw($),y=$}else y=b;var x=y,k=null==x||ie(x)?x:pt();v.uw();var j=k,C=a;C.pw(547886695),ee(C,"C(remember$composable):Composables.kt#9igjgp");var S,z=C,M=z.rw();if(M===ne().tw_1){var O=oo;z.sw(O),S=O}else S=M;var q=S,P=null==q||ie(q)?q:pt();C.uw(),pe("savedBenchmarks",P,eo().k2a_1,a,390,0);var A=a;A.pw(547886695),ee(A,"C(remember$composable):Composables.kt#9igjgp");var E,D=A,I=D.rw();if(I===ne().tw_1){var T=ro;D.sw(T),E=T}else E=I;var L=E,R=null==L||ie(L)?L:pt();A.uw();var N=R,F=se(a,549151222,!0,function(t,e,n,i,o,r,s){return function(i,a,u){var l=a;Jt()&&Xt(549151222,u,-1,"components.SavedBenchmarksDropDown$composable. (SavedBenchmarksDropDown.kt:43)");var c=l;c.pw(547886695),ee(c,"C(remember$composable):Composables.kt#9igjgp");var h,f=c,p=f.rw();if(p===ne().tw_1){var _=so;f.sw(_),h=_}else h=p;var d=h,v=null==d||ie(d)?d:pt();c.uw();var y=v,m=se(l,1940859863,!0,function(t,e,n,i,o,r,s){return function(i,a,u){var l=a;Jt()&&Xt(1940859863,u,-1,"components.SavedBenchmarksDropDown$composable.. (SavedBenchmarksDropDown.kt:48)");var c=l;c.pw(547886695),ee(c,"C(remember$composable):Composables.kt#9igjgp");var h,f=c,p=f.rw();if(p===ne().tw_1){var _=ao;f.sw(_),h=_}else h=p;var d=h,v=null==d||ie(d)?d:pt();c.uw();var y=v,m=se(l,461626232,!0,function(t,e,n,i,o){return function(i,r,s){var a=r;Jt()&&Xt(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){po(),Ye("selectedBenchmark",Ue,!0,(function(){return Ke()})),t.us(e)})(n,Ge(r)),dt()}return dt()}}(t,e,n)),dt()}}(t,e,n),l=se(a,1692700999,!0,function(t,e,n,i){return function(e,o,r){var s=o;Jt()&&Xt(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),ee(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===ne().tw_1){var _=uo(u,i,n);h.sw(_),c=_}else c=p;var d=c,v=null==d||ie(d)?d:pt();l.uw();var y,m=v,g=se(s,1052804723,!0,lo(u)),b=s;b.pw(-838505973),ee(b,"C(remember$composable)P(1):Composables.kt#9igjgp");var w,$=b,x=b.qw(g),k=$.rw();if(x||k===ne().tw_1){var j=co(g);$.sw(j),w=j}else w=k;var C=w,S=null==C||ie(C)?C:pt();b.uw(),y=S,Je(u.f2a_1,m,y,s,384,0)}var z=Gi(),M=s;M.pw(-838505973),ee(M,"C(remember$composable)P(1):Composables.kt#9igjgp");var O,q=M,P=M.qw(i),A=q.rw();if(P||A===ne().tw_1){var E=function(t){return function(e){return t&&(Xe(e),dt()),dt()}}(i);q.sw(E),O=E}else O=A;var D=O,I=null==D||ie(D)?D:pt();return M.uw(),Je(z,I,eo().l2a_1,s,390,0),Jt()&&(Qt(),dt()),dt()}}(e,0,n,o)),c=a;c.pw(-838505973),ee(c,"C(remember$composable)P(1):Composables.kt#9igjgp");var h,f,p=c,_=c.qw(l),d=p.rw();if(_||d===ne().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||ie(y)?y:pt();return c.uw(),Ze(u,!1,m,a,384,2),Jt()&&(Qt(),dt()),dt()}}(t,e,n,0,o)),g=l;g.pw(-838505973),ee(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var b,w,$=g,x=g.qw(m),k=$.rw();if(x||k===ne().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||ie(C)?C:pt();g.uw(),ae(y,S,l,48,0);var z=l;z.pw(547886695),ee(z,"C(remember$composable):Composables.kt#9igjgp");var M,O=z,q=O.rw();if(q===ne().tw_1){var P=ho;O.sw(P),M=P}else M=q;var A=M,E=null==A||ie(A)?A:pt();z.uw();var D=E,I=se(l,-282119967,!0,function(t,e,n,i,o){return function(t,r,s){var a=r;Jt()&&Xt(-282119967,s,-1,"components.SavedBenchmarksDropDown$composable... (SavedBenchmarksDropDown.kt:98)");var u=a;u.pw(-1058148781),ee(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===ne().tw_1){var p=function(t,e,n){return function(i){return i.h1v(["btn","btn-primary"]),i.f1v(fo),i.l1v(function(t,e){return function(n){return t(io(e)),dt()}}(e,n)),me(i,ye()),t&&(tn(i),dt()),dt()}}(i,e,n);c.sw(p),l=p}else l=f;var _=l,d=null==_||ie(_)?_:pt();u.uw(),ge(d,eo().m2a_1,a,48,0);var v=a;v.pw(-1058148781),ee(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===ne().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(io(e)),dt()}}(e,n)),me(i,ye()),t&&(tn(i),dt()),dt()}}(i,o,n);m.sw(w),y=w}else y=b;var $=y,x=null==$||ie($)?$:pt();return v.uw(),ge(x,eo().n2a_1,a,48,0),Jt()&&(Qt(),dt()),dt()}}(0,r,n,o,s)),T=l;T.pw(-838505973),ee(T,"C(remember$composable)P(1):Composables.kt#9igjgp");var L,R=T,N=T.qw(I),F=R.rw();if(N||F===ne().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||ie(H)?H:pt();return T.uw(),ae(D,V,l,48,0),Jt()&&(Qt(),dt()),dt()}}(t,e,n,0,o,r,s)),g=l;g.pw(-838505973),ee(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var b,w,$=g,x=g.qw(m),k=$.rw();if(x||k===ne().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||ie(C)?C:pt();return g.uw(),ae(y,S,l,48,0),Jt()&&(Qt(),dt()),dt()}}(n,e,j,0,t,i,o)),B=a;B.pw(-838505973),ee(B,"C(remember$composable)P(1):Composables.kt#9igjgp");var H,V,W=B,U=B.qw(F),K=W.rw();if(U||K===ne().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||ie(G)?G:pt();B.uw(),ae(N,X,a,48,0),Jt()&&Qt();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){no(t,e,n,i,o,s,1|r)}(t,e,n,i,o,r,s),dt()}}(t,e,n,i,o,s))}function io(t){return po(),Ye("selectedBenchmark",Ue,!0,(function(){return Ke()})),t.l2()}function oo(t){return po(),t.h1v(["form-label"]),dt()}function ro(t){return po(),t.h1v(["form-group"]),dt()}function so(t){return po(),t.h1v(["row"]),dt()}function ao(t){return po(),t.h1v(["col"]),dt()}function uo(t,e,n){return function(i){return t.f2a_1!==io(n).f2a_1||e||(Xe(i),dt()),dt()}}function lo(t){return function(e,n,i){var o=n;return Jt()&&Xt(1052804723,i,-1,"components.SavedBenchmarksDropDown$composable..... (SavedBenchmarksDropDown.kt:76)"),Zt(t.f2a_1,o,0),Jt()&&(Qt(),dt()),dt()}}function co(t){return function(e,n,i){return t.y1s(e,n,i)}}function ho(t){return po(),t.h1v(["col"]),dt()}function fo(t){return po(),Qe(t,de(10)),dt()}function po(){C||(C=!0,k="unsavedBenchmark_"+(new Date).getMilliseconds())}function _o(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 vo(t,e){this.i2b_1=t,this.j2b_1=e,this.k2b_1=8}function yo(t,e,n){var i=e;i=i.y17(134396740),ee(i,"C(SummaryContainer$composable)"),Jt()&&Xt(134396740,n,-1,"components.SummaryContainer$composable (Summary.kt:30)");for(var o=t.c();o.d();){var r=o.e();i.s14(-380220388,r.i2b_1),mo(r.i2b_1,r.j2b_1,i,64),$e(null,i,0,1),i.v14()}Jt()&&Qt();var s,a,u=i.z17();null===u||u.u18((s=t,a=n,function(t,e){return function(t,e,n,i){yo(t,n,1|e)}(s,a,t),dt()}))}function mo(t,e,n,i){var o=n;o=o.y17(1271998269),ee(o,"C(SummaryUi$composable)P(1)");var r=i;Jt()&&Xt(1271998269,r,-1,"components.SummaryUi$composable (Summary.kt:42)");var s=o;s.pw(547886695),ee(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,l=u.rw();if(l===ne().tw_1){var c=bo;u.sw(c),a=c}else a=l;var h=a,f=null==h||ie(h)?h:pt();s.uw();var p,_,d,v=f,y=se(o,1135450184,!0,(p=t,_=r,d=e,function(t,e,n){var i=e;Jt()&&Xt(1135450184,n,-1,"components.SummaryUi$composable. (Summary.kt:47)");var o=se(i,-1777780889,!0,function(t,e){return function(n,i,o){var r=i;return Jt()&&Xt(-1777780889,o,-1,"components.SummaryUi$composable.. (Summary.kt:48)"),Zt(t,r,14&e),Jt()&&(Qt(),dt()),dt()}}(p,_)),r=i;r.pw(-838505973),ee(r,"C(remember$composable)P(1):Composables.kt#9igjgp");var s,a,u=r,l=r.qw(o),c=u.rw();if(l||c===ne().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||ie(f)?f:pt();r.uw(),re(null,v,i,48,1);var y=se(i,328569139,!0,function(t){return function(e,n,i){var o=n;Jt()&&Xt(328569139,i,-1,"components.SummaryUi$composable.. (Summary.kt:49)");for(var r=t.c();r.d();){var s=r.e(),a=se(o,-1319792079,!0,$o(s)),u=o;u.pw(-838505973),ee(u,"C(remember$composable)P(1):Composables.kt#9igjgp");var l,c=u,h=u.qw(a),f=c.rw();if(h||f===ne().tw_1){var p=xo(a);c.sw(p),l=p}else l=f;var _=l,d=null==_||ie(_)?_:pt();u.uw(),nn(null,d,o,48,1)}return Jt()&&(Qt(),dt()),dt()}}(d)),m=i;m.pw(-838505973),ee(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,b=m,w=m.qw(y),$=b.rw();if(w||$===ne().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||ie(k)?k:pt();return m.uw(),on(null,j,i,48,1),Jt()&&(Qt(),dt()),dt()})),m=o;m.pw(-838505973),ee(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,b,w=m,$=m.qw(y),x=w.rw();if($||x===ne().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||ie(j)?j:pt();m.uw(),ae(v,C,o,48,0),Jt()&&Qt();var S=o.z17();null===S||S.u18(function(t,e,n){return function(i,o){return function(t,e,n,i,o){mo(t,e,i,1|n)}(t,e,n,i),dt()}}(t,e,i))}function go(t,e,n,i,o){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),Jt()&&Xt(-1073265847,h,-1,"components.BoldText$composable (Summary.kt:90)");var f=r._v,p=s;p.pw(-838505973),ee(p,"C(remember$composable)P(1):Composables.kt#9igjgp");var _,d=p,v=p.qw(f),y=d.rw();if(v||y===ne().tw_1){var m=(c=r,function(t){var e=c._v;return null==e||e(t),t.f1v(ko),dt()});d.sw(m),_=m}else _=y;var g=_,b=null==g||ie(g)?g:pt();p.uw();var w=b,$=se(s,-374759312,!0,(u=t,l=h,function(t,e,n){var i=e;return Jt()&&Xt(-374759312,n,-1,"components.BoldText$composable. (Summary.kt:101)"),Zt(u,i,14&l),Jt()&&(Qt(),dt()),dt()})),x=s;x.pw(-838505973),ee(x,"C(remember$composable)P(1):Composables.kt#9igjgp");var k,j=x,C=x.qw($),S=j.rw();if(C||S===ne().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||ie(M)?M:pt();x.uw(),en(w,O,s,48,0),Jt()&&Qt()}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){go(t,e._v,o,1|n,i)}(t,e,n,i,o),dt()}}(t,r,i,o))}function bo(t){return t.h1v(["row"]),dt()}function wo(t){return t.h1v(["text-capitalize"]),dt()}function $o(t){return function(e,n,i){var o,r=n;Jt()&&Xt(-1319792079,i,-1,"components.SummaryUi$composable.... (Summary.kt:51)"),Zt(t.q2a_1+" ",r,0);var s=r;s.pw(547886695),ee(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,l=u.rw();if(l===ne().tw_1){var c=wo;u.sw(c),a=c}else a=l;var h=a,f=null==h||ie(h)?h:pt();s.uw(),o=f,go(t.r2a_1,o,r,0,0),Zt(" : ",r,6),go(t.s2a_1,null,r,0,2),Zt(t.p2a_1?" looks ":" performed ",r,0),go(t.t2a_1+"% ",null,r,0,2);var p=t.p2a_1?"":"ms",_=r;_.pw(-1124426577),ee(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.qw(t)|_.qw(p)),m=v.rw();if(y||m===ne().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),dt()}}(t,p);v.sw(g),d=g}else d=m;var b=d,w=null==b||ie(b)?b:pt();_.uw();var $=w,x=se(r,-2128018801,!0,function(t){return function(e,n,i){var o=n;return Jt()&&Xt(-2128018801,i,-1,"components.SummaryUi$composable..... (Summary.kt:79)"),Zt(t.u2a_1,o,0),Jt()&&(Qt(),dt()),dt()}}(t)),k=r;k.pw(-838505973),ee(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,C,S=k,z=k.qw(x),M=S.rw();if(z||M===ne().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||ie(q)?q:pt();return k.uw(),en($,P,r,48,0),Zt(" ("+t.w2a_1+t.v2a_1+p+")",r,0),Jt()&&(Qt(),dt()),dt()}}function xo(t){return function(e,n,i){return t.y1s(e,n,i)}}function ko(t){return rn(t,"bold"),dt()}function jo(t,e,n){var i=e;return Jt()&&Xt(1817043984,n,-1,"components.ComposableSingletons$TestNameDetectionToggleKt.lambda-1. (TestNameDetectionToggle.kt:29)"),Zt("Test Name Detection:",i,6),Jt()&&Qt(),dt()}function Co(){var t;S=this,this.l2b_1=(t=te(1817043984,!1,jo),function(e,n,i){return t.y1s(e,n,i)})}function So(t,e,n,i){var o=n;o=o.y17(-1801806257),ee(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{Jt()&&Xt(-1801806257,u,-1,"components.TestNameDetectionToggle$composable (TestNameDetectionToggle.kt:10)");var l=o;l.pw(547886695),ee(l,"C(remember$composable):Composables.kt#9igjgp");var c,h=l,f=h.rw();if(f===ne().tw_1){var p=zo;h.sw(p),c=p}else c=f;var _=c,d=null==_||ie(_)?_:pt();l.uw();var v=d,y=se(o,815464847,!0,(s=t,a=e,function(t,e,n){var i=e;Jt()&&Xt(815464847,n,-1,"components.TestNameDetectionToggle$composable. (TestNameDetectionToggle.kt:21)");var o=i;o.pw(547886695),ee(o,"C(remember$composable):Composables.kt#9igjgp");var r,u=o,l=u.rw();if(l===ne().tw_1){var c=Oo;u.sw(c),r=c}else r=l;var h=r,f=null==h||ie(h)?h:pt();o.uw(),pe("testNameDetection",f,(null==S&&new Co,S).l2b_1,i,390,0),$e(null,i,0,1);var p=i;p.pw(-1124426577),ee(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===ne().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(),dt()}}(e)),me(n,ye()),dt()}}(s,a);d.sw(m),_=m}else _=y;var g=_,b=null==g||ie(g)?g:pt();p.uw();var w=b,$=se(i,-1071119211,!0,function(t){return function(e,n,i){var o=n;return Jt()&&Xt(-1071119211,i,-1,"components.TestNameDetectionToggle$composable.. (TestNameDetectionToggle.kt:42)"),Zt(t?"ON":"OFF",o,0),Jt()&&(Qt(),dt()),dt()}}(s)),x=i;x.pw(-838505973),ee(x,"C(remember$composable)P(1):Composables.kt#9igjgp");var k,j,C=x,z=x.qw($),M=C.rw();if(z||M===ne().tw_1){var O=(j=$,function(t,e,n){return j.y1s(t,e,n)});C.sw(O),k=O}else k=M;var q=k,P=null==q||ie(q)?q:pt();return x.uw(),ge(w,P,i,48,0),Jt()&&(Qt(),dt()),dt()})),m=o;m.pw(-838505973),ee(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,b=m,w=m.qw(y),$=b.rw();if(w||$===ne().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||ie(k)?k:pt();m.uw(),ae(v,j,o,48,0),Jt()&&Qt()}var C=o.z17();null===C||C.u18(function(t,e,n){return function(i,o){return function(t,e,n,i,o){So(t,e,i,1|n)}(t,e,n,i),dt()}}(t,e,i))}function zo(t){return t.h1v(["form-group"]),t.f1v(Mo),dt()}function Mo(t){return we(t,de(10)),dt()}function Oo(t){return t.h1v(["form-label"]),dt()}function qo(t,e,n){var i=e;return Jt()&&Xt(-130845949,n,-1,"components.ComposableSingletons$TestNamesKt.lambda-1. (TestNames.kt:24)"),Zt("Test Name :",i,6),Jt()&&Qt(),dt()}function Po(){var t;z=this,this.m2b_1=(t=te(-130845949,!1,qo),function(e,n,i){return t.y1s(e,n,i)})}function Ao(t,e,n,i,o,r){var s={_v:e},a=i;a=a.y17(246637604),ee(a,"C(TestNames$composable)P(2)");var u,l,c,h,f=o;if(0!=(2&r)&&(s._v=null),Jt()&&Xt(246637604,f,-1,"components.TestNames$composable (TestNames.kt:8)"),!t.h()){var p=a;p.pw(547886695),ee(p,"C(remember$composable):Composables.kt#9igjgp");var _,d=p,v=d.rw();if(v===ne().tw_1){var y=Eo;d.sw(y),_=y}else _=v;var m=_,g=null==m||ie(m)?m:pt();p.uw();var b=g,w=se(a,-1509913918,!0,(l=n,c=t,h=s,function(t,e,n){var i=e;Jt()&&Xt(-1509913918,n,-1,"components.TestNames$composable. (TestNames.kt:18)");var o=i;o.pw(547886695),ee(o,"C(remember$composable):Composables.kt#9igjgp");var r,s=o,a=s.rw();if(a===ne().tw_1){var u=Do;s.sw(u),r=u}else r=a;var f=r,p=null==f||ie(f)?f:pt();o.uw(),pe("testNames",p,(null==z&&new Po,z).m2b_1,i,390,0);var _=i;_.pw(-838505973),ee(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v=_,y=_.qw(l),m=v.rw();if(y||m===ne().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),dt()}}(t)),dt()}}(l);v.sw(g),d=g}else d=m;var b=d,w=null==b||ie(b)?b:pt();_.uw();var $=w,x=se(i,-1857982381,!0,function(t,e,n){return function(n,i,o){var r=i;Jt()&&Xt(-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),ee(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===ne().tw_1){var _=Io(a,e);h.sw(_),c=_}else c=p;var d=c,v=null==d||ie(d)?d:pt();l.uw();var y=v,m=se(r,1208237735,!0,To(a)),g=r;g.pw(-838505973),ee(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var b,w=g,$=g.qw(m),x=w.rw();if($||x===ne().tw_1){var k=Lo(m);w.sw(k),b=k}else b=x;var j=b,C=null==j||ie(j)?j:pt();g.uw(),Je(a,y,C,r,384,0)}return Jt()&&(Qt(),dt()),dt()}}(c,h)),k=i;k.pw(-838505973),ee(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,C,S=k,M=k.qw(x),O=S.rw();if(M||O===ne().tw_1){var q=(C=x,function(t,e,n){return C.y1s(t,e,n)});S.sw(q),j=q}else j=O;var P=j,A=null==P||ie(P)?P:pt();return k.uw(),Ze($,!1,A,i,384,2),Jt()&&(Qt(),dt()),dt()})),$=a;$.pw(-838505973),ee($,"C(remember$composable)P(1):Composables.kt#9igjgp");var x,k=$,j=$.qw(w),C=k.rw();if(j||C===ne().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 M=x,O=null==M||ie(M)?M:pt();$.uw(),ae(b,O,a,48,0)}Jt()&&Qt();var q=a.z17();null===q||q.u18(function(t,e,n,i,o){return function(r,s){return function(t,e,n,i,o,r,s){Ao(t,e._v,n,r,1|i,o)}(t,e,n,i,o,r),dt()}}(t,s,n,o,r))}function Eo(t){return t.h1v(["form-group"]),dt()}function Do(t){return t.h1v(["form-label"]),dt()}function Io(t,e){return function(n){return t===e._v&&(Xe(n),dt()),dt()}}function To(t){return function(e,n,i){var o=n;return Jt()&&Xt(1208237735,i,-1,"components.TestNames$composable... (TestNames.kt:46)"),Zt(t,o,0),Jt()&&(Qt(),dt()),dt()}}function Lo(t){return function(e,n,i){return t.y1s(e,n,i)}}function Ro(t,e,n){var i=e;return Jt()&&Xt(1108811911,n,-1,"ComposableSingletons$MainKt.lambda-1. (main.kt:8)"),Ho(null,i,0,1),Jt()&&Qt(),dt()}function No(){var t;M=this,this.n2b_1=(t=te(1108811911,!1,Ro),function(e,n,i){return t.y1s(e,n,i)})}function Fo(t,e,n){var i=e;return Jt()&&Xt(-374992274,n,-1,"page.home.ComposableSingletons$HomePageKt.lambda-1. (HomePage.kt:91)"),Zt("🖥 Output",i,6),Jt()&&Qt(),dt()}function Bo(){var t;O=this,this.o2b_1=(t=te(-374992274,!1,Fo),function(e,n,i){return t.y1s(e,n,i)})}function Ho(t,e,n,i){var o={_v:t},r=e;r=r.y17(-109696367),ee(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),ee(c,"C(remember$composable):Composables.kt#9igjgp");var h,f=c,p=f.rw();if(p===ne().tw_1){var _=new br(new kr,new zr);f.sw(_),h=_}else h=p;var d=h,v=null==d||ie(d)?d:pt();c.uw(),l=v,o._v=l,u&=-15}}else r.k12(),0!=(1&i)&&(u&=-15);r.i17(),Jt()&&Xt(-109696367,u,-1,"page.home.HomePageUi$composable (HomePage.kt:27)");var y=r;y.pw(547886695),ee(y,"C(remember$composable):Composables.kt#9igjgp");var m,g=y,b=g.rw();if(b===ne().tw_1){var w=Vo;g.sw(w),m=w}else m=b;var $=m,x=null==$||ie($)?$:pt();y.uw();var k=x,j=se(r,1790973562,!0,(a=o,function(t,e,n){var i=e;Jt()&&Xt(1790973562,n,-1,"page.home.HomePageUi$composable. (HomePage.kt:34)"),Wi(i,0);var o=a._v.s2c();!Tt(o)&&Ai(a._v.s2c(),i,0);var r=i;r.pw(547886695),ee(r,"C(remember$composable):Composables.kt#9igjgp");var s,u=r,l=u.rw();if(l===ne().tw_1){var c=Wo;u.sw(c),s=c}else s=l;var h=s,f=null==h||ie(h)?h:pt();r.uw();var p=f,_=se(i,-1337148517,!0,function(t,e){return function(e,n,i){var o=n;Jt()&&Xt(-1337148517,i,-1,"page.home.HomePageUi$composable.. (HomePage.kt:53)");var r=o;r.pw(547886695),ee(r,"C(remember$composable):Composables.kt#9igjgp");var s,a=r,u=a.rw();if(u===ne().tw_1){var l=Ko;a.sw(l),s=l}else s=u;var c=s,h=null==c||ie(c)?c:pt();r.uw();var f=h,p=se(o,1509226108,!0,function(t){return function(e,n,i){var o=n;Jt()&&Xt(1509226108,i,-1,"page.home.HomePageUi$composable... (HomePage.kt:56)");var r,s=t._v.i2c(),a=t._v.j2c(),u=(r=t._v,function(t){return function(t,e){t.d2c(e,!1,2,null)}(r,t),dt()}),l=function(t){var e=function(e){return t.e2c(e),dt()};return e.callableName="onSaveClicked",e}(t._v);return ai(s,a,t._v.k2c(),u,l,function(t){var e=function(e){return t.f2c(e),dt()};return e.callableName="onSavedBenchmarkChanged",e}(t._v),function(t){var e=function(e){return t.g2c(e),dt()};return e.callableName="onLoadBenchmarkClicked",e}(t._v),function(t){var e=function(e){return t.h2c(e),dt()};return e.callableName="onDeleteBenchmarkClicked",e}(t._v),o,520),$e(null,o,0,1),$e(null,o,0,1),yo(t._v.y2b_1,o,0),Jt()&&(Qt(),dt()),dt()}}(t)),_=o;_.pw(-838505973),ee(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.qw(p),g=y.rw();if(m||g===ne().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||ie(w)?w:pt();_.uw(),ae(f,$,o,48,0);var x=t._v.r2c(),k=null==x?null:x.o28_1,j=null==k||k.h()?null:k;if(null==j);else{var C=t._v.r2c();if(null==C)throw Mt("TSH");var S=C,z=o;z.pw(547886695),ee(z,"C(remember$composable):Composables.kt#9igjgp");var M,q=z,P=q.rw();if(P===ne().tw_1){var A=Yo;q.sw(A),M=A}else M=P;var E=M,D=null==E||ie(E)?E:pt();z.uw();var I=D,T=se(o,2092888171,!0,function(t,e,n,i){return function(e,o,r){var s=o;if(Jt()&&Xt(2092888171,r,-1,"page.home.HomePageUi$composable.... (HomePage.kt:80)"),t._v.q2c())s.pw(-1006756604),qi(s,0),s.uw();else{s.pw(-1006756535);var a=t._v,u=s;u.pw(-838505973),ee(u,"C(remember$composable)P(1):Composables.kt#9igjgp");var l,c=u,h=u.qw(a),f=c.rw();if(h||f===ne().tw_1){var p=function(t){return function(e){return e.m1v(function(t){return function(e){return t._v.l2c(),dt()}}(t)),dt()}}(t);c.sw(p),l=p}else l=f;var _=l,d=null==_||ie(_)?_:pt();u.uw(),re(d,(null==O&&new Bo,O).o2b_1,s,48,0),s.uw()}var v=s;v.pw(547886695),ee(v,"C(remember$composable):Composables.kt#9igjgp");var y,m=v,g=m.rw();if(g===ne().tw_1){var b=Go;m.sw(b),y=b}else y=g;var w=y,$=null==w||ie(w)?w:pt();v.uw();var x=$,k=se(s,-350149078,!0,function(t,e){return function(e,n,i){var o=n;Jt()&&Xt(-350149078,i,-1,"page.home.HomePageUi$composable..... (HomePage.kt:101)");var r=se(o,1688816067,!0,function(t,e){return function(e,n,i){var o=n;Jt()&&Xt(1688816067,i,-1,"page.home.HomePageUi$composable...... (HomePage.kt:102)");var r=o;r.pw(547886695),ee(r,"C(remember$composable):Composables.kt#9igjgp");var s,a=r,u=a.rw();if(u===ne().tw_1){var l=Xo;a.sw(l),s=l}else s=u;var c=s,h=null==c||ie(c)?c:pt();r.uw();var f=h,p=se(o,-1218869404,!0,function(t,e){return function(e,n,i){var o=n;Jt()&&Xt(-1218869404,i,-1,"page.home.HomePageUi$composable....... (HomePage.kt:107)");var r=o;r.pw(547886695),ee(r,"C(remember$composable):Composables.kt#9igjgp");var s,a=r,u=a.rw();if(u===ne().tw_1){var l=Jo;a.sw(l),s=l}else s=u;var c=s,h=null==c||ie(c)?c:pt();r.uw();var f=h,p=se(o,-1633797435,!0,function(t,e){return function(e,n,i){var o=n;Jt()&&Xt(-1633797435,i,-1,"page.home.HomePageUi$composable........ (HomePage.kt:113)");var r=t._v.i2c().b28_1,s=t._v,a=o;a.pw(-838505973),ee(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,l=a,c=a.qw(s),h=l.rw();if(c||h===ne().tw_1){var f=function(t){var e=function(){return t.m2c(),dt()};return e.callableName="onToggleAutoGroupClicked",e}(s);l.sw(f),u=f}else u=h;var p=u,_=null==p||ie(p)?p:pt();return a.uw(),_i(r,_,o,0),Jt()&&(Qt(),dt()),dt()}}(t)),_=o;_.pw(-838505973),ee(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v=_,y=_.qw(p),m=v.rw();if(y||m===ne().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||ie(b)?b:pt();if(_.uw(),ae(f,w,o,48,0),_t(t._v.p2c(),Un())){var $=o;$.pw(547886695),ee($,"C(remember$composable):Composables.kt#9igjgp");var x,k=$,j=k.rw();if(j===ne().tw_1){var C=Zo;k.sw(C),x=C}else x=j;var S=x,z=null==S||ie(S)?S:pt();$.uw();var M=z,O=se(o,-1089967542,!0,function(t,e){return function(e,n,i){var o=n;Jt()&&Xt(-1089967542,i,-1,"page.home.HomePageUi$composable........ (HomePage.kt:125)");var r=t._v.i2c().a28_1,s=t._v,a=o;a.pw(-838505973),ee(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,l=a,c=a.qw(s),h=l.rw();if(c||h===ne().tw_1){var f=function(t){var e=function(){return t.n2c(),dt()};return e.callableName="onToggleTestNameDetectionClicked",e}(s);l.sw(f),u=f}else u=h;var p=u,_=null==p||ie(p)?p:pt();return a.uw(),So(r,_,o,0),Jt()&&(Qt(),dt()),dt()}}(t)),q=o;q.pw(-838505973),ee(q,"C(remember$composable)P(1):Composables.kt#9igjgp");var P,A=q,E=q.qw(O),D=A.rw();if(E||D===ne().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||ie(T)?T:pt();q.uw(),ae(M,L,o,48,0)}if(!t._v.t2b_1.h()){var R=o;R.pw(547886695),ee(R,"C(remember$composable):Composables.kt#9igjgp");var N,F=R,B=F.rw();if(B===ne().tw_1){var H=Qo;F.sw(H),N=H}else N=B;var V=N,W=null==V||ie(V)?V:pt();R.uw();var U=W,K=se(o,1874650163,!0,function(t,e){return function(e,n,i){var o=n;Jt()&&Xt(1874650163,i,-1,"page.home.HomePageUi$composable........ (HomePage.kt:138)");var r=t._v.t2b_1,s=t._v,a=o;a.pw(-838505973),ee(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,l=a,c=a.qw(s),h=l.rw();if(c||h===ne().tw_1){var f=function(t){return function(e){return t._v.o2c(e),dt()}}(t);l.sw(f),u=f}else u=h;var p=u,_=null==p||ie(p)?p:pt();return a.uw(),Ao(r,null,_,o,0,2),Jt()&&(Qt(),dt()),dt()}}(t)),Y=o;Y.pw(-838505973),ee(Y,"C(remember$composable)P(1):Composables.kt#9igjgp");var G,X=Y,J=Y.qw(K),Z=X.rw();if(J||Z===ne().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||ie(tt)?tt:pt();Y.uw(),ae(U,et,o,48,0)}return Jt()&&(Qt(),dt()),dt()}}(t)),_=o;_.pw(-838505973),ee(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v=_,y=_.qw(p),m=v.rw();if(y||m===ne().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||ie(b)?b:pt();return _.uw(),ae(f,w,o,48,0),Jt()&&(Qt(),dt()),dt()}}(t)),s=o;s.pw(-838505973),ee(s,"C(remember$composable)P(1):Composables.kt#9igjgp");var a,u=s,l=s.qw(r),c=u.rw();if(l||c===ne().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||ie(f)?f:pt();return s.uw(),be(null,null,p,o,384,3),Jt()&&(Qt(),dt()),dt()}}(t)),j=s;j.pw(-838505973),ee(j,"C(remember$composable)P(1):Composables.kt#9igjgp");var C,S=j,z=j.qw(k),M=S.rw();if(z||M===ne().tw_1){var q=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(k);S.sw(q),C=q}else C=M;var P=C,A=null==P||ie(P)?P:pt();j.uw(),ae(x,A,s,48,0),$e(null,s,0,1);var E=s;E.pw(-838505973),ee(E,"C(remember$composable)P(1):Composables.kt#9igjgp");var D,I=E,T=E.qw(n),L=I.rw();if(T||L===ne().tw_1){var R=cn(n,2);I.sw(R),D=R}else D=L;var N=D,F=null==N||ie(N)?N:pt();E.uw();for(var B=F.c();B.d();){var H=B.e(),V=s;V.pw(547886695),ee(V,"C(remember$composable):Composables.kt#9igjgp");var W,U=V,K=U.rw();if(K===ne().tw_1){var Y=tr;U.sw(Y),W=Y}else W=K;var G=W,X=null==G||ie(G)?G:pt();V.uw();var J=X,Z=se(s,-2034949684,!0,or(H,t,i)),Q=s;Q.pw(-838505973),ee(Q,"C(remember$composable)P(1):Composables.kt#9igjgp");var tt,et=Q,nt=Q.qw(Z),it=et.rw();if(nt||it===ne().tw_1){var ot=rr(Z);et.sw(ot),tt=ot}else tt=it;var rt=tt,st=null==rt||ie(rt)?rt:pt();Q.uw(),ae(J,st,s,48,0)}return Jt()&&(Qt(),dt()),dt()}}(t,0,j,S)),L=o;L.pw(-838505973),ee(L,"C(remember$composable)P(1):Composables.kt#9igjgp");var R,N=L,F=L.qw(T),B=N.rw();if(F||B===ne().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||ie(V)?V:pt();L.uw(),ae(I,W,o,48,0),dt(),dt()}return Jt()&&(Qt(),dt()),dt()}}(a)),d=i;d.pw(-838505973),ee(d,"C(remember$composable)P(1):Composables.kt#9igjgp");var v,y,m=d,g=d.qw(_),b=m.rw();if(g||b===ne().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==$||ie($)?$:pt();return d.uw(),ae(p,x,i,48,0),Jt()&&(Qt(),dt()),dt()})),C=r;C.pw(-838505973),ee(C,"C(remember$composable)P(1):Composables.kt#9igjgp");var S,z=C,M=C.qw(j),q=z.rw();if(M||q===ne().tw_1){var P=(s=j,function(t,e,n){return s.y1s(t,e,n)});z.sw(P),S=P}else S=q;var A=S,E=null==A||ie(A)?A:pt();C.uw(),ae(k,E,r,48,0),Jt()&&Qt()}var D=r.z17();null===D||D.u18(function(t,e,n){return function(i,o){return function(t,e,n,i,o){Ho(t._v,i,1|e,n)}(t,e,n,i),dt()}}(o,n,i))}function Vo(t){return t.h1v(["container-fluid"]),dt()}function Wo(t){return t.h1v(["row"]),t.f1v(Uo),dt()}function Uo(t){return an(t,de(40)),un(t,de(40)),ln(t,de(40)),dt()}function Ko(t){return t.h1v(["col-lg-4"]),dt()}function Yo(t){return t.h1v(["col-lg-8"]),dt()}function Go(t){return t.h1v(["row"]),dt()}function Xo(t){return t.h1v(["row"]),dt()}function Jo(t){return t.h1v(["col-md-2"]),dt()}function Zo(t){return t.h1v(["col-md-2"]),dt()}function Qo(t){return t.h1v(["col-md-4"]),dt()}function tr(t){return t.h1v(["row"]),dt()}function er(t){return function(e){return e.h1v([t.v28_1]),dt()}}function nr(t,e,n){return function(i,o,r){var s=o;return Jt()&&Xt(1979032493,r,-1,"page.home.HomePageUi$composable...... (HomePage.kt:168)"),mi(t._v.i2c().b28_1,e.n28_1,n,s,576),Jt()&&(Qt(),dt()),dt()}}function ir(t){return function(e,n,i){return t.y1s(e,n,i)}}function or(t,e,n){return function(i,o,r){var s=o;Jt()&&Xt(-2034949684,r,-1,"page.home.HomePageUi$composable..... (HomePage.kt:163)");for(var a=t.c();a.d();){var u=a.e(),l=er(u),c=se(s,1979032493,!0,nr(e,n,u)),h=s;h.pw(-838505973),ee(h,"C(remember$composable)P(1):Composables.kt#9igjgp");var f,p=h,_=h.qw(c),d=p.rw();if(_||d===ne().tw_1){var v=ir(c);p.sw(v),f=v}else f=d;var y=f,m=null==y||ie(y)?y:pt();h.uw(),ae(l,m,s,48,0)}return Jt()&&(Qt(),dt()),dt()}}function rr(t){return function(e,n,i){return t.y1s(e,n,i)}}function sr(){q=this,this.t2c_1="Something went wrong!"}function ar(){return null==q&&new sr,q}function ur(t,e){return vn("savedBenchmarks",1,dn,(function(t){return t.k2c()}),(function(t,e){return ur(t,e)})),t.r2b_1.us(e)}function lr(t,e){return vn("chartsBundle",1,dn,(function(t){return t.r2c()}),(function(t,e){return lr(t,e)})),t.u2b_1.us(e)}function cr(t,e){return vn("errorMsg",1,dn,(function(t){return t.s2c()}),(function(t,e){return cr(t,e)})),t.v2b_1.us(e)}function hr(t,e){return vn("isEditableTitleEnabled",1,dn,(function(t){return t.q2c()}),(function(t,e){return hr(t,e)})),t.w2b_1.us(e)}function fr(t,e){return vn("shouldSelectUnsaved",1,dn,(function(t){return t.j2c()}),(function(t,e){return fr(t,e)})),t.x2b_1.us(e)}function pr(t,e){return vn("inputType",1,dn,(function(t){return t.p2c()}),(function(t,e){return pr(t,e)})),t.z2b_1.us(e)}function _r(t,e){return vn("form",1,dn,(function(t){return t.i2c()}),(function(t,e){return _r(t,e)})),t.a2c_1.us(e)}function dr(t){ur(t,t.p2b_1.u2c())}function vr(t,e,n){t.y2b_1.f7();for(var i=n.o28_1.c();i.d();){var o=i.e(),r=(null==D&&new Or,D),s=mr(t);r.w2c(e,n.n28_1,o,s,gr(o))}}function yr(t,e,n){return function(){fr(t,e);try{t.b2c_1.f7(),t.t2b_1.f7();var i=Nn().y27(n);if(null==i)return dt();var o=i,r=o.d9(),s=o.e9();pr(t,r),t.b2c_1.c4(s);var a=r.r1_1;if(0===a){var u=function(t){for(var e,n=St(t),i=Ct(),o=n.f28_1.c();o.d();){var r=o.e();i.n3(r.h27_1,r.i27_1)}var s=i;qt("chartSet -> "+s),e=s;var a=new Qn("📊",n.d28_1,e,"col-lg-12");return new Jn(Xn(t,!0),Kt(a))}(t.b2c_1);lr(t,u),vr(t,!0,u)}else if(1===a){for(var l,c=t.t2b_1,h=t.b2c_1,f=gt(),p=h.c();p.d();){var _=p.e().e28_1;null==_||(f.a(_),dt())}l=f,c.h1s(Wt(l));var d,v=t.t2b_1;t:{for(var y=v.c();y.d();){var m=y.e();if(m===t.s2b_1){d=m;break t}}d=null}var g,b=d,w=null==b?Nt(t.t2b_1):b;if(null!=w){for(var $=t.b2c_1,x=gt(),k=$.c();k.d();){var j=k.e();j.e28_1==w&&x.a(j)}g=x}else g=t.b2c_1;var C=Yn(g);lr(t,C),vr(t,!1,C)}cr(t,""),dt()}catch(e){if(!(e instanceof Error))throw e;t.y2b_1.f7(),hn(e);var S,z=e.message;null==z?(ar(),S="Something went wrong!"):S=z,cr(t,S),dt()}return dt()}}function mr(t){return function(e){return t.y2b_1.h19(e),dt()}}function gr(t){return function(e){var n="Failed to summarize `"+t.t28_1+"`: "+e;throw Mt(jt(n))}}function br(t,e){ar(),this.p2b_1=t,this.q2b_1=e;var n=fn();this.r2b_1=We(n,null,2,null),this.s2b_1=null,this.t2b_1=pn(),this.u2b_1=We(null,null,2,null),this.v2b_1=We("",null,2,null),this.w2b_1=We(!1,null,2,null),this.x2b_1=We(!1,null,2,null),this.y2b_1=pn(),this.z2b_1=We(null,null,2,null);var i=this.q2b_1.x2c(),o=null==i?new ti((null==E&&new Mr,E).y2c_1,!1,!1):i;this.a2c_1=We(o,null,2,null),dr(this);var r;r=gt(),this.b2c_1=r,this.c2c_1=null}function wr(){}function $r(){P=this,this.h2d_1="savedBenchmarks"}function xr(){return null==P&&new $r,P}function kr(){xr(),this.i2d_1=0}function jr(){}function Cr(){A=this,this.j2d_1="auto_form_input",this.k2d_1="is_test_name_detection_enabled",this.l2d_1="is_auto_group_enabled"}function Sr(){return null==A&&new Cr,A}function zr(){Sr(),this.m2d_1=0}function Mr(){E=this,this.y2c_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.z2c_1=0}function Or(){D=this,this.v2c_1=0}return $n.prototype=Object.create(Error.prototype),$n.prototype.constructor=$n,xn.prototype=Object.create($n.prototype),xn.prototype.constructor=xn,Sn.prototype=Object.create(vt.prototype),Sn.prototype.constructor=Sn,Mn.prototype=Object.create(vt.prototype),Mn.prototype.constructor=Mn,ui.prototype=Object.create(ue.prototype),ui.prototype.constructor=ui,$n.$metadata$=ct("InvalidDataException",void 0,void 0,void 0,void 0,Error.prototype),xn.$metadata$=ct("InvalidBenchmarkDataException",void 0,void 0,void 0,void 0,$n.prototype),kn.prototype.k27=function(){return this.h27_1},kn.prototype.l27=function(){return this.i27_1},kn.prototype.toString=function(){return"BlockRow(title="+this.h27_1+", data="+this.i27_1+")"},kn.prototype.hashCode=function(){var t=ht(this.h27_1);return I(t,31)+ft(this.i27_1)|0},kn.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof kn))return!1;var e=t instanceof kn?t:pt();return this.h27_1===e.h27_1&&!!_t(this.i27_1,e.i27_1)},kn.$metadata$=ct("BlockRow"),Sn.prototype.j2=function(){return this.o27_1},Sn.$metadata$=ct("SupportedMetrics",void 0,void 0,void 0,void 0,vt.prototype),Mn.$metadata$=ct("InputType",void 0,void 0,void 0,void 0,vt.prototype),Rn.prototype.y27=function(t){for(var e=bt(t.z27_1,["\n"],!1,0,6,null),n=mt(e,"\n",null,null,0,null,Tn,30,null),i=Dt(),o=It("^\\s+",i).n8(n,0),r=$t(wt(o,10)),s=o.c();s.d();){var a,u=s.e();a=jt(kt(xt(u)?u:pt())),r.a(a)}for(var l=r,c=gt(),h=l.c();h.d();){var f=h.e();!Tt(f)&&c.a(f)}var p=c;if(qt("parsing input..."),p.h())return null;if(function(t){Kn();var e=t.z27_1,n=jn(),i=Ht(n,"|","(",")",0,null,Wn,24,null);return!Ot(i).q8(e)}(t))return On(this,p);qt("parsing machine generated benchmark input...");for(var _=gt(),d=p.c(),v=0;d.d();){var y=v;v=v+1|0;var m=d.e();qt("block: '"+m+"'");for(var g=bt(m,["\n"],!1,0,6,null),b=$t(wt(g,10)),w=g.c();w.d();){var $,x=w.e();$=jt(kt(xt(x)?x:pt())),b.a($)}for(var k=b,j=null,C=null,S=gt(),z=k.c();z.d();){var M=z.e();null==j&&En(this,M)&&(j=M),t.a28_1&&qn(this,M)&&(null!=C&&!S.h()&&(null==j&&(j="benchmark "+y+" "+C),_.a(new Fn(j,C,S)),S.f7()),C=M);var O=In(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 xn("Two "+O+" found in block "+(y+1|0)+". Expected only one");S.a(new kn(O,Dn(0,O,M)))}}null==j&&(j="benchmark "+y),j=Pn(this,j),!S.h()&&_.a(new Fn(j,C,S))}return new yt(Un(),_)},Rn.$metadata$=Lt("Companion"),Fn.prototype.k27=function(){return this.d28_1},Fn.prototype.h28=function(){return this.e28_1},Fn.prototype.i28=function(){return this.f28_1},Fn.prototype.toString=function(){return"BenchmarkResult(title="+this.d28_1+", testName="+this.e28_1+", blockRows="+this.f28_1+")"},Fn.prototype.hashCode=function(){var t=ht(this.d28_1);return t=I(t,31)+(null==this.e28_1?0:ht(this.e28_1))|0,I(t,31)+ft(this.f28_1)|0},Fn.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Fn))return!1;var e=t instanceof Fn?t:pt();return this.d28_1===e.d28_1&&this.e28_1==e.e28_1&&!!_t(this.f28_1,e.f28_1)},Fn.$metadata$=ct("BenchmarkResult"),Bn.prototype.r27=function(t){var e=(Kn(),a),n=Rt(e.vf(t,0,2,null)),i=null==n?null:n.h9(),o=null==i?null:Nt(i);if(null==o)throw Mt(jt(t+" deosn't have numbers in it"));var r=o;return new Vn(Ft(t,r,"",!1,4,null),Et(r))},Bn.$metadata$=Lt("Companion"),Vn.prototype.toString=function(){return"TextNumberLine(text="+this.s27_1+", number="+this.t27_1+")"},Vn.prototype.hashCode=function(){var t=ht(this.s27_1);return I(t,31)+Bt(this.t27_1)|0},Vn.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Vn))return!1;var e=t instanceof Vn?t:pt();return this.s27_1===e.s27_1&&!!_t(this.t27_1,e.t27_1)},Vn.$metadata$=ct("TextNumberLine"),Gn.prototype.m28=function(){return this.j28_1},Gn.prototype.toString=function(){return"GroupMap(autoGroupMap="+this.j28_1+", wordColorMap="+this.k28_1+")"},Gn.prototype.hashCode=function(){var t=ft(this.j28_1);return I(t,31)+ft(this.k28_1)|0},Gn.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Gn))return!1;var e=t instanceof Gn?t:pt();return!!_t(this.j28_1,e.j28_1)&&!!_t(this.k28_1,e.k28_1)},Gn.$metadata$=ct("GroupMap"),Jn.prototype.q28=function(){return this.n28_1},Jn.prototype.r28=function(){return this.o28_1},Jn.prototype.toString=function(){return"ChartsBundle(groupMap="+this.n28_1+", charts="+this.o28_1+")"},Jn.prototype.hashCode=function(){var t=this.n28_1.hashCode();return I(t,31)+ft(this.o28_1)|0},Jn.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Jn))return!1;var e=t instanceof Jn?t:pt();return!!this.n28_1.equals(e.n28_1)&&!!_t(this.o28_1,e.o28_1)},Jn.$metadata$=ct("ChartsBundle"),Qn.prototype.x28=function(){return this.s28_1},Qn.prototype.y28=function(){return this.t28_1},Qn.prototype.z28=function(){return this.u28_1},Qn.prototype.a29=function(){return this.v28_1},Qn.prototype.toString=function(){return"Chart(emoji="+this.s28_1+", label="+this.t28_1+", dataSets="+this.u28_1+", bsClass="+this.v28_1+")"},Qn.prototype.hashCode=function(){var t=ht(this.s28_1);return t=I(t,31)+ht(this.t28_1)|0,t=I(t,31)+ft(this.u28_1)|0,I(t,31)+ht(this.v28_1)|0},Qn.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Qn))return!1;var e=t instanceof Qn?t:pt();return this.s28_1===e.s28_1&&this.t28_1===e.t28_1&&!!_t(this.u28_1,e.u28_1)&&this.v28_1===e.v28_1},Qn.$metadata$=ct("Chart"),ti.prototype.l27=function(){return this.z27_1},ti.prototype.b29=function(){return this.a28_1},ti.prototype.c29=function(){return this.b28_1},ti.prototype.d29=function(t,e,n){return new ti(t,e,n)},ti.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)},ti.prototype.toString=function(){return"FormData(data="+this.z27_1+", isTestNameDetectionEnabled="+this.a28_1+", isAutoGroupEnabled="+this.b28_1+")"},ti.prototype.hashCode=function(){var t=ht(this.z27_1);return t=I(t,31)+(0|this.a28_1)|0,I(t,31)+(0|this.b28_1)|0},ti.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof ti))return!1;var e=t instanceof ti?t:pt();return this.z27_1===e.z27_1&&this.a28_1===e.a28_1&&this.b28_1===e.b28_1},ti.$metadata$=ct("FormData"),ei.prototype.f29=function(){return"line"},ei.$metadata$=Lt("Companion"),ri.prototype.j29=function(){return this.h29_1},ri.prototype.k29=function(){return this.i29_1},ri.$metadata$=Lt("ComposableSingletons$AutoFormUiKt"),ui.prototype.a1e=function(t,e){var n=this.b1e(t,e);return n.y6_1=dt(),n.z6_1=null,n.d7()},ui.prototype.e7=function(t,e){return this.a1e(null!=t&&ce(t,le)?t:pt(),e)},ui.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),dt();if(1===t)throw this.z6_1}catch(t){throw t}},ui.prototype.b1e=function(t,e){var n=new ui(this.t29_1,this.u29_1,e);return n.v29_1=t,n},ui.$metadata$=ct("FormUi$composable$slambda",void 0,void 0,void 0,[1],ue.prototype),pi.prototype.x29=function(){return this.w29_1},pi.$metadata$=Lt("ComposableSingletons$AutoGroupToggleKt"),wi.prototype.um=function(){this.y29_1.destroy()},wi.$metadata$=ct(void 0,[Me]),Mi.$metadata$=Lt("ComposableSingletons$EditableTitleKt"),Hi.$metadata$=Lt("ComposableSingletons$HeadingKt"),Ki.prototype.j2=function(){return this.f2a_1},Ki.prototype.toString=function(){return"SavedBenchmarkNode(key="+this.f2a_1+", value="+this.g2a_1+")"},Ki.prototype.hashCode=function(){var t=ht(this.f2a_1);return I(t,31)+ht(this.g2a_1)|0},Ki.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Ki))return!1;var e=t instanceof Ki?t:pt();return this.f2a_1===e.f2a_1&&this.g2a_1===e.g2a_1},Ki.$metadata$=ct("SavedBenchmarkNode"),Yi.prototype.equals=function(t){return this===t||!(null==t||!_t(Be(Fe(this)),Be(Fe(t))))&&(t instanceof Yi||pt(),!!He(this.i2a_1,t.i2a_1))},Yi.prototype.hashCode=function(){return Ve(this.i2a_1)},Yi.prototype.toString=function(){return"SavedBenchmarks(items="+jt(this.i2a_1)+")"},Yi.$metadata$=ct("SavedBenchmarks"),to.prototype.j29=function(){return this.l2a_1},to.prototype.k29=function(){return this.m2a_1},to.prototype.o2a=function(){return this.n2a_1},to.$metadata$=Lt("ComposableSingletons$SavedBenchmarksDropDownKt"),_o.prototype.a2b=function(){return this.p2a_1},_o.prototype.x28=function(){return this.q2a_1},_o.prototype.b2b=function(){return this.r2a_1},_o.prototype.y28=function(){return this.s2a_1},_o.prototype.c2b=function(){return this.t2a_1},_o.prototype.d2b=function(){return this.u2a_1},_o.prototype.e2b=function(){return this.v2a_1},_o.prototype.f2b=function(){return this.w2a_1},_o.prototype.g2b=function(){return this.x2a_1},_o.prototype.h2b=function(){return this.y2a_1},_o.$metadata$=ct("SummaryNode"),vo.prototype.toString=function(){return"Summary(title="+this.i2b_1+", nodes="+this.j2b_1+")"},vo.prototype.hashCode=function(){var t=ht(this.i2b_1);return I(t,31)+ft(this.j2b_1)|0},vo.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof vo))return!1;var e=t instanceof vo?t:pt();return this.i2b_1===e.i2b_1&&!!_t(this.j2b_1,e.j2b_1)},vo.$metadata$=ct("Summary"),Co.prototype.x29=function(){return this.l2b_1},Co.$metadata$=Lt("ComposableSingletons$TestNameDetectionToggleKt"),Po.prototype.x29=function(){return this.m2b_1},Po.$metadata$=Lt("ComposableSingletons$TestNamesKt"),No.$metadata$=Lt("ComposableSingletons$MainKt"),Bo.prototype.x29=function(){return this.o2b_1},Bo.$metadata$=Lt("ComposableSingletons$HomePageKt"),sr.$metadata$=Lt("Companion"),br.prototype.k2c=function(){return vn("savedBenchmarks",1,dn,(function(t){return t.k2c()}),(function(t,e){return ur(t,e)})),this.r2b_1.l2()},br.prototype.a2d=function(){return this.t2b_1},br.prototype.r2c=function(){return vn("chartsBundle",1,dn,(function(t){return t.r2c()}),(function(t,e){return lr(t,e)})),this.u2b_1.l2()},br.prototype.s2c=function(){return vn("errorMsg",1,dn,(function(t){return t.s2c()}),(function(t,e){return cr(t,e)})),this.v2b_1.l2()},br.prototype.q2c=function(){return vn("isEditableTitleEnabled",1,dn,(function(t){return t.q2c()}),(function(t,e){return hr(t,e)})),this.w2b_1.l2()},br.prototype.j2c=function(){return vn("shouldSelectUnsaved",1,dn,(function(t){return t.j2c()}),(function(t,e){return fr(t,e)})),this.x2b_1.l2()},br.prototype.b2d=function(){return this.y2b_1},br.prototype.p2c=function(){return vn("inputType",1,dn,(function(t){return t.p2c()}),(function(t,e){return pr(t,e)})),this.z2b_1.l2()},br.prototype.i2c=function(){return vn("form",1,dn,(function(t){return t.i2c()}),(function(t,e){return _r(t,e)})),this.a2c_1.l2()},br.prototype.c2d=function(t,e){var n,i=this.c2c_1;null==i||(clearTimeout(i),dt()),this.c2c_1=setTimeout((n=t,function(){return n(),dt()}),e)},br.prototype.d2d=function(t,e){_r(this,t),this.q2b_1.e2d(t),this.c2d(yr(this,e,t),300)},br.prototype.d2c=function(t,e,n,i){return 0!=(2&n)&&(e=!0),this.d2d(t,e)},br.prototype.o2c=function(t){try{var e;if(this.s2b_1=t,null!=this.s2b_1){for(var n=this.b2c_1,i=gt(),o=n.c();o.d();){var r=o.e();r.e28_1==this.s2b_1&&i.a(r)}e=i}else e=this.b2c_1;var s=Yn(e);lr(this,s),vr(this,!1,s),cr(this,"")}catch(t){if(!(t instanceof Error))throw t;this.y2b_1.f7(),hn(t);var a,u=t.message;null==u?(ar(),a="Something went wrong!"):a=u,cr(this,a)}},br.prototype.l2c=function(){hr(this,!0)},br.prototype.m2c=function(){var t=this.i2c().e29(null,!1,!this.i2c().b28_1,3,null);this.d2c(t,!1,2,null)},br.prototype.n2c=function(){var t=this.i2c(),e=!this.i2c().a28_1,n=t.e29(null,e,!1,5,null);this.d2c(n,!1,2,null)},br.prototype.e2c=function(t){var e,n=window.prompt("Name: ");if(null==n||Tt(n))return dt();t:{for(var i=this.k2c().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"),dt();var r=_n(this.k2c());r.va(0,new Ki(n,t.z27_1));var s=r;this.p2b_1.f2d(s),fr(this,!1),dr(this)},br.prototype.g2c=function(t){var e=this.i2c().e29(t.g2a_1,!1,!1,6,null);this.d2d(e,!1)},br.prototype.h2c=function(t){window.confirm("Do you want to delete `"+t.f2a_1+"` ?")&&(this.p2b_1.g2d(t),fr(this,!0),dr(this))},br.prototype.f2c=function(t){if(fr(this,t===Gi()),this.j2c()){var e=this.q2b_1.x2c(),n=null==e?this.i2c():e;this.d2d(n,!1)}},br.$metadata$=ct("HomeViewModel"),wr.$metadata$=yn("BenchmarkRepo"),$r.$metadata$=Lt("Companion"),kr.prototype.u2c=function(){var t=window.localStorage;xr();var e,n=t.getItem("savedBenchmarks");return e=null==n?new Yi([]):JSON.parse(n),Pe(e.i2a_1)},kr.prototype.f2d=function(t){var e,n=JSON;e=Oe(t);var i=n.stringify(new Yi(e)),o=window.localStorage;xr(),o.setItem("savedBenchmarks",i)},kr.prototype.g2d=function(t){var e,n=_n(this.u2c());mn(n,(e=t,function(t){return t.f2a_1===e.f2a_1}));var i=n;this.f2d(i)},kr.$metadata$=ct("BenchmarkRepoImpl",[wr]),jr.$metadata$=yn("FormRepo"),Cr.$metadata$=Lt("Companion"),zr.prototype.e2d=function(t){var e=window.localStorage;Sr(),e.setItem("auto_form_input",t.z27_1),Sr(),e.setItem("is_test_name_detection_enabled",t.a28_1.toString()),Sr(),e.setItem("is_auto_group_enabled",t.b28_1.toString())},zr.prototype.x2c=function(){var t=window.localStorage;Sr();var e=t.getItem("auto_form_input");if(null==e)return null;var n=e;Sr();var i=gn(t.getItem("is_test_name_detection_enabled"));return Sr(),new ti(n,i,gn(t.getItem("is_auto_group_enabled")))},zr.$metadata$=ct("FormRepoImpl",[jr]),Mr.$metadata$=Lt("DefaultValues"),Or.prototype.w2c=function(t,e,n,i,o){try{var r=e.k28_1.f();if(2!==r)return qt("impossible to summarize. expected group size = 2, but found "+r+" -> "+e.k28_1),dt();var s=Ct(),a=zt(e.k28_1.a3());qt("words : "+a);for(var u=a.c();u.d();){for(var l=u.e(),c=n.u28_1,h=Ct(),f=c.u().c();f.d();){var p=f.e(),_=p.j2();Pt(_,l,!1,2,null)&&h.n3(p.j2(),p.l2())}for(var d=h.b3(),v=$t(wt(d,10)),y=d.c();y.d();){var m,g=y.e();m=bn(g.b3()),v.a(m)}var b=v,w=gt(),$=wn(n.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=$t(s.f()),D=s.u().c();D.d();){var I,T=D.e();I=zt(T.l2()),E.a(I)}qt("combinedMap : "+E);var L=gt(),R=zt(wn(n.u28_1.b3()).a3());qt("segments: "+R);var N,F=R.f(),B=0;if(B after: '"+K+"'");var J,Z=""+(K-X).toFixed(2),Q=Et(Z),tt=""+((X-K)/X*100).toFixed(2),et=Et(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=Et(at),lt=""+X.toFixed(2);J=Et(lt),L.a(new _o(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;o=u)return!1}while(o0,e),bn().d1(t.e1_1,t.f1_1,t.g1_1>0?e:0|-e)},t.$_$.v5=St,t.$_$.w5=Yo,t.$_$.x5=Uo,t.$_$.y5=Wo,t.$_$.z5=we,t.$_$.a6=function(t){var e=t.c();return e.d()?e.e():null},t.$_$.b6=function(t){return new je(t)},t.$_$.c6=Kr,t.$_$.d6=function(t){return null!=t&&"true"===t.toLowerCase()},t.$_$.e6=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.$_$.f6=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.$_$.g6=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.$_$.h6=us,t.$_$.i6=ji,t.$_$.j6=$s,t.$_$.k6=gu,t.$_$.l6=ta,t.$_$.m6=fi,t.$_$.n6=Eu,t.$_$.o6=Js,t.$_$.p6=function(){throw xu()},t.$_$.q6=Tu,t.$_$.r6=function(t,e){if(t!==e){var n=t._suppressed;null==n?t._suppressed=ae([e]):n.a(e)}},t.$_$.s6=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.$_$.t6=ci,t.$_$.u6=Xs,t.$_$.v6=function(t){return new ti(t)},t.$_$.w6=function(){throw Gu()},t.$_$.x6=function(t){console.error(function(t){return(new Jr).qg(t)}(t))},t.$_$.y6=function(t,e){var n=t<>>(32-e|0)|0},t.$_$.z6=function(t,e){return ki(),t<<(32-e|0)|t>>>e|0},t.$_$.a7=function(t){throw Qu("lateinit property "+t+" has not been initialized")},t.$_$.b7=xs,t.$_$.c7=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.$_$.o6,R=e.$_$.o5,N=e.$_$.x1,F=e.$_$.p4,B=e.$_$.l4,H=e.$_$.k4,V=e.$_$.m4,W=e.$_$.j4,U=e.$_$.z4,K=e.$_$.t1,Y=e.$_$.s1,G=e.$_$.b5,X=e.$_$.c4,J=e.$_$.g1,Z=n.$_$.c,Q=e.$_$.d4,tt=e.$_$.b4,et=e.$_$.k5,nt=e.$_$.n5,it=e.$_$.b7,ot=e.$_$.s5,rt=n.$_$.b,st=e.$_$.r5,at=e.$_$.i5,ut=n.$_$.a,lt=e.$_$.u,ct=e.$_$.q1,ht=e.$_$.r1,ft=e.$_$.w1,pt=e.$_$.p1,_t=e.$_$.t6,dt=e.$_$.f4,vt=e.$_$.e4,yt=e.$_$.g4,mt=e.$_$.h4,gt=e.$_$.i4,bt=e.$_$.o4,wt=e.$_$.l1,$t=e.$_$.j6,xt=e.$_$.t4,kt=e.$_$.w6,jt=e.$_$.l6,Ct=e.$_$.n6,St=e.$_$.k1,zt=e.$_$.x4,Mt=e.$_$.k6,Ot=e.$_$.d1,qt=e.$_$.n4,Pt=e.$_$.w,At=e.$_$.a1,Et=e.$_$.a7,Dt=e.$_$.m,It=e.$_$.a4,Tt=e.$_$.d2,Lt=e.$_$.q4,Rt=e.$_$.z5,Nt=e.$_$.h1,Ft=e.$_$.b6,Bt=e.$_$.v4,Ht=(e.$_$.r4,e.$_$.q6),Vt=e.$_$.n1,Wt=e.$_$.w4,Ut=e.$_$.d5,Kt=e.$_$.r2,Yt=e.$_$.e1,Gt=e.$_$.u6,Xt=e.$_$.a,Jt=e.$_$.v,Zt=e.$_$.h5,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=Math.imul,Q=e.$_$.x1,tt=e.$_$.r5,et=(e.$_$.s2,e.$_$.k5),nt=e.$_$.s,it=e.$_$.n,ot=e.$_$.p2,rt=e.$_$.c7,st=e.$_$.o6,at=e.$_$.m6,ut=e.$_$.z4,lt=e.$_$.j6,ct=e.$_$.s5,ht=e.$_$.g1,ft=n.$_$.d,pt=e.$_$.y4,_t=e.$_$.t,dt=e.$_$.u6,vt=e.$_$.b7,yt=i.$_$.s,mt=i.$_$.o,gt=i.$_$.i,bt=i.$_$.r,wt=e.$_$.d6,$t=e.$_$.b5,xt=i.$_$.j,kt=e.$_$.q5,jt=e.$_$.f5,Ct=e.$_$.i5,St=e.$_$.n5,zt=e.$_$.h5,Mt=e.$_$.e2,Ot=i.$_$.q,qt=i.$_$.z,Pt=e.$_$.o5,At=i.$_$.u,Et=i.$_$.v,Dt=i.$_$.w,It=i.$_$.x,Tt=(i.$_$.m,n.$_$.c),Lt=e.$_$.b3,Rt=e.$_$.a3,Nt=n.$_$.a,Ft=e.$_$.a7,Bt=e.$_$.v6,Ht=i.$_$.n,Vt=n.$_$.b,Wt=i.$_$.t,Ut=i.$_$.b,Kt=e.$_$.y5,Yt=e.$_$.g5;function Gt(t,e){return Xt(),e!==t.value&&(t.value=e),function(t,e){We(),Fe().set(t,e),t instanceof HTMLInputElement&&function(t){var e;if(We(),"radio"===t.type){var n=t.name;e=pt(n)>0}else e=!1;if(e){if(!Be().t2(t.name)){var i=Be(),o=t.name,r=_t();i.n3(o,r)}dt(Be().z2(t.name)).a(t)}}(t)}(t,e),Q()}function Xt(){r||(r=!0,o=Gt)}function Jt(){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 Zt(){}function Qt(t,e,n){return function(t,e,n,i){return 0!=(1&e)&&(t=new oe),te.call(i,t),i}(t,e,0,Object.create(te.prototype))}function te(t){this.n1v_1=t;var e;e=nt(),this.o1v_1=e,this.p1v_1=new tn;var n;n=it(),this.q1v_1=n,this.r1v_1=null;var i;i=it(),this.s1v_1=i,this.t1v_1=8}function ee(){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 ne(){return null==a&&new ee,a}function ie(){}function oe(){var t;t=it(),this.v1v_1=t,this.w1v_1=8}function re(t,e,n){lt.call(this,t,e),this.s1u_1=n}function se(){c=this,qe.call(this,"button"),this.x1x_1=0}function ae(){h=this,Pe.call(this,"checkbox"),this.f1y_1=0}function ue(){return null==h&&new ae,h}function le(){f=this,Oe.call(this,"color"),this.n1y_1=0}function ce(){p=this,Oe.call(this,"date"),this.u1y_1=0}function he(){_=this,Oe.call(this,"datetime-local"),this.y1y_1=0}function fe(){d=this,Oe.call(this,"email"),this.c1z_1=0}function pe(){v=this,Oe.call(this,"file"),this.g1z_1=0}function _e(){y=this,Oe.call(this,"hidden"),this.k1z_1=0}function de(){m=this,Oe.call(this,"month"),this.o1z_1=0}function ve(){g=this,Ae.call(this,"number"),this.s1z_1=0}function ye(){b=this,Oe.call(this,"password"),this.z1z_1=0}function me(){w=this,Pe.call(this,"radio"),this.d20_1=0}function ge(){return null==w&&new me,w}function be(){$=this,Ae.call(this,"range"),this.h20_1=0}function we(){x=this,Oe.call(this,"search"),this.l20_1=0}function $e(){k=this,qe.call(this,"submit"),this.p20_1=0}function xe(){j=this,Oe.call(this,"tel"),this.t20_1=0}function ke(){C=this,Oe.call(this,"text"),this.x20_1=0}function je(){return null==C&&new ke,C}function Ce(){S=this,Oe.call(this,"time"),this.b21_1=0}function Se(){z=this,Oe.call(this,"url"),this.f21_1=0}function ze(){M=this,Oe.call(this,"week"),this.j21_1=0}function Me(){return null==M&&new ze,M}function Oe(t){Ie.call(this,t),this.q1y_1=0}function qe(t){Ie.call(this,t),this.a1y_1=0}function Pe(t){Ie.call(this,t),this.i1y_1=0}function Ae(t){Ie.call(this,t),this.v1z_1=0}function Ee(){O=this}function De(){return null==O&&new Ee,O}function Ie(t){De(),this.t1u_1=t,this.u1u_1=0}function Te(t,e){this.m21_1=t,this.n21_1=e,this.o21_1=this.m21_1,this.p21_1=0}function Le(t,e,n){Te.call(this,t,n),this.v21_1=e}function Re(t,e){Te.call(this,t,e)}function Ne(t,e){this.a22_1=t,this.b22_1=e,this.c22_1=8}function Fe(){return We(),q}function Be(){return We(),P}function He(t,e,n){We();var i,o=e;o.pw(-1867048565),mt()&&yt(-1867048565,n,-1,"org.jetbrains.compose.web.attributes.builders.DisposeRadioGroupEffect$composable (InternalControlledInputUtils.kt:67)"),gt(null,(i=t,function(t){return new Ve(i.f22(t))}),o,6),mt()&&bt(),o.uw()}function Ve(t){this.e22_1=t}function We(){if(A);else{A=!0;var t,e=new WeakMap;q=e,t=nt(),P=t}}function Ue(t){this.g22_1=t,this.h22_1=8}function Ke(t,e){Te.call(this,t,e)}function Ye(t){ne(),Te.call(this,"change",t)}function Ge(t){this.s22_1=t,this.t22_1=8}function Xe(){E=this}function Je(){return null==E&&new Xe,E}function Ze(t,e){this.y22_1=t,this.z22_1=e,this.a23_1=0}function Qe(){}function tn(){var t;t=it(),this.e23_1=t;var e;e=it(),this.f23_1=e,this.g23_1=8}function en(){}function nn(t,e){this.j23_1=t,this.k23_1=e,this.l23_1=8}function on(t,e){if(t.f()!==e.f())return!1;var n,i=0;t:if(St(t,Mt)&&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||ct(r.k23_1)!==ct(a.k23_1)){n=!1;break t}}n=!0}return n}function rn(t,e,n,i,o){var r=i;r=r.y17(-1594897193),Ot(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{mt()&&yt(-1594897193,l,-1,"org.jetbrains.compose.web.dom.TagElement$composable (Base.kt:106)");var c=r;c.pw(547886695),Ot(c,"C(remember$composable):Composables.kt#9igjgp");var h,f=c,p=f.rw();if(p===qt().tw_1){var _=new un;f.sw(_),h=_}else h=p;var d=h,v=null==d||Pt(d)?d:st();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 sn(t)})):g.r17();var b=At(g),w=Qt(null,1);null==e||e(w),y=w.r1v_1,Et(b).pw(509942095);var $=Dt(Et(b));It($,w.s1v_1,((s=function(t,e){return t.u23(e),Q()}).callableName="updateClasses",s)),It($,w.p1v_1,function(){var t=function(t,e){return t.s23(e),Q()};return t.callableName="updateStyleDeclarations",t}());var x=w.b1w();It($,x,function(){var t=function(t,e){return t.t23(e),Q()};return t.callableName="updateAttrs",t}());var k=w.n1v_1.t1x();It($,k,function(){var t=function(t,e){return t.q23(e),Q()};return t.callableName="updateEventListeners",t}()),It($,w.q1v_1,function(){var t=function(t,e){return t.r23(e),Q()};return t.callableName="updateProperties",t}()),Et(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||(gt(null,function(t,e){return function(n){return t(n,e.z23())}}(y,m),r,6),Q(),Q()),mt()&&bt()}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){rn(t,e,n,o,1|i)}(t,e,n,i,o),Q()}}(t,e,n,o))}function sn(t){Tt.call(this,t),this.o23_1=t,this.p23_1=Lt()}function an(){}function un(){ln.call(this)}function ln(){this.a24_1=0,this.b24_1=8}function cn(){}function hn(t){return Yt("el",1,Kt,(function(t){return hn(t)}),null),t.d24_1.l2()}function fn(t){var e;this.c24_1=t,this.d24_1=Bt((e=this,function(){return document.createElement(e.c24_1)}))}function pn(t,e,n){Ln();var i=e;i=i.y17(-363526853),Ot(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{mt()&&yt(-363526853,n,-1,"org.jetbrains.compose.web.dom.Text$composable (Elements.kt:479)");var s=i;s.pw(547886695),Ot(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,l=u.rw();if(l===qt().tw_1){var c=On;u.sw(c),a=c}else a=l;var h=a,f=null==h||Pt(h)?h:st();s.uw();var p=f,_=i;_.pw(-1846754774),Ot(_,"C(ComposeNode$composable):Composables.kt#9igjgp"),_.c17()instanceof Vt||Ht(),_.n12(),_.n17()?_.p17((o=p,function(){return o()})):_.r17();var d=Dt(_);It(d,t,qn),_.s17(),_.uw(),mt()&&bt()}var v,y,m=i.z17();null===m||m.u18((v=t,y=n,function(t,e){return function(t,e,n,i){pn(t,n,1|e)}(v,y,t),Q()}))}function _n(t,e,n,i,o){Ln();var r={_v:t},s={_v:e},a=n;a=a.y17(-915831286),Ot(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),mt()&&yt(-915831286,u,-1,"org.jetbrains.compose.web.dom.H3$composable (Elements.kt:539)"),rn((Ln(),N),r._v,s._v,a,112&u<<3|896&u<<3),mt()&&bt());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),Q()}))}function dn(t,e,n,i,o){Ln();var r={_v:t},s={_v:e},a=n;a=a.y17(1021009996),Ot(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),mt()&&yt(1021009996,u,-1,"org.jetbrains.compose.web.dom.Div$composable (Elements.kt:489)"),rn((Ln(),I),r._v,s._v,a,112&u<<3|896&u<<3),mt()&&bt());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),Q()}))}function vn(t,e,n,i,o,r){Ln();var s={_v:t},a={_v:e},u={_v:n},l=i;l=l.y17(-319539737),Ot(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),mt()&&yt(-319539737,c,-1,"org.jetbrains.compose.web.dom.Form$composable (Elements.kt:637)");var h=(Ln(),U),f=s._v,p=a._v,_=l;_.pw(-1124426577),Ot(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.qw(f)|_.qw(p)),m=v.rw();if(y||m===qt().tw_1){var g=Pn(s,a);v.sw(g),d=g}else d=m;var b=d,w=null==b||Pt(b)?b:st();_.uw(),rn(h,w,u._v,l,896&c),mt()&&bt()}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){vn(t._v,e._v,n._v,r,1|i,o)}($,x,k,j,C,t),Q()}))}function yn(t,e,n,i,o,r){Ln();var s={_v:t},a={_v:e},u={_v:n},l=i;l=l.y17(-493483649),Ot(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),mt()&&yt(-493483649,c,-1,"org.jetbrains.compose.web.dom.Label$composable (Elements.kt:833)");var h=(Ln(),X),f=s._v,p=a._v,_=l;_.pw(-1124426577),Ot(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.qw(f)|_.qw(p)),m=v.rw();if(y||m===qt().tw_1){var g=An(s,a);v.sw(g),d=g}else d=m;var b=d,w=null==b||Pt(b)?b:st();_.uw(),rn(h,w,u._v,l,896&c),mt()&&bt()}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),Q()}))}function mn(t,e,n,i,o){Ln();var r={_v:t},s={_v:e},a=n;a=a.y17(-577256683),Ot(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),mt()&&yt(-577256683,i,-1,"org.jetbrains.compose.web.dom.TextArea$composable (Elements.kt:729)");var _=a;_.pw(547886695),Ot(_,"C(remember$composable):Composables.kt#9igjgp");var d,v=_,y=v.rw();if(y===qt().tw_1){var m=!(null==r._v);v.sw(m),d=m}else d=y;var g=d,b=null==g||Pt(g)?g:st();_.uw();var w=b,$=a;$.pw(547886695),Ot($,"C(remember$composable):Composables.kt#9igjgp");var x,k=$,j=k.rw();if(j===qt().tw_1){var C=Wt(0,null,2,null);k.sw(C),x=C}else x=j;var S=x,z=null==S||Pt(S)?S:st();$.uw();var M=z,O=(Ln(),G),q=[M,s._v,w,r._v],P=a;P.pw(-1603429786),Ot(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();gt(a,(o=e,function(t){return e=o.f22(t),We(),Fe().has(e)&&(e.value=vt(Fe().get(e))),new En;var e}),r,0),mt()&&(bt(),Q())}return Q()}}(M)),K=a;K.pw(-838505973),Ot(K,"C(remember$composable)P(1):Composables.kt#9igjgp");var Y,X=K,J=K.qw(U),Z=X.rw();if(J||Z===qt().tw_1){var tt=(u=U,function(t,e,n){return u.y1s(t,e,n)});X.sw(tt),Y=tt}else Y=Z;var et=Y,nt=null==et||Pt(et)?et:st();K.uw(),rn(O,W,nt,a,384),mt()&&bt()}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){mn(t._v,e._v,o,1|n,i)}(t,e,n,i,o),Q()}}(r,s,i,o))}function gn(t,e,n,i,o){Ln();var r={_v:t},s={_v:e},a=n;a=a.y17(-767970749),Ot(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),mt()&&yt(-767970749,u,-1,"org.jetbrains.compose.web.dom.Button$composable (Elements.kt:521)"),rn((Ln(),L),r._v,s._v,a,112&u<<3|896&u<<3),mt()&&bt());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){gn(t._v,e._v,o,1|n,i)}(l,c,h,f,t),Q()}))}function bn(t,e,n,i){Ln();var o={_v:t},r=e;r=r.y17(1126514281),Ot(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),mt()&&yt(1126514281,s,-1,"org.jetbrains.compose.web.dom.Br$composable (Elements.kt:599)"),rn((Ln(),H),o._v,null,r,384|112&s<<3),mt()&&bt());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){bn(t._v,i,1|e,n)}(a,u,l,t),Q()}))}function wn(t,e,n,i,o){Ln();var r={_v:t},s={_v:e},a=n;a=a.y17(-2140946851),Ot(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),mt()&&yt(-2140946851,u,-1,"org.jetbrains.compose.web.dom.Canvas$composable (Elements.kt:430)"),rn((Ln(),D),r._v,s._v,a,112&u<<3|896&u<<3),mt()&&bt());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){wn(t._v,e._v,o,1|n,i)}(l,c,h,f,t),Q()}))}function $n(t,e,n,i){Ln();var o=n;o=o.y17(-1013116589),Ot(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{mt()&&yt(-1013116589,l,-1,"org.jetbrains.compose.web.dom.Input$composable (Elements.kt:1054)");var c=o;c.pw(547886695),Ot(c,"C(remember$composable):Composables.kt#9igjgp");var h,f=c,p=f.rw();if(p===qt().tw_1){var _=Wt(0,null,2,null);f.sw(_),h=_}else h=p;var d=h,v=null==d||Pt(d)?d:st();c.uw();var y=v,m=(Ln(),T),g=o;g.pw(-1058148781),Ot(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===qt().tw_1){var k=(s=t,a=e,u=y,function(t){var e=new Ne(s,t);return function(t,e){Xt(),t.p1u("type",e.t1u_1)}(e,s),e.d22(function(t){return function(e){return t.us(t.l2()+1|0),Q()}}(u)),a(e),Q()});w.sw(k),b=k}else b=x;var j=b,C=null==j||Pt(j)?j:st();g.uw();var S=C,z=Ut(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,Q()),18==(91&a)&&s.g16())s.k12(),Q();else{mt()&&yt(558133459,a,-1,"org.jetbrains.compose.web.dom.Input$composable. (Elements.kt:1073)"),s.pw(-1270925487),$t(t,ge())&&He(n,s,14&a),s.uw();var u=e.l2();gt(u,(r=n,function(t){return function(t){We();var e=De().l21(t.type);if(Fe().has(t)){if($t(e,ge())){var n=Be().z2(t.name);if(null==n);else for(var i=n.c();i.d();){var o=i.e();o.checked=wt(vt(Fe().get(o)))}return t.checked=wt(vt(Fe().get(t))),Q()}$t(e,ue())?t.checked=wt(vt(Fe().get(t))):t.value=vt(Fe().get(t))}}(r.f22(t)),new Dn}),s,0),mt()&&(bt(),Q())}return Q()}}(t,y)),M=o;M.pw(-838505973),Ot(M,"C(remember$composable)P(1):Composables.kt#9igjgp");var O,q=M,P=M.qw(z),A=q.rw();if(P||A===qt().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||Pt(D)?D:st();M.uw(),rn(m,S,I,o,384),mt()&&bt()}var L=o.z17();null===L||L.u18(function(t,e,n){return function(i,o){return function(t,e,n,i,o){$n(t,e,i,1|n)}(t,e,n,i),Q()}}(t,e,i))}function xn(t,e,n,i,o){Ln();var r={_v:t},s={_v:e},a=n;a=a.y17(1065330793),Ot(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),mt()&&yt(1065330793,u,-1,"org.jetbrains.compose.web.dom.H4$composable (Elements.kt:545)"),rn((Ln(),F),r._v,s._v,a,112&u<<3|896&u<<3),mt()&&bt());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){xn(t._v,e._v,o,1|n,i)}(l,c,h,f,t),Q()}))}function kn(t,e,n,i,o){Ln();var r={_v:t},s={_v:e},a=n;a=a.y17(-583188148),Ot(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),mt()&&yt(-583188148,u,-1,"org.jetbrains.compose.web.dom.H1$composable (Elements.kt:527)"),rn((Ln(),R),r._v,s._v,a,112&u<<3|896&u<<3),mt()&&bt());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),Q()}))}function jn(t,e,n,i,o,r){Ln();var s={_v:t},a={_v:e},u={_v:n},l=i;l=l.y17(-140298183),Ot(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),mt()&&yt(-140298183,c,-1,"org.jetbrains.compose.web.dom.Select$composable (Elements.kt:653)");var h=(Ln(),K),f=a._v,p=s._v,_=l;_.pw(-1124426577),Ot(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.qw(f)|_.qw(p)),m=v.rw();if(y||m===qt().tw_1){var g=In(a,s);v.sw(g),d=g}else d=m;var b=d,w=null==b||Pt(b)?b:st();_.uw(),rn(h,w,u._v,l,896&c),mt()&&bt()}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){jn(t._v,e._v,n._v,r,1|i,o)}($,x,k,j,C,t),Q()}))}function Cn(t,e,n,i,o,r){Ln();var s={_v:e},a={_v:n},u=i;u=u.y17(1780967894),Ot(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),mt()&&yt(1780967894,l,-1,"org.jetbrains.compose.web.dom.Option$composable (Elements.kt:669)");var c=(Ln(),Y),h=s._v,f=u;f.pw(-1124426577),Ot(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===qt().tw_1){var y=Tn(t,s);_.sw(y),p=y}else p=v;var m=p,g=null==m||Pt(m)?m:st();f.uw(),rn(c,g,a._v,u,896&l),mt()&&bt()}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){Cn(t,e._v,n._v,r,1|i,o)}(b,w,$,x,k,t),Q()}))}function Sn(t,e,n,i,o){Ln();var r={_v:t},s={_v:e},a=n;a=a.y17(-114341698),Ot(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),mt()&&yt(-114341698,u,-1,"org.jetbrains.compose.web.dom.Ul$composable (Elements.kt:603)"),rn((Ln(),V),r._v,s._v,a,112&u<<3|896&u<<3),mt()&&bt());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){Sn(t._v,e._v,o,1|n,i)}(l,c,h,f,t),Q()}))}function zn(t,e,n,i,o){Ln();var r={_v:t},s={_v:e},a=n;a=a.y17(-456299496),Ot(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),mt()&&yt(-456299496,u,-1,"org.jetbrains.compose.web.dom.Li$composable (Elements.kt:615)"),rn((Ln(),W),r._v,s._v,a,112&u<<3|896&u<<3),mt()&&bt());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),Q()}))}function Mn(t,e,n,i,o){Ln();var r={_v:t},s={_v:e},a=n;a=a.y17(-155327957),Ot(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),mt()&&yt(-155327957,u,-1,"org.jetbrains.compose.web.dom.Span$composable (Elements.kt:593)"),rn((Ln(),B),r._v,s._v,a,112&u<<3|896&u<<3),mt()&&bt());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),Q()}))}function On(){return Ln(),new Tt(document.createTextNode(""))}function qn(t,e){Ln();var n=t.r1m();return(n instanceof Text?n:st()).data=e,Q()}function Pn(t,e){return function(n){var i=t._v;return null==i||0===pt(i)||(function(t,e){Xt(),t.p1u("action",e)}(n,t._v),Q()),null!=e._v&&e._v(n),Q()}}function An(t,e){return function(n){return null!=t._v&&(function(t,e){Xt(),t.p1u("for",e)}(n,t._v),Q()),null!=e._v&&e._v(n),Q()}}function En(){}function Dn(){}function In(t,e){return function(n){return t._v&&(i=n,Xt(),i.p1u("multiple",""),Q()),null!=e._v&&e._v(new Ue(n)),Q();var i}}function Tn(t,e){return function(n){return function(t,e){Xt(),t.p1u("value",e)}(n,t),null!=e._v&&e._v(n),Q()}}function Ln(){J||(J=!0,new fn("address"),new fn("article"),new fn("aside"),new fn("header"),new fn("area"),new fn("audio"),new fn("map"),new fn("track"),new fn("video"),new fn("datalist"),new fn("fieldset"),new fn("legend"),new fn("meter"),new fn("output"),new fn("progress"),new fn("embed"),new fn("iframe"),new fn("object"),new fn("param"),new fn("picture"),new fn("source"),D=new fn("canvas"),new fn("dl"),new fn("dt"),new fn("dd"),I=new fn("div"),new fn("a"),T=new fn("input"),L=new fn("button"),R=new fn("h1"),new fn("h2"),N=new fn("h3"),F=new fn("h4"),new fn("h5"),new fn("h6"),new fn("p"),new fn("em"),new fn("i"),new fn("b"),new fn("small"),B=new fn("span"),H=new fn("br"),V=new fn("ul"),new fn("ol"),W=new fn("li"),new fn("img"),U=new fn("form"),K=new fn("select"),Y=new fn("option"),new fn("optgroup"),new fn("section"),G=new fn("textarea"),new fn("nav"),new fn("pre"),new fn("code"),new fn("main"),new fn("footer"),new fn("hr"),X=new fn("label"),new fn("table"),new fn("caption"),new fn("col"),new fn("colgroup"),new fn("tr"),new fn("thead"),new fn("th"),new fn("td"),new fn("tbody"),new fn("tfoot"),new fn("style"))}function Rn(t,e){Nn.call(this,e),this.q24_1=t,this.r24_1=0}function Nn(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 Fn(t,e){Nn.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 Bn(t){Nn.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 re.prototype=Object.create(lt.prototype),re.prototype.constructor=re,qe.prototype=Object.create(Ie.prototype),qe.prototype.constructor=qe,se.prototype=Object.create(qe.prototype),se.prototype.constructor=se,Pe.prototype=Object.create(Ie.prototype),Pe.prototype.constructor=Pe,ae.prototype=Object.create(Pe.prototype),ae.prototype.constructor=ae,Oe.prototype=Object.create(Ie.prototype),Oe.prototype.constructor=Oe,le.prototype=Object.create(Oe.prototype),le.prototype.constructor=le,ce.prototype=Object.create(Oe.prototype),ce.prototype.constructor=ce,he.prototype=Object.create(Oe.prototype),he.prototype.constructor=he,fe.prototype=Object.create(Oe.prototype),fe.prototype.constructor=fe,pe.prototype=Object.create(Oe.prototype),pe.prototype.constructor=pe,_e.prototype=Object.create(Oe.prototype),_e.prototype.constructor=_e,de.prototype=Object.create(Oe.prototype),de.prototype.constructor=de,Ae.prototype=Object.create(Ie.prototype),Ae.prototype.constructor=Ae,ve.prototype=Object.create(Ae.prototype),ve.prototype.constructor=ve,ye.prototype=Object.create(Oe.prototype),ye.prototype.constructor=ye,me.prototype=Object.create(Pe.prototype),me.prototype.constructor=me,be.prototype=Object.create(Ae.prototype),be.prototype.constructor=be,we.prototype=Object.create(Oe.prototype),we.prototype.constructor=we,$e.prototype=Object.create(qe.prototype),$e.prototype.constructor=$e,xe.prototype=Object.create(Oe.prototype),xe.prototype.constructor=xe,ke.prototype=Object.create(Oe.prototype),ke.prototype.constructor=ke,Ce.prototype=Object.create(Oe.prototype),Ce.prototype.constructor=Ce,Se.prototype=Object.create(Oe.prototype),Se.prototype.constructor=Se,ze.prototype=Object.create(Oe.prototype),ze.prototype.constructor=ze,Le.prototype=Object.create(Te.prototype),Le.prototype.constructor=Le,Re.prototype=Object.create(Te.prototype),Re.prototype.constructor=Re,Ke.prototype=Object.create(Te.prototype),Ke.prototype.constructor=Ke,Ye.prototype=Object.create(Te.prototype),Ye.prototype.constructor=Ye,sn.prototype=Object.create(Tt.prototype),sn.prototype.constructor=sn,un.prototype=Object.create(ln.prototype),un.prototype.constructor=un,Rn.prototype=Object.create(Nn.prototype),Rn.prototype.constructor=Rn,Fn.prototype=Object.create(Nn.prototype),Fn.prototype.constructor=Fn,Bn.prototype=Object.create(Nn.prototype),Bn.prototype.constructor=Bn,Jt.$metadata$=tt("Companion"),Zt.$metadata$=et("AttrsScope",[ie]),te.prototype.u1v=function(){return this.n1v_1},te.prototype.l1v=function(t){this.n1v_1.l1v(t)},te.prototype.m1v=function(t){this.n1v_1.m1v(t)},te.prototype.k1v=function(t){this.n1v_1.k1v(t)},te.prototype.x1v=function(){return this.p1v_1},te.prototype.y1v=function(){return this.q1v_1},te.prototype.z1v=function(){return this.r1v_1},te.prototype.a1w=function(){return this.s1v_1},te.prototype.g1v=function(t){this.s1v_1.c4(t)},te.prototype.h1v=function(t){ot(this.s1v_1,t)},te.prototype.f1v=function(t){t(this.p1v_1)},te.prototype.p1u=function(t,e){return this.o1v_1.n3(t,e),this},te.prototype.j1v=function(t,e){var n=rt(t,e);this.q1v_1.a(n instanceof at?n:st())},te.prototype.b1w=function(){return this.o1v_1},te.$metadata$=ut("AttrsScopeBuilder",[Zt,ie]),ee.$metadata$=tt("Companion"),ie.$metadata$=et("EventsListenerScope"),oe.prototype.k1v=function(t){this.v1v_1.a(t)},oe.prototype.t1x=function(){return this.v1v_1},oe.$metadata$=ut("EventsListenerScopeBuilder",[ie]),re.$metadata$=ut("ButtonType",void 0,void 0,void 0,void 0,lt.prototype),se.$metadata$=tt("Button",void 0,void 0,void 0,void 0,qe.prototype),ae.$metadata$=tt("Checkbox",void 0,void 0,void 0,void 0,Pe.prototype),le.$metadata$=tt("Color",void 0,void 0,void 0,void 0,Oe.prototype),ce.$metadata$=tt("Date",void 0,void 0,void 0,void 0,Oe.prototype),he.$metadata$=tt("DateTimeLocal",void 0,void 0,void 0,void 0,Oe.prototype),fe.$metadata$=tt("Email",void 0,void 0,void 0,void 0,Oe.prototype),pe.$metadata$=tt("File",void 0,void 0,void 0,void 0,Oe.prototype),_e.$metadata$=tt("Hidden",void 0,void 0,void 0,void 0,Oe.prototype),de.$metadata$=tt("Month",void 0,void 0,void 0,void 0,Oe.prototype),ve.$metadata$=tt("Number",void 0,void 0,void 0,void 0,Ae.prototype),ye.$metadata$=tt("Password",void 0,void 0,void 0,void 0,Oe.prototype),me.$metadata$=tt("Radio",void 0,void 0,void 0,void 0,Pe.prototype),be.$metadata$=tt("Range",void 0,void 0,void 0,void 0,Ae.prototype),we.$metadata$=tt("Search",void 0,void 0,void 0,void 0,Oe.prototype),$e.$metadata$=tt("Submit",void 0,void 0,void 0,void 0,qe.prototype),xe.$metadata$=tt("Tel",void 0,void 0,void 0,void 0,Oe.prototype),ke.$metadata$=tt("Text",void 0,void 0,void 0,void 0,Oe.prototype),Ce.$metadata$=tt("Time",void 0,void 0,void 0,void 0,Oe.prototype),Se.$metadata$=tt("Url",void 0,void 0,void 0,void 0,Oe.prototype),ze.$metadata$=tt("Week",void 0,void 0,void 0,void 0,Oe.prototype),Oe.prototype.j1y=function(t){return Me().k21(t)},Oe.$metadata$=ut("InputTypeWithStringValue",void 0,void 0,void 0,void 0,Ie.prototype),qe.prototype.b1y=function(t){return Q()},qe.prototype.j1y=function(t){return this.b1y(t),Q()},qe.$metadata$=ut("InputTypeWithUnitValue",void 0,void 0,void 0,void 0,Ie.prototype),Pe.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},Pe.$metadata$=ut("InputTypeCheckedValue",void 0,void 0,void 0,void 0,Ie.prototype),Ae.prototype.j1y=function(t){var e,n=t.target,i=null==(e=null==n?null:n)?null:e.valueAsNumber;return null==i?null:i},Ae.$metadata$=ut("InputTypeNumberValue",void 0,void 0,void 0,void 0,Ie.prototype),Ee.prototype.l21=function(t){var e;switch(t){case"button":null==c&&new se,e=c;break;case"checkbox":e=ue();break;case"color":null==f&&new le,e=f;break;case"date":null==p&&new ce,e=p;break;case"datetime-local":null==_&&new he,e=_;break;case"email":null==d&&new fe,e=d;break;case"file":null==v&&new pe,e=v;break;case"hidden":null==y&&new _e,e=y;break;case"month":null==m&&new de,e=m;break;case"number":null==g&&new ve,e=g;break;case"password":null==b&&new ye,e=b;break;case"radio":e=ge();break;case"range":null==$&&new be,e=$;break;case"search":null==x&&new we,e=x;break;case"submit":null==k&&new $e,e=k;break;case"tel":null==j&&new xe,e=j;break;case"text":e=je();break;case"time":null==S&&new Ce,e=S;break;case"url":null==z&&new Se,e=z;break;case"week":e=Me();break;default:throw ht(ct("fromString got unknown type - "+t))}return e},Ee.$metadata$=tt("Companion"),Ie.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},Ie.$metadata$=ut("InputType"),Te.prototype.j1t=function(){return this.o21_1},Te.prototype.q21=function(t){var e;e=new Nn(t),this.n21_1(e)},Te.prototype.handleEvent=function(t){return this.q21(t)},Te.$metadata$=ut("SyntheticEventListener",[ft]),Le.prototype.q21=function(t){var e=this.v21_1.j1y(t);this.n21_1(new Fn(e,t))},Le.prototype.handleEvent=function(t){return this.q21(t)},Le.$metadata$=ut("InputEventListener",void 0,void 0,void 0,void 0,Te.prototype),Re.prototype.q21=function(t){var e;e=t,this.n21_1(new Bn(e))},Re.prototype.handleEvent=function(t){return this.q21(t)},Re.$metadata$=ut("MouseEventListener",void 0,void 0,void 0,void 0,Te.prototype),Ne.prototype.p1u=function(t,e){return this.b22_1.p1u(t,e)},Ne.prototype.h1v=function(t){this.b22_1.h1v(t)},Ne.prototype.g1v=function(t){this.b22_1.g1v(t)},Ne.prototype.i1v=function(t){return this.b22_1.i1v(t)},Ne.prototype.l1v=function(t){this.b22_1.l1v(t)},Ne.prototype.m1v=function(t){this.b22_1.m1v(t)},Ne.prototype.j1v=function(t,e){this.b22_1.j1v(t,e)},Ne.prototype.k1v=function(t){this.b22_1.k1v(t)},Ne.prototype.f1v=function(t){this.b22_1.f1v(t)},Ne.prototype.d22=function(t){ne(),this.k1v(new Le("input",this.a22_1,t))},Ne.$metadata$=ut("InputAttrsScope",[Zt]),Ve.prototype.um=function(){var t=Be().z2(this.e22_1.name);null==t||t.ga(this.e22_1);var e=Be().z2(this.e22_1.name);!0===(null==e?null:e.h())&&Be().lb(this.e22_1.name)},Ve.$metadata$=ut(void 0,[xt]),Ue.prototype.p1u=function(t,e){return this.g22_1.p1u(t,e)},Ue.prototype.h1v=function(t){this.g22_1.h1v(t)},Ue.prototype.g1v=function(t){this.g22_1.g1v(t)},Ue.prototype.i1v=function(t){return this.g22_1.i1v(t)},Ue.prototype.l1v=function(t){this.g22_1.l1v(t)},Ue.prototype.m1v=function(t){this.g22_1.m1v(t)},Ue.prototype.j1v=function(t,e){this.g22_1.j1v(t,e)},Ue.prototype.k1v=function(t){this.g22_1.k1v(t)},Ue.prototype.f1v=function(t){this.g22_1.f1v(t)},Ue.prototype.i22=function(t){ne(),this.k1v(new Ke("input",t))},Ue.prototype.j22=function(t){this.k1v(new Ye(t))},Ue.$metadata$=ut("SelectAttrsScope",[Zt]),Ke.prototype.q21=function(t){var e=t.target,n=(null==e?null:e).value,i=null==n?null:ct(n);this.n21_1(new Fn(i,t))},Ke.prototype.handleEvent=function(t){return this.q21(t)},Ke.$metadata$=ut("SelectInputEventListener",void 0,void 0,void 0,void 0,Te.prototype),Ye.prototype.q21=function(t){var e=t.target,n=(null==e?null:e).value,i=null==n?null:ct(n);this.n21_1(new Rn(i,t))},Ye.prototype.handleEvent=function(t){return this.q21(t)},Ye.$metadata$=ut("SelectChangeEventListener",void 0,void 0,void 0,void 0,Te.prototype),Ge.prototype.p1u=function(t,e){return this.s22_1.p1u(t,e)},Ge.prototype.h1v=function(t){this.s22_1.h1v(t)},Ge.prototype.g1v=function(t){this.s22_1.g1v(t)},Ge.prototype.i1v=function(t){return this.s22_1.i1v(t)},Ge.prototype.l1v=function(t){this.s22_1.l1v(t)},Ge.prototype.m1v=function(t){this.s22_1.m1v(t)},Ge.prototype.j1v=function(t,e){this.s22_1.j1v(t,e)},Ge.prototype.k1v=function(t){this.s22_1.k1v(t)},Ge.prototype.f1v=function(t){this.s22_1.f1v(t)},Ge.prototype.u22=function(t){return this.j1v((Xt(),o),t),this},Ge.prototype.v22=function(t){ne(),this.k1v(new Le("input",je(),t))},Ge.$metadata$=ut("TextAreaAttrsScope",[Zt]),Xe.prototype.w22=function(){return"%"},Xe.prototype.x22=function(){return"px"},Xe.$metadata$=tt("Companion"),Ze.prototype.l2=function(){return this.y22_1},Ze.prototype.b23=function(){return this.z22_1},Ze.prototype.toString=function(){return""+this.y22_1+this.z22_1},Ze.prototype.hashCode=function(){var t=jt(this.y22_1);return Z(t,31)+Ct(this.z22_1)|0},Ze.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Ze))return!1;var e=t instanceof Ze?t:st();return!!$t(this.y22_1,e.y22_1)&&!!$t(this.z22_1,e.z22_1)},Ze.$metadata$=ut("CSSUnitValueTyped"),Object.defineProperty(Ze.prototype,"value",{configurable:!0,get:function(){return this.l2()}}),Object.defineProperty(Ze.prototype,"unit",{configurable:!0,get:function(){return this.b23()}}),Qe.$metadata$=et("StyleScope"),tn.prototype.h23=function(){return this.e23_1},tn.prototype.i23=function(){return this.f23_1},tn.prototype.c23=function(t,e){this.h23().a(new nn(t,e))},tn.prototype.equals=function(t){return!(null==t||!St(t,en))&&!!on(this.h23(),t.h23())&&on(this.i23(),t.i23())},tn.$metadata$=ut("StyleScopeBuilder",[Qe,en]),en.$metadata$=et("StyleHolder"),nn.prototype.j1t=function(){return this.j23_1},nn.prototype.l2=function(){return this.k23_1},nn.prototype.d9=function(){return this.j23_1},nn.prototype.e9=function(){return this.k23_1},nn.prototype.toString=function(){return"StylePropertyDeclaration(name="+this.j23_1+", value="+this.k23_1+")"},nn.prototype.hashCode=function(){var t=zt(this.j23_1);return Z(t,31)+Ct(this.k23_1)|0},nn.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof nn))return!1;var e=t instanceof nn?t:st();return this.j23_1===e.j23_1&&!!$t(this.k23_1,e.k23_1)},nn.$metadata$=ut("StylePropertyDeclaration"),sn.prototype.r1m=function(){return this.o23_1},sn.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)}},sn.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)}},sn.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,ct(s))}for(var a=t.i23().c();a.d();){var u=a.e(),l=u.d9(),c=u.e9();n.setProperty(l,ct(c))}}},sn.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)})())); +!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.$_$.q5,o=e.$_$.y4,r=e.$_$.a7;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.$_$.j5,$t=e.$_$.w1,xt=e.$_$.r5,kt=e.$_$.y4,jt=e.$_$.m,Ct=e.$_$.n6,St=e.$_$.n5,zt=e.$_$.f1,Mt=e.$_$.x6,Ot=e.$_$.y6,qt=e.$_$.v1,Pt=e.$_$.o1,At=e.$_$.s6,Et=e.$_$.z6,Dt=e.$_$.c4,It=n.$_$.n,Tt=n.$_$.i,Lt=e.$_$.k4,Rt=e.$_$.j4,Nt=e.$_$.l4,Ft=e.$_$.o4,Bt=e.$_$.m5,Ht=e.$_$.a5,Vt=e.$_$.s,Wt=e.$_$.f,Ut=e.$_$.o,Kt=e.$_$.h5,Yt=e.$_$.i6,Gt=e.$_$.a3,Xt=e.$_$.w3,Jt=e.$_$.r3,Zt=e.$_$.h6,Qt=e.$_$.l,te=e.$_$.b7,ee=e.$_$.y3,ne=e.$_$.q5,ie=e.$_$.d1,oe=e.$_$.u6,re=e.$_$.e3,se=e.$_$.z4,ae=e.$_$.x5,ue=e.$_$.f5,le=e.$_$.k5,ce=e.$_$.n2,he=e.$_$.t6,fe=e.$_$.q,pe=e.$_$.n3,_e=n.$_$.k,de=n.$_$.e,ve=n.$_$.f,ye=e.$_$.a7,me=e.$_$.n4,ge=e.$_$.m4,be=e.$_$.g5,we=e.$_$.d2,$e=e.$_$.p2,xe=e.$_$.p4,ke=n.$_$.l,je=e.$_$.a4,Ce=n.$_$.c,Se=e.$_$.n,ze=e.$_$.u3,Me=e.$_$.h3,Oe=n.$_$.h,qe=e.$_$.v,Pe=e.$_$.z3,Ae=e.$_$.q6,Ee=n.$_$.o,De=n.$_$.b,Ie=e.$_$.e,Te=e.$_$.k6,Le=n.$_$.g,Re=n.$_$.m,Ne=e.$_$.r,Fe=e.$_$.p3,Be=(e.$_$.q4,e.$_$.r4,e.$_$.q2),He=e.$_$.c3,Ve=e.$_$.c5,We=e.$_$.t1,Ue=e.$_$.f2,Ke=e.$_$.e2,Ye=e.$_$.f3,Ge=e.$_$.k3,Xe=e.$_$.a1,Je=e.$_$.y2,Ze=e.$_$.x2,Qe=e.$_$.k2,tn=e.$_$.m2,en=e.$_$.h2,nn=e.$_$.j2,on=e.$_$.i1,rn=e.$_$.g2,sn=e.$_$.y1,an=e.$_$.s5,un=e.$_$.v4,ln=e.$_$.a2,cn=e.$_$.e1,hn=e.$_$.l2,fn=e.$_$.i3,pn=e.$_$.j3,_n=e.$_$.z1,dn=e.$_$.i2,vn=e.$_$.b2,yn=e.$_$.x1,mn=e.$_$.u5,gn=e.$_$.t5,bn=e.$_$.r6,wn=e.$_$.b1,$n=e.$_$.h1,xn=e.$_$.z,kn=e.$_$.p,jn=e.$_$.g6,Cn=e.$_$.l5,Sn=e.$_$.u2,zn=e.$_$.b,Mn=e.$_$.q3,On=e.$_$.y5,qn=e.$_$.i5,Pn=e.$_$.u1,An=e.$_$.t3,En=e.$_$.a6,Dn=e.$_$.u4,In=e.$_$.t2,Tn=e.$_$.l1,Ln=e.$_$.d,Rn=e.$_$.f6,Nn=e.$_$.n1,Fn=e.$_$.w;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=zt(St(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=zt(s.i27_1.a3());if(!_t(n,a))throw Mt(jt("Invalid order. Expected '"+n+"', but found '"+a+"'"))}}}(0,i);var w=function(t,e){return mt(e," vs ",null,null,0,null,Tn,30,null)}(0,i);return n.a(new Nn(w,"",i)),n}(t,e))}function On(t,e){return t.x27_1.p8(e)}function qn(t,e){var n=t.w27_1.o8(e," "),i=Ot("\\s{2,}").o8(n," ");return jt(kt(xt(i)?i:pt()))}function Pn(t,e){var n=qn(t,e);return qt("genericTitleParsing : '"+e+"' -> '"+n+"'"),n}function An(t,e){return!function(t,e){return t.v27_1.p8(e)}(t,e)}function En(t,e,n){var i;if(!Pt(n,e,!1,2,null))throw Mt(jt("Invalid "+e+".Expected to start with '"+e+"' but found '"+n+"'"));var o=At(n,e,"",!1,4,null);i=Ot("\\s+").o8(o," ");for(var r=bt(i,[", "],!1,0,6,null),s=$t(wt(r,10)),a=r.c();a.d();){var u,l,c=a.e(),h=At(c,",","",!1,4,null);l=jt(kt(xt(h)?h:pt())),u=bt(l,[" "],!1,0,6,null),s.a(u)}for(var f=s,p=Ct(),_=f.c();_.d();){var d=_.e(),v=d.g(0),y=d.g(1),m=Et(y);p.n3(v,m)}return p}function Dn(t,e){var n;t:{for(var i=e.u27_1.c();i.d();){var o=i.e();if(Pt(t,o,!1,2,null)){n=o;break t}}n=null}return n}function In(t){return jt(kt(xt(t)?t:pt()))}function Tn(t){return t.h27_1}function Ln(){v=this;for(var t,e=kn(),n=$t(e.length),i=e,o=0,r=i.length;o "+_);for(var y=Ct(),m=Yt(["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(),$=bt(w,[" "],!1,0,6,null).g(0),x=y.z2($);if(null==x){if(m.h())throw Mt("lineColors exhausted");var k=St(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 Yn(i,y);return qt("groupMap: "+S),S}function Xn(t,e){this.n28_1=t,this.o28_1=e,this.p28_1=8}function Jn(t,e,n,i,o,r){return function(t,e,n,i,o,r,s){return 0!=(8&o)&&(i="col-lg-6"),Zn.call(s,t,e,n,i),s}(t,e,n,i,o,0,Object.create(Zn.prototype))}function Zn(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 Qn(t,e,n){this.z27_1=t,this.a28_1=e,this.b28_1=n,this.c28_1=0}function ti(){g=this}function ei(t,e,n){var i=e;return Xt()&&Gt(2098833845,n,-1,"components.ComposableSingletons$AutoFormUiKt.lambda-1. (AutoFormUi.kt:30)"),Jt("⌨️ Input",i,6),Xt()&&Zt(),dt()}function ni(t,e,n){var i=e;return Xt()&&Gt(-1047390949,n,-1,"components.ComposableSingletons$AutoFormUiKt.lambda-2. (AutoFormUi.kt:58)"),Jt("Benchmark :",i,6),Xt()&&Zt(),dt()}function ii(t,e,n){var i=e;return Xt()&&Gt(-1553178399,n,-1,"components.ComposableSingletons$AutoFormUiKt.lambda-3. (AutoFormUi.kt:89)"),Jt("💾 SAVE",i,6),Xt()&&Zt(),dt()}function oi(){var t;b=this,this.g29_1=(t=Qt(2098833845,!1,ei),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)}}(Qt(-1047390949,!1,ni)),this.i29_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(Qt(-1553178399,!1,ii))}function ri(){return null==b&&new oi,b}function si(t,e,n,i,o,r,s,a,u,l){var c=u;c=c.y17(1546286992),te(c,"C(FormUi$composable)P(!1,7,6,2,4,5,3)");var h,f=l;Xt()&&Gt(1546286992,f,-1,"components.FormUi$composable (AutoFormUi.kt:14)");var p=c;p.pw(-1124426577),te(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===ee().tw_1){var b=(d=new ai(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||ne(w)?w:pt();p.uw(),h=$,ie(dt(),h,c,64),oe(null,ri().g29_1,c,48,1);var x=re(c,950905109,!0,function(t,e,n,i,o,r,s,a,u){return function(l,c,h){var f=c;Xt()&&Gt(950905109,h,-1,"components.FormUi$composable. (AutoFormUi.kt:34)");var p=re(f,-1972588882,!0,function(t,e,n,i,o,r,s,a,u){return function(l,c,h){var f=c;Xt()&&Gt(-1972588882,h,-1,"components.FormUi$composable.. (AutoFormUi.kt:35)"),f.s14(-1629932720,"inputForm"),eo(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),te(p,"C(remember$composable):Composables.kt#9igjgp");var _,d=p,v=d.rw();if(v===ee().tw_1){var y=ui;d.sw(y),_=y}else _=v;var m=_,g=null==m||ne(m)?m:pt();p.uw();var b=g,w=re(f,-1534844198,!0,function(t,e,n){return function(e,i,o){var r=i;Xt()&&Gt(-1534844198,o,-1,"components.FormUi$composable.... (AutoFormUi.kt:51)");var s=r;s.pw(547886695),te(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,l=u.rw();if(l===ee().tw_1){var c=li;u.sw(c),a=c}else a=l;var h,f=a,p=null==f||ne(f)?f:pt();s.uw(),fe("benchmark",p,ri().h29_1,r,390,0);var _=r;_.pw(-1124426577),te(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.qw(n)|_.qw(t)),m=v.rw();if(y||m===ee().tw_1){var g=function(t,e){return function(n){return n.i1v("benchmark"),n.h1v(["form-control"]),ce(n,"Benchmark data"),he(n,20),n.v22(function(t,e){return function(n){return t(e.e29(n.q25_1,!1,!1,6,null)),dt()}}(t,e)),dt()}}(n,t);v.sw(g),d=g}else d=m;var b=d,w=null==b||ne(b)?b:pt();return _.uw(),h=w,pe(t.z27_1,h,r,0,0),Xt()&&(Zt(),dt()),dt()}}(s,0,u)),$=f;$.pw(-838505973),te($,"C(remember$composable)P(1):Composables.kt#9igjgp");var x,k,j=$,C=$.qw(w),S=j.rw();if(C||S===ee().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||ne(M)?M:pt();$.uw(),se(b,O,f,48,0);var q=f;q.pw(-1124426577),te(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===ee().tw_1){var I=function(t,e){return function(n){return n.h1v(["btn","btn-dark","float-end"]),n.f1v(ci),Tt(t.z27_1)&&(n.p1u("disabled","true"),dt()),n.l1v(function(t,e){return function(n){return t(e),dt()}}(e,t)),ye(n,ve()),dt()}}(s,a);A.sw(I),P=I}else P=D;var T=P,L=null==T||ne(T)?T:pt();return q.uw(),me(L,ri().i29_1,f,48,0),f.v14(),Xt()&&(Zt(),dt()),dt()}}(t,e,n,i,o,r,s,a,u)),_=f;_.pw(-838505973),te(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.qw(p),g=y.rw();if(m||g===ee().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||ne(w)?w:pt();return _.uw(),ge(null,null,$,f,384,3),Xt()&&(Zt(),dt()),dt()}}(e,n,r,s,a,f,t,o,i)),k=c;k.pw(-838505973),te(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,C,S=k,z=k.qw(x),M=S.rw();if(z||M===ee().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||ne(q)?q:pt();k.uw(),se(null,P,c,48,1),Xt()&&Zt();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){si(t,e,n,i,o,r,s,a,l,1|u)}(t,e,n,i,o,r,s,a,u,l),dt()}}(t,e,n,i,o,r,s,a,l))}function ai(t,e,n){this.t29_1=t,this.u29_1=e,ae.call(this,n)}function ui(t){return t.h1v(["form-group"]),dt()}function li(t){return t.h1v(["form-label"]),dt()}function ci(t){return de(t,_e(10)),dt()}function hi(t,e,n){var i=e;return Xt()&&Gt(1529185564,n,-1,"components.ComposableSingletons$AutoGroupToggleKt.lambda-1. (AutoGroupToggle.kt:29)"),Jt("Auto Group:",i,6),Xt()&&Zt(),dt()}function fi(){var t;w=this,this.w29_1=(t=Qt(1529185564,!1,hi),function(e,n,i){return t.y1s(e,n,i)})}function pi(t,e,n,i){var o=n;o=o.y17(442093563),te(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{Xt()&&Gt(442093563,u,-1,"components.AutoGroup$composable (AutoGroupToggle.kt:10)");var l=o;l.pw(547886695),te(l,"C(remember$composable):Composables.kt#9igjgp");var c,h=l,f=h.rw();if(f===ee().tw_1){var p=_i;h.sw(p),c=p}else c=f;var _=c,d=null==_||ne(_)?_:pt();l.uw();var v=d,y=re(o,1468648411,!0,(s=t,a=e,function(t,e,n){var i=e;Xt()&&Gt(1468648411,n,-1,"components.AutoGroup$composable. (AutoGroupToggle.kt:21)");var o=i;o.pw(547886695),te(o,"C(remember$composable):Composables.kt#9igjgp");var r,u=o,l=u.rw();if(l===ee().tw_1){var c=vi;u.sw(c),r=c}else r=l;var h=r,f=null==h||ne(h)?h:pt();o.uw(),fe("colorMap",f,(null==w&&new fi,w).w29_1,i,390,0),we(null,i,0,1);var p=i;p.pw(-1124426577),te(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===ee().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(),dt()}}(e)),ye(n,ve()),dt()}}(s,a);d.sw(m),_=m}else _=y;var g=_,b=null==g||ne(g)?g:pt();p.uw();var $=b,x=re(i,-431302815,!0,function(t){return function(e,n,i){var o=n;return Xt()&&Gt(-431302815,i,-1,"components.AutoGroup$composable.. (AutoGroupToggle.kt:42)"),Jt(t?"ON":"OFF",o,0),Xt()&&(Zt(),dt()),dt()}}(s)),k=i;k.pw(-838505973),te(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,C,S=k,z=k.qw(x),M=S.rw();if(z||M===ee().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||ne(q)?q:pt();return k.uw(),me($,P,i,48,0),Xt()&&(Zt(),dt()),dt()})),m=o;m.pw(-838505973),te(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,b=m,$=m.qw(y),x=b.rw();if($||x===ee().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||ne(j)?j:pt();m.uw(),se(v,C,o,48,0),Xt()&&Zt()}var S=o.z17();null===S||S.u18(function(t,e,n){return function(i,o){return function(t,e,n,i,o){pi(t,e,i,1|n)}(t,e,n,i),dt()}}(t,e,i))}function _i(t){return t.h1v(["form-group"]),t.f1v(di),dt()}function di(t){return be(t,_e(10)),dt()}function vi(t){return t.h1v(["form-label"]),dt()}function yi(t,e,n,i,o){var r=i;r=r.y17(-1178138425),te(r,"C(ChartUi$composable)P(2,1)");var s=o;Xt()&&Gt(-1178138425,s,-1,"components.ChartUi$composable (ChartUi.kt:14)");var a,u=re(r,-1469495048,!0,(a=n,function(t,e,n){var i=e;return Xt()&&Gt(-1469495048,n,-1,"components.ChartUi$composable. (ChartUi.kt:19)"),Jt(a.s28_1+" "+a.t28_1,i,0),Xt()&&(Zt(),dt()),dt()})),l=r;l.pw(-838505973),te(l,"C(remember$composable)P(1):Composables.kt#9igjgp");var c,h,f=l,p=l.qw(u),_=f.rw();if(p||_===ee().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||ne(v)?v:pt();l.uw(),oe(null,y,r,48,1);var m=r;m.pw(547886695),te(m,"C(remember$composable):Composables.kt#9igjgp");var b,w=m,$=w.rw();if($===ee().tw_1){var x=mi;w.sw(x),b=x}else b=$;var k=b,j=null==k||ne(k)?k:pt();m.uw();var C=j,S=re(r,1870993739,!0,function(t,e,n,i){return function(o,r,s){var a=r;return Xt()&&Gt(1870993739,s,-1,"components.ChartUi$composable. (ChartUi.kt:32)"),Pe(t,e,function(t,e,n,i){return function(o){for(var r=gt(),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=Me(_),f.data=u,e){var d=n.j28_1,v=f.label;p=(le(d,Oe)?d:pt()).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 ti,y="line",w.type=y;for(var $,x={},k=t.u28_1.b3(),j=gt(),C=k.c();C.d();){var S;S=C.e().a3(),Kt(j,S)}var z,M,O=Vt(j),q=Me(O);qt("labels: "+qe(q)),$=q,x.labels=$,z=Me(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 bi(new T(b,w))}}(t,e,i,o),a,8|112&n<<3),Xt()&&(Zt(),dt()),dt()}}(n,t,s,e)),z=r;z.pw(-838505973),te(z,"C(remember$composable)P(1):Composables.kt#9igjgp");var M,O=z,q=z.qw(S),P=O.rw();if(q||P===ee().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||ne(E)?E:pt();z.uw(),$e(C,D,r,48,0),Xt()&&Zt();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){yi(t,e,n,o,1|i)}(t,e,n,i,o),dt()}}(t,e,n,o))}function mi(t){return t.f1v(gi),dt()}function gi(t){return ke(t,xe(100)),je(t,xe(100)),Ce(t,_e(700)),Se(t,_e(700)),dt()}function bi(t){this.y29_1=t}function wi(t,e,n){var i=e;return Xt()&&Gt(-646215327,n,-1,"components.ComposableSingletons$EditableTitleKt.lambda-1. (EditableTitle.kt:29)"),Jt("Title :",i,6),Xt()&&Zt(),dt()}function $i(t,e,n){var i=e;Xt()&&Gt(1730974274,n,-1,"components.ComposableSingletons$EditableTitleKt.lambda-2. (EditableTitle.kt:23)");var o=i;o.pw(547886695),te(o,"C(remember$composable):Composables.kt#9igjgp");var r,s=o,a=s.rw();if(a===ee().tw_1){var u=xi;s.sw(u),r=u}else r=a;var l=r,c=null==l||ne(l)?l:pt();o.uw(),fe("customTitle",c,Mi().z29_1,i,390,0);var h=Ae(),f=i;f.pw(547886695),te(f,"C(remember$composable):Composables.kt#9igjgp");var p,_=f,d=_.rw();if(d===ee().tw_1){var v=ki;_.sw(v),p=v}else p=d;var y=p,m=null==y||ne(y)?y:pt();return f.uw(),Ee(h,m,i,8),Xt()&&Zt(),dt()}function xi(t){return t.h1v(["form-label"]),dt()}function ki(t){return t.i1v("customTitle"),t.h1v(["form-control"]),De(t,"Custom title goes here"),t.f1v(ji),dt()}function ji(t){return Ie(t,_e(24)),dt()}function Ci(t,e,n){var i=e;Xt()&&Gt(1174811809,n,-1,"components.ComposableSingletons$EditableTitleKt.lambda-3. (EditableTitle.kt:18)");var o=i;o.pw(547886695),te(o,"C(remember$composable):Composables.kt#9igjgp");var r,s=o,a=s.rw();if(a===ee().tw_1){var u=Si;s.sw(u),r=u}else r=a;var l=r,c=null==l||ne(l)?l:pt();return o.uw(),se(c,Mi().a2a_1,i,48,0),Xt()&&Zt(),dt()}function Si(t){return t.h1v(["form-group"]),dt()}function zi(){var t;$=this,this.z29_1=(t=Qt(-646215327,!1,wi),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)}}(Qt(1730974274,!1,$i)),this.b2a_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(Qt(1174811809,!1,Ci))}function Mi(){return null==$&&new zi,$}function Oi(t,e){var n=t;if(n=n.y17(1068528252),te(n,"C(EditableTitle$composable)"),0===e&&n.g16())n.k12();else{Xt()&&Gt(1068528252,e,-1,"components.EditableTitle$composable (EditableTitle.kt:13)");var i=n;i.pw(547886695),te(i,"C(remember$composable):Composables.kt#9igjgp");var o,r=i,s=r.rw();if(s===ee().tw_1){var a=qi;r.sw(a),o=a}else o=s;var u=o,l=null==u||ne(u)?u:pt();i.uw(),se(l,Mi().b2a_1,n,48,0),Xt()&&Zt()}var c,h=n.z17();null===h||h.u18((c=e,function(t,e){return function(t,e,n){Oi(e,1|t)}(c,t),dt()}))}function qi(t){return t.h1v(["row"]),dt()}function Pi(t,e,n){var i=e;i=i.y17(-1873638994),te(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{Xt()&&Gt(-1873638994,n,-1,"components.ErrorUi$composable (Error.kt:8)");var a=i;a.pw(547886695),te(a,"C(remember$composable):Composables.kt#9igjgp");var u,l=a,c=l.rw();if(c===ee().tw_1){var h=Ai;l.sw(h),u=h}else u=c;var f=u,p=null==f||ne(f)?f:pt();a.uw();var _=p,d=re(i,1938269174,!0,(r=t,function(t,e,n){var i=e;Xt()&&Gt(1938269174,n,-1,"components.ErrorUi$composable. (Error.kt:11)");var o=i;o.pw(547886695),te(o,"C(remember$composable):Composables.kt#9igjgp");var s,a=o,u=a.rw();if(u===ee().tw_1){var l=Ei;a.sw(l),s=l}else s=u;var c=s,h=null==c||ne(c)?c:pt();o.uw();var f=h,p=re(i,-1978518889,!0,function(t){return function(e,n,i){var o=n;Xt()&&Gt(-1978518889,i,-1,"components.ErrorUi$composable.. (Error.kt:14)");var r=o;r.pw(547886695),te(r,"C(remember$composable):Composables.kt#9igjgp");var s,a=r,u=a.rw();if(u===ee().tw_1){var l=Di;a.sw(l),s=l}else s=u;var c=s,h=null==c||ne(c)?c:pt();r.uw();var f=h,p=re(o,153044343,!0,function(t){return function(e,n,i){var o=n;return Xt()&&Gt(153044343,i,-1,"components.ErrorUi$composable... (Error.kt:17)"),Jt("❌ "+t,o,0),Xt()&&(Zt(),dt()),dt()}}(t)),_=o;_.pw(-838505973),te(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.qw(p),g=y.rw();if(m||g===ee().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||ne(w)?w:pt();return _.uw(),Te(f,$,o,48,0),Xt()&&(Zt(),dt()),dt()}}(r)),_=i;_.pw(-838505973),te(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.qw(p),g=y.rw();if(m||g===ee().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||ne(w)?w:pt();return _.uw(),se(f,$,i,48,0),Xt()&&(Zt(),dt()),dt()})),v=i;v.pw(-838505973),te(v,"C(remember$composable)P(1):Composables.kt#9igjgp");var y,m=v,g=v.qw(d),b=m.rw();if(g||b===ee().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==$||ne($)?$:pt();v.uw(),se(_,x,i,48,0),Xt()&&Zt()}var k=i.z17();null===k||k.u18(function(t,e){return function(n,i){return function(t,e,n,i){Pi(t,n,1|e)}(t,e,n),dt()}}(t,n))}function Ai(t){return t.h1v(["row"]),dt()}function Ei(t){return t.h1v(["col-lg-12"]),dt()}function Di(t){return t.h1v(["text-center"]),dt()}function Ii(t,e,n){var i=e;return Xt()&&Gt(-1817257175,n,-1,"components.ComposableSingletons$HeadingKt.lambda-1. (Heading.kt:21)"),Jt("📊 benchart",i,6),Xt()&&Zt(),dt()}function Ti(t,e,n){var i=e;Xt()&&Gt(-1445218266,n,-1,"components.ComposableSingletons$HeadingKt.lambda-2. (Heading.kt:18)");var o=i;o.pw(547886695),te(o,"C(remember$composable):Composables.kt#9igjgp");var r,s=o,a=s.rw();if(a===ee().tw_1){var u=Li;s.sw(u),r=u}else r=a;var l=r,c=null==l||ne(l)?l:pt();return o.uw(),Le(c,Hi().c2a_1,i,48,0),Xt()&&Zt(),dt()}function Li(t){return t.h1v(["text-center"]),dt()}function Ri(t,e,n){var i=e;Xt()&&Gt(-1522093819,n,-1,"components.ComposableSingletons$HeadingKt.lambda-3. (Heading.kt:11)");var o=i;o.pw(547886695),te(o,"C(remember$composable):Composables.kt#9igjgp");var r,s=o,a=s.rw();if(a===ee().tw_1){var u=Ni;s.sw(u),r=u}else r=a;var l=r,c=null==l||ne(l)?l:pt();return o.uw(),se(c,Hi().d2a_1,i,48,0),Xt()&&Zt(),dt()}function Ni(t){return t.h1v(["col-lg-12"]),t.f1v(Fi),dt()}function Fi(t){return Re(t,_e(30)),de(t,_e(30)),dt()}function Bi(){var t;x=this,this.c2a_1=(t=Qt(-1817257175,!1,Ii),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)}}(Qt(-1445218266,!1,Ti)),this.e2a_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(Qt(-1522093819,!1,Ri))}function Hi(){return null==x&&new Bi,x}function Vi(t,e){var n=t;if(n=n.y17(1340484778),te(n,"C(Heading$composable)"),0===e&&n.g16())n.k12();else{Xt()&&Gt(1340484778,e,-1,"components.Heading$composable (Heading.kt:8)");var i=n;i.pw(547886695),te(i,"C(remember$composable):Composables.kt#9igjgp");var o,r=i,s=r.rw();if(s===ee().tw_1){var a=Wi;r.sw(a),o=a}else o=s;var u=o,l=null==u||ne(u)?u:pt();i.uw(),se(l,Hi().e2a_1,n,48,0),Xt()&&Zt()}var c,h=n.z17();null===h||h.u18((c=e,function(t,e){return function(t,e,n){Vi(e,1|t)}(c,t),dt()}))}function Wi(t){return t.h1v(["row"]),dt()}function Ui(t,e){this.f2a_1=t,this.g2a_1=e,this.h2a_1=0}function Ki(t){this.i2a_1=t,this.j2a_1=8}function Yi(){return fo(),k}function Gi(t,e,n){var i=e;return Xt()&&Gt(37561396,n,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-1. (SavedBenchmarksDropDown.kt:35)"),Jt("Load Benchmark :",i,6),Xt()&&Zt(),dt()}function Xi(t,e,n){var i=e;return Xt()&&Gt(-32633967,n,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-2. (SavedBenchmarksDropDown.kt:88)"),Jt("Unsaved benchmark",i,6),Xt()&&Zt(),dt()}function Ji(t,e,n){var i=e;return Xt()&&Gt(-652929765,n,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-3. (SavedBenchmarksDropDown.kt:114)"),Jt("LOAD",i,6),Xt()&&Zt(),dt()}function Zi(t,e,n){var i=e;return Xt()&&Gt(-1219865148,n,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-4. (SavedBenchmarksDropDown.kt:130)"),Jt("DELETE",i,6),Xt()&&Zt(),dt()}function Qi(){var t;j=this,this.k2a_1=(t=Qt(37561396,!1,Gi),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)}}(Qt(-32633967,!1,Xi)),this.m2a_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(Qt(-652929765,!1,Ji)),this.n2a_1=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(Qt(-1219865148,!1,Zi))}function to(){return null==j&&new Qi,j}function eo(t,e,n,i,o,r,s){fo();var a=r;a=a.y17(-441302567),te(a,"C(SavedBenchmarksDropDown$composable)P(4,3,2,1)");var u,l,c,h,f,p,_=s;if(Xt()&&Gt(-441302567,_,-1,"components.SavedBenchmarksDropDown$composable (SavedBenchmarksDropDown.kt:15)"),e.h()){Xt()&&Zt();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){eo(t,e,n,i,o,s,1|r)}(u,l,c,h,f,p,t),dt()})),dt()}var v=a;v.pw(-838505973),te(v,"C(remember$composable)P(1):Composables.kt#9igjgp");var y,m=v,g=v.qw(e),b=m.rw();if(g||b===ee().tw_1){var w=St(e),$=Ve(w,null,2,null);m.sw($),y=$}else y=b;var x=y,k=null==x||ne(x)?x:pt();v.uw();var j=k,C=a;C.pw(547886695),te(C,"C(remember$composable):Composables.kt#9igjgp");var S,z=C,M=z.rw();if(M===ee().tw_1){var O=io;z.sw(O),S=O}else S=M;var q=S,P=null==q||ne(q)?q:pt();C.uw(),fe("savedBenchmarks",P,to().k2a_1,a,390,0);var A=a;A.pw(547886695),te(A,"C(remember$composable):Composables.kt#9igjgp");var E,D=A,I=D.rw();if(I===ee().tw_1){var T=oo;D.sw(T),E=T}else E=I;var L=E,R=null==L||ne(L)?L:pt();A.uw();var N=R,F=re(a,549151222,!0,function(t,e,n,i,o,r,s){return function(i,a,u){var l=a;Xt()&&Gt(549151222,u,-1,"components.SavedBenchmarksDropDown$composable. (SavedBenchmarksDropDown.kt:43)");var c=l;c.pw(547886695),te(c,"C(remember$composable):Composables.kt#9igjgp");var h,f=c,p=f.rw();if(p===ee().tw_1){var _=ro;f.sw(_),h=_}else h=p;var d=h,v=null==d||ne(d)?d:pt();c.uw();var y=v,m=re(l,1940859863,!0,function(t,e,n,i,o,r,s){return function(i,a,u){var l=a;Xt()&&Gt(1940859863,u,-1,"components.SavedBenchmarksDropDown$composable.. (SavedBenchmarksDropDown.kt:48)");var c=l;c.pw(547886695),te(c,"C(remember$composable):Composables.kt#9igjgp");var h,f=c,p=f.rw();if(p===ee().tw_1){var _=so;f.sw(_),h=_}else h=p;var d=h,v=null==d||ne(d)?d:pt();c.uw();var y=v,m=re(l,461626232,!0,function(t,e,n,i,o){return function(i,r,s){var a=r;Xt()&&Gt(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){fo(),Ke("selectedBenchmark",We,!0,(function(){return Ue()})),t.us(e)})(n,Ye(r)),dt()}return dt()}}(t,e,n)),dt()}}(t,e,n),l=re(a,1692700999,!0,function(t,e,n,i){return function(e,o,r){var s=o;Xt()&&Gt(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),te(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===ee().tw_1){var _=ao(u,i,n);h.sw(_),c=_}else c=p;var d=c,v=null==d||ne(d)?d:pt();l.uw();var y,m=v,g=re(s,1052804723,!0,uo(u)),b=s;b.pw(-838505973),te(b,"C(remember$composable)P(1):Composables.kt#9igjgp");var w,$=b,x=b.qw(g),k=$.rw();if(x||k===ee().tw_1){var j=lo(g);$.sw(j),w=j}else w=k;var C=w,S=null==C||ne(C)?C:pt();b.uw(),y=S,Xe(u.f2a_1,m,y,s,384,0)}var z=Yi(),M=s;M.pw(-838505973),te(M,"C(remember$composable)P(1):Composables.kt#9igjgp");var O,q=M,P=M.qw(i),A=q.rw();if(P||A===ee().tw_1){var E=function(t){return function(e){return t&&(Ge(e),dt()),dt()}}(i);q.sw(E),O=E}else O=A;var D=O,I=null==D||ne(D)?D:pt();return M.uw(),Xe(z,I,to().l2a_1,s,390,0),Xt()&&(Zt(),dt()),dt()}}(e,0,n,o)),c=a;c.pw(-838505973),te(c,"C(remember$composable)P(1):Composables.kt#9igjgp");var h,f,p=c,_=c.qw(l),d=p.rw();if(_||d===ee().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||ne(y)?y:pt();return c.uw(),Je(u,!1,m,a,384,2),Xt()&&(Zt(),dt()),dt()}}(t,e,n,0,o)),g=l;g.pw(-838505973),te(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var b,w,$=g,x=g.qw(m),k=$.rw();if(x||k===ee().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||ne(C)?C:pt();g.uw(),se(y,S,l,48,0);var z=l;z.pw(547886695),te(z,"C(remember$composable):Composables.kt#9igjgp");var M,O=z,q=O.rw();if(q===ee().tw_1){var P=co;O.sw(P),M=P}else M=q;var A=M,E=null==A||ne(A)?A:pt();z.uw();var D=E,I=re(l,-282119967,!0,function(t,e,n,i,o){return function(t,r,s){var a=r;Xt()&&Gt(-282119967,s,-1,"components.SavedBenchmarksDropDown$composable... (SavedBenchmarksDropDown.kt:98)");var u=a;u.pw(-1058148781),te(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===ee().tw_1){var p=function(t,e,n){return function(i){return i.h1v(["btn","btn-primary"]),i.f1v(ho),i.l1v(function(t,e){return function(n){return t(no(e)),dt()}}(e,n)),ye(i,ve()),t&&(Qe(i),dt()),dt()}}(i,e,n);c.sw(p),l=p}else l=f;var _=l,d=null==_||ne(_)?_:pt();u.uw(),me(d,to().m2a_1,a,48,0);var v=a;v.pw(-1058148781),te(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===ee().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(no(e)),dt()}}(e,n)),ye(i,ve()),t&&(Qe(i),dt()),dt()}}(i,o,n);m.sw(w),y=w}else y=b;var $=y,x=null==$||ne($)?$:pt();return v.uw(),me(x,to().n2a_1,a,48,0),Xt()&&(Zt(),dt()),dt()}}(0,r,n,o,s)),T=l;T.pw(-838505973),te(T,"C(remember$composable)P(1):Composables.kt#9igjgp");var L,R=T,N=T.qw(I),F=R.rw();if(N||F===ee().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||ne(H)?H:pt();return T.uw(),se(D,V,l,48,0),Xt()&&(Zt(),dt()),dt()}}(t,e,n,0,o,r,s)),g=l;g.pw(-838505973),te(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var b,w,$=g,x=g.qw(m),k=$.rw();if(x||k===ee().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||ne(C)?C:pt();return g.uw(),se(y,S,l,48,0),Xt()&&(Zt(),dt()),dt()}}(n,e,j,0,t,i,o)),B=a;B.pw(-838505973),te(B,"C(remember$composable)P(1):Composables.kt#9igjgp");var H,V,W=B,U=B.qw(F),K=W.rw();if(U||K===ee().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||ne(G)?G:pt();B.uw(),se(N,X,a,48,0),Xt()&&Zt();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){eo(t,e,n,i,o,s,1|r)}(t,e,n,i,o,r,s),dt()}}(t,e,n,i,o,s))}function no(t){return fo(),Ke("selectedBenchmark",We,!0,(function(){return Ue()})),t.l2()}function io(t){return fo(),t.h1v(["form-label"]),dt()}function oo(t){return fo(),t.h1v(["form-group"]),dt()}function ro(t){return fo(),t.h1v(["row"]),dt()}function so(t){return fo(),t.h1v(["col"]),dt()}function ao(t,e,n){return function(i){return t.f2a_1!==no(n).f2a_1||e||(Ge(i),dt()),dt()}}function uo(t){return function(e,n,i){var o=n;return Xt()&&Gt(1052804723,i,-1,"components.SavedBenchmarksDropDown$composable..... (SavedBenchmarksDropDown.kt:76)"),Jt(t.f2a_1,o,0),Xt()&&(Zt(),dt()),dt()}}function lo(t){return function(e,n,i){return t.y1s(e,n,i)}}function co(t){return fo(),t.h1v(["col"]),dt()}function ho(t){return fo(),Ze(t,_e(10)),dt()}function fo(){C||(C=!0,k="unsavedBenchmark_"+(new Date).getMilliseconds())}function po(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 _o(t,e){this.i2b_1=t,this.j2b_1=e,this.k2b_1=8}function vo(t,e,n){var i=e;i=i.y17(134396740),te(i,"C(SummaryContainer$composable)"),Xt()&&Gt(134396740,n,-1,"components.SummaryContainer$composable (Summary.kt:30)");for(var o=t.c();o.d();){var r=o.e();i.s14(-380220388,r.i2b_1),yo(r.i2b_1,r.j2b_1,i,64),we(null,i,0,1),i.v14()}Xt()&&Zt();var s,a,u=i.z17();null===u||u.u18((s=t,a=n,function(t,e){return function(t,e,n,i){vo(t,n,1|e)}(s,a,t),dt()}))}function yo(t,e,n,i){var o=n;o=o.y17(1271998269),te(o,"C(SummaryUi$composable)P(1)");var r=i;Xt()&&Gt(1271998269,r,-1,"components.SummaryUi$composable (Summary.kt:42)");var s=o;s.pw(547886695),te(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,l=u.rw();if(l===ee().tw_1){var c=go;u.sw(c),a=c}else a=l;var h=a,f=null==h||ne(h)?h:pt();s.uw();var p,_,d,v=f,y=re(o,1135450184,!0,(p=t,_=r,d=e,function(t,e,n){var i=e;Xt()&&Gt(1135450184,n,-1,"components.SummaryUi$composable. (Summary.kt:47)");var o=re(i,-1777780889,!0,function(t,e){return function(n,i,o){var r=i;return Xt()&&Gt(-1777780889,o,-1,"components.SummaryUi$composable.. (Summary.kt:48)"),Jt(t,r,14&e),Xt()&&(Zt(),dt()),dt()}}(p,_)),r=i;r.pw(-838505973),te(r,"C(remember$composable)P(1):Composables.kt#9igjgp");var s,a,u=r,l=r.qw(o),c=u.rw();if(l||c===ee().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||ne(f)?f:pt();r.uw(),oe(null,v,i,48,1);var y=re(i,328569139,!0,function(t){return function(e,n,i){var o=n;Xt()&&Gt(328569139,i,-1,"components.SummaryUi$composable.. (Summary.kt:49)");for(var r=t.c();r.d();){var s=r.e(),a=re(o,-1319792079,!0,wo(s)),u=o;u.pw(-838505973),te(u,"C(remember$composable)P(1):Composables.kt#9igjgp");var l,c=u,h=u.qw(a),f=c.rw();if(h||f===ee().tw_1){var p=$o(a);c.sw(p),l=p}else l=f;var _=l,d=null==_||ne(_)?_:pt();u.uw(),en(null,d,o,48,1)}return Xt()&&(Zt(),dt()),dt()}}(d)),m=i;m.pw(-838505973),te(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,b=m,w=m.qw(y),$=b.rw();if(w||$===ee().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||ne(k)?k:pt();return m.uw(),nn(null,j,i,48,1),Xt()&&(Zt(),dt()),dt()})),m=o;m.pw(-838505973),te(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,b,w=m,$=m.qw(y),x=w.rw();if($||x===ee().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||ne(j)?j:pt();m.uw(),se(v,C,o,48,0),Xt()&&Zt();var S=o.z17();null===S||S.u18(function(t,e,n){return function(i,o){return function(t,e,n,i,o){yo(t,e,i,1|n)}(t,e,n,i),dt()}}(t,e,i))}function mo(t,e,n,i,o){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),Xt()&&Gt(-1073265847,h,-1,"components.BoldText$composable (Summary.kt:90)");var f=r._v,p=s;p.pw(-838505973),te(p,"C(remember$composable)P(1):Composables.kt#9igjgp");var _,d=p,v=p.qw(f),y=d.rw();if(v||y===ee().tw_1){var m=(c=r,function(t){var e=c._v;return null==e||e(t),t.f1v(xo),dt()});d.sw(m),_=m}else _=y;var g=_,b=null==g||ne(g)?g:pt();p.uw();var w=b,$=re(s,-374759312,!0,(u=t,l=h,function(t,e,n){var i=e;return Xt()&&Gt(-374759312,n,-1,"components.BoldText$composable. (Summary.kt:101)"),Jt(u,i,14&l),Xt()&&(Zt(),dt()),dt()})),x=s;x.pw(-838505973),te(x,"C(remember$composable)P(1):Composables.kt#9igjgp");var k,j=x,C=x.qw($),S=j.rw();if(C||S===ee().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||ne(M)?M:pt();x.uw(),tn(w,O,s,48,0),Xt()&&Zt()}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){mo(t,e._v,o,1|n,i)}(t,e,n,i,o),dt()}}(t,r,i,o))}function go(t){return t.h1v(["row"]),dt()}function bo(t){return t.h1v(["text-capitalize"]),dt()}function wo(t){return function(e,n,i){var o,r=n;Xt()&&Gt(-1319792079,i,-1,"components.SummaryUi$composable.... (Summary.kt:51)"),Jt(t.q2a_1+" ",r,0);var s=r;s.pw(547886695),te(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,l=u.rw();if(l===ee().tw_1){var c=bo;u.sw(c),a=c}else a=l;var h=a,f=null==h||ne(h)?h:pt();s.uw(),o=f,mo(t.r2a_1,o,r,0,0),Jt(" : ",r,6),mo(t.s2a_1,null,r,0,2),Jt(t.p2a_1?" looks ":" performed ",r,0),mo(t.t2a_1+"% ",null,r,0,2);var p=t.p2a_1?"":"ms",_=r;_.pw(-1124426577),te(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.qw(t)|_.qw(p)),m=v.rw();if(y||m===ee().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),dt()}}(t,p);v.sw(g),d=g}else d=m;var b=d,w=null==b||ne(b)?b:pt();_.uw();var $=w,x=re(r,-2128018801,!0,function(t){return function(e,n,i){var o=n;return Xt()&&Gt(-2128018801,i,-1,"components.SummaryUi$composable..... (Summary.kt:79)"),Jt(t.u2a_1,o,0),Xt()&&(Zt(),dt()),dt()}}(t)),k=r;k.pw(-838505973),te(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,C,S=k,z=k.qw(x),M=S.rw();if(z||M===ee().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||ne(q)?q:pt();return k.uw(),tn($,P,r,48,0),Jt(" ("+t.w2a_1+t.v2a_1+p+")",r,0),Xt()&&(Zt(),dt()),dt()}}function $o(t){return function(e,n,i){return t.y1s(e,n,i)}}function xo(t){return on(t,"bold"),dt()}function ko(t,e,n){var i=e;return Xt()&&Gt(1817043984,n,-1,"components.ComposableSingletons$TestNameDetectionToggleKt.lambda-1. (TestNameDetectionToggle.kt:29)"),Jt("Test Name Detection:",i,6),Xt()&&Zt(),dt()}function jo(){var t;S=this,this.l2b_1=(t=Qt(1817043984,!1,ko),function(e,n,i){return t.y1s(e,n,i)})}function Co(t,e,n,i){var o=n;o=o.y17(-1801806257),te(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{Xt()&&Gt(-1801806257,u,-1,"components.TestNameDetectionToggle$composable (TestNameDetectionToggle.kt:10)");var l=o;l.pw(547886695),te(l,"C(remember$composable):Composables.kt#9igjgp");var c,h=l,f=h.rw();if(f===ee().tw_1){var p=So;h.sw(p),c=p}else c=f;var _=c,d=null==_||ne(_)?_:pt();l.uw();var v=d,y=re(o,815464847,!0,(s=t,a=e,function(t,e,n){var i=e;Xt()&&Gt(815464847,n,-1,"components.TestNameDetectionToggle$composable. (TestNameDetectionToggle.kt:21)");var o=i;o.pw(547886695),te(o,"C(remember$composable):Composables.kt#9igjgp");var r,u=o,l=u.rw();if(l===ee().tw_1){var c=Mo;u.sw(c),r=c}else r=l;var h=r,f=null==h||ne(h)?h:pt();o.uw(),fe("testNameDetection",f,(null==S&&new jo,S).l2b_1,i,390,0),we(null,i,0,1);var p=i;p.pw(-1124426577),te(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===ee().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(),dt()}}(e)),ye(n,ve()),dt()}}(s,a);d.sw(m),_=m}else _=y;var g=_,b=null==g||ne(g)?g:pt();p.uw();var w=b,$=re(i,-1071119211,!0,function(t){return function(e,n,i){var o=n;return Xt()&&Gt(-1071119211,i,-1,"components.TestNameDetectionToggle$composable.. (TestNameDetectionToggle.kt:42)"),Jt(t?"ON":"OFF",o,0),Xt()&&(Zt(),dt()),dt()}}(s)),x=i;x.pw(-838505973),te(x,"C(remember$composable)P(1):Composables.kt#9igjgp");var k,j,C=x,z=x.qw($),M=C.rw();if(z||M===ee().tw_1){var O=(j=$,function(t,e,n){return j.y1s(t,e,n)});C.sw(O),k=O}else k=M;var q=k,P=null==q||ne(q)?q:pt();return x.uw(),me(w,P,i,48,0),Xt()&&(Zt(),dt()),dt()})),m=o;m.pw(-838505973),te(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,b=m,w=m.qw(y),$=b.rw();if(w||$===ee().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||ne(k)?k:pt();m.uw(),se(v,j,o,48,0),Xt()&&Zt()}var C=o.z17();null===C||C.u18(function(t,e,n){return function(i,o){return function(t,e,n,i,o){Co(t,e,i,1|n)}(t,e,n,i),dt()}}(t,e,i))}function So(t){return t.h1v(["form-group"]),t.f1v(zo),dt()}function zo(t){return be(t,_e(10)),dt()}function Mo(t){return t.h1v(["form-label"]),dt()}function Oo(t,e,n){var i=e;return Xt()&&Gt(-130845949,n,-1,"components.ComposableSingletons$TestNamesKt.lambda-1. (TestNames.kt:24)"),Jt("Test Name :",i,6),Xt()&&Zt(),dt()}function qo(){var t;z=this,this.m2b_1=(t=Qt(-130845949,!1,Oo),function(e,n,i){return t.y1s(e,n,i)})}function Po(t,e,n,i,o,r){var s={_v:e},a=i;a=a.y17(246637604),te(a,"C(TestNames$composable)P(2)");var u,l,c,h,f=o;if(0!=(2&r)&&(s._v=null),Xt()&&Gt(246637604,f,-1,"components.TestNames$composable (TestNames.kt:8)"),!t.h()){var p=a;p.pw(547886695),te(p,"C(remember$composable):Composables.kt#9igjgp");var _,d=p,v=d.rw();if(v===ee().tw_1){var y=Ao;d.sw(y),_=y}else _=v;var m=_,g=null==m||ne(m)?m:pt();p.uw();var b=g,w=re(a,-1509913918,!0,(l=n,c=t,h=s,function(t,e,n){var i=e;Xt()&&Gt(-1509913918,n,-1,"components.TestNames$composable. (TestNames.kt:18)");var o=i;o.pw(547886695),te(o,"C(remember$composable):Composables.kt#9igjgp");var r,s=o,a=s.rw();if(a===ee().tw_1){var u=Eo;s.sw(u),r=u}else r=a;var f=r,p=null==f||ne(f)?f:pt();o.uw(),fe("testNames",p,(null==z&&new qo,z).m2b_1,i,390,0);var _=i;_.pw(-838505973),te(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v=_,y=_.qw(l),m=v.rw();if(y||m===ee().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),dt()}}(t)),dt()}}(l);v.sw(g),d=g}else d=m;var b=d,w=null==b||ne(b)?b:pt();_.uw();var $=w,x=re(i,-1857982381,!0,function(t,e,n){return function(n,i,o){var r=i;Xt()&&Gt(-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),te(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===ee().tw_1){var _=Do(a,e);h.sw(_),c=_}else c=p;var d=c,v=null==d||ne(d)?d:pt();l.uw();var y=v,m=re(r,1208237735,!0,Io(a)),g=r;g.pw(-838505973),te(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var b,w=g,$=g.qw(m),x=w.rw();if($||x===ee().tw_1){var k=To(m);w.sw(k),b=k}else b=x;var j=b,C=null==j||ne(j)?j:pt();g.uw(),Xe(a,y,C,r,384,0)}return Xt()&&(Zt(),dt()),dt()}}(c,h)),k=i;k.pw(-838505973),te(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,C,S=k,M=k.qw(x),O=S.rw();if(M||O===ee().tw_1){var q=(C=x,function(t,e,n){return C.y1s(t,e,n)});S.sw(q),j=q}else j=O;var P=j,A=null==P||ne(P)?P:pt();return k.uw(),Je($,!1,A,i,384,2),Xt()&&(Zt(),dt()),dt()})),$=a;$.pw(-838505973),te($,"C(remember$composable)P(1):Composables.kt#9igjgp");var x,k=$,j=$.qw(w),C=k.rw();if(j||C===ee().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 M=x,O=null==M||ne(M)?M:pt();$.uw(),se(b,O,a,48,0)}Xt()&&Zt();var q=a.z17();null===q||q.u18(function(t,e,n,i,o){return function(r,s){return function(t,e,n,i,o,r,s){Po(t,e._v,n,r,1|i,o)}(t,e,n,i,o,r),dt()}}(t,s,n,o,r))}function Ao(t){return t.h1v(["form-group"]),dt()}function Eo(t){return t.h1v(["form-label"]),dt()}function Do(t,e){return function(n){return t===e._v&&(Ge(n),dt()),dt()}}function Io(t){return function(e,n,i){var o=n;return Xt()&&Gt(1208237735,i,-1,"components.TestNames$composable... (TestNames.kt:46)"),Jt(t,o,0),Xt()&&(Zt(),dt()),dt()}}function To(t){return function(e,n,i){return t.y1s(e,n,i)}}function Lo(t,e,n){var i=e;return Xt()&&Gt(1108811911,n,-1,"ComposableSingletons$MainKt.lambda-1. (main.kt:8)"),Bo(null,i,0,1),Xt()&&Zt(),dt()}function Ro(){var t;M=this,this.n2b_1=(t=Qt(1108811911,!1,Lo),function(e,n,i){return t.y1s(e,n,i)})}function No(t,e,n){var i=e;return Xt()&&Gt(-374992274,n,-1,"page.home.ComposableSingletons$HomePageKt.lambda-1. (HomePage.kt:91)"),Jt("🖥 Output",i,6),Xt()&&Zt(),dt()}function Fo(){var t;O=this,this.o2b_1=(t=Qt(-374992274,!1,No),function(e,n,i){return t.y1s(e,n,i)})}function Bo(t,e,n,i){var o={_v:t},r=e;r=r.y17(-109696367),te(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),te(c,"C(remember$composable):Composables.kt#9igjgp");var h,f=c,p=f.rw();if(p===ee().tw_1){var _=new gr(new xr,new Sr);f.sw(_),h=_}else h=p;var d=h,v=null==d||ne(d)?d:pt();c.uw(),l=v,o._v=l,u&=-15}}else r.k12(),0!=(1&i)&&(u&=-15);r.i17(),Xt()&&Gt(-109696367,u,-1,"page.home.HomePageUi$composable (HomePage.kt:27)");var y=r;y.pw(547886695),te(y,"C(remember$composable):Composables.kt#9igjgp");var m,g=y,b=g.rw();if(b===ee().tw_1){var w=Ho;g.sw(w),m=w}else m=b;var $=m,x=null==$||ne($)?$:pt();y.uw();var k=x,j=re(r,1790973562,!0,(a=o,function(t,e,n){var i=e;Xt()&&Gt(1790973562,n,-1,"page.home.HomePageUi$composable. (HomePage.kt:34)"),Vi(i,0);var o=a._v.s2c();!Tt(o)&&Pi(a._v.s2c(),i,0);var r=i;r.pw(547886695),te(r,"C(remember$composable):Composables.kt#9igjgp");var s,u=r,l=u.rw();if(l===ee().tw_1){var c=Vo;u.sw(c),s=c}else s=l;var h=s,f=null==h||ne(h)?h:pt();r.uw();var p=f,_=re(i,-1337148517,!0,function(t,e){return function(e,n,i){var o=n;Xt()&&Gt(-1337148517,i,-1,"page.home.HomePageUi$composable.. (HomePage.kt:53)");var r=o;r.pw(547886695),te(r,"C(remember$composable):Composables.kt#9igjgp");var s,a=r,u=a.rw();if(u===ee().tw_1){var l=Uo;a.sw(l),s=l}else s=u;var c=s,h=null==c||ne(c)?c:pt();r.uw();var f=h,p=re(o,1509226108,!0,function(t){return function(e,n,i){var o=n;Xt()&&Gt(1509226108,i,-1,"page.home.HomePageUi$composable... (HomePage.kt:56)");var r,s=t._v.i2c(),a=t._v.j2c(),u=(r=t._v,function(t){return function(t,e){t.d2c(e,!1,2,null)}(r,t),dt()}),l=function(t){var e=function(e){return t.e2c(e),dt()};return e.callableName="onSaveClicked",e}(t._v);return si(s,a,t._v.k2c(),u,l,function(t){var e=function(e){return t.f2c(e),dt()};return e.callableName="onSavedBenchmarkChanged",e}(t._v),function(t){var e=function(e){return t.g2c(e),dt()};return e.callableName="onLoadBenchmarkClicked",e}(t._v),function(t){var e=function(e){return t.h2c(e),dt()};return e.callableName="onDeleteBenchmarkClicked",e}(t._v),o,520),we(null,o,0,1),we(null,o,0,1),vo(t._v.y2b_1,o,0),Xt()&&(Zt(),dt()),dt()}}(t)),_=o;_.pw(-838505973),te(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.qw(p),g=y.rw();if(m||g===ee().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||ne(w)?w:pt();_.uw(),se(f,$,o,48,0);var x=t._v.r2c(),k=null==x?null:x.o28_1,j=null==k||k.h()?null:k;if(null==j);else{var C=t._v.r2c();if(null==C)throw Mt("TSH");var S=C,z=o;z.pw(547886695),te(z,"C(remember$composable):Composables.kt#9igjgp");var M,q=z,P=q.rw();if(P===ee().tw_1){var A=Ko;q.sw(A),M=A}else M=P;var E=M,D=null==E||ne(E)?E:pt();z.uw();var I=D,T=re(o,2092888171,!0,function(t,e,n,i){return function(e,o,r){var s=o;if(Xt()&&Gt(2092888171,r,-1,"page.home.HomePageUi$composable.... (HomePage.kt:80)"),t._v.q2c())s.pw(-1006756604),Oi(s,0),s.uw();else{s.pw(-1006756535);var a=t._v,u=s;u.pw(-838505973),te(u,"C(remember$composable)P(1):Composables.kt#9igjgp");var l,c=u,h=u.qw(a),f=c.rw();if(h||f===ee().tw_1){var p=function(t){return function(e){return e.m1v(function(t){return function(e){return t._v.l2c(),dt()}}(t)),dt()}}(t);c.sw(p),l=p}else l=f;var _=l,d=null==_||ne(_)?_:pt();u.uw(),oe(d,(null==O&&new Fo,O).o2b_1,s,48,0),s.uw()}var v=s;v.pw(547886695),te(v,"C(remember$composable):Composables.kt#9igjgp");var y,m=v,g=m.rw();if(g===ee().tw_1){var b=Yo;m.sw(b),y=b}else y=g;var w=y,$=null==w||ne(w)?w:pt();v.uw();var x=$,k=re(s,-350149078,!0,function(t,e){return function(e,n,i){var o=n;Xt()&&Gt(-350149078,i,-1,"page.home.HomePageUi$composable..... (HomePage.kt:101)");var r=re(o,1688816067,!0,function(t,e){return function(e,n,i){var o=n;Xt()&&Gt(1688816067,i,-1,"page.home.HomePageUi$composable...... (HomePage.kt:102)");var r=o;r.pw(547886695),te(r,"C(remember$composable):Composables.kt#9igjgp");var s,a=r,u=a.rw();if(u===ee().tw_1){var l=Go;a.sw(l),s=l}else s=u;var c=s,h=null==c||ne(c)?c:pt();r.uw();var f=h,p=re(o,-1218869404,!0,function(t,e){return function(e,n,i){var o=n;Xt()&&Gt(-1218869404,i,-1,"page.home.HomePageUi$composable....... (HomePage.kt:107)");var r=o;r.pw(547886695),te(r,"C(remember$composable):Composables.kt#9igjgp");var s,a=r,u=a.rw();if(u===ee().tw_1){var l=Xo;a.sw(l),s=l}else s=u;var c=s,h=null==c||ne(c)?c:pt();r.uw();var f=h,p=re(o,-1633797435,!0,function(t,e){return function(e,n,i){var o=n;Xt()&&Gt(-1633797435,i,-1,"page.home.HomePageUi$composable........ (HomePage.kt:113)");var r=t._v.i2c().b28_1,s=t._v,a=o;a.pw(-838505973),te(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,l=a,c=a.qw(s),h=l.rw();if(c||h===ee().tw_1){var f=function(t){var e=function(){return t.m2c(),dt()};return e.callableName="onToggleAutoGroupClicked",e}(s);l.sw(f),u=f}else u=h;var p=u,_=null==p||ne(p)?p:pt();return a.uw(),pi(r,_,o,0),Xt()&&(Zt(),dt()),dt()}}(t)),_=o;_.pw(-838505973),te(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v=_,y=_.qw(p),m=v.rw();if(y||m===ee().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||ne(b)?b:pt();if(_.uw(),se(f,w,o,48,0),_t(t._v.p2c(),Wn())){var $=o;$.pw(547886695),te($,"C(remember$composable):Composables.kt#9igjgp");var x,k=$,j=k.rw();if(j===ee().tw_1){var C=Jo;k.sw(C),x=C}else x=j;var S=x,z=null==S||ne(S)?S:pt();$.uw();var M=z,O=re(o,-1089967542,!0,function(t,e){return function(e,n,i){var o=n;Xt()&&Gt(-1089967542,i,-1,"page.home.HomePageUi$composable........ (HomePage.kt:125)");var r=t._v.i2c().a28_1,s=t._v,a=o;a.pw(-838505973),te(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,l=a,c=a.qw(s),h=l.rw();if(c||h===ee().tw_1){var f=function(t){var e=function(){return t.n2c(),dt()};return e.callableName="onToggleTestNameDetectionClicked",e}(s);l.sw(f),u=f}else u=h;var p=u,_=null==p||ne(p)?p:pt();return a.uw(),Co(r,_,o,0),Xt()&&(Zt(),dt()),dt()}}(t)),q=o;q.pw(-838505973),te(q,"C(remember$composable)P(1):Composables.kt#9igjgp");var P,A=q,E=q.qw(O),D=A.rw();if(E||D===ee().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||ne(T)?T:pt();q.uw(),se(M,L,o,48,0)}if(!t._v.t2b_1.h()){var R=o;R.pw(547886695),te(R,"C(remember$composable):Composables.kt#9igjgp");var N,F=R,B=F.rw();if(B===ee().tw_1){var H=Zo;F.sw(H),N=H}else N=B;var V=N,W=null==V||ne(V)?V:pt();R.uw();var U=W,K=re(o,1874650163,!0,function(t,e){return function(e,n,i){var o=n;Xt()&&Gt(1874650163,i,-1,"page.home.HomePageUi$composable........ (HomePage.kt:138)");var r=t._v.t2b_1,s=t._v,a=o;a.pw(-838505973),te(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,l=a,c=a.qw(s),h=l.rw();if(c||h===ee().tw_1){var f=function(t){return function(e){return t._v.o2c(e),dt()}}(t);l.sw(f),u=f}else u=h;var p=u,_=null==p||ne(p)?p:pt();return a.uw(),Po(r,null,_,o,0,2),Xt()&&(Zt(),dt()),dt()}}(t)),Y=o;Y.pw(-838505973),te(Y,"C(remember$composable)P(1):Composables.kt#9igjgp");var G,X=Y,J=Y.qw(K),Z=X.rw();if(J||Z===ee().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||ne(tt)?tt:pt();Y.uw(),se(U,et,o,48,0)}return Xt()&&(Zt(),dt()),dt()}}(t)),_=o;_.pw(-838505973),te(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v=_,y=_.qw(p),m=v.rw();if(y||m===ee().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||ne(b)?b:pt();return _.uw(),se(f,w,o,48,0),Xt()&&(Zt(),dt()),dt()}}(t)),s=o;s.pw(-838505973),te(s,"C(remember$composable)P(1):Composables.kt#9igjgp");var a,u=s,l=s.qw(r),c=u.rw();if(l||c===ee().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||ne(f)?f:pt();return s.uw(),ge(null,null,p,o,384,3),Xt()&&(Zt(),dt()),dt()}}(t)),j=s;j.pw(-838505973),te(j,"C(remember$composable)P(1):Composables.kt#9igjgp");var C,S=j,z=j.qw(k),M=S.rw();if(z||M===ee().tw_1){var q=function(t){return function(e,n,i){return t.y1s(e,n,i)}}(k);S.sw(q),C=q}else C=M;var P=C,A=null==P||ne(P)?P:pt();j.uw(),se(x,A,s,48,0),we(null,s,0,1);var E=s;E.pw(-838505973),te(E,"C(remember$composable)P(1):Composables.kt#9igjgp");var D,I=E,T=E.qw(n),L=I.rw();if(T||L===ee().tw_1){var R=ln(n,2);I.sw(R),D=R}else D=L;var N=D,F=null==N||ne(N)?N:pt();E.uw();for(var B=F.c();B.d();){var H=B.e(),V=s;V.pw(547886695),te(V,"C(remember$composable):Composables.kt#9igjgp");var W,U=V,K=U.rw();if(K===ee().tw_1){var Y=Qo;U.sw(Y),W=Y}else W=K;var G=W,X=null==G||ne(G)?G:pt();V.uw();var J=X,Z=re(s,-2034949684,!0,ir(H,t,i)),Q=s;Q.pw(-838505973),te(Q,"C(remember$composable)P(1):Composables.kt#9igjgp");var tt,et=Q,nt=Q.qw(Z),it=et.rw();if(nt||it===ee().tw_1){var ot=or(Z);et.sw(ot),tt=ot}else tt=it;var rt=tt,st=null==rt||ne(rt)?rt:pt();Q.uw(),se(J,st,s,48,0)}return Xt()&&(Zt(),dt()),dt()}}(t,0,j,S)),L=o;L.pw(-838505973),te(L,"C(remember$composable)P(1):Composables.kt#9igjgp");var R,N=L,F=L.qw(T),B=N.rw();if(F||B===ee().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||ne(V)?V:pt();L.uw(),se(I,W,o,48,0),dt(),dt()}return Xt()&&(Zt(),dt()),dt()}}(a)),d=i;d.pw(-838505973),te(d,"C(remember$composable)P(1):Composables.kt#9igjgp");var v,y,m=d,g=d.qw(_),b=m.rw();if(g||b===ee().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==$||ne($)?$:pt();return d.uw(),se(p,x,i,48,0),Xt()&&(Zt(),dt()),dt()})),C=r;C.pw(-838505973),te(C,"C(remember$composable)P(1):Composables.kt#9igjgp");var S,z=C,M=C.qw(j),q=z.rw();if(M||q===ee().tw_1){var P=(s=j,function(t,e,n){return s.y1s(t,e,n)});z.sw(P),S=P}else S=q;var A=S,E=null==A||ne(A)?A:pt();C.uw(),se(k,E,r,48,0),Xt()&&Zt()}var D=r.z17();null===D||D.u18(function(t,e,n){return function(i,o){return function(t,e,n,i,o){Bo(t._v,i,1|e,n)}(t,e,n,i),dt()}}(o,n,i))}function Ho(t){return t.h1v(["container-fluid"]),dt()}function Vo(t){return t.h1v(["row"]),t.f1v(Wo),dt()}function Wo(t){return sn(t,_e(40)),an(t,_e(40)),un(t,_e(40)),dt()}function Uo(t){return t.h1v(["col-lg-4"]),dt()}function Ko(t){return t.h1v(["col-lg-8"]),dt()}function Yo(t){return t.h1v(["row"]),dt()}function Go(t){return t.h1v(["row"]),dt()}function Xo(t){return t.h1v(["col-md-2"]),dt()}function Jo(t){return t.h1v(["col-md-2"]),dt()}function Zo(t){return t.h1v(["col-md-4"]),dt()}function Qo(t){return t.h1v(["row"]),dt()}function tr(t){return function(e){return e.h1v([t.v28_1]),dt()}}function er(t,e,n){return function(i,o,r){var s=o;return Xt()&&Gt(1979032493,r,-1,"page.home.HomePageUi$composable...... (HomePage.kt:168)"),yi(t._v.i2c().b28_1,e.n28_1,n,s,576),Xt()&&(Zt(),dt()),dt()}}function nr(t){return function(e,n,i){return t.y1s(e,n,i)}}function ir(t,e,n){return function(i,o,r){var s=o;Xt()&&Gt(-2034949684,r,-1,"page.home.HomePageUi$composable..... (HomePage.kt:163)");for(var a=t.c();a.d();){var u=a.e(),l=tr(u),c=re(s,1979032493,!0,er(e,n,u)),h=s;h.pw(-838505973),te(h,"C(remember$composable)P(1):Composables.kt#9igjgp");var f,p=h,_=h.qw(c),d=p.rw();if(_||d===ee().tw_1){var v=nr(c);p.sw(v),f=v}else f=d;var y=f,m=null==y||ne(y)?y:pt();h.uw(),se(l,m,s,48,0)}return Xt()&&(Zt(),dt()),dt()}}function or(t){return function(e,n,i){return t.y1s(e,n,i)}}function rr(){q=this,this.t2c_1="Something went wrong!"}function sr(){return null==q&&new rr,q}function ar(t,e){return dn("savedBenchmarks",1,_n,(function(t){return t.k2c()}),(function(t,e){return ar(t,e)})),t.r2b_1.us(e)}function ur(t,e){return dn("chartsBundle",1,_n,(function(t){return t.r2c()}),(function(t,e){return ur(t,e)})),t.u2b_1.us(e)}function lr(t,e){return dn("errorMsg",1,_n,(function(t){return t.s2c()}),(function(t,e){return lr(t,e)})),t.v2b_1.us(e)}function cr(t,e){return dn("isEditableTitleEnabled",1,_n,(function(t){return t.q2c()}),(function(t,e){return cr(t,e)})),t.w2b_1.us(e)}function hr(t,e){return dn("shouldSelectUnsaved",1,_n,(function(t){return t.j2c()}),(function(t,e){return hr(t,e)})),t.x2b_1.us(e)}function fr(t,e){return dn("inputType",1,_n,(function(t){return t.p2c()}),(function(t,e){return fr(t,e)})),t.z2b_1.us(e)}function pr(t,e){return dn("form",1,_n,(function(t){return t.i2c()}),(function(t,e){return pr(t,e)})),t.a2c_1.us(e)}function _r(t){ar(t,t.p2b_1.u2c())}function dr(t,e,n){t.y2b_1.f7();for(var i=n.o28_1.c();i.d();){var o=i.e(),r=(null==D&&new Mr,D),s=yr(t);r.w2c(e,n.n28_1,o,s,mr(o))}}function vr(t,e,n){return function(){hr(t,e);try{t.b2c_1.f7(),t.t2b_1.f7();var i=Rn().y27(n);if(null==i)return dt();var o=i,r=o.d9(),s=o.e9();fr(t,r),t.b2c_1.c4(s);var a=r.r1_1;if(0===a){var u=function(t){for(var e,n=St(t),i=Ct(),o=n.f28_1.c();o.d();){var r=o.e();i.n3(r.h27_1,r.i27_1)}var s=i;qt("chartSet -> "+s),e=s;var a=new Zn("📊",n.d28_1,e,"col-lg-12");return new Xn(Gn(t,!0),Ut(a))}(t.b2c_1);ur(t,u),dr(t,!0,u)}else if(1===a){for(var l,c=t.t2b_1,h=t.b2c_1,f=gt(),p=h.c();p.d();){var _=p.e().e28_1;null==_||(f.a(_),dt())}l=f,c.h1s(Vt(l));var d,v=t.t2b_1;t:{for(var y=v.c();y.d();){var m=y.e();if(m===t.s2b_1){d=m;break t}}d=null}var g,b=d,w=null==b?Nt(t.t2b_1):b;if(null!=w){for(var $=t.b2c_1,x=gt(),k=$.c();k.d();){var j=k.e();j.e28_1==w&&x.a(j)}g=x}else g=t.b2c_1;var C=Kn(g);ur(t,C),dr(t,!1,C)}lr(t,""),dt()}catch(e){if(!(e instanceof Error))throw e;t.y2b_1.f7(),cn(e);var S,z=e.message;null==z?(sr(),S="Something went wrong!"):S=z,lr(t,S),dt()}return dt()}}function yr(t){return function(e){return t.y2b_1.h19(e),dt()}}function mr(t){return function(e){var n="Failed to summarize `"+t.t28_1+"`: "+e;throw Mt(jt(n))}}function gr(t,e){sr(),this.p2b_1=t,this.q2b_1=e;var n=hn();this.r2b_1=Ve(n,null,2,null),this.s2b_1=null,this.t2b_1=fn(),this.u2b_1=Ve(null,null,2,null),this.v2b_1=Ve("",null,2,null),this.w2b_1=Ve(!1,null,2,null),this.x2b_1=Ve(!1,null,2,null),this.y2b_1=fn(),this.z2b_1=Ve(null,null,2,null);var i=this.q2b_1.x2c(),o=null==i?new Qn((null==E&&new zr,E).y2c_1,!1,!1):i;this.a2c_1=Ve(o,null,2,null),_r(this);var r;r=gt(),this.b2c_1=r,this.c2c_1=null}function br(){}function wr(){P=this,this.h2d_1="savedBenchmarks"}function $r(){return null==P&&new wr,P}function xr(){$r(),this.i2d_1=0}function kr(){}function jr(){A=this,this.j2d_1="auto_form_input",this.k2d_1="is_test_name_detection_enabled",this.l2d_1="is_auto_group_enabled"}function Cr(){return null==A&&new jr,A}function Sr(){Cr(),this.m2d_1=0}function zr(){E=this,this.y2c_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.z2c_1=0}function Mr(){D=this,this.v2c_1=0}return wn.prototype=Object.create(Error.prototype),wn.prototype.constructor=wn,$n.prototype=Object.create(wn.prototype),$n.prototype.constructor=$n,Cn.prototype=Object.create(vt.prototype),Cn.prototype.constructor=Cn,zn.prototype=Object.create(vt.prototype),zn.prototype.constructor=zn,ai.prototype=Object.create(ae.prototype),ai.prototype.constructor=ai,wn.$metadata$=ct("InvalidDataException",void 0,void 0,void 0,void 0,Error.prototype),$n.$metadata$=ct("InvalidBenchmarkDataException",void 0,void 0,void 0,void 0,wn.prototype),xn.prototype.k27=function(){return this.h27_1},xn.prototype.l27=function(){return this.i27_1},xn.prototype.toString=function(){return"BlockRow(title="+this.h27_1+", data="+this.i27_1+")"},xn.prototype.hashCode=function(){var t=ht(this.h27_1);return I(t,31)+ft(this.i27_1)|0},xn.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof xn))return!1;var e=t instanceof xn?t:pt();return this.h27_1===e.h27_1&&!!_t(this.i27_1,e.i27_1)},xn.$metadata$=ct("BlockRow"),Cn.prototype.j2=function(){return this.o27_1},Cn.$metadata$=ct("SupportedMetrics",void 0,void 0,void 0,void 0,vt.prototype),zn.$metadata$=ct("InputType",void 0,void 0,void 0,void 0,vt.prototype),Ln.prototype.y27=function(t){for(var e=bt(t.z27_1,["\n"],!1,0,6,null),n=mt(e,"\n",null,null,0,null,In,30,null),i=Dt(),o=It("^\\s+",i).n8(n,0),r=$t(wt(o,10)),s=o.c();s.d();){var a,u=s.e();a=jt(kt(xt(u)?u:pt())),r.a(a)}for(var l=r,c=gt(),h=l.c();h.d();){var f=h.e();!Tt(f)&&c.a(f)}var p=c;if(qt("parsing input..."),p.h())return null;if(function(t){Un();var e=t.z27_1,n=kn(),i=Bt(n,"|","(",")",0,null,Vn,24,null);return!Ot(i).q8(e)}(t))return Mn(this,p);qt("parsing machine generated benchmark input...");for(var _=gt(),d=p.c(),v=0;d.d();){var y=v;v=v+1|0;var m=d.e();qt("block: '"+m+"'");for(var g=bt(m,["\n"],!1,0,6,null),b=$t(wt(g,10)),w=g.c();w.d();){var $,x=w.e();$=jt(kt(xt(x)?x:pt())),b.a($)}for(var k=b,j=null,C=null,S=gt(),z=k.c();z.d();){var M=z.e();null==j&&An(this,M)&&(j=M),t.a28_1&&On(this,M)&&(null!=C&&!S.h()&&(null==j&&(j="benchmark "+y+" "+C),_.a(new Nn(j,C,S)),S.f7()),C=M);var O=Dn(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 $n("Two "+O+" found in block "+(y+1|0)+". Expected only one");S.a(new xn(O,En(0,O,M)))}}null==j&&(j="benchmark "+y),j=qn(this,j),!S.h()&&_.a(new Nn(j,C,S))}return new yt(Wn(),_)},Ln.$metadata$=Lt("Companion"),Nn.prototype.k27=function(){return this.d28_1},Nn.prototype.h28=function(){return this.e28_1},Nn.prototype.i28=function(){return this.f28_1},Nn.prototype.toString=function(){return"BenchmarkResult(title="+this.d28_1+", testName="+this.e28_1+", blockRows="+this.f28_1+")"},Nn.prototype.hashCode=function(){var t=ht(this.d28_1);return t=I(t,31)+(null==this.e28_1?0:ht(this.e28_1))|0,I(t,31)+ft(this.f28_1)|0},Nn.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Nn))return!1;var e=t instanceof Nn?t:pt();return this.d28_1===e.d28_1&&this.e28_1==e.e28_1&&!!_t(this.f28_1,e.f28_1)},Nn.$metadata$=ct("BenchmarkResult"),Fn.prototype.r27=function(t){var e=(Un(),a),n=Rt(e.vf(t,0,2,null)),i=null==n?null:n.h9(),o=null==i?null:Nt(i);if(null==o)throw Mt(jt(t+" doesn't have numbers in it"));var r=o;return new Hn(Ot(r+"$").o8(t,""),Et(r))},Fn.$metadata$=Lt("Companion"),Hn.prototype.toString=function(){return"TextNumberLine(text="+this.s27_1+", number="+this.t27_1+")"},Hn.prototype.hashCode=function(){var t=ht(this.s27_1);return I(t,31)+Ft(this.t27_1)|0},Hn.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Hn))return!1;var e=t instanceof Hn?t:pt();return this.s27_1===e.s27_1&&!!_t(this.t27_1,e.t27_1)},Hn.$metadata$=ct("TextNumberLine"),Yn.prototype.m28=function(){return this.j28_1},Yn.prototype.toString=function(){return"GroupMap(autoGroupMap="+this.j28_1+", wordColorMap="+this.k28_1+")"},Yn.prototype.hashCode=function(){var t=ft(this.j28_1);return I(t,31)+ft(this.k28_1)|0},Yn.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Yn))return!1;var e=t instanceof Yn?t:pt();return!!_t(this.j28_1,e.j28_1)&&!!_t(this.k28_1,e.k28_1)},Yn.$metadata$=ct("GroupMap"),Xn.prototype.q28=function(){return this.n28_1},Xn.prototype.r28=function(){return this.o28_1},Xn.prototype.toString=function(){return"ChartsBundle(groupMap="+this.n28_1+", charts="+this.o28_1+")"},Xn.prototype.hashCode=function(){var t=this.n28_1.hashCode();return I(t,31)+ft(this.o28_1)|0},Xn.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Xn))return!1;var e=t instanceof Xn?t:pt();return!!this.n28_1.equals(e.n28_1)&&!!_t(this.o28_1,e.o28_1)},Xn.$metadata$=ct("ChartsBundle"),Zn.prototype.x28=function(){return this.s28_1},Zn.prototype.y28=function(){return this.t28_1},Zn.prototype.z28=function(){return this.u28_1},Zn.prototype.a29=function(){return this.v28_1},Zn.prototype.toString=function(){return"Chart(emoji="+this.s28_1+", label="+this.t28_1+", dataSets="+this.u28_1+", bsClass="+this.v28_1+")"},Zn.prototype.hashCode=function(){var t=ht(this.s28_1);return t=I(t,31)+ht(this.t28_1)|0,t=I(t,31)+ft(this.u28_1)|0,I(t,31)+ht(this.v28_1)|0},Zn.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Zn))return!1;var e=t instanceof Zn?t:pt();return this.s28_1===e.s28_1&&this.t28_1===e.t28_1&&!!_t(this.u28_1,e.u28_1)&&this.v28_1===e.v28_1},Zn.$metadata$=ct("Chart"),Qn.prototype.l27=function(){return this.z27_1},Qn.prototype.b29=function(){return this.a28_1},Qn.prototype.c29=function(){return this.b28_1},Qn.prototype.d29=function(t,e,n){return new Qn(t,e,n)},Qn.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)},Qn.prototype.toString=function(){return"FormData(data="+this.z27_1+", isTestNameDetectionEnabled="+this.a28_1+", isAutoGroupEnabled="+this.b28_1+")"},Qn.prototype.hashCode=function(){var t=ht(this.z27_1);return t=I(t,31)+(0|this.a28_1)|0,I(t,31)+(0|this.b28_1)|0},Qn.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Qn))return!1;var e=t instanceof Qn?t:pt();return this.z27_1===e.z27_1&&this.a28_1===e.a28_1&&this.b28_1===e.b28_1},Qn.$metadata$=ct("FormData"),ti.prototype.f29=function(){return"line"},ti.$metadata$=Lt("Companion"),oi.prototype.j29=function(){return this.h29_1},oi.prototype.k29=function(){return this.i29_1},oi.$metadata$=Lt("ComposableSingletons$AutoFormUiKt"),ai.prototype.a1e=function(t,e){var n=this.b1e(t,e);return n.y6_1=dt(),n.z6_1=null,n.d7()},ai.prototype.e7=function(t,e){return this.a1e(null!=t&&le(t,ue)?t:pt(),e)},ai.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),dt();if(1===t)throw this.z6_1}catch(t){throw t}},ai.prototype.b1e=function(t,e){var n=new ai(this.t29_1,this.u29_1,e);return n.v29_1=t,n},ai.$metadata$=ct("FormUi$composable$slambda",void 0,void 0,void 0,[1],ae.prototype),fi.prototype.x29=function(){return this.w29_1},fi.$metadata$=Lt("ComposableSingletons$AutoGroupToggleKt"),bi.prototype.um=function(){this.y29_1.destroy()},bi.$metadata$=ct(void 0,[ze]),zi.$metadata$=Lt("ComposableSingletons$EditableTitleKt"),Bi.$metadata$=Lt("ComposableSingletons$HeadingKt"),Ui.prototype.j2=function(){return this.f2a_1},Ui.prototype.toString=function(){return"SavedBenchmarkNode(key="+this.f2a_1+", value="+this.g2a_1+")"},Ui.prototype.hashCode=function(){var t=ht(this.f2a_1);return I(t,31)+ht(this.g2a_1)|0},Ui.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Ui))return!1;var e=t instanceof Ui?t:pt();return this.f2a_1===e.f2a_1&&this.g2a_1===e.g2a_1},Ui.$metadata$=ct("SavedBenchmarkNode"),Ki.prototype.equals=function(t){return this===t||!(null==t||!_t(Fe(Ne(this)),Fe(Ne(t))))&&(t instanceof Ki||pt(),!!Be(this.i2a_1,t.i2a_1))},Ki.prototype.hashCode=function(){return He(this.i2a_1)},Ki.prototype.toString=function(){return"SavedBenchmarks(items="+jt(this.i2a_1)+")"},Ki.$metadata$=ct("SavedBenchmarks"),Qi.prototype.j29=function(){return this.l2a_1},Qi.prototype.k29=function(){return this.m2a_1},Qi.prototype.o2a=function(){return this.n2a_1},Qi.$metadata$=Lt("ComposableSingletons$SavedBenchmarksDropDownKt"),po.prototype.a2b=function(){return this.p2a_1},po.prototype.x28=function(){return this.q2a_1},po.prototype.b2b=function(){return this.r2a_1},po.prototype.y28=function(){return this.s2a_1},po.prototype.c2b=function(){return this.t2a_1},po.prototype.d2b=function(){return this.u2a_1},po.prototype.e2b=function(){return this.v2a_1},po.prototype.f2b=function(){return this.w2a_1},po.prototype.g2b=function(){return this.x2a_1},po.prototype.h2b=function(){return this.y2a_1},po.$metadata$=ct("SummaryNode"),_o.prototype.toString=function(){return"Summary(title="+this.i2b_1+", nodes="+this.j2b_1+")"},_o.prototype.hashCode=function(){var t=ht(this.i2b_1);return I(t,31)+ft(this.j2b_1)|0},_o.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof _o))return!1;var e=t instanceof _o?t:pt();return this.i2b_1===e.i2b_1&&!!_t(this.j2b_1,e.j2b_1)},_o.$metadata$=ct("Summary"),jo.prototype.x29=function(){return this.l2b_1},jo.$metadata$=Lt("ComposableSingletons$TestNameDetectionToggleKt"),qo.prototype.x29=function(){return this.m2b_1},qo.$metadata$=Lt("ComposableSingletons$TestNamesKt"),Ro.$metadata$=Lt("ComposableSingletons$MainKt"),Fo.prototype.x29=function(){return this.o2b_1},Fo.$metadata$=Lt("ComposableSingletons$HomePageKt"),rr.$metadata$=Lt("Companion"),gr.prototype.k2c=function(){return dn("savedBenchmarks",1,_n,(function(t){return t.k2c()}),(function(t,e){return ar(t,e)})),this.r2b_1.l2()},gr.prototype.a2d=function(){return this.t2b_1},gr.prototype.r2c=function(){return dn("chartsBundle",1,_n,(function(t){return t.r2c()}),(function(t,e){return ur(t,e)})),this.u2b_1.l2()},gr.prototype.s2c=function(){return dn("errorMsg",1,_n,(function(t){return t.s2c()}),(function(t,e){return lr(t,e)})),this.v2b_1.l2()},gr.prototype.q2c=function(){return dn("isEditableTitleEnabled",1,_n,(function(t){return t.q2c()}),(function(t,e){return cr(t,e)})),this.w2b_1.l2()},gr.prototype.j2c=function(){return dn("shouldSelectUnsaved",1,_n,(function(t){return t.j2c()}),(function(t,e){return hr(t,e)})),this.x2b_1.l2()},gr.prototype.b2d=function(){return this.y2b_1},gr.prototype.p2c=function(){return dn("inputType",1,_n,(function(t){return t.p2c()}),(function(t,e){return fr(t,e)})),this.z2b_1.l2()},gr.prototype.i2c=function(){return dn("form",1,_n,(function(t){return t.i2c()}),(function(t,e){return pr(t,e)})),this.a2c_1.l2()},gr.prototype.c2d=function(t,e){var n,i=this.c2c_1;null==i||(clearTimeout(i),dt()),this.c2c_1=setTimeout((n=t,function(){return n(),dt()}),e)},gr.prototype.d2d=function(t,e){pr(this,t),this.q2b_1.e2d(t),this.c2d(vr(this,e,t),300)},gr.prototype.d2c=function(t,e,n,i){return 0!=(2&n)&&(e=!0),this.d2d(t,e)},gr.prototype.o2c=function(t){try{var e;if(this.s2b_1=t,null!=this.s2b_1){for(var n=this.b2c_1,i=gt(),o=n.c();o.d();){var r=o.e();r.e28_1==this.s2b_1&&i.a(r)}e=i}else e=this.b2c_1;var s=Kn(e);ur(this,s),dr(this,!1,s),lr(this,"")}catch(t){if(!(t instanceof Error))throw t;this.y2b_1.f7(),cn(t);var a,u=t.message;null==u?(sr(),a="Something went wrong!"):a=u,lr(this,a)}},gr.prototype.l2c=function(){cr(this,!0)},gr.prototype.m2c=function(){var t=this.i2c().e29(null,!1,!this.i2c().b28_1,3,null);this.d2c(t,!1,2,null)},gr.prototype.n2c=function(){var t=this.i2c(),e=!this.i2c().a28_1,n=t.e29(null,e,!1,5,null);this.d2c(n,!1,2,null)},gr.prototype.e2c=function(t){var e,n=window.prompt("Name: ");if(null==n||Tt(n))return dt();t:{for(var i=this.k2c().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"),dt();var r=pn(this.k2c());r.va(0,new Ui(n,t.z27_1));var s=r;this.p2b_1.f2d(s),hr(this,!1),_r(this)},gr.prototype.g2c=function(t){var e=this.i2c().e29(t.g2a_1,!1,!1,6,null);this.d2d(e,!1)},gr.prototype.h2c=function(t){window.confirm("Do you want to delete `"+t.f2a_1+"` ?")&&(this.p2b_1.g2d(t),hr(this,!0),_r(this))},gr.prototype.f2c=function(t){if(hr(this,t===Yi()),this.j2c()){var e=this.q2b_1.x2c(),n=null==e?this.i2c():e;this.d2d(n,!1)}},gr.$metadata$=ct("HomeViewModel"),br.$metadata$=vn("BenchmarkRepo"),wr.$metadata$=Lt("Companion"),xr.prototype.u2c=function(){var t=window.localStorage;$r();var e,n=t.getItem("savedBenchmarks");return e=null==n?new Ki([]):JSON.parse(n),qe(e.i2a_1)},xr.prototype.f2d=function(t){var e,n=JSON;e=Me(t);var i=n.stringify(new Ki(e)),o=window.localStorage;$r(),o.setItem("savedBenchmarks",i)},xr.prototype.g2d=function(t){var e,n=pn(this.u2c());yn(n,(e=t,function(t){return t.f2a_1===e.f2a_1}));var i=n;this.f2d(i)},xr.$metadata$=ct("BenchmarkRepoImpl",[br]),kr.$metadata$=vn("FormRepo"),jr.$metadata$=Lt("Companion"),Sr.prototype.e2d=function(t){var e=window.localStorage;Cr(),e.setItem("auto_form_input",t.z27_1),Cr(),e.setItem("is_test_name_detection_enabled",t.a28_1.toString()),Cr(),e.setItem("is_auto_group_enabled",t.b28_1.toString())},Sr.prototype.x2c=function(){var t=window.localStorage;Cr();var e=t.getItem("auto_form_input");if(null==e)return null;var n=e;Cr();var i=mn(t.getItem("is_test_name_detection_enabled"));return Cr(),new Qn(n,i,mn(t.getItem("is_auto_group_enabled")))},Sr.$metadata$=ct("FormRepoImpl",[kr]),zr.$metadata$=Lt("DefaultValues"),Mr.prototype.w2c=function(t,e,n,i,o){try{var r=e.k28_1.f();if(2!==r)return qt("impossible to summarize. expected group size = 2, but found "+r+" -> "+e.k28_1),dt();var s=Ct(),a=zt(e.k28_1.a3());qt("words : "+a);for(var u=a.c();u.d();){for(var l=u.e(),c=n.u28_1,h=Ct(),f=c.u().c();f.d();){var p=f.e(),_=p.j2();Pt(_,l,!1,2,null)&&h.n3(p.j2(),p.l2())}for(var d=h.b3(),v=$t(wt(d,10)),y=d.c();y.d();){var m,g=y.e();m=gn(g.b3()),v.a(m)}var b=v,w=gt(),$=bn(n.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=$t(s.f()),D=s.u().c();D.d();){var I,T=D.e();I=zt(T.l2()),E.a(I)}qt("combinedMap : "+E);var L=gt(),R=zt(bn(n.u28_1.b3()).a3());qt("segments: "+R);var N,F=R.f(),B=0;if(B after: '"+K+"'");var J,Z=""+(K-X).toFixed(2),Q=Et(Z),tt=""+((X-K)/X*100).toFixed(2),et=Et(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=Et(at),lt=""+X.toFixed(2);J=Et(lt),L.a(new po(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.$_$.o1=ii,t.$_$.p1=ri,t.$_$.q1=oi,t.$_$.r1=Ke,t.$_$.s1=tn,t.$_$.t1=ki,t.$_$.u1=Qs,t.$_$.v1=ai,t.$_$.w1=$i,t.$_$.x1=It,t.$_$.y1=Kt,t.$_$.z1=ne,t.$_$.a2=Di,t.$_$.b2=re,t.$_$.c2=Gi,t.$_$.d2=gs,t.$_$.e2=ls,t.$_$.f2=vi,t.$_$.g2=mi,t.$_$.h2=cs,t.$_$.i2=vs,t.$_$.j2=ys,t.$_$.k2=ms,t.$_$.l2=gi,t.$_$.m2=fs,t.$_$.n2=ps,t.$_$.o2=function(t,e){return t.c4(ru(e))},t.$_$.p2=ye,t.$_$.q2=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;o=u)return!1}while(o0,e),bn().d1(t.e1_1,t.f1_1,t.g1_1>0?e:0|-e)},t.$_$.u5=St,t.$_$.v5=Yo,t.$_$.w5=Uo,t.$_$.x5=Wo,t.$_$.y5=we,t.$_$.z5=function(t){var e=t.c();return e.d()?e.e():null},t.$_$.a6=function(t){return new je(t)},t.$_$.b6=Kr,t.$_$.c6=function(t){return null!=t&&"true"===t.toLowerCase()},t.$_$.d6=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.$_$.e6=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.$_$.f6=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.$_$.g6=us,t.$_$.h6=ji,t.$_$.i6=$s,t.$_$.j6=gu,t.$_$.k6=ta,t.$_$.l6=fi,t.$_$.m6=Eu,t.$_$.n6=Js,t.$_$.o6=function(){throw xu()},t.$_$.p6=Tu,t.$_$.q6=function(t,e){if(t!==e){var n=t._suppressed;null==n?t._suppressed=ae([e]):n.a(e)}},t.$_$.r6=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.$_$.s6=ci,t.$_$.t6=Xs,t.$_$.u6=function(t){return new ti(t)},t.$_$.v6=function(){throw Gu()},t.$_$.w6=function(t){console.error(function(t){return(new Jr).qg(t)}(t))},t.$_$.x6=function(t,e){var n=t<>>(32-e|0)|0},t.$_$.y6=function(t,e){return ki(),t<<(32-e|0)|t>>>e|0},t.$_$.z6=function(t){throw Qu("lateinit property "+t+" has not been initialized")},t.$_$.a7=xs,t.$_$.b7=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.$_$.n6,R=e.$_$.n5,N=e.$_$.w1,F=e.$_$.o4,B=e.$_$.k4,H=e.$_$.j4,V=e.$_$.l4,W=e.$_$.i4,U=e.$_$.y4,K=e.$_$.s1,Y=e.$_$.r1,G=e.$_$.a5,X=e.$_$.b4,J=e.$_$.f1,Z=n.$_$.c,Q=e.$_$.c4,tt=e.$_$.a4,et=e.$_$.j5,nt=e.$_$.m5,it=e.$_$.a7,ot=e.$_$.r5,rt=n.$_$.b,st=e.$_$.q5,at=e.$_$.h5,ut=n.$_$.a,lt=e.$_$.t,ct=e.$_$.p1,ht=e.$_$.q1,ft=e.$_$.v1,pt=e.$_$.o1,_t=e.$_$.s6,dt=e.$_$.e4,vt=e.$_$.d4,yt=e.$_$.f4,mt=e.$_$.g4,gt=e.$_$.h4,bt=e.$_$.n4,wt=e.$_$.k1,$t=e.$_$.i6,xt=e.$_$.s4,kt=e.$_$.v6,jt=e.$_$.k6,Ct=e.$_$.m6,St=e.$_$.j1,zt=e.$_$.w4,Mt=e.$_$.j6,Ot=e.$_$.c1,qt=e.$_$.m4,Pt=e.$_$.v,At=e.$_$.z,Et=e.$_$.z6,Dt=e.$_$.l,It=e.$_$.z3,Tt=e.$_$.c2,Lt=e.$_$.p4,Rt=e.$_$.y5,Nt=e.$_$.g1,Ft=e.$_$.a6,Bt=e.$_$.u4,Ht=(e.$_$.q4,e.$_$.p6),Vt=e.$_$.m1,Wt=e.$_$.v4,Ut=e.$_$.c5,Kt=e.$_$.q2,Yt=e.$_$.d1,Gt=e.$_$.t6,Xt=e.$_$.a,Jt=e.$_$.u,Zt=e.$_$.g5,Qt=e.$_$.p;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=Math.imul,Q=e.$_$.w1,tt=e.$_$.q5,et=(e.$_$.r2,e.$_$.j5),nt=e.$_$.r,it=e.$_$.m,ot=e.$_$.o2,rt=e.$_$.b7,st=e.$_$.n6,at=e.$_$.l6,ut=e.$_$.y4,lt=e.$_$.i6,ct=e.$_$.r5,ht=e.$_$.f1,ft=n.$_$.d,pt=e.$_$.x4,_t=e.$_$.s,dt=e.$_$.t6,vt=e.$_$.a7,yt=i.$_$.s,mt=i.$_$.o,gt=i.$_$.i,bt=i.$_$.r,wt=e.$_$.c6,$t=e.$_$.a5,xt=i.$_$.j,kt=e.$_$.p5,jt=e.$_$.e5,Ct=e.$_$.h5,St=e.$_$.m5,zt=e.$_$.g5,Mt=e.$_$.d2,Ot=i.$_$.q,qt=i.$_$.z,Pt=e.$_$.n5,At=i.$_$.u,Et=i.$_$.v,Dt=i.$_$.w,It=i.$_$.x,Tt=(i.$_$.m,n.$_$.c),Lt=e.$_$.a3,Rt=e.$_$.z2,Nt=n.$_$.a,Ft=e.$_$.z6,Bt=e.$_$.u6,Ht=i.$_$.n,Vt=n.$_$.b,Wt=i.$_$.t,Ut=i.$_$.b,Kt=e.$_$.x5,Yt=e.$_$.f5;function Gt(t,e){return Xt(),e!==t.value&&(t.value=e),function(t,e){We(),Fe().set(t,e),t instanceof HTMLInputElement&&function(t){var e;if(We(),"radio"===t.type){var n=t.name;e=pt(n)>0}else e=!1;if(e){if(!Be().t2(t.name)){var i=Be(),o=t.name,r=_t();i.n3(o,r)}dt(Be().z2(t.name)).a(t)}}(t)}(t,e),Q()}function Xt(){r||(r=!0,o=Gt)}function Jt(){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 Zt(){}function Qt(t,e,n){return function(t,e,n,i){return 0!=(1&e)&&(t=new oe),te.call(i,t),i}(t,e,0,Object.create(te.prototype))}function te(t){this.n1v_1=t;var e;e=nt(),this.o1v_1=e,this.p1v_1=new tn;var n;n=it(),this.q1v_1=n,this.r1v_1=null;var i;i=it(),this.s1v_1=i,this.t1v_1=8}function ee(){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 ne(){return null==a&&new ee,a}function ie(){}function oe(){var t;t=it(),this.v1v_1=t,this.w1v_1=8}function re(t,e,n){lt.call(this,t,e),this.s1u_1=n}function se(){c=this,qe.call(this,"button"),this.x1x_1=0}function ae(){h=this,Pe.call(this,"checkbox"),this.f1y_1=0}function ue(){return null==h&&new ae,h}function le(){f=this,Oe.call(this,"color"),this.n1y_1=0}function ce(){p=this,Oe.call(this,"date"),this.u1y_1=0}function he(){_=this,Oe.call(this,"datetime-local"),this.y1y_1=0}function fe(){d=this,Oe.call(this,"email"),this.c1z_1=0}function pe(){v=this,Oe.call(this,"file"),this.g1z_1=0}function _e(){y=this,Oe.call(this,"hidden"),this.k1z_1=0}function de(){m=this,Oe.call(this,"month"),this.o1z_1=0}function ve(){g=this,Ae.call(this,"number"),this.s1z_1=0}function ye(){b=this,Oe.call(this,"password"),this.z1z_1=0}function me(){w=this,Pe.call(this,"radio"),this.d20_1=0}function ge(){return null==w&&new me,w}function be(){$=this,Ae.call(this,"range"),this.h20_1=0}function we(){x=this,Oe.call(this,"search"),this.l20_1=0}function $e(){k=this,qe.call(this,"submit"),this.p20_1=0}function xe(){j=this,Oe.call(this,"tel"),this.t20_1=0}function ke(){C=this,Oe.call(this,"text"),this.x20_1=0}function je(){return null==C&&new ke,C}function Ce(){S=this,Oe.call(this,"time"),this.b21_1=0}function Se(){z=this,Oe.call(this,"url"),this.f21_1=0}function ze(){M=this,Oe.call(this,"week"),this.j21_1=0}function Me(){return null==M&&new ze,M}function Oe(t){Ie.call(this,t),this.q1y_1=0}function qe(t){Ie.call(this,t),this.a1y_1=0}function Pe(t){Ie.call(this,t),this.i1y_1=0}function Ae(t){Ie.call(this,t),this.v1z_1=0}function Ee(){O=this}function De(){return null==O&&new Ee,O}function Ie(t){De(),this.t1u_1=t,this.u1u_1=0}function Te(t,e){this.m21_1=t,this.n21_1=e,this.o21_1=this.m21_1,this.p21_1=0}function Le(t,e,n){Te.call(this,t,n),this.v21_1=e}function Re(t,e){Te.call(this,t,e)}function Ne(t,e){this.a22_1=t,this.b22_1=e,this.c22_1=8}function Fe(){return We(),q}function Be(){return We(),P}function He(t,e,n){We();var i,o=e;o.pw(-1867048565),mt()&&yt(-1867048565,n,-1,"org.jetbrains.compose.web.attributes.builders.DisposeRadioGroupEffect$composable (InternalControlledInputUtils.kt:67)"),gt(null,(i=t,function(t){return new Ve(i.f22(t))}),o,6),mt()&&bt(),o.uw()}function Ve(t){this.e22_1=t}function We(){if(A);else{A=!0;var t,e=new WeakMap;q=e,t=nt(),P=t}}function Ue(t){this.g22_1=t,this.h22_1=8}function Ke(t,e){Te.call(this,t,e)}function Ye(t){ne(),Te.call(this,"change",t)}function Ge(t){this.s22_1=t,this.t22_1=8}function Xe(){E=this}function Je(){return null==E&&new Xe,E}function Ze(t,e){this.y22_1=t,this.z22_1=e,this.a23_1=0}function Qe(){}function tn(){var t;t=it(),this.e23_1=t;var e;e=it(),this.f23_1=e,this.g23_1=8}function en(){}function nn(t,e){this.j23_1=t,this.k23_1=e,this.l23_1=8}function on(t,e){if(t.f()!==e.f())return!1;var n,i=0;t:if(St(t,Mt)&&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||ct(r.k23_1)!==ct(a.k23_1)){n=!1;break t}}n=!0}return n}function rn(t,e,n,i,o){var r=i;r=r.y17(-1594897193),Ot(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{mt()&&yt(-1594897193,l,-1,"org.jetbrains.compose.web.dom.TagElement$composable (Base.kt:106)");var c=r;c.pw(547886695),Ot(c,"C(remember$composable):Composables.kt#9igjgp");var h,f=c,p=f.rw();if(p===qt().tw_1){var _=new un;f.sw(_),h=_}else h=p;var d=h,v=null==d||Pt(d)?d:st();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 sn(t)})):g.r17();var b=At(g),w=Qt(null,1);null==e||e(w),y=w.r1v_1,Et(b).pw(509942095);var $=Dt(Et(b));It($,w.s1v_1,((s=function(t,e){return t.u23(e),Q()}).callableName="updateClasses",s)),It($,w.p1v_1,function(){var t=function(t,e){return t.s23(e),Q()};return t.callableName="updateStyleDeclarations",t}());var x=w.b1w();It($,x,function(){var t=function(t,e){return t.t23(e),Q()};return t.callableName="updateAttrs",t}());var k=w.n1v_1.t1x();It($,k,function(){var t=function(t,e){return t.q23(e),Q()};return t.callableName="updateEventListeners",t}()),It($,w.q1v_1,function(){var t=function(t,e){return t.r23(e),Q()};return t.callableName="updateProperties",t}()),Et(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||(gt(null,function(t,e){return function(n){return t(n,e.z23())}}(y,m),r,6),Q(),Q()),mt()&&bt()}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){rn(t,e,n,o,1|i)}(t,e,n,i,o),Q()}}(t,e,n,o))}function sn(t){Tt.call(this,t),this.o23_1=t,this.p23_1=Lt()}function an(){}function un(){ln.call(this)}function ln(){this.a24_1=0,this.b24_1=8}function cn(){}function hn(t){return Yt("el",1,Kt,(function(t){return hn(t)}),null),t.d24_1.l2()}function fn(t){var e;this.c24_1=t,this.d24_1=Bt((e=this,function(){return document.createElement(e.c24_1)}))}function pn(t,e,n){Ln();var i=e;i=i.y17(-363526853),Ot(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{mt()&&yt(-363526853,n,-1,"org.jetbrains.compose.web.dom.Text$composable (Elements.kt:479)");var s=i;s.pw(547886695),Ot(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,l=u.rw();if(l===qt().tw_1){var c=On;u.sw(c),a=c}else a=l;var h=a,f=null==h||Pt(h)?h:st();s.uw();var p=f,_=i;_.pw(-1846754774),Ot(_,"C(ComposeNode$composable):Composables.kt#9igjgp"),_.c17()instanceof Vt||Ht(),_.n12(),_.n17()?_.p17((o=p,function(){return o()})):_.r17();var d=Dt(_);It(d,t,qn),_.s17(),_.uw(),mt()&&bt()}var v,y,m=i.z17();null===m||m.u18((v=t,y=n,function(t,e){return function(t,e,n,i){pn(t,n,1|e)}(v,y,t),Q()}))}function _n(t,e,n,i,o){Ln();var r={_v:t},s={_v:e},a=n;a=a.y17(-915831286),Ot(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),mt()&&yt(-915831286,u,-1,"org.jetbrains.compose.web.dom.H3$composable (Elements.kt:539)"),rn((Ln(),N),r._v,s._v,a,112&u<<3|896&u<<3),mt()&&bt());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),Q()}))}function dn(t,e,n,i,o){Ln();var r={_v:t},s={_v:e},a=n;a=a.y17(1021009996),Ot(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),mt()&&yt(1021009996,u,-1,"org.jetbrains.compose.web.dom.Div$composable (Elements.kt:489)"),rn((Ln(),I),r._v,s._v,a,112&u<<3|896&u<<3),mt()&&bt());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),Q()}))}function vn(t,e,n,i,o,r){Ln();var s={_v:t},a={_v:e},u={_v:n},l=i;l=l.y17(-319539737),Ot(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),mt()&&yt(-319539737,c,-1,"org.jetbrains.compose.web.dom.Form$composable (Elements.kt:637)");var h=(Ln(),U),f=s._v,p=a._v,_=l;_.pw(-1124426577),Ot(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.qw(f)|_.qw(p)),m=v.rw();if(y||m===qt().tw_1){var g=Pn(s,a);v.sw(g),d=g}else d=m;var b=d,w=null==b||Pt(b)?b:st();_.uw(),rn(h,w,u._v,l,896&c),mt()&&bt()}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){vn(t._v,e._v,n._v,r,1|i,o)}($,x,k,j,C,t),Q()}))}function yn(t,e,n,i,o,r){Ln();var s={_v:t},a={_v:e},u={_v:n},l=i;l=l.y17(-493483649),Ot(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),mt()&&yt(-493483649,c,-1,"org.jetbrains.compose.web.dom.Label$composable (Elements.kt:833)");var h=(Ln(),X),f=s._v,p=a._v,_=l;_.pw(-1124426577),Ot(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.qw(f)|_.qw(p)),m=v.rw();if(y||m===qt().tw_1){var g=An(s,a);v.sw(g),d=g}else d=m;var b=d,w=null==b||Pt(b)?b:st();_.uw(),rn(h,w,u._v,l,896&c),mt()&&bt()}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),Q()}))}function mn(t,e,n,i,o){Ln();var r={_v:t},s={_v:e},a=n;a=a.y17(-577256683),Ot(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),mt()&&yt(-577256683,i,-1,"org.jetbrains.compose.web.dom.TextArea$composable (Elements.kt:729)");var _=a;_.pw(547886695),Ot(_,"C(remember$composable):Composables.kt#9igjgp");var d,v=_,y=v.rw();if(y===qt().tw_1){var m=!(null==r._v);v.sw(m),d=m}else d=y;var g=d,b=null==g||Pt(g)?g:st();_.uw();var w=b,$=a;$.pw(547886695),Ot($,"C(remember$composable):Composables.kt#9igjgp");var x,k=$,j=k.rw();if(j===qt().tw_1){var C=Wt(0,null,2,null);k.sw(C),x=C}else x=j;var S=x,z=null==S||Pt(S)?S:st();$.uw();var M=z,O=(Ln(),G),q=[M,s._v,w,r._v],P=a;P.pw(-1603429786),Ot(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();gt(a,(o=e,function(t){return e=o.f22(t),We(),Fe().has(e)&&(e.value=vt(Fe().get(e))),new En;var e}),r,0),mt()&&(bt(),Q())}return Q()}}(M)),K=a;K.pw(-838505973),Ot(K,"C(remember$composable)P(1):Composables.kt#9igjgp");var Y,X=K,J=K.qw(U),Z=X.rw();if(J||Z===qt().tw_1){var tt=(u=U,function(t,e,n){return u.y1s(t,e,n)});X.sw(tt),Y=tt}else Y=Z;var et=Y,nt=null==et||Pt(et)?et:st();K.uw(),rn(O,W,nt,a,384),mt()&&bt()}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){mn(t._v,e._v,o,1|n,i)}(t,e,n,i,o),Q()}}(r,s,i,o))}function gn(t,e,n,i,o){Ln();var r={_v:t},s={_v:e},a=n;a=a.y17(-767970749),Ot(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),mt()&&yt(-767970749,u,-1,"org.jetbrains.compose.web.dom.Button$composable (Elements.kt:521)"),rn((Ln(),L),r._v,s._v,a,112&u<<3|896&u<<3),mt()&&bt());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){gn(t._v,e._v,o,1|n,i)}(l,c,h,f,t),Q()}))}function bn(t,e,n,i){Ln();var o={_v:t},r=e;r=r.y17(1126514281),Ot(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),mt()&&yt(1126514281,s,-1,"org.jetbrains.compose.web.dom.Br$composable (Elements.kt:599)"),rn((Ln(),H),o._v,null,r,384|112&s<<3),mt()&&bt());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){bn(t._v,i,1|e,n)}(a,u,l,t),Q()}))}function wn(t,e,n,i,o){Ln();var r={_v:t},s={_v:e},a=n;a=a.y17(-2140946851),Ot(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),mt()&&yt(-2140946851,u,-1,"org.jetbrains.compose.web.dom.Canvas$composable (Elements.kt:430)"),rn((Ln(),D),r._v,s._v,a,112&u<<3|896&u<<3),mt()&&bt());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){wn(t._v,e._v,o,1|n,i)}(l,c,h,f,t),Q()}))}function $n(t,e,n,i){Ln();var o=n;o=o.y17(-1013116589),Ot(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{mt()&&yt(-1013116589,l,-1,"org.jetbrains.compose.web.dom.Input$composable (Elements.kt:1054)");var c=o;c.pw(547886695),Ot(c,"C(remember$composable):Composables.kt#9igjgp");var h,f=c,p=f.rw();if(p===qt().tw_1){var _=Wt(0,null,2,null);f.sw(_),h=_}else h=p;var d=h,v=null==d||Pt(d)?d:st();c.uw();var y=v,m=(Ln(),T),g=o;g.pw(-1058148781),Ot(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===qt().tw_1){var k=(s=t,a=e,u=y,function(t){var e=new Ne(s,t);return function(t,e){Xt(),t.p1u("type",e.t1u_1)}(e,s),e.d22(function(t){return function(e){return t.us(t.l2()+1|0),Q()}}(u)),a(e),Q()});w.sw(k),b=k}else b=x;var j=b,C=null==j||Pt(j)?j:st();g.uw();var S=C,z=Ut(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,Q()),18==(91&a)&&s.g16())s.k12(),Q();else{mt()&&yt(558133459,a,-1,"org.jetbrains.compose.web.dom.Input$composable. (Elements.kt:1073)"),s.pw(-1270925487),$t(t,ge())&&He(n,s,14&a),s.uw();var u=e.l2();gt(u,(r=n,function(t){return function(t){We();var e=De().l21(t.type);if(Fe().has(t)){if($t(e,ge())){var n=Be().z2(t.name);if(null==n);else for(var i=n.c();i.d();){var o=i.e();o.checked=wt(vt(Fe().get(o)))}return t.checked=wt(vt(Fe().get(t))),Q()}$t(e,ue())?t.checked=wt(vt(Fe().get(t))):t.value=vt(Fe().get(t))}}(r.f22(t)),new Dn}),s,0),mt()&&(bt(),Q())}return Q()}}(t,y)),M=o;M.pw(-838505973),Ot(M,"C(remember$composable)P(1):Composables.kt#9igjgp");var O,q=M,P=M.qw(z),A=q.rw();if(P||A===qt().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||Pt(D)?D:st();M.uw(),rn(m,S,I,o,384),mt()&&bt()}var L=o.z17();null===L||L.u18(function(t,e,n){return function(i,o){return function(t,e,n,i,o){$n(t,e,i,1|n)}(t,e,n,i),Q()}}(t,e,i))}function xn(t,e,n,i,o){Ln();var r={_v:t},s={_v:e},a=n;a=a.y17(1065330793),Ot(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),mt()&&yt(1065330793,u,-1,"org.jetbrains.compose.web.dom.H4$composable (Elements.kt:545)"),rn((Ln(),F),r._v,s._v,a,112&u<<3|896&u<<3),mt()&&bt());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){xn(t._v,e._v,o,1|n,i)}(l,c,h,f,t),Q()}))}function kn(t,e,n,i,o){Ln();var r={_v:t},s={_v:e},a=n;a=a.y17(-583188148),Ot(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),mt()&&yt(-583188148,u,-1,"org.jetbrains.compose.web.dom.H1$composable (Elements.kt:527)"),rn((Ln(),R),r._v,s._v,a,112&u<<3|896&u<<3),mt()&&bt());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),Q()}))}function jn(t,e,n,i,o,r){Ln();var s={_v:t},a={_v:e},u={_v:n},l=i;l=l.y17(-140298183),Ot(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),mt()&&yt(-140298183,c,-1,"org.jetbrains.compose.web.dom.Select$composable (Elements.kt:653)");var h=(Ln(),K),f=a._v,p=s._v,_=l;_.pw(-1124426577),Ot(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.qw(f)|_.qw(p)),m=v.rw();if(y||m===qt().tw_1){var g=In(a,s);v.sw(g),d=g}else d=m;var b=d,w=null==b||Pt(b)?b:st();_.uw(),rn(h,w,u._v,l,896&c),mt()&&bt()}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){jn(t._v,e._v,n._v,r,1|i,o)}($,x,k,j,C,t),Q()}))}function Cn(t,e,n,i,o,r){Ln();var s={_v:e},a={_v:n},u=i;u=u.y17(1780967894),Ot(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),mt()&&yt(1780967894,l,-1,"org.jetbrains.compose.web.dom.Option$composable (Elements.kt:669)");var c=(Ln(),Y),h=s._v,f=u;f.pw(-1124426577),Ot(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===qt().tw_1){var y=Tn(t,s);_.sw(y),p=y}else p=v;var m=p,g=null==m||Pt(m)?m:st();f.uw(),rn(c,g,a._v,u,896&l),mt()&&bt()}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){Cn(t,e._v,n._v,r,1|i,o)}(b,w,$,x,k,t),Q()}))}function Sn(t,e,n,i,o){Ln();var r={_v:t},s={_v:e},a=n;a=a.y17(-114341698),Ot(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),mt()&&yt(-114341698,u,-1,"org.jetbrains.compose.web.dom.Ul$composable (Elements.kt:603)"),rn((Ln(),V),r._v,s._v,a,112&u<<3|896&u<<3),mt()&&bt());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){Sn(t._v,e._v,o,1|n,i)}(l,c,h,f,t),Q()}))}function zn(t,e,n,i,o){Ln();var r={_v:t},s={_v:e},a=n;a=a.y17(-456299496),Ot(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),mt()&&yt(-456299496,u,-1,"org.jetbrains.compose.web.dom.Li$composable (Elements.kt:615)"),rn((Ln(),W),r._v,s._v,a,112&u<<3|896&u<<3),mt()&&bt());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),Q()}))}function Mn(t,e,n,i,o){Ln();var r={_v:t},s={_v:e},a=n;a=a.y17(-155327957),Ot(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),mt()&&yt(-155327957,u,-1,"org.jetbrains.compose.web.dom.Span$composable (Elements.kt:593)"),rn((Ln(),B),r._v,s._v,a,112&u<<3|896&u<<3),mt()&&bt());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),Q()}))}function On(){return Ln(),new Tt(document.createTextNode(""))}function qn(t,e){Ln();var n=t.r1m();return(n instanceof Text?n:st()).data=e,Q()}function Pn(t,e){return function(n){var i=t._v;return null==i||0===pt(i)||(function(t,e){Xt(),t.p1u("action",e)}(n,t._v),Q()),null!=e._v&&e._v(n),Q()}}function An(t,e){return function(n){return null!=t._v&&(function(t,e){Xt(),t.p1u("for",e)}(n,t._v),Q()),null!=e._v&&e._v(n),Q()}}function En(){}function Dn(){}function In(t,e){return function(n){return t._v&&(i=n,Xt(),i.p1u("multiple",""),Q()),null!=e._v&&e._v(new Ue(n)),Q();var i}}function Tn(t,e){return function(n){return function(t,e){Xt(),t.p1u("value",e)}(n,t),null!=e._v&&e._v(n),Q()}}function Ln(){J||(J=!0,new fn("address"),new fn("article"),new fn("aside"),new fn("header"),new fn("area"),new fn("audio"),new fn("map"),new fn("track"),new fn("video"),new fn("datalist"),new fn("fieldset"),new fn("legend"),new fn("meter"),new fn("output"),new fn("progress"),new fn("embed"),new fn("iframe"),new fn("object"),new fn("param"),new fn("picture"),new fn("source"),D=new fn("canvas"),new fn("dl"),new fn("dt"),new fn("dd"),I=new fn("div"),new fn("a"),T=new fn("input"),L=new fn("button"),R=new fn("h1"),new fn("h2"),N=new fn("h3"),F=new fn("h4"),new fn("h5"),new fn("h6"),new fn("p"),new fn("em"),new fn("i"),new fn("b"),new fn("small"),B=new fn("span"),H=new fn("br"),V=new fn("ul"),new fn("ol"),W=new fn("li"),new fn("img"),U=new fn("form"),K=new fn("select"),Y=new fn("option"),new fn("optgroup"),new fn("section"),G=new fn("textarea"),new fn("nav"),new fn("pre"),new fn("code"),new fn("main"),new fn("footer"),new fn("hr"),X=new fn("label"),new fn("table"),new fn("caption"),new fn("col"),new fn("colgroup"),new fn("tr"),new fn("thead"),new fn("th"),new fn("td"),new fn("tbody"),new fn("tfoot"),new fn("style"))}function Rn(t,e){Nn.call(this,e),this.q24_1=t,this.r24_1=0}function Nn(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 Fn(t,e){Nn.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 Bn(t){Nn.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 re.prototype=Object.create(lt.prototype),re.prototype.constructor=re,qe.prototype=Object.create(Ie.prototype),qe.prototype.constructor=qe,se.prototype=Object.create(qe.prototype),se.prototype.constructor=se,Pe.prototype=Object.create(Ie.prototype),Pe.prototype.constructor=Pe,ae.prototype=Object.create(Pe.prototype),ae.prototype.constructor=ae,Oe.prototype=Object.create(Ie.prototype),Oe.prototype.constructor=Oe,le.prototype=Object.create(Oe.prototype),le.prototype.constructor=le,ce.prototype=Object.create(Oe.prototype),ce.prototype.constructor=ce,he.prototype=Object.create(Oe.prototype),he.prototype.constructor=he,fe.prototype=Object.create(Oe.prototype),fe.prototype.constructor=fe,pe.prototype=Object.create(Oe.prototype),pe.prototype.constructor=pe,_e.prototype=Object.create(Oe.prototype),_e.prototype.constructor=_e,de.prototype=Object.create(Oe.prototype),de.prototype.constructor=de,Ae.prototype=Object.create(Ie.prototype),Ae.prototype.constructor=Ae,ve.prototype=Object.create(Ae.prototype),ve.prototype.constructor=ve,ye.prototype=Object.create(Oe.prototype),ye.prototype.constructor=ye,me.prototype=Object.create(Pe.prototype),me.prototype.constructor=me,be.prototype=Object.create(Ae.prototype),be.prototype.constructor=be,we.prototype=Object.create(Oe.prototype),we.prototype.constructor=we,$e.prototype=Object.create(qe.prototype),$e.prototype.constructor=$e,xe.prototype=Object.create(Oe.prototype),xe.prototype.constructor=xe,ke.prototype=Object.create(Oe.prototype),ke.prototype.constructor=ke,Ce.prototype=Object.create(Oe.prototype),Ce.prototype.constructor=Ce,Se.prototype=Object.create(Oe.prototype),Se.prototype.constructor=Se,ze.prototype=Object.create(Oe.prototype),ze.prototype.constructor=ze,Le.prototype=Object.create(Te.prototype),Le.prototype.constructor=Le,Re.prototype=Object.create(Te.prototype),Re.prototype.constructor=Re,Ke.prototype=Object.create(Te.prototype),Ke.prototype.constructor=Ke,Ye.prototype=Object.create(Te.prototype),Ye.prototype.constructor=Ye,sn.prototype=Object.create(Tt.prototype),sn.prototype.constructor=sn,un.prototype=Object.create(ln.prototype),un.prototype.constructor=un,Rn.prototype=Object.create(Nn.prototype),Rn.prototype.constructor=Rn,Fn.prototype=Object.create(Nn.prototype),Fn.prototype.constructor=Fn,Bn.prototype=Object.create(Nn.prototype),Bn.prototype.constructor=Bn,Jt.$metadata$=tt("Companion"),Zt.$metadata$=et("AttrsScope",[ie]),te.prototype.u1v=function(){return this.n1v_1},te.prototype.l1v=function(t){this.n1v_1.l1v(t)},te.prototype.m1v=function(t){this.n1v_1.m1v(t)},te.prototype.k1v=function(t){this.n1v_1.k1v(t)},te.prototype.x1v=function(){return this.p1v_1},te.prototype.y1v=function(){return this.q1v_1},te.prototype.z1v=function(){return this.r1v_1},te.prototype.a1w=function(){return this.s1v_1},te.prototype.g1v=function(t){this.s1v_1.c4(t)},te.prototype.h1v=function(t){ot(this.s1v_1,t)},te.prototype.f1v=function(t){t(this.p1v_1)},te.prototype.p1u=function(t,e){return this.o1v_1.n3(t,e),this},te.prototype.j1v=function(t,e){var n=rt(t,e);this.q1v_1.a(n instanceof at?n:st())},te.prototype.b1w=function(){return this.o1v_1},te.$metadata$=ut("AttrsScopeBuilder",[Zt,ie]),ee.$metadata$=tt("Companion"),ie.$metadata$=et("EventsListenerScope"),oe.prototype.k1v=function(t){this.v1v_1.a(t)},oe.prototype.t1x=function(){return this.v1v_1},oe.$metadata$=ut("EventsListenerScopeBuilder",[ie]),re.$metadata$=ut("ButtonType",void 0,void 0,void 0,void 0,lt.prototype),se.$metadata$=tt("Button",void 0,void 0,void 0,void 0,qe.prototype),ae.$metadata$=tt("Checkbox",void 0,void 0,void 0,void 0,Pe.prototype),le.$metadata$=tt("Color",void 0,void 0,void 0,void 0,Oe.prototype),ce.$metadata$=tt("Date",void 0,void 0,void 0,void 0,Oe.prototype),he.$metadata$=tt("DateTimeLocal",void 0,void 0,void 0,void 0,Oe.prototype),fe.$metadata$=tt("Email",void 0,void 0,void 0,void 0,Oe.prototype),pe.$metadata$=tt("File",void 0,void 0,void 0,void 0,Oe.prototype),_e.$metadata$=tt("Hidden",void 0,void 0,void 0,void 0,Oe.prototype),de.$metadata$=tt("Month",void 0,void 0,void 0,void 0,Oe.prototype),ve.$metadata$=tt("Number",void 0,void 0,void 0,void 0,Ae.prototype),ye.$metadata$=tt("Password",void 0,void 0,void 0,void 0,Oe.prototype),me.$metadata$=tt("Radio",void 0,void 0,void 0,void 0,Pe.prototype),be.$metadata$=tt("Range",void 0,void 0,void 0,void 0,Ae.prototype),we.$metadata$=tt("Search",void 0,void 0,void 0,void 0,Oe.prototype),$e.$metadata$=tt("Submit",void 0,void 0,void 0,void 0,qe.prototype),xe.$metadata$=tt("Tel",void 0,void 0,void 0,void 0,Oe.prototype),ke.$metadata$=tt("Text",void 0,void 0,void 0,void 0,Oe.prototype),Ce.$metadata$=tt("Time",void 0,void 0,void 0,void 0,Oe.prototype),Se.$metadata$=tt("Url",void 0,void 0,void 0,void 0,Oe.prototype),ze.$metadata$=tt("Week",void 0,void 0,void 0,void 0,Oe.prototype),Oe.prototype.j1y=function(t){return Me().k21(t)},Oe.$metadata$=ut("InputTypeWithStringValue",void 0,void 0,void 0,void 0,Ie.prototype),qe.prototype.b1y=function(t){return Q()},qe.prototype.j1y=function(t){return this.b1y(t),Q()},qe.$metadata$=ut("InputTypeWithUnitValue",void 0,void 0,void 0,void 0,Ie.prototype),Pe.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},Pe.$metadata$=ut("InputTypeCheckedValue",void 0,void 0,void 0,void 0,Ie.prototype),Ae.prototype.j1y=function(t){var e,n=t.target,i=null==(e=null==n?null:n)?null:e.valueAsNumber;return null==i?null:i},Ae.$metadata$=ut("InputTypeNumberValue",void 0,void 0,void 0,void 0,Ie.prototype),Ee.prototype.l21=function(t){var e;switch(t){case"button":null==c&&new se,e=c;break;case"checkbox":e=ue();break;case"color":null==f&&new le,e=f;break;case"date":null==p&&new ce,e=p;break;case"datetime-local":null==_&&new he,e=_;break;case"email":null==d&&new fe,e=d;break;case"file":null==v&&new pe,e=v;break;case"hidden":null==y&&new _e,e=y;break;case"month":null==m&&new de,e=m;break;case"number":null==g&&new ve,e=g;break;case"password":null==b&&new ye,e=b;break;case"radio":e=ge();break;case"range":null==$&&new be,e=$;break;case"search":null==x&&new we,e=x;break;case"submit":null==k&&new $e,e=k;break;case"tel":null==j&&new xe,e=j;break;case"text":e=je();break;case"time":null==S&&new Ce,e=S;break;case"url":null==z&&new Se,e=z;break;case"week":e=Me();break;default:throw ht(ct("fromString got unknown type - "+t))}return e},Ee.$metadata$=tt("Companion"),Ie.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},Ie.$metadata$=ut("InputType"),Te.prototype.j1t=function(){return this.o21_1},Te.prototype.q21=function(t){var e;e=new Nn(t),this.n21_1(e)},Te.prototype.handleEvent=function(t){return this.q21(t)},Te.$metadata$=ut("SyntheticEventListener",[ft]),Le.prototype.q21=function(t){var e=this.v21_1.j1y(t);this.n21_1(new Fn(e,t))},Le.prototype.handleEvent=function(t){return this.q21(t)},Le.$metadata$=ut("InputEventListener",void 0,void 0,void 0,void 0,Te.prototype),Re.prototype.q21=function(t){var e;e=t,this.n21_1(new Bn(e))},Re.prototype.handleEvent=function(t){return this.q21(t)},Re.$metadata$=ut("MouseEventListener",void 0,void 0,void 0,void 0,Te.prototype),Ne.prototype.p1u=function(t,e){return this.b22_1.p1u(t,e)},Ne.prototype.h1v=function(t){this.b22_1.h1v(t)},Ne.prototype.g1v=function(t){this.b22_1.g1v(t)},Ne.prototype.i1v=function(t){return this.b22_1.i1v(t)},Ne.prototype.l1v=function(t){this.b22_1.l1v(t)},Ne.prototype.m1v=function(t){this.b22_1.m1v(t)},Ne.prototype.j1v=function(t,e){this.b22_1.j1v(t,e)},Ne.prototype.k1v=function(t){this.b22_1.k1v(t)},Ne.prototype.f1v=function(t){this.b22_1.f1v(t)},Ne.prototype.d22=function(t){ne(),this.k1v(new Le("input",this.a22_1,t))},Ne.$metadata$=ut("InputAttrsScope",[Zt]),Ve.prototype.um=function(){var t=Be().z2(this.e22_1.name);null==t||t.ga(this.e22_1);var e=Be().z2(this.e22_1.name);!0===(null==e?null:e.h())&&Be().lb(this.e22_1.name)},Ve.$metadata$=ut(void 0,[xt]),Ue.prototype.p1u=function(t,e){return this.g22_1.p1u(t,e)},Ue.prototype.h1v=function(t){this.g22_1.h1v(t)},Ue.prototype.g1v=function(t){this.g22_1.g1v(t)},Ue.prototype.i1v=function(t){return this.g22_1.i1v(t)},Ue.prototype.l1v=function(t){this.g22_1.l1v(t)},Ue.prototype.m1v=function(t){this.g22_1.m1v(t)},Ue.prototype.j1v=function(t,e){this.g22_1.j1v(t,e)},Ue.prototype.k1v=function(t){this.g22_1.k1v(t)},Ue.prototype.f1v=function(t){this.g22_1.f1v(t)},Ue.prototype.i22=function(t){ne(),this.k1v(new Ke("input",t))},Ue.prototype.j22=function(t){this.k1v(new Ye(t))},Ue.$metadata$=ut("SelectAttrsScope",[Zt]),Ke.prototype.q21=function(t){var e=t.target,n=(null==e?null:e).value,i=null==n?null:ct(n);this.n21_1(new Fn(i,t))},Ke.prototype.handleEvent=function(t){return this.q21(t)},Ke.$metadata$=ut("SelectInputEventListener",void 0,void 0,void 0,void 0,Te.prototype),Ye.prototype.q21=function(t){var e=t.target,n=(null==e?null:e).value,i=null==n?null:ct(n);this.n21_1(new Rn(i,t))},Ye.prototype.handleEvent=function(t){return this.q21(t)},Ye.$metadata$=ut("SelectChangeEventListener",void 0,void 0,void 0,void 0,Te.prototype),Ge.prototype.p1u=function(t,e){return this.s22_1.p1u(t,e)},Ge.prototype.h1v=function(t){this.s22_1.h1v(t)},Ge.prototype.g1v=function(t){this.s22_1.g1v(t)},Ge.prototype.i1v=function(t){return this.s22_1.i1v(t)},Ge.prototype.l1v=function(t){this.s22_1.l1v(t)},Ge.prototype.m1v=function(t){this.s22_1.m1v(t)},Ge.prototype.j1v=function(t,e){this.s22_1.j1v(t,e)},Ge.prototype.k1v=function(t){this.s22_1.k1v(t)},Ge.prototype.f1v=function(t){this.s22_1.f1v(t)},Ge.prototype.u22=function(t){return this.j1v((Xt(),o),t),this},Ge.prototype.v22=function(t){ne(),this.k1v(new Le("input",je(),t))},Ge.$metadata$=ut("TextAreaAttrsScope",[Zt]),Xe.prototype.w22=function(){return"%"},Xe.prototype.x22=function(){return"px"},Xe.$metadata$=tt("Companion"),Ze.prototype.l2=function(){return this.y22_1},Ze.prototype.b23=function(){return this.z22_1},Ze.prototype.toString=function(){return""+this.y22_1+this.z22_1},Ze.prototype.hashCode=function(){var t=jt(this.y22_1);return Z(t,31)+Ct(this.z22_1)|0},Ze.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Ze))return!1;var e=t instanceof Ze?t:st();return!!$t(this.y22_1,e.y22_1)&&!!$t(this.z22_1,e.z22_1)},Ze.$metadata$=ut("CSSUnitValueTyped"),Object.defineProperty(Ze.prototype,"value",{configurable:!0,get:function(){return this.l2()}}),Object.defineProperty(Ze.prototype,"unit",{configurable:!0,get:function(){return this.b23()}}),Qe.$metadata$=et("StyleScope"),tn.prototype.h23=function(){return this.e23_1},tn.prototype.i23=function(){return this.f23_1},tn.prototype.c23=function(t,e){this.h23().a(new nn(t,e))},tn.prototype.equals=function(t){return!(null==t||!St(t,en))&&!!on(this.h23(),t.h23())&&on(this.i23(),t.i23())},tn.$metadata$=ut("StyleScopeBuilder",[Qe,en]),en.$metadata$=et("StyleHolder"),nn.prototype.j1t=function(){return this.j23_1},nn.prototype.l2=function(){return this.k23_1},nn.prototype.d9=function(){return this.j23_1},nn.prototype.e9=function(){return this.k23_1},nn.prototype.toString=function(){return"StylePropertyDeclaration(name="+this.j23_1+", value="+this.k23_1+")"},nn.prototype.hashCode=function(){var t=zt(this.j23_1);return Z(t,31)+Ct(this.k23_1)|0},nn.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof nn))return!1;var e=t instanceof nn?t:st();return this.j23_1===e.j23_1&&!!$t(this.k23_1,e.k23_1)},nn.$metadata$=ut("StylePropertyDeclaration"),sn.prototype.r1m=function(){return this.o23_1},sn.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)}},sn.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)}},sn.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,ct(s))}for(var a=t.i23().c();a.d();){var u=a.e(),l=u.d9(),c=u.e9();n.setProperty(l,ct(c))}}},sn.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/benchart.js.map b/benchart.js.map index b1bd225..b1a228a 100644 --- a/benchart.js.map +++ b/benchart.js.map @@ -1 +1 @@ -{"version":3,"file":"benchart.js","mappings":"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","sources":["webpack://benchart/webpack/universalModuleDefinition","webpack://benchart/../../../../../Trace.common.kt","webpack://benchart/../../../../../AtomicFU.kt","webpack://benchart/../../../../../MonotonicFrameClock.kt","webpack://benchart/../../../../../Applier.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Collections.kt","webpack://benchart/../../../../../BroadcastFrameClock.kt","webpack://benchart/../../../../../Composer.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Iterators.kt","webpack://benchart/../../../../../InspectionTables.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Standard.kt","webpack://benchart/../../../../../ListUtils.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Sets.kt","webpack://benchart/../../../../../SlotTable.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Maps.kt","webpack://benchart/../../../../../BitwiseOperators.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Collections.kt","webpack://benchart/../../../../../Trace.kt","webpack://benchart/../../../../../IdentityArrayMap.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/comparisons/Comparisons.kt","webpack://benchart/../../../../../DerivedState.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/MutableCollections.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Preconditions.kt","webpack://benchart/../../../../../Composition.kt","webpack://benchart/../../../../../IdentityScopeMap.kt","webpack://benchart/../../../../../IdentityArraySet.kt","webpack://benchart/../../../../../Synchronization.kt","webpack://benchart/../../../../../CompositionContext.kt","webpack://benchart/../../../../../CompositionLocal.kt","webpack://benchart/../../../../../Effects.kt","webpack://benchart/../../../../../JoinedKey.kt","webpack://benchart/../../../../../MovableContent.kt","webpack://benchart/../../../../../OpaqueKey.kt","webpack://benchart/../../../../../RecomposeScopeImpl.kt","webpack://benchart/../../../../../Recomposer.kt","webpack://benchart/../../../../../Synchronized.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Result.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/Continuation.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Sequences.kt","webpack://benchart/../../../../../runtime/coroutineInternalJS.kt","webpack://benchart/../../../../../Snapshot.kt","webpack://benchart/../../../../../extensions.kt","webpack://benchart/../../../../../src/generated/_ArraysJs.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/dynamic.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/math.kt","webpack://benchart/../../../../../builtins/Library.kt","webpack://benchart/../../../../../SnapshotMutationPolicy.kt","webpack://benchart/../../../../../SnapshotState.kt","webpack://benchart/../../../../../ActualJs.js.kt","webpack://benchart/../../../../../Stack.kt","webpack://benchart/../../../../../ValueHolders.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Lazy.kt","webpack://benchart/../../../../../IdentityArrayIntMap.kt","webpack://benchart/../../../../../AbstractListIterator.kt","webpack://benchart/../../../../../AbstractPersistentList.kt","webpack://benchart/../../../../../BufferIterator.kt","webpack://benchart/../../../../../PersistentVector.kt","webpack://benchart/../../../../../PersistentVectorBuilder.kt","webpack://benchart/../../../../../runtime/kotlinHacks.kt","webpack://benchart/../../../../../PersistentVectorIterator.kt","webpack://benchart/../../../../../PersistentVectorMutableIterator.kt","webpack://benchart/../../../../../SmallPersistentVector.kt","webpack://benchart/../../../../../TrieIterator.kt","webpack://benchart/../../../../../Utils.kt","webpack://benchart/../../../../../PersistentHashMap.kt","webpack://benchart/../../../../../PersistentHashMapContentIterators.kt","webpack://benchart/../../../../../PersistentHashMapContentViews.kt","webpack://benchart/../../../../../TrieNode.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/HashCode.kt","webpack://benchart/../../../../../PersistentOrderedSet.kt","webpack://benchart/../../../../../PersistentOrderedSetIterator.kt","webpack://benchart/../../../../../ComposableLambda.kt","webpack://benchart/../../../../../SnapshotDoubleIndexHeap.kt","webpack://benchart/../../../../../SnapshotIdSet.kt","webpack://benchart/../../../../../SnapshotStateList.kt","webpack://benchart/../../../../../SnapshotStateMap.kt","webpack://benchart/../../../../../","webpack://benchart/../../../../../Composer.js.kt","webpack://benchart/../../../../../ComposableLambda.js.kt","webpack://benchart/../../../../../CancellableContinuation.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Arrays.kt","webpack://benchart/../../../../../ListImplementation.kt","webpack://benchart/../../../../../ActualJsBrowser.js.kt","webpack://benchart/../../../../../Composables.kt","webpack://benchart/../../../../src/commonMain/kotlin/core/BenchmarkResult.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/Strings.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/regex/RegexExtensions.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/numberConversions.kt","webpack://benchart/../../../../src/commonMain/kotlin/core/ChartsTransformers.kt","webpack://benchart/../../../../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\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(\"$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 deosn't have numbers in it\")\n val newLine = line.replaceFirst(number, \"\")\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 org.jetbrains.compose.web.attributes.AttrsScope\nimport org.jetbrains.compose.web.css.StyleScope\nimport org.jetbrains.compose.web.css.fontWeight\nimport org.jetbrains.compose.web.dom.*\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 summaries: List,\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 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.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(summaries = viewModel.summaries)\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 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) ?: return@debounce\n this.inputType = inputType\n fullBenchmarkResults.addAll(benchmarkResults)\n\n when (inputType) {\n InputType.GENERIC -> {\n val newCharts = fullBenchmarkResults.toGenericChart()\n chartsBundle = newCharts\n\n updateSummary(isGeneric = true, 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 updateSummary(isGeneric = false, 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 updateSummary(isGeneric: Boolean, chartsBundle: ChartsBundle) {\n // Calculating duration summary\n summaries.clear()\n for (chartData in chartsBundle.charts) {\n SummaryUtils.prepareSummary(isGeneric = isGeneric, groupMap = chartsBundle.groupMap,\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(isGeneric = false, newCharts)\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}\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 groupMap: GroupMap,\n chart: Chart,\n onSummaryReady: (summary: Summary) -> Unit,\n onSummaryFailed: (reason: String) -> Unit,\n ) {\n try {\n val totalGroups = groupMap.wordColorMap.size\n if (totalGroups != 2) {\n println(\"impossible to summarize. expected group size = 2, but found $totalGroups -> ${groupMap.wordColorMap}\")\n return\n }\n val combinedMap = mutableMapOf>()\n val words = groupMap.wordColorMap.keys.toList()\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 \"📊Summary\"\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","summaries","summary","badgeClass","postfix","fontWeight","testName","HomeViewModel","BenchmarkRepoImpl","FormRepoImpl","newTestName","chunked","paddingLeft","paddingRight","paddingBottom","chart","chartsBundle","chartData","inputType","result","listOf","toGenericChart","newCharts","updateSummary","currentTestName","toCharts","printStackTrace","reason","emptyList","mutableStateListOf","FormData","refreshBenchmarks","isGenericInput","form","parseGenericInput","isTestName","findMetricKeyOrNull","metricName","InvalidBenchmarkDataException","parseValues","parseTitle","firstOrNull","TextNumberLine","number","destroy","other","contentEquals","contentHashCode","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","groupMap","totalGroups","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","document","_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","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 +{"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 org.jetbrains.compose.web.attributes.AttrsScope\nimport org.jetbrains.compose.web.css.StyleScope\nimport org.jetbrains.compose.web.css.fontWeight\nimport org.jetbrains.compose.web.dom.*\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 summaries: List,\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 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.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(summaries = viewModel.summaries)\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 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) ?: return@debounce\n this.inputType = inputType\n fullBenchmarkResults.addAll(benchmarkResults)\n\n when (inputType) {\n InputType.GENERIC -> {\n val newCharts = fullBenchmarkResults.toGenericChart()\n chartsBundle = newCharts\n\n updateSummary(isGeneric = true, 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 updateSummary(isGeneric = false, 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 updateSummary(isGeneric: Boolean, chartsBundle: ChartsBundle) {\n // Calculating duration summary\n summaries.clear()\n for (chartData in chartsBundle.charts) {\n SummaryUtils.prepareSummary(isGeneric = isGeneric, groupMap = chartsBundle.groupMap,\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(isGeneric = false, newCharts)\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}\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 groupMap: GroupMap,\n chart: Chart,\n onSummaryReady: (summary: Summary) -> Unit,\n onSummaryFailed: (reason: String) -> Unit,\n ) {\n try {\n val totalGroups = groupMap.wordColorMap.size\n if (totalGroups != 2) {\n println(\"impossible to summarize. expected group size = 2, but found $totalGroups -> ${groupMap.wordColorMap}\")\n return\n }\n val combinedMap = mutableMapOf>()\n val words = groupMap.wordColorMap.keys.toList()\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 \"📊Summary\"\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","summaries","summary","badgeClass","postfix","fontWeight","testName","HomeViewModel","BenchmarkRepoImpl","FormRepoImpl","newTestName","chunked","paddingLeft","paddingRight","paddingBottom","chart","chartsBundle","chartData","inputType","result","listOf","toGenericChart","newCharts","updateSummary","currentTestName","toCharts","printStackTrace","reason","emptyList","mutableStateListOf","FormData","refreshBenchmarks","isGenericInput","form","parseGenericInput","isTestName","findMetricKeyOrNull","metricName","InvalidBenchmarkDataException","parseValues","parseTitle","firstOrNull","TextNumberLine","destroy","other","contentEquals","contentHashCode","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","groupMap","totalGroups","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","document","_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