| /* |
| Copyright (C) 2007 Apple Inc. All rights reserved. |
| |
| Redistribution and use in source and binary forms, with or without |
| modification, are permitted provided that the following conditions |
| are met: |
| 1. Redistributions of source code must retain the above copyright |
| notice, this list of conditions and the following disclaimer. |
| 2. Redistributions in binary form must reproduce the above copyright |
| notice, this list of conditions and the following disclaimer in the |
| documentation and/or other materials provided with the distribution. |
| |
| THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY |
| EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
| PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR |
| CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
| EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
| PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
| PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
| OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| */ |
| |
| if(typeof(WScript) === "undefined") |
| { |
| var WScript = { |
| Echo: print |
| } |
| } |
| |
| function record(time) { |
| document.getElementById("console").innerHTML = time + "ms"; |
| if (window.parent) { |
| parent.recordResult(time); |
| } |
| } |
| |
| var console = undefined; |
| // Audio sample data. |
| var channels = 2, |
| rate = 44100, |
| frameBufferLength = 2048, |
| getFramebuffer = (function(f) { |
| var frames = f, |
| current = 0, |
| max = frames.length - 1; |
| |
| return function() { |
| if (current == max) { |
| current = 0; |
| } |
| return frames[current++]; |
| }; |
| })([ |
| new Array(-9.063918018914485e-12,-3.261597155551632e-12,-7.691810383070319e-11,-4.440857404031107e-12,-1.680772881984538e-10,6.000556301843929e-11,-1.9150961372282893e-10,2.4246665786265e-10,-4.565171851655947e-11,5.450795370620654e-10,3.362514988669574e-10,9.004306744664348e-10,9.466241124300723e-10,1.175186170598863e-9,1.6831636084901902e-9,1.1990984871701471e-9,2.3562511941577213e-9,8.144737662085788e-10,2.725613068577104e-9,-6.554523590551753e-11,2.5597279851297117e-9,-1.405781158148045e-9,1.7045438394092116e-9,-3.0212734536405605e-9,1.442163333198465e-10,-4.585516411026447e-9,-1.9632779846290305e-9,-5.679597681051973e-9,-4.288398525176262e-9,-5.877284880995148e-9,-6.374909933271056e-9,-4.851113288850684e-9,-7.722416484057248e-9,-2.47689069254875e-9,-7.892031916867381e-9,1.0892343693669204e-9,-6.61385790579061e-9,5.384448886758264e-9,-3.872107523505974e-9,9.678744916641335e-9,5.3583804060508555e-11,1.3082328997882087e-8,4.604661096863083e-9,1.4708005480201791e-8,9.020721947194943e-9,1.3861386705116274e-8,1.2467070042987416e-8,1.0221797630549645e-8,1.4191283703723911e-8,3.973642304089253e-9,1.3679061439120233e-8,-4.147063581427801e-9,1.0777899461800189e-8,-1.2912646063512057e-8,5.7606563963474855e-9,-2.0772752407083317e-8,-6.882053815715494e-10,-2.6112324746918603e-8,-7.566866244701487e-9,-2.7557987891668745e-8,-1.3718089775238695e-8,-2.427747425315374e-8,-1.8031725446121527e-8,-1.6211833653301255e-8,-1.965133300529942e-8,-4.18648893329987e-9,-1.8145057012475263e-8,1.0134575845199834e-8,-1.3606820559175503e-8,2.4460184988583933e-8,-6.6646101970491145e-9,3.6226321498133984e-8,1.6094849897285712e-9,4.304074607830444e-8,9.874586481828374e-9,4.314259527404829e-8,1.6751737774711728e-8,3.579163276867803e-8,2.1068517597200298e-8,2.1507027270217804e-8,2.2072077499046827e-8,2.0971653302837012e-9,1.9569721843026855e-8,-1.95445934991767e-8,1.3969719603323938e-8,-3.986041718917477e-8,6.212331538080207e-9,-5.5206413662745035e-8,-2.396835618867499e-9,-6.249566553151453e-8,-1.0421006280125766e-8,-5.979339334771794e-8,-1.6550259829273273e-8,-4.6752756333034995e-8,-1.9834619280345578e-8,-2.479977112557208e-8,-1.9848005905487298e-8,2.9843314486299732e-9,-1.6751785736346392e-8,3.2283470119409685e-8,-1.124725823586914e-8,5.8215224640889573e-8,-4.4262269405237475e-9,7.614446673187558e-8,2.4491135786064433e-9,8.2506318221931e-8,8.19313505928676e-9,7.549270009121756e-8,1.1920842091228678e-8,5.54726611312617e-8,1.3204600968208524e-8,2.5057047992049775e-8,1.2132561622024696e-8,-1.1224615015237305e-8,9.258342537066255e-9,-4.759798244435842e-8,5.454737994625702e-9,-7.796932521841882e-8,1.702851637475078e-9,-9.695299496570442e-8,-1.136488791964041e-9,-1.0082637658115345e-7,-2.519120245736417e-9,-8.824257946571379e-8,-2.3383373015661846e-9,-6.056658463649e-8,-9.41838385060123e-10,-2.176004265663778e-8,9.601706096873386e-10,2.218358652328334e-8,2.4775965723478066e-9,6.417361220201201e-8,2.774252605419747e-9,9.717964388755718e-8,1.3009872068536765e-9,1.1542026356892165e-7,-2.0265045197476184e-9,1.153803879105908e-7,-6.7495498079495064e-9,9.647719423355738e-8,-1.1913705577626388e-8,6.124944462726489e-8,-1.623966028319046e-8,1.502435864608742e-8,-1.8389696876397466e-8,-3.4896281420060404e-8,-1.7278706465617688e-8,-8.040503729489501e-8,-1.2363916113145024e-8,-1.1392285870215346e-7,-3.8492862231009894e-9,-1.2967566931365582e-7,7.248555089489628e-9,-1.2469702426187723e-7,1.920039238711979e-8,-9.9380230267343e-8,2.98255180553042e-8,-5.747872222627848e-8,3.68760453284267e-8,-5.544654957390094e-9,3.8477701025385613e-8,4.810972953350756e-8,3.3544857558354124e-8,9.4760721935927e-8,2.2083437301034792e-8,1.2670979288031958e-7,5.314396478439676e-9,1.3856883640528395e-7,-1.442367381088161e-8,1.2817720573821134e-7,-3.3992773040836255e-8,9.6993083786856e-8,-4.995281699393672e-8,4.988867274846598e-8,-5.91591415854964e-8,-5.620970799924407e-9,-5.9357120107961236e-8,-6.059254786805468e-8,-4.9664652834735534e-8,-1.0611310585773026e-7,-3.084448252366201e-8,-1.3476119420374744e-7,-5.303653960453403e-9,-1.4182997176703793e-7,2.3200103171916453e-8,-1.26107053688429e-7,5.0111530924823455e-8,-9.008256540710136e-8,7.080907948875392e-8,-3.954905736236469e-8,8.139625862213506e-8,1.7340529012699335e-8,7.941753921159034e-8,7.14021481940108e-8,6.436970778622708e-8,1.1391774989988335e-7,3.790681546433916e-8,1.3805393450638803e-7,3.6889740151480055e-9,1.399694014025954e-7,-3.312028695745539e-8,1.1943076572151767e-7,-6.66380657321497e-8,7.98368589016718e-8,-9.120827826336608e-8,2.7651497092051613e-8,-1.023566014168864e-7,-2.8660446460548883e-8,-9.759249763874323e-8,-8.001645568356253e-8,-7.691699011047604e-8,-1.1819189182915579e-7,-4.293638866670335e-8,-1.3714550561871874e-7,-5.487733045761445e-10,-1.3398140197296016e-7,4.376378370807288e-8,-1.0939224637240841e-7,8.29331057161653e-8,-6.751718473196888e-8,1.1043897529816604e-7,-1.5242454409758466e-8,1.2139599903093767e-7,3.8936597945848916e-8,1.1341180794488537e-7,8.630295411649058e-8,8.706772547384389e-8,1.193270264820967e-7,4.592902058675463e-8,1.3286879152474285e-7,-3.930692660247814e-9,1.2498067292199266e-7,-5.482997877948037e-8,9.718515769918668e-8,-9.866953121218103e-8,5.418847948135408e-8,-1.28227270579373e-7,3.083594934949474e-9,-1.3834954870617366e-7,-4.782260987212794e-8,-1.26842650161052e-7,-9.036366321879541e-8,-9.491133567962606e-8,-1.1782764630652309e-7,-4.70599381685588e-8,-1.2601940113654564e-7,9.539609990838471e-9,-1.1390253007448337e-7,6.612728498112119e-8,-8.372249027388534e-8,1.1371697183903962e-7,-4.059829450397956e-8,1.4452912466822454e-7,8.344371416058038e-9,1.5326465074849693e-7,5.515137502243306e-8,1.3801113141198584e-7,9.23356182624957e-8,1.0062770883223493e-7,1.1407795597051518e-7,4.653392693398928e-8,1.1714049463762422e-7,-1.6075322406550185e-8,1.0134900918501444e-7,-7.747640040633996e-8,6.957183984468429e-8,-1.2793385906206822e-7,2.7206713326677345e-8,-1.5925049012821546e-7,-1.8734009898935255e-8,-1.6610192687949166e-7,-6.078472836179571e-8,-1.4693922878450394e-7,-9.224238795013662e-8,-1.0430580488218766e-7,-1.0823826812611514e-7,-4.45076224764307e-8,-1.0649359438730244e-7,2.3321303999068732e-8,-8.764186532062013e-8,8.862036082746272e-8,-5.5072241877951456e-8,1.410538743584766e-7,-1.4327970809802082e-8,1.7215407410731132e-7,2.783478691981145e-8,1.7669236740402994e-7,6.45675726218542e-8,1.5355695381913392e-7,9.00446011087297e-8,1.0598996880162304e-7,1.0038979780802038e-7,4.1135439943218444e-8,9.426747737961705e-8,-3.103694723449735e-8,7.304740989866332e-8,-9.927160249389999e-8,4.052454016800766e-8,-1.5279019294212048e-7,2.248076613753369e-9,-1.8300160320450232e-7,-3.542269766398931e-8,-1.8488543673811364e-7,-6.637513649820903e-8,-1.578263635337862e-7,-8.573766052677456e-8,-1.0576047060339988e-7,-9.064876138609179e-8,-3.660183267584216e-8,-8.067998180649738e-8,3.896485267773642e-8,-5.78489469660326e-8,1.091430661404047e-7,-2.6230463134879756e-8,1.6287407333948067e-7,8.762894410097033e-9,1.9158729003265762e-7,4.1304232922811934e-8,1.9057252131915448e-7,6.612271619133026e-8,1.597534549091506e-7,7.93595944514891e-8,1.0373634040661273e-7,7.916997901702416e-8,3.1118556620413074e-8,6.597691282195228e-8,-4.683636234403821e-8,4.234251704815506e-8,-1.1795428633831762e-7,1.2487103795422172e-8,-1.7106017935475393e-7,-1.8456139727618392e-8,-1.9774194015553803e-7,-4.5320295072315275e-8,-1.936883222697361e-7,-6.376741623626003e-8,-1.5938736908083229e-7,-7.099095000739908e-8,-1.0007260442534971e-7,-6.614403957883042e-8,-2.4920090879732015e-8,-5.042738848715089e-8,5.4377210290113e-8,-2.6831063593135696e-8,1.2543733873826568e-7,4.190550129123949e-10,1.7713182387524284e-7,2.660926767816818e-8,2.0133609268668806e-7,4.734960157293244e-8,1.9421217700710258e-7,5.9309229527571006e-8,1.568193965795217e-7,6.075319447518268e-8,9.495667541159492e-8,5.1793612954043056e-8,1.8258184297792468e-8,3.4318482278195006e-8,-6.131359242544931e-8,1.1618418227499205e-8,-1.3134261678260373e-7,-1.2217928002655754e-8,-1.8090540265802701e-7,-3.3030893575869413e-8,-2.0228301877978083e-7,-4.731122515977404e-8,-1.9216858504478296e-7,-5.279125758761438e-8,-1.5218093096791563e-7,-4.880642023863402e-8,-8.86045441461647e-8,-3.636942480511607e-8,-1.1396908305982834e-8,-1.794975901248108e-8,6.737802493717027e-8,2.9967353043502953e-9,1.354440257728129e-7,2.2661327037099e-8,1.8223443021270214e-7,3.756455413395088e-8,2.0054038429861976e-7,4.51666153367114e-8,1.8762639797387237e-7,4.429934108429734e-8,1.4564022876584204e-7,3.534657722070733e-8,8.125561379301871e-8,2.0145094481449632e-8,4.6065018466379115e-9,1.627221024591563e-9,-7.23151174497616e-8,-1.672687943710116e-8,-1.3754423378031788e-7,-3.1527999766467474e-8,-1.8101286514138337e-7,-4.0092068331887276e-8,-1.9611144352893461e-7,-4.0920408395095365e-8,-1.8069772522721905e-7,-3.3960340317662485e-8,-1.373995388576077e-7,-2.060184201013726e-8,-7.316809558233217e-8,-3.4121434566714015e-9,1.8424062275812503e-9,1.4342575127557211e-8,7.58872715778125e-8,2.930133291556558e-8,1.3747893490290153e-7,3.862820463496064e-8,1.771775828274258e-7,4.053629965028449e-8,1.8904509602180042e-7,3.4620917688243935e-8,1.7153544717984914e-7,2.1940055106028922e-8,1.2769024237968551e-7,4.8280348607931955e-9,6.461311841121642e-8,-1.3525756514809473e-8,-7.684699099286263e-9,-2.9658723477155036e-8,-7.788023737020922e-8,-4.047191026756991e-8,-1.3512089935829863e-7,-4.380772722356596e-8,-1.7071022284653736e-7,-3.8862765450176084e-8,-1.794353323703035e-7,-2.6359270322018347e-8,-1.6033061456255382e-7,-8.440215637506299e-9,-1.1676839051233401e-7,1.1695799884137159e-8,-5.586884554986682e-8,3.035879103663319e-8,1.2666705906383413e-8,4.4031899903984595e-8,7.810783131390053e-8,5.001792047210074e-8,1.3038322776992572e-7,4.6951285526120046e-8,1.6163825478088256e-7,3.50808093685373e-8,1.6741982733492478e-7,1.6268021596488325e-8,1.4730845521171432e-7,-6.305238997583729e-9,1.0490954593933566e-7,-2.867316517551899e-8,4.721489688108704e-8,-4.677700715660649e-8,-1.6551972237266455e-8,-5.7190277402696665e-8,-7.641661170509906e-8,-5.775084588321988e-8,-1.232217812230374e-7,-4.798507191594581e-8,-1.500348929539541e-7,-2.9243762966757458e-8,-1.531775808416569e-7,-4.518951435272811e-9,-1.327244092408364e-7,2.2034459590258848e-8,-9.240281428901653e-8,4.5795644609825104e-8,-3.8925911383103085e-8,6.247649508850373e-8,1.9126481731746026e-8,6.888492265488821e-8,7.268964452578075e-8,6.35182573205384e-8,1.1363691498900153e-7,4.687864318952961e-8,1.360183716769825e-7,2.144827604411148e-8,1.3692603317849716e-7,-8.680026475360592e-9,1.1685883549716891e-7,-3.846272988994315e-8,7.954528058462529e-8,-6.274878217027435e-8,3.126580239154464e-8,-7.716540295632512e-8,-2.020383149670124e-8,-7.889514108683215e-8,-6.68497079914232e-8,-6.720723888520297e-8,-1.0167435959829163e-7,-4.3645762559663126e-8,-1.1975075153713988e-7,-1.1832858248794764e-8,-1.1891678042275089e-7,2.308856750232735e-8,-1.0001188144315165e-7,5.528772462071174e-8,-6.663564988684811e-8,7.921842382074828e-8,-2.4482059046704308e-8,9.056988403699506e-8,1.9629631253792468e-8,8.703290887979165e-8,5.8861960638978417e-8,6.874705604786868e-8,8.742540558159817e-8,3.8344889929931014e-8,1.0143502748860556e-7,5.755360632520024e-10,9.94316948776941e-8,-3.843843643380751e-8,8.249778460367452e-8,-7.219536968250395e-8,5.3968339130960885e-8,-9.489680508067977e-8,1.8800008660946332e-8,-1.0243961412470526e-7,-1.728548326696e-8,-9.314704385587902e-8,-4.873542280847687e-8,-6.811089292568795e-8,-7.102593002628055e-8,-3.107823687287237e-8,-8.131225115448615e-8,1.2109261149362283e-8,-7.877756758034593e-8,5.4438466179362877e-8,-6.463856294658399e-8,8.88658746589499e-8,-4.182719237633137e-8,1.0948871675964256e-7,-1.441798502810343e-8,1.1255299625645421e-7,1.309215491573923e-8,9.71264810800676e-8,3.652399271913964e-8,6.531689678013208e-8,5.2654801407925333e-8,2.1990270937521927e-8,5.965749494407646e-8,-2.597437287477078e-8,5.7280796994518823e-8,-7.077982644432268e-8,4.6758000138424904e-8,-1.0498003177872306e-7,3.0479803569960495e-8,-1.2271735272406659e-7,1.1502635288707097e-8,-1.207218360832485e-7,-7.012232572378707e-9,-9.89030155551518e-8,-2.232631501897231e-8,-6.042829170382902e-8,-3.253148150861307e-8,-1.126556270492074e-8,-3.677537208091053e-8,4.0744591700558885e-8,-3.5281200183590045e-8,8.714194166259404e-8,-2.9175275528814382e-8,1.2022522355437104e-7,-2.0171768255750067e-8,1.3433009371510707e-7,-1.0184898258103203e-8,1.2679538485826924e-7,-9.48340073136933e-10,9.845307857858643e-8,6.285233666858403e-9,5.355287413522092e-8,1.0912705405985434e-8,-8.745786317376769e-10,1.2994831877222168e-8,-5.6121411518006425e-8,1.3126058462376022e-8,-1.0319883614329228e-7,1.2198796639495413e-8,-1.3430187095764268e-7,1.1121471743535949e-8,-1.4410350956950424e-7,1.0556746588008536e-8,-1.306638210962774e-7,1.0739150013705512e-8,-9.579873250231685e-8,1.1414194034387037e-8,-4.4841215185442707e-8,1.1911470920722422e-8,1.4175789431192243e-8,1.1336403815676022e-8,7.178886107794824e-8,8.836241960352709e-9,1.186250813134393e-7,3.879819132635021e-9,1.4692922434278444e-7,-3.515509661156102e-9,1.5184838275672519e-7,-1.2668508020396985e-8,1.3226078010575293e-7,-2.226547479722285e-8,9.100791231730909e-8,-3.054695696391718e-8,3.4484436639559135e-8,-3.5622434779725154e-8,-2.835523815747365e-8,-3.585806140904424e-8,-8.741915280552348e-8,-3.0262789607604645e-8,-1.331023611328419e-7,-1.8791553202390787e-8,-1.5785127516210196e-7,-2.495440298844187e-9,-1.5741350978260016e-7,1.6527152979506354e-8,-1.315653577194098e-7,3.5388893593335524e-8,-8.419365826739522e-8,5.085162513296382e-8,-2.2711049041390652e-8,5.987803319840168e-8,4.3106652469759865e-8,6.020332676826001e-8,1.0267898886695548e-7,5.082233300868211e-8,1.4632553302362794e-7,3.229512657298983e-8,1.6684182924109336e-7,6.800249252592039e-9,1.6068939601154852e-7,-2.209532112829038e-8,1.2860309084317123e-7,-4.9929113288271765e-8,7.551252423354526e-8,-7.203408358691377e-8,9.782965548765787e-9,-8.431845088807677e-8,-5.810602488054428e-8,-8.400549944553859e-8,-1.1723588499990001e-7,-7.020152992254225e-8,-1.5800895880602184e-7,-4.4182222325162e-8,-1.737094663667449e-7,-9.329681915914989e-9,-1.6161074256615393e-7,2.929103004589706e-8,-1.2344602851044328e-7,6.566628485416004e-8,-6.51622968916854e-8,9.377239962304884e-8,4.008910536867916e-9,1.0857223031734975e-7,7.30174321006416e-8,1.0690452256767458e-7,1.3076454763449874e-7,8.811070983938407e-8,1.6789185508514493e-7,5.428115912309295e-8,1.7830146248343226e-7,1.0058755606223713e-8,1.6015852111195272e-7,-3.7988669987498724e-8,1.1621219186963572e-7,-8.234437132159655e-8,5.337874142696819e-8,-1.1572207370136312e-7,-1.8349950892115885e-8,-1.3226288331225078e-7,-8.749950097808323e-8,-1.2855345232765103e-7,-1.429532971997105e-7,-1.0428958319153026e-7,-1.757441623340128e-7,-6.246106920571037e-8,-1.8050761241283908e-7,-9.007450785247784e-9,-1.5636099703897344e-7,4.8020453391472984e-8,-1.0706388309245085e-7,9.967530445464945e-8,-4.043157275646081e-8,1.3752170957559429e-7,3.290755046236882e-8,1.5501495909120422e-7,1.0121155469278165e-7,1.4862459352116275e-7,1.535100864202832e-7,1.18511877644778e-7,1.8137095025849703e-7,6.863422186142998e-8,1.8026273096438672e-7,6.241009486984694e-9,1.502937152508821e-7,-5.9178759670430736e-8,9.6205269528582e-8,-1.1734320537470921e-7,2.661998621533712e-8,-1.587992954910078e-7,-4.7336740749415185e-8,-1.7646118521952303e-7,-1.1382016396055405e-7,-1.6681565284670796e-7,-1.621684049268879e-7,-1.305898820191942e-7,-1.8461685158399632e-7,-7.275829716490989e-8,-1.7754862824403972e-7,-1.8693526726565324e-9,-1.4207904541763128e-7,7.12196168706214e-8,-8.387929995024024e-8,1.350101968000672e-7,-1.226757717631699e-8,1.791784427496168e-7,6.128705365426868e-8,1.9624867775291932e-7,1.2500586876740272e-7,1.8285521719008102e-7,1.6869270780262013e-7,1.4037811979505932e-7,1.8536968582338886e-7,7.483755837256467e-8,1.7239531757695659e-7,-3.954397698180401e-9,1.3188457614887739e-7,-8.386642491586827e-8,7.036361182599649e-8,-1.523217889598527e-7,-2.283826461280114e-9,-1.982851216553172e-7,-7.440858951213158e-8,-2.140455137578101e-7,-1.3446904745251231e-7,-1.9650781268865103e-7,-1.7288331832787662e-7,-1.4777623391637462e-7,-1.8356305986344523e-7,-7.492307929624076e-8,-1.648810297183445e-7,1.1036519254048471e-8,-1.199205286184224e-7,9.681468782218872e-8,-5.59659980581273e-8,1.689130897375435e-7,1.6679663872309902e-8,2.1575439745902258e-7,8.635897330577791e-8,2.2954650091833173e-7,1.419358568455209e-7,2.0757832430717826e-7,1.745807907127528e-7,1.5273110420821467e-7,1.791784427496168e-7,7.311207639304484e-8,1.5513171547354432e-7,-1.9145318219671026e-8,1.064367722847237e-7,-1.0973732855745766e-7,4.1019006857823115e-8,-1.8441545535097248e-7,-3.0559448305211845e-8,-2.3123673997815786e-7,-9.680942980594409e-8,-2.424790750410466e-7,-1.4716398766267957e-7,-2.15915846979442e-7,-1.7366949123243103e-7,-1.5523812635365175e-7,-1.7224643045210541e-7,-6.954682874038554e-8,-1.4331929776290053e-7,2.801593268486613e-8,-9.171864689960785e-8,1.2229020285303704e-7,-2.5874314246721042e-8,1.9846278576096665e-7,4.356334670774231e-8,2.4440464585495647e-7,1.054514413567631e-7,2.5260820279982e-7,1.4994745356489148e-7,2.214165988334571e-7,1.7008042618726904e-7,1.5534149611085013e-7,1.6284681692013692e-7,6.44118358650303e-8,1.2965963946953707e-7,-3.735416953531967e-8,7.608232976963336e-8,-1.3411838040156e-7,1.0896656021941453e-8,-2.1069845956844802e-7,-5.533853197903227e-8,-2.5495873501313326e-7,-1.1200258853705236e-7,-2.5974125605898735e-7,-1.5012123810720368e-7,-2.2402615229566436e-7,-1.6379334510929766e-7,-1.5313399615024537e-7,-1.5110805406948202e-7,-5.793131663267559e-8,-1.1440880598456715e-7,4.684170562541112e-8,-5.986959195070085e-8,1.4486286659121106e-7,3.543078719303594e-9,2.207816862664913e-7,6.554610365583358e-8,2.626331934152404e-7,1.1621221318591779e-7,2.637312945807935e-7,1.4756460586795583e-7,2.2374074148956424e-7,1.548379913174358e-7,1.487551344325766e-7,1.372055606907452e-7,5.036477546127571e-8,9.785939880657679e-8,-5.614236897599767e-8,4.344204285189335e-8,-1.5416648579957837e-7,-1.707385877125489e-8,-2.2839421376374958e-7,-7.386714173662767e-8,-2.672012158200232e-7,-1.1786644904532295e-7,-2.6448051926308835e-7,-1.4220435673450993e-7,-2.2060758908537537e-7,-1.4329432929116592e-7,-1.423892257435e-7,-1.2135944871261017e-7,-4.200282432975655e-8,-8.033579490529519e-8,6.490785153800971e-8,-2.7174962724529905e-8,1.6168131367066962e-7,2.9331772566365544e-8,2.3324616904574214e-7,8.000931472906814e-8,2.684793400931085e-7,1.1679284739329887e-7,2.619423185024061e-7,1.3401688647718402e-7,2.1472467892635905e-7,1.2929177728437935e-7,1.3426242162495328e-7,1.0383159576576872e-7,3.3161711598950205e-8,6.218888870535011e-8,-7.2784388294167e-8,1.1450310921645723e-8,-1.6707475936073024e-7,-3.9966550957615254e-8,-2.350818988361425e-7,-8.37119387142593e-8,-2.6633134098119626e-7,-1.1286404344446055e-7,-2.5612271770114603e-7,-1.2302950835874071e-7,-2.062390649371082e-7,-1.1300813440584534e-7,-1.2463814869079215e-7,-8.492092717915511e-8,-2.4177921886803233e-8,-4.378986773190263e-8,7.941886792650621e-8,3.3493563478259603e-9,1.7003641517021606e-7,4.864789104885858e-8,2.3368514234789473e-7,8.475183221889893e-8,2.606714133435162e-7,1.0600088984347167e-7,2.47080549797829e-7,1.093205383995155e-7,1.9534485318217776e-7,9.466675976455008e-8,1.1381365538909449e-7,6.495940851891646e-8,1.540166749691707e-8,2.5524627744744066e-8,-8.446616561741394e-8,-1.6848247241796344e-8,-1.7028382615080773e-7,-5.507182265773736e-8,-2.2888355033501284e-7,-8.29474018360088e-8,-2.5146613324977807e-7,-9.61746167149613e-8,-2.3492745526709768e-7,-9.30190964254507e-8,-1.8228004705633793e-7,-7.453374450960837e-8,-1.0211371659352153e-7,-4.430629019225307e-8,-7.190720907601644e-9,-7.786582045810064e-9,8.7595566355958e-8,2.868361548280518e-8,1.6756843024268164e-7,5.8966605820387485e-8,2.2055249360164453e-7,7.816283442707572e-8,2.387361348610284e-7,8.340805379702942e-8,2.1982599207603926e-7,7.430342918723909e-8,1.6732249719098036e-7,5.291352067615662e-8,8.988544664134679e-8,2.3342494159805938e-8,-9.657696864451282e-11,-9.029974989971379e-9,-8.849696087054326e-8,-3.851283736366895e-8,-1.6168071681477159e-7,-6.009787512084586e-8,-2.086184167637839e-7,-7.031114535038796e-8,-2.2255642306845402e-7,-6.777638361654681e-8,-2.0198783090563666e-7,-5.339874320497984e-8,-1.5078565240855824e-7,-3.0144647666929814e-8,-7.74920465573814e-8,-2.4640200990688754e-9,6.107484296080656e-9,2.4536632281524362e-8,8.688752473062777e-8,4.6019223987059377e-8,1.5245490203597e-7,5.827331506225164e-8,1.930607993472222e-7,5.9356413117939155e-8,2.0305571979406523e-7,4.9406320812295235e-8,1.8167025928050862e-7,3.057391495531192e-8,1.3301294643497386e-7,6.593907642127306e-9,6.530615337396739e-8,-1.7924634221344604e-8,-1.0502304803594598e-8,-3.8357740095307236e-8,-8.251703320638626e-8,-5.09184445718347e-8,-1.3977266632991814e-7,-5.334685226898728e-8,-1.7391343476447219e-7,-4.531527508788713e-8,-1.8041541238744685e-7,-2.847492908131244e-8,-1.5917244411411957e-7,-6.137511832093878e-9,-1.1437219882282079e-7,1.7349023551105347e-8,-5.37032178726804e-8,3.741698151316086e-8,1.296049845223024e-8,5.013745862925134e-8,7.517348876717733e-8,5.296352867389942e-8,1.2356650813671877e-7,4.5221725031296955e-8,1.512654534963076e-7,2.825746747703306e-8,1.548669530393454e-7,5.2072621770093974e-9,1.3483074212672364e-7,-1.9566755327105056e-8,9.524914901248849e-8,-4.127851127577742e-8,4.305459810893808e-8,-5.561204829973576e-8,-1.3186848946133978e-8,-5.95453570895188e-8,-6.468775382018066e-8,-5.194998209390178e-8,-1.0382181869772467e-7,-3.385292757229763e-8,-1.252602146450954e-7,-8.305409693321053e-9,-1.266889739781618e-7,2.01266487920293e-8,-1.0901331393142755e-7,4.616561000148067e-8,-7.604103302583098e-8,6.477917224856355e-8,-3.372076662344625e-8,7.212108243948023e-8,1.0917915460595395e-8,6.628347648529598e-8,5.093718868920405e-8,4.771956696458801e-8,8.057844524955726e-8,1.924885140169863e-8,9.609434670210248e-8,-1.4367117273650365e-8,9.62030739515285e-8,-4.7215870324635034e-8,8.211441127059516e-8,-7.326191564516193e-8,5.714957751479233e-8,-8.743310786485381e-8,2.6044631340482738e-8,-8.657399064304627e-8,-5.926722224103287e-9,-7.00910334217042e-8,-3.384931801519997e-8,-4.016405341644713e-8,-5.3931231036585814e-8,-1.4717116414431075e-9,-6.401522512078373e-8,3.953713800797232e-8,-6.376927785822772e-8,7.571323124011542e-8,-5.454768370327656e-8,1.0044124110208941e-7,-3.897437750310928e-8,1.0882675383072637e-7,-2.034499857472838e-8,9.862651495495811e-8,-1.9718697785719996e-9,7.074959285091609e-8,1.3404161336438847e-8,2.9227308573354094e-8,2.4029375822465227e-8,-1.9362573766557034e-8,2.931786724502672e-8,-6.693563392445867e-8,2.9780522936562193e-8,-1.0524054516736214e-7,2.673979793144099e-8,-1.2727836917747481e-7,2.1905208313910407e-8,-1.2855795716859575e-7,1.6910888689380954e-8,-1.0796576077609643e-7,1.2917411140733748e-8,-6.808754449139087e-8,1.0364715308242012e-8,-1.4907442391631776e-8,8.924573080548726e-9,4.308567014277287e-8,7.658934819687602e-9,9.625129138157718e-8,5.343167686078232e-9,1.3539460042011342e-7,8.767813142185332e-10,1.5334450154114165e-7,-6.316128065009252e-9,1.4624281163833075e-7,-1.5995510693755932e-8,1.1431623647695233e-7,-2.7000339741789503e-8,6.198324342676642e-8,-3.7368934613368765e-8,-2.7429507554188604e-9,-4.467732850343964e-8,-6.947900033082988e-8,-4.65375258329459e-8,-1.271353227139116e-7,-4.11612219863855e-8,-1.657535761978579e-7,-2.787074038224091e-8,-1.7821416520291677e-7,-7.4418835538381245e-9,-1.6152242210409895e-7,1.78118000349059e-8,-1.174446140339569e-7,4.425945121511177e-8,-5.236780964423815e-8,6.74662032906781e-8,2.361669260153576e-8,8.292775532936503e-8,9.827665792272455e-8,8.690673070077537e-8,1.5920657858714549e-7,7.721943973137968e-8,1.9588374300383293e-7,5.381905054946401e-8,2.01472317939988e-7,1.9046609622819233e-8,1.7406878782821877e-7,-2.252760111787211e-8,1.1716433334640897e-7,-6.468043523000233e-8,3.9226861758834275e-8,-1.0046120735296427e-7,-4.755322891014657e-8,-1.2333094900895958e-7,-1.291692797167343e-7,-1.283278550090472e-7,-1.920576551128761e-7,-1.1305681368867226e-7,-2.2534644017468963e-7,-7.831395976154454e-8,-2.2272135424827866e-7,-2.8210422442498384e-8,-1.835907994518493e-7,3.026283934559615e-8,-1.1333888494391431e-7,8.819482388844335e-8,-2.2601398086408153e-8,1.3610795690510713e-7,7.434063320488349e-8,1.6550283987726289e-7,1.6180867135062726e-7,1.70341195371293e-7,2.2526110399212484e-7,1.482129619034822e-7,2.537052807838336e-7,1.0096973568352041e-7,2.415877418115997e-7,3.468574050202733e-8,1.8983951122208964e-7,-4.1086096302933584e-8,1.0588495058527769e-7,-1.1468043936702088e-7,2.5876758513732057e-9,-1.7411272779099818e-7,-1.0371854131108194e-7,-2.0902572828163102e-7,-1.9581293031478708e-7,-2.124729689967353e-7,-2.5837624662017333e-7,-1.8223526865313033e-7,-2.805332712796371e-7,-1.2142896821387694e-7,-2.5772834533199784e-7,-3.826910699444852e-8,-1.9261226213984628e-7,5.501317446032772e-8,-9.477400908508571e-8,1.4396246683645586e-7,2.0663790678554506e-8,2.141380548437155e-7,1.353819669702716e-7,2.5345423182443483e-7,2.3077254240888578e-7,2.542422521401022e-7,2.909561942487926e-7,2.1468599697982427e-7,3.054196326957026e-7,1.3936859488694608e-7,2.708362671910436e-7,3.880498411490407e-8,1.9175661236658925e-7,-7.20061592573984e-8,8.003340923323776e-8,-1.7581527345100767e-7,-4.695015576317019e-8,-2.5569300987626775e-7,-1.6888239429135865e-7,-2.9772394327665097e-7,-2.6572107003630663e-7,-2.942533399163949e-7,-3.216046877696499e-7,-2.4395217224082444e-7,-3.2649120385030983e-7,-1.5415402287999314e-7,-2.794814122353273e-7,-3.692490579965124e-8,-1.8526327494328143e-7,9.23838996413906e-8,-5.7667513431169937e-8,2.1058662014183938e-7,7.687667391564901e-8,2.963788858778571e-7,2.0058980965131923e-7,3.4519857194936776e-7,3.073854202284565e-7,3.573021274405619e-7,3.7416907616716344e-7,3.1087432716958574e-7,3.706501559008757e-7,1.8159762760205922e-7,2.960990173050959e-7,3.2668427962789792e-9,1.7206878055731067e-7,-1.4935011449779267e-7,2.215257310922425e-8,-2.558177527589578e-7,-1.244094391950057e-7,-3.4790230074577266e-7,-2.48221766696588e-7,-4.0844787463356624e-7,-3.424703720611433e-7,-3.83691684646692e-7,-3.784057298616972e-7,-3.049817678402178e-7,-3.52345750798122e-7,-2.4648699081808445e-7,-3.195747524387116e-7,-1.5783344053943438e-7,-2.518800101825036e-7,3.3997068271673925e-8,-6.30552534630624e-8,2.2121484732906538e-7,1.4892148669787275e-7,3.141547040286241e-7,2.5954253146664996e-7,4.2449011061762576e-7,3.912932697858196e-7,5.711276571673807e-7,5.997012522129808e-7,5.73685213112185e-7,6.688356961603859e-7,3.7676232977901236e-7,5.146665671418305e-7,1.2447100061763194e-7,2.9143745905457763e-7,-7.52123909819602e-8,5.3134645128238844e-8,-2.977363067202532e-7,-2.6843949285648705e-7,-6.520573947454977e-7,-6.28192310614395e-7,-9.370967291033594e-7,-8.570544878239161e-7,-8.548654477635864e-7,-9.001176977108116e-7,-5.94005030052358e-7,-8.865962399795535e-7,-4.7458777885367454e-7,-8.468994110444328e-7,-3.512149930884334e-7,-6.936784302524757e-7,-8.961339403867896e-8,-4.980943231203128e-7,1.230076236424793e-7,-3.2142719419425703e-7,2.4483753691129095e-7,-8.036778353925911e-8,3.2601849397906335e-7,1.5931499319776776e-7,2.634457132444368e-7,3.075739698488178e-7,1.0006087336478231e-7,4.02592405635005e-7,-1.3917727414991532e-8,2.7964540549874073e-7,-1.6491451049205352e-7,-1.252113293048751e-7,-4.322458266869944e-7,-3.4416802918713074e-7,-5.973930683467188e-7,-1.608441806411065e-7,-5.607481625702349e-7,-9.189005822918261e-8,-6.423296667890099e-7,-4.1814701035036705e-7,-8.845384513733734e-7,-6.042727704880235e-7,-6.649395345448283e-7,-1.4977459272813576e-7,2.076261296224402e-7,6.342019105431973e-7,9.887080523185432e-7,0.0000011756283129216172,0.0000012178294355180697,0.0000014045423313291394,0.0000012169082310720114,0.0000014515543398374575,0.0000013197013686294667,0.0000013726862562180031,0.0000014580078868675628,0.0000013222773986854008,0.0000011356053164490731,0.0000010844875077964389,1.0777938541650656e-7,2.2619612138896628e-7,-7.482602768504876e-7,-7.17060970600869e-7,-6.657965059275739e-7,-8.349057907253155e-7,-3.209282795069157e-7,-3.6607696074497653e-7,-3.680989948406932e-7,-1.1575120595352928e-7,-4.95609242534556e-7,-3.544887476891745e-7,-5.947504178038798e-7,-8.185001547644788e-7,-7.568756359432882e-7,-9.477171829530562e-7,-7.301545679183619e-7,-6.806443479945301e-7,-6.662963869530358e-7,-7.349966608671821e-7,-9.223255688084464e-7,-0.0000011680775742206606,-9.623134928915533e-7,-0.0000011299755442450987,-5.716998430216336e-8,-4.1727275856828783e-7,0.0000012798651596312993,4.575892944558291e-7,0.0000017962800029636128,0.0000010811531865329016,0.0000012475534276745748,0.0000010263622698403196,6.50961169412767e-7,3.0017449148544983e-7,6.232056648514117e-7,-2.1072614231343323e-7,5.681872607965488e-7,-1.0082136014943899e-7,5.6389637848042184e-8,-3.821854477337183e-8,-1.9356215830157453e-7,-8.707064580448787e-8,3.1259128263627645e-7,3.307707174826646e-7,6.644752374995733e-7,5.657690280713723e-7,2.2780943709221901e-7,-9.992874083764036e-8,-3.080589294768288e-8,-4.176954746526462e-7,3.027119532816869e-7,2.994362375829951e-7,2.1587086962426838e-7,4.623799156888708e-7,-6.439171329475357e-8,-1.8978136040459503e-7,6.838890840299428e-7,1.823492823405104e-7,0.0000016455330751341535,0.000001461430429117172,0.0000012464244036891614,0.0000017142567685368704,1.521793251413328e-7,8.734431844459323e-7,-2.2615671468884102e-7,3.06045933484711e-7,-2.8238775939826155e-7,7.30272518012498e-8,-0.00000103277864127449,-6.274767088143562e-7,-0.0000019067788343818393,-0.0000013300996215548366,-0.0000018798998553393176,-0.0000011391654197723255,-0.0000017127154023910407,-0.0000010173259852308547,-0.000002217254632341792,-0.0000019248880107625155,-0.0000020913898879371118,-0.0000021242335606075358,-5.66933863410668e-7,-2.713406956900144e-7,8.740189514355734e-7,0.0000017201797390953288,0.000001283963001696975,0.0000020493916963459924,0.000001458434553569532,0.0000017541703982715262,0.0000023141244582802756,0.0000024709238459763583,0.000003410554882066208,0.0000036500086935120635,0.000002940127160400152,0.0000032614680094411597,9.374844012199901e-7,0.0000014839671393929166,5.367808171286015e-7,0.0000010193630259891506,0.0000026928789793601027,0.000002544775270507671,0.0000042918609324260615,0.000004003791673312662,0.0000036620276659959927,0.000004126029125472996,0.0000026585357773001306,0.0000032682805795047898,0.000002984725369969965,0.000002696561978154932,0.0000035732336982619017,0.0000029659092888323357,0.0000024645387384225614,0.0000024580745048297103,7.03024511494732e-7,8.939995268519851e-7,3.9872708157417946e-7,4.0552660607318103e-7,2.736072133302514e-7,5.195767585064459e-7,-6.794140290367068e-7,-3.420753387217701e-7,-8.344152320205467e-7,-9.72813950284035e-7,-8.701111937625683e-7,-0.0000012382436125335516,-0.0000019544306724128546,-0.0000023187603801488876,-0.000002346559995203279,-0.0000032190364436246455,-0.000002146023462046287,-0.0000034883794342022156,-0.000002175008376070764,-0.0000032290981835103594,-7.618077688675839e-7,-0.0000014997837070040987,3.1260697141988203e-7,-6.726122592226602e-7,-0.0000018081600501318462,-0.0000030780636279814644,-0.0000033705023270158563,-0.0000045586630221805535,-0.0000017679449229035527,-0.0000024891428438422736,-7.876126346673118e-7,-8.457274702777795e-7,-0.000001939183221111307,-0.0000018313490954824374,-0.0000030375533697224455,-0.0000032928546715993434,-0.000002612765911180759,-0.0000027941657663177466,-1.2583780062414007e-7,-1.304837837778905e-7,0.000002071829158012406,0.0000012727984994853614,0.0000010511553227843251,-1.8225119902126607e-7,-8.205987001019821e-7,-6.519076123367995e-7,-5.326791665538622e-7,7.292591703844664e-7,3.8590383155678865e-7,6.530359542011865e-7,8.554245312097919e-8,-2.893132773351681e-7,-0.0000011364130614310852,-3.044409879748855e-7,-0.0000015163764146564063,-2.6364565997027967e-7,2.97657777537097e-7,6.473703706433298e-8,0.000001827797973419365,7.450047974089102e-7,0.0000011695537978084758,8.898541636881419e-7,0.0000016373277276215958,0.00000214285728361574,0.000004091570190212224,0.000004667096163757378,0.000004342218744568527,0.000004851250650972361,0.0000016070987385319313,0.000002105672592733754,-8.746696380512731e-7,-4.304055778447946e-7,-9.53932840275229e-7,-0.000001061122361534217,9.499452744421433e-7,-3.891087771989987e-7,0.0000013530089972846326,-2.494775799277704e-7,-0.0000016349131328752264,-0.00000132011086861894,-0.0000037219176647340646,-0.0000016550230839129654,-0.0000018801339365381864,-5.213034341977618e-7,3.8171768323991273e-7,4.5613657562171284e-7,5.042894031248579e-7,8.237010433731484e-7,3.6334296282802825e-7,8.760717378208938e-7,0.0000012198424883536063,2.7994315132673364e-7,0.000002176149791921489,-5.067900019639637e-7,0.000002342127800147864,-8.856314934746479e-7,0.0000014781663821850088,-0.0000013078295069135493,-3.082652710872935e-7,-0.0000021032362838013796,-0.000002368892637605313,-0.000002730813321250025,-0.0000034160445920861093,-0.0000024211738036683528,-0.0000029086347694828874,-0.000001562975739943795,-0.0000019350463844602928,-0.0000014834488410997437,-0.0000014534834917867556,-0.0000016977220411718008,-0.000001213783093589882,-6.728521384502528e-7,-5.774323881269083e-7,6.11771270087047e-7,9.30576675273187e-7,8.939668418861402e-7,0.0000027284738735033898,0.0000018481326833352796,0.000003407468284422066,0.000004100708338228287,0.000003105833684458048,0.000004962969796906691,0.0000029469849778251955,0.0000037807042190252105,0.000002233268787676934,0.0000031275560559151927,8.682991392561235e-8,0.0000028762378860847093,-0.0000017796860447560903,6.71204247737478e-7,-0.000001924816388054751,-0.0000020046747977175983,-0.0000019394990431464976,-0.000002175224835809786,-0.000002797315119096311,-9.022790550261561e-7,-0.0000029163450108171673,-4.2059861016241484e-7,-0.000002293946636200417,-8.709507710591424e-7,-0.000002271910261697485,-0.000001970868197531672,-0.000001801297685233294,-0.0000029321738566068234,-4.773514774569776e-7,-0.000002368856030443567,5.963245541806828e-8,-3.129603953766491e-7,8.343644140040851e-7,0.000001990498731174739,0.0000029133886982890544,0.0000031243421290128026,0.0000034031081668217666,0.0000025283086415583966,0.0000014670375776404398,0.0000014539837138727307,1.7197021406900603e-7,6.120799866948801e-7,7.339646117543452e-7,-1.7980983102461323e-7,0.00000206096865440486,2.195063188992208e-7,0.0000024490736905136146,9.115740340348566e-7,0.000001012251686915988,-7.794897669555212e-7,2.7506416699907277e-8,-0.0000024963355826912448,4.2787877418959397e-7,-0.0000011866404747706838,-6.74784530474426e-7,1.879491264844546e-7,-0.000002654897798493039,-3.367568979228963e-7,-0.0000023314582904276904,-6.135625199021888e-7,-7.370135222117824e-7,5.8683184533947497e-8,8.916401839087484e-7,0.0000014124995004749508,0.000002813352239172673,0.0000026935217647405807,0.0000029301741051313,0.0000022357385205395985,0.000001388805912938551,0.0000018279930600328953,0.000001394297441947856,0.0000029639745662279893,0.0000018493608422431862,0.0000016150321471286588,3.5992877656099154e-7,-0.000002704265398278949,-0.0000010994443755407701,-0.000004828819328395184,-0.0000013743367617280455,-0.000005059882369096158,-0.000002426815854050801,-0.000006455979018937796,-0.000003922141331713647,-0.000006152407877380028,-0.0000028160709462099476,-0.0000024322541776200524,0.0000010553062566032168,3.0933875905247987e-7,0.0000034888794289145153,4.5727097131020855e-7,0.000002063457259282586,0.0000012197371006550384,-2.0020483049165705e-8,0.0000027144808427692624,2.0493121155595873e-7,0.000002951913074866752,5.058386705059092e-7,0.0000032117116006702418,-0.0000018270185364599456,0.0000033168328172905603,-0.000004480983534449479,4.185849320492707e-7,-0.000003851749170280527,-0.0000025518065740470774,-0.000001983080892387079,-0.0000010308563105354551,-0.000002553476633693208,0.0000011045649443985894,-0.000003134451389996684,-7.845445111342997e-7,-0.0000015007548199719167,-0.000004307928065827582,-7.732348876743345e-7,-0.000005889574822504073,-6.64547201267851e-7,-0.0000036463213746174006,0.0000014335303148982348,9.660944897404988e-7,0.0000030718933885509614,0.000002293975967404549,0.000004045246441819472,4.4917024411006423e-7,0.00000643897510599345,0.000001357122073386563,0.000005552279162657214,0.000003269643684689072,7.760314701954485e-8,9.674236025603022e-7,-0.000001983548600037466,-0.000003136755140076275,6.122683657849848e-7,-0.000005188488557905657,0.0000012430969036358874,-0.000005397181666921824,-0.0000011439969966886565,-0.000004655254997487646,-0.0000034371810215816367,-0.0000031633135222364217,-0.000004312693818064872,-4.008234952834755e-7,-0.0000041818429963313974,0.0000022276451545621967,-0.000004215441549604293,0.0000017187583125632955,-0.0000034841016258724267,6.790135671508324e-7,-0.0000010553040965533,0.0000027846174361911835,2.2888437456458632e-7,0.0000037306460853869794,-3.539622639436857e-7,4.354231180059287e-7,-4.999796487936692e-8,-0.000002381189915467985,3.447065068939992e-7,-0.0000015586550716761849,-0.000001388713258165808,0.0000010854568017748534,-0.0000035118382584187202,0.0000024505141027475474,-0.0000027599924123933306,0.0000012928514934174018,3.452988153185288e-7,9.147630066763668e-7,4.678361165133538e-8,0.0000029235700367280515,-0.000004951607479597442,0.000002497083642083453,-0.0000061007790463918354,-0.000002038024604189559,-8.928830084187211e-7,-0.000005155670351086883,0.0000024980663511087187,-0.0000027834005322802113,0.0000030437615805567475,0.0000020207432953611715,0.000005872328074474353,0.0000023667914774705423,0.000008525761586497538,-0.000001744319888530299,0.000006328796189336572,-0.0000031836743801250122,5.817118449158443e-7,-0.000002760403958745883,-0.0000035621792449092027,-0.000005721019078919198,-0.0000031907666198094375,-0.00000798531254986301,-0.0000031328777367889415,-0.000007057904895191314,-0.000006145962288428564,-0.0000067292294261278585,-0.000004455939688341459,-0.0000036864155390503583,0.0000028903127713419963,0.000003648249503385159,0.0000055629725466133095,0.0000065096337493741885,0.000002313576715096133,0.000003299622903796262,-7.386475431303552e-7,0.0000011346337487339042,-0.000002999298430950148,0.0000012600233958437457,-0.000004482871645450359,0.0000012339850172793376,-0.000005028339273849269,-3.190280040143989e-8,-0.0000065708190959412605,-0.000002137759793185978,-0.000007463507699867478,-0.000002253582579214708,-0.000006214255336089991,-7.441607294822461e-7,-0.000005036740731156897,-8.026523801163421e-7,-0.0000038829380173410755,-0.0000014424687151404214,-0.000002219082944066031,-0.0000020632605810533278,-2.967931038710958e-7,-0.0000033134051591332536,0.000003112592821707949,-0.000001956977257577819,0.000004888274361292133,0.000001258301949746965,0.000002539396518841386,0.0000012315238109295024,0.0000029573939173133112,-3.9749210145600955e-7,0.000007965088116179686,-3.201979836831015e-7,0.000008430645721091423,-5.8561276716773136e-8,0.0000023614306883246172,-6.812036303927016e-7,-0.000002683240154510713,-0.000002635863893374335,-0.000002422957550152205,-0.000004931941020913655,6.032428245816845e-7,-0.000004697282747656573,9.093607786780922e-7,-0.000004782049927598564,-0.0000014407632988877594,-0.0000074239114837837406,-7.167645890149288e-7,-0.000005518366833712207,0.0000017230380535693257,0.0000018537798496254254,3.114373328116926e-7,0.00000475042725156527,-0.000002284921265527373,0.000001991696535696974,-0.0000018958348846354056,0.0000018167754660680657,-4.297342002246296e-7,0.000005431287263490958,-2.5431930339436803e-7,0.000006547586508531822,-0.0000019510043784976006,0.0000021715609364036936,-0.000005160231921763625,-0.000003922723863070132,-0.00000864976755110547,-0.0000069777229327883106,-0.00001098142092814669,-0.000004680390702560544,-0.000009758781743585132,0.0000025811777959461324,-0.0000064820569605217315,0.000006200225016073091,-0.0000068604194893850945,-0.000001493326294621511,-0.000008256333785539027,-0.00000808436016086489,-0.000005116302872920642,-0.0000019706062630575616,-0.0000036357112094265176,9.638056326366495e-7,-0.000006723561000399059,-0.000010043848305940628,-0.000005082299139758106,-0.000017330961782136,0.0000022783654003433185,-0.000010823952834471129,0.000007848390850995202,4.930726049678924e-8,0.000009791321645025164,0.000010214233043370768,0.000006767637387383729,0.000014693004231958184,6.522810167552962e-7,0.00000584156759941834,0.000001056483142747311,-0.0000061027412812109105,0.000005941973086009966,-0.000003799846808760776,0.0000032200546229432803,0.000007958360583870672,-0.000002986663048432092,0.000010821105206559878,-0.0000017829129319579806,5.535289915314934e-7,0.000002348450379940914,-0.000008360521860595327,0.0000030174969651852734,-0.0000035998295970784966,0.000003019416453753365,0.000005565047104028054,0.0000018894493223342579,0.0000023230936676554848,-0.0000034996205613424536,-0.000009694063919596374,-0.000008751128007133957,-0.000014601409930037335,-0.000007933239430713002,-0.000009449898243474308,-0.000002970120021927869,-0.000001097449057851918,-9.543623491481412e-7,0.00000434171261076699,-0.000004111882390134269,6.79061088249e-7,-0.000004496859673963627,-0.000008936454833019525,0.0000034232402867928613,-0.00000979360265773721,0.000009566062544763554,-3.9706472421130456e-7,0.000004433742105902638,0.000003042325033675297,-0.0000030128887829050655,-0.0000029714519769186154,-0.000003187324637110578,-0.000004348108632257208,-0.0000033043913845176576,0.000002110427658408298,-0.000010759151336969808,0.0000043579448174568824,-0.00001797520599211566,-8.999119245345355e-7,-0.000014672106772195548,-0.0000032756438486103434,-0.000003837559233943466,7.575903282486252e-7,0.0000024387154553551227,0.0000023866900846769568,0.00000110207599846035,-3.6517462831398007e-7,8.478238555653661e-7,3.2741291988713783e-7,0.000003992907295469195,0.0000034631802918738686,0.0000039670776459388435,0.000002545645429563592,0.0000018931576732938993,0.000001866697971308895,0.000004212356543575879,0.0000053428002502187155,0.000007821597137080971,0.000004359905233286554,0.000005222345862421207,-0.000005469212737807538,-0.0000021719831693189917,-0.000014025296877662186,-0.000007200156233011512,-0.000013071728062641341,-0.000008534292646800168,-0.00000858534622238949,-0.00000976859428192256,-0.000009199759006150998,-0.000009531527211947832,-0.000010971834853990003,-0.000005088163561595138,-0.000006511634637718089,-0.000001014210738503607,-0.0000015070510244186153,-3.342962884289591e-7,-0.0000030100443382252706,8.833947049424751e-7,-0.000003861757249978837,0.000002195649585701176,0.000002458319613651838,-1.23842681887254e-7,0.00000901737621461507,-0.000003161710992571898,0.000009653032066125888,-0.0000028306942567724036,0.000009005831088870764,9.146923218850134e-9,0.000010942871995212045,0.0000025969563921535155,0.000009264066648029257,0.0000022111939870228525,6.530254381686973e-8,-9.742769861986744e-7,-0.000006675535132671939,-0.000003203911774107837,-0.000003444060439505847,-0.0000023708191747573437,0.000001115949544328032,5.889252463475714e-8,-4.270693807484349e-7,0.000001317725491389865,-0.0000026383902422821848,0.0000010433889201522106,1.8245710009523464e-7,0.0000014354809536598623,0.000004203336175123695,0.000001658768496781704,6.893950512676383e-7,0.0000023416355361405294,-0.000008033041922317352,0.000007374636879831087,-0.000007646023732377216,0.000008112931027426384,5.110888992021501e-7,-0.0000038381062950065825,0.0000019791827980952803,-0.000011966791134909727,8.282994201636029e-8,-0.00000741668827686226,-9.075603202290949e-7,-0.000007570427897007903,-0.000009879624485620297,-0.000012811858141503762,-0.000015449104466824792,-0.000011708017154887784,-0.000005085837074148003,-0.000013832926015311386,-0.000002735949237830937,-0.00001657587563386187,-0.000017186963304993697,-0.0000036362621358421165,-0.000018992810510098934,0.000007856337106204592,-0.0000052445338951656595,0.0000016284280945910723,0.0000011946658560191281,-1.574869372689136e-7,0.0000027136939024785534,0.00000893616470420966,0.000007166011528170202,0.000008467269253742415,0.0000052992504606663715,0.000002132426743628457,-0.0000022123847429611487,0.0000036260689739719965,-0.000002493302417860832,0.0000036938338325853692,0.000005352163043426117,-0.000002791706265270477,0.000009312153451901395,-0.000001128120175053482,0.0000035371313060750253,0.00001125568087445572,-0.0000020741836124216206,0.000012978097402083222,2.395776448338438e-7,-0.000004805451681022532,0.000002885989260903443,-0.00001947880446095951,-1.5120596685846976e-7,-0.000016683519788784906,-0.000007136851309041958,-0.000011193683349119965,-0.000014262281183619052,-0.000010445800398883875,-0.000009302071703132242,-0.000006918155577295693,0.000010121770174009725,-0.0000032635687148285797,0.000020283247067709453,-0.0000016351533531633322,0.000010875545740418602,0.000003298426008768729,7.659355674149992e-7,0.000006105294687586138,-0.0000028685344659606926,0.0000018908134507000796,-0.000006559243047377095,-0.0000019376418549654773,-0.000005664392574544763,-0.000003935931545129279,2.3137319260513323e-7,-0.00000724212304703542,-4.4132727339274425e-7,-0.000008509233339282218,-0.000007299334811250446,-0.000008296520718431566,-0.00000775383068685187,-0.000009888088243314996,-6.643310825893423e-7,-0.000009194859558192547,0.0000012217028597660828,-0.0000027014796160074184,-0.000005580995548370993,0.000005727384177589556,-0.000007603383437526645,0.000008626728231320158,6.461232260335237e-8,0.0000024963719624793157,0.00000464674667455256,-0.0000041028060877579264,2.581153353276022e-7,2.623970658532926e-7,-0.000006722665148117812,0.000012226168109918945,-0.000011507665476528928,0.000016527443222003058,-0.000011158333109051455,0.0000042172537177975755,-0.0000065073568293883,-0.000012681543921644334,-0.0000026030968456325354,-0.000012896824046038091,2.7767310939452727e-7,-7.741859917587135e-7,1.6417632764387236e-7,-2.5143609150291013e-7,-0.000006684098025289131,-0.000011173764505656436,-0.000009685449185781181,-0.000015014666132628918,-0.0000022032122615200933,-0.000009355964721180499,-1.9668235040626314e-7,-0.0000019861199689330533,-0.000008735361916478723,2.1953218265480245e-7,-0.000010307759112038184,-0.000009043864338309504,-7.931564027785498e-7,-0.00001973225880647078,0.0000075621992436936125,-0.000012366611372272018,0.000009776677870831918,0.00000898778216651408,0.000007269413345056819,0.0000215316831599921,0.0000028081617529096548,0.00001463560329284519,0.0000013555286386690568,-8.18370210708963e-7,0.000003976112566306256,-0.000005741392214986263,0.000006475459940702422,0.0000016396104456362082,0.0000032634761737426743) |
| |
| , |
| |
| new Array(0.000003079756197621464,-0.000007045533948257798,-0.000005584218797594076,-0.000014535641639668029,-0.000009336939911008812,-0.000009002875231090002,-0.000005781885192845948,0.00000253107532444119,-0.000002653517412909423,0.0000052440332183323335,2.61081083863246e-7,-0.000004180499217909528,-0.000001123604306485504,-0.00001392687681800453,-0.000013051283531240188,-0.000008770004569669254,-0.00002213554034824483,0.000006507052603410557,-0.000012553733540698886,0.000008663148946652655,0.0000043216405174462125,-0.000003365547172506922,0.000009666131518315524,-0.0000036936494325345848,0.000008714309842616785,0.000011746677955670748,0.00001345210421277443,0.000016736059478716925,0.000014740943697688635,0.0000011494975069581415,0.0000037885874917265028,-0.000013101015611027833,-0.0000028683189157163724,-0.000007050486146908952,0.000006106271939643193,0.000007029236712696729,0.000013492718608176801,0.000005168927600607276,0.000007264246960403398,-0.000009827103895077016,-0.00000253483312917524,-0.000016045227312133648,-0.000009338813470094465,-0.000011414746950322296,-0.000013670570297108497,-0.000009242834494216368,-0.000013137173482391518,-0.000009129987120104488,-0.000011171797268616501,-0.0000058122036534768995,-0.000011200489097973332,-0.000004491418167162919,-0.00000646262924419716,-0.000006156059498607647,3.744167713648494e-7,-0.000003603997356549371,-0.0000037651313959941035,9.045492106452002e-7,-0.000011486084076750558,-0.0000013693146456716931,-0.000005032851731812116,-0.000007804138476785738,0.000005861616500624223,-0.000010557558198343031,0.000001025069195748074,-0.000010377891157986596,-0.00001071288625098532,-0.000007369986633420922,-0.000011507268027344253,0.0000020538736862363294,-0.000008385878572880756,0.000009365067853650544,-0.000009505479283689056,0.000005552293714572443,-0.000003929438207705971,0.000001957044105438399,0.000007157846994232386,0.000005618156137643382,0.000008056893420871347,0.000004114352577744285,0.000004444902970135445,-0.0000015129552366488497,0.000009714583939057775,0.0000034346257962170057,0.000016184803826035932,0.000013940394637756981,0.000017429176295991056,0.0000162159776664339,0.000018516269847168587,0.000009985662472900003,0.00001675341081863735,-5.474975068864296e-7,0.000010761052180896513,-0.000010513853339944035,0.000006836903139628703,-0.000015860308849369176,0.0000032462696708535077,-0.000019273027646704577,-0.0000022639590042672353,-0.0000182041221705731,-0.00000642911572867888,-0.000009331621185992844,-0.000010752169146144297,-0.000006398724053724436,-0.00001092150341719389,-0.000013978446986584459,-0.0000019830717974400613,-0.000011518278370203916,-7.679133773308422e-7,0.00000411232394981198,-0.000015622126738890074,0.00001020661602524342,-0.000023934420823934488,0.000003655438376881648,-0.000017996595488511957,0.000005628106464428129,-0.000014397246559383348,0.000023149037588154897,-0.000012422369763953611,0.00003686188574647531,-0.000005164674803381786,0.000029579034162452444,-0.000004279142558516469,0.000011904862731171306,-0.000011054169590352103,0.0000026817510843102355,-0.000007146421012294013,7.300119477804401e-7,0.00000716379463483463,-9.475870115238649e-7,0.000011135504792036954,-0.0000028848432975792093,0.000004333846391091356,-0.00001217265071318252,0.00000525720497535076,-0.000030126569981803186,0.000012700701518042479,-0.000037628265999956056,0.000014790118257224094,-0.00002364890133321751,0.000018574042769614607,-0.000005623247034236556,0.00002481713454471901,-0.0000035716459478862816,0.000016272791981464252,-0.00001041365885612322,7.962548806972336e-7,-0.000004117006483284058,0.000002073728182949708,0.000012243942364875693,0.000011528453796927352,0.000014823122910456732,0.00001140338645200245,0.000006756795755791245,0.000006846646101621445,0.000009838297046371736,0.0000024178214061976178,0.000019338038327987306,-0.0000035010277770197717,0.000020548633983707987,-0.00000739722554499167,0.000016951227735262364,-0.000011693926353473216,0.00001124812479247339,-0.000018294836991117336,4.6700102984686964e-7,-0.000020315797883085907,-0.00001102216265280731,-0.000019213801351725124,-0.000017865449990495108,-0.000017930700778379105,-0.00001534548937343061,-0.000010813826520461589,-0.000003645355718617793,-0.000004975350748281926,0.0000019148487808706705,-0.000009077783943212125,-0.000004406498646858381,-0.000008117423021758441,-0.000006159430995467119,0.0000044337293729768135,-0.0000020885263438685797,0.00001081783830159111,-0.0000062843064370099455,0.000009586233318259474,-0.000010778067007777281,0.000013238699466455728,-0.0000024827570541674504,0.000012394535588100553,0.000008359386811207514,-0.0000011964989425905515,0.000011864392945426516,-0.000006844144081696868,0.00001212747156387195,0.000005946681085333694,0.000008978144251159392,0.000013611196663987357,0.0000014777727983528166,0.000004516868557402631,-0.000001135800971496792,-4.0124223232851364e-7,0.000004324659130361397,0.000007783763066981919,0.0000074882691478705965,0.00001351374066871358,0.000005585980943578761,0.000013525607755582314,0.0000072519515015301295,0.00001596198126208037,0.000011330633242323529,0.00001667377546255011,0.000011497910236357711,0.00001142141263699159,0.00001416644317941973,0.0000030732642244402086,0.000019874687495757826,-0.000009063298421096988,0.000012172569768154062,-0.00001685972347331699,-0.000006543353720189771,-0.000007671710591239389,-0.00000897354129847372,0.0000036098872442380525,0.000008662557775096502,-0.000004769496172229992,0.000016347627024515532,-0.000018694472601055168,-0.0000016639005480101332,-0.00001712615448923316,-0.000021529813238885254,-0.00001112355494115036,-0.00001515701660537161,-0.000012410739145707339,0.000004771038675244199,-0.000005557539680012269,0.000004452776920516044,0.00001637774403207004,-0.000011125454875582363,0.000028977285182918422,-0.00000831189208838623,0.000017143711374956183,0.00001176083787868265,0.0000014372878922586096,0.000018619317415868863,-4.095253984814917e-7,0.0000057142856348946225,0.000003475568746580393,-0.0000069119478212087415,0.000007696536158618983,-0.000003389268840692239,0.000012544330274977256,0.000012063308531651273,0.0000075440393629833125,0.00001954874096554704,-0.000004191128937236499,0.000009394925655215047,-0.000002214434289271594,-0.000004688718945544679,0.000007948830898385495,-0.000009118418347497936,0.0000011970444120379398,-0.0000056666431191843,-0.00002026224865403492,-0.0000019875728867191356,-0.00002999846219609026,-0.000003943970114050899,-0.000012564681128424127,-0.000010138632205780596,0.00001746085581544321,-0.000013649312677443959,0.000027959269573329948,-0.000010523734999878798,0.000012849625818489585,0.000001351437390439969,-3.670769785912853e-7,0.00001497308949183207,0.000002791178758343449,0.000012750263522320893,0.000013458100511343218,4.066057215368346e-7,0.00002175646659452468,0.0000032445300348626915,0.00001627408346394077,0.000014102012755756732,3.48547814610356e-7,0.000009687917554401793,0.0000011480459534141119,-4.2791418763954425e-7,0.000019152239474351518,-6.341405196508276e-7,0.000018948061551782303,0.0000036513481518340996,-0.0000062531571529689245,0.000009545680768496823,-0.000024813129130052403,0.000016652278645779006,-0.000018440034182276577,0.000017343440049444325,-3.587248897929385e-7,0.000010243666110909544,0.00000628847419648082,-2.8749840907948965e-7,-0.000003840634690277511,-0.000006959578513487941,-0.000013347347703529522,1.2497545753831218e-7,-0.000008933499884733465,0.000012038509339618031,0.000004157961939199595,0.00000892525349627249,0.000014358175576489884,-0.0000017458401089243125,0.000015531888493569568,0.0000011401114079490071,0.000013105558537063189,0.000012283217984077055,0.000013530539945350029,0.000011530215488164686,0.00001159277690021554,5.350490255295881e-7,0.0000063530819716106635,-6.013257234371849e-7,0.0000031688239232607884,0.000008902071385819,-0.0000030289324968180154,0.0000104135970104835,-0.000009928397048497573,0.000004485893896344351,-0.000005377505658543669,-0.0000013817983699482284,0.0000027258081445324933,-0.00001797814547899179,0.000005427595169749111,-0.00003357703462825157,0.00001153597349912161,-0.000016713764125597663,0.00001749700095388107,0.00001582923869136721,0.000018839591575670056,0.000024307311832671985,0.000028232167096575722,0.000012363442692731041,0.00003313900015200488,4.921504341837135e-7,0.000008201181117328815,-0.000004780452854902251,-0.00002234796374978032,-3.537929842423182e-7,-0.000019479883121675812,0.0000035339492114871973,0.0000019553631318558473,-0.000006310787284746766,0.0000048780952965898905,-0.000016523783415323123,-0.000006488742656074464,-0.00000970436303759925,-0.000006401556220225757,0.0000040938898564490955,-0.0000037819918361492455,0.0000036536346215143567,-0.000015109381820366252,-0.000009658116141508799,-0.000016028870959416963,-0.000012950125892530195,2.9602941253870085e-7,-0.0000048607880671625026,-0.0000029371478831308195,-0.000002008118826779537,-0.000014304634532891214,0.000009825911547522992,0.000006691116141155362,0.00003514895070111379,0.00003057632056879811,0.00003202812513336539,0.0000256546882155817,0.000005390306341723772,0.00002182609387091361,0.000009715551641420461,0.000023998347387532704,0.000029058137442916632,0.000014241700228012633,0.000018586209989734925,0.000014010002814757172,0.0000015582974128847127,0.000022730857381247915,-4.4055727244085574e-7,0.000007286446361831622,-0.000004155114311288344,-0.000015673245798097923,-0.0000013827599332216778,-0.000014323575669550337,0.000014420313164009713,-0.000004594429810822476,0.00001533803515485488,-0.000003257871640016674,-0.0000015057372593219043,-0.000002804571522574406,-0.000008264756615972146,-0.000002011342530749971,-1.9574802934130275e-7,-0.0000025387560071976623,0.0000055548180171172135,-1.6860264295814886e-8,0.0000012650032203964656,0.000004872145836998243,-0.0000017890718027047114,0.000006571066933247494,0.000007390759037662065,0.0000020470258732530056,0.000013906128515372984,-0.000004494631411944283,5.931532598424383e-8,-0.000005363530362956226,-0.000019025612346013077,-9.746487705797335e-8,-0.000022788828573538922,0.000005759361101809191,-0.000019057089957641438,0.000006455238690250553,-0.000020634686734410934,1.0177009812650795e-7,-0.000019465514924377203,-0.000004779817118105711,-0.000005687471002602251,-0.000001974281985894777,0.000007814288437657524,6.800347023272479e-7,0.000006204283181432402,0.0000022189678929862566,0.000003214903017578763,0.000011109933439001907,0.000014264518540585414,0.000020891659005428664,0.000024231410861830227,0.000021565774659393355,0.00002063306419586297,0.000018980705135618336,0.000019460489056655206,0.000016109910575323738,0.00002946244967461098,0.000004959099442203296,0.000031635663617635146,-0.000011636377166723832,0.000012494529073592275,-0.000017649961591814645,-0.000009775249054655433,-0.000009684803444542922,-0.000012299901754886378,-0.0000045431584112520795,-0.000004680217443819856,-0.000009361619959236123,-0.000006417827080440475,-0.000009478884749114513,-0.000008635995982331224,-0.000002210264710811316,-0.0000013944970760348951,-0.0000027300702640786767,3.419471852339484e-7,-0.000005760077328886837,-0.000005887148290639743,0.000009123318704951089,-0.0000018179079006586107,0.000034976685128640383,0.00000800656562205404,0.00004315484329708852,0.0000026375134893896757,0.000026162653739447705,-0.000009777288141776808,0.000008337022336490918,-0.0000043383224692661315,0.000008042879017011728,0.000011266129149589688,0.000007552520855824696,0.000007821462531865109,-0.000010834794011316262,-0.0000071405156631954014,-0.000023741020413581282,0.0000010096468940901104,-0.000008777444236329757,0.000024047909391811118,0.00001084489394997945,0.000021773150365334004,0.000009878775927063543,-0.000002468845650582807,0.0000019583242192311445,-0.000011829857612610795,0.000007180449301813496,0.0000019898930077033583,0.00002007572038564831,0.000023562599380966276,0.000022493708456750028,0.00003725415081134997,0.000009227091140928678,0.000025104887754423544,-0.000004577635081659537,-0.0000057226006902055815,-0.000007426877800753573,-0.000013954405403637793,-0.000007396818546112627,0.000010363718502048869,-0.000005682496066583553,0.000023153961592470296,0.000005215436885919189,-5.851776450072066e-7,0.000008301271009258926,-0.00002839875378413126,-0.000008671786417835392,-0.00002114908602379728,-0.000016385081835323945,0.000010340518201701343,-0.000003332814912937465,0.00001631920167710632,-0.00000240609824686544,-0.00001683917253103573,-0.000019458128008409403,-0.00004172520129941404,-0.00002798895184241701,-0.00002957127071567811,-0.00002257167943753302,-0.0000011277380735918996,-0.000006745275186403887,0.000029834796805516817,0.00001443145356461173,0.00004889423871645704,0.000019520353816915303,0.000028781312721548602,0.00001101738143916009,-0.000002304964709765045,0.000015570509276585653,0.000006559727353305789,0.00002491160194040276,0.0000246861109189922,0.00002092513932439033,0.000005571321253228234,0.000019767994672292843,-0.000017234433471458033,0.000029364162401179783,-0.000006860925623186631,0.00003287310028099455,0.000014419410035770852,0.00002570765900600236,0.000020948997189407237,0.000014982444554334506,0.00001133622572524473,0.000005069058261142345,-0.000007599034233862767,-1.9249199567639153e-7,-0.00002135621070920024,4.192748974674032e-7,-0.00001811559559428133,0.000005204026820138097,-0.00000684716133037,0.000006793804459448438,-0.000007115300377336098,-9.464126833336195e-7,-0.000015396170056192204,-0.000005022252480557654,-0.0000057560728237149306,0.00000310011228066287,0.00001830806468205992,0.000005690162652172148,0.000025002680558827706,-0.0000018066829170493293,0.000016883142961887643,-9.190588343699346e-7,0.00001677891305007506,0.000008744715159991756,0.000017492679035058245,0.000009262767889595125,0.000009641324140829965,-0.000007944317985675298,0.0000026682307634473545,-0.000028819362341891974,-5.567349248281062e-9,-0.000027849970138049684,2.9275554425112205e-7,-0.000011288384484942071,8.639408122235182e-8,-0.000010010178812080994,-0.0000057664710766403005,-0.000018038146663457155,-0.000005938334197708173,-0.000011676184840325732,0.00000538736594535294,6.286371672103996e-7,0.000010601774192764424,0.00000795031610323349,0.000006878713065816555,0.000014448815818468574,0.0000053991193453839514,0.000019121212972095236,0.0000037922372939647175,0.00002377148666710127,0.000004110886493435828,0.000028523567380034365,0.000009884578503260855,0.000025298351829405874,0.000009547493391437456,0.000019423143385211006,0.0000016244050584646175,0.00001698599044175353,-0.0000035492291772243334,0.000010943429515464231,-0.000004347200501797488,0.0000019216581677028444,-0.000004650058144761715,-0.000010098739949171431,-0.000013551755728258286,-0.00002283834692207165,-0.000026392148356535472,-0.000012812127351935487,-0.000015902620361885056,0.00001567458821227774,0.000012308804798522033,0.00002283371395606082,0.000024552044123993255,0.000011854270269395784,0.00002660317659319844,0.000012907260497740936,0.00003121679401374422,0.000015185296433628537,0.00002326429785171058,-7.34506613753183e-7,0.000012328557204455137,-0.000023603226509294473,0.000014685990208818112,-0.00003268428554292768,0.000009220393621944822,-0.00002234849307569675,-0.000007605170594615629,-0.000011407089004933368,-0.000006624821708101081,-0.000009982724805013277,0.00001263109425053699,0.000003306656026325072,0.00002181891250074841,0.000024524020773242228,0.000007929559615149628,0.000019206416254746728,-0.000012103923836548347,-0.000002410376964689931,-0.000014605987416871358,-0.000003715801540238317,-0.000006302369911281858,0.000010128199392056558,-0.000007889429980423301,0.000014167191693559289,-0.00001256161522178445,0.0000057639072110760026,-0.000005861424597242149,-9.619938055038801e-7,0.00000681865458318498,0.0000016880826478882227,0.000011544870176294353,0.0000037514641917368863,-2.56049020208593e-7,0.0000014714703411300434,-0.000014694560377392918,0.000007349543466261821,-0.000010221549928246532,0.000018233196897199377,-7.090650342433946e-7,0.00002102341750287451,-0.000006131372174422722,0.000020034074623254128,-0.000009446019248571247,0.000019742274162126705,0.0000019139167761750286,0.000014728439964528661,0.000014092046512814704,0.000003048159214813495,0.000020496132492553443,-0.000008900403372535948,0.000023662334569962695,-0.000005791300736746052,0.000022625017663813196,0.0000075333286986278836,0.000012899877219751943,-0.0000017856511931313435,-0.000006809377737226896,-0.000028199405278428458,-0.00001746432280924637,-0.00003172568540321663,-0.000006750207376171602,-0.00001866254024207592,-0.0000010079621688419138,-0.000013011737792112399,-0.00000956672738539055,-0.000004242810973664746,-0.000002119594682881143,0.000006584605671378085,0.00002223004776169546,0.000006579176442755852,0.000033968506613746285,0.000009475802471570205,0.000025046378141269088,0.000017056823708117008,0.000005184896053833654,0.000012699285434791818,-0.000006306862815108616,0.000008491949301969726,0.000004087344223080436,0.000018048402125714347,0.000011509853720781393,0.000021365476641221903,-0.000005565815172303701,0.000006844592917332193,-0.000022027259547030553,-0.000005569290806306526,-0.00002120573481079191,-0.000002695209104786045,-0.00001900665483844932,4.4863107007131475e-8,-0.000016556557966396213,-0.000010590822967060376,-0.0000065892354541574605,-0.000017760654372978024,-8.225159149333194e-7,-0.0000025858541903289733,0.0000011124238881166093,0.000020903720724163577,0.00001814771349017974,0.000027480426069814712,0.00004084043393959291,0.0000177144720510114,0.00004253354563843459,0.000010023189133789856,0.000033290092687821016,0.0000067583277996163815,0.000030763236281927675,-0.000003997994099336211,0.00001618833266547881,-0.000014886847566231154,-0.000012435123608156573,-0.00001306923968513729,-0.00002227741242677439,-0.000013466869859257713,-0.000015753304978716187,-0.000023232454623212107,-0.00001852498644439038,-0.00002162655619031284,-0.0000210459329537116,-0.00000750824165152153,-0.000011541855201357976,0.000005184509518585401,-0.0000010159284329347429,0.000017868627764983103,0.000005208628408581717,0.000021801406546728685,0.000004908810751658166,0.00000935355910769431,0.000002482380750734592,0.0000020374698124214774,0.000012640602108149324,0.0000043602076402748935,0.000021848769392818213,-0.000003835069946944714,0.000009052029781742021,-0.000015977773728081957,-0.00000437899689131882,-0.000015400755728478543,-0.0000011541671938175568,-0.000007877672032918781,-8.166315268454127e-8,-0.000005477804279507836,-0.0000075803836807608604,-0.000016252544810413383,-0.000015123989214771427,-0.00003125966031802818,-0.000023901306121842936,-0.00002719650547078345,-0.00002844541631930042,-0.000010009978723246604,-0.000019015275029232726,-0.000002046205736405682,3.0927870398045343e-7,0.000004475987225305289,0.000018435192032484338,0.000017293778000748716,0.000025111336071859114,0.00002306950045749545,0.000019393164620851167,0.000024574750568717718,0.000011862235623993911,0.00003010806358361151,0.000008740132216189522,0.000028634845875785686,0.000012442340448615141,0.00002007111288548913,0.000022071695639169775,0.00001786083885235712,0.000019058017642237246,0.000014229030057322234,-0.000005833061550220009,-0.0000042547835619188845,-0.00002718412179092411,-0.000025061946871574037,-0.00003152936915284954,-0.00003277888026786968,-0.00003887666389346123,-0.000034648659493541345,-0.000050274011300643906,-0.00003677815038827248,-0.00004247226388542913,-0.00002903110726037994,-0.000020898798538837582,-0.000010089145689562429,-0.000010234728506475221,0.000006811966159148142,-0.000005313822384778177,0.0000156254736793926,0.000009165262781607453,0.00002019751991610974,0.00002104634950228501,0.000026244979380862787,0.000020415984181454405,0.00003609451960073784,0.000021696680050808936,0.0000403553967771586,0.00002973491973534692,0.00002806495649565477,0.000031540897907689214,0.000004485058980208123,0.000023197349946713075,-0.00001706145121715963,0.000012635712664632592,-0.0000292308959615184,0.0000058418190747033805,-0.000030073091693338938,-1.1923079057396535e-7,-0.00002137258525181096,-0.000009712542123452295,-0.000012220786629768554,-0.000016407961084041744,-0.000012456388503778726,-0.000015059623365232255,-0.000008678027370478958,-0.000009216743819706608,0.000019928700567106716,0.000004287425326765515,0.00004467799226404168,0.00002016187136177905,0.000024435452360194176,0.000019308243281557225,-0.000007724876013526227,0.000009188834155793302,-0.0000019114108908979688,0.000012105027053621598,0.00002055629374808632,0.000020270883396733552,0.000018115131751983427,0.00001163760225608712,-0.00001510960100858938,-0.000021670934074791148,-0.00005311196582624689,-0.00005914847133681178,-0.00005459808380692266,-0.00006084770575398579,-0.000027462207071948797,-0.00003233471579733305,-0.000024315484552062117,-0.00001873439396149479,-0.00003443852983764373,-0.00001817194242903497,-0.000014029920748725999,-0.000009114837666857056,0.000012373760910122655,-0.000003239905254304176,0.000010735915566328913,-5.519689239008585e-8,-0.0000018883721395468456,0.00000311321650769969,-0.0000017775488458937616,-0.000006557762844749959,0.000015179120964603499,-0.00000455604003946064,0.000022281594283413142,0.000017691370885586366,-0.0000038258062886598054,0.000012033361599605996,-0.000019834642444038764,-0.000010000385373132303,0.000010684007975214627,0.000009171661986329127,0.00004517719935392961,0.00004714382521342486,0.0000477431713079568,0.00005181042797630653,0.000026211499061901122,0.00002550805947976187,0.000003884897068928694,0.00000662306683807401,0.000017071641195798293,0.00003120501423836686,0.00004284991882741451,0.00006512828258564696,0.000018203174477093853,0.00004200913826934993,-0.000014842201380815823,0.000003909772658516886,0.000008061370863288175,0.000021963762264931574,0.00003848099004244432,0.00005715851148124784,0.000043984284275211394,0.00006707866123178974,0.000052957908337702975,0.00006693915202049538,0.000049615926400292665,0.00005375961336540058,0.0000309937859128695,0.00003500019374769181,0.000029505476049962454,0.000029334600185393356,0.000023507789592258632,0.00001465066452510655,-1.0310985487649305e-7,-0.000006374973509082338,-0.000008675759090692736,-0.000009088520528166555,-0.000021084319087094627,-0.000024063272576313466,-0.0000631984366918914,-0.0000610212046012748,-0.00009105104982154444,-0.00007528847345383838,-0.00008082981366897002,-0.00007128059951355681,-0.00007338736031670123,-0.00008348179107997566,-0.00009302627586293966,-0.00010063370427815244,-0.00010311997175449505,-0.00009475899423705414,-0.00006107790977694094,-0.00005710756522603333,-0.0000045567167035187595,-0.000016807351130410098,-0.000008728594366402831,-0.000024047727492870763,-0.000054534481023438275,-0.00006562787166330963,-0.00006661251245532185,-0.0000764136275392957,-0.00004220175833324902,-0.00005006900755688548,-0.000025705265215947293,-0.000036733610613737255,-0.00002846791539923288,-0.0000510317986481823,-0.000025806351914070547,-0.00004952012750436552,0.000005754276116931578,-0.0000016414161336797406,0.0000425573016400449,0.00004579619053401984,0.00004338672079029493,0.000038616690289927647,0.000029018654458923265,0.000013091679647914134,0.00003744493369595148,0.000019917650206480175,0.000044882068323204294,0.00003138934698654339,0.00002662312181200832,0.000016957039406406693,0.000012313065781199839,0.000002333392103537335,0.00001934301690198481,0.0000014684613915960654,0.000014003498108650092,-0.000012435083590389695,-0.00001898372829600703,-0.000038960213714744896,-0.00003305000063846819,-0.00003180839848937467,-0.000003220078497179202,0.000009098755072045606,0.00001692907972028479,0.00001644175426918082,-0.0000025018243832164444,-0.000015483534298255108,-0.00001627800338610541,-0.000018092352547682822,-0.000013463391951518133,0.0000019396563857299043,-0.00003174218363710679,-0.0000160226827574661,-0.00005453410267364234,-0.00004583518239087425,-0.000040986185922520235,-0.000035656023101182655,-0.00001567927210999187,-0.000013575969205703586,-0.000018654585801414214,-0.000008182525562006049,-0.000031149891583481804,0.000004068513590027578,-0.000022341226213029586,0.000019159466319251806,-0.00001293922196055064,0.000003855884187942138,-0.00003387294782442041,-0.00002583240348030813,-0.000057961613492807373,-0.000027385123757994734,-0.000033527012419654056,0.0000016514985645699198,0.00003071745595661923,0.000041599003452574834,0.00007069997809594497,0.00007186799484770745,0.00005709023025701754,0.00006439198477892205,0.000029486905987141654,0.000029499340598704293,0.0000209078880288871,0.000017297805243288167,0.000013292264156916644,0.000027950874937232584,-0.0000013293877145770239,0.000019151208107359707,-0.000006482500339188846,-0.0000067296255110704806,-0.000007697241926507559,-0.000014276416550274007,0.0000016702936136425706,0.000015172436178545468,0.00004288800846552476,0.00006377120007527992,0.00006793632928747684,0.00007132426253519952,0.00002048872920568101,0.000012990089089726098,-0.000048709236580180004,-0.000047732733946759254,-0.00007167227886384353,-0.00006812359788455069,-0.000064849853515625,-0.00008061769040068612,-0.00006814341759309173,-0.00010230079351458699,-0.00008719259494682774,-0.0001180777617264539,-0.00008941548003349453,-0.00011921609257115051,-0.00003779408143600449,-0.00008811964653432369,0.000030435225198743865,-0.000025285318770329468,0.00004108916618861258,0.000014433621799980756,0.00001024217635858804,-0.000005194896857574349,0.000005180342213861877,-0.000034165761462645605,0.000023372396753984503,-0.000010869540346902795,0.00002539250453992281,0.00003357906825840473,0.000018433291188557632,0.00003062555697397329,0.000026741767214844003,-7.219643407552212e-7,0.00003656093031167984,-0.000001136163632509124,0.00003117337473668158,0.000021541796741075814,0.0000293058437819127,0.000043496882426552474,0.000037782541767228395,0.00007139385706977919,0.0000416023212892469,0.00009288021101383492,0.00005254682037048042,0.00009893468813970685,0.00006880204455228522,0.00010826986544998363,0.00005927990423515439,0.00011457254731794819,0.00005459919702843763,0.00010707223555073142,0.000094101473223418,0.00010680824925657362,0.00011209934746148065,0.00010920516069745645,0.000056838165619410574,0.00008033691119635478,-0.0000068494009610731155,0.000025022674890351482,-0.00002701147059269715,-0.000019174229237250984,-0.00003586516322684474,-0.00004372096373117529,-0.0000652634262223728,-0.00007542935782112181,-0.00009048141509993002,-0.00010400706378277391,-0.00006278631190070882,-0.00007421393820550293,0.0000025940585146599915,-0.000008294062354252674,0.0000325960099871736,0.000008096650162769947,0.00003069816739298403,-0.0000037499498830584344,0.000056778833823045716,0.000025616709535825066,0.00007991064921952784,0.00004987000284017995,0.000045740198402199894,0.000019337981939315796,0.000004544684998109005,-0.000008798326234682463,0.000008757365321798716,-0.0000021096132059028605,0.00001856036215031054,0.000004826958502235357,0.000005461828550323844,0.000007710723366471939,0.000010949572242680006,0.000018963972252095118,0.000044504369725473225,0.00002303562177985441,0.00004023867586511187,0.000010020921763498336,-0.000025972738512791693,-0.00001586198777658865,-0.00007700323476456106,-0.00004665309825213626,-0.000055274140322580934,-0.000052602150390157476,-0.0000061497439673985355,-0.00001668721961323172,0.000008728478860575706,0.000013330021829460748,-0.0000029871407605241984,-0.000004125208306504646,-0.0000026293639621144393,-0.00002612005664559547,0.0000065824074226839,-0.000017083671991713345,-0.0000046906184252293315,-0.00001556396091473289,-0.00002643541301949881,-0.00003281334284110926,-0.000039624956116313115,-0.00004113918112125248,-0.00007187780283857137,-0.00006438163109123707,-0.0001236143143614754,-0.00011173521488672122,-0.00012688638526014984,-0.00011649612861219794,-0.00006469413347076625,-0.00005987553595332429,-0.000014351888239616528,-0.000007210273906821385,-0.000016002846678020433,0.000014015030501468573,-0.000009058734576683491,0.00003463930625002831,0.000044094260374549776,0.00006039829531800933,0.00007179840031312779,0.00006237921479623765,0.000030082985176704824,0.000039645121432840824,-0.0000010439434845466167,0.000020206653061904944,0.00001813493508961983,-8.59565261634998e-7,0.000021399320758064277,-0.000031689640309195966,0.000003812285285675898,-0.00003198267222614959,0.00001682609217823483,0.0000013957578630652279,0.00004154344787821174,0.000013956621842226014,0.00004097841519978829,9.028317435877398e-7,0.000013097586816002149,-0.000017888380170916207,-0.000026429661375004798,-0.000042822484829230234,-0.00003054921762668528,-0.00004142971010878682,-0.000001531986526970286,-0.00001933212115545757,-0.0000132069308165228,-0.000039306974940700457,-0.00004899566920357756,-0.000061745238781441,-0.000037255726056173444,-0.000020425879483809695,-0.000015082103345775977,0.000013367198334890418,-0.00003093281702604145,-0.000012532468645076733,-0.000054078089306131005,-0.00003815422678599134,-0.00006230008148122579,-0.000032039140933193266,-0.000044264997995924205,9.833966032601893e-7,-5.77034370508045e-7,0.000045075670641381294,0.000020452816897886805,0.00004831075420952402,0.000016518073607585393,0.00002406950807198882,0.000028525224479380995,0.000029365415684878826,0.00002138098716386594,0.000015089812222868204,-0.00003114295031991787,-0.00005498417158378288,-0.00005744315421907231,-0.00008467251609545201,-0.000022096755856182426,-0.000038503785617649555,0.000013987733836984262,-0.000011090352927567437,0.000002372082235524431,-0.000031918280001264066,-0.000031449904781766236,-0.000032338593882741407,-0.00003993864811491221,-0.000005635174602502957,-0.00003002981611643918,-0.000012256874470040202,-0.00002950612542917952,-0.000029784107027808204,-0.000014617784472648054,0.00001263211561308708,0.00002073836003546603,0.000060902915720362216,0.00002685291474335827,0.00002972178117488511,0.000003865030521410517,-0.000011656133210635744,-0.0000019173003238392994,0.000016705547750461847,0.000012224107194924727,0.000058518213336355984,0.000023397415134240873,0.00006208814738783985,0.000014334675142890774,0.000048294361477019265,-0.000011518812243593857,0.00003706568531924859,-0.000009435871106688865,0.00004311736120143905,0.000036349370930111036,0.00005881915785721503,0.0000780311384005472,0.00005478940511238761,0.00009043554018717259,0.00005104908996145241,0.00008298666216433048,0.00006888940697535872,0.00006298254447756335,0.00007044045923976228,0.000054575710237259045,0.00005354037421057001,0.000060902479162905365,0.00005536368189495988,0.00004294863174436614,0.00005029814929002896,0.000005725249138777144,0.000005086803867015988,-0.000010700321581680328,-0.00004252125654602423,-0.000021980682504363358,-0.000058042256569024175,-0.00005544697341974825,-0.000054441989050246775,-0.00008118953701341525,-0.00004292158700991422,-0.00007777901191730052,-0.000035333177947904915,-0.00007716101390542462,-0.00005428513395600021,-0.00008297056774608791,-0.0000670280642225407,-0.00005144996976014227,-0.000014605345313611906,-0.00000779076071921736,0.0000432292181358207,-0.00003144462971249595,0.000004673118382925168,-0.00008541214629076421,-0.00005519864134839736,-0.00006174968439154327,-0.000014400528016267344,0.000012012095794489142,0.000047868241381365806,0.000030405124562093988,0.00002368395507801324,0.000001922777300933376,-0.000011832757991214748,0.0000026430798243382014,0.000012279679140192457,0.00003241767262807116,0.000024375991415581666,0.00003544256105669774,-0.00002144496829714626,0.0000066679922383627854,-0.00006405106250895187,-0.000002957086053356761,-0.00005756971222581342,0.000015621615602867678,-0.00003508651934680529,0.00001469517155783251,-0.00004308757706894539,-0.000010895128070842475,-0.0000762795825721696,-0.00001937178421940189,-0.00009255228360416368,-0.000009577730452292599,-0.00007198793900897726,-0.00001064251409843564,-0.00004143540354561992,-0.000017639989891904406,-0.00002866461181838531,-0.000003194289547536755,-0.00001008950584946433,0.000025677494704723358,0.0000337935853167437,0.00002025209141720552,0.00004816519140149467,-0.00003013358946191147,0.000005368628990254365,-0.00005807228444609791,-0.000014198250937624834,-0.000024669036065461114,0.00002980853787448723,0.00001305967180087464,0.0000615404496784322,0.000003169276169501245,0.000039045036828611046,-0.000026213239834760316,0.000006035425030859187,-0.000030444816729868762,-0.000012050156328768935,-0.000019078106561210006,-0.000029675369660253637,-0.000031799194402992725,-0.000055997508752625436,-0.0000721602700650692,-0.00009207191760651767,-0.00010938722698483616,-0.00013436700101010501,-0.00012641138164326549,-0.0001619315444258973,-0.00012095387501176447,-0.00015179513138718903,-0.00009973258420359343,-0.00012022676673950627,-0.00008012935722945258,-0.0001016552560031414,-0.000054741190979257226,-0.00008083759166765958,-0.00000593823006056482,-0.00002722652061493136,0.000044529537262860686,0.000031446641514776275,0.00007436021405737847,0.00005673569467035122,0.00008370971045223996,0.000051376631745370105,0.00005631861131405458,0.0000279171799775213,-0.0000013176068023312837,0.0000014861398085486144,-0.000035487813875079155,-0.00001107328716898337,-0.000028035083232680336,-0.000009004481398733333,-0.000013428236343315803,0.000007951015504659154,-0.000012215399692649953,0.000026802747015608475,-0.000010574289262876846,0.00001737370803311933,0.000018003340301220305,5.736237653763965e-7,0.00006992507405811921,0.00002058242716884706,0.00009748925367603078,0.000049604932428337634,0.00007757225830573589,0.0000480062335554976,0.000046539622417185456,0.000040741320844972506,0.0000359866680810228,0.000044753498514182866,0.00003149465555907227,0.00003402285074116662,0.000016869544197106734,0.000012217524272273295,0.000014416894373425748,0.00001694033562671393,0.00002633786789374426,0.00003387614560779184,-0.0000031246981961885467,0.000006746628059772775,-0.00006808514444855973,-0.0000424836362071801,-0.00007945387915242463,-0.000040809682104736567,-0.00004131623427383602,-0.000006584262791875517,-0.000027186131774215028,0.000009418003173777834,-0.00001379865534545388,0.000029131773771950975,0.00003061928873648867,0.00005724620132241398,0.00004902021464658901,0.0000633458184893243,0.000014305432159744669,0.000058562731283018366,-0.000027793557819677517,0.000046056477003730834,-0.000024998287699418142,0.00002725913145695813,0.000025247172743547708,0.000039892023778520525,0.00004112611713935621,0.000050569287850521505,-0.000014535172340401914,0.0000067802211560774595,-0.00004382204497233033,-0.000026799832994583994,-0.000016543841411476023,-0.0000244089933403302,-0.000021907017071498558,-0.00005314009467838332,-0.00005711687481380068,-0.00007939628267195076,-0.00006287739233812317,-0.00005297015013638884,-0.000055925644119270146,-0.0000416878356190864,-0.000044781805627280846,-0.00005816018165205605,-0.000014692141121486202,-0.000038615464291069657,0.000015342511687777005,-0.0000019092221918981522,0.00004032142896903679,0.000013651363587996457,0.0000466067940578796,0.000017852991732070222,1.3027107570451335e-7,0.0000011722290764737409,-0.0000434878165833652,-0.000021812964405398816,0.000001429963049304206,0.00001604595672688447,0.00008827573037706316,0.00010605066927382722,0.00011196303967153654,0.00014238811854738742,0.00007170428580138832,0.00009203513036482036,0.00005030815373174846,0.00005320513810147531,0.00006844555173302069,0.00007133291364880279,0.00004482951044337824,0.000057309403928229585,-0.00004976908894605003,-0.000016540670912945643,-0.00012368492025416344,-0.00006704733095830306,-0.00012687843991443515,-0.00008667777001392096,-0.00010667263995856047,-0.00010933732846751809,-0.0000810641358839348,-0.0000843552261358127,-0.00003626633406383917,-0.000011461594112915918,-0.000003800034392043017,0.000010872363418457098,-0.00001115972099796636,-0.000024820123144309036,-0.000016356738342437893,-0.00003160407504765317,0.000021647872927132994,0.00000160533340931579,0.000044044452806701884,0.000006865130671940278,-0.000021276600818964653,-0.00004543062095763162,-0.0001009973420877941,-0.00010950845899060369,-0.00008220582094509155,-0.00012713325850199908,-0.000009265588232665323,-0.00009223717643180862,0.00001942663948284462,-0.00004278800042811781,0.000014971864402468782,-0.000015608507965225726,0.000012556516594486311,-0.00001997295839828439,-0.00001677776890574023,-0.00004871925193583593,-0.00008439271186944097,-0.00009608511754777282,-0.00012681048247031868,-0.00012660387437790632,-0.00009491848322795704,-0.00009672807937022299,-0.000038584679714404047,-0.00004915422323392704,-0.000011407275451347232,-0.00003619683411670849,0.000020544717699522153,-0.000004877408628090052,0.000057512861530994996,0.00005082879215478897,0.000023422402591677383,0.00003235676922486164,-0.00007216427911771461,-0.000044125583372078836,-0.00013907243555877358,-0.00007763699250062928,-0.0001589777530170977,-0.00009526571375317872,-0.0001702349109109491,-0.00015039237041492015,-0.00018199183978140354,-0.00018227424880024046,-0.0001656827371334657,-0.00014178658602759242,-0.00009661682270234451,-0.00006982849299674854,-0.000024176955776056275,-0.000023143686121329665,-0.000021666413886123337,-0.000022818921934231184,-0.00004684945088229142,-0.00003441434455453418,-0.000010103430213348474,0.0000032032912713475525,0.00006675547047052532,0.00008603621245129034,0.00010718784324126318,0.0001322274620179087,0.00010200230462942272,0.00010818237205967307,0.00009606129606254399,0.00009692880848888308,0.00011241745960433036,0.00014431362797040492,0.00011704491771524772,0.00014793468290008605,0.00008428628643741831,0.000059725869505200535,0.00006823895819252357,0.00001569482628838159,0.00011798230116255581,0.00008751583663979545,0.00017217642744071782,0.00014552491484209895,0.00014642594032920897,0.00009886995394481346,0.0000820255299913697,0.0000389802225981839,0.0000945738865993917,0.00006543559720739722,0.00017948643653653562,0.00013175995263736695,0.000207908742595464,0.00013581017265096307,0.0001348408404737711,0.00007278104749275371,0.000048818663344718516,0.000009134634638030548,0.00001749626790115144,-0.000027329901058692485,0.000009467278687225189,-0.000057572869991417974,-0.000054372627346310765,-0.00011624617764027789,-0.00017348630353808403,-0.00019637461809907109,-0.00020912816398777068,-0.00020959861285518855,-0.00009173363650916144,-0.00011212546814931557,0.000036042500141775236,2.3283064365386963e-8,0.00005594479080173187,0.00004100982187082991,0.000023640137442271225,0.00002810826299537439,0.000004636331141227856,0.0000017502184164186474,-0.0000016116446204250678,-0.000008960413651948329,-0.00001896120375022292,-0.000017643205865169875,-0.00007192717748694122,-0.00006774204666726291,-0.00011022477701772004,-0.0001006519451038912,-0.00004939598875353113,-0.000025064480723813176,0.00006950402894290164,0.00008736859308555722,0.00013112671149428934,0.00011726255615940318,0.00009332889749202877,0.00006975586438784376,-0.000007504016139137093,-0.0000017577287962922128,-0.0000711821558070369,-0.00003985501825809479,-0.000008704300853423774,0.00001219889509229688,0.00010966281115543097,0.00010688483598642051,0.0001459826744394377,0.00014799759082961828,0.00012049888755427673,0.00015319800877477974,0.0001315882836934179,0.0001693947851890698,0.00013466438394971192,0.00013570465671364218,0.00003885695696226321,0.000019557321138563566,-0.0000759758404456079,-0.00006659913924522698,-0.00009499234874965623,-0.00006112013215897605,-0.00007698169065406546,-0.000060936577938264236,-0.00006680353544652462,-0.00007666349119972438,0.000022440679458668455,0.000004864556558459299,0.00012551239342428744,0.00011123484728159383,0.00006374843360390514,0.0000694217742420733,-0.00006522072362713516,-0.000034445423807483166,-0.000056505523389205337,-0.00003903900505974889,0.000005489092927746242,-0.000015380668628495187,-0.000013067590771242976,-0.000028134491003584117,-0.000019961922589573078,0.00001111600886360975,0.00003626819307100959,0.00007595207716803998,0.00005631609747069888,0.000051114606321789324,0.000038434911402873695,4.5267279347172007e-7,0.000059726120525738224,0.00003945884600398131,0.00009166861127596349,0.00010432150884298608,0.00008447789878118783,0.00009268712892662734,0.00006632134318351746,0.000032154312066268176,0.00006209970160853118,3.4997174225281924e-7,0.00007809824455762282,0.0000330825278069824,0.00011409471335355192,0.00009687244892120361,0.00010992292664013803,0.00010118685167981312,0.000043402149458415806,0.00003681848829728551,0.00002333584961888846,0.00002146193219232373,0.00008825006807455793,0.00008878691733116284,0.00010468476102687418,0.00011617453128565103,0.000010868432582356036,0.00003768633177969605,-0.0000832886653370224,-0.00006463406316470355,-0.00009575632429914549,-0.00009790592594072223,-0.00008047091250773519,-0.00008127279579639435,-0.00011930312030017376,-0.00010817989095812663,-0.00019761906878557056,-0.00018406282470095903,-0.00025037425803020597,-0.00022929937404114753,-0.00028175031184218824,-0.00026143481954932213,-0.00030704058008268476,-0.00032354859285987914,-0.00028720812406390905,-0.0003314026980660856,-0.00023685301130171865,-0.0002623709151521325,-0.00020041537936776876,-0.00023299336316995323,-0.0001476819161325693,-0.0002481380943208933,-0.00007395316060865298,-0.00019933024304918945,-0.00001707856063148938,-0.00007966350676724687,0.00003398122498765588,0.000010577972716419026,0.00004213210195302963,-0.000016719475752324797,-0.00003703224865603261,-0.00011134900705656037,-0.00007891521818237379,-0.00010674398799892515,-0.000002282263267261442,0.000002869634954549838,0.00004155691203777678,0.00003237165219616145,-0.000040039492887444794,-0.00005632107422570698,-0.00011622216698015109,-0.00010217920498689637,-0.000052099829190410674,-0.000006442031008191407,0.00011611672380240634,0.00016018351016100496,0.0002177420974476263,0.00024585469509474933,0.00016871566185727715,0.0002069331967504695,0.00009723335824673995,0.00016305266763083637,0.00010130155715160072,0.0001628038880880922,0.00009905041952151805,0.00012441941362340003,0.00005324347148416564,0.00006661077350145206,0.000056269716878887266,0.00009563506318954751,0.0001445938105462119,0.00020467364811338484,0.00022031216940376908,0.00027645783848129213,0.00018519532750360668,0.00023159629199653864,0.00010800627205753699,0.0001519494253443554,0.00012027759657939896,0.00017234316328540444,0.00015244039241224527,0.00021870264026802033,0.000060043548728572205,0.00012630523997358978,-0.00008305638039018959,-0.00003651895167422481,-0.00011915012873942032,-0.0000871685188030824,-0.000041786948713706806,-0.000004809240635950118,0.00004110886584385298,0.000093799018941354,0.00001830440669436939,0.00009007014887174591,-0.00008894543861970305,-0.000008388842616113834,-0.00012280653754714876,-0.000059225996665190905,-0.00004686256579589099,-0.000004007886218460044,0.000010301017027813941,0.00006117883458500728,-0.000004959066245646682,0.00006308007868938148,-0.00005623497781925835,0.0000016901053641049657,-0.00012405106099322438,-0.00009191863500745967,-0.00018024181190412492,-0.0001593408960616216,-0.00019957635959144682,-0.00017160963034257293,-0.00017814745660871267,-0.00013509401469491422,-0.00011708180682035163,-0.00006468065839726478,-0.00006644428503932431,-0.000022329521016217768,-0.00005872109250049107,-0.000030379385862033814,-0.00001940926449606195,-9.50950834521791e-7,0.00007214264041977003,0.00007613632624270394,0.00011203531175851822,0.00009669607970863581,0.00008747195533942431,0.00006836865213699639,0.000107871564978268,0.00009087040234589949,0.00019871782569680363,0.00016566846170462668,0.0002717904862947762,0.0002240440808236599,0.00026444465038366616,0.00022366063785739243,0.0002072927018161863,0.00016754464013502002,0.00017488887533545494,0.00011745865049306303,0.00018788142187986523,0.00012361693370621651,0.00018892365915235132,0.0001353108964394778,0.00012977307778783143,0.00008753158908803016,0.00003708814620040357,0.000010673960787244141,-0.00001981318746402394,-0.00003052715692319907,0.0000012943901310791261,-0.000012440191312634852,0.00007004603685345501,0.000053042742365505546,0.00011080254625994712,0.00010929033305728808,0.00010538451169850305,0.00010385063797002658,0.0001238908589584753,0.00009580529876984656,0.00019793650426436216,0.00016720773419365287,0.00024815084179863334,0.0002446943544782698,0.00019588206487242132,0.00019575741316657513,0.00005647114085149951,0.000033640259061940014,-0.00008082586282398552,-0.00010941842629108578,-0.000123425226774998,-0.0001422984933014959,-0.00009261527156922966,-0.00010913527512457222,-0.00009859810234047472,-0.00011477481893962249,-0.00013260109699331224,-0.00014256648137234151,-0.00009395734377903864,-0.00008956607052823529,-0.000003257652451793547,0.000024219256374635734,0.00006157296593300998,0.00009329195017926395,0.0000909910086193122,0.00009424033487448469,0.00007284159801201895,0.00006831511564087123,0.00001874280314950738,0.00005567546031670645,0.000005360243903851369,0.00006956124707357958,0.00004115957926842384,0.00008636829443275928,0.00006720854435116053,0.00010175880743190646,0.000058497971622273326,0.00010565094271441922,-0.00000532744888914749,0.00003650475264294073,-0.00008412737224716693,-0.00005737183892051689,-0.00004074765456607565,-0.000015765856005600654,0.00012070624507032335,0.00012950683594681323,0.0002018612576648593,0.0001815898867789656,0.0001366319484077394,0.00012036338011967018,0.00008128847548505291,0.00008533558138879016,0.00012598736793734133,0.00011848862050101161,0.0001826434163376689,0.00015625306696165353,0.00019109569257125258,0.00017093791393563151,0.00020420609507709742,0.00018747098511084914,0.00021713862952310592,0.00019607768626883626,0.00015462526062037796,0.00015112361870706081,0.00005944148142589256,0.00007137679494917393,0.00002383520950388629,0.00001862557473941706,-0.0000068000390456290916,-0.000017121023120125756,-0.00010218597890343517,-0.00007586612628074363,-0.0001744521432556212,-0.0001242063590325415,-0.0001295977272093296,-0.00010483716323506087,-0.00002151472472178284,-0.000034661545214476064,0.00004824878487852402,0.000019321976651553996,0.000060638627473963425,0.000033946442272281274,0.000049855512770591304,0.00003052474494324997,0.00003425036265980452,0.000019722010620171204,0.00003538441160344519,0.00002866454451577738,0.00006024901085766032,0.00007192634075181559,0.00005440136737888679,0.00007213866047095507,0.000019199043890694156,0.000010913217920460738,0.000045549073547590524,0.000012097194485249929,0.00010095175093738362,0.00006870793731650338,0.00007156033825594932,0.00003835436291410588,0.000020153316654614173,-0.000019508930563461035,0.0000535928484168835,0.00003740128158824518,0.00010149527952307835,0.00011497524246806279,0.00008390550647163764,0.0000843971865833737,0.00003986573210568167,0.000023354001314146444,0.000007602353434776887,0.000020408371710800566,-0.000010802616088767536,0.000026732461265055463,-0.000005622944627248216,0.0000034467293517082,0.000030874678486725315,0.000010173034752369858,0.00007900789205450565,0.0000685180420987308,0.00007322894089156762,0.00007221940177259967,-0.000027310783480061218,-0.000044682725274469703,-0.0001466236572014168,-0.00017769132682587951,-0.00018490885850042105,-0.00021317791834007949,-0.00014575586828868836,-0.00016396366117987782,-0.00008703183266334236,-0.000096126452262979,-0.00003868097337544896,-0.00006154235597932711,0.0000013577704294220894,-0.00006000530629535206,0.00003719485175679438,-0.000029292279577930458,0.00005176669219508767,0.000037953537685098127,0.00004797007568413392,0.0000610950737609528,0.00007513132004532963,0.000035335040593054146,0.00014191074296832085,0.000057879464293364435,0.00018908843048848212,0.0001475651515647769,0.00020764136570505798,0.00022060774790588766,0.00025390449445694685,0.0002503087744116783,0.00030238457839004695,0.0002672707778401673,0.0002528578625060618,0.000237257219851017,0.00013433310959953815,0.00013784827024210244,0.00008091441122815013,0.000059937723563052714,0.00008225104829762131,0.00005401169983088039,0.00003974448191002011,0.00004953946336172521,-0.000010107636626344174,0.00001073527801054297,-0.000020950206817360595,-0.00003656994522316381,-0.00005993116428726353,-0.0000808492986834608,-0.00011625375918811187,-0.0000944273269851692,-0.00010681073763407767,-0.00007551605085609481,-0.00007586299034301192,-0.00009075189882423729,-0.00008544810407329351,-0.00012747022265102714,-0.00006861256406409666,-0.00007860875484766439,0.000004575975708576152,0.00004120101948501542,0.00003772617856157012,0.0000848198906169273,-0.000009577727723808493,0.000012361198059807066,-0.00005892533590667881,-0.00005592560046352446,-0.00008714772411622107,-0.00006369994662236422,-0.0001394686260027811,-0.00008136204269248992,-0.00015996844740584493,-0.00010361209569964558,-0.00011126687604701146,-0.00008401738159591332,-0.00014169493806548417,-0.00011784620437538251,-0.0002762835065368563,-0.00022666376025881618,-0.0002874225901905447,-0.00022627771249972284) |
| |
| , |
| |
| new Array(-0.00014015505439601839,-0.00009424725431017578,-0.0000367982174793724,-0.000012330742720223498,-0.000009979183232644573,-0.000005074737146060215,0.000015334489944507368,0.000006053265224181814,0.000033470423659309745,0.000029470638764905743,0.00009303881961386651,0.00010694590309867635,0.00022122845984995365,0.00022976046602707356,0.00027943524764850736,0.00024943548487499356,0.000181631650775671,0.00012874089588876814,0.000033948716009035707,0.00001643829637032468,-0.000038822603528387845,-0.000005076801244285889,-0.000026619280106388032,-0.000004013060788565781,-0.000020743873392348178,-0.000060739057516912,-0.00009209522977471352,-0.00015305288252420723,-0.0001557939249323681,-0.00016957358457148075,-0.00011526542220963165,-0.00008990408241515979,-0.00003546544030541554,-0.000018380367691861466,0.000005372870873543434,0.000013720681636186782,0.000005543797669815831,0.00003979273242293857,-0.000014010610357217956,0.00005891008913749829,-0.00001633692954783328,0.00006351392949000001,-0.000011691547115333378,0.000035224747989559546,-0.00004958381759934127,-0.000023805565433576703,-0.00012163100473117083,-0.00007665240264032036,-0.00016238178068306297,-0.00010357973224017769,-0.00012000015703961253,-0.00009269107249565423,-0.000049141810450237244,-0.00005715646693715826,-0.00004356173303676769,-0.00003632663720054552,-0.00001985907510970719,0.0000020384477465995587,0.00012762073311023414,0.00011586706386879086,0.00021797671797685325,0.00020374754967633635,0.00008666064240969718,0.00011644592450466007,-0.00006568098615389317,-0.000046202490921132267,-0.00004137075302423909,-0.00007593315240228549,0.000004579069354804233,-0.00002532761573093012,-0.00009905502520268783,-0.00007579676457680762,-0.00019283377332612872,-0.00017823997768573463,-0.00014772501890547574,-0.00019722098659258336,-0.00013216372462920845,-0.000167879305081442,-0.00019680026161950082,-0.00015686158440075815,-0.0002077507524518296,-0.00015023740706965327,-0.00017501234833616763,-0.00013415997091215104,-0.00017168966587632895,-0.00013525885879062116,-0.00015167739184107631,-0.00012130104005336761,-0.00008563465962652117,-0.000041452833102084696,-0.00007153890328481793,-0.000001365100615657866,-0.00008754107693675905,-0.0000252203899435699,-0.00003187061520293355,-0.000009977433364838362,0.000022157373678055592,0.00003242286038585007,0.00003615911191445775,0.00009324029088020325,0.000014359744454850443,0.00007800778257660568,-0.000049274443881586194,-0.00005691000842489302,-0.00007130674202926457,-0.00010760929581010714,-0.000036453122447710484,-0.000047757712309248745,0.000054562337027164176,0.000027955291443504393,0.00009254179894924164,0.00002200369090132881,-0.00004265725874574855,-0.00010851425759028643,-0.0001688027841737494,-0.00016441606567241251,-0.00021186693629715592,-0.0001573815243318677,-0.00018332900071982294,-0.0001501880760770291,-0.00010138592188013718,-0.00008154666284099221,-0.00013429764658212662,-0.00008883286500349641,-0.0001400368637405336,-0.00010151389869861305,-0.000043619606003630906,-0.00004538596476777457,-0.000031638654036214575,-0.00003416767867747694,-0.00006974972347961739,-0.00005143813177710399,-0.00010723905870690942,-0.00012572293053381145,-0.00002397704156464897,-0.00009767053415998816,0.00011572502262424678,0.00005432979014585726,0.00007883126090746373,0.0000620109640294686,0.00007341729360632598,0.00004993831316824071,0.00011931547487620264,0.00005841327947564423,0.00005921594856772572,0.00001511409482191084,0.000033078180422307923,0.000019489067199174315,0.000033935510145965964,-0.000011722012459358666,0.00004304029425838962,-0.000035746488720178604,0.00003718510197359137,-0.000058436104154679924,-0.00001174940280179726,-0.00013024899817537516,0.000020506238797679543,-0.00007963776442920789,0.00003176229074597359,-0.00005422571848612279,-0.00002636853423609864,-0.00014182373706717044,-0.000049795104132499546,-0.00017246516654267907,-0.00009185299859382212,-0.00017978546384256333,-0.00013231371121946722,-0.00016474576841574162,-0.0001400558976456523,-0.00015335241914726794,-0.0001470029092160985,-0.00018156964506488293,-0.00014865070988889784,-0.0001718680141493678,-0.00012142615742050111,-0.00014900251699145883,-0.00007435568841174245,-0.00012459667050279677,-0.00008725070802029222,-0.00011005691339960322,-0.00008626709313830361,-0.00012864137534052134,-0.00004616122896550223,-0.0001554132904857397,-0.00009952057007467374,-0.00021355791250243783,-0.0001459539489587769,-0.00023241406597662717,-0.00013092698645778,-0.00017168368503917009,-0.00015152087144088,-0.00015848565089982003,-0.0001564635313116014,-0.00018872391956392676,-0.00011087577149737626,-0.00015771349717397243,-0.0000527798110852018,-0.00008749643166083843,-0.000036134504625806585,-0.00004221020935801789,-0.00008243389311246574,-0.00005874632915947586,-0.0001164921632152982,-0.00013457277964334935,-0.0001483543310314417,-0.00019349232024978846,-0.00023352073912974447,-0.00023075437638908625,-0.00028925627702847123,-0.00027289867284707725,-0.00029771780828014016,-0.0003031028318218887,-0.0002913945645559579,-0.0003263660764787346,-0.00015898887068033218,-0.00020953141211066395,0.000021462499717017636,0.000016161218809429556,0.00006929994560778141,0.00007043606456136331,0.000042957883124472573,-0.000021664078303729184,0.000008055478247115389,-0.00008845835691317916,0.00006582804780919105,-0.000016302576113957912,0.00015406384773086756,0.00010176366777159274,0.00009414566011400893,0.0000354732692358084,0.00007631623884662986,-0.000012391613381623756,0.00007941365765873343,0.0000648690911475569,0.00001397199412167538,0.00010448538523633033,0.000029168595574446954,0.00008860438538249582,-0.00006609586125705391,-0.00006593324360437691,-0.0002065992885036394,-0.0001552091707708314,-0.00018771870236378163,-0.00007774525874992833,-0.00012997548037674278,-0.00007887235551606864,-0.0000391396097256802,-0.000076210533734411,-0.0000876762715051882,-0.0000996374583337456,-0.00014420422667171806,-0.0001080437286873348,0.000032678239222150296,0.00001941799564519897,0.00008381356747122481,0.000031045052310219035,0.00006379729165928438,0.000027837693778565153,0.00006071649841032922,0.00002810096339089796,-0.000023521930415881798,-0.000042365853005321696,0.000022846543288324028,-0.000005697456799680367,0.00003526679938659072,-0.00004256410466041416,-0.0000757251400500536,-0.00013366315397433937,-0.00011955667287111282,-0.00011828384594991803,-0.00017747009405866265,-0.00016866534133441746,-0.0001741003361530602,-0.00016113329911604524,-0.00020356231834739447,-0.0001154246274381876,-0.00034802500158548355,-0.00014464158448390663,-0.0003696058120112866,-0.00011752495629480109,-0.00038095645140856504,-0.00015291014278773218,-0.0003850535140372813,-0.00025106975226663053,-0.00019905260705854744,-0.0002682860067579895,0.0000021677478798665106,-0.0002483882417436689,0.0001757844293024391,-0.0002012909681070596,0.00042002167901955545,-0.00011912333138752729,0.000566192960832268,0.000036280973290558904,0.0006151891429908574,0.000419270625570789,0.0007446972886100411,0.0009848694317042828,0.0007311853696592152,0.0014010249869897962,0.000447156373411417,0.001734805991873145,0.000048851674364414066,0.002086761873215437,-0.00039686530362814665,0.002081888262182474,-0.0007315071416087449,0.0017690588720142841,-0.0011235257843509316,0.0012453674571588635,-0.001530013862065971,0.0005929881590418518,-0.0015843822620809078,0.00013364609912969172,-0.001662310678511858,-0.0004051764262840152,-0.0017336646560579538,-0.0008209687657654285,-0.0017958111129701138,-0.0008799072238616645,-0.0023105277214199305,-0.0009375008521601558,-0.0026750226970762014,-0.00045945230522193015,-0.00301142456009984,0.00032612154609523714,-0.0037594083696603775,0.000844741880428046,-0.004248717334121466,0.001590814790688455,-0.004585081245750189,0.0022387588396668434,-0.004611271433532238,0.002747831167653203,-0.004052754957228899,0.0032969240564852953,-0.003427402814850211,0.0034304591827094555,-0.0024721764493733644,0.003596643218770623,-0.001401375513523817,0.003709446405991912,-0.0006295255152508616,0.0034894035197794437,0.000059773577959276736,0.003397291759029031,0.00038508654688484967,0.0033650926779955626,0.0005159653373993933,0.003734476398676634,0.00030270108254626393,0.0044049047864973545,-0.0007104952237568796,0.004650060087442398,-0.0020415415056049824,0.004571670666337013,-0.003501879284158349,0.004163370467722416,-0.00479539530351758,0.0036168238148093224,-0.005974814295768738,0.002774751279503107,-0.007256212644279003,0.001289845909923315,-0.007495714817196131,0.00010230821499135345,-0.006734591443091631,-0.0007406961522065103,-0.00581145565956831,-0.0016243165591731668,-0.00462182704359293,-0.002173752523958683,-0.0036379247903823853,-0.002846694318577647,-0.002800004556775093,-0.0035107601433992386,-0.0017736477311700583,-0.003419754095375538,-0.0011825866531580687,-0.0027814360801130533,-0.0008575308602303267,-0.0018417327664792538,-0.0002217306027887389,-0.000598331680521369,0.0005840326775796711,0.0008799363858997822,0.0010996086057275534,0.0021491702646017075,0.001309904851950705,0.0030024773441255093,0.0020673295948654413,0.003890095977112651,0.003430642420426011,0.004317090380936861,0.004580176901072264,0.003661549184471369,0.00580180948600173,0.0027171203400939703,0.007631687913089991,0.0020412683952599764,0.009570170193910599,0.0011816845508292317,0.010828486643731594,-0.00026033760514110327,0.010754303075373173,-0.0022562353406101465,0.009428870864212513,-0.00440824031829834,0.00784861296415329,-0.006088739261031151,0.006158956792205572,-0.007177523337304592,0.003770801005885005,-0.00812677014619112,0.0011826830450445414,-0.008794397115707397,-0.0005873069749213755,-0.008513960987329483,-0.0010649776086211205,-0.007513529155403376,-0.0007121718372218311,-0.007079744245857,-0.0002848606090992689,-0.007748864591121674,0.0008878273656591773,-0.008503956720232964,0.0035180600825697184,-0.008739612065255642,0.006504544522613287,-0.009005337953567505,0.008940945379436016,-0.00949372723698616,0.0112361591309309,-0.009555941447615623,0.01331779919564724,-0.008684584870934486,0.014238296076655388,-0.007197503000497818,0.013849114067852497,-0.005386539734899998,0.012764517217874527,-0.003275955095887184,0.01142237801104784,-0.0009684885153546929,0.010298161767423153,0.0016993064200505614,0.009333365596830845,0.00391809456050396,0.008427868597209454,0.0044991616159677505,0.008336156606674194,0.0039911759085953236,0.008962663821876049,0.0027452115900814533,0.009156675077974796,0.00011548047768883407,0.008277789689600468,-0.00374692864716053,0.006709702778607607,-0.008039569482207298,0.00510604539886117,-0.011835870333015919,0.0028857786674052477,-0.014525201171636581,-0.0005683306371793151,-0.015833331272006035,-0.004239668603986502,-0.015388516709208488,-0.006670473609119654,-0.012940594926476479,-0.007479296065866947,-0.008850338868796825,-0.007622465491294861,-0.004532064776867628,-0.0072344085201621056,-0.0008344601956196129,-0.0057411170564591885,0.0022335564717650414,-0.0032891982700675726,0.004121846053749323,0.0008299641194753349,0.005279644392430782,0.003736786311492324,0.0047928947024047375,0.0013215296203270555,0.0010782248573377728,-0.000013336036317923572,-0.0011458239750936627,0.0031413149554282427,-0.00009486293856753036,-0.0011687587248161435,-0.0041114469058811665,-0.017392633482813835,-0.015722988173365593,-0.034477073699235916,-0.027795441448688507,-0.04571573808789253,-0.036322321742773056,-0.05450707674026489,-0.0428432859480381,-0.06265253573656082,-0.047500766813755035,-0.05975385755300522,-0.041561610996723175,-0.032463666051626205,-0.013804420828819275,0.01827487349510193,0.03537826985120773,0.08266807347536087,0.097795769572258,0.15217961370944977,0.1658187061548233,0.22064581513404846,0.23351822793483734,0.28683555126190186,0.298629492521286,0.3469022810459137,0.35707736015319824,0.3909241557121277,0.4009797275066376,0.4156057834625244,0.4274917244911194,0.4247729480266571,0.43869462609291077,0.42078956961631775,0.43660423159599304,0.4062882959842682,0.42413580417633057,0.3860650956630707,0.4054466187953949,0.36459267139434814,0.38485953211784363,0.34501156210899353,0.3655964732170105,0.32996436953544617,0.34972891211509705,0.3208392858505249,0.3385865390300751,0.31652164459228516,0.3319227993488312,0.31623896956443787,0.3296041488647461,0.3198554813861847,0.3315024673938751,0.32542842626571655,0.3357532024383545,0.3314844071865082,0.3411482274532318,0.33733949065208435,0.3469061255455017,0.3416065573692322,0.3515341877937317,0.34387338161468506,0.35465532541275024,0.3446221947669983,0.3560125529766083,0.3444567918777466,0.35549405217170715,0.3434079587459564,0.3537798523902893,0.34088873863220215,0.35074639320373535,0.3382267653942108,0.34693875908851624,0.3369491696357727,0.3435756266117096,0.33618712425231934,0.3405708968639374,0.3352181017398834,0.337916761636734,0.3344864845275879,0.3360024392604828,0.3347020149230957,0.33500710129737854,0.33559557795524597,0.3345468044281006,0.3356438875198364,0.33335721492767334,0.33476224541664124,0.3313899040222168,0.33328360319137573,0.3290165960788727,0.33022430539131165,0.325093150138855,0.3257369101047516,0.3194625973701477,0.32044002413749695,0.3130733370780945,0.3142836391925812,0.3061066269874573,0.3078814744949341,0.2988135516643524,0.30184903740882874,0.2917783856391907,0.2964288294315338,0.2853374481201172,0.2916559875011444,0.27951890230178833,0.2874945402145386,0.274495929479599,0.2842196524143219,0.27030646800994873,0.28150874376296997,0.26606911420822144,0.27893924713134766,0.26149675250053406,0.2760584354400635,0.2568477988243103,0.27202627062797546,0.2516094148159027,0.26775065064430237,0.24617767333984375,0.26375263929367065,0.240883007645607,0.2583709955215454,0.2348024845123291,0.2521602511405945,0.22854775190353394,0.24681374430656433,0.22324083745479584,0.24198345839977264,0.21861906349658966,0.23773431777954102,0.21457253396511078,0.23431454598903656,0.2108982503414154,0.23115283250808716,0.20731040835380554,0.22855831682682037,0.20408383011817932,0.22669631242752075,0.2009020447731018,0.22472351789474487,0.19726240634918213,0.22214411199092865,0.19329386949539185,0.2187594175338745,0.1889563798904419,0.21419735252857208,0.18386077880859375,0.20839394629001617,0.17786459624767303,0.2017228603363037,0.1712917685508728,0.19439153373241425,0.16436927020549774,0.18625706434249878,0.1569976955652237,0.17753638327121735,0.14927631616592407,0.16906782984733582,0.14145801961421967,0.16131752729415894,0.13372083008289337,0.15394407510757446,0.1261877566576004,0.14700950682163239,0.11899550259113312,0.14078551530838013,0.11220572888851166,0.13472723960876465,0.10562274605035782,0.1288258135318756,0.09939584136009216,0.12334570288658142,0.09371078014373779,0.11740842461585999,0.08796590566635132,0.11085216701030731,0.08191831409931183,0.10430294275283813,0.0758076012134552,0.09747365862131119,0.06946639716625214,0.09014172852039337,0.06285040080547333,0.08244733512401581,0.05589297041296959,0.0747237503528595,0.0486995093524456,0.06748583912849426,0.04179181903600693,0.06031538173556328,0.034901268780231476,0.05304372310638428,0.02791520208120346,0.04633215442299843,0.021517589688301086,0.039766762405633926,0.015343964099884033,0.03282143175601959,0.008753910660743713,0.0258503258228302,0.0020630136132240295,0.01878304034471512,-0.004641629755496979,0.011329539120197296,-0.01166088879108429,0.003378555178642273,-0.019190803170204163,-0.005097053945064545,-0.027227118611335754,-0.013719238340854645,-0.03537680208683014,-0.022374339401721954,-0.043488986790180206,-0.03137648105621338,-0.05187668651342392,-0.04053819179534912,-0.0604567751288414,-0.049499429762363434,-0.06884048134088516,-0.05849288031458855,-0.07712171971797943,-0.06773670017719269,-0.08554264158010483,-0.07693895697593689,-0.09397900104522705,-0.08596764504909515,-0.10236804187297821,-0.09495700895786285,-0.11071249842643738,-0.10388500988483429,-0.11891487240791321,-0.11278313398361206,-0.1271471083164215,-0.12161137163639069,-0.1353926956653595,-0.1302194446325302,-0.14331747591495514,-0.13882678747177124,-0.15112300217151642,-0.14760717749595642,-0.15909935534000397,-0.1563674807548523,-0.1669865846633911,-0.1650761067867279,-0.17466247081756592,-0.1739044189453125,-0.1824301928281784,-0.18288172781467438,-0.19044317305088043,-0.19180621206760406,-0.1984090507030487,-0.2006174921989441,-0.2061910629272461,-0.2095491737127304,-0.2141258418560028,-0.2184688150882721,-0.22216469049453735,-0.22707563638687134,-0.2299291044473648,-0.23560881614685059,-0.23756471276283264,-0.24421198666095734,-0.24524550139904022,-0.2526945173740387,-0.252858430147171,-0.2611212730407715,-0.2604433596134186,-0.26948052644729614,-0.2679097056388855,-0.27768683433532715,-0.2752090096473694,-0.2859497666358948,-0.28264039754867554,-0.29414576292037964,-0.29005101323127747,-0.30205854773521423,-0.2971515655517578,-0.31004756689071655,-0.30430930852890015,-0.3181053400039673,-0.3115376830101013,-0.32590630650520325,-0.31850019097328186,-0.33365267515182495,-0.32542774081230164,-0.3414079546928406,-0.33242523670196533,-0.34893766045570374,-0.33921313285827637,-0.3563483953475952,-0.3458234965801239,-0.36362698674201965,-0.35227999091148376,-0.3707098960876465,-0.3586232364177704,-0.37783506512641907,-0.36508598923683167,-0.3848576247692108,-0.3714151680469513,-0.3916032016277313,-0.3774167597293854,-0.3983784317970276,-0.38348257541656494,-0.4050813317298889,-0.38953205943107605,-0.4114915728569031,-0.3952938914299011,-0.41792139410972595,-0.40107113122940063,-0.4242797791957855,-0.4067872166633606,-0.430213063955307,-0.4120813012123108,-0.4359695613384247,-0.41720691323280334,-0.4416967034339905,-0.4222995638847351,-0.44718682765960693,-0.42709559202194214,-0.45248913764953613,-0.43165889382362366,-0.45770472288131714,-0.4361976385116577,-0.4627995789051056,-0.4406948685646057,-0.467723548412323,-0.4449848532676697,-0.4723993241786957,-0.4489439129829407,-0.47690653800964355,-0.4527551233768463,-0.4812902808189392,-0.4565407931804657,-0.48539483547210693,-0.4600854218006134,-0.48930904269218445,-0.4634152054786682,-0.4931594729423523,-0.4667051434516907,-0.49675899744033813,-0.46982237696647644,-0.5000807046890259,-0.4727060794830322,-0.5032362341880798,-0.47544509172439575,-0.5061864256858826,-0.4780427813529968,-0.5089499354362488,-0.4805164635181427,-0.5115028023719788,-0.4827759861946106,-0.513809084892273,-0.48477935791015625,-0.5159985423088074,-0.48671194911003113,-0.5179522633552551,-0.4884487986564636,-0.5195164084434509,-0.4897882044315338,-0.520979642868042,-0.4910416007041931,-0.5224595069885254,-0.492371529340744,-0.5237541198730469,-0.4935266375541687,-0.5248284339904785,-0.4944034814834595,-0.5256340503692627,-0.4950096309185028,-0.5261802077293396,-0.4954404830932617,-0.5266210436820984,-0.4957996904850006,-0.5268115997314453,-0.4958656430244446,-0.5266780257225037,-0.4956287741661072,-0.5264650583267212,-0.4954100549221039,-0.526107668876648,-0.495071142911911,-0.5254742503166199,-0.49441009759902954,-0.5246858596801758,-0.4936348795890808,-0.523658812046051,-0.4927383065223694,-0.5223727226257324,-0.4916102886199951,-0.5210084915161133,-0.4903441369533539,-0.5194172263145447,-0.4888645112514496,-0.5174907445907593,-0.4871516525745392,-0.5154325366020203,-0.48535043001174927,-0.5132569074630737,-0.4833911061286926,-0.5109375715255737,-0.4812907576560974,-0.5085335969924927,-0.47917601466178894,-0.5059165954589844,-0.4768742620944977,-0.5030509233474731,-0.4742845892906189,-0.500028669834137,-0.4715332090854645,-0.4968000054359436,-0.46862754225730896,-0.49335336685180664,-0.46553701162338257,-0.4896450638771057,-0.46218371391296387,-0.48560720682144165,-0.4585230052471161,-0.4814741313457489,-0.4548163115978241,-0.47733908891677856,-0.45113861560821533,-0.47292858362197876,-0.44719982147216797,-0.46825575828552246,-0.4430288076400757,-0.46353116631507874,-0.43884843587875366,-0.4587159752845764,-0.43462270498275757,-0.45373016595840454,-0.43027472496032715,-0.44851088523864746,-0.4257199764251709,-0.4430246949195862,-0.42090100049972534,-0.4373963177204132,-0.41597795486450195,-0.43161025643348694,-0.4109745919704437,-0.42553985118865967,-0.40570569038391113,-0.4193096160888672,-0.4002203345298767,-0.41303032636642456,-0.39467763900756836,-0.4066188335418701,-0.38908135890960693,-0.4000610113143921,-0.38337835669517517,-0.3933746814727783,-0.37749603390693665,-0.3865426182746887,-0.37144654989242554,-0.3795803189277649,-0.36532968282699585,-0.37244653701782227,-0.3590787649154663,-0.36512744426727295,-0.3526001274585724,-0.35773417353630066,-0.3460187315940857,-0.3503147065639496,-0.339443564414978,-0.3428031802177429,-0.3328033685684204,-0.33511918783187866,-0.32598936557769775,-0.3272414207458496,-0.318989634513855,-0.319307416677475,-0.31192755699157715,-0.3114268183708191,-0.30487531423568726,-0.3034377694129944,-0.29770565032958984,-0.2951779365539551,-0.29031598567962646,-0.28677380084991455,-0.2827863097190857,-0.2784140706062317,-0.27522894740104675,-0.2700554132461548,-0.26765698194503784,-0.26152825355529785,-0.2599930167198181,-0.25285422801971436,-0.2521980106830597,-0.24422062933444977,-0.2443566769361496,-0.2356354296207428,-0.23653943836688995,-0.22694560885429382,-0.2287016212940216,-0.218154639005661,-0.22078363597393036,-0.20938779413700104,-0.2128010392189026,-0.20065683126449585,-0.20482154190540314,-0.19187307357788086,-0.19685180485248566,-0.18300488591194153,-0.18880067765712738,-0.17411771416664124,-0.1806454360485077,-0.16525717079639435,-0.17248183488845825,-0.15638071298599243,-0.1643337905406952,-0.14744843542575836,-0.15611480176448822,-0.13846251368522644,-0.14778637886047363,-0.12942667305469513,-0.1394030600786209,-0.12038421630859375,-0.13102714717388153,-0.11140423268079758,-0.12266922742128372,-0.10246630012989044,-0.11430176347494125,-0.09349130839109421,-0.10590529441833496,-0.08449366688728333,-0.09749168902635574,-0.07557141780853271,-0.08910224586725235,-0.06675387918949127,-0.0807742029428482,-0.057972121983766556,-0.07248006016016006,-0.0491742342710495,-0.06414788961410522,-0.04038545489311218,-0.05578262731432915,-0.031651221215724945,-0.04744748771190643,-0.023004386574029922,-0.03917189687490463,-0.014445883221924305,-0.03089878335595131,-0.005930168554186821,-0.022583838552236557,0.002562102861702442,-0.014277668669819832,0.010952816344797611,-0.0060509974136948586,0.01916518434882164,0.002093313727527857,0.027261536568403244,0.010179467499256134,0.03536767512559891,0.01820770837366581,0.043512094765901566,0.026199307292699814,0.05165395140647888,0.03420865908265114,0.059800952672958374,0.04223240911960602,0.06799114495515823,0.05020764097571373,0.0762426033616066,0.05816218629479408,0.08457324653863907,0.06622572243213654,0.09293084591627121,0.07437774538993835,0.10108152031898499,0.08233530074357986,0.10879091918468475,0.08987627178430557,0.11614792048931122,0.09715694189071655,0.1234435960650444,0.10448165237903595,0.13069337606430054,0.11183199286460876,0.137596994638443,0.11889855563640594,0.1440371870994568,0.12557530403137207,0.15028083324432373,0.13212789595127106,0.15657037496566772,0.13878726959228516,0.1628297120332718,0.1454436331987381,0.16891765594482422,0.15190395712852478,0.1749131679534912,0.15824180841445923,0.1809864193201065,0.16467547416687012,0.18716280162334442,0.17122480273246765,0.19334079325199127,0.17770837247371674,0.19944238662719727,0.18403005599975586,0.2054712474346161,0.19027374684810638,0.21147370338439941,0.1965131163597107,0.21746426820755005,0.202686607837677,0.22337956726551056,0.2087024450302124,0.22914519906044006,0.2145642787218094,0.23477570712566376,0.22034037113189697,0.2403235286474228,0.22606170177459717,0.24574553966522217,0.23169220983982086,0.25093889236450195,0.23718631267547607,0.25590190291404724,0.242568701505661,0.2607375681400299,0.24794656038284302,0.26550406217575073,0.25342273712158203,0.27017199993133545,0.25899767875671387,0.27470505237579346,0.2645891606807709,0.27907735109329224,0.27013954520225525,0.28324833512306213,0.27565181255340576,0.2872246503829956,0.28112611174583435,0.2910986542701721,0.28652048110961914,0.29492753744125366,0.2917826473712921,0.2986379861831665,0.2968660891056061,0.30215686559677124,0.3017169237136841,0.30556589365005493,0.306292861700058,0.30898672342300415,0.3105788826942444,0.31235742568969727,0.31453004479408264,0.31548088788986206,0.3180347979068756,0.31830263137817383,0.3210201859474182,0.3209911286830902,0.32356560230255127,0.32369938492774963,0.32582664489746094,0.3263929486274719,0.3278847932815552,0.3289925754070282,0.32976004481315613,0.33154329657554626,0.33151277899742126,0.33410102128982544,0.33320218324661255,0.3365638256072998,0.3347967565059662,0.3387991189956665,0.3362775146961212,0.3408724367618561,0.33779776096343994,0.34296247363090515,0.33957409858703613,0.3450830578804016,0.34163421392440796,0.34706878662109375,0.3438357412815094,0.348814994096756,0.34612223505973816,0.35035955905914307,0.34857824444770813,0.3517402708530426,0.3512190878391266,0.35293614864349365,0.35391637682914734,0.35395580530166626,0.3565821945667267,0.35486266016960144,0.35927093029022217,0.35572633147239685,0.36204156279563904,0.356637567281723,0.3648494482040405,0.3577037751674652,0.36761653423309326,0.3589226007461548,0.3702812194824219,0.3601362705230713,0.37273502349853516,0.3612326383590698,0.37484031915664673,0.36232203245162964,0.37658295035362244,0.36361539363861084,0.37812894582748413,0.3651997447013855,0.3796727657318115,0.3670227825641632,0.3812750577926636,0.3690119981765747,0.38286787271499634,0.3711033761501312,0.3843686878681183,0.37321075797080994,0.3857674300670624,0.37523677945137024,0.38710513710975647,0.37706899642944336,0.3883553445339203,0.37854859232902527,0.3893587589263916,0.37954261898994446,0.38997459411621094,0.3800737261772156,0.3902926743030548,0.3802680969238281,0.39055025577545166,0.38013553619384766,0.39079850912094116,0.37950754165649414,0.3908044993877411,0.3782094717025757,0.3903343379497528,0.3761543035507202,0.389335036277771,0.3732477128505707,0.3877517879009247,0.3694034218788147,0.38540199398994446,0.36476823687553406,0.38222476840019226,0.3597945272922516,0.3785027265548706,0.35500597953796387,0.37467244267463684,0.3508549928665161,0.371074914932251,0.3479050397872925,0.3680570721626282,0.3469204604625702,0.3661377429962158,0.34853217005729675,0.3658168911933899,0.3528748154640198,0.36726272106170654,0.35964274406433105,0.3702837824821472,0.36830464005470276,0.37445157766342163,0.37805625796318054,0.37910306453704834,0.38772836327552795,0.3833930492401123,0.3960375189781189,0.38656750321388245,0.4019690752029419,0.3881657123565674,0.4048866331577301,0.38796383142471313,0.40447235107421875,0.38597115874290466,0.40075889229774475,0.3825986981391907,0.394109308719635,0.3785688579082489,0.3850228786468506,0.3744800388813019,0.3740721046924591,0.37065625190734863,0.3620791435241699,0.3674893379211426,0.3500944972038269,0.3655659258365631,0.33906349539756775,0.3652535676956177,0.3297199308872223,0.36647671461105347,0.3227653205394745,0.36900168657302856,0.3185165226459503,0.372326135635376,0.31588882207870483,0.37477192282676697,0.31177088618278503,0.37278440594673157,0.3019689917564392,0.36187323927879333,0.2825281023979187,0.3380492031574249,0.25039106607437134,0.29856887459754944,0.20400939881801605,0.24250024557113647,0.14459776878356934,0.17187324166297913,0.07684291154146194,0.09231474250555038,0.00776814017444849,0.011855741031467915,-0.05500537157058716,-0.060879603028297424,-0.1035246029496193,-0.1170259341597557,-0.12914299964904785,-0.14721639454364777,-0.12436288595199585,-0.14353066682815552,-0.08681271970272064,-0.1035139262676239,-0.021452229470014572,-0.032334811985492706,0.06164011359214783,0.05947559326887131,0.15169209241867065,0.16042886674404144,0.2398754358291626,0.2607254385948181,0.3191983103752136,0.3522929549217224,0.3837544322013855,0.42822763323783875,0.4290175437927246,0.4831486642360687,0.4528612196445465,0.514176607131958,0.4562394618988037,0.521668553352356,0.44294753670692444,0.5091447830200195,0.41847264766693115,0.4822106659412384,0.3884967267513275,0.44692263007164,0.3579346537590027,0.40867704153060913,0.3308313190937042,0.37211814522743225,0.31042635440826416,0.34127500653266907,0.2987293004989624,0.31904998421669006,0.2959997057914734,0.30647990107536316,0.30091267824172974,0.3027843236923218,0.3113101124763489,0.306190550327301,0.3247837424278259,0.31460651755332947,0.3388565182685852,0.32574155926704407,0.3511863946914673,0.33718350529670715,0.35997089743614197,0.34681347012519836,0.3642255961894989,0.3532503843307495,0.3637520968914032,0.35595330595970154,0.3590213358402252,0.3550752103328705,0.351114958524704,0.35131362080574036,0.3415455222129822,0.3457548916339874,0.3318597078323364,0.3396145701408386,0.32324835658073425,0.33392757177352905,0.31639763712882996,0.32932248711586,0.3115268051624298,0.3259360194206238,0.3084493577480316,0.32346779108047485,0.3066614270210266,0.3213740587234497,0.3055570721626282,0.3191356658935547,0.30470365285873413,0.3164435923099518,0.3039399981498718,0.313181608915329,0.30320900678634644,0.30928266048431396,0.3023843467235565,0.3046846091747284,0.3013804256916046,0.2994810938835144,0.3003881573677063,0.29404520988464355,0.2997879981994629,0.28885146975517273,0.2997121810913086,0.28411442041397095,0.2998063862323761,0.2796758711338043,0.2995368540287018,0.2752785384654999,0.2986152470111847,0.2708359360694885,0.2969832122325897,0.2663668990135193,0.29451480507850647,0.26180583238601685,0.2909870147705078,0.25703945755958557,0.2863495647907257,0.25208550691604614,0.2808309495449066,0.24710004031658173,0.27474072575569153,0.2422293871641159,0.26830995082855225,0.23756276071071625,0.261757493019104,0.23320716619491577,0.25537675619125366,0.22930194437503815,0.2494843453168869,0.22595880925655365,0.24431155622005463,0.22322537004947662,0.23989641666412354,0.2210220843553543,0.235987588763237,0.2190142273902893,0.2321094125509262,0.21664059162139893,0.22785964608192444,0.2134196013212204,0.2231336086988449,0.20920293033123016,0.21797817945480347,0.20404097437858582,0.2123415470123291,0.19792068004608154,0.20616373419761658,0.19082854688167572,0.19966572523117065,0.18301355838775635,0.19332806766033173,0.1749725341796875,0.18755415081977844,0.16715316474437714,0.18249043822288513,0.15979434549808502,0.1781284064054489,0.15299631655216217,0.17435649037361145,0.14673756062984467,0.1708746999502182,0.1408073604106903,0.16724835336208344,0.13490109145641327,0.16312113404273987,0.1288263201713562,0.1582898050546646,0.12252052128314972,0.1526111662387848,0.11592620611190796,0.14601793885231018,0.109025739133358,0.1386347860097885,0.10197537392377853,0.13071639835834503,0.09501562267541885,0.12245433777570724,0.08824774622917175,0.11396884173154831,0.0816502720117569,0.10543704777956009,0.0752602368593216,0.09703152626752853,0.06912031024694443,0.08874747902154922,0.06306732445955276,0.0804801806807518,0.05680617690086365,0.07224872708320618,0.050199929624795914,0.06413860619068146,0.04326504096388817,0.056058719754219055,0.03589431941509247,0.04781285300850868,0.02787492424249649,0.03942457586526871,0.019239455461502075,0.031131481751799583,0.010328397154808044,0.023022381588816643,0.001407034695148468,0.014940470457077026,-0.007533639669418335,0.006808610633015633,-0.016492079943418503,-0.0012192577123641968,-0.025234082713723183,-0.009038610383868217,-0.03353056684136391,-0.016785575076937675,-0.041423678398132324,-0.024613576009869576,-0.04908459633588791,-0.03248251974582672,-0.056559376418590546,-0.04031608998775482,-0.0638224333524704,-0.04819875210523605,-0.07095935940742493,-0.05626891925930977,-0.07813222706317902,-0.06454124301671982,-0.08543310314416885,-0.0729595273733139,-0.09288822114467621,-0.0815194621682167,-0.10053624212741852,-0.09023560583591461,-0.10840082168579102,-0.09907303005456924,-0.11644048988819122,-0.1079840436577797,-0.12459170818328857,-0.11693437397480011,-0.1328069120645523,-0.12586098909378052,-0.14102135598659515,-0.1347116231918335,-0.14916948974132538,-0.14354576170444489,-0.15726426243782043,-0.15246544778347015,-0.16536462306976318,-0.16142883896827698,-0.1734473705291748,-0.17029942572116852,-0.18144424259662628,-0.17903432250022888,-0.18932628631591797,-0.18777750432491302,-0.19719542562961578,-0.1966264843940735,-0.2051265984773636,-0.20549310743808746,-0.21306931972503662,-0.2142835110425949,-0.22096262872219086,-0.2230629175901413,-0.2288345843553543,-0.23193064332008362,-0.23672154545783997,-0.24084587395191193,-0.24458253383636475,-0.24968738853931427,-0.2523565888404846,-0.25840240716934204,-0.26002565026283264,-0.2669919431209564,-0.2675635516643524,-0.2754093110561371,-0.2748936712741852,-0.2835761606693268,-0.28195685148239136,-0.2914767563343048,-0.2887730896472931,-0.29917678236961365,-0.2954060733318329,-0.3067672550678253,-0.30192068219184875,-0.31432220339775085,-0.30839264392852783,-0.32188379764556885,-0.31489381194114685,-0.3294561803340912,-0.3214408755302429,-0.3370295464992523,-0.328012615442276,-0.3446136713027954,-0.33462363481521606,-0.35221201181411743,-0.34130868315696716,-0.3597670793533325,-0.34802311658859253,-0.36719390749931335,-0.3546490967273712,-0.3744781017303467,-0.36113351583480835,-0.38167330622673035,-0.36753392219543457,-0.3887888789176941,-0.37389105558395386,-0.39575546979904175,-0.38014477491378784,-0.40252387523651123,-0.38622432947158813,-0.4091200828552246,-0.39214345812797546,-0.4155809283256531,-0.3979530334472656,-0.42190879583358765,-0.40365856885910034,-0.4280899465084076,-0.40922433137893677,-0.43409258127212524,-0.4146045446395874,-0.43986040353775024,-0.4197533428668976,-0.44537705183029175,-0.42464694380760193,-0.4506929814815521,-0.4293072521686554,-0.4558223783969879,-0.43376216292381287,-0.4606941044330597,-0.43799930810928345,-0.4652884602546692,-0.442005455493927,-0.4697306454181671,-0.4458353519439697,-0.4741453230381012,-0.44958731532096863,-0.47850847244262695,-0.45330822467803955,-0.4827500581741333,-0.4569667875766754,-0.4869179129600525,-0.46052834391593933,-0.4911094307899475,-0.4640166759490967,-0.49528059363365173,-0.4674590229988098,-0.49924901127815247,-0.4707924723625183,-0.5029004216194153,-0.4738979935646057,-0.5062958002090454,-0.4767228066921234,-0.5095095038414001,-0.47928720712661743,-0.5124505758285522,-0.4815814197063446,-0.5149758458137512,-0.48357388377189636,-0.5171502828598022,-0.48531922698020935,-0.5192136764526367,-0.4869314432144165,-0.5212603807449341,-0.488446980714798,-0.5231381058692932,-0.48984047770500183,-0.52472984790802,-0.4911395013332367,-0.5261441469192505,-0.4923926889896393,-0.527509868144989,-0.49356329441070557,-0.5287466049194336,-0.49457594752311707,-0.5296869277954102,-0.49541616439819336,-0.5303183197975159,-0.49609023332595825,-0.5307528972625732,-0.49656811356544495,-0.5310207605361938,-0.4968433976173401,-0.5310498476028442,-0.496968537569046,-0.530831515789032,-0.49698033928871155,-0.5304620265960693,-0.49686378240585327,-0.5299873352050781,-0.4966042637825012,-0.5293381810188293,-0.4962059259414673,-0.5284557342529297,-0.49565649032592773,-0.5273529887199402,-0.4949106276035309,-0.526007354259491,-0.4938989281654358,-0.5243396759033203,-0.49257004261016846,-0.5223512649536133,-0.49095845222473145,-0.5201387405395508,-0.48915889859199524,-0.5177398324012756,-0.48719456791877747,-0.5151124596595764,-0.4850119352340698,-0.5122785568237305,-0.482637494802475,-0.5093286633491516,-0.4801918864250183,-0.5062897801399231,-0.4777042865753174,-0.5031248927116394,-0.475080281496048,-0.49982544779777527,-0.4722902476787567,-0.4963882863521576,-0.46941402554512024,-0.49277254939079285,-0.46646642684936523,-0.48896169662475586,-0.46334540843963623,-0.48497438430786133,-0.45997869968414307,-0.48077625036239624,-0.4563928246498108,-0.4763081669807434,-0.45262888073921204,-0.47160157561302185,-0.4486851990222931,-0.4667295813560486,-0.4445449113845825,-0.46167927980422974,-0.4402090609073639,-0.45640772581100464,-0.4357064366340637,-0.45095518231391907,-0.43107399344444275,-0.4453774094581604,-0.4263157844543457,-0.43965455889701843,-0.4214092791080475,-0.43376171588897705,-0.4163581430912018,-0.427729070186615,-0.4111863970756531,-0.42157092690467834,-0.40588706731796265,-0.41525986790657043,-0.40044105052948,-0.4087994396686554,-0.3948689103126526,-0.4022263288497925,-0.38919609785079956,-0.3955446183681488,-0.38339942693710327,-0.3887292444705963,-0.3774532377719879,-0.3817715644836426,-0.37138763070106506,-0.37467828392982483,-0.3652406632900238,-0.36746498942375183,-0.3589944839477539,-0.36015987396240234,-0.35260990262031555,-0.3527684509754181,-0.3460889160633087,-0.3452497124671936,-0.33946171402931213,-0.3375682830810547,-0.3327275514602661,-0.3297394812107086,-0.32584986090660095,-0.3218045234680176,-0.3188246786594391,-0.31380194425582886,-0.31171417236328125,-0.3057512938976288,-0.3045653700828552,-0.29762595891952515,-0.29733529686927795,-0.28938376903533936,-0.28996893763542175,-0.2810479402542114,-0.28250637650489807,-0.2726821303367615,-0.27501970529556274,-0.2642843723297119,-0.26749780774116516,-0.2558106482028961,-0.25989100337028503,-0.24728626012802124,-0.25220686197280884,-0.23876431584358215,-0.24447709321975708,-0.23021483421325684,-0.23670168220996857,-0.22157728672027588,-0.22887814044952393,-0.21286465227603912,-0.221002995967865,-0.20411089062690735,-0.21303793787956238,-0.19533251225948334,-0.20500221848487854,-0.1864926666021347,-0.19693033397197723,-0.1776198148727417,-0.18884466588497162,-0.16875708103179932,-0.1807192862033844,-0.15989913046360016,-0.1725713461637497,-0.15102531015872955,-0.16447541117668152,-0.14213839173316956,-0.15643048286437988,-0.13326241075992584,-0.1483512669801712,-0.12442145496606827,-0.1402113437652588,-0.11559772491455078,-0.13205887377262115,-0.10671859979629517,-0.12390013784170151,-0.09771277010440826,-0.11567951738834381,-0.08856542408466339,-0.10734037309885025,-0.07931990921497345,-0.09885535389184952,-0.07004343718290329,-0.09027108550071716,-0.06076359748840332,-0.08171606063842773,-0.051445167511701584,-0.07325153797864914,-0.042089834809303284,-0.0647740513086319,-0.03280926123261452,-0.056217558681964874,-0.02369919791817665,-0.04774121567606926,-0.014719998463988304,-0.03951798379421234,-0.005831114947795868,-0.031474702060222626,0.0028619803488254547,-0.023466356098651886,0.011266704648733139,-0.015539433807134628,0.019486743956804276,-0.007796190679073334,0.02764134854078293,-0.0002129673957824707,0.035642001777887344,0.007213525474071503,0.043391402810811996,0.014408908784389496,0.051025353372097015,0.021428555250167847,0.05867929756641388,0.028416655957698822,0.0662369579076767,0.03535858541727066,0.07358866930007935,0.042189568281173706,0.08084963262081146,0.0490066260099411,0.08807537704706192,0.05589109659194946,0.09510941803455353,0.06279647350311279,0.10187757015228271,0.06977587193250656,0.10846224427223206,0.07693607360124588,0.11485867202281952,0.08415903151035309,0.12102552503347397,0.09127787500619888,0.12707127630710602,0.09834423661231995,0.13310644030570984,0.10538395494222641,0.1391477882862091,0.11228538304567337,0.14532488584518433,0.11914981156587601,0.15184150636196136,0.12623929977416992,0.15870630741119385,0.13356147706508636,0.16585108637809753,0.14108172059059143,0.17339038848876953,0.1491435021162033,0.1814194768667221,0.15807709097862244,0.18974897265434265,0.16768202185630798,0.198135644197464,0.17754817008972168,0.20657123625278473,0.18749697506427765,0.2151017040014267,0.1973915696144104,0.22352728247642517,0.20688694715499878,0.2315070927143097,0.21554161608219147,0.23887209594249725,0.22295071184635162,0.24563157558441162,0.22886541485786438,0.25171032547950745,0.23340195417404175,0.2569041848182678,0.23695433139801025,0.261075884103775,0.23977386951446533,0.26421427726745605,0.24187617003917694,0.2663898468017578,0.24339160323143005,0.2677948474884033,0.24464905261993408,0.26866623759269714,0.24582798779010773,0.2691427767276764,0.24681979417800903,0.26940131187438965,0.24747145175933838,0.26977843046188354,0.2477508783340454,0.2705434560775757,0.24775663018226624,0.27185192704200745,0.24776995182037354,0.2739870250225067,0.2481580376625061,0.27716192603111267,0.2491474449634552,0.28118157386779785,0.25096777081489563,0.28582748770713806,0.25415366888046265,0.29126155376434326,0.2592353820800781,0.29756784439086914,0.2661699652671814,0.30439600348472595,0.274442195892334,0.3113973140716553,0.2835386097431183,0.3184615671634674,0.2930457592010498,0.3254229426383972,0.3025587797164917,0.33204150199890137,0.3116576075553894,0.33815014362335205,0.3198394179344177,0.3434916138648987,0.3266984820365906,0.34775760769844055,0.3323238790035248,0.35095351934432983,0.33714330196380615,0.35330039262771606,0.34139373898506165,0.3547760844230652,0.3451768755912781,0.35519939661026,0.34872883558273315,0.354733943939209,0.3521868586540222,0.35391494631767273,0.35551464557647705,0.3531007468700409,0.3588149845600128,0.35216692090034485,0.362111359834671,0.3509524166584015,0.3649575114250183,0.3497481942176819,0.3669162392616272,0.34890446066856384,0.3680737018585205,0.34819650650024414,0.36864179372787476,0.34714847803115845,0.3686122000217438,0.34571465849876404,0.36799123883247375,0.34409332275390625,0.36683329939842224,0.34221574664115906,0.36515533924102783,0.33987826108932495,0.3631545305252075,0.33708736300468445,0.36112385988235474,0.33407649397850037,0.3591340482234955,0.33116063475608826,0.35727792978286743,0.3285318911075592,0.35586118698120117,0.3262489140033722,0.35493436455726624,0.3246261179447174,0.3543103337287903,0.324245810508728,0.3542410731315613,0.3252984285354614,0.35525748133659363,0.3275124430656433,0.35742220282554626,0.3308638334274292,0.3604626953601837,0.33558639883995056,0.3642706573009491,0.34152770042419434,0.3687928318977356,0.34815678000450134,0.37390872836112976,0.3549131751060486,0.3794596493244171,0.36118724942207336,0.3849322199821472,0.3664550185203552,0.3894926607608795,0.3704560697078705,0.39263832569122314,0.37284305691719055,0.3941919207572937,0.3731362521648407,0.39371824264526367,0.3713011145591736,0.39081722497940063,0.36774566769599915,0.3857673704624176,0.36292165517807007,0.3792005181312561,0.35753628611564636,0.37164250016212463,0.35247477889060974,0.3638255000114441,0.34811195731163025,0.3568190634250641,0.34460335969924927,0.35156095027923584,0.342583566904068,0.3486330211162567,0.3424295485019684,0.3483543395996094) |
| |
| , |
| |
| new Array(0.3436359763145447,0.3507392704486847,0.3458445370197296,0.35553568601608276,0.349070280790329,0.36218830943107605,0.3529009521007538,0.36989903450012207,0.3567352890968323,0.3776802718639374,0.3602409362792969,0.3845756947994232,0.3624301850795746,0.38984495401382446,0.36204901337623596,0.3930245339870453,0.35958513617515564,0.39386096596717834,0.35623884201049805,0.39222022891044617,0.35106125473976135,0.3883177638053894,0.34256747364997864,0.38292935490608215,0.3323298692703247,0.3768877685070038,0.323260098695755,0.37063145637512207,0.3156992495059967,0.3646821975708008,0.3084883987903595,0.35974499583244324,0.3018919825553894,0.35562121868133545,0.29641395807266235,0.3507556915283203,0.2904132902622223,0.34314075112342834,0.28101786971092224,0.33097949624061584,0.26616284251213074,0.31287649273872375,0.2446533590555191,0.2879803478717804,0.21516236662864685,0.255038857460022,0.17608602344989777,0.21176795661449432,0.12704282999038696,0.15780548751354218,0.07108964771032333,0.09810417890548706,0.014752926304936409,0.040358446538448334,-0.035008858889341354,-0.010328201577067375,-0.07317540794610977,-0.05101863294839859,-0.09570048749446869,-0.07671763747930527,-0.09804818034172058,-0.08093484491109848,-0.0764317587018013,-0.06037058308720589,-0.03042197786271572,-0.01648930460214615,0.03596554324030876,0.0465453676879406,0.11531345546245575,0.12299899756908417,0.1989039182662964,0.20528899133205414,0.27868446707725525,0.28483620285987854,0.34824496507644653,0.3541155457496643,0.40280720591545105,0.40809503197669983,0.43914052844047546,0.4442239999771118,0.45606517791748047,0.46168196201324463,0.4549923837184906,0.4612167477607727,0.43956613540649414,0.4456948935985565,0.41455766558647156,0.41990524530410767,0.3848838806152344,0.3890814185142517,0.35493040084838867,0.35762137174606323,0.32800400257110596,0.3289647400379181,0.30628281831741333,0.3057825565338135,0.291183739900589,0.2896957993507385,0.28327441215515137,0.2809591591358185,0.2818855345249176,0.2787399888038635,0.2854923605918884,0.28177735209465027,0.2925439476966858,0.2886710464954376,0.30161160230636597,0.2977151870727539,0.31119534373283386,0.30709391832351685,0.31999343633651733,0.31554341316223145,0.3271985352039337,0.3224572539329529,0.3323807716369629,0.3273491859436035,0.3353782892227173,0.32981887459754944,0.3363034129142761,0.33001670241355896,0.33541586995124817,0.32849812507629395,0.33304548263549805,0.32565680146217346,0.32961732149124146,0.3217451870441437,0.3255370557308197,0.31720080971717834,0.3211156129837036,0.31249549984931946,0.3166646659374237,0.30782362818717957,0.3124258816242218,0.30318742990493774,0.3084467351436615,0.29864123463630676,0.304767370223999,0.29430586099624634,0.3015163242816925,0.290192186832428,0.29865914583206177,0.28612279891967773,0.2959946393966675,0.28194108605384827,0.29342013597488403,0.27772849798202515,0.2908669412136078,0.273634672164917,0.2881903052330017,0.26963305473327637,0.2853950262069702,0.2656824290752411,0.2825847864151001,0.2619113028049469,0.27963492274284363,0.2584269642829895,0.2764520049095154,0.2552037239074707,0.2733556032180786,0.25225701928138733,0.27060335874557495,0.24962079524993896,0.2679532766342163,0.24718371033668518,0.26519572734832764,0.24481931328773499,0.26249805092811584,0.2424980103969574,0.25986188650131226,0.2400670051574707,0.25692054629325867,0.23722389340400696,0.2534322142601013,0.23384401202201843,0.2493741512298584,0.2300342619419098,0.24467289447784424,0.2258572280406952,0.23934808373451233,0.22128351032733917,0.23365342617034912,0.21636269986629486,0.22778062522411346,0.21126005053520203,0.22179719805717468,0.2061673104763031,0.21593421697616577,0.20118600130081177,0.2105105221271515,0.19625036418437958,0.2056254893541336,0.19125910103321075,0.20119091868400574,0.1862357258796692,0.1970648467540741,0.18117842078208923,0.19303493201732635,0.17590683698654175,0.1889193207025528,0.17028747498989105,0.18464966118335724,0.16439872980117798,0.18007981777191162,0.1582980751991272,0.17496532201766968,0.15188351273536682,0.16928313672542572,0.14509545266628265,0.1632496416568756,0.13801680505275726,0.1569652110338211,0.13074497878551483,0.1503717601299286,0.1233326643705368,0.1435215175151825,0.11582323908805847,0.1365867406129837,0.10827413201332092,0.12966367602348328,0.10077520459890366,0.12275254726409912,0.0934087336063385,0.11584542691707611,0.08619605004787445,0.10892727971076965,0.07917298376560211,0.10195941478013992,0.07243507355451584,0.09491272270679474,0.06601165235042572,0.08778388798236847,0.05983836576342583,0.0805385559797287,0.05387263000011444,0.07305917888879776,0.04803667962551117,0.06523420661687851,0.04212284833192825,0.057080116122961044,0.03594566509127617,0.04865209758281708,0.029429901391267776,0.039905570447444916,0.022460641339421272,0.03080851025879383,0.014893142506480217,0.02146265283226967,0.006716256495565176,0.011982964351773262,-0.001997239887714386,0.0024438141845166683,-0.011165347881615162,-0.007014747243374586,-0.020593587309122086,-0.016242871060967445,-0.030016787350177765,-0.025171050801873207,-0.039254624396562576,-0.03368787094950676,-0.04812806844711304,-0.041668251156806946,-0.056405309587717056,-0.04917296767234802,-0.0640219897031784,-0.056338705122470856,-0.07114075869321823,-0.06319992244243622,-0.07793767005205154,-0.06988830864429474,-0.08454476296901703,-0.07669203728437424,-0.09115692973136902,-0.08373631536960602,-0.09804609417915344,-0.09103355556726456,-0.10550685971975327,-0.09883319586515427,-0.11369960010051727,-0.10741837322711945,-0.12249250710010529,-0.11673317849636078,-0.1316787600517273,-0.1266242116689682,-0.14125868678092957,-0.1370970606803894,-0.15116144716739655,-0.1480569839477539,-0.16098646819591522,-0.1592252403497696,-0.1704384982585907,-0.17041613161563873,-0.17959284782409668,-0.18150544166564941,-0.18844667077064514,-0.19222383201122284,-0.1967857927083969,-0.20232486724853516,-0.20461004972457886,-0.21179530024528503,-0.21210674941539764,-0.2207169234752655,-0.21930965781211853,-0.22912082076072693,-0.2262527346611023,-0.23705273866653442,-0.23312364518642426,-0.244648739695549,-0.23997023701667786,-0.25211477279663086,-0.24670550227165222,-0.2596213221549988,-0.2534589469432831,-0.2672247886657715,-0.2604459822177887,-0.27498531341552734,-0.26765093207359314,-0.2830657362937927,-0.2750389277935028,-0.29154103994369507,-0.2827794849872589,-0.3002829849720001,-0.29098790884017944,-0.3091878592967987,-0.29958197474479675,-0.31826746463775635,-0.3085162043571472,-0.32745054364204407,-0.31784147024154663,-0.336588978767395,-0.32749396562576294,-0.34562060236930847,-0.3372446596622467,-0.35447514057159424,-0.3468747138977051,-0.36298662424087524,-0.35627293586730957,-0.3710893392562866,-0.3653349280357361,-0.37888044118881226,-0.3738906681537628,-0.3864019513130188,-0.38183271884918213,-0.3935663104057312,-0.38917502760887146,-0.40029746294021606,-0.39585989713668823,-0.4066075086593628,-0.40175122022628784,-0.4125635325908661,-0.4069103002548218,-0.41820240020751953,-0.41154420375823975,-0.42346662282943726,-0.415698766708374,-0.4283090829849243,-0.4193916618824005,-0.4328407943248749,-0.42285987734794617,-0.4372495412826538,-0.42631256580352783,-0.4416581094264984,-0.4297977387905121,-0.4461841285228729,-0.4335118532180786,-0.451017290353775,-0.43769797682762146,-0.4563363194465637,-0.4422340989112854,-0.46220043301582336,-0.4469219446182251,-0.4685121476650238,-0.4519149363040924,-0.4750834107398987,-0.4572798013687134,-0.4817622900009155,-0.46262893080711365,-0.4883791208267212,-0.4676629602909088,-0.4945853352546692,-0.4724624752998352,-0.5000262260437012,-0.47698476910591125,-0.5046371221542358,-0.4809568226337433,-0.5084781646728516,-0.48434996604919434,-0.5114843249320984,-0.4873488247394562,-0.5136945247650146,-0.48995310068130493,-0.5154111385345459,-0.49210289120674133,-0.516903281211853,-0.4939757287502289,-0.5183118581771851,-0.4957995116710663,-0.5198625922203064,-0.4976169764995575,-0.521746039390564,-0.49945729970932007,-0.5239163041114807,-0.5014687180519104,-0.5263248682022095,-0.5037275552749634,-0.5290380120277405,-0.5061351656913757,-0.5319313406944275,-0.5085968375205994,-0.5346949696540833,-0.5110976099967957,-0.5372004508972168,-0.5135430693626404,-0.5394700765609741,-0.5157400369644165,-0.5414009094238281,-0.5175819993019104,-0.542862057685852,-0.5190489888191223,-0.5438710451126099,-0.5200487375259399,-0.5444741249084473,-0.5204949378967285,-0.5446802377700806,-0.520462155342102,-0.544552206993103,-0.5200443267822266,-0.5441441535949707,-0.5192134380340576,-0.5434141755104065,-0.5179857611656189,-0.542346179485321,-0.5164980292320251,-0.541022777557373,-0.5148156881332397,-0.5394992828369141,-0.5129062533378601,-0.5377427935600281,-0.5108166337013245,-0.5357125997543335,-0.5086457133293152,-0.5334264039993286,-0.5064231157302856,-0.5309809446334839,-0.5041735768318176,-0.5284898281097412,-0.501957893371582,-0.5259407162666321,-0.4997645318508148,-0.5232195854187012,-0.49752259254455566,-0.5203320384025574,-0.4952189326286316,-0.5174044966697693,-0.4928598403930664,-0.5144237279891968,-0.49038657546043396,-0.5112305283546448,-0.48774129152297974,-0.5077933073043823,-0.48493388295173645,-0.5042111873626709,-0.4819803535938263,-0.5004695653915405,-0.47884082794189453,-0.49646249413490295,-0.4754530191421509,-0.4921858608722687,-0.47181081771850586,-0.48766329884529114,-0.4679860472679138,-0.4828302264213562,-0.4640211760997772,-0.4776991307735443,-0.45984530448913574,-0.4724256694316864,-0.4554009437561035,-0.4670521914958954,-0.45078036189079285,-0.46145713329315186,-0.44608256220817566,-0.45564666390419006,-0.4412424862384796,-0.4497779309749603,-0.43617334961891174,-0.44387221336364746,-0.43095916509628296,-0.4378197193145752,-0.4257330596446991,-0.43161824345588684,-0.4204648733139038,-0.4253285229206085,-0.4150194823741913,-0.4189133048057556,-0.4093530774116516,-0.41232648491859436,-0.40354013442993164,-0.40559619665145874,-0.39763739705085754,-0.3987126648426056,-0.3915990889072418,-0.3916330635547638,-0.3853526711463928,-0.38440752029418945,-0.3789190351963043,-0.37710270285606384,-0.37238672375679016,-0.36967653036117554,-0.36577948927879333,-0.3620924651622772,-0.3590465188026428,-0.35440847277641296,-0.3521696627140045,-0.3466413915157318,-0.3451785445213318,-0.3387884497642517,-0.33814793825149536,-0.3308127522468567,-0.33104076981544495,-0.3227776885032654,-0.32384273409843445,-0.31471219658851624,-0.31652259826660156,-0.30657118558883667,-0.3090512454509735,-0.2983539402484894,-0.30152422189712524,-0.2901151776313782,-0.2940562069416046,-0.2818600535392761,-0.2865472733974457,-0.273529976606369,-0.2788337171077728,-0.2650870978832245,-0.27100440859794617,-0.2565560042858124,-0.2632352113723755,-0.2479782998561859,-0.25543200969696045,-0.2393481284379959,-0.24740611016750336,-0.2306208461523056,-0.23924009501934052,-0.22179831564426422,-0.23113234341144562,-0.21295014023780823,-0.22305995225906372,-0.20411615073680878,-0.21488721668720245,-0.19526320695877075,-0.20662233233451843,-0.1863834410905838,-0.19836333394050598,-0.17753858864307404,-0.19014336168766022,-0.16875573992729187,-0.18192589282989502,-0.1599741280078888,-0.17364239692687988,-0.15114164352416992,-0.16524434089660645,-0.14228147268295288,-0.15676435828208923,-0.13342416286468506,-0.1482381820678711,-0.12454365193843842,-0.13959383964538574,-0.11561007052659988,-0.13077281415462494,-0.10667137056589127,-0.12187683582305908,-0.09781067073345184,-0.11302471160888672,-0.08900970220565796,-0.10418687015771866,-0.08015486598014832,-0.09531546384096146,-0.07122906297445297,-0.08648769557476044,-0.06236971542239189,-0.07779493927955627,-0.05368009954690933,-0.0692458227276802,-0.04515216499567032,-0.0608653724193573,-0.036801550537347794,-0.05274923890829086,-0.028654571622610092,-0.04495047777891159,-0.020618632435798645,-0.03741208463907242,-0.012603923678398132,-0.03005238249897957,-0.004660770297050476,-0.022837206721305847,0.0032375603914260864,-0.01571357250213623,0.011317364871501923,-0.008542641997337341,0.01970715820789337,-0.0011973455548286438,0.028333887457847595,0.0063246265053749084,0.0372132882475853,0.014011144638061523,0.04643452912569046,0.021950438618659973,0.05588231235742569,0.03010193258523941,0.06538072973489761,0.03810767084360123,0.07491307705640793,0.04572763293981552,0.08436762541532516,0.05330805480480194,0.09348076581954956,0.06125878542661667,0.10222368687391281,0.06920412927865982,0.11063101887702942,0.07641875743865967,0.11829406023025513,0.08306580036878586,0.1248847246170044,0.09005635231733322,0.1309305727481842,0.09756209701299667,0.13703811168670654,0.10473161935806274,0.14279481768608093,0.11117547750473022,0.1475921869277954,0.11762325465679169,0.15196004509925842,0.1246354728937149,0.15684883296489716,0.1316998451948166,0.1621231585741043,0.1381763368844986,0.1669425070285797,0.1442692130804062,0.17123211920261383,0.15050184726715088,0.17575912177562714,0.15688656270503998,0.18093281984329224,0.16307076811790466,0.18630343675613403,0.16888675093650818,0.19129076600074768,0.17447316646575928,0.1959274560213089,0.1800549030303955,0.2006806880235672,0.18569731712341309,0.20578977465629578,0.1912769377231598,0.21109235286712646,0.19677548110485077,0.21643885970115662,0.20245715975761414,0.22195398807525635,0.20854544639587402,0.22783887386322021,0.21492406725883484,0.23414868116378784,0.22138294577598572,0.2408096045255661,0.22791072726249695,0.24772141873836517,0.2345348745584488,0.2548198699951172,0.24109560251235962,0.26203206181526184,0.24734240770339966,0.26913875341415405,0.2531210780143738,0.2757990062236786,0.25837716460227966,0.2817825675010681,0.26302066445350647,0.28703317046165466,0.26686960458755493,0.2914980947971344,0.2698267996311188,0.2951238453388214,0.27205488085746765,0.29802095890045166,0.27380669116973877,0.3004281520843506,0.27521419525146484,0.30253762006759644,0.2764592170715332,0.3044890761375427,0.2779090106487274,0.30645057559013367,0.27983519434928894,0.3086082339286804,0.2822890281677246,0.31110501289367676,0.28536826372146606,0.31396785378456116,0.28918546438217163,0.3170616328716278,0.29356107115745544,0.3201717436313629,0.29820433259010315,0.3231307864189148,0.3030858337879181,0.3258450925350189,0.308247447013855,0.328314870595932,0.31352299451828003,0.33062970638275146,0.31873950362205505,0.33277279138565063,0.32381922006607056,0.33449500799179077,0.3285626173019409,0.3355770409107208,0.3327631652355194,0.33607345819473267,0.3364887833595276,0.3361404836177826,0.33987191319465637,0.3358767628669739,0.3428524136543274,0.3354545533657074,0.3454176187515259,0.3351161479949951,0.34774285554885864,0.33497175574302673,0.3499442934989929,0.33502712845802307,0.35206130146980286,0.33532264828681946,0.3542133569717407,0.3358570337295532,0.3563973605632782,0.33655038475990295,0.35835447907447815,0.33737021684646606,0.35992562770843506,0.3382839858531952,0.36120814085006714,0.3391556143760681,0.3622129559516907,0.3399306535720825,0.3627970814704895,0.340738445520401,0.36299434304237366,0.34162911772727966,0.36302265524864197,0.34250450134277344,0.3629917502403259,0.34339553117752075,0.36288395524024963,0.3444414734840393,0.36270594596862793,0.34560033679008484,0.3624858260154724,0.34673959016799927,0.3622548580169678,0.3479076623916626,0.3620994985103607,0.349197655916214,0.3621264100074768,0.3505156636238098,0.36238744854927063,0.3517214357852936,0.3628728985786438,0.35284072160720825,0.3635386526584625,0.3538372218608856,0.3641984164714813,0.354625403881073,0.36477917432785034,0.35517418384552,0.3654242753982544,0.35551297664642334,0.3663182854652405,0.3556709885597229,0.36749815940856934,0.3556704521179199,0.3688485622406006,0.35551950335502625,0.37021782994270325,0.3551963269710541,0.3715476989746094,0.3546697497367859,0.37288153171539307,0.35392022132873535,0.37423309683799744,0.3529627323150635,0.37555593252182007,0.3518728017807007,0.37683695554733276,0.3507084548473358,0.3780277371406555,0.34938400983810425,0.3789185583591461,0.34771719574928284,0.3792995512485504,0.3455829322338104,0.3791392147541046,0.3429500460624695,0.37842699885368347,0.33985161781311035,0.3770616948604584,0.3363795876502991,0.37503236532211304,0.33264100551605225,0.3724556863307953,0.32876861095428467,0.3694303035736084,0.3250260651111603,0.36613425612449646,0.32172974944114685,0.3629182279109955,0.31904760003089905,0.36003610491752625,0.3171144723892212,0.3575168550014496,0.3162133991718292,0.3554316759109497,0.31647419929504395,0.35392361879348755,0.31762418150901794,0.35296547412872314,0.31939736008644104,0.3524459898471832,0.32169878482818604,0.3522231876850128,0.32382136583328247,0.3515649437904358,0.323943555355072,0.34879955649375916,0.31993407011032104,0.3419891595840454,0.31043753027915955,0.3298355042934418,0.29507070779800415,0.3119099736213684,0.27397388219833374,0.28838664293289185,0.24728214740753174,0.2595595121383667,0.21489554643630981,0.2254326194524765,0.17702044546604156,0.1861249804496765,0.13509336113929749,0.14292919635772705,0.09184535592794418,0.0985659807920456,0.05040176957845688,0.05621499568223953,0.01354043185710907,0.018598206341266632,-0.016510628163814545,-0.012152232229709625,-0.03795430064201355,-0.03417684882879257,-0.048723407089710236,-0.045258983969688416,-0.045718543231487274,-0.04232113063335419,-0.025622978806495667,-0.022208139300346375,0.012788698077201843,0.016318827867507935,0.067243292927742,0.07123502343893051,0.13267022371292114,0.13764043152332306,0.20275083184242249,0.209126278758049,0.27113276720046997,0.27916431427001953,0.33227863907814026,0.3421016037464142,0.38191530108451843,0.3935193717479706,0.41712698340415955,0.4302797317504883,0.4366118311882019,0.45090678334236145,0.4410606920719147,0.45601534843444824,0.4329354763031006,0.44800302386283875,0.4156544506549835,0.43021994829177856,0.39290153980255127,0.40635135769844055,0.36821553111076355,0.3800208568572998,0.3446190655231476,0.3543797731399536,0.32438135147094727,0.3318696916103363,0.30896732211112976,0.31416574120521545,0.2989675998687744,0.302045077085495,0.29409757256507874,0.2953417897224426,0.29348260164260864,0.29323530197143555,0.2960135340690613,0.2946128845214844,0.3005402088165283,0.2982521057128906,0.3060187101364136,0.3029651343822479,0.31161439418792725,0.30772703886032104,0.31662559509277344,0.31167834997177124,0.32043734192848206,0.31415697932243347,0.3227097988128662,0.31484824419021606,0.32350826263427734,0.313800573348999,0.3231211006641388,0.3112623393535614,0.3218221068382263,0.3076017498970032,0.319834440946579,0.3033114969730377,0.31740814447402954,0.2989150285720825,0.31485068798065186,0.2948548495769501,0.3124483525753021,0.2914617955684662,0.31033024191856384,0.2889053225517273,0.3084651231765747,0.28716087341308594,0.3068024814128876,0.2860954999923706,0.3052840530872345,0.2855125665664673,0.30369892716407776,0.28507593274116516,0.30171483755111694,0.2843456566333771,0.2990935146808624,0.2829536199569702,0.295750230550766,0.28065529465675354,0.29166868329048157,0.2772802710533142,0.2869117259979248,0.2727862298488617,0.28164681792259216,0.2673061490058899,0.2760713994503021,0.2610625922679901,0.27038443088531494,0.25432145595550537,0.26479262113571167,0.24741120636463165,0.2594027817249298,0.24062642455101013,0.25418317317962646,0.23414039611816406,0.24914424121379852,0.22811943292617798,0.24441100656986237,0.2227998822927475,0.2400449812412262,0.21833443641662598,0.2359958440065384,0.2146882712841034,0.23225922882556915,0.2117394655942917,0.2288622409105301,0.20933091640472412,0.22570477426052094,0.20720435678958893,0.22260309755802155,0.20500941574573517,0.21942651271820068,0.2023804634809494,0.21604958176612854,0.1989881694316864,0.2122812718153,0.1946185678243637,0.20795966684818268,0.18923088908195496,0.20303267240524292,0.1828848272562027,0.19751881062984467,0.1756948083639145,0.1914731115102768,0.16792836785316467,0.18498684465885162,0.1600073128938675,0.17818424105644226,0.15231330692768097,0.17123626172542572,0.14508582651615143,0.16434428095817566,0.13850338757038116,0.15764987468719482,0.1326969563961029,0.1512037068605423,0.12764720618724823,0.14503470063209534,0.12316109985113144,0.13916251063346863,0.11896595358848572,0.13355253636837006,0.11481080204248428,0.12815110385417938,0.11050844192504883,0.12291742116212845,0.10589440912008286,0.11774105578660965,0.10077223181724548,0.11239765584468842,0.09496051073074341,0.10665403306484222,0.08838188648223877,0.1003800556063652,0.08106671273708344,0.09346766024827957,0.07306445389986038,0.08584439754486084,0.06449486315250397,0.07751166075468063,0.0555633008480072,0.06856295466423035,0.046484850347042084,0.059176962822675705,0.03744354099035263,0.04958879575133324,0.02862597443163395,0.0400613471865654,0.020237747579813004,0.03086978569626808,0.012458212673664093,0.02223091758787632,0.0053418781608343124,0.01419978216290474,-0.001248285174369812,0.006708775646984577,-0.0075348149985075,-0.0002906918525695801,-0.013653511181473732,-0.006836937740445137,-0.01968599110841751,-0.013062719255685806,-0.02580053173005581,-0.019140519201755524,-0.03219126909971237,-0.025186140090227127,-0.038921840488910675,-0.03132248297333717,-0.04595652595162392,-0.03771370276808739,-0.05326448380947113,-0.044453129172325134,-0.060802243649959564,-0.05154811590909958,-0.06848271191120148,-0.05902509018778801,-0.07619261741638184,-0.06691370159387589,-0.08379656076431274,-0.0751795619726181,-0.09120871871709824,-0.08378754556179047,-0.0985087901353836,-0.09274525940418243,-0.10586851090192795,-0.10203513503074646,-0.11339233070611954,-0.1116054505109787,-0.12117552012205124,-0.12139799445867538,-0.12939989566802979,-0.1313091218471527,-0.1381993591785431,-0.1412314921617508,-0.147567480802536,-0.1511681228876114,-0.15748564898967743,-0.16116419434547424,-0.16794219613075256,-0.1711844801902771,-0.178798109292984,-0.18121357262134552,-0.18982529640197754,-0.1913289576768875,-0.2008262723684311,-0.20152945816516876,-0.21157817542552948,-0.21168290078639984,-0.22180645167827606,-0.22168974578380585,-0.2313070297241211,-0.23146215081214905,-0.23995310068130493,-0.24079033732414246,-0.24763138592243195,-0.24947047233581543,-0.25434255599975586,-0.2574461102485657,-0.2602357864379883,-0.26465606689453125,-0.2654263377189636,-0.2709711790084839,-0.26997777819633484,-0.27640077471733093,-0.2740896940231323,-0.28114989399909973,-0.27805638313293457,-0.2854735553264618,-0.28208595514297485,-0.2896733283996582,-0.2863636612892151,-0.2941269874572754,-0.2911421060562134,-0.299156129360199,-0.2965962886810303,-0.30497097969055176,-0.30276089906692505,-0.31174346804618835,-0.3096446990966797,-0.3195430338382721,-0.3172059655189514,-0.32825422286987305,-0.3252774477005005,-0.3376973867416382,-0.33369049429893494,-0.34769386053085327,-0.3423401415348053,-0.3579603135585785,-0.3510512709617615,-0.3681504428386688,-0.3595849275588989,-0.37799546122550964,-0.36778882145881653,-0.38724061846733093,-0.3755456507205963,-0.3955906927585602,-0.3826776444911957,-0.40288683772087097,-0.3890700340270996,-0.4091619551181793,-0.3947434425354004,-0.41446515917778015,-0.3997305929660797,-0.4188607931137085,-0.40407246351242065,-0.4225817620754242,-0.4079211950302124,-0.42594799399375916,-0.4114592969417572,-0.42920154333114624,-0.41479772329330444,-0.4325565695762634,-0.41806554794311523,-0.4362483620643616,-0.4214438498020172,-0.4404276907444,-0.4250420928001404,-0.4451479911804199,-0.42889899015426636,-0.45045268535614014,-0.43308261036872864,-0.4563312530517578,-0.4376424252986908,-0.4626504182815552,-0.44253748655319214,-0.4692232012748718,-0.44769778847694397,-0.47585803270339966,-0.45304206013679504,-0.4823276400566101,-0.4584178030490875,-0.4884132742881775,-0.4636516273021698,-0.493976354598999,-0.4686329960823059,-0.4989304542541504,-0.47326552867889404,-0.5032305717468262,-0.4774376451969147,-0.5069249272346497,-0.4811008870601654,-0.5101109147071838,-0.4842684268951416,-0.5128448009490967,-0.48692530393600464,-0.5151772499084473,-0.489045113325119,-0.5172102451324463,-0.4906660318374634,-0.5190343856811523,-0.4918709993362427,-0.5206844806671143,-0.4927436411380768,-0.522188127040863,-0.49338048696517944,-0.5235728621482849,-0.493878036737442,-0.524824857711792,-0.49429672956466675,-0.5259182453155518,-0.4946802854537964,-0.5268622040748596,-0.4950801134109497,-0.5276737809181213,-0.4955251216888428,-0.5283466577529907,-0.4960111081600189,-0.5288761854171753,-0.4965241551399231,-0.5292695164680481,-0.49703070521354675,-0.5295256972312927,-0.4974631071090698,-0.5296366214752197,-0.49775710701942444,-0.5296010971069336,-0.4978855848312378,-0.5294173359870911,-0.4978395700454712,-0.5290791988372803,-0.49760928750038147,-0.5285782217979431,-0.4971923828125,-0.5278950333595276,-0.4965905249118805,-0.5270002484321594,-0.4957980513572693,-0.5258727073669434,-0.4948074221611023,-0.5245072245597839,-0.4936217963695526,-0.5229060649871826,-0.49225279688835144,-0.5210745334625244,-0.49071353673934937,-0.5190219283103943,-0.489006906747818,-0.5167518258094788,-0.4871183931827545,-0.5142611265182495,-0.4850262403488159,-0.5115514397621155,-0.4827241599559784,-0.5086349248886108,-0.4802265465259552,-0.5055283308029175,-0.47755685448646545,-0.5022464990615845,-0.47473302483558655,-0.4987978935241699,-0.4717614948749542,-0.49517983198165894,-0.4686356782913208,-0.4913797676563263,-0.4653436839580536,-0.487384557723999,-0.4618803858757019,-0.4831897020339966,-0.4582536518573761,-0.47879987955093384,-0.4544786214828491,-0.4742203950881958,-0.4505634307861328,-0.46944403648376465,-0.4464946985244751,-0.46444201469421387,-0.44223523139953613,-0.4591920077800751,-0.43775704503059387,-0.45380234718322754,-0.4331594705581665,-0.4482576847076416,-0.4284302294254303,-0.44253525137901306,-0.42354726791381836,-0.4366333782672882,-0.4185048043727875,-0.43056467175483704,-0.4133080244064331,-0.42434409260749817,-0.4079691767692566,-0.41797903180122375,-0.4025009870529175,-0.41146841645240784,-0.3969133198261261,-0.40480536222457886,-0.3912079930305481,-0.39798280596733093,-0.3853793740272522,-0.3909948766231537,-0.37941497564315796,-0.3838372826576233,-0.3733018636703491,-0.3765070140361786,-0.3670300245285034,-0.3690025210380554,-0.3605952560901642,-0.36132562160491943,-0.35399699211120605,-0.3534850478172302,-0.347239226102829,-0.3455008566379547,-0.3403315842151642,-0.3374013602733612,-0.3332901895046234,-0.3292185664176941,-0.32613515853881836,-0.3209799826145172,-0.31888967752456665,-0.312707781791687,-0.3115767538547516,-0.3044171929359436,-0.30421483516693115,-0.2961137294769287,-0.2968105673789978,-0.287792831659317,-0.28936243057250977,-0.2794452905654907,-0.2818763852119446,-0.2710641622543335,-0.2743810713291168,-0.26264554262161255,-0.26692333817481995,-0.25418442487716675,-0.25954583287239075,-0.2456752061843872,-0.2522677481174469,-0.23711907863616943,-0.24508249759674072,-0.22852902114391327,-0.2379646897315979,-0.21992439031600952,-0.23087120056152344,-0.21132147312164307,-0.2237369269132614,-0.2027295082807541,-0.21647736430168152,-0.1941550076007843,-0.20900630950927734,-0.18560859560966492,-0.2012595534324646,-0.17710696160793304,-0.1932099461555481,-0.16866502165794373,-0.18486526608467102,-0.16027802228927612,-0.17625293135643005,-0.15190652012825012,-0.16740408539772034,-0.14347873628139496,-0.1583499312400818,-0.13491913676261902,-0.1491309106349945,-0.1261826902627945,-0.13980576395988464,-0.11727005243301392,-0.13044916093349457,-0.10821488499641418,-0.12113991379737854,-0.09906162321567535,-0.11194673925638199,-0.08985001593828201,-0.10291466861963272,-0.08060862869024277,-0.09405313432216644,-0.07135115563869476,-0.08533615618944168,-0.06207706779241562,-0.07672415673732758,-0.0527779683470726,-0.06819739192724228,-0.04344412684440613,-0.0597696527838707,-0.03406934440135956,-0.05147016420960426,-0.024658385664224625,-0.04331723600625992,-0.015245087444782257,-0.035315826535224915,-0.0059119537472724915,-0.02747313305735588,0.0032121874392032623,-0.01980186440050602,0.011983063071966171,-0.012294502928853035,0.020283903926610947,-0.004899730905890465,0.02805602177977562,0.0024668164551258087,0.035305388271808624,0.009879233315587044,0.04209442436695099,0.017361540347337723,0.048530109226703644,0.024878814816474915,0.054752327501773834,0.03234849125146866,0.060921311378479004,0.039657074958086014,0.06720253825187683,0.04667987674474716,0.0737491250038147,0.053318336606025696,0.08068063110113144,0.05954745411872864,0.08805586397647858,0.06543652713298798,0.09584701061248779,0.07112129032611847,0.10393153131008148,0.0767485499382019,0.11212043464183807,0.08244599401950836,0.12021806091070175,0.08833739906549454,0.1280810832977295,0.09456155449151993,0.13564449548721313,0.10125024616718292,0.1429145187139511,0.10847346484661102,0.14995212852954865,0.11621200293302536,0.15686100721359253,0.12438612431287766,0.1637716144323349,0.13290725648403168,0.17080920934677124,0.1417008340358734,0.17805525660514832,0.15069368481636047,0.18551437556743622,0.15979520976543427,0.19309350848197937,0.16889125108718872,0.20060132443904877,0.1778457760810852,0.20778822898864746,0.1865084320306778,0.2144312858581543,0.1947418451309204,0.22041860222816467,0.20246091485023499,0.22577153146266937,0.20964892208576202,0.2305883765220642,0.21632149815559387,0.23496666550636292,0.22246390581130981,0.23896241188049316,0.22799497842788696,0.24260258674621582,0.23279574513435364,0.24591892957687378,0.23678524792194366,0.248972088098526,0.23999035358428955,0.2518520653247833,0.24255631864070892,0.2546519935131073,0.2446899116039276,0.2574346661567688,0.24658453464508057,0.26022133231163025,0.24839113652706146,0.26301535964012146,0.25023961067199707,0.2658284306526184,0.2522519826889038,0.268677294254303,0.25450819730758667,0.2715691924095154,0.25701192021369934,0.27451860904693604,0.2597254514694214,0.2775866389274597,0.2626533806324005,0.2808864414691925,0.2658756375312805,0.28452950716018677,0.2694924473762512,0.28857049345970154,0.27355408668518066,0.29300549626350403,0.2780616283416748,0.29779940843582153,0.28300735354423523,0.3028869032859802,0.28836995363235474,0.3081473112106323,0.2940548062324524,0.3134058713912964,0.2998628318309784,0.3184770941734314,0.30553561449050903,0.3232085108757019,0.31082984805107117,0.3274981677532196,0.3155636787414551,0.33131009340286255,0.3196343183517456,0.334693044424057,0.3230331242084503,0.3377578556537628,0.3258383572101593,0.34059277176856995,0.3281615078449249,0.3431852161884308,0.3300800919532776,0.3454265296459198,0.3316163420677185,0.34718337655067444,0.33276650309562683,0.34835436940193176,0.33353832364082336,0.3488852083683014,0.33397525548934937,0.34878212213516235,0.33417609333992004,0.34813082218170166,0.3342997133731842,0.3470771014690399,0.33452531695365906,0.3457757234573364,0.3350061774253845,0.34440669417381287,0.33591654896736145,0.34304994344711304,0.3373476266860962,0.3417830169200897,0.3393924832344055,0.34067779779434204,0.34211084246635437,0.33976149559020996,0.3454728424549103,0.3390282690525055,0.3493778705596924,0.33848339319229126,0.3537086248397827,0.33814239501953125,0.35832053422927856,0.33798927068710327,0.36298319697380066,0.3379756510257721,0.367387592792511,0.33807292580604553,0.37124550342559814,0.33829233050346375,0.37436410784721375,0.3386392295360565,0.37662485241889954,0.3390907347202301,0.3779562711715698,0.3396499454975128,0.3783873915672302,0.34038105607032776,0.3781013786792755,0.3413267135620117,0.37735795974731445,0.3423877954483032,0.3763378858566284,0.3433307409286499,0.3750898241996765,0.34391772747039795,0.37361714243888855,0.3439900279045105,0.3719516694545746,0.3434370756149292,0.37012267112731934,0.34218382835388184,0.36813002824783325,0.3402870297431946,0.3660232126712799,0.3380109965801239,0.36398354172706604,0.3357272148132324,0.36226099729537964,0.33372917771339417,0.3610217273235321,0.3321700394153595,0.36028921604156494,0.3311302959918976,0.36000531911849976,0.33064302802085876,0.36006680130958557,0.3306368291378021,0.3602849245071411,0.33094003796577454,0.36038947105407715,0.3313939571380615,0.36014264822006226,0.3319329023361206,0.3594413101673126,0.33255091309547424,0.3583035469055176,0.333262175321579,0.35682225227355957,0.33412057161331177,0.35518160462379456,0.33519402146339417,0.3536582589149475,0.33643603324890137,0.35249993205070496,0.33761170506477356,0.3517909646034241,0.338399201631546,0.3514852523803711,0.3385346829891205,0.35154107213020325,0.3378342092037201,0.35194092988967896,0.3361801505088806,0.35261058807373047,0.3336349129676819,0.35345658659935,0.3305266201496124,0.35447537899017334,0.32715994119644165,0.3555591106414795,0.32322508096694946,0.3559531271457672,0.3175520896911621,0.3540116250514984,0.3086777627468109,0.3478134274482727,0.2957591712474823,0.33618342876434326,0.2788720726966858,0.31906312704086304,0.25848230719566345,0.29696816205978394,0.23497503995895386,0.2704699635505676,0.20897898077964783,0.24048924446105957,0.18193909525871277,0.20885144174098969,0.1558382213115692,0.17798171937465668,0.13207562267780304,0.14971758425235748,0.11074550449848175,0.12449001520872116,0.09111859649419785,0.10174734145402908,0.07264640182256699,0.0810067430138588,0.055400654673576355,0.06237410008907318,0.03992924839258194,0.04639582708477974,0.02733016386628151,0.034069087356328964,0.019738657400012016,0.027350082993507385,0.020428039133548737,0.02936420403420925,0.03283391892910004,0.04347808286547661,0.058930449187755585,0.0716032087802887,0.09811178594827652,0.11300875246524811,0.14728772640228271,0.1644417643547058,0.20188573002815247,0.2211862951517105,0.25695711374282837,0.27817416191101074,0.30791592597961426,0.33069124817848206,0.350985586643219,0.3748006820678711,0.3835350275039673,0.40769463777542114,0.40427765250205994,0.4279574751853943,0.4132527709007263,0.4356182813644409,0.41165298223495483,0.43197256326675415,0.4015686511993408,0.41925567388534546,0.38561078906059265,0.4002455770969391,0.366449773311615,0.37785640358924866,0.34647783637046814,0.3547900319099426,0.3276962637901306,0.3333113193511963,0.3116696774959564,0.3151399791240692,0.29941827058792114,0.3013957142829895,0.2913617491722107,0.2925622761249542,0.2874203622341156,0.28850555419921875,0.2871525287628174,0.2885909676551819,0.2898179292678833,0.29186418652534485,0.29446321725845337,0.297207772731781,0.30010247230529785,0.3034416735172272,0.3058544397354126,0.30943411588668823,0.3109593391418457,0.314269483089447,0.31481796503067017,0.31740063428878784,0.3171224594116211,0.3186621069908142,0.3178839385509491,0.3181406259536743,0.31725195050239563,0.316037118434906,0.31534016132354736,0.31262126564979553,0.31226426362991333,0.3082268536090851,0.308246910572052,0.30319613218307495,0.3035838305950165,0.29779696464538574,0.2985372245311737,0.29221609234809875,0.29333794116973877,0.2866310179233551,0.2882595360279083,0.281252384185791,0.28361350297927856,0.27627500891685486,0.27966001629829407,0.2718202471733093,0.27655261754989624,0.2679551839828491,0.2743443250656128,0.26474589109420776,0.2729955017566681,0.26223862171173096,0.27235203981399536,0.2603779137134552,0.2721307873725891,0.2589706778526306,0.2719634175300598,0.2577463686466217,0.27150285243988037,0.2564413845539093,0.27051520347595215,0.25483351945877075,0.26887375116348267,0.2527434229850769,0.26650017499923706,0.25004786252975464,0.2633804380893707,0.2466958910226822,0.25963321328163147,0.2426961213350296,0.2554643154144287,0.23809194564819336,0.2510066032409668,0.23295894265174866,0.24626436829566956,0.227402463555336,0.24122701585292816,0.2215176224708557,0.23593056201934814,0.2153458595275879,0.23035825788974762,0.20890077948570251,0.2243967056274414,0.20224258303642273,0.21798449754714966,0.19549128413200378,0.2112288475036621,0.1887451559305191,0.20431013405323029,0.18202441930770874,0.19738520681858063,0.17536643147468567,0.19055110216140747,0.16883938014507294,0.1839984655380249,0.16257824003696442,0.17794819176197052,0.15667736530303955,0.1724846512079239,0.15111711621284485,0.16753928363323212,0.14582769572734833,0.1630040556192398,0.14079080522060394,0.1587768942117691,0.13602802157402039,0.15470734238624573,0.13150058686733246,0.1505787968635559,0.1270667314529419,0.1461588740348816,0.12255257368087769,0.14124834537506104,0.11782138049602509,0.1357063204050064,0.1127522885799408,0.12947916984558105,0.10719695687294006,0.12260617315769196,0.10102201998233795,0.11518053710460663,0.09419147670269012,0.1073247492313385,0.08678228408098221,0.09920886158943176,0.07892881333827972,0.09102530777454376,0.07078107446432114,0.08291636407375336,0.06251612305641174,0.07497084140777588,0.054358579218387604,0.06728880852460861,0.0465414822101593,0.05996242165565491,0.03921813145279884,0.05297655612230301,0.03241787850856781,0.046202197670936584,0.026083573698997498,0.03949197754263878,0.020098615437746048,0.03272058069705963,0.01425711065530777,0.025761678814888,0.0082787424325943,0.01850035786628723,0.0019084513187408447,0.010851874947547913,-0.005016744136810303,0.0027487576007843018,-0.01258590817451477,-0.005826480686664581,-0.020820386707782745,-0.014778167009353638,-0.02963588386774063,-0.023947954177856445,-0.03883322328329086,-0.03323911130428314,-0.04814644157886505,-0.04261285811662674,-0.05732439458370209,-0.05197104811668396,-0.06621380895376205,-0.061148837208747864,-0.07475987076759338,-0.07004342973232269,-0.0829121470451355,-0.07866489887237549,-0.09059935808181763,-0.08702351152896881,-0.0978403389453888,-0.0950472503900528,-0.10478620231151581,-0.10268557071685791,-0.1115979254245758,-0.11004021763801575,-0.11836123466491699,-0.11728629469871521,-0.1251428872346878,-0.12451077997684479,-0.1320313811302185,-0.1317625343799591,-0.13910743594169617,-0.1392054706811905,-0.14642347395420074,-0.1470346599817276,-0.1539798080921173,-0.15527844429016113,-0.16170451045036316,-0.16384781897068024,-0.16952913999557495,-0.17271344363689423,-0.17747634649276733,-0.181866854429245,-0.18558655679225922,-0.19120028614997864,-0.1938110888004303,-0.20056191086769104,-0.20207038521766663,-0.20982769131660461,-0.21033170819282532,-0.21886520087718964,-0.21855482459068298,-0.2275872528553009,-0.22667238116264343,-0.2360503226518631,-0.23466581106185913,-0.24435371160507202,-0.24255190789699554,-0.2525116801261902,-0.2503094971179962,-0.26056379079818726,-0.25791803002357483,-0.2686459720134735,-0.265402227640152,-0.2768164277076721,-0.2727625370025635,-0.2849910259246826,-0.27996397018432617,-0.2931184768676758,-0.28702080249786377,-0.3011983036994934,-0.29396578669548035,-0.3091249167919159,-0.3007667064666748,-0.3167557120323181,-0.3074030876159668,-0.32409340143203735,-0.3139421045780182,-0.33121705055236816,-0.32043159008026123,-0.3381509780883789,-0.32684582471847534,-0.34494221210479736,-0.3331971764564514,-0.3517029881477356,-0.3395477533340454,-0.35848891735076904,-0.345898300409317,-0.3653014898300171,-0.35221612453460693,-0.37220367789268494,-0.3585188388824463,-0.3792582154273987,-0.3648207187652588,-0.38640761375427246,-0.37110307812690735,-0.393545538187027,-0.37739109992980957,-0.40060749650001526,-0.3837079405784607,-0.4075193405151367,-0.3899625539779663,-0.4141964614391327,-0.3960525691509247,-0.42061641812324524,-0.4020005464553833,-0.42677319049835205,-0.40783387422561646,-0.4326091706752777,-0.4134617745876312,-0.4380987286567688,-0.4187893271446228,-0.44331538677215576,-0.4238043427467346,-0.4483404755592346,-0.42851030826568604,-0.45318907499313354,-0.4329345226287842,-0.45785045623779297,-0.4371677339076996,-0.46233269572257996,-0.4412577748298645,-0.46668684482574463,-0.4451722502708435,-0.47099173069000244,-0.44895413517951965,-0.47526106238365173,-0.45273566246032715,-0.4794234335422516,-0.4565529525279999,-0.48346206545829773,-0.460336834192276,-0.487442284822464,-0.4640561640262604,-0.49133917689323425,-0.4676953852176666,-0.49503153562545776,-0.4711844027042389,-0.49849700927734375,-0.4744860529899597,-0.5017921328544617,-0.4776119589805603,-0.5048731565475464,-0.48050105571746826,-0.5076683163642883,-0.48306500911712646,-0.5102288126945496,-0.4853420853614807,-0.5126030445098877,-0.48742344975471497,-0.5147296190261841,-0.4893101155757904,-0.5166022181510925,-0.49098825454711914,-0.518316924571991,-0.4925043284893036,-0.519883930683136,-0.4938730001449585,-0.5212352275848389,-0.4950759708881378,-0.522398829460144,-0.4961559772491455,-0.5234311819076538,-0.4971415400505066,-0.5242810845375061,-0.4979563057422638,-0.5249060392379761,-0.49855610728263855,-0.5253487229347229,-0.4990082085132599,-0.525596022605896,-0.4993344843387604,-0.5255888104438782,-0.49945956468582153,-0.5253779292106628,-0.49935832619667053,-0.5250194072723389,-0.4990674555301666,-0.5244154930114746,-0.4985846281051636,-0.5235034823417664,-0.4979121685028076,-0.522404134273529,-0.49709317088127136,-0.5211771130561829,-0.49610140919685364,-0.5196942687034607,-0.4948584735393524,-0.517902135848999,-0.4933931529521942,-0.5159035325050354,-0.4917854070663452) |
| |
| , |
| |
| new Array(-0.5137231945991516,-0.49000853300094604,-0.5113903284072876,-0.488100528717041,-0.5088633298873901,-0.48603248596191406,-0.5061661005020142,-0.4837847948074341,-0.5032707452774048,-0.4813406467437744,-0.5001466274261475,-0.4787534177303314,-0.49685049057006836,-0.4760761260986328,-0.49342668056488037,-0.4732472896575928,-0.4898289442062378,-0.47021234035491943,-0.4860019385814667,-0.467038094997406,-0.48194417357444763,-0.4637599587440491,-0.4776892066001892,-0.46030497550964355,-0.4732748866081238,-0.45665597915649414,-0.46869802474975586,-0.4528677761554718,-0.46391454339027405,-0.4489230215549469,-0.45892152190208435,-0.4447893500328064,-0.4537576138973236,-0.44052648544311523,-0.4484187066555023,-0.4361549913883209,-0.44290804862976074,-0.4315980076789856,-0.4373047649860382,-0.4268632233142853,-0.4316164255142212,-0.42204850912094116,-0.42571672797203064,-0.41714534163475037,-0.4195888936519623,-0.41207751631736755,-0.4133991301059723,-0.40687015652656555,-0.40720468759536743,-0.401580274105072,-0.4008715748786926,-0.39620015025138855,-0.3943476378917694,-0.39074966311454773,-0.3877306580543518,-0.3852769136428833,-0.38106489181518555,-0.3797324001789093,-0.3743053674697876,-0.3740321695804596,-0.3674202561378479,-0.3681885004043579,-0.3603806793689728,-0.36222216486930847,-0.3531627357006073,-0.35607028007507324,-0.34580618143081665,-0.3496861755847931,-0.3383495807647705,-0.3430899977684021,-0.3307521343231201,-0.3362985849380493,-0.3229793906211853,-0.3293401896953583,-0.315058171749115,-0.32228440046310425,-0.30699875950813293,-0.315151184797287,-0.2987874746322632,-0.30789127945899963,-0.29045185446739197,-0.30051279067993164,-0.28202396631240845,-0.29308781027793884,-0.2735027074813843,-0.2856077551841736,-0.2649257779121399,-0.27798640727996826,-0.2563796639442444,-0.2702132761478424,-0.24790993332862854,-0.2623620629310608,-0.23951497673988342,-0.2544562816619873,-0.23120757937431335,-0.24646149575710297,-0.22298353910446167,-0.2383953332901001,-0.21476247906684875,-0.2303106039762497,-0.20644812285900116,-0.22219493985176086,-0.1980222761631012,-0.21401672065258026,-0.18950195610523224,-0.2058141976594925,-0.18083666265010834,-0.19762080907821655,-0.17196400463581085,-0.18940521776676178,-0.1629542112350464,-0.18119071424007416,-0.15394656360149384,-0.17307928204536438,-0.14496801793575287,-0.16509070992469788,-0.13598699867725372,-0.1571563482284546,-0.12707515060901642,-0.14925628900527954,-0.11832299828529358,-0.14137746393680573,-0.10971798002719879,-0.13344717025756836,-0.10125025361776352,-0.1254633218050003,-0.09293901920318604,-0.11750493198633194,-0.08468332141637802,-0.10955502837896347,-0.07634306699037552,-0.10155733674764633,-0.06794353574514389,-0.09359082579612732,-0.0595434196293354,-0.08573566377162933,-0.0510471872985363,-0.0779324322938919,-0.042377568781375885,-0.07014453411102295,-0.03362184390425682,-0.06238359585404396,-0.02486787736415863,-0.05453343316912651,-0.01613004505634308,-0.0464804507791996,-0.007472425699234009,-0.03832215070724487,0.0009909719228744507,-0.030160509049892426,0.00918087363243103,-0.0219377800822258,0.01705806702375412,-0.013661175966262817,0.024636313319206238,-0.0054317861795425415,0.031981587409973145,0.002793937921524048,0.03918281942605972,0.011097252368927002,0.0463932529091835,0.01936565339565277,0.05372148007154465,0.02748739719390869,0.0609898716211319,0.03553415834903717,0.06804285198450089,0.04353989660739899,0.07528826594352722,0.05137953907251358,0.08313757926225662,0.05894308537244797,0.09104142338037491,0.06621246039867401,0.09819495677947998,0.07324355840682983,0.10493610799312592,0.08019237220287323,0.11213169991970062,0.08720662444829941,0.11955674737691879,0.09431906044483185,0.1262604296207428,0.10157740116119385,0.13215814530849457,0.10906890779733658,0.1380482316017151,0.11671863496303558,0.14434769749641418,0.12434201687574387,0.15068860352039337,0.13187485933303833,0.15661653876304626,0.13927049934864044,0.1622142195701599,0.14633619785308838,0.16797444224357605,0.15291756391525269,0.17413830757141113,0.15904036164283752,0.18042199313640594,0.16477809846401215,0.18657466769218445,0.17019487917423248,0.19275277853012085,0.1753728985786438,0.1990659385919571,0.1803634762763977,0.20531892776489258,0.18523544073104858,0.21139419078826904,0.19012044370174408,0.21729907393455505,0.1950494647026062,0.222874253988266,0.1999734342098236,0.228011816740036,0.2050219029188156,0.23290342092514038,0.210371196269989,0.23768731951713562,0.21597397327423096,0.24231691658496857,0.2218102216720581,0.2469380795955658,0.2279721051454544,0.2518135607242584,0.23417289555072784,0.25691327452659607,0.23994697630405426,0.26207083463668823,0.24547690153121948,0.2672507166862488,0.25112250447273254,0.27232447266578674,0.25628194212913513,0.27704593539237976,0.260145902633667,0.28139808773994446,0.26323676109313965,0.28550174832344055,0.2666539251804352,0.2893005907535553,0.27030205726623535,0.29275497794151306,0.27338463068008423,0.29604265093803406,0.2760785222053528,0.29927703738212585,0.27935171127319336,0.302398145198822,0.2835429012775421,0.30541032552719116,0.28810322284698486,0.3083387315273285,0.29246801137924194,0.31105777621269226,0.2966208755970001,0.3135039806365967,0.3009149432182312,0.31568992137908936,0.30537116527557373,0.3176348805427551,0.30956944823265076,0.3193422853946686,0.31316643953323364,0.3208901584148407,0.3162834644317627,0.3223532438278198,0.31914156675338745,0.32372766733169556,0.3216931223869324,0.3250102996826172,0.3238937258720398,0.32619887590408325,0.32591819763183594,0.32724729180336,0.32787463068962097,0.32814714312553406,0.32968413829803467,0.3289378583431244,0.3313487470149994,0.32962244749069214,0.33299732208251953,0.33025267720222473,0.33466023206710815,0.3309943675994873,0.33627644181251526,0.33193162083625793,0.33788472414016724,0.3330099880695343,0.3396027088165283,0.33427178859710693,0.34145987033843994,0.33584967255592346,0.3433850407600403,0.3376842141151428,0.34532588720321655,0.3395330309867859,0.34727874398231506,0.34122443199157715,0.3492124080657959,0.3427020013332367,0.3510623872280121,0.34393221139907837,0.35280218720436096,0.3448846936225891,0.3544255197048187,0.345511257648468,0.35589224100112915,0.3457866907119751,0.35723280906677246,0.34584540128707886,0.3586302697658539,0.34591227769851685,0.3602270781993866,0.3460692763328552,0.36193689703941345,0.3463064730167389,0.36358287930488586,0.34671613574028015,0.36508455872535706,0.3473617732524872,0.3663909435272217,0.3480914235115051,0.36737513542175293,0.34872686862945557,0.36788907647132874,0.3492404818534851,0.3678523302078247,0.34957072138786316,0.3672947287559509,0.3495337665081024,0.3663550615310669,0.349063515663147,0.36519855260849,0.34828177094459534,0.3639591932296753,0.34726089239120483,0.3627973198890686,0.3459911048412323,0.36188578605651855,0.3445943593978882,0.36128389835357666,0.3432638645172119,0.360962837934494,0.3419889211654663,0.36096450686454773,0.3406458795070648,0.36137494444847107,0.33931952714920044,0.36218199133872986,0.3382019102573395,0.36331093311309814,0.3372468650341034,0.36474165320396423,0.33627501130104065,0.3664785623550415,0.33529964089393616,0.36844712495803833,0.3344076871871948,0.3704620599746704,0.33351296186447144,0.37229543924331665,0.3325388431549072,0.3738071024417877,0.3315884470939636,0.37496477365493774,0.33070746064186096,0.3756759762763977,0.32981252670288086,0.37573686242103577,0.3289702832698822,0.3750419616699219,0.3283597528934479,0.37365415692329407,0.32795339822769165,0.37158074975013733,0.32762959599494934,0.36872994899749756,0.32744911313056946,0.36513349413871765,0.327328085899353,0.36083292961120605,0.32647183537483215,0.3553459048271179,0.3234274387359619,0.3475061357021332,0.3167162835597992,0.3361029028892517,0.30550384521484375,0.3206931948661804,0.289927214384079,0.301763653755188,0.2707938551902771,0.28021207451820374,0.2489292174577713,0.25686004757881165,0.22513742744922638,0.23259875178337097,0.2009105384349823,0.20892499387264252,0.17861606180667877,0.18800251185894012,0.16042542457580566,0.1717921644449234,0.14698050916194916,0.16082054376602173,0.1370360553264618,0.15366528928279877,0.12817446887493134,0.14766347408294678,0.11803093552589417,0.14030992984771729,0.10540719330310822,0.1303406059741974,0.09064079821109772,0.11794678121805191,0.07512999325990677,0.1043713390827179,0.06083159148693085,0.09155081957578659,0.05038084089756012,0.08213365077972412,0.047207534313201904,0.0794491171836853,0.05470795929431915,0.08676983416080475,0.07482234388589859,0.1060170903801918,0.10722704231739044,0.13688474893569946,0.1495549976825714,0.17697802186012268,0.19809097051620483,0.22259706258773804,0.24851331114768982,0.2695668935775757,0.29662609100341797,0.3139076828956604,0.3389118015766144,0.3523290455341339,0.37274593114852905,0.3825106620788574,0.39645275473594666,0.4031810462474823,0.40939658880233765,0.414045125246048,0.41200780868530273,0.41564178466796875,0.40561020374298096,0.4092215895652771,0.3921266198158264,0.3965846300125122,0.3738146126270294,0.37977224588394165,0.3530846834182739,0.360776424407959,0.33230307698249817,0.34146547317504883,0.3134949207305908,0.3235333561897278,0.29809248447418213,0.30826473236083984,0.2869272828102112,0.2963654398918152,0.2803330719470978,0.2880798876285553,0.2781458795070648,0.2833423912525177,0.2797280550003052,0.28175947070121765,0.28418320417404175,0.2826170325279236,0.29055237770080566,0.28502604365348816,0.29783299565315247,0.2880639433860779,0.3050537407398224,0.2908852994441986,0.31150898337364197,0.29286256432533264,0.31685498356819153,0.29363778233528137,0.3209408223628998,0.29303422570228577,0.3236549198627472,0.2910189926624298,0.3249479830265045,0.2877538502216339,0.3248835802078247,0.28355008363723755,0.3236102759838104,0.2787551283836365,0.3212985694408417,0.27375152707099915,0.31806454062461853,0.2689562439918518,0.31393393874168396,0.2646617591381073,0.30892059206962585,0.2609400451183319,0.3031262159347534,0.2577987313270569,0.2967284619808197,0.2553180754184723,0.2899474501609802,0.2535468339920044,0.2830822467803955,0.2523913085460663,0.27646496891975403,0.2516772150993347,0.27031591534614563,0.2512190043926239,0.2647823095321655,0.2508447468280792,0.25996577739715576,0.25032496452331543,0.25594156980514526,0.24949151277542114,0.2525883615016937,0.24821141362190247,0.24961310625076294,0.24631737172603607,0.24674704670906067,0.24365116655826569,0.24378450214862823,0.24015013873577118,0.2405320256948471,0.23586493730545044,0.23689839243888855,0.23092935979366302,0.23295597732067108,0.22551023960113525,0.22881460189819336,0.2197560966014862,0.22456791996955872,0.21381458640098572,0.22040949761867523,0.20788267254829407,0.21659861505031586,0.20215559005737305,0.2132403701543808,0.19671525061130524,0.21023744344711304,0.19153043627738953,0.20741993188858032,0.18653440475463867,0.20455028116703033,0.18163129687309265,0.2012627124786377,0.17666466534137726,0.19717349112033844,0.17145000398159027,0.19201600551605225,0.1658248007297516,0.18561972677707672,0.15966778993606567,0.1779114007949829,0.15292170643806458,0.1690191626548767,0.14558954536914825,0.15924739837646484,0.13767898082733154,0.14891751110553741,0.12920112907886505,0.1383480280637741,0.12023596465587616,0.12793944776058197,0.1109166145324707,0.11810696125030518,0.10136047005653381,0.10913249105215073,0.09172657132148743,0.1011713445186615,0.08230516314506531,0.0943390354514122,0.07342809438705444,0.08870010823011398,0.06534087657928467,0.08421285450458527,0.058251891285181046,0.0807342454791069,0.0523688979446888,0.07804303616285324,0.047738026827573776,0.07584884017705917,0.04413424804806709,0.07380872964859009,0.04118501394987106,0.07154276967048645,0.038487426936626434,0.0686652734875679,0.03558041900396347,0.06486204266548157,0.0319744274020195,0.05993484705686569,0.027289263904094696,0.05376472324132919,0.021312803030014038,0.04630828648805618,0.013984277844429016,0.03766322135925293,0.005423426628112793,0.02805314213037491,-0.0040769875049591064,0.01772705465555191,-0.014155000448226929,0.0069579556584358215,-0.024425312876701355,-0.003892548382282257,-0.034451521933078766,-0.014451511204242706,-0.04383676499128342,-0.024486973881721497,-0.05239381641149521,-0.03391285985708237,-0.06015949696302414,-0.04270743578672409,-0.06728138774633408,-0.05091959983110428,-0.07397614419460297,-0.0586925745010376,-0.0805329903960228,-0.0662003830075264,-0.08724270761013031,-0.07359982281923294,-0.09432008862495422,-0.08105243742465973,-0.10188722610473633,-0.08869340270757675,-0.10994412750005722,-0.09654761105775833,-0.11832835525274277,-0.10454189777374268,-0.1267707496881485,-0.11260934174060822,-0.13502219319343567,-0.12074155360460281,-0.14292706549167633,-0.12895497679710388,-0.15042932331562042,-0.13724792003631592,-0.15755988657474518,-0.14559385180473328,-0.16441892087459564,-0.1539762169122696,-0.1711602807044983,-0.16242380440235138,-0.17798106372356415,-0.17097726464271545,-0.1850680112838745,-0.17961308360099792,-0.19250938296318054,-0.1882379651069641,-0.20026762783527374,-0.19674423336982727,-0.20821866393089294,-0.2050238698720932,-0.21618175506591797,-0.2129627764225006,-0.22394722700119019,-0.22049042582511902,-0.23134419322013855,-0.22762390971183777,-0.2382839024066925,-0.23443394899368286,-0.24473749101161957,-0.24101610481739044,-0.2507375478744507,-0.24751800298690796,-0.25642403960227966,-0.2541276514530182,-0.26202377676963806,-0.26100021600723267,-0.26775965094566345,-0.2682335376739502,-0.2738083004951477,-0.27590224146842957,-0.28030723333358765,-0.2840461730957031,-0.2873222529888153,-0.2926250100135803,-0.2948102355003357,-0.30153170228004456,-0.30264827609062195,-0.3106444776058197,-0.31068146228790283,-0.31983932852745056,-0.3187355399131775,-0.328976571559906,-0.32663577795028687,-0.337910920381546,-0.334236741065979,-0.3465123176574707,-0.34141790866851807,-0.3546822965145111,-0.34808236360549927,-0.3623671531677246,-0.3542081117630005,-0.3695635199546814,-0.3598801791667938,-0.3763040602207184,-0.36523255705833435,-0.3826392590999603,-0.37037503719329834,-0.38862234354019165,-0.3753855526447296,-0.394300252199173,-0.38032299280166626,-0.3997267782688141,-0.3852221369743347,-0.40498611330986023,-0.39010003209114075,-0.41017886996269226,-0.39498022198677063,-0.41537636518478394,-0.3998861610889435,-0.4206025004386902,-0.404814749956131,-0.42585769295692444,-0.4097353518009186,-0.4311356544494629,-0.4146151840686798,-0.43641966581344604,-0.4194323718547821,-0.44168272614479065,-0.42417213320732117,-0.44688862562179565,-0.4288170039653778,-0.45198318362236023,-0.4333416223526001,-0.45690152049064636,-0.43771636486053467,-0.46159815788269043,-0.4419223368167877,-0.46606379747390747,-0.4459584057331085,-0.4703110158443451,-0.4498317539691925,-0.4743539094924927,-0.45354267954826355,-0.4781973659992218,-0.4570796489715576,-0.4818352460861206,-0.4604245722293854,-0.4852607846260071,-0.4635674059391022,-0.4884822368621826,-0.46651771664619446,-0.49152228236198425,-0.46929827332496643,-0.4943970739841461,-0.4719245731830597,-0.4971011281013489,-0.4743885397911072,-0.4996146559715271,-0.47666504979133606,-0.5019261240959167,-0.47873517870903015,-0.5040473341941833,-0.4806043803691864,-0.5060036182403564,-0.4822950065135956,-0.5078047513961792,-0.4838182032108307,-0.5094174146652222,-0.48514917492866516,-0.5107952952384949,-0.48625442385673523,-0.5120333433151245,-0.4872269034385681,-0.5131012201309204,-0.48804327845573425,-0.5139797925949097,-0.48869040608406067,-0.5146780014038086,-0.4891781508922577,-0.5152041912078857,-0.48951324820518494,-0.515548050403595,-0.4896860122680664,-0.5156898498535156,-0.4896797835826874,-0.5156195759773254,-0.4894915819168091,-0.5153493285179138,-0.4891391396522522,-0.5149028897285461,-0.48864948749542236,-0.5142913460731506,-0.4880334436893463,-0.5134984850883484,-0.4872722327709198,-0.512488603591919,-0.4863273799419403,-0.5112295150756836,-0.4851687550544739,-0.5097134113311768,-0.48379451036453247,-0.5079579949378967,-0.48222753405570984,-0.5059928894042969,-0.4804929196834564,-0.5038410425186157,-0.47860074043273926,-0.5015115737915039,-0.4765486717224121,-0.49900615215301514,-0.474336177110672,-0.4963277280330658,-0.4719712436199188,-0.4934810698032379,-0.46946513652801514,-0.49046316742897034,-0.4668181240558624,-0.48725906014442444,-0.46401435136795044,-0.48385322093963623,-0.46102750301361084,-0.48024654388427734,-0.45783665776252747,-0.47645989060401917,-0.45443978905677795,-0.4725186824798584,-0.4508539140224457,-0.4684355556964874,-0.44709959626197815,-0.46420466899871826,-0.44318661093711853,-0.4598103165626526,-0.43911513686180115,-0.4552389979362488,-0.43489035964012146,-0.45048898458480835,-0.43053045868873596,-0.4455726444721222,-0.42605772614479065,-0.44050833582878113,-0.42148131132125854,-0.4353029131889343,-0.4167920649051666,-0.4299459159374237,-0.41197001934051514,-0.4244259297847748,-0.40699324011802673,-0.41875192523002625,-0.40184569358825684,-0.41294997930526733,-0.39652132987976074,-0.40703457593917847,-0.39102911949157715,-0.40099236369132996,-0.3853883147239685,-0.3947983682155609,-0.379618763923645,-0.38843998312950134,-0.3737398684024811,-0.38192009925842285,-0.3677789866924286,-0.3752404749393463,-0.3617693781852722,-0.3683972954750061,-0.3557269871234894,-0.3613896369934082,-0.34962818026542664,-0.3542184829711914,-0.3434188663959503,-0.3468770682811737,-0.33705273270606995,-0.33935868740081787,-0.3305167555809021,-0.3316848576068878,-0.3238251209259033,-0.32391107082366943,-0.31700414419174194,-0.3160881996154785,-0.3100919723510742,-0.30822646617889404,-0.30314183235168457,-0.30031096935272217,-0.29620152711868286,-0.29234418272972107,-0.28928154706954956,-0.2843485474586487,-0.28234970569610596,-0.2763228714466095,-0.2753610908985138,-0.26822763681411743,-0.2682851552963257,-0.2600266933441162,-0.26110294461250305,-0.2517269551753998,-0.25379523634910583,-0.2433546781539917,-0.24635474383831024,-0.23491129279136658,-0.2388077676296234,-0.22638581693172455,-0.23121139407157898,-0.21780720353126526,-0.22362297773361206,-0.20924493670463562,-0.2160770297050476,-0.20073820650577545,-0.20858462154865265,-0.19224850833415985,-0.20113219320774078,-0.18370383977890015,-0.19366946816444397,-0.17507335543632507,-0.1861170083284378,-0.16637077927589417,-0.17841219902038574,-0.1576009839773178,-0.17055565118789673,-0.148741215467453,-0.16260384023189545,-0.1397855281829834,-0.15461835265159607,-0.13077619671821594,-0.14663778245449066,-0.12177445739507675,-0.1386960744857788,-0.11282160133123398,-0.1308393031358719,-0.10394816100597382,-0.1230967789888382,-0.09519916772842407,-0.11543876677751541,-0.08661489933729172,-0.10778286308050156,-0.07818744331598282,-0.10004876554012299,-0.06986398994922638,-0.09220118820667267,-0.06159941852092743,-0.08424758911132812,-0.053382694721221924,-0.07621950656175613,-0.045204222202301025,-0.06816849112510681,-0.03702538460493088,-0.06016238033771515,-0.02880621701478958,-0.05225931107997894,-0.020550966262817383,-0.04448086768388748,-0.012302905321121216,-0.0368179976940155,-0.004100114107131958,-0.029257260262966156,0.004040226340293884,-0.021784842014312744,0.012096323072910309,-0.014362379908561707,0.020029857754707336,-0.0069222599267959595,0.027816027402877808,0.0005943924188613892,0.035470448434352875,0.008194826543331146,0.043032705783843994,0.01583489030599594,0.05053168535232544,0.023451924324035645,0.05797713249921799,0.030986033380031586,0.0653659775853157,0.0383775532245636,0.07267146557569504,0.04556902498006821,0.07983017712831497,0.052524030208587646,0.08677184581756592,0.05924297124147415,0.09348134696483612,0.06576123833656311,0.10002323985099792,0.07214471697807312,0.10649779438972473,0.07848785817623138,0.11298158764839172,0.08489495515823364,0.11951449513435364,0.09144071489572525,0.12612414360046387,0.09814945608377457,0.13283410668373108,0.10502535849809647,0.13964423537254333,0.11209312081336975,0.1465175449848175,0.11938157677650452,0.15339161455631256,0.12685833871364594,0.16019673645496368,0.13440126180648804,0.16686761379241943,0.14185304939746857,0.1733635812997818,0.14909660816192627,0.1796974241733551,0.15606801211833954,0.1859397441148758,0.16272011399269104,0.19217726588249207,0.16901637613773346,0.19845536351203918,0.17497338354587555,0.20475313067436218,0.1806771457195282,0.21099962294101715,0.1862298846244812,0.21710392832756042,0.19168782234191895,0.22298064827919006,0.19706708192825317,0.22857160866260529,0.20239682495594025,0.23385636508464813,0.20773008465766907,0.23883312940597534,0.21309153735637665,0.24349918961524963,0.2184503823518753,0.24790242314338684,0.22379642724990845,0.2520396411418915,0.22907114028930664,0.2559488117694855,0.23422284424304962,0.25970956683158875,0.23919197916984558,0.263393372297287,0.24391581118106842,0.267034649848938,0.24837423861026764,0.2706506550312042,0.25261327624320984,0.2742699086666107,0.25670841336250305,0.27793049812316895,0.2607170045375824,0.2816528379917145,0.26468127965927124,0.28542274236679077,0.26866281032562256,0.2891985774040222,0.2727433443069458,0.292927622795105,0.27697640657424927,0.2965553402900696,0.281343013048172,0.3000248968601227,0.2857591211795807,0.3032781183719635,0.2901217043399811,0.30626803636550903,0.29434892535209656,0.3089806139469147,0.2983919382095337,0.31145021319389343,0.30222588777542114,0.3137483298778534,0.30583545565605164,0.31595122814178467,0.3092058300971985,0.31811270117759705,0.31232768297195435,0.3202593922615051,0.31520572304725647,0.3223975598812103,0.31785526871681213,0.3245071470737457,0.3202867805957794,0.3265295624732971,0.32250121235847473,0.3283746540546417,0.3245077431201935,0.32995209097862244,0.3263428807258606,0.33120396733283997,0.32806700468063354,0.3321175277233124,0.32974594831466675,0.332724928855896,0.3314400613307953,0.3331047594547272,0.3331981897354126,0.33337944746017456,0.33504244685173035,0.33369430899620056,0.33695265650749207,0.3341796398162842,0.3388760983943939,0.33491915464401245,0.3407588005065918,0.33593639731407166,0.3425574004650116,0.3371926546096802,0.3442245423793793,0.3385861814022064,0.3457033038139343,0.33996182680130005,0.3469533324241638,0.3411432206630707,0.34797245264053345,0.3419831097126007,0.34877270460128784,0.34240439534187317,0.349345326423645,0.3424091935157776,0.3496764302253723,0.34206104278564453,0.3498052656650543,0.3414638340473175,0.34984588623046875,0.3407500982284546,0.3499334454536438,0.340066134929657,0.3501625061035156,0.33954519033432007,0.35058847069740295,0.33927953243255615,0.3512694835662842,0.3393147885799408,0.3522685766220093,0.33966028690338135,0.35359981656074524,0.3402900993824005,0.3551881015300751,0.34113386273384094,0.356891930103302,0.3420846462249756,0.3585565388202667,0.34303149580955505,0.36004331707954407,0.34388241171836853,0.3612383306026459,0.344550758600235,0.3620738983154297,0.34493643045425415,0.3625553846359253,0.34495019912719727,0.3627432882785797,0.3445638120174408,0.3626939058303833,0.3438241183757782,0.3624250590801239,0.3428187668323517,0.361955851316452,0.3416540026664734,0.36136651039123535,0.3404766321182251,0.36078914999961853,0.33948343992233276,0.36033061146736145,0.3388586640357971,0.3600243926048279,0.3386785686016083,0.35987240076065063,0.3388814926147461,0.3599116802215576,0.3393232822418213,0.3602134883403778,0.3398509621620178,0.3608211874961853,0.34033000469207764,0.36171820759773254,0.3406338095664978,0.3628429174423218,0.3406321406364441,0.36408504843711853,0.34020528197288513,0.36525389552116394,0.3392985761165619,0.3661157488822937,0.33797401189804077,0.36651450395584106,0.33633241057395935,0.3663865327835083,0.33423125743865967,0.3655090928077698,0.33098775148391724,0.36318421363830566,0.3254320025444031,0.3582824468612671,0.31642067432403564,0.3497524857521057,0.3034154772758484,0.33714884519577026,0.2866259813308716,0.3206908106803894,0.2667217552661896,0.3009462058544159,0.24460870027542114,0.2786709666252136,0.22157062590122223,0.2550315260887146,0.19945719838142395,0.2318165898323059,0.18042144179344177,0.21116450428962708,0.16621296107769012,0.19487625360488892,0.15751305222511292,0.18379129469394684,0.15367744863033295,0.1775275021791458,0.1528540998697281,0.17453670501708984,0.1523725986480713,0.17242954671382904,0.14946037530899048,0.16865786910057068,0.1421966850757599,0.1614331305027008,0.13021358847618103,0.1503685712814331,0.1146666407585144,0.13641898334026337,0.09762406349182129,0.12132522463798523,0.08152692764997482,0.10719214379787445,0.0690765306353569,0.09647108614444733,0.06320425868034363,0.09195809066295624,0.06661736965179443,0.09632152318954468,0.08097830414772034,0.11124186217784882,0.10628615319728851,0.13673646748065948,0.1408746838569641,0.17110836505889893,0.18190903961658478,0.2114475965499878,0.22600501775741577,0.25431403517723083,0.269742876291275,0.29631057381629944,0.3100496232509613,0.334465891122818,0.3444552719593048,0.3664591610431671,0.3712193965911865,0.3907356262207031,0.3893691599369049,0.4065472185611725,0.39870530366897583,0.4139246642589569,0.399762898683548,0.4135751724243164,0.393675297498703,0.4067177474498749,0.38196316361427307,0.3948909044265747,0.36633679270744324,0.37975722551345825,0.3485592305660248,0.36291125416755676,0.330335408449173,0.3457352817058563,0.3131875991821289,0.3293605446815491,0.29833319783210754,0.314715713262558,0.28659963607788086,0.3025423586368561,0.27838796377182007,0.29330089688301086,0.27369534969329834,0.2870592176914215,0.2722085118293762,0.2835167944431305,0.27343297004699707,0.28217101097106934,0.2767919898033142,0.2824866473674774,0.28169888257980347,0.2839967906475067,0.287453293800354,0.28617313504219055,0.29337456822395325,0.2885313928127289,0.29889997839927673,0.2907150387763977,0.30358970165252686,0.2924956679344177,0.3070765733718872,0.2937161922454834,0.3090613782405853,0.2942705750465393,0.30936959385871887,0.2941321134567261,0.3079759478569031,0.29334330558776855,0.30495354533195496,0.29192981123924255,0.30042779445648193,0.28982827067375183,0.2946094274520874,0.28691163659095764,0.28784412145614624,0.2830761671066284,0.2805746793746948,0.27829596400260925,0.2732338309288025,0.27262943983078003,0.26617667078971863,0.2662232518196106,0.25967875123023987,0.2593178451061249,0.25392982363700867,0.25221049785614014,0.24899810552597046,0.24517767131328583,0.24483585357666016,0.2384195476770401,0.2413596510887146,0.23206254839897156,0.23851251602172852,0.2261812388896942,0.2362290471792221,0.22080402076244354,0.2343699336051941,0.21592116355895996,0.2327447235584259,0.21152155101299286,0.23120062053203583,0.20762799680233002,0.22964338958263397,0.20428478717803955,0.22795343399047852,0.20150336623191833,0.2259225845336914,0.19921478629112244,0.22331036627292633,0.19725462794303894,0.2199501097202301,0.19537846744060516,0.2157791703939438,0.19330155849456787,0.2107958346605301,0.1907530426979065,0.2050483673810959,0.18751242756843567,0.1986832618713379,0.18341392278671265,0.19196321070194244,0.17835724353790283,0.18518690764904022,0.1723581850528717,0.17857202887535095,0.1655905842781067,0.17220304906368256,0.15833452343940735,0.1660631000995636,0.1508517861366272,0.16009025275707245,0.14331141114234924,0.15421250462532043,0.13582764565944672,0.14836138486862183,0.12851488590240479,0.1424730122089386,0.12145394831895828,0.13647493720054626,0.11461437493562698,0.13027110695838928,0.10786096751689911,0.12374910712242126,0.10105203837156296,0.11681777238845825,0.09411272406578064,0.10944677889347076,0.0870223417878151,0.10168059915304184,0.07978898286819458,0.09362272918224335,0.07247429341077805,0.08540672063827515,0.06521251797676086,0.07717220485210419,0.05815443769097328,0.06905745714902878,0.05138806998729706,0.06120937690138817,0.044933073222637177,0.053783953189849854,0.03879239410161972,0.04690658301115036,0.032958440482616425,0.040596701204776764,0.02735314890742302,0.03471525385975838,0.021802255883812904,0.028989167883992195,0.01609962061047554,0.023105600848793983,0.010090738534927368,0.016811873763799667,0.003688353579491377,0.009963242337107658,-0.0031575006432831287,0.002516126027330756,-0.01046459749341011,-0.005494528915733099,-0.018199991434812546,-0.013961371034383774,-0.02628650888800621,-0.02269870787858963,-0.03463251143693924,-0.03145888075232506,-0.043135449290275574,-0.039992015808820724,-0.051663435995578766,-0.0481300912797451,-0.060072120279073715,-0.05583951249718666,-0.06826416403055191,-0.063203364610672,-0.0762188732624054,-0.07035306096076965,-0.08395205438137054,-0.077405646443367,-0.09146834164857864,-0.0844445675611496,-0.09877212345600128,-0.09153379499912262,-0.1059095486998558,-0.09873364865779877,-0.1129670962691307,-0.1060994565486908,-0.12002304196357727,-0.11366908252239227,-0.12711678445339203,-0.12144944071769714,-0.13426116108894348,-0.12941238284111023,-0.1414547860622406,-0.13750536739826202,-0.1486705243587494,-0.14567208290100098,-0.1558549851179123,-0.1538686901330948,-0.16296620666980743,-0.16206611692905426,-0.17001113295555115,-0.17024314403533936,-0.17703497409820557,-0.17837992310523987,-0.1840820014476776,-0.18645545840263367,-0.1911834478378296,-0.19444873929023743,-0.19838199019432068,-0.2023506760597229,-0.20574374496936798,-0.21018409729003906,-0.21332889795303345,-0.21801145374774933,-0.22115075588226318,-0.2259119749069214,-0.2291652262210846,-0.23393920063972473,-0.23729002475738525,-0.24209696054458618,-0.24542775750160217,-0.25034987926483154,-0.2534793019294739,-0.2586488425731659,-0.2613561749458313,-0.26694440841674805,-0.2689962685108185,-0.2751891016960144,-0.2763730585575104,-0.2833440899848938,-0.28349441289901733,-0.2913866341114044,-0.29039308428764343,-0.29930567741394043,-0.2971133589744568,-0.307087779045105,-0.30369770526885986,-0.3147141635417938,-0.31017762422561646,-0.322174072265625,-0.31657397747039795,-0.3294750452041626,-0.32290157675743103,-0.3366340100765228,-0.32917243242263794,-0.34366050362586975,-0.33539602160453796,-0.3505537211894989,-0.34157902002334595,-0.35731732845306396,-0.34772777557373047,-0.3639681339263916,-0.35384660959243774,-0.37052851915359497,-0.3599322438240051,-0.3770109713077545,-0.36596933007240295,-0.38341113924980164,-0.3719328045845032,-0.38971376419067383,-0.3777962625026703,-0.395904541015625,-0.3835383355617523,-0.4019785523414612,-0.3891465663909912,-0.4079378843307495,-0.39461749792099,-0.4137786626815796,-0.3999519944190979,-0.41947999596595764,-0.4051479697227478,-0.42500901222229004,-0.4101989269256592,-0.43034130334854126,-0.41509705781936646,-0.43548041582107544,-0.419841468334198,-0.44045743346214294,-0.42443957924842834,-0.4453069567680359,-0.4289010763168335,-0.4500356912612915,-0.4332244396209717,-0.45460939407348633,-0.4373864233493805,-0.4589867889881134,-0.4413633644580841,-0.46323850750923157,-0.44523024559020996,-0.4673311710357666,-0.448950856924057,-0.47124043107032776,-0.4524918496608734,-0.47496506571769714,-0.4558508098125458,-0.47851237654685974,-0.45904505252838135,-0.4818895757198334,-0.46209385991096497,-0.48510071635246277,-0.465003103017807,-0.48814600706100464,-0.46776124835014343,-0.4910202920436859,-0.4703477919101715,-0.4937116503715515,-0.4727475941181183,-0.49620547890663147,-0.4749591052532196,-0.4984930157661438,-0.47699394822120667,-0.5005773305892944,-0.47886550426483154,-0.5024701356887817,-0.48057854175567627,-0.5041794180870056,-0.4821264445781708,-0.5057013034820557,-0.48349958658218384,-0.5070251822471619,-0.4846949577331543,-0.5081486105918884,-0.48571905493736267,-0.509087085723877,-0.48658329248428345,-0.5098643898963928,-0.48729389905929565,-0.5104926228523254,-0.4878467321395874,-0.5109565854072571,-0.48822930455207825,-0.5112249851226807,-0.48842892050743103,-0.5112738013267517,-0.4884416460990906,-0.5111058354377747,-0.4882757067680359,-0.510748028755188,-0.48794835805892944,-0.510232150554657,-0.4874734580516815,-0.5095677971839905,-0.4868512451648712,-0.5087315440177917,-0.4860653281211853,-0.507678210735321,-0.48509278893470764,-0.5063723921775818,-0.48391830921173096,-0.5048164129257202,-0.4825429618358612,-0.5030500292778015,-0.48098352551460266,-0.5011188387870789,-0.4792636036872864,-0.49903959035873413,-0.47740641236305237,-0.49679604172706604,-0.47542843222618103,-0.4943670630455017,-0.4733349680900574,-0.4917532801628113,-0.4711179733276367,-0.4889707863330841,-0.4687599241733551,-0.4860231280326843,-0.46624556183815,-0.48288673162460327,-0.46356797218322754,-0.4795306921005249,-0.4607272446155548,-0.47594529390335083,-0.4577200412750244,-0.4721463918685913,-0.45453545451164246,-0.46815428137779236,-0.45116257667541504,-0.4639756381511688,-0.44760099053382874,-0.45960667729377747,-0.4438607692718506,-0.4550493359565735,-0.43995341658592224,-0.4503166675567627,-0.43588492274284363,-0.44542694091796875,-0.43166229128837585,-0.4403962194919586,-0.42730194330215454,-0.4352371096611023,-0.4228253960609436,-0.42995357513427734,-0.41824057698249817,-0.4245334267616272,-0.4135271906852722,-0.4189499616622925,-0.40864601731300354,-0.41317906975746155,-0.4035632312297821,-0.40721848607063293,-0.3982691168785095,-0.4010874032974243,-0.3927765190601349,-0.394808292388916,-0.38710835576057434,-0.388395220041275,-0.3812902271747589,-0.38185957074165344,-0.3753519058227539,-0.3752199113368988,-0.36932194232940674,-0.3684973418712616,-0.3632151782512665,-0.36169925332069397,-0.3570241928100586,-0.3548104763031006,-0.35072851181030273,-0.34780266880989075,-0.3443145751953125,-0.34065306186676025,-0.33778634667396545,-0.33335644006729126,-0.33115726709365845,-0.3259279131889343,-0.3244384527206421,-0.318397581577301,-0.31764116883277893,-0.31079593300819397,-0.3107862174510956,-0.3031361997127533,-0.3039014935493469,-0.2954109013080597,-0.2970024645328522,-0.2876105010509491,-0.2900755703449249,-0.2797442376613617,-0.28308728337287903,-0.27183473110198975,-0.276012122631073,-0.26388534903526306,-0.2688480317592621,-0.2558617889881134,-0.2616053521633148,-0.2477174997329712,-0.2542847990989685,-0.23943772912025452,-0.24687598645687103,-0.23105037212371826,-0.23937740921974182,-0.22259145975112915,-0.23180991411209106,-0.2140737771987915,-0.22420412302017212,-0.20549969375133514,-0.2165747880935669,-0.1968955248594284,-0.20891325175762177,-0.18831145763397217,-0.20120587944984436,-0.1797809600830078,-0.19345428049564362,-0.17129217088222504,-0.18567350506782532,-0.16281338036060333,-0.17787405848503113,-0.15433865785598755,-0.17005404829978943,-0.14589308202266693,-0.16221165657043457,-0.1374913901090622,-0.1543581485748291,-0.1291087418794632,-0.1465117484331131,-0.12070388346910477,-0.1386767327785492,-0.11226113140583038,-0.13083478808403015,-0.10379426181316376,-0.12296002358198166,-0.09531185775995255,-0.115040622651577,-0.08679930120706558,-0.10708432644605637,-0.07824482023715973,-0.09910604357719421,-0.06966972351074219,-0.09111578017473221,-0.061114951968193054,-0.08311952650547028,-0.052599892020225525,-0.0751243606209755,-0.04410962760448456,-0.06713724881410599,-0.03562984615564346,-0.05916077643632889,-0.027179516851902008,-0.05119534954428673,-0.01879652589559555,-0.04324730113148689,-0.010496310889720917,-0.03532908856868744,-0.002260833978652954,-0.027447693049907684,0.0059290193021297455,-0.019598383456468582,0.014061875641345978,-0.011778898537158966,0.022105101495981216,-0.004013461992144585,0.03003648668527603,0.0036457106471061707,0.03785426914691925,0.011150557547807693,0.04555843397974968,0.018492722883820534,0.053134094923734665,0.02570323459804058,0.060557737946510315,0.03281550854444504,0.06780894100666046,0.039834704250097275,0.07486822456121445,0.04675022140145302,0.0817132443189621,0.053574249148368835,0.08833374828100204,0.060355111956596375,0.0947575718164444,0.06714500486850739,0.10105312615633011,0.07395663857460022,0.10729896277189255,0.08076008409261703,0.11355335265398026,0.0875229686498642,0.11985470354557037,0.09424670785665512,0.12623825669288635,0.10095816850662231,0.1327301263809204,0.10766972601413727,0.1393246352672577,0.11436689645051956,0.14602354168891907,0.12108242511749268,0.15275464951992035,0.12784253060817719,0.15944001078605652,0.13467952609062195,0.166034996509552,0.1416047364473343,0.17252594232559204,0.1485820859670639,0.17891503870487213,0.15553797781467438,0.18521401286125183,0.162397101521492,0.19144229590892792,0.1691051870584488,0.19761662185192108,0.1756211370229721,0.20373423397541046,0.1818981170654297,0.20976819097995758,0.18788672983646393,0.21567688882350922,0.19356295466423035,0.22141236066818237,0.1989491879940033,0.22691985964775085,0.20410071313381195,0.23214197158813477,0.2090718001127243,0.23703992366790771,0.2138986885547638,0.24161241948604584,0.21860937774181366,0.24588878452777863,0.2232365906238556,0.24990510940551758,0.2278122901916504,0.25369614362716675,0.23235124349594116,0.25730907917022705,0.23684369027614594,0.2608065903186798,0.24126189947128296,0.26424169540405273,0.24557729065418243,0.26763802766799927,0.2497827410697937,0.2710042893886566,0.2539080083370209,0.2743600904941559,0.2580043077468872,0.27772846817970276,0.2621048092842102,0.28109848499298096,0.2662014663219452,0.2844138741493225,0.27026814222335815,0.28761327266693115,0.27430057525634766,0.2906782627105713,0.2783187925815582,0.2936345636844635,0.2823316752910614,0.29650774598121643,0.28631120920181274,0.2992847263813019,0.2902001440525055,0.30191662907600403,0.29392778873443604,0.30435478687286377,0.2974175214767456,0.3065836429595947,0.3006058931350708,0.30862122774124146,0.30347740650177,0.31049442291259766,0.306072473526001,0.312222421169281,0.3084503412246704,0.31383374333381653,0.31065377593040466,0.3153923749923706,0.31272828578948975,0.31698936223983765,0.31476086378097534,0.3186992406845093,0.3168686330318451,0.3205533027648926,0.31914153695106506,0.3225567936897278,0.3216134309768677,0.3247084319591522,0.324289470911026,0.3269837200641632,0.3271740972995758,0.3293130397796631,0.33025112748146057,0.33160120248794556,0.3334524631500244,0.3337690830230713,0.3366631269454956,0.3357566297054291,0.33975350856781006,0.33749690651893616,0.34260159730911255,0.3389246463775635,0.3451049029827118,0.34002384543418884,0.3472021222114563,0.34083592891693115,0.3488919138908386,0.34139955043792725,0.3502168655395508,0.3416992127895355,0.35122162103652954,0.3416895866394043,0.35192933678627014,0.3413449227809906,0.3523486256599426,0.3406597077846527,0.35248973965644836,0.3396291136741638,0.3523767590522766,0.3382820785045624,0.352059006690979,0.3367357850074768,0.35161373019218445,0.33517172932624817,0.3511255085468292,0.3337372839450836,0.35066133737564087,0.33248984813690186,0.3502699136734009,0.33143895864486694,0.3499961793422699,0.33060356974601746,0.34987717866897583,0.33000418543815613,0.3499266803264618,0.3296352028846741,0.3501513600349426,0.32948991656303406,0.350592702627182,0.329603374004364,0.3513304591178894,0.33003976941108704,0.35242897272109985,0.33083397150039673,0.35388806462287903,0.3319631814956665,0.35565000772476196,0.3333580195903778,0.35762736201286316,0.334903359413147,0.35970258712768555,0.33642998337745667,0.3617240786552429,0.3377501368522644,0.3635392487049103,0.33872780203819275,0.365033894777298,0.3393082618713379,0.36612892150878906,0.33948349952697754,0.3667609691619873,0.339260458946228,0.3669013977050781,0.33867549896240234,0.366586297750473,0.3378073573112488,0.3658924102783203,0.33674895763397217,0.364884614944458,0.3355695903301239,0.3636193573474884,0.33430618047714233,0.36218708753585815,0.33296605944633484,0.3606922924518585,0.3315345048904419,0.35918036103248596,0.3300207853317261,0.35764509439468384,0.3285069167613983,0.35611510276794434,0.3270561099052429,0.3546077311038971,0.3254457414150238,0.352856308221817,0.3229660391807556,0.350090354681015,0.3185683786869049,0.3452148139476776,0.3112976551055908,0.33729299902915955,0.30062180757522583,0.32587888836860657,0.28643596172332764,0.3109724819660187,0.2689546048641205,0.2928783595561981,0.24881073832511902,0.2723010778427124,0.22731277346611023,0.25058284401893616,0.20648010075092316,0.22969430685043335,0.18861271440982819,0.21180330216884613,0.17556962370872498,0.1986304223537445,0.1681668758392334,0.19092623889446259,0.1659921258687973,0.18827880918979645,0.16763757169246674,0.18928979337215424,0.17113277316093445,0.19200463593006134,0.1743386834859848,0.1943642944097519,0.175251305103302,0.19451621174812317,0.17233914136886597,0.1910596489906311,0.16496074199676514,0.18336881697177887,0.15363140404224396,0.17187567055225372,0.1398496776819229,0.157985121011734,0.12555719912052155,0.1435789316892624,0.11268371343612671,0.13053175806999207,0.10308875143527985,0.12063667923212051,0.09868810325860977,0.11577457934617996,0.10131668299436569,0.11781617254018784,0.11223071813583374,0.12809985876083374,0.1316116750240326,0.14688126742839813,0.15844237804412842,0.17319311201572418,0.19076986610889435,0.20511654019355774,0.2261192500591278,0.24018003046512604,0.2618753910064697,0.2757151126861572) |
| |
| ]); |
| |
| function runTest(test, iterations) { |
| for (var i = 0; i < iterations; i++) { |
| test(); |
| } |
| } |
| |
| /* |
| * DSP.js - a comprehensive digital signal processing library for javascript |
| * |
| * Created by Corban Brook <corbanbrook@gmail.com> on 2010-01-01. |
| * Copyright 2010 Corban Brook. All rights reserved. |
| * |
| */ |
| |
| //////////////////////////////////////////////////////////////////////////////// |
| // CONSTANTS // |
| //////////////////////////////////////////////////////////////////////////////// |
| |
| /** |
| * DSP is an object which contains general purpose utility functions and constants |
| */ |
| DSP = { |
| // Channels |
| LEFT: 0, |
| RIGHT: 1, |
| MIX: 2, |
| |
| // Waveforms |
| SINE: 1, |
| TRIANGLE: 2, |
| SAW: 3, |
| SQUARE: 4, |
| |
| // Filters |
| LOWPASS: 0, |
| HIGHPASS: 1, |
| BANDPASS: 2, |
| NOTCH: 3, |
| |
| // Window functions |
| BARTLETT: 1, |
| BARTLETTHANN: 2, |
| BLACKMAN: 3, |
| COSINE: 4, |
| GAUSS: 5, |
| HAMMING: 6, |
| HANN: 7, |
| LANCZOS: 8, |
| RECTANGULAR: 9, |
| TRIANGULAR: 10, |
| |
| // Loop modes |
| OFF: 0, |
| FW: 1, |
| BW: 2, |
| FWBW: 3, |
| |
| // Math |
| TWO_PI: 2*Math.PI |
| }; |
| |
| //////////////////////////////////////////////////////////////////////////////// |
| // DSP UTILITY FUNCTIONS // |
| //////////////////////////////////////////////////////////////////////////////// |
| |
| /** |
| * Inverts the phase of a signal |
| * |
| * @param {Array} buffer A sample buffer |
| * |
| * @returns The inverted sample buffer |
| */ |
| DSP.invert = function(buffer) { |
| for ( var i = 0, len = buffer.length; i < len; i++ ) { |
| buffer[i] *= -1; |
| } |
| |
| return buffer; |
| }; |
| |
| /** |
| * Converts split-stereo (dual mono) sample buffers into a stereo interleaved sample buffer |
| * |
| * @param {Array} left A sample buffer |
| * @param {Array} right A sample buffer |
| * |
| * @returns The stereo interleaved buffer |
| */ |
| DSP.interleave = function(left, right) { |
| if ( left.length !== right.length ) { |
| throw "Can not interleave. Channel lengths differ."; |
| } |
| |
| var stereoInterleaved = new Array(left.length * 2); |
| |
| for (var i = 0, len = left.length; i < len; i++ ) { |
| stereoInterleaved[2*i] = left[i]; |
| stereoInterleaved[2*i+1] = right[i]; |
| } |
| |
| return stereoInterleaved; |
| }; |
| |
| /** |
| * Converts a stereo-interleaved sample buffer into split-stereo (dual mono) sample buffers |
| * |
| * @param {Array} buffer A stereo-interleaved sample buffer |
| * |
| * @returns an Array containing left and right channels |
| */ |
| DSP.deinterleave = function(buffer) { |
| var left = new Array(buffer.length/2); |
| var right = new Array(buffer.length/2); |
| var mix = new Array(buffer.length/2); |
| |
| for (var i = 0, len = buffer.length/2; i < len; i ++ ) { |
| left[i] = buffer[2*i]; |
| right[i] = buffer[2*i+1]; |
| mix[i] = (left[i] + right[i]) / 2; |
| } |
| |
| return [left, right, mix]; |
| }; |
| |
| /** |
| * Separates a channel from a stereo-interleaved sample buffer |
| * |
| * @param {Array} buffer A stereo-interleaved sample buffer |
| * @param {Number} channel A channel constant (LEFT, RIGHT, MIX) |
| * |
| * @returns an Array containing a signal mono sample buffer |
| */ |
| DSP.getChannel = function(channel, buffer) { |
| return DSP.deinterleave(buffer)[channel]; |
| }; |
| |
| // Biquad filter types |
| DSP.LPF = 0; // H(s) = 1 / (s^2 + s/Q + 1) |
| DSP.HPF = 1; // H(s) = s^2 / (s^2 + s/Q + 1) |
| DSP.BPF_CONSTANT_SKIRT = 2; // H(s) = s / (s^2 + s/Q + 1) (constant skirt gain, peak gain = Q) |
| DSP.BPF_CONSTANT_PEAK = 3; // H(s) = (s/Q) / (s^2 + s/Q + 1) (constant 0 dB peak gain) |
| DSP.NOTCH = 4; // H(s) = (s^2 + 1) / (s^2 + s/Q + 1) |
| DSP.APF = 5; // H(s) = (s^2 - s/Q + 1) / (s^2 + s/Q + 1) |
| DSP.PEAKING_EQ = 6; // H(s) = (s^2 + s*(A/Q) + 1) / (s^2 + s/(A*Q) + 1) |
| DSP.LOW_SHELF = 7; // H(s) = A * (s^2 + (sqrt(A)/Q)*s + A)/(A*s^2 + (sqrt(A)/Q)*s + 1) |
| DSP.HIGH_SHELF = 8; // H(s) = A * (A*s^2 + (sqrt(A)/Q)*s + 1)/(s^2 + (sqrt(A)/Q)*s + A) |
| |
| // Biquad filter parameter types |
| DSP.Q = 1; |
| DSP.BW = 2; // SHARED with BACKWARDS LOOP MODE |
| DSP.S = 3; |
| |
| |
| /** |
| * DFT is a class for calculating the Discrete Fourier Transform of a signal. |
| * |
| * @param {Number} bufferSize The size of the sample buffer to be computed |
| * @param {Number} sampleRate The sampleRate of the buffer (eg. 44100) |
| * |
| * @constructor |
| */ |
| DFT = function(bufferSize, sampleRate) { |
| this.bufferSize = bufferSize; |
| this.sampleRate = sampleRate; |
| |
| var N = bufferSize/2 * bufferSize; |
| |
| this.sinTable = new Array(N); |
| this.cosTable = new Array(N); |
| |
| for ( var i = 0; i < N; i++ ) { |
| this.sinTable[i] = Math.sin(i * DSP.TWO_PI / bufferSize); |
| this.cosTable[i] = Math.cos(i * DSP.TWO_PI / bufferSize); |
| } |
| |
| this.spectrum = new Array(bufferSize/2); |
| this.complexValues = new Array(bufferSize/2); |
| }; |
| |
| /** |
| * Performs a forward tranform on the sample buffer. |
| * Converts a time domain signal to frequency domain spectra. |
| * |
| * @param {Array} buffer The sample buffer |
| * |
| * @returns The frequency spectrum array |
| */ |
| DFT.prototype.forward = function(buffer) { |
| var real, imag; |
| |
| for ( var k = 0; k < this.bufferSize/2; k++ ) { |
| real = 0.0; |
| imag = 0.0; |
| |
| for ( var n = 0; n < buffer.length; n++ ) { |
| real += this.cosTable[k*n] * buffer[n]; |
| imag += this.sinTable[k*n] * buffer[n]; |
| } |
| |
| this.complexValues[k] = {real: real, imag: imag}; |
| } |
| |
| for ( var i = 0; i < this.bufferSize/2; i++ ) { |
| this.spectrum[i] = 2 * Math.sqrt(Math.pow(this.complexValues[i].real, 2) + Math.pow(this.complexValues[i].imag, 2)) / this.bufferSize; |
| } |
| |
| return this.spectrum; |
| }; |
| |
| |
| /** |
| * FFT is a class for calculating the Discrete Fourier Transform of a signal |
| * with the Fast Fourier Transform algorithm. |
| * |
| * @param {Number} bufferSize The size of the sample buffer to be computed. Must be power of 2 |
| * @param {Number} sampleRate The sampleRate of the buffer (eg. 44100) |
| * |
| * @constructor |
| */ |
| FFT = function(bufferSize, sampleRate) { |
| this.bufferSize = bufferSize; |
| this.sampleRate = sampleRate; |
| this.spectrum = new Array(bufferSize/2); |
| this.real = new Array(bufferSize); |
| this.imag = new Array(bufferSize); |
| |
| this.reverseTable = new Array(bufferSize); |
| for (var i = 0; i < this.reverseTable.length; i++) { |
| this.reverseTable[i] = 0; |
| } |
| |
| var limit = 1; |
| var bit = bufferSize >> 1; |
| |
| while ( limit < bufferSize ) { |
| for ( var i = 0; i < limit; i++ ) { |
| this.reverseTable[i + limit] = this.reverseTable[i] + bit; |
| } |
| |
| limit = limit << 1; |
| bit = bit >> 1; |
| } |
| |
| this.sinTable = new Array(bufferSize); |
| this.cosTable = new Array(bufferSize); |
| |
| for ( var i = 0; i < bufferSize; i++ ) { |
| this.sinTable[i] = Math.sin(-Math.PI/i); |
| this.cosTable[i] = Math.cos(-Math.PI/i); |
| } |
| }; |
| |
| /** |
| * Performs a forward tranform on the sample buffer. |
| * Converts a time domain signal to frequency domain spectra. |
| * |
| * @param {Array} buffer The sample buffer. Buffer Length must be power of 2 |
| * |
| * @returns The frequency spectrum array |
| */ |
| FFT.prototype.forward = function(buffer) { |
| // Locally scope variables for speed up |
| var bufferSize = this.bufferSize, |
| cosTable = this.cosTable, |
| sinTable = this.sinTable, |
| reverseTable = this.reverseTable, |
| real = this.real, |
| imag = this.imag, |
| spectrum = this.spectrum; |
| |
| var k = Math.floor(Math.log(bufferSize) / Math.LN2); |
| if ( Math.pow(2, k) !== bufferSize ) { throw "Invalid buffer size, must be a power of 2."; } |
| if ( bufferSize !== buffer.length ) { throw "Supplied buffer is not the same size as defined FFT. FFT Size: " + bufferSize + " Buffer Size: " + buffer.length; } |
| |
| for ( var i = 0; i < bufferSize; i++ ) { |
| real[i] = buffer[reverseTable[i]]; |
| imag[i] = 0; |
| } |
| |
| var halfSize = 1, |
| phaseShiftStepReal, |
| phaseShiftStepImag, |
| currentPhaseShiftReal, |
| currentPhaseShiftImag, |
| off, |
| tr, |
| ti, |
| tmpReal, |
| i; |
| |
| while ( halfSize < bufferSize ) { |
| phaseShiftStepReal = cosTable[halfSize]; |
| phaseShiftStepImag = sinTable[halfSize]; |
| currentPhaseShiftReal = 1; |
| currentPhaseShiftImag = 0; |
| |
| for ( var fftStep = 0; fftStep < halfSize; fftStep++ ) { |
| i = fftStep; |
| |
| while ( i < bufferSize ) { |
| off = i + halfSize; |
| tr = (currentPhaseShiftReal * real[off]) - (currentPhaseShiftImag * imag[off]); |
| ti = (currentPhaseShiftReal * imag[off]) + (currentPhaseShiftImag * real[off]); |
| |
| real[off] = real[i] - tr; |
| imag[off] = imag[i] - ti; |
| real[i] += tr; |
| imag[i] += ti; |
| |
| i += halfSize << 1; |
| } |
| |
| tmpReal = currentPhaseShiftReal; |
| currentPhaseShiftReal = (tmpReal * phaseShiftStepReal) - (currentPhaseShiftImag * phaseShiftStepImag); |
| currentPhaseShiftImag = (tmpReal * phaseShiftStepImag) + (currentPhaseShiftImag * phaseShiftStepReal); |
| } |
| |
| halfSize = halfSize << 1; |
| } |
| |
| i = bufferSize/2; |
| while(i--) { |
| spectrum[i] = 2 * Math.sqrt(real[i] * real[i] + imag[i] * imag[i]) / bufferSize; |
| } |
| |
| return spectrum; |
| }; |
| |
| FFT.prototype.inverse = function(real, imag) { |
| // Locally scope variables for speed up |
| var bufferSize = this.bufferSize, |
| cosTable = this.cosTable, |
| sinTable = this.sinTable, |
| reverseTable = this.reverseTable, |
| spectrum = this.spectrum; |
| |
| real = real || this.real; |
| imag = imag || this.imag; |
| |
| for (var i = 0; i < bufferSize; i++) { |
| imag[i] *= -1; |
| } |
| |
| var revReal = new Array(bufferSize); |
| var revImag = new Array(bufferSize); |
| |
| for (var i = 0; i < real.length; i++) { |
| revReal[i] = real[reverseTable[i]]; |
| revImag[i] = imag[reverseTable[i]]; |
| } |
| |
| real = revReal; |
| imag = revImag; |
| |
| var halfSize = 1, |
| phaseShiftStepReal, |
| phaseShiftStepImag, |
| currentPhaseShiftReal, |
| currentPhaseShiftImag, |
| off, |
| tr, |
| ti, |
| tmpReal, |
| i; |
| |
| while ( halfSize < bufferSize ) { |
| phaseShiftStepReal = cosTable[halfSize]; |
| phaseShiftStepImag = sinTable[halfSize]; |
| currentPhaseShiftReal = 1; |
| currentPhaseShiftImag = 0; |
| |
| for ( var fftStep = 0; fftStep < halfSize; fftStep++ ) { |
| i = fftStep; |
| |
| while ( i < bufferSize ) { |
| off = i + halfSize; |
| tr = (currentPhaseShiftReal * real[off]) - (currentPhaseShiftImag * imag[off]); |
| ti = (currentPhaseShiftReal * imag[off]) + (currentPhaseShiftImag * real[off]); |
| |
| real[off] = real[i] - tr; |
| imag[off] = imag[i] - ti; |
| real[i] += tr; |
| imag[i] += ti; |
| |
| i += halfSize << 1; |
| } |
| |
| tmpReal = currentPhaseShiftReal; |
| currentPhaseShiftReal = (tmpReal * phaseShiftStepReal) - (currentPhaseShiftImag * phaseShiftStepImag); |
| currentPhaseShiftImag = (tmpReal * phaseShiftStepImag) + (currentPhaseShiftImag * phaseShiftStepReal); |
| } |
| |
| halfSize = halfSize << 1; |
| } |
| |
| var buffer = new Array(bufferSize); |
| for (var i = 0; i < bufferSize; i++) { |
| buffer[i] = real[i] / bufferSize; |
| } |
| |
| return buffer; |
| }; |
| |
| Sampler = function Sampler(file, bufferSize, sampleRate, playStart, playEnd, loopStart, loopEnd, loopMode) { |
| this.file = file; |
| this.bufferSize = bufferSize; |
| this.sampleRate = sampleRate; |
| this.playStart = playStart || 0; // 0% |
| this.playEnd = playEnd || 1; // 100% |
| this.loopStart = loopStart || 0; |
| this.loopEnd = loopEnd || 1; |
| this.loopMode = loopMode || DSP.OFF; |
| this.loaded = false; |
| this.samples = []; |
| this.signal = new Array(bufferSize); |
| this.frameCount = 0; |
| this.envelope = null; |
| this.amplitude = 1; |
| this.rootFrequency = 110; // A2 110 |
| this.frequency = 550; |
| this.step = this.frequency / this.rootFrequency; |
| this.duration = 0; |
| this.samplesProcessed = 0; |
| this.playhead = 0; |
| |
| var audio = /* new Audio();*/ document.createElement("AUDIO"); |
| var self = this; |
| |
| this.loadSamples = function(event) { |
| var buffer = DSP.getChannel(DSP.MIX, event.frameBuffer); |
| for ( var i = 0; i < buffer.length; i++) { |
| self.samples.push(buffer[i]); |
| } |
| }; |
| |
| this.loadComplete = function() { |
| // convert flexible js array into a fast typed array |
| self.samples = new Array(self.samples); |
| self.loaded = true; |
| }; |
| |
| this.loadMetaData = function() { |
| self.duration = audio.duration; |
| }; |
| |
| audio.addEventListener("MozAudioAvailable", this.loadSamples, false); |
| audio.addEventListener("loadedmetadata", this.loadMetaData, false) |
| audio.addEventListener("ended", this.loadComplete, false); |
| audio.muted = true; |
| audio.src = file; |
| audio.play(); |
| }; |
| |
| Sampler.prototype.applyEnvelope = function() { |
| this.envelope.process(this.signal); |
| return this.signal; |
| }; |
| |
| Sampler.prototype.generate = function() { |
| var frameOffset = this.frameCount * this.bufferSize; |
| |
| var loopWidth = this.playEnd * this.samples.length - this.playStart * this.samples.length; |
| var playStartSamples = this.playStart * this.samples.length; // ie 0.5 -> 50% of the length |
| var playEndSamples = this.playEnd * this.samples.length; // ie 0.5 -> 50% of the length |
| var offset; |
| |
| for ( var i = 0; i < this.bufferSize; i++ ) { |
| switch (this.loopMode) { |
| case DSP.OFF: |
| this.playhead = Math.round(this.samplesProcessed * this.step + playStartSamples); |
| if (this.playhead < (this.playEnd * this.samples.length) ) { |
| this.signal[i] = this.samples[this.playhead] * this.amplitude; |
| } else { |
| this.signal[i] = 0; |
| } |
| break; |
| |
| case DSP.FW: |
| this.playhead = Math.round((this.samplesProcessed * this.step) % loopWidth + playStartSamples); |
| if (this.playhead < (this.playEnd * this.samples.length) ) { |
| this.signal[i] = this.samples[this.playhead] * this.amplitude; |
| } |
| break; |
| |
| case DSP.BW: |
| this.playhead = playEndSamples - Math.round((this.samplesProcessed * this.step) % loopWidth); |
| if (this.playhead < (this.playEnd * this.samples.length) ) { |
| this.signal[i] = this.samples[this.playhead] * this.amplitude; |
| } |
| break; |
| |
| case DSP.FWBW: |
| if ( Math.floor(this.samplesProcessed * this.step / loopWidth) % 2 == 0 ) { |
| this.playhead = Math.round((this.samplesProcessed * this.step) % loopWidth + playStartSamples); |
| } else { |
| this.playhead = playEndSamples - Math.round((this.samplesProcessed * this.step) % loopWidth); |
| } |
| if (this.playhead < (this.playEnd * this.samples.length) ) { |
| this.signal[i] = this.samples[this.playhead] * this.amplitude; |
| } |
| break; |
| } |
| this.samplesProcessed++; |
| } |
| |
| this.frameCount++; |
| |
| return this.signal; |
| }; |
| |
| Sampler.prototype.setFreq = function(frequency) { |
| this.frequency = frequency; |
| this.step = this.frequency / this.rootFrequency; |
| }; |
| |
| Sampler.prototype.reset = function() { |
| this.samplesProcessed = 0; |
| this.playhead = 0; |
| }; |
| |
| /** |
| * Oscillator class for generating and modifying signals |
| * |
| * @param {Number} type A waveform constant (eg. DSP.SINE) |
| * @param {Number} frequency Initial frequency of the signal |
| * @param {Number} amplitude Initial amplitude of the signal |
| * @param {Number} bufferSize Size of the sample buffer to generate |
| * @param {Number} sampleRate The sample rate of the signal |
| * |
| * @contructor |
| */ |
| Oscillator = function Oscillator(type, frequency, amplitude, bufferSize, sampleRate) { |
| this.frequency = frequency; |
| this.amplitude = amplitude; |
| this.bufferSize = bufferSize; |
| this.sampleRate = sampleRate; |
| //this.pulseWidth = pulseWidth; |
| this.frameCount = 0; |
| |
| this.waveTableLength = 2048; |
| |
| this.cyclesPerSample = frequency / sampleRate; |
| |
| this.signal = new Array(bufferSize); |
| this.envelope = null; |
| |
| switch(parseInt(type)) { |
| case DSP.TRIANGLE: |
| this.func = Oscillator.Triangle; |
| break; |
| |
| case DSP.SAW: |
| this.func = Oscillator.Saw; |
| break; |
| |
| case DSP.SQUARE: |
| this.func = Oscillator.Square; |
| break; |
| |
| case DSP.SINE: |
| default: |
| this.func = Oscillator.Sine; |
| break; |
| } |
| |
| this.generateWaveTable = function() { |
| Oscillator.waveTable[this.func] = new Array(2048); |
| var waveTableTime = this.waveTableLength / this.sampleRate; |
| var waveTableHz = 1 / waveTableTime; |
| |
| for (var i = 0; i < this.waveTableLength; i++) { |
| Oscillator.waveTable[this.func][i] = this.func(i * waveTableHz/this.sampleRate); |
| } |
| }; |
| |
| if ( typeof Oscillator.waveTable === 'undefined' ) { |
| Oscillator.waveTable = {}; |
| } |
| |
| if ( typeof Oscillator.waveTable[this.func] === 'undefined' ) { |
| this.generateWaveTable(); |
| } |
| |
| this.waveTable = Oscillator.waveTable[this.func]; |
| }; |
| |
| /** |
| * Set the amplitude of the signal |
| * |
| * @param {Number} amplitude The amplitude of the signal (between 0 and 1) |
| */ |
| Oscillator.prototype.setAmp = function(amplitude) { |
| if (amplitude >= 0 && amplitude <= 1) { |
| this.amplitude = amplitude; |
| } else { |
| throw "Amplitude out of range (0..1)."; |
| } |
| }; |
| |
| /** |
| * Set the frequency of the signal |
| * |
| * @param {Number} frequency The frequency of the signal |
| */ |
| Oscillator.prototype.setFreq = function(frequency) { |
| this.frequency = frequency; |
| this.cyclesPerSample = frequency / this.sampleRate; |
| }; |
| |
| // Add an oscillator |
| Oscillator.prototype.add = function(oscillator) { |
| for ( var i = 0; i < this.bufferSize; i++ ) { |
| //this.signal[i] += oscillator.valueAt(i); |
| this.signal[i] += oscillator.signal[i]; |
| } |
| |
| return this.signal; |
| }; |
| |
| // Add a signal to the current generated osc signal |
| Oscillator.prototype.addSignal = function(signal) { |
| for ( var i = 0; i < signal.length; i++ ) { |
| if ( i >= this.bufferSize ) { |
| break; |
| } |
| this.signal[i] += signal[i]; |
| |
| /* |
| // Constrain amplitude |
| if ( this.signal[i] > 1 ) { |
| this.signal[i] = 1; |
| } else if ( this.signal[i] < -1 ) { |
| this.signal[i] = -1; |
| } |
| */ |
| } |
| return this.signal; |
| }; |
| |
| // Add an envelope to the oscillator |
| Oscillator.prototype.addEnvelope = function(envelope) { |
| this.envelope = envelope; |
| }; |
| |
| Oscillator.prototype.applyEnvelope = function() { |
| this.envelope.process(this.signal); |
| }; |
| |
| Oscillator.prototype.valueAt = function(offset) { |
| return this.waveTable[offset % this.waveTableLength]; |
| }; |
| |
| Oscillator.prototype.generate = function() { |
| var frameOffset = this.frameCount * this.bufferSize; |
| var step = this.waveTableLength * this.frequency / this.sampleRate; |
| var offset; |
| |
| for ( var i = 0; i < this.bufferSize; i++ ) { |
| //var step = (frameOffset + i) * this.cyclesPerSample % 1; |
| //this.signal[i] = this.func(step) * this.amplitude; |
| //this.signal[i] = this.valueAt(Math.round((frameOffset + i) * step)) * this.amplitude; |
| offset = Math.round((frameOffset + i) * step); |
| this.signal[i] = this.waveTable[offset % this.waveTableLength] * this.amplitude; |
| } |
| |
| this.frameCount++; |
| |
| return this.signal; |
| }; |
| |
| Oscillator.Sine = function(step) { |
| return Math.sin(DSP.TWO_PI * step); |
| }; |
| |
| Oscillator.Square = function(step) { |
| return step < 0.5 ? 1 : -1; |
| }; |
| |
| Oscillator.Saw = function(step) { |
| return 2 * (step - Math.round(step)); |
| }; |
| |
| Oscillator.Triangle = function(step) { |
| return 1 - 4 * Math.abs(Math.round(step) - step); |
| }; |
| |
| Oscillator.Pulse = function(step) { |
| // stub |
| }; |
| |
| ADSR = function(attackLength, decayLength, sustainLevel, sustainLength, releaseLength, sampleRate) { |
| this.sampleRate = sampleRate; |
| // Length in seconds |
| this.attackLength = attackLength; |
| this.decayLength = decayLength; |
| this.sustainLevel = sustainLevel; |
| this.sustainLength = sustainLength; |
| this.releaseLength = releaseLength; |
| this.sampleRate = sampleRate; |
| |
| // Length in samples |
| this.attackSamples = attackLength * sampleRate; |
| this.decaySamples = decayLength * sampleRate; |
| this.sustainSamples = sustainLength * sampleRate; |
| this.releaseSamples = releaseLength * sampleRate; |
| |
| // Updates the envelope sample positions |
| this.update = function() { |
| this.attack = this.attackSamples; |
| this.decay = this.attack + this.decaySamples; |
| this.sustain = this.decay + this.sustainSamples; |
| this.release = this.sustain + this.releaseSamples; |
| }; |
| |
| this.update(); |
| |
| this.samplesProcessed = 0; |
| }; |
| |
| |
| ADSR.prototype.noteOn = function() { |
| this.samplesProcessed = 0; |
| this.sustainSamples = this.sustainLength * this.sampleRate; |
| this.update(); |
| }; |
| |
| // Send a note off when using a sustain of infinity to let the envelope enter the release phase |
| ADSR.prototype.noteOff = function() { |
| this.sustainSamples = this.samplesProcessed - this.decaySamples; |
| this.update(); |
| }; |
| |
| ADSR.prototype.processSample = function(sample) { |
| var amplitude = 0; |
| |
| if ( this.samplesProcessed <= this.attack ) { |
| amplitude = 0 + (1 - 0) * ((this.samplesProcessed - 0) / (this.attack - 0)); |
| } else if ( this.samplesProcessed > this.attack && this.samplesProcessed <= this.decay ) { |
| amplitude = 1 + (this.sustainLevel - 1) * ((this.samplesProcessed - this.attack) / (this.decay - this.attack)); |
| } else if ( this.samplesProcessed > this.decay && this.samplesProcessed <= this.sustain ) { |
| amplitude = this.sustainLevel; |
| } else if ( this.samplesProcessed > this.sustain && this.samplesProcessed <= this.release ) { |
| amplitude = this.sustainLevel + (0 - this.sustainLevel) * ((this.samplesProcessed - this.sustain) / (this.release - this.sustain)); |
| } |
| |
| return sample * amplitude; |
| }; |
| |
| ADSR.prototype.value = function() { |
| var amplitude = 0; |
| |
| if ( this.samplesProcessed <= this.attack ) { |
| amplitude = 0 + (1 - 0) * ((this.samplesProcessed - 0) / (this.attack - 0)); |
| } else if ( this.samplesProcessed > this.attack && this.samplesProcessed <= this.decay ) { |
| amplitude = 1 + (this.sustainLevel - 1) * ((this.samplesProcessed - this.attack) / (this.decay - this.attack)); |
| } else if ( this.samplesProcessed > this.decay && this.samplesProcessed <= this.sustain ) { |
| amplitude = this.sustainLevel; |
| } else if ( this.samplesProcessed > this.sustain && this.samplesProcessed <= this.release ) { |
| amplitude = this.sustainLevel + (0 - this.sustainLevel) * ((this.samplesProcessed - this.sustain) / (this.release - this.sustain)); |
| } |
| |
| return amplitude; |
| }; |
| |
| ADSR.prototype.process = function(buffer) { |
| for ( var i = 0; i < buffer.length; i++ ) { |
| buffer[i] *= this.value(); |
| |
| this.samplesProcessed++; |
| } |
| |
| return buffer; |
| }; |
| |
| |
| ADSR.prototype.isActive = function() { |
| if ( this.samplesProcessed > this.release || this.samplesProcessed === -1 ) { |
| return false; |
| } else { |
| return true; |
| } |
| }; |
| |
| ADSR.prototype.disable = function() { |
| this.samplesProcessed = -1; |
| }; |
| |
| IIRFilter = function(type, cutoff, resonance, sampleRate) { |
| this.sampleRate = sampleRate; |
| this.cutoff = cutoff; |
| this.resonance = resonance; |
| |
| switch(type) { |
| case DSP.LOWPASS: |
| case DSP.LP12: |
| this.func = new IIRFilter.LP12(cutoff, resonance, sampleRate); |
| break; |
| } |
| } |
| |
| IIRFilter.prototype.set = function(cutoff, resonance) { |
| this.func.calcCoeff(cutoff, resonance); |
| } |
| |
| IIRFilter.prototype.process = function(buffer) { |
| this.func.process(buffer); |
| } |
| |
| // Add an envelope to the filter |
| IIRFilter.prototype.addEnvelope = function(envelope) { |
| if ( envelope instanceof ADSR ) { |
| this.func.addEnvelope(envelope); |
| } else { |
| throw "Not an envelope."; |
| } |
| }; |
| |
| IIRFilter.LP12 = function(cutoff, resonance, sampleRate) { |
| this.sampleRate = sampleRate; |
| this.vibraPos = 0; |
| this.vibraSpeed = 0; |
| this.envelope = false; |
| |
| this.calcCoeff = function(cutoff, resonance) { |
| this.w = 2.0 * Math.PI * cutoff / this.sampleRate; |
| this.q = 1.0 - this.w / (2.0 * (resonance + 0.5 / (1.0 + this.w)) + this.w - 2.0); |
| this.r = this.q * this.q; |
| this.c = this.r + 1.0 - 2.0 * Math.cos(this.w) * this.q; |
| |
| this.cutoff = cutoff; |
| this.resonance = resonance; |
| }; |
| |
| this.calcCoeff(cutoff, resonance); |
| |
| this.process = function(buffer) { |
| for ( var i = 0; i < buffer.length; i++ ) { |
| this.vibraSpeed += (buffer[i] - this.vibraPos) * this.c; |
| this.vibraPos += this.vibraSpeed; |
| this.vibraSpeed *= this.r; |
| |
| /* |
| var temp = this.vibraPos; |
| |
| if ( temp > 1.0 ) { |
| temp = 1.0; |
| } else if ( temp < -1.0 ) { |
| temp = -1.0; |
| } else if ( temp != temp ) { |
| temp = 1; |
| } |
| |
| buffer[i] = temp; |
| */ |
| |
| if (this.envelope) { |
| buffer[i] = (buffer[i] * (1 - this.envelope.value())) + (this.vibraPos * this.envelope.value()); |
| this.envelope.samplesProcessed++; |
| } else { |
| buffer[i] = this.vibraPos; |
| } |
| } |
| } |
| }; |
| |
| IIRFilter.LP12.prototype.addEnvelope = function(envelope) { |
| this.envelope = envelope; |
| }; |
| |
| |
| |
| IIRFilter2 = function(type, cutoff, resonance, sampleRate) { |
| this.type = type; |
| this.cutoff = cutoff; |
| this.resonance = resonance; |
| this.sampleRate = sampleRate; |
| |
| this.f = Array(4); |
| this.f[0] = 0.0; // lp |
| this.f[1] = 0.0; // hp |
| this.f[2] = 0.0; // bp |
| this.f[3] = 0.0; // br |
| |
| this.calcCoeff = function(cutoff, resonance) { |
| this.freq = 2 * Math.sin(Math.PI * Math.min(0.25, cutoff/(this.sampleRate*2))); |
| this.damp = Math.min(2 * (1 - Math.pow(resonance, 0.25)), Math.min(2, 2/this.freq - this.freq * 0.5)); |
| }; |
| |
| this.calcCoeff(cutoff, resonance); |
| }; |
| |
| IIRFilter2.prototype.process = function(buffer) { |
| var input, output; |
| var f = this.f; |
| |
| for ( var i = 0; i < buffer.length; i++ ) { |
| input = buffer[i]; |
| |
| // first pass |
| f[3] = input - this.damp * f[2]; |
| f[0] = f[0] + this.freq * f[2]; |
| f[1] = f[3] - f[0]; |
| f[2] = this.freq * f[1] + f[2]; |
| output = 0.5 * f[this.type]; |
| |
| // second pass |
| f[3] = input - this.damp * f[2]; |
| f[0] = f[0] + this.freq * f[2]; |
| f[1] = f[3] - f[0]; |
| f[2] = this.freq * f[1] + f[2]; |
| output += 0.5 * f[this.type]; |
| |
| if (this.envelope) { |
| buffer[i] = (buffer[i] * (1 - this.envelope.value())) + (output * this.envelope.value()); |
| this.envelope.samplesProcessed++; |
| } else { |
| buffer[i] = output; |
| } |
| } |
| }; |
| |
| IIRFilter2.prototype.addEnvelope = function(envelope) { |
| if ( envelope instanceof ADSR ) { |
| this.envelope = envelope; |
| } else { |
| throw "This is not an envelope."; |
| } |
| }; |
| |
| IIRFilter2.prototype.set = function(cutoff, resonance) { |
| this.calcCoeff(cutoff, resonance); |
| }; |
| |
| |
| |
| WindowFunction = function(type, alpha) { |
| this.alpha = alpha; |
| |
| switch(type) { |
| case DSP.BARTLETT: |
| this.func = WindowFunction.Bartlett; |
| break; |
| |
| case DSP.BARTLETTHANN: |
| this.func = WindowFunction.BartlettHann; |
| break; |
| |
| case DSP.BLACKMAN: |
| this.func = WindowFunction.Blackman; |
| this.alpha = this.alpha || 0.16; |
| break; |
| |
| case DSP.COSINE: |
| this.func = WindowFunction.Cosine; |
| break; |
| |
| case DSP.GAUSS: |
| this.func = WindowFunction.Gauss; |
| this.alpha = this.alpha || 0.25; |
| break; |
| |
| case DSP.HAMMING: |
| this.func = WindowFunction.Hamming; |
| break; |
| |
| case DSP.HANN: |
| this.func = WindowFunction.Hann; |
| break; |
| |
| case DSP.LANCZOS: |
| this.func = WindowFunction.Lanczoz; |
| break; |
| |
| case DSP.RECTANGULAR: |
| this.func = WindowFunction.Rectangular; |
| break; |
| |
| case DSP.TRIANGULAR: |
| this.func = WindowFunction.Triangular; |
| break; |
| } |
| }; |
| |
| WindowFunction.prototype.process = function(buffer) { |
| var length = buffer.length; |
| for ( var i = 0; i < length; i++ ) { |
| buffer[i] *= this.func(length, i, this.alpha); |
| } |
| return buffer; |
| }; |
| |
| WindowFunction.Bartlett = function(length, index) { |
| return 2 / (length - 1) * ((length - 1) / 2 - Math.abs(index - (length - 1) / 2)); |
| }; |
| |
| WindowFunction.BartlettHann = function(length, index) { |
| return 0.62 - 0.48 * Math.abs(index / (length - 1) - 0.5) - 0.38 * Math.cos(DSP.TWO_PI * index / (length - 1)); |
| }; |
| |
| WindowFunction.Blackman = function(length, index, alpha) { |
| var a0 = (1 - alpha) / 2; |
| var a1 = 0.5; |
| var a2 = alpha / 2; |
| |
| return a0 - a1 * Math.cos(DSP.TWO_PI * index / (length - 1)) + a2 * Math.cos(4 * Math.PI * index / (length - 1)); |
| }; |
| |
| WindowFunction.Cosine = function(length, index) { |
| return Math.cos(Math.PI * index / (length - 1) - Math.PI / 2); |
| }; |
| |
| WindowFunction.Gauss = function(length, index, alpha) { |
| return Math.pow(Math.E, -0.5 * Math.pow((index - (length - 1) / 2) / (alpha * (length - 1) / 2), 2)); |
| }; |
| |
| WindowFunction.Hamming = function(length, index) { |
| return 0.54 - 0.46 * Math.cos(DSP.TWO_PI * index / (length - 1)); |
| }; |
| |
| WindowFunction.Hann = function(length, index) { |
| return 0.5 * (1 - Math.cos(DSP.TWO_PI * index / (length - 1))); |
| }; |
| |
| WindowFunction.Lanczos = function(length, index) { |
| var x = 2 * index / (length - 1) - 1; |
| return Math.sin(Math.PI * x) / (Math.PI * x); |
| }; |
| |
| WindowFunction.Rectangular = function(length, index) { |
| return 1; |
| }; |
| |
| WindowFunction.Triangular = function(length, index) { |
| return 2 / length * (length / 2 - Math.abs(index - (length - 1) / 2)); |
| }; |
| |
| function sinh (arg) { |
| // Returns the hyperbolic sine of the number, defined as (exp(number) - exp(-number))/2 |
| // |
| // version: 1004.2314 |
| // discuss at: http://phpjs.org/functions/sinh // + original by: Onno Marsman |
| // * example 1: sinh(-0.9834330348825909); |
| // * returns 1: -1.1497971402636502 |
| return (Math.exp(arg) - Math.exp(-arg))/2; |
| } |
| |
| |
| /* |
| * Biquad filter |
| * |
| * Created by Ricard Marxer <email@ricardmarxer.com> on 2010-05-23. |
| * Copyright 2010 Ricard Marxer. All rights reserved. |
| * |
| */ |
| // Implementation based on: |
| // http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt |
| Biquad = function(type, sampleRate) { |
| this.Fs = sampleRate; |
| this.type = type; // type of the filter |
| this.parameterType = DSP.Q; // type of the parameter |
| |
| this.x_1_l = 0; |
| this.x_2_l = 0; |
| this.y_1_l = 0; |
| this.y_2_l = 0; |
| |
| this.x_1_r = 0; |
| this.x_2_r = 0; |
| this.y_1_r = 0; |
| this.y_2_r = 0; |
| |
| this.b0 = 1; |
| this.a0 = 1; |
| |
| this.b1 = 0; |
| this.a1 = 0; |
| |
| this.b2 = 0; |
| this.a2 = 0; |
| |
| this.b0a0 = this.b0 / this.a0; |
| this.b1a0 = this.b1 / this.a0; |
| this.b2a0 = this.b2 / this.a0; |
| this.a1a0 = this.a1 / this.a0; |
| this.a2a0 = this.a2 / this.a0; |
| |
| this.f0 = 3000; // "wherever it's happenin', man." Center Frequency or |
| // Corner Frequency, or shelf midpoint frequency, depending |
| // on which filter type. The "significant frequency". |
| |
| this.dBgain = 12; // used only for peaking and shelving filters |
| |
| this.Q = 1; // the EE kind of definition, except for peakingEQ in which A*Q is |
| // the classic EE Q. That adjustment in definition was made so that |
| // a boost of N dB followed by a cut of N dB for identical Q and |
| // f0/Fs results in a precisely flat unity gain filter or "wire". |
| |
| this.BW = -3; // the bandwidth in octaves (between -3 dB frequencies for BPF |
| // and notch or between midpoint (dBgain/2) gain frequencies for |
| // peaking EQ |
| |
| this.S = 1; // a "shelf slope" parameter (for shelving EQ only). When S = 1, |
| // the shelf slope is as steep as it can be and remain monotonically |
| // increasing or decreasing gain with frequency. The shelf slope, in |
| // dB/octave, remains proportional to S for all other values for a |
| // fixed f0/Fs and dBgain. |
| |
| this.coefficients = function() { |
| var b = [this.b0, this.b1, this.b2]; |
| var a = [this.a0, this.a1, this.a2]; |
| return {b: b, a:a}; |
| } |
| |
| this.setFilterType = function(type) { |
| this.type = type; |
| this.recalculateCoefficients(); |
| } |
| |
| this.setSampleRate = function(rate) { |
| this.Fs = rate; |
| this.recalculateCoefficients(); |
| } |
| |
| this.setQ = function(q) { |
| this.parameterType = DSP.Q; |
| this.Q = Math.max(Math.min(q, 115.0), 0.001); |
| this.recalculateCoefficients(); |
| } |
| |
| this.setBW = function(bw) { |
| this.parameterType = DSP.BW; |
| this.BW = bw; |
| this.recalculateCoefficients(); |
| } |
| |
| this.setS = function(s) { |
| this.parameterType = DSP.S; |
| this.S = Math.max(Math.min(s, 5.0), 0.0001); |
| this.recalculateCoefficients(); |
| } |
| |
| this.setF0 = function(freq) { |
| this.f0 = freq; |
| this.recalculateCoefficients(); |
| } |
| |
| this.setDbGain = function(g) { |
| this.dBgain = g; |
| this.recalculateCoefficients(); |
| } |
| |
| this.recalculateCoefficients = function() { |
| var A; |
| if (type == DSP.PEAKING_EQ || type == DSP.LOW_SHELF || type == DSP.HIGH_SHELF ) { |
| A = Math.pow(10, (this.dBgain/40)); // for peaking and shelving EQ filters only |
| } else { |
| A = Math.sqrt( Math.pow(10, (this.dBgain/20)) ); |
| } |
| |
| var w0 = DSP.TWO_PI * this.f0 / this.Fs; |
| |
| var cosw0 = Math.cos(w0); |
| var sinw0 = Math.sin(w0); |
| |
| var alpha = 0; |
| |
| switch (this.parameterType) { |
| case DSP.Q: |
| alpha = sinw0/(2*this.Q); |
| break; |
| |
| case DSP.BW: |
| alpha = sinw0 * sinh( Math.LN2/2 * this.BW * w0/sinw0 ); |
| break; |
| |
| case DSP.S: |
| alpha = sinw0/2 * Math.sqrt( (A + 1/A)*(1/this.S - 1) + 2 ); |
| break; |
| } |
| |
| /** |
| FYI: The relationship between bandwidth and Q is |
| 1/Q = 2*sinh(ln(2)/2*BW*w0/sin(w0)) (digital filter w BLT) |
| or 1/Q = 2*sinh(ln(2)/2*BW) (analog filter prototype) |
| |
| The relationship between shelf slope and Q is |
| 1/Q = sqrt((A + 1/A)*(1/S - 1) + 2) |
| */ |
| |
| switch (this.type) { |
| case DSP.LPF: // H(s) = 1 / (s^2 + s/Q + 1) |
| this.b0 = (1 - cosw0)/2; |
| this.b1 = 1 - cosw0; |
| this.b2 = (1 - cosw0)/2; |
| this.a0 = 1 + alpha; |
| this.a1 = -2 * cosw0; |
| this.a2 = 1 - alpha; |
| break; |
| |
| case DSP.HPF: // H(s) = s^2 / (s^2 + s/Q + 1) |
| this.b0 = (1 + cosw0)/2; |
| this.b1 = -(1 + cosw0); |
| this.b2 = (1 + cosw0)/2; |
| this.a0 = 1 + alpha; |
| this.a1 = -2 * cosw0; |
| this.a2 = 1 - alpha; |
| break; |
| |
| case DSP.BPF_CONSTANT_SKIRT: // H(s) = s / (s^2 + s/Q + 1) (constant skirt gain, peak gain = Q) |
| this.b0 = sinw0/2; |
| this.b1 = 0; |
| this.b2 = -sinw0/2; |
| this.a0 = 1 + alpha; |
| this.a1 = -2*cosw0; |
| this.a2 = 1 - alpha; |
| break; |
| |
| case DSP.BPF_CONSTANT_PEAK: // H(s) = (s/Q) / (s^2 + s/Q + 1) (constant 0 dB peak gain) |
| this.b0 = alpha; |
| this.b1 = 0; |
| this.b2 = -alpha; |
| this.a0 = 1 + alpha; |
| this.a1 = -2*cosw0; |
| this.a2 = 1 - alpha; |
| break; |
| |
| case DSP.NOTCH: // H(s) = (s^2 + 1) / (s^2 + s/Q + 1) |
| this.b0 = 1; |
| this.b1 = -2*cosw0; |
| this.b2 = 1; |
| this.a0 = 1 + alpha; |
| this.a1 = -2*cosw0; |
| this.a2 = 1 - alpha; |
| break; |
| |
| case DSP.APF: // H(s) = (s^2 - s/Q + 1) / (s^2 + s/Q + 1) |
| this.b0 = 1 - alpha; |
| this.b1 = -2*cosw0; |
| this.b2 = 1 + alpha; |
| this.a0 = 1 + alpha; |
| this.a1 = -2*cosw0; |
| this.a2 = 1 - alpha; |
| break; |
| |
| case DSP.PEAKING_EQ: // H(s) = (s^2 + s*(A/Q) + 1) / (s^2 + s/(A*Q) + 1) |
| this.b0 = 1 + alpha*A; |
| this.b1 = -2*cosw0; |
| this.b2 = 1 - alpha*A; |
| this.a0 = 1 + alpha/A; |
| this.a1 = -2*cosw0; |
| this.a2 = 1 - alpha/A; |
| break; |
| |
| case DSP.LOW_SHELF: // H(s) = A * (s^2 + (sqrt(A)/Q)*s + A)/(A*s^2 + (sqrt(A)/Q)*s + 1) |
| var coeff = sinw0 * Math.sqrt( (A^2 + 1)*(1/this.S - 1) + 2*A ); |
| this.b0 = A*( (A+1) - (A-1)*cosw0 + coeff ); |
| this.b1 = 2*A*( (A-1) - (A+1)*cosw0 ); |
| this.b2 = A*( (A+1) - (A-1)*cosw0 - coeff ); |
| this.a0 = (A+1) + (A-1)*cosw0 + coeff; |
| this.a1 = -2*( (A-1) + (A+1)*cosw0 ); |
| this.a2 = (A+1) + (A-1)*cosw0 - coeff; |
| break; |
| |
| case DSP.HIGH_SHELF: // H(s) = A * (A*s^2 + (sqrt(A)/Q)*s + 1)/(s^2 + (sqrt(A)/Q)*s + A) |
| var coeff = sinw0 * Math.sqrt( (A^2 + 1)*(1/this.S - 1) + 2*A ); |
| this.b0 = A*( (A+1) + (A-1)*cosw0 + coeff ); |
| this.b1 = -2*A*( (A-1) + (A+1)*cosw0 ); |
| this.b2 = A*( (A+1) + (A-1)*cosw0 - coeff ); |
| this.a0 = (A+1) - (A-1)*cosw0 + coeff; |
| this.a1 = 2*( (A-1) - (A+1)*cosw0 ); |
| this.a2 = (A+1) - (A-1)*cosw0 - coeff; |
| break; |
| } |
| |
| this.b0a0 = this.b0/this.a0; |
| this.b1a0 = this.b1/this.a0; |
| this.b2a0 = this.b2/this.a0; |
| this.a1a0 = this.a1/this.a0; |
| this.a2a0 = this.a2/this.a0; |
| } |
| |
| this.process = function(buffer) { |
| //y[n] = (b0/a0)*x[n] + (b1/a0)*x[n-1] + (b2/a0)*x[n-2] |
| // - (a1/a0)*y[n-1] - (a2/a0)*y[n-2] |
| |
| var len = buffer.length; |
| var output = new Array(len); |
| |
| for ( var i=0; i<buffer.length; i++ ) { |
| output[i] = this.b0a0*buffer[i] + this.b1a0*this.x_1_l + this.b2a0*this.x_2_l - this.a1a0*this.y_1_l - this.a2a0*this.y_2_l; |
| this.y_2_l = this.y_1_l; |
| this.y_1_l = output[i]; |
| this.x_2_l = this.x_1_l; |
| this.x_1_l = buffer[i]; |
| } |
| |
| return output; |
| } |
| |
| this.processStereo = function(buffer) { |
| //y[n] = (b0/a0)*x[n] + (b1/a0)*x[n-1] + (b2/a0)*x[n-2] |
| // - (a1/a0)*y[n-1] - (a2/a0)*y[n-2] |
| |
| var len = buffer.length; |
| var output = new Array(len); |
| |
| for ( var i=0; i<len/2; i++ ) { |
| output[2*i] = this.b0a0*buffer[2*i] + this.b1a0*this.x_1_l + this.b2a0*this.x_2_l - this.a1a0*this.y_1_l - this.a2a0*this.y_2_l; |
| this.y_2_l = this.y_1_l; |
| this.y_1_l = output[2*i]; |
| this.x_2_l = this.x_1_l; |
| this.x_1_l = buffer[2*i]; |
| |
| output[2*i+1] = this.b0a0*buffer[2*i+1] + this.b1a0*this.x_1_r + this.b2a0*this.x_2_r - this.a1a0*this.y_1_r - this.a2a0*this.y_2_r; |
| this.y_2_r = this.y_1_r; |
| this.y_1_r = output[2*i+1]; |
| this.x_2_r = this.x_1_r; |
| this.x_1_r = buffer[2*i+1]; |
| } |
| |
| return output; |
| } |
| }; |
| |
| |
| /* |
| * Magnitude to decibels |
| * |
| * Created by Ricard Marxer <email@ricardmarxer.com> on 2010-05-23. |
| * Copyright 2010 Ricard Marxer. All rights reserved. |
| * |
| * @buffer array of magnitudes to convert to decibels |
| * |
| * @returns the array in decibels |
| * |
| */ |
| DSP.mag2db = function(buffer) { |
| var minDb = -120; |
| var minMag = Math.pow(10.0, minDb / 20.0); |
| |
| var log = Math.log; |
| var max = Math.max; |
| |
| var result = Array(buffer.length); |
| for (var i=0; i<buffer.length; i++) { |
| result[i] = 20.0*log(max(buffer[i], minMag)); |
| } |
| |
| return result; |
| }; |
| |
| /* |
| * Frequency response |
| * |
| * Created by Ricard Marxer <email@ricardmarxer.com> on 2010-05-23. |
| * Copyright 2010 Ricard Marxer. All rights reserved. |
| * |
| * Calculates the frequency response at the given points. |
| * |
| * @b b coefficients of the filter |
| * @a a coefficients of the filter |
| * @w w points (normally between -PI and PI) where to calculate the frequency response |
| * |
| * @returns the frequency response in magnitude |
| * |
| */ |
| DSP.freqz = function(b, a, w) { |
| if (!w) { |
| w = Array(200); |
| for (var i=0;i<w.length; i++) { |
| w[i] = DSP.TWO_PI/w.length * i - Math.PI; |
| } |
| } |
| |
| var result = Array(w.length); |
| |
| var sqrt = Math.sqrt; |
| var cos = Math.cos; |
| var sin = Math.sin; |
| |
| for (var i=0; i<w.length; i++) { |
| var numerator = {real:0.0, imag:0.0}; |
| for (var j=0; j<b.length; j++) { |
| numerator.real += b[j] * cos(-j*w[i]); |
| numerator.imag += b[j] * sin(-j*w[i]); |
| } |
| |
| var denominator = {real:0.0, imag:0.0}; |
| for (var j=0; j<a.length; j++) { |
| denominator.real += a[j] * cos(-j*w[i]); |
| denominator.imag += a[j] * sin(-j*w[i]); |
| } |
| |
| result[i] = sqrt(numerator.real*numerator.real + numerator.imag*numerator.imag) / sqrt(denominator.real*denominator.real + denominator.imag*denominator.imag); |
| } |
| |
| return result; |
| }; |
| |
| /* |
| * Graphical Equalizer |
| * |
| * Created by Ricard Marxer <email@ricardmarxer.com> on 2010-05-23. |
| * Copyright 2010 Ricard Marxer. All rights reserved. |
| * |
| */ |
| // Implementation of a graphic equalizer with a configurable bands-per-octave |
| // and minimum and maximum frequencies |
| GraphicalEq = function(sampleRate) { |
| this.FS = sampleRate; |
| this.minFreq = 40.0; |
| this.maxFreq = 16000.0; |
| |
| this.bandsPerOctave = 1.0; |
| |
| this.filters = [] |
| this.freqzs = [] |
| |
| this.calculateFreqzs = true; |
| |
| this.recalculateFilters = function() { |
| var bandCount = Math.round(Math.log(this.maxFreq/this.minFreq) * this.bandsPerOctave/ Math.LN2); |
| |
| this.filters = []; |
| for (var i=0; i<bandCount; i++) { |
| var freq = this.minFreq*(Math.pow(2, i/this.bandsPerOctave)); |
| var newFilter = new Biquad(DSP.PEAKING_EQ, this.FS); |
| newFilter.setDbGain(0); |
| newFilter.setBW(1/this.bandsPerOctave); |
| newFilter.setF0(freq); |
| this.filters[i] = newFilter; |
| this.recalculateFreqz(i); |
| } |
| } |
| |
| this.setMinimumFrequency = function(freq) { |
| this.minFreq = freq; |
| this.recalculateFilters(); |
| } |
| |
| this.setMaximumFrequency = function(freq) { |
| this.maxFreq = freq; |
| this.recalculateFilters(); |
| } |
| |
| this.setBandsPerOctave = function(bands) { |
| this.bandsPerOctave = bands; |
| this.recalculateFilters(); |
| } |
| |
| this.setBandGain = function(bandIndex, gain) { |
| if (bandIndex < 0 || bandIndex > (this.filters.length-1)) { |
| throw "The band index of the graphical equalizer is out of bounds."; |
| return; |
| } |
| |
| if (!gain) { |
| throw "A gain must be passed." |
| return; |
| } |
| |
| |
| this.filters[bandIndex].setDbGain(gain); |
| this.recalculateFreqz(bandIndex); |
| } |
| |
| this.recalculateFreqz = function(bandIndex) { |
| if (!this.calculateFreqzs) { |
| return; |
| } |
| |
| |
| if (bandIndex < 0 || bandIndex > (this.filters.length-1)) { |
| throw "The band index of the graphical equalizer is out of bounds. " + bandIndex + " is out of [" + 0 + ", " + this.filters.length-1 + "]" |
| return; |
| } |
| |
| if (!this.w) { |
| this.w = Array(400); |
| for (var i=0; i<this.w.length; i++) { |
| this.w[i] = Math.PI/this.w.length * i; |
| } |
| } |
| |
| var b = [this.filters[bandIndex].b0, this.filters[bandIndex].b1, this.filters[bandIndex].b2]; |
| var a = [this.filters[bandIndex].a0, this.filters[bandIndex].a1, this.filters[bandIndex].a2]; |
| |
| this.freqzs[bandIndex] = DSP.mag2db(DSP.freqz(b, a, this.w)); |
| } |
| |
| this.process = function(buffer) { |
| var output = buffer; |
| |
| for ( var i=0; i<this.filters.length; i++ ) { |
| output = this.filters[i].process(output); |
| } |
| |
| return output; |
| } |
| |
| this.processStereo = function(buffer) { |
| var output = buffer; |
| |
| for ( var i=0; i<this.filters.length; i++ ) { |
| output = this.filters[i].processStereo(output); |
| } |
| |
| return output; |
| } |
| |
| } |
| |
| |
| |
| /** |
| * MultiDelay effect by Almer Thie (http://code.almeros.com). |
| * Copyright 2010 Almer Thie. All rights reserved. |
| * Example: http://code.almeros.com/code-examples/delay-firefox-audio-api/ |
| * |
| * This is a delay that feeds it's own delayed signal back into its circular |
| * buffer. Also known as a CombFilter. |
| * |
| * Compatible with interleaved stereo (or more channel) buffers and |
| * non-interleaved mono buffers. |
| * |
| * @param {Number} maxDelayInSamplesSize Maximum possible delay in samples (size of circular buffer) |
| * @param {Number} delayInSamples Initial delay in samples |
| * @param {Number} masterVolume Initial master volume. Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify) |
| * @param {Number} delayVolume Initial feedback delay volume. Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify) |
| * |
| * @constructor |
| */ |
| MultiDelay = function(maxDelayInSamplesSize, delayInSamples, masterVolume, delayVolume){ |
| this.delayBufferSamples = new Array(maxDelayInSamplesSize); // The maximum size of delay |
| this.delayInputPointer = delayInSamples; |
| this.delayOutputPointer = 0; |
| |
| this.delayInSamples = delayInSamples; |
| this.masterVolume = masterVolume; |
| this.delayVolume = delayVolume; |
| } |
| |
| /** |
| * Change the delay time in samples. |
| * |
| * @param {Number} delayInSamples Delay in samples |
| */ |
| MultiDelay.prototype.setDelayInSamples = function (delayInSamples){ |
| this.delayInSamples = delayInSamples; |
| |
| this.delayInputPointer = this.delayOutputPointer + delayInSamples; |
| if(this.delayInputPointer >= this.delayBufferSamples.length-1) |
| this.delayInputPointer = this.delayInputPointer - this.delayBufferSamples.length; |
| } |
| |
| /** |
| * Change the master volume. |
| * |
| * @param {Number} masterVolume Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify) |
| */ |
| MultiDelay.prototype.setMasterVolume = function (masterVolume){ |
| this.masterVolume = masterVolume; |
| } |
| |
| /** |
| * Change the delay feedback volume. |
| * |
| * @param {Number} delayVolume Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify) |
| */ |
| MultiDelay.prototype.setDelayVolume = function (delayVolume){ |
| this.delayVolume = delayVolume; |
| } |
| |
| /** |
| * Process a given interleaved or mono non-interleaved float value Array and adds the delayed audio. |
| * |
| * @param {Array} samples Array containing Float values or a Float32Array |
| * |
| * @returns A new Float32Array interleaved or mono non-interleaved as was fed to this function. |
| */ |
| MultiDelay.prototype.process = function (samples){ |
| // NB. Make a copy to put in the output samples to return. |
| var outputSamples = new Array(samples.length); |
| |
| for(var i=0; i<samples.length; i++){ |
| |
| // delayBufferSamples could contain initial NULL's, return silence in that case |
| var delaySample = (this.delayBufferSamples[this.delayOutputPointer]==null ? 0.0 : this.delayBufferSamples[this.delayOutputPointer]); |
| |
| // Mix normal audio data with delayed audio |
| var sample = (delaySample * this.delayVolume) + samples[i]; |
| |
| // Add audio data with the delay in the delay buffer |
| this.delayBufferSamples[this.delayInputPointer] = sample; |
| |
| // Return the audio with delay mix |
| outputSamples[i] = sample * this.masterVolume; |
| |
| // Manage circulair delay buffer pointers |
| this.delayInputPointer++; |
| if(this.delayInputPointer >= this.delayBufferSamples.length-1) |
| this.delayInputPointer = 0; |
| |
| this.delayOutputPointer++; |
| if(this.delayOutputPointer >= this.delayBufferSamples.length-1) |
| this.delayOutputPointer = 0; |
| |
| } |
| |
| return outputSamples; |
| } |
| |
| |
| |
| |
| /** |
| * SingleDelay effect by Almer Thie (http://code.almeros.com). |
| * Copyright 2010 Almer Thie. All rights reserved. |
| * Example: See usage in Reverb class |
| * |
| * This is a delay that does NOT feeds it's own delayed signal back into its |
| * circular buffer, neither does it return the original signal. Also known as |
| * an AllPassFilter(?). |
| * |
| * Compatible with interleaved stereo (or more channel) buffers and |
| * non-interleaved mono buffers. |
| * |
| * @param {Number} maxDelayInSamplesSize Maximum possible delay in samples (size of circular buffer) |
| * @param {Number} delayInSamples Initial delay in samples |
| * @param {Number} delayVolume Initial feedback delay volume. Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify) |
| * |
| * @constructor |
| */ |
| SingleDelay = function(maxDelayInSamplesSize, delayInSamples, delayVolume){ |
| this.delayBufferSamples = new Array(maxDelayInSamplesSize); // The maximum size of delay |
| this.delayInputPointer = delayInSamples; |
| this.delayOutputPointer = 0; |
| |
| this.delayInSamples = delayInSamples; |
| this.delayVolume = delayVolume; |
| } |
| |
| /** |
| * Change the delay time in samples. |
| * |
| * @param {Number} delayInSamples Delay in samples |
| */ |
| SingleDelay.prototype.setDelayInSamples = function (delayInSamples){ |
| this.delayInSamples = delayInSamples; |
| |
| this.delayInputPointer = this.delayOutputPointer + delayInSamples; |
| if(this.delayInputPointer >= this.delayBufferSamples.length-1) |
| this.delayInputPointer = this.delayInputPointer - this.delayBufferSamples.length; |
| } |
| |
| /** |
| * Change the return signal volume. |
| * |
| * @param {Number} delayVolume Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify) |
| */ |
| SingleDelay.prototype.setDelayVolume = function (delayVolume){ |
| this.delayVolume = delayVolume; |
| } |
| |
| /** |
| * Process a given interleaved or mono non-interleaved float value Array and |
| * returns the delayed audio. |
| * |
| * @param {Array} samples Array containing Float values or a Float32Array |
| * |
| * @returns A new Float32Array interleaved or mono non-interleaved as was fed to this function. |
| */ |
| SingleDelay.prototype.process = function (samples){ |
| // NB. Make a copy to put in the output samples to return. |
| var outputSamples = new Array(samples.length); |
| |
| for(var i=0; i<samples.length; i++){ |
| |
| // Add audio data with the delay in the delay buffer |
| this.delayBufferSamples[this.delayInputPointer] = samples[i]; |
| |
| // delayBufferSamples could contain initial NULL's, return silence in that case |
| var delaySample = this.delayBufferSamples[this.delayOutputPointer]; |
| |
| // Return the audio with delay mix |
| outputSamples[i] = delaySample * this.delayVolume; |
| |
| |
| // Manage circulair delay buffer pointers |
| this.delayInputPointer++; |
| if(this.delayInputPointer >= this.delayBufferSamples.length-1) |
| this.delayInputPointer = 0; |
| |
| this.delayOutputPointer++; |
| if(this.delayOutputPointer >= this.delayBufferSamples.length-1) |
| this.delayOutputPointer = 0; |
| |
| } |
| |
| return outputSamples; |
| } |
| |
| |
| |
| |
| |
| /** |
| * Reverb effect by Almer Thie (http://code.almeros.com). |
| * Copyright 2010 Almer Thie. All rights reserved. |
| * Example: http://code.almeros.com/code-examples/reverb-firefox-audio-api/ |
| * |
| * This reverb consists of 6 SingleDelays, 6 MultiDelays and an IIRFilter2 |
| * for each of the two stereo channels. |
| * |
| * Compatible with interleaved stereo buffers only! |
| * |
| * @param {Number} maxDelayInSamplesSize Maximum possible delay in samples (size of circular buffers) |
| * @param {Number} delayInSamples Initial delay in samples for internal (Single/Multi)delays |
| * @param {Number} masterVolume Initial master volume. Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify) |
| * @param {Number} mixVolume Initial reverb signal mix volume. Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify) |
| * @param {Number} delayVolume Initial feedback delay volume for internal (Single/Multi)delays. Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify) |
| * @param {Number} dampFrequency Initial low pass filter frequency. 0 to 44100 (depending on your maximum sampling frequency) |
| * |
| * @constructor |
| */ |
| Reverb = function(maxDelayInSamplesSize, delayInSamples, masterVolume, mixVolume, delayVolume, dampFrequency){ |
| this.delayInSamples = delayInSamples; |
| this.masterVolume = masterVolume; |
| this.mixVolume = mixVolume; |
| this.delayVolume = delayVolume; |
| this.dampFrequency = dampFrequency; |
| |
| this.NR_OF_MULTIDELAYS = 6; |
| this.NR_OF_SINGLEDELAYS = 6; |
| |
| this.LOWPASSL = new IIRFilter2(DSP.LOWPASS, dampFrequency, 0, 44100); |
| this.LOWPASSR = new IIRFilter2(DSP.LOWPASS, dampFrequency, 0, 44100); |
| |
| this.singleDelays = []; |
| for(var i = 0; i<this.NR_OF_SINGLEDELAYS; i++){ |
| var delayMultiply = 1.0 + (i/7.0); // 1.0, 1.1, 1.2... |
| this.singleDelays[i] = new SingleDelay(maxDelayInSamplesSize, Math.round(this.delayInSamples * delayMultiply), this.delayVolume); |
| } |
| |
| this.multiDelays = []; |
| for(var i = 0; i<this.NR_OF_MULTIDELAYS; i++){ |
| var delayMultiply = 1.0 + (i/10.0); // 1.0, 1.1, 1.2... |
| this.multiDelays[i] = new MultiDelay(maxDelayInSamplesSize, Math.round(this.delayInSamples * delayMultiply), this.masterVolume, this.delayVolume); |
| } |
| } |
| |
| /** |
| * Change the delay time in samples as a base for all delays. |
| * |
| * @param {Number} delayInSamples Delay in samples |
| */ |
| Reverb.prototype.setDelayInSamples = function (delayInSamples){ |
| this.delayInSamples = delayInSamples; |
| |
| for(var i = 0; i<this.NR_OF_SINGLEDELAYS; i++){ |
| var delayMultiply = 1.0 + (i/7.0); // 1.0, 1.1, 1.2... |
| this.singleDelays[i].setDelayInSamples( Math.round(this.delayInSamples * delayMultiply) ); |
| } |
| |
| for(var i = 0; i<this.NR_OF_MULTIDELAYS; i++){ |
| var delayMultiply = 1.0 + (i/10.0); // 1.0, 1.1, 1.2... |
| this.multiDelays[i].setDelayInSamples( Math.round(this.delayInSamples * delayMultiply) ); |
| } |
| } |
| |
| /** |
| * Change the master volume. |
| * |
| * @param {Number} masterVolume Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify) |
| */ |
| Reverb.prototype.setMasterVolume = function (masterVolume){ |
| this.masterVolume = masterVolume; |
| } |
| |
| /** |
| * Change the reverb signal mix level. |
| * |
| * @param {Number} mixVolume Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify) |
| */ |
| Reverb.prototype.setMixVolume = function (mixVolume){ |
| this.mixVolume = mixVolume; |
| } |
| |
| /** |
| * Change all delays feedback volume. |
| * |
| * @param {Number} delayVolume Float value: 0.0 (silence), 1.0 (normal), >1.0 (amplify) |
| */ |
| Reverb.prototype.setDelayVolume = function (delayVolume){ |
| this.delayVolume = delayVolume; |
| |
| for(var i = 0; i<this.NR_OF_SINGLEDELAYS; i++){ |
| this.singleDelays[i].setDelayVolume(this.delayVolume); |
| } |
| |
| for(var i = 0; i<this.NR_OF_MULTIDELAYS; i++){ |
| this.multiDelays[i].setDelayVolume(this.delayVolume); |
| } |
| } |
| |
| /** |
| * Change the Low Pass filter frequency. |
| * |
| * @param {Number} dampFrequency low pass filter frequency. 0 to 44100 (depending on your maximum sampling frequency) |
| */ |
| Reverb.prototype.setDampFrequency = function (dampFrequency){ |
| this.dampFrequency = dampFrequency; |
| |
| this.LOWPASSL.set(dampFrequency, 0); |
| this.LOWPASSR.set(dampFrequency, 0); |
| } |
| |
| /** |
| * Process a given interleaved float value Array and copies and adds the reverb signal. |
| * |
| * @param {Array} samples Array containing Float values or a Float32Array |
| * |
| * @returns A new Float32Array interleaved buffer. |
| */ |
| Reverb.prototype.process = function (interleavedSamples){ |
| // NB. Make a copy to put in the output samples to return. |
| var outputSamples = new Array(interleavedSamples.length); |
| |
| // Perform low pass on the input samples to mimick damp |
| var leftRightMix = DSP.deinterleave(interleavedSamples); |
| this.LOWPASSL.process( leftRightMix[DSP.LEFT] ); |
| this.LOWPASSR.process( leftRightMix[DSP.RIGHT] ); |
| var filteredSamples = DSP.interleave(leftRightMix[DSP.LEFT], leftRightMix[DSP.RIGHT]); |
| |
| // Process MultiDelays in parallel |
| for(var i = 0; i<this.NR_OF_MULTIDELAYS; i++){ |
| // Invert the signal of every even multiDelay |
| outputSamples = mixSampleBuffers(outputSamples, this.multiDelays[i].process(filteredSamples), 2%i==0, this.NR_OF_MULTIDELAYS); |
| } |
| |
| // Process SingleDelays in series |
| var singleDelaySamples = new Array(outputSamples.length); |
| for(var i = 0; i<this.NR_OF_SINGLEDELAYS; i++){ |
| // Invert the signal of every even singleDelay |
| singleDelaySamples = mixSampleBuffers(singleDelaySamples, this.singleDelays[i].process(outputSamples), 2%i==0, 1); |
| } |
| |
| // Apply the volume of the reverb signal |
| for(var i = 0; i<singleDelaySamples.length; i++){ |
| singleDelaySamples[i] *= this.mixVolume; |
| } |
| |
| // Mix the original signal with the reverb signal |
| outputSamples = mixSampleBuffers(singleDelaySamples, interleavedSamples, 0, 1); |
| |
| // Apply the master volume to the complete signal |
| for(var i = 0; i<outputSamples.length; i++){ |
| outputSamples[i] *= this.masterVolume; |
| } |
| |
| return outputSamples; |
| } |
| |
| /** |
| * Helper method (for Reverb) to mix two (interleaved) samplebuffers. It's possible |
| * to negate the second buffer while mixing and to perform a volume correction |
| * on the final signal. |
| * |
| * @param {Array} sampleBuffer1 Array containing Float values or a Float32Array |
| * @param {Array} sampleBuffer2 Array containing Float values or a Float32Array |
| * @param {Boolean} negate When true inverts/flips the audio signal |
| * @param {Number} volumeCorrection When you add multiple sample buffers, use this to tame your signal ;) |
| * |
| * @returns A new Float32Array interleaved buffer. |
| */ |
| function mixSampleBuffers(sampleBuffer1, sampleBuffer2, negate, volumeCorrection){ |
| var outputSamples = new Array(sampleBuffer1); |
| |
| for(var i = 0; i<sampleBuffer1.length; i++){ |
| outputSamples[i] += (negate ? -sampleBuffer2[i] : sampleBuffer2[i]) / volumeCorrection; |
| } |
| |
| return outputSamples; |
| } |
| |
| /* |
| * BeatDetektor.js |
| * |
| * BeatDetektor - CubicFX Visualizer Beat Detection & Analysis Algorithm |
| * Javascript port by Charles J. Cliffe and Corban Brook |
| * |
| * Created by Charles J. Cliffe on 09-11-30. |
| * Copyright 2009 Charles J. Cliffe. All rights reserved. |
| * |
| * BeatDetektor is free software: you can redistribute it and/or modify |
| * it under the terms of the GNU Lesser General Public License as published by |
| * the Free Software Foundation, either version 3 of the License, or |
| * (at your option) any later version. |
| * |
| * Please note that only the Javascript version of BeatDetektor is licensed |
| * under the terms of LGPL version 3; ports of BeatDetektor or derivatives |
| * in other languages are licensed under the terms of GPL version 3. |
| * |
| * BeatDetektor is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU Lesser General Public License for more details. |
| * |
| * You should have received a copy of the GNU Lesser General Public License |
| * along with this program. If not, see <http://www.gnu.org/licenses/>. |
| * |
| * Please contact cj@cubicproductions.com if you seek alternate |
| * licensing terms for your project. |
| * |
| */ |
| |
| |
| /* |
| BeatDetektor class |
| |
| |
| Theory: |
| |
| Trigger detection is performed using a trail of moving averages, |
| |
| The FFT input is broken up into 128 ranges and averaged, each range has two moving |
| averages that tail each other at a rate of (1.0 / BD_DETECTION_RATE) seconds. |
| |
| Each time the moving average for a range exceeds it's own tailing average by: |
| |
| (moving_average[range] * BD_DETECTION_FACTOR >= moving_average[range]) |
| |
| if this is true there's a rising edge and a detection is flagged for that range. |
| Next a trigger gap test is performed between rising edges and timestamp recorded. |
| |
| If the gap is larger than our BPM window (in seconds) then we can discard it and |
| reset the timestamp for a new detection -- but only after checking to see if it's a |
| reasonable match for 2* the current detection in case it's only triggered every |
| other beat. Gaps that are lower than the BPM window are ignored and the last |
| timestamp will not be reset. |
| |
| Gaps that are within a reasonable window are run through a quality stage to determine |
| how 'close' they are to that channel's current prediction and are incremented or |
| decremented by a weighted value depending on accuracy. Repeated hits of low accuracy |
| will still move a value towards erroneous detection but it's quality will be lowered |
| and will not be eligible for the gap time quality draft. |
| |
| Once quality has been assigned ranges are reviewed for good match candidates and if |
| BD_MINIMUM_CONTRIBUTIONS or more ranges achieve a decent ratio (with a factor of |
| BD_QUALITY_TOLERANCE) of contribution to the overall quality we take them into the |
| contest round. Note that the contest round won't run on a given process() call if |
| the total quality achieved does not meet or exceed BD_QUALITY_TOLERANCE. |
| |
| Each time through if a select draft of BPM ranges has achieved a reasonable quality |
| above others it's awarded a value in the BPM contest. The BPM contest is a hash |
| array indexed by an integer BPM value, each draft winner is awarded BD_QUALITY_REWARD. |
| |
| Finally the BPM contest is examined to determine a leader and all contest entries |
| are normalized to a total value of BD_FINISH_LINE, whichever range is closest to |
| BD_FINISH_LINE at any given point is considered to be the best guess however waiting |
| until a minimum contest winning value of about 20.0-25.0 will provide more accurate |
| results. Note that the 20-25 rule may vary with lower and higher input ranges. |
| A winning value that exceeds 40 or hovers around 60 (the finish line) is pretty much |
| a guaranteed match. |
| |
| |
| Configuration Kernel Notes: |
| |
| The majority of the ratios and values have been reverse-engineered from my own |
| observation and visualization of information from various aspects of the detection |
| triggers; so not all parameters have a perfect definition nor perhaps the best value yet. |
| However despite this it performs very well; I had expected several more layers |
| before a reasonable detection would be achieved. Comments for these parameters will be |
| updated as analysis of their direct effect is explored. |
| |
| |
| Input Restrictions: |
| |
| bpm_maximum must be within the range of (bpm_minimum*2)-1 |
| i.e. minimum of 50 must have a maximum of 99 because 50*2 = 100 |
| |
| |
| Changelog: |
| |
| 01/17/2010 - Charles J. Cliffe |
| - Tested and tweaked default kernel values for tighter detection |
| - Added BeatDetektor.config_48_95, BeatDetektor.config_90_179 and BeatDetektor.config_150_280 for more refined detection ranges |
| - Updated unit test to include new range config example |
| |
| 02/21/2010 - Charles J. Cliffe |
| - Fixed numerous bugs and divide by 0 on 1% match causing poor accuracy |
| - Re-worked the quality calulations, accuracy improved 8-10x |
| - Primary value is now a fractional reading (*10, just divide by 10), added win_bpm_int_lo for integral readings |
| - Added feedback loop for current_bpm to help back-up low quality channels |
| - Unified range configs, now single default should be fine |
| - Extended quality reward 'funnel' |
| |
| */ |
| BeatDetektor = function(bpm_minimum, bpm_maximum, alt_config) |
| { |
| if (typeof(bpm_minimum)=='undefined') bpm_minimum = 85.0; |
| if (typeof(bpm_maximum)=='undefined') bpm_maximum = 169.0 |
| |
| this.config = (typeof(alt_config)!='undefined')?alt_config:BeatDetektor.config; |
| |
| this.BPM_MIN = bpm_minimum; |
| this.BPM_MAX = bpm_maximum; |
| |
| this.beat_counter = 0; |
| this.half_counter = 0; |
| this.quarter_counter = 0; |
| |
| // current average (this sample) for range n |
| this.a_freq_range = new Array(this.config.BD_DETECTION_RANGES); |
| // moving average of frequency range n |
| this.ma_freq_range = new Array(this.config.BD_DETECTION_RANGES); |
| // moving average of moving average of frequency range n |
| this.maa_freq_range = new Array(this.config.BD_DETECTION_RANGES); |
| // timestamp of last detection for frequecy range n |
| this.last_detection = new Array(this.config.BD_DETECTION_RANGES); |
| |
| // moving average of gap lengths |
| this.ma_bpm_range = new Array(this.config.BD_DETECTION_RANGES); |
| // moving average of moving average of gap lengths |
| this.maa_bpm_range = new Array(this.config.BD_DETECTION_RANGES); |
| |
| // range n quality attribute, good match = quality+, bad match = quality-, min = 0 |
| this.detection_quality = new Array(this.config.BD_DETECTION_RANGES); |
| |
| // current trigger state for range n |
| this.detection = new Array(this.config.BD_DETECTION_RANGES); |
| |
| this.reset(); |
| |
| |
| } |
| |
| BeatDetektor.prototype.reset = function() |
| { |
| // var bpm_avg = 60.0/((this.BPM_MIN+this.BPM_MAX)/2.0); |
| |
| for (var i = 0; i < this.config.BD_DETECTION_RANGES; i++) |
| { |
| this.a_freq_range[i] = 0.0; |
| this.ma_freq_range[i] = 0.0; |
| this.maa_freq_range[i] = 0.0; |
| this.last_detection[i] = 0.0; |
| |
| this.ma_bpm_range[i] = |
| this.maa_bpm_range[i] = 60.0/this.BPM_MIN + ((60.0/this.BPM_MAX-60.0/this.BPM_MIN) * (i/this.config.BD_DETECTION_RANGES)); |
| |
| this.detection_quality[i] = 0.0; |
| this.detection[i] = false; |
| } |
| |
| this.ma_quality_avg = 0; |
| this.ma_quality_total = 0; |
| |
| this.bpm_contest = new Array(); |
| this.bpm_contest_lo = new Array(); |
| |
| this.quality_total = 0.0; |
| this.quality_avg = 0.0; |
| |
| this.current_bpm = 0.0; |
| this.current_bpm_lo = 0.0; |
| |
| this.winning_bpm = 0.0; |
| this.win_val = 0.0; |
| this.winning_bpm_lo = 0.0; |
| this.win_val_lo = 0.0; |
| |
| this.win_bpm_int = 0; |
| this.win_bpm_int_lo = 0; |
| |
| this.bpm_predict = 0; |
| |
| this.is_erratic = false; |
| this.bpm_offset = 0.0; |
| this.last_timer = 0.0; |
| this.last_update = 0.0; |
| |
| this.bpm_timer = 0.0; |
| this.beat_counter = 0; |
| this.half_counter = 0; |
| this.quarter_counter = 0; |
| } |
| |
| |
| BeatDetektor.config_default = { |
| BD_DETECTION_RANGES : 128, // How many ranges to quantize the FFT into |
| BD_DETECTION_RATE : 12.0, // Rate in 1.0 / BD_DETECTION_RATE seconds |
| BD_DETECTION_FACTOR : 0.915, // Trigger ratio |
| BD_QUALITY_DECAY : 0.6, // range and contest decay |
| BD_QUALITY_TOLERANCE : 0.96,// Use the top x % of contest results |
| BD_QUALITY_REWARD : 10.0, // Award weight |
| BD_QUALITY_STEP : 0.1, // Award step (roaming speed) |
| BD_MINIMUM_CONTRIBUTIONS : 6, // At least x ranges must agree to process a result |
| BD_FINISH_LINE : 60.0, // Contest values wil be normalized to this finish line |
| // this is the 'funnel' that pulls ranges in / out of alignment based on trigger detection |
| BD_REWARD_TOLERANCES : [ 0.001, 0.005, 0.01, 0.02, 0.04, 0.08, 0.10, 0.15, 0.30 ], // .1%, .5%, 1%, 2%, 4%, 8%, 10%, 15% |
| BD_REWARD_MULTIPLIERS : [ 20.0, 10.0, 8.0, 1.0, 1.0/2.0, 1.0/4.0, 1.0/8.0, 1/16.0, 1/32.0 ] |
| }; |
| |
| |
| // Default configuration kernel |
| BeatDetektor.config = BeatDetektor.config_default; |
| |
| |
| BeatDetektor.prototype.process = function(timer_seconds, fft_data) |
| { |
| if (!this.last_timer) { this.last_timer = timer_seconds; return; } // ignore 0 start time |
| if (this.last_timer > timer_seconds) { this.reset(); return; } |
| |
| var timestamp = timer_seconds; |
| |
| this.last_update = timer_seconds - this.last_timer; |
| this.last_timer = timer_seconds; |
| |
| if (this.last_update > 1.0) { this.reset(); return; } |
| |
| var i,x; |
| var v; |
| |
| var bpm_floor = 60.0/this.BPM_MAX; |
| var bpm_ceil = 60.0/this.BPM_MIN; |
| |
| var range_step = (fft_data.length / this.config.BD_DETECTION_RANGES); |
| var range = 0; |
| |
| |
| for (x=0; x<fft_data.length; x+=range_step) |
| { |
| this.a_freq_range[range] = 0; |
| |
| // accumulate frequency values for this range |
| for (i = x; i<x+range_step; i++) |
| { |
| v = Math.abs(fft_data[i]); |
| this.a_freq_range[range] += v; |
| } |
| |
| // average for range |
| this.a_freq_range[range] /= range_step; |
| |
| // two sets of averages chase this one at a |
| |
| // moving average, increment closer to a_freq_range at a rate of 1.0 / BD_DETECTION_RATE seconds |
| this.ma_freq_range[range] -= (this.ma_freq_range[range]-this.a_freq_range[range])*this.last_update*this.config.BD_DETECTION_RATE; |
| // moving average of moving average, increment closer to this.ma_freq_range at a rate of 1.0 / BD_DETECTION_RATE seconds |
| this.maa_freq_range[range] -= (this.maa_freq_range[range]-this.ma_freq_range[range])*this.last_update*this.config.BD_DETECTION_RATE; |
| |
| // if closest moving average peaks above trailing (with a tolerance of BD_DETECTION_FACTOR) then trigger a detection for this range |
| var det = (this.ma_freq_range[range]*this.config.BD_DETECTION_FACTOR >= this.maa_freq_range[range]); |
| |
| // compute bpm clamps for comparison to gap lengths |
| |
| // clamp detection averages to input ranges |
| if (this.ma_bpm_range[range] > bpm_ceil) this.ma_bpm_range[range] = bpm_ceil; |
| if (this.ma_bpm_range[range] < bpm_floor) this.ma_bpm_range[range] = bpm_floor; |
| if (this.maa_bpm_range[range] > bpm_ceil) this.maa_bpm_range[range] = bpm_ceil; |
| if (this.maa_bpm_range[range] < bpm_floor) this.maa_bpm_range[range] = bpm_floor; |
| |
| var rewarded = false; |
| |
| // new detection since last, test it's quality |
| if (!this.detection[range] && det) |
| { |
| // calculate length of gap (since start of last trigger) |
| var trigger_gap = timestamp-this.last_detection[range]; |
| |
| // trigger falls within acceptable range, |
| if (trigger_gap < bpm_ceil && trigger_gap > (bpm_floor)) |
| { |
| // compute gap and award quality |
| |
| // use our tolerances as a funnel to edge detection towards the most likely value |
| for (i = 0; i < this.config.BD_REWARD_TOLERANCES.length; i++) |
| { |
| if (Math.abs(this.ma_bpm_range[range]-trigger_gap) < this.ma_bpm_range[range]*this.config.BD_REWARD_TOLERANCES[i]) |
| { |
| this.detection_quality[range] += this.config.BD_QUALITY_REWARD * this.config.BD_REWARD_MULTIPLIERS[i]; |
| rewarded = true; |
| } |
| } |
| |
| if (rewarded) |
| { |
| this.last_detection[range] = timestamp; |
| } |
| } |
| else if (trigger_gap >= bpm_ceil) // low quality, gap exceeds maximum time |
| { |
| // start a new gap test, next gap is guaranteed to be longer |
| |
| // test for 1/2 beat |
| trigger_gap /= 2.0; |
| |
| if (trigger_gap < bpm_ceil && trigger_gap > (bpm_floor)) for (i = 0; i < this.config.BD_REWARD_TOLERANCES.length; i++) |
| { |
| if (Math.abs(this.ma_bpm_range[range]-trigger_gap) < this.ma_bpm_range[range]*this.config.BD_REWARD_TOLERANCES[i]) |
| { |
| this.detection_quality[range] += this.config.BD_QUALITY_REWARD * this.config.BD_REWARD_MULTIPLIERS[i]; |
| rewarded = true; |
| } |
| } |
| |
| |
| // decrement quality if no 1/2 beat reward |
| if (!rewarded) |
| { |
| trigger_gap *= 2.0; |
| } |
| this.last_detection[range] = timestamp; |
| } |
| |
| if (rewarded) |
| { |
| var qmp = (this.detection_quality[range]/this.quality_avg)*this.config.BD_QUALITY_STEP; |
| if (qmp > 1.0) |
| { |
| qmp = 1.0; |
| } |
| |
| this.ma_bpm_range[range] -= (this.ma_bpm_range[range]-trigger_gap) * qmp; |
| this.maa_bpm_range[range] -= (this.maa_bpm_range[range]-this.ma_bpm_range[range]) * qmp; |
| } |
| else if (trigger_gap >= bpm_floor && trigger_gap <= bpm_ceil) |
| { |
| if (this.detection_quality[range] < this.quality_avg*this.config.BD_QUALITY_TOLERANCE && this.current_bpm) |
| { |
| this.ma_bpm_range[range] -= (this.ma_bpm_range[range]-trigger_gap) * this.config.BD_QUALITY_STEP; |
| this.maa_bpm_range[range] -= (this.maa_bpm_range[range]-this.ma_bpm_range[range]) * this.config.BD_QUALITY_STEP; |
| } |
| this.detection_quality[range] -= this.config.BD_QUALITY_STEP; |
| } |
| else if (trigger_gap >= bpm_ceil) |
| { |
| if ((this.detection_quality[range] < this.quality_avg*this.config.BD_QUALITY_TOLERANCE) && this.current_bpm) |
| { |
| this.ma_bpm_range[range] -= (this.ma_bpm_range[range]-this.current_bpm) * 0.5; |
| this.maa_bpm_range[range] -= (this.maa_bpm_range[range]-this.ma_bpm_range[range]) * 0.5 ; |
| } |
| this.detection_quality[range]-= this.config.BD_QUALITY_STEP; |
| } |
| |
| } |
| |
| if ((!rewarded && timestamp-this.last_detection[range] > bpm_ceil) || (det && Math.abs(this.ma_bpm_range[range]-this.current_bpm) > this.bpm_offset)) |
| this.detection_quality[range] -= this.detection_quality[range]*this.config.BD_QUALITY_STEP*this.config.BD_QUALITY_DECAY*this.last_update; |
| |
| // quality bottomed out, set to 0 |
| if (this.detection_quality[range] < 0.001) this.detection_quality[range]=0.001; |
| |
| this.detection[range] = det; |
| |
| range++; |
| } |
| |
| // total contribution weight |
| this.quality_total = 0; |
| |
| // total of bpm values |
| var bpm_total = 0; |
| // number of bpm ranges that contributed to this test |
| var bpm_contributions = 0; |
| |
| |
| // accumulate quality weight total |
| for (var x=0; x<this.config.BD_DETECTION_RANGES; x++) |
| { |
| this.quality_total += this.detection_quality[x]; |
| } |
| |
| |
| this.quality_avg = this.quality_total / this.config.BD_DETECTION_RANGES; |
| |
| |
| if (this.quality_total) |
| { |
| // determine the average weight of each quality range |
| this.ma_quality_avg += (this.quality_avg - this.ma_quality_avg) * this.last_update * this.config.BD_DETECTION_RATE/2.0; |
| |
| this.maa_quality_avg += (this.ma_quality_avg - this.maa_quality_avg) * this.last_update; |
| this.ma_quality_total += (this.quality_total - this.ma_quality_total) * this.last_update * this.config.BD_DETECTION_RATE/2.0; |
| |
| this.ma_quality_avg -= 0.98*this.ma_quality_avg*this.last_update*3.0; |
| } |
| else |
| { |
| this.quality_avg = 0.001; |
| } |
| |
| if (this.ma_quality_total <= 0) this.ma_quality_total = 0.001; |
| if (this.ma_quality_avg <= 0) this.ma_quality_avg = 0.001; |
| |
| var avg_bpm_offset = 0.0; |
| var offset_test_bpm = this.current_bpm; |
| var draft = new Array(); |
| |
| if (this.quality_avg) for (x=0; x<this.config.BD_DETECTION_RANGES; x++) |
| { |
| // if this detection range weight*tolerance is higher than the average weight then add it's moving average contribution |
| if (this.detection_quality[x]*this.config.BD_QUALITY_TOLERANCE >= this.ma_quality_avg) |
| { |
| if (this.ma_bpm_range[x] < bpm_ceil && this.ma_bpm_range[x] > bpm_floor) |
| { |
| bpm_total += this.maa_bpm_range[x]; |
| |
| var draft_float = Math.round((60.0/this.maa_bpm_range[x])*1000.0); |
| |
| draft_float = (Math.abs(Math.ceil(draft_float)-(60.0/this.current_bpm)*1000.0)<(Math.abs(Math.floor(draft_float)-(60.0/this.current_bpm)*1000.0)))?Math.ceil(draft_float/10.0):Math.floor(draft_float/10.0); |
| var draft_int = parseInt(draft_float/10.0); |
| // if (draft_int) console.log(draft_int); |
| if (typeof(draft[draft_int]=='undefined')) draft[draft_int] = 0; |
| |
| draft[draft_int]+=this.detection_quality[x]/this.quality_avg; |
| bpm_contributions++; |
| if (offset_test_bpm == 0.0) offset_test_bpm = this.maa_bpm_range[x]; |
| else |
| { |
| avg_bpm_offset += Math.abs(offset_test_bpm-this.maa_bpm_range[x]); |
| } |
| |
| |
| } |
| } |
| } |
| |
| // if we have one or more contributions that pass criteria then attempt to display a guess |
| var has_prediction = (bpm_contributions>=this.config.BD_MINIMUM_CONTRIBUTIONS)?true:false; |
| |
| var draft_winner=0; |
| var win_val = 0; |
| |
| if (has_prediction) |
| { |
| for (var draft_i in draft) |
| { |
| if (draft[draft_i] > win_val) |
| { |
| win_val = draft[draft_i]; |
| draft_winner = draft_i; |
| } |
| } |
| |
| this.bpm_predict = 60.0/(draft_winner/10.0); |
| |
| avg_bpm_offset /= bpm_contributions; |
| this.bpm_offset = avg_bpm_offset; |
| |
| if (!this.current_bpm) |
| { |
| this.current_bpm = this.bpm_predict; |
| } |
| } |
| |
| if (this.current_bpm && this.bpm_predict) this.current_bpm -= (this.current_bpm-this.bpm_predict)*this.last_update; |
| |
| // hold a contest for bpm to find the current mode |
| var contest_max=0; |
| |
| for (var contest_i in this.bpm_contest) |
| { |
| if (contest_max < this.bpm_contest[contest_i]) contest_max = this.bpm_contest[contest_i]; |
| if (this.bpm_contest[contest_i] > this.config.BD_FINISH_LINE/2.0) |
| { |
| var draft_int_lo = parseInt(Math.round((contest_i)/10.0)); |
| if (this.bpm_contest_lo[draft_int_lo] != this.bpm_contest_lo[draft_int_lo]) this.bpm_contest_lo[draft_int_lo] = 0; |
| this.bpm_contest_lo[draft_int_lo]+= (this.bpm_contest[contest_i]/6.0)*this.last_update; |
| } |
| } |
| |
| // normalize to a finish line |
| if (contest_max > this.config.BD_FINISH_LINE) |
| { |
| for (var contest_i in this.bpm_contest) |
| { |
| this.bpm_contest[contest_i]=(this.bpm_contest[contest_i]/contest_max)*this.config.BD_FINISH_LINE; |
| } |
| } |
| |
| contest_max = 0; |
| for (var contest_i in this.bpm_contest_lo) |
| { |
| if (contest_max < this.bpm_contest_lo[contest_i]) contest_max = this.bpm_contest_lo[contest_i]; |
| } |
| |
| // normalize to a finish line |
| if (contest_max > this.config.BD_FINISH_LINE) |
| { |
| for (var contest_i in this.bpm_contest_lo) |
| { |
| this.bpm_contest_lo[contest_i]=(this.bpm_contest_lo[contest_i]/contest_max)*this.config.BD_FINISH_LINE; |
| } |
| } |
| |
| |
| // decay contest values from last loop |
| for (contest_i in this.bpm_contest) |
| { |
| this.bpm_contest[contest_i]-=this.bpm_contest[contest_i]*(this.last_update/this.config.BD_DETECTION_RATE); |
| } |
| |
| // decay contest values from last loop |
| for (contest_i in this.bpm_contest_lo) |
| { |
| this.bpm_contest_lo[contest_i]-=this.bpm_contest_lo[contest_i]*(this.last_update/this.config.BD_DETECTION_RATE); |
| } |
| |
| this.bpm_timer+=this.last_update; |
| |
| var winner = 0; |
| var winner_lo = 0; |
| |
| // attempt to display the beat at the beat interval ;) |
| if (this.bpm_timer > this.winning_bpm/4.0 && this.current_bpm) |
| { |
| this.win_val = 0; |
| this.win_val_lo = 0; |
| |
| if (this.winning_bpm) while (this.bpm_timer > this.winning_bpm/4.0) this.bpm_timer -= this.winning_bpm/4.0; |
| |
| // increment beat counter |
| |
| this.quarter_counter++; |
| this.half_counter= parseInt(this.quarter_counter/2); |
| this.beat_counter = parseInt(this.quarter_counter/4); |
| |
| // award the winner of this iteration |
| var idx = parseInt(Math.round((60.0/this.current_bpm)*10.0)); |
| if (typeof(this.bpm_contest[idx])=='undefined') this.bpm_contest[idx] = 0; |
| this.bpm_contest[idx]+=this.config.BD_QUALITY_REWARD; |
| |
| |
| // find the overall winner so far |
| for (var contest_i in this.bpm_contest) |
| { |
| if (this.win_val < this.bpm_contest[contest_i]) |
| { |
| winner = contest_i; |
| this.win_val = this.bpm_contest[contest_i]; |
| } |
| } |
| |
| if (winner) |
| { |
| this.win_bpm_int = parseInt(winner); |
| this.winning_bpm = (60.0/(winner/10.0)); |
| } |
| |
| // find the overall winner so far |
| for (var contest_i in this.bpm_contest_lo) |
| { |
| if (this.win_val_lo < this.bpm_contest_lo[contest_i]) |
| { |
| winner_lo = contest_i; |
| this.win_val_lo = this.bpm_contest_lo[contest_i]; |
| } |
| } |
| |
| if (winner_lo) |
| { |
| this.win_bpm_int_lo = parseInt(winner_lo); |
| this.winning_bpm_lo = 60.0/winner_lo; |
| } |
| |
| |
| //if (typeof(console)!='undefined' && (this.beat_counter % 4) == 0) console.log("BeatDetektor("+this.BPM_MIN+","+this.BPM_MAX+"): [ Current Estimate: "+winner+" BPM ] [ Time: "+(parseInt(timer_seconds*1000.0)/1000.0)+"s, Quality: "+(parseInt(this.quality_total*1000.0)/1000.0)+", Rank: "+(parseInt(this.win_val*1000.0)/1000.0)+", Jitter: "+(parseInt(this.bpm_offset*1000000.0)/1000000.0)+" ]"); |
| } |
| |
| } |
| |
| // Sample Modules |
| BeatDetektor.modules = new Object(); |
| BeatDetektor.modules.vis = new Object(); |
| |
| // simple bass kick visualizer assistant module |
| BeatDetektor.modules.vis.BassKick = function() |
| { |
| this.is_kick = false; |
| } |
| |
| BeatDetektor.modules.vis.BassKick.prototype.process = function(det) |
| { |
| this.is_kick = ((det.detection[0] && det.detection[1]) || (det.ma_freq_range[0]/det.maa_freq_range[0])>1.4); |
| } |
| |
| BeatDetektor.modules.vis.BassKick.prototype.isKick = function() |
| { |
| return this.is_kick; |
| } |
| |
| |
| // simple vu spectrum visualizer assistant module |
| BeatDetektor.modules.vis.VU = function() |
| { |
| this.vu_levels = new Array(); |
| } |
| |
| BeatDetektor.modules.vis.VU.prototype.process = function(det,lus) |
| { |
| var i,det_val,det_max = 0.0; |
| if (typeof(lus)=='undefined') lus = det.last_update; |
| |
| for (i = 0; i < det.config.BD_DETECTION_RANGES; i++) |
| { |
| det_val = (det.ma_freq_range[i]/det.maa_freq_range[i]); |
| if (det_val > det_max) det_max = det_val; |
| } |
| |
| if (det_max <= 0) det_max = 1.0; |
| |
| for (i = 0; i < det.config.BD_DETECTION_RANGES; i++) |
| { |
| det_val = (det.ma_freq_range[i]/det.maa_freq_range[i]); //fabs(fftData[i*2]/2.0); |
| |
| if (det_val != det_val) det_val = 0; |
| |
| //&& (det_val > this.vu_levels[i]) |
| if (det_val>1.0) |
| { |
| det_val -= 1.0; |
| if (det_val>1.0) det_val = 1.0; |
| |
| if (det_val > this.vu_levels[i]) |
| this.vu_levels[i] = det_val; |
| else if (det.current_bpm) this.vu_levels[i] -= (this.vu_levels[i]-det_val)*lus*(1.0/det.current_bpm)*3.0; |
| } |
| else |
| { |
| if (det.current_bpm) this.vu_levels[i] -= (lus/det.current_bpm)*2.0; |
| } |
| |
| if (this.vu_levels[i] < 0 || this.vu_levels[i] != this.vu_levels[i]) this.vu_levels[i] = 0; |
| } |
| } |
| |
| |
| // returns vu level for BD_DETECTION_RANGES range[x] |
| BeatDetektor.modules.vis.VU.prototype.getLevel = function(x) |
| { |
| return this.vu_levels[x]; |
| } |
| |
| |
| var _sunSpiderStartDate = new Date(); |
| |
| var iterations = 1000; |
| |
| var fft = fft = new FFT(frameBufferLength / channels, rate); |
| var bd = new BeatDetektor(); |
| var kick_det = new BeatDetektor.modules.vis.BassKick(); |
| var vu = new BeatDetektor.modules.vis.VU(); |
| |
| var calcBeat = function() { |
| var fb = getFramebuffer(), signal = DSP.getChannel(DSP.MIX, fb); |
| |
| fft.forward(signal); |
| |
| var timestamp = (new Date()).getTime(); |
| bd.process(timestamp, fft.spectrum); |
| kick_det.process(bd); |
| vu.process(bd); |
| }; |
| |
| runTest(calcBeat, iterations); |
| |
| var _sunSpiderInterval = new Date() - _sunSpiderStartDate; |
| |
| WScript.Echo("### TIME:", _sunSpiderInterval, "ms"); |