From 2ca3691a57fb9f8ec44e71f0344f1d0204f3269b Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Thu, 3 Apr 2025 10:34:04 +0200 Subject: [PATCH 01/84] Closes #1068 --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e8a5a744f..1b0b26627 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,7 +43,7 @@ jobs: uses: shivammathur/setup-php@v2 with: php-version: 8.4 - extensions: none, ctype, dom, iconv, mbstring, opcache, simplexml, tokenizer, xml, xmlwriter + extensions: none, ctype, curl, dom, iconv, mbstring, opcache, simplexml, tokenizer, xml, xmlwriter coverage: none tools: none @@ -59,7 +59,7 @@ jobs: runs-on: ${{ matrix.os }} env: - PHP_EXTENSIONS: none, ctype, dom, json, libxml, mbstring, openssl, pdo_sqlite, soap, tokenizer, xml, xmlwriter + PHP_EXTENSIONS: none, ctype, curl, dom, json, libxml, mbstring, openssl, pdo_sqlite, soap, tokenizer, xml, xmlwriter PHP_INI_VALUES: memory_limit=-1, assert.exception=1, zend.assertions=1, error_reporting=-1, log_errors_max_len=0, display_errors=On strategy: From 3bd0b2261163d72d743c3a9a664691116562a649 Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Thu, 3 Apr 2025 12:11:20 +0200 Subject: [PATCH 02/84] Use snapshot of Composer --- tools/composer | Bin 3063015 -> 3113123 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tools/composer b/tools/composer index 3b71ca645be88d71bc6e393515143364ef01946f..ff444073a7ae1d34a9757490bc302a59fd6c1933 100755 GIT binary patch delta 66119 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 u_6uAVSb#yU+-ubEO4rm2}L(JXo}@t^|f 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 Q|4}pfyY-yZgsg=B1A8SI%>V!Z From c73014859c1106dc3c480c1227a3307102da7f67 Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Thu, 3 Apr 2025 16:33:55 +0200 Subject: [PATCH 03/84] Closes #1069 --- ChangeLog-12.1.md | 7 +++++++ src/CodeCoverage.php | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog-12.1.md b/ChangeLog-12.1.md index 736dd826b..057fa0087 100644 --- a/ChangeLog-12.1.md +++ b/ChangeLog-12.1.md @@ -2,6 +2,12 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. +## [12.1.2] - 2025-MM-DD + +### Fixed + +* [#1069](https://github.com/sebastianbergmann/php-code-coverage/issues/1069): Check for unintentionally covered code is wrong + ## [12.1.1] - 2025-04-03 ### Fixed @@ -14,5 +20,6 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt * `CacheWarmer::warmCache()` now returns the number of cache hits and cache misses +[12.1.2]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.1.1...main [12.1.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.1.0...12.1.1 [12.1.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.0.5...12.1.0 diff --git a/src/CodeCoverage.php b/src/CodeCoverage.php index f28390f42..2648c0403 100644 --- a/src/CodeCoverage.php +++ b/src/CodeCoverage.php @@ -513,7 +513,7 @@ private function performUnintentionallyCoveredCodeCheck(RawCodeCoverageData $dat $unintentionallyCoveredUnits = $this->processUnintentionallyCoveredUnits($unintentionallyCoveredUnits); - if ($unintentionallyCoveredUnits === []) { + if ($unintentionallyCoveredUnits !== []) { throw new UnintentionallyCoveredCodeException( $unintentionallyCoveredUnits, ); From 05c33d01a856f9f62488d144bafddc3d7b7a4ebb Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Thu, 3 Apr 2025 16:34:39 +0200 Subject: [PATCH 04/84] Prepare release --- ChangeLog-12.1.md | 4 ++-- src/Version.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ChangeLog-12.1.md b/ChangeLog-12.1.md index 057fa0087..a1cf709c8 100644 --- a/ChangeLog-12.1.md +++ b/ChangeLog-12.1.md @@ -2,7 +2,7 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. -## [12.1.2] - 2025-MM-DD +## [12.1.2] - 2025-04-03 ### Fixed @@ -20,6 +20,6 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt * `CacheWarmer::warmCache()` now returns the number of cache hits and cache misses -[12.1.2]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.1.1...main +[12.1.2]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.1.1...12.1.2 [12.1.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.1.0...12.1.1 [12.1.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.0.5...12.1.0 diff --git a/src/Version.php b/src/Version.php index 96baa00d4..431f8ab19 100644 --- a/src/Version.php +++ b/src/Version.php @@ -19,7 +19,7 @@ final class Version public static function id(): string { if (self::$version === '') { - self::$version = (new VersionId('12.1.1', dirname(__DIR__)))->asString(); + self::$version = (new VersionId('12.1.2', dirname(__DIR__)))->asString(); } return self::$version; From b967f2e7355ade91cf4bae8e45ebe95bf501f79e Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Thu, 3 Apr 2025 17:01:51 +0200 Subject: [PATCH 05/84] Update tools --- .phive/phars.xml | 6 +++--- tools/composer | Bin 3113123 -> 3114050 bytes tools/php-cs-fixer | Bin 3269064 -> 3271767 bytes tools/phpstan | Bin 23855075 -> 23880697 bytes 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.phive/phars.xml b/.phive/phars.xml index 4f2538b00..74f9caaea 100644 --- a/.phive/phars.xml +++ b/.phive/phars.xml @@ -1,6 +1,6 @@ - - - + + + diff --git a/tools/composer b/tools/composer index ff444073a7ae1d34a9757490bc302a59fd6c1933..ed11afda326aae87593352bc3f503ddadbce2902 100755 GIT binary patch delta 17850 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 twPn!2dXAKS=!IHE>r*(|Qve*qq30*?Ry diff --git a/tools/php-cs-fixer b/tools/php-cs-fixer index 789cb966549a12046ce877568b33b37ceec79bd0..621dda3464903e46ab86f1a7861a2f930cde2748 100755 GIT binary patch delta 16207 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 delta 14870 zcma)jcT`l@xBuKJTslJ=It;zTAcBaZUn3Wd+WE}A9ro;z31%u+2!2P->;q!P98lW)O;{k zY^(o`d^XoI>TVIhXm5*drtmx`T#(7~^E&Iug+A8giKQJmZDGk4+_vb>sGqtQqm$I} zj2=}dGwNvh4P#&n49=dJb&QQ#uXc=O^o3&rqcKkC<=@O?vRdJ65eZXUlTU6&WUG@OTX4k* zy{vVPV)sLwqZwW9+=0<+&g~erb7{}$H!jgkbq|$H78+vJk<0*wJ6uruZ5Nd8?%Ihh z@>I%X0dY%aRyx`cotGg|yP44Xu5v@N*42n{+v18+p15{p_u+2n&;@S&*!>@F82d0S z2B2JvF+T-vy0YVHHJ7fTO?FBnI!&WA62Aq-Bo79=qvE68QN%X)NT!pmzf5NJ&Z`w^ zc1NDwJhGUqYL5&?Ej{shu4hknzt=N`ZJc5(lbH?}V2#Fjv1cZLJ+pQT8_D`)YjWDd zicYlw6l}py5O=NMAHTlQej+({DZPjhysgwW`?X;-RLsHw%n)L8- zBxAf0b>-gZgxlWegb<%Dj9quwpqy~Cgb2Rgv^Y*~DaIlza=-_J_qR`Hrg{fobSL#i zlb-t~GY&t=WU@65CqkIW-F{ZICR5=mj)kX^=T`V(qTTbu)QIxO`Oyt|BI(#NuWLv9?Wgch;{?@$TI)bzWIg!FJ zOShUqvPw3)miXCXlL-?t)7y{<4-dk;k1O4Pskelhs;-z6sE z6b_=8D2&WnPQOHlf6V@*#gjN75a~RU&DMv=wVOm*QwFq*tRc zAkpn`_nLOd{d2n{=9IqeG1J~^WU|M(x3Ykn6KM=JB8}}^u?4CaO!B;#Ja&I8W;COT z9mXW=A5EvYN5+3%3g>@N&c)AQ#Hj7d#L>}5wfc3`UxLBz#kl@mEQ)QRXi zi)31?33WZCuu)G&EaXTu@StoYd6D#Wg$on3HWtJ3EVeDX_m6ACSe}5E&}CTJPQF1+ zXq*jOP#uT4`z@5A)E5M38@I_-kONi63X zW!f3xli9gHleZe4kDYTj1xkUWpqg%PP}qxwe6?{GsUcPW3>|j1rM1Bx0dh zkcjJVC-M^A6O(XG&qSt}2r#M`{bCbQr!sk8dO9=yuDyCNI=UCO^Iv;mHW&?f6t-r7q@gC0e5&^%qGR=R_)cIZ&h9DqHb3 zz9lYwFi05ypOfK+6Ug**T($qHLM`5f_)4Y!WFIVa7D-rl2PAc4dag~vDdAyKJhN*B z=$YO3x+%#R;6${^h9teOHG2^Y9e-(qx|XbWwkEea8cHwe>N^T^_22MDYIhPXJeJ}h zxrDvVIj^!4zu?=-epn?2^}~2<>WBILp&x2L3DRlPnaRa0;k3zCwA~(+je0rvfJA?A zx*E+qAiZtAsepRY-+|fiu|Hy2@?v9sU^*!XbSB#VB2D{Er50^4Vaf7jET>nJvAjAC zz?M320Ah5-0Q7*;L?%07YTg&j@FePQoS2A^Z~8GWoC6V8E_YhRfLl7$khZK=8B)g` z3RBS#1~JLgr@uiDs|TWI2M?(#?~rKh<}O|6Vf3CS9F9* zQCn%#05RYz4y72f6(>^=wbp~MVdsIaWgC+wl8T;Aq;#kenLfysEvy=ZiTPqsU#7Pe zgth$fyIqn{QZ+=R^L8q%#4+$xQhD)U1nup?m~|%sH0v6oCP4@Bq@_Qq+|)}DMmZ9# z&nbu{7g8iXi21r9IOB<_XmQ`v!AyzjRIKglq1gCRhhlHvIkY!ZN@FdPE%BN)nj9JB zNpxu#%${l3*du&pvf?rCUNcF$Gy@vDS!E@v5ly5iEs==`Nk`EW)3GO>PR9b|mVrIB zBm<#g3gzOouIwrR$dgtPm2qW;18UP@4YDoVm$tOu8ur`&9K#^xhU=6zl z&V5kWISs0SCrw(Za8?_-VQNWqLPG3HR)9enQkCVy>_3&2z+71(0%RVCr?FGOjUj4S zU_zUgLlJqRMivqc^L|(X<-wEI&r!LHeQhxM`?3-E*FeWEhI>S*){^=h3(_XXnhEKZ zgGQ~+LFc~68HCSAV!Y`{RKfy+Gd3b;6w92X5hC3YDX2wTgboSL#gI+O?aovVgXdmd z4osC40+)z%VTsC7Tx5YtIgG-`G6s{Xcnrey_!!)k3+;Bp zp3-kwqQVX}>78fBv@mz?j#X1&UZL5y$cM64%^CnElyO~g|1 zIt?mz%ImGH@xW|YInjuuPcSl(JeG$UL`uI!LoR%aI=M~ai8={&J3I-~oXS84_BQ?EOzKD3ke;wPZ>+-7fbU&11=l{9g09j{#j&JtDoSo`CzJVxUK;@=)0%BQ zITo6H6y`YjG!>2MRf4NCp@vQQL7&EY_PQAcq@cu@94@h9UcL$W7vZ+(0STMqKtiXR zR8B*XcuYeN6;4AB)$x0?>DVL&Psb5$-E=H{H>RVR9;Fz?{8Ch1U)qsH?R_bl)Okh> zllu_NZ{4TAz?Je~i;m5}@YsHb zK+VQ6xW{a?V8Lu;e|2^*7Qo@a{`dQ%NoGGA^1Q?VB$$(wInK z#|q<(S>{xisO3^DejWzLXg*5oJ0H2Po{yf(gVJL(y zK}y8CkPL?6(cfFrlIaQ?F&xGoDJ*@y@61-cH-uBi4VYP^iBm$a#HOWKVWysspJ8$& zx+mdwEOWN>wy{KEEl%Ve-K7H6&8$E`@2EfzzOTRmt>Ypb2ul{Bd50EdGr9c$9`Q3y zKZawL4cS)dKvEaGFsDvkj79MG#aIM&m8tA`MI}CeT#0q58)?s;&nAfYj&ODzyh;BC zoN7Z-7g<^K%+1e|fOwf}s#t>4#Ly+kVBZo}Gq?xJN_QP;)wWi`-XC=Cx$;vL5QPR@g8kx+(paBogw29Z8~QG-;+%q)Fc?twlF` zbi0nCo2JotwU;MulW4!~10%`dpO^sh5A{cwL-E*}d+;Ic>nGTf)zpTr`9W?je&Lyw zw;T;Ru^bcCVFgy|WFMK#aYnr_d9luptfgk8VugpgCK827bZBW$B{{MJ58;18S$jWh zQ4LvlgsrBFW-FD{e74e3+yEU+!b;-Gf$A(klT=qFsw>ZSAi^pyX{nP~#D|H$SH`QC zqgQey`ug0uCX%!YPaYG&l$MB4kzA-lCpOGc`iS`eK1qPE8V7$h-2eDXW*({Ery)bD ztm&Fvaz`;1YMHcZ^J=uOdz4JpBW~pu(zx7?9A2ZQRXgQQ>czIGphUmZU;D%)9a>{a zOZUk=MJ0#*+BKQXwco=`A2YJk_y0=zdAHnA-3j%{k?7+K=O2KPC;@nwkVR{;^LqlX zmxUAelg2ZWmNxV`QHtdDT0FvKLApee{e6kWc@2@|gLX!=utI4jdZQ0X+&VP(Cm12} z^HjtBHKb*)+)11ZM@-4whwJc5REH|W>HI3ps0&qiNcLZkEunBdCd#Sxh->d3@bG*V zVD;0AhAd{{?G2Xn@hQ2p`Y@DEDUK3#`fkAEf8S0!Dt8vGcq4cC5wm#sk0V%4oc<9f zZ`Tc2Uq@}g`dYUEEg>-F4NCrF!oS=MkAbX(VJJ(YG5w!jCWRZ5nD-X}=9YN0xG)b& zs-4}SbWkq@j7X|U)X;DANJt|MxxK-Pw$#I?{o5QXnLqVX#~?6sBzk+GhaNHqd$Re@ zmUME9Di7L&Mxk{CZX~J+AUaA_kdmaKe5M_7CC+-n$J8?#FG|4?1i|g%)qe zW^-*j!o;l_T~bhu^RCp&7Vmv{l1$s_N$ynRB>HzXo=OS;wDX@eI*=n5QQ^kVazpxU z6BL08j0!2=fqc*Jz(Q_OgQ1@W)o9&@L%UflJ5-yIMK$g$$gkjq-+jeQmIz=5xnASN zf*{ml<=G8DU)lBd8Blp7JIzRbEq?HtU(1nRi>BKC2RCF$k!zcr2Y!ar)fYh6Cj1NjeMomja=yka~lb-(vM-AOhY^4)8-M`(PpnWk>#b<$6}h{3fd}U7ZbXXf9&FHWp~Uo=m-qp4!jGyi$wivK zQ)xr$_b3_D6MK@?6GIX45*@O$vjJOLcLl21XGeS^(QjfO++o#B5?Odn?jhddCHK4@ z4RGFza4*`62aATiIB2*+So4;|U*if}(`gswTG0cZN)R8t50hEHuctZ!x~G(T5=|*O z+6zjOhDh>yUWKH%!7Fg;e*AV~36AYO{?~`Z@}3`xTL)Qi&1R31sCQ}TyM+*) z!Mqzt^v;dX3t1nd)~qvc;^f?tm*>ETt-OnR?^AFXEbgLTiN z2+lQdZ`}5nFJu#Z96Sc!?vFY#HJgtj7~%mmSBq!2VQPIoBGNvSlm;|rt=v`p784~$ zqTZ=jRFFn?LMX#j5ybVUO+kW=WA9EqNovg92rpx!6lnHv&LVry7+68-(?Bz}Ns z0mII`x^;tOKGV?Aa{-$VxM!!G!U)x$LX=saMwAUY-HV}OFW|Ly(~(9d=6ZuEO)F4Z zsy_u|CQ0;O!ra;9&FL_vfPVvilGzPa?5Bw7RgyrWJ8eLgH{gl>KtmMcJJK1tn(%Z2 z<7;~c)o*(Sr_qVv-!uDK^6|BHXK)@J z*csyT&}UsN!vF>c*=bY2c=in zvi6XIKQ*M}qBq^TQmI~Mqfm-PSa`_#-!hov4}l}k2=IK8xGTY)rcfHg@F&!|@u3z$c#N5Pu$-IeWcFRp%{NW~w>3R#NW9fH5uV{GzPJegINZl$zZo9E`xo{h& zyHH5~l`ntzlR;ft5PQd;Ef{kL2f4aC=peHu4BHJzz$+X6jECU>6{={$`0j1Oh$+2g zvJQ^!!+>HXO@9t&wj&4}a_0}kviF}jA!YxW%A7C& zWEu{>@+$*D@Lgl-_Dty@9+KuS2!#1v1i|3D__Ny{s7Y^6CkHdn1m86wO?SPSNrv~@ zsBc0wlTa+t#^U3PCBM=~XXO6klR?OC={;;I*YBY{3){VAcsUXsvpu>4Gj#1!BVzs( zdqmh%)NJ}w3~wkb{A9c7F$KtokNL72_;g$Ib2HN|BT!*NKL@~1r5`x^#DCf{wq^g|w%`6iKiYr5=gA)stn>r2 zzxDwQ(tgDCqd(&F?H|!4Pd=j9{lLFae6gEUeb6q`!7nTxT;QZn$e`{MGBEy(Sdo4R zC6DL+LKgkwMNhN>A0Fd7)_+D3cRxokRh_=z&g?JknD?*4x@ zL|*DEunkMc39TgtOE(Ls;|^GN&ZMFPdH%(Nx(Nb)qIm>Q8;mA5GesO+;rH{C$d8r^ z$cQ!w0`n5Jl=CO4a)H@TSIYUTCb`gxska5@kjY2heWG;=K|@!CLBF)X0f+Wc2tkrY zbeck7w$VKbf#H_6C>f!R(QRGhQI zfIsPCAh3!`%MAnuEqcs=>ufA?>0Lx2gef-R>ysTK=kws}D|^GQLJfsLwz$}kE4KUV zA1@3AmUh(Jh%Zht64;zcw|xEMqY?LEcVmGS14@krY{OlluIzaCYC5el7JTUBt}1)6 z8voG=4L1?k2QXT0BCyecHhp~(X)3VlMoUcvmdEshsgTVyj5ZTkt)&%a0{++}{WBPA zqaim?1e}oV#lBdhXqdUc4t#W>IoJ7)xqt&r3bYDg(XP8R(?|%Q2M58f_D~t6P!?MV zc;q?&Yi{hE7(>@M2#)krJC)1V4nrN(JOpWK?(pSmfq|S}SMxAAS#p#{09fj>v;U;) z?F3J19u5EQq=`GB+EQRgeEPvsV3nUHSaFkAS_$k3Mw_jKVGM^}u&Fs^fjzx#3w+ew z6z;UjT42?c{%kF<@s$cT0xQh4myN&*DP3*DIX?UPs;#YnDf=JDi};lfjA@cFSXgKy zSkc=-@T=}#?!e2oLNE1a=(FIL9Er}GENrIc4j_JAB9w%id|kdqU`3kl(Fpj@5)MM+ zsCnu55^bK^TVbn?<9sAqKcwj+O|cVLHKxn$`1U3{4j`Sqz=lCuWY5j1x91*LIq*Mv zIB=9KaS&KVqBk5kA5TXin8BsLqtIR*#k;OV_qY1<4PECbuu@E~I&xkvPCR<)U;kL| zB;dbhl>V`$U;Nqj%UlIJI^9XIT;`)PpwoR+CgL-0ey}r7+A+>t+r7>_GhaD#TpeJ;E%ymJxQFiT@y`IBj`+%tz=c^W@=&=}x(VGk27TxWH&f8qkH;+DkE5`{ zPrxsPm%(AR2U^F#LEn~c_Y+L0xxZk?cKP`W__g3PpzF-MkA*Of+0sS+f{tbSF4#FW zR#w4W{dK1Wt#P+AqS`d2QVin_%_4x;kJJDja_PI#qqz#{mk%y<`YgF8Z3*Co;#~l@ z-8WER=M0(@$elSmkVo-sAa{!x#61=jB)F@u^6z~To%n4?2+a)=*w{rYg1Gn32XQ|d z1anZv2SWfafjv?Qk*Lx3%ARyeu)qdhx;9v7%}hQIhm4I&T;I?y5rRE6>!I`)sUo~>-d+vSZmycTPtxN;+-1U9^<@2_1p(94+?j(%5q6 z1iB;HKD6xD+4gWb=zpEkM1Qf!Y2wHvk0EIu zLjyeg0{SN=B>DRVbc;*q=|44fm|w^CF|q!B-sAmKhlTnYM{9jU|M#V^&^>huEX55} zf6K{V|KOI>OM#}ZvbHz&%F8SoJ~C_kkT9xka2_WD^( zPH#R@+dIx#bkc3-)$*b3Xl;8tO_Exrb{vAwH`?miZ*)qmIMdZLgPjPQmv z%iL6DO>u5;Y4uHU?)j7Hz=Q5qDi$|=)?|+*BK=^%{{irYIBar0ZvR+S>v)yvFAa8(&cDAB# ziSJN<(CzSdo_4h5fQ!n^m_xc~+=MKDTI=cMPHTocS{e?YFm7B{eo+EdS2){u%+1#N znE4HV^*3F-0yz(=p^+Wv4 z=&kQOjA^@X94+X!gIXKfXN@2H*7AeB6-`g{wV_dy;Xe!=Z)a~o3qQIjl@Ovrupd;)BJZvdVkIT z-0|bH{g!s49 zhm8uZx1lZ%?IURYRj_4|iznE3z{QZ(Tyim^YpR1y^^>Ltcal@xXnSLNrmJ@d{WK%E z8!Z?RXska!GuS|`@*18wW(*yhd%w~|FM?7)d#C- zOJ83XnqTQ+Lc1RiY^~qu8`Af%A>h)tXi|}{{_S5OuLMehL+zFoo10VLhat}T!4E?& z*HPW3P!GE9v$LCi%BD~+Y}&dE|kr;H9T*3Z!Ec9&U#IT>2N5n0)p6UG#23-Yt*=#F8X^~Ykv mzTN74sqg;s&M6Ca=SOb0f4gk#Z|4r(d;x=jtb3=^R>P0Sw;Se7uB&rJqbgc5J*LjWl)FpL zci=#Akm3YPm%0denEp0bcM^XOP-FWq>W<=XsZLh`d)A3Dg7MmiIx1D+__g_Lv7ThF zT&Qcza;k^vD|vP5veOMq%rxutRVqHur#gr)Mkij3U!#Ngp6Rp@fBV&q5O7%CC;>Ou zZ6e^4x{(6b(?yuBi~Tq1))&t!bejt3sA(o(Z%u0fi!@KpJPyh4fU0;dS+tz z?bIsOb++M5Q-J!623GB(5o#~8L3BZ7gFX8AL8l}f`9 z<(#3FK>NrLr59$@T5es4tK@LdWrGAI*Ql-N^rum{yvqz5IXrj$!3bbMJ=t$k9l<{i zFU5`Br6d`Lh!Km7o5Ch|bIa=3tBzg zDpkT%`^m~JBRkf2{(70kYx4~?XX*%ol=tRnI2|p}pqK?tbH^fF48IQS=&-!kHO1Gm znRxK0rAqbU%9w7TOAW+>z6L7QZkx5P%4SP{`4p{_!_grRlDGmW3FZ!pqm`Z@&&LXv zH`EFheXCVV@%*h7F1NmQOM&%>yGoV5BKnJxqP14~+1e^wtldP%OV&vOhS~{|6hvu26R3`guIxAltf>vBAG&JN|H`p0xS?m}k zuLz%j36>+9D#fn$Y=K#!jb;;h z*_E!S9M@dYa;)82h!Kqd*A0)@;mXBiF^d&*_Odk+Jo=_V4ivdXimq?!s#Ir=*(NG- zthEyEu3-ne6`E?M!&5FVXLr=HJ_J|0`wK>#aBnU~o7$;VN1K^mP(l}4E9X27l@Jdb z(ILhIIkLz@gdgRG2Rgbrpl7!ePt8^?CgFfMPZacUPh{;@&sGA#J5Q8Qh!=XT30~N~ z&kNfnZ*=Iby&H-C+1~91Jnr2|P*w;E;+DF}Pgw#J#rf(hkv>+UL57C;<7Uhe6vTVg zWmV%!oi+OKlrOl*2hI7351L!BFHS$+7oV5=qS+hy;ktVJbr4uT0b5(E&si%HPREje zPOHmYe@=stNV@;b4^_7SJm{{6?)qFfoHBOdmo!ItA%z|ez4nJ#fUuG7vU=8Hh8{5N z;V-Y(aLp0Ja(+p3lV5`2aP8qRe)y3_LJ)kpvagO3>5ofxgrSuK=iR7noa%2UnDv7{ z>hTMIl+H6Jl}g`qYMe67*G1_Y;3PUt4nUhd9ne}3avgLdsgjL`r8=|90fjb7LLiz) z&p?z-ejv*3Y9RW`z@UBt)1sghf#C&UaJ|`buTtF3TGWrL{N^ai8_oNR=ix1S2)Lp} zqTpE>Sd>fC!dt@L5}FE0Ickz1f8quo5svA?lyFpp-@`FY_!^FpX%dW{@_Kkn;Ya#K zX_R3RHUh095FY)L?FkXGpn(;Pjk!GTqLDJsR zvagVlNh@@tNv%-o?SXKY^g(IpeW8b3PV{hi|DRElm6RbiN_<;ArM#UXOITg1VN+L?nzO31LLJRX(*LKe z(Pc%n!PRbpdEahIDh1nbq||F;EI%iQ%i(#$8POmR$SpR5|4Kds{>zFIjNrBuH`=0o zTm>_KFh(aG-8%4O$*9$7FGThKs6l*<*eZF>qgr?=<5Mj)wwi{Qr;rf}{9v#b;_T2@4 zpO~vud#&dl2mZRS!ZT@3ruS?SA%~lx#GZQ?M1KL%SY`Ml6~X`B!H zx)##0BNVhM;xI|@jYrRvO0XSn2h8>`^6jp0yIu!%#6v2oUQFPe5%;2k8X$ zoR_4OPq$T~dg!x+`lWhoYZI6w7FAujmw<_QMCSxCbV+9ngtt2P5OaiCt5j9CoGl+?WIAEhh_HbfREeg#w(HNGLNnO$J-|mXN2LWYy z<3FTRZv%Edy3mwGMHgCYKA<~M=5|BVxz!EX<=-8JJBi@w?ie~;dUO{Ajq4FA;Km-f z%e>vAks((bFK}v2&sQr&t~ShnD##(BCkBv-!1sZxzc?WKk`0uco`C|xww}1P$%m2l zt?ieIAQS-|vij;W!;&-yxsqHShi?a7TPvap^k7rc3O$vgUN}JqXf@7$lp>rgAAg}2 z2JF|pV#P#Jy;}*@aDMriybSCQ%WI zy#$6;iI}f^NJRS!Pr|S_Hwm|o-@p&GYyR8Mkey;&GV6n4>)i(f$`hDkMq76Sn8J-6 zC`&VB&WF+*HT&T)x9d-R(4n^Li_B+z`-yo!^hKs8^cx_g{~Ppw6Hqb&k~ml8c0Wu9 zKlQ^PAJM;!=u`mw>}u-xEAi8bUD%vvqFm^Y+-eFM`7~$FToKPh`WP%t#!TKN83RUE zGER9S8GU;-ENxo+)O8|od>dfE8RVt;3_|6E4^2Urur~#@$aDZQCUF4TYCge=0ca}q z!T+wYNc#mC<;s%#m)dEZ$hk}zh{8HM5O)lwgOHx&L2czVRQKS}tn8eDu#$5_OqCmh z+&Q0?4o0>m3`VP3GZ;6|p9uCEk|66+SmAKj*ys^T=v>&!4DpjkW1_F+aJT35b4o=h zZ?I58v|d68y|ldqU&A59et9zHBzN~ggAA2hS~t-y4UH4+Kfy{SG+4A%$?GjTu+5j# zf;9gSr?wA8&U_h)_LPv?N;ZPTo!btFCuaL(fOhbaCM@%8p{G0_oxYaCdJRjteYmlN zlZCGGOyrrC!(BHvwi8Jqki-%;m3nEa$mgsYMoK#jIoTl%b#h4>QgSm5v(pAZ;rP`% zKMRgav8=QrWc2nDoJXi@w7J#XT(@{mL&eMHw4!By5@sB6z4RtJKN>|f#6eu zeq-@@>R6nojQ)N`fBTQa_B4VU$6>!0^mo8`Y)>b+iQtRz*e`Gb!i)*nZwvihNibw0 zKF=b!jbIhQkV!ax#3WqDwn^B(ivAAH#=kSOvEMfOyNY1QWEwx2#!sg41Vg6K`~cMr{f-W*K~A7ni>6s zgon<+n6Y_AqWIfjCMJY?VFjIb>{u?`^rmSB%G8F`SKI;3K3r6Vi6S& z&Fw2>GzkJxU~=vpW!fA!HYu*uRda+U_nn8Ey=n81XQ$^OuL9-|5IkBkA4?7!!D0N~ z@n&lg+Kc8HDlWNBqC;dZ`m#B>m``2LMf-0DQ~vs``wkJU`sEt2thH&nY<^GJb-kdu zCoD)3)RjQjI&O7h1a+Bf(=;r*2gIXZ@R&z7--Q@e(->VZ*{GxiNWU4rAv`^;14B z3>D-AF2YX37NP9-E>}*L6wE8~!5(j|H!l$} zuVAS@i*hUU)7&8L8!tn7{s0j_*y!RnQTFS%R8N_*%tdgfXc=ZqFPAkHfBP+OA(yyf zIOTAQaq@YgH3ci7bl_X)AZJjV=P)t(VuBK~##xD4ZNNH)6dGz?kbC&J9LXC8M%HEP zPs7A^jZd7j+K?Fqmg>p-v8R^9i(j5M5kliVT$jph>S&+3qF_6zDXP(#6=?lt4C(F1 zP=ZAa<#UH&a1L3Cwlj4l7QttDsZ^QIZe1trX6%e#sjT@xRO+w7El?T!{VK40xhQjd zW%^3`Dy$tQ!Jfr?U1CYCtR~khbd$45OdPJ8X`F(#zEqFp%uBP?4230g&9_^Pa__ww zgYZ|FB;@U^P_Z|ix@AYEq)NC1V%;N(JFT@k^GLJTZ!MHpCm!fIQbnAlU9 zyupDL^#ZpL-#g7i*;a(R%3Ve1#Vw1`gAFh4F9y*6XpDO9hsi zU%?@A8Rh?k-s$d7s79{qa1|-*Fwf404D9p=pHmz?OH=aoS>)CNE6rb+1S{XxVVSH9 zx)nUz)>1Jmbx;9NYIC03frB-(}RF}b?29+|BHn)Am^NaDShFD!J@M3S>fFTrf= zU(nMYwGpg8ObP%5?uvGZ#J4V3WhdIEp@?YMK_xP7Gf z+x6$60_OglD&Rjqj}|cFmrMaGeiM9!#chAZic#|( zDpkW+B~JOgIe-m6UD8AoMh0WPYm68$`i9BhB_AO)K_dfVsIhOqRb0?rAynU)FFm z*DWq`-4&zLY~*T)Z+wHq;jzZgqlC45Td%Jy-e)JK*toBoVD1r6PmLS({Nn&}z1cy`SAIB%-2HSAt-a47T02 z7!|*eUp>D;-$*!vZ~){HVZB z^M+h*+;8an@_$2DTMgT}+lL0O2X?wB#=koYRtEi!to#Bg-p0RU4l7yZ4lE%ht)8w2 zvgz9IXw`1VP<+~BnC4vo1u{Q${G_l}7@%Ph&q^F+ql+jz4l4@B>B3~L%rzNm)mm~J z{f?uB>_3iNs6LMVrsE0ZPW}nx^4Al{g?1+q=AA_D-a3gczQL(}LT+s#dC<{#-xAi( zxuBGvauRE+IE7h|&uN4ir%?`vPA7JOMK}*Q&ygkW~Gs+D4cQz)%L&{ zWV-QLoIdevM=^LZFs$(OpW*`%)}j+%ft?z^ZI?iCS1xo`nbZJ%90{`p@-1QRY| zj}18#e3e~UMY_hm$!bQw3_i!LL9=PzT&>7X%n&J0p1hF5$91&yxw z3pnsfpn%F19C+*sZhgL7!Id=mD?qes{|al({X#QHb9(%9bkt8EKmI>Q_;1w6fx#Uz zMh_mDk&+%9J#u8qg!Y5evj&gkn?NscReT(WhpScvD`kHL34}NPLY;QIO1ga&6Yrm{ zBFpYy#e}O0Ttmx6Y3CH5Ye-3tYkmU3^lO-A9KRN7%V%(gD*6s~KCy-}H=vBY?p@+0 zx2TUaaQNDF_6a5WdVr8`H(;M?`GhaZgzJcN-F003jq8{b@&n;#kx@S?J~uG^-vJ|L zZCt7-RrhR_sW+Sin$w^r@m51lC<`lG*d6^6LwPO6KrM&Y<}dSB?%nW{?~O(>IBZnf z%}jB)=`B{$`ev-aV+Y8`e%^ObS#uNB=h02ncN2T4Wxl<3QVG9>`Z4(y>cyE`n0#D^ z?aZt!qe)7=+vuL0VJrIk$VQP$)!#-Gi3H zKGPmm0|CCu?K>`lszqR1?Q~bPRP-xQDLYo663(o^YWr9w%Wu7dMCP5BA-yOuFYM=lI}54mYM>DOYyfL%r|O4Xzu^nEn;U zHxje?-Vc*|cw=u4-_+UuQ6RteDc?$2b6-zPI|^vIly0Z5Y`c$Ua{E56+2#Qf-Tgr$ zc{7NMQ^Mi>W;gwn)eo@qi3eh?r4P}#TRp_9K)oR(w(NAPtupH&T6_7!Fe{FL7fR}N z9~4ugxz5U>ht@1%LxG|E52gxQ4krbyn4^S03Kr|ge1wE-euU<9`w?n}^W%o1z58Qy z04p9N5!W8$0?ePFUB^AalH{rXbqQBNY#rB_{qUUlM;s zUP(Nt#J^`$VwgQ$iE`1c3Y8C2p_s$hL-yTL+Eq0Ys*we!jhE+5`Bj-)6(k;b!kxv) zxm`CZN2<_?ysE+thdVf=$myXWbE1Z$Vk0^@S4>K5O&Wqp5qkhosFXX$5kMk|4&Z=AN+%vT9Xf`8Rp=nn{Qs; zPN{ll!&)?ki$RG^Q2v`gpxj@6Ko{2ZBho(hBkJnmkGMsv`w4Y9jv)KgUCdPZ3D@lP z8OcofjJmx2Gxq=V8S#aELDx9<3+mOeFNoKm8hO;I8bj0A15kT$IJZJsQjG|%S9h{A z!>yc_!}&eltgSKXVCCXB2j-+#U}LuzJSx|84#&@G)W4>S7w@vXAIN{}S3N=T-mjQG z_H6`y?eutmn8{NK{^l+e?-~TJBNrAoV^ST-lLhLfg=q{(I}UwI=i`?LNg|LeA1}q( z4WrDQ!>yCcC)UjBCkT64r@&0!PqcGrJ?qCk%t4Z{CVLwK%%7)9?y@vV5{kt(NfK67 z-$2mF{Ns-jCaI-n!k_7YxEoIPY*jNu6rTae*04&QG&fBnObOU(wUorEWFOShQ1N46 z9Vu1(IA2HVFMfpT&<~~N$2%QK>WM|K4T2fEx>mF8sgf1z zYc5%`YX*{`Xln$!sgLz`>a%DUXuD-7$xL5&gOz3>`dk)jC|5!v0vEsf6i%FGwo>PMntb-Ey{>OL}a- zVY;#AGb%B2k!gI2ED5`21v1T?1YN8i%+afv*;BCH$BYJ~nh`g)o6*{X*tu) zCE;|~*_tP^g(Q+P*587Lmsk+Or!`MPEhQ1Y*+5H4_#(E-QbK3q2z8dHFJ^UO7kxlP zL#)%?H0@|5_Et1$Un>byiBpgcw9yPd!K8HP{KW%!m$kFVKr;nG4!5XtR+8|*Oy61( zK92RarkQiCC6Vc~gVxmNqczDq(uQn1$A;E@#zw+I6fb+9*md?E%W2M)%SO^L(@7h= zS+cE!hurz#Rcx0WEJE_3g8@t4Qe>m~69#gMHrtXXS>FOKg_uTuWx>YZVbWtC*B4o6 zA~3mQ&FyH#Q|ySg-|R@~jO``im03r7>a)mR!ZT72&>SDn2J6^eBTy&@DNu+t#DQ!l z(}BeQ0JfRysvq5AA!bN|0gIZp!9uebQ)KoII*Or99clKdH9vlLq$YhQa(|1!@IT(o zt;<5{0kZCv8+3<#F|*xPCWQgv z2Zl*zZ0hS$3sKI`BgMJkE{V*AX*?v{CS8T)=7+1dBEr!g67Ewb!-bxCI;9!NWDtZY zOK4PNshLaCxa~m}AbXNcBzsDjspWv71*}zFW~Q8h<(`sAci2r&@^AIL$ViU?QMXm0 zd2CuBbe!QOVVbrArnv5Q&xb#@V^wZaUAAp|k&cERnR4Yn=_QHmmzj7=&E(6J({uQ2 z!h=q%mp56W;w`n1w^1{PO)nm5fm%A;8)Wp&TQZl6U~j@B4u^}oXpb^CA5x(sFx~Zq zt-kOlt}Mq#GPS!3#Yf(mL&r0(n%0CJHUD?M0A_*(1xg~rWnZC>oYM){!{L*P_X(_N z5Gfaf9P3j3CCgBOQ|;1SSVCh-r{*#s+aE+ER0WZR1_e{1Fe{j%(S=|MuXuHWO{vwk zlzMz|cC4ZSsN~nUB2Ud}QpwRF65gSC4Jp8(eT7Gu)E+wCnpET?p8)T`m4?F~Hhy`D zE8N!;vWCstB8wFbfT(7e!?Ki6V(ZpW39FfNL4Bq=7W;lTb6|bRSBSP(eW{1|vAw<| zvVUgSfSA+2fz(Gd9c& zSZXgnrKNCqVZyAfA~dj^a7f>7ho^gKDxrSGE%ZZUN?h865yHGM@)8wcQlcOuyorQY z2PXh;_YFOSi3{`gPIuLK5?gOHq0UX3N`V=;89> zaM=N+EBn?D+WU?vs>iaLOFCkXam|T`C!0%nJ97_^@y}3u9oCr(J|H3;ZcYKMoEyVi zNO(nIEJVuFBkX=)ojXV#>_Y2wKg|_#^e*9Kebz8*<3SlGYFUe6cUw3q#@BGEp*$Y> zqvi0>dFyj5r9Mnr*#**s@;OD`vN!TX%c0V=;2^F(JZXcUe4m;){PXzpY_=#EhMrnd zw%V%M&pNk-QB$TC)z{dO>Sjif36w+DF*dgexJ+&< zlYP?tkDHhy>mQTuDR09>P0QhhZ;t6GvU#hE>S_3kMqCJ`ElEATwxr4GK}*b#l*#OM zQ%a~d zZI?&bF2sAjE%IzdJ2Lcc?TGCUfz&(u8v66KJF_$GBvC$LAKFPBp0d3&ph}A;GTgsm;zgTwYuEOKTQ zcJXz^J(CltV_FW^tdf7gHJY?5@{&)IDRB58asuqvT7qYoAH5+!a}AqVi&&D>yjb#u zH)F{g1$3e(Q#+AXXd!FO_%`b0cPc2B@VS%ZCFuMWu+|G*8;*1?YP!Kkc0{$&a#($O z&3tSM4^Q`zSEEg7Ib1h=(mFJpjCScVOK+R*u4zs*I>(b7ioh#vd3fY+z78i=)CD-Z zCZ1$@BAztu5)gTA!a0VjyK*eJK?7tFOG}V?2^V!NK}r+^Uj=(y`o3NwONar^EErtm zD^DVRa#-GZ7Gu%e1O!!?LpHc+#*x~d?@XS+wF||AiCu_cXW@xJp8|uaJY8bypybR zFIeKKnMMBc57flrPWyr8?7{$Onv}31SW}38jK%dN@0#C}xcsUoak+gjvhFp#D0KM3 zpayqU_i#ff_m;fGa+>reGg{o6Iu=7>x1~~5gx+_5&;~yil1P?$6qf3id~^mfMyPea zM9Et)?K6}Q5`X!;kSnMII~2SjM4m`1=WzY(9r`?MQS##)18jPXYR@8)NGFygk?y@n zB8zLS)Q=A#lzd)L?>&~SE?u0*1Rvd!938?-jTu8 z$iv-zX|MmPZw=v{lQt@4oXNW$6$$yhx`W zq)?V0IDn)+WdJ=nK0p$cRpv5~yz}sZR5{o)kanqW22w&5K1ixBCL9dg^nw}wR(!W* z$9m4$V5aFqyWvfPD55+bB!$Rx&SMbZuw(VP!OUkcrPRF#OL)#T1)R^fpQcvhUS*FS zL|sd$yYX1XVfL4O^I6p(nC47Ux{0P3wun5m8V{+dq79+#{K6rm+Bb*L=EF@(PqMV6 z8V9tLQ*8Euv;VgRrhEhH!sKBPdHTI5)zi$REo;l6#Gl-ulBig-(?f|rcB$kL3p~K& z>(>8@ySt4;AQ4)WD%l7bhR;IMslG5iovJ{4(y4QG&5!8e^kmj>$XKUP z5aCdFz)uU<#o>}TqFs?eVyd4Z;T5mHz@vwnUJGW~85E({XGnPX(Fn9Uuv5$HtTKbB zb;%?pNX#T6^D>FZ6PdIH`jSag1Z7cmXLuHkD$OGLpJqw;7SxZBQh&Oj$zpOgBymlm zN~|?&smPc-f>vERg31hcM$mBAky5D8*J;4huTf>^S6#gkKJ*4SA)YJhm5~cQzvj`QCX6MXa{UO@RDhp*_6Tvl!UUR~0aU{LlCaRINBTf$*p&k~TG&NS<}> zL~1%Sk;u@WBsGwGP$cAV=j0~8u;R&*HGAH=#F^zxq6iQOB=qXMdjz{U3K+X?l4L6^ zw|o*6!Zq2nspltnTNb>&g1VQSE!m5Xlc8Pw*qu#Vil^CBL-7XG{eQMPgd?IR(}=#4 zX~fFOMD@+dv>@{-#NfCo*1`rXdvZ8q#lvjStydt&UqskAb64!Lo6FpI@2J(F4SbjWr3=12x&LBn#WI+S1Y z<3bJ@QhV+n4|UAI5%s3gh_Go=upB}gbq?EWoQH`%#tnlq24`mc0#k9}7EPm)B1hzM zWXxyL$vRYY+JPZN%i*`k+nzW{z;v3V>2xA1eY)gj`sJCxsO9jtEE5(z9d;lGYx!k&?xaLvy4o z!H0$*j!7eRhOx+9Qe)6ijF_Q3Rg}1Yb#3$ z)3spn>!G9(Ri5v_UMwUV(_bV_7ef{;qG`V^l17TL8)5A7O>34hv(q{jEN?MwzOrB~ zul|(Uv4mWhJK;dS8GE%a-W? zLtuM;IdfRmY$=qOMH(e=E`?kzXUVW)_PRZ+ zEMys-aV}aWEf*cVmrGN`kCNrmT=Ap+3c_)4g*00{X~(1m;>Q&x%@RNQt)!;ME2W8I zo(;f-YnF9iusclZ!t&m)_pUwcc(ICvn6g@$B!=HvO}u*uD>>jg|11h9p#W-;{l2Vs z)Odj_;wwD)1D)hHT|+pwtRW%0=93_n^}KKPYNWhScgBTOsm`9!r7fXF17-Q!luvGdulpj7-Sa; ziRZ0~hy`bgq>19VID5QG~+BzPZvv* z#f-Zqfs*Q+G-RDuYb@A}IZ`MNseZiPNE1s=cF$S~Z!TBBB172l2emrl!O9PTyH0qi zuFDqvC}{+PSN_a6vR? z$x6NvyoUfPn_RYDhvm&_Y@(Tm8(nr{9bpRWrc%wdi7&0S8QiOvttXM$mq@8%$}iw% ztbTlOn7y9;9d38cdQ8XJrxIzH=vWr0Qc2p&s#-|}u?r=T=9F(-FKg1MR&~8pN*8PF zuz^(K;09@tcoJVmQy(gmMhJ}j_1hm#{C1jcpZnd^W^D0B$wUk(+DJp>O@wypCTX-7 z+Zb4XPG>>gT22MAsLix3&jY*_j=Mjzi_g>+EUiomV%s)L=3*SblhkEQ#~1&RP~my^ zBv5bXEhHk}EmFGZp9w0s)yV2&?L5IOXGe)Xd%i`o6CLUUA*qWDPP5mCq>e0Ut0W83 zGqy^DMf>GuP>MZiIE+op1O;Dn7!*9YINzF;zr6})kK1UzX4^;{?R{WZckrnVi_Qbu za}G#N3MZfMC20)6wFk9A8Jt1=g0LR7g2eiNUlcK+mg2e~0`4YVBo7S~-{>ykZK&e`=1HQmU^QBcx2ff}}iG%zMOA)ZlwgACc;_FAwr<g z4R?TFcXn@W#ik8WTdeqv67ulhq`rdh`M*gi;)nD*S$!#FiYpJUg;L;H&~Wgma6mCV z-;$m9osQ0L|4!F|l7QvihWr}M4(CG8f z3=UY%9*3QI+~39K@@6NYC0Y*6`=pjIvu1!T53Jf3(O zB2)R9Vm*h!8KYw}GqZU5xZVwC;BZVxX*|0-47wJbqOHI_2*5p`Chuae&Eav?DalQ& zt|{<#$*d;d*b;kq9CBLn7muq!WiE7a8;x?wIW75!$F{-1EF1q}?Cv!X7d(d72+kDC zay2oN!=j6AE5DNzcFHR=WI<U7tYf5V-Z}Zd9ZYITXy@HWVhlHl%fJ2 z6dTyJg=`Y~X*q2C`}Scq*nBuPJ2rPonVHPr2jzV@?6k+xm@WALI=As0WmK_V;5bff z+krxUc^SCtdKdI{OGUAntP8B?V>vw2!u9083=lMkj&bKDQ^6&7NIQbO;4VOoa_auu z$-AQ1N~SAYS`K@C$TDCfJ^>~DA4uPIjL9!Ek|%>c^JzKkJY@8;TJ_-_jo2+#W+;zB z7HK)m{?ci#V6teg_@mfD-j4oP%i*QryQi~gCr~w5HCz|DT&%-3U671W=|HwNRr>;J z#v8N9RbZ*Uo=5_RmWd8fX#*M7px0wJmjVf2z)f;8IUIKL@V_iHXU>R%!+vkKhFt$Otn|Bv%V?Ao7T06R@_ zJclQHFB!+}#*3Z1S!^RqaC3*F=5T434R*Wn_V`1$ubN1JtWQsq-TIGk$-q$)B91Hx$ z>p{;TvmEnj(#=}eg6$cXDgUyC_W0%{?`m<|u|uHqV%}iLk3#$}*Qqsy0P)xwPD9-n z*-l6H#;q)~kzGh~92#FOD`O+BkjIP5R;hkA+7rW;ctif?^cM)^Wnr16+yFCPEr)Ts z(>K<(V|k$;XknV&o;4UPZ~O%XugJnOFZm8dBMvP)KY7VspM^LM?O28khAe0N)w(v! z%@(!W&^#f!TdVeMx(1CNKY9yfZXgEM^(s}6=3SNWqVY*+iQ0Xy;9tXH8?Q zO{)MloViXF5d(1Pp{HiSaR^0AL60eGe1nXusIf}5qN!UxDofT4ibEQZ>UEu<5Y&So zZo(DY@)O1SEPoCd{V-&zmP2bNzx z{-xW8|0m9bZM`Wuid7GVkm}fS6__rMzJiKvGeMJhC5j{9@Q-0S-n9hiv6Cku=%*2Z z9R4vi{ilDuEaw^=N8Tb+kij*!{1P$c|0xh1%-Ew_bm?st7~Gy=!7;4ezv%uSA zI!|38`1Ng4mxWpYu}QaSYxNg|=DHiQJTd0v-=>)J44loi(ig9}BY^~rQx$SY(zj1Y z8955yCo=)Z!WYTmml>HeYq@B`d!n1@49LrT4bT0*y6LfrcO-kk!6Co_gR7rF%PGqe z^4DV#<;5Ddx4hU`K1or6!#-oL&Oq{k*CxD^ncR_XFmkx(S^Ph23AeL-6_SY!MQSbB z1SgckLi@J&(1$}0bJq7sF?`Yvh~(`Y#tn~#%OO<|^Pn9M$h;j zoi!h@q@fkxpkn!&N65Q$1keo}@P>e6;mA%gNo6s_OD`gV!}%#*DQE|x-RWVmt2`RA zd`<+1K8M@8*P=CN&~C8eM+inEfLXi`hu8AczH^`~ssaR*QvoOb-{Mz84tS5M<13-- z)iERYe`mNgT@Bfndz5&2_`()-m%%#Ztsn}}=(C9X)L|pYxPA52Us#{3pbcsF=_2CP z`*f<*A6QrCz}JxP#CY#Mg{=@*mC83L4sN{j@b312qCl;us>v`gle`3*>u(DtRc9J%%EB;6uqqC|3;BkTT954#b%Oml-R1Rcv5- z9jjeh4*mM~WFZ!6OFoqu+q9+31l}Pg=J79F?>d@P_?>x*2_j#@CgdX+2p0y2y>srh z5%HCY_GXVHTS34dutm6({W6{1{TUZy#tyzH1~0Rr%tX!&LrBqx^DsB(kFT1qW`WQR;bI;ACqg?1r$seWcQ#pj%!%RBiO|N8TRsW z@`D^U)l`=K8<6=r@XAU!ICkyO?k||z6G|u?;G{b_{q8JudV=1_XJD;)Pbifd4)OE! z?lT?u5Kop}1(C&?PJ%gnbGSGYoAy3~rj5{>^O3`=!;B5T{6MU!5j(E&;3tg@=uNIpUB9ICpmn^@a!#(-q_jPcWA9r-53 zZw{H}=T&F~wd=A;&CKB2sJE~I<8*Quo04S74(C9aU#zEwW5X9v{y#q)!fYxzBMwK5 zSlJ1!yz&`EJ5Nx!tR($GEc7|0dVj+HNe_TLVjUQma2u-^$R?-yE2h9k4BUuG@qP&UA!vwdPcPERm<|ALg} z4rtt`Fxx?xe>$7s5)D|PKRB{7FXRJ<*1x~g`){ZGalrUr2Vf@-o9y+!&6d2ROu`C0 zMY~qh^UxvPHm<>)nF{g<2`szTZRFTu6Pecuxga>KY}vX4 z$L+x;zoIp}K_c(JwnZ7*#g|ubRrdE+WRIE9);q6y4_gKT>udwD6LE_HjrZ}x#v(f^KuM}{9MyX+XD8jt0=?gu=|4m7amwJxjP1u zTe1);Gc{s|4^xgVHe@*vd4%WSUn(5hYkN>vL#Z_IDz;ZJ|4a z9SR_Z!!$lZ;dkeM8BbIq1_o+szexp+W4x8}h?{f*;NO`po&i<4pdhag)F7|V~P#stDwJJ)EsV|{Q;7|T2+Yf2NyaJyc=)lu+geYJ?cHigu>oJA` zJN4P>_mZh7C~bOA_c8gu*74-zl{*|aUZ(bgRld9b@+n`u9Xt14vSlk%K$X5v^!^yz zxg4$M#CyoOpZ`NX|2N=nxY5RywcN$%v7nwxb@aihH|SFfxhJ{s2@LsFK6r06*%*iV zy4^=|>EeZcT~M?;njc$mgYsj^sbvQ8C5na|?)-4$A`;>71w3!WM{=0ejUn4Cz1owD z!h>xqgg`j!qa+K1+6NYATvRci6@R2jRwu%xJlicN{>8Ln9k>@p6LB~-Hlqc13U-`o znJpYzW-6u6zWcc@oY@XVV`Av?2r{3ztCnA4&%;8)Mt5CttY-i=PPMItEPVOXTpO?xJ(N=wQhlzd#Xb z^;fE8@{fXU9+|4CB~xb4zEVh72THFyLgoJdWEwDoDPW>{WTG5u`($jzdHq^}>v;mC z@Oe3mn|Ema{|g-wtYpv?{s~XsiNl%kOTS_ixu8~?FH>VZ<11)U`aMGfZv3ES(899w zp*VD#X67(^+-P^P0bHJ=4iU;+3F(Y!$h|3~n|#!QHLzDQrpUnI%Ns+R{5u~DmS{%) z_1c{gg>d}EeI?8YwTixF`tlV@200wQBNWOQ)Naml`hx*ZptW%L@@(R_?{I&s!EFd{ zgEmxaR`7g6;C5hfYBd(|zCz$%VE0!FdKZ}20bV;+<6B!lf^m*JII0@M;c2xxP%N_t zD7r`F-hl7W9a;r-&!{?TeAV$E=y1zjiLMPSx-7L0@n~BV94rS7JdFymK%@4A3x4zT z?Q#!Iz@b-G{8BvF{I^q9FUTLx z(kvWyDeTh?!+@YtV2Wf=tl$-Fz8(%wjhJ};znFAafC~?yOohX%6Y6AQX{%;BOPSux z({eZ>ZbdAQ`}juVK?vzT2bQry?emEmwC$I z;^I(>-Ym&LjY(Q7A1Frl3W!HiBD+B8$$I`!K{#*RpQZ{h)xUb$x>Vhmaci(AkD7sug{p?4o+Q=dF&DyHH#hj$O(r%^qP$kOM7HGcSc z>(T$R<7}rgW7D?H5iN%?CD&P$6VM5Avt+M~)cC5p4=mm8Hx(!g&$_Bi)g~;!SdEve z9=O4<^$Qz(=Qc%$;l{-3Fc|!0#PX`|1|Mt1+FhstaB0eI{*86NMuQFl!3 zt^!Nn{ELCf@;ZxJFKfv@wgPtVC2SnJAC|{Nd+VxeC$Y4P9XuY(S4Pmr z?S?}=n|}_YKNE}ap99%R5Cs+vTO1r2>_p^g$cZh$2{8D>dOHe0Iks|_zK)eS^!@oEk4j2^q4$IJ4LEXN9N z^PC^NUQg2nQYBCemSjaZR#~ah6C^;QzoA!)#_V;l+J;TC0zm~w=Id*Aftm3UM%HS) zNZQU?jW4K9vZkSD-C$4Y*YTVa+b)+>kaZ=;=t_&cn+!2%G z%eBppB{+i?8}?ssBu~W`O|=|$Xw~Ni+uj1O#W|~u*}h)u_2m<=`QVO$!|XZ*@i?1k zcLgMZwjgIUeT@Y~lXkX6J#Ik)i4}XC1*CuUZ>S&%# zXA-A5>~YUJ8|`JUi`v?@=2Q0WRI}vpuc6wof6*|*hM>yfsBo;*m83cma9Q=wOhC;$ z=%O~aZ#6VCb)bm-bXiBs;eq(OtB`WuiRC4&H_=degk`%Cv+jc1uX4ovX3(k`B} z&X#@fQCkaMnE8^?ckm^DFx^*;pF7#@OOBxu`iNEKfFm1hef}jXys00UaGW27^Vz_- z!42|PBEv;ny~*nhHG?q)VL$j0LvQ;L>8|z2e~$vvIyi<^qMaS8r#3Z-A0sq&AMDGx z=PazJ#)EHDkn=$u?Fbecpmv5ZyWW6>!2iihu%nj4)cZHe+4%+_c8-coow{CElL7kx zjwsomTt<<<8ozAw2;5R{i)$l9bY2ml##i5b1Bl3B0mSjr05zU;9(RBN-Y1&z?T-aB z^aHOE9{`*Kq!lvfdyzpPp`~_Qrg4B9!Q-8R58sdvo?GIG97t+uK z5tCwq)cEP9+#urpjc6#@n6Lft9q*q7k$!v)qA;=rlxV4aN@rdsvtj3hAp!*sTyHGL zgF15i;qc{GGiR;@Zmcj^Z7inU8cec(60FARLLw9-w+uPxiF_1@VnfK+^b1krca2tu z(6mOt-TP0SjnFI)g~Iv{q`qgQ=WVsG$~Nydq-kgUr3;NSPxSL5x=^YuxzrVVIVYy%p04%l*N=d%Q!q1iAo zY+D00ezfIS12vWo=7Iv7$Ne;fyF44#V_?36`~;nWmcwTqGw$+fU0AP(IWjB3jalN) zU}&Gl#Pf{Cqz3#&mtT(W`+>BtDJb}gPM}IRA>HN*{=6~Cgd@s*ec)$)+G)e?Gz3<4 z3R4>idG`rZ<2O!YMzm!?BVT9I3_wj23|ZVAMa3$RL5})?PTH z+z!vVW8g4!*wUeRHohxTjTfCKK$?CkUddvix;mDuDw5cJ3MP59CTIzt)`sni1UGYN zY?;064&6C64&xn;=`y#+bu8K9D9Wg}!?4_(!ryW2KeSYv)tuahZsYW&y%zgNN9 zvJ8II2iGQAs;$}7XxdXRhoaxA&&y5NU0V$tYP94Vj0t7-tRkB7q*5Qa&D;0yB-G0I zmTEZd-UX-lh8TOb91gxda(it%){?q_Uw0jAHinrU(G_?xk;sBGwhwdLmYN_@W zSN~4IV|8%jJvEp0Y?xU)5NK2@%Kze8ksal>B8@-ON?l*BzYICV;iLw?j$y^^AfKPw zS*>q3BsG1oD0=RK{UYZghffw6-az5^Z>@F~9zq8~%*Ztp!%?x;v?j&!0~UJx*}NZa z$!@n+<8{mo@c8`>>}$k5t_5>w2X5eb$6_aWFzp;T47MM$0IyF} z;k8eHTtQ~ljJII7+ECnI1;P9L?SgLXQyYpMxgh5G!DgdTmlE2l@e57qZPl@20k5F) z(O|3jVcZV`N*k7`4;z0qJm>4?a8+xw5van@jw-wi9>1Bj=O{0Th?Us0>~^H5@QGcR zmkVpfO9X6f2?fl&4y4T8+o)9UeOBn;y9>Y!b9N&}ZN{E8l$>Px7Y4K(-W$2~I$kUj zoqS_xtDXW5XT}-r0bZVR#3jy%QR7vLa8RY6T&s5A<)IqnxPki;qsH%s{{kBHK<5`% zeve$N!<^-IBvBuQwvVmfZ)bPo5qVu!*^wM9zs{O5&@YN71#m|(R_!2SPed#QkMcM; z=iQsT1#P?_R*kQ?=YYbET$H#CJ=N(>VBX(4KtZq@Wq2HR==$y-+$KW13kzynY`_va zkwPAUSWxC|2Z=Dha+T9bjTZphfJ_PQB4^QS)2me^B zIp_yIhrmJg&HCZ?M9ZQ5 zv+X9_SRDCyIM9u!@*@A3gWlKY6&TsK#;frb#{i&v#I;+FoW;R%f4F1FZG^*PEB>s9 zt`sDv&srpqgZvZ;?|MWzj`>cpB08%LYJ4q!+YwN(#R(*ciL>gcyk5mWt5tGT4*tz7 zj|n&6+(TS72JEbTX9|#soz>0cjR$oEEgY6!O}xo|>P(gOW-!I8)~W5#!o#`%oAkR- zC_f91v*Y2#OKRKj9Iy-mY-nXQ+=}A2$tQIo_Z10D$!VDj+Pe%N+pwEm$RRNBGjlx8 zz$XOx-F+Bh!>TsIt>B2R#0dV+<(TR<8j8Lzt1DTA6FlBF~+^UM8W+=Z@cypN-T z`SyE!D*vu6XA9u0yA5jOsW6Z;pTiCjcaNiks_dq=XPMoo>^TkEDi2&af>yt#8%0e1 z#)SFH#~!sq(5LCZbm3O#`qn?77TFagy`uh zV8DohWCkPVtf(h#WPv*asDOHAP%xsXfayR`@zgU5=7joIb=R)^?)`t+-e;ymb>*(E z?%A)XA z`$*8`ZAdp_`SkeWXFr>=wc56xFj||i4Vwj|IfE2UxbM6jnyhpQVC#xu`{~q)S|BP&8&&{~>2>h8mLgvZ!lbaBW1D7XZbJQIx%@;| zHt84eO|FD0>ay}WX-YQF5kj>wgk>yycnv8L+Ir1M*yr*J2G4F&FnO$fpcAWqZ_*i< z%fS?``UpT;w{YDl_HUjIfzEwx(+t^&|g8VHWlOlXIEk7Wm^^cU6MZ+C)Z)*k>EzQ^)? zO0Bll`iF_Bn8{GGxqD!M#eD~uiaj7cK%`5WjXD$T7j}TvAyFUP81le(C6{;>YHyhHWw{L zUlP_eqseKU4l%T8zkS%Gd+f+U$0)?{kJkXnZ~04KBeyhTp{r7@RBHu_*_AO0acQK> zSj7PDljE_76C^zjA+gK5$I0W9NS5BAc)n92ywZfK{$Z zHB+G~04lPz;}rdP8S5(%46GOs8g9Tm$J5%r{dk4Ak}-a~;#bblrVxTU z{&_E(#DJk+%}_WcjDkyG&48z{XP*gFfAs_kLKRP-_@?VbdNpezO|W31LL3~$ub#!P zI(ANgp^gCm!t4!*PUgN?k5W3w8_T>)F87sWU=MxpKEHf;;jtbo|9KL;oLR=iV zIf4dz5kc_=-$+GwKIbansnLJ6Drepk70nZlgqyIdk+iQ-5=n7rZ&1vEtpnd;^xTU1 zMG-IG25)hSI;s>|ycr9erjS`ia;lMflo&n?%VpOO@r)+kj5CW-t=1SXzc^LFMF`8r znzOHUee+6UhxgBEiW(E1*jEUNjY|aT1s)DJWts4!&cDPb8HVMthG`Q}D6H7MXoa|b z)N~SUZ3ItJhy*LVeE63bw+6V6Z^a5HQBZ#pcsjQ(o#|g4fXNC=PTg_vZe8py=Kly* z=rDdgrcOyUWa*Ph=punqDrbW`)p$B-Y`6&*hqf>r>If`dZ+2}d^sd(wTCq-=q7Wy@ zFHa$kaF|ML=-3e0@P7S>Y7q4;NHSL~f#*opTy4d3O<+IbsSN2W@rqWgd^+&!kZH6O zm^n=m!eyd(8c9i;>58%ZN%C~XX#U4wh9ZnJ!5pB}g`o#;p%U-F3jav0ss2LXV|i+s zOIKmkfx|_#x-lq%Hz9z~csNcrjep78OIxGc!gJ#QQb@91VC~<*BP#p9TJ# zYN~2M($^$b(Vs&zFP3=oYOErFKXIC=7|8qB1-9wKg!mZLvmlsvQms`FfHa7V!kG$j zfohXkG|v^Y6rsHN%UOz1ym=p(!A3QF#3p%`1IAeklFI=Lq6xINrR-5FjYow4k+cG*eYAgx%&R!|;Eb4h#S zaEBW9YbXw``_5Fju}sV4+A2ymV#f1`QSZUjLTp3di`gb^0-4-1j}`~n^AzIvuS*=s z_MA9Ub)`VWj`e-}2>>eMXqIz8o&VW(EF_%nQnY4Q&6CxtOtIW!E9Wcva!lQsPpEfa zK*X58fRya*1*D!l7m|894FqkF{VNz@?6BkS;c8VWJVIiWEmRER7-Lu`<=z`q=&chp z3S%DAwE$4C+NwoF*E>+HTXyh6t#%fn?{xA3_oSMr9uetZ zE+)|Ymk>Et`PpE(+Ub?VunsD53eC&;hS_2IEzDlcR6rQ<_h8*J*f44u&cM2mfv#NZ%Z#q zHB#Yp5uc_j33PO|uQVJtxLS9-_U@I0grh5oKrSG^Zd_b`9AYc0X%X=YRM2!g6fJaY{91)Kn|nGH zu7O!oO$f@)*Qlve>AVLc=2?-XuWkmd0fI0rOU5UTz=dfS_A)EgP}NGjVis!^!#OA& z;lT;#*3EPyi7na=@c1gL^!hJ^p$o#5Eb2{?p$g}K(`*y37|Ex(J)R`#b3AE~pmp@; z*g8Um-Fi})^Vbt9P?}SE_cGFr@69TnCz-18InDvg!?vCsbp$6=`8-X66&zK)yW7jc>=AVvVa@ieJ{ca3gy4@ zLaK`OV#Hq|Od+mv-p@!Bj5aBP`IuIqo?P4XnI|}I?Z}K)W4z~b|+s8Itt!Cen z7K2Rm-Ak=jt_z>( zS~N2YjGBQC)ju@(j!DF`NlDe(?2nOci4~Jc_dJ0Hn-h;5t48Bf{{SOBq>fG{S8MO; zJobZb%;u(1{Aw)ikaJTAd$&^v-gbY`437YIYPd8l)N!~-+|UCWe|sH1O=vXELmmDk zC%ey|MBqSZJ7wU(BEc~p%Ynj}iH1z@?N1tL_zu$Q*P!xZ)!CtrPpDQ(d!mEMP^(#$d-wClfd@N6-DW*Y4AMDK;{eA6@%dHXcd(}~d2 z!ZI6QT}=__y_!Zqy6mAYamWS-E`oRaJ4j`YbFvBR;|y7f-vu?pu9}8*#w%u5ECW-0QOmYuh_Y)E4?I+l718hHDU3!ap ztR36>G1XYr9D3pyIY5N$0w|h0?H5CxL2b<1X~GRv(NwYc0O>o=g9OYu=(TwM(zCi2 zA`z_QATg8oUsN#=x^{kY&R$osF^j90Y^dr1D^`S|Ok42`^!T{>3gB#n^SfKJvFZRk z!aBNH$U7C$_M~n!{w;UL7W7)Z+;0$V1SyQ{!em zg-muUffWaSkPTaXIYJ(JucPEBZaGRS>eEr8d9P!HisWO2=}*TLy*OQa0$sN$dbbt4 z`Nb46>@x-Lg<O4V_NxRI$1AbMYzr43%9WXa~8Pz3TG?*m|#BTtRe zJ#NnY@{?>;tze;m0Q+Yt#&N5%H%l>3O{OEc=y7S1BsJHa7Q97J`FQly;E(QIPQDY|fq<(#8zN~80X zuhZu|b$t-d46WDCiozMWv&-j6k=#E|YCR?&B*o`&g#c~B1p;l(1=9alF3{9%^Qgyh zkcyWx>jz}^HijNIQ-}+Abxt0=HPuv z(U;@!!C}z4CY$>R=fLY%$&MYnq!8C5RYF94*74bp##RduWtva;ZC^vLMrgDGuHiwD zhU6>kI9g)!sqfr;8qN4JO=AB@y&9Xcj#!ClueeOp-mZO*A7J~ZuMcgU&HVt$j}BLe zEWN5jNO8q3XA{Z%j*$8rfea5zAA>4izfX4Vzn5O5HsnbSgh)r@4xHL@uuu8~Zh0EmxN4(0b`_^|ZrfR5qU6^4A+iPsh4!z`Dslk?$zgIFQ%205{J zZcvYHZxUaxyGgAoZ<0H;2O!$iV9TFk+b!M@c!HyCSiKS}l@n?9{kOEf;@>pK@V{y0 zU--9TA_u5Lu|iyJhMw@F*so2{!Gqh`?*M@-i-}$JN+{|xp@cfRR6+}%rngCfCEg|& zzuhLS9#TqAj+c^cPJuBVTC_|MvBnN%BuOjEsKt{qB1(@tgq=NiNQXzmgl8=r4&GL| z!iU{01f+)CRTy&CnglVe1%G!r%PeXGc?t_5iy-YT@n7~`La)U=LT}_fLhq$}M6g{L zX|?LOP;3b{?Ex&tI~i9_enU(-xeHgyiM=X7uje}~|5L}dwyb?^$&ei%TWqeX$m6%Y zvRU_uk&5ms#P>Fw{-Hk+|4>q~71-1%Lt86^N_+MX=}kNyHq)TXICftRQ-a6Fg5iS( z3)|H90d=(f0h!Lq2gIy75KXTAs-apaxY&oJ;MP2(I8FIO!ghy8qy&~dA{*PcDcq>* z+3qrX?F!n&8>?S`%23dP|~0>453Qa<3!e@S<^UV!AUORcyPa%Z9Pb}MztEhDs{ zVOS0rKLkEifj8=SJ*GUosK;7I>@lIp^UzNTe*>T8mYhd_+N5sh{UUBYX3 ze?z9}BDf$|eI`MU8Qy3(_YK*Q+q%Q?_kAS$|}Gc0JfiN za7qL)Dkf+ve0i&I;&XL)M`)PzjsUy#j;44EG~=R)#?k+s%f$CIm-+7ro}%|89QGe5 zQP>&Ss8P?sV5u-|1uURDA8p?UlB*vdsA=DiB-=H-;FhX~`d5WGUHM4jv=|8gcG&yI zI^E&Ml2S_aRR>drY`6VHXlx9+;aTyC&ebY9x4sRB-ak=<<;_aG`tBNR@?ZcRj3@Lo z^tQgL?n2R%?`KkeYvB)P>iQ|*3a{#Lq*{x@>=J$E^@X~OjfJEj^~Hc{75t!r>f;X4 z<;pMA<-ISo1gZjIxbSuHDPbI=KSKgk=EE`*mElIwV$D~r;`vGl@~R?e{s3r3-ZAf| z8%!K;DXyYSpBxW3oSgP=Kf#ehz7a=Whhsz0?OI+!?*^RGZ?ret33jqZJzkru>kW>K ze1}zWsop!-{Q6E7*#0{~G4VUOt`ea6yvOVbLf0liliFjsci~A#F0pKN{auXEs8GRB zDC2jejQjkc<(MC^*DJTg^FJZj=q_0%{9dADl|KlTv z$Qg4_uSUiGP(9&xtx-rK`>r=QPEKP__vUj>P)KB6_H5=GYRp`s4nrh~VsVlrg3twE zESFsEYbo?|yi#hyddrf?ARH%4Vte(JEQx@egHjT^FX@m~}6-$5HFaA2SV#f;gCAh!YKoSYQ zc};87sO;KsBW{Rz=-xqon1Li#IO*VgbnIz-=zlBJX4$4CMru46h{Is%Xk;`*=dOtZ zesS>FUeVA2?^*_**iaH%RvnEb;giJzb~>%DzqXo*;3mdx2HlM<^0V@VvN#;>G) z>K0f>+=%_+Z*ZgeJb2AOV@cfWjTxFA0S(@Z`=>*UKzdFZOJc9{g|Q?K&9pNi9*Q?1 zCMeTB@iLXfA+?#Nl34b=h8{P&w+8&-iY&ua(s$@JCU!t<^carjOdtWyAIpoSS+GJt zcLuAmzGjj*0269P!|XL92&&A4G_aoLk~m1V*<2EN$2mZ+f9+qxNkY8%58QfNX0Mj& zbKQoazE26Z2XT;ArlU9j#p_53sR{C8H9_uN9~_1ottRW%6=L6LwgpMxnJy5Ly_~dD zh}u^R5;e1$k~j^P0i&fSorh>J&U|eoaBh4}$$~@T4co+;w+A7?7T=ZBBvzUF7Bpp^ z5hOn18oQCDBvRU*?SfB={c#J5W=v{e{^Y4K5T5N|~;!-I3k3Cu9#&!8^9? zYqfW3I|(v$RV7MQTfu;Ago8AhkJ}IixYq#=F~H60aD|?&)RBcKOKPexO9wcW^{gX_ z$jt|!Z)T1CCc-b>+uZ;#?)T0$__rjmw4{%Ndu`4htZ%RRUF(<5*x!^MnM8t|AVDEhuW4s zZb(K$-AEEFV+zjrr*q$o+58Alb6&2X)Ds&?;-qP2BLd}T76^8ySK01lZ!ur>%JCYR)h1i$CaKvV4?=CU2U&}YFj~Lj`!zAl57$6@NIraO z9-f3Y;LIAGoAyf=jvDXevM15+zNaMep?sQ3BGV-UH0|PJ1#meXCicRr1s26PuEt$5 z74FX@;8GNs*G&odKrdo~SuoP)sk7Sux2@;PVgtJYQPJata;8M*Ff8BIxzd5w?>I_+ zWwDW}0J^~eg1rgVY1%(uyoqP-wScwVimCo2Db2K!(u`V^HzO_P)|?0&+nh*#r8(89 z(}GAoz6Fu|Fa$GuEb+_}8u>*F(#Suw6??U$J~S;!e#U~^TtlzwonZUWHj;r|ziDG8 z$8saIM<}5%EH~dc3~9-D5rtPz$%S?BgO8L?xKeDYI!K|})vY9v9#-CpIC(VS`OcR8 zwV6K#L*u(ci({9IP1Hw0L!oiS^6tsyqkq14=rba6L>OF>fHAU{u&l#sSl%5y5pI2v zL2?m9cH?%jrRoVRM-asyEM4}D`4DUo+J*u`oW&A|H1s)UIr~BS&XFeojVs6)}L_9WiTdbTKQcu%!M@ekRweKj2J*-1eGw98rX~N4< zcLQYn(@_%F$;0=$ML=~1EL$v+d^!r<4`E>!7S~l$CUgSls{CxRQhf%)T0nR#J8t+2 zq1{eWTlT$&WW-*cD>h5;C*QFRu;qf@?W6zG5$oYk>N3Qi*geCa+cwJ9^%!D#EEn$I5usCcG;IAY#3;U9NV9J3LQ45%7gA1mjlt5X;T?q<1Zd4z#l>Q^ zs$BHVws$2U@M4SdCnwT5Tx zQtwX8n$?}U?h9QHtlAElJb3g7B91LMhx`UQVA>Xoi9!+b9ygx{-GI?X#9>wsX&}!j zG=qvMgNm5{9>^F4MIwCH@SdbPPW6<;&Q+6M(m3Ap1n42PPsBU?CVW7W`FJgYv zA(7Gp!4JHh19ZX{R zdN93eA4G~^T@Wqwp9E3mHo^2~Sunvc(i!qnHjj)JFc^l=B50B)ECn5|H4={p!DBvZ zbciHUS@T0^45uOFq>UdUiOU-@h7cTI;T50Dp)C+YHL@o3h*vP=qv{su8kC$Y(j?x)- zaSeyT7@GevNY?jSb|+uwCx`%26f~=svDQvEZLu}dek?5`_l%XIIZHT(RU=7mbo9SE zi|)oMhr_h}hC<}>b{JWy7hzHaZ#QHd{kc4jjDY)iQiB~}?0<*-Syhc+%E!Xq+2-LT z)@na^i4umT&)y3=byybH+eAzt%{2txm$oyip#w*(lYJ%28=aJ;yevc$Q7Z^nbZc1lJkZ_xoFDjNq zQNBs6lSu^C zkV&Mf_e`Q*yFk?ZZorK{M6a%ssaN00Q%O_! zLhjO;!i@>Kl`>qxGL-@_m_b>YT($~Tss}5ZN}kr&sWf7bX@t2+E#VIJcf;O`0M6}c z)V>{rbPZ;ni4_jG+jO!AgMqxwMh}S-9x}7)PLg{1oosEQftn_duB-D z^lL{oTq4}1%_sJHh9vGpss#qD$>pjwtluW79&>g`Q87=O6dUyrU^ZkbEU!kKzA3gT z9M^zP&MRd*q*$nnfJd+rmP3ZyLsS?~SZa2{TA(sUYQ&|z0(`HJSMC|JAA2Qxd~D9* zV>_Fu493v8&K@F6}CWIKyGmiym+p9pP47+;9@`B|YgiS1gP!&y~c@ zlC@yjzx!Q}zG6$@#4^cpV<;f#lpe5juX&OSAL$dco#r%UBAcHKGxftTS7r`eCXq9b zRxb^}%Jyx)VZBI`dX)%ZLajQ?AdcdL{h)`JHvX_q(h=PAEPS)dSwF>0Z3ioTL^hUI zXLnp;lj10ldKs*jVrdr8A+;LICar?ybdqt3DYJzibzL$ASWdq4YOo-vwo)ziWnqiMu)OHmY9S6% zk3}1$)KRymS6DW1OKl;*(l#|=<`>}l+7cil&JW9;ea=a!HC&n681Q`01Q;Gaca86{ zJbA1nv>K9zFQf(TyoIDp3l>s*q#j^v(WrroFtZGH)MG%r`xd4-vbD8Sl&rjVip-)H z5qa>w&M9@CcvK@#{@J=0NL#ps zxG)W_M_B@#1p|r-QBc9nYgB>=V7aGLKM1wh^}&q4%OljC|97C8*p0aE@+edoy3Rda zTmn+L344fvAG4*B$j-CLgbzyuSWPCft%X&&<|!OwZ43Gxr-Efx-lenElnjWU5lfR& z%vt7ALN6Z3oz}VYJd|BGR_8d7ycV%EmPvC`Kz?zOmEYjfipy2Ww(1k4PqEx)SXoOn zT@K>Manlv}{?Xppjlzv+|2xo@w;g%}F6+z*Bw|20V_reeYK#rQ8ME>ua9Fs4D28Qo z>!+nUo`NmAW1!*c{D7nS^=X<|=KOu`cr`@wp1hWUrSLnE=BUml+G4rq?Ev`v-f~hP zjxfXLu?P2x-Tb6@05xC*X~-8~({pZ_AF0+ah(=B3mzUv*MJc^JYJAg%^pAnVGm9~y9;lJ@dI|i z(5pemR6Yh$Uz@J3_@;Hc zM_Otv43qf`D4N+U#a#VwTQL@v_ZJQe(K#Rj#QvZNzCFuyt_DI9bpU55))4pg29hS+ z+YaB3!6Xary)l~W`_;z`F21M7YMVpWH5sPI)(XR*fqgZ{oyUZ`>G;i= zH8~8x)g~-s`SpbN4c&WjE_(s!-ubZ$;D#Ta0Sfd08yETyP<|9CXe|5YeAq6GFub=` zKL*Q&#KZDIpG)(rX#!3g-pTHDlDN({3?iHE=S*J`#q1q>zGPWWGpL|OnOmGV0fhpoO%>t6w6zs_KVR!f^!7*P?k23ES-Y9r0(0! zDg?&hoj&_|2j-egjxd&m%yFJhkqP(qv=?wto+I3Fr=tdMyZLvLp6X0brvyX+SI&ZnK9kilA_O-zd5BW!7e(e3Rr8%zFmh<@FyZh9{6< z<%0Mv>e4+x+=0x^r$_S?6LkcnRN!2&ocDB&zRsfrZ!dwePVzx;Ol~?}_%HOKFX2;5 zw_m^o6TOLESVlZ5KPL1W=N#xo#ZEO(fe*3(2sjj$@eRL%`;2kbY$l026wqQy>pT9` z8)^mv*rPCgC)>ro+eS>AE zb2YC2pZ#V2fIBP7wf)To#4lat-|PRVYQ*YnB?eOf12u2iy0=c|;AAn4YQ(;EPq9+J zB}0VeBhMr~GE}-s-HVFNE#aWpL#l^m=dBwdc>n|1e3A0A$04J48ZxJCk_Bhe8&LJV zVjI(2062q6W^9nWN3D(`?TqD&KUN0nR1=3y?7=((M7+rLGh`ckrqouCAa=y^&!@k@2afO>rR?pL zD{~K+K-20$XS6h8(Q^*cy_%lRIfoah!WS3*fQ507M6x|PM$>iz`3FhB_z|7KGP;A4 zhK!G8obl9m$giFp?w$bmaF_haI>~CqA7=xq2A;9{P59S*q`#D!j74cQbBy;dK=s+=H!#`5UFsFl_D4d7KnZiwW-QP&&u_x{ynn!`5rD|nL{GUixz%o@>Jhc6qJ_!+$1aIrBNhUK1x?KL{8 zS-_QrDVF9Fs6Cd-JCNM{9h5y^l=CrmzQZvHQY^2pn!Qr!dd@z6J4jL*0Acp8@P@>4 zvRRFJz-ikK!d5dt@UyIyzgK6iz3Aud1c5c#1^+yDN=Cem&rZ_AocTA_>8^7g#Z8+< zJ1Mm1yo*-QL&n2NzSZ?t2nkx5CYk?V3j5~H;RWKl|D0VE1$YP%ws?=zfg%bJx?5_X zxw|?*&p^G2Ofi<-UzWioIv6H^3f`O>oIv((dnURHs|JrPn8&YMO#dg5Th%##m(UIH z9=@$NFvW&Br;?s-4q9pK`XwuMQ-dH3*77siFtr~;$tKB!vJi}0up5`uPia?gjS6M&f6L>t?o2ckD{7b)+oCS*~ECQF(6L} z(th~x&%{^1PS<&d!mBOs3)j$I)db+UA~WpSFObkw+S&*?OC(>`hgAFB`B&_!jXmer z6eD(d4;lX7z)FoWgDg@0VR4`aTp=?6bi!mnD~be`4;-C)h)^L%%z(Y5b_*f)vGcY| zE}|Z8>#*3P&*J-SF|6Ij3lAFOJ>l2`meDzG@cmX&zJ|;%6QmF8YwyD&W6nP8mBby> z7a>_`ll?@<;zsiwzgM#1!AW=O6U)YJ7Jb%vcwm9|!D7G*hG(bt5%*r+C;4+WR;N=2 zL1a2@Z(d5LEk^eYda^7-5}O-E85F#=&!p}BA(@gN??;nKo4b|34t;u+wG-?RmkC&_ zRHQkoRtZ9~fc>;>_qu+U>%Q9IQ%oz?lbHd2sdU` z@sJYlQ*%sm=6(%+YH@X$En8;+x6(oog2wz2l;Wr^CCiWHy5onz-HQW`)wWkLb93;3 z3`w1)h|`_|V5s5(OMi(W}{~XshMw zDN_E(yB&Y^HDde6Xh-~hB-|PfX9~8B%Aw4%yd3JRNv;&hyWg6t-C)io@RtMle;FJ07RB|*KEX#fTh^B-Kg!|A7grx!i&$23a4W<=x@a@=|Q*c{^c^>5fG|r=~ z$YptwxTUEgkCa@WiafX~4$KipbvA{1#DmcMVgst`uxd6wkN z)I$>u)h`K0SZVj~0)e`|RyLXMOi7SBSw)pfm zE(KV}7DC+NW-NLQuo+&Ag0hf!o#^oOI$<^F1`VHigPxe(B=a}nChchd3bb-8T-Zu5 zFHFjYWi3jqtx6GCVNSQCP_7gay=`FuGv8h5gxIlRUdt0r)a!vf$U#`%7+MHlb|WbQ z4fQv~kK2t+wEUmIYjTZWgYlAb(q&LdW)a!pW@-n)9bs6?&u-UZBQB|aRuZA?0$5{2 zE%*wDotgj8r1WXZl@mOjpe)(a~8U37hImSI?+_^u}Q#; z<-0}r`2l@xZ=ogN3P!VCYSq|-0QWC?!QZn{_pm&N-Ut1&G$FG%;3~{AYGUnn{T1xqd z!9XtkZoYq`zZX8M=w7Tzs_v4i8Vz+8em@_?`gIY*TeErpfSs*ueB8i_=jFr@ zAXv_762L|{$<44MwWh)~NUx@P7`?|*zs=%ysG0ag)NEckWnXSDC)MyPRNCtM_&U4) z33LebV!+bxNGgrT@xgk=s&1kyHtaqb$-MiN1LyeI2e@Hivcp!=Es1UlhTTY%to$?bpC2MzSs3Eg|NIA8LY}@fYYod7bTGlMGs>DR( zWJgfv@ej#X^nwTBLo+{M79I83@ewh>h(}~uavzbxvHO?Id-%VUg_ZNKB(BA@c}&TL z6CYEZZ0#TOCsKb-Ob1W{p-zXGUMQg7@0nzvx!5sC&qS3$P#t?hO^u(DM>j)BrvQ$D~(9xah4M5@L4Ge7I192k5{Dc@d z49m}he+flZ(w04WPPsFmpA#58Ur_JcUQiz3Yk0yfiVC_f*;{b~emRlERm8nk?%3$JK5YTW4YBHufg=8UCRoiU*O5RuW9gvgbZMA>_ll*d&B z6>V-D@)n>W+3ZI|M~{gd%_j**!nw-Ea{iMU=3Ge>+6#qdo(nOdB>lvv~=Flv)drKx~(_6}Y`U~Ee zCu~`XhPtaJ$_#3&Q6Hfh!E)~hJNN?JV~|wn&Onn<7c12VFr+?akD+Wh0HVMX;XCw!f#U``(jjoex!i&(hmfZ9wySIAC=JROgz* zQ+7XG)r^(DgXR9}FOs3=B)|>d6#78U?1>MO$jEd4NFL0rkA$KDFvOAA&hR<1W&jP$ z$&f{>WLXnu9js@l>IrWVPmMp3or(KI@>%?ern4NXj5%y_in)Xd5DYX8oVICLN*&Q5vCFU9*~$}2`EqxpFCm)=gg_pTkbc)p~H7-+XCKncHbST!=Zr&$)se* zz7s_+ey15a|ER{AE|y+C=-Lo39d8({XQ_T9h6%%R&4WK{|D5o~S~5R>yU|q^2a{r< z%9PvB`=Jc@Xj<6?>zS*56U{f4%HqgaTRmAEIa;kJi)?>17uWpH#9^xrterv@hm-;o zvN(wYL9-g2&m`SKO0j3~VL>iCdmX^fh>zd!w;aztkF_6bkd0T$BF8mWDT`yl1xi_*8*pl%`#;KCpYW$qB@7eGS8U2K@ zEE4w3l@MQ^G?;}>R5ge6AGmIJu!$@*XtaqeENq?$A=S}T7N@6YnaUz7z0gz^r`q~M z$L||{yoru;2R6}67JD4XLhf^vBdgJPSAC?hF9A|+CX4iHUvpU;FIrtIdQPeS!2 z58S4M0Q!1EU?##sDms_ zH9CnkKW6+CZv%GGK^Dh;?>f*R?dlL3HrFA6PJ(9Z>i)1}^Xn*^v5ro%8S`}{H1u(# zN~N&y+qb4S9G&|JJ|M4D;V9SSCSf9UaK1@?5Swo-IuNH8f}CV=95TyE7AK|JL&Yh} za@(WLZ^oQmK%OIYL+7 zyfLce&E~ntVtuj4MIOxE*52@b+REk3#R%3QIX18c@vAF~BU!`hl8R{wb#8Q!y->yY zYTCaD*0V5g3(tT;VOWleAIkQ>hW6$4WOq%(%V1b4z-L}K1;gu6Cn$}LA7;M7)jRl- zb!9Wny;oS1dSZ_CNhq5`&Cly9K+dZm76@xTu>~0fyEl{8CBny`aB0FjaHs&=u4+m{ zIW{0Uk8MD#fi^c`RHg~4C(w-zWn0dP?hT2DmcbuRoi)VLAHX>uwu@N!D zwno*a(&Oppoz-e*HvpfnqbmtpUstW{yOIvX**}GAct$+Yht&a2J_FEXq3$AJ55uxy ziQ7EkTtNjx&DYYwVDU2`>VSC0@@~Ff`~@Z0n_(qQhteP*Dz-)e_VkbkaIjFK6*uh#pM@4eWF*H!7U%Qt zc#sQ$+W7p}NpVcCmE4}q@g&jFz~j#gs{94lbC`2(2IX-9%>ZAEDpfqPrfu^X8<)#xQgtsP*f2B2XY2!AeDn~+#f3^+mD>~ws z$!jBvvt&rlt3`oU)i|$lTk6uMEukQ(tt_t8UJAA61V1)sE=^#Kig<(*xnRcwd`Q|S z_z)4V`pDwktd}q0VT~^tuqVER>yGWHTO^ON|6Tan22vCO)Pw_hEY(DwFf7-78PAm> zAJ;R=SSO<5i{*Tvq$bbX!dl2kiw)61Zh?WGP-@?y=(ve`$Q0h z^Tw>dgY;^v14Z9qSk8KuQiFLH0CXTp7Mdn^LGIM(O~T+|SpM;$sOQffSbB3%QLX&Z zKlGDjE|kdUTmH^w>y}7X3D+^Qhhje0j|^M9A2HrjKeAH2{bjLs+wV`4Gya7*5Ggt= z?jcZ3s|r~9FVs=aFS59w#<>&yiR(mNmvkcG4~6#I8gE?BTzboX8s}ZXdTR5o@C;{z z`FwB>`KbuN>`Gi zCf#Tb7=#L8OF~&cJ3y;*ciF;WcvLjroWmVLlyU?I%cGrILS8;P15izj;MZLiv8)1k z|4py;auIjR=_Z?NA~S+vr&7CWGwUIXOKwo>s>aE`$`L!d@(N6R@+97o*KnrTMq9KHY{7Me?93xV_UFxy$E9gy<~A_8(F+4LD`Y5 z>!{zHIS0u4ED#1~_xhbzF_Yf1A=f@Oy@_Noy@_N+y$LY)KE%(1pr;xQ*1QsU1Hi=j zg+=i6pKn<*E5g|UB~+|o0720vfP`^N0FmQ!08t?nnw4%?{+Z414U0O~m+WwQU(zP# zfm(eSNPS!iBsG= zliB?tax2ZAqk~}~>j}>QyKLL9#I2Tka0ui^cgXL?NQKt`GG%=R&_JmJXg%{|09oF} zmXI%yu+EBkL$_?hKv~50(gzYCKL!$i4*iW<;N`*3y7l`<#HL^jmFC`|!Fnd<7&k^* zV;SAvo9UHd$Z?P?T*}}1gsTewGb9NC&~1AwjYQ$7fU!t)tyxkiVuchvSBz4-!U! zS~dtK&bAMh`|`>W!L)qJ4W`LEg%A~Rk4f3s=sTjTEjtoI3&w&FqP^=7qJ%3zG{4j} zmg`a&$3WA)QwS_W|5OW-6%Qfp>oJr@oi~*D_x4cI`rgCn$*N&A{8NBFY+-S4zN*Gv zS^eRJ-wwk`872>>71-zDG(BGx$H+VLIlg#5Jx0hjTu%*zZI8pF%bani z5fNmd`P3%_yc+bBkh)l!oU?af7FD2SGDCp;O}mFcyzMH?7%N~|<1fc20!4#H5{jZm zk`+N7HQc@BoOmA}3K1%kQA8%^QH1chqX;X7qlgh*M$;tbjF!i9GChSS9AxxTi`TmC z5LTr;0*s=AUXY%(3XL$z$L=u#B?)7xk0E0zQZocA9S|)~guE4Efk3d?f#gTo{M!YYHE`7LLkWtQI4=->G1cUFdhDk zS+_{pmJf%G*B-F>&T^d~dJs1Tg19G+;eO3_(U={NB;f6%2>6&Na*E2Lh!K3Et05|A z$D5VaKq;((2(Ec`G`0H&&cF2qwZkddaS~xEU=qzRZIT?uVe1AU98o<#$#T-ahvN&RdL8fyLx6Whh=77h!d@8wz zTc(m$!1Y#dxN1>sCqXk4<}-~JLxZOg()&TBaoZN2WO_59ld5T?>`bN;lEzP`-gZI7 z@g-A#VjX6Vm35u^vJo=~ftvJwAwb+9c!4svC6*}oDVA(bz)V`L%!euq z4=CW1A*G-~5c#~Vew`6x$BvI2KUG}OvsiQ#hUMQq>O`{r`dU);o<%Bq_$)2^&mw=z zZZ=V9H8eZb_T%Ad&9Y}xv%=X#Sg$#xE0@h7oqKPNEWQA@0oqSpn8N%&pfd%O(q#9- zfO&HP7F#u!kUIe$ycxA*hrm+dJXl0)ng{8bsTNR8zj@V6c=D$=JgN*EfAeHZQ74kT~w!w*i)PKpmM*uSeFycml zFDppp1g#|GqtAcx!RYg1{mAEUvWghSZ56?g3YE;Z{>#mHD~;ba*x1z=!mqKKq%aK2 zz1ca2f>^v8x78%xr{G!nj{|7D=+sUR4E z`K_T^eb*4w>1)WGt_Isa{z+6H5j_BwG0|M!iP3|>&<|>b*tN1qG<&v| z39WqX2%7i+&?IUMQy>AcJmfKDl3)esR7rHs0BRen!l>)2cv3jQ>&VkY^qkt!;wbtB zt(aG;Y{3ftx((;AR>(>s3g-0&(#`?D6ZZCL|Cnqf#r`XF zxmab=LP!UUDZ)8uw5serr*TxV_*C%CzG;H=%+=Kwq*J=~p2UjMK+lg$pm6it1j0;N z0*&34(eh#|BZJu65uA3@L6g}0O>%e5_ng6c_Ns-TMUZGQn`CkQ$Ma28+Yfxac{?Lo zvH5>Oc1dP!NTcC&872qoHBezV2HWLqmc{iSURy|dR&61riM(gly!$E4`XJ6_o?B_T z(rc?MuCF|{RTjB&&f7>Ja(3hZ2NY?XVrER+7XGgo}CDzEqm-XTyVOE z);RVWifyAPH~S;SlHE_2{n=#=$p@O(zsC)NZ7S4JI6pzyxb5JwdL~gA5ZQ0jtOXAQ zldV|;#_SYe0ge&E3uG`XEoN_Kq5@Kly-cFeieWObY5-Ikzwb(W1fdm+x(F-o%w+OI zQQmxuwfai9k5*vb@H-1;^gs@Qk+ zOBPJ(1=>mzdIhBiT?3?5MGE`jlW%8a2AVa`0YI^(hYW~BSi4)h>fcR7=$A?k zN@^q*c}&kswN3GG{mRy}eLG5hj8RQvuO3J0Nk9`+r=Y+CcK zRjW}CF`(E-z!Zk%jDp4Mh0<|821+Nx29%CApqQ{v9>Xo$I3>9IZg8G?o7`Hb0Yx<7 z;yxPOC7tFqKb_QJaXL-eCxa~CXc(|=FU29@BmYP2Dl%xfYnVx5AD&4n1($N|W*Th~ z^T}BS?8MpBY(GgVD(W?cpXZ@=^w%V*aF++oEMk7%e)60!N22BJWm5&S*FGSNGfd+_ z6>c89%^%xp*<;oL(y!|dka~N0fK*WLgCy5IKPYN+zHa=S>p7vay^=vPRd;A$)4yo` zQGbzczN~%Xd5F4Qafnt$uMUwS?|qmmryeG5Fh4?-CmtbpJNF1xb~-AL`Nk2m`S z%<-qm?>l~)ydY%W-FZLii1#p}g~ojgIH@e^3^@?9&d@03XNayH&Jq>3pC$g#J4XgD z8oIkaLi(4xZJ=2V*}ii$|5N7(Y^U=CHmG73+S5V!6Yw(AcN0kVA`ftKUffjn+gNvWTm)NbwDYSM1pHfAC&xZOL%UnNpv1EFc>8DjQ)%0 z_OTl^IW}6PFQTh})(lI#y{$J28A>XW-8udWiYRjCa*d>Y<~8!#aC^qQQP*J@!G<+$ zFQqASzfMb*_SZ>cVSseQTLxF^*eQK9@h-Tdi3@fd63dkadK>sV=G;grYqFh#{M3fWUZHz~~_@}_ptbd%WG{T3;u zwYP{>pWPxTk*hBE{=9;Dn<)L*s=sMPvh{CLey{(QCvbEOE2gb(T*;)>`<2Cg#AE@- zAU!KJT0oo@mZMuELj z+a?n@X*sxNs!(dbqMSg2m3@tvB!{oKyX2!;4RsRj#lnCt&WDKjL*+vY0y-(f%F6-vxZ*fC3!@Lgwm+CTF_x(fC zy&NhX+CHy~Ku+c-)K@L2r|}PHmRBDTPTd}o9$Nm8xbPpSJ1ZnX;h10&E)ijqqap{0i;7s$LQ8TCKqS6wZonf(nW+1OFrL-@%Za*N^(WSfRD) zm1I)UC&*3c=ZMJj)x@SF2DH5Lq>{X_fY*fcwAX~wAFm06>CnE_(WS8Qgo3zx7V=si zjkfy@(d_#hY9IWTaJv63k;3pDK@|CpHsX-yRoS0xg|Y>;WXufTYiatP3``XK;dTiz z_I1;`a6!SfUx8VxuS0`L94RONGmO~dwwE5UiFDI0h+io+jCnAdvf;|rAia^3>2c8$Qy>`tKa)U zRDx^X3fU}Ss!|q+C| zuM|nVci|704g@53O&vF(EYQTG0XNrFu7xe8|4Cm7m_8pq9)ViW{4?s^KcFSoL@L4( z@?}HgrSQ!M|*GtU6n22I$tQ5)ZF~&64E5=HZZ|rKK z6xq#jCQ6a4=6DB692@(t){*@Q@O}JWKH^7Cr zwor<2kw3hvSojj|rPH}#C0h`&$ae_pY6}9a+@cy;SDoGnpMC*XgGD=z40_?2`A^yW z_F$Wy?8ns-$`XRp&Pplr3D#ICMPBw3E23VHT1t^$ySJ7WbF~R%bkcjaSHQIy;J9$p z#5A>usQYUZ!p*Iz>k-yUkwTbbU2V$yU3#5l7TrPl1==Vno^3-F%WRb5kOJ!b-{2lR zA1)oz0^b+r_#f2pqCnYV-;aw^-gdGPxP&zn|vV zNK*+$S)ZM-r>-NQo_Twp*{FnlH60tG=QmXJ!JHgOC!nFVTYB+5)9VBi2y6uluxtlX z429ZCs7y!HRxcqtR!1o^NMq`d;z7k>ee6_((5r9kx=b{wZfr&1} z+^=1f;(SNXx}S)Z@3hN|9C-3lHwr%{CR%lhaUXsxh05 z8=A<$IQEHpN|6m`U!PcIW_=o<0;)7UUjshr0ya&P25S~`-B}IK21;=z21Cq6%ABzR z6PFqgCdwKRhkG|90^uTKs&{5fT)X+Qiw#LD+-XQ!p=~2V!siD@Y53ibjH zi=sR)btSTGa#f0))CyM`!v>HXJv#z+LXcCc;K-w?3e6WzbZcW0{MU_16e8h`#ex$V zT(6Pjs%c<@2afOF*N%AIJ5t{fU;tQ77>95ezRB%Z8V z%hv|X$em{C=uTQV)}2H+-<`m5@t{|;J(Q!ktaXMyyqE*)HyzJg^;H_#jEfR(2}b8& zxG*dqoO3$DURweCRo;MoC+9gz*CfMRJ_! z?vo{O+N!BiTwaJWndfJ2Ae7q_e#E(|M!01|E>4dTQ6&c zb3MDwp0;OZ&)!GV6)H)2@Ruw_gCkYioY-gs)Svz=FpLv$^;9IF7reu{&1ym8w}lt$ z$1jAObTqFTv?LYa-;$`bv?WP)WlK`;U0W%58fsxHS}HAC(~qRqRQX72!Wd4^QQ0J4 z#u)3{M#0msvf*{#R*7_e5+VsIwy%wX@64ZUqu{3_MnR=^jp2Ye?0d5y4P?mXe1ILJ zm;zvB=0%F}W=lk(&O(QU_xA~F$ zAM_)nA|tf#6e8wZ!a$x#DfV>9L& zNK2qsAWdmjpn|9CPk`z_Y&ZfR)%^%idIV9$c0tr{UJ$7x+<6)oTx7`!l5V9?@t{xu zyhnQA^ZxD5A33j$4JKa83npHB4nO48*&Qm@*&Nu3OQo;8co;HLR7M_PUMccdxlI?>{g)`{j; z2<@8%^y5JkCWO#ZYac>ff}y&Ff9U5K%{CR=W2kf{gcij_*dwFNFaS-qRZ5;OSr6#EhEj8o2(3B7(88u%w=DN3bDCyqDp){Mhp+s-=A2eO6 zAaf8xk&-z$^{)($9w$O&OI)uEcI4*nv@k1s(0bUf2T@~Z4+a17 zlpfm0Ca0Z~<<%i0VI-Y(Zv*dHN7 zxIcoBVHv65n@Qs$4OEFF^rS=6HUrj{5TU_YXK6i2B(i&w%wu?2lL@%9nCG?pueuPfn8+Su8k$11^WH`5W9 zC*pI2&FZCmI+uIXbe{Gml6Cu*2!x{Yit?N%}(~c%w zHGs!sUYlPUFp}4l6K;PB-13@>hBxdburW~zwJhLh(&X=5<$==+WTjE$-`*K z{qd;{`6A9{MU$Ych$jB2gz$hI8|m8Duypk$`PRgcFrg9hW%2h4qv5DzTVfRaXyV}* zGGZ+I(bAd(wP&9Sa_0_QQ9lJwT?vNQt3K_W%*pQJ6azcVLGTWF6QAX+bB@Yo`5p>0 zHnBeeI=??n1m&aV5@E3s2`Z`ZH8_j0XPG(f>O;WV*CwTV#W^rAuVjaOL6 zr5%NMlnPg0Y<4J?j82C*nlAbnU%YY~vz@u%(Pb^faBVczJ{3oOw~Z%p$c?8(?R7l0 z$6SC@i+6s*5di*|Rw}p(1~V%dNS>q#EMl#nPhTyEk|ZsdH0H)b!BqoE)?){eWbPY8 zypD7z^HZv2UB#L@fL{|kmPugNr!Ar`JynpAnoR2uGnK$TC3)!c89k&25dpgV5H%gcJnx!w3c6bC1s;M4{q3 znzp7Xk6L}mAbD4fBq{m;GLkueOn>f_Y#2#S3GURj`!2IRH=4n|Q`wIip1|{ks{?wa z&15yV5o0pRMoi8mPC1!Ls?Kv1Q5DG_6xpvCcL&aSqR69(fuLU>rQo}k2yym-j*#|> z`=Vz%K>WhE3$bQ2^@LVyj<0=f89q>D=2Gr&QIIPb!h4fXjICLm@|hz^SByy7Nh56; zqu|MImRUrv;aOzRoy;;w^;n9NAv9UaZLo)m%V-en3!1YsxB^1vQsj>G@VfVS{2QXC zR#G@9ORe~UhVmUpM8lf#$G=H3;!|LE#wqyGaP+miWSlPML%6($d9a}IGz3~$<7@N; zdktf8ai1YOBzHVTdX7Tba9lqs2ay26Tm8BbK!PEhd6498BWW~g2~Q5(*D zVH_AdSRM!Vok+{{s)=MwHiEt%v}rJjBk;6r|Ds?aslp~vr8e*)BKqPA12e1G(@6^c z1)pRny7exuA8nfZft~4>t>Cvh#$^+_4`!1tvCN@R%di|$^Jj8MKk6rw;Rauq-o^VqiJN)LYdE3nXUg=Wo}NRH3ilFxUD@G@C}&4 zRM>#g-UTCAhl>qLJw7{a>v52l^T`TxcJq63RWTBn`olGI9>{Vm!zoZZ)@?dzVQD(y zDG_RS+`Ah-d5Uq(HZv6bs*Ug&#L?TJys#bH&Y4zTH}Bp@|0{3dP=!6xTPP$>;v(hV}=Fx7w~Xcj4iakB^sh(*WEb}Os#vh!@> z<$NgHzhKT}jvz2F`O%g^@cN0h*(`2SO!x@9{KkOT>)A9oQg4LghtaZHVYBCuW3*}x z*-WqJkhzP9{Jb)py-5P)?FYLG<}7b62^u;94K6u%=jLI-9T29QbBVp4&ZYG!a2_EM z*JS(Qd#7<*t->1||Gy!+A+Q(o$Wr(;k4EpFO9sNGTr%XVa!Kz*&sXpR-G}FsC5uLl zXX+m{jX`C&7uljxU^#gTejIado`N4-yq!n0M6x&K5HNEUEhOKA zM7CCCbfKe~l0wUxtR~;jZ#B`a0EWC%aJ?r8eF+%JFwL~9|DX-fg^5=l^Y)iz!f2n z_sx`>NLj^hB61$ur06C)pX$v-S2TqNx3&MwS*>6@tTr1rldFrD{`G!w96s5Dm!`;N zpEi?0q25B^#BWjX(_0Opr_s&@>|Se#oMUClHC~Q>5yjM74K3h@Y&0c6i?w~9uIIO> zMC<^|;Nw{<4nI!$A0MW z!9!%TI*aPy^MvqeIls>eAmw7Xe>(}*QYhc@XTPcPaa)codOZ%qt=hd{snhF?=V* zahikvcoKhN1YT|e7~TcjN$GC@!|a@TpvXS&Bn4r%i_{dFBbO%L4dcgbN=g+rOtoMT zq-gJ=nrC;B=iB5*0(j1kH2PEcA!|r9qdycZk<5g{ejq1jU*d3u?I8nW0la?M z)MPG;ECz75?I9!K@E%%=?f24%np$cCTia|X)N*x z^txg{nJpt=uwTQj=$YktcwMz$!S8&*IF?A-|NIK?kdH!Cb+YIEsrH@qdWAZ6lYOS&kqvZp@#^{0Z`I4Z}Do5lIMpA zC7s~)BX(p1=JLt}(nt}nAzzcl9VVj)7uV)&+ATg7kWj-450hC}a+rp3DWMe{!?p+W zhQw6s4_VblhlU?=1U}!lc7-o^;DE?i(!?()OyhV3*5wE}&fAU;qoSeGcJE zqxbpd7c%THUUhc|tHIf1UwWLD z`@6?!ngJ(>0O+;fnmap$BMSjwuTPMoGe1eZJNzUWo#iK~z4s~7y7Nwv^;3C@Do36s zhj{a8qKx_st(<9RsMXms)Q`tm;x|On&fp|S97W0Jh^RFfP95AiONe-OmfD1#qaT~j z5%tW@EBIAy$euxuUEqUSAhA-(pQu~#9dZ&r7agm8y_)VYFD2d4sFZe%5R8de8?WbV zUwKZUSal0yQd$!X+f=~)jq-woSo=J2YZzw^uQIaRQ1c&OHqwcoT(jBDKi7NS#$)B;yvt29L+& zmT}NlT_VuB!)xL7-WXB=*TGc&a*2Eu)n(#Tw9npsN;t?_3`WyR>SuW12q%U(#HYs} z-*%SKBWoj3dhKXtB1qb&z>08RI3Wl_gT2lM?5>7vkUrsz75X#8$jdHtz~e z`uP0ie?S6? zEAE{oQvxt_(wwC|RPc+P=07CXd-af9`Ox3UJ}>x<%!iM^kvkXuh^#-{Z2NP5jgROC zz~>lVK*(pJ58U6vDj$(teTEwQTW9%k28J3CBYR9CmWanRX5nKRLHUF-+5=L(He_snKKJ}uhFOoHEGMf~H_)%w(ZezUx>uGF}B4BY5a zr>0zs#XnQi3ccIrx&~Q~!$Ovo3(Ua?~Gir7lW)&U=XXpMaiZ zNN&HP_WrL4M{8b_g8uTF@Yt`C?DVab^v3)R{YZL4i`N zpTwbge-b8M{Hf?JW6SR^B9{x$STp2jfw+Yxr(qR;k>I4lC?D3ow?XYiru4w%$eD)LX*}`6=WNS2=ukZ@&(+9<1Spj6ii_GCO#_;g~b#T{- z7Hh^+&3zvU+v-mSmlS@;ZPA*TJ3AY`ul-rkI{$Zw?!Ny-3x(NdY8CUD_-D&!;!)KX z>L(U{$o)h?KeHO#fi!!WM-AMyf4?jB_F>cN({($|({(n=29H?N{(iygI z0TQWkIBXee^Wh!h0-r~hnz0ctz(mh^0^bFZ>8`3G=iIr9%rBhIs=n@!@kCtY$j(;L zGJ3O$yf5^g3TOV*i2Kaglcezl^<)T+FPS6AS;$MC2t1d(or%D6r&StAf!IB=*;lTR z{_cT3KY9xQD0^Ze@E~7Q4IxQJ48~2?KR7YeC>Q3;tfs)T+8t^NJZn9@ra+fL*A)0w ze&`mQYhVtaH^3`jW$IU0;;wQEjg)69@Z{@PrUFln#Az*En7D#RR!V*nOr^L5u=ucf z3K~yR2t2Lxy+Yv0>D>i^Cv0yLsK`VVc)G`6=hGbaCp$jC$N+!M>TVTHwkzLQOQ-p%!?KO)=Is zxd)%Iz-xzsGy+deI0df*hsA%(Wm(b)JYDR7h9(dM<=aL_*W?;LTr2R9Y^s*Ze}?k- z?AG0Q`vQAG#VmA$K^Gm7aIB8FsnqbMv8BK>w`W-jJh$rxbfg@36?T&F%24b``nz=u zq@qSFys2P;Rss*ThglI-HbVV}JzPpqtihnG1(==L42~u0I@FLcn~2Zy9|sj-kcd}c zovjHy{jCMQfS$1?^y_T|o(nS0h5&jD1JsYO*>7ymXYN&tD$c4!74@(PrfdsaVXSD% z>ed!`BrBjc5etRm){=mM#ydlJ@UN;i^%iYQa<*T^LuF5Z?1A#VS(iH^t>kiZrn3=DS)ska)7TH&3p~l$)q${xR_%&j%ZK4vZy8Bi z_E>2OUo(RDz@CZtd=#<%nsIJQ=HN(3^mY{ZHNt4X`t$)y;#c4-pq#lh-va`~x_#6M zKL2cLQt`DD$+tOXQDan776K=l;WzMNPI|LLd~X1|Vux%5f!%c?mU;s<<@K_wv%rs$ ztac_0zW^vwO-(0IED_tbbrE=Gd#DSc=o3_mbgi=c%C0h(3GB5CG1w;;5}2n@b#L*%-CJ z57gCOy}(nrb#BBD!`y^Sd7}5+gj88wBL`X5&RWId+X%62Umby;<~dbI;AdhQ*A*to zEwb4mBc@mNgQ%>Dtbn7N)*XdzG!v4mKi8=q~Ap+Cq4s0Ja<80@TJds9j@$rwe2^ z7RJj^e`zf6%%@}zAyXc75Om{tef}i&y1o#?^4bXsrW0=2vLe%4bn{3#)IdtcHxY8= zCb96MO}&)*xVHvolc!)KMf?Igh&-~5x)Ox~pLSEcR3jAKjBrk#A5p}~$;J5YVLI=^^ zcDS)Mods}$8^)M8=oSzt`0Q7j2z%gNgpgIPwkEDpdXpIN{So6hwWiIeJE@t#PZ40r z(uL9exIcxokecqq9B?x4*ns9l$Gy#kkuq+*TF`1TuZ6&m&!DLr7vvDhcFqMJ(zX=% zQLf=F1#b9-LiwXM-D8khL!{M?32>Q1x>ur>`L`lOg|;FtD{Ms~ZPr@g2|CHGY25pU zA5m>c8cN#`-CMU6Cded1+rpxz&wS*~5at>ph^(Z2A{|~Z1T&m{1fFv-!-tssgHJWq zbo_SNF~n|fR^}`4Y^(>+?H|`qyyF{AGL~K!q0TZ`Il=9S--_B1|2p~!qhydU-uH99XJ9sj6&$foBUn_7`$w><!K4mxU!vZjR*-9IyvYg} zw3bxW+SbG(zdbD*y7t0Exu?AL0zXcJ+uKu*gq|?+w3C#577V(7^7McXqzBG-pmqbH zUCjD*&Y036%a@vs??{Slc1O~I_d1eD$95v#E$d`Z5g`Ja+1nBX@`sOz< z%akNGY7c5@6lD~ErJV@~vo3_#^e)0Ec{)$J5D%b9o49%H9?ZeyU`e;m<2fQf>f~^! zz|RVzGtsPz*%|ID26QDed_h<0QW-{e&CoD{{dyP`MRp^4oHzUk>rR!obSIi=dk8#r z6;0gjpAt>J5+*+ot{E%sLG0-d<=^bLhAoaxrf~aqgy72j!%3lrhtrG?hZ7?GBSND{$ukwk;?NU}!JPW@ot`VK3P7FtVl`s2m`0*9y_*OR7yt|v{T zNiQ;|CifC}0wt2+Va_EAuNFlK3d!lGC`d1EK%F${EpQKbLT`a5QJm{dOS{{*WLHo6 zmWoQh75HIAoXC!jK9C932f)%TLjQvzc`U0BS)1qkP&3!>=tsKY$C2*{Vto{u4=A*Q zLw5rY;AhnUP#z{h)|k~Pc@;Mp5PlZ-tzgD9(Igx$(S(E%(S*B`(S!u&zSK8DrkJtX zhkMk}iRdsUBPo-6>@%Pcl>$C%bj;ai1VFThb49ImBHsEm$xT>R{z(ek*z)D$I+q8g(521pJ9q1?U zV9B+9q%pR@P?L{rUdDGbO@VDE+(VK(n)|edmG}U_MCLj(K;Rc~uF}Fzz_tk&xZ?~JdH7{{EG@KOVrkik zkE0b1w|Kj)yA)|`QHzy5ub~lb2}bvLYB4XK`lyT-cwT?>K;nx%@IzKGEy0Z#(fVp> zwa(`JbxkAwOmL1LB=9rlm_9LO&hnkr@O${}HFI59Jw9Q4R&429@l~YxtP9tzvQ**M z`-l-(!C;yPez)8Aa^+SYF_uwud*do4>z5#y$*^6k4VP;?g`1w_n1Wm(;vfVwOQ3=* z*k=;RIBYV+AecjFslGjgm~$Gyz2(l;x3u-2BIww}L|Tk;69s-k92e44-aaGH#D)8X zlfc^wGLObx2^A(#w})aRTJTUZ9aavd-upnwz%SssfNP-QWaIh41Uyb0|AGVL#0bLnAFK6phuEv z#E#JMH*1{!;v|C+c}mV;c-uBI*q39ZC`I5mMVF_LP7Hza_AS@vqdx z%XYy%?gEq{CbCm$jM4DojWVenBzFoOm_CivhIbl)H#3b^_e7}pXZ}R^1TDr@U{oDz znoe{GOsDk+E9JelN-++tV=vOF%g^cLx%7leEf(&6Z=|TXbXr6WISC37xE&)%Cv1Wj z4QC(g!@I*Vb$A7_9Fj&84=cxKkj}*~+oqPbX^%5$CvhtNok5F^ZX~%8=_85q51{?v zaP?veIAj4iCndqjNG)EI3LPin(_sQ^g`wLRmq}QjoJq93l}UnS1NEkSmm0<6bLpc5 zexb$EQN#@|N0I3hHky>wDrliOxGIFLnIN=d&qfoc{XLpEA!-aEzi13msSdPg|G+67 zgD$>OQ6lE? z9x>^Zz_*ElvIMxJvR4f3!moe=LQ!Kcb>3O-rD>o#k>rt;n*as+;)EH#H5Ys_?w>C+>T&q+0zq`_&jz(1>mc?geF z#UluVIA_`}w5OQx%A*opol@>+UuZMe$ z5Fncm;k2x&gxnw)sC46++X#rSv@HSMCH&4jvd7b@q*j8a5qqqfWVq!Lv2#7B4()d3b;LYWMZ0k&--Ts*bspTw!J$V)_9p`4zv>MMQ zviu2sB+S`R-D?1;R7=|fVoaQkXYXGcs^hWMs;i?v;gG&;<{W{ao?11BSP(ztYG2#c z1@EK-2RRcIMNv;o2Jo9}SR&>UQnt+{nKzk7q8u}i-W1Iv?Ysw|YZ&A3hRdYuC=i5h zx#VNSGz?Q@Lfs)qRhxuOrE!P5lM`G5v_{Zi)h?pfO5c? zcW;^7IN<0C7!&RcoCMbSZBR=}l`g{qgbrk*@e_RWZ*+TLkjQ$qJ{}Ah|@=29^$)_&y zrYvojpL_G%(x4fFxt-yg%2B*gB0h8X<@V%KUNKD&Bz-h0a#tGKWGT5heV0=A`{0eN z*LjWo1g|E<2SE3sy%TC0d(*9k)lnxZY1sFxNdUV`fe zl}M7!3P_w{3j`hk-%&tv^9bOZd}7H1W?2B79=e8F^j|~e3!!|;+^LI<-SP;#YAs(z;8$x1VziDzx!nDQNvzrq6vK7L=(Vahu+9M!Y2T; z)UZ{X3ASyUNr(fW(umNKZ;U;uShp<%TkIBsZO;~}-5zSc-d}SdTeDH{m&`|C2ppr) z$mmI12`6U2K6ksjEH`$kVd`xJobxu426t$+ph3sAC}2VC@HWzOW!nry+g`0=#GR$} zjk8d(Q`>3jzqy^Jiea#%Z|vt*8*;)98glLq>Ivhxy&n#5$ZZ(F2j4)$P*{hO<89j| z&v<=H-<?Dbg%i{M4{2DKex-50tFqBuS4Yw@U67y&z=e@LqOx#QJK}K%=*W5rkt}e}jAeX)9 zrr^xoY#-HLu#fc2(|y#e)B;YxW|s;a=@a*pLR!6_r2i)?NH)E%iQroj-UrA>Mc4+J z&&rdrFZI>OnA8?gtWlJ993aXn50VWx>>%l|l7lq9-67&QbY`b^o(>-YMKZ}`@H-s^ z$Ad@knI_`1uY27)e7`__Sm60ro`=cee6Il?x@2KA2DfAk3sSr5c6QBtlO9WS$_xwu;)TJd9llfdifPH{yP1fP^0UY~}jv)4%fD4KaWh+~39DUIv2gI!1Qf`D4|HzGFg{o*a8HnoiP}!}`r~eiiuV95HC0l0J>a+rlyc zlUK0gzY4YG$>05zMyUeMb2;2>t-RSFEdydY=^~*WVh^A7oPVu@K3{WIdYo4COQ0nm zopfKu0Y|bi{}Z%iMxG$%9|n~cWlV$E72=}eguqh?KAs>ewA)Eq(Y}L0T5aFu&*SnS zB?5bJlI)caCuwDgI7QlO%PCR;NziQ8FGt=Rg-djd&+3v8&u?i$8N(Uiv%_yW-dqtN zMI@ICXhIm&VBu-cRuHjHoYR+as=gIF_d7co}1AsW! z^PBTL_3>^Qkn?USV5@B@>B%moge|F*fWmdO>f@h~7mV4G#wOC=E78vwNVDo*M)05# zZkF)AK8Ati>U_x#gx9Nvc)Vrh7s34VDJLhYM>#PfrWgJGcH0^r%JM1~l=&B7>;F|b zDZG(To^5W|2ZJ}jhfvPKE(rW=KAI|5?GC`1ag1j{TR3=hfvA7*0*Pa1sATcT1MZQ) z@0mddX7T_7F4DwPFA{g0yhzKw+a-E4{t^L+A*DlmZ?D2h1W2oY!u%vW27w~&d6^J^ zanw`p4L*MzNLmJ`Le*jr)x3GR+MJ*7ab9DDTPf|UgK@4Xs+oI*==baj5u+EBq#cNc zlS^ooO}t9!F3YcyHTv`_If#DO2%Jq2(KB-!o5b91Lewkw2wsg+6XXhEeshhqSGViL zid(PKKrv8d=h^&S+^H?P2~O?Zy?8~`OM)%#1}&(EZV;O6ZVEhY_BW{VqNG(vegQwU z<(9@A=(5Y}HE=!kQ(yu6TV%y}+#&-Q{b=h%=WGh*;gBxJaK8pGxI}R8-6AN1ZWG)q z;D>B?yn!lney#5<_bnCdN6HwMlWunmleRYZc?9u@f<1Tw$1wW|_sLNyhad8!FGC;qS`SljUm)&*Ap-e;=3DWADz1l$ zLUQ-n6q*Ihvat^Zeu-?}L&D|rheQWQ&_Yq~IvnAUc;5kgeeQ2Wtku7fYW@UW+MM14 zpTZKrTfvFhXC%b)6#Q{86;zz~G&?h?1^0PjN_^Q^_K2oD2Ks1sc~iL&ECrkQ7)JAd zOh#yr$3zvB{*vG}{+u;rke)s!74r9Enn3guGE(+Fp#jza_G@;00iRuyL(<4mXAYu( zZH4}jqf(z5g#Ib9hRZV=5_b#+?ppZk*S2iWGs0QvGs40>R>Ta;_aXl{QjHf&q zw2^~4J$r-(LLD_=ZxJea$?LycrNFQ0&#ffa8Pg{2`4uWTIC5`u{)Cu<9FRwY8j;@P z4N1wCH?&)fF`2@@tOl~k<&a_m%`8~d?-VA_`JGIqYroUd=ko_m9-X%fQ9gIRHj|X* zV0-Z4)^eogza?pieM|cQm~mmP{-FoE_q*WFmOW2`i-JYSInj;hEfVo*^7=k~ItphY zy;6XIs!N~>_*~lgbS<9iCr`7i5`ZpwM=XB*9c^KU{z*Dvk`-vcos{u21juDGnI(r&<4#qcab36x9e45CA<@GtV34*f;C zy9rcvnlY;Y!Q)k-E2VUBF{BrYZJ-dTF!4PJ32w>M?$GWvPaeRIabTyx2_rKz()i^p z*dfA*Pwn9zCSPHYVVv}V_%rVV;rjIlqE*C4@YD1xr-n{beGjwvLN!L zuM}u+x3QKB3l_yrtiW7^Sap81f;ACEp1j*u6nTF1DpBNlE@)LYNU872ceJ2O8|jq> z?s#HxW+Kl@K*3))^0!w!oQ^fviuh=AcG!$MJ!2;FM1feS8M`F?BexaOl_F2rov##m zf@Gyq`LtaouY!@~pchQ0e*ey6}|=%ttm<5}1@9EwV`}8ho}& z#ouTI6ZnU#vx*DTacue3~<)1|UzsU|d3Rs4sn9f!x5v@wKVs4KOHJ zl{k!Y_Yh2k#=Dltj}zq9B5>Z_Cep`4-P{I4Gr#6m~tt2~iwb|hYn?L~fY0M-4D5jlG$%Bu7yzk3HUz`1F<|3A?wG$TOlQ!w-4b z9{`%aZhLxEyLh3 zX#qX(B%ia+G@i2y{YZ5Yd2-ev7eb8Am5SnB39ow$KeT$Ww+tmNwM*E^v*^LWJ+*qm z%fag98xA|X=jDCfsC>Aa$n(ju{hi+*v&i2-dl%?M3osw>nm~LnE7dwQbUOSnj#z4) z(jCunG-u&%qKc{O5?)>FihX1RXVs-C_5u*R-LF72riJKZ)U>FB5wG}kF@5ewpR>NnHmUe6e z15X-8HDi4m5U@iVi2U5mp$3F!ZA1DIXZW$RA*p^0-F0yRpWXnz84GDd9Yr-FCfwSH zxT&fU;UUVMe(ZFoj?j^)acs;YZp6wEg)|oV8Z@9Wb+ofFq0h{N7LNWNgr`Cek?%R6 zv|qdrAA?Q;%E|qNHX(pwno#BKh96Z;Xl4ne8u3tz}d^*gYdYB(vz?n-8zQs^M2VQ~QZARl@+x_5cyVq+ZHs3SuKcH?zW)5(TZ3T z^7ma1W6CIQV^rtP#UZalI|zWo4Stpqm{@* zz&WkRO8N_0yS}>dJ!=*Tbh|SF9rR(mXXf6TmV}wD3GVBy32v`8L`j@!bnn_Td9b9U zjmS@DrNiq!gQt5N#R&p=ZAEU(qInscsyxa;f+iMH>=@*iWEyu~TjH0yZAE^v$HzzH zXXSAHxA{p8U%bUbz}S}E^bxrMjb(#h{q_ytMT~0&7N6@#2qQ4<#ArGOfY2h&@L4r? z&=I0!E74p^O@}XVvpipspSLOSr3oSl+SObIW+Xb&UwgI78ki#UQFR)Hn3U+N^X= zPc+F8clr+1R9pL`?<|Z^vb`M$KW91+49*?N(iz{8^i^p`GDFa#xjnJl3CfXaC90*e z6ug?G=%TNQ!bavH;`~H>?$3cQ+uFfe_?6dKStpSn8M@m^!;U zI=qJrWeA_M&kl*_w8;yl6?jXi7%gX;Ag@QOW;3_?HEmc$ebH5>i0w%3S2u@J>;<1m zT_0{GJ_m_ltGbFjhiz+D4o`j_%u94?RCU=WAL` z9*3nT@QWRg=W%p=Mh@Ayn}^=>x{ExE6c?1Z2^KZDQuNM3w9Vp8n7RkqRsDMqe{_YC zktPAJc_%3Nl0WEC+kafs^XSJ=?ujB<&27^;7LdOY4t(w`SdhkY_*Szv<&vVQ5cdN z&VgdHdy0Ht4n^jQY3Cb8Oe$I9UNn+VFY#O1L|f2{@N%ygiMelY5{|jOX-G6y@+U`z zlllXtCY4S?%};AF^Zi!jL2V?S`|1syj67^(H+0NESytkp2yuo_&!yMkvS!d*(xLIy z&k=<6A!(lim2QNUKxpY7+S~FUA2}~v^W2VC01cy&R*%LL!jt(htp9g}xINzy^C_c9 zOa?@en0yPOu)N1la8VH&qo}4FG6xP!%aY+;$vaBK=h!z+jlM34QdoN!NmrjL;4|Rh z9%nx1yl7fVF?M*YcAbx$8Ixg|(ug~F6K39*=81v5OO{!yjry6Vbsg#}^24%CV#wXX zJG@(d8aRdBOBRD!v@y{7{S^9!Jpky|P^ z@qy+9je$Flh09M9bL`3&&H4+#Du*Op%S!(OUx8dODw#^>5>R*Q$4jYw5U z>7DvQia-gk#>xhZ{2<>_coA&2(v%O8lR)Mbp5AEd2(dyyStoWcLFBuTXe)%q1l8x^ z8tC0p(gk9wruME@VBLoh$)bnQl=luH>f0rX{A}NZM2h?@fv&=rM3ox5GLwRiL(arM zZvGyBc`=>eu80%0EN`g6uo_AM6f}97KHUyqe!x>C6@WNqc3TU#W%L&n;v$;t@Fc?b z*(4%#Ih3p%^HW`JuBRu6mMmu&E%FP75zLjtM1B%4YB=ezThJ`|Zm+gH00yI3<|k7$ z%`ursc?IgUHBHlS;vhpSq|(lqhPaEsxt2^(F#i;i1oSFzw>r?An_x20ihOa)6Hgxj zRr6D+;(GY^zN=<&#)_7#D3wUo7s`4(S($C*Aq87KbTHYh3cwSx2R^ey^E;#Dwns+g z9`CF)BG}V3k?%pyhu-Y^H-+pTM66M?Y>js;6sC*u@)A7)YN}f6m_8AD1mO~;g7%Of z&C*AZ{q-Iy%#*Tz{wg8TYv5V9y$JuZ^CO6BZj2E54F^FPwD2s?;BWFrlH?39{5UX@ zNa~zPx*!%tvF`F#K!*Tw9gtnlXA-;I$)u23=qOs?SB;|8WHdAzI>%!#*Sh+#u6RbBAM6L_n)hhHpSKgP9feQ;BxCKy(n^sxmh5O;=yD>~|HhY6gn2czP#TZa`HUk6 zYyLQzWd^j^`><0l&hK}}iyG!NUbK{hAS0nnIkqH&3!+>$XFP?u#zL9dn;viYiU4JN zMfftFrV}xNJV3NLAOF>L3%`s@?&R47k$<@mwd#Zo52thN1WzQMiI15GMkJWyqfmPm&`x;7Hq+E z(VT6_CdX%QHnF%5R5}>wQtJ_v#F$2drYH9=GJLMnZFHhV!kKY+50_>sGUxHgd8?- zS+hsR*(h1%5?Iz`iz5`kLH0X5olF;p86-QYGl&$wKzpYFZJJhVFV3WiI?W_foPkQ7 zONPvs>BaWWG&nso35ZB2FI}8k#v&I3J$uZ-P)H|uhht~YBG_-w68QmhpVa2?7eenS1Q zVRk@0Bh8hP_In5$X{+n&C4vXL*8%*Wy!m1q*-Sn?pOA|OWVR$^%=rozOUx5_4myI? z)4tP5M7$q6kVkBKE{`B}TR=QBX#x57n0?=ZNu1pHU+icjg1x z-^v

=#Zy$*{s@c56kR9s9;m>09W#XU37e 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

  • _m4w+vH==%VfEHy)^ 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

    Coverage Distribution

    -
    +
    @@ -85,7 +85,7 @@

    Coverage Distribution

    -
    +
    @@ -137,145 +137,157 @@

    - - - - + + + diff --git a/src/Report/Html/Renderer/Template/dashboard_branch.html.dist b/src/Report/Html/Renderer/Template/dashboard_branch.html.dist index 60e66d5be..80ac23243 100644 --- a/src/Report/Html/Renderer/Template/dashboard_branch.html.dist +++ b/src/Report/Html/Renderer/Template/dashboard_branch.html.dist @@ -5,7 +5,7 @@ Dashboard for {{full_path}} - + @@ -32,7 +32,7 @@

    Coverage Distribution

    -
    +
    @@ -85,7 +85,7 @@

    Coverage Distribution

    -
    +
    @@ -137,145 +137,157 @@

    - - - - + + + diff --git a/src/Report/Html/Renderer/Template/js/billboard.pkgd.min.js b/src/Report/Html/Renderer/Template/js/billboard.pkgd.min.js new file mode 100644 index 000000000..52128a864 --- /dev/null +++ b/src/Report/Html/Renderer/Template/js/billboard.pkgd.min.js @@ -0,0 +1,57 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.15.1 + * + * All-in-one packaged file for ease use of 'billboard.js' with dependant d3.js modules & polyfills. + * - @types/d3-selection ^3.0.11 + * - @types/d3-transition ^3.0.9 + * - d3-axis ^3.0.0 + * - d3-brush ^3.0.0 + * - d3-drag ^3.0.0 + * - d3-dsv ^3.0.1 + * - d3-ease ^3.0.1 + * - d3-hierarchy ^3.1.2 + * - d3-interpolate ^3.0.1 + * - d3-scale ^4.0.2 + * - d3-selection ^3.0.0 + * - d3-shape ^3.2.0 + * - d3-time-format ^4.1.0 + * - d3-transition ^3.0.1 + * - d3-zoom ^3.0.0 + */(function(Xa,zn){if(typeof exports=="object"&&typeof module=="object")module.exports=zn();else if(typeof define=="function"&&define.amd)define([],zn);else{var Ha=zn();for(var x in Ha)(typeof exports=="object"?exports:Xa)[x]=Ha[x]}})(this,function(){return function(){"use strict";var Cs=[function(x,b,r){r(1),r(97),r(98),r(99),r(100),r(101),r(102),r(103),r(104),r(105),r(106),r(107),r(108),r(109),r(110),r(111),r(124),r(126),r(136),r(137),r(139),r(143),r(146),r(148),r(150),r(151),r(152),r(153),r(155),r(156),r(158),r(159),r(161),r(165),r(166),r(167),r(168),r(173),r(174),r(176),r(177),r(178),r(180),r(184),r(185),r(186),r(187),r(188),r(193),r(195),r(196),r(198),r(201),r(202),r(203),r(204),r(205),r(207),r(218),r(220),r(221),r(223),r(224),r(227),r(230),r(236),r(237),r(238),r(239),r(240),r(241),r(245),r(246),r(248),r(249),r(250),r(252),r(253),r(254),r(255),r(256),r(261),r(262),r(263),r(264),r(266),r(267),r(268),r(270),r(271),r(272),r(273),r(93),r(274),r(275),r(283),r(285),r(287),r(288),r(289),r(290),r(291),r(293),r(294),r(295),r(296),r(297),r(298),r(300),r(301),r(302),r(303),r(304),r(305),r(306),r(307),r(311),r(312),r(314),r(316),r(317),r(318),r(319),r(320),r(322),r(324),r(325),r(326),r(327),r(329),r(330),r(332),r(333),r(334),r(335),r(337),r(338),r(339),r(340),r(341),r(342),r(343),r(344),r(345),r(347),r(348),r(349),r(350),r(351),r(352),r(353),r(354),r(355),r(356),r(357),r(359),r(360),r(361),r(362),r(386),r(387),r(388),r(389),r(390),r(391),r(392),r(393),r(394),r(395),r(397),r(398),r(399),r(400),r(401),r(402),r(403),r(404),r(405),r(406),r(413),r(415),r(416),r(418),r(419),r(420),r(421),r(422),r(424),r(434),r(436),r(438),r(440),r(442),r(444),r(446),r(447),r(449),r(452),r(453),r(454),r(455),r(456),r(460),r(461),r(463),r(464),r(465),r(466),r(468),r(469),r(470),r(471),r(472),r(473),r(474),r(476),r(479),r(482),r(485),r(486),r(487),r(488),r(489),r(490),r(491),r(492),r(493),r(494),r(495),r(496),r(497),r(505),r(506),r(507),r(508),r(509),r(510),r(511),r(512),r(513),r(514),r(515),r(516),r(517),r(519),r(520),r(521),r(522),r(523),r(524),r(525),r(526),r(527),r(528),r(529),r(530),r(531),r(532),r(533),r(534),r(535),r(536),r(537),r(538),r(539),r(540),r(541),r(542),r(543),r(544),r(545),r(546),r(549),r(551),r(553),r(554),r(557),r(558),r(560),r(561),r(562),r(566),r(567),r(568),r(569),r(572),r(577),r(578),r(579),r(580),r(581),r(582),r(583),r(80)},function(x,b,r){r(2),r(90),r(92),r(93),r(96)},function(x,b,r){var u=r(3),d=r(4),h=r(8),p=r(14),y=r(36),T=r(6),$=r(26),A=r(7),E=r(38),R=r(24),I=r(46),O=r(12),C=r(18),D=r(68),M=r(11),F=r(71),z=r(73),U=r(57),j=r(75),G=r(66),B=r(5),V=r(44),Y=r(72),Z=r(10),J=r(47),q=r(77),nt=r(34),rt=r(53),_=r(54),tt=r(40),et=r(33),lt=r(78),mt=r(79),gt=r(81),xt=r(82),yt=r(51),Ut=r(83).forEach,Dt=rt("hidden"),Xt="Symbol",Qt="prototype",kt=yt.set,me=yt.getterFor(Xt),ge=Object[Qt],ae=d.Symbol,Mt=ae&&ae[Qt],Ht=d.RangeError,re=d.TypeError,se=d.QObject,ee=B.f,fe=V.f,Pe=j.f,Me=Z.f,$e=p([].push),ce=nt("symbols"),Ae=nt("op-symbols"),Te=nt("wks"),de=!se||!se[Qt]||!se[Qt].findChild,bt=function(It,Pt,Ct){var Nt=ee(ge,Pt);Nt&&delete ge[Pt],fe(It,Pt,Ct),Nt&&It!==ge&&fe(ge,Pt,Nt)},Ft=T&&A(function(){return F(fe({},"a",{get:function(){return fe(this,"a",{value:7}).a}})).a!==7})?bt:fe,Tt=function(It,Pt){var Ct=ce[It]=F(Mt);return kt(Ct,{type:Xt,tag:It,description:Pt}),T||(Ct.description=Pt),Ct},qt=function(Pt,Ct,Nt){Pt===ge&&qt(Ae,Ct,Nt),I(Pt);var Et=C(Ct);return I(Nt),E(ce,Et)?(Nt.enumerable?(E(Pt,Dt)&&Pt[Dt][Et]&&(Pt[Dt][Et]=!1),Nt=F(Nt,{enumerable:M(0,!1)})):(E(Pt,Dt)||fe(Pt,Dt,M(1,F(null))),Pt[Dt][Et]=!0),Ft(Pt,Et,Nt)):fe(Pt,Et,Nt)},te=function(Pt,Ct){I(Pt);var Nt=O(Ct),Et=z(Nt).concat(ut(Nt));return Ut(Et,function(ie){(!T||h(Yt,Nt,ie))&&qt(Pt,ie,Nt[ie])}),Pt},Zt=function(Pt,Ct){return Ct===void 0?F(Pt):te(F(Pt),Ct)},Yt=function(Pt){var Ct=C(Pt),Nt=h(Me,this,Ct);return this===ge&&E(ce,Ct)&&!E(Ae,Ct)?!1:Nt||!E(this,Ct)||!E(ce,Ct)||E(this,Dt)&&this[Dt][Ct]?Nt:!0},Ye=function(Pt,Ct){var Nt=O(Pt),Et=C(Ct);if(!(Nt===ge&&E(ce,Et)&&!E(Ae,Et))){var ie=ee(Nt,Et);return ie&&E(ce,Et)&&!(E(Nt,Dt)&&Nt[Dt][Et])&&(ie.enumerable=!0),ie}},Ze=function(Pt){var Ct=Pe(O(Pt)),Nt=[];return Ut(Ct,function(Et){!E(ce,Et)&&!E(_,Et)&&$e(Nt,Et)}),Nt},ut=function(It){var Pt=It===ge,Ct=Pe(Pt?Ae:O(It)),Nt=[];return Ut(Ct,function(Et){E(ce,Et)&&(!Pt||E(ge,Et))&&$e(Nt,ce[Et])}),Nt};$||(ae=function(){if(R(Mt,this))throw new re("Symbol is not a constructor");var Pt=!arguments.length||arguments[0]===void 0?void 0:D(arguments[0]),Ct=tt(Pt),Nt=function(Et){var ie=this===void 0?d:this;ie===ge&&h(Nt,Ae,Et),E(ie,Dt)&&E(ie[Dt],Ct)&&(ie[Dt][Ct]=!1);var we=M(1,Et);try{Ft(ie,Ct,we)}catch(Rt){if(!(Rt instanceof Ht))throw Rt;bt(ie,Ct,we)}};return T&&de&&Ft(ge,Ct,{configurable:!0,set:Nt}),Tt(Ct,Pt)},Mt=ae[Qt],J(Mt,"toString",function(){return me(this).tag}),J(ae,"withoutSetter",function(It){return Tt(tt(It),It)}),Z.f=Yt,V.f=qt,Y.f=te,B.f=Ye,U.f=j.f=Ze,G.f=ut,lt.f=function(It){return Tt(et(It),It)},T&&(q(Mt,"description",{configurable:!0,get:function(){return me(this).description}}),y||J(ge,"propertyIsEnumerable",Yt,{unsafe:!0}))),u({global:!0,constructor:!0,wrap:!0,forced:!$,sham:!$},{Symbol:ae}),Ut(z(Te),function(It){mt(It)}),u({target:Xt,stat:!0,forced:!$},{useSetter:function(){de=!0},useSimple:function(){de=!1}}),u({target:"Object",stat:!0,forced:!$,sham:!T},{create:Zt,defineProperty:qt,defineProperties:te,getOwnPropertyDescriptor:Ye}),u({target:"Object",stat:!0,forced:!$},{getOwnPropertyNames:Ze}),gt(),xt(ae,Xt),_[Dt]=!0},function(x,b,r){var u=r(4),d=r(5).f,h=r(43),p=r(47),y=r(37),T=r(55),$=r(67);x.exports=function(A,E){var R=A.target,I=A.global,O=A.stat,C,D,M,F,z,U;if(I?D=u:O?D=u[R]||y(R,{}):D=u[R]&&u[R].prototype,D)for(M in E){if(z=E[M],A.dontCallGetSet?(U=d(D,M),F=U&&U.value):F=D[M],C=$(I?M:R+(O?".":"#")+M,A.forced),!C&&F!==void 0){if(typeof z==typeof F)continue;T(z,F)}(A.sham||F&&F.sham)&&h(z,"sham",!0),p(D,M,z,A)}}},function(x){var b=function(r){return r&&r.Math===Math&&r};x.exports=b(typeof globalThis=="object"&&globalThis)||b(typeof window=="object"&&window)||b(typeof self=="object"&&self)||b(typeof global=="object"&&global)||b(typeof this=="object"&&this)||function(){return this}()||Function("return this")()},function(x,b,r){var u=r(6),d=r(8),h=r(10),p=r(11),y=r(12),T=r(18),$=r(38),A=r(41),E=Object.getOwnPropertyDescriptor;b.f=u?E:function(I,O){if(I=y(I),O=T(O),A)try{return E(I,O)}catch(C){}if($(I,O))return p(!d(h.f,I,O),I[O])}},function(x,b,r){var u=r(7);x.exports=!u(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})},function(x){x.exports=function(b){try{return!!b()}catch(r){return!0}}},function(x,b,r){var u=r(9),d=Function.prototype.call;x.exports=u?d.bind(d):function(){return d.apply(d,arguments)}},function(x,b,r){var u=r(7);x.exports=!u(function(){var d=function(){}.bind();return typeof d!="function"||d.hasOwnProperty("prototype")})},function(x,b){var r={}.propertyIsEnumerable,u=Object.getOwnPropertyDescriptor,d=u&&!r.call({1:2},1);b.f=d?function(p){var y=u(this,p);return!!y&&y.enumerable}:r},function(x){x.exports=function(b,r){return{enumerable:!(b&1),configurable:!(b&2),writable:!(b&4),value:r}}},function(x,b,r){var u=r(13),d=r(16);x.exports=function(h){return u(d(h))}},function(x,b,r){var u=r(14),d=r(7),h=r(15),p=Object,y=u("".split);x.exports=d(function(){return!p("z").propertyIsEnumerable(0)})?function(T){return h(T)==="String"?y(T,""):p(T)}:p},function(x,b,r){var u=r(9),d=Function.prototype,h=d.call,p=u&&d.bind.bind(h,h);x.exports=u?p:function(y){return function(){return h.apply(y,arguments)}}},function(x,b,r){var u=r(14),d=u({}.toString),h=u("".slice);x.exports=function(p){return h(d(p),8,-1)}},function(x,b,r){var u=r(17),d=TypeError;x.exports=function(h){if(u(h))throw new d("Can't call method on "+h);return h}},function(x){x.exports=function(b){return b==null}},function(x,b,r){var u=r(19),d=r(22);x.exports=function(h){var p=u(h,"string");return d(p)?p:p+""}},function(x,b,r){var u=r(8),d=r(20),h=r(22),p=r(29),y=r(32),T=r(33),$=TypeError,A=T("toPrimitive");x.exports=function(E,R){if(!d(E)||h(E))return E;var I=p(E,A),O;if(I){if(R===void 0&&(R="default"),O=u(I,E,R),!d(O)||h(O))return O;throw new $("Can't convert object to primitive value")}return R===void 0&&(R="number"),y(E,R)}},function(x,b,r){var u=r(21);x.exports=function(d){return typeof d=="object"?d!==null:u(d)}},function(x){var b=typeof document=="object"&&document.all;x.exports=typeof b=="undefined"&&b!==void 0?function(r){return typeof r=="function"||r===b}:function(r){return typeof r=="function"}},function(x,b,r){var u=r(23),d=r(21),h=r(24),p=r(25),y=Object;x.exports=p?function(T){return typeof T=="symbol"}:function(T){var $=u("Symbol");return d($)&&h($.prototype,y(T))}},function(x,b,r){var u=r(4),d=r(21),h=function(p){return d(p)?p:void 0};x.exports=function(p,y){return arguments.length<2?h(u[p]):u[p]&&u[p][y]}},function(x,b,r){var u=r(14);x.exports=u({}.isPrototypeOf)},function(x,b,r){var u=r(26);x.exports=u&&!Symbol.sham&&typeof Symbol.iterator=="symbol"},function(x,b,r){var u=r(27),d=r(7),h=r(4),p=h.String;x.exports=!!Object.getOwnPropertySymbols&&!d(function(){var y=Symbol("symbol detection");return!p(y)||!(Object(y)instanceof Symbol)||!Symbol.sham&&u&&u<41})},function(x,b,r){var u=r(4),d=r(28),h=u.process,p=u.Deno,y=h&&h.versions||p&&p.version,T=y&&y.v8,$,A;T&&($=T.split("."),A=$[0]>0&&$[0]<4?1:+($[0]+$[1])),!A&&d&&($=d.match(/Edge\/(\d+)/),(!$||$[1]>=74)&&($=d.match(/Chrome\/(\d+)/),$&&(A=+$[1]))),x.exports=A},function(x,b,r){var u=r(4),d=u.navigator,h=d&&d.userAgent;x.exports=h?String(h):""},function(x,b,r){var u=r(30),d=r(17);x.exports=function(h,p){var y=h[p];return d(y)?void 0:u(y)}},function(x,b,r){var u=r(21),d=r(31),h=TypeError;x.exports=function(p){if(u(p))return p;throw new h(d(p)+" is not a function")}},function(x){var b=String;x.exports=function(r){try{return b(r)}catch(u){return"Object"}}},function(x,b,r){var u=r(8),d=r(21),h=r(20),p=TypeError;x.exports=function(y,T){var $,A;if(T==="string"&&d($=y.toString)&&!h(A=u($,y))||d($=y.valueOf)&&!h(A=u($,y))||T!=="string"&&d($=y.toString)&&!h(A=u($,y)))return A;throw new p("Can't convert object to primitive value")}},function(x,b,r){var u=r(4),d=r(34),h=r(38),p=r(40),y=r(26),T=r(25),$=u.Symbol,A=d("wks"),E=T?$.for||$:$&&$.withoutSetter||p;x.exports=function(R){return h(A,R)||(A[R]=y&&h($,R)?$[R]:E("Symbol."+R)),A[R]}},function(x,b,r){var u=r(35);x.exports=function(d,h){return u[d]||(u[d]=h||{})}},function(x,b,r){var u=r(36),d=r(4),h=r(37),p="__core-js_shared__",y=x.exports=d[p]||h(p,{});(y.versions||(y.versions=[])).push({version:"3.41.0",mode:u?"pure":"global",copyright:"\xA9 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.41.0/LICENSE",source:"https://github.com/zloirock/core-js"})},function(x){x.exports=!1},function(x,b,r){var u=r(4),d=Object.defineProperty;x.exports=function(h,p){try{d(u,h,{value:p,configurable:!0,writable:!0})}catch(y){u[h]=p}return p}},function(x,b,r){var u=r(14),d=r(39),h=u({}.hasOwnProperty);x.exports=Object.hasOwn||function(y,T){return h(d(y),T)}},function(x,b,r){var u=r(16),d=Object;x.exports=function(h){return d(u(h))}},function(x,b,r){var u=r(14),d=0,h=Math.random(),p=u(1 .toString);x.exports=function(y){return"Symbol("+(y===void 0?"":y)+")_"+p(++d+h,36)}},function(x,b,r){var u=r(6),d=r(7),h=r(42);x.exports=!u&&!d(function(){return Object.defineProperty(h("div"),"a",{get:function(){return 7}}).a!==7})},function(x,b,r){var u=r(4),d=r(20),h=u.document,p=d(h)&&d(h.createElement);x.exports=function(y){return p?h.createElement(y):{}}},function(x,b,r){var u=r(6),d=r(44),h=r(11);x.exports=u?function(p,y,T){return d.f(p,y,h(1,T))}:function(p,y,T){return p[y]=T,p}},function(x,b,r){var u=r(6),d=r(41),h=r(45),p=r(46),y=r(18),T=TypeError,$=Object.defineProperty,A=Object.getOwnPropertyDescriptor,E="enumerable",R="configurable",I="writable";b.f=u?h?function(C,D,M){if(p(C),D=y(D),p(M),typeof C=="function"&&D==="prototype"&&"value"in M&&I in M&&!M[I]){var F=A(C,D);F&&F[I]&&(C[D]=M.value,M={configurable:R in M?M[R]:F[R],enumerable:E in M?M[E]:F[E],writable:!1})}return $(C,D,M)}:$:function(C,D,M){if(p(C),D=y(D),p(M),d)try{return $(C,D,M)}catch(F){}if("get"in M||"set"in M)throw new T("Accessors not supported");return"value"in M&&(C[D]=M.value),C}},function(x,b,r){var u=r(6),d=r(7);x.exports=u&&d(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})},function(x,b,r){var u=r(20),d=String,h=TypeError;x.exports=function(p){if(u(p))return p;throw new h(d(p)+" is not an object")}},function(x,b,r){var u=r(21),d=r(44),h=r(48),p=r(37);x.exports=function(y,T,$,A){A||(A={});var E=A.enumerable,R=A.name!==void 0?A.name:T;if(u($)&&h($,R,A),A.global)E?y[T]=$:p(T,$);else{try{A.unsafe?y[T]&&(E=!0):delete y[T]}catch(I){}E?y[T]=$:d.f(y,T,{value:$,enumerable:!1,configurable:!A.nonConfigurable,writable:!A.nonWritable})}return y}},function(x,b,r){var u=r(14),d=r(7),h=r(21),p=r(38),y=r(6),T=r(49).CONFIGURABLE,$=r(50),A=r(51),E=A.enforce,R=A.get,I=String,O=Object.defineProperty,C=u("".slice),D=u("".replace),M=u([].join),F=y&&!d(function(){return O(function(){},"length",{value:8}).length!==8}),z=String(String).split("String"),U=x.exports=function(j,G,B){C(I(G),0,7)==="Symbol("&&(G="["+D(I(G),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),B&&B.getter&&(G="get "+G),B&&B.setter&&(G="set "+G),(!p(j,"name")||T&&j.name!==G)&&(y?O(j,"name",{value:G,configurable:!0}):j.name=G),F&&B&&p(B,"arity")&&j.length!==B.arity&&O(j,"length",{value:B.arity});try{B&&p(B,"constructor")&&B.constructor?y&&O(j,"prototype",{writable:!1}):j.prototype&&(j.prototype=void 0)}catch(Y){}var V=E(j);return p(V,"source")||(V.source=M(z,typeof G=="string"?G:"")),j};Function.prototype.toString=U(function(){return h(this)&&R(this).source||$(this)},"toString")},function(x,b,r){var u=r(6),d=r(38),h=Function.prototype,p=u&&Object.getOwnPropertyDescriptor,y=d(h,"name"),T=y&&function(){}.name==="something",$=y&&(!u||u&&p(h,"name").configurable);x.exports={EXISTS:y,PROPER:T,CONFIGURABLE:$}},function(x,b,r){var u=r(14),d=r(21),h=r(35),p=u(Function.toString);d(h.inspectSource)||(h.inspectSource=function(y){return p(y)}),x.exports=h.inspectSource},function(x,b,r){var u=r(52),d=r(4),h=r(20),p=r(43),y=r(38),T=r(35),$=r(53),A=r(54),E="Object already initialized",R=d.TypeError,I=d.WeakMap,O,C,D,M=function(j){return D(j)?C(j):O(j,{})},F=function(j){return function(G){var B;if(!h(G)||(B=C(G)).type!==j)throw new R("Incompatible receiver, "+j+" required");return B}};if(u||T.state){var z=T.state||(T.state=new I);z.get=z.get,z.has=z.has,z.set=z.set,O=function(j,G){if(z.has(j))throw new R(E);return G.facade=j,z.set(j,G),G},C=function(j){return z.get(j)||{}},D=function(j){return z.has(j)}}else{var U=$("state");A[U]=!0,O=function(j,G){if(y(j,U))throw new R(E);return G.facade=j,p(j,U,G),G},C=function(j){return y(j,U)?j[U]:{}},D=function(j){return y(j,U)}}x.exports={set:O,get:C,has:D,enforce:M,getterFor:F}},function(x,b,r){var u=r(4),d=r(21),h=u.WeakMap;x.exports=d(h)&&/native code/.test(String(h))},function(x,b,r){var u=r(34),d=r(40),h=u("keys");x.exports=function(p){return h[p]||(h[p]=d(p))}},function(x){x.exports={}},function(x,b,r){var u=r(38),d=r(56),h=r(5),p=r(44);x.exports=function(y,T,$){for(var A=d(T),E=p.f,R=h.f,I=0;IR;)d(E,O=A[R++])&&(~p(I,O)||T(I,O));return I}},function(x,b,r){var u=r(12),d=r(60),h=r(63),p=function(y){return function(T,$,A){var E=u(T),R=h(E);if(R===0)return!y&&-1;var I=d(A,R),O;if(y&&$!==$){for(;R>I;)if(O=E[I++],O!==O)return!0}else for(;R>I;I++)if((y||I in E)&&E[I]===$)return y||I||0;return!y&&-1}};x.exports={includes:p(!0),indexOf:p(!1)}},function(x,b,r){var u=r(61),d=Math.max,h=Math.min;x.exports=function(p,y){var T=u(p);return T<0?d(T+y,0):h(T,y)}},function(x,b,r){var u=r(62);x.exports=function(d){var h=+d;return h!==h||h===0?0:u(h)}},function(x){var b=Math.ceil,r=Math.floor;x.exports=Math.trunc||function(d){var h=+d;return(h>0?r:b)(h)}},function(x,b,r){var u=r(64);x.exports=function(d){return u(d.length)}},function(x,b,r){var u=r(61),d=Math.min;x.exports=function(h){var p=u(h);return p>0?d(p,9007199254740991):0}},function(x){x.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(x,b){b.f=Object.getOwnPropertySymbols},function(x,b,r){var u=r(7),d=r(21),h=/#|\.prototype\./,p=function(E,R){var I=T[y(E)];return I===A?!0:I===$?!1:d(R)?u(R):!!R},y=p.normalize=function(E){return String(E).replace(h,".").toLowerCase()},T=p.data={},$=p.NATIVE="N",A=p.POLYFILL="P";x.exports=p},function(x,b,r){var u=r(69),d=String;x.exports=function(h){if(u(h)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return d(h)}},function(x,b,r){var u=r(70),d=r(21),h=r(15),p=r(33),y=p("toStringTag"),T=Object,$=h(function(){return arguments}())==="Arguments",A=function(E,R){try{return E[R]}catch(I){}};x.exports=u?h:function(E){var R,I,O;return E===void 0?"Undefined":E===null?"Null":typeof(I=A(R=T(E),y))=="string"?I:$?h(R):(O=h(R))==="Object"&&d(R.callee)?"Arguments":O}},function(x,b,r){var u=r(33),d=u("toStringTag"),h={};h[d]="z",x.exports=String(h)==="[object z]"},function(x,b,r){var u=r(46),d=r(72),h=r(65),p=r(54),y=r(74),T=r(42),$=r(53),A=">",E="<",R="prototype",I="script",O=$("IE_PROTO"),C=function(){},D=function(j){return E+I+A+j+E+"/"+I+A},M=function(j){j.write(D("")),j.close();var G=j.parentWindow.Object;return j=null,G},F=function(){var j=T("iframe"),G="java"+I+":",B;return j.style.display="none",y.appendChild(j),j.src=String(G),B=j.contentWindow.document,B.open(),B.write(D("document.F=Object")),B.close(),B.F},z,U=function(){try{z=new ActiveXObject("htmlfile")}catch(G){}U=typeof document!="undefined"?document.domain&&z?M(z):F():M(z);for(var j=h.length;j--;)delete U[R][h[j]];return U()};p[O]=!0,x.exports=Object.create||function(G,B){var V;return G!==null?(C[R]=u(G),V=new C,C[R]=null,V[O]=G):V=U(),B===void 0?V:d.f(V,B)}},function(x,b,r){var u=r(6),d=r(45),h=r(44),p=r(46),y=r(12),T=r(73);b.f=u&&!d?Object.defineProperties:function(A,E){p(A);for(var R=y(E),I=T(E),O=I.length,C=0,D;O>C;)h.f(A,D=I[C++],R[D]);return A}},function(x,b,r){var u=r(58),d=r(65);x.exports=Object.keys||function(p){return u(p,d)}},function(x,b,r){var u=r(23);x.exports=u("document","documentElement")},function(x,b,r){var u=r(15),d=r(12),h=r(57).f,p=r(76),y=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],T=function($){try{return h($)}catch(A){return p(y)}};x.exports.f=function(A){return y&&u(A)==="Window"?T(A):h(d(A))}},function(x,b,r){var u=r(14);x.exports=u([].slice)},function(x,b,r){var u=r(48),d=r(44);x.exports=function(h,p,y){return y.get&&u(y.get,p,{getter:!0}),y.set&&u(y.set,p,{setter:!0}),d.f(h,p,y)}},function(x,b,r){var u=r(33);b.f=u},function(x,b,r){var u=r(80),d=r(38),h=r(78),p=r(44).f;x.exports=function(y){var T=u.Symbol||(u.Symbol={});d(T,y)||p(T,y,{value:h.f(y)})}},function(x,b,r){var u=r(4);x.exports=u},function(x,b,r){var u=r(8),d=r(23),h=r(33),p=r(47);x.exports=function(){var y=d("Symbol"),T=y&&y.prototype,$=T&&T.valueOf,A=h("toPrimitive");T&&!T[A]&&p(T,A,function(E){return u($,this)},{arity:1})}},function(x,b,r){var u=r(44).f,d=r(38),h=r(33),p=h("toStringTag");x.exports=function(y,T,$){y&&!$&&(y=y.prototype),y&&!d(y,p)&&u(y,p,{configurable:!0,value:T})}},function(x,b,r){var u=r(84),d=r(14),h=r(13),p=r(39),y=r(63),T=r(86),$=d([].push),A=function(E){var R=E===1,I=E===2,O=E===3,C=E===4,D=E===6,M=E===7,F=E===5||D;return function(z,U,j,G){for(var B=p(z),V=h(B),Y=y(V),Z=u(U,j),J=0,q=G||T,nt=R?q(z,Y):I||M?q(z,0):void 0,rt,_;Y>J;J++)if((F||J in V)&&(rt=V[J],_=Z(rt,J,B),E))if(R)nt[J]=_;else if(_)switch(E){case 3:return!0;case 5:return rt;case 6:return J;case 2:$(nt,rt)}else switch(E){case 4:return!1;case 7:$(nt,rt)}return D?-1:O||C?C:nt}};x.exports={forEach:A(0),map:A(1),filter:A(2),some:A(3),every:A(4),find:A(5),findIndex:A(6),filterReject:A(7)}},function(x,b,r){var u=r(85),d=r(30),h=r(9),p=u(u.bind);x.exports=function(y,T){return d(y),T===void 0?y:h?p(y,T):function(){return y.apply(T,arguments)}}},function(x,b,r){var u=r(15),d=r(14);x.exports=function(h){if(u(h)==="Function")return d(h)}},function(x,b,r){var u=r(87);x.exports=function(d,h){return new(u(d))(h===0?0:h)}},function(x,b,r){var u=r(88),d=r(89),h=r(20),p=r(33),y=p("species"),T=Array;x.exports=function($){var A;return u($)&&(A=$.constructor,d(A)&&(A===T||u(A.prototype))?A=void 0:h(A)&&(A=A[y],A===null&&(A=void 0))),A===void 0?T:A}},function(x,b,r){var u=r(15);x.exports=Array.isArray||function(h){return u(h)==="Array"}},function(x,b,r){var u=r(14),d=r(7),h=r(21),p=r(69),y=r(23),T=r(50),$=function(){},A=y("Reflect","construct"),E=/^\s*(?:class|function)\b/,R=u(E.exec),I=!E.test($),O=function(M){if(!h(M))return!1;try{return A($,[],M),!0}catch(F){return!1}},C=function(M){if(!h(M))return!1;switch(p(M)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return I||!!R(E,T(M))}catch(F){return!0}};C.sham=!0,x.exports=!A||d(function(){var D;return O(O.call)||!O(Object)||!O(function(){D=!0})||D})?C:O},function(x,b,r){var u=r(3),d=r(23),h=r(38),p=r(68),y=r(34),T=r(91),$=y("string-to-symbol-registry"),A=y("symbol-to-string-registry");u({target:"Symbol",stat:!0,forced:!T},{for:function(E){var R=p(E);if(h($,R))return $[R];var I=d("Symbol")(R);return $[R]=I,A[I]=R,I}})},function(x,b,r){var u=r(26);x.exports=u&&!!Symbol.for&&!!Symbol.keyFor},function(x,b,r){var u=r(3),d=r(38),h=r(22),p=r(31),y=r(34),T=r(91),$=y("symbol-to-string-registry");u({target:"Symbol",stat:!0,forced:!T},{keyFor:function(E){if(!h(E))throw new TypeError(p(E)+" is not a symbol");if(d($,E))return $[E]}})},function(x,b,r){var u=r(3),d=r(23),h=r(94),p=r(8),y=r(14),T=r(7),$=r(21),A=r(22),E=r(76),R=r(95),I=r(26),O=String,C=d("JSON","stringify"),D=y(/./.exec),M=y("".charAt),F=y("".charCodeAt),z=y("".replace),U=y(1 .toString),j=/[\uD800-\uDFFF]/g,G=/^[\uD800-\uDBFF]$/,B=/^[\uDC00-\uDFFF]$/,V=!I||T(function(){var q=d("Symbol")("stringify detection");return C([q])!=="[null]"||C({a:q})!=="{}"||C(Object(q))!=="{}"}),Y=T(function(){return C("\uDF06\uD834")!=='"\\udf06\\ud834"'||C("\uDEAD")!=='"\\udead"'}),Z=function(q,nt){var rt=E(arguments),_=R(nt);if(!(!$(_)&&(q===void 0||A(q))))return rt[1]=function(tt,et){if($(_)&&(et=p(_,this,O(tt),et)),!A(et))return et},h(C,null,rt)},J=function(q,nt,rt){var _=M(rt,nt-1),tt=M(rt,nt+1);return D(G,q)&&!D(B,tt)||D(B,q)&&!D(G,_)?"\\u"+U(F(q,0),16):q};C&&u({target:"JSON",stat:!0,arity:3,forced:V||Y},{stringify:function(nt,rt,_){var tt=E(arguments),et=h(V?Z:C,null,tt);return Y&&typeof et=="string"?z(et,j,J):et}})},function(x,b,r){var u=r(9),d=Function.prototype,h=d.apply,p=d.call;x.exports=typeof Reflect=="object"&&Reflect.apply||(u?p.bind(h):function(){return p.apply(h,arguments)})},function(x,b,r){var u=r(14),d=r(88),h=r(21),p=r(15),y=r(68),T=u([].push);x.exports=function($){if(h($))return $;if(d($)){for(var A=$.length,E=[],R=0;Rj&&R(_,arguments[j]),_});if(J.prototype=Y,B!=="Error"?y?y(J,Z):T(J,Z,{name:!0}):O&&U in V&&($(J,V,U),$(J,V,"prepareStackTrace")),T(J,V),!C)try{Y.name!==B&&h(Y,"name",B),Y.constructor=J}catch(q){}return J}}},function(x,b,r){var u=r(114),d=r(20),h=r(16),p=r(115);x.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var y=!1,T={},$;try{$=u(Object.prototype,"__proto__","set"),$(T,[]),y=T instanceof Array}catch(A){}return function(E,R){return h(E),p(R),d(E)&&(y?$(E,R):E.__proto__=R),E}}():void 0)},function(x,b,r){var u=r(14),d=r(30);x.exports=function(h,p,y){try{return u(d(Object.getOwnPropertyDescriptor(h,p)[y]))}catch(T){}}},function(x,b,r){var u=r(116),d=String,h=TypeError;x.exports=function(p){if(u(p))return p;throw new h("Can't set "+d(p)+" as a prototype")}},function(x,b,r){var u=r(20);x.exports=function(d){return u(d)||d===null}},function(x,b,r){var u=r(44).f;x.exports=function(d,h,p){p in d||u(d,p,{configurable:!0,get:function(){return h[p]},set:function(y){h[p]=y}})}},function(x,b,r){var u=r(21),d=r(20),h=r(113);x.exports=function(p,y,T){var $,A;return h&&u($=y.constructor)&&$!==T&&d(A=$.prototype)&&A!==T.prototype&&h(p,A),p}},function(x,b,r){var u=r(68);x.exports=function(d,h){return d===void 0?arguments.length<2?"":h:u(d)}},function(x,b,r){var u=r(20),d=r(43);x.exports=function(h,p){u(p)&&"cause"in p&&d(h,"cause",p.cause)}},function(x,b,r){var u=r(43),d=r(122),h=r(123),p=Error.captureStackTrace;x.exports=function(y,T,$,A){h&&(p?p(y,T):u(y,"stack",d($,A)))}},function(x,b,r){var u=r(14),d=Error,h=u("".replace),p=function($){return String(new d($).stack)}("zxcasd"),y=/\n\s*at [^:]*:[^\n]*/,T=y.test(p);x.exports=function($,A){if(T&&typeof $=="string"&&!d.prepareStackTrace)for(;A--;)$=h($,y,"");return $}},function(x,b,r){var u=r(7),d=r(11);x.exports=!u(function(){var h=new Error("a");return"stack"in h?(Object.defineProperty(h,"stack",d(1,7)),h.stack!==7):!0})},function(x,b,r){var u=r(47),d=r(125),h=Error.prototype;h.toString!==d&&u(h,"toString",d)},function(x,b,r){var u=r(6),d=r(7),h=r(46),p=r(119),y=Error.prototype.toString,T=d(function(){if(u){var $=Object.create(Object.defineProperty({},"name",{get:function(){return this===$}}));if(y.call($)!=="true")return!0}return y.call({message:1,name:2})!=="2: 1"||y.call({})!=="Error"});x.exports=T?function(){var A=h(this),E=p(A.name,"Error"),R=p(A.message);return E?R?E+": "+R:E:R}:y},function(x,b,r){r(127)},function(x,b,r){var u=r(3),d=r(24),h=r(128),p=r(113),y=r(55),T=r(71),$=r(43),A=r(11),E=r(120),R=r(121),I=r(130),O=r(119),C=r(33),D=C("toStringTag"),M=Error,F=[].push,z=function(G,B){var V=d(U,this),Y;p?Y=p(new M,V?h(this):U):(Y=V?this:T(U),$(Y,D,"Error")),B!==void 0&&$(Y,"message",O(B)),R(Y,z,Y.stack,1),arguments.length>2&&E(Y,arguments[2]);var Z=[];return I(G,F,{that:Z}),$(Y,"errors",Z),Y};p?p(z,M):y(z,M,{name:!0});var U=z.prototype=T(M.prototype,{constructor:A(1,z),message:A(1,""),name:A(1,"AggregateError")});u({global:!0,constructor:!0,arity:2},{AggregateError:z})},function(x,b,r){var u=r(38),d=r(21),h=r(39),p=r(53),y=r(129),T=p("IE_PROTO"),$=Object,A=$.prototype;x.exports=y?$.getPrototypeOf:function(E){var R=h(E);if(u(R,T))return R[T];var I=R.constructor;return d(I)&&R instanceof I?I.prototype:R instanceof $?A:null}},function(x,b,r){var u=r(7);x.exports=!u(function(){function d(){}return d.prototype.constructor=null,Object.getPrototypeOf(new d)!==d.prototype})},function(x,b,r){var u=r(84),d=r(8),h=r(46),p=r(31),y=r(131),T=r(63),$=r(24),A=r(133),E=r(134),R=r(135),I=TypeError,O=function(D,M){this.stopped=D,this.result=M},C=O.prototype;x.exports=function(D,M,F){var z=F&&F.that,U=!!(F&&F.AS_ENTRIES),j=!!(F&&F.IS_RECORD),G=!!(F&&F.IS_ITERATOR),B=!!(F&&F.INTERRUPTED),V=u(M,z),Y,Z,J,q,nt,rt,_,tt=function(lt){return Y&&R(Y,"normal",lt),new O(!0,lt)},et=function(lt){return U?(h(lt),B?V(lt[0],lt[1],tt):V(lt[0],lt[1])):B?V(lt,tt):V(lt)};if(j)Y=D.iterator;else if(G)Y=D;else{if(Z=E(D),!Z)throw new I(p(D)+" is not iterable");if(y(Z)){for(J=0,q=T(D);q>J;J++)if(nt=et(D[J]),nt&&$(C,nt))return nt;return new O(!1)}Y=A(D,Z)}for(rt=j?D.next:Y.next;!(_=d(rt,Y)).done;){try{nt=et(_.value)}catch(lt){R(Y,"throw",lt)}if(typeof nt=="object"&&nt&&$(C,nt))return nt}return new O(!1)}},function(x,b,r){var u=r(33),d=r(132),h=u("iterator"),p=Array.prototype;x.exports=function(y){return y!==void 0&&(d.Array===y||p[h]===y)}},function(x){x.exports={}},function(x,b,r){var u=r(8),d=r(30),h=r(46),p=r(31),y=r(134),T=TypeError;x.exports=function($,A){var E=arguments.length<2?y($):A;if(d(E))return h(u(E,$));throw new T(p($)+" is not iterable")}},function(x,b,r){var u=r(69),d=r(29),h=r(17),p=r(132),y=r(33),T=y("iterator");x.exports=function($){if(!h($))return d($,T)||d($,"@@iterator")||p[u($)]}},function(x,b,r){var u=r(8),d=r(46),h=r(29);x.exports=function(p,y,T){var $,A;d(p);try{if($=h(p,"return"),!$){if(y==="throw")throw T;return T}$=u($,p)}catch(E){A=!0,$=E}if(y==="throw")throw T;if(A)throw $;return d($),T}},function(x,b,r){var u=r(3),d=r(23),h=r(94),p=r(7),y=r(112),T="AggregateError",$=d(T),A=!p(function(){return $([1]).errors[0]!==1})&&p(function(){return $([1],T,{cause:7}).cause!==7});u({global:!0,constructor:!0,arity:2,forced:A},{AggregateError:y(T,function(E){return function(I,O){return h(E,this,arguments)}},A,!0)})},function(x,b,r){var u=r(3),d=r(39),h=r(63),p=r(61),y=r(138);u({target:"Array",proto:!0},{at:function($){var A=d(this),E=h(A),R=p($),I=R>=0?R:E+R;return I<0||I>=E?void 0:A[I]}}),y("at")},function(x,b,r){var u=r(33),d=r(71),h=r(44).f,p=u("unscopables"),y=Array.prototype;y[p]===void 0&&h(y,p,{configurable:!0,value:d(null)}),x.exports=function(T){y[p][T]=!0}},function(x,b,r){var u=r(3),d=r(7),h=r(88),p=r(20),y=r(39),T=r(63),$=r(140),A=r(141),E=r(86),R=r(142),I=r(33),O=r(27),C=I("isConcatSpreadable"),D=O>=51||!d(function(){var z=[];return z[C]=!1,z.concat()[0]!==z}),M=function(z){if(!p(z))return!1;var U=z[C];return U!==void 0?!!U:h(z)},F=!D||!R("concat");u({target:"Array",proto:!0,arity:1,forced:F},{concat:function(U){var j=y(this),G=E(j,0),B=0,V,Y,Z,J,q;for(V=-1,Z=arguments.length;Vr)throw b("Maximum allowed index exceeded");return u}},function(x,b,r){var u=r(6),d=r(44),h=r(11);x.exports=function(p,y,T){u?d.f(p,y,h(0,T)):p[y]=T}},function(x,b,r){var u=r(7),d=r(33),h=r(27),p=d("species");x.exports=function(y){return h>=51||!u(function(){var T=[],$=T.constructor={};return $[p]=function(){return{foo:1}},T[y](Boolean).foo!==1})}},function(x,b,r){var u=r(3),d=r(144),h=r(138);u({target:"Array",proto:!0},{copyWithin:d}),h("copyWithin")},function(x,b,r){var u=r(39),d=r(60),h=r(63),p=r(145),y=Math.min;x.exports=[].copyWithin||function($,A){var E=u(this),R=h(E),I=d($,R),O=d(A,R),C=arguments.length>2?arguments[2]:void 0,D=y((C===void 0?R:d(C,R))-O,R-I),M=1;for(O0;)O in E?E[I]=E[O]:p(E,I),I+=M,O+=M;return E}},function(x,b,r){var u=r(31),d=TypeError;x.exports=function(h,p){if(!delete h[p])throw new d("Cannot delete property "+u(p)+" of "+u(h))}},function(x,b,r){var u=r(3),d=r(83).every,h=r(147),p=h("every");u({target:"Array",proto:!0,forced:!p},{every:function(T){return d(this,T,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(7);x.exports=function(d,h){var p=[][d];return!!p&&u(function(){p.call(null,h||function(){return 1},1)})}},function(x,b,r){var u=r(3),d=r(149),h=r(138);u({target:"Array",proto:!0},{fill:d}),h("fill")},function(x,b,r){var u=r(39),d=r(60),h=r(63);x.exports=function(y){for(var T=u(this),$=h(T),A=arguments.length,E=d(A>1?arguments[1]:void 0,$),R=A>2?arguments[2]:void 0,I=R===void 0?$:d(R,$);I>E;)T[E++]=y;return T}},function(x,b,r){var u=r(3),d=r(83).filter,h=r(142),p=h("filter");u({target:"Array",proto:!0,forced:!p},{filter:function(T){return d(this,T,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(83).find,h=r(138),p="find",y=!0;p in[]&&Array(1)[p](function(){y=!1}),u({target:"Array",proto:!0,forced:y},{find:function($){return d(this,$,arguments.length>1?arguments[1]:void 0)}}),h(p)},function(x,b,r){var u=r(3),d=r(83).findIndex,h=r(138),p="findIndex",y=!0;p in[]&&Array(1)[p](function(){y=!1}),u({target:"Array",proto:!0,forced:y},{findIndex:function($){return d(this,$,arguments.length>1?arguments[1]:void 0)}}),h(p)},function(x,b,r){var u=r(3),d=r(154).findLast,h=r(138);u({target:"Array",proto:!0},{findLast:function(y){return d(this,y,arguments.length>1?arguments[1]:void 0)}}),h("findLast")},function(x,b,r){var u=r(84),d=r(13),h=r(39),p=r(63),y=function(T){var $=T===1;return function(A,E,R){for(var I=h(A),O=d(I),C=p(O),D=u(E,R),M,F;C-- >0;)if(M=O[C],F=D(M,C,I),F)switch(T){case 0:return M;case 1:return C}return $?-1:void 0}};x.exports={findLast:y(0),findLastIndex:y(1)}},function(x,b,r){var u=r(3),d=r(154).findLastIndex,h=r(138);u({target:"Array",proto:!0},{findLastIndex:function(y){return d(this,y,arguments.length>1?arguments[1]:void 0)}}),h("findLastIndex")},function(x,b,r){var u=r(3),d=r(157),h=r(39),p=r(63),y=r(61),T=r(86);u({target:"Array",proto:!0},{flat:function(){var A=arguments.length?arguments[0]:void 0,E=h(this),R=p(E),I=T(E,0);return I.length=d(I,E,E,R,0,A===void 0?1:y(A)),I}})},function(x,b,r){var u=r(88),d=r(63),h=r(140),p=r(84),y=function(T,$,A,E,R,I,O,C){for(var D=R,M=0,F=O?p(O,C):!1,z,U;M0&&u(z)?(U=d(z),D=y(T,$,z,U,D,I-1)-1):(h(D+1),T[D]=z),D++),M++;return D};x.exports=y},function(x,b,r){var u=r(3),d=r(157),h=r(30),p=r(39),y=r(63),T=r(86);u({target:"Array",proto:!0},{flatMap:function(A){var E=p(this),R=y(E),I;return h(A),I=T(E,0),I.length=d(I,E,E,R,0,1,A,arguments.length>1?arguments[1]:void 0),I}})},function(x,b,r){var u=r(3),d=r(160);u({target:"Array",proto:!0,forced:[].forEach!==d},{forEach:d})},function(x,b,r){var u=r(83).forEach,d=r(147),h=d("forEach");x.exports=h?[].forEach:function(y){return u(this,y,arguments.length>1?arguments[1]:void 0)}},function(x,b,r){var u=r(3),d=r(162),h=r(164),p=!h(function(y){Array.from(y)});u({target:"Array",stat:!0,forced:p},{from:d})},function(x,b,r){var u=r(84),d=r(8),h=r(39),p=r(163),y=r(131),T=r(89),$=r(63),A=r(141),E=r(133),R=r(134),I=Array;x.exports=function(C){var D=h(C),M=T(this),F=arguments.length,z=F>1?arguments[1]:void 0,U=z!==void 0;U&&(z=u(z,F>2?arguments[2]:void 0));var j=R(D),G=0,B,V,Y,Z,J,q;if(j&&!(this===I&&y(j)))for(V=M?new this:[],Z=E(D,j),J=Z.next;!(Y=d(J,Z)).done;G++)q=U?p(Z,z,[Y.value,G],!0):Y.value,A(V,G,q);else for(B=$(D),V=M?new this(B):I(B);B>G;G++)q=U?z(D[G],G):D[G],A(V,G,q);return V.length=G,V}},function(x,b,r){var u=r(46),d=r(135);x.exports=function(h,p,y,T){try{return T?p(u(y)[0],y[1]):p(y)}catch($){d(h,"throw",$)}}},function(x,b,r){var u=r(33),d=u("iterator"),h=!1;try{var p=0,y={next:function(){return{done:!!p++}},return:function(){h=!0}};y[d]=function(){return this},Array.from(y,function(){throw 2})}catch(T){}x.exports=function(T,$){try{if(!$&&!h)return!1}catch(R){return!1}var A=!1;try{var E={};E[d]=function(){return{next:function(){return{done:A=!0}}}},T(E)}catch(R){}return A}},function(x,b,r){var u=r(3),d=r(59).includes,h=r(7),p=r(138),y=h(function(){return!Array(1).includes()});u({target:"Array",proto:!0,forced:y},{includes:function($){return d(this,$,arguments.length>1?arguments[1]:void 0)}}),p("includes")},function(x,b,r){var u=r(3),d=r(85),h=r(59).indexOf,p=r(147),y=d([].indexOf),T=!!y&&1/y([1],1,-0)<0,$=T||!p("indexOf");u({target:"Array",proto:!0,forced:$},{indexOf:function(E){var R=arguments.length>1?arguments[1]:void 0;return T?y(this,E,R)||0:h(this,E,R)}})},function(x,b,r){var u=r(3),d=r(88);u({target:"Array",stat:!0},{isArray:d})},function(x,b,r){var u=r(12),d=r(138),h=r(132),p=r(51),y=r(44).f,T=r(169),$=r(172),A=r(36),E=r(6),R="Array Iterator",I=p.set,O=p.getterFor(R);x.exports=T(Array,"Array",function(D,M){I(this,{type:R,target:u(D),index:0,kind:M})},function(){var D=O(this),M=D.target,F=D.index++;if(!M||F>=M.length)return D.target=null,$(void 0,!0);switch(D.kind){case"keys":return $(F,!1);case"values":return $(M[F],!1)}return $([F,M[F]],!1)},"values");var C=h.Arguments=h.Array;if(d("keys"),d("values"),d("entries"),!A&&E&&C.name!=="values")try{y(C,"name",{value:"values"})}catch(D){}},function(x,b,r){var u=r(3),d=r(8),h=r(36),p=r(49),y=r(21),T=r(170),$=r(128),A=r(113),E=r(82),R=r(43),I=r(47),O=r(33),C=r(132),D=r(171),M=p.PROPER,F=p.CONFIGURABLE,z=D.IteratorPrototype,U=D.BUGGY_SAFARI_ITERATORS,j=O("iterator"),G="keys",B="values",V="entries",Y=function(){return this};x.exports=function(Z,J,q,nt,rt,_,tt){T(q,J,nt);var et=function(kt){if(kt===rt&&yt)return yt;if(!U&&kt&&kt in gt)return gt[kt];switch(kt){case G:return function(){return new q(this,kt)};case B:return function(){return new q(this,kt)};case V:return function(){return new q(this,kt)}}return function(){return new q(this)}},lt=J+" Iterator",mt=!1,gt=Z.prototype,xt=gt[j]||gt["@@iterator"]||rt&>[rt],yt=!U&&xt||et(rt),Ut=J==="Array"&>.entries||xt,Dt,Xt,Qt;if(Ut&&(Dt=$(Ut.call(new Z)),Dt!==Object.prototype&&Dt.next&&(!h&&$(Dt)!==z&&(A?A(Dt,z):y(Dt[j])||I(Dt,j,Y)),E(Dt,lt,!0,!0),h&&(C[lt]=Y))),M&&rt===B&&xt&&xt.name!==B&&(!h&&F?R(gt,"name",B):(mt=!0,yt=function(){return d(xt,this)})),rt)if(Xt={values:et(B),keys:_?yt:et(G),entries:et(V)},tt)for(Qt in Xt)(U||mt||!(Qt in gt))&&I(gt,Qt,Xt[Qt]);else u({target:J,proto:!0,forced:U||mt},Xt);return(!h||tt)&>[j]!==yt&&I(gt,j,yt,{name:rt}),C[J]=yt,Xt}},function(x,b,r){var u=r(171).IteratorPrototype,d=r(71),h=r(11),p=r(82),y=r(132),T=function(){return this};x.exports=function($,A,E,R){var I=A+" Iterator";return $.prototype=d(u,{next:h(+!R,E)}),p($,I,!1,!0),y[I]=T,$}},function(x,b,r){var u=r(7),d=r(21),h=r(20),p=r(71),y=r(128),T=r(47),$=r(33),A=r(36),E=$("iterator"),R=!1,I,O,C;[].keys&&(C=[].keys(),"next"in C?(O=y(y(C)),O!==Object.prototype&&(I=O)):R=!0);var D=!h(I)||u(function(){var M={};return I[E].call(M)!==M});D?I={}:A&&(I=p(I)),d(I[E])||T(I,E,function(){return this}),x.exports={IteratorPrototype:I,BUGGY_SAFARI_ITERATORS:R}},function(x){x.exports=function(b,r){return{value:b,done:r}}},function(x,b,r){var u=r(3),d=r(14),h=r(13),p=r(12),y=r(147),T=d([].join),$=h!==Object,A=$||!y("join",",");u({target:"Array",proto:!0,forced:A},{join:function(R){return T(p(this),R===void 0?",":R)}})},function(x,b,r){var u=r(3),d=r(175);u({target:"Array",proto:!0,forced:d!==[].lastIndexOf},{lastIndexOf:d})},function(x,b,r){var u=r(94),d=r(12),h=r(61),p=r(63),y=r(147),T=Math.min,$=[].lastIndexOf,A=!!$&&1/[1].lastIndexOf(1,-0)<0,E=y("lastIndexOf"),R=A||!E;x.exports=R?function(O){if(A)return u($,this,arguments)||0;var C=d(this),D=p(C);if(D===0)return-1;var M=D-1;for(arguments.length>1&&(M=T(M,h(arguments[1]))),M<0&&(M=D+M);M>=0;M--)if(M in C&&C[M]===O)return M||0;return-1}:$},function(x,b,r){var u=r(3),d=r(83).map,h=r(142),p=h("map");u({target:"Array",proto:!0,forced:!p},{map:function(T){return d(this,T,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(7),h=r(89),p=r(141),y=Array,T=d(function(){function $(){}return!(y.of.call($)instanceof $)});u({target:"Array",stat:!0,forced:T},{of:function(){for(var A=0,E=arguments.length,R=new(h(this)?this:y)(E);E>A;)p(R,A,arguments[A++]);return R.length=E,R}})},function(x,b,r){var u=r(3),d=r(39),h=r(63),p=r(179),y=r(140),T=r(7),$=T(function(){return[].push.call({length:4294967296},1)!==4294967297}),A=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(R){return R instanceof TypeError}},E=$||!A();u({target:"Array",proto:!0,arity:1,forced:E},{push:function(I){var O=d(this),C=h(O),D=arguments.length;y(C+D);for(var M=0;M79&&p<83,$=T||!h("reduce");u({target:"Array",proto:!0,forced:$},{reduce:function(E){var R=arguments.length;return d(this,E,R,R>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(30),d=r(39),h=r(13),p=r(63),y=TypeError,T="Reduce of empty array with no initial value",$=function(A){return function(E,R,I,O){var C=d(E),D=h(C),M=p(C);if(u(R),M===0&&I<2)throw new y(T);var F=A?M-1:0,z=A?-1:1;if(I<2)for(;;){if(F in D){O=D[F],F+=z;break}if(F+=z,A?F<0:M<=F)throw new y(T)}for(;A?F>=0:M>F;F+=z)F in D&&(O=R(O,D[F],F,C));return O}};x.exports={left:$(!1),right:$(!0)}},function(x,b,r){var u=r(183);x.exports=u==="NODE"},function(x,b,r){var u=r(4),d=r(28),h=r(15),p=function(y){return d.slice(0,y.length)===y};x.exports=function(){return p("Bun/")?"BUN":p("Cloudflare-Workers")?"CLOUDFLARE":p("Deno/")?"DENO":p("Node.js/")?"NODE":u.Bun&&typeof Bun.version=="string"?"BUN":u.Deno&&typeof Deno.version=="object"?"DENO":h(u.process)==="process"?"NODE":u.window&&u.document?"BROWSER":"REST"}()},function(x,b,r){var u=r(3),d=r(181).right,h=r(147),p=r(27),y=r(182),T=!y&&p>79&&p<83,$=T||!h("reduceRight");u({target:"Array",proto:!0,forced:$},{reduceRight:function(E){return d(this,E,arguments.length,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(14),h=r(88),p=d([].reverse),y=[1,2];u({target:"Array",proto:!0,forced:String(y)===String(y.reverse())},{reverse:function(){return h(this)&&(this.length=this.length),p(this)}})},function(x,b,r){var u=r(3),d=r(88),h=r(89),p=r(20),y=r(60),T=r(63),$=r(12),A=r(141),E=r(33),R=r(142),I=r(76),O=R("slice"),C=E("species"),D=Array,M=Math.max;u({target:"Array",proto:!0,forced:!O},{slice:function(z,U){var j=$(this),G=T(j),B=y(z,G),V=y(U===void 0?G:U,G),Y,Z,J;if(d(j)&&(Y=j.constructor,h(Y)&&(Y===D||d(Y.prototype))?Y=void 0:p(Y)&&(Y=Y[C],Y===null&&(Y=void 0)),Y===D||Y===void 0))return I(j,B,V);for(Z=new(Y===void 0?D:Y)(M(V-B,0)),J=0;B1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(14),h=r(30),p=r(39),y=r(63),T=r(145),$=r(68),A=r(7),E=r(189),R=r(147),I=r(190),O=r(191),C=r(27),D=r(192),M=[],F=d(M.sort),z=d(M.push),U=A(function(){M.sort(void 0)}),j=A(function(){M.sort(null)}),G=R("sort"),B=!A(function(){if(C)return C<70;if(!(I&&I>3)){if(O)return!0;if(D)return D<603;var Z="",J,q,nt,rt;for(J=65;J<76;J++){switch(q=String.fromCharCode(J),J){case 66:case 69:case 70:case 72:nt=3;break;case 68:case 71:nt=4;break;default:nt=2}for(rt=0;rt<47;rt++)M.push({k:q+rt,v:nt})}for(M.sort(function(_,tt){return tt.v-_.v}),rt=0;rt$(q)?1:-1}};u({target:"Array",proto:!0,forced:V},{sort:function(J){J!==void 0&&h(J);var q=p(this);if(B)return J===void 0?F(q):F(q,J);var nt=[],rt=y(q),_,tt;for(tt=0;tt0;)p[E]=p[--E];E!==$++&&(p[E]=A)}else for(var R=d(T/2),I=h(u(p,0,R),y),O=h(u(p,R),y),C=I.length,D=O.length,M=0,F=0;Mj-Y+V;J--)R(U,J-1)}else if(V>Y)for(J=j-Y;J>G;J--)q=J+Y-1,nt=J+V-1,q in U?U[nt]=U[q]:R(U,nt);for(J=0;J2?p:u(h),$=new d(T);T>y;)$[y]=h[y++];return $}},function(x,b,r){var u=r(4);x.exports=function(d,h){var p=u[d],y=p&&p.prototype;return y&&y[h]}},function(x,b,r){var u=r(3),d=r(138),h=r(140),p=r(63),y=r(60),T=r(12),$=r(61),A=Array,E=Math.max,R=Math.min;u({target:"Array",proto:!0},{toSpliced:function(O,C){var D=T(this),M=p(D),F=y(O,M),z=arguments.length,U=0,j,G,B,V;for(z===0?j=G=0:z===1?(j=0,G=M-F):(j=z-2,G=R(E($(C),0),M-F)),B=h(M+j-G),V=A(B);U=A||R<0)throw new h("Incorrect index");for(var I=new y(A),O=0;O>8&255]},se=function(bt){return[bt&255,bt>>8&255,bt>>16&255,bt>>24&255]},ee=function(bt){return bt[3]<<24|bt[2]<<16|bt[1]<<8|bt[0]},fe=function(bt){return ae(D(bt),23,4)},Pe=function(bt){return ae(bt,52,8)},Me=function(bt,Ft,Tt){$(bt[rt],Ft,{configurable:!0,get:function(){return Tt(this)[Ft]}})},$e=function(bt,Ft,Tt,qt){var te=lt(bt),Zt=C(Tt),Yt=!!qt;if(Zt+Ft>te.byteLength)throw new kt(tt);var Ye=te.bytes,Ze=Zt+te.byteOffset,ut=j(Ye,Ze,Ze+Ft);return Yt?ut:ge(ut)},ce=function(bt,Ft,Tt,qt,te,Zt){var Yt=lt(bt),Ye=C(Tt),Ze=qt(+te),ut=!!Zt;if(Ye+Ft>Yt.byteLength)throw new kt(tt);for(var It=Yt.bytes,Pt=Ye+Yt.byteOffset,Ct=0;CtZt)throw new kt("Wrong offset");if(qt=qt===void 0?Zt-Yt:O(qt),Yt+qt>Zt)throw new kt(_);mt(this,{type:nt,buffer:Ft,byteLength:qt,byteOffset:Yt,bytes:te.bytes}),h||(this.buffer=Ft,this.byteLength=qt,this.byteOffset=Yt)},Dt=Ut[rt],h&&(Me(xt,"byteLength",et),Me(Ut,"buffer",lt),Me(Ut,"byteLength",lt),Me(Ut,"byteOffset",lt)),A(Dt,{getInt8:function(Ft){return $e(this,1,Ft)[0]<<24>>24},getUint8:function(Ft){return $e(this,1,Ft)[0]},getInt16:function(Ft){var Tt=$e(this,2,Ft,arguments.length>1?arguments[1]:!1);return(Tt[1]<<8|Tt[0])<<16>>16},getUint16:function(Ft){var Tt=$e(this,2,Ft,arguments.length>1?arguments[1]:!1);return Tt[1]<<8|Tt[0]},getInt32:function(Ft){return ee($e(this,4,Ft,arguments.length>1?arguments[1]:!1))},getUint32:function(Ft){return ee($e(this,4,Ft,arguments.length>1?arguments[1]:!1))>>>0},getFloat32:function(Ft){return Mt($e(this,4,Ft,arguments.length>1?arguments[1]:!1),23)},getFloat64:function(Ft){return Mt($e(this,8,Ft,arguments.length>1?arguments[1]:!1),52)},setInt8:function(Ft,Tt){ce(this,1,Ft,Ht,Tt)},setUint8:function(Ft,Tt){ce(this,1,Ft,Ht,Tt)},setInt16:function(Ft,Tt){ce(this,2,Ft,re,Tt,arguments.length>2?arguments[2]:!1)},setUint16:function(Ft,Tt){ce(this,2,Ft,re,Tt,arguments.length>2?arguments[2]:!1)},setInt32:function(Ft,Tt){ce(this,4,Ft,se,Tt,arguments.length>2?arguments[2]:!1)},setUint32:function(Ft,Tt){ce(this,4,Ft,se,Tt,arguments.length>2?arguments[2]:!1)},setFloat32:function(Ft,Tt){ce(this,4,Ft,fe,Tt,arguments.length>2?arguments[2]:!1)},setFloat64:function(Ft,Tt){ce(this,8,Ft,Pe,Tt,arguments.length>2?arguments[2]:!1)}});else{var Ae=Z&>.name!==q;!E(function(){gt(1)})||!E(function(){new gt(-1)})||E(function(){return new gt,new gt(1.5),new gt(NaN),gt.length!==1||Ae&&!J})?(xt=function(Ft){return R(this,yt),G(new gt(C(Ft)),this,xt)},xt[rt]=yt,yt.constructor=xt,B(xt,gt)):Ae&&J&&T(gt,"name",q),z&&F(Dt)!==Xt&&z(Dt,Xt);var Te=new Ut(new xt(2)),de=d(Dt.setInt8);Te.setInt8(0,2147483648),Te.setInt8(1,2147483649),(Te.getInt8(0)||!Te.getInt8(1))&&A(Dt,{setInt8:function(Ft,Tt){de(this,Ft,Tt<<24>>24)},setUint8:function(Ft,Tt){de(this,Ft,Tt<<24>>24)}},{unsafe:!0})}V(xt,q),V(Ut,nt),x.exports={ArrayBuffer:xt,DataView:Ut}},function(x){x.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"},function(x,b,r){var u=r(47);x.exports=function(d,h,p){for(var y in h)u(d,y,h[y],p);return d}},function(x,b,r){var u=r(24),d=TypeError;x.exports=function(h,p){if(u(p,h))return h;throw new d("Incorrect invocation")}},function(x,b,r){var u=r(61),d=r(64),h=RangeError;x.exports=function(p){if(p===void 0)return 0;var y=u(p),T=d(y);if(y!==T)throw new h("Wrong length or index");return T}},function(x,b,r){var u=r(214),d=11920928955078125e-23,h=34028234663852886e22,p=11754943508222875e-54;x.exports=Math.fround||function(T){return u(T,d,h,p)}},function(x,b,r){var u=r(215),d=r(216),h=Math.abs,p=2220446049250313e-31;x.exports=function(y,T,$,A){var E=+y,R=h(E),I=u(E);if(R$||C!==C?I*(1/0):I*C}},function(x){x.exports=Math.sign||function(r){var u=+r;return u===0||u!==u?u:u<0?-1:1}},function(x){var b=2220446049250313e-31,r=1/b;x.exports=function(u){return u+r-r}},function(x){var b=Array,r=Math.abs,u=Math.pow,d=Math.floor,h=Math.log,p=Math.LN2,y=function($,A,E){var R=b(E),I=E*8-A-1,O=(1<>1,D=A===23?u(2,-24)-u(2,-77):0,M=$<0||$===0&&1/$<0?1:0,F=0,z,U,j;for($=r($),$!==$||$===1/0?(U=$!==$?1:0,z=O):(z=d(h($)/p),j=u(2,-z),$*j<1&&(z--,j*=2),z+C>=1?$+=D/j:$+=D*u(2,1-C),$*j>=2&&(z++,j/=2),z+C>=O?(U=0,z=O):z+C>=1?(U=($*j-1)*u(2,A),z+=C):(U=$*u(2,C-1)*u(2,A),z=0));A>=8;)R[F++]=U&255,U/=256,A-=8;for(z=z<0;)R[F++]=z&255,z/=256,I-=8;return R[F-1]|=M*128,R},T=function($,A){var E=$.length,R=E*8-A-1,I=(1<>1,C=R-7,D=E-1,M=$[D--],F=M&127,z;for(M>>=7;C>0;)F=F*256+$[D--],C-=8;for(z=F&(1<<-C)-1,F>>=-C,C+=A;C>0;)z=z*256+$[D--],C-=8;if(F===0)F=1-O;else{if(F===I)return z?NaN:M?-1/0:1/0;z+=u(2,A),F-=O}return(M?-1:1)*z*u(2,F-A)};x.exports={pack:y,unpack:T}},function(x,b,r){var u=r(3),d=r(219),h=d.NATIVE_ARRAY_BUFFER_VIEWS;u({target:"ArrayBuffer",stat:!0,forced:!h},{isView:d.isView})},function(x,b,r){var u=r(209),d=r(6),h=r(4),p=r(21),y=r(20),T=r(38),$=r(69),A=r(31),E=r(43),R=r(47),I=r(77),O=r(24),C=r(128),D=r(113),M=r(33),F=r(40),z=r(51),U=z.enforce,j=z.get,G=h.Int8Array,B=G&&G.prototype,V=h.Uint8ClampedArray,Y=V&&V.prototype,Z=G&&C(G),J=B&&C(B),q=Object.prototype,nt=h.TypeError,rt=M("toStringTag"),_=F("TYPED_ARRAY_TAG"),tt="TypedArrayConstructor",et=u&&!!D&&$(h.opera)!=="Opera",lt=!1,mt,gt,xt,yt={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},Ut={BigInt64Array:8,BigUint64Array:8},Dt=function(Ht){if(!y(Ht))return!1;var re=$(Ht);return re==="DataView"||T(yt,re)||T(Ut,re)},Xt=function(Mt){var Ht=C(Mt);if(y(Ht)){var re=j(Ht);return re&&T(re,tt)?re[tt]:Xt(Ht)}},Qt=function(Mt){if(!y(Mt))return!1;var Ht=$(Mt);return T(yt,Ht)||T(Ut,Ht)},kt=function(Mt){if(Qt(Mt))return Mt;throw new nt("Target is not a typed array")},me=function(Mt){if(p(Mt)&&(!D||O(Z,Mt)))return Mt;throw new nt(A(Mt)+" is not a typed array constructor")},ge=function(Mt,Ht,re,se){if(d){if(re)for(var ee in yt){var fe=h[ee];if(fe&&T(fe.prototype,Mt))try{delete fe.prototype[Mt]}catch(Pe){try{fe.prototype[Mt]=Ht}catch(Me){}}}(!J[Mt]||re)&&R(J,Mt,re?Ht:et&&B[Mt]||Ht,se)}},ae=function(Mt,Ht,re){var se,ee;if(d){if(D){if(re){for(se in yt)if(ee=h[se],ee&&T(ee,Mt))try{delete ee[Mt]}catch(fe){}}if(!Z[Mt]||re)try{return R(Z,Mt,re?Ht:et&&Z[Mt]||Ht)}catch(fe){}else return}for(se in yt)ee=h[se],ee&&(!ee[Mt]||re)&&R(ee,Mt,Ht)}};for(mt in yt)gt=h[mt],xt=gt&>.prototype,xt?U(xt)[tt]=gt:et=!1;for(mt in Ut)gt=h[mt],xt=gt&>.prototype,xt&&(U(xt)[tt]=gt);if((!et||!p(Z)||Z===Function.prototype)&&(Z=function(){throw new nt("Incorrect invocation")},et))for(mt in yt)h[mt]&&D(h[mt],Z);if((!et||!J||J===q)&&(J=Z.prototype,et))for(mt in yt)h[mt]&&D(h[mt].prototype,J);if(et&&C(Y)!==J&&D(Y,J),d&&!T(J,rt)){lt=!0,I(J,rt,{configurable:!0,get:function(){return y(this)?this[_]:void 0}});for(mt in yt)h[mt]&&E(h[mt],_,mt)}x.exports={NATIVE_ARRAY_BUFFER_VIEWS:et,TYPED_ARRAY_TAG:lt&&_,aTypedArray:kt,aTypedArrayConstructor:me,exportTypedArrayMethod:ge,exportTypedArrayStaticMethod:ae,getTypedArrayConstructor:Xt,isView:Dt,isTypedArray:Qt,TypedArray:Z,TypedArrayPrototype:J}},function(x,b,r){var u=r(3),d=r(85),h=r(7),p=r(208),y=r(46),T=r(60),$=r(64),A=p.ArrayBuffer,E=p.DataView,R=E.prototype,I=d(A.prototype.slice),O=d(R.getUint8),C=d(R.setUint8),D=h(function(){return!new A(2).slice(1,void 0).byteLength});u({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:D},{slice:function(F,z){if(I&&z===void 0)return I(y(this),F);for(var U=y(this).byteLength,j=T(F,U),G=T(z===void 0?U:z,U),B=new A($(G-j)),V=new E(this),Y=new E(B),Z=0;j>>15,O=R>>>10&p,C=R&y;return O===p?C===0?I===0?1/0:-1/0:NaN:O===0?C*(I===0?T:-T):h(2,O-15)*(I===0?1+C*$:-1-C*$)},E=d(DataView.prototype.getUint16);u({target:"DataView",proto:!0},{getFloat16:function(I){var O=E(this,I,arguments.length>1?arguments[1]:!1);return A(O)}})},function(x,b,r){var u=r(3),d=r(14),h=r(225),p=r(212),y=r(226),T=r(216),$=Math.pow,A=65520,E=61005353927612305e-21,R=16777216,I=1024,O=function(D){if(D!==D)return 32256;if(D===0)return(1/D===-1/0)<<15;var M=D<0;if(M&&(D=-D),D>=A)return M<<15|31744;if(D2?arguments[2]:!1)}})},function(x,b,r){var u=r(69),d=TypeError;x.exports=function(h){if(u(h)==="DataView")return h;throw new d("Argument is not a DataView")}},function(x){var b=Math.log,r=Math.LN2;x.exports=Math.log2||function(d){return b(d)/r}},function(x,b,r){var u=r(6),d=r(77),h=r(228),p=ArrayBuffer.prototype;u&&!("detached"in p)&&d(p,"detached",{configurable:!0,get:function(){return h(this)}})},function(x,b,r){var u=r(4),d=r(209),h=r(229),p=u.DataView;x.exports=function(y){if(!d||h(y)!==0)return!1;try{return new p(y),!1}catch(T){return!0}}},function(x,b,r){var u=r(4),d=r(114),h=r(15),p=u.ArrayBuffer,y=u.TypeError;x.exports=p&&d(p.prototype,"byteLength","get")||function(T){if(h(T)!=="ArrayBuffer")throw new y("ArrayBuffer expected");return T.byteLength}},function(x,b,r){var u=r(3),d=r(231);d&&u({target:"ArrayBuffer",proto:!0},{transfer:function(){return d(this,arguments.length?arguments[0]:void 0,!0)}})},function(x,b,r){var u=r(4),d=r(14),h=r(114),p=r(212),y=r(232),T=r(229),$=r(233),A=r(235),E=u.structuredClone,R=u.ArrayBuffer,I=u.DataView,O=Math.min,C=R.prototype,D=I.prototype,M=d(C.slice),F=h(C,"resizable","get"),z=h(C,"maxByteLength","get"),U=d(D.getInt8),j=d(D.setInt8);x.exports=(A||$)&&function(G,B,V){var Y=T(G),Z=B===void 0?Y:p(B),J=!F||!F(G),q;if(y(G),A&&(G=E(G,{transfer:[G]}),Y===Z&&(V||J)))return G;if(Y>=Z&&(!V||J))q=M(G,0,Z);else{var nt=V&&!J&&z?{maxByteLength:z(G)}:void 0;q=new R(Z,nt);for(var rt=new I(G),_=new I(q),tt=O(Z,Y),et=0;et92||p==="NODE"&&h>94||p==="BROWSER"&&h>97)return!1;var T=new ArrayBuffer(8),$=y(T,{transfer:[T]});return T.byteLength!==0||$.byteLength!==8})},function(x,b,r){var u=r(3),d=r(231);d&&u({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function(){return d(this,arguments.length?arguments[0]:void 0,!1)}})},function(x,b,r){var u=r(3),d=r(14),h=r(7),p=h(function(){return new Date(16e11).getYear()!==120}),y=d(Date.prototype.getFullYear);u({target:"Date",proto:!0,forced:p},{getYear:function(){return y(this)-1900}})},function(x,b,r){var u=r(3),d=r(14),h=Date,p=d(h.prototype.getTime);u({target:"Date",stat:!0},{now:function(){return p(new h)}})},function(x,b,r){var u=r(3),d=r(14),h=r(61),p=Date.prototype,y=d(p.getTime),T=d(p.setFullYear);u({target:"Date",proto:!0},{setYear:function(A){y(this);var E=h(A),R=E>=0&&E<=99?E+1900:E;return T(this,R)}})},function(x,b,r){var u=r(3);u({target:"Date",proto:!0},{toGMTString:Date.prototype.toUTCString})},function(x,b,r){var u=r(3),d=r(242);u({target:"Date",proto:!0,forced:Date.prototype.toISOString!==d},{toISOString:d})},function(x,b,r){var u=r(14),d=r(7),h=r(243).start,p=RangeError,y=isFinite,T=Math.abs,$=Date.prototype,A=$.toISOString,E=u($.getTime),R=u($.getUTCDate),I=u($.getUTCFullYear),O=u($.getUTCHours),C=u($.getUTCMilliseconds),D=u($.getUTCMinutes),M=u($.getUTCMonth),F=u($.getUTCSeconds);x.exports=d(function(){return A.call(new Date(-50000000000001))!=="0385-07-25T07:06:39.999Z"})||!d(function(){A.call(new Date(NaN))})?function(){if(!y(E(this)))throw new p("Invalid time value");var U=this,j=I(U),G=C(U),B=j<0?"-":j>9999?"+":"";return B+h(T(j),B?6:4,0)+"-"+h(M(U)+1,2,0)+"-"+h(R(U),2,0)+"T"+h(O(U),2,0)+":"+h(D(U),2,0)+":"+h(F(U),2,0)+"."+h(G,3,0)+"Z"}:A},function(x,b,r){var u=r(14),d=r(64),h=r(68),p=r(244),y=r(16),T=u(p),$=u("".slice),A=Math.ceil,E=function(R){return function(I,O,C){var D=h(y(I)),M=d(O),F=D.length,z=C===void 0?" ":h(C),U,j;return M<=F||z===""?D:(U=M-F,j=T(z,A(U/z.length)),j.length>U&&(j=$(j,0,U)),R?D+j:j+D)}};x.exports={start:E(!1),end:E(!0)}},function(x,b,r){var u=r(61),d=r(68),h=r(16),p=RangeError;x.exports=function(T){var $=d(h(this)),A="",E=u(T);if(E<0||E===1/0)throw new p("Wrong number of repetitions");for(;E>0;(E>>>=1)&&($+=$))E&1&&(A+=$);return A}},function(x,b,r){var u=r(3),d=r(7),h=r(39),p=r(19),y=d(function(){return new Date(NaN).toJSON()!==null||Date.prototype.toJSON.call({toISOString:function(){return 1}})!==1});u({target:"Date",proto:!0,arity:1,forced:y},{toJSON:function($){var A=h(this),E=p(A,"number");return typeof E=="number"&&!isFinite(E)?null:A.toISOString()}})},function(x,b,r){var u=r(38),d=r(47),h=r(247),p=r(33),y=p("toPrimitive"),T=Date.prototype;u(T,y)||d(T,y,h)},function(x,b,r){var u=r(46),d=r(32),h=TypeError;x.exports=function(p){if(u(this),p==="string"||p==="default")p="string";else if(p!=="number")throw new h("Incorrect hint");return d(this,p)}},function(x,b,r){var u=r(14),d=r(47),h=Date.prototype,p="Invalid Date",y="toString",T=u(h[y]),$=u(h.getTime);String(new Date(NaN))!==p&&d(h,y,function(){var E=$(this);return E===E?T(this):p})},function(x,b,r){var u=r(3),d=r(14),h=r(68),p=d("".charAt),y=d("".charCodeAt),T=d(/./.exec),$=d(1 .toString),A=d("".toUpperCase),E=/[\w*+\-./@]/,R=function(I,O){for(var C=$(I,16);C.length1?arguments[1]:void 0),_;_=_?_.next:nt.first;)for(rt(_.value,_.key,this);_&&_.removed;)_=_.previous},has:function(q){return!!Z(this,q)}}),h(B,U?{get:function(q){var nt=Z(this,q);return nt&&nt.value},set:function(q,nt){return Y(this,q===0?0:q,nt)}}:{add:function(q){return Y(this,q=q===0?0:q,q)}}),I&&d(B,"size",{configurable:!0,get:function(){return V(this).size}}),G},setStrong:function(F,z,U){var j=z+" Iterator",G=M(z),B=M(j);A(F,z,function(V,Y){D(this,{type:j,target:V,state:G(V),kind:Y,last:null})},function(){for(var V=B(this),Y=V.kind,Z=V.last;Z&&Z.removed;)Z=Z.previous;return!V.target||!(V.last=Z=Z?Z.next:V.state.first)?(V.target=null,E(void 0,!0)):E(Y==="keys"?Z.key:Y==="values"?Z.value:[Z.key,Z.value],!1)},U?"entries":"values",!U,!0),R(z)}}},function(x,b,r){var u=r(3),d=r(14),h=r(30),p=r(16),y=r(130),T=r(284),$=r(36),A=r(7),E=T.Map,R=T.has,I=T.get,O=T.set,C=d([].push),D=$||A(function(){return E.groupBy("ab",function(M){return M}).get("a").length!==1});u({target:"Map",stat:!0,forced:$||D},{groupBy:function(F,z){p(F),h(z);var U=new E,j=0;return y(F,function(G){var B=z(G,j++);R(U,B)?C(I(U,B),G):O(U,B,[G])}),U}})},function(x,b,r){var u=r(14),d=Map.prototype;x.exports={Map,set:u(d.set),get:u(d.get),has:u(d.has),remove:u(d.delete),proto:d}},function(x,b,r){var u=r(3),d=r(286),h=Math.acosh,p=Math.log,y=Math.sqrt,T=Math.LN2,$=!h||Math.floor(h(Number.MAX_VALUE))!==710||h(1/0)!==1/0;u({target:"Math",stat:!0,forced:$},{acosh:function(E){var R=+E;return R<1?NaN:R>9490626562425156e-8?p(R)+T:d(R-1+y(R-1)*y(R+1))}})},function(x){var b=Math.log;x.exports=Math.log1p||function(u){var d=+u;return d>-1e-8&&d<1e-8?d-d*d/2:b(1+d)}},function(x,b,r){var u=r(3),d=Math.asinh,h=Math.log,p=Math.sqrt;function y($){var A=+$;return!isFinite(A)||A===0?A:A<0?-y(-A):h(A+p(A*A+1))}var T=!(d&&1/d(0)>0);u({target:"Math",stat:!0,forced:T},{asinh:y})},function(x,b,r){var u=r(3),d=Math.atanh,h=Math.log,p=!(d&&1/d(-0)<0);u({target:"Math",stat:!0,forced:p},{atanh:function(T){var $=+T;return $===0?$:h((1+$)/(1-$))/2}})},function(x,b,r){var u=r(3),d=r(215),h=Math.abs,p=Math.pow;u({target:"Math",stat:!0},{cbrt:function(T){var $=+T;return d($)*p(h($),.3333333333333333)}})},function(x,b,r){var u=r(3),d=Math.floor,h=Math.log,p=Math.LOG2E;u({target:"Math",stat:!0},{clz32:function(T){var $=T>>>0;return $?31-d(h($+.5)*p):32}})},function(x,b,r){var u=r(3),d=r(292),h=Math.cosh,p=Math.abs,y=Math.E,T=!h||h(710)===1/0;u({target:"Math",stat:!0,forced:T},{cosh:function(A){var E=d(p(A)-1)+1;return(E+1/(E*y*y))*(y/2)}})},function(x){var b=Math.expm1,r=Math.exp;x.exports=!b||b(10)>22025.465794806718||b(10)<22025.465794806718||b(-2e-17)!==-2e-17?function(d){var h=+d;return h===0?h:h>-1e-6&&h<1e-6?h+h*h/2:r(h)-1}:b},function(x,b,r){var u=r(3),d=r(292);u({target:"Math",stat:!0,forced:d!==Math.expm1},{expm1:d})},function(x,b,r){var u=r(3),d=r(213);u({target:"Math",stat:!0},{fround:d})},function(x,b,r){var u=r(3),d=r(214),h=.0009765625,p=65504,y=6103515625e-14;u({target:"Math",stat:!0},{f16round:function($){return d($,h,p,y)}})},function(x,b,r){var u=r(3),d=Math.hypot,h=Math.abs,p=Math.sqrt,y=!!d&&d(1/0,NaN)!==1/0;u({target:"Math",stat:!0,arity:2,forced:y},{hypot:function($,A){for(var E=0,R=0,I=arguments.length,O=0,C,D;R0?(D=C/O,E+=D*D):E+=C;return O===1/0?1/0:O*p(E)}})},function(x,b,r){var u=r(3),d=r(7),h=Math.imul,p=d(function(){return h(4294967295,5)!==-5||h.length!==2});u({target:"Math",stat:!0,forced:p},{imul:function(T,$){var A=65535,E=+T,R=+$,I=A&E,O=A&R;return 0|I*O+((A&E>>>16)*O+I*(A&R>>>16)<<16>>>0)}})},function(x,b,r){var u=r(3),d=r(299);u({target:"Math",stat:!0},{log10:d})},function(x){var b=Math.log,r=Math.LOG10E;x.exports=Math.log10||function(d){return b(d)*r}},function(x,b,r){var u=r(3),d=r(286);u({target:"Math",stat:!0},{log1p:d})},function(x,b,r){var u=r(3),d=r(226);u({target:"Math",stat:!0},{log2:d})},function(x,b,r){var u=r(3),d=r(215);u({target:"Math",stat:!0},{sign:d})},function(x,b,r){var u=r(3),d=r(7),h=r(292),p=Math.abs,y=Math.exp,T=Math.E,$=d(function(){return Math.sinh(-2e-17)!==-2e-17});u({target:"Math",stat:!0,forced:$},{sinh:function(E){var R=+E;return p(R)<1?(h(R)-h(-R))/2:(y(R-1)-y(-R-1))*(T/2)}})},function(x,b,r){var u=r(3),d=r(292),h=Math.exp;u({target:"Math",stat:!0},{tanh:function(y){var T=+y,$=d(T),A=d(-T);return $===1/0?1:A===1/0?-1:($-A)/(h(T)+h(-T))}})},function(x,b,r){var u=r(82);u(Math,"Math",!0)},function(x,b,r){var u=r(3),d=r(62);u({target:"Math",stat:!0},{trunc:d})},function(x,b,r){var u=r(3),d=r(36),h=r(6),p=r(4),y=r(80),T=r(14),$=r(67),A=r(38),E=r(118),R=r(24),I=r(22),O=r(19),C=r(7),D=r(57).f,M=r(5).f,F=r(44).f,z=r(308),U=r(309).trim,j="Number",G=p[j],B=y[j],V=G.prototype,Y=p.TypeError,Z=T("".slice),J=T("".charCodeAt),q=function(lt){var mt=O(lt,"number");return typeof mt=="bigint"?mt:nt(mt)},nt=function(lt){var mt=O(lt,"number"),gt,xt,yt,Ut,Dt,Xt,Qt,kt;if(I(mt))throw new Y("Cannot convert a Symbol value to a number");if(typeof mt=="string"&&mt.length>2){if(mt=U(mt),gt=J(mt,0),gt===43||gt===45){if(xt=J(mt,2),xt===88||xt===120)return NaN}else if(gt===48){switch(J(mt,1)){case 66:case 98:yt=2,Ut=49;break;case 79:case 111:yt=8,Ut=55;break;default:return+mt}for(Dt=Z(mt,2),Xt=Dt.length,Qt=0;QtUt)return NaN;return parseInt(Dt,yt)}}return+mt},rt=$(j,!G(" 0o1")||!G("0b1")||G("+0x1")),_=function(lt){return R(V,lt)&&C(function(){z(lt)})},tt=function(mt){var gt=arguments.length<1?0:G(q(mt));return _(this)?E(Object(gt),this,tt):gt};tt.prototype=V,rt&&!d&&(V.constructor=tt),u({global:!0,constructor:!0,wrap:!0,forced:rt},{Number:tt});var et=function(lt,mt){for(var gt=h?D(mt):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),xt=0,yt;gt.length>xt;xt++)A(mt,yt=gt[xt])&&!A(lt,yt)&&F(lt,yt,M(mt,yt))};d&&B&&et(y[j],B),(rt||d)&&et(y[j],G)},function(x,b,r){var u=r(14);x.exports=u(1 .valueOf)},function(x,b,r){var u=r(14),d=r(16),h=r(68),p=r(310),y=u("".replace),T=RegExp("^["+p+"]+"),$=RegExp("(^|[^"+p+"])["+p+"]+$"),A=function(E){return function(R){var I=h(d(R));return E&1&&(I=y(I,T,"")),E&2&&(I=y(I,$,"$1")),I}};x.exports={start:A(1),end:A(2),trim:A(3)}},function(x){x.exports=` +\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`},function(x,b,r){var u=r(3);u({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},function(x,b,r){var u=r(3),d=r(313);u({target:"Number",stat:!0},{isFinite:d})},function(x,b,r){var u=r(4),d=u.isFinite;x.exports=Number.isFinite||function(p){return typeof p=="number"&&d(p)}},function(x,b,r){var u=r(3),d=r(315);u({target:"Number",stat:!0},{isInteger:d})},function(x,b,r){var u=r(20),d=Math.floor;x.exports=Number.isInteger||function(p){return!u(p)&&isFinite(p)&&d(p)===p}},function(x,b,r){var u=r(3);u({target:"Number",stat:!0},{isNaN:function(h){return h!==h}})},function(x,b,r){var u=r(3),d=r(315),h=Math.abs;u({target:"Number",stat:!0},{isSafeInteger:function(y){return d(y)&&h(y)<=9007199254740991}})},function(x,b,r){var u=r(3);u({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(x,b,r){var u=r(3);u({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(x,b,r){var u=r(3),d=r(321);u({target:"Number",stat:!0,forced:Number.parseFloat!==d},{parseFloat:d})},function(x,b,r){var u=r(4),d=r(7),h=r(14),p=r(68),y=r(309).trim,T=r(310),$=h("".charAt),A=u.parseFloat,E=u.Symbol,R=E&&E.iterator,I=1/A(T+"-0")!==-1/0||R&&!d(function(){A(Object(R))});x.exports=I?function(C){var D=y(p(C)),M=A(D);return M===0&&$(D,0)==="-"?-0:M}:A},function(x,b,r){var u=r(3),d=r(323);u({target:"Number",stat:!0,forced:Number.parseInt!==d},{parseInt:d})},function(x,b,r){var u=r(4),d=r(7),h=r(14),p=r(68),y=r(309).trim,T=r(310),$=u.parseInt,A=u.Symbol,E=A&&A.iterator,R=/^[+-]?0x/i,I=h(R.exec),O=$(T+"08")!==8||$(T+"0x16")!==22||E&&!d(function(){$(Object(E))});x.exports=O?function(D,M){var F=y(p(D));return $(F,M>>>0||(I(R,F)?16:10))}:$},function(x,b,r){var u=r(3),d=r(14),h=r(61),p=r(308),y=r(244),T=r(299),$=r(7),A=RangeError,E=String,R=isFinite,I=Math.abs,O=Math.floor,C=Math.pow,D=Math.round,M=d(1 .toExponential),F=d(y),z=d("".slice),U=M(-69e-12,4)==="-6.9000e-11"&&M(1.255,2)==="1.25e+0"&&M(12345,3)==="1.235e+4"&&M(25,0)==="3e+1",j=function(){return $(function(){M(1,1/0)})&&$(function(){M(1,-1/0)})},G=function(){return!$(function(){M(1/0,1/0),M(NaN,1/0)})},B=!U||!j()||!G();u({target:"Number",proto:!0,forced:B},{toExponential:function(Y){var Z=p(this);if(Y===void 0)return M(Z);var J=h(Y);if(!R(Z))return String(Z);if(J<0||J>20)throw new A("Incorrect fraction digits");if(U)return M(Z,J);var q="",nt,rt,_,tt;if(Z<0&&(q="-",Z=-Z),Z===0)rt=0,nt=F("0",J+1);else{var et=T(Z);rt=O(et);var lt=C(10,rt-J),mt=D(Z/lt);2*Z>=(2*mt+1)*lt&&(mt+=1),mt>=C(10,J+1)&&(mt/=10,rt+=1),nt=E(mt)}return J!==0&&(nt=z(nt,0,1)+"."+z(nt,1)),rt===0?(_="+",tt="0"):(_=rt>0?"+":"-",tt=E(I(rt))),nt+="e"+_+tt,q+nt}})},function(x,b,r){var u=r(3),d=r(14),h=r(61),p=r(308),y=r(244),T=r(7),$=RangeError,A=String,E=Math.floor,R=d(y),I=d("".slice),O=d(1 .toFixed),C=function(j,G,B){return G===0?B:G%2===1?C(j,G-1,B*j):C(j*j,G/2,B)},D=function(j){for(var G=0,B=j;B>=4096;)G+=12,B/=4096;for(;B>=2;)G+=1,B/=2;return G},M=function(j,G,B){for(var V=-1,Y=B;++V<6;)Y+=G*j[V],j[V]=Y%1e7,Y=E(Y/1e7)},F=function(j,G){for(var B=6,V=0;--B>=0;)V+=j[B],j[B]=E(V/G),V=V%G*1e7},z=function(j){for(var G=6,B="";--G>=0;)if(B!==""||G===0||j[G]!==0){var V=A(j[G]);B=B===""?V:B+R("0",7-V.length)+V}return B},U=T(function(){return O(8e-5,3)!=="0.000"||O(.9,0)!=="1"||O(1.255,2)!=="1.25"||O(0xde0b6b3a7640080,0)!=="1000000000000000128"})||!T(function(){O({})});u({target:"Number",proto:!0,forced:U},{toFixed:function(G){var B=p(this),V=h(G),Y=[0,0,0,0,0,0],Z="",J="0",q,nt,rt,_;if(V<0||V>20)throw new $("Incorrect fraction digits");if(B!==B)return"NaN";if(B<=-1e21||B>=1e21)return A(B);if(B<0&&(Z="-",B=-B),B>1e-21)if(q=D(B*C(2,69,1))-69,nt=q<0?B*C(2,-q,1):B/C(2,q,1),nt*=4503599627370496,q=52-q,q>0){for(M(Y,0,nt),rt=V;rt>=7;)M(Y,1e7,0),rt-=7;for(M(Y,C(10,rt,1),0),rt=q-1;rt>=23;)F(Y,8388608),rt-=23;F(Y,1<0?(_=J.length,J=Z+(_<=V?"0."+R("0",V-_)+J:I(J,0,_-V)+"."+I(J,_-V))):J=Z+J,J}})},function(x,b,r){var u=r(3),d=r(14),h=r(7),p=r(308),y=d(1 .toPrecision),T=h(function(){return y(1,void 0)!=="1"})||!h(function(){y({})});u({target:"Number",proto:!0,forced:T},{toPrecision:function(A){return A===void 0?y(p(this)):y(p(this),A)}})},function(x,b,r){var u=r(3),d=r(328);u({target:"Object",stat:!0,arity:2,forced:Object.assign!==d},{assign:d})},function(x,b,r){var u=r(6),d=r(14),h=r(8),p=r(7),y=r(73),T=r(66),$=r(10),A=r(39),E=r(13),R=Object.assign,I=Object.defineProperty,O=d([].concat);x.exports=!R||p(function(){if(u&&R({b:1},R(I({},"a",{enumerable:!0,get:function(){I(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var C={},D={},M=Symbol("assign detection"),F="abcdefghijklmnopqrst";return C[M]=7,F.split("").forEach(function(z){D[z]=z}),R({},C)[M]!==7||y(R({},D)).join("")!==F})?function(D,M){for(var F=A(D),z=arguments.length,U=1,j=T.f,G=$.f;z>U;)for(var B=E(arguments[U++]),V=j?O(y(B),j(B)):y(B),Y=V.length,Z=0,J;Y>Z;)J=V[Z++],(!u||h(G,B,J))&&(F[J]=B[J]);return F}:R},function(x,b,r){var u=r(3),d=r(6),h=r(71);u({target:"Object",stat:!0,sham:!d},{create:h})},function(x,b,r){var u=r(3),d=r(6),h=r(331),p=r(30),y=r(39),T=r(44);d&&u({target:"Object",proto:!0,forced:h},{__defineGetter__:function(A,E){T.f(y(this),A,{get:p(E),enumerable:!0,configurable:!0})}})},function(x,b,r){var u=r(36),d=r(4),h=r(7),p=r(192);x.exports=u||!h(function(){if(!(p&&p<535)){var y=Math.random();__defineSetter__.call(null,y,function(){}),delete d[y]}})},function(x,b,r){var u=r(3),d=r(6),h=r(72).f;u({target:"Object",stat:!0,forced:Object.defineProperties!==h,sham:!d},{defineProperties:h})},function(x,b,r){var u=r(3),d=r(6),h=r(44).f;u({target:"Object",stat:!0,forced:Object.defineProperty!==h,sham:!d},{defineProperty:h})},function(x,b,r){var u=r(3),d=r(6),h=r(331),p=r(30),y=r(39),T=r(44);d&&u({target:"Object",proto:!0,forced:h},{__defineSetter__:function(A,E){T.f(y(this),A,{set:p(E),enumerable:!0,configurable:!0})}})},function(x,b,r){var u=r(3),d=r(336).entries;u({target:"Object",stat:!0},{entries:function(p){return d(p)}})},function(x,b,r){var u=r(6),d=r(7),h=r(14),p=r(128),y=r(73),T=r(12),$=r(10).f,A=h($),E=h([].push),R=u&&d(function(){var O=Object.create(null);return O[2]=2,!A(O,2)}),I=function(O){return function(C){for(var D=T(C),M=y(D),F=R&&p(D)===null,z=M.length,U=0,j=[],G;z>U;)G=M[U++],(!u||(F?G in D:A(D,G)))&&E(j,O?[G,D[G]]:D[G]);return j}};x.exports={entries:I(!0),values:I(!1)}},function(x,b,r){var u=r(3),d=r(281),h=r(7),p=r(20),y=r(278).onFreeze,T=Object.freeze,$=h(function(){T(1)});u({target:"Object",stat:!0,forced:$,sham:!d},{freeze:function(E){return T&&p(E)?T(y(E)):E}})},function(x,b,r){var u=r(3),d=r(130),h=r(141);u({target:"Object",stat:!0},{fromEntries:function(y){var T={};return d(y,function($,A){h(T,$,A)},{AS_ENTRIES:!0}),T}})},function(x,b,r){var u=r(3),d=r(7),h=r(12),p=r(5).f,y=r(6),T=!y||d(function(){p(1)});u({target:"Object",stat:!0,forced:T,sham:!y},{getOwnPropertyDescriptor:function(A,E){return p(h(A),E)}})},function(x,b,r){var u=r(3),d=r(6),h=r(56),p=r(12),y=r(5),T=r(141);u({target:"Object",stat:!0,sham:!d},{getOwnPropertyDescriptors:function(A){for(var E=p(A),R=y.f,I=h(E),O={},C=0,D,M;I.length>C;)M=R(E,D=I[C++]),M!==void 0&&T(O,D,M);return O}})},function(x,b,r){var u=r(3),d=r(7),h=r(75).f,p=d(function(){return!Object.getOwnPropertyNames(1)});u({target:"Object",stat:!0,forced:p},{getOwnPropertyNames:h})},function(x,b,r){var u=r(3),d=r(7),h=r(39),p=r(128),y=r(129),T=d(function(){p(1)});u({target:"Object",stat:!0,forced:T,sham:!y},{getPrototypeOf:function(A){return p(h(A))}})},function(x,b,r){var u=r(3),d=r(23),h=r(14),p=r(30),y=r(16),T=r(18),$=r(130),A=r(7),E=Object.groupBy,R=d("Object","create"),I=h([].push),O=!E||A(function(){return E("ab",function(C){return C}).a.length!==1});u({target:"Object",stat:!0,forced:O},{groupBy:function(D,M){y(D),p(M);var F=R(null),z=0;return $(D,function(U){var j=T(M(U,z++));j in F?I(F[j],U):F[j]=[U]}),F}})},function(x,b,r){var u=r(3),d=r(38);u({target:"Object",stat:!0},{hasOwn:d})},function(x,b,r){var u=r(3),d=r(346);u({target:"Object",stat:!0},{is:d})},function(x){x.exports=Object.is||function(r,u){return r===u?r!==0||1/r===1/u:r!==r&&u!==u}},function(x,b,r){var u=r(3),d=r(279);u({target:"Object",stat:!0,forced:Object.isExtensible!==d},{isExtensible:d})},function(x,b,r){var u=r(3),d=r(7),h=r(20),p=r(15),y=r(280),T=Object.isFrozen,$=y||d(function(){T(1)});u({target:"Object",stat:!0,forced:$},{isFrozen:function(E){return!h(E)||y&&p(E)==="ArrayBuffer"?!0:T?T(E):!1}})},function(x,b,r){var u=r(3),d=r(7),h=r(20),p=r(15),y=r(280),T=Object.isSealed,$=y||d(function(){T(1)});u({target:"Object",stat:!0,forced:$},{isSealed:function(E){return!h(E)||y&&p(E)==="ArrayBuffer"?!0:T?T(E):!1}})},function(x,b,r){var u=r(3),d=r(39),h=r(73),p=r(7),y=p(function(){h(1)});u({target:"Object",stat:!0,forced:y},{keys:function($){return h(d($))}})},function(x,b,r){var u=r(3),d=r(6),h=r(331),p=r(39),y=r(18),T=r(128),$=r(5).f;d&&u({target:"Object",proto:!0,forced:h},{__lookupGetter__:function(E){var R=p(this),I=y(E),O;do if(O=$(R,I))return O.get;while(R=T(R))}})},function(x,b,r){var u=r(3),d=r(6),h=r(331),p=r(39),y=r(18),T=r(128),$=r(5).f;d&&u({target:"Object",proto:!0,forced:h},{__lookupSetter__:function(E){var R=p(this),I=y(E),O;do if(O=$(R,I))return O.set;while(R=T(R))}})},function(x,b,r){var u=r(3),d=r(20),h=r(278).onFreeze,p=r(281),y=r(7),T=Object.preventExtensions,$=y(function(){T(1)});u({target:"Object",stat:!0,forced:$,sham:!p},{preventExtensions:function(E){return T&&d(E)?T(h(E)):E}})},function(x,b,r){var u=r(6),d=r(77),h=r(20),p=r(116),y=r(39),T=r(16),$=Object.getPrototypeOf,A=Object.setPrototypeOf,E=Object.prototype,R="__proto__";if(u&&$&&A&&!(R in E))try{d(E,R,{configurable:!0,get:function(){return $(y(this))},set:function(O){var C=T(this);p(O)&&h(C)&&A(C,O)}})}catch(I){}},function(x,b,r){var u=r(3),d=r(20),h=r(278).onFreeze,p=r(281),y=r(7),T=Object.seal,$=y(function(){T(1)});u({target:"Object",stat:!0,forced:$,sham:!p},{seal:function(E){return T&&d(E)?T(h(E)):E}})},function(x,b,r){var u=r(3),d=r(113);u({target:"Object",stat:!0},{setPrototypeOf:d})},function(x,b,r){var u=r(70),d=r(47),h=r(358);u||d(Object.prototype,"toString",h,{unsafe:!0})},function(x,b,r){var u=r(70),d=r(69);x.exports=u?{}.toString:function(){return"[object "+d(this)+"]"}},function(x,b,r){var u=r(3),d=r(336).values;u({target:"Object",stat:!0},{values:function(p){return d(p)}})},function(x,b,r){var u=r(3),d=r(321);u({global:!0,forced:parseFloat!==d},{parseFloat:d})},function(x,b,r){var u=r(3),d=r(323);u({global:!0,forced:parseInt!==d},{parseInt:d})},function(x,b,r){r(363),r(379),r(381),r(382),r(383),r(384)},function(x,b,r){var u=r(3),d=r(36),h=r(182),p=r(4),y=r(8),T=r(47),$=r(113),A=r(82),E=r(194),R=r(30),I=r(21),O=r(20),C=r(211),D=r(364),M=r(366).set,F=r(369),z=r(374),U=r(375),j=r(371),G=r(51),B=r(376),V=r(377),Y=r(378),Z="Promise",J=V.CONSTRUCTOR,q=V.REJECTION_EVENT,nt=V.SUBCLASSING,rt=G.getterFor(Z),_=G.set,tt=B&&B.prototype,et=B,lt=tt,mt=p.TypeError,gt=p.document,xt=p.process,yt=Y.f,Ut=yt,Dt=!!(gt&>.createEvent&&p.dispatchEvent),Xt="unhandledrejection",Qt="rejectionhandled",kt=0,me=1,ge=2,ae=1,Mt=2,Ht,re,se,ee,fe=function(Tt){var qt;return O(Tt)&&I(qt=Tt.then)?qt:!1},Pe=function(Tt,qt){var te=qt.value,Zt=qt.state===me,Yt=Zt?Tt.ok:Tt.fail,Ye=Tt.resolve,Ze=Tt.reject,ut=Tt.domain,It,Pt,Ct;try{Yt?(Zt||(qt.rejection===Mt&&Te(qt),qt.rejection=ae),Yt===!0?It=te:(ut&&ut.enter(),It=Yt(te),ut&&(ut.exit(),Ct=!0)),It===Tt.promise?Ze(new mt("Promise-chain cycle")):(Pt=fe(It))?y(Pt,It,Ye,Ze):Ye(It)):Ze(te)}catch(Nt){ut&&!Ct&&ut.exit(),Ze(Nt)}},Me=function(Tt,qt){Tt.notified||(Tt.notified=!0,F(function(){for(var te=Tt.reactions,Zt;Zt=te.get();)Pe(Zt,Tt);Tt.notified=!1,qt&&!Tt.rejection&&ce(Tt)}))},$e=function(Tt,qt,te){var Zt,Yt;Dt?(Zt=gt.createEvent("Event"),Zt.promise=qt,Zt.reason=te,Zt.initEvent(Tt,!1,!0),p.dispatchEvent(Zt)):Zt={promise:qt,reason:te},!q&&(Yt=p["on"+Tt])?Yt(Zt):Tt===Xt&&z("Unhandled promise rejection",te)},ce=function(Tt){y(M,p,function(){var qt=Tt.facade,te=Tt.value,Zt=Ae(Tt),Yt;if(Zt&&(Yt=U(function(){h?xt.emit("unhandledRejection",te,qt):$e(Xt,qt,te)}),Tt.rejection=h||Ae(Tt)?Mt:ae,Yt.error))throw Yt.value})},Ae=function(Tt){return Tt.rejection!==ae&&!Tt.parent},Te=function(Tt){y(M,p,function(){var qt=Tt.facade;h?xt.emit("rejectionHandled",qt):$e(Qt,qt,Tt.value)})},de=function(Tt,qt,te){return function(Zt){Tt(qt,Zt,te)}},bt=function(Tt,qt,te){Tt.done||(Tt.done=!0,te&&(Tt=te),Tt.value=qt,Tt.state=ge,Me(Tt,!0))},Ft=function(Tt,qt,te){if(!Tt.done){Tt.done=!0,te&&(Tt=te);try{if(Tt.facade===qt)throw new mt("Promise can't be resolved itself");var Zt=fe(qt);Zt?F(function(){var Yt={done:!1};try{y(Zt,qt,de(Ft,Yt,Tt),de(bt,Yt,Tt))}catch(Ye){bt(Yt,Ye,Tt)}}):(Tt.value=qt,Tt.state=me,Me(Tt,!1))}catch(Yt){bt({done:!1},Yt,Tt)}}};if(J&&(et=function(qt){C(this,lt),R(qt),y(Ht,this);var te=rt(this);try{qt(de(Ft,te),de(bt,te))}catch(Zt){bt(te,Zt)}},lt=et.prototype,Ht=function(qt){_(this,{type:Z,done:!1,notified:!1,parent:!1,reactions:new j,rejection:!1,state:kt,value:null})},Ht.prototype=T(lt,"then",function(qt,te){var Zt=rt(this),Yt=yt(D(this,et));return Zt.parent=!0,Yt.ok=I(qt)?qt:!0,Yt.fail=I(te)&&te,Yt.domain=h?xt.domain:void 0,Zt.state===kt?Zt.reactions.add(Yt):F(function(){Pe(Yt,Zt)}),Yt.promise}),re=function(){var Tt=new Ht,qt=rt(Tt);this.promise=Tt,this.resolve=de(Ft,qt),this.reject=de(bt,qt)},Y.f=yt=function(Tt){return Tt===et||Tt===se?new re(Tt):Ut(Tt)},!d&&I(B)&&tt!==Object.prototype)){ee=tt.then,nt||T(tt,"then",function(qt,te){var Zt=this;return new et(function(Yt,Ye){y(ee,Zt,Yt,Ye)}).then(qt,te)},{unsafe:!0});try{delete tt.constructor}catch(Tt){}$&&$(tt,lt)}u({global:!0,constructor:!0,wrap:!0,forced:J},{Promise:et}),A(et,Z,!1,!0),E(Z)},function(x,b,r){var u=r(46),d=r(365),h=r(17),p=r(33),y=p("species");x.exports=function(T,$){var A=u(T).constructor,E;return A===void 0||h(E=u(A)[y])?$:d(E)}},function(x,b,r){var u=r(89),d=r(31),h=TypeError;x.exports=function(p){if(u(p))return p;throw new h(d(p)+" is not a constructor")}},function(x,b,r){var u=r(4),d=r(94),h=r(84),p=r(21),y=r(38),T=r(7),$=r(74),A=r(76),E=r(42),R=r(367),I=r(368),O=r(182),C=u.setImmediate,D=u.clearImmediate,M=u.process,F=u.Dispatch,z=u.Function,U=u.MessageChannel,j=u.String,G=0,B={},V="onreadystatechange",Y,Z,J,q;T(function(){Y=u.location});var nt=function(et){if(y(B,et)){var lt=B[et];delete B[et],lt()}},rt=function(et){return function(){nt(et)}},_=function(et){nt(et.data)},tt=function(et){u.postMessage(j(et),Y.protocol+"//"+Y.host)};(!C||!D)&&(C=function(lt){R(arguments.length,1);var mt=p(lt)?lt:z(lt),gt=A(arguments,1);return B[++G]=function(){d(mt,void 0,gt)},Z(G),G},D=function(lt){delete B[lt]},O?Z=function(et){M.nextTick(rt(et))}:F&&F.now?Z=function(et){F.now(rt(et))}:U&&!I?(J=new U,q=J.port2,J.port1.onmessage=_,Z=h(q.postMessage,q)):u.addEventListener&&p(u.postMessage)&&!u.importScripts&&Y&&Y.protocol!=="file:"&&!T(tt)?(Z=tt,u.addEventListener("message",_,!1)):V in E("script")?Z=function(et){$.appendChild(E("script"))[V]=function(){$.removeChild(this),nt(et)}}:Z=function(et){setTimeout(rt(et),0)}),x.exports={set:C,clear:D}},function(x){var b=TypeError;x.exports=function(r,u){if(r1?p(arguments,1):[],C=y.f(this),D=$(function(){return h(T(I),void 0,O)});return(D.error?C.reject:C.resolve)(D.value),C.promise}})},function(x,b,r){var u=r(3),d=r(378);u({target:"Promise",stat:!0},{withResolvers:function(){var p=d.f(this);return{promise:p.promise,resolve:p.resolve,reject:p.reject}}})},function(x,b,r){var u=r(3),d=r(94),h=r(30),p=r(46),y=r(7),T=!y(function(){Reflect.apply(function(){})});u({target:"Reflect",stat:!0,forced:T},{apply:function(A,E,R){return d(h(A),E,p(R))}})},function(x,b,r){var u=r(3),d=r(23),h=r(94),p=r(251),y=r(365),T=r(46),$=r(20),A=r(71),E=r(7),R=d("Reflect","construct"),I=Object.prototype,O=[].push,C=E(function(){function F(){}return!(R(function(){},[],F)instanceof F)}),D=!E(function(){R(function(){})}),M=C||D;u({target:"Reflect",stat:!0,forced:M,sham:M},{construct:function(z,U){y(z),T(U);var j=arguments.length<3?z:y(arguments[2]);if(D&&!C)return R(z,U,j);if(z===j){switch(U.length){case 0:return new z;case 1:return new z(U[0]);case 2:return new z(U[0],U[1]);case 3:return new z(U[0],U[1],U[2]);case 4:return new z(U[0],U[1],U[2],U[3])}var G=[null];return h(O,G,U),new(h(p,z,G))}var B=j.prototype,V=A($(B)?B:I),Y=h(z,V,U);return $(Y)?Y:V}})},function(x,b,r){var u=r(3),d=r(6),h=r(46),p=r(18),y=r(44),T=r(7),$=T(function(){Reflect.defineProperty(y.f({},1,{value:1}),1,{value:2})});u({target:"Reflect",stat:!0,forced:$,sham:!d},{defineProperty:function(E,R,I){h(E);var O=p(R);h(I);try{return y.f(E,O,I),!0}catch(C){return!1}}})},function(x,b,r){var u=r(3),d=r(46),h=r(5).f;u({target:"Reflect",stat:!0},{deleteProperty:function(y,T){var $=h(d(y),T);return $&&!$.configurable?!1:delete y[T]}})},function(x,b,r){var u=r(3),d=r(8),h=r(20),p=r(46),y=r(396),T=r(5),$=r(128);function A(E,R){var I=arguments.length<3?E:arguments[2],O,C;if(p(E)===I)return E[R];if(O=T.f(E,R),O)return y(O)?O.value:O.get===void 0?void 0:d(O.get,I);if(h(C=$(E)))return A(C,R,I)}u({target:"Reflect",stat:!0},{get:A})},function(x,b,r){var u=r(38);x.exports=function(d){return d!==void 0&&(u(d,"value")||u(d,"writable"))}},function(x,b,r){var u=r(3),d=r(6),h=r(46),p=r(5);u({target:"Reflect",stat:!0,sham:!d},{getOwnPropertyDescriptor:function(T,$){return p.f(h(T),$)}})},function(x,b,r){var u=r(3),d=r(46),h=r(128),p=r(129);u({target:"Reflect",stat:!0,sham:!p},{getPrototypeOf:function(T){return h(d(T))}})},function(x,b,r){var u=r(3);u({target:"Reflect",stat:!0},{has:function(h,p){return p in h}})},function(x,b,r){var u=r(3),d=r(46),h=r(279);u({target:"Reflect",stat:!0},{isExtensible:function(y){return d(y),h(y)}})},function(x,b,r){var u=r(3),d=r(56);u({target:"Reflect",stat:!0},{ownKeys:d})},function(x,b,r){var u=r(3),d=r(23),h=r(46),p=r(281);u({target:"Reflect",stat:!0,sham:!p},{preventExtensions:function(T){h(T);try{var $=d("Object","preventExtensions");return $&&$(T),!0}catch(A){return!1}}})},function(x,b,r){var u=r(3),d=r(8),h=r(46),p=r(20),y=r(396),T=r(7),$=r(44),A=r(5),E=r(128),R=r(11);function I(C,D,M){var F=arguments.length<4?C:arguments[3],z=A.f(h(C),D),U,j,G;if(!z){if(p(j=E(C)))return I(j,D,M,F);z=R(0)}if(y(z)){if(z.writable===!1||!p(F))return!1;if(U=A.f(F,D)){if(U.get||U.set||U.writable===!1)return!1;U.value=M,$.f(F,D,U)}else $.f(F,D,R(0,M))}else{if(G=z.set,G===void 0)return!1;d(G,F,M)}return!0}var O=T(function(){var C=function(){},D=$.f(new C,"a",{configurable:!0});return Reflect.set(C.prototype,"a",1,D)!==!1});u({target:"Reflect",stat:!0,forced:O},{set:I})},function(x,b,r){var u=r(3),d=r(46),h=r(115),p=r(113);p&&u({target:"Reflect",stat:!0},{setPrototypeOf:function(T,$){d(T),h($);try{return p(T,$),!0}catch(A){return!1}}})},function(x,b,r){var u=r(3),d=r(4),h=r(82);u({global:!0},{Reflect:{}}),h(d.Reflect,"Reflect",!0)},function(x,b,r){var u=r(6),d=r(4),h=r(14),p=r(67),y=r(118),T=r(43),$=r(71),A=r(57).f,E=r(24),R=r(407),I=r(68),O=r(408),C=r(410),D=r(117),M=r(47),F=r(7),z=r(38),U=r(51).enforce,j=r(194),G=r(33),B=r(411),V=r(412),Y=G("match"),Z=d.RegExp,J=Z.prototype,q=d.SyntaxError,nt=h(J.exec),rt=h("".charAt),_=h("".replace),tt=h("".indexOf),et=h("".slice),lt=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,mt=/a/g,gt=/a/g,xt=new Z(mt)!==mt,yt=C.MISSED_STICKY,Ut=C.UNSUPPORTED_Y,Dt=u&&(!xt||yt||B||V||F(function(){return gt[Y]=!1,Z(mt)!==mt||Z(gt)===gt||String(Z(mt,"i"))!=="/a/i"})),Xt=function(ae){for(var Mt=ae.length,Ht=0,re="",se=!1,ee;Ht<=Mt;Ht++){if(ee=rt(ae,Ht),ee==="\\"){re+=ee+rt(ae,++Ht);continue}!se&&ee==="."?re+="[\\s\\S]":(ee==="["?se=!0:ee==="]"&&(se=!1),re+=ee)}return re},Qt=function(ae){for(var Mt=ae.length,Ht=0,re="",se=[],ee=$(null),fe=!1,Pe=!1,Me=0,$e="",ce;Ht<=Mt;Ht++){if(ce=rt(ae,Ht),ce==="\\")ce+=rt(ae,++Ht);else if(ce==="]")fe=!1;else if(!fe)switch(!0){case ce==="[":fe=!0;break;case ce==="(":if(re+=ce,et(ae,Ht+1,Ht+3)==="?:")continue;nt(lt,et(ae,Ht+1))&&(Ht+=2,Pe=!0),Me++;continue;case(ce===">"&&Pe):if($e===""||z(ee,$e))throw new q("Invalid capture group name");ee[$e]=!0,se[se.length]=[$e,Me],Pe=!1,$e="";continue}Pe?$e+=ce:re+=ce}return[re,se]};if(p("RegExp",Dt)){for(var kt=function(Mt,Ht){var re=E(J,this),se=R(Mt),ee=Ht===void 0,fe=[],Pe=Mt,Me,$e,ce,Ae,Te,de;if(!re&&se&&ee&&Mt.constructor===kt)return Mt;if((se||E(J,Mt))&&(Mt=Mt.source,ee&&(Ht=O(Pe))),Mt=Mt===void 0?"":I(Mt),Ht=Ht===void 0?"":I(Ht),Pe=Mt,B&&"dotAll"in mt&&($e=!!Ht&&tt(Ht,"s")>-1,$e&&(Ht=_(Ht,/s/g,""))),Me=Ht,yt&&"sticky"in mt&&(ce=!!Ht&&tt(Ht,"y")>-1,ce&&Ut&&(Ht=_(Ht,/y/g,""))),V&&(Ae=Qt(Mt),Mt=Ae[0],fe=Ae[1]),Te=y(Z(Mt,Ht),re?this:J,kt),($e||ce||fe.length)&&(de=U(Te),$e&&(de.dotAll=!0,de.raw=kt(Xt(Mt),Me)),ce&&(de.sticky=!0),fe.length&&(de.groups=fe)),Mt!==Pe)try{T(Te,"source",Pe===""?"(?:)":Pe)}catch(bt){}return Te},me=A(Z),ge=0;me.length>ge;)D(kt,Z,me[ge++]);J.constructor=kt,kt.prototype=J,M(d,"RegExp",kt,{constructor:!0})}j("RegExp")},function(x,b,r){var u=r(20),d=r(15),h=r(33),p=h("match");x.exports=function(y){var T;return u(y)&&((T=y[p])!==void 0?!!T:d(y)==="RegExp")}},function(x,b,r){var u=r(8),d=r(38),h=r(24),p=r(409),y=RegExp.prototype;x.exports=function(T){var $=T.flags;return $===void 0&&!("flags"in y)&&!d(T,"flags")&&h(y,T)?u(p,T):$}},function(x,b,r){var u=r(46);x.exports=function(){var d=u(this),h="";return d.hasIndices&&(h+="d"),d.global&&(h+="g"),d.ignoreCase&&(h+="i"),d.multiline&&(h+="m"),d.dotAll&&(h+="s"),d.unicode&&(h+="u"),d.unicodeSets&&(h+="v"),d.sticky&&(h+="y"),h}},function(x,b,r){var u=r(7),d=r(4),h=d.RegExp,p=u(function(){var $=h("a","y");return $.lastIndex=2,$.exec("abcd")!==null}),y=p||u(function(){return!h("a","y").sticky}),T=p||u(function(){var $=h("^r","gy");return $.lastIndex=2,$.exec("str")!==null});x.exports={BROKEN_CARET:T,MISSED_STICKY:y,UNSUPPORTED_Y:p}},function(x,b,r){var u=r(7),d=r(4),h=d.RegExp;x.exports=u(function(){var p=h(".","s");return!(p.dotAll&&p.test(` +`)&&p.flags==="s")})},function(x,b,r){var u=r(7),d=r(4),h=d.RegExp;x.exports=u(function(){var p=h("(?b)","g");return p.exec("b").groups.a!=="b"||"b".replace(p,"$c")!=="bc"})},function(x,b,r){var u=r(3),d=r(14),h=r(414),p=r(38),y=r(243).start,T=r(310),$=Array,A=RegExp.escape,E=d("".charAt),R=d("".charCodeAt),I=d(1.1.toString),O=d([].join),C=/^[0-9a-z]/i,D=/^[$()*+./?[\\\]^{|}]/,M=RegExp("^[!\"#%&',\\-:;<=>@`~"+T+"]"),F=d(C.exec),z={" ":"t","\n":"n","\v":"v","\f":"f","\r":"r"},U=function(G){var B=I(R(G,0),16);return B.length<3?"\\x"+y(B,2,"0"):"\\u"+y(B,4,"0")},j=!A||A("ab")!=="\\x61b";u({target:"RegExp",stat:!0,forced:j},{escape:function(B){h(B);for(var V=B.length,Y=$(V),Z=0;Z=56320||Z+1>=V||(R(B,Z+1)&64512)!==56320?Y[Z]=U(J):(Y[Z]=J,Y[++Z]=E(B,Z))}}return O(Y,"")}})},function(x){var b=TypeError;x.exports=function(r){if(typeof r=="string")return r;throw new b("Argument is not a string")}},function(x,b,r){var u=r(6),d=r(411),h=r(15),p=r(77),y=r(51).get,T=RegExp.prototype,$=TypeError;u&&d&&p(T,"dotAll",{configurable:!0,get:function(){if(this!==T){if(h(this)==="RegExp")return!!y(this).dotAll;throw new $("Incompatible receiver, RegExp required")}}})},function(x,b,r){var u=r(3),d=r(417);u({target:"RegExp",proto:!0,forced:/./.exec!==d},{exec:d})},function(x,b,r){var u=r(8),d=r(14),h=r(68),p=r(409),y=r(410),T=r(34),$=r(71),A=r(51).get,E=r(411),R=r(412),I=T("native-string-replace",String.prototype.replace),O=RegExp.prototype.exec,C=O,D=d("".charAt),M=d("".indexOf),F=d("".replace),z=d("".slice),U=function(){var V=/a/,Y=/b*/g;return u(O,V,"a"),u(O,Y,"a"),V.lastIndex!==0||Y.lastIndex!==0}(),j=y.BROKEN_CARET,G=/()??/.exec("")[1]!==void 0,B=U||G||j||E||R;B&&(C=function(Y){var Z=this,J=A(Z),q=h(Y),nt=J.raw,rt,_,tt,et,lt,mt,gt;if(nt)return nt.lastIndex=Z.lastIndex,rt=u(C,nt,q),Z.lastIndex=nt.lastIndex,rt;var xt=J.groups,yt=j&&Z.sticky,Ut=u(p,Z),Dt=Z.source,Xt=0,Qt=q;if(yt&&(Ut=F(Ut,"y",""),M(Ut,"g")===-1&&(Ut+="g"),Qt=z(q,Z.lastIndex),Z.lastIndex>0&&(!Z.multiline||Z.multiline&&D(q,Z.lastIndex-1)!==` +`)&&(Dt="(?: "+Dt+")",Qt=" "+Qt,Xt++),_=new RegExp("^(?:"+Dt+")",Ut)),G&&(_=new RegExp("^"+Dt+"$(?!\\s)",Ut)),U&&(tt=Z.lastIndex),et=u(O,yt?_:Z,Qt),yt?et?(et.input=z(et.input,Xt),et[0]=z(et[0],Xt),et.index=Z.lastIndex,Z.lastIndex+=et[0].length):Z.lastIndex=0:U&&et&&(Z.lastIndex=Z.global?et.index+et[0].length:tt),G&&et&&et.length>1&&u(I,et[0],_,function(){for(lt=1;ltC.size?T(C.getIterator(),function(M){E(O,M)&&A(D,M)}):y(O,function(M){C.includes(M)&&A(D,M)}),D}},function(x,b,r){var u=r(3),d=r(437),h=r(433),p=!h("isDisjointFrom",function(y){return!y});u({target:"Set",proto:!0,real:!0,forced:p},{isDisjointFrom:d})},function(x,b,r){var u=r(426),d=r(427).has,h=r(431),p=r(432),y=r(429),T=r(430),$=r(135);x.exports=function(E){var R=u(this),I=p(E);if(h(R)<=I.size)return y(R,function(C){if(I.includes(C))return!1},!0)!==!1;var O=I.getIterator();return T(O,function(C){if(d(R,C))return $(O,"normal",!1)})!==!1}},function(x,b,r){var u=r(3),d=r(439),h=r(433),p=!h("isSubsetOf",function(y){return y});u({target:"Set",proto:!0,real:!0,forced:p},{isSubsetOf:d})},function(x,b,r){var u=r(426),d=r(431),h=r(429),p=r(432);x.exports=function(T){var $=u(this),A=p(T);return d($)>A.size?!1:h($,function(E){if(!A.includes(E))return!1},!0)!==!1}},function(x,b,r){var u=r(3),d=r(441),h=r(433),p=!h("isSupersetOf",function(y){return!y});u({target:"Set",proto:!0,real:!0,forced:p},{isSupersetOf:d})},function(x,b,r){var u=r(426),d=r(427).has,h=r(431),p=r(432),y=r(430),T=r(135);x.exports=function(A){var E=u(this),R=p(A);if(h(E)=0?C:O+C;return D<0||D>=O?void 0:$(I,D)}})},function(x,b,r){var u=r(3),d=r(448).codeAt;u({target:"String",proto:!0},{codePointAt:function(p){return d(this,p)}})},function(x,b,r){var u=r(14),d=r(61),h=r(68),p=r(16),y=u("".charAt),T=u("".charCodeAt),$=u("".slice),A=function(E){return function(R,I){var O=h(p(R)),C=d(I),D=O.length,M,F;return C<0||C>=D?E?"":void 0:(M=T(O,C),M<55296||M>56319||C+1===D||(F=T(O,C+1))<56320||F>57343?E?y(O,C):M:E?$(O,C,C+2):(M-55296<<10)+(F-56320)+65536)}};x.exports={codeAt:A(!1),charAt:A(!0)}},function(x,b,r){var u=r(3),d=r(85),h=r(5).f,p=r(64),y=r(68),T=r(450),$=r(16),A=r(451),E=r(36),R=d("".slice),I=Math.min,O=A("endsWith"),C=!E&&!O&&!!function(){var D=h(String.prototype,"endsWith");return D&&!D.writable}();u({target:"String",proto:!0,forced:!C&&!O},{endsWith:function(M){var F=y($(this));T(M);var z=arguments.length>1?arguments[1]:void 0,U=F.length,j=z===void 0?U:I(p(z),U),G=y(M);return R(F,j-G.length,j)===G}})},function(x,b,r){var u=r(407),d=TypeError;x.exports=function(h){if(u(h))throw new d("The method doesn't accept regular expressions");return h}},function(x,b,r){var u=r(33),d=u("match");x.exports=function(h){var p=/./;try{"/./"[h](p)}catch(y){try{return p[d]=!1,"/./"[h](p)}catch(T){}}return!1}},function(x,b,r){var u=r(3),d=r(14),h=r(60),p=RangeError,y=String.fromCharCode,T=String.fromCodePoint,$=d([].join),A=!!T&&T.length!==1;u({target:"String",stat:!0,arity:1,forced:A},{fromCodePoint:function(R){for(var I=[],O=arguments.length,C=0,D;O>C;){if(D=+arguments[C++],h(D,1114111)!==D)throw new p(D+" is not a valid code point");I[C]=D<65536?y(D):y(((D-=65536)>>10)+55296,D%1024+56320)}return $(I,"")}})},function(x,b,r){var u=r(3),d=r(14),h=r(450),p=r(16),y=r(68),T=r(451),$=d("".indexOf);u({target:"String",proto:!0,forced:!T("includes")},{includes:function(E){return!!~$(y(p(this)),y(h(E)),arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(14),h=r(16),p=r(68),y=d("".charCodeAt);u({target:"String",proto:!0},{isWellFormed:function(){for(var $=p(h(this)),A=$.length,E=0;E=56320||++E>=A||(y($,E)&64512)!==56320))return!1}return!0}})},function(x,b,r){var u=r(448).charAt,d=r(68),h=r(51),p=r(169),y=r(172),T="String Iterator",$=h.set,A=h.getterFor(T);p(String,"String",function(E){$(this,{type:T,string:d(E),index:0})},function(){var R=A(this),I=R.string,O=R.index,C;return O>=I.length?y(void 0,!0):(C=u(I,O),R.index+=C.length,y(C,!1))})},function(x,b,r){var u=r(8),d=r(457),h=r(46),p=r(17),y=r(64),T=r(68),$=r(16),A=r(29),E=r(458),R=r(459);d("match",function(I,O,C){return[function(M){var F=$(this),z=p(M)?void 0:A(M,I);return z?u(z,M,F):new RegExp(M)[I](T(F))},function(D){var M=h(this),F=T(D),z=C(O,M,F);if(z.done)return z.value;if(!M.global)return R(M,F);var U=M.unicode;M.lastIndex=0;for(var j=[],G=0,B;(B=R(M,F))!==null;){var V=T(B[0]);j[G]=V,V===""&&(M.lastIndex=E(F,y(M.lastIndex),U)),G++}return G===0?null:j}]})},function(x,b,r){r(416);var u=r(8),d=r(47),h=r(417),p=r(7),y=r(33),T=r(43),$=y("species"),A=RegExp.prototype;x.exports=function(E,R,I,O){var C=y(E),D=!p(function(){var U={};return U[C]=function(){return 7},""[E](U)!==7}),M=D&&!p(function(){var U=!1,j=/a/;return E==="split"&&(j={},j.constructor={},j.constructor[$]=function(){return j},j.flags="",j[C]=/./[C]),j.exec=function(){return U=!0,null},j[C](""),!U});if(!D||!M||I){var F=/./[C],z=R(C,""[E],function(U,j,G,B,V){var Y=j.exec;return Y===h||Y===A.exec?D&&!V?{done:!0,value:u(F,j,G,B)}:{done:!0,value:u(U,G,j,B)}:{done:!1}});d(String.prototype,E,z[0]),d(A,C,z[1])}O&&T(A[C],"sham",!0)}},function(x,b,r){var u=r(448).charAt;x.exports=function(d,h,p){return h+(p?u(d,h).length:1)}},function(x,b,r){var u=r(8),d=r(46),h=r(21),p=r(15),y=r(417),T=TypeError;x.exports=function($,A){var E=$.exec;if(h(E)){var R=u(E,$,A);return R!==null&&d(R),R}if(p($)==="RegExp")return u(y,$,A);throw new T("RegExp#exec called on incompatible receiver")}},function(x,b,r){var u=r(3),d=r(8),h=r(85),p=r(170),y=r(172),T=r(16),$=r(64),A=r(68),E=r(46),R=r(17),I=r(15),O=r(407),C=r(408),D=r(29),M=r(47),F=r(7),z=r(33),U=r(364),j=r(458),G=r(459),B=r(51),V=r(36),Y=z("matchAll"),Z="RegExp String",J=Z+" Iterator",q=B.set,nt=B.getterFor(J),rt=RegExp.prototype,_=TypeError,tt=h("".indexOf),et=h("".matchAll),lt=!!et&&!F(function(){et("a",/./)}),mt=p(function(yt,Ut,Dt,Xt){q(this,{type:J,regexp:yt,string:Ut,global:Dt,unicode:Xt,done:!1})},Z,function(){var yt=nt(this);if(yt.done)return y(void 0,!0);var Ut=yt.regexp,Dt=yt.string,Xt=G(Ut,Dt);return Xt===null?(yt.done=!0,y(void 0,!0)):yt.global?(A(Xt[0])===""&&(Ut.lastIndex=j(Dt,$(Ut.lastIndex),yt.unicode)),y(Xt,!1)):(yt.done=!0,y(Xt,!1))}),gt=function(xt){var yt=E(this),Ut=A(xt),Dt=U(yt,RegExp),Xt=A(C(yt)),Qt,kt,me;return Qt=new Dt(Dt===RegExp?yt.source:yt,Xt),kt=!!~tt(Xt,"g"),me=!!~tt(Xt,"u"),Qt.lastIndex=$(yt.lastIndex),new mt(Qt,Ut,kt,me)};u({target:"String",proto:!0,forced:lt},{matchAll:function(yt){var Ut=T(this),Dt,Xt,Qt,kt;if(R(yt)){if(lt)return et(Ut,yt)}else{if(O(yt)&&(Dt=A(T(C(yt))),!~tt(Dt,"g")))throw new _("`.matchAll` does not allow non-global regexes");if(lt)return et(Ut,yt);if(Qt=D(yt,Y),Qt===void 0&&V&&I(yt)==="RegExp"&&(Qt=gt),Qt)return d(Qt,yt,Ut)}return Xt=A(Ut),kt=new RegExp(yt,"g"),V?d(gt,kt,Xt):kt[Y](Xt)}}),V||Y in rt||M(rt,Y,gt)},function(x,b,r){var u=r(3),d=r(243).end,h=r(462);u({target:"String",proto:!0,forced:h},{padEnd:function(y){return d(this,y,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(28);x.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(u)},function(x,b,r){var u=r(3),d=r(243).start,h=r(462);u({target:"String",proto:!0,forced:h},{padStart:function(y){return d(this,y,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(14),h=r(12),p=r(39),y=r(68),T=r(63),$=d([].push),A=d([].join);u({target:"String",stat:!0},{raw:function(R){var I=h(p(R).raw),O=T(I);if(!O)return"";for(var C=arguments.length,D=[],M=0;;){if($(D,y(I[M++])),M===O)return A(D,"");M")!=="7"});p("replace",function(_,tt,et){var lt=nt?"$":"$0";return[function(gt,xt){var yt=O(this),Ut=A(gt)?void 0:D(gt,U);return Ut?d(Ut,gt,yt,xt):d(tt,I(yt),gt,xt)},function(mt,gt){var xt=T(this),yt=I(mt);if(typeof gt=="string"&&Y(gt,lt)===-1&&Y(gt,"$<")===-1){var Ut=et(tt,xt,yt,gt);if(Ut.done)return Ut.value}var Dt=$(gt);Dt||(gt=I(gt));var Xt=xt.global,Qt;Xt&&(Qt=xt.unicode,xt.lastIndex=0);for(var kt=[],me;me=F(xt,yt),!(me===null||(V(kt,me),!Xt));){var ge=I(me[0]);ge===""&&(xt.lastIndex=C(yt,R(xt.lastIndex),Qt))}for(var ae="",Mt=0,Ht=0;Ht=Mt&&(ae+=Z(yt,Mt,se)+fe,Mt=se+re.length)}return ae+Z(yt,Mt)}]},!rt||!q||nt)},function(x,b,r){var u=r(14),d=r(39),h=Math.floor,p=u("".charAt),y=u("".replace),T=u("".slice),$=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,A=/\$([$&'`]|\d{1,2})/g;x.exports=function(E,R,I,O,C,D){var M=I+E.length,F=O.length,z=A;return C!==void 0&&(C=d(C),z=$),y(D,z,function(U,j){var G;switch(p(j,0)){case"$":return"$";case"&":return E;case"`":return T(R,0,I);case"'":return T(R,M);case"<":G=C[T(j,1,-1)];break;default:var B=+j;if(B===0)return U;if(B>F){var V=h(B/10);return V===0?U:V<=F?O[V-1]===void 0?p(j,1):O[V-1]+p(j,1):U}G=O[B-1]}return G===void 0?"":G})}},function(x,b,r){var u=r(3),d=r(8),h=r(14),p=r(16),y=r(21),T=r(17),$=r(407),A=r(68),E=r(29),R=r(408),I=r(467),O=r(33),C=r(36),D=O("replace"),M=TypeError,F=h("".indexOf),z=h("".replace),U=h("".slice),j=Math.max;u({target:"String",proto:!0},{replaceAll:function(B,V){var Y=p(this),Z,J,q,nt,rt,_,tt,et,lt,mt,gt=0,xt="";if(!T(B)){if(Z=$(B),Z&&(J=A(p(R(B))),!~F(J,"g")))throw new M("`.replaceAll` does not allow non-global regexes");if(q=E(B,D),q)return d(q,B,Y,V);if(C&&Z)return z(A(Y),B,V)}for(nt=A(Y),rt=A(B),_=y(V),_||(V=A(V)),tt=rt.length,et=j(1,tt),lt=F(nt,rt);lt!==-1;)mt=_?A(V(rt,lt,nt)):I(rt,nt,lt,[],void 0,V),xt+=U(nt,gt,lt)+mt,gt=lt+tt,lt=lt+et>nt.length?-1:F(nt,rt,lt+et);return gt1||"".split(/.?/).length;h("split",function(V,Y,Z){var J="0".split(void 0,0).length?function(q,nt){return q===void 0&&nt===0?[]:u(Y,this,q,nt)}:Y;return[function(nt,rt){var _=T(this),tt=y(nt)?void 0:I(nt,V);return tt?u(tt,nt,_,rt):u(J,R(_),nt,rt)},function(q,nt){var rt=p(this),_=R(q);if(!B){var tt=Z(J,rt,_,nt,J!==Y);if(tt.done)return tt.value}var et=$(rt,RegExp),lt=rt.unicode,mt=(rt.ignoreCase?"i":"")+(rt.multiline?"m":"")+(rt.unicode?"u":"")+(M?"g":"y"),gt=new et(M?"^(?:"+rt.source+")":rt,mt),xt=nt===void 0?F:nt>>>0;if(xt===0)return[];if(_.length===0)return O(gt,_)===null?[_]:[];for(var yt=0,Ut=0,Dt=[];Ut<_.length;){gt.lastIndex=M?0:Ut;var Xt=O(gt,M?j(_,Ut):_),Qt;if(Xt===null||(Qt=z(E(gt.lastIndex+(M?Ut:0)),_.length))===yt)Ut=A(_,Ut,lt);else{if(U(Dt,j(_,yt,Ut)),Dt.length===xt)return Dt;for(var kt=1;kt<=Xt.length-1;kt++)if(U(Dt,Xt[kt]),Dt.length===xt)return Dt;Ut=yt=Qt}}return U(Dt,j(_,yt)),Dt}]},B||!G,M)},function(x,b,r){var u=r(3),d=r(85),h=r(5).f,p=r(64),y=r(68),T=r(450),$=r(16),A=r(451),E=r(36),R=d("".slice),I=Math.min,O=A("startsWith"),C=!E&&!O&&!!function(){var D=h(String.prototype,"startsWith");return D&&!D.writable}();u({target:"String",proto:!0,forced:!C&&!O},{startsWith:function(M){var F=y($(this));T(M);var z=p(I(arguments.length>1?arguments[1]:void 0,F.length)),U=y(M);return R(F,z,z+U.length)===U}})},function(x,b,r){var u=r(3),d=r(14),h=r(16),p=r(61),y=r(68),T=d("".slice),$=Math.max,A=Math.min,E=!"".substr||"ab".substr(-1)!=="b";u({target:"String",proto:!0,forced:E},{substr:function(I,O){var C=y(h(this)),D=C.length,M=p(I),F,z;return M===1/0&&(M=0),M<0&&(M=$(D+M,0)),F=O===void 0?D:p(O),F<=0||F===1/0?"":(z=A(M+F,D),M>=z?"":T(C,M,z))}})},function(x,b,r){var u=r(3),d=r(8),h=r(14),p=r(16),y=r(68),T=r(7),$=Array,A=h("".charAt),E=h("".charCodeAt),R=h([].join),I="".toWellFormed,O="\uFFFD",C=I&&T(function(){return d(I,1)!=="1"});u({target:"String",proto:!0,forced:C},{toWellFormed:function(){var M=y(p(this));if(C)return d(I,M);for(var F=M.length,z=$(F),U=0;U=56320||U+1>=F||(E(M,U+1)&64512)!==56320?z[U]=O:(z[U]=A(M,U),z[++U]=A(M,U))}return R(z,"")}})},function(x,b,r){var u=r(3),d=r(309).trim,h=r(475);u({target:"String",proto:!0,forced:h("trim")},{trim:function(){return d(this)}})},function(x,b,r){var u=r(49).PROPER,d=r(7),h=r(310),p="\u200B\x85\u180E";x.exports=function(y){return d(function(){return!!h[y]()||p[y]()!==p||u&&h[y].name!==y})}},function(x,b,r){r(477);var u=r(3),d=r(478);u({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==d},{trimEnd:d})},function(x,b,r){var u=r(3),d=r(478);u({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==d},{trimRight:d})},function(x,b,r){var u=r(309).end,d=r(475);x.exports=d("trimEnd")?function(){return u(this)}:"".trimEnd},function(x,b,r){r(480);var u=r(3),d=r(481);u({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==d},{trimStart:d})},function(x,b,r){var u=r(3),d=r(481);u({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==d},{trimLeft:d})},function(x,b,r){var u=r(309).start,d=r(475);x.exports=d("trimStart")?function(){return u(this)}:"".trimStart},function(x,b,r){var u=r(3),d=r(483),h=r(484);u({target:"String",proto:!0,forced:h("anchor")},{anchor:function(y){return d(this,"a","name",y)}})},function(x,b,r){var u=r(14),d=r(16),h=r(68),p=/"/g,y=u("".replace);x.exports=function(T,$,A,E){var R=h(d(T)),I="<"+$;return A!==""&&(I+=" "+A+'="'+y(h(E),p,""")+'"'),I+">"+R+""}},function(x,b,r){var u=r(7);x.exports=function(d){return u(function(){var h=""[d]('"');return h!==h.toLowerCase()||h.split('"').length>3})}},function(x,b,r){var u=r(3),d=r(483),h=r(484);u({target:"String",proto:!0,forced:h("big")},{big:function(){return d(this,"big","","")}})},function(x,b,r){var u=r(3),d=r(483),h=r(484);u({target:"String",proto:!0,forced:h("blink")},{blink:function(){return d(this,"blink","","")}})},function(x,b,r){var u=r(3),d=r(483),h=r(484);u({target:"String",proto:!0,forced:h("bold")},{bold:function(){return d(this,"b","","")}})},function(x,b,r){var u=r(3),d=r(483),h=r(484);u({target:"String",proto:!0,forced:h("fixed")},{fixed:function(){return d(this,"tt","","")}})},function(x,b,r){var u=r(3),d=r(483),h=r(484);u({target:"String",proto:!0,forced:h("fontcolor")},{fontcolor:function(y){return d(this,"font","color",y)}})},function(x,b,r){var u=r(3),d=r(483),h=r(484);u({target:"String",proto:!0,forced:h("fontsize")},{fontsize:function(y){return d(this,"font","size",y)}})},function(x,b,r){var u=r(3),d=r(483),h=r(484);u({target:"String",proto:!0,forced:h("italics")},{italics:function(){return d(this,"i","","")}})},function(x,b,r){var u=r(3),d=r(483),h=r(484);u({target:"String",proto:!0,forced:h("link")},{link:function(y){return d(this,"a","href",y)}})},function(x,b,r){var u=r(3),d=r(483),h=r(484);u({target:"String",proto:!0,forced:h("small")},{small:function(){return d(this,"small","","")}})},function(x,b,r){var u=r(3),d=r(483),h=r(484);u({target:"String",proto:!0,forced:h("strike")},{strike:function(){return d(this,"strike","","")}})},function(x,b,r){var u=r(3),d=r(483),h=r(484);u({target:"String",proto:!0,forced:h("sub")},{sub:function(){return d(this,"sub","","")}})},function(x,b,r){var u=r(3),d=r(483),h=r(484);u({target:"String",proto:!0,forced:h("sup")},{sup:function(){return d(this,"sup","","")}})},function(x,b,r){var u=r(498);u("Float32",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(3),d=r(4),h=r(8),p=r(6),y=r(499),T=r(219),$=r(208),A=r(211),E=r(11),R=r(43),I=r(315),O=r(64),C=r(212),D=r(500),M=r(501),F=r(18),z=r(38),U=r(69),j=r(20),G=r(22),B=r(71),V=r(24),Y=r(113),Z=r(57).f,J=r(502),q=r(83).forEach,nt=r(194),rt=r(77),_=r(44),tt=r(5),et=r(199),lt=r(51),mt=r(118),gt=lt.get,xt=lt.set,yt=lt.enforce,Ut=_.f,Dt=tt.f,Xt=d.RangeError,Qt=$.ArrayBuffer,kt=Qt.prototype,me=$.DataView,ge=T.NATIVE_ARRAY_BUFFER_VIEWS,ae=T.TYPED_ARRAY_TAG,Mt=T.TypedArray,Ht=T.TypedArrayPrototype,re=T.isTypedArray,se="BYTES_PER_ELEMENT",ee="Wrong length",fe=function(Ae,Te){rt(Ae,Te,{configurable:!0,get:function(){return gt(this)[Te]}})},Pe=function(Ae){var Te;return V(kt,Ae)||(Te=U(Ae))==="ArrayBuffer"||Te==="SharedArrayBuffer"},Me=function(Ae,Te){return re(Ae)&&!G(Te)&&Te in Ae&&I(+Te)&&Te>=0},$e=function(Te,de){return de=F(de),Me(Te,de)?E(2,Te[de]):Dt(Te,de)},ce=function(Te,de,bt){return de=F(de),Me(Te,de)&&j(bt)&&z(bt,"value")&&!z(bt,"get")&&!z(bt,"set")&&!bt.configurable&&(!z(bt,"writable")||bt.writable)&&(!z(bt,"enumerable")||bt.enumerable)?(Te[de]=bt.value,Te):Ut(Te,de,bt)};p?(ge||(tt.f=$e,_.f=ce,fe(Ht,"buffer"),fe(Ht,"byteOffset"),fe(Ht,"byteLength"),fe(Ht,"length")),u({target:"Object",stat:!0,forced:!ge},{getOwnPropertyDescriptor:$e,defineProperty:ce}),x.exports=function(Ae,Te,de){var bt=Ae.match(/\d+/)[0]/8,Ft=Ae+(de?"Clamped":"")+"Array",Tt="get"+Ae,qt="set"+Ae,te=d[Ft],Zt=te,Yt=Zt&&Zt.prototype,Ye={},Ze=function(Ct,Nt){var Et=gt(Ct);return Et.view[Tt](Nt*bt+Et.byteOffset,!0)},ut=function(Ct,Nt,Et){var ie=gt(Ct);ie.view[qt](Nt*bt+ie.byteOffset,de?M(Et):Et,!0)},It=function(Ct,Nt){Ut(Ct,Nt,{get:function(){return Ze(this,Nt)},set:function(Et){return ut(this,Nt,Et)},enumerable:!0})};ge?y&&(Zt=Te(function(Ct,Nt,Et,ie){return A(Ct,Yt),mt(function(){return j(Nt)?Pe(Nt)?ie!==void 0?new te(Nt,D(Et,bt),ie):Et!==void 0?new te(Nt,D(Et,bt)):new te(Nt):re(Nt)?et(Zt,Nt):h(J,Zt,Nt):new te(C(Nt))}(),Ct,Zt)}),Y&&Y(Zt,Mt),q(Z(te),function(Ct){Ct in Zt||R(Zt,Ct,te[Ct])}),Zt.prototype=Yt):(Zt=Te(function(Ct,Nt,Et,ie){A(Ct,Yt);var we=0,Rt=0,zt,jt,Wt;if(!j(Nt))Wt=C(Nt),jt=Wt*bt,zt=new Qt(jt);else if(Pe(Nt)){zt=Nt,Rt=D(Et,bt);var ue=Nt.byteLength;if(ie===void 0){if(ue%bt)throw new Xt(ee);if(jt=ue-Rt,jt<0)throw new Xt(ee)}else if(jt=O(ie)*bt,jt+Rt>ue)throw new Xt(ee);Wt=jt/bt}else return re(Nt)?et(Zt,Nt):h(J,Zt,Nt);for(xt(Ct,{buffer:zt,byteOffset:Rt,byteLength:jt,length:Wt,view:new me(zt)});we255?255:u&255}},function(x,b,r){var u=r(84),d=r(8),h=r(365),p=r(39),y=r(63),T=r(133),$=r(134),A=r(131),E=r(503),R=r(219).aTypedArrayConstructor,I=r(504);x.exports=function(C){var D=h(this),M=p(C),F=arguments.length,z=F>1?arguments[1]:void 0,U=z!==void 0,j=$(M),G,B,V,Y,Z,J,q,nt;if(j&&!A(j))for(q=T(M,j),nt=q.next,M=[];!(J=d(nt,q)).done;)M.push(J.value);for(U&&F>2&&(z=u(z,arguments[2])),B=y(M),V=new(R(D))(B),Y=E(V),G=0;B>G;G++)Z=U?z(M[G],G):M[G],V[G]=Y?I(Z):+Z;return V}},function(x,b,r){var u=r(69);x.exports=function(d){var h=u(d);return h==="BigInt64Array"||h==="BigUint64Array"}},function(x,b,r){var u=r(19),d=TypeError;x.exports=function(h){var p=u(h,"number");if(typeof p=="number")throw new d("Can't convert number to bigint");return BigInt(p)}},function(x,b,r){var u=r(498);u("Float64",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(498);u("Int8",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(498);u("Int16",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(498);u("Int32",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(498);u("Uint8",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(498);u("Uint8",function(d){return function(p,y,T){return d(this,p,y,T)}},!0)},function(x,b,r){var u=r(498);u("Uint16",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(498);u("Uint32",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(219),d=r(63),h=r(61),p=u.aTypedArray,y=u.exportTypedArrayMethod;y("at",function($){var A=p(this),E=d(A),R=h($),I=R>=0?R:E+R;return I<0||I>=E?void 0:A[I]})},function(x,b,r){var u=r(14),d=r(219),h=r(144),p=u(h),y=d.aTypedArray,T=d.exportTypedArrayMethod;T("copyWithin",function(A,E){return p(y(this),A,E,arguments.length>2?arguments[2]:void 0)})},function(x,b,r){var u=r(219),d=r(83).every,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("every",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(219),d=r(149),h=r(504),p=r(69),y=r(8),T=r(14),$=r(7),A=u.aTypedArray,E=u.exportTypedArrayMethod,R=T("".slice),I=$(function(){var O=0;return new Int8Array(2).fill({valueOf:function(){return O++}}),O!==1});E("fill",function(C){var D=arguments.length;A(this);var M=R(p(this),0,3)==="Big"?h(C):+C;return y(d,this,M,D>1?arguments[1]:void 0,D>2?arguments[2]:void 0)},I)},function(x,b,r){var u=r(219),d=r(83).filter,h=r(518),p=u.aTypedArray,y=u.exportTypedArrayMethod;y("filter",function($){var A=d(p(this),$,arguments.length>1?arguments[1]:void 0);return h(this,A)})},function(x,b,r){var u=r(199),d=r(219).getTypedArrayConstructor;x.exports=function(h,p){return u(d(h),p)}},function(x,b,r){var u=r(219),d=r(83).find,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("find",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(219),d=r(83).findIndex,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("findIndex",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(219),d=r(154).findLast,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("findLast",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(219),d=r(154).findLastIndex,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("findLastIndex",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(219),d=r(83).forEach,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("forEach",function(T){d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(499),d=r(219).exportTypedArrayStaticMethod,h=r(502);d("from",h,u)},function(x,b,r){var u=r(219),d=r(59).includes,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("includes",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(219),d=r(59).indexOf,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("indexOf",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(4),d=r(7),h=r(14),p=r(219),y=r(168),T=r(33),$=T("iterator"),A=u.Uint8Array,E=h(y.values),R=h(y.keys),I=h(y.entries),O=p.aTypedArray,C=p.exportTypedArrayMethod,D=A&&A.prototype,M=!d(function(){D[$].call([1])}),F=!!D&&D.values&&D[$]===D.values&&D.values.name==="values",z=function(){return E(O(this))};C("entries",function(){return I(O(this))},M),C("keys",function(){return R(O(this))},M),C("values",z,M||!F,{name:"values"}),C($,z,M||!F,{name:"values"})},function(x,b,r){var u=r(219),d=r(14),h=u.aTypedArray,p=u.exportTypedArrayMethod,y=d([].join);p("join",function($){return y(h(this),$)})},function(x,b,r){var u=r(219),d=r(94),h=r(175),p=u.aTypedArray,y=u.exportTypedArrayMethod;y("lastIndexOf",function($){var A=arguments.length;return d(h,p(this),A>1?[$,arguments[1]]:[$])})},function(x,b,r){var u=r(219),d=r(83).map,h=u.aTypedArray,p=u.getTypedArrayConstructor,y=u.exportTypedArrayMethod;y("map",function($){return d(h(this),$,arguments.length>1?arguments[1]:void 0,function(A,E){return new(p(A))(E)})})},function(x,b,r){var u=r(219),d=r(499),h=u.aTypedArrayConstructor,p=u.exportTypedArrayStaticMethod;p("of",function(){for(var T=0,$=arguments.length,A=new(h(this))($);$>T;)A[T]=arguments[T++];return A},d)},function(x,b,r){var u=r(219),d=r(181).left,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("reduce",function(T){var $=arguments.length;return d(h(this),T,$,$>1?arguments[1]:void 0)})},function(x,b,r){var u=r(219),d=r(181).right,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("reduceRight",function(T){var $=arguments.length;return d(h(this),T,$,$>1?arguments[1]:void 0)})},function(x,b,r){var u=r(219),d=u.aTypedArray,h=u.exportTypedArrayMethod,p=Math.floor;h("reverse",function(){for(var T=this,$=d(T).length,A=p($/2),E=0,R;E1?arguments[1]:void 0,1),j=T(z);if(D)return d(I,this,j,U);var G=this.length,B=p(j),V=0;if(B+U>G)throw new A("Wrong length");for(;VC;)M[C]=I[C++];return M},$)},function(x,b,r){var u=r(219),d=r(83).some,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("some",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(4),d=r(85),h=r(7),p=r(30),y=r(189),T=r(219),$=r(190),A=r(191),E=r(27),R=r(192),I=T.aTypedArray,O=T.exportTypedArrayMethod,C=u.Uint16Array,D=C&&d(C.prototype.sort),M=!!D&&!(h(function(){D(new C(2),null)})&&h(function(){D(new C(2),{})})),F=!!D&&!h(function(){if(E)return E<74;if($)return $<67;if(A)return!0;if(R)return R<602;var U=new C(516),j=Array(516),G,B;for(G=0;G<516;G++)B=G%4,U[G]=515-G,j[G]=G-2*B+3;for(D(U,function(V,Y){return(V/4|0)-(Y/4|0)}),G=0;G<516;G++)if(U[G]!==j[G])return!0}),z=function(U){return function(j,G){return U!==void 0?+U(j,G)||0:G!==G?-1:j!==j?1:j===0&&G===0?1/j>0&&1/G<0?1:-1:j>G}};O("sort",function(j){return j!==void 0&&p(j),F?D(this,j):y(I(this),z(j))},!F||M)},function(x,b,r){var u=r(219),d=r(64),h=r(60),p=u.aTypedArray,y=u.getTypedArrayConstructor,T=u.exportTypedArrayMethod;T("subarray",function(A,E){var R=p(this),I=R.length,O=h(A,I),C=y(R);return new C(R.buffer,R.byteOffset+O*R.BYTES_PER_ELEMENT,d((E===void 0?I:h(E,I))-O))})},function(x,b,r){var u=r(4),d=r(94),h=r(219),p=r(7),y=r(76),T=u.Int8Array,$=h.aTypedArray,A=h.exportTypedArrayMethod,E=[].toLocaleString,R=!!T&&p(function(){E.call(new T(1))}),I=p(function(){return[1,2].toLocaleString()!==new T([1,2]).toLocaleString()})||!p(function(){T.prototype.toLocaleString.call([1,2])});A("toLocaleString",function(){return d(E,R?y($(this)):$(this),y(arguments))},I)},function(x,b,r){var u=r(197),d=r(219),h=d.aTypedArray,p=d.exportTypedArrayMethod,y=d.getTypedArrayConstructor;p("toReversed",function(){return u(h(this),y(this))})},function(x,b,r){var u=r(219),d=r(14),h=r(30),p=r(199),y=u.aTypedArray,T=u.getTypedArrayConstructor,$=u.exportTypedArrayMethod,A=d(u.TypedArrayPrototype.sort);$("toSorted",function(R){R!==void 0&&h(R);var I=y(this),O=p(T(I),I);return A(O,R)})},function(x,b,r){var u=r(219).exportTypedArrayMethod,d=r(7),h=r(4),p=r(14),y=h.Uint8Array,T=y&&y.prototype||{},$=[].toString,A=p([].join);d(function(){$.call({})})&&($=function(){return A(this)});var E=T.toString!==$;u("toString",$,E)},function(x,b,r){var u=r(206),d=r(219),h=r(503),p=r(61),y=r(504),T=d.aTypedArray,$=d.getTypedArrayConstructor,A=d.exportTypedArrayMethod,E=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(R){return R===8}}();A("with",function(R,I){var O=T(this),C=p(R),D=h(O)?y(I):+I;return u(O,$(O),C,D)},!E)},function(x,b,r){var u=r(3),d=r(14),h=r(68),p=String.fromCharCode,y=d("".charAt),T=d(/./.exec),$=d("".slice),A=/^[\da-f]{2}$/i,E=/^[\da-f]{4}$/i;u({global:!0},{unescape:function(I){for(var O=h(I),C="",D=O.length,M=0,F,z;M>(-2*_&6)));return nt}})},function(x){var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=b+"+/",u=b+"-_",d=function(h){for(var p={},y=0;y<64;y++)p[h.charAt(y)]=y;return p};x.exports={i2c:r,c2i:d(r),i2cUrl:u,c2iUrl:d(u)}},function(x,b,r){var u=r(3),d=r(4),h=r(23),p=r(14),y=r(8),T=r(7),$=r(68),A=r(367),E=r(552).i2c,R=h("btoa"),I=p("".charAt),O=p("".charCodeAt),C=!!R&&!T(function(){return R("hi")!=="aGk="}),D=C&&!T(function(){R()}),M=C&&T(function(){return R(null)!=="bnVsbA=="}),F=C&&R.length!==1;u({global:!0,bind:!0,enumerable:!0,forced:!C||D||M||F},{btoa:function(U){if(A(arguments.length,1),C)return y(R,d,$(U));for(var j=$(U),G="",B=0,V=E,Y,Z;I(j,B)||(V="=",B%1);){if(Z=O(j,B+=.75),Z>255)throw new(h("DOMException"))("The string contains characters outside of the Latin1 range","InvalidCharacterError");Y=Y<<8|Z,G+=I(V,63&Y>>8-B%1*8)}return G}})},function(x,b,r){var u=r(4),d=r(555),h=r(556),p=r(160),y=r(43),T=function(A){if(A&&A.forEach!==p)try{y(A,"forEach",p)}catch(E){A.forEach=p}};for(var $ in d)d[$]&&T(u[$]&&u[$].prototype);T(h)},function(x){x.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},function(x,b,r){var u=r(42),d=u("span").classList,h=d&&d.constructor&&d.constructor.prototype;x.exports=h===Object.prototype?void 0:h},function(x,b,r){var u=r(4),d=r(555),h=r(556),p=r(168),y=r(43),T=r(82),$=r(33),A=$("iterator"),E=p.values,R=function(O,C){if(O){if(O[A]!==E)try{y(O,A,E)}catch(M){O[A]=E}if(T(O,C,!0),d[C]){for(var D in p)if(O[D]!==p[D])try{y(O,D,p[D])}catch(M){O[D]=p[D]}}}};for(var I in d)R(u[I]&&u[I].prototype,I);R(h,"DOMTokenList")},function(x,b,r){var u=r(3),d=r(23),h=r(234),p=r(7),y=r(71),T=r(11),$=r(44).f,A=r(47),E=r(77),R=r(38),I=r(211),O=r(46),C=r(125),D=r(119),M=r(559),F=r(122),z=r(51),U=r(6),j=r(36),G="DOMException",B="DATA_CLONE_ERR",V=d("Error"),Y=d(G)||function(){try{var Mt=d("MessageChannel")||h("worker_threads").MessageChannel;new Mt().port1.postMessage(new WeakMap)}catch(Ht){if(Ht.name===B&&Ht.code===25)return Ht.constructor}}(),Z=Y&&Y.prototype,J=V.prototype,q=z.set,nt=z.getterFor(G),rt="stack"in new V(G),_=function(Mt){return R(M,Mt)&&M[Mt].m?M[Mt].c:0},tt=function(){I(this,et);var Ht=arguments.length,re=D(Ht<1?void 0:arguments[0]),se=D(Ht<2?void 0:arguments[1],"Error"),ee=_(se);if(q(this,{type:G,name:se,message:re,code:ee}),U||(this.name=se,this.message=re,this.code=ee),rt){var fe=new V(re);fe.name=G,$(this,"stack",T(1,F(fe.stack,1)))}},et=tt.prototype=y(J),lt=function(Mt){return{enumerable:!0,configurable:!0,get:Mt}},mt=function(Mt){return lt(function(){return nt(this)[Mt]})};U&&(E(et,"code",mt("code")),E(et,"message",mt("message")),E(et,"name",mt("name"))),$(et,"constructor",T(1,tt));var gt=p(function(){return!(new Y instanceof V)}),xt=gt||p(function(){return J.toString!==C||String(new Y(1,2))!=="2: 1"}),yt=gt||p(function(){return new Y(1,"DataCloneError").code!==25}),Ut=gt||Y[B]!==25||Z[B]!==25,Dt=j?xt||yt||Ut:gt;u({global:!0,constructor:!0,forced:Dt},{DOMException:Dt?tt:Y});var Xt=d(G),Qt=Xt.prototype;xt&&(j||Y===Xt)&&A(Qt,"toString",C),yt&&U&&Y===Xt&&E(Qt,"code",lt(function(){return _(O(this).name)}));for(var kt in M)if(R(M,kt)){var me=M[kt],ge=me.s,ae=T(6,me.c);R(Xt,ge)||$(Xt,ge,ae),R(Qt,ge)||$(Qt,ge,ae)}},function(x){x.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},function(x,b,r){var u=r(3),d=r(4),h=r(23),p=r(11),y=r(44).f,T=r(38),$=r(211),A=r(118),E=r(119),R=r(559),I=r(122),O=r(6),C=r(36),D="DOMException",M=h("Error"),F=h(D),z=function(){$(this,U);var tt=arguments.length,et=E(tt<1?void 0:arguments[0]),lt=E(tt<2?void 0:arguments[1],"Error"),mt=new F(et,lt),gt=new M(et);return gt.name=D,y(mt,"stack",p(1,I(gt.stack,1))),A(mt,this,z),mt},U=z.prototype=F.prototype,j="stack"in new M(D),G="stack"in new F(1,2),B=F&&O&&Object.getOwnPropertyDescriptor(d,D),V=!!B&&!(B.writable&&B.configurable),Y=j&&!V&&!G;u({global:!0,constructor:!0,forced:C||Y},{DOMException:Y?z:F});var Z=h(D),J=Z.prototype;if(J.constructor!==Z){C||y(J,"constructor",p(1,Z));for(var q in R)if(T(R,q)){var nt=R[q],rt=nt.s;T(Z,rt)||y(Z,rt,p(6,nt.c))}}},function(x,b,r){var u=r(23),d=r(82),h="DOMException";d(u(h),h)},function(x,b,r){r(563),r(564)},function(x,b,r){var u=r(3),d=r(4),h=r(366).clear;u({global:!0,bind:!0,enumerable:!0,forced:d.clearImmediate!==h},{clearImmediate:h})},function(x,b,r){var u=r(3),d=r(4),h=r(366).set,p=r(565),y=d.setImmediate?p(h,!1):h;u({global:!0,bind:!0,enumerable:!0,forced:d.setImmediate!==y},{setImmediate:y})},function(x,b,r){var u=r(4),d=r(94),h=r(21),p=r(183),y=r(28),T=r(76),$=r(367),A=u.Function,E=/MSIE .\./.test(y)||p==="BUN"&&function(){var R=u.Bun.version.split(".");return R.length<3||R[0]==="0"&&(R[1]<3||R[1]==="3"&&R[2]==="0")}();x.exports=function(R,I){var O=I?2:1;return E?function(C,D){var M=$(arguments.length,1)>O,F=h(C)?C:A(C),z=M?T(arguments,O):[],U=M?function(){d(F,this,z)}:F;return I?R(U,D):R(U)}:R}},function(x,b,r){var u=r(3),d=r(4),h=r(369),p=r(30),y=r(367),T=r(7),$=r(6),A=T(function(){return $&&Object.getOwnPropertyDescriptor(d,"queueMicrotask").value.length!==1});u({global:!0,enumerable:!0,dontCallGetSet:!0,forced:A},{queueMicrotask:function(R){y(arguments.length,1),h(p(R))}})},function(x,b,r){var u=r(3),d=r(4),h=r(77),p=r(6),y=TypeError,T=Object.defineProperty,$=d.self!==d;try{if(p){var A=Object.getOwnPropertyDescriptor(d,"self");($||!A||!A.get||!A.enumerable)&&h(d,"self",{get:function(){return d},set:function(R){if(this!==d)throw new y("Illegal invocation");T(d,"self",{value:R,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else u({global:!0,simple:!0,forced:$},{self:d})}catch(E){}},function(x,b,r){var u=r(36),d=r(3),h=r(4),p=r(23),y=r(14),T=r(7),$=r(40),A=r(21),E=r(89),R=r(17),I=r(20),O=r(22),C=r(130),D=r(46),M=r(69),F=r(38),z=r(141),U=r(43),j=r(63),G=r(367),B=r(408),V=r(284),Y=r(427),Z=r(429),J=r(233),q=r(123),nt=r(235),rt=h.Object,_=h.Array,tt=h.Date,et=h.Error,lt=h.TypeError,mt=h.PerformanceMark,gt=p("DOMException"),xt=V.Map,yt=V.has,Ut=V.get,Dt=V.set,Xt=Y.Set,Qt=Y.add,kt=Y.has,me=p("Object","keys"),ge=y([].push),ae=y((!0).valueOf),Mt=y(1 .valueOf),Ht=y("".valueOf),re=y(tt.prototype.getTime),se=$("structuredClone"),ee="DataCloneError",fe="Transferring",Pe=function(ut){return!T(function(){var It=new h.Set([7]),Pt=ut(It),Ct=ut(rt(7));return Pt===It||!Pt.has(7)||!I(Ct)||+Ct!=7})&&ut},Me=function(ut,It){return!T(function(){var Pt=new It,Ct=ut({a:Pt,b:Pt});return!(Ct&&Ct.a===Ct.b&&Ct.a instanceof It&&Ct.a.stack===Pt.stack)})},$e=function(ut){return!T(function(){var It=ut(new h.AggregateError([1],se,{cause:3}));return It.name!=="AggregateError"||It.errors[0]!==1||It.message!==se||It.cause!==3})},ce=h.structuredClone,Ae=u||!Me(ce,et)||!Me(ce,gt)||!$e(ce),Te=!ce&&Pe(function(ut){return new mt(se,{detail:ut}).detail}),de=Pe(ce)||Te,bt=function(ut){throw new gt("Uncloneable type: "+ut,ee)},Ft=function(ut,It){throw new gt((It||"Cloning")+" of "+ut+" cannot be properly polyfilled in this engine",ee)},Tt=function(ut,It){return de||Ft(It),de(ut)},qt=function(){var ut;try{ut=new h.DataTransfer}catch(It){try{ut=new h.ClipboardEvent("").clipboardData}catch(Pt){}}return ut&&ut.items&&ut.files?ut:null},te=function(ut,It,Pt){if(yt(It,ut))return Ut(It,ut);var Ct=Pt||M(ut),Nt,Et,ie,we,Rt,zt;if(Ct==="SharedArrayBuffer")de?Nt=de(ut):Nt=ut;else{var jt=h.DataView;!jt&&!A(ut.slice)&&Ft("ArrayBuffer");try{if(A(ut.slice)&&!ut.resizable)Nt=ut.slice(0);else for(Et=ut.byteLength,ie=("maxByteLength"in ut)?{maxByteLength:ut.maxByteLength}:void 0,Nt=new ArrayBuffer(Et,ie),we=new jt(ut),Rt=new jt(Nt),zt=0;zt1&&!R(arguments[1])?D(arguments[1]):void 0,Ct=Pt?Pt.transfer:void 0,Nt,Et;Ct!==void 0&&(Nt=new xt,Et=Ye(Ct,Nt));var ie=Yt(It,Nt);return Et&&Ze(Et),ie}})},function(x,b,r){r(570),r(571)},function(x,b,r){var u=r(3),d=r(4),h=r(565),p=h(d.setInterval,!0);u({global:!0,bind:!0,forced:d.setInterval!==p},{setInterval:p})},function(x,b,r){var u=r(3),d=r(4),h=r(565),p=h(d.setTimeout,!0);u({global:!0,bind:!0,forced:d.setTimeout!==p},{setTimeout:p})},function(x,b,r){r(573)},function(x,b,r){r(455);var u=r(3),d=r(6),h=r(574),p=r(4),y=r(84),T=r(14),$=r(47),A=r(77),E=r(211),R=r(38),I=r(328),O=r(162),C=r(76),D=r(448).codeAt,M=r(575),F=r(68),z=r(82),U=r(367),j=r(576),G=r(51),B=G.set,V=G.getterFor("URL"),Y=j.URLSearchParams,Z=j.getState,J=p.URL,q=p.TypeError,nt=p.parseInt,rt=Math.floor,_=Math.pow,tt=T("".charAt),et=T(/./.exec),lt=T([].join),mt=T(1 .toString),gt=T([].pop),xt=T([].push),yt=T("".replace),Ut=T([].shift),Dt=T("".split),Xt=T("".slice),Qt=T("".toLowerCase),kt=T([].unshift),me="Invalid authority",ge="Invalid scheme",ae="Invalid host",Mt="Invalid port",Ht=/[a-z]/i,re=/[\d+-.a-z]/i,se=/\d/,ee=/^0x/i,fe=/^[0-7]+$/,Pe=/^\d+$/,Me=/^[\da-f]+$/i,$e=/[\0\t\n\r #%/:<>?@[\\\]^|]/,ce=/[\0\t\n\r #/:<>?@[\\\]^|]/,Ae=/^[\u0000-\u0020]+/,Te=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,de=/[\t\n\r]/g,bt,Ft=function(ft){var wt=Dt(ft,"."),pt,it,Ot,ye,_t,Ie,rn;if(wt.length&&wt[wt.length-1]===""&&wt.length--,pt=wt.length,pt>4)return ft;for(it=[],Ot=0;Ot1&&tt(ye,0)==="0"&&(_t=et(ee,ye)?16:8,ye=Xt(ye,_t===8?1:2)),ye==="")Ie=0;else{if(!et(_t===10?Pe:_t===8?fe:Me,ye))return ft;Ie=nt(ye,_t)}xt(it,Ie)}for(Ot=0;Ot=_(256,5-pt))return null}else if(Ie>255)return null;for(rn=gt(it),Ot=0;Ot6))return;for(Ie=0;an();){if(rn=null,Ie>0)if(an()==="."&&Ie<4)Ot++;else return;if(!et(se,an()))return;for(;et(se,an());){if(hn=nt(an(),10),rn===null)rn=hn;else{if(rn===0)return;rn=rn*10+hn}if(rn>255)return;Ot++}wt[pt]=wt[pt]*256+rn,Ie++,(Ie===2||Ie===4)&&pt++}if(Ie!==4)return;break}else if(an()===":"){if(Ot++,!an())return}else if(an())return;wt[pt++]=ye}if(it!==null)for(pn=pt-it,pt=7;pt!==0&&pn>0;)ot=wt[pt],wt[pt--]=wt[it+pn-1],wt[it+--pn]=ot;else if(pt!==8)return;return wt},qt=function(ft){for(var wt=null,pt=1,it=null,Ot=0,ye=0;ye<8;ye++)ft[ye]!==0?(Ot>pt&&(wt=it,pt=Ot),it=null,Ot=0):(it===null&&(it=ye),++Ot);return Ot>pt?it:wt},te=function(ft){var wt,pt,it,Ot;if(typeof ft=="number"){for(wt=[],pt=0;pt<4;pt++)kt(wt,ft%256),ft=rt(ft/256);return lt(wt,".")}if(typeof ft=="object"){for(wt="",it=qt(ft),pt=0;pt<8;pt++)Ot&&ft[pt]===0||(Ot&&(Ot=!1),it===pt?(wt+=pt?":":"::",Ot=!0):(wt+=mt(ft[pt],16),pt<7&&(wt+=":")));return"["+wt+"]"}return ft},Zt={},Yt=I({},Zt,{" ":1,'"':1,"<":1,">":1,"`":1}),Ye=I({},Yt,{"#":1,"?":1,"{":1,"}":1}),Ze=I({},Ye,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),ut=function(ft,wt){var pt=D(ft,0);return pt>32&&pt<127&&!R(wt,ft)?ft:encodeURIComponent(ft)},It={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Pt=function(ft,wt){var pt;return ft.length===2&&et(Ht,tt(ft,0))&&((pt=tt(ft,1))===":"||!wt&&pt==="|")},Ct=function(ft){var wt;return ft.length>1&&Pt(Xt(ft,0,2))&&(ft.length===2||(wt=tt(ft,2))==="/"||wt==="\\"||wt==="?"||wt==="#")},Nt=function(ft){return ft==="."||Qt(ft)==="%2e"},Et=function(ft){return ft=Qt(ft),ft===".."||ft==="%2e."||ft===".%2e"||ft==="%2e%2e"},ie={},we={},Rt={},zt={},jt={},Wt={},ue={},Ee={},Xe={},Je={},nn={},vn={},jn={},Hr={},Ya={},ga={},yr={},Vn={},Wa={},ir={},Wn={},va=function(ft,wt,pt){var it=F(ft),Ot,ye,_t;if(wt){if(ye=this.parse(it),ye)throw new q(ye);this.searchParams=null}else{if(pt!==void 0&&(Ot=new va(pt,!0)),ye=this.parse(it,null,Ot),ye)throw new q(ye);_t=Z(new Y),_t.bindURL(this),this.searchParams=_t}};va.prototype={type:"URL",parse:function(ft,wt,pt){var it=this,Ot=wt||ie,ye=0,_t="",Ie=!1,rn=!1,hn=!1,pn,ot,an,Fn;for(ft=F(ft),wt||(it.scheme="",it.username="",it.password="",it.host=null,it.port=null,it.path=[],it.query=null,it.fragment=null,it.cannotBeABaseURL=!1,ft=yt(ft,Ae,""),ft=yt(ft,Te,"$1")),ft=yt(ft,de,""),pn=O(ft);ye<=pn.length;){switch(ot=pn[ye],Ot){case ie:if(ot&&et(Ht,ot))_t+=Qt(ot),Ot=we;else{if(wt)return ge;Ot=Rt;continue}break;case we:if(ot&&(et(re,ot)||ot==="+"||ot==="-"||ot==="."))_t+=Qt(ot);else if(ot===":"){if(wt&&(it.isSpecial()!==R(It,_t)||_t==="file"&&(it.includesCredentials()||it.port!==null)||it.scheme==="file"&&!it.host))return;if(it.scheme=_t,wt){it.isSpecial()&&It[it.scheme]===it.port&&(it.port=null);return}_t="",it.scheme==="file"?Ot=Hr:it.isSpecial()&&pt&&pt.scheme===it.scheme?Ot=zt:it.isSpecial()?Ot=Ee:pn[ye+1]==="/"?(Ot=jt,ye++):(it.cannotBeABaseURL=!0,xt(it.path,""),Ot=Wa)}else{if(wt)return ge;_t="",Ot=Rt,ye=0;continue}break;case Rt:if(!pt||pt.cannotBeABaseURL&&ot!=="#")return ge;if(pt.cannotBeABaseURL&&ot==="#"){it.scheme=pt.scheme,it.path=C(pt.path),it.query=pt.query,it.fragment="",it.cannotBeABaseURL=!0,Ot=Wn;break}Ot=pt.scheme==="file"?Hr:Wt;continue;case zt:if(ot==="/"&&pn[ye+1]==="/")Ot=Xe,ye++;else{Ot=Wt;continue}break;case jt:if(ot==="/"){Ot=Je;break}else{Ot=Vn;continue}case Wt:if(it.scheme=pt.scheme,ot===bt)it.username=pt.username,it.password=pt.password,it.host=pt.host,it.port=pt.port,it.path=C(pt.path),it.query=pt.query;else if(ot==="/"||ot==="\\"&&it.isSpecial())Ot=ue;else if(ot==="?")it.username=pt.username,it.password=pt.password,it.host=pt.host,it.port=pt.port,it.path=C(pt.path),it.query="",Ot=ir;else if(ot==="#")it.username=pt.username,it.password=pt.password,it.host=pt.host,it.port=pt.port,it.path=C(pt.path),it.query=pt.query,it.fragment="",Ot=Wn;else{it.username=pt.username,it.password=pt.password,it.host=pt.host,it.port=pt.port,it.path=C(pt.path),it.path.length--,Ot=Vn;continue}break;case ue:if(it.isSpecial()&&(ot==="/"||ot==="\\"))Ot=Xe;else if(ot==="/")Ot=Je;else{it.username=pt.username,it.password=pt.password,it.host=pt.host,it.port=pt.port,Ot=Vn;continue}break;case Ee:if(Ot=Xe,ot!=="/"||tt(_t,ye+1)!=="/")continue;ye++;break;case Xe:if(ot!=="/"&&ot!=="\\"){Ot=Je;continue}break;case Je:if(ot==="@"){Ie&&(_t="%40"+_t),Ie=!0,an=O(_t);for(var en=0;en65535)return Mt;it.port=it.isSpecial()&&Bn===It[it.scheme]?null:Bn,_t=""}if(wt)return;Ot=yr;continue}else return Mt;break;case Hr:if(it.scheme="file",ot==="/"||ot==="\\")Ot=Ya;else if(pt&&pt.scheme==="file")switch(ot){case bt:it.host=pt.host,it.path=C(pt.path),it.query=pt.query;break;case"?":it.host=pt.host,it.path=C(pt.path),it.query="",Ot=ir;break;case"#":it.host=pt.host,it.path=C(pt.path),it.query=pt.query,it.fragment="",Ot=Wn;break;default:Ct(lt(C(pn,ye),""))||(it.host=pt.host,it.path=C(pt.path),it.shortenPath()),Ot=Vn;continue}else{Ot=Vn;continue}break;case Ya:if(ot==="/"||ot==="\\"){Ot=ga;break}pt&&pt.scheme==="file"&&!Ct(lt(C(pn,ye),""))&&(Pt(pt.path[0],!0)?xt(it.path,pt.path[0]):it.host=pt.host),Ot=Vn;continue;case ga:if(ot===bt||ot==="/"||ot==="\\"||ot==="?"||ot==="#"){if(!wt&&Pt(_t))Ot=Vn;else if(_t===""){if(it.host="",wt)return;Ot=yr}else{if(Fn=it.parseHost(_t),Fn)return Fn;if(it.host==="localhost"&&(it.host=""),wt)return;_t="",Ot=yr}continue}else _t+=ot;break;case yr:if(it.isSpecial()){if(Ot=Vn,ot!=="/"&&ot!=="\\")continue}else if(!wt&&ot==="?")it.query="",Ot=ir;else if(!wt&&ot==="#")it.fragment="",Ot=Wn;else if(ot!==bt&&(Ot=Vn,ot!=="/"))continue;break;case Vn:if(ot===bt||ot==="/"||ot==="\\"&&it.isSpecial()||!wt&&(ot==="?"||ot==="#")){if(Et(_t)?(it.shortenPath(),ot!=="/"&&!(ot==="\\"&&it.isSpecial())&&xt(it.path,"")):Nt(_t)?ot!=="/"&&!(ot==="\\"&&it.isSpecial())&&xt(it.path,""):(it.scheme==="file"&&!it.path.length&&Pt(_t)&&(it.host&&(it.host=""),_t=tt(_t,0)+":"),xt(it.path,_t)),_t="",it.scheme==="file"&&(ot===bt||ot==="?"||ot==="#"))for(;it.path.length>1&&it.path[0]==="";)Ut(it.path);ot==="?"?(it.query="",Ot=ir):ot==="#"&&(it.fragment="",Ot=Wn)}else _t+=ut(ot,Ye);break;case Wa:ot==="?"?(it.query="",Ot=ir):ot==="#"?(it.fragment="",Ot=Wn):ot!==bt&&(it.path[0]+=ut(ot,Zt));break;case ir:!wt&&ot==="#"?(it.fragment="",Ot=Wn):ot!==bt&&(ot==="'"&&it.isSpecial()?it.query+="%27":ot==="#"?it.query+="%23":it.query+=ut(ot,Zt));break;case Wn:ot!==bt&&(it.fragment+=ut(ot,Yt));break}ye++}},parseHost:function(ft){var wt,pt,it;if(tt(ft,0)==="["){if(tt(ft,ft.length-1)!=="]"||(wt=Tt(Xt(ft,1,-1)),!wt))return ae;this.host=wt}else if(this.isSpecial()){if(ft=M(ft),et($e,ft)||(wt=Ft(ft),wt===null))return ae;this.host=wt}else{if(et(ce,ft))return ae;for(wt="",pt=O(ft),it=0;it1?arguments[1]:void 0,Ot=B(pt,new va(wt,!1,it));d||(pt.href=Ot.serialize(),pt.origin=Ot.getOrigin(),pt.protocol=Ot.getProtocol(),pt.username=Ot.getUsername(),pt.password=Ot.getPassword(),pt.host=Ot.getHost(),pt.hostname=Ot.getHostname(),pt.port=Ot.getPort(),pt.pathname=Ot.getPathname(),pt.search=Ot.getSearch(),pt.searchParams=Ot.getSearchParams(),pt.hash=Ot.getHash())},xn=xr.prototype,Mn=function(ft,wt){return{get:function(){return V(this)[ft]()},set:wt&&function(pt){return V(this)[wt](pt)},configurable:!0,enumerable:!0}};if(d&&(A(xn,"href",Mn("serialize","setHref")),A(xn,"origin",Mn("getOrigin")),A(xn,"protocol",Mn("getProtocol","setProtocol")),A(xn,"username",Mn("getUsername","setUsername")),A(xn,"password",Mn("getPassword","setPassword")),A(xn,"host",Mn("getHost","setHost")),A(xn,"hostname",Mn("getHostname","setHostname")),A(xn,"port",Mn("getPort","setPort")),A(xn,"pathname",Mn("getPathname","setPathname")),A(xn,"search",Mn("getSearch","setSearch")),A(xn,"searchParams",Mn("getSearchParams")),A(xn,"hash",Mn("getHash","setHash"))),$(xn,"toJSON",function(){return V(this).serialize()},{enumerable:!0}),$(xn,"toString",function(){return V(this).serialize()},{enumerable:!0}),J){var Ka=J.createObjectURL,Za=J.revokeObjectURL;Ka&&$(xr,"createObjectURL",y(Ka,J)),Za&&$(xr,"revokeObjectURL",y(Za,J))}z(xr,"URL"),u({global:!0,constructor:!0,forced:!h,sham:!d},{URL:xr})},function(x,b,r){var u=r(7),d=r(33),h=r(6),p=r(36),y=d("iterator");x.exports=!u(function(){var T=new URL("b?a=1&b=2&c=3","https://a"),$=T.searchParams,A=new URLSearchParams("a=1&a=2&b=3"),E="";return T.pathname="c%20d",$.forEach(function(R,I){$.delete("b"),E+=I+R}),A.delete("a",2),A.delete("b",void 0),p&&(!T.toJSON||!A.has("a",1)||A.has("a",2)||!A.has("a",void 0)||A.has("b"))||!$.size&&(p||!h)||!$.sort||T.href!=="https://a/c%20d?a=1&c=3"||$.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!$[y]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("https://\u0442\u0435\u0441\u0442").host!=="xn--e1aybc"||new URL("https://a#\u0431").hash!=="#%D0%B1"||E!=="a1c3"||new URL("https://x",void 0).host!=="x"})},function(x,b,r){var u=r(14),d=2147483647,h=36,p=1,y=26,T=38,$=700,A=72,E=128,R="-",I=/[^\0-\u007E]/,O=/[.\u3002\uFF0E\uFF61]/g,C="Overflow: input needs wider integers to process",D=h-p,M=RangeError,F=u(O.exec),z=Math.floor,U=String.fromCharCode,j=u("".charCodeAt),G=u([].join),B=u([].push),V=u("".replace),Y=u("".split),Z=u("".toLowerCase),J=function(_){for(var tt=[],et=0,lt=_.length;et=55296&&mt<=56319&&et>1,_+=z(_/tt);_>D*y>>1;)_=z(_/D),lt+=h;return z(lt+(D+1)*_/(_+T))},rt=function(_){var tt=[];_=J(_);var et=_.length,lt=E,mt=0,gt=A,xt,yt;for(xt=0;xt<_.length;xt++)yt=_[xt],yt<128&&B(tt,U(yt));var Ut=tt.length,Dt=Ut;for(Ut&&B(tt,R);Dt=lt&&ytz((d-mt)/Qt))throw new M(C);for(mt+=(Xt-lt)*Qt,lt=Xt,xt=0;xt<_.length;xt++){if(yt=_[xt],ytd)throw new M(C);if(yt===lt){for(var kt=mt,me=h;;){var ge=me<=gt?p:me>=gt+y?y:me-gt;if(kt0&&(Rt&jt)!==0;jt>>=1)zt++;return zt},qt=function(Rt){var zt=null;switch(Rt.length){case 1:zt=Rt[0];break;case 2:zt=(Rt[0]&31)<<6|Rt[1]&63;break;case 3:zt=(Rt[0]&15)<<12|(Rt[1]&63)<<6|Rt[2]&63;break;case 4:zt=(Rt[0]&7)<<18|(Rt[1]&63)<<12|(Rt[2]&63)<<6|Rt[3]&63;break}return zt>1114111?null:zt},te=function(Rt){Rt=fe(Rt,Te," ");for(var zt=Rt.length,jt="",Wt=0;Wtzt){jt+="%",Wt++;continue}var Ee=Ft(Rt,Wt+1);if(Ee!==Ee){jt+=ue,Wt++;continue}Wt+=2;var Xe=Tt(Ee);if(Xe===0)ue=ae(Ee);else{if(Xe===1||Xe>4){jt+=de,Wt++;continue}for(var Je=[Ee],nn=1;nnzt||re(Rt,Wt)!=="%"));){var vn=Ft(Rt,Wt+1);if(vn!==vn){Wt+=3;break}if(vn>191||vn<128)break;ee(Je,vn),Wt+=2,nn++}if(Je.length!==Xe){jt+=de;continue}var jn=qt(Je);jn===null?jt+=de:ue=Mt(jn)}}jt+=ue,Wt++}return jt},Zt=/[!'()~]|%20/g,Yt={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},Ye=function(Rt){return Yt[Rt]},Ze=function(Rt){return fe(ge(Rt),Zt,Ye)},ut=C(function(zt,jt){gt(this,{type:mt,target:xt(zt).entries,index:0,kind:jt})},lt,function(){var zt=yt(this),jt=zt.target,Wt=zt.index++;if(!jt||Wt>=jt.length)return zt.target=null,nt(void 0,!0);var ue=jt[Wt];switch(zt.kind){case"keys":return nt(ue.key,!1);case"values":return nt(ue.value,!1)}return nt([ue.key,ue.value],!1)},!0),It=function(Rt){this.entries=[],this.url=null,Rt!==void 0&&(B(Rt)?this.parseObject(Rt):this.parseQuery(typeof Rt=="string"?re(Rt,0)==="?"?ce(Rt,1):Rt:V(Rt)))};It.prototype={type:lt,bindURL:function(Rt){this.url=Rt,this.update()},parseObject:function(Rt){var zt=this.entries,jt=q(Rt),Wt,ue,Ee,Xe,Je,nn,vn;if(jt)for(Wt=J(Rt,jt),ue=Wt.next;!(Ee=y(ue,Wt)).done;){if(Xe=J(G(Ee.value)),Je=Xe.next,(nn=y(Je,Xe)).done||(vn=y(Je,Xe)).done||!y(Je,Xe).done)throw new me("Expected sequence with length 2");ee(zt,{key:V(nn.value),value:V(vn.value)})}else for(var jn in Rt)z(Rt,jn)&&ee(zt,{key:jn,value:V(Rt[jn])})},parseQuery:function(Rt){if(Rt)for(var zt=this.entries,jt=$e(Rt,"&"),Wt=0,ue,Ee;Wt0?arguments[0]:void 0,jt=gt(this,new It(zt));$||(this.size=jt.entries.length)},Ct=Pt.prototype;if(I(Ct,{append:function(zt,jt){var Wt=xt(this);rt(arguments.length,2),ee(Wt.entries,{key:V(zt),value:V(jt)}),$||this.length++,Wt.updateURL()},delete:function(Rt){for(var zt=xt(this),jt=rt(arguments.length,1),Wt=zt.entries,ue=V(Rt),Ee=jt<2?void 0:arguments[1],Xe=Ee===void 0?Ee:V(Ee),Je=0;JeWt.key?1:-1}),zt.updateURL()},forEach:function(zt){for(var jt=xt(this).entries,Wt=U(zt,arguments.length>1?arguments[1]:void 0),ue=0,Ee;ue1?ie(arguments[1]):{})}}),F(Dt)){var we=function(zt){return M(this,Qt),new Dt(zt,arguments.length>1?ie(arguments[1]):{})};Qt.constructor=we,we.prototype=Qt,u({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:we})}}x.exports={URLSearchParams:Pt,getState:xt}},function(x,b,r){var u=r(3),d=r(23),h=r(7),p=r(367),y=r(68),T=r(574),$=d("URL"),A=T&&h(function(){$.canParse()}),E=h(function(){return $.canParse.length!==1});u({target:"URL",stat:!0,forced:!A||E},{canParse:function(I){var O=p(arguments.length,1),C=y(I),D=O<2||arguments[1]===void 0?void 0:y(arguments[1]);try{return!!new $(C,D)}catch(M){return!1}}})},function(x,b,r){var u=r(3),d=r(23),h=r(367),p=r(68),y=r(574),T=d("URL");u({target:"URL",stat:!0,forced:!y},{parse:function(A){var E=h(arguments.length,1),R=p(A),I=E<2||arguments[1]===void 0?void 0:p(arguments[1]);try{return new T(R,I)}catch(O){return null}}})},function(x,b,r){var u=r(3),d=r(8);u({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return d(URL.prototype.toString,this)}})},function(x,b,r){r(576)},function(x,b,r){var u=r(47),d=r(14),h=r(68),p=r(367),y=URLSearchParams,T=y.prototype,$=d(T.append),A=d(T.delete),E=d(T.forEach),R=d([].push),I=new y("a=1&a=2&b=3");I.delete("a",1),I.delete("b",void 0),I+""!="a=2"&&u(T,"delete",function(O){var C=arguments.length,D=C<2?void 0:arguments[1];if(C&&D===void 0)return A(this,O);var M=[];E(this,function(Y,Z){R(M,{key:Z,value:Y})}),p(C,1);for(var F=h(O),z=h(D),U=0,j=0,G=!1,B=M.length,V;U=W&&(W=X+1);!(k=L[W])&&++W=0;)(s=a[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function xt(t){t||(t=yt);function e(v,m){return v&&m?t(v.__data__,m.__data__):!v-!m}for(var n=this._groups,a=n.length,i=new Array(a),o=0;oe?1:t>=e?0:NaN}function Ut(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Dt(){return Array.from(this)}function Xt(){for(var t=this._groups,e=0,n=t.length;e=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),ae.hasOwnProperty(e)?{space:ae[e],local:t}:t}function Ht(t){return function(){this.removeAttribute(t)}}function re(t){return function(){this.removeAttributeNS(t.space,t.local)}}function se(t,e){return function(){this.setAttribute(t,e)}}function ee(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function fe(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttribute(t):this.setAttribute(t,n)}}function Pe(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function Me(t,e){var n=Mt(t);if(arguments.length<2){var a=this.node();return n.local?a.getAttributeNS(n.space,n.local):a.getAttribute(n)}return this.each((e==null?n.local?re:Ht:typeof e=="function"?n.local?Pe:fe:n.local?ee:se)(n,e))}function $e(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function ce(t){return function(){this.style.removeProperty(t)}}function Ae(t,e,n){return function(){this.style.setProperty(t,e,n)}}function Te(t,e,n){return function(){var a=e.apply(this,arguments);a==null?this.style.removeProperty(t):this.style.setProperty(t,a,n)}}function de(t,e,n){return arguments.length>1?this.each((e==null?ce:typeof e=="function"?Te:Ae)(t,e,n==null?"":n)):bt(this.node(),t)}function bt(t,e){return t.style.getPropertyValue(e)||$e(t).getComputedStyle(t,null).getPropertyValue(e)}function Ft(t){return function(){delete this[t]}}function Tt(t,e){return function(){this[t]=e}}function qt(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function te(t,e){return arguments.length>1?this.each((e==null?Ft:typeof e=="function"?qt:Tt)(t,e)):this.node()[t]}function Zt(t){return t.trim().split(/^|\s+/)}function Yt(t){return t.classList||new Ye(t)}function Ye(t){this._node=t,this._names=Zt(t.getAttribute("class")||"")}Ye.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Ze(t,e){for(var n=Yt(t),a=-1,i=e.length;++a=0&&(n=e.slice(a+1),e=e.slice(0,a)),{type:e,name:n}})}function Ka(t){return function(){var e=this.__on;if(e){for(var n=0,a=-1,i=e.length,o;n(t(o=new Date(+o)),o),i.ceil=o=>(t(o=new Date(o-1)),e(o,1),t(o),o),i.round=o=>{const s=i(o),l=i.ceil(o);return o-s(e(o=new Date(+o),s==null?1:Math.floor(s)),o),i.range=(o,s,l)=>{const c=[];if(o=i.ceil(o),l=l==null?1:Math.floor(l),!(o0))return c;let f;do c.push(f=new Date(+o)),e(o,l),t(o);while(fen(s=>{if(s>=s)for(;t(s),!o(s);)s.setTime(s-1)},(s,l)=>{if(s>=s)if(l<0)for(;++l<=0;)for(;e(s,-1),!o(s););else for(;--l>=0;)for(;e(s,1),!o(s););}),n&&(i.count=(o,s)=>(an.setTime(+o),Fn.setTime(+s),t(an),t(Fn),Math.floor(n(an,Fn))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(a?s=>a(s)%o===0:s=>i.count(0,s)%o===0):i)),i}const Gn=1e3,In=Gn*60,Bn=In*60,or=Bn*24,to=or*7,Ps=or*30,eo=or*365;function Rr(t){return en(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*In)/to)}const Ja=Rr(0),Qa=Rr(1),Rf=Rr(2),If=Rr(3),Yr=Rr(4),Of=Rr(5),Cf=Rr(6),I0=Ja.range,O0=Qa.range,C0=Rf.range,P0=If.range,w0=Yr.range,M0=Of.range,D0=Cf.range;function Ir(t){return en(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/to)}const ka=Ir(0),qa=Ir(1),Pf=Ir(2),wf=Ir(3),Wr=Ir(4),Mf=Ir(5),Df=Ir(6),L0=ka.range,N0=qa.range,F0=Pf.range,B0=wf.range,U0=Wr.range,z0=Mf.range,j0=Df.range,pa=en(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*In)/or,t=>t.getDate()-1),V0=pa.range,_a=en(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/or,t=>t.getUTCDate()-1),G0=_a.range,ws=en(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/or,t=>Math.floor(t/or)),X0=ws.range,sr=en(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());sr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:en(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});const H0=sr.range,lr=en(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());lr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:en(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});const Y0=lr.range;function no(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function ro(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function ma(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}function Lf(t){var e=t.dateTime,n=t.date,a=t.time,i=t.periods,o=t.days,s=t.shortDays,l=t.months,c=t.shortMonths,f=ya(i),g=xa(i),v=ya(o),m=xa(o),S=ya(s),P=xa(s),N=ya(l),L=xa(l),w=ya(c),X=xa(c),W={a:At,A:Gt,b:Bt,B:Kt,c:null,d:Bs,e:Bs,f:rd,g:hd,G:vd,H:td,I:ed,j:nd,L:Us,m:ad,M:id,p:ne,q:le,Q:Hs,s:Ys,S:od,u:sd,U:ld,V:cd,w:ud,W:fd,x:null,X:null,y:dd,Y:gd,Z:pd,"%":Xs},H={a:be,A:Oe,b:Ce,B:He,c:null,d:js,e:js,f:Td,g:Pd,G:Md,H:md,I:yd,j:xd,L:Vs,m:$d,M:Sd,p:Fe,q:dn,Q:Hs,s:Ys,S:Ad,u:Ed,U:bd,V:Rd,w:Id,W:Od,x:null,X:null,y:Cd,Y:wd,Z:Dd,"%":Xs},k={a:dt,A:st,b:Vt,B:vt,c:Q,d:Ns,e:Ns,f:Qf,g:Ls,G:Ds,H:Fs,I:Fs,j:Wf,L:Jf,m:Yf,M:Kf,p:$t,q:Hf,Q:qf,s:_f,S:Zf,u:zf,U:jf,V:Vf,w:Uf,W:Gf,x:St,X:ct,y:Ls,Y:Ds,Z:Xf,"%":kf};W.x=K(n,W),W.X=K(a,W),W.c=K(e,W),H.x=K(n,H),H.X=K(a,H),H.c=K(e,H);function K(Jt,xe){return function(Re){var Lt=[],un=-1,Ge=0,Pn=Jt.length,wn,pe,fn;for(Re instanceof Date||(Re=new Date(+Re));++un53)return null;"w"in Lt||(Lt.w=1),"Z"in Lt?(Ge=ro(ma(Lt.y,0,1)),Pn=Ge.getUTCDay(),Ge=Pn>4||Pn===0?qa.ceil(Ge):qa(Ge),Ge=_a.offset(Ge,(Lt.V-1)*7),Lt.y=Ge.getUTCFullYear(),Lt.m=Ge.getUTCMonth(),Lt.d=Ge.getUTCDate()+(Lt.w+6)%7):(Ge=no(ma(Lt.y,0,1)),Pn=Ge.getDay(),Ge=Pn>4||Pn===0?Qa.ceil(Ge):Qa(Ge),Ge=pa.offset(Ge,(Lt.V-1)*7),Lt.y=Ge.getFullYear(),Lt.m=Ge.getMonth(),Lt.d=Ge.getDate()+(Lt.w+6)%7)}else("W"in Lt||"U"in Lt)&&("w"in Lt||(Lt.w="u"in Lt?Lt.u%7:"W"in Lt?1:0),Pn="Z"in Lt?ro(ma(Lt.y,0,1)).getUTCDay():no(ma(Lt.y,0,1)).getDay(),Lt.m=0,Lt.d="W"in Lt?(Lt.w+6)%7+Lt.W*7-(Pn+5)%7:Lt.w+Lt.U*7-(Pn+6)%7);return"Z"in Lt?(Lt.H+=Lt.Z/100|0,Lt.M+=Lt.Z%100,ro(Lt)):no(Lt)}}function ht(Jt,xe,Re,Lt){for(var un=0,Ge=xe.length,Pn=Re.length,wn,pe;un=Pn)return-1;if(wn=xe.charCodeAt(un++),wn===37){if(wn=xe.charAt(un++),pe=k[wn in Ms?xe.charAt(un++):wn],!pe||(Lt=pe(Jt,Re,Lt))<0)return-1}else if(wn!=Re.charCodeAt(Lt++))return-1}return Lt}function $t(Jt,xe,Re){var Lt=f.exec(xe.slice(Re));return Lt?(Jt.p=g.get(Lt[0].toLowerCase()),Re+Lt[0].length):-1}function dt(Jt,xe,Re){var Lt=S.exec(xe.slice(Re));return Lt?(Jt.w=P.get(Lt[0].toLowerCase()),Re+Lt[0].length):-1}function st(Jt,xe,Re){var Lt=v.exec(xe.slice(Re));return Lt?(Jt.w=m.get(Lt[0].toLowerCase()),Re+Lt[0].length):-1}function Vt(Jt,xe,Re){var Lt=w.exec(xe.slice(Re));return Lt?(Jt.m=X.get(Lt[0].toLowerCase()),Re+Lt[0].length):-1}function vt(Jt,xe,Re){var Lt=N.exec(xe.slice(Re));return Lt?(Jt.m=L.get(Lt[0].toLowerCase()),Re+Lt[0].length):-1}function Q(Jt,xe,Re){return ht(Jt,e,xe,Re)}function St(Jt,xe,Re){return ht(Jt,n,xe,Re)}function ct(Jt,xe,Re){return ht(Jt,a,xe,Re)}function At(Jt){return s[Jt.getDay()]}function Gt(Jt){return o[Jt.getDay()]}function Bt(Jt){return c[Jt.getMonth()]}function Kt(Jt){return l[Jt.getMonth()]}function ne(Jt){return i[+(Jt.getHours()>=12)]}function le(Jt){return 1+~~(Jt.getMonth()/3)}function be(Jt){return s[Jt.getUTCDay()]}function Oe(Jt){return o[Jt.getUTCDay()]}function Ce(Jt){return c[Jt.getUTCMonth()]}function He(Jt){return l[Jt.getUTCMonth()]}function Fe(Jt){return i[+(Jt.getUTCHours()>=12)]}function dn(Jt){return 1+~~(Jt.getUTCMonth()/3)}return{format:function(Jt){var xe=K(Jt+="",W);return xe.toString=function(){return Jt},xe},parse:function(Jt){var xe=at(Jt+="",!1);return xe.toString=function(){return Jt},xe},utcFormat:function(Jt){var xe=K(Jt+="",H);return xe.toString=function(){return Jt},xe},utcParse:function(Jt){var xe=at(Jt+="",!0);return xe.toString=function(){return Jt},xe}}}var Ms={"-":"",_:" ",0:"0"},mn=/^\s*\d+/,Nf=/^%/,Ff=/[\\^$*+?|[\]().{}]/g;function Ne(t,e,n){var a=t<0?"-":"",i=(a?-t:t)+"",o=i.length;return a+(o[e.toLowerCase(),n]))}function Uf(t,e,n){var a=mn.exec(e.slice(n,n+1));return a?(t.w=+a[0],n+a[0].length):-1}function zf(t,e,n){var a=mn.exec(e.slice(n,n+1));return a?(t.u=+a[0],n+a[0].length):-1}function jf(t,e,n){var a=mn.exec(e.slice(n,n+2));return a?(t.U=+a[0],n+a[0].length):-1}function Vf(t,e,n){var a=mn.exec(e.slice(n,n+2));return a?(t.V=+a[0],n+a[0].length):-1}function Gf(t,e,n){var a=mn.exec(e.slice(n,n+2));return a?(t.W=+a[0],n+a[0].length):-1}function Ds(t,e,n){var a=mn.exec(e.slice(n,n+4));return a?(t.y=+a[0],n+a[0].length):-1}function Ls(t,e,n){var a=mn.exec(e.slice(n,n+2));return a?(t.y=+a[0]+(+a[0]>68?1900:2e3),n+a[0].length):-1}function Xf(t,e,n){var a=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return a?(t.Z=a[1]?0:-(a[2]+(a[3]||"00")),n+a[0].length):-1}function Hf(t,e,n){var a=mn.exec(e.slice(n,n+1));return a?(t.q=a[0]*3-3,n+a[0].length):-1}function Yf(t,e,n){var a=mn.exec(e.slice(n,n+2));return a?(t.m=a[0]-1,n+a[0].length):-1}function Ns(t,e,n){var a=mn.exec(e.slice(n,n+2));return a?(t.d=+a[0],n+a[0].length):-1}function Wf(t,e,n){var a=mn.exec(e.slice(n,n+3));return a?(t.m=0,t.d=+a[0],n+a[0].length):-1}function Fs(t,e,n){var a=mn.exec(e.slice(n,n+2));return a?(t.H=+a[0],n+a[0].length):-1}function Kf(t,e,n){var a=mn.exec(e.slice(n,n+2));return a?(t.M=+a[0],n+a[0].length):-1}function Zf(t,e,n){var a=mn.exec(e.slice(n,n+2));return a?(t.S=+a[0],n+a[0].length):-1}function Jf(t,e,n){var a=mn.exec(e.slice(n,n+3));return a?(t.L=+a[0],n+a[0].length):-1}function Qf(t,e,n){var a=mn.exec(e.slice(n,n+6));return a?(t.L=Math.floor(a[0]/1e3),n+a[0].length):-1}function kf(t,e,n){var a=Nf.exec(e.slice(n,n+1));return a?n+a[0].length:-1}function qf(t,e,n){var a=mn.exec(e.slice(n));return a?(t.Q=+a[0],n+a[0].length):-1}function _f(t,e,n){var a=mn.exec(e.slice(n));return a?(t.s=+a[0],n+a[0].length):-1}function Bs(t,e){return Ne(t.getDate(),e,2)}function td(t,e){return Ne(t.getHours(),e,2)}function ed(t,e){return Ne(t.getHours()%12||12,e,2)}function nd(t,e){return Ne(1+pa.count(sr(t),t),e,3)}function Us(t,e){return Ne(t.getMilliseconds(),e,3)}function rd(t,e){return Us(t,e)+"000"}function ad(t,e){return Ne(t.getMonth()+1,e,2)}function id(t,e){return Ne(t.getMinutes(),e,2)}function od(t,e){return Ne(t.getSeconds(),e,2)}function sd(t){var e=t.getDay();return e===0?7:e}function ld(t,e){return Ne(Ja.count(sr(t)-1,t),e,2)}function zs(t){var e=t.getDay();return e>=4||e===0?Yr(t):Yr.ceil(t)}function cd(t,e){return t=zs(t),Ne(Yr.count(sr(t),t)+(sr(t).getDay()===4),e,2)}function ud(t){return t.getDay()}function fd(t,e){return Ne(Qa.count(sr(t)-1,t),e,2)}function dd(t,e){return Ne(t.getFullYear()%100,e,2)}function hd(t,e){return t=zs(t),Ne(t.getFullYear()%100,e,2)}function gd(t,e){return Ne(t.getFullYear()%1e4,e,4)}function vd(t,e){var n=t.getDay();return t=n>=4||n===0?Yr(t):Yr.ceil(t),Ne(t.getFullYear()%1e4,e,4)}function pd(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Ne(e/60|0,"0",2)+Ne(e%60,"0",2)}function js(t,e){return Ne(t.getUTCDate(),e,2)}function md(t,e){return Ne(t.getUTCHours(),e,2)}function yd(t,e){return Ne(t.getUTCHours()%12||12,e,2)}function xd(t,e){return Ne(1+_a.count(lr(t),t),e,3)}function Vs(t,e){return Ne(t.getUTCMilliseconds(),e,3)}function Td(t,e){return Vs(t,e)+"000"}function $d(t,e){return Ne(t.getUTCMonth()+1,e,2)}function Sd(t,e){return Ne(t.getUTCMinutes(),e,2)}function Ad(t,e){return Ne(t.getUTCSeconds(),e,2)}function Ed(t){var e=t.getUTCDay();return e===0?7:e}function bd(t,e){return Ne(ka.count(lr(t)-1,t),e,2)}function Gs(t){var e=t.getUTCDay();return e>=4||e===0?Wr(t):Wr.ceil(t)}function Rd(t,e){return t=Gs(t),Ne(Wr.count(lr(t),t)+(lr(t).getUTCDay()===4),e,2)}function Id(t){return t.getUTCDay()}function Od(t,e){return Ne(qa.count(lr(t)-1,t),e,2)}function Cd(t,e){return Ne(t.getUTCFullYear()%100,e,2)}function Pd(t,e){return t=Gs(t),Ne(t.getUTCFullYear()%100,e,2)}function wd(t,e){return Ne(t.getUTCFullYear()%1e4,e,4)}function Md(t,e){var n=t.getUTCDay();return t=n>=4||n===0?Wr(t):Wr.ceil(t),Ne(t.getUTCFullYear()%1e4,e,4)}function Dd(){return"+0000"}function Xs(){return"%"}function Hs(t){return+t}function Ys(t){return Math.floor(+t/1e3)}var Kr,ao,Ws,io,Ks;Ld({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Ld(t){return Kr=Lf(t),ao=Kr.format,Ws=Kr.parse,io=Kr.utcFormat,Ks=Kr.utcParse,Kr}var Nd=Object.defineProperty,Zs=Object.getOwnPropertySymbols,Fd=Object.prototype.hasOwnProperty,Bd=Object.prototype.propertyIsEnumerable,Js=(t,e,n)=>e in t?Nd(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ke=(t,e)=>{for(var n in e||(e={}))Fd.call(e,n)&&Js(t,n,e[n]);if(Zs)for(var n of Zs(e))Bd.call(e,n)&&Js(t,n,e[n]);return t};const Se={button:"bb-button",chart:"bb-chart",empty:"bb-empty",main:"bb-main",target:"bb-target",EXPANDED:"_expanded_"},Ve={arc:"bb-arc",arcLabelLine:"bb-arc-label-line",arcRange:"bb-arc-range",arcs:"bb-arcs",chartArc:"bb-chart-arc",chartArcs:"bb-chart-arcs",chartArcsBackground:"bb-chart-arcs-background",chartArcsTitle:"bb-chart-arcs-title",needle:"bb-needle"},ti={area:"bb-area",areas:"bb-areas"},Tn={axis:"bb-axis",axisX:"bb-axis-x",axisXLabel:"bb-axis-x-label",axisY:"bb-axis-y",axisY2:"bb-axis-y2",axisY2Label:"bb-axis-y2-label",axisYLabel:"bb-axis-y-label",axisXTooltip:"bb-axis-x-tooltip",axisYTooltip:"bb-axis-y-tooltip",axisY2Tooltip:"bb-axis-y2-tooltip"},Kn={bar:"bb-bar",bars:"bb-bars",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars"},cr={candlestick:"bb-candlestick",candlesticks:"bb-candlesticks",chartCandlestick:"bb-chart-candlestick",chartCandlesticks:"bb-chart-candlesticks",valueDown:"bb-value-down",valueUp:"bb-value-up"},$n={chartCircles:"bb-chart-circles",circle:"bb-circle",circles:"bb-circles"},oo={colorPattern:"bb-color-pattern",colorScale:"bb-colorscale"},Or={dragarea:"bb-dragarea",INCLUDED:"_included_"},Ta={funnel:"bb-funnel",chartFunnel:"bb-chart-funnel",chartFunnels:"bb-chart-funnels",funnelBackground:"bb-funnel-background"},Un={chartArcsGaugeMax:"bb-chart-arcs-gauge-max",chartArcsGaugeMin:"bb-chart-arcs-gauge-min",chartArcsGaugeUnit:"bb-chart-arcs-gauge-unit",chartArcsGaugeTitle:"bb-chart-arcs-gauge-title",gaugeValue:"bb-gauge-value"},We={legend:"bb-legend",legendBackground:"bb-legend-background",legendItem:"bb-legend-item",legendItemEvent:"bb-legend-item-event",legendItemHidden:"bb-legend-item-hidden",legendItemPoint:"bb-legend-item-point",legendItemTile:"bb-legend-item-tile"},ur={chartLine:"bb-chart-line",chartLines:"bb-chart-lines",line:"bb-line",lines:"bb-lines"},Zn={eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsMultiple:"bb-event-rects-multiple",eventRectsSingle:"bb-event-rects-single"},qe={focused:"bb-focused",defocused:"bb-defocused",legendItemFocused:"bb-legend-item-focused",xgridFocus:"bb-xgrid-focus",ygridFocus:"bb-ygrid-focus"},on={grid:"bb-grid",gridLines:"bb-grid-lines",xgrid:"bb-xgrid",xgridLine:"bb-xgrid-line",xgridLines:"bb-xgrid-lines",xgrids:"bb-xgrids",ygrid:"bb-ygrid",ygridLine:"bb-ygrid-line",ygridLines:"bb-ygrid-lines",ygrids:"bb-ygrids"},Tr={level:"bb-level",levels:"bb-levels"},Qs={chartRadar:"bb-chart-radar",chartRadars:"bb-chart-radars"},$a={region:"bb-region",regions:"bb-regions"},tn={selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circles",SELECTED:"_selected_"},sn={shape:"bb-shape",shapes:"bb-shapes"},ks={brush:"bb-brush",subchart:"bb-subchart"},On={chartText:"bb-chart-text",chartTexts:"bb-chart-texts",text:"bb-text",texts:"bb-texts",title:"bb-title",TextOverlapping:"text-overlapping"},ei={tooltip:"bb-tooltip",tooltipContainer:"bb-tooltip-container",tooltipName:"bb-tooltip-name"},qs={treemap:"bb-treemap",chartTreemap:"bb-chart-treemap",chartTreemaps:"bb-chart-treemaps"},so={buttonZoomReset:"bb-zoom-reset",zoomBrush:"bb-zoom-brush"};var Ue=ke(ke(ke(ke(ke(ke(ke(ke(ke(ke(ke(ke(ke(ke(ke(ke(ke(ke(ke(ke(ke(ke(ke(ke(ke({},Se),Ve),ti),Tn),Kn),cr),$n),oo),Or),Un),We),ur),Zn),qe),Ta),on),Qs),$a),tn),sn),ks),On),ei),qs),so),Ud={boost_useCssRule:!1,boost_useWorker:!1},zd={color_pattern:[],color_tiles:void 0,color_threshold:{},color_onover:void 0},jd={legend_contents_bindto:void 0,legend_contents_template:"{=TITLE}",legend_equally:!1,legend_hide:!1,legend_inset_anchor:"top-left",legend_inset_x:10,legend_inset_y:0,legend_inset_step:void 0,legend_item_interaction:!0,legend_item_dblclick:!1,legend_item_onclick:void 0,legend_item_onover:void 0,legend_item_onout:void 0,legend_item_tile_width:10,legend_item_tile_height:10,legend_item_tile_r:5,legend_item_tile_type:"rectangle",legend_format:void 0,legend_padding:0,legend_position:"bottom",legend_show:!0,legend_tooltip:!1,legend_usePoint:!1},Vd={bindto:"#chart",background:{},clipPath:!0,svg_classname:void 0,size_width:void 0,size_height:void 0,padding:!0,padding_mode:void 0,padding_left:void 0,padding_right:void 0,padding_top:void 0,padding_bottom:void 0,resize_auto:!0,resize_timer:!0,onclick:void 0,onover:void 0,onout:void 0,onresize:void 0,onresized:void 0,onbeforeinit:void 0,oninit:void 0,onafterinit:void 0,onrendered:void 0,transition_duration:250,plugins:[],render:{},regions:[]},Gd={title_text:void 0,title_padding:{top:0,right:0,bottom:0,left:0},title_position:"center"},Xd={tooltip_show:!0,tooltip_doNotHide:!1,tooltip_grouped:!0,tooltip_format_title:void 0,tooltip_format_name:void 0,tooltip_format_value:void 0,tooltip_position:void 0,tooltip_contents:{},tooltip_init_show:!1,tooltip_init_x:0,tooltip_init_position:void 0,tooltip_linked:!1,tooltip_linked_name:"",tooltip_onshow:()=>{},tooltip_onhide:()=>{},tooltip_onshown:()=>{},tooltip_onhidden:()=>{},tooltip_order:null},Hd={data_x:void 0,data_idConverter:t=>t,data_names:{},data_classes:{},data_type:void 0,data_types:{},data_order:"desc",data_groups:[],data_groupsZeroAs:"positive",data_color:void 0,data_colors:{},data_labels:{},data_labels_backgroundColors:void 0,data_labels_colors:void 0,data_labels_position:{},data_hide:!1,data_filter:void 0,data_onclick:()=>{},data_onover:()=>{},data_onout:()=>{},data_onshown:void 0,data_onhidden:void 0,data_onmin:void 0,data_onmax:void 0,data_url:void 0,data_headers:void 0,data_json:void 0,data_rows:void 0,data_columns:void 0,data_mimeType:"csv",data_keys:void 0,data_empty_label_text:""},Yd={interaction_enabled:!0,interaction_brighten:!0,interaction_inputType_mouse:!0,interaction_inputType_touch:{},interaction_onout:!0},Wd={value:()=>{}};function _s(){for(var t=0,e=arguments.length,n={},a;t=0&&(a=n.slice(i+1),n=n.slice(0,i)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:a}})}ni.prototype=_s.prototype={constructor:ni,on:function(t,e){var n=this._,a=Kd(t+"",n),i,o=-1,s=a.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),a=0,i,o;a>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?ii(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?ii(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=kd.exec(t))?new Dn(e[1],e[2],e[3],1):(e=qd.exec(t))?new Dn(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=_d.exec(t))?ii(e[1],e[2],e[3],e[4]):(e=th.exec(t))?ii(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=eh.exec(t))?ll(e[1],e[2]/100,e[3]/100,1):(e=nh.exec(t))?ll(e[1],e[2]/100,e[3]/100,e[4]):nl.hasOwnProperty(t)?il(nl[t]):t==="transparent"?new Dn(NaN,NaN,NaN,0):null}function il(t){return new Dn(t>>16&255,t>>8&255,t&255,1)}function ii(t,e,n,a){return a<=0&&(t=e=n=NaN),new Dn(t,e,n,a)}function ih(t){return t instanceof Aa||(t=Cr(t)),t?(t=t.rgb(),new Dn(t.r,t.g,t.b,t.opacity)):new Dn}function oi(t,e,n,a){return arguments.length===1?ih(t):new Dn(t,e,n,a==null?1:a)}function Dn(t,e,n,a){this.r=+t,this.g=+e,this.b=+n,this.opacity=+a}fo(Dn,oi,el(Aa,{brighter(t){return t=t==null?ai:Math.pow(ai,t),new Dn(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Ea:Math.pow(Ea,t),new Dn(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Dn(Pr(this.r),Pr(this.g),Pr(this.b),si(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ol,formatHex:ol,formatHex8:oh,formatRgb:sl,toString:sl}));function ol(){return`#${wr(this.r)}${wr(this.g)}${wr(this.b)}`}function oh(){return`#${wr(this.r)}${wr(this.g)}${wr(this.b)}${wr((isNaN(this.opacity)?1:this.opacity)*255)}`}function sl(){const t=si(this.opacity);return`${t===1?"rgb(":"rgba("}${Pr(this.r)}, ${Pr(this.g)}, ${Pr(this.b)}${t===1?")":`, ${t})`}`}function si(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Pr(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function wr(t){return t=Pr(t),(t<16?"0":"")+t.toString(16)}function ll(t,e,n,a){return a<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Jn(t,e,n,a)}function cl(t){if(t instanceof Jn)return new Jn(t.h,t.s,t.l,t.opacity);if(t instanceof Aa||(t=Cr(t)),!t)return new Jn;if(t instanceof Jn)return t;t=t.rgb();var e=t.r/255,n=t.g/255,a=t.b/255,i=Math.min(e,n,a),o=Math.max(e,n,a),s=NaN,l=o-i,c=(o+i)/2;return l?(e===o?s=(n-a)/l+(n0&&c<1?0:s,new Jn(s,l,c,t.opacity)}function sh(t,e,n,a){return arguments.length===1?cl(t):new Jn(t,e,n,a==null?1:a)}function Jn(t,e,n,a){this.h=+t,this.s=+e,this.l=+n,this.opacity=+a}fo(Jn,sh,el(Aa,{brighter(t){return t=t==null?ai:Math.pow(ai,t),new Jn(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Ea:Math.pow(Ea,t),new Jn(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,a=n+(n<.5?n:1-n)*e,i=2*n-a;return new Dn(ho(t>=240?t-240:t+120,i,a),ho(t,i,a),ho(t<120?t+240:t-120,i,a),this.opacity)},clamp(){return new Jn(ul(this.h),li(this.s),li(this.l),si(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=si(this.opacity);return`${t===1?"hsl(":"hsla("}${ul(this.h)}, ${li(this.s)*100}%, ${li(this.l)*100}%${t===1?")":`, ${t})`}`}}));function ul(t){return t=(t||0)%360,t<0?t+360:t}function li(t){return Math.max(0,Math.min(1,t||0))}function ho(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}function fl(t,e,n,a,i){var o=t*t,s=o*t;return((1-3*t+3*o-s)*e+(4-6*o+3*s)*n+(1+3*t+3*o-3*s)*a+s*i)/6}function lh(t){var e=t.length-1;return function(n){var a=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[a],o=t[a+1],s=a>0?t[a-1]:2*i-o,l=a()=>t;function dl(t,e){return function(n){return t+n*e}}function uh(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(a){return Math.pow(t+a*e,n)}}function W0(t,e){var n=e-t;return n?dl(t,n>180||n<-180?n-360*Math.round(n/360):n):ci(isNaN(t)?e:t)}function fh(t){return(t=+t)==1?hl:function(e,n){return n-e?uh(e,n,t):ci(isNaN(e)?n:e)}}function hl(t,e){var n=e-t;return n?dl(t,n):ci(isNaN(t)?e:t)}var ui=function t(e){var n=fh(e);function a(i,o){var s=n((i=oi(i)).r,(o=oi(o)).r),l=n(i.g,o.g),c=n(i.b,o.b),f=hl(i.opacity,o.opacity);return function(g){return i.r=s(g),i.g=l(g),i.b=c(g),i.opacity=f(g),i+""}}return a.gamma=t,a}(1);function gl(t){return function(e){var n=e.length,a=new Array(n),i=new Array(n),o=new Array(n),s,l;for(s=0;sn&&(o=e.slice(n,o),l[s]?l[s]+=o:l[++s]=o),(a=a[0])===(i=i[0])?l[s]?l[s]+=i:l[++s]=i:(l[++s]=null,c.push({i:s,x:Qn(a,i)})),n=vo.lastIndex;return n=0&&t._call.call(void 0,e),t=t._next;--kr}function Sl(){Mr=(di=Ca.now())+hi,kr=Ra=0;try{yh()}finally{kr=0,Th(),Mr=0}}function xh(){var t=Ca.now(),e=t-di;e>xl&&(hi-=e,di=t)}function Th(){for(var t,e=fi,n,a=1/0;e;)e._call?(a>e._time&&(a=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:fi=n);Oa=t,mo(a)}function mo(t){if(!kr){Ra&&(Ra=clearTimeout(Ra));var e=t-Mr;e>24?(t<1/0&&(Ra=setTimeout(Sl,t-Ca.now()-hi)),Ia&&(Ia=clearInterval(Ia))):(Ia||(di=Ca.now(),Ia=setInterval(xh,xl)),kr=1,Tl(Sl))}}function Al(t,e,n){var a=new gi;return e=e==null?0:+e,a.restart(i=>{a.stop(),t(i+e)},e,n),a}var $h=ri("start","end","cancel","interrupt"),Sh=[],El=0,bl=1,yo=2,vi=3,Rl=4,xo=5,pi=6;function mi(t,e,n,a,i,o){var s=t.__transition;if(!s)t.__transition={};else if(n in s)return;Ah(t,n,{name:e,index:a,group:i,on:$h,tween:Sh,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:El})}function To(t,e){var n=kn(t,e);if(n.state>El)throw new Error("too late; already scheduled");return n}function er(t,e){var n=kn(t,e);if(n.state>vi)throw new Error("too late; already running");return n}function kn(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function Ah(t,e,n){var a=t.__transition,i;a[e]=n,n.timer=$l(o,0,n.time);function o(f){n.state=bl,n.timer.restart(s,n.delay,n.time),n.delay<=f&&s(f-n.delay)}function s(f){var g,v,m,S;if(n.state!==bl)return c();for(g in a)if(S=a[g],S.name===n.name){if(S.state===vi)return Al(s);S.state===Rl?(S.state=pi,S.timer.stop(),S.on.call("interrupt",t,t.__data__,S.index,S.group),delete a[g]):+gyo&&a.state180?g+=360:g-f>180&&(f+=360),m.push({i:v.push(i(v)+"rotate(",null,a)-2,x:Qn(f,g)})):g&&v.push(i(v)+"rotate("+g+a)}function l(f,g,v,m){f!==g?m.push({i:v.push(i(v)+"skewX(",null,a)-2,x:Qn(f,g)}):g&&v.push(i(v)+"skewX("+g+a)}function c(f,g,v,m,S,P){if(f!==v||g!==m){var N=S.push(i(S)+"scale(",null,",",null,")");P.push({i:N-4,x:Qn(f,v)},{i:N-2,x:Qn(g,m)})}else(v!==1||m!==1)&&S.push(i(S)+"scale("+v+","+m+")")}return function(f,g){var v=[],m=[];return f=t(f),g=t(g),o(f.translateX,f.translateY,g.translateX,g.translateY,v,m),s(f.rotate,g.rotate,v,m),l(f.skewX,g.skewX,v,m),c(f.scaleX,f.scaleY,g.scaleX,g.scaleY,v,m),f=g=null,function(S){for(var P=-1,N=m.length,L;++P=0&&(e=e.slice(0,n)),!e||e==="start"})}function rg(t,e,n){var a,i,o=ng(e)?To:er;return function(){var s=o(this,t),l=s.on;l!==a&&(i=(a=l).copy()).on(e,n),s.on=i}}function ag(t,e){var n=this._id;return arguments.length<2?kn(this.node(),n).on.on(t):this.each(rg(n,t,e))}function ig(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function og(){return this.on("end.remove",ig(this._id))}function sg(t){var e=this._name,n=this._id;typeof t!="function"&&(t=p(t));for(var a=this._groups,i=a.length,o=new Array(i),s=0;s()=>t;function Mg(t,{sourceEvent:e,target:n,selection:a,mode:i,dispatch:o}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},selection:{value:a,enumerable:!0,configurable:!0},mode:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function Dg(t){t.stopImmediatePropagation()}function Eo(t){t.preventDefault(),t.stopImmediatePropagation()}var Ll={name:"drag"},bo={name:"space"},_r={name:"handle"},ta={name:"center"};const{abs:Nl,max:Sn,min:An}=Math;function Fl(t){return[+t[0],+t[1]]}function Ro(t){return[Fl(t[0]),Fl(t[1])]}var xi={name:"x",handles:["w","e"].map(Pa),input:function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},Ti={name:"y",handles:["n","s"].map(Pa),input:function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},Lg={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(Pa),input:function(t){return t==null?null:Ro(t)},output:function(t){return t}},hr={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Bl={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},Ul={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},Ng={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},Fg={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function Pa(t){return{type:t}}function Bg(t){return!t.ctrlKey&&!t.button}function Ug(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function zg(){return navigator.maxTouchPoints||"ontouchstart"in this}function Io(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function jg(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function zl(t){var e=t.__brush;return e?e.dim.output(e.selection):null}function Vg(){return Oo(xi)}function Gg(){return Oo(Ti)}function q0(){return Oo(Lg)}function Oo(t){var e=Ug,n=Bg,a=zg,i=!0,o=ri("start","brush","end"),s=6,l;function c(L){var w=L.property("__brush",N).selectAll(".overlay").data([Pa("overlay")]);w.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",hr.overlay).merge(w).each(function(){var W=Io(this).extent;ot(this).attr("x",W[0][0]).attr("y",W[0][1]).attr("width",W[1][0]-W[0][0]).attr("height",W[1][1]-W[0][1])}),L.selectAll(".selection").data([Pa("selection")]).enter().append("rect").attr("class","selection").attr("cursor",hr.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var X=L.selectAll(".handle").data(t.handles,function(W){return W.type});X.exit().remove(),X.enter().append("rect").attr("class",function(W){return"handle handle--"+W.type}).attr("cursor",function(W){return hr[W.type]}),L.each(f).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",m).filter(a).on("touchstart.brush",m).on("touchmove.brush",S).on("touchend.brush touchcancel.brush",P).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}c.move=function(L,w,X){L.tween?L.on("start.brush",function(W){g(this,arguments).beforestart().start(W)}).on("interrupt.brush end.brush",function(W){g(this,arguments).end(W)}).tween("brush",function(){var W=this,H=W.__brush,k=g(W,arguments),K=H.selection,at=t.input(typeof w=="function"?w.apply(this,arguments):w,H.extent),ht=Qr(K,at);function $t(dt){H.selection=dt===1&&at===null?null:ht(dt),f.call(W),k.brush()}return K!==null&&at!==null?$t:$t(1)}):L.each(function(){var W=this,H=arguments,k=W.__brush,K=t.input(typeof w=="function"?w.apply(W,H):w,k.extent),at=g(W,H).beforestart();qr(W),k.selection=K===null?null:K,f.call(W),at.start(X).brush(X).end(X)})},c.clear=function(L,w){c.move(L,null,w)};function f(){var L=ot(this),w=Io(this).selection;w?(L.selectAll(".selection").style("display",null).attr("x",w[0][0]).attr("y",w[0][1]).attr("width",w[1][0]-w[0][0]).attr("height",w[1][1]-w[0][1]),L.selectAll(".handle").style("display",null).attr("x",function(X){return X.type[X.type.length-1]==="e"?w[1][0]-s/2:w[0][0]-s/2}).attr("y",function(X){return X.type[0]==="s"?w[1][1]-s/2:w[0][1]-s/2}).attr("width",function(X){return X.type==="n"||X.type==="s"?w[1][0]-w[0][0]+s:s}).attr("height",function(X){return X.type==="e"||X.type==="w"?w[1][1]-w[0][1]+s:s})):L.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function g(L,w,X){var W=L.__brush.emitter;return W&&(!X||!W.clean)?W:new v(L,w,X)}function v(L,w,X){this.that=L,this.args=w,this.state=L.__brush,this.active=0,this.clean=X}v.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(L,w){return this.starting?(this.starting=!1,this.emit("start",L,w)):this.emit("brush",L),this},brush:function(L,w){return this.emit("brush",L,w),this},end:function(L,w){return--this.active===0&&(delete this.state.emitter,this.emit("end",L,w)),this},emit:function(L,w,X){var W=ot(this.that).datum();o.call(L,this.that,new Mg(L,{sourceEvent:w,target:c,selection:t.output(this.state.selection),mode:X,dispatch:o}),W)}};function m(L){if(l&&!L.touches||!n.apply(this,arguments))return;var w=this,X=L.target.__data__.type,W=(i&&L.metaKey?X="overlay":X)==="selection"?Ll:i&&L.altKey?ta:_r,H=t===Ti?null:Ng[X],k=t===xi?null:Fg[X],K=Io(w),at=K.extent,ht=K.selection,$t=at[0][0],dt,st,Vt=at[0][1],vt,Q,St=at[1][0],ct,At,Gt=at[1][1],Bt,Kt,ne=0,le=0,be,Oe=H&&k&&i&&L.shiftKey,Ce,He,Fe=Array.from(L.touches||[L],pe=>{const fn=pe.identifier;return pe=Xn(pe,w),pe.point0=pe.slice(),pe.identifier=fn,pe});qr(w);var dn=g(w,arguments,!0).beforestart();if(X==="overlay"){ht&&(be=!0);const pe=[Fe[0],Fe[1]||Fe[0]];K.selection=ht=[[dt=t===Ti?$t:An(pe[0][0],pe[1][0]),vt=t===xi?Vt:An(pe[0][1],pe[1][1])],[ct=t===Ti?St:Sn(pe[0][0],pe[1][0]),Bt=t===xi?Gt:Sn(pe[0][1],pe[1][1])]],Fe.length>1&&un(L)}else dt=ht[0][0],vt=ht[0][1],ct=ht[1][0],Bt=ht[1][1];st=dt,Q=vt,At=ct,Kt=Bt;var Jt=ot(w).attr("pointer-events","none"),xe=Jt.selectAll(".overlay").attr("cursor",hr[X]);if(L.touches)dn.moved=Lt,dn.ended=Ge;else{var Re=ot(L.view).on("mousemove.brush",Lt,!0).on("mouseup.brush",Ge,!0);i&&Re.on("keydown.brush",Pn,!0).on("keyup.brush",wn,!0),co(L.view)}f.call(w),dn.start(L,W.name);function Lt(pe){for(const fn of pe.changedTouches||[pe])for(const Ga of Fe)Ga.identifier===fn.identifier&&(Ga.cur=Xn(fn,w));if(Oe&&!Ce&&!He&&Fe.length===1){const fn=Fe[0];Nl(fn.cur[0]-fn[0])>Nl(fn.cur[1]-fn[1])?He=!0:Ce=!0}for(const fn of Fe)fn.cur&&(fn[0]=fn.cur[0],fn[1]=fn.cur[1]);be=!0,Eo(pe),un(pe)}function un(pe){const fn=Fe[0],Ga=fn.point0;var br;switch(ne=fn[0]-Ga[0],le=fn[1]-Ga[1],W){case bo:case Ll:{H&&(ne=Sn($t-dt,An(St-ct,ne)),st=dt+ne,At=ct+ne),k&&(le=Sn(Vt-vt,An(Gt-Bt,le)),Q=vt+le,Kt=Bt+le);break}case _r:{Fe[1]?(H&&(st=Sn($t,An(St,Fe[0][0])),At=Sn($t,An(St,Fe[1][0])),H=1),k&&(Q=Sn(Vt,An(Gt,Fe[0][1])),Kt=Sn(Vt,An(Gt,Fe[1][1])),k=1)):(H<0?(ne=Sn($t-dt,An(St-dt,ne)),st=dt+ne,At=ct):H>0&&(ne=Sn($t-ct,An(St-ct,ne)),st=dt,At=ct+ne),k<0?(le=Sn(Vt-vt,An(Gt-vt,le)),Q=vt+le,Kt=Bt):k>0&&(le=Sn(Vt-Bt,An(Gt-Bt,le)),Q=vt,Kt=Bt+le));break}case ta:{H&&(st=Sn($t,An(St,dt-ne*H)),At=Sn($t,An(St,ct+ne*H))),k&&(Q=Sn(Vt,An(Gt,vt-le*k)),Kt=Sn(Vt,An(Gt,Bt+le*k)));break}}At0&&(dt=st-ne),k<0?Bt=Kt-le:k>0&&(vt=Q-le),W=bo,xe.attr("cursor",hr.selection),un(pe));break}default:return}Eo(pe)}function wn(pe){switch(pe.keyCode){case 16:{Oe&&(Ce=He=Oe=!1,un(pe));break}case 18:{W===ta&&(H<0?ct=At:H>0&&(dt=st),k<0?Bt=Kt:k>0&&(vt=Q),W=_r,un(pe));break}case 32:{W===bo&&(pe.altKey?(H&&(ct=At-ne*H,dt=st+ne*H),k&&(Bt=Kt-le*k,vt=Q+le*k),W=ta):(H<0?ct=At:H>0&&(dt=st),k<0?Bt=Kt:k>0&&(vt=Q),W=_r),xe.attr("cursor",hr[X]),un(pe));break}default:return}Eo(pe)}}function S(L){g(this,arguments).moved(L)}function P(L){g(this,arguments).ended(L)}function N(){var L=this.__brush||{selection:null};return L.extent=Ro(e.apply(this,arguments)),L.dim=t,L}return c.extent=function(L){return arguments.length?(e=typeof L=="function"?L:Ao(Ro(L)),c):e},c.filter=function(L){return arguments.length?(n=typeof L=="function"?L:Ao(!!L),c):n},c.touchable=function(L){return arguments.length?(a=typeof L=="function"?L:Ao(!!L),c):a},c.handleSize=function(L){return arguments.length?(s=+L,c):s},c.keyModifiers=function(L){return arguments.length?(i=!!L,c):i},c.on=function(){var L=o.on.apply(o,arguments);return L===o?c:L},c}function Xg(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function Hg(t){const e=typeof(t==null?void 0:t.requestAnimationFrame)=="function"&&typeof(t==null?void 0:t.cancelAnimationFrame)=="function",n=typeof(t==null?void 0:t.requestIdleCallback)=="function"&&typeof(t==null?void 0:t.cancelIdleCallback)=="function",a=o=>setTimeout(o,1),i=o=>clearTimeout(o);return[e?t.requestAnimationFrame:a,e?t.cancelAnimationFrame:i,n?t.requestIdleCallback:a,n?t.cancelIdleCallback:i]}const Ke=Xg(),gn=Ke==null?void 0:Ke.document,[Yg,_0,jl,t1]=Hg(Ke);var Wg=Object.defineProperty,Vl=Object.getOwnPropertySymbols,Kg=Object.prototype.hasOwnProperty,Zg=Object.prototype.propertyIsEnumerable,Gl=(t,e,n)=>e in t?Wg(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Xl=(t,e)=>{for(var n in e||(e={}))Kg.call(e,n)&&Gl(t,n,e[n]);if(Vl)for(var n of Vl(e))Zg.call(e,n)&&Gl(t,n,e[n]);return t};const De=t=>t||t===0,ve=t=>typeof t=="function",ze=t=>typeof t=="string",he=t=>typeof t=="number",ln=t=>typeof t=="undefined",Qe=t=>typeof t!="undefined",Co=t=>typeof t=="boolean",Jg=t=>Math.ceil(t/10)*10,$i=t=>Math.ceil(t)+.5,Dr=t=>t[1]-t[0],nr=t=>typeof t=="object",qn=t=>ln(t)||t===null||ze(t)&&t.length===0||nr(t)&&!(t instanceof Date)&&Object.keys(t).length===0||he(t)&&isNaN(t),cn=t=>!qn(t),je=t=>Array.isArray(t),Be=t=>t&&!(t!=null&&t.nodeType)&&nr(t)&&!je(t);function $r(t,e,n){return Qe(t[e])?t[e]:n}function Qg(t,e){let n=!1;return Object.keys(t).forEach(a=>t[a]===e&&(n=!0)),n}function _e(t,e,...n){const a=ve(t);return a&&t.call(e,...n),a}function Si(t,e){let n=0;const a=function(...i){!--n&&e.apply(this,...i)};"duration"in t?t.each(()=>++n).on("end",a):(++n,t.call(a))}function Po(t){return ze(t)?t.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):t}function wa(t,e,n=[-1,1],a=!1){if(!(!t||!ze(e)))if(e.indexOf(` +`)===-1)t.text(e);else{const i=[t.text(),e].map(o=>o.replace(/[\s\n]/g,""));if(i[0]!==i[1]){const o=e.split(` +`),s=a?o.length-1:1;t.html(""),o.forEach((l,c)=>{t.append("tspan").attr("x",0).attr("dy",`${c===0?n[0]*s:n[1]}em`).text(l)})}}}function Hl(t){const{x:e,y:n,width:a,height:i}=t.getBBox();return[{x:e,y:n+i},{x:e,y:n},{x:e+a,y:n},{x:e+a,y:n+i}]}function Yl(t){const{width:e,height:n}=t.getBoundingClientRect(),a=Hl(t),i=a[0].x,o=Math.min(a[0].y,a[1].y);return{x:i,y:o,width:e,height:n}}function Hn(t,e){var n;const a=t&&((n=t.touches||t.sourceEvent&&t.sourceEvent.touches)==null?void 0:n[0]);let i=[0,0];try{i=Xn(a||t,e)}catch(o){}return i.map(o=>isNaN(o)?0:o)}function Wl(t){const{event:e,$el:n}=t,a=n.subchart.main||n.main;let i;return e&&e.type==="brush"?i=e.selection:a&&(i=a.select(".bb-brush").node())&&(i=zl(i)),i}function Ma(t){return!("rect"in t)||"rect"in t&&t.hasAttribute("width")&&t.rect.width!==+t.getAttribute("width")?t.rect=t.getBoundingClientRect():t.rect}function gr(t=!0,e=0,n=1e4){const a=Ke.crypto||Ke.msCrypto,i=a?e+a.getRandomValues(new Uint32Array(1))[0]%(n-e+1):Math.floor(Math.random()*(n-e)+e);return t?String(i):i}function wo(t,e,n,a,i){if(n>a)return-1;const o=Math.floor((n+a)/2);let{x:s,w:l=0}=t[o];return i&&(s=t[o].y,l=t[o].h),e>=s&&e<=s+l?o:e{if(Be(n)&&n.constructor){const a=new n.constructor;for(const i in n)a[i]=e(n[i]);return a}return n};return t.map(n=>e(n)).reduce((n,a)=>Xl(Xl({},n),a))}function yn(t={},e){je(e)&&e.forEach(n=>yn(t,n));for(const n in e)/^\d+$/.test(n)||n in t||(t[n]=e[n]);return t}const Cn=t=>t.charAt(0).toUpperCase()+t.slice(1);function qg(t,e="-"){return t.split(e).map((n,a)=>a?n.charAt(0).toUpperCase()+n.slice(1).toLowerCase():n.toLowerCase()).join("")}const Lr=t=>[].slice.call(t);function _g(t,e,n){const{rootSelector:a="",sheet:i}=t,s=`${a} ${(l=>l.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(e)} {${n.join(";")}}`;return i[i.insertRule?"insertRule":"addRule"](s,i.cssRules.length)}function tv(t){let e=[];return t.forEach(n=>{var a;try{n.cssRules&&n.cssRules.length&&(e=e.concat(Lr(n.cssRules)))}catch(i){(a=Ke.console)==null||a.warn(`Error while reading rules from ${n.href}: ${i.toString()}`)}}),e}function Zl(t){var e,n,a,i,o,s;return{x:((n=(e=Ke.pageXOffset)!=null?e:Ke.scrollX)!=null?n:0)+((a=t.scrollLeft)!=null?a:0),y:((o=(i=Ke.pageYOffset)!=null?i:Ke.scrollY)!=null?o:0)+((s=t.scrollTop)!=null?s:0)}}function Ai(t,e=0,n=0,a=!0){const i=new DOMPoint(e,n),o=t.getScreenCTM(),s=i.matrixTransform(a?o==null?void 0:o.inverse():o);if(a===!1){const l=t.getBoundingClientRect();s.x-=l.x,s.y-=l.y}return s}function Jl(t){const e=t?t.transform:null,n=e&&e.baseVal;return n&&n.numberOfItems?n.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function Mo(t){const e=t[0]instanceof Date,n=(e?t.map(Number):t).filter((a,i,o)=>o.indexOf(a)===i);return e?n.map(a=>new Date(a)):n}function Do(t){return t&&t.length?t.reduce((e,n)=>e.concat(n)):[]}function ea(t,...e){if(!e.length||e.length===1&&!e[0])return t;const n=e.shift();return Be(t)&&Be(n)&&Object.keys(n).forEach(a=>{if(!/^(__proto__|constructor|prototype)$/i.test(a)){const i=n[a];Be(i)?(!t[a]&&(t[a]={}),t[a]=ea(t[a],i)):t[a]=je(i)?i.concat():i}}),ea(t,...e)}function na(t,e=!0){let n;return t[0]instanceof Date?n=e?(a,i)=>a-i:(a,i)=>i-a:e&&!t.every(isNaN)?n=(a,i)=>a-i:e||(n=(a,i)=>a>i&&-1||acn(a));return n.length?he(n[0])?n=Math[t](...n):n[0]instanceof Date&&(n=na(n,t==="min")[0]):n=void 0,n}const Ei=(t,e,n=1)=>{const a=[],i=Math.max(0,Math.ceil((e-t)/n))|0;for(let o=t;o{const t=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(e,n,a=t())=>{e.dispatchEvent(new MouseEvent(n,a))}}catch(e){return(n,a,i=t())=>{const o=gn.createEvent("MouseEvent");o.initMouseEvent(a,i.bubbles,i.cancelable,Ke,0,i.screenX,i.screenY,i.clientX,i.clientY,!1,!1,!1,!1,0,null),n.dispatchEvent(o)}}})(),touch:(t,e,n)=>{const a=new Touch(ea({identifier:Date.now(),target:t,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},n));t.dispatchEvent(new TouchEvent(e,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[a],targetTouches:[],changedTouches:[a]}))}};function bi(t,e){let n=t;for(const a in e)n=n.replace(new RegExp(`{=${a}}`,"g"),e[a]);return n}function Yn(t){var e;let n;if(t instanceof Date)n=t;else if(ze(t)){const{config:a,format:i}=this;n=(e=i.dataTime(a.data_xFormat)(t))!=null?e:new Date(t)}else he(t)&&!isNaN(t)&&(n=new Date(+t));return(!n||isNaN(+n))&&console&&console.error&&console.error(`Failed to parse x '${t}' to Date object`),n}function Lo(t){const e=t.attr("viewBox");return e?/(\d+(\.\d+)?){3}/.test(e):!1}function nv(t,e,n=!1){const a=!!t.node;let i=!1;for(const[o,s]of Object.entries(e))if(i=a?t.style(o)===s:t.style[o]===s,n===!1&&i)break;return i}function Da(){var t,e;return((t=gn)==null?void 0:t.hidden)===!1||((e=gn)==null?void 0:e.visibilityState)==="visible"}function rv(t,e){const{DocumentTouch:n,matchMedia:a,navigator:i}=Ke,o=a==null?void 0:a("(pointer:coarse)").matches;let s=!1;if(e)if(i&&"maxTouchPoints"in i)s=i.maxTouchPoints>0;else if("ontouchmove"in Ke||n&&gn instanceof n)s=!0;else if(o)s=!0;else{const c=i.userAgent;s=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(c)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(c)}return t&&!o&&(a==null?void 0:a("(pointer:fine)").matches)&&"mouse"||s&&"touch"||"mouse"}function Ql(t,e){e()===!1?Yg(()=>Ql(t,e)):t()}var av=Object.defineProperty,kl=Object.getOwnPropertySymbols,iv=Object.prototype.hasOwnProperty,ov=Object.prototype.propertyIsEnumerable,No=(t,e,n)=>e in t?av(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ql=(t,e)=>{for(var n in e||(e={}))iv.call(e,n)&&No(t,n,e[n]);if(kl)for(var n of kl(e))ov.call(e,n)&&No(t,n,e[n]);return t},sv=(t,e,n)=>No(t,typeof e!="symbol"?e+"":e,n);const _l=class bf{static setOptions(e){this.data=e.reduce((n,a)=>ql(ql({},n),a),this.data)}constructor(){return kg(Vd,Ud,Hd,zd,Yd,jd,Gd,Xd,bf.data)}};sv(_l,"data",{});let Nr=_l;class lv{constructor(){return{chart:null,main:null,svg:null,axis:{x:null,y:null,y2:null,subX:null},axisTooltip:{x:null,y:null,y2:null},defs:null,tooltip:null,legend:null,title:null,subchart:{main:null,bar:null,line:null,area:null},arcs:null,bar:null,candlestick:null,line:null,area:null,circle:null,radar:null,text:null,grid:{main:null,x:null,y:null},gridLines:{main:null,x:null,y:null},region:{main:null,list:null},eventRect:null,zoomResetBtn:null}}}class cv{constructor(){return{width:0,width2:0,height:0,height2:0,margin:{top:0,bottom:0,left:0,right:0},margin2:{top:0,bottom:0,left:0,right:0},margin3:{top:0,bottom:0,left:0,right:0},arcWidth:0,arcHeight:0,xAxisHeight:0,hasAxis:!1,hasFunnel:!1,hasRadar:!1,hasTreemap:!1,cssRule:{},current:{domain:void 0,width:0,height:0,dataMax:0,maxTickSize:{x:{width:0,height:0,ticks:[],clipPath:0,domain:""},y:{width:0,height:0,domain:""},y2:{width:0,height:0,domain:""}},types:[],needle:void 0},isLegendRight:!1,isLegendInset:!1,isLegendTop:!1,isLegendLeft:!1,legendStep:0,legendItemWidth:0,legendItemHeight:0,legendHasRendered:!1,eventReceiver:{currentIdx:-1,rect:{},data:[],coords:[]},axis:{x:{padding:{left:0,right:0},tickCount:0}},rotatedPadding:{left:30,right:0,top:5},withoutFadeIn:{},inputType:"",datetimeId:"",clip:{id:"",idXAxis:"",idYAxis:"",idXAxisTickTexts:"",idGrid:"",idSubchart:"",path:"",pathXAxis:"",pathYAxis:"",pathXAxisTickTexts:"",pathGrid:""},event:null,dragStart:null,dragging:!1,flowing:!1,cancelClick:!1,mouseover:!1,rendered:!1,transiting:!1,redrawing:!1,resizing:!1,toggling:!1,zooming:!1,hasNegativeValue:!1,hasPositiveValue:!0,orgAreaOpacity:"0.2",orgConfig:{},hiddenTargetIds:[],hiddenLegendIds:[],focusedTargetIds:[],defocusedTargetIds:[],radius:0,innerRadius:0,outerRadius:void 0,innerRadiusRatio:0,gaugeArcWidth:0,radiusExpanded:0,xgridAttr:{x1:null,x2:null,y1:null,y2:null}}}}const tc={element:lv,state:cv};class uv{constructor(){Object.keys(tc).forEach(e=>{this[e]=new tc[e]})}getStore(e){return this[e]}}var fv=Object.defineProperty,dv=(t,e,n)=>e in t?fv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,hv=(t,e,n)=>dv(t,typeof e!="symbol"?e+"":e,n);const Ln={bubbleBaseLength:"$baseLength",colorPattern:"__colorPattern__",dataMinMax:"$dataMinMax",dataTotalSum:"$dataTotalSum",dataTotalPerIndex:"$totalPerIndex",legendItemTextBox:"legendItemTextBox",radarPoints:"$radarPoints",radarTextWidth:"$radarTextWidth",setOverOut:"setOverOut",callOverOutForTouch:"callOverOutForTouch",textRect:"textRect"};class gv{constructor(){hv(this,"cache",{})}add(e,n,a=!1){return this.cache[e]=a?this.cloneTarget(n):n,this.cache[e]}remove(e){(ze(e)?[e]:e).forEach(n=>delete this.cache[n])}get(e,n=!1){if(n&&Array.isArray(e)){const a=[];for(let i=0,o;o=e[i];i++)o in this.cache&&a.push(this.cloneTarget(this.cache[o]));return a}else{const a=this.cache[e];return De(a)?a:null}}reset(e){const n=this;for(const a in n.cache)(e||/^\$/.test(a))&&(n.cache[a]=null)}cloneTarget(e){return{id:e.id,id_org:e.id_org,values:e.values.map(n=>({x:n.x,value:n.value,id:n.id}))}}}const oe={AREA:"area",AREA_LINE_RANGE:"area-line-range",AREA_SPLINE:"area-spline",AREA_SPLINE_RANGE:"area-spline-range",AREA_STEP:"area-step",AREA_STEP_RANGE:"area-step-range",BAR:"bar",BUBBLE:"bubble",CANDLESTICK:"candlestick",DONUT:"donut",FUNNEL:"funnel",GAUGE:"gauge",LINE:"line",PIE:"pie",POLAR:"polar",RADAR:"radar",SCATTER:"scatter",SPLINE:"spline",STEP:"step",TREEMAP:"treemap"},Fo={AREA:"initArea",AREA_LINE_RANGE:"initArea",AREA_SPLINE:"initArea",AREA_SPLINE_RANGE:"initArea",AREA_STEP:"initArea",AREA_STEP_RANGE:"initArea",BAR:"initBar",BUBBLE:"initCircle",CANDLESTICK:"initCandlestick",DONUT:"initArc",FUNNEL:"initFunnel",GAUGE:"initArc",LINE:"initLine",PIE:"initArc",POLAR:"initPolar",RADAR:"initCircle",SCATTER:"initCircle",SPLINE:"initLine",STEP:"initLine",TREEMAP:"initTreemap"},Sr={Area:[oe.AREA,oe.AREA_SPLINE,oe.AREA_SPLINE_RANGE,oe.AREA_LINE_RANGE,oe.AREA_STEP,oe.AREA_STEP_RANGE],AreaRange:[oe.AREA_SPLINE_RANGE,oe.AREA_LINE_RANGE,oe.AREA_STEP_RANGE],Arc:[oe.PIE,oe.DONUT,oe.GAUGE,oe.POLAR,oe.RADAR],Line:[oe.LINE,oe.SPLINE,oe.AREA,oe.AREA_SPLINE,oe.AREA_SPLINE_RANGE,oe.AREA_LINE_RANGE,oe.STEP,oe.AREA_STEP,oe.AREA_STEP_RANGE],Step:[oe.STEP,oe.AREA_STEP,oe.AREA_STEP_RANGE],Spline:[oe.SPLINE,oe.AREA_SPLINE,oe.AREA_SPLINE_RANGE]};function vv(t){const e=t,{config:n}=e;let a="";if(qn(n.data_type||n.data_types)&&!e[Fo.LINE])a="line";else for(const i in Fo){const o=oe[i];if(e.hasType(o)&&!e[Fo[i]]){a=o;break}}a&&pv(`Please, make sure if %c${qg(a)}`,"module has been imported and specified correctly.","https://github.com/naver/billboard.js/wiki/CHANGELOG-v2#modularization-by-its-functionality")}function pv(t,e,n){var a;const i="[billboard.js]";if((a=Ke.console)==null?void 0:a.error){const s=e?["background:red;color:white;display:block;font-size:15px",e]:[];console.error(`\u274C ${i} ${t}`,"background:red;color:white;display:block;font-size:15px",...s),n&&console.info("%c\u2139\uFE0F","font-size:15px",n)}throw Error(`${i} ${t.replace(/\%c([a-z-]+)/i,"'$1' ")} ${e!=null?e:""}`)}const{setTimeout:mv,clearTimeout:yv}=Ke;function xv(t){const e=[];let n;const a=function(){a.clear(),t===!1?jl(()=>{e.forEach(i=>i())},{timeout:200}):n=mv(()=>{e.forEach(i=>i())},he(t)?t:200)};return a.clear=()=>{n&&(yv(n),n=null)},a.add=i=>e.push(i),a.remove=i=>e.splice(e.indexOf(i),1),a}function ec(){let t=[];const e=function(n,a){function i(){var o;let s=0;for(let l=0,c;c=t[l];l++){if(c===!0||(o=c.empty)!=null&&o.call(c)){s++;continue}if(Da()===!1){s=t.length;break}try{c.transition()}catch(f){s++}}return s===t.length}Ql(()=>{a==null||a()},i)};return e.add=function(n){je(n)?t=t.concat(n):t.push(n)},e}const Bo={};function Tv(t,e){var n;const a=t.toString(),i=a.replace(/(function|[\s\W\n])/g,"").substring(0,15);return i in Bo||(Bo[i]=new Ke.Blob([`${(n=e==null?void 0:e.map(String).join(";"))!=null?n:""} + + self.onmessage=function({data}) { + const result = (${a}).apply(null, data); + self.postMessage(result); + };`],{type:"text/javascript"})),Ke.URL.createObjectURL(Bo[i])}function $v(t){const e=new Ke.Worker(t);return e.onerror=function(n){console.error?console.error(n):console.log(n)},e}function Uo(t=!0,e,n,a){let i=function(...o){const s=e(...o);n(s)};if(Ke.Worker&&t){const o=Tv(e,a),s=$v(o);i=function(...l){s.postMessage(l),s.onmessage=function(c){return Ke.URL.revokeObjectURL(o),n(c.data)}}}return i}var nc={},zo={},jo=34,La=10,Vo=13;function rc(t){return new Function("d","return {"+t.map(function(e,n){return JSON.stringify(e)+": d["+n+'] || ""'}).join(",")+"}")}function Sv(t,e){var n=rc(t);return function(a,i){return e(n(a),i,t)}}function ac(t){var e=Object.create(null),n=[];return t.forEach(function(a){for(var i in a)i in e||n.push(e[i]=i)}),n}function Nn(t,e){var n=t+"",a=n.length;return a9999?"+"+Nn(t,6):Nn(t,4)}function Ev(t){var e=t.getUTCHours(),n=t.getUTCMinutes(),a=t.getUTCSeconds(),i=t.getUTCMilliseconds();return isNaN(t)?"Invalid Date":Av(t.getUTCFullYear(),4)+"-"+Nn(t.getUTCMonth()+1,2)+"-"+Nn(t.getUTCDate(),2)+(i?"T"+Nn(e,2)+":"+Nn(n,2)+":"+Nn(a,2)+"."+Nn(i,3)+"Z":a?"T"+Nn(e,2)+":"+Nn(n,2)+":"+Nn(a,2)+"Z":n||e?"T"+Nn(e,2)+":"+Nn(n,2)+"Z":"")}function ic(t){var e=new RegExp('["'+t+` +\r]`),n=t.charCodeAt(0);function a(v,m){var S,P,N=i(v,function(L,w){if(S)return S(L,w-1);P=L,S=m?Sv(L,m):rc(L)});return N.columns=P||[],N}function i(v,m){var S=[],P=v.length,N=0,L=0,w,X=P<=0,W=!1;v.charCodeAt(P-1)===La&&--P,v.charCodeAt(P-1)===Vo&&--P;function H(){if(X)return zo;if(W)return W=!1,nc;var K,at=N,ht;if(v.charCodeAt(at)===jo){for(;N++=P?X=!0:(ht=v.charCodeAt(N++))===La?W=!0:ht===Vo&&(W=!0,v.charCodeAt(N)===La&&++N),v.slice(at+1,K-1).replace(/""/g,'"')}for(;N0){if(typeof e[s-1]=="undefined"&&(e[s-1]={}),typeof o=="undefined")throw new Error(`Source data is missing a component at (${a}, ${s})!`);e[s-1][i]=o}})}),e}function Xo(t){const e=t[0],n=[];return t.forEach(function(a,i){if(i>0){const o={};a.forEach(function(s,l){if(typeof s=="undefined")throw new Error(`Source data is missing a component at (${i}, ${l})!`);o[e[l]]=s}),n.push(o)}}),n}function oc(t,e){const n=[];let a,i;if(Array.isArray(t)){const o=function(s,l){if(s[l]!==void 0)return s[l];const f=l.replace(/\[(\w+)\]/g,".$1").replace(/^\./,"").split(".");let g=s;return f.some(function(v){return!(g=g&&v in g?g[v]:void 0)}),g};e.x?a=e.value.concat(e.x):a=e.value,n.push(a),t.forEach(function(s){const l=a.map(function(c){let f=o(s,c);return typeof f=="undefined"&&(f=null),f});n.push(l)}),i=Xo(n)}else Object.keys(t).forEach(function(o){var s;const l=t[o].concat();(s=l.unshift)==null||s.call(l,o),n.push(l)}),i=Go(n);return i}function Cv(t,e="csv",n,a,i){const o=new XMLHttpRequest,s={csv:Pv,tsv:wv,json:oc};o.open("GET",t),n&&Object.keys(n).forEach(function(l){o.setRequestHeader(l,n[l])}),o.onreadystatechange=function(){if(o.readyState===4)if(o.status===200){const l=o.responseText;l&&i.call(this,s[e](e==="json"?JSON.parse(l):l,a))}else throw new Error(`${t}: Something went wrong loading!`)},o.send()}function sc(t,e){const n=t.rows(e);let a;return n.length===1?(a=[{}],n[0].forEach(i=>{a[0][i]=null})):a=t.parse(e),a}function Pv(t){return sc({rows:Rv,parse:bv},t)}function wv(t){return sc({rows:Ov,parse:Iv},t)}function lc(t,e){const n=t||(e==null?void 0:e.data_keys);return n!=null&&n.x&&(e.data_x=n.x),n}var Mv={convertData(t,e){const{config:n}=this,a=n.boost_useWorker;let i=t;if(t.bindto&&(i={},["url","mimeType","headers","keys","json","keys","rows","columns"].forEach(o=>{const s=`data_${o}`;s in t&&(i[o]=t[s])})),i.url&&e)Cv(i.url,i.mimeType,i.headers,lc(i.keys,n),e);else if(i.json)Uo(a,oc,e,[Go,Xo])(i.json,lc(i.keys,n));else if(i.rows)Uo(a,Xo,e)(i.rows);else if(i.columns)Uo(a,Go,e)(i.columns);else if(t.bindto)throw Error("url or json or rows or columns is required.")},convertDataToTargets(t,e){const n=this,{axis:a,config:i,state:o}=n,s=i.data_type;let l=!1,c=!1,f=!1;a&&(l=a.isCategorized(),c=a.isTimeSeries(),f=a.isCustomX());const g=Object.keys(t[0]||{}),v=g.length?g.filter(n.isNotX,n):[],m=g.length?g.filter(n.isX,n):[];let S;v.forEach(N=>{const L=this.getXKey(N);f||c?m.indexOf(L)>=0?S=(e&&n.data.xs[N]||[]).concat(t.map(w=>w[L]).filter(De).map((w,X)=>n.generateTargetX(w,N,X))):i.data_x?S=this.getOtherTargetXs():cn(i.data_xs)&&(S=n.getXValuesOfXKey(L,n.data.targets)):S=t.map((w,X)=>X),S&&(this.data.xs[N]=S)}),v.forEach(N=>{if(!this.data.xs[N])throw new Error(`x is not defined for id = "${N}".`)});const P=v.map((N,L)=>{const w=i.data_idConverter.bind(n.api)(N),X=n.getXKey(N),W=f&&l,H=W&&t.map(at=>at.x).every(at=>i.axis_x_categories.indexOf(at)>-1),k=t.__append__,K=X===null&&k?n.api.data.values(N).length:0;return{id:w,id_org:N,values:t.map((at,ht)=>{const $t=at[X];let dt=at[N],st;return dt=dt!==null&&!isNaN(dt)&&!Be(dt)?+dt:je(dt)||Be(dt)?dt:null,(W||o.hasRadar)&&L===0&&!ln($t)?(!H&&L===0&&ht===0&&!k&&(i.axis_x_categories=[]),st=i.axis_x_categories.indexOf($t),st===-1&&(st=i.axis_x_categories.length,i.axis_x_categories.push($t))):st=n.generateTargetX($t,N,K+ht),(ln(dt)||n.data.xs[N].length<=ht)&&(st=void 0),{x:st,value:dt,id:w,index:-1}}).filter(at=>Qe(at.x))}});if(P.forEach(N=>{var L;i.data_xSort&&(N.values=N.values.sort((w,X)=>{const W=w.x||w.x===0?w.x:1/0,H=X.x||X.x===0?X.x:1/0;return W-H})),N.values.forEach((w,X)=>w.index=X),(L=n.data.xs[N.id])==null||L.sort((w,X)=>w-X)}),o.hasNegativeValue=n.hasNegativeValueInTargets(P),o.hasPositiveValue=n.hasPositiveValueInTargets(P),s&&n.isValidChartType(s)){const N=n.mapToIds(P).filter(L=>!(L in i.data_types)||!n.isValidChartType(i.data_types[L]));n.setTargetType(N,s)}return P.forEach(N=>n.cache.add(N.id_org,N,!0)),P}},Dv={isX(t){const e=this,{config:n}=e,a=n.data_x&&t===n.data_x,i=cn(n.data_xs)&&Qg(n.data_xs,t);return a||i},isNotX(t){return!this.isX(t)},isStackNormalized(){const{config:t}=this;return!!(t.data_stack_normalize&&t.data_groups.length)},isGrouped(t){const e=this.config.data_groups;return t?e.some(n=>n.indexOf(t)>=0&&n.length>1):e.length>0},getXKey(t){const e=this,{config:n}=e;return n.data_x?n.data_x:cn(n.data_xs)?n.data_xs[t]:null},getXValuesOfXKey(t,e){const n=this,a=e&&cn(e)?n.mapToIds(e):[];let i;return a.forEach(o=>{n.getXKey(o)===t&&(i=n.data.xs[o])}),i},getIndexByX(t,e){const n=this;return e?e.indexOf(ze(t)?t:+t):(n.filterByX(n.data.targets,t)[0]||{index:null}).index},getXValue(t,e){const n=this;return t in n.data.xs&&n.data.xs[t]&&De(n.data.xs[t][e])?n.data.xs[t][e]:e},getOtherTargetXs(){const t=this,e=Object.keys(t.data.xs);return e.length?t.data.xs[e[0]]:null},getOtherTargetX(t){const e=this.getOtherTargetXs();return e&&t{n.data_xs[a]=t[a]})},isMultipleX(){return!this.config.axis_x_forceAsSingle&&(cn(this.config.data_xs)||this.hasType("bubble")||this.hasType("scatter"))},addName(t){const e=this,{config:n}=e;let a;return t&&(a=n.data_names[t.id],t.name=a!==void 0?a:t.id),t},getAllValuesOnIndex(t,e=!1){const n=this;let a=n.filterTargetsToShow(n.data.targets).map(i=>n.addName(n.getValueOnIndex(i.values,t)));return e&&(a=a.filter(i=>i&&"value"in i&&De(i.value))),a},getValueOnIndex(t,e){const n=t.filter(a=>a.index===e);return n.length?n[0]:null},updateTargetX(t,e){const n=this;t.forEach(a=>{a.values.forEach((i,o)=>{i.x=n.generateTargetX(e[o],a.id,o)}),n.data.xs[a.id]=e})},updateTargetXs(t,e){const n=this;t.forEach(a=>{e[a.id]&&n.updateTargetX([a],e[a.id])})},generateTargetX(t,e,n){const a=this,{axis:i}=a;let o=i!=null&&i.isCategorized()?n:t||n;if(i!=null&&i.isTimeSeries()){const s=Yn.bind(a);o=s(t||a.getXValue(e,n))}else i!=null&&i.isCustomX()&&!(i!=null&&i.isCategorized())&&(o=De(t)?+t:a.getXValue(e,n));return o},updateXs(t){t.length&&(this.axis.xs=t.map(e=>e.x))},getPrevX(t){const e=this.axis.xs[t-1];return Qe(e)?e:null},getNextX(t){const e=this.axis.xs[t+1];return Qe(e)?e:null},getBaseValue(t){const e=this,{hasAxis:n}=e.state;let{value:a}=t;return a&&n&&(e.isAreaRangeType(t)?a=e.getRangedData(t,"mid"):e.isBubbleZType(t)&&(a=e.getBubbleZData(a,"y"))),a},getMinMaxValue(t){const e=this.getBaseValue.bind(this);let n,a;return(t||this.data.targets.map(i=>i.values)).forEach((i,o)=>{const s=i.map(e).filter(he);n=Math.min(o?n:1/0,...s),a=Math.max(o?a:-1/0,...s)}),{min:n,max:a}},getMinMaxData(){const t=this,e=Ln.dataMinMax;let n=t.cache.get(e);if(!n){const a=t.data.targets.map(l=>l.values),i=t.getMinMaxValue(a);let o=[],s=[];a.forEach(l=>{const c=t.getFilteredDataByValue(l,i.min),f=t.getFilteredDataByValue(l,i.max);c.length&&(o=o.concat(c)),f.length&&(s=s.concat(f))}),t.cache.add(e,n={min:o,max:s})}return n},getTotalPerIndex(){const t=this,e=Ln.dataTotalPerIndex;let n=t.cache.get(e);return(t.config.data_groups.length||t.isStackNormalized())&&!n&&(n=[],t.data.targets.forEach(a=>{a.values.forEach((i,o)=>{n[o]||(n[o]=0),n[o]+=he(i.value)?i.value:0})})),n},getTotalDataSum(t){const e=this,n=Ln.dataTotalSum;let a=e.cache.get(n);if(!he(a)){const i=Do(e.data.targets.map(o=>o.values)).map(o=>o.value);a=i.length?i.reduce((o,s)=>o+s):0,e.cache.add(n,a)}return t&&(a-=e.getHiddenTotalDataSum()),a},getHiddenTotalDataSum(){const t=this,{api:e,state:{hiddenTargetIds:n}}=t;let a=0;return n.length&&(a=e.data.values.bind(e)(n).reduce((i,o)=>i+o)),a},getFilteredDataByValue(t,e){return t.filter(n=>this.getBaseValue(n)===e)},getMaxDataCount(){return Math.max(...this.data.targets.map(t=>t.values.length),0)},getMaxDataCountTarget(){let t=this.filterTargetsToShow()||[];const e=t.length,n=this.config.axis_x_inverted;return e>1?(t=t.map(a=>a.values).reduce((a,i)=>a.concat(i)).map(a=>a.x),t=na(Mo(t)).map((a,i,o)=>({x:a,index:n?o.length-i-1:i}))):e&&(t=t[0].values.concat()),t},mapToIds(t){return t.map(e=>e.id)},mapToTargetIds(t){const e=this;return t?je(t)?t.concat():[t]:e.mapToIds(e.data.targets)},hasTarget(t,e){const n=this.mapToIds(t);for(let a=0,i;i=n[a];a++)if(i===e)return!0;return!1},isTargetToShow(t){return this.state.hiddenTargetIds.indexOf(t)<0},isLegendToShow(t){return this.state.hiddenLegendIds.indexOf(t)<0},filterTargetsToShow(t){const e=this;return(t||e.data.targets).filter(n=>e.isTargetToShow(n.id))},mapTargetsToUniqueXs(t){const e=this,{axis:n}=e;let a=[];return t!=null&&t.length&&(a=Mo(Do(t.map(i=>i.values.map(o=>+o.x)))),a=n!=null&&n.isTimeSeries()?a.map(i=>new Date(+i)):a.map(Number)),na(a)},addTargetIds(t,e){const{state:n}=this;(je(e)?e:[e]).forEach(i=>{n[t].indexOf(i)<0&&n[t].push(i)})},removeTargetIds(t,e){const{state:n}=this;(je(e)?e:[e]).forEach(i=>{const o=n[t].indexOf(i);o>=0&&n[t].splice(o,1)})},addHiddenTargetIds(t){this.addTargetIds("hiddenTargetIds",t)},removeHiddenTargetIds(t){this.removeTargetIds("hiddenTargetIds",t)},addHiddenLegendIds(t){this.addTargetIds("hiddenLegendIds",t)},removeHiddenLegendIds(t){this.removeTargetIds("hiddenLegendIds",t)},getValuesAsIdKeyed(t){const e=this,{hasAxis:n}=e.state,a={},i=e.isMultipleX(),o=i?e.mapTargetsToUniqueXs(t).map(s=>ze(s)?s:+s):null;return t.forEach(s=>{const l=[];s.values.filter(({value:c})=>De(c)||c===null).forEach(c=>{let{value:f}=c;f!==null&&e.isCandlestickType(c)&&(f=je(f)?f.slice(0,4):[f.open,f.high,f.low,f.close]),je(f)?l.push(...f):Be(f)&&"high"in f?l.push(...Object.values(f)):e.isBubbleZType(c)?l.push(n&&e.getBubbleZData(f,"y")):i?l[e.getIndexByX(c.x,o)]=f:l.push(f)}),a[s.id]=l}),a},checkValueInTargets(t,e){const n=Object.keys(t);let a;for(let i=0;i1},hasNegativeValueInTargets(t){return this.checkValueInTargets(t,e=>e<0)},hasPositiveValueInTargets(t){return this.checkValueInTargets(t,e=>e>0)},orderTargets(t){const e=this,n=[...t],a=e.getSortCompareFn();return a&&n.sort(a),n},getSortCompareFn(t=!1){const e=this,{config:n}=e,a=n.data_order,i=/asc/i.test(a),o=/desc/i.test(a);let s;if(i||o){const l=(f,g)=>f+Math.abs(g.value),c=f=>he(f)?f:"values"in f?f.values.reduce(l,0):f.value;s=(f,g)=>{const v=c(f),m=c(g);return t?i?v-m:m-v:i?m-v:v-m}}else ve(a)&&(s=a.bind(e.api));return s||null},filterByX(t,e){return Do(t.map(n=>n.values)).filter(n=>n.x-e===0)},filterRemoveNull(t){return t.filter(e=>De(this.getBaseValue(e)))},filterByXDomain(t,e){return t.map(n=>({id:n.id,id_org:n.id_org,values:n.values.filter(a=>e[0]<=a.x&&a.x<=e[1])}))},hasDataLabel(){const t=this.config.data_labels;return Co(t)&&t||nr(t)&&cn(t)},hasNullDataValue(t){return t.some(({value:e})=>e===null)},getDataIndexFromEvent(t){const e=this,{$el:n,config:a,state:{hasRadar:i,inputType:o,eventReceiver:{coords:s,rect:l}}}=e;let c;if(i){let f=t.target;/tspan/i.test(f.tagName)&&(f=f.parentNode);const g=ot(f).datum();c=g&&Object.keys(g).length===1?g.index:void 0}else{const f=a.axis_rotated,g=Zl(n.chart.node()),v=o==="touch"&&t.changedTouches?t.changedTouches[0]:t;let m=f?v.clientY+g.y:v.clientX+g.x;if(Lo(n.svg)){const S=[m,0];f&&S.reverse(),m=Ai(n.eventRect.node(),...S)[f?"y":"x"]}else m-=f?l.top:l.left;c=wo(s,m,0,s.length-1,f)}return c},getDataLabelLength(t,e,n){const a=this,i=[0,0],o=1.3;return a.$el.chart.select("svg").selectAll(".dummy").data([t,e]).enter().append("text").text(s=>a.dataLabelFormat(s.id)(s)).each(function(s,l){i[l]=this.getBoundingClientRect()[n]*o}).remove(),i},isNoneArc(t){return this.hasTarget(this.data.targets,t.id)},isArc(t){return"data"in t&&this.hasTarget(this.data.targets,t.data.id)},findSameXOfValues(t,e){const n=t[e].x,a=[];let i;for(i=e-1;i>=0&&n===t[i].x;i--)a.push(t[i]);for(i=e;in.findClosest(i.values,e));return n.findClosest(a,e)},findClosest(t,e){const n=this,{$el:{main:a}}=n,i=t.filter(l=>l&&De(l.value));let o,s;return i.filter(l=>n.isBarType(l.id)||n.isCandlestickType(l.id)).forEach(l=>{const c=n.isBarType(l.id)?`.${Kn.chartBar}.${Se.target}${n.getTargetSelectorSuffix(l.id)} .${Kn.bar}-${l.index}`:`.${cr.chartCandlestick}.${Se.target}${n.getTargetSelectorSuffix(l.id)} .${cr.candlestick}-${l.index} path`;!s&&n.isWithinBar(a.select(c).node())&&(s=l)}),i.filter(l=>!n.isBarType(l.id)&&!n.isCandlestickType(l.id)).forEach(l=>{const c=n.dist(l,e);o=n.getPointSensitivity(l),c{const{x:i,id:o}=a;n.push({x:i,id:o,value:a.value[0]}),n.push({x:i,id:o,value:a.value[2]})}),n},updateDataAttributes(t,e){const n=this,{config:a}=n,i=a[`data_${t}`];return ln(e)||(Object.keys(e).forEach(o=>{i[o]=e[o]}),n.redraw({withLegend:!0})),i},getRangedData(t,e="",n="areaRange"){const a=t==null?void 0:t.value;if(je(a)){if(n==="bar")return a.reduce((i,o)=>o-i);{const i={areaRange:["high","mid","low"],candlestick:["open","high","low","close","volume"]}[n].indexOf(e);return i>=0&&a?a[i]:void 0}}else if(a&&e)return a[e];return a},setRatioForGroupedData(t){const e=this,{config:n}=e;if(n.data_groups.length&&t.some(a=>e.isGrouped(a.id))){const a=i=>e.getRatio("index",i,!0);t.forEach(i=>{"values"in i?i.values.forEach(a):a(i)})}},getRatio(t,e,n=!1){const a=this,{config:i,state:o}=a,s=a.api;let l=0;if(e&&s.data.shown().length)if(l=e.ratio||e.value,t==="arc")if(a.pie.padAngle()())l=e.value/a.getTotalDataSum(!0);else{const c=i.gauge_fullCircle?a.getArcLength():a.getStartingAngle()*-2,f=a.hasType("gauge")?c:Math.PI*2;l=(e.endAngle-e.startAngle)/f}else if(t==="index"){const c=s.data.values.bind(s);let f=this.getTotalPerIndex();if(o.hiddenTargetIds.length){let v=c(o.hiddenTargetIds,!1);v.length&&(v=v.reduce((m,S)=>m.map((P,N)=>(he(P)?P:0)+S[N])),f=f.map((m,S)=>m-v[S]))}const g=f[e.index];e.ratio=he(e.value)&&f&&g?e.value/g:0,l=e.ratio}else if(t==="radar")l=parseFloat(String(Math.max(e.value,0)))/o.current.dataMax*i.radar_size_ratio;else if(t==="bar"){const f=a.getYScaleById.bind(a)(e.id).domain().reduce((g,v)=>v-g);l=f===0?0:Math.abs(a.getRangedData(e,null,t)/f)}else t==="treemap"&&(l/=a.getTotalDataSum(!0));return n&&l?l*100:l},updateDataIndexByX(t){const e=this,n=t.reduce((a,i,o)=>(a[Number(i.x)]=o,a),{});e.data.targets.forEach(a=>{a.values.forEach((i,o)=>{let s=n[Number(i.x)];s===void 0&&(s=o),i.index=s})})},isBubbleZType(t){return this.isBubbleType(t)&&(Be(t.value)&&("z"in t.value||"y"in t.value)||je(t.value)&&t.value.length>=2)},isBarRangeType(t){const e=this,{value:n}=t;return e.isBarType(t)&&je(n)&&n.length>=2&&n.every(a=>he(a))},getDataById(t){var e;const n=this.cache.get(t)||this.api.data(t);return(e=n==null?void 0:n[0])!=null?e:n}};function cc(t,e=!1){const n=this,{api:a}=n;e&&n.api.flush(!0),t==null||t.call(a)}var Lv={load(t,e){const n=this,{axis:a,data:i,org:o,scale:s}=n,{append:l}=e,c={domain:null,currentDomain:null,x:null};let f=t;f&&(e.filter&&(f=f.filter(e.filter)),(e.type||e.types)&&f.forEach(g=>{var v;const m=((v=e.types)==null?void 0:v[g.id])||e.type;n.setTargetType(g.id,m)}),i.targets.forEach(g=>{for(let v=0;v{const a=t.data||n;t.append&&(a.__append__=!0),a&&e.load(e.convertDataToTargets(a),t)}))},unload(t,e){var n;const a=this,{state:i,$el:o,$T:s}=a,l=!!((n=a.hasLegendDefsPoint)!=null&&n.call(a));let c=e,f=t;if(a.cache.reset(),c||(c=()=>{}),f=f.filter(v=>a.hasTarget(a.data.targets,v)),!f||f.length===0){c();return}const g=o.svg.selectAll(f.map(v=>a.selectorTarget(v)));s(g).style("opacity","0").remove().call(Si,c),f.forEach(v=>{var m;const S=a.getTargetSelectorSuffix(v);i.withoutFadeIn[v]=!1,o.legend&&o.legend.selectAll(`.${We.legendItem}${S}`).remove(),a.data.targets=a.data.targets.filter(P=>P.id!==v),l&&((m=o.defs)==null||m.select(`#${a.getDefsPointId(S)}`).remove())}),i.hasFunnel&&a.updateFunnel(a.data.targets),i.hasTreemap&&a.updateTargetsForTreemap(a.data.targets),a.updateTypesElements()}},Ri=t=>()=>t;function Ho(t,{sourceEvent:e,subject:n,target:a,identifier:i,active:o,x:s,y:l,dx:c,dy:f,dispatch:g}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:a,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:f,enumerable:!0,configurable:!0},_:{value:g}})}Ho.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function Nv(t){return!t.ctrlKey&&!t.button}function Fv(){return this.parentNode}function Bv(t,e){return e==null?{x:t.x,y:t.y}:e}function Uv(){return navigator.maxTouchPoints||"ontouchstart"in this}function uc(){var t=Nv,e=Fv,n=Bv,a=Uv,i={},o=ri("start","drag","end"),s=0,l,c,f,g,v=0;function m(H){H.on("mousedown.drag",S).filter(a).on("touchstart.drag",L).on("touchmove.drag",w,Jd).on("touchend.drag touchcancel.drag",X).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function S(H,k){if(!(g||!t.call(this,H,k))){var K=W(this,e.call(this,H,k),H,k,"mouse");K&&(ot(H.view).on("mousemove.drag",P,Sa).on("mouseup.drag",N,Sa),co(H.view),lo(H),f=!1,l=H.clientX,c=H.clientY,K("start",H))}}function P(H){if(Zr(H),!f){var k=H.clientX-l,K=H.clientY-c;f=k*k+K*K>v}i.mouse("drag",H)}function N(H){ot(H.view).on("mousemove.drag mouseup.drag",null),uo(H.view,f),Zr(H),i.mouse("end",H)}function L(H,k){if(t.call(this,H,k)){var K=H.changedTouches,at=e.call(this,H,k),ht=K.length,$t,dt;for($t=0;$ti.$el[o]).forEach(o=>{a&&i.$el[o].classed(Se.EXPANDED,!1),i.getShapeByIndex(o,e,n).classed(Se.EXPANDED,t)})},setOverOut(t,e){const n=this,{config:a,state:{hasFunnel:i,hasRadar:o,hasTreemap:s},$el:{main:l}}=n,c=Be(e);if(c||e!==-1){const f=a[t?"data_onover":"data_onout"].bind(n.api);if(a.color_onover&&n.setOverColor(t,e,c),c){const g=n.getTargetSelectorSuffix(e.id),v=i||s?`${Se.target+g} .${sn.shape}`:Ve.arc+g;f(e,l.select(`.${v}`).node())}else if(a.tooltip_grouped)t&&(o&&n.isPointFocusOnly()?n.showCircleFocus(n.getAllValuesOnIndex(e,!0)):n.setExpand(e,null,!0)),!n.isMultipleX()&&l.selectAll(`.${sn.shape}-${e}`).each(function(g){f(g,this)});else{const g=n.cache.get(Ln.setOverOut)||[],v=l.selectAll(`.${sn.shape}-${e}`).filter(function(S){return n.isWithinShape(this,S)}),m=v.filter(function(){return g.every(S=>S!==this)});if(!t||v.empty()||g.length===m.size()&&m.nodes().every((S,P)=>S!==g[P]))for(;g.length;){const S=g.pop();a.data_onout.bind(n.api)(ot(S).datum(),S)}m.each(function(){t&&(f(ot(this).datum(),this),g.push(this))}),n.cache.add(Ln.setOverOut,g)}}},callOverOutForTouch(t){const e=this,n=e.cache.get(Ln.callOverOutForTouch);(Be(t)&&n?t.id!==n.id:t!==n)&&((n||he(n))&&e.setOverOut(!1,n),(t||he(t))&&e.setOverOut(!0,t),e.cache.add(Ln.callOverOutForTouch,t))},getDraggableSelection(){const t=this,{config:e,state:n}=t;return e.interaction_enabled&&e.data_selection_draggable&&t.drag?uc().on("drag",function(a){n.event=a,t.drag(Hn(a,this))}).on("start",function(a){n.event=a,t.dragstart(Hn(a,this))}).on("end",a=>{n.event=a,t.dragend()}):()=>{}},dispatchEvent(t,e,n){var a,i,o;const s=this,{config:l,state:{eventReceiver:c,hasAxis:f,hasFunnel:g,hasRadar:v,hasTreemap:m},$el:{eventRect:S,funnel:P,radar:N,svg:L,treemap:w}}=s;let X=(o=(i=(g||m)&&c.rect||v&&N.axes.select(`.${Tn.axis}-${e} text`)||S||((a=s.getArcElementByIdOrIndex)==null?void 0:a.call(s,e)))==null?void 0:i.node)==null?void 0:o.call(i);if(X){const W=s.isMultipleX(),H=l.axis_rotated;let{width:k,left:K,top:at}=X.getBoundingClientRect();if(f&&!v&&!W){const st=c.coords[e];st?(k=st.w,K+=st.x,at+=st.y):(k=0,K=0,at=0)}let ht=K+(n?n[0]:0)+(W||H?0:k/2),$t=at+(n?n[1]:0)+(H?4:0);if(Lo(L)){const st=Ai(s.$el.eventRect.node(),ht,$t,!1);ht=st.x,$t=st.y}const dt={screenX:ht,screenY:$t,clientX:ht,clientY:$t,bubbles:v};(g||m)&&(X=(P!=null?P:w).node()),ev[/^(mouse|click)/.test(t)?"mouse":"touch"](X,t,dt)}},setDragStatus(t){this.state.dragging=t},unbindZoomEvent(){const t=this,{$el:{eventRect:e,zoomResetBtn:n}}=t;e==null||e.on(".zoom wheel.zoom .drag",null),n==null||n.on("click",null).style("display","none")},unbindAllEvents(){var t;const e=this,{$el:{arcs:n,eventRect:a,legend:i,region:o,svg:s,treemap:l},brush:c}=e,f=["wheel","click","mouseover","mousemove","mouseout","touchstart","touchmove","touchend","touchstart.eventRect","touchmove.eventRect","touchend.eventRect",".brush",".drag",".zoom","wheel.zoom","dblclick.zoom"].join(" ");[s,a,o==null?void 0:o.list,c==null?void 0:c.getSelection(),n==null?void 0:n.selectAll("path"),i==null?void 0:i.selectAll("g"),l].forEach(g=>g==null?void 0:g.on(f,null)),(t=e.unbindZoomEvent)==null||t.call(e)}},jv={categoryName(t){var e;const{axis_x_categories:n}=this.config;return(e=n==null?void 0:n[t])!=null?e:t}},Vv={generateClass(t,e){return` ${t} ${t+this.getTargetSelectorSuffix(e)}`},getClass(t,e){const n=/s$/.test(t),a=/^(area|arc|line|funnel|treemap)s?$/.test(t),i=n?"id":"index";return o=>{const s=o.data||o;return((e?this.generateClass(Ue[n?"shapes":"shape"],s[i]):"")+this.generateClass(Ue[t],s[a?"id":i])).trim()}},getChartClass(t){return e=>Ue[`chart${t}`]+this.classTarget((e.data?e.data:e).id)},generateExtraLineClass(){const e=this.config.line_classes||[],n=[];return function(a){var i;const o=a.id||((i=a.data)==null?void 0:i.id)||a;return n.indexOf(o)<0&&n.push(o),e[n.indexOf(o)%e.length]}},classRegion(t,e){return`${this.generateClass(Ue.region,e)} ${"class"in t?t.class:""}`},classTarget(t){const e=this.config.data_classes[t];let n="";return e&&(n=` ${Ue.target}-${e}`),this.generateClass(Ue.target,t)+n},classFocus(t){return this.classFocused(t)+this.classDefocused(t)},classFocused(t){return` ${this.state.focusedTargetIds.indexOf(t.id)>=0?Ue.focused:""}`},classDefocused(t){return` ${this.state.defocusedTargetIds.indexOf(t.id)>=0?Ue.defocused:""}`},getTargetSelectorSuffix(t){return(t||t===0?`-${t}`:"").replace(/[\x00-\x20\x7F-\xA0\s?!@#$%^&*()_=+,.<>'":;\[\]\/|~`{}\\]/g,"-")},selectorTarget(t,e="",n=""){const a=this.getTargetSelectorSuffix(t);return`${e}.${Ue.target+a} ${n}, ${e}.${Ue.circles+a} ${n}`},selectorTargets(t,e){const n=t||[];return n.length?n.map(a=>this.selectorTarget(a,e)):null},selectorLegend(t){return`.${Ue.legendItem+this.getTargetSelectorSuffix(t)}`},selectorLegends(t){return t!=null&&t.length?t.map(e=>this.selectorLegend(e)):null}};class fc extends Map{constructor(e,n=gc){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[a,i]of e)this.set(a,i)}get(e){return super.get(Yo(this,e))}has(e){return super.has(Yo(this,e))}set(e,n){return super.set(dc(this,e),n)}delete(e){return super.delete(hc(this,e))}}class f1 extends Set{constructor(e,n=gc){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const a of e)this.add(a)}has(e){return super.has(Yo(this,e))}add(e){return super.add(dc(this,e))}delete(e){return super.delete(hc(this,e))}}function Yo({_intern:t,_key:e},n){const a=e(n);return t.has(a)?t.get(a):n}function dc({_intern:t,_key:e},n){const a=e(n);return t.has(a)?t.get(a):(t.set(a,n),n)}function hc({_intern:t,_key:e},n){const a=e(n);return t.has(a)&&(n=t.get(a),t.delete(a)),n}function gc(t){return t!==null&&typeof t=="object"?t.valueOf():t}function ra(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}function d1(t,e){switch(arguments.length){case 0:break;case 1:{typeof t=="function"?this.interpolator(t):this.range(t);break}default:{this.domain(t),typeof e=="function"?this.interpolator(e):this.range(e);break}}return this}const vc=Symbol("implicit");function pc(){var t=new fc,e=[],n=[],a=vc;function i(o){let s=t.get(o);if(s===void 0){if(a!==vc)return a;t.set(o,s=e.push(o)-1)}return n[s%n.length]}return i.domain=function(o){if(!arguments.length)return e.slice();e=[],t=new fc;for(const s of o)t.has(s)||t.set(s,e.push(s)-1);return i},i.range=function(o){return arguments.length?(n=Array.from(o),i):n.slice()},i.unknown=function(o){return arguments.length?(a=o,i):a},i.copy=function(){return pc(e,n).unknown(a)},ra.apply(i,arguments),i}const Gv=(t,e,n)=>{const a=ot(t.cloneNode(!0));return a.attr("id",n).insert("rect",":first-child").attr("width",a.attr("width")).attr("height",a.attr("height")).style("fill",e),{id:n,node:a.node()}};function Xv(t){const e=Ln.colorPattern,{body:n}=gn;let a=n[e];if(!a){const i=";",o=t.classed(oo.colorPattern,!0).style("background-image");t.classed(oo.colorPattern,!1),o.indexOf(i)>-1&&(a=o.replace(/url[^#]*|["'()]|(\s|%20)/g,"").split(i).map(s=>s.trim().replace(/[\"'\s]/g,"")).filter(Boolean),n[e]=a)}return a}const Hv=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"];var Yv={generateColor(){const t=this,{$el:e,config:n}=t,a=n.data_colors,i=n.data_color,o=[];let s=cn(n.color_pattern)?n.color_pattern:pc(Xv(e.chart)||Hv).range();const l=s;if(ve(n.color_tiles)){const c=n.color_tiles.bind(t.api)(),f=s.map((g,v)=>{const m=g.replace(/[#\(\)\s,]/g,""),S=`${t.state.datetimeId}-pattern-${m}-${v}`;return Gv(c[v%c.length],g,S)});s=f.map(g=>`url(#${g.id})`),t.patterns=f}return function(c){var f;const g=c.id||((f=c.data)==null?void 0:f.id)||c,v=t.isTypeOf(g,["line","spline","step"])||!n.data_types[g];let m;return ve(a[g])?m=a[g].bind(t.api)(c):a[g]?m=a[g]:(o.indexOf(g)<0&&o.push(g),m=v?l[o.indexOf(g)%l.length]:s[o.indexOf(g)%s.length],a[g]=m),ve(i)?i.bind(t.api)(m,c):m}},generateLevelColor(){const t=this,{config:e}=t,n=e.color_pattern,a=e.color_threshold,i=a.unit==="value",o=a.max||100,s=a.values&&a.values.length?a.values:[];return cn(a)?function(l){const c=i?l:l*100/o;let f=n[n.length-1];for(let g=0,v=s.length;g{const l=`${i.datetimeId}-labels-bg${n.getTargetSelectorSuffix(s)}${ze(t)?n.getTargetSelectorSuffix(t):""}`;a.defs.append("filter").attr("x",e.x).attr("y",e.y).attr("width",e.width).attr("height",e.height).attr("id",l).html(` + `)})}},getGradienColortUrl(t){return`url(#${this.state.datetimeId}-gradient${this.getTargetSelectorSuffix(t)})`},updateLinearGradient(){const t=this,{config:e,data:{targets:n},state:{datetimeId:a},$el:{defs:i}}=t;n.forEach(o=>{const s=`${a}-gradient${t.getTargetSelectorSuffix(o.id)}`,l=t.hasPointType()&&e.point_radialGradient,c=t.isAreaType(o)&&"area"||t.isBarType(o)&&"bar";if((l||c)&&i.select(`#${s}`).empty()){const f=t.color(o),g={defs:null,stops:[]};if(l){const{cx:v=.3,cy:m=.3,r:S=.7,stops:P=[[.1,f,0],[.9,f,1]]}=l;g.stops=P,g.defs=i.append("radialGradient").attr("id",`${s}`).attr("cx",v).attr("cy",m).attr("r",S)}else{const v=e.axis_rotated,{x:m=v?[1,0]:[0,0],y:S=v?[0,0]:[0,1],stops:P=[[0,f,1],[1,f,0]]}=e[`${c}_linearGradient`];g.stops=P,g.defs=i.append("linearGradient").attr("id",`${s}`).attr("x1",m[0]).attr("x2",m[1]).attr("y1",S[0]).attr("y2",S[1])}g.stops.forEach(v=>{const[m,S,P]=v,N=ve(S)?S.bind(t.api)(o.id):S;g.defs&&g.defs.append("stop").attr("offset",m).attr("stop-color",N||f).attr("stop-opacity",P)})}})},setOverColor(t,e){const n=this,{config:a,$el:{main:i}}=n,o=a.color_onover;let s=t?o:n.color;Be(s)?s=({id:l})=>l in o?o[l]:n.color(l):ze(s)?s=()=>o:ve(o)&&(s=s.bind(n.api)),i.selectAll(Be(e)?`.${Ve.arc}${n.getTargetSelectorSuffix(e.id)}`:`.${sn.shape}-${e}`).style("fill",s)}},Wv={getYDomainMinMax(t,e){const n=this,{axis:a,config:i}=n,o=e==="min",s=i.data_groups,l=n.mapToIds(t),c=n.getValuesAsIdKeyed(t);if(s.length>0){const f=n[`has${o?"Negative":"Positive"}ValueInTargets`](t);s.forEach(g=>{const v=g.filter(m=>l.indexOf(m)>=0);if(v.length){const m=v[0],S=a.getId(m);f&&c[m]&&(c[m]=c[m].map(P=>(o?P<0:P>0)?P:0)),v.filter((P,N)=>N>0).forEach(P=>{if(c[P]){const N=a.getId(P);c[P].forEach((L,w)=>{const X=+L,W=o?X>0:X<0;N===S&&!(f&&W)&&(c[m][w]+=X)})}})}})}return _n(e,Object.keys(c).map(f=>_n(e,c[f])))},isHiddenTargetWithYDomain(t){const e=this;return e.state.hiddenTargetIds.some(n=>e.axis.getId(n)===t)},getYDomain(t,e,n){const a=this,{axis:i,config:o,scale:s}=a,l=`axis_${e}`;if(a.isStackNormalized())return[0,100];const c=(s==null?void 0:s[e])&&s[e].type==="log",f=t.filter(dt=>i.getId(dt.id)===e),g=n?a.filterByXDomain(f,n):f;if(g.length===0)return a.isHiddenTargetWithYDomain(e)?s[e].domain():e==="y2"?s.y.domain():a.getYDomain(t,"y2",n);const v=o[`${l}_min`],m=o[`${l}_max`],S=o[`${l}_center`],P=o[`${l}_inverted`],N=a.hasDataLabel()&&o.axis_rotated,L=a.hasDataLabel()&&!o.axis_rotated;let w=a.getYDomainMinMax(g,"min"),X=a.getYDomainMinMax(g,"max"),W=[oe.BAR,oe.BUBBLE,oe.SCATTER,...Sr.Line].some(dt=>{const st=dt.indexOf("area")>-1?"area":dt;return a.hasType(dt,g,!0)&&o[`${st}_zerobased`]});w=De(v)?v:De(m)?w<=m?w:m-10:w,X=De(m)?m:De(v)?v<=X?X:v+10:X,isNaN(w)&&(w=0),isNaN(X)&&(X=w),w===X&&(w<0?X=0:w=0);const H=w>=0&&X>=0,k=w<=0&&X<=0;(De(v)&&H||De(m)&&k)&&(W=!1),W&&(H&&(w=0),k&&(X=0));const K=Math.abs(X-w);let at={top:K*.1,bottom:K*.1};if(Qe(S)){const dt=Math.max(Math.abs(w),Math.abs(X));X=S+dt,w=S-dt}if(N){const dt=Dr(s.y.range()),st=a.getDataLabelLength(w,X,"width").map(Vt=>Vt/dt);["bottom","top"].forEach((Vt,vt)=>{at[Vt]+=K*(st[vt]/(1-st[0]-st[1]))})}else if(L){const dt=a.getDataLabelLength(w,X,"height");["bottom","top"].forEach((st,Vt)=>{at[st]+=a.convertPixelToScale("y",dt[Vt],K)})}at=a.getResettedPadding(at);const ht=o[`${l}_padding`];cn(ht)&&["bottom","top"].forEach(dt=>{at[dt]=i.getPadding(ht,dt,at[dt],K)}),W&&(H&&(at.bottom=w),k&&(at.top=-X));const $t=c?[w,X].map(dt=>dt<0?0:dt):[w-at.bottom,X+at.top];return P?$t.reverse():$t},getXDomainMinMax(t,e){var n;const a=this,i=a.config[`axis_x_${e}`],o=_n(e,t.map(l=>_n(e,l.values.map(c=>c.x))));let s=Be(i)?i.value:i;return s=Qe(s)&&((n=a.axis)!=null&&n.isTimeSeries())?Yn.bind(this)(s):s,Be(i)&&i.fit&&(e==="min"&&so)&&(s=void 0),Qe(s)?s:o},getXDomainPadding(t,e){const n=this,{axis:a,config:i}=n,o=i.axis_x_padding,s=a.isTimeSeries()&&e,l=Dr(t);let c;if(a.isCategorized()||s)c=0;else if(n.hasType("bar")){const v=n.getMaxDataCount();c=v>1?l/(v-1)/2:.5}else c=n.getResettedPadding(l*.01);let{left:f=c,right:g=c}=he(o)?{left:o,right:o}:o;if(o.unit==="px"){const v=Math.abs(l+l*.2);f=a.getPadding(o,"left",c,v),g=a.getPadding(o,"right",c,v)}else{const v=l+f+g;if(s&&v){const m=l/e/v;f=f/v/m,g=g/v/m}}return{left:f,right:g}},getXDomain(t){const e=this,{axis:n,config:a,scale:{x:i}}=e,o=a.axis_x_inverted,s=[e.getXDomainMinMax(t,"min"),e.getXDomainMinMax(t,"max")];let[l=0,c=0]=s;if(i.type!=="log"){const f=n.isCategorized(),g=n.isTimeSeries(),v=e.getXDomainPadding(s);let[m,S]=s;m-S===0&&!f&&(g?(m=new Date(m.getTime()*.5),S=new Date(S.getTime()*1.5)):(m=m===0?1:m*.5,S=S===0?-1:S*1.5)),(m||m===0)&&(l=g?new Date(m.getTime()-v.left):m-v.left),(S||S===0)&&(c=g?new Date(S.getTime()+v.right):S+v.right)}return o?[c,l]:[l,c]},updateXDomain(t,e,n,a,i){var o;const s=this,{config:l,org:c,scale:{x:f,subX:g}}=s,v=l.zoom_enabled;if(n&&(f.domain(i||na(s.getXDomain(t),!l.axis_x_inverted)),c.xDomain=f.domain(),g.domain(f.domain()),(o=s.brush)==null||o.scale(g)),e){const m=i||!s.brush||Kl(s)?c.xDomain:Wl(s).map(g.invert);f.domain(m)}return(n||e)&&v&&s.zoom.updateScaleExtent(),a&&f.domain(s.trimXDomain(f.orgDomain())),f.domain()},trimXDomain(t){const e=this,n=e.config.axis_x_inverted,a=e.getZoomDomain(),[i,o]=a;return(n?t[0]>=i:t[0]<=i)&&(t[1]=+t[1]+(i-t[0]),t[0]=i),(n?t[1]<=o:t[1]>=o)&&(t[0]=+t[0]-(t[1]-o),t[1]=o),t},getZoomDomain(t="zoom",e=!1){const n=this,{config:a,scale:i,org:o}=n;let[s,l]=e&&i[t]?i[t].domain():o.xDomain;return t==="zoom"&&(Qe(a.zoom_x_min)&&(s=_n("min",[s,a.zoom_x_min])),Qe(a.zoom_x_max)&&(l=_n("max",[l,a.zoom_x_max]))),[s,l]},getZoomDomainValue(t){const e=this,{config:n,axis:a}=e;if(a.isCategorized()&&Array.isArray(t)){const i=n.axis_x_inverted;return t.map((s,l)=>Number(s)+(l===0?+i:+!i))}return t},convertPixelToScale(t,e,n){const a=this,{config:i,state:o}=a,s=i.axis_rotated;let l;return t==="x"?l=s?"height":"width":l=s?"width":"height",n*(e/o[l])},withinRange(t,e=[0,0],n){const i=this.config.axis_x_inverted,[o,s]=n;if(Array.isArray(t)){const l=[...t];if(i&&l.reverse(),l[0](f===0?i?+c<=o:+c>=o:i?+c>=s:+c<=s)&&!t.every((g,v)=>g===e[v]))}return!1}};function mc(t,e,n){const{config:a}=t,i=`axis_${e}_tick_format`;return(a[i]?a[i]:t.defaultValueFormat).call(t.api,n)}var Kv={yFormat(t){return mc(this,"y",t)},y2Format(t){return mc(this,"y2",t)},getDefaultValueFormat(){const t=this,{defaultArcValueFormat:e,yFormat:n,y2Format:a}=t,i=t.hasArcType(null,["gauge","polar","radar"]);return function(o,s,l){return(i?e:t.axis&&t.axis.getId(l)==="y2"?a:n).call(t,o,s)}},defaultValueFormat(t){return je(t)?t.join("~"):De(t)?+t:""},defaultArcValueFormat(t,e){return`${(e*100).toFixed(1)}%`},defaultPolarValueFormat(t){return`${t}`},dataLabelFormat(t){const e=this,n=e.config.data_labels,a=o=>{const s="~";let l=o;return je(o)?l=o.join(s):Be(o)&&(l=Object.values(o).join(s)),l};let i=a;return ve(n.format)?i=n.format:nr(n.format)&&(n.format[t]?i=n.format[t]===!0?a:n.format[t]:i=()=>""),i.bind(e.api)}};function Ii(t){const e=this,n=e.getDataById(t);return e.levelColor?e.levelColor(n.values[0].value):e.color(n)}function Wo(t,e=!0){var n;const{config:a}=this;let i=(n=a.data_names[t])!=null?n:t;return e&&ve(a.legend_format)&&(i=a.legend_format(i,t!==i?t:void 0)),i}var Zv={initLegend(){const t=this,{config:e,$el:n}=t;t.legendItemTextBox={},t.state.legendHasRendered=!1,e.legend_show?(e.legend_contents_bindto||(n.legend=t.$el.svg.append("g").classed(We.legend,!0).attr("transform",t.getTranslate("legend"))),t.updateLegend()):t.state.hiddenLegendIds=t.mapToIds(t.data.targets)},updateLegend(t,e,n){var a;const i=this,{config:o,state:s,scale:l,$el:c}=i,f=e||{withTransform:!1,withTransitionForTransform:!1,withTransition:!1};f.withTransition=$r(f,"withTransition",!0),f.withTransitionForTransform=$r(f,"withTransitionForTransform",!0),o.legend_contents_bindto&&o.legend_contents_template?i.updateLegendTemplate():s.hasTreemap||i.updateLegendElement(t||i.mapToIds(i.data.targets),f,n),(a=c.legend)==null||a.selectAll(`.${We.legendItem}`).classed(We.legendItemHidden,function(g){const v=!i.isTargetToShow(g);return v&&(this.style.opacity=null),v}),i.updateScales(!1,!l.zoom),i.updateSvgSize(),i.transformAll(f.withTransitionForTransform,n),s.legendHasRendered=!0},updateLegendTemplate(){const t=this,{config:e,$el:n}=t,a=ot(e.legend_contents_bindto),i=e.legend_contents_template;if(!a.empty()){const o=t.mapToIds(t.data.targets),s=[];let l="";o.forEach(f=>{const g=ve(i)?i.bind(t.api)(f,t.color(f),t.api.data(f)[0].values):bi(i,{COLOR:t.color(f),TITLE:f});g&&(s.push(f),l+=g)});const c=a.html(l).selectAll(function(){return this.childNodes}).data(s);t.setLegendItem(c),n.legend=a}},updateSizeForLegend(t){const e=this,{config:n,state:{isLegendTop:a,isLegendLeft:i,isLegendRight:o,isLegendInset:s,current:l}}=e,{width:c,height:f}=t,g={top:a?e.getCurrentPaddingByDirection("top")+n.legend_inset_y+5.5:l.height-f-e.getCurrentPaddingByDirection("bottom")-n.legend_inset_y,left:i?e.getCurrentPaddingByDirection("left")+n.legend_inset_x+.5:l.width-c-e.getCurrentPaddingByDirection("right")-n.legend_inset_x+.5};e.state.margin3={top:o?0:s?g.top:l.height-f,right:NaN,bottom:0,left:o?l.width-c:s?g.left:0}},transformLegend(t){const e=this,{$el:{legend:n},$T:a}=e;a(n,t).attr("transform",e.getTranslate("legend"))},updateLegendStep(t){this.state.legendStep=t},updateLegendItemWidth(t){this.state.legendItemWidth=t},updateLegendItemHeight(t){this.state.legendItemHeight=t},updateLegendItemColor(t,e){const{legend:n}=this.$el;n&&n.select(`.${We.legendItem}-${t} line`).style("stroke",e)},getLegendWidth(){const t=this,{current:{width:e},isLegendRight:n,isLegendInset:a,legendItemWidth:i,legendStep:o}=t.state;return t.config.legend_show?n||a?i*(o+1):e:0},getLegendHeight(){var t;const e=this,{current:n,isLegendRight:a,legendItemHeight:i,legendStep:o}=e.state,s=((t=e.config.padding)==null?void 0:t.mode)==="fit";return e.config.legend_show?a?n.height:Math.max(s?10:20,i)*(o+1):0},opacityForUnfocusedLegend(t){return t.classed(We.legendItemHidden)?null:"0.3"},toggleFocusLegend(t,e){const n=this,{$el:{legend:a},$T:i}=n,o=n.mapToTargetIds(t);a&&i(a.selectAll(`.${We.legendItem}`).filter(s=>o.indexOf(s)>=0).classed(qe.legendItemFocused,e)).style("opacity",function(){return e?null:n.opacityForUnfocusedLegend.call(n,ot(this))})},revertLegend(){const t=this,{$el:{legend:e},$T:n}=t;e&&n(e.selectAll(`.${We.legendItem}`).classed(qe.legendItemFocused,!1)).style("opacity",null)},showLegend(t){const e=this,{config:n,$el:a,$T:i}=e;n.legend_show||(n.legend_show=!0,a.legend?a.legend.style("visibility",null):e.initLegend(),!e.state.legendHasRendered&&e.updateLegend()),e.removeHiddenLegendIds(t),i(a.legend.selectAll(e.selectorLegends(t)).style("visibility",null)).style("opacity",null)},hideLegend(t){const e=this,{config:n,$el:{legend:a}}=e;n.legend_show&&qn(t)&&(n.legend_show=!1,a.style("visibility","hidden")),e.addHiddenLegendIds(t),a.selectAll(e.selectorLegends(t)).style("opacity","0").style("visibility","hidden")},getLegendItemTextBox(t,e){const n=this,{cache:a,state:i}=n;let o;const s=Ln.legendItemTextBox;return t&&(o=!i.redrawing&&a.get(s)||{},o[t]||(o[t]=n.getTextRect(e,We.legendItem),a.add(s,o)),o=o[t]),o},setLegendItem(t){const e=this,{$el:n,api:a,config:i,state:o}=e,s=o.inputType==="touch",l=e.hasType("gauge"),c=i.boost_useCssRule,f=i.legend_item_interaction;t.attr("class",function(g){const v=ot(this);return(!v.empty()&&v.attr("class")||"")+e.generateClass(We.legendItem,g)}).style("visibility",g=>e.isLegendToShow(g)?null:"hidden"),i.interaction_enabled&&(c&&[[`.${We.legendItem}`,"cursor:pointer"],[`.${We.legendItem} text`,"pointer-events:none"],[`.${We.legendItemPoint} text`,"pointer-events:none"],[`.${We.legendItemTile}`,"pointer-events:none"],[`.${We.legendItemEvent}`,"fill-opacity:0"]].forEach(g=>{const[v,m]=g;e.setCssRule(!1,v,[m])(n.legend)}),t.on(f.dblclick?"dblclick":"click",f||ve(i.legend_item_onclick)?function(g,v){if(!_e(i.legend_item_onclick,a,v,!o.hiddenTargetIds.includes(v))){const{altKey:m,target:S,type:P}=g;P==="dblclick"||m?o.hiddenTargetIds.length&&S.parentNode.getAttribute("class").indexOf(We.legendItemHidden)===-1?a.show():(a.hide(),a.show(v)):(a.toggle(v),ot(this).classed(qe.legendItemFocused,!1))}s&&e.hideTooltip()}:null),!s&&t.on("mouseout",f||ve(i.legend_item_onout)?function(g,v){_e(i.legend_item_onout,a,v,!o.hiddenTargetIds.includes(v))||(ot(this).classed(qe.legendItemFocused,!1),l&&e.undoMarkOverlapped(e,`.${Un.gaugeValue}`),e.api.revert())}:null).on("mouseover",f||ve(i.legend_item_onover)?function(g,v){_e(i.legend_item_onover,a,v,!o.hiddenTargetIds.includes(v))||(ot(this).classed(qe.legendItemFocused,!0),l&&e.markOverlapped(v,e,`.${Un.gaugeValue}`),!o.transiting&&e.isTargetToShow(v)&&a.focus(v))}:null),!t.empty()&&t.on("click mouseout mouseover")&&t.style("cursor",e.getStylePropValue("pointer")))},updateLegendElement(t,e){const n=this,{config:a,state:i,$el:{legend:o},$T:s}=n,c=a.legend_item_tile_type!=="circle",f=a.legend_item_tile_r,g={width:c?a.legend_item_tile_width:f*2,height:c?a.legend_item_tile_height:f*2},v={padding:{top:4,right:10},max:{width:0,height:0},posMin:10,step:0,tileWidth:g.width+5,totalLength:0},m={offsets:{},widths:{},heights:{},margins:[0],steps:{}};let S,P,N;const L=t.filter(K=>!Qe(a.data_names[K])||a.data_names[K]!==null),w=e.withTransition,X=n.getUpdateLegendPositions(L,v,m);i.isLegendInset&&(v.step=a.legend_inset_step?a.legend_inset_step:L.length,n.updateLegendStep(v.step)),i.isLegendRight?(S=K=>v.max.width*m.steps[K],P=K=>m.margins[m.steps[K]]+m.offsets[K]):i.isLegendInset?(S=K=>v.max.width*m.steps[K]+10,P=K=>m.margins[m.steps[K]]+m.offsets[K]):(S=K=>m.margins[m.steps[K]]+m.offsets[K],P=K=>v.max.height*m.steps[K]);const W={xText:(K,at)=>S(K,at)+4+g.width,xRect:(K,at)=>S(K,at),x1Tile:(K,at)=>S(K,at)-2,x2Tile:(K,at)=>S(K,at)-2+g.width,yText:(K,at)=>P(K,at)+9,yRect:(K,at)=>P(K,at)-5,yTile:(K,at)=>P(K,at)+4};n.generateLegendItem(L,g,X,W),N=o.select(`.${We.legendBackground} rect`),i.isLegendInset&&v.max.width>0&&N.size()===0&&(N=o.insert("g",`.${We.legendItem}`).attr("class",We.legendBackground).append("rect")),a.legend_tooltip&&o.selectAll("title").data(L).text(K=>Wo.bind(n)(K,!1));const H=o.selectAll("text").data(L).text(K=>Wo.bind(n)(K)).each(function(K,at){X(this,K,at)});s(H,w).attr("x",W.xText).attr("y",W.yText);const k=o.selectAll(`rect.${We.legendItemEvent}`).data(L);s(k,w).attr("width",K=>m.widths[K]).attr("height",K=>m.heights[K]).attr("x",W.xRect).attr("y",W.yRect),n.updateLegendItemPos(L,w,W),N&&s(N,w).attr("height",n.getLegendHeight()-12).attr("width",v.max.width*(v.step+1)+10),n.updateLegendItemWidth(v.max.width),n.updateLegendItemHeight(v.max.height),n.updateLegendStep(v.step)},getUpdateLegendPositions(t,e,n){const a=this,{config:i,state:o}=a,s=o.isLegendRight||o.isLegendInset;return function(l,c,f){const g=f===0,v=f===t.length-1,m=a.getLegendItemTextBox(c,l),S=m.width+e.tileWidth+(v&&!s?0:e.padding.right)+i.legend_padding,P=m.height+e.padding.top,N=s?P:S,L=s?a.getLegendHeight():a.getLegendWidth();let w;const X=function(H,k){k||(w=(L-e.totalLength-N)/2,w=e.max.width)&&(e.max.width=S),(!e.max.height||P>=e.max.height)&&(e.max.height=P);const W=s?e.max.height:e.max.width;i.legend_equally?(Object.keys(n.widths).forEach(H=>n.widths[H]=e.max.width),Object.keys(n.heights).forEach(H=>n.heights[H]=e.max.height),w=(L-W*t.length)/2,wX(H))):X(c,!0)):X(c)}},generateLegendItem(t,e,n,a){const i=this,{config:o,state:s,$el:{legend:l}}=i,c=o.legend_usePoint,f=o.legend_item_tile_r,g=o.legend_item_tile_type,v=g!=="circle",m=s.isLegendRight||s.isLegendInset,S=-200,P=l.selectAll(`.${We.legendItem}`).data(t).enter().append("g");if(i.setLegendItem(P),o.legend_tooltip&&P.append("title").text(N=>N),P.append("text").text(N=>Wo.bind(i)(N)).each(function(N,L){n(this,N,L)}).style("pointer-events",i.getStylePropValue("none")).attr("x",m?a.xText:S).attr("y",m?S:a.yText),P.append("rect").attr("class",We.legendItemEvent).style("fill-opacity",i.getStylePropValue("0")).attr("x",m?a.xRect:S).attr("y",m?S:a.yRect),c){const N=[];P.append(L=>{const w=cn(o.point_pattern)?o.point_pattern:[o.point_type];N.indexOf(L)===-1&&N.push(L);let X=w[N.indexOf(L)%w.length];return X==="rectangle"&&(X="rect"),gn.createElementNS(ae.svg,"hasValidPointType"in i&&i.hasValidPointType(X)?X:"use")}).attr("class",We.legendItemPoint).style("fill",Ii.bind(i)).style("pointer-events",i.getStylePropValue("none")).attr("href",(L,w,X)=>{const H=X[w].nodeName.toLowerCase(),k=i.getTargetSelectorSuffix(L);return H==="use"?`#${s.datetimeId}-point${k}`:void 0})}else P.append(v?"line":g).attr("class",We.legendItemTile).style("stroke",Ii.bind(i)).style("pointer-events",i.getStylePropValue("none")).call(N=>{g==="circle"?N.attr("r",f).style("fill",Ii.bind(i)).attr("cx",m?a.x2Tile:S).attr("cy",m?S:a.yTile):v&&N.attr("stroke-width",e.height).attr("x1",m?a.x1Tile:S).attr("y1",m?S:a.yTile).attr("x2",m?a.x2Tile:S).attr("y2",m?S:a.yTile)})},updateLegendItemPos(t,e,n){const a=this,{config:i,$el:{legend:o},$T:s}=a,l=i.legend_usePoint,c=i.legend_item_tile_type,f=c!=="circle";if(l){const g=o.selectAll(`.${We.legendItemPoint}`).data(t);s(g,e).each(function(){const v=this.nodeName.toLowerCase(),m=i.point_r;let S="x",P="y",N=2,L=2.5,w=null,X=null,W=null;if(v==="circle"){const H=m*.2;S="cx",P="cy",w=m+H,N=m*2,L=-H}else if(v==="rect"){const H=m*2.5;X=H,W=H,L=3}ot(this).attr(S,H=>n.x1Tile(H)+N).attr(P,H=>n.yTile(H)-L).attr("r",w).attr("width",X).attr("height",W)})}else{const g=o.selectAll(`.${We.legendItemTile}`).data(t);s(g,e).style("stroke",Ii.bind(a)).call(v=>{c==="circle"?v.attr("cx",m=>{const S=n.x2Tile(m);return S-(S-n.x1Tile(m))/2}).attr("cy",n.yTile):f&&v.attr("x1",n.x1Tile).attr("y1",n.yTile).attr("x2",n.x2Tile).attr("y2",n.yTile)})}}},Jv={redraw(t={}){var e,n,a,i;const o=this,{config:s,state:l,$el:c}=o,{main:f,treemap:g}=c;l.redrawing=!0;const v=o.filterTargetsToShow(o.data.targets),{flow:m,initializing:S}=t,P=o.getWithOption(t),N=P.Transition?s.transition_duration:0,L=P.TransitionForExit?N:0,w=P.TransitionForAxis?N:0,X=(e=o.axis)==null?void 0:e.generateTransitions(w);o.updateSizes(S),P.Legend&&s.legend_show?(t.withTransition=!!N,!g&&o.updateLegend(o.mapToIds(o.data.targets),t,X)):P.Dimension&&o.updateDimension(!0),s.data_empty_label_text&&f.select(`text.${On.text}.${Se.empty}`).attr("x",l.width/2).attr("y",l.height/2).text(s.data_empty_label_text).style("display",v.length?"none":null),l.hasAxis?(o.axis.redrawAxis(v,P,X,m,S),o.hasGrid()&&o.updateGrid(),s.regions.length&&o.updateRegion(),["bar","candlestick","line","area"].forEach(W=>{const H=Cn(W);(/^(line|area)$/.test(W)&&o.hasTypeOf(H)||o.hasType(W))&&o[`update${H}`](P.TransitionForExit)}),c.text&&f.selectAll(`.${tn.selectedCircles}`).filter(o.isBarType.bind(o)).selectAll("circle").remove(),s.interaction_enabled&&!m&&P.EventRect&&(o.redrawEventRect(),(n=o.bindZoomEvent)==null||n.call(o))):(c.arcs&&o.redrawArc(N,L,P.Transform),c.radar&&o.redrawRadar(),c.polar&&o.redrawPolar(),c.funnel&&o.redrawFunnel(),g&&o.updateTreemap(L)),!l.resizing&&!g&&(o.hasPointType()||l.hasRadar)?o.updateCircle():(a=o.hasLegendDefsPoint)!=null&&a.call(o)&&o.data.targets.forEach(o.point("create",this)),o.hasDataLabel()&&!o.hasArcType(null,["radar"])&&o.updateText(),(i=o.redrawTitle)==null||i.call(o),S&&o.updateTypesElements(),o.generateRedrawList(v,m,N,P.Subchart),o.updateTooltipOnRedraw(),o.callPluginHook("$redraw",t,N)},generateRedrawList(t,e,n,a){const i=this,{config:o,state:s}=i,l=i.getDrawShape();s.hasAxis&&o.subchart_show&&i.redrawSubchart(a,n,l);const c=e&&i.generateFlow({targets:t,flow:e,duration:e.duration,shape:l,xv:i.xv.bind(i)}),f=(n||c)&&Da(),g=i.getRedrawList(l,e,c,f),v=()=>{c&&c(),s.redrawing=!1,_e(o.onrendered,i.api)};if(v)if(f&&g.length){const m=ec();Ml().duration(n).each(()=>{g.reduce((S,P)=>S.concat(P),[]).forEach(S=>m.add(S))}).call(m,v)}else s.transiting||v();i.mapToIds(i.data.targets).forEach(m=>{s.withoutFadeIn[m]=!0})},getRedrawList(t,e,n,a){const i=this,{config:o,state:{hasAxis:s,hasRadar:l,hasTreemap:c},$el:{grid:f}}=i,{cx:g,cy:v,xForText:m,yForText:S}=t.pos,P=[];return s&&((o.grid_x_lines.length||o.grid_y_lines.length)&&P.push(i.redrawGrid(a)),o.regions.length&&P.push(i.redrawRegion(a)),Object.keys(t.type).forEach(N=>{const L=Cn(N),w=t.type[N];(/^(area|line)$/.test(N)&&i.hasTypeOf(L)||i.hasType(N))&&P.push(i[`redraw${L}`](w,a))}),!e&&f.main&&P.push(i.updateGridFocus())),(!i.hasArcType()||l)&&cn(o.data_labels)&&o.data_labels!==!1&&P.push(i.redrawText(m,S,e,a)),(i.hasPointType()||l)&&!i.isPointFocusOnly()&&i.redrawCircle&&P.push(i.redrawCircle(g,v,a,n)),c&&P.push(i.redrawTreemap(a)),P},updateAndRedraw(t={}){const e=this,{config:n,state:a}=e;let i;t.withTransition=$r(t,"withTransition",!0),t.withTransform=$r(t,"withTransform",!1),t.withLegend=$r(t,"withLegend",!1),t.withUpdateXDomain=!0,t.withUpdateOrgXDomain=!0,t.withTransitionForExit=!1,t.withTransitionForTransform=$r(t,"withTransitionForTransform",t.withTransition),t.withLegend&&n.legend_show||(a.hasAxis&&(i=e.axis.generateTransitions(t.withTransitionForAxis?n.transition_duration:0)),e.updateScales(),e.updateSvgSize(),e.transformAll(t.withTransitionForTransform,i)),e.redraw(t,i)}};const Qv=Math.sqrt(50),kv=Math.sqrt(10),qv=Math.sqrt(2);function Oi(t,e,n){const a=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(a)),o=a/Math.pow(10,i),s=o>=Qv?10:o>=kv?5:o>=qv?2:1;let l,c,f;return i<0?(f=Math.pow(10,-i)/s,l=Math.round(t*f),c=Math.round(e*f),l/fe&&--c,f=-f):(f=Math.pow(10,i)*s,l=Math.round(t/f),c=Math.round(e/f),l*fe&&--c),c0))return[];if(t===e)return[t];const a=e=i))return[];const l=o-i+1,c=new Array(l);if(a)if(s<0)for(let f=0;fe?1:t>=e?0:NaN}function _v(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function Qo(t){let e,n,a;t.length!==2?(e=Ci,n=(l,c)=>Ci(t(l),c),a=(l,c)=>t(l)-c):(e=t===Ci||t===_v?t:tp,n=t,a=t);function i(l,c,f=0,g=l.length){if(f>>1;n(l[v],c)<0?f=v+1:g=v}while(f>>1;n(l[v],c)<=0?f=v+1:g=v}while(ff&&a(l[v-1],c)>-a(l[v],c)?v-1:v}return{left:i,center:s,right:o}}function tp(){return 0}function ep(t){return t===null?NaN:+t}function*h1(t,e){if(e===void 0)for(let n of t)n!=null&&(n=+n)>=n&&(yield n);else{let n=-1;for(let a of t)(a=e(a,++n,t))!=null&&(a=+a)>=a&&(yield a)}}const yc=Qo(Ci),np=yc.right,g1=yc.left,v1=Qo(ep).center;var rp=np;function ap(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}function ip(t){return function(){return t}}function op(t){return+t}var xc=[0,1];function aa(t){return t}function ko(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:ip(isNaN(e)?NaN:.5)}function sp(t,e){var n;return t>e&&(n=t,t=e,e=n),function(a){return Math.max(t,Math.min(e,a))}}function lp(t,e,n){var a=t[0],i=t[1],o=e[0],s=e[1];return i2?cp:lp,c=f=null,v}function v(m){return m==null||isNaN(m=+m)?o:(c||(c=l(t.map(a),e,n)))(a(s(m)))}return v.invert=function(m){return s(i((f||(f=l(e,t.map(a),Qn)))(m)))},v.domain=function(m){return arguments.length?(t=Array.from(m,op),g()):t.slice()},v.range=function(m){return arguments.length?(e=Array.from(m),g()):e.slice()},v.rangeRound=function(m){return e=Array.from(m),n=ap,g()},v.clamp=function(m){return arguments.length?(s=m?!0:aa,g()):s!==aa},v.interpolate=function(m){return arguments.length?(n=m,g()):n},v.unknown=function(m){return arguments.length?(o=m,v):o},function(m,S){return a=m,i=S,g()}}function Tc(){return qo()(aa,aa)}var up=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Na(t){if(!(e=up.exec(t)))throw new Error("invalid format: "+t);var e;return new _o({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}Na.prototype=_o.prototype;function _o(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}_o.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function fp(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function wi(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,a=t.slice(0,n);return[a.length>1?a[0]+a.slice(2):a,+t.slice(n+1)]}function ia(t){return t=wi(Math.abs(t)),t?t[1]:NaN}function dp(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(ia(e)/3)))*3-ia(Math.abs(t)))}function hp(t,e){return function(n,a){for(var i=n.length,o=[],s=0,l=t[0],c=0;i>0&&l>0&&(c+l+1>a&&(l=Math.max(1,a-c)),o.push(n.substring(i-=l,i+l)),!((c+=l+1)>a));)l=t[s=(s+1)%t.length];return o.reverse().join(e)}}function gp(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}function vp(t){t:for(var e=t.length,n=1,a=-1,i;n0&&(a=0);break}return a>0?t.slice(0,a)+t.slice(i+1):t}var $c;function pp(t,e){var n=wi(t,e);if(!n)return t+"";var a=n[0],i=n[1],o=i-($c=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=a.length;return o===s?a:o>s?a+new Array(o-s+1).join("0"):o>0?a.slice(0,o)+"."+a.slice(o):"0."+new Array(1-o).join("0")+wi(t,Math.max(0,e+o-1))[0]}function Sc(t,e){var n=wi(t,e);if(!n)return t+"";var a=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+a:a.length>i+1?a.slice(0,i+1)+"."+a.slice(i+1):a+new Array(i-a.length+2).join("0")}var Ac={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:fp,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>Sc(t*100,e),r:Sc,s:pp,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function Ec(t){return t}var bc=Array.prototype.map,Rc=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function mp(t){var e=t.grouping===void 0||t.thousands===void 0?Ec:hp(bc.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",a=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",o=t.numerals===void 0?Ec:gp(bc.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"\u2212":t.minus+"",c=t.nan===void 0?"NaN":t.nan+"";function f(v){v=Na(v);var m=v.fill,S=v.align,P=v.sign,N=v.symbol,L=v.zero,w=v.width,X=v.comma,W=v.precision,H=v.trim,k=v.type;k==="n"?(X=!0,k="g"):Ac[k]||(W===void 0&&(W=12),H=!0,k="g"),(L||m==="0"&&S==="=")&&(L=!0,m="0",S="=");var K=N==="$"?n:N==="#"&&/[boxX]/.test(k)?"0"+k.toLowerCase():"",at=N==="$"?a:/[%p]/.test(k)?s:"",ht=Ac[k],$t=/[defgprs%]/.test(k);W=W===void 0?6:/[gprs]/.test(k)?Math.max(1,Math.min(21,W)):Math.max(0,Math.min(20,W));function dt(st){var Vt=K,vt=at,Q,St,ct;if(k==="c")vt=ht(st)+vt,st="";else{st=+st;var At=st<0||1/st<0;if(st=isNaN(st)?c:ht(Math.abs(st),W),H&&(st=vp(st)),At&&+st==0&&P!=="+"&&(At=!1),Vt=(At?P==="("?P:l:P==="-"||P==="("?"":P)+Vt,vt=(k==="s"?Rc[8+$c/3]:"")+vt+(At&&P==="("?")":""),$t){for(Q=-1,St=st.length;++Qct||ct>57){vt=(ct===46?i+st.slice(Q+1):st.slice(Q))+vt,st=st.slice(0,Q);break}}}X&&!L&&(st=e(st,1/0));var Gt=Vt.length+st.length+vt.length,Bt=Gt>1)+Vt+st+vt+Bt.slice(Gt);break;default:st=Bt+Vt+st+vt;break}return o(st)}return dt.toString=function(){return v+""},dt}function g(v,m){var S=f((v=Na(v),v.type="f",v)),P=Math.max(-8,Math.min(8,Math.floor(ia(m)/3)))*3,N=Math.pow(10,-P),L=Rc[8+P/3];return function(w){return S(N*w)+L}}return{format:f,formatPrefix:g}}var Mi,ts,Ic;yp({thousands:",",grouping:[3],currency:["$",""]});function yp(t){return Mi=mp(t),ts=Mi.format,Ic=Mi.formatPrefix,Mi}function xp(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,ia(e)-ia(t))+1}function Tp(t){return Math.max(0,-ia(Math.abs(t)))}function $p(t,e,n,a){var i=Jo(t,e,n),o;switch(a=Na(a==null?",f":a),a.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return a.precision==null&&!isNaN(o=dp(i,s))&&(a.precision=o),Ic(a,s)}case"":case"e":case"g":case"p":case"r":{a.precision==null&&!isNaN(o=xp(i,Math.max(Math.abs(t),Math.abs(e))))&&(a.precision=o-(a.type==="e"));break}case"f":case"%":{a.precision==null&&!isNaN(o=Tp(i))&&(a.precision=o-(a.type==="%")*2);break}}return ts(a)}function Oc(t){var e=t.domain;return t.ticks=function(n){var a=e();return Ko(a[0],a[a.length-1],n==null?10:n)},t.tickFormat=function(n,a){var i=e();return $p(i[0],i[i.length-1],n==null?10:n,a)},t.nice=function(n){n==null&&(n=10);var a=e(),i=0,o=a.length-1,s=a[i],l=a[o],c,f,g=10;for(l0;){if(f=Zo(s,l,n),f===c)return a[i]=s,a[o]=l,e(a);if(f>0)s=Math.floor(s/f)*f,l=Math.ceil(l/f)*f;else if(f<0)s=Math.ceil(s*f)/f,l=Math.floor(l*f)/f;else break;c=f}return t},t}function Di(){var t=Tc();return t.copy=function(){return Pi(t,Di())},ra.apply(t,arguments),Oc(t)}function Cc(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function Pc(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function Sp(t){var e=1,n=t(Cc(e),Pc(e));return n.constant=function(a){return arguments.length?t(Cc(e=+a),Pc(e)):e},Oc(n)}function wc(){var t=Sp(qo());return t.copy=function(){return Pi(t,wc()).constant(t.constant())},ra.apply(t,arguments)}function Mc(t,e){t=t.slice();var n=0,a=t.length-1,i=t[n],o=t[a],s;return oMath.pow(t,e)}function Ip(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function Nc(t){return(e,n)=>-t(-e,n)}function Op(t){const e=t(Dc,Lc),n=e.domain;let a=10,i,o;function s(){return i=Ip(a),o=Rp(a),n()[0]<0?(i=Nc(i),o=Nc(o),t(Ap,Ep)):t(Dc,Lc),e}return e.base=function(l){return arguments.length?(a=+l,s()):a},e.domain=function(l){return arguments.length?(n(l),s()):n()},e.ticks=l=>{const c=n();let f=c[0],g=c[c.length-1];const v=g0){for(;m<=S;++m)for(P=1;Pg)break;w.push(N)}}else for(;m<=S;++m)for(P=a-1;P>=1;--P)if(N=m>0?P/o(-m):P*o(m),!(Ng)break;w.push(N)}w.length*2{if(l==null&&(l=10),c==null&&(c=a===10?"s":","),typeof c!="function"&&(!(a%1)&&(c=Na(c)).precision==null&&(c.trim=!0),c=ts(c)),l===1/0)return c;const f=Math.max(1,a*l/e.ticks().length);return g=>{let v=g/o(Math.round(i(g)));return v*an(Mc(n(),{floor:l=>o(Math.floor(i(l))),ceil:l=>o(Math.ceil(i(l)))})),e}function Fc(){const t=Op(qo()).domain([1,10]);return t.copy=()=>Pi(t,Fc()).base(t.base()),ra.apply(t,arguments),t}const Li=en(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Li.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?en(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Li);const p1=Li.range,Ur=en(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*Gn)},(t,e)=>(e-t)/Gn,t=>t.getUTCSeconds()),m1=Ur.range,es=en(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Gn)},(t,e)=>{t.setTime(+t+e*In)},(t,e)=>(e-t)/In,t=>t.getMinutes()),y1=es.range,ns=en(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*In)},(t,e)=>(e-t)/In,t=>t.getUTCMinutes()),x1=ns.range,rs=en(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Gn-t.getMinutes()*In)},(t,e)=>{t.setTime(+t+e*Bn)},(t,e)=>(e-t)/Bn,t=>t.getHours()),T1=rs.range,as=en(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*Bn)},(t,e)=>(e-t)/Bn,t=>t.getUTCHours()),$1=as.range,is=en(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),S1=is.range,os=en(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),A1=os.range;function Bc(t,e,n,a,i,o){const s=[[Ur,1,Gn],[Ur,5,5*Gn],[Ur,15,15*Gn],[Ur,30,30*Gn],[o,1,In],[o,5,5*In],[o,15,15*In],[o,30,30*In],[i,1,Bn],[i,3,3*Bn],[i,6,6*Bn],[i,12,12*Bn],[a,1,or],[a,2,2*or],[n,1,to],[e,1,Ps],[e,3,3*Ps],[t,1,eo]];function l(f,g,v){const m=gL).right(s,m);if(S===s.length)return t.every(Jo(f/eo,g/eo,v));if(S===0)return Li.every(Math.max(Jo(f,g,v),1));const[P,N]=s[m/s[S-1][2]n.axis.x.tickOffset()),i=n.config.axis_x_inverted,o=function(s){return t(s)+a()};for(const s in t)o[s]=t[s];return o.orgDomain=()=>t.domain(),o.orgScale=()=>t,n.axis.isCategorized()&&(o.domain=function(s){let l=s;return arguments.length?(t.domain(l),o):(l=this.orgDomain(),i?[l[0]+1,l[1]]:[l[0],l[1]+1])}),o},updateScales(t,e=!0){var n,a;const i=this,{axis:o,config:s,format:l,org:c,scale:f,state:{current:g,width:v,height:m,width2:S,height2:P,hasAxis:N,hasTreemap:L}}=i;if(N){const w=s.axis_rotated,X=i.getResettedPadding(1),W={x:w?X:0,y:w?0:m,subX:w?1:0,subY:w?0:P},H={x:w?m:v,y:w?v:X,subX:w?m:v,subY:w?S:1},k=e&&((n=f.x)==null?void 0:n.orgDomain()),K=e&&c.xDomain;f.x=i.getXScale(W.x,H.x,k,()=>o.x.tickOffset()),f.subX=i.getXScale(W.x,H.x,K,at=>{var ht;return at%1?0:((ht=o.subX)!=null?ht:o.x).tickOffset()}),l.xAxisTick=o.getXAxisTickFormat(),l.subXAxisTick=o.getXAxisTickFormat(!0),o.setAxis("x",f.x,s.axis_x_tick_outer,t),s.subchart_show&&o.setAxis("subX",f.subX,s.axis_x_tick_outer,t),f.y=i.getYScale("y",W.y,H.y,f.y?f.y.domain():s.axis_y_default),f.subY=i.getYScale("y",W.subY,H.subY,f.subY?f.subY.domain():s.axis_y_default),o.setAxis("y",f.y,s.axis_y_tick_outer,t),s.axis_y2_show&&(f.y2=i.getYScale("y2",W.y,H.y,f.y2?f.y2.domain():s.axis_y2_default),f.subY2=i.getYScale("y2",W.subY,H.subY,f.subY2?f.subY2.domain():s.axis_y2_default),o.setAxis("y2",f.y2,s.axis_y2_tick_outer,t))}else if(L){const w=i.getCurrentPadding();f.x=Di().rangeRound([w.left,g.width-w.right]),f.y=Di().rangeRound([w.top,g.height-w.bottom])}else(a=i.updateArc)==null||a.call(i)},xx(t){const e=this,{config:n,scale:{x:a,zoom:i}}=e,o=n.zoom_enabled&&i?i:a;return t?o(De(t.x)?t.x:t):null},xv(t){const e=this,{axis:n,config:a,scale:{x:i,zoom:o}}=e,s=a.zoom_enabled&&o?o:i;let l=e.getBaseValue(t);return n.isTimeSeries()?l=Yn.call(e,l):n.isCategorized()&&ze(l)&&(l=a.axis_x_categories.indexOf(l)),s(l)},yv(t){const e=this,{scale:{y:n,y2:a}}=e;return(t.axis&&t.axis==="y2"?a:n)(e.getBaseValue(t))},subxx(t){return t?this.scale.subX(t.x):null}},Up={setContainerSize(){const t=this,{state:e}=t;e.current.width=t.getCurrentWidth(),e.current.height=t.getCurrentHeight()},getCurrentWidth(){const t=this;return t.config.size_width||t.getParentWidth()},getCurrentHeight(){const t=this,{config:e}=t,n=e.size_height||t.getParentHeight();return n>0?n:320/(t.hasType("gauge")&&!e.gauge_fullCircle?2:1)},getParentRectValue(t){const e=`offset${Cn(t)}`;let n=this.$el.chart.node(),a=0;for(;a<30&&n&&n.tagName!=="BODY";){try{a=n.getBoundingClientRect()[t]}catch(o){e in n&&(a=n[e])}n=n.parentNode}const i=gn.body[e];return a>i&&(a=i),a},getParentWidth(){return this.getParentRectValue("width")},getParentHeight(){const t=this.$el.chart.style("height");let e=0;return t&&(e=/px$/.test(t)?parseInt(t,10):this.getParentRectValue("height")),e},getSvgLeft(t){const e=this,{config:n,state:{hasAxis:a},$el:i}=e,o=n.axis_rotated,s=o||!o&&!n.axis_y_inner,l=o?Tn.axisX:Tn.axisY,c=i.main.select(`.${l}`).node(),f=a&&n[`axis_${o?"x":"y"}_label`];let g=0;if(a&&(ze(f)||ze(f.text)||/^inner-/.test(f==null?void 0:f.position))){const N=i.main.select(`.${l}-label`);N.empty()||(g=N.node().getBoundingClientRect().left)}const v=c&&s?c.getBoundingClientRect():{right:0},m=i.chart.node().getBoundingClientRect().left+g,S=e.hasArcType(),P=v.right-m-(S?0:e.getCurrentPaddingByDirection("left",t));return P>0?P:0},updateDimension(t){var e;const n=this,{config:a,state:{hasAxis:i},$el:o}=n;i&&!t&&n.axis.x&&a.axis_rotated&&((e=n.axis.subX)==null||e.create(o.axis.subX)),n.updateScales(t),n.updateSvgSize(),n.transformAll(!1)},updateSvgSize(){const t=this,{config:e,state:{clip:n,current:a,hasAxis:i,width:o,height:s},$el:{svg:l}}=t;if(e.resize_auto==="viewBox"?l.attr("viewBox",`0 0 ${a.width} ${a.height}`):l.attr("width",a.width).attr("height",a.height),i){const c=l.select(`.${ks.brush} .overlay`),f={width:0,height:0};c.size()&&(f.width=+c.attr("width"),f.height=+c.attr("height")),l.selectAll([`#${n.id}`,`#${n.idGrid}`]).select("rect").attr("width",o).attr("height",s),l.select(`#${n.idXAxis}`).select("rect").call(t.setXAxisClipPath.bind(t)),l.select(`#${n.idYAxis}`).select("rect").call(t.setYAxisClipPath.bind(t)),n.idSubchart&&l.select(`#${n.idSubchart}`).select("rect").attr("width",o).attr("height",f.height)}},getCurrentPaddingByDirection(t,e=!1,n=!1){var a;const i=this,{config:o,$el:s,state:{hasAxis:l}}=i,c=o.axis_rotated,f=((a=o.padding)==null?void 0:a.mode)==="fit",g=he(o[`padding_${t}`])?o[`padding_${t}`]:void 0,v=l?{top:c?"y2":null,bottom:c?"y":"x",left:c?"x":"y",right:c?null:"y2"}[t]:null,m=/^(left|right)$/.test(t),S=v&&o[`axis_${v}_inner`],P=v&&o[`axis_${v}_show`],N=v?o[`axis_${v}_axes`].length:0;let L=v?m?i.getAxisWidthByAxisId(v,e):i.getHorizontalAxisHeight(v):0;const w=20;let X=0;!f&&m&&(L=Jg(L));let W=l&&m&&(S||ln(g)&&!P)?0:f?(P?L:0)+(g!=null?g:0):ln(g)?L:g;return m&&l?(v&&(f||S)&&o[`axis_${v}_label`].text&&(W+=i.axis.getAxisLabelPosition(v).isOuter?w:0),t==="right"?(W+=c?!f&&ln(g)?10:2:!P||S?f?2:1:0,W+=n?i.axis.getXAxisTickTextY2Overflow(w):0):t==="left"&&c&&ln(g)&&(W=o.axis_x_show?f?L:Math.max(L,40):1)):t==="top"?(s.title&&s.title.node()&&(W+=i.getTitlePadding()),X=c&&!S?N:0):t==="bottom"&&l&&c&&!P&&(W+=1),W+L*N-X},getCurrentPadding(t=!1){const e=this,[n,a,i,o]=["top","bottom","left","right"].map(s=>e.getCurrentPaddingByDirection(s,null,t));return{top:n,bottom:a,left:i,right:o}},getResettedPadding(t){const e=this,{config:n}=e,a=he(t);let i=a?0:{};return n.padding===!1?!a&&Object.keys(t).forEach(o=>{i[o]=!qn(n.data_labels)&&n.data_labels!==!1&&o==="top"?t[o]:0}):i=t,i},updateSizes(t){var e,n,a,i,o;const s=this,{config:l,state:c,$el:{legend:f}}=s,g=l.axis_rotated,v=s.hasArcType()||c.hasFunnel||c.hasTreemap,m=((e=l.padding)==null?void 0:e.mode)==="fit";!t&&s.setContainerSize();const S={width:f?s.getLegendWidth():0,height:f?s.getLegendHeight():0};!v&&l.axis_x_show&&l.axis_x_tick_autorotate&&s.updateXAxisTickClip();const P={right:l.legend_show&&c.isLegendRight?s.getLegendWidth()+(m?0:20):0,bottom:!l.legend_show||c.isLegendRight||c.isLegendInset?0:S.height},N=g||v?0:s.getHorizontalAxisHeight("x"),L=l.subchart_axis_x_show&&l.subchart_axis_x_tick_text_show?N:30,w=l.subchart_show&&!v?l.subchart_size_height+L:0,X=s.hasType("gauge")&&l.arc_needle_show&&!l.gauge_fullCircle&&!l.gauge_label_show?10:0,W=s.getCurrentPadding(!0);if(c.margin=!v&&g?{top:W.top,right:v?0:W.right+P.right,bottom:P.bottom+W.bottom,left:w+(v?0:W.left)}:{top:(m?0:4)+W.top,right:v?0:W.right+P.right,bottom:X+w+P.bottom+W.bottom,left:v?0:W.left},c.margin=s.getResettedPadding(c.margin),c.margin2=g?{top:c.margin.top,right:NaN,bottom:20+P.bottom,left:s.state.rotatedPadding.left}:{top:c.current.height-w-P.bottom,right:NaN,bottom:L+P.bottom,left:c.margin.left},c.margin3={top:0,right:NaN,bottom:0,left:0},(n=s.updateSizeForLegend)==null||n.call(s,S),c.width=c.current.width-c.margin.left-c.margin.right,c.height=c.current.height-c.margin.top-c.margin.bottom,c.width<0&&(c.width=0),c.height<0&&(c.height=0),c.width2=g?c.margin.left-c.rotatedPadding.left-c.rotatedPadding.right:c.width,c.height2=g?c.height:c.current.height-c.margin2.top-c.margin2.bottom,c.width2<0&&(c.width2=0),c.height2<0&&(c.height2=0),s.hasArcType()){const H=s.hasType("gauge"),k=l.legend_show&&c.isLegendRight,K=(a=c.hasRadar&&s.cache.get(Ln.radarTextWidth))!=null?a:0;c.arcWidth=c.width-(k?S.width+10:0)-K,c.arcHeight=c.height-(k&&!H?0:10),(i=l.arc_rangeText_values)!=null&&i.length&&(H?(c.arcWidth-=25,c.arcHeight-=10,c.margin.left+=10):(c.arcHeight-=20,c.margin.top+=10)),H&&!l.gauge_fullCircle&&(c.arcHeight+=c.height-s.getPaddingBottomForGauge()),(o=s.updateRadius)==null||o.call(s)}c.isLegendRight&&v&&(c.margin3.left=c.arcWidth/2+c.radiusExpanded*1.1)}},zp={setCssRule(t,e,n,a){const i=this,{config:o,state:{cssRule:s,style:l}}=i;return o.boost_useCssRule?c=>{c.each(f=>{const g=a&&(a==null?void 0:a.call(i,f)),v=`${t?`.${sn.shapes+i.getTargetSelectorSuffix(f.id)}`:""}${e}`;e in s&&l.sheet.deleteRule(s[v]),i.state.cssRule[v]=_g(l,v,n.filter(Boolean).map(m=>ze(g)&&m.indexOf(":")===-1?`${m}: ${g}`:m||""))})}:()=>{}},getStylePropValue(t){const{config:{boost_useCssRule:e}}=this;return e?null:ve(t)?t.bind(this):t}};function Uc(t){return typeof t=="string"?new Ie([document.querySelectorAll(t)],[document.documentElement]):new Ie([T(t)],_t)}function jp(t){let e="middle";return t>0&&t<=170?e="end":t>190&&t<=360&&(e="start"),e}function Vp(t,e,n,a,i){var o;const s=this,{value:l}=t,c=s.isCandlestickType(t),f=he(l)&&l<0||c&&!((o=s.getCandlestickData(t))!=null&&o._isUp);let{x:g,y:v}=e;const m=4,S=m*2;return a?n==="start"?(g+=f?0:S,v+=m):n==="middle"?(g+=S,v-=S):n==="end"&&(f&&(g-=S),v+=m):(n==="start"?(g+=m,f&&(v+=S*2)):n==="middle"?v-=S:n==="end"&&(g-=m,f&&(v+=S*2)),i&&(v+=f?-17:c?13:7)),{x:g,y:v}}function zc(t,e){var n;const a=this.config.data_labels_position,{id:i,index:o,value:s}=t;return(n=ve(a)?a.bind(this.api)(e,s,i,o,this.$el.text):(i in a?a[i]:a)[e])!=null?n:0}var Gp={opacityForText(t){const e=this;return e.isBarType(t)&&!e.meetsLabelThreshold(Math.abs(e.getRatio("bar",t)),"bar")?"0":e.hasDataLabel?null:"0"},initText(){const{$el:t}=this;t.main.select(`.${Se.chart}`).append("g").attr("class",On.chartTexts).style("pointer-events",t.funnel||t.treemap?"none":null)},updateTargetsForText(t){const e=this,n=e.getChartClass("Text"),a=e.getClass("texts","id"),i=e.classFocus.bind(e);e.$el.main.select(`.${On.chartTexts}`).selectAll(`.${On.chartText}`).data(t).attr("class",l=>`${n(l)}${i(l)}`.trim()).enter().append("g").style("opacity","0").attr("class",n).call(e.setCssRule(!0,` .${On.text}`,["fill","pointer-events:none"],e.updateTextColor)).append("g").attr("class",a)},updateText(){const t=this,{$el:e,$T:n,config:a,axis:i}=t,o=t.getClass("text","index"),s=a.data_labels.centered,l=e.main.selectAll(`.${On.texts}`).selectAll(`.${On.text}`).data(t.labelishData.bind(t));n(l.exit()).style("fill-opacity","0").remove(),e.text=l.enter().append("text").merge(l).attr("class",o).attr("text-anchor",c=>{let g=a[`axis_${i==null?void 0:i.getId(c.id)}_inverted`]?c.value>0:c.value<0;if(t.isCandlestickType(c)){const v=t.getCandlestickData(c);g=!(v!=null&&v._isUp)}else if(t.isTreemapType(c))return s?"middle":"start";return a.axis_rotated?g?"end":"start":"middle"}).style("fill",t.getStylePropValue(t.updateTextColor)).style("fill-opacity","0").each(function(c,f,g){const v=ot(this);let{value:m}=c;if(t.isBubbleZType(c))m=t.getBubbleZData(m,"z");else if(t.isCandlestickType(c)){const S=t.getCandlestickData(c);S&&(m=S.close)}m=t.isTreemapType(c)?t.treemapDataLabelFormat(c)(v):t.dataLabelFormat(c.id)(m,c.id,c.index,g),he(m)?this.textContent=m:wa(v,m)})},updateTextColor(t){const e=this,{config:n}=e,a=n.data_labels_colors,i=e.isArcType(t)&&!e.isRadarType(t)||e.isFunnelType(t)||e.isTreemapType(t)?null:e.color(t);let o;if(ze(a))o=a;else if(Be(a)){const{id:s}=t.data||t;o=a[s]}else ve(a)&&(o=a.bind(e.api)(i,t));if(e.isCandlestickType(t)&&!ve(a)){const s=e.getCandlestickData(t);if(!(s!=null&&s._isUp)){const l=n.candlestick_color_down;o=Be(l)?l[t.id]:l}}return o||i},updateTextBGColor(t,e){const n=this,{$el:a}=n;let i="";if(ze(e)||Be(e)){const o=ze(e)?"":n.getTargetSelectorSuffix("id"in t?t.id:t.data.id),s=a.defs.select(["filter[id*='labels-bg","']"].join(o));s.size()&&(i=`url(#${s.attr("id")})`)}return i||null},redrawText(t,e,n,a){const i=this,{$T:o,axis:s,config:l,state:{hasTreemap:c}}=i,f=gr(!0),g=l.axis_rotated,v=l.data_labels.rotate,m=jp(v),S=v?`rotate(${v})`:"";return i.$el.text.style("fill",i.getStylePropValue(i.updateTextColor)).attr("filter",P=>i.updateTextBGColor.bind(i)(P,l.data_labels_backgroundColors)).style("fill-opacity",n?0:i.opacityForText.bind(i)).each(function(P,N){const L=o(c&&this.childElementCount?this.parentNode:this,!!(a&&this.getAttribute("x")),f),w=l[`axis_${s==null?void 0:s.getId(P.id)}_inverted`];let X={x:t.bind(this)(P,N),y:e.bind(this)(P,N)};v&&(X=Vp.bind(i)(P,X,m,g,w),L.attr("text-anchor",m)),this.childElementCount||v?L.attr("transform",`translate(${X.x} ${X.y}) ${S}`):L.attr("x",X.x).attr("y",X.y)}),!0},getTextRect(t,e){const n=this;let a=t.node?t.node():t;/text/i.test(a.tagName)||(a=a.querySelector("text"));const i=a.textContent,o=`${Ln.textRect}-${i.replace(/\W/g,"_")}`;let s=n.cache.get(o);return s||(n.$el.svg.append("text").style("visibility","hidden").style("font",ot(a).style("font")).classed(e,!0).text(i).call(l=>{s=Ma(l.node())}).remove(),n.cache.add(o,s)),s},generateXYForText(t,e){const n=this,{state:{hasRadar:a,hasFunnel:i,hasTreemap:o}}=n,s=Object.keys(t),l={},c=e?n.getXForText:n.getYForText;return i&&s.push("funnel"),a&&s.push("radar"),o&&s.push("treemap"),s.forEach(f=>{l[f]=n[`generateGet${Cn(f)}Points`](t[f],!1)}),function(f,g){const v=n.isAreaType(f)&&"area"||n.isBarType(f)&&"bar"||n.isCandlestickType(f)&&"candlestick"||n.isFunnelType(f)&&"funnel"||n.isRadarType(f)&&"radar"||n.isTreemapType(f)&&"treemap"||"line";return c.call(n,l[v](f,g),f,this)}},getCenteredTextPos(t,e,n,a){const i=this,{config:o}=i,s=o.axis_rotated,l=i.isBarType(t),c=i.isTreemapType(t);if(o.data_labels.centered&&(l||c)){const f=Ma(n);if(l){const g=i.getRangedData(t,null,"bar")>=0;if(s){const v=(g?e[1][1]-e[0][1]:e[0][1]-e[1][1])/2+f.width/2;return g?-v-3:v+2}else{const v=(g?e[0][1]-e[1][1]:e[1][1]-e[0][1])/2+f.height/2;return g?v:-v-2}}else if(c)return a==="x"?(e[1][0]-e[0][0])/2:(e[1][1]-e[0][1])/2+f.height/2}return 0},getXForText(t,e,n){var a;const i=this,{config:o}=i,s=o.axis_rotated,l=i.isFunnelType(e),c=i.isTreemapType(e);let f=t?t[0][0]:0;if(i.isCandlestickType(e))s?f=(a=i.getCandlestickData(e))!=null&&a._isUp?t[2][2]+4:t[2][1]-4:f+=(t[1][0]-f)/2;else if(l)f+=i.state.current.width/2;else if(c)f+=o.data_labels.centered?0:5;else if(s){const g=o[`axis_${i.axis.getId(e.id)}_inverted`],v=i.isBarType(e)?4:6,m=e.value;f=t[2][1],g?f-=v*(m>0?1:-1):f+=v*(m<0?-1:1)}else f=i.hasType("bar")?(t[2][0]+t[0][0])/2:f;return(s||c)&&(f+=i.getCenteredTextPos(e,t,n,"x")),f+zc.call(this,e,"x")},getYForText(t,e,n){const a=this,{axis:i,config:o,state:s}=a,l=o.axis_rotated,c=o[`axis_${i==null?void 0:i.getId(e.id)}_inverted`],f=a.isBarType(e),g=a.isFunnelType(e),v=a.isTreemapType(e),m=o.point_r,S=Ma(n);let{value:P}=e,N=3,L;if(a.isCandlestickType(e))P=a.getCandlestickData(e),l?(L=t[0][0],L+=(t[1][0]-L)/2+N):(L=P&&P._isUp?t[2][2]-N:t[2][1]+N*4,c&&(L+=15*(P._isUp?1:-1)));else if(g)L=t?t[0][1]+(t[1][1]-t[0][1])/2+S.height/2-3:0;else if(v)L=t[0][1]+(o.data_labels.centered?0:S.height+5);else if(l)L=(t[0][0]+t[2][0]+S.height*.6)/2;else if(L=t[2][1],he(m)&&m>5&&(a.isLineType(e)||a.isScatterType(e))&&(N+=o.point_r/2.3),P<0||P===0&&!s.hasPositiveValue&&s.hasNegativeValue)L+=c?f?-3:-5:S.height+(f?-N:N);else{let w=-N*2;f?w=-N:a.isBubbleType(e)&&(w=N),c&&(w=f?10:15),L+=w}return(!l||v)&&(L+=a.getCenteredTextPos(e,t,n,"y")),L+zc.call(this,e,"y")},markOverlapped(t,e,n){const a=e.$el.arcs.selectAll(n),i=a.filter(c=>c.data.id!==t),o=a.filter(c=>c.data.id===t),s=Jl(o.node()),l=(c,f)=>Math.sqrt(Math.pow(c,2)+Math.pow(f,2));o.node()&&i.each(function(){const c=Jl(this),f=ot(this),g=l(s.e,s.f)>l(c.e,c.f)?o:f,v=Math.ceil(Math.abs(s.e-c.e))=i}};function jc(t="left",e){const n=he(e);let a;return t.indexOf("center")>-1?a=n?e/2:"middle":t.indexOf("right")>-1?a=n?e:"end":a=n?0:"start",a}var Xp={initTitle(){const t=this,{config:e,$el:n}=t;if(e.title_text){n.title=n.svg.append("g");const a=n.title.append("text").style("text-anchor",jc(e.title_position)).attr("class",On.title);wa(a,e.title_text,[.3,1.5])}},redrawTitle(){const t=this,{config:e,state:{current:n},$el:{title:a}}=t;if(a){const i=jc(e.title_position,n.width),o=(e.title_padding.top||0)+t.getTextRect(t.$el.title,On.title).height;a.attr("transform",`translate(${i}, ${o})`)}},getTitlePadding(){const t=this,{$el:{title:e},config:n}=t;return(n.title_padding.top||0)+(e?t.getTextRect(e,On.title).height:0)+(n.title_padding.bottom||0)}},Hp={initTooltip(){const t=this,{config:e,$el:n}=t;n.tooltip=ot(e.tooltip_contents.bindto),n.tooltip.empty()&&(n.tooltip=n.chart.append("div").attr("class",ei.tooltipContainer).style("position","absolute").style("pointer-events","none").style("display","none")),t.bindTooltipResizePos()},initShowTooltip(){var t;const e=this,{config:n,$el:a,state:{hasAxis:i,hasRadar:o}}=e;if(n.tooltip_init_show){const s=!(i||o);(t=e.axis)!=null&&t.isTimeSeries()&&ze(n.tooltip_init_x)&&(n.tooltip_init_x=Yn.call(e,n.tooltip_init_x)),e.api.tooltip.show({data:{[s?"index":"x"]:n.tooltip_init_x}});const l=n.tooltip_init_position;if(!n.tooltip_contents.bindto&&!qn(l)){const{top:c=0,left:f=50}=l;a.tooltip.style("top",ze(c)?c:`${c}px`).style("left",ze(f)?f:`${f}px`).style("display",null)}}},getTooltipHTML(...t){const e=this,{api:n,config:a}=e;return ve(a.tooltip_contents)?a.tooltip_contents.bind(n)(...t):e.getTooltipContent(...t)},getTooltipContent(t,e,n,a){var i;const o=this,{api:s,config:l,state:c,$el:f}=o,[g,v,m]=["title","name","value"].map(vt=>{const Q=l[`tooltip_format_${vt}`];return ve(Q)?Q.bind(s):Q}),S=(...vt)=>Po((g||e)(...vt)),P=(...vt)=>Po((v||(Q=>Q))(...vt)),N=(...vt)=>{const Q=m||(c.hasTreemap||o.isStackNormalized()?(St,ct)=>`${(ct*100).toFixed(2)}%`:n);return Po(Q(...vt))},L=l.tooltip_order,w=vt=>o.axis&&o.isBubbleZType(vt)?o.getBubbleZData(vt.value,"z"):o.getBaseValue(vt),X=o.levelColor?vt=>o.levelColor(vt.value):vt=>a(vt),W=l.tooltip_contents,H=W.template,k=o.mapToTargetIds();if(L===null&&l.data_groups.length){const vt=o.orderTargets(o.data.targets).map(Q=>Q.id).reverse();t.sort((Q,St)=>{let ct=Q?Q.value:null,At=St?St.value:null;return ct>0&&At>0&&(ct=Q.id?vt.indexOf(Q.id):null,At=St.id?vt.indexOf(St.id):null),ct-At})}else if(/^(asc|desc)$/.test(L)){const vt=L==="asc";t.sort((Q,St)=>{const ct=Q?w(Q):null,At=St?w(St):null;return vt?ct-At:At-ct})}else ve(L)&&t.sort(L.bind(s));const K=o.getTooltipContentTemplate(H),at=t.length;let ht,$t,dt,st,Vt;for(Vt=0;Vt${vt}`:""})}if(!$t.ratio&&f.arcs&&(dt=["arc",o.$el.arcs.select(`path.${Ve.arc}-${$t.id}`).data()[0]],$t.ratio=o.getRatio(...dt)),dt=[$t.ratio,$t.id,$t.index],o.isAreaRangeType($t)){const[vt,Q]=["high","low"].map(ct=>N(o.getRangedData($t,ct),...dt));st=`Mid: ${N(w($t),...dt)} High: ${vt} Low: ${Q}`}else if(o.isCandlestickType($t)){const[vt,Q,St,ct,At]=["open","high","low","close","volume"].map(Gt=>o.getRangedData($t,Gt,"candlestick")?N(o.getRangedData($t,Gt,"candlestick"),...dt):void 0);st=`Open: ${vt} High: ${Q} Low: ${St} Close: ${ct}${At?` Volume: ${At}`:""}`}else if(o.isBarRangeType($t)){const{value:vt,id:Q,index:St}=$t;st=`${N(vt,void 0,Q,St)}`}else st=N(w($t),...dt);if(st!==void 0){if($t.name===null)continue;const vt=P((i=$t.name)!=null?i:$t.id,...dt),Q=X($t),St={CLASS_TOOLTIP_NAME:ei.tooltipName+o.getTargetSelectorSuffix($t.id),COLOR:H||!o.patterns?Q:``,NAME:vt,VALUE:st};if(H&&Be(W.text)){const ct=k.indexOf($t.id);Object.keys(W.text).forEach(At=>{St[At]=W.text[At][ct]})}ht+=bi(K[1],St)}}return`${ht}`},getTooltipContentTemplate(t){return(t||` + {=TITLE} + {{ + + + }} +
    ${this.patterns?"{=COLOR}":''}{=NAME}{=VALUE}
    `).replace(/(\r?\n|\t)/g,"").split(/{{(.*)}}/)},setTooltipPosition(t,e){var n,a;const i=this,{config:o,scale:s,state:l,$el:{eventRect:c,tooltip:f,svg:g}}=i,{bindto:v}=o.tooltip_contents,m=o.axis_rotated,S=f==null?void 0:f.datum();if(!v&&S){const P=t!=null?t:JSON.parse(S.current),[N,L]=Hn(l.event,e!=null?e:c==null?void 0:c.node()),w={x:N,y:L};if(l.hasAxis&&s.x&&S&&"x"in S){const k=(K=0,at,ht="y")=>{var $t;const dt=s[at?($t=i.axis)==null?void 0:$t.getId(at):ht];return dt?dt(K)+(m?l.margin.left:l.margin.top):0};w.xAxis=s.x(S.x)+(o.tooltip_position?m?l.margin.top:l.margin.left:0),P.length===1?w.yAxis=k(P[0].value,P[0].id):w.yAxis=k}const{width:X=0,height:W=0}=S,H=(a=(n=o.tooltip_position)==null?void 0:n.bind(i.api)(P,X,W,c==null?void 0:c.node(),w))!=null?a:Lo(g)?i.getTooltipPositionViewBox.bind(i)(X,W,w):i.getTooltipPosition.bind(i)(X,W,w);["top","left"].forEach(k=>{const K=H[k];f.style(k,`${K}px`),k==="left"&&!S.xPosInPercent&&(S.xPosInPercent=K/l.current.width*100)})}},getTooltipPositionViewBox(t,e,n){var a,i;const o=this,{$el:{eventRect:s,svg:l},config:c,state:f}=o,g=c.axis_rotated,v=o.hasArcType()||f.hasFunnel||f.hasTreemap,m=(i=(a=v?l:s)==null?void 0:a.node())!=null?i:f.event.target;let{x:S,y:P}=n;f.hasAxis&&(S=g?S:n.xAxis,P=g?n.xAxis:P);const N=Ai(m,S,P,!1),L=m.getBoundingClientRect(),w=Ai(m,20,0,!1).x;let X=N.y,W=N.x+t/2+w;return v&&(f.hasFunnel||f.hasTreemap||f.hasRadar?(W-=t/2+w,X+=e):(X+=L.height/2,W+=L.width/2-(t-w))),W+t>L.width&&(W=L.width-t-w),X+e>L.height&&(X-=e*2),{top:X,left:W}},getTooltipPosition(t,e,n){var a,i,o;const s=this,{config:l,scale:c,state:f}=s,{width:g,height:v,current:m,hasFunnel:S,hasRadar:P,hasTreemap:N,isLegendRight:L,inputType:w}=f,X=s.hasType("gauge")&&!l.gauge_fullCircle,W=l.axis_rotated,H=s.hasArcType(),k=s.getSvgLeft(!0);let K=k+m.width-s.getCurrentPaddingByDirection("right");const at=20;let{x:ht,y:$t}=n;if(P)ht+=ht>=g/2?15:-(t+15),$t+=15;else if(H){if(w!=="touch"){let Vt=(i=(a=s.getTitlePadding)==null?void 0:a.call(s))!=null?i:0;Vt&&X&&((o=l.arc_rangeText_values)!=null&&o.length)&&(Vt+=10),ht+=(g-(L?s.getLegendWidth():0))/2,$t+=(X?v:v/2+e)+Vt}}else if(S||N)$t+=e;else{const st={top:s.getCurrentPaddingByDirection("top",!0),left:s.getCurrentPaddingByDirection("left",!0)};W?(ht+=k+st.left+at,$t=st.top+n.xAxis+at,K-=k):(ht=k+st.left+at+(c.zoom?ht:n.xAxis),$t+=st.top-5)}if(ht+t+15>K&&(ht-=t+(S||N||H?0:W?at*2:38)),$t+e>m.height){const st=N?e+10:30;$t-=X?e*1.5:e+st}const dt={top:$t,left:ht};return Object.keys(dt).forEach(st=>{dt[st]<0&&(dt[st]=0)}),dt},showTooltip(t,e){const n=this,{config:a,$el:{tooltip:i}}=n,o=t.filter(c=>c&&De(n.getBaseValue(c)));if(!i||o.length===0||!a.tooltip_show)return;let s=i.datum();const l=JSON.stringify(t);if(!s||s.current!==l){const{index:c,x:f}=t.concat().sort()[0];_e(a.tooltip_onshow,n.api,t),i.html(n.getTooltipHTML(t,n.axis?n.axis.getXAxisTickFormat():n.categoryName.bind(n),n.getDefaultValueFormat(),n.color)).style("display",null).style("visibility",null).datum(s={index:c,x:f,current:l,width:i.property("offsetWidth"),height:i.property("offsetHeight")}),_e(a.tooltip_onshown,n.api,t),n._handleLinkedCharts(!0,c)}n.setTooltipPosition(o,e)},bindTooltipResizePos(){const t=this,{resizeFunction:e,state:n,$el:{tooltip:a}}=t;e.add(()=>{if(a.style("display")==="block"){const{current:i}=n,{width:o,xPosInPercent:s}=a.datum();let l=i.width/100*s;const c=i.width-(l+o);c<0&&(l+=c),a.style("left",`${l}px`)}})},hideTooltip(t){var e;const n=this,{api:a,config:i,$el:{tooltip:o}}=n;if(o&&o.style("display")!=="none"&&(!i.tooltip_doNotHide||t)){const s=JSON.parse((e=o.datum().current)!=null?e:{});_e(i.tooltip_onhide,a,s),o.style("display","none").style("visibility","hidden").datum(null),_e(i.tooltip_onhidden,a,s)}},_handleLinkedCharts(t,e){const n=this,{charts:a,config:i,state:{event:o}}=n;if(o!=null&&o.isTrusted&&i.tooltip_linked&&a.length>1){const s=i.tooltip_linked_name;a.filter(l=>l!==n.api).forEach(l=>{const{config:c,$el:f}=l.internal,g=c.tooltip_linked,v=c.tooltip_linked_name,m=gn.body.contains(f.chart.node());if(g&&s===v&&m){const S=f.tooltip.data()[0],P=e!==(S==null?void 0:S.index);try{l.tooltip[t&&P?"show":"hide"]({index:e})}catch(N){}}})}},updateTooltipOnRedraw(t,e){var n;const a=this,{config:i,$el:{eventRect:o,svg:s,tooltip:l},state:{event:c,hasAxis:f,hasRadar:g,hasTreemap:v}}=a;if((l==null?void 0:l.style("display"))==="block"&&c){const m=t!=null?t:(n=g?s:o)==null?void 0:n.node();if(f||g)if(a.isMultipleX())a.selectRectForMultipleXs(m,!1);else{const S=e!=null?e:a.getDataIndexFromEvent(c);e===-1?a.api.tooltip.hide():(a.selectRectForSingle(m,S),a.setExpand(S,null,!0))}else{const{clientX:S,clientY:P}=c;setTimeout(()=>{let N=[S,P].every(Number.isFinite)&&gn.elementFromPoint(S,P);const L=N&&ot(N).datum();if(L){const w=a.hasArcType()?a.convertToArcData(a.updateAngle(L)):L==null?void 0:L.data;v&&(N=s.node()),w&&a.showTooltip([w],N)}else a.api.tooltip.hide()},i.transition_duration)}}}},Yp={getTranslate(t,e=0){var n;const a=this,{config:i,state:o}=a,s=i.axis_rotated;let l=0,c,f;if(e&&/^(x|y2?)$/.test(t)&&(l=a.getAxisSize(t)*e),t==="main")c=$i(o.margin.left),f=$i(o.margin.top);else if(t==="context")c=$i(o.margin2.left),f=$i(o.margin2.top);else if(t==="legend")c=o.margin3.left,f=o.margin3.top;else if(t==="x")c=s?-l:0,f=s?0:o.height+l;else if(t==="y")c=s?0:-l,f=s?o.height+l:0;else if(t==="y2")c=s?0:o.width+l,f=s?-l-1:0;else if(t==="subX")c=0,f=s?0:o.height2;else if(t==="arc")c=o.arcWidth/2,f=o.arcHeight/2,(n=i.arc_rangeText_values)!=null&&n.length&&(f+=5+(a.hasType("gauge")&&i.title_text?10:0));else if(t==="polar")c=o.arcWidth/2,f=o.arcHeight/2;else if(t==="radar"){const[g,v]=a.getRadarSize();c=o.width/2-g,f=o.height/2-v}return`translate(${c}, ${f})`},transformMain(t,e){const n=this,{$el:{main:a},$T:i}=n,o=e!=null&&e.axisX?e.axisX:i(a.select(`.${Tn.axisX}`),t),s=e!=null&&e.axisY?e.axisY:i(a.select(`.${Tn.axisY}`),t),l=e!=null&&e.axisY2?e.axisY2:i(a.select(`.${Tn.axisY2}`),t);i(a,t).attr("transform",n.getTranslate("main")),o.attr("transform",n.getTranslate("x")),s.attr("transform",n.getTranslate("y")),l.attr("transform",n.getTranslate("y2")),a.select(`.${Ve.chartArcs}`).attr("transform",n.getTranslate("arc"))},transformAll(t,e){const n=this,{config:a,state:{hasAxis:i,hasFunnel:o,hasTreemap:s},$el:l}=n;!o&&!s&&n.transformMain(t,e),i&&a.subchart_show&&n.transformContext(t,e),l.legend&&n.transformLegend(t)}},Wp={isValidChartType(t){return!!(t&&Object.values(oe).indexOf(t)>-1)},setTargetType(t,e){const n=this,{config:a,state:{withoutFadeIn:i}}=n;n.mapToTargetIds(t).forEach(o=>{i[o]=e===a.data_types[o],a.data_types[o]=e}),t||(a.data_type=e)},updateTypesElements(){const t=this,{state:{current:e}}=t;Object.keys(oe).forEach(n=>{const a=oe[n],i=t.hasType(a,null,!0),o=e.types.indexOf(a);o===-1&&i?e.types.push(a):o>-1&&!i&&e.types.splice(o,1)}),t.setChartElements()},hasType(t,e,n=!1){var a;const i=this,{config:o,state:{current:s}}=i,l=o.data_types,c=e||i.data.targets;let f=!1;return!n&&((a=s.types)==null?void 0:a.indexOf(t))>-1?f=!0:c!=null&&c.length?c.forEach(g=>{const v=l[g.id];(v===t||!v&&t==="line")&&(f=!0)}):Object.keys(l).length?Object.keys(l).forEach(g=>{l[g]===t&&(f=!0)}):f=o.data_type===t,f},hasTypeOf(t,e,n=[]){return t in Sr?!Sr[t].filter(a=>n.indexOf(a)===-1).every(a=>!this.hasType(a,e)):!1},isTypeOf(t,e){var n;const a=ze(t)?t:t.id,i=this.config&&(((n=this.config.data_types)==null?void 0:n[a])||this.config.data_type);return je(e)?e.indexOf(i)>=0:i===e},hasPointType(){const t=this;return t.hasTypeOf("Line")||t.hasType("bubble")||t.hasType("scatter")},hasArcType(t,e){return this.hasTypeOf("Arc",t,e)},hasMultiArcGauge(){return this.hasType("gauge")&&this.config.gauge_type==="multi"},isLineType(t){const e=ze(t)?t:t.id;return!this.config.data_types[e]||this.isTypeOf(e,Sr.Line)},isStepType(t){return this.isTypeOf(t,Sr.Step)},isSplineType(t){return this.isTypeOf(t,Sr.Spline)},isAreaType(t){return this.isTypeOf(t,Sr.Area)},isAreaRangeType(t){return this.isTypeOf(t,Sr.AreaRange)},isBarType(t){return this.isTypeOf(t,"bar")},isBubbleType(t){return this.isTypeOf(t,"bubble")},isCandlestickType(t){return this.isTypeOf(t,"candlestick")},isScatterType(t){return this.isTypeOf(t,"scatter")},isTreemapType(t){return this.isTypeOf(t,"treemap")},isPieType(t){return this.isTypeOf(t,"pie")},isFunnelType(t){return this.isTypeOf(t,"funnel")},isGaugeType(t){return this.isTypeOf(t,"gauge")},isDonutType(t){return this.isTypeOf(t,"donut")},isPolarType(t){return this.isTypeOf(t,"polar")},isRadarType(t){return this.isTypeOf(t,"radar")},isArcType(t){return this.isPieType(t)||this.isDonutType(t)||this.isGaugeType(t)||this.isPolarType(t)||this.isRadarType(t)},isCirclePoint(t){const{config:e}=this,n=e.point_pattern;let a=!1;return(t==null?void 0:t.tagName)==="circle"?a=!0:a=e.point_type==="circle"&&(!n||je(n)&&n.length===0),a},lineData(t){return this.isLineType(t)?[t]:[]},arcData(t){return this.isArcType(t.data)?[t]:[]},labelishData(t){return this.isBarType(t)||this.isLineType(t)||this.isScatterType(t)||this.isBubbleType(t)||this.isCandlestickType(t)||this.isFunnelType(t)||this.isRadarType(t)||this.isTreemapType(t)?t.values.filter(e=>he(e.value)||!!e.value):[]},barLineBubbleData(t){return this.isBarType(t)||this.isLineType(t)||this.isBubbleType(t)?t.values:[]},isInterpolationType(t){return["basis","basis-closed","basis-open","bundle","cardinal","cardinal-closed","cardinal-open","catmull-rom","catmull-rom-closed","catmull-rom-open","linear","linear-closed","monotone-x","monotone-y","natural"].indexOf(t)>=0}};function Ni(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function Fi(t){this._context=t}Fi.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Ni(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Ni(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Kp(t){return new Fi(t)}function Ar(){}function Vc(t){this._context=t}Vc.prototype={areaStart:Ar,areaEnd:Ar,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Ni(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Zp(t){return new Vc(t)}function Gc(t){this._context=t}Gc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,a=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,a):this._context.moveTo(n,a);break;case 3:this._point=4;default:Ni(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Jp(t){return new Gc(t)}function Xc(t,e){this._basis=new Fi(t),this._beta=e}Xc.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var a=t[0],i=e[0],o=t[n]-a,s=e[n]-i,l=-1,c;++l<=n;)c=l/n,this._basis.point(this._beta*t[l]+(1-this._beta)*(a+c*o),this._beta*e[l]+(1-this._beta)*(i+c*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var Qp=function t(e){function n(a){return e===1?new Fi(a):new Xc(a,e)}return n.beta=function(a){return t(+a)},n}(.85);function Bi(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function ls(t,e){this._context=t,this._k=(1-e)/6}ls.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Bi(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Bi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var kp=function t(e){function n(a){return new ls(a,e)}return n.tension=function(a){return t(+a)},n}(0);function cs(t,e){this._context=t,this._k=(1-e)/6}cs.prototype={areaStart:Ar,areaEnd:Ar,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Bi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var qp=function t(e){function n(a){return new cs(a,e)}return n.tension=function(a){return t(+a)},n}(0);function us(t,e){this._context=t,this._k=(1-e)/6}us.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Bi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var _p=function t(e){function n(a){return new us(a,e)}return n.tension=function(a){return t(+a)},n}(0);const Hc=Math.abs,En=Math.atan2,jr=Math.cos,tm=Math.max,fs=Math.min,rr=Math.sin,oa=Math.sqrt,bn=1e-12,Fa=Math.PI,Ui=Fa/2,zi=2*Fa;function em(t){return t>1?0:t<-1?Fa:Math.acos(t)}function Yc(t){return t>=1?Ui:t<=-1?-Ui:Math.asin(t)}function ds(t,e,n){var a=t._x1,i=t._y1,o=t._x2,s=t._y2;if(t._l01_a>bn){var l=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);a=(a*l-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,i=(i*l-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>bn){var f=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,g=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*f+t._x1*t._l23_2a-e*t._l12_2a)/g,s=(s*f+t._y1*t._l23_2a-n*t._l12_2a)/g}t._context.bezierCurveTo(a,i,o,s,t._x2,t._y2)}function Wc(t,e){this._context=t,this._alpha=e}Wc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,a=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+a*a,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:ds(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var nm=function t(e){function n(a){return e?new Wc(a,e):new ls(a,0)}return n.alpha=function(a){return t(+a)},n}(.5);function Kc(t,e){this._context=t,this._alpha=e}Kc.prototype={areaStart:Ar,areaEnd:Ar,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,a=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+a*a,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:ds(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var rm=function t(e){function n(a){return e?new Kc(a,e):new cs(a,0)}return n.alpha=function(a){return t(+a)},n}(.5);function Zc(t,e){this._context=t,this._alpha=e}Zc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,a=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+a*a,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:ds(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var am=function t(e){function n(a){return e?new Zc(a,e):new us(a,0)}return n.alpha=function(a){return t(+a)},n}(.5);function Jc(t){return t<0?-1:1}function Qc(t,e,n){var a=t._x1-t._x0,i=e-t._x1,o=(t._y1-t._y0)/(a||i<0&&-0),s=(n-t._y1)/(i||a<0&&-0),l=(o*i+s*a)/(a+i);return(Jc(o)+Jc(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(l))||0}function kc(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function hs(t,e,n){var a=t._x0,i=t._y0,o=t._x1,s=t._y1,l=(o-a)/3;t._context.bezierCurveTo(a+l,i+l*e,o-l,s-l*n,o,s)}function ji(t){this._context=t}ji.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:hs(this,this._t0,kc(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,hs(this,kc(this,n=Qc(this,t,e)),n);break;default:hs(this,this._t0,n=Qc(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}};function qc(t){this._context=new _c(t)}(qc.prototype=Object.create(ji.prototype)).point=function(t,e){ji.prototype.point.call(this,e,t)};function _c(t){this._context=t}_c.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,a,i,o){this._context.bezierCurveTo(e,t,a,n,o,i)}};function im(t){return new ji(t)}function om(t){return new qc(t)}function tu(t){this._context=t}tu.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),n===2)this._context.lineTo(t[1],e[1]);else for(var a=eu(t),i=eu(e),o=0,s=1;s=0;--e)i[e]=(s[e]-i[e+1])/o[e];for(o[n-1]=(t[n]+i[n-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}break}}this._x=t,this._y=e}};function cm(t){return new Vi(t,.5)}function um(t){return new Vi(t,0)}function fm(t){return new Vi(t,1)}function dm(t){const e=this;let n;return e.isLineType(t)?n=e.generateGetLinePoints(e.getShapeIndices(e.isLineType)):e.isBarType(t)&&(n=e.generateGetBarPoints(e.getShapeIndices(e.isBarType))),n}var hm={getDrawShape(){const t=this,e=t.config.axis_rotated,{hasRadar:n,hasTreemap:a}=t.state,i={type:{},indices:{},pos:{}};if(!a&&["bar","candlestick","line","area"].forEach(o=>{const s=Cn(/^(bubble|scatter)$/.test(o)?"line":o);if(t.hasType(o)||t.hasTypeOf(s)||o==="line"&&(t.hasType("bubble")||t.hasType("scatter"))){const l=t.getShapeIndices(t[`is${s}Type`]),c=t[`generateDraw${s}`];i.indices[o]=l,i.type[o]=c?c.bind(t)(l,!1):void 0}}),!t.hasArcType()||n||a){let o,s;a||(o=n?t.radarCircleX:e?t.circleY:t.circleX,s=n?t.radarCircleY:e?t.circleX:t.circleY),i.pos={xForText:t.generateXYForText(i.indices,!0),yForText:t.generateXYForText(i.indices,!1),cx:(o||function(){}).bind(t),cy:(s||function(){}).bind(t)}}return i},getShapeIndices(t){const e=this,{config:n}=e,a=n.data_xs,i=cn(a),o={};let s=i?{}:0;return i&&Mo(Object.keys(a).map(l=>a[l])).forEach(l=>{s[l]=0,o[l]={}}),e.filterTargetsToShow(e.data.targets.filter(t,e)).forEach(l=>{var c;const f=l.id in a?a[l.id]:"",g=f?o[f]:o;for(let v=0,m;m=n.data_groups[v];v++)if(!(m.indexOf(l.id)<0))for(let S=0,P;P=m[S];S++){if(P in g){g[l.id]=g[P];break}l.id!==P&&f&&(g[P]=(c=g[l.id])!=null?c:s[f])}ln(g[l.id])&&(g[l.id]=f?s[f]++:s++,g.__max__=(f?s[f]:s)-1)}),o},getIndices(t,e,n){const a=this,{data_xs:i,bar_indices_removeNull:o}=a.config,{id:s,index:l}=e;if(a.isBarType(s)&&o){const c={};return a.getAllValuesOnIndex(l,!0).forEach((f,g)=>{c[f.id]=g,c.__max__=g}),c}return cn(i)?t[i[s]]:t},getIndicesMax(t){return cn(this.config.data_xs)?Object.keys(t).map(e=>t[e].__max__||0).reduce((e,n)=>e+n):t.__max__},getShapeX(t,e,n){const a=this,{config:i,scale:o}=a,s=n?o.subX:o.zoom||o.x,l=i.bar_overlap,c=i.bar_padding,f=(v,m)=>v+m,g=nr(t)&&(t._$total.length?t._$total.reduce(f)/2:0);return v=>{const m=a.getIndices(e,v,"getShapeX"),S=v.id in m?m[v.id]:0,P=(m.__max__||0)+1;let N=0;if(cn(v.x)){const L=s(v.x,!0);if(g){const w=t[v.id]||t._$width;N=l?L-w/2:L-w+t._$total.slice(0,S+1).reduce(f)-g}else N=L-(he(t)?t:t._$width)*(P/2-(l?1:S))}return t&&N&&P>1&&c&&(S&&(N+=c*S),P>2?N-=(P-1)*c/2:P===2&&(N-=c/2)),N}},getShapeY(t){const e=this,n=e.isStackNormalized();return a=>{let{value:i}=a;return he(a)?i=a:e.isAreaRangeType(a)?i=e.getBaseValue(a,"mid"):n?i=e.getRatio("index",a,!0):e.isBubbleZType(a)?i=e.getBubbleZData(a.value,"y"):e.isBarRangeType(a)&&(i=i[1]),e.getYScaleById(a.id,t)(i)}},getShapeYMin(t){const e=this,n=e.axis.getId(t),a=e.scale[n],[i]=a.domain(),o=e.config[`axis_${n}_inverted`];return!e.isGrouped(t)&&!o&&i>0?i:0},getShapeOffsetData(t){const e=this,n=e.orderTargets(e.filterTargetsToShow(e.data.targets.filter(t,e))),a=e.isStackNormalized(),i=n.map(s=>{let l=s.values;const c={};e.isStepType(s)&&(l=e.convertValuesToStep(l));const f=l.reduce((g,v)=>{const m=Number(v.x);return g[m]=v,c[m]=a?e.getRatio("index",v,!0):v.value,g},{});return{id:s.id,rowValues:l,rowValueMapByXValue:f,values:c}});return{indexMapByTargetId:n.reduce((s,{id:l},c)=>(s[l]=c,s),{}),shapeOffsetTargets:i}},getShapeOffset(t,e,n){const a=this,{shapeOffsetTargets:i,indexMapByTargetId:o}=a.getShapeOffsetData(t),s=a.config.data_groupsZeroAs;return(l,c)=>{const{id:f,value:g,x:v}=l,m=a.getIndices(e,l),S=a.getYScaleById(f,n);if(a.isBarRangeType(l))return S(g[0]);const P=Number(v),N=S(s==="zero"?0:a.getShapeYMin(f));let L=N;return i.filter(w=>w.id!==f&&m[w.id]===m[f]).forEach(w=>{const{id:X,rowValueMapByXValue:W,rowValues:H,values:k}=w;if(o[X]=0&&he(K)&&(g!==0||s==="positive"&&K>0||s==="negative"&&K<0)&&(L+=S(K)-N)}}),L}},circleY(t,e){const n=this,a=t.id;let i;return n.isGrouped(a)&&(i=dm.bind(n)(t)),i?i(t,e)[0][1]:n.getYScaleById(a)(n.getBaseValue(t))},getBarW(t,e,n){var a,i,o,s,l;const c=this,{config:f,org:g,scale:v,state:m}=c,S=c.getMaxDataCount(),P=t==="bar"&&((a=f.data_groups)==null?void 0:a.length),N=`${t}_width`,{k:L}=(o=(i=c.getZoomTransform)==null?void 0:i.call(c))!=null?o:{k:1},w=[(s=f.axis_x_min)!=null?s:g.xDomain[0],(l=f.axis_x_max)!=null?l:g.xDomain[1]].map(c.axis.isTimeSeries()?Yn.bind(c):Number);let X=e.tickInterval(S);if(v.zoom&&!c.axis.isCategorized()&&L>1){const k=w.every((K,at)=>K===g.xDomain[at]);X=g.xDomain.map((K,at)=>{const ht=k?K:K-Math.abs(w[at]);return v.zoom(ht)}).reduce((K,at)=>Math.abs(K)+at)/S}const W=k=>{const K=k?f[N][k]:f[N],at=k?K.ratio:f[`${N}_ratio`],ht=k?K.max:f[`${N}_max`],$t=he(K)?K:ve(K)?K.call(c,m.width,n,S):n?X*at/n:0;return ht&&$t>ht?ht:$t};let H=W();return!P&&nr(f[N])&&(H={_$width:H,_$total:[]},c.filterTargetsToShow(c.data.targets).forEach(k=>{f[N][k.id]&&(H[k.id]=W(k.id),H._$total.push(H[k.id]||H._$width))})),H},getShapeByIndex(t,e,n){const a=this,{$el:i}=a,o=De(e)?`-${e}`:"";let s=i[t];return s&&!s.empty()?s=s.filter(l=>n?l.id===n:!0).filter(l=>De(e)?l.index===e:!0):s=(n?i.main.selectAll(`.${Ue[`${t}s`]}${a.getTargetSelectorSuffix(n)}`):i.main).selectAll(`.${Ue[t]}${o}`),s},isWithinShape(t,e){var n;const a=this,i=ot(t);let o;return a.isTargetToShow(e.id)?(n=a.hasValidPointType)!=null&&n.call(a,t.nodeName)?o=a.isStepType(e)?a.isWithinStep(t,a.getYScaleById(e.id)(a.getBaseValue(e))):a.isWithinCircle(t,a.isBubbleType(e)?a.pointSelectR(e)*1.5:0):t.nodeName==="path"&&(o=i.classed(Ue.bar)?a.isWithinBar(t):!0):o=!1,o},getInterpolate(t){const n=this.getInterpolateType(t);return{basis:Kp,"basis-closed":Zp,"basis-open":Jp,bundle:Qp,cardinal:kp,"cardinal-closed":qp,"cardinal-open":_p,"catmull-rom":nm,"catmull-rom-closed":rm,"catmull-rom-open":am,"monotone-x":im,"monotone-y":om,natural:sm,"linear-closed":lm,linear:gs,step:cm,"step-after":fm,"step-before":um}[n]},getInterpolateType(t){const e=this,{config:n}=e,a=n.spline_interpolation_type,i=e.isInterpolationType(a)?a:"cardinal";return e.isSplineType(t)?i:e.isStepType(t)?n.line_step_type:"linear"},isWithinBar(t){const e=Hn(this.state.event,t),n=Hl(t),[a,i]=n,o=Math.min(a.x,i.x),s=Math.min(a.y,i.y),l=this.config.bar_sensitivity,{width:c,height:f}=t.getBBox(),g=o-l,v=o+c+l,m=s+f+l,S=s-l;return ge in t?gm(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Rn=(t,e,n)=>vm(t,typeof e!="symbol"?e+"":e,n);class Vr{constructor(e){Rn(this,"api"),Rn(this,"config"),Rn(this,"cache"),Rn(this,"$el"),Rn(this,"state"),Rn(this,"charts"),Rn(this,"data",{xs:{},targets:[]}),Rn(this,"axis"),Rn(this,"scale",{x:null,y:null,y2:null,subX:null,subY:null,subY2:null,zoom:null}),Rn(this,"org",{xScale:null,xDomain:null}),Rn(this,"color"),Rn(this,"patterns"),Rn(this,"levelColor"),Rn(this,"point"),Rn(this,"brush"),Rn(this,"format",{extraLineClasses:null,xAxisTick:null,dataTime:null,defaultAxisTime:null,axisTime:null});const n=this;n.api=e,n.config=new Nr,n.cache=new gv;const a=new uv;n.$el=a.getStore("element"),n.state=a.getStore("state"),n.$T=n.$T.bind(n)}$T(e,n,a){const{config:i,state:o}=this,s=i.transition_duration,l=i.subchart_show;let c=e;return c&&("tagName"in c&&(c=ot(c)),c=(n!==!1&&s||n)&&(!o.zooming||o.dragging)&&!o.resizing&&o.rendered&&!l?c.transition(a).duration(s):c),c}beforeInit(){const e=this;e.callPluginHook("$beforeInit"),_e(e.config.onbeforeinit,e.api)}afterInit(){const e=this;e.callPluginHook("$afterInit"),_e(e.config.onafterinit,e.api)}init(){const e=this,{config:n,state:a,$el:i}=e,o=n.boost_useCssRule;if(vv(e),a.hasRadar=!a.hasAxis&&e.hasType("radar"),a.hasFunnel=!a.hasAxis&&e.hasType("funnel"),a.hasTreemap=!a.hasAxis&&e.hasType("treemap"),a.hasAxis=!e.hasArcType()&&!a.hasFunnel&&!a.hasTreemap,a.datetimeId=`bb-${+new Date*gr()}`,o){const l=gn.createElement("style");l.type="text/css",gn.head.appendChild(l),a.style={rootSelctor:`.${a.datetimeId}`,sheet:l.sheet},i.style=l}const s={element:n.bindto,classname:"bb"};Be(n.bindto)&&(s.element=n.bindto.element||"#chart",s.classname=n.bindto.classname||s.classname),i.chart=ve(s.element.node)?n.bindto.element:ot(s.element||[]),i.chart.empty()&&(i.chart=ot(gn.body.appendChild(gn.createElement("div")))),i.chart.html("").classed(s.classname,!0).classed(a.datetimeId,o).style("position","relative"),e.initParams(),e.initToRender()}initToRender(e){const n=this,{config:a,state:i,$el:{chart:o}}=n,s=()=>nv(o,{display:"none",visibility:"hidden"}),l=a.render.lazy===!1?!1:a.render.lazy||s(),c=Ke.MutationObserver;l&&c&&a.render.observe!==!1&&!e&&new c((f,g)=>{s()||(g.disconnect(),!i.rendered&&n.initToRender(!0))}).observe(o.node(),{attributes:!0,attributeFilter:["class","style"]}),(!l||e)&&n.convertData(a,f=>{n.initWithData(f),n.afterInit()})}initParams(){var e;const n=this,{config:a,format:i,state:o}=n,s=a.axis_rotated;if(n.color=n.generateColor(),n.levelColor=n.generateLevelColor(),a.padding===!1&&(a.axis_x_show=!1,a.axis_y_show=!1,a.axis_y2_show=!1,a.subchart_show=!1),(n.hasPointType()||(e=n.hasLegendDefsPoint)!=null&&e.call(n))&&(n.point=n.generatePoint()),o.hasAxis){n.initClip(),i.extraLineClasses=n.generateExtraLineClass(),i.dataTime=a.data_xLocaltime?Ws:Ks,i.axisTime=a.axis_x_localtime?ao:io;const l=n.config.zoom_enabled&&n.config.zoom_type==="drag";i.defaultAxisTime=c=>{const{x:f,zoom:g}=n.scale,v=l?g:g&&f.orgDomain().toString()!==g.domain().toString(),m=c.getMilliseconds()&&".%L"||c.getSeconds()&&".:%S"||c.getMinutes()&&"%I:%M"||c.getHours()&&"%I %p"||c.getDate()!==1&&"%b %d"||v&&c.getDate()===1&&"%b'%y"||c.getMonth()&&"%-m/%-d"||"%Y";return i.axisTime(m)(c)}}o.isLegendRight=a.legend_position==="right",o.isLegendInset=a.legend_position==="inset",o.isLegendTop=a.legend_inset_anchor==="top-left"||a.legend_inset_anchor==="top-right",o.isLegendLeft=a.legend_inset_anchor==="top-left"||a.legend_inset_anchor==="bottom-left",o.rotatedPadding.top=n.getResettedPadding(o.rotatedPadding.top),o.rotatedPadding.right=s&&!a.axis_x_show?0:30,o.inputType=rv(a.interaction_inputType_mouse,a.interaction_inputType_touch)}initWithData(e){var n,a,i;const o=this,{config:s,scale:l,state:c,$el:f,org:g}=o,{hasAxis:v,hasFunnel:m,hasTreemap:S}=c,P=s.interaction_enabled,N=o.hasType("polar"),L=s.data_labels_backgroundColors;if(v&&(o.axis=o.getAxisInstance(),s.zoom_enabled&&o.initZoom()),o.data.xs={},o.data.targets=o.convertDataToTargets(e),s.data_filter&&(o.data.targets=o.data.targets.filter(s.data_filter.bind(o.api))),s.data_hide&&o.addHiddenTargetIds(s.data_hide===!0?o.mapToIds(o.data.targets):s.data_hide),s.legend_hide&&o.addHiddenLegendIds(s.legend_hide===!0?o.mapToIds(o.data.targets):s.legend_hide),o.updateSizes(),o.updateScales(!0),v){const{x:W,y:H,y2:k,subX:K,subY:at,subY2:ht}=l;W&&(W.domain(na(o.getXDomain(o.data.targets),!s.axis_x_inverted)),K.domain(W.domain()),g.xDomain=W.domain()),H&&(H.domain(o.getYDomain(o.data.targets,"y")),at.domain(H.domain())),k&&(k.domain(o.getYDomain(o.data.targets,"y2")),ht&&ht.domain(k.domain()))}if(f.svg=f.chart.append("svg").style("overflow","hidden").style("display","block"),P&&c.inputType){const W=c.inputType==="touch",{onclick:H,onover:k,onout:K}=s;f.svg.on("click",(H==null?void 0:H.bind(o.api))||null).on(W?"touchstart":"mouseenter",(k==null?void 0:k.bind(o.api))||null).on(W?"touchend":"mouseleave",(K==null?void 0:K.bind(o.api))||null)}s.svg_classname&&f.svg.attr("class",s.svg_classname);const w=ve(s.color_tiles)&&o.patterns;(v||w||N||S||L||(n=o.hasLegendDefsPoint)!=null&&n.call(o))&&(f.defs=f.svg.append("defs"),v&&["id","idXAxis","idYAxis","idGrid"].forEach(W=>{o.appendClip(f.defs,c.clip[W])}),o.generateTextBGColorFilter(L),w&&o.patterns.forEach(W=>f.defs.append(()=>W.node))),o.updateSvgSize(),o.bindResize();const X=f.svg.append("g").classed(Se.main,!0).attr("transform",m||S?null:o.getTranslate("main"));if(f.main=X,s.subchart_show&&o.initSubchart(),s.tooltip_show&&o.initTooltip(),s.title_text&&o.initTitle(),!S&&s.legend_show&&o.initLegend(),s.data_empty_label_text&&X.append("text").attr("class",`${On.text} ${Se.empty}`).attr("text-anchor","middle").attr("dominant-baseline","middle"),v&&(s.regions.length&&o.initRegion(),!s.clipPath&&o.axis.init()),X.append("g").classed(Se.chart,!0).attr("clip-path",v?c.clip.path:null),o.callPluginHook("$init"),o.initChartElements(),v&&(P&&((a=o.initEventRect)==null||a.call(o)),o.initGrid(),s.clipPath&&((i=o.axis)==null||i.init())),o.updateTargets(o.data.targets),o.updateDimension(),_e(s.oninit,o.api),o.setBackground(),o.redraw({withTransition:!1,withTransform:!0,withUpdateXDomain:!0,withUpdateOrgXDomain:!0,withTransitionForAxis:!1,initializing:!0}),s.data_onmin||s.data_onmax){const W=o.getMinMaxData();_e(s.data_onmin,o.api,W.min),_e(s.data_onmax,o.api,W.max)}s.tooltip_show&&o.initShowTooltip(),c.rendered=!0}initChartElements(){const e=this,{hasAxis:n,hasRadar:a,hasTreemap:i}=e.state,o=[];if(n){const s=["bar","bubble","candlestick","line"];e.config.bar_front&&s.push(s.shift()),s.forEach(l=>{const c=Cn(l);(l==="line"&&e.hasTypeOf(c)||e.hasType(l))&&o.push(c)})}else if(i)o.push("Treemap");else if(e.hasType("funnel"))o.push("Funnel");else{const s=e.hasType("polar");a||o.push("Arc","Pie"),e.hasType("gauge")?o.push("Gauge"):a?o.push("Radar"):s&&o.push("Polar")}o.forEach(s=>{e[`init${s}`]()}),cn(e.config.data_labels)&&!e.hasArcType(null,["radar"])&&e.initText()}setChartElements(){const e=this,{$el:{chart:n,svg:a,defs:i,main:o,tooltip:s,legend:l,title:c,grid:f,needle:g,arcs:v,circle:m,bar:S,candlestick:P,line:N,area:L,text:w}}=e;e.api.$={chart:n,svg:a,defs:i,main:o,tooltip:s,legend:l,title:c,grid:f,arc:v,circles:m,bar:{bars:S},candlestick:P,line:{lines:N,areas:L},needle:g,text:{texts:w}}}setBackground(){const e=this,{config:{background:n},state:a,$el:{svg:i}}=e;if(cn(n)){const o=i.select("g").insert(n.imgUrl?"image":"rect",":first-child");n.imgUrl?o.attr("href",n.imgUrl):n.color&&o.style("fill",n.color).attr("clip-path",a.clip.path),o.attr("class",n.class||null).attr("width","100%").attr("height","100%")}}updateTargets(e){var n;const a=this,{hasAxis:i,hasFunnel:o,hasRadar:s,hasTreemap:l}=a.state,c=g=>a[`updateTargetsFor${g}`](e.filter(a[`is${g}Type`].bind(a)));if(a.updateTargetsForText(e),i)["bar","candlestick","line"].forEach(g=>{const v=Cn(g);(g==="line"&&a.hasTypeOf(v)||a.hasType(g))&&c(v)}),a.updateTargetsForSubchart&&a.updateTargetsForSubchart(e);else if(a.hasArcType(e)){let g="Arc";s?g="Radar":a.hasType("polar")&&(g="Polar"),c(g)}else o?c("Funnel"):l&&c("Treemap");const f=a.hasType("bubble")||a.hasType("scatter");f&&((n=a.updateTargetForCircle)==null||n.call(a)),a.filterTargetsToShowAtInit(f)}filterTargetsToShowAtInit(e=!1){const n=this,{$el:{svg:a},$T:i}=n;let o=`.${Se.target}`;e&&(o+=`, .${$n.chartCircles} > .${$n.circles}`),i(a.selectAll(o).filter(s=>n.isTargetToShow(s.id))).style("opacity",null)}getWithOption(e){const n={Dimension:!0,EventRect:!0,Legend:!1,Subchart:!0,Transform:!1,Transition:!0,TrimXDomain:!0,UpdateXAxis:"UpdateXDomain",UpdateXDomain:!1,UpdateOrgXDomain:!1,TransitionForExit:"Transition",TransitionForAxis:"Transition",Y:!0};return Object.keys(n).forEach(a=>{let i=n[a];ze(i)&&(i=n[i]),n[a]=$r(e,`with${a}`,i)}),n}initialOpacity(e){const n=this,{withoutFadeIn:a}=n.state;return n.getBaseValue(e)!==null&&a[e.id]?null:"0"}bindResize(){const e=this,{$el:n,config:a,state:i}=e,o=xv(a.resize_timer),s=[];s.push(()=>_e(a.onresize,e.api)),/^(true|parent)$/.test(a.resize_auto)&&s.push(()=>{i.resizing=!0,a.legend_show&&(e.updateSizes(),e.updateLegend()),e.api.flush(!1)}),s.push(()=>{_e(a.onresized,e.api),i.resizing=!1}),s.forEach(l=>o.add(l)),e.resizeFunction=o,a.resize_auto==="parent"?(e.resizeFunction.resizeObserver=new ResizeObserver(e.resizeFunction.bind(e))).observe(n.chart.node().parentNode):Ke.addEventListener("resize",e.resizeFunction)}callPluginHook(e,...n){this.config.plugins.forEach(a=>{e==="$beforeInit"&&(a.$$=this,this.api.plugins.push(a)),a[e](...n)})}}yn(Vr.prototype,[Mv,Dv,Lv,jv,Vv,Yv,Wv,zv,Kv,Zv,Jv,Bp,hm,Up,zp,Gp,Xp,Hp,Yp,Wp]);function pm(t){const e=this.config;let n,a,i;const o=()=>{const s=a.shift();if(s&&n&&nr(n)&&s in n)return n=n[s],o();if(!s)return n};Object.keys(e).forEach(s=>{n=t,a=s.split("_"),i=o(),Qe(i)&&(e[s]=i)}),this.api&&(this.state.orgConfig=t)}var mm={resize(t){const e=this.internal,{config:n,state:a}=e;a.rendered&&(n.size_width=t?t.width:null,n.size_height=t?t.height:null,a.resizing=!0,this.flush(!1),e.resizeFunction())},flush(t){var e,n;const a=this.internal,{state:i,$el:{zoomResetBtn:o}}=a;i.rendered?(i.resizing?(e=a.brush)==null||e.updateResize():(n=a.axis)==null||n.setOrient(),o==null||o.style("display","none"),a.scale.zoom=null,t?a.redraw({withTransform:!0,withUpdateXDomain:!0,withUpdateOrgXDomain:!0,withLegend:!0}):a.updateAndRedraw({withLegend:!0,withTransition:!1,withTransitionForTransform:!1}),!i.resizing&&a.brush&&(a.brush.getSelection().call(a.brush.move),a.unselectRect())):a.initToRender(!0)},destroy(){var t;const e=this.internal,{$el:{chart:n,style:a,svg:i}}=e;if(cn(e)){e.callPluginHook("$willDestroy"),e.charts.splice(e.charts.indexOf(this),1),e.unbindAllEvents(),i.select("*").interrupt(),e.resizeFunction.clear(),(t=e.resizeFunction.resizeObserver)==null||t.disconnect(),Ke.removeEventListener("resize",e.resizeFunction),n.classed("bb",!1).style("position",null).selectChildren().remove(),a&&a.parentNode.removeChild(a),Object.keys(this).forEach(o=>{o==="internal"&&Object.keys(e).forEach(s=>{e[s]=null}),this[o]=null,delete this[o]});for(const o in this)this[o]=()=>{}}return null},config(t,e,n){const a=this.internal,{config:i,state:o}=a,s=t==null?void 0:t.replace(/\./g,"_");let l;return t&&s in i?Qe(e)?(i[s]=e,l=e,n&&this.flush()):l=i[s]:(arguments.length===0||qn(t))&&(l=o.orgConfig),l}},ym={color(t){return this.internal.color(t)}};const au=function(t){const{targets:e}=this.internal.data;if(!ln(t)){const n=je(t)?t:[t];return e.filter(a=>n.some(i=>i===a.id))}return e};yn(au,{shown:function(t){return this.internal.filterTargetsToShow(this.data(t))},values:function(t,e=!0){let n=null;if(t){const a=this.data(t);je(a)&&(n=[],a.forEach(i=>{const o=i.values.map(s=>s.value);e?n=n.concat(o):n.push(o)}))}return n},names:function(t){return this.internal.updateDataAttributes("names",t)},colors:function(t){return this.internal.updateDataAttributes("colors",t)},axes:function(t){return this.internal.updateDataAttributes("axes",t)},min:function(){return this.internal.getMinMaxData().min},max:function(){return this.internal.getMinMaxData().max}});var xm={data:au};const Tm=t=>{var e,n;return(n=(e=Ke).btoa)==null?void 0:n.call(e,encodeURIComponent(t).replace(/%([0-9A-F]{2})/g,(a,i)=>String.fromCharCode(+`0x${i}`)))};function $m(t,e,n){const{width:a,height:i}=e||n,o=new XMLSerializer,s=t.cloneNode(!0),l=tv(Lr(gn.styleSheets)).filter(m=>m.cssText).map(m=>m.cssText);s.setAttribute("xmlns",ae.xhtml),s.style.margin="0",s.style.padding="0",e.preserveFontStyle&&s.querySelectorAll("text").forEach(m=>{m.innerHTML=""});const c=o.serializeToString(s),f=gn.createElement("style");f.appendChild(gn.createTextNode(l.join(` +`)));const g=o.serializeToString(f),v=` + + ${g} + ${c.replace(/(url\()[^#]+/g,"$1")} + `;return`data:image/svg+xml;base64,${Tm(v)}`}function Sm(t,e){const{top:n,left:a}=e,{x:i,y:o}=t.getBBox(),{a:s,b:l,c,d:f,e:g,f:v}=t.getScreenCTM(),{width:m,height:S}=t.getBoundingClientRect();return{x:s*i+c*o+g-a,y:l*i+f*o+v-n+(S-Math.round(S/4)),width:m,height:S}}function Am(t){const{left:e,top:n}=t.getBoundingClientRect(),a=o=>o.textContent||o.childElementCount,i=[];return Lr(t.querySelectorAll("text")).filter(a).forEach(o=>{const s=l=>{const{fill:c,fontFamily:f,fontSize:g,textAnchor:v,transform:m}=Ke.getComputedStyle(l),{x:S,y:P,width:N,height:L}=Sm(l,{left:e,top:n});return{[l.textContent]:{x:S,y:P,width:N,height:L,fill:c,fontFamily:f,fontSize:g,textAnchor:v,transform:m}}};if(o.childElementCount>1){const l=[];return Lr(o.querySelectorAll("tspan")).filter(a).forEach(c=>{i.push(s(c))}),l}else i.push(s(o))}),i}function Em(t,e){e.forEach(n=>{Object.keys(n).forEach(a=>{const{x:i,y:o,width:s,height:l,fill:c,fontFamily:f,fontSize:g,transform:v}=n[a];if(t.save(),t.font=`${g} ${f}`,t.fillStyle=c,v==="none")t.fillText(a,i,o);else{const m=v.replace(/(matrix|\(|\))/g,"").split(",");m.splice(4).every(S=>+S==0)?(m.push(i+s-s/4),m.push(o-l+l/3)):(m.push(i),m.push(o)),t.transform(...m),t.fillText(a,0,0)}t.restore()})})}var bm={export(t,e){const n=this.internal,{state:a,$el:{chart:i,svg:o}}=n,{width:s,height:l}=a.current,c=ea(Object.create(null),{width:s,height:l,preserveAspectRatio:!0,preserveFontStyle:!1,mimeType:"image/png"},t),f=$m(i.node(),c,{width:s,height:l}),g=c.preserveFontStyle?Am(o.node()):[];if(e&&ve(e)){const v=new Image;v.crossOrigin="Anonymous",v.onload=()=>{const m=gn.createElement("canvas"),S=m.getContext("2d");m.width=c.width||s,m.height=c.height||l,S.drawImage(v,0,0),g.length&&(Em(S,g),g.length=0),e.bind(this)(m.toDataURL(c.mimeType))},v.src=f}return f}},Rm={focus(t){const e=this.internal,{state:n}=e,a=e.mapToTargetIds(t),i=e.$el.svg.selectAll(e.selectorTargets(a.filter(e.isTargetToShow,e)));this.revert(),this.defocus(),i.classed(qe.focused,!0).classed(qe.defocused,!1),e.hasArcType()&&!n.hasRadar&&(e.expandArc(a),e.hasType("gauge")&&e.markOverlapped(t,e,`.${Un.gaugeValue}`)),e.toggleFocusLegend(a,!0),n.focusedTargetIds=a,n.defocusedTargetIds=n.defocusedTargetIds.filter(o=>a.indexOf(o)<0)},defocus(t){const e=this.internal,{state:n}=e,a=e.mapToTargetIds(t);e.$el.svg.selectAll(e.selectorTargets(a.filter(e.isTargetToShow,e))).classed(qe.focused,!1).classed(qe.defocused,!0),e.hasArcType(null,["polar"])&&(e.unexpandArc(a),e.hasType("gauge")&&e.undoMarkOverlapped(e,`.${Un.gaugeValue}`)),e.toggleFocusLegend(a,!1),n.focusedTargetIds=n.focusedTargetIds.filter(o=>a.indexOf(o)<0),n.defocusedTargetIds=a},revert(t){const e=this.internal,{config:n,state:a,$el:i}=e,o=e.mapToTargetIds(t);i.svg.selectAll(e.selectorTargets(o)).classed(qe.focused,!1).classed(qe.defocused,!1),e.hasArcType(null,["polar"])&&e.unexpandArc(o),n.legend_show&&(e.showLegend(o.filter(e.isLegendToShow.bind(e))),i.legend.selectAll(e.selectorLegends(o)).filter(function(){return ot(this).classed(qe.legendItemFocused)}).classed(qe.legendItemFocused,!1)),a.focusedTargetIds=[],a.defocusedTargetIds=[]}},Im={legend:{show:function(t){const e=this.internal;e.showLegend(e.mapToTargetIds(t)),e.updateAndRedraw({withLegend:!0})},hide:function(t){const e=this.internal;e.hideLegend(e.mapToTargetIds(t)),e.updateAndRedraw({withLegend:!0})}}},Om={load(t){const e=this.internal,{config:n}=e;t.xs&&e.addXs(t.xs),"names"in t&&this.data.names(t.names),"classes"in t&&Object.keys(t.classes).forEach(a=>{n.data_classes[a]=t.classes[a]}),"categories"in t&&e.axis.isCategorized()&&(n.axis_x_categories=t.categories),"axes"in t&&Object.keys(t.axes).forEach(a=>{n.data_axes[a]=t.axes[a]}),"colors"in t&&Object.keys(t.colors).forEach(a=>{n.data_colors[a]=t.colors[a]}),"unload"in t&&t.unload!==!1?e.unload(e.mapToTargetIds(t.unload===!0?null:t.unload),()=>{jl(()=>e.loadFromArgs(t))}):e.loadFromArgs(t)},unload(t){const e=this.internal;let n=t||{};qn(n)&&this.tooltip.hide(),je(n)?n={ids:n}:ze(n)&&(n={ids:[n]});const a=e.mapToTargetIds(n.ids);e.unload(a,()=>{e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0}),e.cache.remove(a),cc.call(e,n.done,n.resizeAfter)})}};function iu(t,e,n){const a=this.internal,i=a.mapToTargetIds(e),o=a.state.hiddenTargetIds.map(c=>i.indexOf(c)>-1&&c).filter(Boolean);a.state.toggling=!0,a[`${t?"remove":"add"}HiddenTargetIds`](i);const s=a.$el.svg.selectAll(a.selectorTargets(i)),l=t?null:"0";t&&o.length&&(s.style("display",null),_e(a.config.data_onshown,this,o)),a.$T(s).style("opacity",l,"important").call(Si,()=>{var c;!t&&o.length===0&&(s.style("display","none"),_e((c=a.config)==null?void 0:c.data_onhidden,this,i)),s.style("opacity",l)}),n.withLegend&&a[`${t?"show":"hide"}Legend`](i),a.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0}),a.state.toggling=!1}var Cm={show(t,e={}){iu.call(this,!0,t,e)},hide(t,e={}){iu.call(this,!1,t,e)},toggle(t,e={}){const n=this.internal,a={show:[],hide:[]};n.mapToTargetIds(t).forEach(i=>a[n.isTargetToShow(i)?"hide":"show"].push(i)),a.show.length&&this.show(a.show,e),a.hide.length&&setTimeout(()=>this.hide(a.hide,e),0)}},Pm={tooltip:{show:function(t){var e,n,a;const i=this.internal,{$el:o,config:s,state:{eventReceiver:l,hasFunnel:c,hasTreemap:f,inputType:g}}=i;let v,m;if(t.mouse&&(m=t.mouse),t.data){const{data:S}=t,P=(e=i.getYScaleById(S.id))==null?void 0:e(S.value);if((c||f)&&S.id){const N=i.selectorTarget(S.id,void 0,`.${sn.shape}`);l.rect=o.main.select(N)}else i.isMultipleX()?m=[i.xx(S),P]:(s.tooltip_grouped||(m=[0,P]),v=(a=S.index)!=null?a:i.hasArcType()&&S.id?(n=i.getArcElementByIdOrIndex(S.id))==null?void 0:n.datum().index:i.getIndexByX(S.x))}else Qe(t.x)?v=i.getIndexByX(t.x):Qe(t.index)&&(v=t.index);(g==="mouse"?["mouseover","mousemove"]:["touchstart"]).forEach(S=>{i.dispatchEvent(S,v,m)})},hide:function(){var t,e,n;const a=this.internal,{state:{inputType:i},$el:{tooltip:o}}=a,s=o==null?void 0:o.datum();if(s){const{index:l}=JSON.parse(s.current)[0];(i==="mouse"?["mouseout"]:["touchend"]).forEach(c=>{a.dispatchEvent(c,l)})}i==="touch"&&a.callOverOutForTouch(),a.hideTooltip(!0),(t=a.hideGridFocus)==null||t.call(a),(e=a.unexpandCircles)==null||e.call(a),(n=a.expandBarTypeShapes)==null||n.call(a,!1)}}},wm=Object.defineProperty,Mm=(t,e,n)=>e in t?wm(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ou=(t,e,n)=>Mm(t,typeof e!="symbol"?e+"":e,n);class Er{constructor(e){ou(this,"plugins",[]),ou(this,"internal");const n=new Vr(this);this.internal=n,function a(i,o,s){Object.keys(i).forEach(l=>{const c=ve(i[l]),f=o!==s,g=cn(i[l]),v=g&&Object.keys(i[l]).length>0;c&&(!f&&v||f)?o[l]=i[l].bind(s):g&&!c?o[l]={}:o[l]=i[l],v&&a(i[l],o[l],s)})}(Er.prototype,this,this),pm.call(n,e),n.beforeInit(),n.init()}}yn(Er.prototype,[mm,ym,xm,bm,Rm,Im,Om,Cm,Pm]);function su(t=!1,e,n,a){const i=this,{config:o,$el:{main:s}}=i,l=o.data_selection_grouped,c=o.data_selection_isselectable.bind(i.api);o.data_selection_enabled&&s.selectAll(`.${sn.shapes}`).selectAll(`.${sn.shape}`).each(function(f){const g=ot(this),{id:v,index:m}=f.data?f.data:f,S=i.getToggle(this,f).bind(i),P=l||!e||e.indexOf(v)>=0,N=!n||n.indexOf(m)>=0,L=g.classed(tn.SELECTED);g.classed(ur.line)||g.classed(ti.area)||(t?P&&N&&c(f)&&!L?S(!0,g.classed(tn.SELECTED,!0),f,m):Qe(a)&&a&&L&&S(!1,g.classed(tn.SELECTED,!1),f,m):P&&N&&c(f)&&L&&S(!1,g.classed(tn.SELECTED,!1),f,m))})}var Dm={selected(t){const e=this.internal,n=[];return e.$el.main.selectAll(`.${sn.shapes+e.getTargetSelectorSuffix(t)}`).selectAll(`.${sn.shape}`).filter(function(){return ot(this).classed(tn.SELECTED)}).each(a=>n.push(a)),n},select(t,e,n){const a=this.internal;su.bind(a)(!0,t,e,n)},unselect(t,e){const n=this.internal;su.bind(n)(!1,t,e)}};const lu=function(t){var e;const n=this.internal,{axis:a,brush:i,config:o,scale:{x:s,subX:l},state:c}=n;let f;return o.subchart_show&&(f=t,Array.isArray(f)?(a.isTimeSeries()&&(f=f.map(v=>Yn.bind(n)(v))),n.withinRange(f,n.getZoomDomain("subX",!0),n.getZoomDomain("subX"))&&(c.domain=f,i.move(i.getSelection(),f.map(l)))):f=(e=c.domain)!=null?e:s.orgDomain()),f};yn(lu,{show(){var t,e;const n=this.internal,{$el:{subchart:a},config:i}=n,o=i.subchart_show;if(!o){n.unbindZoomEvent(),i.subchart_show=!o,!a.main&&n.initSubchart();let s=a.main.selectAll(`.${Se.target}`);n.data.targets.length!==s.size()&&(n.updateSizes(),n.updateTargetsForSubchart(n.data.targets),s=(t=a.main)==null?void 0:t.selectAll(`.${Se.target}`)),s==null||s.style("opacity",null),(e=a.main)==null||e.style("display",null),this.resize()}},hide(){const t=this.internal,{$el:{subchart:{main:e}},config:n}=t;n.subchart_show&&(e==null?void 0:e.style("display"))!=="none"&&(n.subchart_show=!1,e.style("display","none"),this.resize())},toggle(){const t=this.internal,{config:e}=t;this.subchart[e.subchart_show?"hide":"show"]()},reset(){const t=this.internal,{brush:e}=t;e.clear(e.getSelection())}});var Lm={subchart:lu},Nm=1e-12;function cu(t){return((t=Math.exp(t))+1/t)/2}function Fm(t){return((t=Math.exp(t))-1/t)/2}function Bm(t){return((t=Math.exp(2*t))-1)/(t+1)}var Um=function t(e,n,a){function i(o,s){var l=o[0],c=o[1],f=o[2],g=s[0],v=s[1],m=s[2],S=g-l,P=v-c,N=S*S+P*P,L,w;if(N()=>t;function zm(t,{sourceEvent:e,target:n,transform:a,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:a,enumerable:!0,configurable:!0},_:{value:i}})}function vr(t,e,n){this.k=t,this.x=e,this.y=n}vr.prototype={constructor:vr,scale:function(t){return t===1?this:new vr(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new vr(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var ar=new vr(1,0,0);vs.prototype=vr.prototype;function vs(t){for(;!t.__zoom;)if(!(t=t.parentNode))return ar;return t.__zoom}function ps(t){t.stopImmediatePropagation()}function Ba(t){t.preventDefault(),t.stopImmediatePropagation()}function jm(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function Vm(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function uu(){return this.__zoom||ar}function Gm(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function Xm(){return navigator.maxTouchPoints||"ontouchstart"in this}function Hm(t,e,n){var a=t.invertX(e[0][0])-n[0][0],i=t.invertX(e[1][0])-n[1][0],o=t.invertY(e[0][1])-n[0][1],s=t.invertY(e[1][1])-n[1][1];return t.translate(i>a?(a+i)/2:Math.min(0,a)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function Ym(){var t=jm,e=Vm,n=Hm,a=Gm,i=Xm,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],l=250,c=Um,f=ri("start","zoom","end"),g,v,m,S=500,P=150,N=0,L=10;function w(Q){Q.property("__zoom",uu).on("wheel.zoom",ht,{passive:!1}).on("mousedown.zoom",$t).on("dblclick.zoom",dt).filter(i).on("touchstart.zoom",st).on("touchmove.zoom",Vt).on("touchend.zoom touchcancel.zoom",vt).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}w.transform=function(Q,St,ct,At){var Gt=Q.selection?Q.selection():Q;Gt.property("__zoom",uu),Q!==Gt?k(Q,St,ct,At):Gt.interrupt().each(function(){K(this,arguments).event(At).start().zoom(null,typeof St=="function"?St.apply(this,arguments):St).end()})},w.scaleBy=function(Q,St,ct,At){w.scaleTo(Q,function(){var Gt=this.__zoom.k,Bt=typeof St=="function"?St.apply(this,arguments):St;return Gt*Bt},ct,At)},w.scaleTo=function(Q,St,ct,At){w.transform(Q,function(){var Gt=e.apply(this,arguments),Bt=this.__zoom,Kt=ct==null?H(Gt):typeof ct=="function"?ct.apply(this,arguments):ct,ne=Bt.invert(Kt),le=typeof St=="function"?St.apply(this,arguments):St;return n(W(X(Bt,le),Kt,ne),Gt,s)},ct,At)},w.translateBy=function(Q,St,ct,At){w.transform(Q,function(){return n(this.__zoom.translate(typeof St=="function"?St.apply(this,arguments):St,typeof ct=="function"?ct.apply(this,arguments):ct),e.apply(this,arguments),s)},null,At)},w.translateTo=function(Q,St,ct,At,Gt){w.transform(Q,function(){var Bt=e.apply(this,arguments),Kt=this.__zoom,ne=At==null?H(Bt):typeof At=="function"?At.apply(this,arguments):At;return n(ar.translate(ne[0],ne[1]).scale(Kt.k).translate(typeof St=="function"?-St.apply(this,arguments):-St,typeof ct=="function"?-ct.apply(this,arguments):-ct),Bt,s)},At,Gt)};function X(Q,St){return St=Math.max(o[0],Math.min(o[1],St)),St===Q.k?Q:new vr(St,Q.x,Q.y)}function W(Q,St,ct){var At=St[0]-ct[0]*Q.k,Gt=St[1]-ct[1]*Q.k;return At===Q.x&&Gt===Q.y?Q:new vr(Q.k,At,Gt)}function H(Q){return[(+Q[0][0]+ +Q[1][0])/2,(+Q[0][1]+ +Q[1][1])/2]}function k(Q,St,ct,At){Q.on("start.zoom",function(){K(this,arguments).event(At).start()}).on("interrupt.zoom end.zoom",function(){K(this,arguments).event(At).end()}).tween("zoom",function(){var Gt=this,Bt=arguments,Kt=K(Gt,Bt).event(At),ne=e.apply(Gt,Bt),le=ct==null?H(ne):typeof ct=="function"?ct.apply(Gt,Bt):ct,be=Math.max(ne[1][0]-ne[0][0],ne[1][1]-ne[0][1]),Oe=Gt.__zoom,Ce=typeof St=="function"?St.apply(Gt,Bt):St,He=c(Oe.invert(le).concat(be/Oe.k),Ce.invert(le).concat(be/Ce.k));return function(Fe){if(Fe===1)Fe=Ce;else{var dn=He(Fe),Jt=be/dn[2];Fe=new vr(Jt,le[0]-dn[0]*Jt,le[1]-dn[1]*Jt)}Kt.zoom(null,Fe)}})}function K(Q,St,ct){return!ct&&Q.__zooming||new at(Q,St)}function at(Q,St){this.that=Q,this.args=St,this.active=0,this.sourceEvent=null,this.extent=e.apply(Q,St),this.taps=0}at.prototype={event:function(Q){return Q&&(this.sourceEvent=Q),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(Q,St){return this.mouse&&Q!=="mouse"&&(this.mouse[1]=St.invert(this.mouse[0])),this.touch0&&Q!=="touch"&&(this.touch0[1]=St.invert(this.touch0[0])),this.touch1&&Q!=="touch"&&(this.touch1[1]=St.invert(this.touch1[0])),this.that.__zoom=St,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(Q){var St=ot(this.that).datum();f.call(Q,this.that,new zm(Q,{sourceEvent:this.sourceEvent,target:w,type:Q,transform:this.that.__zoom,dispatch:f}),St)}};function ht(Q,...St){if(!t.apply(this,arguments))return;var ct=K(this,St).event(Q),At=this.__zoom,Gt=Math.max(o[0],Math.min(o[1],At.k*Math.pow(2,a.apply(this,arguments)))),Bt=Xn(Q);if(ct.wheel)(ct.mouse[0][0]!==Bt[0]||ct.mouse[0][1]!==Bt[1])&&(ct.mouse[1]=At.invert(ct.mouse[0]=Bt)),clearTimeout(ct.wheel);else{if(At.k===Gt)return;ct.mouse=[Bt,At.invert(Bt)],qr(this),ct.start()}Ba(Q),ct.wheel=setTimeout(Kt,P),ct.zoom("mouse",n(W(X(At,Gt),ct.mouse[0],ct.mouse[1]),ct.extent,s));function Kt(){ct.wheel=null,ct.end()}}function $t(Q,...St){if(m||!t.apply(this,arguments))return;var ct=Q.currentTarget,At=K(this,St,!0).event(Q),Gt=ot(Q.view).on("mousemove.zoom",le,!0).on("mouseup.zoom",be,!0),Bt=Xn(Q,ct),Kt=Q.clientX,ne=Q.clientY;co(Q.view),ps(Q),At.mouse=[Bt,this.__zoom.invert(Bt)],qr(this),At.start();function le(Oe){if(Ba(Oe),!At.moved){var Ce=Oe.clientX-Kt,He=Oe.clientY-ne;At.moved=Ce*Ce+He*He>N}At.event(Oe).zoom("mouse",n(W(At.that.__zoom,At.mouse[0]=Xn(Oe,ct),At.mouse[1]),At.extent,s))}function be(Oe){Gt.on("mousemove.zoom mouseup.zoom",null),uo(Oe.view,At.moved),Ba(Oe),At.event(Oe).end()}}function dt(Q,...St){if(t.apply(this,arguments)){var ct=this.__zoom,At=Xn(Q.changedTouches?Q.changedTouches[0]:Q,this),Gt=ct.invert(At),Bt=ct.k*(Q.shiftKey?.5:2),Kt=n(W(X(ct,Bt),At,Gt),e.apply(this,St),s);Ba(Q),l>0?ot(this).transition().duration(l).call(k,Kt,At,Q):ot(this).call(w.transform,Kt,At,Q)}}function st(Q,...St){if(t.apply(this,arguments)){var ct=Q.touches,At=ct.length,Gt=K(this,St,Q.changedTouches.length===At).event(Q),Bt,Kt,ne,le;for(ps(Q),Kt=0;KtYn.bind(n)(v))),n.withinRange(f,n.getZoomDomain("zoom",!0),n.getZoomDomain("zoom"))){if(l.domain=f,f=n.getZoomDomainValue(f),n.api.tooltip.hide(),i.subchart_show){const v=s.zoom||s.x;n.brush.getSelection().call(n.brush.move,f.map(v))}else{const v=c?s.x.orgScale():o.xScale||s.x;n.updateCurrentZoomTransform(v,f)}n.setZoomResetButton()}}else f=n.zoom.getDomain();return(e=l.domain)!=null?e:f};yn(fu,{enable(t){const e=this.internal,{config:n}=e;/^(drag|wheel)$/.test(t)&&(n.zoom_type=t),n.zoom_enabled=!!t,e.zoom?t===!1&&e.bindZoomEvent(!1):(e.initZoom(),e.bindZoomEvent()),e.updateAndRedraw()},max(t){const e=this.internal,{config:n,org:{xDomain:a}}=e;return(t===0||t)&&(n.zoom_x_max=_n("max",[a[1],t])),n.zoom_x_max},min(t){const e=this.internal,{config:n,org:{xDomain:a}}=e;return(t===0||t)&&(n.zoom_x_min=_n("min",[a[0],t])),n.zoom_x_min},range(t){const e=this.zoom;if(Be(t)){const{min:n,max:a}=t;Qe(n)&&e.min(n),Qe(a)&&e.max(a)}return{min:e.min(),max:e.max()}}});var Wm={zoom:fu,unzoom(){const t=this.internal,{config:e,$el:{eventRect:n,zoomResetBtn:a},scale:{zoom:i},state:o}=t;i&&(e.subchart_show?t.brush.getSelection().call(t.brush.move,null):t.zoom.updateTransformScale(ar),t.updateZoom(!0),a==null||a.style("display","none"),vs(n.node())!==ar&&t.zoom.transform(n,ar),o.domain=void 0)}},Km={initBrush(){const t=this,{config:e,scale:n,$el:{subchart:a},state:i}=t,o=e.axis_rotated,s=e.subchart_size_height;let l,c,f;t.brush=(o?Gg():Vg()).handleSize(5),t.brush.on("start brush end",g=>{const{selection:v,sourceEvent:m,target:S,type:P}=g;P==="start"&&(t.state.inputType==="touch"&&t.hideTooltip(),c=m?v:null),/(start|brush)/.test(P)&&(P==="brush"&&m&&i.domain&&(c==null||c.forEach((N,L)=>{N!==v[L]&&(i.domain[L]=n.x.orgDomain()[L])})),t.redrawForBrush(P!=="start")),P==="end"&&(l=n.x.orgDomain()),S!=null&&S.handle&&(v===null?t.brush.handle.attr("display","none"):t.brush.handle.attr("display",null).attr("transform",(N,L)=>{const w=[v[L],s/2];return`translate(${o?w.reverse():w})`}))}),t.brush.updateResize=function(){f&&clearTimeout(f),f=setTimeout(()=>{const g=this.getSelection();l&&zl(g.node())&&this.move(g,l.map(n.subX.orgScale()))},0)},t.brush.update=function(){var g;return this.extent()()[1].filter(m=>isNaN(m)).length===0&&((g=a.main)==null||g.select(`.${Ue.brush}`).call(this)),this},t.brush.scale=function(g){const v=e.subchart_size_height;let m=t.axis.getExtent();!m&&g.range?m=[[0,0],[g.range()[1],v]]:je(m)&&(m=m.map((S,P)=>[S,P>0?v:P])),o&&m[1].reverse(),this.extent(m),this.update()},t.brush.getSelection=()=>a.main?a.main.select(`.${Ue.brush}`):ot([])},initSubchart(){const t=this,{config:e,state:{clip:n,hasAxis:a},$el:{defs:i,svg:o,subchart:s,axis:l}}=t;if(!a)return;const c=e.subchart_show?null:"hidden",f=`${n.id}-subchart`,g=t.getClipPath(f);n.idSubchart=f,t.appendClip(i,f),t.initBrush(),s.main=o.append("g").classed(Ue.subchart,!0).attr("transform",t.getTranslate("context"));const{main:v}=s;v.style("visibility",c),v.append("g").attr("clip-path",g).attr("class",Ue.chart),["bar","line","bubble","candlestick","scatter"].forEach(S=>{const P=Cn(/^(bubble|scatter)$/.test(S)?"circle":S);if(t.hasType(S)||t.hasTypeOf(P)){const N=v.select(`.${Ue.chart}`),L=Ue[`chart${P}s`];N.select(`.${L}`).empty()&&N.append("g").attr("class",L)}});const m=v.append("g").attr("clip-path",g).attr("class",Ue.brush).call(t.brush);e.subchart_showHandle&&t.addBrushHandle(m),l.subX=v.append("g").attr("class",Ue.axisX).attr("transform",t.getTranslate("subX")).attr("clip-path",e.axis_rotated?"":n.pathXAxis).style("visibility",e.subchart_axis_x_show?c:"hidden")},addBrushHandle(t){const e=this,{config:n}=e,a=n.axis_rotated,i=n.subchart_init_range,o="handle--custom",s=a?["M8.5 0 a6 6 0 0 0 -6 -6.5 H-2.5 a 6 6 0 0 0 -6 6.5 z m-5 -2 H-3.5 m7 -2 H-3.5z","M8.5 0 a6 -6 0 0 1 -6 6.5 H-2.5 a 6 -6 0 0 1 -6 -6.5z m-5 2 H-3.5 m7 2 H-3.5z"]:["M0 -8.5 A6 6 0 0 0 -6.5 -3.5 V2.5 A6 6 0 0 0 0 8.5 Z M-2 -3.5 V3.5 M-4 -3.5 V3.5z","M0 -8.5 A6 6 0 0 1 6.5 -3.5 V2.5 A6 6 0 0 1 0 8.5 Z M2 -3.5 V3.5 M4 -3.5 V3.5z"];e.brush.handle=t.selectAll(`.${o}`).data(a?[{type:"n"},{type:"s"}]:[{type:"w"},{type:"e"}]).enter().append("path").attr("class",o).attr("cursor",`${a?"ns":"ew"}-resize`).attr("d",l=>s[+/[se]/.test(l.type)]).attr("display",i?null:"none")},updateTargetsForSubchart(t){const e=this,{config:n,state:a,$el:{subchart:{main:i}}}=e;n.subchart_show&&(["bar","line","bubble","candlestick","scatter"].filter(o=>e.hasType(o)||e.hasTypeOf(Cn(o))).forEach(o=>{const s=/^(bubble|scatter)$/.test(o),l=Cn(s?"circle":o),c=e.getChartClass(l,!0),f=e.getClass(s?"circles":`${o}s`,!0),g=i.select(`.${Ue[`chart${`${l}s`}`]}`);if(s){const v=g.selectAll(`.${Ue.circles}`).data(t.filter(e[`is${Cn(o)}Type`].bind(e))).attr("class",f);v.exit().remove(),v.enter().append("g").attr("class",f)}else{const v=g.selectAll(`.${Ue[`chart${l}`]}`).attr("class",c).data(t.filter(e[`is${l}Type`].bind(e))),m=v.enter().append("g").style("opacity","0").attr("class",c).append("g").attr("class",f);v.exit().remove(),o==="line"&&e.hasTypeOf("Area")&&m.append("g").attr("class",e.getClass("areas",!0))}}),i.selectAll(`.${Ue.brush} rect`).attr(n.axis_rotated?"width":"height",n.axis_rotated?a.width2:a.height2))},redrawSubchart(t,e,n){var a;const i=this,{config:o,$el:{subchart:{main:s}},state:l}=i,c=!!e;if(s.style("visibility",o.subchart_show?null:"hidden"),o.subchart_show&&(((a=l.event)==null?void 0:a.type)==="zoom"&&i.brush.update(),t)){const f=o.subchart_init_range;if(!Kl(i)&&i.brush.update(),Object.keys(n.type).forEach(g=>{const v=Cn(g),m=i[`generateDraw${v}`](n.indices[g],!0);i[`update${v}`](c,!0),i[`redraw${v}`](m,c,!0)}),i.hasType("bubble")||i.hasType("scatter")){const{cx:g}=n.pos,v=i.updateCircleY(!0);i.updateCircle(!0),i.redrawCircle(g,v,c,void 0,!0)}!l.rendered&&f&&(l.domain=f,i.brush.move(i.brush.getSelection(),f.map(i.scale.x)))}},redrawForBrush(t=!0){var e;const n=this,{config:{subchart_onbrush:a,zoom_rescale:i},scale:o,state:s}=n;n.redraw({withTransition:!1,withY:i,withSubchart:!1,withUpdateXDomain:!0,withDimension:!1}),t&&s.rendered&&a.bind(n.api)((e=s.domain)!=null?e:o.x.orgDomain())},transformContext(t,e){const n=this,{$el:{subchart:a},$T:i}=n,o=e!=null&&e.axisSubX?e.axisSubX:i(a.main.select(`.${Ue.axisX}`),t);a.main.attr("transform",n.getTranslate("context")),o.attr("transform",n.getTranslate("subX"))}},Zm={initZoom(){const t=this;t.scale.zoom=null,t.generateZoom(),t.config.zoom_type==="drag"&&t.initZoomBehaviour()},bindZoomEvent(t=!0){const e=this,{config:n}=e;n.zoom_enabled&&t?!n.subchart_show&&e.bindZoomOnEventRect():t===!1&&(e.api.unzoom(),e.unbindZoomEvent())},generateZoom(){const t=this,{config:e,org:n,scale:a}=t,i=Ym().duration(0).on("start",t.onZoomStart.bind(t)).on("zoom",t.onZoom.bind(t)).on("end",t.onZoomEnd.bind(t));i.orgScaleExtent=()=>{const o=e.zoom_extent||[1,10];return[o[0],Math.max(t.getMaxDataCount()/o[1],o[1])]},i.updateScaleExtent=function(){const o=Dr(t.scale.x.orgDomain())/Dr(t.getZoomDomain()),s=this.orgScaleExtent();return this.scaleExtent([s[0]*o,s[1]*o]),this},i.updateTransformScale=(o,s)=>{var l;const c=e.axis_rotated;(l=n.xScale)==null||l.range(a.x.range());const f=o[c?"rescaleY":"rescaleX"](n.xScale||a.x);if(f.domain().some(m=>/(Invalid Date|NaN)/.test(m.toString())))return;const g=t.trimXDomain(f.domain()),v=e.zoom_rescale;if(f.domain(g,n.xDomain),s){const m=f(a.x.domain()[0]),S=c?o.x:m,P=c?m:o.y;t.$el.eventRect.property("__zoom",ar.translate(S,P).scale(o.k))}t.state.xTickOffset||(t.state.xTickOffset=t.axis.x.tickOffset()),a.zoom=t.getCustomizedXScale(f),t.axis.x.scale(a.zoom),v?(!n.xScale&&(n.xScale=a.x.copy()),a.x.domain(g)):n.xScale&&(a.x.domain(n.xScale.domain()),n.xScale=null)},i.getDomain=()=>{const o=a[a.zoom?"zoom":"subX"].domain();return t.axis.isCategorized()&&(o[1]-=2),o},t.zoom=i},onZoomStart(t){const e=this,{sourceEvent:n}=t;n&&(e.zoom.startEvent=n,e.state.zooming=!0,_e(e.config.zoom_onzoomstart,e.api,t))},onZoom(t){var e;const n=this,{config:a,scale:i,state:o,org:s}=n,{sourceEvent:l}=t,c=(t==null?void 0:t.transform)===ar;if(!a.zoom_enabled||n.filterTargetsToShow(n.data.targets).length===0||!i.zoom&&(l==null?void 0:l.type.indexOf("touch"))>-1&&(l==null?void 0:l.touches.length)===1)return;t.sourceEvent&&(o.zooming=!0,o.domain=void 0);const f=(l==null?void 0:l.type)==="mousemove",g=(l==null?void 0:l.wheelDelta)<0,{transform:v}=t;!f&&g&&i.x.domain().every((S,P)=>S!==s.xDomain[P])&&i.x.domain(s.xDomain),n.zoom.updateTransformScale(v,a.zoom_type==="wheel"&&l);const m=a.transition_duration>0&&!a.subchart_show&&(o.dragging||c||!t.sourceEvent);n.redraw({withTransition:m,withY:a.zoom_rescale,withSubchart:!1,withEventRect:!1,withDimension:!1}),n.state.cancelClick=f,!c&&_e(a.zoom_onzoom,n.api,(e=n.state.domain)!=null?e:n.zoom.getDomain())},onZoomEnd(t){var e,n;const a=this,{config:i,state:o}=a;let{startEvent:s}=a.zoom,l=t==null?void 0:t.sourceEvent;const c=(t==null?void 0:t.transform)===ar;(s==null?void 0:s.type.indexOf("touch"))>-1&&(s=s.changedTouches[0],l=(e=l==null?void 0:l.changedTouches)==null?void 0:e[0]),!(i.zoom_type==="drag"&&l&&s.clientX===l.clientX&&s.clientY===l.clientY)&&(o.zooming=!1,a.redrawEventRect(),a.updateZoom(),!c&&(l||o.dragging)&&_e(i.zoom_onzoomend,a.api,(n=a.state.domain)!=null?n:a.zoom.getDomain()))},updateZoom(t){const e=this,{subX:n,x:a,zoom:i}=e.scale;if(i){const o=i.domain(),s=n.domain(),l=.015,c=e.config.axis_x_inverted?(o[0]>=s[0]||o[0]+l>=s[0])&&(s[1]>=o[1]||s[1]>=o[1]+l):(o[0]<=s[0]||o[0]-l<=s[0])&&(s[1]<=o[1]||s[1]<=o[1]-l);(t||c)&&(e.axis.x.scale(n),a.domain(n.orgDomain()),e.scale.zoom=null)}},updateCurrentZoomTransform(t,e){const n=this,{$el:{eventRect:a},config:i}=n,o=i.axis_rotated,s=[-t(e[0]),0],l=ar.scale(t.range()[1]/(t(e[1])-t(e[0]))).translate(...o?s.reverse():s);a.call(n.zoom.transform,l)},bindZoomOnEventRect(){var t;const e=this,{config:n,$el:{eventRect:a,svg:i}}=e,o=n.zoom_type==="drag"?e.zoomBehaviour:e.zoom;Ke.GestureEvent&&/^((?!chrome|android|mobile).)*safari/i.test((t=Ke.navigator)==null?void 0:t.userAgent)&&i.on("wheel",()=>{}),a==null||a.call(o).on("dblclick.zoom",null)},initZoomBehaviour(){const t=this,{config:e,state:n}=t,a=e.axis_rotated;let i=0,o=0,s,l;const c={axis:a?"y":"x",attr:a?"height":"width",index:a?1:0};t.zoomBehaviour=uc().clickDistance(4).on("start",function(f){l=t.scale.zoom?null:t.axis.getExtent(),n.event=f,t.setDragStatus(!0),t.unselectRect(),s||(s=t.$el.main.append("rect").attr("clip-path",n.clip.path).attr("class",so.zoomBrush).attr("width",a?n.width:0).attr("height",a?0:n.height)),i=Hn(f,this)[c.index],l&&(il[1]&&(i=l[1])),o=i,s.attr(c.axis,i).attr(c.attr,0),t.onZoomStart(f)}).on("drag",function(f){o=Hn(f,this)[c.index],l&&(o>l[1]?o=l[1]:o{const g=t.scale.zoom||t.scale.x;n.event=f,s.attr(c.axis,0).attr(c.attr,0),i>o&&([i,o]=[o,i]),i<0&&(o+=Math.abs(i),i=0),i!==o&&t.api.zoom([i,o].map(v=>g.invert(v))),t.setDragStatus(!1)})},setZoomResetButton(){const t=this,{config:e,$el:n}=t,a=e.zoom_resetButton;a&&e.zoom_type==="drag"&&(n.zoomResetBtn?n.zoomResetBtn.style("display",null):n.zoomResetBtn=t.$el.chart.append("div").classed(Se.button,!0).append("span").on("click",function(){ve(a.onclick)&&a.onclick.bind(t.api)(this),t.api.unzoom()}).classed(so.buttonZoomReset,!0).text(a.text||"Reset Zoom"))},getZoomTransform(){const t=this,{$el:{eventRect:e}}=t;return e!=null&&e.node()?vs(e.node()):{k:1}}},Jm={drag(t){const e=this,{config:n,state:a,$el:{main:i}}=e,o=n.data_selection_grouped,s=n.interaction_enabled&&n.data_selection_isselectable;if(e.hasArcType()||!n.data_selection_enabled||n.zoom_enabled&&!e.zoom.altDomain||!n.data_selection_multiple)return;const[l,c]=a.dragStart||[0,0],[f,g]=t,v=Math.min(l,f),m=Math.max(l,f),S=o?a.margin.top:Math.min(c,g),P=o?a.height:Math.max(c,g);i.select(`.${Or.dragarea}`).attr("x",v).attr("y",S).attr("width",m-v).attr("height",P-S),i.selectAll(`.${sn.shapes}`).selectAll(`.${sn.shape}`).filter(N=>s==null?void 0:s.bind(e.api)(N)).each(function(N,L){const w=ot(this),X=w.classed(tn.SELECTED),W=w.classed(Or.INCLUDED);let H=!1,k;if(w.classed($n.circle)){const K=+w.attr("cx")*1,at=+w.attr("cy")*1;k=e.togglePoint,H=ve in t?Qm(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ey=(t,e)=>{for(var n in e||(e={}))_m.call(e,n)&&hu(t,n,e[n]);if(du)for(var n of du(e))ty.call(e,n)&&hu(t,n,e[n]);return t},ny=(t,e)=>km(t,qm(e)),ry=ny(ey({},Jm),{selectPoint(t,e,n){const a=this,{config:i,$el:{main:o},$T:s}=a,l=i.axis_rotated,c=(l?a.circleY:a.circleX).bind(a),f=(l?a.circleX:a.circleY).bind(a),g=a.pointSelectR.bind(a);_e(i.data_onselected,a.api,e,t.node()),s(o.select(`.${tn.selectedCircles}${a.getTargetSelectorSuffix(e.id)}`).selectAll(`.${tn.selectedCircle}-${n}`).data([e]).enter().append("circle").attr("class",()=>a.generateClass(tn.selectedCircle,n)).attr("cx",c).attr("cy",f).attr("stroke",a.color).attr("r",v=>a.pointSelectR(v)*1.4)).attr("r",g)},unselectPoint(t,e,n){const a=this,{config:i,$el:{main:o},$T:s}=a;_e(i.data_onunselected,a.api,e,t==null?void 0:t.node()),s(o.select(`.${tn.selectedCircles}${a.getTargetSelectorSuffix(e.id)}`).selectAll(`.${tn.selectedCircle}-${n}`)).attr("r",0).remove()},togglePoint(t,e,n,a){this[`${t?"":"un"}selectPoint`](e,n,a)},selectPath(t,e){const n=this,{config:a}=n;_e(a.data_onselected,n.api,e,t.node()),a.interaction_brighten&&t.style("filter","brightness(1.25)")},unselectPath(t,e){const n=this,{config:a}=n;_e(a.data_onunselected,n.api,e,t.node()),a.interaction_brighten&&t.style("filter",null)},togglePath(t,e,n,a){this[`${t?"":"un"}selectPath`](e,n,a)},getToggle(t,e){const n=this;return t.nodeName==="path"?n.togglePath:n.isStepType(e)?()=>{}:n.togglePoint},toggleShape(t,e,n){var a;const i=this,{config:o,$el:{main:s}}=i;if(o.data_selection_enabled&&o.data_selection_isselectable.bind(i.api)(e)){const l=ot(t),c=l.classed(tn.SELECTED),f=i.getToggle(t,e).bind(i);let g;if(!o.data_selection_multiple){const v=(a=i.isPointFocusOnly)==null?void 0:a.call(i);let m=`.${v?tn.selectedCircles:sn.shapes}`;o.data_selection_grouped&&(m+=i.getTargetSelectorSuffix(e.id)),s.selectAll(m).selectAll(v?`.${tn.selectedCircle}`:`.${sn.shape}.${tn.SELECTED}`).classed(tn.SELECTED,!1).each(function(S){const P=ot(this);g=P,f(!1,P,S,S.index)})}(!g||g.node()!==l.node())&&(l.classed(tn.SELECTED,!c),f(!c,l,e,n))}}}),ay={data_selection_enabled:!1,data_selection_grouped:!1,data_selection_isselectable:()=>!0,data_selection_multiple:!0,data_selection_draggable:!1,data_onselected:()=>{},data_onunselected:()=>{}},iy={subchart_show:!1,subchart_showHandle:!1,subchart_size_height:60,subchart_axis_x_show:!0,subchart_axis_x_tick_show:!0,subchart_axis_x_tick_format:void 0,subchart_axis_x_tick_text_show:!0,subchart_init_range:void 0,subchart_onbrush:()=>{}},oy={zoom_enabled:!1,zoom_type:"wheel",zoom_extent:void 0,zoom_privileged:!1,zoom_rescale:!1,zoom_onzoom:void 0,zoom_onzoomstart:void 0,zoom_onzoomend:void 0,zoom_resetButton:!0,zoom_x_min:void 0,zoom_x_max:void 0};let gu=()=>(yn(Vr.prototype,ry),yn(Er.prototype,Dm),Nr.setOptions([ay]),(gu=()=>!0)()),vu=()=>(yn(Vr.prototype,Km),yn(Er.prototype,Lm),Nr.setOptions([iy]),(vu=()=>!0)()),pu=()=>(yn(Vr.prototype,Zm),yn(Er.prototype,Wm),Nr.setOptions([oy]),(pu=()=>!0)());function mu(t,e,n){const{config:a}=t,i=(o,s)=>{const l=he(s)?s:s===!1?void 0:null;l!==null&&(a[`axis_${o}_${e}`]=l)};Qe(n)&&(nr(n)?Object.keys(n).forEach(o=>{i(o,n[o])}):(he(n)||n===!1)&&["y","y2"].forEach(o=>{i(o,n)}),t.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0}))}function yu(t,e){const{config:n}=t;return{x:n[`axis_x_${e}`],y:n[`axis_y_${e}`],y2:n[`axis_y2_${e}`]}}var sy={axis:{labels:function(t){const e=this.internal;let n;return t&&(Object.keys(t).forEach(a=>{e.axis.setLabelText(a,t[a])}),e.axis.updateLabels()),["x","y","y2"].forEach(a=>{const i=e.axis.getLabelText(a);i&&(!n&&(n={}),n[a]=i)}),n},min:function(t){const e=this.internal;return De(t)||t===!1?mu(e,"min",t):yu(e,"min")},max:function(t){const e=this.internal;return De(t)||t===!1?mu(e,"max",t):yu(e,"max")},range:function(t){const{axis:e}=this;if(arguments.length){const{min:n,max:a}=t;Qe(a)&&e.max(a),Qe(n)&&e.min(n)}else return{max:e.max(),min:e.min()}}}},ly={category(t,e){const n=this.internal,{config:a}=n;return arguments.length>1&&(a.axis_x_categories[t]=e,n.redraw()),a.axis_x_categories[t]},categories(t){const e=this.internal,{config:n}=e;if(!t||!Array.isArray(t)){const a=n.axis_x_categories;return qn(a)?Object.values(e.data.xs)[0]:a}return n.axis_x_categories=t,e.redraw(),n.axis_x_categories}},cy={flow(t){const e=this.internal;let n;(t.json||t.rows||t.columns)&&e.convertData(t,i=>{n=i,a()});function a(){let i,o=0,s=0,l,c;if(e.state.redrawing||!n||!Da())return;const f=[],g=e.getMaxDataCount(),v=e.convertDataToTargets(n,!0),m=e.axis.isTimeSeries();e.data.targets.forEach(N=>{let L=!1;for(let w=0;w{for(let L=0;L{const L=[];for(let w=e.data.targets[0].values[0].index;w{w.index+=s,m||(w.x+=s)}),N.values=L.concat(N.values)}),e.data.targets=e.data.targets.concat(v);const S=e.data.targets[0],P=S.values[0];Qe(t.to)?(o=0,c=m?Yn.call(e,t.to):t.to,S.values.forEach(N=>{N.x1?S.values[S.values.length-1].x-P.x:P.x-e.getXDomain(e.data.targets)[0]:l=1,i=[P.x-l,P.x]),i&&e.updateXDomain(null,!0,!0,!1,i),e.updateTargets(e.data.targets),e.redraw({flow:{index:P.index,length:o,duration:De(t.duration)?t.duration:e.config.transition_duration,done:t.done,orgDataCount:g},withLegend:!0,withTransition:g>1,withTrimXDomain:!1,withUpdateXAxis:!0})}}};function ms(t,e){const n=this.internal,{config:a}=n,i=a.transition_duration&&Da(),o=`grid_${e}_lines`;return t&&(a[o]=t,n.updateGrid(),n.redrawGrid(i)),a[o]}function xu(t,e){const n=`grid_${e}_lines`;return ms.bind(this)(this.internal.config[n].concat(t||[]),e)}function Tu(t,e){this.internal.removeGridLines(t,e)}const $u=function(t){return ms.bind(this)(t,"x")};yn($u,{add(t){return xu.bind(this)(t,"x")},remove(t){return Tu.bind(this)(t,!0)}});const Su=function(t){return ms.bind(this)(t,"y")};yn(Su,{add(t){return xu.bind(this)(t,"y")},remove(t){return Tu.bind(this)(t,!1)}});var uy={xgrids:$u,ygrids:Su},fy={groups(t){const e=this.internal,{config:n}=e;return ln(t)||(n.data_groups=t,e.redraw()),n.data_groups}};function Au(t,e=!1){const n=this.internal,{config:a}=n,i=a.transition_duration&&Da();return t?(a.regions=e?a.regions.concat(t):t,n.updateRegion(),n.redrawRegion(i),e?a.regions:t):a.regions}const Eu=function(t){return Au.bind(this)(t)};yn(Eu,{add:function(t){return Au.bind(this)(t,!0)},remove:function(t){const e=this.internal,{config:n,$T:a}=e,i=t||{},o=$r(i,"classes",[$a.region]);let s=e.$el.main.select(`.${$a.regions}`).selectAll(o.map(l=>`.${l}`));return a(s).style("opacity","0").remove(),s=n.regions,Object.keys(i).length?(s=s.filter(l=>{let c=!1;return l.class?(l.class.split(" ").forEach(f=>{o.indexOf(f)>=0&&(c=!0)}),!c):!0}),n.regions=s):n.regions=[],s}});var dy={regions:Eu},hy={x(t){const e=this.internal,{axis:n,data:a}=e,i=n.isCustomX()&&n.isCategorized();return je(t)&&(i?this.categories(t):(e.updateTargetX(a.targets,t),e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0}))),i?this.categories():a.xs},xs(t){const e=this.internal;return Be(t)&&(e.updateTargetXs(e.data.targets,t),e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0})),e.data.xs}};function gy(t){return t}var Xi=1,Hi=2,ys=3,Ua=4,bu=1e-6;function vy(t){return"translate("+t+",0)"}function py(t){return"translate(0,"+t+")"}function my(t){return e=>+t(e)}function yy(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function xy(){return!this.__axis}function Yi(t,e){var n=[],a=null,i=null,o=6,s=6,l=3,c=typeof window!="undefined"&&window.devicePixelRatio>1?0:.5,f=t===Xi||t===Ua?-1:1,g=t===Ua||t===Hi?"x":"y",v=t===Xi||t===ys?vy:py;function m(S){var P=a==null?e.ticks?e.ticks.apply(e,n):e.domain():a,N=i==null?e.tickFormat?e.tickFormat.apply(e,n):gy:i,L=Math.max(o,0)+l,w=e.range(),X=+w[0]+c,W=+w[w.length-1]+c,H=(e.bandwidth?yy:my)(e.copy(),c),k=S.selection?S.selection():S,K=k.selectAll(".domain").data([null]),at=k.selectAll(".tick").data(P,e).order(),ht=at.exit(),$t=at.enter().append("g").attr("class","tick"),dt=at.select("line"),st=at.select("text");K=K.merge(K.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),at=at.merge($t),dt=dt.merge($t.append("line").attr("stroke","currentColor").attr(g+"2",f*o)),st=st.merge($t.append("text").attr("fill","currentColor").attr(g,f*L).attr("dy",t===Xi?"0em":t===ys?"0.71em":"0.32em")),S!==k&&(K=K.transition(S),at=at.transition(S),dt=dt.transition(S),st=st.transition(S),ht=ht.transition(S).attr("opacity",bu).attr("transform",function(Vt){return isFinite(Vt=H(Vt))?v(Vt+c):this.getAttribute("transform")}),$t.attr("opacity",bu).attr("transform",function(Vt){var vt=this.parentNode.__axis;return v((vt&&isFinite(vt=vt(Vt))?vt:H(Vt))+c)})),ht.remove(),K.attr("d",t===Ua||t===Hi?s?"M"+f*s+","+X+"H"+c+"V"+W+"H"+f*s:"M"+c+","+X+"V"+W:s?"M"+X+","+f*s+"V"+c+"H"+W+"V"+f*s:"M"+X+","+c+"H"+W),at.attr("opacity",1).attr("transform",function(Vt){return v(H(Vt)+c)}),dt.attr(g+"2",f*o),st.attr(g,f*L).text(N),k.filter(xy).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===Hi?"start":t===Ua?"end":"middle"),k.each(function(){this.__axis=H})}return m.scale=function(S){return arguments.length?(e=S,m):e},m.ticks=function(){return n=Array.from(arguments),m},m.tickArguments=function(S){return arguments.length?(n=S==null?[]:Array.from(S),m):n.slice()},m.tickValues=function(S){return arguments.length?(a=S==null?null:Array.from(S),m):a&&a.slice()},m.tickFormat=function(S){return arguments.length?(i=S,m):i},m.tickSize=function(S){return arguments.length?(o=s=+S,m):o},m.tickSizeInner=function(S){return arguments.length?(o=+S,m):o},m.tickSizeOuter=function(S){return arguments.length?(s=+S,m):s},m.tickPadding=function(S){return arguments.length?(l=+S,m):l},m.offset=function(S){return arguments.length?(c=+S,m):c},m}function Ty(t){return Yi(Xi,t)}function $y(t){return Yi(Hi,t)}function Ru(t){return Yi(ys,t)}function Iu(t){return Yi(Ua,t)}var Sy=Object.defineProperty,Ay=(t,e,n)=>e in t?Sy(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,xs=(t,e,n)=>Ay(t,typeof e!="symbol"?e+"":e,n);class Ou{constructor(e){xs(this,"owner"),xs(this,"config"),xs(this,"scale");const n=zr(),{config:a,params:i}=e;this.owner=e,this.config=a,this.scale=n,(a.noTransition||!i.config.transition_duration)&&(a.withoutTransition=!0),a.range=this.scaleExtent((i.orgXScale||n).range())}static getSizeFor1Char(e,n=!0){const a={w:5.5,h:11.5};return!e.empty()&&e.text("0").call(i=>{try{const{width:o,height:s}=i.node().getBBox();o&&s&&(a.w=o,a.h=s)}finally{i.text("")}}),n&&(this.getSizeFor1Char=()=>a),a}getTickTransformSetter(e){const{config:n}=this,a=e==="x"?i=>`translate(${i+n.tickOffset},0)`:i=>`translate(0,${i})`;return(i,o)=>{i.attr("transform",s=>{const l=o(s);return De(s)?a(l):null})}}scaleExtent(e){const n=e[0],a=e[e.length-1];return n0?i:1,o]).range(e.range());s=c.ticks();for(let f=o.toFixed().length;s.length>15;f--)s=c.ticks(f);s.splice(0,1,i),s.splice(s.length-1,1,o)}else s=e.ticks(...this.config.tickArguments||[]);s=s.map(c=>ze(c)&&he(c)&&!isNaN(c)&&Math.round(c*10)/10||c)}return s}copyScale(){const e=this.scale.copy();return e.domain().length||e.domain(this.scale.domain()),e.type=this.scale.type,e}textFormatted(e){const n=this.config.tickFormat,a=/\d+\.\d+0{5,}\d$/.test(e)?+String(e).replace(/0+\d$/,""):e,i=n?n(a):a;return Qe(i)?i:""}transitionise(e){const{config:n}=this;let a=e;if(n.withoutTransition)a=e.interrupt();else if(n.transition||!this.owner.params.noTransition)try{a=e.transition(n.transition)}catch(i){}return a}}var Ey=Object.defineProperty,by=(t,e,n)=>e in t?Ey(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,za=(t,e,n)=>by(t,typeof e!="symbol"?e+"":e,n);class Ry{constructor(e={}){za(this,"helper"),za(this,"config"),za(this,"params"),za(this,"g"),za(this,"generatedTicks");const n={innerTickSize:6,outerTickSize:e.outerTick?6:0,orient:"bottom",range:[],tickArguments:null,tickCentered:null,tickCulling:!0,tickFormat:null,tickLength:9,tickOffset:0,tickPadding:3,tickValues:null,transition:null,noTransition:e.noTransition};n.tickLength=Math.max(n.innerTickSize,0)+n.tickPadding,this.config=n,this.params=e,this.helper=new Ou(this)}create(e){const n=this,{config:a,helper:i,params:o}=n,{scale:s}=i,{orient:l}=a,c=this.splitTickText.bind(n),f=/^(left|right)$/.test(l),g=/^(top|bottom)$/.test(l),v=i.getTickTransformSetter(g?"x":"y"),m=v===i.axisX?"y":"x",S=/^(top|left)$/.test(l)?-1:1,P=o.tickTextRotate;this.config.range=s.rangeExtent?s.rangeExtent():i.scaleExtent((o.orgXScale||s).range());const{innerTickSize:N,tickLength:L,range:w}=a,X=o.id,W=X&&/^(x|y|y2)$/.test(X)?o.config[`axis_${X}_tick_text_position`]:{x:0,y:0},H=X==="subX"?"subchart_axis_x":`axis_${X}`,k=o.config[`${H}_show`],K={tick:k?o.config[`${H}_tick_show`]:!1,text:k?o.config[`${H}_tick_text_show`]:!1},at=o.config.axis_evalTextSize;let ht;e.each(function(){const $t=ot(this);let dt=this.__chart__||s,st=i.copyScale();ht=$t,this.__chart__=st,a.tickOffset=o.isCategory?(st(1)-st(0))/2:0;const Vt=$t.selectAll(".domain").data([0]);if(Vt.enter().append("path").attr("class","domain").merge(Vt).attr("d",()=>{const vt=a.outerTickSize*S;return g?`M${w[0]},${vt}V0H${w[1]}V${vt}`:`M${vt},${w[0]}H0V${w[1]}H${vt}`}),K.tick||K.text){const vt=a.tickValues||i.generateTicks(st,f);n.generatedTicks=vt;let Q=$t.selectAll(".tick").data(vt,st);const St=Q.enter().insert("g",".domain").attr("class","tick"),ct=Q.exit().remove();Q=St.merge(Q),K.tick&&St.append("line"),K.text&&St.append("text");const At=Q.select("text"),Gt=ve(at)?at.bind(n.params.owner.api)(At.node()):Ou.getSizeFor1Char(At,at),Bt=[];let Kt=At.selectAll("tspan").data((be,Oe)=>{const Ce=o.tickMultiline?c(be,st,vt,f,Gt.w):je(i.textFormatted(be))?i.textFormatted(be).concat():[i.textFormatted(be)];return Bt[Oe]=Ce.length,Ce.map(He=>({index:Oe,splitted:He}))});Kt.exit().remove(),Kt=Kt.enter().append("tspan").merge(Kt).text(be=>be.splitted),Kt.attr("x",g?0:L*S).attr("dx",(()=>{let be=0;return/(top|bottom)/.test(l)&&P&&(be=8*Math.sin(Math.PI*(P/180))*(l==="top"?-1:1)),be+(W.x||0)})()).attr("dy",(be,Oe)=>{const Ce=".71em";let He=0;return l!=="top"&&(He=Gt.h,Oe===0&&(He=f?-((Bt[be.index]-1)*(Gt.h/2)-3):W.y===0?Ce:0)),he(He)&&W.y?He+W.y:He||Ce});const ne=Q.select("line"),le=Q.select("text");if(St.select("line").attr(`${m}2`,N*S),St.select("text").attr(m,L*S),n.setTickLineTextPosition(ne,le),o.tickTitle){const be=le.select("title");(be.empty()?le.append("title"):be).text(Oe=>o.tickTitle[Oe])}if(st.bandwidth){const be=st,Oe=be.bandwidth()/2;dt=Ce=>be(Ce)+Oe,st=dt}else dt.bandwidth?dt=st:v(ct,st);Q=o.owner.state.flowing?i.transitionise(Q):o.owner.$T(Q),v(St,dt),v(Q.style("opacity",null),st)}}),this.g=ht}getGeneratedTicks(e){var n;const a=((n=this.generatedTicks)==null?void 0:n.length)-1;let i=this.generatedTicks;if(a>e){const o=Math.round(a/e+.1);i=this.generatedTicks.map((s,l)=>l%o===0?s:null).filter(s=>s!==null).splice(0,e)}return i}getTickXY(){const{config:e}=this,n={x:0,y:0};return this.params.isCategory&&(n.x=e.tickCentered?0:e.tickOffset,n.y=e.tickCentered?e.tickOffset:0),n}getTickSize(e){const{scale:n}=this.helper,{config:a}=this,{innerTickSize:i,range:o}=a,s=n(e)+(a.tickCentered?0:a.tickOffset);return o[0]{const N=["start","end"];return o==="top"&&N.reverse(),P?N[P>0?0:1]:"middle"},g=P=>P?`rotate(${P})`:null,v=P=>{const N=P/(o==="bottom"?15:23);return P?11.5-2.5*N*(P>0?1:-1):s},{config:{axis_rotated:m,axis_x_tick_text_inner:S}}=this.params.owner;switch(o){case"bottom":e.attr("x1",a.x).attr("x2",a.x).attr("y2",this.getTickSize.bind(this)),n.attr("x",0).attr("y",v(c)).style("text-anchor",f(c)).style("text-anchor",(P,N,{length:L})=>!m&&N===0&&(S===!0||S.first)?"start":!m&&N===L-1&&(S===!0||S.last)?"end":f(c)).attr("transform",g(c));break;case"top":e.attr("x2",0).attr("y2",-i),n.attr("x",0).attr("y",-v(c)*2).style("text-anchor",f(c)).attr("transform",g(c));break;case"left":e.attr("x2",-i).attr("y1",a.y).attr("y2",a.y),n.attr("x",-s).attr("y",l).style("text-anchor","end");break;case"right":e.attr("x2",i).attr("y2",0),n.attr("x",s).attr("y",0).style("text-anchor","start")}}splitTickText(e,n,a,i,o){const{params:s}=this,l=this.helper.textFormatted(e),c=ze(l)&&l.indexOf(` +`)>-1?l.split(` +`):[];if(c.length)return c;if(je(l))return l;let f=s.tickWidth;(!f||f<=0)&&(f=i?95:s.isCategory?(s.isInverted?n(a[0])-n(a[1]):n(a[1])-n(a[0]))-12:110);function g(v,m){let S,P,N;for(let L=1;L{const S=v+1;return Se(this.helper.scale.domain());else{if(!arguments.length)return n.tickValues;n.tickValues=e}return this}setTransition(e){return this.config.transition=e,this}}var Iy=Object.defineProperty,Oy=(t,e,n)=>e in t?Iy(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,pr=(t,e,n)=>Oy(t,typeof e!="symbol"?e+"":e,n),Cy={getAxisInstance:function(){return this.axis||new Py(this)}};class Py{constructor(e){pr(this,"owner"),pr(this,"x"),pr(this,"subX"),pr(this,"y"),pr(this,"y2"),pr(this,"axesList",{}),pr(this,"tick",{x:null,y:null,y2:null}),pr(this,"xs",[]),pr(this,"orient",{x:"bottom",y:"left",y2:"right",subX:"bottom"}),this.owner=e,this.setOrient()}getAxisClassName(e){return`${Tn.axis} ${Tn[`axis${Cn(e)}`]}`}isHorizontal(e,n){const a=e.config.axis_rotated;return n?a:!a}isCategorized(){const{config:e,state:n}=this.owner;return e.axis_x_type.indexOf("category")>=0||n.hasRadar}isCustomX(){const{config:e}=this.owner;return!this.isTimeSeries()&&(e.data_x||cn(e.data_xs))}isTimeSeries(e="x"){return this.owner.config[`axis_${e}_type`]==="timeseries"}isLog(e="x"){return this.owner.config[`axis_${e}_type`]==="log"}isTimeSeriesY(){return this.isTimeSeries("y")}getAxisType(e="x"){let n="linear";return this.isTimeSeries(e)?n=this.owner.config.axis_x_localtime?"time":"utc":this.isLog(e)&&(n="log"),n}getExtent(){const e=this.owner,{config:n,scale:a}=e;let i=n.axis_x_extent;if(i){if(ve(i))i=i.bind(e.api)(e.getXDomain(e.data.targets),a.subX);else if(this.isTimeSeries()&&i.every(isNaN)){const o=Yn.bind(e);i=i.map(s=>a.subX(o(s)))}}return i}init(){const e=this.owner,{config:n,$el:{main:a,axis:i},state:{clip:o}}=e,s=["x","y"];n.axis_y2_show&&s.push("y2"),s.forEach(l=>{const c=this.getAxisClassName(l);i[l]=a.append("g").attr("class",c).attr("clip-path",()=>{let f=null;return l==="x"?f=o.pathXAxis:l==="y"&&(f=o.pathYAxis),f}).attr("transform",e.getTranslate(l)).style("visibility",n[`axis_${l}_show`]?null:"hidden"),this.generateAxes(l)})}setOrient(){const e=this.owner,{axis_rotated:n,axis_y_inner:a,axis_y2_inner:i}=e.config;this.orient={x:n?"left":"bottom",y:n?a?"top":"bottom":a?"right":"left",y2:n?i?"bottom":"top":i?"left":"right",subX:n?"left":"bottom"}}generateAxes(e){const n=this.owner,{config:a}=n,i=[],o=a[`axis_${e}_axes`],s=a.axis_rotated;let l;e==="x"?l=s?Iu:Ru:e==="y"?l=s?Ru:Iu:e==="y2"&&(l=s?Ty:$y),o.length&&o.forEach(c=>{const f=c.tick||{},g=n.scale[e].copy();c.domain&&g.domain(c.domain),i.push(l(g).ticks(f.count).tickFormat(ve(f.format)?f.format.bind(n.api):v=>v).tickValues(f.values).tickSizeOuter(f.outer===!1?0:6))}),this.axesList[e]=i}updateAxes(){const e=this.owner,{config:n,$el:{main:a},$T:i}=e;Object.keys(this.axesList).forEach(o=>{const s=n[`axis_${o}_axes`],l=e.scale[o].copy(),c=l.range();this.axesList[o].forEach((f,g)=>{const v=f.scale().range();c.every((P,N)=>P===v[N])||f.scale().range(c);const m=`${this.getAxisClassName(o)}-${g+1}`;let S=a.select(`.${m.replace(/\s/,".")}`);S.empty()?S=a.append("g").attr("class",m).style("visibility",n[`axis_${o}_show`]?null:"hidden").call(f):(s[g].domain&&l.domain(s[g].domain),i(S).call(f.scale(l))),S.attr("transform",e.getTranslate(o,g+1))})})}setAxis(e,n,a,i){const o=this.owner;e!=="subX"&&(this.tick[e]=this.getTickValues(e)),this[e]=this.getAxis(e,n,a,e==="x"&&(o.scale.zoom||o.config.subchart_show||o.state.resizing)?!0:i)}getAxis(e,n,a,i,o){const s=this.owner,{config:l}=s,c=/^(x|subX)$/.test(e),f=c?"x":e,g=c&&this.isCategorized(),v=this.orient[e],m=o?0:s.getAxisTickRotate(f);let S;if(c)S=e==="subX"?s.format.subXAxisTick:s.format.xAxisTick;else{const X=l[`axis_${e}_tick_format`];ve(X)&&(S=X.bind(s.api))}let P=this.tick[f];const N=ea({outerTick:a,noTransition:i,config:l,id:e,tickTextRotate:m,owner:s},c&&{isCategory:g,isInverted:l.axis_x_inverted,tickMultiline:l.axis_x_tick_multiline,tickWidth:l.axis_x_tick_width,tickTitle:g&&l.axis_x_tick_tooltip&&s.api.categories(),orgXScale:s.scale.x});c||(N.tickStepSize=l[`axis_${f}_tick_stepSize`]);const L=new Ry(N).scale(c&&s.scale.zoom||n).orient(v);if(c&&this.isTimeSeries()&&P&&!ve(P)){const X=Yn.bind(s);P=P.map(W=>X(W))}else!c&&this.isTimeSeriesY()&&(L.ticks(l.axis_y_tick_time_value),P=null);P&&L.tickValues(P),L.tickFormat(S||!c&&s.isStackNormalized()&&(X=>`${X}%`)),g&&(L.tickCentered(l.axis_x_tick_centered),qn(l.axis_x_tick_culling)&&(l.axis_x_tick_culling=!1));const w=l[`axis_${f}_tick_count`];return w&&L.ticks(w),L}updateXAxisTickValues(e,n){var a;const i=this.owner,{config:o}=i,s=o.axis_x_tick_fit;let l=o.axis_x_tick_count,c;return(s||l&&s)&&(c=i.mapTargetsToUniqueXs(e),this.isCategorized()&&l>c.length&&(l=c.length),c=this.generateTickValues(c,l,this.isTimeSeries())),n?n.tickValues(c):this.x&&(this.x.tickValues(c),(a=this.subX)==null||a.tickValues(c)),c}getId(e){const{config:n,scale:a}=this.owner;let i=n.data_axes[e];return(!i||!a[i])&&(i="y"),i}getXAxisTickFormat(e){const n=this.owner,{config:a,format:i}=n,o=e&&a.subchart_axis_x_tick_format||a.axis_x_tick_format,s=this.isTimeSeries(),l=this.isCategorized();let c;return o?ve(o)?c=o.bind(n.api):s&&(c=f=>f?i.axisTime(o)(f):""):c=s?i.defaultAxisTime:l?n.categoryName:f=>f<0?f.toFixed(0):f,ve(c)?f=>c.apply(n,l?[f,n.categoryName(f)]:[f]):c}getTickValues(e){const n=this.owner,a=n.config[`axis_${e}_tick_values`],i=n[`${e}Axis`];return(ve(a)?a.call(n.api):a)||(i?i.tickValues():void 0)}getLabelOptionByAxisId(e){return this.owner.config[`axis_${e}_label`]}getLabelText(e){const n=this.getLabelOptionByAxisId(e);return ze(n)?n:n?n.text:null}setLabelText(e,n){const a=this.owner,{config:i}=a,o=this.getLabelOptionByAxisId(e);ze(o)?i[`axis_${e}_label`]=n:o&&(o.text=n)}getLabelPosition(e,n){const a=this.owner.config.axis_rotated,i=this.getLabelOptionByAxisId(e),o=nr(i)&&i.position?i.position:n[+!a],s=l=>!!~o.indexOf(l);return{isInner:s("inner"),isOuter:s("outer"),isLeft:s("left"),isCenter:s("center"),isRight:s("right"),isTop:s("top"),isMiddle:s("middle"),isBottom:s("bottom")}}getAxisLabelPosition(e){return this.getLabelPosition(e,e==="x"?["inner-top","inner-right"]:["inner-right","inner-top"])}getLabelPositionById(e){return this.getAxisLabelPosition(e)}xForAxisLabel(e){const n=this.owner,{state:{width:a,height:i}}=n,o=this.getAxisLabelPosition(e);let s=o.isMiddle?-i/2:0;return this.isHorizontal(n,e!=="x")?s=o.isLeft?0:o.isCenter?a/2:a:o.isBottom&&(s=-i),s}textAnchorForAxisLabel(e){const n=this.owner,a=this.getAxisLabelPosition(e);let i=a.isMiddle?"middle":"end";return this.isHorizontal(n,e!=="x")?i=a.isLeft?"start":a.isCenter?"middle":"end":a.isBottom&&(i="start"),i}dxForAxisLabel(e){const n=this.owner,a=this.getAxisLabelPosition(e);let i=a.isBottom?"0.5em":"0";return this.isHorizontal(n,e!=="x")?i=a.isLeft?"0.5em":a.isRight?"-0.5em":"0":a.isTop&&(i="-0.5em"),i}dyForAxisLabel(e){const n=this.owner,{config:a}=n,i=a.axis_rotated,o=this.getAxisLabelPosition(e).isInner,s=a[`axis_${e}_tick_rotate`]?n.getHorizontalAxisHeight(e):0,{width:l}=this.getMaxTickSize(e);let c;if(e==="x"){const f=a.axis_x_height;i?c=o?"1.2em":-25-l:o?c="-0.5em":f?c=f-10:s?c=s-10:c="3em"}else c={y:["-0.5em",10,"3em","1.2em",10],y2:["1.2em",-20,"-2.2em","-0.5em",15]}[e],i?o?c=c[0]:s?c=s*(e==="y2"?-1:1)-c[1]:c=c[2]:c=o?c[3]:(c[4]+(a[`axis_${e}_inner`]?0:l+c[4]))*(e==="y"?-1:1);return c}getMaxTickSize(e,n){const a=this.owner,{config:i,state:{current:o},$el:{svg:s,chart:l}}=a,c=o.maxTickSize[e],f=`axis_${e}`,g={width:0,height:0};if(n||!i[`${f}_show`]||c.width>0&&a.filterTargetsToShow().length===0)return c;if(s){const v=/^y2?$/.test(e),m=a.filterTargetsToShow(a.data.targets),S=a.scale[e].copy().domain(a[`get${v?"Y":"X"}Domain`](m,e)),P=S.domain(),N=P[0]===P[1]&&P.every(K=>K>0),L=je(c.domain)&&c.domain[0]===c.domain[1]&&c.domain.every(K=>K>0);if(N||L)return c.size;c.domain=P,v||c.ticks.splice(0);const w=this.getAxis(e,S,!1,!1,!0),X=i[`${f}_tick_rotate`],W=i[`${f}_tick_count`];!i[`${f}_tick_values`]&&W&&w.tickValues(this.generateTickValues(P,W,v?this.isTimeSeriesY():this.isTimeSeries())),!v&&this.updateXAxisTickValues(m,w);const k=l.append("svg").style("visibility","hidden").style("position","fixed").style("top","0").style("left","0");w.create(k),k.selectAll("text").attr("transform",he(X)?`rotate(${X})`:null).each(function(K,at){const{width:ht,height:$t}=this.getBoundingClientRect();g.width=Math.max(g.width,ht),g.height=Math.max(g.height,$t),v||(c.ticks[at]=ht)}),k.remove()}return Object.keys(g).forEach(v=>{g[v]>0&&(c[v]=g[v])}),c}getXAxisTickTextY2Overflow(e){const n=this.owner,{axis:a,config:i,state:{current:o,isLegendRight:s,legendItemWidth:l}}=n,c=n.getAxisTickRotate("x"),f=c>0&&c<90;if((a.isCategorized()||a.isTimeSeries())&&i.axis_x_tick_fit&&(!i.axis_x_tick_culling||qn(i.axis_x_tick_culling))&&!i.axis_x_tick_multiline&&f){const g=i.axis_y2_show&&o.maxTickSize.y2.width||0,v=s&&l||0,m=o.width-n.getCurrentPaddingByDirection("left"),S=this.getXAxisTickMaxOverflow(c,m-e)-g-v,P=Math.max(0,S)+e;return Math.min(P,m/2)}return 0}getXAxisTickMaxOverflow(e,n){const a=this.owner,{axis:i,config:o,state:s}=a,l=i.isTimeSeries(),c=s.current.maxTickSize.x.ticks,f=c.length,{left:g,right:v}=s.axis.x.padding;let m=0;const S=f-(l&&o.axis_x_tick_fit?.5:0);for(let L=0;L{const c=this.getLabelText(l),f=`axis${Cn(l)}`,g=Tn[`${f}Label`];if(c){let v=i.select(`text.${g}`);v.empty()&&(v=i.select(`g.${Tn[f]}`).insert("text",":first-child").attr("class",g).attr("transform",["rotate(-90)",null][l==="x"?+!s:+s]).style("text-anchor",()=>this.textAnchorForAxisLabel(l))),o(v,e).attr("x",()=>this.xForAxisLabel(l)).attr("dx",()=>this.dxForAxisLabel(l)).attr("dy",()=>this.dyForAxisLabel(l)).text(c)}})}getPadding(e,n,a,i){const o=he(e)?e:e[n];return De(o)?this.owner.convertPixelToScale(/(bottom|top)/.test(n)?"y":"x",o,i):a}generateTickValues(e,n,a){let i=e;if(n){const o=ve(n)?n():n;if(o===1)i=[e[0]];else if(o===2)i=[e[0],e[e.length-1]];else if(o>2){const s=this.isCategorized(),l=o-2,c=e[0],f=e[e.length-1],g=(f-c)/(l+1);let v;i=[c];for(let m=0;mo-s)),i}generateTransitions(e){const n=this.owner,{$el:{axis:a},$T:i}=n,[o,s,l,c]=["x","y","y2","subX"].map(f=>i(a[f],e));return{axisX:o,axisY:s,axisY2:l,axisSubX:c}}redraw(e,n,a){const i=this.owner,{config:o,state:s,$el:l}=i,c=n?"0":null;["x","y","y2","subX"].forEach(f=>{const g=this[f],v=l.axis[f];g&&v&&(!a&&!o.transition_duration&&(g.config.withoutTransition=!0),v.style("opacity",c),g.create(e[`axis${Cn(f)}`]))}),this.updateAxes(),!s.rendered&&o.axis_tooltip&&this.setAxisTooltip()}redrawAxis(e,n,a,i,o){var s,l,c;const f=this.owner,{config:g,scale:v,$el:m}=f,S=!!v.zoom;let P;!S&&this.isCategorized()&&e.length===0&&v.x.domain([0,m.axis.x.selectAll(".tick").size()]),v.x&&e.length?(!S&&f.updateXDomain(e,n.UpdateXDomain,n.UpdateOrgXDomain,n.TrimXDomain),g.axis_x_tick_values||this.updateXAxisTickValues(e)):this.x&&(this.x.tickValues([]),(s=this.subX)==null||s.tickValues([])),g.zoom_rescale&&!i&&(P=v.x.orgDomain()),["y","y2"].forEach(N=>{const L=`axis_${N}_`,w=v[N];if(w){const X=g[`${L}tick_values`],W=g[`${L}tick_count`];if(w.domain(f.getYDomain(e,N,P)),!X&&W){const H=f.axis[N],k=w.domain();H.tickValues(this.generateTickValues(k,k.every(K=>K===0)?1:W,this.isTimeSeriesY()))}}}),this.redraw(a,f.hasArcType(),o),this.updateLabels(n.Transition),(n.UpdateXDomain||n.UpdateXAxis||n.Y)&&e.length&&this.setCulling(),n.Y&&((l=v.subY)==null||l.domain(f.getYDomain(e,"y")),(c=v.subY2)==null||c.domain(f.getYDomain(e,"y2")))}setCulling(){const e=this.owner,{config:n,state:{clip:a,current:i},$el:o}=e;["subX","x","y","y2"].forEach(s=>{const l=o.axis[s],f=`axis_${s==="subX"?"x":s}_tick_culling`,g=n[f];if(l&&g){const v=l.selectAll(".tick"),m=na(v.data()),S=m.length,P=n[`${f}_max`],N=n[`${f}_lines`];let L;if(S){for(let w=1;w{var f,g,v;if(ze(l)||l[c])if(s[c]=(f=o[c])==null?void 0:f.append("text").classed(Tn[`axis${c.toUpperCase()}Tooltip`],!0).attr("filter",n.updateTextBGColor({id:c},l)),a){const m=c==="x"?"x":"y",S=c==="y"?"1.15em":c==="x"?"-0.3em":"-0.4em";(g=s[c])==null||g.attr(m,S).attr(`d${c==="x"?"y":"x"}`,c==="x"?"0.4em":"-1.3em").style("text-anchor",c==="x"?"end":null)}else{const m=c==="x"?"y":"x",S=c==="x"?"1.15em":`${c==="y"?"-":""}0.4em`;(v=s[c])==null||v.attr(m,S).attr(`d${c==="x"?"x":"y"}`,c==="x"?"-1em":"0.3em").style("text-anchor",c==="y"?"end":null)}})}}var wy={initEventRect(){this.$el.main.select(`.${Se.chart}`).append("g").attr("class",Zn.eventRects).style("fill-opacity","0")},redrawEventRect(){var t;const e=this,{config:n,state:a,$el:i}=e,o=e.isMultipleX(),s=n.axis_x_inverted;if(i.eventRect)e.updateEventRect(i.eventRect,!0);else if(e.data.targets.length){const c=e.$el.main.select(`.${Zn.eventRects}`).style("cursor",n.zoom_enabled&&n.zoom_type!=="drag"?n.axis_rotated?"ns-resize":"ew-resize":null).classed(Zn.eventRectsMultiple,o).classed(Zn.eventRectsSingle,!o).selectAll(`.${Zn.eventRect}`).data([0]).enter().append("rect");e.updateEventRect(c),e.updateEventType(c),c.call(e.getDraggableSelection()),i.eventRect=c,e.state.inputType==="touch"&&!i.svg.on("touchstart.eventRect")&&!e.hasArcType()&&e.bindTouchOnEventRect(),a.rendered&&e.updateEventRect(i.eventRect,!0)}if(!o){const l=e.getMaxDataCountTarget();(!n.data_xSort||s)&&l.sort((c,f)=>s?f.x-c.x:c.x-f.x),e.updateDataIndexByX(l),e.updateXs(l),(t=e.updatePointClass)==null||t.call(e,!0),a.eventReceiver.data=l}e.updateEventRectData()},bindTouchOnEventRect(){const t=this,{config:e,state:n,$el:{eventRect:a,svg:i}}=t,o=m=>{if(t.isMultipleX())t.selectRectForMultipleXs(m);else{const S=t.getDataIndexFromEvent(n.event);t.callOverOutForTouch(S),S===-1?t.unselectRect():t.selectRectForSingle(m,S)}},s=()=>{t.unselectRect(),t.callOverOutForTouch()},l=e.interaction_inputType_touch.preventDefault,c=Co(l)&&l||!1,f=!isNaN(l)&&l||null;let g;const v=m=>{const S=m.type,N=m.changedTouches[0][`client${e.axis_rotated?"Y":"X"}`];S==="touchstart"?c?m.preventDefault():f!==null&&(g=N):S==="touchmove"&&(c||g===!0||f!==null&&Math.abs(g-N)>=f)&&(g=!0,m.preventDefault())};a.on("touchstart",m=>{n.event=m,t.updateEventRect()}).on("touchstart.eventRect touchmove.eventRect",m=>{if(n.event=m,!a.empty()&&a.classed(Zn.eventRect)){if(n.dragging||n.flowing||t.hasArcType()||m.touches.length>1)return;v(m),o(a.node())}else s()},!0).on("touchend.eventRect",m=>{n.event=m,!a.empty()&&a.classed(Zn.eventRect)&&(t.hasArcType()||!t.toggleShape||n.cancelClick)&&n.cancelClick&&(n.cancelClick=!1)},!0),i.on("touchstart",m=>{n.event=m;const{target:S}=m;S&&S!==a.node()&&s()})},updateEventRect(t,e=!1){const n=this,{state:a,$el:i}=n,{eventReceiver:o,width:s,height:l,rendered:c,resizing:f}=a,g=t||i.eventRect,v=()=>{if(o){const m=Zl(i.chart.node());o.rect=g.node().getBoundingClientRect().toJSON(),o.rect.top+=m.y,o.rect.left+=m.x}};(!c||f||e)&&(g.attr("x",0).attr("y",0).attr("width",s).attr("height",l),(!c||e)&&g.classed(Zn.eventRect,!0)),v()},updateEventType(t){const e=this,n=Co(t),a=n?e.$el.eventRect:t,i=n?t!==(a==null?void 0:a.datum().multipleX):!1;a&&(i&&(a==null||a.on("mouseover mousemove mouseout click",null)),e.isMultipleX()?e.generateEventRectsForMultipleXs(a):e.generateEventRectsForSingleX(a))},updateEventRectData(){const t=this,{config:e,scale:n,state:a}=t,i=n.zoom||n.x,o=e.axis_rotated,s=t.isMultipleX();let l,c,f,g;if(t.updateEventType(s),s)l=0,c=0,f=a.width,g=a.height;else{let S,P;if(t.axis.isCategorized())S=t.getEventRectWidth(),P=N=>i(N.x)-S/2;else{const N=({index:L})=>({prev:t.getPrevX(L),next:t.getNextX(L)});S=L=>{const w=N(L),X=i.domain();let W;return w.prev===null&&w.next===null?W=o?a.height:a.width:w.prev===null?W=(i(w.next)+i(L.x))/2:w.next===null?W=i(X[1])-(i(w.prev)+i(L.x))/2:(Object.keys(w).forEach((H,k)=>{var K;w[H]=(K=w[H])!=null?K:X[k]}),W=Math.max(0,(i(w.next)-i(w.prev))/2)),W},P=L=>{const w=N(L);let X;return w.prev===null&&w.next===null?X=0:w.prev===null?X=i(i.domain()[0]):X=(i(L.x)+i(w.prev))/2,X}}l=o?0:P,c=o?P:0,f=o?a.width:S,g=o?S:a.height}const{eventReceiver:v}=a,m=(S,P)=>ve(S)?S(P):S;v.coords.splice(v.data.length),v.data.forEach((S,P)=>{v.coords[P]={x:m(l,S),y:m(c,S),w:m(f,S),h:m(g,S)}})},selectRectForSingle(t,e){var n,a;const i=this,{config:o,$el:{main:s,circle:l}}=i,c=o.data_selection_enabled,f=o.data_selection_grouped,g=o.data_selection_isselectable,v=o.tooltip_grouped,m=i.getAllValuesOnIndex(e);if(v&&(i.showTooltip(m,t),(n=i.showGridFocus)==null||n.call(i,m),!c||f))return;!l&&s.selectAll(`.${Se.EXPANDED}:not(.${sn.shape}-${e})`).classed(Se.EXPANDED,!1);const S=s.selectAll(`.${sn.shape}-${e}`).classed(Se.EXPANDED,!0).style("cursor",g?"pointer":null).filter(function(P){return i.isWithinShape(this,P)});S.empty()&&!v&&o.interaction_onout&&((a=i.hideGridFocus)==null||a.call(i),i.hideTooltip(),!f&&i.setExpand(e)),S.call(P=>{var N,L;const w=P.data();c&&(f||g!=null&&g.bind(i.api)(w))&&(t.style.cursor="pointer"),v||(i.showTooltip(w,t),(N=i.showGridFocus)==null||N.call(i,w),(L=i.unexpandCircles)==null||L.call(i),P.each(X=>i.setExpand(e,X.id)))})},selectRectForMultipleXs(t,e=!0){const n=this,{config:a,state:i}=n,o=n.filterTargetsToShow(n.data.targets);if(i.dragging||n.hasArcType(o))return;const s=Hn(i.event,t),l=n.findClosestFromTargets(o,s);if(e&&i.mouseover&&(!l||l.id!==i.mouseover.id)&&(a.data_onout.call(n.api,i.mouseover),i.mouseover=void 0),!l){n.unselectRect();return}const f=(n.isBubbleType(l)||n.isScatterType(l)||!a.tooltip_grouped?[l]:n.filterByX(o,l.x)).map(v=>n.addName(v));n.showTooltip(f,t),n.setExpand(l.index,l.id,!0),n.showGridFocus(f);const g=n.dist(l,s);(n.isBarType(l.id)||g{const c=l?e.getDataIndexFromEvent(l):i.currentIdx;return c>-1?i.data[c]:null};o.on("mouseover",l=>{a.event=l,e.updateEventRect(),Object.values(e.$el.axisTooltip).forEach(c=>c==null?void 0:c.style("display",null))}).on("mousemove",function(l){const c=s(l);if(a.event=l,!c)return;let{index:f}=c;const g=n.line_step_type;if(n.line_step_tooltipMatch&&e.hasType("step")&&/^step\-(before|after)$/.test(g)){const m=e.scale.zoom||e.scale.x,S=e.axis.xs[f],P=m.invert(Hn(l,this)[0]);g==="step-after"&&PS&&(f+=1)}e.showAxisGridFocus();const v=n.tooltip_grouped&&f===i.currentIdx;if(a.dragging||a.flowing||e.hasArcType()||v){n.tooltip_show&&v&&e.setTooltipPosition();return}f!==i.currentIdx&&(e.setOverOut(!1,i.currentIdx),i.currentIdx=f),f===-1?e.unselectRect():e.selectRectForSingle(this,f),e.setOverOut(f!==-1,f)}).on("mouseout",l=>{a.event=l,!(!n||e.hasArcType()||i.currentIdx===-1||!n.interaction_onout)&&(e.hideAxisGridFocus(),e.unselectRect(),e.setOverOut(!1,i.currentIdx),i.currentIdx=-1)})}return o},clickHandlerForSingleX(t,e){const n=e,{config:a,state:i,$el:{main:o}}=n;if(!t||n.hasArcType()||i.cancelClick){i.cancelClick&&(i.cancelClick=!1);return}const{index:s}=t;o.selectAll(`.${sn.shape}-${s}`).each(function(l){var c;(a.data_selection_grouped||n.isWithinShape(this,l))&&((c=n.toggleShape)==null||c.call(n,this,l,s),a.data_onclick.bind(n.api)(l,this))})},generateEventRectsForMultipleXs(t){const e=this,{config:n,state:a}=e;t.on("click",function(i){a.event=i,e.clickHandlerForMultipleXS.bind(this)(e)}).datum({multipleX:!0}),a.inputType==="mouse"&&t.on("mouseover mousemove",function(i){a.event=i,e.selectRectForMultipleXs(this)}).on("mouseout",i=>{a.event=i,!(!e.config||e.hasArcType()||!n.interaction_onout)&&e.unselectRect()})},clickHandlerForMultipleXS(t){const e=t,{config:n,state:a}=e,i=e.filterTargetsToShow(e.data.targets);if(e.hasArcType(i))return;const o=Hn(a.event,this),s=e.findClosestFromTargets(i,o),l=e.getPointSensitivity(s);s&&(e.isBarType(s.id)||e.dist(s,o)+t;var Dy={generateFlow(t){const e=this,{data:n,state:a,$el:i}=e;return function(){const o=t.flow.length;a.flowing=!0,n.targets.forEach(l=>{l.values.splice(0,o)}),e.updateXGrid&&e.updateXGrid(!0);const s={};["axis.x","grid.x","gridLines.x","region.list","text","bar","line","area","circle"].forEach(l=>{const c=l.split(".");let f=i[c[0]];f&&c.length>1&&(f=f[c[1]]),f!=null&&f.size()&&(s[l]=f)}),e.hideGridFocus(),e.setFlowList(s,t)}},setFlowList(t,e){const n=this,{flow:a,targets:i}=e,{duration:o=e.duration,index:s,length:l,orgDataCount:c}=a,f=n.getFlowTransform(i,c,s,l),g=ec();let v;g.add(Object.keys(t).map(m=>(v=t[m].transition().ease(My).duration(o),m==="axis.x"?v=v.call(S=>{n.axis.x.setTransition(S).create(S)}):m==="region.list"?v=v.filter(n.isRegionOnX).attr("transform",f):v=v.attr("transform",f),v))),v.call(g,()=>{n.cleanUpFlow(t,e)})},cleanUpFlow(t,e){const n=this,{config:a,state:i,$el:{svg:o}}=n,s=a.axis_rotated,{flow:l,shape:c,xv:f}=e,{cx:g,cy:v,xForText:m,yForText:S}=c.pos,{done:P=()=>{},length:N}=l;N&&(["circle","text","shape","eventRect"].forEach(L=>{const w=[];for(let X=0;X{const w=t[L];if(L!=="axis.x"&&w.attr("transform",null),L==="grid.x")w.attr(i.xgridAttr);else if(L==="gridLines.x")w.attr("x1",s?0:f).attr("x2",s?i.width:f),w.select("text").attr("x",s?i.width:0).attr("y",f);else if(/^(area|bar|line)$/.test(L))w.attr("d",c.type[L]);else if(L==="text")w.attr("x",m).attr("y",S).style("fill-opacity",n.opacityForText.bind(n));else if(L==="circle")if(n.isCirclePoint())w.attr("cx",g).attr("cy",v);else{const X=H=>g(H)-a.point_r,W=H=>v(H)-a.point_r;w.attr("x",X).attr("y",W)}else L==="region.list"&&w.select("rect").filter(n.isRegionOnX).attr("x",n.regionX.bind(n)).attr("width",n.regionWidth.bind(n))}),a.interaction_enabled&&n.redrawEventRect(),P.call(n.api),i.flowing=!1},getFlowTransform(t,e,n,a){const i=this,{data:o,scale:{x:s}}=i,l=o.targets[0].values;let c=i.getValueOnIndex(l,n),f=i.getValueOnIndex(l,n+a),g;const v=s.domain(),m=i.updateXDomain(t,!0,!0);e?e===1||(c==null?void 0:c.x)===(f==null?void 0:f.x)?g=s(v[0])-s(m[0]):g=i.axis.isTimeSeries()?s(v[0])-s(m[0]):s((c==null?void 0:c.x)||0)-s(f.x):l.length!==1?g=s(v[0])-s(m[0]):i.axis.isTimeSeries()?(c=i.getValueOnIndex(l,0),f=i.getValueOnIndex(l,l.length-1),g=s(c.x)-s(f.x)):g=Dr(m)/2;const S=Dr(v)/Dr(m);return`translate(${g},0) scale(${S},1)`}},Ly={initClip(){const t=this,{clip:e,datetimeId:n}=t.state;e.id=`${n}-clip`,e.idXAxis=`${e.id}-xaxis`,e.idYAxis=`${e.id}-yaxis`,e.idGrid=`${e.id}-grid`,e.path=t.getClipPath(e.id),e.pathXAxis=t.getClipPath(e.idXAxis),e.pathYAxis=t.getClipPath(e.idYAxis),e.pathGrid=t.getClipPath(e.idGrid)},getClipPath(t){const e=this,{config:n}=e;return!n.clipPath&&/-clip$/.test(t)||!n.axis_x_clipPath&&/-clip-xaxis$/.test(t)||!n.axis_y_clipPath&&/-clip-yaxis$/.test(t)?null:`url(#${t})`},appendClip(t,e){e&&t.append("clipPath").attr("id",e).append("rect")},setXAxisClipPath(t){const e=this,{config:n,state:{margin:a,width:i,height:o}}=e,s=n.axis_rotated,l=Math.max(30,a.left)-(s?0:20),c=(s?a.top+o+10:a.bottom)+20,f=s?-(1+l):-(l-1),g=-15,v=s?a.left+20:i+10+l;t.attr("x",f).attr("y",g).attr("width",v).attr("height",c)},setYAxisClipPath(t){const e=this,{config:n,state:{margin:a,width:i,height:o}}=e,s=n.axis_rotated,l=Math.max(30,a.left)-(s?20:0),c=n.axis_y_inner,f=c&&!s?n.axis_y_label.text?-20:-1:s?-(1+l):-(l-1),g=-(s?20:a.top),v=(s?i+15+l:a.left+20)+(c?20:0),m=(s?a.bottom+10:a.top+o)+10;t.attr("x",f).attr("y",g).attr("width",v).attr("height",m)},updateXAxisTickClip(){const t=this,{config:e,state:{clip:n,xAxisHeight:a},$el:{defs:i}}=t,o=t.getHorizontalAxisHeight("x");if(i&&!n.idXAxisTickTexts){const s=`${n.id}-xaxisticktexts`;t.appendClip(i,s),n.pathXAxisTickTexts=t.getClipPath(n.idXAxisTickTexts),n.idXAxisTickTexts=s}!e.axis_x_tick_multiline&&t.getAxisTickRotate("x")&&o!==a&&(t.setXAxisTickClipWidth(),t.setXAxisTickTextClipPathWidth()),t.state.xAxisHeight=o},setXAxisTickClipWidth(){const t=this,{config:e,state:{current:{maxTickSize:n}}}=t,a=t.getAxisTickRotate("x");if(!e.axis_x_tick_multiline&&a){const i=Math.sin(Math.PI/180*Math.abs(a));n.x.clipPath=(t.getHorizontalAxisHeight("x")-20)/i}else n.x.clipPath=null},setXAxisTickTextClipPathWidth(){const t=this,{state:{clip:e,current:n},$el:{svg:a}}=t;a&&a.select(`#${e.idXAxisTickTexts} rect`).attr("width",n.maxTickSize.x.clipPath).attr("height",30)}};const Ny=t=>De(t.position)||"end",Fy=t=>t.position==="start"?4:t.position==="middle"?0:-4;function Cu(t,e,n){return a=>{let i=t?0:e;return a.position==="start"?i=t?-n:0:a.position==="middle"&&(i=(t?-n:e)/2),i}}function Pu(t,e){e==="grid"&&t.each(function(){const n=ot(this);["x1","x2","y1","y2"].forEach(a=>n.attr(a,+n.attr(a)))})}var By={hasGrid(){const{config:t}=this;return["x","y"].some(e=>t[`grid_${e}_show`]||t[`grid_${e}_lines`].length)},initGrid(){const t=this;t.hasGrid()&&t.initGridLines(),t.initFocusGrid()},initGridLines(){const t=this,{config:e,state:{clip:n},$el:a}=t;(e.grid_x_lines.length||e.grid_y_lines.length)&&(a.gridLines.main=a.main.insert("g",`.${Se.chart}${e.grid_lines_front?" + *":""}`).attr("clip-path",n.pathGrid).attr("class",`${on.grid} ${on.gridLines}`),a.gridLines.main.append("g").attr("class",on.xgridLines),a.gridLines.main.append("g").attr("class",on.ygridLines),a.gridLines.x=Uc([]))},updateXGrid(t){const e=this,{config:n,scale:a,state:i,$el:{main:o,grid:s}}=e,l=n.axis_rotated,c=e.generateGridData(n.grid_x_type,a.x),f=e.axis.isCategorized()?e.axis.x.tickOffset():0,g=v=>(a.zoom||a.x)(v)+f*(l?-1:1);i.xgridAttr=l?{x1:0,x2:i.width,y1:g,y2:g}:{x1:g,x2:g,y1:0,y2:i.height},s.x=o.select(`.${on.xgrids}`).selectAll(`.${on.xgrid}`).data(c),s.x.exit().remove(),s.x=s.x.enter().append("line").attr("class",on.xgrid).merge(s.x),t||s.x.each(function(){const v=ot(this);Object.keys(i.xgridAttr).forEach(m=>{v.attr(m,i.xgridAttr[m]).style("opacity",()=>v.attr(l?"y1":"x1")===(l?i.height:0)?"0":null)})})},updateYGrid(){const t=this,{axis:e,config:n,scale:a,state:i,$el:{grid:o,main:s}}=t,l=n.axis_rotated,c=g=>a.y(g),f=e.y.getGeneratedTicks(n.grid_y_ticks)||t.scale.y.ticks(n.grid_y_ticks);o.y=s.select(`.${on.ygrids}`).selectAll(`.${on.ygrid}`).data(f),o.y.exit().remove(),o.y=o.y.enter().append("line").attr("class",on.ygrid).merge(o.y),o.y.attr("x1",l?c:0).attr("x2",l?c:i.width).attr("y1",l?0:c).attr("y2",l?i.height:c),Pu(o.y,"grid")},updateGrid(){const t=this,{$el:{grid:e,gridLines:n}}=t;!n.main&&t.initGridLines(),e.main.style("visibility",t.hasArcType()?"hidden":null),t.hideGridFocus(),t.updateGridLines("x"),t.updateGridLines("y")},updateGridLines(t){const e=this,{config:n,$el:{gridLines:a,main:i},$T:o}=e,s=n.axis_rotated,l=t==="x";n[`grid_${t}_show`]&&e[`update${t.toUpperCase()}Grid`]();let c=i.select(`.${on[`${t}gridLines`]}`).selectAll(`.${on[`${t}gridLine`]}`).data(n[`grid_${t}_lines`]);o(c.exit()).style("opacity","0").remove();const f=c.enter().append("g");f.append("line").style("opacity","0"),c=f.merge(c),c.each(function(g){const v=ot(this);v.select("text").empty()&&g.text&&v.append("text").style("opacity","0")}),o(c.attr("class",g=>`${on[`${t}gridLine`]} ${g.class||""}`.trim()).select("text").attr("text-anchor",Ny).attr("transform",()=>l?s?null:"rotate(-90)":s?"rotate(-90)":null).attr("dx",Fy).attr("dy",-5)).text(function(g){var v;return(v=g.text)!=null?v:this.remove()}),a[t]=c},redrawGrid(t){const e=this,{config:{axis_rotated:n},state:{width:a,height:i},$el:{gridLines:o},$T:s}=e,l=e.xv.bind(e),c=e.yv.bind(e);let f=o.x.select("line"),g=o.x.select("text"),v=o.y.select("line"),m=o.y.select("text");return f=s(f,t).attr("x1",n?0:l).attr("x2",n?a:l).attr("y1",n?l:0).attr("y2",n?l:i),g=s(g,t).attr("x",Cu(!n,a,i)).attr("y",l),v=s(v,t).attr("x1",n?c:0).attr("x2",n?c:a).attr("y1",n?0:c).attr("y2",n?i:c),m=s(m,t).attr("x",Cu(n,a,i)).attr("y",c),[f.style("opacity",null),g.style("opacity",null),v.style("opacity",null),m.style("opacity",null)]},initFocusGrid(){const t=this,{config:e,state:{clip:n},$el:a}=t,i=e.grid_front,o=`.${i&&a.gridLines.main?on.gridLines:Se.chart}${i?" + *":""}`,s=a.main.insert("g",o).attr("clip-path",n.pathGrid).attr("class",on.grid);if(a.grid.main=s,e.grid_x_show&&s.append("g").attr("class",on.xgrids),e.grid_y_show&&s.append("g").attr("class",on.ygrids),e.axis_tooltip){const l=s.append("g").attr("class","bb-axis-tooltip");l.append("line").attr("class","bb-axis-tooltip-x"),l.append("line").attr("class","bb-axis-tooltip-y")}e.interaction_enabled&&e.grid_focus_show&&!e.axis_tooltip&&(s.append("g").attr("class",qe.xgridFocus).append("line").attr("class",qe.xgridFocus),e.grid_focus_y&&!e.tooltip_grouped&&s.append("g").attr("class",qe.ygridFocus).append("line").attr("class",qe.ygridFocus))},showAxisGridFocus(){var t,e;const n=this,{config:a,format:i,state:{event:o,width:s,height:l}}=n,c=a.axis_rotated,[f,g]=Hn(o,(t=n.$el.eventRect)==null?void 0:t.node()),v={x:f,y:g};for(const[m,S]of Object.entries(n.$el.axisTooltip)){const P=m==="x"&&!c||m!=="x"&&c?"x":"y",N=v[P];let L=(e=n.scale[m])==null?void 0:e.invert(N);L&&(L=m==="x"&&n.axis.isTimeSeries()?i.xAxisTick(L):L==null?void 0:L.toFixed(2),S==null||S.attr(P,N).text(L))}n.$el.main.selectAll("line.bb-axis-tooltip-x, line.bb-axis-tooltip-y").style("visibility",null).each(function(m,S){const P=ot(this);S===0?P.attr("x1",f).attr("x2",f).attr("y1",S?0:l).attr("y2",S?l:0):P.attr("x1",S?0:s).attr("x2",S?s:0).attr("y1",g).attr("y2",g)})},hideAxisGridFocus(){const t=this;t.$el.main.selectAll("line.bb-axis-tooltip-x, line.bb-axis-tooltip-y").style("visibility","hidden"),Object.values(t.$el.axisTooltip).forEach(e=>e==null?void 0:e.style("display","none"))},showGridFocus(t){var e;const n=this,{config:a,state:{width:i,height:o}}=n,s=a.axis_rotated,l=n.$el.main.selectAll(`line.${qe.xgridFocus}, line.${qe.ygridFocus}`),c=(t||[l.datum()]).filter(v=>v&&De(n.getBaseValue(v)));if(!a.tooltip_show||c.length===0||!a.axis_x_forceAsSingle&&n.hasType("bubble")||n.hasArcType())return;const f=a.grid_focus_edge&&!a.tooltip_grouped,g=n.xx.bind(n);l.style("visibility",null).data(c.concat(c)).each(function(v){const m=ot(this),S={x:g(v),y:n.getYScaleById(v.id)(v.value)};let P;if(m.classed(qe.xgridFocus))P=s?[null,S.x,f?S.y:i,S.x]:[S.x,f?S.y:null,S.x,o];else{const N=n.axis.getId(v.id)==="y2";P=s?[S.y,f&&!N?S.x:null,S.y,f&&N?S.x:o]:[f&&N?S.x:null,S.y,f&&!N?S.x:i,S.y]}["x1","y1","x2","y2"].forEach((N,L)=>m.attr(N,P[L]))}),Pu(l,"grid"),(e=n.showCircleFocus)==null||e.call(n,t)},hideGridFocus(){var t;const e=this,{state:{inputType:n,resizing:a},$el:{main:i}}=e;(n==="mouse"||!a)&&(i.selectAll(`line.${qe.xgridFocus}, line.${qe.ygridFocus}`).style("visibility","hidden"),(t=e.hideCircleFocus)==null||t.call(e))},updateGridFocus(){var t;const e=this,{state:{inputType:n,width:a,height:i,resizing:o},$el:{grid:s}}=e,l=s.main.select(`line.${qe.xgridFocus}`);if(n==="touch")l.empty()?o&&((t=e.showCircleFocus)==null||t.call(e)):e.showGridFocus();else{const c=e.config.axis_rotated;l.attr("x1",c?0:-10).attr("x2",c?a:-10).attr("y1",c?-10:0).attr("y2",c?-10:i)}return!0},generateGridData(t,e){const n=this,a=n.$el.main.select(`.${Tn.axisX}`).selectAll(".tick").size();let i=[];if(t==="year"){const o=n.getXDomain(),[s,l]=o.map(c=>c.getFullYear());for(let c=s;c<=l;c++)i.push(new Date(`${c}-01-01 00:00:00`))}else i=e.ticks(10),i.length>a&&(i=i.filter(o=>String(o).indexOf(".")<0));return i},getGridFilterToRemove(t){return t?e=>{let n=!1;return(je(t)?t.concat():[t]).forEach(a=>{("value"in a&&e.value===a.value||"class"in a&&e.class===a.class)&&(n=!0)}),n}:()=>!0},removeGridLines(t,e){const n=this,{config:a,$T:i}=n,o=n.getGridFilterToRemove(t),s=g=>!o(g),l=e?on.xgridLines:on.ygridLines,c=e?on.xgridLine:on.ygridLine;i(n.$el.main.select(`.${l}`).selectAll(`.${c}`).filter(o)).style("opacity","0").remove();const f=`grid_${e?"x":"y"}_lines`;a[f]=a[f].filter(s)}},Uy={initRegion(){const t=this,{$el:e}=t;e.region.main=e.main.insert("g",":first-child").attr("clip-path",t.state.clip.path).attr("class",$a.regions)},updateRegion(){const t=this,{config:e,$el:{region:n},$T:a}=t;n.main||t.initRegion(),n.main.style("visibility",t.hasArcType()?"hidden":null);const i=n.main.selectAll(`.${$a.region}`).data(e.regions);a(i.exit()).style("opacity","0").remove();const o=i.enter().append("g");o.append("rect").style("fill-opacity","0"),n.list=o.merge(i).attr("class",t.classRegion.bind(t)),n.list.each(function(s){var l;ot(this).select("text").empty()&&((l=s.label)!=null&&l.text)&&ot(this).append("text").style("opacity","0")})},redrawRegion(t){const e=this,{$el:{region:n},$T:a}=e,i=e.regionX.bind(e),o=e.regionY.bind(e),s=["width","height"];let l=n.list.select("rect"),c=n.list.selectAll("text");return l=a(l,t).attr("x",i).attr("y",o).attr("width",e.regionWidth.bind(e)).attr("height",e.regionHeight.bind(e)),c=a(c,t).text(f=>{var g;return(g=f.label)==null?void 0:g.text}).attr("transform",({label:f})=>f.rotated?" rotate(-90)":null).attr("transform",function(f){var g;const{x:v=0,y:m=0,center:S=!1,rotated:P=!1}=(g=f.label)!=null?g:{},N=this.previousElementSibling,L={x:0,y:0};return ze(S)&&["x","y"].forEach((w,X)=>{S.indexOf(w)>-1&&(L[w]=(+N.getAttribute(s[X])-Ma(this)[s[X]])/2)}),`translate(${i(f)+L.x+v}, ${o(f)+L.y+m})${P?" rotate(-90)":""}`}).attr("text-anchor",({label:f})=>f!=null&&f.rotated?"end":null).attr("dy","1em").style("fill",({label:f})=>{var g;return(g=f==null?void 0:f.color)!=null?g:null}),[l.style("fill-opacity",f=>De(f.opacity)?f.opacity:null).on("end",function(){ot(this.parentNode).selectAll("rect:not([x])").remove()}),c.style("opacity",null)]},regionX(t){return this.getRegionSize("x",t)},regionY(t){return this.getRegionSize("y",t)},regionWidth(t){return this.getRegionSize("width",t)},regionHeight(t){return this.getRegionSize("height",t)},getRegionSize(t,e){const n=this,{config:a,scale:i,state:o}=n,s=a.axis_rotated,l=/(x|y|y2)/.test(t),c=l?t==="x":t==="width",f=!l&&n[c?"regionX":"regionY"](e);let g=l?"start":"end",v=l?0:o[t],m;if(e.axis==="y"||e.axis==="y2"?(!l&&!c?g="start":l&&!c&&(g="end"),(c?s:!s)&&g in e&&(m=i[e.axis])):(c?!s:s)&&g in e&&(m=i.zoom||i.x),m){let S=0;v=e[g],n.axis.isTimeSeries(e.axis)?v=Yn.call(n,v):/(x|width)/.test(t)&&n.axis.isCategorized()&&isNaN(v)&&(v=a.axis_x_categories.indexOf(v),S=n.axis.x.tickOffset()*(g==="start"?-1:1)),v=m(v)+S}return l?v:v0&&(!i.axis_x_tick_autorotate||a.needToRotateXAxisTickTexts());return(i.axis_x_tick_multiline||L)&&N.height>S&&(P+=N.height-S),P+(a.axis.getLabelPositionById(t).isInner?0:10)+(t==="y2"&&!f?-10:0)},getEventRectWidth(){const t=this,{config:e,axis:n}=t,a=e.axis_x_inverted,i=n.x.tickInterval();return Math.max(0,a?Math.abs(i):i)},getAxisTickRotate(t){const e=this,{axis:n,config:a,state:i,$el:o}=e;let s=a[`axis_${t}_tick_rotate`];if(t==="x"){const l=n.isCategorized()||n.isTimeSeries();if(a.axis_x_tick_fit&&l){const c=a.axis_x_tick_count,f=i.current.maxTickSize.x.ticks.length;let g=0;if(c?g=c>f?f:c:f&&(g=f),g!==i.axis.x.tickCount){const{targets:v}=e.data;i.axis.x.padding=e.getXDomainPadding([e.getXDomainMinMax(v,"min"),e.getXDomainMinMax(v,"max")],g)}i.axis.x.tickCount=g}o.svg&&a.axis_x_tick_autorotate&&a.axis_x_tick_fit&&!a.axis_x_tick_multiline&&!a.axis_x_tick_culling&&l&&(s=e.needToRotateXAxisTickTexts()?a.axis_x_tick_rotate:0)}return s},needToRotateXAxisTickTexts(){const t=this,{state:{axis:e,current:n,isLegendRight:a,legendItemWidth:i}}=t,o=a&&i,s=n.width-o-t.getCurrentPaddingByDirection("left")-t.getCurrentPaddingByDirection("right"),l=e.x.tickCount+e.x.padding.left+e.x.padding.right,{width:c}=t.axis.getMaxTickSize("x"),f=l?s/l:0;return c>f}},jy={axis_x_clipPath:!0,axis_x_show:!0,axis_x_forceAsSingle:!1,axis_x_type:"indexed",axis_x_localtime:!0,axis_x_categories:[],axis_x_tick_centered:!1,axis_x_tick_format:void 0,axis_x_tick_culling:{},axis_x_tick_culling_max:10,axis_x_tick_culling_lines:!0,axis_x_tick_count:void 0,axis_x_tick_show:!0,axis_x_tick_text_show:!0,axis_x_tick_text_inner:!1,axis_x_tick_text_position:{x:0,y:0},axis_x_tick_fit:!0,axis_x_tick_values:null,axis_x_tick_autorotate:!1,axis_x_tick_rotate:0,axis_x_tick_outer:!0,axis_x_tick_multiline:!0,axis_x_tick_width:null,axis_x_tick_tooltip:!1,axis_x_max:void 0,axis_x_min:void 0,axis_x_inverted:!1,axis_x_padding:{},axis_x_height:void 0,axis_x_extent:void 0,axis_x_label:{},axis_x_axes:[]},Vy={axis_y_clipPath:!0,axis_y_show:!0,axis_y_type:"indexed",axis_y_max:void 0,axis_y_min:void 0,axis_y_inverted:!1,axis_y_center:void 0,axis_y_inner:!1,axis_y_label:{},axis_y_tick_format:void 0,axis_y_tick_culling:!1,axis_y_tick_culling_max:5,axis_y_tick_culling_lines:!0,axis_y_tick_outer:!0,axis_y_tick_values:null,axis_y_tick_rotate:0,axis_y_tick_count:void 0,axis_y_tick_show:!0,axis_y_tick_stepSize:null,axis_y_tick_text_show:!0,axis_y_tick_text_position:{x:0,y:0},axis_y_tick_time_value:void 0,axis_y_padding:{},axis_y_default:void 0,axis_y_axes:[]},Gy={axis_y2_show:!1,axis_y2_type:"indexed",axis_y2_max:void 0,axis_y2_min:void 0,axis_y2_inverted:!1,axis_y2_center:void 0,axis_y2_inner:!1,axis_y2_label:{},axis_y2_tick_format:void 0,axis_y2_tick_culling:!1,axis_y2_tick_culling_max:5,axis_y2_tick_culling_lines:!0,axis_y2_tick_outer:!0,axis_y2_tick_values:null,axis_y2_tick_rotate:0,axis_y2_tick_count:void 0,axis_y2_tick_show:!0,axis_y2_tick_stepSize:null,axis_y2_tick_text_show:!0,axis_y2_tick_text_position:{x:0,y:0},axis_y2_padding:{},axis_y2_default:void 0,axis_y2_axes:[]},Xy=Object.defineProperty,wu=Object.getOwnPropertySymbols,Hy=Object.prototype.hasOwnProperty,Yy=Object.prototype.propertyIsEnumerable,Mu=(t,e,n)=>e in t?Xy(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Ts=(t,e)=>{for(var n in e||(e={}))Hy.call(e,n)&&Mu(t,n,e[n]);if(wu)for(var n of wu(e))Yy.call(e,n)&&Mu(t,n,e[n]);return t},Wy=Ts(Ts(Ts({axis_evalTextSize:!0,axis_rotated:!1,axis_tooltip:!1},jy),Vy),Gy),Ky={grid_x_show:!1,grid_x_type:"tick",grid_x_lines:[],grid_y_show:!1,grid_y_lines:[],grid_y_ticks:void 0,grid_focus_edge:!1,grid_focus_show:!0,grid_focus_y:!1,grid_front:!1,grid_lines_front:!0},Zy={data_xs:{},data_xFormat:"%Y-%m-%d",data_xLocaltime:!0,data_xSort:!0,data_axes:{},data_regions:{},data_stack_normalize:!1};const Jy=[sy,ly,cy,uy,fy,dy,hy],Du={axis:Cy,clip:Ly,eventrect:wy,flow:Dy,grid:By,region:Uy,sizeAxis:zy},Lu={optDataAxis:Zy,optAxis:Wy,optGrid:Ky};var I1=Array.prototype.slice;function $s(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function Le(t){return function(){return t}}function Qy(t,e){return et?1:e>=t?0:NaN}function ky(t){return t}function qy(){var t=ky,e=Qy,n=null,a=Le(0),i=Le(zi),o=Le(0);function s(l){var c,f=(l=$s(l)).length,g,v,m=0,S=new Array(f),P=new Array(f),N=+a.apply(this,arguments),L=Math.min(zi,Math.max(-zi,i.apply(this,arguments)-N)),w,X=Math.min(Math.abs(L)/f,o.apply(this,arguments)),W=X*(L<0?-1:1),H;for(c=0;c0&&(m+=H);for(e!=null?S.sort(function(k,K){return e(P[k],P[K])}):n!=null&&S.sort(function(k,K){return n(l[k],l[K])}),c=0,v=m?(L-f*W)/m:0;c0?H*v:0)+W,P[g]={data:l[g],index:c,value:H,startAngle:N,endAngle:w,padAngle:X};return P}return s.value=function(l){return arguments.length?(t=typeof l=="function"?l:Le(+l),s):t},s.sortValues=function(l){return arguments.length?(e=l,n=null,s):e},s.sort=function(l){return arguments.length?(n=l,e=null,s):n},s.startAngle=function(l){return arguments.length?(a=typeof l=="function"?l:Le(+l),s):a},s.endAngle=function(l){return arguments.length?(i=typeof l=="function"?l:Le(+l),s):i},s.padAngle=function(l){return arguments.length?(o=typeof l=="function"?l:Le(+l),s):o},s}var _y=Math.pow;const Ss=Math.PI,As=2*Ss,Gr=1e-6,tx=As-Gr;function Nu(t){this._+=t[0];for(let e=1,n=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return Nu;const n=_y(10,e);return function(a){this._+=a[0];for(let i=1,o=a.length;iGr)if(!(Math.abs(v*c-f*g)>Gr)||!o)this._append`L${this._x1=e},${this._y1=n}`;else{let S=a-s,P=i-l,N=c*c+f*f,L=S*S+P*P,w=Math.sqrt(N),X=Math.sqrt(m),W=o*Math.tan((Ss-Math.acos((N+m-L)/(2*w*X)))/2),H=W/X,k=W/w;Math.abs(H-1)>Gr&&this._append`L${e+H*g},${n+H*v}`,this._append`A${o},${o},0,0,${+(v*S>g*P)},${this._x1=e+k*c},${this._y1=n+k*f}`}}arc(e,n,a,i,o,s){if(e=+e,n=+n,a=+a,s=!!s,a<0)throw new Error(`negative radius: ${a}`);let l=a*Math.cos(i),c=a*Math.sin(i),f=e+l,g=n+c,v=1^s,m=s?i-o:o-i;this._x1===null?this._append`M${f},${g}`:(Math.abs(this._x1-f)>Gr||Math.abs(this._y1-g)>Gr)&&this._append`L${f},${g}`,a&&(m<0&&(m=m%As+As),m>tx?this._append`A${a},${a},0,1,${v},${e-l},${n-c}A${a},${a},0,1,${v},${this._x1=f},${this._y1=g}`:m>Gr&&this._append`A${a},${a},0,${+(m>=Ss)},${v},${this._x1=e+a*Math.cos(o)},${this._y1=n+a*Math.sin(o)}`)}rect(e,n,a,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${a=+a}v${+i}h${-a}Z`}toString(){return this._}}function nx(){return new Wi}nx.prototype=Wi.prototype;function O1(t=3){return new Wi(+t)}function Es(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{const a=Math.floor(n);if(!(a>=0))throw new RangeError(`invalid digits: ${n}`);e=a}return t},()=>new Wi(e)}function rx(t){return t.innerRadius}function ax(t){return t.outerRadius}function ix(t){return t.startAngle}function ox(t){return t.endAngle}function sx(t){return t&&t.padAngle}function lx(t,e,n,a,i,o,s,l){var c=n-t,f=a-e,g=s-i,v=l-o,m=v*c-g*f;if(!(m*mQ*Q+St*St&&(ht=dt,$t=st),{cx:ht,cy:$t,x01:-g,y01:-v,x11:ht*(i/k-1),y11:$t*(i/k-1)}}function Fu(){var t=rx,e=ax,n=Le(0),a=null,i=ix,o=ox,s=sx,l=null,c=Es(f);function f(){var g,v,m=+t.apply(this,arguments),S=+e.apply(this,arguments),P=i.apply(this,arguments)-Ui,N=o.apply(this,arguments)-Ui,L=Hc(N-P),w=N>P;if(l||(l=g=c()),Sbn))l.moveTo(0,0);else if(L>zi-bn)l.moveTo(S*jr(P),S*rr(P)),l.arc(0,0,S,P,N,!w),m>bn&&(l.moveTo(m*jr(N),m*rr(N)),l.arc(0,0,m,N,P,w));else{var X=P,W=N,H=P,k=N,K=L,at=L,ht=s.apply(this,arguments)/2,$t=ht>bn&&(a?+a.apply(this,arguments):oa(m*m+S*S)),dt=fs(Hc(S-m)/2,+n.apply(this,arguments)),st=dt,Vt=dt,vt,Q;if($t>bn){var St=Yc($t/m*rr(ht)),ct=Yc($t/S*rr(ht));(K-=St*2)>bn?(St*=w?1:-1,H+=St,k-=St):(K=0,H=k=(P+N)/2),(at-=ct*2)>bn?(ct*=w?1:-1,X+=ct,W-=ct):(at=0,X=W=(P+N)/2)}var At=S*jr(X),Gt=S*rr(X),Bt=m*jr(k),Kt=m*rr(k);if(dt>bn){var ne=S*jr(W),le=S*rr(W),be=m*jr(H),Oe=m*rr(H),Ce;if(Lbn?Vt>bn?(vt=Ki(be,Oe,At,Gt,S,Vt,w),Q=Ki(ne,le,Bt,Kt,S,Vt,w),l.moveTo(vt.cx+vt.x01,vt.cy+vt.y01),Vtbn)||!(K>bn)?l.lineTo(Bt,Kt):st>bn?(vt=Ki(Bt,Kt,ne,le,m,-st,w),Q=Ki(At,Gt,be,Oe,m,-st,w),l.lineTo(vt.cx+vt.x01,vt.cy+vt.y01),ste in t?cx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,gx=(t,e)=>{for(var n in e||(e={}))dx.call(e,n)&&Uu(t,n,e[n]);if(Bu)for(var n of Bu(e))hx.call(e,n)&&Uu(t,n,e[n]);return t},vx=(t,e)=>ux(t,fx(e));function zu(t=0){const e=this,{config:n,state:a}=e,i=e.hasMultiArcGauge(),o=a.gaugeArcWidth/e.filterTargetsToShow(e.data.targets).length,s=t?Math.min(a.radiusExpanded*t-a.radius,o*.8-(1-t)*100):0;return{inner(l){const{innerRadius:c}=e.getRadius(l);return i?a.radius-o*(l.index+1):he(c)?c:0},outer(l){const{outerRadius:c}=e.getRadius(l);let f;if(i)f=a.radius-o*l.index+s;else if(e.hasType("polar")&&!t)f=e.getPolarOuterRadius(l,c);else if(f=c,t){let{radiusExpanded:g}=a;a.radius!==c&&(g-=Math.abs(a.radius-c)),f=g*t}return f},corner(l,c){const{arc_cornerRadius_ratio:f=0,arc_cornerRadius:g=0}=n,{data:{id:v},value:m}=l;let S=0;return f?S=f*c:S=he(g)?g:g.call(e.api,v,m,c),S}}}function bs(t){return function(e){const n=({startAngle:i=0,endAngle:o=0,padAngle:s=0})=>({startAngle:i,endAngle:o,padAngle:s}),a=Qr(n(this._current),n(e));return this._current=e,function(i){const o=a(i),{data:s,index:l,value:c}=e;return t(vx(gx({},o),{data:s,index:l,value:c}))}}}var px={initPie(){const t=this,{config:e}=t,n=e.data_type,a=e[`${n}_padding`],i=e[`${n}_startingAngle`]||0,o=(a?a*.01:e[`${n}_padAngle`])||0;t.pie=qy().startAngle(i).endAngle(i+2*Math.PI).padAngle(o).value(s=>{var l,c;return(c=(l=s.values)==null?void 0:l.reduce((f,g)=>f+g.value,0))!=null?c:s}).sort(t.getSortCompareFn.bind(t)(!0))},updateRadius(){const t=this,{config:e,state:n}=t,a=e.data_type,i=e[`${a}_padding`],o=e.gauge_width||e.donut_width,s=t.filterTargetsToShow(t.data.targets).length*e.gauge_arcs_minWidth;n.radiusExpanded=Math.min(n.arcWidth,n.arcHeight)/2*(t.hasMultiArcGauge()&&e.gauge_label_show?.85:1),n.radius=n.radiusExpanded*.95,n.innerRadiusRatio=o?(n.radius-o)/n.radius:.6,n.gaugeArcWidth=o||(s<=n.radius-n.innerRadius?n.radius-n.innerRadius:s<=n.radius?s:n.radius);const l=e.pie_innerRadius||(i?i*(n.innerRadiusRatio+.1):0);n.outerRadius=e.pie_outerRadius,n.innerRadius=t.hasType("donut")||t.hasType("gauge")?n.radius*n.innerRadiusRatio:l},getRadius(t){const e=this,n=t==null?void 0:t.data;let{innerRadius:a,outerRadius:i}=e.state;return!he(a)&&n&&(a=a[n.id]||0),Be(i)&&n&&n.id in i?i=i[n.id]:he(i)||(i=e.state.radius),{innerRadius:a,outerRadius:i}},updateArc(){const t=this;t.updateRadius(),t.svgArc=t.getSvgArc(),t.svgArcExpanded=t.getSvgArcExpanded()},getArcLength(){const t=this,{config:e}=t,n=e.gauge_arcLength*3.6;let a=2*(n/360);return n<-360?a=-2:n>360&&(a=2),a*Math.PI},getStartingAngle(){const t=this,{config:e}=t,n=e.data_type,a=t.hasType("gauge")?e.gauge_fullCircle:!1,i=-1*Math.PI/2,o=Math.PI/2;let s=e[`${n}_startingAngle`]||0;return!a&&s<=i?s=i:!a&&s>=o?s=o:(s>Math.PI||s<-1*Math.PI)&&(s=Math.PI),s},updateAngle(t,e=!1){var n;const a=this,{config:i,state:o}=a,s=e&&a.hasType("gauge");let{pie:l}=a,c=t,f=!1;if(!i)return null;const g=a.getStartingAngle(),v=i.gauge_fullCircle||e&&!s?a.getArcLength():g*-2;if(c.data&&a.isGaugeType(c.data)&&!a.hasMultiArcGauge()){const{gauge_min:m,gauge_max:S}=i,P=a.getTotalDataSum(o.rendered),N=v*((P-m)/(S-m));l=l.startAngle(g).endAngle(N+g)}if(e===!1&&l(a.filterTargetsToShow()).forEach((m,S)=>{var P;!f&&m.data.id===((P=c.data)==null?void 0:P.id)&&(f=!0,c=m,c.index=S)}),isNaN(c.startAngle)&&(c.startAngle=0),isNaN(c.endAngle)&&(c.endAngle=c.startAngle),e||c.data&&(i.gauge_enforceMinMax||a.hasMultiArcGauge())){const{gauge_min:m,gauge_max:S}=i,P=e&&!s?a.getTotalDataSum(o.rendered):S,N=v/(P-m),L=(n=c.value)!=null?n:0,w=L{const l=e.updateAngle(s),c=a(l);let f=0;return l&&(f=i(l,c)),l?o.cornerRadius(f)(l):"M 0 0"}},getArc(t,e,n){return n||this.isArcType(t.data)?this.svgArc(t,e):"M 0 0"},redrawArcRangeText(){const t=this,{config:e,$el:{arcs:n},state:a,$T:i}=t,o=e.arc_rangeText_format,s=t.hasType("gauge")&&e.arc_rangeText_fixed;let l=e.arc_rangeText_values;if(l!=null&&l.length){const c=e.arc_rangeText_unit==="%",f=t.getTotalDataSum(a.rendered);c&&(l=l.map(m=>f/100*m));const g=t.pie(l).map((m,S)=>(m.index=S,m));let v=n.selectAll(`.${Ve.arcRange}`).data(l);v.exit(),v=i(v.enter().append("text").attr("class",Ve.arcRange).style("text-anchor","middle").style("pointer-events","none").style("opacity","0").text(m=>{const S=c?m/f*100:m;return ve(o)?o(S):`${S}${c?"%":""}`}).merge(v)),(!a.rendered||a.rendered&&!s)&&f>0&&v.attr("transform",(m,S)=>t.transformForArcLabel(g[S],!0)),v.style("opacity",m=>!s&&(m>f||f===0)?"0":null)}},transformForArcLabel(t,e=!1){var n,a,i;const o=this,{config:s,state:{radiusExpanded:l}}=o,c=o.updateAngle(t,e);let f="";if(c){if(e||o.hasMultiArcGauge()){const g=Math.sin(c.endAngle-Math.PI/2),v=s.arc_rangeText_position;let m=Math.cos(c.endAngle-Math.PI/2)*(l+(e?5:25)),S=g*(l+15-Math.abs(g*10))+3;if(e&&v){const P=s.arc_rangeText_values,N=ve(v)?v(P[t.index]):v;m+=(n=N==null?void 0:N.x)!=null?n:0,S+=(a=N==null?void 0:N.y)!=null?a:0}f=`translate(${m},${S})`}else if(!o.hasType("gauge")||o.data.targets.length>1){let{outerRadius:g}=o.getRadius(t);o.hasType("polar")&&(g=o.getPolarOuterRadius(t,g));const v=this.svgArc.centroid(c),[m,S]=v.map(L=>isNaN(L)?0:L),P=Math.sqrt(m*m+S*S);let N=(i=["donut","gauge","pie","polar"].filter(o.hasType.bind(o)).map(L=>s[`${L}_label_ratio`]))==null?void 0:i[0];N?N=ve(N)?N.bind(o.api)(t,g,P):N:N=g&&(P?(36/g>.375?1.175-36/g:.8)*g/P:0),f=`translate(${m*N},${S*N})`}}return f},convertToArcData(t){return this.addName({id:"data"in t?t.data.id:t.id,value:t.value,ratio:this.getRatio("arc",t),index:t.index})},textForArcLabel(t){const e=this,n=e.hasType("gauge");e.shouldShowArcLabel()&&t.style("fill",e.updateTextColor.bind(e)).attr("filter",a=>e.updateTextBGColor.bind(e)(a,e.config.data_labels_backgroundColors)).each(function(a){var i;const o=ot(this),s=e.updateAngle(a),l=e.getRatio("arc",s);if(e.meetsLabelThreshold(l,(i=["donut","gauge","pie","polar"].filter(e.hasType.bind(e)))==null?void 0:i[0])){const{value:f}=s||a,g=(e.getArcLabelFormat()||e.defaultArcValueFormat)(f,l,a.data.id).toString();wa(o,g,[-1,1],n)}else o.text("")})},expandArc(t){const e=this,{state:{transiting:n},$el:a}=e;if(n){const o=setInterval(()=>{n||(clearInterval(o),a.legend.selectAll(`.${qe.legendItemFocused}`).size()>0&&e.expandArc(t))},10);return}const i=e.mapToTargetIds(t);a.svg.selectAll(e.selectorTargets(i,`.${Ve.chartArc}`)).each(function(o){if(!e.shouldExpand(o.data.id))return;const s=e.getExpandConfig(o.data.id,"duration"),l=e.getSvgArcExpanded(e.getExpandConfig(o.data.id,"rate"));ot(this).selectAll("path").transition().duration(s).attrTween("d",bs(e.svgArcExpanded.bind(e))).transition().duration(s*2).attrTween("d",bs(l.bind(e)))})},unexpandArc(t){const e=this,{state:{transiting:n},$el:{svg:a}}=e;if(n)return;const i=e.mapToTargetIds(t);a.selectAll(e.selectorTargets(i,`.${Ve.chartArc}`)).selectAll("path").transition().duration(o=>e.getExpandConfig(o.data.id,"duration")).attrTween("d",bs(e.svgArc.bind(e))),a.selectAll(`${Ve.arc}`).style("opacity",null)},getExpandConfig(t,e){const n=this,{config:a}=n,i={duration:50,rate:.98};let o;return n.isDonutType(t)?o="donut":n.isGaugeType(t)?o="gauge":n.isPieType(t)&&(o="pie"),o?a[`${o}_expand_${e}`]:i[e]},shouldExpand(t){const e=this,{config:n}=e;return e.isDonutType(t)&&n.donut_expand||e.isGaugeType(t)&&n.gauge_expand||e.isPieType(t)&&n.pie_expand},shouldShowArcLabel(){const t=this,{config:e}=t;return["donut","gauge","pie","polar"].some(n=>t.hasType(n)&&e[`${n}_label_show`])},getArcLabelFormat(){const t=this,{config:e}=t;let n=a=>a;return["donut","gauge","pie","polar"].filter(t.hasType.bind(t)).forEach(a=>{n=e[`${a}_label_format`]}),ve(n)?n.bind(t.api):n},updateTargetsForArc(t){const e=this,{$el:n}=e,a=e.hasType("gauge"),i=e.getChartClass("Arc"),o=e.getClass("arcs",!0),s=e.classFocus.bind(e),l=n.main.select(`.${Ve.chartArcs}`),c=l.selectAll(`.${Ve.chartArc}`).data(e.pie(t)).attr("class",g=>i(g)+s(g.data)),f=c.enter().append("g").attr("class",i).call(this.setCssRule(!1,`.${Ve.chartArcs} text`,["pointer-events:none","text-anchor:middle"]));f.append("g").attr("class",o).merge(c),f.append("text").attr("dy",a&&!e.hasMultiTargets()?"-.1em":".35em").style("opacity","0").style("text-anchor",e.getStylePropValue("middle")).style("pointer-events",e.getStylePropValue("none")),n.text=l.selectAll(`.${Se.target} text`)},initArc(){const t=this,{$el:e}=t;e.arcs=e.main.select(`.${Se.chart}`).append("g").attr("class",Ve.chartArcs).attr("transform",t.getTranslate("arc")),t.setArcTitle()},setArcTitle(t){const e=this,n=t||e.getArcTitle(),a=e.hasType("gauge");if(n){const i=a?Un.chartArcsGaugeTitle:Ve.chartArcsTitle;let o=e.$el.arcs.select(`.${i}`);o.empty()&&(o=e.$el.arcs.append("text").attr("class",i).style("text-anchor","middle")),a&&o.attr("dy","-0.3em"),wa(o,n,a?void 0:[-.6,1.35],!0)}},getArcTitle(){const t=this,e=t.hasType("donut")&&"donut"||t.hasType("gauge")&&"gauge";return e?t.config[`${e}_title`]:""},getArcTitleWithNeedleValue(){const t=this,{config:e,state:n}=t,a=t.getArcTitle();if(a&&t.config.arc_needle_show&&/{=[A-Z_]+}/.test(a)){let i=n.current.needle;return he(i)||(i=e.arc_needle_value),bi(a,{NEEDLE_VALUE:he(i)?i:0})}return!1},redrawArc(t,e,n){const a=this,{config:i,state:o,$el:{main:s}}=a,l=i.interaction_enabled,c=l&&i.data_selection_isselectable;let f=s.selectAll(`.${Ve.arcs}`).selectAll(`.${Ve.arc}`).data(a.arcData.bind(a));f.exit().transition().duration(e).style("opacity","0").remove(),f=f.enter().append("path").attr("class",a.getClass("arc",!0)).style("fill",g=>a.color(g.data)).style("cursor",g=>{var v;return(v=c==null?void 0:c.bind)!=null&&v.call(c,a.api)(g)?"pointer":null}).style("opacity","0").each(function(g){a.isGaugeType(g.data)&&(g.startAngle=i.gauge_startingAngle,g.endAngle=i.gauge_startingAngle),this._current=g}).merge(f),a.hasType("gauge")&&(a.updateGaugeMax(),a.hasMultiArcGauge()&&a.redrawArcGaugeLine()),f.attr("transform",g=>!a.isGaugeType(g.data)&&n?"scale(0)":"").style("opacity",function(g){return g===this._current?"0":null}).each(()=>{o.transiting=!0}).transition().duration(t).attrTween("d",function(g){const v=a.updateAngle(g);if(!v)return()=>"M 0 0";isNaN(this._current.startAngle)&&(this._current.startAngle=0),isNaN(this._current.endAngle)&&(this._current.endAngle=this._current.startAngle);const m=Qr(this._current,v);return this._current=m(0),function(S){const P=m(S);return P.data=g.data,a.getArc(P,!0)}}).attr("transform",n?"scale(1)":"").style("fill",g=>{let v;return a.levelColor?(v=a.levelColor(g.data.values[0].value),i.data_colors[g.data.id]=v):v=a.color(g.data),v}).style("opacity",null).call(Si,function(){if(a.levelColor){const g=ot(this),v=g.datum(this._current);a.updateLegendItemColor(v.data.id,g.style("fill"))}o.transiting=!1,_e(i.onrendered,a.api)}),l&&a.bindArcEvent(f),a.hasType("polar")&&a.redrawPolar(),a.hasType("gauge")&&a.redrawBackgroundArcs(),i.arc_needle_show&&a.redrawNeedle(),a.redrawArcText(t),a.redrawArcRangeText()},redrawNeedle(){const t=this,{$el:e,config:n,state:{hiddenTargetIds:a,radius:i}}=t,o=(i-1)/100*n.arc_needle_length,s=a.length!==t.data.targets.length;let l=t.$el.arcs.select(`.${Ve.needle}`);const c=n.arc_needle_path,f=n.arc_needle_bottom_width/2,g=n.arc_needle_top_width/2,v=n.arc_needle_top_rx,m=n.arc_needle_top_ry,S=n.arc_needle_bottom_len,P=n.arc_needle_bottom_rx,N=n.arc_needle_bottom_ry,L=t.getNeedleAngle(),w=()=>{const X=t.getArcTitleWithNeedleValue();X&&t.setArcTitle(X)};if(w(),l.empty()&&(l=e.arcs.append("path").classed(Ve.needle,!0),e.needle=l,e.needle.updateHelper=(X,W=!1)=>{e.needle.style("display")!=="none"&&t.$T(e.needle).style("transform",`rotate(${t.getNeedleAngle(X)}deg)`).call(Si,()=>{W&&(n.arc_needle_value=X),w()})}),s){const X=ve(c)?c.call(t,o):`M-${f} ${S} A${P} ${N} 0 0 0 ${f} ${S} L${g} -${o} A${v} ${m} 0 0 0 -${g} -${o} L-${f} ${S} Z`;t.$T(l).attr("d",X).style("fill",n.arc_needle_color).style("display",null).style("transform",`rotate(${L}deg)`)}else l.style("display","none")},getNeedleAngle(t){const e=this,{config:n,state:a}=e,i=e.getArcLength(),o=e.hasType("gauge"),s=e.getTotalDataSum(!0);let l=Qe(t)?t:n.arc_needle_value,c=n[`${n.data_type}_startingAngle`]||0,f=0;if(he(l)||(l=o&&e.data.targets.length===1?s:0),a.current.needle=l,o){c=e.getStartingAngle();const g=n.gauge_fullCircle?i:c*-2,{gauge_min:v,gauge_max:m}=n;f=g*((l-v)/(m-v))}else f=i*(l/s);return(c+f)*(180/Math.PI)},redrawBackgroundArcs(){const t=this,{config:e,state:n}=t,a=t.hasMultiArcGauge(),i=e.gauge_fullCircle,o=t.filterTargetsToShow(t.data.targets).length===0&&!!e.data_empty_label_text,s=t.getStartingAngle(),l=i?s+t.getArcLength():s*-1;let c=t.$el.arcs.select(`${a?"g":""}.${Ve.chartArcsBackground}`);if(a){let f=0;c=c.selectAll(`path.${Ve.chartArcsBackground}`).data(t.data.targets),c.enter().append("path").attr("class",(g,v)=>`${Ve.chartArcsBackground} ${Ve.chartArcsBackground}-${v}`).merge(c).style("fill",e.gauge_background||null).attr("d",({id:g})=>{if(o||n.hiddenTargetIds.indexOf(g)>=0)return"M 0 0";const v={data:[{value:e.gauge_max}],startAngle:s,endAngle:l,index:f++};return t.getArc(v,!0,!0)}),c.exit().remove()}else c.attr("d",o?"M 0 0":()=>{const f={data:[{value:e.gauge_max}],startAngle:s,endAngle:l};return t.getArc(f,!0,!0)})},bindArcEvent(t){const e=this,{config:n,state:a}=e,i=a.inputType==="touch",o=a.inputType==="mouse";function s(c,f,g){e.expandArc(g),e.api.focus(g),e.toggleFocusLegend(g,!0),e.showTooltip([f],c)}function l(c){const f=(c==null?void 0:c.id)||void 0;e.unexpandArc(f),e.api.revert(),e.revertLegend(),e.hideTooltip()}if(t.on("click",function(c,f,g){var v;const m=e.updateAngle(f);let S;m&&(S=e.convertToArcData(m),(v=e.toggleShape)==null||v.call(e,this,S,g),n.data_onclick.bind(e.api)(S,this))}),o&&t.on("mouseover",function(c,f){if(a.transiting)return;a.event=c;const g=e.updateAngle(f),v=g?e.convertToArcData(g):null,m=(v==null?void 0:v.id)||void 0;s(this,v,m),e.setOverOut(!0,v)}).on("mouseout",(c,f)=>{if(a.transiting||!n.interaction_onout)return;a.event=c;const g=e.updateAngle(f),v=g?e.convertToArcData(g):null;l(),e.setOverOut(!1,v)}).on("mousemove",function(c,f){const g=e.updateAngle(f),v=g?e.convertToArcData(g):null;a.event=c,e.showTooltip([v],this)}),i&&e.hasArcType()&&!e.radars){const c=f=>{var g,v;const{clientX:m,clientY:S}=(v=(g=f.changedTouches)==null?void 0:g[0])!=null?v:{clientX:0,clientY:0};return ot(gn.elementFromPoint(m,S))};e.$el.svg.on("touchstart touchmove",function(f){if(a.transiting)return;a.event=f;const v=c(f).datum(),m=v!=null&&v.data&&v.data.id?e.updateAngle(v):null,S=m?e.convertToArcData(m):null,P=(S==null?void 0:S.id)||void 0;e.callOverOutForTouch(S),ln(P)?l():s(this,S,P)})}},redrawArcText(t){const e=this,{config:n,state:a,$el:{main:i,arcs:o}}=e,s=e.hasType("gauge"),l=e.hasMultiArcGauge();let c;if(s&&e.data.targets.length===1&&n.gauge_title||(c=i.selectAll(`.${Ve.chartArc}`).select("text").style("opacity","0").attr("class",f=>e.isGaugeType(f.data)?Un.gaugeValue:null).call(e.textForArcLabel.bind(e)).attr("transform",f=>e.transformForArcLabel.bind(e)(f)).style("font-size",f=>e.isGaugeType(f.data)&&e.data.targets.length===1&&!l?`${Math.round(a.radius/5)}px`:null).transition().duration(t).style("opacity",f=>e.isTargetToShow(f.data.id)&&e.isArcType(f.data)?null:"0"),l&&c.attr("dy","-.1em")),i.select(`.${Ve.chartArcsTitle}`).style("opacity",e.hasType("donut")||s?null:"0"),s){const f=n.gauge_fullCircle;f&&(c==null||c.attr("dy",`${l?0:Math.round(a.radius/14)}`)),n.gauge_label_show&&(o.select(`.${Un.chartArcsGaugeUnit}`).attr("dy",`${f?1.5:.75}em`).text(n.gauge_units),o.select(`.${Un.chartArcsGaugeMin}`).attr("dx",`${-1*(a.innerRadius+(a.radius-a.innerRadius)/(f?1:2))}px`).attr("dy","1.2em").text(e.textForGaugeMinMax(n.gauge_min,!1)),!f&&o.select(`.${Un.chartArcsGaugeMax}`).attr("dx",`${a.innerRadius+(a.radius-a.innerRadius)/2}px`).attr("dy","1.2em").text(e.textForGaugeMinMax(n.gauge_max,!0)))}},getArcElementByIdOrIndex(t){const e=this,{$el:{arcs:n}}=e,a=he(t)?i=>i.index===t:i=>i.data.id===t;return n==null?void 0:n.selectAll(`.${Se.target} path`).filter(a)}};function ju(t){return t[0]}function Vu(t){return t[1]}function Gu(t,e){var n=Le(!0),a=null,i=gs,o=null,s=Es(l);t=typeof t=="function"?t:t===void 0?ju:Le(t),e=typeof e=="function"?e:e===void 0?Vu:Le(e);function l(c){var f,g=(c=$s(c)).length,v,m=!1,S;for(a==null&&(o=i(S=s())),f=0;f<=g;++f)!(f=S;--P)l.point(W[P],H[P]);l.lineEnd(),l.areaEnd()}w&&(W[m]=+t(L,m,v),H[m]=+e(L,m,v),l.point(a?+a(L,m,v):W[m],n?+n(L,m,v):H[m]))}if(X)return l=null,X+""||null}function g(){return Gu().defined(i).curve(s).context(o)}return f.x=function(v){return arguments.length?(t=typeof v=="function"?v:Le(+v),a=null,f):t},f.x0=function(v){return arguments.length?(t=typeof v=="function"?v:Le(+v),f):t},f.x1=function(v){return arguments.length?(a=v==null?null:typeof v=="function"?v:Le(+v),f):a},f.y=function(v){return arguments.length?(e=typeof v=="function"?v:Le(+v),n=null,f):e},f.y0=function(v){return arguments.length?(e=typeof v=="function"?v:Le(+v),f):e},f.y1=function(v){return arguments.length?(n=v==null?null:typeof v=="function"?v:Le(+v),f):n},f.lineX0=f.lineY0=function(){return g().x(t).y(e)},f.lineY1=function(){return g().x(t).y(n)},f.lineX1=function(){return g().x(a).y(e)},f.defined=function(v){return arguments.length?(i=typeof v=="function"?v:Le(!!v),f):i},f.curve=function(v){return arguments.length?(s=v,o!=null&&(l=s(o)),f):s},f.context=function(v){return arguments.length?(v==null?o=l=null:l=s(o=v),f):o},f}var sa={initArea(t){const e=this,{config:n}=e;t.insert("g",`.${n.area_front?$n.circles:ur.lines}`).attr("class",e.getClass("areas",!0))},updateAreaColor(t){const e=this;return e.config.area_linearGradient?e.getGradienColortUrl(t.id):e.color(t)},updateArea(t,e=!1){const n=this,{config:a,state:i,$el:o,$T:s}=n,l=e?o.subchart:o;a.area_linearGradient&&n.updateLinearGradient();const c=l.main.selectAll(`.${ti.areas}`).selectAll(`.${ti.area}`).data(n.lineData.bind(n));s(c.exit(),t).style("opacity","0").remove(),l.area=c.enter().append("path").attr("class",n.getClass("area",!0)).style("fill",n.updateAreaColor.bind(n)).style("opacity",function(){return i.orgAreaOpacity=ot(this).style("opacity"),"0"}).merge(c),c.style("opacity",i.orgAreaOpacity),n.setRatioForGroupedData(l.area.data())},redrawArea(t,e,n=!1){const a=this,{area:i}=n?this.$el.subchart:this.$el,{orgAreaOpacity:o}=a.state;return[a.$T(i,e,gr()).attr("d",t).style("fill",a.updateAreaColor.bind(a)).style("opacity",s=>String(a.isAreaRangeType(s)?o/1.75:o))]},generateDrawArea(t,e){const n=this,{config:a}=n,i=a.line_connectNull,o=a.axis_rotated,s=n.generateGetAreaPoints(t,e),l=n.getYScaleById.bind(n),c=v=>(e?n.subxx:n.xx).call(n,v),f=(v,m)=>n.isGrouped(v.id)?s(v,m)[0][1]:l(v.id,e)(n.isAreaRangeType(v)?n.getRangedData(v,"high"):n.getShapeYMin(v.id)),g=(v,m)=>n.isGrouped(v.id)?s(v,m)[1][1]:l(v.id,e)(n.isAreaRangeType(v)?n.getRangedData(v,"low"):v.value);return v=>{let m=i?n.filterRemoveNull(v.values):v.values,S=0,P=0,N;if(n.isAreaType(v)){let L=mx();L=o?L.y(c).x0(f).x1(g):L.x(c).y0(a.area_above?0:a.area_below?n.state.height:f).y1(g),i||(L=L.defined(w=>n.getBaseValue(w)!==null)),n.isStepType(v)&&(m=n.convertValuesToStep(m)),N=L.curve(n.getCurve(v))(m)}else m[0]&&(S=n.scale.x(m[0].x),P=n.getYScaleById(v.id)(m[0].value)),N=o?`M ${P} ${S}`:`M ${S} ${P}`;return N||"M 0 0"}},generateGetAreaPoints(t,e){const n=this,{config:a}=n,i=n.getShapeX(0,t,e),o=n.getShapeY(!!e),s=n.getShapeOffset(n.isAreaType,t,e),l=n.getYScaleById.bind(n);return function(c,f){const g=l.call(n,c.id,e)(n.getShapeYMin(c.id)),v=s(c,f)||g,m=i(c),S=c.value;let P=o(c);return a.axis_rotated&&(S>0&&Pg.values.some(v=>he(v.value)||e.isBarRangeType(v)))).attr("class",g=>i(g)+s(g)).enter().append("g").attr("class",i).style("opacity","0").style("pointer-events",e.getStylePropValue("none")).append("g").attr("class",o).style("cursor",g=>{var v;return(v=l==null?void 0:l.bind)!=null&&v.call(l,e.api)(g)?"pointer":null}).call(e.setCssRule(!0,` .${Kn.bar}`,["fill"],e.color))},updateBar(t,e=!1){const n=this,{config:a,$el:i,$T:o}=n,s=e?i.subchart:i,l=n.getClass("bar",!0),c=n.initialOpacity.bind(n);a.bar_linearGradient&&n.updateLinearGradient();const f=s.main.selectAll(`.${Kn.bars}`).selectAll(`.${Kn.bar}`).data(n.labelishData.bind(n));o(f.exit(),t).style("opacity","0").remove(),s.bar=f.enter().append("path").attr("class",l).style("fill",n.updateBarColor.bind(n)).merge(f).style("opacity",c),n.setRatioForGroupedData(s.bar.data())},updateBarColor(t){const e=this,n=e.getStylePropValue(e.color);return e.config.bar_linearGradient?e.getGradienColortUrl(t.id):n?n(t):null},redrawBar(t,e,n=!1){const a=this,{bar:i}=n?a.$el.subchart:a.$el;return[a.$T(i,e,gr()).attr("d",o=>(he(o.value)||a.isBarRangeType(o))&&t(o)).style("fill",a.updateBarColor.bind(a)).style("clip-path",o=>o.clipPath).style("opacity",null)]},generateDrawBar(t,e){const n=this,{config:a}=n,i=n.generateGetBarPoints(t,e),o=a.axis_rotated,s=a.bar_radius,l=a.bar_radius_ratio,c=he(s)&&s>0?()=>s:he(l)?f=>f*l:null;return(f,g)=>{const v=i(f,g),m=+o,S=+!m,P=f.value<0,N=a[`axis_${n.axis.getId(f.id)}_inverted`],L=!N&&P||N&&!P,w=["",""],X=n.isGrouped(f.id),W=c&&X?n.isStackingRadiusData(f):!1,H=[v[0][m],v[0][S]];let k=0;if(f.clipPath=null,c){const ht=o?S:m,$t=v[2][ht]-v[0][ht];k=!X||W?c($t):0;const dt=`a${k} ${k} ${L?"1 0 0":"0 0 1"} `;w[+!o]=`${dt}${k},${k}`,w[+o]=`${dt}${[-k,k][o?"sort":"reverse"]()}`,L&&w.reverse()}const K=o?v[1][m]+(L?k:-k):v[1][S]+(L?-k:k);if(k){let ht="";o?L&&H[0]K&&(ht=`0 0 0 ${H[0]-K}px`):L&&H[1]>K?ht=`${H[1]-K}px 0 0 0`:!L&&H[1]-1){const m=n.bar.filter(S=>S.id===s&&S.value===c);return!m.empty()&&/a\d+/i.test(m.attr("d"))}const f=a.data_groups.find(m=>m.indexOf(s)>-1),v=e.orderTargets(e.filterTargetsToShow(i.targets.filter(e.isBarType,e))).filter(m=>f.indexOf(m.id)>-1).map(m=>m.values.filter(S=>S.index===l&&(he(c)&&c>0?S.value>0:S.value<0))[0]).filter(Boolean).map(m=>m.id);return c!==0&&v.indexOf(s)===v.length-1},generateGetBarPoints(t,e){const n=this,{config:a}=n,i=e?n.axis.subX:n.axis.x,o=n.getIndicesMax(t)+1,s=n.getBarW("bar",i,o),l=n.getShapeX(s,t,!!e),c=n.getShapeY(!!e),f=n.getShapeOffset(n.isBarType,t,!!e),g=n.getYScaleById.bind(n);return(v,m)=>{const{id:S}=v,P=g.call(n,S,e)(n.getShapeYMin(S)),N=f(v,m)||P,L=he(s)?s:s[v.id]||s._$width,w=a[`axis_${n.axis.getId(S)}_inverted`],X=v.value,W=l(v);let H=c(v);a.axis_rotated&&!w&&(X>0&&He.isBubbleZType(s)?e.getBubbleZData(s.value,"y"):Be(s.value)?s.value.mid:s.value)),i=n*n*Math.PI,o=(e.isBubbleZType(t)?e.getBubbleZData(t.value,"z"):t.value)*(i/a);return Math.sqrt(o/Math.PI)},getBubbleZData(t,e){return Be(t)?t[e]:t[e==="y"?0:1]}},Tx=Object.defineProperty,Xu=Object.getOwnPropertySymbols,$x=Object.prototype.hasOwnProperty,Sx=Object.prototype.propertyIsEnumerable,Hu=(t,e,n)=>e in t?Tx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Ax=(t,e)=>{for(var n in e||(e={}))$x.call(e,n)&&Hu(t,n,e[n]);if(Xu)for(var n of Xu(e))Sx.call(e,n)&&Hu(t,n,e[n]);return t},Ex={initCandlestick(){const{$el:t}=this;t.candlestick=t.main.select(`.${Se.chart}`).append("g").attr("class",cr.chartCandlesticks)},updateTargetsForCandlestick(t){const e=this,{$el:n}=e,a=e.getChartClass("Candlestick");n.candlestick||e.initCandlestick(),e.$el.main.select(`.${cr.chartCandlesticks}`).selectAll(`.${cr.chartCandlestick}`).data(t).enter().append("g").attr("class",a).style("pointer-events","none")},updateCandlestick(t,e=!1){const n=this,{$el:a,$T:i}=n,o=e?a.subchart:a,s=n.getClass("candlestick",!0),l=n.initialOpacity.bind(n),c=o.main.selectAll(`.${cr.chartCandlestick}`).selectAll(`.${cr.candlestick}`).data(n.labelishData.bind(n));i(c.exit(),t).style("opacity","0").remove();const f=c.enter().filter(g=>g.value).append("g").attr("class",s);f.append("line"),f.append("path"),o.candlestick=c.merge(f).style("opacity",l)},generateDrawCandlestick(t,e){const n=this,{config:a}=n,i=n.generateGetCandlestickPoints(t,e),o=a.axis_rotated,s=a.candlestick_color_down;return(l,c,f)=>{const g=i(l,c),v=n.getCandlestickData(l),m=v==null?void 0:v._isUp,S=+o,P=+!S;f.classed&&f.classed(cr[m?"valueUp":"valueDown"],!0);const N=o?`H${g[1][1]} V${g[1][0]} H${g[0][1]}`:`V${g[1][1]} H${g[1][0]} V${g[0][1]}`;f.select("path").attr("d",`M${g[0][S]},${g[0][P]}${N}z`).style("fill",X=>(m?n.color(X):Be(s)?s[X.id]:s)||n.color(X));const L=f.select("line"),w=o?{x1:g[2][1],x2:g[2][2],y1:g[2][0],y2:g[2][0]}:{x1:g[2][0],x2:g[2][0],y1:g[2][1],y2:g[2][2]};for(const X in w)L.attr(X,w[X])}},generateGetCandlestickPoints(t,e=!1){const n=this,a=e?n.axis.subX:n.axis.x,i=n.getIndicesMax(t)+1,o=n.getBarW("candlestick",a,i),s=n.getShapeX(o,t,!!e),l=n.getShapeY(!!e),c=n.getShapeOffset(n.isBarType,t,!!e),f=n.getYScaleById.bind(n);return(g,v)=>{const m=f.call(n,g.id,e)(n.getShapeYMin(g.id)),S=c(g,v)||m,P=he(o)?o:o[g.id]||o._$width,N=n.getCandlestickData(g);let L;if(N&&he(N.open)&&he(N.close)){const w={start:s(g),end:0};w.end=w.start+P;const X={start:l(N.open),end:l(N.close)},W={x:w.start+P/2,high:l(N.high),low:l(N.low)};X.start-=m-S,L=[[w.start,X.start],[w.end,X.end],[W.x,W.low,W.high]]}else L=[[0,0],[0,0],[0,0,0]];return L}},redrawCandlestick(t,e,n=!1){const a=this,{$el:i,$T:o}=a,{candlestick:s}=n?i.subchart:i,l=gr(!0);return[s.each(function(c,f){const g=o(ot(this),e,l);t(c,f,g)}).style("opacity",null)]},getCandlestickData({value:t}){let e;if(je(t)){const[n,a,i,o,s=!1]=t;e={open:n,high:a,low:i,close:o},s!==!1&&(e.volume=s)}else Be(t)&&(e=Ax({},t));return e&&(e._isUp=e.close>=e.open),e||null}},bx=Object.defineProperty,Yu=Object.getOwnPropertySymbols,Rx=Object.prototype.hasOwnProperty,Ix=Object.prototype.propertyIsEnumerable,Wu=(t,e,n)=>e in t?bx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Ox=(t,e)=>{for(var n in e||(e={}))Rx.call(e,n)&&Wu(t,n,e[n]);if(Yu)for(var n of Yu(e))Ix.call(e,n)&&Wu(t,n,e[n]);return t};function Zi(t=!1){const e=this,{config:n,state:{current:{width:a,height:i}}}=e,o=e.getCurrentPadding(),s=Ox({width:a-(o.left+o.right),height:i-(n.legend_show?e.getLegendHeight()+10:0)-(o.top+o.bottom)},o);if(t){const{width:l,height:c}=Ku.call(e,{width:s.width,height:s.height});s.width{let l=o;return Be(o)&&(l=t[s?"height":"width"]*o.ratio),l}),{width:a,height:i}}function Cx(t){const e=this,{top:n,left:a,width:i}=Zi.call(e,!0),o=[];return t.forEach((s,l)=>{const{ratio:c}=s,f=l>0?o[l-1][2][1]:n;o.push(s.coords=[[a,f],[a+i,f],[a+i,l>0?c+f:c+n],[a,l>0?c+f:c+n],[a,f]])}),o}function Zu(t=!1){const e=this,{width:n,height:a,top:i,left:o}=Zi.call(e,!0),s=Ku.call(e,{width:n,height:a}),l=(n-s.width)/2,c=(n+s.width)/2,f=a-s.height,g=[[0,0],[n,0],[c,f],[c,a],[l,a],[l,f],[0,0]];return t&&g.forEach(v=>{v[0]+=o,v[1]+=i}),`M${g.join("L")}z`}function Px(t){const e=this,{config:n}=e,a=t.map(i=>({id:i.id,value:i.values.reduce((o,s)=>o+s.value,0)}));return n.data_order&&a.sort(e.getSortCompareFn.bind(e)(!0)),Ju.call(e,a)}function Ju(t){const e=this,{height:n}=Zi.call(e),a=e.getTotalDataSum(!0);return t.forEach(i=>{i.ratio=i.value/a*n}),t}var wx={initFunnel(){const t=this,{$el:e}=t;e.funnel=e.main.select(`.${Se.chart}`).append("g").classed(Ta.chartFunnels,!0),e.funnel.background=e.funnel.append("path").classed(Ta.funnelBackground,!0),t.bindFunnelEvent()},bindFunnelEvent(){const t=this,{$el:{funnel:e},config:n,state:a}=t,i=o=>{var s;const l=o.isTrusted?o.target:(s=a.eventReceiver.rect)==null?void 0:s.node();let c;return/^path$/i.test(l.tagName)&&(a.event=o,c=ot(l).datum()),c};if(n.interaction_enabled){const o=a.inputType==="touch";e.on(o?"touchstart":"mouseover mousemove",s=>{const l=i(s);l&&(t.showTooltip([l],s.target),/^(touchstart|mouseover)$/.test(s.type)&&t.setOverOut(!0,l))}).on(o?"touchend":"mouseout",s=>{const l=i(s);n.interaction_onout&&(t.hideTooltip(),t.setOverOut(!1,l))})}},updateTargetsForFunnel(t){const e=this,{$el:{funnel:n}}=e,a=e.getChartClass("Funnel"),i=e.getClass("funnel",!0);n||e.initFunnel();const o=Px.call(e,t.filter(e.isFunnelType.bind(e))),s=n.selectAll(`.${Ta.chartFunnel}`).data(o);s.exit().remove();const l=s.enter().insert("g",`.${Ta.funnelBackground}`);l.append("path"),n.path=l.merge(s).attr("class",c=>a(c)).select("path").attr("class",i).style("opacity","0").style("fill",e.color)},updateFunnel(t){const e=this,{$el:{funnel:n}}=e,a=t.map(({id:i})=>i);n.path=n.path.filter(i=>a.indexOf(i.id)>=0)},generateGetFunnelPoints(){const t=this,{$el:{funnel:e}}=t,n=t.filterTargetsToShow(e.path),{top:a,left:i,right:o}=Zi.call(t),s=(i-o)/2,l={};let c=a!=null?a:0;return n.each((f,g)=>{var v;l[f.id]=[[s,c],[s,c+=((v=n==null?void 0:n[g])!=null?v:f).ratio]]}),f=>l[f.id]},redrawFunnel(){const t=this,{$T:e,$el:{funnel:n}}=t,a=t.filterTargetsToShow(n.path),i=Cx.call(t,Ju.call(t,a.data()));n.attr("clip-path",`path('${Zu.bind(t)()}')`),n.background.attr("d",Zu.call(t,!0)),e(a).attr("d",(o,s)=>`M${i[s].join("L")}z`).style("opacity","1"),n.selectAll("g").style("opacity",null)}},Mx={initGauge(){const t=this,{config:e,$el:{arcs:n}}=t,a=(i=null,o="")=>{n.append("text").attr("class",i).style("text-anchor","middle").style("pointer-events","none").text(o)};if(t.hasType("gauge")){const i=t.hasMultiArcGauge();n.append(i?"g":"path").attr("class",Ve.chartArcsBackground).style("fill",!i&&e.gauge_background||null),e.gauge_units&&a(Un.chartArcsGaugeUnit),e.gauge_label_show&&(a(Un.chartArcsGaugeMin),!e.gauge_fullCircle&&a(Un.chartArcsGaugeMax))}},updateGaugeMax(){const t=this,{config:e,state:n}=t,i=t.hasMultiArcGauge()?t.getMinMaxData().max[0].value:t.getTotalDataSum(n.rendered);!e.gauge_enforceMinMax&&i+e.gauge_min*(e.gauge_min>0?-1:1)>e.gauge_max&&(e.gauge_max=i-e.gauge_min)},redrawArcGaugeLine(){const t=this,{config:e,state:n,$el:a}=t,{hiddenTargetIds:i}=t.state,o=a.main.selectAll(`.${Ve.arcs}`).selectAll(`.${Ve.arcLabelLine}`).data(t.arcData.bind(t));o.enter().append("rect").attr("class",l=>`${Ve.arcLabelLine} ${Se.target} ${Se.target}-${l.data.id}`).merge(o).style("fill",l=>t.levelColor?t.levelColor(l.data.values[0].value):t.color(l.data)).style("display",e.gauge_label_show?null:"none").each(function(l){let c=0;const f=2;let g=0,v=0,m="";if(i.indexOf(l.data.id)<0){const S=t.updateAngle(l),P=n.gaugeArcWidth/t.filterTargetsToShow(t.data.targets).length*(S.index+1),N=S.endAngle-Math.PI/2,L=n.radius-P,w=N-(L===0?0:1/L);c=n.radiusExpanded-n.radius+P,g=Math.cos(w)*L,v=Math.sin(w)*L,m=`rotate(${N*180/Math.PI}, ${g}, ${v})`}ot(this).attr("x",g).attr("y",v).attr("width",c).attr("height",f).attr("transform",m).style("stroke-dasharray",`0, ${c+f}, 0`)})},textForGaugeMinMax(t,e){const n=this,{config:a}=n,i=a.gauge_label_extents;return ve(i)?i.bind(n.api)(t,e):t},getGaugeLabelHeight(){const{config:t}=this;return this.config.gauge_label_show&&!t.gauge_fullCircle?20:0},getPaddingBottomForGauge(){const t=this;return t.getGaugeLabelHeight()*(t.config.gauge_label_show?2:2.5)}};function Dx(t,e,n,a=!1){const i=t?[t,0]:n;for(let o=t||n.reduce((s,l)=>s+l);o<=e;)n.forEach(s=>{o+s<=e&&i.push(s),o+=s});return i.length%2!==0&&i.push(a?n[1]:0),{dash:i.join(" "),length:i.reduce((o,s)=>o+s,0)}}function Lx(t,e,n){const a=this,i=[],o="2 2";if(Qe(e)){const s=(l,c)=>ln(l)?c:n?Yn.call(a,l):l;for(let l=0,c;c=e[l];l++){const f=s(c.start,t[0].x),g=s(c.end,t[t.length-1].x),v=c.style||{dasharray:o};i[l]={start:f,end:g,style:v}}}return i}var Nx={initLine(){const{$el:t}=this;t.line=t.main.select(`.${Se.chart}`).append("g").attr("class",ur.chartLines).call(this.setCssRule(!1,`.${ur.chartLines}`,["pointer-events:none"]))},updateTargetsForLine(t){const e=this,{$el:{area:n,line:a,main:i}}=e,o=e.getChartClass("Line"),s=e.getClass("lines",!0),l=e.classFocus.bind(e);a||e.initLine();const c=t.filter(v=>!(e.isScatterType(v)||e.isBubbleType(v))),f=i.select(`.${ur.chartLines}`).selectAll(`.${ur.chartLine}`).data(c).attr("class",v=>o(v)+l(v)),g=f.enter().append("g").attr("class",o).style("opacity","0").style("pointer-events",e.getStylePropValue("none"));if(g.append("g").attr("class",s),e.hasTypeOf("Area")){const v=(!n&&g.empty()?f:g).filter(e.isAreaType.bind(e));e.initArea(v)}e.updateTargetForCircle(c,g)},updateLine(t,e=!1){const n=this,{format:{extraLineClasses:a},$el:i,$T:o}=n,s=e?i.subchart:i,l=s.main.selectAll(`.${ur.lines}`).selectAll(`.${ur.line}`).data(n.lineData.bind(n));o(l.exit(),t).style("opacity","0").remove(),s.line=l.enter().append("path").attr("class",c=>`${n.getClass("line",!0)(c)} ${a(c)||""}`).style("stroke",n.color).merge(l).style("opacity",n.initialOpacity.bind(n)).attr("transform",null)},redrawLine(t,e,n=!1){const a=this,{$el:i,$T:o}=a,{line:s}=n?i.subchart:i;return[o(s,e,gr()).attr("d",t).style("stroke",this.color).style("opacity",null)]},getCurve(t){const e=this;return e.config.axis_rotated&&e.isStepType(t)?a=>{const i=e.getInterpolate(t)(a);return i.orgPoint=i.point,i.pointRotated=function(o,s){this._point===1&&(this._point=2);const l=this._y*(1-this._t)+s*this._t;this._context.lineTo(this._x,l),this._context.lineTo(o,l),this._x=o,this._y=s},i.point=function(o,s){this._point===0?this.orgPoint(o,s):this.pointRotated(o,s)},i}:e.getInterpolate(t)},generateDrawLine(t,e){const n=this,{config:a,scale:i}=n,o=a.line_connectNull,s=a.axis_rotated,l=n.generateGetLinePoints(t,e),c=n.getYScaleById.bind(n),f=S=>(e?n.subxx:n.xx).call(n,S),g=(S,P)=>n.isGrouped(S.id)?l(S,P)[0][1]:c(S.id,e)(n.getBaseValue(S));let v=Gu();v=s?v.x(g).y(f):v.x(f).y(g),o||(v=v.defined(S=>n.getBaseValue(S)!==null));const m=e?i.subX:i.x;return S=>{const P=c(S.id,e);let N=o?n.filterRemoveNull(S.values):S.values,L=0,w=0,X;if(n.isLineType(S)){const W=a.data_regions[S.id];W?X=n.lineWithRegions(N,i.zoom||m,P,W):(n.isStepType(S)&&(N=n.convertValuesToStep(N)),X=v.curve(n.getCurve(S))(N))}else N[0]&&(L=m(N[0].x),w=P(N[0].value)),X=s?`M ${w} ${L}`:`M ${L} ${w}`;return X||"M 0 0"}},lineWithRegions(t,e,n,a){const i=this,{config:o}=i,s=o.axis_rotated,l=i.axis.isTimeSeries(),c="2 2",f=Lx.bind(i)(t,a,l),g=i.hasNullDataValue(t);let v,m,S,P;const N=s?dt=>n(dt.value):dt=>e(dt.x),L=s?dt=>e(dt.x):dt=>n(dt.value),w=dt=>`M${dt[0][0]},${dt[0][1]}L${dt[1][0]},${dt[1][1]}`,X=l?(dt,st,Vt,vt)=>{const Q=dt.x.getTime(),St=st.x-dt.x,ct=new Date(Q+St*Vt),At=new Date(Q+St*(Vt+vt)),Gt=s?[[n(m(Vt)),e(ct)],[n(m(Vt+S)),e(At)]]:[[e(ct),n(m(Vt))],[e(At),n(m(Vt+S))]];return w(Gt)}:(dt,st,Vt,vt)=>{const Q=e(st.x,!s),St=n(st.value,s),ct=Vt+vt,At=e(v(Vt),!s),Gt=n(m(Vt),s);let Bt=e(v(ct),!s),Kt=n(m(ct),s);Bt>Q&&(Bt=Q),dt.value>st.value&&(s?KtSt)&&(Kt=St);const ne=[[At,Gt],[Bt,Kt]];return s&&ne.forEach(le=>le.reverse()),w(ne)},W={x:i.axis.getAxisType("x"),y:i.axis.getAxisType("y")};let H="";const k=i.$el.line.filter(({id:dt})=>dt===t[0].id),K=k.clone().style("display","none"),at=(dt,st)=>dt.attr("d",st).node().getTotalLength(),ht={dash:[],lastLength:0};let $t=!1;for(let dt=0,st;st=t[dt];dt++){const Vt=t[dt-1],vt=Vt&&De(Vt.value);let Q=i.isWithinRegions(st.x,f);if(De(st.value)){if(ln(f)||!Q||!vt)H+=`${dt&&vt?"L":"M"}${N(st)},${L(st)}`;else if(vt)if(Q=((Q==null?void 0:Q.dasharray)||c).split(" ").map(Number),v=zr(W.x,Vt.x,st.x),m=zr(W.y,Vt.value,st.value),g){const St=e(st.x)-e(Vt.x),ct=n(st.value)-n(Vt.value),At=Math.sqrt(Math.pow(St,2)+Math.pow(ct,2));S=Q[0]/At,P=S*Q[1];for(let Gt=S;Gt<=1;Gt+=P)H+=X(Vt,st,Gt,S),Gt+P>=1&&(H+=X(Vt,st,1,0))}else{let St=[];if($t=st.x===t[t.length-1].x,l){const Bt=+Vt.x,Kt=new Date(Bt),ne=new Date(Bt+(+st.x-Bt));St=[[e(Kt),n(m(0))],[e(ne),n(m(1))]]}else St=[[e(v(0)),n(m(0))],[e(v(1)),n(m(1))]];s&&St.forEach(Bt=>Bt.reverse());const ct=at(K,H),At=at(K,H+=`L${St[1].join(",")}`),Gt=Dx(ct-ht.lastLength,At-ht.lastLength,Q,$t);ht.lastLength+=Gt.length,ht.dash.push(Gt.dash)}}}return ht.dash.length&&(!$t&&ht.dash.push(at(K,H)),K.remove(),k.attr("stroke-dasharray",ht.dash.join(" "))),H},isWithinRegions(t,e){for(let n=0,a;a=e[n];n++)if(a.startgr();var Ji={initialOpacityForCircle(t){const{config:e,state:{withoutFadeIn:n}}=this;let a=e.point_opacity;return ln(a)&&(a=this.getBaseValue(t)!==null&&n[t.id]?this.opacityForCircle(t):"0"),a},opacityForCircle(t){var e;const{config:n}=this;let a=n.point_opacity;return ln(a)&&(a=n.point_show&&!((e=this.isPointFocusOnly)!=null&&e.call(this))?null:"0",a=De(this.getBaseValue(t))?this.isBubbleType(t)||this.isScatterType(t)?"0.5":a:"0"),a},initCircle(){const t=this,{$el:{main:e}}=t;!t.point&&(t.point=t.generatePoint()),(t.hasType("bubble")||t.hasType("scatter"))&&e.select(`.${Se.chart} > .${$n.chartCircles}`).empty()&&e.select(`.${Se.chart}`).append("g").attr("class",$n.chartCircles)},updateTargetForCircle(t,e){const n=this,{config:a,data:i,$el:o}=n,s=a.interaction_enabled&&a.data_selection_enabled,l=s&&a.data_selection_isselectable,c=n.getClass("circles",!0);if(!a.point_show)return;n.initCircle();let f=t,g=e;if(!f){f=i.targets.filter(m=>this.isScatterType(m)||this.isBubbleType(m));const v=o.main.select(`.${$n.chartCircles}`).style("pointer-events","none").selectAll(`.${$n.circles}`).data(f);v.exit().remove(),g=v.enter()}s&&g.append("g").attr("class",v=>n.generateClass(tn.selectedCircles,v.id)),g.append("g").attr("class",c).call(v=>{n.setCssRule(!0,`.${$n.circles}`,["cursor:pointer"],l)(v),n.setCssRule(!0,` .${$n.circle}`,["fill","stroke"],n.color)(v)}).style("opacity",function(){return ot(this.parentNode).attr("class").indexOf($n.chartCircles)>-1?"0":null}),s&&f.forEach(v=>{o.main.selectAll(`.${tn.selectedCircles}${n.getTargetSelectorSuffix(v.id)}`).selectAll(`${tn.selectedCircle}`).each(m=>{m.value=v.values[m.index].value})})},updateCircle(t=!1){const e=this,{config:n,state:a,$el:i}=e,o=e.isPointFocusOnly(),s=t?i.subchart:i;if(n.point_show&&!a.toggling){n.point_radialGradient&&e.updateLinearGradient();const l=s.main.selectAll(`.${$n.circles}`).selectAll(`.${$n.circle}`).data(c=>e.isLineType(c)&&e.shouldDrawPointsForLine(c)||e.isBubbleType(c)||e.isRadarType(c)||e.isScatterType(c)?o?[c.values[0]]:c.values:[]);l.exit().remove(),l.enter().filter(Boolean).append(e.point("create",this,e.pointR.bind(e),e.updateCircleColor.bind(e))),s.circle=s.main.selectAll(`.${$n.circles} .${$n.circle}`).style("stroke",e.getStylePropValue(e.color)).style("opacity",e.initialOpacityForCircle.bind(e))}},updateCircleColor(t){const e=this,n=e.getStylePropValue(e.color);return e.config.point_radialGradient?e.getGradienColortUrl(t.id):n?n(t):null},redrawCircle(t,e,n,a,i=!1){const o=this,{state:{rendered:s},$el:l,$T:c}=o,f=i?l.subchart:l,g=f.main.selectAll(`.${tn.selectedCircle}`);if(!o.config.point_show)return[];const v=o.point("update",o,t,e,o.updateCircleColor.bind(o),n,a,g),m=o.isCirclePoint()?"c":"",S=gr(),P=o.opacityForCircle.bind(o),N=[];return f.circle.each(function(L){let w=v.bind(this)(L);w=c(w,n||!s,S).style("opacity",P),N.push(w)}),[N,c(g,n).attr(`${m}x`,t).attr(`${m}y`,e)]},showCircleFocus(t){const e=this,{state:{hasRadar:n,resizing:a,toggling:i,transiting:o},$el:s}=e;let{circle:l}=s;if(o===!1&&l&&e.isPointFocusOnly()){const c=(n?e.radarCircleX:e.circleX).bind(e),f=(n?e.radarCircleY:e.circleY).bind(e),g=i||ln(t),v=e.point("update",e,c,f,e.getStylePropValue(e.color),a?!1:g);t&&(l=l.filter(function(m){var S;const P=(S=t.filter)==null?void 0:S.call(t,N=>N.id===m.id);return P.length?ot(this).datum(P[0]):!1})),l.attr("class",this.updatePointClass.bind(this)).style("opacity",null).each(function(m){const{id:S,index:P,value:N}=m;let L="hidden";De(N)&&(v.bind(this)(m),e.expandCircles(P,S),L=""),this.style.visibility=L})}},hideCircleFocus(){const t=this,{$el:{circle:e}}=t;t.isPointFocusOnly()&&e&&(t.unexpandCircles(),e.style("visibility","hidden"))},circleX(t){return this.xx(t)},updateCircleY(t=!1){const e=this,n=e.generateGetLinePoints(e.getShapeIndices(e.isLineType),t);return(a,i)=>{const o=a.id;return e.isGrouped(o)?n(a,i)[0][1]:e.getYScaleById(o,t)(e.getBaseValue(a))}},expandCircles(t,e,n){const a=this,i=a.pointExpandedR.bind(a);n&&a.unexpandCircles();const o=a.getShapeByIndex("circle",t,e).classed(Se.EXPANDED,!0),s=i(o)/a.config.point_r,l=1-s;a.isCirclePoint()?o.attr("r",i):o.each(function(){const c=ot(this);if(this.tagName==="circle")c.attr("r",i);else{const{width:f,height:g}=this.getBBox(),v=l*(+c.attr("x")+f/2),m=l*(+c.attr("y")+g/2);c.attr("transform",`translate(${v} ${m}) scale(${s})`)}})},unexpandCircles(t){const e=this,n=e.pointR.bind(e),a=e.getShapeByIndex("circle",t).filter(function(){return ot(this).classed(Se.EXPANDED)}).classed(Se.EXPANDED,!1);if(a.attr("r",n),!e.isCirclePoint()){const i=n(a)/e.config.point_r;a.attr("transform",i!==1?`scale(${i})`:null)}},pointR(t){const e=this,{config:n}=e,a=n.point_r;let i=a;return e.isBubbleType(t)?i=e.getBubbleR(t):ve(a)&&(i=a.bind(e.api)(t)),t.r=i,i},pointExpandedR(t){const e=this,{config:n}=e,a=e.isBubbleType(t)?1.15:1.75;return n.point_focus_expand_enabled?n.point_focus_expand_r||e.pointR(t)*a:e.pointR(t)},pointSelectR(t){const e=this,n=e.config.point_select_r;return ve(n)?n(t):n||e.pointR(t)*4},isPointFocusOnly(){const t=this;return t.config.point_focus_only&&!t.hasType("bubble")&&!t.hasType("scatter")&&!t.hasArcType(null,["radar"])},isWithinCircle(t,e){const{state:n}=this,a=Hn(n.event,t),i=ot(t),o=this.isCirclePoint(t)?"c":"",s=this.getPointSensitivity(i==null?void 0:i.datum());let l=+i.attr(`${o}x`),c=+i.attr(`${o}y`);if(!(l||c)&&t.nodeType===1){const{x:f,y:g}=Ma(t);l=f,c=g}return Math.sqrt(Math.pow(l-a[0],2)+Math.pow(c-a[1],2))<(e||s)},getPointSensitivity(t){const e=this;let n=e.config.point_sensitivity;if(t)ve(n)?n=n.call(e.api,t):n==="radius"&&(n=t.r);else return n;return n},updatePointClass(t){const e=this,{circle:n}=e.$el;let a=!1;return(Be(t)||n)&&(a=t===!0?n.each(function(i){let o=e.getClass("circle",!0)(i);this.getAttribute("class").indexOf(Se.EXPANDED)>-1&&(o+=` ${Se.EXPANDED}`),this.setAttribute("class",o)}):e.getClass("circle",!0)(t)),a},generateGetLinePoints(t,e){const n=this,{config:a}=n,i=n.getShapeX(0,t,e),o=n.getShapeY(e),s=n.getShapeOffset(n.isLineType,t,e),l=n.getYScaleById.bind(n);return(c,f)=>{const g=l.call(n,c.id,e)(n.getShapeYMin(c.id)),v=s(c,f)||g,m=i(c);let S=o(c);a.axis_rotated&&(c.value>0&&SDe(S.value)?e(S)-c/2:0,v=S=>De(S.value)?n(S)-f/2:0;let m=t;return i&&(o&&m.attr("x",g),m=l.$T(m,i,la()),s&&l.$T(s,i,la())),m.attr("x",g).attr("y",v).style("fill",a)}},circle:{create(t,e,n){return t.append("circle").attr("class",this.updatePointClass.bind(this)).attr("r",e).style("fill",n).node()},update(t,e,n,a,i,o,s){const l=this;let c=t;return l.hasType("bubble")&&c.attr("r",l.pointR.bind(l)),i&&(o&&c.attr("cx",e),c.attr("cx")&&(c=l.$T(c,i,la())),s&&l.$T(c,i,la())),c.attr("cx",e).attr("cy",n).style("fill",a)}},rectangle:{create(t,e,n){const a=i=>e(i)*2;return t.append("rect").attr("class",this.updatePointClass.bind(this)).attr("width",a).attr("height",a).style("fill",n).node()},update(t,e,n,a,i,o,s){const l=this,c=l.config.point_r,f=m=>e(m)-c,g=m=>n(m)-c;let v=t;return i&&(o&&v.attr("x",f),v=l.$T(v,i,la()),s&&l.$T(s,i,la())),v.attr("x",f).attr("y",g).style("fill",a)}}};function Fx(t){return nr(t)&&ve(t.create)&&ve(t.update)}function Bx(t,e){var n;const a=this,i=(c,f)=>{const g=c.attributes;for(let v=0,m;m=g[v];v++)m=m.name,f.setAttribute(m,c.getAttribute(m))},s=new DOMParser().parseFromString(t,"image/svg+xml").documentElement,l=gn.createElementNS(ae.svg,s.nodeName.toLowerCase());if(l.id=e,l.style.fill="inherit",l.style.stroke="inherit",i(s,l),(n=s.childNodes)!=null&&n.length){const c=ot(l);"innerHTML"in l?c.html(s.innerHTML):Lr(s.childNodes).forEach(f=>{i(f,c.append(f.tagName).node())})}a.$el.defs.node().appendChild(l)}var ca={hasValidPointType(t){return/^(circle|rect(angle)?|polygon|ellipse|use)$/i.test(t||this.config.point_type)},hasLegendDefsPoint(){var t;const{config:e}=this;return e.legend_show&&((t=e.point_pattern)==null?void 0:t.length)&&e.legend_usePoint},getDefsPointId(t){const{state:{datetimeId:e}}=this;return`${e}-point${t}`},generatePoint(){const t=this,{$el:e,config:n}=t,a=[],i=cn(n.point_pattern)?n.point_pattern:[n.point_type];return function(o,s,...l){return function(c){var f,g,v,m;const S=t.getTargetSelectorSuffix(c.id||((f=c.data)==null?void 0:f.id)||c),P=ot(this);a.indexOf(S)<0&&a.push(S);let N=i[a.indexOf(S)%i.length];if(t.hasValidPointType(N))N=t[N];else if(!Fx(N||n.point_type)){const L=t.getDefsPointId(S);if(e.defs.select(`#${L}`).size()<1&&Bx.bind(t)(N,L),o==="create")return(g=t.custom)==null?void 0:g.create.bind(s)(P,L,...l);if(o==="update")return(v=t.custom)==null?void 0:v.update.bind(s)(P,...l)}return(m=N[o])==null?void 0:m.bind(s)(P,...l)}}}};function Qu(t){const e=t.config.polar_level_max;let n=t.getMinMaxData().max[0].value;return e&&e>n&&(n=e),n}var Ux={initPolar(){const t=this,{$el:{arcs:e},config:n}=t,a=n.polar_level_text_show,i=n.polar_level_text_backgroundColor;e.levels=e.append("g").attr("class",Tr.levels),a&&i&&t.generateTextBGColorFilter(i)},getPolarOuterRadius(t,e){var n;const a=Qu(this);return((n=t==null?void 0:t.data.values[0].value)!=null?n:0)/a*e},updateTargetsForPolar(t){this.updateTargetsForArc(t)},redrawPolar(){const t=this,{config:e}=t;e.polar_level_show&&t.updatePolarLevel()},updatePolarLevel(){const t=this,{config:e,state:n,$el:{arcs:{levels:a}}}=t,i=e.polar_level_depth,o=Qu(t),s=Ei(0,i),l=n.radius,c=s.map(m=>l*((m+1)/i)),f=(e.polar_level_text_format||function(){}).bind(t.api),g=a.selectAll(`.${Tr.level}`).data(s);g.exit().remove();const v=g.enter().append("g").attr("class",(m,S)=>`${Tr.level} ${Tr.level}-${S}`);if(v.append("circle"),v.merge(g).selectAll("circle").style("visibility",e.polar_level_show?null:"hidden").attr("cx",0).attr("cy",0).attr("r",m=>c[m]),e.polar_level_text_show){const m=e.polar_level_text_backgroundColor,S=`#${n.datetimeId}-labels-bg${t.getTargetSelectorSuffix(m)}`;v.append("text").style("text-anchor","middle"),v.merge(g).selectAll("text").attr("dy",P=>-c[P]+5).attr("filter",m?`url(${S})`:null).text(P=>f(o/s.length*(P+1)))}}};function zx(t,e,n,a,i,o){const s=t&&a>0?n-a:a,l=2*Math.PI;return i*(1-o*(e==="x"?Math.sin:Math.cos)(s*l/n))}const ua=Ln.radarPoints,ku=Ln.radarTextWidth;var jx={initRadar(){const t=this,{config:e,state:{current:n},$el:a}=t;t.hasType("radar")&&(a.radar=a.main.select(`.${Se.chart}`).append("g").attr("class",Qs.chartRadars),a.radar.levels=a.radar.append("g").attr("class",Tr.levels),a.radar.axes=a.radar.append("g").attr("class",Tn.axis),a.radar.shapes=a.radar.append("g").attr("class",sn.shapes),n.dataMax=e.radar_axis_max||t.getMinMaxData().max[0].value,e.radar_axis_text_show&&(e.interaction_enabled&&t.bindRadarEvent(),t.updateRadarLevel(),t.updateRadarAxes()))},getRadarSize(){const t=this,{config:e,state:{arcWidth:n,arcHeight:a}}=t,i=e.axis_x_categories.length<4?-20:10,o=(Math.min(n,a)-i)/2;return[o,o]},updateTargetsForRadar(t){const e=this,{config:n}=e;qn(n.axis_x_categories)&&(n.axis_x_categories=Ei(0,_n("max",t.map(a=>a.values.length)))),e.generateRadarPoints()},getRadarPosition(t,e,n,a){const i=this,{config:o}=i,[s,l]=i.getRadarSize(),c=o.axis_x_categories.length,f=o.radar_direction_clockwise,g=Lr(t).map(v=>zx(f,v,c,e,Qe(n)?n:t==="x"?s:l,he(a)?a:o.radar_size_ratio));return g.length===1?g[0]:g},generateRadarPoints(){const t=this,e=t.data.targets,[n,a]=t.getRadarSize(),i=t.cache.get(ua)||{},o=i._size;(!o||o.width!==n&&o.height!==a)&&(e.forEach(s=>{i[s.id]=s.values.map((l,c)=>t.getRadarPosition(["x","y"],c,void 0,t.getRatio("radar",l)))}),i._size={width:n,height:a},t.cache.add(ua,i))},redrawRadar(){const t=this,{radar:e,main:n}=t.$el,a=t.getTranslate("radar");a&&(e.attr("transform",a),n.select(`.${On.chartTexts}`).attr("transform",a),t.generateRadarPoints(),t.updateRadarLevel(),t.updateRadarAxes(),t.updateRadarShape())},generateGetRadarPoints(){const t=this.cache.get(ua);return(e,n)=>{const a=t[e.id][n];return[a,a,a,a]}},updateRadarLevel(){const t=this,{config:e,state:n,$el:{radar:a}}=t,[i,o]=t.getRadarSize(),s=e.radar_level_depth,l=e.axis_x_categories.length,c=e.radar_level_text_show,f=a.levels,g=Ei(0,s),v=e.radar_size_ratio*Math.min(i,o),m=g.map(w=>v*((w+1)/s)),S=(e.radar_level_text_format||function(){}).bind(t.api),P=g.map(w=>{const X=m[w];return Ei(0,l).map(H=>t.getRadarPosition(["x","y"],H,X,1).join(",")).join(" ")}),N=f.selectAll(`.${Tr.level}`).data(g);N.exit().remove();const L=N.enter().append("g").attr("class",(w,X)=>`${Tr.level} ${Tr.level}-${X}`);L.append("polygon").style("visibility",e.radar_level_show?null:"hidden"),c&&(f.select("text").empty()&&f.append("text").attr("dx","-.5em").attr("dy","-.7em").style("text-anchor","end").text(()=>S(0)),L.append("text").attr("dx","-.5em").style("text-anchor","end").text(w=>S(n.current.dataMax/g.length*(w+1)))),L.merge(N).attr("transform",w=>`translate(${i-m[w]}, ${o-m[w]})`).selectAll("polygon").attr("points",w=>P[w]),c&&f.selectAll("text").attr("x",w=>ln(w)?i:P[w].split(",")[0]).attr("y",w=>ln(w)?o:0)},updateRadarAxes(){const t=this,{config:e,$el:{radar:n}}=t,[a,i]=t.getRadarSize(),o=e.axis_x_categories;let s=n.axes.selectAll("g").data(o);s.exit().remove();const l=s.enter().append("g").attr("class",(c,f)=>`${Tn.axis}-${f}`);if(e.radar_axis_line_show&&l.append("line"),e.radar_axis_text_show&&l.append("text"),s=l.merge(s),e.radar_axis_line_show&&s.select("line").attr("x1",a).attr("y1",i).attr("x2",(c,f)=>t.getRadarPosition("x",f)).attr("y2",(c,f)=>t.getRadarPosition("y",f)),e.radar_axis_text_show){const{x:c=0,y:f=0}=e.radar_axis_text_position,g=t.cache.get(ku)||0;if(s.select("text").style("text-anchor","middle").attr("dy",".5em").call(v=>{v.each(function(m){wa(ot(this),String(m),[-.6,1.2])})}).datum((v,m)=>({index:m})).attr("transform",function(v){ln(this.width)&&(this.width=this.getBoundingClientRect().width/2);let m=t.getRadarPosition("x",v.index,void 0,1),S=Math.round(t.getRadarPosition("y",v.index,void 0,1));return m>a?m+=this.width+c:Math.round(m)i?(S/2===i&&this.firstChild.tagName==="tspan"&&this.firstChild.setAttribute("dy","0em"),S+=f):SYl(m.node()).width);v.every(m=>m>0)&&t.cache.add(ku,v[0]-v[1])}}},bindRadarEvent(){const t=this,{config:e,state:n,$el:{radar:a,svg:i}}=t,o=t.isPointFocusOnly(),{inputType:s,transiting:l}=n,c=s==="mouse",f=g=>{if(n.event=g,!e.interaction_onout)return;const v=t.getDataIndexFromEvent(g),m=ln(v);(c||m)&&(t.hideTooltip(),o?t.hideCircleFocus():t.unexpandCircles(),c?t.setOverOut(!1,v):m&&t.callOverOutForTouch())};a.axes.on(c?"mouseover ":"touchstart",g=>{if(l)return;n.event=g;const v=t.getDataIndexFromEvent(g);t.selectRectForSingle(i.node(),v),c?t.setOverOut(!0,v):t.callOverOutForTouch(v)}).on("mouseout",c?f:null),c||i.on("touchstart",f)},updateRadarShape(){const t=this,e=t.data.targets.filter(o=>t.isRadarType(o)),n=t.cache.get(ua),a=t.$el.radar.shapes.selectAll("polygon").data(e),i=a.enter().append("g").attr("class",t.getChartClass("Radar"));t.$T(a.exit()).remove(),i.append("polygon").merge(a).style("fill",t.color).style("stroke",t.color).attr("points",o=>n[o.id].join(" ")),t.updateTargetForCircle(e,i)},radarCircleX(t){return this.cache.get(ua)[t.id][t.index][0]},radarCircleY(t){return this.cache.get(ua)[t.id][t.index][1]}};function Vx(t){var e=0,n=t.children,a=n&&n.length;if(!a)e=1;else for(;--a>=0;)e+=n[a].value;t.value=e}function Gx(){return this.eachAfter(Vx)}function Xx(t,e){let n=-1;for(const a of this)t.call(e,a,++n,this);return this}function Hx(t,e){for(var n=this,a=[n],i,o,s=-1;n=a.pop();)if(t.call(e,n,++s,this),i=n.children)for(o=i.length-1;o>=0;--o)a.push(i[o]);return this}function Yx(t,e){for(var n=this,a=[n],i=[],o,s,l,c=-1;n=a.pop();)if(i.push(n),o=n.children)for(s=0,l=o.length;s=0;)n+=a[i].value;e.value=n})}function Zx(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function Jx(t){for(var e=this,n=Qx(e,t),a=[e];e!==n;)e=e.parent,a.push(e);for(var i=a.length;t!==n;)a.splice(i,0,t),t=t.parent;return a}function Qx(t,e){if(t===e)return t;var n=t.ancestors(),a=e.ancestors(),i=null;for(t=n.pop(),e=a.pop();t===e;)i=t,t=n.pop(),e=a.pop();return i}function kx(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function qx(){return Array.from(this)}function _x(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function t0(){var t=this,e=[];return t.each(function(n){n!==t&&e.push({source:n.parent,target:n})}),e}function*e0(){var t=this,e,n=[t],a,i,o;do for(e=n.reverse(),n=[];t=e.pop();)if(yield t,a=t.children)for(i=0,o=a.length;i=0;--l)i.push(o=s[l]=new Qi(s[l])),o.parent=a,o.depth=a.depth+1;return n.eachBefore(o0)}function n0(){return Rs(this).eachBefore(i0)}function r0(t){return t.children}function a0(t){return Array.isArray(t)?t[1]:null}function i0(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function o0(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function Qi(t){this.data=t,this.depth=this.height=0,this.parent=null}Qi.prototype=Rs.prototype={constructor:Qi,count:Gx,each:Xx,eachAfter:Yx,eachBefore:Hx,find:Wx,sum:Kx,sort:Zx,path:Jx,ancestors:kx,descendants:qx,leaves:_x,links:t0,copy:n0,[Symbol.iterator]:e0};function s0(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function ki(t,e,n,a,i){for(var o=t.children,s,l=-1,c=o.length,f=t.value&&(a-e)/t.value;++lX&&(X=f),K=L*L*k,W=Math.max(X/K,K/w),W>H){L-=f;break}H=W}s.push(c={value:L,dice:S1?a:1)},n}(qu);function C1(t){return t==null?null:ef(t)}function ef(t){if(typeof t!="function")throw new Error;return t}function ja(){return 0}function Va(t){return function(){return t}}function l0(){var t=tf,e=!1,n=1,a=1,i=[0],o=ja,s=ja,l=ja,c=ja,f=ja;function g(m){return m.x0=m.y0=0,m.x1=n,m.y1=a,m.eachBefore(v),i=[0],e&&m.eachBefore(s0),m}function v(m){var S=i[m.depth],P=m.x0+S,N=m.y0+S,L=m.x1-S,w=m.y1-S;L=m-1){var X=o[v];X.x0=P,X.y0=N,X.x1=L,X.y1=w;return}for(var W=f[v],H=S/2+W,k=v+1,K=m-1;k>>1;f[at]w-N){var dt=S?(P*$t+L*ht)/S:L;g(v,k,ht,P,N,dt,w),g(k,m,$t,dt,N,L,w)}else{var st=S?(N*$t+w*ht)/S:w;g(v,k,ht,P,N,L,st),g(k,m,$t,P,st,L,w)}}}function c0(t,e,n,a,i){(t.depth&1?qi:ki)(t,e,n,a,i)}var u0=function t(e){function n(a,i,o,s,l){if((c=a._squarify)&&c.ratio===e)for(var c,f,g,v,m=-1,S,P=c.length,N=a.value;++m1?a:1)},n}(qu);function f0(t,e){const n=this,{scale:{x:a,y:i},state:{width:o}}=n;t.selectAll("g").attr("transform",s=>`translate(${s===e?"0,0":`${a(s.x0)},${i(s.y0)}`})`).select("rect").attr("width",s=>s===e?o:a(s.x1)-a(s.x0)).attr("height",s=>s===e?0:i(s.y1)-i(s.y0))}function d0(t){const e=this;return t.map(n=>{const{id:a,values:i}=n,{value:o}=i[0];return{name:a,id:a,value:o,ratio:e.getRatio("treemap",i[0])}})}function h0(t){const e=this,n=Rs(t).sum(i=>i.value),a=e.getSortCompareFn(!0);return[e.treemap(a?n.sort(a):n)]}var g0={initTreemap(){const t=this,{$el:e,state:{current:{width:n,height:a},clip:i,datetimeId:o}}=t;i.id=`${o}-clip`,t.treemap=l0().tile(t.getTreemapTile()),e.defs.append("clipPath").attr("id",i.id).append("rect").attr("width",n).attr("height",a),e.treemap=e.main.select(`.${Se.chart}`).attr("clip-path",`url(#${i.id})`).append("g").classed(qs.chartTreemaps,!0),t.bindTreemapEvent()},bindTreemapEvent(){const t=this,{$el:e,config:n,state:a}=t,i=o=>{var s;const l=o.isTrusted?o.target:(s=a.eventReceiver.rect)==null?void 0:s.node();let c;return/^rect$/i.test(l.tagName)&&(a.event=o,c=ot(l).datum()),c==null?void 0:c.data};if(n.interaction_enabled){const o=a.inputType==="touch";e.treemap.on(o?"touchstart":"mouseover mousemove",s=>{const l=i(s);l&&(t.showTooltip([l],s.currentTarget),/^(touchstart|mouseover)$/.test(s.type)&&t.setOverOut(!0,l))}).on(o?"touchend":"mouseout",s=>{const l=i(s);n.interaction_onout&&(t.hideTooltip(),t.setOverOut(!1,l))})}},getTreemapTile(){var t,e;const n=this,{config:a,state:{current:{width:i,height:o}}}=n,s=(e={binary:nf,dice:ki,slice:qi,sliceDice:c0,squarify:tf,resquarify:u0}[(t=a.treemap_tile)!=null?t:"binary"])!=null?e:nf;return(l,c,f,g,v)=>{s(l,0,0,i,o);for(const m of l.children)m.x0=c+m.x0/i*(g-c),m.x1=c+m.x1/i*(g-c),m.y0=f+m.y0/o*(v-f),m.y1=f+m.y1/o*(v-f)}},getTreemapData(t){const e=this;return{name:"root",children:d0.bind(e)(e.filterTargetsToShow(t.filter(e.isTreemapType,e)))}},updateTargetsForTreemap(t){const e=this,{$el:{treemap:n}}=e,a=h0.call(e,e.getTreemapData(t!=null?t:e.data.targets));n.data(a)},updateTreemap(t){const e=this,{$el:n,$T:a}=e,i=n.treemap.datum(),o=e.getChartClass("Treemap"),s=e.getClass("treemap",!0),l=n.treemap.selectAll("g").data(i.children);a(l.exit(),t).style("opacity","0").remove(),l.enter().append("g").append("rect"),n.treemap.selectAll("g").attr("class",o).select("rect").attr("class",s).attr("fill",c=>e.color(c.data.name))},generateGetTreemapPoints(){const t=this,{$el:e,scale:{x:n,y:a}}=t,i={};return e.treemap.selectAll("g").each(o=>{i[o.data.name]=[[n(o.x0),a(o.y0)],[n(o.x1),a(o.y1)]]}),o=>i[o.id]},redrawTreemap(t){const e=this,{$el:n,state:{current:{width:a,height:i}}}=e;return n.defs.select("rect").attr("width",a).attr("height",i),[e.$T(n.treemap,t,gr()).call(f0.bind(e),n.treemap.datum())]},treemapDataLabelFormat(t){const e=this,{config:n}=e,{id:a,value:i}=t,o=n.treemap_label_format,s=e.getRatio("treemap",t),l=(s*100).toFixed(2),c=n.treemap_label_show&&e.meetsLabelThreshold(s,"treemap")?null:"0";return function(f){return f.style("opacity",c),ve(o)?o.bind(e.api)(i,s,a):`${a} +${l}%`}}},Xr={point_show:!0,point_r:2.5,point_radialGradient:!1,point_sensitivity:10,point_focus_expand_enabled:!0,point_focus_expand_r:void 0,point_focus_only:!1,point_opacity:void 0,point_pattern:[],point_select_r:void 0,point_type:"circle"},fa={area_above:!1,area_below:!1,area_front:!0,area_linearGradient:!1,area_zerobased:!0},v0={bar_front:!1,bar_indices_removeNull:!1,bar_label_threshold:0,bar_linearGradient:!1,bar_overlap:!1,bar_padding:0,bar_radius:void 0,bar_radius_ratio:void 0,bar_sensitivity:2,bar_width:void 0,bar_width_ratio:.6,bar_width_max:void 0,bar_zerobased:!0},p0={bubble_maxR:35,bubble_zerobased:!1},m0={candlestick_width:void 0,candlestick_width_ratio:.6,candlestick_width_max:void 0,candlestick_color_down:"red"},y0={line_connectNull:!1,line_step_type:"step",line_step_tooltipMatch:!1,line_zerobased:!1,line_classes:void 0,line_point:!0},x0={scatter_zerobased:!1},Is={spline_interpolation_type:"cardinal"},_i={arc_cornerRadius:0,arc_cornerRadius_ratio:0,arc_needle_show:!1,arc_needle_color:void 0,arc_needle_value:void 0,arc_needle_path:void 0,arc_needle_length:100,arc_needle_top_rx:0,arc_needle_top_ry:0,arc_needle_top_width:0,arc_needle_bottom_rx:1,arc_needle_bottom_ry:1,arc_needle_bottom_width:15,arc_needle_bottom_len:0,arc_rangeText_values:void 0,arc_rangeText_unit:"absolute",arc_rangeText_fixed:!1,arc_rangeText_format:void 0,arc_rangeText_position:void 0},T0={donut_label_show:!0,donut_label_format:void 0,donut_label_threshold:.05,donut_label_ratio:void 0,donut_width:void 0,donut_title:"",donut_expand:{},donut_expand_rate:.98,donut_expand_duration:50,donut_padAngle:0,donut_startingAngle:0},$0={funnel_neck_width:0,funnel_neck_height:0},S0={gauge_background:"",gauge_fullCircle:!1,gauge_label_show:!0,gauge_label_extents:void 0,gauge_label_format:void 0,gauge_label_ratio:void 0,gauge_label_threshold:0,gauge_enforceMinMax:!1,gauge_min:0,gauge_max:100,gauge_type:"single",gauge_startingAngle:-1*Math.PI/2,gauge_arcLength:100,gauge_title:"",gauge_units:void 0,gauge_width:void 0,gauge_arcs_minWidth:5,gauge_expand:{},gauge_expand_rate:.98,gauge_expand_duration:50},A0={pie_label_show:!0,pie_label_format:void 0,pie_label_ratio:void 0,pie_label_threshold:.05,pie_expand:{},pie_expand_rate:.98,pie_expand_duration:50,pie_innerRadius:0,pie_outerRadius:void 0,pie_padAngle:0,pie_padding:0,pie_startingAngle:0},E0={polar_label_show:!0,polar_label_format:void 0,polar_label_threshold:.05,polar_label_ratio:void 0,polar_level_depth:3,polar_level_max:void 0,polar_level_show:!0,polar_level_text_backgroundColor:"#fff",polar_level_text_format:t=>t%1===0?t:t.toFixed(2),polar_level_text_show:!0,polar_padAngle:0,polar_padding:0,polar_startingAngle:0},b0={radar_axis_max:void 0,radar_axis_line_show:!0,radar_axis_text_show:!0,radar_axis_text_position:{},radar_level_depth:3,radar_level_show:!0,radar_level_text_format:t=>t%1===0?t:t.toFixed(2),radar_level_text_show:!0,radar_size_ratio:.87,radar_direction_clockwise:!1},R0={treemap_tile:"binary",treemap_label_format:void 0,treemap_label_threshold:.05,treemap_label_show:!0};function da(t,e){yn(Vr.prototype,Object.values(Du).concat(t)),yn(Er.prototype,Jy),Nr.setOptions(Object.values(Lu).concat(e||[]))}function mr(t,e){da([ca,Ji,Nx].concat(t||[])),Nr.setOptions([Xr,y0].concat(e||[]))}function ha(t,e){yn(Vr.prototype,[px,ca].concat(t||[])),Nr.setOptions([Xr].concat(e||[]))}let rf=()=>(mr(sa,[fa]),(rf=()=>oe.AREA)()),af=()=>(mr(sa,[fa]),(af=()=>oe.AREA_LINE_RANGE)()),of=()=>(mr(sa,[fa]),(of=()=>oe.AREA_STEP_RANGE)()),sf=()=>(mr(sa,[fa,Is]),(sf=()=>oe.AREA_SPLINE)()),lf=()=>(mr(sa,[fa,Is]),(lf=()=>oe.AREA_SPLINE_RANGE)()),cf=()=>(mr(sa,[fa]),(cf=()=>oe.AREA_STEP)()),uf=()=>(mr(),(uf=()=>oe.LINE)()),ff=()=>(mr(void 0,[Is]),(ff=()=>oe.SPLINE)()),df=()=>(mr(),(df=()=>oe.STEP)()),hf=()=>(ha(void 0,[_i,T0]),(hf=()=>oe.DONUT)()),gf=()=>(ha([Mx],[_i,S0]),(gf=()=>oe.GAUGE)()),vf=()=>(ha(void 0,[_i,A0]),(vf=()=>oe.PIE)()),pf=()=>(ha([Ux],[_i,E0]),(pf=()=>oe.POLAR)()),mf=()=>(ha([Du.eventrect,Ji,jx],[Xr,b0,{axis_x_categories:Lu.optAxis.axis_x_categories}]),(mf=()=>oe.RADAR)()),yf=()=>(da([yx,ca],[v0,Xr]),(yf=()=>oe.BAR)()),xf=()=>(da([ca,Ji,xx],[p0,Xr]),(xf=()=>oe.BUBBLE)()),Tf=()=>(da([Ex,ca],[m0,Xr]),(Tf=()=>oe.CANDLESTICK)()),$f=()=>(da([ca,Ji],[Xr,x0]),($f=()=>oe.SCATTER)()),Sf=()=>(ha([wx],[$0]),(Sf=()=>oe.FUNNEL)()),Af=()=>(da([g0],[R0]),(Af=()=>oe.TREEMAP)()),Os=Object.create(null);const Ef={version:"3.15.1",generate(t){const e=ea(Object.create(null),Os,t),n=new Er(e);return n.internal.charts=this.instance,this.instance.push(n),n},defaults(t){return Be(t)&&(Os=t),Os},instance:[],plugin:{}};Object.keys(d).forEach(t=>d[t]()),Object.keys(u).forEach(t=>u[t]())}],Xa={};function zn(x){var b=Xa[x];if(b!==void 0)return b.exports;var r=Xa[x]={exports:{}};return Cs[x].call(r.exports,r,r.exports,zn),r.exports}(function(){zn.d=function(x,b){for(var r in b)zn.o(b,r)&&!zn.o(x,r)&&Object.defineProperty(x,r,{enumerable:!0,get:b[r]})}})(),function(){zn.o=function(x,b){return Object.prototype.hasOwnProperty.call(x,b)}}(),function(){zn.r=function(x){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(x,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(x,"__esModule",{value:!0})}}(),zn(0);var Ha=zn(584);return Ha}()}); diff --git a/src/Report/Html/Renderer/Template/js/d3.min.js b/src/Report/Html/Renderer/Template/js/d3.min.js deleted file mode 100644 index 166487309..000000000 --- a/src/Report/Html/Renderer/Template/js/d3.min.js +++ /dev/null @@ -1,5 +0,0 @@ -!function(){function n(n){return n&&(n.ownerDocument||n.document||n).documentElement}function t(n){return n&&(n.ownerDocument&&n.ownerDocument.defaultView||n.document&&n||n.defaultView)}function e(n,t){return t>n?-1:n>t?1:n>=t?0:NaN}function r(n){return null===n?NaN:+n}function i(n){return!isNaN(n)}function u(n){return{left:function(t,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=t.length);i>r;){var u=r+i>>>1;n(t[u],e)<0?r=u+1:i=u}return r},right:function(t,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=t.length);i>r;){var u=r+i>>>1;n(t[u],e)>0?i=u:r=u+1}return r}}}function o(n){return n.length}function a(n){for(var t=1;n*t%1;)t*=10;return t}function l(n,t){for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}function c(){this._=Object.create(null)}function f(n){return(n+="")===bo||n[0]===_o?_o+n:n}function s(n){return(n+="")[0]===_o?n.slice(1):n}function h(n){return f(n)in this._}function p(n){return(n=f(n))in this._&&delete this._[n]}function g(){var n=[];for(var t in this._)n.push(s(t));return n}function v(){var n=0;for(var t in this._)++n;return n}function d(){for(var n in this._)return!1;return!0}function y(){this._=Object.create(null)}function m(n){return n}function M(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function x(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e=0,r=wo.length;r>e;++e){var i=wo[e]+t;if(i in n)return i}}function b(){}function _(){}function w(n){function t(){for(var t,r=e,i=-1,u=r.length;++ie;e++)for(var i,u=n[e],o=0,a=u.length;a>o;o++)(i=u[o])&&t(i,o,e);return n}function Z(n){return ko(n,qo),n}function V(n){var t,e;return function(r,i,u){var o,a=n[u].update,l=a.length;for(u!=e&&(e=u,t=0),i>=t&&(t=i+1);!(o=a[t])&&++t0&&(n=n.slice(0,a));var c=To.get(n);return c&&(n=c,l=B),a?t?i:r:t?b:u}function $(n,t){return function(e){var r=ao.event;ao.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{ao.event=r}}}function B(n,t){var e=$(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function W(e){var r=".dragsuppress-"+ ++Do,i="click"+r,u=ao.select(t(e)).on("touchmove"+r,S).on("dragstart"+r,S).on("selectstart"+r,S);if(null==Ro&&(Ro="onselectstart"in e?!1:x(e.style,"userSelect")),Ro){var o=n(e).style,a=o[Ro];o[Ro]="none"}return function(n){if(u.on(r,null),Ro&&(o[Ro]=a),n){var t=function(){u.on(i,null)};u.on(i,function(){S(),t()},!0),setTimeout(t,0)}}}function J(n,e){e.changedTouches&&(e=e.changedTouches[0]);var r=n.ownerSVGElement||n;if(r.createSVGPoint){var i=r.createSVGPoint();if(0>Po){var u=t(n);if(u.scrollX||u.scrollY){r=ao.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var o=r[0][0].getScreenCTM();Po=!(o.f||o.e),r.remove()}}return Po?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(n.getScreenCTM().inverse()),[i.x,i.y]}var a=n.getBoundingClientRect();return[e.clientX-a.left-n.clientLeft,e.clientY-a.top-n.clientTop]}function G(){return ao.event.changedTouches[0].identifier}function K(n){return n>0?1:0>n?-1:0}function Q(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function nn(n){return n>1?0:-1>n?Fo:Math.acos(n)}function tn(n){return n>1?Io:-1>n?-Io:Math.asin(n)}function en(n){return((n=Math.exp(n))-1/n)/2}function rn(n){return((n=Math.exp(n))+1/n)/2}function un(n){return((n=Math.exp(2*n))-1)/(n+1)}function on(n){return(n=Math.sin(n/2))*n}function an(){}function ln(n,t,e){return this instanceof ln?(this.h=+n,this.s=+t,void(this.l=+e)):arguments.length<2?n instanceof ln?new ln(n.h,n.s,n.l):_n(""+n,wn,ln):new ln(n,t,e)}function cn(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?u+(o-u)*n/60:180>n?o:240>n?u+(o-u)*(240-n)/60:u}function i(n){return Math.round(255*r(n))}var u,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,u=2*e-o,new mn(i(n+120),i(n),i(n-120))}function fn(n,t,e){return this instanceof fn?(this.h=+n,this.c=+t,void(this.l=+e)):arguments.length<2?n instanceof fn?new fn(n.h,n.c,n.l):n instanceof hn?gn(n.l,n.a,n.b):gn((n=Sn((n=ao.rgb(n)).r,n.g,n.b)).l,n.a,n.b):new fn(n,t,e)}function sn(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),new hn(e,Math.cos(n*=Yo)*t,Math.sin(n)*t)}function hn(n,t,e){return this instanceof hn?(this.l=+n,this.a=+t,void(this.b=+e)):arguments.length<2?n instanceof hn?new hn(n.l,n.a,n.b):n instanceof fn?sn(n.h,n.c,n.l):Sn((n=mn(n)).r,n.g,n.b):new hn(n,t,e)}function pn(n,t,e){var r=(n+16)/116,i=r+t/500,u=r-e/200;return i=vn(i)*na,r=vn(r)*ta,u=vn(u)*ea,new mn(yn(3.2404542*i-1.5371385*r-.4985314*u),yn(-.969266*i+1.8760108*r+.041556*u),yn(.0556434*i-.2040259*r+1.0572252*u))}function gn(n,t,e){return n>0?new fn(Math.atan2(e,t)*Zo,Math.sqrt(t*t+e*e),n):new fn(NaN,NaN,n)}function vn(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function dn(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function yn(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function mn(n,t,e){return this instanceof mn?(this.r=~~n,this.g=~~t,void(this.b=~~e)):arguments.length<2?n instanceof mn?new mn(n.r,n.g,n.b):_n(""+n,mn,cn):new mn(n,t,e)}function Mn(n){return new mn(n>>16,n>>8&255,255&n)}function xn(n){return Mn(n)+""}function bn(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function _n(n,t,e){var r,i,u,o=0,a=0,l=0;if(r=/([a-z]+)\((.*)\)/.exec(n=n.toLowerCase()))switch(i=r[2].split(","),r[1]){case"hsl":return e(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return t(Nn(i[0]),Nn(i[1]),Nn(i[2]))}return(u=ua.get(n))?t(u.r,u.g,u.b):(null==n||"#"!==n.charAt(0)||isNaN(u=parseInt(n.slice(1),16))||(4===n.length?(o=(3840&u)>>4,o=o>>4|o,a=240&u,a=a>>4|a,l=15&u,l=l<<4|l):7===n.length&&(o=(16711680&u)>>16,a=(65280&u)>>8,l=255&u)),t(o,a,l))}function wn(n,t,e){var r,i,u=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-u,l=(o+u)/2;return a?(i=.5>l?a/(o+u):a/(2-o-u),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=NaN,i=l>0&&1>l?0:r),new ln(r,i,l)}function Sn(n,t,e){n=kn(n),t=kn(t),e=kn(e);var r=dn((.4124564*n+.3575761*t+.1804375*e)/na),i=dn((.2126729*n+.7151522*t+.072175*e)/ta),u=dn((.0193339*n+.119192*t+.9503041*e)/ea);return hn(116*i-16,500*(r-i),200*(i-u))}function kn(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function Nn(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function En(n){return"function"==typeof n?n:function(){return n}}function An(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),Cn(t,e,n,r)}}function Cn(n,t,e,r){function i(){var n,t=l.status;if(!t&&Ln(l)||t>=200&&300>t||304===t){try{n=e.call(u,l)}catch(r){return void o.error.call(u,r)}o.load.call(u,n)}else o.error.call(u,l)}var u={},o=ao.dispatch("beforesend","progress","load","error"),a={},l=new XMLHttpRequest,c=null;return!this.XDomainRequest||"withCredentials"in l||!/^(http(s)?:)?\/\//.test(n)||(l=new XDomainRequest),"onload"in l?l.onload=l.onerror=i:l.onreadystatechange=function(){l.readyState>3&&i()},l.onprogress=function(n){var t=ao.event;ao.event=n;try{o.progress.call(u,l)}finally{ao.event=t}},u.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",u)},u.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",u):t},u.responseType=function(n){return arguments.length?(c=n,u):c},u.response=function(n){return e=n,u},["get","post"].forEach(function(n){u[n]=function(){return u.send.apply(u,[n].concat(co(arguments)))}}),u.send=function(e,r,i){if(2===arguments.length&&"function"==typeof r&&(i=r,r=null),l.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),l.setRequestHeader)for(var f in a)l.setRequestHeader(f,a[f]);return null!=t&&l.overrideMimeType&&l.overrideMimeType(t),null!=c&&(l.responseType=c),null!=i&&u.on("error",i).on("load",function(n){i(null,n)}),o.beforesend.call(u,l),l.send(null==r?null:r),u},u.abort=function(){return l.abort(),u},ao.rebind(u,o,"on"),null==r?u:u.get(zn(r))}function zn(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function Ln(n){var t=n.responseType;return t&&"text"!==t?n.response:n.responseText}function qn(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var i=e+t,u={c:n,t:i,n:null};return aa?aa.n=u:oa=u,aa=u,la||(ca=clearTimeout(ca),la=1,fa(Tn)),u}function Tn(){var n=Rn(),t=Dn()-n;t>24?(isFinite(t)&&(clearTimeout(ca),ca=setTimeout(Tn,t)),la=0):(la=1,fa(Tn))}function Rn(){for(var n=Date.now(),t=oa;t;)n>=t.t&&t.c(n-t.t)&&(t.c=null),t=t.n;return n}function Dn(){for(var n,t=oa,e=1/0;t;)t.c?(t.t8?function(n){return n/e}:function(n){return n*e},symbol:n}}function jn(n){var t=n.decimal,e=n.thousands,r=n.grouping,i=n.currency,u=r&&e?function(n,t){for(var i=n.length,u=[],o=0,a=r[0],l=0;i>0&&a>0&&(l+a+1>t&&(a=Math.max(1,t-l)),u.push(n.substring(i-=a,i+a)),!((l+=a+1)>t));)a=r[o=(o+1)%r.length];return u.reverse().join(e)}:m;return function(n){var e=ha.exec(n),r=e[1]||" ",o=e[2]||">",a=e[3]||"-",l=e[4]||"",c=e[5],f=+e[6],s=e[7],h=e[8],p=e[9],g=1,v="",d="",y=!1,m=!0;switch(h&&(h=+h.substring(1)),(c||"0"===r&&"="===o)&&(c=r="0",o="="),p){case"n":s=!0,p="g";break;case"%":g=100,d="%",p="f";break;case"p":g=100,d="%",p="r";break;case"b":case"o":case"x":case"X":"#"===l&&(v="0"+p.toLowerCase());case"c":m=!1;case"d":y=!0,h=0;break;case"s":g=-1,p="r"}"$"===l&&(v=i[0],d=i[1]),"r"!=p||h||(p="g"),null!=h&&("g"==p?h=Math.max(1,Math.min(21,h)):"e"!=p&&"f"!=p||(h=Math.max(0,Math.min(20,h)))),p=pa.get(p)||Fn;var M=c&&s;return function(n){var e=d;if(y&&n%1)return"";var i=0>n||0===n&&0>1/n?(n=-n,"-"):"-"===a?"":a;if(0>g){var l=ao.formatPrefix(n,h);n=l.scale(n),e=l.symbol+d}else n*=g;n=p(n,h);var x,b,_=n.lastIndexOf(".");if(0>_){var w=m?n.lastIndexOf("e"):-1;0>w?(x=n,b=""):(x=n.substring(0,w),b=n.substring(w))}else x=n.substring(0,_),b=t+n.substring(_+1);!c&&s&&(x=u(x,1/0));var S=v.length+x.length+b.length+(M?0:i.length),k=f>S?new Array(S=f-S+1).join(r):"";return M&&(x=u(k+x,k.length?f-b.length:1/0)),i+=v,n=x+b,("<"===o?i+n+k:">"===o?k+i+n:"^"===o?k.substring(0,S>>=1)+i+n+k.substring(S):i+(M?n:k+n))+e}}}function Fn(n){return n+""}function Hn(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function On(n,t,e){function r(t){var e=n(t),r=u(e,1);return r-t>t-e?e:r}function i(e){return t(e=n(new va(e-1)),1),e}function u(n,e){return t(n=new va(+n),e),n}function o(n,r,u){var o=i(n),a=[];if(u>1)for(;r>o;)e(o)%u||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{va=Hn;var r=new Hn;return r._=n,o(r,t,e)}finally{va=Date}}n.floor=n,n.round=r,n.ceil=i,n.offset=u,n.range=o;var l=n.utc=In(n);return l.floor=l,l.round=In(r),l.ceil=In(i),l.offset=In(u),l.range=a,n}function In(n){return function(t,e){try{va=Hn;var r=new Hn;return r._=t,n(r,e)._}finally{va=Date}}}function Yn(n){function t(n){function t(t){for(var e,i,u,o=[],a=-1,l=0;++aa;){if(r>=c)return-1;if(i=t.charCodeAt(a++),37===i){if(o=t.charAt(a++),u=C[o in ya?t.charAt(a++):o],!u||(r=u(n,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){_.lastIndex=0;var r=_.exec(t.slice(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){x.lastIndex=0;var r=x.exec(t.slice(e));return r?(n.w=b.get(r[0].toLowerCase()),e+r[0].length):-1}function u(n,t,e){N.lastIndex=0;var r=N.exec(t.slice(e));return r?(n.m=E.get(r[0].toLowerCase()),e+r[0].length):-1}function o(n,t,e){S.lastIndex=0;var r=S.exec(t.slice(e));return r?(n.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(n,t,r){return e(n,A.c.toString(),t,r)}function l(n,t,r){return e(n,A.x.toString(),t,r)}function c(n,t,r){return e(n,A.X.toString(),t,r)}function f(n,t,e){var r=M.get(t.slice(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}var s=n.dateTime,h=n.date,p=n.time,g=n.periods,v=n.days,d=n.shortDays,y=n.months,m=n.shortMonths;t.utc=function(n){function e(n){try{va=Hn;var t=new va;return t._=n,r(t)}finally{va=Date}}var r=t(n);return e.parse=function(n){try{va=Hn;var t=r.parse(n);return t&&t._}finally{va=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=ct;var M=ao.map(),x=Vn(v),b=Xn(v),_=Vn(d),w=Xn(d),S=Vn(y),k=Xn(y),N=Vn(m),E=Xn(m);g.forEach(function(n,t){M.set(n.toLowerCase(),t)});var A={a:function(n){return d[n.getDay()]},A:function(n){return v[n.getDay()]},b:function(n){return m[n.getMonth()]},B:function(n){return y[n.getMonth()]},c:t(s),d:function(n,t){return Zn(n.getDate(),t,2)},e:function(n,t){return Zn(n.getDate(),t,2)},H:function(n,t){return Zn(n.getHours(),t,2)},I:function(n,t){return Zn(n.getHours()%12||12,t,2)},j:function(n,t){return Zn(1+ga.dayOfYear(n),t,3)},L:function(n,t){return Zn(n.getMilliseconds(),t,3)},m:function(n,t){return Zn(n.getMonth()+1,t,2)},M:function(n,t){return Zn(n.getMinutes(),t,2)},p:function(n){return g[+(n.getHours()>=12)]},S:function(n,t){return Zn(n.getSeconds(),t,2)},U:function(n,t){return Zn(ga.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Zn(ga.mondayOfYear(n),t,2)},x:t(h),X:t(p),y:function(n,t){return Zn(n.getFullYear()%100,t,2)},Y:function(n,t){return Zn(n.getFullYear()%1e4,t,4)},Z:at,"%":function(){return"%"}},C={a:r,A:i,b:u,B:o,c:a,d:tt,e:tt,H:rt,I:rt,j:et,L:ot,m:nt,M:it,p:f,S:ut,U:Bn,w:$n,W:Wn,x:l,X:c,y:Gn,Y:Jn,Z:Kn,"%":lt};return t}function Zn(n,t,e){var r=0>n?"-":"",i=(r?-n:n)+"",u=i.length;return r+(e>u?new Array(e-u+1).join(t)+i:i)}function Vn(n){return new RegExp("^(?:"+n.map(ao.requote).join("|")+")","i")}function Xn(n){for(var t=new c,e=-1,r=n.length;++e68?1900:2e3)}function nt(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function tt(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function et(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function rt(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function it(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function ut(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function ot(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function at(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=xo(t)/60|0,i=xo(t)%60;return e+Zn(r,"0",2)+Zn(i,"0",2)}function lt(n,t,e){Ma.lastIndex=0;var r=Ma.exec(t.slice(e,e+1));return r?e+r[0].length:-1}function ct(n){for(var t=n.length,e=-1;++e=0?1:-1,a=o*e,l=Math.cos(t),c=Math.sin(t),f=u*c,s=i*l+f*Math.cos(a),h=f*o*Math.sin(a);ka.add(Math.atan2(h,s)),r=n,i=l,u=c}var t,e,r,i,u;Na.point=function(o,a){Na.point=n,r=(t=o)*Yo,i=Math.cos(a=(e=a)*Yo/2+Fo/4),u=Math.sin(a)},Na.lineEnd=function(){n(t,e)}}function dt(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function yt(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function mt(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function Mt(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function xt(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function bt(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function _t(n){return[Math.atan2(n[1],n[0]),tn(n[2])]}function wt(n,t){return xo(n[0]-t[0])a;++a)i.point((e=n[a])[0],e[1]);return void i.lineEnd()}var l=new Tt(e,n,null,!0),c=new Tt(e,null,l,!1);l.o=c,u.push(l),o.push(c),l=new Tt(r,n,null,!1),c=new Tt(r,null,l,!0),l.o=c,u.push(l),o.push(c)}}),o.sort(t),qt(u),qt(o),u.length){for(var a=0,l=e,c=o.length;c>a;++a)o[a].e=l=!l;for(var f,s,h=u[0];;){for(var p=h,g=!0;p.v;)if((p=p.n)===h)return;f=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(g)for(var a=0,c=f.length;c>a;++a)i.point((s=f[a])[0],s[1]);else r(p.x,p.n.x,1,i);p=p.n}else{if(g){f=p.p.z;for(var a=f.length-1;a>=0;--a)i.point((s=f[a])[0],s[1])}else r(p.x,p.p.x,-1,i);p=p.p}p=p.o,f=p.z,g=!g}while(!p.v);i.lineEnd()}}}function qt(n){if(t=n.length){for(var t,e,r=0,i=n[0];++r0){for(b||(u.polygonStart(),b=!0),u.lineStart();++o1&&2&t&&e.push(e.pop().concat(e.shift())),p.push(e.filter(Dt))}var p,g,v,d=t(u),y=i.invert(r[0],r[1]),m={point:o,lineStart:l,lineEnd:c,polygonStart:function(){m.point=f,m.lineStart=s,m.lineEnd=h,p=[],g=[]},polygonEnd:function(){m.point=o,m.lineStart=l,m.lineEnd=c,p=ao.merge(p);var n=Ot(y,g);p.length?(b||(u.polygonStart(),b=!0),Lt(p,Ut,n,e,u)):n&&(b||(u.polygonStart(),b=!0),u.lineStart(),e(null,null,1,u),u.lineEnd()),b&&(u.polygonEnd(),b=!1),p=g=null},sphere:function(){u.polygonStart(),u.lineStart(),e(null,null,1,u),u.lineEnd(),u.polygonEnd()}},M=Pt(),x=t(M),b=!1;return m}}function Dt(n){return n.length>1}function Pt(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:b,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function Ut(n,t){return((n=n.x)[0]<0?n[1]-Io-Uo:Io-n[1])-((t=t.x)[0]<0?t[1]-Io-Uo:Io-t[1])}function jt(n){var t,e=NaN,r=NaN,i=NaN;return{lineStart:function(){n.lineStart(),t=1},point:function(u,o){var a=u>0?Fo:-Fo,l=xo(u-e);xo(l-Fo)0?Io:-Io),n.point(i,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(u,r),t=0):i!==a&&l>=Fo&&(xo(e-i)Uo?Math.atan((Math.sin(t)*(u=Math.cos(r))*Math.sin(e)-Math.sin(r)*(i=Math.cos(t))*Math.sin(n))/(i*u*o)):(t+r)/2}function Ht(n,t,e,r){var i;if(null==n)i=e*Io,r.point(-Fo,i),r.point(0,i),r.point(Fo,i),r.point(Fo,0),r.point(Fo,-i),r.point(0,-i),r.point(-Fo,-i),r.point(-Fo,0),r.point(-Fo,i);else if(xo(n[0]-t[0])>Uo){var u=n[0]a;++a){var c=t[a],f=c.length;if(f)for(var s=c[0],h=s[0],p=s[1]/2+Fo/4,g=Math.sin(p),v=Math.cos(p),d=1;;){d===f&&(d=0),n=c[d];var y=n[0],m=n[1]/2+Fo/4,M=Math.sin(m),x=Math.cos(m),b=y-h,_=b>=0?1:-1,w=_*b,S=w>Fo,k=g*M;if(ka.add(Math.atan2(k*_*Math.sin(w),v*x+k*Math.cos(w))),u+=S?b+_*Ho:b,S^h>=e^y>=e){var N=mt(dt(s),dt(n));bt(N);var E=mt(i,N);bt(E);var A=(S^b>=0?-1:1)*tn(E[2]);(r>A||r===A&&(N[0]||N[1]))&&(o+=S^b>=0?1:-1)}if(!d++)break;h=y,g=M,v=x,s=n}}return(-Uo>u||Uo>u&&-Uo>ka)^1&o}function It(n){function t(n,t){return Math.cos(n)*Math.cos(t)>u}function e(n){var e,u,l,c,f;return{lineStart:function(){c=l=!1,f=1},point:function(s,h){var p,g=[s,h],v=t(s,h),d=o?v?0:i(s,h):v?i(s+(0>s?Fo:-Fo),h):0;if(!e&&(c=l=v)&&n.lineStart(),v!==l&&(p=r(e,g),(wt(e,p)||wt(g,p))&&(g[0]+=Uo,g[1]+=Uo,v=t(g[0],g[1]))),v!==l)f=0,v?(n.lineStart(),p=r(g,e),n.point(p[0],p[1])):(p=r(e,g),n.point(p[0],p[1]),n.lineEnd()),e=p;else if(a&&e&&o^v){var y;d&u||!(y=r(g,e,!0))||(f=0,o?(n.lineStart(),n.point(y[0][0],y[0][1]),n.point(y[1][0],y[1][1]),n.lineEnd()):(n.point(y[1][0],y[1][1]),n.lineEnd(),n.lineStart(),n.point(y[0][0],y[0][1])))}!v||e&&wt(e,g)||n.point(g[0],g[1]),e=g,l=v,u=d},lineEnd:function(){l&&n.lineEnd(),e=null},clean:function(){return f|(c&&l)<<1}}}function r(n,t,e){var r=dt(n),i=dt(t),o=[1,0,0],a=mt(r,i),l=yt(a,a),c=a[0],f=l-c*c;if(!f)return!e&&n;var s=u*l/f,h=-u*c/f,p=mt(o,a),g=xt(o,s),v=xt(a,h);Mt(g,v);var d=p,y=yt(g,d),m=yt(d,d),M=y*y-m*(yt(g,g)-1);if(!(0>M)){var x=Math.sqrt(M),b=xt(d,(-y-x)/m);if(Mt(b,g),b=_t(b),!e)return b;var _,w=n[0],S=t[0],k=n[1],N=t[1];w>S&&(_=w,w=S,S=_);var E=S-w,A=xo(E-Fo)E;if(!A&&k>N&&(_=k,k=N,N=_),C?A?k+N>0^b[1]<(xo(b[0]-w)Fo^(w<=b[0]&&b[0]<=S)){var z=xt(d,(-y+x)/m);return Mt(z,g),[b,_t(z)]}}}function i(t,e){var r=o?n:Fo-n,i=0;return-r>t?i|=1:t>r&&(i|=2),-r>e?i|=4:e>r&&(i|=8),i}var u=Math.cos(n),o=u>0,a=xo(u)>Uo,l=ve(n,6*Yo);return Rt(t,e,l,o?[0,-n]:[-Fo,n-Fo])}function Yt(n,t,e,r){return function(i){var u,o=i.a,a=i.b,l=o.x,c=o.y,f=a.x,s=a.y,h=0,p=1,g=f-l,v=s-c;if(u=n-l,g||!(u>0)){if(u/=g,0>g){if(h>u)return;p>u&&(p=u)}else if(g>0){if(u>p)return;u>h&&(h=u)}if(u=e-l,g||!(0>u)){if(u/=g,0>g){if(u>p)return;u>h&&(h=u)}else if(g>0){if(h>u)return;p>u&&(p=u)}if(u=t-c,v||!(u>0)){if(u/=v,0>v){if(h>u)return;p>u&&(p=u)}else if(v>0){if(u>p)return;u>h&&(h=u)}if(u=r-c,v||!(0>u)){if(u/=v,0>v){if(u>p)return;u>h&&(h=u)}else if(v>0){if(h>u)return;p>u&&(p=u)}return h>0&&(i.a={x:l+h*g,y:c+h*v}),1>p&&(i.b={x:l+p*g,y:c+p*v}),i}}}}}}function Zt(n,t,e,r){function i(r,i){return xo(r[0]-n)0?0:3:xo(r[0]-e)0?2:1:xo(r[1]-t)0?1:0:i>0?3:2}function u(n,t){return o(n.x,t.x)}function o(n,t){var e=i(n,1),r=i(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function l(n){for(var t=0,e=d.length,r=n[1],i=0;e>i;++i)for(var u,o=1,a=d[i],l=a.length,c=a[0];l>o;++o)u=a[o],c[1]<=r?u[1]>r&&Q(c,u,n)>0&&++t:u[1]<=r&&Q(c,u,n)<0&&--t,c=u;return 0!==t}function c(u,a,l,c){var f=0,s=0;if(null==u||(f=i(u,l))!==(s=i(a,l))||o(u,a)<0^l>0){do c.point(0===f||3===f?n:e,f>1?r:t);while((f=(f+l+4)%4)!==s)}else c.point(a[0],a[1])}function f(i,u){return i>=n&&e>=i&&u>=t&&r>=u}function s(n,t){f(n,t)&&a.point(n,t)}function h(){C.point=g,d&&d.push(y=[]),S=!0,w=!1,b=_=NaN}function p(){v&&(g(m,M),x&&w&&E.rejoin(),v.push(E.buffer())),C.point=s,w&&a.lineEnd()}function g(n,t){n=Math.max(-Ha,Math.min(Ha,n)),t=Math.max(-Ha,Math.min(Ha,t));var e=f(n,t);if(d&&y.push([n,t]),S)m=n,M=t,x=e,S=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&w)a.point(n,t);else{var r={a:{x:b,y:_},b:{x:n,y:t}};A(r)?(w||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),k=!1):e&&(a.lineStart(),a.point(n,t),k=!1)}b=n,_=t,w=e}var v,d,y,m,M,x,b,_,w,S,k,N=a,E=Pt(),A=Yt(n,t,e,r),C={point:s,lineStart:h,lineEnd:p,polygonStart:function(){a=E,v=[],d=[],k=!0},polygonEnd:function(){a=N,v=ao.merge(v);var t=l([n,r]),e=k&&t,i=v.length;(e||i)&&(a.polygonStart(),e&&(a.lineStart(),c(null,null,1,a),a.lineEnd()),i&&Lt(v,u,t,c,a),a.polygonEnd()),v=d=y=null}};return C}}function Vt(n){var t=0,e=Fo/3,r=ae(n),i=r(t,e);return i.parallels=function(n){return arguments.length?r(t=n[0]*Fo/180,e=n[1]*Fo/180):[t/Fo*180,e/Fo*180]},i}function Xt(n,t){function e(n,t){var e=Math.sqrt(u-2*i*Math.sin(t))/i;return[e*Math.sin(n*=i),o-e*Math.cos(n)]}var r=Math.sin(n),i=(r+Math.sin(t))/2,u=1+r*(2*i-r),o=Math.sqrt(u)/i;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/i,tn((u-(n*n+e*e)*i*i)/(2*i))]},e}function $t(){function n(n,t){Ia+=i*n-r*t,r=n,i=t}var t,e,r,i;$a.point=function(u,o){$a.point=n,t=r=u,e=i=o},$a.lineEnd=function(){n(t,e)}}function Bt(n,t){Ya>n&&(Ya=n),n>Va&&(Va=n),Za>t&&(Za=t),t>Xa&&(Xa=t)}function Wt(){function n(n,t){o.push("M",n,",",t,u)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function i(){o.push("Z")}var u=Jt(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return u=Jt(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Jt(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function Gt(n,t){Ca+=n,za+=t,++La}function Kt(){function n(n,r){var i=n-t,u=r-e,o=Math.sqrt(i*i+u*u);qa+=o*(t+n)/2,Ta+=o*(e+r)/2,Ra+=o,Gt(t=n,e=r)}var t,e;Wa.point=function(r,i){Wa.point=n,Gt(t=r,e=i)}}function Qt(){Wa.point=Gt}function ne(){function n(n,t){var e=n-r,u=t-i,o=Math.sqrt(e*e+u*u);qa+=o*(r+n)/2,Ta+=o*(i+t)/2,Ra+=o,o=i*n-r*t,Da+=o*(r+n),Pa+=o*(i+t),Ua+=3*o,Gt(r=n,i=t)}var t,e,r,i;Wa.point=function(u,o){Wa.point=n,Gt(t=r=u,e=i=o)},Wa.lineEnd=function(){n(t,e)}}function te(n){function t(t,e){n.moveTo(t+o,e),n.arc(t,e,o,0,Ho)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function i(){a.point=t}function u(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:i,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=i,a.point=t},pointRadius:function(n){return o=n,a},result:b};return a}function ee(n){function t(n){return(a?r:e)(n)}function e(t){return ue(t,function(e,r){e=n(e,r),t.point(e[0],e[1])})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){M=NaN,S.point=u,t.lineStart()}function u(e,r){var u=dt([e,r]),o=n(e,r);i(M,x,m,b,_,w,M=o[0],x=o[1],m=e,b=u[0],_=u[1],w=u[2],a,t),t.point(M,x)}function o(){S.point=e,t.lineEnd()}function l(){ -r(),S.point=c,S.lineEnd=f}function c(n,t){u(s=n,h=t),p=M,g=x,v=b,d=_,y=w,S.point=u}function f(){i(M,x,m,b,_,w,p,g,s,v,d,y,a,t),S.lineEnd=o,o()}var s,h,p,g,v,d,y,m,M,x,b,_,w,S={point:e,lineStart:r,lineEnd:o,polygonStart:function(){t.polygonStart(),S.lineStart=l},polygonEnd:function(){t.polygonEnd(),S.lineStart=r}};return S}function i(t,e,r,a,l,c,f,s,h,p,g,v,d,y){var m=f-t,M=s-e,x=m*m+M*M;if(x>4*u&&d--){var b=a+p,_=l+g,w=c+v,S=Math.sqrt(b*b+_*_+w*w),k=Math.asin(w/=S),N=xo(xo(w)-1)u||xo((m*z+M*L)/x-.5)>.3||o>a*p+l*g+c*v)&&(i(t,e,r,a,l,c,A,C,N,b/=S,_/=S,w,d,y),y.point(A,C),i(A,C,N,b,_,w,f,s,h,p,g,v,d,y))}}var u=.5,o=Math.cos(30*Yo),a=16;return t.precision=function(n){return arguments.length?(a=(u=n*n)>0&&16,t):Math.sqrt(u)},t}function re(n){var t=ee(function(t,e){return n([t*Zo,e*Zo])});return function(n){return le(t(n))}}function ie(n){this.stream=n}function ue(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function oe(n){return ae(function(){return n})()}function ae(n){function t(n){return n=a(n[0]*Yo,n[1]*Yo),[n[0]*h+l,c-n[1]*h]}function e(n){return n=a.invert((n[0]-l)/h,(c-n[1])/h),n&&[n[0]*Zo,n[1]*Zo]}function r(){a=Ct(o=se(y,M,x),u);var n=u(v,d);return l=p-n[0]*h,c=g+n[1]*h,i()}function i(){return f&&(f.valid=!1,f=null),t}var u,o,a,l,c,f,s=ee(function(n,t){return n=u(n,t),[n[0]*h+l,c-n[1]*h]}),h=150,p=480,g=250,v=0,d=0,y=0,M=0,x=0,b=Fa,_=m,w=null,S=null;return t.stream=function(n){return f&&(f.valid=!1),f=le(b(o,s(_(n)))),f.valid=!0,f},t.clipAngle=function(n){return arguments.length?(b=null==n?(w=n,Fa):It((w=+n)*Yo),i()):w},t.clipExtent=function(n){return arguments.length?(S=n,_=n?Zt(n[0][0],n[0][1],n[1][0],n[1][1]):m,i()):S},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(p=+n[0],g=+n[1],r()):[p,g]},t.center=function(n){return arguments.length?(v=n[0]%360*Yo,d=n[1]%360*Yo,r()):[v*Zo,d*Zo]},t.rotate=function(n){return arguments.length?(y=n[0]%360*Yo,M=n[1]%360*Yo,x=n.length>2?n[2]%360*Yo:0,r()):[y*Zo,M*Zo,x*Zo]},ao.rebind(t,s,"precision"),function(){return u=n.apply(this,arguments),t.invert=u.invert&&e,r()}}function le(n){return ue(n,function(t,e){n.point(t*Yo,e*Yo)})}function ce(n,t){return[n,t]}function fe(n,t){return[n>Fo?n-Ho:-Fo>n?n+Ho:n,t]}function se(n,t,e){return n?t||e?Ct(pe(n),ge(t,e)):pe(n):t||e?ge(t,e):fe}function he(n){return function(t,e){return t+=n,[t>Fo?t-Ho:-Fo>t?t+Ho:t,e]}}function pe(n){var t=he(n);return t.invert=he(-n),t}function ge(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,l=Math.sin(n)*e,c=Math.sin(t),f=c*r+a*i;return[Math.atan2(l*u-f*o,a*r-c*i),tn(f*u+l*o)]}var r=Math.cos(n),i=Math.sin(n),u=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,l=Math.sin(n)*e,c=Math.sin(t),f=c*u-l*o;return[Math.atan2(l*u+c*o,a*r+f*i),tn(f*r-a*i)]},e}function ve(n,t){var e=Math.cos(n),r=Math.sin(n);return function(i,u,o,a){var l=o*t;null!=i?(i=de(e,i),u=de(e,u),(o>0?u>i:i>u)&&(i+=o*Ho)):(i=n+o*Ho,u=n-.5*l);for(var c,f=i;o>0?f>u:u>f;f-=l)a.point((c=_t([e,-r*Math.cos(f),-r*Math.sin(f)]))[0],c[1])}}function de(n,t){var e=dt(t);e[0]-=n,bt(e);var r=nn(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Uo)%(2*Math.PI)}function ye(n,t,e){var r=ao.range(n,t-Uo,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function me(n,t,e){var r=ao.range(n,t-Uo,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function Me(n){return n.source}function xe(n){return n.target}function be(n,t,e,r){var i=Math.cos(t),u=Math.sin(t),o=Math.cos(r),a=Math.sin(r),l=i*Math.cos(n),c=i*Math.sin(n),f=o*Math.cos(e),s=o*Math.sin(e),h=2*Math.asin(Math.sqrt(on(r-t)+i*o*on(e-n))),p=1/Math.sin(h),g=h?function(n){var t=Math.sin(n*=h)*p,e=Math.sin(h-n)*p,r=e*l+t*f,i=e*c+t*s,o=e*u+t*a;return[Math.atan2(i,r)*Zo,Math.atan2(o,Math.sqrt(r*r+i*i))*Zo]}:function(){return[n*Zo,t*Zo]};return g.distance=h,g}function _e(){function n(n,i){var u=Math.sin(i*=Yo),o=Math.cos(i),a=xo((n*=Yo)-t),l=Math.cos(a);Ja+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*u-e*o*l)*a),e*u+r*o*l),t=n,e=u,r=o}var t,e,r;Ga.point=function(i,u){t=i*Yo,e=Math.sin(u*=Yo),r=Math.cos(u),Ga.point=n},Ga.lineEnd=function(){Ga.point=Ga.lineEnd=b}}function we(n,t){function e(t,e){var r=Math.cos(t),i=Math.cos(e),u=n(r*i);return[u*i*Math.sin(t),u*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),i=t(r),u=Math.sin(i),o=Math.cos(i);return[Math.atan2(n*u,r*o),Math.asin(r&&e*u/r)]},e}function Se(n,t){function e(n,t){o>0?-Io+Uo>t&&(t=-Io+Uo):t>Io-Uo&&(t=Io-Uo);var e=o/Math.pow(i(t),u);return[e*Math.sin(u*n),o-e*Math.cos(u*n)]}var r=Math.cos(n),i=function(n){return Math.tan(Fo/4+n/2)},u=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(i(t)/i(n)),o=r*Math.pow(i(n),u)/u;return u?(e.invert=function(n,t){var e=o-t,r=K(u)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/u,2*Math.atan(Math.pow(o/r,1/u))-Io]},e):Ne}function ke(n,t){function e(n,t){var e=u-t;return[e*Math.sin(i*n),u-e*Math.cos(i*n)]}var r=Math.cos(n),i=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),u=r/i+n;return xo(i)i;i++){for(;r>1&&Q(n[e[r-2]],n[e[r-1]],n[i])<=0;)--r;e[r++]=i}return e.slice(0,r)}function qe(n,t){return n[0]-t[0]||n[1]-t[1]}function Te(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function Re(n,t,e,r){var i=n[0],u=e[0],o=t[0]-i,a=r[0]-u,l=n[1],c=e[1],f=t[1]-l,s=r[1]-c,h=(a*(l-c)-s*(i-u))/(s*o-a*f);return[i+h*o,l+h*f]}function De(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function Pe(){rr(this),this.edge=this.site=this.circle=null}function Ue(n){var t=cl.pop()||new Pe;return t.site=n,t}function je(n){Be(n),ol.remove(n),cl.push(n),rr(n)}function Fe(n){var t=n.circle,e=t.x,r=t.cy,i={x:e,y:r},u=n.P,o=n.N,a=[n];je(n);for(var l=u;l.circle&&xo(e-l.circle.x)f;++f)c=a[f],l=a[f-1],nr(c.edge,l.site,c.site,i);l=a[0],c=a[s-1],c.edge=Ke(l.site,c.site,null,i),$e(l),$e(c)}function He(n){for(var t,e,r,i,u=n.x,o=n.y,a=ol._;a;)if(r=Oe(a,o)-u,r>Uo)a=a.L;else{if(i=u-Ie(a,o),!(i>Uo)){r>-Uo?(t=a.P,e=a):i>-Uo?(t=a,e=a.N):t=e=a;break}if(!a.R){t=a;break}a=a.R}var l=Ue(n);if(ol.insert(t,l),t||e){if(t===e)return Be(t),e=Ue(t.site),ol.insert(l,e),l.edge=e.edge=Ke(t.site,l.site),$e(t),void $e(e);if(!e)return void(l.edge=Ke(t.site,l.site));Be(t),Be(e);var c=t.site,f=c.x,s=c.y,h=n.x-f,p=n.y-s,g=e.site,v=g.x-f,d=g.y-s,y=2*(h*d-p*v),m=h*h+p*p,M=v*v+d*d,x={x:(d*m-p*M)/y+f,y:(h*M-v*m)/y+s};nr(e.edge,c,g,x),l.edge=Ke(c,n,null,x),e.edge=Ke(n,g,null,x),$e(t),$e(e)}}function Oe(n,t){var e=n.site,r=e.x,i=e.y,u=i-t;if(!u)return r;var o=n.P;if(!o)return-(1/0);e=o.site;var a=e.x,l=e.y,c=l-t;if(!c)return a;var f=a-r,s=1/u-1/c,h=f/c;return s?(-h+Math.sqrt(h*h-2*s*(f*f/(-2*c)-l+c/2+i-u/2)))/s+r:(r+a)/2}function Ie(n,t){var e=n.N;if(e)return Oe(e,t);var r=n.site;return r.y===t?r.x:1/0}function Ye(n){this.site=n,this.edges=[]}function Ze(n){for(var t,e,r,i,u,o,a,l,c,f,s=n[0][0],h=n[1][0],p=n[0][1],g=n[1][1],v=ul,d=v.length;d--;)if(u=v[d],u&&u.prepare())for(a=u.edges,l=a.length,o=0;l>o;)f=a[o].end(),r=f.x,i=f.y,c=a[++o%l].start(),t=c.x,e=c.y,(xo(r-t)>Uo||xo(i-e)>Uo)&&(a.splice(o,0,new tr(Qe(u.site,f,xo(r-s)Uo?{x:s,y:xo(t-s)Uo?{x:xo(e-g)Uo?{x:h,y:xo(t-h)Uo?{x:xo(e-p)=-jo)){var p=l*l+c*c,g=f*f+s*s,v=(s*p-c*g)/h,d=(l*g-f*p)/h,s=d+a,y=fl.pop()||new Xe;y.arc=n,y.site=i,y.x=v+o,y.y=s+Math.sqrt(v*v+d*d),y.cy=s,n.circle=y;for(var m=null,M=ll._;M;)if(y.yd||d>=a)return;if(h>g){if(u){if(u.y>=c)return}else u={x:d,y:l};e={x:d,y:c}}else{if(u){if(u.yr||r>1)if(h>g){if(u){if(u.y>=c)return}else u={x:(l-i)/r,y:l};e={x:(c-i)/r,y:c}}else{if(u){if(u.yp){if(u){if(u.x>=a)return}else u={x:o,y:r*o+i};e={x:a,y:r*a+i}}else{if(u){if(u.xu||s>o||r>h||i>p)){if(g=n.point){var g,v=t-n.x,d=e-n.y,y=v*v+d*d;if(l>y){var m=Math.sqrt(l=y);r=t-m,i=e-m,u=t+m,o=e+m,a=g}}for(var M=n.nodes,x=.5*(f+h),b=.5*(s+p),_=t>=x,w=e>=b,S=w<<1|_,k=S+4;k>S;++S)if(n=M[3&S])switch(3&S){case 0:c(n,f,s,x,b);break;case 1:c(n,x,s,h,b);break;case 2:c(n,f,b,x,p);break;case 3:c(n,x,b,h,p)}}}(n,r,i,u,o),a}function vr(n,t){n=ao.rgb(n),t=ao.rgb(t);var e=n.r,r=n.g,i=n.b,u=t.r-e,o=t.g-r,a=t.b-i;return function(n){return"#"+bn(Math.round(e+u*n))+bn(Math.round(r+o*n))+bn(Math.round(i+a*n))}}function dr(n,t){var e,r={},i={};for(e in n)e in t?r[e]=Mr(n[e],t[e]):i[e]=n[e];for(e in t)e in n||(i[e]=t[e]);return function(n){for(e in r)i[e]=r[e](n);return i}}function yr(n,t){return n=+n,t=+t,function(e){return n*(1-e)+t*e}}function mr(n,t){var e,r,i,u=hl.lastIndex=pl.lastIndex=0,o=-1,a=[],l=[];for(n+="",t+="";(e=hl.exec(n))&&(r=pl.exec(t));)(i=r.index)>u&&(i=t.slice(u,i),a[o]?a[o]+=i:a[++o]=i),(e=e[0])===(r=r[0])?a[o]?a[o]+=r:a[++o]=r:(a[++o]=null,l.push({i:o,x:yr(e,r)})),u=pl.lastIndex;return ur;++r)a[(e=l[r]).i]=e.x(n);return a.join("")})}function Mr(n,t){for(var e,r=ao.interpolators.length;--r>=0&&!(e=ao.interpolators[r](n,t)););return e}function xr(n,t){var e,r=[],i=[],u=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(Mr(n[e],t[e]));for(;u>e;++e)i[e]=n[e];for(;o>e;++e)i[e]=t[e];return function(n){for(e=0;a>e;++e)i[e]=r[e](n);return i}}function br(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function _r(n){return function(t){return 1-n(1-t)}}function wr(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function Sr(n){return n*n}function kr(n){return n*n*n}function Nr(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function Er(n){return function(t){return Math.pow(t,n)}}function Ar(n){return 1-Math.cos(n*Io)}function Cr(n){return Math.pow(2,10*(n-1))}function zr(n){return 1-Math.sqrt(1-n*n)}function Lr(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/Ho*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*Ho/t)}}function qr(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function Tr(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Rr(n,t){n=ao.hcl(n),t=ao.hcl(t);var e=n.h,r=n.c,i=n.l,u=t.h-e,o=t.c-r,a=t.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(u)?(u=0,e=isNaN(e)?t.h:e):u>180?u-=360:-180>u&&(u+=360),function(n){return sn(e+u*n,r+o*n,i+a*n)+""}}function Dr(n,t){n=ao.hsl(n),t=ao.hsl(t);var e=n.h,r=n.s,i=n.l,u=t.h-e,o=t.s-r,a=t.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(u)?(u=0,e=isNaN(e)?t.h:e):u>180?u-=360:-180>u&&(u+=360),function(n){return cn(e+u*n,r+o*n,i+a*n)+""}}function Pr(n,t){n=ao.lab(n),t=ao.lab(t);var e=n.l,r=n.a,i=n.b,u=t.l-e,o=t.a-r,a=t.b-i;return function(n){return pn(e+u*n,r+o*n,i+a*n)+""}}function Ur(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function jr(n){var t=[n.a,n.b],e=[n.c,n.d],r=Hr(t),i=Fr(t,e),u=Hr(Or(e,t,-i))||0;t[0]*e[1]180?t+=360:t-n>180&&(n+=360),r.push({i:e.push(Ir(e)+"rotate(",null,")")-2,x:yr(n,t)})):t&&e.push(Ir(e)+"rotate("+t+")")}function Vr(n,t,e,r){n!==t?r.push({i:e.push(Ir(e)+"skewX(",null,")")-2,x:yr(n,t)}):t&&e.push(Ir(e)+"skewX("+t+")")}function Xr(n,t,e,r){if(n[0]!==t[0]||n[1]!==t[1]){var i=e.push(Ir(e)+"scale(",null,",",null,")");r.push({i:i-4,x:yr(n[0],t[0])},{i:i-2,x:yr(n[1],t[1])})}else 1===t[0]&&1===t[1]||e.push(Ir(e)+"scale("+t+")")}function $r(n,t){var e=[],r=[];return n=ao.transform(n),t=ao.transform(t),Yr(n.translate,t.translate,e,r),Zr(n.rotate,t.rotate,e,r),Vr(n.skew,t.skew,e,r),Xr(n.scale,t.scale,e,r),n=t=null,function(n){for(var t,i=-1,u=r.length;++i=0;)e.push(i[r])}function oi(n,t){for(var e=[n],r=[];null!=(n=e.pop());)if(r.push(n),(u=n.children)&&(i=u.length))for(var i,u,o=-1;++oe;++e)(t=n[e][1])>i&&(r=e,i=t);return r}function yi(n){return n.reduce(mi,0)}function mi(n,t){return n+t[1]}function Mi(n,t){return xi(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function xi(n,t){for(var e=-1,r=+n[0],i=(n[1]-r)/t,u=[];++e<=t;)u[e]=i*e+r;return u}function bi(n){return[ao.min(n),ao.max(n)]}function _i(n,t){return n.value-t.value}function wi(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function Si(n,t){n._pack_next=t,t._pack_prev=n}function ki(n,t){var e=t.x-n.x,r=t.y-n.y,i=n.r+t.r;return.999*i*i>e*e+r*r}function Ni(n){function t(n){f=Math.min(n.x-n.r,f),s=Math.max(n.x+n.r,s),h=Math.min(n.y-n.r,h),p=Math.max(n.y+n.r,p)}if((e=n.children)&&(c=e.length)){var e,r,i,u,o,a,l,c,f=1/0,s=-(1/0),h=1/0,p=-(1/0);if(e.forEach(Ei),r=e[0],r.x=-r.r,r.y=0,t(r),c>1&&(i=e[1],i.x=i.r,i.y=0,t(i),c>2))for(u=e[2],zi(r,i,u),t(u),wi(r,u),r._pack_prev=u,wi(u,i),i=r._pack_next,o=3;c>o;o++){zi(r,i,u=e[o]);var g=0,v=1,d=1;for(a=i._pack_next;a!==i;a=a._pack_next,v++)if(ki(a,u)){g=1;break}if(1==g)for(l=r._pack_prev;l!==a._pack_prev&&!ki(l,u);l=l._pack_prev,d++);g?(d>v||v==d&&i.ro;o++)u=e[o],u.x-=y,u.y-=m,M=Math.max(M,u.r+Math.sqrt(u.x*u.x+u.y*u.y));n.r=M,e.forEach(Ai)}}function Ei(n){n._pack_next=n._pack_prev=n}function Ai(n){delete n._pack_next,delete n._pack_prev}function Ci(n,t,e,r){var i=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,i)for(var u=-1,o=i.length;++u=0;)t=i[u],t.z+=e,t.m+=e,e+=t.s+(r+=t.c)}function Pi(n,t,e){return n.a.parent===t.parent?n.a:e}function Ui(n){return 1+ao.max(n,function(n){return n.y})}function ji(n){return n.reduce(function(n,t){return n+t.x},0)/n.length}function Fi(n){var t=n.children;return t&&t.length?Fi(t[0]):n}function Hi(n){var t,e=n.children;return e&&(t=e.length)?Hi(e[t-1]):n}function Oi(n){return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}function Ii(n,t){var e=n.x+t[3],r=n.y+t[0],i=n.dx-t[1]-t[3],u=n.dy-t[0]-t[2];return 0>i&&(e+=i/2,i=0),0>u&&(r+=u/2,u=0),{x:e,y:r,dx:i,dy:u}}function Yi(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Zi(n){return n.rangeExtent?n.rangeExtent():Yi(n.range())}function Vi(n,t,e,r){var i=e(n[0],n[1]),u=r(t[0],t[1]);return function(n){return u(i(n))}}function Xi(n,t){var e,r=0,i=n.length-1,u=n[r],o=n[i];return u>o&&(e=r,r=i,i=e,e=u,u=o,o=e),n[r]=t.floor(u),n[i]=t.ceil(o),n}function $i(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:Sl}function Bi(n,t,e,r){var i=[],u=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]2?Bi:Vi,l=r?Wr:Br;return o=i(n,t,l,e),a=i(t,n,l,Mr),u}function u(n){return o(n)}var o,a;return u.invert=function(n){return a(n)},u.domain=function(t){return arguments.length?(n=t.map(Number),i()):n},u.range=function(n){return arguments.length?(t=n,i()):t},u.rangeRound=function(n){return u.range(n).interpolate(Ur)},u.clamp=function(n){return arguments.length?(r=n,i()):r},u.interpolate=function(n){return arguments.length?(e=n,i()):e},u.ticks=function(t){return Qi(n,t)},u.tickFormat=function(t,e){return nu(n,t,e)},u.nice=function(t){return Gi(n,t),i()},u.copy=function(){return Wi(n,t,e,r)},i()}function Ji(n,t){return ao.rebind(n,t,"range","rangeRound","interpolate","clamp")}function Gi(n,t){return Xi(n,$i(Ki(n,t)[2])),Xi(n,$i(Ki(n,t)[2])),n}function Ki(n,t){null==t&&(t=10);var e=Yi(n),r=e[1]-e[0],i=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),u=t/r*i;return.15>=u?i*=10:.35>=u?i*=5:.75>=u&&(i*=2),e[0]=Math.ceil(e[0]/i)*i,e[1]=Math.floor(e[1]/i)*i+.5*i,e[2]=i,e}function Qi(n,t){return ao.range.apply(ao,Ki(n,t))}function nu(n,t,e){var r=Ki(n,t);if(e){var i=ha.exec(e);if(i.shift(),"s"===i[8]){var u=ao.formatPrefix(Math.max(xo(r[0]),xo(r[1])));return i[7]||(i[7]="."+tu(u.scale(r[2]))),i[8]="f",e=ao.format(i.join("")),function(n){return e(u.scale(n))+u.symbol}}i[7]||(i[7]="."+eu(i[8],r)),e=i.join("")}else e=",."+tu(r[2])+"f";return ao.format(e)}function tu(n){return-Math.floor(Math.log(n)/Math.LN10+.01)}function eu(n,t){var e=tu(t[2]);return n in kl?Math.abs(e-tu(Math.max(xo(t[0]),xo(t[1]))))+ +("e"!==n):e-2*("%"===n)}function ru(n,t,e,r){function i(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function u(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(i(t))}return o.invert=function(t){return u(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(i)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(i)),o):t},o.nice=function(){var t=Xi(r.map(i),e?Math:El);return n.domain(t),r=t.map(u),o},o.ticks=function(){var n=Yi(r),o=[],a=n[0],l=n[1],c=Math.floor(i(a)),f=Math.ceil(i(l)),s=t%1?2:t;if(isFinite(f-c)){if(e){for(;f>c;c++)for(var h=1;s>h;h++)o.push(u(c)*h);o.push(u(c))}else for(o.push(u(c));c++0;h--)o.push(u(c)*h);for(c=0;o[c]l;f--);o=o.slice(c,f)}return o},o.tickFormat=function(n,e){if(!arguments.length)return Nl;arguments.length<2?e=Nl:"function"!=typeof e&&(e=ao.format(e));var r=Math.max(1,t*n/o.ticks().length);return function(n){var o=n/u(Math.round(i(n)));return t-.5>o*t&&(o*=t),r>=o?e(n):""}},o.copy=function(){return ru(n.copy(),t,e,r)},Ji(o,n)}function iu(n,t,e){function r(t){return n(i(t))}var i=uu(t),u=uu(1/t);return r.invert=function(t){return u(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(i)),r):e},r.ticks=function(n){return Qi(e,n)},r.tickFormat=function(n,t){return nu(e,n,t)},r.nice=function(n){return r.domain(Gi(e,n))},r.exponent=function(o){return arguments.length?(i=uu(t=o),u=uu(1/t),n.domain(e.map(i)),r):t},r.copy=function(){return iu(n.copy(),t,e)},Ji(r,n)}function uu(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function ou(n,t){function e(e){return u[((i.get(e)||("range"===t.t?i.set(e,n.push(e)):NaN))-1)%u.length]}function r(t,e){return ao.range(n.length).map(function(n){return t+e*n})}var i,u,o;return e.domain=function(r){if(!arguments.length)return n;n=[],i=new c;for(var u,o=-1,a=r.length;++oe?[NaN,NaN]:[e>0?a[e-1]:n[0],et?NaN:t/u+n,[t,t+1/u]},r.copy=function(){return lu(n,t,e)},i()}function cu(n,t){function e(e){return e>=e?t[ao.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return cu(n,t)},e}function fu(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return Qi(n,t)},t.tickFormat=function(t,e){return nu(n,t,e)},t.copy=function(){return fu(n)},t}function su(){return 0}function hu(n){return n.innerRadius}function pu(n){return n.outerRadius}function gu(n){return n.startAngle}function vu(n){return n.endAngle}function du(n){return n&&n.padAngle}function yu(n,t,e,r){return(n-e)*t-(t-r)*n>0?0:1}function mu(n,t,e,r,i){var u=n[0]-t[0],o=n[1]-t[1],a=(i?r:-r)/Math.sqrt(u*u+o*o),l=a*o,c=-a*u,f=n[0]+l,s=n[1]+c,h=t[0]+l,p=t[1]+c,g=(f+h)/2,v=(s+p)/2,d=h-f,y=p-s,m=d*d+y*y,M=e-r,x=f*p-h*s,b=(0>y?-1:1)*Math.sqrt(Math.max(0,M*M*m-x*x)),_=(x*y-d*b)/m,w=(-x*d-y*b)/m,S=(x*y+d*b)/m,k=(-x*d+y*b)/m,N=_-g,E=w-v,A=S-g,C=k-v;return N*N+E*E>A*A+C*C&&(_=S,w=k),[[_-l,w-c],[_*e/M,w*e/M]]}function Mu(n){function t(t){function o(){c.push("M",u(n(f),a))}for(var l,c=[],f=[],s=-1,h=t.length,p=En(e),g=En(r);++s1?n.join("L"):n+"Z"}function bu(n){return n.join("L")+"Z"}function _u(n){for(var t=0,e=n.length,r=n[0],i=[r[0],",",r[1]];++t1&&i.push("H",r[0]),i.join("")}function wu(n){for(var t=0,e=n.length,r=n[0],i=[r[0],",",r[1]];++t1){a=t[1],u=n[l],l++,r+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(u[0]-a[0])+","+(u[1]-a[1])+","+u[0]+","+u[1];for(var c=2;c9&&(i=3*t/Math.sqrt(i),o[a]=i*e,o[a+1]=i*r));for(a=-1;++a<=l;)i=(n[Math.min(l,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),u.push([i||0,o[a]*i||0]);return u}function Fu(n){return n.length<3?xu(n):n[0]+Au(n,ju(n))}function Hu(n){for(var t,e,r,i=-1,u=n.length;++i=t?o(n-t):void(f.c=o)}function o(e){var i=g.active,u=g[i];u&&(u.timer.c=null,u.timer.t=NaN,--g.count,delete g[i],u.event&&u.event.interrupt.call(n,n.__data__,u.index));for(var o in g)if(r>+o){var c=g[o];c.timer.c=null,c.timer.t=NaN,--g.count,delete g[o]}f.c=a,qn(function(){return f.c&&a(e||1)&&(f.c=null,f.t=NaN),1},0,l),g.active=r,v.event&&v.event.start.call(n,n.__data__,t),p=[],v.tween.forEach(function(e,r){(r=r.call(n,n.__data__,t))&&p.push(r)}),h=v.ease,s=v.duration}function a(i){for(var u=i/s,o=h(u),a=p.length;a>0;)p[--a].call(n,o);return u>=1?(v.event&&v.event.end.call(n,n.__data__,t),--g.count?delete g[r]:delete n[e],1):void 0}var l,f,s,h,p,g=n[e]||(n[e]={active:0,count:0}),v=g[r];v||(l=i.time,f=qn(u,0,l),v=g[r]={tween:new c,time:l,timer:f,delay:i.delay,duration:i.duration,ease:i.ease,index:t},i=null,++g.count)}function no(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate("+(isFinite(r)?r:e(n))+",0)"})}function to(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate(0,"+(isFinite(r)?r:e(n))+")"})}function eo(n){return n.toISOString()}function ro(n,t,e){function r(t){return n(t)}function i(n,e){var r=n[1]-n[0],i=r/e,u=ao.bisect(Kl,i);return u==Kl.length?[t.year,Ki(n.map(function(n){return n/31536e6}),e)[2]]:u?t[i/Kl[u-1]1?{floor:function(t){for(;e(t=n.floor(t));)t=io(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=io(+t+1);return t}}:n))},r.ticks=function(n,t){var e=Yi(r.domain()),u=null==n?i(e,10):"number"==typeof n?i(e,n):!n.range&&[{range:n},t];return u&&(n=u[0],t=u[1]),n.range(e[0],io(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return ro(n.copy(),t,e)},Ji(r,n)}function io(n){return new Date(n)}function uo(n){return JSON.parse(n.responseText)}function oo(n){var t=fo.createRange();return t.selectNode(fo.body),t.createContextualFragment(n.responseText)}var ao={version:"3.5.17"},lo=[].slice,co=function(n){return lo.call(n)},fo=this.document;if(fo)try{co(fo.documentElement.childNodes)[0].nodeType}catch(so){co=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}if(Date.now||(Date.now=function(){return+new Date}),fo)try{fo.createElement("DIV").style.setProperty("opacity",0,"")}catch(ho){var po=this.Element.prototype,go=po.setAttribute,vo=po.setAttributeNS,yo=this.CSSStyleDeclaration.prototype,mo=yo.setProperty;po.setAttribute=function(n,t){go.call(this,n,t+"")},po.setAttributeNS=function(n,t,e){vo.call(this,n,t,e+"")},yo.setProperty=function(n,t,e){mo.call(this,n,t+"",e)}}ao.ascending=e,ao.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:NaN},ao.min=function(n,t){var e,r,i=-1,u=n.length;if(1===arguments.length){for(;++i=r){e=r;break}for(;++ir&&(e=r)}else{for(;++i=r){e=r;break}for(;++ir&&(e=r)}return e},ao.max=function(n,t){var e,r,i=-1,u=n.length;if(1===arguments.length){for(;++i=r){e=r;break}for(;++ie&&(e=r)}else{for(;++i=r){e=r;break}for(;++ie&&(e=r)}return e},ao.extent=function(n,t){var e,r,i,u=-1,o=n.length;if(1===arguments.length){for(;++u=r){e=i=r;break}for(;++ur&&(e=r),r>i&&(i=r))}else{for(;++u=r){e=i=r;break}for(;++ur&&(e=r),r>i&&(i=r))}return[e,i]},ao.sum=function(n,t){var e,r=0,u=n.length,o=-1;if(1===arguments.length)for(;++o1?l/(f-1):void 0},ao.deviation=function(){var n=ao.variance.apply(this,arguments);return n?Math.sqrt(n):n};var Mo=u(e);ao.bisectLeft=Mo.left,ao.bisect=ao.bisectRight=Mo.right,ao.bisector=function(n){return u(1===n.length?function(t,r){return e(n(t),r)}:n)},ao.shuffle=function(n,t,e){(u=arguments.length)<3&&(e=n.length,2>u&&(t=0));for(var r,i,u=e-t;u;)i=Math.random()*u--|0,r=n[u+t],n[u+t]=n[i+t],n[i+t]=r;return n},ao.permute=function(n,t){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},ao.pairs=function(n){for(var t,e=0,r=n.length-1,i=n[0],u=new Array(0>r?0:r);r>e;)u[e]=[t=i,i=n[++e]];return u},ao.transpose=function(n){if(!(i=n.length))return[];for(var t=-1,e=ao.min(n,o),r=new Array(e);++t=0;)for(r=n[i],t=r.length;--t>=0;)e[--o]=r[t];return e};var xo=Math.abs;ao.range=function(n,t,e){if(arguments.length<3&&(e=1,arguments.length<2&&(t=n,n=0)),(t-n)/e===1/0)throw new Error("infinite range");var r,i=[],u=a(xo(e)),o=-1;if(n*=u,t*=u,e*=u,0>e)for(;(r=n+e*++o)>t;)i.push(r/u);else for(;(r=n+e*++o)=u.length)return r?r.call(i,o):e?o.sort(e):o;for(var l,f,s,h,p=-1,g=o.length,v=u[a++],d=new c;++p=u.length)return n;var r=[],i=o[e++];return n.forEach(function(n,i){r.push({key:n,values:t(i,e)})}),i?r.sort(function(n,t){return i(n.key,t.key)}):r}var e,r,i={},u=[],o=[];return i.map=function(t,e){return n(e,t,0)},i.entries=function(e){return t(n(ao.map,e,0),0)},i.key=function(n){return u.push(n),i},i.sortKeys=function(n){return o[u.length-1]=n,i},i.sortValues=function(n){return e=n,i},i.rollup=function(n){return r=n,i},i},ao.set=function(n){var t=new y;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},l(y,{has:h,add:function(n){return this._[f(n+="")]=!0,n},remove:p,values:g,size:v,empty:d,forEach:function(n){for(var t in this._)n.call(this,s(t))}}),ao.behavior={},ao.rebind=function(n,t){for(var e,r=1,i=arguments.length;++r=0&&(r=n.slice(e+1),n=n.slice(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},ao.event=null,ao.requote=function(n){return n.replace(So,"\\$&")};var So=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,ko={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},No=function(n,t){return t.querySelector(n)},Eo=function(n,t){return t.querySelectorAll(n)},Ao=function(n,t){var e=n.matches||n[x(n,"matchesSelector")];return(Ao=function(n,t){return e.call(n,t)})(n,t)};"function"==typeof Sizzle&&(No=function(n,t){return Sizzle(n,t)[0]||null},Eo=Sizzle,Ao=Sizzle.matchesSelector),ao.selection=function(){return ao.select(fo.documentElement)};var Co=ao.selection.prototype=[];Co.select=function(n){var t,e,r,i,u=[];n=A(n);for(var o=-1,a=this.length;++o=0&&"xmlns"!==(e=n.slice(0,t))&&(n=n.slice(t+1)),Lo.hasOwnProperty(e)?{space:Lo[e],local:n}:n}},Co.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=ao.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(z(t,n[t]));return this}return this.each(z(n,t))},Co.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=T(n)).length,i=-1;if(t=e.classList){for(;++ii){if("string"!=typeof n){2>i&&(e="");for(r in n)this.each(P(r,n[r],e));return this}if(2>i){var u=this.node();return t(u).getComputedStyle(u,null).getPropertyValue(n)}r=""}return this.each(P(n,e,r))},Co.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(U(t,n[t]));return this}return this.each(U(n,t))},Co.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},Co.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},Co.append=function(n){return n=j(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},Co.insert=function(n,t){return n=j(n),t=A(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments)||null)})},Co.remove=function(){return this.each(F)},Co.data=function(n,t){function e(n,e){var r,i,u,o=n.length,s=e.length,h=Math.min(o,s),p=new Array(s),g=new Array(s),v=new Array(o);if(t){var d,y=new c,m=new Array(o);for(r=-1;++rr;++r)g[r]=H(e[r]);for(;o>r;++r)v[r]=n[r]}g.update=p,g.parentNode=p.parentNode=v.parentNode=n.parentNode,a.push(g),l.push(p),f.push(v)}var r,i,u=-1,o=this.length;if(!arguments.length){for(n=new Array(o=(r=this[0]).length);++uu;u++){i.push(t=[]),t.parentNode=(e=this[u]).parentNode;for(var a=0,l=e.length;l>a;a++)(r=e[a])&&n.call(r,r.__data__,a,u)&&t.push(r)}return E(i)},Co.order=function(){for(var n=-1,t=this.length;++n=0;)(e=r[i])&&(u&&u!==e.nextSibling&&u.parentNode.insertBefore(e,u),u=e);return this},Co.sort=function(n){n=I.apply(this,arguments);for(var t=-1,e=this.length;++tn;n++)for(var e=this[n],r=0,i=e.length;i>r;r++){var u=e[r];if(u)return u}return null},Co.size=function(){var n=0;return Y(this,function(){++n}),n};var qo=[];ao.selection.enter=Z,ao.selection.enter.prototype=qo,qo.append=Co.append,qo.empty=Co.empty,qo.node=Co.node,qo.call=Co.call,qo.size=Co.size,qo.select=function(n){for(var t,e,r,i,u,o=[],a=-1,l=this.length;++ar){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(X(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(X(n,t,e))};var To=ao.map({mouseenter:"mouseover",mouseleave:"mouseout"});fo&&To.forEach(function(n){"on"+n in fo&&To.remove(n)});var Ro,Do=0;ao.mouse=function(n){return J(n,k())};var Po=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;ao.touch=function(n,t,e){if(arguments.length<3&&(e=t,t=k().changedTouches),t)for(var r,i=0,u=t.length;u>i;++i)if((r=t[i]).identifier===e)return J(n,r)},ao.behavior.drag=function(){function n(){this.on("mousedown.drag",u).on("touchstart.drag",o)}function e(n,t,e,u,o){return function(){function a(){var n,e,r=t(h,v);r&&(n=r[0]-M[0],e=r[1]-M[1],g|=n|e,M=r,p({type:"drag",x:r[0]+c[0],y:r[1]+c[1],dx:n,dy:e}))}function l(){t(h,v)&&(y.on(u+d,null).on(o+d,null),m(g),p({type:"dragend"}))}var c,f=this,s=ao.event.target.correspondingElement||ao.event.target,h=f.parentNode,p=r.of(f,arguments),g=0,v=n(),d=".drag"+(null==v?"":"-"+v),y=ao.select(e(s)).on(u+d,a).on(o+d,l),m=W(s),M=t(h,v);i?(c=i.apply(f,arguments),c=[c.x-M[0],c.y-M[1]]):c=[0,0],p({type:"dragstart"})}}var r=N(n,"drag","dragstart","dragend"),i=null,u=e(b,ao.mouse,t,"mousemove","mouseup"),o=e(G,ao.touch,m,"touchmove","touchend");return n.origin=function(t){return arguments.length?(i=t,n):i},ao.rebind(n,r,"on")},ao.touches=function(n,t){return arguments.length<2&&(t=k().touches),t?co(t).map(function(t){var e=J(n,t);return e.identifier=t.identifier,e}):[]};var Uo=1e-6,jo=Uo*Uo,Fo=Math.PI,Ho=2*Fo,Oo=Ho-Uo,Io=Fo/2,Yo=Fo/180,Zo=180/Fo,Vo=Math.SQRT2,Xo=2,$o=4;ao.interpolateZoom=function(n,t){var e,r,i=n[0],u=n[1],o=n[2],a=t[0],l=t[1],c=t[2],f=a-i,s=l-u,h=f*f+s*s;if(jo>h)r=Math.log(c/o)/Vo,e=function(n){return[i+n*f,u+n*s,o*Math.exp(Vo*n*r)]};else{var p=Math.sqrt(h),g=(c*c-o*o+$o*h)/(2*o*Xo*p),v=(c*c-o*o-$o*h)/(2*c*Xo*p),d=Math.log(Math.sqrt(g*g+1)-g),y=Math.log(Math.sqrt(v*v+1)-v);r=(y-d)/Vo,e=function(n){var t=n*r,e=rn(d),a=o/(Xo*p)*(e*un(Vo*t+d)-en(d));return[i+a*f,u+a*s,o*e/rn(Vo*t+d)]}}return e.duration=1e3*r,e},ao.behavior.zoom=function(){function n(n){n.on(L,s).on(Wo+".zoom",p).on("dblclick.zoom",g).on(R,h)}function e(n){return[(n[0]-k.x)/k.k,(n[1]-k.y)/k.k]}function r(n){return[n[0]*k.k+k.x,n[1]*k.k+k.y]}function i(n){k.k=Math.max(A[0],Math.min(A[1],n))}function u(n,t){t=r(t),k.x+=n[0]-t[0],k.y+=n[1]-t[1]}function o(t,e,r,o){t.__chart__={x:k.x,y:k.y,k:k.k},i(Math.pow(2,o)),u(d=e,r),t=ao.select(t),C>0&&(t=t.transition().duration(C)),t.call(n.event)}function a(){b&&b.domain(x.range().map(function(n){return(n-k.x)/k.k}).map(x.invert)),w&&w.domain(_.range().map(function(n){return(n-k.y)/k.k}).map(_.invert))}function l(n){z++||n({type:"zoomstart"})}function c(n){a(),n({type:"zoom",scale:k.k,translate:[k.x,k.y]})}function f(n){--z||(n({type:"zoomend"}),d=null)}function s(){function n(){a=1,u(ao.mouse(i),h),c(o)}function r(){s.on(q,null).on(T,null),p(a),f(o)}var i=this,o=D.of(i,arguments),a=0,s=ao.select(t(i)).on(q,n).on(T,r),h=e(ao.mouse(i)),p=W(i);Il.call(i),l(o)}function h(){function n(){var n=ao.touches(g);return p=k.k,n.forEach(function(n){n.identifier in d&&(d[n.identifier]=e(n))}),n}function t(){var t=ao.event.target;ao.select(t).on(x,r).on(b,a),_.push(t);for(var e=ao.event.changedTouches,i=0,u=e.length;u>i;++i)d[e[i].identifier]=null;var l=n(),c=Date.now();if(1===l.length){if(500>c-M){var f=l[0];o(g,f,d[f.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),S()}M=c}else if(l.length>1){var f=l[0],s=l[1],h=f[0]-s[0],p=f[1]-s[1];y=h*h+p*p}}function r(){var n,t,e,r,o=ao.touches(g);Il.call(g);for(var a=0,l=o.length;l>a;++a,r=null)if(e=o[a],r=d[e.identifier]){if(t)break;n=e,t=r}if(r){var f=(f=e[0]-n[0])*f+(f=e[1]-n[1])*f,s=y&&Math.sqrt(f/y);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+r[0])/2,(t[1]+r[1])/2],i(s*p)}M=null,u(n,t),c(v)}function a(){if(ao.event.touches.length){for(var t=ao.event.changedTouches,e=0,r=t.length;r>e;++e)delete d[t[e].identifier];for(var i in d)return void n()}ao.selectAll(_).on(m,null),w.on(L,s).on(R,h),N(),f(v)}var p,g=this,v=D.of(g,arguments),d={},y=0,m=".zoom-"+ao.event.changedTouches[0].identifier,x="touchmove"+m,b="touchend"+m,_=[],w=ao.select(g),N=W(g);t(),l(v),w.on(L,null).on(R,t)}function p(){var n=D.of(this,arguments);m?clearTimeout(m):(Il.call(this),v=e(d=y||ao.mouse(this)),l(n)),m=setTimeout(function(){m=null,f(n)},50),S(),i(Math.pow(2,.002*Bo())*k.k),u(d,v),c(n)}function g(){var n=ao.mouse(this),t=Math.log(k.k)/Math.LN2;o(this,n,e(n),ao.event.shiftKey?Math.ceil(t)-1:Math.floor(t)+1)}var v,d,y,m,M,x,b,_,w,k={x:0,y:0,k:1},E=[960,500],A=Jo,C=250,z=0,L="mousedown.zoom",q="mousemove.zoom",T="mouseup.zoom",R="touchstart.zoom",D=N(n,"zoomstart","zoom","zoomend");return Wo||(Wo="onwheel"in fo?(Bo=function(){return-ao.event.deltaY*(ao.event.deltaMode?120:1)},"wheel"):"onmousewheel"in fo?(Bo=function(){return ao.event.wheelDelta},"mousewheel"):(Bo=function(){return-ao.event.detail},"MozMousePixelScroll")),n.event=function(n){n.each(function(){var n=D.of(this,arguments),t=k;Hl?ao.select(this).transition().each("start.zoom",function(){k=this.__chart__||{x:0,y:0,k:1},l(n)}).tween("zoom:zoom",function(){var e=E[0],r=E[1],i=d?d[0]:e/2,u=d?d[1]:r/2,o=ao.interpolateZoom([(i-k.x)/k.k,(u-k.y)/k.k,e/k.k],[(i-t.x)/t.k,(u-t.y)/t.k,e/t.k]);return function(t){var r=o(t),a=e/r[2];this.__chart__=k={x:i-r[0]*a,y:u-r[1]*a,k:a},c(n)}}).each("interrupt.zoom",function(){f(n)}).each("end.zoom",function(){f(n)}):(this.__chart__=k,l(n),c(n),f(n))})},n.translate=function(t){return arguments.length?(k={x:+t[0],y:+t[1],k:k.k},a(),n):[k.x,k.y]},n.scale=function(t){return arguments.length?(k={x:k.x,y:k.y,k:null},i(+t),a(),n):k.k},n.scaleExtent=function(t){return arguments.length?(A=null==t?Jo:[+t[0],+t[1]],n):A},n.center=function(t){return arguments.length?(y=t&&[+t[0],+t[1]],n):y},n.size=function(t){return arguments.length?(E=t&&[+t[0],+t[1]],n):E},n.duration=function(t){return arguments.length?(C=+t,n):C},n.x=function(t){return arguments.length?(b=t,x=t.copy(),k={x:0,y:0,k:1},n):b},n.y=function(t){return arguments.length?(w=t,_=t.copy(),k={x:0,y:0,k:1},n):w},ao.rebind(n,D,"on")};var Bo,Wo,Jo=[0,1/0];ao.color=an,an.prototype.toString=function(){return this.rgb()+""},ao.hsl=ln;var Go=ln.prototype=new an;Go.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),new ln(this.h,this.s,this.l/n)},Go.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new ln(this.h,this.s,n*this.l)},Go.rgb=function(){return cn(this.h,this.s,this.l)},ao.hcl=fn;var Ko=fn.prototype=new an;Ko.brighter=function(n){return new fn(this.h,this.c,Math.min(100,this.l+Qo*(arguments.length?n:1)))},Ko.darker=function(n){return new fn(this.h,this.c,Math.max(0,this.l-Qo*(arguments.length?n:1)))},Ko.rgb=function(){return sn(this.h,this.c,this.l).rgb()},ao.lab=hn;var Qo=18,na=.95047,ta=1,ea=1.08883,ra=hn.prototype=new an;ra.brighter=function(n){return new hn(Math.min(100,this.l+Qo*(arguments.length?n:1)),this.a,this.b)},ra.darker=function(n){return new hn(Math.max(0,this.l-Qo*(arguments.length?n:1)),this.a,this.b)},ra.rgb=function(){return pn(this.l,this.a,this.b)},ao.rgb=mn;var ia=mn.prototype=new an;ia.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,i=30;return t||e||r?(t&&i>t&&(t=i),e&&i>e&&(e=i),r&&i>r&&(r=i),new mn(Math.min(255,t/n),Math.min(255,e/n),Math.min(255,r/n))):new mn(i,i,i)},ia.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new mn(n*this.r,n*this.g,n*this.b)},ia.hsl=function(){return wn(this.r,this.g,this.b)},ia.toString=function(){return"#"+bn(this.r)+bn(this.g)+bn(this.b)};var ua=ao.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});ua.forEach(function(n,t){ua.set(n,Mn(t))}),ao.functor=En,ao.xhr=An(m),ao.dsv=function(n,t){function e(n,e,u){arguments.length<3&&(u=e,e=null);var o=Cn(n,t,null==e?r:i(e),u);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:i(n)):e},o}function r(n){return e.parse(n.responseText)}function i(n){return function(t){return e.parse(t.responseText,n)}}function u(t){return t.map(o).join(n)}function o(n){return a.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var a=new RegExp('["'+n+"\n]"),l=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var i=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(i(n),e)}:i})},e.parseRows=function(n,t){function e(){if(f>=c)return o;if(i)return i=!1,u;var t=f;if(34===n.charCodeAt(t)){for(var e=t;e++f;){var r=n.charCodeAt(f++),a=1;if(10===r)i=!0;else if(13===r)i=!0,10===n.charCodeAt(f)&&(++f,++a);else if(r!==l)continue;return n.slice(t,f-a)}return n.slice(t)}for(var r,i,u={},o={},a=[],c=n.length,f=0,s=0;(r=e())!==o;){for(var h=[];r!==u&&r!==o;)h.push(r),r=e();t&&null==(h=t(h,s++))||a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new y,i=[];return t.forEach(function(n){for(var t in n)r.has(t)||i.push(r.add(t))}),[i.map(o).join(n)].concat(t.map(function(t){return i.map(function(n){return o(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(u).join("\n")},e},ao.csv=ao.dsv(",","text/csv"),ao.tsv=ao.dsv(" ","text/tab-separated-values");var oa,aa,la,ca,fa=this[x(this,"requestAnimationFrame")]||function(n){setTimeout(n,17)};ao.timer=function(){qn.apply(this,arguments)},ao.timer.flush=function(){Rn(),Dn()},ao.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)};var sa=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(Un);ao.formatPrefix=function(n,t){var e=0;return(n=+n)&&(0>n&&(n*=-1),t&&(n=ao.round(n,Pn(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))),sa[8+e/3]};var ha=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,pa=ao.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=ao.round(n,Pn(n,t))).toFixed(Math.max(0,Math.min(20,Pn(n*(1+1e-15),t))))}}),ga=ao.time={},va=Date;Hn.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){da.setUTCDate.apply(this._,arguments)},setDay:function(){da.setUTCDay.apply(this._,arguments)},setFullYear:function(){da.setUTCFullYear.apply(this._,arguments)},setHours:function(){da.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){da.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){da.setUTCMinutes.apply(this._,arguments)},setMonth:function(){da.setUTCMonth.apply(this._,arguments)},setSeconds:function(){da.setUTCSeconds.apply(this._,arguments)},setTime:function(){da.setTime.apply(this._,arguments)}};var da=Date.prototype;ga.year=On(function(n){return n=ga.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),ga.years=ga.year.range,ga.years.utc=ga.year.utc.range,ga.day=On(function(n){var t=new va(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),ga.days=ga.day.range,ga.days.utc=ga.day.utc.range,ga.dayOfYear=function(n){var t=ga.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(n,t){t=7-t;var e=ga[n]=On(function(n){return(n=ga.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=ga.year(n).getDay();return Math.floor((ga.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});ga[n+"s"]=e.range,ga[n+"s"].utc=e.utc.range,ga[n+"OfYear"]=function(n){var e=ga.year(n).getDay();return Math.floor((ga.dayOfYear(n)+(e+t)%7)/7)}}),ga.week=ga.sunday,ga.weeks=ga.sunday.range,ga.weeks.utc=ga.sunday.utc.range,ga.weekOfYear=ga.sundayOfYear;var ya={"-":"",_:" ",0:"0"},ma=/^\s*\d+/,Ma=/^%/;ao.locale=function(n){return{numberFormat:jn(n),timeFormat:Yn(n)}};var xa=ao.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"], -shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});ao.format=xa.numberFormat,ao.geo={},ft.prototype={s:0,t:0,add:function(n){st(n,this.t,ba),st(ba.s,this.s,this),this.s?this.t+=ba.t:this.s=ba.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var ba=new ft;ao.geo.stream=function(n,t){n&&_a.hasOwnProperty(n.type)?_a[n.type](n,t):ht(n,t)};var _a={Feature:function(n,t){ht(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,i=e.length;++rn?4*Fo+n:n,Na.lineStart=Na.lineEnd=Na.point=b}};ao.geo.bounds=function(){function n(n,t){M.push(x=[f=n,h=n]),s>t&&(s=t),t>p&&(p=t)}function t(t,e){var r=dt([t*Yo,e*Yo]);if(y){var i=mt(y,r),u=[i[1],-i[0],0],o=mt(u,i);bt(o),o=_t(o);var l=t-g,c=l>0?1:-1,v=o[0]*Zo*c,d=xo(l)>180;if(d^(v>c*g&&c*t>v)){var m=o[1]*Zo;m>p&&(p=m)}else if(v=(v+360)%360-180,d^(v>c*g&&c*t>v)){var m=-o[1]*Zo;s>m&&(s=m)}else s>e&&(s=e),e>p&&(p=e);d?g>t?a(f,t)>a(f,h)&&(h=t):a(t,h)>a(f,h)&&(f=t):h>=f?(f>t&&(f=t),t>h&&(h=t)):t>g?a(f,t)>a(f,h)&&(h=t):a(t,h)>a(f,h)&&(f=t)}else n(t,e);y=r,g=t}function e(){b.point=t}function r(){x[0]=f,x[1]=h,b.point=n,y=null}function i(n,e){if(y){var r=n-g;m+=xo(r)>180?r+(r>0?360:-360):r}else v=n,d=e;Na.point(n,e),t(n,e)}function u(){Na.lineStart()}function o(){i(v,d),Na.lineEnd(),xo(m)>Uo&&(f=-(h=180)),x[0]=f,x[1]=h,y=null}function a(n,t){return(t-=n)<0?t+360:t}function l(n,t){return n[0]-t[0]}function c(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:nka?(f=-(h=180),s=-(p=90)):m>Uo?p=90:-Uo>m&&(s=-90),x[0]=f,x[1]=h}};return function(n){p=h=-(f=s=1/0),M=[],ao.geo.stream(n,b);var t=M.length;if(t){M.sort(l);for(var e,r=1,i=M[0],u=[i];t>r;++r)e=M[r],c(e[0],i)||c(e[1],i)?(a(i[0],e[1])>a(i[0],i[1])&&(i[1]=e[1]),a(e[0],i[1])>a(i[0],i[1])&&(i[0]=e[0])):u.push(i=e);for(var o,e,g=-(1/0),t=u.length-1,r=0,i=u[t];t>=r;i=e,++r)e=u[r],(o=a(i[1],e[0]))>g&&(g=o,f=e[0],h=i[1])}return M=x=null,f===1/0||s===1/0?[[NaN,NaN],[NaN,NaN]]:[[f,s],[h,p]]}}(),ao.geo.centroid=function(n){Ea=Aa=Ca=za=La=qa=Ta=Ra=Da=Pa=Ua=0,ao.geo.stream(n,ja);var t=Da,e=Pa,r=Ua,i=t*t+e*e+r*r;return jo>i&&(t=qa,e=Ta,r=Ra,Uo>Aa&&(t=Ca,e=za,r=La),i=t*t+e*e+r*r,jo>i)?[NaN,NaN]:[Math.atan2(e,t)*Zo,tn(r/Math.sqrt(i))*Zo]};var Ea,Aa,Ca,za,La,qa,Ta,Ra,Da,Pa,Ua,ja={sphere:b,point:St,lineStart:Nt,lineEnd:Et,polygonStart:function(){ja.lineStart=At},polygonEnd:function(){ja.lineStart=Nt}},Fa=Rt(zt,jt,Ht,[-Fo,-Fo/2]),Ha=1e9;ao.geo.clipExtent=function(){var n,t,e,r,i,u,o={stream:function(n){return i&&(i.valid=!1),i=u(n),i.valid=!0,i},extent:function(a){return arguments.length?(u=Zt(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),i&&(i.valid=!1,i=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(ao.geo.conicEqualArea=function(){return Vt(Xt)}).raw=Xt,ao.geo.albers=function(){return ao.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},ao.geo.albersUsa=function(){function n(n){var u=n[0],o=n[1];return t=null,e(u,o),t||(r(u,o),t)||i(u,o),t}var t,e,r,i,u=ao.geo.albers(),o=ao.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=ao.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=u.scale(),e=u.translate(),r=(n[0]-e[0])/t,i=(n[1]-e[1])/t;return(i>=.12&&.234>i&&r>=-.425&&-.214>r?o:i>=.166&&.234>i&&r>=-.214&&-.115>r?a:u).invert(n)},n.stream=function(n){var t=u.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,i){t.point(n,i),e.point(n,i),r.point(n,i)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(u.precision(t),o.precision(t),a.precision(t),n):u.precision()},n.scale=function(t){return arguments.length?(u.scale(t),o.scale(.35*t),a.scale(t),n.translate(u.translate())):u.scale()},n.translate=function(t){if(!arguments.length)return u.translate();var c=u.scale(),f=+t[0],s=+t[1];return e=u.translate(t).clipExtent([[f-.455*c,s-.238*c],[f+.455*c,s+.238*c]]).stream(l).point,r=o.translate([f-.307*c,s+.201*c]).clipExtent([[f-.425*c+Uo,s+.12*c+Uo],[f-.214*c-Uo,s+.234*c-Uo]]).stream(l).point,i=a.translate([f-.205*c,s+.212*c]).clipExtent([[f-.214*c+Uo,s+.166*c+Uo],[f-.115*c-Uo,s+.234*c-Uo]]).stream(l).point,n},n.scale(1070)};var Oa,Ia,Ya,Za,Va,Xa,$a={point:b,lineStart:b,lineEnd:b,polygonStart:function(){Ia=0,$a.lineStart=$t},polygonEnd:function(){$a.lineStart=$a.lineEnd=$a.point=b,Oa+=xo(Ia/2)}},Ba={point:Bt,lineStart:b,lineEnd:b,polygonStart:b,polygonEnd:b},Wa={point:Gt,lineStart:Kt,lineEnd:Qt,polygonStart:function(){Wa.lineStart=ne},polygonEnd:function(){Wa.point=Gt,Wa.lineStart=Kt,Wa.lineEnd=Qt}};ao.geo.path=function(){function n(n){return n&&("function"==typeof a&&u.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=i(u)),ao.geo.stream(n,o)),u.result()}function t(){return o=null,n}var e,r,i,u,o,a=4.5;return n.area=function(n){return Oa=0,ao.geo.stream(n,i($a)),Oa},n.centroid=function(n){return Ca=za=La=qa=Ta=Ra=Da=Pa=Ua=0,ao.geo.stream(n,i(Wa)),Ua?[Da/Ua,Pa/Ua]:Ra?[qa/Ra,Ta/Ra]:La?[Ca/La,za/La]:[NaN,NaN]},n.bounds=function(n){return Va=Xa=-(Ya=Za=1/0),ao.geo.stream(n,i(Ba)),[[Ya,Za],[Va,Xa]]},n.projection=function(n){return arguments.length?(i=(e=n)?n.stream||re(n):m,t()):e},n.context=function(n){return arguments.length?(u=null==(r=n)?new Wt:new te(n),"function"!=typeof a&&u.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(u.pointRadius(+t),+t),n):a},n.projection(ao.geo.albersUsa()).context(null)},ao.geo.transform=function(n){return{stream:function(t){var e=new ie(t);for(var r in n)e[r]=n[r];return e}}},ie.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},ao.geo.projection=oe,ao.geo.projectionMutator=ae,(ao.geo.equirectangular=function(){return oe(ce)}).raw=ce.invert=ce,ao.geo.rotation=function(n){function t(t){return t=n(t[0]*Yo,t[1]*Yo),t[0]*=Zo,t[1]*=Zo,t}return n=se(n[0]%360*Yo,n[1]*Yo,n.length>2?n[2]*Yo:0),t.invert=function(t){return t=n.invert(t[0]*Yo,t[1]*Yo),t[0]*=Zo,t[1]*=Zo,t},t},fe.invert=ce,ao.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=se(-n[0]*Yo,-n[1]*Yo,0).invert,i=[];return e(null,null,1,{point:function(n,e){i.push(n=t(n,e)),n[0]*=Zo,n[1]*=Zo}}),{type:"Polygon",coordinates:[i]}}var t,e,r=[0,0],i=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=ve((t=+r)*Yo,i*Yo),n):t},n.precision=function(r){return arguments.length?(e=ve(t*Yo,(i=+r)*Yo),n):i},n.angle(90)},ao.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Yo,i=n[1]*Yo,u=t[1]*Yo,o=Math.sin(r),a=Math.cos(r),l=Math.sin(i),c=Math.cos(i),f=Math.sin(u),s=Math.cos(u);return Math.atan2(Math.sqrt((e=s*o)*e+(e=c*f-l*s*a)*e),l*f+c*s*a)},ao.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return ao.range(Math.ceil(u/d)*d,i,d).map(h).concat(ao.range(Math.ceil(c/y)*y,l,y).map(p)).concat(ao.range(Math.ceil(r/g)*g,e,g).filter(function(n){return xo(n%d)>Uo}).map(f)).concat(ao.range(Math.ceil(a/v)*v,o,v).filter(function(n){return xo(n%y)>Uo}).map(s))}var e,r,i,u,o,a,l,c,f,s,h,p,g=10,v=g,d=90,y=360,m=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(u).concat(p(l).slice(1),h(i).reverse().slice(1),p(c).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(u=+t[0][0],i=+t[1][0],c=+t[0][1],l=+t[1][1],u>i&&(t=u,u=i,i=t),c>l&&(t=c,c=l,l=t),n.precision(m)):[[u,c],[i,l]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(m)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(d=+t[0],y=+t[1],n):[d,y]},n.minorStep=function(t){return arguments.length?(g=+t[0],v=+t[1],n):[g,v]},n.precision=function(t){return arguments.length?(m=+t,f=ye(a,o,90),s=me(r,e,m),h=ye(c,l,90),p=me(u,i,m),n):m},n.majorExtent([[-180,-90+Uo],[180,90-Uo]]).minorExtent([[-180,-80-Uo],[180,80+Uo]])},ao.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||i.apply(this,arguments)]}}var t,e,r=Me,i=xe;return n.distance=function(){return ao.geo.distance(t||r.apply(this,arguments),e||i.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(i=t,e="function"==typeof t?null:t,n):i},n.precision=function(){return arguments.length?n:0},n},ao.geo.interpolate=function(n,t){return be(n[0]*Yo,n[1]*Yo,t[0]*Yo,t[1]*Yo)},ao.geo.length=function(n){return Ja=0,ao.geo.stream(n,Ga),Ja};var Ja,Ga={sphere:b,point:b,lineStart:_e,lineEnd:b,polygonStart:b,polygonEnd:b},Ka=we(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(ao.geo.azimuthalEqualArea=function(){return oe(Ka)}).raw=Ka;var Qa=we(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},m);(ao.geo.azimuthalEquidistant=function(){return oe(Qa)}).raw=Qa,(ao.geo.conicConformal=function(){return Vt(Se)}).raw=Se,(ao.geo.conicEquidistant=function(){return Vt(ke)}).raw=ke;var nl=we(function(n){return 1/n},Math.atan);(ao.geo.gnomonic=function(){return oe(nl)}).raw=nl,Ne.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Io]},(ao.geo.mercator=function(){return Ee(Ne)}).raw=Ne;var tl=we(function(){return 1},Math.asin);(ao.geo.orthographic=function(){return oe(tl)}).raw=tl;var el=we(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(ao.geo.stereographic=function(){return oe(el)}).raw=el,Ae.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-Io]},(ao.geo.transverseMercator=function(){var n=Ee(Ae),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[n[1],-n[0]])},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[1],n[2]-90])},e([0,0,90])}).raw=Ae,ao.geom={},ao.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,i=En(e),u=En(r),o=n.length,a=[],l=[];for(t=0;o>t;t++)a.push([+i.call(this,n[t],t),+u.call(this,n[t],t),t]);for(a.sort(qe),t=0;o>t;t++)l.push([a[t][0],-a[t][1]]);var c=Le(a),f=Le(l),s=f[0]===c[0],h=f[f.length-1]===c[c.length-1],p=[];for(t=c.length-1;t>=0;--t)p.push(n[a[c[t]][2]]);for(t=+s;t=r&&c.x<=u&&c.y>=i&&c.y<=o?[[r,o],[u,o],[u,i],[r,i]]:[];f.point=n[a]}),t}function e(n){return n.map(function(n,t){return{x:Math.round(u(n,t)/Uo)*Uo,y:Math.round(o(n,t)/Uo)*Uo,i:t}})}var r=Ce,i=ze,u=r,o=i,a=sl;return n?t(n):(t.links=function(n){return ar(e(n)).edges.filter(function(n){return n.l&&n.r}).map(function(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var t=[];return ar(e(n)).cells.forEach(function(e,r){for(var i,u,o=e.site,a=e.edges.sort(Ve),l=-1,c=a.length,f=a[c-1].edge,s=f.l===o?f.r:f.l;++l=c,h=r>=f,p=h<<1|s;n.leaf=!1,n=n.nodes[p]||(n.nodes[p]=hr()),s?i=c:a=c,h?o=f:l=f,u(n,t,e,r,i,o,a,l)}var f,s,h,p,g,v,d,y,m,M=En(a),x=En(l);if(null!=t)v=t,d=e,y=r,m=i;else if(y=m=-(v=d=1/0),s=[],h=[],g=n.length,o)for(p=0;g>p;++p)f=n[p],f.xy&&(y=f.x),f.y>m&&(m=f.y),s.push(f.x),h.push(f.y);else for(p=0;g>p;++p){var b=+M(f=n[p],p),_=+x(f,p);v>b&&(v=b),d>_&&(d=_),b>y&&(y=b),_>m&&(m=_),s.push(b),h.push(_)}var w=y-v,S=m-d;w>S?m=d+w:y=v+S;var k=hr();if(k.add=function(n){u(k,n,+M(n,++p),+x(n,p),v,d,y,m)},k.visit=function(n){pr(n,k,v,d,y,m)},k.find=function(n){return gr(k,n[0],n[1],v,d,y,m)},p=-1,null==t){for(;++p=0?n.slice(0,t):n,r=t>=0?n.slice(t+1):"in";return e=vl.get(e)||gl,r=dl.get(r)||m,br(r(e.apply(null,lo.call(arguments,1))))},ao.interpolateHcl=Rr,ao.interpolateHsl=Dr,ao.interpolateLab=Pr,ao.interpolateRound=Ur,ao.transform=function(n){var t=fo.createElementNS(ao.ns.prefix.svg,"g");return(ao.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new jr(e?e.matrix:yl)})(n)},jr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var yl={a:1,b:0,c:0,d:1,e:0,f:0};ao.interpolateTransform=$r,ao.layout={},ao.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++ea*a/y){if(v>l){var c=t.charge/l;n.px-=u*c,n.py-=o*c}return!0}if(t.point&&l&&v>l){var c=t.pointCharge/l;n.px-=u*c,n.py-=o*c}}return!t.charge}}function t(n){n.px=ao.event.x,n.py=ao.event.y,l.resume()}var e,r,i,u,o,a,l={},c=ao.dispatch("start","tick","end"),f=[1,1],s=.9,h=ml,p=Ml,g=-30,v=xl,d=.1,y=.64,M=[],x=[];return l.tick=function(){if((i*=.99)<.005)return e=null,c.end({type:"end",alpha:i=0}),!0;var t,r,l,h,p,v,y,m,b,_=M.length,w=x.length;for(r=0;w>r;++r)l=x[r],h=l.source,p=l.target,m=p.x-h.x,b=p.y-h.y,(v=m*m+b*b)&&(v=i*o[r]*((v=Math.sqrt(v))-u[r])/v,m*=v,b*=v,p.x-=m*(y=h.weight+p.weight?h.weight/(h.weight+p.weight):.5),p.y-=b*y,h.x+=m*(y=1-y),h.y+=b*y);if((y=i*d)&&(m=f[0]/2,b=f[1]/2,r=-1,y))for(;++r<_;)l=M[r],l.x+=(m-l.x)*y,l.y+=(b-l.y)*y;if(g)for(ri(t=ao.geom.quadtree(M),i,a),r=-1;++r<_;)(l=M[r]).fixed||t.visit(n(l));for(r=-1;++r<_;)l=M[r],l.fixed?(l.x=l.px,l.y=l.py):(l.x-=(l.px-(l.px=l.x))*s,l.y-=(l.py-(l.py=l.y))*s);c.tick({type:"tick",alpha:i})},l.nodes=function(n){return arguments.length?(M=n,l):M},l.links=function(n){return arguments.length?(x=n,l):x},l.size=function(n){return arguments.length?(f=n,l):f},l.linkDistance=function(n){return arguments.length?(h="function"==typeof n?n:+n,l):h},l.distance=l.linkDistance,l.linkStrength=function(n){return arguments.length?(p="function"==typeof n?n:+n,l):p},l.friction=function(n){return arguments.length?(s=+n,l):s},l.charge=function(n){return arguments.length?(g="function"==typeof n?n:+n,l):g},l.chargeDistance=function(n){return arguments.length?(v=n*n,l):Math.sqrt(v)},l.gravity=function(n){return arguments.length?(d=+n,l):d},l.theta=function(n){return arguments.length?(y=n*n,l):Math.sqrt(y)},l.alpha=function(n){return arguments.length?(n=+n,i?n>0?i=n:(e.c=null,e.t=NaN,e=null,c.end({type:"end",alpha:i=0})):n>0&&(c.start({type:"start",alpha:i=n}),e=qn(l.tick)),l):i},l.start=function(){function n(n,r){if(!e){for(e=new Array(i),l=0;i>l;++l)e[l]=[];for(l=0;c>l;++l){var u=x[l];e[u.source.index].push(u.target),e[u.target.index].push(u.source)}}for(var o,a=e[t],l=-1,f=a.length;++lt;++t)(r=M[t]).index=t,r.weight=0;for(t=0;c>t;++t)r=x[t],"number"==typeof r.source&&(r.source=M[r.source]),"number"==typeof r.target&&(r.target=M[r.target]),++r.source.weight,++r.target.weight;for(t=0;i>t;++t)r=M[t],isNaN(r.x)&&(r.x=n("x",s)),isNaN(r.y)&&(r.y=n("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(u=[],"function"==typeof h)for(t=0;c>t;++t)u[t]=+h.call(this,x[t],t);else for(t=0;c>t;++t)u[t]=h;if(o=[],"function"==typeof p)for(t=0;c>t;++t)o[t]=+p.call(this,x[t],t);else for(t=0;c>t;++t)o[t]=p;if(a=[],"function"==typeof g)for(t=0;i>t;++t)a[t]=+g.call(this,M[t],t);else for(t=0;i>t;++t)a[t]=g;return l.resume()},l.resume=function(){return l.alpha(.1)},l.stop=function(){return l.alpha(0)},l.drag=function(){return r||(r=ao.behavior.drag().origin(m).on("dragstart.force",Qr).on("drag.force",t).on("dragend.force",ni)),arguments.length?void this.on("mouseover.force",ti).on("mouseout.force",ei).call(r):r},ao.rebind(l,c,"on")};var ml=20,Ml=1,xl=1/0;ao.layout.hierarchy=function(){function n(i){var u,o=[i],a=[];for(i.depth=0;null!=(u=o.pop());)if(a.push(u),(c=e.call(n,u,u.depth))&&(l=c.length)){for(var l,c,f;--l>=0;)o.push(f=c[l]),f.parent=u,f.depth=u.depth+1;r&&(u.value=0),u.children=c}else r&&(u.value=+r.call(n,u,u.depth)||0),delete u.children;return oi(i,function(n){var e,i;t&&(e=n.children)&&e.sort(t),r&&(i=n.parent)&&(i.value+=n.value)}),a}var t=ci,e=ai,r=li;return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(ui(t,function(n){n.children&&(n.value=0)}),oi(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},ao.layout.partition=function(){function n(t,e,r,i){var u=t.children;if(t.x=e,t.y=t.depth*i,t.dx=r,t.dy=i,u&&(o=u.length)){var o,a,l,c=-1;for(r=t.value?r/t.value:0;++cs?-1:1),g=ao.sum(c),v=g?(s-l*p)/g:0,d=ao.range(l),y=[];return null!=e&&d.sort(e===bl?function(n,t){return c[t]-c[n]}:function(n,t){return e(o[n],o[t])}),d.forEach(function(n){y[n]={data:o[n],value:a=c[n],startAngle:f,endAngle:f+=a*v+p,padAngle:h}}),y}var t=Number,e=bl,r=0,i=Ho,u=0;return n.value=function(e){return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAngle=function(t){return arguments.length?(i=t,n):i},n.padAngle=function(t){return arguments.length?(u=t,n):u},n};var bl={};ao.layout.stack=function(){function n(a,l){if(!(h=a.length))return a;var c=a.map(function(e,r){return t.call(n,e,r)}),f=c.map(function(t){return t.map(function(t,e){return[u.call(n,t,e),o.call(n,t,e)]})}),s=e.call(n,f,l);c=ao.permute(c,s),f=ao.permute(f,s);var h,p,g,v,d=r.call(n,f,l),y=c[0].length;for(g=0;y>g;++g)for(i.call(n,c[0][g],v=d[g],f[0][g][1]),p=1;h>p;++p)i.call(n,c[p][g],v+=f[p-1][g][1],f[p][g][1]);return a}var t=m,e=gi,r=vi,i=pi,u=si,o=hi;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:_l.get(t)||gi,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:wl.get(t)||vi,n):r},n.x=function(t){return arguments.length?(u=t,n):u},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(i=t,n):i},n};var _l=ao.map({"inside-out":function(n){var t,e,r=n.length,i=n.map(di),u=n.map(yi),o=ao.range(r).sort(function(n,t){return i[n]-i[t]}),a=0,l=0,c=[],f=[];for(t=0;r>t;++t)e=o[t],l>a?(a+=u[e],c.push(e)):(l+=u[e],f.push(e));return f.reverse().concat(c)},reverse:function(n){return ao.range(n.length).reverse()},"default":gi}),wl=ao.map({silhouette:function(n){var t,e,r,i=n.length,u=n[0].length,o=[],a=0,l=[];for(e=0;u>e;++e){for(t=0,r=0;i>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;u>e;++e)l[e]=(a-o[e])/2;return l},wiggle:function(n){var t,e,r,i,u,o,a,l,c,f=n.length,s=n[0],h=s.length,p=[];for(p[0]=l=c=0,e=1;h>e;++e){for(t=0,i=0;f>t;++t)i+=n[t][e][1];for(t=0,u=0,a=s[e][0]-s[e-1][0];f>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;u+=o*n[t][e][1]}p[e]=l-=i?u/i*a:0,c>l&&(c=l)}for(e=0;h>e;++e)p[e]-=c;return p},expand:function(n){var t,e,r,i=n.length,u=n[0].length,o=1/i,a=[];for(e=0;u>e;++e){for(t=0,r=0;i>t;t++)r+=n[t][e][1];if(r)for(t=0;i>t;t++)n[t][e][1]/=r;else for(t=0;i>t;t++)n[t][e][1]=o}for(e=0;u>e;++e)a[e]=0;return a},zero:vi});ao.layout.histogram=function(){function n(n,u){for(var o,a,l=[],c=n.map(e,this),f=r.call(this,c,u),s=i.call(this,f,c,u),u=-1,h=c.length,p=s.length-1,g=t?1:1/h;++u0)for(u=-1;++u=f[0]&&a<=f[1]&&(o=l[ao.bisect(s,a,1,p)-1],o.y+=g,o.push(n[u]));return l}var t=!0,e=Number,r=bi,i=Mi;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=En(t),n):r},n.bins=function(t){return arguments.length?(i="number"==typeof t?function(n){return xi(n,t)}:En(t),n):i},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},ao.layout.pack=function(){function n(n,u){var o=e.call(this,n,u),a=o[0],l=i[0],c=i[1],f=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,oi(a,function(n){n.r=+f(n.value)}),oi(a,Ni),r){var s=r*(t?1:Math.max(2*a.r/l,2*a.r/c))/2;oi(a,function(n){n.r+=s}),oi(a,Ni),oi(a,function(n){n.r-=s})}return Ci(a,l/2,c/2,t?1:1/Math.max(2*a.r/l,2*a.r/c)),o}var t,e=ao.layout.hierarchy().sort(_i),r=0,i=[1,1];return n.size=function(t){return arguments.length?(i=t,n):i},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},ii(n,e)},ao.layout.tree=function(){function n(n,i){var f=o.call(this,n,i),s=f[0],h=t(s);if(oi(h,e),h.parent.m=-h.z,ui(h,r),c)ui(s,u);else{var p=s,g=s,v=s;ui(s,function(n){n.xg.x&&(g=n),n.depth>v.depth&&(v=n)});var d=a(p,g)/2-p.x,y=l[0]/(g.x+a(g,p)/2+d),m=l[1]/(v.depth||1);ui(s,function(n){n.x=(n.x+d)*y,n.y=n.depth*m})}return f}function t(n){for(var t,e={A:null,children:[n]},r=[e];null!=(t=r.pop());)for(var i,u=t.children,o=0,a=u.length;a>o;++o)r.push((u[o]=i={_:u[o],parent:t,children:(i=u[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return e.children[0]}function e(n){var t=n.children,e=n.parent.children,r=n.i?e[n.i-1]:null;if(t.length){Di(n);var u=(t[0].z+t[t.length-1].z)/2;r?(n.z=r.z+a(n._,r._),n.m=n.z-u):n.z=u}else r&&(n.z=r.z+a(n._,r._));n.parent.A=i(n,r,n.parent.A||e[0])}function r(n){n._.x=n.z+n.parent.m,n.m+=n.parent.m}function i(n,t,e){if(t){for(var r,i=n,u=n,o=t,l=i.parent.children[0],c=i.m,f=u.m,s=o.m,h=l.m;o=Ti(o),i=qi(i),o&&i;)l=qi(l),u=Ti(u),u.a=n,r=o.z+s-i.z-c+a(o._,i._),r>0&&(Ri(Pi(o,n,e),n,r),c+=r,f+=r),s+=o.m,c+=i.m,h+=l.m,f+=u.m;o&&!Ti(u)&&(u.t=o,u.m+=s-f),i&&!qi(l)&&(l.t=i,l.m+=c-h,e=n)}return e}function u(n){n.x*=l[0],n.y=n.depth*l[1]}var o=ao.layout.hierarchy().sort(null).value(null),a=Li,l=[1,1],c=null;return n.separation=function(t){return arguments.length?(a=t,n):a},n.size=function(t){return arguments.length?(c=null==(l=t)?u:null,n):c?null:l},n.nodeSize=function(t){return arguments.length?(c=null==(l=t)?null:u,n):c?l:null},ii(n,o)},ao.layout.cluster=function(){function n(n,u){var o,a=t.call(this,n,u),l=a[0],c=0;oi(l,function(n){var t=n.children;t&&t.length?(n.x=ji(t),n.y=Ui(t)):(n.x=o?c+=e(n,o):0,n.y=0,o=n)});var f=Fi(l),s=Hi(l),h=f.x-e(f,s)/2,p=s.x+e(s,f)/2;return oi(l,i?function(n){n.x=(n.x-l.x)*r[0],n.y=(l.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(p-h)*r[0],n.y=(1-(l.y?n.y/l.y:1))*r[1]}),a}var t=ao.layout.hierarchy().sort(null).value(null),e=Li,r=[1,1],i=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(i=null==(r=t),n):i?null:r},n.nodeSize=function(t){return arguments.length?(i=null!=(r=t),n):i?r:null},ii(n,t)},ao.layout.treemap=function(){function n(n,t){for(var e,r,i=-1,u=n.length;++it?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var u=e.children;if(u&&u.length){var o,a,l,c=s(e),f=[],h=u.slice(),g=1/0,v="slice"===p?c.dx:"dice"===p?c.dy:"slice-dice"===p?1&e.depth?c.dy:c.dx:Math.min(c.dx,c.dy);for(n(h,c.dx*c.dy/e.value),f.area=0;(l=h.length)>0;)f.push(o=h[l-1]),f.area+=o.area,"squarify"!==p||(a=r(f,v))<=g?(h.pop(),g=a):(f.area-=f.pop().area,i(f,v,c,!1),v=Math.min(c.dx,c.dy),f.length=f.area=0,g=1/0);f.length&&(i(f,v,c,!0),f.length=f.area=0),u.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var u,o=s(t),a=r.slice(),l=[];for(n(a,o.dx*o.dy/t.value),l.area=0;u=a.pop();)l.push(u),l.area+=u.area,null!=u.z&&(i(l,u.z?o.dx:o.dy,o,!a.length),l.length=l.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,i=0,u=1/0,o=-1,a=n.length;++oe&&(u=e),e>i&&(i=e));return r*=r,t*=t,r?Math.max(t*i*g/r,r/(t*u*g)):1/0}function i(n,t,e,r){var i,u=-1,o=n.length,a=e.x,c=e.y,f=t?l(n.area/t):0; -if(t==e.dx){for((r||f>e.dy)&&(f=e.dy);++ue.dx)&&(f=e.dx);++ue&&(t=1),1>e&&(n=0),function(){var e,r,i;do e=2*Math.random()-1,r=2*Math.random()-1,i=e*e+r*r;while(!i||i>1);return n+t*e*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var n=ao.random.normal.apply(ao,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=ao.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},ao.scale={};var Sl={floor:m,ceil:m};ao.scale.linear=function(){return Wi([0,1],[0,1],Mr,!1)};var kl={s:1,g:1,p:1,r:1,e:1};ao.scale.log=function(){return ru(ao.scale.linear().domain([0,1]),10,!0,[1,10])};var Nl=ao.format(".0e"),El={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};ao.scale.pow=function(){return iu(ao.scale.linear(),1,[0,1])},ao.scale.sqrt=function(){return ao.scale.pow().exponent(.5)},ao.scale.ordinal=function(){return ou([],{t:"range",a:[[]]})},ao.scale.category10=function(){return ao.scale.ordinal().range(Al)},ao.scale.category20=function(){return ao.scale.ordinal().range(Cl)},ao.scale.category20b=function(){return ao.scale.ordinal().range(zl)},ao.scale.category20c=function(){return ao.scale.ordinal().range(Ll)};var Al=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(xn),Cl=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(xn),zl=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(xn),Ll=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(xn);ao.scale.quantile=function(){return au([],[])},ao.scale.quantize=function(){return lu(0,1,[0,1])},ao.scale.threshold=function(){return cu([.5],[0,1])},ao.scale.identity=function(){return fu([0,1])},ao.svg={},ao.svg.arc=function(){function n(){var n=Math.max(0,+e.apply(this,arguments)),c=Math.max(0,+r.apply(this,arguments)),f=o.apply(this,arguments)-Io,s=a.apply(this,arguments)-Io,h=Math.abs(s-f),p=f>s?0:1;if(n>c&&(g=c,c=n,n=g),h>=Oo)return t(c,p)+(n?t(n,1-p):"")+"Z";var g,v,d,y,m,M,x,b,_,w,S,k,N=0,E=0,A=[];if((y=(+l.apply(this,arguments)||0)/2)&&(d=u===ql?Math.sqrt(n*n+c*c):+u.apply(this,arguments),p||(E*=-1),c&&(E=tn(d/c*Math.sin(y))),n&&(N=tn(d/n*Math.sin(y)))),c){m=c*Math.cos(f+E),M=c*Math.sin(f+E),x=c*Math.cos(s-E),b=c*Math.sin(s-E);var C=Math.abs(s-f-2*E)<=Fo?0:1;if(E&&yu(m,M,x,b)===p^C){var z=(f+s)/2;m=c*Math.cos(z),M=c*Math.sin(z),x=b=null}}else m=M=0;if(n){_=n*Math.cos(s-N),w=n*Math.sin(s-N),S=n*Math.cos(f+N),k=n*Math.sin(f+N);var L=Math.abs(f-s+2*N)<=Fo?0:1;if(N&&yu(_,w,S,k)===1-p^L){var q=(f+s)/2;_=n*Math.cos(q),w=n*Math.sin(q),S=k=null}}else _=w=0;if(h>Uo&&(g=Math.min(Math.abs(c-n)/2,+i.apply(this,arguments)))>.001){v=c>n^p?0:1;var T=g,R=g;if(Fo>h){var D=null==S?[_,w]:null==x?[m,M]:Re([m,M],[S,k],[x,b],[_,w]),P=m-D[0],U=M-D[1],j=x-D[0],F=b-D[1],H=1/Math.sin(Math.acos((P*j+U*F)/(Math.sqrt(P*P+U*U)*Math.sqrt(j*j+F*F)))/2),O=Math.sqrt(D[0]*D[0]+D[1]*D[1]);R=Math.min(g,(n-O)/(H-1)),T=Math.min(g,(c-O)/(H+1))}if(null!=x){var I=mu(null==S?[_,w]:[S,k],[m,M],c,T,p),Y=mu([x,b],[_,w],c,T,p);g===T?A.push("M",I[0],"A",T,",",T," 0 0,",v," ",I[1],"A",c,",",c," 0 ",1-p^yu(I[1][0],I[1][1],Y[1][0],Y[1][1]),",",p," ",Y[1],"A",T,",",T," 0 0,",v," ",Y[0]):A.push("M",I[0],"A",T,",",T," 0 1,",v," ",Y[0])}else A.push("M",m,",",M);if(null!=S){var Z=mu([m,M],[S,k],n,-R,p),V=mu([_,w],null==x?[m,M]:[x,b],n,-R,p);g===R?A.push("L",V[0],"A",R,",",R," 0 0,",v," ",V[1],"A",n,",",n," 0 ",p^yu(V[1][0],V[1][1],Z[1][0],Z[1][1]),",",1-p," ",Z[1],"A",R,",",R," 0 0,",v," ",Z[0]):A.push("L",V[0],"A",R,",",R," 0 0,",v," ",Z[0])}else A.push("L",_,",",w)}else A.push("M",m,",",M),null!=x&&A.push("A",c,",",c," 0 ",C,",",p," ",x,",",b),A.push("L",_,",",w),null!=S&&A.push("A",n,",",n," 0 ",L,",",1-p," ",S,",",k);return A.push("Z"),A.join("")}function t(n,t){return"M0,"+n+"A"+n+","+n+" 0 1,"+t+" 0,"+-n+"A"+n+","+n+" 0 1,"+t+" 0,"+n}var e=hu,r=pu,i=su,u=ql,o=gu,a=vu,l=du;return n.innerRadius=function(t){return arguments.length?(e=En(t),n):e},n.outerRadius=function(t){return arguments.length?(r=En(t),n):r},n.cornerRadius=function(t){return arguments.length?(i=En(t),n):i},n.padRadius=function(t){return arguments.length?(u=t==ql?ql:En(t),n):u},n.startAngle=function(t){return arguments.length?(o=En(t),n):o},n.endAngle=function(t){return arguments.length?(a=En(t),n):a},n.padAngle=function(t){return arguments.length?(l=En(t),n):l},n.centroid=function(){var n=(+e.apply(this,arguments)+ +r.apply(this,arguments))/2,t=(+o.apply(this,arguments)+ +a.apply(this,arguments))/2-Io;return[Math.cos(t)*n,Math.sin(t)*n]},n};var ql="auto";ao.svg.line=function(){return Mu(m)};var Tl=ao.map({linear:xu,"linear-closed":bu,step:_u,"step-before":wu,"step-after":Su,basis:zu,"basis-open":Lu,"basis-closed":qu,bundle:Tu,cardinal:Eu,"cardinal-open":ku,"cardinal-closed":Nu,monotone:Fu});Tl.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var Rl=[0,2/3,1/3,0],Dl=[0,1/3,2/3,0],Pl=[0,1/6,2/3,1/6];ao.svg.line.radial=function(){var n=Mu(Hu);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},wu.reverse=Su,Su.reverse=wu,ao.svg.area=function(){return Ou(m)},ao.svg.area.radial=function(){var n=Ou(Hu);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},ao.svg.chord=function(){function n(n,a){var l=t(this,u,n,a),c=t(this,o,n,a);return"M"+l.p0+r(l.r,l.p1,l.a1-l.a0)+(e(l,c)?i(l.r,l.p1,l.r,l.p0):i(l.r,l.p1,c.r,c.p0)+r(c.r,c.p1,c.a1-c.a0)+i(c.r,c.p1,l.r,l.p0))+"Z"}function t(n,t,e,r){var i=t.call(n,e,r),u=a.call(n,i,r),o=l.call(n,i,r)-Io,f=c.call(n,i,r)-Io;return{r:u,a0:o,a1:f,p0:[u*Math.cos(o),u*Math.sin(o)],p1:[u*Math.cos(f),u*Math.sin(f)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>Fo)+",1 "+t}function i(n,t,e,r){return"Q 0,0 "+r}var u=Me,o=xe,a=Iu,l=gu,c=vu;return n.radius=function(t){return arguments.length?(a=En(t),n):a},n.source=function(t){return arguments.length?(u=En(t),n):u},n.target=function(t){return arguments.length?(o=En(t),n):o},n.startAngle=function(t){return arguments.length?(l=En(t),n):l},n.endAngle=function(t){return arguments.length?(c=En(t),n):c},n},ao.svg.diagonal=function(){function n(n,i){var u=t.call(this,n,i),o=e.call(this,n,i),a=(u.y+o.y)/2,l=[u,{x:u.x,y:a},{x:o.x,y:a},o];return l=l.map(r),"M"+l[0]+"C"+l[1]+" "+l[2]+" "+l[3]}var t=Me,e=xe,r=Yu;return n.source=function(e){return arguments.length?(t=En(e),n):t},n.target=function(t){return arguments.length?(e=En(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},ao.svg.diagonal.radial=function(){var n=ao.svg.diagonal(),t=Yu,e=n.projection;return n.projection=function(n){return arguments.length?e(Zu(t=n)):t},n},ao.svg.symbol=function(){function n(n,r){return(Ul.get(t.call(this,n,r))||$u)(e.call(this,n,r))}var t=Xu,e=Vu;return n.type=function(e){return arguments.length?(t=En(e),n):t},n.size=function(t){return arguments.length?(e=En(t),n):e},n};var Ul=ao.map({circle:$u,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Fl)),e=t*Fl;return"M0,"+-t+"L"+e+",0 0,"+t+" "+-e+",0Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/jl),e=t*jl/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/jl),e=t*jl/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});ao.svg.symbolTypes=Ul.keys();var jl=Math.sqrt(3),Fl=Math.tan(30*Yo);Co.transition=function(n){for(var t,e,r=Hl||++Zl,i=Ku(n),u=[],o=Ol||{time:Date.now(),ease:Nr,delay:0,duration:250},a=-1,l=this.length;++au;u++){i.push(t=[]);for(var e=this[u],a=0,l=e.length;l>a;a++)(r=e[a])&&n.call(r,r.__data__,a,u)&&t.push(r)}return Wu(i,this.namespace,this.id)},Yl.tween=function(n,t){var e=this.id,r=this.namespace;return arguments.length<2?this.node()[r][e].tween.get(n):Y(this,null==t?function(t){t[r][e].tween.remove(n)}:function(i){i[r][e].tween.set(n,t)})},Yl.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function i(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function u(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n))})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?$r:Mr,a=ao.ns.qualify(n);return Ju(this,"attr."+n,t,a.local?u:i)},Yl.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(i));return r&&function(n){this.setAttribute(i,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(i.space,i.local));return r&&function(n){this.setAttributeNS(i.space,i.local,r(n))}}var i=ao.ns.qualify(n);return this.tween("attr."+n,i.local?r:e)},Yl.style=function(n,e,r){function i(){this.style.removeProperty(n)}function u(e){return null==e?i:(e+="",function(){var i,u=t(this).getComputedStyle(this,null).getPropertyValue(n);return u!==e&&(i=Mr(u,e),function(t){this.style.setProperty(n,i(t),r)})})}var o=arguments.length;if(3>o){if("string"!=typeof n){2>o&&(e="");for(r in n)this.style(r,n[r],e);return this}r=""}return Ju(this,"style."+n,e,u)},Yl.styleTween=function(n,e,r){function i(i,u){var o=e.call(this,i,u,t(this).getComputedStyle(this,null).getPropertyValue(n));return o&&function(t){this.style.setProperty(n,o(t),r)}}return arguments.length<3&&(r=""),this.tween("style."+n,i)},Yl.text=function(n){return Ju(this,"text",n,Gu)},Yl.remove=function(){var n=this.namespace;return this.each("end.transition",function(){var t;this[n].count<2&&(t=this.parentNode)&&t.removeChild(this)})},Yl.ease=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].ease:("function"!=typeof n&&(n=ao.ease.apply(ao,arguments)),Y(this,function(r){r[e][t].ease=n}))},Yl.delay=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].delay:Y(this,"function"==typeof n?function(r,i,u){r[e][t].delay=+n.call(r,r.__data__,i,u)}:(n=+n,function(r){r[e][t].delay=n}))},Yl.duration=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].duration:Y(this,"function"==typeof n?function(r,i,u){r[e][t].duration=Math.max(1,n.call(r,r.__data__,i,u))}:(n=Math.max(1,n),function(r){r[e][t].duration=n}))},Yl.each=function(n,t){var e=this.id,r=this.namespace;if(arguments.length<2){var i=Ol,u=Hl;try{Hl=e,Y(this,function(t,i,u){Ol=t[r][e],n.call(t,t.__data__,i,u)})}finally{Ol=i,Hl=u}}else Y(this,function(i){var u=i[r][e];(u.event||(u.event=ao.dispatch("start","end","interrupt"))).on(n,t)});return this},Yl.transition=function(){for(var n,t,e,r,i=this.id,u=++Zl,o=this.namespace,a=[],l=0,c=this.length;c>l;l++){a.push(n=[]);for(var t=this[l],f=0,s=t.length;s>f;f++)(e=t[f])&&(r=e[o][i],Qu(e,f,o,u,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),n.push(e)}return Wu(a,o,u)},ao.svg.axis=function(){function n(n){n.each(function(){var n,c=ao.select(this),f=this.__chart__||e,s=this.__chart__=e.copy(),h=null==l?s.ticks?s.ticks.apply(s,a):s.domain():l,p=null==t?s.tickFormat?s.tickFormat.apply(s,a):m:t,g=c.selectAll(".tick").data(h,s),v=g.enter().insert("g",".domain").attr("class","tick").style("opacity",Uo),d=ao.transition(g.exit()).style("opacity",Uo).remove(),y=ao.transition(g.order()).style("opacity",1),M=Math.max(i,0)+o,x=Zi(s),b=c.selectAll(".domain").data([0]),_=(b.enter().append("path").attr("class","domain"),ao.transition(b));v.append("line"),v.append("text");var w,S,k,N,E=v.select("line"),A=y.select("line"),C=g.select("text").text(p),z=v.select("text"),L=y.select("text"),q="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(n=no,w="x",k="y",S="x2",N="y2",C.attr("dy",0>q?"0em":".71em").style("text-anchor","middle"),_.attr("d","M"+x[0]+","+q*u+"V0H"+x[1]+"V"+q*u)):(n=to,w="y",k="x",S="y2",N="x2",C.attr("dy",".32em").style("text-anchor",0>q?"end":"start"),_.attr("d","M"+q*u+","+x[0]+"H0V"+x[1]+"H"+q*u)),E.attr(N,q*i),z.attr(k,q*M),A.attr(S,0).attr(N,q*i),L.attr(w,0).attr(k,q*M),s.rangeBand){var T=s,R=T.rangeBand()/2;f=s=function(n){return T(n)+R}}else f.rangeBand?f=s:d.call(n,s,f);v.call(n,f,s),y.call(n,s,s)})}var t,e=ao.scale.linear(),r=Vl,i=6,u=6,o=3,a=[10],l=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Xl?t+"":Vl,n):r},n.ticks=function(){return arguments.length?(a=co(arguments),n):a},n.tickValues=function(t){return arguments.length?(l=t,n):l},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(i=+t,u=+arguments[e-1],n):i},n.innerTickSize=function(t){return arguments.length?(i=+t,n):i},n.outerTickSize=function(t){return arguments.length?(u=+t,n):u},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var Vl="bottom",Xl={top:1,right:1,bottom:1,left:1};ao.svg.brush=function(){function n(t){t.each(function(){var t=ao.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",u).on("touchstart.brush",u),o=t.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),t.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=t.selectAll(".resize").data(v,m);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return $l[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var l,s=ao.transition(t),h=ao.transition(o);c&&(l=Zi(c),h.attr("x",l[0]).attr("width",l[1]-l[0]),r(s)),f&&(l=Zi(f),h.attr("y",l[0]).attr("height",l[1]-l[0]),i(s)),e(s)})}function e(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+s[+/e$/.test(n)]+","+h[+/^s/.test(n)]+")"})}function r(n){n.select(".extent").attr("x",s[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",s[1]-s[0])}function i(n){n.select(".extent").attr("y",h[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function u(){function u(){32==ao.event.keyCode&&(C||(M=null,L[0]-=s[1],L[1]-=h[1],C=2),S())}function v(){32==ao.event.keyCode&&2==C&&(L[0]+=s[1],L[1]+=h[1],C=0,S())}function d(){var n=ao.mouse(b),t=!1;x&&(n[0]+=x[0],n[1]+=x[1]),C||(ao.event.altKey?(M||(M=[(s[0]+s[1])/2,(h[0]+h[1])/2]),L[0]=s[+(n[0]f?(i=r,r=f):i=f),v[0]!=r||v[1]!=i?(e?a=null:o=null,v[0]=r,v[1]=i,!0):void 0}function m(){d(),k.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),ao.select("body").style("cursor",null),q.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),z(),w({type:"brushend"})}var M,x,b=this,_=ao.select(ao.event.target),w=l.of(b,arguments),k=ao.select(b),N=_.datum(),E=!/^(n|s)$/.test(N)&&c,A=!/^(e|w)$/.test(N)&&f,C=_.classed("extent"),z=W(b),L=ao.mouse(b),q=ao.select(t(b)).on("keydown.brush",u).on("keyup.brush",v);if(ao.event.changedTouches?q.on("touchmove.brush",d).on("touchend.brush",m):q.on("mousemove.brush",d).on("mouseup.brush",m),k.interrupt().selectAll("*").interrupt(),C)L[0]=s[0]-L[0],L[1]=h[0]-L[1];else if(N){var T=+/w$/.test(N),R=+/^n/.test(N);x=[s[1-T]-L[0],h[1-R]-L[1]],L[0]=s[T],L[1]=h[R]}else ao.event.altKey&&(M=L.slice());k.style("pointer-events","none").selectAll(".resize").style("display",null),ao.select("body").style("cursor",_.style("cursor")),w({type:"brushstart"}),d()}var o,a,l=N(n,"brushstart","brush","brushend"),c=null,f=null,s=[0,0],h=[0,0],p=!0,g=!0,v=Bl[0];return n.event=function(n){n.each(function(){var n=l.of(this,arguments),t={x:s,y:h,i:o,j:a},e=this.__chart__||t;this.__chart__=t,Hl?ao.select(this).transition().each("start.brush",function(){o=e.i,a=e.j,s=e.x,h=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=xr(s,t.x),r=xr(h,t.y);return o=a=null,function(i){s=t.x=e(i),h=t.y=r(i),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){o=t.i,a=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(c=t,v=Bl[!c<<1|!f],n):c},n.y=function(t){return arguments.length?(f=t,v=Bl[!c<<1|!f],n):f},n.clamp=function(t){return arguments.length?(c&&f?(p=!!t[0],g=!!t[1]):c?p=!!t:f&&(g=!!t),n):c&&f?[p,g]:c?p:f?g:null},n.extent=function(t){var e,r,i,u,l;return arguments.length?(c&&(e=t[0],r=t[1],f&&(e=e[0],r=r[0]),o=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(l=e,e=r,r=l),e==s[0]&&r==s[1]||(s=[e,r])),f&&(i=t[0],u=t[1],c&&(i=i[1],u=u[1]),a=[i,u],f.invert&&(i=f(i),u=f(u)),i>u&&(l=i,i=u,u=l),i==h[0]&&u==h[1]||(h=[i,u])),n):(c&&(o?(e=o[0],r=o[1]):(e=s[0],r=s[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(l=e,e=r,r=l))),f&&(a?(i=a[0],u=a[1]):(i=h[0],u=h[1],f.invert&&(i=f.invert(i),u=f.invert(u)),i>u&&(l=i,i=u,u=l))),c&&f?[[e,i],[r,u]]:c?[e,r]:f&&[i,u])},n.clear=function(){return n.empty()||(s=[0,0],h=[0,0],o=a=null),n},n.empty=function(){return!!c&&s[0]==s[1]||!!f&&h[0]==h[1]},ao.rebind(n,l,"on")};var $l={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Bl=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Wl=ga.format=xa.timeFormat,Jl=Wl.utc,Gl=Jl("%Y-%m-%dT%H:%M:%S.%LZ");Wl.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?eo:Gl,eo.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},eo.toString=Gl.toString,ga.second=On(function(n){return new va(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),ga.seconds=ga.second.range,ga.seconds.utc=ga.second.utc.range,ga.minute=On(function(n){return new va(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),ga.minutes=ga.minute.range,ga.minutes.utc=ga.minute.utc.range,ga.hour=On(function(n){var t=n.getTimezoneOffset()/60;return new va(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),ga.hours=ga.hour.range,ga.hours.utc=ga.hour.utc.range,ga.month=On(function(n){return n=ga.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),ga.months=ga.month.range,ga.months.utc=ga.month.utc.range;var Kl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Ql=[[ga.second,1],[ga.second,5],[ga.second,15],[ga.second,30],[ga.minute,1],[ga.minute,5],[ga.minute,15],[ga.minute,30],[ga.hour,1],[ga.hour,3],[ga.hour,6],[ga.hour,12],[ga.day,1],[ga.day,2],[ga.week,1],[ga.month,1],[ga.month,3],[ga.year,1]],nc=Wl.multi([[".%L",function(n){return n.getMilliseconds()}],[":%S",function(n){return n.getSeconds()}],["%I:%M",function(n){return n.getMinutes()}],["%I %p",function(n){return n.getHours()}],["%a %d",function(n){return n.getDay()&&1!=n.getDate()}],["%b %d",function(n){return 1!=n.getDate()}],["%B",function(n){return n.getMonth()}],["%Y",zt]]),tc={range:function(n,t,e){return ao.range(Math.ceil(n/e)*e,+t,e).map(io)},floor:m,ceil:m};Ql.year=ga.year,ga.scale=function(){return ro(ao.scale.linear(),Ql,nc)};var ec=Ql.map(function(n){return[n[0].utc,n[1]]}),rc=Jl.multi([[".%L",function(n){return n.getUTCMilliseconds()}],[":%S",function(n){return n.getUTCSeconds()}],["%I:%M",function(n){return n.getUTCMinutes()}],["%I %p",function(n){return n.getUTCHours()}],["%a %d",function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],["%b %d",function(n){return 1!=n.getUTCDate()}],["%B",function(n){return n.getUTCMonth()}],["%Y",zt]]);ec.year=ga.year.utc,ga.scale.utc=function(){return ro(ao.scale.linear(),ec,rc)},ao.text=An(function(n){return n.responseText}),ao.json=function(n,t){return Cn(n,"application/json",uo,t)},ao.html=function(n,t){return Cn(n,"text/html",oo,t)},ao.xml=An(function(n){return n.responseXML}),"function"==typeof define&&define.amd?(this.d3=ao,define(ao)):"object"==typeof module&&module.exports?module.exports=ao:this.d3=ao}(); \ No newline at end of file diff --git a/src/Report/Html/Renderer/Template/js/nv.d3.min.js b/src/Report/Html/Renderer/Template/js/nv.d3.min.js deleted file mode 100644 index 801e721d3..000000000 --- a/src/Report/Html/Renderer/Template/js/nv.d3.min.js +++ /dev/null @@ -1,8 +0,0 @@ -/* nvd3 version 1.8.1 (https://github.com/novus/nvd3) 2015-06-15 */ -!function(){var a={};a.dev=!1,a.tooltip=a.tooltip||{},a.utils=a.utils||{},a.models=a.models||{},a.charts={},a.logs={},a.dom={},a.dispatch=d3.dispatch("render_start","render_end"),Function.prototype.bind||(Function.prototype.bind=function(a){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var b=Array.prototype.slice.call(arguments,1),c=this,d=function(){},e=function(){return c.apply(this instanceof d&&a?this:a,b.concat(Array.prototype.slice.call(arguments)))};return d.prototype=this.prototype,e.prototype=new d,e}),a.dev&&(a.dispatch.on("render_start",function(){a.logs.startTime=+new Date}),a.dispatch.on("render_end",function(){a.logs.endTime=+new Date,a.logs.totalTime=a.logs.endTime-a.logs.startTime,a.log("total",a.logs.totalTime)})),a.log=function(){if(a.dev&&window.console&&console.log&&console.log.apply)console.log.apply(console,arguments);else if(a.dev&&window.console&&"function"==typeof console.log&&Function.prototype.bind){var b=Function.prototype.bind.call(console.log,console);b.apply(console,arguments)}return arguments[arguments.length-1]},a.deprecated=function(a,b){console&&console.warn&&console.warn("nvd3 warning: `"+a+"` has been deprecated. ",b||"")},a.render=function(b){b=b||1,a.render.active=!0,a.dispatch.render_start();var c=function(){for(var d,e,f=0;b>f&&(e=a.render.queue[f]);f++)d=e.generate(),typeof e.callback==typeof Function&&e.callback(d);a.render.queue.splice(0,f),a.render.queue.length?setTimeout(c):(a.dispatch.render_end(),a.render.active=!1)};setTimeout(c)},a.render.active=!1,a.render.queue=[],a.addGraph=function(b){typeof arguments[0]==typeof Function&&(b={generate:arguments[0],callback:arguments[1]}),a.render.queue.push(b),a.render.active||a.render()},"undefined"!=typeof module&&"undefined"!=typeof exports&&(module.exports=a),"undefined"!=typeof window&&(window.nv=a),a.dom.write=function(a){return void 0!==window.fastdom?fastdom.write(a):a()},a.dom.read=function(a){return void 0!==window.fastdom?fastdom.read(a):a()},a.interactiveGuideline=function(){"use strict";function b(l){l.each(function(l){function m(){var a=d3.mouse(this),d=a[0],e=a[1],i=!0,j=!1;if(k&&(d=d3.event.offsetX,e=d3.event.offsetY,"svg"!==d3.event.target.tagName&&(i=!1),d3.event.target.className.baseVal.match("nv-legend")&&(j=!0)),i&&(d-=f.left,e-=f.top),0>d||0>e||d>o||e>p||d3.event.relatedTarget&&void 0===d3.event.relatedTarget.ownerSVGElement||j){if(k&&d3.event.relatedTarget&&void 0===d3.event.relatedTarget.ownerSVGElement&&(void 0===d3.event.relatedTarget.className||d3.event.relatedTarget.className.match(c.nvPointerEventsClass)))return;return h.elementMouseout({mouseX:d,mouseY:e}),b.renderGuideLine(null),void c.hidden(!0)}c.hidden(!1);var l=g.invert(d);h.elementMousemove({mouseX:d,mouseY:e,pointXValue:l}),"dblclick"===d3.event.type&&h.elementDblclick({mouseX:d,mouseY:e,pointXValue:l}),"click"===d3.event.type&&h.elementClick({mouseX:d,mouseY:e,pointXValue:l})}var n=d3.select(this),o=d||960,p=e||400,q=n.selectAll("g.nv-wrap.nv-interactiveLineLayer").data([l]),r=q.enter().append("g").attr("class"," nv-wrap nv-interactiveLineLayer");r.append("g").attr("class","nv-interactiveGuideLine"),j&&(j.on("touchmove",m).on("mousemove",m,!0).on("mouseout",m,!0).on("dblclick",m).on("click",m),b.guideLine=null,b.renderGuideLine=function(c){i&&(b.guideLine&&b.guideLine.attr("x1")===c||a.dom.write(function(){var b=q.select(".nv-interactiveGuideLine").selectAll("line").data(null!=c?[a.utils.NaNtoZero(c)]:[],String);b.enter().append("line").attr("class","nv-guideline").attr("x1",function(a){return a}).attr("x2",function(a){return a}).attr("y1",p).attr("y2",0),b.exit().remove()}))})})}var c=a.models.tooltip();c.duration(0).hideDelay(0)._isInteractiveLayer(!0).hidden(!1);var d=null,e=null,f={left:0,top:0},g=d3.scale.linear(),h=d3.dispatch("elementMousemove","elementMouseout","elementClick","elementDblclick"),i=!0,j=null,k="ActiveXObject"in window;return b.dispatch=h,b.tooltip=c,b.margin=function(a){return arguments.length?(f.top="undefined"!=typeof a.top?a.top:f.top,f.left="undefined"!=typeof a.left?a.left:f.left,b):f},b.width=function(a){return arguments.length?(d=a,b):d},b.height=function(a){return arguments.length?(e=a,b):e},b.xScale=function(a){return arguments.length?(g=a,b):g},b.showGuideLine=function(a){return arguments.length?(i=a,b):i},b.svgContainer=function(a){return arguments.length?(j=a,b):j},b},a.interactiveBisect=function(a,b,c){"use strict";if(!(a instanceof Array))return null;var d;d="function"!=typeof c?function(a){return a.x}:c;var e=function(a,b){return d(a)-b},f=d3.bisector(e).left,g=d3.max([0,f(a,b)-1]),h=d(a[g]);if("undefined"==typeof h&&(h=g),h===b)return g;var i=d3.min([g+1,a.length-1]),j=d(a[i]);return"undefined"==typeof j&&(j=i),Math.abs(j-b)>=Math.abs(h-b)?g:i},a.nearestValueIndex=function(a,b,c){"use strict";var d=1/0,e=null;return a.forEach(function(a,f){var g=Math.abs(b-a);null!=a&&d>=g&&c>g&&(d=g,e=f)}),e},function(){"use strict";a.models.tooltip=function(){function b(){if(k){var a=d3.select(k);"svg"!==a.node().tagName&&(a=a.select("svg"));var b=a.node()?a.attr("viewBox"):null;if(b){b=b.split(" ");var c=parseInt(a.style("width"),10)/b[2];p.left=p.left*c,p.top=p.top*c}}}function c(){if(!n){var a;a=k?k:document.body,n=d3.select(a).append("div").attr("class","nvtooltip "+(j?j:"xy-tooltip")).attr("id",v),n.style("top",0).style("left",0),n.style("opacity",0),n.selectAll("div, table, td, tr").classed(w,!0),n.classed(w,!0),o=n.node()}}function d(){if(r&&B(e)){b();var f=p.left,g=null!==i?i:p.top;return a.dom.write(function(){c();var b=A(e);b&&(o.innerHTML=b),k&&u?a.dom.read(function(){var a=k.getElementsByTagName("svg")[0],b={left:0,top:0};if(a){var c=a.getBoundingClientRect(),d=k.getBoundingClientRect(),e=c.top;if(0>e){var i=k.getBoundingClientRect();e=Math.abs(e)>i.height?0:e}b.top=Math.abs(e-d.top),b.left=Math.abs(c.left-d.left)}f+=k.offsetLeft+b.left-2*k.scrollLeft,g+=k.offsetTop+b.top-2*k.scrollTop,h&&h>0&&(g=Math.floor(g/h)*h),C([f,g])}):C([f,g])}),d}}var e=null,f="w",g=25,h=0,i=null,j=null,k=null,l=!0,m=400,n=null,o=null,p={left:null,top:null},q={left:0,top:0},r=!0,s=100,t=!0,u=!1,v="nvtooltip-"+Math.floor(1e5*Math.random()),w="nv-pointer-events-none",x=function(a){return a},y=function(a){return a},z=function(a){return a},A=function(a){if(null===a)return"";var b=d3.select(document.createElement("table"));if(t){var c=b.selectAll("thead").data([a]).enter().append("thead");c.append("tr").append("td").attr("colspan",3).append("strong").classed("x-value",!0).html(y(a.value))}var d=b.selectAll("tbody").data([a]).enter().append("tbody"),e=d.selectAll("tr").data(function(a){return a.series}).enter().append("tr").classed("highlight",function(a){return a.highlight});e.append("td").classed("legend-color-guide",!0).append("div").style("background-color",function(a){return a.color}),e.append("td").classed("key",!0).html(function(a,b){return z(a.key,b)}),e.append("td").classed("value",!0).html(function(a,b){return x(a.value,b)}),e.selectAll("td").each(function(a){if(a.highlight){var b=d3.scale.linear().domain([0,1]).range(["#fff",a.color]),c=.6;d3.select(this).style("border-bottom-color",b(c)).style("border-top-color",b(c))}});var f=b.node().outerHTML;return void 0!==a.footer&&(f+=""),f},B=function(a){if(a&&a.series){if(a.series instanceof Array)return!!a.series.length;if(a.series instanceof Object)return a.series=[a.series],!0}return!1},C=function(b){o&&a.dom.read(function(){var c,d,e=parseInt(o.offsetHeight,10),h=parseInt(o.offsetWidth,10),i=a.utils.windowSize().width,j=a.utils.windowSize().height,k=window.pageYOffset,p=window.pageXOffset;j=window.innerWidth>=document.body.scrollWidth?j:j-16,i=window.innerHeight>=document.body.scrollHeight?i:i-16;var r,t,u=function(a){var b=d;do isNaN(a.offsetTop)||(b+=a.offsetTop),a=a.offsetParent;while(a);return b},v=function(a){var b=c;do isNaN(a.offsetLeft)||(b+=a.offsetLeft),a=a.offsetParent;while(a);return b};switch(f){case"e":c=b[0]-h-g,d=b[1]-e/2,r=v(o),t=u(o),p>r&&(c=b[0]+g>p?b[0]+g:p-r+c),k>t&&(d=k-t+d),t+e>k+j&&(d=k+j-t+d-e);break;case"w":c=b[0]+g,d=b[1]-e/2,r=v(o),t=u(o),r+h>i&&(c=b[0]-h-g),k>t&&(d=k+5),t+e>k+j&&(d=k+j-t+d-e);break;case"n":c=b[0]-h/2-5,d=b[1]+g,r=v(o),t=u(o),p>r&&(c=p+5),r+h>i&&(c=c-h/2+5),t+e>k+j&&(d=k+j-t+d-e);break;case"s":c=b[0]-h/2,d=b[1]-e-g,r=v(o),t=u(o),p>r&&(c=p+5),r+h>i&&(c=c-h/2+5),k>t&&(d=k);break;case"none":c=b[0],d=b[1]-g,r=v(o),t=u(o)}c-=q.left,d-=q.top;var w=o.getBoundingClientRect(),k=window.pageYOffset||document.documentElement.scrollTop,p=window.pageXOffset||document.documentElement.scrollLeft,x="translate("+(w.left+p)+"px, "+(w.top+k)+"px)",y="translate("+c+"px, "+d+"px)",z=d3.interpolateString(x,y),A=n.style("opacity")<.1;l?n.transition().delay(m).duration(0).style("opacity",0):n.interrupt().transition().duration(A?0:s).styleTween("transform",function(){return z},"important").style("-webkit-transform",y).style("opacity",1)})};return d.nvPointerEventsClass=w,d.options=a.utils.optionsFunc.bind(d),d._options=Object.create({},{duration:{get:function(){return s},set:function(a){s=a}},gravity:{get:function(){return f},set:function(a){f=a}},distance:{get:function(){return g},set:function(a){g=a}},snapDistance:{get:function(){return h},set:function(a){h=a}},classes:{get:function(){return j},set:function(a){j=a}},chartContainer:{get:function(){return k},set:function(a){k=a}},fixedTop:{get:function(){return i},set:function(a){i=a}},enabled:{get:function(){return r},set:function(a){r=a}},hideDelay:{get:function(){return m},set:function(a){m=a}},contentGenerator:{get:function(){return A},set:function(a){A=a}},valueFormatter:{get:function(){return x},set:function(a){x=a}},headerFormatter:{get:function(){return y},set:function(a){y=a}},keyFormatter:{get:function(){return z},set:function(a){z=a}},headerEnabled:{get:function(){return t},set:function(a){t=a}},_isInteractiveLayer:{get:function(){return u},set:function(a){u=!!a}},position:{get:function(){return p},set:function(a){p.left=void 0!==a.left?a.left:p.left,p.top=void 0!==a.top?a.top:p.top}},offset:{get:function(){return q},set:function(a){q.left=void 0!==a.left?a.left:q.left,q.top=void 0!==a.top?a.top:q.top}},hidden:{get:function(){return l},set:function(a){l!=a&&(l=!!a,d())}},data:{get:function(){return e},set:function(a){a.point&&(a.value=a.point.x,a.series=a.series||{},a.series.value=a.point.y,a.series.color=a.point.color||a.series.color),e=a}},tooltipElem:{get:function(){return o},set:function(){}},id:{get:function(){return v},set:function(){}}}),a.utils.initOptions(d),d}}(),a.utils.windowSize=function(){var a={width:640,height:480};return window.innerWidth&&window.innerHeight?(a.width=window.innerWidth,a.height=window.innerHeight,a):"CSS1Compat"==document.compatMode&&document.documentElement&&document.documentElement.offsetWidth?(a.width=document.documentElement.offsetWidth,a.height=document.documentElement.offsetHeight,a):document.body&&document.body.offsetWidth?(a.width=document.body.offsetWidth,a.height=document.body.offsetHeight,a):a},a.utils.windowResize=function(b){return window.addEventListener?window.addEventListener("resize",b):a.log("ERROR: Failed to bind to window.resize with: ",b),{callback:b,clear:function(){window.removeEventListener("resize",b)}}},a.utils.getColor=function(b){if(void 0===b)return a.utils.defaultColor();if(Array.isArray(b)){var c=d3.scale.ordinal().range(b);return function(a,b){var d=void 0===b?a:b;return a.color||c(d)}}return b},a.utils.defaultColor=function(){return a.utils.getColor(d3.scale.category20().range())},a.utils.customTheme=function(a,b,c){b=b||function(a){return a.key},c=c||d3.scale.category20().range();var d=c.length;return function(e){var f=b(e);return"function"==typeof a[f]?a[f]():void 0!==a[f]?a[f]:(d||(d=c.length),d-=1,c[d])}},a.utils.pjax=function(b,c){var d=function(d){d3.html(d,function(d){var e=d3.select(c).node();e.parentNode.replaceChild(d3.select(d).select(c).node(),e),a.utils.pjax(b,c)})};d3.selectAll(b).on("click",function(){history.pushState(this.href,this.textContent,this.href),d(this.href),d3.event.preventDefault()}),d3.select(window).on("popstate",function(){d3.event.state&&d(d3.event.state)})},a.utils.calcApproxTextWidth=function(a){if("function"==typeof a.style&&"function"==typeof a.text){var b=parseInt(a.style("font-size").replace("px",""),10),c=a.text().length;return c*b*.5}return 0},a.utils.NaNtoZero=function(a){return"number"!=typeof a||isNaN(a)||null===a||1/0===a||a===-1/0?0:a},d3.selection.prototype.watchTransition=function(a){var b=[this].concat([].slice.call(arguments,1));return a.transition.apply(a,b)},a.utils.renderWatch=function(b,c){if(!(this instanceof a.utils.renderWatch))return new a.utils.renderWatch(b,c);var d=void 0!==c?c:250,e=[],f=this;this.models=function(a){return a=[].slice.call(arguments,0),a.forEach(function(a){a.__rendered=!1,function(a){a.dispatch.on("renderEnd",function(){a.__rendered=!0,f.renderEnd("model")})}(a),e.indexOf(a)<0&&e.push(a)}),this},this.reset=function(a){void 0!==a&&(d=a),e=[]},this.transition=function(a,b,c){if(b=arguments.length>1?[].slice.call(arguments,1):[],c=b.length>1?b.pop():void 0!==d?d:250,a.__rendered=!1,e.indexOf(a)<0&&e.push(a),0===c)return a.__rendered=!0,a.delay=function(){return this},a.duration=function(){return this},a;a.__rendered=0===a.length?!0:a.every(function(a){return!a.length})?!0:!1;var g=0;return a.transition().duration(c).each(function(){++g}).each("end",function(){0===--g&&(a.__rendered=!0,f.renderEnd.apply(this,b))})},this.renderEnd=function(){e.every(function(a){return a.__rendered})&&(e.forEach(function(a){a.__rendered=!1}),b.renderEnd.apply(this,arguments))}},a.utils.deepExtend=function(b){var c=arguments.length>1?[].slice.call(arguments,1):[];c.forEach(function(c){for(var d in c){var e=b[d]instanceof Array,f="object"==typeof b[d],g="object"==typeof c[d];f&&!e&&g?a.utils.deepExtend(b[d],c[d]):b[d]=c[d]}})},a.utils.state=function(){if(!(this instanceof a.utils.state))return new a.utils.state;var b={},c=function(){},d=function(){return{}},e=null,f=null;this.dispatch=d3.dispatch("change","set"),this.dispatch.on("set",function(a){c(a,!0)}),this.getter=function(a){return d=a,this},this.setter=function(a,b){return b||(b=function(){}),c=function(c,d){a(c),d&&b()},this},this.init=function(b){e=e||{},a.utils.deepExtend(e,b)};var g=function(){var a=d();if(JSON.stringify(a)===JSON.stringify(b))return!1;for(var c in a)void 0===b[c]&&(b[c]={}),b[c]=a[c],f=!0;return!0};this.update=function(){e&&(c(e,!1),e=null),g.call(this)&&this.dispatch.change(b)}},a.utils.optionsFunc=function(a){return a&&d3.map(a).forEach(function(a,b){"function"==typeof this[a]&&this[a](b)}.bind(this)),this},a.utils.calcTicksX=function(b,c){var d=1,e=0;for(e;ed?f:d}return a.log("Requested number of ticks: ",b),a.log("Calculated max values to be: ",d),b=b>d?b=d-1:b,b=1>b?1:b,b=Math.floor(b),a.log("Calculating tick count as: ",b),b},a.utils.calcTicksY=function(b,c){return a.utils.calcTicksX(b,c)},a.utils.initOption=function(a,b){a._calls&&a._calls[b]?a[b]=a._calls[b]:(a[b]=function(c){return arguments.length?(a._overrides[b]=!0,a._options[b]=c,a):a._options[b]},a["_"+b]=function(c){return arguments.length?(a._overrides[b]||(a._options[b]=c),a):a._options[b]})},a.utils.initOptions=function(b){b._overrides=b._overrides||{};var c=Object.getOwnPropertyNames(b._options||{}),d=Object.getOwnPropertyNames(b._calls||{});c=c.concat(d);for(var e in c)a.utils.initOption(b,c[e])},a.utils.inheritOptionsD3=function(a,b,c){a._d3options=c.concat(a._d3options||[]),c.unshift(b),c.unshift(a),d3.rebind.apply(this,c)},a.utils.arrayUnique=function(a){return a.sort().filter(function(b,c){return!c||b!=a[c-1]})},a.utils.symbolMap=d3.map(),a.utils.symbol=function(){function b(b,e){var f=c.call(this,b,e),g=d.call(this,b,e);return-1!==d3.svg.symbolTypes.indexOf(f)?d3.svg.symbol().type(f).size(g)():a.utils.symbolMap.get(f)(g)}var c,d=64;return b.type=function(a){return arguments.length?(c=d3.functor(a),b):c},b.size=function(a){return arguments.length?(d=d3.functor(a),b):d},b},a.utils.inheritOptions=function(b,c){var d=Object.getOwnPropertyNames(c._options||{}),e=Object.getOwnPropertyNames(c._calls||{}),f=c._inherited||[],g=c._d3options||[],h=d.concat(e).concat(f).concat(g);h.unshift(c),h.unshift(b),d3.rebind.apply(this,h),b._inherited=a.utils.arrayUnique(d.concat(e).concat(f).concat(d).concat(b._inherited||[])),b._d3options=a.utils.arrayUnique(g.concat(b._d3options||[]))},a.utils.initSVG=function(a){a.classed({"nvd3-svg":!0})},a.utils.sanitizeHeight=function(a,b){return a||parseInt(b.style("height"),10)||400},a.utils.sanitizeWidth=function(a,b){return a||parseInt(b.style("width"),10)||960},a.utils.availableHeight=function(b,c,d){return a.utils.sanitizeHeight(b,c)-d.top-d.bottom},a.utils.availableWidth=function(b,c,d){return a.utils.sanitizeWidth(b,c)-d.left-d.right},a.utils.noData=function(b,c){var d=b.options(),e=d.margin(),f=d.noData(),g=null==f?["No Data Available."]:[f],h=a.utils.availableHeight(d.height(),c,e),i=a.utils.availableWidth(d.width(),c,e),j=e.left+i/2,k=e.top+h/2;c.selectAll("g").remove();var l=c.selectAll(".nv-noData").data(g);l.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),l.attr("x",j).attr("y",k).text(function(a){return a})},a.models.axis=function(){"use strict";function b(g){return s.reset(),g.each(function(b){var g=d3.select(this);a.utils.initSVG(g);var p=g.selectAll("g.nv-wrap.nv-axis").data([b]),q=p.enter().append("g").attr("class","nvd3 nv-wrap nv-axis"),t=(q.append("g"),p.select("g"));null!==n?c.ticks(n):("top"==c.orient()||"bottom"==c.orient())&&c.ticks(Math.abs(d.range()[1]-d.range()[0])/100),t.watchTransition(s,"axis").call(c),r=r||c.scale();var u=c.tickFormat();null==u&&(u=r.tickFormat());var v=t.selectAll("text.nv-axislabel").data([h||null]);v.exit().remove();var w,x,y;switch(c.orient()){case"top":v.enter().append("text").attr("class","nv-axislabel"),y=d.range().length<2?0:2===d.range().length?d.range()[1]:d.range()[d.range().length-1]+(d.range()[1]-d.range()[0]),v.attr("text-anchor","middle").attr("y",0).attr("x",y/2),i&&(x=p.selectAll("g.nv-axisMaxMin").data(d.domain()),x.enter().append("g").attr("class",function(a,b){return["nv-axisMaxMin","nv-axisMaxMin-x",0==b?"nv-axisMin-x":"nv-axisMax-x"].join(" ")}).append("text"),x.exit().remove(),x.attr("transform",function(b){return"translate("+a.utils.NaNtoZero(d(b))+",0)"}).select("text").attr("dy","-0.5em").attr("y",-c.tickPadding()).attr("text-anchor","middle").text(function(a){var b=u(a);return(""+b).match("NaN")?"":b}),x.watchTransition(s,"min-max top").attr("transform",function(b,c){return"translate("+a.utils.NaNtoZero(d.range()[c])+",0)"}));break;case"bottom":w=o+36;var z=30,A=0,B=t.selectAll("g").select("text"),C="";if(j%360){B.each(function(){var a=this.getBoundingClientRect(),b=a.width;A=a.height,b>z&&(z=b)}),C="rotate("+j+" 0,"+(A/2+c.tickPadding())+")";var D=Math.abs(Math.sin(j*Math.PI/180));w=(D?D*z:z)+30,B.attr("transform",C).style("text-anchor",j%360>0?"start":"end")}v.enter().append("text").attr("class","nv-axislabel"),y=d.range().length<2?0:2===d.range().length?d.range()[1]:d.range()[d.range().length-1]+(d.range()[1]-d.range()[0]),v.attr("text-anchor","middle").attr("y",w).attr("x",y/2),i&&(x=p.selectAll("g.nv-axisMaxMin").data([d.domain()[0],d.domain()[d.domain().length-1]]),x.enter().append("g").attr("class",function(a,b){return["nv-axisMaxMin","nv-axisMaxMin-x",0==b?"nv-axisMin-x":"nv-axisMax-x"].join(" ")}).append("text"),x.exit().remove(),x.attr("transform",function(b){return"translate("+a.utils.NaNtoZero(d(b)+(m?d.rangeBand()/2:0))+",0)"}).select("text").attr("dy",".71em").attr("y",c.tickPadding()).attr("transform",C).style("text-anchor",j?j%360>0?"start":"end":"middle").text(function(a){var b=u(a);return(""+b).match("NaN")?"":b}),x.watchTransition(s,"min-max bottom").attr("transform",function(b){return"translate("+a.utils.NaNtoZero(d(b)+(m?d.rangeBand()/2:0))+",0)"})),l&&B.attr("transform",function(a,b){return"translate(0,"+(b%2==0?"0":"12")+")"});break;case"right":v.enter().append("text").attr("class","nv-axislabel"),v.style("text-anchor",k?"middle":"begin").attr("transform",k?"rotate(90)":"").attr("y",k?-Math.max(e.right,f)+12:-10).attr("x",k?d3.max(d.range())/2:c.tickPadding()),i&&(x=p.selectAll("g.nv-axisMaxMin").data(d.domain()),x.enter().append("g").attr("class",function(a,b){return["nv-axisMaxMin","nv-axisMaxMin-y",0==b?"nv-axisMin-y":"nv-axisMax-y"].join(" ")}).append("text").style("opacity",0),x.exit().remove(),x.attr("transform",function(b){return"translate(0,"+a.utils.NaNtoZero(d(b))+")"}).select("text").attr("dy",".32em").attr("y",0).attr("x",c.tickPadding()).style("text-anchor","start").text(function(a){var b=u(a);return(""+b).match("NaN")?"":b}),x.watchTransition(s,"min-max right").attr("transform",function(b,c){return"translate(0,"+a.utils.NaNtoZero(d.range()[c])+")"}).select("text").style("opacity",1));break;case"left":v.enter().append("text").attr("class","nv-axislabel"),v.style("text-anchor",k?"middle":"end").attr("transform",k?"rotate(-90)":"").attr("y",k?-Math.max(e.left,f)+25-(o||0):-10).attr("x",k?-d3.max(d.range())/2:-c.tickPadding()),i&&(x=p.selectAll("g.nv-axisMaxMin").data(d.domain()),x.enter().append("g").attr("class",function(a,b){return["nv-axisMaxMin","nv-axisMaxMin-y",0==b?"nv-axisMin-y":"nv-axisMax-y"].join(" ")}).append("text").style("opacity",0),x.exit().remove(),x.attr("transform",function(b){return"translate(0,"+a.utils.NaNtoZero(r(b))+")"}).select("text").attr("dy",".32em").attr("y",0).attr("x",-c.tickPadding()).attr("text-anchor","end").text(function(a){var b=u(a);return(""+b).match("NaN")?"":b}),x.watchTransition(s,"min-max right").attr("transform",function(b,c){return"translate(0,"+a.utils.NaNtoZero(d.range()[c])+")"}).select("text").style("opacity",1))}if(v.text(function(a){return a}),!i||"left"!==c.orient()&&"right"!==c.orient()||(t.selectAll("g").each(function(a){d3.select(this).select("text").attr("opacity",1),(d(a)d.range()[0]-10)&&((a>1e-10||-1e-10>a)&&d3.select(this).attr("opacity",0),d3.select(this).select("text").attr("opacity",0))}),d.domain()[0]==d.domain()[1]&&0==d.domain()[0]&&p.selectAll("g.nv-axisMaxMin").style("opacity",function(a,b){return b?0:1})),i&&("top"===c.orient()||"bottom"===c.orient())){var E=[];p.selectAll("g.nv-axisMaxMin").each(function(a,b){try{E.push(b?d(a)-this.getBoundingClientRect().width-4:d(a)+this.getBoundingClientRect().width+4)}catch(c){E.push(b?d(a)-4:d(a)+4)}}),t.selectAll("g").each(function(a){(d(a)E[1])&&(a>1e-10||-1e-10>a?d3.select(this).remove():d3.select(this).select("text").remove())})}t.selectAll(".tick").filter(function(a){return!parseFloat(Math.round(1e5*a)/1e6)&&void 0!==a}).classed("zero",!0),r=d.copy()}),s.renderEnd("axis immediate"),b}var c=d3.svg.axis(),d=d3.scale.linear(),e={top:0,right:0,bottom:0,left:0},f=75,g=60,h=null,i=!0,j=0,k=!0,l=!1,m=!1,n=null,o=0,p=250,q=d3.dispatch("renderEnd");c.scale(d).orient("bottom").tickFormat(function(a){return a});var r,s=a.utils.renderWatch(q,p);return b.axis=c,b.dispatch=q,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{axisLabelDistance:{get:function(){return o},set:function(a){o=a}},staggerLabels:{get:function(){return l},set:function(a){l=a}},rotateLabels:{get:function(){return j},set:function(a){j=a}},rotateYLabel:{get:function(){return k},set:function(a){k=a}},showMaxMin:{get:function(){return i},set:function(a){i=a}},axisLabel:{get:function(){return h},set:function(a){h=a}},height:{get:function(){return g},set:function(a){g=a}},ticks:{get:function(){return n},set:function(a){n=a}},width:{get:function(){return f},set:function(a){f=a}},margin:{get:function(){return e},set:function(a){e.top=void 0!==a.top?a.top:e.top,e.right=void 0!==a.right?a.right:e.right,e.bottom=void 0!==a.bottom?a.bottom:e.bottom,e.left=void 0!==a.left?a.left:e.left}},duration:{get:function(){return p},set:function(a){p=a,s.reset(p)}},scale:{get:function(){return d},set:function(e){d=e,c.scale(d),m="function"==typeof d.rangeBands,a.utils.inheritOptionsD3(b,d,["domain","range","rangeBand","rangeBands"])}}}),a.utils.initOptions(b),a.utils.inheritOptionsD3(b,c,["orient","tickValues","tickSubdivide","tickSize","tickPadding","tickFormat"]),a.utils.inheritOptionsD3(b,d,["domain","range","rangeBand","rangeBands"]),b},a.models.boxPlot=function(){"use strict";function b(l){return v.reset(),l.each(function(b){var l=j-i.left-i.right,p=k-i.top-i.bottom;r=d3.select(this),a.utils.initSVG(r),m.domain(c||b.map(function(a,b){return o(a,b)})).rangeBands(e||[0,l],.1);var w=[];if(!d){var x=d3.min(b.map(function(a){var b=[];return b.push(a.values.Q1),a.values.hasOwnProperty("whisker_low")&&null!==a.values.whisker_low&&b.push(a.values.whisker_low),a.values.hasOwnProperty("outliers")&&null!==a.values.outliers&&(b=b.concat(a.values.outliers)),d3.min(b)})),y=d3.max(b.map(function(a){var b=[];return b.push(a.values.Q3),a.values.hasOwnProperty("whisker_high")&&null!==a.values.whisker_high&&b.push(a.values.whisker_high),a.values.hasOwnProperty("outliers")&&null!==a.values.outliers&&(b=b.concat(a.values.outliers)),d3.max(b)}));w=[x,y]}n.domain(d||w),n.range(f||[p,0]),g=g||m,h=h||n.copy().range([n(0),n(0)]);{var z=r.selectAll("g.nv-wrap").data([b]);z.enter().append("g").attr("class","nvd3 nv-wrap")}z.attr("transform","translate("+i.left+","+i.top+")");var A=z.selectAll(".nv-boxplot").data(function(a){return a}),B=A.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6);A.attr("class","nv-boxplot").attr("transform",function(a,b){return"translate("+(m(o(a,b))+.05*m.rangeBand())+", 0)"}).classed("hover",function(a){return a.hover}),A.watchTransition(v,"nv-boxplot: boxplots").style("stroke-opacity",1).style("fill-opacity",.75).delay(function(a,c){return c*t/b.length}).attr("transform",function(a,b){return"translate("+(m(o(a,b))+.05*m.rangeBand())+", 0)"}),A.exit().remove(),B.each(function(a,b){var c=d3.select(this);["low","high"].forEach(function(d){a.values.hasOwnProperty("whisker_"+d)&&null!==a.values["whisker_"+d]&&(c.append("line").style("stroke",a.color?a.color:q(a,b)).attr("class","nv-boxplot-whisker nv-boxplot-"+d),c.append("line").style("stroke",a.color?a.color:q(a,b)).attr("class","nv-boxplot-tick nv-boxplot-"+d))})});var C=A.selectAll(".nv-boxplot-outlier").data(function(a){return a.values.hasOwnProperty("outliers")&&null!==a.values.outliers?a.values.outliers:[]});C.enter().append("circle").style("fill",function(a,b,c){return q(a,c)}).style("stroke",function(a,b,c){return q(a,c)}).on("mouseover",function(a,b,c){d3.select(this).classed("hover",!0),s.elementMouseover({series:{key:a,color:q(a,c)},e:d3.event})}).on("mouseout",function(a,b,c){d3.select(this).classed("hover",!1),s.elementMouseout({series:{key:a,color:q(a,c)},e:d3.event})}).on("mousemove",function(){s.elementMousemove({e:d3.event})}),C.attr("class","nv-boxplot-outlier"),C.watchTransition(v,"nv-boxplot: nv-boxplot-outlier").attr("cx",.45*m.rangeBand()).attr("cy",function(a){return n(a)}).attr("r","3"),C.exit().remove();var D=function(){return null===u?.9*m.rangeBand():Math.min(75,.9*m.rangeBand())},E=function(){return.45*m.rangeBand()-D()/2},F=function(){return.45*m.rangeBand()+D()/2};["low","high"].forEach(function(a){var b="low"===a?"Q1":"Q3";A.select("line.nv-boxplot-whisker.nv-boxplot-"+a).watchTransition(v,"nv-boxplot: boxplots").attr("x1",.45*m.rangeBand()).attr("y1",function(b){return n(b.values["whisker_"+a])}).attr("x2",.45*m.rangeBand()).attr("y2",function(a){return n(a.values[b])}),A.select("line.nv-boxplot-tick.nv-boxplot-"+a).watchTransition(v,"nv-boxplot: boxplots").attr("x1",E).attr("y1",function(b){return n(b.values["whisker_"+a])}).attr("x2",F).attr("y2",function(b){return n(b.values["whisker_"+a])})}),["low","high"].forEach(function(a){B.selectAll(".nv-boxplot-"+a).on("mouseover",function(b,c,d){d3.select(this).classed("hover",!0),s.elementMouseover({series:{key:b.values["whisker_"+a],color:q(b,d)},e:d3.event})}).on("mouseout",function(b,c,d){d3.select(this).classed("hover",!1),s.elementMouseout({series:{key:b.values["whisker_"+a],color:q(b,d)},e:d3.event})}).on("mousemove",function(){s.elementMousemove({e:d3.event})})}),B.append("rect").attr("class","nv-boxplot-box").on("mouseover",function(a,b){d3.select(this).classed("hover",!0),s.elementMouseover({key:a.label,value:a.label,series:[{key:"Q3",value:a.values.Q3,color:a.color||q(a,b)},{key:"Q2",value:a.values.Q2,color:a.color||q(a,b)},{key:"Q1",value:a.values.Q1,color:a.color||q(a,b)}],data:a,index:b,e:d3.event})}).on("mouseout",function(a,b){d3.select(this).classed("hover",!1),s.elementMouseout({key:a.label,value:a.label,series:[{key:"Q3",value:a.values.Q3,color:a.color||q(a,b)},{key:"Q2",value:a.values.Q2,color:a.color||q(a,b)},{key:"Q1",value:a.values.Q1,color:a.color||q(a,b)}],data:a,index:b,e:d3.event})}).on("mousemove",function(){s.elementMousemove({e:d3.event})}),A.select("rect.nv-boxplot-box").watchTransition(v,"nv-boxplot: boxes").attr("y",function(a){return n(a.values.Q3)}).attr("width",D).attr("x",E).attr("height",function(a){return Math.abs(n(a.values.Q3)-n(a.values.Q1))||1}).style("fill",function(a,b){return a.color||q(a,b)}).style("stroke",function(a,b){return a.color||q(a,b)}),B.append("line").attr("class","nv-boxplot-median"),A.select("line.nv-boxplot-median").watchTransition(v,"nv-boxplot: boxplots line").attr("x1",E).attr("y1",function(a){return n(a.values.Q2)}).attr("x2",F).attr("y2",function(a){return n(a.values.Q2)}),g=m.copy(),h=n.copy()}),v.renderEnd("nv-boxplot immediate"),b}var c,d,e,f,g,h,i={top:0,right:0,bottom:0,left:0},j=960,k=500,l=Math.floor(1e4*Math.random()),m=d3.scale.ordinal(),n=d3.scale.linear(),o=function(a){return a.x},p=function(a){return a.y},q=a.utils.defaultColor(),r=null,s=d3.dispatch("elementMouseover","elementMouseout","elementMousemove","renderEnd"),t=250,u=null,v=a.utils.renderWatch(s,t);return b.dispatch=s,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return j},set:function(a){j=a}},height:{get:function(){return k},set:function(a){k=a}},maxBoxWidth:{get:function(){return u},set:function(a){u=a}},x:{get:function(){return o},set:function(a){o=a}},y:{get:function(){return p},set:function(a){p=a}},xScale:{get:function(){return m},set:function(a){m=a}},yScale:{get:function(){return n},set:function(a){n=a}},xDomain:{get:function(){return c},set:function(a){c=a}},yDomain:{get:function(){return d},set:function(a){d=a}},xRange:{get:function(){return e},set:function(a){e=a}},yRange:{get:function(){return f},set:function(a){f=a}},id:{get:function(){return l},set:function(a){l=a}},margin:{get:function(){return i},set:function(a){i.top=void 0!==a.top?a.top:i.top,i.right=void 0!==a.right?a.right:i.right,i.bottom=void 0!==a.bottom?a.bottom:i.bottom,i.left=void 0!==a.left?a.left:i.left}},color:{get:function(){return q},set:function(b){q=a.utils.getColor(b)}},duration:{get:function(){return t},set:function(a){t=a,v.reset(t)}}}),a.utils.initOptions(b),b},a.models.boxPlotChart=function(){"use strict";function b(k){return t.reset(),t.models(e),l&&t.models(f),m&&t.models(g),k.each(function(k){var p=d3.select(this);a.utils.initSVG(p);var t=(i||parseInt(p.style("width"))||960)-h.left-h.right,u=(j||parseInt(p.style("height"))||400)-h.top-h.bottom;if(b.update=function(){r.beforeUpdate(),p.transition().duration(s).call(b)},b.container=this,!(k&&k.length&&k.filter(function(a){return a.values.hasOwnProperty("Q1")&&a.values.hasOwnProperty("Q2")&&a.values.hasOwnProperty("Q3")}).length)){var v=p.selectAll(".nv-noData").data([q]);return v.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),v.attr("x",h.left+t/2).attr("y",h.top+u/2).text(function(a){return a}),b}p.selectAll(".nv-noData").remove(),c=e.xScale(),d=e.yScale().clamp(!0);var w=p.selectAll("g.nv-wrap.nv-boxPlotWithAxes").data([k]),x=w.enter().append("g").attr("class","nvd3 nv-wrap nv-boxPlotWithAxes").append("g"),y=x.append("defs"),z=w.select("g"); -x.append("g").attr("class","nv-x nv-axis"),x.append("g").attr("class","nv-y nv-axis").append("g").attr("class","nv-zeroLine").append("line"),x.append("g").attr("class","nv-barsWrap"),z.attr("transform","translate("+h.left+","+h.top+")"),n&&z.select(".nv-y.nv-axis").attr("transform","translate("+t+",0)"),e.width(t).height(u);var A=z.select(".nv-barsWrap").datum(k.filter(function(a){return!a.disabled}));if(A.transition().call(e),y.append("clipPath").attr("id","nv-x-label-clip-"+e.id()).append("rect"),z.select("#nv-x-label-clip-"+e.id()+" rect").attr("width",c.rangeBand()*(o?2:1)).attr("height",16).attr("x",-c.rangeBand()/(o?1:2)),l){f.scale(c).ticks(a.utils.calcTicksX(t/100,k)).tickSize(-u,0),z.select(".nv-x.nv-axis").attr("transform","translate(0,"+d.range()[0]+")"),z.select(".nv-x.nv-axis").call(f);var B=z.select(".nv-x.nv-axis").selectAll("g");o&&B.selectAll("text").attr("transform",function(a,b,c){return"translate(0,"+(c%2==0?"5":"17")+")"})}m&&(g.scale(d).ticks(Math.floor(u/36)).tickSize(-t,0),z.select(".nv-y.nv-axis").call(g)),z.select(".nv-zeroLine line").attr("x1",0).attr("x2",t).attr("y1",d(0)).attr("y2",d(0))}),t.renderEnd("nv-boxplot chart immediate"),b}var c,d,e=a.models.boxPlot(),f=a.models.axis(),g=a.models.axis(),h={top:15,right:10,bottom:50,left:60},i=null,j=null,k=a.utils.getColor(),l=!0,m=!0,n=!1,o=!1,p=a.models.tooltip(),q="No Data Available.",r=d3.dispatch("tooltipShow","tooltipHide","beforeUpdate","renderEnd"),s=250;f.orient("bottom").showMaxMin(!1).tickFormat(function(a){return a}),g.orient(n?"right":"left").tickFormat(d3.format(",.1f")),p.duration(0);var t=a.utils.renderWatch(r,s);return e.dispatch.on("elementMouseover.tooltip",function(a){p.data(a).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(a){p.data(a).hidden(!0)}),e.dispatch.on("elementMousemove.tooltip",function(){p.position({top:d3.event.pageY,left:d3.event.pageX})()}),b.dispatch=r,b.boxplot=e,b.xAxis=f,b.yAxis=g,b.tooltip=p,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return i},set:function(a){i=a}},height:{get:function(){return j},set:function(a){j=a}},staggerLabels:{get:function(){return o},set:function(a){o=a}},showXAxis:{get:function(){return l},set:function(a){l=a}},showYAxis:{get:function(){return m},set:function(a){m=a}},tooltips:{get:function(){return tooltips},set:function(a){tooltips=a}},tooltipContent:{get:function(){return p},set:function(a){p=a}},noData:{get:function(){return q},set:function(a){q=a}},margin:{get:function(){return h},set:function(a){h.top=void 0!==a.top?a.top:h.top,h.right=void 0!==a.right?a.right:h.right,h.bottom=void 0!==a.bottom?a.bottom:h.bottom,h.left=void 0!==a.left?a.left:h.left}},duration:{get:function(){return s},set:function(a){s=a,t.reset(s),e.duration(s),f.duration(s),g.duration(s)}},color:{get:function(){return k},set:function(b){k=a.utils.getColor(b),e.color(k)}},rightAlignYAxis:{get:function(){return n},set:function(a){n=a,g.orient(a?"right":"left")}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.bullet=function(){"use strict";function b(d){return d.each(function(b,d){var p=m-c.left-c.right,s=n-c.top-c.bottom;o=d3.select(this),a.utils.initSVG(o);{var t=f.call(this,b,d).slice().sort(d3.descending),u=g.call(this,b,d).slice().sort(d3.descending),v=h.call(this,b,d).slice().sort(d3.descending),w=i.call(this,b,d).slice(),x=j.call(this,b,d).slice(),y=k.call(this,b,d).slice(),z=d3.scale.linear().domain(d3.extent(d3.merge([l,t]))).range(e?[p,0]:[0,p]);this.__chart__||d3.scale.linear().domain([0,1/0]).range(z.range())}this.__chart__=z;var A=d3.min(t),B=d3.max(t),C=t[1],D=o.selectAll("g.nv-wrap.nv-bullet").data([b]),E=D.enter().append("g").attr("class","nvd3 nv-wrap nv-bullet"),F=E.append("g"),G=D.select("g");F.append("rect").attr("class","nv-range nv-rangeMax"),F.append("rect").attr("class","nv-range nv-rangeAvg"),F.append("rect").attr("class","nv-range nv-rangeMin"),F.append("rect").attr("class","nv-measure"),D.attr("transform","translate("+c.left+","+c.top+")");var H=function(a){return Math.abs(z(a)-z(0))},I=function(a){return z(0>a?a:0)};G.select("rect.nv-rangeMax").attr("height",s).attr("width",H(B>0?B:A)).attr("x",I(B>0?B:A)).datum(B>0?B:A),G.select("rect.nv-rangeAvg").attr("height",s).attr("width",H(C)).attr("x",I(C)).datum(C),G.select("rect.nv-rangeMin").attr("height",s).attr("width",H(B)).attr("x",I(B)).attr("width",H(B>0?A:B)).attr("x",I(B>0?A:B)).datum(B>0?A:B),G.select("rect.nv-measure").style("fill",q).attr("height",s/3).attr("y",s/3).attr("width",0>v?z(0)-z(v[0]):z(v[0])-z(0)).attr("x",I(v)).on("mouseover",function(){r.elementMouseover({value:v[0],label:y[0]||"Current",color:d3.select(this).style("fill")})}).on("mousemove",function(){r.elementMousemove({value:v[0],label:y[0]||"Current",color:d3.select(this).style("fill")})}).on("mouseout",function(){r.elementMouseout({value:v[0],label:y[0]||"Current",color:d3.select(this).style("fill")})});var J=s/6,K=u.map(function(a,b){return{value:a,label:x[b]}});F.selectAll("path.nv-markerTriangle").data(K).enter().append("path").attr("class","nv-markerTriangle").attr("transform",function(a){return"translate("+z(a.value)+","+s/2+")"}).attr("d","M0,"+J+"L"+J+","+-J+" "+-J+","+-J+"Z").on("mouseover",function(a){r.elementMouseover({value:a.value,label:a.label||"Previous",color:d3.select(this).style("fill"),pos:[z(a.value),s/2]})}).on("mousemove",function(a){r.elementMousemove({value:a.value,label:a.label||"Previous",color:d3.select(this).style("fill")})}).on("mouseout",function(a){r.elementMouseout({value:a.value,label:a.label||"Previous",color:d3.select(this).style("fill")})}),D.selectAll(".nv-range").on("mouseover",function(a,b){var c=w[b]||(b?1==b?"Mean":"Minimum":"Maximum");r.elementMouseover({value:a,label:c,color:d3.select(this).style("fill")})}).on("mousemove",function(){r.elementMousemove({value:v[0],label:y[0]||"Previous",color:d3.select(this).style("fill")})}).on("mouseout",function(a,b){var c=w[b]||(b?1==b?"Mean":"Minimum":"Maximum");r.elementMouseout({value:a,label:c,color:d3.select(this).style("fill")})})}),b}var c={top:0,right:0,bottom:0,left:0},d="left",e=!1,f=function(a){return a.ranges},g=function(a){return a.markers?a.markers:[0]},h=function(a){return a.measures},i=function(a){return a.rangeLabels?a.rangeLabels:[]},j=function(a){return a.markerLabels?a.markerLabels:[]},k=function(a){return a.measureLabels?a.measureLabels:[]},l=[0],m=380,n=30,o=null,p=null,q=a.utils.getColor(["#1f77b4"]),r=d3.dispatch("elementMouseover","elementMouseout","elementMousemove");return b.dispatch=r,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{ranges:{get:function(){return f},set:function(a){f=a}},markers:{get:function(){return g},set:function(a){g=a}},measures:{get:function(){return h},set:function(a){h=a}},forceX:{get:function(){return l},set:function(a){l=a}},width:{get:function(){return m},set:function(a){m=a}},height:{get:function(){return n},set:function(a){n=a}},tickFormat:{get:function(){return p},set:function(a){p=a}},margin:{get:function(){return c},set:function(a){c.top=void 0!==a.top?a.top:c.top,c.right=void 0!==a.right?a.right:c.right,c.bottom=void 0!==a.bottom?a.bottom:c.bottom,c.left=void 0!==a.left?a.left:c.left}},orient:{get:function(){return d},set:function(a){d=a,e="right"==d||"bottom"==d}},color:{get:function(){return q},set:function(b){q=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.bulletChart=function(){"use strict";function b(d){return d.each(function(e,o){var p=d3.select(this);a.utils.initSVG(p);var q=a.utils.availableWidth(k,p,g),r=l-g.top-g.bottom;if(b.update=function(){b(d)},b.container=this,!e||!h.call(this,e,o))return a.utils.noData(b,p),b;p.selectAll(".nv-noData").remove();var s=h.call(this,e,o).slice().sort(d3.descending),t=i.call(this,e,o).slice().sort(d3.descending),u=j.call(this,e,o).slice().sort(d3.descending),v=p.selectAll("g.nv-wrap.nv-bulletChart").data([e]),w=v.enter().append("g").attr("class","nvd3 nv-wrap nv-bulletChart"),x=w.append("g"),y=v.select("g");x.append("g").attr("class","nv-bulletWrap"),x.append("g").attr("class","nv-titles"),v.attr("transform","translate("+g.left+","+g.top+")");var z=d3.scale.linear().domain([0,Math.max(s[0],t[0],u[0])]).range(f?[q,0]:[0,q]),A=this.__chart__||d3.scale.linear().domain([0,1/0]).range(z.range());this.__chart__=z;var B=x.select(".nv-titles").append("g").attr("text-anchor","end").attr("transform","translate(-6,"+(l-g.top-g.bottom)/2+")");B.append("text").attr("class","nv-title").text(function(a){return a.title}),B.append("text").attr("class","nv-subtitle").attr("dy","1em").text(function(a){return a.subtitle}),c.width(q).height(r);var C=y.select(".nv-bulletWrap");d3.transition(C).call(c);var D=m||z.tickFormat(q/100),E=y.selectAll("g.nv-tick").data(z.ticks(n?n:q/50),function(a){return this.textContent||D(a)}),F=E.enter().append("g").attr("class","nv-tick").attr("transform",function(a){return"translate("+A(a)+",0)"}).style("opacity",1e-6);F.append("line").attr("y1",r).attr("y2",7*r/6),F.append("text").attr("text-anchor","middle").attr("dy","1em").attr("y",7*r/6).text(D);var G=d3.transition(E).attr("transform",function(a){return"translate("+z(a)+",0)"}).style("opacity",1);G.select("line").attr("y1",r).attr("y2",7*r/6),G.select("text").attr("y",7*r/6),d3.transition(E.exit()).attr("transform",function(a){return"translate("+z(a)+",0)"}).style("opacity",1e-6).remove()}),d3.timer.flush(),b}var c=a.models.bullet(),d=a.models.tooltip(),e="left",f=!1,g={top:5,right:40,bottom:20,left:120},h=function(a){return a.ranges},i=function(a){return a.markers?a.markers:[0]},j=function(a){return a.measures},k=null,l=55,m=null,n=null,o=null,p=d3.dispatch("tooltipShow","tooltipHide");return d.duration(0).headerEnabled(!1),c.dispatch.on("elementMouseover.tooltip",function(a){a.series={key:a.label,value:a.value,color:a.color},d.data(a).hidden(!1)}),c.dispatch.on("elementMouseout.tooltip",function(){d.hidden(!0)}),c.dispatch.on("elementMousemove.tooltip",function(){d.position({top:d3.event.pageY,left:d3.event.pageX})()}),b.bullet=c,b.dispatch=p,b.tooltip=d,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{ranges:{get:function(){return h},set:function(a){h=a}},markers:{get:function(){return i},set:function(a){i=a}},measures:{get:function(){return j},set:function(a){j=a}},width:{get:function(){return k},set:function(a){k=a}},height:{get:function(){return l},set:function(a){l=a}},tickFormat:{get:function(){return m},set:function(a){m=a}},ticks:{get:function(){return n},set:function(a){n=a}},noData:{get:function(){return o},set:function(a){o=a}},tooltips:{get:function(){return d.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),d.enabled(!!b)}},tooltipContent:{get:function(){return d.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),d.contentGenerator(b)}},margin:{get:function(){return g},set:function(a){g.top=void 0!==a.top?a.top:g.top,g.right=void 0!==a.right?a.right:g.right,g.bottom=void 0!==a.bottom?a.bottom:g.bottom,g.left=void 0!==a.left?a.left:g.left}},orient:{get:function(){return e},set:function(a){e=a,f="right"==e||"bottom"==e}}}),a.utils.inheritOptions(b,c),a.utils.initOptions(b),b},a.models.candlestickBar=function(){"use strict";function b(x){return x.each(function(b){c=d3.select(this);var x=a.utils.availableWidth(i,c,h),y=a.utils.availableHeight(j,c,h);a.utils.initSVG(c);var A=x/b[0].values.length*.45;l.domain(d||d3.extent(b[0].values.map(n).concat(t))),l.range(v?f||[.5*x/b[0].values.length,x*(b[0].values.length-.5)/b[0].values.length]:f||[5+A/2,x-A/2-5]),m.domain(e||[d3.min(b[0].values.map(s).concat(u)),d3.max(b[0].values.map(r).concat(u))]).range(g||[y,0]),l.domain()[0]===l.domain()[1]&&l.domain(l.domain()[0]?[l.domain()[0]-.01*l.domain()[0],l.domain()[1]+.01*l.domain()[1]]:[-1,1]),m.domain()[0]===m.domain()[1]&&m.domain(m.domain()[0]?[m.domain()[0]+.01*m.domain()[0],m.domain()[1]-.01*m.domain()[1]]:[-1,1]);var B=d3.select(this).selectAll("g.nv-wrap.nv-candlestickBar").data([b[0].values]),C=B.enter().append("g").attr("class","nvd3 nv-wrap nv-candlestickBar"),D=C.append("defs"),E=C.append("g"),F=B.select("g");E.append("g").attr("class","nv-ticks"),B.attr("transform","translate("+h.left+","+h.top+")"),c.on("click",function(a,b){z.chartClick({data:a,index:b,pos:d3.event,id:k})}),D.append("clipPath").attr("id","nv-chart-clip-path-"+k).append("rect"),B.select("#nv-chart-clip-path-"+k+" rect").attr("width",x).attr("height",y),F.attr("clip-path",w?"url(#nv-chart-clip-path-"+k+")":"");var G=B.select(".nv-ticks").selectAll(".nv-tick").data(function(a){return a});G.exit().remove();{var H=G.enter().append("g").attr("class",function(a,b,c){return(p(a,b)>q(a,b)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+c+"-"+b});H.append("line").attr("class","nv-candlestick-lines").attr("transform",function(a,b){return"translate("+l(n(a,b))+",0)"}).attr("x1",0).attr("y1",function(a,b){return m(r(a,b))}).attr("x2",0).attr("y2",function(a,b){return m(s(a,b))}),H.append("rect").attr("class","nv-candlestick-rects nv-bars").attr("transform",function(a,b){return"translate("+(l(n(a,b))-A/2)+","+(m(o(a,b))-(p(a,b)>q(a,b)?m(q(a,b))-m(p(a,b)):0))+")"}).attr("x",0).attr("y",0).attr("width",A).attr("height",function(a,b){var c=p(a,b),d=q(a,b);return c>d?m(d)-m(c):m(c)-m(d)})}c.selectAll(".nv-candlestick-lines").transition().attr("transform",function(a,b){return"translate("+l(n(a,b))+",0)"}).attr("x1",0).attr("y1",function(a,b){return m(r(a,b))}).attr("x2",0).attr("y2",function(a,b){return m(s(a,b))}),c.selectAll(".nv-candlestick-rects").transition().attr("transform",function(a,b){return"translate("+(l(n(a,b))-A/2)+","+(m(o(a,b))-(p(a,b)>q(a,b)?m(q(a,b))-m(p(a,b)):0))+")"}).attr("x",0).attr("y",0).attr("width",A).attr("height",function(a,b){var c=p(a,b),d=q(a,b);return c>d?m(d)-m(c):m(c)-m(d)})}),b}var c,d,e,f,g,h={top:0,right:0,bottom:0,left:0},i=null,j=null,k=Math.floor(1e4*Math.random()),l=d3.scale.linear(),m=d3.scale.linear(),n=function(a){return a.x},o=function(a){return a.y},p=function(a){return a.open},q=function(a){return a.close},r=function(a){return a.high},s=function(a){return a.low},t=[],u=[],v=!1,w=!0,x=a.utils.defaultColor(),y=!1,z=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState","renderEnd","chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove");return b.highlightPoint=function(a,d){b.clearHighlights(),c.select(".nv-candlestickBar .nv-tick-0-"+a).classed("hover",d)},b.clearHighlights=function(){c.select(".nv-candlestickBar .nv-tick.hover").classed("hover",!1)},b.dispatch=z,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return i},set:function(a){i=a}},height:{get:function(){return j},set:function(a){j=a}},xScale:{get:function(){return l},set:function(a){l=a}},yScale:{get:function(){return m},set:function(a){m=a}},xDomain:{get:function(){return d},set:function(a){d=a}},yDomain:{get:function(){return e},set:function(a){e=a}},xRange:{get:function(){return f},set:function(a){f=a}},yRange:{get:function(){return g},set:function(a){g=a}},forceX:{get:function(){return t},set:function(a){t=a}},forceY:{get:function(){return u},set:function(a){u=a}},padData:{get:function(){return v},set:function(a){v=a}},clipEdge:{get:function(){return w},set:function(a){w=a}},id:{get:function(){return k},set:function(a){k=a}},interactive:{get:function(){return y},set:function(a){y=a}},x:{get:function(){return n},set:function(a){n=a}},y:{get:function(){return o},set:function(a){o=a}},open:{get:function(){return p()},set:function(a){p=a}},close:{get:function(){return q()},set:function(a){q=a}},high:{get:function(){return r},set:function(a){r=a}},low:{get:function(){return s},set:function(a){s=a}},margin:{get:function(){return h},set:function(a){h.top=void 0!=a.top?a.top:h.top,h.right=void 0!=a.right?a.right:h.right,h.bottom=void 0!=a.bottom?a.bottom:h.bottom,h.left=void 0!=a.left?a.left:h.left}},color:{get:function(){return x},set:function(b){x=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.cumulativeLineChart=function(){"use strict";function b(l){return H.reset(),H.models(f),r&&H.models(g),s&&H.models(h),l.each(function(l){function A(){d3.select(b.container).style("cursor","ew-resize")}function E(){G.x=d3.event.x,G.i=Math.round(F.invert(G.x)),K()}function H(){d3.select(b.container).style("cursor","auto"),y.index=G.i,C.stateChange(y)}function K(){bb.data([G]);var a=b.duration();b.duration(0),b.update(),b.duration(a)}var L=d3.select(this);a.utils.initSVG(L),L.classed("nv-chart-"+x,!0);var M=this,N=a.utils.availableWidth(o,L,m),O=a.utils.availableHeight(p,L,m);if(b.update=function(){0===D?L.call(b):L.transition().duration(D).call(b)},b.container=this,y.setter(J(l),b.update).getter(I(l)).update(),y.disabled=l.map(function(a){return!!a.disabled}),!z){var P;z={};for(P in y)z[P]=y[P]instanceof Array?y[P].slice(0):y[P]}var Q=d3.behavior.drag().on("dragstart",A).on("drag",E).on("dragend",H);if(!(l&&l.length&&l.filter(function(a){return a.values.length}).length))return a.utils.noData(b,L),b;if(L.selectAll(".nv-noData").remove(),d=f.xScale(),e=f.yScale(),w)f.yDomain(null);else{var R=l.filter(function(a){return!a.disabled}).map(function(a){var b=d3.extent(a.values,f.y());return b[0]<-.95&&(b[0]=-.95),[(b[0]-b[1])/(1+b[1]),(b[1]-b[0])/(1+b[0])]}),S=[d3.min(R,function(a){return a[0]}),d3.max(R,function(a){return a[1]})];f.yDomain(S)}F.domain([0,l[0].values.length-1]).range([0,N]).clamp(!0);var l=c(G.i,l),T=v?"none":"all",U=L.selectAll("g.nv-wrap.nv-cumulativeLine").data([l]),V=U.enter().append("g").attr("class","nvd3 nv-wrap nv-cumulativeLine").append("g"),W=U.select("g");if(V.append("g").attr("class","nv-interactive"),V.append("g").attr("class","nv-x nv-axis").style("pointer-events","none"),V.append("g").attr("class","nv-y nv-axis"),V.append("g").attr("class","nv-background"),V.append("g").attr("class","nv-linesWrap").style("pointer-events",T),V.append("g").attr("class","nv-avgLinesWrap").style("pointer-events","none"),V.append("g").attr("class","nv-legendWrap"),V.append("g").attr("class","nv-controlsWrap"),q&&(i.width(N),W.select(".nv-legendWrap").datum(l).call(i),m.top!=i.height()&&(m.top=i.height(),O=a.utils.availableHeight(p,L,m)),W.select(".nv-legendWrap").attr("transform","translate(0,"+-m.top+")")),u){var X=[{key:"Re-scale y-axis",disabled:!w}];j.width(140).color(["#444","#444","#444"]).rightAlign(!1).margin({top:5,right:0,bottom:5,left:20}),W.select(".nv-controlsWrap").datum(X).attr("transform","translate(0,"+-m.top+")").call(j)}U.attr("transform","translate("+m.left+","+m.top+")"),t&&W.select(".nv-y.nv-axis").attr("transform","translate("+N+",0)");var Y=l.filter(function(a){return a.tempDisabled});U.select(".tempDisabled").remove(),Y.length&&U.append("text").attr("class","tempDisabled").attr("x",N/2).attr("y","-.71em").style("text-anchor","end").text(Y.map(function(a){return a.key}).join(", ")+" values cannot be calculated for this time period."),v&&(k.width(N).height(O).margin({left:m.left,top:m.top}).svgContainer(L).xScale(d),U.select(".nv-interactive").call(k)),V.select(".nv-background").append("rect"),W.select(".nv-background rect").attr("width",N).attr("height",O),f.y(function(a){return a.display.y}).width(N).height(O).color(l.map(function(a,b){return a.color||n(a,b)}).filter(function(a,b){return!l[b].disabled&&!l[b].tempDisabled}));var Z=W.select(".nv-linesWrap").datum(l.filter(function(a){return!a.disabled&&!a.tempDisabled}));Z.call(f),l.forEach(function(a,b){a.seriesIndex=b});var $=l.filter(function(a){return!a.disabled&&!!B(a)}),_=W.select(".nv-avgLinesWrap").selectAll("line").data($,function(a){return a.key}),ab=function(a){var b=e(B(a));return 0>b?0:b>O?O:b};_.enter().append("line").style("stroke-width",2).style("stroke-dasharray","10,10").style("stroke",function(a){return f.color()(a,a.seriesIndex)}).attr("x1",0).attr("x2",N).attr("y1",ab).attr("y2",ab),_.style("stroke-opacity",function(a){var b=e(B(a));return 0>b||b>O?0:1}).attr("x1",0).attr("x2",N).attr("y1",ab).attr("y2",ab),_.exit().remove();var bb=Z.selectAll(".nv-indexLine").data([G]);bb.enter().append("rect").attr("class","nv-indexLine").attr("width",3).attr("x",-2).attr("fill","red").attr("fill-opacity",.5).style("pointer-events","all").call(Q),bb.attr("transform",function(a){return"translate("+F(a.i)+",0)"}).attr("height",O),r&&(g.scale(d)._ticks(a.utils.calcTicksX(N/70,l)).tickSize(-O,0),W.select(".nv-x.nv-axis").attr("transform","translate(0,"+e.range()[0]+")"),W.select(".nv-x.nv-axis").call(g)),s&&(h.scale(e)._ticks(a.utils.calcTicksY(O/36,l)).tickSize(-N,0),W.select(".nv-y.nv-axis").call(h)),W.select(".nv-background rect").on("click",function(){G.x=d3.mouse(this)[0],G.i=Math.round(F.invert(G.x)),y.index=G.i,C.stateChange(y),K()}),f.dispatch.on("elementClick",function(a){G.i=a.pointIndex,G.x=F(G.i),y.index=G.i,C.stateChange(y),K()}),j.dispatch.on("legendClick",function(a){a.disabled=!a.disabled,w=!a.disabled,y.rescaleY=w,C.stateChange(y),b.update()}),i.dispatch.on("stateChange",function(a){for(var c in a)y[c]=a[c];C.stateChange(y),b.update()}),k.dispatch.on("elementMousemove",function(c){f.clearHighlights();var d,e,i,j=[];if(l.filter(function(a,b){return a.seriesIndex=b,!a.disabled}).forEach(function(g,h){e=a.interactiveBisect(g.values,c.pointXValue,b.x()),f.highlightPoint(h,e,!0);var k=g.values[e];"undefined"!=typeof k&&("undefined"==typeof d&&(d=k),"undefined"==typeof i&&(i=b.xScale()(b.x()(k,e))),j.push({key:g.key,value:b.y()(k,e),color:n(g,g.seriesIndex)}))}),j.length>2){var o=b.yScale().invert(c.mouseY),p=Math.abs(b.yScale().domain()[0]-b.yScale().domain()[1]),q=.03*p,r=a.nearestValueIndex(j.map(function(a){return a.value}),o,q);null!==r&&(j[r].highlight=!0)}var s=g.tickFormat()(b.x()(d,e),e);k.tooltip.position({left:i+m.left,top:c.mouseY+m.top}).chartContainer(M.parentNode).valueFormatter(function(a){return h.tickFormat()(a)}).data({value:s,series:j})(),k.renderGuideLine(i)}),k.dispatch.on("elementMouseout",function(){f.clearHighlights()}),C.on("changeState",function(a){"undefined"!=typeof a.disabled&&(l.forEach(function(b,c){b.disabled=a.disabled[c]}),y.disabled=a.disabled),"undefined"!=typeof a.index&&(G.i=a.index,G.x=F(G.i),y.index=a.index,bb.data([G])),"undefined"!=typeof a.rescaleY&&(w=a.rescaleY),b.update()})}),H.renderEnd("cumulativeLineChart immediate"),b}function c(a,b){return K||(K=f.y()),b.map(function(b){if(!b.values)return b;var c=b.values[a];if(null==c)return b;var d=K(c,a);return-.95>d&&!E?(b.tempDisabled=!0,b):(b.tempDisabled=!1,b.values=b.values.map(function(a,b){return a.display={y:(K(a,b)-d)/(1+d)},a}),b)})}var d,e,f=a.models.line(),g=a.models.axis(),h=a.models.axis(),i=a.models.legend(),j=a.models.legend(),k=a.interactiveGuideline(),l=a.models.tooltip(),m={top:30,right:30,bottom:50,left:60},n=a.utils.defaultColor(),o=null,p=null,q=!0,r=!0,s=!0,t=!1,u=!0,v=!1,w=!0,x=f.id(),y=a.utils.state(),z=null,A=null,B=function(a){return a.average},C=d3.dispatch("stateChange","changeState","renderEnd"),D=250,E=!1;y.index=0,y.rescaleY=w,g.orient("bottom").tickPadding(7),h.orient(t?"right":"left"),l.valueFormatter(function(a,b){return h.tickFormat()(a,b)}).headerFormatter(function(a,b){return g.tickFormat()(a,b)}),j.updateState(!1);var F=d3.scale.linear(),G={i:0,x:0},H=a.utils.renderWatch(C,D),I=function(a){return function(){return{active:a.map(function(a){return!a.disabled}),index:G.i,rescaleY:w}}},J=function(a){return function(b){void 0!==b.index&&(G.i=b.index),void 0!==b.rescaleY&&(w=b.rescaleY),void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};f.dispatch.on("elementMouseover.tooltip",function(a){var c={x:b.x()(a.point),y:b.y()(a.point),color:a.point.color};a.point=c,l.data(a).position(a.pos).hidden(!1)}),f.dispatch.on("elementMouseout.tooltip",function(){l.hidden(!0)});var K=null;return b.dispatch=C,b.lines=f,b.legend=i,b.controls=j,b.xAxis=g,b.yAxis=h,b.interactiveLayer=k,b.state=y,b.tooltip=l,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return o},set:function(a){o=a}},height:{get:function(){return p},set:function(a){p=a}},rescaleY:{get:function(){return w},set:function(a){w=a}},showControls:{get:function(){return u},set:function(a){u=a}},showLegend:{get:function(){return q},set:function(a){q=a}},average:{get:function(){return B},set:function(a){B=a}},defaultState:{get:function(){return z},set:function(a){z=a}},noData:{get:function(){return A},set:function(a){A=a}},showXAxis:{get:function(){return r},set:function(a){r=a}},showYAxis:{get:function(){return s},set:function(a){s=a}},noErrorCheck:{get:function(){return E},set:function(a){E=a}},tooltips:{get:function(){return l.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),l.enabled(!!b)}},tooltipContent:{get:function(){return l.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),l.contentGenerator(b)}},margin:{get:function(){return m},set:function(a){m.top=void 0!==a.top?a.top:m.top,m.right=void 0!==a.right?a.right:m.right,m.bottom=void 0!==a.bottom?a.bottom:m.bottom,m.left=void 0!==a.left?a.left:m.left}},color:{get:function(){return n},set:function(b){n=a.utils.getColor(b),i.color(n)}},useInteractiveGuideline:{get:function(){return v},set:function(a){v=a,a===!0&&(b.interactive(!1),b.useVoronoi(!1))}},rightAlignYAxis:{get:function(){return t},set:function(a){t=a,h.orient(a?"right":"left")}},duration:{get:function(){return D},set:function(a){D=a,f.duration(D),g.duration(D),h.duration(D),H.reset(D)}}}),a.utils.inheritOptions(b,f),a.utils.initOptions(b),b},a.models.discreteBar=function(){"use strict";function b(m){return y.reset(),m.each(function(b){var m=k-j.left-j.right,x=l-j.top-j.bottom;c=d3.select(this),a.utils.initSVG(c),b.forEach(function(a,b){a.values.forEach(function(a){a.series=b})});var z=d&&e?[]:b.map(function(a){return a.values.map(function(a,b){return{x:p(a,b),y:q(a,b),y0:a.y0}})});n.domain(d||d3.merge(z).map(function(a){return a.x})).rangeBands(f||[0,m],.1),o.domain(e||d3.extent(d3.merge(z).map(function(a){return a.y}).concat(r))),o.range(t?g||[x-(o.domain()[0]<0?12:0),o.domain()[1]>0?12:0]:g||[x,0]),h=h||n,i=i||o.copy().range([o(0),o(0)]);{var A=c.selectAll("g.nv-wrap.nv-discretebar").data([b]),B=A.enter().append("g").attr("class","nvd3 nv-wrap nv-discretebar"),C=B.append("g");A.select("g")}C.append("g").attr("class","nv-groups"),A.attr("transform","translate("+j.left+","+j.top+")");var D=A.select(".nv-groups").selectAll(".nv-group").data(function(a){return a},function(a){return a.key});D.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),D.exit().watchTransition(y,"discreteBar: exit groups").style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),D.attr("class",function(a,b){return"nv-group nv-series-"+b}).classed("hover",function(a){return a.hover}),D.watchTransition(y,"discreteBar: groups").style("stroke-opacity",1).style("fill-opacity",.75);var E=D.selectAll("g.nv-bar").data(function(a){return a.values});E.exit().remove();var F=E.enter().append("g").attr("transform",function(a,b){return"translate("+(n(p(a,b))+.05*n.rangeBand())+", "+o(0)+")"}).on("mouseover",function(a,b){d3.select(this).classed("hover",!0),v.elementMouseover({data:a,index:b,color:d3.select(this).style("fill")})}).on("mouseout",function(a,b){d3.select(this).classed("hover",!1),v.elementMouseout({data:a,index:b,color:d3.select(this).style("fill")})}).on("mousemove",function(a,b){v.elementMousemove({data:a,index:b,color:d3.select(this).style("fill")})}).on("click",function(a,b){v.elementClick({data:a,index:b,color:d3.select(this).style("fill")}),d3.event.stopPropagation()}).on("dblclick",function(a,b){v.elementDblClick({data:a,index:b,color:d3.select(this).style("fill")}),d3.event.stopPropagation()});F.append("rect").attr("height",0).attr("width",.9*n.rangeBand()/b.length),t?(F.append("text").attr("text-anchor","middle"),E.select("text").text(function(a,b){return u(q(a,b))}).watchTransition(y,"discreteBar: bars text").attr("x",.9*n.rangeBand()/2).attr("y",function(a,b){return q(a,b)<0?o(q(a,b))-o(0)+12:-4})):E.selectAll("text").remove(),E.attr("class",function(a,b){return q(a,b)<0?"nv-bar negative":"nv-bar positive"}).style("fill",function(a,b){return a.color||s(a,b)}).style("stroke",function(a,b){return a.color||s(a,b)}).select("rect").attr("class",w).watchTransition(y,"discreteBar: bars rect").attr("width",.9*n.rangeBand()/b.length),E.watchTransition(y,"discreteBar: bars").attr("transform",function(a,b){var c=n(p(a,b))+.05*n.rangeBand(),d=q(a,b)<0?o(0):o(0)-o(q(a,b))<1?o(0)-1:o(q(a,b));return"translate("+c+", "+d+")"}).select("rect").attr("height",function(a,b){return Math.max(Math.abs(o(q(a,b))-o(e&&e[0]||0))||1)}),h=n.copy(),i=o.copy()}),y.renderEnd("discreteBar immediate"),b}var c,d,e,f,g,h,i,j={top:0,right:0,bottom:0,left:0},k=960,l=500,m=Math.floor(1e4*Math.random()),n=d3.scale.ordinal(),o=d3.scale.linear(),p=function(a){return a.x},q=function(a){return a.y},r=[0],s=a.utils.defaultColor(),t=!1,u=d3.format(",.2f"),v=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),w="discreteBar",x=250,y=a.utils.renderWatch(v,x);return b.dispatch=v,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return k},set:function(a){k=a}},height:{get:function(){return l},set:function(a){l=a}},forceY:{get:function(){return r},set:function(a){r=a}},showValues:{get:function(){return t},set:function(a){t=a}},x:{get:function(){return p},set:function(a){p=a}},y:{get:function(){return q},set:function(a){q=a}},xScale:{get:function(){return n},set:function(a){n=a}},yScale:{get:function(){return o},set:function(a){o=a}},xDomain:{get:function(){return d},set:function(a){d=a}},yDomain:{get:function(){return e},set:function(a){e=a}},xRange:{get:function(){return f},set:function(a){f=a}},yRange:{get:function(){return g},set:function(a){g=a}},valueFormat:{get:function(){return u},set:function(a){u=a}},id:{get:function(){return m},set:function(a){m=a}},rectClass:{get:function(){return w},set:function(a){w=a}},margin:{get:function(){return j},set:function(a){j.top=void 0!==a.top?a.top:j.top,j.right=void 0!==a.right?a.right:j.right,j.bottom=void 0!==a.bottom?a.bottom:j.bottom,j.left=void 0!==a.left?a.left:j.left}},color:{get:function(){return s},set:function(b){s=a.utils.getColor(b)}},duration:{get:function(){return x},set:function(a){x=a,y.reset(x)}}}),a.utils.initOptions(b),b},a.models.discreteBarChart=function(){"use strict";function b(h){return t.reset(),t.models(e),m&&t.models(f),n&&t.models(g),h.each(function(h){var l=d3.select(this);a.utils.initSVG(l);var q=a.utils.availableWidth(j,l,i),t=a.utils.availableHeight(k,l,i);if(b.update=function(){r.beforeUpdate(),l.transition().duration(s).call(b)},b.container=this,!(h&&h.length&&h.filter(function(a){return a.values.length}).length))return a.utils.noData(b,l),b;l.selectAll(".nv-noData").remove(),c=e.xScale(),d=e.yScale().clamp(!0);var u=l.selectAll("g.nv-wrap.nv-discreteBarWithAxes").data([h]),v=u.enter().append("g").attr("class","nvd3 nv-wrap nv-discreteBarWithAxes").append("g"),w=v.append("defs"),x=u.select("g");v.append("g").attr("class","nv-x nv-axis"),v.append("g").attr("class","nv-y nv-axis").append("g").attr("class","nv-zeroLine").append("line"),v.append("g").attr("class","nv-barsWrap"),x.attr("transform","translate("+i.left+","+i.top+")"),o&&x.select(".nv-y.nv-axis").attr("transform","translate("+q+",0)"),e.width(q).height(t);var y=x.select(".nv-barsWrap").datum(h.filter(function(a){return!a.disabled}));if(y.transition().call(e),w.append("clipPath").attr("id","nv-x-label-clip-"+e.id()).append("rect"),x.select("#nv-x-label-clip-"+e.id()+" rect").attr("width",c.rangeBand()*(p?2:1)).attr("height",16).attr("x",-c.rangeBand()/(p?1:2)),m){f.scale(c)._ticks(a.utils.calcTicksX(q/100,h)).tickSize(-t,0),x.select(".nv-x.nv-axis").attr("transform","translate(0,"+(d.range()[0]+(e.showValues()&&d.domain()[0]<0?16:0))+")"),x.select(".nv-x.nv-axis").call(f); -var z=x.select(".nv-x.nv-axis").selectAll("g");p&&z.selectAll("text").attr("transform",function(a,b,c){return"translate(0,"+(c%2==0?"5":"17")+")"})}n&&(g.scale(d)._ticks(a.utils.calcTicksY(t/36,h)).tickSize(-q,0),x.select(".nv-y.nv-axis").call(g)),x.select(".nv-zeroLine line").attr("x1",0).attr("x2",q).attr("y1",d(0)).attr("y2",d(0))}),t.renderEnd("discreteBar chart immediate"),b}var c,d,e=a.models.discreteBar(),f=a.models.axis(),g=a.models.axis(),h=a.models.tooltip(),i={top:15,right:10,bottom:50,left:60},j=null,k=null,l=a.utils.getColor(),m=!0,n=!0,o=!1,p=!1,q=null,r=d3.dispatch("beforeUpdate","renderEnd"),s=250;f.orient("bottom").showMaxMin(!1).tickFormat(function(a){return a}),g.orient(o?"right":"left").tickFormat(d3.format(",.1f")),h.duration(0).headerEnabled(!1).valueFormatter(function(a,b){return g.tickFormat()(a,b)}).keyFormatter(function(a,b){return f.tickFormat()(a,b)});var t=a.utils.renderWatch(r,s);return e.dispatch.on("elementMouseover.tooltip",function(a){a.series={key:b.x()(a.data),value:b.y()(a.data),color:a.color},h.data(a).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(){h.hidden(!0)}),e.dispatch.on("elementMousemove.tooltip",function(){h.position({top:d3.event.pageY,left:d3.event.pageX})()}),b.dispatch=r,b.discretebar=e,b.xAxis=f,b.yAxis=g,b.tooltip=h,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return j},set:function(a){j=a}},height:{get:function(){return k},set:function(a){k=a}},staggerLabels:{get:function(){return p},set:function(a){p=a}},showXAxis:{get:function(){return m},set:function(a){m=a}},showYAxis:{get:function(){return n},set:function(a){n=a}},noData:{get:function(){return q},set:function(a){q=a}},tooltips:{get:function(){return h.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),h.enabled(!!b)}},tooltipContent:{get:function(){return h.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),h.contentGenerator(b)}},margin:{get:function(){return i},set:function(a){i.top=void 0!==a.top?a.top:i.top,i.right=void 0!==a.right?a.right:i.right,i.bottom=void 0!==a.bottom?a.bottom:i.bottom,i.left=void 0!==a.left?a.left:i.left}},duration:{get:function(){return s},set:function(a){s=a,t.reset(s),e.duration(s),f.duration(s),g.duration(s)}},color:{get:function(){return l},set:function(b){l=a.utils.getColor(b),e.color(l)}},rightAlignYAxis:{get:function(){return o},set:function(a){o=a,g.orient(a?"right":"left")}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.distribution=function(){"use strict";function b(k){return m.reset(),k.each(function(b){var k=(e-("x"===g?d.left+d.right:d.top+d.bottom),"x"==g?"y":"x"),l=d3.select(this);a.utils.initSVG(l),c=c||j;var n=l.selectAll("g.nv-distribution").data([b]),o=n.enter().append("g").attr("class","nvd3 nv-distribution"),p=(o.append("g"),n.select("g"));n.attr("transform","translate("+d.left+","+d.top+")");var q=p.selectAll("g.nv-dist").data(function(a){return a},function(a){return a.key});q.enter().append("g"),q.attr("class",function(a,b){return"nv-dist nv-series-"+b}).style("stroke",function(a,b){return i(a,b)});var r=q.selectAll("line.nv-dist"+g).data(function(a){return a.values});r.enter().append("line").attr(g+"1",function(a,b){return c(h(a,b))}).attr(g+"2",function(a,b){return c(h(a,b))}),m.transition(q.exit().selectAll("line.nv-dist"+g),"dist exit").attr(g+"1",function(a,b){return j(h(a,b))}).attr(g+"2",function(a,b){return j(h(a,b))}).style("stroke-opacity",0).remove(),r.attr("class",function(a,b){return"nv-dist"+g+" nv-dist"+g+"-"+b}).attr(k+"1",0).attr(k+"2",f),m.transition(r,"dist").attr(g+"1",function(a,b){return j(h(a,b))}).attr(g+"2",function(a,b){return j(h(a,b))}),c=j.copy()}),m.renderEnd("distribution immediate"),b}var c,d={top:0,right:0,bottom:0,left:0},e=400,f=8,g="x",h=function(a){return a[g]},i=a.utils.defaultColor(),j=d3.scale.linear(),k=250,l=d3.dispatch("renderEnd"),m=a.utils.renderWatch(l,k);return b.options=a.utils.optionsFunc.bind(b),b.dispatch=l,b.margin=function(a){return arguments.length?(d.top="undefined"!=typeof a.top?a.top:d.top,d.right="undefined"!=typeof a.right?a.right:d.right,d.bottom="undefined"!=typeof a.bottom?a.bottom:d.bottom,d.left="undefined"!=typeof a.left?a.left:d.left,b):d},b.width=function(a){return arguments.length?(e=a,b):e},b.axis=function(a){return arguments.length?(g=a,b):g},b.size=function(a){return arguments.length?(f=a,b):f},b.getData=function(a){return arguments.length?(h=d3.functor(a),b):h},b.scale=function(a){return arguments.length?(j=a,b):j},b.color=function(c){return arguments.length?(i=a.utils.getColor(c),b):i},b.duration=function(a){return arguments.length?(k=a,m.reset(k),b):k},b},a.models.furiousLegend=function(){"use strict";function b(p){function q(a,b){return"furious"!=o?"#000":m?a.disengaged?g(a,b):"#fff":m?void 0:a.disabled?g(a,b):"#fff"}function r(a,b){return m&&"furious"==o?a.disengaged?"#fff":g(a,b):a.disabled?"#fff":g(a,b)}return p.each(function(b){var p=d-c.left-c.right,s=d3.select(this);a.utils.initSVG(s);var t=s.selectAll("g.nv-legend").data([b]),u=(t.enter().append("g").attr("class","nvd3 nv-legend").append("g"),t.select("g"));t.attr("transform","translate("+c.left+","+c.top+")");var v,w=u.selectAll(".nv-series").data(function(a){return"furious"!=o?a:a.filter(function(a){return m?!0:!a.disengaged})}),x=w.enter().append("g").attr("class","nv-series");if("classic"==o)x.append("circle").style("stroke-width",2).attr("class","nv-legend-symbol").attr("r",5),v=w.select("circle");else if("furious"==o){x.append("rect").style("stroke-width",2).attr("class","nv-legend-symbol").attr("rx",3).attr("ry",3),v=w.select("rect"),x.append("g").attr("class","nv-check-box").property("innerHTML",'').attr("transform","translate(-10,-8)scale(0.5)");var y=w.select(".nv-check-box");y.each(function(a,b){d3.select(this).selectAll("path").attr("stroke",q(a,b))})}x.append("text").attr("text-anchor","start").attr("class","nv-legend-text").attr("dy",".32em").attr("dx","8");var z=w.select("text.nv-legend-text");w.on("mouseover",function(a,b){n.legendMouseover(a,b)}).on("mouseout",function(a,b){n.legendMouseout(a,b)}).on("click",function(a,b){n.legendClick(a,b);var c=w.data();if(k){if("classic"==o)l?(c.forEach(function(a){a.disabled=!0}),a.disabled=!1):(a.disabled=!a.disabled,c.every(function(a){return a.disabled})&&c.forEach(function(a){a.disabled=!1}));else if("furious"==o)if(m)a.disengaged=!a.disengaged,a.userDisabled=void 0==a.userDisabled?!!a.disabled:a.userDisabled,a.disabled=a.disengaged||a.userDisabled;else if(!m){a.disabled=!a.disabled,a.userDisabled=a.disabled;var d=c.filter(function(a){return!a.disengaged});d.every(function(a){return a.userDisabled})&&c.forEach(function(a){a.disabled=a.userDisabled=!1})}n.stateChange({disabled:c.map(function(a){return!!a.disabled}),disengaged:c.map(function(a){return!!a.disengaged})})}}).on("dblclick",function(a,b){if(("furious"!=o||!m)&&(n.legendDblclick(a,b),k)){var c=w.data();c.forEach(function(a){a.disabled=!0,"furious"==o&&(a.userDisabled=a.disabled)}),a.disabled=!1,"furious"==o&&(a.userDisabled=a.disabled),n.stateChange({disabled:c.map(function(a){return!!a.disabled})})}}),w.classed("nv-disabled",function(a){return a.userDisabled}),w.exit().remove(),z.attr("fill",q).text(f);var A;switch(o){case"furious":A=23;break;case"classic":A=20}if(h){var B=[];w.each(function(){var b,c=d3.select(this).select("text");try{if(b=c.node().getComputedTextLength(),0>=b)throw Error()}catch(d){b=a.utils.calcApproxTextWidth(c)}B.push(b+i)});for(var C=0,D=0,E=[];p>D&&Cp&&C>1;){E=[],C--;for(var F=0;F(E[F%C]||0)&&(E[F%C]=B[F]);D=E.reduce(function(a,b){return a+b})}for(var G=[],H=0,I=0;C>H;H++)G[H]=I,I+=E[H];w.attr("transform",function(a,b){return"translate("+G[b%C]+","+(5+Math.floor(b/C)*A)+")"}),j?u.attr("transform","translate("+(d-c.right-D)+","+c.top+")"):u.attr("transform","translate(0,"+c.top+")"),e=c.top+c.bottom+Math.ceil(B.length/C)*A}else{var J,K=5,L=5,M=0;w.attr("transform",function(){var a=d3.select(this).select("text").node().getComputedTextLength()+i;return J=L,dM&&(M=L),"translate("+J+","+K+")"}),u.attr("transform","translate("+(d-c.right-M)+","+c.top+")"),e=c.top+c.bottom+K+15}"furious"==o&&v.attr("width",function(a,b){return z[0][b].getComputedTextLength()+27}).attr("height",18).attr("y",-9).attr("x",-15),v.style("fill",r).style("stroke",function(a,b){return a.color||g(a,b)})}),b}var c={top:5,right:0,bottom:5,left:0},d=400,e=20,f=function(a){return a.key},g=a.utils.getColor(),h=!0,i=28,j=!0,k=!0,l=!1,m=!1,n=d3.dispatch("legendClick","legendDblclick","legendMouseover","legendMouseout","stateChange"),o="classic";return b.dispatch=n,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return d},set:function(a){d=a}},height:{get:function(){return e},set:function(a){e=a}},key:{get:function(){return f},set:function(a){f=a}},align:{get:function(){return h},set:function(a){h=a}},rightAlign:{get:function(){return j},set:function(a){j=a}},padding:{get:function(){return i},set:function(a){i=a}},updateState:{get:function(){return k},set:function(a){k=a}},radioButtonMode:{get:function(){return l},set:function(a){l=a}},expanded:{get:function(){return m},set:function(a){m=a}},vers:{get:function(){return o},set:function(a){o=a}},margin:{get:function(){return c},set:function(a){c.top=void 0!==a.top?a.top:c.top,c.right=void 0!==a.right?a.right:c.right,c.bottom=void 0!==a.bottom?a.bottom:c.bottom,c.left=void 0!==a.left?a.left:c.left}},color:{get:function(){return g},set:function(b){g=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.historicalBar=function(){"use strict";function b(x){return x.each(function(b){w.reset(),k=d3.select(this);var x=a.utils.availableWidth(h,k,g),y=a.utils.availableHeight(i,k,g);a.utils.initSVG(k),l.domain(c||d3.extent(b[0].values.map(n).concat(p))),l.range(r?e||[.5*x/b[0].values.length,x*(b[0].values.length-.5)/b[0].values.length]:e||[0,x]),m.domain(d||d3.extent(b[0].values.map(o).concat(q))).range(f||[y,0]),l.domain()[0]===l.domain()[1]&&l.domain(l.domain()[0]?[l.domain()[0]-.01*l.domain()[0],l.domain()[1]+.01*l.domain()[1]]:[-1,1]),m.domain()[0]===m.domain()[1]&&m.domain(m.domain()[0]?[m.domain()[0]+.01*m.domain()[0],m.domain()[1]-.01*m.domain()[1]]:[-1,1]);var z=k.selectAll("g.nv-wrap.nv-historicalBar-"+j).data([b[0].values]),A=z.enter().append("g").attr("class","nvd3 nv-wrap nv-historicalBar-"+j),B=A.append("defs"),C=A.append("g"),D=z.select("g");C.append("g").attr("class","nv-bars"),z.attr("transform","translate("+g.left+","+g.top+")"),k.on("click",function(a,b){u.chartClick({data:a,index:b,pos:d3.event,id:j})}),B.append("clipPath").attr("id","nv-chart-clip-path-"+j).append("rect"),z.select("#nv-chart-clip-path-"+j+" rect").attr("width",x).attr("height",y),D.attr("clip-path",s?"url(#nv-chart-clip-path-"+j+")":"");var E=z.select(".nv-bars").selectAll(".nv-bar").data(function(a){return a},function(a,b){return n(a,b)});E.exit().remove(),E.enter().append("rect").attr("x",0).attr("y",function(b,c){return a.utils.NaNtoZero(m(Math.max(0,o(b,c))))}).attr("height",function(b,c){return a.utils.NaNtoZero(Math.abs(m(o(b,c))-m(0)))}).attr("transform",function(a,c){return"translate("+(l(n(a,c))-x/b[0].values.length*.45)+",0)"}).on("mouseover",function(a,b){v&&(d3.select(this).classed("hover",!0),u.elementMouseover({data:a,index:b,color:d3.select(this).style("fill")}))}).on("mouseout",function(a,b){v&&(d3.select(this).classed("hover",!1),u.elementMouseout({data:a,index:b,color:d3.select(this).style("fill")}))}).on("mousemove",function(a,b){v&&u.elementMousemove({data:a,index:b,color:d3.select(this).style("fill")})}).on("click",function(a,b){v&&(u.elementClick({data:a,index:b,color:d3.select(this).style("fill")}),d3.event.stopPropagation())}).on("dblclick",function(a,b){v&&(u.elementDblClick({data:a,index:b,color:d3.select(this).style("fill")}),d3.event.stopPropagation())}),E.attr("fill",function(a,b){return t(a,b)}).attr("class",function(a,b,c){return(o(a,b)<0?"nv-bar negative":"nv-bar positive")+" nv-bar-"+c+"-"+b}).watchTransition(w,"bars").attr("transform",function(a,c){return"translate("+(l(n(a,c))-x/b[0].values.length*.45)+",0)"}).attr("width",x/b[0].values.length*.9),E.watchTransition(w,"bars").attr("y",function(b,c){var d=o(b,c)<0?m(0):m(0)-m(o(b,c))<1?m(0)-1:m(o(b,c));return a.utils.NaNtoZero(d)}).attr("height",function(b,c){return a.utils.NaNtoZero(Math.max(Math.abs(m(o(b,c))-m(0)),1))})}),w.renderEnd("historicalBar immediate"),b}var c,d,e,f,g={top:0,right:0,bottom:0,left:0},h=null,i=null,j=Math.floor(1e4*Math.random()),k=null,l=d3.scale.linear(),m=d3.scale.linear(),n=function(a){return a.x},o=function(a){return a.y},p=[],q=[0],r=!1,s=!0,t=a.utils.defaultColor(),u=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),v=!0,w=a.utils.renderWatch(u,0);return b.highlightPoint=function(a,b){k.select(".nv-bars .nv-bar-0-"+a).classed("hover",b)},b.clearHighlights=function(){k.select(".nv-bars .nv-bar.hover").classed("hover",!1)},b.dispatch=u,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return h},set:function(a){h=a}},height:{get:function(){return i},set:function(a){i=a}},forceX:{get:function(){return p},set:function(a){p=a}},forceY:{get:function(){return q},set:function(a){q=a}},padData:{get:function(){return r},set:function(a){r=a}},x:{get:function(){return n},set:function(a){n=a}},y:{get:function(){return o},set:function(a){o=a}},xScale:{get:function(){return l},set:function(a){l=a}},yScale:{get:function(){return m},set:function(a){m=a}},xDomain:{get:function(){return c},set:function(a){c=a}},yDomain:{get:function(){return d},set:function(a){d=a}},xRange:{get:function(){return e},set:function(a){e=a}},yRange:{get:function(){return f},set:function(a){f=a}},clipEdge:{get:function(){return s},set:function(a){s=a}},id:{get:function(){return j},set:function(a){j=a}},interactive:{get:function(){return v},set:function(a){v=a}},margin:{get:function(){return g},set:function(a){g.top=void 0!==a.top?a.top:g.top,g.right=void 0!==a.right?a.right:g.right,g.bottom=void 0!==a.bottom?a.bottom:g.bottom,g.left=void 0!==a.left?a.left:g.left}},color:{get:function(){return t},set:function(b){t=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.historicalBarChart=function(b){"use strict";function c(b){return b.each(function(k){z.reset(),z.models(f),q&&z.models(g),r&&z.models(h);var w=d3.select(this),A=this;a.utils.initSVG(w);var B=a.utils.availableWidth(n,w,l),C=a.utils.availableHeight(o,w,l);if(c.update=function(){w.transition().duration(y).call(c)},c.container=this,u.disabled=k.map(function(a){return!!a.disabled}),!v){var D;v={};for(D in u)v[D]=u[D]instanceof Array?u[D].slice(0):u[D]}if(!(k&&k.length&&k.filter(function(a){return a.values.length}).length))return a.utils.noData(c,w),c;w.selectAll(".nv-noData").remove(),d=f.xScale(),e=f.yScale();var E=w.selectAll("g.nv-wrap.nv-historicalBarChart").data([k]),F=E.enter().append("g").attr("class","nvd3 nv-wrap nv-historicalBarChart").append("g"),G=E.select("g");F.append("g").attr("class","nv-x nv-axis"),F.append("g").attr("class","nv-y nv-axis"),F.append("g").attr("class","nv-barsWrap"),F.append("g").attr("class","nv-legendWrap"),F.append("g").attr("class","nv-interactive"),p&&(i.width(B),G.select(".nv-legendWrap").datum(k).call(i),l.top!=i.height()&&(l.top=i.height(),C=a.utils.availableHeight(o,w,l)),E.select(".nv-legendWrap").attr("transform","translate(0,"+-l.top+")")),E.attr("transform","translate("+l.left+","+l.top+")"),s&&G.select(".nv-y.nv-axis").attr("transform","translate("+B+",0)"),t&&(j.width(B).height(C).margin({left:l.left,top:l.top}).svgContainer(w).xScale(d),E.select(".nv-interactive").call(j)),f.width(B).height(C).color(k.map(function(a,b){return a.color||m(a,b)}).filter(function(a,b){return!k[b].disabled}));var H=G.select(".nv-barsWrap").datum(k.filter(function(a){return!a.disabled}));H.transition().call(f),q&&(g.scale(d)._ticks(a.utils.calcTicksX(B/100,k)).tickSize(-C,0),G.select(".nv-x.nv-axis").attr("transform","translate(0,"+e.range()[0]+")"),G.select(".nv-x.nv-axis").transition().call(g)),r&&(h.scale(e)._ticks(a.utils.calcTicksY(C/36,k)).tickSize(-B,0),G.select(".nv-y.nv-axis").transition().call(h)),j.dispatch.on("elementMousemove",function(b){f.clearHighlights();var d,e,i,n=[];k.filter(function(a,b){return a.seriesIndex=b,!a.disabled}).forEach(function(g){e=a.interactiveBisect(g.values,b.pointXValue,c.x()),f.highlightPoint(e,!0);var h=g.values[e];void 0!==h&&(void 0===d&&(d=h),void 0===i&&(i=c.xScale()(c.x()(h,e))),n.push({key:g.key,value:c.y()(h,e),color:m(g,g.seriesIndex),data:g.values[e]}))});var o=g.tickFormat()(c.x()(d,e));j.tooltip.position({left:i+l.left,top:b.mouseY+l.top}).chartContainer(A.parentNode).valueFormatter(function(a){return h.tickFormat()(a)}).data({value:o,index:e,series:n})(),j.renderGuideLine(i)}),j.dispatch.on("elementMouseout",function(){x.tooltipHide(),f.clearHighlights()}),i.dispatch.on("legendClick",function(a){a.disabled=!a.disabled,k.filter(function(a){return!a.disabled}).length||k.map(function(a){return a.disabled=!1,E.selectAll(".nv-series").classed("disabled",!1),a}),u.disabled=k.map(function(a){return!!a.disabled}),x.stateChange(u),b.transition().call(c)}),i.dispatch.on("legendDblclick",function(a){k.forEach(function(a){a.disabled=!0}),a.disabled=!1,u.disabled=k.map(function(a){return!!a.disabled}),x.stateChange(u),c.update()}),x.on("changeState",function(a){"undefined"!=typeof a.disabled&&(k.forEach(function(b,c){b.disabled=a.disabled[c]}),u.disabled=a.disabled),c.update()})}),z.renderEnd("historicalBarChart immediate"),c}var d,e,f=b||a.models.historicalBar(),g=a.models.axis(),h=a.models.axis(),i=a.models.legend(),j=a.interactiveGuideline(),k=a.models.tooltip(),l={top:30,right:90,bottom:50,left:90},m=a.utils.defaultColor(),n=null,o=null,p=!1,q=!0,r=!0,s=!1,t=!1,u={},v=null,w=null,x=d3.dispatch("tooltipHide","stateChange","changeState","renderEnd"),y=250;g.orient("bottom").tickPadding(7),h.orient(s?"right":"left"),k.duration(0).headerEnabled(!1).valueFormatter(function(a,b){return h.tickFormat()(a,b)}).headerFormatter(function(a,b){return g.tickFormat()(a,b)});var z=a.utils.renderWatch(x,0);return f.dispatch.on("elementMouseover.tooltip",function(a){a.series={key:c.x()(a.data),value:c.y()(a.data),color:a.color},k.data(a).hidden(!1)}),f.dispatch.on("elementMouseout.tooltip",function(){k.hidden(!0)}),f.dispatch.on("elementMousemove.tooltip",function(){k.position({top:d3.event.pageY,left:d3.event.pageX})()}),c.dispatch=x,c.bars=f,c.legend=i,c.xAxis=g,c.yAxis=h,c.interactiveLayer=j,c.tooltip=k,c.options=a.utils.optionsFunc.bind(c),c._options=Object.create({},{width:{get:function(){return n},set:function(a){n=a}},height:{get:function(){return o},set:function(a){o=a}},showLegend:{get:function(){return p},set:function(a){p=a}},showXAxis:{get:function(){return q},set:function(a){q=a}},showYAxis:{get:function(){return r},set:function(a){r=a}},defaultState:{get:function(){return v},set:function(a){v=a}},noData:{get:function(){return w},set:function(a){w=a}},tooltips:{get:function(){return k.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),k.enabled(!!b)}},tooltipContent:{get:function(){return k.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),k.contentGenerator(b)}},margin:{get:function(){return l},set:function(a){l.top=void 0!==a.top?a.top:l.top,l.right=void 0!==a.right?a.right:l.right,l.bottom=void 0!==a.bottom?a.bottom:l.bottom,l.left=void 0!==a.left?a.left:l.left}},color:{get:function(){return m},set:function(b){m=a.utils.getColor(b),i.color(m),f.color(m)}},duration:{get:function(){return y},set:function(a){y=a,z.reset(y),h.duration(y),g.duration(y)}},rightAlignYAxis:{get:function(){return s},set:function(a){s=a,h.orient(a?"right":"left")}},useInteractiveGuideline:{get:function(){return t},set:function(a){t=a,a===!0&&c.interactive(!1)}}}),a.utils.inheritOptions(c,f),a.utils.initOptions(c),c},a.models.ohlcBarChart=function(){var b=a.models.historicalBarChart(a.models.ohlcBar());return b.useInteractiveGuideline(!0),b.interactiveLayer.tooltip.contentGenerator(function(a){var c=a.series[0].data,d=c.open'+a.value+"
    open:"+b.yAxis.tickFormat()(c.open)+"
    close:"+b.yAxis.tickFormat()(c.close)+"
    high"+b.yAxis.tickFormat()(c.high)+"
    low:"+b.yAxis.tickFormat()(c.low)+"
    "}),b},a.models.candlestickBarChart=function(){var b=a.models.historicalBarChart(a.models.candlestickBar());return b.useInteractiveGuideline(!0),b.interactiveLayer.tooltip.contentGenerator(function(a){var c=a.series[0].data,d=c.open'+a.value+"
    open:"+b.yAxis.tickFormat()(c.open)+"
    close:"+b.yAxis.tickFormat()(c.close)+"
    high"+b.yAxis.tickFormat()(c.high)+"
    low:"+b.yAxis.tickFormat()(c.low)+"
    "}),b},a.models.legend=function(){"use strict";function b(p){function q(a,b){return"furious"!=o?"#000":m?a.disengaged?"#000":"#fff":m?void 0:(a.color||(a.color=g(a,b)),a.disabled?a.color:"#fff")}function r(a,b){return m&&"furious"==o&&a.disengaged?"#eee":a.color||g(a,b)}function s(a){return m&&"furious"==o?1:a.disabled?0:1}return p.each(function(b){var g=d-c.left-c.right,p=d3.select(this);a.utils.initSVG(p);var t=p.selectAll("g.nv-legend").data([b]),u=t.enter().append("g").attr("class","nvd3 nv-legend").append("g"),v=t.select("g");t.attr("transform","translate("+c.left+","+c.top+")");var w,x,y=v.selectAll(".nv-series").data(function(a){return"furious"!=o?a:a.filter(function(a){return m?!0:!a.disengaged})}),z=y.enter().append("g").attr("class","nv-series");switch(o){case"furious":x=23;break;case"classic":x=20}if("classic"==o)z.append("circle").style("stroke-width",2).attr("class","nv-legend-symbol").attr("r",5),w=y.select("circle");else if("furious"==o){z.append("rect").style("stroke-width",2).attr("class","nv-legend-symbol").attr("rx",3).attr("ry",3),w=y.select(".nv-legend-symbol"),z.append("g").attr("class","nv-check-box").property("innerHTML",'').attr("transform","translate(-10,-8)scale(0.5)");var A=y.select(".nv-check-box");A.each(function(a,b){d3.select(this).selectAll("path").attr("stroke",q(a,b))})}z.append("text").attr("text-anchor","start").attr("class","nv-legend-text").attr("dy",".32em").attr("dx","8");var B=y.select("text.nv-legend-text");y.on("mouseover",function(a,b){n.legendMouseover(a,b)}).on("mouseout",function(a,b){n.legendMouseout(a,b)}).on("click",function(a,b){n.legendClick(a,b);var c=y.data();if(k){if("classic"==o)l?(c.forEach(function(a){a.disabled=!0}),a.disabled=!1):(a.disabled=!a.disabled,c.every(function(a){return a.disabled})&&c.forEach(function(a){a.disabled=!1}));else if("furious"==o)if(m)a.disengaged=!a.disengaged,a.userDisabled=void 0==a.userDisabled?!!a.disabled:a.userDisabled,a.disabled=a.disengaged||a.userDisabled;else if(!m){a.disabled=!a.disabled,a.userDisabled=a.disabled;var d=c.filter(function(a){return!a.disengaged});d.every(function(a){return a.userDisabled})&&c.forEach(function(a){a.disabled=a.userDisabled=!1})}n.stateChange({disabled:c.map(function(a){return!!a.disabled}),disengaged:c.map(function(a){return!!a.disengaged})})}}).on("dblclick",function(a,b){if(("furious"!=o||!m)&&(n.legendDblclick(a,b),k)){var c=y.data();c.forEach(function(a){a.disabled=!0,"furious"==o&&(a.userDisabled=a.disabled)}),a.disabled=!1,"furious"==o&&(a.userDisabled=a.disabled),n.stateChange({disabled:c.map(function(a){return!!a.disabled})})}}),y.classed("nv-disabled",function(a){return a.userDisabled}),y.exit().remove(),B.attr("fill",q).text(f);var C=0;if(h){var D=[];y.each(function(){var b,c=d3.select(this).select("text");try{if(b=c.node().getComputedTextLength(),0>=b)throw Error()}catch(d){b=a.utils.calcApproxTextWidth(c)}D.push(b+i)});var E=0,F=[];for(C=0;g>C&&Eg&&E>1;){F=[],E--;for(var G=0;G(F[G%E]||0)&&(F[G%E]=D[G]);C=F.reduce(function(a,b){return a+b})}for(var H=[],I=0,J=0;E>I;I++)H[I]=J,J+=F[I];y.attr("transform",function(a,b){return"translate("+H[b%E]+","+(5+Math.floor(b/E)*x)+")"}),j?v.attr("transform","translate("+(d-c.right-C)+","+c.top+")"):v.attr("transform","translate(0,"+c.top+")"),e=c.top+c.bottom+Math.ceil(D.length/E)*x}else{var K,L=5,M=5,N=0;y.attr("transform",function(){var a=d3.select(this).select("text").node().getComputedTextLength()+i;return K=M,dN&&(N=M),K+N>C&&(C=K+N),"translate("+K+","+L+")"}),v.attr("transform","translate("+(d-c.right-N)+","+c.top+")"),e=c.top+c.bottom+L+15}if("furious"==o){w.attr("width",function(a,b){return B[0][b].getComputedTextLength()+27}).attr("height",18).attr("y",-9).attr("x",-15),u.insert("rect",":first-child").attr("class","nv-legend-bg").attr("fill","#eee").attr("opacity",0);var O=v.select(".nv-legend-bg");O.transition().duration(300).attr("x",-x).attr("width",C+x-12).attr("height",e+10).attr("y",-c.top-10).attr("opacity",m?1:0)}w.style("fill",r).style("fill-opacity",s).style("stroke",r)}),b}var c={top:5,right:0,bottom:5,left:0},d=400,e=20,f=function(a){return a.key},g=a.utils.getColor(),h=!0,i=32,j=!0,k=!0,l=!1,m=!1,n=d3.dispatch("legendClick","legendDblclick","legendMouseover","legendMouseout","stateChange"),o="classic";return b.dispatch=n,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return d},set:function(a){d=a}},height:{get:function(){return e},set:function(a){e=a}},key:{get:function(){return f},set:function(a){f=a}},align:{get:function(){return h},set:function(a){h=a}},rightAlign:{get:function(){return j},set:function(a){j=a}},padding:{get:function(){return i},set:function(a){i=a}},updateState:{get:function(){return k},set:function(a){k=a}},radioButtonMode:{get:function(){return l},set:function(a){l=a}},expanded:{get:function(){return m},set:function(a){m=a}},vers:{get:function(){return o},set:function(a){o=a}},margin:{get:function(){return c},set:function(a){c.top=void 0!==a.top?a.top:c.top,c.right=void 0!==a.right?a.right:c.right,c.bottom=void 0!==a.bottom?a.bottom:c.bottom,c.left=void 0!==a.left?a.left:c.left}},color:{get:function(){return g},set:function(b){g=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.line=function(){"use strict";function b(r){return v.reset(),v.models(e),r.each(function(b){i=d3.select(this);var r=a.utils.availableWidth(g,i,f),s=a.utils.availableHeight(h,i,f);a.utils.initSVG(i),c=e.xScale(),d=e.yScale(),t=t||c,u=u||d;var w=i.selectAll("g.nv-wrap.nv-line").data([b]),x=w.enter().append("g").attr("class","nvd3 nv-wrap nv-line"),y=x.append("defs"),z=x.append("g"),A=w.select("g");z.append("g").attr("class","nv-groups"),z.append("g").attr("class","nv-scatterWrap"),w.attr("transform","translate("+f.left+","+f.top+")"),e.width(r).height(s);var B=w.select(".nv-scatterWrap");B.call(e),y.append("clipPath").attr("id","nv-edge-clip-"+e.id()).append("rect"),w.select("#nv-edge-clip-"+e.id()+" rect").attr("width",r).attr("height",s>0?s:0),A.attr("clip-path",p?"url(#nv-edge-clip-"+e.id()+")":""),B.attr("clip-path",p?"url(#nv-edge-clip-"+e.id()+")":"");var C=w.select(".nv-groups").selectAll(".nv-group").data(function(a){return a},function(a){return a.key});C.enter().append("g").style("stroke-opacity",1e-6).style("stroke-width",function(a){return a.strokeWidth||j}).style("fill-opacity",1e-6),C.exit().remove(),C.attr("class",function(a,b){return(a.classed||"")+" nv-group nv-series-"+b}).classed("hover",function(a){return a.hover}).style("fill",function(a,b){return k(a,b)}).style("stroke",function(a,b){return k(a,b)}),C.watchTransition(v,"line: groups").style("stroke-opacity",1).style("fill-opacity",function(a){return a.fillOpacity||.5});var D=C.selectAll("path.nv-area").data(function(a){return o(a)?[a]:[]});D.enter().append("path").attr("class","nv-area").attr("d",function(b){return d3.svg.area().interpolate(q).defined(n).x(function(b,c){return a.utils.NaNtoZero(t(l(b,c)))}).y0(function(b,c){return a.utils.NaNtoZero(u(m(b,c)))}).y1(function(){return u(d.domain()[0]<=0?d.domain()[1]>=0?0:d.domain()[1]:d.domain()[0])}).apply(this,[b.values])}),C.exit().selectAll("path.nv-area").remove(),D.watchTransition(v,"line: areaPaths").attr("d",function(b){return d3.svg.area().interpolate(q).defined(n).x(function(b,d){return a.utils.NaNtoZero(c(l(b,d)))}).y0(function(b,c){return a.utils.NaNtoZero(d(m(b,c)))}).y1(function(){return d(d.domain()[0]<=0?d.domain()[1]>=0?0:d.domain()[1]:d.domain()[0])}).apply(this,[b.values])});var E=C.selectAll("path.nv-line").data(function(a){return[a.values]});E.enter().append("path").attr("class","nv-line").attr("d",d3.svg.line().interpolate(q).defined(n).x(function(b,c){return a.utils.NaNtoZero(t(l(b,c)))}).y(function(b,c){return a.utils.NaNtoZero(u(m(b,c)))})),E.watchTransition(v,"line: linePaths").attr("d",d3.svg.line().interpolate(q).defined(n).x(function(b,d){return a.utils.NaNtoZero(c(l(b,d)))}).y(function(b,c){return a.utils.NaNtoZero(d(m(b,c)))})),t=c.copy(),u=d.copy()}),v.renderEnd("line immediate"),b}var c,d,e=a.models.scatter(),f={top:0,right:0,bottom:0,left:0},g=960,h=500,i=null,j=1.5,k=a.utils.defaultColor(),l=function(a){return a.x},m=function(a){return a.y},n=function(a,b){return!isNaN(m(a,b))&&null!==m(a,b)},o=function(a){return a.area},p=!1,q="linear",r=250,s=d3.dispatch("elementClick","elementMouseover","elementMouseout","renderEnd");e.pointSize(16).pointDomain([16,256]);var t,u,v=a.utils.renderWatch(s,r);return b.dispatch=s,b.scatter=e,e.dispatch.on("elementClick",function(){s.elementClick.apply(this,arguments)}),e.dispatch.on("elementMouseover",function(){s.elementMouseover.apply(this,arguments)}),e.dispatch.on("elementMouseout",function(){s.elementMouseout.apply(this,arguments)}),b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return g},set:function(a){g=a}},height:{get:function(){return h},set:function(a){h=a}},defined:{get:function(){return n},set:function(a){n=a}},interpolate:{get:function(){return q},set:function(a){q=a}},clipEdge:{get:function(){return p},set:function(a){p=a}},margin:{get:function(){return f},set:function(a){f.top=void 0!==a.top?a.top:f.top,f.right=void 0!==a.right?a.right:f.right,f.bottom=void 0!==a.bottom?a.bottom:f.bottom,f.left=void 0!==a.left?a.left:f.left}},duration:{get:function(){return r},set:function(a){r=a,v.reset(r),e.duration(r)}},isArea:{get:function(){return o},set:function(a){o=d3.functor(a)}},x:{get:function(){return l},set:function(a){l=a,e.x(a)}},y:{get:function(){return m},set:function(a){m=a,e.y(a)}},color:{get:function(){return k},set:function(b){k=a.utils.getColor(b),e.color(k)}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.lineChart=function(){"use strict";function b(j){return y.reset(),y.models(e),p&&y.models(f),q&&y.models(g),j.each(function(j){var v=d3.select(this),y=this;a.utils.initSVG(v);var B=a.utils.availableWidth(m,v,k),C=a.utils.availableHeight(n,v,k);if(b.update=function(){0===x?v.call(b):v.transition().duration(x).call(b)},b.container=this,t.setter(A(j),b.update).getter(z(j)).update(),t.disabled=j.map(function(a){return!!a.disabled}),!u){var D;u={};for(D in t)u[D]=t[D]instanceof Array?t[D].slice(0):t[D] -}if(!(j&&j.length&&j.filter(function(a){return a.values.length}).length))return a.utils.noData(b,v),b;v.selectAll(".nv-noData").remove(),c=e.xScale(),d=e.yScale();var E=v.selectAll("g.nv-wrap.nv-lineChart").data([j]),F=E.enter().append("g").attr("class","nvd3 nv-wrap nv-lineChart").append("g"),G=E.select("g");F.append("rect").style("opacity",0),F.append("g").attr("class","nv-x nv-axis"),F.append("g").attr("class","nv-y nv-axis"),F.append("g").attr("class","nv-linesWrap"),F.append("g").attr("class","nv-legendWrap"),F.append("g").attr("class","nv-interactive"),G.select("rect").attr("width",B).attr("height",C>0?C:0),o&&(h.width(B),G.select(".nv-legendWrap").datum(j).call(h),k.top!=h.height()&&(k.top=h.height(),C=a.utils.availableHeight(n,v,k)),E.select(".nv-legendWrap").attr("transform","translate(0,"+-k.top+")")),E.attr("transform","translate("+k.left+","+k.top+")"),r&&G.select(".nv-y.nv-axis").attr("transform","translate("+B+",0)"),s&&(i.width(B).height(C).margin({left:k.left,top:k.top}).svgContainer(v).xScale(c),E.select(".nv-interactive").call(i)),e.width(B).height(C).color(j.map(function(a,b){return a.color||l(a,b)}).filter(function(a,b){return!j[b].disabled}));var H=G.select(".nv-linesWrap").datum(j.filter(function(a){return!a.disabled}));H.call(e),p&&(f.scale(c)._ticks(a.utils.calcTicksX(B/100,j)).tickSize(-C,0),G.select(".nv-x.nv-axis").attr("transform","translate(0,"+d.range()[0]+")"),G.select(".nv-x.nv-axis").call(f)),q&&(g.scale(d)._ticks(a.utils.calcTicksY(C/36,j)).tickSize(-B,0),G.select(".nv-y.nv-axis").call(g)),h.dispatch.on("stateChange",function(a){for(var c in a)t[c]=a[c];w.stateChange(t),b.update()}),i.dispatch.on("elementMousemove",function(c){e.clearHighlights();var d,h,m,n=[];if(j.filter(function(a,b){return a.seriesIndex=b,!a.disabled}).forEach(function(f,g){h=a.interactiveBisect(f.values,c.pointXValue,b.x());var i=f.values[h],j=b.y()(i,h);null!=j&&e.highlightPoint(g,h,!0),void 0!==i&&(void 0===d&&(d=i),void 0===m&&(m=b.xScale()(b.x()(i,h))),n.push({key:f.key,value:j,color:l(f,f.seriesIndex)}))}),n.length>2){var o=b.yScale().invert(c.mouseY),p=Math.abs(b.yScale().domain()[0]-b.yScale().domain()[1]),q=.03*p,r=a.nearestValueIndex(n.map(function(a){return a.value}),o,q);null!==r&&(n[r].highlight=!0)}var s=f.tickFormat()(b.x()(d,h));i.tooltip.position({left:c.mouseX+k.left,top:c.mouseY+k.top}).chartContainer(y.parentNode).valueFormatter(function(a){return null==a?"N/A":g.tickFormat()(a)}).data({value:s,index:h,series:n})(),i.renderGuideLine(m)}),i.dispatch.on("elementClick",function(c){var d,f=[];j.filter(function(a,b){return a.seriesIndex=b,!a.disabled}).forEach(function(e){var g=a.interactiveBisect(e.values,c.pointXValue,b.x()),h=e.values[g];if("undefined"!=typeof h){"undefined"==typeof d&&(d=b.xScale()(b.x()(h,g)));var i=b.yScale()(b.y()(h,g));f.push({point:h,pointIndex:g,pos:[d,i],seriesIndex:e.seriesIndex,series:e})}}),e.dispatch.elementClick(f)}),i.dispatch.on("elementMouseout",function(){e.clearHighlights()}),w.on("changeState",function(a){"undefined"!=typeof a.disabled&&j.length===a.disabled.length&&(j.forEach(function(b,c){b.disabled=a.disabled[c]}),t.disabled=a.disabled),b.update()})}),y.renderEnd("lineChart immediate"),b}var c,d,e=a.models.line(),f=a.models.axis(),g=a.models.axis(),h=a.models.legend(),i=a.interactiveGuideline(),j=a.models.tooltip(),k={top:30,right:20,bottom:50,left:60},l=a.utils.defaultColor(),m=null,n=null,o=!0,p=!0,q=!0,r=!1,s=!1,t=a.utils.state(),u=null,v=null,w=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState","renderEnd"),x=250;f.orient("bottom").tickPadding(7),g.orient(r?"right":"left"),j.valueFormatter(function(a,b){return g.tickFormat()(a,b)}).headerFormatter(function(a,b){return f.tickFormat()(a,b)});var y=a.utils.renderWatch(w,x),z=function(a){return function(){return{active:a.map(function(a){return!a.disabled})}}},A=function(a){return function(b){void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};return e.dispatch.on("elementMouseover.tooltip",function(a){j.data(a).position(a.pos).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(){j.hidden(!0)}),b.dispatch=w,b.lines=e,b.legend=h,b.xAxis=f,b.yAxis=g,b.interactiveLayer=i,b.tooltip=j,b.dispatch=w,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return m},set:function(a){m=a}},height:{get:function(){return n},set:function(a){n=a}},showLegend:{get:function(){return o},set:function(a){o=a}},showXAxis:{get:function(){return p},set:function(a){p=a}},showYAxis:{get:function(){return q},set:function(a){q=a}},defaultState:{get:function(){return u},set:function(a){u=a}},noData:{get:function(){return v},set:function(a){v=a}},tooltips:{get:function(){return j.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),j.enabled(!!b)}},tooltipContent:{get:function(){return j.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),j.contentGenerator(b)}},margin:{get:function(){return k},set:function(a){k.top=void 0!==a.top?a.top:k.top,k.right=void 0!==a.right?a.right:k.right,k.bottom=void 0!==a.bottom?a.bottom:k.bottom,k.left=void 0!==a.left?a.left:k.left}},duration:{get:function(){return x},set:function(a){x=a,y.reset(x),e.duration(x),f.duration(x),g.duration(x)}},color:{get:function(){return l},set:function(b){l=a.utils.getColor(b),h.color(l),e.color(l)}},rightAlignYAxis:{get:function(){return r},set:function(a){r=a,g.orient(r?"right":"left")}},useInteractiveGuideline:{get:function(){return s},set:function(a){s=a,s&&(e.interactive(!1),e.useVoronoi(!1))}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.linePlusBarChart=function(){"use strict";function b(v){return v.each(function(v){function J(a){var b=+("e"==a),c=b?1:-1,d=X/3;return"M"+.5*c+","+d+"A6,6 0 0 "+b+" "+6.5*c+","+(d+6)+"V"+(2*d-6)+"A6,6 0 0 "+b+" "+.5*c+","+2*d+"ZM"+2.5*c+","+(d+8)+"V"+(2*d-8)+"M"+4.5*c+","+(d+8)+"V"+(2*d-8)}function S(){u.empty()||u.extent(I),kb.data([u.empty()?e.domain():I]).each(function(a){var b=e(a[0])-e.range()[0],c=e.range()[1]-e(a[1]);d3.select(this).select(".left").attr("width",0>b?0:b),d3.select(this).select(".right").attr("x",e(a[1])).attr("width",0>c?0:c)})}function T(){I=u.empty()?null:u.extent(),c=u.empty()?e.domain():u.extent(),K.brush({extent:c,brush:u}),S(),l.width(V).height(W).color(v.map(function(a,b){return a.color||C(a,b)}).filter(function(a,b){return!v[b].disabled&&v[b].bar})),j.width(V).height(W).color(v.map(function(a,b){return a.color||C(a,b)}).filter(function(a,b){return!v[b].disabled&&!v[b].bar}));var b=db.select(".nv-focus .nv-barsWrap").datum(Z.length?Z.map(function(a){return{key:a.key,values:a.values.filter(function(a,b){return l.x()(a,b)>=c[0]&&l.x()(a,b)<=c[1]})}}):[{values:[]}]),h=db.select(".nv-focus .nv-linesWrap").datum($[0].disabled?[{values:[]}]:$.map(function(a){return{area:a.area,fillOpacity:a.fillOpacity,key:a.key,values:a.values.filter(function(a,b){return j.x()(a,b)>=c[0]&&j.x()(a,b)<=c[1]})}}));d=Z.length?l.xScale():j.xScale(),n.scale(d)._ticks(a.utils.calcTicksX(V/100,v)).tickSize(-W,0),n.domain([Math.ceil(c[0]),Math.floor(c[1])]),db.select(".nv-x.nv-axis").transition().duration(L).call(n),b.transition().duration(L).call(l),h.transition().duration(L).call(j),db.select(".nv-focus .nv-x.nv-axis").attr("transform","translate(0,"+f.range()[0]+")"),p.scale(f)._ticks(a.utils.calcTicksY(W/36,v)).tickSize(-V,0),q.scale(g)._ticks(a.utils.calcTicksY(W/36,v)).tickSize(Z.length?0:-V,0),db.select(".nv-focus .nv-y1.nv-axis").style("opacity",Z.length?1:0),db.select(".nv-focus .nv-y2.nv-axis").style("opacity",$.length&&!$[0].disabled?1:0).attr("transform","translate("+d.range()[1]+",0)"),db.select(".nv-focus .nv-y1.nv-axis").transition().duration(L).call(p),db.select(".nv-focus .nv-y2.nv-axis").transition().duration(L).call(q)}var U=d3.select(this);a.utils.initSVG(U);var V=a.utils.availableWidth(y,U,w),W=a.utils.availableHeight(z,U,w)-(E?H:0),X=H-x.top-x.bottom;if(b.update=function(){U.transition().duration(L).call(b)},b.container=this,M.setter(R(v),b.update).getter(Q(v)).update(),M.disabled=v.map(function(a){return!!a.disabled}),!N){var Y;N={};for(Y in M)N[Y]=M[Y]instanceof Array?M[Y].slice(0):M[Y]}if(!(v&&v.length&&v.filter(function(a){return a.values.length}).length))return a.utils.noData(b,U),b;U.selectAll(".nv-noData").remove();var Z=v.filter(function(a){return!a.disabled&&a.bar}),$=v.filter(function(a){return!a.bar});d=l.xScale(),e=o.scale(),f=l.yScale(),g=j.yScale(),h=m.yScale(),i=k.yScale();var _=v.filter(function(a){return!a.disabled&&a.bar}).map(function(a){return a.values.map(function(a,b){return{x:A(a,b),y:B(a,b)}})}),ab=v.filter(function(a){return!a.disabled&&!a.bar}).map(function(a){return a.values.map(function(a,b){return{x:A(a,b),y:B(a,b)}})});d.range([0,V]),e.domain(d3.extent(d3.merge(_.concat(ab)),function(a){return a.x})).range([0,V]);var bb=U.selectAll("g.nv-wrap.nv-linePlusBar").data([v]),cb=bb.enter().append("g").attr("class","nvd3 nv-wrap nv-linePlusBar").append("g"),db=bb.select("g");cb.append("g").attr("class","nv-legendWrap");var eb=cb.append("g").attr("class","nv-focus");eb.append("g").attr("class","nv-x nv-axis"),eb.append("g").attr("class","nv-y1 nv-axis"),eb.append("g").attr("class","nv-y2 nv-axis"),eb.append("g").attr("class","nv-barsWrap"),eb.append("g").attr("class","nv-linesWrap");var fb=cb.append("g").attr("class","nv-context");if(fb.append("g").attr("class","nv-x nv-axis"),fb.append("g").attr("class","nv-y1 nv-axis"),fb.append("g").attr("class","nv-y2 nv-axis"),fb.append("g").attr("class","nv-barsWrap"),fb.append("g").attr("class","nv-linesWrap"),fb.append("g").attr("class","nv-brushBackground"),fb.append("g").attr("class","nv-x nv-brush"),D){var gb=t.align()?V/2:V,hb=t.align()?gb:0;t.width(gb),db.select(".nv-legendWrap").datum(v.map(function(a){return a.originalKey=void 0===a.originalKey?a.key:a.originalKey,a.key=a.originalKey+(a.bar?O:P),a})).call(t),w.top!=t.height()&&(w.top=t.height(),W=a.utils.availableHeight(z,U,w)-H),db.select(".nv-legendWrap").attr("transform","translate("+hb+","+-w.top+")")}bb.attr("transform","translate("+w.left+","+w.top+")"),db.select(".nv-context").style("display",E?"initial":"none"),m.width(V).height(X).color(v.map(function(a,b){return a.color||C(a,b)}).filter(function(a,b){return!v[b].disabled&&v[b].bar})),k.width(V).height(X).color(v.map(function(a,b){return a.color||C(a,b)}).filter(function(a,b){return!v[b].disabled&&!v[b].bar}));var ib=db.select(".nv-context .nv-barsWrap").datum(Z.length?Z:[{values:[]}]),jb=db.select(".nv-context .nv-linesWrap").datum($[0].disabled?[{values:[]}]:$);db.select(".nv-context").attr("transform","translate(0,"+(W+w.bottom+x.top)+")"),ib.transition().call(m),jb.transition().call(k),G&&(o._ticks(a.utils.calcTicksX(V/100,v)).tickSize(-X,0),db.select(".nv-context .nv-x.nv-axis").attr("transform","translate(0,"+h.range()[0]+")"),db.select(".nv-context .nv-x.nv-axis").transition().call(o)),F&&(r.scale(h)._ticks(X/36).tickSize(-V,0),s.scale(i)._ticks(X/36).tickSize(Z.length?0:-V,0),db.select(".nv-context .nv-y3.nv-axis").style("opacity",Z.length?1:0).attr("transform","translate(0,"+e.range()[0]+")"),db.select(".nv-context .nv-y2.nv-axis").style("opacity",$.length?1:0).attr("transform","translate("+e.range()[1]+",0)"),db.select(".nv-context .nv-y1.nv-axis").transition().call(r),db.select(".nv-context .nv-y2.nv-axis").transition().call(s)),u.x(e).on("brush",T),I&&u.extent(I);var kb=db.select(".nv-brushBackground").selectAll("g").data([I||u.extent()]),lb=kb.enter().append("g");lb.append("rect").attr("class","left").attr("x",0).attr("y",0).attr("height",X),lb.append("rect").attr("class","right").attr("x",0).attr("y",0).attr("height",X);var mb=db.select(".nv-x.nv-brush").call(u);mb.selectAll("rect").attr("height",X),mb.selectAll(".resize").append("path").attr("d",J),t.dispatch.on("stateChange",function(a){for(var c in a)M[c]=a[c];K.stateChange(M),b.update()}),K.on("changeState",function(a){"undefined"!=typeof a.disabled&&(v.forEach(function(b,c){b.disabled=a.disabled[c]}),M.disabled=a.disabled),b.update()}),T()}),b}var c,d,e,f,g,h,i,j=a.models.line(),k=a.models.line(),l=a.models.historicalBar(),m=a.models.historicalBar(),n=a.models.axis(),o=a.models.axis(),p=a.models.axis(),q=a.models.axis(),r=a.models.axis(),s=a.models.axis(),t=a.models.legend(),u=d3.svg.brush(),v=a.models.tooltip(),w={top:30,right:30,bottom:30,left:60},x={top:0,right:30,bottom:20,left:60},y=null,z=null,A=function(a){return a.x},B=function(a){return a.y},C=a.utils.defaultColor(),D=!0,E=!0,F=!1,G=!0,H=50,I=null,J=null,K=d3.dispatch("brush","stateChange","changeState"),L=0,M=a.utils.state(),N=null,O=" (left axis)",P=" (right axis)";j.clipEdge(!0),k.interactive(!1),n.orient("bottom").tickPadding(5),p.orient("left"),q.orient("right"),o.orient("bottom").tickPadding(5),r.orient("left"),s.orient("right"),v.headerEnabled(!0).headerFormatter(function(a,b){return n.tickFormat()(a,b)});var Q=function(a){return function(){return{active:a.map(function(a){return!a.disabled})}}},R=function(a){return function(b){void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};return j.dispatch.on("elementMouseover.tooltip",function(a){v.duration(100).valueFormatter(function(a,b){return q.tickFormat()(a,b)}).data(a).position(a.pos).hidden(!1)}),j.dispatch.on("elementMouseout.tooltip",function(){v.hidden(!0)}),l.dispatch.on("elementMouseover.tooltip",function(a){a.value=b.x()(a.data),a.series={value:b.y()(a.data),color:a.color},v.duration(0).valueFormatter(function(a,b){return p.tickFormat()(a,b)}).data(a).hidden(!1)}),l.dispatch.on("elementMouseout.tooltip",function(){v.hidden(!0)}),l.dispatch.on("elementMousemove.tooltip",function(){v.position({top:d3.event.pageY,left:d3.event.pageX})()}),b.dispatch=K,b.legend=t,b.lines=j,b.lines2=k,b.bars=l,b.bars2=m,b.xAxis=n,b.x2Axis=o,b.y1Axis=p,b.y2Axis=q,b.y3Axis=r,b.y4Axis=s,b.tooltip=v,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return y},set:function(a){y=a}},height:{get:function(){return z},set:function(a){z=a}},showLegend:{get:function(){return D},set:function(a){D=a}},brushExtent:{get:function(){return I},set:function(a){I=a}},noData:{get:function(){return J},set:function(a){J=a}},focusEnable:{get:function(){return E},set:function(a){E=a}},focusHeight:{get:function(){return H},set:function(a){H=a}},focusShowAxisX:{get:function(){return G},set:function(a){G=a}},focusShowAxisY:{get:function(){return F},set:function(a){F=a}},legendLeftAxisHint:{get:function(){return O},set:function(a){O=a}},legendRightAxisHint:{get:function(){return P},set:function(a){P=a}},tooltips:{get:function(){return v.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),v.enabled(!!b)}},tooltipContent:{get:function(){return v.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),v.contentGenerator(b)}},margin:{get:function(){return w},set:function(a){w.top=void 0!==a.top?a.top:w.top,w.right=void 0!==a.right?a.right:w.right,w.bottom=void 0!==a.bottom?a.bottom:w.bottom,w.left=void 0!==a.left?a.left:w.left}},duration:{get:function(){return L},set:function(a){L=a}},color:{get:function(){return C},set:function(b){C=a.utils.getColor(b),t.color(C)}},x:{get:function(){return A},set:function(a){A=a,j.x(a),k.x(a),l.x(a),m.x(a)}},y:{get:function(){return B},set:function(a){B=a,j.y(a),k.y(a),l.y(a),m.y(a)}}}),a.utils.inheritOptions(b,j),a.utils.initOptions(b),b},a.models.lineWithFocusChart=function(){"use strict";function b(o){return o.each(function(o){function z(a){var b=+("e"==a),c=b?1:-1,d=M/3;return"M"+.5*c+","+d+"A6,6 0 0 "+b+" "+6.5*c+","+(d+6)+"V"+(2*d-6)+"A6,6 0 0 "+b+" "+.5*c+","+2*d+"ZM"+2.5*c+","+(d+8)+"V"+(2*d-8)+"M"+4.5*c+","+(d+8)+"V"+(2*d-8)}function G(){n.empty()||n.extent(y),U.data([n.empty()?e.domain():y]).each(function(a){var b=e(a[0])-c.range()[0],d=K-e(a[1]);d3.select(this).select(".left").attr("width",0>b?0:b),d3.select(this).select(".right").attr("x",e(a[1])).attr("width",0>d?0:d)})}function H(){y=n.empty()?null:n.extent();var a=n.empty()?e.domain():n.extent();if(!(Math.abs(a[0]-a[1])<=1)){A.brush({extent:a,brush:n}),G();var b=Q.select(".nv-focus .nv-linesWrap").datum(o.filter(function(a){return!a.disabled}).map(function(b){return{key:b.key,area:b.area,values:b.values.filter(function(b,c){return g.x()(b,c)>=a[0]&&g.x()(b,c)<=a[1]})}}));b.transition().duration(B).call(g),Q.select(".nv-focus .nv-x.nv-axis").transition().duration(B).call(i),Q.select(".nv-focus .nv-y.nv-axis").transition().duration(B).call(j)}}var I=d3.select(this),J=this;a.utils.initSVG(I);var K=a.utils.availableWidth(t,I,q),L=a.utils.availableHeight(u,I,q)-v,M=v-r.top-r.bottom;if(b.update=function(){I.transition().duration(B).call(b)},b.container=this,C.setter(F(o),b.update).getter(E(o)).update(),C.disabled=o.map(function(a){return!!a.disabled}),!D){var N;D={};for(N in C)D[N]=C[N]instanceof Array?C[N].slice(0):C[N]}if(!(o&&o.length&&o.filter(function(a){return a.values.length}).length))return a.utils.noData(b,I),b;I.selectAll(".nv-noData").remove(),c=g.xScale(),d=g.yScale(),e=h.xScale(),f=h.yScale();var O=I.selectAll("g.nv-wrap.nv-lineWithFocusChart").data([o]),P=O.enter().append("g").attr("class","nvd3 nv-wrap nv-lineWithFocusChart").append("g"),Q=O.select("g");P.append("g").attr("class","nv-legendWrap");var R=P.append("g").attr("class","nv-focus");R.append("g").attr("class","nv-x nv-axis"),R.append("g").attr("class","nv-y nv-axis"),R.append("g").attr("class","nv-linesWrap"),R.append("g").attr("class","nv-interactive");var S=P.append("g").attr("class","nv-context");S.append("g").attr("class","nv-x nv-axis"),S.append("g").attr("class","nv-y nv-axis"),S.append("g").attr("class","nv-linesWrap"),S.append("g").attr("class","nv-brushBackground"),S.append("g").attr("class","nv-x nv-brush"),x&&(m.width(K),Q.select(".nv-legendWrap").datum(o).call(m),q.top!=m.height()&&(q.top=m.height(),L=a.utils.availableHeight(u,I,q)-v),Q.select(".nv-legendWrap").attr("transform","translate(0,"+-q.top+")")),O.attr("transform","translate("+q.left+","+q.top+")"),w&&(p.width(K).height(L).margin({left:q.left,top:q.top}).svgContainer(I).xScale(c),O.select(".nv-interactive").call(p)),g.width(K).height(L).color(o.map(function(a,b){return a.color||s(a,b)}).filter(function(a,b){return!o[b].disabled})),h.defined(g.defined()).width(K).height(M).color(o.map(function(a,b){return a.color||s(a,b)}).filter(function(a,b){return!o[b].disabled})),Q.select(".nv-context").attr("transform","translate(0,"+(L+q.bottom+r.top)+")");var T=Q.select(".nv-context .nv-linesWrap").datum(o.filter(function(a){return!a.disabled}));d3.transition(T).call(h),i.scale(c)._ticks(a.utils.calcTicksX(K/100,o)).tickSize(-L,0),j.scale(d)._ticks(a.utils.calcTicksY(L/36,o)).tickSize(-K,0),Q.select(".nv-focus .nv-x.nv-axis").attr("transform","translate(0,"+L+")"),n.x(e).on("brush",function(){H()}),y&&n.extent(y);var U=Q.select(".nv-brushBackground").selectAll("g").data([y||n.extent()]),V=U.enter().append("g");V.append("rect").attr("class","left").attr("x",0).attr("y",0).attr("height",M),V.append("rect").attr("class","right").attr("x",0).attr("y",0).attr("height",M);var W=Q.select(".nv-x.nv-brush").call(n);W.selectAll("rect").attr("height",M),W.selectAll(".resize").append("path").attr("d",z),H(),k.scale(e)._ticks(a.utils.calcTicksX(K/100,o)).tickSize(-M,0),Q.select(".nv-context .nv-x.nv-axis").attr("transform","translate(0,"+f.range()[0]+")"),d3.transition(Q.select(".nv-context .nv-x.nv-axis")).call(k),l.scale(f)._ticks(a.utils.calcTicksY(M/36,o)).tickSize(-K,0),d3.transition(Q.select(".nv-context .nv-y.nv-axis")).call(l),Q.select(".nv-context .nv-x.nv-axis").attr("transform","translate(0,"+f.range()[0]+")"),m.dispatch.on("stateChange",function(a){for(var c in a)C[c]=a[c];A.stateChange(C),b.update()}),p.dispatch.on("elementMousemove",function(c){g.clearHighlights();var d,f,h,k=[];if(o.filter(function(a,b){return a.seriesIndex=b,!a.disabled}).forEach(function(i,j){var l=n.empty()?e.domain():n.extent(),m=i.values.filter(function(a,b){return g.x()(a,b)>=l[0]&&g.x()(a,b)<=l[1]});f=a.interactiveBisect(m,c.pointXValue,g.x());var o=m[f],p=b.y()(o,f);null!=p&&g.highlightPoint(j,f,!0),void 0!==o&&(void 0===d&&(d=o),void 0===h&&(h=b.xScale()(b.x()(o,f))),k.push({key:i.key,value:b.y()(o,f),color:s(i,i.seriesIndex)}))}),k.length>2){var l=b.yScale().invert(c.mouseY),m=Math.abs(b.yScale().domain()[0]-b.yScale().domain()[1]),r=.03*m,t=a.nearestValueIndex(k.map(function(a){return a.value}),l,r);null!==t&&(k[t].highlight=!0)}var u=i.tickFormat()(b.x()(d,f));p.tooltip.position({left:c.mouseX+q.left,top:c.mouseY+q.top}).chartContainer(J.parentNode).valueFormatter(function(a){return null==a?"N/A":j.tickFormat()(a)}).data({value:u,index:f,series:k})(),p.renderGuideLine(h)}),p.dispatch.on("elementMouseout",function(){g.clearHighlights()}),A.on("changeState",function(a){"undefined"!=typeof a.disabled&&o.forEach(function(b,c){b.disabled=a.disabled[c]}),b.update()})}),b}var c,d,e,f,g=a.models.line(),h=a.models.line(),i=a.models.axis(),j=a.models.axis(),k=a.models.axis(),l=a.models.axis(),m=a.models.legend(),n=d3.svg.brush(),o=a.models.tooltip(),p=a.interactiveGuideline(),q={top:30,right:30,bottom:30,left:60},r={top:0,right:30,bottom:20,left:60},s=a.utils.defaultColor(),t=null,u=null,v=50,w=!1,x=!0,y=null,z=null,A=d3.dispatch("brush","stateChange","changeState"),B=250,C=a.utils.state(),D=null;g.clipEdge(!0).duration(0),h.interactive(!1),i.orient("bottom").tickPadding(5),j.orient("left"),k.orient("bottom").tickPadding(5),l.orient("left"),o.valueFormatter(function(a,b){return j.tickFormat()(a,b)}).headerFormatter(function(a,b){return i.tickFormat()(a,b)});var E=function(a){return function(){return{active:a.map(function(a){return!a.disabled})}}},F=function(a){return function(b){void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};return g.dispatch.on("elementMouseover.tooltip",function(a){o.data(a).position(a.pos).hidden(!1)}),g.dispatch.on("elementMouseout.tooltip",function(){o.hidden(!0)}),b.dispatch=A,b.legend=m,b.lines=g,b.lines2=h,b.xAxis=i,b.yAxis=j,b.x2Axis=k,b.y2Axis=l,b.interactiveLayer=p,b.tooltip=o,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return t},set:function(a){t=a}},height:{get:function(){return u},set:function(a){u=a}},focusHeight:{get:function(){return v},set:function(a){v=a}},showLegend:{get:function(){return x},set:function(a){x=a}},brushExtent:{get:function(){return y},set:function(a){y=a}},defaultState:{get:function(){return D},set:function(a){D=a}},noData:{get:function(){return z},set:function(a){z=a}},tooltips:{get:function(){return o.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),o.enabled(!!b)}},tooltipContent:{get:function(){return o.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),o.contentGenerator(b)}},margin:{get:function(){return q},set:function(a){q.top=void 0!==a.top?a.top:q.top,q.right=void 0!==a.right?a.right:q.right,q.bottom=void 0!==a.bottom?a.bottom:q.bottom,q.left=void 0!==a.left?a.left:q.left}},color:{get:function(){return s},set:function(b){s=a.utils.getColor(b),m.color(s)}},interpolate:{get:function(){return g.interpolate()},set:function(a){g.interpolate(a),h.interpolate(a)}},xTickFormat:{get:function(){return i.tickFormat()},set:function(a){i.tickFormat(a),k.tickFormat(a)}},yTickFormat:{get:function(){return j.tickFormat()},set:function(a){j.tickFormat(a),l.tickFormat(a)}},duration:{get:function(){return B},set:function(a){B=a,j.duration(B),l.duration(B),i.duration(B),k.duration(B)}},x:{get:function(){return g.x()},set:function(a){g.x(a),h.x(a)}},y:{get:function(){return g.y()},set:function(a){g.y(a),h.y(a)}},useInteractiveGuideline:{get:function(){return w},set:function(a){w=a,w&&(g.interactive(!1),g.useVoronoi(!1))}}}),a.utils.inheritOptions(b,g),a.utils.initOptions(b),b},a.models.multiBar=function(){"use strict";function b(E){return C.reset(),E.each(function(b){var E=k-j.left-j.right,F=l-j.top-j.bottom;p=d3.select(this),a.utils.initSVG(p);var G=0;if(x&&b.length&&(x=[{values:b[0].values.map(function(a){return{x:a.x,y:0,series:a.series,size:.01}})}]),u){var H=d3.layout.stack().offset(v).values(function(a){return a.values}).y(r)(!b.length&&x?x:b);H.forEach(function(a,c){a.nonStackable?(b[c].nonStackableSeries=G++,H[c]=b[c]):c>0&&H[c-1].nonStackable&&H[c].values.map(function(a,b){a.y0-=H[c-1].values[b].y,a.y1=a.y0+a.y})}),b=H}b.forEach(function(a,b){a.values.forEach(function(c){c.series=b,c.key=a.key})}),u&&b[0].values.map(function(a,c){var d=0,e=0;b.map(function(a,f){if(!b[f].nonStackable){var g=a.values[c];g.size=Math.abs(g.y),g.y<0?(g.y1=e,e-=g.size):(g.y1=g.size+d,d+=g.size)}})});var I=d&&e?[]:b.map(function(a,b){return a.values.map(function(a,c){return{x:q(a,c),y:r(a,c),y0:a.y0,y1:a.y1,idx:b}})});m.domain(d||d3.merge(I).map(function(a){return a.x})).rangeBands(f||[0,E],A),n.domain(e||d3.extent(d3.merge(I).map(function(a){var c=a.y;return u&&!b[a.idx].nonStackable&&(c=a.y>0?a.y1:a.y1+a.y),c}).concat(s))).range(g||[F,0]),m.domain()[0]===m.domain()[1]&&m.domain(m.domain()[0]?[m.domain()[0]-.01*m.domain()[0],m.domain()[1]+.01*m.domain()[1]]:[-1,1]),n.domain()[0]===n.domain()[1]&&n.domain(n.domain()[0]?[n.domain()[0]+.01*n.domain()[0],n.domain()[1]-.01*n.domain()[1]]:[-1,1]),h=h||m,i=i||n;var J=p.selectAll("g.nv-wrap.nv-multibar").data([b]),K=J.enter().append("g").attr("class","nvd3 nv-wrap nv-multibar"),L=K.append("defs"),M=K.append("g"),N=J.select("g");M.append("g").attr("class","nv-groups"),J.attr("transform","translate("+j.left+","+j.top+")"),L.append("clipPath").attr("id","nv-edge-clip-"+o).append("rect"),J.select("#nv-edge-clip-"+o+" rect").attr("width",E).attr("height",F),N.attr("clip-path",t?"url(#nv-edge-clip-"+o+")":"");var O=J.select(".nv-groups").selectAll(".nv-group").data(function(a){return a},function(a,b){return b});O.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6);var P=C.transition(O.exit().selectAll("rect.nv-bar"),"multibarExit",Math.min(100,z)).attr("y",function(a){var c=i(0)||0;return u&&b[a.series]&&!b[a.series].nonStackable&&(c=i(a.y0)),c}).attr("height",0).remove();P.delay&&P.delay(function(a,b){var c=b*(z/(D+1))-b;return c}),O.attr("class",function(a,b){return"nv-group nv-series-"+b}).classed("hover",function(a){return a.hover}).style("fill",function(a,b){return w(a,b)}).style("stroke",function(a,b){return w(a,b)}),O.style("stroke-opacity",1).style("fill-opacity",.75);var Q=O.selectAll("rect.nv-bar").data(function(a){return x&&!b.length?x.values:a.values});Q.exit().remove();Q.enter().append("rect").attr("class",function(a,b){return r(a,b)<0?"nv-bar negative":"nv-bar positive"}).attr("x",function(a,c,d){return u&&!b[d].nonStackable?0:d*m.rangeBand()/b.length}).attr("y",function(a,c,d){return i(u&&!b[d].nonStackable?a.y0:0)||0}).attr("height",0).attr("width",function(a,c,d){return m.rangeBand()/(u&&!b[d].nonStackable?1:b.length)}).attr("transform",function(a,b){return"translate("+m(q(a,b))+",0)"});Q.style("fill",function(a,b,c){return w(a,c,b)}).style("stroke",function(a,b,c){return w(a,c,b)}).on("mouseover",function(a,b){d3.select(this).classed("hover",!0),B.elementMouseover({data:a,index:b,color:d3.select(this).style("fill")})}).on("mouseout",function(a,b){d3.select(this).classed("hover",!1),B.elementMouseout({data:a,index:b,color:d3.select(this).style("fill")})}).on("mousemove",function(a,b){B.elementMousemove({data:a,index:b,color:d3.select(this).style("fill")})}).on("click",function(a,b){B.elementClick({data:a,index:b,color:d3.select(this).style("fill")}),d3.event.stopPropagation()}).on("dblclick",function(a,b){B.elementDblClick({data:a,index:b,color:d3.select(this).style("fill")}),d3.event.stopPropagation()}),Q.attr("class",function(a,b){return r(a,b)<0?"nv-bar negative":"nv-bar positive"}).attr("transform",function(a,b){return"translate("+m(q(a,b))+",0)"}),y&&(c||(c=b.map(function(){return!0})),Q.style("fill",function(a,b,d){return d3.rgb(y(a,b)).darker(c.map(function(a,b){return b}).filter(function(a,b){return!c[b]})[d]).toString()}).style("stroke",function(a,b,d){return d3.rgb(y(a,b)).darker(c.map(function(a,b){return b}).filter(function(a,b){return!c[b]})[d]).toString()}));var R=Q.watchTransition(C,"multibar",Math.min(250,z)).delay(function(a,c){return c*z/b[0].values.length});u?R.attr("y",function(a,c,d){var e=0;return e=b[d].nonStackable?r(a,c)<0?n(0):n(0)-n(r(a,c))<-1?n(0)-1:n(r(a,c))||0:n(a.y1)}).attr("height",function(a,c,d){return b[d].nonStackable?Math.max(Math.abs(n(r(a,c))-n(0)),1)||0:Math.max(Math.abs(n(a.y+a.y0)-n(a.y0)),1)}).attr("x",function(a,c,d){var e=0;return b[d].nonStackable&&(e=a.series*m.rangeBand()/b.length,b.length!==G&&(e=b[d].nonStackableSeries*m.rangeBand()/(2*G))),e}).attr("width",function(a,c,d){if(b[d].nonStackable){var e=m.rangeBand()/G;return b.length!==G&&(e=m.rangeBand()/(2*G)),e}return m.rangeBand()}):R.attr("x",function(a){return a.series*m.rangeBand()/b.length}).attr("width",m.rangeBand()/b.length).attr("y",function(a,b){return r(a,b)<0?n(0):n(0)-n(r(a,b))<1?n(0)-1:n(r(a,b))||0}).attr("height",function(a,b){return Math.max(Math.abs(n(r(a,b))-n(0)),1)||0}),h=m.copy(),i=n.copy(),b[0]&&b[0].values&&(D=b[0].values.length)}),C.renderEnd("multibar immediate"),b}var c,d,e,f,g,h,i,j={top:0,right:0,bottom:0,left:0},k=960,l=500,m=d3.scale.ordinal(),n=d3.scale.linear(),o=Math.floor(1e4*Math.random()),p=null,q=function(a){return a.x},r=function(a){return a.y},s=[0],t=!0,u=!1,v="zero",w=a.utils.defaultColor(),x=!1,y=null,z=500,A=.1,B=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),C=a.utils.renderWatch(B,z),D=0;return b.dispatch=B,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return k},set:function(a){k=a}},height:{get:function(){return l},set:function(a){l=a}},x:{get:function(){return q},set:function(a){q=a}},y:{get:function(){return r},set:function(a){r=a}},xScale:{get:function(){return m},set:function(a){m=a}},yScale:{get:function(){return n},set:function(a){n=a}},xDomain:{get:function(){return d},set:function(a){d=a}},yDomain:{get:function(){return e},set:function(a){e=a}},xRange:{get:function(){return f},set:function(a){f=a}},yRange:{get:function(){return g},set:function(a){g=a}},forceY:{get:function(){return s},set:function(a){s=a}},stacked:{get:function(){return u},set:function(a){u=a}},stackOffset:{get:function(){return v},set:function(a){v=a}},clipEdge:{get:function(){return t},set:function(a){t=a}},disabled:{get:function(){return c},set:function(a){c=a}},id:{get:function(){return o},set:function(a){o=a}},hideable:{get:function(){return x},set:function(a){x=a}},groupSpacing:{get:function(){return A},set:function(a){A=a}},margin:{get:function(){return j},set:function(a){j.top=void 0!==a.top?a.top:j.top,j.right=void 0!==a.right?a.right:j.right,j.bottom=void 0!==a.bottom?a.bottom:j.bottom,j.left=void 0!==a.left?a.left:j.left}},duration:{get:function(){return z},set:function(a){z=a,C.reset(z)}},color:{get:function(){return w},set:function(b){w=a.utils.getColor(b)}},barColor:{get:function(){return y},set:function(b){y=b?a.utils.getColor(b):null}}}),a.utils.initOptions(b),b},a.models.multiBarChart=function(){"use strict";function b(j){return D.reset(),D.models(e),r&&D.models(f),s&&D.models(g),j.each(function(j){var z=d3.select(this);a.utils.initSVG(z);var D=a.utils.availableWidth(l,z,k),H=a.utils.availableHeight(m,z,k);if(b.update=function(){0===C?z.call(b):z.transition().duration(C).call(b)},b.container=this,x.setter(G(j),b.update).getter(F(j)).update(),x.disabled=j.map(function(a){return!!a.disabled}),!y){var I;y={};for(I in x)y[I]=x[I]instanceof Array?x[I].slice(0):x[I]}if(!(j&&j.length&&j.filter(function(a){return a.values.length}).length))return a.utils.noData(b,z),b;z.selectAll(".nv-noData").remove(),c=e.xScale(),d=e.yScale(); -var J=z.selectAll("g.nv-wrap.nv-multiBarWithLegend").data([j]),K=J.enter().append("g").attr("class","nvd3 nv-wrap nv-multiBarWithLegend").append("g"),L=J.select("g");if(K.append("g").attr("class","nv-x nv-axis"),K.append("g").attr("class","nv-y nv-axis"),K.append("g").attr("class","nv-barsWrap"),K.append("g").attr("class","nv-legendWrap"),K.append("g").attr("class","nv-controlsWrap"),q&&(h.width(D-B()),L.select(".nv-legendWrap").datum(j).call(h),k.top!=h.height()&&(k.top=h.height(),H=a.utils.availableHeight(m,z,k)),L.select(".nv-legendWrap").attr("transform","translate("+B()+","+-k.top+")")),o){var M=[{key:p.grouped||"Grouped",disabled:e.stacked()},{key:p.stacked||"Stacked",disabled:!e.stacked()}];i.width(B()).color(["#444","#444","#444"]),L.select(".nv-controlsWrap").datum(M).attr("transform","translate(0,"+-k.top+")").call(i)}J.attr("transform","translate("+k.left+","+k.top+")"),t&&L.select(".nv-y.nv-axis").attr("transform","translate("+D+",0)"),e.disabled(j.map(function(a){return a.disabled})).width(D).height(H).color(j.map(function(a,b){return a.color||n(a,b)}).filter(function(a,b){return!j[b].disabled}));var N=L.select(".nv-barsWrap").datum(j.filter(function(a){return!a.disabled}));if(N.call(e),r){f.scale(c)._ticks(a.utils.calcTicksX(D/100,j)).tickSize(-H,0),L.select(".nv-x.nv-axis").attr("transform","translate(0,"+d.range()[0]+")"),L.select(".nv-x.nv-axis").call(f);var O=L.select(".nv-x.nv-axis > g").selectAll("g");if(O.selectAll("line, text").style("opacity",1),v){var P=function(a,b){return"translate("+a+","+b+")"},Q=5,R=17;O.selectAll("text").attr("transform",function(a,b,c){return P(0,c%2==0?Q:R)});var S=d3.selectAll(".nv-x.nv-axis .nv-wrap g g text")[0].length;L.selectAll(".nv-x.nv-axis .nv-axisMaxMin text").attr("transform",function(a,b){return P(0,0===b||S%2!==0?R:Q)})}u&&O.filter(function(a,b){return b%Math.ceil(j[0].values.length/(D/100))!==0}).selectAll("text, line").style("opacity",0),w&&O.selectAll(".tick text").attr("transform","rotate("+w+" 0,0)").style("text-anchor",w>0?"start":"end"),L.select(".nv-x.nv-axis").selectAll("g.nv-axisMaxMin text").style("opacity",1)}s&&(g.scale(d)._ticks(a.utils.calcTicksY(H/36,j)).tickSize(-D,0),L.select(".nv-y.nv-axis").call(g)),h.dispatch.on("stateChange",function(a){for(var c in a)x[c]=a[c];A.stateChange(x),b.update()}),i.dispatch.on("legendClick",function(a){if(a.disabled){switch(M=M.map(function(a){return a.disabled=!0,a}),a.disabled=!1,a.key){case"Grouped":case p.grouped:e.stacked(!1);break;case"Stacked":case p.stacked:e.stacked(!0)}x.stacked=e.stacked(),A.stateChange(x),b.update()}}),A.on("changeState",function(a){"undefined"!=typeof a.disabled&&(j.forEach(function(b,c){b.disabled=a.disabled[c]}),x.disabled=a.disabled),"undefined"!=typeof a.stacked&&(e.stacked(a.stacked),x.stacked=a.stacked,E=a.stacked),b.update()})}),D.renderEnd("multibarchart immediate"),b}var c,d,e=a.models.multiBar(),f=a.models.axis(),g=a.models.axis(),h=a.models.legend(),i=a.models.legend(),j=a.models.tooltip(),k={top:30,right:20,bottom:50,left:60},l=null,m=null,n=a.utils.defaultColor(),o=!0,p={},q=!0,r=!0,s=!0,t=!1,u=!0,v=!1,w=0,x=a.utils.state(),y=null,z=null,A=d3.dispatch("stateChange","changeState","renderEnd"),B=function(){return o?180:0},C=250;x.stacked=!1,e.stacked(!1),f.orient("bottom").tickPadding(7).showMaxMin(!1).tickFormat(function(a){return a}),g.orient(t?"right":"left").tickFormat(d3.format(",.1f")),j.duration(0).valueFormatter(function(a,b){return g.tickFormat()(a,b)}).headerFormatter(function(a,b){return f.tickFormat()(a,b)}),i.updateState(!1);var D=a.utils.renderWatch(A),E=!1,F=function(a){return function(){return{active:a.map(function(a){return!a.disabled}),stacked:E}}},G=function(a){return function(b){void 0!==b.stacked&&(E=b.stacked),void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};return e.dispatch.on("elementMouseover.tooltip",function(a){a.value=b.x()(a.data),a.series={key:a.data.key,value:b.y()(a.data),color:a.color},j.data(a).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(){j.hidden(!0)}),e.dispatch.on("elementMousemove.tooltip",function(){j.position({top:d3.event.pageY,left:d3.event.pageX})()}),b.dispatch=A,b.multibar=e,b.legend=h,b.controls=i,b.xAxis=f,b.yAxis=g,b.state=x,b.tooltip=j,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return l},set:function(a){l=a}},height:{get:function(){return m},set:function(a){m=a}},showLegend:{get:function(){return q},set:function(a){q=a}},showControls:{get:function(){return o},set:function(a){o=a}},controlLabels:{get:function(){return p},set:function(a){p=a}},showXAxis:{get:function(){return r},set:function(a){r=a}},showYAxis:{get:function(){return s},set:function(a){s=a}},defaultState:{get:function(){return y},set:function(a){y=a}},noData:{get:function(){return z},set:function(a){z=a}},reduceXTicks:{get:function(){return u},set:function(a){u=a}},rotateLabels:{get:function(){return w},set:function(a){w=a}},staggerLabels:{get:function(){return v},set:function(a){v=a}},tooltips:{get:function(){return j.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),j.enabled(!!b)}},tooltipContent:{get:function(){return j.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),j.contentGenerator(b)}},margin:{get:function(){return k},set:function(a){k.top=void 0!==a.top?a.top:k.top,k.right=void 0!==a.right?a.right:k.right,k.bottom=void 0!==a.bottom?a.bottom:k.bottom,k.left=void 0!==a.left?a.left:k.left}},duration:{get:function(){return C},set:function(a){C=a,e.duration(C),f.duration(C),g.duration(C),D.reset(C)}},color:{get:function(){return n},set:function(b){n=a.utils.getColor(b),h.color(n)}},rightAlignYAxis:{get:function(){return t},set:function(a){t=a,g.orient(t?"right":"left")}},barColor:{get:function(){return e.barColor},set:function(a){e.barColor(a),h.color(function(a,b){return d3.rgb("#ccc").darker(1.5*b).toString()})}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.multiBarHorizontal=function(){"use strict";function b(m){return E.reset(),m.each(function(b){var m=k-j.left-j.right,C=l-j.top-j.bottom;n=d3.select(this),a.utils.initSVG(n),w&&(b=d3.layout.stack().offset("zero").values(function(a){return a.values}).y(r)(b)),b.forEach(function(a,b){a.values.forEach(function(c){c.series=b,c.key=a.key})}),w&&b[0].values.map(function(a,c){var d=0,e=0;b.map(function(a){var b=a.values[c];b.size=Math.abs(b.y),b.y<0?(b.y1=e-b.size,e-=b.size):(b.y1=d,d+=b.size)})});var F=d&&e?[]:b.map(function(a){return a.values.map(function(a,b){return{x:q(a,b),y:r(a,b),y0:a.y0,y1:a.y1}})});o.domain(d||d3.merge(F).map(function(a){return a.x})).rangeBands(f||[0,C],A),p.domain(e||d3.extent(d3.merge(F).map(function(a){return w?a.y>0?a.y1+a.y:a.y1:a.y}).concat(t))),p.range(x&&!w?g||[p.domain()[0]<0?z:0,m-(p.domain()[1]>0?z:0)]:g||[0,m]),h=h||o,i=i||d3.scale.linear().domain(p.domain()).range([p(0),p(0)]);{var G=d3.select(this).selectAll("g.nv-wrap.nv-multibarHorizontal").data([b]),H=G.enter().append("g").attr("class","nvd3 nv-wrap nv-multibarHorizontal"),I=(H.append("defs"),H.append("g"));G.select("g")}I.append("g").attr("class","nv-groups"),G.attr("transform","translate("+j.left+","+j.top+")");var J=G.select(".nv-groups").selectAll(".nv-group").data(function(a){return a},function(a,b){return b});J.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),J.exit().watchTransition(E,"multibarhorizontal: exit groups").style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),J.attr("class",function(a,b){return"nv-group nv-series-"+b}).classed("hover",function(a){return a.hover}).style("fill",function(a,b){return u(a,b)}).style("stroke",function(a,b){return u(a,b)}),J.watchTransition(E,"multibarhorizontal: groups").style("stroke-opacity",1).style("fill-opacity",.75);var K=J.selectAll("g.nv-bar").data(function(a){return a.values});K.exit().remove();var L=K.enter().append("g").attr("transform",function(a,c,d){return"translate("+i(w?a.y0:0)+","+(w?0:d*o.rangeBand()/b.length+o(q(a,c)))+")"});L.append("rect").attr("width",0).attr("height",o.rangeBand()/(w?1:b.length)),K.on("mouseover",function(a,b){d3.select(this).classed("hover",!0),D.elementMouseover({data:a,index:b,color:d3.select(this).style("fill")})}).on("mouseout",function(a,b){d3.select(this).classed("hover",!1),D.elementMouseout({data:a,index:b,color:d3.select(this).style("fill")})}).on("mouseout",function(a,b){D.elementMouseout({data:a,index:b,color:d3.select(this).style("fill")})}).on("mousemove",function(a,b){D.elementMousemove({data:a,index:b,color:d3.select(this).style("fill")})}).on("click",function(a,b){D.elementClick({data:a,index:b,color:d3.select(this).style("fill")}),d3.event.stopPropagation()}).on("dblclick",function(a,b){D.elementDblClick({data:a,index:b,color:d3.select(this).style("fill")}),d3.event.stopPropagation()}),s(b[0],0)&&(L.append("polyline"),K.select("polyline").attr("fill","none").attr("points",function(a,c){var d=s(a,c),e=.8*o.rangeBand()/(2*(w?1:b.length));d=d.length?d:[-Math.abs(d),Math.abs(d)],d=d.map(function(a){return p(a)-p(0)});var f=[[d[0],-e],[d[0],e],[d[0],0],[d[1],0],[d[1],-e],[d[1],e]];return f.map(function(a){return a.join(",")}).join(" ")}).attr("transform",function(a,c){var d=o.rangeBand()/(2*(w?1:b.length));return"translate("+(r(a,c)<0?0:p(r(a,c))-p(0))+", "+d+")"})),L.append("text"),x&&!w?(K.select("text").attr("text-anchor",function(a,b){return r(a,b)<0?"end":"start"}).attr("y",o.rangeBand()/(2*b.length)).attr("dy",".32em").text(function(a,b){var c=B(r(a,b)),d=s(a,b);return void 0===d?c:d.length?c+"+"+B(Math.abs(d[1]))+"-"+B(Math.abs(d[0])):c+"±"+B(Math.abs(d))}),K.watchTransition(E,"multibarhorizontal: bars").select("text").attr("x",function(a,b){return r(a,b)<0?-4:p(r(a,b))-p(0)+4})):K.selectAll("text").text(""),y&&!w?(L.append("text").classed("nv-bar-label",!0),K.select("text.nv-bar-label").attr("text-anchor",function(a,b){return r(a,b)<0?"start":"end"}).attr("y",o.rangeBand()/(2*b.length)).attr("dy",".32em").text(function(a,b){return q(a,b)}),K.watchTransition(E,"multibarhorizontal: bars").select("text.nv-bar-label").attr("x",function(a,b){return r(a,b)<0?p(0)-p(r(a,b))+4:-4})):K.selectAll("text.nv-bar-label").text(""),K.attr("class",function(a,b){return r(a,b)<0?"nv-bar negative":"nv-bar positive"}),v&&(c||(c=b.map(function(){return!0})),K.style("fill",function(a,b,d){return d3.rgb(v(a,b)).darker(c.map(function(a,b){return b}).filter(function(a,b){return!c[b]})[d]).toString()}).style("stroke",function(a,b,d){return d3.rgb(v(a,b)).darker(c.map(function(a,b){return b}).filter(function(a,b){return!c[b]})[d]).toString()})),w?K.watchTransition(E,"multibarhorizontal: bars").attr("transform",function(a,b){return"translate("+p(a.y1)+","+o(q(a,b))+")"}).select("rect").attr("width",function(a,b){return Math.abs(p(r(a,b)+a.y0)-p(a.y0))}).attr("height",o.rangeBand()):K.watchTransition(E,"multibarhorizontal: bars").attr("transform",function(a,c){return"translate("+p(r(a,c)<0?r(a,c):0)+","+(a.series*o.rangeBand()/b.length+o(q(a,c)))+")"}).select("rect").attr("height",o.rangeBand()/b.length).attr("width",function(a,b){return Math.max(Math.abs(p(r(a,b))-p(0)),1)}),h=o.copy(),i=p.copy()}),E.renderEnd("multibarHorizontal immediate"),b}var c,d,e,f,g,h,i,j={top:0,right:0,bottom:0,left:0},k=960,l=500,m=Math.floor(1e4*Math.random()),n=null,o=d3.scale.ordinal(),p=d3.scale.linear(),q=function(a){return a.x},r=function(a){return a.y},s=function(a){return a.yErr},t=[0],u=a.utils.defaultColor(),v=null,w=!1,x=!1,y=!1,z=60,A=.1,B=d3.format(",.2f"),C=250,D=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),E=a.utils.renderWatch(D,C);return b.dispatch=D,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return k},set:function(a){k=a}},height:{get:function(){return l},set:function(a){l=a}},x:{get:function(){return q},set:function(a){q=a}},y:{get:function(){return r},set:function(a){r=a}},yErr:{get:function(){return s},set:function(a){s=a}},xScale:{get:function(){return o},set:function(a){o=a}},yScale:{get:function(){return p},set:function(a){p=a}},xDomain:{get:function(){return d},set:function(a){d=a}},yDomain:{get:function(){return e},set:function(a){e=a}},xRange:{get:function(){return f},set:function(a){f=a}},yRange:{get:function(){return g},set:function(a){g=a}},forceY:{get:function(){return t},set:function(a){t=a}},stacked:{get:function(){return w},set:function(a){w=a}},showValues:{get:function(){return x},set:function(a){x=a}},disabled:{get:function(){return c},set:function(a){c=a}},id:{get:function(){return m},set:function(a){m=a}},valueFormat:{get:function(){return B},set:function(a){B=a}},valuePadding:{get:function(){return z},set:function(a){z=a}},groupSpacing:{get:function(){return A},set:function(a){A=a}},margin:{get:function(){return j},set:function(a){j.top=void 0!==a.top?a.top:j.top,j.right=void 0!==a.right?a.right:j.right,j.bottom=void 0!==a.bottom?a.bottom:j.bottom,j.left=void 0!==a.left?a.left:j.left}},duration:{get:function(){return C},set:function(a){C=a,E.reset(C)}},color:{get:function(){return u},set:function(b){u=a.utils.getColor(b)}},barColor:{get:function(){return v},set:function(b){v=b?a.utils.getColor(b):null}}}),a.utils.initOptions(b),b},a.models.multiBarHorizontalChart=function(){"use strict";function b(j){return C.reset(),C.models(e),r&&C.models(f),s&&C.models(g),j.each(function(j){var w=d3.select(this);a.utils.initSVG(w);var C=a.utils.availableWidth(l,w,k),D=a.utils.availableHeight(m,w,k);if(b.update=function(){w.transition().duration(z).call(b)},b.container=this,t=e.stacked(),u.setter(B(j),b.update).getter(A(j)).update(),u.disabled=j.map(function(a){return!!a.disabled}),!v){var E;v={};for(E in u)v[E]=u[E]instanceof Array?u[E].slice(0):u[E]}if(!(j&&j.length&&j.filter(function(a){return a.values.length}).length))return a.utils.noData(b,w),b;w.selectAll(".nv-noData").remove(),c=e.xScale(),d=e.yScale();var F=w.selectAll("g.nv-wrap.nv-multiBarHorizontalChart").data([j]),G=F.enter().append("g").attr("class","nvd3 nv-wrap nv-multiBarHorizontalChart").append("g"),H=F.select("g");if(G.append("g").attr("class","nv-x nv-axis"),G.append("g").attr("class","nv-y nv-axis").append("g").attr("class","nv-zeroLine").append("line"),G.append("g").attr("class","nv-barsWrap"),G.append("g").attr("class","nv-legendWrap"),G.append("g").attr("class","nv-controlsWrap"),q&&(h.width(C-y()),H.select(".nv-legendWrap").datum(j).call(h),k.top!=h.height()&&(k.top=h.height(),D=a.utils.availableHeight(m,w,k)),H.select(".nv-legendWrap").attr("transform","translate("+y()+","+-k.top+")")),o){var I=[{key:p.grouped||"Grouped",disabled:e.stacked()},{key:p.stacked||"Stacked",disabled:!e.stacked()}];i.width(y()).color(["#444","#444","#444"]),H.select(".nv-controlsWrap").datum(I).attr("transform","translate(0,"+-k.top+")").call(i)}F.attr("transform","translate("+k.left+","+k.top+")"),e.disabled(j.map(function(a){return a.disabled})).width(C).height(D).color(j.map(function(a,b){return a.color||n(a,b)}).filter(function(a,b){return!j[b].disabled}));var J=H.select(".nv-barsWrap").datum(j.filter(function(a){return!a.disabled}));if(J.transition().call(e),r){f.scale(c)._ticks(a.utils.calcTicksY(D/24,j)).tickSize(-C,0),H.select(".nv-x.nv-axis").call(f);var K=H.select(".nv-x.nv-axis").selectAll("g");K.selectAll("line, text")}s&&(g.scale(d)._ticks(a.utils.calcTicksX(C/100,j)).tickSize(-D,0),H.select(".nv-y.nv-axis").attr("transform","translate(0,"+D+")"),H.select(".nv-y.nv-axis").call(g)),H.select(".nv-zeroLine line").attr("x1",d(0)).attr("x2",d(0)).attr("y1",0).attr("y2",-D),h.dispatch.on("stateChange",function(a){for(var c in a)u[c]=a[c];x.stateChange(u),b.update()}),i.dispatch.on("legendClick",function(a){if(a.disabled){switch(I=I.map(function(a){return a.disabled=!0,a}),a.disabled=!1,a.key){case"Grouped":e.stacked(!1);break;case"Stacked":e.stacked(!0)}u.stacked=e.stacked(),x.stateChange(u),t=e.stacked(),b.update()}}),x.on("changeState",function(a){"undefined"!=typeof a.disabled&&(j.forEach(function(b,c){b.disabled=a.disabled[c]}),u.disabled=a.disabled),"undefined"!=typeof a.stacked&&(e.stacked(a.stacked),u.stacked=a.stacked,t=a.stacked),b.update()})}),C.renderEnd("multibar horizontal chart immediate"),b}var c,d,e=a.models.multiBarHorizontal(),f=a.models.axis(),g=a.models.axis(),h=a.models.legend().height(30),i=a.models.legend().height(30),j=a.models.tooltip(),k={top:30,right:20,bottom:50,left:60},l=null,m=null,n=a.utils.defaultColor(),o=!0,p={},q=!0,r=!0,s=!0,t=!1,u=a.utils.state(),v=null,w=null,x=d3.dispatch("stateChange","changeState","renderEnd"),y=function(){return o?180:0},z=250;u.stacked=!1,e.stacked(t),f.orient("left").tickPadding(5).showMaxMin(!1).tickFormat(function(a){return a}),g.orient("bottom").tickFormat(d3.format(",.1f")),j.duration(0).valueFormatter(function(a,b){return g.tickFormat()(a,b)}).headerFormatter(function(a,b){return f.tickFormat()(a,b)}),i.updateState(!1);var A=function(a){return function(){return{active:a.map(function(a){return!a.disabled}),stacked:t}}},B=function(a){return function(b){void 0!==b.stacked&&(t=b.stacked),void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}},C=a.utils.renderWatch(x,z);return e.dispatch.on("elementMouseover.tooltip",function(a){a.value=b.x()(a.data),a.series={key:a.data.key,value:b.y()(a.data),color:a.color},j.data(a).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(){j.hidden(!0)}),e.dispatch.on("elementMousemove.tooltip",function(){j.position({top:d3.event.pageY,left:d3.event.pageX})()}),b.dispatch=x,b.multibar=e,b.legend=h,b.controls=i,b.xAxis=f,b.yAxis=g,b.state=u,b.tooltip=j,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return l},set:function(a){l=a}},height:{get:function(){return m},set:function(a){m=a}},showLegend:{get:function(){return q},set:function(a){q=a}},showControls:{get:function(){return o},set:function(a){o=a}},controlLabels:{get:function(){return p},set:function(a){p=a}},showXAxis:{get:function(){return r},set:function(a){r=a}},showYAxis:{get:function(){return s},set:function(a){s=a}},defaultState:{get:function(){return v},set:function(a){v=a}},noData:{get:function(){return w},set:function(a){w=a}},tooltips:{get:function(){return j.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),j.enabled(!!b)}},tooltipContent:{get:function(){return j.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),j.contentGenerator(b)}},margin:{get:function(){return k},set:function(a){k.top=void 0!==a.top?a.top:k.top,k.right=void 0!==a.right?a.right:k.right,k.bottom=void 0!==a.bottom?a.bottom:k.bottom,k.left=void 0!==a.left?a.left:k.left}},duration:{get:function(){return z},set:function(a){z=a,C.reset(z),e.duration(z),f.duration(z),g.duration(z)}},color:{get:function(){return n},set:function(b){n=a.utils.getColor(b),h.color(n)}},barColor:{get:function(){return e.barColor},set:function(a){e.barColor(a),h.color(function(a,b){return d3.rgb("#ccc").darker(1.5*b).toString()})}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.multiChart=function(){"use strict";function b(j){return j.each(function(j){function k(a){var b=2===j[a.seriesIndex].yAxis?z:y;a.value=a.point.x,a.series={value:a.point.y,color:a.point.color},B.duration(100).valueFormatter(function(a,c){return b.tickFormat()(a,c)}).data(a).position(a.pos).hidden(!1)}function l(a){var b=2===j[a.seriesIndex].yAxis?z:y;a.point.x=v.x()(a.point),a.point.y=v.y()(a.point),B.duration(100).valueFormatter(function(a,c){return b.tickFormat()(a,c)}).data(a).position(a.pos).hidden(!1)}function n(a){var b=2===j[a.data.series].yAxis?z:y;a.value=t.x()(a.data),a.series={value:t.y()(a.data),color:a.color},B.duration(0).valueFormatter(function(a,c){return b.tickFormat()(a,c)}).data(a).hidden(!1)}var C=d3.select(this);a.utils.initSVG(C),b.update=function(){C.transition().call(b)},b.container=this;var D=a.utils.availableWidth(g,C,e),E=a.utils.availableHeight(h,C,e),F=j.filter(function(a){return"line"==a.type&&1==a.yAxis}),G=j.filter(function(a){return"line"==a.type&&2==a.yAxis}),H=j.filter(function(a){return"bar"==a.type&&1==a.yAxis}),I=j.filter(function(a){return"bar"==a.type&&2==a.yAxis}),J=j.filter(function(a){return"area"==a.type&&1==a.yAxis}),K=j.filter(function(a){return"area"==a.type&&2==a.yAxis});if(!(j&&j.length&&j.filter(function(a){return a.values.length}).length))return a.utils.noData(b,C),b;C.selectAll(".nv-noData").remove();var L=j.filter(function(a){return!a.disabled&&1==a.yAxis}).map(function(a){return a.values.map(function(a){return{x:a.x,y:a.y}})}),M=j.filter(function(a){return!a.disabled&&2==a.yAxis}).map(function(a){return a.values.map(function(a){return{x:a.x,y:a.y}})});o.domain(d3.extent(d3.merge(L.concat(M)),function(a){return a.x})).range([0,D]);var N=C.selectAll("g.wrap.multiChart").data([j]),O=N.enter().append("g").attr("class","wrap nvd3 multiChart").append("g");O.append("g").attr("class","nv-x nv-axis"),O.append("g").attr("class","nv-y1 nv-axis"),O.append("g").attr("class","nv-y2 nv-axis"),O.append("g").attr("class","lines1Wrap"),O.append("g").attr("class","lines2Wrap"),O.append("g").attr("class","bars1Wrap"),O.append("g").attr("class","bars2Wrap"),O.append("g").attr("class","stack1Wrap"),O.append("g").attr("class","stack2Wrap"),O.append("g").attr("class","legendWrap");var P=N.select("g"),Q=j.map(function(a,b){return j[b].color||f(a,b)});if(i){var R=A.align()?D/2:D,S=A.align()?R:0;A.width(R),A.color(Q),P.select(".legendWrap").datum(j.map(function(a){return a.originalKey=void 0===a.originalKey?a.key:a.originalKey,a.key=a.originalKey+(1==a.yAxis?"":" (right axis)"),a})).call(A),e.top!=A.height()&&(e.top=A.height(),E=a.utils.availableHeight(h,C,e)),P.select(".legendWrap").attr("transform","translate("+S+","+-e.top+")")}r.width(D).height(E).interpolate(m).color(Q.filter(function(a,b){return!j[b].disabled&&1==j[b].yAxis&&"line"==j[b].type})),s.width(D).height(E).interpolate(m).color(Q.filter(function(a,b){return!j[b].disabled&&2==j[b].yAxis&&"line"==j[b].type})),t.width(D).height(E).color(Q.filter(function(a,b){return!j[b].disabled&&1==j[b].yAxis&&"bar"==j[b].type})),u.width(D).height(E).color(Q.filter(function(a,b){return!j[b].disabled&&2==j[b].yAxis&&"bar"==j[b].type})),v.width(D).height(E).color(Q.filter(function(a,b){return!j[b].disabled&&1==j[b].yAxis&&"area"==j[b].type})),w.width(D).height(E).color(Q.filter(function(a,b){return!j[b].disabled&&2==j[b].yAxis&&"area"==j[b].type})),P.attr("transform","translate("+e.left+","+e.top+")");var T=P.select(".lines1Wrap").datum(F.filter(function(a){return!a.disabled})),U=P.select(".bars1Wrap").datum(H.filter(function(a){return!a.disabled})),V=P.select(".stack1Wrap").datum(J.filter(function(a){return!a.disabled})),W=P.select(".lines2Wrap").datum(G.filter(function(a){return!a.disabled})),X=P.select(".bars2Wrap").datum(I.filter(function(a){return!a.disabled})),Y=P.select(".stack2Wrap").datum(K.filter(function(a){return!a.disabled})),Z=J.length?J.map(function(a){return a.values}).reduce(function(a,b){return a.map(function(a,c){return{x:a.x,y:a.y+b[c].y}})}).concat([{x:0,y:0}]):[],$=K.length?K.map(function(a){return a.values}).reduce(function(a,b){return a.map(function(a,c){return{x:a.x,y:a.y+b[c].y}})}).concat([{x:0,y:0}]):[];p.domain(c||d3.extent(d3.merge(L).concat(Z),function(a){return a.y})).range([0,E]),q.domain(d||d3.extent(d3.merge(M).concat($),function(a){return a.y})).range([0,E]),r.yDomain(p.domain()),t.yDomain(p.domain()),v.yDomain(p.domain()),s.yDomain(q.domain()),u.yDomain(q.domain()),w.yDomain(q.domain()),J.length&&d3.transition(V).call(v),K.length&&d3.transition(Y).call(w),H.length&&d3.transition(U).call(t),I.length&&d3.transition(X).call(u),F.length&&d3.transition(T).call(r),G.length&&d3.transition(W).call(s),x._ticks(a.utils.calcTicksX(D/100,j)).tickSize(-E,0),P.select(".nv-x.nv-axis").attr("transform","translate(0,"+E+")"),d3.transition(P.select(".nv-x.nv-axis")).call(x),y._ticks(a.utils.calcTicksY(E/36,j)).tickSize(-D,0),d3.transition(P.select(".nv-y1.nv-axis")).call(y),z._ticks(a.utils.calcTicksY(E/36,j)).tickSize(-D,0),d3.transition(P.select(".nv-y2.nv-axis")).call(z),P.select(".nv-y1.nv-axis").classed("nv-disabled",L.length?!1:!0).attr("transform","translate("+o.range()[0]+",0)"),P.select(".nv-y2.nv-axis").classed("nv-disabled",M.length?!1:!0).attr("transform","translate("+o.range()[1]+",0)"),A.dispatch.on("stateChange",function(){b.update()}),r.dispatch.on("elementMouseover.tooltip",k),s.dispatch.on("elementMouseover.tooltip",k),r.dispatch.on("elementMouseout.tooltip",function(){B.hidden(!0)}),s.dispatch.on("elementMouseout.tooltip",function(){B.hidden(!0)}),v.dispatch.on("elementMouseover.tooltip",l),w.dispatch.on("elementMouseover.tooltip",l),v.dispatch.on("elementMouseout.tooltip",function(){B.hidden(!0)}),w.dispatch.on("elementMouseout.tooltip",function(){B.hidden(!0)}),t.dispatch.on("elementMouseover.tooltip",n),u.dispatch.on("elementMouseover.tooltip",n),t.dispatch.on("elementMouseout.tooltip",function(){B.hidden(!0)}),u.dispatch.on("elementMouseout.tooltip",function(){B.hidden(!0)}),t.dispatch.on("elementMousemove.tooltip",function(){B.position({top:d3.event.pageY,left:d3.event.pageX})()}),u.dispatch.on("elementMousemove.tooltip",function(){B.position({top:d3.event.pageY,left:d3.event.pageX})()})}),b}var c,d,e={top:30,right:20,bottom:50,left:60},f=a.utils.defaultColor(),g=null,h=null,i=!0,j=null,k=function(a){return a.x},l=function(a){return a.y},m="monotone",n=!0,o=d3.scale.linear(),p=d3.scale.linear(),q=d3.scale.linear(),r=a.models.line().yScale(p),s=a.models.line().yScale(q),t=a.models.multiBar().stacked(!1).yScale(p),u=a.models.multiBar().stacked(!1).yScale(q),v=a.models.stackedArea().yScale(p),w=a.models.stackedArea().yScale(q),x=a.models.axis().scale(o).orient("bottom").tickPadding(5),y=a.models.axis().scale(p).orient("left"),z=a.models.axis().scale(q).orient("right"),A=a.models.legend().height(30),B=a.models.tooltip(),C=d3.dispatch();return b.dispatch=C,b.lines1=r,b.lines2=s,b.bars1=t,b.bars2=u,b.stack1=v,b.stack2=w,b.xAxis=x,b.yAxis1=y,b.yAxis2=z,b.tooltip=B,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return g},set:function(a){g=a}},height:{get:function(){return h},set:function(a){h=a}},showLegend:{get:function(){return i},set:function(a){i=a}},yDomain1:{get:function(){return c},set:function(a){c=a}},yDomain2:{get:function(){return d},set:function(a){d=a}},noData:{get:function(){return j},set:function(a){j=a}},interpolate:{get:function(){return m},set:function(a){m=a}},tooltips:{get:function(){return B.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),B.enabled(!!b)}},tooltipContent:{get:function(){return B.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),B.contentGenerator(b)}},margin:{get:function(){return e},set:function(a){e.top=void 0!==a.top?a.top:e.top,e.right=void 0!==a.right?a.right:e.right,e.bottom=void 0!==a.bottom?a.bottom:e.bottom,e.left=void 0!==a.left?a.left:e.left}},color:{get:function(){return f},set:function(b){f=a.utils.getColor(b)}},x:{get:function(){return k},set:function(a){k=a,r.x(a),s.x(a),t.x(a),u.x(a),v.x(a),w.x(a)}},y:{get:function(){return l},set:function(a){l=a,r.y(a),s.y(a),v.y(a),w.y(a),t.y(a),u.y(a)}},useVoronoi:{get:function(){return n},set:function(a){n=a,r.useVoronoi(a),s.useVoronoi(a),v.useVoronoi(a),w.useVoronoi(a)}}}),a.utils.initOptions(b),b},a.models.ohlcBar=function(){"use strict";function b(y){return y.each(function(b){k=d3.select(this);var y=a.utils.availableWidth(h,k,g),A=a.utils.availableHeight(i,k,g);a.utils.initSVG(k);var B=y/b[0].values.length*.9;l.domain(c||d3.extent(b[0].values.map(n).concat(t))),l.range(v?e||[.5*y/b[0].values.length,y*(b[0].values.length-.5)/b[0].values.length]:e||[5+B/2,y-B/2-5]),m.domain(d||[d3.min(b[0].values.map(s).concat(u)),d3.max(b[0].values.map(r).concat(u))]).range(f||[A,0]),l.domain()[0]===l.domain()[1]&&l.domain(l.domain()[0]?[l.domain()[0]-.01*l.domain()[0],l.domain()[1]+.01*l.domain()[1]]:[-1,1]),m.domain()[0]===m.domain()[1]&&m.domain(m.domain()[0]?[m.domain()[0]+.01*m.domain()[0],m.domain()[1]-.01*m.domain()[1]]:[-1,1]);var C=d3.select(this).selectAll("g.nv-wrap.nv-ohlcBar").data([b[0].values]),D=C.enter().append("g").attr("class","nvd3 nv-wrap nv-ohlcBar"),E=D.append("defs"),F=D.append("g"),G=C.select("g");F.append("g").attr("class","nv-ticks"),C.attr("transform","translate("+g.left+","+g.top+")"),k.on("click",function(a,b){z.chartClick({data:a,index:b,pos:d3.event,id:j})}),E.append("clipPath").attr("id","nv-chart-clip-path-"+j).append("rect"),C.select("#nv-chart-clip-path-"+j+" rect").attr("width",y).attr("height",A),G.attr("clip-path",w?"url(#nv-chart-clip-path-"+j+")":"");var H=C.select(".nv-ticks").selectAll(".nv-tick").data(function(a){return a});H.exit().remove(),H.enter().append("path").attr("class",function(a,b,c){return(p(a,b)>q(a,b)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+c+"-"+b}).attr("d",function(a,b){return"m0,0l0,"+(m(p(a,b))-m(r(a,b)))+"l"+-B/2+",0l"+B/2+",0l0,"+(m(s(a,b))-m(p(a,b)))+"l0,"+(m(q(a,b))-m(s(a,b)))+"l"+B/2+",0l"+-B/2+",0z"}).attr("transform",function(a,b){return"translate("+l(n(a,b))+","+m(r(a,b))+")"}).attr("fill",function(){return x[0]}).attr("stroke",function(){return x[0]}).attr("x",0).attr("y",function(a,b){return m(Math.max(0,o(a,b)))}).attr("height",function(a,b){return Math.abs(m(o(a,b))-m(0))}),H.attr("class",function(a,b,c){return(p(a,b)>q(a,b)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+c+"-"+b}),d3.transition(H).attr("transform",function(a,b){return"translate("+l(n(a,b))+","+m(r(a,b))+")"}).attr("d",function(a,c){var d=y/b[0].values.length*.9;return"m0,0l0,"+(m(p(a,c))-m(r(a,c)))+"l"+-d/2+",0l"+d/2+",0l0,"+(m(s(a,c))-m(p(a,c)))+"l0,"+(m(q(a,c))-m(s(a,c)))+"l"+d/2+",0l"+-d/2+",0z"})}),b}var c,d,e,f,g={top:0,right:0,bottom:0,left:0},h=null,i=null,j=Math.floor(1e4*Math.random()),k=null,l=d3.scale.linear(),m=d3.scale.linear(),n=function(a){return a.x},o=function(a){return a.y},p=function(a){return a.open},q=function(a){return a.close},r=function(a){return a.high},s=function(a){return a.low},t=[],u=[],v=!1,w=!0,x=a.utils.defaultColor(),y=!1,z=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState","renderEnd","chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove");return b.highlightPoint=function(a,c){b.clearHighlights(),k.select(".nv-ohlcBar .nv-tick-0-"+a).classed("hover",c)},b.clearHighlights=function(){k.select(".nv-ohlcBar .nv-tick.hover").classed("hover",!1)},b.dispatch=z,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return h},set:function(a){h=a}},height:{get:function(){return i},set:function(a){i=a}},xScale:{get:function(){return l},set:function(a){l=a}},yScale:{get:function(){return m},set:function(a){m=a}},xDomain:{get:function(){return c},set:function(a){c=a}},yDomain:{get:function(){return d},set:function(a){d=a}},xRange:{get:function(){return e},set:function(a){e=a}},yRange:{get:function(){return f},set:function(a){f=a}},forceX:{get:function(){return t},set:function(a){t=a}},forceY:{get:function(){return u},set:function(a){u=a}},padData:{get:function(){return v},set:function(a){v=a}},clipEdge:{get:function(){return w},set:function(a){w=a}},id:{get:function(){return j},set:function(a){j=a}},interactive:{get:function(){return y},set:function(a){y=a}},x:{get:function(){return n},set:function(a){n=a}},y:{get:function(){return o},set:function(a){o=a}},open:{get:function(){return p()},set:function(a){p=a}},close:{get:function(){return q()},set:function(a){q=a}},high:{get:function(){return r},set:function(a){r=a}},low:{get:function(){return s},set:function(a){s=a}},margin:{get:function(){return g},set:function(a){g.top=void 0!=a.top?a.top:g.top,g.right=void 0!=a.right?a.right:g.right,g.bottom=void 0!=a.bottom?a.bottom:g.bottom,g.left=void 0!=a.left?a.left:g.left -}},color:{get:function(){return x},set:function(b){x=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.parallelCoordinates=function(){"use strict";function b(p){return p.each(function(b){function p(a){return F(h.map(function(b){if(isNaN(a[b])||isNaN(parseFloat(a[b]))){var c=g[b].domain(),d=g[b].range(),e=c[0]-(c[1]-c[0])/9;if(J.indexOf(b)<0){var h=d3.scale.linear().domain([e,c[1]]).range([x-12,d[1]]);g[b].brush.y(h),J.push(b)}return[f(b),g[b](e)]}return J.length>0?(D.style("display","inline"),E.style("display","inline")):(D.style("display","none"),E.style("display","none")),[f(b),g[b](a[b])]}))}function q(){var a=h.filter(function(a){return!g[a].brush.empty()}),b=a.map(function(a){return g[a].brush.extent()});k=[],a.forEach(function(a,c){k[c]={dimension:a,extent:b[c]}}),l=[],M.style("display",function(c){var d=a.every(function(a,d){return isNaN(c[a])&&b[d][0]==g[a].brush.y().domain()[0]?!0:b[d][0]<=c[a]&&c[a]<=b[d][1]});return d&&l.push(c),d?null:"none"}),o.brush({filters:k,active:l})}function r(a){m[a]=this.parentNode.__origin__=f(a),L.attr("visibility","hidden")}function s(a){m[a]=Math.min(w,Math.max(0,this.parentNode.__origin__+=d3.event.x)),M.attr("d",p),h.sort(function(a,b){return u(a)-u(b)}),f.domain(h),N.attr("transform",function(a){return"translate("+u(a)+")"})}function t(a){delete this.parentNode.__origin__,delete m[a],d3.select(this.parentNode).attr("transform","translate("+f(a)+")"),M.attr("d",p),L.attr("d",p).attr("visibility",null)}function u(a){var b=m[a];return null==b?f(a):b}var v=d3.select(this),w=a.utils.availableWidth(d,v,c),x=a.utils.availableHeight(e,v,c);a.utils.initSVG(v),l=b,f.rangePoints([0,w],1).domain(h);var y={};h.forEach(function(a){var c=d3.extent(b,function(b){return+b[a]});return y[a]=!1,void 0===c[0]&&(y[a]=!0,c[0]=0,c[1]=0),c[0]===c[1]&&(c[0]=c[0]-1,c[1]=c[1]+1),g[a]=d3.scale.linear().domain(c).range([.9*(x-12),0]),g[a].brush=d3.svg.brush().y(g[a]).on("brush",q),"name"!=a});var z=v.selectAll("g.nv-wrap.nv-parallelCoordinates").data([b]),A=z.enter().append("g").attr("class","nvd3 nv-wrap nv-parallelCoordinates"),B=A.append("g"),C=z.select("g");B.append("g").attr("class","nv-parallelCoordinates background"),B.append("g").attr("class","nv-parallelCoordinates foreground"),B.append("g").attr("class","nv-parallelCoordinates missingValuesline"),z.attr("transform","translate("+c.left+","+c.top+")");var D,E,F=d3.svg.line().interpolate("cardinal").tension(n),G=d3.svg.axis().orient("left"),H=d3.behavior.drag().on("dragstart",r).on("drag",s).on("dragend",t),I=f.range()[1]-f.range()[0],J=[],K=[0+I/2,x-12,w-I/2,x-12];D=z.select(".missingValuesline").selectAll("line").data([K]),D.enter().append("line"),D.exit().remove(),D.attr("x1",function(a){return a[0]}).attr("y1",function(a){return a[1]}).attr("x2",function(a){return a[2]}).attr("y2",function(a){return a[3]}),E=z.select(".missingValuesline").selectAll("text").data(["undefined values"]),E.append("text").data(["undefined values"]),E.enter().append("text"),E.exit().remove(),E.attr("y",x).attr("x",w-92-I/2).text(function(a){return a});var L=z.select(".background").selectAll("path").data(b);L.enter().append("path"),L.exit().remove(),L.attr("d",p);var M=z.select(".foreground").selectAll("path").data(b);M.enter().append("path"),M.exit().remove(),M.attr("d",p).attr("stroke",j),M.on("mouseover",function(a,b){d3.select(this).classed("hover",!0),o.elementMouseover({label:a.name,data:a.data,index:b,pos:[d3.mouse(this.parentNode)[0],d3.mouse(this.parentNode)[1]]})}),M.on("mouseout",function(a,b){d3.select(this).classed("hover",!1),o.elementMouseout({label:a.name,data:a.data,index:b})});var N=C.selectAll(".dimension").data(h),O=N.enter().append("g").attr("class","nv-parallelCoordinates dimension");O.append("g").attr("class","nv-parallelCoordinates nv-axis"),O.append("g").attr("class","nv-parallelCoordinates-brush"),O.append("text").attr("class","nv-parallelCoordinates nv-label"),N.attr("transform",function(a){return"translate("+f(a)+",0)"}),N.exit().remove(),N.select(".nv-label").style("cursor","move").attr("dy","-1em").attr("text-anchor","middle").text(String).on("mouseover",function(a){o.elementMouseover({dim:a,pos:[d3.mouse(this.parentNode.parentNode)[0],d3.mouse(this.parentNode.parentNode)[1]]})}).on("mouseout",function(a){o.elementMouseout({dim:a})}).call(H),N.select(".nv-axis").each(function(a,b){d3.select(this).call(G.scale(g[a]).tickFormat(d3.format(i[b])))}),N.select(".nv-parallelCoordinates-brush").each(function(a){d3.select(this).call(g[a].brush)}).selectAll("rect").attr("x",-8).attr("width",16)}),b}var c={top:30,right:0,bottom:10,left:0},d=null,e=null,f=d3.scale.ordinal(),g={},h=[],i=[],j=a.utils.defaultColor(),k=[],l=[],m=[],n=1,o=d3.dispatch("brush","elementMouseover","elementMouseout");return b.dispatch=o,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return d},set:function(a){d=a}},height:{get:function(){return e},set:function(a){e=a}},dimensionNames:{get:function(){return h},set:function(a){h=a}},dimensionFormats:{get:function(){return i},set:function(a){i=a}},lineTension:{get:function(){return n},set:function(a){n=a}},dimensions:{get:function(){return h},set:function(b){a.deprecated("dimensions","use dimensionNames instead"),h=b}},margin:{get:function(){return c},set:function(a){c.top=void 0!==a.top?a.top:c.top,c.right=void 0!==a.right?a.right:c.right,c.bottom=void 0!==a.bottom?a.bottom:c.bottom,c.left=void 0!==a.left?a.left:c.left}},color:{get:function(){return j},set:function(b){j=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.pie=function(){"use strict";function b(E){return D.reset(),E.each(function(b){function E(a,b){a.endAngle=isNaN(a.endAngle)?0:a.endAngle,a.startAngle=isNaN(a.startAngle)?0:a.startAngle,p||(a.innerRadius=0);var c=d3.interpolate(this._current,a);return this._current=c(0),function(a){return B[b](c(a))}}var F=d-c.left-c.right,G=e-c.top-c.bottom,H=Math.min(F,G)/2,I=[],J=[];if(i=d3.select(this),0===z.length)for(var K=H-H/5,L=y*H,M=0;Mc)return"";if("function"==typeof n)d=n(a,b,{key:f(a.data),value:g(a.data),percent:k(c)});else switch(n){case"key":d=f(a.data);break;case"value":d=k(g(a.data));break;case"percent":d=d3.format("%")(c)}return d})}}),D.renderEnd("pie immediate"),b}var c={top:0,right:0,bottom:0,left:0},d=500,e=500,f=function(a){return a.x},g=function(a){return a.y},h=Math.floor(1e4*Math.random()),i=null,j=a.utils.defaultColor(),k=d3.format(",.2f"),l=!0,m=!1,n="key",o=.02,p=!1,q=!1,r=!0,s=0,t=!1,u=!1,v=!1,w=!1,x=0,y=.5,z=[],A=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),B=[],C=[],D=a.utils.renderWatch(A);return b.dispatch=A,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{arcsRadius:{get:function(){return z},set:function(a){z=a}},width:{get:function(){return d},set:function(a){d=a}},height:{get:function(){return e},set:function(a){e=a}},showLabels:{get:function(){return l},set:function(a){l=a}},title:{get:function(){return q},set:function(a){q=a}},titleOffset:{get:function(){return s},set:function(a){s=a}},labelThreshold:{get:function(){return o},set:function(a){o=a}},valueFormat:{get:function(){return k},set:function(a){k=a}},x:{get:function(){return f},set:function(a){f=a}},id:{get:function(){return h},set:function(a){h=a}},endAngle:{get:function(){return w},set:function(a){w=a}},startAngle:{get:function(){return u},set:function(a){u=a}},padAngle:{get:function(){return v},set:function(a){v=a}},cornerRadius:{get:function(){return x},set:function(a){x=a}},donutRatio:{get:function(){return y},set:function(a){y=a}},labelsOutside:{get:function(){return m},set:function(a){m=a}},labelSunbeamLayout:{get:function(){return t},set:function(a){t=a}},donut:{get:function(){return p},set:function(a){p=a}},growOnHover:{get:function(){return r},set:function(a){r=a}},pieLabelsOutside:{get:function(){return m},set:function(b){m=b,a.deprecated("pieLabelsOutside","use labelsOutside instead")}},donutLabelsOutside:{get:function(){return m},set:function(b){m=b,a.deprecated("donutLabelsOutside","use labelsOutside instead")}},labelFormat:{get:function(){return k},set:function(b){k=b,a.deprecated("labelFormat","use valueFormat instead")}},margin:{get:function(){return c},set:function(a){c.top="undefined"!=typeof a.top?a.top:c.top,c.right="undefined"!=typeof a.right?a.right:c.right,c.bottom="undefined"!=typeof a.bottom?a.bottom:c.bottom,c.left="undefined"!=typeof a.left?a.left:c.left}},y:{get:function(){return g},set:function(a){g=d3.functor(a)}},color:{get:function(){return j},set:function(b){j=a.utils.getColor(b)}},labelType:{get:function(){return n},set:function(a){n=a||"key"}}}),a.utils.initOptions(b),b},a.models.pieChart=function(){"use strict";function b(e){return q.reset(),q.models(c),e.each(function(e){var k=d3.select(this);a.utils.initSVG(k);var n=a.utils.availableWidth(g,k,f),o=a.utils.availableHeight(h,k,f);if(b.update=function(){k.transition().call(b)},b.container=this,l.setter(s(e),b.update).getter(r(e)).update(),l.disabled=e.map(function(a){return!!a.disabled}),!m){var q;m={};for(q in l)m[q]=l[q]instanceof Array?l[q].slice(0):l[q]}if(!e||!e.length)return a.utils.noData(b,k),b;k.selectAll(".nv-noData").remove();var t=k.selectAll("g.nv-wrap.nv-pieChart").data([e]),u=t.enter().append("g").attr("class","nvd3 nv-wrap nv-pieChart").append("g"),v=t.select("g");if(u.append("g").attr("class","nv-pieWrap"),u.append("g").attr("class","nv-legendWrap"),i)if("top"===j)d.width(n).key(c.x()),t.select(".nv-legendWrap").datum(e).call(d),f.top!=d.height()&&(f.top=d.height(),o=a.utils.availableHeight(h,k,f)),t.select(".nv-legendWrap").attr("transform","translate(0,"+-f.top+")");else if("right"===j){var w=a.models.legend().width();w>n/2&&(w=n/2),d.height(o).key(c.x()),d.width(w),n-=d.width(),t.select(".nv-legendWrap").datum(e).call(d).attr("transform","translate("+n+",0)")}t.attr("transform","translate("+f.left+","+f.top+")"),c.width(n).height(o);var x=v.select(".nv-pieWrap").datum([e]);d3.transition(x).call(c),d.dispatch.on("stateChange",function(a){for(var c in a)l[c]=a[c];p.stateChange(l),b.update()}),p.on("changeState",function(a){"undefined"!=typeof a.disabled&&(e.forEach(function(b,c){b.disabled=a.disabled[c]}),l.disabled=a.disabled),b.update()})}),q.renderEnd("pieChart immediate"),b}var c=a.models.pie(),d=a.models.legend(),e=a.models.tooltip(),f={top:30,right:20,bottom:20,left:20},g=null,h=null,i=!0,j="top",k=a.utils.defaultColor(),l=a.utils.state(),m=null,n=null,o=250,p=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState","renderEnd");e.headerEnabled(!1).duration(0).valueFormatter(function(a,b){return c.valueFormat()(a,b)});var q=a.utils.renderWatch(p),r=function(a){return function(){return{active:a.map(function(a){return!a.disabled})}}},s=function(a){return function(b){void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};return c.dispatch.on("elementMouseover.tooltip",function(a){a.series={key:b.x()(a.data),value:b.y()(a.data),color:a.color},e.data(a).hidden(!1)}),c.dispatch.on("elementMouseout.tooltip",function(){e.hidden(!0)}),c.dispatch.on("elementMousemove.tooltip",function(){e.position({top:d3.event.pageY,left:d3.event.pageX})()}),b.legend=d,b.dispatch=p,b.pie=c,b.tooltip=e,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{noData:{get:function(){return n},set:function(a){n=a}},showLegend:{get:function(){return i},set:function(a){i=a}},legendPosition:{get:function(){return j},set:function(a){j=a}},defaultState:{get:function(){return m},set:function(a){m=a}},tooltips:{get:function(){return e.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),e.enabled(!!b)}},tooltipContent:{get:function(){return e.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),e.contentGenerator(b)}},color:{get:function(){return k},set:function(a){k=a,d.color(k),c.color(k)}},duration:{get:function(){return o},set:function(a){o=a,q.reset(o)}},margin:{get:function(){return f},set:function(a){f.top=void 0!==a.top?a.top:f.top,f.right=void 0!==a.right?a.right:f.right,f.bottom=void 0!==a.bottom?a.bottom:f.bottom,f.left=void 0!==a.left?a.left:f.left}}}),a.utils.inheritOptions(b,c),a.utils.initOptions(b),b},a.models.scatter=function(){"use strict";function b(N){return P.reset(),N.each(function(b){function N(){if(O=!1,!w)return!1;if(M===!0){var a=d3.merge(b.map(function(a,b){return a.values.map(function(a,c){var d=p(a,c),e=q(a,c);return[m(d)+1e-4*Math.random(),n(e)+1e-4*Math.random(),b,c,a]}).filter(function(a,b){return x(a[4],b)})}));if(0==a.length)return!1;a.length<3&&(a.push([m.range()[0]-20,n.range()[0]-20,null,null]),a.push([m.range()[1]+20,n.range()[1]+20,null,null]),a.push([m.range()[0]-20,n.range()[0]+20,null,null]),a.push([m.range()[1]+20,n.range()[1]-20,null,null]));var c=d3.geom.polygon([[-10,-10],[-10,i+10],[h+10,i+10],[h+10,-10]]),d=d3.geom.voronoi(a).map(function(b,d){return{data:c.clip(b),series:a[d][2],point:a[d][3]}});U.select(".nv-point-paths").selectAll("path").remove();var e=U.select(".nv-point-paths").selectAll("path").data(d),f=e.enter().append("svg:path").attr("d",function(a){return a&&a.data&&0!==a.data.length?"M"+a.data.join(",")+"Z":"M 0 0"}).attr("id",function(a,b){return"nv-path-"+b}).attr("clip-path",function(a,b){return"url(#nv-clip-"+b+")"});C&&f.style("fill",d3.rgb(230,230,230)).style("fill-opacity",.4).style("stroke-opacity",1).style("stroke",d3.rgb(200,200,200)),B&&(U.select(".nv-point-clips").selectAll("clipPath").remove(),U.select(".nv-point-clips").selectAll("clipPath").data(a).enter().append("svg:clipPath").attr("id",function(a,b){return"nv-clip-"+b}).append("svg:circle").attr("cx",function(a){return a[0]}).attr("cy",function(a){return a[1]}).attr("r",D));var k=function(a,c){if(O)return 0;var d=b[a.series];if(void 0!==d){var e=d.values[a.point];e.color=j(d,a.series),e.x=p(e),e.y=q(e);var f=l.node().getBoundingClientRect(),h=window.pageYOffset||document.documentElement.scrollTop,i=window.pageXOffset||document.documentElement.scrollLeft,k={left:m(p(e,a.point))+f.left+i+g.left+10,top:n(q(e,a.point))+f.top+h+g.top+10};c({point:e,series:d,pos:k,seriesIndex:a.series,pointIndex:a.point})}};e.on("click",function(a){k(a,L.elementClick)}).on("dblclick",function(a){k(a,L.elementDblClick)}).on("mouseover",function(a){k(a,L.elementMouseover)}).on("mouseout",function(a){k(a,L.elementMouseout)})}else U.select(".nv-groups").selectAll(".nv-group").selectAll(".nv-point").on("click",function(a,c){if(O||!b[a.series])return 0;var d=b[a.series],e=d.values[c];L.elementClick({point:e,series:d,pos:[m(p(e,c))+g.left,n(q(e,c))+g.top],seriesIndex:a.series,pointIndex:c})}).on("dblclick",function(a,c){if(O||!b[a.series])return 0;var d=b[a.series],e=d.values[c];L.elementDblClick({point:e,series:d,pos:[m(p(e,c))+g.left,n(q(e,c))+g.top],seriesIndex:a.series,pointIndex:c})}).on("mouseover",function(a,c){if(O||!b[a.series])return 0;var d=b[a.series],e=d.values[c];L.elementMouseover({point:e,series:d,pos:[m(p(e,c))+g.left,n(q(e,c))+g.top],seriesIndex:a.series,pointIndex:c,color:j(a,c)})}).on("mouseout",function(a,c){if(O||!b[a.series])return 0;var d=b[a.series],e=d.values[c];L.elementMouseout({point:e,series:d,seriesIndex:a.series,pointIndex:c,color:j(a,c)})})}l=d3.select(this);var R=a.utils.availableWidth(h,l,g),S=a.utils.availableHeight(i,l,g);a.utils.initSVG(l),b.forEach(function(a,b){a.values.forEach(function(a){a.series=b})});var T=E&&F&&I?[]:d3.merge(b.map(function(a){return a.values.map(function(a,b){return{x:p(a,b),y:q(a,b),size:r(a,b)}})}));m.domain(E||d3.extent(T.map(function(a){return a.x}).concat(t))),m.range(y&&b[0]?G||[(R*z+R)/(2*b[0].values.length),R-R*(1+z)/(2*b[0].values.length)]:G||[0,R]),n.domain(F||d3.extent(T.map(function(a){return a.y}).concat(u))).range(H||[S,0]),o.domain(I||d3.extent(T.map(function(a){return a.size}).concat(v))).range(J||Q),K=m.domain()[0]===m.domain()[1]||n.domain()[0]===n.domain()[1],m.domain()[0]===m.domain()[1]&&m.domain(m.domain()[0]?[m.domain()[0]-.01*m.domain()[0],m.domain()[1]+.01*m.domain()[1]]:[-1,1]),n.domain()[0]===n.domain()[1]&&n.domain(n.domain()[0]?[n.domain()[0]-.01*n.domain()[0],n.domain()[1]+.01*n.domain()[1]]:[-1,1]),isNaN(m.domain()[0])&&m.domain([-1,1]),isNaN(n.domain()[0])&&n.domain([-1,1]),c=c||m,d=d||n,e=e||o;var U=l.selectAll("g.nv-wrap.nv-scatter").data([b]),V=U.enter().append("g").attr("class","nvd3 nv-wrap nv-scatter nv-chart-"+k),W=V.append("defs"),X=V.append("g"),Y=U.select("g");U.classed("nv-single-point",K),X.append("g").attr("class","nv-groups"),X.append("g").attr("class","nv-point-paths"),V.append("g").attr("class","nv-point-clips"),U.attr("transform","translate("+g.left+","+g.top+")"),W.append("clipPath").attr("id","nv-edge-clip-"+k).append("rect"),U.select("#nv-edge-clip-"+k+" rect").attr("width",R).attr("height",S>0?S:0),Y.attr("clip-path",A?"url(#nv-edge-clip-"+k+")":""),O=!0;var Z=U.select(".nv-groups").selectAll(".nv-group").data(function(a){return a},function(a){return a.key});Z.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),Z.exit().remove(),Z.attr("class",function(a,b){return"nv-group nv-series-"+b}).classed("hover",function(a){return a.hover}),Z.watchTransition(P,"scatter: groups").style("fill",function(a,b){return j(a,b)}).style("stroke",function(a,b){return j(a,b)}).style("stroke-opacity",1).style("fill-opacity",.5);var $=Z.selectAll("path.nv-point").data(function(a){return a.values.map(function(a,b){return[a,b]}).filter(function(a,b){return x(a[0],b)})});$.enter().append("path").style("fill",function(a){return a.color}).style("stroke",function(a){return a.color}).attr("transform",function(a){return"translate("+c(p(a[0],a[1]))+","+d(q(a[0],a[1]))+")"}).attr("d",a.utils.symbol().type(function(a){return s(a[0])}).size(function(a){return o(r(a[0],a[1]))})),$.exit().remove(),Z.exit().selectAll("path.nv-point").watchTransition(P,"scatter exit").attr("transform",function(a){return"translate("+m(p(a[0],a[1]))+","+n(q(a[0],a[1]))+")"}).remove(),$.each(function(a){d3.select(this).classed("nv-point",!0).classed("nv-point-"+a[1],!0).classed("nv-noninteractive",!w).classed("hover",!1)}),$.watchTransition(P,"scatter points").attr("transform",function(a){return"translate("+m(p(a[0],a[1]))+","+n(q(a[0],a[1]))+")"}).attr("d",a.utils.symbol().type(function(a){return s(a[0])}).size(function(a){return o(r(a[0],a[1]))})),clearTimeout(f),f=setTimeout(N,300),c=m.copy(),d=n.copy(),e=o.copy()}),P.renderEnd("scatter immediate"),b}var c,d,e,f,g={top:0,right:0,bottom:0,left:0},h=null,i=null,j=a.utils.defaultColor(),k=Math.floor(1e5*Math.random()),l=null,m=d3.scale.linear(),n=d3.scale.linear(),o=d3.scale.linear(),p=function(a){return a.x},q=function(a){return a.y},r=function(a){return a.size||1},s=function(a){return a.shape||"circle"},t=[],u=[],v=[],w=!0,x=function(a){return!a.notActive},y=!1,z=.1,A=!1,B=!0,C=!1,D=function(){return 25},E=null,F=null,G=null,H=null,I=null,J=null,K=!1,L=d3.dispatch("elementClick","elementDblClick","elementMouseover","elementMouseout","renderEnd"),M=!0,N=250,O=!1,P=a.utils.renderWatch(L,N),Q=[16,256];return b.dispatch=L,b.options=a.utils.optionsFunc.bind(b),b._calls=new function(){this.clearHighlights=function(){return a.dom.write(function(){l.selectAll(".nv-point.hover").classed("hover",!1)}),null},this.highlightPoint=function(b,c,d){a.dom.write(function(){l.select(" .nv-series-"+b+" .nv-point-"+c).classed("hover",d)})}},L.on("elementMouseover.point",function(a){w&&b._calls.highlightPoint(a.seriesIndex,a.pointIndex,!0)}),L.on("elementMouseout.point",function(a){w&&b._calls.highlightPoint(a.seriesIndex,a.pointIndex,!1)}),b._options=Object.create({},{width:{get:function(){return h},set:function(a){h=a}},height:{get:function(){return i},set:function(a){i=a}},xScale:{get:function(){return m},set:function(a){m=a}},yScale:{get:function(){return n},set:function(a){n=a}},pointScale:{get:function(){return o},set:function(a){o=a}},xDomain:{get:function(){return E},set:function(a){E=a}},yDomain:{get:function(){return F},set:function(a){F=a}},pointDomain:{get:function(){return I},set:function(a){I=a}},xRange:{get:function(){return G},set:function(a){G=a}},yRange:{get:function(){return H},set:function(a){H=a}},pointRange:{get:function(){return J},set:function(a){J=a}},forceX:{get:function(){return t},set:function(a){t=a}},forceY:{get:function(){return u},set:function(a){u=a}},forcePoint:{get:function(){return v},set:function(a){v=a}},interactive:{get:function(){return w},set:function(a){w=a}},pointActive:{get:function(){return x},set:function(a){x=a}},padDataOuter:{get:function(){return z},set:function(a){z=a}},padData:{get:function(){return y},set:function(a){y=a}},clipEdge:{get:function(){return A},set:function(a){A=a}},clipVoronoi:{get:function(){return B},set:function(a){B=a}},clipRadius:{get:function(){return D},set:function(a){D=a}},showVoronoi:{get:function(){return C},set:function(a){C=a}},id:{get:function(){return k},set:function(a){k=a}},x:{get:function(){return p},set:function(a){p=d3.functor(a)}},y:{get:function(){return q},set:function(a){q=d3.functor(a)}},pointSize:{get:function(){return r},set:function(a){r=d3.functor(a)}},pointShape:{get:function(){return s},set:function(a){s=d3.functor(a)}},margin:{get:function(){return g},set:function(a){g.top=void 0!==a.top?a.top:g.top,g.right=void 0!==a.right?a.right:g.right,g.bottom=void 0!==a.bottom?a.bottom:g.bottom,g.left=void 0!==a.left?a.left:g.left}},duration:{get:function(){return N},set:function(a){N=a,P.reset(N)}},color:{get:function(){return j},set:function(b){j=a.utils.getColor(b)}},useVoronoi:{get:function(){return M},set:function(a){M=a,M===!1&&(B=!1)}}}),a.utils.initOptions(b),b},a.models.scatterChart=function(){"use strict";function b(z){return D.reset(),D.models(c),t&&D.models(d),u&&D.models(e),q&&D.models(g),r&&D.models(h),z.each(function(z){m=d3.select(this),a.utils.initSVG(m);var G=a.utils.availableWidth(k,m,j),H=a.utils.availableHeight(l,m,j);if(b.update=function(){0===A?m.call(b):m.transition().duration(A).call(b)},b.container=this,w.setter(F(z),b.update).getter(E(z)).update(),w.disabled=z.map(function(a){return!!a.disabled}),!x){var I;x={};for(I in w)x[I]=w[I]instanceof Array?w[I].slice(0):w[I]}if(!(z&&z.length&&z.filter(function(a){return a.values.length}).length))return a.utils.noData(b,m),D.renderEnd("scatter immediate"),b;m.selectAll(".nv-noData").remove(),o=c.xScale(),p=c.yScale();var J=m.selectAll("g.nv-wrap.nv-scatterChart").data([z]),K=J.enter().append("g").attr("class","nvd3 nv-wrap nv-scatterChart nv-chart-"+c.id()),L=K.append("g"),M=J.select("g");if(L.append("rect").attr("class","nvd3 nv-background").style("pointer-events","none"),L.append("g").attr("class","nv-x nv-axis"),L.append("g").attr("class","nv-y nv-axis"),L.append("g").attr("class","nv-scatterWrap"),L.append("g").attr("class","nv-regressionLinesWrap"),L.append("g").attr("class","nv-distWrap"),L.append("g").attr("class","nv-legendWrap"),v&&M.select(".nv-y.nv-axis").attr("transform","translate("+G+",0)"),s){var N=G;f.width(N),J.select(".nv-legendWrap").datum(z).call(f),j.top!=f.height()&&(j.top=f.height(),H=a.utils.availableHeight(l,m,j)),J.select(".nv-legendWrap").attr("transform","translate(0,"+-j.top+")")}J.attr("transform","translate("+j.left+","+j.top+")"),c.width(G).height(H).color(z.map(function(a,b){return a.color=a.color||n(a,b),a.color}).filter(function(a,b){return!z[b].disabled})),J.select(".nv-scatterWrap").datum(z.filter(function(a){return!a.disabled})).call(c),J.select(".nv-regressionLinesWrap").attr("clip-path","url(#nv-edge-clip-"+c.id()+")");var O=J.select(".nv-regressionLinesWrap").selectAll(".nv-regLines").data(function(a){return a});O.enter().append("g").attr("class","nv-regLines");var P=O.selectAll(".nv-regLine").data(function(a){return[a]});P.enter().append("line").attr("class","nv-regLine").style("stroke-opacity",0),P.filter(function(a){return a.intercept&&a.slope}).watchTransition(D,"scatterPlusLineChart: regline").attr("x1",o.range()[0]).attr("x2",o.range()[1]).attr("y1",function(a){return p(o.domain()[0]*a.slope+a.intercept)}).attr("y2",function(a){return p(o.domain()[1]*a.slope+a.intercept)}).style("stroke",function(a,b,c){return n(a,c)}).style("stroke-opacity",function(a){return a.disabled||"undefined"==typeof a.slope||"undefined"==typeof a.intercept?0:1}),t&&(d.scale(o)._ticks(a.utils.calcTicksX(G/100,z)).tickSize(-H,0),M.select(".nv-x.nv-axis").attr("transform","translate(0,"+p.range()[0]+")").call(d)),u&&(e.scale(p)._ticks(a.utils.calcTicksY(H/36,z)).tickSize(-G,0),M.select(".nv-y.nv-axis").call(e)),q&&(g.getData(c.x()).scale(o).width(G).color(z.map(function(a,b){return a.color||n(a,b)}).filter(function(a,b){return!z[b].disabled})),L.select(".nv-distWrap").append("g").attr("class","nv-distributionX"),M.select(".nv-distributionX").attr("transform","translate(0,"+p.range()[0]+")").datum(z.filter(function(a){return!a.disabled})).call(g)),r&&(h.getData(c.y()).scale(p).width(H).color(z.map(function(a,b){return a.color||n(a,b)}).filter(function(a,b){return!z[b].disabled})),L.select(".nv-distWrap").append("g").attr("class","nv-distributionY"),M.select(".nv-distributionY").attr("transform","translate("+(v?G:-h.size())+",0)").datum(z.filter(function(a){return!a.disabled})).call(h)),f.dispatch.on("stateChange",function(a){for(var c in a)w[c]=a[c];y.stateChange(w),b.update()}),y.on("changeState",function(a){"undefined"!=typeof a.disabled&&(z.forEach(function(b,c){b.disabled=a.disabled[c]}),w.disabled=a.disabled),b.update()}),c.dispatch.on("elementMouseout.tooltip",function(a){i.hidden(!0),m.select(".nv-chart-"+c.id()+" .nv-series-"+a.seriesIndex+" .nv-distx-"+a.pointIndex).attr("y1",0),m.select(".nv-chart-"+c.id()+" .nv-series-"+a.seriesIndex+" .nv-disty-"+a.pointIndex).attr("x2",h.size())}),c.dispatch.on("elementMouseover.tooltip",function(a){m.select(".nv-series-"+a.seriesIndex+" .nv-distx-"+a.pointIndex).attr("y1",a.pos.top-H-j.top),m.select(".nv-series-"+a.seriesIndex+" .nv-disty-"+a.pointIndex).attr("x2",a.pos.left+g.size()-j.left),i.position(a.pos).data(a).hidden(!1)}),B=o.copy(),C=p.copy()}),D.renderEnd("scatter with line immediate"),b}var c=a.models.scatter(),d=a.models.axis(),e=a.models.axis(),f=a.models.legend(),g=a.models.distribution(),h=a.models.distribution(),i=a.models.tooltip(),j={top:30,right:20,bottom:50,left:75},k=null,l=null,m=null,n=a.utils.defaultColor(),o=c.xScale(),p=c.yScale(),q=!1,r=!1,s=!0,t=!0,u=!0,v=!1,w=a.utils.state(),x=null,y=d3.dispatch("stateChange","changeState","renderEnd"),z=null,A=250;c.xScale(o).yScale(p),d.orient("bottom").tickPadding(10),e.orient(v?"right":"left").tickPadding(10),g.axis("x"),h.axis("y"),i.headerFormatter(function(a,b){return d.tickFormat()(a,b)}).valueFormatter(function(a,b){return e.tickFormat()(a,b)});var B,C,D=a.utils.renderWatch(y,A),E=function(a){return function(){return{active:a.map(function(a){return!a.disabled})}}},F=function(a){return function(b){void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};return b.dispatch=y,b.scatter=c,b.legend=f,b.xAxis=d,b.yAxis=e,b.distX=g,b.distY=h,b.tooltip=i,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return k},set:function(a){k=a}},height:{get:function(){return l},set:function(a){l=a}},container:{get:function(){return m},set:function(a){m=a}},showDistX:{get:function(){return q},set:function(a){q=a}},showDistY:{get:function(){return r},set:function(a){r=a}},showLegend:{get:function(){return s},set:function(a){s=a}},showXAxis:{get:function(){return t},set:function(a){t=a}},showYAxis:{get:function(){return u},set:function(a){u=a}},defaultState:{get:function(){return x},set:function(a){x=a}},noData:{get:function(){return z},set:function(a){z=a}},duration:{get:function(){return A},set:function(a){A=a}},tooltips:{get:function(){return i.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),i.enabled(!!b) -}},tooltipContent:{get:function(){return i.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),i.contentGenerator(b)}},tooltipXContent:{get:function(){return i.contentGenerator()},set:function(){a.deprecated("tooltipContent","This option is removed, put values into main tooltip.")}},tooltipYContent:{get:function(){return i.contentGenerator()},set:function(){a.deprecated("tooltipContent","This option is removed, put values into main tooltip.")}},margin:{get:function(){return j},set:function(a){j.top=void 0!==a.top?a.top:j.top,j.right=void 0!==a.right?a.right:j.right,j.bottom=void 0!==a.bottom?a.bottom:j.bottom,j.left=void 0!==a.left?a.left:j.left}},rightAlignYAxis:{get:function(){return v},set:function(a){v=a,e.orient(a?"right":"left")}},color:{get:function(){return n},set:function(b){n=a.utils.getColor(b),f.color(n),g.color(n),h.color(n)}}}),a.utils.inheritOptions(b,c),a.utils.initOptions(b),b},a.models.sparkline=function(){"use strict";function b(k){return k.each(function(b){var k=h-g.left-g.right,q=i-g.top-g.bottom;j=d3.select(this),a.utils.initSVG(j),l.domain(c||d3.extent(b,n)).range(e||[0,k]),m.domain(d||d3.extent(b,o)).range(f||[q,0]);{var r=j.selectAll("g.nv-wrap.nv-sparkline").data([b]),s=r.enter().append("g").attr("class","nvd3 nv-wrap nv-sparkline");s.append("g"),r.select("g")}r.attr("transform","translate("+g.left+","+g.top+")");var t=r.selectAll("path").data(function(a){return[a]});t.enter().append("path"),t.exit().remove(),t.style("stroke",function(a,b){return a.color||p(a,b)}).attr("d",d3.svg.line().x(function(a,b){return l(n(a,b))}).y(function(a,b){return m(o(a,b))}));var u=r.selectAll("circle.nv-point").data(function(a){function b(b){if(-1!=b){var c=a[b];return c.pointIndex=b,c}return null}var c=a.map(function(a,b){return o(a,b)}),d=b(c.lastIndexOf(m.domain()[1])),e=b(c.indexOf(m.domain()[0])),f=b(c.length-1);return[e,d,f].filter(function(a){return null!=a})});u.enter().append("circle"),u.exit().remove(),u.attr("cx",function(a){return l(n(a,a.pointIndex))}).attr("cy",function(a){return m(o(a,a.pointIndex))}).attr("r",2).attr("class",function(a){return n(a,a.pointIndex)==l.domain()[1]?"nv-point nv-currentValue":o(a,a.pointIndex)==m.domain()[0]?"nv-point nv-minValue":"nv-point nv-maxValue"})}),b}var c,d,e,f,g={top:2,right:0,bottom:2,left:0},h=400,i=32,j=null,k=!0,l=d3.scale.linear(),m=d3.scale.linear(),n=function(a){return a.x},o=function(a){return a.y},p=a.utils.getColor(["#000"]);return b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return h},set:function(a){h=a}},height:{get:function(){return i},set:function(a){i=a}},xDomain:{get:function(){return c},set:function(a){c=a}},yDomain:{get:function(){return d},set:function(a){d=a}},xRange:{get:function(){return e},set:function(a){e=a}},yRange:{get:function(){return f},set:function(a){f=a}},xScale:{get:function(){return l},set:function(a){l=a}},yScale:{get:function(){return m},set:function(a){m=a}},animate:{get:function(){return k},set:function(a){k=a}},x:{get:function(){return n},set:function(a){n=d3.functor(a)}},y:{get:function(){return o},set:function(a){o=d3.functor(a)}},margin:{get:function(){return g},set:function(a){g.top=void 0!==a.top?a.top:g.top,g.right=void 0!==a.right?a.right:g.right,g.bottom=void 0!==a.bottom?a.bottom:g.bottom,g.left=void 0!==a.left?a.left:g.left}},color:{get:function(){return p},set:function(b){p=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.sparklinePlus=function(){"use strict";function b(p){return p.each(function(p){function q(){if(!j){var a=z.selectAll(".nv-hoverValue").data(i),b=a.enter().append("g").attr("class","nv-hoverValue").style("stroke-opacity",0).style("fill-opacity",0);a.exit().transition().duration(250).style("stroke-opacity",0).style("fill-opacity",0).remove(),a.attr("transform",function(a){return"translate("+c(e.x()(p[a],a))+",0)"}).transition().duration(250).style("stroke-opacity",1).style("fill-opacity",1),i.length&&(b.append("line").attr("x1",0).attr("y1",-f.top).attr("x2",0).attr("y2",u),b.append("text").attr("class","nv-xValue").attr("x",-6).attr("y",-f.top).attr("text-anchor","end").attr("dy",".9em"),z.select(".nv-hoverValue .nv-xValue").text(k(e.x()(p[i[0]],i[0]))),b.append("text").attr("class","nv-yValue").attr("x",6).attr("y",-f.top).attr("text-anchor","start").attr("dy",".9em"),z.select(".nv-hoverValue .nv-yValue").text(l(e.y()(p[i[0]],i[0]))))}}function r(){function a(a,b){for(var c=Math.abs(e.x()(a[0],0)-b),d=0,f=0;fc;++c){for(b=0,d=0;bb;b++)a[b][c][1]/=d;else for(b=0;e>b;b++)a[b][c][1]=0}for(c=0;f>c;++c)g[c]=0;return g}}),u.renderEnd("stackedArea immediate"),b}var c,d,e={top:0,right:0,bottom:0,left:0},f=960,g=500,h=a.utils.defaultColor(),i=Math.floor(1e5*Math.random()),j=null,k=function(a){return a.x},l=function(a){return a.y},m="stack",n="zero",o="default",p="linear",q=!1,r=a.models.scatter(),s=250,t=d3.dispatch("areaClick","areaMouseover","areaMouseout","renderEnd","elementClick","elementMouseover","elementMouseout");r.pointSize(2.2).pointDomain([2.2,2.2]);var u=a.utils.renderWatch(t,s);return b.dispatch=t,b.scatter=r,r.dispatch.on("elementClick",function(){t.elementClick.apply(this,arguments)}),r.dispatch.on("elementMouseover",function(){t.elementMouseover.apply(this,arguments)}),r.dispatch.on("elementMouseout",function(){t.elementMouseout.apply(this,arguments)}),b.interpolate=function(a){return arguments.length?(p=a,b):p},b.duration=function(a){return arguments.length?(s=a,u.reset(s),r.duration(s),b):s},b.dispatch=t,b.scatter=r,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return f},set:function(a){f=a}},height:{get:function(){return g},set:function(a){g=a}},clipEdge:{get:function(){return q},set:function(a){q=a}},offset:{get:function(){return n},set:function(a){n=a}},order:{get:function(){return o},set:function(a){o=a}},interpolate:{get:function(){return p},set:function(a){p=a}},x:{get:function(){return k},set:function(a){k=d3.functor(a)}},y:{get:function(){return l},set:function(a){l=d3.functor(a)}},margin:{get:function(){return e},set:function(a){e.top=void 0!==a.top?a.top:e.top,e.right=void 0!==a.right?a.right:e.right,e.bottom=void 0!==a.bottom?a.bottom:e.bottom,e.left=void 0!==a.left?a.left:e.left}},color:{get:function(){return h},set:function(b){h=a.utils.getColor(b)}},style:{get:function(){return m},set:function(a){switch(m=a){case"stack":b.offset("zero"),b.order("default");break;case"stream":b.offset("wiggle"),b.order("inside-out");break;case"stream-center":b.offset("silhouette"),b.order("inside-out");break;case"expand":b.offset("expand"),b.order("default");break;case"stack_percent":b.offset(b.d3_stackedOffset_stackPercent),b.order("default")}}},duration:{get:function(){return s},set:function(a){s=a,u.reset(s),r.duration(s)}}}),a.utils.inheritOptions(b,r),a.utils.initOptions(b),b},a.models.stackedAreaChart=function(){"use strict";function b(k){return F.reset(),F.models(e),r&&F.models(f),s&&F.models(g),k.each(function(k){var x=d3.select(this),F=this;a.utils.initSVG(x);var K=a.utils.availableWidth(m,x,l),L=a.utils.availableHeight(n,x,l);if(b.update=function(){x.transition().duration(C).call(b)},b.container=this,v.setter(I(k),b.update).getter(H(k)).update(),v.disabled=k.map(function(a){return!!a.disabled}),!w){var M;w={};for(M in v)w[M]=v[M]instanceof Array?v[M].slice(0):v[M]}if(!(k&&k.length&&k.filter(function(a){return a.values.length}).length))return a.utils.noData(b,x),b;x.selectAll(".nv-noData").remove(),c=e.xScale(),d=e.yScale();var N=x.selectAll("g.nv-wrap.nv-stackedAreaChart").data([k]),O=N.enter().append("g").attr("class","nvd3 nv-wrap nv-stackedAreaChart").append("g"),P=N.select("g");if(O.append("rect").style("opacity",0),O.append("g").attr("class","nv-x nv-axis"),O.append("g").attr("class","nv-y nv-axis"),O.append("g").attr("class","nv-stackedWrap"),O.append("g").attr("class","nv-legendWrap"),O.append("g").attr("class","nv-controlsWrap"),O.append("g").attr("class","nv-interactive"),P.select("rect").attr("width",K).attr("height",L),q){var Q=p?K-z:K;h.width(Q),P.select(".nv-legendWrap").datum(k).call(h),l.top!=h.height()&&(l.top=h.height(),L=a.utils.availableHeight(n,x,l)),P.select(".nv-legendWrap").attr("transform","translate("+(K-Q)+","+-l.top+")")}if(p){var R=[{key:B.stacked||"Stacked",metaKey:"Stacked",disabled:"stack"!=e.style(),style:"stack"},{key:B.stream||"Stream",metaKey:"Stream",disabled:"stream"!=e.style(),style:"stream"},{key:B.expanded||"Expanded",metaKey:"Expanded",disabled:"expand"!=e.style(),style:"expand"},{key:B.stack_percent||"Stack %",metaKey:"Stack_Percent",disabled:"stack_percent"!=e.style(),style:"stack_percent"}];z=A.length/3*260,R=R.filter(function(a){return-1!==A.indexOf(a.metaKey)}),i.width(z).color(["#444","#444","#444"]),P.select(".nv-controlsWrap").datum(R).call(i),l.top!=Math.max(i.height(),h.height())&&(l.top=Math.max(i.height(),h.height()),L=a.utils.availableHeight(n,x,l)),P.select(".nv-controlsWrap").attr("transform","translate(0,"+-l.top+")")}N.attr("transform","translate("+l.left+","+l.top+")"),t&&P.select(".nv-y.nv-axis").attr("transform","translate("+K+",0)"),u&&(j.width(K).height(L).margin({left:l.left,top:l.top}).svgContainer(x).xScale(c),N.select(".nv-interactive").call(j)),e.width(K).height(L);var S=P.select(".nv-stackedWrap").datum(k);if(S.transition().call(e),r&&(f.scale(c)._ticks(a.utils.calcTicksX(K/100,k)).tickSize(-L,0),P.select(".nv-x.nv-axis").attr("transform","translate(0,"+L+")"),P.select(".nv-x.nv-axis").transition().duration(0).call(f)),s){var T;if(T="wiggle"===e.offset()?0:a.utils.calcTicksY(L/36,k),g.scale(d)._ticks(T).tickSize(-K,0),"expand"===e.style()||"stack_percent"===e.style()){var U=g.tickFormat();D&&U===J||(D=U),g.tickFormat(J)}else D&&(g.tickFormat(D),D=null);P.select(".nv-y.nv-axis").transition().duration(0).call(g)}e.dispatch.on("areaClick.toggle",function(a){k.forEach(1===k.filter(function(a){return!a.disabled}).length?function(a){a.disabled=!1}:function(b,c){b.disabled=c!=a.seriesIndex}),v.disabled=k.map(function(a){return!!a.disabled}),y.stateChange(v),b.update()}),h.dispatch.on("stateChange",function(a){for(var c in a)v[c]=a[c];y.stateChange(v),b.update()}),i.dispatch.on("legendClick",function(a){a.disabled&&(R=R.map(function(a){return a.disabled=!0,a}),a.disabled=!1,e.style(a.style),v.style=e.style(),y.stateChange(v),b.update())}),j.dispatch.on("elementMousemove",function(c){e.clearHighlights();var d,g,h,i=[];if(k.filter(function(a,b){return a.seriesIndex=b,!a.disabled}).forEach(function(f,j){g=a.interactiveBisect(f.values,c.pointXValue,b.x());var k=f.values[g],l=b.y()(k,g);if(null!=l&&e.highlightPoint(j,g,!0),"undefined"!=typeof k){"undefined"==typeof d&&(d=k),"undefined"==typeof h&&(h=b.xScale()(b.x()(k,g)));var m="expand"==e.style()?k.display.y:b.y()(k,g);i.push({key:f.key,value:m,color:o(f,f.seriesIndex),stackedValue:k.display})}}),i.reverse(),i.length>2){var m=b.yScale().invert(c.mouseY),n=null;i.forEach(function(a,b){m=Math.abs(m);var c=Math.abs(a.stackedValue.y0),d=Math.abs(a.stackedValue.y);return m>=c&&d+c>=m?void(n=b):void 0}),null!=n&&(i[n].highlight=!0)}var p=f.tickFormat()(b.x()(d,g)),q=j.tooltip.valueFormatter();"expand"===e.style()||"stack_percent"===e.style()?(E||(E=q),q=d3.format(".1%")):E&&(q=E,E=null),j.tooltip.position({left:h+l.left,top:c.mouseY+l.top}).chartContainer(F.parentNode).valueFormatter(q).data({value:p,series:i})(),j.renderGuideLine(h)}),j.dispatch.on("elementMouseout",function(){e.clearHighlights()}),y.on("changeState",function(a){"undefined"!=typeof a.disabled&&k.length===a.disabled.length&&(k.forEach(function(b,c){b.disabled=a.disabled[c]}),v.disabled=a.disabled),"undefined"!=typeof a.style&&(e.style(a.style),G=a.style),b.update()})}),F.renderEnd("stacked Area chart immediate"),b}var c,d,e=a.models.stackedArea(),f=a.models.axis(),g=a.models.axis(),h=a.models.legend(),i=a.models.legend(),j=a.interactiveGuideline(),k=a.models.tooltip(),l={top:30,right:25,bottom:50,left:60},m=null,n=null,o=a.utils.defaultColor(),p=!0,q=!0,r=!0,s=!0,t=!1,u=!1,v=a.utils.state(),w=null,x=null,y=d3.dispatch("stateChange","changeState","renderEnd"),z=250,A=["Stacked","Stream","Expanded"],B={},C=250;v.style=e.style(),f.orient("bottom").tickPadding(7),g.orient(t?"right":"left"),k.headerFormatter(function(a,b){return f.tickFormat()(a,b)}).valueFormatter(function(a,b){return g.tickFormat()(a,b)}),j.tooltip.headerFormatter(function(a,b){return f.tickFormat()(a,b)}).valueFormatter(function(a,b){return g.tickFormat()(a,b)});var D=null,E=null;i.updateState(!1);var F=a.utils.renderWatch(y),G=e.style(),H=function(a){return function(){return{active:a.map(function(a){return!a.disabled}),style:e.style()}}},I=function(a){return function(b){void 0!==b.style&&(G=b.style),void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}},J=d3.format("%");return e.dispatch.on("elementMouseover.tooltip",function(a){a.point.x=e.x()(a.point),a.point.y=e.y()(a.point),k.data(a).position(a.pos).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(){k.hidden(!0)}),b.dispatch=y,b.stacked=e,b.legend=h,b.controls=i,b.xAxis=f,b.yAxis=g,b.interactiveLayer=j,b.tooltip=k,b.dispatch=y,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return m},set:function(a){m=a}},height:{get:function(){return n},set:function(a){n=a}},showLegend:{get:function(){return q},set:function(a){q=a}},showXAxis:{get:function(){return r},set:function(a){r=a}},showYAxis:{get:function(){return s},set:function(a){s=a}},defaultState:{get:function(){return w},set:function(a){w=a}},noData:{get:function(){return x},set:function(a){x=a}},showControls:{get:function(){return p},set:function(a){p=a}},controlLabels:{get:function(){return B},set:function(a){B=a}},controlOptions:{get:function(){return A},set:function(a){A=a}},tooltips:{get:function(){return k.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),k.enabled(!!b)}},tooltipContent:{get:function(){return k.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),k.contentGenerator(b)}},margin:{get:function(){return l},set:function(a){l.top=void 0!==a.top?a.top:l.top,l.right=void 0!==a.right?a.right:l.right,l.bottom=void 0!==a.bottom?a.bottom:l.bottom,l.left=void 0!==a.left?a.left:l.left}},duration:{get:function(){return C},set:function(a){C=a,F.reset(C),e.duration(C),f.duration(C),g.duration(C)}},color:{get:function(){return o},set:function(b){o=a.utils.getColor(b),h.color(o),e.color(o)}},rightAlignYAxis:{get:function(){return t},set:function(a){t=a,g.orient(t?"right":"left")}},useInteractiveGuideline:{get:function(){return u},set:function(a){u=!!a,b.interactive(!a),b.useVoronoi(!a),e.scatter.interactive(!a)}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.sunburst=function(){"use strict";function b(u){return t.reset(),u.each(function(b){function t(a){a.x0=a.x,a.dx0=a.dx}function u(a){var b=d3.interpolate(p.domain(),[a.x,a.x+a.dx]),c=d3.interpolate(q.domain(),[a.y,1]),d=d3.interpolate(q.range(),[a.y?20:0,y]);return function(a,e){return e?function(){return s(a)}:function(e){return p.domain(b(e)),q.domain(c(e)).range(d(e)),s(a)}}}l=d3.select(this);var v,w=a.utils.availableWidth(g,l,f),x=a.utils.availableHeight(h,l,f),y=Math.min(w,x)/2;a.utils.initSVG(l);var z=l.selectAll(".nv-wrap.nv-sunburst").data(b),A=z.enter().append("g").attr("class","nvd3 nv-wrap nv-sunburst nv-chart-"+k),B=A.selectAll("nv-sunburst");z.attr("transform","translate("+w/2+","+x/2+")"),l.on("click",function(a,b){o.chartClick({data:a,index:b,pos:d3.event,id:k})}),q.range([0,y]),c=c||b,e=b[0],r.value(j[i]||j.count),v=B.data(r.nodes).enter().append("path").attr("d",s).style("fill",function(a){return m((a.children?a:a.parent).name)}).style("stroke","#FFF").on("click",function(a){d!==c&&c!==a&&(d=c),c=a,v.transition().duration(n).attrTween("d",u(a))}).each(t).on("dblclick",function(a){d.parent==a&&v.transition().duration(n).attrTween("d",u(e))}).each(t).on("mouseover",function(a){d3.select(this).classed("hover",!0).style("opacity",.8),o.elementMouseover({data:a,color:d3.select(this).style("fill")})}).on("mouseout",function(a){d3.select(this).classed("hover",!1).style("opacity",1),o.elementMouseout({data:a})}).on("mousemove",function(a){o.elementMousemove({data:a})})}),t.renderEnd("sunburst immediate"),b}var c,d,e,f={top:0,right:0,bottom:0,left:0},g=null,h=null,i="count",j={count:function(){return 1},size:function(a){return a.size}},k=Math.floor(1e4*Math.random()),l=null,m=a.utils.defaultColor(),n=500,o=d3.dispatch("chartClick","elementClick","elementDblClick","elementMousemove","elementMouseover","elementMouseout","renderEnd"),p=d3.scale.linear().range([0,2*Math.PI]),q=d3.scale.sqrt(),r=d3.layout.partition().sort(null).value(function(){return 1}),s=d3.svg.arc().startAngle(function(a){return Math.max(0,Math.min(2*Math.PI,p(a.x)))}).endAngle(function(a){return Math.max(0,Math.min(2*Math.PI,p(a.x+a.dx)))}).innerRadius(function(a){return Math.max(0,q(a.y))}).outerRadius(function(a){return Math.max(0,q(a.y+a.dy))}),t=a.utils.renderWatch(o);return b.dispatch=o,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return g},set:function(a){g=a}},height:{get:function(){return h},set:function(a){h=a}},mode:{get:function(){return i},set:function(a){i=a}},id:{get:function(){return k},set:function(a){k=a}},duration:{get:function(){return n},set:function(a){n=a}},margin:{get:function(){return f},set:function(a){f.top=void 0!=a.top?a.top:f.top,f.right=void 0!=a.right?a.right:f.right,f.bottom=void 0!=a.bottom?a.bottom:f.bottom,f.left=void 0!=a.left?a.left:f.left}},color:{get:function(){return m},set:function(b){m=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.sunburstChart=function(){"use strict";function b(d){return m.reset(),m.models(c),d.each(function(d){var h=d3.select(this);a.utils.initSVG(h);var i=a.utils.availableWidth(f,h,e),j=a.utils.availableHeight(g,h,e);if(b.update=function(){0===k?h.call(b):h.transition().duration(k).call(b)},b.container=this,!d||!d.length)return a.utils.noData(b,h),b;h.selectAll(".nv-noData").remove();var l=h.selectAll("g.nv-wrap.nv-sunburstChart").data(d),m=l.enter().append("g").attr("class","nvd3 nv-wrap nv-sunburstChart").append("g"),n=l.select("g");m.append("g").attr("class","nv-sunburstWrap"),l.attr("transform","translate("+e.left+","+e.top+")"),c.width(i).height(j);var o=n.select(".nv-sunburstWrap").datum(d);d3.transition(o).call(c)}),m.renderEnd("sunburstChart immediate"),b}var c=a.models.sunburst(),d=a.models.tooltip(),e={top:30,right:20,bottom:20,left:20},f=null,g=null,h=a.utils.defaultColor(),i=(Math.round(1e5*Math.random()),null),j=null,k=250,l=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState","renderEnd"),m=a.utils.renderWatch(l);return d.headerEnabled(!1).duration(0).valueFormatter(function(a){return a}),c.dispatch.on("elementMouseover.tooltip",function(a){a.series={key:a.data.name,value:a.data.size,color:a.color},d.data(a).hidden(!1)}),c.dispatch.on("elementMouseout.tooltip",function(){d.hidden(!0)}),c.dispatch.on("elementMousemove.tooltip",function(){d.position({top:d3.event.pageY,left:d3.event.pageX})()}),b.dispatch=l,b.sunburst=c,b.tooltip=d,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{noData:{get:function(){return j},set:function(a){j=a}},defaultState:{get:function(){return i},set:function(a){i=a}},color:{get:function(){return h},set:function(a){h=a,c.color(h)}},duration:{get:function(){return k},set:function(a){k=a,m.reset(k),c.duration(k)}},margin:{get:function(){return e},set:function(a){e.top=void 0!==a.top?a.top:e.top,e.right=void 0!==a.right?a.right:e.right,e.bottom=void 0!==a.bottom?a.bottom:e.bottom,e.left=void 0!==a.left?a.left:e.left}}}),a.utils.inheritOptions(b,c),a.utils.initOptions(b),b},a.version="1.8.1"}(); \ No newline at end of file diff --git a/tests/_files/Report/HTML/CoverageForBankAccount/dashboard.html b/tests/_files/Report/HTML/CoverageForBankAccount/dashboard.html index 475cc3b8f..a875e86ae 100644 --- a/tests/_files/Report/HTML/CoverageForBankAccount/dashboard.html +++ b/tests/_files/Report/HTML/CoverageForBankAccount/dashboard.html @@ -5,7 +5,7 @@ Dashboard for %s - + @@ -34,7 +34,7 @@

    Classes

    Coverage Distribution

    -
    +
    @@ -89,7 +89,7 @@

    Methods

    Coverage Distribution

    -
    +
    @@ -143,145 +143,157 @@

    Project Risks

    - - - - + + + diff --git a/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/dashboard.html b/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/dashboard.html index e36ce51c1..691093575 100644 --- a/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/dashboard.html +++ b/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/dashboard.html @@ -5,7 +5,7 @@ Dashboard for %s - + @@ -34,7 +34,7 @@

    Classes

    Coverage Distribution

    -
    +
    @@ -87,7 +87,7 @@

    Methods

    Coverage Distribution

    -
    +
    @@ -139,145 +139,157 @@

    Project Risks

    - - - - + + + diff --git a/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/dashboard.html b/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/dashboard.html index 545df678c..cbc808e62 100644 --- a/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/dashboard.html +++ b/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/dashboard.html @@ -5,7 +5,7 @@ Dashboard for %s - + @@ -34,7 +34,7 @@

    Classes

    Coverage Distribution

    -
    +
    @@ -87,7 +87,7 @@

    Methods

    Coverage Distribution

    -
    +
    @@ -139,145 +139,157 @@

    Project Risks

    - - - - + + + diff --git a/tests/_files/Report/HTML/PathCoverageForBankAccount/dashboard.html b/tests/_files/Report/HTML/PathCoverageForBankAccount/dashboard.html index b5d6d8c70..c13be3cb1 100644 --- a/tests/_files/Report/HTML/PathCoverageForBankAccount/dashboard.html +++ b/tests/_files/Report/HTML/PathCoverageForBankAccount/dashboard.html @@ -5,7 +5,7 @@ Dashboard for %s - + @@ -34,7 +34,7 @@

    Classes

    Coverage Distribution

    -
    +
    @@ -57,7 +57,6 @@

    Insufficient Coverage

    - BankAccount42% @@ -74,7 +73,6 @@

    Project Risks

    -
    BankAccount6 @@ -89,7 +87,7 @@

    Methods

    Coverage Distribution

    -
    +
    @@ -112,7 +110,6 @@

    Insufficient Coverage

    - setBalance0% @@ -129,7 +126,6 @@

    Project Risks

    - setBalance6 @@ -139,149 +135,161 @@

    Project Risks

    - - - - + + + diff --git a/tests/_files/Report/HTML/PathCoverageForSourceWithoutNamespace/dashboard.html b/tests/_files/Report/HTML/PathCoverageForSourceWithoutNamespace/dashboard.html index 460a712e2..1bb2b3774 100644 --- a/tests/_files/Report/HTML/PathCoverageForSourceWithoutNamespace/dashboard.html +++ b/tests/_files/Report/HTML/PathCoverageForSourceWithoutNamespace/dashboard.html @@ -5,7 +5,7 @@ Dashboard for %s - + @@ -34,7 +34,7 @@

    Classes

    Coverage Distribution

    -
    +
    @@ -87,7 +87,7 @@

    Methods

    Coverage Distribution

    -
    +
    @@ -139,145 +139,157 @@

    Project Risks

    - - - - + + + From 48db38340fe3b85e19dba5a091edfbcdfe4beaa3 Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Mon, 28 Apr 2025 08:09:32 +0200 Subject: [PATCH 11/84] Bump --- .github/workflows/ci.yml | 2 +- ChangeLog-12.1.md | 31 ------------------------------- ChangeLog-12.2.md | 11 +++++++++++ composer.json | 4 ++-- src/Version.php | 2 +- 5 files changed, 15 insertions(+), 35 deletions(-) delete mode 100644 ChangeLog-12.1.md create mode 100644 ChangeLog-12.2.md diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 25767d816..e95be0ee3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,7 +7,7 @@ on: name: CI env: - COMPOSER_ROOT_VERSION: "12.1.x-dev" + COMPOSER_ROOT_VERSION: "12.2.x-dev" jobs: coding-guidelines: diff --git a/ChangeLog-12.1.md b/ChangeLog-12.1.md deleted file mode 100644 index 062397e38..000000000 --- a/ChangeLog-12.1.md +++ /dev/null @@ -1,31 +0,0 @@ -# ChangeLog - -All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [12.1.3] - 2025-MM-DD - -### Changed - -* Use SHA-256 instead of MD5 to generate cache keys for static analysis cache (as SHA-256 is significantly faster than MD5 with PHP >= 8.4 on modern CPUs) - -## [12.1.2] - 2025-04-03 - -### Fixed - -* [#1069](https://github.com/sebastianbergmann/php-code-coverage/issues/1069): Check for unintentionally covered code is wrong - -## [12.1.1] - 2025-04-03 - -### Fixed - -* Child classes of child classes are not considered for `ClassesThatExtendClass` target - -## [12.1.0] - 2025-03-17 - -### Changed - -* `CacheWarmer::warmCache()` now returns the number of cache hits and cache misses - -[12.1.2]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.1.1...12.1.2 -[12.1.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.1.0...12.1.1 -[12.1.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.0.5...12.1.0 diff --git a/ChangeLog-12.2.md b/ChangeLog-12.2.md new file mode 100644 index 000000000..31d2c34fe --- /dev/null +++ b/ChangeLog-12.2.md @@ -0,0 +1,11 @@ +# ChangeLog + +All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. + +## [12.2.0] - 2025-MM-DD + +### Changed + +* Use SHA-256 instead of MD5 to generate cache keys for static analysis cache (as SHA-256 is significantly faster than MD5 with PHP >= 8.4 on modern CPUs) + +[12.2.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.1.2...main diff --git a/composer.json b/composer.json index 424f32819..97b8d0ca8 100644 --- a/composer.json +++ b/composer.json @@ -43,7 +43,7 @@ "theseer/tokenizer": "^1.2.3" }, "require-dev": { - "phpunit/phpunit": "^12.0" + "phpunit/phpunit": "^12.1" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", @@ -61,7 +61,7 @@ }, "extra": { "branch-alias": { - "dev-main": "12.1.x-dev" + "dev-main": "12.2.x-dev" } } } diff --git a/src/Version.php b/src/Version.php index 431f8ab19..221c3ec06 100644 --- a/src/Version.php +++ b/src/Version.php @@ -19,7 +19,7 @@ final class Version public static function id(): string { if (self::$version === '') { - self::$version = (new VersionId('12.1.2', dirname(__DIR__)))->asString(); + self::$version = (new VersionId('12.2', dirname(__DIR__)))->asString(); } return self::$version; From 16532e7a39a7c9bedccd6f1f18788b0051ff8852 Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Mon, 28 Apr 2025 08:09:39 +0200 Subject: [PATCH 12/84] Update ChangeLog --- ChangeLog-12.2.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ChangeLog-12.2.md b/ChangeLog-12.2.md index 31d2c34fe..96af07a21 100644 --- a/ChangeLog-12.2.md +++ b/ChangeLog-12.2.md @@ -6,6 +6,8 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt ### Changed +* [#1074](https://github.com/sebastianbergmann/php-code-coverage/issues/1074): Use more efficient `AttributeParentConnectingVisitor` +* [#1076](https://github.com/sebastianbergmann/php-code-coverage/issues/1076): Replace unmaintained JavaScript library for charts with billboard.js * Use SHA-256 instead of MD5 to generate cache keys for static analysis cache (as SHA-256 is significantly faster than MD5 with PHP >= 8.4 on modern CPUs) [12.2.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.1.2...main From 2fe2103c645dc6ee4b50bcac03229cd6920557ba Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Mon, 28 Apr 2025 08:11:08 +0200 Subject: [PATCH 13/84] Update tools --- .phive/phars.xml | 4 ++-- tools/composer | Bin 3114050 -> 3114082 bytes tools/phpstan | Bin 23880697 -> 24045381 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.phive/phars.xml b/.phive/phars.xml index 74f9caaea..c52565869 100644 --- a/.phive/phars.xml +++ b/.phive/phars.xml @@ -1,6 +1,6 @@ - - + + diff --git a/tools/composer b/tools/composer index ed11afda326aae87593352bc3f503ddadbce2902..7a3bef9dffd8d0fe6e29b47fd521e51891cc0312 100755 GIT binary patch delta 9254 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 F{~MguAvyp6 delta 9185 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 RUi}9D$*ZmqH9UU!{{TrIHKhOm diff --git a/tools/phpstan b/tools/phpstan index f2459ed57577cb93e0052eb65747b0e6cd6d0861..06c6b48a60923c0bd309fa24c31bb936d0bd2c70 100755 GIT binary patch delta 416108 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

    px3*5?^1tk> z@}8{4+l9A5zkL#03-l2^L;ZHOZBynkq}l`OKu_IFLrqYdj@DVrJJJGEjgUPz!2jz* zY2(b9L;I;c&(w*0z30_BaVmEs{|7QClA%x!__j{`YCvQN`q`p-F@~vLCyc5WtNC$; z2)F5x_4Q%_ch*Kmy?tK2sN?&lJM8n8*9!)uRZ|w!TW?+6TE7F8hez&fk`F;WlkY$+ zvn*A)ctRYfpF($+avOJ>&~(M)k#9Zn#~w_^g+s&n0g=w#6RW7H;`EjZFTT27lz9tJ z)=n}tU88=;FB?galV!(umB@e+%#@GPx87SX?yHMTxtdbn083c-X}x&zv?%iFWeuVu z+Xd9T2@RqlQcXXJ-%~nv{ceHHoVj?ey4%+v(p3raTwYS^mZYjClyC#T3%|!Oru*^x z0@kZ08Ed_Em7%v!g)mW8c#^9%(_Cg3>Z1!9#L<$7G-}S)2Jt!j-MFm*+st&`fDLZK z9SveQ--D@3R8rfddf z=TJ72vRRbPrmT^&Ih4(%Y#wFjQg$9?^C??E+4+=RK-ogdE)=?H#6@CiPiDcsh3CtL z{5#TBAKj_`B5`U`jB-uoT=jBwhcf)Zi;1HWm7aSMzyQmUA7nQ5-4%PH{>{9L zL=pc?PKV|~{qZFii9?68zRa7E_27>N>MnI#<4UgXf9J!y&wTEbAN}Y@{?lqt`(Jwd BLI?l= From 598d11228d09b73b195abfffdcaf985fcd8dfaa4 Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Sun, 13 Apr 2025 09:02:06 +0200 Subject: [PATCH 06/84] Add Liberapay and Tidelift --- .github/FUNDING.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index c2fba0f90..e032b06c1 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1 +1,3 @@ github: sebastianbergmann +liberapay: sebastianbergmann +tidelift: "packagist/phpunit/php-code-coverage" From 81ce526a50860f2f4c09e6d42908e307999a100d Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Sun, 13 Apr 2025 09:27:51 +0200 Subject: [PATCH 07/84] Add thanks.dev --- .github/FUNDING.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index e032b06c1..d40ffea35 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,3 +1,4 @@ github: sebastianbergmann liberapay: sebastianbergmann +thanks_dev: u/gh/sebastianbergmann tidelift: "packagist/phpunit/php-code-coverage" From 8a68c674cf515e9381a61e87e2b106419650bd7d Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Sat, 26 Apr 2025 17:57:29 +0200 Subject: [PATCH 08/84] Use SHA-256 instead of MD5 to generate cache keys for static analysis cache (as SHA-256 is significantly faster than MD5 with PHP >= 8.4 on modern CPUs) --- ChangeLog-12.1.md | 6 ++++++ src/StaticAnalysis/CachingFileAnalyser.php | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog-12.1.md b/ChangeLog-12.1.md index a1cf709c8..062397e38 100644 --- a/ChangeLog-12.1.md +++ b/ChangeLog-12.1.md @@ -2,6 +2,12 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. +## [12.1.3] - 2025-MM-DD + +### Changed + +* Use SHA-256 instead of MD5 to generate cache keys for static analysis cache (as SHA-256 is significantly faster than MD5 with PHP >= 8.4 on modern CPUs) + ## [12.1.2] - 2025-04-03 ### Fixed diff --git a/src/StaticAnalysis/CachingFileAnalyser.php b/src/StaticAnalysis/CachingFileAnalyser.php index e266b4f66..e2358c99e 100644 --- a/src/StaticAnalysis/CachingFileAnalyser.php +++ b/src/StaticAnalysis/CachingFileAnalyser.php @@ -12,9 +12,9 @@ use const DIRECTORY_SEPARATOR; use function file_get_contents; use function file_put_contents; +use function hash; use function implode; use function is_file; -use function md5; use function serialize; use function unserialize; use SebastianBergmann\CodeCoverage\Util\Filesystem; @@ -211,7 +211,8 @@ private function write(string $filename, array $data): void private function cacheFile(string $filename): string { - $cacheKey = md5( + $cacheKey = hash( + 'sha256', implode( "\0", [ From 15197b8a386c3ef82a3db5002ed05193570030c2 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sat, 26 Apr 2025 19:17:59 +0200 Subject: [PATCH 09/84] Use more efficient AttributeParentConnectingVisitor --- .../AttributeParentConnectingVisitor.php | 63 +++++++++++++++++++ src/StaticAnalysis/ParsingFileAnalyser.php | 3 +- 2 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 src/StaticAnalysis/AttributeParentConnectingVisitor.php diff --git a/src/StaticAnalysis/AttributeParentConnectingVisitor.php b/src/StaticAnalysis/AttributeParentConnectingVisitor.php new file mode 100644 index 000000000..4436e9a86 --- /dev/null +++ b/src/StaticAnalysis/AttributeParentConnectingVisitor.php @@ -0,0 +1,63 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\CodeCoverage\StaticAnalysis; + +use function array_pop; +use function count; +use PhpParser\Node; +use PhpParser\NodeVisitor; + +/** + * Visitor that connects a child node to its parent node optimzed for Attribute nodes. + * + * On the child node, the parent node can be accessed through + * $node->getAttribute('parent'). + */ +final class AttributeParentConnectingVisitor implements NodeVisitor +{ + /** + * @var Node[] + */ + private array $stack = []; + + public function beforeTraverse(array $nodes): null + { + $this->stack = []; + + return null; + } + + public function enterNode(Node $node): null + { + if ( + $this->stack !== [] && + ($node instanceof Node\Attribute || $node instanceof Node\AttributeGroup) + ) { + $node->setAttribute('parent', $this->stack[count($this->stack) - 1]); + } + + $this->stack[] = $node; + + return null; + } + + public function leaveNode(Node $node): null + { + array_pop($this->stack); + + return null; + } + + public function afterTraverse(array $nodes): null + { + return null; + } +} diff --git a/src/StaticAnalysis/ParsingFileAnalyser.php b/src/StaticAnalysis/ParsingFileAnalyser.php index 79f51e987..dfca1dd0c 100644 --- a/src/StaticAnalysis/ParsingFileAnalyser.php +++ b/src/StaticAnalysis/ParsingFileAnalyser.php @@ -26,7 +26,6 @@ use PhpParser\Error; use PhpParser\NodeTraverser; use PhpParser\NodeVisitor\NameResolver; -use PhpParser\NodeVisitor\ParentConnectingVisitor; use PhpParser\ParserFactory; use SebastianBergmann\CodeCoverage\ParserException; use SebastianBergmann\LinesOfCode\LineCountingVisitor; @@ -180,7 +179,7 @@ private function analyse(string $filename): void $executableLinesFindingVisitor = new ExecutableLinesFindingVisitor($source); $traverser->addVisitor(new NameResolver); - $traverser->addVisitor(new ParentConnectingVisitor); + $traverser->addVisitor(new AttributeParentConnectingVisitor); $traverser->addVisitor($codeUnitFindingVisitor); $traverser->addVisitor($lineCountingVisitor); $traverser->addVisitor($ignoredLinesFindingVisitor); From 9dfc70556fb5fa0775c56e0790dc0fcb508951b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Gannaz?= Date: Sun, 27 Apr 2025 10:34:11 +0200 Subject: [PATCH 10/84] report dashboard uses lib billboard for charts --- src/Report/Html/Facade.php | 5 +- src/Report/Html/Renderer/Dashboard.php | 14 +- .../Renderer/Template/css/billboard.min.css | 10 + .../Html/Renderer/Template/css/nv.d3.min.css | 1 - .../Renderer/Template/dashboard.html.dist | 290 +++++++++-------- .../Template/dashboard_branch.html.dist | 290 +++++++++-------- .../Template/js/billboard.pkgd.min.js | 57 ++++ .../Html/Renderer/Template/js/d3.min.js | 5 - .../Html/Renderer/Template/js/nv.d3.min.js | 8 - .../CoverageForBankAccount/dashboard.html | 290 +++++++++-------- .../dashboard.html | 290 +++++++++-------- .../dashboard.html | 290 +++++++++-------- .../PathCoverageForBankAccount/dashboard.html | 296 +++++++++--------- .../dashboard.html | 290 +++++++++-------- 14 files changed, 1131 insertions(+), 1005 deletions(-) create mode 100644 src/Report/Html/Renderer/Template/css/billboard.min.css delete mode 100644 src/Report/Html/Renderer/Template/css/nv.d3.min.css create mode 100644 src/Report/Html/Renderer/Template/js/billboard.pkgd.min.js delete mode 100644 src/Report/Html/Renderer/Template/js/d3.min.js delete mode 100644 src/Report/Html/Renderer/Template/js/nv.d3.min.js diff --git a/src/Report/Html/Facade.php b/src/Report/Html/Facade.php index dd2a46968..682a0a5d7 100644 --- a/src/Report/Html/Facade.php +++ b/src/Report/Html/Facade.php @@ -97,8 +97,8 @@ private function copyFiles(string $target): void { $dir = $this->directory($target . '_css'); + copy($this->templatePath . 'css/billboard.min.css', $dir . 'billboard.min.css'); copy($this->templatePath . 'css/bootstrap.min.css', $dir . 'bootstrap.min.css'); - copy($this->templatePath . 'css/nv.d3.min.css', $dir . 'nv.d3.min.css'); copy($this->customCssFile->path(), $dir . 'custom.css'); copy($this->templatePath . 'css/octicons.css', $dir . 'octicons.css'); @@ -107,10 +107,9 @@ private function copyFiles(string $target): void copy($this->templatePath . 'icons/file-directory.svg', $dir . 'file-directory.svg'); $dir = $this->directory($target . '_js'); + copy($this->templatePath . 'js/billboard.pkgd.min.js', $dir . 'billboard.pkgd.min.js'); copy($this->templatePath . 'js/bootstrap.bundle.min.js', $dir . 'bootstrap.bundle.min.js'); - copy($this->templatePath . 'js/d3.min.js', $dir . 'd3.min.js'); copy($this->templatePath . 'js/jquery.min.js', $dir . 'jquery.min.js'); - copy($this->templatePath . 'js/nv.d3.min.js', $dir . 'nv.d3.min.js'); copy($this->templatePath . 'js/file.js', $dir . 'file.js'); } diff --git a/src/Report/Html/Renderer/Dashboard.php b/src/Report/Html/Renderer/Dashboard.php index 9d51d22ec..8a122a0a2 100644 --- a/src/Report/Html/Renderer/Dashboard.php +++ b/src/Report/Html/Renderer/Dashboard.php @@ -103,22 +103,16 @@ private function complexity(array $classes, string $baseLink): array $result['method'][] = [ $method['coverage'], $method['ccn'], - sprintf( - '%s', - str_replace($baseLink, '', $method['link']), - $methodName, - ), + str_replace($baseLink, '', $method['link']), + $methodName, ]; } $result['class'][] = [ $class['coverage'], $class['ccn'], - sprintf( - '%s', - str_replace($baseLink, '', $class['link']), - $className, - ), + str_replace($baseLink, '', $class['link']), + $className, ]; } diff --git a/src/Report/Html/Renderer/Template/css/billboard.min.css b/src/Report/Html/Renderer/Template/css/billboard.min.css new file mode 100644 index 000000000..16f2baf4e --- /dev/null +++ b/src/Report/Html/Renderer/Template/css/billboard.min.css @@ -0,0 +1,10 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.15.1 + */ +.bb svg{font:10px sans-serif;-webkit-tap-highlight-color:rgba(0,0,0,0)}.bb path,.bb line{fill:none;stroke:#000}.bb text,.bb .bb-button{-webkit-user-select:none;-moz-user-select:none;user-select:none}.bb-legend-item-tile,.bb-xgrid-focus,.bb-ygrid-focus,.bb-ygrid{shape-rendering:crispEdges}.bb-chart-arcs .bb-needle,.bb-chart-arc .bb-gauge-value{fill:#000}.bb-chart-arc path{stroke:#fff}.bb-chart-arc rect{stroke:#fff;stroke-width:1}.bb-chart-arc text{fill:#fff;font-size:13px}.bb-chart-funnels path{stroke-width:0}.bb-chart-funnels+.bb-chart-texts text{font-size:13px;fill:#fff}.bb-axis{shape-rendering:crispEdges}.bb-axis .bb-axis-x-tooltip,.bb-axis .bb-axis-y-tooltip,.bb-axis .bb-axis-y2-tooltip{font-size:1em;fill:#fff;white-space:nowrap}.bb-grid{pointer-events:none}.bb-grid line{stroke:#aaa}.bb-grid text{fill:#aaa}.bb-xgrid,.bb-ygrid{stroke-dasharray:3 3}.bb-text.bb-empty{fill:gray;font-size:2em}.bb-line{stroke-width:1px}.bb-circle._expanded_{stroke-width:1px;stroke:#fff}.bb-selected-circle{fill:#fff;stroke-width:2px}.bb-bar{stroke-width:0}.bb-bar._expanded_{fill-opacity:.75}.bb-candlestick{stroke-width:1px}.bb-candlestick._expanded_{fill-opacity:.75}.bb-target.bb-focused,.bb-circles.bb-focused{opacity:1}.bb-target.bb-focused path.bb-line,.bb-target.bb-focused path.bb-step,.bb-circles.bb-focused path.bb-line,.bb-circles.bb-focused path.bb-step{stroke-width:2px}.bb-target.bb-defocused,.bb-circles.bb-defocused{opacity:.3!important}.bb-target.bb-defocused .text-overlapping,.bb-circles.bb-defocused .text-overlapping{opacity:.05!important}.bb-region{fill:#4682b4}.bb-region rect{fill-opacity:.1}.bb-zoom-brush,.bb-brush .extent{fill-opacity:.1}.bb-legend-item{font-size:12px;user-select:none}.bb-legend-item-hidden{opacity:.15}.bb-legend-background{opacity:.75;fill:#fff;stroke:#d3d3d3;stroke-width:1}.bb-title{font:14px sans-serif}.bb-chart-treemaps rect{stroke:#fff;stroke-width:1px}.bb-tooltip-container{z-index:10;user-select:none}.bb-tooltip{border-collapse:collapse;border-spacing:0;background-color:#fff;empty-cells:show;opacity:.9;box-shadow:7px 7px 12px -9px #777;white-space:nowrap}.bb-tooltip tr{border:1px solid #CCC}.bb-tooltip th{background-color:#aaa;font-size:14px;padding:2px 5px;text-align:left;color:#fff}.bb-tooltip td{font-size:13px;padding:3px 6px;background-color:#fff;border-left:1px dotted #999}.bb-tooltip td>span,.bb-tooltip td>svg{display:inline-block;width:10px;height:10px;margin-right:6px}.bb-tooltip.value{text-align:right}.bb-area{stroke-width:0;opacity:.2}.bb-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}text.bb-chart-arcs-gauge-title{dominant-baseline:middle;font-size:2.7em}.bb-chart-arcs .bb-chart-arcs-background{fill:#e0e0e0;stroke:#fff}.bb-chart-arcs .bb-chart-arcs-gauge-unit{fill:#000;font-size:16px}.bb-chart-arcs .bb-chart-arcs-gauge-max,.bb-chart-arcs .bb-chart-arcs-gauge-min{fill:#777}.bb-chart-arcs .bb-levels circle{fill:none;stroke:#848282;stroke-width:.5px}.bb-chart-arcs .bb-levels text{fill:#848282}.bb-chart-radars .bb-levels polygon{fill:none;stroke:#848282;stroke-width:.5px}.bb-chart-radars .bb-levels text{fill:#848282}.bb-chart-radars .bb-axis line{stroke:#848282;stroke-width:.5px}.bb-chart-radars .bb-axis text{font-size:1.15em;cursor:default}.bb-chart-radars .bb-shapes polygon{fill-opacity:.2;stroke-width:1px}.bb-button{position:absolute;top:10px;right:10px}.bb-button .bb-zoom-reset{font-size:11px;border:solid 1px #ccc;background-color:#fff;padding:5px;border-radius:5px;cursor:pointer} diff --git a/src/Report/Html/Renderer/Template/css/nv.d3.min.css b/src/Report/Html/Renderer/Template/css/nv.d3.min.css deleted file mode 100644 index 7a6f7fe90..000000000 --- a/src/Report/Html/Renderer/Template/css/nv.d3.min.css +++ /dev/null @@ -1 +0,0 @@ -.nvd3 .nv-axis{pointer-events:none;opacity:1}.nvd3 .nv-axis path{fill:none;stroke:#000;stroke-opacity:.75;shape-rendering:crispEdges}.nvd3 .nv-axis path.domain{stroke-opacity:.75}.nvd3 .nv-axis.nv-x path.domain{stroke-opacity:0}.nvd3 .nv-axis line{fill:none;stroke:#e5e5e5;shape-rendering:crispEdges}.nvd3 .nv-axis .zero line,.nvd3 .nv-axis line.zero{stroke-opacity:.75}.nvd3 .nv-axis .nv-axisMaxMin text{font-weight:700}.nvd3 .x .nv-axis .nv-axisMaxMin text,.nvd3 .x2 .nv-axis .nv-axisMaxMin text,.nvd3 .x3 .nv-axis .nv-axisMaxMin text{text-anchor:middle}.nvd3 .nv-axis.nv-disabled{opacity:0}.nvd3 .nv-bars rect{fill-opacity:.75;transition:fill-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear}.nvd3 .nv-bars rect.hover{fill-opacity:1}.nvd3 .nv-bars .hover rect{fill:#add8e6}.nvd3 .nv-bars text{fill:rgba(0,0,0,0)}.nvd3 .nv-bars .hover text{fill:rgba(0,0,0,1)}.nvd3 .nv-multibar .nv-groups rect,.nvd3 .nv-multibarHorizontal .nv-groups rect,.nvd3 .nv-discretebar .nv-groups rect{stroke-opacity:0;transition:fill-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear}.nvd3 .nv-multibar .nv-groups rect:hover,.nvd3 .nv-multibarHorizontal .nv-groups rect:hover,.nvd3 .nv-candlestickBar .nv-ticks rect:hover,.nvd3 .nv-discretebar .nv-groups rect:hover{fill-opacity:1}.nvd3 .nv-discretebar .nv-groups text,.nvd3 .nv-multibarHorizontal .nv-groups text{font-weight:700;fill:rgba(0,0,0,1);stroke:rgba(0,0,0,0)}.nvd3 .nv-boxplot circle{fill-opacity:.5}.nvd3 .nv-boxplot circle:hover{fill-opacity:1}.nvd3 .nv-boxplot rect:hover{fill-opacity:1}.nvd3 line.nv-boxplot-median{stroke:#000}.nv-boxplot-tick:hover{stroke-width:2.5px}.nvd3.nv-bullet{font:10px sans-serif}.nvd3.nv-bullet .nv-measure{fill-opacity:.8}.nvd3.nv-bullet .nv-measure:hover{fill-opacity:1}.nvd3.nv-bullet .nv-marker{stroke:#000;stroke-width:2px}.nvd3.nv-bullet .nv-markerTriangle{stroke:#000;fill:#fff;stroke-width:1.5px}.nvd3.nv-bullet .nv-tick line{stroke:#666;stroke-width:.5px}.nvd3.nv-bullet .nv-range.nv-s0{fill:#eee}.nvd3.nv-bullet .nv-range.nv-s1{fill:#ddd}.nvd3.nv-bullet .nv-range.nv-s2{fill:#ccc}.nvd3.nv-bullet .nv-title{font-size:14px;font-weight:700}.nvd3.nv-bullet .nv-subtitle{fill:#999}.nvd3.nv-bullet .nv-range{fill:#bababa;fill-opacity:.4}.nvd3.nv-bullet .nv-range:hover{fill-opacity:.7}.nvd3.nv-candlestickBar .nv-ticks .nv-tick{stroke-width:1px}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.hover{stroke-width:2px}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.positive rect{stroke:#2ca02c;fill:#2ca02c}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.negative rect{stroke:#d62728;fill:#d62728}.with-transitions .nv-candlestickBar .nv-ticks .nv-tick{transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-webkit-transition:stroke-width 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-candlestickBar .nv-ticks line{stroke:#333}.nvd3 .nv-legend .nv-disabled rect{}.nvd3 .nv-check-box .nv-box{fill-opacity:0;stroke-width:2}.nvd3 .nv-check-box .nv-check{fill-opacity:0;stroke-width:4}.nvd3 .nv-series.nv-disabled .nv-check-box .nv-check{fill-opacity:0;stroke-opacity:0}.nvd3 .nv-controlsWrap .nv-legend .nv-check-box .nv-check{opacity:0}.nvd3.nv-linePlusBar .nv-bar rect{fill-opacity:.75}.nvd3.nv-linePlusBar .nv-bar rect:hover{fill-opacity:1}.nvd3 .nv-groups path.nv-line{fill:none}.nvd3 .nv-groups path.nv-area{stroke:none}.nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point{fill-opacity:0;stroke-opacity:0}.nvd3.nv-scatter.nv-single-point .nv-groups .nv-point{fill-opacity:.5!important;stroke-opacity:.5!important}.with-transitions .nvd3 .nv-groups .nv-point{transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-webkit-transition:stroke-width 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-scatter .nv-groups .nv-point.hover,.nvd3 .nv-groups .nv-point.hover{stroke-width:7px;fill-opacity:.95!important;stroke-opacity:.95!important}.nvd3 .nv-point-paths path{stroke:#aaa;stroke-opacity:0;fill:#eee;fill-opacity:0}.nvd3 .nv-indexLine{cursor:ew-resize}svg.nvd3-svg{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-ms-user-select:none;-moz-user-select:none;user-select:none;display:block;width:100%;height:100%}.nvtooltip.with-3d-shadow,.with-3d-shadow .nvtooltip{-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nvd3 text{font:400 12px Arial}.nvd3 .title{font:700 14px Arial}.nvd3 .nv-background{fill:#fff;fill-opacity:0}.nvd3.nv-noData{font-size:18px;font-weight:700}.nv-brush .extent{fill-opacity:.125;shape-rendering:crispEdges}.nv-brush .resize path{fill:#eee;stroke:#666}.nvd3 .nv-legend .nv-series{cursor:pointer}.nvd3 .nv-legend .nv-disabled circle{fill-opacity:0}.nvd3 .nv-brush .extent{fill-opacity:0!important}.nvd3 .nv-brushBackground rect{stroke:#000;stroke-width:.4;fill:#fff;fill-opacity:.7}.nvd3.nv-ohlcBar .nv-ticks .nv-tick{stroke-width:1px}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.hover{stroke-width:2px}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.positive{stroke:#2ca02c}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.negative{stroke:#d62728}.nvd3 .background path{fill:none;stroke:#EEE;stroke-opacity:.4;shape-rendering:crispEdges}.nvd3 .foreground path{fill:none;stroke-opacity:.7}.nvd3 .nv-parallelCoordinates-brush .extent{fill:#fff;fill-opacity:.6;stroke:gray;shape-rendering:crispEdges}.nvd3 .nv-parallelCoordinates .hover{fill-opacity:1;stroke-width:3px}.nvd3 .missingValuesline line{fill:none;stroke:#000;stroke-width:1;stroke-opacity:1;stroke-dasharray:5,5}.nvd3.nv-pie path{stroke-opacity:0;transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-pie .nv-pie-title{font-size:24px;fill:rgba(19,196,249,.59)}.nvd3.nv-pie .nv-slice text{stroke:#000;stroke-width:0}.nvd3.nv-pie path{stroke:#fff;stroke-width:1px;stroke-opacity:1}.nvd3.nv-pie .hover path{fill-opacity:.7}.nvd3.nv-pie .nv-label{pointer-events:none}.nvd3.nv-pie .nv-label rect{fill-opacity:0;stroke-opacity:0}.nvd3 .nv-groups .nv-point.hover{stroke-width:20px;stroke-opacity:.5}.nvd3 .nv-scatter .nv-point.hover{fill-opacity:1}.nv-noninteractive{pointer-events:none}.nv-distx,.nv-disty{pointer-events:none}.nvd3.nv-sparkline path{fill:none}.nvd3.nv-sparklineplus g.nv-hoverValue{pointer-events:none}.nvd3.nv-sparklineplus .nv-hoverValue line{stroke:#333;stroke-width:1.5px}.nvd3.nv-sparklineplus,.nvd3.nv-sparklineplus g{pointer-events:all}.nvd3 .nv-hoverArea{fill-opacity:0;stroke-opacity:0}.nvd3.nv-sparklineplus .nv-xValue,.nvd3.nv-sparklineplus .nv-yValue{stroke-width:0;font-size:.9em;font-weight:400}.nvd3.nv-sparklineplus .nv-yValue{stroke:#f66}.nvd3.nv-sparklineplus .nv-maxValue{stroke:#2ca02c;fill:#2ca02c}.nvd3.nv-sparklineplus .nv-minValue{stroke:#d62728;fill:#d62728}.nvd3.nv-sparklineplus .nv-currentValue{font-weight:700;font-size:1.1em}.nvd3.nv-stackedarea path.nv-area{fill-opacity:.7;stroke-opacity:0;transition:fill-opacity 250ms linear,stroke-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear,stroke-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-stackedarea path.nv-area.hover{fill-opacity:.9}.nvd3.nv-stackedarea .nv-groups .nv-point{stroke-opacity:0;fill-opacity:0}.nvtooltip{position:absolute;background-color:rgba(255,255,255,1);color:rgba(0,0,0,1);padding:1px;border:1px solid rgba(0,0,0,.2);z-index:10000;display:block;font-family:Arial;font-size:13px;text-align:left;pointer-events:none;white-space:nowrap;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.nvtooltip{background:rgba(255,255,255,.8);border:1px solid rgba(0,0,0,.5);border-radius:4px}.nvtooltip.with-transitions,.with-transitions .nvtooltip{transition:opacity 50ms linear;-moz-transition:opacity 50ms linear;-webkit-transition:opacity 50ms linear;transition-delay:200ms;-moz-transition-delay:200ms;-webkit-transition-delay:200ms}.nvtooltip.x-nvtooltip,.nvtooltip.y-nvtooltip{padding:8px}.nvtooltip h3{margin:0;padding:4px 14px;line-height:18px;font-weight:400;background-color:rgba(247,247,247,.75);color:rgba(0,0,0,1);text-align:center;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.nvtooltip p{margin:0;padding:5px 14px;text-align:center}.nvtooltip span{display:inline-block;margin:2px 0}.nvtooltip table{margin:6px;border-spacing:0}.nvtooltip table td{padding:2px 9px 2px 0;vertical-align:middle}.nvtooltip table td.key{font-weight:400}.nvtooltip table td.value{text-align:right;font-weight:700}.nvtooltip table tr.highlight td{padding:1px 9px 1px 0;border-bottom-style:solid;border-bottom-width:1px;border-top-style:solid;border-top-width:1px}.nvtooltip table td.legend-color-guide div{width:8px;height:8px;vertical-align:middle}.nvtooltip table td.legend-color-guide div{width:12px;height:12px;border:1px solid #999}.nvtooltip .footer{padding:3px;text-align:center}.nvtooltip-pending-removal{pointer-events:none;display:none}.nvd3 .nv-interactiveGuideLine{pointer-events:none}.nvd3 line.nv-guideline{stroke:#ccc} \ No newline at end of file diff --git a/src/Report/Html/Renderer/Template/dashboard.html.dist b/src/Report/Html/Renderer/Template/dashboard.html.dist index 60e66d5be..80ac23243 100644 --- a/src/Report/Html/Renderer/Template/dashboard.html.dist +++ b/src/Report/Html/Renderer/Template/dashboard.html.dist @@ -5,7 +5,7 @@ Dashboard for {{full_path}} - + @@ -32,7 +32,7 @@

  • xyTXrtyq7AlaXk@U;V`G*!kczuW}%0x&!q> z$|0SGpt+~K%QJ`$;_q}ai&SXXH$77ky7MUnM7OxDw0=GQ3!@vub(L4tF&Cn z`}Y(it*X1H!X08yJ)k&*>r-vor@}dN4NJxTTXkzb!CiJc1v`p-uUa>9LJ0wwK~Ca_ z_Qhn5NQD*W8+G51cYXO6qYEzE8i-qQC=L;&RyAr*>Ag~+uXy0@^m89>ufOhvrH%>l(;sp0@tpcvPRoG?)**{{1YzsGJ*svgAK$r+f) zg$`Y6&&nV5098~mI2Ff#7QdE-v+BW&83qwY7ci`gqPE{_OLw2lfl`rodQlbTv8GC3 zV3ZD`J=PmYB|fRpN_p>bs>ToCIx7>t-i?Guqex@S1OL9am?8LS z3u=BX1)eFF``XhLEXtPl0sZ|9ly{(sA{D*^C$Y7i)7^66%k&Wjd8fj98W<}C!#qqA zu#!Qtc{=R@o_Z@|D|WY1N}u0jQZn)fS<$*$uBYB|n=iv*#&)3}z+u>_N9P{&B}Ttu~LecW7H!%cRNufR_?2@7tR!OfyF$~cW}KGuE)yb z^osS+7kIzFqL8nei0hCFS=B1pjqMv+ro#8&17*kq0wQaA9ZZk9E{xn=F%8(=noeQ0 zQ5xNnf|yTFfc>$t$%%ieM!hO>nP_pMC`c zn&u2)^)M0S!Tt-DWT!kZc8>?C_|u`-8WOGAGy||sy7S@+IgF8tp|!GQ9x&*I`wX4+ z+%YqKD;^f-w7}1gNlbU6`Qa>4@}P;vF^ajFm9qr41(mjE@)Ux#t!Wij+l{Kx5~PGC zVw?HMfK;UU3|zkMCW{}FCq!znB(jHyjeh0m?v@5UYDb-Wq>2*_b%{GwxlF|Z`%T~N zB^jEW!FBke3dj~ntpU76Qp25!!MTg+0dT}j$=5xVBfEFE)7~k@gr;?1tyceEZQmVG z)v^5lJ+woykAMs#A)`jZWmKO+6QQ_zHThH@HlKpDLJg;I za>Z9sM#bWCAAhP(4}-us*oZNvy3tICG7chm2BB}jRcRot6-@x29BDV|EVOb+$8vP` zG+;a!x-$)_csUg12~1XSxdaN`=?DaAl!4k?y0fQOJg-{~`tlX1J6${88tL^zApr(a zs=y>-F^o(YHC*?&igL?tPx3;k-N;47vJl6W0@h2OGUct#pKSRlV z+5u*Fa>iQ(44-WSg%pObhSI~R`2cN2`8?`@-~ROT8yG-h>@)j&(w+}u&|o~KC1(nk z@z{RtMLZ;?E_lo#)Osa5?QQuw2G6CH@mNIb+kQPY^0Xr{SmQ*`OT|#%i(^Y?tFKxF zz{eU~?kRoRBp5XsHu3zW+fK5|Swbh&#AA!3=iB1|$&J>xb(?t(|LXAm4pa?TZD}mU zDHVc z5o2TbkFmBr;S+Q#HQ*rCT@$7t(e={){*11>(FjTOIMa8*y%bker*wl-*8c3B2r!^d1JTpWBzN zM5)Wpr}GD)pQK}aOxQFG@>cu$FlaCRIJvQ^mnx2?EA~i7{9`&+n4u?->YQFXl#X1x zya+Wyb)zeATDoFgh9zEQw}`CTbmgG6nRegf)LP}x-E^dG$sDGb)EV!kE1eXz=ViE7 z+)AEOe*k4#Lnd|17n-+$k0l+;P#xL)_V|#BPo<;p*y9}wf!lPs?fpt4OUt`VqdrJS zsNlLC!!Y(r&?>CXi2VOt{SeUHka$;3SH94q5Rnn;mvk(o5|5`t*ADtJ9cKyrJb=~! z7f*`A?|kcFVbsoaFmd+2VaQV%idhlfbC_Z=v0H{g3wVZgR-DzkZ{b0qSoz?+m%RW! z1ujKa3XYTx1K+CA4_?+Li@^p5ssV4W;R+AntLE%RJdr}{>V_#!>YDd8so*J{ateg)urkgI-<~7aZ_*W^dm8PBM9osag*ddiH6Wu=WTJ}1VMuABc}R1! zKT#z5&WjFY4Z{Sh+fqX`jxmjs^@=*fmMmw6F^LOEe-8h=@p%iLXJ~ZRYTn`SmIIg` znr_6DiDw5YL=l6o}E{?L`W#q+^x z!@egS#P|tW?qzA|m=LmlN=6>Wy6Ubj>e}hhdsrK5=J7c_la;+%4puknj_2Oi)z%aw zqisbu`tjDTt_KoplKEAnJQT-s&pJ~>_vx@UoL$LT`>U(`Veq@~%4`?%+U^hhu4?gM zo@L1xA;qt8PW;H@s6sKXvtLp4Gw?JQ*EXX1_v?|&UGp9Hrkxv;fh5NW45iR@99dg{ z4BdTjUE6f5(KAbs;a)Uc_yyD822KOc4(Hy~zKFB<*Wx4G0JPg5L?`B-^`fh({`meT zB8Y-$#C!fgpb+mi ze;qh5P;1+tj;}%9evy?w+ktkz>JQwb%{)sp1^HHG& z1SZ9iqQj?See(7Su3Yv4bFpYP_^dxT zubT_Y0R;gZC~roEK*gKfUSjB6$4OMY^9%BkpbAd&5sv0bAEJp9nl~lNUrff)rQRr4 zcc9}>`(yDq;T3MAwk4m2H+wc2@@{NA2DCq@Gp%f=KX$;`n6sNxJ5bP7^N2Cg*5%1a zA*VayWTM->C=!gAAhJ3;xr&*coSdj1x~L~zZ_Bb10`vxG>{;L6DVX9<`-5k>ki523 z46*2B#gKc&1NYA$KSh(}RPFQJTb{ev?i5m<3|BD@9hn5(%t>L3Q~dE&YltLrBB42C zOUz+83ewksA5JcW57js1N&H;f}ypxGy=7S)k`>2ZI^H_K{US_gsa zpf&Z3hF}{yS^&AXBKyaa{+LvFaJ8k~YkB0PA}Rt=0C+}nY9Q!I1ojtMrEl;3kn_lz zTO)EfwLaw!JF4#8#6!VE&XD0KnhF3(0!KIwEM`8!`{~&xI{cVFn_)E>;z5inV?n&X zpcshH=DCe8S>U5+OR_(NFdd6qeVBP_e0HZ0~TX zcqxLk$`IrCwL#R$!0q-{$i=1H@k0W+i(e;P{$P-zX8IVp1HVRDbf(N_SQ)S^x|c!U z1PgP22+o`6h;Eu*f(sQi0@(2DDF@p6B%{?RaqzXeH57fsx<%m8j!b`;JvdTP8_o!< zZ|4LB1=hB?L!4TQ+T^p2BKrI<-db;W(s@02Erv8pZVQd*0n`;=4=c-Km0Gj_Nmf3B z_`y%?_E0j>O^7RpyEbOE&j(Zw7y;q9UCLs=Lo4wUm; zGV<%OD>nS3KoRoR>|>$e8-d!2o8eAKXpF~);km~HBC!ikA;-S($K16SEqSdUwgML! zfn4MPIpL3qrFI!BFk3=BDFdl)N77&nmWd)HA3O>{U*4~gIFwG#^2fB*D2Tokg1HJ^ z4<*}G?|Myn2J(#6(x8!XB)*ybSb10miW>{g`q1Efe{4{yKnpB*2=u_&CVIz<8+D|S zP@xZ7rDiTDf>YgoZh{3Xkm>*h$)OdK#w`S`MB7sD^T?c|Hwu6s=3c23@?62F7GP z%g=8Xr(u6|e`y-5?yHN^a2PisyFVDy?YT6V9vbj=AkD#ZfBFd!VyFe`45Sll__=az z8t90BksbQZwjW1xBTLCAE zIs(D_=_jBQV{JDVFc;C$N&V4l521WKokP3hXc!QWrOs$;B#i~3^C(^WR&O^1tQxM} zJJ3n}9<78aWxz0ozQ4aeq`DgH8LhSJNe`jCIUPjnkZ>?{3?%_Kn1tCohrR-wVYCDg ztY?TcAGD95KLKGpZNhD9IONydOmutGbzDO>SUrYv2RoH-lW0Cf%d+mI_8X2P6SyC0 zN9$eTJ3EW^u1NqIUp&E%VT1#?E^6JA3Cgc_;zFxBN1FO5+vW&w`_iJ731F-q=vK5g zK`AX;!LEJ10bm4uv^)Xg%E=9!HK*Jty1I~qRJ1DN@Eb|9Q6-6-@jQa274fe#p!A|0 zD0x?m@~-otI20fiBKsHdmoBvOX?OxLD$OVb`ChtlDQ*A&=6xsvu8ywch#F?f1rqns zGs_Z`5?X;ey{ItgcJuu~&*V50$NaMqVv7jxjG0XgQx&4bTl+6s+-k0(5rX{7tu<-fbaWW zY05ez0*VFx>Q(17<)bMBtkas!>wrL`})&Z!PX?0&74K+m-ksiU-eqF z4YADqah*my(wJ?2bsyZ2UgD4v4FnB<{i}}%+_euG0a33VZEIk|O8I&=p^w=RkJ;Ve z_$@|1x6h6Cl)&D{jYn(k4yT1L@{yDoIC#+4fYSb!V+UhNS!kl8)eE@~-VP;y!0n*A zuZ~xy;kKP4P}gE?_C7B$_Q^PBGDG(KRL(!V!jAgjzbN7T&OQ(F0+=ph!gKqE*ihSw z&Y_+5v=;4;r(J*@C2k0O;f%%*n4&qJ=?uGBwGYbz)aXKIQ2RdWjYO01G}kn17o>^M zGqX9X7tl|k3RO)rK{MH*(tR|$2d6LAeF=HU1gUxVAqTNy9dFAbk}&?ScS}N(dR&q( zK6se=pc1a9Llje6a-CoTZ-Cy(bJ%8 zoR(g`70m>+p2A#l-GQRckE#kGWPTF~5Y2CpRww6IP(Ez^*$DzZZqu-P~-3er61 zgEZ{IZy@@44BV;sLR5XU=x+07xV}5m;{e>*Y6Cy?P8xQ_x!cmP=J5V=0N!T)a{y@W z0Az6w9V1@$R}`>}#;1L?C9fMbL$h@`>6_jPImr0%!!qOmDwimpS-FmkHlx3k|vTC}oSj^q|WqUv1^!C6ss3W^6BVc`HqMmj;J1p2N4MDHF?n z9{_&IiBVW@XMUK5ToWfbGd$lb+l$m)ObP2_>lLTu1=`xvOQ@J>h=a(WPmiTx2jY!> zgKZ}@3cnrRPlFrX^>4X9ryzS@j1`;2C%A+9fQGraje#R9GWYUqZD4ZbyWHiDpuf!8 z8yi8w04r(YNE$nlqgNd%7-_`P=_N=3BKI}6c<)Ptu_qE}&a^He767%Gv=4n-K)($b zh^5&=FnJR9rxT5f9f)2%8We>+elePbC1MxH)+X*|@JE4JHZi9i=p*2|(MrS7VNnnc zv&x}q94XO^8bJA4!?!L}UB=~+4pD$J z?12>bW~}Byv?gdqAZ!CPp+AGS4^Y}`X$TXWF`Q`(#Xy2Xn)a5loo=oF9AsxT9RwqX zT4PaoP~mEn*FmGs+OdIAu$k*jZ9MZq%mx^lK`wUO6TXOo4YPtwMj!X3<5+i?=rWpp zm@j3(z(`nrZCG1H-$I>?vUX7b5E*8D-ihZ~)^E3#r@=1F1mXI? zp3DXwaue=g^H8g_{Q{z~K?FWtw5Bo*i&3M1yoio9V)8Nl{R=}r0Nnx?HfSUV`V@>o z>;TjOav5V#;HXp6R4ZOigA*((LZ}Q-jSx0;;H|F6aN>b;48ygzwR{9>me2smakQq3 z#Dq~M6MYDwoov(@%%PL0>U8*#J6yxDosLa;__AQii5gteUg%m10DR~ zMiVzC;c_whavF5f;1YMRBkv{cegV+uO?~iNqK$Y2)8g3#2b^RRrM;X4e@e!-+KThd za(57ELMwa86C}N$ebk8xPzRwz_}xmO&%2|iRZzFl`c>8|{8jpMNsx4ATw7~K@tcVJ zok+)T%!bSkQTXbsc1Qp}+PWHvLAgWe0M7G%Vp&Ic1!SU%AC12`8`|kSeiJBlWk+m1 zI8};Y=}o>aOaG>hQ><%`wDzfvST4PU9kL&7Kyw4j5QpSS{`kBvodv)Lw2DaRh!PiC zi;@ZSG+G``drzlgx;t}%Q_|}z%9#Kh(_{~lygNb}q#wMg$5WwFl1?%KT(L8y)JI@j z-3Clk~$V)Wdwxbf145$9@M<7v`b}FgwYV?mrpw*?+_p=DB;`yao1z7!^v>W3! zzX+4Kmb=Rd7eF~spHr#IWi6T}NRtr+_P@>fhQIh4Ih`mEzs1(;B7T77VSshr_td2n zP^9m<{LsXBihvaaSNiPawXXweCKw~D=-{^;f94HeWM9gP<2A!^gp6T2yUYQHhw*lT zbsWb=K2^LbY z3#KHl(vH^PccfMfr^~%OU|PS|OmR~aw&R8xdphwBk1GBO**EZPqQN`(q8(nWw58}_ zY>mvqB|{#xT5X0k^6B@IuydabKqGLEbCQDB<)8EYJdIV|)SUp4q2EcaUno0<${ysb zMJ5n{kS8rjwJ{B&4{fjJ^|Y~^(=h%>2@^RNP;)%D)dVa+YsQnN1JiCA`vU0UeSFi( zpP&FsS}ha#S@c+Y+KOMC7vL%kH!4OV2uE1Ncv%^3;iWOxaZ!u#iyegb!#oS?AAc6h z3tau6<|~wMC7P55_BNIT(K^&Y5^HVGvJiEqSwq70hCOcZp>d0c(m((^DYa0~m8B|6 z?CAI-smc*;4uDkUr-Iir;W^?<=BUmXH05cj*e%9PFLWwK9i^iUQbn8!nYaXibjx?zXOi@!$JJm)u~Wy`uSog zo;%{63ETid>+t(GnV0jm41aCHxKry3ffU4eHe>h_e*Zy3o@b1_@Vi{2VgO~m7mgDD zNBMq)bmIGJYH=credIfENK}1Sq$-dUQ%b^lTwt5 zNTm>%uhkgzd~-!LF9NN0 zYP7D>_Ol3J-iHX>pe2u| zVh?n84hB%0=eWC0p=PN1%CoqELs56Vl&XA;<6>w{+t`a@cor)9PL3L&bi%aAT zo>Qvkq{1SF$7$5CE*zt_CJ{H#D4blunfBl|nn7BIW_8oN=t zZA>7))XS-GI@b>(t|g`7`dA=0gC;CvQNH>_Do(ldmp$>k;4VDtay%RwcsmjeINq8r z>d*(CbgY=K^o+&td1DXJdB`j-|6O%UTi_;{BZG0qW*)Rl&xamFujA!xm6b*pyMNgc zjY88G!EKO19rJ#hxxq%-2hj{rbmk5eoYbXITW)sRHWiugG&NHF91G&LEHrODX4yQz z4hz;xZoGoaw@XqkY3qA;y6KpNR8jgtf!V}YxJ9ER*P7HyGg+&x9dOl|Lb3RG6&<;v zfb3S+IZqI0K)ZE?Lxy`2Zs6AA>74*540Zs%pm{K!!|7*uKr|;VFQ7vR_8g$jyE#j- zQ)rL}uh=$ztw6x4G4_y~69##l0He|-YnF#vVB|pARSIygf1D4@FN9#yR15I!d|Z#A zorN><$g69ggmY>wr;Iwx6?34X#)H~siW+qTS!EP@$0Z4x=^RK|rdKP?W&Cu*lMbU5 zntr9x`m&xrY-Pv#5Dnz%T;otOWFiI+LTMo!4ccl{dQh1Yn~S{AQivhC%}Kp~d74s; z3%gEX15rAYRdU&zd=2X5OKjcOZ#q5xJ+=sC;e$X#WS2p3@m=)=Tg{`32BLbWH3LDr zcRiaC^i4qY4BXJr`+6Gg8rL_Sbw9y4t^qImCtD#nA&N7NMw1JzYaK)L=eJA)q#CqP zq>+yF^{9wlR_Gw!%l^pi=(&!(zXQ%{0anYn0oB?x#<;j(!TET%lWDjNp55j8(z>ug z&T3f*d*N}m&=`m@M|VWOkAUCQVXMuv zq#+HaHGK!7C$qV6aNsQte)9<%v5Iq;J$1kGc2lERt*uK_?CdD?TizGWT#gt?^2X62 zJh)G!!P!!0i!CB8XwTp1ibkrC>I7KALl?c$f`UFvQ=S$RHoxIS13zU8+8t2TCFjzV zG&@6I^r1hlq1SZ^RqkDQwf*%6@6h$H`LYuDrh?a}X&cH1QV?+dRucz3Kmix;{K7T_ zg3;8S9>()%>$gngBwbj(xthkAum?hL)Eqn`D2ctIZ}n(5$c)*Vdt%1OK^SF24h)1= zdjfue=qU8Ai@F-!0?#xZq3Fzkic{%m_C?b=hZuGEo`M|_)EO@W$>So6t+5rB(vDgJ z8KgV0>Ez~Adm|0Y8DstL{{e%je)yz!?D=mr+ZdS3o>Q=pifQpCH+l$kK1%f$P|TtY z*I$eqXW9(exu0U*90+0E8=Zm0hn8Kc6wYBIG+)aAItCn_albt8#H}rZ)-{@~y~#-Q zMh84>?Kk}z)MCgp{JM1};v+Y5{a_%J=N7aI_fxRXkB*|dP4v~3G%ONzJZ5MYs_0j% zGNVnj4d1rX4`!?*A{5zwCemOq5r>+8F=->f+|~N5IZGS1y2R#VUYr&G z3v;_m2iW!#T*SdJS9%02L^eyo@z%#~vK`}&p3rqqI<(HTTO*I>Ypu&wM#vQk8KUT+ zR)c+?LL}}OMQJ|_gcQ~SSM=+mfzVd#UggdF@!wcF8Un75=cXVa7m1|qQ9!oYPA z#~g74+!^B0TkGT&)DErZ=o+z+E0?w1`dHewmkpPZkezg@znq5UA^TbS(5N$MxY(09 zhZ}BxX3Q8m?(BnF7)(Xw$d@73E%~^$H4~to9!D>JaQ4UJDHk;YMa7g=p?A<_j+bv1${kLMGx)p~Mc z0w!%ewmh;d0RyZJN|3q`=Wo8`_abLH&^=-Fh4ne0??NBFz-Mu~ap@JnDWwlkK3uz4 z(M^2^5bSj;mDSiH%6fh5BtjiOcB3g*`M``fm~Pq)cFy#CNdlZ}ro5B@8PF5VPJA|j zlWJgX;YLpaa5T+?pEV*du#)Ri@Qg^Jt;abZ#oC}YJADt-}tqiC0_=RWZWqLas&+Yw*O<<@7X1xi z-D$?-3Cc-p3Bz!r51S=mnWUqA%>{mxcJ$mY@yb3Lh!4!Vhd3Nb`S!wdd>l;6vJ;fw z)xZIeTTfcs4lh&+NKmdQ;+xDv!88e#p2j?brLY><0y5=5g_9Bx6slJpQjnmuu(yIW zKbU}(*4hUWkl%`5`>5PRAqIZ`1f|0I#Tqay#NG;VLngw8?P(nZS=a7fG17CO`v6F_E$6TDH+o=hYag^^zKE4T9 z2{ABtbwf^qQtUwdy|cOw=xwuCPs~qHCOfK$sJ2p}(ZFE5I%!;j(#27&Z=S#&*ty^v z4y_SC?5YkvhS*N)MfB=buow%9GsJn!$~zB&P@VXduQ0PZ&EmO?y5kqijh}JTpL+72 zNXe_H{KpD~`r%C*G2;fLtMK<(SgPt*?bOd_AI0)hxLKXDQ0_>leq-r;8NaaPVi(X} zJ$(%c@o)J~=yztMAu&TBt@KM)gqn03=I7?f@#u?TLZ9(q;YtXI{wWF5WrKY(3`W~d zu@P+Si6mH8IerkKzWB^pJstu(qo-EMQJotBZ&bzb-a(yw4d!vQ4IqwGtZ?qV`_RM) zJ~Hf2yUoo3^?DGePW1*PY;m%Ep(bWHb8J#ko-a%o2fMSo+*P!UoSd^cFZLkR@u8O% z`$7}!MtM*8;llS!!@7`;ZuAATQZzV)=30EAwx;4O?sCO>HM~UOI0U~`jlRrnzL1YzPQ8k^7+LK;-I~pEP4@usKA z2XGvh)b!Q}iq?q0wFLk+r3o(k`oCJ7Ukw@ohg*1?1oMPn zj6XVxm=}|gcn@!vSTmgKC=392I8tjT16+cmQ1}EOHWx9n80=?KL1?W5?_~KGz}oc0 z=qh(+$1~k(rq`LdqX*{g>N)AKCZ9`%02p639O!{%+=aR6j&uSLVZcIxS1I5ekw}Bo1B&V#%2(4dQ%@k= z5#`P38cN(K(zz#)FT+fZur++un?~cbxLFg(#0~q zk4I`5C$${pj0(2CNLR@Hf-JbygOP(ZUVGD0g*_UKM}X&lWw2Zau?`ky zWUW?TYl6Cgg%c^}S7szb4l`sL2+{Bb$NmBa^ak33In9wh7q~O6*F9Qghxw_u4ofv? zbzSe_>_|llhfH$k;<)nt9uR=1Kz2WJ0j%-#3}C^>lZA$6EMf2Iv%qE~U8(B<=8pv> z@JM@-Lq)IS7iS{cPSFd`ZgexD6(F<5(L)deXx&PL6NDBTb_H-#4gGe6^OkI`?X zz;;)=jYEEqmvZLE<@m*->LX5a>W#~tVE{XsqByI$IAAMLXzD&rwHOV%c_7t3#|J{! zE~Y@M$FJm=;)o+$lJyL)LFVn}h~uMp3%{J1NPDSPypF>J9BW|c>X(iGifi6E5ougn z3gY)}$P}fy+9Cs+3|O`gFnS;19+>$E`QVu2lZb{yMiyjK=t8}L@KR#)d~=Pq2ra*d z8@T~(4~k0Q^V86mI5e~Da0<4wdH~+uSNV9e(G?SS!Ytu=>H9}RF>t?Fq-9cNOzDq; z6fA-C(;gj@Y8*c}(VEf_^wqP+Qjn-bYh7i|MkqRg^kHHOf{u**-B-o@Z7k_bdC4j4 zD+H1TkPg)6Yzo$_Ix&1Rhl@4*J7}|(d9*wQ2Lz3zj#smhv;r%^P#opDmszk@67^;; zL`^1#;?oPjElA72>_wZv&|%u?Mt{1tk-PFm{Ju+ij*IHYG$%;NM5nTaDL55wY{Oqf zx8CbSH%~f4q#EX@VDdSCh;yTG78Or56eX`?<&1-xaN4&a1vY4AmF}(Qsbr_9^QY0ys;~abnW3_{}W?LLH4{n1MPRFV8d4Uq8)E(m@470!L^O zyl{{LVJ)Z{Z;u)J3|Dl0nu0@#Ya#^>5iAbKH}`&uvRA!28-fX2>v}F~=*1}fvYQjC z#stIkZQHsN1wM&XKkD}Fh$+A@ z7;T%i$<@ke>kv-d#Dq1+@0WC}h8MQAIJBFr9o^kf%h7L0TB!{{>Yf>bk)OYUKM2C_ z9<9k}S_hgg>f?{bV~~Vcc@u``XRHUigyuWqirNqis*s8lcBI5m8H^L85OCDKo)aCh zNcnJnA!Gu@%WgUtb=M3{V2wTg{XtH=qW8dFJa7E>(l{D? z{ivD+d?S7z)kHp6JIHLWhQ9*^pim~%rp^akKY{0Rs?SBT1(8|kgk-@$q8CN%fkM;^ zN}y~;YQhz!zKcFUTDmywDGur7VL$H)M^g;^u1s^7` zn}!)01M!k5S*c<8pt`aa*?cj8L1mmi60OsyBgOs|_!6$g2pIgh>uUG zd=p+RP~cEp*j!;Md+!cjIMD?pqtZDZA|}V}f^Q27Hd*t7=##e}r6^~$3*)d3`8)*? zft-{Yxud{jclx<71x}`oy2+86C#ERbD)$>H`jSASxD&MpLj7simK0^1hRJX$+R2*g z=8hC48dcHx-Dt=>NRi6J=y^M<*qPhIc&<*{2LZyNsX+^Nf7`pb3!dl9*KDLfigp;vkWJ$Y7RabGtnM1M4%Q(FDexEf-W!f7z8n)h z7K*PhXv?}3WxX!z;BZ+A3==xHyM7b`N&Ez=dahay{6+%6ahyO?c(FcsWgnvj}K9N)Gk;8wZIuWPoq2{ zJ?W{vocv<$Lt&W8$|3)4)W7#&DPx!inrfPn1uXxpAw$R&&+i*$k%BPIJgcpwg4IwM zwTI&f*}^;Lgg~esz30g;W&;6rRr~RG9$WQKj=)g`2IDDM$@MSCzA4HHaV1L3>J|?!(CL5(m187uev07igLA+`t$>_$|M~9emezvYu4#0N*S_6Xn)Kd zHAT7hEF}(zQwr6?VR6bxR2w@5gD>&HI2`b0t?u1gB;M?FpJ=$@=Tdeq7V5w3wOFNf zWNBg?JSARQGzBs??Q$&6Lqhw;;TWqhsJ(NUOB|%FK#5cQREmm&n~?fYL#*-;VB;$% z)ulz8@|mN$?rf~`yPfcMh-yv|b7QePs?UkVI!i|&=1MFKZ&{~e5&udX!yMK1pT{cg zP2}A!4qY5M5lE_Czl>GLju_D6>iG+?$|;5MTBKh2BUbtBR&$eoiB&dX;=zYQDH^z% z#Gvy*FqG8BLMyvR#wp2abelLO%ue0aGfw&bU!hcLj#CDz_dCZaD;X?NrB**9aXQ11GW(W{E9{jE)D%03@2~=dWp_M z!@Y#}{r)Y~{LXR88?X)l8{9ynVe`bxvC1-V0}Pm`uI~fb4r<6FPL<6wJfSUq5x_##rS9^7r3HzzNqX#wn*&=4H8^`Uv1ohI@~Je&63> z71@N!pMHu}X4+8}#0qyepji*~%-^v}p*{D%iyAQ{R{2d)SC54lU~D(_j_RZjs$ z4`hDVkSLxC#;L0(fJA$pUCh7$5p&beW&OB8-om^oB!G%AlAP4Hr^hPw_UhMjVwF!j zlk>B2%4YRcNvslJr@9Z1!_kZ?MXZtwD?R@55YfkbL-SO5xvOqPamsZ&^{dgK9!mRe=!#FZRlI|#-unUK;x6IsBJS4$;9rP z%+|X$L*c~35RF5YG_q*!Naobo@o|c?ngMB2?X6>P*-G>~Y>nWAyS3;_Oq}us_|-V> zbs#DO@wT@@>^PU@%sXz71Es~q!QngcXBL<7G2jAajlxUnx`5g5H$P6!md+K;Vas+CIrgf2>zA8?M)us3rnx_`UDYG>; zSk=W|^!6uUDj3#F4M~Yp-o?%a9Tjv>)~E@O#wpL*YciI;ehA2khByo|V)Yby#@SwF z6*$R6-OY!g|z>_MnnLSezNe( zigk+oWKl&&#n9H!6&1lU^k_wvgKeSwxZ=36=36gUw3Jy}D(vkHHNk+c;@S^={6zFD zKR>zHT(Q;&2(LqAUYCkX_O{=sV+T2k#C4e_nJ}=T%H|s@$k4vsFbc*F@)Gs4g4)QE zrz-|I{!2I_e?rCQ!h2AKiIOXSbX zw<&8YYx4TWy;bH;OAva?aR_x;xlMZCiQE4~AF# zZSzf6;k7O^40&by`my5j7v9rbI7;)93Somqhy?JrY~Y4yEef<4E(0H|@K)r)VHKV> zm28QZApX-kc&ur=@_|`?(p*~6$)>N2?d12bAe$EQ#FCLMJ>}046_*VkO7L#D;cp&D zUB!j*y<0G)9&*UT6;o`8)LwTJk$*?EkX{KDeeQUDyC)9UeBbL4*I1(~aKB2;s z`4VPiI*Yh~h&za_pEi*Rpcg1keOl36oGD&v6b$W!b45j1Q@IF~Pyky)8w({sml-AR zo=r(Kg$+vh$uWwzT-&_lktWnUToNgFKG1VOI-dV`0D0Sf*OlG*LyJO(p4#btC}Y@7egbz~7yvy-NvVrw+s~321yH zOHC#B88nsr`0|DlMO^As&`B1#mSi-+&bMS8#Uww7CE}hvdA^N6guPeE8N;8~d`nu& zn_eYH?WM=1igr#S=Avbg3_fp}Y%i)CEG9YrE6W2WQU8g>UHq^(%0-?(WI3Wp{QaSw zRw~zCwCqIkvBMU3x#g54%|X0**b+t_mmC!rd8EN|#8H$D3~_#8)terh>JM9-#c78f zf%5I|EDesEwtQ~UtIG|)S{`!~g@-NC@{I$Q-|eJ}-HyjYWWtnpj~y1pv#OejVs&z; zC|~B{Bzn*8fOTShrKhZ(w*5p$*)X^2fbwL)rMK|!ZCP;Xor?=Z@bimJ;>EZ7=HE(0PO^l^x~R%J7ePPH za~8Wgn5gcIgl0VL^Y-h`Z8RHh5LO>vfwyz9LatTt)p8+q(;(YZIT{-b+p`-hRzENKlxLq+sc7(f41y;19r4|0B?0~CqJ zMfO?)a@fP$yDA#zQx8;b@sVQ(?EKtWc4@nPBOr9B87FsjuNjTi>Wcp1a_iul9g6Vo zQqxy<{d0SrgQ#4MrHOm5n#Han!VUwo<<0GTaqzOYzlSLP!P7}Z+Ye|ZYCE+y2|(#B zcXX+-vzO;O)O2?cUanOx^!wsoSTIk0(;IdG?@z{J$5md{0k$A_Z^+f4w=3KE>QvM{ z-NsEM2E;TIbzwmP>wEjUNb~XSS)JwA;X9MPrTv8MR~4@5$y|03A)jw^ezGELhpY(O zIo4U8oVYy!yIBl0(GX^FmJ8=whB}Fc*DF2bf%w3p>&famsK9BNr^FMAeP-f$Ec*#Yant3lSPZ!$3u=UZIK-QNK$sIQhD^09dq zdk1NEMGkh*fK2^PzG^3`uhuk&w^pXJD1SJ_Bpc4k#SRiGp}nG0;_hx4Y%d)qSh`^2 z!3|Cev8=Zf-}_i@FnuO{NY+oac*>RsWD#yvE{h8mS#5V0%|N_%nfy8KO4J=)(Lz3eU`y(|H8>R`)Idl_^|me`5H=}-n& zr&?Y%U?Pg1a0$K5{q7>NErwLsBbMv#db8T!`wz=PcUiI0@{W_3dqcX&(f*dttbIJ^ zqTFJ)-np`?96#1lV<#^^U>RgD>c92(6F>M^JmkrL$eH#sx<#ku|v{P&T|`>5tPRX8f@eHM{LZ zRt-2;yw&owoxJ)$O)yBFP&3R~haEbm##>I@W^r+lt54VLx8r6*7^F#FsXi%Pw))!+|N$62;7 zuF0_%wM8|ax979A^2(bvFS$zZRW*+*EQDU7-F<{%zuQtouB;g?1|`4iERH-`vqH*sHHaw7T3+KJ{(QQoo2*??GhC6&me&kY zWXCl%%@i?iSw`B|Z;&!KLj6FD_ zrjtE?3Y+VXGDsvoBi+$6L6}yqwd*L&J8JrQ$dGc&$KX5nV*0Tf7Y9SfLYUd%8BCLf%1&NE0f&cT}CMqrmQiwmB32cHB(2tiz2zC% zG8!QDy2HE5eu`N9jP%vtuj(Vu$&-V*NtY35K!O`?;8<_jOXhWxLlp@&^i*VWUpZ2d zD@SojbPw4>k(=(5Llg;y0N%j|7Z!iM|SwC=8#=YeT~0W$lv*;20Ar(f$WW@j7tPR3Bq2}MO$J#JP(LGDh~Zw z^Rk`n`g6^bc5?9VHBdN>q%tdX0==%)1UblZH~EB}IQLAPNqYLpi*{mFy7U*vuGG{U zXkT=$M%c+00%V~!AmxoJxz%1gm{YTWRneRBspuM$qkx8Sl7Db*yob};;TaZ|3}`iqObnih34{2BHoOafnCF9>Q{*30nc<2MRgi0L<) zR6&`s%6s3Ljay#)*<8BcEcm#E0nC7j=BY@qiI6Wfd@OPyM;^)brRjlVl>oW1MPXQ& zbvIu6dqJv^z}lF+Km(M!P&9E|e7)6UwUY@-e0w+VS~$S0m(Qe?nO9uRq|(U5b^Ki^=E5Wu3PI98fx606(h z2g*Tv^Ge+eXxP-gFeksW;cbk2zR}j8!Sc*AyGv@BztM=IF{>4@XBIm9(j$pZdZT{;9{q@4yf&@e5?tAl%de=sV zYy|Lw@ACKf{kI?Q*qfi*rSW6A+qa;T-`y1zUUjB*#p9J0SXmUjYgAVajs^P+#Dkhv zqI7irg9gAi3GsU&h_abr3n0%wk2bO_>cOKxxPfC7d*24JV^A?DUKfKwJ)@>N6 zxXKG-^8I}pTNXAgRnIXFUtyyh&E@@!%F#v>ESlRy$yLtH?`mks2I;_g`H_aVvGbac zR5UN&sQwPj%O7BBD#*teyBERMDXOtO)?-W-_6ip0=iqorbWFeq^zWDuuIzPQV*T(jQk8_Tncp)gyyAd_v6Psh0 zj^)*$yni^{@y(;|dB!eo`i*G)T#j+FJbyLYINxKa8~&7!c;xwc-_d{#Qja~G)AL{A zD8@gRW0axYZS#!Ns0}|Je`aZS11K9!`Phow?s8kZJjcL)hZ1P+OxI66pqOOf(7Xy4 z8nh=yG1}y7I_C^B&K@_4mKvuB8t~mC$~81-ga7|}A!{QB?$@%7{c!)a>~2jk zcg|^njeK_G9fkGRvYQg_oD(LFnR2|vpVzXzY^wJV>l&IC)&}JSiukqJd<2nwvA==9 z>UK+m4S%XbmKxb_v(|c~WQnhcS)1)CywyU3-WGSVx1*@f?q{5IZ?W8i*5-}IISj4H zb(2m*m!7p*WVIHd519jG=!m5qjH(5z;TAIa!KKZO%P$+`AzjVIv1Pf&UBjIcXQVHA zd2SyA^)_VK3=@rlkQKScIpP*o20@Y-P8x!(6^#D81dCo7m>9&x2fLwIr|Q+YcqhF zPJ*^dgJ&UeC3|Uexpqr#zEOE&qtRM+-<><8$;ulFK}_hC=O)JA&+CyNb6te@0#6tD z?w;IXG;3*?aqIMd1G;f!f4*XA=sgCV4Z{Cx zNtEE}x5ka84b}kIR@CNhwW{P^J#u3V14yp;D5r^6h0WJCmQFHm>1?3h zZP?lL7!NyJ0_58sxyG|wY4XY4>24UhHqF>D%4T3Q-wfaKByQ87t|n~?@5)AT@0H|j z^=gErtu{*C%my*y)s=CY14Dbt-CyLsIKqIa4Ux<@BiN^Bm%y%Dnww@^R@i(4T0>>S zmpPTjiO6GZPJp=iaE|f2UeD$j@v-5cO_$Zi=J<=hpUp9<6`S?G&2n5*X4)~(?&or9 zjlFR-6;G|mX)gbW$oa~+@J4Op zsuApJFRqO2V-i?TdW*oH@x!x%d~I#cbmOw^Zms->W5ggB_a-@fMU%CTwwnRT3ys6{ z@2)v*3;^$j!Xw>sdK;?XPe1u?x19GC(Yodh60^tTdEH@dJ$P#I2SzK^TkkG5EI9?!MX6@sPkH!WIQtDsc#nV zH?$=8Z(V%JxY4+?m&vWq6nxOd#>-9M6OupP{G6A%%xYutFnxQLpbTJYfA&!&o( z78=K>`H0y#5$ri)?$?O6xY6`2PcH(~i%C9u)Es6sSYeIYP44*8+(hfxG-Weu|BC@3 zvEFRrGpZTgq6hRdiJdJ9gXI&83LTq>a#MQl4%MjnHM27gZoG_!8a8C(ij?7S)Ja^B z>nJ8%EA$gF^UUzC>%GvVnX?7V+0Di5@@^iY>YK$OB6s_+7NQ~8>>(~RGkc4t^Yh$f zM4@@TQHR-Z;NK!A7dI64G2(^uxyNs}s@h3oWans;=;dvGxlzXCd2h2~MC2PE^RI@nU`ykj zQe^C0n=?-vbHZH?O(m9MON?6l;&pSF0Xw%FW_uiUJM++%|k5yxp1Y3Ih500)-5l5+^CfPn>ICl1IM@(xvtV> zP~mdpPEMP}&~OL1v=@%L2Pgmixcg;l;j@NuCjr{kXtY3owGe8&xvkjqLV-zCZq9o^ zcF8Dw!XUUdf-154S#=MN+Z;~aIlhct_%AJwcZyXfHX?ZH)57=? zw~-6qG=E?mE4MnJz5H;Gd6ki0|5Z!!aESSoahw7ERFU<7za!1uFc!Br9!n_fCd!ZX zM$RekvB0%wSEjYVsY}kg<~@_v;K9!6}sOz zNo&%OH7wgjj2M<}+-33$i5HI=tnBjOknDdN#Z>$H`zN!FjMhGcWqY1+jqjb(!+u4+UcIDXi~+=d3Nc`Qc7GXkeMyCJu^Ujb zWUv9&zd}a>oiB}xK<2RcXktMCZR;^wagxf5+20s@0D%1D*Fo8(#zJ6vpQ!EM$GE!) zeJne~fWQNfWgAz7^B&7KOn_p;W7$UJ|0T8{b+2K*mlqdhUp3BIz`n_}j`v+fLvvp@ zdHI9v?-YukH3v@Pp@DOdS}g0)&dy>}^kcqMej)?G`k7B>AemIesSIVj9c@{ifkb5=~p6&@z9!J+NuWX_vC zGc#*pS|$#^KVJD`^QZ+2XQs_dO3ro-?Hn4N^~n53=61_mv@kR)b3xj|w8hEY(&jA; zZ8tx;NwxXO3m46w7b-p)Ka=B84}JZpGSwk;X};^;8FQ3Vb{f98;N$xY#Mo{^_SVsM zlz%1zDMibRFC&%t$qXbQ(#fd)_L39L2k9A(1BYa#W|7bK3?)!?eK$iH?xZqFyA}1s zkqo69QfvZ*w^jP`*@O+?Amun5Z>C@1YqVWFW^@;>Jmce7*5e20~50->JCl-It-9 zQ^c67rS9sp_%zwh04Go!kI8aXcOT49-nOHU0Dlwh{w@PbI^mrW&BQLBBOdDWQ|2gn zxayF5k9hMK|lBLjtt3aL3GZ9(4(pmL@D2%pKuV2nk zjyvdNC!@}AJ2A7%(Ezo%?;OR?r2hCshBC!b9iE+`jB_Tp2L~Zk*DZ98lGsmYw$}aR z`p6umnfhzu9HmlkDM+;g_`eVdP<$EpiCygltggP5fy7nsBduZw(U9S665Z(~Katgc zdkc}+?5I2K$9p6OWZbE~_Z%fy-HIOh6UjQ(W*~BV3;u9dkKy_0wt>5*cdFmgGJa7n aKO~qfcJ=#X%*=K7{od!<=l42s=G2@y6Zg-lvIB-+&TKa<${@Pe^>s?Db#%;hbaWK(A01&4 z#8MjO8j~_8oz?sPK*VtG<_YwI)*mbLbmYK(jK`nH2?zG+d8?CWy!wcFP>FC7${d74UZV|%^9_#Ap6i-;S z99o1dyqc*dYgB?3V(Ypca_APz5cZ~FE+M`2MGa#0;fWJyiNBDf#9FCh&zt0$laZ#P z3F6s=e(!*h5H{j+rU^MEJ0luIJ?}x=nT2x(&VWLb>(;TNrsj2cL3N&v&XzJyOIl!F zj~AE+>gZG$9s5iZ&4YPCZ|Gv*B`bkmGONoAPX4B&GkE8m0x0mN$=0U4@JVeQou5PF zI>JcyY?8gwl2l4HA#S>m8BeE$_}ZX)FM&cWkJ?@S9gPeBbAkWZgvI6_V}(I*ZFy%jmKCft*f3Gaa1|^Paz>yBY-Paz}XD zz?I!ymZPG@P0VT*0W_nKAFxA)1{b*2O9e})=K4oQdP{&aUjcN3q+6l zGd9!UX12D?M~xaWDkyzW`el0|6{17Q-(9F(bD{SQb~-u%Pt8uyUG+lv*y};X?>a?q zr^lii^MWs+KvVAzLx7n^yr4adF#7JrmsC^VmPW_u(W)pDOC01cU>gNObhSu106Goj zJ^lh)ZaccUHw})B;swFbqT%vsdUSJBF_T7t%NidH+X@9C?C0VfGZH0?`FJ-HLu+Ra}8?| z%PJp@q%$M^i0|azcp>7IgmHUlgGNFh380VORabul3)`~5ANp$2*;w>PoUnD%8Cu%N zmU&UI!Ad!`5qmbBHk>Mf^6MN0r;ONh`hZfdwpk4vxFW0|JUEUpPs2hMRG4F<%#e1Z z!@w(gHOe%$Z_&H&m=U8UqK1ddsDc>T*6}xRDqCiAteHLV(Khwj_Y^+ey zCk=FTI%twJ8e1UNE2tOC`Pe!y$A&~nJ`kfP__v~wO~l090Ae@m zs_4$;NNeuEN7x5iYFIeeS380m&8la|k_vJR36W6(@oQ0XB^@4P%kF&Dw{g$vDb-s?C*+GxJudIYr6BKmIZY8`%}=zW3!D4%rm>)! zgi{07(=Rc8yr2ho_<+vgF5o9Ec!3W1TENFg7BEA+#02c#%oTJ+*qrs2mvY$Gw7&x0Aqggi>(f#a}WrahAH2T~UP1qr_0X57dQz zZoEYn$h+>@$@w&9z8EgrMy1C-`{k=`dzpwa5vP9L{7S3RNNRS#lYO*N*^;_)-Xflu zR&OjFd?1mN{S2J+K6@{XzG1%P1(*<-M+{Gnj-s2_3qRTjPWk?X-V_=$)tZK6d-JXe z=sLuIzAg>jp{7+kJb9rWF%(uXZXzW(7BkY{FcnInk3L67gnbyZy4(%@AqCKw-CCGwI<$V%q!I=;%!Ees(UG*J+4~Z7$VV zkR+MSAO`f%jGP+z&W0!XDMKrwrq+ZuTu*5S^=S1$JKp6T1gMLrZF|22&cUU&Q@$y zWB{$g_)w;{FsmAxR&e!Bxns!c-_Ns9j@1s+>yC(!r@^n^%q_dmy$+it#%DQ@vC>9} z_b>g?l*Xi~>6AN0th!ohP4XmXh^Dk4nkn1oj&;=0VY+g3RDFdFTbR@x&GeqZ${=MiwvwX-{PyjYZyl^Rv zpf%~iLQir}Mli&fX>AP9+vu=DKT<3!5M2jv_NBcGA~-Ju3TBRsH3ytaX}(oSs)CZ4%)AEVr&jKbYiZE zImXbf`oN28(8?L9I+CxFCB$a6%G4OV=<-~5&dC}Gq^iJv2P6#@Jz8MJO8f(B)3`h( zZ?OUh?s@E{;#x#WG}howvtT-*juAZ%hFI{qhP9d3AOv-hG9W(Q@pc(k^u3uuoZu@E zzTNQSb+{X+&k)Y;04?A2opDPRs%Ub)75U~V20`rbt-KBmnJIEvL+~u~VZUGcSASLO z^X#b0OtG{+2TiF=GZWA(w0?n@+YNzJ9p_?mSTbTcAGN{P_tsx{o}0)xUo0$@Kso6R z8^e{fb%>HqF0<#YT?XsuSb48ifLAu;1)D(o9k%{6p7z`mEY{IEd)o7wV?bloo`W0s zDx0v^lx-Q67hro8N>O8oQ||x%K)ZalqA`0N*u5v3VDeHnL3FttyPt0FuBHilRSVx} zjM>tOc_L@2FP#su^VHi3T)EJSI`1}Oj=Nz3_LFoFUn}!(&fD!zGjOJeh=3TmVaJwv>Byd#%7b7k&p5xK zir$CS6ojTXN*x#(m1jvl!-yz2;)=0*pYZioE7h<`c_uV^m#|wquv?nXw+d>uQ*dDd zT>ReuK)#k)F5;2hN@8m*0~TW8gXd4R+KdEks+r+)jSsPuT0k89MbDD1%@&b=FE~Pc zr*IQmy3v`1oXj(2de=s-MNd%+*z8&1@D6JaCTgx2OQQoV#Uh;vuv`O{^a z+H$M+g>db+sbmG1Bbr>6>>&>Q)-;h%kF8sjtkgTpg7lR8eMIBUiu`%I)pYg_u^IA) z9uLF*so={T_DI^7=V|II^IODyH9P3r9BT@d^yfAwK6q!~_gI|uRNz-^r5^$5%}@(m&qb_DC$ zx-7HNDy=pnAz6;(VLj0YaeRNX`k0V`EGm|IDo>vU;h>>%0Y?nla`B=ht7N`+l|IB= zu1ko+y^QAmstviXR5Hh~EEn=!#u~(2)48wtY7wldCcjLTv5+If%y=ly=GSJVIVew?s65`{^}(y~PPT>%wtBmK(V)y$3OLqVZSm zf=GYMo;)RMy*JN_Jdn<9f3`I&OHI~Ee?ZJwWp|3+ z-{wU9w>gPP7r(6~@Ani~30S%1@UOAv_-8rNl8s_^EP}obhtmzfXe-`)7sT#AhJI?x zoeSj(2+lGlv2sg;Xn*5+Z(u?M%^FZc@8(63bjju}y#EFmu21K%o;0K{R~@zgL#)$I z;L4K@O&v{t!ZtyxQ>xh@PFFU98Jrsw-}%KQc&II%^@majv-l6OT!n!LHuDS*#_-BE z2IsqyPI6U1yfNj%QP>QqX~QyW&J3pLA1;6F&W#(?K^Pa4wyAH2$HIE7ra>L_*@`_H z3#9{?90Lk<=p?qA8$mO=H|K@$tOc9BS)?>)AqO-DWSVq7#HlBOzjLN#6DM*>)*=SP z)Jf-|6l>eX=DCy4((e$1BVP95fy<B0b{)mkGXgu0Z1H6U z&%%+riwl(=Bwj89h*3?Cf1x2mg^oaYBevxrrgNrbZd1Z9+G96wIuHglf3D zY&PG6m~_*pnyzZwX;Qt2Q`GJ!wV|~cRdlnY6+MkvSyYx6$&s@QvHhU^KX?WKG#0*u zjBU150b&Z#5Jk-8@&) zLrQ??UbCa)|7&2$G%d4Kw5XTJgEj*@A2uhgr$=uHQCwPPd6E}01|XIjPKyyf0-7x8 zretd^4a6SCN(zi<^x}CP?x?8ml5QgB&4!9QqY_uj?phb?=EuF7lq|y+lhV+}wmk_9<`+JCeOe+sKG%Q>hK{Ky# zJ%PsL~PAr$U~B0 z#-pT&GxU${qO)Pwx2?Su4+qPEh4w7G$J6?nB(MaL5rpuP0`UvxPVq|M>Fdwds>%BFtAp_a`6! z9K_R)qh@r-5wTTHgq6e6XnBlS%a4jsQ37&B-bhsOX+9fTA3S0w*s44tE=i6axXW^g?Ci09jJCt#t9=UVFyQ~Ip;o&$Ww#-|w4n!cv&_Fat`?b%z*)?q*+sOyX* zZrWEV7OZ}1o;8V+D-hyouNlGAzmGVdY7HSaV#lyAJnJgzC-THaaI87b%2mm8;P@1A zM%4+1zOKJ(1@Pj^%5H;w>w$NmeG#i|ChV6q44KoQJU8M7X2e>=%$=KNa_s=iZ22vX zHMs{{daOk}ZRDqbwOviI_D4ThfKJI{bi_^uZQ}T<5T9biT>9pjvtoY(aVZcZ(@Dhd z>k}M!DuhG=Z)?IxeHnWYKOKEi#D`ekM;s~i12q**_&iKfMn(E^4P&ytW%B(lE~K-b*+Z1=K4H5LY&+@0ACqoIjcS#E4SkY&j7#P z-7odSy!4JDFhQ?fi-!ctjj#cWJ_)ID&2gC0+BlB5B|l>{*|8_|k%vDIz@idov2 zX?WU(LKc{05%Lp8K(!&Zj6C@VEP^i7Ww_{a2}B6HrCA8mL!^(GB%Y{HQD`MLn9qQr zX)W9gxEM$jB=sQ&rI3hQU#&mK!xPlff?*=+4S?9;abM4w`(4Or;dk>O-5vnAe``9jDOb`-81-Gix{<$>)MPR23;Ij5 zAU6MgWEfvQkz-JyC3P7p=Fn7_5JpQzHU)`Y=#61w@mv9#>uBn*8(gZnh_1e4eb7gg z%;b!ckOVo^5jDeNpFz8DmJ;D>!1t!Q(whAa;Oyi4^( zSc|jeN{!gL&VBwUtKmUOB!i$@%vM>nMfq9y5hp#^voixq;)-gT2Y}-^yKj<;+}CaBWc!Ou1u2xr;3^X zyb^P=UdZPS1f)JGG@`=l)7ZBoK1)`+lF1|mrj>%%Cy6v(w7!p z6?QTJ?VoITaW2>3t1G6oSGf&M{8KExzk|LfhR@!H=R>I7^bblK8h1@iK1uIE?3aF~ z8ny+lEdEWN9cfTUFo?J>az-2vn&i46y;v!Nc|Xvy+YJlG1LwVK9>fR^i%=xQv$@`B z;OueSF=m3={UX+5SXOI=v?0@_b0F@ywW%enc&=>3KT1z!HAEUDL=CU`(vr&}PN%_^ zDQrgb6P(DUo1m$LEE}>=5<#pt?`{LWn4^ajzRNQu`j9svA;hGl?NuP1h%6t0*nvJ8 zJs4A@O5q^?geAMafu*9zPMNeJ&REssgI07@n>*PdxkKE@CK&M*s$IEQp@JX{OXfC+_v-*uD@CBu&LY#c!bwy#j zF73JZBzDhI(gWqYZsCoImh?Vw(sqR)gz@Xf8G9S* zx;ntJ9$w@wkbM!~wy#Zlm-th|rGi8$lnq}q`4$M{r*066&3nt{h>n*7mQdHF5&ZUV z9qQ=w2HxLDE2>>dI5m_*mqCM7SB`A~8N}Jc1R(K_T=u2+SNPM}zY7L!p;f)(T_WM? z%#Uf@^J|kEa$kg~>611Unv4FMpy`j1CdcT?CH^$wcd3-5-^17(vwS`BUG_sPU6@>h zx-;f7jF&Rd;&tJyWDF?3t+XDZs@>_kC@?$hnXgAHmJ7GRtKuh5i~7NiHh`9E2fO_{ zm{KcjCD?W5BB8lsz+3a%*TYfIv~0EH?bhlrYP3>X-fm?$Em|vUmah$?CTnDk!E3BdCrAOh@p&2*EyySvh(yHRt%1ALa>{f+SvQ{ur4owFK7#pD{ z(85)s@G}$^gz1}r&4pzCAnL;iulgt%GgYc;E4}3Sv}#=#tFq76Q{sYxywaX)!dP?` z*xLrkUJMBq1C%YcqjOP5Y zm6neLc85xK5g)hFTSj{?6`T!#g15oLlK7A_my1ziq5mY;#oy@4RYFI&1=zOL2MW*< z(nCi;*9{46EO}wOwUXOp@WYua1f2%ZZDr1t93IL)uNT1;Q_H?>TEFF+HwU;ucAo1> zSIm(Iv>WI6uuJKA9<*exm^L#psVqH}!qatZUNM)D%TgS~5xpum@J+Boksl9R;~)Z` z+yDM4kI&G9B|g^Jkwb8UjRr$}X4R=VPl&K~+Xx80@1;2qw;w6I3%Pe^PRs}jW^_EU zm?zQLy!e5pHe4NO2)QczATA21y$>S3xMFJ#X6&%(ew5^j_i-Tmr4J#-@7%e7FWyLT z>wS$YiIvF>qHAGCYraT16dAJCk2LN|U%5@DKj!#QGEW@KWx%+3M{M`fhgm{!d||cL z%ApqU+JG~UcI@*o@DX1MhaXe1BkpkK#^g|lU)a=+JWs&dPrLGL$ro7rP)~>xhwlBr zwK)8k4=30bRD1p8g1z`Gfv(LIyQ4zb$<}>8QCyw$%ru1i4alzXN(Sj5S}#2El^-cX zEsdM3qG=Ner-vuXZ)Ux#%XLvb$&eNAhx6HaGOIw$$^SbUGd12bL#)~Pkf2bNO(>+$ zyncMnALVd$u`KL}t|s z_-uMlHw|`W-8mBsc6OFS?I3*b(Bd-h0JD+n11ct=rPD>DT_s`Bd`Q(D`LN(itz)ky0DKO%-Ly9TBIaX=&GFKWsOU=A~Dou!5GJ|NpY;`y8`|-1c?>_@`MJPgp;n9gT zJwHnvQQicBDs!{@;8`kb^Ic;`?!gp6fe>BqFBr#Je$w8Hdqp!a$XXRU&I#W=VaD!U z)F{br8R8K8wq~K6@4F}93UM90 zG4JPDCDj}kR>5pyM)RKIVdKoXqt55eNgo+%5J&E~)Egd3S<`zUSVosTW6}i<`%oW< z7P=+-`Mw{-Ubq6@F|2bDm55u7Q_DFQs1w7LN(YiA_q2#TQZFaUt}1q+D_ohpl!`|D za7xD-9aJ`-}QoH_%#+kje147nwvXI}8Up_<}|- zS(^r(QF9-Q0n=QIU#9`#V|alQwBdHfbUAd51JMV!N_unLI$CqgBVjf%1DPHsaKv*i3K*amq0g{Bpfjm+e{=vXYgc!)cyk zD8v!Z?^H_ZTnT1rC=_CygSwyT(6jzzqbx*x9e8vBch9m5;*miT9Hn`!>9LMGU*JiR zYfJ$@S~K0ax7OcLO2SBEBVF!pgXGjkTxY3p-~{iU;6_rhUR_~IbdgOE6Dzvhs9=A78~-O}b(*_o}^m@D9WL$Q-8Vrw|9Dfr~+sg@<~x;q73w z(y%-|*0Z<5nH-cVKz!J|T)~cXh58>Ca{b9FDI;R%VSNs=m>~+WQW(Q&%8zLSy0K$@ z6!r@jYCOmod0vI+RxA8F+dEhxQr2W(<^7LZu`G9pEGdWJ+w-=`c;?g}hB}m?QIi+a znGrXP$+{q_OtO_~(pB0QvC-K{U751IqBYk^2BddOo2~TF>LftYoA@+@-RMBNaWxS^%RJ*(!Fhk#X8qCQCHt zOf%b1$&QXx=#sxd3bYlXfl6ihi=HJrJWAosIg9`*KfIoA({dOkI3zhrGX~@wNj)hX z;+{Y5Z)BN+72^HG4wx}F8k%2a7drq0#sd^0`@mJG`<|R$Xjpp|RjhF$qvU}S;)Wpx zubD|ls7m~i>r67ciJv?m(#pFz%&{|61y6!o|J`5~WFPT+=8R;P(qAD~u704_?%{vl zWcT_h!i8U{`zzd8=Br#aIS7^54e?7#Sx2;n8=IujxRWWe3h}~c@AHDi{1wQ6XQiv5{BlKADyfjwKgz{04BxT6yj(ElU=PaBF_RJ*_#`#<74AIb_ zYa=mE@KA+FgY=a>cl{0ih5Zoxb2D zG}x|#LY&a10>yoQofs%6Rt$%I$IoGKnY%&G55&5eJM&oLa7A}+_gt6-Kg|cM(b_$Z z9UiXmWpRrP+<4qk%K;JBb&sHITQ^{;Vz@%h?zPvbZ40IMB0erruGZ3NfOLFVYIpd- z)kaufk!eKZ9r5Mt5_&4o5LU!j*5ALMF%vWCZi+$#MEqIQofFOAjZ7zKePp6SJeXJv zlj2#=bM=Lqd2}!;0yFfH%LrnK=c=B3!n4#7@OI?T2za#>FBwI&HLP8W8I4dhB6no= zfLJ;EdUFwTpqCzV_$Swpm8T*9k~HG2S9k7nr7uiZI+L?9Bq6#5ja|eJCIhd~-Ag$} z23GcVgrW^GkZMG1(=%r-Bjcc9RZE34t7^`@Q`S4OKsQ zyFJQH7zHue{m>8gy@jGT?-2;uNu$+Eb1@M8%cG$qo(&00r%)|xw(DH34f z0gGPTtvqv!y~LV{?7r#E9(;U_osa!}!n#f$Tq?9h2F%R*J5? zq-$L`L@GS_hy}Hf3x+LB!NLC&S+Tb`Gei1neAv%6u)rk8DU^KdGSGaU)%8ELV<(ES z$)E5;%P(CuYVOz1rFjrP>GnOu?3yWt@)6Gh4^8UtFklDUCg@#KM!R=I>B8hY44jf(fomh*NCJK(sSi7D|8ers!B}2^c;BFRSZQuY5_h!)Th3f=@6xB zvspvo0(P#Pg^0Tsr{?1XYa*CU?5OB0{@;d(^C+3c3hc#NT0JYDV&bWip&nT1Ta zFw>X0CWL$!Ln8Xmj~F8&B7_S^QX`i`#M5DUU?R zJGu^nX-Y_*H#rW<$9lxG!0vjXtIviJyo^8)K zG0k{|E;~}73|6|!gC-pi2suxC3L~ z@NoUXQpYRAIn+Ejj_LO(zLN;I+9A!^w%@^b&sqt-5N|geKMZq%E_`Ss82Vl1=oMo6 z^KKxv0W00CaVBL_cErX1bV_9|n4|GVA>%-SM>oK$hD5k;M41umIGWYP)#m@nY|avE z>ci|E3;sG1_{8Rj=amHsEImOqw_3PPLs(*GXwz2y7!^_fTc;KnXq$6(8-tZ@kKUd5 zpViW2ei!kw+yw#*QbyDb|GnKWzk}Q7p|DTyCH)f7qUTOGtQTjbDwvy%$8A|EdieBG zsEJBO48$w_*UC{CdbdFG# z;RtT5d^Y6Kr@TcK;=n;$hloTAdRhyMySEngh#j9#f|DRzF}2KFGMDf5ZFwZGkWwI; zA31YQBnCi8pQR-!9Ej0nK?t#`c)XsFC%RCh%M!XO#F@-Mu<3)PMOCa@4@C#AWJA!| zljTMSgaefJlxsBp0-<%S^Dbf#;KrR)$&3+kWABVf=!oK4(FCYY*!R9GPD#mnqE%iP z*(Pm_xH0+Kp8s%ERtN`s)1*X*4d3s5{i|M|-J1;i34>8EKLU@;BeA1kDbBL06(i0rn!#Kg(CDyq4(MvkT)gv)8B0_c^DY@6Uh#z^yMnyQWXz4o>d~$`tBDy8tX@;VS(~YY@IeB22 zzZkHhFL3mHJQ(+dOg0g3I+Xn>>;d(zX^;U&EsV zFgr@&CHShVUjBj0VuHakr)1@wWipMw?D@0F{`SJlVXZb7Da3XtN461 z(v|k45Y`B+M?CfA_66MfiJWc?*zi_rMks5Sp%AZV8iJsw(*_P^rBfB+#2Mc<4OQIq zW+X!)u9Tj^QtWFqU@QANRUuw9EdqtbO-K|{L<4Ods(saNeb~}1NL^3 zB8m&T35MS9@azLSnxPPf&+CBfjvxNRSj7~Xz!(6L2s$8$&7L9|o&~)uCxi}U-!i0S zwu9rozVXR|c~4P@1H!|wwkq~|pJ1;i%RO&1Xj8K^RF`E;RoL3K7@XFxKmTY#a}W&` zgSail;vE|?S*At!OYZuO%A4~ZY{iXC15yJ;*ch?H+=BgV%Vg=&<}f!dKTF$>jfEp- zgI#~S*iT0c*r9)KIiQW4O^C5wcV43F?uyOja*+LwDRsehf8^kRUx3CAsnG~ z`E+75&8i!~NAZLf$Ep{@>2_WDsfzHrvAiY#YT8s^eL^Ga+RzYyh zI^ud_J+zv1cj6&BvyN~LJ>X&Tf)Qis#Ry^4YVf((*+a`CRaPF0cYv#md?y}eWoE{~5&Q%Jv*Us7PpMs84ByP)%jTY0PinN|38BAR<~rEUhM0sx zBev9A7^`g(OfR>zVF8x#Zg4iJmp1{dUbG|yY$1-jT)-j6DjsbFvxzxyeH{F#?{W8^ zv}YR|TGdhnwwr(oZvR6|@q5+!4N4 zO%8tA6khi(4`aX-lt{%fc_%goen}CTGT27hnm+$pQ((MrlgCP=#KdAx9wl} zXw_}3Sg8eEaE=DU@iLBEC67sTp?y0E|mIPt)D3&=5|U*~>pXjG^$;3tT!lLHp! z(YsECs;eM6)|v1WDQNQFXF{N zqBc>rlQ>{E0<~W5dS(-C=NQQ&5eD52-3~cXLl;3z0R^Y>MjW8soW(DahC%9eanIs7 zEuS7V#>SH6wSeD_Z;&h^+HJmkpI)~WSs4C4a&qEdzVx!a$PIP?)upj(9qB+jVc#@R z{J|HUl+ePOzHxBo%%G0GAGv*o?zR^3xfc))WgAjZldRjgTs!3$IV7ELFPgLi`#gEu zM?>FRH{g103q#e~8Qe(AuPe>6wxC;`t@sedFhszlmwV|WJ7GP1yHr(eU&D>H)j=5R z6xewGKKqvRsg3ydiWziEHQhZ}OVk62F8r2hNzTJ?sA|N7K|kt%7g*CKww8P}{G3y& zQLFA?8R1PQp_PA&$7PO?`vRE z%-W6+P_1rVZA0xGMexpyW#{=QlZNujup*|*J*kd5%q_%B))A>finoXf#;MT^A z=p7TGs9E4IE1uSxOt%}txpRA^5oriba0En0%`F3HYR>`_mGHd)6EkkL0T_GY=X{__ z12N1TP~G)I{^iukRD_yF(6{^TrO&B>u~07FG-!TAsX4LYPCzW#(2R@w2;@KD^|zf? zTrV1GV$DpOK~y>?IYB%fe`qA|C<4eQ5dMze!3boU_An-#D-96p*7xo_dd*1WYz?4W z!I?)VKt*CIoP+|yaQ}SzR^OU#GBRY59pQwng&YM@XV%(3=vHHU8f7FzeF#KrDLS~* z90TDtsKDrF563|(5qBe@AiIx&H+Dlc87qUq8Bu|Bt+6|6cM!gT_upR*PWr=l8SNwO zV+Pt!SXw8LJ~I^LqkvjWw>O9B4+G(IPl17%%L4Aup|yqYj|5$Jz34F>gO^r$ZeK-^aM<3qZ!w(zDWmavj%-i)V(N|AYVfDv`K-Ggsv7}(GjwQad! z(m=?>_n(y1o`?{-8d@Dry#0up=!$C&0y62kWcgB8l{HN>C9J5m#)OgL99?o#a*CMn zIbbw2Y0Pszb09L{QOFamaE+h=3yo7Yvc-3-s1L*iR!psJVMjH3mbS6OM)Vzu=k-m4 zMKeVAA$R7|wYtIv?}5^)Yo3p&x1NaB6bgcCg5mld*n6WCN7S(}{zqmJ&sBFwS49o< zgv*S9iu?|n*V3-0BKsN-eB7&7c8}K47eVeWgETvHVgSgGb61bK#KU8&Me^7YvD>|m zDlo8E$np7xRc>H&@Ch3_!c=^{VB8_WJz{_RvW4)eL2} z%ez%tHNda5z3f?vD-5|G)&|rR;)I+!De#3s_+FvAxTM?xY~LvO+JT;T5%Dm&4t^AH zfs%xtD>9yJVd&7)vqrf zSQn^7j(V-6WnTSw!6M+bW_zFKP!LGZ`-=Pt3(t@GnWWW18?IoqmsmqzUw1E1X# zgPGRJRkF?JGVSJh=yFe+>H;~_h84e_Kn3yvqYq|U(JI*lZa8$V*V|F3)j=e0vfmMY zY%vamL1#fcSnup9^lB7H#l8$TGh@U668S_a8lq9N+HdKRcUH_gRN=%U&|Ns-d*18$ z-&*3p4n!b#l?%y+%mHa5hU->7VYxvHksP=2fvN8}@F3NFAa1l*1wqq}E;TgurHH9@ z;QHc=-!2us|HP9`+><3Xf3sl8MT&^EzLvQ$5~Z-B70(Hq5~i{s>%fRujkw3)W*>IB zHdGfpw`8V$;RPUORalJ}J7Lvi8vMwUH4IZ3&wC;)yA1+B!{rgD=}4$B?Vhh>i6JUe zvOtWT#tG3SnEzxMB z(l=JL_%UIcIx1aoe3c=w23w#Uh^1&t=jTEvnI%i{#ag6AHbm2R*Re%~Xj2iRU52Y!QQKHqwJarqLT z3i;YYp+}Ex2Ut;Ep;a39Qpx)}fxeHrZ1R<3ii0T}%IXn($b>VGK9T&qp^}=)KA5U? zR!+K&LoDo&Y zm!@a03w@v>r}oQNk+r_EJ)qb3Aa|{4w8}n|Wk6=g^$#)lqrN9id?C_>#V|;|f2T*k zI?;j8%tb`ZcqZ;x0-#BDqs5=KyoysiYj6ZFIG6!u#4Zb;Evv5#fR7bLDa4wlfQ|!u zUQA@AfpBs zPdawSPfm6G*}`4-?G2FadYoN0IYi;ejQ!;$*m=kko9hohOG6)6u>&!1Md%cnZ9t|% z{*SsvJm@y!6^^K;Z>mHxwG&bC^Go3Q0mRo3LVocf4Y^=?J;z~KB^92Vb$2zhqTr3b9H4KQCB zm>o!#!>~vn(Pr-9l7EK}$WYml|89389t^GzVM6T7*FwIx&NS)=6gaSyplo|u@+#`mAiSO39+bvrWmLQX0gMrFXOb9nB>q+m1Yx)rh)FXa6mk=M)@C zoUBDmT#&z-n!OeI+(bC%dGl`13hjs@;FN%Z)SqTere;6?RS^7q;#s~GaR+mu)QH|5 z;cIw+WJ4yYjA;5>u`povYX0;n{ABiBFxex|84;a>=k$aL9zh<-yC1|gHBatkj2Ex zqx;uDduHE*!}+{rH{@odIm&b=b(`@Qte%DMBES)KW8ng40@80gi^p4T3P%`6KDU)L_2x6ZzYV+|*qU3lMp!(Zm zpPXamjpQBBt^_y=+R>mlmRPY@F$!^Z(iEIyTHPoWiwT9rBL1N`ksbirY`@~mPzXJ0 z_Si#ZPQs*85$gocYQmjq!+kRreF{ELPznk{iz9wr=9&hv#EK1%Qiv7Qw+H+}pi}iq z$YHG5kx+RTzXFUgX++CyV(Iq1FSg4?K;hK(*C#kXtjJFx7+M7uIli%U2#YoW?w|Xq z{KyUIM~KTC*V@LZ2SqFFNd}znBR7aMbl0Z|@0oZy%Uzi-JF$$$5NaW)ig<3a3eFOB zBmNOl^JTP*dHCIxnF9=RP*}EatjdukhABi8(SU*jR_Xl7Hiye=w|j7(u_$imaxqsg z2FdF#d{_Hw@6tD7VR+s|-iDtBIq&L(7Kwm7I7l*rzb3A9ec+A7VjqdWE^9V1{0Lv3 zS4LK_RKaTf5Hlaia>lm@liak`>d*teDN3o zzEm})(vpWIq)gZk?`#uNDtjR|xO}7$m!1!t>Xi+TW9v#4lt5UU(_!EVW?EO?MIHxU zD`z$RjwLRvw63ByyEH~+KyGvqd>}epeBA&ulTe;SvT)##qOv%wJq*gsdA?>7(`~HqC2vj& zx`^El>%jMApIFi1AH@07ENFVx!}B=T(DDel=#3791$T0Qq&>bB9N7InqAyQFd3|ae ztbYIf@KzIxdcA~^{_X#~b-pQi0gi!IK)l!9r!|im+BW8lj5XG0%K{Z5Me82|KYHp{ z-I9g+%c!^jqVB#^@3sjuZ4FSEu_7;(in(;p*Cmtx60{LhhRyE({~4%i0}M2jYD2sj z5Fh!Al30k=!cy?*QgNAZTrFcN78sxqTQD`mBCp*`p5mMo2Wbmim7Ig7Fk<3hn{H)K~ORFI;i!@*xgw6*0GcU1HePC?GiTofk z6_`SOA=c6#n!rkopeo2X+l|1N@p%>E+i5A4sA^jlq6c#-(L*XK9@w`k?d|ugPLHMM z=DU*%pcEvFXj5nTFnaU{boEh)5c?J!>d1lO;~4C0S;CHdZ*mqw0d_!Ky6O8XzG4@D z6UN3@2p3mPUx)tTz-E`_yAiz1#rB9>Q=@+uBE8xMBIU!3#wx^2hm}76;VsZvF6;Pf zfvE?&_h1H=3MUrdROQc#jAT^F2brd{8D_lTCop$6UKL6vKnYSroHwWSD6pU{E4NSt z^Ig6%9L%ifeE!#APE$702c8DcG0*lUOP~&WB5sKLd4$G%l`5Q74j*h&!e_U!8nGcw zIl-b_Va!)M^215A+@T|;=QOy5Qi$`jlVFeJl9`UU5{cVd{A(WeCwsO-C5Y|De2{O9 z(bsFzoCJidHiM^l55ci!-;z{bdUeRqMuH4T^jwxmKl7@ih#pfF$`i*|1Dv(|Ic_X z%|uYhfk8+3cG#9}x)0w7_K;K%bd~<`YP{CO?oI0-c~T5mi-_MNJ`vn#EGhh@BS=Y02Xq4f&+Y?hJr<1c0Tk|%P~A>RD683B7Zvu?2}H$c~Xu)q|3?JrQ)>nmJYo82&7K1mlvH2JemZ7$y(FS$I9 z1Jzy_X}c6XQ=BqhhZ#3@!TeIKOd^Dg6vOvr>nVJ%=>1-k{=sb z2ro33>Onj@vVR!QOz62!B7dC#7CKU{E@Ojy=EW3N zbNJ+T@0;$G?SCH?_2P9TOa>GD$eZ>E{tG$Ctrpvbbv%Kx*ETbvpC;_1j*qLxBG-9368gJ%J(8lDGcIj zr!RguQyf^lQ?>^wm3wl;ik}X{c%Vslkt-5@7kpg&H6?;>-7mtkg-qxI6$H6xA<%rPW&OSo=AGE=>7e*sl1;?l3dTk75o-?R`;fPE40In9Eph|dmCWW-FpysMmncFiExUX;-b zan8h|9$Xn)R^|tgB*;0j4`NgLz7NT35=C6~Ve@J3*x22)J^TTVne$;~;L8bqCl}ix<}IrAf~8u^ z1*jB6I6tjc*1!5V5UuhgA7ux`daKs&69Wekh4`u@OD13)7o~LDbI|Hh)WjO_K=BS1 zzdf?L+U2G2pgktw_|s)9L2TSOWDX42l#G*$C*qoqOPY&eKwm1Buqxk)+>!P~T(Gt2 z0e0C_K4T4s47JDj;W=EvmBYZ>2Fd{t(|(SACFUdWsAQX_0Il6pBt*Z^RgL*rQdjQ8 zL5_r2b79#`!AapxNO}I78?4EmyapmpJMI~gK z@%K29X;F>HU-6aNX!Rhu$_Dw$wpW1RvWaDk&);FaRDr}mh8D!w#@k=<7?@-=0%+M(XWSyZ)xx0^oNL5_zcPMk=rPAnHa8KKM0WY(9`GT^)Wz`zFhke3v{S4lVBux00B#^4tXGw;QPwDnvx=H!;sz8Xu0b zm*zW@w^CNbf-k;9xl_&dmf?3N*fMj&em|M&)@C&?v#c;;7?ZiOBjUHg^O=YdK4$Vc z>OZ(BA5gCp_J}9hz9dL$0@0=J0%tz&E~({2`UBWsl{MoW_o&9E+5Z3YiHlu!ea%^w zi6Tw}?hsR$gN@cf*lQt)B8FZ#wUCFsAeGGGmjnN6R0BHlRHEJ2Ju&S+#!6_eawFg5I)vC`$G2JB{j1%j z`%eNP*XHh2i5#4pcurP+kn*XV!Azl6c(J9oAZ`BuzJg33E;~MXED*9|PUiCcuLsud zpAsR0RE8@Asg81WMr`jK_6D~dB2%3O>r!jIt!i+M)?8!{P{*9%EpCJATJZvZkj8J_ z3O5+Umlb=;LzyC&a^0hXYtU}C3{noUoy5ODaOl{8R(ziP{X8pFxl5+vY^w#Bm5X)W zUS>ZJfzyB-ciaUyv4f7%FMoh{4YqpTSR1YrB6yWCqd<`G?Y<-p8qbaIv$4IdOz!w@amtxNv|FOo1ja_4tYpI;q zAo?rA;#KHIwAW|x-sBXJoAIWil%+b$O!G99)DWA0L}V`0=63j}TgI2K%)v8qmi(JS zx$qV21MsCKih*d*ck|!i)6UE^2HeA0CJ%_EA8*I|oOf96-n;{Dn5hY^Z)upFhssK+{VCAGdWv9@S1x)Ywyi1akL?^;)Y>c)avP2aktpIc zzfECUcI0OO;5%53Y)NC8;aI{6!j$g^W{PvuNe#2j9acgZ!2XE4PucwXcsryjIxKZi zz6%)u#~IiHaYKu0bAI|YwShbzJn0L+?1>w74-E?@Y^bncUl%tK-&81d6Fm_>w{<%u z&YdzN6&_rtUmzei%rMUQPuIf@<&WF3%fV&3(Ktcj*a*osT-`+6`d)GsWD)=A=4A1U ztO2{^23KlZyhT0Y#t$n@`I&E2q&!ic4uV-no-bkBBIWlGHu%G`vZ$oU2%xA!X1{J+F@|N1V_Uz^%de) zB?Md}Z+G(af5$V%@k->?CF00Ox4QirPdu@x?E$%si}xkAqLI9o=n6jRk@UiopMbp% zQ&O|oRzKzyxJ{DjxTsi)b( z?`D?N=^t@+l?SycHV5````@l7?cWf>W%YyAU1`~UamSefQ+iCyxKqHD{6Kl{2aasW z<}712^_hV=EA@gij)8JS#C>hN`is#=O`p6j*X9IWlFC~DTynnfDG574uq z1nq%n^P)*>tf8qbTt&Z}7UG0rD$H@cKED@IvlhYzFJXvd?dRLlk}z>rKFAC1()_Sl?X@uai?W^mO*W)PFjuXkXj zx!@e%GUdVj6d3ekdP5DHGYg7KrYppK%_}HQnm26{8&e<`=%ygdm1RABne!YO#9V=5 zjQ#m9Y``?Rj*N#kZyn!6vZ~oYY<9LnT(o_HpbpWEVvfR`zwOM0F_1IFBm2*H zWXGn2q#VDO)#FUULrtidplL zT$m;Y`k#B5X-<-XBo2nyFR9;i9L$P+9+c}q?4^bfkBqhJgc4e@Ez=YheDY_3FaC($ zSkBsGk4xDK`OFVmuWI7ci^XTjI6Dnij+8dGErs+W^0YronwzIhMauIegAIXY@4b`k zSaku=1dWLE*fmi6=kud0m~w`sc?8(q%Z9xa=9wR?G$TW#B#0KF`;yt(O!-+{D54YkLT zaN#=j0-B+uxRT%rhLB6_++6fXDCk3VxuH ztk|GAGWdOj;x_kQEM+ZcNvrJz@<&e_JEGOZOU_A9Vr|}Kh3Hy2OLnb- zYTrVPD1-xyBVEAV@bxfi4e{pbpE_**Ydw-LD=1$ofETs8gQ(Sn(P6?voT8xpg>BI|GH%{0U%3-hB z^ll!F>c;BNR+)0?LdAZ2%H{C(TNjGBcrBC`3IYg;j`ij>jcrw~t z>BiPuDOxEIB-qn-+mX}&-HP&6ff~W}58^we21T)O? zZ<-asmsQ5PQN7A+SBi>fkJf|7JI`oa3Nv0L;u3v;;uGf#KLsO)+5-oTh>4&y@GpWq z1b0UcYfl*2vR#W*7P7%Y3uO#~E8aJAV%-)AqoL_cPEpmZLwLN06Fxe~dqo*_!3Uk_ zF@r`#MGT}-l0S2F2?o48(~M22r^`*8^0u#0$y4^oU4m0rU&03>m#7@=+O=ucqJ5_p zz5+dh-Ns+lVV18^?cNeZA;X%)m1AN1#liAFAei;6Hz91%KJnnqAP9%~?4E5|rm>zi z3%$ad;8i9ld_tLEPR{DS%;JQ~mxVvY$K0di;_M75HHFGq<8;*+MSsNL7lZjDUD^A8 zb@4=ghB(!Fk0EQ1{5y)NcB`7RjOR&)Y|9#vpz;c9E%1QLG!}K0cW%dyJV`1i*O7SV z1e=`>-L8dPL59kTU05qP_zbG1wz^R>wssRHT(Cmr!@}0$d4>w>#R&08?fK7iRUBKJ zuW!v<)`}-kNOQG)(J-42j6Qi3F9NE1YF+C{)@z+=lrpIopy;ComsfG@mA*^vBpI>n zyGb_k3%HL&1A^&?Z4lU8t{S0um@Ip_=wJg_ynNEFT^a;@(#FRbvneYDf@6q|r(LeG z`YTiul_BfkmovU+c53F-h!s9avX*NIq7ZCbaluQDQp&?5H+dTdAw&o+-M(sxrfEl| z$7uBU?z*ZKpKbi3r1I1wzQ*?;$?Ufbr1XKSIy1{`P%3zZsu5fE2z@6Kg6NxIh}Xe% zw)Pq?4`TB8I0w0sC?_ZloOM}?SKe!cWzPZ19`Un6*z}F6HY{XioTHov4p6rQpC#3M zD&%Vee3p5$;_MCSyPH(bCT>(kE3@bXDxcndp%x3>gibCe$JO~Q3o`vg+i>=Cr)ro| zc`IXI&d!@vvy`eOm}P$Fe&-2^c;%OG_$585VibG1l;nFea$dgAiz{b;Q_zKA z)#Lv0Wov#c%iIS1!x!V)t};sS7O``EhMHU5>W;vtbyQRMxN%!mNy;cqk&CtXTbCa! zW4mg!^2-+R`i_nM8>-!r6@5?AW0#i1RWzjhIfZbmcZixRFyZbU_fFuP%i5-D%EHp( z^w{L>f+FKE@L%Vu-Xw`?!@Rd3=LP*CA7yErsr*bZir_KVIr&s6Qo*1yjP3YYdq=Ug zwvdPsc~BkU8?cdIy(-R5t}pmU@SkHzuX*1&yM-%zAIz-Scjf@G@`>#Q$#MKe(uH1p z1_UiUo)~GQ*@qQvfQ?95FIIzkkGC-a(QwRiU6a2*2^gv}EFHbCx?J&clAn1dcmF z=eQ5aWnwd!1<{g39dq{Z=}a>w&xo_OKjOk`6FgbJ)uOW61AnjWz%DWIxYxnSP-uGR zOv-9@)T-I;4K5dx|D(vy`DLmJ3YJA6qcT`!h6=m`mC-0^a-1;3)%U3Ry+eT7(cJ|2^g#q zDNh!50t)~B8_C!j7P1ytN5~O0-R0DVqzWrGG_C^Mp5kUDCnH)x*3(7!urX_VenW z1T*;(#R(QK*ha8YAI~G~$|-^P0#Epab+c3dWCj>+#8$V&=G9loBf(30^Ypa_DHwrA zcB1zu*;%9rbO{zY9b!I}4Q#kHx?U8?dvqJQV{GsnjTG}E;Hnl#%g!3Vf=~)#sBO%O zPbJwHMnMxO%fR!1cw4VF5Qto0e1ToL4Bc=)52CJAzt9g_a;^xo5^R)qa);J>h(4QS zC*NquyCZnvoXIejX^2h&_o%9;9Z%xXRQVgPLU4+IvNe|~Wl4qSCE;^RS5&gX?ABGW zuCia+vCP>9*6e$}$Vu{Sh6uyGYwfh~OSvRAakCL~OkqWRHF}MwC~XH#-o>v{X=ut1 z-$&wS7h8*pq&I_Dd=9*TUigW~K`?IZ?U!U}eOX3FIG1v^uwQ#1akba@btOSnnpv^0 zJ>z7m*dc@C zgeI1(VOJ|ZTGQn2&y8RsNV5Sy?|_iFWa33KVsAsNX{T=Uus6ssQO83@@Pc) z%BxBI1^Mq{jSvi6-Mj(sIwcZsn`l3y61_cVgI4!}L*nf0wNHH03vcu&vkQHg+aXm5 zyF4_`T5b(JM<@{dR1~S^3SB|*(zPVKkStInD9?AUMt)SRLZ`Zz>&fX0B& zXXxlJ_phHKWVwe&sk;9S81h(a@hB_I^aA|UXRtJc1i_{U_eE=@zkd3t#Q`ccnFljp zUWeeMyM_^bQR7)AyjFEC2|1I8V+>jNpg3IG6BHvjVAndMKZn$)t~?RpBiLcy#7N#H z7M4|d*rEWH5e*yBm=8-ZDu3a1lF`A+{3&;Qs?nJ=jlg-bGHi?tqX+S3Z1qK<4e1N4 zTciFSq0tU4lwOWPM@b8hL}=u*I?IiYbC>CjH6jT?hrBmencG=zgsU^tJtDQ=8g5(v zB@-9$E(;fnSN|vl{$p*w${KCx&N4FMD#(3BY=hubUr#|7>?HZg=s)0Ry;=RfYv!Xg z(`T1bp*L5jBVv3&tQmrp(vqKZErt%NQ6+v^q$|n-y6k_z-nWGkM41Om(MMdV5WUlU z2o@gN)r@rr<>l3wb4HxGxeV`s$_c*LWkmtH<*0QvHhih@WK*y%b)K!+teGwF+bd2- zPGHo2$5P|Dsl(4^Y}iJqw#_2mLU393I>sK&f?7qtN?RNDtx24PTvC@0O|Yl>XGgYH z7u)4umD=wW%DES$y7S-zL2S_jj=MW6&VVi%AmoT(=P!j%Sf(w?Utdt0m2Kkbb3ZgY zg3_AFyIGzwufd$GEP1D0`4jSm-JQ1jsM4s2qqdPi?*vhs}iJIMe3fhWoyr?dB*IK29Vk(6Kv?0N(>bZ z*~{>X{M_xBAEyPu)UB~ES!PurF#m?yiF-0Z*=jeIdrNJ>w&>0=W6`(OJkw+@Mj7MU z{|t|l9J!_Dk=6o!W{DQEuUIGqqt13_ ze|CaOCT!YGwUL6#VJw&OcmGq6tHz?$bF5_g022*B(Amyvx`x5!*(&`x#_}FibhC zwq)UF)h5d9+f~MLI=g$HhW8d}c5@8byz-D<12BQeK=7i!>p2Y>luoSK&d@|7xuS4h z33^t}uq1i4r$M-EeS>^-{~T@1EZ+cuZ^zZtzcF(TOEi|JLd2S>Lf?a!`XF!S9^nmZU09FeE2a(h)Z8c_i+2etGJtRIY-!yLg-qX z4u8L8izdU{DeIjlQFy_Lo^V^=jy<}{MZkoOI47{$3D>}_@u7(J}d(ZWdSp!X3qXI(I6 zd1Lk91zKoPg|r{ZMzR5fiv}QQcHBmY&Fd^6fKgoJahMX76V!R;Uz2sX0ZJ+5MTa1z zeH$b?%f`adBIt8IX*XAS3KB0GB$k&me0e7X(;B#~=CY@h7d3=3PzymJcvsKUTO(rz zoD`^px5693NQEB~mU|e`v8|ArUnY0v4CuHh8vGl22{kl9ov;t6;zy*M&xVB{UkrJDcCU*HTtW&5|$4My%aYHP3A` zhsG*RjGCdLpCLm9d$|L~p{WzxTFvAV$s#`k9gJxk-~PJhPxQ|n73iM>0eX+Sov4Mr z)8}MMIauU45j^}V^b^bLszzuSb5zJe_w>>oT0Z8+p;11JLwY`(*pTjtX7WgZ4#D;# zgQ~Md0a)KIm&AKWm$53w9nR{)B8u^I^d&Vv@T-c2G_>faISZ=QLXiAWyQ z>A8x4)X#a7zVrRa-GcvTKT_ta8L;qcYDa~kcF@H-V_gq9ziC+XC&ac^xi(b!b5WRT!IX1FCR$tVv@G@3T%^r!e zJQC)V=0Nbmp^I%a9ayr9{ZMX;Ff)}C{3ma1lvcUXRpFy=L)+WK%uF=2wPbw@#A>J1 z{x9bLmT20+vFeL$$jOSlUxHQ(Ccoi}ZQ6Aq1!wWIPN$8NG;5Fx$9>2QQ}0=>B?UAU zyU3_fiKqwN7NR5Y_J1H-53Wf@%%>0MA7hMjDpjESk z6s~fzzN_S=g@~Yg>PkGhvmx}$-_6_i=DfIQAjz!4&Sdl7qU*&?o45IW0AuF03S@8- z8vuee*7*g=~oFXXxX7ls;RMZR99%Ku6Fx`$pwI z$Lsw!M3$a!B%}z=Gm6;GOEk%kNo zELvC4_d4|I+#j!;skSGx)|0sMo{Sapb?M@9TuaYYOI%CehA{7%`FXWQR5+IhK&#bT zUTjDTvVo%fH-qo@7roLUwV<$#x37zC*G_l&$T8Wa5)7fwuqOxBe6K~OoI+f2|4*!U zf;-r&OzOWnTbQ0~B3FhDCb|&Zye~{B5(uvu3;Zq)WY?ms@+t2aO}E_sN5UsmtqEAj z_YUBk8H+NMe7W)4Vkm|4|1vX@c>TjrRT~TLyDLcn}xiahNXy9 zDjf3=93%Mg$=jEjx$3hfrKo->JQdMR14u-ndcD79iP$o~ zry@=2Dzwi2&-bnn0v>FI6MFmZ%W)&Pb@T0RM0N1+xj3HB!s;>0D4L@g#Fov!mux7n z=*gQAbS=O0EcM7;Musus+KuwpUgXcQUUolB#?jStaonhbTI%N~x`>rd6(Vim`)z^g zBT^Bxo6+wbpFGf!?c0ou7@~wBiu?0A1aoiBuB_F^g=gXdL`_rNQA@5^PD2GAB%()v zqB9x33pBN5ArCO!%VLQWG#t39q4toDKs#GFE(Bj} zDi_Kg{VhJxFbM0t_mbZBoaBd`L2}uf<4Yt#&Xq}22cV+zfkHs=J#4;Yzdlb^7$X^EsWcKYN z#{OI2MzDQy&R?2UQ9*g~{Q|n25xSVIeTLND=r_m|sP{@x;|D}-#A6d1*_EW962(+D$nG|j-1xA%tDCo!nOrdlSN$lnCJ z2<{I^|H5gj3{>(`EWev@pGNNUd8<|S;CiyLJWie@!I)>>Ujokp8c z?l}B_eV=E43r9d?<)Bpc`D_AY?4&PRKo-{vUxncK?6Kcr_z(`F87p;0z7|iQbcL+D z2Og{~NvWX5?k322@f>i0_}*N>uR9{XmFE?9;uYn0 zDwm}$K%t+YD#0a(JC7w}SD$@9k!&ibin$W(ctqy}`RWZ=;Ty4TapbKtXG=F2_}e&E z2`?76$_}HW%F*DjlF#_CL=YpNI!W)152Mog(UcPL1P8^T&ySvTSyQ_vYf~chtT#M} z+Y@!8xPCV+Rw2d9BvH-cE+w1EbQnegN^o@hw00W%TbVt0C&Vcm_I1_N;DIzJermiP zwHHq5hAa#^bu%eO3Ty9w#M$OElnvLp+DA+Hh)S&1nPePwzZcr@2?V3@jLK7gk&)GX zD=1Fn!V~m>WBV=fG@F78PmI1bXfy7 zk=f4Q&bu`KSDaX_!OubGRNILqZ58$&#$sDiNgl=)g+tgtEIcQ54$f1vsvH4=-rZ}4 zY7pRCabw_BF=crn%Ui;mRbpQ6#M51`u^L0K;SCIBn+_)lslG&zULVCGsqYS+E;~G5 z(`RM2P!|hqUL8Ir!NEfxz0fLecosgwTEwo2CK~XJ&pZDxK@ryi5 z(;>Jm8}VX-Z8zP0%{`)fA4OtARnWu!q)rr9PIvx8vfB3l1l~{G(B!ZAby(1U!hrjs zcIoJ)C0eypKHz;lr?E|W@ub))>9D_aw z8!m6OCJo4A21oEq#S?NB`lTw{br94T3SQC}1T!CR{H__phK>I$6o4tp4DCMUabs5a zpUBblgm(82^D?7hxliN`tG96-TT4@`$|mO|o3SRJgy;^#TC1g7l))9};V+m(PFAwD zOxgT|0KujgmR9GUvr-=Y6}CqE+uHfd_n%d?RL&RZ{Dw!cWtfL20|+XLut3$Yu|&mHamQ#mOe1%pO6HcexrE9u&>B4>#oxD z$0P4_C#kVxm0W~-?Fg0ABm8|N=K*TV%*$2c@xd5ZT%y}p^ogk)(BzSeaJ{GDXS*o_ zJ-F!fbrBn^2<({i3T^)71FSC_U@w%WLsZv5viG?4URSbUa(`q>e5=TbNH9I&wP;pW zu4hVa#z^6Hv+s4VCD>6{;PnB{rT6XzdL#shk=K>@*|IqTFD-q4%%$iQKlQ5I94MWB zn8E|?jy~A$lz2;~idUWHBXKiE`Ej35e9YHW;y2jB#MlJ4bocjVZZ^Q*#YZw`QQ^p~ zj`k7TuY*{vAFNvG5EqmR`b@WuWUc5Z`dr_Oj=}GlS#7DB^2^d{ z0d*uZr7I%$f2rOfS~F=R#hJ-3AqRv3!R)RpD*VEeJqP!dwih52i#DwB;E~r+&XNfD z&2^Tz*4P9YP9Jo!KW}`uy2Q_Djj)Xl(rLGcGb5wA*gDPtst&FjlenN-))0akPzf$U zn}LmJ?O3xEH|)s%t|*BQiW$30{FSVjFUWmwVS{Yir>ND>RWQl~7`zGGovvxj*W+yH zr54>>ao9p@qOc;u7cL*C88cHiAy>@FP3oc$a4)d>*njNhG6MRrD;3cuFf7TGz5F=M z(r`a25T%%DMJZ6B%Pjn|=iJwMTy@;5NPEbzBo}$H(3k|rmovPrS*C1Ov?F?ScDJfLlLwnH@qPUtE*#JQ0Hc?TXgb_nGn+m_JD99c&hW* z6`aCNs$qURD~bR|HX?IYl{YGe2lJ>3?Bd-;nK9h@eQo2bX<-&k#3}5SWG=@!@y-dh zY1aE5OD7$qbRbs~;&c{U!zsFJLJ2c3g&0YmNOh^QSkf@YjMeN4+RZPWW@1P$mMgTo z<1X?1qcqTNi{A9%+#POIRkCE>U6Io=xh1bjFwv=5Gaj*TTuI_j-R-V|$V{<8)Sshl zsw8A}KUSs9gP&RC7+bSGl_efFtB3{m^WOab|HFSudrmYnV?vi9=(O681;Qq)9%+g(QW4kJYjJrNhvy>+Zc_CP?UsM<^ zVt%8H((aChK3c9d38mTjFVoCric1lx2wph-zbj3vBJrGtN6=O_oqeik&_ZrOrzFGQ zo^7~vw?@83Hh5s{3hbR#t1;Q6YOo|~Nc!cw#6*rDvFm|FL_-t2JD`uydiQEzM!McY z>!m@aE&f`4hl^~Xr=+$Y6*Fi;47E3hsiF1++j=dZ#Ug4-{K3q*G-I3N)wv?WpcYy> zEVqV`392O>e!7_2)ncZ$lmm;Os7r$PMt@$5d7Pz3O{o%V;t4BJ-%BWP;H@*Z z$8tY%Ly$@3Dek6eepb#U@v}V(^Mo38vOyNsI*^e@AZTcGFqkJxirWO_;77a--TW?63gH)A8ItXelLd(b}_mCHFFL^6{ zjl$;G_D*MGjT%MX;eI_CIJVA8CTq{W8Ii9{1%4B?X1#xIG0Q9W;td&sW&Q8L*79&#dAi42g z@_}Iq2*qe8XzcbCfueUcK4*gc?p*G~{cDBCsKnjbTcGONz=MujL_--)xZ}Vl5a1@^EE8w)F-Kq{+vXkYCaqk83W(50Kt^2GcKO@SQ`A5^sgXMZTP z5pl+4ap1$o5|6oV$5^G|QKKm3%#O7;DRY{Jn@IH(=9_{^PhL8k^1)ESkbO@`GLZ`g z@p%z6`LuWiC%RI8-V~!QG!^pXJQUX`50ArUgSb*wfuCTs7zLyAr6t}DBd5Eq2@Zv} zO;3{L2V$lK8|@rv&&6D6t8Xfl#Cw$G?cep3myPm(aQ~<#)c+jt$amSL-t3Bpqj=LF`K-Qf7ufq7mhIv4dmc}Mo$m^k&A9S&XoW-dRe_)QXpO8fT45AM8w%dhXaqB&evHtpKRs4# z1F4EGCw$#;=r{62qC3&jmGv@)ULz7xTY`H6Zgu8E23ku-P9d=)Vj`nQD52>bp-Kp< zzFu|xRSlmJ6=WTZF8q3WO(l7DW#(pa=5k%E7V4egoB7r2@@7DaPl#Hasj#)W=4S<0 zwX%OZA`rvlqY{t4&@%&j&t$FS&Qvi?|AA#(Ir+XDAB14vHnFStngDsY(V{`-zCX4{ ztXMR&3lZPGq9`AsN6Nz=E4i0{r}dKyJNYxuJE#WBplR2bHS^3@VMee z+}xuz+(L87xO^GzQG)3NGuK=Y>3mSS(AtC>DwkKb^t2Z{^x-Ode_O)24^fT!VKprz zTV>^MK>6y=E~~izSB8n5{1U$taR~MtV|-YvT!J7`o)#?9hijY(nUO%U_nUCc_JJ?+LSRTgNzdR60|K=rqkX`Xw7vfd+2*3 zT}uL|S;2^o7U&X;|5S8K>|%%%r4|ASlAxsvUm*vRV(0%e8bj<4_ za(BjpWZOM#8*`~r@ao-FB!v27%T&Io+y0R_Qk8THmE$QBWCH@NhB{(ULI@7MzIc^)civ_OMMU!__oxXxxGZ~ww=}G zm~+iUdwFwJPHuuH`+Vrd+^Ry={OE)~3p$D<6chNbgYJ&W)RghLb;Qoub)01^?LBSS zj!q(LKN_ax^Y!ebd~O)2hQgTh_*wGu)qFP7jxD;TvM#%U;fc8r*9p4bFw|u(_wlxG z?j3PPHOl~bnagi1Ai{IEAgn18nxrX-B-tKv?IpZ9!O3+F#B!lnc@5X8<8R|n+dCox zdk`J{y};xi?;mA6ty2#IJ!aLU#w3i~!Sw(l?$;aj<&hG{dm?f<3Rbx9v8;ML%!!|! z*!@HtC=C*uT!LN>vGaJ!aNJ$-V$amhNLl-O?WU6A$S&U%PtGidzjyiJn$CQU{6cra zE9`LRg6l*Qf^)nqW4M`^`#@!0Ml^bHgK7{QI^;TVrP%E1d*blu9S#NR?6S(^RyXRt zxB?{M=jF{UM{@y3e-14Fz6hx=LD@e^hw=3f>Ir2$9K9I>ob#D3bF$)RD`xsYP&6OA zm>LU`QZzHhmk|m_r3pdJZVZfgHF8hyUEF}vK<=I00i}01ex$N3T09~p3N|2eL*foLCpaM zZ$sbCC&qJK-lYXXeO1%+_&uz9g`mUYLh&9^AQ;aQXq#)?bf0*yB4;bQ;{NS^=#(-2 zM=JRSPFzJEc|Xlm-j=PWG$XkAcF+4{{1HAjk}7aHjyIBgSW0ZNNt&@ZD9DFe56)Y- zh)ZChk!0)GV$^`BfjqpwRX7s_eTu(Bzf#cpXFU<`2m}G+o6bGPRR3a_Mt<nqCJ(9(Dhkt109ArARbs6Y%Ja@Fo4wB&>n(ucxD|_}IsQyTZzcFnwb72s3Fh9h zOW-TOyrIMm`f|80k#4i~xuUq#2m!#Ae!}IWNAB};4g(K>UJ*F<|otY&U~Vu{l!G-<)2}WzE8R4Kx1wZ zdO(kR@9kQTXEWb#Bfjrzim4}OwG7}_W?r{dS7a6olOd|1!kwIe`L*%xeTQ3%sMcyn z7JoTGO||sd)=+V`AOzjmJij5Xr~U{=H^uEm+WIHpX;-%z7)Gy0O>Kj+xMW-;=+jm- zrpLh^+4;BR8u4g|np>W6uxcyn+WyVSuF2&Pa)*bc~0g z;vObFg1`P<$xY4A6g>E6?b8gW6+0FGHB6 zy_zSK&^j|2R8&VZT1B?Et>DdZaCdX~LTjxu{cA`Fy(7p&FjuEsBQ5c`e?7rYo-Xo} z2p;QU6UJ}NE8|vEz0cJ_EzGa)Nr6usi(net_>cxQgfBo6k`t9c>gO`^GXwc z9Q-TT)1#@obPd<>P0WvOLJ&$o-HlI|R3{CGui*|7`zA_g(OG_F7I#E1#H!s{zw1V( z@;I?ICm7rHzh%7KWT3h#>-TB4;csuwcfBy{JsTaTuFYKfi=E6u%&C@L?dq(}>Q`es35>2?eAqx*k&}S3E)%Zr&KgSGV>?2>cKUaoJn~m?snF~=SICo=P z%ip^-E!U51mi7rzR*i$BxlHYd798!5O=OiCBSw()+OX0QY98C)4MdE7j$N(QW$s|1 z^vpn#l!ML_2@yPCG#Gc}=4B?B%3;U(ED4@)`_F`USDO{JhGKgcDJJm)5}Gpa@F`B5 z@b9zB8=6+)&DhtW>JAF4R@;F2d#4WO-gwqfbv4$n6rac>SCz;}Fzr_507_lMXL`QR zMyf^WY*YD==!sxt;*pIS_iyw;=dJvlXwYslnc z-#KddAmt)PsaT!_2k!GN()90=9(|{i%1n6*X@d|Pg40%g`M`pP3&raLnGEv_`#>3s z5R4&W(cXmzKUR*q$2o8@7Di@bKOsv4fX(b{`;~0!7JM1J>Z@*;b{F47-ViG()F3$Q zZ^vSV8VVwK4!Do70T<5W+F6yY!+uSNdG}E3vy8S0dUCp0ECjdi@4B5C4+CO9n!`q> z3{x8_yl8-ELOE7-JsUks?aOjUtL>C+2YrFG>4X|=v>FkKuvMTSPHuT>@o1=so99p9 zK?s^AdPBe&KM~^yE}FP$BcbX`Ji%czF=iB`g31Z1T@7&}NBi8@J*e9eYEy--4FvHC zR=d%%9yecM%Xl5Uc<>cVGgjD6g6)nz6SmPjl~>{s`&e|4Za)`?@FejHz55wrOVy;W zpqW=S+@AcJ@rpefEVPkx6)fpTl}7R@MGY35n~9(M-<$783!wpX9xd*&ovM!0`j>jf z+_HqvgOc>_p5XG^M@FpV6`|a{-n|^0kCxPEhI(b3|v)MTif zb&f0I*p(p6Eyjv1LK0z(l)>WpAqY=@bo!D}-V<1lGag0Uf`{ZKh` zn5}Nf0#Xu84H_7R#6j;y7%sbb}*)T+uGq<_w4y-80$WU$~ej<3! zVaRa}d)-;?TwEX>o@Zn(hlxrA-xSI+Y0 ztGg?l?hon7F6?-M%wv7FI~$*Us*tSaId-g8vO17CFIJ13t0s%_zqu*G&DjklyLo1V zcN)i~5-Z#Vj++R}Oz@+KId`;rxK0{ZoZ z6YvZaqqYQDm(pNPg0MYe|1cWOUd(jgN!Yek#A6nanDpR1i_TOxW+l6X_|Xor=+%Um zoEAlmK#Ms7Yl11gK3voo01pK@V`QefIg3h%&bqfuJoeH9vv|GyXd6yD?;vdc z=Fd(r`i+1Cnj4Si1oY1|GG+x#@OVDPQVn+AiLkDISO9U*IGpr&A$a0qgot=BsW*obmJ?a+B**6()^lcL(=%DK1K~LxKy-@yYbm6r_92Zc| zyl*Y<-dy?$c7p3F(KEpx-K+T!(t)h6f3jL8LK5W(E^0I>pNayQ`F>~nV^<~P)MT_-0-^ED@`S?b(-Sm^j7<$H6zqvuggX!MRotQjujapf80rim7liJ z$Uv?wx+Hifa!rKB5_|AUxlsv*vahH_FrzS8S2KWuoS95W6J7+fT>WZml^3KNscl0Q zlNKOq5xj(qU=8-Q*^y0PsP^pcjA@5*dcqJ+1N3dWkvVJlmys-!5~raECf<4N!{_6g zp*FG$iyBXslb%SX8Uzy>?CV-)okTBlGK6o^5amBpa=!d3_l`-h$Jb_fbArK+yYT5b z!OEtJ-X$*1Z}?-smKAbck2g#jx2Tk zcWu<%ckYPMQW-=%mj0KKp`qs8?jvi_7$}qV?qgY3=+G;jB7sU14?yXRxmvY+efCsDa=>x^)&;ll9XQ?oWE|X1-H7M1L0AQQ$-YHn~H?;NpJ}(w(wasEimU56#3IvTEpa0;NAY%=_In*ASoVq2*T#q!? zpk%_@?N*y8y1glyJ^1mIsb1>Yr1ggrUQ{19fbB)61TTNyKAI3}uT0?v&={zD>;R9M zz-{;EY;B*a?#BOXORBmJD_Sh1`3~xjT)z~~O{$tl7U`Gp>=PF`Hu2*Vj9L37WgbG` zCF*XlD;aOMo;IP+@4r4iGv3)dVYtAA>xExfYW&~?Y zGuun^@MoTVaYrjt(12h;{o+mBJ&7L+?ItIx^>`eMzS=_V38qW?geq!s#t83)tbwjy zDTqNZY>T}A*Z58?BS%Gy7%@?CbGC?X2)4{JQf~AiNL7Gc;jSx)skIeo67=wod_r3d zf0o+?USsb#;Zg3w%!8J8pTa3q606o@3%4Yg89sx|5Q;2(DwKAOv1R+0pt1PhA5(>% zUI0C8n|N!GhHf5q&7&0D0>l&ue*AD*hmZYsC|q)Fv@7p9hiq#)nnUcM5-XYrqX7~a zuu!7I4}k>1;74m7^G-ZhV#nJ}%#9tL284cYLGAm390W~jCrr|aUnS-`0j$d%r{-a; z%ECw!G(BE>If<|zQ+O174t~rd(GkJ3){|#z&8~e^G#OBO+MTFFa6miPTrDmyoFoFV zYY2_pLHBs?yD!3hnDSSGsbPqaNoG7w9jU1BYM9HceeGWH7$Nr39?Z4C$cp8U6Q+{B z!ga2w&sTxyDy+lwSTPKJzt3^g{6SQDdCUP?$qmcRMd&-L()* zCpay(sS%%7lUSi8qS5TB!*Vw+Cf(!J=G@Q@i&uA4&^U$p-kv_|q!v9&Vgwy&^Ri}N zUPG-hy*DSAGI_dCc*)pyuh`HokM|A+;X6ay6ZGXUffPa4zfU=8b>6oZh}{OkQ<4>e z*Iqe6nbIn(*$petL0S2wVs@t+xWtZSk;N<+SNYG~12&%DO_d32ynT%}I^n zuLQ%5BfA@jrqgr?j@$qBxK_FOJe2PjC=hJsQM)Zo7eTWbBF@;1x;NQ6kq5Y3E%7wo zuHFfThV){WqHjjcz$P%-3K!Rt#Of#5@XLC9rA4DBdM^-9R4vCS(|um`)-2IVEd2;1 zB~M^M&~DnY#T<(rGX)kkFj~y2AiQ);kqbmt@OtSY5rU(*Va|ZD88oh+e=nG{~7(B3)e;FaZ zhd3`f2P$}?XpNx;giz0$Xz0%)nA%doc z%(DaBar#OeF^%B$26`L#bI|BNgfBe*p6d3@v_0h~ked(kBNj9>#I!al_$FQOJr<{$7RvOep54AyBFx-z>c$I^&At<$+ z4jo2MNK(L@A8D|^_d>q=81m0B5zJP1#M81A+K(Qi)=Rr-WMa`@=A96%H)#g*X@O`+ z=yvdD^?k&(Z-Bsx^aGY}|3QSCa9$uY&o8qLWZNpdoZ!+klg7|71dpncpKh>4*N#O5 zNi~_Oxl~@6%T5mnfboBPk zQ?<$rj)^jIWTvi68%Dy*_q#*D`=GPgc)f(qA%2cSPX`7_cAP<121wi^O^SqanpmwO zN2Bj#$%s|JA6~2aWQm_)w`hRqw4=)#>b)j=o-VSe-}S>8RrjulN=M-5yxroa)hrxu z%>URhoboklvfL389%L9%*5|wt;u`4&KONG$K1x^=Wm%3&s?2w0V=iOfnsHFrveYJ2ToKJ!cVv_h-+U7F)ZgJ794|bO#}u* z?QuFk`R7?B9-DRz1fD%jjCK(rjW5$9+F|^TjN#IS*fm z#^Vyo@R^e!@hpdnK}hv2n7D%9Xf5pujww~^FF9c@kE+JGLeO>IyhfZnC^u)p-E)mC zmI^aK@Y;CX9B2Xsv9KNQ!>*jd*3i>Qjp-<;B7}5FFIgKbG%# zQ__%5mXd_yji0@8WqE@bm!ST*H_a6vfJJZNGf)OcuKEmd<=_Zv=>}(){vWl}Y(tW` zXGjQb_MEqaC&$RKWqtMPnQJPq5t}rE_5JV8)uN~qC@Oap2oWrL!#Zot3OiAKc5$}A zB^(u;dVG0AglNc6CQ@Ik&z5*BBnvz_Skk8^fA%xJIp!@V;?hU@T+xF*l*Pl6f3MJ9 zUZJ%G%b1HHvODDdezH41`vW+?67s5a(0ZO&9Z#W62S=Sctu==!$s&pGUwA~P6UN`* z5rK?8Wkd*HQl@SvFOm4+Pa$S<;(co$t}zv!PwSqGM|@|AbT#NY9k#*zs0LAU_NGs+ zF?%;h%w!vc;+0_#%}R^=VT;67L?>WyHuUXK7Icml>SA2QHKzp^vOqFYOq&PzZ8D_F zGxn1SI;JfYZO3DJE)@=>YPH?EKqvqTr9GSYtva7NhO@^P90iF#!R$sC-Pp;$;_$O2 z%63zQ)!lLte3~zaHwL}en&P_ccdYH1W2ambc_#{K#sv4AzlUsN3Q~LbLob*^Ev~xO zE|!KXbC`fyVP@|?b7YjU-gX1sj)_1d!A>PX_x_+TCW`kRQ_HX(iEjZ{?z}*&lXlce zgcV1H;JJ{^Yx(|f*Fy2=-#QTDsb#%1&Ch;p+Crf`DKVkL`V+hU7?-&&7G{E;OWIy# zzNwZ9AW2pbo7yGUOwJT^AXwMhT1(oMI%gM&k*hT5B$RsaP$e;RPk!YH{*UwP3tN@Y)ca>tBn*s|jR-lyy)cQBZ9%roZQTm(_nR zr|(I^B*Eh845_bQm8*lp-GP*=P=Ev%&T{If5$CGREm@@JZh{V&Zxfivw+tm+z<6cg zf@Gm@T`=$`&s5xOp~tg-X_4Kjk^$H6+DB%a2LYrt8DoEW29=Ks&%g^V z%!!X-eKk^wH8!s7hT)2F!UL=~RZquTS1*uH85N9Jjd6k(p=#dlTDL$zq)5+}I}ol%g&bEq1J!@t7q1FL37>b}O=F$Tk-eElNbnHt zE6J8QzZ8Sd01KtSr*acrAhs{U@`v$$B;{dM6|v2vkr$abzYB6%G%bZB`nI5EDx>tU)Bu&fd>sp% zY7o3VbALUh2BYsUv9Nc7J`}d8>T=hGmzCl>d~Ej%QFf;)+OrStwW^DI1T~osi zLh-PWS5g~X_mK?O;8RWd@EYmjTHYq?E5Xy9 zx8PeZv?qlpsMIQ#p1&|aWh^(2;HVSy3*I)IC)JcOsvLc@&eEC)ULfX9(0Abg_I@#( z&yr$1@`O+7@yAF~f%>hq56C>G@C0l=ABlwx!Y4`BypoI*T{OZ6v7>o5OnxmjW&S&K z&1GYODZ%`|FRaoMxgyZlMD9|ZBS~<<(Y6gVzH24m) zj{TrIy8Odi=z(W!M&akxrz+==!Rw{0gX5rfHIMaRjcPpD( zh4xV$2gSsW8Kvw89t+wMJXQBQE_cy#R{Ds&B<#gal+74!68$Ir94-m^b;mL}^)We` z?*|=ngrVOG59C(V9^^^Were}jAqEbhcJJKoNj!ae#0|;badgzch*1%q6C*~Ba21My zVAZzW8&OIn8s8K{O>)I`k^!f~%2c`o+worP8aMs~(JJ^<=2&z-Ah3vjt*c{d&`##| zX?J5`pLD!o!=D;l;<9pepOBR#EYS~rKYDPpUou$2bM4P^4dlIBxQG$-8qmm#iv!Ay zm~~!mIYW;!bF^!i)RKk0&owaoXD)BTjt<68DUXgD$Q2X$PXued?{Ho-3Xcq&m;v8& zpIKea&sHpaRGxucX&rAyaL2rWgIeWb0qAz(L|#sClzgteR=IZxkpHximlGWFcgOWw zp74nF!_F{lxbR_1!R<5Ol5#X80G4hiO=Tl^J*4Fb zwt5%1po~TKOd->R=f}@@tA&d%79OtH`n&_@?V00(x7YA|S+sw>^S=-~b5*zl z&5#Q{;Kjl`PMKa!gqK*ouCC6@Ig^nCPmwW`CS`#RMEM>*IX_?HzrcBj6N^O`f^fRl zlwrS@88bOvGFFzXC!$Ke*Z!SAtD+V=7AN$~zujR@E;dEbk3J@#>{HuMDSO#0dW!II z2Kgf-wIRIL@3m}LKmQX3aw-@@3?O*-ZfXra{WVj?^rt1NbTZ91MDpcWzL{8#LubP& z`8T5aFRIkJA=%24-FRmN0|qaCz?Y9lR9VQPaTI*D`@_YoE5br=+Hn5~r(gJc_#<}j z#msiNz}qwZ5v1+aqJmSi5wT-qa8r(~$Dl$U`XpGK8LrZfe^6(qO9X4%A#UL^_;@=l z@?tdZ*KR||z505F*ADQdIvyaqI$D%{%g3g4^`tghgp*fcd%a=>9MkqI%0w?>g;2GZ z;fl|^6l%>ntQHQ>0XTLo%yd7{O%;gjY8a47!MVnUW07-2RA)WcNIet|+d=#c+qkXa zTWDn%*VTAjrDV0(A@9Vls#@Ij=G1v(R&%vbV8g+;$`7u@X?aX&j9jl3Lhfpy!lso! zmTPuS&a8L^f-=Wfmc<+HuavqgRx}X;?bYT3Q!>Ykdc({pU4^d{HmWkZ3TQp&j@Cw0 zsSvkH>_yhWz&%_$@1fQrQ)W`KM#xQbScQWbCIkMc;5;~X)PNX#Q(>&a*jq4JL>+=b z_Fr-TD-qOdvI6g6STOOf%2_WRosyPSmTIQO!^1nP;FeTd6Qn~?mJ~uoHCY8F89KC# z95iB}(z*7dpU%d{y)}*n&(w&=6da{0PW&6f1r$b7rVzedJgqbfMDX~h?j!DxDP`Wv zVEpefLGX#F&}@FCg@0BsSuQG!MTO6;!YWW8p})d>x - + - - + + + - - + + + - - + + + - + - + + + +

    9edUiD1JA=Mn=t>J#8ET2 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≈S6mz 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 H%>DlWRKE*> From 5da64d20168988a5f7c4ea9d07977049f06bcc02 Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Thu, 1 May 2025 09:59:22 +0200 Subject: [PATCH 14/84] Reduce number of file_get_contents() and hash() calls --- ChangeLog-12.2.md | 1 + src/CodeCoverage.php | 25 +- src/Data/RawCodeCoverageData.php | 2 +- src/Node/Builder.php | 10 +- src/Node/File.php | 4 +- src/StaticAnalysis/CacheWarmer.php | 32 +- src/StaticAnalysis/CachingFileAnalyser.php | 230 --------------- src/StaticAnalysis/CachingSourceAnalyser.php | 152 ++++++++++ src/StaticAnalysis/FileAnalyser.php | 53 ++-- src/StaticAnalysis/ParsingFileAnalyser.php | 274 ------------------ src/StaticAnalysis/ParsingSourceAnalyser.php | 164 +++++++++++ src/StaticAnalysis/SourceAnalyser.php | 22 ++ src/StaticAnalysis/Value/AnalysisResult.php | 121 ++++++++ .../AttributeParentConnectingVisitor.php | 0 .../{ => Visitor}/CodeUnitFindingVisitor.php | 0 .../ExecutableLinesFindingVisitor.php | 2 +- .../IgnoredLinesFindingVisitor.php | 0 src/Target/MapBuilder.php | 12 +- ...estCase.php => SourceAnalyserTestCase.php} | 120 +++++--- ...Test.php => CachingSourceAnalyserTest.php} | 14 +- ...Test.php => ParsingSourceAnalyserTest.php} | 8 +- .../CodeUnitFindingVisitorTest.php | 12 +- .../ExecutableLinesFindingVisitorTest.php | 2 +- tests/tests/Target/MapBuilderTest.php | 12 +- tests/tests/Target/MapperTest.php | 12 +- .../Target/TargetCollectionValidatorTest.php | 12 +- 26 files changed, 656 insertions(+), 640 deletions(-) delete mode 100644 src/StaticAnalysis/CachingFileAnalyser.php create mode 100644 src/StaticAnalysis/CachingSourceAnalyser.php delete mode 100644 src/StaticAnalysis/ParsingFileAnalyser.php create mode 100644 src/StaticAnalysis/ParsingSourceAnalyser.php create mode 100644 src/StaticAnalysis/SourceAnalyser.php create mode 100644 src/StaticAnalysis/Value/AnalysisResult.php rename src/StaticAnalysis/{ => Visitor}/AttributeParentConnectingVisitor.php (100%) rename src/StaticAnalysis/{ => Visitor}/CodeUnitFindingVisitor.php (100%) rename src/StaticAnalysis/{ => Visitor}/ExecutableLinesFindingVisitor.php (99%) rename src/StaticAnalysis/{ => Visitor}/IgnoredLinesFindingVisitor.php (100%) rename tests/src/{FileAnalyserTestCase.php => SourceAnalyserTestCase.php} (58%) rename tests/tests/StaticAnalysis/{CachingFileAnalyserTest.php => CachingSourceAnalyserTest.php} (70%) rename tests/tests/StaticAnalysis/{ParsingFileAnalyserTest.php => ParsingSourceAnalyserTest.php} (72%) rename tests/tests/StaticAnalysis/{ => Visitor}/CodeUnitFindingVisitorTest.php (97%) rename tests/tests/StaticAnalysis/{ => Visitor}/ExecutableLinesFindingVisitorTest.php (98%) diff --git a/ChangeLog-12.2.md b/ChangeLog-12.2.md index 96af07a21..544eaca46 100644 --- a/ChangeLog-12.2.md +++ b/ChangeLog-12.2.md @@ -8,6 +8,7 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt * [#1074](https://github.com/sebastianbergmann/php-code-coverage/issues/1074): Use more efficient `AttributeParentConnectingVisitor` * [#1076](https://github.com/sebastianbergmann/php-code-coverage/issues/1076): Replace unmaintained JavaScript library for charts with billboard.js +* Reduced number of I/O and hashing operations when using the static analysis cache * Use SHA-256 instead of MD5 to generate cache keys for static analysis cache (as SHA-256 is significantly faster than MD5 with PHP >= 8.4 on modern CPUs) [12.2.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/12.1.2...main diff --git a/src/CodeCoverage.php b/src/CodeCoverage.php index 2648c0403..bedc11927 100644 --- a/src/CodeCoverage.php +++ b/src/CodeCoverage.php @@ -25,9 +25,9 @@ use SebastianBergmann\CodeCoverage\Driver\Driver; use SebastianBergmann\CodeCoverage\Node\Builder; use SebastianBergmann\CodeCoverage\Node\Directory; -use SebastianBergmann\CodeCoverage\StaticAnalysis\CachingFileAnalyser; +use SebastianBergmann\CodeCoverage\StaticAnalysis\CachingSourceAnalyser; use SebastianBergmann\CodeCoverage\StaticAnalysis\FileAnalyser; -use SebastianBergmann\CodeCoverage\StaticAnalysis\ParsingFileAnalyser; +use SebastianBergmann\CodeCoverage\StaticAnalysis\ParsingSourceAnalyser; use SebastianBergmann\CodeCoverage\Test\Target\MapBuilder; use SebastianBergmann\CodeCoverage\Test\Target\Mapper; use SebastianBergmann\CodeCoverage\Test\Target\TargetCollection; @@ -436,7 +436,7 @@ private function applyExecutableLinesFilter(RawCodeCoverageData $data): void continue; } - $linesToBranchMap = $this->analyser()->executableLinesIn($filename); + $linesToBranchMap = $this->analyser()->analyse($filename)->executableLines(); $data->keepLineCoverageDataOnlyForLines( $filename, @@ -459,7 +459,7 @@ private function applyIgnoredLinesFilter(RawCodeCoverageData $data): void $data->removeCoverageDataForLines( $filename, - $this->analyser()->ignoredLinesFor($filename), + $this->analyser()->analyse($filename)->ignoredLines(), ); } } @@ -627,20 +627,21 @@ private function analyser(): FileAnalyser return $this->analyser; } - $this->analyser = new ParsingFileAnalyser( - $this->useAnnotationsForIgnoringCode, - $this->ignoreDeprecatedCode, - ); + $sourceAnalyser = new ParsingSourceAnalyser; if ($this->cachesStaticAnalysis()) { - $this->analyser = new CachingFileAnalyser( + $sourceAnalyser = new CachingSourceAnalyser( $this->cacheDirectory, - $this->analyser, - $this->useAnnotationsForIgnoringCode, - $this->ignoreDeprecatedCode, + $sourceAnalyser, ); } + $this->analyser = new FileAnalyser( + $sourceAnalyser, + $this->useAnnotationsForIgnoringCode, + $this->ignoreDeprecatedCode, + ); + return $this->analyser; } } diff --git a/src/Data/RawCodeCoverageData.php b/src/Data/RawCodeCoverageData.php index c9121a03f..f6e847ae3 100644 --- a/src/Data/RawCodeCoverageData.php +++ b/src/Data/RawCodeCoverageData.php @@ -90,7 +90,7 @@ public static function fromUncoveredFile(string $filename, FileAnalyser $analyse { $lineCoverage = array_map( static fn (): int => Driver::LINE_NOT_EXECUTED, - $analyser->executableLinesIn($filename), + $analyser->analyse($filename)->executableLines(), ); return new self([$filename => $lineCoverage], []); diff --git a/src/Node/Builder.php b/src/Node/Builder.php index e6b83f999..19fc3a24d 100644 --- a/src/Node/Builder.php +++ b/src/Node/Builder.php @@ -70,6 +70,8 @@ private function addItems(Directory $root, array $items, array $tests): void $filename = $root->pathAsString() . DIRECTORY_SEPARATOR . $key; if (is_file($filename)) { + $analysisResult = $this->analyser->analyse($filename); + $root->addFile( new File( $key, @@ -77,10 +79,10 @@ private function addItems(Directory $root, array $items, array $tests): void $value['lineCoverage'], $value['functionCoverage'], $tests, - $this->analyser->classesIn($filename), - $this->analyser->traitsIn($filename), - $this->analyser->functionsIn($filename), - $this->analyser->linesOfCodeFor($filename), + $analysisResult->classes(), + $analysisResult->traits(), + $analysisResult->functions(), + $analysisResult->linesOfCode(), ), ); } diff --git a/src/Node/File.php b/src/Node/File.php index e3ff9b53a..54ee70b4a 100644 --- a/src/Node/File.php +++ b/src/Node/File.php @@ -13,8 +13,8 @@ use function count; use function range; use SebastianBergmann\CodeCoverage\CodeCoverage; +use SebastianBergmann\CodeCoverage\StaticAnalysis\AnalysisResult; use SebastianBergmann\CodeCoverage\StaticAnalysis\Class_; -use SebastianBergmann\CodeCoverage\StaticAnalysis\FileAnalyser; use SebastianBergmann\CodeCoverage\StaticAnalysis\Function_; use SebastianBergmann\CodeCoverage\StaticAnalysis\LinesOfCode; use SebastianBergmann\CodeCoverage\StaticAnalysis\Method; @@ -24,7 +24,7 @@ * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage * * @phpstan-import-type TestType from CodeCoverage - * @phpstan-import-type LinesType from FileAnalyser + * @phpstan-import-type LinesType from AnalysisResult * * @phpstan-type ProcessedFunctionType array{ * functionName: string, diff --git a/src/StaticAnalysis/CacheWarmer.php b/src/StaticAnalysis/CacheWarmer.php index e7f797e06..dcd0c61ec 100644 --- a/src/StaticAnalysis/CacheWarmer.php +++ b/src/StaticAnalysis/CacheWarmer.php @@ -9,38 +9,36 @@ */ namespace SebastianBergmann\CodeCoverage\StaticAnalysis; +use function file_get_contents; use SebastianBergmann\CodeCoverage\Filter; -final class CacheWarmer +/** + * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage + */ +final readonly class CacheWarmer { /** * @return array{cacheHits: non-negative-int, cacheMisses: non-negative-int} */ public function warmCache(string $cacheDirectory, bool $useAnnotationsForIgnoringCode, bool $ignoreDeprecatedCode, Filter $filter): array { - $analyser = new CachingFileAnalyser( + $analyser = new CachingSourceAnalyser( $cacheDirectory, - new ParsingFileAnalyser( - $useAnnotationsForIgnoringCode, - $ignoreDeprecatedCode, - ), - $useAnnotationsForIgnoringCode, - $ignoreDeprecatedCode, + new ParsingSourceAnalyser, ); - $cacheHits = 0; - $cacheMisses = 0; - foreach ($filter->files() as $file) { - $statistics = $analyser->process($file); - - $cacheHits += $statistics['cacheHits']; - $cacheMisses += $statistics['cacheMisses']; + $analyser->analyse( + $file, + file_get_contents($file), + $useAnnotationsForIgnoringCode, + $ignoreDeprecatedCode, + ); } return [ - 'cacheHits' => $cacheHits, - 'cacheMisses' => $cacheMisses, + 'cacheHits' => $analyser->cacheHits(), + 'cacheMisses' => $analyser->cacheMisses(), ]; } } diff --git a/src/StaticAnalysis/CachingFileAnalyser.php b/src/StaticAnalysis/CachingFileAnalyser.php deleted file mode 100644 index e2358c99e..000000000 --- a/src/StaticAnalysis/CachingFileAnalyser.php +++ /dev/null @@ -1,230 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage\StaticAnalysis; - -use const DIRECTORY_SEPARATOR; -use function file_get_contents; -use function file_put_contents; -use function hash; -use function implode; -use function is_file; -use function serialize; -use function unserialize; -use SebastianBergmann\CodeCoverage\Util\Filesystem; -use SebastianBergmann\CodeCoverage\Version; - -/** - * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage - * - * @phpstan-type CachedDataForFile array{ - * interfacesIn: array, - * classesIn: array, - * traitsIn: array, - * functionsIn: array, - * linesOfCodeFor: LinesOfCode, - * ignoredLinesFor: LinesType, - * executableLinesIn: LinesType - * } - * - * @phpstan-import-type LinesType from FileAnalyser - */ -final class CachingFileAnalyser implements FileAnalyser -{ - private readonly string $directory; - private readonly FileAnalyser $analyser; - private readonly bool $useAnnotationsForIgnoringCode; - private readonly bool $ignoreDeprecatedCode; - - /** - * @var array - */ - private array $cache = []; - - public function __construct(string $directory, FileAnalyser $analyser, bool $useAnnotationsForIgnoringCode, bool $ignoreDeprecatedCode) - { - Filesystem::createDirectory($directory); - - $this->analyser = $analyser; - $this->directory = $directory; - $this->useAnnotationsForIgnoringCode = $useAnnotationsForIgnoringCode; - $this->ignoreDeprecatedCode = $ignoreDeprecatedCode; - } - - /** - * @return array - */ - public function interfacesIn(string $filename): array - { - if (!isset($this->cache[$filename])) { - $this->process($filename); - } - - return $this->cache[$filename]['interfacesIn']; - } - - /** - * @return array - */ - public function classesIn(string $filename): array - { - if (!isset($this->cache[$filename])) { - $this->process($filename); - } - - return $this->cache[$filename]['classesIn']; - } - - /** - * @return array - */ - public function traitsIn(string $filename): array - { - if (!isset($this->cache[$filename])) { - $this->process($filename); - } - - return $this->cache[$filename]['traitsIn']; - } - - /** - * @return array - */ - public function functionsIn(string $filename): array - { - if (!isset($this->cache[$filename])) { - $this->process($filename); - } - - return $this->cache[$filename]['functionsIn']; - } - - public function linesOfCodeFor(string $filename): LinesOfCode - { - if (!isset($this->cache[$filename])) { - $this->process($filename); - } - - return $this->cache[$filename]['linesOfCodeFor']; - } - - /** - * @return LinesType - */ - public function executableLinesIn(string $filename): array - { - if (!isset($this->cache[$filename])) { - $this->process($filename); - } - - return $this->cache[$filename]['executableLinesIn']; - } - - /** - * @return LinesType - */ - public function ignoredLinesFor(string $filename): array - { - if (!isset($this->cache[$filename])) { - $this->process($filename); - } - - return $this->cache[$filename]['ignoredLinesFor']; - } - - /** - * @return array{cacheHits: non-negative-int, cacheMisses: non-negative-int} - */ - public function process(string $filename): array - { - $cache = $this->read($filename); - - if ($cache !== false) { - $this->cache[$filename] = $cache; - - return [ - 'cacheHits' => 1, - 'cacheMisses' => 0, - ]; - } - - $this->cache[$filename] = [ - 'interfacesIn' => $this->analyser->interfacesIn($filename), - 'classesIn' => $this->analyser->classesIn($filename), - 'traitsIn' => $this->analyser->traitsIn($filename), - 'functionsIn' => $this->analyser->functionsIn($filename), - 'linesOfCodeFor' => $this->analyser->linesOfCodeFor($filename), - 'ignoredLinesFor' => $this->analyser->ignoredLinesFor($filename), - 'executableLinesIn' => $this->analyser->executableLinesIn($filename), - ]; - - $this->write($filename, $this->cache[$filename]); - - return [ - 'cacheHits' => 0, - 'cacheMisses' => 1, - ]; - } - - /** - * @return CachedDataForFile|false - */ - private function read(string $filename): array|false - { - $cacheFile = $this->cacheFile($filename); - - if (!is_file($cacheFile)) { - return false; - } - - return unserialize( - file_get_contents($cacheFile), - [ - 'allowed_classes' => [ - Class_::class, - Function_::class, - Interface_::class, - LinesOfCode::class, - Method::class, - Trait_::class, - ], - ], - ); - } - - /** - * @param CachedDataForFile $data - */ - private function write(string $filename, array $data): void - { - file_put_contents( - $this->cacheFile($filename), - serialize($data), - ); - } - - private function cacheFile(string $filename): string - { - $cacheKey = hash( - 'sha256', - implode( - "\0", - [ - $filename, - file_get_contents($filename), - Version::id(), - $this->useAnnotationsForIgnoringCode, - $this->ignoreDeprecatedCode, - ], - ), - ); - - return $this->directory . DIRECTORY_SEPARATOR . $cacheKey; - } -} diff --git a/src/StaticAnalysis/CachingSourceAnalyser.php b/src/StaticAnalysis/CachingSourceAnalyser.php new file mode 100644 index 000000000..8288a1466 --- /dev/null +++ b/src/StaticAnalysis/CachingSourceAnalyser.php @@ -0,0 +1,152 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\CodeCoverage\StaticAnalysis; + +use const DIRECTORY_SEPARATOR; +use function file_get_contents; +use function file_put_contents; +use function hash; +use function implode; +use function is_file; +use function serialize; +use function unserialize; +use SebastianBergmann\CodeCoverage\Util\Filesystem; +use SebastianBergmann\CodeCoverage\Version; + +/** + * @internal This interface is not covered by the backward compatibility promise for phpunit/php-code-coverage + */ +final class CachingSourceAnalyser implements SourceAnalyser +{ + /** + * @var non-empty-string + */ + private readonly string $directory; + private readonly SourceAnalyser $sourceAnalyser; + + /** + * @var non-negative-int + */ + private int $cacheHits = 0; + + /** + * @var non-negative-int + */ + private int $cacheMisses = 0; + + public function __construct(string $directory, SourceAnalyser $sourceAnalyser) + { + Filesystem::createDirectory($directory); + + $this->directory = $directory; + $this->sourceAnalyser = $sourceAnalyser; + } + + /** + * @param non-empty-string $sourceCodeFile + * @param non-empty-string $sourceCode + */ + public function analyse(string $sourceCodeFile, string $sourceCode, bool $useAnnotationsForIgnoringCode, bool $ignoreDeprecatedCode): AnalysisResult + { + $cacheFile = $this->cacheFile( + $sourceCode, + $useAnnotationsForIgnoringCode, + $ignoreDeprecatedCode, + ); + + $cachedAnalysisResult = $this->read($cacheFile); + + if ($cachedAnalysisResult !== false) { + $this->cacheHits++; + + return $cachedAnalysisResult; + } + + $this->cacheMisses++; + + $analysisResult = $this->sourceAnalyser->analyse( + $sourceCodeFile, + $sourceCode, + $useAnnotationsForIgnoringCode, + $ignoreDeprecatedCode, + ); + + $this->write($cacheFile, $analysisResult); + + return $analysisResult; + } + + /** + * @return non-negative-int + */ + public function cacheHits(): int + { + return $this->cacheHits; + } + + /** + * @return non-negative-int + */ + public function cacheMisses(): int + { + return $this->cacheMisses; + } + + /** + * @param non-empty-string $cacheFile + */ + private function read(string $cacheFile): AnalysisResult|false + { + if (!is_file($cacheFile)) { + return false; + } + + return unserialize( + file_get_contents($cacheFile), + [ + 'allowed_classes' => [ + AnalysisResult::class, + Class_::class, + Function_::class, + Interface_::class, + LinesOfCode::class, + Method::class, + Trait_::class, + ], + ], + ); + } + + private function write(string $cacheFile, AnalysisResult $result): void + { + file_put_contents( + $cacheFile, + serialize($result), + ); + } + + private function cacheFile(string $source, bool $useAnnotationsForIgnoringCode, bool $ignoreDeprecatedCode): string + { + $cacheKey = hash( + 'sha256', + implode( + "\0", + [ + $source, + Version::id(), + $useAnnotationsForIgnoringCode, + $ignoreDeprecatedCode, + ], + ), + ); + + return $this->directory . DIRECTORY_SEPARATOR . $cacheKey; + } +} diff --git a/src/StaticAnalysis/FileAnalyser.php b/src/StaticAnalysis/FileAnalyser.php index 8aebac469..3b1c5a42b 100644 --- a/src/StaticAnalysis/FileAnalyser.php +++ b/src/StaticAnalysis/FileAnalyser.php @@ -9,42 +9,45 @@ */ namespace SebastianBergmann\CodeCoverage\StaticAnalysis; +use function file_get_contents; + /** * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage - * - * @phpstan-type LinesType array */ -interface FileAnalyser +final class FileAnalyser { - /** - * @return array - */ - public function interfacesIn(string $filename): array; + private readonly SourceAnalyser $sourceAnalyser; + private readonly bool $useAnnotationsForIgnoringCode; + private readonly bool $ignoreDeprecatedCode; /** - * @return array + * @var array */ - public function classesIn(string $filename): array; + private array $cache = []; - /** - * @return array - */ - public function traitsIn(string $filename): array; + public function __construct(SourceAnalyser $sourceAnalyser, bool $useAnnotationsForIgnoringCode, bool $ignoreDeprecatedCode) + { + $this->sourceAnalyser = $sourceAnalyser; + $this->useAnnotationsForIgnoringCode = $useAnnotationsForIgnoringCode; + $this->ignoreDeprecatedCode = $ignoreDeprecatedCode; + } /** - * @return array + * @param non-empty-string $sourceCodeFile */ - public function functionsIn(string $filename): array; + public function analyse(string $sourceCodeFile): AnalysisResult + { + if (isset($this->cache[$sourceCodeFile])) { + return $this->cache[$sourceCodeFile]; + } - public function linesOfCodeFor(string $filename): LinesOfCode; + $this->cache[$sourceCodeFile] = $this->sourceAnalyser->analyse( + $sourceCodeFile, + file_get_contents($sourceCodeFile), + $this->useAnnotationsForIgnoringCode, + $this->ignoreDeprecatedCode, + ); - /** - * @return LinesType - */ - public function executableLinesIn(string $filename): array; - - /** - * @return LinesType - */ - public function ignoredLinesFor(string $filename): array; + return $this->cache[$sourceCodeFile]; + } } diff --git a/src/StaticAnalysis/ParsingFileAnalyser.php b/src/StaticAnalysis/ParsingFileAnalyser.php deleted file mode 100644 index dfca1dd0c..000000000 --- a/src/StaticAnalysis/ParsingFileAnalyser.php +++ /dev/null @@ -1,274 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage\StaticAnalysis; - -use const T_COMMENT; -use const T_DOC_COMMENT; -use function array_merge; -use function array_unique; -use function assert; -use function file_get_contents; -use function is_array; -use function max; -use function range; -use function sort; -use function sprintf; -use function substr_count; -use function token_get_all; -use function trim; -use PhpParser\Error; -use PhpParser\NodeTraverser; -use PhpParser\NodeVisitor\NameResolver; -use PhpParser\ParserFactory; -use SebastianBergmann\CodeCoverage\ParserException; -use SebastianBergmann\LinesOfCode\LineCountingVisitor; - -/** - * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage - * - * @phpstan-import-type LinesType from FileAnalyser - */ -final class ParsingFileAnalyser implements FileAnalyser -{ - /** - * @var array> - */ - private array $interfaces = []; - - /** - * @var array> - */ - private array $classes = []; - - /** - * @var array> - */ - private array $traits = []; - - /** - * @var array> - */ - private array $functions = []; - - /** - * @var array - */ - private array $linesOfCode = []; - - /** - * @var array - */ - private array $ignoredLines = []; - - /** - * @var array - */ - private array $executableLines = []; - private readonly bool $useAnnotationsForIgnoringCode; - private readonly bool $ignoreDeprecatedCode; - - public function __construct(bool $useAnnotationsForIgnoringCode, bool $ignoreDeprecatedCode) - { - $this->useAnnotationsForIgnoringCode = $useAnnotationsForIgnoringCode; - $this->ignoreDeprecatedCode = $ignoreDeprecatedCode; - } - - /** - * @return array - */ - public function interfacesIn(string $filename): array - { - $this->analyse($filename); - - return $this->interfaces[$filename]; - } - - /** - * @return array - */ - public function classesIn(string $filename): array - { - $this->analyse($filename); - - return $this->classes[$filename]; - } - - /** - * @return array - */ - public function traitsIn(string $filename): array - { - $this->analyse($filename); - - return $this->traits[$filename]; - } - - /** - * @return array - */ - public function functionsIn(string $filename): array - { - $this->analyse($filename); - - return $this->functions[$filename]; - } - - public function linesOfCodeFor(string $filename): LinesOfCode - { - $this->analyse($filename); - - return $this->linesOfCode[$filename]; - } - - /** - * @return LinesType - */ - public function executableLinesIn(string $filename): array - { - $this->analyse($filename); - - return $this->executableLines[$filename]; - } - - /** - * @return LinesType - */ - public function ignoredLinesFor(string $filename): array - { - $this->analyse($filename); - - return $this->ignoredLines[$filename]; - } - - /** - * @throws ParserException - */ - private function analyse(string $filename): void - { - if (isset($this->interfaces[$filename])) { - return; - } - - $source = file_get_contents($filename); - $linesOfCode = max(substr_count($source, "\n") + 1, substr_count($source, "\r") + 1); - - if ($linesOfCode === 0 && $source !== false && $source !== '') { - $linesOfCode = 1; - } - - assert($linesOfCode > 0); - - $parser = (new ParserFactory)->createForHostVersion(); - - try { - $nodes = $parser->parse($source); - - assert($nodes !== null); - - $traverser = new NodeTraverser; - $codeUnitFindingVisitor = new CodeUnitFindingVisitor($filename); - $lineCountingVisitor = new LineCountingVisitor($linesOfCode); - $ignoredLinesFindingVisitor = new IgnoredLinesFindingVisitor($this->useAnnotationsForIgnoringCode, $this->ignoreDeprecatedCode); - $executableLinesFindingVisitor = new ExecutableLinesFindingVisitor($source); - - $traverser->addVisitor(new NameResolver); - $traverser->addVisitor(new AttributeParentConnectingVisitor); - $traverser->addVisitor($codeUnitFindingVisitor); - $traverser->addVisitor($lineCountingVisitor); - $traverser->addVisitor($ignoredLinesFindingVisitor); - $traverser->addVisitor($executableLinesFindingVisitor); - - /* @noinspection UnusedFunctionResultInspection */ - $traverser->traverse($nodes); - // @codeCoverageIgnoreStart - } catch (Error $error) { - throw new ParserException( - sprintf( - 'Cannot parse %s: %s', - $filename, - $error->getMessage(), - ), - $error->getCode(), - $error, - ); - } - // @codeCoverageIgnoreEnd - - $this->interfaces[$filename] = $codeUnitFindingVisitor->interfaces(); - $this->classes[$filename] = $codeUnitFindingVisitor->classes(); - $this->traits[$filename] = $codeUnitFindingVisitor->traits(); - $this->functions[$filename] = $codeUnitFindingVisitor->functions(); - $this->executableLines[$filename] = $executableLinesFindingVisitor->executableLinesGroupedByBranch(); - $this->ignoredLines[$filename] = []; - - $this->findLinesIgnoredByLineBasedAnnotations($filename, $source, $this->useAnnotationsForIgnoringCode); - - $this->ignoredLines[$filename] = array_unique( - array_merge( - $this->ignoredLines[$filename], - $ignoredLinesFindingVisitor->ignoredLines(), - ), - ); - - sort($this->ignoredLines[$filename]); - - $result = $lineCountingVisitor->result(); - - $this->linesOfCode[$filename] = new LinesOfCode( - $result->linesOfCode(), - $result->commentLinesOfCode(), - $result->nonCommentLinesOfCode(), - ); - } - - private function findLinesIgnoredByLineBasedAnnotations(string $filename, string $source, bool $useAnnotationsForIgnoringCode): void - { - if (!$useAnnotationsForIgnoringCode) { - return; - } - - $start = false; - - foreach (token_get_all($source) as $token) { - if (!is_array($token) || - !(T_COMMENT === $token[0] || T_DOC_COMMENT === $token[0])) { - continue; - } - - $comment = trim($token[1]); - - if ($comment === '// @codeCoverageIgnore' || - $comment === '//@codeCoverageIgnore') { - $this->ignoredLines[$filename][] = $token[2]; - - continue; - } - - if ($comment === '// @codeCoverageIgnoreStart' || - $comment === '//@codeCoverageIgnoreStart') { - $start = $token[2]; - - continue; - } - - if ($comment === '// @codeCoverageIgnoreEnd' || - $comment === '//@codeCoverageIgnoreEnd') { - if (false === $start) { - $start = $token[2]; - } - - $this->ignoredLines[$filename] = array_merge( - $this->ignoredLines[$filename], - range($start, $token[2]), - ); - } - } - } -} diff --git a/src/StaticAnalysis/ParsingSourceAnalyser.php b/src/StaticAnalysis/ParsingSourceAnalyser.php new file mode 100644 index 000000000..7f5bf2e4c --- /dev/null +++ b/src/StaticAnalysis/ParsingSourceAnalyser.php @@ -0,0 +1,164 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\CodeCoverage\StaticAnalysis; + +use const T_COMMENT; +use const T_DOC_COMMENT; +use function array_merge; +use function array_unique; +use function assert; +use function is_array; +use function max; +use function range; +use function sort; +use function sprintf; +use function substr_count; +use function token_get_all; +use function trim; +use PhpParser\Error; +use PhpParser\NodeTraverser; +use PhpParser\NodeVisitor\NameResolver; +use PhpParser\ParserFactory; +use SebastianBergmann\CodeCoverage\ParserException; +use SebastianBergmann\LinesOfCode\LineCountingVisitor; + +/** + * @internal This interface is not covered by the backward compatibility promise for phpunit/php-code-coverage + */ +final readonly class ParsingSourceAnalyser implements SourceAnalyser +{ + /** + * @param non-empty-string $sourceCodeFile + * @param non-empty-string $sourceCode + */ + public function analyse(string $sourceCodeFile, string $sourceCode, bool $useAnnotationsForIgnoringCode, bool $ignoreDeprecatedCode): AnalysisResult + { + $linesOfCode = max(substr_count($sourceCode, "\n") + 1, substr_count($sourceCode, "\r") + 1); + + if ($linesOfCode === 0 && $sourceCode !== '') { + $linesOfCode = 1; + } + + assert($linesOfCode > 0); + + $parser = (new ParserFactory)->createForHostVersion(); + + try { + $nodes = $parser->parse($sourceCode); + + assert($nodes !== null); + + $traverser = new NodeTraverser; + $codeUnitFindingVisitor = new CodeUnitFindingVisitor($sourceCodeFile); + $lineCountingVisitor = new LineCountingVisitor($linesOfCode); + $ignoredLinesFindingVisitor = new IgnoredLinesFindingVisitor($useAnnotationsForIgnoringCode, $ignoreDeprecatedCode); + $executableLinesFindingVisitor = new ExecutableLinesFindingVisitor($sourceCode); + + $traverser->addVisitor(new NameResolver); + $traverser->addVisitor(new AttributeParentConnectingVisitor); + $traverser->addVisitor($codeUnitFindingVisitor); + $traverser->addVisitor($lineCountingVisitor); + $traverser->addVisitor($ignoredLinesFindingVisitor); + $traverser->addVisitor($executableLinesFindingVisitor); + + /* @noinspection UnusedFunctionResultInspection */ + $traverser->traverse($nodes); + // @codeCoverageIgnoreStart + } catch (Error $error) { + throw new ParserException( + sprintf( + 'Cannot parse %s: %s', + $sourceCodeFile, + $error->getMessage(), + ), + $error->getCode(), + $error, + ); + } + // @codeCoverageIgnoreEnd + + $ignoredLines = array_unique( + array_merge( + $this->findLinesIgnoredByLineBasedAnnotations( + $sourceCodeFile, + $sourceCode, + $useAnnotationsForIgnoringCode, + ), + $ignoredLinesFindingVisitor->ignoredLines(), + ), + ); + + sort($ignoredLines); + + return new AnalysisResult( + $codeUnitFindingVisitor->interfaces(), + $codeUnitFindingVisitor->classes(), + $codeUnitFindingVisitor->traits(), + $codeUnitFindingVisitor->functions(), + new LinesOfCode( + $lineCountingVisitor->result()->linesOfCode(), + $lineCountingVisitor->result()->commentLinesOfCode(), + $lineCountingVisitor->result()->nonCommentLinesOfCode(), + ), + $executableLinesFindingVisitor->executableLinesGroupedByBranch(), + $ignoredLines, + ); + } + + /** + * @return array + */ + private function findLinesIgnoredByLineBasedAnnotations(string $filename, string $source, bool $useAnnotationsForIgnoringCode): array + { + if (!$useAnnotationsForIgnoringCode) { + return []; + } + + $result = []; + $start = false; + + foreach (token_get_all($source) as $token) { + if (!is_array($token) || + !(T_COMMENT === $token[0] || T_DOC_COMMENT === $token[0])) { + continue; + } + + $comment = trim($token[1]); + + if ($comment === '// @codeCoverageIgnore' || + $comment === '//@codeCoverageIgnore') { + $result[] = $token[2]; + + continue; + } + + if ($comment === '// @codeCoverageIgnoreStart' || + $comment === '//@codeCoverageIgnoreStart') { + $start = $token[2]; + + continue; + } + + if ($comment === '// @codeCoverageIgnoreEnd' || + $comment === '//@codeCoverageIgnoreEnd') { + if (false === $start) { + $start = $token[2]; + } + + $result = array_merge( + $result, + range($start, $token[2]), + ); + } + } + + return $result; + } +} diff --git a/src/StaticAnalysis/SourceAnalyser.php b/src/StaticAnalysis/SourceAnalyser.php new file mode 100644 index 000000000..ba63d2a3d --- /dev/null +++ b/src/StaticAnalysis/SourceAnalyser.php @@ -0,0 +1,22 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\CodeCoverage\StaticAnalysis; + +/** + * @internal This interface is not covered by the backward compatibility promise for phpunit/php-code-coverage + */ +interface SourceAnalyser +{ + /** + * @param non-empty-string $sourceCodeFile + * @param non-empty-string $sourceCode + */ + public function analyse(string $sourceCodeFile, string $sourceCode, bool $useAnnotationsForIgnoringCode, bool $ignoreDeprecatedCode): AnalysisResult; +} diff --git a/src/StaticAnalysis/Value/AnalysisResult.php b/src/StaticAnalysis/Value/AnalysisResult.php new file mode 100644 index 000000000..88fff2c46 --- /dev/null +++ b/src/StaticAnalysis/Value/AnalysisResult.php @@ -0,0 +1,121 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\CodeCoverage\StaticAnalysis; + +/** + * @phpstan-type LinesType array + * + * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage + */ +final readonly class AnalysisResult +{ + /** + * @var array + */ + private array $interfaces; + + /** + * @var array + */ + private array $classes; + + /** + * @var array + */ + private array $traits; + + /** + * @var array + */ + private array $functions; + private LinesOfCode $linesOfCode; + + /** + * @var LinesType + */ + private array $executableLines; + + /** + * @var LinesType + */ + private array $ignoredLines; + + /** + * @param array $interfaces + * @param array $classes + * @param array $traits + * @param array $functions + * @param LinesType $executableLines + * @param LinesType $ignoredLines + */ + public function __construct(array $interfaces, array $classes, array $traits, array $functions, LinesOfCode $linesOfCode, array $executableLines, array $ignoredLines) + { + $this->interfaces = $interfaces; + $this->classes = $classes; + $this->traits = $traits; + $this->functions = $functions; + $this->linesOfCode = $linesOfCode; + $this->executableLines = $executableLines; + $this->ignoredLines = $ignoredLines; + } + + /** + * @return array + */ + public function interfaces(): array + { + return $this->interfaces; + } + + /** + * @return array + */ + public function classes(): array + { + return $this->classes; + } + + /** + * @return array + */ + public function traits(): array + { + return $this->traits; + } + + /** + * @return array + */ + public function functions(): array + { + return $this->functions; + } + + public function linesOfCode(): LinesOfCode + { + return $this->linesOfCode; + } + + /** + * @return LinesType + */ + public function executableLines(): array + { + return $this->executableLines; + } + + /** + * @return LinesType + */ + public function ignoredLines(): array + { + return $this->ignoredLines; + } +} diff --git a/src/StaticAnalysis/AttributeParentConnectingVisitor.php b/src/StaticAnalysis/Visitor/AttributeParentConnectingVisitor.php similarity index 100% rename from src/StaticAnalysis/AttributeParentConnectingVisitor.php rename to src/StaticAnalysis/Visitor/AttributeParentConnectingVisitor.php diff --git a/src/StaticAnalysis/CodeUnitFindingVisitor.php b/src/StaticAnalysis/Visitor/CodeUnitFindingVisitor.php similarity index 100% rename from src/StaticAnalysis/CodeUnitFindingVisitor.php rename to src/StaticAnalysis/Visitor/CodeUnitFindingVisitor.php diff --git a/src/StaticAnalysis/ExecutableLinesFindingVisitor.php b/src/StaticAnalysis/Visitor/ExecutableLinesFindingVisitor.php similarity index 99% rename from src/StaticAnalysis/ExecutableLinesFindingVisitor.php rename to src/StaticAnalysis/Visitor/ExecutableLinesFindingVisitor.php index b1abd3a3d..6a114e1b9 100644 --- a/src/StaticAnalysis/ExecutableLinesFindingVisitor.php +++ b/src/StaticAnalysis/Visitor/ExecutableLinesFindingVisitor.php @@ -27,7 +27,7 @@ /** * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage * - * @phpstan-import-type LinesType from FileAnalyser + * @phpstan-import-type LinesType from AnalysisResult */ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract { diff --git a/src/StaticAnalysis/IgnoredLinesFindingVisitor.php b/src/StaticAnalysis/Visitor/IgnoredLinesFindingVisitor.php similarity index 100% rename from src/StaticAnalysis/IgnoredLinesFindingVisitor.php rename to src/StaticAnalysis/Visitor/IgnoredLinesFindingVisitor.php diff --git a/src/Target/MapBuilder.php b/src/Target/MapBuilder.php index 11a8088ff..be859e2eb 100644 --- a/src/Target/MapBuilder.php +++ b/src/Target/MapBuilder.php @@ -55,7 +55,7 @@ public function build(Filter $filter, FileAnalyser $analyser): array $reverseLookup = []; foreach ($filter->files() as $file) { - foreach ($analyser->traitsIn($file) as $trait) { + foreach ($analyser->analyse($file)->traits() as $trait) { if ($trait->isNamespaced()) { $this->processNamespace($namespaces, $trait->namespace(), $file, $trait->startLine(), $trait->endLine()); } @@ -66,7 +66,7 @@ public function build(Filter $filter, FileAnalyser $analyser): array } foreach ($filter->files() as $file) { - foreach ($analyser->traitsIn($file) as $trait) { + foreach ($analyser->analyse($file)->traits() as $trait) { foreach ($trait->traits() as $traitName) { if (!isset($traits[$traitName])) { continue; @@ -91,11 +91,13 @@ public function build(Filter $filter, FileAnalyser $analyser): array } foreach ($filter->files() as $file) { - foreach ($analyser->interfacesIn($file) as $interface) { + $analysisResult = $analyser->analyse($file); + + foreach ($analysisResult->interfaces() as $interface) { $classesThatImplementInterface[$interface->namespacedName()] = []; } - foreach ($analyser->classesIn($file) as $class) { + foreach ($analysisResult->classes() as $class) { if ($class->isNamespaced()) { $this->processNamespace($namespaces, $class->namespace(), $file, $class->startLine(), $class->endLine()); } @@ -129,7 +131,7 @@ public function build(Filter $filter, FileAnalyser $analyser): array $classDetails[$class->namespacedName()] = $class; } - foreach ($analyser->functionsIn($file) as $function) { + foreach ($analysisResult->functions() as $function) { if ($function->isNamespaced()) { $this->processNamespace($namespaces, $function->namespace(), $file, $function->startLine(), $function->endLine()); } diff --git a/tests/src/FileAnalyserTestCase.php b/tests/src/SourceAnalyserTestCase.php similarity index 58% rename from tests/src/FileAnalyserTestCase.php rename to tests/src/SourceAnalyserTestCase.php index 90904df15..f50e1a9d6 100644 --- a/tests/src/FileAnalyserTestCase.php +++ b/tests/src/SourceAnalyserTestCase.php @@ -9,11 +9,12 @@ */ namespace SebastianBergmann\CodeCoverage\StaticAnalysis; +use function file_get_contents; use function range; use PHPUnit\Framework\Attributes\Ticket; use PHPUnit\Framework\TestCase; -abstract class FileAnalyserTestCase extends TestCase +abstract class SourceAnalyserTestCase extends TestCase { public function testGetLinesToBeIgnored(): void { @@ -40,9 +41,12 @@ public function testGetLinesToBeIgnored(): void 41, 42, ], - $this->analyser()->ignoredLinesFor( + $this->analyser()->analyse( TEST_FILES_PATH . 'source_with_ignore.php', - ), + file_get_contents(TEST_FILES_PATH . 'source_with_ignore.php'), + true, + true, + )->ignoredLines(), ); } @@ -50,9 +54,12 @@ public function testGetLinesToBeIgnored2(): void { $this->assertSame( [], - $this->analyser()->ignoredLinesFor( + $this->analyser()->analyse( TEST_FILES_PATH . 'source_without_ignore.php', - ), + file_get_contents(TEST_FILES_PATH . 'source_without_ignore.php'), + true, + true, + )->ignoredLines(), ); } @@ -62,9 +69,12 @@ public function testGetLinesToBeIgnored3(): void [ 3, ], - $this->analyser()->ignoredLinesFor( + $this->analyser()->analyse( TEST_FILES_PATH . 'source_with_class_and_anonymous_function.php', - ), + file_get_contents(TEST_FILES_PATH . 'source_with_class_and_anonymous_function.php'), + true, + true, + )->ignoredLines(), ); } @@ -76,9 +86,12 @@ public function testLineWithFullyQualifiedClassNameConstantIsNotIgnored(): void [ 2, ], - $this->analyser()->ignoredLinesFor( + $this->analyser()->analyse( TEST_FILES_PATH . 'source_with_class_and_fqcn_constant.php', - ), + file_get_contents(TEST_FILES_PATH . 'source_with_class_and_fqcn_constant.php'), + true, + true, + )->ignoredLines(), ); } @@ -93,9 +106,12 @@ public function testGetLinesToBeIgnoredOneLineAnnotations(): void 32, 33, ], - $this->analyser()->ignoredLinesFor( + $this->analyser()->analyse( TEST_FILES_PATH . 'source_with_oneline_annotations.php', - ), + file_get_contents(TEST_FILES_PATH . 'source_with_oneline_annotations.php'), + true, + true, + )->ignoredLines(), ); } @@ -107,9 +123,12 @@ public function testGetLinesToBeIgnoredWhenIgnoreIsDisabled(): void 18, 33, ], - (new ParsingFileAnalyser(false, false))->ignoredLinesFor( + $this->analyser()->analyse( TEST_FILES_PATH . 'source_with_ignore.php', - ), + file_get_contents(TEST_FILES_PATH . 'source_with_ignore.php'), + false, + false, + )->ignoredLines(), ); } @@ -117,18 +136,24 @@ public function testGetLinesOfCodeForFileWithoutNewline(): void { $this->assertSame( 1, - (new ParsingFileAnalyser(false, false))->linesOfCodeFor( + $this->analyser()->analyse( TEST_FILES_PATH . 'source_without_newline.php', - )->linesOfCode(), + file_get_contents(TEST_FILES_PATH . 'source_without_newline.php'), + false, + false, + )->linesOfCode()->linesOfCode(), ); } #[Ticket('https://github.com/sebastianbergmann/php-code-coverage/issues/885')] public function testGetLinesOfCodeForFileCrLineEndings(): void { - $result = (new ParsingFileAnalyser(false, false))->linesOfCodeFor( + $result = $this->analyser()->analyse( TEST_FILES_PATH . 'source_without_lf_only_cr.php', - ); + file_get_contents(TEST_FILES_PATH . 'source_without_lf_only_cr.php'), + false, + false, + )->linesOfCode(); $this->assertSame(4, $result->linesOfCode()); $this->assertSame(2, $result->commentLinesOfCode()); @@ -154,9 +179,12 @@ public function testLinesCanBeIgnoredUsingAttribute(): void 18, 19, ], - $this->analyser()->ignoredLinesFor( + $this->analyser()->analyse( TEST_FILES_PATH . 'source_with_ignore_attributes.php', - ), + file_get_contents(TEST_FILES_PATH . 'source_with_ignore_attributes.php'), + true, + true, + )->ignoredLines(), ); } @@ -165,9 +193,12 @@ public function testEnumWithEnumLevelIgnore(): void { $this->assertSame( range(5, 13), - $this->analyser()->ignoredLinesFor( + $this->analyser()->analyse( TEST_FILES_PATH . 'source_with_enum_and_enum_level_ignore_annotation.php', - ), + file_get_contents(TEST_FILES_PATH . 'source_with_enum_and_enum_level_ignore_annotation.php'), + true, + true, + )->ignoredLines(), ); } @@ -176,40 +207,41 @@ public function testEnumWithMethodLevelIgnore(): void { $this->assertSame( range(9, 12), - $this->analyser()->ignoredLinesFor( + $this->analyser()->analyse( TEST_FILES_PATH . 'source_with_enum_and_method_level_ignore_annotation.php', - ), + file_get_contents(TEST_FILES_PATH . 'source_with_enum_and_method_level_ignore_annotation.php'), + true, + true, + )->ignoredLines(), ); } public function testCodeUnitsAreFound(): void { - $analyser = new ParsingFileAnalyser(true, true); - $file = __DIR__ . '/../_files/source_with_interfaces_classes_traits_functions.php'; - - $interfaces = $analyser->interfacesIn($file); - - $this->assertCount(3, $interfaces); - $this->assertArrayHasKey('SebastianBergmann\CodeCoverage\StaticAnalysis\A', $interfaces); - $this->assertArrayHasKey('SebastianBergmann\CodeCoverage\StaticAnalysis\B', $interfaces); - $this->assertArrayHasKey('SebastianBergmann\CodeCoverage\StaticAnalysis\C', $interfaces); + $analyser = new ParsingSourceAnalyser; - $classes = $analyser->classesIn($file); - - $this->assertCount(2, $classes); - $this->assertArrayHasKey('SebastianBergmann\CodeCoverage\StaticAnalysis\ParentClass', $classes); - $this->assertArrayHasKey('SebastianBergmann\CodeCoverage\StaticAnalysis\ChildClass', $classes); + $analysisResult = $analyser->analyse( + __DIR__ . '/../_files/source_with_interfaces_classes_traits_functions.php', + file_get_contents(__DIR__ . '/../_files/source_with_interfaces_classes_traits_functions.php'), + true, + true, + ); - $traits = $analyser->traitsIn($file); + $this->assertCount(3, $analysisResult->interfaces()); + $this->assertArrayHasKey('SebastianBergmann\CodeCoverage\StaticAnalysis\A', $analysisResult->interfaces()); + $this->assertArrayHasKey('SebastianBergmann\CodeCoverage\StaticAnalysis\B', $analysisResult->interfaces()); + $this->assertArrayHasKey('SebastianBergmann\CodeCoverage\StaticAnalysis\C', $analysisResult->interfaces()); - $this->assertCount(1, $traits); - $this->assertArrayHasKey('SebastianBergmann\CodeCoverage\StaticAnalysis\T', $traits); + $this->assertCount(2, $analysisResult->classes()); + $this->assertArrayHasKey('SebastianBergmann\CodeCoverage\StaticAnalysis\ParentClass', $analysisResult->classes()); + $this->assertArrayHasKey('SebastianBergmann\CodeCoverage\StaticAnalysis\ChildClass', $analysisResult->classes()); - $functions = $analyser->functionsIn($file); + $this->assertCount(1, $analysisResult->traits()); + $this->assertArrayHasKey('SebastianBergmann\CodeCoverage\StaticAnalysis\T', $analysisResult->traits()); - $this->assertCount(1, $functions); - $this->assertArrayHasKey('SebastianBergmann\CodeCoverage\StaticAnalysis\f', $functions); + $this->assertCount(1, $analysisResult->functions()); + $this->assertArrayHasKey('SebastianBergmann\CodeCoverage\StaticAnalysis\f', $analysisResult->functions()); } - abstract protected function analyser(): FileAnalyser; + abstract protected function analyser(): SourceAnalyser; } diff --git a/tests/tests/StaticAnalysis/CachingFileAnalyserTest.php b/tests/tests/StaticAnalysis/CachingSourceAnalyserTest.php similarity index 70% rename from tests/tests/StaticAnalysis/CachingFileAnalyserTest.php rename to tests/tests/StaticAnalysis/CachingSourceAnalyserTest.php index eeb7d24a8..58c982e0a 100644 --- a/tests/tests/StaticAnalysis/CachingFileAnalyserTest.php +++ b/tests/tests/StaticAnalysis/CachingSourceAnalyserTest.php @@ -15,20 +15,18 @@ use PHPUnit\Framework\Attributes\Small; use PHPUnit\Framework\Attributes\UsesClass; -#[CoversClass(CachingFileAnalyser::class)] -#[UsesClass(ParsingFileAnalyser::class)] +#[CoversClass(CachingSourceAnalyser::class)] +#[UsesClass(ParsingSourceAnalyser::class)] #[UsesClass(CodeUnitFindingVisitor::class)] #[UsesClass(IgnoredLinesFindingVisitor::class)] #[Small] -final class CachingFileAnalyserTest extends FileAnalyserTestCase +final class CachingSourceAnalyserTest extends SourceAnalyserTestCase { - protected function analyser(): FileAnalyser + protected function analyser(): SourceAnalyser { - return new CachingFileAnalyser( + return new CachingSourceAnalyser( sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'php-code-coverage-tests-for-static-analysis', - new ParsingFileAnalyser(true, true), - true, - true, + new ParsingSourceAnalyser, ); } } diff --git a/tests/tests/StaticAnalysis/ParsingFileAnalyserTest.php b/tests/tests/StaticAnalysis/ParsingSourceAnalyserTest.php similarity index 72% rename from tests/tests/StaticAnalysis/ParsingFileAnalyserTest.php rename to tests/tests/StaticAnalysis/ParsingSourceAnalyserTest.php index 8a68507ef..07eea3e51 100644 --- a/tests/tests/StaticAnalysis/ParsingFileAnalyserTest.php +++ b/tests/tests/StaticAnalysis/ParsingSourceAnalyserTest.php @@ -12,14 +12,14 @@ use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\Attributes\Small; -#[CoversClass(ParsingFileAnalyser::class)] +#[CoversClass(ParsingSourceAnalyser::class)] #[CoversClass(CodeUnitFindingVisitor::class)] #[CoversClass(IgnoredLinesFindingVisitor::class)] #[Small] -final class ParsingFileAnalyserTest extends FileAnalyserTestCase +final class ParsingSourceAnalyserTest extends SourceAnalyserTestCase { - protected function analyser(): FileAnalyser + protected function analyser(): SourceAnalyser { - return new ParsingFileAnalyser(true, true); + return new ParsingSourceAnalyser; } } diff --git a/tests/tests/StaticAnalysis/CodeUnitFindingVisitorTest.php b/tests/tests/StaticAnalysis/Visitor/CodeUnitFindingVisitorTest.php similarity index 97% rename from tests/tests/StaticAnalysis/CodeUnitFindingVisitorTest.php rename to tests/tests/StaticAnalysis/Visitor/CodeUnitFindingVisitorTest.php index c81ac56b5..9b5066c91 100644 --- a/tests/tests/StaticAnalysis/CodeUnitFindingVisitorTest.php +++ b/tests/tests/StaticAnalysis/Visitor/CodeUnitFindingVisitorTest.php @@ -27,7 +27,7 @@ final class CodeUnitFindingVisitorTest extends TestCase #[Ticket('https://github.com/sebastianbergmann/php-code-coverage/issues/786')] public function testDoesNotFindAnonymousClass(): void { - $codeUnitFindingVisitor = $this->findCodeUnits(__DIR__ . '/../../_files/ClassThatUsesAnonymousClass.php'); + $codeUnitFindingVisitor = $this->findCodeUnits(__DIR__ . '/../../../_files/ClassThatUsesAnonymousClass.php'); $this->assertEmpty($codeUnitFindingVisitor->functions()); $this->assertEmpty($codeUnitFindingVisitor->traits()); @@ -61,7 +61,7 @@ public function testDoesNotFindAnonymousClass(): void #[Ticket('https://github.com/sebastianbergmann/php-code-coverage/pull/797')] public function testHandlesClassWithNameThatIsPartOfItsNamespacesName(): void { - $codeUnitFindingVisitor = $this->findCodeUnits(__DIR__ . '/../../_files/ClassWithNameThatIsPartOfItsNamespacesName.php'); + $codeUnitFindingVisitor = $this->findCodeUnits(__DIR__ . '/../../../_files/ClassWithNameThatIsPartOfItsNamespacesName.php'); $this->assertEmpty($codeUnitFindingVisitor->functions()); $this->assertEmpty($codeUnitFindingVisitor->traits()); @@ -80,7 +80,7 @@ public function testHandlesClassWithNameThatIsPartOfItsNamespacesName(): void public function testHandlesFunctionOrMethodWithUnionTypes(): void { - $codeUnitFindingVisitor = $this->findCodeUnits(__DIR__ . '/../../_files/FunctionWithUnionTypes.php'); + $codeUnitFindingVisitor = $this->findCodeUnits(__DIR__ . '/../../../_files/FunctionWithUnionTypes.php'); $this->assertEmpty($codeUnitFindingVisitor->classes()); $this->assertEmpty($codeUnitFindingVisitor->traits()); @@ -97,7 +97,7 @@ public function testHandlesFunctionOrMethodWithUnionTypes(): void public function testHandlesFunctionOrMethodWithIntersectionTypes(): void { - $codeUnitFindingVisitor = $this->findCodeUnits(__DIR__ . '/../../_files/FunctionWithIntersectionTypes.php'); + $codeUnitFindingVisitor = $this->findCodeUnits(__DIR__ . '/../../../_files/FunctionWithIntersectionTypes.php'); $this->assertEmpty($codeUnitFindingVisitor->classes()); $this->assertEmpty($codeUnitFindingVisitor->traits()); @@ -114,7 +114,7 @@ public function testHandlesFunctionOrMethodWithIntersectionTypes(): void public function testHandlesFunctionOrMethodWithDisjunctiveNormalFormTypes(): void { - $codeUnitFindingVisitor = $this->findCodeUnits(__DIR__ . '/../../_files/FunctionWithDisjunctiveNormalFormTypes.php'); + $codeUnitFindingVisitor = $this->findCodeUnits(__DIR__ . '/../../../_files/FunctionWithDisjunctiveNormalFormTypes.php'); $this->assertEmpty($codeUnitFindingVisitor->classes()); $this->assertEmpty($codeUnitFindingVisitor->traits()); @@ -141,7 +141,7 @@ public function testHandlesFunctionOrMethodWithDisjunctiveNormalFormTypes(): voi public function testDetailsAboutExtendedClassesImplementedInterfacesAndUsedTraitsAreAvailable(): void { - $codeUnitFindingVisitor = $this->findCodeUnits(__DIR__ . '/../../_files/source_with_interfaces_classes_traits_functions.php'); + $codeUnitFindingVisitor = $this->findCodeUnits(__DIR__ . '/../../../_files/source_with_interfaces_classes_traits_functions.php'); $interfaces = $codeUnitFindingVisitor->interfaces(); diff --git a/tests/tests/StaticAnalysis/ExecutableLinesFindingVisitorTest.php b/tests/tests/StaticAnalysis/Visitor/ExecutableLinesFindingVisitorTest.php similarity index 98% rename from tests/tests/StaticAnalysis/ExecutableLinesFindingVisitorTest.php rename to tests/tests/StaticAnalysis/Visitor/ExecutableLinesFindingVisitorTest.php index f65010b01..0b21469c8 100644 --- a/tests/tests/StaticAnalysis/ExecutableLinesFindingVisitorTest.php +++ b/tests/tests/StaticAnalysis/Visitor/ExecutableLinesFindingVisitorTest.php @@ -43,7 +43,7 @@ public function testExecutableLinesAreGroupedByBranchPhp82(): void #[Ticket('https://github.com/sebastianbergmann/php-code-coverage/issues/967')] public function testMatchArmsAreProcessedCorrectly(): void { - $source = file_get_contents(__DIR__ . '/../../_files/source_match_expression.php'); + $source = file_get_contents(__DIR__ . '/../../../_files/source_match_expression.php'); $parser = (new ParserFactory)->createForHostVersion(); $nodes = $parser->parse($source); $executableLinesFindingVisitor = new ExecutableLinesFindingVisitor($source); diff --git a/tests/tests/Target/MapBuilderTest.php b/tests/tests/Target/MapBuilderTest.php index dbdaef30d..0c03682b4 100644 --- a/tests/tests/Target/MapBuilderTest.php +++ b/tests/tests/Target/MapBuilderTest.php @@ -18,7 +18,8 @@ use PHPUnit\Framework\Attributes\Ticket; use PHPUnit\Framework\TestCase; use SebastianBergmann\CodeCoverage\Filter; -use SebastianBergmann\CodeCoverage\StaticAnalysis\ParsingFileAnalyser; +use SebastianBergmann\CodeCoverage\StaticAnalysis\FileAnalyser; +use SebastianBergmann\CodeCoverage\StaticAnalysis\ParsingSourceAnalyser; use SebastianBergmann\CodeCoverage\TestFixture\Target\ChildClass; use SebastianBergmann\CodeCoverage\TestFixture\Target\GrandParentClass; use SebastianBergmann\CodeCoverage\TestFixture\Target\Issue1066\BaseDummy; @@ -573,6 +574,13 @@ private function map(array $files): array $filter->includeFiles($files); - return (new MapBuilder)->build($filter, new ParsingFileAnalyser(false, false)); + return (new MapBuilder)->build( + $filter, + new FileAnalyser( + new ParsingSourceAnalyser, + false, + false, + ), + ); } } diff --git a/tests/tests/Target/MapperTest.php b/tests/tests/Target/MapperTest.php index b01c04167..a515198a4 100644 --- a/tests/tests/Target/MapperTest.php +++ b/tests/tests/Target/MapperTest.php @@ -21,7 +21,8 @@ use PHPUnit\Framework\Attributes\Ticket; use PHPUnit\Framework\TestCase; use SebastianBergmann\CodeCoverage\Filter; -use SebastianBergmann\CodeCoverage\StaticAnalysis\ParsingFileAnalyser; +use SebastianBergmann\CodeCoverage\StaticAnalysis\FileAnalyser; +use SebastianBergmann\CodeCoverage\StaticAnalysis\ParsingSourceAnalyser; use SebastianBergmann\CodeCoverage\TestFixture\Target\GrandParentClass; use SebastianBergmann\CodeCoverage\TestFixture\Target\Issue1066\DummyWithTrait; use SebastianBergmann\CodeCoverage\TestFixture\Target\TargetClass; @@ -345,6 +346,13 @@ private function map(array $files): array $filter->includeFiles($files); - return (new MapBuilder)->build($filter, new ParsingFileAnalyser(false, false)); + return (new MapBuilder)->build( + $filter, + new FileAnalyser( + new ParsingSourceAnalyser, + false, + false, + ), + ); } } diff --git a/tests/tests/Target/TargetCollectionValidatorTest.php b/tests/tests/Target/TargetCollectionValidatorTest.php index e6f49b4af..294ff5c92 100644 --- a/tests/tests/Target/TargetCollectionValidatorTest.php +++ b/tests/tests/Target/TargetCollectionValidatorTest.php @@ -14,7 +14,8 @@ use PHPUnit\Framework\Attributes\Small; use PHPUnit\Framework\TestCase; use SebastianBergmann\CodeCoverage\Filter; -use SebastianBergmann\CodeCoverage\StaticAnalysis\ParsingFileAnalyser; +use SebastianBergmann\CodeCoverage\StaticAnalysis\FileAnalyser; +use SebastianBergmann\CodeCoverage\StaticAnalysis\ParsingSourceAnalyser; use SebastianBergmann\CodeCoverage\TestFixture\Target\TargetClass; /** @@ -72,6 +73,13 @@ private function map(array $files): array $filter->includeFiles($files); - return (new MapBuilder)->build($filter, new ParsingFileAnalyser(false, false)); + return (new MapBuilder)->build( + $filter, + new FileAnalyser( + new ParsingSourceAnalyser, + false, + false, + ), + ); } } From ca1ce1de8eb9ff8c5d1509f6eacc77b65069c298 Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Fri, 2 May 2025 07:34:33 +0200 Subject: [PATCH 15/84] Fix --- src/Report/Html/Renderer/Template/dashboard.html.dist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Report/Html/Renderer/Template/dashboard.html.dist b/src/Report/Html/Renderer/Template/dashboard.html.dist index 80ac23243..d7fb3b97a 100644 --- a/src/Report/Html/Renderer/Template/dashboard.html.dist +++ b/src/Report/Html/Renderer/Template/dashboard.html.dist @@ -137,7 +137,7 @@